From a7bccf7d0117d07aaf0d7b4a758996cc4d89d0f7 Mon Sep 17 00:00:00 2001 From: realstealthninja Date: Mon, 4 Nov 2024 12:43:05 +0000 Subject: [PATCH] Documentation for 8b1eab204b83e2516366d4b3aec97fe76c600099 --- annotated.html | 47 +- annotated_dup.js | 2 +- classes.html | 37 +- d0/d01/smallest__circle_8cpp.html | 213 +- ...283886819c7c140a023582b7269e2d0_cgraph.map | 24 - ...283886819c7c140a023582b7269e2d0_cgraph.md5 | 1 - ...283886819c7c140a023582b7269e2d0_cgraph.svg | 293 -- ...86819c7c140a023582b7269e2d0_cgraph_org.svg | 210 -- ...b0676df8e4da7a08c7ccaecea344903_cgraph.map | 19 - ...b0676df8e4da7a08c7ccaecea344903_cgraph.md5 | 1 - ...b0676df8e4da7a08c7ccaecea344903_cgraph.svg | 191 -- ...6df8e4da7a08c7ccaecea344903_cgraph_org.svg | 165 - ...cbebd6f4d2cdf227663c67fe41ba12a_cgraph.map | 5 - ...cbebd6f4d2cdf227663c67fe41ba12a_cgraph.md5 | 1 - ...cbebd6f4d2cdf227663c67fe41ba12a_cgraph.svg | 65 - ...d6f4d2cdf227663c67fe41ba12a_cgraph_org.svg | 39 - ...d0455dd5c30adda100e95f0423c786e_cgraph.map | 24 - ...d0455dd5c30adda100e95f0423c786e_cgraph.md5 | 1 - ...d0455dd5c30adda100e95f0423c786e_cgraph.svg | 293 -- ...5dd5c30adda100e95f0423c786e_cgraph_org.svg | 210 -- ...4682a4a70d5906857ca09de5b9fb2cc_cgraph.map | 8 - ...4682a4a70d5906857ca09de5b9fb2cc_cgraph.md5 | 1 - ...4682a4a70d5906857ca09de5b9fb2cc_cgraph.svg | 92 - ...a4a70d5906857ca09de5b9fb2cc_cgraph_org.svg | 66 - ...1a3968e7947464bee7714f6d43b7002_cgraph.map | 24 - ...1a3968e7947464bee7714f6d43b7002_cgraph.md5 | 1 - ...1a3968e7947464bee7714f6d43b7002_cgraph.svg | 293 -- ...68e7947464bee7714f6d43b7002_cgraph_org.svg | 210 -- ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 37 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 410 --- ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 327 -- ...e6d48762c1dfb9f14627927f0c16fad_cgraph.map | 9 - ...e6d48762c1dfb9f14627927f0c16fad_cgraph.md5 | 1 - ...e6d48762c1dfb9f14627927f0c16fad_cgraph.svg | 101 - ...8762c1dfb9f14627927f0c16fad_cgraph_org.svg | 75 - d0/d01/smallest__circle_8cpp_source.html | 306 ++ d0/d08/realtime__stats_8cpp.html | 116 +- ...c04138a5bfe5d72780bb7e82a18e627_cgraph.map | 37 - ...c04138a5bfe5d72780bb7e82a18e627_cgraph.md5 | 1 - ...c04138a5bfe5d72780bb7e82a18e627_cgraph.svg | 416 --- ...38a5bfe5d72780bb7e82a18e627_cgraph_org.svg | 333 -- ...54c915581fcc495489175a4386d59fd_cgraph.map | 26 - ...54c915581fcc495489175a4386d59fd_cgraph.md5 | 1 - ...54c915581fcc495489175a4386d59fd_cgraph.svg | 260 -- ...15581fcc495489175a4386d59fd_cgraph_org.svg | 234 -- d0/d08/realtime__stats_8cpp_source.html | 317 ++ d0/d0d/structmst-members.html | 35 +- ...round__to__ground__projectile__motion.html | 35 +- ...lassgraph_1_1_rooted_tree__coll__graph.map | 6 +- ...lassgraph_1_1_rooted_tree__coll__graph.md5 | 2 +- ...lassgraph_1_1_rooted_tree__coll__graph.svg | 6 +- ...graph_1_1_rooted_tree__coll__graph_org.svg | 6 +- d0/d2b/namespacequick__sort.html | 35 +- d0/d2e/namespaceneural__network.html | 35 +- d0/d3e/classdata__structures_1_1trie.html | 226 +- ...ab94bc6417e3f59fab33cea5b64d546_cgraph.map | 9 - ...ab94bc6417e3f59fab33cea5b64d546_cgraph.md5 | 1 - ...ab94bc6417e3f59fab33cea5b64d546_cgraph.svg | 104 - ...bc6417e3f59fab33cea5b64d546_cgraph_org.svg | 78 - ...99f87fd833203ef9492b4870aa6d42d_cgraph.map | 9 - ...99f87fd833203ef9492b4870aa6d42d_cgraph.md5 | 1 - ...99f87fd833203ef9492b4870aa6d42d_cgraph.svg | 103 - ...7fd833203ef9492b4870aa6d42d_cgraph_org.svg | 77 - ...61eb5d576d2420f2036009154397c63_cgraph.map | 9 - ...61eb5d576d2420f2036009154397c63_cgraph.md5 | 1 - ...61eb5d576d2420f2036009154397c63_cgraph.svg | 103 - ...5d576d2420f2036009154397c63_cgraph_org.svg | 77 - ...b373beb3f618b90922528c68797d988_cgraph.map | 5 - ...b373beb3f618b90922528c68797d988_cgraph.md5 | 1 - ...b373beb3f618b90922528c68797d988_cgraph.svg | 66 - ...beb3f618b90922528c68797d988_cgraph_org.svg | 40 - ...ac27cfd397d2dd3f2f519efffafeeab_cgraph.map | 10 - ...ac27cfd397d2dd3f2f519efffafeeab_cgraph.md5 | 1 - ...ac27cfd397d2dd3f2f519efffafeeab_cgraph.svg | 112 - ...cfd397d2dd3f2f519efffafeeab_cgraph_org.svg | 86 - ...umber__of__digits__in__a__number_8cpp.html | 80 +- ...4c15b7f1aedd4419a65cd49562cc300_cgraph.map | 5 - ...4c15b7f1aedd4419a65cd49562cc300_cgraph.md5 | 1 - ...4c15b7f1aedd4419a65cd49562cc300_cgraph.svg | 66 - ...b7f1aedd4419a65cd49562cc300_cgraph_org.svg | 40 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 7 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 84 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 58 - ...of__digits__in__a__number_8cpp_source.html | 213 ++ d0/d51/approximate__pi_8cpp.html | 80 +- ...83bb8ccf42aaf7375a83e91490eda1e_cgraph.map | 11 - ...83bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 | 1 - ...83bb8ccf42aaf7375a83e91490eda1e_cgraph.svg | 119 - ...8ccf42aaf7375a83e91490eda1e_cgraph_org.svg | 93 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 13 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 137 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 111 - d0/d51/approximate__pi_8cpp_source.html | 193 ++ d0/d52/namespacewiggle__sort.html | 35 +- d0/d55/classcll-members.html | 35 +- d0/d58/classgraph_1_1_rooted_tree.html | 175 +- ...cdeecac857623e9fbfe92590f3c504d_cgraph.map | 17 - ...cdeecac857623e9fbfe92590f3c504d_cgraph.md5 | 1 - ...cdeecac857623e9fbfe92590f3c504d_cgraph.svg | 233 -- ...cac857623e9fbfe92590f3c504d_cgraph_org.svg | 150 - ...6928f3ebd491541e9570e746b877c1e_cgraph.map | 15 - ...6928f3ebd491541e9570e746b877c1e_cgraph.md5 | 1 - ...6928f3ebd491541e9570e746b877c1e_cgraph.svg | 157 - ...f3ebd491541e9570e746b877c1e_cgraph_org.svg | 131 - d0/d5a/skip__list_8cpp.html | 77 +- ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 26 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 257 -- ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 231 -- d0/d5a/skip__list_8cpp_source.html | 342 ++ ...uctures_1_1trie__operations_1_1_tnode.html | 353 ++- ...97913c4badec2b60d50a171ecc299fe_cgraph.map | 6 - ...97913c4badec2b60d50a171ecc299fe_cgraph.md5 | 1 - ...97913c4badec2b60d50a171ecc299fe_cgraph.svg | 76 - ...3c4badec2b60d50a171ecc299fe_cgraph_org.svg | 50 - ...8b70172ca4fb2811dbfb9a86e48b34c_cgraph.map | 9 - ...8b70172ca4fb2811dbfb9a86e48b34c_cgraph.md5 | 1 - ...8b70172ca4fb2811dbfb9a86e48b34c_cgraph.svg | 105 - ...172ca4fb2811dbfb9a86e48b34c_cgraph_org.svg | 79 - ...c5ab271d8042540f64ef16d259d1503_cgraph.map | 13 - ...c5ab271d8042540f64ef16d259d1503_cgraph.md5 | 1 - ...c5ab271d8042540f64ef16d259d1503_cgraph.svg | 143 - ...271d8042540f64ef16d259d1503_cgraph_org.svg | 117 - ...e556f52c837190ecf4265b1f05cfe9c_cgraph.map | 6 - ...e556f52c837190ecf4265b1f05cfe9c_cgraph.md5 | 1 - ...e556f52c837190ecf4265b1f05cfe9c_cgraph.svg | 76 - ...f52c837190ecf4265b1f05cfe9c_cgraph_org.svg | 50 - ...cafb8c9f3ebac7ac6c01d9645bb67b6_cgraph.map | 5 - ...cafb8c9f3ebac7ac6c01d9645bb67b6_cgraph.md5 | 1 - ...cafb8c9f3ebac7ac6c01d9645bb67b6_cgraph.svg | 67 - ...8c9f3ebac7ac6c01d9645bb67b6_cgraph_org.svg | 41 - ...ef6940391f981ab86767775176b7169_cgraph.map | 6 - ...ef6940391f981ab86767775176b7169_cgraph.md5 | 1 - ...ef6940391f981ab86767775176b7169_cgraph.svg | 76 - ...40391f981ab86767775176b7169_cgraph_org.svg | 50 - ...fd24626ac47277431c9b8604e064340_cgraph.map | 15 - ...fd24626ac47277431c9b8604e064340_cgraph.md5 | 1 - ...fd24626ac47277431c9b8604e064340_cgraph.svg | 161 - ...626ac47277431c9b8604e064340_cgraph_org.svg | 135 - ...ca808362c13273ca8c8ae7d58e8eee0_cgraph.map | 5 - ...ca808362c13273ca8c8ae7d58e8eee0_cgraph.md5 | 1 - ...ca808362c13273ca8c8ae7d58e8eee0_cgraph.svg | 67 - ...8362c13273ca8c8ae7d58e8eee0_cgraph_org.svg | 41 - d0/d61/knapsack_8cpp_source.html | 219 ++ d0/d62/struct_queue-members.html | 35 +- d0/d65/namespacedouble__hashing.html | 332 +- ...e901418c759627557eff359b8db38cd_cgraph.map | 5 - ...e901418c759627557eff359b8db38cd_cgraph.md5 | 1 - ...e901418c759627557eff359b8db38cd_cgraph.svg | 65 - ...418c759627557eff359b8db38cd_cgraph_org.svg | 39 - ...8083ecac6eb94b643281875c8665931_cgraph.map | 16 - ...8083ecac6eb94b643281875c8665931_cgraph.md5 | 1 - ...8083ecac6eb94b643281875c8665931_cgraph.svg | 165 - ...ecac6eb94b643281875c8665931_cgraph_org.svg | 139 - ...d06e4598569526294f10104875f6824_cgraph.map | 23 - ...d06e4598569526294f10104875f6824_cgraph.md5 | 1 - ...d06e4598569526294f10104875f6824_cgraph.svg | 285 -- ...4598569526294f10104875f6824_cgraph_org.svg | 202 -- ...9a9c914a6c68275b3640303d7faad8a_cgraph.map | 19 - ...9a9c914a6c68275b3640303d7faad8a_cgraph.md5 | 1 - ...9a9c914a6c68275b3640303d7faad8a_cgraph.svg | 192 -- ...914a6c68275b3640303d7faad8a_cgraph_org.svg | 166 - ...f8ff4fb018e1bb32d67d8a1885d3200_cgraph.map | 13 - ...f8ff4fb018e1bb32d67d8a1885d3200_cgraph.md5 | 1 - ...f8ff4fb018e1bb32d67d8a1885d3200_cgraph.svg | 138 - ...4fb018e1bb32d67d8a1885d3200_cgraph_org.svg | 112 - ...c652b2e467e5d250dfe3bed83b12560_cgraph.map | 26 - ...c652b2e467e5d250dfe3bed83b12560_cgraph.md5 | 1 - ...c652b2e467e5d250dfe3bed83b12560_cgraph.svg | 312 -- ...b2e467e5d250dfe3bed83b12560_cgraph_org.svg | 229 -- ...4981819aae8bc7e7beeaef02615e30d_cgraph.map | 19 - ...4981819aae8bc7e7beeaef02615e30d_cgraph.md5 | 1 - ...4981819aae8bc7e7beeaef02615e30d_cgraph.svg | 249 -- ...819aae8bc7e7beeaef02615e30d_cgraph_org.svg | 166 - d0/d6d/modular__exponentiation_8cpp.html | 75 +- ...8dca7b867074164d5f45b0f3851269d_cgraph.map | 7 - ...8dca7b867074164d5f45b0f3851269d_cgraph.md5 | 1 - ...8dca7b867074164d5f45b0f3851269d_cgraph.svg | 83 - ...7b867074164d5f45b0f3851269d_cgraph_org.svg | 57 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 9 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 101 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 75 - .../modular__exponentiation_8cpp_source.html | 196 ++ d0/d6f/namespaceothers.html | 46 +- ...ongest__palindromic__subsequence_8cpp.html | 65 +- ...8dca7b867074164d5f45b0f3851269d_cgraph.map | 7 - ...8dca7b867074164d5f45b0f3851269d_cgraph.md5 | 1 - ...8dca7b867074164d5f45b0f3851269d_cgraph.svg | 83 - ...7b867074164d5f45b0f3851269d_cgraph_org.svg | 57 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 9 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 101 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 75 - ..._palindromic__subsequence_8cpp_source.html | 215 ++ ...tatistics_1_1stats__computer1-members.html | 35 +- ...everse__binary__tree_1_1_node-members.html | 35 +- .../number__of__positive__divisors_8cpp.html | 76 +- ...8ec9ad42717780d6caaff9d3d6977f9_cgraph.map | 5 - ...8ec9ad42717780d6caaff9d3d6977f9_cgraph.md5 | 1 - ...8ec9ad42717780d6caaff9d3d6977f9_cgraph.svg | 66 - ...ad42717780d6caaff9d3d6977f9_cgraph_org.svg | 40 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 10 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 111 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 85 - ...r__of__positive__divisors_8cpp_source.html | 204 ++ d0/da4/namespacemonte__carlo.html | 35 +- d0/db6/non__recursive__merge__sort_8cpp.html | 57 +- ...n__recursive__merge__sort_8cpp_source.html | 229 ++ d0/dbc/namespacestrings_1_1boyer__moore.html | 138 +- ...b165af1dc341289fd705be4c67728f8_cgraph.map | 14 - ...b165af1dc341289fd705be4c67728f8_cgraph.md5 | 1 - ...b165af1dc341289fd705be4c67728f8_cgraph.svg | 149 - ...af1dc341289fd705be4c67728f8_cgraph_org.svg | 123 - ...5703b553faed0d28202c10808cf9738_cgraph.map | 10 - ...5703b553faed0d28202c10808cf9738_cgraph.md5 | 1 - ...5703b553faed0d28202c10808cf9738_cgraph.svg | 111 - ...b553faed0d28202c10808cf9738_cgraph_org.svg | 85 - ...f6688c9bb3e692297a3aa09cebc1c00_cgraph.map | 7 - ...f6688c9bb3e692297a3aa09cebc1c00_cgraph.md5 | 1 - ...f6688c9bb3e692297a3aa09cebc1c00_cgraph.svg | 84 - ...8c9bb3e692297a3aa09cebc1c00_cgraph_org.svg | 58 - ...709cf7fca02b7d3e1888423d5f739a1_cgraph.map | 8 - ...709cf7fca02b7d3e1888423d5f739a1_cgraph.md5 | 1 - ...709cf7fca02b7d3e1888423d5f739a1_cgraph.svg | 93 - ...f7fca02b7d3e1888423d5f739a1_cgraph_org.svg | 67 - d0/dc4/struct_point-members.html | 35 +- ...nge__queries_1_1fenwick__tree-members.html | 35 +- d0/dcb/classdsu-members.html | 35 +- d0/dd2/treap_8cpp.html | 85 +- ...8dca7b867074164d5f45b0f3851269d_cgraph.map | 34 - ...8dca7b867074164d5f45b0f3851269d_cgraph.md5 | 1 - ...8dca7b867074164d5f45b0f3851269d_cgraph.svg | 395 --- ...7b867074164d5f45b0f3851269d_cgraph_org.svg | 312 -- ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 36 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 413 --- ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 330 -- d0/dd2/treap_8cpp_source.html | 348 +++ .../classciphers_1_1_hill_cipher-members.html | 35 +- d0/dd5/namespacebubble__sort.html | 35 +- d0/dda/namespacesaddleback.html | 35 +- d0/de2/gaussian__elimination_8cpp.html | 79 +- ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 5 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 65 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 39 - d0/de2/gaussian__elimination_8cpp_source.html | 212 ++ ...n__matrix__multiplication_8cpp_source.html | 530 ++++ ...k__using__queue_1_1_stack__coll__graph.map | 8 +- ...k__using__queue_1_1_stack__coll__graph.md5 | 2 +- ...k__using__queue_1_1_stack__coll__graph.svg | 27 +- ...sing__queue_1_1_stack__coll__graph_org.svg | 27 +- d0/df8/namespaceabbreviation.html | 35 +- ...__search_1_1_eight_puzzle__coll__graph.map | 16 +- ...__search_1_1_eight_puzzle__coll__graph.md5 | 2 +- ...__search_1_1_eight_puzzle__coll__graph.svg | 133 +- ...arch_1_1_eight_puzzle__coll__graph_org.svg | 72 +- d0/dff/structlinkedlist.html | 79 +- d1/d07/class_solution-members.html | 35 +- d1/d11/gcd__of__n__numbers_8cpp.html | 126 +- ...161713c662a14c2d5e33504f4324532_cgraph.map | 13 - ...161713c662a14c2d5e33504f4324532_cgraph.md5 | 1 - ...161713c662a14c2d5e33504f4324532_cgraph.svg | 139 - ...13c662a14c2d5e33504f4324532_cgraph_org.svg | 113 - ...09a35e11ed1e17a9e00dd56320a4181_cgraph.map | 4 - ...09a35e11ed1e17a9e00dd56320a4181_cgraph.md5 | 1 - ...09a35e11ed1e17a9e00dd56320a4181_cgraph.svg | 57 - ...5e11ed1e17a9e00dd56320a4181_cgraph_org.svg | 31 - ...1b9357c7a722f8208499d9ba573297a_cgraph.map | 6 - ...1b9357c7a722f8208499d9ba573297a_cgraph.md5 | 1 - ...1b9357c7a722f8208499d9ba573297a_cgraph.svg | 75 - ...57c7a722f8208499d9ba573297a_cgraph_org.svg | 49 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 5 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 65 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 39 - d1/d11/gcd__of__n__numbers_8cpp_source.html | 223 ++ d1/d12/tree_8cpp_source.html | 259 ++ ...s_1_1linked__list_1_1list__coll__graph.map | 2 +- ...s_1_1linked__list_1_1list__coll__graph.md5 | 2 +- ...s_1_1linked__list_1_1list__coll__graph.svg | 2 +- ...1linked__list_1_1list__coll__graph_org.svg | 2 +- ...al__sort__by__kahns__algo_8cpp_source.html | 207 ++ d1/d1c/base64__encoding_8cpp_source.html | 289 ++ d1/d1d/class_graph-members.html | 35 +- ...1_1trie__operations_1_1_tnode-members.html | 35 +- d1/d21/quick__sort_8cpp.html | 222 +- ...b2a2cc2d319240f3b65c5b2f479ed82_cgraph.map | 5 - ...b2a2cc2d319240f3b65c5b2f479ed82_cgraph.md5 | 1 - ...b2a2cc2d319240f3b65c5b2f479ed82_cgraph.svg | 66 - ...cc2d319240f3b65c5b2f479ed82_cgraph_org.svg | 40 - ...83bb8ccf42aaf7375a83e91490eda1e_cgraph.map | 13 - ...83bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 | 1 - ...83bb8ccf42aaf7375a83e91490eda1e_cgraph.svg | 137 - ...8ccf42aaf7375a83e91490eda1e_cgraph_org.svg | 111 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 19 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 191 -- ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 165 - d1/d21/quick__sort_8cpp_source.html | 311 ++ d1/d2a/knight__tour_8cpp.html | 91 +- ...a47356d98676cf5315d978f741e29c9_cgraph.map | 6 - ...a47356d98676cf5315d978f741e29c9_cgraph.md5 | 1 - ...a47356d98676cf5315d978f741e29c9_cgraph.svg | 75 - ...56d98676cf5315d978f741e29c9_cgraph_org.svg | 49 - ...27031fbff093ffd625f64010d98aab2_cgraph.map | 4 - ...27031fbff093ffd625f64010d98aab2_cgraph.md5 | 1 - ...27031fbff093ffd625f64010d98aab2_cgraph.svg | 57 - ...1fbff093ffd625f64010d98aab2_cgraph_org.svg | 31 - d1/d2a/knight__tour_8cpp_source.html | 217 ++ ...ers_1_1_cache_1_1_l_r_u_cache-members.html | 35 +- d1/d35/namespaceexponential__dist.html | 35 +- d1/d40/counting__sort_8cpp_source.html | 202 ++ ...d__median_1_1_windowed_median-members.html | 35 +- ...1heavy__light__decomposition_1_1_tree.html | 464 ++- ...4cd96efaba147b19d3afc769b90ff70_cgraph.map | 5 - ...4cd96efaba147b19d3afc769b90ff70_cgraph.md5 | 1 - ...4cd96efaba147b19d3afc769b90ff70_cgraph.svg | 67 - ...6efaba147b19d3afc769b90ff70_cgraph_org.svg | 41 - ...9ab4601c4a95c0902ac04e779e5f54d_cgraph.map | 5 - ...9ab4601c4a95c0902ac04e779e5f54d_cgraph.md5 | 1 - ...9ab4601c4a95c0902ac04e779e5f54d_cgraph.svg | 67 - ...601c4a95c0902ac04e779e5f54d_cgraph_org.svg | 41 - ...35fb2bbb27307b8cacad9b287968bc1_cgraph.map | 7 - ...35fb2bbb27307b8cacad9b287968bc1_cgraph.md5 | 1 - ...35fb2bbb27307b8cacad9b287968bc1_cgraph.svg | 85 - ...2bbb27307b8cacad9b287968bc1_cgraph_org.svg | 59 - ...f7bca1746d40f21ad832fcea59aa6c6_cgraph.map | 5 - ...f7bca1746d40f21ad832fcea59aa6c6_cgraph.md5 | 1 - ...f7bca1746d40f21ad832fcea59aa6c6_cgraph.svg | 69 - ...a1746d40f21ad832fcea59aa6c6_cgraph_org.svg | 43 - ...339c31ec74cd86a4842a8b09653d460_cgraph.map | 4 - ...339c31ec74cd86a4842a8b09653d460_cgraph.md5 | 1 - ...339c31ec74cd86a4842a8b09653d460_cgraph.svg | 58 - ...31ec74cd86a4842a8b09653d460_cgraph_org.svg | 32 - ...22d760a5a33545a70e7ea5e1786c8dc_cgraph.map | 9 - ...22d760a5a33545a70e7ea5e1786c8dc_cgraph.md5 | 1 - ...22d760a5a33545a70e7ea5e1786c8dc_cgraph.svg | 107 - ...60a5a33545a70e7ea5e1786c8dc_cgraph_org.svg | 81 - ...2b407e64aaf9878fbee7ee6efe9c7d4_cgraph.map | 5 - ...2b407e64aaf9878fbee7ee6efe9c7d4_cgraph.md5 | 1 - ...2b407e64aaf9878fbee7ee6efe9c7d4_cgraph.svg | 69 - ...7e64aaf9878fbee7ee6efe9c7d4_cgraph_org.svg | 43 - ...8de7aefcb6635d3dacdd174cd4890c4_cgraph.map | 4 - ...8de7aefcb6635d3dacdd174cd4890c4_cgraph.md5 | 1 - ...8de7aefcb6635d3dacdd174cd4890c4_cgraph.svg | 58 - ...aefcb6635d3dacdd174cd4890c4_cgraph_org.svg | 32 - ...ic_3_01uint256__t_01_4__inherit__graph.map | 2 +- ...ic_3_01uint256__t_01_4__inherit__graph.md5 | 2 +- ...ic_3_01uint256__t_01_4__inherit__graph.svg | 2 +- ..._01uint256__t_01_4__inherit__graph_org.svg | 2 +- d1/d64/namespaceinterpolation__search.html | 35 +- d1/d64/namespacemodular__division.html | 35 +- ...ht__decomposition_1_1_s_g__coll__graph.map | 2 +- ...ht__decomposition_1_1_s_g__coll__graph.md5 | 2 +- ...ht__decomposition_1_1_s_g__coll__graph.svg | 2 +- ...decomposition_1_1_s_g__coll__graph_org.svg | 2 +- d1/d70/cll_8cpp_source.html | 250 ++ ..._1_lowest_common_ancestor__coll__graph.map | 6 +- ..._1_lowest_common_ancestor__coll__graph.md5 | 2 +- ..._1_lowest_common_ancestor__coll__graph.svg | 6 +- ...owest_common_ancestor__coll__graph_org.svg | 6 +- d1/d76/buzz__number_8cpp.html | 61 +- ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 5 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 65 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 39 - d1/d76/buzz__number_8cpp_source.html | 155 + d1/d77/structmst.html | 98 +- d1/d7c/fibonacci__bottom__up_8cpp_source.html | 160 + d1/d83/classuint256__t.html | 338 +- ...33d66c965e8d1fbc5bafb59ad60e163_cgraph.map | 5 - ...33d66c965e8d1fbc5bafb59ad60e163_cgraph.md5 | 1 - ...33d66c965e8d1fbc5bafb59ad60e163_cgraph.svg | 65 - ...6c965e8d1fbc5bafb59ad60e163_cgraph_org.svg | 39 - ...fa3d95584d071add9b46597d3747b39_cgraph.map | 7 - ...fa3d95584d071add9b46597d3747b39_cgraph.md5 | 1 - ...fa3d95584d071add9b46597d3747b39_cgraph.svg | 84 - ...95584d071add9b46597d3747b39_cgraph_org.svg | 58 - ...cd43a4a92dc825a010a17578b3bdedb_cgraph.map | 9 - ...cd43a4a92dc825a010a17578b3bdedb_cgraph.md5 | 1 - ...cd43a4a92dc825a010a17578b3bdedb_cgraph.svg | 101 - ...a4a92dc825a010a17578b3bdedb_cgraph_org.svg | 75 - ...645040fe68ff01d83400f173fd2bb21_cgraph.map | 7 - ...645040fe68ff01d83400f173fd2bb21_cgraph.md5 | 1 - ...645040fe68ff01d83400f173fd2bb21_cgraph.svg | 83 - ...40fe68ff01d83400f173fd2bb21_cgraph_org.svg | 57 - ...fdeb4d4bf8cca4ee99b8487e59831df_cgraph.map | 9 - ...fdeb4d4bf8cca4ee99b8487e59831df_cgraph.md5 | 1 - ...fdeb4d4bf8cca4ee99b8487e59831df_cgraph.svg | 101 - ...4d4bf8cca4ee99b8487e59831df_cgraph_org.svg | 75 - ...161d52d369e525f4e61129376adfcf1_cgraph.map | 7 - ...161d52d369e525f4e61129376adfcf1_cgraph.md5 | 1 - ...161d52d369e525f4e61129376adfcf1_cgraph.svg | 83 - ...52d369e525f4e61129376adfcf1_cgraph_org.svg | 57 - ...6aab081bb7db2771e4a4f30c3eed8e2_cgraph.map | 7 - ...6aab081bb7db2771e4a4f30c3eed8e2_cgraph.md5 | 1 - ...6aab081bb7db2771e4a4f30c3eed8e2_cgraph.svg | 84 - ...081bb7db2771e4a4f30c3eed8e2_cgraph_org.svg | 58 - ...ddd133cee83f3a2ab6ed60a7ccbc250_cgraph.map | 5 - ...ddd133cee83f3a2ab6ed60a7ccbc250_cgraph.md5 | 1 - ...ddd133cee83f3a2ab6ed60a7ccbc250_cgraph.svg | 65 - ...33cee83f3a2ab6ed60a7ccbc250_cgraph_org.svg | 39 - ...9e585b186e71d7cbe9c1d7387c38967_cgraph.map | 7 - ...9e585b186e71d7cbe9c1d7387c38967_cgraph.md5 | 1 - ...9e585b186e71d7cbe9c1d7387c38967_cgraph.svg | 83 - ...5b186e71d7cbe9c1d7387c38967_cgraph_org.svg | 57 - ...1b36e64de42f3622e7d6ec5efa273d4_cgraph.map | 9 - ...1b36e64de42f3622e7d6ec5efa273d4_cgraph.md5 | 1 - ...1b36e64de42f3622e7d6ec5efa273d4_cgraph.svg | 101 - ...e64de42f3622e7d6ec5efa273d4_cgraph_org.svg | 75 - ...4928175eaaaa2b559bc945affe63ad2_cgraph.map | 9 - ...4928175eaaaa2b559bc945affe63ad2_cgraph.md5 | 1 - ...4928175eaaaa2b559bc945affe63ad2_cgraph.svg | 101 - ...175eaaaa2b559bc945affe63ad2_cgraph_org.svg | 75 - ...ee82fa5052e9d8c946b9205b943cec4_cgraph.map | 5 - ...ee82fa5052e9d8c946b9205b943cec4_cgraph.md5 | 1 - ...ee82fa5052e9d8c946b9205b943cec4_cgraph.svg | 66 - ...fa5052e9d8c946b9205b943cec4_cgraph_org.svg | 40 - ...classdata__structures_1_1trie-members.html | 35 +- d1/d9a/hopcroft__karp_8cpp.html | 73 +- ...8ec9ad42717780d6caaff9d3d6977f9_cgraph.map | 17 - ...8ec9ad42717780d6caaff9d3d6977f9_cgraph.md5 | 1 - ...8ec9ad42717780d6caaff9d3d6977f9_cgraph.svg | 174 -- ...ad42717780d6caaff9d3d6977f9_cgraph_org.svg | 148 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 19 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 249 -- ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 166 - d1/d9a/hopcroft__karp_8cpp_source.html | 403 +++ d1/d9e/prefix__sum__array_8cpp.html | 97 +- ...36151479ad37d53ef9fcb60a274b1d9_cgraph.map | 8 - ...36151479ad37d53ef9fcb60a274b1d9_cgraph.md5 | 1 - ...36151479ad37d53ef9fcb60a274b1d9_cgraph.svg | 93 - ...1479ad37d53ef9fcb60a274b1d9_cgraph_org.svg | 67 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 5 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 65 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 39 - d1/d9e/prefix__sum__array_8cpp_source.html | 188 ++ d1/da6/rungekutta_8cpp.html | 91 +- ...b9f40c7b5e9749cc550f19be3dc8856_cgraph.map | 8 - ...b9f40c7b5e9749cc550f19be3dc8856_cgraph.md5 | 1 - ...b9f40c7b5e9749cc550f19be3dc8856_cgraph.svg | 93 - ...0c7b5e9749cc550f19be3dc8856_cgraph_org.svg | 67 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 5 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 65 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 39 - d1/da6/rungekutta_8cpp_source.html | 228 ++ d1/da7/armstrong__number__templated_8cpp.html | 66 +- ...83bb8ccf42aaf7375a83e91490eda1e_cgraph.map | 7 - ...83bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 | 1 - ...83bb8ccf42aaf7375a83e91490eda1e_cgraph.svg | 84 - ...8ccf42aaf7375a83e91490eda1e_cgraph_org.svg | 58 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 9 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 102 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 76 - ...strong__number__templated_8cpp_source.html | 202 ++ d1/daa/random__pivot__quick__sort_8cpp.html | 192 +- ...ddf1224851353fc92bfbff6f499fa97_cgraph.map | 27 - ...ddf1224851353fc92bfbff6f499fa97_cgraph.md5 | 1 - ...ddf1224851353fc92bfbff6f499fa97_cgraph.svg | 320 -- ...224851353fc92bfbff6f499fa97_cgraph_org.svg | 237 -- ...d1c39e1ff42c04fb8ec0c0b9411cd3e_cgraph.map | 7 - ...d1c39e1ff42c04fb8ec0c0b9411cd3e_cgraph.md5 | 1 - ...d1c39e1ff42c04fb8ec0c0b9411cd3e_cgraph.svg | 84 - ...9e1ff42c04fb8ec0c0b9411cd3e_cgraph_org.svg | 58 - ...0675d2eb960c71ca31ec475ba90120d_cgraph.map | 4 - ...0675d2eb960c71ca31ec475ba90120d_cgraph.md5 | 1 - ...0675d2eb960c71ca31ec475ba90120d_cgraph.svg | 58 - ...d2eb960c71ca31ec475ba90120d_cgraph_org.svg | 32 - ...d2e7465e7b5d54c2de6d5e9db1ea6a5_cgraph.map | 13 - ...d2e7465e7b5d54c2de6d5e9db1ea6a5_cgraph.md5 | 1 - ...d2e7465e7b5d54c2de6d5e9db1ea6a5_cgraph.svg | 139 - ...465e7b5d54c2de6d5e9db1ea6a5_cgraph_org.svg | 113 - ...8dca7b867074164d5f45b0f3851269d_cgraph.map | 22 - ...8dca7b867074164d5f45b0f3851269d_cgraph.md5 | 1 - ...8dca7b867074164d5f45b0f3851269d_cgraph.svg | 275 -- ...7b867074164d5f45b0f3851269d_cgraph_org.svg | 192 -- ...c5657b4fe2251cd21073f44233f6ea5_cgraph.map | 4 - ...c5657b4fe2251cd21073f44233f6ea5_cgraph.md5 | 1 - ...c5657b4fe2251cd21073f44233f6ea5_cgraph.svg | 57 - ...7b4fe2251cd21073f44233f6ea5_cgraph_org.svg | 31 - ...3281dc34a9cfd7beb332419b8a0aa10_cgraph.map | 8 - ...3281dc34a9cfd7beb332419b8a0aa10_cgraph.md5 | 1 - ...3281dc34a9cfd7beb332419b8a0aa10_cgraph.svg | 93 - ...dc34a9cfd7beb332419b8a0aa10_cgraph_org.svg | 67 - ...andom__pivot__quick__sort_8cpp_source.html | 388 +++ ...egral_3_01uint128__t_01_4__coll__graph.map | 2 +- ...egral_3_01uint128__t_01_4__coll__graph.md5 | 2 +- ...egral_3_01uint128__t_01_4__coll__graph.svg | 2 +- ...l_3_01uint128__t_01_4__coll__graph_org.svg | 2 +- d1/db3/structcompare.html | 46 +- d1/db6/namespaceknight__tour.html | 35 +- ...1_1_cache_1_1_l_r_u_cache__coll__graph.map | 18 +- ...1_1_cache_1_1_l_r_u_cache__coll__graph.md5 | 2 +- ...1_1_cache_1_1_l_r_u_cache__coll__graph.svg | 103 +- ...cache_1_1_l_r_u_cache__coll__graph_org.svg | 105 +- d1/dbb/n__choose__r_8cpp.html | 73 +- ...ddf1224851353fc92bfbff6f499fa97_cgraph.map | 9 - ...ddf1224851353fc92bfbff6f499fa97_cgraph.md5 | 1 - ...ddf1224851353fc92bfbff6f499fa97_cgraph.svg | 101 - ...224851353fc92bfbff6f499fa97_cgraph_org.svg | 75 - ...8dca7b867074164d5f45b0f3851269d_cgraph.map | 7 - ...8dca7b867074164d5f45b0f3851269d_cgraph.md5 | 1 - ...8dca7b867074164d5f45b0f3851269d_cgraph.svg | 83 - ...7b867074164d5f45b0f3851269d_cgraph_org.svg | 57 - d1/dbb/n__choose__r_8cpp_source.html | 192 ++ d1/dbe/lu__decomposition_8h.html | 84 +- ...108d43bd32c6fb3b3c158476c51ba7f_cgraph.map | 8 - ...108d43bd32c6fb3b3c158476c51ba7f_cgraph.md5 | 1 - ...108d43bd32c6fb3b3c158476c51ba7f_cgraph.svg | 92 - ...43bd32c6fb3b3c158476c51ba7f_cgraph_org.svg | 66 - ...5b8a228c6419ecda6077255d6d60509_cgraph.map | 5 - ...5b8a228c6419ecda6077255d6d60509_cgraph.md5 | 1 - ...5b8a228c6419ecda6077255d6d60509_cgraph.svg | 65 - ...228c6419ecda6077255d6d60509_cgraph_org.svg | 39 - d1/dbe/lu__decomposition_8h_source.html | 93 +- ...__traversal__of__bst_1_1_node-members.html | 35 +- d1/dc2/class_graph__coll__graph.map | 18 +- d1/dc2/class_graph__coll__graph.md5 | 2 +- d1/dc2/class_graph__coll__graph.svg | 42 +- d1/dc2/class_graph__coll__graph_org.svg | 42 +- d1/dc2/classstack.html | 169 +- ...bce109630118a34faae717f72986033_cgraph.map | 7 - ...bce109630118a34faae717f72986033_cgraph.md5 | 1 - ...bce109630118a34faae717f72986033_cgraph.svg | 83 - ...09630118a34faae717f72986033_cgraph_org.svg | 57 - ...0df277532c23519aa7ac3c08ed90a1d_cgraph.map | 5 - ...0df277532c23519aa7ac3c08ed90a1d_cgraph.md5 | 1 - ...0df277532c23519aa7ac3c08ed90a1d_cgraph.svg | 65 - ...77532c23519aa7ac3c08ed90a1d_cgraph_org.svg | 39 - d1/dc5/classlarge__number__coll__graph.map | 2 +- d1/dc5/classlarge__number__coll__graph.md5 | 2 +- d1/dc5/classlarge__number__coll__graph.svg | 2 +- .../classlarge__number__coll__graph_org.svg | 2 +- d1/dc7/linear__probing__hash__table_8cpp.html | 136 +- ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 39 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 429 --- ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 346 --- ...ear__probing__hash__table_8cpp_source.html | 395 +++ d1/dcc/wiggle__sort_8cpp.html | 71 +- ...9eeded693ac073717282fae365957a1_cgraph.map | 8 - ...9eeded693ac073717282fae365957a1_cgraph.md5 | 1 - ...9eeded693ac073717282fae365957a1_cgraph.svg | 93 - ...ed693ac073717282fae365957a1_cgraph_org.svg | 67 - d1/dcc/wiggle__sort_8cpp_source.html | 227 ++ ...hashmap_1_1_trie_1_1_node__coll__graph.map | 4 +- ...hashmap_1_1_trie_1_1_node__coll__graph.md5 | 2 +- ...hashmap_1_1_trie_1_1_node__coll__graph.svg | 4 +- ...map_1_1_trie_1_1_node__coll__graph_org.svg | 4 +- d1/de0/namespacenumerical__methods.html | 182 +- ...58fd271b9a53e8f3f60b08b18857150_cgraph.map | 4 - ...58fd271b9a53e8f3f60b08b18857150_cgraph.md5 | 1 - ...58fd271b9a53e8f3f60b08b18857150_cgraph.svg | 57 - ...271b9a53e8f3f60b08b18857150_cgraph_org.svg | 31 - ...8e67885f8606564cc8335f483f63309_cgraph.map | 7 - ...8e67885f8606564cc8335f483f63309_cgraph.md5 | 1 - ...8e67885f8606564cc8335f483f63309_cgraph.svg | 84 - ...885f8606564cc8335f483f63309_cgraph_org.svg | 58 - ...e56dc85997b8cd42bad71a5d6bd2d93_cgraph.map | 8 - ...e56dc85997b8cd42bad71a5d6bd2d93_cgraph.md5 | 1 - ...e56dc85997b8cd42bad71a5d6bd2d93_cgraph.svg | 93 - ...c85997b8cd42bad71a5d6bd2d93_cgraph_org.svg | 67 - ...etry_1_1jarvis_1_1_convexhull-members.html | 35 +- d1/de9/integral__approximation_8cpp.html | 140 +- ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 7 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 83 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 57 - .../integral__approximation_8cpp_source.html | 239 ++ ...ng__hashmap_1_1_trie_1_1_node-members.html | 35 +- d1/ded/windowed__median_8cpp.html | 171 +- ...dc652a36ea42ba262c4e4236e3e6601_cgraph.map | 35 - ...dc652a36ea42ba262c4e4236e3e6601_cgraph.md5 | 1 - ...dc652a36ea42ba262c4e4236e3e6601_cgraph.svg | 402 --- ...2a36ea42ba262c4e4236e3e6601_cgraph_org.svg | 319 -- ...0f2228420376f4db7e1274f2b41667c_cgraph.map | 26 - ...0f2228420376f4db7e1274f2b41667c_cgraph.md5 | 1 - ...0f2228420376f4db7e1274f2b41667c_cgraph.svg | 313 -- ...28420376f4db7e1274f2b41667c_cgraph_org.svg | 230 -- d1/ded/windowed__median_8cpp_source.html | 299 ++ ...a__structures_1_1linked__list_1_1list.html | 277 +- ...09b19ac8cca40f2e4daa2e5989fa4f3_cgraph.map | 7 - ...09b19ac8cca40f2e4daa2e5989fa4f3_cgraph.md5 | 1 - ...09b19ac8cca40f2e4daa2e5989fa4f3_cgraph.svg | 85 - ...9ac8cca40f2e4daa2e5989fa4f3_cgraph_org.svg | 59 - ...313837c0e9ec67fd9fbd17987e2d615_cgraph.map | 5 - ...313837c0e9ec67fd9fbd17987e2d615_cgraph.md5 | 1 - ...313837c0e9ec67fd9fbd17987e2d615_cgraph.svg | 67 - ...37c0e9ec67fd9fbd17987e2d615_cgraph_org.svg | 41 - ...32b965afd9d6bea8d3246673acd52c7_cgraph.map | 7 - ...32b965afd9d6bea8d3246673acd52c7_cgraph.md5 | 1 - ...32b965afd9d6bea8d3246673acd52c7_cgraph.svg | 85 - ...65afd9d6bea8d3246673acd52c7_cgraph_org.svg | 59 - ...0e209b55b83622254177050945e7826_cgraph.map | 5 - ...0e209b55b83622254177050945e7826_cgraph.md5 | 1 - ...0e209b55b83622254177050945e7826_cgraph.svg | 66 - ...9b55b83622254177050945e7826_cgraph_org.svg | 40 - ...e9859d1a0755fb51e41904d20c95496_cgraph.map | 7 - ...e9859d1a0755fb51e41904d20c95496_cgraph.md5 | 1 - ...e9859d1a0755fb51e41904d20c95496_cgraph.svg | 85 - ...9d1a0755fb51e41904d20c95496_cgraph_org.svg | 59 - ...785d1478e59f5a90288b2928a7094d6_cgraph.map | 5 - ...785d1478e59f5a90288b2928a7094d6_cgraph.md5 | 1 - ...785d1478e59f5a90288b2928a7094d6_cgraph.svg | 67 - ...1478e59f5a90288b2928a7094d6_cgraph_org.svg | 41 - ...69707af46eb6d410eb3a54ee58e1ed1_cgraph.map | 7 - ...69707af46eb6d410eb3a54ee58e1ed1_cgraph.md5 | 1 - ...69707af46eb6d410eb3a54ee58e1ed1_cgraph.svg | 85 - ...7af46eb6d410eb3a54ee58e1ed1_cgraph_org.svg | 59 - ...3423f7518671351340932db3c24959a_cgraph.map | 5 - ...3423f7518671351340932db3c24959a_cgraph.md5 | 1 - ...3423f7518671351340932db3c24959a_cgraph.svg | 67 - ...f7518671351340932db3c24959a_cgraph_org.svg | 41 - ...b04f732911fcfd30f7177b367c6af41_cgraph.map | 5 - ...b04f732911fcfd30f7177b367c6af41_cgraph.md5 | 1 - ...b04f732911fcfd30f7177b367c6af41_cgraph.svg | 67 - ...732911fcfd30f7177b367c6af41_cgraph_org.svg | 41 - d1/df2/structnode-members.html | 35 +- d1/df3/hash__search_8cpp.html | 190 +- ...6ea13c16028f18ef2d5ff47f3fda7a2_cgraph.map | 5 - ...6ea13c16028f18ef2d5ff47f3fda7a2_cgraph.md5 | 1 - ...6ea13c16028f18ef2d5ff47f3fda7a2_cgraph.svg | 65 - ...3c16028f18ef2d5ff47f3fda7a2_cgraph_org.svg | 39 - ...0831425f1389166a9518f422d0c6ec5_cgraph.map | 5 - ...0831425f1389166a9518f422d0c6ec5_cgraph.md5 | 1 - ...0831425f1389166a9518f422d0c6ec5_cgraph.svg | 65 - ...425f1389166a9518f422d0c6ec5_cgraph_org.svg | 39 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 12 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 128 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 102 - d1/df3/hash__search_8cpp_source.html | 259 ++ ..._1_1generate__parentheses__coll__graph.map | 6 +- ..._1_1generate__parentheses__coll__graph.md5 | 2 +- ..._1_1generate__parentheses__coll__graph.svg | 6 +- ...generate__parentheses__coll__graph_org.svg | 6 +- d1/df6/class_easter_year_month_day.html | 117 +- d2/d05/class_min_heap.html | 220 +- ...7ac126eabb0c3ce04047172abccca29_cgraph.map | 17 - ...7ac126eabb0c3ce04047172abccca29_cgraph.md5 | 1 - ...7ac126eabb0c3ce04047172abccca29_cgraph.svg | 230 -- ...26eabb0c3ce04047172abccca29_cgraph_org.svg | 147 - ...014f1edaed0bd7db0c0d2ca53228980_cgraph.map | 12 - ...014f1edaed0bd7db0c0d2ca53228980_cgraph.md5 | 1 - ...014f1edaed0bd7db0c0d2ca53228980_cgraph.svg | 128 - ...1edaed0bd7db0c0d2ca53228980_cgraph_org.svg | 102 - ...7f726cc6327955d22871592227432f5_cgraph.map | 5 - ...7f726cc6327955d22871592227432f5_cgraph.md5 | 1 - ...7f726cc6327955d22871592227432f5_cgraph.svg | 65 - ...6cc6327955d22871592227432f5_cgraph_org.svg | 39 - ...ef438c1056492cb62c4a4d9035b5cad_cgraph.map | 10 - ...ef438c1056492cb62c4a4d9035b5cad_cgraph.md5 | 1 - ...ef438c1056492cb62c4a4d9035b5cad_cgraph.svg | 110 - ...8c1056492cb62c4a4d9035b5cad_cgraph_org.svg | 84 - ...f78f3384f5a0ae880ad0883d2d44b82_cgraph.map | 5 - ...f78f3384f5a0ae880ad0883d2d44b82_cgraph.md5 | 1 - ...f78f3384f5a0ae880ad0883d2d44b82_cgraph.svg | 65 - ...3384f5a0ae880ad0883d2d44b82_cgraph_org.svg | 39 - d2/d0b/fast__power_8cpp.html | 110 +- ...d4e3f0099a6975b74a314a35bd0f94d_cgraph.map | 4 - ...d4e3f0099a6975b74a314a35bd0f94d_cgraph.md5 | 1 - ...d4e3f0099a6975b74a314a35bd0f94d_cgraph.svg | 56 - ...f0099a6975b74a314a35bd0f94d_cgraph_org.svg | 30 - ...399b847626e5bba983cab7c7918b445_cgraph.map | 4 - ...399b847626e5bba983cab7c7918b445_cgraph.md5 | 1 - ...399b847626e5bba983cab7c7918b445_cgraph.svg | 56 - ...847626e5bba983cab7c7918b445_cgraph_org.svg | 30 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 21 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 210 -- ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 184 -- d2/d0b/fast__power_8cpp_source.html | 216 ++ d2/d21/gnome__sort_8cpp.html | 115 +- ...8dca7b867074164d5f45b0f3851269d_cgraph.map | 19 - ...8dca7b867074164d5f45b0f3851269d_cgraph.md5 | 1 - ...8dca7b867074164d5f45b0f3851269d_cgraph.svg | 191 -- ...7b867074164d5f45b0f3851269d_cgraph_org.svg | 165 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 21 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 209 -- ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 183 -- d2/d21/gnome__sort_8cpp_source.html | 242 ++ d2/d22/jump__search_8cpp.html | 76 +- ...49fd8f401bfc71f63b74711390cccf0_cgraph.map | 7 - ...49fd8f401bfc71f63b74711390cccf0_cgraph.md5 | 1 - ...49fd8f401bfc71f63b74711390cccf0_cgraph.svg | 83 - ...8f401bfc71f63b74711390cccf0_cgraph_org.svg | 57 - d2/d22/jump__search_8cpp_source.html | 190 ++ d2/d26/count__inversions_8cpp.html | 144 +- ...332498eabf6579ef059c0d0e9f4ec80_cgraph.map | 13 - ...332498eabf6579ef059c0d0e9f4ec80_cgraph.md5 | 1 - ...332498eabf6579ef059c0d0e9f4ec80_cgraph.svg | 139 - ...98eabf6579ef059c0d0e9f4ec80_cgraph_org.svg | 113 - ...8dca7b867074164d5f45b0f3851269d_cgraph.map | 7 - ...8dca7b867074164d5f45b0f3851269d_cgraph.md5 | 1 - ...8dca7b867074164d5f45b0f3851269d_cgraph.svg | 83 - ...7b867074164d5f45b0f3851269d_cgraph_org.svg | 57 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 9 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 101 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 75 - ...97a486e14101c4822ea8dc47f0d1661_cgraph.map | 4 - ...97a486e14101c4822ea8dc47f0d1661_cgraph.md5 | 1 - ...97a486e14101c4822ea8dc47f0d1661_cgraph.svg | 57 - ...86e14101c4822ea8dc47f0d1661_cgraph_org.svg | 31 - d2/d26/count__inversions_8cpp_source.html | 316 ++ d2/d2c/structtower.html | 88 +- ...mespacegreedy__algorithms_1_1dijkstra.html | 72 +- ...915876d0ca33cc71a6a6191a8cd3ccd_cgraph.map | 7 - ...915876d0ca33cc71a6a6191a8cd3ccd_cgraph.md5 | 1 - ...915876d0ca33cc71a6a6191a8cd3ccd_cgraph.svg | 86 - ...76d0ca33cc71a6a6191a8cd3ccd_cgraph_org.svg | 60 - ...tgeometry_1_1jarvis_1_1_point-members.html | 35 +- d2/d3b/namespaceqr__algorithm.html | 223 +- ...57425cb2365359da51c6fe6741834d8_cgraph.map | 11 - ...57425cb2365359da51c6fe6741834d8_cgraph.md5 | 1 - ...57425cb2365359da51c6fe6741834d8_cgraph.svg | 119 - ...5cb2365359da51c6fe6741834d8_cgraph_org.svg | 93 - ...8e2fa3e803abaea6c568dc45d69d8cc_cgraph.map | 16 - ...8e2fa3e803abaea6c568dc45d69d8cc_cgraph.md5 | 1 - ...8e2fa3e803abaea6c568dc45d69d8cc_cgraph.svg | 222 -- ...a3e803abaea6c568dc45d69d8cc_cgraph_org.svg | 139 - ...d3c7dce1f142141f509d09f6c0e25dc_cgraph.map | 5 - ...d3c7dce1f142141f509d09f6c0e25dc_cgraph.md5 | 1 - ...d3c7dce1f142141f509d09f6c0e25dc_cgraph.svg | 65 - ...dce1f142141f509d09f6c0e25dc_cgraph_org.svg | 39 - ...3ce637634fc49e1d10d190eb388ebf1_cgraph.map | 12 - ...3ce637634fc49e1d10d190eb388ebf1_cgraph.md5 | 1 - ...3ce637634fc49e1d10d190eb388ebf1_cgraph.svg | 128 - ...37634fc49e1d10d190eb388ebf1_cgraph_org.svg | 102 - ...16da2183db22378435042f26af43d5f_cgraph.map | 7 - ...16da2183db22378435042f26af43d5f_cgraph.md5 | 1 - ...16da2183db22378435042f26af43d5f_cgraph.svg | 83 - ...2183db22378435042f26af43d5f_cgraph_org.svg | 57 - ...fbdf47277c8cfee229b05b72f1f7834_cgraph.map | 13 - ...fbdf47277c8cfee229b05b72f1f7834_cgraph.md5 | 1 - ...fbdf47277c8cfee229b05b72f1f7834_cgraph.svg | 137 - ...47277c8cfee229b05b72f1f7834_cgraph_org.svg | 111 - d2/d45/segtree_8cpp.html | 162 +- ...23a97ea0c7ea6e33b5844a6858d902d_cgraph.map | 4 - ...23a97ea0c7ea6e33b5844a6858d902d_cgraph.md5 | 1 - ...23a97ea0c7ea6e33b5844a6858d902d_cgraph.svg | 56 - ...7ea0c7ea6e33b5844a6858d902d_cgraph_org.svg | 30 - ...8dca7b867074164d5f45b0f3851269d_cgraph.map | 12 - ...8dca7b867074164d5f45b0f3851269d_cgraph.md5 | 1 - ...8dca7b867074164d5f45b0f3851269d_cgraph.svg | 128 - ...7b867074164d5f45b0f3851269d_cgraph_org.svg | 102 - ...d3e818681fb2e29cf08f4f60f82c8e0_cgraph.map | 4 - ...d3e818681fb2e29cf08f4f60f82c8e0_cgraph.md5 | 1 - ...d3e818681fb2e29cf08f4f60f82c8e0_cgraph.svg | 56 - ...18681fb2e29cf08f4f60f82c8e0_cgraph_org.svg | 30 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 17 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 173 -- ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 147 - ...752659b7c1719d68fdb2ca538a93696_cgraph.map | 4 - ...752659b7c1719d68fdb2ca538a93696_cgraph.md5 | 1 - ...752659b7c1719d68fdb2ca538a93696_cgraph.svg | 56 - ...59b7c1719d68fdb2ca538a93696_cgraph_org.svg | 30 - d2/d45/segtree_8cpp_source.html | 306 ++ ...__and__edmond__karp__algo_8cpp_source.html | 258 ++ d2/d52/heap__sort_8cpp.html | 85 +- ...1a3968e7947464bee7714f6d43b7002_cgraph.map | 11 - ...1a3968e7947464bee7714f6d43b7002_cgraph.md5 | 1 - ...1a3968e7947464bee7714f6d43b7002_cgraph.svg | 119 - ...68e7947464bee7714f6d43b7002_cgraph_org.svg | 93 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 13 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 137 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 111 - d2/d52/heap__sort_8cpp_source.html | 213 ++ d2/d58/neural__network_8cpp.html | 145 +- ...3aa9d32bcbcd65cfc85f0a41e2afadc_cgraph.map | 6 - ...3aa9d32bcbcd65cfc85f0a41e2afadc_cgraph.md5 | 1 - ...3aa9d32bcbcd65cfc85f0a41e2afadc_cgraph.svg | 76 - ...d32bcbcd65cfc85f0a41e2afadc_cgraph_org.svg | 50 - ...a5e874b9774aa5362dbcf288828b95c_cgraph.map | 4 - ...a5e874b9774aa5362dbcf288828b95c_cgraph.md5 | 1 - ...a5e874b9774aa5362dbcf288828b95c_cgraph.svg | 57 - ...74b9774aa5362dbcf288828b95c_cgraph_org.svg | 31 - ...2c00da08f2cf641dd336270f6e3c407_cgraph.map | 4 - ...2c00da08f2cf641dd336270f6e3c407_cgraph.md5 | 1 - ...2c00da08f2cf641dd336270f6e3c407_cgraph.svg | 58 - ...da08f2cf641dd336270f6e3c407_cgraph_org.svg | 32 - ...71aa7dd5d5add0143d1756bb0a1b32f_cgraph.map | 5 - ...71aa7dd5d5add0143d1756bb0a1b32f_cgraph.md5 | 1 - ...71aa7dd5d5add0143d1756bb0a1b32f_cgraph.svg | 66 - ...7dd5d5add0143d1756bb0a1b32f_cgraph_org.svg | 40 - ...5d3e30406712ada3d9713ece3c1b153_cgraph.map | 4 - ...5d3e30406712ada3d9713ece3c1b153_cgraph.md5 | 1 - ...5d3e30406712ada3d9713ece3c1b153_cgraph.svg | 58 - ...30406712ada3d9713ece3c1b153_cgraph_org.svg | 32 - ...6eb66212d577f948a457b6e29d87c46_cgraph.map | 4 - ...6eb66212d577f948a457b6e29d87c46_cgraph.md5 | 1 - ...6eb66212d577f948a457b6e29d87c46_cgraph.svg | 58 - ...6212d577f948a457b6e29d87c46_cgraph_org.svg | 32 - ...69e95a34054d7989bf446f96b2ffaf9_cgraph.map | 4 - ...69e95a34054d7989bf446f96b2ffaf9_cgraph.md5 | 1 - ...69e95a34054d7989bf446f96b2ffaf9_cgraph.svg | 57 - ...5a34054d7989bf446f96b2ffaf9_cgraph_org.svg | 31 - ...8dca7b867074164d5f45b0f3851269d_cgraph.map | 125 - ...8dca7b867074164d5f45b0f3851269d_cgraph.md5 | 1 - ...8dca7b867074164d5f45b0f3851269d_cgraph.svg | 1223 -------- ...7b867074164d5f45b0f3851269d_cgraph_org.svg | 1140 ------- ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 127 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 1241 -------- ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 1158 ------- ...8f264600754602b6a9ea19cc690e50e_cgraph.map | 6 - ...8f264600754602b6a9ea19cc690e50e_cgraph.md5 | 1 - ...8f264600754602b6a9ea19cc690e50e_cgraph.svg | 75 - ...4600754602b6a9ea19cc690e50e_cgraph_org.svg | 49 - d2/d58/neural__network_8cpp_source.html | 800 +++++ d2/d5a/subset__sum_8cpp.html | 115 +- ...cb50d36a59427a33f64a266dac83d99_cgraph.map | 6 - ...cb50d36a59427a33f64a266dac83d99_cgraph.md5 | 1 - ...cb50d36a59427a33f64a266dac83d99_cgraph.svg | 75 - ...d36a59427a33f64a266dac83d99_cgraph_org.svg | 49 - ...8dca7b867074164d5f45b0f3851269d_cgraph.map | 5 - ...8dca7b867074164d5f45b0f3851269d_cgraph.md5 | 1 - ...8dca7b867074164d5f45b0f3851269d_cgraph.svg | 65 - ...7b867074164d5f45b0f3851269d_cgraph_org.svg | 39 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 7 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 83 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 57 - d2/d5a/subset__sum_8cpp_source.html | 222 ++ ...__minimum__spanning__tree_8cpp_source.html | 206 ++ d2/d7d/egg__dropping__puzzle_8cpp_source.html | 189 ++ ...st_1_1geometric__distribution-members.html | 35 +- ...heavy__light__decomposition_1_1_h_l_d.html | 305 +- ...579062b384e54b611b80c6337c7f2c8_cgraph.map | 4 - ...579062b384e54b611b80c6337c7f2c8_cgraph.md5 | 1 - ...579062b384e54b611b80c6337c7f2c8_cgraph.svg | 58 - ...62b384e54b611b80c6337c7f2c8_cgraph_org.svg | 32 - ...dfbda148aad0bfaba2ebfda9ebc915a_cgraph.map | 4 - ...dfbda148aad0bfaba2ebfda9ebc915a_cgraph.md5 | 1 - ...dfbda148aad0bfaba2ebfda9ebc915a_cgraph.svg | 58 - ...a148aad0bfaba2ebfda9ebc915a_cgraph_org.svg | 32 - ...dfbf5d9df825eeb63b294c6849bdcab_cgraph.map | 13 - ...dfbf5d9df825eeb63b294c6849bdcab_cgraph.md5 | 1 - ...dfbf5d9df825eeb63b294c6849bdcab_cgraph.svg | 147 - ...5d9df825eeb63b294c6849bdcab_cgraph_org.svg | 121 - ...d5b40c076347a6aabfb37a0590f2f24_cgraph.map | 7 - ...d5b40c076347a6aabfb37a0590f2f24_cgraph.md5 | 1 - ...d5b40c076347a6aabfb37a0590f2f24_cgraph.svg | 87 - ...0c076347a6aabfb37a0590f2f24_cgraph_org.svg | 61 - ...f1cb54ed09fde931bf3220d75ee4c57_cgraph.map | 5 - ...f1cb54ed09fde931bf3220d75ee4c57_cgraph.md5 | 1 - ...f1cb54ed09fde931bf3220d75ee4c57_cgraph.svg | 69 - ...54ed09fde931bf3220d75ee4c57_cgraph_org.svg | 43 - ...9e979edd69678b85665c01e2ee97828_cgraph.map | 22 - ...9e979edd69678b85665c01e2ee97828_cgraph.md5 | 1 - ...9e979edd69678b85665c01e2ee97828_cgraph.svg | 234 -- ...9edd69678b85665c01e2ee97828_cgraph_org.svg | 208 -- ...64848d6630c39d0f09ce2359cc7c4f8_cgraph.map | 4 - ...64848d6630c39d0f09ce2359cc7c4f8_cgraph.md5 | 1 - ...64848d6630c39d0f09ce2359cc7c4f8_cgraph.svg | 58 - ...8d6630c39d0f09ce2359cc7c4f8_cgraph_org.svg | 32 - d2/d90/namespacegreedy__algorithms.html | 74 +- ...3e3819aa9ffec0e380383c52603b502_cgraph.map | 5 - ...3e3819aa9ffec0e380383c52603b502_cgraph.md5 | 1 - ...3e3819aa9ffec0e380383c52603b502_cgraph.svg | 66 - ...19aa9ffec0e380383c52603b502_cgraph_org.svg | 40 - ...edian_1_1_windowed_median__coll__graph.map | 4 +- ...edian_1_1_windowed_median__coll__graph.md5 | 2 +- ...edian_1_1_windowed_median__coll__graph.svg | 4 +- ...n_1_1_windowed_median__coll__graph_org.svg | 4 +- ...se__table__range__queries_8cpp_source.html | 199 ++ ...1iterative__tree__traversals_1_1_node.html | 70 +- ...ix__chain__multiplication_8cpp_source.html | 201 ++ ...amespacefind__non__repeating__integer.html | 35 +- ...edy__algorithms_1_1dijkstra_1_1_graph.html | 73 +- d2/db0/namespacesieve__of__eratosthenes.html | 35 +- ...ctures_1_1treap_1_1_treap__coll__graph.map | 4 +- ...ctures_1_1treap_1_1_treap__coll__graph.md5 | 2 +- ...ctures_1_1treap_1_1_treap__coll__graph.svg | 4 +- ...es_1_1treap_1_1_treap__coll__graph_org.svg | 4 +- d2/dc4/classstack__linked_list.html | 98 +- d2/dc8/classdata__structures_1_1_stack.html | 209 +- ...ac469fcc2229d273450e429139d90e6_cgraph.map | 5 - ...ac469fcc2229d273450e429139d90e6_cgraph.md5 | 1 - ...ac469fcc2229d273450e429139d90e6_cgraph.svg | 67 - ...9fcc2229d273450e429139d90e6_cgraph_org.svg | 41 - ...1dc70e128ee64c9684f03a4c04818b0_cgraph.map | 5 - ...1dc70e128ee64c9684f03a4c04818b0_cgraph.md5 | 1 - ...1dc70e128ee64c9684f03a4c04818b0_cgraph.svg | 67 - ...0e128ee64c9684f03a4c04818b0_cgraph_org.svg | 41 - ...9f9b087e9e7c00628e1289f0f1de3b2_cgraph.map | 5 - ...9f9b087e9e7c00628e1289f0f1de3b2_cgraph.md5 | 1 - ...9f9b087e9e7c00628e1289f0f1de3b2_cgraph.svg | 67 - ...087e9e7c00628e1289f0f1de3b2_cgraph_org.svg | 41 - ...46842bdd9c655d84f865fa3a03da19b_cgraph.map | 5 - ...46842bdd9c655d84f865fa3a03da19b_cgraph.md5 | 1 - ...46842bdd9c655d84f865fa3a03da19b_cgraph.svg | 66 - ...2bdd9c655d84f865fa3a03da19b_cgraph_org.svg | 40 - ...e__traversals_1_1_binary_tree-members.html | 35 +- d2/dcf/namespacestatistics.html | 35 +- ...d_1_1is__integral_3_01uint128__t_01_4.html | 42 +- d2/ddb/namespacegcd__of__n__numbers.html | 35 +- d2/de1/namespacehouse__robber.html | 35 +- ...ructlinear__probing_1_1_entry-members.html | 35 +- d2/de7/namespacerunge__kutta.html | 35 +- d2/de9/heavy__light__decomposition_8cpp.html | 145 +- ...4b8683a2b429de5cce57e6d733ec817_cgraph.map | 49 - ...4b8683a2b429de5cce57e6d733ec817_cgraph.md5 | 1 - ...4b8683a2b429de5cce57e6d733ec817_cgraph.svg | 550 ---- ...83a2b429de5cce57e6d733ec817_cgraph_org.svg | 467 --- ...58410412185a5f09199deaff7157a8d_cgraph.map | 49 - ...58410412185a5f09199deaff7157a8d_cgraph.md5 | 1 - ...58410412185a5f09199deaff7157a8d_cgraph.svg | 550 ---- ...0412185a5f09199deaff7157a8d_cgraph_org.svg | 467 --- ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 69 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 730 ----- ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 647 ---- ...31ec5409537703d9c8a47350386b32a_cgraph.map | 49 - ...31ec5409537703d9c8a47350386b32a_cgraph.md5 | 1 - ...31ec5409537703d9c8a47350386b32a_cgraph.svg | 550 ---- ...5409537703d9c8a47350386b32a_cgraph_org.svg | 467 --- ...avy__light__decomposition_8cpp_source.html | 634 ++++ ...1_1is__arithmetic_3_01uint128__t_01_4.html | 42 +- d3/d05/classbinary__search__tree-members.html | 35 +- d3/d05/sudoku__solver_8cpp.html | 180 +- ...7dc6acffd0500de9bdbf16b3ade94b0_cgraph.map | 4 - ...7dc6acffd0500de9bdbf16b3ade94b0_cgraph.md5 | 1 - ...7dc6acffd0500de9bdbf16b3ade94b0_cgraph.svg | 57 - ...acffd0500de9bdbf16b3ade94b0_cgraph_org.svg | 31 - ...040a12d7684cd85fb3684f4211ea5ac_cgraph.map | 6 - ...040a12d7684cd85fb3684f4211ea5ac_cgraph.md5 | 1 - ...040a12d7684cd85fb3684f4211ea5ac_cgraph.svg | 75 - ...12d7684cd85fb3684f4211ea5ac_cgraph_org.svg | 49 - ...911c8bca8556206ff64461b2424866b_cgraph.map | 4 - ...911c8bca8556206ff64461b2424866b_cgraph.md5 | 1 - ...911c8bca8556206ff64461b2424866b_cgraph.svg | 57 - ...8bca8556206ff64461b2424866b_cgraph_org.svg | 31 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 5 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 65 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 39 - d3/d05/sudoku__solver_8cpp_source.html | 252 ++ d3/d06/ode__semi__implicit__euler_8cpp.html | 134 +- ...ddf1224851353fc92bfbff6f499fa97_cgraph.map | 33 - ...ddf1224851353fc92bfbff6f499fa97_cgraph.md5 | 1 - ...ddf1224851353fc92bfbff6f499fa97_cgraph.svg | 317 -- ...224851353fc92bfbff6f499fa97_cgraph_org.svg | 291 -- ...13517b8e5de1b75592052db7f7e237f_cgraph.map | 17 - ...13517b8e5de1b75592052db7f7e237f_cgraph.md5 | 1 - ...13517b8e5de1b75592052db7f7e237f_cgraph.svg | 173 -- ...7b8e5de1b75592052db7f7e237f_cgraph_org.svg | 147 - ...3adf7b092a87868917ee5fb4255192b_cgraph.map | 7 - ...3adf7b092a87868917ee5fb4255192b_cgraph.md5 | 1 - ...3adf7b092a87868917ee5fb4255192b_cgraph.svg | 83 - ...7b092a87868917ee5fb4255192b_cgraph_org.svg | 57 - ...de__semi__implicit__euler_8cpp_source.html | 281 ++ d3/d09/node_8hpp.html | 65 +- d3/d09/node_8hpp_source.html | 73 +- ...ata__structures_1_1_stack__coll__graph.map | 2 +- ...ata__structures_1_1_stack__coll__graph.md5 | 2 +- ...ata__structures_1_1_stack__coll__graph.svg | 2 +- ..._structures_1_1_stack__coll__graph_org.svg | 2 +- d3/d17/namespaceutil__functions.html | 35 +- d3/d19/sparse__matrix_8cpp.html | 63 +- d3/d19/sparse__matrix_8cpp_source.html | 183 ++ ...ctures_1_1list__array_1_1list-members.html | 35 +- ...h_1_1sublist__search_1_1_node-members.html | 35 +- d3/d22/quick__sort__iterative_8cpp.html | 112 +- ...8ec9ad42717780d6caaff9d3d6977f9_cgraph.map | 25 - ...8ec9ad42717780d6caaff9d3d6977f9_cgraph.md5 | 1 - ...8ec9ad42717780d6caaff9d3d6977f9_cgraph.svg | 245 -- ...ad42717780d6caaff9d3d6977f9_cgraph_org.svg | 219 -- ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 27 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 320 -- ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 237 -- .../quick__sort__iterative_8cpp_source.html | 246 ++ d3/d22/saddleback__search_8cpp.html | 125 +- ...8dca7b867074164d5f45b0f3851269d_cgraph.map | 5 - ...8dca7b867074164d5f45b0f3851269d_cgraph.md5 | 1 - ...8dca7b867074164d5f45b0f3851269d_cgraph.svg | 65 - ...7b867074164d5f45b0f3851269d_cgraph_org.svg | 39 - ...1e0ca34797d88490747c08eca70a2e6_cgraph.map | 7 - ...1e0ca34797d88490747c08eca70a2e6_cgraph.md5 | 1 - ...1e0ca34797d88490747c08eca70a2e6_cgraph.svg | 84 - ...a34797d88490747c08eca70a2e6_cgraph_org.svg | 58 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 7 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 83 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 57 - d3/d22/saddleback__search_8cpp_source.html | 225 ++ d3/d24/qr__decomposition_8cpp.html | 87 +- ...40291bc02cba5474a4cb46a9b9566fe_cgraph.map | 5 - ...40291bc02cba5474a4cb46a9b9566fe_cgraph.md5 | 1 - ...40291bc02cba5474a4cb46a9b9566fe_cgraph.svg | 65 - ...1bc02cba5474a4cb46a9b9566fe_cgraph_org.svg | 39 - d3/d24/qr__decomposition_8cpp_source.html | 190 ++ ...assdata__structures_1_1_stack-members.html | 35 +- d3/d26/binary__search__tree_8cpp.html | 117 +- d3/d26/binary__search__tree_8cpp_source.html | 314 ++ ...ures_1_1trie__using__hashmap_1_1_trie.html | 175 +- ...bbe538c8015e8ce158e7ed43f605ebd_cgraph.map | 8 - ...bbe538c8015e8ce158e7ed43f605ebd_cgraph.md5 | 1 - ...bbe538c8015e8ce158e7ed43f605ebd_cgraph.svg | 94 - ...38c8015e8ce158e7ed43f605ebd_cgraph_org.svg | 68 - ...cae0a4456e7f583ce716e3ef466dfd2_cgraph.map | 5 - ...cae0a4456e7f583ce716e3ef466dfd2_cgraph.md5 | 1 - ...cae0a4456e7f583ce716e3ef466dfd2_cgraph.svg | 67 - ...a4456e7f583ce716e3ef466dfd2_cgraph_org.svg | 41 - ...0bf3d6791cba144b3f539835d835e75_cgraph.map | 13 - ...0bf3d6791cba144b3f539835d835e75_cgraph.md5 | 1 - ...0bf3d6791cba144b3f539835d835e75_cgraph.svg | 139 - ...d6791cba144b3f539835d835e75_cgraph_org.svg | 113 - ...15fdc7f2b5023992d87a711d78566c4_cgraph.map | 10 - ...15fdc7f2b5023992d87a711d78566c4_cgraph.md5 | 1 - ...15fdc7f2b5023992d87a711d78566c4_cgraph.svg | 114 - ...c7f2b5023992d87a711d78566c4_cgraph_org.svg | 88 - ...y_star_search_1_1comparison__operator.html | 47 +- d3/d36/digit__separation_8cpp.html | 79 +- ...83bb8ccf42aaf7375a83e91490eda1e_cgraph.map | 10 - ...83bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 | 1 - ...83bb8ccf42aaf7375a83e91490eda1e_cgraph.svg | 114 - ...8ccf42aaf7375a83e91490eda1e_cgraph_org.svg | 88 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 12 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 132 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 106 - d3/d36/digit__separation_8cpp_source.html | 249 ++ d3/d39/manacher__algorithm_8cpp.html | 110 +- ...5e6a2976bb2f332898f373941d52098_cgraph.map | 7 - ...5e6a2976bb2f332898f373941d52098_cgraph.md5 | 1 - ...5e6a2976bb2f332898f373941d52098_cgraph.svg | 84 - ...2976bb2f332898f373941d52098_cgraph_org.svg | 58 - ...8dca7b867074164d5f45b0f3851269d_cgraph.map | 5 - ...8dca7b867074164d5f45b0f3851269d_cgraph.md5 | 1 - ...8dca7b867074164d5f45b0f3851269d_cgraph.svg | 65 - ...7b867074164d5f45b0f3851269d_cgraph_org.svg | 39 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 7 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 83 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 57 - d3/d39/manacher__algorithm_8cpp_source.html | 287 ++ d3/d40/graph__coloring_8cpp.html | 108 +- ...0337efc5dad761096489bf2c5b1c80c_cgraph.map | 4 - ...0337efc5dad761096489bf2c5b1c80c_cgraph.md5 | 1 - ...0337efc5dad761096489bf2c5b1c80c_cgraph.svg | 57 - ...efc5dad761096489bf2c5b1c80c_cgraph_org.svg | 31 - ...c47fa37fb6eeeb781b2ec1b05af6b07_cgraph.map | 4 - ...c47fa37fb6eeeb781b2ec1b05af6b07_cgraph.md5 | 1 - ...c47fa37fb6eeeb781b2ec1b05af6b07_cgraph.svg | 57 - ...a37fb6eeeb781b2ec1b05af6b07_cgraph_org.svg | 31 - ...76efe049deb042bf1f02612e181ab1d_cgraph.map | 4 - ...76efe049deb042bf1f02612e181ab1d_cgraph.md5 | 1 - ...76efe049deb042bf1f02612e181ab1d_cgraph.svg | 57 - ...e049deb042bf1f02612e181ab1d_cgraph_org.svg | 31 - d3/d40/graph__coloring_8cpp_source.html | 225 ++ d3/d4c/quick__sort__3_8cpp.html | 128 +- ...7e5c62de28aeddea986890ce7ac1bda_cgraph.map | 14 - ...7e5c62de28aeddea986890ce7ac1bda_cgraph.md5 | 1 - ...7e5c62de28aeddea986890ce7ac1bda_cgraph.svg | 146 - ...62de28aeddea986890ce7ac1bda_cgraph_org.svg | 120 - ...635b04ad943fa28b7bbf8d1e6479792_cgraph.map | 14 - ...635b04ad943fa28b7bbf8d1e6479792_cgraph.md5 | 1 - ...635b04ad943fa28b7bbf8d1e6479792_cgraph.svg | 146 - ...04ad943fa28b7bbf8d1e6479792_cgraph_org.svg | 120 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 27 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 263 -- ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 237 -- d3/d4c/quick__sort__3_8cpp_source.html | 293 ++ d3/d4c/xor__cipher_8cpp.html | 112 +- ...1a3968e7947464bee7714f6d43b7002_cgraph.map | 5 - ...1a3968e7947464bee7714f6d43b7002_cgraph.md5 | 1 - ...1a3968e7947464bee7714f6d43b7002_cgraph.svg | 65 - ...68e7947464bee7714f6d43b7002_cgraph_org.svg | 39 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 7 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 83 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 57 - d3/d4c/xor__cipher_8cpp_source.html | 199 ++ d3/d53/mo_8cpp_source.html | 212 ++ d3/d61/vector__important__functions_8cpp.html | 91 +- ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 11 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 119 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 93 - ...tor__important__functions_8cpp_source.html | 179 ++ ...1_1layers_1_1_dense_layer__coll__graph.map | 8 +- ...1_1layers_1_1_dense_layer__coll__graph.md5 | 2 +- ...1_1layers_1_1_dense_layer__coll__graph.svg | 8 +- ...ayers_1_1_dense_layer__coll__graph_org.svg | 8 +- d3/d6d/namespacesimpson__method.html | 35 +- .../brute__force__string__searching_8cpp.html | 68 +- ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 5 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 65 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 39 - ..._force__string__searching_8cpp_source.html | 195 ++ d3/d80/z__function_8cpp.html | 134 +- ...8dca7b867074164d5f45b0f3851269d_cgraph.map | 14 - ...8dca7b867074164d5f45b0f3851269d_cgraph.md5 | 1 - ...8dca7b867074164d5f45b0f3851269d_cgraph.svg | 146 - ...7b867074164d5f45b0f3851269d_cgraph_org.svg | 120 - ...044c4794349a8cff6256b99950d5773_cgraph.map | 7 - ...044c4794349a8cff6256b99950d5773_cgraph.md5 | 1 - ...044c4794349a8cff6256b99950d5773_cgraph.svg | 83 - ...4794349a8cff6256b99950d5773_cgraph_org.svg | 57 - ...186ca3ac3a69b5e52543bb13fe46db8_cgraph.map | 12 - ...186ca3ac3a69b5e52543bb13fe46db8_cgraph.md5 | 1 - ...186ca3ac3a69b5e52543bb13fe46db8_cgraph.svg | 128 - ...a3ac3a69b5e52543bb13fe46db8_cgraph_org.svg | 102 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 16 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 221 -- ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 138 - d3/d80/z__function_8cpp_source.html | 215 ++ d3/d84/word__break_8cpp.html | 164 +- ...cc9dd6e6190d10a010fdcdfe7a21a81_cgraph.map | 8 - ...cc9dd6e6190d10a010fdcdfe7a21a81_cgraph.md5 | 1 - ...cc9dd6e6190d10a010fdcdfe7a21a81_cgraph.svg | 94 - ...d6e6190d10a010fdcdfe7a21a81_cgraph_org.svg | 68 - ...72b0f5cdb4e41fd6dee4538b808c06a_cgraph.map | 13 - ...72b0f5cdb4e41fd6dee4538b808c06a_cgraph.md5 | 1 - ...72b0f5cdb4e41fd6dee4538b808c06a_cgraph.svg | 140 - ...f5cdb4e41fd6dee4538b808c06a_cgraph_org.svg | 114 - ...8dca7b867074164d5f45b0f3851269d_cgraph.map | 5 - ...8dca7b867074164d5f45b0f3851269d_cgraph.md5 | 1 - ...8dca7b867074164d5f45b0f3851269d_cgraph.svg | 65 - ...7b867074164d5f45b0f3851269d_cgraph_org.svg | 39 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 8 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 92 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 66 - ...e4dcd6fd5282e535685361cba645d7c_cgraph.map | 19 - ...e4dcd6fd5282e535685361cba645d7c_cgraph.md5 | 1 - ...e4dcd6fd5282e535685361cba645d7c_cgraph.svg | 253 -- ...d6fd5282e535685361cba645d7c_cgraph_org.svg | 170 - d3/d84/word__break_8cpp_source.html | 258 ++ .../namespacestrassens__multiplication.html | 35 +- d3/d92/pancake__sort_8cpp.html | 135 +- ...8dca7b867074164d5f45b0f3851269d_cgraph.map | 11 - ...8dca7b867074164d5f45b0f3851269d_cgraph.md5 | 1 - ...8dca7b867074164d5f45b0f3851269d_cgraph.svg | 119 - ...7b867074164d5f45b0f3851269d_cgraph_org.svg | 93 - ...ff90bc0f54e4f8ea5f0330471781bd5_cgraph.map | 4 - ...ff90bc0f54e4f8ea5f0330471781bd5_cgraph.md5 | 1 - ...ff90bc0f54e4f8ea5f0330471781bd5_cgraph.svg | 57 - ...bc0f54e4f8ea5f0330471781bd5_cgraph_org.svg | 31 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 13 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 137 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 111 - d3/d92/pancake__sort_8cpp_source.html | 233 ++ ...__structures_1_1tree__234_1_1_tree234.html | 333 +- ...2df91964915ca97609d35f847faff5f_cgraph.map | 39 - ...2df91964915ca97609d35f847faff5f_cgraph.md5 | 1 - ...2df91964915ca97609d35f847faff5f_cgraph.svg | 443 --- ...1964915ca97609d35f847faff5f_cgraph_org.svg | 360 --- ...7811b3c564a3a443b106c9aa717629d_cgraph.map | 20 - ...7811b3c564a3a443b106c9aa717629d_cgraph.md5 | 1 - ...7811b3c564a3a443b106c9aa717629d_cgraph.svg | 265 -- ...b3c564a3a443b106c9aa717629d_cgraph_org.svg | 182 -- ...1f0d016dff7f7e62b3dddb9fdf47805_cgraph.map | 23 - ...1f0d016dff7f7e62b3dddb9fdf47805_cgraph.md5 | 1 - ...1f0d016dff7f7e62b3dddb9fdf47805_cgraph.svg | 294 -- ...016dff7f7e62b3dddb9fdf47805_cgraph_org.svg | 211 -- ...73511e84a5243ffffe81be28bd24855_cgraph.map | 8 - ...73511e84a5243ffffe81be28bd24855_cgraph.md5 | 1 - ...73511e84a5243ffffe81be28bd24855_cgraph.svg | 95 - ...1e84a5243ffffe81be28bd24855_cgraph_org.svg | 69 - ...e9a9db7792cf5383f4c4cc418255165_cgraph.map | 11 - ...e9a9db7792cf5383f4c4cc418255165_cgraph.md5 | 1 - ...e9a9db7792cf5383f4c4cc418255165_cgraph.svg | 121 - ...db7792cf5383f4c4cc418255165_cgraph_org.svg | 95 - ...6f4d5f603f7edb7db7c73fb53ba14e9_cgraph.map | 15 - ...6f4d5f603f7edb7db7c73fb53ba14e9_cgraph.md5 | 1 - ...6f4d5f603f7edb7db7c73fb53ba14e9_cgraph.svg | 162 - ...5f603f7edb7db7c73fb53ba14e9_cgraph_org.svg | 136 - ...da1be3f5b5d967ebb36a201f3ebad11_cgraph.map | 46 - ...da1be3f5b5d967ebb36a201f3ebad11_cgraph.md5 | 1 - ...da1be3f5b5d967ebb36a201f3ebad11_cgraph.svg | 511 --- ...e3f5b5d967ebb36a201f3ebad11_cgraph_org.svg | 428 --- ...1dd051a74e5f36c8dc03dae8dca6ef4_cgraph.map | 44 - ...1dd051a74e5f36c8dc03dae8dca6ef4_cgraph.md5 | 1 - ...1dd051a74e5f36c8dc03dae8dca6ef4_cgraph.svg | 492 --- ...51a74e5f36c8dc03dae8dca6ef4_cgraph_org.svg | 409 --- ...5a1235659356166a3e9b451c64fcc36_cgraph.map | 7 - ...5a1235659356166a3e9b451c64fcc36_cgraph.md5 | 1 - ...5a1235659356166a3e9b451c64fcc36_cgraph.svg | 86 - ...35659356166a3e9b451c64fcc36_cgraph_org.svg | 60 - ...749ebb40710c9752a2771eda03c6b3e_cgraph.map | 22 - ...749ebb40710c9752a2771eda03c6b3e_cgraph.md5 | 1 - ...749ebb40710c9752a2771eda03c6b3e_cgraph.svg | 284 -- ...bb40710c9752a2771eda03c6b3e_cgraph_org.svg | 201 -- ...4ab7b4fe7442b5e2eeed8c050bb86bd_cgraph.map | 6 - ...4ab7b4fe7442b5e2eeed8c050bb86bd_cgraph.md5 | 1 - ...4ab7b4fe7442b5e2eeed8c050bb86bd_cgraph.svg | 75 - ...b4fe7442b5e2eeed8c050bb86bd_cgraph_org.svg | 49 - ...36bb546e6a94d8b9d35b30ee1bb291a_cgraph.map | 8 - ...36bb546e6a94d8b9d35b30ee1bb291a_cgraph.md5 | 1 - ...36bb546e6a94d8b9d35b30ee1bb291a_cgraph.svg | 94 - ...546e6a94d8b9d35b30ee1bb291a_cgraph_org.svg | 68 - ...7e5e00033f38006a224f30bdbf3f703_cgraph.map | 24 - ...7e5e00033f38006a224f30bdbf3f703_cgraph.md5 | 1 - ...7e5e00033f38006a224f30bdbf3f703_cgraph.svg | 303 -- ...00033f38006a224f30bdbf3f703_cgraph_org.svg | 220 -- ...5361479dd996eb331759f33808657d9_cgraph.map | 7 - ...5361479dd996eb331759f33808657d9_cgraph.md5 | 1 - ...5361479dd996eb331759f33808657d9_cgraph.svg | 86 - ...479dd996eb331759f33808657d9_cgraph_org.svg | 60 - ...85ba5abfd6d34dcd908b2afe6464657_cgraph.map | 7 - ...85ba5abfd6d34dcd908b2afe6464657_cgraph.md5 | 1 - ...85ba5abfd6d34dcd908b2afe6464657_cgraph.svg | 86 - ...5abfd6d34dcd908b2afe6464657_cgraph_org.svg | 60 - ...37e29e2a4a6cc0eb65cbd5595e1da95_cgraph.map | 14 - ...37e29e2a4a6cc0eb65cbd5595e1da95_cgraph.md5 | 1 - ...37e29e2a4a6cc0eb65cbd5595e1da95_cgraph.svg | 209 -- ...9e2a4a6cc0eb65cbd5595e1da95_cgraph_org.svg | 126 - ...c0642d1d151521ca7c70ea85cdb15d3_cgraph.map | 7 - ...c0642d1d151521ca7c70ea85cdb15d3_cgraph.md5 | 1 - ...c0642d1d151521ca7c70ea85cdb15d3_cgraph.svg | 86 - ...2d1d151521ca7c70ea85cdb15d3_cgraph_org.svg | 60 - ...ork_1_1layers_1_1_dense_layer-members.html | 35 +- d3/d9c/class_longest___substring-members.html | 35 +- ...postfix__expression_1_1_stack-members.html | 35 +- d3/da1/namespacen__queens.html | 35 +- ...tatistics_1_1stats__computer2-members.html | 35 +- ...metry_1_1grahamscan_1_1_point-members.html | 35 +- ...classbinary__search__tree__coll__graph.map | 18 +- ...classbinary__search__tree__coll__graph.md5 | 2 +- ...classbinary__search__tree__coll__graph.svg | 71 +- ...sbinary__search__tree__coll__graph_org.svg | 71 +- ...__table_1_1_sparse__table__coll__graph.map | 14 +- ...__table_1_1_sparse__table__coll__graph.md5 | 2 +- ...__table_1_1_sparse__table__coll__graph.svg | 51 +- ...ble_1_1_sparse__table__coll__graph_org.svg | 51 +- d3/dae/dsu__path__compression_8cpp.html | 98 +- ...5d94ead4cf4e1ff9f87c38bc99f59ae_cgraph.map | 28 - ...5d94ead4cf4e1ff9f87c38bc99f59ae_cgraph.md5 | 1 - ...5d94ead4cf4e1ff9f87c38bc99f59ae_cgraph.svg | 272 -- ...ead4cf4e1ff9f87c38bc99f59ae_cgraph_org.svg | 246 -- ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 34 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 326 -- ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 300 -- ...7880ce913f3058a35ff106d5be9e243_cgraph.map | 28 - ...7880ce913f3058a35ff106d5be9e243_cgraph.md5 | 1 - ...7880ce913f3058a35ff106d5be9e243_cgraph.svg | 272 -- ...ce913f3058a35ff106d5be9e243_cgraph_org.svg | 246 -- .../dsu__path__compression_8cpp_source.html | 292 ++ d3/db0/namespacelinked__list.html | 35 +- d3/db2/boyer__moore_8cpp.html | 116 +- ...83bb8ccf42aaf7375a83e91490eda1e_cgraph.map | 36 - ...83bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 | 1 - ...83bb8ccf42aaf7375a83e91490eda1e_cgraph.svg | 406 --- ...8ccf42aaf7375a83e91490eda1e_cgraph_org.svg | 323 -- ...8fac0dd4b19973da103a434143a16d2_cgraph.map | 28 - ...8fac0dd4b19973da103a434143a16d2_cgraph.md5 | 1 - ...8fac0dd4b19973da103a434143a16d2_cgraph.svg | 277 -- ...0dd4b19973da103a434143a16d2_cgraph_org.svg | 251 -- ...b8f69e7901ee7459d98bd4b9dda79d9_cgraph.map | 28 - ...b8f69e7901ee7459d98bd4b9dda79d9_cgraph.md5 | 1 - ...b8f69e7901ee7459d98bd4b9dda79d9_cgraph.svg | 277 -- ...9e7901ee7459d98bd4b9dda79d9_cgraph_org.svg | 251 -- ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 38 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 424 --- ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 341 -- d3/db2/boyer__moore_8cpp_source.html | 334 ++ d3/db3/lru__cache_8cpp.html | 143 +- ...1ec21fc91ddafd964ae2035ba7892c0_cgraph.map | 28 - ...1ec21fc91ddafd964ae2035ba7892c0_cgraph.md5 | 1 - ...1ec21fc91ddafd964ae2035ba7892c0_cgraph.svg | 277 -- ...1fc91ddafd964ae2035ba7892c0_cgraph_org.svg | 251 -- ...4d21a345ed06f7fba6919718cf3e058_cgraph.map | 5 - ...4d21a345ed06f7fba6919718cf3e058_cgraph.md5 | 1 - ...4d21a345ed06f7fba6919718cf3e058_cgraph.svg | 65 - ...a345ed06f7fba6919718cf3e058_cgraph_org.svg | 39 - ...b02e288a407876a8d6024f98a2a25ec_cgraph.map | 28 - ...b02e288a407876a8d6024f98a2a25ec_cgraph.md5 | 1 - ...b02e288a407876a8d6024f98a2a25ec_cgraph.svg | 277 -- ...288a407876a8d6024f98a2a25ec_cgraph_org.svg | 251 -- ...401e8f2d41d8cc9cd0e52ab381608d4_cgraph.map | 28 - ...401e8f2d41d8cc9cd0e52ab381608d4_cgraph.md5 | 1 - ...401e8f2d41d8cc9cd0e52ab381608d4_cgraph.svg | 277 -- ...8f2d41d8cc9cd0e52ab381608d4_cgraph_org.svg | 251 -- ...a3be6d8871b1f5dc03688da8f3ee9e6_cgraph.map | 43 - ...a3be6d8871b1f5dc03688da8f3ee9e6_cgraph.md5 | 1 - ...a3be6d8871b1f5dc03688da8f3ee9e6_cgraph.svg | 469 --- ...6d8871b1f5dc03688da8f3ee9e6_cgraph_org.svg | 386 --- ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 32 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 314 -- ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 288 -- d3/db3/lru__cache_8cpp_source.html | 331 ++ d3/dbb/class_cycle_check.html | 113 +- ...f4485c08b45e7a21a2e86f9c3f01d8b_cgraph.map | 8 - ...f4485c08b45e7a21a2e86f9c3f01d8b_cgraph.md5 | 1 - ...f4485c08b45e7a21a2e86f9c3f01d8b_cgraph.svg | 92 - ...5c08b45e7a21a2e86f9c3f01d8b_cgraph_org.svg | 66 - ...99292a33edf87499daa52b51315aca5_cgraph.map | 11 - ...99292a33edf87499daa52b51315aca5_cgraph.md5 | 1 - ...99292a33edf87499daa52b51315aca5_cgraph.svg | 119 - ...2a33edf87499daa52b51315aca5_cgraph_org.svg | 93 - ...9a270ffba3a68539b92272c702e3474_cgraph.map | 10 - ...9a270ffba3a68539b92272c702e3474_cgraph.md5 | 1 - ...9a270ffba3a68539b92272c702e3474_cgraph.svg | 110 - ...0ffba3a68539b92272c702e3474_cgraph_org.svg | 84 - ...asshashing_1_1sha256_1_1_hash-members.html | 35 +- d3/dc1/bucket__sort_8cpp_source.html | 174 ++ d3/dc9/namespacefibonacci__sum.html | 35 +- ...edlist__implentation__usingarray_8cpp.html | 168 +- ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 9 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 101 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 75 - ...cb07da7984e20b3207934696791f5df_cgraph.map | 5 - ...cb07da7984e20b3207934696791f5df_cgraph.md5 | 1 - ...cb07da7984e20b3207934696791f5df_cgraph.svg | 65 - ...da7984e20b3207934696791f5df_cgraph_org.svg | 39 - ..._implentation__usingarray_8cpp_source.html | 248 ++ d3/dd7/md__c_o_d_e___o_f___c_o_n_d_u_c_t.html | 35 +- ..._light__decomposition_1_1_s_g-members.html | 35 +- ...tack__using__linked__list_8cpp_source.html | 206 ++ ...espaceshortest__common__supersequence.html | 35 +- ...e__check__directed__graph_8cpp_source.html | 385 +++ d3/df9/recursive__bubble__sort_8cpp.html | 120 +- ...8dca7b867074164d5f45b0f3851269d_cgraph.map | 18 - ...8dca7b867074164d5f45b0f3851269d_cgraph.md5 | 1 - ...8dca7b867074164d5f45b0f3851269d_cgraph.svg | 183 -- ...7b867074164d5f45b0f3851269d_cgraph_org.svg | 157 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 20 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 201 -- ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 175 -- .../recursive__bubble__sort_8cpp_source.html | 223 ++ ...ular__queue__using__array_8cpp_source.html | 197 ++ d3/dfe/horspool_8cpp.html | 130 +- ...a9c3aa55ccc79d0f47d50c580997336_cgraph.map | 16 - ...a9c3aa55ccc79d0f47d50c580997336_cgraph.md5 | 1 - ...a9c3aa55ccc79d0f47d50c580997336_cgraph.svg | 168 - ...aa55ccc79d0f47d50c580997336_cgraph_org.svg | 142 - ...884bca75ce39c116697ea2574adb37d_cgraph.map | 21 - ...884bca75ce39c116697ea2574adb37d_cgraph.md5 | 1 - ...884bca75ce39c116697ea2574adb37d_cgraph.svg | 214 -- ...ca75ce39c116697ea2574adb37d_cgraph_org.svg | 188 -- ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 5 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 65 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 39 - d3/dfe/horspool_8cpp_source.html | 239 ++ d3/dfe/perimeter_8cpp.html | 210 +- ...8dca7b867074164d5f45b0f3851269d_cgraph.map | 28 - ...8dca7b867074164d5f45b0f3851269d_cgraph.md5 | 1 - ...8dca7b867074164d5f45b0f3851269d_cgraph.svg | 276 -- ...7b867074164d5f45b0f3851269d_cgraph_org.svg | 250 -- ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 30 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 294 -- ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 268 -- d3/dfe/perimeter_8cpp_source.html | 382 +++ d4/d08/sha256_8cpp.html | 203 +- ...8c1c6724dc6bcf91a39818699bbec27_cgraph.map | 4 - ...8c1c6724dc6bcf91a39818699bbec27_cgraph.md5 | 1 - ...8c1c6724dc6bcf91a39818699bbec27_cgraph.svg | 57 - ...6724dc6bcf91a39818699bbec27_cgraph_org.svg | 31 - ...25531b3939ed44fbf01674e21931b3a_cgraph.map | 15 - ...25531b3939ed44fbf01674e21931b3a_cgraph.md5 | 1 - ...25531b3939ed44fbf01674e21931b3a_cgraph.svg | 158 - ...1b3939ed44fbf01674e21931b3a_cgraph_org.svg | 132 - ...5475649a2bb7aae15de0716a217f43a_cgraph.map | 32 - ...5475649a2bb7aae15de0716a217f43a_cgraph.md5 | 1 - ...5475649a2bb7aae15de0716a217f43a_cgraph.svg | 369 --- ...649a2bb7aae15de0716a217f43a_cgraph_org.svg | 286 -- ...e98c180d32b04aab6f767cb0c13e1da_cgraph.map | 9 - ...e98c180d32b04aab6f767cb0c13e1da_cgraph.md5 | 1 - ...e98c180d32b04aab6f767cb0c13e1da_cgraph.svg | 102 - ...180d32b04aab6f767cb0c13e1da_cgraph_org.svg | 76 - ...bcd504103c342a4da718f8fce6ff06c_cgraph.map | 4 - ...bcd504103c342a4da718f8fce6ff06c_cgraph.md5 | 1 - ...bcd504103c342a4da718f8fce6ff06c_cgraph.svg | 57 - ...04103c342a4da718f8fce6ff06c_cgraph_org.svg | 31 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 7 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 83 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 57 - ...ea411191ec5281f43e91ea327984627_cgraph.map | 4 - ...ea411191ec5281f43e91ea327984627_cgraph.md5 | 1 - ...ea411191ec5281f43e91ea327984627_cgraph.svg | 56 - ...1191ec5281f43e91ea327984627_cgraph_org.svg | 30 - d4/d08/sha256_8cpp_source.html | 425 +++ ...__structures_1_1linked__list_1_1_node.html | 84 +- d4/d0f/namespacegram__schmidt.html | 35 +- d4/d12/namespace_minimum.html | 35 +- d4/d13/namespacebidirectional__dijkstra.html | 35 +- d4/d18/composite__simpson__rule_8cpp.html | 183 +- ...b74d828b33760094906797042b89442_cgraph.map | 8 - ...b74d828b33760094906797042b89442_cgraph.md5 | 1 - ...b74d828b33760094906797042b89442_cgraph.svg | 93 - ...828b33760094906797042b89442_cgraph_org.svg | 67 - ...ae48a41e43dc6ab11b962742349646e_cgraph.map | 7 - ...ae48a41e43dc6ab11b962742349646e_cgraph.md5 | 1 - ...ae48a41e43dc6ab11b962742349646e_cgraph.svg | 83 - ...a41e43dc6ab11b962742349646e_cgraph_org.svg | 57 - ...f67508d5f392b0321772169342c98ad_cgraph.map | 8 - ...f67508d5f392b0321772169342c98ad_cgraph.md5 | 1 - ...f67508d5f392b0321772169342c98ad_cgraph.svg | 93 - ...08d5f392b0321772169342c98ad_cgraph_org.svg | 67 - ...c04138a5bfe5d72780bb7e82a18e627_cgraph.map | 24 - ...c04138a5bfe5d72780bb7e82a18e627_cgraph.md5 | 1 - ...c04138a5bfe5d72780bb7e82a18e627_cgraph.svg | 295 -- ...38a5bfe5d72780bb7e82a18e627_cgraph_org.svg | 212 -- ...251b4df4748a0b9c43a48f61bdd2397_cgraph.map | 8 - ...251b4df4748a0b9c43a48f61bdd2397_cgraph.md5 | 1 - ...251b4df4748a0b9c43a48f61bdd2397_cgraph.svg | 93 - ...4df4748a0b9c43a48f61bdd2397_cgraph_org.svg | 67 - ...d8df83a6f26ce24a75d3b358b7f5b8a_cgraph.map | 6 - ...d8df83a6f26ce24a75d3b358b7f5b8a_cgraph.md5 | 1 - ...d8df83a6f26ce24a75d3b358b7f5b8a_cgraph.svg | 75 - ...83a6f26ce24a75d3b358b7f5b8a_cgraph_org.svg | 49 - .../composite__simpson__rule_8cpp_source.html | 277 ++ d4/d1c/namespacehamming__distance.html | 35 +- d4/d1e/class_r_btree-members.html | 35 +- d4/d1f/class_min_heap-members.html | 35 +- d4/d21/least__common__multiple_8cpp.html | 97 +- ...8ec9ad42717780d6caaff9d3d6977f9_cgraph.map | 10 - ...8ec9ad42717780d6caaff9d3d6977f9_cgraph.md5 | 1 - ...8ec9ad42717780d6caaff9d3d6977f9_cgraph.svg | 110 - ...ad42717780d6caaff9d3d6977f9_cgraph_org.svg | 84 - ...ba1fc66e4134ab25b2602b323150563_cgraph.map | 4 - ...ba1fc66e4134ab25b2602b323150563_cgraph.md5 | 1 - ...ba1fc66e4134ab25b2602b323150563_cgraph.svg | 56 - ...c66e4134ab25b2602b323150563_cgraph_org.svg | 30 - ...8d0e241db517813725e721a152e3a25_cgraph.map | 6 - ...8d0e241db517813725e721a152e3a25_cgraph.md5 | 1 - ...8d0e241db517813725e721a152e3a25_cgraph.svg | 74 - ...241db517813725e721a152e3a25_cgraph_org.svg | 48 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 12 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 128 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 102 - .../least__common__multiple_8cpp_source.html | 208 ++ ...struct_trie_1_1_trie_node__coll__graph.map | 2 +- ...struct_trie_1_1_trie_node__coll__graph.md5 | 2 +- ...struct_trie_1_1_trie_node__coll__graph.svg | 2 +- ...ct_trie_1_1_trie_node__coll__graph_org.svg | 2 +- d4/d32/fibonacci__fast_8cpp.html | 62 +- ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 7 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 83 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 57 - d4/d32/fibonacci__fast_8cpp_source.html | 177 ++ d4/d32/inorder__successor__of__bst_8cpp.html | 220 +- ...5fe8a029e155c43e4efa598d4d089d9_cgraph.map | 4 - ...5fe8a029e155c43e4efa598d4d089d9_cgraph.md5 | 1 - ...5fe8a029e155c43e4efa598d4d089d9_cgraph.svg | 58 - ...a029e155c43e4efa598d4d089d9_cgraph_org.svg | 32 - ...ddf1224851353fc92bfbff6f499fa97_cgraph.map | 25 - ...ddf1224851353fc92bfbff6f499fa97_cgraph.md5 | 1 - ...ddf1224851353fc92bfbff6f499fa97_cgraph.svg | 302 -- ...224851353fc92bfbff6f499fa97_cgraph_org.svg | 219 -- ...923fb22b46e085376703cae0b44d690_cgraph.map | 10 - ...923fb22b46e085376703cae0b44d690_cgraph.md5 | 1 - ...923fb22b46e085376703cae0b44d690_cgraph.svg | 116 - ...b22b46e085376703cae0b44d690_cgraph_org.svg | 90 - ...ae0bea4123fd2ce155108e88f2ef78c_cgraph.map | 6 - ...ae0bea4123fd2ce155108e88f2ef78c_cgraph.md5 | 1 - ...ae0bea4123fd2ce155108e88f2ef78c_cgraph.svg | 78 - ...ea4123fd2ce155108e88f2ef78c_cgraph_org.svg | 52 - ...d7266b934ca50c4f53e4f1e725d89a4_cgraph.map | 4 - ...d7266b934ca50c4f53e4f1e725d89a4_cgraph.md5 | 1 - ...d7266b934ca50c4f53e4f1e725d89a4_cgraph.svg | 58 - ...6b934ca50c4f53e4f1e725d89a4_cgraph_org.svg | 32 - ...2483e3f6933e004a8d86371e8a990db_cgraph.map | 4 - ...2483e3f6933e004a8d86371e8a990db_cgraph.md5 | 1 - ...2483e3f6933e004a8d86371e8a990db_cgraph.svg | 58 - ...e3f6933e004a8d86371e8a990db_cgraph_org.svg | 32 - ...b20eb99272665c1777949e26ab59589_cgraph.map | 4 - ...b20eb99272665c1777949e26ab59589_cgraph.md5 | 1 - ...b20eb99272665c1777949e26ab59589_cgraph.svg | 58 - ...b99272665c1777949e26ab59589_cgraph_org.svg | 32 - ...f6f73a33beec448c27cc1d70b220702_cgraph.map | 4 - ...f6f73a33beec448c27cc1d70b220702_cgraph.md5 | 1 - ...f6f73a33beec448c27cc1d70b220702_cgraph.svg | 58 - ...3a33beec448c27cc1d70b220702_cgraph_org.svg | 32 - ...24cbf1814854824cf05f062eea07b95_cgraph.map | 4 - ...24cbf1814854824cf05f062eea07b95_cgraph.md5 | 1 - ...24cbf1814854824cf05f062eea07b95_cgraph.svg | 58 - ...f1814854824cf05f062eea07b95_cgraph_org.svg | 32 - ...8dca7b867074164d5f45b0f3851269d_cgraph.map | 22 - ...8dca7b867074164d5f45b0f3851269d_cgraph.md5 | 1 - ...8dca7b867074164d5f45b0f3851269d_cgraph.svg | 275 -- ...7b867074164d5f45b0f3851269d_cgraph_org.svg | 192 -- ...order__successor__of__bst_8cpp_source.html | 479 +++ d4/d38/namespacecount__bits__flip.html | 35 +- d4/d38/power__of__two_8cpp.html | 118 +- ...8dca7b867074164d5f45b0f3851269d_cgraph.map | 5 - ...8dca7b867074164d5f45b0f3851269d_cgraph.md5 | 1 - ...8dca7b867074164d5f45b0f3851269d_cgraph.svg | 65 - ...7b867074164d5f45b0f3851269d_cgraph_org.svg | 39 - ...fd6be45be425ae28c62ce3bfb4b40dc_cgraph.map | 7 - ...fd6be45be425ae28c62ce3bfb4b40dc_cgraph.md5 | 1 - ...fd6be45be425ae28c62ce3bfb4b40dc_cgraph.svg | 83 - ...e45be425ae28c62ce3bfb4b40dc_cgraph_org.svg | 57 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 7 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 83 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 57 - d4/d38/power__of__two_8cpp_source.html | 206 ++ d4/d39/group__open__addressing.html | 35 +- d4/d3e/k__nearest__neighbors_8cpp.html | 148 +- ...ddf1224851353fc92bfbff6f499fa97_cgraph.map | 7 - ...ddf1224851353fc92bfbff6f499fa97_cgraph.md5 | 1 - ...ddf1224851353fc92bfbff6f499fa97_cgraph.svg | 83 - ...224851353fc92bfbff6f499fa97_cgraph_org.svg | 57 - ...8dca7b867074164d5f45b0f3851269d_cgraph.map | 5 - ...8dca7b867074164d5f45b0f3851269d_cgraph.md5 | 1 - ...8dca7b867074164d5f45b0f3851269d_cgraph.svg | 65 - ...7b867074164d5f45b0f3851269d_cgraph_org.svg | 39 - ...6ae16e50bb153ebaa7251d0aaa97b69_cgraph.map | 18 - ...6ae16e50bb153ebaa7251d0aaa97b69_cgraph.md5 | 1 - ...6ae16e50bb153ebaa7251d0aaa97b69_cgraph.svg | 185 -- ...6e50bb153ebaa7251d0aaa97b69_cgraph_org.svg | 159 - d4/d3e/k__nearest__neighbors_8cpp_source.html | 289 ++ d4/d3e/n__queens_8cpp.html | 82 +- ...dbd7af47d87f0b956609fe9e3288ecb_cgraph.map | 4 - ...dbd7af47d87f0b956609fe9e3288ecb_cgraph.md5 | 1 - ...dbd7af47d87f0b956609fe9e3288ecb_cgraph.svg | 57 - ...af47d87f0b956609fe9e3288ecb_cgraph_org.svg | 31 - d4/d3e/n__queens_8cpp_source.html | 228 ++ d4/d45/gcd__recursive__euclidean_8cpp.html | 78 +- ...48807fa2b7000afae599e67f327545e_cgraph.map | 4 - ...48807fa2b7000afae599e67f327545e_cgraph.md5 | 1 - ...48807fa2b7000afae599e67f327545e_cgraph.svg | 56 - ...7fa2b7000afae599e67f327545e_cgraph_org.svg | 30 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 8 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 92 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 66 - ...gcd__recursive__euclidean_8cpp_source.html | 182 ++ d4/d48/hamming__distance_8cpp.html | 100 +- ...0ba9fe8b5df5c268f0c7d677ff2fe80_cgraph.map | 5 - ...0ba9fe8b5df5c268f0c7d677ff2fe80_cgraph.md5 | 1 - ...0ba9fe8b5df5c268f0c7d677ff2fe80_cgraph.svg | 66 - ...fe8b5df5c268f0c7d677ff2fe80_cgraph_org.svg | 40 - ...5d845df3fecff7087a2126c7b72030b_cgraph.map | 4 - ...5d845df3fecff7087a2126c7b72030b_cgraph.md5 | 1 - ...5d845df3fecff7087a2126c7b72030b_cgraph.svg | 57 - ...5df3fecff7087a2126c7b72030b_cgraph_org.svg | 31 - ...fe6fbb2f3460a2623c96f283178a07a_cgraph.map | 6 - ...fe6fbb2f3460a2623c96f283178a07a_cgraph.md5 | 1 - ...fe6fbb2f3460a2623c96f283178a07a_cgraph.svg | 76 - ...bb2f3460a2623c96f283178a07a_cgraph_org.svg | 50 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 7 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 83 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 57 - d4/d48/hamming__distance_8cpp_source.html | 211 ++ d4/d4f/stooge__sort_8cpp.html | 135 +- ...283886819c7c140a023582b7269e2d0_cgraph.map | 16 - ...283886819c7c140a023582b7269e2d0_cgraph.md5 | 1 - ...283886819c7c140a023582b7269e2d0_cgraph.svg | 164 - ...86819c7c140a023582b7269e2d0_cgraph_org.svg | 138 - ...440a7779ac56f47a3f355ce4a8c7da0_cgraph.map | 16 - ...440a7779ac56f47a3f355ce4a8c7da0_cgraph.md5 | 1 - ...440a7779ac56f47a3f355ce4a8c7da0_cgraph.svg | 164 - ...7779ac56f47a3f355ce4a8c7da0_cgraph_org.svg | 138 - ...d0455dd5c30adda100e95f0423c786e_cgraph.map | 16 - ...d0455dd5c30adda100e95f0423c786e_cgraph.md5 | 1 - ...d0455dd5c30adda100e95f0423c786e_cgraph.svg | 164 - ...5dd5c30adda100e95f0423c786e_cgraph_org.svg | 138 - ...23852832437dc68327efe9b1da2d91b_cgraph.map | 6 - ...23852832437dc68327efe9b1da2d91b_cgraph.md5 | 1 - ...23852832437dc68327efe9b1da2d91b_cgraph.svg | 74 - ...2832437dc68327efe9b1da2d91b_cgraph_org.svg | 48 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 32 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 308 -- ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 282 -- d4/d4f/stooge__sort_8cpp_source.html | 199 ++ ...1_1_cache_1_1_l_f_u_cache__coll__graph.map | 8 +- ...1_1_cache_1_1_l_f_u_cache__coll__graph.md5 | 2 +- ...1_1_cache_1_1_l_f_u_cache__coll__graph.svg | 8 +- ...cache_1_1_l_f_u_cache__coll__graph_org.svg | 8 +- d4/d68/qr__decompose_8h.html | 49 +- d4/d68/qr__decompose_8h_source.html | 186 +- ...oruvkas__minimum__spanning__tree_8cpp.html | 146 +- ...311b22324cf09926726e4ce1309af8b_cgraph.map | 6 - ...311b22324cf09926726e4ce1309af8b_cgraph.md5 | 1 - ...311b22324cf09926726e4ce1309af8b_cgraph.svg | 76 - ...22324cf09926726e4ce1309af8b_cgraph_org.svg | 50 - ...83bb8ccf42aaf7375a83e91490eda1e_cgraph.map | 5 - ...83bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 | 1 - ...83bb8ccf42aaf7375a83e91490eda1e_cgraph.svg | 65 - ...8ccf42aaf7375a83e91490eda1e_cgraph_org.svg | 39 - ...4c615fc66b72e0adbcbcb99aabb1a59_cgraph.map | 11 - ...4c615fc66b72e0adbcbcb99aabb1a59_cgraph.md5 | 1 - ...4c615fc66b72e0adbcbcb99aabb1a59_cgraph.svg | 123 - ...5fc66b72e0adbcbcb99aabb1a59_cgraph_org.svg | 97 - ...5de0f5e70e83164dbd1b4c515565e84_cgraph.map | 4 - ...5de0f5e70e83164dbd1b4c515565e84_cgraph.md5 | 1 - ...5de0f5e70e83164dbd1b4c515565e84_cgraph.svg | 58 - ...f5e70e83164dbd1b4c515565e84_cgraph_org.svg | 32 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 7 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 83 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 57 - ...__minimum__spanning__tree_8cpp_source.html | 326 ++ d4/d7a/shell__sort2_8cpp.html | 192 +- ...ddf1224851353fc92bfbff6f499fa97_cgraph.map | 34 - ...ddf1224851353fc92bfbff6f499fa97_cgraph.md5 | 1 - ...ddf1224851353fc92bfbff6f499fa97_cgraph.svg | 326 -- ...224851353fc92bfbff6f499fa97_cgraph_org.svg | 300 -- ...2ea0d1f7943ebb4371d31e44b465b6d_cgraph.map | 9 - ...2ea0d1f7943ebb4371d31e44b465b6d_cgraph.md5 | 1 - ...2ea0d1f7943ebb4371d31e44b465b6d_cgraph.svg | 101 - ...d1f7943ebb4371d31e44b465b6d_cgraph_org.svg | 75 - ...3aaff7cabfa3da2da8b9477b5fad9d6_cgraph.map | 7 - ...3aaff7cabfa3da2da8b9477b5fad9d6_cgraph.md5 | 1 - ...3aaff7cabfa3da2da8b9477b5fad9d6_cgraph.svg | 83 - ...f7cabfa3da2da8b9477b5fad9d6_cgraph_org.svg | 57 - ...95b313cb2671e8f712040460325573e_cgraph.map | 9 - ...95b313cb2671e8f712040460325573e_cgraph.md5 | 1 - ...95b313cb2671e8f712040460325573e_cgraph.svg | 101 - ...13cb2671e8f712040460325573e_cgraph_org.svg | 75 - ...51127aea9d7e1e53ea9ae0868633246_cgraph.map | 5 - ...51127aea9d7e1e53ea9ae0868633246_cgraph.md5 | 1 - ...51127aea9d7e1e53ea9ae0868633246_cgraph.svg | 65 - ...7aea9d7e1e53ea9ae0868633246_cgraph_org.svg | 39 - d4/d7a/shell__sort2_8cpp_source.html | 362 +++ d4/d83/sum__of__digits_8cpp.html | 93 +- ...283886819c7c140a023582b7269e2d0_cgraph.map | 5 - ...283886819c7c140a023582b7269e2d0_cgraph.md5 | 1 - ...283886819c7c140a023582b7269e2d0_cgraph.svg | 65 - ...86819c7c140a023582b7269e2d0_cgraph_org.svg | 39 - ...440a7779ac56f47a3f355ce4a8c7da0_cgraph.map | 5 - ...440a7779ac56f47a3f355ce4a8c7da0_cgraph.md5 | 1 - ...440a7779ac56f47a3f355ce4a8c7da0_cgraph.svg | 65 - ...7779ac56f47a3f355ce4a8c7da0_cgraph_org.svg | 39 - ...1a3968e7947464bee7714f6d43b7002_cgraph.map | 10 - ...1a3968e7947464bee7714f6d43b7002_cgraph.md5 | 1 - ...1a3968e7947464bee7714f6d43b7002_cgraph.svg | 110 - ...68e7947464bee7714f6d43b7002_cgraph_org.svg | 84 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 14 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 146 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 120 - d4/d83/sum__of__digits_8cpp_source.html | 191 ++ d4/d86/large__number_8h.html | 37 +- d4/d86/large__number_8h_source.html | 247 +- d4/d8b/gray__code_8cpp_source.html | 220 ++ d4/d8d/jarvis__algorithm_8cpp.html | 78 +- ...8dca7b867074164d5f45b0f3851269d_cgraph.map | 11 - ...8dca7b867074164d5f45b0f3851269d_cgraph.md5 | 1 - ...8dca7b867074164d5f45b0f3851269d_cgraph.svg | 121 - ...7b867074164d5f45b0f3851269d_cgraph_org.svg | 95 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 13 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 139 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 113 - d4/d8d/jarvis__algorithm_8cpp_source.html | 266 ++ ...lesman__using__bit__manipulation_8cpp.html | 121 +- ...8dca7b867074164d5f45b0f3851269d_cgraph.map | 5 - ...8dca7b867074164d5f45b0f3851269d_cgraph.md5 | 1 - ...8dca7b867074164d5f45b0f3851269d_cgraph.svg | 65 - ...7b867074164d5f45b0f3851269d_cgraph_org.svg | 39 - ...08f082be02c3437c2fe89cb035fcee1_cgraph.map | 6 - ...08f082be02c3437c2fe89cb035fcee1_cgraph.md5 | 1 - ...08f082be02c3437c2fe89cb035fcee1_cgraph.svg | 77 - ...82be02c3437c2fe89cb035fcee1_cgraph_org.svg | 51 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 7 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 83 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 57 - ..._using__bit__manipulation_8cpp_source.html | 240 ++ .../classdata__structures_1_1_skip_list.html | 221 +- ...0a4042bdf0b6683b5f21ae7854de8a9_cgraph.map | 16 - ...0a4042bdf0b6683b5f21ae7854de8a9_cgraph.md5 | 1 - ...0a4042bdf0b6683b5f21ae7854de8a9_cgraph.svg | 166 - ...42bdf0b6683b5f21ae7854de8a9_cgraph_org.svg | 140 - ...ffc3688725b9d1ec6e5bb881a6e2ae4_cgraph.map | 5 - ...ffc3688725b9d1ec6e5bb881a6e2ae4_cgraph.md5 | 1 - ...ffc3688725b9d1ec6e5bb881a6e2ae4_cgraph.svg | 66 - ...688725b9d1ec6e5bb881a6e2ae4_cgraph_org.svg | 40 - ...12611f80b8079268dbb19cc4e9bee5c_cgraph.map | 5 - ...12611f80b8079268dbb19cc4e9bee5c_cgraph.md5 | 1 - ...12611f80b8079268dbb19cc4e9bee5c_cgraph.svg | 66 - ...1f80b8079268dbb19cc4e9bee5c_cgraph_org.svg | 40 - ...6925c53e139cc6c3f7df1e9003bb0b0_cgraph.map | 10 - ...6925c53e139cc6c3f7df1e9003bb0b0_cgraph.md5 | 1 - ...6925c53e139cc6c3f7df1e9003bb0b0_cgraph.svg | 111 - ...c53e139cc6c3f7df1e9003bb0b0_cgraph_org.svg | 85 - ...3f3813e9896792fc86b296547689ba4_cgraph.map | 5 - ...3f3813e9896792fc86b296547689ba4_cgraph.md5 | 1 - ...3f3813e9896792fc86b296547689ba4_cgraph.svg | 66 - ...13e9896792fc86b296547689ba4_cgraph_org.svg | 40 - ...2f3d4e15b1f47afac849c2e08a730f4_cgraph.map | 5 - ...2f3d4e15b1f47afac849c2e08a730f4_cgraph.md5 | 1 - ...2f3d4e15b1f47afac849c2e08a730f4_cgraph.svg | 66 - ...4e15b1f47afac849c2e08a730f4_cgraph_org.svg | 40 - d4/d91/namespacevector__cross.html | 35 +- ...ta__structures_1_1_bitset__coll__graph.map | 9 +- ...ta__structures_1_1_bitset__coll__graph.md5 | 2 +- ...ta__structures_1_1_bitset__coll__graph.svg | 51 +- ...structures_1_1_bitset__coll__graph_org.svg | 51 +- d4/d9c/primes__up__to__billion_8cpp.html | 69 +- ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 5 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 65 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 39 - .../primes__up__to__billion_8cpp_source.html | 173 ++ .../sum__of__binomial__coefficient_8cpp.html | 75 +- ...8dca7b867074164d5f45b0f3851269d_cgraph.map | 7 - ...8dca7b867074164d5f45b0f3851269d_cgraph.md5 | 1 - ...8dca7b867074164d5f45b0f3851269d_cgraph.svg | 83 - ...7b867074164d5f45b0f3851269d_cgraph_org.svg | 57 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 9 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 101 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 75 - ...of__binomial__coefficient_8cpp_source.html | 186 ++ d4/d9f/selection__sort__recursive_8cpp.html | 137 +- ...454eeb691725ccac0f59df1e133f834_cgraph.map | 6 - ...454eeb691725ccac0f59df1e133f834_cgraph.md5 | 1 - ...454eeb691725ccac0f59df1e133f834_cgraph.svg | 75 - ...eb691725ccac0f59df1e133f834_cgraph_org.svg | 49 - ...8dca7b867074164d5f45b0f3851269d_cgraph.map | 11 - ...8dca7b867074164d5f45b0f3851269d_cgraph.md5 | 1 - ...8dca7b867074164d5f45b0f3851269d_cgraph.svg | 119 - ...7b867074164d5f45b0f3851269d_cgraph_org.svg | 93 - ...6f7b33a070e376e1f4374e534435e89_cgraph.map | 8 - ...6f7b33a070e376e1f4374e534435e89_cgraph.md5 | 1 - ...6f7b33a070e376e1f4374e534435e89_cgraph.svg | 94 - ...33a070e376e1f4374e534435e89_cgraph_org.svg | 68 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 13 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 137 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 111 - ...election__sort__recursive_8cpp_source.html | 224 ++ d4/da0/gcd__iterative__euclidean_8cpp.html | 71 +- ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 7 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 83 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 57 - ...gcd__iterative__euclidean_8cpp_source.html | 188 ++ d4/da0/kadane_8cpp.html | 74 +- ...3029007a422a914a85c0b0122f1c7b4_cgraph.map | 6 - ...3029007a422a914a85c0b0122f1c7b4_cgraph.md5 | 1 - ...3029007a422a914a85c0b0122f1c7b4_cgraph.svg | 75 - ...007a422a914a85c0b0122f1c7b4_cgraph_org.svg | 49 - d4/da0/kadane_8cpp_source.html | 181 ++ d4/db4/struct_segment_intersection.html | 68 +- ...08941b2272866c64cdaf959afa939bf_cgraph.map | 7 - ...08941b2272866c64cdaf959afa939bf_cgraph.md5 | 1 - ...08941b2272866c64cdaf959afa939bf_cgraph.svg | 84 - ...1b2272866c64cdaf959afa939bf_cgraph_org.svg | 58 - d4/db6/reverse__binary__tree_8cpp.html | 77 +- ...8dca7b867074164d5f45b0f3851269d_cgraph.map | 9 - ...8dca7b867074164d5f45b0f3851269d_cgraph.md5 | 1 - ...8dca7b867074164d5f45b0f3851269d_cgraph.svg | 101 - ...7b867074164d5f45b0f3851269d_cgraph_org.svg | 75 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 11 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 119 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 93 - d4/db6/reverse__binary__tree_8cpp_source.html | 359 +++ d4/db6/struct_min_heap_node-members.html | 35 +- ...__without__repeating__characters_8cpp.html | 69 +- ...83bb8ccf42aaf7375a83e91490eda1e_cgraph.map | 16 - ...83bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 | 1 - ...83bb8ccf42aaf7375a83e91490eda1e_cgraph.svg | 165 - ...8ccf42aaf7375a83e91490eda1e_cgraph_org.svg | 139 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 18 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 183 -- ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 157 - ...ut__repeating__characters_8cpp_source.html | 217 ++ d4/db9/namespacencr__modulo__p.html | 35 +- d4/dcb/classstack__coll__graph.map | 24 +- d4/dcb/classstack__coll__graph.md5 | 2 +- d4/dcb/classstack__coll__graph.svg | 87 +- d4/dcb/classstack__coll__graph_org.svg | 87 +- d4/dcd/namespacecircular__linked__list.html | 35 +- d4/dd2/namespacequadratic__probing.html | 308 +- ...0ebcc6d39653eccc26f8432efbfc8d9_cgraph.map | 21 - ...0ebcc6d39653eccc26f8432efbfc8d9_cgraph.md5 | 1 - ...0ebcc6d39653eccc26f8432efbfc8d9_cgraph.svg | 214 -- ...c6d39653eccc26f8432efbfc8d9_cgraph_org.svg | 188 -- ...7a0467b24102260fbb6b554c453c20a_cgraph.map | 18 - ...7a0467b24102260fbb6b554c453c20a_cgraph.md5 | 1 - ...7a0467b24102260fbb6b554c453c20a_cgraph.svg | 187 -- ...67b24102260fbb6b554c453c20a_cgraph_org.svg | 161 - ...12143ed316d48978084c025ff8d9768_cgraph.map | 28 - ...12143ed316d48978084c025ff8d9768_cgraph.md5 | 1 - ...12143ed316d48978084c025ff8d9768_cgraph.svg | 336 -- ...3ed316d48978084c025ff8d9768_cgraph_org.svg | 253 -- ...0d617ebf4d6ba21bcda8d8d1faa2357_cgraph.map | 5 - ...0d617ebf4d6ba21bcda8d8d1faa2357_cgraph.md5 | 1 - ...0d617ebf4d6ba21bcda8d8d1faa2357_cgraph.svg | 66 - ...7ebf4d6ba21bcda8d8d1faa2357_cgraph_org.svg | 40 - ...ceee4128d92ca4412040b7104d1299d_cgraph.map | 17 - ...ceee4128d92ca4412040b7104d1299d_cgraph.md5 | 1 - ...ceee4128d92ca4412040b7104d1299d_cgraph.svg | 177 -- ...4128d92ca4412040b7104d1299d_cgraph_org.svg | 151 - ...9fe1f7c36fe004ba83eef2ca82e7e30_cgraph.map | 25 - ...9fe1f7c36fe004ba83eef2ca82e7e30_cgraph.md5 | 1 - ...9fe1f7c36fe004ba83eef2ca82e7e30_cgraph.svg | 309 -- ...f7c36fe004ba83eef2ca82e7e30_cgraph_org.svg | 226 -- ...431981b54c0bae1b2956f716aee1dcf_cgraph.map | 15 - ...431981b54c0bae1b2956f716aee1dcf_cgraph.md5 | 1 - ...431981b54c0bae1b2956f716aee1dcf_cgraph.svg | 159 - ...81b54c0bae1b2956f716aee1dcf_cgraph_org.svg | 133 - ...a6f1f44f7e83b0094fbcbe170788486_cgraph.map | 21 - ...a6f1f44f7e83b0094fbcbe170788486_cgraph.md5 | 1 - ...a6f1f44f7e83b0094fbcbe170788486_cgraph.svg | 271 -- ...f44f7e83b0094fbcbe170788486_cgraph_org.svg | 188 -- ...lassgeometry_1_1jarvis_1_1_convexhull.html | 132 +- ...306e48040a8570e164c58d1c530f870_cgraph.map | 5 - ...306e48040a8570e164c58d1c530f870_cgraph.md5 | 1 - ...306e48040a8570e164c58d1c530f870_cgraph.svg | 66 - ...48040a8570e164c58d1c530f870_cgraph_org.svg | 40 - ...ec46e86786ddd461464b07a77c4d5f1_cgraph.map | 7 - ...ec46e86786ddd461464b07a77c4d5f1_cgraph.md5 | 1 - ...ec46e86786ddd461464b07a77c4d5f1_cgraph.svg | 85 - ...e86786ddd461464b07a77c4d5f1_cgraph_org.svg | 59 - d4/de6/namespacepostfix__expression.html | 35 +- ...ashing_1_1sha256_1_1_hash__coll__graph.map | 8 +- ...ashing_1_1sha256_1_1_hash__coll__graph.md5 | 2 +- ...ashing_1_1sha256_1_1_hash__coll__graph.svg | 27 +- ...ng_1_1sha256_1_1_hash__coll__graph_org.svg | 27 +- d4/ded/namespaceprobability.html | 39 +- d4/def/kohonen__som__topology_8cpp.html | 268 +- ...283886819c7c140a023582b7269e2d0_cgraph.map | 23 - ...283886819c7c140a023582b7269e2d0_cgraph.md5 | 1 - ...283886819c7c140a023582b7269e2d0_cgraph.svg | 227 -- ...86819c7c140a023582b7269e2d0_cgraph_org.svg | 201 -- ...302662a56ebf67a21249270b017297e_cgraph.map | 8 - ...302662a56ebf67a21249270b017297e_cgraph.md5 | 1 - ...302662a56ebf67a21249270b017297e_cgraph.svg | 92 - ...62a56ebf67a21249270b017297e_cgraph_org.svg | 66 - ...440a7779ac56f47a3f355ce4a8c7da0_cgraph.map | 23 - ...440a7779ac56f47a3f355ce4a8c7da0_cgraph.md5 | 1 - ...440a7779ac56f47a3f355ce4a8c7da0_cgraph.svg | 227 -- ...7779ac56f47a3f355ce4a8c7da0_cgraph_org.svg | 201 -- ...c04138a5bfe5d72780bb7e82a18e627_cgraph.map | 51 - ...c04138a5bfe5d72780bb7e82a18e627_cgraph.md5 | 1 - ...c04138a5bfe5d72780bb7e82a18e627_cgraph.svg | 536 ---- ...38a5bfe5d72780bb7e82a18e627_cgraph_org.svg | 453 --- ...8efb079040c7aaa3a4917a0e486cba9_cgraph.map | 8 - ...8efb079040c7aaa3a4917a0e486cba9_cgraph.md5 | 1 - ...8efb079040c7aaa3a4917a0e486cba9_cgraph.svg | 92 - ...079040c7aaa3a4917a0e486cba9_cgraph_org.svg | 66 - ...b7ab643f6a5002f991837de46f70653_cgraph.map | 8 - ...b7ab643f6a5002f991837de46f70653_cgraph.md5 | 1 - ...b7ab643f6a5002f991837de46f70653_cgraph.svg | 92 - ...643f6a5002f991837de46f70653_cgraph_org.svg | 66 - ...d0455dd5c30adda100e95f0423c786e_cgraph.map | 23 - ...d0455dd5c30adda100e95f0423c786e_cgraph.md5 | 1 - ...d0455dd5c30adda100e95f0423c786e_cgraph.svg | 227 -- ...5dd5c30adda100e95f0423c786e_cgraph_org.svg | 201 -- .../kohonen__som__topology_8cpp_source.html | 651 ++++ ...gest__common__subsequence_8cpp_source.html | 204 ++ ...1_1neural__network_1_1_neural_network.html | 601 ++-- ...be1b52bb9f57486f9a436f35c9089c0_cgraph.map | 77 - ...be1b52bb9f57486f9a436f35c9089c0_cgraph.md5 | 1 - ...be1b52bb9f57486f9a436f35c9089c0_cgraph.svg | 780 ----- ...52bb9f57486f9a436f35c9089c0_cgraph_org.svg | 697 ----- ...61a45f3c3d8347d79103bf182d0570b_cgraph.map | 21 - ...61a45f3c3d8347d79103bf182d0570b_cgraph.md5 | 1 - ...61a45f3c3d8347d79103bf182d0570b_cgraph.svg | 270 -- ...5f3c3d8347d79103bf182d0570b_cgraph_org.svg | 187 -- ...6494e26ff36d6e15c1022bb9a1ee848_cgraph.map | 82 - ...6494e26ff36d6e15c1022bb9a1ee848_cgraph.md5 | 1 - ...6494e26ff36d6e15c1022bb9a1ee848_cgraph.svg | 830 ----- ...e26ff36d6e15c1022bb9a1ee848_cgraph_org.svg | 747 ----- ...b9eac1824d365dce715fb17c33cb96f_cgraph.map | 23 - ...b9eac1824d365dce715fb17c33cb96f_cgraph.md5 | 1 - ...b9eac1824d365dce715fb17c33cb96f_cgraph.svg | 290 -- ...c1824d365dce715fb17c33cb96f_cgraph_org.svg | 207 -- ...c4c6f63ab965317f9471518ee931b89_cgraph.map | 7 - ...c4c6f63ab965317f9471518ee931b89_cgraph.md5 | 1 - ...c4c6f63ab965317f9471518ee931b89_cgraph.svg | 85 - ...f63ab965317f9471518ee931b89_cgraph_org.svg | 59 - ...f14e473bb0722c6490b9dc8da5982aa_cgraph.map | 23 - ...f14e473bb0722c6490b9dc8da5982aa_cgraph.md5 | 1 - ...f14e473bb0722c6490b9dc8da5982aa_cgraph.svg | 230 -- ...473bb0722c6490b9dc8da5982aa_cgraph_org.svg | 204 -- ...172a6791b9bd24f4232bab8d6b81fff_cgraph.map | 115 - ...172a6791b9bd24f4232bab8d6b81fff_cgraph.md5 | 1 - ...172a6791b9bd24f4232bab8d6b81fff_cgraph.svg | 1129 ------- ...6791b9bd24f4232bab8d6b81fff_cgraph_org.svg | 1046 ------- ...8ed20abf6ce3744535bd8b5bb9e741b_cgraph.map | 21 - ...8ed20abf6ce3744535bd8b5bb9e741b_cgraph.md5 | 1 - ...8ed20abf6ce3744535bd8b5bb9e741b_cgraph.svg | 213 -- ...0abf6ce3744535bd8b5bb9e741b_cgraph_org.svg | 187 -- ...1d30113d13304c664057118b92a5931_cgraph.map | 12 - ...1d30113d13304c664057118b92a5931_cgraph.md5 | 1 - ...1d30113d13304c664057118b92a5931_cgraph.svg | 131 - ...113d13304c664057118b92a5931_cgraph_org.svg | 105 - ...2151b0398a2536be60d950e10ffe9a8_cgraph.map | 7 - ...2151b0398a2536be60d950e10ffe9a8_cgraph.md5 | 1 - ...2151b0398a2536be60d950e10ffe9a8_cgraph.svg | 85 - ...b0398a2536be60d950e10ffe9a8_cgraph_org.svg | 59 - ...50c677fd6512665741ddd9b7983275d_cgraph.map | 47 - ...50c677fd6512665741ddd9b7983275d_cgraph.md5 | 1 - ...50c677fd6512665741ddd9b7983275d_cgraph.svg | 506 --- ...77fd6512665741ddd9b7983275d_cgraph_org.svg | 423 --- ...8bf9023ab3d4cdb61cf707c7cdfc86b_cgraph.map | 25 - ...8bf9023ab3d4cdb61cf707c7cdfc86b_cgraph.md5 | 1 - ...8bf9023ab3d4cdb61cf707c7cdfc86b_cgraph.svg | 310 -- ...023ab3d4cdb61cf707c7cdfc86b_cgraph_org.svg | 227 -- ...c648ea4f40bd71123b5f907a681dd8e_cgraph.map | 42 - ...c648ea4f40bd71123b5f907a681dd8e_cgraph.md5 | 1 - ...c648ea4f40bd71123b5f907a681dd8e_cgraph.svg | 463 --- ...ea4f40bd71123b5f907a681dd8e_cgraph_org.svg | 380 --- d4/dfb/namespacecycle__sort.html | 35 +- d5/d02/namespacehorspool.html | 35 +- d5/d08/classgraph_1_1_graph__coll__graph.map | 4 +- d5/d08/classgraph_1_1_graph__coll__graph.md5 | 2 +- d5/d08/classgraph_1_1_graph__coll__graph.svg | 4 +- .../classgraph_1_1_graph__coll__graph_org.svg | 4 +- ...rie__using__hashmap_1_1_trie_1_1_node.html | 68 +- d5/d15/classcll.html | 136 +- ...ith__same__number__of__set__bits_8cpp.html | 67 +- ...8dca7b867074164d5f45b0f3851269d_cgraph.map | 7 - ...8dca7b867074164d5f45b0f3851269d_cgraph.md5 | 1 - ...8dca7b867074164d5f45b0f3851269d_cgraph.svg | 84 - ...7b867074164d5f45b0f3851269d_cgraph_org.svg | 58 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 9 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 102 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 76 - ...me__number__of__set__bits_8cpp_source.html | 215 ++ d5/d1e/tim__sort_8cpp_source.html | 266 ++ ...asing__subsequence__nlogn_8cpp_source.html | 183 ++ d5/d25/bead__sort_8cpp_source.html | 195 ++ ...d_1_1is__unsigned_3_01uint128__t_01_4.html | 42 +- d5/d29/struct_min_heap_node.html | 121 +- d5/d2c/namespacelayers.html | 35 +- d5/d33/gram__schmidt_8cpp.html | 239 +- ...837468e1a653ed056e2cce3c914afa5_cgraph.map | 9 - ...837468e1a653ed056e2cce3c914afa5_cgraph.md5 | 1 - ...837468e1a653ed056e2cce3c914afa5_cgraph.svg | 104 - ...68e1a653ed056e2cce3c914afa5_cgraph_org.svg | 78 - ...eeaafdde8b56f459aadc6013cf078bc_cgraph.map | 7 - ...eeaafdde8b56f459aadc6013cf078bc_cgraph.md5 | 1 - ...eeaafdde8b56f459aadc6013cf078bc_cgraph.svg | 85 - ...fdde8b56f459aadc6013cf078bc_cgraph_org.svg | 59 - ...4a4504924ecc9f12a2ebd80788ec01d_cgraph.map | 4 - ...4a4504924ecc9f12a2ebd80788ec01d_cgraph.md5 | 1 - ...4a4504924ecc9f12a2ebd80788ec01d_cgraph.svg | 57 - ...04924ecc9f12a2ebd80788ec01d_cgraph_org.svg | 31 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 5 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 65 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 39 - d5/d33/gram__schmidt_8cpp_source.html | 354 +++ d5/d39/namespaceactivations.html | 35 +- d5/d3c/namespacedata__structures.html | 159 +- d5/d45/sublist__search_8cpp.html | 192 +- ...ddf1224851353fc92bfbff6f499fa97_cgraph.map | 25 - ...ddf1224851353fc92bfbff6f499fa97_cgraph.md5 | 1 - ...ddf1224851353fc92bfbff6f499fa97_cgraph.svg | 302 -- ...224851353fc92bfbff6f499fa97_cgraph_org.svg | 219 -- ...faee403e2758aaab682ed6622ae218c_cgraph.map | 4 - ...faee403e2758aaab682ed6622ae218c_cgraph.md5 | 1 - ...faee403e2758aaab682ed6622ae218c_cgraph.svg | 57 - ...403e2758aaab682ed6622ae218c_cgraph_org.svg | 31 - ...0ca8d0267008e09cfa50b4e2ddfbe53_cgraph.map | 4 - ...0ca8d0267008e09cfa50b4e2ddfbe53_cgraph.md5 | 1 - ...0ca8d0267008e09cfa50b4e2ddfbe53_cgraph.svg | 57 - ...d0267008e09cfa50b4e2ddfbe53_cgraph_org.svg | 31 - ...8dca7b867074164d5f45b0f3851269d_cgraph.map | 22 - ...8dca7b867074164d5f45b0f3851269d_cgraph.md5 | 1 - ...8dca7b867074164d5f45b0f3851269d_cgraph.svg | 275 -- ...7b867074164d5f45b0f3851269d_cgraph_org.svg | 192 -- ...1028bc215281d62e344af99da57fab2_cgraph.map | 6 - ...1028bc215281d62e344af99da57fab2_cgraph.md5 | 1 - ...1028bc215281d62e344af99da57fab2_cgraph.svg | 75 - ...bc215281d62e344af99da57fab2_cgraph_org.svg | 49 - d5/d45/sublist__search_8cpp_source.html | 456 +++ ...trie__using__hashmap_1_1_trie-members.html | 35 +- d5/d4c/group__sorting.html | 149 +- ...35e4c638e3bcf548bd122b5f49a3e72_cgraph.map | 7 - ...35e4c638e3bcf548bd122b5f49a3e72_cgraph.md5 | 1 - ...35e4c638e3bcf548bd122b5f49a3e72_cgraph.svg | 83 - ...c638e3bcf548bd122b5f49a3e72_cgraph_org.svg | 57 - ...9d28b140174dbdde7c9f5157758435f_cgraph.map | 5 - ...9d28b140174dbdde7c9f5157758435f_cgraph.md5 | 1 - ...9d28b140174dbdde7c9f5157758435f_cgraph.svg | 65 - ...b140174dbdde7c9f5157758435f_cgraph_org.svg | 39 - ...8dca7b867074164d5f45b0f3851269d_cgraph.map | 16 - ...8dca7b867074164d5f45b0f3851269d_cgraph.md5 | 1 - ...8dca7b867074164d5f45b0f3851269d_cgraph.svg | 164 - ...7b867074164d5f45b0f3851269d_cgraph_org.svg | 138 - ...6b14fea48d9841e29b9fc26be6e05d7_cgraph.map | 6 - ...6b14fea48d9841e29b9fc26be6e05d7_cgraph.md5 | 1 - ...6b14fea48d9841e29b9fc26be6e05d7_cgraph.svg | 74 - ...fea48d9841e29b9fc26be6e05d7_cgraph_org.svg | 48 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 8 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 92 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 66 - ...urve__key__exchange_1_1_point-members.html | 35 +- .../classgraph_1_1_rooted_tree-members.html | 35 +- d5/d58/class_test_cases.html | 378 +-- ...3aa3d5bf666f327ee8e2d11d397b06e_cgraph.map | 5 - ...3aa3d5bf666f327ee8e2d11d397b06e_cgraph.md5 | 1 - ...3aa3d5bf666f327ee8e2d11d397b06e_cgraph.svg | 65 - ...d5bf666f327ee8e2d11d397b06e_cgraph_org.svg | 39 - ...ae0148985f159b582a385cf399254e3_cgraph.map | 11 - ...ae0148985f159b582a385cf399254e3_cgraph.md5 | 1 - ...ae0148985f159b582a385cf399254e3_cgraph.svg | 119 - ...48985f159b582a385cf399254e3_cgraph_org.svg | 93 - ...2636e8b5b9e053374c45bfcf0603008_cgraph.map | 11 - ...2636e8b5b9e053374c45bfcf0603008_cgraph.md5 | 1 - ...2636e8b5b9e053374c45bfcf0603008_cgraph.svg | 119 - ...e8b5b9e053374c45bfcf0603008_cgraph_org.svg | 93 - ...9f95c09931625b41e3be1f88d1e28c5_cgraph.map | 11 - ...9f95c09931625b41e3be1f88d1e28c5_cgraph.md5 | 1 - ...9f95c09931625b41e3be1f88d1e28c5_cgraph.svg | 119 - ...c09931625b41e3be1f88d1e28c5_cgraph_org.svg | 93 - ...abea90c02f9159e4a784bbf736e1e23_cgraph.map | 20 - ...abea90c02f9159e4a784bbf736e1e23_cgraph.md5 | 1 - ...abea90c02f9159e4a784bbf736e1e23_cgraph.svg | 200 -- ...90c02f9159e4a784bbf736e1e23_cgraph_org.svg | 174 -- ...ersistent__seg__tree__lazy__prop_8cpp.html | 116 +- ...8dca7b867074164d5f45b0f3851269d_cgraph.map | 27 - ...8dca7b867074164d5f45b0f3851269d_cgraph.md5 | 1 - ...8dca7b867074164d5f45b0f3851269d_cgraph.svg | 326 -- ...7b867074164d5f45b0f3851269d_cgraph_org.svg | 243 -- ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 29 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 344 -- ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 261 -- ...nt__seg__tree__lazy__prop_8cpp_source.html | 371 +++ d5/d5f/namespacegeometry.html | 41 +- ...nge__queries_1_1per_seg_tree_1_1_node.html | 125 +- d5/d67/bayes__theorem_8cpp.html | 64 +- ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 9 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 101 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 75 - d5/d67/bayes__theorem_8cpp_source.html | 166 + d5/d67/complex__numbers_8cpp.html | 152 +- ...4d5f25b573e870accdf26fd32b8484d_cgraph.map | 7 - ...4d5f25b573e870accdf26fd32b8484d_cgraph.md5 | 1 - ...4d5f25b573e870accdf26fd32b8484d_cgraph.svg | 83 - ...25b573e870accdf26fd32b8484d_cgraph_org.svg | 57 - ...a73e9d4e68af8cedb95bd0864054b89_cgraph.map | 7 - ...a73e9d4e68af8cedb95bd0864054b89_cgraph.md5 | 1 - ...a73e9d4e68af8cedb95bd0864054b89_cgraph.svg | 83 - ...9d4e68af8cedb95bd0864054b89_cgraph_org.svg | 57 - ...d4d5b8250b50703de888514c8e7a7a0_cgraph.map | 5 - ...d4d5b8250b50703de888514c8e7a7a0_cgraph.md5 | 1 - ...d4d5b8250b50703de888514c8e7a7a0_cgraph.svg | 65 - ...b8250b50703de888514c8e7a7a0_cgraph_org.svg | 39 - ...8ec9ad42717780d6caaff9d3d6977f9_cgraph.map | 17 - ...8ec9ad42717780d6caaff9d3d6977f9_cgraph.md5 | 1 - ...8ec9ad42717780d6caaff9d3d6977f9_cgraph.svg | 173 -- ...ad42717780d6caaff9d3d6977f9_cgraph_org.svg | 147 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 19 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 191 -- ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 165 - d5/d67/complex__numbers_8cpp_source.html | 340 ++ d5/d6e/classcatalan__numbers__coll__graph.map | 8 +- d5/d6e/classcatalan__numbers__coll__graph.md5 | 2 +- d5/d6e/classcatalan__numbers__coll__graph.svg | 42 +- ...classcatalan__numbers__coll__graph_org.svg | 42 +- d5/d7a/largest__power_8cpp.html | 75 +- ...8dca7b867074164d5f45b0f3851269d_cgraph.map | 7 - ...8dca7b867074164d5f45b0f3851269d_cgraph.md5 | 1 - ...8dca7b867074164d5f45b0f3851269d_cgraph.svg | 83 - ...7b867074164d5f45b0f3851269d_cgraph_org.svg | 57 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 9 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 101 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 75 - d5/d7a/largest__power_8cpp_source.html | 193 ++ d5/d82/edit__distance_8cpp_source.html | 226 ++ d5/d83/lcm__sum_8cpp.html | 81 +- ...8dca7b867074164d5f45b0f3851269d_cgraph.map | 73 - ...8dca7b867074164d5f45b0f3851269d_cgraph.md5 | 1 - ...8dca7b867074164d5f45b0f3851269d_cgraph.svg | 766 ----- ...7b867074164d5f45b0f3851269d_cgraph_org.svg | 683 ---- ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 75 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 784 ----- ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 701 ----- d5/d83/lcm__sum_8cpp_source.html | 219 ++ d5/d88/md__d_i_r_e_c_t_o_r_y.html | 35 +- d5/d89/namespacepalindrome__partitioning.html | 35 +- ...hers_1_1postfix__expression_1_1_stack.html | 70 +- d5/d8a/trie__using__hashmap_8cpp.html | 126 +- ...8dca7b867074164d5f45b0f3851269d_cgraph.map | 35 - ...8dca7b867074164d5f45b0f3851269d_cgraph.md5 | 1 - ...8dca7b867074164d5f45b0f3851269d_cgraph.svg | 347 --- ...7b867074164d5f45b0f3851269d_cgraph_org.svg | 321 -- ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 37 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 422 --- ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 339 -- d5/d8a/trie__using__hashmap_8cpp_source.html | 445 +++ ...ve__tree__traversals_1_1_node-members.html | 35 +- d5/d8e/huffman_8cpp_source.html | 253 ++ d5/d90/palindrome__partitioning_8cpp.html | 96 +- ...2ee22882858d2b1cf04293f02ed839a_cgraph.map | 8 - ...2ee22882858d2b1cf04293f02ed839a_cgraph.md5 | 1 - ...2ee22882858d2b1cf04293f02ed839a_cgraph.svg | 94 - ...2882858d2b1cf04293f02ed839a_cgraph_org.svg | 68 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 5 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 65 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 39 - .../palindrome__partitioning_8cpp_source.html | 238 ++ d5/d91/namespacesorting.html | 415 ++- ...34d8b276518a902962e87d3158b64fd_cgraph.map | 4 - ...34d8b276518a902962e87d3158b64fd_cgraph.md5 | 1 - ...34d8b276518a902962e87d3158b64fd_cgraph.svg | 56 - ...b276518a902962e87d3158b64fd_cgraph_org.svg | 30 - ...e9e1b21a1684585e9e50f9afe4d53a3_cgraph.map | 11 - ...e9e1b21a1684585e9e50f9afe4d53a3_cgraph.md5 | 1 - ...e9e1b21a1684585e9e50f9afe4d53a3_cgraph.svg | 119 - ...b21a1684585e9e50f9afe4d53a3_cgraph_org.svg | 93 - ...40d913e42fb94176a0b2c8b29a80420_cgraph.map | 7 - ...40d913e42fb94176a0b2c8b29a80420_cgraph.md5 | 1 - ...40d913e42fb94176a0b2c8b29a80420_cgraph.svg | 84 - ...13e42fb94176a0b2c8b29a80420_cgraph_org.svg | 58 - ...63595fd9a0163b5b997b89fab3a0dc5_cgraph.map | 17 - ...63595fd9a0163b5b997b89fab3a0dc5_cgraph.md5 | 1 - ...63595fd9a0163b5b997b89fab3a0dc5_cgraph.svg | 173 -- ...5fd9a0163b5b997b89fab3a0dc5_cgraph_org.svg | 147 - ...7236b8d3df3832e1f1225576a122534_cgraph.map | 9 - ...7236b8d3df3832e1f1225576a122534_cgraph.md5 | 1 - ...7236b8d3df3832e1f1225576a122534_cgraph.svg | 103 - ...b8d3df3832e1f1225576a122534_cgraph_org.svg | 77 - ...f8bc626eb57acae24a94636a23af6a1_cgraph.map | 5 - ...f8bc626eb57acae24a94636a23af6a1_cgraph.md5 | 1 - ...f8bc626eb57acae24a94636a23af6a1_cgraph.svg | 65 - ...626eb57acae24a94636a23af6a1_cgraph_org.svg | 39 - ...d76603c54d3dc56146e92d10a043924_cgraph.map | 5 - ...d76603c54d3dc56146e92d10a043924_cgraph.md5 | 1 - ...d76603c54d3dc56146e92d10a043924_cgraph.svg | 65 - ...03c54d3dc56146e92d10a043924_cgraph_org.svg | 39 - ...f4bc75cca6dd8294af2d0e328006c68_cgraph.map | 8 - ...f4bc75cca6dd8294af2d0e328006c68_cgraph.md5 | 1 - ...f4bc75cca6dd8294af2d0e328006c68_cgraph.svg | 93 - ...75cca6dd8294af2d0e328006c68_cgraph_org.svg | 67 - ...eb67c2f91c98cf4464f75b5882022de_cgraph.map | 6 - ...eb67c2f91c98cf4464f75b5882022de_cgraph.md5 | 1 - ...eb67c2f91c98cf4464f75b5882022de_cgraph.svg | 74 - ...c2f91c98cf4464f75b5882022de_cgraph_org.svg | 48 - ...bfe11bd4703eacd1dab93f25ec639c5_cgraph.map | 7 - ...bfe11bd4703eacd1dab93f25ec639c5_cgraph.md5 | 1 - ...bfe11bd4703eacd1dab93f25ec639c5_cgraph.svg | 83 - ...1bd4703eacd1dab93f25ec639c5_cgraph_org.svg | 57 - ...fe6bac9e03f58abcc2ce26ef3de1b5f_cgraph.map | 5 - ...fe6bac9e03f58abcc2ce26ef3de1b5f_cgraph.md5 | 1 - ...fe6bac9e03f58abcc2ce26ef3de1b5f_cgraph.svg | 65 - ...ac9e03f58abcc2ce26ef3de1b5f_cgraph_org.svg | 39 - ...f59fe72dacc1f1218ef3c303d843168_cgraph.map | 4 - ...f59fe72dacc1f1218ef3c303d843168_cgraph.md5 | 1 - ...f59fe72dacc1f1218ef3c303d843168_cgraph.svg | 56 - ...e72dacc1f1218ef3c303d843168_cgraph_org.svg | 30 - ...26de383227859210f14dcf12201a079_cgraph.map | 5 - ...26de383227859210f14dcf12201a079_cgraph.md5 | 1 - ...26de383227859210f14dcf12201a079_cgraph.svg | 65 - ...383227859210f14dcf12201a079_cgraph_org.svg | 39 - ...3677f87b5b4756bc77e9e34c5f27935_cgraph.map | 5 - ...3677f87b5b4756bc77e9e34c5f27935_cgraph.md5 | 1 - ...3677f87b5b4756bc77e9e34c5f27935_cgraph.svg | 65 - ...f87b5b4756bc77e9e34c5f27935_cgraph_org.svg | 39 - ...c8f44b28b4aa96444383030b28f8b34_cgraph.map | 5 - ...c8f44b28b4aa96444383030b28f8b34_cgraph.md5 | 1 - ...c8f44b28b4aa96444383030b28f8b34_cgraph.svg | 65 - ...4b28b4aa96444383030b28f8b34_cgraph_org.svg | 39 - ...3a775d99dbbb94c130a973df0cfddcf_cgraph.map | 6 - ...3a775d99dbbb94c130a973df0cfddcf_cgraph.md5 | 1 - ...3a775d99dbbb94c130a973df0cfddcf_cgraph.svg | 75 - ...5d99dbbb94c130a973df0cfddcf_cgraph_org.svg | 49 - ...97f4dd815654c4682f564afd718e824_cgraph.map | 9 - ...97f4dd815654c4682f564afd718e824_cgraph.md5 | 1 - ...97f4dd815654c4682f564afd718e824_cgraph.svg | 103 - ...dd815654c4682f564afd718e824_cgraph_org.svg | 77 - ...2c5b92cbfe73f63f6074c61b0a45331_cgraph.map | 9 - ...2c5b92cbfe73f63f6074c61b0a45331_cgraph.md5 | 1 - ...2c5b92cbfe73f63f6074c61b0a45331_cgraph.svg | 101 - ...92cbfe73f63f6074c61b0a45331_cgraph_org.svg | 75 - ...fc6ee160142cd017f8c4b213437d0fd_cgraph.map | 11 - ...fc6ee160142cd017f8c4b213437d0fd_cgraph.md5 | 1 - ...fc6ee160142cd017f8c4b213437d0fd_cgraph.svg | 120 - ...e160142cd017f8c4b213437d0fd_cgraph_org.svg | 94 - ...ctdata__structures_1_1treap_1_1_treap.html | 249 +- ...e884d2686aff501ef589b0d1185492f_cgraph.map | 11 - ...e884d2686aff501ef589b0d1185492f_cgraph.md5 | 1 - ...e884d2686aff501ef589b0d1185492f_cgraph.svg | 180 -- ...d2686aff501ef589b0d1185492f_cgraph_org.svg | 97 - ...a023a4f0c42fb8ed5b3368fba1a5f2c_cgraph.map | 9 - ...a023a4f0c42fb8ed5b3368fba1a5f2c_cgraph.md5 | 1 - ...a023a4f0c42fb8ed5b3368fba1a5f2c_cgraph.svg | 104 - ...a4f0c42fb8ed5b3368fba1a5f2c_cgraph_org.svg | 78 - ...5a48584a6560de20484fbba6229fd29_cgraph.map | 5 - ...5a48584a6560de20484fbba6229fd29_cgraph.md5 | 1 - ...5a48584a6560de20484fbba6229fd29_cgraph.svg | 67 - ...584a6560de20484fbba6229fd29_cgraph_org.svg | 41 - ...a77d22f97add119123108211c6655ec_cgraph.map | 4 - ...a77d22f97add119123108211c6655ec_cgraph.md5 | 1 - ...a77d22f97add119123108211c6655ec_cgraph.svg | 57 - ...22f97add119123108211c6655ec_cgraph_org.svg | 31 - ...ea2becd904e2e7d22f23a001b444469_cgraph.map | 11 - ...ea2becd904e2e7d22f23a001b444469_cgraph.md5 | 1 - ...ea2becd904e2e7d22f23a001b444469_cgraph.svg | 180 -- ...ecd904e2e7d22f23a001b444469_cgraph_org.svg | 97 - ...2db3ad3aecc240011e0c8b8604d2c69_cgraph.map | 6 - ...2db3ad3aecc240011e0c8b8604d2c69_cgraph.md5 | 1 - ...2db3ad3aecc240011e0c8b8604d2c69_cgraph.svg | 76 - ...ad3aecc240011e0c8b8604d2c69_cgraph_org.svg | 50 - ...94e9d69305940f6d8804031455af039_cgraph.map | 6 - ...94e9d69305940f6d8804031455af039_cgraph.md5 | 1 - ...94e9d69305940f6d8804031455af039_cgraph.svg | 76 - ...d69305940f6d8804031455af039_cgraph_org.svg | 50 - ...08520c0617eb8dcfcbfa90d258aa6b2_cgraph.map | 4 - ...08520c0617eb8dcfcbfa90d258aa6b2_cgraph.md5 | 1 - ...08520c0617eb8dcfcbfa90d258aa6b2_cgraph.svg | 57 - ...0c0617eb8dcfcbfa90d258aa6b2_cgraph_org.svg | 31 - ...b4bb0db68c7c04ef9498c88c3777887_cgraph.map | 9 - ...b4bb0db68c7c04ef9498c88c3777887_cgraph.md5 | 1 - ...b4bb0db68c7c04ef9498c88c3777887_cgraph.svg | 104 - ...0db68c7c04ef9498c88c3777887_cgraph_org.svg | 78 - d5/d96/md5_8cpp.html | 261 +- ...341431cef7fcfc33794326e1deb2425_cgraph.map | 21 - ...341431cef7fcfc33794326e1deb2425_cgraph.md5 | 1 - ...341431cef7fcfc33794326e1deb2425_cgraph.svg | 209 -- ...31cef7fcfc33794326e1deb2425_cgraph_org.svg | 183 -- ...94712c9665051ba52b686387b87a689_cgraph.map | 7 - ...94712c9665051ba52b686387b87a689_cgraph.md5 | 1 - ...94712c9665051ba52b686387b87a689_cgraph.svg | 83 - ...2c9665051ba52b686387b87a689_cgraph_org.svg | 57 - ...be48c1e6e742f9bd329f501d61dcaef_cgraph.map | 7 - ...be48c1e6e742f9bd329f501d61dcaef_cgraph.md5 | 1 - ...be48c1e6e742f9bd329f501d61dcaef_cgraph.svg | 83 - ...c1e6e742f9bd329f501d61dcaef_cgraph_org.svg | 57 - ...8705fab5f92adf3427b4cf76ff33edb_cgraph.map | 26 - ...8705fab5f92adf3427b4cf76ff33edb_cgraph.md5 | 1 - ...8705fab5f92adf3427b4cf76ff33edb_cgraph.svg | 311 -- ...fab5f92adf3427b4cf76ff33edb_cgraph_org.svg | 228 -- ...8dca7b867074164d5f45b0f3851269d_cgraph.map | 7 - ...8dca7b867074164d5f45b0f3851269d_cgraph.md5 | 1 - ...8dca7b867074164d5f45b0f3851269d_cgraph.svg | 83 - ...7b867074164d5f45b0f3851269d_cgraph_org.svg | 57 - ...ee69c6136a841043f956de32116e348_cgraph.map | 4 - ...ee69c6136a841043f956de32116e348_cgraph.md5 | 1 - ...ee69c6136a841043f956de32116e348_cgraph.svg | 56 - ...c6136a841043f956de32116e348_cgraph_org.svg | 30 - ...9e1a11f44135b890dd10a00e73b5661_cgraph.map | 9 - ...9e1a11f44135b890dd10a00e73b5661_cgraph.md5 | 1 - ...9e1a11f44135b890dd10a00e73b5661_cgraph.svg | 101 - ...11f44135b890dd10a00e73b5661_cgraph_org.svg | 75 - ...d2bf982d5dd64a45d13cba52c2b371d_cgraph.map | 4 - ...d2bf982d5dd64a45d13cba52c2b371d_cgraph.md5 | 1 - ...d2bf982d5dd64a45d13cba52c2b371d_cgraph.svg | 56 - ...982d5dd64a45d13cba52c2b371d_cgraph_org.svg | 30 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 16 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 164 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 138 - ...8e96bde0183c4b0a7ff04668f11e446_cgraph.map | 4 - ...8e96bde0183c4b0a7ff04668f11e446_cgraph.md5 | 1 - ...8e96bde0183c4b0a7ff04668f11e446_cgraph.svg | 56 - ...bde0183c4b0a7ff04668f11e446_cgraph_org.svg | 30 - d5/d96/md5_8cpp_source.html | 443 +++ d5/da1/structnode.html | 274 +- d5/da7/namespacejarvis.html | 35 +- ...ta__structures_1_1list__array_1_1list.html | 153 +- ...33635ad53bd89e3947ca02448819180_cgraph.map | 5 - ...33635ad53bd89e3947ca02448819180_cgraph.md5 | 1 - ...33635ad53bd89e3947ca02448819180_cgraph.svg | 66 - ...5ad53bd89e3947ca02448819180_cgraph_org.svg | 40 - ...12bdb3910181f3c384d86aee7e217cf_cgraph.map | 4 - ...12bdb3910181f3c384d86aee7e217cf_cgraph.md5 | 1 - ...12bdb3910181f3c384d86aee7e217cf_cgraph.svg | 57 - ...b3910181f3c384d86aee7e217cf_cgraph_org.svg | 31 - d5/db0/adaline__learning_8cpp.html | 188 +- ...79f7488a305f2571f2932b319931f82_cgraph.map | 29 - ...79f7488a305f2571f2932b319931f82_cgraph.md5 | 1 - ...79f7488a305f2571f2932b319931f82_cgraph.svg | 341 -- ...488a305f2571f2932b319931f82_cgraph_org.svg | 258 -- ...c04138a5bfe5d72780bb7e82a18e627_cgraph.map | 50 - ...c04138a5bfe5d72780bb7e82a18e627_cgraph.md5 | 1 - ...c04138a5bfe5d72780bb7e82a18e627_cgraph.svg | 527 ---- ...38a5bfe5d72780bb7e82a18e627_cgraph_org.svg | 444 --- ...2053d88ea1bcbbed9aca67ab4eeb499_cgraph.map | 27 - ...2053d88ea1bcbbed9aca67ab4eeb499_cgraph.md5 | 1 - ...2053d88ea1bcbbed9aca67ab4eeb499_cgraph.svg | 323 -- ...d88ea1bcbbed9aca67ab4eeb499_cgraph_org.svg | 240 -- ...92bdf1fdb0b9d414bcf7981d2d87aa9_cgraph.map | 29 - ...92bdf1fdb0b9d414bcf7981d2d87aa9_cgraph.md5 | 1 - ...92bdf1fdb0b9d414bcf7981d2d87aa9_cgraph.svg | 341 -- ...f1fdb0b9d414bcf7981d2d87aa9_cgraph_org.svg | 258 -- d5/db0/adaline__learning_8cpp_source.html | 449 +++ ...1inorder__traversal__of__bst_1_1_node.html | 111 +- d5/db5/set__kth__bit_8cpp.html | 75 +- ...8dca7b867074164d5f45b0f3851269d_cgraph.map | 5 - ...8dca7b867074164d5f45b0f3851269d_cgraph.md5 | 1 - ...8dca7b867074164d5f45b0f3851269d_cgraph.svg | 65 - ...7b867074164d5f45b0f3851269d_cgraph_org.svg | 39 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 7 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 83 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 57 - d5/db5/set__kth__bit_8cpp_source.html | 184 ++ d5/db8/namespacemincoins__topdown.html | 35 +- ...data__structures_1_1_node__coll__graph.map | 4 +- ...data__structures_1_1_node__coll__graph.md5 | 2 +- ...data__structures_1_1_node__coll__graph.svg | 4 +- ...__structures_1_1_node__coll__graph_org.svg | 4 +- d5/dc5/morrisinorder_8cpp_source.html | 244 ++ ...ries_1_1per_seg_tree_1_1_node-members.html | 35 +- d5/dd0/namespacephysics.html | 37 +- d5/ddb/bogo__sort_8cpp.html | 102 +- ...1a3968e7947464bee7714f6d43b7002_cgraph.map | 20 - ...1a3968e7947464bee7714f6d43b7002_cgraph.md5 | 1 - ...1a3968e7947464bee7714f6d43b7002_cgraph.svg | 201 -- ...68e7947464bee7714f6d43b7002_cgraph_org.svg | 175 -- ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 24 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 237 -- ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 211 -- d5/ddb/bogo__sort_8cpp_source.html | 228 ++ ...others_1_1_cache_1_1_d___node-members.html | 35 +- d5/ddf/struct_btree-members.html | 35 +- d5/de0/classuint128__t-members.html | 35 +- d5/de2/structtower-members.html | 35 +- ...lgorithms_1_1_binary_addition-members.html | 35 +- ...sgraph_1_1topological__sort_1_1_graph.html | 114 +- ...7036210706a45b9363563252393a345_cgraph.map | 5 - ...7036210706a45b9363563252393a345_cgraph.md5 | 1 - ...7036210706a45b9363563252393a345_cgraph.svg | 66 - ...210706a45b9363563252393a345_cgraph_org.svg | 40 - d5/def/stairs__pattern_8cpp.html | 65 +- ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 5 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 65 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 39 - d5/def/stairs__pattern_8cpp_source.html | 162 + ...multiplication_1_1_matrix__coll__graph.map | 2 +- ...multiplication_1_1_matrix__coll__graph.md5 | 2 +- ...multiplication_1_1_matrix__coll__graph.svg | 2 +- ...iplication_1_1_matrix__coll__graph_org.svg | 2 +- d5/df4/merge__sort_8cpp.html | 41 +- d5/df4/merge__sort_8cpp_source.html | 208 ++ d5/df6/check__amicable__pair_8cpp.html | 67 +- ...83bb8ccf42aaf7375a83e91490eda1e_cgraph.map | 9 - ...83bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 | 1 - ...83bb8ccf42aaf7375a83e91490eda1e_cgraph.svg | 101 - ...8ccf42aaf7375a83e91490eda1e_cgraph_org.svg | 75 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 11 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 119 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 93 - d5/df6/check__amicable__pair_8cpp_source.html | 194 ++ d6/d02/file__linter_8py_source.html | 176 ++ ...queue__using__array_1_1_queue___array.html | 109 +- ...aaf88c9954ef3ab686f8e4bfbd87622_cgraph.map | 5 - ...aaf88c9954ef3ab686f8e4bfbd87622_cgraph.md5 | 1 - ...aaf88c9954ef3ab686f8e4bfbd87622_cgraph.svg | 67 - ...8c9954ef3ab686f8e4bfbd87622_cgraph_org.svg | 41 - ...dc64488c36f84d927365fa8d1933663_cgraph.map | 5 - ...dc64488c36f84d927365fa8d1933663_cgraph.md5 | 1 - ...dc64488c36f84d927365fa8d1933663_cgraph.svg | 67 - ...488c36f84d927365fa8d1933663_cgraph_org.svg | 41 - ...88b7ea064739ea9fa66bf64bf4ae631_cgraph.map | 5 - ...88b7ea064739ea9fa66bf64bf4ae631_cgraph.md5 | 1 - ...88b7ea064739ea9fa66bf64bf4ae631_cgraph.svg | 67 - ...ea064739ea9fa66bf64bf4ae631_cgraph_org.svg | 41 - d6/d05/reverse__a__linked__list_8cpp.html | 96 +- ...f80d9712cc7d77399dcacb4c2917511_cgraph.map | 4 - ...f80d9712cc7d77399dcacb4c2917511_cgraph.md5 | 1 - ...f80d9712cc7d77399dcacb4c2917511_cgraph.svg | 57 - ...9712cc7d77399dcacb4c2917511_cgraph_org.svg | 31 - ...8dca7b867074164d5f45b0f3851269d_cgraph.map | 18 - ...8dca7b867074164d5f45b0f3851269d_cgraph.md5 | 1 - ...8dca7b867074164d5f45b0f3851269d_cgraph.svg | 187 -- ...7b867074164d5f45b0f3851269d_cgraph_org.svg | 161 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 20 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 205 -- ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 179 -- .../reverse__a__linked__list_8cpp_source.html | 400 +++ d6/d0c/namespacehashing.html | 43 +- d6/d10/cut__rod_8cpp.html | 100 +- ...cc523a30c18c63eac58220c3c494cfa_cgraph.map | 6 - ...cc523a30c18c63eac58220c3c494cfa_cgraph.md5 | 1 - ...cc523a30c18c63eac58220c3c494cfa_cgraph.svg | 75 - ...3a30c18c63eac58220c3c494cfa_cgraph_org.svg | 49 - ...8dca7b867074164d5f45b0f3851269d_cgraph.map | 5 - ...8dca7b867074164d5f45b0f3851269d_cgraph.md5 | 1 - ...8dca7b867074164d5f45b0f3851269d_cgraph.svg | 65 - ...7b867074164d5f45b0f3851269d_cgraph_org.svg | 39 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 7 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 83 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 57 - d6/d10/cut__rod_8cpp_source.html | 220 ++ d6/d1a/dnf__sort_8cpp.html | 131 +- ...21767fe711db64fe57a2ac4987b11f0_cgraph.map | 8 - ...21767fe711db64fe57a2ac4987b11f0_cgraph.md5 | 1 - ...21767fe711db64fe57a2ac4987b11f0_cgraph.svg | 93 - ...7fe711db64fe57a2ac4987b11f0_cgraph_org.svg | 67 - ...8dca7b867074164d5f45b0f3851269d_cgraph.map | 11 - ...8dca7b867074164d5f45b0f3851269d_cgraph.md5 | 1 - ...8dca7b867074164d5f45b0f3851269d_cgraph.svg | 119 - ...7b867074164d5f45b0f3851269d_cgraph_org.svg | 93 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 13 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 137 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 111 - d6/d1a/dnf__sort_8cpp_source.html | 224 ++ d6/d1f/class_complex-members.html | 35 +- d6/d26/classciphers_1_1_hill_cipher.html | 281 +- ...eb58750b978a93ac5e6eb29e3e570b7_cgraph.map | 7 - ...eb58750b978a93ac5e6eb29e3e570b7_cgraph.md5 | 1 - ...eb58750b978a93ac5e6eb29e3e570b7_cgraph.svg | 84 - ...750b978a93ac5e6eb29e3e570b7_cgraph_org.svg | 58 - ...05b0a28d66a61239d3565d5256f9cb5_cgraph.map | 40 - ...05b0a28d66a61239d3565d5256f9cb5_cgraph.md5 | 1 - ...05b0a28d66a61239d3565d5256f9cb5_cgraph.svg | 442 --- ...a28d66a61239d3565d5256f9cb5_cgraph_org.svg | 359 --- ...27acfac1dbff3f48a2b071d449d965b_cgraph.map | 17 - ...27acfac1dbff3f48a2b071d449d965b_cgraph.md5 | 1 - ...27acfac1dbff3f48a2b071d449d965b_cgraph.svg | 177 -- ...fac1dbff3f48a2b071d449d965b_cgraph_org.svg | 151 - ...29be41c1ab78850963e4ce14e1d11d9_cgraph.map | 5 - ...29be41c1ab78850963e4ce14e1d11d9_cgraph.md5 | 1 - ...29be41c1ab78850963e4ce14e1d11d9_cgraph.svg | 66 - ...41c1ab78850963e4ce14e1d11d9_cgraph_org.svg | 40 - ...42f70fb54cb50b00fb6df7c3f2b120e_cgraph.map | 15 - ...42f70fb54cb50b00fb6df7c3f2b120e_cgraph.md5 | 1 - ...42f70fb54cb50b00fb6df7c3f2b120e_cgraph.svg | 157 - ...0fb54cb50b00fb6df7c3f2b120e_cgraph_org.svg | 131 - ...16d0313141499d16f57c0c107f04395_cgraph.map | 14 - ...16d0313141499d16f57c0c107f04395_cgraph.md5 | 1 - ...16d0313141499d16f57c0c107f04395_cgraph.svg | 148 - ...313141499d16f57c0c107f04395_cgraph_org.svg | 122 - ...760f3665651a0a37937c79c62f219c0_cgraph.map | 5 - ...760f3665651a0a37937c79c62f219c0_cgraph.md5 | 1 - ...760f3665651a0a37937c79c62f219c0_cgraph.svg | 65 - ...3665651a0a37937c79c62f219c0_cgraph_org.svg | 39 - ...8bbb6e4a5749f6008b06602d5103917_cgraph.map | 17 - ...8bbb6e4a5749f6008b06602d5103917_cgraph.md5 | 1 - ...8bbb6e4a5749f6008b06602d5103917_cgraph.svg | 177 -- ...6e4a5749f6008b06602d5103917_cgraph_org.svg | 151 - ...02c7563889bf1e363deb8e21967b706_cgraph.map | 22 - ...02c7563889bf1e363deb8e21967b706_cgraph.md5 | 1 - ...02c7563889bf1e363deb8e21967b706_cgraph.svg | 277 -- ...563889bf1e363deb8e21967b706_cgraph_org.svg | 194 -- ...36cbcc7a458b3f3a2af0c4aa1126590_cgraph.map | 7 - ...36cbcc7a458b3f3a2af0c4aa1126590_cgraph.md5 | 1 - ...36cbcc7a458b3f3a2af0c4aa1126590_cgraph.svg | 84 - ...cc7a458b3f3a2af0c4aa1126590_cgraph_org.svg | 58 - ...667fa0860977f6d6d443fa1dbcd80aa_cgraph.map | 15 - ...667fa0860977f6d6d443fa1dbcd80aa_cgraph.md5 | 1 - ...667fa0860977f6d6d443fa1dbcd80aa_cgraph.svg | 158 - ...a0860977f6d6d443fa1dbcd80aa_cgraph_org.svg | 132 - ...77cad522fa44b8c985779a7188d2f41_cgraph.map | 5 - ...77cad522fa44b8c985779a7188d2f41_cgraph.md5 | 1 - ...77cad522fa44b8c985779a7188d2f41_cgraph.svg | 66 - ...d522fa44b8c985779a7188d2f41_cgraph_org.svg | 40 - d6/d26/house__robber_8cpp.html | 119 +- ...e497c3e3f169afe5baaae6a5d40cbc8_cgraph.map | 6 - ...e497c3e3f169afe5baaae6a5d40cbc8_cgraph.md5 | 1 - ...e497c3e3f169afe5baaae6a5d40cbc8_cgraph.svg | 75 - ...c3e3f169afe5baaae6a5d40cbc8_cgraph_org.svg | 49 - ...8dca7b867074164d5f45b0f3851269d_cgraph.map | 7 - ...8dca7b867074164d5f45b0f3851269d_cgraph.md5 | 1 - ...8dca7b867074164d5f45b0f3851269d_cgraph.svg | 83 - ...7b867074164d5f45b0f3851269d_cgraph_org.svg | 57 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 9 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 101 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 75 - d6/d26/house__robber_8cpp_source.html | 227 ++ ...search__tree_1_1bst__node__coll__graph.map | 2 +- ...search__tree_1_1bst__node__coll__graph.md5 | 2 +- ...search__tree_1_1bst__node__coll__graph.svg | 2 +- ...ch__tree_1_1bst__node__coll__graph_org.svg | 2 +- d6/d2c/caesar__cipher_8cpp.html | 114 +- ...1a3968e7947464bee7714f6d43b7002_cgraph.map | 5 - ...1a3968e7947464bee7714f6d43b7002_cgraph.md5 | 1 - ...1a3968e7947464bee7714f6d43b7002_cgraph.svg | 65 - ...68e7947464bee7714f6d43b7002_cgraph_org.svg | 39 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 7 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 83 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 57 - d6/d2c/caesar__cipher_8cpp_source.html | 219 ++ d6/d2d/modular__inverse__simple_8cpp.html | 80 +- ...8dca7b867074164d5f45b0f3851269d_cgraph.map | 5 - ...8dca7b867074164d5f45b0f3851269d_cgraph.md5 | 1 - ...8dca7b867074164d5f45b0f3851269d_cgraph.svg | 65 - ...7b867074164d5f45b0f3851269d_cgraph_org.svg | 39 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 7 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 83 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 57 - .../modular__inverse__simple_8cpp_source.html | 184 ++ d6/d2e/fenwick__tree_8cpp.html | 71 +- ...83bb8ccf42aaf7375a83e91490eda1e_cgraph.map | 12 - ...83bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 | 1 - ...83bb8ccf42aaf7375a83e91490eda1e_cgraph.svg | 189 -- ...8ccf42aaf7375a83e91490eda1e_cgraph_org.svg | 106 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 14 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 207 -- ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 124 - d6/d2e/fenwick__tree_8cpp_source.html | 228 ++ d6/d30/classmachine__learning_1_1adaline.html | 274 +- ...acbe32aaab897e7939e5b0454035b8c_cgraph.map | 7 - ...acbe32aaab897e7939e5b0454035b8c_cgraph.md5 | 1 - ...acbe32aaab897e7939e5b0454035b8c_cgraph.svg | 84 - ...32aaab897e7939e5b0454035b8c_cgraph_org.svg | 58 - ...4e3c6c037b67895014414c5d75465e5_cgraph.map | 23 - ...4e3c6c037b67895014414c5d75465e5_cgraph.md5 | 1 - ...4e3c6c037b67895014414c5d75465e5_cgraph.svg | 287 -- ...6c037b67895014414c5d75465e5_cgraph_org.svg | 204 -- ...d61f9ed872eef26bca39388cbda6a91_cgraph.map | 26 - ...d61f9ed872eef26bca39388cbda6a91_cgraph.md5 | 1 - ...d61f9ed872eef26bca39388cbda6a91_cgraph.svg | 314 -- ...9ed872eef26bca39388cbda6a91_cgraph_org.svg | 231 -- ...11242d9ad5b03a75911e29b04f78fd3_cgraph.map | 19 - ...11242d9ad5b03a75911e29b04f78fd3_cgraph.md5 | 1 - ...11242d9ad5b03a75911e29b04f78fd3_cgraph.svg | 194 -- ...2d9ad5b03a75911e29b04f78fd3_cgraph_org.svg | 168 - ...8a9c2aaaa63b0f27ea176857e1e7d56_cgraph.map | 7 - ...8a9c2aaaa63b0f27ea176857e1e7d56_cgraph.md5 | 1 - ...8a9c2aaaa63b0f27ea176857e1e7d56_cgraph.svg | 84 - ...2aaaa63b0f27ea176857e1e7d56_cgraph_org.svg | 58 - d6/d38/find__non__repeating__number_8cpp.html | 78 +- ...8dca7b867074164d5f45b0f3851269d_cgraph.map | 5 - ...8dca7b867074164d5f45b0f3851269d_cgraph.md5 | 1 - ...8dca7b867074164d5f45b0f3851269d_cgraph.svg | 65 - ...7b867074164d5f45b0f3851269d_cgraph_org.svg | 39 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 7 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 83 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 57 - ...d__non__repeating__number_8cpp_source.html | 196 ++ d6/d42/miller__rabin_8cpp.html | 145 +- ...f9c31c1047aa3191676d64571d4c506_cgraph.map | 17 - ...f9c31c1047aa3191676d64571d4c506_cgraph.md5 | 1 - ...f9c31c1047aa3191676d64571d4c506_cgraph.svg | 173 -- ...1c1047aa3191676d64571d4c506_cgraph_org.svg | 147 - ...8ec9ad42717780d6caaff9d3d6977f9_cgraph.map | 23 - ...8ec9ad42717780d6caaff9d3d6977f9_cgraph.md5 | 1 - ...8ec9ad42717780d6caaff9d3d6977f9_cgraph.svg | 284 -- ...ad42717780d6caaff9d3d6977f9_cgraph_org.svg | 201 -- ...01288288ef5ebe8e97414cc30797cce_cgraph.map | 19 - ...01288288ef5ebe8e97414cc30797cce_cgraph.md5 | 1 - ...01288288ef5ebe8e97414cc30797cce_cgraph.svg | 248 -- ...8288ef5ebe8e97414cc30797cce_cgraph_org.svg | 165 - ...6c2c67ea416d0e80003a88623f98b29_cgraph.map | 9 - ...6c2c67ea416d0e80003a88623f98b29_cgraph.md5 | 1 - ...6c2c67ea416d0e80003a88623f98b29_cgraph.svg | 101 - ...67ea416d0e80003a88623f98b29_cgraph_org.svg | 75 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 25 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 302 -- ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 219 -- d6/d42/miller__rabin_8cpp_source.html | 283 ++ ...iptic__curve__key__exchange_1_1_point.html | 90 +- ...__queries_1_1per_seg_tree__coll__graph.map | 22 +- ...__queries_1_1per_seg_tree__coll__graph.md5 | 2 +- ...__queries_1_1per_seg_tree__coll__graph.svg | 91 +- ...eries_1_1per_seg_tree__coll__graph_org.svg | 93 +- d6/d4a/addition__rule_8cpp.html | 68 +- ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 9 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 101 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 75 - d6/d4a/addition__rule_8cpp_source.html | 170 + d6/d4e/easter_8cpp_source.html | 251 ++ d6/d4e/namespaceciphers.html | 45 +- ...ath_2iterative_factorial_8cpp-example.html | 127 +- d6/d53/namespaceword__break.html | 35 +- d6/d57/array__right__rotation_8cpp.html | 77 +- ...8dca7b867074164d5f45b0f3851269d_cgraph.map | 15 - ...8dca7b867074164d5f45b0f3851269d_cgraph.md5 | 1 - ...8dca7b867074164d5f45b0f3851269d_cgraph.svg | 155 - ...7b867074164d5f45b0f3851269d_cgraph_org.svg | 129 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 17 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 173 -- ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 147 - .../array__right__rotation_8cpp_source.html | 265 ++ d6/d60/group__ode.html | 208 +- ...95d23bbdfcb80e83c9cda45c9ad5723_cgraph.map | 5 - ...95d23bbdfcb80e83c9cda45c9ad5723_cgraph.md5 | 1 - ...95d23bbdfcb80e83c9cda45c9ad5723_cgraph.svg | 65 - ...3bbdfcb80e83c9cda45c9ad5723_cgraph_org.svg | 39 - ...6ff0710861ca39d957046c0b09b2985_cgraph.map | 17 - ...6ff0710861ca39d957046c0b09b2985_cgraph.md5 | 1 - ...6ff0710861ca39d957046c0b09b2985_cgraph.svg | 173 -- ...710861ca39d957046c0b09b2985_cgraph_org.svg | 147 - ...874d294ab00fe9ce8731c5b7991a089_cgraph.map | 17 - ...874d294ab00fe9ce8731c5b7991a089_cgraph.md5 | 1 - ...874d294ab00fe9ce8731c5b7991a089_cgraph.svg | 173 -- ...294ab00fe9ce8731c5b7991a089_cgraph_org.svg | 147 - ...27bf009831ddc477c5fa8891d5cb35f_cgraph.map | 5 - ...27bf009831ddc477c5fa8891d5cb35f_cgraph.md5 | 1 - ...27bf009831ddc477c5fa8891d5cb35f_cgraph.svg | 65 - ...009831ddc477c5fa8891d5cb35f_cgraph_org.svg | 39 - ...c319db420c3d97a83e9dcca803b6812_cgraph.map | 5 - ...c319db420c3d97a83e9dcca803b6812_cgraph.md5 | 1 - ...c319db420c3d97a83e9dcca803b6812_cgraph.svg | 65 - ...db420c3d97a83e9dcca803b6812_cgraph_org.svg | 39 - ...0509f8843e2bc42de2abbd00a14b7b9_cgraph.map | 17 - ...0509f8843e2bc42de2abbd00a14b7b9_cgraph.md5 | 1 - ...0509f8843e2bc42de2abbd00a14b7b9_cgraph.svg | 173 -- ...f8843e2bc42de2abbd00a14b7b9_cgraph_org.svg | 147 - d6/d74/library__sort_8cpp_source.html | 232 ++ d6/d74/namespacekadane.html | 35 +- d6/d7a/golden__search__extrema_8cpp.html | 194 +- ...283886819c7c140a023582b7269e2d0_cgraph.map | 13 - ...283886819c7c140a023582b7269e2d0_cgraph.md5 | 1 - ...283886819c7c140a023582b7269e2d0_cgraph.svg | 138 - ...86819c7c140a023582b7269e2d0_cgraph_org.svg | 112 - ...440a7779ac56f47a3f355ce4a8c7da0_cgraph.map | 11 - ...440a7779ac56f47a3f355ce4a8c7da0_cgraph.md5 | 1 - ...440a7779ac56f47a3f355ce4a8c7da0_cgraph.svg | 120 - ...7779ac56f47a3f355ce4a8c7da0_cgraph_org.svg | 94 - ...aa76a6d5fd4d333f9072beff1dc486b_cgraph.map | 9 - ...aa76a6d5fd4d333f9072beff1dc486b_cgraph.md5 | 1 - ...aa76a6d5fd4d333f9072beff1dc486b_cgraph.svg | 102 - ...a6d5fd4d333f9072beff1dc486b_cgraph_org.svg | 76 - ...d0455dd5c30adda100e95f0423c786e_cgraph.map | 13 - ...d0455dd5c30adda100e95f0423c786e_cgraph.md5 | 1 - ...d0455dd5c30adda100e95f0423c786e_cgraph.svg | 138 - ...5dd5c30adda100e95f0423c786e_cgraph_org.svg | 112 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 23 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 228 -- ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 202 -- .../golden__search__extrema_8cpp_source.html | 267 ++ d6/d80/double__hash__hash__table_8cpp.html | 139 +- ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 41 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 447 --- ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 364 --- ...double__hash__hash__table_8cpp_source.html | 412 +++ d6/d84/classhashing_1_1sha256_1_1_hash.html | 105 +- ...896c27ac39c780e0ee62417fdd0b9d3_cgraph.map | 8 - ...896c27ac39c780e0ee62417fdd0b9d3_cgraph.md5 | 1 - ...896c27ac39c780e0ee62417fdd0b9d3_cgraph.svg | 94 - ...27ac39c780e0ee62417fdd0b9d3_cgraph_org.svg | 68 - ...581f503a263d8e928e5716d54477e08_cgraph.map | 11 - ...581f503a263d8e928e5716d54477e08_cgraph.md5 | 1 - ...581f503a263d8e928e5716d54477e08_cgraph.svg | 120 - ...503a263d8e928e5716d54477e08_cgraph_org.svg | 94 - d6/d84/namespaceutils.html | 35 +- d6/d8d/namespacemorse.html | 35 +- d6/d9d/large__factorial_8cpp.html | 132 +- ...ddf1224851353fc92bfbff6f499fa97_cgraph.map | 15 - ...ddf1224851353fc92bfbff6f499fa97_cgraph.md5 | 1 - ...ddf1224851353fc92bfbff6f499fa97_cgraph.svg | 155 - ...224851353fc92bfbff6f499fa97_cgraph_org.svg | 129 - ...f93b60e229b6683e24c4754a7106ee8_cgraph.map | 5 - ...f93b60e229b6683e24c4754a7106ee8_cgraph.md5 | 1 - ...f93b60e229b6683e24c4754a7106ee8_cgraph.svg | 65 - ...60e229b6683e24c4754a7106ee8_cgraph_org.svg | 39 - ...6aae4778fbe89a3d59fd61fbc050cfa_cgraph.map | 5 - ...6aae4778fbe89a3d59fd61fbc050cfa_cgraph.md5 | 1 - ...6aae4778fbe89a3d59fd61fbc050cfa_cgraph.svg | 65 - ...4778fbe89a3d59fd61fbc050cfa_cgraph_org.svg | 39 - d6/d9d/large__factorial_8cpp_source.html | 246 ++ ...1_ay_star_search_1_1_info__coll__graph.map | 2 +- ...1_ay_star_search_1_1_info__coll__graph.md5 | 2 +- ...1_ay_star_search_1_1_info__coll__graph.svg | 2 +- ..._star_search_1_1_info__coll__graph_org.svg | 2 +- d6/da2/namespacevigenere.html | 35 +- d6/da9/odd__even__sort_8cpp_source.html | 191 ++ d6/dab/namespacetree__234.html | 35 +- ...sothers_1_1lru__cache_1_1_l_r_u_cache.html | 204 +- ...dbf04bf7e1472c48639694f0b110602_cgraph.map | 21 - ...dbf04bf7e1472c48639694f0b110602_cgraph.md5 | 1 - ...dbf04bf7e1472c48639694f0b110602_cgraph.svg | 212 -- ...4bf7e1472c48639694f0b110602_cgraph_org.svg | 186 -- ...d506b1c1a3cd5b93cc7e497626bfb53_cgraph.map | 5 - ...d506b1c1a3cd5b93cc7e497626bfb53_cgraph.md5 | 1 - ...d506b1c1a3cd5b93cc7e497626bfb53_cgraph.svg | 66 - ...b1c1a3cd5b93cc7e497626bfb53_cgraph_org.svg | 40 - d6/db0/binomial__dist_8cpp.html | 130 +- ...9ae0a6a2bd200fd1eb0e31b2bf4cc76_cgraph.map | 7 - ...9ae0a6a2bd200fd1eb0e31b2bf4cc76_cgraph.md5 | 1 - ...9ae0a6a2bd200fd1eb0e31b2bf4cc76_cgraph.svg | 83 - ...a6a2bd200fd1eb0e31b2bf4cc76_cgraph_org.svg | 57 - ...6ed6ce71415fb400b65f0656cef3d25_cgraph.map | 7 - ...6ed6ce71415fb400b65f0656cef3d25_cgraph.md5 | 1 - ...6ed6ce71415fb400b65f0656cef3d25_cgraph.svg | 83 - ...ce71415fb400b65f0656cef3d25_cgraph_org.svg | 57 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 24 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 236 -- ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 210 -- ...09e51f513cee647d41192ab0a872cdc_cgraph.map | 7 - ...09e51f513cee647d41192ab0a872cdc_cgraph.md5 | 1 - ...09e51f513cee647d41192ab0a872cdc_cgraph.svg | 83 - ...1f513cee647d41192ab0a872cdc_cgraph_org.svg | 57 - d6/db0/binomial__dist_8cpp_source.html | 212 ++ ...ata__structures_1_1_skip_list-members.html | 35 +- d6/db8/inv__sqrt_8cpp.html | 121 +- ...8dca7b867074164d5f45b0f3851269d_cgraph.map | 9 - ...8dca7b867074164d5f45b0f3851269d_cgraph.md5 | 1 - ...8dca7b867074164d5f45b0f3851269d_cgraph.svg | 101 - ...7b867074164d5f45b0f3851269d_cgraph_org.svg | 75 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 15 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 155 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 129 - d6/db8/inv__sqrt_8cpp_source.html | 215 ++ d6/dba/jump__game_8cpp.html | 83 +- ...8dca7b867074164d5f45b0f3851269d_cgraph.map | 7 - ...8dca7b867074164d5f45b0f3851269d_cgraph.md5 | 1 - ...8dca7b867074164d5f45b0f3851269d_cgraph.svg | 84 - ...7b867074164d5f45b0f3851269d_cgraph_org.svg | 58 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 9 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 102 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 76 - d6/dba/jump__game_8cpp_source.html | 178 ++ ..._queries_1_1fenwick__tree__coll__graph.map | 2 +- ..._queries_1_1fenwick__tree__coll__graph.md5 | 2 +- ..._queries_1_1fenwick__tree__coll__graph.svg | 2 +- ...ries_1_1fenwick__tree__coll__graph_org.svg | 2 +- ..._1_1ncr__modulo__p_1_1_n_c_r_modulo_p.html | 117 +- d6/dc9/classcatalan__numbers-members.html | 35 +- d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html | 35 +- ..._1topological__sort_1_1_graph-members.html | 35 +- d6/dce/rabin__karp_8cpp.html | 77 +- d6/dce/rabin__karp_8cpp_source.html | 226 ++ d6/dd3/ode__midpoint__euler_8cpp.html | 134 +- ...ddf1224851353fc92bfbff6f499fa97_cgraph.map | 33 - ...ddf1224851353fc92bfbff6f499fa97_cgraph.md5 | 1 - ...ddf1224851353fc92bfbff6f499fa97_cgraph.svg | 317 -- ...224851353fc92bfbff6f499fa97_cgraph_org.svg | 291 -- ...13517b8e5de1b75592052db7f7e237f_cgraph.map | 17 - ...13517b8e5de1b75592052db7f7e237f_cgraph.md5 | 1 - ...13517b8e5de1b75592052db7f7e237f_cgraph.svg | 173 -- ...7b8e5de1b75592052db7f7e237f_cgraph_org.svg | 147 - ...3adf7b092a87868917ee5fb4255192b_cgraph.map | 7 - ...3adf7b092a87868917ee5fb4255192b_cgraph.md5 | 1 - ...3adf7b092a87868917ee5fb4255192b_cgraph.svg | 83 - ...7b092a87868917ee5fb4255192b_cgraph_org.svg | 57 - d6/dd3/ode__midpoint__euler_8cpp_source.html | 281 ++ d6/dd6/namespacestring.html | 41 +- d6/dd8/is__graph__bipartite_8cpp.html | 89 +- ...8dca7b867074164d5f45b0f3851269d_cgraph.map | 9 - ...8dca7b867074164d5f45b0f3851269d_cgraph.md5 | 1 - ...8dca7b867074164d5f45b0f3851269d_cgraph.svg | 103 - ...7b867074164d5f45b0f3851269d_cgraph_org.svg | 77 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 11 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 121 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 95 - d6/dd8/is__graph__bipartite_8cpp_source.html | 250 ++ ...al_3_01uint128__t_01_4__inherit__graph.map | 2 +- ...al_3_01uint128__t_01_4__inherit__graph.md5 | 2 +- ...al_3_01uint128__t_01_4__inherit__graph.svg | 2 +- ..._01uint128__t_01_4__inherit__graph_org.svg | 2 +- ...ssdata__structures_1_1_bitset-members.html | 35 +- d7/d00/list__array_8cpp.html | 71 +- ...8dca7b867074164d5f45b0f3851269d_cgraph.map | 13 - ...8dca7b867074164d5f45b0f3851269d_cgraph.md5 | 1 - ...8dca7b867074164d5f45b0f3851269d_cgraph.svg | 141 - ...7b867074164d5f45b0f3851269d_cgraph_org.svg | 115 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 15 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 159 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 133 - d7/d00/list__array_8cpp_source.html | 364 +++ d7/d07/bidirectional__dijkstra_8cpp.html | 334 +- ...b2df3d52a403ad46523ab90d3a723c1_cgraph.map | 11 - ...b2df3d52a403ad46523ab90d3a723c1_cgraph.md5 | 1 - ...b2df3d52a403ad46523ab90d3a723c1_cgraph.svg | 122 - ...3d52a403ad46523ab90d3a723c1_cgraph_org.svg | 96 - ...2f1b7277e1dd4190f25014b48487ce6_cgraph.map | 4 - ...2f1b7277e1dd4190f25014b48487ce6_cgraph.md5 | 1 - ...2f1b7277e1dd4190f25014b48487ce6_cgraph.svg | 58 - ...7277e1dd4190f25014b48487ce6_cgraph_org.svg | 32 - ...83bb8ccf42aaf7375a83e91490eda1e_cgraph.map | 5 - ...83bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 | 1 - ...83bb8ccf42aaf7375a83e91490eda1e_cgraph.svg | 65 - ...8ccf42aaf7375a83e91490eda1e_cgraph_org.svg | 39 - ...9172365aebde9be1997157f6f80e0cf_cgraph.map | 6 - ...9172365aebde9be1997157f6f80e0cf_cgraph.md5 | 1 - ...9172365aebde9be1997157f6f80e0cf_cgraph.svg | 75 - ...365aebde9be1997157f6f80e0cf_cgraph_org.svg | 49 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 8 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 92 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 66 - .../bidirectional__dijkstra_8cpp_source.html | 359 +++ d7/d08/namespacegraph__coloring.html | 35 +- d7/d0a/namespacetrie__using__hashmap.html | 35 +- ..._structures_1_1_skip_list__coll__graph.map | 4 +- ..._structures_1_1_skip_list__coll__graph.md5 | 2 +- ..._structures_1_1_skip_list__coll__graph.svg | 4 +- ...uctures_1_1_skip_list__coll__graph_org.svg | 4 +- d7/d1b/md__r_e_v_i_e_w_e_r___c_o_d_e.html | 35 +- d7/d21/classstack__linked_list-members.html | 35 +- .../nqueen__print__all__solutions_8cpp.html | 102 +- ...bd5e11fab6dab282efccfb61beb0bd9_cgraph.map | 5 - ...bd5e11fab6dab282efccfb61beb0bd9_cgraph.md5 | 1 - ...bd5e11fab6dab282efccfb61beb0bd9_cgraph.svg | 66 - ...11fab6dab282efccfb61beb0bd9_cgraph_org.svg | 40 - ...en__print__all__solutions_8cpp_source.html | 209 ++ d7/d31/classqueue__coll__graph.map | 10 +- d7/d31/classqueue__coll__graph.md5 | 2 +- d7/d31/classqueue__coll__graph.svg | 39 +- d7/d31/classqueue__coll__graph_org.svg | 39 +- d7/d35/matrix__exponentiation_8cpp.html | 168 +- ...02a9fc90e79b05b863cc4efa26ae2ec_cgraph.map | 6 - ...02a9fc90e79b05b863cc4efa26ae2ec_cgraph.md5 | 1 - ...02a9fc90e79b05b863cc4efa26ae2ec_cgraph.svg | 74 - ...fc90e79b05b863cc4efa26ae2ec_cgraph_org.svg | 48 - ...8389ed58fd0ec66df248014775ad1fa_cgraph.map | 8 - ...8389ed58fd0ec66df248014775ad1fa_cgraph.md5 | 1 - ...8389ed58fd0ec66df248014775ad1fa_cgraph.svg | 92 - ...ed58fd0ec66df248014775ad1fa_cgraph_org.svg | 66 - .../matrix__exponentiation_8cpp_source.html | 251 ++ d7/d37/magic__sequence_8cpp_source.html | 237 ++ ...__with__tarjan__algorithm_8cpp_source.html | 224 ++ ...etravelling_salesman__bitmanipulation.html | 35 +- d7/d40/class_solution__coll__graph.map | 6 +- d7/d40/class_solution__coll__graph.md5 | 2 +- d7/d40/class_solution__coll__graph.svg | 6 +- d7/d40/class_solution__coll__graph_org.svg | 6 +- d7/d43/stack__using__queue_8cpp_source.html | 222 ++ d7/d47/namespace_x_o_r.html | 35 +- ...d_1_1is__integral_3_01uint256__t_01_4.html | 42 +- ...tructgeometry_1_1grahamscan_1_1_point.html | 77 +- d7/d4c/namespacek__nearest__neighbors.html | 35 +- d7/d50/namespacemodular__inverse__fermat.html | 35 +- d7/d56/count__bits__flip_8cpp.html | 82 +- ...548486b6c3b80101e768562e687ef7b_cgraph.map | 4 - ...548486b6c3b80101e768562e687ef7b_cgraph.md5 | 1 - ...548486b6c3b80101e768562e687ef7b_cgraph.svg | 57 - ...86b6c3b80101e768562e687ef7b_cgraph_org.svg | 31 - ...8dca7b867074164d5f45b0f3851269d_cgraph.map | 5 - ...8dca7b867074164d5f45b0f3851269d_cgraph.md5 | 1 - ...8dca7b867074164d5f45b0f3851269d_cgraph.svg | 65 - ...7b867074164d5f45b0f3851269d_cgraph_org.svg | 39 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 7 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 83 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 57 - d7/d56/count__bits__flip_8cpp_source.html | 193 ++ ...longest__increasing__subsequence_8cpp.html | 91 +- ...8dca7b867074164d5f45b0f3851269d_cgraph.map | 9 - ...8dca7b867074164d5f45b0f3851269d_cgraph.md5 | 1 - ...8dca7b867074164d5f45b0f3851269d_cgraph.svg | 101 - ...7b867074164d5f45b0f3851269d_cgraph_org.svg | 75 - ...f9e6b7e6f15df4b525a2e7705ba3089_cgraph.map | 13 - ...f9e6b7e6f15df4b525a2e7705ba3089_cgraph.md5 | 1 - ...f9e6b7e6f15df4b525a2e7705ba3089_cgraph.svg | 137 - ...b7e6f15df4b525a2e7705ba3089_cgraph_org.svg | 111 - ...__increasing__subsequence_8cpp_source.html | 205 ++ ...etwork_1_1_neural_network__coll__graph.map | 10 +- ...etwork_1_1_neural_network__coll__graph.md5 | 2 +- ...etwork_1_1_neural_network__coll__graph.svg | 10 +- ...rk_1_1_neural_network__coll__graph_org.svg | 10 +- ...ures_1_1linked__list_1_1_node-members.html | 35 +- ...uctures_1_1tree__234_1_1_node-members.html | 35 +- .../shortest__common__supersequence_8cpp.html | 127 +- ...2ee8d7e67da9f6eb85146b08dad95e6_cgraph.map | 16 - ...2ee8d7e67da9f6eb85146b08dad95e6_cgraph.md5 | 1 - ...2ee8d7e67da9f6eb85146b08dad95e6_cgraph.svg | 165 - ...d7e67da9f6eb85146b08dad95e6_cgraph_org.svg | 139 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 5 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 65 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 39 - ...st__common__supersequence_8cpp_source.html | 293 ++ d7/d6a/bisection__method_8cpp.html | 107 +- ...003b5b2dcfff0769b957ab5c968b03d_cgraph.map | 5 - ...003b5b2dcfff0769b957ab5c968b03d_cgraph.md5 | 1 - ...003b5b2dcfff0769b957ab5c968b03d_cgraph.svg | 65 - ...5b2dcfff0769b957ab5c968b03d_cgraph_org.svg | 39 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 11 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 119 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 93 - d7/d6a/bisection__method_8cpp_source.html | 204 ++ d7/d73/abbreviation_8cpp.html | 154 +- ...8dca7b867074164d5f45b0f3851269d_cgraph.map | 5 - ...8dca7b867074164d5f45b0f3851269d_cgraph.md5 | 1 - ...8dca7b867074164d5f45b0f3851269d_cgraph.svg | 65 - ...7b867074164d5f45b0f3851269d_cgraph_org.svg | 39 - ...d60b8858720bf217df22d992d0fefaa_cgraph.map | 8 - ...d60b8858720bf217df22d992d0fefaa_cgraph.md5 | 1 - ...d60b8858720bf217df22d992d0fefaa_cgraph.svg | 94 - ...8858720bf217df22d992d0fefaa_cgraph_org.svg | 68 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 7 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 83 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 57 - ...53b2f647bee9c5b75ef8dd9ef685dc8_cgraph.map | 7 - ...53b2f647bee9c5b75ef8dd9ef685dc8_cgraph.md5 | 1 - ...53b2f647bee9c5b75ef8dd9ef685dc8_cgraph.svg | 84 - ...f647bee9c5b75ef8dd9ef685dc8_cgraph_org.svg | 58 - d7/d73/abbreviation_8cpp_source.html | 263 ++ d7/d75/postfix__evaluation_8cpp.html | 148 +- ...c27f949c9d6659be9f5bd2ccbe1360a_cgraph.map | 11 - ...c27f949c9d6659be9f5bd2ccbe1360a_cgraph.md5 | 1 - ...c27f949c9d6659be9f5bd2ccbe1360a_cgraph.svg | 120 - ...949c9d6659be9f5bd2ccbe1360a_cgraph_org.svg | 94 - ...9fd597e0ea394abe027ced4d2ea3338_cgraph.map | 8 - ...9fd597e0ea394abe027ced4d2ea3338_cgraph.md5 | 1 - ...9fd597e0ea394abe027ced4d2ea3338_cgraph.svg | 94 - ...97e0ea394abe027ced4d2ea3338_cgraph_org.svg | 68 - ...38bd3a177a6d61da3859a281233bbe1_cgraph.map | 13 - ...38bd3a177a6d61da3859a281233bbe1_cgraph.md5 | 1 - ...38bd3a177a6d61da3859a281233bbe1_cgraph.svg | 140 - ...3a177a6d61da3859a281233bbe1_cgraph_org.svg | 114 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 7 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 83 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 57 - d7/d75/postfix__evaluation_8cpp_source.html | 279 ++ ...igned_3_01uint256__t_01_4__coll__graph.map | 2 +- ...igned_3_01uint256__t_01_4__coll__graph.md5 | 2 +- ...igned_3_01uint256__t_01_4__coll__graph.svg | 2 +- ...d_3_01uint256__t_01_4__coll__graph_org.svg | 2 +- d7/d77/class_edge.html | 139 +- d7/d7a/namespacebinomial.html | 35 +- .../classstatistics_1_1stats__computer1.html | 186 +- ...57e942d49f4fd70f059f224b4ac07e1_cgraph.map | 7 - ...57e942d49f4fd70f059f224b4ac07e1_cgraph.md5 | 1 - ...57e942d49f4fd70f059f224b4ac07e1_cgraph.svg | 84 - ...42d49f4fd70f059f224b4ac07e1_cgraph_org.svg | 58 - d7/d7f/section.html | 35 +- d7/d81/namespacebit__manipulation.html | 41 +- d7/d83/trie__tree_8cpp.html | 65 +- ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 5 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 65 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 39 - d7/d83/trie__tree_8cpp_source.html | 318 ++ d7/d85/doubly__linked__list_8cpp_source.html | 280 ++ d7/d88/namespaceprefix__sum__array.html | 35 +- d7/d89/double__factorial_8cpp.html | 112 +- ...8ba20fed2ce427f6469c7689437829d_cgraph.map | 4 - ...8ba20fed2ce427f6469c7689437829d_cgraph.md5 | 1 - ...8ba20fed2ce427f6469c7689437829d_cgraph.svg | 56 - ...0fed2ce427f6469c7689437829d_cgraph_org.svg | 30 - ...8ec9ad42717780d6caaff9d3d6977f9_cgraph.map | 16 - ...8ec9ad42717780d6caaff9d3d6977f9_cgraph.md5 | 1 - ...8ec9ad42717780d6caaff9d3d6977f9_cgraph.svg | 223 -- ...ad42717780d6caaff9d3d6977f9_cgraph_org.svg | 140 - ...bbcebf3a2d0c67f4c3cfb5511a97981_cgraph.map | 8 - ...bbcebf3a2d0c67f4c3cfb5511a97981_cgraph.md5 | 1 - ...bbcebf3a2d0c67f4c3cfb5511a97981_cgraph.svg | 92 - ...bf3a2d0c67f4c3cfb5511a97981_cgraph_org.svg | 66 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 18 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 241 -- ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 158 - d7/d89/double__factorial_8cpp_source.html | 196 ++ d7/da4/struct_list_node.html | 122 +- d7/da6/eratosthenes_8cpp.html | 102 +- ...ddf1224851353fc92bfbff6f499fa97_cgraph.map | 26 - ...ddf1224851353fc92bfbff6f499fa97_cgraph.md5 | 1 - ...ddf1224851353fc92bfbff6f499fa97_cgraph.svg | 255 -- ...224851353fc92bfbff6f499fa97_cgraph_org.svg | 229 -- ...8dca7b867074164d5f45b0f3851269d_cgraph.map | 11 - ...8dca7b867074164d5f45b0f3851269d_cgraph.md5 | 1 - ...8dca7b867074164d5f45b0f3851269d_cgraph.svg | 119 - ...7b867074164d5f45b0f3851269d_cgraph_org.svg | 93 - d7/da6/eratosthenes_8cpp_source.html | 230 ++ ...t__size__of__linked__list_8cpp_source.html | 191 ++ ...gs_1_1boyer__moore_1_1pattern-members.html | 35 +- ...al_3_01uint256__t_01_4__inherit__graph.map | 2 +- ...al_3_01uint256__t_01_4__inherit__graph.md5 | 2 +- ...al_3_01uint256__t_01_4__inherit__graph.svg | 2 +- ..._01uint256__t_01_4__inherit__graph_org.svg | 2 +- d7/daf/namespace_knapsack.html | 35 +- ...search_1_1_ay_star_search__coll__graph.map | 4 +- ...search_1_1_ay_star_search__coll__graph.md5 | 2 +- ...search_1_1_ay_star_search__coll__graph.svg | 4 +- ...ch_1_1_ay_star_search__coll__graph_org.svg | 4 +- ...res_1_1tree__234_1_1_node__coll__graph.map | 14 +- ...res_1_1tree__234_1_1_node__coll__graph.md5 | 2 +- ...res_1_1tree__234_1_1_node__coll__graph.svg | 51 +- ...1_1tree__234_1_1_node__coll__graph_org.svg | 51 +- d7/db9/hill__cipher_8cpp.html | 182 +- ...4391124480d2a49f2dec900237b0712_cgraph.map | 66 - ...4391124480d2a49f2dec900237b0712_cgraph.md5 | 1 - ...4391124480d2a49f2dec900237b0712_cgraph.svg | 681 ---- ...124480d2a49f2dec900237b0712_cgraph_org.svg | 598 ---- ...147ad576f8a94a2a6b66948672b452b_cgraph.map | 63 - ...147ad576f8a94a2a6b66948672b452b_cgraph.md5 | 1 - ...147ad576f8a94a2a6b66948672b452b_cgraph.svg | 654 ---- ...d576f8a94a2a6b66948672b452b_cgraph_org.svg | 571 ---- ...4bfcd756610834acac501f9eea1e2eb_cgraph.map | 13 - ...4bfcd756610834acac501f9eea1e2eb_cgraph.md5 | 1 - ...4bfcd756610834acac501f9eea1e2eb_cgraph.svg | 137 - ...d756610834acac501f9eea1e2eb_cgraph_org.svg | 111 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 40 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 380 --- ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 354 --- d7/db9/hill__cipher_8cpp_source.html | 567 ++++ d7/dba/cll_8h_source.html | 39 +- ...k__nearest__neighbors_1_1_knn-members.html | 35 +- ...metic_3_01uint128__t_01_4__coll__graph.map | 2 +- ...metic_3_01uint128__t_01_4__coll__graph.md5 | 2 +- ...metic_3_01uint128__t_01_4__coll__graph.svg | 2 +- ...c_3_01uint128__t_01_4__coll__graph_org.svg | 2 +- d7/ded/queue_8hpp_source.html | 136 +- d7/def/trie__multiple__search_8cpp.html | 80 +- ...8dca7b867074164d5f45b0f3851269d_cgraph.map | 5 - ...8dca7b867074164d5f45b0f3851269d_cgraph.md5 | 1 - ...8dca7b867074164d5f45b0f3851269d_cgraph.svg | 65 - ...7b867074164d5f45b0f3851269d_cgraph_org.svg | 39 - ...f9e6b7e6f15df4b525a2e7705ba3089_cgraph.map | 7 - ...f9e6b7e6f15df4b525a2e7705ba3089_cgraph.md5 | 1 - ...f9e6b7e6f15df4b525a2e7705ba3089_cgraph.svg | 83 - ...b7e6f15df4b525a2e7705ba3089_cgraph_org.svg | 57 - .../trie__multiple__search_8cpp_source.html | 545 ++++ ...ve__tree__traversals_1_1_node-members.html | 35 +- d8/d01/struct_item-members.html | 35 +- d8/d10/structlist.html | 88 +- d8/d13/bubble__sort_8cpp.html | 146 +- ...8dca7b867074164d5f45b0f3851269d_cgraph.map | 9 - ...8dca7b867074164d5f45b0f3851269d_cgraph.md5 | 1 - ...8dca7b867074164d5f45b0f3851269d_cgraph.svg | 101 - ...7b867074164d5f45b0f3851269d_cgraph_org.svg | 75 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 11 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 119 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 93 - ...3b12930a83915712461d53fe9659686_cgraph.map | 7 - ...3b12930a83915712461d53fe9659686_cgraph.md5 | 1 - ...3b12930a83915712461d53fe9659686_cgraph.svg | 84 - ...930a83915712461d53fe9659686_cgraph_org.svg | 58 - d8/d13/bubble__sort_8cpp_source.html | 213 ++ d8/d14/namespacen__queens__optimized.html | 35 +- d8/d1d/namespacestrand.html | 35 +- d8/d20/classuint256__t-members.html | 35 +- ...l__network_1_1_neural_network-members.html | 35 +- .../classrange__queries_1_1per_seg_tree.html | 243 +- ...cec4b77d264521717cf9b0482c45817_cgraph.map | 5 - ...cec4b77d264521717cf9b0482c45817_cgraph.md5 | 1 - ...cec4b77d264521717cf9b0482c45817_cgraph.svg | 66 - ...b77d264521717cf9b0482c45817_cgraph_org.svg | 40 - ...fe4e431f3e09c274ecd7d2d58dcb865_cgraph.map | 5 - ...fe4e431f3e09c274ecd7d2d58dcb865_cgraph.md5 | 1 - ...fe4e431f3e09c274ecd7d2d58dcb865_cgraph.svg | 66 - ...431f3e09c274ecd7d2d58dcb865_cgraph_org.svg | 40 - ...4487eda25123bc4d112e8430821a6c6_cgraph.map | 12 - ...4487eda25123bc4d112e8430821a6c6_cgraph.md5 | 1 - ...4487eda25123bc4d112e8430821a6c6_cgraph.svg | 188 -- ...eda25123bc4d112e8430821a6c6_cgraph_org.svg | 105 - ...d3f2465a7c5803a1ff16c5378bcc5e4_cgraph.map | 6 - ...d3f2465a7c5803a1ff16c5378bcc5e4_cgraph.md5 | 1 - ...d3f2465a7c5803a1ff16c5378bcc5e4_cgraph.svg | 75 - ...465a7c5803a1ff16c5378bcc5e4_cgraph_org.svg | 49 - ...83bcabf5a8db8b0d8d156a4c1bcd4c3_cgraph.map | 14 - ...83bcabf5a8db8b0d8d156a4c1bcd4c3_cgraph.md5 | 1 - ...83bcabf5a8db8b0d8d156a4c1bcd4c3_cgraph.svg | 148 - ...abf5a8db8b0d8d156a4c1bcd4c3_cgraph_org.svg | 122 - ...e7f57935b3bb9446f11c239fd89ae79_cgraph.map | 7 - ...e7f57935b3bb9446f11c239fd89ae79_cgraph.md5 | 1 - ...e7f57935b3bb9446f11c239fd89ae79_cgraph.svg | 85 - ...7935b3bb9446f11c239fd89ae79_cgraph_org.svg | 59 - ...484002bcb701820d55f32ea5d525571_cgraph.map | 12 - ...484002bcb701820d55f32ea5d525571_cgraph.md5 | 1 - ...484002bcb701820d55f32ea5d525571_cgraph.svg | 189 -- ...02bcb701820d55f32ea5d525571_cgraph_org.svg | 106 - ...8ae4b1835e5e8aec32f68c5059ed4d4_cgraph.map | 10 - ...8ae4b1835e5e8aec32f68c5059ed4d4_cgraph.md5 | 1 - ...8ae4b1835e5e8aec32f68c5059ed4d4_cgraph.svg | 170 - ...b1835e5e8aec32f68c5059ed4d4_cgraph_org.svg | 87 - ...87494e6cf012d28c4f5b9d1c15f9c5d_cgraph.map | 18 - ...87494e6cf012d28c4f5b9d1c15f9c5d_cgraph.md5 | 1 - ...87494e6cf012d28c4f5b9d1c15f9c5d_cgraph.svg | 243 -- ...4e6cf012d28c4f5b9d1c15f9c5d_cgraph_org.svg | 160 - d8/d2a/namespacea1z26.html | 35 +- ...classothers_1_1_cache_1_1_l_r_u_cache.html | 244 +- ...ee34fcee480f21bb6f68a34f0f69b45_cgraph.map | 10 - ...ee34fcee480f21bb6f68a34f0f69b45_cgraph.md5 | 1 - ...ee34fcee480f21bb6f68a34f0f69b45_cgraph.svg | 113 - ...fcee480f21bb6f68a34f0f69b45_cgraph_org.svg | 87 - ...1be0357ecc7c34144f3d9a63c6cb3ea_cgraph.map | 7 - ...1be0357ecc7c34144f3d9a63c6cb3ea_cgraph.md5 | 1 - ...1be0357ecc7c34144f3d9a63c6cb3ea_cgraph.svg | 85 - ...357ecc7c34144f3d9a63c6cb3ea_cgraph_org.svg | 59 - ...022d494b40f82417340b113445e79a4_cgraph.map | 5 - ...022d494b40f82417340b113445e79a4_cgraph.md5 | 1 - ...022d494b40f82417340b113445e79a4_cgraph.svg | 67 - ...494b40f82417340b113445e79a4_cgraph_org.svg | 41 - ...ed__list__using__recusion_8cpp_source.html | 204 ++ d8/d36/namespacecut__rod.html | 35 +- d8/d38/structquery-members.html | 35 +- ...ructures_1_1_bloom_filter__coll__graph.map | 21 +- ...ructures_1_1_bloom_filter__coll__graph.md5 | 2 +- ...ructures_1_1_bloom_filter__coll__graph.svg | 103 +- ...ures_1_1_bloom_filter__coll__graph_org.svg | 103 +- d8/d41/namespacegames_1_1memory__game.html | 191 +- ...ceeea62d8fa6c563e2c66359fd73413_cgraph.map | 30 - ...ceeea62d8fa6c563e2c66359fd73413_cgraph.md5 | 1 - ...ceeea62d8fa6c563e2c66359fd73413_cgraph.svg | 297 -- ...a62d8fa6c563e2c66359fd73413_cgraph_org.svg | 271 -- ...714d97649c0edd57b4fb449799676a3_cgraph.map | 10 - ...714d97649c0edd57b4fb449799676a3_cgraph.md5 | 1 - ...714d97649c0edd57b4fb449799676a3_cgraph.svg | 114 - ...97649c0edd57b4fb449799676a3_cgraph_org.svg | 88 - ...573c8ae66ab66156d03e5e81bbba214_cgraph.map | 13 - ...573c8ae66ab66156d03e5e81bbba214_cgraph.md5 | 1 - ...573c8ae66ab66156d03e5e81bbba214_cgraph.svg | 138 - ...8ae66ab66156d03e5e81bbba214_cgraph_org.svg | 112 - ...c62ebb75853446656e24932bdc6dd6b_cgraph.map | 10 - ...c62ebb75853446656e24932bdc6dd6b_cgraph.md5 | 1 - ...c62ebb75853446656e24932bdc6dd6b_cgraph.svg | 114 - ...bb75853446656e24932bdc6dd6b_cgraph_org.svg | 88 - ...inverse__fermat__little__theorem_8cpp.html | 112 +- ...c62a87e79f29b98d8fe5b12eacdd928_cgraph.map | 6 - ...c62a87e79f29b98d8fe5b12eacdd928_cgraph.md5 | 1 - ...c62a87e79f29b98d8fe5b12eacdd928_cgraph.svg | 75 - ...87e79f29b98d8fe5b12eacdd928_cgraph_org.svg | 49 - ...a4929409fee35c3cb559e962a544b3e_cgraph.map | 4 - ...a4929409fee35c3cb559e962a544b3e_cgraph.md5 | 1 - ...a4929409fee35c3cb559e962a544b3e_cgraph.svg | 57 - ...9409fee35c3cb559e962a544b3e_cgraph_org.svg | 31 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 5 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 65 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 39 - ...7e807e02c65c6fffd6162b4c66290c2_cgraph.map | 10 - ...7e807e02c65c6fffd6162b4c66290c2_cgraph.md5 | 1 - ...7e807e02c65c6fffd6162b4c66290c2_cgraph.svg | 112 - ...7e02c65c6fffd6162b4c66290c2_cgraph_org.svg | 86 - ...__fermat__little__theorem_8cpp_source.html | 215 ++ d8/d55/class_cycle_check-members.html | 35 +- d8/d61/class_trie__coll__graph.map | 2 +- d8/d61/class_trie__coll__graph.md5 | 2 +- d8/d61/class_trie__coll__graph.svg | 2 +- d8/d61/class_trie__coll__graph_org.svg | 2 +- d8/d61/radix__sort2_8cpp.html | 130 +- ...83bb8ccf42aaf7375a83e91490eda1e_cgraph.map | 9 - ...83bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 | 1 - ...83bb8ccf42aaf7375a83e91490eda1e_cgraph.svg | 101 - ...8ccf42aaf7375a83e91490eda1e_cgraph_org.svg | 75 - ...8ead7d43b11505398daf9a894f122f9_cgraph.map | 6 - ...8ead7d43b11505398daf9a894f122f9_cgraph.md5 | 1 - ...8ead7d43b11505398daf9a894f122f9_cgraph.svg | 75 - ...7d43b11505398daf9a894f122f9_cgraph_org.svg | 49 - ...0cfd94fa3765b53d4ec7893ffaee5f8_cgraph.map | 13 - ...0cfd94fa3765b53d4ec7893ffaee5f8_cgraph.md5 | 1 - ...0cfd94fa3765b53d4ec7893ffaee5f8_cgraph.svg | 139 - ...94fa3765b53d4ec7893ffaee5f8_cgraph_org.svg | 113 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 11 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 119 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 93 - d8/d61/radix__sort2_8cpp_source.html | 218 ++ ...paceboruvkas__minimum__spanning__tree.html | 35 +- d8/d68/dijkstra_8cpp.html | 142 +- ...8ec9ad42717780d6caaff9d3d6977f9_cgraph.map | 21 - ...8ec9ad42717780d6caaff9d3d6977f9_cgraph.md5 | 1 - ...8ec9ad42717780d6caaff9d3d6977f9_cgraph.svg | 211 -- ...ad42717780d6caaff9d3d6977f9_cgraph_org.svg | 185 -- ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 26 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 256 -- ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 230 -- d8/d68/dijkstra_8cpp_source.html | 270 ++ d8/d69/classgraph_1_1_h_k_graph.html | 254 +- ...b49011c09cf90a116ab53bef61cd95a_cgraph.map | 5 - ...b49011c09cf90a116ab53bef61cd95a_cgraph.md5 | 1 - ...b49011c09cf90a116ab53bef61cd95a_cgraph.svg | 65 - ...11c09cf90a116ab53bef61cd95a_cgraph_org.svg | 39 - ...491add14d9fc04f679114ca6d6f0f93_cgraph.map | 5 - ...491add14d9fc04f679114ca6d6f0f93_cgraph.md5 | 1 - ...491add14d9fc04f679114ca6d6f0f93_cgraph.svg | 65 - ...dd14d9fc04f679114ca6d6f0f93_cgraph_org.svg | 39 - ...dbda80d02bdc26c3e8ff7330c9be75d_cgraph.map | 11 - ...dbda80d02bdc26c3e8ff7330c9be75d_cgraph.md5 | 1 - ...dbda80d02bdc26c3e8ff7330c9be75d_cgraph.svg | 120 - ...80d02bdc26c3e8ff7330c9be75d_cgraph_org.svg | 94 - ...794950cb3407b6b47d3dc986cf714c0_cgraph.map | 6 - ...794950cb3407b6b47d3dc986cf714c0_cgraph.md5 | 1 - ...794950cb3407b6b47d3dc986cf714c0_cgraph.svg | 74 - ...50cb3407b6b47d3dc986cf714c0_cgraph_org.svg | 48 - d8/d6c/line__segment__intersection_8cpp.html | 72 +- ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 5 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 65 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 39 - ...ne__segment__intersection_8cpp_source.html | 228 ++ d8/d72/class_r_btree.html | 225 +- d8/d76/morse__code_8cpp.html | 182 +- ...242e458904de8a242fcdaffe9e3ba1a_cgraph.map | 10 - ...242e458904de8a242fcdaffe9e3ba1a_cgraph.md5 | 1 - ...242e458904de8a242fcdaffe9e3ba1a_cgraph.svg | 111 - ...458904de8a242fcdaffe9e3ba1a_cgraph_org.svg | 85 - ...5c66ec8cf4cef0a35c50cbab86965dc_cgraph.map | 16 - ...5c66ec8cf4cef0a35c50cbab86965dc_cgraph.md5 | 1 - ...5c66ec8cf4cef0a35c50cbab86965dc_cgraph.svg | 165 - ...ec8cf4cef0a35c50cbab86965dc_cgraph_org.svg | 139 - ...8dca7b867074164d5f45b0f3851269d_cgraph.map | 5 - ...8dca7b867074164d5f45b0f3851269d_cgraph.md5 | 1 - ...8dca7b867074164d5f45b0f3851269d_cgraph.svg | 65 - ...7b867074164d5f45b0f3851269d_cgraph_org.svg | 39 - ...31773fd11555d21f70d6914138d9535_cgraph.map | 8 - ...31773fd11555d21f70d6914138d9535_cgraph.md5 | 1 - ...31773fd11555d21f70d6914138d9535_cgraph.svg | 93 - ...3fd11555d21f70d6914138d9535_cgraph_org.svg | 67 - ...9f294b0dec08a4a11d477a32f9bd829_cgraph.map | 8 - ...9f294b0dec08a4a11d477a32f9bd829_cgraph.md5 | 1 - ...9f294b0dec08a4a11d477a32f9bd829_cgraph.svg | 93 - ...4b0dec08a4a11d477a32f9bd829_cgraph_org.svg | 67 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 7 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 83 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 57 - d8/d76/morse__code_8cpp_source.html | 380 +++ d8/d76/namespacetopological__sort.html | 35 +- d8/d77/namespacemachine__learning.html | 683 ++-- ...42f435bca0839e721fc1574a61e8da3_cgraph.map | 25 - ...42f435bca0839e721fc1574a61e8da3_cgraph.md5 | 1 - ...42f435bca0839e721fc1574a61e8da3_cgraph.svg | 304 -- ...35bca0839e721fc1574a61e8da3_cgraph_org.svg | 221 -- ...cc29566568e0383dd7d374068cbe6b3_cgraph.map | 15 - ...cc29566568e0383dd7d374068cbe6b3_cgraph.md5 | 1 - ...cc29566568e0383dd7d374068cbe6b3_cgraph.svg | 156 - ...566568e0383dd7d374068cbe6b3_cgraph_org.svg | 130 - ...466857dab977a49f117029835b3b6d2_cgraph.map | 15 - ...466857dab977a49f117029835b3b6d2_cgraph.md5 | 1 - ...466857dab977a49f117029835b3b6d2_cgraph.svg | 156 - ...57dab977a49f117029835b3b6d2_cgraph_org.svg | 130 - ...0480fccfb39de20ca47f1bf51ecb6ec_cgraph.map | 21 - ...0480fccfb39de20ca47f1bf51ecb6ec_cgraph.md5 | 1 - ...0480fccfb39de20ca47f1bf51ecb6ec_cgraph.svg | 210 -- ...fccfb39de20ca47f1bf51ecb6ec_cgraph_org.svg | 184 -- ...342906d42b80fc6b6b3ad17bf00fcb9_cgraph.map | 15 - ...342906d42b80fc6b6b3ad17bf00fcb9_cgraph.md5 | 1 - ...342906d42b80fc6b6b3ad17bf00fcb9_cgraph.svg | 156 - ...06d42b80fc6b6b3ad17bf00fcb9_cgraph_org.svg | 130 - ...4bf1f3c43271a5fc93101f6ae2e6269_cgraph.map | 7 - ...4bf1f3c43271a5fc93101f6ae2e6269_cgraph.md5 | 1 - ...4bf1f3c43271a5fc93101f6ae2e6269_cgraph.svg | 83 - ...f3c43271a5fc93101f6ae2e6269_cgraph_org.svg | 57 - ...4260cb1be9b63d6e38107000ac4b7e7_cgraph.map | 7 - ...4260cb1be9b63d6e38107000ac4b7e7_cgraph.md5 | 1 - ...4260cb1be9b63d6e38107000ac4b7e7_cgraph.svg | 83 - ...cb1be9b63d6e38107000ac4b7e7_cgraph_org.svg | 57 - ...9fde571b38f9483576594f66572958a_cgraph.map | 13 - ...9fde571b38f9483576594f66572958a_cgraph.md5 | 1 - ...9fde571b38f9483576594f66572958a_cgraph.svg | 138 - ...571b38f9483576594f66572958a_cgraph_org.svg | 112 - ...4bbf61e65f8cd297255fa94b983d078_cgraph.map | 9 - ...4bbf61e65f8cd297255fa94b983d078_cgraph.md5 | 1 - ...4bbf61e65f8cd297255fa94b983d078_cgraph.svg | 102 - ...61e65f8cd297255fa94b983d078_cgraph_org.svg | 76 - ...6aac06ccf128b0a9c55c9ee1a8e5631_cgraph.map | 17 - ...6aac06ccf128b0a9c55c9ee1a8e5631_cgraph.md5 | 1 - ...6aac06ccf128b0a9c55c9ee1a8e5631_cgraph.svg | 174 -- ...06ccf128b0a9c55c9ee1a8e5631_cgraph_org.svg | 148 - ...72a53c88203fde278f1fe6c3afe5b07_cgraph.map | 17 - ...72a53c88203fde278f1fe6c3afe5b07_cgraph.md5 | 1 - ...72a53c88203fde278f1fe6c3afe5b07_cgraph.svg | 174 -- ...3c88203fde278f1fe6c3afe5b07_cgraph_org.svg | 148 - ...ee7b35403af3612222d3b7a53074905_cgraph.map | 5 - ...ee7b35403af3612222d3b7a53074905_cgraph.md5 | 1 - ...ee7b35403af3612222d3b7a53074905_cgraph.svg | 67 - ...35403af3612222d3b7a53074905_cgraph_org.svg | 41 - ...332d152078e96311e43ac5e7183ea26_cgraph.map | 19 - ...332d152078e96311e43ac5e7183ea26_cgraph.md5 | 1 - ...332d152078e96311e43ac5e7183ea26_cgraph.svg | 193 -- ...152078e96311e43ac5e7183ea26_cgraph_org.svg | 167 - ...43d294e21a0c4fa33c53757df054576_cgraph.map | 25 - ...43d294e21a0c4fa33c53757df054576_cgraph.md5 | 1 - ...43d294e21a0c4fa33c53757df054576_cgraph.svg | 303 -- ...94e21a0c4fa33c53757df054576_cgraph_org.svg | 220 -- ...afa3e62b686aebdbad81c4f89913f43_cgraph.map | 15 - ...afa3e62b686aebdbad81c4f89913f43_cgraph.md5 | 1 - ...afa3e62b686aebdbad81c4f89913f43_cgraph.svg | 157 - ...e62b686aebdbad81c4f89913f43_cgraph_org.svg | 131 - ...868ad43698a1d69ba46ea3827d7d2c3_cgraph.map | 23 - ...868ad43698a1d69ba46ea3827d7d2c3_cgraph.md5 | 1 - ...868ad43698a1d69ba46ea3827d7d2c3_cgraph.svg | 228 -- ...d43698a1d69ba46ea3827d7d2c3_cgraph_org.svg | 202 -- ...4986b23760039711848155739c31b35_cgraph.map | 5 - ...4986b23760039711848155739c31b35_cgraph.md5 | 1 - ...4986b23760039711848155739c31b35_cgraph.svg | 65 - ...b23760039711848155739c31b35_cgraph_org.svg | 39 - ...801bf30591ca6b2c38ff4fed0ded23f_cgraph.map | 15 - ...801bf30591ca6b2c38ff4fed0ded23f_cgraph.md5 | 1 - ...801bf30591ca6b2c38ff4fed0ded23f_cgraph.svg | 157 - ...f30591ca6b2c38ff4fed0ded23f_cgraph_org.svg | 131 - d8/d7a/sha1_8cpp.html | 192 +- ...397f2444a05e4d1487c67e215410d3c_cgraph.map | 5 - ...397f2444a05e4d1487c67e215410d3c_cgraph.md5 | 1 - ...397f2444a05e4d1487c67e215410d3c_cgraph.svg | 65 - ...2444a05e4d1487c67e215410d3c_cgraph_org.svg | 39 - ...be3471f7e489d7d0df42b97a48bf141_cgraph.map | 7 - ...be3471f7e489d7d0df42b97a48bf141_cgraph.md5 | 1 - ...be3471f7e489d7d0df42b97a48bf141_cgraph.svg | 83 - ...71f7e489d7d0df42b97a48bf141_cgraph_org.svg | 57 - ...8dca7b867074164d5f45b0f3851269d_cgraph.map | 7 - ...8dca7b867074164d5f45b0f3851269d_cgraph.md5 | 1 - ...8dca7b867074164d5f45b0f3851269d_cgraph.svg | 83 - ...7b867074164d5f45b0f3851269d_cgraph_org.svg | 57 - ...9e1a11f44135b890dd10a00e73b5661_cgraph.map | 9 - ...9e1a11f44135b890dd10a00e73b5661_cgraph.md5 | 1 - ...9e1a11f44135b890dd10a00e73b5661_cgraph.svg | 101 - ...11f44135b890dd10a00e73b5661_cgraph_org.svg | 75 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 16 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 164 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 138 - d8/d7a/sha1_8cpp_source.html | 389 +++ ...linked__list_1_1_circular_linked_list.html | 236 +- ...3a896b34d27fda69049827e0c4dab42_cgraph.map | 5 - ...3a896b34d27fda69049827e0c4dab42_cgraph.md5 | 1 - ...3a896b34d27fda69049827e0c4dab42_cgraph.svg | 67 - ...6b34d27fda69049827e0c4dab42_cgraph_org.svg | 41 - ...42fa439b102c6f86341f421ddcfe0a1_cgraph.map | 11 - ...42fa439b102c6f86341f421ddcfe0a1_cgraph.md5 | 1 - ...42fa439b102c6f86341f421ddcfe0a1_cgraph.svg | 184 -- ...439b102c6f86341f421ddcfe0a1_cgraph_org.svg | 101 - ...b7bbb0918c261bc216aef9e6dd39aa4_cgraph.map | 9 - ...b7bbb0918c261bc216aef9e6dd39aa4_cgraph.md5 | 1 - ...b7bbb0918c261bc216aef9e6dd39aa4_cgraph.svg | 164 - ...b0918c261bc216aef9e6dd39aa4_cgraph_org.svg | 81 - ...6195fcf11b636064c7172cb74b55dd0_cgraph.map | 5 - ...6195fcf11b636064c7172cb74b55dd0_cgraph.md5 | 1 - ...6195fcf11b636064c7172cb74b55dd0_cgraph.svg | 69 - ...fcf11b636064c7172cb74b55dd0_cgraph_org.svg | 43 - ...3611ec1fef92eeeb875aea1bde1e4de_cgraph.map | 4 - ...3611ec1fef92eeeb875aea1bde1e4de_cgraph.md5 | 1 - ...3611ec1fef92eeeb875aea1bde1e4de_cgraph.svg | 58 - ...ec1fef92eeeb875aea1bde1e4de_cgraph_org.svg | 32 - ...cc37166f2f73763df39894b675f89c9_cgraph.map | 11 - ...cc37166f2f73763df39894b675f89c9_cgraph.md5 | 1 - ...cc37166f2f73763df39894b675f89c9_cgraph.svg | 184 -- ...166f2f73763df39894b675f89c9_cgraph_org.svg | 101 - ...341901e926b3fa3a796c64ca572f592_cgraph.map | 4 - ...341901e926b3fa3a796c64ca572f592_cgraph.md5 | 1 - ...341901e926b3fa3a796c64ca572f592_cgraph.svg | 58 - ...01e926b3fa3a796c64ca572f592_cgraph_org.svg | 32 - ...38565472a07d07f63ec0d2fd8a69d4d_cgraph.map | 7 - ...38565472a07d07f63ec0d2fd8a69d4d_cgraph.md5 | 1 - ...38565472a07d07f63ec0d2fd8a69d4d_cgraph.svg | 87 - ...5472a07d07f63ec0d2fd8a69d4d_cgraph_org.svg | 61 - d8/d7c/radix__sort_8cpp_source.html | 197 ++ ...ruskals__minimum__spanning__tree_8cpp.html | 130 +- ...8dca7b867074164d5f45b0f3851269d_cgraph.map | 7 - ...8dca7b867074164d5f45b0f3851269d_cgraph.md5 | 1 - ...8dca7b867074164d5f45b0f3851269d_cgraph.svg | 84 - ...7b867074164d5f45b0f3851269d_cgraph_org.svg | 58 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 9 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 102 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 76 - ...__minimum__spanning__tree_8cpp_source.html | 292 ++ d8/d88/namespaceset_kth_bit.html | 35 +- d8/d89/namespacelinear__probing.html | 293 +- ...6680b8a37d442c2f208faa286e33908_cgraph.map | 24 - ...6680b8a37d442c2f208faa286e33908_cgraph.md5 | 1 - ...6680b8a37d442c2f208faa286e33908_cgraph.svg | 294 -- ...b8a37d442c2f208faa286e33908_cgraph_org.svg | 211 -- ...6d34fd3511626a83ab00665d7bc34d1_cgraph.map | 17 - ...6d34fd3511626a83ab00665d7bc34d1_cgraph.md5 | 1 - ...6d34fd3511626a83ab00665d7bc34d1_cgraph.svg | 174 -- ...fd3511626a83ab00665d7bc34d1_cgraph_org.svg | 148 - ...322209aaa91b7bbf16f96e1cc52b746_cgraph.map | 11 - ...322209aaa91b7bbf16f96e1cc52b746_cgraph.md5 | 1 - ...322209aaa91b7bbf16f96e1cc52b746_cgraph.svg | 120 - ...09aaa91b7bbf16f96e1cc52b746_cgraph_org.svg | 94 - ...a082dc1426a79f866cee6b370df37b0_cgraph.map | 17 - ...a082dc1426a79f866cee6b370df37b0_cgraph.md5 | 1 - ...a082dc1426a79f866cee6b370df37b0_cgraph.svg | 231 -- ...dc1426a79f866cee6b370df37b0_cgraph_org.svg | 148 - ...5854f5aa216e61219154c62167ce8f0_cgraph.map | 21 - ...5854f5aa216e61219154c62167ce8f0_cgraph.md5 | 1 - ...5854f5aa216e61219154c62167ce8f0_cgraph.svg | 267 -- ...f5aa216e61219154c62167ce8f0_cgraph_org.svg | 184 -- ...cf8d033f8115f39f3c93cfb6cee0b28_cgraph.map | 14 - ...cf8d033f8115f39f3c93cfb6cee0b28_cgraph.md5 | 1 - ...cf8d033f8115f39f3c93cfb6cee0b28_cgraph.svg | 147 - ...033f8115f39f3c93cfb6cee0b28_cgraph_org.svg | 121 - ...87b71d810901fab69c4ad9d4d0fa635_cgraph.map | 5 - ...87b71d810901fab69c4ad9d4d0fa635_cgraph.md5 | 1 - ...87b71d810901fab69c4ad9d4d0fa635_cgraph.svg | 65 - ...1d810901fab69c4ad9d4d0fa635_cgraph_org.svg | 39 - d8/d8a/exponential__search_8cpp.html | 75 +- ...06cedad209456eae95d37b7cd66acae_cgraph.map | 5 - ...06cedad209456eae95d37b7cd66acae_cgraph.md5 | 1 - ...06cedad209456eae95d37b7cd66acae_cgraph.svg | 65 - ...dad209456eae95d37b7cd66acae_cgraph_org.svg | 39 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 9 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 101 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 75 - ...421bf4b7b95f20ac86c233adfdb9208_cgraph.map | 7 - ...421bf4b7b95f20ac86c233adfdb9208_cgraph.md5 | 1 - ...421bf4b7b95f20ac86c233adfdb9208_cgraph.svg | 83 - ...f4b7b95f20ac86c233adfdb9208_cgraph_org.svg | 57 - d8/d8a/exponential__search_8cpp_source.html | 200 ++ d8/d8e/struct_node-members.html | 35 +- d8/d8f/bitonic__sort_8cpp_source.html | 204 ++ d8/d90/iterative__tree__traversals_8cpp.html | 231 +- ...38b236fe900f7bb7e57164f5bed66c2_cgraph.map | 15 - ...38b236fe900f7bb7e57164f5bed66c2_cgraph.md5 | 1 - ...38b236fe900f7bb7e57164f5bed66c2_cgraph.svg | 157 - ...36fe900f7bb7e57164f5bed66c2_cgraph_org.svg | 131 - ...1d922dbb5905993960c6a7f0ba71ac0_cgraph.map | 15 - ...1d922dbb5905993960c6a7f0ba71ac0_cgraph.md5 | 1 - ...1d922dbb5905993960c6a7f0ba71ac0_cgraph.svg | 157 - ...2dbb5905993960c6a7f0ba71ac0_cgraph_org.svg | 131 - ...25c4c8520991999ee6dbe13d99b87f4_cgraph.map | 15 - ...25c4c8520991999ee6dbe13d99b87f4_cgraph.md5 | 1 - ...25c4c8520991999ee6dbe13d99b87f4_cgraph.svg | 157 - ...c8520991999ee6dbe13d99b87f4_cgraph_org.svg | 131 - ...9ef334cd7eb607f4eb8732566ea00b8_cgraph.map | 15 - ...9ef334cd7eb607f4eb8732566ea00b8_cgraph.md5 | 1 - ...9ef334cd7eb607f4eb8732566ea00b8_cgraph.svg | 157 - ...34cd7eb607f4eb8732566ea00b8_cgraph_org.svg | 131 - ...35ae2868441f8a11c965b87b2494f21_cgraph.map | 15 - ...35ae2868441f8a11c965b87b2494f21_cgraph.md5 | 1 - ...35ae2868441f8a11c965b87b2494f21_cgraph.svg | 157 - ...2868441f8a11c965b87b2494f21_cgraph_org.svg | 131 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 77 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 778 ----- ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 695 ----- ...727f920064f2b8f484b589b60d49b89_cgraph.map | 15 - ...727f920064f2b8f484b589b60d49b89_cgraph.md5 | 1 - ...727f920064f2b8f484b589b60d49b89_cgraph.svg | 157 - ...920064f2b8f484b589b60d49b89_cgraph_org.svg | 131 - ...erative__tree__traversals_8cpp_source.html | 493 +++ d8/d93/namespacemagic__sequence.html | 35 +- d8/d95/vector__ops_8hpp.html | 81 +- d8/d95/vector__ops_8hpp_source.html | 523 ++-- d8/d96/stack__using__array_8cpp_source.html | 291 ++ ..._tree__traversals_1_1_b_t__coll__graph.map | 8 +- ..._tree__traversals_1_1_b_t__coll__graph.md5 | 2 +- ..._tree__traversals_1_1_b_t__coll__graph.svg | 27 +- ...e__traversals_1_1_b_t__coll__graph_org.svg | 27 +- ...connected__components__with__dsu_8cpp.html | 157 +- ...69384d8a4197a9b24482ce7c321a85e_cgraph.map | 4 - ...69384d8a4197a9b24482ce7c321a85e_cgraph.md5 | 1 - ...69384d8a4197a9b24482ce7c321a85e_cgraph.svg | 57 - ...4d8a4197a9b24482ce7c321a85e_cgraph_org.svg | 31 - ...7cb7472f310a798f555fe45cdf50145_cgraph.map | 9 - ...7cb7472f310a798f555fe45cdf50145_cgraph.md5 | 1 - ...7cb7472f310a798f555fe45cdf50145_cgraph.svg | 103 - ...472f310a798f555fe45cdf50145_cgraph_org.svg | 77 - ...8dca7b867074164d5f45b0f3851269d_cgraph.map | 5 - ...8dca7b867074164d5f45b0f3851269d_cgraph.md5 | 1 - ...8dca7b867074164d5f45b0f3851269d_cgraph.svg | 65 - ...7b867074164d5f45b0f3851269d_cgraph_org.svg | 39 - ...2d6698b71384a352ec4b81b31b13141_cgraph.map | 11 - ...2d6698b71384a352ec4b81b31b13141_cgraph.md5 | 1 - ...2d6698b71384a352ec4b81b31b13141_cgraph.svg | 121 - ...98b71384a352ec4b81b31b13141_cgraph_org.svg | 95 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 7 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 83 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 57 - ...91ed94113c56191b75fe45f688d6e62_cgraph.map | 4 - ...91ed94113c56191b75fe45f688d6e62_cgraph.md5 | 1 - ...91ed94113c56191b75fe45f688d6e62_cgraph.svg | 57 - ...94113c56191b75fe45f688d6e62_cgraph_org.svg | 31 - ...ed__components__with__dsu_8cpp_source.html | 224 ++ d8/d9a/fast__fourier__transform_8cpp.html | 114 +- ...8dca7b867074164d5f45b0f3851269d_cgraph.map | 10 - ...8dca7b867074164d5f45b0f3851269d_cgraph.md5 | 1 - ...8dca7b867074164d5f45b0f3851269d_cgraph.svg | 111 - ...7b867074164d5f45b0f3851269d_cgraph_org.svg | 85 - ...f9e6b7e6f15df4b525a2e7705ba3089_cgraph.map | 12 - ...f9e6b7e6f15df4b525a2e7705ba3089_cgraph.md5 | 1 - ...f9e6b7e6f15df4b525a2e7705ba3089_cgraph.svg | 129 - ...b7e6f15df4b525a2e7705ba3089_cgraph_org.svg | 103 - .../fast__fourier__transform_8cpp_source.html | 265 ++ d8/d9c/union__of__two__arrays_8cpp.html | 81 +- ...8dca7b867074164d5f45b0f3851269d_cgraph.map | 23 - ...8dca7b867074164d5f45b0f3851269d_cgraph.md5 | 1 - ...8dca7b867074164d5f45b0f3851269d_cgraph.svg | 227 -- ...7b867074164d5f45b0f3851269d_cgraph_org.svg | 201 -- ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 25 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 245 -- ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 219 -- .../union__of__two__arrays_8cpp_source.html | 306 ++ d8/d9f/namespacesudoku__solver.html | 35 +- ...ru__cache_1_1_l_r_u_cache__coll__graph.map | 15 +- ...ru__cache_1_1_l_r_u_cache__coll__graph.md5 | 2 +- ...ru__cache_1_1_l_r_u_cache__coll__graph.svg | 150 +- ...cache_1_1_l_r_u_cache__coll__graph_org.svg | 91 +- d8/da7/namespacedepth__first__search.html | 35 +- .../classstatistics_1_1stats__computer2.html | 186 +- ...f2e84df4fc386bb3295016ef8fd156e_cgraph.map | 7 - ...f2e84df4fc386bb3295016ef8fd156e_cgraph.md5 | 1 - ...f2e84df4fc386bb3295016ef8fd156e_cgraph.svg | 84 - ...4df4fc386bb3295016ef8fd156e_cgraph_org.svg | 58 - d8/dab/sparse__table_8cpp.html | 126 +- ...ddf1224851353fc92bfbff6f499fa97_cgraph.map | 13 - ...ddf1224851353fc92bfbff6f499fa97_cgraph.md5 | 1 - ...ddf1224851353fc92bfbff6f499fa97_cgraph.svg | 137 - ...224851353fc92bfbff6f499fa97_cgraph_org.svg | 111 - ...8dca7b867074164d5f45b0f3851269d_cgraph.map | 11 - ...8dca7b867074164d5f45b0f3851269d_cgraph.md5 | 1 - ...8dca7b867074164d5f45b0f3851269d_cgraph.svg | 119 - ...7b867074164d5f45b0f3851269d_cgraph_org.svg | 93 - d8/dab/sparse__table_8cpp_source.html | 242 ++ d8/db1/binomial__calculate_8cpp.html | 91 +- ...83bb8ccf42aaf7375a83e91490eda1e_cgraph.map | 5 - ...83bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 | 1 - ...83bb8ccf42aaf7375a83e91490eda1e_cgraph.svg | 65 - ...8ccf42aaf7375a83e91490eda1e_cgraph_org.svg | 39 - ...e407a2a13362c4c64fbe509ff325978_cgraph.map | 4 - ...e407a2a13362c4c64fbe509ff325978_cgraph.md5 | 1 - ...e407a2a13362c4c64fbe509ff325978_cgraph.svg | 56 - ...a2a13362c4c64fbe509ff325978_cgraph_org.svg | 30 - ...0f2228420376f4db7e1274f2b41667c_cgraph.map | 8 - ...0f2228420376f4db7e1274f2b41667c_cgraph.md5 | 1 - ...0f2228420376f4db7e1274f2b41667c_cgraph.svg | 92 - ...28420376f4db7e1274f2b41667c_cgraph_org.svg | 66 - d8/db1/binomial__calculate_8cpp_source.html | 207 ++ ...ueue__using__linked__list_8cpp_source.html | 210 ++ d8/db9/structcompare-members.html | 35 +- d8/db9/topological__sort_8cpp.html | 161 +- ...4dc5d7914958dbd24dda2fd862dc41b_cgraph.map | 10 - ...4dc5d7914958dbd24dda2fd862dc41b_cgraph.md5 | 1 - ...4dc5d7914958dbd24dda2fd862dc41b_cgraph.svg | 111 - ...d7914958dbd24dda2fd862dc41b_cgraph_org.svg | 85 - ...8dca7b867074164d5f45b0f3851269d_cgraph.map | 9 - ...8dca7b867074164d5f45b0f3851269d_cgraph.md5 | 1 - ...8dca7b867074164d5f45b0f3851269d_cgraph.svg | 103 - ...7b867074164d5f45b0f3851269d_cgraph_org.svg | 77 - ...cbcaa2bb70af0a11d0c090ea1796aea_cgraph.map | 5 - ...cbcaa2bb70af0a11d0c090ea1796aea_cgraph.md5 | 1 - ...cbcaa2bb70af0a11d0c090ea1796aea_cgraph.svg | 66 - ...a2bb70af0a11d0c090ea1796aea_cgraph_org.svg | 40 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 11 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 121 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 95 - d8/db9/topological__sort_8cpp_source.html | 285 ++ ...sing__array_1_1_queue___array-members.html | 35 +- d8/dc6/namespacemanacher.html | 35 +- d8/dc8/class_compare-members.html | 35 +- d8/dc8/struct_point.html | 95 +- d8/dcc/binary__insertion__sort_8cpp.html | 105 +- ...8dca7b867074164d5f45b0f3851269d_cgraph.map | 18 - ...8dca7b867074164d5f45b0f3851269d_cgraph.md5 | 1 - ...8dca7b867074164d5f45b0f3851269d_cgraph.svg | 183 -- ...7b867074164d5f45b0f3851269d_cgraph_org.svg | 157 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 20 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 201 -- ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 175 -- .../binary__insertion__sort_8cpp_source.html | 229 ++ d8/dcc/namespacestd.html | 2757 ----------------- d8/dcc/namespacestd.js | 552 ---- d8/dcd/namespacelru__cache.html | 35 +- d8/dce/test__queue_8cpp_source.html | 238 ++ d8/dd5/check__factorial_8cpp.html | 67 +- ...83bb8ccf42aaf7375a83e91490eda1e_cgraph.map | 7 - ...83bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 | 1 - ...83bb8ccf42aaf7375a83e91490eda1e_cgraph.svg | 83 - ...8ccf42aaf7375a83e91490eda1e_cgraph_org.svg | 57 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 9 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 101 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 75 - d8/dd5/check__factorial_8cpp_source.html | 183 ++ d8/ddf/sieve__of__eratosthenes_8cpp.html | 107 +- ...2be949d160b26361f7e323310f7fa0c_cgraph.map | 9 - ...2be949d160b26361f7e323310f7fa0c_cgraph.md5 | 1 - ...2be949d160b26361f7e323310f7fa0c_cgraph.svg | 102 - ...49d160b26361f7e323310f7fa0c_cgraph_org.svg | 76 - ...5bc4a221e584d33b79b322432ecc0f3_cgraph.map | 7 - ...5bc4a221e584d33b79b322432ecc0f3_cgraph.md5 | 1 - ...5bc4a221e584d33b79b322432ecc0f3_cgraph.svg | 84 - ...a221e584d33b79b322432ecc0f3_cgraph_org.svg | 58 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 5 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 65 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 39 - .../sieve__of__eratosthenes_8cpp_source.html | 223 ++ d8/dee/avltree_8cpp.html | 164 +- ...473fe7416332495b2678ebe89652e4b_cgraph.map | 17 - ...473fe7416332495b2678ebe89652e4b_cgraph.md5 | 1 - ...473fe7416332495b2678ebe89652e4b_cgraph.svg | 173 -- ...e7416332495b2678ebe89652e4b_cgraph_org.svg | 147 - ...fa160a678a34dd51c0aea1c0c00ed5e_cgraph.map | 4 - ...fa160a678a34dd51c0aea1c0c00ed5e_cgraph.md5 | 1 - ...fa160a678a34dd51c0aea1c0c00ed5e_cgraph.svg | 56 - ...0a678a34dd51c0aea1c0c00ed5e_cgraph_org.svg | 30 - ...2659e9e223e520cf91d7e55c4a3f88c_cgraph.map | 4 - ...2659e9e223e520cf91d7e55c4a3f88c_cgraph.md5 | 1 - ...2659e9e223e520cf91d7e55c4a3f88c_cgraph.svg | 56 - ...e9e223e520cf91d7e55c4a3f88c_cgraph_org.svg | 30 - ...29a7fdc2db1784f5a6e25025ff7cbf5_cgraph.map | 7 - ...29a7fdc2db1784f5a6e25025ff7cbf5_cgraph.md5 | 1 - ...29a7fdc2db1784f5a6e25025ff7cbf5_cgraph.svg | 83 - ...fdc2db1784f5a6e25025ff7cbf5_cgraph_org.svg | 57 - ...a457ffec24c9643f2768e7a65e96546_cgraph.map | 8 - ...a457ffec24c9643f2768e7a65e96546_cgraph.md5 | 1 - ...a457ffec24c9643f2768e7a65e96546_cgraph.svg | 92 - ...ffec24c9643f2768e7a65e96546_cgraph_org.svg | 66 - ...4a66d8b0c2b0d626aea45977e358c83_cgraph.map | 6 - ...4a66d8b0c2b0d626aea45977e358c83_cgraph.md5 | 1 - ...4a66d8b0c2b0d626aea45977e358c83_cgraph.svg | 74 - ...d8b0c2b0d626aea45977e358c83_cgraph_org.svg | 48 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 30 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 290 -- ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 264 -- d8/dee/avltree_8cpp_source.html | 315 ++ d8/df0/queue__using__array_8cpp.html | 93 +- ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 14 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 152 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 126 - d8/df0/queue__using__array_8cpp_source.html | 249 ++ d8/df9/stack_8hpp__dep__incl.map | 7 + d8/df9/stack_8hpp__dep__incl.md5 | 1 + d8/df9/stack_8hpp__dep__incl.svg | 85 + d8/df9/stack_8hpp__dep__incl_org.svg | 59 + d8/dfa/median__search2_8cpp.html | 80 +- ...fefe132a0c3ee780ebc703f37ebce6a_cgraph.map | 4 - ...fefe132a0c3ee780ebc703f37ebce6a_cgraph.md5 | 1 - ...fefe132a0c3ee780ebc703f37ebce6a_cgraph.svg | 57 - ...132a0c3ee780ebc703f37ebce6a_cgraph_org.svg | 31 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 5 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 65 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 39 - d8/dfa/median__search2_8cpp_source.html | 251 ++ ...res_1_1reverse__binary__tree_1_1_node.html | 121 +- d9/d00/factorial_8cpp.html | 66 +- ...83bb8ccf42aaf7375a83e91490eda1e_cgraph.map | 6 - ...83bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 | 1 - ...83bb8ccf42aaf7375a83e91490eda1e_cgraph.svg | 74 - ...8ccf42aaf7375a83e91490eda1e_cgraph_org.svg | 48 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 8 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 92 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 66 - d9/d00/factorial_8cpp_source.html | 177 ++ d9/d02/linear__search_8cpp.html | 95 +- ...83bb8ccf42aaf7375a83e91490eda1e_cgraph.map | 5 - ...83bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 | 1 - ...83bb8ccf42aaf7375a83e91490eda1e_cgraph.svg | 65 - ...8ccf42aaf7375a83e91490eda1e_cgraph_org.svg | 39 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 8 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 92 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 66 - d9/d02/linear__search_8cpp_source.html | 228 ++ d9/d03/namespacestring__search.html | 164 +- ...e37af2f023495129cb57338c801209e_cgraph.map | 10 - ...e37af2f023495129cb57338c801209e_cgraph.md5 | 1 - ...e37af2f023495129cb57338c801209e_cgraph.svg | 111 - ...f2f023495129cb57338c801209e_cgraph_org.svg | 85 - ...1c673d56cbf67b1d2ee4d869185b7d9_cgraph.map | 11 - ...1c673d56cbf67b1d2ee4d869185b7d9_cgraph.md5 | 1 - ...1c673d56cbf67b1d2ee4d869185b7d9_cgraph.svg | 120 - ...3d56cbf67b1d2ee4d869185b7d9_cgraph_org.svg | 94 - ...3c72ff237cdf623e42d4295e0029bf9_cgraph.map | 5 - ...3c72ff237cdf623e42d4295e0029bf9_cgraph.md5 | 1 - ...3c72ff237cdf623e42d4295e0029bf9_cgraph.svg | 66 - ...ff237cdf623e42d4295e0029bf9_cgraph_org.svg | 40 - ...b2cd81064717aedd62bfb096b1a73d8_cgraph.map | 7 - ...b2cd81064717aedd62bfb096b1a73d8_cgraph.md5 | 1 - ...b2cd81064717aedd62bfb096b1a73d8_cgraph.svg | 84 - ...81064717aedd62bfb096b1a73d8_cgraph_org.svg | 58 - ...ive__tree__traversals_1_1_binary_tree.html | 123 +- ...c33f2c1a3a3deb486a1c33ee5239499_cgraph.map | 11 - ...c33f2c1a3a3deb486a1c33ee5239499_cgraph.md5 | 1 - ...c33f2c1a3a3deb486a1c33ee5239499_cgraph.svg | 121 - ...2c1a3a3deb486a1c33ee5239499_cgraph_org.svg | 95 - ...36a07c90b7f312bb86d2ec104efca25_cgraph.map | 11 - ...36a07c90b7f312bb86d2ec104efca25_cgraph.md5 | 1 - ...36a07c90b7f312bb86d2ec104efca25_cgraph.svg | 121 - ...7c90b7f312bb86d2ec104efca25_cgraph_org.svg | 95 - ...4c6a8e67fb8267a65439b035666b5ae_cgraph.map | 11 - ...4c6a8e67fb8267a65439b035666b5ae_cgraph.md5 | 1 - ...4c6a8e67fb8267a65439b035666b5ae_cgraph.svg | 121 - ...8e67fb8267a65439b035666b5ae_cgraph_org.svg | 95 - d9/d13/namespaceinversion.html | 35 +- d9/d14/array__left__rotation_8cpp.html | 77 +- ...8dca7b867074164d5f45b0f3851269d_cgraph.map | 15 - ...8dca7b867074164d5f45b0f3851269d_cgraph.md5 | 1 - ...8dca7b867074164d5f45b0f3851269d_cgraph.svg | 155 - ...7b867074164d5f45b0f3851269d_cgraph_org.svg | 129 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 17 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 173 -- ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 147 - d9/d14/array__left__rotation_8cpp_source.html | 277 ++ d9/d1c/kruskal_8cpp_source.html | 203 ++ d9/d1f/binary__addition_8cpp.html | 67 +- ...83bb8ccf42aaf7375a83e91490eda1e_cgraph.map | 19 - ...83bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 | 1 - ...83bb8ccf42aaf7375a83e91490eda1e_cgraph.svg | 251 -- ...8ccf42aaf7375a83e91490eda1e_cgraph_org.svg | 168 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 21 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 269 -- ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 186 -- d9/d1f/binary__addition_8cpp_source.html | 231 ++ ...smachine__learning_1_1adaline-members.html | 35 +- d9/d21/namespacewave__sort.html | 35 +- ...classgraph_1_1_lowest_common_ancestor.html | 126 +- ...2589cc39d6bbff6c997152f1b96e356_cgraph.map | 11 - ...2589cc39d6bbff6c997152f1b96e356_cgraph.md5 | 1 - ...2589cc39d6bbff6c997152f1b96e356_cgraph.svg | 121 - ...cc39d6bbff6c997152f1b96e356_cgraph_org.svg | 95 - ...0151e19512b48cc0b14ea121df00488_cgraph.map | 5 - ...0151e19512b48cc0b14ea121df00488_cgraph.md5 | 1 - ...0151e19512b48cc0b14ea121df00488_cgraph.svg | 66 - ...e19512b48cc0b14ea121df00488_cgraph_org.svg | 40 - ...0825a4fd4c41860b689d253dd2c8e93_cgraph.map | 13 - ...0825a4fd4c41860b689d253dd2c8e93_cgraph.md5 | 1 - ...0825a4fd4c41860b689d253dd2c8e93_cgraph.svg | 197 -- ...a4fd4c41860b689d253dd2c8e93_cgraph_org.svg | 114 - d9/d24/poisson__dist_8cpp.html | 111 +- ...9a136b32707bdc7950fb9057b5fa1e1_cgraph.map | 9 - ...9a136b32707bdc7950fb9057b5fa1e1_cgraph.md5 | 1 - ...9a136b32707bdc7950fb9057b5fa1e1_cgraph.svg | 101 - ...6b32707bdc7950fb9057b5fa1e1_cgraph_org.svg | 75 - ...9c9e74079278ca10e3b97a8d5391c9a_cgraph.map | 15 - ...9c9e74079278ca10e3b97a8d5391c9a_cgraph.md5 | 1 - ...9c9e74079278ca10e3b97a8d5391c9a_cgraph.svg | 155 - ...74079278ca10e3b97a8d5391c9a_cgraph_org.svg | 129 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 24 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 236 -- ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 210 -- d9/d24/poisson__dist_8cpp_source.html | 204 ++ d9/d27/namespacelist__array.html | 35 +- ...__to__ground__projectile__motion_8cpp.html | 190 +- ...0362eb607d7882bac3a0688504b00ff_cgraph.map | 9 - ...0362eb607d7882bac3a0688504b00ff_cgraph.md5 | 1 - ...0362eb607d7882bac3a0688504b00ff_cgraph.svg | 105 - ...eb607d7882bac3a0688504b00ff_cgraph_org.svg | 79 - ...63e066975fed1b84750a0a47c3cbb37_cgraph.map | 9 - ...63e066975fed1b84750a0a47c3cbb37_cgraph.md5 | 1 - ...63e066975fed1b84750a0a47c3cbb37_cgraph.svg | 105 - ...66975fed1b84750a0a47c3cbb37_cgraph_org.svg | 79 - ...554429def63077ab7a550c0affbfefa_cgraph.map | 11 - ...554429def63077ab7a550c0affbfefa_cgraph.md5 | 1 - ...554429def63077ab7a550c0affbfefa_cgraph.svg | 123 - ...29def63077ab7a550c0affbfefa_cgraph_org.svg | 97 - ...8dca7b867074164d5f45b0f3851269d_cgraph.map | 7 - ...8dca7b867074164d5f45b0f3851269d_cgraph.md5 | 1 - ...8dca7b867074164d5f45b0f3851269d_cgraph.svg | 83 - ...7b867074164d5f45b0f3851269d_cgraph_org.svg | 57 - ...00e9785fb2670f7af99d6f3d636f87c_cgraph.map | 4 - ...00e9785fb2670f7af99d6f3d636f87c_cgraph.md5 | 1 - ...00e9785fb2670f7af99d6f3d636f87c_cgraph.svg | 58 - ...785fb2670f7af99d6f3d636f87c_cgraph_org.svg | 32 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 9 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 101 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 75 - ...round__projectile__motion_8cpp_source.html | 245 ++ d9/d2c/class_test_cases-members.html | 35 +- d9/d31/coin__change__topdown_8cpp.html | 95 +- ...8dca7b867074164d5f45b0f3851269d_cgraph.map | 9 - ...8dca7b867074164d5f45b0f3851269d_cgraph.md5 | 1 - ...8dca7b867074164d5f45b0f3851269d_cgraph.svg | 101 - ...7b867074164d5f45b0f3851269d_cgraph_org.svg | 75 - ...816a4ae8a29c156b90377041000929a_cgraph.map | 6 - ...816a4ae8a29c156b90377041000929a_cgraph.md5 | 1 - ...816a4ae8a29c156b90377041000929a_cgraph.svg | 76 - ...4ae8a29c156b90377041000929a_cgraph_org.svg | 50 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 11 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 119 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 93 - d9/d31/coin__change__topdown_8cpp_source.html | 199 ++ ..._1heavy__light__decomposition_1_1_s_g.html | 180 +- ...fda852e6e522707fd97f61cdb0a2591_cgraph.map | 5 - ...fda852e6e522707fd97f61cdb0a2591_cgraph.md5 | 1 - ...fda852e6e522707fd97f61cdb0a2591_cgraph.svg | 69 - ...52e6e522707fd97f61cdb0a2591_cgraph_org.svg | 43 - ...ba5c1225ba04c0025c7786c09ff28f1_cgraph.map | 5 - ...ba5c1225ba04c0025c7786c09ff28f1_cgraph.md5 | 1 - ...ba5c1225ba04c0025c7786c09ff28f1_cgraph.svg | 67 - ...1225ba04c0025c7786c09ff28f1_cgraph_org.svg | 41 - ...nverse__fast__fourier__transform_8cpp.html | 96 +- ...8dca7b867074164d5f45b0f3851269d_cgraph.map | 10 - ...8dca7b867074164d5f45b0f3851269d_cgraph.md5 | 1 - ...8dca7b867074164d5f45b0f3851269d_cgraph.svg | 111 - ...7b867074164d5f45b0f3851269d_cgraph_org.svg | 85 - ...f9e6b7e6f15df4b525a2e7705ba3089_cgraph.map | 12 - ...f9e6b7e6f15df4b525a2e7705ba3089_cgraph.md5 | 1 - ...f9e6b7e6f15df4b525a2e7705ba3089_cgraph.svg | 129 - ...b7e6f15df4b525a2e7705ba3089_cgraph_org.svg | 103 - ..._fast__fourier__transform_8cpp_source.html | 267 ++ d9/d44/magic__number_8cpp.html | 104 +- ...83bb8ccf42aaf7375a83e91490eda1e_cgraph.map | 5 - ...83bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 | 1 - ...83bb8ccf42aaf7375a83e91490eda1e_cgraph.svg | 65 - ...8ccf42aaf7375a83e91490eda1e_cgraph_org.svg | 39 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 7 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 83 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 57 - d9/d44/magic__number_8cpp_source.html | 194 ++ d9/d49/kohonen__som__trace_8cpp.html | 242 +- ...283886819c7c140a023582b7269e2d0_cgraph.map | 20 - ...283886819c7c140a023582b7269e2d0_cgraph.md5 | 1 - ...283886819c7c140a023582b7269e2d0_cgraph.svg | 200 -- ...86819c7c140a023582b7269e2d0_cgraph_org.svg | 174 -- ...440a7779ac56f47a3f355ce4a8c7da0_cgraph.map | 20 - ...440a7779ac56f47a3f355ce4a8c7da0_cgraph.md5 | 1 - ...440a7779ac56f47a3f355ce4a8c7da0_cgraph.svg | 200 -- ...7779ac56f47a3f355ce4a8c7da0_cgraph_org.svg | 174 -- ...c04138a5bfe5d72780bb7e82a18e627_cgraph.map | 47 - ...c04138a5bfe5d72780bb7e82a18e627_cgraph.md5 | 1 - ...c04138a5bfe5d72780bb7e82a18e627_cgraph.svg | 500 --- ...38a5bfe5d72780bb7e82a18e627_cgraph_org.svg | 417 --- ...3082f2e5bacec40266499da4547309a_cgraph.map | 7 - ...3082f2e5bacec40266499da4547309a_cgraph.md5 | 1 - ...3082f2e5bacec40266499da4547309a_cgraph.svg | 83 - ...f2e5bacec40266499da4547309a_cgraph_org.svg | 57 - ...d0455dd5c30adda100e95f0423c786e_cgraph.map | 21 - ...d0455dd5c30adda100e95f0423c786e_cgraph.md5 | 1 - ...d0455dd5c30adda100e95f0423c786e_cgraph.svg | 209 -- ...5dd5c30adda100e95f0423c786e_cgraph_org.svg | 183 -- ...154fe319e6033485a8a6cd6f0d8932d_cgraph.map | 8 - ...154fe319e6033485a8a6cd6f0d8932d_cgraph.md5 | 1 - ...154fe319e6033485a8a6cd6f0d8932d_cgraph.svg | 92 - ...e319e6033485a8a6cd6f0d8932d_cgraph_org.svg | 66 - ...571600aa42a81bc14a4a602ea5ff00d_cgraph.map | 7 - ...571600aa42a81bc14a4a602ea5ff00d_cgraph.md5 | 1 - ...571600aa42a81bc14a4a602ea5ff00d_cgraph.svg | 83 - ...00aa42a81bc14a4a602ea5ff00d_cgraph_org.svg | 57 - d9/d49/kohonen__som__trace_8cpp_source.html | 497 +++ d9/d49/structdata__structures_1_1_node.html | 123 +- ...4a6777e72b639c3ee6446a541db8e78_cgraph.map | 5 - ...4a6777e72b639c3ee6446a541db8e78_cgraph.md5 | 1 - ...4a6777e72b639c3ee6446a541db8e78_cgraph.svg | 66 - ...77e72b639c3ee6446a541db8e78_cgraph_org.svg | 40 - ...light__decomposition_1_1_tree-members.html | 35 +- d9/d55/namespacesparse__table.html | 35 +- ...tures_1_1linked__list_1_1list-members.html | 35 +- .../structgeometry_1_1jarvis_1_1_point.html | 80 +- d9/d5d/extended__euclid__algorithm_8cpp.html | 92 +- ...792ac7c33aaf26b860ab55f5652ab25_cgraph.map | 7 - ...792ac7c33aaf26b860ab55f5652ab25_cgraph.md5 | 1 - ...792ac7c33aaf26b860ab55f5652ab25_cgraph.svg | 83 - ...c7c33aaf26b860ab55f5652ab25_cgraph_org.svg | 57 - ...ba15ca55b3e7dcb91f3c65d72ba052d_cgraph.map | 6 - ...ba15ca55b3e7dcb91f3c65d72ba052d_cgraph.md5 | 1 - ...ba15ca55b3e7dcb91f3c65d72ba052d_cgraph.svg | 74 - ...ca55b3e7dcb91f3c65d72ba052d_cgraph_org.svg | 48 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 17 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 173 -- ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 147 - ...tended__euclid__algorithm_8cpp_source.html | 209 ++ ...bsequence__using__binary__search_8cpp.html | 117 +- ...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 - ...ce__using__binary__search_8cpp_source.html | 199 ++ d9/d60/namespacerat__maze.html | 35 +- d9/d65/lfu__cache_8cpp.html | 71 +- ...8dca7b867074164d5f45b0f3851269d_cgraph.map | 21 - ...8dca7b867074164d5f45b0f3851269d_cgraph.md5 | 1 - ...8dca7b867074164d5f45b0f3851269d_cgraph.svg | 271 -- ...7b867074164d5f45b0f3851269d_cgraph_org.svg | 188 -- ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 23 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 289 -- ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 206 -- d9/d65/lfu__cache_8cpp_source.html | 392 +++ d9/d66/group__machine__learning.html | 171 +- ...0f9186ccb682724a8792a2bf81e9b9e_cgraph.map | 11 - ...0f9186ccb682724a8792a2bf81e9b9e_cgraph.md5 | 1 - ...0f9186ccb682724a8792a2bf81e9b9e_cgraph.svg | 119 - ...86ccb682724a8792a2bf81e9b9e_cgraph_org.svg | 93 - ...c90175770bf0d5853c466e14993a08c_cgraph.map | 11 - ...c90175770bf0d5853c466e14993a08c_cgraph.md5 | 1 - ...c90175770bf0d5853c466e14993a08c_cgraph.svg | 119 - ...75770bf0d5853c466e14993a08c_cgraph_org.svg | 93 - ...0208548f8b393528e5db01717e88e67_cgraph.map | 9 - ...0208548f8b393528e5db01717e88e67_cgraph.md5 | 1 - ...0208548f8b393528e5db01717e88e67_cgraph.svg | 101 - ...548f8b393528e5db01717e88e67_cgraph_org.svg | 75 - ...5ce14f026d6d231bef29161bac2b485_cgraph.map | 5 - ...5ce14f026d6d231bef29161bac2b485_cgraph.md5 | 1 - ...5ce14f026d6d231bef29161bac2b485_cgraph.svg | 65 - ...4f026d6d231bef29161bac2b485_cgraph_org.svg | 39 - d9/d69/median__search_8cpp.html | 142 +- ...68847218f694e78bf433a0ff7648bae_cgraph.map | 16 - ...68847218f694e78bf433a0ff7648bae_cgraph.md5 | 1 - ...68847218f694e78bf433a0ff7648bae_cgraph.svg | 165 - ...7218f694e78bf433a0ff7648bae_cgraph_org.svg | 139 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 5 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 65 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 39 - d9/d69/median__search_8cpp_source.html | 245 ++ d9/d6b/coin__change_8cpp_source.html | 189 ++ d9/d70/namespacequeue__using__array.html | 35 +- d9/d75/namespacednf__sort.html | 35 +- d9/d80/trapped__rainwater_8cpp.html | 86 +- ...8dca7b867074164d5f45b0f3851269d_cgraph.map | 11 - ...8dca7b867074164d5f45b0f3851269d_cgraph.md5 | 1 - ...8dca7b867074164d5f45b0f3851269d_cgraph.svg | 120 - ...7b867074164d5f45b0f3851269d_cgraph_org.svg | 94 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 13 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 138 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 112 - d9/d80/trapped__rainwater_8cpp_source.html | 229 ++ ...election__sort__iterative_8cpp_source.html | 267 ++ ...ed_3_01uint128__t_01_4__inherit__graph.map | 2 +- ...ed_3_01uint128__t_01_4__inherit__graph.md5 | 2 +- ...ed_3_01uint128__t_01_4__inherit__graph.svg | 2 +- ..._01uint128__t_01_4__inherit__graph_org.svg | 2 +- d9/d89/fibonacci_8cpp.html | 59 +- ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 5 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 65 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 39 - d9/d89/fibonacci_8cpp_source.html | 182 ++ d9/d90/struct_btree.html | 98 +- d9/d92/chaining_8cpp.html | 95 +- ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 19 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 191 -- ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 165 - d9/d92/chaining_8cpp_source.html | 303 ++ d9/da2/exponential__dist_8cpp.html | 135 +- ...c8b6e787f72a209ef96c096eedf7afc_cgraph.map | 4 - ...c8b6e787f72a209ef96c096eedf7afc_cgraph.md5 | 1 - ...c8b6e787f72a209ef96c096eedf7afc_cgraph.svg | 57 - ...e787f72a209ef96c096eedf7afc_cgraph_org.svg | 31 - ...8dca7b867074164d5f45b0f3851269d_cgraph.map | 5 - ...8dca7b867074164d5f45b0f3851269d_cgraph.md5 | 1 - ...8dca7b867074164d5f45b0f3851269d_cgraph.svg | 66 - ...7b867074164d5f45b0f3851269d_cgraph_org.svg | 40 - ...7b0091e17479d47438a281fefc2549a_cgraph.map | 4 - ...7b0091e17479d47438a281fefc2549a_cgraph.md5 | 1 - ...7b0091e17479d47438a281fefc2549a_cgraph.svg | 57 - ...91e17479d47438a281fefc2549a_cgraph_org.svg | 31 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 7 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 84 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 58 - ...435dbeb43a05c8c7785f53bf4ce1df1_cgraph.map | 4 - ...435dbeb43a05c8c7785f53bf4ce1df1_cgraph.md5 | 1 - ...435dbeb43a05c8c7785f53bf4ce1df1_cgraph.svg | 57 - ...beb43a05c8c7785f53bf4ce1df1_cgraph_org.svg | 31 - d9/da2/exponential__dist_8cpp_source.html | 262 ++ d9/daa/namespacemidpoint__rule.html | 35 +- d9/dab/bloom__filter_8cpp.html | 117 +- ...0edc0d2bb59c185baec81d69d20ed3b_cgraph.map | 7 - ...0edc0d2bb59c185baec81d69d20ed3b_cgraph.md5 | 1 - ...0edc0d2bb59c185baec81d69d20ed3b_cgraph.svg | 83 - ...0d2bb59c185baec81d69d20ed3b_cgraph_org.svg | 57 - ...e509afe40db07681f676ad8da4fb905_cgraph.map | 12 - ...e509afe40db07681f676ad8da4fb905_cgraph.md5 | 1 - ...e509afe40db07681f676ad8da4fb905_cgraph.svg | 129 - ...afe40db07681f676ad8da4fb905_cgraph_org.svg | 103 - ...1f57bf262fe55db928b19dc124cc0d8_cgraph.map | 7 - ...1f57bf262fe55db928b19dc124cc0d8_cgraph.md5 | 1 - ...1f57bf262fe55db928b19dc124cc0d8_cgraph.svg | 83 - ...bf262fe55db928b19dc124cc0d8_cgraph_org.svg | 57 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 26 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 312 -- ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 229 -- d9/dab/bloom__filter_8cpp_source.html | 356 +++ d9/dad/rb__tree_8cpp_source.html | 651 ++++ d9/dae/classdata__structures_1_1_bitset.html | 142 +- ...7dbe1b1d559302312e8091f82f7499c_cgraph.map | 7 - ...7dbe1b1d559302312e8091f82f7499c_cgraph.md5 | 1 - ...7dbe1b1d559302312e8091f82f7499c_cgraph.svg | 83 - ...1b1d559302312e8091f82f7499c_cgraph_org.svg | 57 - ...f1f44d6a12b0de4aaf242872b1c7b54_cgraph.map | 5 - ...f1f44d6a12b0de4aaf242872b1c7b54_cgraph.md5 | 1 - ...f1f44d6a12b0de4aaf242872b1c7b54_cgraph.svg | 66 - ...4d6a12b0de4aaf242872b1c7b54_cgraph_org.svg | 40 - ...ef54c7c3f6494b36ead3ae2e5cf43ac_cgraph.map | 5 - ...ef54c7c3f6494b36ead3ae2e5cf43ac_cgraph.md5 | 1 - ...ef54c7c3f6494b36ead3ae2e5cf43ac_cgraph.svg | 66 - ...c7c3f6494b36ead3ae2e5cf43ac_cgraph_org.svg | 40 - ...orithms_1_1dijkstra_1_1_graph-members.html | 35 +- d9/dbf/test__stack_8cpp_source.html | 348 +++ d9/dc9/namespacebase64__encoding.html | 35 +- d9/dca/namespacesearch.html | 43 +- .../selectionsortlinkedlist_8cpp_source.html | 315 ++ .../namespacelinear__recurrence__matrix.html | 35 +- ...cocktail__selection__sort_8cpp_source.html | 240 ++ d9/dd7/interpolation__search_8cpp_source.html | 265 ++ d9/dde/classbinary__search__tree.html | 306 +- ...f23830316204664514f396a4eb5275a_cgraph.map | 6 - ...f23830316204664514f396a4eb5275a_cgraph.md5 | 1 - ...f23830316204664514f396a4eb5275a_cgraph.svg | 76 - ...30316204664514f396a4eb5275a_cgraph_org.svg | 50 - ...fcf37549bd002c174a45b0b4203c2bd_cgraph.map | 4 - ...fcf37549bd002c174a45b0b4203c2bd_cgraph.md5 | 1 - ...fcf37549bd002c174a45b0b4203c2bd_cgraph.svg | 57 - ...7549bd002c174a45b0b4203c2bd_cgraph_org.svg | 31 - ...2b16f26928b5e994925100594a167a0_cgraph.map | 4 - ...2b16f26928b5e994925100594a167a0_cgraph.md5 | 1 - ...2b16f26928b5e994925100594a167a0_cgraph.svg | 57 - ...f26928b5e994925100594a167a0_cgraph_org.svg | 31 - ...764c1cf848f84a5b77462036a6d8c13_cgraph.map | 6 - ...764c1cf848f84a5b77462036a6d8c13_cgraph.md5 | 1 - ...764c1cf848f84a5b77462036a6d8c13_cgraph.svg | 76 - ...1cf848f84a5b77462036a6d8c13_cgraph_org.svg | 50 - ...c011e1b0863d79c3a7c11a0426bdcff_cgraph.map | 6 - ...c011e1b0863d79c3a7c11a0426bdcff_cgraph.md5 | 1 - ...c011e1b0863d79c3a7c11a0426bdcff_cgraph.svg | 76 - ...e1b0863d79c3a7c11a0426bdcff_cgraph_org.svg | 50 - ...bf5b410299df2320ddf2709dda61f63_cgraph.map | 4 - ...bf5b410299df2320ddf2709dda61f63_cgraph.md5 | 1 - ...bf5b410299df2320ddf2709dda61f63_cgraph.svg | 57 - ...410299df2320ddf2709dda61f63_cgraph_org.svg | 31 - ...5f897af6aa732a9901454401c869bcb_cgraph.map | 4 - ...5f897af6aa732a9901454401c869bcb_cgraph.md5 | 1 - ...5f897af6aa732a9901454401c869bcb_cgraph.svg | 57 - ...7af6aa732a9901454401c869bcb_cgraph_org.svg | 31 - ...168edf29316f2b436eac1fc416c52e0_cgraph.map | 6 - ...168edf29316f2b436eac1fc416c52e0_cgraph.md5 | 1 - ...168edf29316f2b436eac1fc416c52e0_cgraph.svg | 76 - ...df29316f2b436eac1fc416c52e0_cgraph_org.svg | 50 - ...7c0a35845d27e0f6fc1f4eaa0333362_cgraph.map | 4 - ...7c0a35845d27e0f6fc1f4eaa0333362_cgraph.md5 | 1 - ...7c0a35845d27e0f6fc1f4eaa0333362_cgraph.svg | 57 - ...35845d27e0f6fc1f4eaa0333362_cgraph_org.svg | 31 - ...9771c2e1353e8ddfd4bb9d30b7a98fb_cgraph.map | 11 - ...9771c2e1353e8ddfd4bb9d30b7a98fb_cgraph.md5 | 1 - ...9771c2e1353e8ddfd4bb9d30b7a98fb_cgraph.svg | 122 - ...c2e1353e8ddfd4bb9d30b7a98fb_cgraph_org.svg | 96 - ...d1e7e10efa74d741bf48cf032df3778_cgraph.map | 4 - ...d1e7e10efa74d741bf48cf032df3778_cgraph.md5 | 1 - ...d1e7e10efa74d741bf48cf032df3778_cgraph.svg | 57 - ...e10efa74d741bf48cf032df3778_cgraph_org.svg | 31 - ...4f84b2eec9b9201af1840868ddb5fb2_cgraph.map | 4 - ...4f84b2eec9b9201af1840868ddb5fb2_cgraph.md5 | 1 - ...4f84b2eec9b9201af1840868ddb5fb2_cgraph.svg | 57 - ...b2eec9b9201af1840868ddb5fb2_cgraph_org.svg | 31 - ...81edd415324d372632c42dc7dbcb9e1_cgraph.map | 4 - ...81edd415324d372632c42dc7dbcb9e1_cgraph.md5 | 1 - ...81edd415324d372632c42dc7dbcb9e1_cgraph.svg | 57 - ...d415324d372632c42dc7dbcb9e1_cgraph_org.svg | 31 - ...9912e8574538e86f9bd2c38e7e63d03_cgraph.map | 4 - ...9912e8574538e86f9bd2c38e7e63d03_cgraph.md5 | 1 - ...9912e8574538e86f9bd2c38e7e63d03_cgraph.svg | 57 - ...e8574538e86f9bd2c38e7e63d03_cgraph_org.svg | 31 - ...4a865ce5244608819b169fc78a41153_cgraph.map | 9 - ...4a865ce5244608819b169fc78a41153_cgraph.md5 | 1 - ...4a865ce5244608819b169fc78a41153_cgraph.svg | 103 - ...5ce5244608819b169fc78a41153_cgraph_org.svg | 77 - ...9a2c7c187a7ca3142c77ce342ef3153_cgraph.map | 4 - ...9a2c7c187a7ca3142c77ce342ef3153_cgraph.md5 | 1 - ...9a2c7c187a7ca3142c77ce342ef3153_cgraph.svg | 57 - ...7c187a7ca3142c77ce342ef3153_cgraph_org.svg | 31 - d9/dde/structdouble__hashing_1_1_entry.html | 100 +- d9/dec/unbounded__0__1__knapsack_8cpp.html | 172 +- ...bcff7f76de48fa7f629480f8f18b5ef_cgraph.map | 9 - ...bcff7f76de48fa7f629480f8f18b5ef_cgraph.md5 | 1 - ...bcff7f76de48fa7f629480f8f18b5ef_cgraph.svg | 105 - ...7f76de48fa7f629480f8f18b5ef_cgraph_org.svg | 79 - ...83bb8ccf42aaf7375a83e91490eda1e_cgraph.map | 5 - ...83bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 | 1 - ...83bb8ccf42aaf7375a83e91490eda1e_cgraph.svg | 65 - ...8ccf42aaf7375a83e91490eda1e_cgraph_org.svg | 39 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 7 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 83 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 57 - ...e447a5979582174908695952c8a079c_cgraph.map | 6 - ...e447a5979582174908695952c8a079c_cgraph.md5 | 1 - ...e447a5979582174908695952c8a079c_cgraph.svg | 76 - ...a5979582174908695952c8a079c_cgraph_org.svg | 50 - ...unbounded__0__1__knapsack_8cpp_source.html | 260 ++ d9/dee/classdouble__linked__list.html | 67 +- d9/def/namespacesublist__search.html | 35 +- d9/df0/fast__integer__input_8cpp.html | 72 +- ...e097ac8509b717bdc8ab09ecd86ae82_cgraph.map | 5 - ...e097ac8509b717bdc8ab09ecd86ae82_cgraph.md5 | 1 - ...e097ac8509b717bdc8ab09ecd86ae82_cgraph.svg | 65 - ...ac8509b717bdc8ab09ecd86ae82_cgraph_org.svg | 39 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 9 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 101 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 75 - d9/df0/fast__integer__input_8cpp_source.html | 179 ++ d9/df4/namespacetests.html | 185 +- ...b9769e44683dcb67fe1083ad91e134d_cgraph.map | 5 - ...b9769e44683dcb67fe1083ad91e134d_cgraph.md5 | 1 - ...b9769e44683dcb67fe1083ad91e134d_cgraph.svg | 65 - ...9e44683dcb67fe1083ad91e134d_cgraph_org.svg | 39 - ...cafde185abd8670abee51157f273dc2_cgraph.map | 9 - ...cafde185abd8670abee51157f273dc2_cgraph.md5 | 1 - ...cafde185abd8670abee51157f273dc2_cgraph.svg | 101 - ...e185abd8670abee51157f273dc2_cgraph_org.svg | 75 - ...1recursive__tree__traversals_1_1_node.html | 72 +- ...ueue__using__linked__list_8cpp_source.html | 223 ++ d9/dfd/comb__sort_8cpp.html | 156 +- ...f4e7569090083fb53d5cdeaf0e2974f_cgraph.map | 9 - ...f4e7569090083fb53d5cdeaf0e2974f_cgraph.md5 | 1 - ...f4e7569090083fb53d5cdeaf0e2974f_cgraph.svg | 101 - ...569090083fb53d5cdeaf0e2974f_cgraph_org.svg | 75 - ...8ec9ad42717780d6caaff9d3d6977f9_cgraph.map | 13 - ...8ec9ad42717780d6caaff9d3d6977f9_cgraph.md5 | 1 - ...8ec9ad42717780d6caaff9d3d6977f9_cgraph.svg | 137 - ...ad42717780d6caaff9d3d6977f9_cgraph_org.svg | 111 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 16 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 164 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 138 - ...de08143e63105faba10e9ee8e745fd5_cgraph.map | 5 - ...de08143e63105faba10e9ee8e745fd5_cgraph.md5 | 1 - ...de08143e63105faba10e9ee8e745fd5_cgraph.svg | 65 - ...143e63105faba10e9ee8e745fd5_cgraph_org.svg | 39 - d9/dfd/comb__sort_8cpp_source.html | 203 ++ ..._1_1aystar__search_1_1_ay_star_search.html | 181 +- ...a26aa9ad3d73707370d9fe83707aca4_cgraph.map | 7 - ...a26aa9ad3d73707370d9fe83707aca4_cgraph.md5 | 1 - ...a26aa9ad3d73707370d9fe83707aca4_cgraph.svg | 85 - ...a9ad3d73707370d9fe83707aca4_cgraph_org.svg | 59 - ...8284e156fdd48fd0c41008c7e48f201_cgraph.map | 26 - ...8284e156fdd48fd0c41008c7e48f201_cgraph.md5 | 1 - ...8284e156fdd48fd0c41008c7e48f201_cgraph.svg | 258 -- ...e156fdd48fd0c41008c7e48f201_cgraph_org.svg | 232 -- ...aff2ea6d309e1133fd95bbd1e39946e_cgraph.map | 5 - ...aff2ea6d309e1133fd95bbd1e39946e_cgraph.md5 | 1 - ...aff2ea6d309e1133fd95bbd1e39946e_cgraph.svg | 67 - ...ea6d309e1133fd95bbd1e39946e_cgraph_org.svg | 41 - da/d0d/longest__common__string_8cpp.html | 171 +- ...3ab67b0d9600697695fc8679462d8fe_cgraph.map | 15 - ...3ab67b0d9600697695fc8679462d8fe_cgraph.md5 | 1 - ...3ab67b0d9600697695fc8679462d8fe_cgraph.svg | 158 - ...7b0d9600697695fc8679462d8fe_cgraph_org.svg | 132 - ...83bb8ccf42aaf7375a83e91490eda1e_cgraph.map | 25 - ...83bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 | 1 - ...83bb8ccf42aaf7375a83e91490eda1e_cgraph.svg | 307 -- ...8ccf42aaf7375a83e91490eda1e_cgraph_org.svg | 224 -- ...b229daad982a186a4d8d90aa8f38561_cgraph.map | 9 - ...b229daad982a186a4d8d90aa8f38561_cgraph.md5 | 1 - ...b229daad982a186a4d8d90aa8f38561_cgraph.svg | 103 - ...daad982a186a4d8d90aa8f38561_cgraph_org.svg | 77 - ...38b6b17bc5d46ed88acdd8414e18fa5_cgraph.map | 7 - ...38b6b17bc5d46ed88acdd8414e18fa5_cgraph.md5 | 1 - ...38b6b17bc5d46ed88acdd8414e18fa5_cgraph.svg | 84 - ...b17bc5d46ed88acdd8414e18fa5_cgraph_org.svg | 58 - ...b03dbbcee6d607db471021168be8541_cgraph.map | 7 - ...b03dbbcee6d607db471021168be8541_cgraph.md5 | 1 - ...b03dbbcee6d607db471021168be8541_cgraph.svg | 83 - ...bbcee6d607db471021168be8541_cgraph_org.svg | 57 - ...1e613c1b85cc04ed931b6c745fec155_cgraph.map | 9 - ...1e613c1b85cc04ed931b6c745fec155_cgraph.md5 | 1 - ...1e613c1b85cc04ed931b6c745fec155_cgraph.svg | 103 - ...3c1b85cc04ed931b6c745fec155_cgraph_org.svg | 77 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 27 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 325 -- ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 242 -- .../longest__common__string_8cpp_source.html | 267 ++ ...pological__sort_1_1_graph__coll__graph.map | 2 +- ...pological__sort_1_1_graph__coll__graph.md5 | 2 +- ...pological__sort_1_1_graph__coll__graph.svg | 2 +- ...gical__sort_1_1_graph__coll__graph_org.svg | 2 +- ...es_1_1circular__linked__list_1_1_node.html | 102 +- ...tic__equations__complex__numbers_8cpp.html | 142 +- ...8dca7b867074164d5f45b0f3851269d_cgraph.map | 13 - ...8dca7b867074164d5f45b0f3851269d_cgraph.md5 | 1 - ...8dca7b867074164d5f45b0f3851269d_cgraph.svg | 137 - ...7b867074164d5f45b0f3851269d_cgraph_org.svg | 111 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 15 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 155 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 129 - ...7a6d4e3dc85a6288c8f1f7094830c5a_cgraph.map | 7 - ...7a6d4e3dc85a6288c8f1f7094830c5a_cgraph.md5 | 1 - ...7a6d4e3dc85a6288c8f1f7094830c5a_cgraph.svg | 83 - ...4e3dc85a6288c8f1f7094830c5a_cgraph_org.svg | 57 - ...uations__complex__numbers_8cpp_source.html | 283 ++ ...tric__dist_1_1geometric__distribution.html | 163 +- ...8328dc7d62188427111f176b56a105a_cgraph.map | 5 - ...8328dc7d62188427111f176b56a105a_cgraph.md5 | 1 - ...8328dc7d62188427111f176b56a105a_cgraph.svg | 67 - ...dc7d62188427111f176b56a105a_cgraph_org.svg | 41 - ...a10c512e13dd3a052e1c6d7f4d6f0f2_cgraph.map | 7 - ...a10c512e13dd3a052e1c6d7f4d6f0f2_cgraph.md5 | 1 - ...a10c512e13dd3a052e1c6d7f4d6f0f2_cgraph.svg | 87 - ...512e13dd3a052e1c6d7f4d6f0f2_cgraph_org.svg | 61 - ...620163a196709484225774d87de6d69_cgraph.map | 9 - ...620163a196709484225774d87de6d69_cgraph.md5 | 1 - ...620163a196709484225774d87de6d69_cgraph.svg | 105 - ...63a196709484225774d87de6d69_cgraph_org.svg | 79 - ...aae1cebcf42ed2332f1c7217c401aa3_cgraph.map | 10 - ...aae1cebcf42ed2332f1c7217c401aa3_cgraph.md5 | 1 - ...aae1cebcf42ed2332f1c7217c401aa3_cgraph.svg | 115 - ...cebcf42ed2332f1c7217c401aa3_cgraph_org.svg | 89 - ...f762e88c66918d7afda4234f28a7ddf_cgraph.map | 5 - ...f762e88c66918d7afda4234f28a7ddf_cgraph.md5 | 1 - ...f762e88c66918d7afda4234f28a7ddf_cgraph.svg | 67 - ...e88c66918d7afda4234f28a7ddf_cgraph_org.svg | 41 - ...e973db9f0435e0cb4cc70f8eb3447a1_cgraph.map | 5 - ...e973db9f0435e0cb4cc70f8eb3447a1_cgraph.md5 | 1 - ...e973db9f0435e0cb4cc70f8eb3447a1_cgraph.svg | 67 - ...db9f0435e0cb4cc70f8eb3447a1_cgraph_org.svg | 41 - da/d21/class_longest___substring.html | 77 +- ...8a3672bc8d95e7da4f9a45e5e2e387d_cgraph.map | 12 - ...8a3672bc8d95e7da4f9a45e5e2e387d_cgraph.md5 | 1 - ...8a3672bc8d95e7da4f9a45e5e2e387d_cgraph.svg | 129 - ...72bc8d95e7da4f9a45e5e2e387d_cgraph_org.svg | 103 - da/d23/eulers__totient__function_8cpp.html | 66 +- ...ddf1224851353fc92bfbff6f499fa97_cgraph.map | 7 - ...ddf1224851353fc92bfbff6f499fa97_cgraph.md5 | 1 - ...ddf1224851353fc92bfbff6f499fa97_cgraph.svg | 83 - ...224851353fc92bfbff6f499fa97_cgraph_org.svg | 57 - ...8dca7b867074164d5f45b0f3851269d_cgraph.map | 5 - ...8dca7b867074164d5f45b0f3851269d_cgraph.md5 | 1 - ...8dca7b867074164d5f45b0f3851269d_cgraph.svg | 65 - ...7b867074164d5f45b0f3851269d_cgraph_org.svg | 39 - ...eulers__totient__function_8cpp_source.html | 185 ++ da/d24/sqrt__double_8cpp.html | 72 +- ...662282ad0740d2063ac404ca3bd74fc_cgraph.map | 4 - ...662282ad0740d2063ac404ca3bd74fc_cgraph.md5 | 1 - ...662282ad0740d2063ac404ca3bd74fc_cgraph.svg | 56 - ...82ad0740d2063ac404ca3bd74fc_cgraph_org.svg | 30 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 8 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 92 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 66 - da/d24/sqrt__double_8cpp_source.html | 180 ++ da/d27/prim_8cpp_source.html | 196 ++ ...__using__hashmap_1_1_trie__coll__graph.map | 4 +- ...__using__hashmap_1_1_trie__coll__graph.md5 | 2 +- ...__using__hashmap_1_1_trie__coll__graph.svg | 4 +- ...ing__hashmap_1_1_trie__coll__graph_org.svg | 4 +- ...es_1_1sparse__table_1_1_sparse__table.html | 120 +- da/d39/volume_8cpp.html | 163 +- ...8dca7b867074164d5f45b0f3851269d_cgraph.map | 33 - ...8dca7b867074164d5f45b0f3851269d_cgraph.md5 | 1 - ...8dca7b867074164d5f45b0f3851269d_cgraph.svg | 318 -- ...7b867074164d5f45b0f3851269d_cgraph_org.svg | 292 -- ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 35 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 336 -- ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 310 -- da/d39/volume_8cpp_source.html | 332 ++ da/d41/uint128__t_8hpp.html | 116 +- ...ff77262ffd6743df5b808d41382a6f3_cgraph.map | 13 - ...ff77262ffd6743df5b808d41382a6f3_cgraph.md5 | 1 - ...ff77262ffd6743df5b808d41382a6f3_cgraph.svg | 137 - ...262ffd6743df5b808d41382a6f3_cgraph_org.svg | 111 - da/d41/uint128__t_8hpp_source.html | 1040 ++----- ...eedy__algorithms_1_1_digit_separation.html | 76 +- ...809ae6828223999374bde5b197a59c8_cgraph.map | 7 - ...809ae6828223999374bde5b197a59c8_cgraph.md5 | 1 - ...809ae6828223999374bde5b197a59c8_cgraph.svg | 87 - ...e6828223999374bde5b197a59c8_cgraph_org.svg | 61 - ...epth__first__search__with__stack_8cpp.html | 298 +- ...83bb8ccf42aaf7375a83e91490eda1e_cgraph.map | 5 - ...83bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 | 1 - ...83bb8ccf42aaf7375a83e91490eda1e_cgraph.svg | 65 - ...8ccf42aaf7375a83e91490eda1e_cgraph_org.svg | 39 - ...738da9f508f6a9e87f123c9fb6f2ea9_cgraph.map | 14 - ...738da9f508f6a9e87f123c9fb6f2ea9_cgraph.md5 | 1 - ...738da9f508f6a9e87f123c9fb6f2ea9_cgraph.svg | 147 - ...a9f508f6a9e87f123c9fb6f2ea9_cgraph_org.svg | 121 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 8 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 92 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 66 - ...irst__search__with__stack_8cpp_source.html | 287 ++ ...iling__ciphers__in__factorial__n_8cpp.html | 94 +- ...d5e1d651d0d30bd682f176d8f2b83d0_cgraph.map | 4 - ...d5e1d651d0d30bd682f176d8f2b83d0_cgraph.md5 | 1 - ...d5e1d651d0d30bd682f176d8f2b83d0_cgraph.svg | 59 - ...d651d0d30bd682f176d8f2b83d0_cgraph_org.svg | 33 - ...8dca7b867074164d5f45b0f3851269d_cgraph.map | 5 - ...8dca7b867074164d5f45b0f3851269d_cgraph.md5 | 1 - ...8dca7b867074164d5f45b0f3851269d_cgraph.svg | 65 - ...7b867074164d5f45b0f3851269d_cgraph_org.svg | 39 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 7 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 83 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 57 - ...ciphers__in__factorial__n_8cpp_source.html | 206 ++ da/d52/minimum__edit__distance_8cpp.html | 158 +- ...ddf1224851353fc92bfbff6f499fa97_cgraph.map | 9 - ...ddf1224851353fc92bfbff6f499fa97_cgraph.md5 | 1 - ...ddf1224851353fc92bfbff6f499fa97_cgraph.svg | 101 - ...224851353fc92bfbff6f499fa97_cgraph_org.svg | 75 - ...8dca7b867074164d5f45b0f3851269d_cgraph.map | 7 - ...8dca7b867074164d5f45b0f3851269d_cgraph.md5 | 1 - ...8dca7b867074164d5f45b0f3851269d_cgraph.svg | 83 - ...7b867074164d5f45b0f3851269d_cgraph_org.svg | 57 - .../minimum__edit__distance_8cpp_source.html | 234 ++ da/d5a/class_complex.html | 178 +- ...cfc522c782726f49ee20af17b77f867_cgraph.map | 7 - ...cfc522c782726f49ee20af17b77f867_cgraph.md5 | 1 - ...cfc522c782726f49ee20af17b77f867_cgraph.svg | 83 - ...22c782726f49ee20af17b77f867_cgraph_org.svg | 57 - ...ac9f529d54cacf2969f2c7179b4c4ac_cgraph.map | 7 - ...ac9f529d54cacf2969f2c7179b4c4ac_cgraph.md5 | 1 - ...ac9f529d54cacf2969f2c7179b4c4ac_cgraph.svg | 83 - ...529d54cacf2969f2c7179b4c4ac_cgraph_org.svg | 57 - ...38437c10eb798f176c384a695171b90_cgraph.map | 13 - ...38437c10eb798f176c384a695171b90_cgraph.md5 | 1 - ...38437c10eb798f176c384a695171b90_cgraph.svg | 137 - ...7c10eb798f176c384a695171b90_cgraph_org.svg | 111 - ...1e03712837450549e0c9b4017533a41_cgraph.map | 5 - ...1e03712837450549e0c9b4017533a41_cgraph.md5 | 1 - ...1e03712837450549e0c9b4017533a41_cgraph.svg | 65 - ...712837450549e0c9b4017533a41_cgraph_org.svg | 39 - ...5b51b749ea4964104b9527af9d8f556_cgraph.map | 5 - ...5b51b749ea4964104b9527af9d8f556_cgraph.md5 | 1 - ...5b51b749ea4964104b9527af9d8f556_cgraph.svg | 65 - ...b749ea4964104b9527af9d8f556_cgraph_org.svg | 39 - ...uctsearch_1_1sublist__search_1_1_node.html | 66 +- ...ange__queries_1_1per_seg_tree-members.html | 35 +- ...ement__in__dynamic__array_8cpp_source.html | 218 ++ ...mespaceoperations__on__datastructures.html | 241 +- ...bfb8711f49e591eb168ccaa3df6fb86_cgraph.map | 5 - ...bfb8711f49e591eb168ccaa3df6fb86_cgraph.md5 | 1 - ...bfb8711f49e591eb168ccaa3df6fb86_cgraph.svg | 66 - ...711f49e591eb168ccaa3df6fb86_cgraph_org.svg | 40 - ...b8ff06a84b041457873840bf82e2d74_cgraph.map | 9 - ...b8ff06a84b041457873840bf82e2d74_cgraph.md5 | 1 - ...b8ff06a84b041457873840bf82e2d74_cgraph.svg | 102 - ...06a84b041457873840bf82e2d74_cgraph_org.svg | 76 - ...af9a06f0c236c2d95c97e441ea2d12e_cgraph.map | 9 - ...af9a06f0c236c2d95c97e441ea2d12e_cgraph.md5 | 1 - ...af9a06f0c236c2d95c97e441ea2d12e_cgraph.svg | 102 - ...06f0c236c2d95c97e441ea2d12e_cgraph_org.svg | 76 - ...ce39cf843989a39811a49ebe29dd6d8_cgraph.map | 5 - ...ce39cf843989a39811a49ebe29dd6d8_cgraph.md5 | 1 - ...ce39cf843989a39811a49ebe29dd6d8_cgraph.svg | 66 - ...cf843989a39811a49ebe29dd6d8_cgraph_org.svg | 40 - ...r__search_1_1_ay_star_search_1_1_info.html | 150 +- ...3993dbca9c5b3ef9ac361dc7f62ce57_cgraph.map | 5 - ...3993dbca9c5b3ef9ac361dc7f62ce57_cgraph.md5 | 1 - ...3993dbca9c5b3ef9ac361dc7f62ce57_cgraph.svg | 67 - ...dbca9c5b3ef9ac361dc7f62ce57_cgraph_org.svg | 41 - ...ph_1_1_lowest_common_ancestor-members.html | 35 +- ..._1boyer__moore_1_1pattern__coll__graph.map | 16 +- ..._1boyer__moore_1_1pattern__coll__graph.md5 | 2 +- ..._1boyer__moore_1_1pattern__coll__graph.svg | 61 +- ...yer__moore_1_1pattern__coll__graph_org.svg | 61 +- da/d77/spirograph_8cpp.html | 58 +- ...c04138a5bfe5d72780bb7e82a18e627_cgraph.map | 13 - ...c04138a5bfe5d72780bb7e82a18e627_cgraph.md5 | 1 - ...c04138a5bfe5d72780bb7e82a18e627_cgraph.svg | 137 - ...38a5bfe5d72780bb7e82a18e627_cgraph_org.svg | 111 - da/d77/spirograph_8cpp_source.html | 355 +++ da/d7b/primality__test_8cpp.html | 67 +- ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 7 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 83 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 57 - da/d7b/primality__test_8cpp_source.html | 170 + da/d82/namespacecycle__detection.html | 35 +- da/d83/kosaraju_8cpp_source.html | 238 ++ ..._1_1tree__234_1_1_tree234__coll__graph.map | 18 +- ..._1_1tree__234_1_1_tree234__coll__graph.md5 | 2 +- ..._1_1tree__234_1_1_tree234__coll__graph.svg | 51 +- ...tree__234_1_1_tree234__coll__graph_org.svg | 51 +- da/d86/struct_test_case.html | 114 +- da/d8d/depth__first__search_8cpp.html | 93 +- ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 7 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 83 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 57 - da/d8d/depth__first__search_8cpp_source.html | 210 ++ ...ning_1_1k__nearest__neighbors_1_1_knn.html | 119 +- ...2e152db014cd4de675fa906e5ef2861_cgraph.map | 32 - ...2e152db014cd4de675fa906e5ef2861_cgraph.md5 | 1 - ...2e152db014cd4de675fa906e5ef2861_cgraph.svg | 313 -- ...2db014cd4de675fa906e5ef2861_cgraph_org.svg | 287 -- da/d9a/class_graph.html | 561 +++- da/d9a/palindrome__of__number_8cpp.html | 73 +- ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 11 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 119 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 93 - .../palindrome__of__number_8cpp_source.html | 168 + da/d9c/namespacegames.html | 35 +- da/da2/node_8hpp__dep__incl.map | 10 +- da/da2/node_8hpp__dep__incl.md5 | 2 +- da/da2/node_8hpp__dep__incl.svg | 93 +- da/da2/node_8hpp__dep__incl_org.svg | 93 +- da/da3/uint256__t_8hpp.html | 79 +- da/da3/uint256__t_8hpp_source.html | 1040 ++----- ...rcular__linked__list_1_1_node-members.html | 35 +- ...__structures_1_1_segment_tree-members.html | 35 +- ...queens__all__solution__optimised_8cpp.html | 116 +- ...4090463be4942a69ea91fe7386da905_cgraph.map | 6 - ...4090463be4942a69ea91fe7386da905_cgraph.md5 | 1 - ...4090463be4942a69ea91fe7386da905_cgraph.svg | 75 - ...463be4942a69ea91fe7386da905_cgraph_org.svg | 49 - ...3c0547e4fd1708e6fb643b08327a60f_cgraph.map | 4 - ...3c0547e4fd1708e6fb643b08327a60f_cgraph.md5 | 1 - ...3c0547e4fd1708e6fb643b08327a60f_cgraph.svg | 57 - ...47e4fd1708e6fb643b08327a60f_cgraph_org.svg | 31 - ...e48455584a4faa33e83dd1891efd9b9_cgraph.map | 4 - ...e48455584a4faa33e83dd1891efd9b9_cgraph.md5 | 1 - ...e48455584a4faa33e83dd1891efd9b9_cgraph.svg | 57 - ...55584a4faa33e83dd1891efd9b9_cgraph_org.svg | 31 - ..._all__solution__optimised_8cpp_source.html | 238 ++ da/db8/count__of__set__bits_8cpp.html | 62 +- ...6c98dc299e4db28b73e08309d977e62_cgraph.map | 4 - ...6c98dc299e4db28b73e08309d977e62_cgraph.md5 | 1 - ...6c98dc299e4db28b73e08309d977e62_cgraph.svg | 57 - ...dc299e4db28b73e08309d977e62_cgraph_org.svg | 31 - da/db8/count__of__set__bits_8cpp_source.html | 193 ++ ...igned_3_01uint128__t_01_4__coll__graph.map | 2 +- ...igned_3_01uint128__t_01_4__coll__graph.md5 | 2 +- ...igned_3_01uint128__t_01_4__coll__graph.svg | 2 +- ...d_3_01uint128__t_01_4__coll__graph_org.svg | 2 +- da/dc3/linked__list_8cpp.html | 124 +- ...1a372fe1e605bc0e0987dcdd7361180_cgraph.map | 4 - ...1a372fe1e605bc0e0987dcdd7361180_cgraph.md5 | 1 - ...1a372fe1e605bc0e0987dcdd7361180_cgraph.svg | 57 - ...2fe1e605bc0e0987dcdd7361180_cgraph_org.svg | 31 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 7 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 83 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 57 - da/dc3/linked__list_8cpp_source.html | 378 +++ ...ibonacci__matrix__exponentiation_8cpp.html | 109 +- ...8dca7b867074164d5f45b0f3851269d_cgraph.map | 5 - ...8dca7b867074164d5f45b0f3851269d_cgraph.md5 | 1 - ...8dca7b867074164d5f45b0f3851269d_cgraph.svg | 65 - ...7b867074164d5f45b0f3851269d_cgraph_org.svg | 39 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 10 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 110 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 84 - ...i__matrix__exponentiation_8cpp_source.html | 238 ++ .../structquadratic__probing_1_1_entry.html | 100 +- ...hine__learning_1_1adaline__coll__graph.map | 2 +- ...hine__learning_1_1adaline__coll__graph.md5 | 2 +- ...hine__learning_1_1adaline__coll__graph.svg | 2 +- ...__learning_1_1adaline__coll__graph_org.svg | 2 +- ...rithm__for__fast__multiplication_8cpp.html | 183 +- ...a890d2f26855ada3b9f1d43aec70a86_cgraph.map | 20 - ...a890d2f26855ada3b9f1d43aec70a86_cgraph.md5 | 1 - ...a890d2f26855ada3b9f1d43aec70a86_cgraph.svg | 206 -- ...d2f26855ada3b9f1d43aec70a86_cgraph_org.svg | 180 -- ...8dca7b867074164d5f45b0f3851269d_cgraph.map | 5 - ...8dca7b867074164d5f45b0f3851269d_cgraph.md5 | 1 - ...8dca7b867074164d5f45b0f3851269d_cgraph.svg | 65 - ...7b867074164d5f45b0f3851269d_cgraph_org.svg | 39 - ...d9e3edfe156b59fc06a5585403fe0d6_cgraph.map | 8 - ...d9e3edfe156b59fc06a5585403fe0d6_cgraph.md5 | 1 - ...d9e3edfe156b59fc06a5585403fe0d6_cgraph.svg | 94 - ...edfe156b59fc06a5585403fe0d6_cgraph_org.svg | 68 - ...76f5cac3ef8dc034f6abb99b64c2b20_cgraph.map | 10 - ...76f5cac3ef8dc034f6abb99b64c2b20_cgraph.md5 | 1 - ...76f5cac3ef8dc034f6abb99b64c2b20_cgraph.svg | 112 - ...cac3ef8dc034f6abb99b64c2b20_cgraph_org.svg | 86 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 7 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 83 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 57 - ...for__fast__multiplication_8cpp_source.html | 285 ++ da/dd3/namespacespirograph.html | 84 +- ...e83a64e8443fff1e5ffdc1c299c1e99_cgraph.map | 11 - ...e83a64e8443fff1e5ffdc1c299c1e99_cgraph.md5 | 1 - ...e83a64e8443fff1e5ffdc1c299c1e99_cgraph.svg | 119 - ...64e8443fff1e5ffdc1c299c1e99_cgraph_org.svg | 93 - ...ca22dbe4563358960e907a40cd3e1ac_cgraph.map | 7 - ...ca22dbe4563358960e907a40cd3e1ac_cgraph.md5 | 1 - ...ca22dbe4563358960e907a40cd3e1ac_cgraph.svg | 83 - ...dbe4563358960e907a40cd3e1ac_cgraph_org.svg | 57 - da/dd4/namespacemedian__search.html | 35 +- da/dda/namespaceradix__sort.html | 35 +- da/de7/decimal__to__hexadecimal_8cpp.html | 65 +- ...40291bc02cba5474a4cb46a9b9566fe_cgraph.map | 5 - ...40291bc02cba5474a4cb46a9b9566fe_cgraph.md5 | 1 - ...40291bc02cba5474a4cb46a9b9566fe_cgraph.svg | 65 - ...1bc02cba5474a4cb46a9b9566fe_cgraph_org.svg | 39 - .../decimal__to__hexadecimal_8cpp_source.html | 167 + da/de8/dijkstra__greedy_8cpp.html | 63 +- ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 5 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 65 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 39 - da/de8/dijkstra__greedy_8cpp_source.html | 294 ++ da/df2/durand__kerner__roots_8cpp.html | 253 +- ...283886819c7c140a023582b7269e2d0_cgraph.map | 35 - ...283886819c7c140a023582b7269e2d0_cgraph.md5 | 1 - ...283886819c7c140a023582b7269e2d0_cgraph.svg | 335 -- ...86819c7c140a023582b7269e2d0_cgraph_org.svg | 309 -- ...440a7779ac56f47a3f355ce4a8c7da0_cgraph.map | 35 - ...440a7779ac56f47a3f355ce4a8c7da0_cgraph.md5 | 1 - ...440a7779ac56f47a3f355ce4a8c7da0_cgraph.svg | 335 -- ...7779ac56f47a3f355ce4a8c7da0_cgraph_org.svg | 309 -- ...c35b320ace8677f9b331faf94f8b2fd_cgraph.map | 31 - ...c35b320ace8677f9b331faf94f8b2fd_cgraph.md5 | 1 - ...c35b320ace8677f9b331faf94f8b2fd_cgraph.svg | 299 -- ...320ace8677f9b331faf94f8b2fd_cgraph_org.svg | 273 -- ...0219e35062007d1f1b68e9af071ab5c_cgraph.map | 9 - ...0219e35062007d1f1b68e9af071ab5c_cgraph.md5 | 1 - ...0219e35062007d1f1b68e9af071ab5c_cgraph.svg | 101 - ...e35062007d1f1b68e9af071ab5c_cgraph_org.svg | 75 - ...2ab49ba1969d7a5988f9bc2c8924569_cgraph.map | 9 - ...2ab49ba1969d7a5988f9bc2c8924569_cgraph.md5 | 1 - ...2ab49ba1969d7a5988f9bc2c8924569_cgraph.svg | 101 - ...9ba1969d7a5988f9bc2c8924569_cgraph_org.svg | 75 - da/df2/durand__kerner__roots_8cpp_source.html | 432 +++ ...ar__search_1_1_ay_star_search-members.html | 35 +- ...ry__search__tree_1_1bst__node-members.html | 35 +- db/d01/brent__method__extrema_8cpp.html | 178 +- ...283886819c7c140a023582b7269e2d0_cgraph.map | 11 - ...283886819c7c140a023582b7269e2d0_cgraph.md5 | 1 - ...283886819c7c140a023582b7269e2d0_cgraph.svg | 119 - ...86819c7c140a023582b7269e2d0_cgraph_org.svg | 93 - ...440a7779ac56f47a3f355ce4a8c7da0_cgraph.map | 9 - ...440a7779ac56f47a3f355ce4a8c7da0_cgraph.md5 | 1 - ...440a7779ac56f47a3f355ce4a8c7da0_cgraph.svg | 101 - ...7779ac56f47a3f355ce4a8c7da0_cgraph_org.svg | 75 - ...aa76a6d5fd4d333f9072beff1dc486b_cgraph.map | 7 - ...aa76a6d5fd4d333f9072beff1dc486b_cgraph.md5 | 1 - ...aa76a6d5fd4d333f9072beff1dc486b_cgraph.svg | 83 - ...a6d5fd4d333f9072beff1dc486b_cgraph_org.svg | 57 - ...d0455dd5c30adda100e95f0423c786e_cgraph.map | 11 - ...d0455dd5c30adda100e95f0423c786e_cgraph.md5 | 1 - ...d0455dd5c30adda100e95f0423c786e_cgraph.svg | 119 - ...5dd5c30adda100e95f0423c786e_cgraph_org.svg | 93 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 21 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 209 -- ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 183 -- .../brent__method__extrema_8cpp_source.html | 330 ++ db/d03/_s_t-example.html | 35 +- db/d03/namespacewildcard__matching.html | 35 +- db/d07/spiral__print_8cpp.html | 102 +- ...fff36db81326fb990a643ab198ee8a5_cgraph.map | 5 - ...fff36db81326fb990a643ab198ee8a5_cgraph.md5 | 1 - ...fff36db81326fb990a643ab198ee8a5_cgraph.svg | 65 - ...6db81326fb990a643ab198ee8a5_cgraph_org.svg | 39 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 9 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 101 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 75 - db/d07/spiral__print_8cpp_source.html | 209 ++ db/d09/duval_8cpp.html | 87 +- ...8dca7b867074164d5f45b0f3851269d_cgraph.map | 5 - ...8dca7b867074164d5f45b0f3851269d_cgraph.md5 | 1 - ...8dca7b867074164d5f45b0f3851269d_cgraph.svg | 65 - ...7b867074164d5f45b0f3851269d_cgraph_org.svg | 39 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 7 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 83 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 57 - db/d09/duval_8cpp_source.html | 222 ++ db/d0d/prime__factorization_8cpp.html | 114 +- ...ece0145fb29a5cf48378c23dde2da46_cgraph.map | 5 - ...ece0145fb29a5cf48378c23dde2da46_cgraph.md5 | 1 - ...ece0145fb29a5cf48378c23dde2da46_cgraph.svg | 65 - ...145fb29a5cf48378c23dde2da46_cgraph_org.svg | 39 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 13 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 137 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 111 - ...fe577b9bce8f604f5e2f861c63c7099_cgraph.map | 5 - ...fe577b9bce8f604f5e2f861c63c7099_cgraph.md5 | 1 - ...fe577b9bce8f604f5e2f861c63c7099_cgraph.svg | 65 - ...7b9bce8f604f5e2f861c63c7099_cgraph_org.svg | 39 - db/d0d/prime__factorization_8cpp_source.html | 215 ++ ...__array_1_1_queue___array__coll__graph.map | 8 +- ...__array_1_1_queue___array__coll__graph.md5 | 2 +- ...__array_1_1_queue___array__coll__graph.svg | 27 +- ...ray_1_1_queue___array__coll__graph_org.svg | 27 +- db/d10/classdsu__coll__graph.map | 7 - db/d10/classdsu__coll__graph.md5 | 1 - db/d10/classdsu__coll__graph.svg | 89 - db/d10/classdsu__coll__graph_org.svg | 63 - db/d16/0__1__knapsack_8cpp.html | 105 +- ...5edf30f336885e5b851f6b7199c6cd1_cgraph.map | 6 - ...5edf30f336885e5b851f6b7199c6cd1_cgraph.md5 | 1 - ...5edf30f336885e5b851f6b7199c6cd1_cgraph.svg | 75 - ...30f336885e5b851f6b7199c6cd1_cgraph_org.svg | 49 - ...8dca7b867074164d5f45b0f3851269d_cgraph.map | 5 - ...8dca7b867074164d5f45b0f3851269d_cgraph.md5 | 1 - ...8dca7b867074164d5f45b0f3851269d_cgraph.svg | 65 - ...7b867074164d5f45b0f3851269d_cgraph_org.svg | 39 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 7 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 83 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 57 - db/d16/0__1__knapsack_8cpp_source.html | 228 ++ db/d19/structlinear__probing_1_1_entry.html | 100 +- db/d1e/classgraph_1_1_graph-members.html | 35 +- db/d27/n__bonacci_8cpp.html | 102 +- ...849b68f760be628d5975ab3eddec63d_cgraph.map | 4 - ...849b68f760be628d5975ab3eddec63d_cgraph.md5 | 1 - ...849b68f760be628d5975ab3eddec63d_cgraph.svg | 57 - ...68f760be628d5975ab3eddec63d_cgraph_org.svg | 31 - ...8dca7b867074164d5f45b0f3851269d_cgraph.map | 5 - ...8dca7b867074164d5f45b0f3851269d_cgraph.md5 | 1 - ...8dca7b867074164d5f45b0f3851269d_cgraph.svg | 65 - ...7b867074164d5f45b0f3851269d_cgraph_org.svg | 39 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 7 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 83 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 57 - db/d27/n__bonacci_8cpp_source.html | 215 ++ ..._1_1jarvis_1_1_convexhull__coll__graph.map | 2 +- ..._1_1jarvis_1_1_convexhull__coll__graph.md5 | 2 +- ..._1_1jarvis_1_1_convexhull__coll__graph.svg | 2 +- ...jarvis_1_1_convexhull__coll__graph_org.svg | 2 +- ...arse__table_1_1_sparse__table-members.html | 35 +- ...ers_1_1_cache_1_1_l_f_u_cache-members.html | 35 +- db/d3c/tower__of__hanoi_8cpp.html | 91 +- ...037f72a5eac476535a6cfbbcb965417_cgraph.map | 6 - ...037f72a5eac476535a6cfbbcb965417_cgraph.md5 | 1 - ...037f72a5eac476535a6cfbbcb965417_cgraph.svg | 74 - ...72a5eac476535a6cfbbcb965417_cgraph_org.svg | 48 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 8 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 92 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 66 - db/d3c/tower__of__hanoi_8cpp_source.html | 216 ++ db/d3f/wave__sort_8cpp.html | 129 +- ...d4f243b9dc13ace4ef77e30dbc56f12_cgraph.map | 12 - ...d4f243b9dc13ace4ef77e30dbc56f12_cgraph.md5 | 1 - ...d4f243b9dc13ace4ef77e30dbc56f12_cgraph.svg | 129 - ...43b9dc13ace4ef77e30dbc56f12_cgraph_org.svg | 103 - ...8dca7b867074164d5f45b0f3851269d_cgraph.map | 5 - ...8dca7b867074164d5f45b0f3851269d_cgraph.md5 | 1 - ...8dca7b867074164d5f45b0f3851269d_cgraph.svg | 65 - ...7b867074164d5f45b0f3851269d_cgraph_org.svg | 39 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 7 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 83 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 57 - db/d3f/wave__sort_8cpp_source.html | 210 ++ db/d40/integral__approximation2_8cpp.html | 198 +- ...1249ee535f16f8ed2e9cc8f0199a2cf_cgraph.map | 10 - ...1249ee535f16f8ed2e9cc8f0199a2cf_cgraph.md5 | 1 - ...1249ee535f16f8ed2e9cc8f0199a2cf_cgraph.svg | 111 - ...ee535f16f8ed2e9cc8f0199a2cf_cgraph_org.svg | 85 - ...8dca7b867074164d5f45b0f3851269d_cgraph.map | 11 - ...8dca7b867074164d5f45b0f3851269d_cgraph.md5 | 1 - ...8dca7b867074164d5f45b0f3851269d_cgraph.svg | 119 - ...7b867074164d5f45b0f3851269d_cgraph_org.svg | 93 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 13 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 137 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 111 - ...7da9ba8932f1f48b9bbc2d80471af51_cgraph.map | 15 - ...7da9ba8932f1f48b9bbc2d80471af51_cgraph.md5 | 1 - ...7da9ba8932f1f48b9bbc2d80471af51_cgraph.svg | 157 - ...ba8932f1f48b9bbc2d80471af51_cgraph_org.svg | 131 - .../integral__approximation2_8cpp_source.html | 300 ++ ...ures_1_1stack__using__queue_1_1_stack.html | 147 +- ...540434e1b41245205eee86f664906f7_cgraph.map | 5 - ...540434e1b41245205eee86f664906f7_cgraph.md5 | 1 - ...540434e1b41245205eee86f664906f7_cgraph.svg | 66 - ...34e1b41245205eee86f664906f7_cgraph_org.svg | 40 - ...dd461689df4983a3ad3b05d853cf5eb_cgraph.map | 7 - ...dd461689df4983a3ad3b05d853cf5eb_cgraph.md5 | 1 - ...dd461689df4983a3ad3b05d853cf5eb_cgraph.svg | 84 - ...1689df4983a3ad3b05d853cf5eb_cgraph_org.svg | 58 - ...04a8f3536a52d8c9916086b656eefc2_cgraph.map | 11 - ...04a8f3536a52d8c9916086b656eefc2_cgraph.md5 | 1 - ...04a8f3536a52d8c9916086b656eefc2_cgraph.svg | 120 - ...f3536a52d8c9916086b656eefc2_cgraph_org.svg | 94 - .../class_easter_year_month_day-members.html | 35 +- ...ulo__p_1_1_n_c_r_modulo_p__coll__graph.map | 8 +- ...ulo__p_1_1_n_c_r_modulo_p__coll__graph.md5 | 2 +- ...ulo__p_1_1_n_c_r_modulo_p__coll__graph.svg | 27 +- ..._p_1_1_n_c_r_modulo_p__coll__graph_org.svg | 27 +- db/d66/struct_item.html | 79 +- ...tree__traversals_1_1_node__coll__graph.map | 6 +- ...tree__traversals_1_1_node__coll__graph.md5 | 2 +- ...tree__traversals_1_1_node__coll__graph.svg | 33 +- ...__traversals_1_1_node__coll__graph_org.svg | 33 +- db/d6b/kelvin__to__celsius_8cpp.html | 68 +- ...83bb8ccf42aaf7375a83e91490eda1e_cgraph.map | 7 - ...83bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 | 1 - ...83bb8ccf42aaf7375a83e91490eda1e_cgraph.svg | 84 - ...8ccf42aaf7375a83e91490eda1e_cgraph_org.svg | 58 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 9 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 102 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 76 - db/d6b/kelvin__to__celsius_8cpp_source.html | 185 ++ ...ed_3_01uint256__t_01_4__inherit__graph.map | 2 +- ...ed_3_01uint256__t_01_4__inherit__graph.md5 | 2 +- ...ed_3_01uint256__t_01_4__inherit__graph.svg | 2 +- ..._01uint256__t_01_4__inherit__graph_org.svg | 2 +- .../namespaceheavy__light__decomposition.html | 35 +- .../quadratic__probing__hash__table_8cpp.html | 134 +- ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 43 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 473 --- ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 390 --- ...tic__probing__hash__table_8cpp_source.html | 415 +++ ...ic_3_01uint128__t_01_4__inherit__graph.map | 2 +- ...ic_3_01uint128__t_01_4__inherit__graph.md5 | 2 +- ...ic_3_01uint128__t_01_4__inherit__graph.svg | 2 +- ..._01uint128__t_01_4__inherit__graph_org.svg | 2 +- db/d80/gale__shapley_8cpp.html | 78 +- ...83bb8ccf42aaf7375a83e91490eda1e_cgraph.map | 7 - ...83bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 | 1 - ...83bb8ccf42aaf7375a83e91490eda1e_cgraph.svg | 85 - ...8ccf42aaf7375a83e91490eda1e_cgraph_org.svg | 59 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 9 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 103 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 77 - db/d80/gale__shapley_8cpp_source.html | 259 ++ db/d82/classlarge__number.html | 226 +- ...0119a83839e65962621b73df46a5337_cgraph.map | 5 - ...0119a83839e65962621b73df46a5337_cgraph.md5 | 1 - ...0119a83839e65962621b73df46a5337_cgraph.svg | 66 - ...a83839e65962621b73df46a5337_cgraph_org.svg | 40 - ...f5571e66305cf68bb8283e4aeda58bc_cgraph.map | 11 - ...f5571e66305cf68bb8283e4aeda58bc_cgraph.md5 | 1 - ...f5571e66305cf68bb8283e4aeda58bc_cgraph.svg | 119 - ...1e66305cf68bb8283e4aeda58bc_cgraph_org.svg | 93 - ...0c436d1a1c5e3795d6177d3815ad615_cgraph.map | 5 - ...0c436d1a1c5e3795d6177d3815ad615_cgraph.md5 | 1 - ...0c436d1a1c5e3795d6177d3815ad615_cgraph.svg | 65 - ...6d1a1c5e3795d6177d3815ad615_cgraph_org.svg | 39 - ...71e9b28cfddf1ad94668566e396e350_cgraph.map | 13 - ...71e9b28cfddf1ad94668566e396e350_cgraph.md5 | 1 - ...71e9b28cfddf1ad94668566e396e350_cgraph.svg | 194 -- ...b28cfddf1ad94668566e396e350_cgraph_org.svg | 111 - ...59c5c1a982949bbf98e1ea0f9afe6a9_cgraph.map | 9 - ...59c5c1a982949bbf98e1ea0f9afe6a9_cgraph.md5 | 1 - ...59c5c1a982949bbf98e1ea0f9afe6a9_cgraph.svg | 102 - ...c1a982949bbf98e1ea0f9afe6a9_cgraph_org.svg | 76 - ...b5644405094740e34983cedfecb36cf_cgraph.map | 13 - ...b5644405094740e34983cedfecb36cf_cgraph.md5 | 1 - ...b5644405094740e34983cedfecb36cf_cgraph.svg | 137 - ...4405094740e34983cedfecb36cf_cgraph_org.svg | 111 - ...09a05ec4aafb4d9e0b4440d6f0e2a93_cgraph.map | 5 - ...09a05ec4aafb4d9e0b4440d6f0e2a93_cgraph.md5 | 1 - ...09a05ec4aafb4d9e0b4440d6f0e2a93_cgraph.svg | 65 - ...5ec4aafb4d9e0b4440d6f0e2a93_cgraph_org.svg | 39 - ...35a55607cf52c0b0d485f2129bd39ac_cgraph.map | 7 - ...35a55607cf52c0b0d485f2129bd39ac_cgraph.md5 | 1 - ...35a55607cf52c0b0d485f2129bd39ac_cgraph.svg | 83 - ...5607cf52c0b0d485f2129bd39ac_cgraph_org.svg | 57 - ...4598f1f2794b5e17e10c25e0501e41a_cgraph.map | 7 - ...4598f1f2794b5e17e10c25e0501e41a_cgraph.md5 | 1 - ...4598f1f2794b5e17e10c25e0501e41a_cgraph.svg | 84 - ...f1f2794b5e17e10c25e0501e41a_cgraph_org.svg | 58 - db/d8b/struct_node.html | 167 +- db/d93/check__prime_8cpp.html | 67 +- ...83bb8ccf42aaf7375a83e91490eda1e_cgraph.map | 7 - ...83bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 | 1 - ...83bb8ccf42aaf7375a83e91490eda1e_cgraph.svg | 83 - ...8ccf42aaf7375a83e91490eda1e_cgraph_org.svg | 57 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 9 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 101 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 75 - db/d93/check__prime_8cpp_source.html | 189 ++ db/d9a/classuint128__t.html | 293 +- ...b6612186d8f678452e011d08ee1f5ac_cgraph.map | 7 - ...b6612186d8f678452e011d08ee1f5ac_cgraph.md5 | 1 - ...b6612186d8f678452e011d08ee1f5ac_cgraph.svg | 84 - ...2186d8f678452e011d08ee1f5ac_cgraph_org.svg | 58 - ...79209a184db20a7ffc8e687fdb05be2_cgraph.map | 7 - ...79209a184db20a7ffc8e687fdb05be2_cgraph.md5 | 1 - ...79209a184db20a7ffc8e687fdb05be2_cgraph.svg | 83 - ...9a184db20a7ffc8e687fdb05be2_cgraph_org.svg | 57 - ...00ed88fe2054788cc6e0b6a8fdf66db_cgraph.map | 7 - ...00ed88fe2054788cc6e0b6a8fdf66db_cgraph.md5 | 1 - ...00ed88fe2054788cc6e0b6a8fdf66db_cgraph.svg | 83 - ...88fe2054788cc6e0b6a8fdf66db_cgraph_org.svg | 57 - ...072a7e43da3600c345c81bc80c957ee_cgraph.map | 7 - ...072a7e43da3600c345c81bc80c957ee_cgraph.md5 | 1 - ...072a7e43da3600c345c81bc80c957ee_cgraph.svg | 83 - ...7e43da3600c345c81bc80c957ee_cgraph_org.svg | 57 - ...57a3c69c1e775a1bd3935c2bfbb02df_cgraph.map | 5 - ...57a3c69c1e775a1bd3935c2bfbb02df_cgraph.md5 | 1 - ...57a3c69c1e775a1bd3935c2bfbb02df_cgraph.svg | 66 - ...c69c1e775a1bd3935c2bfbb02df_cgraph_org.svg | 40 - ...bf81f7f5f5c98f197822ec88e106c6c_cgraph.map | 5 - ...bf81f7f5f5c98f197822ec88e106c6c_cgraph.md5 | 1 - ...bf81f7f5f5c98f197822ec88e106c6c_cgraph.svg | 65 - ...f7f5f5c98f197822ec88e106c6c_cgraph_org.svg | 39 - ...ae08ef3c1d6dc512edd68ca68327f74_cgraph.map | 7 - ...ae08ef3c1d6dc512edd68ca68327f74_cgraph.md5 | 1 - ...ae08ef3c1d6dc512edd68ca68327f74_cgraph.svg | 84 - ...ef3c1d6dc512edd68ca68327f74_cgraph_org.svg | 58 - ...fc6a8765039cacc829a5cd386b5a066_cgraph.map | 7 - ...fc6a8765039cacc829a5cd386b5a066_cgraph.md5 | 1 - ...fc6a8765039cacc829a5cd386b5a066_cgraph.svg | 83 - ...8765039cacc829a5cd386b5a066_cgraph_org.svg | 57 - db/d9f/iterative__factorial_8cpp.html | 81 +- ...8dca7b867074164d5f45b0f3851269d_cgraph.map | 5 - ...8dca7b867074164d5f45b0f3851269d_cgraph.md5 | 1 - ...8dca7b867074164d5f45b0f3851269d_cgraph.svg | 65 - ...7b867074164d5f45b0f3851269d_cgraph_org.svg | 39 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 7 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 83 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 57 - db/d9f/iterative__factorial_8cpp_source.html | 224 ++ db/da9/classqueue.html | 222 +- ...5e231798bc706b8b0773a07f78713e7_cgraph.map | 7 - ...5e231798bc706b8b0773a07f78713e7_cgraph.md5 | 1 - ...5e231798bc706b8b0773a07f78713e7_cgraph.svg | 83 - ...1798bc706b8b0773a07f78713e7_cgraph_org.svg | 57 - ...08ebdd38cb4ad74fc0a3f51888da604_cgraph.map | 5 - ...08ebdd38cb4ad74fc0a3f51888da604_cgraph.md5 | 1 - ...08ebdd38cb4ad74fc0a3f51888da604_cgraph.svg | 65 - ...dd38cb4ad74fc0a3f51888da604_cgraph_org.svg | 39 - ...a88d0c1f34946d66386b7a11bee4e4d_cgraph.map | 7 - ...a88d0c1f34946d66386b7a11bee4e4d_cgraph.md5 | 1 - ...a88d0c1f34946d66386b7a11bee4e4d_cgraph.svg | 83 - ...0c1f34946d66386b7a11bee4e4d_cgraph_org.svg | 57 - ...27dbb72fb63f58f817a88550d7faa85_cgraph.map | 7 - ...27dbb72fb63f58f817a88550d7faa85_cgraph.md5 | 1 - ...27dbb72fb63f58f817a88550d7faa85_cgraph.svg | 83 - ...b72fb63f58f817a88550d7faa85_cgraph_org.svg | 57 - .../counting__sort__string_8cpp_source.html | 171 + db/db5/slow__sort_8cpp_source.html | 194 ++ db/dbc/tree__234_8cpp.html | 91 +- ...ddf1224851353fc92bfbff6f499fa97_cgraph.map | 109 - ...ddf1224851353fc92bfbff6f499fa97_cgraph.md5 | 1 - ...ddf1224851353fc92bfbff6f499fa97_cgraph.svg | 1088 ------- ...224851353fc92bfbff6f499fa97_cgraph_org.svg | 1005 ------ ...7880ce913f3058a35ff106d5be9e243_cgraph.map | 78 - ...7880ce913f3058a35ff106d5be9e243_cgraph.md5 | 1 - ...7880ce913f3058a35ff106d5be9e243_cgraph.svg | 809 ----- ...ce913f3058a35ff106d5be9e243_cgraph_org.svg | 726 ----- ...1ac73779b0fcfbbdce3976c0ca57342_cgraph.map | 40 - ...1ac73779b0fcfbbdce3976c0ca57342_cgraph.md5 | 1 - ...1ac73779b0fcfbbdce3976c0ca57342_cgraph.svg | 449 --- ...3779b0fcfbbdce3976c0ca57342_cgraph_org.svg | 366 --- db/dbc/tree__234_8cpp_source.html | 1077 +++++++ db/dbd/test__stack__students_8cpp_source.html | 198 ++ db/dc0/namespacebacktracking.html | 70 +- ...8540bcb5ef3473b2348cbc34748ec50_cgraph.map | 12 - ...8540bcb5ef3473b2348cbc34748ec50_cgraph.md5 | 1 - ...8540bcb5ef3473b2348cbc34748ec50_cgraph.svg | 128 - ...bcb5ef3473b2348cbc34748ec50_cgraph_org.svg | 102 - .../floyd__cycle__detection__algo_8cpp.html | 102 +- ...1ffc7a2c6bf530c8a496864e7a3ad88_cgraph.map | 4 - ...1ffc7a2c6bf530c8a496864e7a3ad88_cgraph.md5 | 1 - ...1ffc7a2c6bf530c8a496864e7a3ad88_cgraph.svg | 57 - ...7a2c6bf530c8a496864e7a3ad88_cgraph_org.svg | 31 - ...8dca7b867074164d5f45b0f3851269d_cgraph.map | 7 - ...8dca7b867074164d5f45b0f3851269d_cgraph.md5 | 1 - ...8dca7b867074164d5f45b0f3851269d_cgraph.svg | 83 - ...7b867074164d5f45b0f3851269d_cgraph_org.svg | 57 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 9 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 101 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 75 - ...d__cycle__detection__algo_8cpp_source.html | 210 ++ db/dd3/ode__forward__euler_8cpp.html | 134 +- ...ddf1224851353fc92bfbff6f499fa97_cgraph.map | 33 - ...ddf1224851353fc92bfbff6f499fa97_cgraph.md5 | 1 - ...ddf1224851353fc92bfbff6f499fa97_cgraph.svg | 317 -- ...224851353fc92bfbff6f499fa97_cgraph_org.svg | 291 -- ...13517b8e5de1b75592052db7f7e237f_cgraph.map | 17 - ...13517b8e5de1b75592052db7f7e237f_cgraph.md5 | 1 - ...13517b8e5de1b75592052db7f7e237f_cgraph.svg | 173 -- ...7b8e5de1b75592052db7f7e237f_cgraph_org.svg | 147 - ...3adf7b092a87868917ee5fb4255192b_cgraph.map | 7 - ...3adf7b092a87868917ee5fb4255192b_cgraph.md5 | 1 - ...3adf7b092a87868917ee5fb4255192b_cgraph.svg | 83 - ...7b092a87868917ee5fb4255192b_cgraph_org.svg | 57 - db/dd3/ode__forward__euler_8cpp_source.html | 277 ++ db/ddb/classhash__chain__coll__graph.map | 6 +- db/ddb/classhash__chain__coll__graph.md5 | 2 +- db/ddb/classhash__chain__coll__graph.svg | 6 +- db/ddb/classhash__chain__coll__graph_org.svg | 6 +- db/ddc/namespaceaystar__search.html | 35 +- db/dde/namespaceothers_1_1_cache.html | 61 +- db/de3/numeric__string__sort_8cpp_source.html | 193 ++ ...star__search_1_1_eight_puzzle-members.html | 35 +- db/df3/happy__number_8cpp.html | 65 +- ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 7 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 83 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 57 - db/df3/happy__number_8cpp_source.html | 172 + db/dfb/maximum__circular__subarray_8cpp.html | 71 +- ...ddf1224851353fc92bfbff6f499fa97_cgraph.map | 13 - ...ddf1224851353fc92bfbff6f499fa97_cgraph.md5 | 1 - ...ddf1224851353fc92bfbff6f499fa97_cgraph.svg | 138 - ...224851353fc92bfbff6f499fa97_cgraph_org.svg | 112 - ...8dca7b867074164d5f45b0f3851269d_cgraph.map | 11 - ...8dca7b867074164d5f45b0f3851269d_cgraph.md5 | 1 - ...8dca7b867074164d5f45b0f3851269d_cgraph.svg | 120 - ...7b867074164d5f45b0f3851269d_cgraph_org.svg | 94 - ...ximum__circular__subarray_8cpp_source.html | 209 ++ ...ures_1_1tree__234_1_1_tree234-members.html | 35 +- ...1strassens__multiplication_1_1_matrix.html | 314 +- ...1f3a05cf5abdc5d63999ef1bf9f9256_cgraph.map | 9 - ...1f3a05cf5abdc5d63999ef1bf9f9256_cgraph.md5 | 1 - ...1f3a05cf5abdc5d63999ef1bf9f9256_cgraph.svg | 105 - ...05cf5abdc5d63999ef1bf9f9256_cgraph_org.svg | 79 - ...fcb7db9bdeabd874712ec4f00483d17_cgraph.map | 12 - ...fcb7db9bdeabd874712ec4f00483d17_cgraph.md5 | 1 - ...fcb7db9bdeabd874712ec4f00483d17_cgraph.svg | 191 -- ...db9bdeabd874712ec4f00483d17_cgraph_org.svg | 108 - ...2c986fb57b74fe1b7c5953cb1922c3d_cgraph.map | 8 - ...2c986fb57b74fe1b7c5953cb1922c3d_cgraph.md5 | 1 - ...2c986fb57b74fe1b7c5953cb1922c3d_cgraph.svg | 96 - ...6fb57b74fe1b7c5953cb1922c3d_cgraph_org.svg | 70 - ...aa49765cce39ce48b9241e993e0cfb9_cgraph.map | 5 - ...aa49765cce39ce48b9241e993e0cfb9_cgraph.md5 | 1 - ...aa49765cce39ce48b9241e993e0cfb9_cgraph.svg | 67 - ...765cce39ce48b9241e993e0cfb9_cgraph_org.svg | 41 - ...62faa16a4b4ed5d4804823c56f99c9c_cgraph.map | 5 - ...62faa16a4b4ed5d4804823c56f99c9c_cgraph.md5 | 1 - ...62faa16a4b4ed5d4804823c56f99c9c_cgraph.svg | 67 - ...a16a4b4ed5d4804823c56f99c9c_cgraph_org.svg | 41 - ...d8eb669b37a27224376b08515b4ee50_cgraph.map | 12 - ...d8eb669b37a27224376b08515b4ee50_cgraph.md5 | 1 - ...d8eb669b37a27224376b08515b4ee50_cgraph.svg | 191 -- ...669b37a27224376b08515b4ee50_cgraph_org.svg | 108 - ...0599668b56001cef4bb59d4cb5c6c6c_cgraph.map | 16 - ...0599668b56001cef4bb59d4cb5c6c6c_cgraph.md5 | 1 - ...0599668b56001cef4bb59d4cb5c6c6c_cgraph.svg | 229 -- ...668b56001cef4bb59d4cb5c6c6c_cgraph_org.svg | 146 - ...78681c9f6266a8219bd6bee6972d70e_cgraph.map | 13 - ...78681c9f6266a8219bd6bee6972d70e_cgraph.md5 | 1 - ...78681c9f6266a8219bd6bee6972d70e_cgraph.svg | 200 -- ...1c9f6266a8219bd6bee6972d70e_cgraph_org.svg | 117 - ...7c2ed8f19bda2ad21ee4cbed32c394a_cgraph.map | 33 - ...7c2ed8f19bda2ad21ee4cbed32c394a_cgraph.md5 | 1 - ...7c2ed8f19bda2ad21ee4cbed32c394a_cgraph.svg | 388 --- ...d8f19bda2ad21ee4cbed32c394a_cgraph_org.svg | 305 -- ...6534125643a02c114bd4cddba9bc17f_cgraph.map | 7 - ...6534125643a02c114bd4cddba9bc17f_cgraph.md5 | 1 - ...6534125643a02c114bd4cddba9bc17f_cgraph.svg | 85 - ...125643a02c114bd4cddba9bc17f_cgraph_org.svg | 59 - ...36ec1f1a97298e49de605384e5f8211_cgraph.map | 13 - ...36ec1f1a97298e49de605384e5f8211_cgraph.md5 | 1 - ...36ec1f1a97298e49de605384e5f8211_cgraph.svg | 200 -- ...1f1a97298e49de605384e5f8211_cgraph_org.svg | 117 - ...190115f8d4d31e47d7290e0b6871391_cgraph.map | 8 - ...190115f8d4d31e47d7290e0b6871391_cgraph.md5 | 1 - ...190115f8d4d31e47d7290e0b6871391_cgraph.svg | 96 - ...15f8d4d31e47d7290e0b6871391_cgraph_org.svg | 70 - ...4e183ec8eab778cb243e4ae0b22a0f1_cgraph.map | 5 - ...4e183ec8eab778cb243e4ae0b22a0f1_cgraph.md5 | 1 - ...4e183ec8eab778cb243e4ae0b22a0f1_cgraph.svg | 67 - ...3ec8eab778cb243e4ae0b22a0f1_cgraph_org.svg | 41 - ...dbe01e48a96fefa0b393ec577b0f19e_cgraph.map | 12 - ...dbe01e48a96fefa0b393ec577b0f19e_cgraph.md5 | 1 - ...dbe01e48a96fefa0b393ec577b0f19e_cgraph.svg | 191 -- ...1e48a96fefa0b393ec577b0f19e_cgraph_org.svg | 108 - ...09566a6a59d30875434c140e18e0a12_cgraph.map | 5 - ...09566a6a59d30875434c140e18e0a12_cgraph.md5 | 1 - ...09566a6a59d30875434c140e18e0a12_cgraph.svg | 67 - ...6a6a59d30875434c140e18e0a12_cgraph_org.svg | 41 - ...12ceffdc07cc87eca8a4a8ac87d60fe_cgraph.map | 12 - ...12ceffdc07cc87eca8a4a8ac87d60fe_cgraph.md5 | 1 - ...12ceffdc07cc87eca8a4a8ac87d60fe_cgraph.svg | 132 - ...ffdc07cc87eca8a4a8ac87d60fe_cgraph_org.svg | 106 - dc/d14/wildcard__matching_8cpp.html | 208 +- dc/d14/wildcard__matching_8cpp.js | 4 +- ...8dca7b867074164d5f45b0f3851269d_cgraph.map | 5 - ...8dca7b867074164d5f45b0f3851269d_cgraph.md5 | 1 - ...8dca7b867074164d5f45b0f3851269d_cgraph.svg | 65 - ...7b867074164d5f45b0f3851269d_cgraph_org.svg | 39 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 7 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 83 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 57 - dc/d14/wildcard__matching_8cpp_source.html | 264 ++ dc/d1a/pascal__triangle_8cpp.html | 82 +- ...7a31d9cb2818d21b1ba12aead7f4c5c_cgraph.map | 7 - ...7a31d9cb2818d21b1ba12aead7f4c5c_cgraph.md5 | 1 - ...7a31d9cb2818d21b1ba12aead7f4c5c_cgraph.svg | 83 - ...d9cb2818d21b1ba12aead7f4c5c_cgraph_org.svg | 57 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 12 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 128 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 102 - dc/d1a/pascal__triangle_8cpp_source.html | 204 ++ dc/d1f/classcatalan__numbers.html | 101 +- ...ructdata__structures_1_1_node-members.html | 35 +- ...__trailing__ciphers__in__factorial__n.html | 35 +- ...inary__least__squares__regressor_8cpp.html | 468 ++- ...1e6c7bf2b09272578b9c5819ce0f36f_cgraph.map | 7 - ...1e6c7bf2b09272578b9c5819ce0f36f_cgraph.md5 | 1 - ...1e6c7bf2b09272578b9c5819ce0f36f_cgraph.svg | 83 - ...7bf2b09272578b9c5819ce0f36f_cgraph_org.svg | 57 - ...07b3a99fd5974d3117e0b0ac0aad234_cgraph.map | 5 - ...07b3a99fd5974d3117e0b0ac0aad234_cgraph.md5 | 1 - ...07b3a99fd5974d3117e0b0ac0aad234_cgraph.svg | 65 - ...a99fd5974d3117e0b0ac0aad234_cgraph_org.svg | 39 - ...2535e20e97d85aa61271e0894cc0359_cgraph.map | 5 - ...2535e20e97d85aa61271e0894cc0359_cgraph.md5 | 1 - ...2535e20e97d85aa61271e0894cc0359_cgraph.svg | 65 - ...e20e97d85aa61271e0894cc0359_cgraph_org.svg | 39 - ...261f3c3c3dfdb86f3004eb8aaffea8d_cgraph.map | 21 - ...261f3c3c3dfdb86f3004eb8aaffea8d_cgraph.md5 | 1 - ...261f3c3c3dfdb86f3004eb8aaffea8d_cgraph.svg | 209 -- ...3c3c3dfdb86f3004eb8aaffea8d_cgraph_org.svg | 183 -- ...a6a560dbdd0177633783b72db37dc19_cgraph.map | 7 - ...a6a560dbdd0177633783b72db37dc19_cgraph.md5 | 1 - ...a6a560dbdd0177633783b72db37dc19_cgraph.svg | 83 - ...60dbdd0177633783b72db37dc19_cgraph_org.svg | 57 - ...075a0fccad9b2d79be0275bfe8948d4_cgraph.map | 11 - ...075a0fccad9b2d79be0275bfe8948d4_cgraph.md5 | 1 - ...075a0fccad9b2d79be0275bfe8948d4_cgraph.svg | 119 - ...0fccad9b2d79be0275bfe8948d4_cgraph_org.svg | 93 - ...65e8d26a01962cc93aca66e71346f37_cgraph.map | 7 - ...65e8d26a01962cc93aca66e71346f37_cgraph.md5 | 1 - ...65e8d26a01962cc93aca66e71346f37_cgraph.svg | 83 - ...d26a01962cc93aca66e71346f37_cgraph_org.svg | 57 - ...ddc683af581b51351e1023d2a01ef3b_cgraph.map | 15 - ...ddc683af581b51351e1023d2a01ef3b_cgraph.md5 | 1 - ...ddc683af581b51351e1023d2a01ef3b_cgraph.svg | 155 - ...83af581b51351e1023d2a01ef3b_cgraph_org.svg | 129 - ...1ad727903d7817c2758d25bcb52cbc8_cgraph.map | 11 - ...1ad727903d7817c2758d25bcb52cbc8_cgraph.md5 | 1 - ...1ad727903d7817c2758d25bcb52cbc8_cgraph.svg | 119 - ...27903d7817c2758d25bcb52cbc8_cgraph_org.svg | 93 - ...2edd40354a1ca7aeaee3d1e3589e713_cgraph.map | 7 - ...2edd40354a1ca7aeaee3d1e3589e713_cgraph.md5 | 1 - ...2edd40354a1ca7aeaee3d1e3589e713_cgraph.svg | 83 - ...40354a1ca7aeaee3d1e3589e713_cgraph_org.svg | 57 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 26 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 311 -- ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 228 -- ...7243bdc6ae3c7169f01b85bb226e66a_cgraph.map | 7 - ...7243bdc6ae3c7169f01b85bb226e66a_cgraph.md5 | 1 - ...7243bdc6ae3c7169f01b85bb226e66a_cgraph.svg | 83 - ...bdc6ae3c7169f01b85bb226e66a_cgraph_org.svg | 57 - ...least__squares__regressor_8cpp_source.html | 577 ++++ dc/d3a/namespacesubset__sum.html | 35 +- ...inear__recurrence__matrix_8cpp_source.html | 409 +++ ...egral_3_01uint256__t_01_4__coll__graph.map | 2 +- ...egral_3_01uint256__t_01_4__coll__graph.md5 | 2 +- ...egral_3_01uint256__t_01_4__coll__graph.svg | 2 +- ...l_3_01uint256__t_01_4__coll__graph_org.svg | 2 +- dc/d5a/rat__maze_8cpp.html | 86 +- ...99107bfb4c6934cd4691868c66c0aa3_cgraph.map | 6 - ...99107bfb4c6934cd4691868c66c0aa3_cgraph.md5 | 1 - ...99107bfb4c6934cd4691868c66c0aa3_cgraph.svg | 75 - ...7bfb4c6934cd4691868c66c0aa3_cgraph_org.svg | 49 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 5 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 65 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 39 - dc/d5a/rat__maze_8cpp_source.html | 217 ++ ...h_1_1_ay_star_search_1_1_info-members.html | 35 +- ...ive__tree__traversals_1_1_b_t-members.html | 35 +- dc/d61/classgraph_1_1_graph.html | 186 +- ...755ec9e6a842238c7f4aac10b661981_cgraph.map | 11 - ...755ec9e6a842238c7f4aac10b661981_cgraph.md5 | 1 - ...755ec9e6a842238c7f4aac10b661981_cgraph.svg | 120 - ...c9e6a842238c7f4aac10b661981_cgraph_org.svg | 94 - ...839fa14bff19d2deab4a618447c13e5_cgraph.map | 7 - ...839fa14bff19d2deab4a618447c13e5_cgraph.md5 | 1 - ...839fa14bff19d2deab4a618447c13e5_cgraph.svg | 83 - ...a14bff19d2deab4a618447c13e5_cgraph_org.svg | 57 - ...930d1470d132b19e430d1c71f94c904_cgraph.map | 5 - ...930d1470d132b19e430d1c71f94c904_cgraph.md5 | 1 - ...930d1470d132b19e430d1c71f94c904_cgraph.svg | 66 - ...1470d132b19e430d1c71f94c904_cgraph_org.svg | 40 - dc/d64/md__coding_guidelines.html | 35 +- ...s__graph__bipartite_1_1_graph-members.html | 35 +- dc/d67/subset__sum__dynamic_8cpp.html | 113 +- ...80fcfb2f6fe49a31c4da572e7032607_cgraph.map | 6 - ...80fcfb2f6fe49a31c4da572e7032607_cgraph.md5 | 1 - ...80fcfb2f6fe49a31c4da572e7032607_cgraph.svg | 76 - ...fb2f6fe49a31c4da572e7032607_cgraph_org.svg | 50 - ...94e6c0dee11278ac0a5491f1b9a4a50_cgraph.map | 10 - ...94e6c0dee11278ac0a5491f1b9a4a50_cgraph.md5 | 1 - ...94e6c0dee11278ac0a5491f1b9a4a50_cgraph.svg | 114 - ...c0dee11278ac0a5491f1b9a4a50_cgraph_org.svg | 88 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 5 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 65 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 39 - dc/d67/subset__sum__dynamic_8cpp_source.html | 229 ++ dc/d6d/power__of__2_8cpp.html | 67 +- ...8dca7b867074164d5f45b0f3851269d_cgraph.map | 7 - ...8dca7b867074164d5f45b0f3851269d_cgraph.md5 | 1 - ...8dca7b867074164d5f45b0f3851269d_cgraph.svg | 84 - ...7b867074164d5f45b0f3851269d_cgraph_org.svg | 58 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 9 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 102 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 76 - dc/d6d/power__of__2_8cpp_source.html | 189 ++ ...1_1is__arithmetic_3_01uint256__t_01_4.html | 42 +- dc/d82/area_8cpp.html | 220 +- ...8dca7b867074164d5f45b0f3851269d_cgraph.map | 30 - ...8dca7b867074164d5f45b0f3851269d_cgraph.md5 | 1 - ...8dca7b867074164d5f45b0f3851269d_cgraph.svg | 290 -- ...7b867074164d5f45b0f3851269d_cgraph_org.svg | 264 -- ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 32 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 308 -- ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 282 -- dc/d82/area_8cpp_source.html | 397 +++ ...al__network_1_1layers_1_1_dense_layer.html | 188 +- ...1046825be0b6dbb73fbe834aa49200e_cgraph.map | 13 - ...1046825be0b6dbb73fbe834aa49200e_cgraph.md5 | 1 - ...1046825be0b6dbb73fbe834aa49200e_cgraph.svg | 142 - ...825be0b6dbb73fbe834aa49200e_cgraph_org.svg | 116 - ...136ec31dbd35b1be2eb9a057677c704_cgraph.map | 7 - ...136ec31dbd35b1be2eb9a057677c704_cgraph.md5 | 1 - ...136ec31dbd35b1be2eb9a057677c704_cgraph.svg | 85 - ...c31dbd35b1be2eb9a057677c704_cgraph_org.svg | 59 - dc/d93/trie__modern_8cpp.html | 59 +- ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 9 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 101 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 75 - dc/d93/trie__modern_8cpp_source.html | 276 ++ dc/d9c/babylonian__method_8cpp.html | 100 +- ...8dca7b867074164d5f45b0f3851269d_cgraph.map | 11 - ...8dca7b867074164d5f45b0f3851269d_cgraph.md5 | 1 - ...8dca7b867074164d5f45b0f3851269d_cgraph.svg | 120 - ...7b867074164d5f45b0f3851269d_cgraph_org.svg | 94 - ...f9e6b7e6f15df4b525a2e7705ba3089_cgraph.map | 13 - ...f9e6b7e6f15df4b525a2e7705ba3089_cgraph.md5 | 1 - ...f9e6b7e6f15df4b525a2e7705ba3089_cgraph.svg | 138 - ...b7e6f15df4b525a2e7705ba3089_cgraph_org.svg | 112 - dc/d9c/babylonian__method_8cpp_source.html | 206 ++ ...list_1_1_circular_linked_list-members.html | 35 +- dc/daa/lru__cache2_8cpp.html | 73 +- ...8dca7b867074164d5f45b0f3851269d_cgraph.map | 23 - ...8dca7b867074164d5f45b0f3851269d_cgraph.md5 | 1 - ...8dca7b867074164d5f45b0f3851269d_cgraph.svg | 291 -- ...7b867074164d5f45b0f3851269d_cgraph_org.svg | 208 -- ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 25 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 309 -- ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 226 -- dc/daa/lru__cache2_8cpp_source.html | 371 +++ dc/db5/struct_queue.html | 175 +- dc/db5/text__search_8cpp.html | 159 +- ...f8975d227cd0e58f298b380c5dac0d9_cgraph.map | 5 - ...f8975d227cd0e58f298b380c5dac0d9_cgraph.md5 | 1 - ...f8975d227cd0e58f298b380c5dac0d9_cgraph.svg | 65 - ...5d227cd0e58f298b380c5dac0d9_cgraph_org.svg | 39 - ...8dca7b867074164d5f45b0f3851269d_cgraph.map | 9 - ...8dca7b867074164d5f45b0f3851269d_cgraph.md5 | 1 - ...8dca7b867074164d5f45b0f3851269d_cgraph.svg | 101 - ...7b867074164d5f45b0f3851269d_cgraph_org.svg | 75 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 21 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 209 -- ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 183 -- dc/db5/text__search_8cpp_source.html | 229 ++ ...ical_methods_2rungekutta_8cpp-example.html | 140 +- dc/dc5/namespacereverse__binary__tree.html | 35 +- dc/dc5/paranthesis__matching_8cpp.html | 103 +- dc/dc5/paranthesis__matching_8cpp_source.html | 206 ++ ...king_1_1generate__parentheses-members.html | 35 +- ...lassdata__structures_1_1_bloom_filter.html | 150 +- ...76db259488dbfb67624a9652a5ab08b_cgraph.map | 10 - ...76db259488dbfb67624a9652a5ab08b_cgraph.md5 | 1 - ...76db259488dbfb67624a9652a5ab08b_cgraph.svg | 113 - ...259488dbfb67624a9652a5ab08b_cgraph_org.svg | 87 - ...7bed8ef62fcb1f33b6c72df47dcf840_cgraph.map | 12 - ...7bed8ef62fcb1f33b6c72df47dcf840_cgraph.md5 | 1 - ...7bed8ef62fcb1f33b6c72df47dcf840_cgraph.svg | 129 - ...8ef62fcb1f33b6c72df47dcf840_cgraph_org.svg | 103 - ...earch_1_1comparison__operator-members.html | 35 +- ...__decomposition_1_1_h_l_d__coll__graph.map | 10 +- ...__decomposition_1_1_h_l_d__coll__graph.md5 | 2 +- ...__decomposition_1_1_h_l_d__coll__graph.svg | 10 +- ...composition_1_1_h_l_d__coll__graph_org.svg | 10 +- dc/dd9/strand__sort_8cpp.html | 114 +- ...bea2fe5dd38ed63610fdeaddf5785cd_cgraph.map | 22 - ...bea2fe5dd38ed63610fdeaddf5785cd_cgraph.md5 | 1 - ...bea2fe5dd38ed63610fdeaddf5785cd_cgraph.svg | 218 -- ...fe5dd38ed63610fdeaddf5785cd_cgraph_org.svg | 192 -- ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 5 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 65 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 39 - dc/dd9/strand__sort_8cpp_source.html | 199 ++ ...stack__using__queue_1_1_stack-members.html | 35 +- dc/de1/recursive__tree__traversal_8cpp.html | 233 +- ...283886819c7c140a023582b7269e2d0_cgraph.map | 15 - ...283886819c7c140a023582b7269e2d0_cgraph.md5 | 1 - ...283886819c7c140a023582b7269e2d0_cgraph.svg | 158 - ...86819c7c140a023582b7269e2d0_cgraph_org.svg | 132 - ...440a7779ac56f47a3f355ce4a8c7da0_cgraph.map | 15 - ...440a7779ac56f47a3f355ce4a8c7da0_cgraph.md5 | 1 - ...440a7779ac56f47a3f355ce4a8c7da0_cgraph.svg | 158 - ...7779ac56f47a3f355ce4a8c7da0_cgraph_org.svg | 132 - ...83bb8ccf42aaf7375a83e91490eda1e_cgraph.map | 30 - ...83bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 | 1 - ...83bb8ccf42aaf7375a83e91490eda1e_cgraph.svg | 293 -- ...8ccf42aaf7375a83e91490eda1e_cgraph_org.svg | 267 -- ...d0455dd5c30adda100e95f0423c786e_cgraph.map | 15 - ...d0455dd5c30adda100e95f0423c786e_cgraph.md5 | 1 - ...d0455dd5c30adda100e95f0423c786e_cgraph.svg | 158 - ...5dd5c30adda100e95f0423c786e_cgraph_org.svg | 132 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 32 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 368 --- ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 285 -- ...ecursive__tree__traversal_8cpp_source.html | 453 +++ dc/dea/classgraph_1_1_h_k_graph-members.html | 35 +- dc/dec/struct_list_node-members.html | 35 +- ...rie__operations_1_1_tnode__coll__graph.map | 2 +- ...rie__operations_1_1_tnode__coll__graph.md5 | 2 +- ...rie__operations_1_1_tnode__coll__graph.svg | 2 +- ..._operations_1_1_tnode__coll__graph_org.svg | 2 +- dc/dfb/atbash__cipher_8cpp.html | 111 +- ...f7dd4dcd3df7c512c20482afc2dbb9d_cgraph.map | 4 - ...f7dd4dcd3df7c512c20482afc2dbb9d_cgraph.md5 | 1 - ...f7dd4dcd3df7c512c20482afc2dbb9d_cgraph.svg | 57 - ...4dcd3df7c512c20482afc2dbb9d_cgraph_org.svg | 31 - ...8dca7b867074164d5f45b0f3851269d_cgraph.map | 5 - ...8dca7b867074164d5f45b0f3851269d_cgraph.md5 | 1 - ...8dca7b867074164d5f45b0f3851269d_cgraph.svg | 65 - ...7b867074164d5f45b0f3851269d_cgraph_org.svg | 39 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 7 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 83 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 57 - dc/dfb/atbash__cipher_8cpp_source.html | 199 ++ dc/dfe/ternary__search_8cpp.html | 140 +- ...3d0099db95022f1eb90ddfd68f73ead_cgraph.map | 4 - ...3d0099db95022f1eb90ddfd68f73ead_cgraph.md5 | 1 - ...3d0099db95022f1eb90ddfd68f73ead_cgraph.svg | 56 - ...99db95022f1eb90ddfd68f73ead_cgraph_org.svg | 30 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 14 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 146 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 120 - ...f655a27eb82efa299bf9d0becf6e9c8_cgraph.map | 10 - ...f655a27eb82efa299bf9d0becf6e9c8_cgraph.md5 | 1 - ...f655a27eb82efa299bf9d0becf6e9c8_cgraph.svg | 110 - ...a27eb82efa299bf9d0becf6e9c8_cgraph_org.svg | 84 - dc/dfe/ternary__search_8cpp_source.html | 236 ++ ..._binary__tree_1_1_binary_tree-members.html | 35 +- dd/d0c/hamiltons__cycle_8cpp.html | 158 +- ...cc94918b6831f308d4fe4fa27f08299_cgraph.map | 12 - ...cc94918b6831f308d4fe4fa27f08299_cgraph.md5 | 1 - ...cc94918b6831f308d4fe4fa27f08299_cgraph.svg | 128 - ...918b6831f308d4fe4fa27f08299_cgraph_org.svg | 102 - ...c04138a5bfe5d72780bb7e82a18e627_cgraph.map | 20 - ...c04138a5bfe5d72780bb7e82a18e627_cgraph.md5 | 1 - ...c04138a5bfe5d72780bb7e82a18e627_cgraph.svg | 200 -- ...38a5bfe5d72780bb7e82a18e627_cgraph_org.svg | 174 -- ...5d94ead4cf4e1ff9f87c38bc99f59ae_cgraph.map | 12 - ...5d94ead4cf4e1ff9f87c38bc99f59ae_cgraph.md5 | 1 - ...5d94ead4cf4e1ff9f87c38bc99f59ae_cgraph.svg | 128 - ...ead4cf4e1ff9f87c38bc99f59ae_cgraph_org.svg | 102 - ...cf824e347eecfeeb69ea0280f34f3e4_cgraph.map | 10 - ...cf824e347eecfeeb69ea0280f34f3e4_cgraph.md5 | 1 - ...cf824e347eecfeeb69ea0280f34f3e4_cgraph.svg | 110 - ...4e347eecfeeb69ea0280f34f3e4_cgraph_org.svg | 84 - ...7880ce913f3058a35ff106d5be9e243_cgraph.map | 12 - ...7880ce913f3058a35ff106d5be9e243_cgraph.md5 | 1 - ...7880ce913f3058a35ff106d5be9e243_cgraph.svg | 128 - ...ce913f3058a35ff106d5be9e243_cgraph_org.svg | 102 - dd/d0c/hamiltons__cycle_8cpp_source.html | 252 ++ dd/d0d/insertion__sort_8cpp.html | 150 +- ...9914553f24088342c139645a02a8a49_cgraph.map | 5 - ...9914553f24088342c139645a02a8a49_cgraph.md5 | 1 - ...9914553f24088342c139645a02a8a49_cgraph.svg | 65 - ...553f24088342c139645a02a8a49_cgraph_org.svg | 39 - ...8ec9ad42717780d6caaff9d3d6977f9_cgraph.map | 17 - ...8ec9ad42717780d6caaff9d3d6977f9_cgraph.md5 | 1 - ...8ec9ad42717780d6caaff9d3d6977f9_cgraph.svg | 173 -- ...ad42717780d6caaff9d3d6977f9_cgraph_org.svg | 147 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 21 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 209 -- ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 183 -- dd/d0d/insertion__sort_8cpp_source.html | 265 ++ dd/d12/vigenere__cipher_8cpp.html | 137 +- ...cfc3f9b20a0f230a2fcefd31dc6848e_cgraph.map | 5 - ...cfc3f9b20a0f230a2fcefd31dc6848e_cgraph.md5 | 1 - ...cfc3f9b20a0f230a2fcefd31dc6848e_cgraph.svg | 66 - ...f9b20a0f230a2fcefd31dc6848e_cgraph_org.svg | 40 - ...bd3880ea6820c232c1eddf47553c257_cgraph.map | 5 - ...bd3880ea6820c232c1eddf47553c257_cgraph.md5 | 1 - ...bd3880ea6820c232c1eddf47553c257_cgraph.svg | 66 - ...80ea6820c232c1eddf47553c257_cgraph_org.svg | 40 - ...1a3968e7947464bee7714f6d43b7002_cgraph.map | 5 - ...1a3968e7947464bee7714f6d43b7002_cgraph.md5 | 1 - ...1a3968e7947464bee7714f6d43b7002_cgraph.svg | 65 - ...68e7947464bee7714f6d43b7002_cgraph_org.svg | 39 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 7 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 83 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 57 - dd/d12/vigenere__cipher_8cpp_source.html | 222 ++ dd/d1b/structquery.html | 98 +- dd/d1c/classhash__chain.html | 193 +- ...5aa5c6753cb8853152d469c375d946a_cgraph.map | 7 - ...5aa5c6753cb8853152d469c375d946a_cgraph.md5 | 1 - ...5aa5c6753cb8853152d469c375d946a_cgraph.svg | 83 - ...c6753cb8853152d469c375d946a_cgraph_org.svg | 57 - ...b4b4de1a8c96f98a63a77f650a9dcff_cgraph.map | 5 - ...b4b4de1a8c96f98a63a77f650a9dcff_cgraph.md5 | 1 - ...b4b4de1a8c96f98a63a77f650a9dcff_cgraph.svg | 65 - ...de1a8c96f98a63a77f650a9dcff_cgraph_org.svg | 39 - ...06964ad13587fc9a8b3fe8381d410ed_cgraph.map | 5 - ...06964ad13587fc9a8b3fe8381d410ed_cgraph.md5 | 1 - ...06964ad13587fc9a8b3fe8381d410ed_cgraph.svg | 65 - ...4ad13587fc9a8b3fe8381d410ed_cgraph_org.svg | 39 - ...0c8b902a15b4fd062ed727ecf8f3595_cgraph.map | 5 - ...0c8b902a15b4fd062ed727ecf8f3595_cgraph.md5 | 1 - ...0c8b902a15b4fd062ed727ecf8f3595_cgraph.svg | 65 - ...902a15b4fd062ed727ecf8f3595_cgraph_org.svg | 39 - dd/d1e/generate__parentheses_8cpp.html | 75 +- ...8dca7b867074164d5f45b0f3851269d_cgraph.map | 14 - ...8dca7b867074164d5f45b0f3851269d_cgraph.md5 | 1 - ...8dca7b867074164d5f45b0f3851269d_cgraph.svg | 205 -- ...7b867074164d5f45b0f3851269d_cgraph_org.svg | 122 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 16 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 223 -- ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 140 - dd/d1e/generate__parentheses_8cpp_source.html | 225 ++ dd/d1f/classdsu.html | 419 ++- ...ce2672c570f4235eafddb0c9a58115a_cgraph.map | 14 - ...ce2672c570f4235eafddb0c9a58115a_cgraph.md5 | 1 - ...ce2672c570f4235eafddb0c9a58115a_cgraph.svg | 146 - ...72c570f4235eafddb0c9a58115a_cgraph_org.svg | 120 - ...6851f78fe390fc1430905c83d6a2f1c_cgraph.map | 4 - ...6851f78fe390fc1430905c83d6a2f1c_cgraph.md5 | 1 - ...6851f78fe390fc1430905c83d6a2f1c_cgraph.svg | 56 - ...f78fe390fc1430905c83d6a2f1c_cgraph_org.svg | 30 - ...c24228b0f2f49220133fb8c3566a55c_cgraph.map | 6 - ...c24228b0f2f49220133fb8c3566a55c_cgraph.md5 | 1 - ...c24228b0f2f49220133fb8c3566a55c_cgraph.svg | 74 - ...28b0f2f49220133fb8c3566a55c_cgraph_org.svg | 48 - ...4d25c5986742f7c234ed449b2ff7303_cgraph.map | 6 - ...4d25c5986742f7c234ed449b2ff7303_cgraph.md5 | 1 - ...4d25c5986742f7c234ed449b2ff7303_cgraph.svg | 74 - ...c5986742f7c234ed449b2ff7303_cgraph_org.svg | 48 - ...96141b8b092466767f4bfe1c5e46cde_cgraph.map | 6 - ...96141b8b092466767f4bfe1c5e46cde_cgraph.md5 | 1 - ...96141b8b092466767f4bfe1c5e46cde_cgraph.svg | 74 - ...1b8b092466767f4bfe1c5e46cde_cgraph_org.svg | 48 - ...ac30c07abca2aaa3b291504c25c3559_cgraph.map | 15 - ...ac30c07abca2aaa3b291504c25c3559_cgraph.md5 | 1 - ...ac30c07abca2aaa3b291504c25c3559_cgraph.svg | 155 - ...c07abca2aaa3b291504c25c3559_cgraph_org.svg | 129 - ...1897528bdb53fd5e796d75d7dbc430f_cgraph.map | 11 - ...1897528bdb53fd5e796d75d7dbc430f_cgraph.md5 | 1 - ...1897528bdb53fd5e796d75d7dbc430f_cgraph.svg | 119 - ...528bdb53fd5e796d75d7dbc430f_cgraph_org.svg | 93 - ...713a5b496d0405c82e2808a85e58415_cgraph.map | 6 - ...713a5b496d0405c82e2808a85e58415_cgraph.md5 | 1 - ...713a5b496d0405c82e2808a85e58415_cgraph.svg | 74 - ...5b496d0405c82e2808a85e58415_cgraph_org.svg | 48 - dd/d21/namespacewindowed__median.html | 35 +- dd/d24/namespacedynamic__programming.html | 171 +- ...66e0e739e7c276eee6e61d5b4d37ce8_cgraph.map | 9 - ...66e0e739e7c276eee6e61d5b4d37ce8_cgraph.md5 | 1 - ...66e0e739e7c276eee6e61d5b4d37ce8_cgraph.svg | 102 - ...e739e7c276eee6e61d5b4d37ce8_cgraph_org.svg | 76 - ...a2215194e58786c34db1ccaf8031079_cgraph.map | 5 - ...a2215194e58786c34db1ccaf8031079_cgraph.md5 | 1 - ...a2215194e58786c34db1ccaf8031079_cgraph.svg | 65 - ...5194e58786c34db1ccaf8031079_cgraph_org.svg | 39 - ...239174fa0d987f2c67edc1f2af82beb_cgraph.map | 9 - ...239174fa0d987f2c67edc1f2af82beb_cgraph.md5 | 1 - ...239174fa0d987f2c67edc1f2af82beb_cgraph.svg | 102 - ...74fa0d987f2c67edc1f2af82beb_cgraph_org.svg | 76 - ...046365a8d77a1267acc082f86135a26_cgraph.map | 5 - ...046365a8d77a1267acc082f86135a26_cgraph.md5 | 1 - ...046365a8d77a1267acc082f86135a26_cgraph.svg | 66 - ...65a8d77a1267acc082f86135a26_cgraph_org.svg | 40 - ...e9f45b6e30ee187509da2d1d0093412_cgraph.map | 5 - ...e9f45b6e30ee187509da2d1d0093412_cgraph.md5 | 1 - ...e9f45b6e30ee187509da2d1d0093412_cgraph.svg | 65 - ...5b6e30ee187509da2d1d0093412_cgraph_org.svg | 39 - dd/d29/false__position_8cpp.html | 88 +- ...d69b49dc37da1c02b3ab8c7fe783494_cgraph.map | 7 - ...d69b49dc37da1c02b3ab8c7fe783494_cgraph.md5 | 1 - ...d69b49dc37da1c02b3ab8c7fe783494_cgraph.svg | 85 - ...49dc37da1c02b3ab8c7fe783494_cgraph_org.svg | 59 - ...5a6ec58b5064d63d4f0df3854496713_cgraph.map | 4 - ...5a6ec58b5064d63d4f0df3854496713_cgraph.md5 | 1 - ...5a6ec58b5064d63d4f0df3854496713_cgraph.svg | 57 - ...c58b5064d63d4f0df3854496713_cgraph_org.svg | 31 - ...5cb7bfb90abc898e042d624372c5345_cgraph.map | 6 - ...5cb7bfb90abc898e042d624372c5345_cgraph.md5 | 1 - ...5cb7bfb90abc898e042d624372c5345_cgraph.svg | 75 - ...bfb90abc898e042d624372c5345_cgraph_org.svg | 49 - dd/d29/false__position_8cpp_source.html | 226 ++ .../namespacedata__structures_1_1treap.html | 61 +- dd/d2f/class_trie.html | 163 +- ...6941759ecf94d67a27d4a610bc0f63d_cgraph.map | 10 - ...6941759ecf94d67a27d4a610bc0f63d_cgraph.md5 | 1 - ...6941759ecf94d67a27d4a610bc0f63d_cgraph.svg | 110 - ...759ecf94d67a27d4a610bc0f63d_cgraph_org.svg | 84 - ...d8b79959009b554e98ea7128b2886f2_cgraph.map | 5 - ...d8b79959009b554e98ea7128b2886f2_cgraph.md5 | 1 - ...d8b79959009b554e98ea7128b2886f2_cgraph.svg | 65 - ...9959009b554e98ea7128b2886f2_cgraph_org.svg | 39 - ...ata__structures_1_1tree__234_1_1_node.html | 204 +- ...e809ae85ae00e937f67ddb76951b6bb_cgraph.map | 9 - ...e809ae85ae00e937f67ddb76951b6bb_cgraph.md5 | 1 - ...e809ae85ae00e937f67ddb76951b6bb_cgraph.svg | 105 - ...ae85ae00e937f67ddb76951b6bb_cgraph_org.svg | 79 - dd/d43/namespace_m_d5.html | 35 +- dd/d47/namespacemath.html | 435 ++- ...efb235330ff48e14fd31faaccbcebb3_cgraph.map | 8 - ...efb235330ff48e14fd31faaccbcebb3_cgraph.md5 | 1 - ...efb235330ff48e14fd31faaccbcebb3_cgraph.svg | 93 - ...35330ff48e14fd31faaccbcebb3_cgraph_org.svg | 67 - ...d4df7a4e43a2eac1acc0ac610487c73_cgraph.map | 8 - ...d4df7a4e43a2eac1acc0ac610487c73_cgraph.md5 | 1 - ...d4df7a4e43a2eac1acc0ac610487c73_cgraph.svg | 93 - ...7a4e43a2eac1acc0ac610487c73_cgraph_org.svg | 67 - ...d704a7b72a6b2db8b76c8581b577b2c_cgraph.map | 8 - ...d704a7b72a6b2db8b76c8581b577b2c_cgraph.md5 | 1 - ...d704a7b72a6b2db8b76c8581b577b2c_cgraph.svg | 93 - ...a7b72a6b2db8b76c8581b577b2c_cgraph_org.svg | 67 - ...4d66a77c19ce9b8b3a3d14352b34551_cgraph.map | 5 - ...4d66a77c19ce9b8b3a3d14352b34551_cgraph.md5 | 1 - ...4d66a77c19ce9b8b3a3d14352b34551_cgraph.svg | 65 - ...a77c19ce9b8b3a3d14352b34551_cgraph_org.svg | 39 - ...d1e4db743b189f309327572663415f3_cgraph.map | 8 - ...d1e4db743b189f309327572663415f3_cgraph.md5 | 1 - ...d1e4db743b189f309327572663415f3_cgraph.svg | 92 - ...db743b189f309327572663415f3_cgraph_org.svg | 66 - ...fdc74c24697ec5bb5c3698c96117c12_cgraph.map | 8 - ...fdc74c24697ec5bb5c3698c96117c12_cgraph.md5 | 1 - ...fdc74c24697ec5bb5c3698c96117c12_cgraph.svg | 92 - ...4c24697ec5bb5c3698c96117c12_cgraph_org.svg | 66 - ...fe35440c27758ecc2287e08217d63a7_cgraph.map | 10 - ...fe35440c27758ecc2287e08217d63a7_cgraph.md5 | 1 - ...fe35440c27758ecc2287e08217d63a7_cgraph.svg | 110 - ...440c27758ecc2287e08217d63a7_cgraph_org.svg | 84 - ...de184925e68658f15415dd53954df4f_cgraph.map | 8 - ...de184925e68658f15415dd53954df4f_cgraph.md5 | 1 - ...de184925e68658f15415dd53954df4f_cgraph.svg | 92 - ...4925e68658f15415dd53954df4f_cgraph_org.svg | 66 - ...e78996673df791014cfe540b183456a_cgraph.map | 4 - ...e78996673df791014cfe540b183456a_cgraph.md5 | 1 - ...e78996673df791014cfe540b183456a_cgraph.svg | 56 - ...96673df791014cfe540b183456a_cgraph_org.svg | 30 - ...e6eede206201db0d1dbb618fa969bec_cgraph.map | 5 - ...e6eede206201db0d1dbb618fa969bec_cgraph.md5 | 1 - ...e6eede206201db0d1dbb618fa969bec_cgraph.svg | 65 - ...de206201db0d1dbb618fa969bec_cgraph_org.svg | 39 - ...1366864111e1fac29722ca45e02ea8f_cgraph.map | 5 - ...1366864111e1fac29722ca45e02ea8f_cgraph.md5 | 1 - ...1366864111e1fac29722ca45e02ea8f_cgraph.svg | 65 - ...864111e1fac29722ca45e02ea8f_cgraph_org.svg | 39 - ...4db02b3c9e55a69ac1696f30e2f761c_cgraph.map | 8 - ...4db02b3c9e55a69ac1696f30e2f761c_cgraph.md5 | 1 - ...4db02b3c9e55a69ac1696f30e2f761c_cgraph.svg | 92 - ...2b3c9e55a69ac1696f30e2f761c_cgraph_org.svg | 66 - ...cb1411ef2029e81f249c21e17c96fdb_cgraph.map | 5 - ...cb1411ef2029e81f249c21e17c96fdb_cgraph.md5 | 1 - ...cb1411ef2029e81f249c21e17c96fdb_cgraph.svg | 65 - ...11ef2029e81f249c21e17c96fdb_cgraph_org.svg | 39 - ...3b920cc56442abd92279ba23b50f4dc_cgraph.map | 8 - ...3b920cc56442abd92279ba23b50f4dc_cgraph.md5 | 1 - ...3b920cc56442abd92279ba23b50f4dc_cgraph.svg | 92 - ...0cc56442abd92279ba23b50f4dc_cgraph_org.svg | 66 - ...de24398be43538c62e4a496968e60ca_cgraph.map | 10 - ...de24398be43538c62e4a496968e60ca_cgraph.md5 | 1 - ...de24398be43538c62e4a496968e60ca_cgraph.svg | 110 - ...398be43538c62e4a496968e60ca_cgraph_org.svg | 84 - ...f7f2a6d91f1ca6c89698792aea3f188_cgraph.map | 5 - ...f7f2a6d91f1ca6c89698792aea3f188_cgraph.md5 | 1 - ...f7f2a6d91f1ca6c89698792aea3f188_cgraph.svg | 65 - ...a6d91f1ca6c89698792aea3f188_cgraph_org.svg | 39 - ...5803413618fcfb922cb32c6db0fc864_cgraph.map | 8 - ...5803413618fcfb922cb32c6db0fc864_cgraph.md5 | 1 - ...5803413618fcfb922cb32c6db0fc864_cgraph.svg | 92 - ...413618fcfb922cb32c6db0fc864_cgraph_org.svg | 66 - ...09d59850865012a6fd95d89954c82e4_cgraph.map | 11 - ...09d59850865012a6fd95d89954c82e4_cgraph.md5 | 1 - ...09d59850865012a6fd95d89954c82e4_cgraph.svg | 119 - ...9850865012a6fd95d89954c82e4_cgraph_org.svg | 93 - ...413098478fa38acaac887b7654f0725_cgraph.map | 5 - ...413098478fa38acaac887b7654f0725_cgraph.md5 | 1 - ...413098478fa38acaac887b7654f0725_cgraph.svg | 65 - ...98478fa38acaac887b7654f0725_cgraph_org.svg | 39 - dd/d4f/class_solution.html | 231 +- dd/d51/classstack-members.html | 35 +- ...ructdouble__hashing_1_1_entry-members.html | 35 +- ...earest__neighbors_1_1_knn__coll__graph.map | 6 +- ...earest__neighbors_1_1_knn__coll__graph.md5 | 2 +- ...earest__neighbors_1_1_knn__coll__graph.svg | 6 +- ...st__neighbors_1_1_knn__coll__graph_org.svg | 6 +- ...uctstrings_1_1boyer__moore_1_1pattern.html | 72 +- dd/d65/lu__decompose_8cpp.html | 167 +- ...283886819c7c140a023582b7269e2d0_cgraph.map | 10 - ...283886819c7c140a023582b7269e2d0_cgraph.md5 | 1 - ...283886819c7c140a023582b7269e2d0_cgraph.svg | 110 - ...86819c7c140a023582b7269e2d0_cgraph_org.svg | 84 - ...440a7779ac56f47a3f355ce4a8c7da0_cgraph.map | 11 - ...440a7779ac56f47a3f355ce4a8c7da0_cgraph.md5 | 1 - ...440a7779ac56f47a3f355ce4a8c7da0_cgraph.svg | 119 - ...7779ac56f47a3f355ce4a8c7da0_cgraph_org.svg | 93 - ...c04138a5bfe5d72780bb7e82a18e627_cgraph.map | 23 - ...c04138a5bfe5d72780bb7e82a18e627_cgraph.md5 | 1 - ...c04138a5bfe5d72780bb7e82a18e627_cgraph.svg | 284 -- ...38a5bfe5d72780bb7e82a18e627_cgraph_org.svg | 201 -- ...75c989afcc78e875031cd4273e62a3e_cgraph.map | 13 - ...75c989afcc78e875031cd4273e62a3e_cgraph.md5 | 1 - ...75c989afcc78e875031cd4273e62a3e_cgraph.svg | 137 - ...89afcc78e875031cd4273e62a3e_cgraph_org.svg | 111 - dd/d65/lu__decompose_8cpp_source.html | 228 ++ dd/d69/namespacerange__queries.html | 41 +- .../namespaceiterative__tree__traversals.html | 35 +- .../namespaceinorder__successor__of__bst.html | 35 +- dd/d7a/classdouble__linked__list-members.html | 35 +- dd/d81/namespacecaesar.html | 35 +- dd/d89/insertion__sort__recursive_8cpp.html | 127 +- ...83bb8ccf42aaf7375a83e91490eda1e_cgraph.map | 17 - ...83bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 | 1 - ...83bb8ccf42aaf7375a83e91490eda1e_cgraph.svg | 173 -- ...8ccf42aaf7375a83e91490eda1e_cgraph_org.svg | 147 - ...9914553f24088342c139645a02a8a49_cgraph.map | 5 - ...9914553f24088342c139645a02a8a49_cgraph.md5 | 1 - ...9914553f24088342c139645a02a8a49_cgraph.svg | 65 - ...553f24088342c139645a02a8a49_cgraph_org.svg | 39 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 19 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 191 -- ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 165 - ...nsertion__sort__recursive_8cpp_source.html | 238 ++ dd/d8a/namespacegeometric__dist.html | 35 +- dd/d92/memory__game_8cpp.html | 114 +- ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 39 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 378 --- ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 352 --- dd/d92/memory__game_8cpp_source.html | 479 +++ ...lassdata__structures_1_1_segment_tree.html | 197 +- ...c5331b509d9b55bedfadf979b30dd5b_cgraph.map | 14 - ...c5331b509d9b55bedfadf979b30dd5b_cgraph.md5 | 1 - ...c5331b509d9b55bedfadf979b30dd5b_cgraph.svg | 150 - ...1b509d9b55bedfadf979b30dd5b_cgraph_org.svg | 124 - ...a04f1832c5ce86def50c3021b2ab6b1_cgraph.map | 8 - ...a04f1832c5ce86def50c3021b2ab6b1_cgraph.md5 | 1 - ...a04f1832c5ce86def50c3021b2ab6b1_cgraph.svg | 95 - ...1832c5ce86def50c3021b2ab6b1_cgraph_org.svg | 69 - ...fecc48e8e3f6f5f6e728495a4282e52_cgraph.map | 12 - ...fecc48e8e3f6f5f6e728495a4282e52_cgraph.md5 | 1 - ...fecc48e8e3f6f5f6e728495a4282e52_cgraph.svg | 131 - ...48e8e3f6f5f6e728495a4282e52_cgraph_org.svg | 105 - ...0e78179ab979ae2bc4304bdc181db17_cgraph.map | 10 - ...0e78179ab979ae2bc4304bdc181db17_cgraph.md5 | 1 - ...0e78179ab979ae2bc4304bdc181db17_cgraph.svg | 114 - ...179ab979ae2bc4304bdc181db17_cgraph_org.svg | 88 - ...reedy__algorithms_1_1stable__matching.html | 80 +- ...d7e84df47dcf19e88f95f8f9040306c_cgraph.map | 5 - ...d7e84df47dcf19e88f95f8f9040306c_cgraph.md5 | 1 - ...d7e84df47dcf19e88f95f8f9040306c_cgraph.svg | 67 - ...4df47dcf19e88f95f8f9040306c_cgraph_org.svg | 41 - ...ng_1_1aystar__search_1_1_eight_puzzle.html | 201 +- ...802cf6197a255055cb734d626abc101_cgraph.map | 5 - ...802cf6197a255055cb734d626abc101_cgraph.md5 | 1 - ...802cf6197a255055cb734d626abc101_cgraph.svg | 66 - ...f6197a255055cb734d626abc101_cgraph_org.svg | 40 - ...6a976171392d257ca0f814ed73e0658_cgraph.map | 11 - ...6a976171392d257ca0f814ed73e0658_cgraph.md5 | 1 - ...6a976171392d257ca0f814ed73e0658_cgraph.svg | 123 - ...6171392d257ca0f814ed73e0658_cgraph_org.svg | 97 - ...5c0486c7f29f323a2aced2ab33af420_cgraph.map | 5 - ...5c0486c7f29f323a2aced2ab33af420_cgraph.md5 | 1 - ...5c0486c7f29f323a2aced2ab33af420_cgraph.svg | 67 - ...86c7f29f323a2aced2ab33af420_cgraph_org.svg | 41 - ...es_1_1list__array_1_1list__coll__graph.map | 8 +- ...es_1_1list__array_1_1list__coll__graph.md5 | 2 +- ...es_1_1list__array_1_1list__coll__graph.svg | 27 +- ..._1list__array_1_1list__coll__graph_org.svg | 27 +- dd/da0/todo.html | 37 +- dd/da8/pigeonhole__sort_8cpp.html | 119 +- ...4b8683a2b429de5cce57e6d733ec817_cgraph.map | 19 - ...4b8683a2b429de5cce57e6d733ec817_cgraph.md5 | 1 - ...4b8683a2b429de5cce57e6d733ec817_cgraph.svg | 191 -- ...83a2b429de5cce57e6d733ec817_cgraph_org.svg | 165 - ...58410412185a5f09199deaff7157a8d_cgraph.map | 19 - ...58410412185a5f09199deaff7157a8d_cgraph.md5 | 1 - ...58410412185a5f09199deaff7157a8d_cgraph.svg | 191 -- ...0412185a5f09199deaff7157a8d_cgraph_org.svg | 165 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 35 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 335 -- ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 309 -- ...31ec5409537703d9c8a47350386b32a_cgraph.map | 19 - ...31ec5409537703d9c8a47350386b32a_cgraph.md5 | 1 - ...31ec5409537703d9c8a47350386b32a_cgraph.svg | 191 -- ...5409537703d9c8a47350386b32a_cgraph_org.svg | 165 - dd/da8/pigeonhole__sort_8cpp_source.html | 244 ++ .../struct_segment_intersection-members.html | 35 +- dd/dae/namespacecount__of__set__bits.html | 35 +- ...tquadratic__probing_1_1_entry-members.html | 35 +- ...us_2sorting_2wiggle_sort_8cpp-example.html | 160 +- ...ns__multiplication_1_1_matrix-members.html | 35 +- ...ructbinary__search__tree_1_1bst__node.html | 59 +- dd/dba/namespacedivide__and__conquer.html | 41 +- dd/dbb/struct_test_case-members.html | 35 +- dd/dc3/is__graph__bipartite2_8cpp_source.html | 214 ++ dd/dca/class_f_c_f_s.html | 167 +- ...fbfe4d85f7576b4a7aade07d29fbd69_cgraph.map | 9 - ...fbfe4d85f7576b4a7aade07d29fbd69_cgraph.md5 | 1 - ...fbfe4d85f7576b4a7aade07d29fbd69_cgraph.svg | 103 - ...4d85f7576b4a7aade07d29fbd69_cgraph_org.svg | 77 - ...b361a612b18bb189aa6d3c49288b793_cgraph.map | 9 - ...b361a612b18bb189aa6d3c49288b793_cgraph.md5 | 1 - ...b361a612b18bb189aa6d3c49288b793_cgraph.svg | 101 - ...a612b18bb189aa6d3c49288b793_cgraph_org.svg | 75 - dd/dd5/swap__sort_8cpp_source.html | 206 ++ ..._1recursive__tree__traversals_1_1_b_t.html | 145 +- ...397b78ceec18cb1959a1d159e134da5_cgraph.map | 6 - ...397b78ceec18cb1959a1d159e134da5_cgraph.md5 | 1 - ...397b78ceec18cb1959a1d159e134da5_cgraph.svg | 75 - ...78ceec18cb1959a1d159e134da5_cgraph_org.svg | 49 - ...9404b65f407f631915515fa2e08a40c_cgraph.map | 4 - ...9404b65f407f631915515fa2e08a40c_cgraph.md5 | 1 - ...9404b65f407f631915515fa2e08a40c_cgraph.svg | 57 - ...b65f407f631915515fa2e08a40c_cgraph_org.svg | 31 - dd/dec/a__star__search_8cpp_source.html | 719 +++++ ...ight__decomposition_1_1_h_l_d-members.html | 35 +- ...aph_1_1is__graph__bipartite_1_1_graph.html | 181 +- ...aef65b40347c4606662cad4dd2e14d3_cgraph.map | 5 - ...aef65b40347c4606662cad4dd2e14d3_cgraph.md5 | 1 - ...aef65b40347c4606662cad4dd2e14d3_cgraph.svg | 66 - ...5b40347c4606662cad4dd2e14d3_cgraph_org.svg | 40 - ...16cda7e563198f778fd32e03992763b_cgraph.map | 5 - ...16cda7e563198f778fd32e03992763b_cgraph.md5 | 1 - ...16cda7e563198f778fd32e03992763b_cgraph.svg | 66 - ...a7e563198f778fd32e03992763b_cgraph_org.svg | 40 - de/d07/cycle__sort_8cpp.html | 131 +- ...8dca7b867074164d5f45b0f3851269d_cgraph.map | 11 - ...8dca7b867074164d5f45b0f3851269d_cgraph.md5 | 1 - ...8dca7b867074164d5f45b0f3851269d_cgraph.svg | 119 - ...7b867074164d5f45b0f3851269d_cgraph_org.svg | 93 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 13 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 137 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 111 - ...79a9d247691fce0d655fce75f1c04fa_cgraph.map | 8 - ...79a9d247691fce0d655fce75f1c04fa_cgraph.md5 | 1 - ...79a9d247691fce0d655fce75f1c04fa_cgraph.svg | 93 - ...d247691fce0d655fce75f1c04fa_cgraph_org.svg | 67 - de/d07/cycle__sort_8cpp_source.html | 244 ++ de/d0a/namespacemerge__insertion.html | 35 +- .../classrange__queries_1_1fenwick__tree.html | 145 +- ...914a4b1401a7c427de91c92885724fe_cgraph.map | 7 - ...914a4b1401a7c427de91c92885724fe_cgraph.md5 | 1 - ...914a4b1401a7c427de91c92885724fe_cgraph.svg | 86 - ...4b1401a7c427de91c92885724fe_cgraph_org.svg | 60 - ...9dea5e88bbd7683a719030623315de9_cgraph.map | 5 - ...9dea5e88bbd7683a719030623315de9_cgraph.md5 | 1 - ...9dea5e88bbd7683a719030623315de9_cgraph.svg | 67 - ...5e88bbd7683a719030623315de9_cgraph_org.svg | 41 - ...fa0559d987fde0044761b17b35f5abd_cgraph.map | 5 - ...fa0559d987fde0044761b17b35f5abd_cgraph.md5 | 1 - ...fa0559d987fde0044761b17b35f5abd_cgraph.svg | 67 - ...59d987fde0044761b17b35f5abd_cgraph_org.svg | 41 - ...ea37183524553bbf2234a36a44a4b9a_cgraph.map | 9 - ...ea37183524553bbf2234a36a44a4b9a_cgraph.md5 | 1 - ...ea37183524553bbf2234a36a44a4b9a_cgraph.svg | 104 - ...183524553bbf2234a36a44a4b9a_cgraph_org.svg | 78 - ...f7ba885b91af093e9e514358fa0f36c_cgraph.map | 5 - ...f7ba885b91af093e9e514358fa0f36c_cgraph.md5 | 1 - ...f7ba885b91af093e9e514358fa0f36c_cgraph.svg | 66 - ...885b91af093e9e514358fa0f36c_cgraph_org.svg | 40 - de/d0d/fibonacci__search_8cpp.html | 150 +- ...bc61b3903d9a53061bf31e5d110fe61_cgraph.map | 9 - ...bc61b3903d9a53061bf31e5d110fe61_cgraph.md5 | 1 - ...bc61b3903d9a53061bf31e5d110fe61_cgraph.svg | 101 - ...b3903d9a53061bf31e5d110fe61_cgraph_org.svg | 75 - ...aa09bef74ee063c1331de0883af4f4f_cgraph.map | 25 - ...aa09bef74ee063c1331de0883af4f4f_cgraph.md5 | 1 - ...aa09bef74ee063c1331de0883af4f4f_cgraph.svg | 245 -- ...bef74ee063c1331de0883af4f4f_cgraph_org.svg | 219 -- ...e144326104e57a3808aed7eb098db0d_cgraph.map | 25 - ...e144326104e57a3808aed7eb098db0d_cgraph.md5 | 1 - ...e144326104e57a3808aed7eb098db0d_cgraph.svg | 245 -- ...326104e57a3808aed7eb098db0d_cgraph_org.svg | 219 -- ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 38 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 362 --- ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 336 -- de/d0d/fibonacci__search_8cpp_source.html | 253 ++ de/d1e/armstrong__number_8cpp_source.html | 196 ++ ..._modulo__p_1_1_n_c_r_modulo_p-members.html | 35 +- .../classothers_1_1_cache_1_1_d___node.html | 127 +- de/d23/disjoint__set_8cpp.html | 140 +- ...fb0a7cd26a477e2d48ba7e0118bc985_cgraph.map | 6 - ...fb0a7cd26a477e2d48ba7e0118bc985_cgraph.md5 | 1 - ...fb0a7cd26a477e2d48ba7e0118bc985_cgraph.svg | 74 - ...7cd26a477e2d48ba7e0118bc985_cgraph_org.svg | 48 - ...4b9ead0608e676d9ae5188672427cc8_cgraph.map | 4 - ...4b9ead0608e676d9ae5188672427cc8_cgraph.md5 | 1 - ...4b9ead0608e676d9ae5188672427cc8_cgraph.svg | 56 - ...ad0608e676d9ae5188672427cc8_cgraph_org.svg | 30 - ...4481bb75386fbb0f958a388d4b9f757_cgraph.map | 6 - ...4481bb75386fbb0f958a388d4b9f757_cgraph.md5 | 1 - ...4481bb75386fbb0f958a388d4b9f757_cgraph.svg | 74 - ...bb75386fbb0f958a388d4b9f757_cgraph_org.svg | 48 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 13 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 137 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 111 - de/d23/disjoint__set_8cpp_source.html | 214 ++ de/d33/circular__linked__list_8cpp.html | 73 +- ...8dca7b867074164d5f45b0f3851269d_cgraph.map | 15 - ...8dca7b867074164d5f45b0f3851269d_cgraph.md5 | 1 - ...8dca7b867074164d5f45b0f3851269d_cgraph.svg | 155 - ...7b867074164d5f45b0f3851269d_cgraph_org.svg | 129 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 17 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 173 -- ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 147 - .../circular__linked__list_8cpp_source.html | 413 +++ ...s_1_1linked__list_1_1link__coll__graph.map | 2 +- ...s_1_1linked__list_1_1link__coll__graph.md5 | 2 +- ...s_1_1linked__list_1_1link__coll__graph.svg | 2 +- ...1linked__list_1_1link__coll__graph_org.svg | 2 +- ...__structures_1_1_bloom_filter-members.html | 35 +- de/d36/namespacen__bonacci.html | 35 +- de/d40/shell__sort_8cpp_source.html | 176 ++ de/d41/namespacekaratsuba__algorithm.html | 35 +- de/d47/string__fibonacci_8cpp.html | 111 +- ...8052eee05d43c2ebc5147c52bd50c35_cgraph.map | 7 - ...8052eee05d43c2ebc5147c52bd50c35_cgraph.md5 | 1 - ...8052eee05d43c2ebc5147c52bd50c35_cgraph.svg | 83 - ...eee05d43c2ebc5147c52bd50c35_cgraph_org.svg | 57 - ...8055ee368a5d5b24de01bdde6bf8fca_cgraph.map | 9 - ...8055ee368a5d5b24de01bdde6bf8fca_cgraph.md5 | 1 - ...8055ee368a5d5b24de01bdde6bf8fca_cgraph.svg | 101 - ...ee368a5d5b24de01bdde6bf8fca_cgraph_org.svg | 75 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 11 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 119 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 93 - de/d47/string__fibonacci_8cpp_source.html | 217 ++ de/d48/struct_trie_1_1_trie_node.html | 47 +- de/d4a/class_compare.html | 47 +- ...t__decomposition_1_1_tree__coll__graph.map | 10 +- ...t__decomposition_1_1_tree__coll__graph.md5 | 2 +- ...t__decomposition_1_1_tree__coll__graph.svg | 10 +- ...ecomposition_1_1_tree__coll__graph_org.svg | 10 +- de/d57/struct_test_case__coll__graph.map | 10 +- de/d57/struct_test_case__coll__graph.md5 | 2 +- de/d57/struct_test_case__coll__graph.svg | 39 +- de/d57/struct_test_case__coll__graph_org.svg | 39 +- .../queue__using__linkedlist_8cpp_source.html | 231 ++ ..._1_1per_seg_tree_1_1_node__coll__graph.map | 2 +- ..._1_1per_seg_tree_1_1_node__coll__graph.md5 | 2 +- ..._1_1per_seg_tree_1_1_node__coll__graph.svg | 2 +- ...per_seg_tree_1_1_node__coll__graph_org.svg | 2 +- de/d6a/knuth__morris__pratt_8cpp.html | 54 +- de/d6a/knuth__morris__pratt_8cpp_source.html | 211 ++ .../namespacerandom__pivot__quick__sort.html | 35 +- de/d72/geometric__dist_8cpp.html | 120 +- ...0fd1cc5c3a2813f28683dc75dcd65b6_cgraph.map | 20 - ...0fd1cc5c3a2813f28683dc75dcd65b6_cgraph.md5 | 1 - ...0fd1cc5c3a2813f28683dc75dcd65b6_cgraph.svg | 266 -- ...cc5c3a2813f28683dc75dcd65b6_cgraph_org.svg | 183 -- ...2964ca6180507deb5fafc71050012ba_cgraph.map | 4 - ...2964ca6180507deb5fafc71050012ba_cgraph.md5 | 1 - ...2964ca6180507deb5fafc71050012ba_cgraph.svg | 57 - ...ca6180507deb5fafc71050012ba_cgraph_org.svg | 31 - ...8dca7b867074164d5f45b0f3851269d_cgraph.map | 43 - ...8dca7b867074164d5f45b0f3851269d_cgraph.md5 | 1 - ...8dca7b867074164d5f45b0f3851269d_cgraph.svg | 481 --- ...7b867074164d5f45b0f3851269d_cgraph_org.svg | 398 --- ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 45 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 499 --- ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 416 --- de/d72/geometric__dist_8cpp_source.html | 323 ++ de/d75/qr__eigen__values_8cpp.html | 185 +- ...283886819c7c140a023582b7269e2d0_cgraph.map | 20 - ...283886819c7c140a023582b7269e2d0_cgraph.md5 | 1 - ...283886819c7c140a023582b7269e2d0_cgraph.svg | 258 -- ...86819c7c140a023582b7269e2d0_cgraph_org.svg | 175 -- ...440a7779ac56f47a3f355ce4a8c7da0_cgraph.map | 20 - ...440a7779ac56f47a3f355ce4a8c7da0_cgraph.md5 | 1 - ...440a7779ac56f47a3f355ce4a8c7da0_cgraph.svg | 258 -- ...7779ac56f47a3f355ce4a8c7da0_cgraph_org.svg | 175 -- ...c04138a5bfe5d72780bb7e82a18e627_cgraph.map | 35 - ...c04138a5bfe5d72780bb7e82a18e627_cgraph.md5 | 1 - ...c04138a5bfe5d72780bb7e82a18e627_cgraph.svg | 393 --- ...38a5bfe5d72780bb7e82a18e627_cgraph_org.svg | 310 -- ...bbf469d5525a816b0d6ca812119093d_cgraph.map | 5 - ...bbf469d5525a816b0d6ca812119093d_cgraph.md5 | 1 - ...bbf469d5525a816b0d6ca812119093d_cgraph.svg | 65 - ...69d5525a816b0d6ca812119093d_cgraph_org.svg | 39 - de/d75/qr__eigen__values_8cpp_source.html | 379 +++ ...metic_3_01uint256__t_01_4__coll__graph.map | 2 +- ...metic_3_01uint256__t_01_4__coll__graph.md5 | 2 +- ...metic_3_01uint256__t_01_4__coll__graph.svg | 2 +- ...c_3_01uint256__t_01_4__coll__graph_org.svg | 2 +- de/d77/tree__height_8cpp_source.html | 210 ++ .../graham__scan__algorithm_8cpp_source.html | 215 ++ de/d7b/merge__insertion__sort_8cpp.html | 153 +- ...cba4fbf287ab8cb978ed7f8fef886b1_cgraph.map | 6 - ...cba4fbf287ab8cb978ed7f8fef886b1_cgraph.md5 | 1 - ...cba4fbf287ab8cb978ed7f8fef886b1_cgraph.svg | 75 - ...fbf287ab8cb978ed7f8fef886b1_cgraph_org.svg | 49 - ...161278f18e83b671c6454b139cc5674_cgraph.map | 8 - ...161278f18e83b671c6454b139cc5674_cgraph.md5 | 1 - ...161278f18e83b671c6454b139cc5674_cgraph.svg | 94 - ...78f18e83b671c6454b139cc5674_cgraph_org.svg | 68 - ...8dca7b867074164d5f45b0f3851269d_cgraph.map | 13 - ...8dca7b867074164d5f45b0f3851269d_cgraph.md5 | 1 - ...8dca7b867074164d5f45b0f3851269d_cgraph.svg | 137 - ...7b867074164d5f45b0f3851269d_cgraph_org.svg | 111 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 19 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 191 -- ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 165 - ...4de4067a9a866ffd985c5b5055ccedf_cgraph.map | 5 - ...4de4067a9a866ffd985c5b5055ccedf_cgraph.md5 | 1 - ...4de4067a9a866ffd985c5b5055ccedf_cgraph.svg | 66 - ...067a9a866ffd985c5b5055ccedf_cgraph_org.svg | 40 - .../merge__insertion__sort_8cpp_source.html | 260 ++ de/d7c/struct_trie_1_1_trie_node-members.html | 35 +- de/d83/namespaceis__graph__bipartite.html | 35 +- de/d85/decimal__to__roman__numeral_8cpp.html | 115 +- ...03fb4e1b08279fe4cd50fbbc2782c2d_cgraph.map | 6 - ...03fb4e1b08279fe4cd50fbbc2782c2d_cgraph.md5 | 1 - ...03fb4e1b08279fe4cd50fbbc2782c2d_cgraph.svg | 74 - ...4e1b08279fe4cd50fbbc2782c2d_cgraph_org.svg | 48 - ...14743638eff1336f835310049aef979_cgraph.map | 6 - ...14743638eff1336f835310049aef979_cgraph.md5 | 1 - ...14743638eff1336f835310049aef979_cgraph.svg | 74 - ...3638eff1336f835310049aef979_cgraph_org.svg | 48 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 12 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 128 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 102 - ...cimal__to__roman__numeral_8cpp_source.html | 232 ++ .../travelling__salesman__problem_8cpp.html | 97 +- ...83bb8ccf42aaf7375a83e91490eda1e_cgraph.map | 17 - ...83bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 | 1 - ...83bb8ccf42aaf7375a83e91490eda1e_cgraph.svg | 174 -- ...8ccf42aaf7375a83e91490eda1e_cgraph_org.svg | 148 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 22 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 219 -- ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 193 -- ...elling__salesman__problem_8cpp_source.html | 215 ++ .../graham__scan__functions_8hpp_source.html | 111 +- de/d8a/class_trie-members.html | 35 +- de/d8c/partition__problem_8cpp_source.html | 248 ++ de/d8d/class_f_c_f_s-members.html | 35 +- ...fix__expression_1_1_stack__coll__graph.map | 2 +- ...fix__expression_1_1_stack__coll__graph.md5 | 2 +- ...fix__expression_1_1_stack__coll__graph.svg | 2 +- ..._expression_1_1_stack__coll__graph_org.svg | 2 +- ...gorithms_1_1_digit_separation-members.html | 35 +- de/d91/structlist-members.html | 35 +- de/d95/namespace_subsets.html | 35 +- de/d99/aliquot__sum_8cpp.html | 66 +- ...8dca7b867074164d5f45b0f3851269d_cgraph.map | 5 - ...8dca7b867074164d5f45b0f3851269d_cgraph.md5 | 1 - ...8dca7b867074164d5f45b0f3851269d_cgraph.svg | 65 - ...7b867074164d5f45b0f3851269d_cgraph_org.svg | 39 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 7 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 83 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 57 - de/d99/aliquot__sum_8cpp_source.html | 188 ++ de/d9b/namespacegray__code.html | 35 +- de/d9b/prime__numbers_8cpp.html | 95 +- ...575f3a51eeb8a57d657b3db6a4b441a_cgraph.map | 5 - ...575f3a51eeb8a57d657b3db6a4b441a_cgraph.md5 | 1 - ...575f3a51eeb8a57d657b3db6a4b441a_cgraph.svg | 65 - ...3a51eeb8a57d657b3db6a4b441a_cgraph_org.svg | 39 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 9 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 101 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 75 - de/d9b/prime__numbers_8cpp_source.html | 176 ++ ...a__structures_1_1linked__list_1_1link.html | 116 +- de/dab/ncr__modulo__p_8cpp.html | 96 +- ...83bb8ccf42aaf7375a83e91490eda1e_cgraph.map | 5 - ...83bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 | 1 - ...83bb8ccf42aaf7375a83e91490eda1e_cgraph.svg | 66 - ...8ccf42aaf7375a83e91490eda1e_cgraph_org.svg | 40 - ...c7bfe3bdaa086d32261a5c5584d0fa9_cgraph.map | 9 - ...c7bfe3bdaa086d32261a5c5584d0fa9_cgraph.md5 | 1 - ...c7bfe3bdaa086d32261a5c5584d0fa9_cgraph.svg | 103 - ...e3bdaa086d32261a5c5584d0fa9_cgraph_org.svg | 77 - ...010ad5669d31449c3bf3271ab5ebc86_cgraph.map | 6 - ...010ad5669d31449c3bf3271ab5ebc86_cgraph.md5 | 1 - ...010ad5669d31449c3bf3271ab5ebc86_cgraph.svg | 75 - ...d5669d31449c3bf3271ab5ebc86_cgraph_org.svg | 49 - de/dab/ncr__modulo__p_8cpp_source.html | 297 ++ de/db3/namespaceatbash.html | 35 +- de/db4/namespacedisjoint__union.html | 35 +- de/db5/class_edge-members.html | 35 +- de/db6/a1z26__cipher_8cpp.html | 187 +- ...a78954e96c862430904ee3e64623c38_cgraph.map | 10 - ...a78954e96c862430904ee3e64623c38_cgraph.md5 | 1 - ...a78954e96c862430904ee3e64623c38_cgraph.svg | 110 - ...54e96c862430904ee3e64623c38_cgraph_org.svg | 84 - ...7a6b827a0b9c7aca2d705811459d744_cgraph.map | 14 - ...7a6b827a0b9c7aca2d705811459d744_cgraph.md5 | 1 - ...7a6b827a0b9c7aca2d705811459d744_cgraph.svg | 146 - ...827a0b9c7aca2d705811459d744_cgraph_org.svg | 120 - ...8dca7b867074164d5f45b0f3851269d_cgraph.map | 5 - ...8dca7b867074164d5f45b0f3851269d_cgraph.md5 | 1 - ...8dca7b867074164d5f45b0f3851269d_cgraph.svg | 65 - ...7b867074164d5f45b0f3851269d_cgraph_org.svg | 39 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 7 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 83 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 57 - de/db6/a1z26__cipher_8cpp_source.html | 274 ++ de/dc3/binaryheap_8cpp.html | 54 +- de/dc3/binaryheap_8cpp_source.html | 284 ++ de/dc3/fibonacci__sum_8cpp.html | 166 +- ...93fbaa7a94e3b7ca573111237bb3742_cgraph.map | 10 - ...93fbaa7a94e3b7ca573111237bb3742_cgraph.md5 | 1 - ...93fbaa7a94e3b7ca573111237bb3742_cgraph.svg | 113 - ...aa7a94e3b7ca573111237bb3742_cgraph_org.svg | 87 - ...cf5feaf168b88e74544da59ed830311_cgraph.map | 4 - ...cf5feaf168b88e74544da59ed830311_cgraph.md5 | 1 - ...cf5feaf168b88e74544da59ed830311_cgraph.svg | 57 - ...eaf168b88e74544da59ed830311_cgraph_org.svg | 31 - ...c83cca09a3e4ff2a25c816a9303448e_cgraph.map | 9 - ...c83cca09a3e4ff2a25c816a9303448e_cgraph.md5 | 1 - ...c83cca09a3e4ff2a25c816a9303448e_cgraph.svg | 104 - ...ca09a3e4ff2a25c816a9303448e_cgraph_org.svg | 78 - ...8dca7b867074164d5f45b0f3851269d_cgraph.map | 71 - ...8dca7b867074164d5f45b0f3851269d_cgraph.md5 | 1 - ...8dca7b867074164d5f45b0f3851269d_cgraph.svg | 748 ----- ...7b867074164d5f45b0f3851269d_cgraph_org.svg | 665 ---- ...db40ac4c74a7efc0680b83eeee138aa_cgraph.map | 7 - ...db40ac4c74a7efc0680b83eeee138aa_cgraph.md5 | 1 - ...db40ac4c74a7efc0680b83eeee138aa_cgraph.svg | 85 - ...ac4c74a7efc0680b83eeee138aa_cgraph_org.svg | 59 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 73 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 766 ----- ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 683 ---- de/dc3/fibonacci__sum_8cpp_source.html | 246 ++ .../intersection__of__two__arrays_8cpp.html | 81 +- ...8dca7b867074164d5f45b0f3851269d_cgraph.map | 23 - ...8dca7b867074164d5f45b0f3851269d_cgraph.md5 | 1 - ...8dca7b867074164d5f45b0f3851269d_cgraph.svg | 227 -- ...7b867074164d5f45b0f3851269d_cgraph_org.svg | 201 -- ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 25 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 245 -- ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 219 -- ...rsection__of__two__arrays_8cpp_source.html | 291 ++ de/dc8/classlarge__number-members.html | 35 +- de/dcd/kadanes3_8cpp.html | 83 +- ...8dca7b867074164d5f45b0f3851269d_cgraph.map | 5 - ...8dca7b867074164d5f45b0f3851269d_cgraph.md5 | 1 - ...8dca7b867074164d5f45b0f3851269d_cgraph.svg | 65 - ...7b867074164d5f45b0f3851269d_cgraph_org.svg | 39 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 7 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 83 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 57 - de/dcd/kadanes3_8cpp_source.html | 203 ++ de/dcf/binary__exponent_8cpp.html | 96 +- ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 8 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 92 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 66 - ...b48dce0725e63d19147944f41843c73_cgraph.map | 4 - ...b48dce0725e63d19147944f41843c73_cgraph.md5 | 1 - ...b48dce0725e63d19147944f41843c73_cgraph.svg | 56 - ...ce0725e63d19147944f41843c73_cgraph_org.svg | 30 - de/dcf/binary__exponent_8cpp_source.html | 186 ++ ...reverse__binary__tree_1_1_binary_tree.html | 207 +- ...c0d27198372b36ef71bc58af8336b9c_cgraph.map | 6 - ...c0d27198372b36ef71bc58af8336b9c_cgraph.md5 | 1 - ...c0d27198372b36ef71bc58af8336b9c_cgraph.svg | 78 - ...7198372b36ef71bc58af8336b9c_cgraph_org.svg | 52 - ...e683b271d8d5cd63e0d09cf8aaa325c_cgraph.map | 11 - ...e683b271d8d5cd63e0d09cf8aaa325c_cgraph.md5 | 1 - ...e683b271d8d5cd63e0d09cf8aaa325c_cgraph.svg | 121 - ...b271d8d5cd63e0d09cf8aaa325c_cgraph_org.svg | 95 - ...34645d1aabdf1a7e5897c85376f173d_cgraph.map | 6 - ...34645d1aabdf1a7e5897c85376f173d_cgraph.md5 | 1 - ...34645d1aabdf1a7e5897c85376f173d_cgraph.svg | 77 - ...5d1aabdf1a7e5897c85376f173d_cgraph_org.svg | 51 - ...cf972a2c994a4fa1a89fc77bd5ad503_cgraph.map | 13 - ...cf972a2c994a4fa1a89fc77bd5ad503_cgraph.md5 | 1 - ...cf972a2c994a4fa1a89fc77bd5ad503_cgraph.svg | 197 -- ...2a2c994a4fa1a89fc77bd5ad503_cgraph_org.svg | 114 - ...b2b6be741b0500ee75d89b6d06b5d50_cgraph.map | 4 - ...b2b6be741b0500ee75d89b6d06b5d50_cgraph.md5 | 1 - ...b2b6be741b0500ee75d89b6d06b5d50_cgraph.svg | 58 - ...be741b0500ee75d89b6d06b5d50_cgraph_org.svg | 32 - ...6f974381f523fdb981fc2d843bbf4a1_cgraph.map | 4 - ...6f974381f523fdb981fc2d843bbf4a1_cgraph.md5 | 1 - ...6f974381f523fdb981fc2d843bbf4a1_cgraph.svg | 58 - ...4381f523fdb981fc2d843bbf4a1_cgraph_org.svg | 32 - de/dd1/segment__tree_8cpp.html | 66 +- ...8dca7b867074164d5f45b0f3851269d_cgraph.map | 19 - ...8dca7b867074164d5f45b0f3851269d_cgraph.md5 | 1 - ...8dca7b867074164d5f45b0f3851269d_cgraph.svg | 195 -- ...7b867074164d5f45b0f3851269d_cgraph_org.svg | 169 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 21 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 213 -- ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 187 -- de/dd1/segment__tree_8cpp_source.html | 236 ++ de/dd3/namespace_s_h_a.html | 35 +- de/dd3/newton__raphson__method_8cpp.html | 157 +- ...003b5b2dcfff0769b957ab5c968b03d_cgraph.map | 5 - ...003b5b2dcfff0769b957ab5c968b03d_cgraph.md5 | 1 - ...003b5b2dcfff0769b957ab5c968b03d_cgraph.svg | 65 - ...5b2dcfff0769b957ab5c968b03d_cgraph_org.svg | 39 - ...d3f7f41977394680af6ebbed96f3386_cgraph.map | 5 - ...d3f7f41977394680af6ebbed96f3386_cgraph.md5 | 1 - ...d3f7f41977394680af6ebbed96f3386_cgraph.svg | 65 - ...f41977394680af6ebbed96f3386_cgraph_org.svg | 39 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 18 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 182 -- ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 156 - .../newton__raphson__method_8cpp_source.html | 190 ++ de/dd9/catalan__numbers_8cpp.html | 51 +- de/dd9/catalan__numbers_8cpp_source.html | 209 ++ de/dde/lowest__common__ancestor_8cpp.html | 79 +- ...83bb8ccf42aaf7375a83e91490eda1e_cgraph.map | 7 - ...83bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 | 1 - ...83bb8ccf42aaf7375a83e91490eda1e_cgraph.svg | 84 - ...8ccf42aaf7375a83e91490eda1e_cgraph_org.svg | 58 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 9 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 102 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 76 - .../lowest__common__ancestor_8cpp_source.html | 315 ++ de/de4/fibonacci__large_8cpp.html | 87 +- de/de4/fibonacci__large_8cpp_source.html | 214 ++ ...reedy__algorithms_1_1_binary_addition.html | 92 +- ...cfb595ba80795a9efae0e3f6f5c34d2_cgraph.map | 9 - ...cfb595ba80795a9efae0e3f6f5c34d2_cgraph.md5 | 1 - ...cfb595ba80795a9efae0e3f6f5c34d2_cgraph.svg | 103 - ...95ba80795a9efae0e3f6f5c34d2_cgraph_org.svg | 77 - ...01fd1ec5cda76b0bb82cbf23ed4d527_cgraph.map | 17 - ...01fd1ec5cda76b0bb82cbf23ed4d527_cgraph.md5 | 1 - ...01fd1ec5cda76b0bb82cbf23ed4d527_cgraph.svg | 176 -- ...1ec5cda76b0bb82cbf23ed4d527_cgraph_org.svg | 150 - df/d06/decimal__to__binary_8cpp.html | 87 +- ...0df57491019f0ac39b492740fb388f7_cgraph.map | 5 - ...0df57491019f0ac39b492740fb388f7_cgraph.md5 | 1 - ...0df57491019f0ac39b492740fb388f7_cgraph.svg | 65 - ...7491019f0ac39b492740fb388f7_cgraph_org.svg | 39 - ...240f2e79074a2a248395258aebbfa11_cgraph.map | 5 - ...240f2e79074a2a248395258aebbfa11_cgraph.md5 | 1 - ...240f2e79074a2a248395258aebbfa11_cgraph.svg | 65 - ...2e79074a2a248395258aebbfa11_cgraph_org.svg | 39 - df/d06/decimal__to__binary_8cpp_source.html | 188 ++ df/d10/namespacepancake__sort.html | 35 +- ...tures_1_1linked__list_1_1link-members.html | 35 +- df/d11/midpoint__integral__method_8cpp.html | 188 +- ...ae48a41e43dc6ab11b962742349646e_cgraph.map | 7 - ...ae48a41e43dc6ab11b962742349646e_cgraph.md5 | 1 - ...ae48a41e43dc6ab11b962742349646e_cgraph.svg | 83 - ...a41e43dc6ab11b962742349646e_cgraph_org.svg | 57 - ...c04138a5bfe5d72780bb7e82a18e627_cgraph.map | 24 - ...c04138a5bfe5d72780bb7e82a18e627_cgraph.md5 | 1 - ...c04138a5bfe5d72780bb7e82a18e627_cgraph.svg | 295 -- ...38a5bfe5d72780bb7e82a18e627_cgraph_org.svg | 212 -- ...072493d1f0f8a91b2a71d4cc456c09c_cgraph.map | 12 - ...072493d1f0f8a91b2a71d4cc456c09c_cgraph.md5 | 1 - ...072493d1f0f8a91b2a71d4cc456c09c_cgraph.svg | 129 - ...93d1f0f8a91b2a71d4cc456c09c_cgraph_org.svg | 103 - ...ee8e824ef3e138a9a21883b26d97226_cgraph.map | 7 - ...ee8e824ef3e138a9a21883b26d97226_cgraph.md5 | 1 - ...ee8e824ef3e138a9a21883b26d97226_cgraph.svg | 84 - ...824ef3e138a9a21883b26d97226_cgraph_org.svg | 58 - ...53616fb4fa6880ae876bcba53365c51_cgraph.map | 5 - ...53616fb4fa6880ae876bcba53365c51_cgraph.md5 | 1 - ...53616fb4fa6880ae876bcba53365c51_cgraph.svg | 66 - ...6fb4fa6880ae876bcba53365c51_cgraph_org.svg | 40 - ...682ee71af44b1e9e884849cc6a6b040_cgraph.map | 7 - ...682ee71af44b1e9e884849cc6a6b040_cgraph.md5 | 1 - ...682ee71af44b1e9e884849cc6a6b040_cgraph.svg | 84 - ...e71af44b1e9e884849cc6a6b040_cgraph_org.svg | 58 - ...9f66040f8e0ba73c1c741261c22a52a_cgraph.map | 7 - ...9f66040f8e0ba73c1c741261c22a52a_cgraph.md5 | 1 - ...9f66040f8e0ba73c1c741261c22a52a_cgraph.svg | 84 - ...040f8e0ba73c1c741261c22a52a_cgraph_org.svg | 58 - ...idpoint__integral__method_8cpp_source.html | 270 ++ df/d14/bellman__ford_8cpp_source.html | 264 ++ df/d1c/namespacestack__using__queue.html | 35 +- df/d28/dsu__union__rank_8cpp.html | 103 +- ...5d94ead4cf4e1ff9f87c38bc99f59ae_cgraph.map | 15 - ...5d94ead4cf4e1ff9f87c38bc99f59ae_cgraph.md5 | 1 - ...5d94ead4cf4e1ff9f87c38bc99f59ae_cgraph.svg | 155 - ...ead4cf4e1ff9f87c38bc99f59ae_cgraph_org.svg | 129 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 21 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 209 -- ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 183 -- ...7880ce913f3058a35ff106d5be9e243_cgraph.map | 15 - ...7880ce913f3058a35ff106d5be9e243_cgraph.md5 | 1 - ...7880ce913f3058a35ff106d5be9e243_cgraph.svg | 155 - ...ce913f3058a35ff106d5be9e243_cgraph_org.svg | 129 - df/d28/dsu__union__rank_8cpp_source.html | 277 ++ .../elliptic__curve__key__exchange_8cpp.html | 97 +- ...8dca7b867074164d5f45b0f3851269d_cgraph.map | 7 - ...8dca7b867074164d5f45b0f3851269d_cgraph.md5 | 1 - ...8dca7b867074164d5f45b0f3851269d_cgraph.svg | 83 - ...7b867074164d5f45b0f3851269d_cgraph_org.svg | 57 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 13 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 137 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 111 - ...tic__curve__key__exchange_8cpp_source.html | 388 +++ df/d31/floyd__warshall_8cpp_source.html | 252 ++ ...1windowed__median_1_1_windowed_median.html | 263 +- ...a7f57679e9cd6c9f042dfd0612b2b24_cgraph.map | 9 - ...a7f57679e9cd6c9f042dfd0612b2b24_cgraph.md5 | 1 - ...a7f57679e9cd6c9f042dfd0612b2b24_cgraph.svg | 103 - ...7679e9cd6c9f042dfd0612b2b24_cgraph_org.svg | 77 - ...1804988fcb1a6caf640f8291979aaa6_cgraph.map | 5 - ...1804988fcb1a6caf640f8291979aaa6_cgraph.md5 | 1 - ...1804988fcb1a6caf640f8291979aaa6_cgraph.svg | 67 - ...988fcb1a6caf640f8291979aaa6_cgraph_org.svg | 41 - ...b52b7851750f28d53508e63c52a69f7_cgraph.map | 26 - ...b52b7851750f28d53508e63c52a69f7_cgraph.md5 | 1 - ...b52b7851750f28d53508e63c52a69f7_cgraph.svg | 260 -- ...7851750f28d53508e63c52a69f7_cgraph_org.svg | 234 -- ...38cafbdf70dc01e86e9bb12d29ec65d_cgraph.map | 5 - ...38cafbdf70dc01e86e9bb12d29ec65d_cgraph.md5 | 1 - ...38cafbdf70dc01e86e9bb12d29ec65d_cgraph.svg | 67 - ...fbdf70dc01e86e9bb12d29ec65d_cgraph_org.svg | 41 - ...544e271ea19a6fd69a6b3ed6816453e_cgraph.map | 9 - ...544e271ea19a6fd69a6b3ed6816453e_cgraph.md5 | 1 - ...544e271ea19a6fd69a6b3ed6816453e_cgraph.svg | 103 - ...271ea19a6fd69a6b3ed6816453e_cgraph_org.svg | 77 - df/d39/interpolation__search2_8cpp.html | 65 +- ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 7 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 83 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 57 - .../interpolation__search2_8cpp_source.html | 176 ++ df/d42/binary__search__tree2_8cpp.html | 208 +- ...6f35064850e891d6fda0093c0d9ee6e_cgraph.map | 13 - ...6f35064850e891d6fda0093c0d9ee6e_cgraph.md5 | 1 - ...6f35064850e891d6fda0093c0d9ee6e_cgraph.svg | 140 - ...064850e891d6fda0093c0d9ee6e_cgraph_org.svg | 114 - ...d42876440ac5346e2850a32497385c3_cgraph.map | 11 - ...d42876440ac5346e2850a32497385c3_cgraph.md5 | 1 - ...d42876440ac5346e2850a32497385c3_cgraph.svg | 121 - ...76440ac5346e2850a32497385c3_cgraph_org.svg | 95 - ...c882f43e1e52948a7841a8bfb091350_cgraph.map | 16 - ...c882f43e1e52948a7841a8bfb091350_cgraph.md5 | 1 - ...c882f43e1e52948a7841a8bfb091350_cgraph.svg | 168 - ...f43e1e52948a7841a8bfb091350_cgraph_org.svg | 142 - ...4b76f781fcbe1ad0e3397ace6bb1965_cgraph.map | 13 - ...4b76f781fcbe1ad0e3397ace6bb1965_cgraph.md5 | 1 - ...4b76f781fcbe1ad0e3397ace6bb1965_cgraph.svg | 140 - ...f781fcbe1ad0e3397ace6bb1965_cgraph_org.svg | 114 - ...856b68e2cba50d2e26a1cbe374e0365_cgraph.map | 11 - ...856b68e2cba50d2e26a1cbe374e0365_cgraph.md5 | 1 - ...856b68e2cba50d2e26a1cbe374e0365_cgraph.svg | 121 - ...68e2cba50d2e26a1cbe374e0365_cgraph_org.svg | 95 - ...00b8d0f21aeb5fbddb6decf3bcb640a_cgraph.map | 13 - ...00b8d0f21aeb5fbddb6decf3bcb640a_cgraph.md5 | 1 - ...00b8d0f21aeb5fbddb6decf3bcb640a_cgraph.svg | 140 - ...d0f21aeb5fbddb6decf3bcb640a_cgraph_org.svg | 114 - ...1333c3ea06dcad896ee204bbd407c4e_cgraph.map | 25 - ...1333c3ea06dcad896ee204bbd407c4e_cgraph.md5 | 1 - ...1333c3ea06dcad896ee204bbd407c4e_cgraph.svg | 251 -- ...c3ea06dcad896ee204bbd407c4e_cgraph_org.svg | 225 -- ...2847a901160fd45b4044550e9921cb4_cgraph.map | 11 - ...2847a901160fd45b4044550e9921cb4_cgraph.md5 | 1 - ...2847a901160fd45b4044550e9921cb4_cgraph.svg | 121 - ...a901160fd45b4044550e9921cb4_cgraph_org.svg | 95 - df/d42/binary__search__tree2_8cpp_source.html | 609 ++++ .../namespacen__queens__all__solutions.html | 35 +- df/d47/fcfs__scheduling_8cpp.html | 123 +- ...f2b90cb64d63a7080965e66a05ccf86_cgraph.map | 5 - ...f2b90cb64d63a7080965e66a05ccf86_cgraph.md5 | 1 - ...f2b90cb64d63a7080965e66a05ccf86_cgraph.svg | 65 - ...0cb64d63a7080965e66a05ccf86_cgraph_org.svg | 39 - ...8dca7b867074164d5f45b0f3851269d_cgraph.map | 17 - ...8dca7b867074164d5f45b0f3851269d_cgraph.md5 | 1 - ...8dca7b867074164d5f45b0f3851269d_cgraph.svg | 175 -- ...7b867074164d5f45b0f3851269d_cgraph_org.svg | 149 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 19 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 193 -- ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 167 - df/d47/fcfs__scheduling_8cpp_source.html | 358 +++ df/d47/stack_8hpp.html | 44 +- df/d47/stack_8hpp_source.html | 118 +- .../namespaceselection__sort__recursive.html | 35 +- ...1_1lru__cache_1_1_l_r_u_cache-members.html | 35 +- df/d66/vector__cross__product_8cpp.html | 147 +- ...25732399c5c076976eae5b180a9f8c9_cgraph.map | 4 - ...25732399c5c076976eae5b180a9f8c9_cgraph.md5 | 1 - ...25732399c5c076976eae5b180a9f8c9_cgraph.svg | 57 - ...2399c5c076976eae5b180a9f8c9_cgraph_org.svg | 31 - ...b2a9757a87c18e1642d72410ecfaba8_cgraph.map | 4 - ...b2a9757a87c18e1642d72410ecfaba8_cgraph.md5 | 1 - ...b2a9757a87c18e1642d72410ecfaba8_cgraph.svg | 56 - ...757a87c18e1642d72410ecfaba8_cgraph_org.svg | 30 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 7 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 83 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 57 - .../vector__cross__product_8cpp_source.html | 202 ++ ...ers_1_1elliptic__curve__key__exchange.html | 96 +- ...7f3d667241b88115a95282cdd719cb2_cgraph.map | 11 - ...7f3d667241b88115a95282cdd719cb2_cgraph.md5 | 1 - ...7f3d667241b88115a95282cdd719cb2_cgraph.svg | 179 -- ...667241b88115a95282cdd719cb2_cgraph_org.svg | 96 - ...00616a4e40d3cd5cfb4da87d9ff9af0_cgraph.map | 7 - ...00616a4e40d3cd5cfb4da87d9ff9af0_cgraph.md5 | 1 - ...00616a4e40d3cd5cfb4da87d9ff9af0_cgraph.svg | 84 - ...6a4e40d3cd5cfb4da87d9ff9af0_cgraph_org.svg | 58 - ...c5fe9c2032fb7582c38a20d1fa69bcf_cgraph.map | 9 - ...c5fe9c2032fb7582c38a20d1fa69bcf_cgraph.md5 | 1 - ...c5fe9c2032fb7582c38a20d1fa69bcf_cgraph.svg | 103 - ...9c2032fb7582c38a20d1fa69bcf_cgraph_org.svg | 77 - df/d72/modular__division_8cpp.html | 110 +- ...ddf1224851353fc92bfbff6f499fa97_cgraph.map | 7 - ...ddf1224851353fc92bfbff6f499fa97_cgraph.md5 | 1 - ...ddf1224851353fc92bfbff6f499fa97_cgraph.svg | 83 - ...224851353fc92bfbff6f499fa97_cgraph_org.svg | 57 - ...05e368ae121beb7e7ea35349ddcdac7_cgraph.map | 4 - ...05e368ae121beb7e7ea35349ddcdac7_cgraph.md5 | 1 - ...05e368ae121beb7e7ea35349ddcdac7_cgraph.svg | 57 - ...68ae121beb7e7ea35349ddcdac7_cgraph_org.svg | 31 - ...8dca7b867074164d5f45b0f3851269d_cgraph.map | 5 - ...8dca7b867074164d5f45b0f3851269d_cgraph.md5 | 1 - ...8dca7b867074164d5f45b0f3851269d_cgraph.svg | 65 - ...7b867074164d5f45b0f3851269d_cgraph_org.svg | 39 - df/d72/modular__division_8cpp_source.html | 204 ++ df/d74/namespacesubarray__sum.html | 35 +- df/d76/namespacefibonacci.html | 35 +- df/d82/breadth__first__search_8cpp.html | 112 +- ...83bb8ccf42aaf7375a83e91490eda1e_cgraph.map | 17 - ...83bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 | 1 - ...83bb8ccf42aaf7375a83e91490eda1e_cgraph.svg | 174 -- ...8ccf42aaf7375a83e91490eda1e_cgraph_org.svg | 148 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 20 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 201 -- ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 175 -- .../breadth__first__search_8cpp_source.html | 273 ++ .../classgraph_1_1_h_k_graph__coll__graph.map | 6 +- .../classgraph_1_1_h_k_graph__coll__graph.md5 | 2 +- .../classgraph_1_1_h_k_graph__coll__graph.svg | 6 +- ...ssgraph_1_1_h_k_graph__coll__graph_org.svg | 6 +- df/d88/namespacedp.html | 41 +- df/d8e/namespacetrie__operations.html | 35 +- ...classothers_1_1_cache_1_1_l_f_u_cache.html | 259 +- ...6a25c102554c5653721a5112ef676c9_cgraph.map | 5 - ...6a25c102554c5653721a5112ef676c9_cgraph.md5 | 1 - ...6a25c102554c5653721a5112ef676c9_cgraph.svg | 67 - ...c102554c5653721a5112ef676c9_cgraph_org.svg | 41 - ...8e37d3713f28d36abbb8cdf6c432781_cgraph.map | 7 - ...8e37d3713f28d36abbb8cdf6c432781_cgraph.md5 | 1 - ...8e37d3713f28d36abbb8cdf6c432781_cgraph.svg | 85 - ...d3713f28d36abbb8cdf6c432781_cgraph_org.svg | 59 - ...6f8e5a66a45436b490dfe015ff8866e_cgraph.map | 10 - ...6f8e5a66a45436b490dfe015ff8866e_cgraph.md5 | 1 - ...6f8e5a66a45436b490dfe015ff8866e_cgraph.svg | 169 - ...5a66a45436b490dfe015ff8866e_cgraph_org.svg | 86 - df/d94/classhash__chain-members.html | 35 +- df/d94/subarray__sum_8cpp.html | 119 +- ...8dca7b867074164d5f45b0f3851269d_cgraph.map | 5 - ...8dca7b867074164d5f45b0f3851269d_cgraph.md5 | 1 - ...8dca7b867074164d5f45b0f3851269d_cgraph.svg | 65 - ...7b867074164d5f45b0f3851269d_cgraph_org.svg | 39 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 7 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 83 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 57 - ...5687bbd9faf927fbd363c71e0baba5e_cgraph.map | 9 - ...5687bbd9faf927fbd363c71e0baba5e_cgraph.md5 | 1 - ...5687bbd9faf927fbd363c71e0baba5e_cgraph.svg | 103 - ...bbd9faf927fbd363c71e0baba5e_cgraph_org.svg | 77 - df/d94/subarray__sum_8cpp_source.html | 228 ++ df/d97/main__cll_8cpp_source.html | 183 ++ ...d_1_1is__unsigned_3_01uint256__t_01_4.html | 42 +- df/da7/queue__using__array2_8cpp_source.html | 195 ++ ...raph__bipartite_1_1_graph__coll__graph.map | 4 +- ...raph__bipartite_1_1_graph__coll__graph.md5 | 2 +- ...raph__bipartite_1_1_graph__coll__graph.svg | 4 +- ...__bipartite_1_1_graph__coll__graph_org.svg | 4 +- df/dbb/class_f_c_f_s__coll__graph.map | 12 - df/dbb/class_f_c_f_s__coll__graph.md5 | 1 - df/dbb/class_f_c_f_s__coll__graph.svg | 140 - df/dbb/class_f_c_f_s__coll__graph_org.svg | 114 - df/dc8/successive__approximation_8cpp.html | 79 +- ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 7 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 83 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 57 - ...successive__approximation_8cpp_source.html | 171 + df/dcb/namespacestrings.html | 37 +- ...quations_complex_numbers_8cpp-example.html | 216 +- ...hms_1_1dijkstra_1_1_graph__coll__graph.map | 2 +- ...hms_1_1dijkstra_1_1_graph__coll__graph.md5 | 2 +- ...hms_1_1dijkstra_1_1_graph__coll__graph.svg | 2 +- ...1_1dijkstra_1_1_graph__coll__graph_org.svg | 2 +- df/dce/namespacegraph.html | 329 +- ...e30e0dca68cb6e4f671440819b35b6a_cgraph.map | 5 - ...e30e0dca68cb6e4f671440819b35b6a_cgraph.md5 | 1 - ...e30e0dca68cb6e4f671440819b35b6a_cgraph.svg | 65 - ...0dca68cb6e4f671440819b35b6a_cgraph_org.svg | 39 - ...ae80bc4c6a79d041b4f3a6589eb7fb8_cgraph.map | 4 - ...ae80bc4c6a79d041b4f3a6589eb7fb8_cgraph.md5 | 1 - ...ae80bc4c6a79d041b4f3a6589eb7fb8_cgraph.svg | 56 - ...bc4c6a79d041b4f3a6589eb7fb8_cgraph_org.svg | 30 - ...4c1db5aad7502c6f08e4652f6edd463_cgraph.map | 6 - ...4c1db5aad7502c6f08e4652f6edd463_cgraph.md5 | 1 - ...4c1db5aad7502c6f08e4652f6edd463_cgraph.svg | 74 - ...b5aad7502c6f08e4652f6edd463_cgraph_org.svg | 48 - ...3ab16e96cec644109a58dfc9329bc2b_cgraph.map | 8 - ...3ab16e96cec644109a58dfc9329bc2b_cgraph.md5 | 1 - ...3ab16e96cec644109a58dfc9329bc2b_cgraph.svg | 92 - ...6e96cec644109a58dfc9329bc2b_cgraph_org.svg | 66 - ...4b0551489c613a681cc83b34450da4b_cgraph.map | 5 - ...4b0551489c613a681cc83b34450da4b_cgraph.md5 | 1 - ...4b0551489c613a681cc83b34450da4b_cgraph.svg | 65 - ...51489c613a681cc83b34450da4b_cgraph_org.svg | 39 - ...5428a3519267a28bba4b4310cfbb6ae_cgraph.map | 8 - ...5428a3519267a28bba4b4310cfbb6ae_cgraph.md5 | 1 - ...5428a3519267a28bba4b4310cfbb6ae_cgraph.svg | 93 - ...a3519267a28bba4b4310cfbb6ae_cgraph_org.svg | 67 - ...7706341d006e20d1ae58274187a3346_cgraph.map | 11 - ...7706341d006e20d1ae58274187a3346_cgraph.md5 | 1 - ...7706341d006e20d1ae58274187a3346_cgraph.svg | 120 - ...341d006e20d1ae58274187a3346_cgraph_org.svg | 94 - ...c68cbc8ba09eb1142265935c0d45b84_cgraph.map | 15 - ...c68cbc8ba09eb1142265935c0d45b84_cgraph.md5 | 1 - ...c68cbc8ba09eb1142265935c0d45b84_cgraph.svg | 157 - ...bc8ba09eb1142265935c0d45b84_cgraph_org.svg | 131 - df/dd0/queue__using__two__stacks_8cpp.html | 67 +- ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 5 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 65 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 39 - ...queue__using__two__stacks_8cpp_source.html | 242 ++ df/dd5/binary__search_8cpp_source.html | 294 ++ df/dd7/structlinkedlist-members.html | 35 +- ...structures_1_1treap_1_1_treap-members.html | 35 +- df/ddc/struct_node__coll__graph.map | 2 +- df/ddc/struct_node__coll__graph.md5 | 2 +- df/ddc/struct_node__coll__graph.svg | 2 +- df/ddc/struct_node__coll__graph_org.svg | 2 +- df/ddd/connected__components_8cpp.html | 110 +- ...8ec9ad42717780d6caaff9d3d6977f9_cgraph.map | 14 - ...8ec9ad42717780d6caaff9d3d6977f9_cgraph.md5 | 1 - ...8ec9ad42717780d6caaff9d3d6977f9_cgraph.svg | 146 - ...ad42717780d6caaff9d3d6977f9_cgraph_org.svg | 120 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 19 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 191 -- ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 165 - df/ddd/connected__components_8cpp_source.html | 244 ++ df/de3/classqueue-members.html | 35 +- ...backtracking_1_1generate__parentheses.html | 111 +- ...1489edd65374f22fe04851051f0a2ec_cgraph.map | 8 - ...1489edd65374f22fe04851051f0a2ec_cgraph.md5 | 1 - ...1489edd65374f22fe04851051f0a2ec_cgraph.svg | 93 - ...edd65374f22fe04851051f0a2ec_cgraph_org.svg | 67 - ...39c03d80ce0ba9fbf659b420980d160_cgraph.map | 12 - ...39c03d80ce0ba9fbf659b420980d160_cgraph.md5 | 1 - ...39c03d80ce0ba9fbf659b420980d160_cgraph.svg | 130 - ...3d80ce0ba9fbf659b420980d160_cgraph_org.svg | 104 - df/dea/namespacefalse__position.html | 35 +- df/def/power__for__huge__numbers_8cpp.html | 85 +- ...249a2af508aa94266023ce8aa81426f_cgraph.map | 5 - ...249a2af508aa94266023ce8aa81426f_cgraph.md5 | 1 - ...249a2af508aa94266023ce8aa81426f_cgraph.svg | 65 - ...2af508aa94266023ce8aa81426f_cgraph_org.svg | 39 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 7 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 83 - ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 57 - ...power__for__huge__numbers_8cpp_source.html | 213 ++ df/dfb/minimax_8cpp.html | 68 +- ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 19 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 - ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 191 -- ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 165 - df/dfb/minimax_8cpp_source.html | 174 ++ dir_000002_000016.html | 35 +- dir_074119ce3a874b57120c49a0cc4bb5ad.html | 49 +- dir_074119ce3a874b57120c49a0cc4bb5ad.js | 4 +- dir_0eaa691bd54ab0922ca7f50599de6d22.html | 55 +- dir_0eaa691bd54ab0922ca7f50599de6d22.js | 5 +- dir_12552d7fa429bf94a2e32e5cf39f7e69.html | 77 +- dir_12552d7fa429bf94a2e32e5cf39f7e69.js | 8 + dir_19b2bf9199a15c634a08b1ede1dd896a.html | 67 +- dir_19b2bf9199a15c634a08b1ede1dd896a.js | 2 + dir_296d53ceaeaa7e099814a6def439fe8a.html | 153 +- dir_296d53ceaeaa7e099814a6def439fe8a.js | 2 + dir_2e746e9d06bf2d8ff842208bcc6ebcfc.html | 107 +- dir_2e746e9d06bf2d8ff842208bcc6ebcfc.js | 14 + dir_3343723ae086de42ee4ca9774da3a13f.html | 49 +- dir_3343723ae086de42ee4ca9774da3a13f.js | 1 + dir_35422be6552f1b3672c1b6c4aba2da64.html | 59 +- dir_35422be6552f1b3672c1b6c4aba2da64.js | 4 + dir_4b6f782e158b0b98da980a0e11a23a15.html | 37 +- dir_4d6e05837bf820fb089a8a8cdf2f42b7.html | 53 +- dir_4d6e05837bf820fb089a8a8cdf2f42b7.js | 1 + dir_53e6fa9553ac22a5646d2a2b2d7b97a1.html | 143 + dir_53e6fa9553ac22a5646d2a2b2d7b97a1.js | 4 + dir_59dc24c326e2a72d1164f014b22de83d.html | 37 +- dir_73a3cc5065b223eb41b02873c0e19f0e.html | 51 +- dir_82e494173a87936756866de2fa774307.html | 49 +- dir_8a20dd5bfd5341a725342bf72b6b686f.html | 97 +- dir_8a20dd5bfd5341a725342bf72b6b686f.js | 12 + dir_93bc990c5cceb745f78af6949e9ef947.html | 39 +- dir_93bc990c5cceb745f78af6949e9ef947.js | 3 +- dir_9510827d0b234b3cc54b29892f217477.html | 91 +- dir_9510827d0b234b3cc54b29892f217477.js | 1 + dir_9c6faab82c22511b50177aa2e38e2780.html | 77 +- dir_bb1b521853a9c46347182a9d10420771.html | 121 +- dir_bb1b521853a9c46347182a9d10420771.js | 15 + dir_c11585dfcef32a26e29098facab6c144.html | 61 +- dir_c11585dfcef32a26e29098facab6c144.js | 1 + dir_cc8e79ed9d2b7756c78e8d0c87c6c0c7.html | 37 +- dir_e3380d2178455503f266746fb14246a5.html | 41 +- dir_e3380d2178455503f266746fb14246a5.js | 1 + dir_e79632891301b850df87e9c0030293fa.html | 37 +- dir_ece9b94c107bbaa1dd68197a8c9983b9.html | 49 +- dir_f1797d0c2a0a12033e7d74efffeb14e1.html | 39 +- dir_f1797d0c2a0a12033e7d74efffeb14e1.js | 4 +- dir_f3c4fbc4e901afa0a54d0623c5574aa7.html | 55 +- dir_f3c4fbc4e901afa0a54d0623c5574aa7.js | 1 + doxygen-awesome.css | 2681 ++++++++++++++++ doxygen.css | 788 ++--- doxygen_crawl.html | 436 ++- dynsections.js | 13 +- examples.html | 35 +- favicon.svg | 5 + files.html | 700 +++-- files_dup.js | 1 + functions.html | 35 +- functions_a.html | 35 +- functions_b.html | 35 +- functions_c.html | 35 +- functions_d.html | 35 +- functions_e.html | 35 +- functions_f.html | 35 +- functions_func.html | 35 +- functions_func_a.html | 35 +- functions_func_b.html | 35 +- functions_func_c.html | 35 +- functions_func_d.html | 35 +- functions_func_e.html | 35 +- functions_func_f.html | 35 +- functions_func_g.html | 35 +- functions_func_h.html | 35 +- functions_func_i.html | 35 +- functions_func_k.html | 35 +- functions_func_l.html | 35 +- functions_func_m.html | 35 +- functions_func_n.html | 35 +- functions_func_o.html | 35 +- functions_func_p.html | 35 +- functions_func_q.html | 35 +- functions_func_r.html | 35 +- functions_func_s.html | 35 +- functions_func_t.html | 35 +- functions_func_u.html | 35 +- functions_func_v.html | 35 +- functions_func_w.html | 35 +- functions_func_~.html | 35 +- functions_g.html | 35 +- functions_h.html | 35 +- functions_i.html | 35 +- functions_k.html | 35 +- functions_l.html | 35 +- functions_m.html | 35 +- functions_n.html | 35 +- functions_o.html | 35 +- functions_p.html | 35 +- functions_q.html | 35 +- functions_r.html | 35 +- functions_rela.html | 35 +- functions_s.html | 35 +- functions_t.html | 35 +- functions_type.html | 35 +- functions_u.html | 35 +- functions_v.html | 35 +- functions_vars.html | 35 +- functions_w.html | 35 +- functions_x.html | 35 +- functions_y.html | 35 +- functions_~.html | 35 +- globals.html | 35 +- globals_a.html | 35 +- globals_b.html | 35 +- globals_c.html | 35 +- globals_d.html | 35 +- globals_defs.html | 35 +- globals_e.html | 35 +- globals_f.html | 35 +- globals_func.html | 35 +- globals_func_a.html | 35 +- globals_func_b.html | 35 +- globals_func_c.html | 35 +- globals_func_d.html | 35 +- globals_func_e.html | 35 +- globals_func_f.html | 35 +- globals_func_g.html | 35 +- globals_func_h.html | 35 +- globals_func_i.html | 35 +- globals_func_j.html | 35 +- globals_func_l.html | 35 +- globals_func_m.html | 35 +- globals_func_n.html | 35 +- globals_func_o.html | 35 +- globals_func_p.html | 35 +- globals_func_q.html | 35 +- globals_func_r.html | 35 +- globals_func_s.html | 35 +- globals_func_t.html | 35 +- globals_func_u.html | 35 +- globals_func_z.html | 35 +- globals_g.html | 35 +- globals_h.html | 35 +- globals_i.html | 35 +- globals_j.html | 35 +- globals_l.html | 35 +- globals_m.html | 35 +- globals_n.html | 35 +- globals_o.html | 35 +- globals_p.html | 35 +- globals_q.html | 35 +- globals_r.html | 35 +- globals_s.html | 35 +- globals_t.html | 35 +- globals_type.html | 35 +- globals_u.html | 35 +- globals_vars.html | 35 +- globals_w.html | 35 +- globals_z.html | 35 +- graph_legend.html | 35 +- hierarchy.html | 39 +- hierarchy.js | 2 +- index.html | 35 +- inherit_graph_109.map | 2 +- inherit_graph_109.md5 | 2 +- inherit_graph_109.svg | 4 +- inherits.html | 35 +- namespacemembers.html | 35 +- namespacemembers_b.html | 35 +- namespacemembers_c.html | 35 +- namespacemembers_d.html | 35 +- namespacemembers_e.html | 35 +- namespacemembers_f.html | 35 +- namespacemembers_func.html | 35 +- namespacemembers_func_b.html | 35 +- namespacemembers_func_c.html | 35 +- namespacemembers_func_d.html | 35 +- namespacemembers_func_e.html | 35 +- namespacemembers_func_f.html | 35 +- namespacemembers_func_g.html | 35 +- namespacemembers_func_h.html | 35 +- namespacemembers_func_i.html | 35 +- namespacemembers_func_k.html | 35 +- namespacemembers_func_l.html | 35 +- namespacemembers_func_m.html | 35 +- namespacemembers_func_n.html | 35 +- namespacemembers_func_o.html | 35 +- namespacemembers_func_p.html | 35 +- namespacemembers_func_q.html | 35 +- namespacemembers_func_r.html | 35 +- namespacemembers_func_s.html | 35 +- namespacemembers_func_t.html | 35 +- namespacemembers_func_u.html | 35 +- namespacemembers_func_v.html | 35 +- namespacemembers_func_z.html | 35 +- namespacemembers_g.html | 35 +- namespacemembers_h.html | 35 +- namespacemembers_i.html | 35 +- namespacemembers_k.html | 35 +- namespacemembers_l.html | 35 +- namespacemembers_m.html | 35 +- namespacemembers_n.html | 35 +- namespacemembers_o.html | 35 +- namespacemembers_p.html | 35 +- namespacemembers_q.html | 35 +- namespacemembers_r.html | 35 +- namespacemembers_s.html | 35 +- namespacemembers_t.html | 35 +- namespacemembers_type.html | 35 +- namespacemembers_u.html | 35 +- namespacemembers_v.html | 35 +- namespacemembers_vars.html | 35 +- namespacemembers_z.html | 35 +- namespaces.html | 100 +- namespaces_dup.js | 1 - navtree.css | 14 +- navtreedata.js | 31 +- navtreeindex0.js | 496 +-- navtreeindex1.js | 500 +-- navtreeindex10.js | 500 +-- navtreeindex11.js | 500 +-- navtreeindex12.js | 500 +-- navtreeindex13.js | 478 +-- navtreeindex14.js | 411 ++- navtreeindex15.js | 168 - navtreeindex2.js | 500 +-- navtreeindex3.js | 500 +-- navtreeindex4.js | 500 +-- navtreeindex5.js | 500 +-- navtreeindex6.js | 500 +-- navtreeindex7.js | 500 +-- navtreeindex8.js | 500 +-- navtreeindex9.js | 500 +-- pages.html | 35 +- project_logo.png | Bin 0 -> 7452 bytes search/all_10.js | 33 +- search/all_11.js | 183 +- search/all_12.js | 282 +- search/all_13.js | 135 +- search/all_14.js | 151 +- search/all_15.js | 281 +- search/all_16.js | 48 +- search/all_17.js | 211 +- search/all_18.js | 514 ++- search/all_19.js | 290 +- search/all_1a.js | 116 +- search/all_1b.js | 79 +- search/all_1c.js | 120 +- search/all_1d.js | 7 +- search/all_1e.js | 5 +- search/all_1f.js | 4 +- search/all_20.js | 111 +- search/all_5.js | 27 +- search/all_6.js | 243 +- search/all_7.js | 221 +- search/all_8.js | 324 +- search/all_9.js | 237 +- search/all_a.js | 146 +- search/all_b.js | 233 +- search/all_c.js | 262 +- search/all_d.js | 97 +- search/all_e.js | 353 +-- search/all_f.js | 9 +- search/classes_0.js | 30 +- search/classes_1.js | 76 +- search/classes_10.js | 16 +- search/classes_11.js | 51 +- search/classes_12.js | 56 +- search/classes_13.js | 30 +- search/classes_2.js | 47 +- search/classes_3.js | 22 +- search/classes_4.js | 17 +- search/classes_5.js | 20 +- search/classes_6.js | 10 +- search/classes_7.js | 15 +- search/classes_8.js | 113 +- search/classes_9.js | 2 +- search/classes_a.js | 12 +- search/classes_b.js | 27 +- search/classes_c.js | 45 +- search/classes_d.js | 23 +- search/classes_e.js | 16 +- search/classes_f.js | 24 +- search/functions_0.js | 13 +- search/functions_1.js | 129 +- search/functions_10.js | 157 +- search/functions_11.js | 18 +- search/functions_12.js | 136 +- search/functions_13.js | 319 +- search/functions_14.js | 201 +- search/functions_15.js | 68 +- search/functions_16.js | 28 +- search/functions_17.js | 81 +- search/functions_18.js | 5 +- search/functions_19.js | 11 +- search/functions_2.js | 102 +- search/functions_3.js | 165 +- search/functions_4.js | 162 +- search/functions_5.js | 102 +- search/functions_6.js | 165 +- search/functions_7.js | 191 +- search/functions_8.js | 46 +- search/functions_9.js | 194 +- search/functions_a.js | 4 +- search/functions_b.js | 18 +- search/functions_c.js | 95 +- search/functions_d.js | 161 +- search/functions_e.js | 84 +- search/functions_f.js | 109 +- search/namespaces_12.js | 28 +- search/search.css | 50 +- search/searchdata.js | 4 +- search/variables_4.js | 3 +- tabs.css | 2 +- topics.html | 35 +- 6732 files changed, 153919 insertions(+), 365711 deletions(-) delete mode 100644 d0/d01/smallest__circle_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph.map delete mode 100644 d0/d01/smallest__circle_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph.md5 delete mode 100644 d0/d01/smallest__circle_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph.svg delete mode 100644 d0/d01/smallest__circle_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph_org.svg delete mode 100644 d0/d01/smallest__circle_8cpp_a0b0676df8e4da7a08c7ccaecea344903_cgraph.map delete mode 100644 d0/d01/smallest__circle_8cpp_a0b0676df8e4da7a08c7ccaecea344903_cgraph.md5 delete mode 100644 d0/d01/smallest__circle_8cpp_a0b0676df8e4da7a08c7ccaecea344903_cgraph.svg delete mode 100644 d0/d01/smallest__circle_8cpp_a0b0676df8e4da7a08c7ccaecea344903_cgraph_org.svg delete mode 100644 d0/d01/smallest__circle_8cpp_a3cbebd6f4d2cdf227663c67fe41ba12a_cgraph.map delete mode 100644 d0/d01/smallest__circle_8cpp_a3cbebd6f4d2cdf227663c67fe41ba12a_cgraph.md5 delete mode 100644 d0/d01/smallest__circle_8cpp_a3cbebd6f4d2cdf227663c67fe41ba12a_cgraph.svg delete mode 100644 d0/d01/smallest__circle_8cpp_a3cbebd6f4d2cdf227663c67fe41ba12a_cgraph_org.svg delete mode 100644 d0/d01/smallest__circle_8cpp_a6d0455dd5c30adda100e95f0423c786e_cgraph.map delete mode 100644 d0/d01/smallest__circle_8cpp_a6d0455dd5c30adda100e95f0423c786e_cgraph.md5 delete mode 100644 d0/d01/smallest__circle_8cpp_a6d0455dd5c30adda100e95f0423c786e_cgraph.svg delete mode 100644 d0/d01/smallest__circle_8cpp_a6d0455dd5c30adda100e95f0423c786e_cgraph_org.svg delete mode 100644 d0/d01/smallest__circle_8cpp_a94682a4a70d5906857ca09de5b9fb2cc_cgraph.map delete mode 100644 d0/d01/smallest__circle_8cpp_a94682a4a70d5906857ca09de5b9fb2cc_cgraph.md5 delete mode 100644 d0/d01/smallest__circle_8cpp_a94682a4a70d5906857ca09de5b9fb2cc_cgraph.svg delete mode 100644 d0/d01/smallest__circle_8cpp_a94682a4a70d5906857ca09de5b9fb2cc_cgraph_org.svg delete mode 100644 d0/d01/smallest__circle_8cpp_ae1a3968e7947464bee7714f6d43b7002_cgraph.map delete mode 100644 d0/d01/smallest__circle_8cpp_ae1a3968e7947464bee7714f6d43b7002_cgraph.md5 delete mode 100644 d0/d01/smallest__circle_8cpp_ae1a3968e7947464bee7714f6d43b7002_cgraph.svg delete mode 100644 d0/d01/smallest__circle_8cpp_ae1a3968e7947464bee7714f6d43b7002_cgraph_org.svg delete mode 100644 d0/d01/smallest__circle_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d0/d01/smallest__circle_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d0/d01/smallest__circle_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d0/d01/smallest__circle_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg delete mode 100644 d0/d01/smallest__circle_8cpp_aee6d48762c1dfb9f14627927f0c16fad_cgraph.map delete mode 100644 d0/d01/smallest__circle_8cpp_aee6d48762c1dfb9f14627927f0c16fad_cgraph.md5 delete mode 100644 d0/d01/smallest__circle_8cpp_aee6d48762c1dfb9f14627927f0c16fad_cgraph.svg delete mode 100644 d0/d01/smallest__circle_8cpp_aee6d48762c1dfb9f14627927f0c16fad_cgraph_org.svg create mode 100644 d0/d01/smallest__circle_8cpp_source.html delete mode 100644 d0/d08/realtime__stats_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph.map delete mode 100644 d0/d08/realtime__stats_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph.md5 delete mode 100644 d0/d08/realtime__stats_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph.svg delete mode 100644 d0/d08/realtime__stats_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph_org.svg delete mode 100644 d0/d08/realtime__stats_8cpp_aa54c915581fcc495489175a4386d59fd_cgraph.map delete mode 100644 d0/d08/realtime__stats_8cpp_aa54c915581fcc495489175a4386d59fd_cgraph.md5 delete mode 100644 d0/d08/realtime__stats_8cpp_aa54c915581fcc495489175a4386d59fd_cgraph.svg delete mode 100644 d0/d08/realtime__stats_8cpp_aa54c915581fcc495489175a4386d59fd_cgraph_org.svg create mode 100644 d0/d08/realtime__stats_8cpp_source.html delete mode 100644 d0/d3e/classdata__structures_1_1trie_a0ab94bc6417e3f59fab33cea5b64d546_cgraph.map delete mode 100644 d0/d3e/classdata__structures_1_1trie_a0ab94bc6417e3f59fab33cea5b64d546_cgraph.md5 delete mode 100644 d0/d3e/classdata__structures_1_1trie_a0ab94bc6417e3f59fab33cea5b64d546_cgraph.svg delete mode 100644 d0/d3e/classdata__structures_1_1trie_a0ab94bc6417e3f59fab33cea5b64d546_cgraph_org.svg delete mode 100644 d0/d3e/classdata__structures_1_1trie_a499f87fd833203ef9492b4870aa6d42d_cgraph.map delete mode 100644 d0/d3e/classdata__structures_1_1trie_a499f87fd833203ef9492b4870aa6d42d_cgraph.md5 delete mode 100644 d0/d3e/classdata__structures_1_1trie_a499f87fd833203ef9492b4870aa6d42d_cgraph.svg delete mode 100644 d0/d3e/classdata__structures_1_1trie_a499f87fd833203ef9492b4870aa6d42d_cgraph_org.svg delete mode 100644 d0/d3e/classdata__structures_1_1trie_a961eb5d576d2420f2036009154397c63_cgraph.map delete mode 100644 d0/d3e/classdata__structures_1_1trie_a961eb5d576d2420f2036009154397c63_cgraph.md5 delete mode 100644 d0/d3e/classdata__structures_1_1trie_a961eb5d576d2420f2036009154397c63_cgraph.svg delete mode 100644 d0/d3e/classdata__structures_1_1trie_a961eb5d576d2420f2036009154397c63_cgraph_org.svg delete mode 100644 d0/d3e/classdata__structures_1_1trie_aab373beb3f618b90922528c68797d988_cgraph.map delete mode 100644 d0/d3e/classdata__structures_1_1trie_aab373beb3f618b90922528c68797d988_cgraph.md5 delete mode 100644 d0/d3e/classdata__structures_1_1trie_aab373beb3f618b90922528c68797d988_cgraph.svg delete mode 100644 d0/d3e/classdata__structures_1_1trie_aab373beb3f618b90922528c68797d988_cgraph_org.svg delete mode 100644 d0/d3e/classdata__structures_1_1trie_aeac27cfd397d2dd3f2f519efffafeeab_cgraph.map delete mode 100644 d0/d3e/classdata__structures_1_1trie_aeac27cfd397d2dd3f2f519efffafeeab_cgraph.md5 delete mode 100644 d0/d3e/classdata__structures_1_1trie_aeac27cfd397d2dd3f2f519efffafeeab_cgraph.svg delete mode 100644 d0/d3e/classdata__structures_1_1trie_aeac27cfd397d2dd3f2f519efffafeeab_cgraph_org.svg delete mode 100644 d0/d46/finding__number__of__digits__in__a__number_8cpp_ab4c15b7f1aedd4419a65cd49562cc300_cgraph.map delete mode 100644 d0/d46/finding__number__of__digits__in__a__number_8cpp_ab4c15b7f1aedd4419a65cd49562cc300_cgraph.md5 delete mode 100644 d0/d46/finding__number__of__digits__in__a__number_8cpp_ab4c15b7f1aedd4419a65cd49562cc300_cgraph.svg delete mode 100644 d0/d46/finding__number__of__digits__in__a__number_8cpp_ab4c15b7f1aedd4419a65cd49562cc300_cgraph_org.svg delete mode 100644 d0/d46/finding__number__of__digits__in__a__number_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d0/d46/finding__number__of__digits__in__a__number_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d0/d46/finding__number__of__digits__in__a__number_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d0/d46/finding__number__of__digits__in__a__number_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 d0/d46/finding__number__of__digits__in__a__number_8cpp_source.html delete mode 100644 d0/d51/approximate__pi_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.map delete mode 100644 d0/d51/approximate__pi_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 delete mode 100644 d0/d51/approximate__pi_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.svg delete mode 100644 d0/d51/approximate__pi_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph_org.svg delete mode 100644 d0/d51/approximate__pi_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d0/d51/approximate__pi_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d0/d51/approximate__pi_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d0/d51/approximate__pi_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 d0/d51/approximate__pi_8cpp_source.html delete mode 100644 d0/d58/classgraph_1_1_rooted_tree_aacdeecac857623e9fbfe92590f3c504d_cgraph.map delete mode 100644 d0/d58/classgraph_1_1_rooted_tree_aacdeecac857623e9fbfe92590f3c504d_cgraph.md5 delete mode 100644 d0/d58/classgraph_1_1_rooted_tree_aacdeecac857623e9fbfe92590f3c504d_cgraph.svg delete mode 100644 d0/d58/classgraph_1_1_rooted_tree_aacdeecac857623e9fbfe92590f3c504d_cgraph_org.svg delete mode 100644 d0/d58/classgraph_1_1_rooted_tree_ae6928f3ebd491541e9570e746b877c1e_cgraph.map delete mode 100644 d0/d58/classgraph_1_1_rooted_tree_ae6928f3ebd491541e9570e746b877c1e_cgraph.md5 delete mode 100644 d0/d58/classgraph_1_1_rooted_tree_ae6928f3ebd491541e9570e746b877c1e_cgraph.svg delete mode 100644 d0/d58/classgraph_1_1_rooted_tree_ae6928f3ebd491541e9570e746b877c1e_cgraph_org.svg delete mode 100644 d0/d5a/skip__list_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d0/d5a/skip__list_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d0/d5a/skip__list_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d0/d5a/skip__list_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 d0/d5a/skip__list_8cpp_source.html delete mode 100644 d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_a097913c4badec2b60d50a171ecc299fe_cgraph.map delete mode 100644 d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_a097913c4badec2b60d50a171ecc299fe_cgraph.md5 delete mode 100644 d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_a097913c4badec2b60d50a171ecc299fe_cgraph.svg delete mode 100644 d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_a097913c4badec2b60d50a171ecc299fe_cgraph_org.svg delete mode 100644 d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_a18b70172ca4fb2811dbfb9a86e48b34c_cgraph.map delete mode 100644 d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_a18b70172ca4fb2811dbfb9a86e48b34c_cgraph.md5 delete mode 100644 d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_a18b70172ca4fb2811dbfb9a86e48b34c_cgraph.svg delete mode 100644 d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_a18b70172ca4fb2811dbfb9a86e48b34c_cgraph_org.svg delete mode 100644 d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_a7c5ab271d8042540f64ef16d259d1503_cgraph.map delete mode 100644 d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_a7c5ab271d8042540f64ef16d259d1503_cgraph.md5 delete mode 100644 d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_a7c5ab271d8042540f64ef16d259d1503_cgraph.svg delete mode 100644 d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_a7c5ab271d8042540f64ef16d259d1503_cgraph_org.svg delete mode 100644 d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_a9e556f52c837190ecf4265b1f05cfe9c_cgraph.map delete mode 100644 d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_a9e556f52c837190ecf4265b1f05cfe9c_cgraph.md5 delete mode 100644 d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_a9e556f52c837190ecf4265b1f05cfe9c_cgraph.svg delete mode 100644 d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_a9e556f52c837190ecf4265b1f05cfe9c_cgraph_org.svg delete mode 100644 d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_aacafb8c9f3ebac7ac6c01d9645bb67b6_cgraph.map delete mode 100644 d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_aacafb8c9f3ebac7ac6c01d9645bb67b6_cgraph.md5 delete mode 100644 d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_aacafb8c9f3ebac7ac6c01d9645bb67b6_cgraph.svg delete mode 100644 d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_aacafb8c9f3ebac7ac6c01d9645bb67b6_cgraph_org.svg delete mode 100644 d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_adef6940391f981ab86767775176b7169_cgraph.map delete mode 100644 d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_adef6940391f981ab86767775176b7169_cgraph.md5 delete mode 100644 d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_adef6940391f981ab86767775176b7169_cgraph.svg delete mode 100644 d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_adef6940391f981ab86767775176b7169_cgraph_org.svg delete mode 100644 d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_aefd24626ac47277431c9b8604e064340_cgraph.map delete mode 100644 d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_aefd24626ac47277431c9b8604e064340_cgraph.md5 delete mode 100644 d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_aefd24626ac47277431c9b8604e064340_cgraph.svg delete mode 100644 d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_aefd24626ac47277431c9b8604e064340_cgraph_org.svg delete mode 100644 d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_afca808362c13273ca8c8ae7d58e8eee0_cgraph.map delete mode 100644 d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_afca808362c13273ca8c8ae7d58e8eee0_cgraph.md5 delete mode 100644 d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_afca808362c13273ca8c8ae7d58e8eee0_cgraph.svg delete mode 100644 d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_afca808362c13273ca8c8ae7d58e8eee0_cgraph_org.svg create mode 100644 d0/d61/knapsack_8cpp_source.html delete mode 100644 d0/d65/namespacedouble__hashing_a1e901418c759627557eff359b8db38cd_cgraph.map delete mode 100644 d0/d65/namespacedouble__hashing_a1e901418c759627557eff359b8db38cd_cgraph.md5 delete mode 100644 d0/d65/namespacedouble__hashing_a1e901418c759627557eff359b8db38cd_cgraph.svg delete mode 100644 d0/d65/namespacedouble__hashing_a1e901418c759627557eff359b8db38cd_cgraph_org.svg delete mode 100644 d0/d65/namespacedouble__hashing_a28083ecac6eb94b643281875c8665931_cgraph.map delete mode 100644 d0/d65/namespacedouble__hashing_a28083ecac6eb94b643281875c8665931_cgraph.md5 delete mode 100644 d0/d65/namespacedouble__hashing_a28083ecac6eb94b643281875c8665931_cgraph.svg delete mode 100644 d0/d65/namespacedouble__hashing_a28083ecac6eb94b643281875c8665931_cgraph_org.svg delete mode 100644 d0/d65/namespacedouble__hashing_a5d06e4598569526294f10104875f6824_cgraph.map delete mode 100644 d0/d65/namespacedouble__hashing_a5d06e4598569526294f10104875f6824_cgraph.md5 delete mode 100644 d0/d65/namespacedouble__hashing_a5d06e4598569526294f10104875f6824_cgraph.svg delete mode 100644 d0/d65/namespacedouble__hashing_a5d06e4598569526294f10104875f6824_cgraph_org.svg delete mode 100644 d0/d65/namespacedouble__hashing_a79a9c914a6c68275b3640303d7faad8a_cgraph.map delete mode 100644 d0/d65/namespacedouble__hashing_a79a9c914a6c68275b3640303d7faad8a_cgraph.md5 delete mode 100644 d0/d65/namespacedouble__hashing_a79a9c914a6c68275b3640303d7faad8a_cgraph.svg delete mode 100644 d0/d65/namespacedouble__hashing_a79a9c914a6c68275b3640303d7faad8a_cgraph_org.svg delete mode 100644 d0/d65/namespacedouble__hashing_a8f8ff4fb018e1bb32d67d8a1885d3200_cgraph.map delete mode 100644 d0/d65/namespacedouble__hashing_a8f8ff4fb018e1bb32d67d8a1885d3200_cgraph.md5 delete mode 100644 d0/d65/namespacedouble__hashing_a8f8ff4fb018e1bb32d67d8a1885d3200_cgraph.svg delete mode 100644 d0/d65/namespacedouble__hashing_a8f8ff4fb018e1bb32d67d8a1885d3200_cgraph_org.svg delete mode 100644 d0/d65/namespacedouble__hashing_a9c652b2e467e5d250dfe3bed83b12560_cgraph.map delete mode 100644 d0/d65/namespacedouble__hashing_a9c652b2e467e5d250dfe3bed83b12560_cgraph.md5 delete mode 100644 d0/d65/namespacedouble__hashing_a9c652b2e467e5d250dfe3bed83b12560_cgraph.svg delete mode 100644 d0/d65/namespacedouble__hashing_a9c652b2e467e5d250dfe3bed83b12560_cgraph_org.svg delete mode 100644 d0/d65/namespacedouble__hashing_af4981819aae8bc7e7beeaef02615e30d_cgraph.map delete mode 100644 d0/d65/namespacedouble__hashing_af4981819aae8bc7e7beeaef02615e30d_cgraph.md5 delete mode 100644 d0/d65/namespacedouble__hashing_af4981819aae8bc7e7beeaef02615e30d_cgraph.svg delete mode 100644 d0/d65/namespacedouble__hashing_af4981819aae8bc7e7beeaef02615e30d_cgraph_org.svg delete mode 100644 d0/d6d/modular__exponentiation_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map delete mode 100644 d0/d6d/modular__exponentiation_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 delete mode 100644 d0/d6d/modular__exponentiation_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg delete mode 100644 d0/d6d/modular__exponentiation_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg delete mode 100644 d0/d6d/modular__exponentiation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d0/d6d/modular__exponentiation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d0/d6d/modular__exponentiation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d0/d6d/modular__exponentiation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 d0/d6d/modular__exponentiation_8cpp_source.html delete mode 100644 d0/d77/longest__palindromic__subsequence_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map delete mode 100644 d0/d77/longest__palindromic__subsequence_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 delete mode 100644 d0/d77/longest__palindromic__subsequence_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg delete mode 100644 d0/d77/longest__palindromic__subsequence_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg delete mode 100644 d0/d77/longest__palindromic__subsequence_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d0/d77/longest__palindromic__subsequence_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d0/d77/longest__palindromic__subsequence_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d0/d77/longest__palindromic__subsequence_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 d0/d77/longest__palindromic__subsequence_8cpp_source.html delete mode 100644 d0/da2/number__of__positive__divisors_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph.map delete mode 100644 d0/da2/number__of__positive__divisors_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph.md5 delete mode 100644 d0/da2/number__of__positive__divisors_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph.svg delete mode 100644 d0/da2/number__of__positive__divisors_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph_org.svg delete mode 100644 d0/da2/number__of__positive__divisors_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d0/da2/number__of__positive__divisors_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d0/da2/number__of__positive__divisors_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d0/da2/number__of__positive__divisors_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 d0/da2/number__of__positive__divisors_8cpp_source.html create mode 100644 d0/db6/non__recursive__merge__sort_8cpp_source.html delete mode 100644 d0/dbc/namespacestrings_1_1boyer__moore_a0b165af1dc341289fd705be4c67728f8_cgraph.map delete mode 100644 d0/dbc/namespacestrings_1_1boyer__moore_a0b165af1dc341289fd705be4c67728f8_cgraph.md5 delete mode 100644 d0/dbc/namespacestrings_1_1boyer__moore_a0b165af1dc341289fd705be4c67728f8_cgraph.svg delete mode 100644 d0/dbc/namespacestrings_1_1boyer__moore_a0b165af1dc341289fd705be4c67728f8_cgraph_org.svg delete mode 100644 d0/dbc/namespacestrings_1_1boyer__moore_a15703b553faed0d28202c10808cf9738_cgraph.map delete mode 100644 d0/dbc/namespacestrings_1_1boyer__moore_a15703b553faed0d28202c10808cf9738_cgraph.md5 delete mode 100644 d0/dbc/namespacestrings_1_1boyer__moore_a15703b553faed0d28202c10808cf9738_cgraph.svg delete mode 100644 d0/dbc/namespacestrings_1_1boyer__moore_a15703b553faed0d28202c10808cf9738_cgraph_org.svg delete mode 100644 d0/dbc/namespacestrings_1_1boyer__moore_a2f6688c9bb3e692297a3aa09cebc1c00_cgraph.map delete mode 100644 d0/dbc/namespacestrings_1_1boyer__moore_a2f6688c9bb3e692297a3aa09cebc1c00_cgraph.md5 delete mode 100644 d0/dbc/namespacestrings_1_1boyer__moore_a2f6688c9bb3e692297a3aa09cebc1c00_cgraph.svg delete mode 100644 d0/dbc/namespacestrings_1_1boyer__moore_a2f6688c9bb3e692297a3aa09cebc1c00_cgraph_org.svg delete mode 100644 d0/dbc/namespacestrings_1_1boyer__moore_aa709cf7fca02b7d3e1888423d5f739a1_cgraph.map delete mode 100644 d0/dbc/namespacestrings_1_1boyer__moore_aa709cf7fca02b7d3e1888423d5f739a1_cgraph.md5 delete mode 100644 d0/dbc/namespacestrings_1_1boyer__moore_aa709cf7fca02b7d3e1888423d5f739a1_cgraph.svg delete mode 100644 d0/dbc/namespacestrings_1_1boyer__moore_aa709cf7fca02b7d3e1888423d5f739a1_cgraph_org.svg delete mode 100644 d0/dd2/treap_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map delete mode 100644 d0/dd2/treap_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 delete mode 100644 d0/dd2/treap_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg delete mode 100644 d0/dd2/treap_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg delete mode 100644 d0/dd2/treap_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d0/dd2/treap_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d0/dd2/treap_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d0/dd2/treap_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 d0/dd2/treap_8cpp_source.html delete mode 100644 d0/de2/gaussian__elimination_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d0/de2/gaussian__elimination_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d0/de2/gaussian__elimination_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d0/de2/gaussian__elimination_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 d0/de2/gaussian__elimination_8cpp_source.html create mode 100644 d0/dea/strassen__matrix__multiplication_8cpp_source.html delete mode 100644 d1/d11/gcd__of__n__numbers_8cpp_a1161713c662a14c2d5e33504f4324532_cgraph.map delete mode 100644 d1/d11/gcd__of__n__numbers_8cpp_a1161713c662a14c2d5e33504f4324532_cgraph.md5 delete mode 100644 d1/d11/gcd__of__n__numbers_8cpp_a1161713c662a14c2d5e33504f4324532_cgraph.svg delete mode 100644 d1/d11/gcd__of__n__numbers_8cpp_a1161713c662a14c2d5e33504f4324532_cgraph_org.svg delete mode 100644 d1/d11/gcd__of__n__numbers_8cpp_a509a35e11ed1e17a9e00dd56320a4181_cgraph.map delete mode 100644 d1/d11/gcd__of__n__numbers_8cpp_a509a35e11ed1e17a9e00dd56320a4181_cgraph.md5 delete mode 100644 d1/d11/gcd__of__n__numbers_8cpp_a509a35e11ed1e17a9e00dd56320a4181_cgraph.svg delete mode 100644 d1/d11/gcd__of__n__numbers_8cpp_a509a35e11ed1e17a9e00dd56320a4181_cgraph_org.svg delete mode 100644 d1/d11/gcd__of__n__numbers_8cpp_a71b9357c7a722f8208499d9ba573297a_cgraph.map delete mode 100644 d1/d11/gcd__of__n__numbers_8cpp_a71b9357c7a722f8208499d9ba573297a_cgraph.md5 delete mode 100644 d1/d11/gcd__of__n__numbers_8cpp_a71b9357c7a722f8208499d9ba573297a_cgraph.svg delete mode 100644 d1/d11/gcd__of__n__numbers_8cpp_a71b9357c7a722f8208499d9ba573297a_cgraph_org.svg delete mode 100644 d1/d11/gcd__of__n__numbers_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d1/d11/gcd__of__n__numbers_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d1/d11/gcd__of__n__numbers_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d1/d11/gcd__of__n__numbers_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 d1/d11/gcd__of__n__numbers_8cpp_source.html create mode 100644 d1/d12/tree_8cpp_source.html create mode 100644 d1/d1b/topological__sort__by__kahns__algo_8cpp_source.html create mode 100644 d1/d1c/base64__encoding_8cpp_source.html delete mode 100644 d1/d21/quick__sort_8cpp_a1b2a2cc2d319240f3b65c5b2f479ed82_cgraph.map delete mode 100644 d1/d21/quick__sort_8cpp_a1b2a2cc2d319240f3b65c5b2f479ed82_cgraph.md5 delete mode 100644 d1/d21/quick__sort_8cpp_a1b2a2cc2d319240f3b65c5b2f479ed82_cgraph.svg delete mode 100644 d1/d21/quick__sort_8cpp_a1b2a2cc2d319240f3b65c5b2f479ed82_cgraph_org.svg delete mode 100644 d1/d21/quick__sort_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.map delete mode 100644 d1/d21/quick__sort_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 delete mode 100644 d1/d21/quick__sort_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.svg delete mode 100644 d1/d21/quick__sort_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph_org.svg delete mode 100644 d1/d21/quick__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d1/d21/quick__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d1/d21/quick__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d1/d21/quick__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 d1/d21/quick__sort_8cpp_source.html delete mode 100644 d1/d2a/knight__tour_8cpp_aaa47356d98676cf5315d978f741e29c9_cgraph.map delete mode 100644 d1/d2a/knight__tour_8cpp_aaa47356d98676cf5315d978f741e29c9_cgraph.md5 delete mode 100644 d1/d2a/knight__tour_8cpp_aaa47356d98676cf5315d978f741e29c9_cgraph.svg delete mode 100644 d1/d2a/knight__tour_8cpp_aaa47356d98676cf5315d978f741e29c9_cgraph_org.svg delete mode 100644 d1/d2a/knight__tour_8cpp_af27031fbff093ffd625f64010d98aab2_cgraph.map delete mode 100644 d1/d2a/knight__tour_8cpp_af27031fbff093ffd625f64010d98aab2_cgraph.md5 delete mode 100644 d1/d2a/knight__tour_8cpp_af27031fbff093ffd625f64010d98aab2_cgraph.svg delete mode 100644 d1/d2a/knight__tour_8cpp_af27031fbff093ffd625f64010d98aab2_cgraph_org.svg create mode 100644 d1/d2a/knight__tour_8cpp_source.html create mode 100644 d1/d40/counting__sort_8cpp_source.html delete mode 100644 d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree_a04cd96efaba147b19d3afc769b90ff70_cgraph.map delete mode 100644 d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree_a04cd96efaba147b19d3afc769b90ff70_cgraph.md5 delete mode 100644 d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree_a04cd96efaba147b19d3afc769b90ff70_cgraph.svg delete mode 100644 d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree_a04cd96efaba147b19d3afc769b90ff70_cgraph_org.svg delete mode 100644 d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree_a79ab4601c4a95c0902ac04e779e5f54d_cgraph.map delete mode 100644 d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree_a79ab4601c4a95c0902ac04e779e5f54d_cgraph.md5 delete mode 100644 d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree_a79ab4601c4a95c0902ac04e779e5f54d_cgraph.svg delete mode 100644 d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree_a79ab4601c4a95c0902ac04e779e5f54d_cgraph_org.svg delete mode 100644 d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree_a835fb2bbb27307b8cacad9b287968bc1_cgraph.map delete mode 100644 d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree_a835fb2bbb27307b8cacad9b287968bc1_cgraph.md5 delete mode 100644 d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree_a835fb2bbb27307b8cacad9b287968bc1_cgraph.svg delete mode 100644 d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree_a835fb2bbb27307b8cacad9b287968bc1_cgraph_org.svg delete mode 100644 d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree_a8f7bca1746d40f21ad832fcea59aa6c6_cgraph.map delete mode 100644 d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree_a8f7bca1746d40f21ad832fcea59aa6c6_cgraph.md5 delete mode 100644 d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree_a8f7bca1746d40f21ad832fcea59aa6c6_cgraph.svg delete mode 100644 d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree_a8f7bca1746d40f21ad832fcea59aa6c6_cgraph_org.svg delete mode 100644 d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree_aa339c31ec74cd86a4842a8b09653d460_cgraph.map delete mode 100644 d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree_aa339c31ec74cd86a4842a8b09653d460_cgraph.md5 delete mode 100644 d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree_aa339c31ec74cd86a4842a8b09653d460_cgraph.svg delete mode 100644 d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree_aa339c31ec74cd86a4842a8b09653d460_cgraph_org.svg delete mode 100644 d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree_ad22d760a5a33545a70e7ea5e1786c8dc_cgraph.map delete mode 100644 d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree_ad22d760a5a33545a70e7ea5e1786c8dc_cgraph.md5 delete mode 100644 d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree_ad22d760a5a33545a70e7ea5e1786c8dc_cgraph.svg delete mode 100644 d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree_ad22d760a5a33545a70e7ea5e1786c8dc_cgraph_org.svg delete mode 100644 d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree_ae2b407e64aaf9878fbee7ee6efe9c7d4_cgraph.map delete mode 100644 d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree_ae2b407e64aaf9878fbee7ee6efe9c7d4_cgraph.md5 delete mode 100644 d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree_ae2b407e64aaf9878fbee7ee6efe9c7d4_cgraph.svg delete mode 100644 d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree_ae2b407e64aaf9878fbee7ee6efe9c7d4_cgraph_org.svg delete mode 100644 d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree_ae8de7aefcb6635d3dacdd174cd4890c4_cgraph.map delete mode 100644 d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree_ae8de7aefcb6635d3dacdd174cd4890c4_cgraph.md5 delete mode 100644 d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree_ae8de7aefcb6635d3dacdd174cd4890c4_cgraph.svg delete mode 100644 d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree_ae8de7aefcb6635d3dacdd174cd4890c4_cgraph_org.svg create mode 100644 d1/d70/cll_8cpp_source.html delete mode 100644 d1/d76/buzz__number_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d1/d76/buzz__number_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d1/d76/buzz__number_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d1/d76/buzz__number_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 d1/d76/buzz__number_8cpp_source.html create mode 100644 d1/d7c/fibonacci__bottom__up_8cpp_source.html delete mode 100644 d1/d83/classuint256__t_a033d66c965e8d1fbc5bafb59ad60e163_cgraph.map delete mode 100644 d1/d83/classuint256__t_a033d66c965e8d1fbc5bafb59ad60e163_cgraph.md5 delete mode 100644 d1/d83/classuint256__t_a033d66c965e8d1fbc5bafb59ad60e163_cgraph.svg delete mode 100644 d1/d83/classuint256__t_a033d66c965e8d1fbc5bafb59ad60e163_cgraph_org.svg delete mode 100644 d1/d83/classuint256__t_a1fa3d95584d071add9b46597d3747b39_cgraph.map delete mode 100644 d1/d83/classuint256__t_a1fa3d95584d071add9b46597d3747b39_cgraph.md5 delete mode 100644 d1/d83/classuint256__t_a1fa3d95584d071add9b46597d3747b39_cgraph.svg delete mode 100644 d1/d83/classuint256__t_a1fa3d95584d071add9b46597d3747b39_cgraph_org.svg delete mode 100644 d1/d83/classuint256__t_a2cd43a4a92dc825a010a17578b3bdedb_cgraph.map delete mode 100644 d1/d83/classuint256__t_a2cd43a4a92dc825a010a17578b3bdedb_cgraph.md5 delete mode 100644 d1/d83/classuint256__t_a2cd43a4a92dc825a010a17578b3bdedb_cgraph.svg delete mode 100644 d1/d83/classuint256__t_a2cd43a4a92dc825a010a17578b3bdedb_cgraph_org.svg delete mode 100644 d1/d83/classuint256__t_a4645040fe68ff01d83400f173fd2bb21_cgraph.map delete mode 100644 d1/d83/classuint256__t_a4645040fe68ff01d83400f173fd2bb21_cgraph.md5 delete mode 100644 d1/d83/classuint256__t_a4645040fe68ff01d83400f173fd2bb21_cgraph.svg delete mode 100644 d1/d83/classuint256__t_a4645040fe68ff01d83400f173fd2bb21_cgraph_org.svg delete mode 100644 d1/d83/classuint256__t_a4fdeb4d4bf8cca4ee99b8487e59831df_cgraph.map delete mode 100644 d1/d83/classuint256__t_a4fdeb4d4bf8cca4ee99b8487e59831df_cgraph.md5 delete mode 100644 d1/d83/classuint256__t_a4fdeb4d4bf8cca4ee99b8487e59831df_cgraph.svg delete mode 100644 d1/d83/classuint256__t_a4fdeb4d4bf8cca4ee99b8487e59831df_cgraph_org.svg delete mode 100644 d1/d83/classuint256__t_a8161d52d369e525f4e61129376adfcf1_cgraph.map delete mode 100644 d1/d83/classuint256__t_a8161d52d369e525f4e61129376adfcf1_cgraph.md5 delete mode 100644 d1/d83/classuint256__t_a8161d52d369e525f4e61129376adfcf1_cgraph.svg delete mode 100644 d1/d83/classuint256__t_a8161d52d369e525f4e61129376adfcf1_cgraph_org.svg delete mode 100644 d1/d83/classuint256__t_a86aab081bb7db2771e4a4f30c3eed8e2_cgraph.map delete mode 100644 d1/d83/classuint256__t_a86aab081bb7db2771e4a4f30c3eed8e2_cgraph.md5 delete mode 100644 d1/d83/classuint256__t_a86aab081bb7db2771e4a4f30c3eed8e2_cgraph.svg delete mode 100644 d1/d83/classuint256__t_a86aab081bb7db2771e4a4f30c3eed8e2_cgraph_org.svg delete mode 100644 d1/d83/classuint256__t_a9ddd133cee83f3a2ab6ed60a7ccbc250_cgraph.map delete mode 100644 d1/d83/classuint256__t_a9ddd133cee83f3a2ab6ed60a7ccbc250_cgraph.md5 delete mode 100644 d1/d83/classuint256__t_a9ddd133cee83f3a2ab6ed60a7ccbc250_cgraph.svg delete mode 100644 d1/d83/classuint256__t_a9ddd133cee83f3a2ab6ed60a7ccbc250_cgraph_org.svg delete mode 100644 d1/d83/classuint256__t_aa9e585b186e71d7cbe9c1d7387c38967_cgraph.map delete mode 100644 d1/d83/classuint256__t_aa9e585b186e71d7cbe9c1d7387c38967_cgraph.md5 delete mode 100644 d1/d83/classuint256__t_aa9e585b186e71d7cbe9c1d7387c38967_cgraph.svg delete mode 100644 d1/d83/classuint256__t_aa9e585b186e71d7cbe9c1d7387c38967_cgraph_org.svg delete mode 100644 d1/d83/classuint256__t_ac1b36e64de42f3622e7d6ec5efa273d4_cgraph.map delete mode 100644 d1/d83/classuint256__t_ac1b36e64de42f3622e7d6ec5efa273d4_cgraph.md5 delete mode 100644 d1/d83/classuint256__t_ac1b36e64de42f3622e7d6ec5efa273d4_cgraph.svg delete mode 100644 d1/d83/classuint256__t_ac1b36e64de42f3622e7d6ec5efa273d4_cgraph_org.svg delete mode 100644 d1/d83/classuint256__t_ad4928175eaaaa2b559bc945affe63ad2_cgraph.map delete mode 100644 d1/d83/classuint256__t_ad4928175eaaaa2b559bc945affe63ad2_cgraph.md5 delete mode 100644 d1/d83/classuint256__t_ad4928175eaaaa2b559bc945affe63ad2_cgraph.svg delete mode 100644 d1/d83/classuint256__t_ad4928175eaaaa2b559bc945affe63ad2_cgraph_org.svg delete mode 100644 d1/d83/classuint256__t_afee82fa5052e9d8c946b9205b943cec4_cgraph.map delete mode 100644 d1/d83/classuint256__t_afee82fa5052e9d8c946b9205b943cec4_cgraph.md5 delete mode 100644 d1/d83/classuint256__t_afee82fa5052e9d8c946b9205b943cec4_cgraph.svg delete mode 100644 d1/d83/classuint256__t_afee82fa5052e9d8c946b9205b943cec4_cgraph_org.svg delete mode 100644 d1/d9a/hopcroft__karp_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph.map delete mode 100644 d1/d9a/hopcroft__karp_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph.md5 delete mode 100644 d1/d9a/hopcroft__karp_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph.svg delete mode 100644 d1/d9a/hopcroft__karp_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph_org.svg delete mode 100644 d1/d9a/hopcroft__karp_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d1/d9a/hopcroft__karp_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d1/d9a/hopcroft__karp_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d1/d9a/hopcroft__karp_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 d1/d9a/hopcroft__karp_8cpp_source.html delete mode 100644 d1/d9e/prefix__sum__array_8cpp_ab36151479ad37d53ef9fcb60a274b1d9_cgraph.map delete mode 100644 d1/d9e/prefix__sum__array_8cpp_ab36151479ad37d53ef9fcb60a274b1d9_cgraph.md5 delete mode 100644 d1/d9e/prefix__sum__array_8cpp_ab36151479ad37d53ef9fcb60a274b1d9_cgraph.svg delete mode 100644 d1/d9e/prefix__sum__array_8cpp_ab36151479ad37d53ef9fcb60a274b1d9_cgraph_org.svg delete mode 100644 d1/d9e/prefix__sum__array_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d1/d9e/prefix__sum__array_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d1/d9e/prefix__sum__array_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d1/d9e/prefix__sum__array_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 d1/d9e/prefix__sum__array_8cpp_source.html delete mode 100644 d1/da6/rungekutta_8cpp_a7b9f40c7b5e9749cc550f19be3dc8856_cgraph.map delete mode 100644 d1/da6/rungekutta_8cpp_a7b9f40c7b5e9749cc550f19be3dc8856_cgraph.md5 delete mode 100644 d1/da6/rungekutta_8cpp_a7b9f40c7b5e9749cc550f19be3dc8856_cgraph.svg delete mode 100644 d1/da6/rungekutta_8cpp_a7b9f40c7b5e9749cc550f19be3dc8856_cgraph_org.svg delete mode 100644 d1/da6/rungekutta_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d1/da6/rungekutta_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d1/da6/rungekutta_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d1/da6/rungekutta_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 d1/da6/rungekutta_8cpp_source.html delete mode 100644 d1/da7/armstrong__number__templated_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.map delete mode 100644 d1/da7/armstrong__number__templated_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 delete mode 100644 d1/da7/armstrong__number__templated_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.svg delete mode 100644 d1/da7/armstrong__number__templated_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph_org.svg delete mode 100644 d1/da7/armstrong__number__templated_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d1/da7/armstrong__number__templated_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d1/da7/armstrong__number__templated_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d1/da7/armstrong__number__templated_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 d1/da7/armstrong__number__templated_8cpp_source.html delete mode 100644 d1/daa/random__pivot__quick__sort_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.map delete mode 100644 d1/daa/random__pivot__quick__sort_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.md5 delete mode 100644 d1/daa/random__pivot__quick__sort_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.svg delete mode 100644 d1/daa/random__pivot__quick__sort_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph_org.svg delete mode 100644 d1/daa/random__pivot__quick__sort_8cpp_a3d1c39e1ff42c04fb8ec0c0b9411cd3e_cgraph.map delete mode 100644 d1/daa/random__pivot__quick__sort_8cpp_a3d1c39e1ff42c04fb8ec0c0b9411cd3e_cgraph.md5 delete mode 100644 d1/daa/random__pivot__quick__sort_8cpp_a3d1c39e1ff42c04fb8ec0c0b9411cd3e_cgraph.svg delete mode 100644 d1/daa/random__pivot__quick__sort_8cpp_a3d1c39e1ff42c04fb8ec0c0b9411cd3e_cgraph_org.svg delete mode 100644 d1/daa/random__pivot__quick__sort_8cpp_a40675d2eb960c71ca31ec475ba90120d_cgraph.map delete mode 100644 d1/daa/random__pivot__quick__sort_8cpp_a40675d2eb960c71ca31ec475ba90120d_cgraph.md5 delete mode 100644 d1/daa/random__pivot__quick__sort_8cpp_a40675d2eb960c71ca31ec475ba90120d_cgraph.svg delete mode 100644 d1/daa/random__pivot__quick__sort_8cpp_a40675d2eb960c71ca31ec475ba90120d_cgraph_org.svg delete mode 100644 d1/daa/random__pivot__quick__sort_8cpp_a7d2e7465e7b5d54c2de6d5e9db1ea6a5_cgraph.map delete mode 100644 d1/daa/random__pivot__quick__sort_8cpp_a7d2e7465e7b5d54c2de6d5e9db1ea6a5_cgraph.md5 delete mode 100644 d1/daa/random__pivot__quick__sort_8cpp_a7d2e7465e7b5d54c2de6d5e9db1ea6a5_cgraph.svg delete mode 100644 d1/daa/random__pivot__quick__sort_8cpp_a7d2e7465e7b5d54c2de6d5e9db1ea6a5_cgraph_org.svg delete mode 100644 d1/daa/random__pivot__quick__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map delete mode 100644 d1/daa/random__pivot__quick__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 delete mode 100644 d1/daa/random__pivot__quick__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg delete mode 100644 d1/daa/random__pivot__quick__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg delete mode 100644 d1/daa/random__pivot__quick__sort_8cpp_aac5657b4fe2251cd21073f44233f6ea5_cgraph.map delete mode 100644 d1/daa/random__pivot__quick__sort_8cpp_aac5657b4fe2251cd21073f44233f6ea5_cgraph.md5 delete mode 100644 d1/daa/random__pivot__quick__sort_8cpp_aac5657b4fe2251cd21073f44233f6ea5_cgraph.svg delete mode 100644 d1/daa/random__pivot__quick__sort_8cpp_aac5657b4fe2251cd21073f44233f6ea5_cgraph_org.svg delete mode 100644 d1/daa/random__pivot__quick__sort_8cpp_ac3281dc34a9cfd7beb332419b8a0aa10_cgraph.map delete mode 100644 d1/daa/random__pivot__quick__sort_8cpp_ac3281dc34a9cfd7beb332419b8a0aa10_cgraph.md5 delete mode 100644 d1/daa/random__pivot__quick__sort_8cpp_ac3281dc34a9cfd7beb332419b8a0aa10_cgraph.svg delete mode 100644 d1/daa/random__pivot__quick__sort_8cpp_ac3281dc34a9cfd7beb332419b8a0aa10_cgraph_org.svg create mode 100644 d1/daa/random__pivot__quick__sort_8cpp_source.html delete mode 100644 d1/dbb/n__choose__r_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.map delete mode 100644 d1/dbb/n__choose__r_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.md5 delete mode 100644 d1/dbb/n__choose__r_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.svg delete mode 100644 d1/dbb/n__choose__r_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph_org.svg delete mode 100644 d1/dbb/n__choose__r_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map delete mode 100644 d1/dbb/n__choose__r_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 delete mode 100644 d1/dbb/n__choose__r_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg delete mode 100644 d1/dbb/n__choose__r_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg create mode 100644 d1/dbb/n__choose__r_8cpp_source.html delete mode 100644 d1/dbe/lu__decomposition_8h_a3108d43bd32c6fb3b3c158476c51ba7f_cgraph.map delete mode 100644 d1/dbe/lu__decomposition_8h_a3108d43bd32c6fb3b3c158476c51ba7f_cgraph.md5 delete mode 100644 d1/dbe/lu__decomposition_8h_a3108d43bd32c6fb3b3c158476c51ba7f_cgraph.svg delete mode 100644 d1/dbe/lu__decomposition_8h_a3108d43bd32c6fb3b3c158476c51ba7f_cgraph_org.svg delete mode 100644 d1/dbe/lu__decomposition_8h_a75b8a228c6419ecda6077255d6d60509_cgraph.map delete mode 100644 d1/dbe/lu__decomposition_8h_a75b8a228c6419ecda6077255d6d60509_cgraph.md5 delete mode 100644 d1/dbe/lu__decomposition_8h_a75b8a228c6419ecda6077255d6d60509_cgraph.svg delete mode 100644 d1/dbe/lu__decomposition_8h_a75b8a228c6419ecda6077255d6d60509_cgraph_org.svg delete mode 100644 d1/dc2/classstack_a8bce109630118a34faae717f72986033_cgraph.map delete mode 100644 d1/dc2/classstack_a8bce109630118a34faae717f72986033_cgraph.md5 delete mode 100644 d1/dc2/classstack_a8bce109630118a34faae717f72986033_cgraph.svg delete mode 100644 d1/dc2/classstack_a8bce109630118a34faae717f72986033_cgraph_org.svg delete mode 100644 d1/dc2/classstack_a90df277532c23519aa7ac3c08ed90a1d_cgraph.map delete mode 100644 d1/dc2/classstack_a90df277532c23519aa7ac3c08ed90a1d_cgraph.md5 delete mode 100644 d1/dc2/classstack_a90df277532c23519aa7ac3c08ed90a1d_cgraph.svg delete mode 100644 d1/dc2/classstack_a90df277532c23519aa7ac3c08ed90a1d_cgraph_org.svg delete mode 100644 d1/dc7/linear__probing__hash__table_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d1/dc7/linear__probing__hash__table_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d1/dc7/linear__probing__hash__table_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d1/dc7/linear__probing__hash__table_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 d1/dc7/linear__probing__hash__table_8cpp_source.html delete mode 100644 d1/dcc/wiggle__sort_8cpp_a99eeded693ac073717282fae365957a1_cgraph.map delete mode 100644 d1/dcc/wiggle__sort_8cpp_a99eeded693ac073717282fae365957a1_cgraph.md5 delete mode 100644 d1/dcc/wiggle__sort_8cpp_a99eeded693ac073717282fae365957a1_cgraph.svg delete mode 100644 d1/dcc/wiggle__sort_8cpp_a99eeded693ac073717282fae365957a1_cgraph_org.svg create mode 100644 d1/dcc/wiggle__sort_8cpp_source.html delete mode 100644 d1/de0/namespacenumerical__methods_a158fd271b9a53e8f3f60b08b18857150_cgraph.map delete mode 100644 d1/de0/namespacenumerical__methods_a158fd271b9a53e8f3f60b08b18857150_cgraph.md5 delete mode 100644 d1/de0/namespacenumerical__methods_a158fd271b9a53e8f3f60b08b18857150_cgraph.svg delete mode 100644 d1/de0/namespacenumerical__methods_a158fd271b9a53e8f3f60b08b18857150_cgraph_org.svg delete mode 100644 d1/de0/namespacenumerical__methods_a28e67885f8606564cc8335f483f63309_cgraph.map delete mode 100644 d1/de0/namespacenumerical__methods_a28e67885f8606564cc8335f483f63309_cgraph.md5 delete mode 100644 d1/de0/namespacenumerical__methods_a28e67885f8606564cc8335f483f63309_cgraph.svg delete mode 100644 d1/de0/namespacenumerical__methods_a28e67885f8606564cc8335f483f63309_cgraph_org.svg delete mode 100644 d1/de0/namespacenumerical__methods_aee56dc85997b8cd42bad71a5d6bd2d93_cgraph.map delete mode 100644 d1/de0/namespacenumerical__methods_aee56dc85997b8cd42bad71a5d6bd2d93_cgraph.md5 delete mode 100644 d1/de0/namespacenumerical__methods_aee56dc85997b8cd42bad71a5d6bd2d93_cgraph.svg delete mode 100644 d1/de0/namespacenumerical__methods_aee56dc85997b8cd42bad71a5d6bd2d93_cgraph_org.svg delete mode 100644 d1/de9/integral__approximation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d1/de9/integral__approximation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d1/de9/integral__approximation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d1/de9/integral__approximation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 d1/de9/integral__approximation_8cpp_source.html delete mode 100644 d1/ded/windowed__median_8cpp_a6dc652a36ea42ba262c4e4236e3e6601_cgraph.map delete mode 100644 d1/ded/windowed__median_8cpp_a6dc652a36ea42ba262c4e4236e3e6601_cgraph.md5 delete mode 100644 d1/ded/windowed__median_8cpp_a6dc652a36ea42ba262c4e4236e3e6601_cgraph.svg delete mode 100644 d1/ded/windowed__median_8cpp_a6dc652a36ea42ba262c4e4236e3e6601_cgraph_org.svg delete mode 100644 d1/ded/windowed__median_8cpp_ac0f2228420376f4db7e1274f2b41667c_cgraph.map delete mode 100644 d1/ded/windowed__median_8cpp_ac0f2228420376f4db7e1274f2b41667c_cgraph.md5 delete mode 100644 d1/ded/windowed__median_8cpp_ac0f2228420376f4db7e1274f2b41667c_cgraph.svg delete mode 100644 d1/ded/windowed__median_8cpp_ac0f2228420376f4db7e1274f2b41667c_cgraph_org.svg create mode 100644 d1/ded/windowed__median_8cpp_source.html delete mode 100644 d1/def/classdata__structures_1_1linked__list_1_1list_a009b19ac8cca40f2e4daa2e5989fa4f3_cgraph.map delete mode 100644 d1/def/classdata__structures_1_1linked__list_1_1list_a009b19ac8cca40f2e4daa2e5989fa4f3_cgraph.md5 delete mode 100644 d1/def/classdata__structures_1_1linked__list_1_1list_a009b19ac8cca40f2e4daa2e5989fa4f3_cgraph.svg delete mode 100644 d1/def/classdata__structures_1_1linked__list_1_1list_a009b19ac8cca40f2e4daa2e5989fa4f3_cgraph_org.svg delete mode 100644 d1/def/classdata__structures_1_1linked__list_1_1list_a1313837c0e9ec67fd9fbd17987e2d615_cgraph.map delete mode 100644 d1/def/classdata__structures_1_1linked__list_1_1list_a1313837c0e9ec67fd9fbd17987e2d615_cgraph.md5 delete mode 100644 d1/def/classdata__structures_1_1linked__list_1_1list_a1313837c0e9ec67fd9fbd17987e2d615_cgraph.svg delete mode 100644 d1/def/classdata__structures_1_1linked__list_1_1list_a1313837c0e9ec67fd9fbd17987e2d615_cgraph_org.svg delete mode 100644 d1/def/classdata__structures_1_1linked__list_1_1list_a332b965afd9d6bea8d3246673acd52c7_cgraph.map delete mode 100644 d1/def/classdata__structures_1_1linked__list_1_1list_a332b965afd9d6bea8d3246673acd52c7_cgraph.md5 delete mode 100644 d1/def/classdata__structures_1_1linked__list_1_1list_a332b965afd9d6bea8d3246673acd52c7_cgraph.svg delete mode 100644 d1/def/classdata__structures_1_1linked__list_1_1list_a332b965afd9d6bea8d3246673acd52c7_cgraph_org.svg delete mode 100644 d1/def/classdata__structures_1_1linked__list_1_1list_a50e209b55b83622254177050945e7826_cgraph.map delete mode 100644 d1/def/classdata__structures_1_1linked__list_1_1list_a50e209b55b83622254177050945e7826_cgraph.md5 delete mode 100644 d1/def/classdata__structures_1_1linked__list_1_1list_a50e209b55b83622254177050945e7826_cgraph.svg delete mode 100644 d1/def/classdata__structures_1_1linked__list_1_1list_a50e209b55b83622254177050945e7826_cgraph_org.svg delete mode 100644 d1/def/classdata__structures_1_1linked__list_1_1list_a6e9859d1a0755fb51e41904d20c95496_cgraph.map delete mode 100644 d1/def/classdata__structures_1_1linked__list_1_1list_a6e9859d1a0755fb51e41904d20c95496_cgraph.md5 delete mode 100644 d1/def/classdata__structures_1_1linked__list_1_1list_a6e9859d1a0755fb51e41904d20c95496_cgraph.svg delete mode 100644 d1/def/classdata__structures_1_1linked__list_1_1list_a6e9859d1a0755fb51e41904d20c95496_cgraph_org.svg delete mode 100644 d1/def/classdata__structures_1_1linked__list_1_1list_a9785d1478e59f5a90288b2928a7094d6_cgraph.map delete mode 100644 d1/def/classdata__structures_1_1linked__list_1_1list_a9785d1478e59f5a90288b2928a7094d6_cgraph.md5 delete mode 100644 d1/def/classdata__structures_1_1linked__list_1_1list_a9785d1478e59f5a90288b2928a7094d6_cgraph.svg delete mode 100644 d1/def/classdata__structures_1_1linked__list_1_1list_a9785d1478e59f5a90288b2928a7094d6_cgraph_org.svg delete mode 100644 d1/def/classdata__structures_1_1linked__list_1_1list_aa69707af46eb6d410eb3a54ee58e1ed1_cgraph.map delete mode 100644 d1/def/classdata__structures_1_1linked__list_1_1list_aa69707af46eb6d410eb3a54ee58e1ed1_cgraph.md5 delete mode 100644 d1/def/classdata__structures_1_1linked__list_1_1list_aa69707af46eb6d410eb3a54ee58e1ed1_cgraph.svg delete mode 100644 d1/def/classdata__structures_1_1linked__list_1_1list_aa69707af46eb6d410eb3a54ee58e1ed1_cgraph_org.svg delete mode 100644 d1/def/classdata__structures_1_1linked__list_1_1list_ad3423f7518671351340932db3c24959a_cgraph.map delete mode 100644 d1/def/classdata__structures_1_1linked__list_1_1list_ad3423f7518671351340932db3c24959a_cgraph.md5 delete mode 100644 d1/def/classdata__structures_1_1linked__list_1_1list_ad3423f7518671351340932db3c24959a_cgraph.svg delete mode 100644 d1/def/classdata__structures_1_1linked__list_1_1list_ad3423f7518671351340932db3c24959a_cgraph_org.svg delete mode 100644 d1/def/classdata__structures_1_1linked__list_1_1list_adb04f732911fcfd30f7177b367c6af41_cgraph.map delete mode 100644 d1/def/classdata__structures_1_1linked__list_1_1list_adb04f732911fcfd30f7177b367c6af41_cgraph.md5 delete mode 100644 d1/def/classdata__structures_1_1linked__list_1_1list_adb04f732911fcfd30f7177b367c6af41_cgraph.svg delete mode 100644 d1/def/classdata__structures_1_1linked__list_1_1list_adb04f732911fcfd30f7177b367c6af41_cgraph_org.svg delete mode 100644 d1/df3/hash__search_8cpp_a36ea13c16028f18ef2d5ff47f3fda7a2_cgraph.map delete mode 100644 d1/df3/hash__search_8cpp_a36ea13c16028f18ef2d5ff47f3fda7a2_cgraph.md5 delete mode 100644 d1/df3/hash__search_8cpp_a36ea13c16028f18ef2d5ff47f3fda7a2_cgraph.svg delete mode 100644 d1/df3/hash__search_8cpp_a36ea13c16028f18ef2d5ff47f3fda7a2_cgraph_org.svg delete mode 100644 d1/df3/hash__search_8cpp_ad0831425f1389166a9518f422d0c6ec5_cgraph.map delete mode 100644 d1/df3/hash__search_8cpp_ad0831425f1389166a9518f422d0c6ec5_cgraph.md5 delete mode 100644 d1/df3/hash__search_8cpp_ad0831425f1389166a9518f422d0c6ec5_cgraph.svg delete mode 100644 d1/df3/hash__search_8cpp_ad0831425f1389166a9518f422d0c6ec5_cgraph_org.svg delete mode 100644 d1/df3/hash__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d1/df3/hash__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d1/df3/hash__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d1/df3/hash__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 d1/df3/hash__search_8cpp_source.html delete mode 100644 d2/d05/class_min_heap_a37ac126eabb0c3ce04047172abccca29_cgraph.map delete mode 100644 d2/d05/class_min_heap_a37ac126eabb0c3ce04047172abccca29_cgraph.md5 delete mode 100644 d2/d05/class_min_heap_a37ac126eabb0c3ce04047172abccca29_cgraph.svg delete mode 100644 d2/d05/class_min_heap_a37ac126eabb0c3ce04047172abccca29_cgraph_org.svg delete mode 100644 d2/d05/class_min_heap_a4014f1edaed0bd7db0c0d2ca53228980_cgraph.map delete mode 100644 d2/d05/class_min_heap_a4014f1edaed0bd7db0c0d2ca53228980_cgraph.md5 delete mode 100644 d2/d05/class_min_heap_a4014f1edaed0bd7db0c0d2ca53228980_cgraph.svg delete mode 100644 d2/d05/class_min_heap_a4014f1edaed0bd7db0c0d2ca53228980_cgraph_org.svg delete mode 100644 d2/d05/class_min_heap_aa7f726cc6327955d22871592227432f5_cgraph.map delete mode 100644 d2/d05/class_min_heap_aa7f726cc6327955d22871592227432f5_cgraph.md5 delete mode 100644 d2/d05/class_min_heap_aa7f726cc6327955d22871592227432f5_cgraph.svg delete mode 100644 d2/d05/class_min_heap_aa7f726cc6327955d22871592227432f5_cgraph_org.svg delete mode 100644 d2/d05/class_min_heap_aaef438c1056492cb62c4a4d9035b5cad_cgraph.map delete mode 100644 d2/d05/class_min_heap_aaef438c1056492cb62c4a4d9035b5cad_cgraph.md5 delete mode 100644 d2/d05/class_min_heap_aaef438c1056492cb62c4a4d9035b5cad_cgraph.svg delete mode 100644 d2/d05/class_min_heap_aaef438c1056492cb62c4a4d9035b5cad_cgraph_org.svg delete mode 100644 d2/d05/class_min_heap_aef78f3384f5a0ae880ad0883d2d44b82_cgraph.map delete mode 100644 d2/d05/class_min_heap_aef78f3384f5a0ae880ad0883d2d44b82_cgraph.md5 delete mode 100644 d2/d05/class_min_heap_aef78f3384f5a0ae880ad0883d2d44b82_cgraph.svg delete mode 100644 d2/d05/class_min_heap_aef78f3384f5a0ae880ad0883d2d44b82_cgraph_org.svg delete mode 100644 d2/d0b/fast__power_8cpp_a0d4e3f0099a6975b74a314a35bd0f94d_cgraph.map delete mode 100644 d2/d0b/fast__power_8cpp_a0d4e3f0099a6975b74a314a35bd0f94d_cgraph.md5 delete mode 100644 d2/d0b/fast__power_8cpp_a0d4e3f0099a6975b74a314a35bd0f94d_cgraph.svg delete mode 100644 d2/d0b/fast__power_8cpp_a0d4e3f0099a6975b74a314a35bd0f94d_cgraph_org.svg delete mode 100644 d2/d0b/fast__power_8cpp_a8399b847626e5bba983cab7c7918b445_cgraph.map delete mode 100644 d2/d0b/fast__power_8cpp_a8399b847626e5bba983cab7c7918b445_cgraph.md5 delete mode 100644 d2/d0b/fast__power_8cpp_a8399b847626e5bba983cab7c7918b445_cgraph.svg delete mode 100644 d2/d0b/fast__power_8cpp_a8399b847626e5bba983cab7c7918b445_cgraph_org.svg delete mode 100644 d2/d0b/fast__power_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d2/d0b/fast__power_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d2/d0b/fast__power_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d2/d0b/fast__power_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 d2/d0b/fast__power_8cpp_source.html delete mode 100644 d2/d21/gnome__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map delete mode 100644 d2/d21/gnome__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 delete mode 100644 d2/d21/gnome__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg delete mode 100644 d2/d21/gnome__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg delete mode 100644 d2/d21/gnome__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d2/d21/gnome__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d2/d21/gnome__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d2/d21/gnome__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 d2/d21/gnome__sort_8cpp_source.html delete mode 100644 d2/d22/jump__search_8cpp_ab49fd8f401bfc71f63b74711390cccf0_cgraph.map delete mode 100644 d2/d22/jump__search_8cpp_ab49fd8f401bfc71f63b74711390cccf0_cgraph.md5 delete mode 100644 d2/d22/jump__search_8cpp_ab49fd8f401bfc71f63b74711390cccf0_cgraph.svg delete mode 100644 d2/d22/jump__search_8cpp_ab49fd8f401bfc71f63b74711390cccf0_cgraph_org.svg create mode 100644 d2/d22/jump__search_8cpp_source.html delete mode 100644 d2/d26/count__inversions_8cpp_a3332498eabf6579ef059c0d0e9f4ec80_cgraph.map delete mode 100644 d2/d26/count__inversions_8cpp_a3332498eabf6579ef059c0d0e9f4ec80_cgraph.md5 delete mode 100644 d2/d26/count__inversions_8cpp_a3332498eabf6579ef059c0d0e9f4ec80_cgraph.svg delete mode 100644 d2/d26/count__inversions_8cpp_a3332498eabf6579ef059c0d0e9f4ec80_cgraph_org.svg delete mode 100644 d2/d26/count__inversions_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map delete mode 100644 d2/d26/count__inversions_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 delete mode 100644 d2/d26/count__inversions_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg delete mode 100644 d2/d26/count__inversions_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg delete mode 100644 d2/d26/count__inversions_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d2/d26/count__inversions_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d2/d26/count__inversions_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d2/d26/count__inversions_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg delete mode 100644 d2/d26/count__inversions_8cpp_ae97a486e14101c4822ea8dc47f0d1661_cgraph.map delete mode 100644 d2/d26/count__inversions_8cpp_ae97a486e14101c4822ea8dc47f0d1661_cgraph.md5 delete mode 100644 d2/d26/count__inversions_8cpp_ae97a486e14101c4822ea8dc47f0d1661_cgraph.svg delete mode 100644 d2/d26/count__inversions_8cpp_ae97a486e14101c4822ea8dc47f0d1661_cgraph_org.svg create mode 100644 d2/d26/count__inversions_8cpp_source.html delete mode 100644 d2/d2f/namespacegreedy__algorithms_1_1dijkstra_af915876d0ca33cc71a6a6191a8cd3ccd_cgraph.map delete mode 100644 d2/d2f/namespacegreedy__algorithms_1_1dijkstra_af915876d0ca33cc71a6a6191a8cd3ccd_cgraph.md5 delete mode 100644 d2/d2f/namespacegreedy__algorithms_1_1dijkstra_af915876d0ca33cc71a6a6191a8cd3ccd_cgraph.svg delete mode 100644 d2/d2f/namespacegreedy__algorithms_1_1dijkstra_af915876d0ca33cc71a6a6191a8cd3ccd_cgraph_org.svg delete mode 100644 d2/d3b/namespaceqr__algorithm_a257425cb2365359da51c6fe6741834d8_cgraph.map delete mode 100644 d2/d3b/namespaceqr__algorithm_a257425cb2365359da51c6fe6741834d8_cgraph.md5 delete mode 100644 d2/d3b/namespaceqr__algorithm_a257425cb2365359da51c6fe6741834d8_cgraph.svg delete mode 100644 d2/d3b/namespaceqr__algorithm_a257425cb2365359da51c6fe6741834d8_cgraph_org.svg delete mode 100644 d2/d3b/namespaceqr__algorithm_a28e2fa3e803abaea6c568dc45d69d8cc_cgraph.map delete mode 100644 d2/d3b/namespaceqr__algorithm_a28e2fa3e803abaea6c568dc45d69d8cc_cgraph.md5 delete mode 100644 d2/d3b/namespaceqr__algorithm_a28e2fa3e803abaea6c568dc45d69d8cc_cgraph.svg delete mode 100644 d2/d3b/namespaceqr__algorithm_a28e2fa3e803abaea6c568dc45d69d8cc_cgraph_org.svg delete mode 100644 d2/d3b/namespaceqr__algorithm_a6d3c7dce1f142141f509d09f6c0e25dc_cgraph.map delete mode 100644 d2/d3b/namespaceqr__algorithm_a6d3c7dce1f142141f509d09f6c0e25dc_cgraph.md5 delete mode 100644 d2/d3b/namespaceqr__algorithm_a6d3c7dce1f142141f509d09f6c0e25dc_cgraph.svg delete mode 100644 d2/d3b/namespaceqr__algorithm_a6d3c7dce1f142141f509d09f6c0e25dc_cgraph_org.svg delete mode 100644 d2/d3b/namespaceqr__algorithm_a73ce637634fc49e1d10d190eb388ebf1_cgraph.map delete mode 100644 d2/d3b/namespaceqr__algorithm_a73ce637634fc49e1d10d190eb388ebf1_cgraph.md5 delete mode 100644 d2/d3b/namespaceqr__algorithm_a73ce637634fc49e1d10d190eb388ebf1_cgraph.svg delete mode 100644 d2/d3b/namespaceqr__algorithm_a73ce637634fc49e1d10d190eb388ebf1_cgraph_org.svg delete mode 100644 d2/d3b/namespaceqr__algorithm_ad16da2183db22378435042f26af43d5f_cgraph.map delete mode 100644 d2/d3b/namespaceqr__algorithm_ad16da2183db22378435042f26af43d5f_cgraph.md5 delete mode 100644 d2/d3b/namespaceqr__algorithm_ad16da2183db22378435042f26af43d5f_cgraph.svg delete mode 100644 d2/d3b/namespaceqr__algorithm_ad16da2183db22378435042f26af43d5f_cgraph_org.svg delete mode 100644 d2/d3b/namespaceqr__algorithm_adfbdf47277c8cfee229b05b72f1f7834_cgraph.map delete mode 100644 d2/d3b/namespaceqr__algorithm_adfbdf47277c8cfee229b05b72f1f7834_cgraph.md5 delete mode 100644 d2/d3b/namespaceqr__algorithm_adfbdf47277c8cfee229b05b72f1f7834_cgraph.svg delete mode 100644 d2/d3b/namespaceqr__algorithm_adfbdf47277c8cfee229b05b72f1f7834_cgraph_org.svg delete mode 100644 d2/d45/segtree_8cpp_a423a97ea0c7ea6e33b5844a6858d902d_cgraph.map delete mode 100644 d2/d45/segtree_8cpp_a423a97ea0c7ea6e33b5844a6858d902d_cgraph.md5 delete mode 100644 d2/d45/segtree_8cpp_a423a97ea0c7ea6e33b5844a6858d902d_cgraph.svg delete mode 100644 d2/d45/segtree_8cpp_a423a97ea0c7ea6e33b5844a6858d902d_cgraph_org.svg delete mode 100644 d2/d45/segtree_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map delete mode 100644 d2/d45/segtree_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 delete mode 100644 d2/d45/segtree_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg delete mode 100644 d2/d45/segtree_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg delete mode 100644 d2/d45/segtree_8cpp_abd3e818681fb2e29cf08f4f60f82c8e0_cgraph.map delete mode 100644 d2/d45/segtree_8cpp_abd3e818681fb2e29cf08f4f60f82c8e0_cgraph.md5 delete mode 100644 d2/d45/segtree_8cpp_abd3e818681fb2e29cf08f4f60f82c8e0_cgraph.svg delete mode 100644 d2/d45/segtree_8cpp_abd3e818681fb2e29cf08f4f60f82c8e0_cgraph_org.svg delete mode 100644 d2/d45/segtree_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d2/d45/segtree_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d2/d45/segtree_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d2/d45/segtree_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg delete mode 100644 d2/d45/segtree_8cpp_ae752659b7c1719d68fdb2ca538a93696_cgraph.map delete mode 100644 d2/d45/segtree_8cpp_ae752659b7c1719d68fdb2ca538a93696_cgraph.md5 delete mode 100644 d2/d45/segtree_8cpp_ae752659b7c1719d68fdb2ca538a93696_cgraph.svg delete mode 100644 d2/d45/segtree_8cpp_ae752659b7c1719d68fdb2ca538a93696_cgraph_org.svg create mode 100644 d2/d45/segtree_8cpp_source.html create mode 100644 d2/d48/max__flow__with__ford__fulkerson__and__edmond__karp__algo_8cpp_source.html delete mode 100644 d2/d52/heap__sort_8cpp_ae1a3968e7947464bee7714f6d43b7002_cgraph.map delete mode 100644 d2/d52/heap__sort_8cpp_ae1a3968e7947464bee7714f6d43b7002_cgraph.md5 delete mode 100644 d2/d52/heap__sort_8cpp_ae1a3968e7947464bee7714f6d43b7002_cgraph.svg delete mode 100644 d2/d52/heap__sort_8cpp_ae1a3968e7947464bee7714f6d43b7002_cgraph_org.svg delete mode 100644 d2/d52/heap__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d2/d52/heap__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d2/d52/heap__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d2/d52/heap__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 d2/d52/heap__sort_8cpp_source.html delete mode 100644 d2/d58/neural__network_8cpp_a23aa9d32bcbcd65cfc85f0a41e2afadc_cgraph.map delete mode 100644 d2/d58/neural__network_8cpp_a23aa9d32bcbcd65cfc85f0a41e2afadc_cgraph.md5 delete mode 100644 d2/d58/neural__network_8cpp_a23aa9d32bcbcd65cfc85f0a41e2afadc_cgraph.svg delete mode 100644 d2/d58/neural__network_8cpp_a23aa9d32bcbcd65cfc85f0a41e2afadc_cgraph_org.svg delete mode 100644 d2/d58/neural__network_8cpp_a2a5e874b9774aa5362dbcf288828b95c_cgraph.map delete mode 100644 d2/d58/neural__network_8cpp_a2a5e874b9774aa5362dbcf288828b95c_cgraph.md5 delete mode 100644 d2/d58/neural__network_8cpp_a2a5e874b9774aa5362dbcf288828b95c_cgraph.svg delete mode 100644 d2/d58/neural__network_8cpp_a2a5e874b9774aa5362dbcf288828b95c_cgraph_org.svg delete mode 100644 d2/d58/neural__network_8cpp_a32c00da08f2cf641dd336270f6e3c407_cgraph.map delete mode 100644 d2/d58/neural__network_8cpp_a32c00da08f2cf641dd336270f6e3c407_cgraph.md5 delete mode 100644 d2/d58/neural__network_8cpp_a32c00da08f2cf641dd336270f6e3c407_cgraph.svg delete mode 100644 d2/d58/neural__network_8cpp_a32c00da08f2cf641dd336270f6e3c407_cgraph_org.svg delete mode 100644 d2/d58/neural__network_8cpp_a371aa7dd5d5add0143d1756bb0a1b32f_cgraph.map delete mode 100644 d2/d58/neural__network_8cpp_a371aa7dd5d5add0143d1756bb0a1b32f_cgraph.md5 delete mode 100644 d2/d58/neural__network_8cpp_a371aa7dd5d5add0143d1756bb0a1b32f_cgraph.svg delete mode 100644 d2/d58/neural__network_8cpp_a371aa7dd5d5add0143d1756bb0a1b32f_cgraph_org.svg delete mode 100644 d2/d58/neural__network_8cpp_a45d3e30406712ada3d9713ece3c1b153_cgraph.map delete mode 100644 d2/d58/neural__network_8cpp_a45d3e30406712ada3d9713ece3c1b153_cgraph.md5 delete mode 100644 d2/d58/neural__network_8cpp_a45d3e30406712ada3d9713ece3c1b153_cgraph.svg delete mode 100644 d2/d58/neural__network_8cpp_a45d3e30406712ada3d9713ece3c1b153_cgraph_org.svg delete mode 100644 d2/d58/neural__network_8cpp_a76eb66212d577f948a457b6e29d87c46_cgraph.map delete mode 100644 d2/d58/neural__network_8cpp_a76eb66212d577f948a457b6e29d87c46_cgraph.md5 delete mode 100644 d2/d58/neural__network_8cpp_a76eb66212d577f948a457b6e29d87c46_cgraph.svg delete mode 100644 d2/d58/neural__network_8cpp_a76eb66212d577f948a457b6e29d87c46_cgraph_org.svg delete mode 100644 d2/d58/neural__network_8cpp_aa69e95a34054d7989bf446f96b2ffaf9_cgraph.map delete mode 100644 d2/d58/neural__network_8cpp_aa69e95a34054d7989bf446f96b2ffaf9_cgraph.md5 delete mode 100644 d2/d58/neural__network_8cpp_aa69e95a34054d7989bf446f96b2ffaf9_cgraph.svg delete mode 100644 d2/d58/neural__network_8cpp_aa69e95a34054d7989bf446f96b2ffaf9_cgraph_org.svg delete mode 100644 d2/d58/neural__network_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map delete mode 100644 d2/d58/neural__network_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 delete mode 100644 d2/d58/neural__network_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg delete mode 100644 d2/d58/neural__network_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg delete mode 100644 d2/d58/neural__network_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d2/d58/neural__network_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d2/d58/neural__network_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d2/d58/neural__network_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg delete mode 100644 d2/d58/neural__network_8cpp_af8f264600754602b6a9ea19cc690e50e_cgraph.map delete mode 100644 d2/d58/neural__network_8cpp_af8f264600754602b6a9ea19cc690e50e_cgraph.md5 delete mode 100644 d2/d58/neural__network_8cpp_af8f264600754602b6a9ea19cc690e50e_cgraph.svg delete mode 100644 d2/d58/neural__network_8cpp_af8f264600754602b6a9ea19cc690e50e_cgraph_org.svg create mode 100644 d2/d58/neural__network_8cpp_source.html delete mode 100644 d2/d5a/subset__sum_8cpp_a7cb50d36a59427a33f64a266dac83d99_cgraph.map delete mode 100644 d2/d5a/subset__sum_8cpp_a7cb50d36a59427a33f64a266dac83d99_cgraph.md5 delete mode 100644 d2/d5a/subset__sum_8cpp_a7cb50d36a59427a33f64a266dac83d99_cgraph.svg delete mode 100644 d2/d5a/subset__sum_8cpp_a7cb50d36a59427a33f64a266dac83d99_cgraph_org.svg delete mode 100644 d2/d5a/subset__sum_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map delete mode 100644 d2/d5a/subset__sum_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 delete mode 100644 d2/d5a/subset__sum_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg delete mode 100644 d2/d5a/subset__sum_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg delete mode 100644 d2/d5a/subset__sum_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d2/d5a/subset__sum_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d2/d5a/subset__sum_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d2/d5a/subset__sum_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 d2/d5a/subset__sum_8cpp_source.html create mode 100644 d2/d64/prims__minimum__spanning__tree_8cpp_source.html create mode 100644 d2/d7d/egg__dropping__puzzle_8cpp_source.html delete mode 100644 d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d_a0579062b384e54b611b80c6337c7f2c8_cgraph.map delete mode 100644 d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d_a0579062b384e54b611b80c6337c7f2c8_cgraph.md5 delete mode 100644 d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d_a0579062b384e54b611b80c6337c7f2c8_cgraph.svg delete mode 100644 d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d_a0579062b384e54b611b80c6337c7f2c8_cgraph_org.svg delete mode 100644 d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d_a2dfbda148aad0bfaba2ebfda9ebc915a_cgraph.map delete mode 100644 d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d_a2dfbda148aad0bfaba2ebfda9ebc915a_cgraph.md5 delete mode 100644 d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d_a2dfbda148aad0bfaba2ebfda9ebc915a_cgraph.svg delete mode 100644 d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d_a2dfbda148aad0bfaba2ebfda9ebc915a_cgraph_org.svg delete mode 100644 d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d_a4dfbf5d9df825eeb63b294c6849bdcab_cgraph.map delete mode 100644 d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d_a4dfbf5d9df825eeb63b294c6849bdcab_cgraph.md5 delete mode 100644 d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d_a4dfbf5d9df825eeb63b294c6849bdcab_cgraph.svg delete mode 100644 d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d_a4dfbf5d9df825eeb63b294c6849bdcab_cgraph_org.svg delete mode 100644 d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d_a7d5b40c076347a6aabfb37a0590f2f24_cgraph.map delete mode 100644 d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d_a7d5b40c076347a6aabfb37a0590f2f24_cgraph.md5 delete mode 100644 d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d_a7d5b40c076347a6aabfb37a0590f2f24_cgraph.svg delete mode 100644 d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d_a7d5b40c076347a6aabfb37a0590f2f24_cgraph_org.svg delete mode 100644 d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d_a9f1cb54ed09fde931bf3220d75ee4c57_cgraph.map delete mode 100644 d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d_a9f1cb54ed09fde931bf3220d75ee4c57_cgraph.md5 delete mode 100644 d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d_a9f1cb54ed09fde931bf3220d75ee4c57_cgraph.svg delete mode 100644 d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d_a9f1cb54ed09fde931bf3220d75ee4c57_cgraph_org.svg delete mode 100644 d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d_ae9e979edd69678b85665c01e2ee97828_cgraph.map delete mode 100644 d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d_ae9e979edd69678b85665c01e2ee97828_cgraph.md5 delete mode 100644 d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d_ae9e979edd69678b85665c01e2ee97828_cgraph.svg delete mode 100644 d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d_ae9e979edd69678b85665c01e2ee97828_cgraph_org.svg delete mode 100644 d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d_af64848d6630c39d0f09ce2359cc7c4f8_cgraph.map delete mode 100644 d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d_af64848d6630c39d0f09ce2359cc7c4f8_cgraph.md5 delete mode 100644 d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d_af64848d6630c39d0f09ce2359cc7c4f8_cgraph.svg delete mode 100644 d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d_af64848d6630c39d0f09ce2359cc7c4f8_cgraph_org.svg delete mode 100644 d2/d90/namespacegreedy__algorithms_a33e3819aa9ffec0e380383c52603b502_cgraph.map delete mode 100644 d2/d90/namespacegreedy__algorithms_a33e3819aa9ffec0e380383c52603b502_cgraph.md5 delete mode 100644 d2/d90/namespacegreedy__algorithms_a33e3819aa9ffec0e380383c52603b502_cgraph.svg delete mode 100644 d2/d90/namespacegreedy__algorithms_a33e3819aa9ffec0e380383c52603b502_cgraph_org.svg create mode 100644 d2/d96/sparse__table__range__queries_8cpp_source.html create mode 100644 d2/da2/matrix__chain__multiplication_8cpp_source.html delete mode 100644 d2/dc8/classdata__structures_1_1_stack_a2ac469fcc2229d273450e429139d90e6_cgraph.map delete mode 100644 d2/dc8/classdata__structures_1_1_stack_a2ac469fcc2229d273450e429139d90e6_cgraph.md5 delete mode 100644 d2/dc8/classdata__structures_1_1_stack_a2ac469fcc2229d273450e429139d90e6_cgraph.svg delete mode 100644 d2/dc8/classdata__structures_1_1_stack_a2ac469fcc2229d273450e429139d90e6_cgraph_org.svg delete mode 100644 d2/dc8/classdata__structures_1_1_stack_a61dc70e128ee64c9684f03a4c04818b0_cgraph.map delete mode 100644 d2/dc8/classdata__structures_1_1_stack_a61dc70e128ee64c9684f03a4c04818b0_cgraph.md5 delete mode 100644 d2/dc8/classdata__structures_1_1_stack_a61dc70e128ee64c9684f03a4c04818b0_cgraph.svg delete mode 100644 d2/dc8/classdata__structures_1_1_stack_a61dc70e128ee64c9684f03a4c04818b0_cgraph_org.svg delete mode 100644 d2/dc8/classdata__structures_1_1_stack_aa9f9b087e9e7c00628e1289f0f1de3b2_cgraph.map delete mode 100644 d2/dc8/classdata__structures_1_1_stack_aa9f9b087e9e7c00628e1289f0f1de3b2_cgraph.md5 delete mode 100644 d2/dc8/classdata__structures_1_1_stack_aa9f9b087e9e7c00628e1289f0f1de3b2_cgraph.svg delete mode 100644 d2/dc8/classdata__structures_1_1_stack_aa9f9b087e9e7c00628e1289f0f1de3b2_cgraph_org.svg delete mode 100644 d2/dc8/classdata__structures_1_1_stack_ac46842bdd9c655d84f865fa3a03da19b_cgraph.map delete mode 100644 d2/dc8/classdata__structures_1_1_stack_ac46842bdd9c655d84f865fa3a03da19b_cgraph.md5 delete mode 100644 d2/dc8/classdata__structures_1_1_stack_ac46842bdd9c655d84f865fa3a03da19b_cgraph.svg delete mode 100644 d2/dc8/classdata__structures_1_1_stack_ac46842bdd9c655d84f865fa3a03da19b_cgraph_org.svg delete mode 100644 d2/de9/heavy__light__decomposition_8cpp_a34b8683a2b429de5cce57e6d733ec817_cgraph.map delete mode 100644 d2/de9/heavy__light__decomposition_8cpp_a34b8683a2b429de5cce57e6d733ec817_cgraph.md5 delete mode 100644 d2/de9/heavy__light__decomposition_8cpp_a34b8683a2b429de5cce57e6d733ec817_cgraph.svg delete mode 100644 d2/de9/heavy__light__decomposition_8cpp_a34b8683a2b429de5cce57e6d733ec817_cgraph_org.svg delete mode 100644 d2/de9/heavy__light__decomposition_8cpp_a458410412185a5f09199deaff7157a8d_cgraph.map delete mode 100644 d2/de9/heavy__light__decomposition_8cpp_a458410412185a5f09199deaff7157a8d_cgraph.md5 delete mode 100644 d2/de9/heavy__light__decomposition_8cpp_a458410412185a5f09199deaff7157a8d_cgraph.svg delete mode 100644 d2/de9/heavy__light__decomposition_8cpp_a458410412185a5f09199deaff7157a8d_cgraph_org.svg delete mode 100644 d2/de9/heavy__light__decomposition_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d2/de9/heavy__light__decomposition_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d2/de9/heavy__light__decomposition_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d2/de9/heavy__light__decomposition_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg delete mode 100644 d2/de9/heavy__light__decomposition_8cpp_af31ec5409537703d9c8a47350386b32a_cgraph.map delete mode 100644 d2/de9/heavy__light__decomposition_8cpp_af31ec5409537703d9c8a47350386b32a_cgraph.md5 delete mode 100644 d2/de9/heavy__light__decomposition_8cpp_af31ec5409537703d9c8a47350386b32a_cgraph.svg delete mode 100644 d2/de9/heavy__light__decomposition_8cpp_af31ec5409537703d9c8a47350386b32a_cgraph_org.svg create mode 100644 d2/de9/heavy__light__decomposition_8cpp_source.html delete mode 100644 d3/d05/sudoku__solver_8cpp_a07dc6acffd0500de9bdbf16b3ade94b0_cgraph.map delete mode 100644 d3/d05/sudoku__solver_8cpp_a07dc6acffd0500de9bdbf16b3ade94b0_cgraph.md5 delete mode 100644 d3/d05/sudoku__solver_8cpp_a07dc6acffd0500de9bdbf16b3ade94b0_cgraph.svg delete mode 100644 d3/d05/sudoku__solver_8cpp_a07dc6acffd0500de9bdbf16b3ade94b0_cgraph_org.svg delete mode 100644 d3/d05/sudoku__solver_8cpp_ab040a12d7684cd85fb3684f4211ea5ac_cgraph.map delete mode 100644 d3/d05/sudoku__solver_8cpp_ab040a12d7684cd85fb3684f4211ea5ac_cgraph.md5 delete mode 100644 d3/d05/sudoku__solver_8cpp_ab040a12d7684cd85fb3684f4211ea5ac_cgraph.svg delete mode 100644 d3/d05/sudoku__solver_8cpp_ab040a12d7684cd85fb3684f4211ea5ac_cgraph_org.svg delete mode 100644 d3/d05/sudoku__solver_8cpp_ac911c8bca8556206ff64461b2424866b_cgraph.map delete mode 100644 d3/d05/sudoku__solver_8cpp_ac911c8bca8556206ff64461b2424866b_cgraph.md5 delete mode 100644 d3/d05/sudoku__solver_8cpp_ac911c8bca8556206ff64461b2424866b_cgraph.svg delete mode 100644 d3/d05/sudoku__solver_8cpp_ac911c8bca8556206ff64461b2424866b_cgraph_org.svg delete mode 100644 d3/d05/sudoku__solver_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d3/d05/sudoku__solver_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d3/d05/sudoku__solver_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d3/d05/sudoku__solver_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 d3/d05/sudoku__solver_8cpp_source.html delete mode 100644 d3/d06/ode__semi__implicit__euler_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.map delete mode 100644 d3/d06/ode__semi__implicit__euler_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.md5 delete mode 100644 d3/d06/ode__semi__implicit__euler_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.svg delete mode 100644 d3/d06/ode__semi__implicit__euler_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph_org.svg delete mode 100644 d3/d06/ode__semi__implicit__euler_8cpp_aa13517b8e5de1b75592052db7f7e237f_cgraph.map delete mode 100644 d3/d06/ode__semi__implicit__euler_8cpp_aa13517b8e5de1b75592052db7f7e237f_cgraph.md5 delete mode 100644 d3/d06/ode__semi__implicit__euler_8cpp_aa13517b8e5de1b75592052db7f7e237f_cgraph.svg delete mode 100644 d3/d06/ode__semi__implicit__euler_8cpp_aa13517b8e5de1b75592052db7f7e237f_cgraph_org.svg delete mode 100644 d3/d06/ode__semi__implicit__euler_8cpp_af3adf7b092a87868917ee5fb4255192b_cgraph.map delete mode 100644 d3/d06/ode__semi__implicit__euler_8cpp_af3adf7b092a87868917ee5fb4255192b_cgraph.md5 delete mode 100644 d3/d06/ode__semi__implicit__euler_8cpp_af3adf7b092a87868917ee5fb4255192b_cgraph.svg delete mode 100644 d3/d06/ode__semi__implicit__euler_8cpp_af3adf7b092a87868917ee5fb4255192b_cgraph_org.svg create mode 100644 d3/d06/ode__semi__implicit__euler_8cpp_source.html create mode 100644 d3/d19/sparse__matrix_8cpp_source.html delete mode 100644 d3/d22/quick__sort__iterative_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph.map delete mode 100644 d3/d22/quick__sort__iterative_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph.md5 delete mode 100644 d3/d22/quick__sort__iterative_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph.svg delete mode 100644 d3/d22/quick__sort__iterative_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph_org.svg delete mode 100644 d3/d22/quick__sort__iterative_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d3/d22/quick__sort__iterative_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d3/d22/quick__sort__iterative_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d3/d22/quick__sort__iterative_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 d3/d22/quick__sort__iterative_8cpp_source.html delete mode 100644 d3/d22/saddleback__search_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map delete mode 100644 d3/d22/saddleback__search_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 delete mode 100644 d3/d22/saddleback__search_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg delete mode 100644 d3/d22/saddleback__search_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg delete mode 100644 d3/d22/saddleback__search_8cpp_ad1e0ca34797d88490747c08eca70a2e6_cgraph.map delete mode 100644 d3/d22/saddleback__search_8cpp_ad1e0ca34797d88490747c08eca70a2e6_cgraph.md5 delete mode 100644 d3/d22/saddleback__search_8cpp_ad1e0ca34797d88490747c08eca70a2e6_cgraph.svg delete mode 100644 d3/d22/saddleback__search_8cpp_ad1e0ca34797d88490747c08eca70a2e6_cgraph_org.svg delete mode 100644 d3/d22/saddleback__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d3/d22/saddleback__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d3/d22/saddleback__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d3/d22/saddleback__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 d3/d22/saddleback__search_8cpp_source.html delete mode 100644 d3/d24/qr__decomposition_8cpp_a840291bc02cba5474a4cb46a9b9566fe_cgraph.map delete mode 100644 d3/d24/qr__decomposition_8cpp_a840291bc02cba5474a4cb46a9b9566fe_cgraph.md5 delete mode 100644 d3/d24/qr__decomposition_8cpp_a840291bc02cba5474a4cb46a9b9566fe_cgraph.svg delete mode 100644 d3/d24/qr__decomposition_8cpp_a840291bc02cba5474a4cb46a9b9566fe_cgraph_org.svg create mode 100644 d3/d24/qr__decomposition_8cpp_source.html create mode 100644 d3/d26/binary__search__tree_8cpp_source.html delete mode 100644 d3/d26/classdata__structures_1_1trie__using__hashmap_1_1_trie_a7bbe538c8015e8ce158e7ed43f605ebd_cgraph.map delete mode 100644 d3/d26/classdata__structures_1_1trie__using__hashmap_1_1_trie_a7bbe538c8015e8ce158e7ed43f605ebd_cgraph.md5 delete mode 100644 d3/d26/classdata__structures_1_1trie__using__hashmap_1_1_trie_a7bbe538c8015e8ce158e7ed43f605ebd_cgraph.svg delete mode 100644 d3/d26/classdata__structures_1_1trie__using__hashmap_1_1_trie_a7bbe538c8015e8ce158e7ed43f605ebd_cgraph_org.svg delete mode 100644 d3/d26/classdata__structures_1_1trie__using__hashmap_1_1_trie_abcae0a4456e7f583ce716e3ef466dfd2_cgraph.map delete mode 100644 d3/d26/classdata__structures_1_1trie__using__hashmap_1_1_trie_abcae0a4456e7f583ce716e3ef466dfd2_cgraph.md5 delete mode 100644 d3/d26/classdata__structures_1_1trie__using__hashmap_1_1_trie_abcae0a4456e7f583ce716e3ef466dfd2_cgraph.svg delete mode 100644 d3/d26/classdata__structures_1_1trie__using__hashmap_1_1_trie_abcae0a4456e7f583ce716e3ef466dfd2_cgraph_org.svg delete mode 100644 d3/d26/classdata__structures_1_1trie__using__hashmap_1_1_trie_ac0bf3d6791cba144b3f539835d835e75_cgraph.map delete mode 100644 d3/d26/classdata__structures_1_1trie__using__hashmap_1_1_trie_ac0bf3d6791cba144b3f539835d835e75_cgraph.md5 delete mode 100644 d3/d26/classdata__structures_1_1trie__using__hashmap_1_1_trie_ac0bf3d6791cba144b3f539835d835e75_cgraph.svg delete mode 100644 d3/d26/classdata__structures_1_1trie__using__hashmap_1_1_trie_ac0bf3d6791cba144b3f539835d835e75_cgraph_org.svg delete mode 100644 d3/d26/classdata__structures_1_1trie__using__hashmap_1_1_trie_ae15fdc7f2b5023992d87a711d78566c4_cgraph.map delete mode 100644 d3/d26/classdata__structures_1_1trie__using__hashmap_1_1_trie_ae15fdc7f2b5023992d87a711d78566c4_cgraph.md5 delete mode 100644 d3/d26/classdata__structures_1_1trie__using__hashmap_1_1_trie_ae15fdc7f2b5023992d87a711d78566c4_cgraph.svg delete mode 100644 d3/d26/classdata__structures_1_1trie__using__hashmap_1_1_trie_ae15fdc7f2b5023992d87a711d78566c4_cgraph_org.svg delete mode 100644 d3/d36/digit__separation_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.map delete mode 100644 d3/d36/digit__separation_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 delete mode 100644 d3/d36/digit__separation_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.svg delete mode 100644 d3/d36/digit__separation_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph_org.svg delete mode 100644 d3/d36/digit__separation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d3/d36/digit__separation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d3/d36/digit__separation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d3/d36/digit__separation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 d3/d36/digit__separation_8cpp_source.html delete mode 100644 d3/d39/manacher__algorithm_8cpp_a95e6a2976bb2f332898f373941d52098_cgraph.map delete mode 100644 d3/d39/manacher__algorithm_8cpp_a95e6a2976bb2f332898f373941d52098_cgraph.md5 delete mode 100644 d3/d39/manacher__algorithm_8cpp_a95e6a2976bb2f332898f373941d52098_cgraph.svg delete mode 100644 d3/d39/manacher__algorithm_8cpp_a95e6a2976bb2f332898f373941d52098_cgraph_org.svg delete mode 100644 d3/d39/manacher__algorithm_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map delete mode 100644 d3/d39/manacher__algorithm_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 delete mode 100644 d3/d39/manacher__algorithm_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg delete mode 100644 d3/d39/manacher__algorithm_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg delete mode 100644 d3/d39/manacher__algorithm_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d3/d39/manacher__algorithm_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d3/d39/manacher__algorithm_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d3/d39/manacher__algorithm_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 d3/d39/manacher__algorithm_8cpp_source.html delete mode 100644 d3/d40/graph__coloring_8cpp_a40337efc5dad761096489bf2c5b1c80c_cgraph.map delete mode 100644 d3/d40/graph__coloring_8cpp_a40337efc5dad761096489bf2c5b1c80c_cgraph.md5 delete mode 100644 d3/d40/graph__coloring_8cpp_a40337efc5dad761096489bf2c5b1c80c_cgraph.svg delete mode 100644 d3/d40/graph__coloring_8cpp_a40337efc5dad761096489bf2c5b1c80c_cgraph_org.svg delete mode 100644 d3/d40/graph__coloring_8cpp_a8c47fa37fb6eeeb781b2ec1b05af6b07_cgraph.map delete mode 100644 d3/d40/graph__coloring_8cpp_a8c47fa37fb6eeeb781b2ec1b05af6b07_cgraph.md5 delete mode 100644 d3/d40/graph__coloring_8cpp_a8c47fa37fb6eeeb781b2ec1b05af6b07_cgraph.svg delete mode 100644 d3/d40/graph__coloring_8cpp_a8c47fa37fb6eeeb781b2ec1b05af6b07_cgraph_org.svg delete mode 100644 d3/d40/graph__coloring_8cpp_a976efe049deb042bf1f02612e181ab1d_cgraph.map delete mode 100644 d3/d40/graph__coloring_8cpp_a976efe049deb042bf1f02612e181ab1d_cgraph.md5 delete mode 100644 d3/d40/graph__coloring_8cpp_a976efe049deb042bf1f02612e181ab1d_cgraph.svg delete mode 100644 d3/d40/graph__coloring_8cpp_a976efe049deb042bf1f02612e181ab1d_cgraph_org.svg create mode 100644 d3/d40/graph__coloring_8cpp_source.html delete mode 100644 d3/d4c/quick__sort__3_8cpp_a07e5c62de28aeddea986890ce7ac1bda_cgraph.map delete mode 100644 d3/d4c/quick__sort__3_8cpp_a07e5c62de28aeddea986890ce7ac1bda_cgraph.md5 delete mode 100644 d3/d4c/quick__sort__3_8cpp_a07e5c62de28aeddea986890ce7ac1bda_cgraph.svg delete mode 100644 d3/d4c/quick__sort__3_8cpp_a07e5c62de28aeddea986890ce7ac1bda_cgraph_org.svg delete mode 100644 d3/d4c/quick__sort__3_8cpp_a2635b04ad943fa28b7bbf8d1e6479792_cgraph.map delete mode 100644 d3/d4c/quick__sort__3_8cpp_a2635b04ad943fa28b7bbf8d1e6479792_cgraph.md5 delete mode 100644 d3/d4c/quick__sort__3_8cpp_a2635b04ad943fa28b7bbf8d1e6479792_cgraph.svg delete mode 100644 d3/d4c/quick__sort__3_8cpp_a2635b04ad943fa28b7bbf8d1e6479792_cgraph_org.svg delete mode 100644 d3/d4c/quick__sort__3_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d3/d4c/quick__sort__3_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d3/d4c/quick__sort__3_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d3/d4c/quick__sort__3_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 d3/d4c/quick__sort__3_8cpp_source.html delete mode 100644 d3/d4c/xor__cipher_8cpp_ae1a3968e7947464bee7714f6d43b7002_cgraph.map delete mode 100644 d3/d4c/xor__cipher_8cpp_ae1a3968e7947464bee7714f6d43b7002_cgraph.md5 delete mode 100644 d3/d4c/xor__cipher_8cpp_ae1a3968e7947464bee7714f6d43b7002_cgraph.svg delete mode 100644 d3/d4c/xor__cipher_8cpp_ae1a3968e7947464bee7714f6d43b7002_cgraph_org.svg delete mode 100644 d3/d4c/xor__cipher_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d3/d4c/xor__cipher_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d3/d4c/xor__cipher_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d3/d4c/xor__cipher_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 d3/d4c/xor__cipher_8cpp_source.html create mode 100644 d3/d53/mo_8cpp_source.html delete mode 100644 d3/d61/vector__important__functions_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d3/d61/vector__important__functions_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d3/d61/vector__important__functions_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d3/d61/vector__important__functions_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 d3/d61/vector__important__functions_8cpp_source.html delete mode 100644 d3/d7d/brute__force__string__searching_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d3/d7d/brute__force__string__searching_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d3/d7d/brute__force__string__searching_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d3/d7d/brute__force__string__searching_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 d3/d7d/brute__force__string__searching_8cpp_source.html delete mode 100644 d3/d80/z__function_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map delete mode 100644 d3/d80/z__function_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 delete mode 100644 d3/d80/z__function_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg delete mode 100644 d3/d80/z__function_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg delete mode 100644 d3/d80/z__function_8cpp_ac044c4794349a8cff6256b99950d5773_cgraph.map delete mode 100644 d3/d80/z__function_8cpp_ac044c4794349a8cff6256b99950d5773_cgraph.md5 delete mode 100644 d3/d80/z__function_8cpp_ac044c4794349a8cff6256b99950d5773_cgraph.svg delete mode 100644 d3/d80/z__function_8cpp_ac044c4794349a8cff6256b99950d5773_cgraph_org.svg delete mode 100644 d3/d80/z__function_8cpp_ac186ca3ac3a69b5e52543bb13fe46db8_cgraph.map delete mode 100644 d3/d80/z__function_8cpp_ac186ca3ac3a69b5e52543bb13fe46db8_cgraph.md5 delete mode 100644 d3/d80/z__function_8cpp_ac186ca3ac3a69b5e52543bb13fe46db8_cgraph.svg delete mode 100644 d3/d80/z__function_8cpp_ac186ca3ac3a69b5e52543bb13fe46db8_cgraph_org.svg delete mode 100644 d3/d80/z__function_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d3/d80/z__function_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d3/d80/z__function_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d3/d80/z__function_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 d3/d80/z__function_8cpp_source.html delete mode 100644 d3/d84/word__break_8cpp_a1cc9dd6e6190d10a010fdcdfe7a21a81_cgraph.map delete mode 100644 d3/d84/word__break_8cpp_a1cc9dd6e6190d10a010fdcdfe7a21a81_cgraph.md5 delete mode 100644 d3/d84/word__break_8cpp_a1cc9dd6e6190d10a010fdcdfe7a21a81_cgraph.svg delete mode 100644 d3/d84/word__break_8cpp_a1cc9dd6e6190d10a010fdcdfe7a21a81_cgraph_org.svg delete mode 100644 d3/d84/word__break_8cpp_a272b0f5cdb4e41fd6dee4538b808c06a_cgraph.map delete mode 100644 d3/d84/word__break_8cpp_a272b0f5cdb4e41fd6dee4538b808c06a_cgraph.md5 delete mode 100644 d3/d84/word__break_8cpp_a272b0f5cdb4e41fd6dee4538b808c06a_cgraph.svg delete mode 100644 d3/d84/word__break_8cpp_a272b0f5cdb4e41fd6dee4538b808c06a_cgraph_org.svg delete mode 100644 d3/d84/word__break_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map delete mode 100644 d3/d84/word__break_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 delete mode 100644 d3/d84/word__break_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg delete mode 100644 d3/d84/word__break_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg delete mode 100644 d3/d84/word__break_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d3/d84/word__break_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d3/d84/word__break_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d3/d84/word__break_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg delete mode 100644 d3/d84/word__break_8cpp_afe4dcd6fd5282e535685361cba645d7c_cgraph.map delete mode 100644 d3/d84/word__break_8cpp_afe4dcd6fd5282e535685361cba645d7c_cgraph.md5 delete mode 100644 d3/d84/word__break_8cpp_afe4dcd6fd5282e535685361cba645d7c_cgraph.svg delete mode 100644 d3/d84/word__break_8cpp_afe4dcd6fd5282e535685361cba645d7c_cgraph_org.svg create mode 100644 d3/d84/word__break_8cpp_source.html delete mode 100644 d3/d92/pancake__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map delete mode 100644 d3/d92/pancake__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 delete mode 100644 d3/d92/pancake__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg delete mode 100644 d3/d92/pancake__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg delete mode 100644 d3/d92/pancake__sort_8cpp_abff90bc0f54e4f8ea5f0330471781bd5_cgraph.map delete mode 100644 d3/d92/pancake__sort_8cpp_abff90bc0f54e4f8ea5f0330471781bd5_cgraph.md5 delete mode 100644 d3/d92/pancake__sort_8cpp_abff90bc0f54e4f8ea5f0330471781bd5_cgraph.svg delete mode 100644 d3/d92/pancake__sort_8cpp_abff90bc0f54e4f8ea5f0330471781bd5_cgraph_org.svg delete mode 100644 d3/d92/pancake__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d3/d92/pancake__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d3/d92/pancake__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d3/d92/pancake__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 d3/d92/pancake__sort_8cpp_source.html delete mode 100644 d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a02df91964915ca97609d35f847faff5f_cgraph.map delete mode 100644 d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a02df91964915ca97609d35f847faff5f_cgraph.md5 delete mode 100644 d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a02df91964915ca97609d35f847faff5f_cgraph.svg delete mode 100644 d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a02df91964915ca97609d35f847faff5f_cgraph_org.svg delete mode 100644 d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a07811b3c564a3a443b106c9aa717629d_cgraph.map delete mode 100644 d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a07811b3c564a3a443b106c9aa717629d_cgraph.md5 delete mode 100644 d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a07811b3c564a3a443b106c9aa717629d_cgraph.svg delete mode 100644 d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a07811b3c564a3a443b106c9aa717629d_cgraph_org.svg delete mode 100644 d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a11f0d016dff7f7e62b3dddb9fdf47805_cgraph.map delete mode 100644 d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a11f0d016dff7f7e62b3dddb9fdf47805_cgraph.md5 delete mode 100644 d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a11f0d016dff7f7e62b3dddb9fdf47805_cgraph.svg delete mode 100644 d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a11f0d016dff7f7e62b3dddb9fdf47805_cgraph_org.svg delete mode 100644 d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a273511e84a5243ffffe81be28bd24855_cgraph.map delete mode 100644 d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a273511e84a5243ffffe81be28bd24855_cgraph.md5 delete mode 100644 d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a273511e84a5243ffffe81be28bd24855_cgraph.svg delete mode 100644 d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a273511e84a5243ffffe81be28bd24855_cgraph_org.svg delete mode 100644 d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a2e9a9db7792cf5383f4c4cc418255165_cgraph.map delete mode 100644 d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a2e9a9db7792cf5383f4c4cc418255165_cgraph.md5 delete mode 100644 d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a2e9a9db7792cf5383f4c4cc418255165_cgraph.svg delete mode 100644 d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a2e9a9db7792cf5383f4c4cc418255165_cgraph_org.svg delete mode 100644 d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a36f4d5f603f7edb7db7c73fb53ba14e9_cgraph.map delete mode 100644 d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a36f4d5f603f7edb7db7c73fb53ba14e9_cgraph.md5 delete mode 100644 d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a36f4d5f603f7edb7db7c73fb53ba14e9_cgraph.svg delete mode 100644 d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a36f4d5f603f7edb7db7c73fb53ba14e9_cgraph_org.svg delete mode 100644 d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a5da1be3f5b5d967ebb36a201f3ebad11_cgraph.map delete mode 100644 d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a5da1be3f5b5d967ebb36a201f3ebad11_cgraph.md5 delete mode 100644 d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a5da1be3f5b5d967ebb36a201f3ebad11_cgraph.svg delete mode 100644 d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a5da1be3f5b5d967ebb36a201f3ebad11_cgraph_org.svg delete mode 100644 d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a61dd051a74e5f36c8dc03dae8dca6ef4_cgraph.map delete mode 100644 d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a61dd051a74e5f36c8dc03dae8dca6ef4_cgraph.md5 delete mode 100644 d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a61dd051a74e5f36c8dc03dae8dca6ef4_cgraph.svg delete mode 100644 d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a61dd051a74e5f36c8dc03dae8dca6ef4_cgraph_org.svg delete mode 100644 d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a65a1235659356166a3e9b451c64fcc36_cgraph.map delete mode 100644 d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a65a1235659356166a3e9b451c64fcc36_cgraph.md5 delete mode 100644 d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a65a1235659356166a3e9b451c64fcc36_cgraph.svg delete mode 100644 d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a65a1235659356166a3e9b451c64fcc36_cgraph_org.svg delete mode 100644 d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a6749ebb40710c9752a2771eda03c6b3e_cgraph.map delete mode 100644 d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a6749ebb40710c9752a2771eda03c6b3e_cgraph.md5 delete mode 100644 d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a6749ebb40710c9752a2771eda03c6b3e_cgraph.svg delete mode 100644 d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a6749ebb40710c9752a2771eda03c6b3e_cgraph_org.svg delete mode 100644 d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a84ab7b4fe7442b5e2eeed8c050bb86bd_cgraph.map delete mode 100644 d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a84ab7b4fe7442b5e2eeed8c050bb86bd_cgraph.md5 delete mode 100644 d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a84ab7b4fe7442b5e2eeed8c050bb86bd_cgraph.svg delete mode 100644 d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a84ab7b4fe7442b5e2eeed8c050bb86bd_cgraph_org.svg delete mode 100644 d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a936bb546e6a94d8b9d35b30ee1bb291a_cgraph.map delete mode 100644 d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a936bb546e6a94d8b9d35b30ee1bb291a_cgraph.md5 delete mode 100644 d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a936bb546e6a94d8b9d35b30ee1bb291a_cgraph.svg delete mode 100644 d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a936bb546e6a94d8b9d35b30ee1bb291a_cgraph_org.svg delete mode 100644 d3/d95/classdata__structures_1_1tree__234_1_1_tree234_aa7e5e00033f38006a224f30bdbf3f703_cgraph.map delete mode 100644 d3/d95/classdata__structures_1_1tree__234_1_1_tree234_aa7e5e00033f38006a224f30bdbf3f703_cgraph.md5 delete mode 100644 d3/d95/classdata__structures_1_1tree__234_1_1_tree234_aa7e5e00033f38006a224f30bdbf3f703_cgraph.svg delete mode 100644 d3/d95/classdata__structures_1_1tree__234_1_1_tree234_aa7e5e00033f38006a224f30bdbf3f703_cgraph_org.svg delete mode 100644 d3/d95/classdata__structures_1_1tree__234_1_1_tree234_ac5361479dd996eb331759f33808657d9_cgraph.map delete mode 100644 d3/d95/classdata__structures_1_1tree__234_1_1_tree234_ac5361479dd996eb331759f33808657d9_cgraph.md5 delete mode 100644 d3/d95/classdata__structures_1_1tree__234_1_1_tree234_ac5361479dd996eb331759f33808657d9_cgraph.svg delete mode 100644 d3/d95/classdata__structures_1_1tree__234_1_1_tree234_ac5361479dd996eb331759f33808657d9_cgraph_org.svg delete mode 100644 d3/d95/classdata__structures_1_1tree__234_1_1_tree234_ac85ba5abfd6d34dcd908b2afe6464657_cgraph.map delete mode 100644 d3/d95/classdata__structures_1_1tree__234_1_1_tree234_ac85ba5abfd6d34dcd908b2afe6464657_cgraph.md5 delete mode 100644 d3/d95/classdata__structures_1_1tree__234_1_1_tree234_ac85ba5abfd6d34dcd908b2afe6464657_cgraph.svg delete mode 100644 d3/d95/classdata__structures_1_1tree__234_1_1_tree234_ac85ba5abfd6d34dcd908b2afe6464657_cgraph_org.svg delete mode 100644 d3/d95/classdata__structures_1_1tree__234_1_1_tree234_ad37e29e2a4a6cc0eb65cbd5595e1da95_cgraph.map delete mode 100644 d3/d95/classdata__structures_1_1tree__234_1_1_tree234_ad37e29e2a4a6cc0eb65cbd5595e1da95_cgraph.md5 delete mode 100644 d3/d95/classdata__structures_1_1tree__234_1_1_tree234_ad37e29e2a4a6cc0eb65cbd5595e1da95_cgraph.svg delete mode 100644 d3/d95/classdata__structures_1_1tree__234_1_1_tree234_ad37e29e2a4a6cc0eb65cbd5595e1da95_cgraph_org.svg delete mode 100644 d3/d95/classdata__structures_1_1tree__234_1_1_tree234_aec0642d1d151521ca7c70ea85cdb15d3_cgraph.map delete mode 100644 d3/d95/classdata__structures_1_1tree__234_1_1_tree234_aec0642d1d151521ca7c70ea85cdb15d3_cgraph.md5 delete mode 100644 d3/d95/classdata__structures_1_1tree__234_1_1_tree234_aec0642d1d151521ca7c70ea85cdb15d3_cgraph.svg delete mode 100644 d3/d95/classdata__structures_1_1tree__234_1_1_tree234_aec0642d1d151521ca7c70ea85cdb15d3_cgraph_org.svg delete mode 100644 d3/dae/dsu__path__compression_8cpp_a45d94ead4cf4e1ff9f87c38bc99f59ae_cgraph.map delete mode 100644 d3/dae/dsu__path__compression_8cpp_a45d94ead4cf4e1ff9f87c38bc99f59ae_cgraph.md5 delete mode 100644 d3/dae/dsu__path__compression_8cpp_a45d94ead4cf4e1ff9f87c38bc99f59ae_cgraph.svg delete mode 100644 d3/dae/dsu__path__compression_8cpp_a45d94ead4cf4e1ff9f87c38bc99f59ae_cgraph_org.svg delete mode 100644 d3/dae/dsu__path__compression_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d3/dae/dsu__path__compression_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d3/dae/dsu__path__compression_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d3/dae/dsu__path__compression_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg delete mode 100644 d3/dae/dsu__path__compression_8cpp_ae7880ce913f3058a35ff106d5be9e243_cgraph.map delete mode 100644 d3/dae/dsu__path__compression_8cpp_ae7880ce913f3058a35ff106d5be9e243_cgraph.md5 delete mode 100644 d3/dae/dsu__path__compression_8cpp_ae7880ce913f3058a35ff106d5be9e243_cgraph.svg delete mode 100644 d3/dae/dsu__path__compression_8cpp_ae7880ce913f3058a35ff106d5be9e243_cgraph_org.svg create mode 100644 d3/dae/dsu__path__compression_8cpp_source.html delete mode 100644 d3/db2/boyer__moore_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.map delete mode 100644 d3/db2/boyer__moore_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 delete mode 100644 d3/db2/boyer__moore_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.svg delete mode 100644 d3/db2/boyer__moore_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph_org.svg delete mode 100644 d3/db2/boyer__moore_8cpp_ac8fac0dd4b19973da103a434143a16d2_cgraph.map delete mode 100644 d3/db2/boyer__moore_8cpp_ac8fac0dd4b19973da103a434143a16d2_cgraph.md5 delete mode 100644 d3/db2/boyer__moore_8cpp_ac8fac0dd4b19973da103a434143a16d2_cgraph.svg delete mode 100644 d3/db2/boyer__moore_8cpp_ac8fac0dd4b19973da103a434143a16d2_cgraph_org.svg delete mode 100644 d3/db2/boyer__moore_8cpp_acb8f69e7901ee7459d98bd4b9dda79d9_cgraph.map delete mode 100644 d3/db2/boyer__moore_8cpp_acb8f69e7901ee7459d98bd4b9dda79d9_cgraph.md5 delete mode 100644 d3/db2/boyer__moore_8cpp_acb8f69e7901ee7459d98bd4b9dda79d9_cgraph.svg delete mode 100644 d3/db2/boyer__moore_8cpp_acb8f69e7901ee7459d98bd4b9dda79d9_cgraph_org.svg delete mode 100644 d3/db2/boyer__moore_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d3/db2/boyer__moore_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d3/db2/boyer__moore_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d3/db2/boyer__moore_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 d3/db2/boyer__moore_8cpp_source.html delete mode 100644 d3/db3/lru__cache_8cpp_a01ec21fc91ddafd964ae2035ba7892c0_cgraph.map delete mode 100644 d3/db3/lru__cache_8cpp_a01ec21fc91ddafd964ae2035ba7892c0_cgraph.md5 delete mode 100644 d3/db3/lru__cache_8cpp_a01ec21fc91ddafd964ae2035ba7892c0_cgraph.svg delete mode 100644 d3/db3/lru__cache_8cpp_a01ec21fc91ddafd964ae2035ba7892c0_cgraph_org.svg delete mode 100644 d3/db3/lru__cache_8cpp_a24d21a345ed06f7fba6919718cf3e058_cgraph.map delete mode 100644 d3/db3/lru__cache_8cpp_a24d21a345ed06f7fba6919718cf3e058_cgraph.md5 delete mode 100644 d3/db3/lru__cache_8cpp_a24d21a345ed06f7fba6919718cf3e058_cgraph.svg delete mode 100644 d3/db3/lru__cache_8cpp_a24d21a345ed06f7fba6919718cf3e058_cgraph_org.svg delete mode 100644 d3/db3/lru__cache_8cpp_a4b02e288a407876a8d6024f98a2a25ec_cgraph.map delete mode 100644 d3/db3/lru__cache_8cpp_a4b02e288a407876a8d6024f98a2a25ec_cgraph.md5 delete mode 100644 d3/db3/lru__cache_8cpp_a4b02e288a407876a8d6024f98a2a25ec_cgraph.svg delete mode 100644 d3/db3/lru__cache_8cpp_a4b02e288a407876a8d6024f98a2a25ec_cgraph_org.svg delete mode 100644 d3/db3/lru__cache_8cpp_a6401e8f2d41d8cc9cd0e52ab381608d4_cgraph.map delete mode 100644 d3/db3/lru__cache_8cpp_a6401e8f2d41d8cc9cd0e52ab381608d4_cgraph.md5 delete mode 100644 d3/db3/lru__cache_8cpp_a6401e8f2d41d8cc9cd0e52ab381608d4_cgraph.svg delete mode 100644 d3/db3/lru__cache_8cpp_a6401e8f2d41d8cc9cd0e52ab381608d4_cgraph_org.svg delete mode 100644 d3/db3/lru__cache_8cpp_a6a3be6d8871b1f5dc03688da8f3ee9e6_cgraph.map delete mode 100644 d3/db3/lru__cache_8cpp_a6a3be6d8871b1f5dc03688da8f3ee9e6_cgraph.md5 delete mode 100644 d3/db3/lru__cache_8cpp_a6a3be6d8871b1f5dc03688da8f3ee9e6_cgraph.svg delete mode 100644 d3/db3/lru__cache_8cpp_a6a3be6d8871b1f5dc03688da8f3ee9e6_cgraph_org.svg delete mode 100644 d3/db3/lru__cache_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d3/db3/lru__cache_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d3/db3/lru__cache_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d3/db3/lru__cache_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 d3/db3/lru__cache_8cpp_source.html delete mode 100644 d3/dbb/class_cycle_check_a2f4485c08b45e7a21a2e86f9c3f01d8b_cgraph.map delete mode 100644 d3/dbb/class_cycle_check_a2f4485c08b45e7a21a2e86f9c3f01d8b_cgraph.md5 delete mode 100644 d3/dbb/class_cycle_check_a2f4485c08b45e7a21a2e86f9c3f01d8b_cgraph.svg delete mode 100644 d3/dbb/class_cycle_check_a2f4485c08b45e7a21a2e86f9c3f01d8b_cgraph_org.svg delete mode 100644 d3/dbb/class_cycle_check_a399292a33edf87499daa52b51315aca5_cgraph.map delete mode 100644 d3/dbb/class_cycle_check_a399292a33edf87499daa52b51315aca5_cgraph.md5 delete mode 100644 d3/dbb/class_cycle_check_a399292a33edf87499daa52b51315aca5_cgraph.svg delete mode 100644 d3/dbb/class_cycle_check_a399292a33edf87499daa52b51315aca5_cgraph_org.svg delete mode 100644 d3/dbb/class_cycle_check_ad9a270ffba3a68539b92272c702e3474_cgraph.map delete mode 100644 d3/dbb/class_cycle_check_ad9a270ffba3a68539b92272c702e3474_cgraph.md5 delete mode 100644 d3/dbb/class_cycle_check_ad9a270ffba3a68539b92272c702e3474_cgraph.svg delete mode 100644 d3/dbb/class_cycle_check_ad9a270ffba3a68539b92272c702e3474_cgraph_org.svg create mode 100644 d3/dc1/bucket__sort_8cpp_source.html delete mode 100644 d3/dce/linkedlist__implentation__usingarray_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d3/dce/linkedlist__implentation__usingarray_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d3/dce/linkedlist__implentation__usingarray_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d3/dce/linkedlist__implentation__usingarray_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg delete mode 100644 d3/dce/linkedlist__implentation__usingarray_8cpp_afcb07da7984e20b3207934696791f5df_cgraph.map delete mode 100644 d3/dce/linkedlist__implentation__usingarray_8cpp_afcb07da7984e20b3207934696791f5df_cgraph.md5 delete mode 100644 d3/dce/linkedlist__implentation__usingarray_8cpp_afcb07da7984e20b3207934696791f5df_cgraph.svg delete mode 100644 d3/dce/linkedlist__implentation__usingarray_8cpp_afcb07da7984e20b3207934696791f5df_cgraph_org.svg create mode 100644 d3/dce/linkedlist__implentation__usingarray_8cpp_source.html create mode 100644 d3/dea/stack__using__linked__list_8cpp_source.html create mode 100644 d3/dec/cycle__check__directed__graph_8cpp_source.html delete mode 100644 d3/df9/recursive__bubble__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map delete mode 100644 d3/df9/recursive__bubble__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 delete mode 100644 d3/df9/recursive__bubble__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg delete mode 100644 d3/df9/recursive__bubble__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg delete mode 100644 d3/df9/recursive__bubble__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d3/df9/recursive__bubble__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d3/df9/recursive__bubble__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d3/df9/recursive__bubble__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 d3/df9/recursive__bubble__sort_8cpp_source.html create mode 100644 d3/dfb/circular__queue__using__array_8cpp_source.html delete mode 100644 d3/dfe/horspool_8cpp_a1a9c3aa55ccc79d0f47d50c580997336_cgraph.map delete mode 100644 d3/dfe/horspool_8cpp_a1a9c3aa55ccc79d0f47d50c580997336_cgraph.md5 delete mode 100644 d3/dfe/horspool_8cpp_a1a9c3aa55ccc79d0f47d50c580997336_cgraph.svg delete mode 100644 d3/dfe/horspool_8cpp_a1a9c3aa55ccc79d0f47d50c580997336_cgraph_org.svg delete mode 100644 d3/dfe/horspool_8cpp_a9884bca75ce39c116697ea2574adb37d_cgraph.map delete mode 100644 d3/dfe/horspool_8cpp_a9884bca75ce39c116697ea2574adb37d_cgraph.md5 delete mode 100644 d3/dfe/horspool_8cpp_a9884bca75ce39c116697ea2574adb37d_cgraph.svg delete mode 100644 d3/dfe/horspool_8cpp_a9884bca75ce39c116697ea2574adb37d_cgraph_org.svg delete mode 100644 d3/dfe/horspool_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d3/dfe/horspool_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d3/dfe/horspool_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d3/dfe/horspool_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 d3/dfe/horspool_8cpp_source.html delete mode 100644 d3/dfe/perimeter_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map delete mode 100644 d3/dfe/perimeter_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 delete mode 100644 d3/dfe/perimeter_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg delete mode 100644 d3/dfe/perimeter_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg delete mode 100644 d3/dfe/perimeter_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d3/dfe/perimeter_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d3/dfe/perimeter_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d3/dfe/perimeter_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 d3/dfe/perimeter_8cpp_source.html delete mode 100644 d4/d08/sha256_8cpp_a28c1c6724dc6bcf91a39818699bbec27_cgraph.map delete mode 100644 d4/d08/sha256_8cpp_a28c1c6724dc6bcf91a39818699bbec27_cgraph.md5 delete mode 100644 d4/d08/sha256_8cpp_a28c1c6724dc6bcf91a39818699bbec27_cgraph.svg delete mode 100644 d4/d08/sha256_8cpp_a28c1c6724dc6bcf91a39818699bbec27_cgraph_org.svg delete mode 100644 d4/d08/sha256_8cpp_a525531b3939ed44fbf01674e21931b3a_cgraph.map delete mode 100644 d4/d08/sha256_8cpp_a525531b3939ed44fbf01674e21931b3a_cgraph.md5 delete mode 100644 d4/d08/sha256_8cpp_a525531b3939ed44fbf01674e21931b3a_cgraph.svg delete mode 100644 d4/d08/sha256_8cpp_a525531b3939ed44fbf01674e21931b3a_cgraph_org.svg delete mode 100644 d4/d08/sha256_8cpp_a55475649a2bb7aae15de0716a217f43a_cgraph.map delete mode 100644 d4/d08/sha256_8cpp_a55475649a2bb7aae15de0716a217f43a_cgraph.md5 delete mode 100644 d4/d08/sha256_8cpp_a55475649a2bb7aae15de0716a217f43a_cgraph.svg delete mode 100644 d4/d08/sha256_8cpp_a55475649a2bb7aae15de0716a217f43a_cgraph_org.svg delete mode 100644 d4/d08/sha256_8cpp_a9e98c180d32b04aab6f767cb0c13e1da_cgraph.map delete mode 100644 d4/d08/sha256_8cpp_a9e98c180d32b04aab6f767cb0c13e1da_cgraph.md5 delete mode 100644 d4/d08/sha256_8cpp_a9e98c180d32b04aab6f767cb0c13e1da_cgraph.svg delete mode 100644 d4/d08/sha256_8cpp_a9e98c180d32b04aab6f767cb0c13e1da_cgraph_org.svg delete mode 100644 d4/d08/sha256_8cpp_adbcd504103c342a4da718f8fce6ff06c_cgraph.map delete mode 100644 d4/d08/sha256_8cpp_adbcd504103c342a4da718f8fce6ff06c_cgraph.md5 delete mode 100644 d4/d08/sha256_8cpp_adbcd504103c342a4da718f8fce6ff06c_cgraph.svg delete mode 100644 d4/d08/sha256_8cpp_adbcd504103c342a4da718f8fce6ff06c_cgraph_org.svg delete mode 100644 d4/d08/sha256_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d4/d08/sha256_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d4/d08/sha256_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d4/d08/sha256_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg delete mode 100644 d4/d08/sha256_8cpp_afea411191ec5281f43e91ea327984627_cgraph.map delete mode 100644 d4/d08/sha256_8cpp_afea411191ec5281f43e91ea327984627_cgraph.md5 delete mode 100644 d4/d08/sha256_8cpp_afea411191ec5281f43e91ea327984627_cgraph.svg delete mode 100644 d4/d08/sha256_8cpp_afea411191ec5281f43e91ea327984627_cgraph_org.svg create mode 100644 d4/d08/sha256_8cpp_source.html delete mode 100644 d4/d18/composite__simpson__rule_8cpp_a1b74d828b33760094906797042b89442_cgraph.map delete mode 100644 d4/d18/composite__simpson__rule_8cpp_a1b74d828b33760094906797042b89442_cgraph.md5 delete mode 100644 d4/d18/composite__simpson__rule_8cpp_a1b74d828b33760094906797042b89442_cgraph.svg delete mode 100644 d4/d18/composite__simpson__rule_8cpp_a1b74d828b33760094906797042b89442_cgraph_org.svg delete mode 100644 d4/d18/composite__simpson__rule_8cpp_a2ae48a41e43dc6ab11b962742349646e_cgraph.map delete mode 100644 d4/d18/composite__simpson__rule_8cpp_a2ae48a41e43dc6ab11b962742349646e_cgraph.md5 delete mode 100644 d4/d18/composite__simpson__rule_8cpp_a2ae48a41e43dc6ab11b962742349646e_cgraph.svg delete mode 100644 d4/d18/composite__simpson__rule_8cpp_a2ae48a41e43dc6ab11b962742349646e_cgraph_org.svg delete mode 100644 d4/d18/composite__simpson__rule_8cpp_a2f67508d5f392b0321772169342c98ad_cgraph.map delete mode 100644 d4/d18/composite__simpson__rule_8cpp_a2f67508d5f392b0321772169342c98ad_cgraph.md5 delete mode 100644 d4/d18/composite__simpson__rule_8cpp_a2f67508d5f392b0321772169342c98ad_cgraph.svg delete mode 100644 d4/d18/composite__simpson__rule_8cpp_a2f67508d5f392b0321772169342c98ad_cgraph_org.svg delete mode 100644 d4/d18/composite__simpson__rule_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph.map delete mode 100644 d4/d18/composite__simpson__rule_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph.md5 delete mode 100644 d4/d18/composite__simpson__rule_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph.svg delete mode 100644 d4/d18/composite__simpson__rule_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph_org.svg delete mode 100644 d4/d18/composite__simpson__rule_8cpp_a4251b4df4748a0b9c43a48f61bdd2397_cgraph.map delete mode 100644 d4/d18/composite__simpson__rule_8cpp_a4251b4df4748a0b9c43a48f61bdd2397_cgraph.md5 delete mode 100644 d4/d18/composite__simpson__rule_8cpp_a4251b4df4748a0b9c43a48f61bdd2397_cgraph.svg delete mode 100644 d4/d18/composite__simpson__rule_8cpp_a4251b4df4748a0b9c43a48f61bdd2397_cgraph_org.svg delete mode 100644 d4/d18/composite__simpson__rule_8cpp_a6d8df83a6f26ce24a75d3b358b7f5b8a_cgraph.map delete mode 100644 d4/d18/composite__simpson__rule_8cpp_a6d8df83a6f26ce24a75d3b358b7f5b8a_cgraph.md5 delete mode 100644 d4/d18/composite__simpson__rule_8cpp_a6d8df83a6f26ce24a75d3b358b7f5b8a_cgraph.svg delete mode 100644 d4/d18/composite__simpson__rule_8cpp_a6d8df83a6f26ce24a75d3b358b7f5b8a_cgraph_org.svg create mode 100644 d4/d18/composite__simpson__rule_8cpp_source.html delete mode 100644 d4/d21/least__common__multiple_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph.map delete mode 100644 d4/d21/least__common__multiple_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph.md5 delete mode 100644 d4/d21/least__common__multiple_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph.svg delete mode 100644 d4/d21/least__common__multiple_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph_org.svg delete mode 100644 d4/d21/least__common__multiple_8cpp_a8ba1fc66e4134ab25b2602b323150563_cgraph.map delete mode 100644 d4/d21/least__common__multiple_8cpp_a8ba1fc66e4134ab25b2602b323150563_cgraph.md5 delete mode 100644 d4/d21/least__common__multiple_8cpp_a8ba1fc66e4134ab25b2602b323150563_cgraph.svg delete mode 100644 d4/d21/least__common__multiple_8cpp_a8ba1fc66e4134ab25b2602b323150563_cgraph_org.svg delete mode 100644 d4/d21/least__common__multiple_8cpp_aa8d0e241db517813725e721a152e3a25_cgraph.map delete mode 100644 d4/d21/least__common__multiple_8cpp_aa8d0e241db517813725e721a152e3a25_cgraph.md5 delete mode 100644 d4/d21/least__common__multiple_8cpp_aa8d0e241db517813725e721a152e3a25_cgraph.svg delete mode 100644 d4/d21/least__common__multiple_8cpp_aa8d0e241db517813725e721a152e3a25_cgraph_org.svg delete mode 100644 d4/d21/least__common__multiple_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d4/d21/least__common__multiple_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d4/d21/least__common__multiple_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d4/d21/least__common__multiple_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 d4/d21/least__common__multiple_8cpp_source.html delete mode 100644 d4/d32/fibonacci__fast_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d4/d32/fibonacci__fast_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d4/d32/fibonacci__fast_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d4/d32/fibonacci__fast_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 d4/d32/fibonacci__fast_8cpp_source.html delete mode 100644 d4/d32/inorder__successor__of__bst_8cpp_a05fe8a029e155c43e4efa598d4d089d9_cgraph.map delete mode 100644 d4/d32/inorder__successor__of__bst_8cpp_a05fe8a029e155c43e4efa598d4d089d9_cgraph.md5 delete mode 100644 d4/d32/inorder__successor__of__bst_8cpp_a05fe8a029e155c43e4efa598d4d089d9_cgraph.svg delete mode 100644 d4/d32/inorder__successor__of__bst_8cpp_a05fe8a029e155c43e4efa598d4d089d9_cgraph_org.svg delete mode 100644 d4/d32/inorder__successor__of__bst_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.map delete mode 100644 d4/d32/inorder__successor__of__bst_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.md5 delete mode 100644 d4/d32/inorder__successor__of__bst_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.svg delete mode 100644 d4/d32/inorder__successor__of__bst_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph_org.svg delete mode 100644 d4/d32/inorder__successor__of__bst_8cpp_a3923fb22b46e085376703cae0b44d690_cgraph.map delete mode 100644 d4/d32/inorder__successor__of__bst_8cpp_a3923fb22b46e085376703cae0b44d690_cgraph.md5 delete mode 100644 d4/d32/inorder__successor__of__bst_8cpp_a3923fb22b46e085376703cae0b44d690_cgraph.svg delete mode 100644 d4/d32/inorder__successor__of__bst_8cpp_a3923fb22b46e085376703cae0b44d690_cgraph_org.svg delete mode 100644 d4/d32/inorder__successor__of__bst_8cpp_a3ae0bea4123fd2ce155108e88f2ef78c_cgraph.map delete mode 100644 d4/d32/inorder__successor__of__bst_8cpp_a3ae0bea4123fd2ce155108e88f2ef78c_cgraph.md5 delete mode 100644 d4/d32/inorder__successor__of__bst_8cpp_a3ae0bea4123fd2ce155108e88f2ef78c_cgraph.svg delete mode 100644 d4/d32/inorder__successor__of__bst_8cpp_a3ae0bea4123fd2ce155108e88f2ef78c_cgraph_org.svg delete mode 100644 d4/d32/inorder__successor__of__bst_8cpp_a5d7266b934ca50c4f53e4f1e725d89a4_cgraph.map delete mode 100644 d4/d32/inorder__successor__of__bst_8cpp_a5d7266b934ca50c4f53e4f1e725d89a4_cgraph.md5 delete mode 100644 d4/d32/inorder__successor__of__bst_8cpp_a5d7266b934ca50c4f53e4f1e725d89a4_cgraph.svg delete mode 100644 d4/d32/inorder__successor__of__bst_8cpp_a5d7266b934ca50c4f53e4f1e725d89a4_cgraph_org.svg delete mode 100644 d4/d32/inorder__successor__of__bst_8cpp_a72483e3f6933e004a8d86371e8a990db_cgraph.map delete mode 100644 d4/d32/inorder__successor__of__bst_8cpp_a72483e3f6933e004a8d86371e8a990db_cgraph.md5 delete mode 100644 d4/d32/inorder__successor__of__bst_8cpp_a72483e3f6933e004a8d86371e8a990db_cgraph.svg delete mode 100644 d4/d32/inorder__successor__of__bst_8cpp_a72483e3f6933e004a8d86371e8a990db_cgraph_org.svg delete mode 100644 d4/d32/inorder__successor__of__bst_8cpp_a7b20eb99272665c1777949e26ab59589_cgraph.map delete mode 100644 d4/d32/inorder__successor__of__bst_8cpp_a7b20eb99272665c1777949e26ab59589_cgraph.md5 delete mode 100644 d4/d32/inorder__successor__of__bst_8cpp_a7b20eb99272665c1777949e26ab59589_cgraph.svg delete mode 100644 d4/d32/inorder__successor__of__bst_8cpp_a7b20eb99272665c1777949e26ab59589_cgraph_org.svg delete mode 100644 d4/d32/inorder__successor__of__bst_8cpp_a7f6f73a33beec448c27cc1d70b220702_cgraph.map delete mode 100644 d4/d32/inorder__successor__of__bst_8cpp_a7f6f73a33beec448c27cc1d70b220702_cgraph.md5 delete mode 100644 d4/d32/inorder__successor__of__bst_8cpp_a7f6f73a33beec448c27cc1d70b220702_cgraph.svg delete mode 100644 d4/d32/inorder__successor__of__bst_8cpp_a7f6f73a33beec448c27cc1d70b220702_cgraph_org.svg delete mode 100644 d4/d32/inorder__successor__of__bst_8cpp_a824cbf1814854824cf05f062eea07b95_cgraph.map delete mode 100644 d4/d32/inorder__successor__of__bst_8cpp_a824cbf1814854824cf05f062eea07b95_cgraph.md5 delete mode 100644 d4/d32/inorder__successor__of__bst_8cpp_a824cbf1814854824cf05f062eea07b95_cgraph.svg delete mode 100644 d4/d32/inorder__successor__of__bst_8cpp_a824cbf1814854824cf05f062eea07b95_cgraph_org.svg delete mode 100644 d4/d32/inorder__successor__of__bst_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map delete mode 100644 d4/d32/inorder__successor__of__bst_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 delete mode 100644 d4/d32/inorder__successor__of__bst_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg delete mode 100644 d4/d32/inorder__successor__of__bst_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg create mode 100644 d4/d32/inorder__successor__of__bst_8cpp_source.html delete mode 100644 d4/d38/power__of__two_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map delete mode 100644 d4/d38/power__of__two_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 delete mode 100644 d4/d38/power__of__two_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg delete mode 100644 d4/d38/power__of__two_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg delete mode 100644 d4/d38/power__of__two_8cpp_adfd6be45be425ae28c62ce3bfb4b40dc_cgraph.map delete mode 100644 d4/d38/power__of__two_8cpp_adfd6be45be425ae28c62ce3bfb4b40dc_cgraph.md5 delete mode 100644 d4/d38/power__of__two_8cpp_adfd6be45be425ae28c62ce3bfb4b40dc_cgraph.svg delete mode 100644 d4/d38/power__of__two_8cpp_adfd6be45be425ae28c62ce3bfb4b40dc_cgraph_org.svg delete mode 100644 d4/d38/power__of__two_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d4/d38/power__of__two_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d4/d38/power__of__two_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d4/d38/power__of__two_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 d4/d38/power__of__two_8cpp_source.html delete mode 100644 d4/d3e/k__nearest__neighbors_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.map delete mode 100644 d4/d3e/k__nearest__neighbors_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.md5 delete mode 100644 d4/d3e/k__nearest__neighbors_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.svg delete mode 100644 d4/d3e/k__nearest__neighbors_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph_org.svg delete mode 100644 d4/d3e/k__nearest__neighbors_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map delete mode 100644 d4/d3e/k__nearest__neighbors_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 delete mode 100644 d4/d3e/k__nearest__neighbors_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg delete mode 100644 d4/d3e/k__nearest__neighbors_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg delete mode 100644 d4/d3e/k__nearest__neighbors_8cpp_ad6ae16e50bb153ebaa7251d0aaa97b69_cgraph.map delete mode 100644 d4/d3e/k__nearest__neighbors_8cpp_ad6ae16e50bb153ebaa7251d0aaa97b69_cgraph.md5 delete mode 100644 d4/d3e/k__nearest__neighbors_8cpp_ad6ae16e50bb153ebaa7251d0aaa97b69_cgraph.svg delete mode 100644 d4/d3e/k__nearest__neighbors_8cpp_ad6ae16e50bb153ebaa7251d0aaa97b69_cgraph_org.svg create mode 100644 d4/d3e/k__nearest__neighbors_8cpp_source.html delete mode 100644 d4/d3e/n__queens_8cpp_a0dbd7af47d87f0b956609fe9e3288ecb_cgraph.map delete mode 100644 d4/d3e/n__queens_8cpp_a0dbd7af47d87f0b956609fe9e3288ecb_cgraph.md5 delete mode 100644 d4/d3e/n__queens_8cpp_a0dbd7af47d87f0b956609fe9e3288ecb_cgraph.svg delete mode 100644 d4/d3e/n__queens_8cpp_a0dbd7af47d87f0b956609fe9e3288ecb_cgraph_org.svg create mode 100644 d4/d3e/n__queens_8cpp_source.html delete mode 100644 d4/d45/gcd__recursive__euclidean_8cpp_ae48807fa2b7000afae599e67f327545e_cgraph.map delete mode 100644 d4/d45/gcd__recursive__euclidean_8cpp_ae48807fa2b7000afae599e67f327545e_cgraph.md5 delete mode 100644 d4/d45/gcd__recursive__euclidean_8cpp_ae48807fa2b7000afae599e67f327545e_cgraph.svg delete mode 100644 d4/d45/gcd__recursive__euclidean_8cpp_ae48807fa2b7000afae599e67f327545e_cgraph_org.svg delete mode 100644 d4/d45/gcd__recursive__euclidean_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d4/d45/gcd__recursive__euclidean_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d4/d45/gcd__recursive__euclidean_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d4/d45/gcd__recursive__euclidean_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 d4/d45/gcd__recursive__euclidean_8cpp_source.html delete mode 100644 d4/d48/hamming__distance_8cpp_a40ba9fe8b5df5c268f0c7d677ff2fe80_cgraph.map delete mode 100644 d4/d48/hamming__distance_8cpp_a40ba9fe8b5df5c268f0c7d677ff2fe80_cgraph.md5 delete mode 100644 d4/d48/hamming__distance_8cpp_a40ba9fe8b5df5c268f0c7d677ff2fe80_cgraph.svg delete mode 100644 d4/d48/hamming__distance_8cpp_a40ba9fe8b5df5c268f0c7d677ff2fe80_cgraph_org.svg delete mode 100644 d4/d48/hamming__distance_8cpp_a65d845df3fecff7087a2126c7b72030b_cgraph.map delete mode 100644 d4/d48/hamming__distance_8cpp_a65d845df3fecff7087a2126c7b72030b_cgraph.md5 delete mode 100644 d4/d48/hamming__distance_8cpp_a65d845df3fecff7087a2126c7b72030b_cgraph.svg delete mode 100644 d4/d48/hamming__distance_8cpp_a65d845df3fecff7087a2126c7b72030b_cgraph_org.svg delete mode 100644 d4/d48/hamming__distance_8cpp_abfe6fbb2f3460a2623c96f283178a07a_cgraph.map delete mode 100644 d4/d48/hamming__distance_8cpp_abfe6fbb2f3460a2623c96f283178a07a_cgraph.md5 delete mode 100644 d4/d48/hamming__distance_8cpp_abfe6fbb2f3460a2623c96f283178a07a_cgraph.svg delete mode 100644 d4/d48/hamming__distance_8cpp_abfe6fbb2f3460a2623c96f283178a07a_cgraph_org.svg delete mode 100644 d4/d48/hamming__distance_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d4/d48/hamming__distance_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d4/d48/hamming__distance_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d4/d48/hamming__distance_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 d4/d48/hamming__distance_8cpp_source.html delete mode 100644 d4/d4f/stooge__sort_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph.map delete mode 100644 d4/d4f/stooge__sort_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph.md5 delete mode 100644 d4/d4f/stooge__sort_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph.svg delete mode 100644 d4/d4f/stooge__sort_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph_org.svg delete mode 100644 d4/d4f/stooge__sort_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph.map delete mode 100644 d4/d4f/stooge__sort_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph.md5 delete mode 100644 d4/d4f/stooge__sort_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph.svg delete mode 100644 d4/d4f/stooge__sort_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph_org.svg delete mode 100644 d4/d4f/stooge__sort_8cpp_a6d0455dd5c30adda100e95f0423c786e_cgraph.map delete mode 100644 d4/d4f/stooge__sort_8cpp_a6d0455dd5c30adda100e95f0423c786e_cgraph.md5 delete mode 100644 d4/d4f/stooge__sort_8cpp_a6d0455dd5c30adda100e95f0423c786e_cgraph.svg delete mode 100644 d4/d4f/stooge__sort_8cpp_a6d0455dd5c30adda100e95f0423c786e_cgraph_org.svg delete mode 100644 d4/d4f/stooge__sort_8cpp_ac23852832437dc68327efe9b1da2d91b_cgraph.map delete mode 100644 d4/d4f/stooge__sort_8cpp_ac23852832437dc68327efe9b1da2d91b_cgraph.md5 delete mode 100644 d4/d4f/stooge__sort_8cpp_ac23852832437dc68327efe9b1da2d91b_cgraph.svg delete mode 100644 d4/d4f/stooge__sort_8cpp_ac23852832437dc68327efe9b1da2d91b_cgraph_org.svg delete mode 100644 d4/d4f/stooge__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d4/d4f/stooge__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d4/d4f/stooge__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d4/d4f/stooge__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 d4/d4f/stooge__sort_8cpp_source.html delete mode 100644 d4/d6c/boruvkas__minimum__spanning__tree_8cpp_a2311b22324cf09926726e4ce1309af8b_cgraph.map delete mode 100644 d4/d6c/boruvkas__minimum__spanning__tree_8cpp_a2311b22324cf09926726e4ce1309af8b_cgraph.md5 delete mode 100644 d4/d6c/boruvkas__minimum__spanning__tree_8cpp_a2311b22324cf09926726e4ce1309af8b_cgraph.svg delete mode 100644 d4/d6c/boruvkas__minimum__spanning__tree_8cpp_a2311b22324cf09926726e4ce1309af8b_cgraph_org.svg delete mode 100644 d4/d6c/boruvkas__minimum__spanning__tree_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.map delete mode 100644 d4/d6c/boruvkas__minimum__spanning__tree_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 delete mode 100644 d4/d6c/boruvkas__minimum__spanning__tree_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.svg delete mode 100644 d4/d6c/boruvkas__minimum__spanning__tree_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph_org.svg delete mode 100644 d4/d6c/boruvkas__minimum__spanning__tree_8cpp_a94c615fc66b72e0adbcbcb99aabb1a59_cgraph.map delete mode 100644 d4/d6c/boruvkas__minimum__spanning__tree_8cpp_a94c615fc66b72e0adbcbcb99aabb1a59_cgraph.md5 delete mode 100644 d4/d6c/boruvkas__minimum__spanning__tree_8cpp_a94c615fc66b72e0adbcbcb99aabb1a59_cgraph.svg delete mode 100644 d4/d6c/boruvkas__minimum__spanning__tree_8cpp_a94c615fc66b72e0adbcbcb99aabb1a59_cgraph_org.svg delete mode 100644 d4/d6c/boruvkas__minimum__spanning__tree_8cpp_a95de0f5e70e83164dbd1b4c515565e84_cgraph.map delete mode 100644 d4/d6c/boruvkas__minimum__spanning__tree_8cpp_a95de0f5e70e83164dbd1b4c515565e84_cgraph.md5 delete mode 100644 d4/d6c/boruvkas__minimum__spanning__tree_8cpp_a95de0f5e70e83164dbd1b4c515565e84_cgraph.svg delete mode 100644 d4/d6c/boruvkas__minimum__spanning__tree_8cpp_a95de0f5e70e83164dbd1b4c515565e84_cgraph_org.svg delete mode 100644 d4/d6c/boruvkas__minimum__spanning__tree_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d4/d6c/boruvkas__minimum__spanning__tree_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d4/d6c/boruvkas__minimum__spanning__tree_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d4/d6c/boruvkas__minimum__spanning__tree_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 d4/d6c/boruvkas__minimum__spanning__tree_8cpp_source.html delete mode 100644 d4/d7a/shell__sort2_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.map delete mode 100644 d4/d7a/shell__sort2_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.md5 delete mode 100644 d4/d7a/shell__sort2_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.svg delete mode 100644 d4/d7a/shell__sort2_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph_org.svg delete mode 100644 d4/d7a/shell__sort2_8cpp_a22ea0d1f7943ebb4371d31e44b465b6d_cgraph.map delete mode 100644 d4/d7a/shell__sort2_8cpp_a22ea0d1f7943ebb4371d31e44b465b6d_cgraph.md5 delete mode 100644 d4/d7a/shell__sort2_8cpp_a22ea0d1f7943ebb4371d31e44b465b6d_cgraph.svg delete mode 100644 d4/d7a/shell__sort2_8cpp_a22ea0d1f7943ebb4371d31e44b465b6d_cgraph_org.svg delete mode 100644 d4/d7a/shell__sort2_8cpp_a63aaff7cabfa3da2da8b9477b5fad9d6_cgraph.map delete mode 100644 d4/d7a/shell__sort2_8cpp_a63aaff7cabfa3da2da8b9477b5fad9d6_cgraph.md5 delete mode 100644 d4/d7a/shell__sort2_8cpp_a63aaff7cabfa3da2da8b9477b5fad9d6_cgraph.svg delete mode 100644 d4/d7a/shell__sort2_8cpp_a63aaff7cabfa3da2da8b9477b5fad9d6_cgraph_org.svg delete mode 100644 d4/d7a/shell__sort2_8cpp_a895b313cb2671e8f712040460325573e_cgraph.map delete mode 100644 d4/d7a/shell__sort2_8cpp_a895b313cb2671e8f712040460325573e_cgraph.md5 delete mode 100644 d4/d7a/shell__sort2_8cpp_a895b313cb2671e8f712040460325573e_cgraph.svg delete mode 100644 d4/d7a/shell__sort2_8cpp_a895b313cb2671e8f712040460325573e_cgraph_org.svg delete mode 100644 d4/d7a/shell__sort2_8cpp_a951127aea9d7e1e53ea9ae0868633246_cgraph.map delete mode 100644 d4/d7a/shell__sort2_8cpp_a951127aea9d7e1e53ea9ae0868633246_cgraph.md5 delete mode 100644 d4/d7a/shell__sort2_8cpp_a951127aea9d7e1e53ea9ae0868633246_cgraph.svg delete mode 100644 d4/d7a/shell__sort2_8cpp_a951127aea9d7e1e53ea9ae0868633246_cgraph_org.svg create mode 100644 d4/d7a/shell__sort2_8cpp_source.html delete mode 100644 d4/d83/sum__of__digits_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph.map delete mode 100644 d4/d83/sum__of__digits_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph.md5 delete mode 100644 d4/d83/sum__of__digits_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph.svg delete mode 100644 d4/d83/sum__of__digits_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph_org.svg delete mode 100644 d4/d83/sum__of__digits_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph.map delete mode 100644 d4/d83/sum__of__digits_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph.md5 delete mode 100644 d4/d83/sum__of__digits_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph.svg delete mode 100644 d4/d83/sum__of__digits_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph_org.svg delete mode 100644 d4/d83/sum__of__digits_8cpp_ae1a3968e7947464bee7714f6d43b7002_cgraph.map delete mode 100644 d4/d83/sum__of__digits_8cpp_ae1a3968e7947464bee7714f6d43b7002_cgraph.md5 delete mode 100644 d4/d83/sum__of__digits_8cpp_ae1a3968e7947464bee7714f6d43b7002_cgraph.svg delete mode 100644 d4/d83/sum__of__digits_8cpp_ae1a3968e7947464bee7714f6d43b7002_cgraph_org.svg delete mode 100644 d4/d83/sum__of__digits_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d4/d83/sum__of__digits_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d4/d83/sum__of__digits_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d4/d83/sum__of__digits_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 d4/d83/sum__of__digits_8cpp_source.html create mode 100644 d4/d8b/gray__code_8cpp_source.html delete mode 100644 d4/d8d/jarvis__algorithm_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map delete mode 100644 d4/d8d/jarvis__algorithm_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 delete mode 100644 d4/d8d/jarvis__algorithm_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg delete mode 100644 d4/d8d/jarvis__algorithm_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg delete mode 100644 d4/d8d/jarvis__algorithm_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d4/d8d/jarvis__algorithm_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d4/d8d/jarvis__algorithm_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d4/d8d/jarvis__algorithm_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 d4/d8d/jarvis__algorithm_8cpp_source.html delete mode 100644 d4/d8f/travelling__salesman__using__bit__manipulation_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map delete mode 100644 d4/d8f/travelling__salesman__using__bit__manipulation_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 delete mode 100644 d4/d8f/travelling__salesman__using__bit__manipulation_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg delete mode 100644 d4/d8f/travelling__salesman__using__bit__manipulation_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg delete mode 100644 d4/d8f/travelling__salesman__using__bit__manipulation_8cpp_ad08f082be02c3437c2fe89cb035fcee1_cgraph.map delete mode 100644 d4/d8f/travelling__salesman__using__bit__manipulation_8cpp_ad08f082be02c3437c2fe89cb035fcee1_cgraph.md5 delete mode 100644 d4/d8f/travelling__salesman__using__bit__manipulation_8cpp_ad08f082be02c3437c2fe89cb035fcee1_cgraph.svg delete mode 100644 d4/d8f/travelling__salesman__using__bit__manipulation_8cpp_ad08f082be02c3437c2fe89cb035fcee1_cgraph_org.svg delete mode 100644 d4/d8f/travelling__salesman__using__bit__manipulation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d4/d8f/travelling__salesman__using__bit__manipulation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d4/d8f/travelling__salesman__using__bit__manipulation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d4/d8f/travelling__salesman__using__bit__manipulation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 d4/d8f/travelling__salesman__using__bit__manipulation_8cpp_source.html delete mode 100644 d4/d90/classdata__structures_1_1_skip_list_a40a4042bdf0b6683b5f21ae7854de8a9_cgraph.map delete mode 100644 d4/d90/classdata__structures_1_1_skip_list_a40a4042bdf0b6683b5f21ae7854de8a9_cgraph.md5 delete mode 100644 d4/d90/classdata__structures_1_1_skip_list_a40a4042bdf0b6683b5f21ae7854de8a9_cgraph.svg delete mode 100644 d4/d90/classdata__structures_1_1_skip_list_a40a4042bdf0b6683b5f21ae7854de8a9_cgraph_org.svg delete mode 100644 d4/d90/classdata__structures_1_1_skip_list_a7ffc3688725b9d1ec6e5bb881a6e2ae4_cgraph.map delete mode 100644 d4/d90/classdata__structures_1_1_skip_list_a7ffc3688725b9d1ec6e5bb881a6e2ae4_cgraph.md5 delete mode 100644 d4/d90/classdata__structures_1_1_skip_list_a7ffc3688725b9d1ec6e5bb881a6e2ae4_cgraph.svg delete mode 100644 d4/d90/classdata__structures_1_1_skip_list_a7ffc3688725b9d1ec6e5bb881a6e2ae4_cgraph_org.svg delete mode 100644 d4/d90/classdata__structures_1_1_skip_list_a812611f80b8079268dbb19cc4e9bee5c_cgraph.map delete mode 100644 d4/d90/classdata__structures_1_1_skip_list_a812611f80b8079268dbb19cc4e9bee5c_cgraph.md5 delete mode 100644 d4/d90/classdata__structures_1_1_skip_list_a812611f80b8079268dbb19cc4e9bee5c_cgraph.svg delete mode 100644 d4/d90/classdata__structures_1_1_skip_list_a812611f80b8079268dbb19cc4e9bee5c_cgraph_org.svg delete mode 100644 d4/d90/classdata__structures_1_1_skip_list_a86925c53e139cc6c3f7df1e9003bb0b0_cgraph.map delete mode 100644 d4/d90/classdata__structures_1_1_skip_list_a86925c53e139cc6c3f7df1e9003bb0b0_cgraph.md5 delete mode 100644 d4/d90/classdata__structures_1_1_skip_list_a86925c53e139cc6c3f7df1e9003bb0b0_cgraph.svg delete mode 100644 d4/d90/classdata__structures_1_1_skip_list_a86925c53e139cc6c3f7df1e9003bb0b0_cgraph_org.svg delete mode 100644 d4/d90/classdata__structures_1_1_skip_list_aa3f3813e9896792fc86b296547689ba4_cgraph.map delete mode 100644 d4/d90/classdata__structures_1_1_skip_list_aa3f3813e9896792fc86b296547689ba4_cgraph.md5 delete mode 100644 d4/d90/classdata__structures_1_1_skip_list_aa3f3813e9896792fc86b296547689ba4_cgraph.svg delete mode 100644 d4/d90/classdata__structures_1_1_skip_list_aa3f3813e9896792fc86b296547689ba4_cgraph_org.svg delete mode 100644 d4/d90/classdata__structures_1_1_skip_list_af2f3d4e15b1f47afac849c2e08a730f4_cgraph.map delete mode 100644 d4/d90/classdata__structures_1_1_skip_list_af2f3d4e15b1f47afac849c2e08a730f4_cgraph.md5 delete mode 100644 d4/d90/classdata__structures_1_1_skip_list_af2f3d4e15b1f47afac849c2e08a730f4_cgraph.svg delete mode 100644 d4/d90/classdata__structures_1_1_skip_list_af2f3d4e15b1f47afac849c2e08a730f4_cgraph_org.svg delete mode 100644 d4/d9c/primes__up__to__billion_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d4/d9c/primes__up__to__billion_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d4/d9c/primes__up__to__billion_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d4/d9c/primes__up__to__billion_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 d4/d9c/primes__up__to__billion_8cpp_source.html delete mode 100644 d4/d9d/sum__of__binomial__coefficient_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map delete mode 100644 d4/d9d/sum__of__binomial__coefficient_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 delete mode 100644 d4/d9d/sum__of__binomial__coefficient_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg delete mode 100644 d4/d9d/sum__of__binomial__coefficient_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg delete mode 100644 d4/d9d/sum__of__binomial__coefficient_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d4/d9d/sum__of__binomial__coefficient_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d4/d9d/sum__of__binomial__coefficient_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d4/d9d/sum__of__binomial__coefficient_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 d4/d9d/sum__of__binomial__coefficient_8cpp_source.html delete mode 100644 d4/d9f/selection__sort__recursive_8cpp_a5454eeb691725ccac0f59df1e133f834_cgraph.map delete mode 100644 d4/d9f/selection__sort__recursive_8cpp_a5454eeb691725ccac0f59df1e133f834_cgraph.md5 delete mode 100644 d4/d9f/selection__sort__recursive_8cpp_a5454eeb691725ccac0f59df1e133f834_cgraph.svg delete mode 100644 d4/d9f/selection__sort__recursive_8cpp_a5454eeb691725ccac0f59df1e133f834_cgraph_org.svg delete mode 100644 d4/d9f/selection__sort__recursive_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map delete mode 100644 d4/d9f/selection__sort__recursive_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 delete mode 100644 d4/d9f/selection__sort__recursive_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg delete mode 100644 d4/d9f/selection__sort__recursive_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg delete mode 100644 d4/d9f/selection__sort__recursive_8cpp_ab6f7b33a070e376e1f4374e534435e89_cgraph.map delete mode 100644 d4/d9f/selection__sort__recursive_8cpp_ab6f7b33a070e376e1f4374e534435e89_cgraph.md5 delete mode 100644 d4/d9f/selection__sort__recursive_8cpp_ab6f7b33a070e376e1f4374e534435e89_cgraph.svg delete mode 100644 d4/d9f/selection__sort__recursive_8cpp_ab6f7b33a070e376e1f4374e534435e89_cgraph_org.svg delete mode 100644 d4/d9f/selection__sort__recursive_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d4/d9f/selection__sort__recursive_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d4/d9f/selection__sort__recursive_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d4/d9f/selection__sort__recursive_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 d4/d9f/selection__sort__recursive_8cpp_source.html delete mode 100644 d4/da0/gcd__iterative__euclidean_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d4/da0/gcd__iterative__euclidean_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d4/da0/gcd__iterative__euclidean_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d4/da0/gcd__iterative__euclidean_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 d4/da0/gcd__iterative__euclidean_8cpp_source.html delete mode 100644 d4/da0/kadane_8cpp_af3029007a422a914a85c0b0122f1c7b4_cgraph.map delete mode 100644 d4/da0/kadane_8cpp_af3029007a422a914a85c0b0122f1c7b4_cgraph.md5 delete mode 100644 d4/da0/kadane_8cpp_af3029007a422a914a85c0b0122f1c7b4_cgraph.svg delete mode 100644 d4/da0/kadane_8cpp_af3029007a422a914a85c0b0122f1c7b4_cgraph_org.svg create mode 100644 d4/da0/kadane_8cpp_source.html delete mode 100644 d4/db4/struct_segment_intersection_a008941b2272866c64cdaf959afa939bf_cgraph.map delete mode 100644 d4/db4/struct_segment_intersection_a008941b2272866c64cdaf959afa939bf_cgraph.md5 delete mode 100644 d4/db4/struct_segment_intersection_a008941b2272866c64cdaf959afa939bf_cgraph.svg delete mode 100644 d4/db4/struct_segment_intersection_a008941b2272866c64cdaf959afa939bf_cgraph_org.svg delete mode 100644 d4/db6/reverse__binary__tree_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map delete mode 100644 d4/db6/reverse__binary__tree_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 delete mode 100644 d4/db6/reverse__binary__tree_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg delete mode 100644 d4/db6/reverse__binary__tree_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg delete mode 100644 d4/db6/reverse__binary__tree_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d4/db6/reverse__binary__tree_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d4/db6/reverse__binary__tree_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d4/db6/reverse__binary__tree_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 d4/db6/reverse__binary__tree_8cpp_source.html delete mode 100644 d4/db8/longest__substring__without__repeating__characters_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.map delete mode 100644 d4/db8/longest__substring__without__repeating__characters_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 delete mode 100644 d4/db8/longest__substring__without__repeating__characters_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.svg delete mode 100644 d4/db8/longest__substring__without__repeating__characters_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph_org.svg delete mode 100644 d4/db8/longest__substring__without__repeating__characters_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d4/db8/longest__substring__without__repeating__characters_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d4/db8/longest__substring__without__repeating__characters_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d4/db8/longest__substring__without__repeating__characters_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 d4/db8/longest__substring__without__repeating__characters_8cpp_source.html delete mode 100644 d4/dd2/namespacequadratic__probing_a00ebcc6d39653eccc26f8432efbfc8d9_cgraph.map delete mode 100644 d4/dd2/namespacequadratic__probing_a00ebcc6d39653eccc26f8432efbfc8d9_cgraph.md5 delete mode 100644 d4/dd2/namespacequadratic__probing_a00ebcc6d39653eccc26f8432efbfc8d9_cgraph.svg delete mode 100644 d4/dd2/namespacequadratic__probing_a00ebcc6d39653eccc26f8432efbfc8d9_cgraph_org.svg delete mode 100644 d4/dd2/namespacequadratic__probing_a07a0467b24102260fbb6b554c453c20a_cgraph.map delete mode 100644 d4/dd2/namespacequadratic__probing_a07a0467b24102260fbb6b554c453c20a_cgraph.md5 delete mode 100644 d4/dd2/namespacequadratic__probing_a07a0467b24102260fbb6b554c453c20a_cgraph.svg delete mode 100644 d4/dd2/namespacequadratic__probing_a07a0467b24102260fbb6b554c453c20a_cgraph_org.svg delete mode 100644 d4/dd2/namespacequadratic__probing_a312143ed316d48978084c025ff8d9768_cgraph.map delete mode 100644 d4/dd2/namespacequadratic__probing_a312143ed316d48978084c025ff8d9768_cgraph.md5 delete mode 100644 d4/dd2/namespacequadratic__probing_a312143ed316d48978084c025ff8d9768_cgraph.svg delete mode 100644 d4/dd2/namespacequadratic__probing_a312143ed316d48978084c025ff8d9768_cgraph_org.svg delete mode 100644 d4/dd2/namespacequadratic__probing_a40d617ebf4d6ba21bcda8d8d1faa2357_cgraph.map delete mode 100644 d4/dd2/namespacequadratic__probing_a40d617ebf4d6ba21bcda8d8d1faa2357_cgraph.md5 delete mode 100644 d4/dd2/namespacequadratic__probing_a40d617ebf4d6ba21bcda8d8d1faa2357_cgraph.svg delete mode 100644 d4/dd2/namespacequadratic__probing_a40d617ebf4d6ba21bcda8d8d1faa2357_cgraph_org.svg delete mode 100644 d4/dd2/namespacequadratic__probing_a5ceee4128d92ca4412040b7104d1299d_cgraph.map delete mode 100644 d4/dd2/namespacequadratic__probing_a5ceee4128d92ca4412040b7104d1299d_cgraph.md5 delete mode 100644 d4/dd2/namespacequadratic__probing_a5ceee4128d92ca4412040b7104d1299d_cgraph.svg delete mode 100644 d4/dd2/namespacequadratic__probing_a5ceee4128d92ca4412040b7104d1299d_cgraph_org.svg delete mode 100644 d4/dd2/namespacequadratic__probing_a69fe1f7c36fe004ba83eef2ca82e7e30_cgraph.map delete mode 100644 d4/dd2/namespacequadratic__probing_a69fe1f7c36fe004ba83eef2ca82e7e30_cgraph.md5 delete mode 100644 d4/dd2/namespacequadratic__probing_a69fe1f7c36fe004ba83eef2ca82e7e30_cgraph.svg delete mode 100644 d4/dd2/namespacequadratic__probing_a69fe1f7c36fe004ba83eef2ca82e7e30_cgraph_org.svg delete mode 100644 d4/dd2/namespacequadratic__probing_ab431981b54c0bae1b2956f716aee1dcf_cgraph.map delete mode 100644 d4/dd2/namespacequadratic__probing_ab431981b54c0bae1b2956f716aee1dcf_cgraph.md5 delete mode 100644 d4/dd2/namespacequadratic__probing_ab431981b54c0bae1b2956f716aee1dcf_cgraph.svg delete mode 100644 d4/dd2/namespacequadratic__probing_ab431981b54c0bae1b2956f716aee1dcf_cgraph_org.svg delete mode 100644 d4/dd2/namespacequadratic__probing_ada6f1f44f7e83b0094fbcbe170788486_cgraph.map delete mode 100644 d4/dd2/namespacequadratic__probing_ada6f1f44f7e83b0094fbcbe170788486_cgraph.md5 delete mode 100644 d4/dd2/namespacequadratic__probing_ada6f1f44f7e83b0094fbcbe170788486_cgraph.svg delete mode 100644 d4/dd2/namespacequadratic__probing_ada6f1f44f7e83b0094fbcbe170788486_cgraph_org.svg delete mode 100644 d4/dde/classgeometry_1_1jarvis_1_1_convexhull_a8306e48040a8570e164c58d1c530f870_cgraph.map delete mode 100644 d4/dde/classgeometry_1_1jarvis_1_1_convexhull_a8306e48040a8570e164c58d1c530f870_cgraph.md5 delete mode 100644 d4/dde/classgeometry_1_1jarvis_1_1_convexhull_a8306e48040a8570e164c58d1c530f870_cgraph.svg delete mode 100644 d4/dde/classgeometry_1_1jarvis_1_1_convexhull_a8306e48040a8570e164c58d1c530f870_cgraph_org.svg delete mode 100644 d4/dde/classgeometry_1_1jarvis_1_1_convexhull_aeec46e86786ddd461464b07a77c4d5f1_cgraph.map delete mode 100644 d4/dde/classgeometry_1_1jarvis_1_1_convexhull_aeec46e86786ddd461464b07a77c4d5f1_cgraph.md5 delete mode 100644 d4/dde/classgeometry_1_1jarvis_1_1_convexhull_aeec46e86786ddd461464b07a77c4d5f1_cgraph.svg delete mode 100644 d4/dde/classgeometry_1_1jarvis_1_1_convexhull_aeec46e86786ddd461464b07a77c4d5f1_cgraph_org.svg delete mode 100644 d4/def/kohonen__som__topology_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph.map delete mode 100644 d4/def/kohonen__som__topology_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph.md5 delete mode 100644 d4/def/kohonen__som__topology_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph.svg delete mode 100644 d4/def/kohonen__som__topology_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph_org.svg delete mode 100644 d4/def/kohonen__som__topology_8cpp_a1302662a56ebf67a21249270b017297e_cgraph.map delete mode 100644 d4/def/kohonen__som__topology_8cpp_a1302662a56ebf67a21249270b017297e_cgraph.md5 delete mode 100644 d4/def/kohonen__som__topology_8cpp_a1302662a56ebf67a21249270b017297e_cgraph.svg delete mode 100644 d4/def/kohonen__som__topology_8cpp_a1302662a56ebf67a21249270b017297e_cgraph_org.svg delete mode 100644 d4/def/kohonen__som__topology_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph.map delete mode 100644 d4/def/kohonen__som__topology_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph.md5 delete mode 100644 d4/def/kohonen__som__topology_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph.svg delete mode 100644 d4/def/kohonen__som__topology_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph_org.svg delete mode 100644 d4/def/kohonen__som__topology_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph.map delete mode 100644 d4/def/kohonen__som__topology_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph.md5 delete mode 100644 d4/def/kohonen__som__topology_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph.svg delete mode 100644 d4/def/kohonen__som__topology_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph_org.svg delete mode 100644 d4/def/kohonen__som__topology_8cpp_a48efb079040c7aaa3a4917a0e486cba9_cgraph.map delete mode 100644 d4/def/kohonen__som__topology_8cpp_a48efb079040c7aaa3a4917a0e486cba9_cgraph.md5 delete mode 100644 d4/def/kohonen__som__topology_8cpp_a48efb079040c7aaa3a4917a0e486cba9_cgraph.svg delete mode 100644 d4/def/kohonen__som__topology_8cpp_a48efb079040c7aaa3a4917a0e486cba9_cgraph_org.svg delete mode 100644 d4/def/kohonen__som__topology_8cpp_a4b7ab643f6a5002f991837de46f70653_cgraph.map delete mode 100644 d4/def/kohonen__som__topology_8cpp_a4b7ab643f6a5002f991837de46f70653_cgraph.md5 delete mode 100644 d4/def/kohonen__som__topology_8cpp_a4b7ab643f6a5002f991837de46f70653_cgraph.svg delete mode 100644 d4/def/kohonen__som__topology_8cpp_a4b7ab643f6a5002f991837de46f70653_cgraph_org.svg delete mode 100644 d4/def/kohonen__som__topology_8cpp_a6d0455dd5c30adda100e95f0423c786e_cgraph.map delete mode 100644 d4/def/kohonen__som__topology_8cpp_a6d0455dd5c30adda100e95f0423c786e_cgraph.md5 delete mode 100644 d4/def/kohonen__som__topology_8cpp_a6d0455dd5c30adda100e95f0423c786e_cgraph.svg delete mode 100644 d4/def/kohonen__som__topology_8cpp_a6d0455dd5c30adda100e95f0423c786e_cgraph_org.svg create mode 100644 d4/def/kohonen__som__topology_8cpp_source.html create mode 100644 d4/def/longest__common__subsequence_8cpp_source.html delete mode 100644 d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a2be1b52bb9f57486f9a436f35c9089c0_cgraph.map delete mode 100644 d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a2be1b52bb9f57486f9a436f35c9089c0_cgraph.md5 delete mode 100644 d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a2be1b52bb9f57486f9a436f35c9089c0_cgraph.svg delete mode 100644 d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a2be1b52bb9f57486f9a436f35c9089c0_cgraph_org.svg delete mode 100644 d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a361a45f3c3d8347d79103bf182d0570b_cgraph.map delete mode 100644 d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a361a45f3c3d8347d79103bf182d0570b_cgraph.md5 delete mode 100644 d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a361a45f3c3d8347d79103bf182d0570b_cgraph.svg delete mode 100644 d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a361a45f3c3d8347d79103bf182d0570b_cgraph_org.svg delete mode 100644 d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a36494e26ff36d6e15c1022bb9a1ee848_cgraph.map delete mode 100644 d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a36494e26ff36d6e15c1022bb9a1ee848_cgraph.md5 delete mode 100644 d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a36494e26ff36d6e15c1022bb9a1ee848_cgraph.svg delete mode 100644 d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a36494e26ff36d6e15c1022bb9a1ee848_cgraph_org.svg delete mode 100644 d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a3b9eac1824d365dce715fb17c33cb96f_cgraph.map delete mode 100644 d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a3b9eac1824d365dce715fb17c33cb96f_cgraph.md5 delete mode 100644 d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a3b9eac1824d365dce715fb17c33cb96f_cgraph.svg delete mode 100644 d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a3b9eac1824d365dce715fb17c33cb96f_cgraph_org.svg delete mode 100644 d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a4c4c6f63ab965317f9471518ee931b89_cgraph.map delete mode 100644 d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a4c4c6f63ab965317f9471518ee931b89_cgraph.md5 delete mode 100644 d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a4c4c6f63ab965317f9471518ee931b89_cgraph.svg delete mode 100644 d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a4c4c6f63ab965317f9471518ee931b89_cgraph_org.svg delete mode 100644 d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a4f14e473bb0722c6490b9dc8da5982aa_cgraph.map delete mode 100644 d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a4f14e473bb0722c6490b9dc8da5982aa_cgraph.md5 delete mode 100644 d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a4f14e473bb0722c6490b9dc8da5982aa_cgraph.svg delete mode 100644 d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a4f14e473bb0722c6490b9dc8da5982aa_cgraph_org.svg delete mode 100644 d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a5172a6791b9bd24f4232bab8d6b81fff_cgraph.map delete mode 100644 d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a5172a6791b9bd24f4232bab8d6b81fff_cgraph.md5 delete mode 100644 d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a5172a6791b9bd24f4232bab8d6b81fff_cgraph.svg delete mode 100644 d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a5172a6791b9bd24f4232bab8d6b81fff_cgraph_org.svg delete mode 100644 d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a58ed20abf6ce3744535bd8b5bb9e741b_cgraph.map delete mode 100644 d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a58ed20abf6ce3744535bd8b5bb9e741b_cgraph.md5 delete mode 100644 d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a58ed20abf6ce3744535bd8b5bb9e741b_cgraph.svg delete mode 100644 d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a58ed20abf6ce3744535bd8b5bb9e741b_cgraph_org.svg delete mode 100644 d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a61d30113d13304c664057118b92a5931_cgraph.map delete mode 100644 d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a61d30113d13304c664057118b92a5931_cgraph.md5 delete mode 100644 d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a61d30113d13304c664057118b92a5931_cgraph.svg delete mode 100644 d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a61d30113d13304c664057118b92a5931_cgraph_org.svg delete mode 100644 d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a62151b0398a2536be60d950e10ffe9a8_cgraph.map delete mode 100644 d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a62151b0398a2536be60d950e10ffe9a8_cgraph.md5 delete mode 100644 d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a62151b0398a2536be60d950e10ffe9a8_cgraph.svg delete mode 100644 d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a62151b0398a2536be60d950e10ffe9a8_cgraph_org.svg delete mode 100644 d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a650c677fd6512665741ddd9b7983275d_cgraph.map delete mode 100644 d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a650c677fd6512665741ddd9b7983275d_cgraph.md5 delete mode 100644 d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a650c677fd6512665741ddd9b7983275d_cgraph.svg delete mode 100644 d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a650c677fd6512665741ddd9b7983275d_cgraph_org.svg delete mode 100644 d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a88bf9023ab3d4cdb61cf707c7cdfc86b_cgraph.map delete mode 100644 d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a88bf9023ab3d4cdb61cf707c7cdfc86b_cgraph.md5 delete mode 100644 d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a88bf9023ab3d4cdb61cf707c7cdfc86b_cgraph.svg delete mode 100644 d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a88bf9023ab3d4cdb61cf707c7cdfc86b_cgraph_org.svg delete mode 100644 d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_aec648ea4f40bd71123b5f907a681dd8e_cgraph.map delete mode 100644 d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_aec648ea4f40bd71123b5f907a681dd8e_cgraph.md5 delete mode 100644 d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_aec648ea4f40bd71123b5f907a681dd8e_cgraph.svg delete mode 100644 d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_aec648ea4f40bd71123b5f907a681dd8e_cgraph_org.svg delete mode 100644 d5/d1e/next__higher__number__with__same__number__of__set__bits_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map delete mode 100644 d5/d1e/next__higher__number__with__same__number__of__set__bits_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 delete mode 100644 d5/d1e/next__higher__number__with__same__number__of__set__bits_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg delete mode 100644 d5/d1e/next__higher__number__with__same__number__of__set__bits_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg delete mode 100644 d5/d1e/next__higher__number__with__same__number__of__set__bits_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d5/d1e/next__higher__number__with__same__number__of__set__bits_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d5/d1e/next__higher__number__with__same__number__of__set__bits_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d5/d1e/next__higher__number__with__same__number__of__set__bits_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 d5/d1e/next__higher__number__with__same__number__of__set__bits_8cpp_source.html create mode 100644 d5/d1e/tim__sort_8cpp_source.html create mode 100644 d5/d21/longest__increasing__subsequence__nlogn_8cpp_source.html create mode 100644 d5/d25/bead__sort_8cpp_source.html delete mode 100644 d5/d33/gram__schmidt_8cpp_a0837468e1a653ed056e2cce3c914afa5_cgraph.map delete mode 100644 d5/d33/gram__schmidt_8cpp_a0837468e1a653ed056e2cce3c914afa5_cgraph.md5 delete mode 100644 d5/d33/gram__schmidt_8cpp_a0837468e1a653ed056e2cce3c914afa5_cgraph.svg delete mode 100644 d5/d33/gram__schmidt_8cpp_a0837468e1a653ed056e2cce3c914afa5_cgraph_org.svg delete mode 100644 d5/d33/gram__schmidt_8cpp_a8eeaafdde8b56f459aadc6013cf078bc_cgraph.map delete mode 100644 d5/d33/gram__schmidt_8cpp_a8eeaafdde8b56f459aadc6013cf078bc_cgraph.md5 delete mode 100644 d5/d33/gram__schmidt_8cpp_a8eeaafdde8b56f459aadc6013cf078bc_cgraph.svg delete mode 100644 d5/d33/gram__schmidt_8cpp_a8eeaafdde8b56f459aadc6013cf078bc_cgraph_org.svg delete mode 100644 d5/d33/gram__schmidt_8cpp_ac4a4504924ecc9f12a2ebd80788ec01d_cgraph.map delete mode 100644 d5/d33/gram__schmidt_8cpp_ac4a4504924ecc9f12a2ebd80788ec01d_cgraph.md5 delete mode 100644 d5/d33/gram__schmidt_8cpp_ac4a4504924ecc9f12a2ebd80788ec01d_cgraph.svg delete mode 100644 d5/d33/gram__schmidt_8cpp_ac4a4504924ecc9f12a2ebd80788ec01d_cgraph_org.svg delete mode 100644 d5/d33/gram__schmidt_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d5/d33/gram__schmidt_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d5/d33/gram__schmidt_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d5/d33/gram__schmidt_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 d5/d33/gram__schmidt_8cpp_source.html delete mode 100644 d5/d45/sublist__search_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.map delete mode 100644 d5/d45/sublist__search_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.md5 delete mode 100644 d5/d45/sublist__search_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.svg delete mode 100644 d5/d45/sublist__search_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph_org.svg delete mode 100644 d5/d45/sublist__search_8cpp_a4faee403e2758aaab682ed6622ae218c_cgraph.map delete mode 100644 d5/d45/sublist__search_8cpp_a4faee403e2758aaab682ed6622ae218c_cgraph.md5 delete mode 100644 d5/d45/sublist__search_8cpp_a4faee403e2758aaab682ed6622ae218c_cgraph.svg delete mode 100644 d5/d45/sublist__search_8cpp_a4faee403e2758aaab682ed6622ae218c_cgraph_org.svg delete mode 100644 d5/d45/sublist__search_8cpp_a70ca8d0267008e09cfa50b4e2ddfbe53_cgraph.map delete mode 100644 d5/d45/sublist__search_8cpp_a70ca8d0267008e09cfa50b4e2ddfbe53_cgraph.md5 delete mode 100644 d5/d45/sublist__search_8cpp_a70ca8d0267008e09cfa50b4e2ddfbe53_cgraph.svg delete mode 100644 d5/d45/sublist__search_8cpp_a70ca8d0267008e09cfa50b4e2ddfbe53_cgraph_org.svg delete mode 100644 d5/d45/sublist__search_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map delete mode 100644 d5/d45/sublist__search_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 delete mode 100644 d5/d45/sublist__search_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg delete mode 100644 d5/d45/sublist__search_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg delete mode 100644 d5/d45/sublist__search_8cpp_ad1028bc215281d62e344af99da57fab2_cgraph.map delete mode 100644 d5/d45/sublist__search_8cpp_ad1028bc215281d62e344af99da57fab2_cgraph.md5 delete mode 100644 d5/d45/sublist__search_8cpp_ad1028bc215281d62e344af99da57fab2_cgraph.svg delete mode 100644 d5/d45/sublist__search_8cpp_ad1028bc215281d62e344af99da57fab2_cgraph_org.svg create mode 100644 d5/d45/sublist__search_8cpp_source.html delete mode 100644 d5/d4c/group__sorting_ga135e4c638e3bcf548bd122b5f49a3e72_cgraph.map delete mode 100644 d5/d4c/group__sorting_ga135e4c638e3bcf548bd122b5f49a3e72_cgraph.md5 delete mode 100644 d5/d4c/group__sorting_ga135e4c638e3bcf548bd122b5f49a3e72_cgraph.svg delete mode 100644 d5/d4c/group__sorting_ga135e4c638e3bcf548bd122b5f49a3e72_cgraph_org.svg delete mode 100644 d5/d4c/group__sorting_ga29d28b140174dbdde7c9f5157758435f_cgraph.map delete mode 100644 d5/d4c/group__sorting_ga29d28b140174dbdde7c9f5157758435f_cgraph.md5 delete mode 100644 d5/d4c/group__sorting_ga29d28b140174dbdde7c9f5157758435f_cgraph.svg delete mode 100644 d5/d4c/group__sorting_ga29d28b140174dbdde7c9f5157758435f_cgraph_org.svg delete mode 100644 d5/d4c/group__sorting_gaa8dca7b867074164d5f45b0f3851269d_cgraph.map delete mode 100644 d5/d4c/group__sorting_gaa8dca7b867074164d5f45b0f3851269d_cgraph.md5 delete mode 100644 d5/d4c/group__sorting_gaa8dca7b867074164d5f45b0f3851269d_cgraph.svg delete mode 100644 d5/d4c/group__sorting_gaa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg delete mode 100644 d5/d4c/group__sorting_gab6b14fea48d9841e29b9fc26be6e05d7_cgraph.map delete mode 100644 d5/d4c/group__sorting_gab6b14fea48d9841e29b9fc26be6e05d7_cgraph.md5 delete mode 100644 d5/d4c/group__sorting_gab6b14fea48d9841e29b9fc26be6e05d7_cgraph.svg delete mode 100644 d5/d4c/group__sorting_gab6b14fea48d9841e29b9fc26be6e05d7_cgraph_org.svg delete mode 100644 d5/d4c/group__sorting_gae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d5/d4c/group__sorting_gae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d5/d4c/group__sorting_gae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d5/d4c/group__sorting_gae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg delete mode 100644 d5/d58/class_test_cases_aa3aa3d5bf666f327ee8e2d11d397b06e_cgraph.map delete mode 100644 d5/d58/class_test_cases_aa3aa3d5bf666f327ee8e2d11d397b06e_cgraph.md5 delete mode 100644 d5/d58/class_test_cases_aa3aa3d5bf666f327ee8e2d11d397b06e_cgraph.svg delete mode 100644 d5/d58/class_test_cases_aa3aa3d5bf666f327ee8e2d11d397b06e_cgraph_org.svg delete mode 100644 d5/d58/class_test_cases_abae0148985f159b582a385cf399254e3_cgraph.map delete mode 100644 d5/d58/class_test_cases_abae0148985f159b582a385cf399254e3_cgraph.md5 delete mode 100644 d5/d58/class_test_cases_abae0148985f159b582a385cf399254e3_cgraph.svg delete mode 100644 d5/d58/class_test_cases_abae0148985f159b582a385cf399254e3_cgraph_org.svg delete mode 100644 d5/d58/class_test_cases_ac2636e8b5b9e053374c45bfcf0603008_cgraph.map delete mode 100644 d5/d58/class_test_cases_ac2636e8b5b9e053374c45bfcf0603008_cgraph.md5 delete mode 100644 d5/d58/class_test_cases_ac2636e8b5b9e053374c45bfcf0603008_cgraph.svg delete mode 100644 d5/d58/class_test_cases_ac2636e8b5b9e053374c45bfcf0603008_cgraph_org.svg delete mode 100644 d5/d58/class_test_cases_ad9f95c09931625b41e3be1f88d1e28c5_cgraph.map delete mode 100644 d5/d58/class_test_cases_ad9f95c09931625b41e3be1f88d1e28c5_cgraph.md5 delete mode 100644 d5/d58/class_test_cases_ad9f95c09931625b41e3be1f88d1e28c5_cgraph.svg delete mode 100644 d5/d58/class_test_cases_ad9f95c09931625b41e3be1f88d1e28c5_cgraph_org.svg delete mode 100644 d5/d58/class_test_cases_aeabea90c02f9159e4a784bbf736e1e23_cgraph.map delete mode 100644 d5/d58/class_test_cases_aeabea90c02f9159e4a784bbf736e1e23_cgraph.md5 delete mode 100644 d5/d58/class_test_cases_aeabea90c02f9159e4a784bbf736e1e23_cgraph.svg delete mode 100644 d5/d58/class_test_cases_aeabea90c02f9159e4a784bbf736e1e23_cgraph_org.svg delete mode 100644 d5/d58/persistent__seg__tree__lazy__prop_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map delete mode 100644 d5/d58/persistent__seg__tree__lazy__prop_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 delete mode 100644 d5/d58/persistent__seg__tree__lazy__prop_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg delete mode 100644 d5/d58/persistent__seg__tree__lazy__prop_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg delete mode 100644 d5/d58/persistent__seg__tree__lazy__prop_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d5/d58/persistent__seg__tree__lazy__prop_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d5/d58/persistent__seg__tree__lazy__prop_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d5/d58/persistent__seg__tree__lazy__prop_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 d5/d58/persistent__seg__tree__lazy__prop_8cpp_source.html delete mode 100644 d5/d67/bayes__theorem_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d5/d67/bayes__theorem_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d5/d67/bayes__theorem_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d5/d67/bayes__theorem_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 d5/d67/bayes__theorem_8cpp_source.html delete mode 100644 d5/d67/complex__numbers_8cpp_a44d5f25b573e870accdf26fd32b8484d_cgraph.map delete mode 100644 d5/d67/complex__numbers_8cpp_a44d5f25b573e870accdf26fd32b8484d_cgraph.md5 delete mode 100644 d5/d67/complex__numbers_8cpp_a44d5f25b573e870accdf26fd32b8484d_cgraph.svg delete mode 100644 d5/d67/complex__numbers_8cpp_a44d5f25b573e870accdf26fd32b8484d_cgraph_org.svg delete mode 100644 d5/d67/complex__numbers_8cpp_a5a73e9d4e68af8cedb95bd0864054b89_cgraph.map delete mode 100644 d5/d67/complex__numbers_8cpp_a5a73e9d4e68af8cedb95bd0864054b89_cgraph.md5 delete mode 100644 d5/d67/complex__numbers_8cpp_a5a73e9d4e68af8cedb95bd0864054b89_cgraph.svg delete mode 100644 d5/d67/complex__numbers_8cpp_a5a73e9d4e68af8cedb95bd0864054b89_cgraph_org.svg delete mode 100644 d5/d67/complex__numbers_8cpp_a5d4d5b8250b50703de888514c8e7a7a0_cgraph.map delete mode 100644 d5/d67/complex__numbers_8cpp_a5d4d5b8250b50703de888514c8e7a7a0_cgraph.md5 delete mode 100644 d5/d67/complex__numbers_8cpp_a5d4d5b8250b50703de888514c8e7a7a0_cgraph.svg delete mode 100644 d5/d67/complex__numbers_8cpp_a5d4d5b8250b50703de888514c8e7a7a0_cgraph_org.svg delete mode 100644 d5/d67/complex__numbers_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph.map delete mode 100644 d5/d67/complex__numbers_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph.md5 delete mode 100644 d5/d67/complex__numbers_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph.svg delete mode 100644 d5/d67/complex__numbers_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph_org.svg delete mode 100644 d5/d67/complex__numbers_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d5/d67/complex__numbers_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d5/d67/complex__numbers_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d5/d67/complex__numbers_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 d5/d67/complex__numbers_8cpp_source.html delete mode 100644 d5/d7a/largest__power_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map delete mode 100644 d5/d7a/largest__power_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 delete mode 100644 d5/d7a/largest__power_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg delete mode 100644 d5/d7a/largest__power_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg delete mode 100644 d5/d7a/largest__power_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d5/d7a/largest__power_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d5/d7a/largest__power_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d5/d7a/largest__power_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 d5/d7a/largest__power_8cpp_source.html create mode 100644 d5/d82/edit__distance_8cpp_source.html delete mode 100644 d5/d83/lcm__sum_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map delete mode 100644 d5/d83/lcm__sum_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 delete mode 100644 d5/d83/lcm__sum_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg delete mode 100644 d5/d83/lcm__sum_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg delete mode 100644 d5/d83/lcm__sum_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d5/d83/lcm__sum_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d5/d83/lcm__sum_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d5/d83/lcm__sum_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 d5/d83/lcm__sum_8cpp_source.html delete mode 100644 d5/d8a/trie__using__hashmap_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map delete mode 100644 d5/d8a/trie__using__hashmap_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 delete mode 100644 d5/d8a/trie__using__hashmap_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg delete mode 100644 d5/d8a/trie__using__hashmap_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg delete mode 100644 d5/d8a/trie__using__hashmap_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d5/d8a/trie__using__hashmap_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d5/d8a/trie__using__hashmap_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d5/d8a/trie__using__hashmap_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 d5/d8a/trie__using__hashmap_8cpp_source.html create mode 100644 d5/d8e/huffman_8cpp_source.html delete mode 100644 d5/d90/palindrome__partitioning_8cpp_a52ee22882858d2b1cf04293f02ed839a_cgraph.map delete mode 100644 d5/d90/palindrome__partitioning_8cpp_a52ee22882858d2b1cf04293f02ed839a_cgraph.md5 delete mode 100644 d5/d90/palindrome__partitioning_8cpp_a52ee22882858d2b1cf04293f02ed839a_cgraph.svg delete mode 100644 d5/d90/palindrome__partitioning_8cpp_a52ee22882858d2b1cf04293f02ed839a_cgraph_org.svg delete mode 100644 d5/d90/palindrome__partitioning_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d5/d90/palindrome__partitioning_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d5/d90/palindrome__partitioning_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d5/d90/palindrome__partitioning_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 d5/d90/palindrome__partitioning_8cpp_source.html delete mode 100644 d5/d91/namespacesorting_a034d8b276518a902962e87d3158b64fd_cgraph.map delete mode 100644 d5/d91/namespacesorting_a034d8b276518a902962e87d3158b64fd_cgraph.md5 delete mode 100644 d5/d91/namespacesorting_a034d8b276518a902962e87d3158b64fd_cgraph.svg delete mode 100644 d5/d91/namespacesorting_a034d8b276518a902962e87d3158b64fd_cgraph_org.svg delete mode 100644 d5/d91/namespacesorting_a0e9e1b21a1684585e9e50f9afe4d53a3_cgraph.map delete mode 100644 d5/d91/namespacesorting_a0e9e1b21a1684585e9e50f9afe4d53a3_cgraph.md5 delete mode 100644 d5/d91/namespacesorting_a0e9e1b21a1684585e9e50f9afe4d53a3_cgraph.svg delete mode 100644 d5/d91/namespacesorting_a0e9e1b21a1684585e9e50f9afe4d53a3_cgraph_org.svg delete mode 100644 d5/d91/namespacesorting_a140d913e42fb94176a0b2c8b29a80420_cgraph.map delete mode 100644 d5/d91/namespacesorting_a140d913e42fb94176a0b2c8b29a80420_cgraph.md5 delete mode 100644 d5/d91/namespacesorting_a140d913e42fb94176a0b2c8b29a80420_cgraph.svg delete mode 100644 d5/d91/namespacesorting_a140d913e42fb94176a0b2c8b29a80420_cgraph_org.svg delete mode 100644 d5/d91/namespacesorting_a263595fd9a0163b5b997b89fab3a0dc5_cgraph.map delete mode 100644 d5/d91/namespacesorting_a263595fd9a0163b5b997b89fab3a0dc5_cgraph.md5 delete mode 100644 d5/d91/namespacesorting_a263595fd9a0163b5b997b89fab3a0dc5_cgraph.svg delete mode 100644 d5/d91/namespacesorting_a263595fd9a0163b5b997b89fab3a0dc5_cgraph_org.svg delete mode 100644 d5/d91/namespacesorting_a27236b8d3df3832e1f1225576a122534_cgraph.map delete mode 100644 d5/d91/namespacesorting_a27236b8d3df3832e1f1225576a122534_cgraph.md5 delete mode 100644 d5/d91/namespacesorting_a27236b8d3df3832e1f1225576a122534_cgraph.svg delete mode 100644 d5/d91/namespacesorting_a27236b8d3df3832e1f1225576a122534_cgraph_org.svg delete mode 100644 d5/d91/namespacesorting_a2f8bc626eb57acae24a94636a23af6a1_cgraph.map delete mode 100644 d5/d91/namespacesorting_a2f8bc626eb57acae24a94636a23af6a1_cgraph.md5 delete mode 100644 d5/d91/namespacesorting_a2f8bc626eb57acae24a94636a23af6a1_cgraph.svg delete mode 100644 d5/d91/namespacesorting_a2f8bc626eb57acae24a94636a23af6a1_cgraph_org.svg delete mode 100644 d5/d91/namespacesorting_a4d76603c54d3dc56146e92d10a043924_cgraph.map delete mode 100644 d5/d91/namespacesorting_a4d76603c54d3dc56146e92d10a043924_cgraph.md5 delete mode 100644 d5/d91/namespacesorting_a4d76603c54d3dc56146e92d10a043924_cgraph.svg delete mode 100644 d5/d91/namespacesorting_a4d76603c54d3dc56146e92d10a043924_cgraph_org.svg delete mode 100644 d5/d91/namespacesorting_a5f4bc75cca6dd8294af2d0e328006c68_cgraph.map delete mode 100644 d5/d91/namespacesorting_a5f4bc75cca6dd8294af2d0e328006c68_cgraph.md5 delete mode 100644 d5/d91/namespacesorting_a5f4bc75cca6dd8294af2d0e328006c68_cgraph.svg delete mode 100644 d5/d91/namespacesorting_a5f4bc75cca6dd8294af2d0e328006c68_cgraph_org.svg delete mode 100644 d5/d91/namespacesorting_a6eb67c2f91c98cf4464f75b5882022de_cgraph.map delete mode 100644 d5/d91/namespacesorting_a6eb67c2f91c98cf4464f75b5882022de_cgraph.md5 delete mode 100644 d5/d91/namespacesorting_a6eb67c2f91c98cf4464f75b5882022de_cgraph.svg delete mode 100644 d5/d91/namespacesorting_a6eb67c2f91c98cf4464f75b5882022de_cgraph_org.svg delete mode 100644 d5/d91/namespacesorting_a7bfe11bd4703eacd1dab93f25ec639c5_cgraph.map delete mode 100644 d5/d91/namespacesorting_a7bfe11bd4703eacd1dab93f25ec639c5_cgraph.md5 delete mode 100644 d5/d91/namespacesorting_a7bfe11bd4703eacd1dab93f25ec639c5_cgraph.svg delete mode 100644 d5/d91/namespacesorting_a7bfe11bd4703eacd1dab93f25ec639c5_cgraph_org.svg delete mode 100644 d5/d91/namespacesorting_a8fe6bac9e03f58abcc2ce26ef3de1b5f_cgraph.map delete mode 100644 d5/d91/namespacesorting_a8fe6bac9e03f58abcc2ce26ef3de1b5f_cgraph.md5 delete mode 100644 d5/d91/namespacesorting_a8fe6bac9e03f58abcc2ce26ef3de1b5f_cgraph.svg delete mode 100644 d5/d91/namespacesorting_a8fe6bac9e03f58abcc2ce26ef3de1b5f_cgraph_org.svg delete mode 100644 d5/d91/namespacesorting_a9f59fe72dacc1f1218ef3c303d843168_cgraph.map delete mode 100644 d5/d91/namespacesorting_a9f59fe72dacc1f1218ef3c303d843168_cgraph.md5 delete mode 100644 d5/d91/namespacesorting_a9f59fe72dacc1f1218ef3c303d843168_cgraph.svg delete mode 100644 d5/d91/namespacesorting_a9f59fe72dacc1f1218ef3c303d843168_cgraph_org.svg delete mode 100644 d5/d91/namespacesorting_aa26de383227859210f14dcf12201a079_cgraph.map delete mode 100644 d5/d91/namespacesorting_aa26de383227859210f14dcf12201a079_cgraph.md5 delete mode 100644 d5/d91/namespacesorting_aa26de383227859210f14dcf12201a079_cgraph.svg delete mode 100644 d5/d91/namespacesorting_aa26de383227859210f14dcf12201a079_cgraph_org.svg delete mode 100644 d5/d91/namespacesorting_aa3677f87b5b4756bc77e9e34c5f27935_cgraph.map delete mode 100644 d5/d91/namespacesorting_aa3677f87b5b4756bc77e9e34c5f27935_cgraph.md5 delete mode 100644 d5/d91/namespacesorting_aa3677f87b5b4756bc77e9e34c5f27935_cgraph.svg delete mode 100644 d5/d91/namespacesorting_aa3677f87b5b4756bc77e9e34c5f27935_cgraph_org.svg delete mode 100644 d5/d91/namespacesorting_aac8f44b28b4aa96444383030b28f8b34_cgraph.map delete mode 100644 d5/d91/namespacesorting_aac8f44b28b4aa96444383030b28f8b34_cgraph.md5 delete mode 100644 d5/d91/namespacesorting_aac8f44b28b4aa96444383030b28f8b34_cgraph.svg delete mode 100644 d5/d91/namespacesorting_aac8f44b28b4aa96444383030b28f8b34_cgraph_org.svg delete mode 100644 d5/d91/namespacesorting_ae3a775d99dbbb94c130a973df0cfddcf_cgraph.map delete mode 100644 d5/d91/namespacesorting_ae3a775d99dbbb94c130a973df0cfddcf_cgraph.md5 delete mode 100644 d5/d91/namespacesorting_ae3a775d99dbbb94c130a973df0cfddcf_cgraph.svg delete mode 100644 d5/d91/namespacesorting_ae3a775d99dbbb94c130a973df0cfddcf_cgraph_org.svg delete mode 100644 d5/d91/namespacesorting_ae97f4dd815654c4682f564afd718e824_cgraph.map delete mode 100644 d5/d91/namespacesorting_ae97f4dd815654c4682f564afd718e824_cgraph.md5 delete mode 100644 d5/d91/namespacesorting_ae97f4dd815654c4682f564afd718e824_cgraph.svg delete mode 100644 d5/d91/namespacesorting_ae97f4dd815654c4682f564afd718e824_cgraph_org.svg delete mode 100644 d5/d91/namespacesorting_af2c5b92cbfe73f63f6074c61b0a45331_cgraph.map delete mode 100644 d5/d91/namespacesorting_af2c5b92cbfe73f63f6074c61b0a45331_cgraph.md5 delete mode 100644 d5/d91/namespacesorting_af2c5b92cbfe73f63f6074c61b0a45331_cgraph.svg delete mode 100644 d5/d91/namespacesorting_af2c5b92cbfe73f63f6074c61b0a45331_cgraph_org.svg delete mode 100644 d5/d91/namespacesorting_affc6ee160142cd017f8c4b213437d0fd_cgraph.map delete mode 100644 d5/d91/namespacesorting_affc6ee160142cd017f8c4b213437d0fd_cgraph.md5 delete mode 100644 d5/d91/namespacesorting_affc6ee160142cd017f8c4b213437d0fd_cgraph.svg delete mode 100644 d5/d91/namespacesorting_affc6ee160142cd017f8c4b213437d0fd_cgraph_org.svg delete mode 100644 d5/d95/structdata__structures_1_1treap_1_1_treap_a5e884d2686aff501ef589b0d1185492f_cgraph.map delete mode 100644 d5/d95/structdata__structures_1_1treap_1_1_treap_a5e884d2686aff501ef589b0d1185492f_cgraph.md5 delete mode 100644 d5/d95/structdata__structures_1_1treap_1_1_treap_a5e884d2686aff501ef589b0d1185492f_cgraph.svg delete mode 100644 d5/d95/structdata__structures_1_1treap_1_1_treap_a5e884d2686aff501ef589b0d1185492f_cgraph_org.svg delete mode 100644 d5/d95/structdata__structures_1_1treap_1_1_treap_a6a023a4f0c42fb8ed5b3368fba1a5f2c_cgraph.map delete mode 100644 d5/d95/structdata__structures_1_1treap_1_1_treap_a6a023a4f0c42fb8ed5b3368fba1a5f2c_cgraph.md5 delete mode 100644 d5/d95/structdata__structures_1_1treap_1_1_treap_a6a023a4f0c42fb8ed5b3368fba1a5f2c_cgraph.svg delete mode 100644 d5/d95/structdata__structures_1_1treap_1_1_treap_a6a023a4f0c42fb8ed5b3368fba1a5f2c_cgraph_org.svg delete mode 100644 d5/d95/structdata__structures_1_1treap_1_1_treap_a75a48584a6560de20484fbba6229fd29_cgraph.map delete mode 100644 d5/d95/structdata__structures_1_1treap_1_1_treap_a75a48584a6560de20484fbba6229fd29_cgraph.md5 delete mode 100644 d5/d95/structdata__structures_1_1treap_1_1_treap_a75a48584a6560de20484fbba6229fd29_cgraph.svg delete mode 100644 d5/d95/structdata__structures_1_1treap_1_1_treap_a75a48584a6560de20484fbba6229fd29_cgraph_org.svg delete mode 100644 d5/d95/structdata__structures_1_1treap_1_1_treap_a9a77d22f97add119123108211c6655ec_cgraph.map delete mode 100644 d5/d95/structdata__structures_1_1treap_1_1_treap_a9a77d22f97add119123108211c6655ec_cgraph.md5 delete mode 100644 d5/d95/structdata__structures_1_1treap_1_1_treap_a9a77d22f97add119123108211c6655ec_cgraph.svg delete mode 100644 d5/d95/structdata__structures_1_1treap_1_1_treap_a9a77d22f97add119123108211c6655ec_cgraph_org.svg delete mode 100644 d5/d95/structdata__structures_1_1treap_1_1_treap_a9ea2becd904e2e7d22f23a001b444469_cgraph.map delete mode 100644 d5/d95/structdata__structures_1_1treap_1_1_treap_a9ea2becd904e2e7d22f23a001b444469_cgraph.md5 delete mode 100644 d5/d95/structdata__structures_1_1treap_1_1_treap_a9ea2becd904e2e7d22f23a001b444469_cgraph.svg delete mode 100644 d5/d95/structdata__structures_1_1treap_1_1_treap_a9ea2becd904e2e7d22f23a001b444469_cgraph_org.svg delete mode 100644 d5/d95/structdata__structures_1_1treap_1_1_treap_ab2db3ad3aecc240011e0c8b8604d2c69_cgraph.map delete mode 100644 d5/d95/structdata__structures_1_1treap_1_1_treap_ab2db3ad3aecc240011e0c8b8604d2c69_cgraph.md5 delete mode 100644 d5/d95/structdata__structures_1_1treap_1_1_treap_ab2db3ad3aecc240011e0c8b8604d2c69_cgraph.svg delete mode 100644 d5/d95/structdata__structures_1_1treap_1_1_treap_ab2db3ad3aecc240011e0c8b8604d2c69_cgraph_org.svg delete mode 100644 d5/d95/structdata__structures_1_1treap_1_1_treap_ac94e9d69305940f6d8804031455af039_cgraph.map delete mode 100644 d5/d95/structdata__structures_1_1treap_1_1_treap_ac94e9d69305940f6d8804031455af039_cgraph.md5 delete mode 100644 d5/d95/structdata__structures_1_1treap_1_1_treap_ac94e9d69305940f6d8804031455af039_cgraph.svg delete mode 100644 d5/d95/structdata__structures_1_1treap_1_1_treap_ac94e9d69305940f6d8804031455af039_cgraph_org.svg delete mode 100644 d5/d95/structdata__structures_1_1treap_1_1_treap_ad08520c0617eb8dcfcbfa90d258aa6b2_cgraph.map delete mode 100644 d5/d95/structdata__structures_1_1treap_1_1_treap_ad08520c0617eb8dcfcbfa90d258aa6b2_cgraph.md5 delete mode 100644 d5/d95/structdata__structures_1_1treap_1_1_treap_ad08520c0617eb8dcfcbfa90d258aa6b2_cgraph.svg delete mode 100644 d5/d95/structdata__structures_1_1treap_1_1_treap_ad08520c0617eb8dcfcbfa90d258aa6b2_cgraph_org.svg delete mode 100644 d5/d95/structdata__structures_1_1treap_1_1_treap_aeb4bb0db68c7c04ef9498c88c3777887_cgraph.map delete mode 100644 d5/d95/structdata__structures_1_1treap_1_1_treap_aeb4bb0db68c7c04ef9498c88c3777887_cgraph.md5 delete mode 100644 d5/d95/structdata__structures_1_1treap_1_1_treap_aeb4bb0db68c7c04ef9498c88c3777887_cgraph.svg delete mode 100644 d5/d95/structdata__structures_1_1treap_1_1_treap_aeb4bb0db68c7c04ef9498c88c3777887_cgraph_org.svg delete mode 100644 d5/d96/md5_8cpp_a5341431cef7fcfc33794326e1deb2425_cgraph.map delete mode 100644 d5/d96/md5_8cpp_a5341431cef7fcfc33794326e1deb2425_cgraph.md5 delete mode 100644 d5/d96/md5_8cpp_a5341431cef7fcfc33794326e1deb2425_cgraph.svg delete mode 100644 d5/d96/md5_8cpp_a5341431cef7fcfc33794326e1deb2425_cgraph_org.svg delete mode 100644 d5/d96/md5_8cpp_a694712c9665051ba52b686387b87a689_cgraph.map delete mode 100644 d5/d96/md5_8cpp_a694712c9665051ba52b686387b87a689_cgraph.md5 delete mode 100644 d5/d96/md5_8cpp_a694712c9665051ba52b686387b87a689_cgraph.svg delete mode 100644 d5/d96/md5_8cpp_a694712c9665051ba52b686387b87a689_cgraph_org.svg delete mode 100644 d5/d96/md5_8cpp_a6be48c1e6e742f9bd329f501d61dcaef_cgraph.map delete mode 100644 d5/d96/md5_8cpp_a6be48c1e6e742f9bd329f501d61dcaef_cgraph.md5 delete mode 100644 d5/d96/md5_8cpp_a6be48c1e6e742f9bd329f501d61dcaef_cgraph.svg delete mode 100644 d5/d96/md5_8cpp_a6be48c1e6e742f9bd329f501d61dcaef_cgraph_org.svg delete mode 100644 d5/d96/md5_8cpp_a88705fab5f92adf3427b4cf76ff33edb_cgraph.map delete mode 100644 d5/d96/md5_8cpp_a88705fab5f92adf3427b4cf76ff33edb_cgraph.md5 delete mode 100644 d5/d96/md5_8cpp_a88705fab5f92adf3427b4cf76ff33edb_cgraph.svg delete mode 100644 d5/d96/md5_8cpp_a88705fab5f92adf3427b4cf76ff33edb_cgraph_org.svg delete mode 100644 d5/d96/md5_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map delete mode 100644 d5/d96/md5_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 delete mode 100644 d5/d96/md5_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg delete mode 100644 d5/d96/md5_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg delete mode 100644 d5/d96/md5_8cpp_aaee69c6136a841043f956de32116e348_cgraph.map delete mode 100644 d5/d96/md5_8cpp_aaee69c6136a841043f956de32116e348_cgraph.md5 delete mode 100644 d5/d96/md5_8cpp_aaee69c6136a841043f956de32116e348_cgraph.svg delete mode 100644 d5/d96/md5_8cpp_aaee69c6136a841043f956de32116e348_cgraph_org.svg delete mode 100644 d5/d96/md5_8cpp_ac9e1a11f44135b890dd10a00e73b5661_cgraph.map delete mode 100644 d5/d96/md5_8cpp_ac9e1a11f44135b890dd10a00e73b5661_cgraph.md5 delete mode 100644 d5/d96/md5_8cpp_ac9e1a11f44135b890dd10a00e73b5661_cgraph.svg delete mode 100644 d5/d96/md5_8cpp_ac9e1a11f44135b890dd10a00e73b5661_cgraph_org.svg delete mode 100644 d5/d96/md5_8cpp_add2bf982d5dd64a45d13cba52c2b371d_cgraph.map delete mode 100644 d5/d96/md5_8cpp_add2bf982d5dd64a45d13cba52c2b371d_cgraph.md5 delete mode 100644 d5/d96/md5_8cpp_add2bf982d5dd64a45d13cba52c2b371d_cgraph.svg delete mode 100644 d5/d96/md5_8cpp_add2bf982d5dd64a45d13cba52c2b371d_cgraph_org.svg delete mode 100644 d5/d96/md5_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d5/d96/md5_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d5/d96/md5_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d5/d96/md5_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg delete mode 100644 d5/d96/md5_8cpp_af8e96bde0183c4b0a7ff04668f11e446_cgraph.map delete mode 100644 d5/d96/md5_8cpp_af8e96bde0183c4b0a7ff04668f11e446_cgraph.md5 delete mode 100644 d5/d96/md5_8cpp_af8e96bde0183c4b0a7ff04668f11e446_cgraph.svg delete mode 100644 d5/d96/md5_8cpp_af8e96bde0183c4b0a7ff04668f11e446_cgraph_org.svg create mode 100644 d5/d96/md5_8cpp_source.html delete mode 100644 d5/dab/structdata__structures_1_1list__array_1_1list_a133635ad53bd89e3947ca02448819180_cgraph.map delete mode 100644 d5/dab/structdata__structures_1_1list__array_1_1list_a133635ad53bd89e3947ca02448819180_cgraph.md5 delete mode 100644 d5/dab/structdata__structures_1_1list__array_1_1list_a133635ad53bd89e3947ca02448819180_cgraph.svg delete mode 100644 d5/dab/structdata__structures_1_1list__array_1_1list_a133635ad53bd89e3947ca02448819180_cgraph_org.svg delete mode 100644 d5/dab/structdata__structures_1_1list__array_1_1list_a412bdb3910181f3c384d86aee7e217cf_cgraph.map delete mode 100644 d5/dab/structdata__structures_1_1list__array_1_1list_a412bdb3910181f3c384d86aee7e217cf_cgraph.md5 delete mode 100644 d5/dab/structdata__structures_1_1list__array_1_1list_a412bdb3910181f3c384d86aee7e217cf_cgraph.svg delete mode 100644 d5/dab/structdata__structures_1_1list__array_1_1list_a412bdb3910181f3c384d86aee7e217cf_cgraph_org.svg delete mode 100644 d5/db0/adaline__learning_8cpp_a379f7488a305f2571f2932b319931f82_cgraph.map delete mode 100644 d5/db0/adaline__learning_8cpp_a379f7488a305f2571f2932b319931f82_cgraph.md5 delete mode 100644 d5/db0/adaline__learning_8cpp_a379f7488a305f2571f2932b319931f82_cgraph.svg delete mode 100644 d5/db0/adaline__learning_8cpp_a379f7488a305f2571f2932b319931f82_cgraph_org.svg delete mode 100644 d5/db0/adaline__learning_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph.map delete mode 100644 d5/db0/adaline__learning_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph.md5 delete mode 100644 d5/db0/adaline__learning_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph.svg delete mode 100644 d5/db0/adaline__learning_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph_org.svg delete mode 100644 d5/db0/adaline__learning_8cpp_a52053d88ea1bcbbed9aca67ab4eeb499_cgraph.map delete mode 100644 d5/db0/adaline__learning_8cpp_a52053d88ea1bcbbed9aca67ab4eeb499_cgraph.md5 delete mode 100644 d5/db0/adaline__learning_8cpp_a52053d88ea1bcbbed9aca67ab4eeb499_cgraph.svg delete mode 100644 d5/db0/adaline__learning_8cpp_a52053d88ea1bcbbed9aca67ab4eeb499_cgraph_org.svg delete mode 100644 d5/db0/adaline__learning_8cpp_a992bdf1fdb0b9d414bcf7981d2d87aa9_cgraph.map delete mode 100644 d5/db0/adaline__learning_8cpp_a992bdf1fdb0b9d414bcf7981d2d87aa9_cgraph.md5 delete mode 100644 d5/db0/adaline__learning_8cpp_a992bdf1fdb0b9d414bcf7981d2d87aa9_cgraph.svg delete mode 100644 d5/db0/adaline__learning_8cpp_a992bdf1fdb0b9d414bcf7981d2d87aa9_cgraph_org.svg create mode 100644 d5/db0/adaline__learning_8cpp_source.html delete mode 100644 d5/db5/set__kth__bit_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map delete mode 100644 d5/db5/set__kth__bit_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 delete mode 100644 d5/db5/set__kth__bit_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg delete mode 100644 d5/db5/set__kth__bit_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg delete mode 100644 d5/db5/set__kth__bit_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d5/db5/set__kth__bit_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d5/db5/set__kth__bit_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d5/db5/set__kth__bit_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 d5/db5/set__kth__bit_8cpp_source.html create mode 100644 d5/dc5/morrisinorder_8cpp_source.html delete mode 100644 d5/ddb/bogo__sort_8cpp_ae1a3968e7947464bee7714f6d43b7002_cgraph.map delete mode 100644 d5/ddb/bogo__sort_8cpp_ae1a3968e7947464bee7714f6d43b7002_cgraph.md5 delete mode 100644 d5/ddb/bogo__sort_8cpp_ae1a3968e7947464bee7714f6d43b7002_cgraph.svg delete mode 100644 d5/ddb/bogo__sort_8cpp_ae1a3968e7947464bee7714f6d43b7002_cgraph_org.svg delete mode 100644 d5/ddb/bogo__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d5/ddb/bogo__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d5/ddb/bogo__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d5/ddb/bogo__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 d5/ddb/bogo__sort_8cpp_source.html delete mode 100644 d5/dec/classgraph_1_1topological__sort_1_1_graph_a57036210706a45b9363563252393a345_cgraph.map delete mode 100644 d5/dec/classgraph_1_1topological__sort_1_1_graph_a57036210706a45b9363563252393a345_cgraph.md5 delete mode 100644 d5/dec/classgraph_1_1topological__sort_1_1_graph_a57036210706a45b9363563252393a345_cgraph.svg delete mode 100644 d5/dec/classgraph_1_1topological__sort_1_1_graph_a57036210706a45b9363563252393a345_cgraph_org.svg delete mode 100644 d5/def/stairs__pattern_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d5/def/stairs__pattern_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d5/def/stairs__pattern_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d5/def/stairs__pattern_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 d5/def/stairs__pattern_8cpp_source.html create mode 100644 d5/df4/merge__sort_8cpp_source.html delete mode 100644 d5/df6/check__amicable__pair_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.map delete mode 100644 d5/df6/check__amicable__pair_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 delete mode 100644 d5/df6/check__amicable__pair_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.svg delete mode 100644 d5/df6/check__amicable__pair_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph_org.svg delete mode 100644 d5/df6/check__amicable__pair_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d5/df6/check__amicable__pair_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d5/df6/check__amicable__pair_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d5/df6/check__amicable__pair_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 d5/df6/check__amicable__pair_8cpp_source.html create mode 100644 d6/d02/file__linter_8py_source.html delete mode 100644 d6/d04/classdata__structures_1_1queue__using__array_1_1_queue___array_a2aaf88c9954ef3ab686f8e4bfbd87622_cgraph.map delete mode 100644 d6/d04/classdata__structures_1_1queue__using__array_1_1_queue___array_a2aaf88c9954ef3ab686f8e4bfbd87622_cgraph.md5 delete mode 100644 d6/d04/classdata__structures_1_1queue__using__array_1_1_queue___array_a2aaf88c9954ef3ab686f8e4bfbd87622_cgraph.svg delete mode 100644 d6/d04/classdata__structures_1_1queue__using__array_1_1_queue___array_a2aaf88c9954ef3ab686f8e4bfbd87622_cgraph_org.svg delete mode 100644 d6/d04/classdata__structures_1_1queue__using__array_1_1_queue___array_a4dc64488c36f84d927365fa8d1933663_cgraph.map delete mode 100644 d6/d04/classdata__structures_1_1queue__using__array_1_1_queue___array_a4dc64488c36f84d927365fa8d1933663_cgraph.md5 delete mode 100644 d6/d04/classdata__structures_1_1queue__using__array_1_1_queue___array_a4dc64488c36f84d927365fa8d1933663_cgraph.svg delete mode 100644 d6/d04/classdata__structures_1_1queue__using__array_1_1_queue___array_a4dc64488c36f84d927365fa8d1933663_cgraph_org.svg delete mode 100644 d6/d04/classdata__structures_1_1queue__using__array_1_1_queue___array_a688b7ea064739ea9fa66bf64bf4ae631_cgraph.map delete mode 100644 d6/d04/classdata__structures_1_1queue__using__array_1_1_queue___array_a688b7ea064739ea9fa66bf64bf4ae631_cgraph.md5 delete mode 100644 d6/d04/classdata__structures_1_1queue__using__array_1_1_queue___array_a688b7ea064739ea9fa66bf64bf4ae631_cgraph.svg delete mode 100644 d6/d04/classdata__structures_1_1queue__using__array_1_1_queue___array_a688b7ea064739ea9fa66bf64bf4ae631_cgraph_org.svg delete mode 100644 d6/d05/reverse__a__linked__list_8cpp_a7f80d9712cc7d77399dcacb4c2917511_cgraph.map delete mode 100644 d6/d05/reverse__a__linked__list_8cpp_a7f80d9712cc7d77399dcacb4c2917511_cgraph.md5 delete mode 100644 d6/d05/reverse__a__linked__list_8cpp_a7f80d9712cc7d77399dcacb4c2917511_cgraph.svg delete mode 100644 d6/d05/reverse__a__linked__list_8cpp_a7f80d9712cc7d77399dcacb4c2917511_cgraph_org.svg delete mode 100644 d6/d05/reverse__a__linked__list_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map delete mode 100644 d6/d05/reverse__a__linked__list_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 delete mode 100644 d6/d05/reverse__a__linked__list_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg delete mode 100644 d6/d05/reverse__a__linked__list_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg delete mode 100644 d6/d05/reverse__a__linked__list_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d6/d05/reverse__a__linked__list_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d6/d05/reverse__a__linked__list_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d6/d05/reverse__a__linked__list_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 d6/d05/reverse__a__linked__list_8cpp_source.html delete mode 100644 d6/d10/cut__rod_8cpp_a1cc523a30c18c63eac58220c3c494cfa_cgraph.map delete mode 100644 d6/d10/cut__rod_8cpp_a1cc523a30c18c63eac58220c3c494cfa_cgraph.md5 delete mode 100644 d6/d10/cut__rod_8cpp_a1cc523a30c18c63eac58220c3c494cfa_cgraph.svg delete mode 100644 d6/d10/cut__rod_8cpp_a1cc523a30c18c63eac58220c3c494cfa_cgraph_org.svg delete mode 100644 d6/d10/cut__rod_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map delete mode 100644 d6/d10/cut__rod_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 delete mode 100644 d6/d10/cut__rod_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg delete mode 100644 d6/d10/cut__rod_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg delete mode 100644 d6/d10/cut__rod_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d6/d10/cut__rod_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d6/d10/cut__rod_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d6/d10/cut__rod_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 d6/d10/cut__rod_8cpp_source.html delete mode 100644 d6/d1a/dnf__sort_8cpp_a621767fe711db64fe57a2ac4987b11f0_cgraph.map delete mode 100644 d6/d1a/dnf__sort_8cpp_a621767fe711db64fe57a2ac4987b11f0_cgraph.md5 delete mode 100644 d6/d1a/dnf__sort_8cpp_a621767fe711db64fe57a2ac4987b11f0_cgraph.svg delete mode 100644 d6/d1a/dnf__sort_8cpp_a621767fe711db64fe57a2ac4987b11f0_cgraph_org.svg delete mode 100644 d6/d1a/dnf__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map delete mode 100644 d6/d1a/dnf__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 delete mode 100644 d6/d1a/dnf__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg delete mode 100644 d6/d1a/dnf__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg delete mode 100644 d6/d1a/dnf__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d6/d1a/dnf__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d6/d1a/dnf__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d6/d1a/dnf__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 d6/d1a/dnf__sort_8cpp_source.html delete mode 100644 d6/d26/classciphers_1_1_hill_cipher_a2eb58750b978a93ac5e6eb29e3e570b7_cgraph.map delete mode 100644 d6/d26/classciphers_1_1_hill_cipher_a2eb58750b978a93ac5e6eb29e3e570b7_cgraph.md5 delete mode 100644 d6/d26/classciphers_1_1_hill_cipher_a2eb58750b978a93ac5e6eb29e3e570b7_cgraph.svg delete mode 100644 d6/d26/classciphers_1_1_hill_cipher_a2eb58750b978a93ac5e6eb29e3e570b7_cgraph_org.svg delete mode 100644 d6/d26/classciphers_1_1_hill_cipher_a405b0a28d66a61239d3565d5256f9cb5_cgraph.map delete mode 100644 d6/d26/classciphers_1_1_hill_cipher_a405b0a28d66a61239d3565d5256f9cb5_cgraph.md5 delete mode 100644 d6/d26/classciphers_1_1_hill_cipher_a405b0a28d66a61239d3565d5256f9cb5_cgraph.svg delete mode 100644 d6/d26/classciphers_1_1_hill_cipher_a405b0a28d66a61239d3565d5256f9cb5_cgraph_org.svg delete mode 100644 d6/d26/classciphers_1_1_hill_cipher_a427acfac1dbff3f48a2b071d449d965b_cgraph.map delete mode 100644 d6/d26/classciphers_1_1_hill_cipher_a427acfac1dbff3f48a2b071d449d965b_cgraph.md5 delete mode 100644 d6/d26/classciphers_1_1_hill_cipher_a427acfac1dbff3f48a2b071d449d965b_cgraph.svg delete mode 100644 d6/d26/classciphers_1_1_hill_cipher_a427acfac1dbff3f48a2b071d449d965b_cgraph_org.svg delete mode 100644 d6/d26/classciphers_1_1_hill_cipher_a629be41c1ab78850963e4ce14e1d11d9_cgraph.map delete mode 100644 d6/d26/classciphers_1_1_hill_cipher_a629be41c1ab78850963e4ce14e1d11d9_cgraph.md5 delete mode 100644 d6/d26/classciphers_1_1_hill_cipher_a629be41c1ab78850963e4ce14e1d11d9_cgraph.svg delete mode 100644 d6/d26/classciphers_1_1_hill_cipher_a629be41c1ab78850963e4ce14e1d11d9_cgraph_org.svg delete mode 100644 d6/d26/classciphers_1_1_hill_cipher_a642f70fb54cb50b00fb6df7c3f2b120e_cgraph.map delete mode 100644 d6/d26/classciphers_1_1_hill_cipher_a642f70fb54cb50b00fb6df7c3f2b120e_cgraph.md5 delete mode 100644 d6/d26/classciphers_1_1_hill_cipher_a642f70fb54cb50b00fb6df7c3f2b120e_cgraph.svg delete mode 100644 d6/d26/classciphers_1_1_hill_cipher_a642f70fb54cb50b00fb6df7c3f2b120e_cgraph_org.svg delete mode 100644 d6/d26/classciphers_1_1_hill_cipher_a716d0313141499d16f57c0c107f04395_cgraph.map delete mode 100644 d6/d26/classciphers_1_1_hill_cipher_a716d0313141499d16f57c0c107f04395_cgraph.md5 delete mode 100644 d6/d26/classciphers_1_1_hill_cipher_a716d0313141499d16f57c0c107f04395_cgraph.svg delete mode 100644 d6/d26/classciphers_1_1_hill_cipher_a716d0313141499d16f57c0c107f04395_cgraph_org.svg delete mode 100644 d6/d26/classciphers_1_1_hill_cipher_a7760f3665651a0a37937c79c62f219c0_cgraph.map delete mode 100644 d6/d26/classciphers_1_1_hill_cipher_a7760f3665651a0a37937c79c62f219c0_cgraph.md5 delete mode 100644 d6/d26/classciphers_1_1_hill_cipher_a7760f3665651a0a37937c79c62f219c0_cgraph.svg delete mode 100644 d6/d26/classciphers_1_1_hill_cipher_a7760f3665651a0a37937c79c62f219c0_cgraph_org.svg delete mode 100644 d6/d26/classciphers_1_1_hill_cipher_aa8bbb6e4a5749f6008b06602d5103917_cgraph.map delete mode 100644 d6/d26/classciphers_1_1_hill_cipher_aa8bbb6e4a5749f6008b06602d5103917_cgraph.md5 delete mode 100644 d6/d26/classciphers_1_1_hill_cipher_aa8bbb6e4a5749f6008b06602d5103917_cgraph.svg delete mode 100644 d6/d26/classciphers_1_1_hill_cipher_aa8bbb6e4a5749f6008b06602d5103917_cgraph_org.svg delete mode 100644 d6/d26/classciphers_1_1_hill_cipher_ab02c7563889bf1e363deb8e21967b706_cgraph.map delete mode 100644 d6/d26/classciphers_1_1_hill_cipher_ab02c7563889bf1e363deb8e21967b706_cgraph.md5 delete mode 100644 d6/d26/classciphers_1_1_hill_cipher_ab02c7563889bf1e363deb8e21967b706_cgraph.svg delete mode 100644 d6/d26/classciphers_1_1_hill_cipher_ab02c7563889bf1e363deb8e21967b706_cgraph_org.svg delete mode 100644 d6/d26/classciphers_1_1_hill_cipher_ad36cbcc7a458b3f3a2af0c4aa1126590_cgraph.map delete mode 100644 d6/d26/classciphers_1_1_hill_cipher_ad36cbcc7a458b3f3a2af0c4aa1126590_cgraph.md5 delete mode 100644 d6/d26/classciphers_1_1_hill_cipher_ad36cbcc7a458b3f3a2af0c4aa1126590_cgraph.svg delete mode 100644 d6/d26/classciphers_1_1_hill_cipher_ad36cbcc7a458b3f3a2af0c4aa1126590_cgraph_org.svg delete mode 100644 d6/d26/classciphers_1_1_hill_cipher_ad667fa0860977f6d6d443fa1dbcd80aa_cgraph.map delete mode 100644 d6/d26/classciphers_1_1_hill_cipher_ad667fa0860977f6d6d443fa1dbcd80aa_cgraph.md5 delete mode 100644 d6/d26/classciphers_1_1_hill_cipher_ad667fa0860977f6d6d443fa1dbcd80aa_cgraph.svg delete mode 100644 d6/d26/classciphers_1_1_hill_cipher_ad667fa0860977f6d6d443fa1dbcd80aa_cgraph_org.svg delete mode 100644 d6/d26/classciphers_1_1_hill_cipher_ae77cad522fa44b8c985779a7188d2f41_cgraph.map delete mode 100644 d6/d26/classciphers_1_1_hill_cipher_ae77cad522fa44b8c985779a7188d2f41_cgraph.md5 delete mode 100644 d6/d26/classciphers_1_1_hill_cipher_ae77cad522fa44b8c985779a7188d2f41_cgraph.svg delete mode 100644 d6/d26/classciphers_1_1_hill_cipher_ae77cad522fa44b8c985779a7188d2f41_cgraph_org.svg delete mode 100644 d6/d26/house__robber_8cpp_a1e497c3e3f169afe5baaae6a5d40cbc8_cgraph.map delete mode 100644 d6/d26/house__robber_8cpp_a1e497c3e3f169afe5baaae6a5d40cbc8_cgraph.md5 delete mode 100644 d6/d26/house__robber_8cpp_a1e497c3e3f169afe5baaae6a5d40cbc8_cgraph.svg delete mode 100644 d6/d26/house__robber_8cpp_a1e497c3e3f169afe5baaae6a5d40cbc8_cgraph_org.svg delete mode 100644 d6/d26/house__robber_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map delete mode 100644 d6/d26/house__robber_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 delete mode 100644 d6/d26/house__robber_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg delete mode 100644 d6/d26/house__robber_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg delete mode 100644 d6/d26/house__robber_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d6/d26/house__robber_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d6/d26/house__robber_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d6/d26/house__robber_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 d6/d26/house__robber_8cpp_source.html delete mode 100644 d6/d2c/caesar__cipher_8cpp_ae1a3968e7947464bee7714f6d43b7002_cgraph.map delete mode 100644 d6/d2c/caesar__cipher_8cpp_ae1a3968e7947464bee7714f6d43b7002_cgraph.md5 delete mode 100644 d6/d2c/caesar__cipher_8cpp_ae1a3968e7947464bee7714f6d43b7002_cgraph.svg delete mode 100644 d6/d2c/caesar__cipher_8cpp_ae1a3968e7947464bee7714f6d43b7002_cgraph_org.svg delete mode 100644 d6/d2c/caesar__cipher_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d6/d2c/caesar__cipher_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d6/d2c/caesar__cipher_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d6/d2c/caesar__cipher_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 d6/d2c/caesar__cipher_8cpp_source.html delete mode 100644 d6/d2d/modular__inverse__simple_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map delete mode 100644 d6/d2d/modular__inverse__simple_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 delete mode 100644 d6/d2d/modular__inverse__simple_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg delete mode 100644 d6/d2d/modular__inverse__simple_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg delete mode 100644 d6/d2d/modular__inverse__simple_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d6/d2d/modular__inverse__simple_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d6/d2d/modular__inverse__simple_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d6/d2d/modular__inverse__simple_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 d6/d2d/modular__inverse__simple_8cpp_source.html delete mode 100644 d6/d2e/fenwick__tree_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.map delete mode 100644 d6/d2e/fenwick__tree_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 delete mode 100644 d6/d2e/fenwick__tree_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.svg delete mode 100644 d6/d2e/fenwick__tree_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph_org.svg delete mode 100644 d6/d2e/fenwick__tree_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d6/d2e/fenwick__tree_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d6/d2e/fenwick__tree_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d6/d2e/fenwick__tree_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 d6/d2e/fenwick__tree_8cpp_source.html delete mode 100644 d6/d30/classmachine__learning_1_1adaline_a0acbe32aaab897e7939e5b0454035b8c_cgraph.map delete mode 100644 d6/d30/classmachine__learning_1_1adaline_a0acbe32aaab897e7939e5b0454035b8c_cgraph.md5 delete mode 100644 d6/d30/classmachine__learning_1_1adaline_a0acbe32aaab897e7939e5b0454035b8c_cgraph.svg delete mode 100644 d6/d30/classmachine__learning_1_1adaline_a0acbe32aaab897e7939e5b0454035b8c_cgraph_org.svg delete mode 100644 d6/d30/classmachine__learning_1_1adaline_a74e3c6c037b67895014414c5d75465e5_cgraph.map delete mode 100644 d6/d30/classmachine__learning_1_1adaline_a74e3c6c037b67895014414c5d75465e5_cgraph.md5 delete mode 100644 d6/d30/classmachine__learning_1_1adaline_a74e3c6c037b67895014414c5d75465e5_cgraph.svg delete mode 100644 d6/d30/classmachine__learning_1_1adaline_a74e3c6c037b67895014414c5d75465e5_cgraph_org.svg delete mode 100644 d6/d30/classmachine__learning_1_1adaline_a8d61f9ed872eef26bca39388cbda6a91_cgraph.map delete mode 100644 d6/d30/classmachine__learning_1_1adaline_a8d61f9ed872eef26bca39388cbda6a91_cgraph.md5 delete mode 100644 d6/d30/classmachine__learning_1_1adaline_a8d61f9ed872eef26bca39388cbda6a91_cgraph.svg delete mode 100644 d6/d30/classmachine__learning_1_1adaline_a8d61f9ed872eef26bca39388cbda6a91_cgraph_org.svg delete mode 100644 d6/d30/classmachine__learning_1_1adaline_ab11242d9ad5b03a75911e29b04f78fd3_cgraph.map delete mode 100644 d6/d30/classmachine__learning_1_1adaline_ab11242d9ad5b03a75911e29b04f78fd3_cgraph.md5 delete mode 100644 d6/d30/classmachine__learning_1_1adaline_ab11242d9ad5b03a75911e29b04f78fd3_cgraph.svg delete mode 100644 d6/d30/classmachine__learning_1_1adaline_ab11242d9ad5b03a75911e29b04f78fd3_cgraph_org.svg delete mode 100644 d6/d30/classmachine__learning_1_1adaline_ac8a9c2aaaa63b0f27ea176857e1e7d56_cgraph.map delete mode 100644 d6/d30/classmachine__learning_1_1adaline_ac8a9c2aaaa63b0f27ea176857e1e7d56_cgraph.md5 delete mode 100644 d6/d30/classmachine__learning_1_1adaline_ac8a9c2aaaa63b0f27ea176857e1e7d56_cgraph.svg delete mode 100644 d6/d30/classmachine__learning_1_1adaline_ac8a9c2aaaa63b0f27ea176857e1e7d56_cgraph_org.svg delete mode 100644 d6/d38/find__non__repeating__number_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map delete mode 100644 d6/d38/find__non__repeating__number_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 delete mode 100644 d6/d38/find__non__repeating__number_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg delete mode 100644 d6/d38/find__non__repeating__number_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg delete mode 100644 d6/d38/find__non__repeating__number_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d6/d38/find__non__repeating__number_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d6/d38/find__non__repeating__number_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d6/d38/find__non__repeating__number_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 d6/d38/find__non__repeating__number_8cpp_source.html delete mode 100644 d6/d42/miller__rabin_8cpp_a6f9c31c1047aa3191676d64571d4c506_cgraph.map delete mode 100644 d6/d42/miller__rabin_8cpp_a6f9c31c1047aa3191676d64571d4c506_cgraph.md5 delete mode 100644 d6/d42/miller__rabin_8cpp_a6f9c31c1047aa3191676d64571d4c506_cgraph.svg delete mode 100644 d6/d42/miller__rabin_8cpp_a6f9c31c1047aa3191676d64571d4c506_cgraph_org.svg delete mode 100644 d6/d42/miller__rabin_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph.map delete mode 100644 d6/d42/miller__rabin_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph.md5 delete mode 100644 d6/d42/miller__rabin_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph.svg delete mode 100644 d6/d42/miller__rabin_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph_org.svg delete mode 100644 d6/d42/miller__rabin_8cpp_a901288288ef5ebe8e97414cc30797cce_cgraph.map delete mode 100644 d6/d42/miller__rabin_8cpp_a901288288ef5ebe8e97414cc30797cce_cgraph.md5 delete mode 100644 d6/d42/miller__rabin_8cpp_a901288288ef5ebe8e97414cc30797cce_cgraph.svg delete mode 100644 d6/d42/miller__rabin_8cpp_a901288288ef5ebe8e97414cc30797cce_cgraph_org.svg delete mode 100644 d6/d42/miller__rabin_8cpp_ad6c2c67ea416d0e80003a88623f98b29_cgraph.map delete mode 100644 d6/d42/miller__rabin_8cpp_ad6c2c67ea416d0e80003a88623f98b29_cgraph.md5 delete mode 100644 d6/d42/miller__rabin_8cpp_ad6c2c67ea416d0e80003a88623f98b29_cgraph.svg delete mode 100644 d6/d42/miller__rabin_8cpp_ad6c2c67ea416d0e80003a88623f98b29_cgraph_org.svg delete mode 100644 d6/d42/miller__rabin_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d6/d42/miller__rabin_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d6/d42/miller__rabin_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d6/d42/miller__rabin_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 d6/d42/miller__rabin_8cpp_source.html delete mode 100644 d6/d4a/addition__rule_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d6/d4a/addition__rule_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d6/d4a/addition__rule_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d6/d4a/addition__rule_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 d6/d4a/addition__rule_8cpp_source.html create mode 100644 d6/d4e/easter_8cpp_source.html delete mode 100644 d6/d57/array__right__rotation_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map delete mode 100644 d6/d57/array__right__rotation_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 delete mode 100644 d6/d57/array__right__rotation_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg delete mode 100644 d6/d57/array__right__rotation_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg delete mode 100644 d6/d57/array__right__rotation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d6/d57/array__right__rotation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d6/d57/array__right__rotation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d6/d57/array__right__rotation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 d6/d57/array__right__rotation_8cpp_source.html delete mode 100644 d6/d60/group__ode_ga195d23bbdfcb80e83c9cda45c9ad5723_cgraph.map delete mode 100644 d6/d60/group__ode_ga195d23bbdfcb80e83c9cda45c9ad5723_cgraph.md5 delete mode 100644 d6/d60/group__ode_ga195d23bbdfcb80e83c9cda45c9ad5723_cgraph.svg delete mode 100644 d6/d60/group__ode_ga195d23bbdfcb80e83c9cda45c9ad5723_cgraph_org.svg delete mode 100644 d6/d60/group__ode_ga36ff0710861ca39d957046c0b09b2985_cgraph.map delete mode 100644 d6/d60/group__ode_ga36ff0710861ca39d957046c0b09b2985_cgraph.md5 delete mode 100644 d6/d60/group__ode_ga36ff0710861ca39d957046c0b09b2985_cgraph.svg delete mode 100644 d6/d60/group__ode_ga36ff0710861ca39d957046c0b09b2985_cgraph_org.svg delete mode 100644 d6/d60/group__ode_ga3874d294ab00fe9ce8731c5b7991a089_cgraph.map delete mode 100644 d6/d60/group__ode_ga3874d294ab00fe9ce8731c5b7991a089_cgraph.md5 delete mode 100644 d6/d60/group__ode_ga3874d294ab00fe9ce8731c5b7991a089_cgraph.svg delete mode 100644 d6/d60/group__ode_ga3874d294ab00fe9ce8731c5b7991a089_cgraph_org.svg delete mode 100644 d6/d60/group__ode_ga827bf009831ddc477c5fa8891d5cb35f_cgraph.map delete mode 100644 d6/d60/group__ode_ga827bf009831ddc477c5fa8891d5cb35f_cgraph.md5 delete mode 100644 d6/d60/group__ode_ga827bf009831ddc477c5fa8891d5cb35f_cgraph.svg delete mode 100644 d6/d60/group__ode_ga827bf009831ddc477c5fa8891d5cb35f_cgraph_org.svg delete mode 100644 d6/d60/group__ode_ga8c319db420c3d97a83e9dcca803b6812_cgraph.map delete mode 100644 d6/d60/group__ode_ga8c319db420c3d97a83e9dcca803b6812_cgraph.md5 delete mode 100644 d6/d60/group__ode_ga8c319db420c3d97a83e9dcca803b6812_cgraph.svg delete mode 100644 d6/d60/group__ode_ga8c319db420c3d97a83e9dcca803b6812_cgraph_org.svg delete mode 100644 d6/d60/group__ode_gae0509f8843e2bc42de2abbd00a14b7b9_cgraph.map delete mode 100644 d6/d60/group__ode_gae0509f8843e2bc42de2abbd00a14b7b9_cgraph.md5 delete mode 100644 d6/d60/group__ode_gae0509f8843e2bc42de2abbd00a14b7b9_cgraph.svg delete mode 100644 d6/d60/group__ode_gae0509f8843e2bc42de2abbd00a14b7b9_cgraph_org.svg create mode 100644 d6/d74/library__sort_8cpp_source.html delete mode 100644 d6/d7a/golden__search__extrema_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph.map delete mode 100644 d6/d7a/golden__search__extrema_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph.md5 delete mode 100644 d6/d7a/golden__search__extrema_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph.svg delete mode 100644 d6/d7a/golden__search__extrema_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph_org.svg delete mode 100644 d6/d7a/golden__search__extrema_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph.map delete mode 100644 d6/d7a/golden__search__extrema_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph.md5 delete mode 100644 d6/d7a/golden__search__extrema_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph.svg delete mode 100644 d6/d7a/golden__search__extrema_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph_org.svg delete mode 100644 d6/d7a/golden__search__extrema_8cpp_a1aa76a6d5fd4d333f9072beff1dc486b_cgraph.map delete mode 100644 d6/d7a/golden__search__extrema_8cpp_a1aa76a6d5fd4d333f9072beff1dc486b_cgraph.md5 delete mode 100644 d6/d7a/golden__search__extrema_8cpp_a1aa76a6d5fd4d333f9072beff1dc486b_cgraph.svg delete mode 100644 d6/d7a/golden__search__extrema_8cpp_a1aa76a6d5fd4d333f9072beff1dc486b_cgraph_org.svg delete mode 100644 d6/d7a/golden__search__extrema_8cpp_a6d0455dd5c30adda100e95f0423c786e_cgraph.map delete mode 100644 d6/d7a/golden__search__extrema_8cpp_a6d0455dd5c30adda100e95f0423c786e_cgraph.md5 delete mode 100644 d6/d7a/golden__search__extrema_8cpp_a6d0455dd5c30adda100e95f0423c786e_cgraph.svg delete mode 100644 d6/d7a/golden__search__extrema_8cpp_a6d0455dd5c30adda100e95f0423c786e_cgraph_org.svg delete mode 100644 d6/d7a/golden__search__extrema_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d6/d7a/golden__search__extrema_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d6/d7a/golden__search__extrema_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d6/d7a/golden__search__extrema_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 d6/d7a/golden__search__extrema_8cpp_source.html delete mode 100644 d6/d80/double__hash__hash__table_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d6/d80/double__hash__hash__table_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d6/d80/double__hash__hash__table_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d6/d80/double__hash__hash__table_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 d6/d80/double__hash__hash__table_8cpp_source.html delete mode 100644 d6/d84/classhashing_1_1sha256_1_1_hash_a0896c27ac39c780e0ee62417fdd0b9d3_cgraph.map delete mode 100644 d6/d84/classhashing_1_1sha256_1_1_hash_a0896c27ac39c780e0ee62417fdd0b9d3_cgraph.md5 delete mode 100644 d6/d84/classhashing_1_1sha256_1_1_hash_a0896c27ac39c780e0ee62417fdd0b9d3_cgraph.svg delete mode 100644 d6/d84/classhashing_1_1sha256_1_1_hash_a0896c27ac39c780e0ee62417fdd0b9d3_cgraph_org.svg delete mode 100644 d6/d84/classhashing_1_1sha256_1_1_hash_a4581f503a263d8e928e5716d54477e08_cgraph.map delete mode 100644 d6/d84/classhashing_1_1sha256_1_1_hash_a4581f503a263d8e928e5716d54477e08_cgraph.md5 delete mode 100644 d6/d84/classhashing_1_1sha256_1_1_hash_a4581f503a263d8e928e5716d54477e08_cgraph.svg delete mode 100644 d6/d84/classhashing_1_1sha256_1_1_hash_a4581f503a263d8e928e5716d54477e08_cgraph_org.svg delete mode 100644 d6/d9d/large__factorial_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.map delete mode 100644 d6/d9d/large__factorial_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.md5 delete mode 100644 d6/d9d/large__factorial_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.svg delete mode 100644 d6/d9d/large__factorial_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph_org.svg delete mode 100644 d6/d9d/large__factorial_8cpp_a3f93b60e229b6683e24c4754a7106ee8_cgraph.map delete mode 100644 d6/d9d/large__factorial_8cpp_a3f93b60e229b6683e24c4754a7106ee8_cgraph.md5 delete mode 100644 d6/d9d/large__factorial_8cpp_a3f93b60e229b6683e24c4754a7106ee8_cgraph.svg delete mode 100644 d6/d9d/large__factorial_8cpp_a3f93b60e229b6683e24c4754a7106ee8_cgraph_org.svg delete mode 100644 d6/d9d/large__factorial_8cpp_a76aae4778fbe89a3d59fd61fbc050cfa_cgraph.map delete mode 100644 d6/d9d/large__factorial_8cpp_a76aae4778fbe89a3d59fd61fbc050cfa_cgraph.md5 delete mode 100644 d6/d9d/large__factorial_8cpp_a76aae4778fbe89a3d59fd61fbc050cfa_cgraph.svg delete mode 100644 d6/d9d/large__factorial_8cpp_a76aae4778fbe89a3d59fd61fbc050cfa_cgraph_org.svg create mode 100644 d6/d9d/large__factorial_8cpp_source.html create mode 100644 d6/da9/odd__even__sort_8cpp_source.html delete mode 100644 d6/dae/classothers_1_1lru__cache_1_1_l_r_u_cache_a7dbf04bf7e1472c48639694f0b110602_cgraph.map delete mode 100644 d6/dae/classothers_1_1lru__cache_1_1_l_r_u_cache_a7dbf04bf7e1472c48639694f0b110602_cgraph.md5 delete mode 100644 d6/dae/classothers_1_1lru__cache_1_1_l_r_u_cache_a7dbf04bf7e1472c48639694f0b110602_cgraph.svg delete mode 100644 d6/dae/classothers_1_1lru__cache_1_1_l_r_u_cache_a7dbf04bf7e1472c48639694f0b110602_cgraph_org.svg delete mode 100644 d6/dae/classothers_1_1lru__cache_1_1_l_r_u_cache_aad506b1c1a3cd5b93cc7e497626bfb53_cgraph.map delete mode 100644 d6/dae/classothers_1_1lru__cache_1_1_l_r_u_cache_aad506b1c1a3cd5b93cc7e497626bfb53_cgraph.md5 delete mode 100644 d6/dae/classothers_1_1lru__cache_1_1_l_r_u_cache_aad506b1c1a3cd5b93cc7e497626bfb53_cgraph.svg delete mode 100644 d6/dae/classothers_1_1lru__cache_1_1_l_r_u_cache_aad506b1c1a3cd5b93cc7e497626bfb53_cgraph_org.svg delete mode 100644 d6/db0/binomial__dist_8cpp_a19ae0a6a2bd200fd1eb0e31b2bf4cc76_cgraph.map delete mode 100644 d6/db0/binomial__dist_8cpp_a19ae0a6a2bd200fd1eb0e31b2bf4cc76_cgraph.md5 delete mode 100644 d6/db0/binomial__dist_8cpp_a19ae0a6a2bd200fd1eb0e31b2bf4cc76_cgraph.svg delete mode 100644 d6/db0/binomial__dist_8cpp_a19ae0a6a2bd200fd1eb0e31b2bf4cc76_cgraph_org.svg delete mode 100644 d6/db0/binomial__dist_8cpp_a76ed6ce71415fb400b65f0656cef3d25_cgraph.map delete mode 100644 d6/db0/binomial__dist_8cpp_a76ed6ce71415fb400b65f0656cef3d25_cgraph.md5 delete mode 100644 d6/db0/binomial__dist_8cpp_a76ed6ce71415fb400b65f0656cef3d25_cgraph.svg delete mode 100644 d6/db0/binomial__dist_8cpp_a76ed6ce71415fb400b65f0656cef3d25_cgraph_org.svg delete mode 100644 d6/db0/binomial__dist_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d6/db0/binomial__dist_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d6/db0/binomial__dist_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d6/db0/binomial__dist_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg delete mode 100644 d6/db0/binomial__dist_8cpp_af09e51f513cee647d41192ab0a872cdc_cgraph.map delete mode 100644 d6/db0/binomial__dist_8cpp_af09e51f513cee647d41192ab0a872cdc_cgraph.md5 delete mode 100644 d6/db0/binomial__dist_8cpp_af09e51f513cee647d41192ab0a872cdc_cgraph.svg delete mode 100644 d6/db0/binomial__dist_8cpp_af09e51f513cee647d41192ab0a872cdc_cgraph_org.svg create mode 100644 d6/db0/binomial__dist_8cpp_source.html delete mode 100644 d6/db8/inv__sqrt_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map delete mode 100644 d6/db8/inv__sqrt_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 delete mode 100644 d6/db8/inv__sqrt_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg delete mode 100644 d6/db8/inv__sqrt_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg delete mode 100644 d6/db8/inv__sqrt_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d6/db8/inv__sqrt_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d6/db8/inv__sqrt_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d6/db8/inv__sqrt_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 d6/db8/inv__sqrt_8cpp_source.html delete mode 100644 d6/dba/jump__game_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map delete mode 100644 d6/dba/jump__game_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 delete mode 100644 d6/dba/jump__game_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg delete mode 100644 d6/dba/jump__game_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg delete mode 100644 d6/dba/jump__game_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d6/dba/jump__game_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d6/dba/jump__game_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d6/dba/jump__game_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 d6/dba/jump__game_8cpp_source.html create mode 100644 d6/dce/rabin__karp_8cpp_source.html delete mode 100644 d6/dd3/ode__midpoint__euler_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.map delete mode 100644 d6/dd3/ode__midpoint__euler_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.md5 delete mode 100644 d6/dd3/ode__midpoint__euler_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.svg delete mode 100644 d6/dd3/ode__midpoint__euler_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph_org.svg delete mode 100644 d6/dd3/ode__midpoint__euler_8cpp_aa13517b8e5de1b75592052db7f7e237f_cgraph.map delete mode 100644 d6/dd3/ode__midpoint__euler_8cpp_aa13517b8e5de1b75592052db7f7e237f_cgraph.md5 delete mode 100644 d6/dd3/ode__midpoint__euler_8cpp_aa13517b8e5de1b75592052db7f7e237f_cgraph.svg delete mode 100644 d6/dd3/ode__midpoint__euler_8cpp_aa13517b8e5de1b75592052db7f7e237f_cgraph_org.svg delete mode 100644 d6/dd3/ode__midpoint__euler_8cpp_af3adf7b092a87868917ee5fb4255192b_cgraph.map delete mode 100644 d6/dd3/ode__midpoint__euler_8cpp_af3adf7b092a87868917ee5fb4255192b_cgraph.md5 delete mode 100644 d6/dd3/ode__midpoint__euler_8cpp_af3adf7b092a87868917ee5fb4255192b_cgraph.svg delete mode 100644 d6/dd3/ode__midpoint__euler_8cpp_af3adf7b092a87868917ee5fb4255192b_cgraph_org.svg create mode 100644 d6/dd3/ode__midpoint__euler_8cpp_source.html delete mode 100644 d6/dd8/is__graph__bipartite_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map delete mode 100644 d6/dd8/is__graph__bipartite_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 delete mode 100644 d6/dd8/is__graph__bipartite_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg delete mode 100644 d6/dd8/is__graph__bipartite_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg delete mode 100644 d6/dd8/is__graph__bipartite_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d6/dd8/is__graph__bipartite_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d6/dd8/is__graph__bipartite_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d6/dd8/is__graph__bipartite_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 d6/dd8/is__graph__bipartite_8cpp_source.html delete mode 100644 d7/d00/list__array_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map delete mode 100644 d7/d00/list__array_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 delete mode 100644 d7/d00/list__array_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg delete mode 100644 d7/d00/list__array_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg delete mode 100644 d7/d00/list__array_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d7/d00/list__array_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d7/d00/list__array_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d7/d00/list__array_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 d7/d00/list__array_8cpp_source.html delete mode 100644 d7/d07/bidirectional__dijkstra_8cpp_a1b2df3d52a403ad46523ab90d3a723c1_cgraph.map delete mode 100644 d7/d07/bidirectional__dijkstra_8cpp_a1b2df3d52a403ad46523ab90d3a723c1_cgraph.md5 delete mode 100644 d7/d07/bidirectional__dijkstra_8cpp_a1b2df3d52a403ad46523ab90d3a723c1_cgraph.svg delete mode 100644 d7/d07/bidirectional__dijkstra_8cpp_a1b2df3d52a403ad46523ab90d3a723c1_cgraph_org.svg delete mode 100644 d7/d07/bidirectional__dijkstra_8cpp_a22f1b7277e1dd4190f25014b48487ce6_cgraph.map delete mode 100644 d7/d07/bidirectional__dijkstra_8cpp_a22f1b7277e1dd4190f25014b48487ce6_cgraph.md5 delete mode 100644 d7/d07/bidirectional__dijkstra_8cpp_a22f1b7277e1dd4190f25014b48487ce6_cgraph.svg delete mode 100644 d7/d07/bidirectional__dijkstra_8cpp_a22f1b7277e1dd4190f25014b48487ce6_cgraph_org.svg delete mode 100644 d7/d07/bidirectional__dijkstra_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.map delete mode 100644 d7/d07/bidirectional__dijkstra_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 delete mode 100644 d7/d07/bidirectional__dijkstra_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.svg delete mode 100644 d7/d07/bidirectional__dijkstra_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph_org.svg delete mode 100644 d7/d07/bidirectional__dijkstra_8cpp_a69172365aebde9be1997157f6f80e0cf_cgraph.map delete mode 100644 d7/d07/bidirectional__dijkstra_8cpp_a69172365aebde9be1997157f6f80e0cf_cgraph.md5 delete mode 100644 d7/d07/bidirectional__dijkstra_8cpp_a69172365aebde9be1997157f6f80e0cf_cgraph.svg delete mode 100644 d7/d07/bidirectional__dijkstra_8cpp_a69172365aebde9be1997157f6f80e0cf_cgraph_org.svg delete mode 100644 d7/d07/bidirectional__dijkstra_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d7/d07/bidirectional__dijkstra_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d7/d07/bidirectional__dijkstra_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d7/d07/bidirectional__dijkstra_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 d7/d07/bidirectional__dijkstra_8cpp_source.html delete mode 100644 d7/d24/nqueen__print__all__solutions_8cpp_aebd5e11fab6dab282efccfb61beb0bd9_cgraph.map delete mode 100644 d7/d24/nqueen__print__all__solutions_8cpp_aebd5e11fab6dab282efccfb61beb0bd9_cgraph.md5 delete mode 100644 d7/d24/nqueen__print__all__solutions_8cpp_aebd5e11fab6dab282efccfb61beb0bd9_cgraph.svg delete mode 100644 d7/d24/nqueen__print__all__solutions_8cpp_aebd5e11fab6dab282efccfb61beb0bd9_cgraph_org.svg create mode 100644 d7/d24/nqueen__print__all__solutions_8cpp_source.html delete mode 100644 d7/d35/matrix__exponentiation_8cpp_a702a9fc90e79b05b863cc4efa26ae2ec_cgraph.map delete mode 100644 d7/d35/matrix__exponentiation_8cpp_a702a9fc90e79b05b863cc4efa26ae2ec_cgraph.md5 delete mode 100644 d7/d35/matrix__exponentiation_8cpp_a702a9fc90e79b05b863cc4efa26ae2ec_cgraph.svg delete mode 100644 d7/d35/matrix__exponentiation_8cpp_a702a9fc90e79b05b863cc4efa26ae2ec_cgraph_org.svg delete mode 100644 d7/d35/matrix__exponentiation_8cpp_ad8389ed58fd0ec66df248014775ad1fa_cgraph.map delete mode 100644 d7/d35/matrix__exponentiation_8cpp_ad8389ed58fd0ec66df248014775ad1fa_cgraph.md5 delete mode 100644 d7/d35/matrix__exponentiation_8cpp_ad8389ed58fd0ec66df248014775ad1fa_cgraph.svg delete mode 100644 d7/d35/matrix__exponentiation_8cpp_ad8389ed58fd0ec66df248014775ad1fa_cgraph_org.svg create mode 100644 d7/d35/matrix__exponentiation_8cpp_source.html create mode 100644 d7/d37/magic__sequence_8cpp_source.html create mode 100644 d7/d39/bridge__finding__with__tarjan__algorithm_8cpp_source.html create mode 100644 d7/d43/stack__using__queue_8cpp_source.html delete mode 100644 d7/d56/count__bits__flip_8cpp_a2548486b6c3b80101e768562e687ef7b_cgraph.map delete mode 100644 d7/d56/count__bits__flip_8cpp_a2548486b6c3b80101e768562e687ef7b_cgraph.md5 delete mode 100644 d7/d56/count__bits__flip_8cpp_a2548486b6c3b80101e768562e687ef7b_cgraph.svg delete mode 100644 d7/d56/count__bits__flip_8cpp_a2548486b6c3b80101e768562e687ef7b_cgraph_org.svg delete mode 100644 d7/d56/count__bits__flip_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map delete mode 100644 d7/d56/count__bits__flip_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 delete mode 100644 d7/d56/count__bits__flip_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg delete mode 100644 d7/d56/count__bits__flip_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg delete mode 100644 d7/d56/count__bits__flip_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d7/d56/count__bits__flip_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d7/d56/count__bits__flip_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d7/d56/count__bits__flip_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 d7/d56/count__bits__flip_8cpp_source.html delete mode 100644 d7/d57/longest__increasing__subsequence_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map delete mode 100644 d7/d57/longest__increasing__subsequence_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 delete mode 100644 d7/d57/longest__increasing__subsequence_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg delete mode 100644 d7/d57/longest__increasing__subsequence_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg delete mode 100644 d7/d57/longest__increasing__subsequence_8cpp_abf9e6b7e6f15df4b525a2e7705ba3089_cgraph.map delete mode 100644 d7/d57/longest__increasing__subsequence_8cpp_abf9e6b7e6f15df4b525a2e7705ba3089_cgraph.md5 delete mode 100644 d7/d57/longest__increasing__subsequence_8cpp_abf9e6b7e6f15df4b525a2e7705ba3089_cgraph.svg delete mode 100644 d7/d57/longest__increasing__subsequence_8cpp_abf9e6b7e6f15df4b525a2e7705ba3089_cgraph_org.svg create mode 100644 d7/d57/longest__increasing__subsequence_8cpp_source.html delete mode 100644 d7/d65/shortest__common__supersequence_8cpp_ad2ee8d7e67da9f6eb85146b08dad95e6_cgraph.map delete mode 100644 d7/d65/shortest__common__supersequence_8cpp_ad2ee8d7e67da9f6eb85146b08dad95e6_cgraph.md5 delete mode 100644 d7/d65/shortest__common__supersequence_8cpp_ad2ee8d7e67da9f6eb85146b08dad95e6_cgraph.svg delete mode 100644 d7/d65/shortest__common__supersequence_8cpp_ad2ee8d7e67da9f6eb85146b08dad95e6_cgraph_org.svg delete mode 100644 d7/d65/shortest__common__supersequence_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d7/d65/shortest__common__supersequence_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d7/d65/shortest__common__supersequence_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d7/d65/shortest__common__supersequence_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 d7/d65/shortest__common__supersequence_8cpp_source.html delete mode 100644 d7/d6a/bisection__method_8cpp_a2003b5b2dcfff0769b957ab5c968b03d_cgraph.map delete mode 100644 d7/d6a/bisection__method_8cpp_a2003b5b2dcfff0769b957ab5c968b03d_cgraph.md5 delete mode 100644 d7/d6a/bisection__method_8cpp_a2003b5b2dcfff0769b957ab5c968b03d_cgraph.svg delete mode 100644 d7/d6a/bisection__method_8cpp_a2003b5b2dcfff0769b957ab5c968b03d_cgraph_org.svg delete mode 100644 d7/d6a/bisection__method_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d7/d6a/bisection__method_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d7/d6a/bisection__method_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d7/d6a/bisection__method_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 d7/d6a/bisection__method_8cpp_source.html delete mode 100644 d7/d73/abbreviation_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map delete mode 100644 d7/d73/abbreviation_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 delete mode 100644 d7/d73/abbreviation_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg delete mode 100644 d7/d73/abbreviation_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg delete mode 100644 d7/d73/abbreviation_8cpp_add60b8858720bf217df22d992d0fefaa_cgraph.map delete mode 100644 d7/d73/abbreviation_8cpp_add60b8858720bf217df22d992d0fefaa_cgraph.md5 delete mode 100644 d7/d73/abbreviation_8cpp_add60b8858720bf217df22d992d0fefaa_cgraph.svg delete mode 100644 d7/d73/abbreviation_8cpp_add60b8858720bf217df22d992d0fefaa_cgraph_org.svg delete mode 100644 d7/d73/abbreviation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d7/d73/abbreviation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d7/d73/abbreviation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d7/d73/abbreviation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg delete mode 100644 d7/d73/abbreviation_8cpp_af53b2f647bee9c5b75ef8dd9ef685dc8_cgraph.map delete mode 100644 d7/d73/abbreviation_8cpp_af53b2f647bee9c5b75ef8dd9ef685dc8_cgraph.md5 delete mode 100644 d7/d73/abbreviation_8cpp_af53b2f647bee9c5b75ef8dd9ef685dc8_cgraph.svg delete mode 100644 d7/d73/abbreviation_8cpp_af53b2f647bee9c5b75ef8dd9ef685dc8_cgraph_org.svg create mode 100644 d7/d73/abbreviation_8cpp_source.html delete mode 100644 d7/d75/postfix__evaluation_8cpp_a4c27f949c9d6659be9f5bd2ccbe1360a_cgraph.map delete mode 100644 d7/d75/postfix__evaluation_8cpp_a4c27f949c9d6659be9f5bd2ccbe1360a_cgraph.md5 delete mode 100644 d7/d75/postfix__evaluation_8cpp_a4c27f949c9d6659be9f5bd2ccbe1360a_cgraph.svg delete mode 100644 d7/d75/postfix__evaluation_8cpp_a4c27f949c9d6659be9f5bd2ccbe1360a_cgraph_org.svg delete mode 100644 d7/d75/postfix__evaluation_8cpp_a59fd597e0ea394abe027ced4d2ea3338_cgraph.map delete mode 100644 d7/d75/postfix__evaluation_8cpp_a59fd597e0ea394abe027ced4d2ea3338_cgraph.md5 delete mode 100644 d7/d75/postfix__evaluation_8cpp_a59fd597e0ea394abe027ced4d2ea3338_cgraph.svg delete mode 100644 d7/d75/postfix__evaluation_8cpp_a59fd597e0ea394abe027ced4d2ea3338_cgraph_org.svg delete mode 100644 d7/d75/postfix__evaluation_8cpp_ae38bd3a177a6d61da3859a281233bbe1_cgraph.map delete mode 100644 d7/d75/postfix__evaluation_8cpp_ae38bd3a177a6d61da3859a281233bbe1_cgraph.md5 delete mode 100644 d7/d75/postfix__evaluation_8cpp_ae38bd3a177a6d61da3859a281233bbe1_cgraph.svg delete mode 100644 d7/d75/postfix__evaluation_8cpp_ae38bd3a177a6d61da3859a281233bbe1_cgraph_org.svg delete mode 100644 d7/d75/postfix__evaluation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d7/d75/postfix__evaluation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d7/d75/postfix__evaluation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d7/d75/postfix__evaluation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 d7/d75/postfix__evaluation_8cpp_source.html delete mode 100644 d7/d7c/classstatistics_1_1stats__computer1_af57e942d49f4fd70f059f224b4ac07e1_cgraph.map delete mode 100644 d7/d7c/classstatistics_1_1stats__computer1_af57e942d49f4fd70f059f224b4ac07e1_cgraph.md5 delete mode 100644 d7/d7c/classstatistics_1_1stats__computer1_af57e942d49f4fd70f059f224b4ac07e1_cgraph.svg delete mode 100644 d7/d7c/classstatistics_1_1stats__computer1_af57e942d49f4fd70f059f224b4ac07e1_cgraph_org.svg delete mode 100644 d7/d83/trie__tree_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d7/d83/trie__tree_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d7/d83/trie__tree_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d7/d83/trie__tree_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 d7/d83/trie__tree_8cpp_source.html create mode 100644 d7/d85/doubly__linked__list_8cpp_source.html delete mode 100644 d7/d89/double__factorial_8cpp_a68ba20fed2ce427f6469c7689437829d_cgraph.map delete mode 100644 d7/d89/double__factorial_8cpp_a68ba20fed2ce427f6469c7689437829d_cgraph.md5 delete mode 100644 d7/d89/double__factorial_8cpp_a68ba20fed2ce427f6469c7689437829d_cgraph.svg delete mode 100644 d7/d89/double__factorial_8cpp_a68ba20fed2ce427f6469c7689437829d_cgraph_org.svg delete mode 100644 d7/d89/double__factorial_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph.map delete mode 100644 d7/d89/double__factorial_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph.md5 delete mode 100644 d7/d89/double__factorial_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph.svg delete mode 100644 d7/d89/double__factorial_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph_org.svg delete mode 100644 d7/d89/double__factorial_8cpp_abbbcebf3a2d0c67f4c3cfb5511a97981_cgraph.map delete mode 100644 d7/d89/double__factorial_8cpp_abbbcebf3a2d0c67f4c3cfb5511a97981_cgraph.md5 delete mode 100644 d7/d89/double__factorial_8cpp_abbbcebf3a2d0c67f4c3cfb5511a97981_cgraph.svg delete mode 100644 d7/d89/double__factorial_8cpp_abbbcebf3a2d0c67f4c3cfb5511a97981_cgraph_org.svg delete mode 100644 d7/d89/double__factorial_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d7/d89/double__factorial_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d7/d89/double__factorial_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d7/d89/double__factorial_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 d7/d89/double__factorial_8cpp_source.html delete mode 100644 d7/da6/eratosthenes_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.map delete mode 100644 d7/da6/eratosthenes_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.md5 delete mode 100644 d7/da6/eratosthenes_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.svg delete mode 100644 d7/da6/eratosthenes_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph_org.svg delete mode 100644 d7/da6/eratosthenes_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map delete mode 100644 d7/da6/eratosthenes_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 delete mode 100644 d7/da6/eratosthenes_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg delete mode 100644 d7/da6/eratosthenes_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg create mode 100644 d7/da6/eratosthenes_8cpp_source.html create mode 100644 d7/dab/get__size__of__linked__list_8cpp_source.html delete mode 100644 d7/db9/hill__cipher_8cpp_a04391124480d2a49f2dec900237b0712_cgraph.map delete mode 100644 d7/db9/hill__cipher_8cpp_a04391124480d2a49f2dec900237b0712_cgraph.md5 delete mode 100644 d7/db9/hill__cipher_8cpp_a04391124480d2a49f2dec900237b0712_cgraph.svg delete mode 100644 d7/db9/hill__cipher_8cpp_a04391124480d2a49f2dec900237b0712_cgraph_org.svg delete mode 100644 d7/db9/hill__cipher_8cpp_a3147ad576f8a94a2a6b66948672b452b_cgraph.map delete mode 100644 d7/db9/hill__cipher_8cpp_a3147ad576f8a94a2a6b66948672b452b_cgraph.md5 delete mode 100644 d7/db9/hill__cipher_8cpp_a3147ad576f8a94a2a6b66948672b452b_cgraph.svg delete mode 100644 d7/db9/hill__cipher_8cpp_a3147ad576f8a94a2a6b66948672b452b_cgraph_org.svg delete mode 100644 d7/db9/hill__cipher_8cpp_a34bfcd756610834acac501f9eea1e2eb_cgraph.map delete mode 100644 d7/db9/hill__cipher_8cpp_a34bfcd756610834acac501f9eea1e2eb_cgraph.md5 delete mode 100644 d7/db9/hill__cipher_8cpp_a34bfcd756610834acac501f9eea1e2eb_cgraph.svg delete mode 100644 d7/db9/hill__cipher_8cpp_a34bfcd756610834acac501f9eea1e2eb_cgraph_org.svg delete mode 100644 d7/db9/hill__cipher_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d7/db9/hill__cipher_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d7/db9/hill__cipher_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d7/db9/hill__cipher_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 d7/db9/hill__cipher_8cpp_source.html delete mode 100644 d7/def/trie__multiple__search_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map delete mode 100644 d7/def/trie__multiple__search_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 delete mode 100644 d7/def/trie__multiple__search_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg delete mode 100644 d7/def/trie__multiple__search_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg delete mode 100644 d7/def/trie__multiple__search_8cpp_abf9e6b7e6f15df4b525a2e7705ba3089_cgraph.map delete mode 100644 d7/def/trie__multiple__search_8cpp_abf9e6b7e6f15df4b525a2e7705ba3089_cgraph.md5 delete mode 100644 d7/def/trie__multiple__search_8cpp_abf9e6b7e6f15df4b525a2e7705ba3089_cgraph.svg delete mode 100644 d7/def/trie__multiple__search_8cpp_abf9e6b7e6f15df4b525a2e7705ba3089_cgraph_org.svg create mode 100644 d7/def/trie__multiple__search_8cpp_source.html delete mode 100644 d8/d13/bubble__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map delete mode 100644 d8/d13/bubble__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 delete mode 100644 d8/d13/bubble__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg delete mode 100644 d8/d13/bubble__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg delete mode 100644 d8/d13/bubble__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d8/d13/bubble__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d8/d13/bubble__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d8/d13/bubble__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg delete mode 100644 d8/d13/bubble__sort_8cpp_af3b12930a83915712461d53fe9659686_cgraph.map delete mode 100644 d8/d13/bubble__sort_8cpp_af3b12930a83915712461d53fe9659686_cgraph.md5 delete mode 100644 d8/d13/bubble__sort_8cpp_af3b12930a83915712461d53fe9659686_cgraph.svg delete mode 100644 d8/d13/bubble__sort_8cpp_af3b12930a83915712461d53fe9659686_cgraph_org.svg create mode 100644 d8/d13/bubble__sort_8cpp_source.html delete mode 100644 d8/d28/classrange__queries_1_1per_seg_tree_a0cec4b77d264521717cf9b0482c45817_cgraph.map delete mode 100644 d8/d28/classrange__queries_1_1per_seg_tree_a0cec4b77d264521717cf9b0482c45817_cgraph.md5 delete mode 100644 d8/d28/classrange__queries_1_1per_seg_tree_a0cec4b77d264521717cf9b0482c45817_cgraph.svg delete mode 100644 d8/d28/classrange__queries_1_1per_seg_tree_a0cec4b77d264521717cf9b0482c45817_cgraph_org.svg delete mode 100644 d8/d28/classrange__queries_1_1per_seg_tree_a0fe4e431f3e09c274ecd7d2d58dcb865_cgraph.map delete mode 100644 d8/d28/classrange__queries_1_1per_seg_tree_a0fe4e431f3e09c274ecd7d2d58dcb865_cgraph.md5 delete mode 100644 d8/d28/classrange__queries_1_1per_seg_tree_a0fe4e431f3e09c274ecd7d2d58dcb865_cgraph.svg delete mode 100644 d8/d28/classrange__queries_1_1per_seg_tree_a0fe4e431f3e09c274ecd7d2d58dcb865_cgraph_org.svg delete mode 100644 d8/d28/classrange__queries_1_1per_seg_tree_a24487eda25123bc4d112e8430821a6c6_cgraph.map delete mode 100644 d8/d28/classrange__queries_1_1per_seg_tree_a24487eda25123bc4d112e8430821a6c6_cgraph.md5 delete mode 100644 d8/d28/classrange__queries_1_1per_seg_tree_a24487eda25123bc4d112e8430821a6c6_cgraph.svg delete mode 100644 d8/d28/classrange__queries_1_1per_seg_tree_a24487eda25123bc4d112e8430821a6c6_cgraph_org.svg delete mode 100644 d8/d28/classrange__queries_1_1per_seg_tree_a6d3f2465a7c5803a1ff16c5378bcc5e4_cgraph.map delete mode 100644 d8/d28/classrange__queries_1_1per_seg_tree_a6d3f2465a7c5803a1ff16c5378bcc5e4_cgraph.md5 delete mode 100644 d8/d28/classrange__queries_1_1per_seg_tree_a6d3f2465a7c5803a1ff16c5378bcc5e4_cgraph.svg delete mode 100644 d8/d28/classrange__queries_1_1per_seg_tree_a6d3f2465a7c5803a1ff16c5378bcc5e4_cgraph_org.svg delete mode 100644 d8/d28/classrange__queries_1_1per_seg_tree_ac83bcabf5a8db8b0d8d156a4c1bcd4c3_cgraph.map delete mode 100644 d8/d28/classrange__queries_1_1per_seg_tree_ac83bcabf5a8db8b0d8d156a4c1bcd4c3_cgraph.md5 delete mode 100644 d8/d28/classrange__queries_1_1per_seg_tree_ac83bcabf5a8db8b0d8d156a4c1bcd4c3_cgraph.svg delete mode 100644 d8/d28/classrange__queries_1_1per_seg_tree_ac83bcabf5a8db8b0d8d156a4c1bcd4c3_cgraph_org.svg delete mode 100644 d8/d28/classrange__queries_1_1per_seg_tree_ace7f57935b3bb9446f11c239fd89ae79_cgraph.map delete mode 100644 d8/d28/classrange__queries_1_1per_seg_tree_ace7f57935b3bb9446f11c239fd89ae79_cgraph.md5 delete mode 100644 d8/d28/classrange__queries_1_1per_seg_tree_ace7f57935b3bb9446f11c239fd89ae79_cgraph.svg delete mode 100644 d8/d28/classrange__queries_1_1per_seg_tree_ace7f57935b3bb9446f11c239fd89ae79_cgraph_org.svg delete mode 100644 d8/d28/classrange__queries_1_1per_seg_tree_ad484002bcb701820d55f32ea5d525571_cgraph.map delete mode 100644 d8/d28/classrange__queries_1_1per_seg_tree_ad484002bcb701820d55f32ea5d525571_cgraph.md5 delete mode 100644 d8/d28/classrange__queries_1_1per_seg_tree_ad484002bcb701820d55f32ea5d525571_cgraph.svg delete mode 100644 d8/d28/classrange__queries_1_1per_seg_tree_ad484002bcb701820d55f32ea5d525571_cgraph_org.svg delete mode 100644 d8/d28/classrange__queries_1_1per_seg_tree_ae8ae4b1835e5e8aec32f68c5059ed4d4_cgraph.map delete mode 100644 d8/d28/classrange__queries_1_1per_seg_tree_ae8ae4b1835e5e8aec32f68c5059ed4d4_cgraph.md5 delete mode 100644 d8/d28/classrange__queries_1_1per_seg_tree_ae8ae4b1835e5e8aec32f68c5059ed4d4_cgraph.svg delete mode 100644 d8/d28/classrange__queries_1_1per_seg_tree_ae8ae4b1835e5e8aec32f68c5059ed4d4_cgraph_org.svg delete mode 100644 d8/d28/classrange__queries_1_1per_seg_tree_af87494e6cf012d28c4f5b9d1c15f9c5d_cgraph.map delete mode 100644 d8/d28/classrange__queries_1_1per_seg_tree_af87494e6cf012d28c4f5b9d1c15f9c5d_cgraph.md5 delete mode 100644 d8/d28/classrange__queries_1_1per_seg_tree_af87494e6cf012d28c4f5b9d1c15f9c5d_cgraph.svg delete mode 100644 d8/d28/classrange__queries_1_1per_seg_tree_af87494e6cf012d28c4f5b9d1c15f9c5d_cgraph_org.svg delete mode 100644 d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache_a5ee34fcee480f21bb6f68a34f0f69b45_cgraph.map delete mode 100644 d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache_a5ee34fcee480f21bb6f68a34f0f69b45_cgraph.md5 delete mode 100644 d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache_a5ee34fcee480f21bb6f68a34f0f69b45_cgraph.svg delete mode 100644 d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache_a5ee34fcee480f21bb6f68a34f0f69b45_cgraph_org.svg delete mode 100644 d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache_ac1be0357ecc7c34144f3d9a63c6cb3ea_cgraph.map delete mode 100644 d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache_ac1be0357ecc7c34144f3d9a63c6cb3ea_cgraph.md5 delete mode 100644 d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache_ac1be0357ecc7c34144f3d9a63c6cb3ea_cgraph.svg delete mode 100644 d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache_ac1be0357ecc7c34144f3d9a63c6cb3ea_cgraph_org.svg delete mode 100644 d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache_ad022d494b40f82417340b113445e79a4_cgraph.map delete mode 100644 d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache_ad022d494b40f82417340b113445e79a4_cgraph.md5 delete mode 100644 d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache_ad022d494b40f82417340b113445e79a4_cgraph.svg delete mode 100644 d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache_ad022d494b40f82417340b113445e79a4_cgraph_org.svg create mode 100644 d8/d30/reverse__a__linked__list__using__recusion_8cpp_source.html delete mode 100644 d8/d41/namespacegames_1_1memory__game_a3ceeea62d8fa6c563e2c66359fd73413_cgraph.map delete mode 100644 d8/d41/namespacegames_1_1memory__game_a3ceeea62d8fa6c563e2c66359fd73413_cgraph.md5 delete mode 100644 d8/d41/namespacegames_1_1memory__game_a3ceeea62d8fa6c563e2c66359fd73413_cgraph.svg delete mode 100644 d8/d41/namespacegames_1_1memory__game_a3ceeea62d8fa6c563e2c66359fd73413_cgraph_org.svg delete mode 100644 d8/d41/namespacegames_1_1memory__game_a5714d97649c0edd57b4fb449799676a3_cgraph.map delete mode 100644 d8/d41/namespacegames_1_1memory__game_a5714d97649c0edd57b4fb449799676a3_cgraph.md5 delete mode 100644 d8/d41/namespacegames_1_1memory__game_a5714d97649c0edd57b4fb449799676a3_cgraph.svg delete mode 100644 d8/d41/namespacegames_1_1memory__game_a5714d97649c0edd57b4fb449799676a3_cgraph_org.svg delete mode 100644 d8/d41/namespacegames_1_1memory__game_ad573c8ae66ab66156d03e5e81bbba214_cgraph.map delete mode 100644 d8/d41/namespacegames_1_1memory__game_ad573c8ae66ab66156d03e5e81bbba214_cgraph.md5 delete mode 100644 d8/d41/namespacegames_1_1memory__game_ad573c8ae66ab66156d03e5e81bbba214_cgraph.svg delete mode 100644 d8/d41/namespacegames_1_1memory__game_ad573c8ae66ab66156d03e5e81bbba214_cgraph_org.svg delete mode 100644 d8/d41/namespacegames_1_1memory__game_adc62ebb75853446656e24932bdc6dd6b_cgraph.map delete mode 100644 d8/d41/namespacegames_1_1memory__game_adc62ebb75853446656e24932bdc6dd6b_cgraph.md5 delete mode 100644 d8/d41/namespacegames_1_1memory__game_adc62ebb75853446656e24932bdc6dd6b_cgraph.svg delete mode 100644 d8/d41/namespacegames_1_1memory__game_adc62ebb75853446656e24932bdc6dd6b_cgraph_org.svg delete mode 100644 d8/d53/modular__inverse__fermat__little__theorem_8cpp_a1c62a87e79f29b98d8fe5b12eacdd928_cgraph.map delete mode 100644 d8/d53/modular__inverse__fermat__little__theorem_8cpp_a1c62a87e79f29b98d8fe5b12eacdd928_cgraph.md5 delete mode 100644 d8/d53/modular__inverse__fermat__little__theorem_8cpp_a1c62a87e79f29b98d8fe5b12eacdd928_cgraph.svg delete mode 100644 d8/d53/modular__inverse__fermat__little__theorem_8cpp_a1c62a87e79f29b98d8fe5b12eacdd928_cgraph_org.svg delete mode 100644 d8/d53/modular__inverse__fermat__little__theorem_8cpp_aba4929409fee35c3cb559e962a544b3e_cgraph.map delete mode 100644 d8/d53/modular__inverse__fermat__little__theorem_8cpp_aba4929409fee35c3cb559e962a544b3e_cgraph.md5 delete mode 100644 d8/d53/modular__inverse__fermat__little__theorem_8cpp_aba4929409fee35c3cb559e962a544b3e_cgraph.svg delete mode 100644 d8/d53/modular__inverse__fermat__little__theorem_8cpp_aba4929409fee35c3cb559e962a544b3e_cgraph_org.svg delete mode 100644 d8/d53/modular__inverse__fermat__little__theorem_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d8/d53/modular__inverse__fermat__little__theorem_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d8/d53/modular__inverse__fermat__little__theorem_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d8/d53/modular__inverse__fermat__little__theorem_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg delete mode 100644 d8/d53/modular__inverse__fermat__little__theorem_8cpp_ae7e807e02c65c6fffd6162b4c66290c2_cgraph.map delete mode 100644 d8/d53/modular__inverse__fermat__little__theorem_8cpp_ae7e807e02c65c6fffd6162b4c66290c2_cgraph.md5 delete mode 100644 d8/d53/modular__inverse__fermat__little__theorem_8cpp_ae7e807e02c65c6fffd6162b4c66290c2_cgraph.svg delete mode 100644 d8/d53/modular__inverse__fermat__little__theorem_8cpp_ae7e807e02c65c6fffd6162b4c66290c2_cgraph_org.svg create mode 100644 d8/d53/modular__inverse__fermat__little__theorem_8cpp_source.html delete mode 100644 d8/d61/radix__sort2_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.map delete mode 100644 d8/d61/radix__sort2_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 delete mode 100644 d8/d61/radix__sort2_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.svg delete mode 100644 d8/d61/radix__sort2_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph_org.svg delete mode 100644 d8/d61/radix__sort2_8cpp_a98ead7d43b11505398daf9a894f122f9_cgraph.map delete mode 100644 d8/d61/radix__sort2_8cpp_a98ead7d43b11505398daf9a894f122f9_cgraph.md5 delete mode 100644 d8/d61/radix__sort2_8cpp_a98ead7d43b11505398daf9a894f122f9_cgraph.svg delete mode 100644 d8/d61/radix__sort2_8cpp_a98ead7d43b11505398daf9a894f122f9_cgraph_org.svg delete mode 100644 d8/d61/radix__sort2_8cpp_ae0cfd94fa3765b53d4ec7893ffaee5f8_cgraph.map delete mode 100644 d8/d61/radix__sort2_8cpp_ae0cfd94fa3765b53d4ec7893ffaee5f8_cgraph.md5 delete mode 100644 d8/d61/radix__sort2_8cpp_ae0cfd94fa3765b53d4ec7893ffaee5f8_cgraph.svg delete mode 100644 d8/d61/radix__sort2_8cpp_ae0cfd94fa3765b53d4ec7893ffaee5f8_cgraph_org.svg delete mode 100644 d8/d61/radix__sort2_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d8/d61/radix__sort2_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d8/d61/radix__sort2_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d8/d61/radix__sort2_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 d8/d61/radix__sort2_8cpp_source.html delete mode 100644 d8/d68/dijkstra_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph.map delete mode 100644 d8/d68/dijkstra_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph.md5 delete mode 100644 d8/d68/dijkstra_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph.svg delete mode 100644 d8/d68/dijkstra_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph_org.svg delete mode 100644 d8/d68/dijkstra_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d8/d68/dijkstra_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d8/d68/dijkstra_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d8/d68/dijkstra_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 d8/d68/dijkstra_8cpp_source.html delete mode 100644 d8/d69/classgraph_1_1_h_k_graph_a3b49011c09cf90a116ab53bef61cd95a_cgraph.map delete mode 100644 d8/d69/classgraph_1_1_h_k_graph_a3b49011c09cf90a116ab53bef61cd95a_cgraph.md5 delete mode 100644 d8/d69/classgraph_1_1_h_k_graph_a3b49011c09cf90a116ab53bef61cd95a_cgraph.svg delete mode 100644 d8/d69/classgraph_1_1_h_k_graph_a3b49011c09cf90a116ab53bef61cd95a_cgraph_org.svg delete mode 100644 d8/d69/classgraph_1_1_h_k_graph_a7491add14d9fc04f679114ca6d6f0f93_cgraph.map delete mode 100644 d8/d69/classgraph_1_1_h_k_graph_a7491add14d9fc04f679114ca6d6f0f93_cgraph.md5 delete mode 100644 d8/d69/classgraph_1_1_h_k_graph_a7491add14d9fc04f679114ca6d6f0f93_cgraph.svg delete mode 100644 d8/d69/classgraph_1_1_h_k_graph_a7491add14d9fc04f679114ca6d6f0f93_cgraph_org.svg delete mode 100644 d8/d69/classgraph_1_1_h_k_graph_a9dbda80d02bdc26c3e8ff7330c9be75d_cgraph.map delete mode 100644 d8/d69/classgraph_1_1_h_k_graph_a9dbda80d02bdc26c3e8ff7330c9be75d_cgraph.md5 delete mode 100644 d8/d69/classgraph_1_1_h_k_graph_a9dbda80d02bdc26c3e8ff7330c9be75d_cgraph.svg delete mode 100644 d8/d69/classgraph_1_1_h_k_graph_a9dbda80d02bdc26c3e8ff7330c9be75d_cgraph_org.svg delete mode 100644 d8/d69/classgraph_1_1_h_k_graph_ae794950cb3407b6b47d3dc986cf714c0_cgraph.map delete mode 100644 d8/d69/classgraph_1_1_h_k_graph_ae794950cb3407b6b47d3dc986cf714c0_cgraph.md5 delete mode 100644 d8/d69/classgraph_1_1_h_k_graph_ae794950cb3407b6b47d3dc986cf714c0_cgraph.svg delete mode 100644 d8/d69/classgraph_1_1_h_k_graph_ae794950cb3407b6b47d3dc986cf714c0_cgraph_org.svg delete mode 100644 d8/d6c/line__segment__intersection_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d8/d6c/line__segment__intersection_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d8/d6c/line__segment__intersection_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d8/d6c/line__segment__intersection_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 d8/d6c/line__segment__intersection_8cpp_source.html delete mode 100644 d8/d76/morse__code_8cpp_a0242e458904de8a242fcdaffe9e3ba1a_cgraph.map delete mode 100644 d8/d76/morse__code_8cpp_a0242e458904de8a242fcdaffe9e3ba1a_cgraph.md5 delete mode 100644 d8/d76/morse__code_8cpp_a0242e458904de8a242fcdaffe9e3ba1a_cgraph.svg delete mode 100644 d8/d76/morse__code_8cpp_a0242e458904de8a242fcdaffe9e3ba1a_cgraph_org.svg delete mode 100644 d8/d76/morse__code_8cpp_a15c66ec8cf4cef0a35c50cbab86965dc_cgraph.map delete mode 100644 d8/d76/morse__code_8cpp_a15c66ec8cf4cef0a35c50cbab86965dc_cgraph.md5 delete mode 100644 d8/d76/morse__code_8cpp_a15c66ec8cf4cef0a35c50cbab86965dc_cgraph.svg delete mode 100644 d8/d76/morse__code_8cpp_a15c66ec8cf4cef0a35c50cbab86965dc_cgraph_org.svg delete mode 100644 d8/d76/morse__code_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map delete mode 100644 d8/d76/morse__code_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 delete mode 100644 d8/d76/morse__code_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg delete mode 100644 d8/d76/morse__code_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg delete mode 100644 d8/d76/morse__code_8cpp_ab31773fd11555d21f70d6914138d9535_cgraph.map delete mode 100644 d8/d76/morse__code_8cpp_ab31773fd11555d21f70d6914138d9535_cgraph.md5 delete mode 100644 d8/d76/morse__code_8cpp_ab31773fd11555d21f70d6914138d9535_cgraph.svg delete mode 100644 d8/d76/morse__code_8cpp_ab31773fd11555d21f70d6914138d9535_cgraph_org.svg delete mode 100644 d8/d76/morse__code_8cpp_ac9f294b0dec08a4a11d477a32f9bd829_cgraph.map delete mode 100644 d8/d76/morse__code_8cpp_ac9f294b0dec08a4a11d477a32f9bd829_cgraph.md5 delete mode 100644 d8/d76/morse__code_8cpp_ac9f294b0dec08a4a11d477a32f9bd829_cgraph.svg delete mode 100644 d8/d76/morse__code_8cpp_ac9f294b0dec08a4a11d477a32f9bd829_cgraph_org.svg delete mode 100644 d8/d76/morse__code_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d8/d76/morse__code_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d8/d76/morse__code_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d8/d76/morse__code_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 d8/d76/morse__code_8cpp_source.html delete mode 100644 d8/d77/namespacemachine__learning_a042f435bca0839e721fc1574a61e8da3_cgraph.map delete mode 100644 d8/d77/namespacemachine__learning_a042f435bca0839e721fc1574a61e8da3_cgraph.md5 delete mode 100644 d8/d77/namespacemachine__learning_a042f435bca0839e721fc1574a61e8da3_cgraph.svg delete mode 100644 d8/d77/namespacemachine__learning_a042f435bca0839e721fc1574a61e8da3_cgraph_org.svg delete mode 100644 d8/d77/namespacemachine__learning_a0cc29566568e0383dd7d374068cbe6b3_cgraph.map delete mode 100644 d8/d77/namespacemachine__learning_a0cc29566568e0383dd7d374068cbe6b3_cgraph.md5 delete mode 100644 d8/d77/namespacemachine__learning_a0cc29566568e0383dd7d374068cbe6b3_cgraph.svg delete mode 100644 d8/d77/namespacemachine__learning_a0cc29566568e0383dd7d374068cbe6b3_cgraph_org.svg delete mode 100644 d8/d77/namespacemachine__learning_a2466857dab977a49f117029835b3b6d2_cgraph.map delete mode 100644 d8/d77/namespacemachine__learning_a2466857dab977a49f117029835b3b6d2_cgraph.md5 delete mode 100644 d8/d77/namespacemachine__learning_a2466857dab977a49f117029835b3b6d2_cgraph.svg delete mode 100644 d8/d77/namespacemachine__learning_a2466857dab977a49f117029835b3b6d2_cgraph_org.svg delete mode 100644 d8/d77/namespacemachine__learning_a50480fccfb39de20ca47f1bf51ecb6ec_cgraph.map delete mode 100644 d8/d77/namespacemachine__learning_a50480fccfb39de20ca47f1bf51ecb6ec_cgraph.md5 delete mode 100644 d8/d77/namespacemachine__learning_a50480fccfb39de20ca47f1bf51ecb6ec_cgraph.svg delete mode 100644 d8/d77/namespacemachine__learning_a50480fccfb39de20ca47f1bf51ecb6ec_cgraph_org.svg delete mode 100644 d8/d77/namespacemachine__learning_a5342906d42b80fc6b6b3ad17bf00fcb9_cgraph.map delete mode 100644 d8/d77/namespacemachine__learning_a5342906d42b80fc6b6b3ad17bf00fcb9_cgraph.md5 delete mode 100644 d8/d77/namespacemachine__learning_a5342906d42b80fc6b6b3ad17bf00fcb9_cgraph.svg delete mode 100644 d8/d77/namespacemachine__learning_a5342906d42b80fc6b6b3ad17bf00fcb9_cgraph_org.svg delete mode 100644 d8/d77/namespacemachine__learning_a54bf1f3c43271a5fc93101f6ae2e6269_cgraph.map delete mode 100644 d8/d77/namespacemachine__learning_a54bf1f3c43271a5fc93101f6ae2e6269_cgraph.md5 delete mode 100644 d8/d77/namespacemachine__learning_a54bf1f3c43271a5fc93101f6ae2e6269_cgraph.svg delete mode 100644 d8/d77/namespacemachine__learning_a54bf1f3c43271a5fc93101f6ae2e6269_cgraph_org.svg delete mode 100644 d8/d77/namespacemachine__learning_a84260cb1be9b63d6e38107000ac4b7e7_cgraph.map delete mode 100644 d8/d77/namespacemachine__learning_a84260cb1be9b63d6e38107000ac4b7e7_cgraph.md5 delete mode 100644 d8/d77/namespacemachine__learning_a84260cb1be9b63d6e38107000ac4b7e7_cgraph.svg delete mode 100644 d8/d77/namespacemachine__learning_a84260cb1be9b63d6e38107000ac4b7e7_cgraph_org.svg delete mode 100644 d8/d77/namespacemachine__learning_a89fde571b38f9483576594f66572958a_cgraph.map delete mode 100644 d8/d77/namespacemachine__learning_a89fde571b38f9483576594f66572958a_cgraph.md5 delete mode 100644 d8/d77/namespacemachine__learning_a89fde571b38f9483576594f66572958a_cgraph.svg delete mode 100644 d8/d77/namespacemachine__learning_a89fde571b38f9483576594f66572958a_cgraph_org.svg delete mode 100644 d8/d77/namespacemachine__learning_aa4bbf61e65f8cd297255fa94b983d078_cgraph.map delete mode 100644 d8/d77/namespacemachine__learning_aa4bbf61e65f8cd297255fa94b983d078_cgraph.md5 delete mode 100644 d8/d77/namespacemachine__learning_aa4bbf61e65f8cd297255fa94b983d078_cgraph.svg delete mode 100644 d8/d77/namespacemachine__learning_aa4bbf61e65f8cd297255fa94b983d078_cgraph_org.svg delete mode 100644 d8/d77/namespacemachine__learning_aa6aac06ccf128b0a9c55c9ee1a8e5631_cgraph.map delete mode 100644 d8/d77/namespacemachine__learning_aa6aac06ccf128b0a9c55c9ee1a8e5631_cgraph.md5 delete mode 100644 d8/d77/namespacemachine__learning_aa6aac06ccf128b0a9c55c9ee1a8e5631_cgraph.svg delete mode 100644 d8/d77/namespacemachine__learning_aa6aac06ccf128b0a9c55c9ee1a8e5631_cgraph_org.svg delete mode 100644 d8/d77/namespacemachine__learning_aa72a53c88203fde278f1fe6c3afe5b07_cgraph.map delete mode 100644 d8/d77/namespacemachine__learning_aa72a53c88203fde278f1fe6c3afe5b07_cgraph.md5 delete mode 100644 d8/d77/namespacemachine__learning_aa72a53c88203fde278f1fe6c3afe5b07_cgraph.svg delete mode 100644 d8/d77/namespacemachine__learning_aa72a53c88203fde278f1fe6c3afe5b07_cgraph_org.svg delete mode 100644 d8/d77/namespacemachine__learning_abee7b35403af3612222d3b7a53074905_cgraph.map delete mode 100644 d8/d77/namespacemachine__learning_abee7b35403af3612222d3b7a53074905_cgraph.md5 delete mode 100644 d8/d77/namespacemachine__learning_abee7b35403af3612222d3b7a53074905_cgraph.svg delete mode 100644 d8/d77/namespacemachine__learning_abee7b35403af3612222d3b7a53074905_cgraph_org.svg delete mode 100644 d8/d77/namespacemachine__learning_ac332d152078e96311e43ac5e7183ea26_cgraph.map delete mode 100644 d8/d77/namespacemachine__learning_ac332d152078e96311e43ac5e7183ea26_cgraph.md5 delete mode 100644 d8/d77/namespacemachine__learning_ac332d152078e96311e43ac5e7183ea26_cgraph.svg delete mode 100644 d8/d77/namespacemachine__learning_ac332d152078e96311e43ac5e7183ea26_cgraph_org.svg delete mode 100644 d8/d77/namespacemachine__learning_ac43d294e21a0c4fa33c53757df054576_cgraph.map delete mode 100644 d8/d77/namespacemachine__learning_ac43d294e21a0c4fa33c53757df054576_cgraph.md5 delete mode 100644 d8/d77/namespacemachine__learning_ac43d294e21a0c4fa33c53757df054576_cgraph.svg delete mode 100644 d8/d77/namespacemachine__learning_ac43d294e21a0c4fa33c53757df054576_cgraph_org.svg delete mode 100644 d8/d77/namespacemachine__learning_acafa3e62b686aebdbad81c4f89913f43_cgraph.map delete mode 100644 d8/d77/namespacemachine__learning_acafa3e62b686aebdbad81c4f89913f43_cgraph.md5 delete mode 100644 d8/d77/namespacemachine__learning_acafa3e62b686aebdbad81c4f89913f43_cgraph.svg delete mode 100644 d8/d77/namespacemachine__learning_acafa3e62b686aebdbad81c4f89913f43_cgraph_org.svg delete mode 100644 d8/d77/namespacemachine__learning_ae868ad43698a1d69ba46ea3827d7d2c3_cgraph.map delete mode 100644 d8/d77/namespacemachine__learning_ae868ad43698a1d69ba46ea3827d7d2c3_cgraph.md5 delete mode 100644 d8/d77/namespacemachine__learning_ae868ad43698a1d69ba46ea3827d7d2c3_cgraph.svg delete mode 100644 d8/d77/namespacemachine__learning_ae868ad43698a1d69ba46ea3827d7d2c3_cgraph_org.svg delete mode 100644 d8/d77/namespacemachine__learning_af4986b23760039711848155739c31b35_cgraph.map delete mode 100644 d8/d77/namespacemachine__learning_af4986b23760039711848155739c31b35_cgraph.md5 delete mode 100644 d8/d77/namespacemachine__learning_af4986b23760039711848155739c31b35_cgraph.svg delete mode 100644 d8/d77/namespacemachine__learning_af4986b23760039711848155739c31b35_cgraph_org.svg delete mode 100644 d8/d77/namespacemachine__learning_af801bf30591ca6b2c38ff4fed0ded23f_cgraph.map delete mode 100644 d8/d77/namespacemachine__learning_af801bf30591ca6b2c38ff4fed0ded23f_cgraph.md5 delete mode 100644 d8/d77/namespacemachine__learning_af801bf30591ca6b2c38ff4fed0ded23f_cgraph.svg delete mode 100644 d8/d77/namespacemachine__learning_af801bf30591ca6b2c38ff4fed0ded23f_cgraph_org.svg delete mode 100644 d8/d7a/sha1_8cpp_a2397f2444a05e4d1487c67e215410d3c_cgraph.map delete mode 100644 d8/d7a/sha1_8cpp_a2397f2444a05e4d1487c67e215410d3c_cgraph.md5 delete mode 100644 d8/d7a/sha1_8cpp_a2397f2444a05e4d1487c67e215410d3c_cgraph.svg delete mode 100644 d8/d7a/sha1_8cpp_a2397f2444a05e4d1487c67e215410d3c_cgraph_org.svg delete mode 100644 d8/d7a/sha1_8cpp_a7be3471f7e489d7d0df42b97a48bf141_cgraph.map delete mode 100644 d8/d7a/sha1_8cpp_a7be3471f7e489d7d0df42b97a48bf141_cgraph.md5 delete mode 100644 d8/d7a/sha1_8cpp_a7be3471f7e489d7d0df42b97a48bf141_cgraph.svg delete mode 100644 d8/d7a/sha1_8cpp_a7be3471f7e489d7d0df42b97a48bf141_cgraph_org.svg delete mode 100644 d8/d7a/sha1_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map delete mode 100644 d8/d7a/sha1_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 delete mode 100644 d8/d7a/sha1_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg delete mode 100644 d8/d7a/sha1_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg delete mode 100644 d8/d7a/sha1_8cpp_ac9e1a11f44135b890dd10a00e73b5661_cgraph.map delete mode 100644 d8/d7a/sha1_8cpp_ac9e1a11f44135b890dd10a00e73b5661_cgraph.md5 delete mode 100644 d8/d7a/sha1_8cpp_ac9e1a11f44135b890dd10a00e73b5661_cgraph.svg delete mode 100644 d8/d7a/sha1_8cpp_ac9e1a11f44135b890dd10a00e73b5661_cgraph_org.svg delete mode 100644 d8/d7a/sha1_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d8/d7a/sha1_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d8/d7a/sha1_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d8/d7a/sha1_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 d8/d7a/sha1_8cpp_source.html delete mode 100644 d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list_a03a896b34d27fda69049827e0c4dab42_cgraph.map delete mode 100644 d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list_a03a896b34d27fda69049827e0c4dab42_cgraph.md5 delete mode 100644 d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list_a03a896b34d27fda69049827e0c4dab42_cgraph.svg delete mode 100644 d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list_a03a896b34d27fda69049827e0c4dab42_cgraph_org.svg delete mode 100644 d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list_a142fa439b102c6f86341f421ddcfe0a1_cgraph.map delete mode 100644 d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list_a142fa439b102c6f86341f421ddcfe0a1_cgraph.md5 delete mode 100644 d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list_a142fa439b102c6f86341f421ddcfe0a1_cgraph.svg delete mode 100644 d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list_a142fa439b102c6f86341f421ddcfe0a1_cgraph_org.svg delete mode 100644 d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list_a3b7bbb0918c261bc216aef9e6dd39aa4_cgraph.map delete mode 100644 d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list_a3b7bbb0918c261bc216aef9e6dd39aa4_cgraph.md5 delete mode 100644 d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list_a3b7bbb0918c261bc216aef9e6dd39aa4_cgraph.svg delete mode 100644 d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list_a3b7bbb0918c261bc216aef9e6dd39aa4_cgraph_org.svg delete mode 100644 d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list_a46195fcf11b636064c7172cb74b55dd0_cgraph.map delete mode 100644 d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list_a46195fcf11b636064c7172cb74b55dd0_cgraph.md5 delete mode 100644 d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list_a46195fcf11b636064c7172cb74b55dd0_cgraph.svg delete mode 100644 d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list_a46195fcf11b636064c7172cb74b55dd0_cgraph_org.svg delete mode 100644 d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list_a53611ec1fef92eeeb875aea1bde1e4de_cgraph.map delete mode 100644 d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list_a53611ec1fef92eeeb875aea1bde1e4de_cgraph.md5 delete mode 100644 d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list_a53611ec1fef92eeeb875aea1bde1e4de_cgraph.svg delete mode 100644 d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list_a53611ec1fef92eeeb875aea1bde1e4de_cgraph_org.svg delete mode 100644 d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list_a9cc37166f2f73763df39894b675f89c9_cgraph.map delete mode 100644 d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list_a9cc37166f2f73763df39894b675f89c9_cgraph.md5 delete mode 100644 d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list_a9cc37166f2f73763df39894b675f89c9_cgraph.svg delete mode 100644 d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list_a9cc37166f2f73763df39894b675f89c9_cgraph_org.svg delete mode 100644 d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list_ac341901e926b3fa3a796c64ca572f592_cgraph.map delete mode 100644 d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list_ac341901e926b3fa3a796c64ca572f592_cgraph.md5 delete mode 100644 d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list_ac341901e926b3fa3a796c64ca572f592_cgraph.svg delete mode 100644 d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list_ac341901e926b3fa3a796c64ca572f592_cgraph_org.svg delete mode 100644 d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list_ac38565472a07d07f63ec0d2fd8a69d4d_cgraph.map delete mode 100644 d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list_ac38565472a07d07f63ec0d2fd8a69d4d_cgraph.md5 delete mode 100644 d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list_ac38565472a07d07f63ec0d2fd8a69d4d_cgraph.svg delete mode 100644 d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list_ac38565472a07d07f63ec0d2fd8a69d4d_cgraph_org.svg create mode 100644 d8/d7c/radix__sort_8cpp_source.html delete mode 100644 d8/d7d/kruskals__minimum__spanning__tree_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map delete mode 100644 d8/d7d/kruskals__minimum__spanning__tree_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 delete mode 100644 d8/d7d/kruskals__minimum__spanning__tree_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg delete mode 100644 d8/d7d/kruskals__minimum__spanning__tree_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg delete mode 100644 d8/d7d/kruskals__minimum__spanning__tree_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d8/d7d/kruskals__minimum__spanning__tree_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d8/d7d/kruskals__minimum__spanning__tree_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d8/d7d/kruskals__minimum__spanning__tree_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 d8/d7d/kruskals__minimum__spanning__tree_8cpp_source.html delete mode 100644 d8/d89/namespacelinear__probing_a16680b8a37d442c2f208faa286e33908_cgraph.map delete mode 100644 d8/d89/namespacelinear__probing_a16680b8a37d442c2f208faa286e33908_cgraph.md5 delete mode 100644 d8/d89/namespacelinear__probing_a16680b8a37d442c2f208faa286e33908_cgraph.svg delete mode 100644 d8/d89/namespacelinear__probing_a16680b8a37d442c2f208faa286e33908_cgraph_org.svg delete mode 100644 d8/d89/namespacelinear__probing_a16d34fd3511626a83ab00665d7bc34d1_cgraph.map delete mode 100644 d8/d89/namespacelinear__probing_a16d34fd3511626a83ab00665d7bc34d1_cgraph.md5 delete mode 100644 d8/d89/namespacelinear__probing_a16d34fd3511626a83ab00665d7bc34d1_cgraph.svg delete mode 100644 d8/d89/namespacelinear__probing_a16d34fd3511626a83ab00665d7bc34d1_cgraph_org.svg delete mode 100644 d8/d89/namespacelinear__probing_a6322209aaa91b7bbf16f96e1cc52b746_cgraph.map delete mode 100644 d8/d89/namespacelinear__probing_a6322209aaa91b7bbf16f96e1cc52b746_cgraph.md5 delete mode 100644 d8/d89/namespacelinear__probing_a6322209aaa91b7bbf16f96e1cc52b746_cgraph.svg delete mode 100644 d8/d89/namespacelinear__probing_a6322209aaa91b7bbf16f96e1cc52b746_cgraph_org.svg delete mode 100644 d8/d89/namespacelinear__probing_a6a082dc1426a79f866cee6b370df37b0_cgraph.map delete mode 100644 d8/d89/namespacelinear__probing_a6a082dc1426a79f866cee6b370df37b0_cgraph.md5 delete mode 100644 d8/d89/namespacelinear__probing_a6a082dc1426a79f866cee6b370df37b0_cgraph.svg delete mode 100644 d8/d89/namespacelinear__probing_a6a082dc1426a79f866cee6b370df37b0_cgraph_org.svg delete mode 100644 d8/d89/namespacelinear__probing_a75854f5aa216e61219154c62167ce8f0_cgraph.map delete mode 100644 d8/d89/namespacelinear__probing_a75854f5aa216e61219154c62167ce8f0_cgraph.md5 delete mode 100644 d8/d89/namespacelinear__probing_a75854f5aa216e61219154c62167ce8f0_cgraph.svg delete mode 100644 d8/d89/namespacelinear__probing_a75854f5aa216e61219154c62167ce8f0_cgraph_org.svg delete mode 100644 d8/d89/namespacelinear__probing_abcf8d033f8115f39f3c93cfb6cee0b28_cgraph.map delete mode 100644 d8/d89/namespacelinear__probing_abcf8d033f8115f39f3c93cfb6cee0b28_cgraph.md5 delete mode 100644 d8/d89/namespacelinear__probing_abcf8d033f8115f39f3c93cfb6cee0b28_cgraph.svg delete mode 100644 d8/d89/namespacelinear__probing_abcf8d033f8115f39f3c93cfb6cee0b28_cgraph_org.svg delete mode 100644 d8/d89/namespacelinear__probing_ad87b71d810901fab69c4ad9d4d0fa635_cgraph.map delete mode 100644 d8/d89/namespacelinear__probing_ad87b71d810901fab69c4ad9d4d0fa635_cgraph.md5 delete mode 100644 d8/d89/namespacelinear__probing_ad87b71d810901fab69c4ad9d4d0fa635_cgraph.svg delete mode 100644 d8/d89/namespacelinear__probing_ad87b71d810901fab69c4ad9d4d0fa635_cgraph_org.svg delete mode 100644 d8/d8a/exponential__search_8cpp_ab06cedad209456eae95d37b7cd66acae_cgraph.map delete mode 100644 d8/d8a/exponential__search_8cpp_ab06cedad209456eae95d37b7cd66acae_cgraph.md5 delete mode 100644 d8/d8a/exponential__search_8cpp_ab06cedad209456eae95d37b7cd66acae_cgraph.svg delete mode 100644 d8/d8a/exponential__search_8cpp_ab06cedad209456eae95d37b7cd66acae_cgraph_org.svg delete mode 100644 d8/d8a/exponential__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d8/d8a/exponential__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d8/d8a/exponential__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d8/d8a/exponential__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg delete mode 100644 d8/d8a/exponential__search_8cpp_af421bf4b7b95f20ac86c233adfdb9208_cgraph.map delete mode 100644 d8/d8a/exponential__search_8cpp_af421bf4b7b95f20ac86c233adfdb9208_cgraph.md5 delete mode 100644 d8/d8a/exponential__search_8cpp_af421bf4b7b95f20ac86c233adfdb9208_cgraph.svg delete mode 100644 d8/d8a/exponential__search_8cpp_af421bf4b7b95f20ac86c233adfdb9208_cgraph_org.svg create mode 100644 d8/d8a/exponential__search_8cpp_source.html create mode 100644 d8/d8f/bitonic__sort_8cpp_source.html delete mode 100644 d8/d90/iterative__tree__traversals_8cpp_a038b236fe900f7bb7e57164f5bed66c2_cgraph.map delete mode 100644 d8/d90/iterative__tree__traversals_8cpp_a038b236fe900f7bb7e57164f5bed66c2_cgraph.md5 delete mode 100644 d8/d90/iterative__tree__traversals_8cpp_a038b236fe900f7bb7e57164f5bed66c2_cgraph.svg delete mode 100644 d8/d90/iterative__tree__traversals_8cpp_a038b236fe900f7bb7e57164f5bed66c2_cgraph_org.svg delete mode 100644 d8/d90/iterative__tree__traversals_8cpp_a21d922dbb5905993960c6a7f0ba71ac0_cgraph.map delete mode 100644 d8/d90/iterative__tree__traversals_8cpp_a21d922dbb5905993960c6a7f0ba71ac0_cgraph.md5 delete mode 100644 d8/d90/iterative__tree__traversals_8cpp_a21d922dbb5905993960c6a7f0ba71ac0_cgraph.svg delete mode 100644 d8/d90/iterative__tree__traversals_8cpp_a21d922dbb5905993960c6a7f0ba71ac0_cgraph_org.svg delete mode 100644 d8/d90/iterative__tree__traversals_8cpp_a425c4c8520991999ee6dbe13d99b87f4_cgraph.map delete mode 100644 d8/d90/iterative__tree__traversals_8cpp_a425c4c8520991999ee6dbe13d99b87f4_cgraph.md5 delete mode 100644 d8/d90/iterative__tree__traversals_8cpp_a425c4c8520991999ee6dbe13d99b87f4_cgraph.svg delete mode 100644 d8/d90/iterative__tree__traversals_8cpp_a425c4c8520991999ee6dbe13d99b87f4_cgraph_org.svg delete mode 100644 d8/d90/iterative__tree__traversals_8cpp_aa9ef334cd7eb607f4eb8732566ea00b8_cgraph.map delete mode 100644 d8/d90/iterative__tree__traversals_8cpp_aa9ef334cd7eb607f4eb8732566ea00b8_cgraph.md5 delete mode 100644 d8/d90/iterative__tree__traversals_8cpp_aa9ef334cd7eb607f4eb8732566ea00b8_cgraph.svg delete mode 100644 d8/d90/iterative__tree__traversals_8cpp_aa9ef334cd7eb607f4eb8732566ea00b8_cgraph_org.svg delete mode 100644 d8/d90/iterative__tree__traversals_8cpp_ac35ae2868441f8a11c965b87b2494f21_cgraph.map delete mode 100644 d8/d90/iterative__tree__traversals_8cpp_ac35ae2868441f8a11c965b87b2494f21_cgraph.md5 delete mode 100644 d8/d90/iterative__tree__traversals_8cpp_ac35ae2868441f8a11c965b87b2494f21_cgraph.svg delete mode 100644 d8/d90/iterative__tree__traversals_8cpp_ac35ae2868441f8a11c965b87b2494f21_cgraph_org.svg delete mode 100644 d8/d90/iterative__tree__traversals_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d8/d90/iterative__tree__traversals_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d8/d90/iterative__tree__traversals_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d8/d90/iterative__tree__traversals_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg delete mode 100644 d8/d90/iterative__tree__traversals_8cpp_af727f920064f2b8f484b589b60d49b89_cgraph.map delete mode 100644 d8/d90/iterative__tree__traversals_8cpp_af727f920064f2b8f484b589b60d49b89_cgraph.md5 delete mode 100644 d8/d90/iterative__tree__traversals_8cpp_af727f920064f2b8f484b589b60d49b89_cgraph.svg delete mode 100644 d8/d90/iterative__tree__traversals_8cpp_af727f920064f2b8f484b589b60d49b89_cgraph_org.svg create mode 100644 d8/d90/iterative__tree__traversals_8cpp_source.html create mode 100644 d8/d96/stack__using__array_8cpp_source.html delete mode 100644 d8/d99/connected__components__with__dsu_8cpp_a469384d8a4197a9b24482ce7c321a85e_cgraph.map delete mode 100644 d8/d99/connected__components__with__dsu_8cpp_a469384d8a4197a9b24482ce7c321a85e_cgraph.md5 delete mode 100644 d8/d99/connected__components__with__dsu_8cpp_a469384d8a4197a9b24482ce7c321a85e_cgraph.svg delete mode 100644 d8/d99/connected__components__with__dsu_8cpp_a469384d8a4197a9b24482ce7c321a85e_cgraph_org.svg delete mode 100644 d8/d99/connected__components__with__dsu_8cpp_a67cb7472f310a798f555fe45cdf50145_cgraph.map delete mode 100644 d8/d99/connected__components__with__dsu_8cpp_a67cb7472f310a798f555fe45cdf50145_cgraph.md5 delete mode 100644 d8/d99/connected__components__with__dsu_8cpp_a67cb7472f310a798f555fe45cdf50145_cgraph.svg delete mode 100644 d8/d99/connected__components__with__dsu_8cpp_a67cb7472f310a798f555fe45cdf50145_cgraph_org.svg delete mode 100644 d8/d99/connected__components__with__dsu_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map delete mode 100644 d8/d99/connected__components__with__dsu_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 delete mode 100644 d8/d99/connected__components__with__dsu_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg delete mode 100644 d8/d99/connected__components__with__dsu_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg delete mode 100644 d8/d99/connected__components__with__dsu_8cpp_ac2d6698b71384a352ec4b81b31b13141_cgraph.map delete mode 100644 d8/d99/connected__components__with__dsu_8cpp_ac2d6698b71384a352ec4b81b31b13141_cgraph.md5 delete mode 100644 d8/d99/connected__components__with__dsu_8cpp_ac2d6698b71384a352ec4b81b31b13141_cgraph.svg delete mode 100644 d8/d99/connected__components__with__dsu_8cpp_ac2d6698b71384a352ec4b81b31b13141_cgraph_org.svg delete mode 100644 d8/d99/connected__components__with__dsu_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d8/d99/connected__components__with__dsu_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d8/d99/connected__components__with__dsu_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d8/d99/connected__components__with__dsu_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg delete mode 100644 d8/d99/connected__components__with__dsu_8cpp_ae91ed94113c56191b75fe45f688d6e62_cgraph.map delete mode 100644 d8/d99/connected__components__with__dsu_8cpp_ae91ed94113c56191b75fe45f688d6e62_cgraph.md5 delete mode 100644 d8/d99/connected__components__with__dsu_8cpp_ae91ed94113c56191b75fe45f688d6e62_cgraph.svg delete mode 100644 d8/d99/connected__components__with__dsu_8cpp_ae91ed94113c56191b75fe45f688d6e62_cgraph_org.svg create mode 100644 d8/d99/connected__components__with__dsu_8cpp_source.html delete mode 100644 d8/d9a/fast__fourier__transform_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map delete mode 100644 d8/d9a/fast__fourier__transform_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 delete mode 100644 d8/d9a/fast__fourier__transform_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg delete mode 100644 d8/d9a/fast__fourier__transform_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg delete mode 100644 d8/d9a/fast__fourier__transform_8cpp_abf9e6b7e6f15df4b525a2e7705ba3089_cgraph.map delete mode 100644 d8/d9a/fast__fourier__transform_8cpp_abf9e6b7e6f15df4b525a2e7705ba3089_cgraph.md5 delete mode 100644 d8/d9a/fast__fourier__transform_8cpp_abf9e6b7e6f15df4b525a2e7705ba3089_cgraph.svg delete mode 100644 d8/d9a/fast__fourier__transform_8cpp_abf9e6b7e6f15df4b525a2e7705ba3089_cgraph_org.svg create mode 100644 d8/d9a/fast__fourier__transform_8cpp_source.html delete mode 100644 d8/d9c/union__of__two__arrays_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map delete mode 100644 d8/d9c/union__of__two__arrays_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 delete mode 100644 d8/d9c/union__of__two__arrays_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg delete mode 100644 d8/d9c/union__of__two__arrays_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg delete mode 100644 d8/d9c/union__of__two__arrays_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d8/d9c/union__of__two__arrays_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d8/d9c/union__of__two__arrays_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d8/d9c/union__of__two__arrays_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 d8/d9c/union__of__two__arrays_8cpp_source.html delete mode 100644 d8/dab/classstatistics_1_1stats__computer2_acf2e84df4fc386bb3295016ef8fd156e_cgraph.map delete mode 100644 d8/dab/classstatistics_1_1stats__computer2_acf2e84df4fc386bb3295016ef8fd156e_cgraph.md5 delete mode 100644 d8/dab/classstatistics_1_1stats__computer2_acf2e84df4fc386bb3295016ef8fd156e_cgraph.svg delete mode 100644 d8/dab/classstatistics_1_1stats__computer2_acf2e84df4fc386bb3295016ef8fd156e_cgraph_org.svg delete mode 100644 d8/dab/sparse__table_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.map delete mode 100644 d8/dab/sparse__table_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.md5 delete mode 100644 d8/dab/sparse__table_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.svg delete mode 100644 d8/dab/sparse__table_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph_org.svg delete mode 100644 d8/dab/sparse__table_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map delete mode 100644 d8/dab/sparse__table_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 delete mode 100644 d8/dab/sparse__table_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg delete mode 100644 d8/dab/sparse__table_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg create mode 100644 d8/dab/sparse__table_8cpp_source.html delete mode 100644 d8/db1/binomial__calculate_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.map delete mode 100644 d8/db1/binomial__calculate_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 delete mode 100644 d8/db1/binomial__calculate_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.svg delete mode 100644 d8/db1/binomial__calculate_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph_org.svg delete mode 100644 d8/db1/binomial__calculate_8cpp_aae407a2a13362c4c64fbe509ff325978_cgraph.map delete mode 100644 d8/db1/binomial__calculate_8cpp_aae407a2a13362c4c64fbe509ff325978_cgraph.md5 delete mode 100644 d8/db1/binomial__calculate_8cpp_aae407a2a13362c4c64fbe509ff325978_cgraph.svg delete mode 100644 d8/db1/binomial__calculate_8cpp_aae407a2a13362c4c64fbe509ff325978_cgraph_org.svg delete mode 100644 d8/db1/binomial__calculate_8cpp_ac0f2228420376f4db7e1274f2b41667c_cgraph.map delete mode 100644 d8/db1/binomial__calculate_8cpp_ac0f2228420376f4db7e1274f2b41667c_cgraph.md5 delete mode 100644 d8/db1/binomial__calculate_8cpp_ac0f2228420376f4db7e1274f2b41667c_cgraph.svg delete mode 100644 d8/db1/binomial__calculate_8cpp_ac0f2228420376f4db7e1274f2b41667c_cgraph_org.svg create mode 100644 d8/db1/binomial__calculate_8cpp_source.html create mode 100644 d8/db7/queue__using__linked__list_8cpp_source.html delete mode 100644 d8/db9/topological__sort_8cpp_a54dc5d7914958dbd24dda2fd862dc41b_cgraph.map delete mode 100644 d8/db9/topological__sort_8cpp_a54dc5d7914958dbd24dda2fd862dc41b_cgraph.md5 delete mode 100644 d8/db9/topological__sort_8cpp_a54dc5d7914958dbd24dda2fd862dc41b_cgraph.svg delete mode 100644 d8/db9/topological__sort_8cpp_a54dc5d7914958dbd24dda2fd862dc41b_cgraph_org.svg delete mode 100644 d8/db9/topological__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map delete mode 100644 d8/db9/topological__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 delete mode 100644 d8/db9/topological__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg delete mode 100644 d8/db9/topological__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg delete mode 100644 d8/db9/topological__sort_8cpp_abcbcaa2bb70af0a11d0c090ea1796aea_cgraph.map delete mode 100644 d8/db9/topological__sort_8cpp_abcbcaa2bb70af0a11d0c090ea1796aea_cgraph.md5 delete mode 100644 d8/db9/topological__sort_8cpp_abcbcaa2bb70af0a11d0c090ea1796aea_cgraph.svg delete mode 100644 d8/db9/topological__sort_8cpp_abcbcaa2bb70af0a11d0c090ea1796aea_cgraph_org.svg delete mode 100644 d8/db9/topological__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d8/db9/topological__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d8/db9/topological__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d8/db9/topological__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 d8/db9/topological__sort_8cpp_source.html delete mode 100644 d8/dcc/binary__insertion__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map delete mode 100644 d8/dcc/binary__insertion__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 delete mode 100644 d8/dcc/binary__insertion__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg delete mode 100644 d8/dcc/binary__insertion__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg delete mode 100644 d8/dcc/binary__insertion__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d8/dcc/binary__insertion__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d8/dcc/binary__insertion__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d8/dcc/binary__insertion__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 d8/dcc/binary__insertion__sort_8cpp_source.html delete mode 100644 d8/dcc/namespacestd.html delete mode 100644 d8/dcc/namespacestd.js create mode 100644 d8/dce/test__queue_8cpp_source.html delete mode 100644 d8/dd5/check__factorial_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.map delete mode 100644 d8/dd5/check__factorial_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 delete mode 100644 d8/dd5/check__factorial_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.svg delete mode 100644 d8/dd5/check__factorial_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph_org.svg delete mode 100644 d8/dd5/check__factorial_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d8/dd5/check__factorial_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d8/dd5/check__factorial_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d8/dd5/check__factorial_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 d8/dd5/check__factorial_8cpp_source.html delete mode 100644 d8/ddf/sieve__of__eratosthenes_8cpp_a22be949d160b26361f7e323310f7fa0c_cgraph.map delete mode 100644 d8/ddf/sieve__of__eratosthenes_8cpp_a22be949d160b26361f7e323310f7fa0c_cgraph.md5 delete mode 100644 d8/ddf/sieve__of__eratosthenes_8cpp_a22be949d160b26361f7e323310f7fa0c_cgraph.svg delete mode 100644 d8/ddf/sieve__of__eratosthenes_8cpp_a22be949d160b26361f7e323310f7fa0c_cgraph_org.svg delete mode 100644 d8/ddf/sieve__of__eratosthenes_8cpp_a55bc4a221e584d33b79b322432ecc0f3_cgraph.map delete mode 100644 d8/ddf/sieve__of__eratosthenes_8cpp_a55bc4a221e584d33b79b322432ecc0f3_cgraph.md5 delete mode 100644 d8/ddf/sieve__of__eratosthenes_8cpp_a55bc4a221e584d33b79b322432ecc0f3_cgraph.svg delete mode 100644 d8/ddf/sieve__of__eratosthenes_8cpp_a55bc4a221e584d33b79b322432ecc0f3_cgraph_org.svg delete mode 100644 d8/ddf/sieve__of__eratosthenes_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d8/ddf/sieve__of__eratosthenes_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d8/ddf/sieve__of__eratosthenes_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d8/ddf/sieve__of__eratosthenes_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 d8/ddf/sieve__of__eratosthenes_8cpp_source.html delete mode 100644 d8/dee/avltree_8cpp_a2473fe7416332495b2678ebe89652e4b_cgraph.map delete mode 100644 d8/dee/avltree_8cpp_a2473fe7416332495b2678ebe89652e4b_cgraph.md5 delete mode 100644 d8/dee/avltree_8cpp_a2473fe7416332495b2678ebe89652e4b_cgraph.svg delete mode 100644 d8/dee/avltree_8cpp_a2473fe7416332495b2678ebe89652e4b_cgraph_org.svg delete mode 100644 d8/dee/avltree_8cpp_a5fa160a678a34dd51c0aea1c0c00ed5e_cgraph.map delete mode 100644 d8/dee/avltree_8cpp_a5fa160a678a34dd51c0aea1c0c00ed5e_cgraph.md5 delete mode 100644 d8/dee/avltree_8cpp_a5fa160a678a34dd51c0aea1c0c00ed5e_cgraph.svg delete mode 100644 d8/dee/avltree_8cpp_a5fa160a678a34dd51c0aea1c0c00ed5e_cgraph_org.svg delete mode 100644 d8/dee/avltree_8cpp_a82659e9e223e520cf91d7e55c4a3f88c_cgraph.map delete mode 100644 d8/dee/avltree_8cpp_a82659e9e223e520cf91d7e55c4a3f88c_cgraph.md5 delete mode 100644 d8/dee/avltree_8cpp_a82659e9e223e520cf91d7e55c4a3f88c_cgraph.svg delete mode 100644 d8/dee/avltree_8cpp_a82659e9e223e520cf91d7e55c4a3f88c_cgraph_org.svg delete mode 100644 d8/dee/avltree_8cpp_aa29a7fdc2db1784f5a6e25025ff7cbf5_cgraph.map delete mode 100644 d8/dee/avltree_8cpp_aa29a7fdc2db1784f5a6e25025ff7cbf5_cgraph.md5 delete mode 100644 d8/dee/avltree_8cpp_aa29a7fdc2db1784f5a6e25025ff7cbf5_cgraph.svg delete mode 100644 d8/dee/avltree_8cpp_aa29a7fdc2db1784f5a6e25025ff7cbf5_cgraph_org.svg delete mode 100644 d8/dee/avltree_8cpp_aaa457ffec24c9643f2768e7a65e96546_cgraph.map delete mode 100644 d8/dee/avltree_8cpp_aaa457ffec24c9643f2768e7a65e96546_cgraph.md5 delete mode 100644 d8/dee/avltree_8cpp_aaa457ffec24c9643f2768e7a65e96546_cgraph.svg delete mode 100644 d8/dee/avltree_8cpp_aaa457ffec24c9643f2768e7a65e96546_cgraph_org.svg delete mode 100644 d8/dee/avltree_8cpp_ae4a66d8b0c2b0d626aea45977e358c83_cgraph.map delete mode 100644 d8/dee/avltree_8cpp_ae4a66d8b0c2b0d626aea45977e358c83_cgraph.md5 delete mode 100644 d8/dee/avltree_8cpp_ae4a66d8b0c2b0d626aea45977e358c83_cgraph.svg delete mode 100644 d8/dee/avltree_8cpp_ae4a66d8b0c2b0d626aea45977e358c83_cgraph_org.svg delete mode 100644 d8/dee/avltree_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d8/dee/avltree_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d8/dee/avltree_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d8/dee/avltree_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 d8/dee/avltree_8cpp_source.html delete mode 100644 d8/df0/queue__using__array_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d8/df0/queue__using__array_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d8/df0/queue__using__array_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d8/df0/queue__using__array_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 d8/df0/queue__using__array_8cpp_source.html create mode 100644 d8/df9/stack_8hpp__dep__incl.map create mode 100644 d8/df9/stack_8hpp__dep__incl.md5 create mode 100644 d8/df9/stack_8hpp__dep__incl.svg create mode 100644 d8/df9/stack_8hpp__dep__incl_org.svg delete mode 100644 d8/dfa/median__search2_8cpp_a5fefe132a0c3ee780ebc703f37ebce6a_cgraph.map delete mode 100644 d8/dfa/median__search2_8cpp_a5fefe132a0c3ee780ebc703f37ebce6a_cgraph.md5 delete mode 100644 d8/dfa/median__search2_8cpp_a5fefe132a0c3ee780ebc703f37ebce6a_cgraph.svg delete mode 100644 d8/dfa/median__search2_8cpp_a5fefe132a0c3ee780ebc703f37ebce6a_cgraph_org.svg delete mode 100644 d8/dfa/median__search2_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d8/dfa/median__search2_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d8/dfa/median__search2_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d8/dfa/median__search2_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 d8/dfa/median__search2_8cpp_source.html delete mode 100644 d9/d00/factorial_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.map delete mode 100644 d9/d00/factorial_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 delete mode 100644 d9/d00/factorial_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.svg delete mode 100644 d9/d00/factorial_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph_org.svg delete mode 100644 d9/d00/factorial_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d9/d00/factorial_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d9/d00/factorial_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d9/d00/factorial_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 d9/d00/factorial_8cpp_source.html delete mode 100644 d9/d02/linear__search_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.map delete mode 100644 d9/d02/linear__search_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 delete mode 100644 d9/d02/linear__search_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.svg delete mode 100644 d9/d02/linear__search_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph_org.svg delete mode 100644 d9/d02/linear__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d9/d02/linear__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d9/d02/linear__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d9/d02/linear__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 d9/d02/linear__search_8cpp_source.html delete mode 100644 d9/d03/namespacestring__search_a1e37af2f023495129cb57338c801209e_cgraph.map delete mode 100644 d9/d03/namespacestring__search_a1e37af2f023495129cb57338c801209e_cgraph.md5 delete mode 100644 d9/d03/namespacestring__search_a1e37af2f023495129cb57338c801209e_cgraph.svg delete mode 100644 d9/d03/namespacestring__search_a1e37af2f023495129cb57338c801209e_cgraph_org.svg delete mode 100644 d9/d03/namespacestring__search_a21c673d56cbf67b1d2ee4d869185b7d9_cgraph.map delete mode 100644 d9/d03/namespacestring__search_a21c673d56cbf67b1d2ee4d869185b7d9_cgraph.md5 delete mode 100644 d9/d03/namespacestring__search_a21c673d56cbf67b1d2ee4d869185b7d9_cgraph.svg delete mode 100644 d9/d03/namespacestring__search_a21c673d56cbf67b1d2ee4d869185b7d9_cgraph_org.svg delete mode 100644 d9/d03/namespacestring__search_a83c72ff237cdf623e42d4295e0029bf9_cgraph.map delete mode 100644 d9/d03/namespacestring__search_a83c72ff237cdf623e42d4295e0029bf9_cgraph.md5 delete mode 100644 d9/d03/namespacestring__search_a83c72ff237cdf623e42d4295e0029bf9_cgraph.svg delete mode 100644 d9/d03/namespacestring__search_a83c72ff237cdf623e42d4295e0029bf9_cgraph_org.svg delete mode 100644 d9/d03/namespacestring__search_aeb2cd81064717aedd62bfb096b1a73d8_cgraph.map delete mode 100644 d9/d03/namespacestring__search_aeb2cd81064717aedd62bfb096b1a73d8_cgraph.md5 delete mode 100644 d9/d03/namespacestring__search_aeb2cd81064717aedd62bfb096b1a73d8_cgraph.svg delete mode 100644 d9/d03/namespacestring__search_aeb2cd81064717aedd62bfb096b1a73d8_cgraph_org.svg delete mode 100644 d9/d12/classothers_1_1iterative__tree__traversals_1_1_binary_tree_a0c33f2c1a3a3deb486a1c33ee5239499_cgraph.map delete mode 100644 d9/d12/classothers_1_1iterative__tree__traversals_1_1_binary_tree_a0c33f2c1a3a3deb486a1c33ee5239499_cgraph.md5 delete mode 100644 d9/d12/classothers_1_1iterative__tree__traversals_1_1_binary_tree_a0c33f2c1a3a3deb486a1c33ee5239499_cgraph.svg delete mode 100644 d9/d12/classothers_1_1iterative__tree__traversals_1_1_binary_tree_a0c33f2c1a3a3deb486a1c33ee5239499_cgraph_org.svg delete mode 100644 d9/d12/classothers_1_1iterative__tree__traversals_1_1_binary_tree_a636a07c90b7f312bb86d2ec104efca25_cgraph.map delete mode 100644 d9/d12/classothers_1_1iterative__tree__traversals_1_1_binary_tree_a636a07c90b7f312bb86d2ec104efca25_cgraph.md5 delete mode 100644 d9/d12/classothers_1_1iterative__tree__traversals_1_1_binary_tree_a636a07c90b7f312bb86d2ec104efca25_cgraph.svg delete mode 100644 d9/d12/classothers_1_1iterative__tree__traversals_1_1_binary_tree_a636a07c90b7f312bb86d2ec104efca25_cgraph_org.svg delete mode 100644 d9/d12/classothers_1_1iterative__tree__traversals_1_1_binary_tree_ad4c6a8e67fb8267a65439b035666b5ae_cgraph.map delete mode 100644 d9/d12/classothers_1_1iterative__tree__traversals_1_1_binary_tree_ad4c6a8e67fb8267a65439b035666b5ae_cgraph.md5 delete mode 100644 d9/d12/classothers_1_1iterative__tree__traversals_1_1_binary_tree_ad4c6a8e67fb8267a65439b035666b5ae_cgraph.svg delete mode 100644 d9/d12/classothers_1_1iterative__tree__traversals_1_1_binary_tree_ad4c6a8e67fb8267a65439b035666b5ae_cgraph_org.svg delete mode 100644 d9/d14/array__left__rotation_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map delete mode 100644 d9/d14/array__left__rotation_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 delete mode 100644 d9/d14/array__left__rotation_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg delete mode 100644 d9/d14/array__left__rotation_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg delete mode 100644 d9/d14/array__left__rotation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d9/d14/array__left__rotation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d9/d14/array__left__rotation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d9/d14/array__left__rotation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 d9/d14/array__left__rotation_8cpp_source.html create mode 100644 d9/d1c/kruskal_8cpp_source.html delete mode 100644 d9/d1f/binary__addition_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.map delete mode 100644 d9/d1f/binary__addition_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 delete mode 100644 d9/d1f/binary__addition_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.svg delete mode 100644 d9/d1f/binary__addition_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph_org.svg delete mode 100644 d9/d1f/binary__addition_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d9/d1f/binary__addition_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d9/d1f/binary__addition_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d9/d1f/binary__addition_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 d9/d1f/binary__addition_8cpp_source.html delete mode 100644 d9/d23/classgraph_1_1_lowest_common_ancestor_a42589cc39d6bbff6c997152f1b96e356_cgraph.map delete mode 100644 d9/d23/classgraph_1_1_lowest_common_ancestor_a42589cc39d6bbff6c997152f1b96e356_cgraph.md5 delete mode 100644 d9/d23/classgraph_1_1_lowest_common_ancestor_a42589cc39d6bbff6c997152f1b96e356_cgraph.svg delete mode 100644 d9/d23/classgraph_1_1_lowest_common_ancestor_a42589cc39d6bbff6c997152f1b96e356_cgraph_org.svg delete mode 100644 d9/d23/classgraph_1_1_lowest_common_ancestor_a60151e19512b48cc0b14ea121df00488_cgraph.map delete mode 100644 d9/d23/classgraph_1_1_lowest_common_ancestor_a60151e19512b48cc0b14ea121df00488_cgraph.md5 delete mode 100644 d9/d23/classgraph_1_1_lowest_common_ancestor_a60151e19512b48cc0b14ea121df00488_cgraph.svg delete mode 100644 d9/d23/classgraph_1_1_lowest_common_ancestor_a60151e19512b48cc0b14ea121df00488_cgraph_org.svg delete mode 100644 d9/d23/classgraph_1_1_lowest_common_ancestor_a80825a4fd4c41860b689d253dd2c8e93_cgraph.map delete mode 100644 d9/d23/classgraph_1_1_lowest_common_ancestor_a80825a4fd4c41860b689d253dd2c8e93_cgraph.md5 delete mode 100644 d9/d23/classgraph_1_1_lowest_common_ancestor_a80825a4fd4c41860b689d253dd2c8e93_cgraph.svg delete mode 100644 d9/d23/classgraph_1_1_lowest_common_ancestor_a80825a4fd4c41860b689d253dd2c8e93_cgraph_org.svg delete mode 100644 d9/d24/poisson__dist_8cpp_a69a136b32707bdc7950fb9057b5fa1e1_cgraph.map delete mode 100644 d9/d24/poisson__dist_8cpp_a69a136b32707bdc7950fb9057b5fa1e1_cgraph.md5 delete mode 100644 d9/d24/poisson__dist_8cpp_a69a136b32707bdc7950fb9057b5fa1e1_cgraph.svg delete mode 100644 d9/d24/poisson__dist_8cpp_a69a136b32707bdc7950fb9057b5fa1e1_cgraph_org.svg delete mode 100644 d9/d24/poisson__dist_8cpp_ad9c9e74079278ca10e3b97a8d5391c9a_cgraph.map delete mode 100644 d9/d24/poisson__dist_8cpp_ad9c9e74079278ca10e3b97a8d5391c9a_cgraph.md5 delete mode 100644 d9/d24/poisson__dist_8cpp_ad9c9e74079278ca10e3b97a8d5391c9a_cgraph.svg delete mode 100644 d9/d24/poisson__dist_8cpp_ad9c9e74079278ca10e3b97a8d5391c9a_cgraph_org.svg delete mode 100644 d9/d24/poisson__dist_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d9/d24/poisson__dist_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d9/d24/poisson__dist_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d9/d24/poisson__dist_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 d9/d24/poisson__dist_8cpp_source.html delete mode 100644 d9/d29/ground__to__ground__projectile__motion_8cpp_a10362eb607d7882bac3a0688504b00ff_cgraph.map delete mode 100644 d9/d29/ground__to__ground__projectile__motion_8cpp_a10362eb607d7882bac3a0688504b00ff_cgraph.md5 delete mode 100644 d9/d29/ground__to__ground__projectile__motion_8cpp_a10362eb607d7882bac3a0688504b00ff_cgraph.svg delete mode 100644 d9/d29/ground__to__ground__projectile__motion_8cpp_a10362eb607d7882bac3a0688504b00ff_cgraph_org.svg delete mode 100644 d9/d29/ground__to__ground__projectile__motion_8cpp_a563e066975fed1b84750a0a47c3cbb37_cgraph.map delete mode 100644 d9/d29/ground__to__ground__projectile__motion_8cpp_a563e066975fed1b84750a0a47c3cbb37_cgraph.md5 delete mode 100644 d9/d29/ground__to__ground__projectile__motion_8cpp_a563e066975fed1b84750a0a47c3cbb37_cgraph.svg delete mode 100644 d9/d29/ground__to__ground__projectile__motion_8cpp_a563e066975fed1b84750a0a47c3cbb37_cgraph_org.svg delete mode 100644 d9/d29/ground__to__ground__projectile__motion_8cpp_aa554429def63077ab7a550c0affbfefa_cgraph.map delete mode 100644 d9/d29/ground__to__ground__projectile__motion_8cpp_aa554429def63077ab7a550c0affbfefa_cgraph.md5 delete mode 100644 d9/d29/ground__to__ground__projectile__motion_8cpp_aa554429def63077ab7a550c0affbfefa_cgraph.svg delete mode 100644 d9/d29/ground__to__ground__projectile__motion_8cpp_aa554429def63077ab7a550c0affbfefa_cgraph_org.svg delete mode 100644 d9/d29/ground__to__ground__projectile__motion_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map delete mode 100644 d9/d29/ground__to__ground__projectile__motion_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 delete mode 100644 d9/d29/ground__to__ground__projectile__motion_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg delete mode 100644 d9/d29/ground__to__ground__projectile__motion_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg delete mode 100644 d9/d29/ground__to__ground__projectile__motion_8cpp_ab00e9785fb2670f7af99d6f3d636f87c_cgraph.map delete mode 100644 d9/d29/ground__to__ground__projectile__motion_8cpp_ab00e9785fb2670f7af99d6f3d636f87c_cgraph.md5 delete mode 100644 d9/d29/ground__to__ground__projectile__motion_8cpp_ab00e9785fb2670f7af99d6f3d636f87c_cgraph.svg delete mode 100644 d9/d29/ground__to__ground__projectile__motion_8cpp_ab00e9785fb2670f7af99d6f3d636f87c_cgraph_org.svg delete mode 100644 d9/d29/ground__to__ground__projectile__motion_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d9/d29/ground__to__ground__projectile__motion_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d9/d29/ground__to__ground__projectile__motion_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d9/d29/ground__to__ground__projectile__motion_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 d9/d29/ground__to__ground__projectile__motion_8cpp_source.html delete mode 100644 d9/d31/coin__change__topdown_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map delete mode 100644 d9/d31/coin__change__topdown_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 delete mode 100644 d9/d31/coin__change__topdown_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg delete mode 100644 d9/d31/coin__change__topdown_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg delete mode 100644 d9/d31/coin__change__topdown_8cpp_ac816a4ae8a29c156b90377041000929a_cgraph.map delete mode 100644 d9/d31/coin__change__topdown_8cpp_ac816a4ae8a29c156b90377041000929a_cgraph.md5 delete mode 100644 d9/d31/coin__change__topdown_8cpp_ac816a4ae8a29c156b90377041000929a_cgraph.svg delete mode 100644 d9/d31/coin__change__topdown_8cpp_ac816a4ae8a29c156b90377041000929a_cgraph_org.svg delete mode 100644 d9/d31/coin__change__topdown_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d9/d31/coin__change__topdown_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d9/d31/coin__change__topdown_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d9/d31/coin__change__topdown_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 d9/d31/coin__change__topdown_8cpp_source.html delete mode 100644 d9/d35/classrange__queries_1_1heavy__light__decomposition_1_1_s_g_a1fda852e6e522707fd97f61cdb0a2591_cgraph.map delete mode 100644 d9/d35/classrange__queries_1_1heavy__light__decomposition_1_1_s_g_a1fda852e6e522707fd97f61cdb0a2591_cgraph.md5 delete mode 100644 d9/d35/classrange__queries_1_1heavy__light__decomposition_1_1_s_g_a1fda852e6e522707fd97f61cdb0a2591_cgraph.svg delete mode 100644 d9/d35/classrange__queries_1_1heavy__light__decomposition_1_1_s_g_a1fda852e6e522707fd97f61cdb0a2591_cgraph_org.svg delete mode 100644 d9/d35/classrange__queries_1_1heavy__light__decomposition_1_1_s_g_afba5c1225ba04c0025c7786c09ff28f1_cgraph.map delete mode 100644 d9/d35/classrange__queries_1_1heavy__light__decomposition_1_1_s_g_afba5c1225ba04c0025c7786c09ff28f1_cgraph.md5 delete mode 100644 d9/d35/classrange__queries_1_1heavy__light__decomposition_1_1_s_g_afba5c1225ba04c0025c7786c09ff28f1_cgraph.svg delete mode 100644 d9/d35/classrange__queries_1_1heavy__light__decomposition_1_1_s_g_afba5c1225ba04c0025c7786c09ff28f1_cgraph_org.svg delete mode 100644 d9/d37/inverse__fast__fourier__transform_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map delete mode 100644 d9/d37/inverse__fast__fourier__transform_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 delete mode 100644 d9/d37/inverse__fast__fourier__transform_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg delete mode 100644 d9/d37/inverse__fast__fourier__transform_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg delete mode 100644 d9/d37/inverse__fast__fourier__transform_8cpp_abf9e6b7e6f15df4b525a2e7705ba3089_cgraph.map delete mode 100644 d9/d37/inverse__fast__fourier__transform_8cpp_abf9e6b7e6f15df4b525a2e7705ba3089_cgraph.md5 delete mode 100644 d9/d37/inverse__fast__fourier__transform_8cpp_abf9e6b7e6f15df4b525a2e7705ba3089_cgraph.svg delete mode 100644 d9/d37/inverse__fast__fourier__transform_8cpp_abf9e6b7e6f15df4b525a2e7705ba3089_cgraph_org.svg create mode 100644 d9/d37/inverse__fast__fourier__transform_8cpp_source.html delete mode 100644 d9/d44/magic__number_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.map delete mode 100644 d9/d44/magic__number_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 delete mode 100644 d9/d44/magic__number_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.svg delete mode 100644 d9/d44/magic__number_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph_org.svg delete mode 100644 d9/d44/magic__number_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d9/d44/magic__number_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d9/d44/magic__number_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d9/d44/magic__number_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 d9/d44/magic__number_8cpp_source.html delete mode 100644 d9/d49/kohonen__som__trace_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph.map delete mode 100644 d9/d49/kohonen__som__trace_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph.md5 delete mode 100644 d9/d49/kohonen__som__trace_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph.svg delete mode 100644 d9/d49/kohonen__som__trace_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph_org.svg delete mode 100644 d9/d49/kohonen__som__trace_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph.map delete mode 100644 d9/d49/kohonen__som__trace_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph.md5 delete mode 100644 d9/d49/kohonen__som__trace_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph.svg delete mode 100644 d9/d49/kohonen__som__trace_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph_org.svg delete mode 100644 d9/d49/kohonen__som__trace_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph.map delete mode 100644 d9/d49/kohonen__som__trace_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph.md5 delete mode 100644 d9/d49/kohonen__som__trace_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph.svg delete mode 100644 d9/d49/kohonen__som__trace_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph_org.svg delete mode 100644 d9/d49/kohonen__som__trace_8cpp_a53082f2e5bacec40266499da4547309a_cgraph.map delete mode 100644 d9/d49/kohonen__som__trace_8cpp_a53082f2e5bacec40266499da4547309a_cgraph.md5 delete mode 100644 d9/d49/kohonen__som__trace_8cpp_a53082f2e5bacec40266499da4547309a_cgraph.svg delete mode 100644 d9/d49/kohonen__som__trace_8cpp_a53082f2e5bacec40266499da4547309a_cgraph_org.svg delete mode 100644 d9/d49/kohonen__som__trace_8cpp_a6d0455dd5c30adda100e95f0423c786e_cgraph.map delete mode 100644 d9/d49/kohonen__som__trace_8cpp_a6d0455dd5c30adda100e95f0423c786e_cgraph.md5 delete mode 100644 d9/d49/kohonen__som__trace_8cpp_a6d0455dd5c30adda100e95f0423c786e_cgraph.svg delete mode 100644 d9/d49/kohonen__som__trace_8cpp_a6d0455dd5c30adda100e95f0423c786e_cgraph_org.svg delete mode 100644 d9/d49/kohonen__som__trace_8cpp_a7154fe319e6033485a8a6cd6f0d8932d_cgraph.map delete mode 100644 d9/d49/kohonen__som__trace_8cpp_a7154fe319e6033485a8a6cd6f0d8932d_cgraph.md5 delete mode 100644 d9/d49/kohonen__som__trace_8cpp_a7154fe319e6033485a8a6cd6f0d8932d_cgraph.svg delete mode 100644 d9/d49/kohonen__som__trace_8cpp_a7154fe319e6033485a8a6cd6f0d8932d_cgraph_org.svg delete mode 100644 d9/d49/kohonen__som__trace_8cpp_ae571600aa42a81bc14a4a602ea5ff00d_cgraph.map delete mode 100644 d9/d49/kohonen__som__trace_8cpp_ae571600aa42a81bc14a4a602ea5ff00d_cgraph.md5 delete mode 100644 d9/d49/kohonen__som__trace_8cpp_ae571600aa42a81bc14a4a602ea5ff00d_cgraph.svg delete mode 100644 d9/d49/kohonen__som__trace_8cpp_ae571600aa42a81bc14a4a602ea5ff00d_cgraph_org.svg create mode 100644 d9/d49/kohonen__som__trace_8cpp_source.html delete mode 100644 d9/d49/structdata__structures_1_1_node_a54a6777e72b639c3ee6446a541db8e78_cgraph.map delete mode 100644 d9/d49/structdata__structures_1_1_node_a54a6777e72b639c3ee6446a541db8e78_cgraph.md5 delete mode 100644 d9/d49/structdata__structures_1_1_node_a54a6777e72b639c3ee6446a541db8e78_cgraph.svg delete mode 100644 d9/d49/structdata__structures_1_1_node_a54a6777e72b639c3ee6446a541db8e78_cgraph_org.svg delete mode 100644 d9/d5d/extended__euclid__algorithm_8cpp_a1792ac7c33aaf26b860ab55f5652ab25_cgraph.map delete mode 100644 d9/d5d/extended__euclid__algorithm_8cpp_a1792ac7c33aaf26b860ab55f5652ab25_cgraph.md5 delete mode 100644 d9/d5d/extended__euclid__algorithm_8cpp_a1792ac7c33aaf26b860ab55f5652ab25_cgraph.svg delete mode 100644 d9/d5d/extended__euclid__algorithm_8cpp_a1792ac7c33aaf26b860ab55f5652ab25_cgraph_org.svg delete mode 100644 d9/d5d/extended__euclid__algorithm_8cpp_acba15ca55b3e7dcb91f3c65d72ba052d_cgraph.map delete mode 100644 d9/d5d/extended__euclid__algorithm_8cpp_acba15ca55b3e7dcb91f3c65d72ba052d_cgraph.md5 delete mode 100644 d9/d5d/extended__euclid__algorithm_8cpp_acba15ca55b3e7dcb91f3c65d72ba052d_cgraph.svg delete mode 100644 d9/d5d/extended__euclid__algorithm_8cpp_acba15ca55b3e7dcb91f3c65d72ba052d_cgraph_org.svg delete mode 100644 d9/d5d/extended__euclid__algorithm_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d9/d5d/extended__euclid__algorithm_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d9/d5d/extended__euclid__algorithm_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d9/d5d/extended__euclid__algorithm_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 d9/d5d/extended__euclid__algorithm_8cpp_source.html delete mode 100644 d9/d5f/longest__increasing__subsequence__using__binary__search_8cpp_a313539d9a97fc6e121ce496873ba892e_cgraph.map delete mode 100644 d9/d5f/longest__increasing__subsequence__using__binary__search_8cpp_a313539d9a97fc6e121ce496873ba892e_cgraph.md5 delete mode 100644 d9/d5f/longest__increasing__subsequence__using__binary__search_8cpp_a313539d9a97fc6e121ce496873ba892e_cgraph.svg delete mode 100644 d9/d5f/longest__increasing__subsequence__using__binary__search_8cpp_a313539d9a97fc6e121ce496873ba892e_cgraph_org.svg delete mode 100644 d9/d5f/longest__increasing__subsequence__using__binary__search_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.map delete mode 100644 d9/d5f/longest__increasing__subsequence__using__binary__search_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 delete mode 100644 d9/d5f/longest__increasing__subsequence__using__binary__search_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.svg delete mode 100644 d9/d5f/longest__increasing__subsequence__using__binary__search_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph_org.svg delete mode 100644 d9/d5f/longest__increasing__subsequence__using__binary__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d9/d5f/longest__increasing__subsequence__using__binary__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d9/d5f/longest__increasing__subsequence__using__binary__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d9/d5f/longest__increasing__subsequence__using__binary__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 d9/d5f/longest__increasing__subsequence__using__binary__search_8cpp_source.html delete mode 100644 d9/d65/lfu__cache_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map delete mode 100644 d9/d65/lfu__cache_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 delete mode 100644 d9/d65/lfu__cache_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg delete mode 100644 d9/d65/lfu__cache_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg delete mode 100644 d9/d65/lfu__cache_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d9/d65/lfu__cache_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d9/d65/lfu__cache_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d9/d65/lfu__cache_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 d9/d65/lfu__cache_8cpp_source.html delete mode 100644 d9/d66/group__machine__learning_ga60f9186ccb682724a8792a2bf81e9b9e_cgraph.map delete mode 100644 d9/d66/group__machine__learning_ga60f9186ccb682724a8792a2bf81e9b9e_cgraph.md5 delete mode 100644 d9/d66/group__machine__learning_ga60f9186ccb682724a8792a2bf81e9b9e_cgraph.svg delete mode 100644 d9/d66/group__machine__learning_ga60f9186ccb682724a8792a2bf81e9b9e_cgraph_org.svg delete mode 100644 d9/d66/group__machine__learning_gabc90175770bf0d5853c466e14993a08c_cgraph.map delete mode 100644 d9/d66/group__machine__learning_gabc90175770bf0d5853c466e14993a08c_cgraph.md5 delete mode 100644 d9/d66/group__machine__learning_gabc90175770bf0d5853c466e14993a08c_cgraph.svg delete mode 100644 d9/d66/group__machine__learning_gabc90175770bf0d5853c466e14993a08c_cgraph_org.svg delete mode 100644 d9/d66/group__machine__learning_gae0208548f8b393528e5db01717e88e67_cgraph.map delete mode 100644 d9/d66/group__machine__learning_gae0208548f8b393528e5db01717e88e67_cgraph.md5 delete mode 100644 d9/d66/group__machine__learning_gae0208548f8b393528e5db01717e88e67_cgraph.svg delete mode 100644 d9/d66/group__machine__learning_gae0208548f8b393528e5db01717e88e67_cgraph_org.svg delete mode 100644 d9/d66/group__machine__learning_gaf5ce14f026d6d231bef29161bac2b485_cgraph.map delete mode 100644 d9/d66/group__machine__learning_gaf5ce14f026d6d231bef29161bac2b485_cgraph.md5 delete mode 100644 d9/d66/group__machine__learning_gaf5ce14f026d6d231bef29161bac2b485_cgraph.svg delete mode 100644 d9/d66/group__machine__learning_gaf5ce14f026d6d231bef29161bac2b485_cgraph_org.svg delete mode 100644 d9/d69/median__search_8cpp_a868847218f694e78bf433a0ff7648bae_cgraph.map delete mode 100644 d9/d69/median__search_8cpp_a868847218f694e78bf433a0ff7648bae_cgraph.md5 delete mode 100644 d9/d69/median__search_8cpp_a868847218f694e78bf433a0ff7648bae_cgraph.svg delete mode 100644 d9/d69/median__search_8cpp_a868847218f694e78bf433a0ff7648bae_cgraph_org.svg delete mode 100644 d9/d69/median__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d9/d69/median__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d9/d69/median__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d9/d69/median__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 d9/d69/median__search_8cpp_source.html create mode 100644 d9/d6b/coin__change_8cpp_source.html delete mode 100644 d9/d80/trapped__rainwater_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map delete mode 100644 d9/d80/trapped__rainwater_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 delete mode 100644 d9/d80/trapped__rainwater_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg delete mode 100644 d9/d80/trapped__rainwater_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg delete mode 100644 d9/d80/trapped__rainwater_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d9/d80/trapped__rainwater_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d9/d80/trapped__rainwater_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d9/d80/trapped__rainwater_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 d9/d80/trapped__rainwater_8cpp_source.html create mode 100644 d9/d85/selection__sort__iterative_8cpp_source.html delete mode 100644 d9/d89/fibonacci_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d9/d89/fibonacci_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d9/d89/fibonacci_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d9/d89/fibonacci_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 d9/d89/fibonacci_8cpp_source.html delete mode 100644 d9/d92/chaining_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d9/d92/chaining_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d9/d92/chaining_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d9/d92/chaining_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 d9/d92/chaining_8cpp_source.html delete mode 100644 d9/da2/exponential__dist_8cpp_a1c8b6e787f72a209ef96c096eedf7afc_cgraph.map delete mode 100644 d9/da2/exponential__dist_8cpp_a1c8b6e787f72a209ef96c096eedf7afc_cgraph.md5 delete mode 100644 d9/da2/exponential__dist_8cpp_a1c8b6e787f72a209ef96c096eedf7afc_cgraph.svg delete mode 100644 d9/da2/exponential__dist_8cpp_a1c8b6e787f72a209ef96c096eedf7afc_cgraph_org.svg delete mode 100644 d9/da2/exponential__dist_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map delete mode 100644 d9/da2/exponential__dist_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 delete mode 100644 d9/da2/exponential__dist_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg delete mode 100644 d9/da2/exponential__dist_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg delete mode 100644 d9/da2/exponential__dist_8cpp_ac7b0091e17479d47438a281fefc2549a_cgraph.map delete mode 100644 d9/da2/exponential__dist_8cpp_ac7b0091e17479d47438a281fefc2549a_cgraph.md5 delete mode 100644 d9/da2/exponential__dist_8cpp_ac7b0091e17479d47438a281fefc2549a_cgraph.svg delete mode 100644 d9/da2/exponential__dist_8cpp_ac7b0091e17479d47438a281fefc2549a_cgraph_org.svg delete mode 100644 d9/da2/exponential__dist_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d9/da2/exponential__dist_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d9/da2/exponential__dist_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d9/da2/exponential__dist_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg delete mode 100644 d9/da2/exponential__dist_8cpp_af435dbeb43a05c8c7785f53bf4ce1df1_cgraph.map delete mode 100644 d9/da2/exponential__dist_8cpp_af435dbeb43a05c8c7785f53bf4ce1df1_cgraph.md5 delete mode 100644 d9/da2/exponential__dist_8cpp_af435dbeb43a05c8c7785f53bf4ce1df1_cgraph.svg delete mode 100644 d9/da2/exponential__dist_8cpp_af435dbeb43a05c8c7785f53bf4ce1df1_cgraph_org.svg create mode 100644 d9/da2/exponential__dist_8cpp_source.html delete mode 100644 d9/dab/bloom__filter_8cpp_a30edc0d2bb59c185baec81d69d20ed3b_cgraph.map delete mode 100644 d9/dab/bloom__filter_8cpp_a30edc0d2bb59c185baec81d69d20ed3b_cgraph.md5 delete mode 100644 d9/dab/bloom__filter_8cpp_a30edc0d2bb59c185baec81d69d20ed3b_cgraph.svg delete mode 100644 d9/dab/bloom__filter_8cpp_a30edc0d2bb59c185baec81d69d20ed3b_cgraph_org.svg delete mode 100644 d9/dab/bloom__filter_8cpp_a6e509afe40db07681f676ad8da4fb905_cgraph.map delete mode 100644 d9/dab/bloom__filter_8cpp_a6e509afe40db07681f676ad8da4fb905_cgraph.md5 delete mode 100644 d9/dab/bloom__filter_8cpp_a6e509afe40db07681f676ad8da4fb905_cgraph.svg delete mode 100644 d9/dab/bloom__filter_8cpp_a6e509afe40db07681f676ad8da4fb905_cgraph_org.svg delete mode 100644 d9/dab/bloom__filter_8cpp_a71f57bf262fe55db928b19dc124cc0d8_cgraph.map delete mode 100644 d9/dab/bloom__filter_8cpp_a71f57bf262fe55db928b19dc124cc0d8_cgraph.md5 delete mode 100644 d9/dab/bloom__filter_8cpp_a71f57bf262fe55db928b19dc124cc0d8_cgraph.svg delete mode 100644 d9/dab/bloom__filter_8cpp_a71f57bf262fe55db928b19dc124cc0d8_cgraph_org.svg delete mode 100644 d9/dab/bloom__filter_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d9/dab/bloom__filter_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d9/dab/bloom__filter_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d9/dab/bloom__filter_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 d9/dab/bloom__filter_8cpp_source.html create mode 100644 d9/dad/rb__tree_8cpp_source.html delete mode 100644 d9/dae/classdata__structures_1_1_bitset_a17dbe1b1d559302312e8091f82f7499c_cgraph.map delete mode 100644 d9/dae/classdata__structures_1_1_bitset_a17dbe1b1d559302312e8091f82f7499c_cgraph.md5 delete mode 100644 d9/dae/classdata__structures_1_1_bitset_a17dbe1b1d559302312e8091f82f7499c_cgraph.svg delete mode 100644 d9/dae/classdata__structures_1_1_bitset_a17dbe1b1d559302312e8091f82f7499c_cgraph_org.svg delete mode 100644 d9/dae/classdata__structures_1_1_bitset_a2f1f44d6a12b0de4aaf242872b1c7b54_cgraph.map delete mode 100644 d9/dae/classdata__structures_1_1_bitset_a2f1f44d6a12b0de4aaf242872b1c7b54_cgraph.md5 delete mode 100644 d9/dae/classdata__structures_1_1_bitset_a2f1f44d6a12b0de4aaf242872b1c7b54_cgraph.svg delete mode 100644 d9/dae/classdata__structures_1_1_bitset_a2f1f44d6a12b0de4aaf242872b1c7b54_cgraph_org.svg delete mode 100644 d9/dae/classdata__structures_1_1_bitset_a9ef54c7c3f6494b36ead3ae2e5cf43ac_cgraph.map delete mode 100644 d9/dae/classdata__structures_1_1_bitset_a9ef54c7c3f6494b36ead3ae2e5cf43ac_cgraph.md5 delete mode 100644 d9/dae/classdata__structures_1_1_bitset_a9ef54c7c3f6494b36ead3ae2e5cf43ac_cgraph.svg delete mode 100644 d9/dae/classdata__structures_1_1_bitset_a9ef54c7c3f6494b36ead3ae2e5cf43ac_cgraph_org.svg create mode 100644 d9/dbf/test__stack_8cpp_source.html create mode 100644 d9/dcc/selectionsortlinkedlist_8cpp_source.html create mode 100644 d9/dd2/cocktail__selection__sort_8cpp_source.html create mode 100644 d9/dd7/interpolation__search_8cpp_source.html delete mode 100644 d9/dde/classbinary__search__tree_a1f23830316204664514f396a4eb5275a_cgraph.map delete mode 100644 d9/dde/classbinary__search__tree_a1f23830316204664514f396a4eb5275a_cgraph.md5 delete mode 100644 d9/dde/classbinary__search__tree_a1f23830316204664514f396a4eb5275a_cgraph.svg delete mode 100644 d9/dde/classbinary__search__tree_a1f23830316204664514f396a4eb5275a_cgraph_org.svg delete mode 100644 d9/dde/classbinary__search__tree_a2fcf37549bd002c174a45b0b4203c2bd_cgraph.map delete mode 100644 d9/dde/classbinary__search__tree_a2fcf37549bd002c174a45b0b4203c2bd_cgraph.md5 delete mode 100644 d9/dde/classbinary__search__tree_a2fcf37549bd002c174a45b0b4203c2bd_cgraph.svg delete mode 100644 d9/dde/classbinary__search__tree_a2fcf37549bd002c174a45b0b4203c2bd_cgraph_org.svg delete mode 100644 d9/dde/classbinary__search__tree_a42b16f26928b5e994925100594a167a0_cgraph.map delete mode 100644 d9/dde/classbinary__search__tree_a42b16f26928b5e994925100594a167a0_cgraph.md5 delete mode 100644 d9/dde/classbinary__search__tree_a42b16f26928b5e994925100594a167a0_cgraph.svg delete mode 100644 d9/dde/classbinary__search__tree_a42b16f26928b5e994925100594a167a0_cgraph_org.svg delete mode 100644 d9/dde/classbinary__search__tree_a5764c1cf848f84a5b77462036a6d8c13_cgraph.map delete mode 100644 d9/dde/classbinary__search__tree_a5764c1cf848f84a5b77462036a6d8c13_cgraph.md5 delete mode 100644 d9/dde/classbinary__search__tree_a5764c1cf848f84a5b77462036a6d8c13_cgraph.svg delete mode 100644 d9/dde/classbinary__search__tree_a5764c1cf848f84a5b77462036a6d8c13_cgraph_org.svg delete mode 100644 d9/dde/classbinary__search__tree_a5c011e1b0863d79c3a7c11a0426bdcff_cgraph.map delete mode 100644 d9/dde/classbinary__search__tree_a5c011e1b0863d79c3a7c11a0426bdcff_cgraph.md5 delete mode 100644 d9/dde/classbinary__search__tree_a5c011e1b0863d79c3a7c11a0426bdcff_cgraph.svg delete mode 100644 d9/dde/classbinary__search__tree_a5c011e1b0863d79c3a7c11a0426bdcff_cgraph_org.svg delete mode 100644 d9/dde/classbinary__search__tree_a6bf5b410299df2320ddf2709dda61f63_cgraph.map delete mode 100644 d9/dde/classbinary__search__tree_a6bf5b410299df2320ddf2709dda61f63_cgraph.md5 delete mode 100644 d9/dde/classbinary__search__tree_a6bf5b410299df2320ddf2709dda61f63_cgraph.svg delete mode 100644 d9/dde/classbinary__search__tree_a6bf5b410299df2320ddf2709dda61f63_cgraph_org.svg delete mode 100644 d9/dde/classbinary__search__tree_a75f897af6aa732a9901454401c869bcb_cgraph.map delete mode 100644 d9/dde/classbinary__search__tree_a75f897af6aa732a9901454401c869bcb_cgraph.md5 delete mode 100644 d9/dde/classbinary__search__tree_a75f897af6aa732a9901454401c869bcb_cgraph.svg delete mode 100644 d9/dde/classbinary__search__tree_a75f897af6aa732a9901454401c869bcb_cgraph_org.svg delete mode 100644 d9/dde/classbinary__search__tree_a8168edf29316f2b436eac1fc416c52e0_cgraph.map delete mode 100644 d9/dde/classbinary__search__tree_a8168edf29316f2b436eac1fc416c52e0_cgraph.md5 delete mode 100644 d9/dde/classbinary__search__tree_a8168edf29316f2b436eac1fc416c52e0_cgraph.svg delete mode 100644 d9/dde/classbinary__search__tree_a8168edf29316f2b436eac1fc416c52e0_cgraph_org.svg delete mode 100644 d9/dde/classbinary__search__tree_a87c0a35845d27e0f6fc1f4eaa0333362_cgraph.map delete mode 100644 d9/dde/classbinary__search__tree_a87c0a35845d27e0f6fc1f4eaa0333362_cgraph.md5 delete mode 100644 d9/dde/classbinary__search__tree_a87c0a35845d27e0f6fc1f4eaa0333362_cgraph.svg delete mode 100644 d9/dde/classbinary__search__tree_a87c0a35845d27e0f6fc1f4eaa0333362_cgraph_org.svg delete mode 100644 d9/dde/classbinary__search__tree_a99771c2e1353e8ddfd4bb9d30b7a98fb_cgraph.map delete mode 100644 d9/dde/classbinary__search__tree_a99771c2e1353e8ddfd4bb9d30b7a98fb_cgraph.md5 delete mode 100644 d9/dde/classbinary__search__tree_a99771c2e1353e8ddfd4bb9d30b7a98fb_cgraph.svg delete mode 100644 d9/dde/classbinary__search__tree_a99771c2e1353e8ddfd4bb9d30b7a98fb_cgraph_org.svg delete mode 100644 d9/dde/classbinary__search__tree_a9d1e7e10efa74d741bf48cf032df3778_cgraph.map delete mode 100644 d9/dde/classbinary__search__tree_a9d1e7e10efa74d741bf48cf032df3778_cgraph.md5 delete mode 100644 d9/dde/classbinary__search__tree_a9d1e7e10efa74d741bf48cf032df3778_cgraph.svg delete mode 100644 d9/dde/classbinary__search__tree_a9d1e7e10efa74d741bf48cf032df3778_cgraph_org.svg delete mode 100644 d9/dde/classbinary__search__tree_aa4f84b2eec9b9201af1840868ddb5fb2_cgraph.map delete mode 100644 d9/dde/classbinary__search__tree_aa4f84b2eec9b9201af1840868ddb5fb2_cgraph.md5 delete mode 100644 d9/dde/classbinary__search__tree_aa4f84b2eec9b9201af1840868ddb5fb2_cgraph.svg delete mode 100644 d9/dde/classbinary__search__tree_aa4f84b2eec9b9201af1840868ddb5fb2_cgraph_org.svg delete mode 100644 d9/dde/classbinary__search__tree_ab81edd415324d372632c42dc7dbcb9e1_cgraph.map delete mode 100644 d9/dde/classbinary__search__tree_ab81edd415324d372632c42dc7dbcb9e1_cgraph.md5 delete mode 100644 d9/dde/classbinary__search__tree_ab81edd415324d372632c42dc7dbcb9e1_cgraph.svg delete mode 100644 d9/dde/classbinary__search__tree_ab81edd415324d372632c42dc7dbcb9e1_cgraph_org.svg delete mode 100644 d9/dde/classbinary__search__tree_ad9912e8574538e86f9bd2c38e7e63d03_cgraph.map delete mode 100644 d9/dde/classbinary__search__tree_ad9912e8574538e86f9bd2c38e7e63d03_cgraph.md5 delete mode 100644 d9/dde/classbinary__search__tree_ad9912e8574538e86f9bd2c38e7e63d03_cgraph.svg delete mode 100644 d9/dde/classbinary__search__tree_ad9912e8574538e86f9bd2c38e7e63d03_cgraph_org.svg delete mode 100644 d9/dde/classbinary__search__tree_af4a865ce5244608819b169fc78a41153_cgraph.map delete mode 100644 d9/dde/classbinary__search__tree_af4a865ce5244608819b169fc78a41153_cgraph.md5 delete mode 100644 d9/dde/classbinary__search__tree_af4a865ce5244608819b169fc78a41153_cgraph.svg delete mode 100644 d9/dde/classbinary__search__tree_af4a865ce5244608819b169fc78a41153_cgraph_org.svg delete mode 100644 d9/dde/classbinary__search__tree_af9a2c7c187a7ca3142c77ce342ef3153_cgraph.map delete mode 100644 d9/dde/classbinary__search__tree_af9a2c7c187a7ca3142c77ce342ef3153_cgraph.md5 delete mode 100644 d9/dde/classbinary__search__tree_af9a2c7c187a7ca3142c77ce342ef3153_cgraph.svg delete mode 100644 d9/dde/classbinary__search__tree_af9a2c7c187a7ca3142c77ce342ef3153_cgraph_org.svg delete mode 100644 d9/dec/unbounded__0__1__knapsack_8cpp_a1bcff7f76de48fa7f629480f8f18b5ef_cgraph.map delete mode 100644 d9/dec/unbounded__0__1__knapsack_8cpp_a1bcff7f76de48fa7f629480f8f18b5ef_cgraph.md5 delete mode 100644 d9/dec/unbounded__0__1__knapsack_8cpp_a1bcff7f76de48fa7f629480f8f18b5ef_cgraph.svg delete mode 100644 d9/dec/unbounded__0__1__knapsack_8cpp_a1bcff7f76de48fa7f629480f8f18b5ef_cgraph_org.svg delete mode 100644 d9/dec/unbounded__0__1__knapsack_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.map delete mode 100644 d9/dec/unbounded__0__1__knapsack_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 delete mode 100644 d9/dec/unbounded__0__1__knapsack_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.svg delete mode 100644 d9/dec/unbounded__0__1__knapsack_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph_org.svg delete mode 100644 d9/dec/unbounded__0__1__knapsack_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d9/dec/unbounded__0__1__knapsack_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d9/dec/unbounded__0__1__knapsack_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d9/dec/unbounded__0__1__knapsack_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg delete mode 100644 d9/dec/unbounded__0__1__knapsack_8cpp_afe447a5979582174908695952c8a079c_cgraph.map delete mode 100644 d9/dec/unbounded__0__1__knapsack_8cpp_afe447a5979582174908695952c8a079c_cgraph.md5 delete mode 100644 d9/dec/unbounded__0__1__knapsack_8cpp_afe447a5979582174908695952c8a079c_cgraph.svg delete mode 100644 d9/dec/unbounded__0__1__knapsack_8cpp_afe447a5979582174908695952c8a079c_cgraph_org.svg create mode 100644 d9/dec/unbounded__0__1__knapsack_8cpp_source.html delete mode 100644 d9/df0/fast__integer__input_8cpp_a4e097ac8509b717bdc8ab09ecd86ae82_cgraph.map delete mode 100644 d9/df0/fast__integer__input_8cpp_a4e097ac8509b717bdc8ab09ecd86ae82_cgraph.md5 delete mode 100644 d9/df0/fast__integer__input_8cpp_a4e097ac8509b717bdc8ab09ecd86ae82_cgraph.svg delete mode 100644 d9/df0/fast__integer__input_8cpp_a4e097ac8509b717bdc8ab09ecd86ae82_cgraph_org.svg delete mode 100644 d9/df0/fast__integer__input_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d9/df0/fast__integer__input_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d9/df0/fast__integer__input_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d9/df0/fast__integer__input_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 d9/df0/fast__integer__input_8cpp_source.html delete mode 100644 d9/df4/namespacetests_a2b9769e44683dcb67fe1083ad91e134d_cgraph.map delete mode 100644 d9/df4/namespacetests_a2b9769e44683dcb67fe1083ad91e134d_cgraph.md5 delete mode 100644 d9/df4/namespacetests_a2b9769e44683dcb67fe1083ad91e134d_cgraph.svg delete mode 100644 d9/df4/namespacetests_a2b9769e44683dcb67fe1083ad91e134d_cgraph_org.svg delete mode 100644 d9/df4/namespacetests_aacafde185abd8670abee51157f273dc2_cgraph.map delete mode 100644 d9/df4/namespacetests_aacafde185abd8670abee51157f273dc2_cgraph.md5 delete mode 100644 d9/df4/namespacetests_aacafde185abd8670abee51157f273dc2_cgraph.svg delete mode 100644 d9/df4/namespacetests_aacafde185abd8670abee51157f273dc2_cgraph_org.svg create mode 100644 d9/dfd/circular__queue__using__linked__list_8cpp_source.html delete mode 100644 d9/dfd/comb__sort_8cpp_a0f4e7569090083fb53d5cdeaf0e2974f_cgraph.map delete mode 100644 d9/dfd/comb__sort_8cpp_a0f4e7569090083fb53d5cdeaf0e2974f_cgraph.md5 delete mode 100644 d9/dfd/comb__sort_8cpp_a0f4e7569090083fb53d5cdeaf0e2974f_cgraph.svg delete mode 100644 d9/dfd/comb__sort_8cpp_a0f4e7569090083fb53d5cdeaf0e2974f_cgraph_org.svg delete mode 100644 d9/dfd/comb__sort_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph.map delete mode 100644 d9/dfd/comb__sort_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph.md5 delete mode 100644 d9/dfd/comb__sort_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph.svg delete mode 100644 d9/dfd/comb__sort_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph_org.svg delete mode 100644 d9/dfd/comb__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 d9/dfd/comb__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 d9/dfd/comb__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 d9/dfd/comb__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg delete mode 100644 d9/dfd/comb__sort_8cpp_aede08143e63105faba10e9ee8e745fd5_cgraph.map delete mode 100644 d9/dfd/comb__sort_8cpp_aede08143e63105faba10e9ee8e745fd5_cgraph.md5 delete mode 100644 d9/dfd/comb__sort_8cpp_aede08143e63105faba10e9ee8e745fd5_cgraph.svg delete mode 100644 d9/dfd/comb__sort_8cpp_aede08143e63105faba10e9ee8e745fd5_cgraph_org.svg create mode 100644 d9/dfd/comb__sort_8cpp_source.html delete mode 100644 da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search_a0a26aa9ad3d73707370d9fe83707aca4_cgraph.map delete mode 100644 da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search_a0a26aa9ad3d73707370d9fe83707aca4_cgraph.md5 delete mode 100644 da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search_a0a26aa9ad3d73707370d9fe83707aca4_cgraph.svg delete mode 100644 da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search_a0a26aa9ad3d73707370d9fe83707aca4_cgraph_org.svg delete mode 100644 da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search_a48284e156fdd48fd0c41008c7e48f201_cgraph.map delete mode 100644 da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search_a48284e156fdd48fd0c41008c7e48f201_cgraph.md5 delete mode 100644 da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search_a48284e156fdd48fd0c41008c7e48f201_cgraph.svg delete mode 100644 da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search_a48284e156fdd48fd0c41008c7e48f201_cgraph_org.svg delete mode 100644 da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search_abaff2ea6d309e1133fd95bbd1e39946e_cgraph.map delete mode 100644 da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search_abaff2ea6d309e1133fd95bbd1e39946e_cgraph.md5 delete mode 100644 da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search_abaff2ea6d309e1133fd95bbd1e39946e_cgraph.svg delete mode 100644 da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search_abaff2ea6d309e1133fd95bbd1e39946e_cgraph_org.svg delete mode 100644 da/d0d/longest__common__string_8cpp_a23ab67b0d9600697695fc8679462d8fe_cgraph.map delete mode 100644 da/d0d/longest__common__string_8cpp_a23ab67b0d9600697695fc8679462d8fe_cgraph.md5 delete mode 100644 da/d0d/longest__common__string_8cpp_a23ab67b0d9600697695fc8679462d8fe_cgraph.svg delete mode 100644 da/d0d/longest__common__string_8cpp_a23ab67b0d9600697695fc8679462d8fe_cgraph_org.svg delete mode 100644 da/d0d/longest__common__string_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.map delete mode 100644 da/d0d/longest__common__string_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 delete mode 100644 da/d0d/longest__common__string_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.svg delete mode 100644 da/d0d/longest__common__string_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph_org.svg delete mode 100644 da/d0d/longest__common__string_8cpp_a9b229daad982a186a4d8d90aa8f38561_cgraph.map delete mode 100644 da/d0d/longest__common__string_8cpp_a9b229daad982a186a4d8d90aa8f38561_cgraph.md5 delete mode 100644 da/d0d/longest__common__string_8cpp_a9b229daad982a186a4d8d90aa8f38561_cgraph.svg delete mode 100644 da/d0d/longest__common__string_8cpp_a9b229daad982a186a4d8d90aa8f38561_cgraph_org.svg delete mode 100644 da/d0d/longest__common__string_8cpp_aa38b6b17bc5d46ed88acdd8414e18fa5_cgraph.map delete mode 100644 da/d0d/longest__common__string_8cpp_aa38b6b17bc5d46ed88acdd8414e18fa5_cgraph.md5 delete mode 100644 da/d0d/longest__common__string_8cpp_aa38b6b17bc5d46ed88acdd8414e18fa5_cgraph.svg delete mode 100644 da/d0d/longest__common__string_8cpp_aa38b6b17bc5d46ed88acdd8414e18fa5_cgraph_org.svg delete mode 100644 da/d0d/longest__common__string_8cpp_acb03dbbcee6d607db471021168be8541_cgraph.map delete mode 100644 da/d0d/longest__common__string_8cpp_acb03dbbcee6d607db471021168be8541_cgraph.md5 delete mode 100644 da/d0d/longest__common__string_8cpp_acb03dbbcee6d607db471021168be8541_cgraph.svg delete mode 100644 da/d0d/longest__common__string_8cpp_acb03dbbcee6d607db471021168be8541_cgraph_org.svg delete mode 100644 da/d0d/longest__common__string_8cpp_ad1e613c1b85cc04ed931b6c745fec155_cgraph.map delete mode 100644 da/d0d/longest__common__string_8cpp_ad1e613c1b85cc04ed931b6c745fec155_cgraph.md5 delete mode 100644 da/d0d/longest__common__string_8cpp_ad1e613c1b85cc04ed931b6c745fec155_cgraph.svg delete mode 100644 da/d0d/longest__common__string_8cpp_ad1e613c1b85cc04ed931b6c745fec155_cgraph_org.svg delete mode 100644 da/d0d/longest__common__string_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 da/d0d/longest__common__string_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 da/d0d/longest__common__string_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 da/d0d/longest__common__string_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 da/d0d/longest__common__string_8cpp_source.html delete mode 100644 da/d18/quadratic__equations__complex__numbers_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map delete mode 100644 da/d18/quadratic__equations__complex__numbers_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 delete mode 100644 da/d18/quadratic__equations__complex__numbers_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg delete mode 100644 da/d18/quadratic__equations__complex__numbers_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg delete mode 100644 da/d18/quadratic__equations__complex__numbers_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 da/d18/quadratic__equations__complex__numbers_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 da/d18/quadratic__equations__complex__numbers_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 da/d18/quadratic__equations__complex__numbers_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg delete mode 100644 da/d18/quadratic__equations__complex__numbers_8cpp_af7a6d4e3dc85a6288c8f1f7094830c5a_cgraph.map delete mode 100644 da/d18/quadratic__equations__complex__numbers_8cpp_af7a6d4e3dc85a6288c8f1f7094830c5a_cgraph.md5 delete mode 100644 da/d18/quadratic__equations__complex__numbers_8cpp_af7a6d4e3dc85a6288c8f1f7094830c5a_cgraph.svg delete mode 100644 da/d18/quadratic__equations__complex__numbers_8cpp_af7a6d4e3dc85a6288c8f1f7094830c5a_cgraph_org.svg create mode 100644 da/d18/quadratic__equations__complex__numbers_8cpp_source.html delete mode 100644 da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution_a08328dc7d62188427111f176b56a105a_cgraph.map delete mode 100644 da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution_a08328dc7d62188427111f176b56a105a_cgraph.md5 delete mode 100644 da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution_a08328dc7d62188427111f176b56a105a_cgraph.svg delete mode 100644 da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution_a08328dc7d62188427111f176b56a105a_cgraph_org.svg delete mode 100644 da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution_a0a10c512e13dd3a052e1c6d7f4d6f0f2_cgraph.map delete mode 100644 da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution_a0a10c512e13dd3a052e1c6d7f4d6f0f2_cgraph.md5 delete mode 100644 da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution_a0a10c512e13dd3a052e1c6d7f4d6f0f2_cgraph.svg delete mode 100644 da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution_a0a10c512e13dd3a052e1c6d7f4d6f0f2_cgraph_org.svg delete mode 100644 da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution_a4620163a196709484225774d87de6d69_cgraph.map delete mode 100644 da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution_a4620163a196709484225774d87de6d69_cgraph.md5 delete mode 100644 da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution_a4620163a196709484225774d87de6d69_cgraph.svg delete mode 100644 da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution_a4620163a196709484225774d87de6d69_cgraph_org.svg delete mode 100644 da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution_a8aae1cebcf42ed2332f1c7217c401aa3_cgraph.map delete mode 100644 da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution_a8aae1cebcf42ed2332f1c7217c401aa3_cgraph.md5 delete mode 100644 da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution_a8aae1cebcf42ed2332f1c7217c401aa3_cgraph.svg delete mode 100644 da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution_a8aae1cebcf42ed2332f1c7217c401aa3_cgraph_org.svg delete mode 100644 da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution_aaf762e88c66918d7afda4234f28a7ddf_cgraph.map delete mode 100644 da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution_aaf762e88c66918d7afda4234f28a7ddf_cgraph.md5 delete mode 100644 da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution_aaf762e88c66918d7afda4234f28a7ddf_cgraph.svg delete mode 100644 da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution_aaf762e88c66918d7afda4234f28a7ddf_cgraph_org.svg delete mode 100644 da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution_aee973db9f0435e0cb4cc70f8eb3447a1_cgraph.map delete mode 100644 da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution_aee973db9f0435e0cb4cc70f8eb3447a1_cgraph.md5 delete mode 100644 da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution_aee973db9f0435e0cb4cc70f8eb3447a1_cgraph.svg delete mode 100644 da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution_aee973db9f0435e0cb4cc70f8eb3447a1_cgraph_org.svg delete mode 100644 da/d21/class_longest___substring_af8a3672bc8d95e7da4f9a45e5e2e387d_cgraph.map delete mode 100644 da/d21/class_longest___substring_af8a3672bc8d95e7da4f9a45e5e2e387d_cgraph.md5 delete mode 100644 da/d21/class_longest___substring_af8a3672bc8d95e7da4f9a45e5e2e387d_cgraph.svg delete mode 100644 da/d21/class_longest___substring_af8a3672bc8d95e7da4f9a45e5e2e387d_cgraph_org.svg delete mode 100644 da/d23/eulers__totient__function_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.map delete mode 100644 da/d23/eulers__totient__function_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.md5 delete mode 100644 da/d23/eulers__totient__function_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.svg delete mode 100644 da/d23/eulers__totient__function_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph_org.svg delete mode 100644 da/d23/eulers__totient__function_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map delete mode 100644 da/d23/eulers__totient__function_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 delete mode 100644 da/d23/eulers__totient__function_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg delete mode 100644 da/d23/eulers__totient__function_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg create mode 100644 da/d23/eulers__totient__function_8cpp_source.html delete mode 100644 da/d24/sqrt__double_8cpp_ae662282ad0740d2063ac404ca3bd74fc_cgraph.map delete mode 100644 da/d24/sqrt__double_8cpp_ae662282ad0740d2063ac404ca3bd74fc_cgraph.md5 delete mode 100644 da/d24/sqrt__double_8cpp_ae662282ad0740d2063ac404ca3bd74fc_cgraph.svg delete mode 100644 da/d24/sqrt__double_8cpp_ae662282ad0740d2063ac404ca3bd74fc_cgraph_org.svg delete mode 100644 da/d24/sqrt__double_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 da/d24/sqrt__double_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 da/d24/sqrt__double_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 da/d24/sqrt__double_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 da/d24/sqrt__double_8cpp_source.html create mode 100644 da/d27/prim_8cpp_source.html delete mode 100644 da/d39/volume_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map delete mode 100644 da/d39/volume_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 delete mode 100644 da/d39/volume_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg delete mode 100644 da/d39/volume_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg delete mode 100644 da/d39/volume_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 da/d39/volume_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 da/d39/volume_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 da/d39/volume_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 da/d39/volume_8cpp_source.html delete mode 100644 da/d41/uint128__t_8hpp_a3ff77262ffd6743df5b808d41382a6f3_cgraph.map delete mode 100644 da/d41/uint128__t_8hpp_a3ff77262ffd6743df5b808d41382a6f3_cgraph.md5 delete mode 100644 da/d41/uint128__t_8hpp_a3ff77262ffd6743df5b808d41382a6f3_cgraph.svg delete mode 100644 da/d41/uint128__t_8hpp_a3ff77262ffd6743df5b808d41382a6f3_cgraph_org.svg delete mode 100644 da/d49/classgreedy__algorithms_1_1_digit_separation_a1809ae6828223999374bde5b197a59c8_cgraph.map delete mode 100644 da/d49/classgreedy__algorithms_1_1_digit_separation_a1809ae6828223999374bde5b197a59c8_cgraph.md5 delete mode 100644 da/d49/classgreedy__algorithms_1_1_digit_separation_a1809ae6828223999374bde5b197a59c8_cgraph.svg delete mode 100644 da/d49/classgreedy__algorithms_1_1_digit_separation_a1809ae6828223999374bde5b197a59c8_cgraph_org.svg delete mode 100644 da/d4b/depth__first__search__with__stack_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.map delete mode 100644 da/d4b/depth__first__search__with__stack_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 delete mode 100644 da/d4b/depth__first__search__with__stack_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.svg delete mode 100644 da/d4b/depth__first__search__with__stack_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph_org.svg delete mode 100644 da/d4b/depth__first__search__with__stack_8cpp_a5738da9f508f6a9e87f123c9fb6f2ea9_cgraph.map delete mode 100644 da/d4b/depth__first__search__with__stack_8cpp_a5738da9f508f6a9e87f123c9fb6f2ea9_cgraph.md5 delete mode 100644 da/d4b/depth__first__search__with__stack_8cpp_a5738da9f508f6a9e87f123c9fb6f2ea9_cgraph.svg delete mode 100644 da/d4b/depth__first__search__with__stack_8cpp_a5738da9f508f6a9e87f123c9fb6f2ea9_cgraph_org.svg delete mode 100644 da/d4b/depth__first__search__with__stack_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 da/d4b/depth__first__search__with__stack_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 da/d4b/depth__first__search__with__stack_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 da/d4b/depth__first__search__with__stack_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 da/d4b/depth__first__search__with__stack_8cpp_source.html delete mode 100644 da/d50/count__of__trailing__ciphers__in__factorial__n_8cpp_a0d5e1d651d0d30bd682f176d8f2b83d0_cgraph.map delete mode 100644 da/d50/count__of__trailing__ciphers__in__factorial__n_8cpp_a0d5e1d651d0d30bd682f176d8f2b83d0_cgraph.md5 delete mode 100644 da/d50/count__of__trailing__ciphers__in__factorial__n_8cpp_a0d5e1d651d0d30bd682f176d8f2b83d0_cgraph.svg delete mode 100644 da/d50/count__of__trailing__ciphers__in__factorial__n_8cpp_a0d5e1d651d0d30bd682f176d8f2b83d0_cgraph_org.svg delete mode 100644 da/d50/count__of__trailing__ciphers__in__factorial__n_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map delete mode 100644 da/d50/count__of__trailing__ciphers__in__factorial__n_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 delete mode 100644 da/d50/count__of__trailing__ciphers__in__factorial__n_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg delete mode 100644 da/d50/count__of__trailing__ciphers__in__factorial__n_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg delete mode 100644 da/d50/count__of__trailing__ciphers__in__factorial__n_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 da/d50/count__of__trailing__ciphers__in__factorial__n_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 da/d50/count__of__trailing__ciphers__in__factorial__n_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 da/d50/count__of__trailing__ciphers__in__factorial__n_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 da/d50/count__of__trailing__ciphers__in__factorial__n_8cpp_source.html delete mode 100644 da/d52/minimum__edit__distance_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.map delete mode 100644 da/d52/minimum__edit__distance_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.md5 delete mode 100644 da/d52/minimum__edit__distance_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.svg delete mode 100644 da/d52/minimum__edit__distance_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph_org.svg delete mode 100644 da/d52/minimum__edit__distance_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map delete mode 100644 da/d52/minimum__edit__distance_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 delete mode 100644 da/d52/minimum__edit__distance_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg delete mode 100644 da/d52/minimum__edit__distance_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg create mode 100644 da/d52/minimum__edit__distance_8cpp_source.html delete mode 100644 da/d5a/class_complex_a3cfc522c782726f49ee20af17b77f867_cgraph.map delete mode 100644 da/d5a/class_complex_a3cfc522c782726f49ee20af17b77f867_cgraph.md5 delete mode 100644 da/d5a/class_complex_a3cfc522c782726f49ee20af17b77f867_cgraph.svg delete mode 100644 da/d5a/class_complex_a3cfc522c782726f49ee20af17b77f867_cgraph_org.svg delete mode 100644 da/d5a/class_complex_a4ac9f529d54cacf2969f2c7179b4c4ac_cgraph.map delete mode 100644 da/d5a/class_complex_a4ac9f529d54cacf2969f2c7179b4c4ac_cgraph.md5 delete mode 100644 da/d5a/class_complex_a4ac9f529d54cacf2969f2c7179b4c4ac_cgraph.svg delete mode 100644 da/d5a/class_complex_a4ac9f529d54cacf2969f2c7179b4c4ac_cgraph_org.svg delete mode 100644 da/d5a/class_complex_ac38437c10eb798f176c384a695171b90_cgraph.map delete mode 100644 da/d5a/class_complex_ac38437c10eb798f176c384a695171b90_cgraph.md5 delete mode 100644 da/d5a/class_complex_ac38437c10eb798f176c384a695171b90_cgraph.svg delete mode 100644 da/d5a/class_complex_ac38437c10eb798f176c384a695171b90_cgraph_org.svg delete mode 100644 da/d5a/class_complex_ae1e03712837450549e0c9b4017533a41_cgraph.map delete mode 100644 da/d5a/class_complex_ae1e03712837450549e0c9b4017533a41_cgraph.md5 delete mode 100644 da/d5a/class_complex_ae1e03712837450549e0c9b4017533a41_cgraph.svg delete mode 100644 da/d5a/class_complex_ae1e03712837450549e0c9b4017533a41_cgraph_org.svg delete mode 100644 da/d5a/class_complex_ae5b51b749ea4964104b9527af9d8f556_cgraph.map delete mode 100644 da/d5a/class_complex_ae5b51b749ea4964104b9527af9d8f556_cgraph.md5 delete mode 100644 da/d5a/class_complex_ae5b51b749ea4964104b9527af9d8f556_cgraph.svg delete mode 100644 da/d5a/class_complex_ae5b51b749ea4964104b9527af9d8f556_cgraph_org.svg create mode 100644 da/d68/searching__of__element__in__dynamic__array_8cpp_source.html delete mode 100644 da/d6d/namespaceoperations__on__datastructures_a1bfb8711f49e591eb168ccaa3df6fb86_cgraph.map delete mode 100644 da/d6d/namespaceoperations__on__datastructures_a1bfb8711f49e591eb168ccaa3df6fb86_cgraph.md5 delete mode 100644 da/d6d/namespaceoperations__on__datastructures_a1bfb8711f49e591eb168ccaa3df6fb86_cgraph.svg delete mode 100644 da/d6d/namespaceoperations__on__datastructures_a1bfb8711f49e591eb168ccaa3df6fb86_cgraph_org.svg delete mode 100644 da/d6d/namespaceoperations__on__datastructures_a2b8ff06a84b041457873840bf82e2d74_cgraph.map delete mode 100644 da/d6d/namespaceoperations__on__datastructures_a2b8ff06a84b041457873840bf82e2d74_cgraph.md5 delete mode 100644 da/d6d/namespaceoperations__on__datastructures_a2b8ff06a84b041457873840bf82e2d74_cgraph.svg delete mode 100644 da/d6d/namespaceoperations__on__datastructures_a2b8ff06a84b041457873840bf82e2d74_cgraph_org.svg delete mode 100644 da/d6d/namespaceoperations__on__datastructures_adaf9a06f0c236c2d95c97e441ea2d12e_cgraph.map delete mode 100644 da/d6d/namespaceoperations__on__datastructures_adaf9a06f0c236c2d95c97e441ea2d12e_cgraph.md5 delete mode 100644 da/d6d/namespaceoperations__on__datastructures_adaf9a06f0c236c2d95c97e441ea2d12e_cgraph.svg delete mode 100644 da/d6d/namespaceoperations__on__datastructures_adaf9a06f0c236c2d95c97e441ea2d12e_cgraph_org.svg delete mode 100644 da/d6d/namespaceoperations__on__datastructures_afce39cf843989a39811a49ebe29dd6d8_cgraph.map delete mode 100644 da/d6d/namespaceoperations__on__datastructures_afce39cf843989a39811a49ebe29dd6d8_cgraph.md5 delete mode 100644 da/d6d/namespaceoperations__on__datastructures_afce39cf843989a39811a49ebe29dd6d8_cgraph.svg delete mode 100644 da/d6d/namespaceoperations__on__datastructures_afce39cf843989a39811a49ebe29dd6d8_cgraph_org.svg delete mode 100644 da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info_ad3993dbca9c5b3ef9ac361dc7f62ce57_cgraph.map delete mode 100644 da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info_ad3993dbca9c5b3ef9ac361dc7f62ce57_cgraph.md5 delete mode 100644 da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info_ad3993dbca9c5b3ef9ac361dc7f62ce57_cgraph.svg delete mode 100644 da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info_ad3993dbca9c5b3ef9ac361dc7f62ce57_cgraph_org.svg delete mode 100644 da/d77/spirograph_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph.map delete mode 100644 da/d77/spirograph_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph.md5 delete mode 100644 da/d77/spirograph_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph.svg delete mode 100644 da/d77/spirograph_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph_org.svg create mode 100644 da/d77/spirograph_8cpp_source.html delete mode 100644 da/d7b/primality__test_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 da/d7b/primality__test_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 da/d7b/primality__test_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 da/d7b/primality__test_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 da/d7b/primality__test_8cpp_source.html create mode 100644 da/d83/kosaraju_8cpp_source.html delete mode 100644 da/d8d/depth__first__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 da/d8d/depth__first__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 da/d8d/depth__first__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 da/d8d/depth__first__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 da/d8d/depth__first__search_8cpp_source.html delete mode 100644 da/d94/classmachine__learning_1_1k__nearest__neighbors_1_1_knn_a62e152db014cd4de675fa906e5ef2861_cgraph.map delete mode 100644 da/d94/classmachine__learning_1_1k__nearest__neighbors_1_1_knn_a62e152db014cd4de675fa906e5ef2861_cgraph.md5 delete mode 100644 da/d94/classmachine__learning_1_1k__nearest__neighbors_1_1_knn_a62e152db014cd4de675fa906e5ef2861_cgraph.svg delete mode 100644 da/d94/classmachine__learning_1_1k__nearest__neighbors_1_1_knn_a62e152db014cd4de675fa906e5ef2861_cgraph_org.svg delete mode 100644 da/d9a/palindrome__of__number_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 da/d9a/palindrome__of__number_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 da/d9a/palindrome__of__number_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 da/d9a/palindrome__of__number_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 da/d9a/palindrome__of__number_8cpp_source.html delete mode 100644 da/dac/n__queens__all__solution__optimised_8cpp_a04090463be4942a69ea91fe7386da905_cgraph.map delete mode 100644 da/dac/n__queens__all__solution__optimised_8cpp_a04090463be4942a69ea91fe7386da905_cgraph.md5 delete mode 100644 da/dac/n__queens__all__solution__optimised_8cpp_a04090463be4942a69ea91fe7386da905_cgraph.svg delete mode 100644 da/dac/n__queens__all__solution__optimised_8cpp_a04090463be4942a69ea91fe7386da905_cgraph_org.svg delete mode 100644 da/dac/n__queens__all__solution__optimised_8cpp_a23c0547e4fd1708e6fb643b08327a60f_cgraph.map delete mode 100644 da/dac/n__queens__all__solution__optimised_8cpp_a23c0547e4fd1708e6fb643b08327a60f_cgraph.md5 delete mode 100644 da/dac/n__queens__all__solution__optimised_8cpp_a23c0547e4fd1708e6fb643b08327a60f_cgraph.svg delete mode 100644 da/dac/n__queens__all__solution__optimised_8cpp_a23c0547e4fd1708e6fb643b08327a60f_cgraph_org.svg delete mode 100644 da/dac/n__queens__all__solution__optimised_8cpp_a9e48455584a4faa33e83dd1891efd9b9_cgraph.map delete mode 100644 da/dac/n__queens__all__solution__optimised_8cpp_a9e48455584a4faa33e83dd1891efd9b9_cgraph.md5 delete mode 100644 da/dac/n__queens__all__solution__optimised_8cpp_a9e48455584a4faa33e83dd1891efd9b9_cgraph.svg delete mode 100644 da/dac/n__queens__all__solution__optimised_8cpp_a9e48455584a4faa33e83dd1891efd9b9_cgraph_org.svg create mode 100644 da/dac/n__queens__all__solution__optimised_8cpp_source.html delete mode 100644 da/db8/count__of__set__bits_8cpp_a86c98dc299e4db28b73e08309d977e62_cgraph.map delete mode 100644 da/db8/count__of__set__bits_8cpp_a86c98dc299e4db28b73e08309d977e62_cgraph.md5 delete mode 100644 da/db8/count__of__set__bits_8cpp_a86c98dc299e4db28b73e08309d977e62_cgraph.svg delete mode 100644 da/db8/count__of__set__bits_8cpp_a86c98dc299e4db28b73e08309d977e62_cgraph_org.svg create mode 100644 da/db8/count__of__set__bits_8cpp_source.html delete mode 100644 da/dc3/linked__list_8cpp_ab1a372fe1e605bc0e0987dcdd7361180_cgraph.map delete mode 100644 da/dc3/linked__list_8cpp_ab1a372fe1e605bc0e0987dcdd7361180_cgraph.md5 delete mode 100644 da/dc3/linked__list_8cpp_ab1a372fe1e605bc0e0987dcdd7361180_cgraph.svg delete mode 100644 da/dc3/linked__list_8cpp_ab1a372fe1e605bc0e0987dcdd7361180_cgraph_org.svg delete mode 100644 da/dc3/linked__list_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 da/dc3/linked__list_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 da/dc3/linked__list_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 da/dc3/linked__list_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 da/dc3/linked__list_8cpp_source.html delete mode 100644 da/dc9/fibonacci__matrix__exponentiation_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map delete mode 100644 da/dc9/fibonacci__matrix__exponentiation_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 delete mode 100644 da/dc9/fibonacci__matrix__exponentiation_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg delete mode 100644 da/dc9/fibonacci__matrix__exponentiation_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg delete mode 100644 da/dc9/fibonacci__matrix__exponentiation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 da/dc9/fibonacci__matrix__exponentiation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 da/dc9/fibonacci__matrix__exponentiation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 da/dc9/fibonacci__matrix__exponentiation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 da/dc9/fibonacci__matrix__exponentiation_8cpp_source.html delete mode 100644 da/dd3/karatsuba__algorithm__for__fast__multiplication_8cpp_a7a890d2f26855ada3b9f1d43aec70a86_cgraph.map delete mode 100644 da/dd3/karatsuba__algorithm__for__fast__multiplication_8cpp_a7a890d2f26855ada3b9f1d43aec70a86_cgraph.md5 delete mode 100644 da/dd3/karatsuba__algorithm__for__fast__multiplication_8cpp_a7a890d2f26855ada3b9f1d43aec70a86_cgraph.svg delete mode 100644 da/dd3/karatsuba__algorithm__for__fast__multiplication_8cpp_a7a890d2f26855ada3b9f1d43aec70a86_cgraph_org.svg delete mode 100644 da/dd3/karatsuba__algorithm__for__fast__multiplication_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map delete mode 100644 da/dd3/karatsuba__algorithm__for__fast__multiplication_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 delete mode 100644 da/dd3/karatsuba__algorithm__for__fast__multiplication_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg delete mode 100644 da/dd3/karatsuba__algorithm__for__fast__multiplication_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg delete mode 100644 da/dd3/karatsuba__algorithm__for__fast__multiplication_8cpp_aad9e3edfe156b59fc06a5585403fe0d6_cgraph.map delete mode 100644 da/dd3/karatsuba__algorithm__for__fast__multiplication_8cpp_aad9e3edfe156b59fc06a5585403fe0d6_cgraph.md5 delete mode 100644 da/dd3/karatsuba__algorithm__for__fast__multiplication_8cpp_aad9e3edfe156b59fc06a5585403fe0d6_cgraph.svg delete mode 100644 da/dd3/karatsuba__algorithm__for__fast__multiplication_8cpp_aad9e3edfe156b59fc06a5585403fe0d6_cgraph_org.svg delete mode 100644 da/dd3/karatsuba__algorithm__for__fast__multiplication_8cpp_ad76f5cac3ef8dc034f6abb99b64c2b20_cgraph.map delete mode 100644 da/dd3/karatsuba__algorithm__for__fast__multiplication_8cpp_ad76f5cac3ef8dc034f6abb99b64c2b20_cgraph.md5 delete mode 100644 da/dd3/karatsuba__algorithm__for__fast__multiplication_8cpp_ad76f5cac3ef8dc034f6abb99b64c2b20_cgraph.svg delete mode 100644 da/dd3/karatsuba__algorithm__for__fast__multiplication_8cpp_ad76f5cac3ef8dc034f6abb99b64c2b20_cgraph_org.svg delete mode 100644 da/dd3/karatsuba__algorithm__for__fast__multiplication_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 da/dd3/karatsuba__algorithm__for__fast__multiplication_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 da/dd3/karatsuba__algorithm__for__fast__multiplication_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 da/dd3/karatsuba__algorithm__for__fast__multiplication_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 da/dd3/karatsuba__algorithm__for__fast__multiplication_8cpp_source.html delete mode 100644 da/dd3/namespacespirograph_a8e83a64e8443fff1e5ffdc1c299c1e99_cgraph.map delete mode 100644 da/dd3/namespacespirograph_a8e83a64e8443fff1e5ffdc1c299c1e99_cgraph.md5 delete mode 100644 da/dd3/namespacespirograph_a8e83a64e8443fff1e5ffdc1c299c1e99_cgraph.svg delete mode 100644 da/dd3/namespacespirograph_a8e83a64e8443fff1e5ffdc1c299c1e99_cgraph_org.svg delete mode 100644 da/dd3/namespacespirograph_aeca22dbe4563358960e907a40cd3e1ac_cgraph.map delete mode 100644 da/dd3/namespacespirograph_aeca22dbe4563358960e907a40cd3e1ac_cgraph.md5 delete mode 100644 da/dd3/namespacespirograph_aeca22dbe4563358960e907a40cd3e1ac_cgraph.svg delete mode 100644 da/dd3/namespacespirograph_aeca22dbe4563358960e907a40cd3e1ac_cgraph_org.svg delete mode 100644 da/de7/decimal__to__hexadecimal_8cpp_a840291bc02cba5474a4cb46a9b9566fe_cgraph.map delete mode 100644 da/de7/decimal__to__hexadecimal_8cpp_a840291bc02cba5474a4cb46a9b9566fe_cgraph.md5 delete mode 100644 da/de7/decimal__to__hexadecimal_8cpp_a840291bc02cba5474a4cb46a9b9566fe_cgraph.svg delete mode 100644 da/de7/decimal__to__hexadecimal_8cpp_a840291bc02cba5474a4cb46a9b9566fe_cgraph_org.svg create mode 100644 da/de7/decimal__to__hexadecimal_8cpp_source.html delete mode 100644 da/de8/dijkstra__greedy_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 da/de8/dijkstra__greedy_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 da/de8/dijkstra__greedy_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 da/de8/dijkstra__greedy_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 da/de8/dijkstra__greedy_8cpp_source.html delete mode 100644 da/df2/durand__kerner__roots_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph.map delete mode 100644 da/df2/durand__kerner__roots_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph.md5 delete mode 100644 da/df2/durand__kerner__roots_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph.svg delete mode 100644 da/df2/durand__kerner__roots_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph_org.svg delete mode 100644 da/df2/durand__kerner__roots_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph.map delete mode 100644 da/df2/durand__kerner__roots_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph.md5 delete mode 100644 da/df2/durand__kerner__roots_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph.svg delete mode 100644 da/df2/durand__kerner__roots_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph_org.svg delete mode 100644 da/df2/durand__kerner__roots_8cpp_a2c35b320ace8677f9b331faf94f8b2fd_cgraph.map delete mode 100644 da/df2/durand__kerner__roots_8cpp_a2c35b320ace8677f9b331faf94f8b2fd_cgraph.md5 delete mode 100644 da/df2/durand__kerner__roots_8cpp_a2c35b320ace8677f9b331faf94f8b2fd_cgraph.svg delete mode 100644 da/df2/durand__kerner__roots_8cpp_a2c35b320ace8677f9b331faf94f8b2fd_cgraph_org.svg delete mode 100644 da/df2/durand__kerner__roots_8cpp_a90219e35062007d1f1b68e9af071ab5c_cgraph.map delete mode 100644 da/df2/durand__kerner__roots_8cpp_a90219e35062007d1f1b68e9af071ab5c_cgraph.md5 delete mode 100644 da/df2/durand__kerner__roots_8cpp_a90219e35062007d1f1b68e9af071ab5c_cgraph.svg delete mode 100644 da/df2/durand__kerner__roots_8cpp_a90219e35062007d1f1b68e9af071ab5c_cgraph_org.svg delete mode 100644 da/df2/durand__kerner__roots_8cpp_ae2ab49ba1969d7a5988f9bc2c8924569_cgraph.map delete mode 100644 da/df2/durand__kerner__roots_8cpp_ae2ab49ba1969d7a5988f9bc2c8924569_cgraph.md5 delete mode 100644 da/df2/durand__kerner__roots_8cpp_ae2ab49ba1969d7a5988f9bc2c8924569_cgraph.svg delete mode 100644 da/df2/durand__kerner__roots_8cpp_ae2ab49ba1969d7a5988f9bc2c8924569_cgraph_org.svg create mode 100644 da/df2/durand__kerner__roots_8cpp_source.html delete mode 100644 db/d01/brent__method__extrema_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph.map delete mode 100644 db/d01/brent__method__extrema_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph.md5 delete mode 100644 db/d01/brent__method__extrema_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph.svg delete mode 100644 db/d01/brent__method__extrema_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph_org.svg delete mode 100644 db/d01/brent__method__extrema_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph.map delete mode 100644 db/d01/brent__method__extrema_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph.md5 delete mode 100644 db/d01/brent__method__extrema_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph.svg delete mode 100644 db/d01/brent__method__extrema_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph_org.svg delete mode 100644 db/d01/brent__method__extrema_8cpp_a1aa76a6d5fd4d333f9072beff1dc486b_cgraph.map delete mode 100644 db/d01/brent__method__extrema_8cpp_a1aa76a6d5fd4d333f9072beff1dc486b_cgraph.md5 delete mode 100644 db/d01/brent__method__extrema_8cpp_a1aa76a6d5fd4d333f9072beff1dc486b_cgraph.svg delete mode 100644 db/d01/brent__method__extrema_8cpp_a1aa76a6d5fd4d333f9072beff1dc486b_cgraph_org.svg delete mode 100644 db/d01/brent__method__extrema_8cpp_a6d0455dd5c30adda100e95f0423c786e_cgraph.map delete mode 100644 db/d01/brent__method__extrema_8cpp_a6d0455dd5c30adda100e95f0423c786e_cgraph.md5 delete mode 100644 db/d01/brent__method__extrema_8cpp_a6d0455dd5c30adda100e95f0423c786e_cgraph.svg delete mode 100644 db/d01/brent__method__extrema_8cpp_a6d0455dd5c30adda100e95f0423c786e_cgraph_org.svg delete mode 100644 db/d01/brent__method__extrema_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 db/d01/brent__method__extrema_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 db/d01/brent__method__extrema_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 db/d01/brent__method__extrema_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 db/d01/brent__method__extrema_8cpp_source.html delete mode 100644 db/d07/spiral__print_8cpp_acfff36db81326fb990a643ab198ee8a5_cgraph.map delete mode 100644 db/d07/spiral__print_8cpp_acfff36db81326fb990a643ab198ee8a5_cgraph.md5 delete mode 100644 db/d07/spiral__print_8cpp_acfff36db81326fb990a643ab198ee8a5_cgraph.svg delete mode 100644 db/d07/spiral__print_8cpp_acfff36db81326fb990a643ab198ee8a5_cgraph_org.svg delete mode 100644 db/d07/spiral__print_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 db/d07/spiral__print_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 db/d07/spiral__print_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 db/d07/spiral__print_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 db/d07/spiral__print_8cpp_source.html delete mode 100644 db/d09/duval_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map delete mode 100644 db/d09/duval_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 delete mode 100644 db/d09/duval_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg delete mode 100644 db/d09/duval_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg delete mode 100644 db/d09/duval_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 db/d09/duval_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 db/d09/duval_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 db/d09/duval_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 db/d09/duval_8cpp_source.html delete mode 100644 db/d0d/prime__factorization_8cpp_a0ece0145fb29a5cf48378c23dde2da46_cgraph.map delete mode 100644 db/d0d/prime__factorization_8cpp_a0ece0145fb29a5cf48378c23dde2da46_cgraph.md5 delete mode 100644 db/d0d/prime__factorization_8cpp_a0ece0145fb29a5cf48378c23dde2da46_cgraph.svg delete mode 100644 db/d0d/prime__factorization_8cpp_a0ece0145fb29a5cf48378c23dde2da46_cgraph_org.svg delete mode 100644 db/d0d/prime__factorization_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 db/d0d/prime__factorization_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 db/d0d/prime__factorization_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 db/d0d/prime__factorization_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg delete mode 100644 db/d0d/prime__factorization_8cpp_affe577b9bce8f604f5e2f861c63c7099_cgraph.map delete mode 100644 db/d0d/prime__factorization_8cpp_affe577b9bce8f604f5e2f861c63c7099_cgraph.md5 delete mode 100644 db/d0d/prime__factorization_8cpp_affe577b9bce8f604f5e2f861c63c7099_cgraph.svg delete mode 100644 db/d0d/prime__factorization_8cpp_affe577b9bce8f604f5e2f861c63c7099_cgraph_org.svg create mode 100644 db/d0d/prime__factorization_8cpp_source.html delete mode 100644 db/d10/classdsu__coll__graph.map delete mode 100644 db/d10/classdsu__coll__graph.md5 delete mode 100644 db/d10/classdsu__coll__graph.svg delete mode 100644 db/d10/classdsu__coll__graph_org.svg delete mode 100644 db/d16/0__1__knapsack_8cpp_a15edf30f336885e5b851f6b7199c6cd1_cgraph.map delete mode 100644 db/d16/0__1__knapsack_8cpp_a15edf30f336885e5b851f6b7199c6cd1_cgraph.md5 delete mode 100644 db/d16/0__1__knapsack_8cpp_a15edf30f336885e5b851f6b7199c6cd1_cgraph.svg delete mode 100644 db/d16/0__1__knapsack_8cpp_a15edf30f336885e5b851f6b7199c6cd1_cgraph_org.svg delete mode 100644 db/d16/0__1__knapsack_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map delete mode 100644 db/d16/0__1__knapsack_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 delete mode 100644 db/d16/0__1__knapsack_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg delete mode 100644 db/d16/0__1__knapsack_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg delete mode 100644 db/d16/0__1__knapsack_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 db/d16/0__1__knapsack_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 db/d16/0__1__knapsack_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 db/d16/0__1__knapsack_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 db/d16/0__1__knapsack_8cpp_source.html delete mode 100644 db/d27/n__bonacci_8cpp_a6849b68f760be628d5975ab3eddec63d_cgraph.map delete mode 100644 db/d27/n__bonacci_8cpp_a6849b68f760be628d5975ab3eddec63d_cgraph.md5 delete mode 100644 db/d27/n__bonacci_8cpp_a6849b68f760be628d5975ab3eddec63d_cgraph.svg delete mode 100644 db/d27/n__bonacci_8cpp_a6849b68f760be628d5975ab3eddec63d_cgraph_org.svg delete mode 100644 db/d27/n__bonacci_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map delete mode 100644 db/d27/n__bonacci_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 delete mode 100644 db/d27/n__bonacci_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg delete mode 100644 db/d27/n__bonacci_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg delete mode 100644 db/d27/n__bonacci_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 db/d27/n__bonacci_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 db/d27/n__bonacci_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 db/d27/n__bonacci_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 db/d27/n__bonacci_8cpp_source.html delete mode 100644 db/d3c/tower__of__hanoi_8cpp_ab037f72a5eac476535a6cfbbcb965417_cgraph.map delete mode 100644 db/d3c/tower__of__hanoi_8cpp_ab037f72a5eac476535a6cfbbcb965417_cgraph.md5 delete mode 100644 db/d3c/tower__of__hanoi_8cpp_ab037f72a5eac476535a6cfbbcb965417_cgraph.svg delete mode 100644 db/d3c/tower__of__hanoi_8cpp_ab037f72a5eac476535a6cfbbcb965417_cgraph_org.svg delete mode 100644 db/d3c/tower__of__hanoi_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 db/d3c/tower__of__hanoi_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 db/d3c/tower__of__hanoi_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 db/d3c/tower__of__hanoi_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 db/d3c/tower__of__hanoi_8cpp_source.html delete mode 100644 db/d3f/wave__sort_8cpp_a7d4f243b9dc13ace4ef77e30dbc56f12_cgraph.map delete mode 100644 db/d3f/wave__sort_8cpp_a7d4f243b9dc13ace4ef77e30dbc56f12_cgraph.md5 delete mode 100644 db/d3f/wave__sort_8cpp_a7d4f243b9dc13ace4ef77e30dbc56f12_cgraph.svg delete mode 100644 db/d3f/wave__sort_8cpp_a7d4f243b9dc13ace4ef77e30dbc56f12_cgraph_org.svg delete mode 100644 db/d3f/wave__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map delete mode 100644 db/d3f/wave__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 delete mode 100644 db/d3f/wave__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg delete mode 100644 db/d3f/wave__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg delete mode 100644 db/d3f/wave__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 db/d3f/wave__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 db/d3f/wave__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 db/d3f/wave__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 db/d3f/wave__sort_8cpp_source.html delete mode 100644 db/d40/integral__approximation2_8cpp_a71249ee535f16f8ed2e9cc8f0199a2cf_cgraph.map delete mode 100644 db/d40/integral__approximation2_8cpp_a71249ee535f16f8ed2e9cc8f0199a2cf_cgraph.md5 delete mode 100644 db/d40/integral__approximation2_8cpp_a71249ee535f16f8ed2e9cc8f0199a2cf_cgraph.svg delete mode 100644 db/d40/integral__approximation2_8cpp_a71249ee535f16f8ed2e9cc8f0199a2cf_cgraph_org.svg delete mode 100644 db/d40/integral__approximation2_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map delete mode 100644 db/d40/integral__approximation2_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 delete mode 100644 db/d40/integral__approximation2_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg delete mode 100644 db/d40/integral__approximation2_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg delete mode 100644 db/d40/integral__approximation2_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 db/d40/integral__approximation2_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 db/d40/integral__approximation2_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 db/d40/integral__approximation2_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg delete mode 100644 db/d40/integral__approximation2_8cpp_af7da9ba8932f1f48b9bbc2d80471af51_cgraph.map delete mode 100644 db/d40/integral__approximation2_8cpp_af7da9ba8932f1f48b9bbc2d80471af51_cgraph.md5 delete mode 100644 db/d40/integral__approximation2_8cpp_af7da9ba8932f1f48b9bbc2d80471af51_cgraph.svg delete mode 100644 db/d40/integral__approximation2_8cpp_af7da9ba8932f1f48b9bbc2d80471af51_cgraph_org.svg create mode 100644 db/d40/integral__approximation2_8cpp_source.html delete mode 100644 db/d5b/structdata__structures_1_1stack__using__queue_1_1_stack_a5540434e1b41245205eee86f664906f7_cgraph.map delete mode 100644 db/d5b/structdata__structures_1_1stack__using__queue_1_1_stack_a5540434e1b41245205eee86f664906f7_cgraph.md5 delete mode 100644 db/d5b/structdata__structures_1_1stack__using__queue_1_1_stack_a5540434e1b41245205eee86f664906f7_cgraph.svg delete mode 100644 db/d5b/structdata__structures_1_1stack__using__queue_1_1_stack_a5540434e1b41245205eee86f664906f7_cgraph_org.svg delete mode 100644 db/d5b/structdata__structures_1_1stack__using__queue_1_1_stack_abdd461689df4983a3ad3b05d853cf5eb_cgraph.map delete mode 100644 db/d5b/structdata__structures_1_1stack__using__queue_1_1_stack_abdd461689df4983a3ad3b05d853cf5eb_cgraph.md5 delete mode 100644 db/d5b/structdata__structures_1_1stack__using__queue_1_1_stack_abdd461689df4983a3ad3b05d853cf5eb_cgraph.svg delete mode 100644 db/d5b/structdata__structures_1_1stack__using__queue_1_1_stack_abdd461689df4983a3ad3b05d853cf5eb_cgraph_org.svg delete mode 100644 db/d5b/structdata__structures_1_1stack__using__queue_1_1_stack_af04a8f3536a52d8c9916086b656eefc2_cgraph.map delete mode 100644 db/d5b/structdata__structures_1_1stack__using__queue_1_1_stack_af04a8f3536a52d8c9916086b656eefc2_cgraph.md5 delete mode 100644 db/d5b/structdata__structures_1_1stack__using__queue_1_1_stack_af04a8f3536a52d8c9916086b656eefc2_cgraph.svg delete mode 100644 db/d5b/structdata__structures_1_1stack__using__queue_1_1_stack_af04a8f3536a52d8c9916086b656eefc2_cgraph_org.svg delete mode 100644 db/d6b/kelvin__to__celsius_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.map delete mode 100644 db/d6b/kelvin__to__celsius_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 delete mode 100644 db/d6b/kelvin__to__celsius_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.svg delete mode 100644 db/d6b/kelvin__to__celsius_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph_org.svg delete mode 100644 db/d6b/kelvin__to__celsius_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 db/d6b/kelvin__to__celsius_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 db/d6b/kelvin__to__celsius_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 db/d6b/kelvin__to__celsius_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 db/d6b/kelvin__to__celsius_8cpp_source.html delete mode 100644 db/d71/quadratic__probing__hash__table_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 db/d71/quadratic__probing__hash__table_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 db/d71/quadratic__probing__hash__table_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 db/d71/quadratic__probing__hash__table_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 db/d71/quadratic__probing__hash__table_8cpp_source.html delete mode 100644 db/d80/gale__shapley_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.map delete mode 100644 db/d80/gale__shapley_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 delete mode 100644 db/d80/gale__shapley_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.svg delete mode 100644 db/d80/gale__shapley_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph_org.svg delete mode 100644 db/d80/gale__shapley_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 db/d80/gale__shapley_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 db/d80/gale__shapley_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 db/d80/gale__shapley_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 db/d80/gale__shapley_8cpp_source.html delete mode 100644 db/d82/classlarge__number_a10119a83839e65962621b73df46a5337_cgraph.map delete mode 100644 db/d82/classlarge__number_a10119a83839e65962621b73df46a5337_cgraph.md5 delete mode 100644 db/d82/classlarge__number_a10119a83839e65962621b73df46a5337_cgraph.svg delete mode 100644 db/d82/classlarge__number_a10119a83839e65962621b73df46a5337_cgraph_org.svg delete mode 100644 db/d82/classlarge__number_a2f5571e66305cf68bb8283e4aeda58bc_cgraph.map delete mode 100644 db/d82/classlarge__number_a2f5571e66305cf68bb8283e4aeda58bc_cgraph.md5 delete mode 100644 db/d82/classlarge__number_a2f5571e66305cf68bb8283e4aeda58bc_cgraph.svg delete mode 100644 db/d82/classlarge__number_a2f5571e66305cf68bb8283e4aeda58bc_cgraph_org.svg delete mode 100644 db/d82/classlarge__number_a60c436d1a1c5e3795d6177d3815ad615_cgraph.map delete mode 100644 db/d82/classlarge__number_a60c436d1a1c5e3795d6177d3815ad615_cgraph.md5 delete mode 100644 db/d82/classlarge__number_a60c436d1a1c5e3795d6177d3815ad615_cgraph.svg delete mode 100644 db/d82/classlarge__number_a60c436d1a1c5e3795d6177d3815ad615_cgraph_org.svg delete mode 100644 db/d82/classlarge__number_a771e9b28cfddf1ad94668566e396e350_cgraph.map delete mode 100644 db/d82/classlarge__number_a771e9b28cfddf1ad94668566e396e350_cgraph.md5 delete mode 100644 db/d82/classlarge__number_a771e9b28cfddf1ad94668566e396e350_cgraph.svg delete mode 100644 db/d82/classlarge__number_a771e9b28cfddf1ad94668566e396e350_cgraph_org.svg delete mode 100644 db/d82/classlarge__number_a959c5c1a982949bbf98e1ea0f9afe6a9_cgraph.map delete mode 100644 db/d82/classlarge__number_a959c5c1a982949bbf98e1ea0f9afe6a9_cgraph.md5 delete mode 100644 db/d82/classlarge__number_a959c5c1a982949bbf98e1ea0f9afe6a9_cgraph.svg delete mode 100644 db/d82/classlarge__number_a959c5c1a982949bbf98e1ea0f9afe6a9_cgraph_org.svg delete mode 100644 db/d82/classlarge__number_aab5644405094740e34983cedfecb36cf_cgraph.map delete mode 100644 db/d82/classlarge__number_aab5644405094740e34983cedfecb36cf_cgraph.md5 delete mode 100644 db/d82/classlarge__number_aab5644405094740e34983cedfecb36cf_cgraph.svg delete mode 100644 db/d82/classlarge__number_aab5644405094740e34983cedfecb36cf_cgraph_org.svg delete mode 100644 db/d82/classlarge__number_ac09a05ec4aafb4d9e0b4440d6f0e2a93_cgraph.map delete mode 100644 db/d82/classlarge__number_ac09a05ec4aafb4d9e0b4440d6f0e2a93_cgraph.md5 delete mode 100644 db/d82/classlarge__number_ac09a05ec4aafb4d9e0b4440d6f0e2a93_cgraph.svg delete mode 100644 db/d82/classlarge__number_ac09a05ec4aafb4d9e0b4440d6f0e2a93_cgraph_org.svg delete mode 100644 db/d82/classlarge__number_ae35a55607cf52c0b0d485f2129bd39ac_cgraph.map delete mode 100644 db/d82/classlarge__number_ae35a55607cf52c0b0d485f2129bd39ac_cgraph.md5 delete mode 100644 db/d82/classlarge__number_ae35a55607cf52c0b0d485f2129bd39ac_cgraph.svg delete mode 100644 db/d82/classlarge__number_ae35a55607cf52c0b0d485f2129bd39ac_cgraph_org.svg delete mode 100644 db/d82/classlarge__number_af4598f1f2794b5e17e10c25e0501e41a_cgraph.map delete mode 100644 db/d82/classlarge__number_af4598f1f2794b5e17e10c25e0501e41a_cgraph.md5 delete mode 100644 db/d82/classlarge__number_af4598f1f2794b5e17e10c25e0501e41a_cgraph.svg delete mode 100644 db/d82/classlarge__number_af4598f1f2794b5e17e10c25e0501e41a_cgraph_org.svg delete mode 100644 db/d93/check__prime_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.map delete mode 100644 db/d93/check__prime_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 delete mode 100644 db/d93/check__prime_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.svg delete mode 100644 db/d93/check__prime_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph_org.svg delete mode 100644 db/d93/check__prime_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 db/d93/check__prime_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 db/d93/check__prime_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 db/d93/check__prime_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 db/d93/check__prime_8cpp_source.html delete mode 100644 db/d9a/classuint128__t_a0b6612186d8f678452e011d08ee1f5ac_cgraph.map delete mode 100644 db/d9a/classuint128__t_a0b6612186d8f678452e011d08ee1f5ac_cgraph.md5 delete mode 100644 db/d9a/classuint128__t_a0b6612186d8f678452e011d08ee1f5ac_cgraph.svg delete mode 100644 db/d9a/classuint128__t_a0b6612186d8f678452e011d08ee1f5ac_cgraph_org.svg delete mode 100644 db/d9a/classuint128__t_a279209a184db20a7ffc8e687fdb05be2_cgraph.map delete mode 100644 db/d9a/classuint128__t_a279209a184db20a7ffc8e687fdb05be2_cgraph.md5 delete mode 100644 db/d9a/classuint128__t_a279209a184db20a7ffc8e687fdb05be2_cgraph.svg delete mode 100644 db/d9a/classuint128__t_a279209a184db20a7ffc8e687fdb05be2_cgraph_org.svg delete mode 100644 db/d9a/classuint128__t_a300ed88fe2054788cc6e0b6a8fdf66db_cgraph.map delete mode 100644 db/d9a/classuint128__t_a300ed88fe2054788cc6e0b6a8fdf66db_cgraph.md5 delete mode 100644 db/d9a/classuint128__t_a300ed88fe2054788cc6e0b6a8fdf66db_cgraph.svg delete mode 100644 db/d9a/classuint128__t_a300ed88fe2054788cc6e0b6a8fdf66db_cgraph_org.svg delete mode 100644 db/d9a/classuint128__t_a3072a7e43da3600c345c81bc80c957ee_cgraph.map delete mode 100644 db/d9a/classuint128__t_a3072a7e43da3600c345c81bc80c957ee_cgraph.md5 delete mode 100644 db/d9a/classuint128__t_a3072a7e43da3600c345c81bc80c957ee_cgraph.svg delete mode 100644 db/d9a/classuint128__t_a3072a7e43da3600c345c81bc80c957ee_cgraph_org.svg delete mode 100644 db/d9a/classuint128__t_a857a3c69c1e775a1bd3935c2bfbb02df_cgraph.map delete mode 100644 db/d9a/classuint128__t_a857a3c69c1e775a1bd3935c2bfbb02df_cgraph.md5 delete mode 100644 db/d9a/classuint128__t_a857a3c69c1e775a1bd3935c2bfbb02df_cgraph.svg delete mode 100644 db/d9a/classuint128__t_a857a3c69c1e775a1bd3935c2bfbb02df_cgraph_org.svg delete mode 100644 db/d9a/classuint128__t_a8bf81f7f5f5c98f197822ec88e106c6c_cgraph.map delete mode 100644 db/d9a/classuint128__t_a8bf81f7f5f5c98f197822ec88e106c6c_cgraph.md5 delete mode 100644 db/d9a/classuint128__t_a8bf81f7f5f5c98f197822ec88e106c6c_cgraph.svg delete mode 100644 db/d9a/classuint128__t_a8bf81f7f5f5c98f197822ec88e106c6c_cgraph_org.svg delete mode 100644 db/d9a/classuint128__t_abae08ef3c1d6dc512edd68ca68327f74_cgraph.map delete mode 100644 db/d9a/classuint128__t_abae08ef3c1d6dc512edd68ca68327f74_cgraph.md5 delete mode 100644 db/d9a/classuint128__t_abae08ef3c1d6dc512edd68ca68327f74_cgraph.svg delete mode 100644 db/d9a/classuint128__t_abae08ef3c1d6dc512edd68ca68327f74_cgraph_org.svg delete mode 100644 db/d9a/classuint128__t_abfc6a8765039cacc829a5cd386b5a066_cgraph.map delete mode 100644 db/d9a/classuint128__t_abfc6a8765039cacc829a5cd386b5a066_cgraph.md5 delete mode 100644 db/d9a/classuint128__t_abfc6a8765039cacc829a5cd386b5a066_cgraph.svg delete mode 100644 db/d9a/classuint128__t_abfc6a8765039cacc829a5cd386b5a066_cgraph_org.svg delete mode 100644 db/d9f/iterative__factorial_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map delete mode 100644 db/d9f/iterative__factorial_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 delete mode 100644 db/d9f/iterative__factorial_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg delete mode 100644 db/d9f/iterative__factorial_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg delete mode 100644 db/d9f/iterative__factorial_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 db/d9f/iterative__factorial_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 db/d9f/iterative__factorial_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 db/d9f/iterative__factorial_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 db/d9f/iterative__factorial_8cpp_source.html delete mode 100644 db/da9/classqueue_a75e231798bc706b8b0773a07f78713e7_cgraph.map delete mode 100644 db/da9/classqueue_a75e231798bc706b8b0773a07f78713e7_cgraph.md5 delete mode 100644 db/da9/classqueue_a75e231798bc706b8b0773a07f78713e7_cgraph.svg delete mode 100644 db/da9/classqueue_a75e231798bc706b8b0773a07f78713e7_cgraph_org.svg delete mode 100644 db/da9/classqueue_ac08ebdd38cb4ad74fc0a3f51888da604_cgraph.map delete mode 100644 db/da9/classqueue_ac08ebdd38cb4ad74fc0a3f51888da604_cgraph.md5 delete mode 100644 db/da9/classqueue_ac08ebdd38cb4ad74fc0a3f51888da604_cgraph.svg delete mode 100644 db/da9/classqueue_ac08ebdd38cb4ad74fc0a3f51888da604_cgraph_org.svg delete mode 100644 db/da9/classqueue_ada88d0c1f34946d66386b7a11bee4e4d_cgraph.map delete mode 100644 db/da9/classqueue_ada88d0c1f34946d66386b7a11bee4e4d_cgraph.md5 delete mode 100644 db/da9/classqueue_ada88d0c1f34946d66386b7a11bee4e4d_cgraph.svg delete mode 100644 db/da9/classqueue_ada88d0c1f34946d66386b7a11bee4e4d_cgraph_org.svg delete mode 100644 db/da9/classqueue_af27dbb72fb63f58f817a88550d7faa85_cgraph.map delete mode 100644 db/da9/classqueue_af27dbb72fb63f58f817a88550d7faa85_cgraph.md5 delete mode 100644 db/da9/classqueue_af27dbb72fb63f58f817a88550d7faa85_cgraph.svg delete mode 100644 db/da9/classqueue_af27dbb72fb63f58f817a88550d7faa85_cgraph_org.svg create mode 100644 db/db2/counting__sort__string_8cpp_source.html create mode 100644 db/db5/slow__sort_8cpp_source.html delete mode 100644 db/dbc/tree__234_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.map delete mode 100644 db/dbc/tree__234_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.md5 delete mode 100644 db/dbc/tree__234_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.svg delete mode 100644 db/dbc/tree__234_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph_org.svg delete mode 100644 db/dbc/tree__234_8cpp_ae7880ce913f3058a35ff106d5be9e243_cgraph.map delete mode 100644 db/dbc/tree__234_8cpp_ae7880ce913f3058a35ff106d5be9e243_cgraph.md5 delete mode 100644 db/dbc/tree__234_8cpp_ae7880ce913f3058a35ff106d5be9e243_cgraph.svg delete mode 100644 db/dbc/tree__234_8cpp_ae7880ce913f3058a35ff106d5be9e243_cgraph_org.svg delete mode 100644 db/dbc/tree__234_8cpp_af1ac73779b0fcfbbdce3976c0ca57342_cgraph.map delete mode 100644 db/dbc/tree__234_8cpp_af1ac73779b0fcfbbdce3976c0ca57342_cgraph.md5 delete mode 100644 db/dbc/tree__234_8cpp_af1ac73779b0fcfbbdce3976c0ca57342_cgraph.svg delete mode 100644 db/dbc/tree__234_8cpp_af1ac73779b0fcfbbdce3976c0ca57342_cgraph_org.svg create mode 100644 db/dbc/tree__234_8cpp_source.html create mode 100644 db/dbd/test__stack__students_8cpp_source.html delete mode 100644 db/dc0/namespacebacktracking_a78540bcb5ef3473b2348cbc34748ec50_cgraph.map delete mode 100644 db/dc0/namespacebacktracking_a78540bcb5ef3473b2348cbc34748ec50_cgraph.md5 delete mode 100644 db/dc0/namespacebacktracking_a78540bcb5ef3473b2348cbc34748ec50_cgraph.svg delete mode 100644 db/dc0/namespacebacktracking_a78540bcb5ef3473b2348cbc34748ec50_cgraph_org.svg delete mode 100644 db/dc4/floyd__cycle__detection__algo_8cpp_a81ffc7a2c6bf530c8a496864e7a3ad88_cgraph.map delete mode 100644 db/dc4/floyd__cycle__detection__algo_8cpp_a81ffc7a2c6bf530c8a496864e7a3ad88_cgraph.md5 delete mode 100644 db/dc4/floyd__cycle__detection__algo_8cpp_a81ffc7a2c6bf530c8a496864e7a3ad88_cgraph.svg delete mode 100644 db/dc4/floyd__cycle__detection__algo_8cpp_a81ffc7a2c6bf530c8a496864e7a3ad88_cgraph_org.svg delete mode 100644 db/dc4/floyd__cycle__detection__algo_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map delete mode 100644 db/dc4/floyd__cycle__detection__algo_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 delete mode 100644 db/dc4/floyd__cycle__detection__algo_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg delete mode 100644 db/dc4/floyd__cycle__detection__algo_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg delete mode 100644 db/dc4/floyd__cycle__detection__algo_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 db/dc4/floyd__cycle__detection__algo_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 db/dc4/floyd__cycle__detection__algo_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 db/dc4/floyd__cycle__detection__algo_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 db/dc4/floyd__cycle__detection__algo_8cpp_source.html delete mode 100644 db/dd3/ode__forward__euler_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.map delete mode 100644 db/dd3/ode__forward__euler_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.md5 delete mode 100644 db/dd3/ode__forward__euler_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.svg delete mode 100644 db/dd3/ode__forward__euler_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph_org.svg delete mode 100644 db/dd3/ode__forward__euler_8cpp_aa13517b8e5de1b75592052db7f7e237f_cgraph.map delete mode 100644 db/dd3/ode__forward__euler_8cpp_aa13517b8e5de1b75592052db7f7e237f_cgraph.md5 delete mode 100644 db/dd3/ode__forward__euler_8cpp_aa13517b8e5de1b75592052db7f7e237f_cgraph.svg delete mode 100644 db/dd3/ode__forward__euler_8cpp_aa13517b8e5de1b75592052db7f7e237f_cgraph_org.svg delete mode 100644 db/dd3/ode__forward__euler_8cpp_af3adf7b092a87868917ee5fb4255192b_cgraph.map delete mode 100644 db/dd3/ode__forward__euler_8cpp_af3adf7b092a87868917ee5fb4255192b_cgraph.md5 delete mode 100644 db/dd3/ode__forward__euler_8cpp_af3adf7b092a87868917ee5fb4255192b_cgraph.svg delete mode 100644 db/dd3/ode__forward__euler_8cpp_af3adf7b092a87868917ee5fb4255192b_cgraph_org.svg create mode 100644 db/dd3/ode__forward__euler_8cpp_source.html create mode 100644 db/de3/numeric__string__sort_8cpp_source.html delete mode 100644 db/df3/happy__number_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 db/df3/happy__number_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 db/df3/happy__number_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 db/df3/happy__number_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 db/df3/happy__number_8cpp_source.html delete mode 100644 db/dfb/maximum__circular__subarray_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.map delete mode 100644 db/dfb/maximum__circular__subarray_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.md5 delete mode 100644 db/dfb/maximum__circular__subarray_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.svg delete mode 100644 db/dfb/maximum__circular__subarray_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph_org.svg delete mode 100644 db/dfb/maximum__circular__subarray_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map delete mode 100644 db/dfb/maximum__circular__subarray_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 delete mode 100644 db/dfb/maximum__circular__subarray_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg delete mode 100644 db/dfb/maximum__circular__subarray_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg create mode 100644 db/dfb/maximum__circular__subarray_8cpp_source.html delete mode 100644 dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a01f3a05cf5abdc5d63999ef1bf9f9256_cgraph.map delete mode 100644 dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a01f3a05cf5abdc5d63999ef1bf9f9256_cgraph.md5 delete mode 100644 dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a01f3a05cf5abdc5d63999ef1bf9f9256_cgraph.svg delete mode 100644 dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a01f3a05cf5abdc5d63999ef1bf9f9256_cgraph_org.svg delete mode 100644 dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a1fcb7db9bdeabd874712ec4f00483d17_cgraph.map delete mode 100644 dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a1fcb7db9bdeabd874712ec4f00483d17_cgraph.md5 delete mode 100644 dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a1fcb7db9bdeabd874712ec4f00483d17_cgraph.svg delete mode 100644 dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a1fcb7db9bdeabd874712ec4f00483d17_cgraph_org.svg delete mode 100644 dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a42c986fb57b74fe1b7c5953cb1922c3d_cgraph.map delete mode 100644 dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a42c986fb57b74fe1b7c5953cb1922c3d_cgraph.md5 delete mode 100644 dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a42c986fb57b74fe1b7c5953cb1922c3d_cgraph.svg delete mode 100644 dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a42c986fb57b74fe1b7c5953cb1922c3d_cgraph_org.svg delete mode 100644 dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a4aa49765cce39ce48b9241e993e0cfb9_cgraph.map delete mode 100644 dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a4aa49765cce39ce48b9241e993e0cfb9_cgraph.md5 delete mode 100644 dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a4aa49765cce39ce48b9241e993e0cfb9_cgraph.svg delete mode 100644 dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a4aa49765cce39ce48b9241e993e0cfb9_cgraph_org.svg delete mode 100644 dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a562faa16a4b4ed5d4804823c56f99c9c_cgraph.map delete mode 100644 dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a562faa16a4b4ed5d4804823c56f99c9c_cgraph.md5 delete mode 100644 dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a562faa16a4b4ed5d4804823c56f99c9c_cgraph.svg delete mode 100644 dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a562faa16a4b4ed5d4804823c56f99c9c_cgraph_org.svg delete mode 100644 dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a5d8eb669b37a27224376b08515b4ee50_cgraph.map delete mode 100644 dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a5d8eb669b37a27224376b08515b4ee50_cgraph.md5 delete mode 100644 dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a5d8eb669b37a27224376b08515b4ee50_cgraph.svg delete mode 100644 dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a5d8eb669b37a27224376b08515b4ee50_cgraph_org.svg delete mode 100644 dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a60599668b56001cef4bb59d4cb5c6c6c_cgraph.map delete mode 100644 dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a60599668b56001cef4bb59d4cb5c6c6c_cgraph.md5 delete mode 100644 dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a60599668b56001cef4bb59d4cb5c6c6c_cgraph.svg delete mode 100644 dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a60599668b56001cef4bb59d4cb5c6c6c_cgraph_org.svg delete mode 100644 dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a678681c9f6266a8219bd6bee6972d70e_cgraph.map delete mode 100644 dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a678681c9f6266a8219bd6bee6972d70e_cgraph.md5 delete mode 100644 dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a678681c9f6266a8219bd6bee6972d70e_cgraph.svg delete mode 100644 dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a678681c9f6266a8219bd6bee6972d70e_cgraph_org.svg delete mode 100644 dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a87c2ed8f19bda2ad21ee4cbed32c394a_cgraph.map delete mode 100644 dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a87c2ed8f19bda2ad21ee4cbed32c394a_cgraph.md5 delete mode 100644 dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a87c2ed8f19bda2ad21ee4cbed32c394a_cgraph.svg delete mode 100644 dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a87c2ed8f19bda2ad21ee4cbed32c394a_cgraph_org.svg delete mode 100644 dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_ab6534125643a02c114bd4cddba9bc17f_cgraph.map delete mode 100644 dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_ab6534125643a02c114bd4cddba9bc17f_cgraph.md5 delete mode 100644 dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_ab6534125643a02c114bd4cddba9bc17f_cgraph.svg delete mode 100644 dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_ab6534125643a02c114bd4cddba9bc17f_cgraph_org.svg delete mode 100644 dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_ad36ec1f1a97298e49de605384e5f8211_cgraph.map delete mode 100644 dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_ad36ec1f1a97298e49de605384e5f8211_cgraph.md5 delete mode 100644 dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_ad36ec1f1a97298e49de605384e5f8211_cgraph.svg delete mode 100644 dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_ad36ec1f1a97298e49de605384e5f8211_cgraph_org.svg delete mode 100644 dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_ae190115f8d4d31e47d7290e0b6871391_cgraph.map delete mode 100644 dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_ae190115f8d4d31e47d7290e0b6871391_cgraph.md5 delete mode 100644 dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_ae190115f8d4d31e47d7290e0b6871391_cgraph.svg delete mode 100644 dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_ae190115f8d4d31e47d7290e0b6871391_cgraph_org.svg delete mode 100644 dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_ae4e183ec8eab778cb243e4ae0b22a0f1_cgraph.map delete mode 100644 dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_ae4e183ec8eab778cb243e4ae0b22a0f1_cgraph.md5 delete mode 100644 dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_ae4e183ec8eab778cb243e4ae0b22a0f1_cgraph.svg delete mode 100644 dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_ae4e183ec8eab778cb243e4ae0b22a0f1_cgraph_org.svg delete mode 100644 dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_aedbe01e48a96fefa0b393ec577b0f19e_cgraph.map delete mode 100644 dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_aedbe01e48a96fefa0b393ec577b0f19e_cgraph.md5 delete mode 100644 dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_aedbe01e48a96fefa0b393ec577b0f19e_cgraph.svg delete mode 100644 dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_aedbe01e48a96fefa0b393ec577b0f19e_cgraph_org.svg delete mode 100644 dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_af09566a6a59d30875434c140e18e0a12_cgraph.map delete mode 100644 dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_af09566a6a59d30875434c140e18e0a12_cgraph.md5 delete mode 100644 dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_af09566a6a59d30875434c140e18e0a12_cgraph.svg delete mode 100644 dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_af09566a6a59d30875434c140e18e0a12_cgraph_org.svg delete mode 100644 dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_af12ceffdc07cc87eca8a4a8ac87d60fe_cgraph.map delete mode 100644 dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_af12ceffdc07cc87eca8a4a8ac87d60fe_cgraph.md5 delete mode 100644 dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_af12ceffdc07cc87eca8a4a8ac87d60fe_cgraph.svg delete mode 100644 dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_af12ceffdc07cc87eca8a4a8ac87d60fe_cgraph_org.svg delete mode 100644 dc/d14/wildcard__matching_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map delete mode 100644 dc/d14/wildcard__matching_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 delete mode 100644 dc/d14/wildcard__matching_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg delete mode 100644 dc/d14/wildcard__matching_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg delete mode 100644 dc/d14/wildcard__matching_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 dc/d14/wildcard__matching_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 dc/d14/wildcard__matching_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 dc/d14/wildcard__matching_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 dc/d14/wildcard__matching_8cpp_source.html delete mode 100644 dc/d1a/pascal__triangle_8cpp_ad7a31d9cb2818d21b1ba12aead7f4c5c_cgraph.map delete mode 100644 dc/d1a/pascal__triangle_8cpp_ad7a31d9cb2818d21b1ba12aead7f4c5c_cgraph.md5 delete mode 100644 dc/d1a/pascal__triangle_8cpp_ad7a31d9cb2818d21b1ba12aead7f4c5c_cgraph.svg delete mode 100644 dc/d1a/pascal__triangle_8cpp_ad7a31d9cb2818d21b1ba12aead7f4c5c_cgraph_org.svg delete mode 100644 dc/d1a/pascal__triangle_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 dc/d1a/pascal__triangle_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 dc/d1a/pascal__triangle_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 dc/d1a/pascal__triangle_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 dc/d1a/pascal__triangle_8cpp_source.html delete mode 100644 dc/d38/ordinary__least__squares__regressor_8cpp_a01e6c7bf2b09272578b9c5819ce0f36f_cgraph.map delete mode 100644 dc/d38/ordinary__least__squares__regressor_8cpp_a01e6c7bf2b09272578b9c5819ce0f36f_cgraph.md5 delete mode 100644 dc/d38/ordinary__least__squares__regressor_8cpp_a01e6c7bf2b09272578b9c5819ce0f36f_cgraph.svg delete mode 100644 dc/d38/ordinary__least__squares__regressor_8cpp_a01e6c7bf2b09272578b9c5819ce0f36f_cgraph_org.svg delete mode 100644 dc/d38/ordinary__least__squares__regressor_8cpp_a207b3a99fd5974d3117e0b0ac0aad234_cgraph.map delete mode 100644 dc/d38/ordinary__least__squares__regressor_8cpp_a207b3a99fd5974d3117e0b0ac0aad234_cgraph.md5 delete mode 100644 dc/d38/ordinary__least__squares__regressor_8cpp_a207b3a99fd5974d3117e0b0ac0aad234_cgraph.svg delete mode 100644 dc/d38/ordinary__least__squares__regressor_8cpp_a207b3a99fd5974d3117e0b0ac0aad234_cgraph_org.svg delete mode 100644 dc/d38/ordinary__least__squares__regressor_8cpp_a42535e20e97d85aa61271e0894cc0359_cgraph.map delete mode 100644 dc/d38/ordinary__least__squares__regressor_8cpp_a42535e20e97d85aa61271e0894cc0359_cgraph.md5 delete mode 100644 dc/d38/ordinary__least__squares__regressor_8cpp_a42535e20e97d85aa61271e0894cc0359_cgraph.svg delete mode 100644 dc/d38/ordinary__least__squares__regressor_8cpp_a42535e20e97d85aa61271e0894cc0359_cgraph_org.svg delete mode 100644 dc/d38/ordinary__least__squares__regressor_8cpp_a4261f3c3c3dfdb86f3004eb8aaffea8d_cgraph.map delete mode 100644 dc/d38/ordinary__least__squares__regressor_8cpp_a4261f3c3c3dfdb86f3004eb8aaffea8d_cgraph.md5 delete mode 100644 dc/d38/ordinary__least__squares__regressor_8cpp_a4261f3c3c3dfdb86f3004eb8aaffea8d_cgraph.svg delete mode 100644 dc/d38/ordinary__least__squares__regressor_8cpp_a4261f3c3c3dfdb86f3004eb8aaffea8d_cgraph_org.svg delete mode 100644 dc/d38/ordinary__least__squares__regressor_8cpp_a4a6a560dbdd0177633783b72db37dc19_cgraph.map delete mode 100644 dc/d38/ordinary__least__squares__regressor_8cpp_a4a6a560dbdd0177633783b72db37dc19_cgraph.md5 delete mode 100644 dc/d38/ordinary__least__squares__regressor_8cpp_a4a6a560dbdd0177633783b72db37dc19_cgraph.svg delete mode 100644 dc/d38/ordinary__least__squares__regressor_8cpp_a4a6a560dbdd0177633783b72db37dc19_cgraph_org.svg delete mode 100644 dc/d38/ordinary__least__squares__regressor_8cpp_a7075a0fccad9b2d79be0275bfe8948d4_cgraph.map delete mode 100644 dc/d38/ordinary__least__squares__regressor_8cpp_a7075a0fccad9b2d79be0275bfe8948d4_cgraph.md5 delete mode 100644 dc/d38/ordinary__least__squares__regressor_8cpp_a7075a0fccad9b2d79be0275bfe8948d4_cgraph.svg delete mode 100644 dc/d38/ordinary__least__squares__regressor_8cpp_a7075a0fccad9b2d79be0275bfe8948d4_cgraph_org.svg delete mode 100644 dc/d38/ordinary__least__squares__regressor_8cpp_a865e8d26a01962cc93aca66e71346f37_cgraph.map delete mode 100644 dc/d38/ordinary__least__squares__regressor_8cpp_a865e8d26a01962cc93aca66e71346f37_cgraph.md5 delete mode 100644 dc/d38/ordinary__least__squares__regressor_8cpp_a865e8d26a01962cc93aca66e71346f37_cgraph.svg delete mode 100644 dc/d38/ordinary__least__squares__regressor_8cpp_a865e8d26a01962cc93aca66e71346f37_cgraph_org.svg delete mode 100644 dc/d38/ordinary__least__squares__regressor_8cpp_aaddc683af581b51351e1023d2a01ef3b_cgraph.map delete mode 100644 dc/d38/ordinary__least__squares__regressor_8cpp_aaddc683af581b51351e1023d2a01ef3b_cgraph.md5 delete mode 100644 dc/d38/ordinary__least__squares__regressor_8cpp_aaddc683af581b51351e1023d2a01ef3b_cgraph.svg delete mode 100644 dc/d38/ordinary__least__squares__regressor_8cpp_aaddc683af581b51351e1023d2a01ef3b_cgraph_org.svg delete mode 100644 dc/d38/ordinary__least__squares__regressor_8cpp_ab1ad727903d7817c2758d25bcb52cbc8_cgraph.map delete mode 100644 dc/d38/ordinary__least__squares__regressor_8cpp_ab1ad727903d7817c2758d25bcb52cbc8_cgraph.md5 delete mode 100644 dc/d38/ordinary__least__squares__regressor_8cpp_ab1ad727903d7817c2758d25bcb52cbc8_cgraph.svg delete mode 100644 dc/d38/ordinary__least__squares__regressor_8cpp_ab1ad727903d7817c2758d25bcb52cbc8_cgraph_org.svg delete mode 100644 dc/d38/ordinary__least__squares__regressor_8cpp_ae2edd40354a1ca7aeaee3d1e3589e713_cgraph.map delete mode 100644 dc/d38/ordinary__least__squares__regressor_8cpp_ae2edd40354a1ca7aeaee3d1e3589e713_cgraph.md5 delete mode 100644 dc/d38/ordinary__least__squares__regressor_8cpp_ae2edd40354a1ca7aeaee3d1e3589e713_cgraph.svg delete mode 100644 dc/d38/ordinary__least__squares__regressor_8cpp_ae2edd40354a1ca7aeaee3d1e3589e713_cgraph_org.svg delete mode 100644 dc/d38/ordinary__least__squares__regressor_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 dc/d38/ordinary__least__squares__regressor_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 dc/d38/ordinary__least__squares__regressor_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 dc/d38/ordinary__least__squares__regressor_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg delete mode 100644 dc/d38/ordinary__least__squares__regressor_8cpp_af7243bdc6ae3c7169f01b85bb226e66a_cgraph.map delete mode 100644 dc/d38/ordinary__least__squares__regressor_8cpp_af7243bdc6ae3c7169f01b85bb226e66a_cgraph.md5 delete mode 100644 dc/d38/ordinary__least__squares__regressor_8cpp_af7243bdc6ae3c7169f01b85bb226e66a_cgraph.svg delete mode 100644 dc/d38/ordinary__least__squares__regressor_8cpp_af7243bdc6ae3c7169f01b85bb226e66a_cgraph_org.svg create mode 100644 dc/d38/ordinary__least__squares__regressor_8cpp_source.html create mode 100644 dc/d52/linear__recurrence__matrix_8cpp_source.html delete mode 100644 dc/d5a/rat__maze_8cpp_ab99107bfb4c6934cd4691868c66c0aa3_cgraph.map delete mode 100644 dc/d5a/rat__maze_8cpp_ab99107bfb4c6934cd4691868c66c0aa3_cgraph.md5 delete mode 100644 dc/d5a/rat__maze_8cpp_ab99107bfb4c6934cd4691868c66c0aa3_cgraph.svg delete mode 100644 dc/d5a/rat__maze_8cpp_ab99107bfb4c6934cd4691868c66c0aa3_cgraph_org.svg delete mode 100644 dc/d5a/rat__maze_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 dc/d5a/rat__maze_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 dc/d5a/rat__maze_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 dc/d5a/rat__maze_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 dc/d5a/rat__maze_8cpp_source.html delete mode 100644 dc/d61/classgraph_1_1_graph_a3755ec9e6a842238c7f4aac10b661981_cgraph.map delete mode 100644 dc/d61/classgraph_1_1_graph_a3755ec9e6a842238c7f4aac10b661981_cgraph.md5 delete mode 100644 dc/d61/classgraph_1_1_graph_a3755ec9e6a842238c7f4aac10b661981_cgraph.svg delete mode 100644 dc/d61/classgraph_1_1_graph_a3755ec9e6a842238c7f4aac10b661981_cgraph_org.svg delete mode 100644 dc/d61/classgraph_1_1_graph_a8839fa14bff19d2deab4a618447c13e5_cgraph.map delete mode 100644 dc/d61/classgraph_1_1_graph_a8839fa14bff19d2deab4a618447c13e5_cgraph.md5 delete mode 100644 dc/d61/classgraph_1_1_graph_a8839fa14bff19d2deab4a618447c13e5_cgraph.svg delete mode 100644 dc/d61/classgraph_1_1_graph_a8839fa14bff19d2deab4a618447c13e5_cgraph_org.svg delete mode 100644 dc/d61/classgraph_1_1_graph_a8930d1470d132b19e430d1c71f94c904_cgraph.map delete mode 100644 dc/d61/classgraph_1_1_graph_a8930d1470d132b19e430d1c71f94c904_cgraph.md5 delete mode 100644 dc/d61/classgraph_1_1_graph_a8930d1470d132b19e430d1c71f94c904_cgraph.svg delete mode 100644 dc/d61/classgraph_1_1_graph_a8930d1470d132b19e430d1c71f94c904_cgraph_org.svg delete mode 100644 dc/d67/subset__sum__dynamic_8cpp_a280fcfb2f6fe49a31c4da572e7032607_cgraph.map delete mode 100644 dc/d67/subset__sum__dynamic_8cpp_a280fcfb2f6fe49a31c4da572e7032607_cgraph.md5 delete mode 100644 dc/d67/subset__sum__dynamic_8cpp_a280fcfb2f6fe49a31c4da572e7032607_cgraph.svg delete mode 100644 dc/d67/subset__sum__dynamic_8cpp_a280fcfb2f6fe49a31c4da572e7032607_cgraph_org.svg delete mode 100644 dc/d67/subset__sum__dynamic_8cpp_ac94e6c0dee11278ac0a5491f1b9a4a50_cgraph.map delete mode 100644 dc/d67/subset__sum__dynamic_8cpp_ac94e6c0dee11278ac0a5491f1b9a4a50_cgraph.md5 delete mode 100644 dc/d67/subset__sum__dynamic_8cpp_ac94e6c0dee11278ac0a5491f1b9a4a50_cgraph.svg delete mode 100644 dc/d67/subset__sum__dynamic_8cpp_ac94e6c0dee11278ac0a5491f1b9a4a50_cgraph_org.svg delete mode 100644 dc/d67/subset__sum__dynamic_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 dc/d67/subset__sum__dynamic_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 dc/d67/subset__sum__dynamic_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 dc/d67/subset__sum__dynamic_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 dc/d67/subset__sum__dynamic_8cpp_source.html delete mode 100644 dc/d6d/power__of__2_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map delete mode 100644 dc/d6d/power__of__2_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 delete mode 100644 dc/d6d/power__of__2_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg delete mode 100644 dc/d6d/power__of__2_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg delete mode 100644 dc/d6d/power__of__2_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 dc/d6d/power__of__2_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 dc/d6d/power__of__2_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 dc/d6d/power__of__2_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 dc/d6d/power__of__2_8cpp_source.html delete mode 100644 dc/d82/area_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map delete mode 100644 dc/d82/area_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 delete mode 100644 dc/d82/area_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg delete mode 100644 dc/d82/area_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg delete mode 100644 dc/d82/area_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 dc/d82/area_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 dc/d82/area_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 dc/d82/area_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 dc/d82/area_8cpp_source.html delete mode 100644 dc/d93/classmachine__learning_1_1neural__network_1_1layers_1_1_dense_layer_a11046825be0b6dbb73fbe834aa49200e_cgraph.map delete mode 100644 dc/d93/classmachine__learning_1_1neural__network_1_1layers_1_1_dense_layer_a11046825be0b6dbb73fbe834aa49200e_cgraph.md5 delete mode 100644 dc/d93/classmachine__learning_1_1neural__network_1_1layers_1_1_dense_layer_a11046825be0b6dbb73fbe834aa49200e_cgraph.svg delete mode 100644 dc/d93/classmachine__learning_1_1neural__network_1_1layers_1_1_dense_layer_a11046825be0b6dbb73fbe834aa49200e_cgraph_org.svg delete mode 100644 dc/d93/classmachine__learning_1_1neural__network_1_1layers_1_1_dense_layer_af136ec31dbd35b1be2eb9a057677c704_cgraph.map delete mode 100644 dc/d93/classmachine__learning_1_1neural__network_1_1layers_1_1_dense_layer_af136ec31dbd35b1be2eb9a057677c704_cgraph.md5 delete mode 100644 dc/d93/classmachine__learning_1_1neural__network_1_1layers_1_1_dense_layer_af136ec31dbd35b1be2eb9a057677c704_cgraph.svg delete mode 100644 dc/d93/classmachine__learning_1_1neural__network_1_1layers_1_1_dense_layer_af136ec31dbd35b1be2eb9a057677c704_cgraph_org.svg delete mode 100644 dc/d93/trie__modern_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 dc/d93/trie__modern_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 dc/d93/trie__modern_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 dc/d93/trie__modern_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 dc/d93/trie__modern_8cpp_source.html delete mode 100644 dc/d9c/babylonian__method_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map delete mode 100644 dc/d9c/babylonian__method_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 delete mode 100644 dc/d9c/babylonian__method_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg delete mode 100644 dc/d9c/babylonian__method_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg delete mode 100644 dc/d9c/babylonian__method_8cpp_abf9e6b7e6f15df4b525a2e7705ba3089_cgraph.map delete mode 100644 dc/d9c/babylonian__method_8cpp_abf9e6b7e6f15df4b525a2e7705ba3089_cgraph.md5 delete mode 100644 dc/d9c/babylonian__method_8cpp_abf9e6b7e6f15df4b525a2e7705ba3089_cgraph.svg delete mode 100644 dc/d9c/babylonian__method_8cpp_abf9e6b7e6f15df4b525a2e7705ba3089_cgraph_org.svg create mode 100644 dc/d9c/babylonian__method_8cpp_source.html delete mode 100644 dc/daa/lru__cache2_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map delete mode 100644 dc/daa/lru__cache2_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 delete mode 100644 dc/daa/lru__cache2_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg delete mode 100644 dc/daa/lru__cache2_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg delete mode 100644 dc/daa/lru__cache2_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 dc/daa/lru__cache2_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 dc/daa/lru__cache2_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 dc/daa/lru__cache2_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 dc/daa/lru__cache2_8cpp_source.html delete mode 100644 dc/db5/text__search_8cpp_a3f8975d227cd0e58f298b380c5dac0d9_cgraph.map delete mode 100644 dc/db5/text__search_8cpp_a3f8975d227cd0e58f298b380c5dac0d9_cgraph.md5 delete mode 100644 dc/db5/text__search_8cpp_a3f8975d227cd0e58f298b380c5dac0d9_cgraph.svg delete mode 100644 dc/db5/text__search_8cpp_a3f8975d227cd0e58f298b380c5dac0d9_cgraph_org.svg delete mode 100644 dc/db5/text__search_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map delete mode 100644 dc/db5/text__search_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 delete mode 100644 dc/db5/text__search_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg delete mode 100644 dc/db5/text__search_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg delete mode 100644 dc/db5/text__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 dc/db5/text__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 dc/db5/text__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 dc/db5/text__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 dc/db5/text__search_8cpp_source.html create mode 100644 dc/dc5/paranthesis__matching_8cpp_source.html delete mode 100644 dc/dd4/classdata__structures_1_1_bloom_filter_a576db259488dbfb67624a9652a5ab08b_cgraph.map delete mode 100644 dc/dd4/classdata__structures_1_1_bloom_filter_a576db259488dbfb67624a9652a5ab08b_cgraph.md5 delete mode 100644 dc/dd4/classdata__structures_1_1_bloom_filter_a576db259488dbfb67624a9652a5ab08b_cgraph.svg delete mode 100644 dc/dd4/classdata__structures_1_1_bloom_filter_a576db259488dbfb67624a9652a5ab08b_cgraph_org.svg delete mode 100644 dc/dd4/classdata__structures_1_1_bloom_filter_a67bed8ef62fcb1f33b6c72df47dcf840_cgraph.map delete mode 100644 dc/dd4/classdata__structures_1_1_bloom_filter_a67bed8ef62fcb1f33b6c72df47dcf840_cgraph.md5 delete mode 100644 dc/dd4/classdata__structures_1_1_bloom_filter_a67bed8ef62fcb1f33b6c72df47dcf840_cgraph.svg delete mode 100644 dc/dd4/classdata__structures_1_1_bloom_filter_a67bed8ef62fcb1f33b6c72df47dcf840_cgraph_org.svg delete mode 100644 dc/dd9/strand__sort_8cpp_a2bea2fe5dd38ed63610fdeaddf5785cd_cgraph.map delete mode 100644 dc/dd9/strand__sort_8cpp_a2bea2fe5dd38ed63610fdeaddf5785cd_cgraph.md5 delete mode 100644 dc/dd9/strand__sort_8cpp_a2bea2fe5dd38ed63610fdeaddf5785cd_cgraph.svg delete mode 100644 dc/dd9/strand__sort_8cpp_a2bea2fe5dd38ed63610fdeaddf5785cd_cgraph_org.svg delete mode 100644 dc/dd9/strand__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 dc/dd9/strand__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 dc/dd9/strand__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 dc/dd9/strand__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 dc/dd9/strand__sort_8cpp_source.html delete mode 100644 dc/de1/recursive__tree__traversal_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph.map delete mode 100644 dc/de1/recursive__tree__traversal_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph.md5 delete mode 100644 dc/de1/recursive__tree__traversal_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph.svg delete mode 100644 dc/de1/recursive__tree__traversal_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph_org.svg delete mode 100644 dc/de1/recursive__tree__traversal_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph.map delete mode 100644 dc/de1/recursive__tree__traversal_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph.md5 delete mode 100644 dc/de1/recursive__tree__traversal_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph.svg delete mode 100644 dc/de1/recursive__tree__traversal_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph_org.svg delete mode 100644 dc/de1/recursive__tree__traversal_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.map delete mode 100644 dc/de1/recursive__tree__traversal_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 delete mode 100644 dc/de1/recursive__tree__traversal_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.svg delete mode 100644 dc/de1/recursive__tree__traversal_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph_org.svg delete mode 100644 dc/de1/recursive__tree__traversal_8cpp_a6d0455dd5c30adda100e95f0423c786e_cgraph.map delete mode 100644 dc/de1/recursive__tree__traversal_8cpp_a6d0455dd5c30adda100e95f0423c786e_cgraph.md5 delete mode 100644 dc/de1/recursive__tree__traversal_8cpp_a6d0455dd5c30adda100e95f0423c786e_cgraph.svg delete mode 100644 dc/de1/recursive__tree__traversal_8cpp_a6d0455dd5c30adda100e95f0423c786e_cgraph_org.svg delete mode 100644 dc/de1/recursive__tree__traversal_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 dc/de1/recursive__tree__traversal_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 dc/de1/recursive__tree__traversal_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 dc/de1/recursive__tree__traversal_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 dc/de1/recursive__tree__traversal_8cpp_source.html delete mode 100644 dc/dfb/atbash__cipher_8cpp_a8f7dd4dcd3df7c512c20482afc2dbb9d_cgraph.map delete mode 100644 dc/dfb/atbash__cipher_8cpp_a8f7dd4dcd3df7c512c20482afc2dbb9d_cgraph.md5 delete mode 100644 dc/dfb/atbash__cipher_8cpp_a8f7dd4dcd3df7c512c20482afc2dbb9d_cgraph.svg delete mode 100644 dc/dfb/atbash__cipher_8cpp_a8f7dd4dcd3df7c512c20482afc2dbb9d_cgraph_org.svg delete mode 100644 dc/dfb/atbash__cipher_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map delete mode 100644 dc/dfb/atbash__cipher_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 delete mode 100644 dc/dfb/atbash__cipher_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg delete mode 100644 dc/dfb/atbash__cipher_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg delete mode 100644 dc/dfb/atbash__cipher_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 dc/dfb/atbash__cipher_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 dc/dfb/atbash__cipher_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 dc/dfb/atbash__cipher_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 dc/dfb/atbash__cipher_8cpp_source.html delete mode 100644 dc/dfe/ternary__search_8cpp_a93d0099db95022f1eb90ddfd68f73ead_cgraph.map delete mode 100644 dc/dfe/ternary__search_8cpp_a93d0099db95022f1eb90ddfd68f73ead_cgraph.md5 delete mode 100644 dc/dfe/ternary__search_8cpp_a93d0099db95022f1eb90ddfd68f73ead_cgraph.svg delete mode 100644 dc/dfe/ternary__search_8cpp_a93d0099db95022f1eb90ddfd68f73ead_cgraph_org.svg delete mode 100644 dc/dfe/ternary__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 dc/dfe/ternary__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 dc/dfe/ternary__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 dc/dfe/ternary__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg delete mode 100644 dc/dfe/ternary__search_8cpp_aef655a27eb82efa299bf9d0becf6e9c8_cgraph.map delete mode 100644 dc/dfe/ternary__search_8cpp_aef655a27eb82efa299bf9d0becf6e9c8_cgraph.md5 delete mode 100644 dc/dfe/ternary__search_8cpp_aef655a27eb82efa299bf9d0becf6e9c8_cgraph.svg delete mode 100644 dc/dfe/ternary__search_8cpp_aef655a27eb82efa299bf9d0becf6e9c8_cgraph_org.svg create mode 100644 dc/dfe/ternary__search_8cpp_source.html delete mode 100644 dd/d0c/hamiltons__cycle_8cpp_a0cc94918b6831f308d4fe4fa27f08299_cgraph.map delete mode 100644 dd/d0c/hamiltons__cycle_8cpp_a0cc94918b6831f308d4fe4fa27f08299_cgraph.md5 delete mode 100644 dd/d0c/hamiltons__cycle_8cpp_a0cc94918b6831f308d4fe4fa27f08299_cgraph.svg delete mode 100644 dd/d0c/hamiltons__cycle_8cpp_a0cc94918b6831f308d4fe4fa27f08299_cgraph_org.svg delete mode 100644 dd/d0c/hamiltons__cycle_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph.map delete mode 100644 dd/d0c/hamiltons__cycle_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph.md5 delete mode 100644 dd/d0c/hamiltons__cycle_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph.svg delete mode 100644 dd/d0c/hamiltons__cycle_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph_org.svg delete mode 100644 dd/d0c/hamiltons__cycle_8cpp_a45d94ead4cf4e1ff9f87c38bc99f59ae_cgraph.map delete mode 100644 dd/d0c/hamiltons__cycle_8cpp_a45d94ead4cf4e1ff9f87c38bc99f59ae_cgraph.md5 delete mode 100644 dd/d0c/hamiltons__cycle_8cpp_a45d94ead4cf4e1ff9f87c38bc99f59ae_cgraph.svg delete mode 100644 dd/d0c/hamiltons__cycle_8cpp_a45d94ead4cf4e1ff9f87c38bc99f59ae_cgraph_org.svg delete mode 100644 dd/d0c/hamiltons__cycle_8cpp_abcf824e347eecfeeb69ea0280f34f3e4_cgraph.map delete mode 100644 dd/d0c/hamiltons__cycle_8cpp_abcf824e347eecfeeb69ea0280f34f3e4_cgraph.md5 delete mode 100644 dd/d0c/hamiltons__cycle_8cpp_abcf824e347eecfeeb69ea0280f34f3e4_cgraph.svg delete mode 100644 dd/d0c/hamiltons__cycle_8cpp_abcf824e347eecfeeb69ea0280f34f3e4_cgraph_org.svg delete mode 100644 dd/d0c/hamiltons__cycle_8cpp_ae7880ce913f3058a35ff106d5be9e243_cgraph.map delete mode 100644 dd/d0c/hamiltons__cycle_8cpp_ae7880ce913f3058a35ff106d5be9e243_cgraph.md5 delete mode 100644 dd/d0c/hamiltons__cycle_8cpp_ae7880ce913f3058a35ff106d5be9e243_cgraph.svg delete mode 100644 dd/d0c/hamiltons__cycle_8cpp_ae7880ce913f3058a35ff106d5be9e243_cgraph_org.svg create mode 100644 dd/d0c/hamiltons__cycle_8cpp_source.html delete mode 100644 dd/d0d/insertion__sort_8cpp_a59914553f24088342c139645a02a8a49_cgraph.map delete mode 100644 dd/d0d/insertion__sort_8cpp_a59914553f24088342c139645a02a8a49_cgraph.md5 delete mode 100644 dd/d0d/insertion__sort_8cpp_a59914553f24088342c139645a02a8a49_cgraph.svg delete mode 100644 dd/d0d/insertion__sort_8cpp_a59914553f24088342c139645a02a8a49_cgraph_org.svg delete mode 100644 dd/d0d/insertion__sort_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph.map delete mode 100644 dd/d0d/insertion__sort_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph.md5 delete mode 100644 dd/d0d/insertion__sort_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph.svg delete mode 100644 dd/d0d/insertion__sort_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph_org.svg delete mode 100644 dd/d0d/insertion__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 dd/d0d/insertion__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 dd/d0d/insertion__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 dd/d0d/insertion__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 dd/d0d/insertion__sort_8cpp_source.html delete mode 100644 dd/d12/vigenere__cipher_8cpp_a3cfc3f9b20a0f230a2fcefd31dc6848e_cgraph.map delete mode 100644 dd/d12/vigenere__cipher_8cpp_a3cfc3f9b20a0f230a2fcefd31dc6848e_cgraph.md5 delete mode 100644 dd/d12/vigenere__cipher_8cpp_a3cfc3f9b20a0f230a2fcefd31dc6848e_cgraph.svg delete mode 100644 dd/d12/vigenere__cipher_8cpp_a3cfc3f9b20a0f230a2fcefd31dc6848e_cgraph_org.svg delete mode 100644 dd/d12/vigenere__cipher_8cpp_a6bd3880ea6820c232c1eddf47553c257_cgraph.map delete mode 100644 dd/d12/vigenere__cipher_8cpp_a6bd3880ea6820c232c1eddf47553c257_cgraph.md5 delete mode 100644 dd/d12/vigenere__cipher_8cpp_a6bd3880ea6820c232c1eddf47553c257_cgraph.svg delete mode 100644 dd/d12/vigenere__cipher_8cpp_a6bd3880ea6820c232c1eddf47553c257_cgraph_org.svg delete mode 100644 dd/d12/vigenere__cipher_8cpp_ae1a3968e7947464bee7714f6d43b7002_cgraph.map delete mode 100644 dd/d12/vigenere__cipher_8cpp_ae1a3968e7947464bee7714f6d43b7002_cgraph.md5 delete mode 100644 dd/d12/vigenere__cipher_8cpp_ae1a3968e7947464bee7714f6d43b7002_cgraph.svg delete mode 100644 dd/d12/vigenere__cipher_8cpp_ae1a3968e7947464bee7714f6d43b7002_cgraph_org.svg delete mode 100644 dd/d12/vigenere__cipher_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 dd/d12/vigenere__cipher_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 dd/d12/vigenere__cipher_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 dd/d12/vigenere__cipher_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 dd/d12/vigenere__cipher_8cpp_source.html delete mode 100644 dd/d1c/classhash__chain_a55aa5c6753cb8853152d469c375d946a_cgraph.map delete mode 100644 dd/d1c/classhash__chain_a55aa5c6753cb8853152d469c375d946a_cgraph.md5 delete mode 100644 dd/d1c/classhash__chain_a55aa5c6753cb8853152d469c375d946a_cgraph.svg delete mode 100644 dd/d1c/classhash__chain_a55aa5c6753cb8853152d469c375d946a_cgraph_org.svg delete mode 100644 dd/d1c/classhash__chain_a6b4b4de1a8c96f98a63a77f650a9dcff_cgraph.map delete mode 100644 dd/d1c/classhash__chain_a6b4b4de1a8c96f98a63a77f650a9dcff_cgraph.md5 delete mode 100644 dd/d1c/classhash__chain_a6b4b4de1a8c96f98a63a77f650a9dcff_cgraph.svg delete mode 100644 dd/d1c/classhash__chain_a6b4b4de1a8c96f98a63a77f650a9dcff_cgraph_org.svg delete mode 100644 dd/d1c/classhash__chain_a706964ad13587fc9a8b3fe8381d410ed_cgraph.map delete mode 100644 dd/d1c/classhash__chain_a706964ad13587fc9a8b3fe8381d410ed_cgraph.md5 delete mode 100644 dd/d1c/classhash__chain_a706964ad13587fc9a8b3fe8381d410ed_cgraph.svg delete mode 100644 dd/d1c/classhash__chain_a706964ad13587fc9a8b3fe8381d410ed_cgraph_org.svg delete mode 100644 dd/d1c/classhash__chain_a80c8b902a15b4fd062ed727ecf8f3595_cgraph.map delete mode 100644 dd/d1c/classhash__chain_a80c8b902a15b4fd062ed727ecf8f3595_cgraph.md5 delete mode 100644 dd/d1c/classhash__chain_a80c8b902a15b4fd062ed727ecf8f3595_cgraph.svg delete mode 100644 dd/d1c/classhash__chain_a80c8b902a15b4fd062ed727ecf8f3595_cgraph_org.svg delete mode 100644 dd/d1e/generate__parentheses_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map delete mode 100644 dd/d1e/generate__parentheses_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 delete mode 100644 dd/d1e/generate__parentheses_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg delete mode 100644 dd/d1e/generate__parentheses_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg delete mode 100644 dd/d1e/generate__parentheses_8cpp_gae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 dd/d1e/generate__parentheses_8cpp_gae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 dd/d1e/generate__parentheses_8cpp_gae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 dd/d1e/generate__parentheses_8cpp_gae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 dd/d1e/generate__parentheses_8cpp_source.html delete mode 100644 dd/d1f/classdsu_a0ce2672c570f4235eafddb0c9a58115a_cgraph.map delete mode 100644 dd/d1f/classdsu_a0ce2672c570f4235eafddb0c9a58115a_cgraph.md5 delete mode 100644 dd/d1f/classdsu_a0ce2672c570f4235eafddb0c9a58115a_cgraph.svg delete mode 100644 dd/d1f/classdsu_a0ce2672c570f4235eafddb0c9a58115a_cgraph_org.svg delete mode 100644 dd/d1f/classdsu_a16851f78fe390fc1430905c83d6a2f1c_cgraph.map delete mode 100644 dd/d1f/classdsu_a16851f78fe390fc1430905c83d6a2f1c_cgraph.md5 delete mode 100644 dd/d1f/classdsu_a16851f78fe390fc1430905c83d6a2f1c_cgraph.svg delete mode 100644 dd/d1f/classdsu_a16851f78fe390fc1430905c83d6a2f1c_cgraph_org.svg delete mode 100644 dd/d1f/classdsu_a1c24228b0f2f49220133fb8c3566a55c_cgraph.map delete mode 100644 dd/d1f/classdsu_a1c24228b0f2f49220133fb8c3566a55c_cgraph.md5 delete mode 100644 dd/d1f/classdsu_a1c24228b0f2f49220133fb8c3566a55c_cgraph.svg delete mode 100644 dd/d1f/classdsu_a1c24228b0f2f49220133fb8c3566a55c_cgraph_org.svg delete mode 100644 dd/d1f/classdsu_a64d25c5986742f7c234ed449b2ff7303_cgraph.map delete mode 100644 dd/d1f/classdsu_a64d25c5986742f7c234ed449b2ff7303_cgraph.md5 delete mode 100644 dd/d1f/classdsu_a64d25c5986742f7c234ed449b2ff7303_cgraph.svg delete mode 100644 dd/d1f/classdsu_a64d25c5986742f7c234ed449b2ff7303_cgraph_org.svg delete mode 100644 dd/d1f/classdsu_a696141b8b092466767f4bfe1c5e46cde_cgraph.map delete mode 100644 dd/d1f/classdsu_a696141b8b092466767f4bfe1c5e46cde_cgraph.md5 delete mode 100644 dd/d1f/classdsu_a696141b8b092466767f4bfe1c5e46cde_cgraph.svg delete mode 100644 dd/d1f/classdsu_a696141b8b092466767f4bfe1c5e46cde_cgraph_org.svg delete mode 100644 dd/d1f/classdsu_a6ac30c07abca2aaa3b291504c25c3559_cgraph.map delete mode 100644 dd/d1f/classdsu_a6ac30c07abca2aaa3b291504c25c3559_cgraph.md5 delete mode 100644 dd/d1f/classdsu_a6ac30c07abca2aaa3b291504c25c3559_cgraph.svg delete mode 100644 dd/d1f/classdsu_a6ac30c07abca2aaa3b291504c25c3559_cgraph_org.svg delete mode 100644 dd/d1f/classdsu_a81897528bdb53fd5e796d75d7dbc430f_cgraph.map delete mode 100644 dd/d1f/classdsu_a81897528bdb53fd5e796d75d7dbc430f_cgraph.md5 delete mode 100644 dd/d1f/classdsu_a81897528bdb53fd5e796d75d7dbc430f_cgraph.svg delete mode 100644 dd/d1f/classdsu_a81897528bdb53fd5e796d75d7dbc430f_cgraph_org.svg delete mode 100644 dd/d1f/classdsu_ac713a5b496d0405c82e2808a85e58415_cgraph.map delete mode 100644 dd/d1f/classdsu_ac713a5b496d0405c82e2808a85e58415_cgraph.md5 delete mode 100644 dd/d1f/classdsu_ac713a5b496d0405c82e2808a85e58415_cgraph.svg delete mode 100644 dd/d1f/classdsu_ac713a5b496d0405c82e2808a85e58415_cgraph_org.svg delete mode 100644 dd/d24/namespacedynamic__programming_a066e0e739e7c276eee6e61d5b4d37ce8_cgraph.map delete mode 100644 dd/d24/namespacedynamic__programming_a066e0e739e7c276eee6e61d5b4d37ce8_cgraph.md5 delete mode 100644 dd/d24/namespacedynamic__programming_a066e0e739e7c276eee6e61d5b4d37ce8_cgraph.svg delete mode 100644 dd/d24/namespacedynamic__programming_a066e0e739e7c276eee6e61d5b4d37ce8_cgraph_org.svg delete mode 100644 dd/d24/namespacedynamic__programming_a0a2215194e58786c34db1ccaf8031079_cgraph.map delete mode 100644 dd/d24/namespacedynamic__programming_a0a2215194e58786c34db1ccaf8031079_cgraph.md5 delete mode 100644 dd/d24/namespacedynamic__programming_a0a2215194e58786c34db1ccaf8031079_cgraph.svg delete mode 100644 dd/d24/namespacedynamic__programming_a0a2215194e58786c34db1ccaf8031079_cgraph_org.svg delete mode 100644 dd/d24/namespacedynamic__programming_a5239174fa0d987f2c67edc1f2af82beb_cgraph.map delete mode 100644 dd/d24/namespacedynamic__programming_a5239174fa0d987f2c67edc1f2af82beb_cgraph.md5 delete mode 100644 dd/d24/namespacedynamic__programming_a5239174fa0d987f2c67edc1f2af82beb_cgraph.svg delete mode 100644 dd/d24/namespacedynamic__programming_a5239174fa0d987f2c67edc1f2af82beb_cgraph_org.svg delete mode 100644 dd/d24/namespacedynamic__programming_af046365a8d77a1267acc082f86135a26_cgraph.map delete mode 100644 dd/d24/namespacedynamic__programming_af046365a8d77a1267acc082f86135a26_cgraph.md5 delete mode 100644 dd/d24/namespacedynamic__programming_af046365a8d77a1267acc082f86135a26_cgraph.svg delete mode 100644 dd/d24/namespacedynamic__programming_af046365a8d77a1267acc082f86135a26_cgraph_org.svg delete mode 100644 dd/d24/namespacedynamic__programming_afe9f45b6e30ee187509da2d1d0093412_cgraph.map delete mode 100644 dd/d24/namespacedynamic__programming_afe9f45b6e30ee187509da2d1d0093412_cgraph.md5 delete mode 100644 dd/d24/namespacedynamic__programming_afe9f45b6e30ee187509da2d1d0093412_cgraph.svg delete mode 100644 dd/d24/namespacedynamic__programming_afe9f45b6e30ee187509da2d1d0093412_cgraph_org.svg delete mode 100644 dd/d29/false__position_8cpp_a7d69b49dc37da1c02b3ab8c7fe783494_cgraph.map delete mode 100644 dd/d29/false__position_8cpp_a7d69b49dc37da1c02b3ab8c7fe783494_cgraph.md5 delete mode 100644 dd/d29/false__position_8cpp_a7d69b49dc37da1c02b3ab8c7fe783494_cgraph.svg delete mode 100644 dd/d29/false__position_8cpp_a7d69b49dc37da1c02b3ab8c7fe783494_cgraph_org.svg delete mode 100644 dd/d29/false__position_8cpp_a85a6ec58b5064d63d4f0df3854496713_cgraph.map delete mode 100644 dd/d29/false__position_8cpp_a85a6ec58b5064d63d4f0df3854496713_cgraph.md5 delete mode 100644 dd/d29/false__position_8cpp_a85a6ec58b5064d63d4f0df3854496713_cgraph.svg delete mode 100644 dd/d29/false__position_8cpp_a85a6ec58b5064d63d4f0df3854496713_cgraph_org.svg delete mode 100644 dd/d29/false__position_8cpp_a85cb7bfb90abc898e042d624372c5345_cgraph.map delete mode 100644 dd/d29/false__position_8cpp_a85cb7bfb90abc898e042d624372c5345_cgraph.md5 delete mode 100644 dd/d29/false__position_8cpp_a85cb7bfb90abc898e042d624372c5345_cgraph.svg delete mode 100644 dd/d29/false__position_8cpp_a85cb7bfb90abc898e042d624372c5345_cgraph_org.svg create mode 100644 dd/d29/false__position_8cpp_source.html delete mode 100644 dd/d2f/class_trie_a26941759ecf94d67a27d4a610bc0f63d_cgraph.map delete mode 100644 dd/d2f/class_trie_a26941759ecf94d67a27d4a610bc0f63d_cgraph.md5 delete mode 100644 dd/d2f/class_trie_a26941759ecf94d67a27d4a610bc0f63d_cgraph.svg delete mode 100644 dd/d2f/class_trie_a26941759ecf94d67a27d4a610bc0f63d_cgraph_org.svg delete mode 100644 dd/d2f/class_trie_afd8b79959009b554e98ea7128b2886f2_cgraph.map delete mode 100644 dd/d2f/class_trie_afd8b79959009b554e98ea7128b2886f2_cgraph.md5 delete mode 100644 dd/d2f/class_trie_afd8b79959009b554e98ea7128b2886f2_cgraph.svg delete mode 100644 dd/d2f/class_trie_afd8b79959009b554e98ea7128b2886f2_cgraph_org.svg delete mode 100644 dd/d40/classdata__structures_1_1tree__234_1_1_node_a8e809ae85ae00e937f67ddb76951b6bb_cgraph.map delete mode 100644 dd/d40/classdata__structures_1_1tree__234_1_1_node_a8e809ae85ae00e937f67ddb76951b6bb_cgraph.md5 delete mode 100644 dd/d40/classdata__structures_1_1tree__234_1_1_node_a8e809ae85ae00e937f67ddb76951b6bb_cgraph.svg delete mode 100644 dd/d40/classdata__structures_1_1tree__234_1_1_node_a8e809ae85ae00e937f67ddb76951b6bb_cgraph_org.svg delete mode 100644 dd/d47/namespacemath_a0efb235330ff48e14fd31faaccbcebb3_cgraph.map delete mode 100644 dd/d47/namespacemath_a0efb235330ff48e14fd31faaccbcebb3_cgraph.md5 delete mode 100644 dd/d47/namespacemath_a0efb235330ff48e14fd31faaccbcebb3_cgraph.svg delete mode 100644 dd/d47/namespacemath_a0efb235330ff48e14fd31faaccbcebb3_cgraph_org.svg delete mode 100644 dd/d47/namespacemath_a1d4df7a4e43a2eac1acc0ac610487c73_cgraph.map delete mode 100644 dd/d47/namespacemath_a1d4df7a4e43a2eac1acc0ac610487c73_cgraph.md5 delete mode 100644 dd/d47/namespacemath_a1d4df7a4e43a2eac1acc0ac610487c73_cgraph.svg delete mode 100644 dd/d47/namespacemath_a1d4df7a4e43a2eac1acc0ac610487c73_cgraph_org.svg delete mode 100644 dd/d47/namespacemath_a2d704a7b72a6b2db8b76c8581b577b2c_cgraph.map delete mode 100644 dd/d47/namespacemath_a2d704a7b72a6b2db8b76c8581b577b2c_cgraph.md5 delete mode 100644 dd/d47/namespacemath_a2d704a7b72a6b2db8b76c8581b577b2c_cgraph.svg delete mode 100644 dd/d47/namespacemath_a2d704a7b72a6b2db8b76c8581b577b2c_cgraph_org.svg delete mode 100644 dd/d47/namespacemath_a34d66a77c19ce9b8b3a3d14352b34551_cgraph.map delete mode 100644 dd/d47/namespacemath_a34d66a77c19ce9b8b3a3d14352b34551_cgraph.md5 delete mode 100644 dd/d47/namespacemath_a34d66a77c19ce9b8b3a3d14352b34551_cgraph.svg delete mode 100644 dd/d47/namespacemath_a34d66a77c19ce9b8b3a3d14352b34551_cgraph_org.svg delete mode 100644 dd/d47/namespacemath_a3d1e4db743b189f309327572663415f3_cgraph.map delete mode 100644 dd/d47/namespacemath_a3d1e4db743b189f309327572663415f3_cgraph.md5 delete mode 100644 dd/d47/namespacemath_a3d1e4db743b189f309327572663415f3_cgraph.svg delete mode 100644 dd/d47/namespacemath_a3d1e4db743b189f309327572663415f3_cgraph_org.svg delete mode 100644 dd/d47/namespacemath_a3fdc74c24697ec5bb5c3698c96117c12_cgraph.map delete mode 100644 dd/d47/namespacemath_a3fdc74c24697ec5bb5c3698c96117c12_cgraph.md5 delete mode 100644 dd/d47/namespacemath_a3fdc74c24697ec5bb5c3698c96117c12_cgraph.svg delete mode 100644 dd/d47/namespacemath_a3fdc74c24697ec5bb5c3698c96117c12_cgraph_org.svg delete mode 100644 dd/d47/namespacemath_a3fe35440c27758ecc2287e08217d63a7_cgraph.map delete mode 100644 dd/d47/namespacemath_a3fe35440c27758ecc2287e08217d63a7_cgraph.md5 delete mode 100644 dd/d47/namespacemath_a3fe35440c27758ecc2287e08217d63a7_cgraph.svg delete mode 100644 dd/d47/namespacemath_a3fe35440c27758ecc2287e08217d63a7_cgraph_org.svg delete mode 100644 dd/d47/namespacemath_a5de184925e68658f15415dd53954df4f_cgraph.map delete mode 100644 dd/d47/namespacemath_a5de184925e68658f15415dd53954df4f_cgraph.md5 delete mode 100644 dd/d47/namespacemath_a5de184925e68658f15415dd53954df4f_cgraph.svg delete mode 100644 dd/d47/namespacemath_a5de184925e68658f15415dd53954df4f_cgraph_org.svg delete mode 100644 dd/d47/namespacemath_a7e78996673df791014cfe540b183456a_cgraph.map delete mode 100644 dd/d47/namespacemath_a7e78996673df791014cfe540b183456a_cgraph.md5 delete mode 100644 dd/d47/namespacemath_a7e78996673df791014cfe540b183456a_cgraph.svg delete mode 100644 dd/d47/namespacemath_a7e78996673df791014cfe540b183456a_cgraph_org.svg delete mode 100644 dd/d47/namespacemath_a8e6eede206201db0d1dbb618fa969bec_cgraph.map delete mode 100644 dd/d47/namespacemath_a8e6eede206201db0d1dbb618fa969bec_cgraph.md5 delete mode 100644 dd/d47/namespacemath_a8e6eede206201db0d1dbb618fa969bec_cgraph.svg delete mode 100644 dd/d47/namespacemath_a8e6eede206201db0d1dbb618fa969bec_cgraph_org.svg delete mode 100644 dd/d47/namespacemath_a91366864111e1fac29722ca45e02ea8f_cgraph.map delete mode 100644 dd/d47/namespacemath_a91366864111e1fac29722ca45e02ea8f_cgraph.md5 delete mode 100644 dd/d47/namespacemath_a91366864111e1fac29722ca45e02ea8f_cgraph.svg delete mode 100644 dd/d47/namespacemath_a91366864111e1fac29722ca45e02ea8f_cgraph_org.svg delete mode 100644 dd/d47/namespacemath_a94db02b3c9e55a69ac1696f30e2f761c_cgraph.map delete mode 100644 dd/d47/namespacemath_a94db02b3c9e55a69ac1696f30e2f761c_cgraph.md5 delete mode 100644 dd/d47/namespacemath_a94db02b3c9e55a69ac1696f30e2f761c_cgraph.svg delete mode 100644 dd/d47/namespacemath_a94db02b3c9e55a69ac1696f30e2f761c_cgraph_org.svg delete mode 100644 dd/d47/namespacemath_aacb1411ef2029e81f249c21e17c96fdb_cgraph.map delete mode 100644 dd/d47/namespacemath_aacb1411ef2029e81f249c21e17c96fdb_cgraph.md5 delete mode 100644 dd/d47/namespacemath_aacb1411ef2029e81f249c21e17c96fdb_cgraph.svg delete mode 100644 dd/d47/namespacemath_aacb1411ef2029e81f249c21e17c96fdb_cgraph_org.svg delete mode 100644 dd/d47/namespacemath_ab3b920cc56442abd92279ba23b50f4dc_cgraph.map delete mode 100644 dd/d47/namespacemath_ab3b920cc56442abd92279ba23b50f4dc_cgraph.md5 delete mode 100644 dd/d47/namespacemath_ab3b920cc56442abd92279ba23b50f4dc_cgraph.svg delete mode 100644 dd/d47/namespacemath_ab3b920cc56442abd92279ba23b50f4dc_cgraph_org.svg delete mode 100644 dd/d47/namespacemath_abde24398be43538c62e4a496968e60ca_cgraph.map delete mode 100644 dd/d47/namespacemath_abde24398be43538c62e4a496968e60ca_cgraph.md5 delete mode 100644 dd/d47/namespacemath_abde24398be43538c62e4a496968e60ca_cgraph.svg delete mode 100644 dd/d47/namespacemath_abde24398be43538c62e4a496968e60ca_cgraph_org.svg delete mode 100644 dd/d47/namespacemath_abf7f2a6d91f1ca6c89698792aea3f188_cgraph.map delete mode 100644 dd/d47/namespacemath_abf7f2a6d91f1ca6c89698792aea3f188_cgraph.md5 delete mode 100644 dd/d47/namespacemath_abf7f2a6d91f1ca6c89698792aea3f188_cgraph.svg delete mode 100644 dd/d47/namespacemath_abf7f2a6d91f1ca6c89698792aea3f188_cgraph_org.svg delete mode 100644 dd/d47/namespacemath_ac5803413618fcfb922cb32c6db0fc864_cgraph.map delete mode 100644 dd/d47/namespacemath_ac5803413618fcfb922cb32c6db0fc864_cgraph.md5 delete mode 100644 dd/d47/namespacemath_ac5803413618fcfb922cb32c6db0fc864_cgraph.svg delete mode 100644 dd/d47/namespacemath_ac5803413618fcfb922cb32c6db0fc864_cgraph_org.svg delete mode 100644 dd/d47/namespacemath_ad09d59850865012a6fd95d89954c82e4_cgraph.map delete mode 100644 dd/d47/namespacemath_ad09d59850865012a6fd95d89954c82e4_cgraph.md5 delete mode 100644 dd/d47/namespacemath_ad09d59850865012a6fd95d89954c82e4_cgraph.svg delete mode 100644 dd/d47/namespacemath_ad09d59850865012a6fd95d89954c82e4_cgraph_org.svg delete mode 100644 dd/d47/namespacemath_ae413098478fa38acaac887b7654f0725_cgraph.map delete mode 100644 dd/d47/namespacemath_ae413098478fa38acaac887b7654f0725_cgraph.md5 delete mode 100644 dd/d47/namespacemath_ae413098478fa38acaac887b7654f0725_cgraph.svg delete mode 100644 dd/d47/namespacemath_ae413098478fa38acaac887b7654f0725_cgraph_org.svg delete mode 100644 dd/d65/lu__decompose_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph.map delete mode 100644 dd/d65/lu__decompose_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph.md5 delete mode 100644 dd/d65/lu__decompose_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph.svg delete mode 100644 dd/d65/lu__decompose_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph_org.svg delete mode 100644 dd/d65/lu__decompose_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph.map delete mode 100644 dd/d65/lu__decompose_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph.md5 delete mode 100644 dd/d65/lu__decompose_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph.svg delete mode 100644 dd/d65/lu__decompose_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph_org.svg delete mode 100644 dd/d65/lu__decompose_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph.map delete mode 100644 dd/d65/lu__decompose_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph.md5 delete mode 100644 dd/d65/lu__decompose_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph.svg delete mode 100644 dd/d65/lu__decompose_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph_org.svg delete mode 100644 dd/d65/lu__decompose_8cpp_a575c989afcc78e875031cd4273e62a3e_cgraph.map delete mode 100644 dd/d65/lu__decompose_8cpp_a575c989afcc78e875031cd4273e62a3e_cgraph.md5 delete mode 100644 dd/d65/lu__decompose_8cpp_a575c989afcc78e875031cd4273e62a3e_cgraph.svg delete mode 100644 dd/d65/lu__decompose_8cpp_a575c989afcc78e875031cd4273e62a3e_cgraph_org.svg create mode 100644 dd/d65/lu__decompose_8cpp_source.html delete mode 100644 dd/d89/insertion__sort__recursive_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.map delete mode 100644 dd/d89/insertion__sort__recursive_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 delete mode 100644 dd/d89/insertion__sort__recursive_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.svg delete mode 100644 dd/d89/insertion__sort__recursive_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph_org.svg delete mode 100644 dd/d89/insertion__sort__recursive_8cpp_a59914553f24088342c139645a02a8a49_cgraph.map delete mode 100644 dd/d89/insertion__sort__recursive_8cpp_a59914553f24088342c139645a02a8a49_cgraph.md5 delete mode 100644 dd/d89/insertion__sort__recursive_8cpp_a59914553f24088342c139645a02a8a49_cgraph.svg delete mode 100644 dd/d89/insertion__sort__recursive_8cpp_a59914553f24088342c139645a02a8a49_cgraph_org.svg delete mode 100644 dd/d89/insertion__sort__recursive_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 dd/d89/insertion__sort__recursive_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 dd/d89/insertion__sort__recursive_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 dd/d89/insertion__sort__recursive_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 dd/d89/insertion__sort__recursive_8cpp_source.html delete mode 100644 dd/d92/memory__game_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 dd/d92/memory__game_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 dd/d92/memory__game_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 dd/d92/memory__game_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 dd/d92/memory__game_8cpp_source.html delete mode 100644 dd/d95/classdata__structures_1_1_segment_tree_a1c5331b509d9b55bedfadf979b30dd5b_cgraph.map delete mode 100644 dd/d95/classdata__structures_1_1_segment_tree_a1c5331b509d9b55bedfadf979b30dd5b_cgraph.md5 delete mode 100644 dd/d95/classdata__structures_1_1_segment_tree_a1c5331b509d9b55bedfadf979b30dd5b_cgraph.svg delete mode 100644 dd/d95/classdata__structures_1_1_segment_tree_a1c5331b509d9b55bedfadf979b30dd5b_cgraph_org.svg delete mode 100644 dd/d95/classdata__structures_1_1_segment_tree_a2a04f1832c5ce86def50c3021b2ab6b1_cgraph.map delete mode 100644 dd/d95/classdata__structures_1_1_segment_tree_a2a04f1832c5ce86def50c3021b2ab6b1_cgraph.md5 delete mode 100644 dd/d95/classdata__structures_1_1_segment_tree_a2a04f1832c5ce86def50c3021b2ab6b1_cgraph.svg delete mode 100644 dd/d95/classdata__structures_1_1_segment_tree_a2a04f1832c5ce86def50c3021b2ab6b1_cgraph_org.svg delete mode 100644 dd/d95/classdata__structures_1_1_segment_tree_a8fecc48e8e3f6f5f6e728495a4282e52_cgraph.map delete mode 100644 dd/d95/classdata__structures_1_1_segment_tree_a8fecc48e8e3f6f5f6e728495a4282e52_cgraph.md5 delete mode 100644 dd/d95/classdata__structures_1_1_segment_tree_a8fecc48e8e3f6f5f6e728495a4282e52_cgraph.svg delete mode 100644 dd/d95/classdata__structures_1_1_segment_tree_a8fecc48e8e3f6f5f6e728495a4282e52_cgraph_org.svg delete mode 100644 dd/d95/classdata__structures_1_1_segment_tree_ad0e78179ab979ae2bc4304bdc181db17_cgraph.map delete mode 100644 dd/d95/classdata__structures_1_1_segment_tree_ad0e78179ab979ae2bc4304bdc181db17_cgraph.md5 delete mode 100644 dd/d95/classdata__structures_1_1_segment_tree_ad0e78179ab979ae2bc4304bdc181db17_cgraph.svg delete mode 100644 dd/d95/classdata__structures_1_1_segment_tree_ad0e78179ab979ae2bc4304bdc181db17_cgraph_org.svg delete mode 100644 dd/d9a/namespacegreedy__algorithms_1_1stable__matching_a6d7e84df47dcf19e88f95f8f9040306c_cgraph.map delete mode 100644 dd/d9a/namespacegreedy__algorithms_1_1stable__matching_a6d7e84df47dcf19e88f95f8f9040306c_cgraph.md5 delete mode 100644 dd/d9a/namespacegreedy__algorithms_1_1stable__matching_a6d7e84df47dcf19e88f95f8f9040306c_cgraph.svg delete mode 100644 dd/d9a/namespacegreedy__algorithms_1_1stable__matching_a6d7e84df47dcf19e88f95f8f9040306c_cgraph_org.svg delete mode 100644 dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle_a1802cf6197a255055cb734d626abc101_cgraph.map delete mode 100644 dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle_a1802cf6197a255055cb734d626abc101_cgraph.md5 delete mode 100644 dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle_a1802cf6197a255055cb734d626abc101_cgraph.svg delete mode 100644 dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle_a1802cf6197a255055cb734d626abc101_cgraph_org.svg delete mode 100644 dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle_a26a976171392d257ca0f814ed73e0658_cgraph.map delete mode 100644 dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle_a26a976171392d257ca0f814ed73e0658_cgraph.md5 delete mode 100644 dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle_a26a976171392d257ca0f814ed73e0658_cgraph.svg delete mode 100644 dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle_a26a976171392d257ca0f814ed73e0658_cgraph_org.svg delete mode 100644 dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle_aa5c0486c7f29f323a2aced2ab33af420_cgraph.map delete mode 100644 dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle_aa5c0486c7f29f323a2aced2ab33af420_cgraph.md5 delete mode 100644 dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle_aa5c0486c7f29f323a2aced2ab33af420_cgraph.svg delete mode 100644 dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle_aa5c0486c7f29f323a2aced2ab33af420_cgraph_org.svg delete mode 100644 dd/da8/pigeonhole__sort_8cpp_a34b8683a2b429de5cce57e6d733ec817_cgraph.map delete mode 100644 dd/da8/pigeonhole__sort_8cpp_a34b8683a2b429de5cce57e6d733ec817_cgraph.md5 delete mode 100644 dd/da8/pigeonhole__sort_8cpp_a34b8683a2b429de5cce57e6d733ec817_cgraph.svg delete mode 100644 dd/da8/pigeonhole__sort_8cpp_a34b8683a2b429de5cce57e6d733ec817_cgraph_org.svg delete mode 100644 dd/da8/pigeonhole__sort_8cpp_a458410412185a5f09199deaff7157a8d_cgraph.map delete mode 100644 dd/da8/pigeonhole__sort_8cpp_a458410412185a5f09199deaff7157a8d_cgraph.md5 delete mode 100644 dd/da8/pigeonhole__sort_8cpp_a458410412185a5f09199deaff7157a8d_cgraph.svg delete mode 100644 dd/da8/pigeonhole__sort_8cpp_a458410412185a5f09199deaff7157a8d_cgraph_org.svg delete mode 100644 dd/da8/pigeonhole__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 dd/da8/pigeonhole__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 dd/da8/pigeonhole__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 dd/da8/pigeonhole__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg delete mode 100644 dd/da8/pigeonhole__sort_8cpp_af31ec5409537703d9c8a47350386b32a_cgraph.map delete mode 100644 dd/da8/pigeonhole__sort_8cpp_af31ec5409537703d9c8a47350386b32a_cgraph.md5 delete mode 100644 dd/da8/pigeonhole__sort_8cpp_af31ec5409537703d9c8a47350386b32a_cgraph.svg delete mode 100644 dd/da8/pigeonhole__sort_8cpp_af31ec5409537703d9c8a47350386b32a_cgraph_org.svg create mode 100644 dd/da8/pigeonhole__sort_8cpp_source.html create mode 100644 dd/dc3/is__graph__bipartite2_8cpp_source.html delete mode 100644 dd/dca/class_f_c_f_s_a8fbfe4d85f7576b4a7aade07d29fbd69_cgraph.map delete mode 100644 dd/dca/class_f_c_f_s_a8fbfe4d85f7576b4a7aade07d29fbd69_cgraph.md5 delete mode 100644 dd/dca/class_f_c_f_s_a8fbfe4d85f7576b4a7aade07d29fbd69_cgraph.svg delete mode 100644 dd/dca/class_f_c_f_s_a8fbfe4d85f7576b4a7aade07d29fbd69_cgraph_org.svg delete mode 100644 dd/dca/class_f_c_f_s_abb361a612b18bb189aa6d3c49288b793_cgraph.map delete mode 100644 dd/dca/class_f_c_f_s_abb361a612b18bb189aa6d3c49288b793_cgraph.md5 delete mode 100644 dd/dca/class_f_c_f_s_abb361a612b18bb189aa6d3c49288b793_cgraph.svg delete mode 100644 dd/dca/class_f_c_f_s_abb361a612b18bb189aa6d3c49288b793_cgraph_org.svg create mode 100644 dd/dd5/swap__sort_8cpp_source.html delete mode 100644 dd/de1/classothers_1_1recursive__tree__traversals_1_1_b_t_a6397b78ceec18cb1959a1d159e134da5_cgraph.map delete mode 100644 dd/de1/classothers_1_1recursive__tree__traversals_1_1_b_t_a6397b78ceec18cb1959a1d159e134da5_cgraph.md5 delete mode 100644 dd/de1/classothers_1_1recursive__tree__traversals_1_1_b_t_a6397b78ceec18cb1959a1d159e134da5_cgraph.svg delete mode 100644 dd/de1/classothers_1_1recursive__tree__traversals_1_1_b_t_a6397b78ceec18cb1959a1d159e134da5_cgraph_org.svg delete mode 100644 dd/de1/classothers_1_1recursive__tree__traversals_1_1_b_t_ac9404b65f407f631915515fa2e08a40c_cgraph.map delete mode 100644 dd/de1/classothers_1_1recursive__tree__traversals_1_1_b_t_ac9404b65f407f631915515fa2e08a40c_cgraph.md5 delete mode 100644 dd/de1/classothers_1_1recursive__tree__traversals_1_1_b_t_ac9404b65f407f631915515fa2e08a40c_cgraph.svg delete mode 100644 dd/de1/classothers_1_1recursive__tree__traversals_1_1_b_t_ac9404b65f407f631915515fa2e08a40c_cgraph_org.svg create mode 100644 dd/dec/a__star__search_8cpp_source.html delete mode 100644 de/d00/classgraph_1_1is__graph__bipartite_1_1_graph_a6aef65b40347c4606662cad4dd2e14d3_cgraph.map delete mode 100644 de/d00/classgraph_1_1is__graph__bipartite_1_1_graph_a6aef65b40347c4606662cad4dd2e14d3_cgraph.md5 delete mode 100644 de/d00/classgraph_1_1is__graph__bipartite_1_1_graph_a6aef65b40347c4606662cad4dd2e14d3_cgraph.svg delete mode 100644 de/d00/classgraph_1_1is__graph__bipartite_1_1_graph_a6aef65b40347c4606662cad4dd2e14d3_cgraph_org.svg delete mode 100644 de/d00/classgraph_1_1is__graph__bipartite_1_1_graph_a816cda7e563198f778fd32e03992763b_cgraph.map delete mode 100644 de/d00/classgraph_1_1is__graph__bipartite_1_1_graph_a816cda7e563198f778fd32e03992763b_cgraph.md5 delete mode 100644 de/d00/classgraph_1_1is__graph__bipartite_1_1_graph_a816cda7e563198f778fd32e03992763b_cgraph.svg delete mode 100644 de/d00/classgraph_1_1is__graph__bipartite_1_1_graph_a816cda7e563198f778fd32e03992763b_cgraph_org.svg delete mode 100644 de/d07/cycle__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map delete mode 100644 de/d07/cycle__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 delete mode 100644 de/d07/cycle__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg delete mode 100644 de/d07/cycle__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg delete mode 100644 de/d07/cycle__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 de/d07/cycle__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 de/d07/cycle__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 de/d07/cycle__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg delete mode 100644 de/d07/cycle__sort_8cpp_ae79a9d247691fce0d655fce75f1c04fa_cgraph.map delete mode 100644 de/d07/cycle__sort_8cpp_ae79a9d247691fce0d655fce75f1c04fa_cgraph.md5 delete mode 100644 de/d07/cycle__sort_8cpp_ae79a9d247691fce0d655fce75f1c04fa_cgraph.svg delete mode 100644 de/d07/cycle__sort_8cpp_ae79a9d247691fce0d655fce75f1c04fa_cgraph_org.svg create mode 100644 de/d07/cycle__sort_8cpp_source.html delete mode 100644 de/d0d/classrange__queries_1_1fenwick__tree_a0914a4b1401a7c427de91c92885724fe_cgraph.map delete mode 100644 de/d0d/classrange__queries_1_1fenwick__tree_a0914a4b1401a7c427de91c92885724fe_cgraph.md5 delete mode 100644 de/d0d/classrange__queries_1_1fenwick__tree_a0914a4b1401a7c427de91c92885724fe_cgraph.svg delete mode 100644 de/d0d/classrange__queries_1_1fenwick__tree_a0914a4b1401a7c427de91c92885724fe_cgraph_org.svg delete mode 100644 de/d0d/classrange__queries_1_1fenwick__tree_a19dea5e88bbd7683a719030623315de9_cgraph.map delete mode 100644 de/d0d/classrange__queries_1_1fenwick__tree_a19dea5e88bbd7683a719030623315de9_cgraph.md5 delete mode 100644 de/d0d/classrange__queries_1_1fenwick__tree_a19dea5e88bbd7683a719030623315de9_cgraph.svg delete mode 100644 de/d0d/classrange__queries_1_1fenwick__tree_a19dea5e88bbd7683a719030623315de9_cgraph_org.svg delete mode 100644 de/d0d/classrange__queries_1_1fenwick__tree_a1fa0559d987fde0044761b17b35f5abd_cgraph.map delete mode 100644 de/d0d/classrange__queries_1_1fenwick__tree_a1fa0559d987fde0044761b17b35f5abd_cgraph.md5 delete mode 100644 de/d0d/classrange__queries_1_1fenwick__tree_a1fa0559d987fde0044761b17b35f5abd_cgraph.svg delete mode 100644 de/d0d/classrange__queries_1_1fenwick__tree_a1fa0559d987fde0044761b17b35f5abd_cgraph_org.svg delete mode 100644 de/d0d/classrange__queries_1_1fenwick__tree_a5ea37183524553bbf2234a36a44a4b9a_cgraph.map delete mode 100644 de/d0d/classrange__queries_1_1fenwick__tree_a5ea37183524553bbf2234a36a44a4b9a_cgraph.md5 delete mode 100644 de/d0d/classrange__queries_1_1fenwick__tree_a5ea37183524553bbf2234a36a44a4b9a_cgraph.svg delete mode 100644 de/d0d/classrange__queries_1_1fenwick__tree_a5ea37183524553bbf2234a36a44a4b9a_cgraph_org.svg delete mode 100644 de/d0d/classrange__queries_1_1fenwick__tree_aef7ba885b91af093e9e514358fa0f36c_cgraph.map delete mode 100644 de/d0d/classrange__queries_1_1fenwick__tree_aef7ba885b91af093e9e514358fa0f36c_cgraph.md5 delete mode 100644 de/d0d/classrange__queries_1_1fenwick__tree_aef7ba885b91af093e9e514358fa0f36c_cgraph.svg delete mode 100644 de/d0d/classrange__queries_1_1fenwick__tree_aef7ba885b91af093e9e514358fa0f36c_cgraph_org.svg delete mode 100644 de/d0d/fibonacci__search_8cpp_a0bc61b3903d9a53061bf31e5d110fe61_cgraph.map delete mode 100644 de/d0d/fibonacci__search_8cpp_a0bc61b3903d9a53061bf31e5d110fe61_cgraph.md5 delete mode 100644 de/d0d/fibonacci__search_8cpp_a0bc61b3903d9a53061bf31e5d110fe61_cgraph.svg delete mode 100644 de/d0d/fibonacci__search_8cpp_a0bc61b3903d9a53061bf31e5d110fe61_cgraph_org.svg delete mode 100644 de/d0d/fibonacci__search_8cpp_a2aa09bef74ee063c1331de0883af4f4f_cgraph.map delete mode 100644 de/d0d/fibonacci__search_8cpp_a2aa09bef74ee063c1331de0883af4f4f_cgraph.md5 delete mode 100644 de/d0d/fibonacci__search_8cpp_a2aa09bef74ee063c1331de0883af4f4f_cgraph.svg delete mode 100644 de/d0d/fibonacci__search_8cpp_a2aa09bef74ee063c1331de0883af4f4f_cgraph_org.svg delete mode 100644 de/d0d/fibonacci__search_8cpp_a5e144326104e57a3808aed7eb098db0d_cgraph.map delete mode 100644 de/d0d/fibonacci__search_8cpp_a5e144326104e57a3808aed7eb098db0d_cgraph.md5 delete mode 100644 de/d0d/fibonacci__search_8cpp_a5e144326104e57a3808aed7eb098db0d_cgraph.svg delete mode 100644 de/d0d/fibonacci__search_8cpp_a5e144326104e57a3808aed7eb098db0d_cgraph_org.svg delete mode 100644 de/d0d/fibonacci__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 de/d0d/fibonacci__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 de/d0d/fibonacci__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 de/d0d/fibonacci__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 de/d0d/fibonacci__search_8cpp_source.html create mode 100644 de/d1e/armstrong__number_8cpp_source.html delete mode 100644 de/d23/disjoint__set_8cpp_a2fb0a7cd26a477e2d48ba7e0118bc985_cgraph.map delete mode 100644 de/d23/disjoint__set_8cpp_a2fb0a7cd26a477e2d48ba7e0118bc985_cgraph.md5 delete mode 100644 de/d23/disjoint__set_8cpp_a2fb0a7cd26a477e2d48ba7e0118bc985_cgraph.svg delete mode 100644 de/d23/disjoint__set_8cpp_a2fb0a7cd26a477e2d48ba7e0118bc985_cgraph_org.svg delete mode 100644 de/d23/disjoint__set_8cpp_a34b9ead0608e676d9ae5188672427cc8_cgraph.map delete mode 100644 de/d23/disjoint__set_8cpp_a34b9ead0608e676d9ae5188672427cc8_cgraph.md5 delete mode 100644 de/d23/disjoint__set_8cpp_a34b9ead0608e676d9ae5188672427cc8_cgraph.svg delete mode 100644 de/d23/disjoint__set_8cpp_a34b9ead0608e676d9ae5188672427cc8_cgraph_org.svg delete mode 100644 de/d23/disjoint__set_8cpp_a44481bb75386fbb0f958a388d4b9f757_cgraph.map delete mode 100644 de/d23/disjoint__set_8cpp_a44481bb75386fbb0f958a388d4b9f757_cgraph.md5 delete mode 100644 de/d23/disjoint__set_8cpp_a44481bb75386fbb0f958a388d4b9f757_cgraph.svg delete mode 100644 de/d23/disjoint__set_8cpp_a44481bb75386fbb0f958a388d4b9f757_cgraph_org.svg delete mode 100644 de/d23/disjoint__set_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 de/d23/disjoint__set_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 de/d23/disjoint__set_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 de/d23/disjoint__set_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 de/d23/disjoint__set_8cpp_source.html delete mode 100644 de/d33/circular__linked__list_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map delete mode 100644 de/d33/circular__linked__list_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 delete mode 100644 de/d33/circular__linked__list_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg delete mode 100644 de/d33/circular__linked__list_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg delete mode 100644 de/d33/circular__linked__list_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 de/d33/circular__linked__list_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 de/d33/circular__linked__list_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 de/d33/circular__linked__list_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 de/d33/circular__linked__list_8cpp_source.html create mode 100644 de/d40/shell__sort_8cpp_source.html delete mode 100644 de/d47/string__fibonacci_8cpp_a28052eee05d43c2ebc5147c52bd50c35_cgraph.map delete mode 100644 de/d47/string__fibonacci_8cpp_a28052eee05d43c2ebc5147c52bd50c35_cgraph.md5 delete mode 100644 de/d47/string__fibonacci_8cpp_a28052eee05d43c2ebc5147c52bd50c35_cgraph.svg delete mode 100644 de/d47/string__fibonacci_8cpp_a28052eee05d43c2ebc5147c52bd50c35_cgraph_org.svg delete mode 100644 de/d47/string__fibonacci_8cpp_ad8055ee368a5d5b24de01bdde6bf8fca_cgraph.map delete mode 100644 de/d47/string__fibonacci_8cpp_ad8055ee368a5d5b24de01bdde6bf8fca_cgraph.md5 delete mode 100644 de/d47/string__fibonacci_8cpp_ad8055ee368a5d5b24de01bdde6bf8fca_cgraph.svg delete mode 100644 de/d47/string__fibonacci_8cpp_ad8055ee368a5d5b24de01bdde6bf8fca_cgraph_org.svg delete mode 100644 de/d47/string__fibonacci_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 de/d47/string__fibonacci_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 de/d47/string__fibonacci_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 de/d47/string__fibonacci_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 de/d47/string__fibonacci_8cpp_source.html create mode 100644 de/d5b/queue__using__linkedlist_8cpp_source.html create mode 100644 de/d6a/knuth__morris__pratt_8cpp_source.html delete mode 100644 de/d72/geometric__dist_8cpp_a70fd1cc5c3a2813f28683dc75dcd65b6_cgraph.map delete mode 100644 de/d72/geometric__dist_8cpp_a70fd1cc5c3a2813f28683dc75dcd65b6_cgraph.md5 delete mode 100644 de/d72/geometric__dist_8cpp_a70fd1cc5c3a2813f28683dc75dcd65b6_cgraph.svg delete mode 100644 de/d72/geometric__dist_8cpp_a70fd1cc5c3a2813f28683dc75dcd65b6_cgraph_org.svg delete mode 100644 de/d72/geometric__dist_8cpp_a82964ca6180507deb5fafc71050012ba_cgraph.map delete mode 100644 de/d72/geometric__dist_8cpp_a82964ca6180507deb5fafc71050012ba_cgraph.md5 delete mode 100644 de/d72/geometric__dist_8cpp_a82964ca6180507deb5fafc71050012ba_cgraph.svg delete mode 100644 de/d72/geometric__dist_8cpp_a82964ca6180507deb5fafc71050012ba_cgraph_org.svg delete mode 100644 de/d72/geometric__dist_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map delete mode 100644 de/d72/geometric__dist_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 delete mode 100644 de/d72/geometric__dist_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg delete mode 100644 de/d72/geometric__dist_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg delete mode 100644 de/d72/geometric__dist_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 de/d72/geometric__dist_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 de/d72/geometric__dist_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 de/d72/geometric__dist_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 de/d72/geometric__dist_8cpp_source.html delete mode 100644 de/d75/qr__eigen__values_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph.map delete mode 100644 de/d75/qr__eigen__values_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph.md5 delete mode 100644 de/d75/qr__eigen__values_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph.svg delete mode 100644 de/d75/qr__eigen__values_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph_org.svg delete mode 100644 de/d75/qr__eigen__values_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph.map delete mode 100644 de/d75/qr__eigen__values_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph.md5 delete mode 100644 de/d75/qr__eigen__values_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph.svg delete mode 100644 de/d75/qr__eigen__values_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph_org.svg delete mode 100644 de/d75/qr__eigen__values_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph.map delete mode 100644 de/d75/qr__eigen__values_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph.md5 delete mode 100644 de/d75/qr__eigen__values_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph.svg delete mode 100644 de/d75/qr__eigen__values_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph_org.svg delete mode 100644 de/d75/qr__eigen__values_8cpp_a9bbf469d5525a816b0d6ca812119093d_cgraph.map delete mode 100644 de/d75/qr__eigen__values_8cpp_a9bbf469d5525a816b0d6ca812119093d_cgraph.md5 delete mode 100644 de/d75/qr__eigen__values_8cpp_a9bbf469d5525a816b0d6ca812119093d_cgraph.svg delete mode 100644 de/d75/qr__eigen__values_8cpp_a9bbf469d5525a816b0d6ca812119093d_cgraph_org.svg create mode 100644 de/d75/qr__eigen__values_8cpp_source.html create mode 100644 de/d77/tree__height_8cpp_source.html create mode 100644 de/d79/graham__scan__algorithm_8cpp_source.html delete mode 100644 de/d7b/merge__insertion__sort_8cpp_a0cba4fbf287ab8cb978ed7f8fef886b1_cgraph.map delete mode 100644 de/d7b/merge__insertion__sort_8cpp_a0cba4fbf287ab8cb978ed7f8fef886b1_cgraph.md5 delete mode 100644 de/d7b/merge__insertion__sort_8cpp_a0cba4fbf287ab8cb978ed7f8fef886b1_cgraph.svg delete mode 100644 de/d7b/merge__insertion__sort_8cpp_a0cba4fbf287ab8cb978ed7f8fef886b1_cgraph_org.svg delete mode 100644 de/d7b/merge__insertion__sort_8cpp_a7161278f18e83b671c6454b139cc5674_cgraph.map delete mode 100644 de/d7b/merge__insertion__sort_8cpp_a7161278f18e83b671c6454b139cc5674_cgraph.md5 delete mode 100644 de/d7b/merge__insertion__sort_8cpp_a7161278f18e83b671c6454b139cc5674_cgraph.svg delete mode 100644 de/d7b/merge__insertion__sort_8cpp_a7161278f18e83b671c6454b139cc5674_cgraph_org.svg delete mode 100644 de/d7b/merge__insertion__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map delete mode 100644 de/d7b/merge__insertion__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 delete mode 100644 de/d7b/merge__insertion__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg delete mode 100644 de/d7b/merge__insertion__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg delete mode 100644 de/d7b/merge__insertion__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 de/d7b/merge__insertion__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 de/d7b/merge__insertion__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 de/d7b/merge__insertion__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg delete mode 100644 de/d7b/merge__insertion__sort_8cpp_af4de4067a9a866ffd985c5b5055ccedf_cgraph.map delete mode 100644 de/d7b/merge__insertion__sort_8cpp_af4de4067a9a866ffd985c5b5055ccedf_cgraph.md5 delete mode 100644 de/d7b/merge__insertion__sort_8cpp_af4de4067a9a866ffd985c5b5055ccedf_cgraph.svg delete mode 100644 de/d7b/merge__insertion__sort_8cpp_af4de4067a9a866ffd985c5b5055ccedf_cgraph_org.svg create mode 100644 de/d7b/merge__insertion__sort_8cpp_source.html delete mode 100644 de/d85/decimal__to__roman__numeral_8cpp_a003fb4e1b08279fe4cd50fbbc2782c2d_cgraph.map delete mode 100644 de/d85/decimal__to__roman__numeral_8cpp_a003fb4e1b08279fe4cd50fbbc2782c2d_cgraph.md5 delete mode 100644 de/d85/decimal__to__roman__numeral_8cpp_a003fb4e1b08279fe4cd50fbbc2782c2d_cgraph.svg delete mode 100644 de/d85/decimal__to__roman__numeral_8cpp_a003fb4e1b08279fe4cd50fbbc2782c2d_cgraph_org.svg delete mode 100644 de/d85/decimal__to__roman__numeral_8cpp_a214743638eff1336f835310049aef979_cgraph.map delete mode 100644 de/d85/decimal__to__roman__numeral_8cpp_a214743638eff1336f835310049aef979_cgraph.md5 delete mode 100644 de/d85/decimal__to__roman__numeral_8cpp_a214743638eff1336f835310049aef979_cgraph.svg delete mode 100644 de/d85/decimal__to__roman__numeral_8cpp_a214743638eff1336f835310049aef979_cgraph_org.svg delete mode 100644 de/d85/decimal__to__roman__numeral_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 de/d85/decimal__to__roman__numeral_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 de/d85/decimal__to__roman__numeral_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 de/d85/decimal__to__roman__numeral_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 de/d85/decimal__to__roman__numeral_8cpp_source.html delete mode 100644 de/d88/travelling__salesman__problem_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.map delete mode 100644 de/d88/travelling__salesman__problem_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 delete mode 100644 de/d88/travelling__salesman__problem_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.svg delete mode 100644 de/d88/travelling__salesman__problem_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph_org.svg delete mode 100644 de/d88/travelling__salesman__problem_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 de/d88/travelling__salesman__problem_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 de/d88/travelling__salesman__problem_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 de/d88/travelling__salesman__problem_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 de/d88/travelling__salesman__problem_8cpp_source.html create mode 100644 de/d8c/partition__problem_8cpp_source.html delete mode 100644 de/d99/aliquot__sum_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map delete mode 100644 de/d99/aliquot__sum_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 delete mode 100644 de/d99/aliquot__sum_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg delete mode 100644 de/d99/aliquot__sum_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg delete mode 100644 de/d99/aliquot__sum_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 de/d99/aliquot__sum_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 de/d99/aliquot__sum_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 de/d99/aliquot__sum_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 de/d99/aliquot__sum_8cpp_source.html delete mode 100644 de/d9b/prime__numbers_8cpp_a9575f3a51eeb8a57d657b3db6a4b441a_cgraph.map delete mode 100644 de/d9b/prime__numbers_8cpp_a9575f3a51eeb8a57d657b3db6a4b441a_cgraph.md5 delete mode 100644 de/d9b/prime__numbers_8cpp_a9575f3a51eeb8a57d657b3db6a4b441a_cgraph.svg delete mode 100644 de/d9b/prime__numbers_8cpp_a9575f3a51eeb8a57d657b3db6a4b441a_cgraph_org.svg delete mode 100644 de/d9b/prime__numbers_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 de/d9b/prime__numbers_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 de/d9b/prime__numbers_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 de/d9b/prime__numbers_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 de/d9b/prime__numbers_8cpp_source.html delete mode 100644 de/dab/ncr__modulo__p_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.map delete mode 100644 de/dab/ncr__modulo__p_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 delete mode 100644 de/dab/ncr__modulo__p_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.svg delete mode 100644 de/dab/ncr__modulo__p_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph_org.svg delete mode 100644 de/dab/ncr__modulo__p_8cpp_a6c7bfe3bdaa086d32261a5c5584d0fa9_cgraph.map delete mode 100644 de/dab/ncr__modulo__p_8cpp_a6c7bfe3bdaa086d32261a5c5584d0fa9_cgraph.md5 delete mode 100644 de/dab/ncr__modulo__p_8cpp_a6c7bfe3bdaa086d32261a5c5584d0fa9_cgraph.svg delete mode 100644 de/dab/ncr__modulo__p_8cpp_a6c7bfe3bdaa086d32261a5c5584d0fa9_cgraph_org.svg delete mode 100644 de/dab/ncr__modulo__p_8cpp_a9010ad5669d31449c3bf3271ab5ebc86_cgraph.map delete mode 100644 de/dab/ncr__modulo__p_8cpp_a9010ad5669d31449c3bf3271ab5ebc86_cgraph.md5 delete mode 100644 de/dab/ncr__modulo__p_8cpp_a9010ad5669d31449c3bf3271ab5ebc86_cgraph.svg delete mode 100644 de/dab/ncr__modulo__p_8cpp_a9010ad5669d31449c3bf3271ab5ebc86_cgraph_org.svg create mode 100644 de/dab/ncr__modulo__p_8cpp_source.html delete mode 100644 de/db6/a1z26__cipher_8cpp_a0a78954e96c862430904ee3e64623c38_cgraph.map delete mode 100644 de/db6/a1z26__cipher_8cpp_a0a78954e96c862430904ee3e64623c38_cgraph.md5 delete mode 100644 de/db6/a1z26__cipher_8cpp_a0a78954e96c862430904ee3e64623c38_cgraph.svg delete mode 100644 de/db6/a1z26__cipher_8cpp_a0a78954e96c862430904ee3e64623c38_cgraph_org.svg delete mode 100644 de/db6/a1z26__cipher_8cpp_a77a6b827a0b9c7aca2d705811459d744_cgraph.map delete mode 100644 de/db6/a1z26__cipher_8cpp_a77a6b827a0b9c7aca2d705811459d744_cgraph.md5 delete mode 100644 de/db6/a1z26__cipher_8cpp_a77a6b827a0b9c7aca2d705811459d744_cgraph.svg delete mode 100644 de/db6/a1z26__cipher_8cpp_a77a6b827a0b9c7aca2d705811459d744_cgraph_org.svg delete mode 100644 de/db6/a1z26__cipher_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map delete mode 100644 de/db6/a1z26__cipher_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 delete mode 100644 de/db6/a1z26__cipher_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg delete mode 100644 de/db6/a1z26__cipher_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg delete mode 100644 de/db6/a1z26__cipher_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 de/db6/a1z26__cipher_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 de/db6/a1z26__cipher_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 de/db6/a1z26__cipher_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 de/db6/a1z26__cipher_8cpp_source.html create mode 100644 de/dc3/binaryheap_8cpp_source.html delete mode 100644 de/dc3/fibonacci__sum_8cpp_a493fbaa7a94e3b7ca573111237bb3742_cgraph.map delete mode 100644 de/dc3/fibonacci__sum_8cpp_a493fbaa7a94e3b7ca573111237bb3742_cgraph.md5 delete mode 100644 de/dc3/fibonacci__sum_8cpp_a493fbaa7a94e3b7ca573111237bb3742_cgraph.svg delete mode 100644 de/dc3/fibonacci__sum_8cpp_a493fbaa7a94e3b7ca573111237bb3742_cgraph_org.svg delete mode 100644 de/dc3/fibonacci__sum_8cpp_a7cf5feaf168b88e74544da59ed830311_cgraph.map delete mode 100644 de/dc3/fibonacci__sum_8cpp_a7cf5feaf168b88e74544da59ed830311_cgraph.md5 delete mode 100644 de/dc3/fibonacci__sum_8cpp_a7cf5feaf168b88e74544da59ed830311_cgraph.svg delete mode 100644 de/dc3/fibonacci__sum_8cpp_a7cf5feaf168b88e74544da59ed830311_cgraph_org.svg delete mode 100644 de/dc3/fibonacci__sum_8cpp_a9c83cca09a3e4ff2a25c816a9303448e_cgraph.map delete mode 100644 de/dc3/fibonacci__sum_8cpp_a9c83cca09a3e4ff2a25c816a9303448e_cgraph.md5 delete mode 100644 de/dc3/fibonacci__sum_8cpp_a9c83cca09a3e4ff2a25c816a9303448e_cgraph.svg delete mode 100644 de/dc3/fibonacci__sum_8cpp_a9c83cca09a3e4ff2a25c816a9303448e_cgraph_org.svg delete mode 100644 de/dc3/fibonacci__sum_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map delete mode 100644 de/dc3/fibonacci__sum_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 delete mode 100644 de/dc3/fibonacci__sum_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg delete mode 100644 de/dc3/fibonacci__sum_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg delete mode 100644 de/dc3/fibonacci__sum_8cpp_aadb40ac4c74a7efc0680b83eeee138aa_cgraph.map delete mode 100644 de/dc3/fibonacci__sum_8cpp_aadb40ac4c74a7efc0680b83eeee138aa_cgraph.md5 delete mode 100644 de/dc3/fibonacci__sum_8cpp_aadb40ac4c74a7efc0680b83eeee138aa_cgraph.svg delete mode 100644 de/dc3/fibonacci__sum_8cpp_aadb40ac4c74a7efc0680b83eeee138aa_cgraph_org.svg delete mode 100644 de/dc3/fibonacci__sum_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 de/dc3/fibonacci__sum_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 de/dc3/fibonacci__sum_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 de/dc3/fibonacci__sum_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 de/dc3/fibonacci__sum_8cpp_source.html delete mode 100644 de/dc5/intersection__of__two__arrays_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map delete mode 100644 de/dc5/intersection__of__two__arrays_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 delete mode 100644 de/dc5/intersection__of__two__arrays_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg delete mode 100644 de/dc5/intersection__of__two__arrays_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg delete mode 100644 de/dc5/intersection__of__two__arrays_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 de/dc5/intersection__of__two__arrays_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 de/dc5/intersection__of__two__arrays_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 de/dc5/intersection__of__two__arrays_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 de/dc5/intersection__of__two__arrays_8cpp_source.html delete mode 100644 de/dcd/kadanes3_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map delete mode 100644 de/dcd/kadanes3_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 delete mode 100644 de/dcd/kadanes3_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg delete mode 100644 de/dcd/kadanes3_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg delete mode 100644 de/dcd/kadanes3_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 de/dcd/kadanes3_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 de/dcd/kadanes3_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 de/dcd/kadanes3_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 de/dcd/kadanes3_8cpp_source.html delete mode 100644 de/dcf/binary__exponent_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 de/dcf/binary__exponent_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 de/dcf/binary__exponent_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 de/dcf/binary__exponent_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg delete mode 100644 de/dcf/binary__exponent_8cpp_aeb48dce0725e63d19147944f41843c73_cgraph.map delete mode 100644 de/dcf/binary__exponent_8cpp_aeb48dce0725e63d19147944f41843c73_cgraph.md5 delete mode 100644 de/dcf/binary__exponent_8cpp_aeb48dce0725e63d19147944f41843c73_cgraph.svg delete mode 100644 de/dcf/binary__exponent_8cpp_aeb48dce0725e63d19147944f41843c73_cgraph_org.svg create mode 100644 de/dcf/binary__exponent_8cpp_source.html delete mode 100644 de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree_a1c0d27198372b36ef71bc58af8336b9c_cgraph.map delete mode 100644 de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree_a1c0d27198372b36ef71bc58af8336b9c_cgraph.md5 delete mode 100644 de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree_a1c0d27198372b36ef71bc58af8336b9c_cgraph.svg delete mode 100644 de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree_a1c0d27198372b36ef71bc58af8336b9c_cgraph_org.svg delete mode 100644 de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree_a2e683b271d8d5cd63e0d09cf8aaa325c_cgraph.map delete mode 100644 de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree_a2e683b271d8d5cd63e0d09cf8aaa325c_cgraph.md5 delete mode 100644 de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree_a2e683b271d8d5cd63e0d09cf8aaa325c_cgraph.svg delete mode 100644 de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree_a2e683b271d8d5cd63e0d09cf8aaa325c_cgraph_org.svg delete mode 100644 de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree_a534645d1aabdf1a7e5897c85376f173d_cgraph.map delete mode 100644 de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree_a534645d1aabdf1a7e5897c85376f173d_cgraph.md5 delete mode 100644 de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree_a534645d1aabdf1a7e5897c85376f173d_cgraph.svg delete mode 100644 de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree_a534645d1aabdf1a7e5897c85376f173d_cgraph_org.svg delete mode 100644 de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree_a5cf972a2c994a4fa1a89fc77bd5ad503_cgraph.map delete mode 100644 de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree_a5cf972a2c994a4fa1a89fc77bd5ad503_cgraph.md5 delete mode 100644 de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree_a5cf972a2c994a4fa1a89fc77bd5ad503_cgraph.svg delete mode 100644 de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree_a5cf972a2c994a4fa1a89fc77bd5ad503_cgraph_org.svg delete mode 100644 de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree_adb2b6be741b0500ee75d89b6d06b5d50_cgraph.map delete mode 100644 de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree_adb2b6be741b0500ee75d89b6d06b5d50_cgraph.md5 delete mode 100644 de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree_adb2b6be741b0500ee75d89b6d06b5d50_cgraph.svg delete mode 100644 de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree_adb2b6be741b0500ee75d89b6d06b5d50_cgraph_org.svg delete mode 100644 de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree_af6f974381f523fdb981fc2d843bbf4a1_cgraph.map delete mode 100644 de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree_af6f974381f523fdb981fc2d843bbf4a1_cgraph.md5 delete mode 100644 de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree_af6f974381f523fdb981fc2d843bbf4a1_cgraph.svg delete mode 100644 de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree_af6f974381f523fdb981fc2d843bbf4a1_cgraph_org.svg delete mode 100644 de/dd1/segment__tree_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map delete mode 100644 de/dd1/segment__tree_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 delete mode 100644 de/dd1/segment__tree_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg delete mode 100644 de/dd1/segment__tree_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg delete mode 100644 de/dd1/segment__tree_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 de/dd1/segment__tree_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 de/dd1/segment__tree_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 de/dd1/segment__tree_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 de/dd1/segment__tree_8cpp_source.html delete mode 100644 de/dd3/newton__raphson__method_8cpp_a2003b5b2dcfff0769b957ab5c968b03d_cgraph.map delete mode 100644 de/dd3/newton__raphson__method_8cpp_a2003b5b2dcfff0769b957ab5c968b03d_cgraph.md5 delete mode 100644 de/dd3/newton__raphson__method_8cpp_a2003b5b2dcfff0769b957ab5c968b03d_cgraph.svg delete mode 100644 de/dd3/newton__raphson__method_8cpp_a2003b5b2dcfff0769b957ab5c968b03d_cgraph_org.svg delete mode 100644 de/dd3/newton__raphson__method_8cpp_a3d3f7f41977394680af6ebbed96f3386_cgraph.map delete mode 100644 de/dd3/newton__raphson__method_8cpp_a3d3f7f41977394680af6ebbed96f3386_cgraph.md5 delete mode 100644 de/dd3/newton__raphson__method_8cpp_a3d3f7f41977394680af6ebbed96f3386_cgraph.svg delete mode 100644 de/dd3/newton__raphson__method_8cpp_a3d3f7f41977394680af6ebbed96f3386_cgraph_org.svg delete mode 100644 de/dd3/newton__raphson__method_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 de/dd3/newton__raphson__method_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 de/dd3/newton__raphson__method_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 de/dd3/newton__raphson__method_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 de/dd3/newton__raphson__method_8cpp_source.html create mode 100644 de/dd9/catalan__numbers_8cpp_source.html delete mode 100644 de/dde/lowest__common__ancestor_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.map delete mode 100644 de/dde/lowest__common__ancestor_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 delete mode 100644 de/dde/lowest__common__ancestor_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.svg delete mode 100644 de/dde/lowest__common__ancestor_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph_org.svg delete mode 100644 de/dde/lowest__common__ancestor_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 de/dde/lowest__common__ancestor_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 de/dde/lowest__common__ancestor_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 de/dde/lowest__common__ancestor_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 de/dde/lowest__common__ancestor_8cpp_source.html create mode 100644 de/de4/fibonacci__large_8cpp_source.html delete mode 100644 de/df6/classgreedy__algorithms_1_1_binary_addition_a4cfb595ba80795a9efae0e3f6f5c34d2_cgraph.map delete mode 100644 de/df6/classgreedy__algorithms_1_1_binary_addition_a4cfb595ba80795a9efae0e3f6f5c34d2_cgraph.md5 delete mode 100644 de/df6/classgreedy__algorithms_1_1_binary_addition_a4cfb595ba80795a9efae0e3f6f5c34d2_cgraph.svg delete mode 100644 de/df6/classgreedy__algorithms_1_1_binary_addition_a4cfb595ba80795a9efae0e3f6f5c34d2_cgraph_org.svg delete mode 100644 de/df6/classgreedy__algorithms_1_1_binary_addition_a801fd1ec5cda76b0bb82cbf23ed4d527_cgraph.map delete mode 100644 de/df6/classgreedy__algorithms_1_1_binary_addition_a801fd1ec5cda76b0bb82cbf23ed4d527_cgraph.md5 delete mode 100644 de/df6/classgreedy__algorithms_1_1_binary_addition_a801fd1ec5cda76b0bb82cbf23ed4d527_cgraph.svg delete mode 100644 de/df6/classgreedy__algorithms_1_1_binary_addition_a801fd1ec5cda76b0bb82cbf23ed4d527_cgraph_org.svg delete mode 100644 df/d06/decimal__to__binary_8cpp_a10df57491019f0ac39b492740fb388f7_cgraph.map delete mode 100644 df/d06/decimal__to__binary_8cpp_a10df57491019f0ac39b492740fb388f7_cgraph.md5 delete mode 100644 df/d06/decimal__to__binary_8cpp_a10df57491019f0ac39b492740fb388f7_cgraph.svg delete mode 100644 df/d06/decimal__to__binary_8cpp_a10df57491019f0ac39b492740fb388f7_cgraph_org.svg delete mode 100644 df/d06/decimal__to__binary_8cpp_a9240f2e79074a2a248395258aebbfa11_cgraph.map delete mode 100644 df/d06/decimal__to__binary_8cpp_a9240f2e79074a2a248395258aebbfa11_cgraph.md5 delete mode 100644 df/d06/decimal__to__binary_8cpp_a9240f2e79074a2a248395258aebbfa11_cgraph.svg delete mode 100644 df/d06/decimal__to__binary_8cpp_a9240f2e79074a2a248395258aebbfa11_cgraph_org.svg create mode 100644 df/d06/decimal__to__binary_8cpp_source.html delete mode 100644 df/d11/midpoint__integral__method_8cpp_a2ae48a41e43dc6ab11b962742349646e_cgraph.map delete mode 100644 df/d11/midpoint__integral__method_8cpp_a2ae48a41e43dc6ab11b962742349646e_cgraph.md5 delete mode 100644 df/d11/midpoint__integral__method_8cpp_a2ae48a41e43dc6ab11b962742349646e_cgraph.svg delete mode 100644 df/d11/midpoint__integral__method_8cpp_a2ae48a41e43dc6ab11b962742349646e_cgraph_org.svg delete mode 100644 df/d11/midpoint__integral__method_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph.map delete mode 100644 df/d11/midpoint__integral__method_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph.md5 delete mode 100644 df/d11/midpoint__integral__method_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph.svg delete mode 100644 df/d11/midpoint__integral__method_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph_org.svg delete mode 100644 df/d11/midpoint__integral__method_8cpp_a7072493d1f0f8a91b2a71d4cc456c09c_cgraph.map delete mode 100644 df/d11/midpoint__integral__method_8cpp_a7072493d1f0f8a91b2a71d4cc456c09c_cgraph.md5 delete mode 100644 df/d11/midpoint__integral__method_8cpp_a7072493d1f0f8a91b2a71d4cc456c09c_cgraph.svg delete mode 100644 df/d11/midpoint__integral__method_8cpp_a7072493d1f0f8a91b2a71d4cc456c09c_cgraph_org.svg delete mode 100644 df/d11/midpoint__integral__method_8cpp_a7ee8e824ef3e138a9a21883b26d97226_cgraph.map delete mode 100644 df/d11/midpoint__integral__method_8cpp_a7ee8e824ef3e138a9a21883b26d97226_cgraph.md5 delete mode 100644 df/d11/midpoint__integral__method_8cpp_a7ee8e824ef3e138a9a21883b26d97226_cgraph.svg delete mode 100644 df/d11/midpoint__integral__method_8cpp_a7ee8e824ef3e138a9a21883b26d97226_cgraph_org.svg delete mode 100644 df/d11/midpoint__integral__method_8cpp_ad53616fb4fa6880ae876bcba53365c51_cgraph.map delete mode 100644 df/d11/midpoint__integral__method_8cpp_ad53616fb4fa6880ae876bcba53365c51_cgraph.md5 delete mode 100644 df/d11/midpoint__integral__method_8cpp_ad53616fb4fa6880ae876bcba53365c51_cgraph.svg delete mode 100644 df/d11/midpoint__integral__method_8cpp_ad53616fb4fa6880ae876bcba53365c51_cgraph_org.svg delete mode 100644 df/d11/midpoint__integral__method_8cpp_ae682ee71af44b1e9e884849cc6a6b040_cgraph.map delete mode 100644 df/d11/midpoint__integral__method_8cpp_ae682ee71af44b1e9e884849cc6a6b040_cgraph.md5 delete mode 100644 df/d11/midpoint__integral__method_8cpp_ae682ee71af44b1e9e884849cc6a6b040_cgraph.svg delete mode 100644 df/d11/midpoint__integral__method_8cpp_ae682ee71af44b1e9e884849cc6a6b040_cgraph_org.svg delete mode 100644 df/d11/midpoint__integral__method_8cpp_ae9f66040f8e0ba73c1c741261c22a52a_cgraph.map delete mode 100644 df/d11/midpoint__integral__method_8cpp_ae9f66040f8e0ba73c1c741261c22a52a_cgraph.md5 delete mode 100644 df/d11/midpoint__integral__method_8cpp_ae9f66040f8e0ba73c1c741261c22a52a_cgraph.svg delete mode 100644 df/d11/midpoint__integral__method_8cpp_ae9f66040f8e0ba73c1c741261c22a52a_cgraph_org.svg create mode 100644 df/d11/midpoint__integral__method_8cpp_source.html create mode 100644 df/d14/bellman__ford_8cpp_source.html delete mode 100644 df/d28/dsu__union__rank_8cpp_a45d94ead4cf4e1ff9f87c38bc99f59ae_cgraph.map delete mode 100644 df/d28/dsu__union__rank_8cpp_a45d94ead4cf4e1ff9f87c38bc99f59ae_cgraph.md5 delete mode 100644 df/d28/dsu__union__rank_8cpp_a45d94ead4cf4e1ff9f87c38bc99f59ae_cgraph.svg delete mode 100644 df/d28/dsu__union__rank_8cpp_a45d94ead4cf4e1ff9f87c38bc99f59ae_cgraph_org.svg delete mode 100644 df/d28/dsu__union__rank_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 df/d28/dsu__union__rank_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 df/d28/dsu__union__rank_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 df/d28/dsu__union__rank_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg delete mode 100644 df/d28/dsu__union__rank_8cpp_ae7880ce913f3058a35ff106d5be9e243_cgraph.map delete mode 100644 df/d28/dsu__union__rank_8cpp_ae7880ce913f3058a35ff106d5be9e243_cgraph.md5 delete mode 100644 df/d28/dsu__union__rank_8cpp_ae7880ce913f3058a35ff106d5be9e243_cgraph.svg delete mode 100644 df/d28/dsu__union__rank_8cpp_ae7880ce913f3058a35ff106d5be9e243_cgraph_org.svg create mode 100644 df/d28/dsu__union__rank_8cpp_source.html delete mode 100644 df/d2c/elliptic__curve__key__exchange_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map delete mode 100644 df/d2c/elliptic__curve__key__exchange_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 delete mode 100644 df/d2c/elliptic__curve__key__exchange_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg delete mode 100644 df/d2c/elliptic__curve__key__exchange_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg delete mode 100644 df/d2c/elliptic__curve__key__exchange_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 df/d2c/elliptic__curve__key__exchange_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 df/d2c/elliptic__curve__key__exchange_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 df/d2c/elliptic__curve__key__exchange_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 df/d2c/elliptic__curve__key__exchange_8cpp_source.html create mode 100644 df/d31/floyd__warshall_8cpp_source.html delete mode 100644 df/d34/classprobability_1_1windowed__median_1_1_windowed_median_a3a7f57679e9cd6c9f042dfd0612b2b24_cgraph.map delete mode 100644 df/d34/classprobability_1_1windowed__median_1_1_windowed_median_a3a7f57679e9cd6c9f042dfd0612b2b24_cgraph.md5 delete mode 100644 df/d34/classprobability_1_1windowed__median_1_1_windowed_median_a3a7f57679e9cd6c9f042dfd0612b2b24_cgraph.svg delete mode 100644 df/d34/classprobability_1_1windowed__median_1_1_windowed_median_a3a7f57679e9cd6c9f042dfd0612b2b24_cgraph_org.svg delete mode 100644 df/d34/classprobability_1_1windowed__median_1_1_windowed_median_a61804988fcb1a6caf640f8291979aaa6_cgraph.map delete mode 100644 df/d34/classprobability_1_1windowed__median_1_1_windowed_median_a61804988fcb1a6caf640f8291979aaa6_cgraph.md5 delete mode 100644 df/d34/classprobability_1_1windowed__median_1_1_windowed_median_a61804988fcb1a6caf640f8291979aaa6_cgraph.svg delete mode 100644 df/d34/classprobability_1_1windowed__median_1_1_windowed_median_a61804988fcb1a6caf640f8291979aaa6_cgraph_org.svg delete mode 100644 df/d34/classprobability_1_1windowed__median_1_1_windowed_median_a6b52b7851750f28d53508e63c52a69f7_cgraph.map delete mode 100644 df/d34/classprobability_1_1windowed__median_1_1_windowed_median_a6b52b7851750f28d53508e63c52a69f7_cgraph.md5 delete mode 100644 df/d34/classprobability_1_1windowed__median_1_1_windowed_median_a6b52b7851750f28d53508e63c52a69f7_cgraph.svg delete mode 100644 df/d34/classprobability_1_1windowed__median_1_1_windowed_median_a6b52b7851750f28d53508e63c52a69f7_cgraph_org.svg delete mode 100644 df/d34/classprobability_1_1windowed__median_1_1_windowed_median_a938cafbdf70dc01e86e9bb12d29ec65d_cgraph.map delete mode 100644 df/d34/classprobability_1_1windowed__median_1_1_windowed_median_a938cafbdf70dc01e86e9bb12d29ec65d_cgraph.md5 delete mode 100644 df/d34/classprobability_1_1windowed__median_1_1_windowed_median_a938cafbdf70dc01e86e9bb12d29ec65d_cgraph.svg delete mode 100644 df/d34/classprobability_1_1windowed__median_1_1_windowed_median_a938cafbdf70dc01e86e9bb12d29ec65d_cgraph_org.svg delete mode 100644 df/d34/classprobability_1_1windowed__median_1_1_windowed_median_af544e271ea19a6fd69a6b3ed6816453e_cgraph.map delete mode 100644 df/d34/classprobability_1_1windowed__median_1_1_windowed_median_af544e271ea19a6fd69a6b3ed6816453e_cgraph.md5 delete mode 100644 df/d34/classprobability_1_1windowed__median_1_1_windowed_median_af544e271ea19a6fd69a6b3ed6816453e_cgraph.svg delete mode 100644 df/d34/classprobability_1_1windowed__median_1_1_windowed_median_af544e271ea19a6fd69a6b3ed6816453e_cgraph_org.svg delete mode 100644 df/d39/interpolation__search2_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 df/d39/interpolation__search2_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 df/d39/interpolation__search2_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 df/d39/interpolation__search2_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 df/d39/interpolation__search2_8cpp_source.html delete mode 100644 df/d42/binary__search__tree2_8cpp_a06f35064850e891d6fda0093c0d9ee6e_cgraph.map delete mode 100644 df/d42/binary__search__tree2_8cpp_a06f35064850e891d6fda0093c0d9ee6e_cgraph.md5 delete mode 100644 df/d42/binary__search__tree2_8cpp_a06f35064850e891d6fda0093c0d9ee6e_cgraph.svg delete mode 100644 df/d42/binary__search__tree2_8cpp_a06f35064850e891d6fda0093c0d9ee6e_cgraph_org.svg delete mode 100644 df/d42/binary__search__tree2_8cpp_a1d42876440ac5346e2850a32497385c3_cgraph.map delete mode 100644 df/d42/binary__search__tree2_8cpp_a1d42876440ac5346e2850a32497385c3_cgraph.md5 delete mode 100644 df/d42/binary__search__tree2_8cpp_a1d42876440ac5346e2850a32497385c3_cgraph.svg delete mode 100644 df/d42/binary__search__tree2_8cpp_a1d42876440ac5346e2850a32497385c3_cgraph_org.svg delete mode 100644 df/d42/binary__search__tree2_8cpp_a8c882f43e1e52948a7841a8bfb091350_cgraph.map delete mode 100644 df/d42/binary__search__tree2_8cpp_a8c882f43e1e52948a7841a8bfb091350_cgraph.md5 delete mode 100644 df/d42/binary__search__tree2_8cpp_a8c882f43e1e52948a7841a8bfb091350_cgraph.svg delete mode 100644 df/d42/binary__search__tree2_8cpp_a8c882f43e1e52948a7841a8bfb091350_cgraph_org.svg delete mode 100644 df/d42/binary__search__tree2_8cpp_a94b76f781fcbe1ad0e3397ace6bb1965_cgraph.map delete mode 100644 df/d42/binary__search__tree2_8cpp_a94b76f781fcbe1ad0e3397ace6bb1965_cgraph.md5 delete mode 100644 df/d42/binary__search__tree2_8cpp_a94b76f781fcbe1ad0e3397ace6bb1965_cgraph.svg delete mode 100644 df/d42/binary__search__tree2_8cpp_a94b76f781fcbe1ad0e3397ace6bb1965_cgraph_org.svg delete mode 100644 df/d42/binary__search__tree2_8cpp_a9856b68e2cba50d2e26a1cbe374e0365_cgraph.map delete mode 100644 df/d42/binary__search__tree2_8cpp_a9856b68e2cba50d2e26a1cbe374e0365_cgraph.md5 delete mode 100644 df/d42/binary__search__tree2_8cpp_a9856b68e2cba50d2e26a1cbe374e0365_cgraph.svg delete mode 100644 df/d42/binary__search__tree2_8cpp_a9856b68e2cba50d2e26a1cbe374e0365_cgraph_org.svg delete mode 100644 df/d42/binary__search__tree2_8cpp_ab00b8d0f21aeb5fbddb6decf3bcb640a_cgraph.map delete mode 100644 df/d42/binary__search__tree2_8cpp_ab00b8d0f21aeb5fbddb6decf3bcb640a_cgraph.md5 delete mode 100644 df/d42/binary__search__tree2_8cpp_ab00b8d0f21aeb5fbddb6decf3bcb640a_cgraph.svg delete mode 100644 df/d42/binary__search__tree2_8cpp_ab00b8d0f21aeb5fbddb6decf3bcb640a_cgraph_org.svg delete mode 100644 df/d42/binary__search__tree2_8cpp_ab1333c3ea06dcad896ee204bbd407c4e_cgraph.map delete mode 100644 df/d42/binary__search__tree2_8cpp_ab1333c3ea06dcad896ee204bbd407c4e_cgraph.md5 delete mode 100644 df/d42/binary__search__tree2_8cpp_ab1333c3ea06dcad896ee204bbd407c4e_cgraph.svg delete mode 100644 df/d42/binary__search__tree2_8cpp_ab1333c3ea06dcad896ee204bbd407c4e_cgraph_org.svg delete mode 100644 df/d42/binary__search__tree2_8cpp_af2847a901160fd45b4044550e9921cb4_cgraph.map delete mode 100644 df/d42/binary__search__tree2_8cpp_af2847a901160fd45b4044550e9921cb4_cgraph.md5 delete mode 100644 df/d42/binary__search__tree2_8cpp_af2847a901160fd45b4044550e9921cb4_cgraph.svg delete mode 100644 df/d42/binary__search__tree2_8cpp_af2847a901160fd45b4044550e9921cb4_cgraph_org.svg create mode 100644 df/d42/binary__search__tree2_8cpp_source.html delete mode 100644 df/d47/fcfs__scheduling_8cpp_a8f2b90cb64d63a7080965e66a05ccf86_cgraph.map delete mode 100644 df/d47/fcfs__scheduling_8cpp_a8f2b90cb64d63a7080965e66a05ccf86_cgraph.md5 delete mode 100644 df/d47/fcfs__scheduling_8cpp_a8f2b90cb64d63a7080965e66a05ccf86_cgraph.svg delete mode 100644 df/d47/fcfs__scheduling_8cpp_a8f2b90cb64d63a7080965e66a05ccf86_cgraph_org.svg delete mode 100644 df/d47/fcfs__scheduling_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map delete mode 100644 df/d47/fcfs__scheduling_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 delete mode 100644 df/d47/fcfs__scheduling_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg delete mode 100644 df/d47/fcfs__scheduling_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg delete mode 100644 df/d47/fcfs__scheduling_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 df/d47/fcfs__scheduling_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 df/d47/fcfs__scheduling_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 df/d47/fcfs__scheduling_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 df/d47/fcfs__scheduling_8cpp_source.html delete mode 100644 df/d66/vector__cross__product_8cpp_a225732399c5c076976eae5b180a9f8c9_cgraph.map delete mode 100644 df/d66/vector__cross__product_8cpp_a225732399c5c076976eae5b180a9f8c9_cgraph.md5 delete mode 100644 df/d66/vector__cross__product_8cpp_a225732399c5c076976eae5b180a9f8c9_cgraph.svg delete mode 100644 df/d66/vector__cross__product_8cpp_a225732399c5c076976eae5b180a9f8c9_cgraph_org.svg delete mode 100644 df/d66/vector__cross__product_8cpp_a4b2a9757a87c18e1642d72410ecfaba8_cgraph.map delete mode 100644 df/d66/vector__cross__product_8cpp_a4b2a9757a87c18e1642d72410ecfaba8_cgraph.md5 delete mode 100644 df/d66/vector__cross__product_8cpp_a4b2a9757a87c18e1642d72410ecfaba8_cgraph.svg delete mode 100644 df/d66/vector__cross__product_8cpp_a4b2a9757a87c18e1642d72410ecfaba8_cgraph_org.svg delete mode 100644 df/d66/vector__cross__product_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 df/d66/vector__cross__product_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 df/d66/vector__cross__product_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 df/d66/vector__cross__product_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 df/d66/vector__cross__product_8cpp_source.html delete mode 100644 df/d6b/namespaceciphers_1_1elliptic__curve__key__exchange_a17f3d667241b88115a95282cdd719cb2_cgraph.map delete mode 100644 df/d6b/namespaceciphers_1_1elliptic__curve__key__exchange_a17f3d667241b88115a95282cdd719cb2_cgraph.md5 delete mode 100644 df/d6b/namespaceciphers_1_1elliptic__curve__key__exchange_a17f3d667241b88115a95282cdd719cb2_cgraph.svg delete mode 100644 df/d6b/namespaceciphers_1_1elliptic__curve__key__exchange_a17f3d667241b88115a95282cdd719cb2_cgraph_org.svg delete mode 100644 df/d6b/namespaceciphers_1_1elliptic__curve__key__exchange_ac00616a4e40d3cd5cfb4da87d9ff9af0_cgraph.map delete mode 100644 df/d6b/namespaceciphers_1_1elliptic__curve__key__exchange_ac00616a4e40d3cd5cfb4da87d9ff9af0_cgraph.md5 delete mode 100644 df/d6b/namespaceciphers_1_1elliptic__curve__key__exchange_ac00616a4e40d3cd5cfb4da87d9ff9af0_cgraph.svg delete mode 100644 df/d6b/namespaceciphers_1_1elliptic__curve__key__exchange_ac00616a4e40d3cd5cfb4da87d9ff9af0_cgraph_org.svg delete mode 100644 df/d6b/namespaceciphers_1_1elliptic__curve__key__exchange_acc5fe9c2032fb7582c38a20d1fa69bcf_cgraph.map delete mode 100644 df/d6b/namespaceciphers_1_1elliptic__curve__key__exchange_acc5fe9c2032fb7582c38a20d1fa69bcf_cgraph.md5 delete mode 100644 df/d6b/namespaceciphers_1_1elliptic__curve__key__exchange_acc5fe9c2032fb7582c38a20d1fa69bcf_cgraph.svg delete mode 100644 df/d6b/namespaceciphers_1_1elliptic__curve__key__exchange_acc5fe9c2032fb7582c38a20d1fa69bcf_cgraph_org.svg delete mode 100644 df/d72/modular__division_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.map delete mode 100644 df/d72/modular__division_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.md5 delete mode 100644 df/d72/modular__division_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.svg delete mode 100644 df/d72/modular__division_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph_org.svg delete mode 100644 df/d72/modular__division_8cpp_a905e368ae121beb7e7ea35349ddcdac7_cgraph.map delete mode 100644 df/d72/modular__division_8cpp_a905e368ae121beb7e7ea35349ddcdac7_cgraph.md5 delete mode 100644 df/d72/modular__division_8cpp_a905e368ae121beb7e7ea35349ddcdac7_cgraph.svg delete mode 100644 df/d72/modular__division_8cpp_a905e368ae121beb7e7ea35349ddcdac7_cgraph_org.svg delete mode 100644 df/d72/modular__division_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map delete mode 100644 df/d72/modular__division_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 delete mode 100644 df/d72/modular__division_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg delete mode 100644 df/d72/modular__division_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg create mode 100644 df/d72/modular__division_8cpp_source.html delete mode 100644 df/d82/breadth__first__search_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.map delete mode 100644 df/d82/breadth__first__search_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 delete mode 100644 df/d82/breadth__first__search_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.svg delete mode 100644 df/d82/breadth__first__search_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph_org.svg delete mode 100644 df/d82/breadth__first__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 df/d82/breadth__first__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 df/d82/breadth__first__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 df/d82/breadth__first__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 df/d82/breadth__first__search_8cpp_source.html delete mode 100644 df/d8f/classothers_1_1_cache_1_1_l_f_u_cache_a16a25c102554c5653721a5112ef676c9_cgraph.map delete mode 100644 df/d8f/classothers_1_1_cache_1_1_l_f_u_cache_a16a25c102554c5653721a5112ef676c9_cgraph.md5 delete mode 100644 df/d8f/classothers_1_1_cache_1_1_l_f_u_cache_a16a25c102554c5653721a5112ef676c9_cgraph.svg delete mode 100644 df/d8f/classothers_1_1_cache_1_1_l_f_u_cache_a16a25c102554c5653721a5112ef676c9_cgraph_org.svg delete mode 100644 df/d8f/classothers_1_1_cache_1_1_l_f_u_cache_a58e37d3713f28d36abbb8cdf6c432781_cgraph.map delete mode 100644 df/d8f/classothers_1_1_cache_1_1_l_f_u_cache_a58e37d3713f28d36abbb8cdf6c432781_cgraph.md5 delete mode 100644 df/d8f/classothers_1_1_cache_1_1_l_f_u_cache_a58e37d3713f28d36abbb8cdf6c432781_cgraph.svg delete mode 100644 df/d8f/classothers_1_1_cache_1_1_l_f_u_cache_a58e37d3713f28d36abbb8cdf6c432781_cgraph_org.svg delete mode 100644 df/d8f/classothers_1_1_cache_1_1_l_f_u_cache_af6f8e5a66a45436b490dfe015ff8866e_cgraph.map delete mode 100644 df/d8f/classothers_1_1_cache_1_1_l_f_u_cache_af6f8e5a66a45436b490dfe015ff8866e_cgraph.md5 delete mode 100644 df/d8f/classothers_1_1_cache_1_1_l_f_u_cache_af6f8e5a66a45436b490dfe015ff8866e_cgraph.svg delete mode 100644 df/d8f/classothers_1_1_cache_1_1_l_f_u_cache_af6f8e5a66a45436b490dfe015ff8866e_cgraph_org.svg delete mode 100644 df/d94/subarray__sum_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map delete mode 100644 df/d94/subarray__sum_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 delete mode 100644 df/d94/subarray__sum_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg delete mode 100644 df/d94/subarray__sum_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg delete mode 100644 df/d94/subarray__sum_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 df/d94/subarray__sum_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 df/d94/subarray__sum_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 df/d94/subarray__sum_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg delete mode 100644 df/d94/subarray__sum_8cpp_af5687bbd9faf927fbd363c71e0baba5e_cgraph.map delete mode 100644 df/d94/subarray__sum_8cpp_af5687bbd9faf927fbd363c71e0baba5e_cgraph.md5 delete mode 100644 df/d94/subarray__sum_8cpp_af5687bbd9faf927fbd363c71e0baba5e_cgraph.svg delete mode 100644 df/d94/subarray__sum_8cpp_af5687bbd9faf927fbd363c71e0baba5e_cgraph_org.svg create mode 100644 df/d94/subarray__sum_8cpp_source.html create mode 100644 df/d97/main__cll_8cpp_source.html create mode 100644 df/da7/queue__using__array2_8cpp_source.html delete mode 100644 df/dbb/class_f_c_f_s__coll__graph.map delete mode 100644 df/dbb/class_f_c_f_s__coll__graph.md5 delete mode 100644 df/dbb/class_f_c_f_s__coll__graph.svg delete mode 100644 df/dbb/class_f_c_f_s__coll__graph_org.svg delete mode 100644 df/dc8/successive__approximation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 df/dc8/successive__approximation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 df/dc8/successive__approximation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 df/dc8/successive__approximation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 df/dc8/successive__approximation_8cpp_source.html delete mode 100644 df/dce/namespacegraph_a0e30e0dca68cb6e4f671440819b35b6a_cgraph.map delete mode 100644 df/dce/namespacegraph_a0e30e0dca68cb6e4f671440819b35b6a_cgraph.md5 delete mode 100644 df/dce/namespacegraph_a0e30e0dca68cb6e4f671440819b35b6a_cgraph.svg delete mode 100644 df/dce/namespacegraph_a0e30e0dca68cb6e4f671440819b35b6a_cgraph_org.svg delete mode 100644 df/dce/namespacegraph_a3ae80bc4c6a79d041b4f3a6589eb7fb8_cgraph.map delete mode 100644 df/dce/namespacegraph_a3ae80bc4c6a79d041b4f3a6589eb7fb8_cgraph.md5 delete mode 100644 df/dce/namespacegraph_a3ae80bc4c6a79d041b4f3a6589eb7fb8_cgraph.svg delete mode 100644 df/dce/namespacegraph_a3ae80bc4c6a79d041b4f3a6589eb7fb8_cgraph_org.svg delete mode 100644 df/dce/namespacegraph_a64c1db5aad7502c6f08e4652f6edd463_cgraph.map delete mode 100644 df/dce/namespacegraph_a64c1db5aad7502c6f08e4652f6edd463_cgraph.md5 delete mode 100644 df/dce/namespacegraph_a64c1db5aad7502c6f08e4652f6edd463_cgraph.svg delete mode 100644 df/dce/namespacegraph_a64c1db5aad7502c6f08e4652f6edd463_cgraph_org.svg delete mode 100644 df/dce/namespacegraph_a83ab16e96cec644109a58dfc9329bc2b_cgraph.map delete mode 100644 df/dce/namespacegraph_a83ab16e96cec644109a58dfc9329bc2b_cgraph.md5 delete mode 100644 df/dce/namespacegraph_a83ab16e96cec644109a58dfc9329bc2b_cgraph.svg delete mode 100644 df/dce/namespacegraph_a83ab16e96cec644109a58dfc9329bc2b_cgraph_org.svg delete mode 100644 df/dce/namespacegraph_a84b0551489c613a681cc83b34450da4b_cgraph.map delete mode 100644 df/dce/namespacegraph_a84b0551489c613a681cc83b34450da4b_cgraph.md5 delete mode 100644 df/dce/namespacegraph_a84b0551489c613a681cc83b34450da4b_cgraph.svg delete mode 100644 df/dce/namespacegraph_a84b0551489c613a681cc83b34450da4b_cgraph_org.svg delete mode 100644 df/dce/namespacegraph_ab5428a3519267a28bba4b4310cfbb6ae_cgraph.map delete mode 100644 df/dce/namespacegraph_ab5428a3519267a28bba4b4310cfbb6ae_cgraph.md5 delete mode 100644 df/dce/namespacegraph_ab5428a3519267a28bba4b4310cfbb6ae_cgraph.svg delete mode 100644 df/dce/namespacegraph_ab5428a3519267a28bba4b4310cfbb6ae_cgraph_org.svg delete mode 100644 df/dce/namespacegraph_ab7706341d006e20d1ae58274187a3346_cgraph.map delete mode 100644 df/dce/namespacegraph_ab7706341d006e20d1ae58274187a3346_cgraph.md5 delete mode 100644 df/dce/namespacegraph_ab7706341d006e20d1ae58274187a3346_cgraph.svg delete mode 100644 df/dce/namespacegraph_ab7706341d006e20d1ae58274187a3346_cgraph_org.svg delete mode 100644 df/dce/namespacegraph_adc68cbc8ba09eb1142265935c0d45b84_cgraph.map delete mode 100644 df/dce/namespacegraph_adc68cbc8ba09eb1142265935c0d45b84_cgraph.md5 delete mode 100644 df/dce/namespacegraph_adc68cbc8ba09eb1142265935c0d45b84_cgraph.svg delete mode 100644 df/dce/namespacegraph_adc68cbc8ba09eb1142265935c0d45b84_cgraph_org.svg delete mode 100644 df/dd0/queue__using__two__stacks_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 df/dd0/queue__using__two__stacks_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 df/dd0/queue__using__two__stacks_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 df/dd0/queue__using__two__stacks_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 df/dd0/queue__using__two__stacks_8cpp_source.html create mode 100644 df/dd5/binary__search_8cpp_source.html delete mode 100644 df/ddd/connected__components_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph.map delete mode 100644 df/ddd/connected__components_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph.md5 delete mode 100644 df/ddd/connected__components_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph.svg delete mode 100644 df/ddd/connected__components_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph_org.svg delete mode 100644 df/ddd/connected__components_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 df/ddd/connected__components_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 df/ddd/connected__components_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 df/ddd/connected__components_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 df/ddd/connected__components_8cpp_source.html delete mode 100644 df/de5/classbacktracking_1_1generate__parentheses_ac1489edd65374f22fe04851051f0a2ec_cgraph.map delete mode 100644 df/de5/classbacktracking_1_1generate__parentheses_ac1489edd65374f22fe04851051f0a2ec_cgraph.md5 delete mode 100644 df/de5/classbacktracking_1_1generate__parentheses_ac1489edd65374f22fe04851051f0a2ec_cgraph.svg delete mode 100644 df/de5/classbacktracking_1_1generate__parentheses_ac1489edd65374f22fe04851051f0a2ec_cgraph_org.svg delete mode 100644 df/de5/classbacktracking_1_1generate__parentheses_af39c03d80ce0ba9fbf659b420980d160_cgraph.map delete mode 100644 df/de5/classbacktracking_1_1generate__parentheses_af39c03d80ce0ba9fbf659b420980d160_cgraph.md5 delete mode 100644 df/de5/classbacktracking_1_1generate__parentheses_af39c03d80ce0ba9fbf659b420980d160_cgraph.svg delete mode 100644 df/de5/classbacktracking_1_1generate__parentheses_af39c03d80ce0ba9fbf659b420980d160_cgraph_org.svg delete mode 100644 df/def/power__for__huge__numbers_8cpp_ae249a2af508aa94266023ce8aa81426f_cgraph.map delete mode 100644 df/def/power__for__huge__numbers_8cpp_ae249a2af508aa94266023ce8aa81426f_cgraph.md5 delete mode 100644 df/def/power__for__huge__numbers_8cpp_ae249a2af508aa94266023ce8aa81426f_cgraph.svg delete mode 100644 df/def/power__for__huge__numbers_8cpp_ae249a2af508aa94266023ce8aa81426f_cgraph_org.svg delete mode 100644 df/def/power__for__huge__numbers_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 df/def/power__for__huge__numbers_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 df/def/power__for__huge__numbers_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 df/def/power__for__huge__numbers_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 df/def/power__for__huge__numbers_8cpp_source.html delete mode 100644 df/dfb/minimax_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map delete mode 100644 df/dfb/minimax_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 delete mode 100644 df/dfb/minimax_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg delete mode 100644 df/dfb/minimax_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg create mode 100644 df/dfb/minimax_8cpp_source.html create mode 100644 dir_53e6fa9553ac22a5646d2a2b2d7b97a1.html create mode 100644 dir_53e6fa9553ac22a5646d2a2b2d7b97a1.js create mode 100644 doxygen-awesome.css create mode 100644 favicon.svg delete mode 100644 navtreeindex15.js create mode 100644 project_logo.png diff --git a/annotated.html b/annotated.html index bc026981d..224eeeee5 100644 --- a/annotated.html +++ b/annotated.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Class List +TheAlgorithms/C++: Class List + + + @@ -18,14 +24,24 @@ - - + +
@@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -143,12 +160,12 @@ $(function(){initNavTree('annotated.html',''); initResizable(true); }); - + - + @@ -189,7 +206,7 @@ $(function(){initNavTree('annotated.html',''); initResizable(true); }); - + @@ -222,7 +239,7 @@ $(function(){initNavTree('annotated.html',''); initResizable(true); }); - + @@ -236,7 +253,7 @@ $(function(){initNavTree('annotated.html',''); initResizable(true); }); - + @@ -280,7 +297,7 @@ $(function(){initNavTree('annotated.html',''); initResizable(true); }); - + diff --git a/annotated_dup.js b/annotated_dup.js index db81bb2fa..b1f9f695c 100644 --- a/annotated_dup.js +++ b/annotated_dup.js @@ -176,7 +176,7 @@ var annotated_dup = [ "stats_computer1", "d7/d7c/classstatistics_1_1stats__computer1.html", "d7/d7c/classstatistics_1_1stats__computer1" ], [ "stats_computer2", "d8/dab/classstatistics_1_1stats__computer2.html", "d8/dab/classstatistics_1_1stats__computer2" ] ] ], - [ "std", "d8/dcc/namespacestd.html", [ + [ "std", null, [ [ "is_arithmetic< uint128_t >", "d2/dfc/structstd_1_1is__arithmetic_3_01uint128__t_01_4.html", null ], [ "is_arithmetic< uint256_t >", "dc/d6d/structstd_1_1is__arithmetic_3_01uint256__t_01_4.html", null ], [ "is_integral< uint128_t >", "d2/dd4/structstd_1_1is__integral_3_01uint128__t_01_4.html", null ], diff --git a/classes.html b/classes.html index 963a5231d..9bbbc3651 100644 --- a/classes.html +++ b/classes.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Class Index +TheAlgorithms/C++: Class Index + + + @@ -18,14 +24,24 @@ - - + +
@@ -33,10 +49,11 @@ MathJax.Hub.Config({
-
Algorithms_in_C++ 1.0.0 +
TheAlgorithms/C++ 1.0.0
-
Set of algorithms implemented in C++.
+
All the algorithms implemented in C++
 Ndivide_and_conquerFor std::vector
 Ndivide_and_conquerFor std::vector
 Ndouble_hashingAn implementation of hash table using double hashing algorithm
 NgeometryFor std::swap
 NgeometryFor std::swap
 NmathFor assert
 Noperations_on_datastructuresFor std::vector
 Noperations_on_datastructuresFor std::vector
 Nquadratic_probingAn implementation of hash table using quadratic probing algorithm
 Nrange_queriesFor std::vector
 Nrange_queriesFor std::vector
 NstatisticsStatistical algorithms
 NstdSTL namespace
 NstdSTL namespace
 CRBtree
 CSegmentIntersection
 CSolution
 CstackFor std::invalid_argument
 CstackFor std::invalid_argument
 Cstack_linkedList
 CTestCaseSingle example inputs and expected output of the function longest_common_string_length
 CTestCasesClass encapsulating the necessary test cases
+ @@ -135,7 +152,7 @@ $(function(){initNavTree('classes.html',''); initResizable(true); });
Hash (hashing::sha256)
hash_chain
HillCipher (ciphers)
HKGraph (graph)
HLD (range_queries::heavy_light_decomposition)
I
-
AyStarSearch::Info (machine_learning::aystar_search)
is_arithmetic< uint128_t > (std)
is_arithmetic< uint256_t > (std)
is_integral< uint128_t > (std)
is_integral< uint256_t > (std)
is_unsigned< uint128_t > (std)
is_unsigned< uint256_t > (std)
Item
+
AyStarSearch::Info (machine_learning::aystar_search)
is_arithmetic< uint128_t > (std)
is_arithmetic< uint256_t > (std)
is_integral< uint128_t > (std)
is_integral< uint256_t > (std)
is_unsigned< uint128_t > (std)
is_unsigned< uint256_t > (std)
Item
K
Knn (machine_learning::k_nearest_neighbors)
diff --git a/d0/d01/smallest__circle_8cpp.html b/d0/d01/smallest__circle_8cpp.html index 766df13ca..7830ca4e2 100644 --- a/d0/d01/smallest__circle_8cpp.html +++ b/d0/d01/smallest__circle_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: others/smallest_circle.cpp File Reference +TheAlgorithms/C++: others/smallest_circle.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
@@ -33,10 +49,11 @@ MathJax.Hub.Config({
-
Algorithms_in_C++ 1.0.0 +
TheAlgorithms/C++ 1.0.0
-
Set of algorithms implemented in C++.
+
All the algorithms implemented in C++
+ @@ -121,7 +138,9 @@ Include dependency graph for smallest_circle.cpp:
-
-
Algorithms_in_C++ 1.0.0 +
TheAlgorithms/C++ 1.0.0
-
Set of algorithms implemented in C++.
+
All the algorithms implemented in C++
+ +

Go to the source code of this file.

+
@@ -133,9 +152,9 @@ Functions - + - + @@ -149,6 +168,8 @@ Functions

Detailed Description

Get centre and radius of the smallest circle that circumscribes given set of points.

See also
other implementation
+ +

Definition in file smallest_circle.cpp.

Function Documentation

◆ circle()

@@ -159,7 +180,7 @@ Functions - +

Classes

struct  Point
 
double TriangleArea (const Point &A, const Point &B, const Point &C)
 
bool PointInCircle (const std::vector< Point > &P, const Point &Center, double R)
bool PointInCircle (const std::vector< Point > &P, const Point &Center, double R)
 
double circle (const std::vector< Point > &P)
double circle (const std::vector< Point > &P)
 
void test ()
 
double circle (const std::vector< Point > & P)const std::vector< Point > & P)
@@ -172,6 +193,8 @@ The function returns the radius of the circle and prints the coordinated of the
Returns
radius of the circle
+ +

Definition at line 87 of file smallest_circle.cpp.

87 {
88 double minR = INFINITY;
89 double R;
@@ -180,11 +203,11 @@ The function returns the radius of the circle and prints the coordinated of the
92
93 /* This code is invalid and does not give correct result for TEST 3 */
94 // for each point in the list
-
95 for (size_t i = 0; i < P.size() - 2; i++)
+
95 for (size_t i = 0; i < P.size() - 2; i++)
96 // for every subsequent point in the list
-
97 for (size_t j = i + 1; j < P.size(); j++)
+
97 for (size_t j = i + 1; j < P.size(); j++)
98 // for every subsequent point in the list
-
99 for (size_t k = j + 1; k < P.size(); k++) {
+
99 for (size_t k = j + 1; k < P.size(); k++) {
100 // here, we now have picked three points from the given set of
101 // points that we can use
102 // viz., P[i], P[j] and P[k]
@@ -219,9 +242,9 @@ The function returns the radius of the circle and prints the coordinated of the
131 }
132
133 // for each point in the list
-
134 for (size_t i = 0; i < P.size() - 1; i++)
+
134 for (size_t i = 0; i < P.size() - 1; i++)
135 // for every subsequent point in the list
-
136 for (size_t j = i + 1; j < P.size(); j++) {
+
136 for (size_t j = i + 1; j < P.size(); j++) {
137 // check for diameterically opposite points
138 C.x = (P[i].x + P[j].x) / 2;
139 C.y = (P[i].y + P[j].y) / 2;
@@ -234,24 +257,16 @@ The function returns the radius of the circle and prints the coordinated of the
146 minC = C;
147 }
148 }
-
149 std::cout << minC.x << " " << minC.y << std::endl;
+
149 std::cout << minC.x << " " << minC.y << std::endl;
150 return minR;
151}
- -
double k(double x)
Another test function.
Definition composite_simpson_rule.cpp:117
-
T endl(T... args)
-
T size(T... args)
-
double LenghtLine(const Point &A, const Point &B)
Definition smallest_circle.cpp:37
-
double TriangleArea(const Point &A, const Point &B, const Point &C)
Definition smallest_circle.cpp:54
-
bool PointInCircle(const std::vector< Point > &P, const Point &Center, double R)
Definition smallest_circle.cpp:72
-
Definition line_segment_intersection.cpp:12
-
int y
Point respect to x coordinate.
Definition line_segment_intersection.cpp:14
-
-Here is the call graph for this function:
-
-
-
- +
double k(double x)
Another test function.
+
double LenghtLine(const Point &A, const Point &B)
+
double TriangleArea(const Point &A, const Point &B, const Point &C)
+
bool PointInCircle(const std::vector< Point > &P, const Point &Center, double R)
+ +
int y
Point respect to x coordinate.
+
@@ -283,18 +298,14 @@ Here is the call graph for this function:
Returns
ditance
+ +

Definition at line 37 of file smallest_circle.cpp.

37 {
38 double dx = B.x - A.x;
39 double dy = B.y - A.y;
-
40 return std::sqrt((dx * dx) + (dy * dy));
+
40 return std::sqrt((dx * dx) + (dy * dy));
41}
-
T sqrt(T... args)
-
-Here is the call graph for this function:
-
-
-
- + @@ -312,23 +323,20 @@ Here is the call graph for this function:

Main program

+ +

Definition at line 198 of file smallest_circle.cpp.

198 {
199 test();
- +
200 std::cout << std::endl;
201 test2();
- +
202 std::cout << std::endl;
203 test3();
204 return 0;
205}
-
void test2()
Definition smallest_circle.cpp:173
-
void test3()
Definition smallest_circle.cpp:188
-
void test()
Definition smallest_circle.cpp:158
-
-Here is the call graph for this function:
-
-
-
- +
void test2()
+
void test3()
+
void test()
+
@@ -340,7 +348,7 @@ Here is the call graph for this function: bool PointInCircle ( - const std::vector< Point > & P, + const std::vector< Point > & P, @@ -365,19 +373,16 @@ Here is the call graph for this function:
Returns
True if P lies on or within the circle
False if P lies outside the circle
+ +

Definition at line 72 of file smallest_circle.cpp.

72 {
-
73 for (size_t i = 0; i < P.size(); i++) {
+
73 for (size_t i = 0; i < P.size(); i++) {
74 if (LenghtLine(P[i], Center) > R)
75 return false;
76 }
77 return true;
78}
-
-Here is the call graph for this function:
-
-
-
- + @@ -398,24 +403,19 @@ Here is the call graph for this function: Circle with
radius 3.318493136080724
centre at (3.0454545454545454, 1.3181818181818181)

-
158 {
- -
160 Pv.push_back(Point(0, 0));
-
161 Pv.push_back(Point(5, 4));
-
162 Pv.push_back(Point(1, 3));
-
163 Pv.push_back(Point(4, 1));
-
164 Pv.push_back(Point(3, -2));
-
165 std::cout << circle(Pv) << std::endl;
-
166}
-
T push_back(T... args)
-
double circle(const std::vector< Point > &P)
Definition smallest_circle.cpp:87
- -
-Here is the call graph for this function:
-
-
-
+

Definition at line 158 of file smallest_circle.cpp.

+
158 {
+
159 std::vector<Point> Pv;
+
160 Pv.push_back(Point(0, 0));
+
161 Pv.push_back(Point(5, 4));
+
162 Pv.push_back(Point(1, 3));
+
163 Pv.push_back(Point(4, 1));
+
164 Pv.push_back(Point(3, -2));
+
165 std::cout << circle(Pv) << std::endl;
+
166}
+
double circle(const std::vector< Point > &P)
+
@@ -436,20 +436,17 @@ Here is the call graph for this function: Circle with
radius 1.4142135623730951
centre at (1.0, 1.0)

-
173 {
- -
175 Pv.push_back(Point(0, 0));
-
176 Pv.push_back(Point(0, 2));
-
177 Pv.push_back(Point(2, 2));
-
178 Pv.push_back(Point(2, 0));
-
179 std::cout << circle(Pv) << std::endl;
-
180}
-
-Here is the call graph for this function:
-
-
-
+

Definition at line 173 of file smallest_circle.cpp.

+
173 {
+
174 std::vector<Point> Pv;
+
175 Pv.push_back(Point(0, 0));
+
176 Pv.push_back(Point(0, 2));
+
177 Pv.push_back(Point(2, 2));
+
178 Pv.push_back(Point(2, 0));
+
179 std::cout << circle(Pv) << std::endl;
+
180}
+
@@ -470,20 +467,17 @@ Here is the call graph for this function: Circle with
radius 1.821078397711709
centre at (2.142857142857143, 1.7857142857142856)

Todo
This test fails
-
188 {
- -
190 Pv.push_back(Point(0.5, 1));
-
191 Pv.push_back(Point(3.5, 3));
-
192 Pv.push_back(Point(2.5, 0));
-
193 Pv.push_back(Point(2, 1.5));
-
194 std::cout << circle(Pv) << std::endl;
-
195}
-
-Here is the call graph for this function:
-
-
-
+

Definition at line 188 of file smallest_circle.cpp.

+
188 {
+
189 std::vector<Point> Pv;
+
190 Pv.push_back(Point(0.5, 1));
+
191 Pv.push_back(Point(3.5, 3));
+
192 Pv.push_back(Point(2.5, 0));
+
193 Pv.push_back(Point(2, 1.5));
+
194 std::cout << circle(Pv) << std::endl;
+
195}
+
@@ -521,19 +515,16 @@ Here is the call graph for this function:
Returns
area of triangle
+ +

Definition at line 54 of file smallest_circle.cpp.

54 {
55 double a = LenghtLine(A, B);
56 double b = LenghtLine(B, C);
57 double c = LenghtLine(C, A);
58 double p = (a + b + c) / 2;
-
59 return std::sqrt(p * (p - a) * (p - b) * (p - c));
+
59 return std::sqrt(p * (p - a) * (p - b) * (p - c));
60}
-
-Here is the call graph for this function:
-
-
-
- + diff --git a/d0/d01/smallest__circle_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph.map b/d0/d01/smallest__circle_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph.map deleted file mode 100644 index 5e0d145f7..000000000 --- a/d0/d01/smallest__circle_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph.map +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d0/d01/smallest__circle_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph.md5 b/d0/d01/smallest__circle_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph.md5 deleted file mode 100644 index 0e39a5cc1..000000000 --- a/d0/d01/smallest__circle_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -196b06354bde39a1f0e7c814ded9d059 \ No newline at end of file diff --git a/d0/d01/smallest__circle_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph.svg b/d0/d01/smallest__circle_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph.svg deleted file mode 100644 index 306f696c0..000000000 --- a/d0/d01/smallest__circle_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph.svg +++ /dev/null @@ -1,293 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -test2 - - -Node1 - - -test2 - - - - - -Node2 - - -circle - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node1->Node3 - - - - - - - - -Node9 - - -std::vector::push_back - - - - - -Node1->Node9 - - - - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -LenghtLine - - - - - -Node2->Node4 - - - - - - - - -Node6 - - -PointInCircle - - - - - -Node2->Node6 - - - - - - - - -Node7 - - -std::vector::size - - - - - -Node2->Node7 - - - - - - - - -Node8 - - -TriangleArea - - - - - -Node2->Node8 - - - - - - - - -Node5 - - -std::sqrt - - - - - -Node4->Node5 - - - - - - - - -Node6->Node4 - - - - - - - - -Node6->Node7 - - - - - - - - -Node8->Node4 - - - - - - - - -Node8->Node5 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d0/d01/smallest__circle_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph_org.svg b/d0/d01/smallest__circle_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph_org.svg deleted file mode 100644 index 06429ba56..000000000 --- a/d0/d01/smallest__circle_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph_org.svg +++ /dev/null @@ -1,210 +0,0 @@ - - - - - - -test2 - - -Node1 - - -test2 - - - - - -Node2 - - -circle - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node1->Node3 - - - - - - - - -Node9 - - -std::vector::push_back - - - - - -Node1->Node9 - - - - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -LenghtLine - - - - - -Node2->Node4 - - - - - - - - -Node6 - - -PointInCircle - - - - - -Node2->Node6 - - - - - - - - -Node7 - - -std::vector::size - - - - - -Node2->Node7 - - - - - - - - -Node8 - - -TriangleArea - - - - - -Node2->Node8 - - - - - - - - -Node5 - - -std::sqrt - - - - - -Node4->Node5 - - - - - - - - -Node6->Node4 - - - - - - - - -Node6->Node7 - - - - - - - - -Node8->Node4 - - - - - - - - -Node8->Node5 - - - - - - - - diff --git a/d0/d01/smallest__circle_8cpp_a0b0676df8e4da7a08c7ccaecea344903_cgraph.map b/d0/d01/smallest__circle_8cpp_a0b0676df8e4da7a08c7ccaecea344903_cgraph.map deleted file mode 100644 index af190fe5d..000000000 --- a/d0/d01/smallest__circle_8cpp_a0b0676df8e4da7a08c7ccaecea344903_cgraph.map +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - - - - - - - - - - diff --git a/d0/d01/smallest__circle_8cpp_a0b0676df8e4da7a08c7ccaecea344903_cgraph.md5 b/d0/d01/smallest__circle_8cpp_a0b0676df8e4da7a08c7ccaecea344903_cgraph.md5 deleted file mode 100644 index b26fd610a..000000000 --- a/d0/d01/smallest__circle_8cpp_a0b0676df8e4da7a08c7ccaecea344903_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -ef17bca7ed6a95d16d1ab1b5eb3a8311 \ No newline at end of file diff --git a/d0/d01/smallest__circle_8cpp_a0b0676df8e4da7a08c7ccaecea344903_cgraph.svg b/d0/d01/smallest__circle_8cpp_a0b0676df8e4da7a08c7ccaecea344903_cgraph.svg deleted file mode 100644 index 9229a07eb..000000000 --- a/d0/d01/smallest__circle_8cpp_a0b0676df8e4da7a08c7ccaecea344903_cgraph.svg +++ /dev/null @@ -1,191 +0,0 @@ - - - - - - - - - - - - -circle - - -Node1 - - -circle - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -LenghtLine - - - - - -Node1->Node3 - - - - - - - - -Node5 - - -PointInCircle - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -std::vector::size - - - - - -Node1->Node6 - - - - - - - - -Node7 - - -TriangleArea - - - - - -Node1->Node7 - - - - - - - - -Node4 - - -std::sqrt - - - - - -Node3->Node4 - - - - - - - - -Node5->Node3 - - - - - - - - -Node5->Node6 - - - - - - - - -Node7->Node3 - - - - - - - - -Node7->Node4 - - - - - - - - - - - - - diff --git a/d0/d01/smallest__circle_8cpp_a0b0676df8e4da7a08c7ccaecea344903_cgraph_org.svg b/d0/d01/smallest__circle_8cpp_a0b0676df8e4da7a08c7ccaecea344903_cgraph_org.svg deleted file mode 100644 index 59cbec4e8..000000000 --- a/d0/d01/smallest__circle_8cpp_a0b0676df8e4da7a08c7ccaecea344903_cgraph_org.svg +++ /dev/null @@ -1,165 +0,0 @@ - - - - - - -circle - - -Node1 - - -circle - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -LenghtLine - - - - - -Node1->Node3 - - - - - - - - -Node5 - - -PointInCircle - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -std::vector::size - - - - - -Node1->Node6 - - - - - - - - -Node7 - - -TriangleArea - - - - - -Node1->Node7 - - - - - - - - -Node4 - - -std::sqrt - - - - - -Node3->Node4 - - - - - - - - -Node5->Node3 - - - - - - - - -Node5->Node6 - - - - - - - - -Node7->Node3 - - - - - - - - -Node7->Node4 - - - - - - - - diff --git a/d0/d01/smallest__circle_8cpp_a3cbebd6f4d2cdf227663c67fe41ba12a_cgraph.map b/d0/d01/smallest__circle_8cpp_a3cbebd6f4d2cdf227663c67fe41ba12a_cgraph.map deleted file mode 100644 index ddc7d05b7..000000000 --- a/d0/d01/smallest__circle_8cpp_a3cbebd6f4d2cdf227663c67fe41ba12a_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d0/d01/smallest__circle_8cpp_a3cbebd6f4d2cdf227663c67fe41ba12a_cgraph.md5 b/d0/d01/smallest__circle_8cpp_a3cbebd6f4d2cdf227663c67fe41ba12a_cgraph.md5 deleted file mode 100644 index e2842119a..000000000 --- a/d0/d01/smallest__circle_8cpp_a3cbebd6f4d2cdf227663c67fe41ba12a_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -f3de04d111811ab00b16e23018f142cd \ No newline at end of file diff --git a/d0/d01/smallest__circle_8cpp_a3cbebd6f4d2cdf227663c67fe41ba12a_cgraph.svg b/d0/d01/smallest__circle_8cpp_a3cbebd6f4d2cdf227663c67fe41ba12a_cgraph.svg deleted file mode 100644 index 648334807..000000000 --- a/d0/d01/smallest__circle_8cpp_a3cbebd6f4d2cdf227663c67fe41ba12a_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -LenghtLine - - -Node1 - - -LenghtLine - - - - - -Node2 - - -std::sqrt - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d0/d01/smallest__circle_8cpp_a3cbebd6f4d2cdf227663c67fe41ba12a_cgraph_org.svg b/d0/d01/smallest__circle_8cpp_a3cbebd6f4d2cdf227663c67fe41ba12a_cgraph_org.svg deleted file mode 100644 index c563ecfd1..000000000 --- a/d0/d01/smallest__circle_8cpp_a3cbebd6f4d2cdf227663c67fe41ba12a_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -LenghtLine - - -Node1 - - -LenghtLine - - - - - -Node2 - - -std::sqrt - - - - - -Node1->Node2 - - - - - - - - diff --git a/d0/d01/smallest__circle_8cpp_a6d0455dd5c30adda100e95f0423c786e_cgraph.map b/d0/d01/smallest__circle_8cpp_a6d0455dd5c30adda100e95f0423c786e_cgraph.map deleted file mode 100644 index 6de0552b9..000000000 --- a/d0/d01/smallest__circle_8cpp_a6d0455dd5c30adda100e95f0423c786e_cgraph.map +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d0/d01/smallest__circle_8cpp_a6d0455dd5c30adda100e95f0423c786e_cgraph.md5 b/d0/d01/smallest__circle_8cpp_a6d0455dd5c30adda100e95f0423c786e_cgraph.md5 deleted file mode 100644 index b26c41b72..000000000 --- a/d0/d01/smallest__circle_8cpp_a6d0455dd5c30adda100e95f0423c786e_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -8a0020290281957776e7f9d21cbb615d \ No newline at end of file diff --git a/d0/d01/smallest__circle_8cpp_a6d0455dd5c30adda100e95f0423c786e_cgraph.svg b/d0/d01/smallest__circle_8cpp_a6d0455dd5c30adda100e95f0423c786e_cgraph.svg deleted file mode 100644 index afda87b47..000000000 --- a/d0/d01/smallest__circle_8cpp_a6d0455dd5c30adda100e95f0423c786e_cgraph.svg +++ /dev/null @@ -1,293 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -test3 - - -Node1 - - -test3 - - - - - -Node2 - - -circle - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node1->Node3 - - - - - - - - -Node9 - - -std::vector::push_back - - - - - -Node1->Node9 - - - - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -LenghtLine - - - - - -Node2->Node4 - - - - - - - - -Node6 - - -PointInCircle - - - - - -Node2->Node6 - - - - - - - - -Node7 - - -std::vector::size - - - - - -Node2->Node7 - - - - - - - - -Node8 - - -TriangleArea - - - - - -Node2->Node8 - - - - - - - - -Node5 - - -std::sqrt - - - - - -Node4->Node5 - - - - - - - - -Node6->Node4 - - - - - - - - -Node6->Node7 - - - - - - - - -Node8->Node4 - - - - - - - - -Node8->Node5 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d0/d01/smallest__circle_8cpp_a6d0455dd5c30adda100e95f0423c786e_cgraph_org.svg b/d0/d01/smallest__circle_8cpp_a6d0455dd5c30adda100e95f0423c786e_cgraph_org.svg deleted file mode 100644 index df99b27f4..000000000 --- a/d0/d01/smallest__circle_8cpp_a6d0455dd5c30adda100e95f0423c786e_cgraph_org.svg +++ /dev/null @@ -1,210 +0,0 @@ - - - - - - -test3 - - -Node1 - - -test3 - - - - - -Node2 - - -circle - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node1->Node3 - - - - - - - - -Node9 - - -std::vector::push_back - - - - - -Node1->Node9 - - - - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -LenghtLine - - - - - -Node2->Node4 - - - - - - - - -Node6 - - -PointInCircle - - - - - -Node2->Node6 - - - - - - - - -Node7 - - -std::vector::size - - - - - -Node2->Node7 - - - - - - - - -Node8 - - -TriangleArea - - - - - -Node2->Node8 - - - - - - - - -Node5 - - -std::sqrt - - - - - -Node4->Node5 - - - - - - - - -Node6->Node4 - - - - - - - - -Node6->Node7 - - - - - - - - -Node8->Node4 - - - - - - - - -Node8->Node5 - - - - - - - - diff --git a/d0/d01/smallest__circle_8cpp_a94682a4a70d5906857ca09de5b9fb2cc_cgraph.map b/d0/d01/smallest__circle_8cpp_a94682a4a70d5906857ca09de5b9fb2cc_cgraph.map deleted file mode 100644 index 34d3268e8..000000000 --- a/d0/d01/smallest__circle_8cpp_a94682a4a70d5906857ca09de5b9fb2cc_cgraph.map +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/d0/d01/smallest__circle_8cpp_a94682a4a70d5906857ca09de5b9fb2cc_cgraph.md5 b/d0/d01/smallest__circle_8cpp_a94682a4a70d5906857ca09de5b9fb2cc_cgraph.md5 deleted file mode 100644 index 85d9783ba..000000000 --- a/d0/d01/smallest__circle_8cpp_a94682a4a70d5906857ca09de5b9fb2cc_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -a0b5e2fab902e6d13c549d780fa12999 \ No newline at end of file diff --git a/d0/d01/smallest__circle_8cpp_a94682a4a70d5906857ca09de5b9fb2cc_cgraph.svg b/d0/d01/smallest__circle_8cpp_a94682a4a70d5906857ca09de5b9fb2cc_cgraph.svg deleted file mode 100644 index f23fc923e..000000000 --- a/d0/d01/smallest__circle_8cpp_a94682a4a70d5906857ca09de5b9fb2cc_cgraph.svg +++ /dev/null @@ -1,92 +0,0 @@ - - - - - - - - - - - - -TriangleArea - - -Node1 - - -TriangleArea - - - - - -Node2 - - -LenghtLine - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::sqrt - - - - - -Node1->Node3 - - - - - - - - -Node2->Node3 - - - - - - - - - - - - - diff --git a/d0/d01/smallest__circle_8cpp_a94682a4a70d5906857ca09de5b9fb2cc_cgraph_org.svg b/d0/d01/smallest__circle_8cpp_a94682a4a70d5906857ca09de5b9fb2cc_cgraph_org.svg deleted file mode 100644 index 8de192e9c..000000000 --- a/d0/d01/smallest__circle_8cpp_a94682a4a70d5906857ca09de5b9fb2cc_cgraph_org.svg +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - -TriangleArea - - -Node1 - - -TriangleArea - - - - - -Node2 - - -LenghtLine - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::sqrt - - - - - -Node1->Node3 - - - - - - - - -Node2->Node3 - - - - - - - - diff --git a/d0/d01/smallest__circle_8cpp_ae1a3968e7947464bee7714f6d43b7002_cgraph.map b/d0/d01/smallest__circle_8cpp_ae1a3968e7947464bee7714f6d43b7002_cgraph.map deleted file mode 100644 index 2bffcb8fd..000000000 --- a/d0/d01/smallest__circle_8cpp_ae1a3968e7947464bee7714f6d43b7002_cgraph.map +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d0/d01/smallest__circle_8cpp_ae1a3968e7947464bee7714f6d43b7002_cgraph.md5 b/d0/d01/smallest__circle_8cpp_ae1a3968e7947464bee7714f6d43b7002_cgraph.md5 deleted file mode 100644 index addb0daff..000000000 --- a/d0/d01/smallest__circle_8cpp_ae1a3968e7947464bee7714f6d43b7002_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -ee2d992305f2e2b6ff47e9e17c780e16 \ No newline at end of file diff --git a/d0/d01/smallest__circle_8cpp_ae1a3968e7947464bee7714f6d43b7002_cgraph.svg b/d0/d01/smallest__circle_8cpp_ae1a3968e7947464bee7714f6d43b7002_cgraph.svg deleted file mode 100644 index 1ffe20ca9..000000000 --- a/d0/d01/smallest__circle_8cpp_ae1a3968e7947464bee7714f6d43b7002_cgraph.svg +++ /dev/null @@ -1,293 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -circle - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node1->Node3 - - - - - - - - -Node9 - - -std::vector::push_back - - - - - -Node1->Node9 - - - - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -LenghtLine - - - - - -Node2->Node4 - - - - - - - - -Node6 - - -PointInCircle - - - - - -Node2->Node6 - - - - - - - - -Node7 - - -std::vector::size - - - - - -Node2->Node7 - - - - - - - - -Node8 - - -TriangleArea - - - - - -Node2->Node8 - - - - - - - - -Node5 - - -std::sqrt - - - - - -Node4->Node5 - - - - - - - - -Node6->Node4 - - - - - - - - -Node6->Node7 - - - - - - - - -Node8->Node4 - - - - - - - - -Node8->Node5 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d0/d01/smallest__circle_8cpp_ae1a3968e7947464bee7714f6d43b7002_cgraph_org.svg b/d0/d01/smallest__circle_8cpp_ae1a3968e7947464bee7714f6d43b7002_cgraph_org.svg deleted file mode 100644 index bf4dfc27f..000000000 --- a/d0/d01/smallest__circle_8cpp_ae1a3968e7947464bee7714f6d43b7002_cgraph_org.svg +++ /dev/null @@ -1,210 +0,0 @@ - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -circle - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node1->Node3 - - - - - - - - -Node9 - - -std::vector::push_back - - - - - -Node1->Node9 - - - - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -LenghtLine - - - - - -Node2->Node4 - - - - - - - - -Node6 - - -PointInCircle - - - - - -Node2->Node6 - - - - - - - - -Node7 - - -std::vector::size - - - - - -Node2->Node7 - - - - - - - - -Node8 - - -TriangleArea - - - - - -Node2->Node8 - - - - - - - - -Node5 - - -std::sqrt - - - - - -Node4->Node5 - - - - - - - - -Node6->Node4 - - - - - - - - -Node6->Node7 - - - - - - - - -Node8->Node4 - - - - - - - - -Node8->Node5 - - - - - - - - diff --git a/d0/d01/smallest__circle_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d0/d01/smallest__circle_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 510751d69..000000000 --- a/d0/d01/smallest__circle_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d0/d01/smallest__circle_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d0/d01/smallest__circle_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index 3d22deb90..000000000 --- a/d0/d01/smallest__circle_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -e4dead63527972ad4766b1ba7051a051 \ No newline at end of file diff --git a/d0/d01/smallest__circle_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d0/d01/smallest__circle_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 13c117590..000000000 --- a/d0/d01/smallest__circle_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,410 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -test - - - - - -Node1->Node3 - - - - - - - - -Node11 - - -test2 - - - - - -Node1->Node11 - - - - - - - - -Node12 - - -test3 - - - - - -Node1->Node12 - - - - - - - - -Node3->Node2 - - - - - - - - -Node4 - - -circle - - - - - -Node3->Node4 - - - - - - - - -Node10 - - -std::vector::push_back - - - - - -Node3->Node10 - - - - - - - - -Node4->Node2 - - - - - - - - -Node5 - - -LenghtLine - - - - - -Node4->Node5 - - - - - - - - -Node7 - - -PointInCircle - - - - - -Node4->Node7 - - - - - - - - -Node8 - - -std::vector::size - - - - - -Node4->Node8 - - - - - - - - -Node9 - - -TriangleArea - - - - - -Node4->Node9 - - - - - - - - -Node6 - - -std::sqrt - - - - - -Node5->Node6 - - - - - - - - -Node7->Node5 - - - - - - - - -Node7->Node8 - - - - - - - - -Node9->Node5 - - - - - - - - -Node9->Node6 - - - - - - - - -Node11->Node2 - - - - - - - - -Node11->Node4 - - - - - - - - -Node11->Node10 - - - - - - - - -Node12->Node2 - - - - - - - - -Node12->Node4 - - - - - - - - -Node12->Node10 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d0/d01/smallest__circle_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d0/d01/smallest__circle_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index a22c9366b..000000000 --- a/d0/d01/smallest__circle_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,327 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -test - - - - - -Node1->Node3 - - - - - - - - -Node11 - - -test2 - - - - - -Node1->Node11 - - - - - - - - -Node12 - - -test3 - - - - - -Node1->Node12 - - - - - - - - -Node3->Node2 - - - - - - - - -Node4 - - -circle - - - - - -Node3->Node4 - - - - - - - - -Node10 - - -std::vector::push_back - - - - - -Node3->Node10 - - - - - - - - -Node4->Node2 - - - - - - - - -Node5 - - -LenghtLine - - - - - -Node4->Node5 - - - - - - - - -Node7 - - -PointInCircle - - - - - -Node4->Node7 - - - - - - - - -Node8 - - -std::vector::size - - - - - -Node4->Node8 - - - - - - - - -Node9 - - -TriangleArea - - - - - -Node4->Node9 - - - - - - - - -Node6 - - -std::sqrt - - - - - -Node5->Node6 - - - - - - - - -Node7->Node5 - - - - - - - - -Node7->Node8 - - - - - - - - -Node9->Node5 - - - - - - - - -Node9->Node6 - - - - - - - - -Node11->Node2 - - - - - - - - -Node11->Node4 - - - - - - - - -Node11->Node10 - - - - - - - - -Node12->Node2 - - - - - - - - -Node12->Node4 - - - - - - - - -Node12->Node10 - - - - - - - - diff --git a/d0/d01/smallest__circle_8cpp_aee6d48762c1dfb9f14627927f0c16fad_cgraph.map b/d0/d01/smallest__circle_8cpp_aee6d48762c1dfb9f14627927f0c16fad_cgraph.map deleted file mode 100644 index c5a867246..000000000 --- a/d0/d01/smallest__circle_8cpp_aee6d48762c1dfb9f14627927f0c16fad_cgraph.map +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/d0/d01/smallest__circle_8cpp_aee6d48762c1dfb9f14627927f0c16fad_cgraph.md5 b/d0/d01/smallest__circle_8cpp_aee6d48762c1dfb9f14627927f0c16fad_cgraph.md5 deleted file mode 100644 index 074588fcd..000000000 --- a/d0/d01/smallest__circle_8cpp_aee6d48762c1dfb9f14627927f0c16fad_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -26086eaef0265b1a1ee0a69415b35104 \ No newline at end of file diff --git a/d0/d01/smallest__circle_8cpp_aee6d48762c1dfb9f14627927f0c16fad_cgraph.svg b/d0/d01/smallest__circle_8cpp_aee6d48762c1dfb9f14627927f0c16fad_cgraph.svg deleted file mode 100644 index 43943abbd..000000000 --- a/d0/d01/smallest__circle_8cpp_aee6d48762c1dfb9f14627927f0c16fad_cgraph.svg +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - - - - - - - -PointInCircle - - -Node1 - - -PointInCircle - - - - - -Node2 - - -LenghtLine - - - - - -Node1->Node2 - - - - - - - - -Node4 - - -std::vector::size - - - - - -Node1->Node4 - - - - - - - - -Node3 - - -std::sqrt - - - - - -Node2->Node3 - - - - - - - - - - - - - diff --git a/d0/d01/smallest__circle_8cpp_aee6d48762c1dfb9f14627927f0c16fad_cgraph_org.svg b/d0/d01/smallest__circle_8cpp_aee6d48762c1dfb9f14627927f0c16fad_cgraph_org.svg deleted file mode 100644 index 88b6cb06a..000000000 --- a/d0/d01/smallest__circle_8cpp_aee6d48762c1dfb9f14627927f0c16fad_cgraph_org.svg +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - -PointInCircle - - -Node1 - - -PointInCircle - - - - - -Node2 - - -LenghtLine - - - - - -Node1->Node2 - - - - - - - - -Node4 - - -std::vector::size - - - - - -Node1->Node4 - - - - - - - - -Node3 - - -std::sqrt - - - - - -Node2->Node3 - - - - - - - - diff --git a/d0/d01/smallest__circle_8cpp_source.html b/d0/d01/smallest__circle_8cpp_source.html new file mode 100644 index 000000000..10632eb41 --- /dev/null +++ b/d0/d01/smallest__circle_8cpp_source.html @@ -0,0 +1,306 @@ + + + + + + + + +TheAlgorithms/C++: others/smallest_circle.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
TheAlgorithms/C++ 1.0.0 +
+
All the algorithms implemented in C++
+
+
+ + + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
smallest_circle.cpp
+
+
+Go to the documentation of this file.
1
+
10#include <cmath>
+
11#include <iostream>
+
12#include <vector>
+
13
+
15struct Point {
+
16 double x,
+
17 y;
+
+
23 explicit Point(double a = 0.f, double b = 0.f) {
+
24 x = a;
+
25 y = b;
+
26 }
+
+
27};
+
28
+
+
37double LenghtLine(const Point &A, const Point &B) {
+
38 double dx = B.x - A.x;
+
39 double dy = B.y - A.y;
+
40 return std::sqrt((dx * dx) + (dy * dy));
+
41}
+
+
42
+
+
54double TriangleArea(const Point &A, const Point &B, const Point &C) {
+
55 double a = LenghtLine(A, B);
+
56 double b = LenghtLine(B, C);
+
57 double c = LenghtLine(C, A);
+
58 double p = (a + b + c) / 2;
+
59 return std::sqrt(p * (p - a) * (p - b) * (p - c));
+
60}
+
+
61
+
+
72bool PointInCircle(const std::vector<Point> &P, const Point &Center, double R) {
+
73 for (size_t i = 0; i < P.size(); i++) {
+
74 if (LenghtLine(P[i], Center) > R)
+
75 return false;
+
76 }
+
77 return true;
+
78}
+
+
79
+
+
87double circle(const std::vector<Point> &P) {
+
88 double minR = INFINITY;
+
89 double R;
+
90 Point C;
+
91 Point minC;
+
92
+
93 /* This code is invalid and does not give correct result for TEST 3 */
+
94 // for each point in the list
+
95 for (size_t i = 0; i < P.size() - 2; i++)
+
96 // for every subsequent point in the list
+
97 for (size_t j = i + 1; j < P.size(); j++)
+
98 // for every subsequent point in the list
+
99 for (size_t k = j + 1; k < P.size(); k++) {
+
100 // here, we now have picked three points from the given set of
+
101 // points that we can use
+
102 // viz., P[i], P[j] and P[k]
+
103 C.x = -0.5 * ((P[i].y * (P[j].x * P[j].x + P[j].y * P[j].y -
+
104 P[k].x * P[k].x - P[k].y * P[k].y) +
+
105 P[j].y * (P[k].x * P[k].x + P[k].y * P[k].y -
+
106 P[i].x * P[i].x - P[i].y * P[i].y) +
+
107 P[k].y * (P[i].x * P[i].x + P[i].y * P[i].y -
+
108 P[j].x * P[j].x - P[j].y * P[j].y)) /
+
109 (P[i].x * (P[j].y - P[k].y) +
+
110 P[j].x * (P[k].y - P[i].y) +
+
111 P[k].x * (P[i].y - P[j].y)));
+
112 C.y = 0.5 * ((P[i].x * (P[j].x * P[j].x + P[j].y * P[j].y -
+
113 P[k].x * P[k].x - P[k].y * P[k].y) +
+
114 P[j].x * (P[k].x * P[k].x + P[k].y * P[k].y -
+
115 P[i].x * P[i].x - P[i].y * P[i].y) +
+
116 P[k].x * (P[i].x * P[i].x + P[i].y * P[i].y -
+
117 P[j].x * P[j].x - P[j].y * P[j].y)) /
+
118 (P[i].x * (P[j].y - P[k].y) +
+
119 P[j].x * (P[k].y - P[i].y) +
+
120 P[k].x * (P[i].y - P[j].y)));
+
121 R = (LenghtLine(P[i], P[j]) * LenghtLine(P[j], P[k]) *
+
122 LenghtLine(P[k], P[i])) /
+
123 (4 * TriangleArea(P[i], P[j], P[k]));
+
124 if (!PointInCircle(P, C, R)) {
+
125 continue;
+
126 }
+
127 if (R <= minR) {
+
128 minR = R;
+
129 minC = C;
+
130 }
+
131 }
+
132
+
133 // for each point in the list
+
134 for (size_t i = 0; i < P.size() - 1; i++)
+
135 // for every subsequent point in the list
+
136 for (size_t j = i + 1; j < P.size(); j++) {
+
137 // check for diameterically opposite points
+
138 C.x = (P[i].x + P[j].x) / 2;
+
139 C.y = (P[i].y + P[j].y) / 2;
+
140 R = LenghtLine(C, P[i]);
+
141 if (!PointInCircle(P, C, R)) {
+
142 continue;
+
143 }
+
144 if (R <= minR) {
+
145 minR = R;
+
146 minC = C;
+
147 }
+
148 }
+
149 std::cout << minC.x << " " << minC.y << std::endl;
+
150 return minR;
+
151}
+
+
152
+
+
158void test() {
+
159 std::vector<Point> Pv;
+
160 Pv.push_back(Point(0, 0));
+
161 Pv.push_back(Point(5, 4));
+
162 Pv.push_back(Point(1, 3));
+
163 Pv.push_back(Point(4, 1));
+
164 Pv.push_back(Point(3, -2));
+
165 std::cout << circle(Pv) << std::endl;
+
166}
+
+
167
+
+
173void test2() {
+
174 std::vector<Point> Pv;
+
175 Pv.push_back(Point(0, 0));
+
176 Pv.push_back(Point(0, 2));
+
177 Pv.push_back(Point(2, 2));
+
178 Pv.push_back(Point(2, 0));
+
179 std::cout << circle(Pv) << std::endl;
+
180}
+
+
181
+
+
188void test3() {
+
189 std::vector<Point> Pv;
+
190 Pv.push_back(Point(0.5, 1));
+
191 Pv.push_back(Point(3.5, 3));
+
192 Pv.push_back(Point(2.5, 0));
+
193 Pv.push_back(Point(2, 1.5));
+
194 std::cout << circle(Pv) << std::endl;
+
195}
+
+
196
+
+
198int main() {
+
199 test();
+
200 std::cout << std::endl;
+
201 test2();
+
202 std::cout << std::endl;
+
203 test3();
+
204 return 0;
+
205}
+
+
void test2()
+
double circle(const std::vector< Point > &P)
+
double LenghtLine(const Point &A, const Point &B)
+
void test3()
+
double TriangleArea(const Point &A, const Point &B, const Point &C)
+
void test()
+
int main()
+
bool PointInCircle(const std::vector< Point > &P, const Point &Center, double R)
+ +
int y
Point respect to x coordinate.
+ +
Point(double a=0.f, double b=0.f)
+ +
+
+ + + + diff --git a/d0/d08/realtime__stats_8cpp.html b/d0/d08/realtime__stats_8cpp.html index a23569933..cf047d562 100644 --- a/d0/d08/realtime__stats_8cpp.html +++ b/d0/d08/realtime__stats_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: math/realtime_stats.cpp File Reference +TheAlgorithms/C++: math/realtime_stats.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
@@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -122,7 +139,9 @@ Include dependency graph for realtime_stats.cpp:
-
-
Algorithms_in_C++ 1.0.0 +
TheAlgorithms/C++ 1.0.0
-
Set of algorithms implemented in C++.
+
All the algorithms implemented in C++
+ +

Go to the source code of this file.

+
@@ -146,6 +165,8 @@ Functions

Detailed Description

Compute statistics for data entered in rreal-time.

This algorithm is really beneficial to compute statistics on data read in realtime. For example, devices reading biometrics data. The algorithm is simple enough to be easily implemented in an embedded system.

Author
Krishna Vedala
+ +

Definition in file realtime_stats.cpp.

Function Documentation

◆ main()

@@ -166,62 +187,56 @@ Functions

Classes

class  statistics::stats_computer1< T >

Main function

+ +

Definition at line 158 of file realtime_stats.cpp.

158 {
159 const float test_data1[] = {3, 4, 5, -1.4, -3.6, 1.9, 1.};
160 test_function(test_data1, sizeof(test_data1) / sizeof(test_data1[0]));
161
- +
162 std::cout
163 << "Enter data. Any non-numeric data will terminate the data input."
-
164 << std::endl;
+
164 << std::endl;
165
168
169 while (1) {
170 double val;
-
171 std::cout << "Enter number: ";
-
172 std::cin >> val;
+
171 std::cout << "Enter number: ";
+
172 std::cin >> val;
173
174 // check for failure to read input. Happens for
175 // non-numeric data
-
176 if (std::cin.fail())
+
176 if (std::cin.fail())
177 break;
178
179 stats1.new_val(val);
180 stats2.new_val(val);
181
-
182 std::cout << "\tMethod 1:"
+
182 std::cout << "\tMethod 1:"
183 << "\tMean: " << stats1.mean()
184 << "\t Variance: " << stats1.variance()
-
185 << "\t Std: " << stats1.std() << std::endl;
-
186 std::cout << "\tMethod 2:"
+
185 << "\t Std: " << stats1.std() << std::endl;
+
186 std::cout << "\tMethod 2:"
187 << "\tMean: " << stats2.mean()
188 << "\t Variance: " << stats2.variance()
-
189 << "\t Std: " << stats2.std() << std::endl;
+
189 << "\t Std: " << stats2.std() << std::endl;
190 }
191
192 return 0;
193}
- - -
Definition realtime_stats.cpp:27
-
double variance() const
Definition realtime_stats.cpp:45
-
double mean() const
Definition realtime_stats.cpp:42
-
void new_val(T x)
Definition realtime_stats.cpp:32
-
double std() const
Definition realtime_stats.cpp:48
-
Definition realtime_stats.cpp:72
-
double mean() const
Definition realtime_stats.cpp:86
-
double std() const
Definition realtime_stats.cpp:92
-
void new_val(T x)
Definition realtime_stats.cpp:77
-
double variance() const
Definition realtime_stats.cpp:89
-
T endl(T... args)
-
void test_function(const float *test_data, const int number_of_samples)
Definition realtime_stats.cpp:118
-
-Here is the call graph for this function:
-
-
-
- + + + + + + + + + + +
void test_function(const float *test_data, const int number_of_samples)
+
@@ -248,6 +263,8 @@ Here is the call graph for this function: + +

Definition at line 118 of file realtime_stats.cpp.

118 {
119 float mean = 0.f, variance = 0.f;
120
@@ -268,30 +285,25 @@ Here is the call graph for this function:
135 }
136 variance /= number_of_samples;
137
-
138 std::cout << "<<<<<<<< Test Function >>>>>>>>" << std::endl
+
138 std::cout << "<<<<<<<< Test Function >>>>>>>>" << std::endl
139 << "Expected: Mean: " << mean << "\t Variance: " << variance
-
140 << std::endl;
-
141 std::cout << "\tMethod 1:"
+
140 << std::endl;
+
141 std::cout << "\tMethod 1:"
142 << "\tMean: " << stats01.mean()
143 << "\t Variance: " << stats01.variance()
-
144 << "\t Std: " << stats01.std() << std::endl;
-
145 std::cout << "\tMethod 2:"
+
144 << "\t Std: " << stats01.std() << std::endl;
+
145 std::cout << "\tMethod 2:"
146 << "\tMean: " << stats02.mean()
147 << "\t Variance: " << stats02.variance()
-
148 << "\t Std: " << stats02.std() << std::endl;
+
148 << "\t Std: " << stats02.std() << std::endl;
149
150 assert(std::abs(stats01.mean() - mean) < 0.01);
151 assert(std::abs(stats02.mean() - mean) < 0.01);
152 assert(std::abs(stats02.variance() - variance) < 0.01);
153
-
154 std::cout << "(Tests passed)" << std::endl;
+
154 std::cout << "(Tests passed)" << std::endl;
155}
-
-Here is the call graph for this function:
-
-
-
- + diff --git a/d0/d08/realtime__stats_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph.map b/d0/d08/realtime__stats_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph.map deleted file mode 100644 index ccef86dbb..000000000 --- a/d0/d08/realtime__stats_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph.map +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d0/d08/realtime__stats_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph.md5 b/d0/d08/realtime__stats_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph.md5 deleted file mode 100644 index 79447e506..000000000 --- a/d0/d08/realtime__stats_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -260a03c71eca6f0d94159d4954a752cd \ No newline at end of file diff --git a/d0/d08/realtime__stats_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph.svg b/d0/d08/realtime__stats_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph.svg deleted file mode 100644 index 5e36e7962..000000000 --- a/d0/d08/realtime__stats_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph.svg +++ /dev/null @@ -1,416 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -statistics::stats_computer1 -::mean - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -statistics::stats_computer2 -::mean - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -statistics::stats_computer1 -::new_val - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -statistics::stats_computer2 -::new_val - - - - - -Node1->Node6 - - - - - - - - -Node7 - - -statistics::stats_computer1::std - - - - - -Node1->Node7 - - - - - - - - -Node9 - - -statistics::stats_computer1 -::variance - - - - - -Node1->Node9 - - - - - - - - -Node10 - - -statistics::stats_computer2::std - - - - - -Node1->Node10 - - - - - - - - -Node11 - - -statistics::stats_computer2 -::variance - - - - - -Node1->Node11 - - - - - - - - -Node12 - - -test_function - - - - - -Node1->Node12 - - - - - - - - -Node8 - - -std::sqrt - - - - - -Node7->Node8 - - - - - - - - -Node7->Node9 - - - - - - - - -Node10->Node8 - - - - - - - - -Node10->Node11 - - - - - - - - -Node12->Node2 - - - - - - - - -Node12->Node3 - - - - - - - - -Node12->Node4 - - - - - - - - -Node12->Node5 - - - - - - - - -Node12->Node6 - - - - - - - - -Node12->Node7 - - - - - - - - -Node12->Node9 - - - - - - - - -Node12->Node10 - - - - - - - - -Node12->Node11 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d0/d08/realtime__stats_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph_org.svg b/d0/d08/realtime__stats_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph_org.svg deleted file mode 100644 index 40015651f..000000000 --- a/d0/d08/realtime__stats_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph_org.svg +++ /dev/null @@ -1,333 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -statistics::stats_computer1 -::mean - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -statistics::stats_computer2 -::mean - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -statistics::stats_computer1 -::new_val - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -statistics::stats_computer2 -::new_val - - - - - -Node1->Node6 - - - - - - - - -Node7 - - -statistics::stats_computer1::std - - - - - -Node1->Node7 - - - - - - - - -Node9 - - -statistics::stats_computer1 -::variance - - - - - -Node1->Node9 - - - - - - - - -Node10 - - -statistics::stats_computer2::std - - - - - -Node1->Node10 - - - - - - - - -Node11 - - -statistics::stats_computer2 -::variance - - - - - -Node1->Node11 - - - - - - - - -Node12 - - -test_function - - - - - -Node1->Node12 - - - - - - - - -Node8 - - -std::sqrt - - - - - -Node7->Node8 - - - - - - - - -Node7->Node9 - - - - - - - - -Node10->Node8 - - - - - - - - -Node10->Node11 - - - - - - - - -Node12->Node2 - - - - - - - - -Node12->Node3 - - - - - - - - -Node12->Node4 - - - - - - - - -Node12->Node5 - - - - - - - - -Node12->Node6 - - - - - - - - -Node12->Node7 - - - - - - - - -Node12->Node9 - - - - - - - - -Node12->Node10 - - - - - - - - -Node12->Node11 - - - - - - - - diff --git a/d0/d08/realtime__stats_8cpp_aa54c915581fcc495489175a4386d59fd_cgraph.map b/d0/d08/realtime__stats_8cpp_aa54c915581fcc495489175a4386d59fd_cgraph.map deleted file mode 100644 index a35a063a8..000000000 --- a/d0/d08/realtime__stats_8cpp_aa54c915581fcc495489175a4386d59fd_cgraph.map +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d0/d08/realtime__stats_8cpp_aa54c915581fcc495489175a4386d59fd_cgraph.md5 b/d0/d08/realtime__stats_8cpp_aa54c915581fcc495489175a4386d59fd_cgraph.md5 deleted file mode 100644 index a8eb3a67d..000000000 --- a/d0/d08/realtime__stats_8cpp_aa54c915581fcc495489175a4386d59fd_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -a41be49ee9ef41e9956269c6434158b2 \ No newline at end of file diff --git a/d0/d08/realtime__stats_8cpp_aa54c915581fcc495489175a4386d59fd_cgraph.svg b/d0/d08/realtime__stats_8cpp_aa54c915581fcc495489175a4386d59fd_cgraph.svg deleted file mode 100644 index 8a359deb1..000000000 --- a/d0/d08/realtime__stats_8cpp_aa54c915581fcc495489175a4386d59fd_cgraph.svg +++ /dev/null @@ -1,260 +0,0 @@ - - - - - - - - - - - - -test_function - - -Node1 - - -test_function - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -statistics::stats_computer1 -::mean - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -statistics::stats_computer2 -::mean - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -statistics::stats_computer1 -::new_val - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -statistics::stats_computer2 -::new_val - - - - - -Node1->Node6 - - - - - - - - -Node7 - - -statistics::stats_computer1::std - - - - - -Node1->Node7 - - - - - - - - -Node9 - - -statistics::stats_computer1 -::variance - - - - - -Node1->Node9 - - - - - - - - -Node10 - - -statistics::stats_computer2::std - - - - - -Node1->Node10 - - - - - - - - -Node11 - - -statistics::stats_computer2 -::variance - - - - - -Node1->Node11 - - - - - - - - -Node8 - - -std::sqrt - - - - - -Node7->Node8 - - - - - - - - -Node7->Node9 - - - - - - - - -Node10->Node8 - - - - - - - - -Node10->Node11 - - - - - - - - - - - - - diff --git a/d0/d08/realtime__stats_8cpp_aa54c915581fcc495489175a4386d59fd_cgraph_org.svg b/d0/d08/realtime__stats_8cpp_aa54c915581fcc495489175a4386d59fd_cgraph_org.svg deleted file mode 100644 index 664373d97..000000000 --- a/d0/d08/realtime__stats_8cpp_aa54c915581fcc495489175a4386d59fd_cgraph_org.svg +++ /dev/null @@ -1,234 +0,0 @@ - - - - - - -test_function - - -Node1 - - -test_function - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -statistics::stats_computer1 -::mean - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -statistics::stats_computer2 -::mean - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -statistics::stats_computer1 -::new_val - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -statistics::stats_computer2 -::new_val - - - - - -Node1->Node6 - - - - - - - - -Node7 - - -statistics::stats_computer1::std - - - - - -Node1->Node7 - - - - - - - - -Node9 - - -statistics::stats_computer1 -::variance - - - - - -Node1->Node9 - - - - - - - - -Node10 - - -statistics::stats_computer2::std - - - - - -Node1->Node10 - - - - - - - - -Node11 - - -statistics::stats_computer2 -::variance - - - - - -Node1->Node11 - - - - - - - - -Node8 - - -std::sqrt - - - - - -Node7->Node8 - - - - - - - - -Node7->Node9 - - - - - - - - -Node10->Node8 - - - - - - - - -Node10->Node11 - - - - - - - - diff --git a/d0/d08/realtime__stats_8cpp_source.html b/d0/d08/realtime__stats_8cpp_source.html new file mode 100644 index 000000000..bf2c23a70 --- /dev/null +++ b/d0/d08/realtime__stats_8cpp_source.html @@ -0,0 +1,317 @@ + + + + + + + + +TheAlgorithms/C++: math/realtime_stats.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
TheAlgorithms/C++ 1.0.0 +
+
All the algorithms implemented in C++
+
+
+ + + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
realtime_stats.cpp
+
+
+Go to the documentation of this file.
1
+
10#include <cassert>
+
11#include <cmath>
+
12#include <iostream>
+
13
+
18namespace statistics {
+
19
+
26template <typename T>
+
+ +
28 public:
+
+
32 void new_val(T x) {
+
33 if (n == 0)
+
34 K = x;
+
35 n++;
+
36 T tmp = x - K;
+
37 Ex += tmp;
+
38 Ex2 += static_cast<double>(tmp) * tmp;
+
39 }
+
+
40
+
42 double mean() const { return K + Ex / n; }
+
43
+
45 double variance() const { return (Ex2 - (Ex * Ex) / n) / (n - 1); }
+
46
+
48 double std() const { return std::sqrt(this->variance()); }
+
49
+
+
53 friend std::istream &operator>>(std::istream &input,
+
54 stats_computer1 &stat) {
+
55 T val;
+
56 input >> val;
+
57 stat.new_val(val);
+
58 return input;
+
59 }
+
+
60
+
61 private:
+
62 unsigned int n = 0;
+
63 double Ex, Ex2;
+
64 T K;
+
65};
+
+
66
+
71template <typename T>
+
+ +
73 public:
+
+
77 void new_val(T x) {
+
78 n++;
+
79 double delta = x - mu;
+
80 mu += delta / n;
+
81 double delta2 = x - mu;
+
82 M += delta * delta2;
+
83 }
+
+
84
+
86 double mean() const { return mu; }
+
87
+
89 double variance() const { return M / n; }
+
90
+
92 double std() const { return std::sqrt(this->variance()); }
+
93
+
+
97 friend std::istream &operator>>(std::istream &input,
+
98 stats_computer2 &stat) {
+
99 T val;
+
100 input >> val;
+
101 stat.new_val(val);
+
102 return input;
+
103 }
+
+
104
+
105 private:
+
106 unsigned int n = 0;
+
107 double mu = 0, var = 0, M = 0;
+
108};
+
+
109
+
110} // namespace statistics
+
111
+ + +
114
+
+
118void test_function(const float *test_data, const int number_of_samples) {
+
119 float mean = 0.f, variance = 0.f;
+
120
+ + +
123
+
124 for (int i = 0; i < number_of_samples; i++) {
+
125 stats01.new_val(test_data[i]);
+
126 stats02.new_val(test_data[i]);
+
127 mean += test_data[i];
+
128 }
+
129
+
130 mean /= number_of_samples;
+
131
+
132 for (int i = 0; i < number_of_samples; i++) {
+
133 float temp = test_data[i] - mean;
+
134 variance += temp * temp;
+
135 }
+
136 variance /= number_of_samples;
+
137
+
138 std::cout << "<<<<<<<< Test Function >>>>>>>>" << std::endl
+
139 << "Expected: Mean: " << mean << "\t Variance: " << variance
+
140 << std::endl;
+
141 std::cout << "\tMethod 1:"
+
142 << "\tMean: " << stats01.mean()
+
143 << "\t Variance: " << stats01.variance()
+
144 << "\t Std: " << stats01.std() << std::endl;
+
145 std::cout << "\tMethod 2:"
+
146 << "\tMean: " << stats02.mean()
+
147 << "\t Variance: " << stats02.variance()
+
148 << "\t Std: " << stats02.std() << std::endl;
+
149
+
150 assert(std::abs(stats01.mean() - mean) < 0.01);
+
151 assert(std::abs(stats02.mean() - mean) < 0.01);
+
152 assert(std::abs(stats02.variance() - variance) < 0.01);
+
153
+
154 std::cout << "(Tests passed)" << std::endl;
+
155}
+
+
156
+
+
158int main(int argc, char **argv) {
+
159 const float test_data1[] = {3, 4, 5, -1.4, -3.6, 1.9, 1.};
+
160 test_function(test_data1, sizeof(test_data1) / sizeof(test_data1[0]));
+
161
+
162 std::cout
+
163 << "Enter data. Any non-numeric data will terminate the data input."
+
164 << std::endl;
+
165
+ + +
168
+
169 while (1) {
+
170 double val;
+
171 std::cout << "Enter number: ";
+
172 std::cin >> val;
+
173
+
174 // check for failure to read input. Happens for
+
175 // non-numeric data
+
176 if (std::cin.fail())
+
177 break;
+
178
+
179 stats1.new_val(val);
+
180 stats2.new_val(val);
+
181
+
182 std::cout << "\tMethod 1:"
+
183 << "\tMean: " << stats1.mean()
+
184 << "\t Variance: " << stats1.variance()
+
185 << "\t Std: " << stats1.std() << std::endl;
+
186 std::cout << "\tMethod 2:"
+
187 << "\tMean: " << stats2.mean()
+
188 << "\t Variance: " << stats2.variance()
+
189 << "\t Std: " << stats2.std() << std::endl;
+
190 }
+
191
+
192 return 0;
+
193}
+
+ + +
friend std::istream & operator>>(std::istream &input, stats_computer1 &stat)
+ + + + + +
friend std::istream & operator>>(std::istream &input, stats_computer2 &stat)
+ + + +
int main()
Main function.
+
Statistical algorithms.
+
void test_function(const float *test_data, const int number_of_samples)
+
+
+ + + + diff --git a/d0/d0d/structmst-members.html b/d0/d0d/structmst-members.html index 4d25dedec..041626370 100644 --- a/d0/d0d/structmst-members.html +++ b/d0/d0d/structmst-members.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Member List +TheAlgorithms/C++: Member List + + + @@ -18,14 +24,24 @@ - - + +
@@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/d0/d20/namespaceground__to__ground__projectile__motion.html b/d0/d20/namespaceground__to__ground__projectile__motion.html index aeb3f8fbf..fb7331072 100644 --- a/d0/d20/namespaceground__to__ground__projectile__motion.html +++ b/d0/d20/namespaceground__to__ground__projectile__motion.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: ground_to_ground_projectile_motion Namespace Reference +TheAlgorithms/C++: ground_to_ground_projectile_motion Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
@@ -33,10 +49,11 @@ MathJax.Hub.Config({
-
Algorithms_in_C++ 1.0.0 +
TheAlgorithms/C++ 1.0.0
-
Set of algorithms implemented in C++.
+
All the algorithms implemented in C++
+ diff --git a/d0/d24/classgraph_1_1_rooted_tree__coll__graph.map b/d0/d24/classgraph_1_1_rooted_tree__coll__graph.map index a14da6a01..d92f3c6ee 100644 --- a/d0/d24/classgraph_1_1_rooted_tree__coll__graph.map +++ b/d0/d24/classgraph_1_1_rooted_tree__coll__graph.map @@ -2,12 +2,12 @@ - + - + - + diff --git a/d0/d24/classgraph_1_1_rooted_tree__coll__graph.md5 b/d0/d24/classgraph_1_1_rooted_tree__coll__graph.md5 index 5de27528d..af82efb6c 100644 --- a/d0/d24/classgraph_1_1_rooted_tree__coll__graph.md5 +++ b/d0/d24/classgraph_1_1_rooted_tree__coll__graph.md5 @@ -1 +1 @@ -c3f294eaa860a6b1bc98890ece84713d \ No newline at end of file +f832bf466ff54737b2b22c9eacebd2f3 \ No newline at end of file diff --git a/d0/d24/classgraph_1_1_rooted_tree__coll__graph.svg b/d0/d24/classgraph_1_1_rooted_tree__coll__graph.svg index c7624b10b..aa11ae6de 100644 --- a/d0/d24/classgraph_1_1_rooted_tree__coll__graph.svg +++ b/d0/d24/classgraph_1_1_rooted_tree__coll__graph.svg @@ -49,7 +49,7 @@ Node3 - + std::map< T, std::list < T > > @@ -89,7 +89,7 @@ Node5 - + std::vector< std::vector < int > > @@ -109,7 +109,7 @@ Node6 - + std::vector< int > diff --git a/d0/d24/classgraph_1_1_rooted_tree__coll__graph_org.svg b/d0/d24/classgraph_1_1_rooted_tree__coll__graph_org.svg index 471cd44eb..fd1426b92 100644 --- a/d0/d24/classgraph_1_1_rooted_tree__coll__graph_org.svg +++ b/d0/d24/classgraph_1_1_rooted_tree__coll__graph_org.svg @@ -38,7 +38,7 @@ Node3 - + std::map< T, std::list < T > > @@ -78,7 +78,7 @@ Node5 - + std::vector< std::vector < int > > @@ -98,7 +98,7 @@ Node6 - + std::vector< int > diff --git a/d0/d2b/namespacequick__sort.html b/d0/d2b/namespacequick__sort.html index 5409587f0..d4be4d964 100644 --- a/d0/d2b/namespacequick__sort.html +++ b/d0/d2b/namespacequick__sort.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: quick_sort Namespace Reference +TheAlgorithms/C++: quick_sort Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
@@ -33,10 +49,11 @@ MathJax.Hub.Config({
-
Algorithms_in_C++ 1.0.0 +
TheAlgorithms/C++ 1.0.0
-
Set of algorithms implemented in C++.
+
All the algorithms implemented in C++
+ diff --git a/d0/d2e/namespaceneural__network.html b/d0/d2e/namespaceneural__network.html index 09ec20754..6e092ffd0 100644 --- a/d0/d2e/namespaceneural__network.html +++ b/d0/d2e/namespaceneural__network.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: neural_network Namespace Reference +TheAlgorithms/C++: neural_network Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
@@ -33,10 +49,11 @@ MathJax.Hub.Config({
-
Algorithms_in_C++ 1.0.0 +
TheAlgorithms/C++ 1.0.0
-
Set of algorithms implemented in C++.
+
All the algorithms implemented in C++
+ diff --git a/d0/d3e/classdata__structures_1_1trie.html b/d0/d3e/classdata__structures_1_1trie.html index 87e68ad33..a5804dde1 100644 --- a/d0/d3e/classdata__structures_1_1trie.html +++ b/d0/d3e/classdata__structures_1_1trie.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: data_structures::trie Class Reference +TheAlgorithms/C++: data_structures::trie Class Reference + + + @@ -18,14 +24,24 @@ - - + +
@@ -33,10 +49,11 @@ MathJax.Hub.Config({
-
Algorithms_in_C++ 1.0.0 +
TheAlgorithms/C++ 1.0.0
-
Set of algorithms implemented in C++.
+
All the algorithms implemented in C++
+ @@ -123,11 +140,11 @@ Public Member Functions   - + - + - +
-
Algorithms_in_C++ 1.0.0 +
TheAlgorithms/C++ 1.0.0
-
Set of algorithms implemented in C++.
+
All the algorithms implemented in C++
trie ()=default
 Class default constructor.
 
void insert (const std::string &str)
void insert (const std::string &str)
 
bool search (const std::string &str, int index)
bool search (const std::string &str, int index)
 
bool deleteString (const std::string &str, int index)
bool deleteString (const std::string &str, int index)
 
- +

@@ -135,29 +152,28 @@ Private Member Functions

uint8_t char_to_int (const char &ch) const
 Convert a character to integer for indexing.
 
bool search (const std::shared_ptr< trie > &root, const std::string &str, int index)
bool search (const std::shared_ptr< trie > &root, const std::string &str, int index)
 
- - + + - - + +

Private Attributes

-std::array< std::shared_ptr< trie >, NUM_CHARS<< 1 > arr
 Recursive tree nodes as an array of shared-pointers.
std::array< std::shared_ptr< trie >, NUM_CHARS<< 1 > arr
 Recursive tree nodes as an array of shared-pointers.
 
-bool isEndofWord = false
 identifier if a node is terminal node
bool isEndofWord = false
 identifier if a node is terminal node
 
- - + +

Static Private Attributes

-static constexpr uint8_t NUM_CHARS = 26
 Number of alphabets.
static constexpr uint8_t NUM_CHARS = 26
 Number of alphabets.
 

Detailed Description

Trie implementation for small-case English alphabets a-z

+ +

Definition at line 25 of file trie_tree.cpp.

Member Function Documentation

◆ char_to_int()

@@ -190,6 +206,8 @@ static constexpr uint8_t N
Returns
unsigned integer index
+ +

Definition at line 38 of file trie_tree.cpp.

38 {
39 if (ch >= 'A' && ch <= 'Z') {
40 return ch - 'A';
@@ -197,19 +215,12 @@ static constexpr uint8_t N
42 return ch - 'a' + NUM_CHARS;
43 }
44
-
45 std::cerr << "Invalid character present. Exiting...";
-
46 std::exit(EXIT_FAILURE);
+
45 std::cerr << "Invalid character present. Exiting...";
+
46 std::exit(EXIT_FAILURE);
47 return 0;
48 }
- -
static constexpr uint8_t NUM_CHARS
Number of alphabets.
Definition trie_tree.cpp:27
-
T exit(T... args)
-
-Here is the call graph for this function:
-
-
-
- +
static constexpr uint8_t NUM_CHARS
Number of alphabets.
Definition trie_tree.cpp:27
+
@@ -224,7 +235,7 @@ Here is the call graph for this function: bool data_structures::trie::deleteString ( - const std::string & str, + const std::string & str, @@ -250,8 +261,10 @@ Here is the call graph for this function:
Returns
true if successful
false if unsuccessful
+ +

Definition at line 134 of file trie_tree.cpp.

134 {
-
135 if (index == str.length()) {
+
135 if (index == str.length()) {
136 if (!isEndofWord) {
137 return false;
138 }
@@ -283,21 +296,15 @@ Here is the call graph for this function:
164 }
165
166 /* should not return here */
-
167 std::cout << __func__ << ":" << __LINE__
+
167 std::cout << __func__ << ":" << __LINE__
168 << "Should not reach this line\n";
169 return false;
170 }
-
std::array< std::shared_ptr< trie >, NUM_CHARS<< 1 > arr
Recursive tree nodes as an array of shared-pointers.
Definition trie_tree.cpp:29
-
bool isEndofWord
identifier if a node is terminal node
Definition trie_tree.cpp:30
-
uint8_t char_to_int(const char &ch) const
Convert a character to integer for indexing.
Definition trie_tree.cpp:38
-
bool deleteString(const std::string &str, int index)
Definition trie_tree.cpp:134
-
T length(T... args)
-
-Here is the call graph for this function:
-
-
-
- +
std::array< std::shared_ptr< trie >, NUM_CHARS<< 1 > arr
Recursive tree nodes as an array of shared-pointers.
Definition trie_tree.cpp:29
+
bool isEndofWord
identifier if a node is terminal node
Definition trie_tree.cpp:30
+
uint8_t char_to_int(const char &ch) const
Convert a character to integer for indexing.
Definition trie_tree.cpp:38
+
bool deleteString(const std::string &str, int index)
+ @@ -312,7 +319,7 @@ Here is the call graph for this function: void data_structures::trie::insert ( - const std::string & str) + const std::string & str) @@ -328,8 +335,10 @@ Here is the call graph for this function: + +

Definition at line 77 of file trie_tree.cpp.

77 {
-
78 std::shared_ptr<trie> root(nullptr);
+
78 std::shared_ptr<trie> root(nullptr);
79
80 for (const char& ch : str) {
81 int j = char_to_int(ch);
@@ -337,14 +346,14 @@ Here is the call graph for this function:
83 if (root->arr[j]) {
84 root = root->arr[j];
85 } else {
-
86 std::shared_ptr<trie> temp(new trie());
+
86 std::shared_ptr<trie> temp(new trie());
87 root->arr[j] = temp;
88 root = temp;
89 }
90 } else if (arr[j]) {
91 root = arr[j];
92 } else {
-
93 std::shared_ptr<trie> temp(new trie());
+
93 std::shared_ptr<trie> temp(new trie());
94 arr[j] = temp;
95 root = temp;
96 }
@@ -352,13 +361,7 @@ Here is the call graph for this function:
98 root->isEndofWord = true;
99 }
trie()=default
Class default constructor.
- -
-Here is the call graph for this function:
-
-
-
- + @@ -373,12 +376,12 @@ Here is the call graph for this function: bool data_structures::trie::search ( - const std::shared_ptr< trie > & root, + const std::shared_ptr< trie > & root, - const std::string & str, + const std::string & str, @@ -402,8 +405,10 @@ Here is the call graph for this function:
Returns
true if found
false if not found
+ +

Definition at line 56 of file trie_tree.cpp.

57 {
-
58 if (index == str.length()) {
+
58 if (index == str.length()) {
59 if (!root->isEndofWord) {
60 return false;
61 }
@@ -415,13 +420,8 @@ Here is the call graph for this function:
67 }
68 return search(root->arr[j], str, index + 1);
69 }
-
for std::assert
Definition binary_search.cpp:47
-
-Here is the call graph for this function:
-
-
-
- +
for std::assert
+ @@ -436,7 +436,7 @@ Here is the call graph for this function: bool data_structures::trie::search ( - const std::string & str, + const std::string & str, @@ -460,8 +460,10 @@ Here is the call graph for this function:
Returns
true if found
false if not found
+ +

Definition at line 107 of file trie_tree.cpp.

107 {
-
108 if (index == str.length()) {
+
108 if (index == str.length()) {
109 if (!isEndofWord) {
110 return false;
111 }
@@ -473,16 +475,90 @@ Here is the call graph for this function:
117 }
118 return search(arr[j], str, index + 1);
119 }
-
-Here is the call graph for this function:
-
-
+
+ +

Member Data Documentation

+ +

◆ arr

+ +
+
+ + + + + +
+ + + + +
std::array<std::shared_ptr<trie>, NUM_CHARS << 1> data_structures::trie::arr
+
+private
+
+ +

Recursive tree nodes as an array of shared-pointers.

+ +

Definition at line 29 of file trie_tree.cpp.

+ +
+
+ +

◆ isEndofWord

+ +
+
+ + + + + +
+ + + + +
bool data_structures::trie::isEndofWord = false
+
+private
+
+ +

identifier if a node is terminal node

+ +

Definition at line 30 of file trie_tree.cpp.

+ +
+
+ +

◆ NUM_CHARS

+ +
+
+ + + + + +
+ + + + +
uint8_t data_structures::trie::NUM_CHARS = 26
+
+staticconstexprprivate
+
+ +

Number of alphabets.

+ +

Definition at line 27 of file trie_tree.cpp.


The documentation for this class was generated from the following file: diff --git a/d0/d3e/classdata__structures_1_1trie_a0ab94bc6417e3f59fab33cea5b64d546_cgraph.map b/d0/d3e/classdata__structures_1_1trie_a0ab94bc6417e3f59fab33cea5b64d546_cgraph.map deleted file mode 100644 index 1cedd2b5e..000000000 --- a/d0/d3e/classdata__structures_1_1trie_a0ab94bc6417e3f59fab33cea5b64d546_cgraph.map +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/d0/d3e/classdata__structures_1_1trie_a0ab94bc6417e3f59fab33cea5b64d546_cgraph.md5 b/d0/d3e/classdata__structures_1_1trie_a0ab94bc6417e3f59fab33cea5b64d546_cgraph.md5 deleted file mode 100644 index 738a4c981..000000000 --- a/d0/d3e/classdata__structures_1_1trie_a0ab94bc6417e3f59fab33cea5b64d546_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -83f66359bb4ca43365398f5827b2bec7 \ No newline at end of file diff --git a/d0/d3e/classdata__structures_1_1trie_a0ab94bc6417e3f59fab33cea5b64d546_cgraph.svg b/d0/d3e/classdata__structures_1_1trie_a0ab94bc6417e3f59fab33cea5b64d546_cgraph.svg deleted file mode 100644 index 9bc8dbe17..000000000 --- a/d0/d3e/classdata__structures_1_1trie_a0ab94bc6417e3f59fab33cea5b64d546_cgraph.svg +++ /dev/null @@ -1,104 +0,0 @@ - - - - - - - - - - - - -data_structures::trie::insert - - -Node1 - - -data_structures::trie -::insert - - - - - -Node2 - - -data_structures::trie -::char_to_int - - - - - -Node1->Node2 - - - - - - - - -Node4 - - -data_structures::trie -::trie - - - - - -Node1->Node4 - - - - - - - - -Node3 - - -std::exit - - - - - -Node2->Node3 - - - - - - - - - - - - - diff --git a/d0/d3e/classdata__structures_1_1trie_a0ab94bc6417e3f59fab33cea5b64d546_cgraph_org.svg b/d0/d3e/classdata__structures_1_1trie_a0ab94bc6417e3f59fab33cea5b64d546_cgraph_org.svg deleted file mode 100644 index 8a54fe585..000000000 --- a/d0/d3e/classdata__structures_1_1trie_a0ab94bc6417e3f59fab33cea5b64d546_cgraph_org.svg +++ /dev/null @@ -1,78 +0,0 @@ - - - - - - -data_structures::trie::insert - - -Node1 - - -data_structures::trie -::insert - - - - - -Node2 - - -data_structures::trie -::char_to_int - - - - - -Node1->Node2 - - - - - - - - -Node4 - - -data_structures::trie -::trie - - - - - -Node1->Node4 - - - - - - - - -Node3 - - -std::exit - - - - - -Node2->Node3 - - - - - - - - diff --git a/d0/d3e/classdata__structures_1_1trie_a499f87fd833203ef9492b4870aa6d42d_cgraph.map b/d0/d3e/classdata__structures_1_1trie_a499f87fd833203ef9492b4870aa6d42d_cgraph.map deleted file mode 100644 index 08e9a24ca..000000000 --- a/d0/d3e/classdata__structures_1_1trie_a499f87fd833203ef9492b4870aa6d42d_cgraph.map +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/d0/d3e/classdata__structures_1_1trie_a499f87fd833203ef9492b4870aa6d42d_cgraph.md5 b/d0/d3e/classdata__structures_1_1trie_a499f87fd833203ef9492b4870aa6d42d_cgraph.md5 deleted file mode 100644 index 8881e5ec5..000000000 --- a/d0/d3e/classdata__structures_1_1trie_a499f87fd833203ef9492b4870aa6d42d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -0f676e3556c01c3ab8d66b946e0745ea \ No newline at end of file diff --git a/d0/d3e/classdata__structures_1_1trie_a499f87fd833203ef9492b4870aa6d42d_cgraph.svg b/d0/d3e/classdata__structures_1_1trie_a499f87fd833203ef9492b4870aa6d42d_cgraph.svg deleted file mode 100644 index f076723ee..000000000 --- a/d0/d3e/classdata__structures_1_1trie_a499f87fd833203ef9492b4870aa6d42d_cgraph.svg +++ /dev/null @@ -1,103 +0,0 @@ - - - - - - - - - - - - -data_structures::trie::search - - -Node1 - - -data_structures::trie -::search - - - - - -Node2 - - -data_structures::trie -::char_to_int - - - - - -Node1->Node2 - - - - - - - - -Node4 - - -std::string::length - - - - - -Node1->Node4 - - - - - - - - -Node3 - - -std::exit - - - - - -Node2->Node3 - - - - - - - - - - - - - diff --git a/d0/d3e/classdata__structures_1_1trie_a499f87fd833203ef9492b4870aa6d42d_cgraph_org.svg b/d0/d3e/classdata__structures_1_1trie_a499f87fd833203ef9492b4870aa6d42d_cgraph_org.svg deleted file mode 100644 index 609662301..000000000 --- a/d0/d3e/classdata__structures_1_1trie_a499f87fd833203ef9492b4870aa6d42d_cgraph_org.svg +++ /dev/null @@ -1,77 +0,0 @@ - - - - - - -data_structures::trie::search - - -Node1 - - -data_structures::trie -::search - - - - - -Node2 - - -data_structures::trie -::char_to_int - - - - - -Node1->Node2 - - - - - - - - -Node4 - - -std::string::length - - - - - -Node1->Node4 - - - - - - - - -Node3 - - -std::exit - - - - - -Node2->Node3 - - - - - - - - diff --git a/d0/d3e/classdata__structures_1_1trie_a961eb5d576d2420f2036009154397c63_cgraph.map b/d0/d3e/classdata__structures_1_1trie_a961eb5d576d2420f2036009154397c63_cgraph.map deleted file mode 100644 index 08e9a24ca..000000000 --- a/d0/d3e/classdata__structures_1_1trie_a961eb5d576d2420f2036009154397c63_cgraph.map +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/d0/d3e/classdata__structures_1_1trie_a961eb5d576d2420f2036009154397c63_cgraph.md5 b/d0/d3e/classdata__structures_1_1trie_a961eb5d576d2420f2036009154397c63_cgraph.md5 deleted file mode 100644 index 8881e5ec5..000000000 --- a/d0/d3e/classdata__structures_1_1trie_a961eb5d576d2420f2036009154397c63_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -0f676e3556c01c3ab8d66b946e0745ea \ No newline at end of file diff --git a/d0/d3e/classdata__structures_1_1trie_a961eb5d576d2420f2036009154397c63_cgraph.svg b/d0/d3e/classdata__structures_1_1trie_a961eb5d576d2420f2036009154397c63_cgraph.svg deleted file mode 100644 index f076723ee..000000000 --- a/d0/d3e/classdata__structures_1_1trie_a961eb5d576d2420f2036009154397c63_cgraph.svg +++ /dev/null @@ -1,103 +0,0 @@ - - - - - - - - - - - - -data_structures::trie::search - - -Node1 - - -data_structures::trie -::search - - - - - -Node2 - - -data_structures::trie -::char_to_int - - - - - -Node1->Node2 - - - - - - - - -Node4 - - -std::string::length - - - - - -Node1->Node4 - - - - - - - - -Node3 - - -std::exit - - - - - -Node2->Node3 - - - - - - - - - - - - - diff --git a/d0/d3e/classdata__structures_1_1trie_a961eb5d576d2420f2036009154397c63_cgraph_org.svg b/d0/d3e/classdata__structures_1_1trie_a961eb5d576d2420f2036009154397c63_cgraph_org.svg deleted file mode 100644 index 609662301..000000000 --- a/d0/d3e/classdata__structures_1_1trie_a961eb5d576d2420f2036009154397c63_cgraph_org.svg +++ /dev/null @@ -1,77 +0,0 @@ - - - - - - -data_structures::trie::search - - -Node1 - - -data_structures::trie -::search - - - - - -Node2 - - -data_structures::trie -::char_to_int - - - - - -Node1->Node2 - - - - - - - - -Node4 - - -std::string::length - - - - - -Node1->Node4 - - - - - - - - -Node3 - - -std::exit - - - - - -Node2->Node3 - - - - - - - - diff --git a/d0/d3e/classdata__structures_1_1trie_aab373beb3f618b90922528c68797d988_cgraph.map b/d0/d3e/classdata__structures_1_1trie_aab373beb3f618b90922528c68797d988_cgraph.map deleted file mode 100644 index 8f2791eab..000000000 --- a/d0/d3e/classdata__structures_1_1trie_aab373beb3f618b90922528c68797d988_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d0/d3e/classdata__structures_1_1trie_aab373beb3f618b90922528c68797d988_cgraph.md5 b/d0/d3e/classdata__structures_1_1trie_aab373beb3f618b90922528c68797d988_cgraph.md5 deleted file mode 100644 index c11a2101d..000000000 --- a/d0/d3e/classdata__structures_1_1trie_aab373beb3f618b90922528c68797d988_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -28043d462ac8f6fdb703c0e6afdc4c25 \ No newline at end of file diff --git a/d0/d3e/classdata__structures_1_1trie_aab373beb3f618b90922528c68797d988_cgraph.svg b/d0/d3e/classdata__structures_1_1trie_aab373beb3f618b90922528c68797d988_cgraph.svg deleted file mode 100644 index ed1df5128..000000000 --- a/d0/d3e/classdata__structures_1_1trie_aab373beb3f618b90922528c68797d988_cgraph.svg +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - - - - - - - -data_structures::trie::char_to_int - - -Node1 - - -data_structures::trie -::char_to_int - - - - - -Node2 - - -std::exit - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d0/d3e/classdata__structures_1_1trie_aab373beb3f618b90922528c68797d988_cgraph_org.svg b/d0/d3e/classdata__structures_1_1trie_aab373beb3f618b90922528c68797d988_cgraph_org.svg deleted file mode 100644 index 301adfa33..000000000 --- a/d0/d3e/classdata__structures_1_1trie_aab373beb3f618b90922528c68797d988_cgraph_org.svg +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - -data_structures::trie::char_to_int - - -Node1 - - -data_structures::trie -::char_to_int - - - - - -Node2 - - -std::exit - - - - - -Node1->Node2 - - - - - - - - diff --git a/d0/d3e/classdata__structures_1_1trie_aeac27cfd397d2dd3f2f519efffafeeab_cgraph.map b/d0/d3e/classdata__structures_1_1trie_aeac27cfd397d2dd3f2f519efffafeeab_cgraph.map deleted file mode 100644 index 70f2c716e..000000000 --- a/d0/d3e/classdata__structures_1_1trie_aeac27cfd397d2dd3f2f519efffafeeab_cgraph.map +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/d0/d3e/classdata__structures_1_1trie_aeac27cfd397d2dd3f2f519efffafeeab_cgraph.md5 b/d0/d3e/classdata__structures_1_1trie_aeac27cfd397d2dd3f2f519efffafeeab_cgraph.md5 deleted file mode 100644 index 2c5bb1765..000000000 --- a/d0/d3e/classdata__structures_1_1trie_aeac27cfd397d2dd3f2f519efffafeeab_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -c2a3f455763bf31fa28450e5fb302367 \ No newline at end of file diff --git a/d0/d3e/classdata__structures_1_1trie_aeac27cfd397d2dd3f2f519efffafeeab_cgraph.svg b/d0/d3e/classdata__structures_1_1trie_aeac27cfd397d2dd3f2f519efffafeeab_cgraph.svg deleted file mode 100644 index 1ebcdadc1..000000000 --- a/d0/d3e/classdata__structures_1_1trie_aeac27cfd397d2dd3f2f519efffafeeab_cgraph.svg +++ /dev/null @@ -1,112 +0,0 @@ - - - - - - - - - - - - -data_structures::trie::deleteString - - -Node1 - - -data_structures::trie -::deleteString - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -data_structures::trie -::char_to_int - - - - - -Node1->Node2 - - - - - - - - -Node4 - - -std::string::length - - - - - -Node1->Node4 - - - - - - - - -Node3 - - -std::exit - - - - - -Node2->Node3 - - - - - - - - - - - - - diff --git a/d0/d3e/classdata__structures_1_1trie_aeac27cfd397d2dd3f2f519efffafeeab_cgraph_org.svg b/d0/d3e/classdata__structures_1_1trie_aeac27cfd397d2dd3f2f519efffafeeab_cgraph_org.svg deleted file mode 100644 index 89e88421a..000000000 --- a/d0/d3e/classdata__structures_1_1trie_aeac27cfd397d2dd3f2f519efffafeeab_cgraph_org.svg +++ /dev/null @@ -1,86 +0,0 @@ - - - - - - -data_structures::trie::deleteString - - -Node1 - - -data_structures::trie -::deleteString - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -data_structures::trie -::char_to_int - - - - - -Node1->Node2 - - - - - - - - -Node4 - - -std::string::length - - - - - -Node1->Node4 - - - - - - - - -Node3 - - -std::exit - - - - - -Node2->Node3 - - - - - - - - diff --git a/d0/d46/finding__number__of__digits__in__a__number_8cpp.html b/d0/d46/finding__number__of__digits__in__a__number_8cpp.html index 2a7ecb041..572fa2bdb 100644 --- a/d0/d46/finding__number__of__digits__in__a__number_8cpp.html +++ b/d0/d46/finding__number__of__digits__in__a__number_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: math/finding_number_of_digits_in_a_number.cpp File Reference +TheAlgorithms/C++: math/finding_number_of_digits_in_a_number.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
@@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -121,7 +138,9 @@ Include dependency graph for finding_number_of_digits_in_a_number.cpp:
-
-
Algorithms_in_C++ 1.0.0 +
TheAlgorithms/C++ 1.0.0
-
Set of algorithms implemented in C++.
+
All the algorithms implemented in C++
+ +

Go to the source code of this file.

+
@@ -144,6 +163,8 @@ Functions
Author
aminos 🇮🇳

It is a very basic math of finding number of digits in a given number i.e, we can use it by inputting values whether it can be a positive/negative value, let's say: an integer. There is also a second method: by using "K = floor(log10(N) + 1)", but it's only applicable for numbers (not integers). The code for that is also included (finding_number_of_digits_in_a_number_using_log). For more details, refer to the Algorithms-Explanation repository.

+ +

Definition in file finding_number_of_digits_in_a_number.cpp.

Function Documentation

◆ finding_number_of_digits_in_a_number()

@@ -170,8 +191,10 @@ the number of digits in a number.md" target="_blank">Algorithms-Explanation
Returns
the digits count

< the variable used for the digits count

+ +

Definition at line 31 of file finding_number_of_digits_in_a_number.cpp.

31 {
-
32 uint64_t count = 0; ///< the variable used for the digits count
+
32 uint64_t count = 0;
33
34 // iterate until `n` becomes 0
35 // remove last digit from `n` in each iteration
@@ -211,6 +234,8 @@ the number of digits in a number.md" target="_blank">Algorithms-Explanation
Returns
the digits count
+ +

Definition at line 54 of file finding_number_of_digits_in_a_number.cpp.

54 {
55 // log(0) is undefined
56 if (n == 0) {
@@ -222,12 +247,10 @@ the number of digits in a number.md" target="_blank">Algorithms-Explanation
62 n = -n;
63 }
64
-
65 double count = floor(log10(n) + 1);
+
65 double count = floor(log10(n) + 1);
66
67 return count;
68}
-
T floor(T... args)
-
T log10(T... args)
@@ -256,6 +279,8 @@ the number of digits in a number.md" target="_blank">Algorithms-Explanation

Self-test implementations.

Returns
void
+ +

Definition at line 74 of file finding_number_of_digits_in_a_number.cpp.

74 {
75 assert(finding_number_of_digits_in_a_number(5492) == 4);
@@ -265,13 +290,8 @@ the number of digits in a number.md" target="_blank">Algorithms-Explanation
82}
-
uint64_t finding_number_of_digits_in_a_number(uint64_t n)
for log calculation
Definition finding_number_of_digits_in_a_number.cpp:31
-
-Here is the call graph for this function:
-
-
-
- +
uint64_t finding_number_of_digits_in_a_number(uint64_t n)
for log calculation
+ @@ -291,21 +311,17 @@ Here is the call graph for this function:

Main function.

Returns
0 on exit
+ +

Definition at line 97 of file finding_number_of_digits_in_a_number.cpp.

97 {
98 // run self-test implementations
99 first_test();
100 second_test();
-
101 std::cout << "All tests have successfully passed!\n";
+
101 std::cout << "All tests have successfully passed!\n";
102 return 0;
103}
- -
static void first_test()
Self-test implementations.
Definition finding_number_of_digits_in_a_number.cpp:74
-
-Here is the call graph for this function:
-
-
-
- +
static void first_test()
Self-test implementations.
+ @@ -330,6 +346,8 @@ Here is the call graph for this function:

Functions

uint64_t finding_number_of_digits_in_a_number (uint64_t n)
+ +

Definition at line 84 of file finding_number_of_digits_in_a_number.cpp.

84 {
@@ -339,7 +357,7 @@ Here is the call graph for this function:
92}
-
double finding_number_of_digits_in_a_number_using_log(double n)
This function finds the number of digits in constant time using logarithmic function TC: O(1)
Definition finding_number_of_digits_in_a_number.cpp:54
+
double finding_number_of_digits_in_a_number_using_log(double n)
This function finds the number of digits in constant time using logarithmic function TC: O(1)
diff --git a/d0/d46/finding__number__of__digits__in__a__number_8cpp_ab4c15b7f1aedd4419a65cd49562cc300_cgraph.map b/d0/d46/finding__number__of__digits__in__a__number_8cpp_ab4c15b7f1aedd4419a65cd49562cc300_cgraph.map deleted file mode 100644 index 42f293293..000000000 --- a/d0/d46/finding__number__of__digits__in__a__number_8cpp_ab4c15b7f1aedd4419a65cd49562cc300_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d0/d46/finding__number__of__digits__in__a__number_8cpp_ab4c15b7f1aedd4419a65cd49562cc300_cgraph.md5 b/d0/d46/finding__number__of__digits__in__a__number_8cpp_ab4c15b7f1aedd4419a65cd49562cc300_cgraph.md5 deleted file mode 100644 index 3a1236cb1..000000000 --- a/d0/d46/finding__number__of__digits__in__a__number_8cpp_ab4c15b7f1aedd4419a65cd49562cc300_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -5ad9fc7e13e0f0dc5673de02235e03df \ No newline at end of file diff --git a/d0/d46/finding__number__of__digits__in__a__number_8cpp_ab4c15b7f1aedd4419a65cd49562cc300_cgraph.svg b/d0/d46/finding__number__of__digits__in__a__number_8cpp_ab4c15b7f1aedd4419a65cd49562cc300_cgraph.svg deleted file mode 100644 index 6099ad2c9..000000000 --- a/d0/d46/finding__number__of__digits__in__a__number_8cpp_ab4c15b7f1aedd4419a65cd49562cc300_cgraph.svg +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - - - - - - - -first_test - - -Node1 - - -first_test - - - - - -Node2 - - -finding_number_of_digits -_in_a_number - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d0/d46/finding__number__of__digits__in__a__number_8cpp_ab4c15b7f1aedd4419a65cd49562cc300_cgraph_org.svg b/d0/d46/finding__number__of__digits__in__a__number_8cpp_ab4c15b7f1aedd4419a65cd49562cc300_cgraph_org.svg deleted file mode 100644 index 22b1eb3be..000000000 --- a/d0/d46/finding__number__of__digits__in__a__number_8cpp_ab4c15b7f1aedd4419a65cd49562cc300_cgraph_org.svg +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - -first_test - - -Node1 - - -first_test - - - - - -Node2 - - -finding_number_of_digits -_in_a_number - - - - - -Node1->Node2 - - - - - - - - diff --git a/d0/d46/finding__number__of__digits__in__a__number_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d0/d46/finding__number__of__digits__in__a__number_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 755e15691..000000000 --- a/d0/d46/finding__number__of__digits__in__a__number_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/d0/d46/finding__number__of__digits__in__a__number_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d0/d46/finding__number__of__digits__in__a__number_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index bf4c3bf86..000000000 --- a/d0/d46/finding__number__of__digits__in__a__number_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -cf8cf0ca556d01b11a9915d07f3e320f \ No newline at end of file diff --git a/d0/d46/finding__number__of__digits__in__a__number_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d0/d46/finding__number__of__digits__in__a__number_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 4a72e4779..000000000 --- a/d0/d46/finding__number__of__digits__in__a__number_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -first_test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -finding_number_of_digits -_in_a_number - - - - - -Node2->Node3 - - - - - - - - - - - - - diff --git a/d0/d46/finding__number__of__digits__in__a__number_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d0/d46/finding__number__of__digits__in__a__number_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 3234a8788..000000000 --- a/d0/d46/finding__number__of__digits__in__a__number_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -first_test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -finding_number_of_digits -_in_a_number - - - - - -Node2->Node3 - - - - - - - - diff --git a/d0/d46/finding__number__of__digits__in__a__number_8cpp_source.html b/d0/d46/finding__number__of__digits__in__a__number_8cpp_source.html new file mode 100644 index 000000000..7f605d8b2 --- /dev/null +++ b/d0/d46/finding__number__of__digits__in__a__number_8cpp_source.html @@ -0,0 +1,213 @@ + + + + + + + + +TheAlgorithms/C++: math/finding_number_of_digits_in_a_number.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
TheAlgorithms/C++ 1.0.0 +
+
All the algorithms implemented in C++
+
+
+ + + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
finding_number_of_digits_in_a_number.cpp
+
+
+Go to the documentation of this file.
1
+
19#include <cassert>
+
20#include <cmath>
+
21#include <cstdint>
+
22#include <iostream>
+
23
+
+ +
32 uint64_t count = 0;
+
33
+
34 // iterate until `n` becomes 0
+
35 // remove last digit from `n` in each iteration
+
36 // increase `count` by 1 in each iteration
+
37 while (n != 0) {
+
38 // we can also use `n = n / 10`
+
39 n /= 10;
+
40 // each time the loop is running, `count` will be incremented by 1.
+
41 ++count;
+
42 }
+
43
+
44 return count;
+
45}
+
+
46
+
+ +
55 // log(0) is undefined
+
56 if (n == 0) {
+
57 return 0;
+
58 }
+
59
+
60 // to handle the negative numbers
+
61 if (n < 0) {
+
62 n = -n;
+
63 }
+
64
+
65 double count = floor(log10(n) + 1);
+
66
+
67 return count;
+
68}
+
+
69
+
+
74static void first_test() {
+
75 assert(finding_number_of_digits_in_a_number(5492) == 4);
+ +
77 assert(finding_number_of_digits_in_a_number(10000) == 5);
+ +
79 assert(finding_number_of_digits_in_a_number(100000) == 6);
+ + +
82}
+
+
83
+
84static void second_test() {
+ + + + + + + +
92}
+
+
97int main() {
+
98 // run self-test implementations
+
99 first_test();
+
100 second_test();
+
101 std::cout << "All tests have successfully passed!\n";
+
102 return 0;
+
103}
+
+
uint64_t finding_number_of_digits_in_a_number(uint64_t n)
for log calculation
+
static void first_test()
Self-test implementations.
+
double finding_number_of_digits_in_a_number_using_log(double n)
This function finds the number of digits in constant time using logarithmic function TC: O(1)
+
int main()
Main function.
+
+
+ + + + diff --git a/d0/d51/approximate__pi_8cpp.html b/d0/d51/approximate__pi_8cpp.html index 3febc347e..c9f7a9840 100644 --- a/d0/d51/approximate__pi_8cpp.html +++ b/d0/d51/approximate__pi_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: math/approximate_pi.cpp File Reference +TheAlgorithms/C++: math/approximate_pi.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
@@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -123,7 +140,9 @@ Include dependency graph for approximate_pi.cpp:
-
-
Algorithms_in_C++ 1.0.0 +
TheAlgorithms/C++ 1.0.0
-
Set of algorithms implemented in C++.
+
All the algorithms implemented in C++
+ +

Go to the source code of this file.

+
@@ -138,7 +157,7 @@ Typedefs

Namespaces

namespace  math
- + @@ -152,6 +171,8 @@ Functions

Implementation to calculate an estimate of the number π (Pi).

We take a random point P with coordinates (x, y) such that 0 ≤ x ≤ 1 and 0 ≤ y ≤ 1. If x² + y² ≤ 1, then the point is inside the quarter disk of radius 1, else the point is outside. We know that the probability of the point being inside the quarter disk is equal to π/4 double approx(vector<Point> &pts) which will use the points pts (drawn at random) to return an estimate of the number π

Note
This implementation is better than naive recursive or iterative approach.
Author
Qannaf AL-SAHMI
+ +

Definition in file approximate_pi.cpp.

Function Documentation

◆ main()

@@ -170,17 +191,14 @@ Functions

Main function.

Returns
0 on exit
+ +

Definition at line 80 of file approximate_pi.cpp.

80 {
81 tests(); // run self-test implementations
82 return 0;
83}
-
static void tests()
Self-test implementations.
Definition approximate_pi.cpp:62
-
-Here is the call graph for this function:
-
-
-
- +
static void tests()
Self-test implementations.
+ @@ -208,32 +226,24 @@ Here is the call graph for this function:

Self-test implementations.

Returns
void
+ +

Definition at line 62 of file approximate_pi.cpp.

62 {
- -
64 for (std::size_t i = 0; i < 100000; i++) {
+
63 std::vector<math::Point> rands;
+
64 for (std::size_t i = 0; i < 100000; i++) {
66 p.x = rand() / static_cast<double>(RAND_MAX); // 0 <= x <= 1
67 p.y = rand() / static_cast<double>(RAND_MAX); // 0 <= y <= 1
-
68 rands.push_back(p);
+
68 rands.push_back(p);
69 }
70 assert(math::approximate_pi(rands) > 3.135);
71 assert(math::approximate_pi(rands) < 3.145);
72
-
73 std::cout << "All tests have successfully passed!" << std::endl;
+
73 std::cout << "All tests have successfully passed!" << std::endl;
74}
- -
T endl(T... args)
-
struct { double x; double y;} Point
structure of points containing two numbers, x and y, such that 0 ≤ x ≤ 1 and 0 ≤ y ≤ 1.
Definition approximate_pi.cpp:35
-
double approximate_pi(const std::vector< Point > &pts)
This function uses the points in a given vector 'pts' (drawn at random) to return an approximation of...
Definition approximate_pi.cpp:47
-
T push_back(T... args)
- - -
-Here is the call graph for this function:
-
-
-
- +
struct { double x; double y;} Point
structure of points containing two numbers, x and y, such that 0 ≤ x ≤ 1 and 0 ≤ y ≤ 1.
+
double approximate_pi(const std::vector< Point > &pts)
This function uses the points in a given vector 'pts' (drawn at random) to return an approximation of...
+ diff --git a/d0/d51/approximate__pi_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.map b/d0/d51/approximate__pi_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.map deleted file mode 100644 index e6de5bc8b..000000000 --- a/d0/d51/approximate__pi_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.map +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/d0/d51/approximate__pi_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 b/d0/d51/approximate__pi_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 deleted file mode 100644 index e4c54be20..000000000 --- a/d0/d51/approximate__pi_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -b5dab79a48fcf8352434c9ccc43e128f \ No newline at end of file diff --git a/d0/d51/approximate__pi_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.svg b/d0/d51/approximate__pi_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.svg deleted file mode 100644 index 5e7e131e7..000000000 --- a/d0/d51/approximate__pi_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.svg +++ /dev/null @@ -1,119 +0,0 @@ - - - - - - - - - - - - -tests - - -Node1 - - -tests - - - - - -Node2 - - -math::approximate_pi - - - - - -Node1->Node2 - - - - - - - - -Node4 - - -std::endl - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::vector::push_back - - - - - -Node1->Node5 - - - - - - - - -Node3 - - -std::vector::size - - - - - -Node2->Node3 - - - - - - - - - - - - - diff --git a/d0/d51/approximate__pi_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph_org.svg b/d0/d51/approximate__pi_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph_org.svg deleted file mode 100644 index 1d9d70a3d..000000000 --- a/d0/d51/approximate__pi_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph_org.svg +++ /dev/null @@ -1,93 +0,0 @@ - - - - - - -tests - - -Node1 - - -tests - - - - - -Node2 - - -math::approximate_pi - - - - - -Node1->Node2 - - - - - - - - -Node4 - - -std::endl - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::vector::push_back - - - - - -Node1->Node5 - - - - - - - - -Node3 - - -std::vector::size - - - - - -Node2->Node3 - - - - - - - - diff --git a/d0/d51/approximate__pi_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d0/d51/approximate__pi_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 388fbd758..000000000 --- a/d0/d51/approximate__pi_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - diff --git a/d0/d51/approximate__pi_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d0/d51/approximate__pi_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index 6e62b1494..000000000 --- a/d0/d51/approximate__pi_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -c076621c43cb27eb5c06b4723ab2b1fd \ No newline at end of file diff --git a/d0/d51/approximate__pi_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d0/d51/approximate__pi_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index c72980867..000000000 --- a/d0/d51/approximate__pi_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,137 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -tests - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -math::approximate_pi - - - - - -Node2->Node3 - - - - - - - - -Node5 - - -std::endl - - - - - -Node2->Node5 - - - - - - - - -Node6 - - -std::vector::push_back - - - - - -Node2->Node6 - - - - - - - - -Node4 - - -std::vector::size - - - - - -Node3->Node4 - - - - - - - - - - - - - diff --git a/d0/d51/approximate__pi_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d0/d51/approximate__pi_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 532be1ab8..000000000 --- a/d0/d51/approximate__pi_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,111 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -tests - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -math::approximate_pi - - - - - -Node2->Node3 - - - - - - - - -Node5 - - -std::endl - - - - - -Node2->Node5 - - - - - - - - -Node6 - - -std::vector::push_back - - - - - -Node2->Node6 - - - - - - - - -Node4 - - -std::vector::size - - - - - -Node3->Node4 - - - - - - - - diff --git a/d0/d51/approximate__pi_8cpp_source.html b/d0/d51/approximate__pi_8cpp_source.html new file mode 100644 index 000000000..0741ddb8a --- /dev/null +++ b/d0/d51/approximate__pi_8cpp_source.html @@ -0,0 +1,193 @@ + + + + + + + + +TheAlgorithms/C++: math/approximate_pi.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
+
+

Functions

double math::approximate_pi (const std::vector< Point > &pts)
double math::approximate_pi (const std::vector< Point > &pts)
 This function uses the points in a given vector 'pts' (drawn at random) to return an approximation of the number π.
 
static void tests ()
+ + + + + + +
+
TheAlgorithms/C++ 1.0.0 +
+
All the algorithms implemented in C++
+
+
+ + + + + + + + + +
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
approximate_pi.cpp
+
+
+Go to the documentation of this file.
1
+
20#include <cassert>
+
21#include <cstdlib>
+
22#include <iostream>
+
23#include <vector>
+
24
+
29namespace math {
+
30
+
+
35using Point = struct {
+
36 double x;
+
37 double y;
+
38};
+
+
39
+
+
47double approximate_pi(const std::vector<Point> &pts) {
+
48 double count = 0; // Points in circle
+
49 for (Point p : pts) {
+
50 if ((p.x * p.x) + (p.y * p.y) <= 1) {
+
51 count++;
+
52 }
+
53 }
+
54 return 4.0 * count / static_cast<double>(pts.size());
+
55}
+
+
56} // namespace math
+
57
+
+
62static void tests() {
+
63 std::vector<math::Point> rands;
+
64 for (std::size_t i = 0; i < 100000; i++) {
+ +
66 p.x = rand() / static_cast<double>(RAND_MAX); // 0 <= x <= 1
+
67 p.y = rand() / static_cast<double>(RAND_MAX); // 0 <= y <= 1
+
68 rands.push_back(p);
+
69 }
+
70 assert(math::approximate_pi(rands) > 3.135);
+
71 assert(math::approximate_pi(rands) < 3.145);
+
72
+
73 std::cout << "All tests have successfully passed!" << std::endl;
+
74}
+
+
75
+
+
80int main() {
+
81 tests(); // run self-test implementations
+
82 return 0;
+
83}
+
+
static void tests()
Self-test implementations.
+
int main()
Main function.
+
for assert
+
struct { double x; double y;} Point
structure of points containing two numbers, x and y, such that 0 ≤ x ≤ 1 and 0 ≤ y ≤ 1.
+
double approximate_pi(const std::vector< Point > &pts)
This function uses the points in a given vector 'pts' (drawn at random) to return an approximation of...
+ +
+
+ + + + diff --git a/d0/d52/namespacewiggle__sort.html b/d0/d52/namespacewiggle__sort.html index 238ba8fa2..da7c9b7b9 100644 --- a/d0/d52/namespacewiggle__sort.html +++ b/d0/d52/namespacewiggle__sort.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: wiggle_sort Namespace Reference +TheAlgorithms/C++: wiggle_sort Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
@@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/d0/d55/classcll-members.html b/d0/d55/classcll-members.html index c4ef4946b..3dcba323c 100644 --- a/d0/d55/classcll-members.html +++ b/d0/d55/classcll-members.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Member List +TheAlgorithms/C++: Member List + + + @@ -18,14 +24,24 @@ - - + +
@@ -33,10 +49,11 @@ MathJax.Hub.Config({
-
Algorithms_in_C++ 1.0.0 +
TheAlgorithms/C++ 1.0.0
-
Set of algorithms implemented in C++.
+
All the algorithms implemented in C++
+ diff --git a/d0/d58/classgraph_1_1_rooted_tree.html b/d0/d58/classgraph_1_1_rooted_tree.html index 38c2b47cc..10e9ecbac 100644 --- a/d0/d58/classgraph_1_1_rooted_tree.html +++ b/d0/d58/classgraph_1_1_rooted_tree.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: graph::RootedTree Class Reference +TheAlgorithms/C++: graph::RootedTree Class Reference + + + @@ -18,14 +24,24 @@ - - + +
@@ -33,10 +49,11 @@ MathJax.Hub.Config({
-
Algorithms_in_C++ 1.0.0 +
TheAlgorithms/C++ 1.0.0
-
Set of algorithms implemented in C++.
+
All the algorithms implemented in C++
+ @@ -125,15 +142,15 @@ Collaboration diagram for graph::RootedTree:
-
Algorithms_in_C++ 1.0.0 +
TheAlgorithms/C++ 1.0.0
-
Set of algorithms implemented in C++.
+
All the algorithms implemented in C++
- + - + - + @@ -141,22 +158,18 @@ Public Member Functions

Public Member Functions

 RootedTree (const std::vector< std::pair< int, int > > &undirected_edges, int root_)
 RootedTree (const std::vector< std::pair< int, int > > &undirected_edges, int root_)
 Constructs the tree by calculating parent for every vertex. Assumes a valid description of a tree is provided.
 
- Public Member Functions inherited from graph::Graph< T >
void add_edge (T u, T v, bool bidir=true)
 
std::map< T, bool > breadth_first_search (T src)
std::map< T, bool > breadth_first_search (T src)
 
 Graph (size_t N, const std::vector< std::pair< int, int > > &undirected_edges)
 Graph (size_t N, const std::vector< std::pair< int, int > > &undirected_edges)
 Populate the adjacency list for each vertex in the graph. Assumes that evey edge is a pair of valid vertex indices.
 
int number_of_vertices () const
- - + + - - + + - - + + - - + +

Public Attributes

-std::vector< int > parent
 Stores parent of every vertex and for root its own index. The root is technically not its own parent, but it's very practical for the lowest common ancestor algorithm.
std::vector< int > parent
 Stores parent of every vertex and for root its own index. The root is technically not its own parent, but it's very practical for the lowest common ancestor algorithm.
 
-std::vector< int > level
 Stores the distance from the root.
std::vector< int > level
 Stores the distance from the root.
 
-int root
 Index of the root vertex.
int root
 Index of the root vertex.
 
- Public Attributes inherited from graph::Graph< T >
-std::vector< std::vector< int > > neighbors
 for each vertex it stores a list indicies of its neighbors
std::vector< std::vector< int > > neighbors
 for each vertex it stores a list indicies of its neighbors
 

@@ -167,6 +180,8 @@ Protected Member Functions

Detailed Description

Representation of a rooted tree. For every vertex its parent is precalculated.

+ +

Definition at line 84 of file lowest_common_ancestor.cpp.

Constructor & Destructor Documentation

◆ RootedTree()

@@ -180,7 +195,7 @@ Protected Member Functions graph::RootedTree::RootedTree ( - const std::vector< std::pair< int, int > > & undirected_edges, + const std::vector< std::pair< int, int > > & undirected_edges, @@ -203,19 +218,15 @@ Protected Member Functions -
95 : Graph(undirected_edges.size() + 1, undirected_edges), root(root_) {
+ +

Definition at line 93 of file lowest_common_ancestor.cpp.

+
95 : Graph(undirected_edges.size() + 1, undirected_edges), root(root_) {
97 }
-
Definition bellman_ford.cpp:14
-
int root
Index of the root vertex.
Definition lowest_common_ancestor.cpp:108
-
void populate_parents()
Calculate the parents for all the vertices in the tree. Implements the breadth first search algorithm...
Definition lowest_common_ancestor.cpp:117
-
T size(T... args)
-
-Here is the call graph for this function:
-
-
-
- + +
int root
Index of the root vertex.
+
void populate_parents()
Calculate the parents for all the vertices in the tree. Implements the breadth first search algorithm...
+

Member Function Documentation

@@ -244,48 +255,94 @@ Here is the call graph for this function:

Calculate the parents for all the vertices in the tree. Implements the breadth first search algorithm starting from the root vertex searching the entire tree and labeling parents for all vertices.

Returns
none
+ +

Definition at line 117 of file lowest_common_ancestor.cpp.

117 {
118 // Initialize the vector with -1 which indicates the vertex
119 // wasn't yet visited.
- - +
120 parent = std::vector<int>(number_of_vertices(), -1);
+
121 level = std::vector<int>(number_of_vertices());
122 parent[root] = root;
123 level[root] = 0;
-
124 std::queue<int> queue_of_vertices;
-
125 queue_of_vertices.push(root);
-
126 while (!queue_of_vertices.empty()) {
-
127 int vertex = queue_of_vertices.front();
-
128 queue_of_vertices.pop();
+
124 std::queue<int> queue_of_vertices;
+
125 queue_of_vertices.push(root);
+
126 while (!queue_of_vertices.empty()) {
+
127 int vertex = queue_of_vertices.front();
+
128 queue_of_vertices.pop();
129 for (int neighbor : neighbors[vertex]) {
130 // As long as the vertex was not yet visited.
131 if (parent[neighbor] == -1) {
132 parent[neighbor] = vertex;
133 level[neighbor] = level[vertex] + 1;
-
134 queue_of_vertices.push(neighbor);
+
134 queue_of_vertices.push(neighbor);
135 }
136 }
137 }
138 }
-
std::vector< std::vector< int > > neighbors
for each vertex it stores a list indicies of its neighbors
Definition lowest_common_ancestor.cpp:77
-
int number_of_vertices() const
Definition lowest_common_ancestor.cpp:74
-
std::vector< int > level
Stores the distance from the root.
Definition lowest_common_ancestor.cpp:106
-
std::vector< int > parent
Stores parent of every vertex and for root its own index. The root is technically not its own parent,...
Definition lowest_common_ancestor.cpp:104
-
T empty(T... args)
-
T front(T... args)
-
T pop(T... args)
-
T push(T... args)
- - -
-Here is the call graph for this function:
-
-
+
std::vector< std::vector< int > > neighbors
for each vertex it stores a list indicies of its neighbors
+
int number_of_vertices() const
+
std::vector< int > level
Stores the distance from the root.
+
std::vector< int > parent
Stores parent of every vertex and for root its own index. The root is technically not its own parent,...
+
+ +

Member Data Documentation

+ +

◆ level

+ +
+
+ + + + +
std::vector<int> graph::RootedTree::level
+
+ +

Stores the distance from the root.

+ +

Definition at line 106 of file lowest_common_ancestor.cpp.

+ +
+
+ +

◆ parent

+ +
+
+ + + + +
std::vector<int> graph::RootedTree::parent
+
+ +

Stores parent of every vertex and for root its own index. The root is technically not its own parent, but it's very practical for the lowest common ancestor algorithm.

+ +

Definition at line 104 of file lowest_common_ancestor.cpp.

+ +
+
+ +

◆ root

+ +
+
+ + + + +
int graph::RootedTree::root
+
+ +

Index of the root vertex.

+ +

Definition at line 108 of file lowest_common_ancestor.cpp.


The documentation for this class was generated from the following file: diff --git a/d0/d58/classgraph_1_1_rooted_tree_aacdeecac857623e9fbfe92590f3c504d_cgraph.map b/d0/d58/classgraph_1_1_rooted_tree_aacdeecac857623e9fbfe92590f3c504d_cgraph.map deleted file mode 100644 index b456377b8..000000000 --- a/d0/d58/classgraph_1_1_rooted_tree_aacdeecac857623e9fbfe92590f3c504d_cgraph.map +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - - - - - diff --git a/d0/d58/classgraph_1_1_rooted_tree_aacdeecac857623e9fbfe92590f3c504d_cgraph.md5 b/d0/d58/classgraph_1_1_rooted_tree_aacdeecac857623e9fbfe92590f3c504d_cgraph.md5 deleted file mode 100644 index def371102..000000000 --- a/d0/d58/classgraph_1_1_rooted_tree_aacdeecac857623e9fbfe92590f3c504d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -64b975f46b6c19040666ca00b5eb9862 \ No newline at end of file diff --git a/d0/d58/classgraph_1_1_rooted_tree_aacdeecac857623e9fbfe92590f3c504d_cgraph.svg b/d0/d58/classgraph_1_1_rooted_tree_aacdeecac857623e9fbfe92590f3c504d_cgraph.svg deleted file mode 100644 index 45044e8e3..000000000 --- a/d0/d58/classgraph_1_1_rooted_tree_aacdeecac857623e9fbfe92590f3c504d_cgraph.svg +++ /dev/null @@ -1,233 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -graph::RootedTree::RootedTree - - -Node1 - - -graph::RootedTree:: -RootedTree - - - - - -Node2 - - -graph::RootedTree:: -populate_parents - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::queue::empty - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::queue::front - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -graph::Graph::number -_of_vertices - - - - - -Node2->Node5 - - - - - - - - -Node7 - - -std::queue::pop - - - - - -Node2->Node7 - - - - - - - - -Node8 - - -std::queue::push - - - - - -Node2->Node8 - - - - - - - - -Node6 - - -std::vector::size - - - - - -Node5->Node6 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d0/d58/classgraph_1_1_rooted_tree_aacdeecac857623e9fbfe92590f3c504d_cgraph_org.svg b/d0/d58/classgraph_1_1_rooted_tree_aacdeecac857623e9fbfe92590f3c504d_cgraph_org.svg deleted file mode 100644 index 2ba1fc3c4..000000000 --- a/d0/d58/classgraph_1_1_rooted_tree_aacdeecac857623e9fbfe92590f3c504d_cgraph_org.svg +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - -graph::RootedTree::RootedTree - - -Node1 - - -graph::RootedTree:: -RootedTree - - - - - -Node2 - - -graph::RootedTree:: -populate_parents - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::queue::empty - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::queue::front - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -graph::Graph::number -_of_vertices - - - - - -Node2->Node5 - - - - - - - - -Node7 - - -std::queue::pop - - - - - -Node2->Node7 - - - - - - - - -Node8 - - -std::queue::push - - - - - -Node2->Node8 - - - - - - - - -Node6 - - -std::vector::size - - - - - -Node5->Node6 - - - - - - - - diff --git a/d0/d58/classgraph_1_1_rooted_tree_ae6928f3ebd491541e9570e746b877c1e_cgraph.map b/d0/d58/classgraph_1_1_rooted_tree_ae6928f3ebd491541e9570e746b877c1e_cgraph.map deleted file mode 100644 index 4ed63001c..000000000 --- a/d0/d58/classgraph_1_1_rooted_tree_ae6928f3ebd491541e9570e746b877c1e_cgraph.map +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/d0/d58/classgraph_1_1_rooted_tree_ae6928f3ebd491541e9570e746b877c1e_cgraph.md5 b/d0/d58/classgraph_1_1_rooted_tree_ae6928f3ebd491541e9570e746b877c1e_cgraph.md5 deleted file mode 100644 index b6e48eac3..000000000 --- a/d0/d58/classgraph_1_1_rooted_tree_ae6928f3ebd491541e9570e746b877c1e_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -ab03c451aeab03b3c2a8941db5979584 \ No newline at end of file diff --git a/d0/d58/classgraph_1_1_rooted_tree_ae6928f3ebd491541e9570e746b877c1e_cgraph.svg b/d0/d58/classgraph_1_1_rooted_tree_ae6928f3ebd491541e9570e746b877c1e_cgraph.svg deleted file mode 100644 index d240a204b..000000000 --- a/d0/d58/classgraph_1_1_rooted_tree_ae6928f3ebd491541e9570e746b877c1e_cgraph.svg +++ /dev/null @@ -1,157 +0,0 @@ - - - - - - - - - - - - -graph::RootedTree::populate_parents - - -Node1 - - -graph::RootedTree:: -populate_parents - - - - - -Node2 - - -std::queue::empty - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::queue::front - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -graph::Graph::number -_of_vertices - - - - - -Node1->Node4 - - - - - - - - -Node6 - - -std::queue::pop - - - - - -Node1->Node6 - - - - - - - - -Node7 - - -std::queue::push - - - - - -Node1->Node7 - - - - - - - - -Node5 - - -std::vector::size - - - - - -Node4->Node5 - - - - - - - - - - - - - diff --git a/d0/d58/classgraph_1_1_rooted_tree_ae6928f3ebd491541e9570e746b877c1e_cgraph_org.svg b/d0/d58/classgraph_1_1_rooted_tree_ae6928f3ebd491541e9570e746b877c1e_cgraph_org.svg deleted file mode 100644 index 0b7a473be..000000000 --- a/d0/d58/classgraph_1_1_rooted_tree_ae6928f3ebd491541e9570e746b877c1e_cgraph_org.svg +++ /dev/null @@ -1,131 +0,0 @@ - - - - - - -graph::RootedTree::populate_parents - - -Node1 - - -graph::RootedTree:: -populate_parents - - - - - -Node2 - - -std::queue::empty - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::queue::front - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -graph::Graph::number -_of_vertices - - - - - -Node1->Node4 - - - - - - - - -Node6 - - -std::queue::pop - - - - - -Node1->Node6 - - - - - - - - -Node7 - - -std::queue::push - - - - - -Node1->Node7 - - - - - - - - -Node5 - - -std::vector::size - - - - - -Node4->Node5 - - - - - - - - diff --git a/d0/d5a/skip__list_8cpp.html b/d0/d5a/skip__list_8cpp.html index d31800209..594949ac4 100644 --- a/d0/d5a/skip__list_8cpp.html +++ b/d0/d5a/skip__list_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: data_structures/skip_list.cpp File Reference +TheAlgorithms/C++: data_structures/skip_list.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
@@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -126,7 +143,9 @@ Include dependency graph for skip_list.cpp:
-
-
Algorithms_in_C++ 1.0.0 +
TheAlgorithms/C++ 1.0.0
-
Set of algorithms implemented in C++.
+
All the algorithms implemented in C++
+ +

Go to the source code of this file.

+
@@ -147,13 +166,11 @@ Functions

Classes

struct  data_structures::Node
- - + + - - + +

Variables

-constexpr int data_structures::MAX_LEVEL = 2
 Maximum level of skip list.
constexpr int data_structures::MAX_LEVEL = 2
 Maximum level of skip list.
 
-constexpr float data_structures::PROBABILITY = 0.5
 Current probability for "coin toss".
constexpr float data_structures::PROBABILITY = 0.5
 Current probability for "coin toss".
 

Detailed Description

@@ -162,6 +179,8 @@ constexpr float data_struc

References used: GeeksForGeek, OpenGenus for PseudoCode and Code

Author
enqidu
Krishna Vedala
+ +

Definition in file skip_list.cpp.

Function Documentation

◆ main()

@@ -178,13 +197,15 @@ constexpr float data_struc

Main function: Creates and inserts random 2^[number of levels] elements into the skip lists and than displays it

+ +

Definition at line 212 of file skip_list.cpp.

212 {
-
213 std::srand(std::time(nullptr));
+
213 std::srand(std::time(nullptr));
214
216
217 for (int j = 0; j < (1 << (data_structures::MAX_LEVEL + 1)); j++) {
-
218 int k = (std::rand() % (1 << (data_structures::MAX_LEVEL + 2)) + 1);
+
218 int k = (std::rand() % (1 << (data_structures::MAX_LEVEL + 2)) + 1);
219 lst.insertElement(k, &j);
220 }
221
@@ -192,20 +213,12 @@ constexpr float data_struc
223
224 return 0;
225}
-
Definition skip_list.cpp:55
-
void insertElement(int key, void *value)
Definition skip_list.cpp:90
-
void displayList()
Definition skip_list.cpp:191
-
double k(double x)
Another test function.
Definition composite_simpson_rule.cpp:117
-
constexpr int MAX_LEVEL
Maximum level of skip list.
Definition skip_list.cpp:27
-
T rand(T... args)
-
T srand(T... args)
-
T time(T... args)
-
-Here is the call graph for this function:
-
-
-
- + +
void insertElement(int key, void *value)
Definition skip_list.cpp:90
+ +
double k(double x)
Another test function.
+
constexpr int MAX_LEVEL
Maximum level of skip list.
Definition skip_list.cpp:27
+
diff --git a/d0/d5a/skip__list_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d0/d5a/skip__list_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 01539e224..000000000 --- a/d0/d5a/skip__list_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d0/d5a/skip__list_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d0/d5a/skip__list_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index 1e392ba28..000000000 --- a/d0/d5a/skip__list_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -149d96a2f678abfb27247c436834ddfb \ No newline at end of file diff --git a/d0/d5a/skip__list_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d0/d5a/skip__list_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 77db5b1a6..000000000 --- a/d0/d5a/skip__list_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,257 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -data_structures::SkipList -::displayList - - - - - -Node1->Node2 - - - - - - - - -Node4 - - -data_structures::SkipList -::insertElement - - - - - -Node1->Node4 - - - - - - - - -Node8 - - -std::rand - - - - - -Node1->Node8 - - - - - - - - -Node10 - - -std::srand - - - - - -Node1->Node10 - - - - - - - - -Node11 - - -std::time - - - - - -Node1->Node11 - - - - - - - - -Node3 - - -std::endl - - - - - -Node2->Node3 - - - - - - - - -Node4->Node3 - - - - - - - - -Node5 - - -std::array::fill - - - - - -Node4->Node5 - - - - - - - - -Node6 - - -std::make_shared - - - - - -Node4->Node6 - - - - - - - - -Node7 - - -data_structures::SkipList -::randomLevel - - - - - -Node4->Node7 - - - - - - - - -Node9 - - -update - - - - - -Node4->Node9 - - - - - - - - -Node7->Node8 - - - - - - - - -Node9->Node9 - - - - - - - - - - - - - diff --git a/d0/d5a/skip__list_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d0/d5a/skip__list_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 166605627..000000000 --- a/d0/d5a/skip__list_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,231 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -data_structures::SkipList -::displayList - - - - - -Node1->Node2 - - - - - - - - -Node4 - - -data_structures::SkipList -::insertElement - - - - - -Node1->Node4 - - - - - - - - -Node8 - - -std::rand - - - - - -Node1->Node8 - - - - - - - - -Node10 - - -std::srand - - - - - -Node1->Node10 - - - - - - - - -Node11 - - -std::time - - - - - -Node1->Node11 - - - - - - - - -Node3 - - -std::endl - - - - - -Node2->Node3 - - - - - - - - -Node4->Node3 - - - - - - - - -Node5 - - -std::array::fill - - - - - -Node4->Node5 - - - - - - - - -Node6 - - -std::make_shared - - - - - -Node4->Node6 - - - - - - - - -Node7 - - -data_structures::SkipList -::randomLevel - - - - - -Node4->Node7 - - - - - - - - -Node9 - - -update - - - - - -Node4->Node9 - - - - - - - - -Node7->Node8 - - - - - - - - -Node9->Node9 - - - - - - - - diff --git a/d0/d5a/skip__list_8cpp_source.html b/d0/d5a/skip__list_8cpp_source.html new file mode 100644 index 000000000..40244ff6c --- /dev/null +++ b/d0/d5a/skip__list_8cpp_source.html @@ -0,0 +1,342 @@ + + + + + + + + +TheAlgorithms/C++: data_structures/skip_list.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
TheAlgorithms/C++ 1.0.0 +
+
All the algorithms implemented in C++
+
+
+ + + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
skip_list.cpp
+
+
+Go to the documentation of this file.
1
+
16#include <array>
+
17#include <cstring>
+
18#include <ctime>
+
19#include <iostream>
+
20#include <memory>
+
21#include <vector>
+
22
+
26namespace data_structures {
+
27constexpr int MAX_LEVEL = 2;
+
28constexpr float PROBABILITY = 0.5;
+
29
+
+
33struct Node {
+
34 int key;
+
35 void* value;
+
36 std::vector<std::shared_ptr<Node>>
+ +
38
+
+
44 Node(int key, int level, void* value = nullptr) : key(key), value(value) {
+
45 // Initialization of forward vector
+
46 for (int i = 0; i < (level + 1); i++) {
+
47 forward.push_back(nullptr);
+
48 }
+
49 }
+
+
50};
+
+
51
+
+
55class SkipList {
+
56 int level;
+
57 std::shared_ptr<Node> header;
+
58
+
59 public:
+
+ +
65 level = 0;
+
66 // Header initialization
+
67 header = std::make_shared<Node>(-1, MAX_LEVEL);
+
68 }
+
+
69
+
+ +
76 int lvl = 0;
+
77 while (static_cast<float>(std::rand()) / RAND_MAX < PROBABILITY &&
+
78 lvl < MAX_LEVEL) {
+
79 lvl++;
+
80 }
+
81 return lvl;
+
82 }
+
+
83
+
+
90 void insertElement(int key, void* value) {
+
91 std::cout << "Inserting" << key << "...";
+
92 std::shared_ptr<Node> x = header;
+
93 std::array<std::shared_ptr<Node>, MAX_LEVEL + 1> update;
+
94 update.fill(nullptr);
+
95
+
96 for (int i = level; i >= 0; i--) {
+
97 while (x->forward[i] != nullptr && x->forward[i]->key < key) {
+
98 x = x->forward[i];
+
99 }
+
100 update[i] = x;
+
101 }
+
102
+
103 x = x->forward[0];
+
104
+
105 bool doesnt_exist = (x == nullptr || x->key != key);
+
106 if (doesnt_exist) {
+
107 int rlevel = randomLevel();
+
108
+
109 if (rlevel > level) {
+
110 for (int i = level + 1; i < rlevel + 1; i++) update[i] = header;
+
111
+
112 // Update current level
+
113 level = rlevel;
+
114 }
+
115
+
116 std::shared_ptr<Node> n =
+
117 std::make_shared<Node>(key, rlevel, value);
+
118 for (int i = 0; i <= rlevel; i++) {
+
119 n->forward[i] = update[i]->forward[i];
+
120 update[i]->forward[i] = n;
+
121 }
+
122 std::cout << "Inserted" << std::endl;
+
123
+
124 } else {
+
125 std::cout << "Exists" << std::endl;
+
126 }
+
127 }
+
+
128
+
+
133 void deleteElement(int key) {
+
134 std::shared_ptr<Node> x = header;
+
135
+
136 std::array<std::shared_ptr<Node>, MAX_LEVEL + 1> update;
+
137 update.fill(nullptr);
+
138
+
139 for (int i = level; i >= 0; i--) {
+
140 while (x->forward[i] != nullptr && x->forward[i]->key < key) {
+
141 x = x->forward[i];
+
142 }
+
143 update[i] = x;
+
144 }
+
145
+
146 x = x->forward[0];
+
147
+
148 bool doesnt_exist = (x == nullptr || x->key != key);
+
149
+
150 if (!doesnt_exist) {
+
151 for (int i = 0; i <= level; i++) {
+
152 if (update[i]->forward[i] != x) {
+
153 break;
+
154 }
+
155 update[i]->forward[i] = x->forward[i];
+
156 }
+
157 /* Remove empty levels*/
+
158 while (level > 0 && header->forward[level] == nullptr) level--;
+
159 std::cout << "Deleted" << std::endl;
+
160 } else {
+
161 std::cout << "Doesn't exist" << std::endl;
+
162 }
+
163 }
+
+
164
+
+
170 void* searchElement(int key) {
+
171 std::shared_ptr<Node> x = header;
+
172 std::cout << "Searching for " << key << std::endl;
+
173
+
174 for (int i = level; i >= 0; i--) {
+
175 while (x->forward[i] && x->forward[i]->key < key) x = x->forward[i];
+
176 }
+
177
+
178 x = x->forward[0];
+
179 if (x && x->key == key) {
+
180 std::cout << "Found" << std::endl;
+
181 return x->value;
+
182 } else {
+
183 std::cout << "Not Found" << std::endl;
+
184 return nullptr;
+
185 }
+
186 }
+
+
187
+
+
191 void displayList() {
+
192 std::cout << "Displaying list:\n";
+
193 for (int i = 0; i <= level; i++) {
+
194 std::shared_ptr<Node> node = header->forward[i];
+
195 std::cout << "Level " << (i) << ": ";
+
196 while (node != nullptr) {
+
197 std::cout << node->key << " ";
+
198 node = node->forward[i];
+
199 }
+
200 std::cout << std::endl;
+
201 }
+
202 }
+
+
203};
+
+
204
+
205} // namespace data_structures
+
206
+
+
212int main() {
+
213 std::srand(std::time(nullptr));
+
214
+ +
216
+
217 for (int j = 0; j < (1 << (data_structures::MAX_LEVEL + 1)); j++) {
+
218 int k = (std::rand() % (1 << (data_structures::MAX_LEVEL + 2)) + 1);
+
219 lst.insertElement(k, &j);
+
220 }
+
221
+
222 lst.displayList();
+
223
+
224 return 0;
+
225}
+
+ +
int level
Maximum level of the skiplist.
Definition skip_list.cpp:56
+
void insertElement(int key, void *value)
Definition skip_list.cpp:90
+ + +
void deleteElement(int key)
+ +
std::shared_ptr< Node > header
Pointer to the header node.
Definition skip_list.cpp:57
+
void * searchElement(int key)
+
for IO operations
+
constexpr float PROBABILITY
Current probability for "coin toss".
Definition skip_list.cpp:28
+
constexpr int MAX_LEVEL
Maximum level of skip list.
Definition skip_list.cpp:27
+
void update(std::vector< int64_t > *segtree, std::vector< int64_t > *lazy, int64_t start, int64_t end, int64_t delta, uint64_t low, uint64_t high, uint64_t pos)
Updates a range of the segment tree.
Definition segtree.cpp:103
+
int main()
+ +
Node(int key, int level, void *value=nullptr)
Definition skip_list.cpp:44
+
void * value
pointer of value
Definition skip_list.cpp:35
+
int key
key integer
Definition skip_list.cpp:34
+
std::vector< std::shared_ptr< Node > > forward
nodes of the given one in all levels
Definition skip_list.cpp:37
+ +
+
+ + + + diff --git a/d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html b/d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html index 06c73c6dd..c7433e21b 100644 --- a/d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html +++ b/d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: operations_on_datastructures::trie_operations::Tnode Class Reference +TheAlgorithms/C++: operations_on_datastructures::trie_operations::Tnode Class Reference + + + @@ -18,14 +24,24 @@ - - + +
@@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -137,54 +154,52 @@ Public Member Functions - + - + - + - + - + - + - + - + - +
-
Algorithms_in_C++ 1.0.0 +
TheAlgorithms/C++ 1.0.0
-
Set of algorithms implemented in C++.
+
All the algorithms implemented in C++
uint8_t numberOfChildren (Tnode *node)
 Function to count the number of children a node in the trie has.
 
void Insert (const std::string &entry)
void Insert (const std::string &entry)
 Function to insert a word in the trie.
 
void Delete (std::string entry)
void Delete (std::string entry)
 Function to verify presence and hence delete an entry from the trie.
 
void DeleteFrom (Tnode *delete_from, std::string delete_string, int remove_index)
void DeleteFrom (Tnode *delete_from, std::string delete_string, int remove_index)
 Function recursively deletes the substring character by character iterating through the string to be deleted. It traverses till the end of word in a recursive fashion, from there it deletes characters one by one till it reaches back to the initial call.
 
bool SearchPresence (const std::string &key)
bool SearchPresence (const std::string &key)
 Function to check a word's presence in the trie (Basic)
 
void SuggestAutocomplete (Tnode *new_root, const std::string &prefix)
void SuggestAutocomplete (Tnode *new_root, const std::string &prefix)
 Recursive function to suggest all the entries of trie which have a given common prefix.
 
void SearchSuggestions (const std::string &key)
void SearchSuggestions (const std::string &key)
 Lists out all the words in trie with the longest prefix of the search key that is present in the trie. For example - if trie contains "abc", "abcde", "abcdefg", "abcddef" and if the search key is "abcdezz", then the longest common prefix is "abcde" and hence search results will be "abcde", "abcdefg".
 
void SuggestFreqAutocomplete (Tnode *new_root, const std::string &prefix, std::priority_queue< std::pair< int, std::string > > *suggestions)
void SuggestFreqAutocomplete (Tnode *new_root, const std::string &prefix, std::priority_queue< std::pair< int, std::string > > *suggestions)
 Recursive function to suggest most frequently searched entries of trie which have a given common prefix.
 
void SearchFreqSuggestions (const std::string &key)
void SearchFreqSuggestions (const std::string &key)
 Lists out the most frequent words in trie with the longest prefix of the search key that is present in the trie. For example - if trie contains "abc", "abcde", "abcdefg", "abcddef" and they have been previously searched for 3, 1, 2, 4 times respectively, if the search key is "ab", then the longest common prefix is "ab" and only the top 3 frequencies among the matches would be displayed viz. "abcddef", "abc", "abcdefg".
 
void SelectionTop_3 (std::priority_queue< std::pair< int, std::string > > *suggestions)
void SelectionTop_3 (std::priority_queue< std::pair< int, std::string > > *suggestions)
 Function to display the 3 suggestions with highest frequency of search hits.
 
- + - + - +

Private Attributes

-std::vector< Tnode * > english
std::vector< Tnode * > english
 
-bool endOfWord
bool endOfWord
 
-uint32_t frequency
uint32_t frequency
 
- +

Static Private Attributes

-static constexpr uint8_t ENGLISH_ALPHABET_SIZE = 26
static constexpr uint8_t ENGLISH_ALPHABET_SIZE = 26
 

Detailed Description

Class defining the structure of trie node and containing the methods to perform operations on them.

+ +

Definition at line 37 of file trie_multiple_search.cpp.

Constructor & Destructor Documentation

◆ Tnode() [1/2]

@@ -208,6 +223,8 @@ static constexpr uint8_t E
+ +

Definition at line 50 of file trie_multiple_search.cpp.

50 {
51 english.resize(ENGLISH_ALPHABET_SIZE, nullptr);
52 endOfWord = false;
@@ -238,12 +255,14 @@ static constexpr uint8_t E
+ +

Definition at line 56 of file trie_multiple_search.cpp.

56 {
57 english = node.english;
58 endOfWord = node.endOfWord;
59 frequency = node.frequency;
60 }
-
Definition binary_search_tree.cpp:11
+
@@ -269,6 +288,8 @@ static constexpr uint8_t E
+ +

Definition at line 93 of file trie_multiple_search.cpp.

93 {
94 int i = 0;
95 for (i = 0; i < ENGLISH_ALPHABET_SIZE; i++) {
@@ -290,7 +311,7 @@ static constexpr uint8_t E void operations_on_datastructures::trie_operations::Tnode::Delete ( - std::string entry) + std::string entry) @@ -303,18 +324,20 @@ static constexpr uint8_t E + +

Definition at line 153 of file trie_multiple_search.cpp.

153 {
154 Tnode *cur_pos = this,
155 *delete_from = this; // Current pointer pointing to root
-
156 int letter_index = 0, delete_from_index = 0, i = 0, n = entry.size();
+
156 int letter_index = 0, delete_from_index = 0, i = 0, n = entry.size();
157
158 for (i = 0; i < n; i++) {
159 // To ignore case
-
160 letter_index = tolower(entry[i]) - 97;
+
160 letter_index = tolower(entry[i]) - 97;
161
162 // Display error message when given entry is not present in the tree
163 if (cur_pos->english[letter_index] == nullptr) {
-
164 std::cout << "Entry not Found" << std::endl;
+
164 std::cout << "Entry not Found" << std::endl;
165 return;
166 }
167 // If the current node is end of word for the current prefix or if it
@@ -334,7 +357,7 @@ static constexpr uint8_t E
181 // cur_pos now points to the last char of entry. Display message if that
182 // entry does not exist
183 if (!cur_pos->endOfWord) {
-
184 std::cout << "Entry not Found" << std::endl;
+
184 std::cout << "Entry not Found" << std::endl;
185 return;
186 }
187
@@ -347,7 +370,7 @@ static constexpr uint8_t E
194 }
195
196 // The first character of the suffix to be deleted
-
197 letter_index = tolower(entry[delete_from_index + 1]) - 97;
+
197 letter_index = tolower(entry[delete_from_index + 1]) - 97;
198 // Point cur_pos to the next node
199 cur_pos = delete_from->english[letter_index];
200 // Sever the connection from the main trie
@@ -363,18 +386,9 @@ static constexpr uint8_t E
210 delete cur_pos;
211 }
212}
- -
void DeleteFrom(Tnode *delete_from, std::string delete_string, int remove_index)
Function recursively deletes the substring character by character iterating through the string to be ...
Definition trie_multiple_search.cpp:137
-
uint8_t numberOfChildren(Tnode *node)
Function to count the number of children a node in the trie has.
Definition trie_multiple_search.cpp:72
-
T endl(T... args)
-
T size(T... args)
-
T tolower(T... args)
-
-Here is the call graph for this function:
-
-
-
- +
void DeleteFrom(Tnode *delete_from, std::string delete_string, int remove_index)
Function recursively deletes the substring character by character iterating through the string to be ...
+
uint8_t numberOfChildren(Tnode *node)
Function to count the number of children a node in the trie has.
+
@@ -391,7 +405,7 @@ Here is the call graph for this function: - std::string delete_string, + std::string delete_string, @@ -410,9 +424,11 @@ Here is the call graph for this function: + +

Definition at line 137 of file trie_multiple_search.cpp.

138 {
-
139 if (delete_string.size() == remove_index) {
-
140 int letter_index = tolower(delete_string[remove_index]) - 97;
+
139 if (delete_string.size() == remove_index) {
+
140 int letter_index = tolower(delete_string[remove_index]) - 97;
141
142 DeleteFrom(delete_from->english[letter_index], delete_string,
143 remove_index + 1);
@@ -420,12 +436,7 @@ Here is the call graph for this function:
145 delete delete_from;
146 }
147}
-
-Here is the call graph for this function:
-
-
-
- + @@ -437,7 +448,7 @@ Here is the call graph for this function: void operations_on_datastructures::trie_operations::Tnode::Insert ( - const std::string & entry) + const std::string & entry) @@ -450,13 +461,15 @@ Here is the call graph for this function: + +

Definition at line 107 of file trie_multiple_search.cpp.

107 {
108 Tnode *cur_pos = this;
109 int letter_index = 0;
110
111 for (auto &i : entry) {
112 // To ignore case
-
113 letter_index = tolower(i) - 97;
+
113 letter_index = tolower(i) - 97;
114
115 // Allocate a node for each character of entry if not present in the
116 // trie
@@ -503,17 +516,13 @@ Here is the call graph for this function:
Returns
count of the number of children of the given node (max 26)
+ +

Definition at line 72 of file trie_multiple_search.cpp.

72 {
73 return ENGLISH_ALPHABET_SIZE -
-
74 std::count(node->english.begin(), node->english.end(), nullptr);
+
74 std::count(node->english.begin(), node->english.end(), nullptr);
75 }
-
T count(T... args)
-
-Here is the call graph for this function:
-
-
-
- + @@ -525,7 +534,7 @@ Here is the call graph for this function: void operations_on_datastructures::trie_operations::Tnode::SearchFreqSuggestions ( - const std::string & key) + const std::string & key) @@ -538,21 +547,23 @@ Here is the call graph for this function: + +

Definition at line 368 of file trie_multiple_search.cpp.

368 {
369 Tnode *cur_pos = nullptr, *prev_pos = nullptr;
370 cur_pos = prev_pos = this; // maintaining 2 pointers, initialized to root
371 int letter_index = 0;
-
372 std::string prefix =
+
372 std::string prefix =
373 ""; // variable storing the updated value of longest common prefix
- +
374 std::priority_queue<std::pair<int, std::string> >
375 suggestions; // max heap to store (frequency, word) in descending order
376 // of freq
377
- +
378 std::priority_queue<std::pair<int, std::string> > *Suggestions =
379 &suggestions;
380
381 for (auto &i : key) {
-
382 letter_index = tolower(i) - 97;
+
382 letter_index = tolower(i) - 97;
383 prev_pos = cur_pos; // Previous pointer updated to point to the last
384 // char of the longest common prefix
385
@@ -562,18 +573,18 @@ Here is the call graph for this function:
389 SuggestFreqAutocomplete(prev_pos, prefix, Suggestions);
390 // To display the top 3 results
391 SelectionTop_3(Suggestions);
-
392 std::cout << "- - - - - - - - - - - - - - - - - - - - - - - - - - "
-
393 << std::endl;
+
392 std::cout << "- - - - - - - - - - - - - - - - - - - - - - - - - - "
+
393 << std::endl;
394 return;
395 }
396 // Updating the longest common prefix
-
397 prefix += char(tolower(i));
+
397 prefix += char(tolower(i));
398 cur_pos = cur_pos->english[letter_index];
399 }
400 // If the key is a valid entry of trie, display it @ top of the suggestions
401 if (cur_pos->endOfWord) {
402 (cur_pos->frequency)++;
-
403 std::cout << key << std::endl;
+
403 std::cout << key << std::endl;
404 }
405
406 (void)prev_pos; // Idiom to ignore previous pointer
@@ -584,20 +595,13 @@ Here is the call graph for this function:
411 // Display the top 3 results
412 SelectionTop_3(Suggestions);
413
-
414 std::cout << "- - - - - - - - - - - - - - - - - - - - - - - - - - "
-
415 << std::endl;
+
414 std::cout << "- - - - - - - - - - - - - - - - - - - - - - - - - - "
+
415 << std::endl;
416 return;
417}
- -
void SuggestFreqAutocomplete(Tnode *new_root, const std::string &prefix, std::priority_queue< std::pair< int, std::string > > *suggestions)
Recursive function to suggest most frequently searched entries of trie which have a given common pref...
Definition trie_multiple_search.cpp:340
-
void SelectionTop_3(std::priority_queue< std::pair< int, std::string > > *suggestions)
Function to display the 3 suggestions with highest frequency of search hits.
Definition trie_multiple_search.cpp:320
- -
-Here is the call graph for this function:
-
-
-
- +
void SuggestFreqAutocomplete(Tnode *new_root, const std::string &prefix, std::priority_queue< std::pair< int, std::string > > *suggestions)
Recursive function to suggest most frequently searched entries of trie which have a given common pref...
+
void SelectionTop_3(std::priority_queue< std::pair< int, std::string > > *suggestions)
Function to display the 3 suggestions with highest frequency of search hits.
+ @@ -609,7 +613,7 @@ Here is the call graph for this function: bool operations_on_datastructures::trie_operations::Tnode::SearchPresence ( - const std::string & key) + const std::string & key) @@ -625,12 +629,14 @@ Here is the call graph for this function:
Returns
true if the key is found
false if the key is not found
+ +

Definition at line 220 of file trie_multiple_search.cpp.

220 {
221 Tnode *cur_pos = this;
222 int letter_index = 0;
223
224 for (auto &i : key) {
-
225 letter_index = tolower(i) - 97;
+
225 letter_index = tolower(i) - 97;
226 // If any character in the order of the key is absent, word not found!
227 if (cur_pos->english[letter_index] == nullptr) {
228 return false;
@@ -658,7 +664,7 @@ false if the key is not found void operations_on_datastructures::trie_operations::Tnode::SearchSuggestions ( - const std::string & key) + const std::string & key) @@ -671,15 +677,17 @@ false if the key is not found + +

Definition at line 274 of file trie_multiple_search.cpp.

274 {
275 Tnode *cur_pos = nullptr, *prev_pos = nullptr;
276 cur_pos = prev_pos = this; // maintaining 2 pointers, initialized to root
277 int letter_index = 0;
-
278 std::string prefix =
+
278 std::string prefix =
279 ""; // variable storing the updated value of longest common prefix
280
281 for (auto &i : key) {
-
282 letter_index = tolower(i) - 97;
+
282 letter_index = tolower(i) - 97;
283 prev_pos = cur_pos; // Previous pointer updated to point to the last
284 // char of the longest common prefix
285
@@ -687,17 +695,17 @@ false if the key is not found
287 // been determined and SuggestAutocomplete is called
288 if (cur_pos->english[letter_index] == nullptr) {
289 SuggestAutocomplete(prev_pos, prefix);
-
290 std::cout << "- - - - - - - - - - - - - - - - - - - - - - - - - - "
-
291 << std::endl;
+
290 std::cout << "- - - - - - - - - - - - - - - - - - - - - - - - - - "
+
291 << std::endl;
292 return;
293 }
294 // Updating the longest common prefix
-
295 prefix += char(tolower(i));
+
295 prefix += char(tolower(i));
296 cur_pos = cur_pos->english[letter_index];
297 }
298 // If the key is a valid entry of trie, display it @ top of the suggestions
299 if (cur_pos->endOfWord) {
-
300 std::cout << key << std::endl;
+
300 std::cout << key << std::endl;
301 (cur_pos->frequency)++;
302 }
303
@@ -706,17 +714,12 @@ false if the key is not found
306 // Call for suggestions when the search key is present as an entry/a prefix
307 // in the trie
308 SuggestAutocomplete(cur_pos, prefix);
-
309 std::cout << "- - - - - - - - - - - - - - - - - - - - - - - - - - "
-
310 << std::endl;
+
309 std::cout << "- - - - - - - - - - - - - - - - - - - - - - - - - - "
+
310 << std::endl;
311 return;
312}
-
void SuggestAutocomplete(Tnode *new_root, const std::string &prefix)
Recursive function to suggest all the entries of trie which have a given common prefix.
Definition trie_multiple_search.cpp:249
-
-Here is the call graph for this function:
-
-
-
- +
void SuggestAutocomplete(Tnode *new_root, const std::string &prefix)
Recursive function to suggest all the entries of trie which have a given common prefix.
+
@@ -728,7 +731,7 @@ Here is the call graph for this function: void operations_on_datastructures::trie_operations::Tnode::SelectionTop_3 ( - std::priority_queue< std::pair< int, std::string > > * suggestions) + std::priority_queue< std::pair< int, std::string > > * suggestions) @@ -741,23 +744,18 @@ Here is the call graph for this function: + +

Definition at line 320 of file trie_multiple_search.cpp.

321 {
322 // Display Either top 3 or total number of suggestions, whichever is smaller
-
323 int n = suggestions->size(), Top = 0;
+
323 int n = suggestions->size(), Top = 0;
324 Top = n < 3 ? n : 3;
325 while (Top--) {
-
326 std::cout << suggestions->top().second << std::endl;
-
327 suggestions->pop();
+
326 std::cout << suggestions->top().second << std::endl;
+
327 suggestions->pop();
328 }
329}
-
T pop(T... args)
-
T top(T... args)
-
-Here is the call graph for this function:
-
-
-
- + @@ -774,7 +772,7 @@ Here is the call graph for this function: - const std::string & prefix ) + const std::string & prefix )
@@ -787,6 +785,8 @@ Here is the call graph for this function:
+ +

Definition at line 249 of file trie_multiple_search.cpp.

249 {
250 // Iterate through all 26 nodes as we have to print all strings with the
251 // given prefix
@@ -796,19 +796,14 @@ Here is the call graph for this function:
255 // Print the sugestion only if it's a valid complete entry and not
256 // just a prefix
257 if (new_root->english[i]->endOfWord) {
-
258 std::cout << prefix + char(i + 97) << std::endl;
+
258 std::cout << prefix + char(i + 97) << std::endl;
259 }
260
261 SuggestAutocomplete(new_root->english[i], prefix + char(i + 97));
262 }
263 }
264}
-
-Here is the call graph for this function:
-
-
-
- + @@ -825,12 +820,12 @@ Here is the call graph for this function: - const std::string & prefix, + const std::string & prefix, - std::priority_queue< std::pair< int, std::string > > * suggestions ) + std::priority_queue< std::pair< int, std::string > > * suggestions )
@@ -844,6 +839,8 @@ Here is the call graph for this function:
+ +

Definition at line 340 of file trie_multiple_search.cpp.

342 {
343 int i = 0;
344 for (i = 0; i < ENGLISH_ALPHABET_SIZE; i++) {
@@ -851,7 +848,7 @@ Here is the call graph for this function:
346 // Add to sugestions only if it's a valid complete entry and not
347 // just a prefix
348 if (new_root->english[i]->endOfWord) {
-
349 suggestions->push(std::make_pair(
+
349 suggestions->push(std::make_pair(
350 new_root->english[i]->frequency, prefix + char(i + 97)));
351 }
352
@@ -860,18 +857,108 @@ Here is the call graph for this function:
355 }
356 }
357}
-
T make_pair(T... args)
-
T push(T... args)
-
-Here is the call graph for this function:
-
-
+
+ +

Member Data Documentation

+ +

◆ endOfWord

+ +
+
+ + + + + +
+ + + + +
bool operations_on_datastructures::trie_operations::Tnode::endOfWord
+
+private
+
+ +

Definition at line 44 of file trie_multiple_search.cpp.

+ +
+
+ +

◆ english

+ +
+
+ + + + + +
+ + + + +
std::vector<Tnode *> operations_on_datastructures::trie_operations::Tnode::english
+
+private
+
+ +

Definition at line 41 of file trie_multiple_search.cpp.

+ +
+
+ +

◆ ENGLISH_ALPHABET_SIZE

+ +
+
+ + + + + +
+ + + + +
uint8_t operations_on_datastructures::trie_operations::Tnode::ENGLISH_ALPHABET_SIZE = 26
+
+staticconstexprprivate
+
+ +

Definition at line 39 of file trie_multiple_search.cpp.

+ +
+
+ +

◆ frequency

+ +
+
+ + + + + +
+ + + + +
uint32_t operations_on_datastructures::trie_operations::Tnode::frequency
+
+private
+
+ +

Definition at line 47 of file trie_multiple_search.cpp.


The documentation for this class was generated from the following file: diff --git a/d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_a097913c4badec2b60d50a171ecc299fe_cgraph.map b/d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_a097913c4badec2b60d50a171ecc299fe_cgraph.map deleted file mode 100644 index 30be018ec..000000000 --- a/d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_a097913c4badec2b60d50a171ecc299fe_cgraph.map +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_a097913c4badec2b60d50a171ecc299fe_cgraph.md5 b/d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_a097913c4badec2b60d50a171ecc299fe_cgraph.md5 deleted file mode 100644 index c0ecf18ae..000000000 --- a/d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_a097913c4badec2b60d50a171ecc299fe_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -e846a0099cc09521d807890d78f1b890 \ No newline at end of file diff --git a/d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_a097913c4badec2b60d50a171ecc299fe_cgraph.svg b/d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_a097913c4badec2b60d50a171ecc299fe_cgraph.svg deleted file mode 100644 index 33259fa6e..000000000 --- a/d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_a097913c4badec2b60d50a171ecc299fe_cgraph.svg +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - - - - - - - -operations_on_datastructures::trie_operations::Tnode::SuggestAutocomplete - - -Node1 - - -operations_on_datastructures -::trie_operations::Tnode -::SuggestAutocomplete - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_a097913c4badec2b60d50a171ecc299fe_cgraph_org.svg b/d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_a097913c4badec2b60d50a171ecc299fe_cgraph_org.svg deleted file mode 100644 index e1b050b30..000000000 --- a/d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_a097913c4badec2b60d50a171ecc299fe_cgraph_org.svg +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - -operations_on_datastructures::trie_operations::Tnode::SuggestAutocomplete - - -Node1 - - -operations_on_datastructures -::trie_operations::Tnode -::SuggestAutocomplete - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - diff --git a/d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_a18b70172ca4fb2811dbfb9a86e48b34c_cgraph.map b/d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_a18b70172ca4fb2811dbfb9a86e48b34c_cgraph.map deleted file mode 100644 index a8d43e174..000000000 --- a/d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_a18b70172ca4fb2811dbfb9a86e48b34c_cgraph.map +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_a18b70172ca4fb2811dbfb9a86e48b34c_cgraph.md5 b/d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_a18b70172ca4fb2811dbfb9a86e48b34c_cgraph.md5 deleted file mode 100644 index 83dba592f..000000000 --- a/d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_a18b70172ca4fb2811dbfb9a86e48b34c_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -2eac0ae3ca6e1ef8ef566f68728e7800 \ No newline at end of file diff --git a/d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_a18b70172ca4fb2811dbfb9a86e48b34c_cgraph.svg b/d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_a18b70172ca4fb2811dbfb9a86e48b34c_cgraph.svg deleted file mode 100644 index 9abfc6604..000000000 --- a/d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_a18b70172ca4fb2811dbfb9a86e48b34c_cgraph.svg +++ /dev/null @@ -1,105 +0,0 @@ - - - - - - - - - - - - -operations_on_datastructures::trie_operations::Tnode::SearchSuggestions - - -Node1 - - -operations_on_datastructures -::trie_operations::Tnode -::SearchSuggestions - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -operations_on_datastructures -::trie_operations::Tnode -::SuggestAutocomplete - - - - - -Node1->Node3 - - - - - - - - -Node3->Node2 - - - - - - - - -Node3->Node3 - - - - - - - - - - - - - diff --git a/d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_a18b70172ca4fb2811dbfb9a86e48b34c_cgraph_org.svg b/d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_a18b70172ca4fb2811dbfb9a86e48b34c_cgraph_org.svg deleted file mode 100644 index b0a34c6f5..000000000 --- a/d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_a18b70172ca4fb2811dbfb9a86e48b34c_cgraph_org.svg +++ /dev/null @@ -1,79 +0,0 @@ - - - - - - -operations_on_datastructures::trie_operations::Tnode::SearchSuggestions - - -Node1 - - -operations_on_datastructures -::trie_operations::Tnode -::SearchSuggestions - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -operations_on_datastructures -::trie_operations::Tnode -::SuggestAutocomplete - - - - - -Node1->Node3 - - - - - - - - -Node3->Node2 - - - - - - - - -Node3->Node3 - - - - - - - - diff --git a/d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_a7c5ab271d8042540f64ef16d259d1503_cgraph.map b/d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_a7c5ab271d8042540f64ef16d259d1503_cgraph.map deleted file mode 100644 index 1caffe4ce..000000000 --- a/d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_a7c5ab271d8042540f64ef16d259d1503_cgraph.map +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - diff --git a/d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_a7c5ab271d8042540f64ef16d259d1503_cgraph.md5 b/d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_a7c5ab271d8042540f64ef16d259d1503_cgraph.md5 deleted file mode 100644 index 803e7c0ee..000000000 --- a/d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_a7c5ab271d8042540f64ef16d259d1503_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -3a22a970b23ca4cdbae137d2ff04bad9 \ No newline at end of file diff --git a/d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_a7c5ab271d8042540f64ef16d259d1503_cgraph.svg b/d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_a7c5ab271d8042540f64ef16d259d1503_cgraph.svg deleted file mode 100644 index c68a83f6c..000000000 --- a/d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_a7c5ab271d8042540f64ef16d259d1503_cgraph.svg +++ /dev/null @@ -1,143 +0,0 @@ - - - - - - - - - - - - -operations_on_datastructures::trie_operations::Tnode::SearchFreqSuggestions - - -Node1 - - -operations_on_datastructures -::trie_operations::Tnode -::SearchFreqSuggestions - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -operations_on_datastructures -::trie_operations::Tnode -::SelectionTop_3 - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -operations_on_datastructures -::trie_operations::Tnode -::SuggestFreqAutocomplete - - - - - -Node1->Node4 - - - - - - - - -Node3->Node2 - - - - - - - - -Node4->Node4 - - - - - - - - -Node5 - - -std::make_pair - - - - - -Node4->Node5 - - - - - - - - - - - - - diff --git a/d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_a7c5ab271d8042540f64ef16d259d1503_cgraph_org.svg b/d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_a7c5ab271d8042540f64ef16d259d1503_cgraph_org.svg deleted file mode 100644 index 2d29bd6f5..000000000 --- a/d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_a7c5ab271d8042540f64ef16d259d1503_cgraph_org.svg +++ /dev/null @@ -1,117 +0,0 @@ - - - - - - -operations_on_datastructures::trie_operations::Tnode::SearchFreqSuggestions - - -Node1 - - -operations_on_datastructures -::trie_operations::Tnode -::SearchFreqSuggestions - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -operations_on_datastructures -::trie_operations::Tnode -::SelectionTop_3 - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -operations_on_datastructures -::trie_operations::Tnode -::SuggestFreqAutocomplete - - - - - -Node1->Node4 - - - - - - - - -Node3->Node2 - - - - - - - - -Node4->Node4 - - - - - - - - -Node5 - - -std::make_pair - - - - - -Node4->Node5 - - - - - - - - diff --git a/d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_a9e556f52c837190ecf4265b1f05cfe9c_cgraph.map b/d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_a9e556f52c837190ecf4265b1f05cfe9c_cgraph.map deleted file mode 100644 index c1c5f7ed9..000000000 --- a/d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_a9e556f52c837190ecf4265b1f05cfe9c_cgraph.map +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_a9e556f52c837190ecf4265b1f05cfe9c_cgraph.md5 b/d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_a9e556f52c837190ecf4265b1f05cfe9c_cgraph.md5 deleted file mode 100644 index 0d19689cd..000000000 --- a/d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_a9e556f52c837190ecf4265b1f05cfe9c_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -1c248829316869cbdcf46c31c58ddcc1 \ No newline at end of file diff --git a/d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_a9e556f52c837190ecf4265b1f05cfe9c_cgraph.svg b/d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_a9e556f52c837190ecf4265b1f05cfe9c_cgraph.svg deleted file mode 100644 index 9bb980362..000000000 --- a/d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_a9e556f52c837190ecf4265b1f05cfe9c_cgraph.svg +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - - - - - - - -operations_on_datastructures::trie_operations::Tnode::SuggestFreqAutocomplete - - -Node1 - - -operations_on_datastructures -::trie_operations::Tnode -::SuggestFreqAutocomplete - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::make_pair - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_a9e556f52c837190ecf4265b1f05cfe9c_cgraph_org.svg b/d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_a9e556f52c837190ecf4265b1f05cfe9c_cgraph_org.svg deleted file mode 100644 index 2bf860cc1..000000000 --- a/d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_a9e556f52c837190ecf4265b1f05cfe9c_cgraph_org.svg +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - -operations_on_datastructures::trie_operations::Tnode::SuggestFreqAutocomplete - - -Node1 - - -operations_on_datastructures -::trie_operations::Tnode -::SuggestFreqAutocomplete - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::make_pair - - - - - -Node1->Node2 - - - - - - - - diff --git a/d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_aacafb8c9f3ebac7ac6c01d9645bb67b6_cgraph.map b/d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_aacafb8c9f3ebac7ac6c01d9645bb67b6_cgraph.map deleted file mode 100644 index b71d06218..000000000 --- a/d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_aacafb8c9f3ebac7ac6c01d9645bb67b6_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_aacafb8c9f3ebac7ac6c01d9645bb67b6_cgraph.md5 b/d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_aacafb8c9f3ebac7ac6c01d9645bb67b6_cgraph.md5 deleted file mode 100644 index 9f1b32ce5..000000000 --- a/d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_aacafb8c9f3ebac7ac6c01d9645bb67b6_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -c808fde6c81ce18a693f47fb938efdae \ No newline at end of file diff --git a/d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_aacafb8c9f3ebac7ac6c01d9645bb67b6_cgraph.svg b/d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_aacafb8c9f3ebac7ac6c01d9645bb67b6_cgraph.svg deleted file mode 100644 index db5468ef4..000000000 --- a/d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_aacafb8c9f3ebac7ac6c01d9645bb67b6_cgraph.svg +++ /dev/null @@ -1,67 +0,0 @@ - - - - - - - - - - - - -operations_on_datastructures::trie_operations::Tnode::SelectionTop_3 - - -Node1 - - -operations_on_datastructures -::trie_operations::Tnode -::SelectionTop_3 - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_aacafb8c9f3ebac7ac6c01d9645bb67b6_cgraph_org.svg b/d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_aacafb8c9f3ebac7ac6c01d9645bb67b6_cgraph_org.svg deleted file mode 100644 index f6ceffba8..000000000 --- a/d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_aacafb8c9f3ebac7ac6c01d9645bb67b6_cgraph_org.svg +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - -operations_on_datastructures::trie_operations::Tnode::SelectionTop_3 - - -Node1 - - -operations_on_datastructures -::trie_operations::Tnode -::SelectionTop_3 - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - diff --git a/d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_adef6940391f981ab86767775176b7169_cgraph.map b/d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_adef6940391f981ab86767775176b7169_cgraph.map deleted file mode 100644 index 03ca81ec8..000000000 --- a/d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_adef6940391f981ab86767775176b7169_cgraph.map +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_adef6940391f981ab86767775176b7169_cgraph.md5 b/d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_adef6940391f981ab86767775176b7169_cgraph.md5 deleted file mode 100644 index afa8d7c5f..000000000 --- a/d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_adef6940391f981ab86767775176b7169_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -8d8c3f8d8d6e2fe5519c29cfdede2379 \ No newline at end of file diff --git a/d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_adef6940391f981ab86767775176b7169_cgraph.svg b/d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_adef6940391f981ab86767775176b7169_cgraph.svg deleted file mode 100644 index 35222dd56..000000000 --- a/d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_adef6940391f981ab86767775176b7169_cgraph.svg +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - - - - - - - -operations_on_datastructures::trie_operations::Tnode::DeleteFrom - - -Node1 - - -operations_on_datastructures -::trie_operations::Tnode -::DeleteFrom - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::string::size - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_adef6940391f981ab86767775176b7169_cgraph_org.svg b/d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_adef6940391f981ab86767775176b7169_cgraph_org.svg deleted file mode 100644 index cc7c53cf8..000000000 --- a/d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_adef6940391f981ab86767775176b7169_cgraph_org.svg +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - -operations_on_datastructures::trie_operations::Tnode::DeleteFrom - - -Node1 - - -operations_on_datastructures -::trie_operations::Tnode -::DeleteFrom - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::string::size - - - - - -Node1->Node2 - - - - - - - - diff --git a/d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_aefd24626ac47277431c9b8604e064340_cgraph.map b/d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_aefd24626ac47277431c9b8604e064340_cgraph.map deleted file mode 100644 index 69242bee6..000000000 --- a/d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_aefd24626ac47277431c9b8604e064340_cgraph.map +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_aefd24626ac47277431c9b8604e064340_cgraph.md5 b/d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_aefd24626ac47277431c9b8604e064340_cgraph.md5 deleted file mode 100644 index c4e78db68..000000000 --- a/d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_aefd24626ac47277431c9b8604e064340_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -a837b5f4b29e5e2b368f04b3e2a638fc \ No newline at end of file diff --git a/d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_aefd24626ac47277431c9b8604e064340_cgraph.svg b/d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_aefd24626ac47277431c9b8604e064340_cgraph.svg deleted file mode 100644 index f2a03255d..000000000 --- a/d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_aefd24626ac47277431c9b8604e064340_cgraph.svg +++ /dev/null @@ -1,161 +0,0 @@ - - - - - - - - - - - - -operations_on_datastructures::trie_operations::Tnode::Delete - - -Node1 - - -operations_on_datastructures -::trie_operations::Tnode -::Delete - - - - - -Node2 - - -operations_on_datastructures -::trie_operations::Tnode -::DeleteFrom - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::string::size - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::endl - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -operations_on_datastructures -::trie_operations::Tnode -::numberOfChildren - - - - - -Node1->Node5 - - - - - - - - -Node2->Node2 - - - - - - - - -Node2->Node3 - - - - - - - - -Node6 - - -std::count - - - - - -Node5->Node6 - - - - - - - - - - - - - diff --git a/d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_aefd24626ac47277431c9b8604e064340_cgraph_org.svg b/d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_aefd24626ac47277431c9b8604e064340_cgraph_org.svg deleted file mode 100644 index c744d585a..000000000 --- a/d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_aefd24626ac47277431c9b8604e064340_cgraph_org.svg +++ /dev/null @@ -1,135 +0,0 @@ - - - - - - -operations_on_datastructures::trie_operations::Tnode::Delete - - -Node1 - - -operations_on_datastructures -::trie_operations::Tnode -::Delete - - - - - -Node2 - - -operations_on_datastructures -::trie_operations::Tnode -::DeleteFrom - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::string::size - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::endl - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -operations_on_datastructures -::trie_operations::Tnode -::numberOfChildren - - - - - -Node1->Node5 - - - - - - - - -Node2->Node2 - - - - - - - - -Node2->Node3 - - - - - - - - -Node6 - - -std::count - - - - - -Node5->Node6 - - - - - - - - diff --git a/d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_afca808362c13273ca8c8ae7d58e8eee0_cgraph.map b/d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_afca808362c13273ca8c8ae7d58e8eee0_cgraph.map deleted file mode 100644 index bcc04ff95..000000000 --- a/d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_afca808362c13273ca8c8ae7d58e8eee0_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_afca808362c13273ca8c8ae7d58e8eee0_cgraph.md5 b/d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_afca808362c13273ca8c8ae7d58e8eee0_cgraph.md5 deleted file mode 100644 index 396ce2a62..000000000 --- a/d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_afca808362c13273ca8c8ae7d58e8eee0_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -def5f7e3dfe39e99ecdb23ef92ae195c \ No newline at end of file diff --git a/d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_afca808362c13273ca8c8ae7d58e8eee0_cgraph.svg b/d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_afca808362c13273ca8c8ae7d58e8eee0_cgraph.svg deleted file mode 100644 index d527c0e87..000000000 --- a/d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_afca808362c13273ca8c8ae7d58e8eee0_cgraph.svg +++ /dev/null @@ -1,67 +0,0 @@ - - - - - - - - - - - - -operations_on_datastructures::trie_operations::Tnode::numberOfChildren - - -Node1 - - -operations_on_datastructures -::trie_operations::Tnode -::numberOfChildren - - - - - -Node2 - - -std::count - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_afca808362c13273ca8c8ae7d58e8eee0_cgraph_org.svg b/d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_afca808362c13273ca8c8ae7d58e8eee0_cgraph_org.svg deleted file mode 100644 index ca3a1425f..000000000 --- a/d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode_afca808362c13273ca8c8ae7d58e8eee0_cgraph_org.svg +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - -operations_on_datastructures::trie_operations::Tnode::numberOfChildren - - -Node1 - - -operations_on_datastructures -::trie_operations::Tnode -::numberOfChildren - - - - - -Node2 - - -std::count - - - - - -Node1->Node2 - - - - - - - - diff --git a/d0/d61/knapsack_8cpp_source.html b/d0/d61/knapsack_8cpp_source.html new file mode 100644 index 000000000..f72cf676b --- /dev/null +++ b/d0/d61/knapsack_8cpp_source.html @@ -0,0 +1,219 @@ + + + + + + + + +TheAlgorithms/C++: greedy_algorithms/knapsack.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
TheAlgorithms/C++ 1.0.0 +
+
All the algorithms implemented in C++
+
+
+ + + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
knapsack.cpp
+
+
+
1#include <iostream>
+
2using namespace std;
+
3
+
+
4struct Item {
+
5 int weight;
+
6 int profit;
+
7};
+
+
8
+
9float profitPerUnit(Item x) { return (float)x.profit / (float)x.weight; }
+
10
+
11int partition(Item arr[], int low, int high) {
+
12 Item pivot = arr[high]; // pivot
+
13 int i = (low - 1); // Index of smaller element
+
14
+
15 for (int j = low; j < high; j++) {
+
16 // If current element is smaller than or
+
17 // equal to pivot
+
18 if (profitPerUnit(arr[j]) <= profitPerUnit(pivot)) {
+
19 i++; // increment index of smaller element
+
20 Item temp = arr[i];
+
21 arr[i] = arr[j];
+
22 arr[j] = temp;
+
23 }
+
24 }
+
25 Item temp = arr[i + 1];
+
26 arr[i + 1] = arr[high];
+
27 arr[high] = temp;
+
28 return (i + 1);
+
29}
+
30
+
31void quickSort(Item arr[], int low, int high) {
+
32 if (low < high) {
+
33 int p = partition(arr, low, high);
+
34
+
35 quickSort(arr, low, p - 1);
+
36 quickSort(arr, p + 1, high);
+
37 }
+
38}
+
39
+
40int main() {
+
41 cout << "\nEnter the capacity of the knapsack : ";
+
42 float capacity;
+
43 cin >> capacity;
+
44 cout << "\n Enter the number of Items : ";
+
45 int n;
+
46 cin >> n;
+
47 Item *itemArray = new Item[n];
+
48 for (int i = 0; i < n; i++) {
+
49 cout << "\nEnter the weight and profit of item " << i + 1 << " : ";
+
50 cin >> itemArray[i].weight;
+
51 cin >> itemArray[i].profit;
+
52 }
+
53
+
54 quickSort(itemArray, 0, n - 1);
+
55
+
56 // show(itemArray, n);
+
57
+
58 float maxProfit = 0;
+
59 int i = n;
+
60 while (capacity > 0 && --i >= 0) {
+
61 if (capacity >= itemArray[i].weight) {
+
62 maxProfit += itemArray[i].profit;
+
63 capacity -= itemArray[i].weight;
+
64 cout << "\n\t" << itemArray[i].weight << "\t"
+
65 << itemArray[i].profit;
+
66 } else {
+
67 maxProfit += profitPerUnit(itemArray[i]) * capacity;
+
68 cout << "\n\t" << capacity << "\t"
+
69 << profitPerUnit(itemArray[i]) * capacity;
+
70 capacity = 0;
+
71 break;
+
72 }
+
73 }
+
74
+
75 cout << "\nMax Profit : " << maxProfit;
+
76 delete[] itemArray;
+
77 return 0;
+
78}
+
int main()
Main function.
+ +
+
+ + + + diff --git a/d0/d62/struct_queue-members.html b/d0/d62/struct_queue-members.html index 2d4d2c05a..ff37ebf25 100644 --- a/d0/d62/struct_queue-members.html +++ b/d0/d62/struct_queue-members.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Member List +TheAlgorithms/C++: Member List + + + @@ -18,14 +24,24 @@ - - + +
@@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/d0/d65/namespacedouble__hashing.html b/d0/d65/namespacedouble__hashing.html index c546fc7e8..be80b1222 100644 --- a/d0/d65/namespacedouble__hashing.html +++ b/d0/d65/namespacedouble__hashing.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: double_hashing Namespace Reference +TheAlgorithms/C++: double_hashing Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
@@ -33,10 +49,11 @@ MathJax.Hub.Config({
-
Algorithms_in_C++ 1.0.0 +
TheAlgorithms/C++ 1.0.0
-
Set of algorithms implemented in C++.
+
All the algorithms implemented in C++
+ @@ -123,8 +140,7 @@ Classes
-
Algorithms_in_C++ 1.0.0 +
TheAlgorithms/C++ 1.0.0
-
Set of algorithms implemented in C++.
+
All the algorithms implemented in C++
- +

Typedefs

-using Entry = struct Entry
using Entry = struct Entry
 
- + @@ -157,28 +173,39 @@ Functions

@@ -136,7 +152,7 @@ Functions

void add (int key)
 
size_t hashFxn (int key)
 Hash a key. Uses the STL library's std::hash() function.
 Hash a key. Uses the STL library's std::hash() function.
 
size_t otherHashFxn (int key)
 Used for second hash function.
- + - + - + - + - + - +

Variables

-int notPresent
int notPresent
 
-std::vector< Entrytable
std::vector< Entrytable
 
-int totalSize
int totalSize
 
-int tomb = -1
int tomb = -1
 
-int size
int size
 
-bool rehashing
bool rehashing
 

Detailed Description

An implementation of hash table using double hashing algorithm.

-

Function Documentation

+

Typedef Documentation

+ +

◆ Entry

+ +
+
+ + + + +
using double_hashing::Entry = struct Entry
+
+ +

Definition at line 22 of file double_hash_hash_table.cpp.

+ +
+
+

Function Documentation

◆ add()

@@ -199,6 +226,8 @@ bool rehashing + +

Definition at line 185 of file double_hash_hash_table.cpp.

185 {
186 // auto* entry = new Entry();
187 // entry->key = key;
@@ -209,14 +238,9 @@ bool rehashing 192 rehash();
193 }
194}
-
int doubleHash(int key, bool searching)
Performs double hashing to resolve collisions.
Definition double_hash_hash_table.cpp:71
-
void rehash()
Definition double_hash_hash_table.cpp:161
-
-Here is the call graph for this function:
-
-
-
- +
int doubleHash(int key, bool searching)
Performs double hashing to resolve collisions.
+ + @@ -239,27 +263,22 @@ Here is the call graph for this function: + +

Definition at line 212 of file double_hash_hash_table.cpp.

212 {
-
213 std::cout << "Initial table: ";
+
213 std::cout << "Initial table: ";
214 display();
- -
216 std::cout << "hash of " << key << " is " << hashFxn(key) << " % "
+
215 std::cout << std::endl;
+
216 std::cout << "hash of " << key << " is " << hashFxn(key) << " % "
217 << totalSize << " == " << hashFxn(key) % totalSize;
- +
218 std::cout << std::endl;
219 add(key);
-
220 std::cout << "New table: ";
+
220 std::cout << "New table: ";
221 display();
222}
- -
T endl(T... args)
-
size_t hashFxn(int key)
Hash a key. Uses the STL library's std::hash() function.
Definition double_hash_hash_table.cpp:47
-
std::string add(const std::string &first, const std::string &second)
Adding two string.
Definition uint128_t.hpp:38
-
-Here is the call graph for this function:
-
-
-
- +
size_t hashFxn(int key)
Hash a key. Uses the STL library's std::hash() function.
+
std::string add(const std::string &first, const std::string &second)
Adding two string.
Definition uint128_t.hpp:38
+ @@ -277,26 +296,23 @@ Here is the call graph for this function:

Displays the table

Returns
None
+ +

Definition at line 143 of file double_hash_hash_table.cpp.

143 {
144 for (int i = 0; i < totalSize; i++) {
145 if (table[i].key == notPresent) {
-
146 std::cout << " Empty ";
+
146 std::cout << " Empty ";
147 } else if (table[i].key == tomb) {
-
148 std::cout << " Tomb ";
+
148 std::cout << " Tomb ";
149 } else {
-
150 std::cout << " ";
-
151 std::cout << table[i].key;
-
152 std::cout << " ";
+
150 std::cout << " ";
+
151 std::cout << table[i].key;
+
152 std::cout << " ";
153 }
154 }
- +
155 std::cout << std::endl;
156}
-
-Here is the call graph for this function:
-
-
-
- +
@@ -329,6 +345,8 @@ Here is the call graph for this function:
Returns
Index of key when found
new hash if no conflicts present
+ +

Definition at line 71 of file double_hash_hash_table.cpp.

71 {
72 int hash = static_cast<int>(hashFxn(key));
73 int i = 0;
@@ -342,46 +360,41 @@ new hash if no conflicts present
81 return notPresent;
82 }
83 if (searchingProber(entry, key)) {
-
84 std::cout << "Found key!" << std::endl;
+
84 std::cout << "Found key!" << std::endl;
85 return index;
86 }
-
87 std::cout << "Found tombstone or equal hash, checking next"
-
88 << std::endl;
+
87 std::cout << "Found tombstone or equal hash, checking next"
+
88 << std::endl;
89 i++;
90 } else {
91 if (putProber(entry, key)) {
92 if (!rehashing) {
-
93 std::cout << "Spot found!" << std::endl;
+
93 std::cout << "Spot found!" << std::endl;
94 }
95 return index;
96 }
97 if (!rehashing) {
-
98 std::cout << "Spot taken, looking at next (next index:"
+
98 std::cout << "Spot taken, looking at next (next index:"
99 << " "
100 << static_cast<int>(hash + (i * otherHashFxn(key))) %
101 totalSize
-
102 << ")" << std::endl;
+
102 << ")" << std::endl;
103 }
104 i++;
105 }
106 if (i == totalSize * 100) {
-
107 std::cout << "DoubleHash probe failed" << std::endl;
+
107 std::cout << "DoubleHash probe failed" << std::endl;
108 return notPresent;
109 }
110 } while (entry.key != notPresent);
111 return notPresent;
112}
-
void * hash(const std::string &message)
Converts the string to bytestring and calls the main algorithm.
Definition md5.cpp:288
-
size_t otherHashFxn(int key)
Used for second hash function.
Definition double_hash_hash_table.cpp:58
-
bool putProber(const Entry &entry, int key)
Definition double_hash_hash_table.cpp:120
-
Definition double_hash_hash_table.cpp:36
-
int key
key value
Definition double_hash_hash_table.cpp:38
-
-Here is the call graph for this function:
-
-
-
- +
void * hash(const std::string &message)
Converts the string to bytestring and calls the main algorithm.
Definition md5.cpp:288
+
size_t otherHashFxn(int key)
Used for second hash function.
+
bool putProber(const Entry &entry, int key)
+
+
int key
key value
+ @@ -399,7 +412,7 @@ Here is the call graph for this function:
-

Hash a key. Uses the STL library's std::hash() function.

+

Hash a key. Uses the STL library's std::hash() function.

Parameters
@@ -407,11 +420,12 @@ Here is the call graph for this function:
Returns
hash value of the key
+ +

Definition at line 47 of file double_hash_hash_table.cpp.

47 {
-
48 std::hash<int> hash;
+
48 std::hash<int> hash;
49 return hash(key);
50}
-
@@ -438,8 +452,10 @@ Here is the call graph for this function:
Returns
hash value of the key
+ +

Definition at line 58 of file double_hash_hash_table.cpp.

58 {
-
59 std::hash<int> hash;
+
59 std::hash<int> hash;
60 return 1 + (7 - (hash(key) % 7));
61}
@@ -473,6 +489,8 @@ Here is the call graph for this function:
Returns
true if key is not present or is a toumb
false is already occupied
+ +

Definition at line 120 of file double_hash_hash_table.cpp.

120 {
121 if (entry.key == notPresent || entry.key == tomb) {
122 return true;
@@ -497,13 +515,15 @@ Here is the call graph for this function:
keyvalue to hash

Rehashes the table into a bigger table

Returns
None
+ +

Definition at line 161 of file double_hash_hash_table.cpp.

161 {
162 // Necessary so wall of add info isn't printed all at once
163 rehashing = true;
164 int oldSize = totalSize;
-
165 std::vector<Entry> oldTable(table);
+
165 std::vector<Entry> oldTable(table);
166 // Really this should use the next prime number greater than totalSize * 2
-
167 table = std::vector<Entry>(totalSize * 2);
+
167 table = std::vector<Entry>(totalSize * 2);
168 totalSize *= 2;
169 for (int i = 0; i < oldSize; i++) {
170 if (oldTable[i].key != -1 && oldTable[i].key != notPresent) {
@@ -515,15 +535,9 @@ Here is the call graph for this function:
176 // oldTable.reset();
177
178 rehashing = false;
-
179 std::cout << "Table was rehashed, new size is: " << totalSize << std::endl;
+
179 std::cout << "Table was rehashed, new size is: " << totalSize << std::endl;
180}
- -
-Here is the call graph for this function:
-
-
-
- + @@ -546,23 +560,21 @@ Here is the call graph for this function: + +

Definition at line 227 of file double_hash_hash_table.cpp.

227 {
-
228 std::cout << "Initial table: ";
+
228 std::cout << "Initial table: ";
229 display();
- -
231 std::cout << "hash of " << key << " is " << hashFxn(key) << " % "
+
230 std::cout << std::endl;
+
231 std::cout << "hash of " << key << " is " << hashFxn(key) << " % "
232 << totalSize << " == " << hashFxn(key) % totalSize;
- -
234 remove(key);
-
235 std::cout << "New table: ";
+
233 std::cout << std::endl;
+
234 remove(key);
+
235 std::cout << "New table: ";
236 display();
237}
-
-Here is the call graph for this function:
-
-
-
- + + @@ -585,21 +597,18 @@ Here is the call graph for this function: + +

Definition at line 199 of file double_hash_hash_table.cpp.

199 {
200 int index = doubleHash(key, true);
201 if (index == notPresent) {
-
202 std::cout << "key not found" << std::endl;
+
202 std::cout << "key not found" << std::endl;
203 }
204 table[index].key = tomb;
-
205 std::cout << "Removal successful, leaving tombstone" << std::endl;
+
205 std::cout << "Removal successful, leaving tombstone" << std::endl;
206 size--;
207}
-
-Here is the call graph for this function:
-
-
-
- + @@ -630,6 +639,8 @@ Here is the call graph for this function:
Returns
true if found
false if not found
+ +

Definition at line 133 of file double_hash_hash_table.cpp.

133 {
134 if (entry.key == key) {
135 return true;
@@ -637,6 +648,103 @@ Here is the call graph for this function:
137 return false;
138}
+ + +

Variable Documentation

+ +

◆ notPresent

+ +
+
+ + + + +
int double_hashing::notPresent
+
+ +

Definition at line 28 of file double_hash_hash_table.cpp.

+ +
+
+ +

◆ rehashing

+ +
+
+ + + + +
bool double_hashing::rehashing
+
+ +

Definition at line 33 of file double_hash_hash_table.cpp.

+ +
+
+ +

◆ size

+ +
+
+ + + + +
int double_hashing::size
+
+ +

Definition at line 32 of file double_hash_hash_table.cpp.

+ +
+
+ +

◆ table

+ +
+
+ + + + +
std::vector<Entry> double_hashing::table
+
+ +

Definition at line 29 of file double_hash_hash_table.cpp.

+ +
+
+ +

◆ tomb

+ +
+
+ + + + +
int double_hashing::tomb = -1
+
+ +

Definition at line 31 of file double_hash_hash_table.cpp.

+ +
+
+ +

◆ totalSize

+ +
+
+ + + + +
int double_hashing::totalSize
+
+ +

Definition at line 30 of file double_hash_hash_table.cpp.

+
diff --git a/d0/d65/namespacedouble__hashing_a1e901418c759627557eff359b8db38cd_cgraph.map b/d0/d65/namespacedouble__hashing_a1e901418c759627557eff359b8db38cd_cgraph.map deleted file mode 100644 index 5071e2253..000000000 --- a/d0/d65/namespacedouble__hashing_a1e901418c759627557eff359b8db38cd_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d0/d65/namespacedouble__hashing_a1e901418c759627557eff359b8db38cd_cgraph.md5 b/d0/d65/namespacedouble__hashing_a1e901418c759627557eff359b8db38cd_cgraph.md5 deleted file mode 100644 index bd95d4fdb..000000000 --- a/d0/d65/namespacedouble__hashing_a1e901418c759627557eff359b8db38cd_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -97794c183a1a96bd849dfeec8a5420f4 \ No newline at end of file diff --git a/d0/d65/namespacedouble__hashing_a1e901418c759627557eff359b8db38cd_cgraph.svg b/d0/d65/namespacedouble__hashing_a1e901418c759627557eff359b8db38cd_cgraph.svg deleted file mode 100644 index 440709d11..000000000 --- a/d0/d65/namespacedouble__hashing_a1e901418c759627557eff359b8db38cd_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -double_hashing::display - - -Node1 - - -double_hashing::display - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d0/d65/namespacedouble__hashing_a1e901418c759627557eff359b8db38cd_cgraph_org.svg b/d0/d65/namespacedouble__hashing_a1e901418c759627557eff359b8db38cd_cgraph_org.svg deleted file mode 100644 index 25e12a765..000000000 --- a/d0/d65/namespacedouble__hashing_a1e901418c759627557eff359b8db38cd_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -double_hashing::display - - -Node1 - - -double_hashing::display - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - diff --git a/d0/d65/namespacedouble__hashing_a28083ecac6eb94b643281875c8665931_cgraph.map b/d0/d65/namespacedouble__hashing_a28083ecac6eb94b643281875c8665931_cgraph.map deleted file mode 100644 index 18257db83..000000000 --- a/d0/d65/namespacedouble__hashing_a28083ecac6eb94b643281875c8665931_cgraph.map +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - - - - - diff --git a/d0/d65/namespacedouble__hashing_a28083ecac6eb94b643281875c8665931_cgraph.md5 b/d0/d65/namespacedouble__hashing_a28083ecac6eb94b643281875c8665931_cgraph.md5 deleted file mode 100644 index 8a0912a8d..000000000 --- a/d0/d65/namespacedouble__hashing_a28083ecac6eb94b643281875c8665931_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -61afd8a25fb724e20d31348c8b166991 \ No newline at end of file diff --git a/d0/d65/namespacedouble__hashing_a28083ecac6eb94b643281875c8665931_cgraph.svg b/d0/d65/namespacedouble__hashing_a28083ecac6eb94b643281875c8665931_cgraph.svg deleted file mode 100644 index 974c728bc..000000000 --- a/d0/d65/namespacedouble__hashing_a28083ecac6eb94b643281875c8665931_cgraph.svg +++ /dev/null @@ -1,165 +0,0 @@ - - - - - - - - - - - - -double_hashing::remove - - -Node1 - - -double_hashing::remove - - - - - -Node2 - - -double_hashing::doubleHash - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node1->Node3 - - - - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -double_hashing::hashFxn - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -double_hashing::otherHashFxn - - - - - -Node2->Node5 - - - - - - - - -Node6 - - -double_hashing::putProber - - - - - -Node2->Node6 - - - - - - - - -Node7 - - -double_hashing::searching -Prober - - - - - -Node2->Node7 - - - - - - - - - - - - - diff --git a/d0/d65/namespacedouble__hashing_a28083ecac6eb94b643281875c8665931_cgraph_org.svg b/d0/d65/namespacedouble__hashing_a28083ecac6eb94b643281875c8665931_cgraph_org.svg deleted file mode 100644 index d38df60f6..000000000 --- a/d0/d65/namespacedouble__hashing_a28083ecac6eb94b643281875c8665931_cgraph_org.svg +++ /dev/null @@ -1,139 +0,0 @@ - - - - - - -double_hashing::remove - - -Node1 - - -double_hashing::remove - - - - - -Node2 - - -double_hashing::doubleHash - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node1->Node3 - - - - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -double_hashing::hashFxn - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -double_hashing::otherHashFxn - - - - - -Node2->Node5 - - - - - - - - -Node6 - - -double_hashing::putProber - - - - - -Node2->Node6 - - - - - - - - -Node7 - - -double_hashing::searching -Prober - - - - - -Node2->Node7 - - - - - - - - diff --git a/d0/d65/namespacedouble__hashing_a5d06e4598569526294f10104875f6824_cgraph.map b/d0/d65/namespacedouble__hashing_a5d06e4598569526294f10104875f6824_cgraph.map deleted file mode 100644 index 0ec07ed3f..000000000 --- a/d0/d65/namespacedouble__hashing_a5d06e4598569526294f10104875f6824_cgraph.map +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d0/d65/namespacedouble__hashing_a5d06e4598569526294f10104875f6824_cgraph.md5 b/d0/d65/namespacedouble__hashing_a5d06e4598569526294f10104875f6824_cgraph.md5 deleted file mode 100644 index c2fb263dd..000000000 --- a/d0/d65/namespacedouble__hashing_a5d06e4598569526294f10104875f6824_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -e06fa8daa8be601509dba14947d9bfb6 \ No newline at end of file diff --git a/d0/d65/namespacedouble__hashing_a5d06e4598569526294f10104875f6824_cgraph.svg b/d0/d65/namespacedouble__hashing_a5d06e4598569526294f10104875f6824_cgraph.svg deleted file mode 100644 index 423622ad0..000000000 --- a/d0/d65/namespacedouble__hashing_a5d06e4598569526294f10104875f6824_cgraph.svg +++ /dev/null @@ -1,285 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -double_hashing::removalInfo - - -Node1 - - -double_hashing::removalInfo - - - - - -Node2 - - -double_hashing::display - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -double_hashing::hashFxn - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -double_hashing::remove - - - - - -Node1->Node5 - - - - - - - - -Node2->Node3 - - - - - - - - -Node5->Node3 - - - - - - - - -Node6 - - -double_hashing::doubleHash - - - - - -Node5->Node6 - - - - - - - - -Node6->Node3 - - - - - - - - -Node6->Node4 - - - - - - - - -Node7 - - -double_hashing::otherHashFxn - - - - - -Node6->Node7 - - - - - - - - -Node8 - - -double_hashing::putProber - - - - - -Node6->Node8 - - - - - - - - -Node9 - - -double_hashing::searching -Prober - - - - - -Node6->Node9 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d0/d65/namespacedouble__hashing_a5d06e4598569526294f10104875f6824_cgraph_org.svg b/d0/d65/namespacedouble__hashing_a5d06e4598569526294f10104875f6824_cgraph_org.svg deleted file mode 100644 index 8e5dd4de9..000000000 --- a/d0/d65/namespacedouble__hashing_a5d06e4598569526294f10104875f6824_cgraph_org.svg +++ /dev/null @@ -1,202 +0,0 @@ - - - - - - -double_hashing::removalInfo - - -Node1 - - -double_hashing::removalInfo - - - - - -Node2 - - -double_hashing::display - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -double_hashing::hashFxn - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -double_hashing::remove - - - - - -Node1->Node5 - - - - - - - - -Node2->Node3 - - - - - - - - -Node5->Node3 - - - - - - - - -Node6 - - -double_hashing::doubleHash - - - - - -Node5->Node6 - - - - - - - - -Node6->Node3 - - - - - - - - -Node6->Node4 - - - - - - - - -Node7 - - -double_hashing::otherHashFxn - - - - - -Node6->Node7 - - - - - - - - -Node8 - - -double_hashing::putProber - - - - - -Node6->Node8 - - - - - - - - -Node9 - - -double_hashing::searching -Prober - - - - - -Node6->Node9 - - - - - - - - diff --git a/d0/d65/namespacedouble__hashing_a79a9c914a6c68275b3640303d7faad8a_cgraph.map b/d0/d65/namespacedouble__hashing_a79a9c914a6c68275b3640303d7faad8a_cgraph.map deleted file mode 100644 index a9d5aa77b..000000000 --- a/d0/d65/namespacedouble__hashing_a79a9c914a6c68275b3640303d7faad8a_cgraph.map +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - - - - - - - - - - diff --git a/d0/d65/namespacedouble__hashing_a79a9c914a6c68275b3640303d7faad8a_cgraph.md5 b/d0/d65/namespacedouble__hashing_a79a9c914a6c68275b3640303d7faad8a_cgraph.md5 deleted file mode 100644 index 464a71ef1..000000000 --- a/d0/d65/namespacedouble__hashing_a79a9c914a6c68275b3640303d7faad8a_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -dd5772442b12e80e9c4e82e78012a2ff \ No newline at end of file diff --git a/d0/d65/namespacedouble__hashing_a79a9c914a6c68275b3640303d7faad8a_cgraph.svg b/d0/d65/namespacedouble__hashing_a79a9c914a6c68275b3640303d7faad8a_cgraph.svg deleted file mode 100644 index 32ac64392..000000000 --- a/d0/d65/namespacedouble__hashing_a79a9c914a6c68275b3640303d7faad8a_cgraph.svg +++ /dev/null @@ -1,192 +0,0 @@ - - - - - - - - - - - - -double_hashing::add - - -Node1 - - -double_hashing::add - - - - - -Node2 - - -double_hashing::doubleHash - - - - - -Node1->Node2 - - - - - - - - -Node8 - - -double_hashing::rehash - - - - - -Node1->Node8 - - - - - - - - -Node3 - - -std::endl - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -double_hashing::hashFxn - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -double_hashing::otherHashFxn - - - - - -Node2->Node5 - - - - - - - - -Node6 - - -double_hashing::putProber - - - - - -Node2->Node6 - - - - - - - - -Node7 - - -double_hashing::searching -Prober - - - - - -Node2->Node7 - - - - - - - - -Node8->Node1 - - - - - - - - -Node8->Node3 - - - - - - - - - - - - - diff --git a/d0/d65/namespacedouble__hashing_a79a9c914a6c68275b3640303d7faad8a_cgraph_org.svg b/d0/d65/namespacedouble__hashing_a79a9c914a6c68275b3640303d7faad8a_cgraph_org.svg deleted file mode 100644 index 5e7151d73..000000000 --- a/d0/d65/namespacedouble__hashing_a79a9c914a6c68275b3640303d7faad8a_cgraph_org.svg +++ /dev/null @@ -1,166 +0,0 @@ - - - - - - -double_hashing::add - - -Node1 - - -double_hashing::add - - - - - -Node2 - - -double_hashing::doubleHash - - - - - -Node1->Node2 - - - - - - - - -Node8 - - -double_hashing::rehash - - - - - -Node1->Node8 - - - - - - - - -Node3 - - -std::endl - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -double_hashing::hashFxn - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -double_hashing::otherHashFxn - - - - - -Node2->Node5 - - - - - - - - -Node6 - - -double_hashing::putProber - - - - - -Node2->Node6 - - - - - - - - -Node7 - - -double_hashing::searching -Prober - - - - - -Node2->Node7 - - - - - - - - -Node8->Node1 - - - - - - - - -Node8->Node3 - - - - - - - - diff --git a/d0/d65/namespacedouble__hashing_a8f8ff4fb018e1bb32d67d8a1885d3200_cgraph.map b/d0/d65/namespacedouble__hashing_a8f8ff4fb018e1bb32d67d8a1885d3200_cgraph.map deleted file mode 100644 index 6e9434ced..000000000 --- a/d0/d65/namespacedouble__hashing_a8f8ff4fb018e1bb32d67d8a1885d3200_cgraph.map +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - diff --git a/d0/d65/namespacedouble__hashing_a8f8ff4fb018e1bb32d67d8a1885d3200_cgraph.md5 b/d0/d65/namespacedouble__hashing_a8f8ff4fb018e1bb32d67d8a1885d3200_cgraph.md5 deleted file mode 100644 index ae34accb9..000000000 --- a/d0/d65/namespacedouble__hashing_a8f8ff4fb018e1bb32d67d8a1885d3200_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -15d7d83c986987a70013716a341866af \ No newline at end of file diff --git a/d0/d65/namespacedouble__hashing_a8f8ff4fb018e1bb32d67d8a1885d3200_cgraph.svg b/d0/d65/namespacedouble__hashing_a8f8ff4fb018e1bb32d67d8a1885d3200_cgraph.svg deleted file mode 100644 index fa5fe0be6..000000000 --- a/d0/d65/namespacedouble__hashing_a8f8ff4fb018e1bb32d67d8a1885d3200_cgraph.svg +++ /dev/null @@ -1,138 +0,0 @@ - - - - - - - - - - - - -double_hashing::doubleHash - - -Node1 - - -double_hashing::doubleHash - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -double_hashing::hashFxn - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -double_hashing::otherHashFxn - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -double_hashing::putProber - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -double_hashing::searching -Prober - - - - - -Node1->Node6 - - - - - - - - - - - - - diff --git a/d0/d65/namespacedouble__hashing_a8f8ff4fb018e1bb32d67d8a1885d3200_cgraph_org.svg b/d0/d65/namespacedouble__hashing_a8f8ff4fb018e1bb32d67d8a1885d3200_cgraph_org.svg deleted file mode 100644 index 6649df2a9..000000000 --- a/d0/d65/namespacedouble__hashing_a8f8ff4fb018e1bb32d67d8a1885d3200_cgraph_org.svg +++ /dev/null @@ -1,112 +0,0 @@ - - - - - - -double_hashing::doubleHash - - -Node1 - - -double_hashing::doubleHash - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -double_hashing::hashFxn - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -double_hashing::otherHashFxn - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -double_hashing::putProber - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -double_hashing::searching -Prober - - - - - -Node1->Node6 - - - - - - - - diff --git a/d0/d65/namespacedouble__hashing_a9c652b2e467e5d250dfe3bed83b12560_cgraph.map b/d0/d65/namespacedouble__hashing_a9c652b2e467e5d250dfe3bed83b12560_cgraph.map deleted file mode 100644 index 9e5e4de61..000000000 --- a/d0/d65/namespacedouble__hashing_a9c652b2e467e5d250dfe3bed83b12560_cgraph.map +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d0/d65/namespacedouble__hashing_a9c652b2e467e5d250dfe3bed83b12560_cgraph.md5 b/d0/d65/namespacedouble__hashing_a9c652b2e467e5d250dfe3bed83b12560_cgraph.md5 deleted file mode 100644 index 7c5f72745..000000000 --- a/d0/d65/namespacedouble__hashing_a9c652b2e467e5d250dfe3bed83b12560_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -1f73cc937ca8cbcfec637939c1afec7b \ No newline at end of file diff --git a/d0/d65/namespacedouble__hashing_a9c652b2e467e5d250dfe3bed83b12560_cgraph.svg b/d0/d65/namespacedouble__hashing_a9c652b2e467e5d250dfe3bed83b12560_cgraph.svg deleted file mode 100644 index 6882fff34..000000000 --- a/d0/d65/namespacedouble__hashing_a9c652b2e467e5d250dfe3bed83b12560_cgraph.svg +++ /dev/null @@ -1,312 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -double_hashing::addInfo - - -Node1 - - -double_hashing::addInfo - - - - - -Node2 - - -double_hashing::add - - - - - -Node1->Node2 - - - - - - - - -Node4 - - -std::endl - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -double_hashing::hashFxn - - - - - -Node1->Node5 - - - - - - - - -Node10 - - -double_hashing::display - - - - - -Node1->Node10 - - - - - - - - -Node3 - - -double_hashing::doubleHash - - - - - -Node2->Node3 - - - - - - - - -Node9 - - -double_hashing::rehash - - - - - -Node2->Node9 - - - - - - - - -Node3->Node4 - - - - - - - - -Node3->Node5 - - - - - - - - -Node6 - - -double_hashing::otherHashFxn - - - - - -Node3->Node6 - - - - - - - - -Node7 - - -double_hashing::putProber - - - - - -Node3->Node7 - - - - - - - - -Node8 - - -double_hashing::searching -Prober - - - - - -Node3->Node8 - - - - - - - - -Node9->Node2 - - - - - - - - -Node9->Node4 - - - - - - - - -Node10->Node4 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d0/d65/namespacedouble__hashing_a9c652b2e467e5d250dfe3bed83b12560_cgraph_org.svg b/d0/d65/namespacedouble__hashing_a9c652b2e467e5d250dfe3bed83b12560_cgraph_org.svg deleted file mode 100644 index 75379c2bd..000000000 --- a/d0/d65/namespacedouble__hashing_a9c652b2e467e5d250dfe3bed83b12560_cgraph_org.svg +++ /dev/null @@ -1,229 +0,0 @@ - - - - - - -double_hashing::addInfo - - -Node1 - - -double_hashing::addInfo - - - - - -Node2 - - -double_hashing::add - - - - - -Node1->Node2 - - - - - - - - -Node4 - - -std::endl - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -double_hashing::hashFxn - - - - - -Node1->Node5 - - - - - - - - -Node10 - - -double_hashing::display - - - - - -Node1->Node10 - - - - - - - - -Node3 - - -double_hashing::doubleHash - - - - - -Node2->Node3 - - - - - - - - -Node9 - - -double_hashing::rehash - - - - - -Node2->Node9 - - - - - - - - -Node3->Node4 - - - - - - - - -Node3->Node5 - - - - - - - - -Node6 - - -double_hashing::otherHashFxn - - - - - -Node3->Node6 - - - - - - - - -Node7 - - -double_hashing::putProber - - - - - -Node3->Node7 - - - - - - - - -Node8 - - -double_hashing::searching -Prober - - - - - -Node3->Node8 - - - - - - - - -Node9->Node2 - - - - - - - - -Node9->Node4 - - - - - - - - -Node10->Node4 - - - - - - - - diff --git a/d0/d65/namespacedouble__hashing_af4981819aae8bc7e7beeaef02615e30d_cgraph.map b/d0/d65/namespacedouble__hashing_af4981819aae8bc7e7beeaef02615e30d_cgraph.map deleted file mode 100644 index 7da9d065f..000000000 --- a/d0/d65/namespacedouble__hashing_af4981819aae8bc7e7beeaef02615e30d_cgraph.map +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - - - - - - - - - - diff --git a/d0/d65/namespacedouble__hashing_af4981819aae8bc7e7beeaef02615e30d_cgraph.md5 b/d0/d65/namespacedouble__hashing_af4981819aae8bc7e7beeaef02615e30d_cgraph.md5 deleted file mode 100644 index b35b2d114..000000000 --- a/d0/d65/namespacedouble__hashing_af4981819aae8bc7e7beeaef02615e30d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -ac5a0476f7b57aa6864f23dd8cf83e61 \ No newline at end of file diff --git a/d0/d65/namespacedouble__hashing_af4981819aae8bc7e7beeaef02615e30d_cgraph.svg b/d0/d65/namespacedouble__hashing_af4981819aae8bc7e7beeaef02615e30d_cgraph.svg deleted file mode 100644 index 416755398..000000000 --- a/d0/d65/namespacedouble__hashing_af4981819aae8bc7e7beeaef02615e30d_cgraph.svg +++ /dev/null @@ -1,249 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -double_hashing::rehash - - -Node1 - - -double_hashing::rehash - - - - - -Node2 - - -double_hashing::add - - - - - -Node1->Node2 - - - - - - - - -Node4 - - -std::endl - - - - - -Node1->Node4 - - - - - - - - -Node2->Node1 - - - - - - - - -Node3 - - -double_hashing::doubleHash - - - - - -Node2->Node3 - - - - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -double_hashing::hashFxn - - - - - -Node3->Node5 - - - - - - - - -Node6 - - -double_hashing::otherHashFxn - - - - - -Node3->Node6 - - - - - - - - -Node7 - - -double_hashing::putProber - - - - - -Node3->Node7 - - - - - - - - -Node8 - - -double_hashing::searching -Prober - - - - - -Node3->Node8 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d0/d65/namespacedouble__hashing_af4981819aae8bc7e7beeaef02615e30d_cgraph_org.svg b/d0/d65/namespacedouble__hashing_af4981819aae8bc7e7beeaef02615e30d_cgraph_org.svg deleted file mode 100644 index d0e2e997e..000000000 --- a/d0/d65/namespacedouble__hashing_af4981819aae8bc7e7beeaef02615e30d_cgraph_org.svg +++ /dev/null @@ -1,166 +0,0 @@ - - - - - - -double_hashing::rehash - - -Node1 - - -double_hashing::rehash - - - - - -Node2 - - -double_hashing::add - - - - - -Node1->Node2 - - - - - - - - -Node4 - - -std::endl - - - - - -Node1->Node4 - - - - - - - - -Node2->Node1 - - - - - - - - -Node3 - - -double_hashing::doubleHash - - - - - -Node2->Node3 - - - - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -double_hashing::hashFxn - - - - - -Node3->Node5 - - - - - - - - -Node6 - - -double_hashing::otherHashFxn - - - - - -Node3->Node6 - - - - - - - - -Node7 - - -double_hashing::putProber - - - - - -Node3->Node7 - - - - - - - - -Node8 - - -double_hashing::searching -Prober - - - - - -Node3->Node8 - - - - - - - - diff --git a/d0/d6d/modular__exponentiation_8cpp.html b/d0/d6d/modular__exponentiation_8cpp.html index db31bec30..20d8c83e4 100644 --- a/d0/d6d/modular__exponentiation_8cpp.html +++ b/d0/d6d/modular__exponentiation_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: math/modular_exponentiation.cpp File Reference +TheAlgorithms/C++: math/modular_exponentiation.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
@@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -121,7 +138,9 @@ Include dependency graph for modular_exponentiation.cpp:
-
-
Algorithms_in_C++ 1.0.0 +
TheAlgorithms/C++ 1.0.0
-
Set of algorithms implemented in C++.
+
All the algorithms implemented in C++
+ +

Go to the source code of this file.

+
@@ -144,6 +163,8 @@ Functions

The task is to calculate the value of an integer a raised to an integer exponent b under modulo c.

Note
The time complexity of this approach is O(log b).

Example: (4^3) % 5 (where ^ stands for exponentiation and % for modulo) (4*4*4) % 5 (4 % 5) * ( (4*4) % 5 ) 4 * (16 % 5) 4 * 1 4 We can also verify the result as 4^3 is 64 and 64 modulo 5 is 4

Author
Shri2206
+ +

Definition in file modular_exponentiation.cpp.

Function Documentation

◆ main()

@@ -162,17 +183,14 @@ Functions

Main function.

Returns
0 on exit
+ +

Definition at line 86 of file modular_exponentiation.cpp.

86 {
87 test(); // execute the tests
88 return 0;
89}
-
static void test()
Definition modular_exponentiation.cpp:60
-
-Here is the call graph for this function:
-
-
-
- +
static void test()
+ @@ -198,36 +216,31 @@ Here is the call graph for this function:

Namespaces

namespace  math

Function for testing power function. test cases and assert statement.

Returns
void
+ +

Definition at line 60 of file modular_exponentiation.cpp.

60 {
61 uint32_t test_case_1 = math::power(2, 5, 13);
62 assert(test_case_1 == 6);
-
63 std::cout << "Test 1 Passed!" << std::endl;
+
63 std::cout << "Test 1 Passed!" << std::endl;
64
65 uint32_t test_case_2 = math::power(14, 7, 15);
66 assert(test_case_2 == 14);
-
67 std::cout << "Test 2 Passed!" << std::endl;
+
67 std::cout << "Test 2 Passed!" << std::endl;
68
69 uint64_t test_case_3 = math::power(8, 15, 41);
70 assert(test_case_3 == 32);
-
71 std::cout << "Test 3 Passed!" << std::endl;
+
71 std::cout << "Test 3 Passed!" << std::endl;
72
73 uint64_t test_case_4 = math::power(27, 2, 5);
74 assert(test_case_4 == 4);
-
75 std::cout << "Test 4 Passed!" << std::endl;
+
75 std::cout << "Test 4 Passed!" << std::endl;
76
77 uint16_t test_case_5 = math::power(7, 3, 6);
78 assert(test_case_5 == 1);
-
79 std::cout << "Test 5 Passed!" << std::endl;
+
79 std::cout << "Test 5 Passed!" << std::endl;
80}
- -
T endl(T... args)
-
uint64_t power(uint64_t a, uint64_t b, uint64_t c)
This function calculates a raised to exponent b under modulo c using modular exponentiation.
Definition modular_exponentiation.cpp:35
-
-Here is the call graph for this function:
-
-
-
- +
uint64_t power(uint64_t a, uint64_t b, uint64_t c)
This function calculates a raised to exponent b under modulo c using modular exponentiation.
+
diff --git a/d0/d6d/modular__exponentiation_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map b/d0/d6d/modular__exponentiation_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map deleted file mode 100644 index 552e455b3..000000000 --- a/d0/d6d/modular__exponentiation_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/d0/d6d/modular__exponentiation_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 b/d0/d6d/modular__exponentiation_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 deleted file mode 100644 index 8f195de6a..000000000 --- a/d0/d6d/modular__exponentiation_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -7251ae859ad0305c763cd4840f279c9d \ No newline at end of file diff --git a/d0/d6d/modular__exponentiation_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg b/d0/d6d/modular__exponentiation_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg deleted file mode 100644 index 89c4273dc..000000000 --- a/d0/d6d/modular__exponentiation_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -math::power - - - - - -Node1->Node3 - - - - - - - - - - - - - diff --git a/d0/d6d/modular__exponentiation_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg b/d0/d6d/modular__exponentiation_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg deleted file mode 100644 index 1f20011be..000000000 --- a/d0/d6d/modular__exponentiation_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -math::power - - - - - -Node1->Node3 - - - - - - - - diff --git a/d0/d6d/modular__exponentiation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d0/d6d/modular__exponentiation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 7b8f19a48..000000000 --- a/d0/d6d/modular__exponentiation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/d0/d6d/modular__exponentiation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d0/d6d/modular__exponentiation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index d45a9ecbd..000000000 --- a/d0/d6d/modular__exponentiation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -97ac56c51b855eab2d628c38e8e0fa43 \ No newline at end of file diff --git a/d0/d6d/modular__exponentiation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d0/d6d/modular__exponentiation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 7d5d3b230..000000000 --- a/d0/d6d/modular__exponentiation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -math::power - - - - - -Node2->Node4 - - - - - - - - - - - - - diff --git a/d0/d6d/modular__exponentiation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d0/d6d/modular__exponentiation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 8cd567ed7..000000000 --- a/d0/d6d/modular__exponentiation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -math::power - - - - - -Node2->Node4 - - - - - - - - diff --git a/d0/d6d/modular__exponentiation_8cpp_source.html b/d0/d6d/modular__exponentiation_8cpp_source.html new file mode 100644 index 000000000..42bba8848 --- /dev/null +++ b/d0/d6d/modular__exponentiation_8cpp_source.html @@ -0,0 +1,196 @@ + + + + + + + + +TheAlgorithms/C++: math/modular_exponentiation.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
TheAlgorithms/C++ 1.0.0 +
+
All the algorithms implemented in C++
+
+
+ + + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
modular_exponentiation.cpp
+
+
+Go to the documentation of this file.
1
+
19#include <cassert>
+
20#include <cstdint>
+
21#include <iostream>
+
26namespace math {
+
+
35uint64_t power(uint64_t a, uint64_t b, uint64_t c) {
+
36 uint64_t ans = 1;
+
37 a = a % c;
+
38 if (a == 0) {
+
39 return 0;
+
40 }
+
41 while (b > 0) {
+
43 if (b & 1) {
+
44 ans = ((ans % c) * (a % c)) % c;
+
45 }
+
47 b = b >> 1;
+
48 a = ((a % c) * (a % c)) % c;
+
49 }
+
50 return ans;
+
51}
+
+
52
+
53} // namespace math
+
54
+
+
60static void test() {
+
61 uint32_t test_case_1 = math::power(2, 5, 13);
+
62 assert(test_case_1 == 6);
+
63 std::cout << "Test 1 Passed!" << std::endl;
+
64
+
65 uint32_t test_case_2 = math::power(14, 7, 15);
+
66 assert(test_case_2 == 14);
+
67 std::cout << "Test 2 Passed!" << std::endl;
+
68
+
69 uint64_t test_case_3 = math::power(8, 15, 41);
+
70 assert(test_case_3 == 32);
+
71 std::cout << "Test 3 Passed!" << std::endl;
+
72
+
73 uint64_t test_case_4 = math::power(27, 2, 5);
+
74 assert(test_case_4 == 4);
+
75 std::cout << "Test 4 Passed!" << std::endl;
+
76
+
77 uint16_t test_case_5 = math::power(7, 3, 6);
+
78 assert(test_case_5 == 1);
+
79 std::cout << "Test 5 Passed!" << std::endl;
+
80}
+
+
81
+
+
86int main() {
+
87 test(); // execute the tests
+
88 return 0;
+
89}
+
+
static void test()
+
int main()
Main function.
+
for assert
+
uint64_t power(uint64_t a, uint64_t b, uint64_t c)
This function calculates a raised to exponent b under modulo c using modular exponentiation.
+
+
+ + + + diff --git a/d0/d6f/namespaceothers.html b/d0/d6f/namespaceothers.html index f0522f0cf..ebe1cde90 100644 --- a/d0/d6f/namespaceothers.html +++ b/d0/d6f/namespaceothers.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: others Namespace Reference +TheAlgorithms/C++: others Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
@@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -139,9 +156,9 @@ Functions

Other algorithms

for assert for std::abs

Other algorithms

-

for IO Operations for std::list for std::unordered_map

+

for IO Operations for std::list for std::unordered_map

Other algorithms

-

for assert for std::uint64_t for I/O operations

+

for assert for std::uint64_t for I/O operations

Other algorithms

Function Documentation

@@ -180,6 +197,8 @@ Functions
Returns
true if the numbers ARE equal within the given tolerance
false if the numbers are NOT equal within the given tolerance otherwise
+ +

Definition at line 40 of file kelvin_to_celsius.cpp.

40 {
41 return std::abs(a - b) < absolute_tolerance;
42}
@@ -209,14 +228,15 @@ false if the numbers are NOT equal within the given tolerance otherwise
Returns
the Kelvin number converted to Celsius
+ +

Definition at line 49 of file kelvin_to_celsius.cpp.

49 {
50 const double absolute_zero_in_c = -273.15;
51 if (temperature_in_k < absolute_zero_in_c) {
-
52 throw std::invalid_argument("input temperature below absolute zero");
+
52 throw std::invalid_argument("input temperature below absolute zero");
53 }
54 return temperature_in_k + absolute_zero_in_c;
55}
-
diff --git a/d0/d77/longest__palindromic__subsequence_8cpp.html b/d0/d77/longest__palindromic__subsequence_8cpp.html index f9b9facfb..60e8189d9 100644 --- a/d0/d77/longest__palindromic__subsequence_8cpp.html +++ b/d0/d77/longest__palindromic__subsequence_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: dynamic_programming/longest_palindromic_subsequence.cpp File Reference +TheAlgorithms/C++: dynamic_programming/longest_palindromic_subsequence.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
@@ -33,10 +49,11 @@ MathJax.Hub.Config({
-
Algorithms_in_C++ 1.0.0 +
TheAlgorithms/C++ 1.0.0
-
Set of algorithms implemented in C++.
+
All the algorithms implemented in C++
+ @@ -121,7 +138,9 @@ Include dependency graph for longest_palindromic_subsequence.cpp:
-
-
Algorithms_in_C++ 1.0.0 +
TheAlgorithms/C++ 1.0.0
-
Set of algorithms implemented in C++.
+
All the algorithms implemented in C++
+ +

Go to the source code of this file.

+
@@ -130,7 +149,7 @@ Namespaces

Namespaces

namespace  dynamic_programming
- + @@ -144,6 +163,8 @@ Functions

Program to find the Longest Palindormic Subsequence of a string.

Palindrome string sequence of characters which reads the same backward as forward Subsequence is a sequence that can be derived from another sequence by deleting some or no elements without changing the order of the remaining elements.

Author
Anjali Jha
+ +

Definition in file longest_palindromic_subsequence.cpp.

Function Documentation

◆ main()

@@ -162,17 +183,14 @@ Functions

Main Function.

Returns
0 on exit
+ +

Definition at line 97 of file longest_palindromic_subsequence.cpp.

97 {
98 test(); // execute the tests
99 return 0;
100}
-
static void test()
Self-test implementations.
Definition longest_palindromic_subsequence.cpp:86
-
-Here is the call graph for this function:
-
-
-
- +
static void test()
Self-test implementations.
+ @@ -200,19 +218,16 @@ Here is the call graph for this function:

Self-test implementations.

Returns
void
+ +

Definition at line 86 of file longest_palindromic_subsequence.cpp.

86 {
87 assert(dynamic_programming::lps("radar") == "radar");
88 assert(dynamic_programming::lps("abbcbaa") == "abcba");
89 assert(dynamic_programming::lps("bbbab") == "bbbb");
90 assert(dynamic_programming::lps("") == "");
91}
-
std::string lps(const std::string &a)
Function that returns the longest palindromic subsequence of a string.
Definition longest_palindromic_subsequence.cpp:31
-
-Here is the call graph for this function:
-
-
-
- +
std::string lps(const std::string &a)
Function that returns the longest palindromic subsequence of a string.
+ diff --git a/d0/d77/longest__palindromic__subsequence_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map b/d0/d77/longest__palindromic__subsequence_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map deleted file mode 100644 index 2a6c0619b..000000000 --- a/d0/d77/longest__palindromic__subsequence_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/d0/d77/longest__palindromic__subsequence_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 b/d0/d77/longest__palindromic__subsequence_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 deleted file mode 100644 index 05140b19f..000000000 --- a/d0/d77/longest__palindromic__subsequence_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -15137a1a5cea025c8bf468702bd170d3 \ No newline at end of file diff --git a/d0/d77/longest__palindromic__subsequence_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg b/d0/d77/longest__palindromic__subsequence_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg deleted file mode 100644 index 1d9263fc6..000000000 --- a/d0/d77/longest__palindromic__subsequence_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -dynamic_programming::lps - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::max - - - - - -Node2->Node3 - - - - - - - - - - - - - diff --git a/d0/d77/longest__palindromic__subsequence_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg b/d0/d77/longest__palindromic__subsequence_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg deleted file mode 100644 index 9ffce9a96..000000000 --- a/d0/d77/longest__palindromic__subsequence_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -dynamic_programming::lps - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::max - - - - - -Node2->Node3 - - - - - - - - diff --git a/d0/d77/longest__palindromic__subsequence_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d0/d77/longest__palindromic__subsequence_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 0c6d73bae..000000000 --- a/d0/d77/longest__palindromic__subsequence_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/d0/d77/longest__palindromic__subsequence_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d0/d77/longest__palindromic__subsequence_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index b6578420a..000000000 --- a/d0/d77/longest__palindromic__subsequence_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -e7a174500f775092bdf662173d0e5fd1 \ No newline at end of file diff --git a/d0/d77/longest__palindromic__subsequence_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d0/d77/longest__palindromic__subsequence_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index cd3b38986..000000000 --- a/d0/d77/longest__palindromic__subsequence_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -dynamic_programming::lps - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::max - - - - - -Node3->Node4 - - - - - - - - - - - - - diff --git a/d0/d77/longest__palindromic__subsequence_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d0/d77/longest__palindromic__subsequence_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 6f480fc61..000000000 --- a/d0/d77/longest__palindromic__subsequence_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -dynamic_programming::lps - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::max - - - - - -Node3->Node4 - - - - - - - - diff --git a/d0/d77/longest__palindromic__subsequence_8cpp_source.html b/d0/d77/longest__palindromic__subsequence_8cpp_source.html new file mode 100644 index 000000000..4b6a81c7f --- /dev/null +++ b/d0/d77/longest__palindromic__subsequence_8cpp_source.html @@ -0,0 +1,215 @@ + + + + + + + + +TheAlgorithms/C++: dynamic_programming/longest_palindromic_subsequence.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
+
+

Functions

std::string dynamic_programming::lps (const std::string &a)
std::string dynamic_programming::lps (const std::string &a)
 Function that returns the longest palindromic subsequence of a string.
 
static void test ()
+ + + + + + +
+
TheAlgorithms/C++ 1.0.0 +
+
All the algorithms implemented in C++
+
+
+ + + + + + + + + +
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
longest_palindromic_subsequence.cpp
+
+
+Go to the documentation of this file.
1
+
16#include <cassert>
+
17#include <string>
+
18#include <vector>
+
19
+
24namespace dynamic_programming {
+
+
31std::string lps(const std::string& a) {
+
32 const auto b = std::string(a.rbegin(), a.rend());
+
33 const auto m = a.length();
+
34 using ind_type = std::string::size_type;
+
35 std::vector<std::vector<ind_type> > res(m + 1,
+
36 std::vector<ind_type>(m + 1));
+
37
+
38 // Finding the length of the longest
+
39 // palindromic subsequence and storing
+
40 // in a 2D array in bottoms-up manner
+
41 for (ind_type i = 0; i <= m; i++) {
+
42 for (ind_type j = 0; j <= m; j++) {
+
43 if (i == 0 || j == 0) {
+
44 res[i][j] = 0;
+
45 } else if (a[i - 1] == b[j - 1]) {
+
46 res[i][j] = res[i - 1][j - 1] + 1;
+
47 } else {
+
48 res[i][j] = std::max(res[i - 1][j], res[i][j - 1]);
+
49 }
+
50 }
+
51 }
+
52 // Length of longest palindromic subsequence
+
53 auto idx = res[m][m];
+
54 // Creating string of index+1 length
+
55 std::string ans(idx, '\0');
+
56 ind_type i = m, j = m;
+
57
+
58 // starting from right-most bottom-most corner
+
59 // and storing them one by one in ans
+
60 while (i > 0 && j > 0) {
+
61 // if current characters in a and b are same
+
62 // then it is a part of the ans
+
63 if (a[i - 1] == b[j - 1]) {
+
64 ans[idx - 1] = a[i - 1];
+
65 i--;
+
66 j--;
+
67 idx--;
+
68 }
+
69 // If they are not same, find the larger of the
+
70 // two and move in that direction
+
71 else if (res[i - 1][j] > res[i][j - 1]) {
+
72 i--;
+
73 } else {
+
74 j--;
+
75 }
+
76 }
+
77
+
78 return ans;
+
79}
+
+
80} // namespace dynamic_programming
+
81
+
+
86static void test() {
+
87 assert(dynamic_programming::lps("radar") == "radar");
+
88 assert(dynamic_programming::lps("abbcbaa") == "abcba");
+
89 assert(dynamic_programming::lps("bbbab") == "bbbb");
+
90 assert(dynamic_programming::lps("") == "");
+
91}
+
+
92
+
+
97int main() {
+
98 test(); // execute the tests
+
99 return 0;
+
100}
+
+
static void test()
Self-test implementations.
+
int main()
Main Function.
+
Dynamic Programming algorithms.
+
std::string lps(const std::string &a)
Function that returns the longest palindromic subsequence of a string.
+
+
+ + + + diff --git a/d0/d78/classstatistics_1_1stats__computer1-members.html b/d0/d78/classstatistics_1_1stats__computer1-members.html index 30bae5c4f..9fda6cbdd 100644 --- a/d0/d78/classstatistics_1_1stats__computer1-members.html +++ b/d0/d78/classstatistics_1_1stats__computer1-members.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Member List +TheAlgorithms/C++: Member List + + + @@ -18,14 +24,24 @@ - - + +
@@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/d0/d8b/structoperations__on__datastructures_1_1reverse__binary__tree_1_1_node-members.html b/d0/d8b/structoperations__on__datastructures_1_1reverse__binary__tree_1_1_node-members.html index 6788501b5..0b67f0ba2 100644 --- a/d0/d8b/structoperations__on__datastructures_1_1reverse__binary__tree_1_1_node-members.html +++ b/d0/d8b/structoperations__on__datastructures_1_1reverse__binary__tree_1_1_node-members.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Member List +TheAlgorithms/C++: Member List + + + @@ -18,14 +24,24 @@ - - + +
@@ -33,10 +49,11 @@ MathJax.Hub.Config({
-
Algorithms_in_C++ 1.0.0 +
TheAlgorithms/C++ 1.0.0
-
Set of algorithms implemented in C++.
+
All the algorithms implemented in C++
+ diff --git a/d0/da2/number__of__positive__divisors_8cpp.html b/d0/da2/number__of__positive__divisors_8cpp.html index 4851beb4f..6b80a1f6d 100644 --- a/d0/da2/number__of__positive__divisors_8cpp.html +++ b/d0/da2/number__of__positive__divisors_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: math/number_of_positive_divisors.cpp File Reference +TheAlgorithms/C++: math/number_of_positive_divisors.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
@@ -33,10 +49,11 @@ MathJax.Hub.Config({
-
Algorithms_in_C++ 1.0.0 +
TheAlgorithms/C++ 1.0.0
-
Set of algorithms implemented in C++.
+
All the algorithms implemented in C++
+ @@ -119,7 +136,9 @@ Include dependency graph for number_of_positive_divisors.cpp:
-
-
Algorithms_in_C++ 1.0.0 +
TheAlgorithms/C++ 1.0.0
-
Set of algorithms implemented in C++.
+
All the algorithms implemented in C++
+ +

Go to the source code of this file.

+
@@ -140,6 +159,8 @@ Finally, there are \((e_1+1) \times (e_2+1)\times\cdots\times (e_k+1)\) positive \(\mbox{number_of_positive_divisors}(36) = (2+1) \cdot (2+1) = 9\).
list of positive divisors of 36 = 1, 2, 3, 4, 6, 9, 12, 18, 36.

Similarly, for N = -36 the number of positive divisors remain same.

+ +

Definition in file number_of_positive_divisors.cpp.

Function Documentation

◆ main()

@@ -156,29 +177,23 @@ list of positive divisors of 36 = 1, 2, 3, 4, 6, 9, 12, 18, 36.

Functions

int number_of_positive_divisors (int n)

Main function

+ +

Definition at line 81 of file number_of_positive_divisors.cpp.

81 {
82 tests();
83 int n;
-
84 std::cin >> n;
+
84 std::cin >> n;
85 if (n == 0) {
-
86 std::cout << "All non-zero numbers are divisors of 0 !" << std::endl;
+
86 std::cout << "All non-zero numbers are divisors of 0 !" << std::endl;
87 } else {
-
88 std::cout << "Number of positive divisors is : ";
- +
88 std::cout << "Number of positive divisors is : ";
+
89 std::cout << number_of_positive_divisors(n) << std::endl;
90 }
91 return 0;
92}
- - -
T endl(T... args)
-
void tests()
Definition number_of_positive_divisors.cpp:70
-
int number_of_positive_divisors(int n)
Definition number_of_positive_divisors.cpp:33
-
-Here is the call graph for this function:
-
-
-
- + +
int number_of_positive_divisors(int n)
+
@@ -202,6 +217,8 @@ Here is the call graph for this function:
Returns
number of positive divisors of n (or 1 if n = 0)
+ +

Definition at line 33 of file number_of_positive_divisors.cpp.

33 {
34 if (n < 0) {
35 n = -n; // take the absolute value of n
@@ -253,6 +270,8 @@ Here is the call graph for this function:

Test implementations

+ +

Definition at line 70 of file number_of_positive_divisors.cpp.

70 {
71 assert(number_of_positive_divisors(36) == 9);
72 assert(number_of_positive_divisors(-36) == 9);
@@ -260,12 +279,7 @@ Here is the call graph for this function:
74 assert(number_of_positive_divisors(2011) == 2); // 2011 is a prime
75 assert(number_of_positive_divisors(756) == 24); // 756 = 2^2 * 3^3 * 7
76}
-
-Here is the call graph for this function:
-
-
-
- + diff --git a/d0/da2/number__of__positive__divisors_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph.map b/d0/da2/number__of__positive__divisors_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph.map deleted file mode 100644 index e1f4c0fbc..000000000 --- a/d0/da2/number__of__positive__divisors_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d0/da2/number__of__positive__divisors_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph.md5 b/d0/da2/number__of__positive__divisors_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph.md5 deleted file mode 100644 index b279032ac..000000000 --- a/d0/da2/number__of__positive__divisors_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -6c7d543302b2c1a16d3ffd0a139986e8 \ No newline at end of file diff --git a/d0/da2/number__of__positive__divisors_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph.svg b/d0/da2/number__of__positive__divisors_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph.svg deleted file mode 100644 index c661635e4..000000000 --- a/d0/da2/number__of__positive__divisors_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph.svg +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - - - - - - - -tests - - -Node1 - - -tests - - - - - -Node2 - - -number_of_positive -_divisors - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d0/da2/number__of__positive__divisors_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph_org.svg b/d0/da2/number__of__positive__divisors_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph_org.svg deleted file mode 100644 index 5ea606d97..000000000 --- a/d0/da2/number__of__positive__divisors_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph_org.svg +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - -tests - - -Node1 - - -tests - - - - - -Node2 - - -number_of_positive -_divisors - - - - - -Node1->Node2 - - - - - - - - diff --git a/d0/da2/number__of__positive__divisors_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d0/da2/number__of__positive__divisors_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index b2c4bb40e..000000000 --- a/d0/da2/number__of__positive__divisors_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/d0/da2/number__of__positive__divisors_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d0/da2/number__of__positive__divisors_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index 0062a1bb7..000000000 --- a/d0/da2/number__of__positive__divisors_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -a72686c8fb9c1f90e9f80fa4caf94f43 \ No newline at end of file diff --git a/d0/da2/number__of__positive__divisors_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d0/da2/number__of__positive__divisors_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 61b059cdb..000000000 --- a/d0/da2/number__of__positive__divisors_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,111 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -number_of_positive -_divisors - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -tests - - - - - -Node1->Node4 - - - - - - - - -Node4->Node3 - - - - - - - - - - - - - diff --git a/d0/da2/number__of__positive__divisors_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d0/da2/number__of__positive__divisors_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 1b19b2c2b..000000000 --- a/d0/da2/number__of__positive__divisors_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,85 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -number_of_positive -_divisors - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -tests - - - - - -Node1->Node4 - - - - - - - - -Node4->Node3 - - - - - - - - diff --git a/d0/da2/number__of__positive__divisors_8cpp_source.html b/d0/da2/number__of__positive__divisors_8cpp_source.html new file mode 100644 index 000000000..1f599c24e --- /dev/null +++ b/d0/da2/number__of__positive__divisors_8cpp_source.html @@ -0,0 +1,204 @@ + + + + + + + + +TheAlgorithms/C++: math/number_of_positive_divisors.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
TheAlgorithms/C++ 1.0.0 +
+
All the algorithms implemented in C++
+
+
+ + + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
number_of_positive_divisors.cpp
+
+
+Go to the documentation of this file.
1
+
25#include <cassert>
+
26#include <iostream>
+
27
+
+ +
34 if (n < 0) {
+
35 n = -n; // take the absolute value of n
+
36 }
+
37
+
38 int number_of_divisors = 1;
+
39
+
40 for (int i = 2; i * i <= n; i++) {
+
41 // This part is doing the prime factorization.
+
42 // Note that we cannot find a composite divisor of n unless we would
+
43 // already previously find the corresponding prime divisor and dvided
+
44 // n by that prime. Therefore, all the divisors found here will
+
45 // actually be primes.
+
46 // The loop terminates early when it is left with a number n which
+
47 // does not have a divisor smaller or equal to sqrt(n) - that means
+
48 // the remaining number is a prime itself.
+
49 int prime_exponent = 0;
+
50 while (n % i == 0) {
+
51 // Repeatedly divide n by the prime divisor n to compute
+
52 // the exponent (e_i in the algorithm description).
+
53 prime_exponent++;
+
54 n /= i;
+
55 }
+
56 number_of_divisors *= prime_exponent + 1;
+
57 }
+
58 if (n > 1) {
+
59 // In case the remaining number n is a prime number itself
+
60 // (essentially p_k^1) the final answer is also multiplied by (e_k+1).
+
61 number_of_divisors *= 2;
+
62 }
+
63
+
64 return number_of_divisors;
+
65}
+
+
66
+
+
70void tests() {
+
71 assert(number_of_positive_divisors(36) == 9);
+
72 assert(number_of_positive_divisors(-36) == 9);
+
73 assert(number_of_positive_divisors(1) == 1);
+
74 assert(number_of_positive_divisors(2011) == 2); // 2011 is a prime
+
75 assert(number_of_positive_divisors(756) == 24); // 756 = 2^2 * 3^3 * 7
+
76}
+
+
77
+
+
81int main() {
+
82 tests();
+
83 int n;
+
84 std::cin >> n;
+
85 if (n == 0) {
+
86 std::cout << "All non-zero numbers are divisors of 0 !" << std::endl;
+
87 } else {
+
88 std::cout << "Number of positive divisors is : ";
+
89 std::cout << number_of_positive_divisors(n) << std::endl;
+
90 }
+
91 return 0;
+
92}
+
+ +
int number_of_positive_divisors(int n)
+ +
+
+ + + + diff --git a/d0/da4/namespacemonte__carlo.html b/d0/da4/namespacemonte__carlo.html index 552197a31..eff7d866e 100644 --- a/d0/da4/namespacemonte__carlo.html +++ b/d0/da4/namespacemonte__carlo.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: monte_carlo Namespace Reference +TheAlgorithms/C++: monte_carlo Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
@@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/d0/db6/non__recursive__merge__sort_8cpp.html b/d0/db6/non__recursive__merge__sort_8cpp.html index 4178da64b..7c4c74f14 100644 --- a/d0/db6/non__recursive__merge__sort_8cpp.html +++ b/d0/db6/non__recursive__merge__sort_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: sorting/non_recursive_merge_sort.cpp File Reference +TheAlgorithms/C++: sorting/non_recursive_merge_sort.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
@@ -33,10 +49,11 @@ MathJax.Hub.Config({
-
Algorithms_in_C++ 1.0.0 +
TheAlgorithms/C++ 1.0.0
-
Set of algorithms implemented in C++.
+
All the algorithms implemented in C++
+ @@ -118,7 +135,9 @@ Include dependency graph for non_recursive_merge_sort.cpp:
-
-
Algorithms_in_C++ 1.0.0 +
TheAlgorithms/C++ 1.0.0
-
Set of algorithms implemented in C++.
+
All the algorithms implemented in C++
+ +

Go to the source code of this file.

+
@@ -149,6 +168,8 @@ Functions

Detailed Description

Copyright 2020

Author
Albirair

A generic implementation of non-recursive merge sort.

+ +

Definition in file non_recursive_merge_sort.cpp.

Function Documentation

◆ main()

@@ -168,24 +189,24 @@ Functions

Namespaces

namespace  sorting
+ +

Definition at line 94 of file non_recursive_merge_sort.cpp.

94 {
95 int size;
-
96 std::cout << "Enter the number of elements : ";
-
97 std::cin >> size;
+
96 std::cout << "Enter the number of elements : ";
+
97 std::cin >> size;
98 int* arr = new int[size];
99 for (int i = 0; i < size; ++i) {
-
100 std::cout << "arr[" << i << "] = ";
-
101 std::cin >> arr[i];
+
100 std::cout << "arr[" << i << "] = ";
+
101 std::cin >> arr[i];
102 }
103 non_recursive_merge_sort(arr, size);
-
104 std::cout << "Sorted array\n";
+
104 std::cout << "Sorted array\n";
105 for (int i = 0; i < size; ++i)
-
106 std::cout << "arr[" << i << "] = " << arr[i] << '\n';
+
106 std::cout << "arr[" << i << "] = " << arr[i] << '\n';
107 delete[] arr;
108 return 0;
109}
- -
diff --git a/d0/db6/non__recursive__merge__sort_8cpp_source.html b/d0/db6/non__recursive__merge__sort_8cpp_source.html new file mode 100644 index 000000000..441d65a21 --- /dev/null +++ b/d0/db6/non__recursive__merge__sort_8cpp_source.html @@ -0,0 +1,229 @@ + + + + + + + + +TheAlgorithms/C++: sorting/non_recursive_merge_sort.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
TheAlgorithms/C++ 1.0.0 +
+
All the algorithms implemented in C++
+
+
+ + + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
non_recursive_merge_sort.cpp
+
+
+Go to the documentation of this file.
1
+
7#include <cstddef> // for size_t
+
8#include <iostream>
+
9#include <utility> // for std::move & std::remove_reference_t
+
10
+
11namespace sorting {
+
12template <class Iterator>
+
13void merge(Iterator, Iterator, const Iterator, char[]);
+
15
+
24template <class Iterator>
+
+
25void non_recursive_merge_sort(const Iterator first, const Iterator last,
+
26 const size_t n) {
+
27 // create a buffer large enough to store all elements
+
28 // dynamically allocated to comply with cpplint
+
29 char* buffer = new char[n * sizeof(*first)];
+
30 // buffer size can be optimized to largest power of 2 less than n
+
31 // elements divide the container into equally-sized segments whose
+
32 // length start at 1 and keeps increasing by factors of 2
+
33 for (size_t length(1); length < n; length <<= 1) {
+
34 // merge adjacent segments whose number is n / (length * 2)
+
35 Iterator left(first);
+
36 for (size_t counter(n / (length << 1)); counter; --counter) {
+
37 Iterator right(left + length), end(right + length);
+
38 merge(left, right, end, buffer);
+
39 left = end;
+
40 }
+
41 // if the number of remaining elements (n * 2 % length) is longer
+
42 // than a segment, merge the remaining elements
+
43 if ((n & ((length << 1) - 1)) > length)
+
44 merge(left, left + length, last, buffer);
+
45 }
+
46 delete[] buffer;
+
47}
+
+
49
+
56template <class Iterator>
+
+
57void merge(Iterator l, Iterator r, const Iterator e, char b[]) {
+
58 // create 2 pointers to point at the buffer
+
59 auto p(reinterpret_cast<std::remove_reference_t<decltype(*l)>*>(b)), c(p);
+
60 // move the left part of the segment
+
61 for (Iterator t(l); r != t; ++t) *p++ = std::move(*t);
+
62 // while neither the buffer nor the right part has been exhausted
+
63 // move the smallest element of the two back to the container
+
64 while (e != r && c != p) *l++ = std::move(*r < *c ? *r++ : *c++);
+
65 // notice only one of the two following loops will be executed
+
66 // while the right part hasn't bee exhausted, move it back
+
67 while (e != r) *l++ = std::move(*r++);
+
68 // while the buffer hasn't bee exhausted, move it back
+
69 while (c != p) *l++ = std::move(*c++);
+
70}
+
+
72
+
76template <class Iterator>
+
+
77void non_recursive_merge_sort(const Iterator first, const size_t n) {
+
78 non_recursive_merge_sort(first, first + n, n);
+
79}
+
+
81
+
85template <class Iterator>
+
+
86void non_recursive_merge_sort(const Iterator first, const Iterator last) {
+
87 non_recursive_merge_sort(first, last, last - first);
+
88}
+
+
89
+
90} // namespace sorting
+
91
+ +
93
+
94int main(int argc, char** argv) {
+
95 int size;
+
96 std::cout << "Enter the number of elements : ";
+
97 std::cin >> size;
+
98 int* arr = new int[size];
+
99 for (int i = 0; i < size; ++i) {
+
100 std::cout << "arr[" << i << "] = ";
+
101 std::cin >> arr[i];
+
102 }
+
103 non_recursive_merge_sort(arr, size);
+
104 std::cout << "Sorted array\n";
+
105 for (int i = 0; i < size; ++i)
+
106 std::cout << "arr[" << i << "] = " << arr[i] << '\n';
+
107 delete[] arr;
+
108 return 0;
+
109}
+
int main()
Main function.
+
for working with vectors
+
void non_recursive_merge_sort(const Iterator first, const Iterator last, const size_t n)
bottom-up merge sort which sorts elements in a non-decreasing order
+
void merge(Iterator, Iterator, const Iterator, char[])
merges 2 sorted adjacent segments into a larger sorted segment
+
+
+ + + + diff --git a/d0/dbc/namespacestrings_1_1boyer__moore.html b/d0/dbc/namespacestrings_1_1boyer__moore.html index 653dfd49c..da954c086 100644 --- a/d0/dbc/namespacestrings_1_1boyer__moore.html +++ b/d0/dbc/namespacestrings_1_1boyer__moore.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: strings::boyer_moore Namespace Reference +TheAlgorithms/C++: strings::boyer_moore Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
@@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -122,16 +139,16 @@ Classes
-
Algorithms_in_C++ 1.0.0 +
TheAlgorithms/C++ 1.0.0
-
Set of algorithms implemented in C++.
+
All the algorithms implemented in C++
- + - + - + - + @@ -150,12 +167,12 @@ Functions - + - +

Functions

void init_good_suffix (const std::string &str, std::vector< size_t > &arg)
void init_good_suffix (const std::string &str, std::vector< size_t > &arg)
 A function that preprocess the good suffix thable.
 
void init_bad_char (const std::string &str, std::vector< size_t > &arg)
void init_bad_char (const std::string &str, std::vector< size_t > &arg)
 A function that preprocess the bad char table.
 
void init_pattern (const std::string &str, pattern &arg)
void init_pattern (const std::string &str, pattern &arg)
 A function that initializes pattern.
 
std::vector< size_t > search (const std::string &str, const pattern &arg)
std::vector< size_t > search (const std::string &str, const pattern &arg)
 A function that implements Boyer-Moore's algorithm.
 
bool is_prefix (const char *str, const char *pat, size_t len)
void strings::boyer_moore::init_bad_char (const std::string & str, const std::string & str,
std::vector< size_t > & arg )std::vector< size_t > & arg )
@@ -169,22 +186,17 @@ Functions
Returns
void
+ +

Definition at line 138 of file boyer_moore.cpp.

138 {
-
139 arg.resize(APLHABET_SIZE, str.length());
+
139 arg.resize(APLHABET_SIZE, str.length());
140
-
141 for (size_t i = 0; i < str.length(); i++) {
+
141 for (size_t i = 0; i < str.length(); i++) {
142 arg[str[i]] = str.length() - i - 1;
143 }
144}
-
#define APLHABET_SIZE
number of symbols in the alphabet we use
Definition boyer_moore.cpp:52
-
T resize(T... args)
-
T length(T... args)
-
-Here is the call graph for this function:
-
-
-
- +
#define APLHABET_SIZE
number of symbols in the alphabet we use
+
@@ -196,12 +208,12 @@ Here is the call graph for this function: void strings::boyer_moore::init_good_suffix ( - const std::string & str, + const std::string & str, - std::vector< size_t > & arg ) + std::vector< size_t > & arg )
@@ -215,21 +227,23 @@ Here is the call graph for this function:
Returns
void
+ +

Definition at line 89 of file boyer_moore.cpp.

89 {
-
90 arg.resize(str.size() + 1, 0);
+
90 arg.resize(str.size() + 1, 0);
91
92 // border_pos[i] - the index of the longest proper suffix of str[i..] which
93 // is also a proper prefix.
-
94 std::vector<size_t> border_pos(str.size() + 1, 0);
+
94 std::vector<size_t> border_pos(str.size() + 1, 0);
95
-
96 size_t current_char = str.length();
+
96 size_t current_char = str.length();
97
-
98 size_t border_index = str.length() + 1;
+
98 size_t border_index = str.length() + 1;
99
100 border_pos[current_char] = border_index;
101
102 while (current_char > 0) {
-
103 while (border_index <= str.length() &&
+
103 while (border_index <= str.length() &&
104 str[current_char - 1] != str[border_index - 1]) {
105 if (arg[border_index] == 0) {
106 arg[border_index] = border_index - current_char;
@@ -245,7 +259,7 @@ Here is the call graph for this function:
116
117 size_t largest_border_index = border_pos[0];
118
-
119 for (size_t i = 0; i < str.size(); i++) {
+
119 for (size_t i = 0; i < str.size(); i++) {
120 if (arg[i] == 0) {
121 arg[i] = largest_border_index;
122 }
@@ -256,13 +270,7 @@ Here is the call graph for this function:
127 }
128 }
129}
- -
-Here is the call graph for this function:
-
-
-
- + @@ -274,7 +282,7 @@ Here is the call graph for this function: void strings::boyer_moore::init_pattern ( - const std::string & str, + const std::string & str, @@ -293,21 +301,18 @@ Here is the call graph for this function:
Returns
void
+ +

Definition at line 153 of file boyer_moore.cpp.

153 {
154 arg.pat = str;
155 init_bad_char(str, arg.bad_char);
157}
-
void init_bad_char(const std::string &str, std::vector< size_t > &arg)
A function that preprocess the bad char table.
Definition boyer_moore.cpp:138
-
void init_good_suffix(const std::string &str, std::vector< size_t > &arg)
A function that preprocess the good suffix thable.
Definition boyer_moore.cpp:89
-
std::vector< size_t > good_suffix
Definition boyer_moore.cpp:78
-
std::vector< size_t > bad_char
Definition boyer_moore.cpp:74
-
-Here is the call graph for this function:
-
-
-
- +
void init_bad_char(const std::string &str, std::vector< size_t > &arg)
A function that preprocess the bad char table.
+
void init_good_suffix(const std::string &str, std::vector< size_t > &arg)
A function that preprocess the good suffix thable.
+
std::vector< size_t > good_suffix
+
std::vector< size_t > bad_char
+ @@ -346,6 +351,8 @@ Here is the call graph for this function:
Returns
true if pat IS prefix of str.
false if pat is NOT a prefix of str.
+ +

Definition at line 200 of file boyer_moore.cpp.

200 {
201 if (strlen(str) < len) {
202 return false;
@@ -369,9 +376,9 @@ Here is the call graph for this function:
- + - + @@ -390,13 +397,15 @@ Here is the call graph for this function:
Returns
Vector of indexes of the occurrences of pattern in text
+ +

Definition at line 165 of file boyer_moore.cpp.

165 {
-
166 size_t index_position = arg.pat.size() - 1;
-
167 std::vector<size_t> index_storage;
+
166 size_t index_position = arg.pat.size() - 1;
+
167 std::vector<size_t> index_storage;
168
-
169 while (index_position < str.length()) {
+
169 while (index_position < str.length()) {
170 size_t index_string = index_position;
-
171 int index_pattern = static_cast<int>(arg.pat.size()) - 1;
+
171 int index_pattern = static_cast<int>(arg.pat.size()) - 1;
172
173 while (index_pattern >= 0 &&
174 str[index_string] == arg.pat[index_pattern]) {
@@ -405,24 +414,17 @@ Here is the call graph for this function:
177 }
178
179 if (index_pattern < 0) {
-
180 index_storage.push_back(index_position - arg.pat.length() + 1);
+
180 index_storage.push_back(index_position - arg.pat.length() + 1);
181 index_position += arg.good_suffix[0];
182 } else {
-
183 index_position += std::max(arg.bad_char[str[index_string]],
+
183 index_position += std::max(arg.bad_char[str[index_string]],
184 arg.good_suffix[index_pattern + 1]);
185 }
186 }
187
188 return index_storage;
189}
-
T max(T... args)
-
T push_back(T... args)
-
-Here is the call graph for this function:
-
-
-
- + diff --git a/d0/dbc/namespacestrings_1_1boyer__moore_a0b165af1dc341289fd705be4c67728f8_cgraph.map b/d0/dbc/namespacestrings_1_1boyer__moore_a0b165af1dc341289fd705be4c67728f8_cgraph.map deleted file mode 100644 index 965a52829..000000000 --- a/d0/dbc/namespacestrings_1_1boyer__moore_a0b165af1dc341289fd705be4c67728f8_cgraph.map +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - - - - - diff --git a/d0/dbc/namespacestrings_1_1boyer__moore_a0b165af1dc341289fd705be4c67728f8_cgraph.md5 b/d0/dbc/namespacestrings_1_1boyer__moore_a0b165af1dc341289fd705be4c67728f8_cgraph.md5 deleted file mode 100644 index bcbdd9d0e..000000000 --- a/d0/dbc/namespacestrings_1_1boyer__moore_a0b165af1dc341289fd705be4c67728f8_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -1087c3651203c21335f7f16791989eb2 \ No newline at end of file diff --git a/d0/dbc/namespacestrings_1_1boyer__moore_a0b165af1dc341289fd705be4c67728f8_cgraph.svg b/d0/dbc/namespacestrings_1_1boyer__moore_a0b165af1dc341289fd705be4c67728f8_cgraph.svg deleted file mode 100644 index 1fa8b8f8b..000000000 --- a/d0/dbc/namespacestrings_1_1boyer__moore_a0b165af1dc341289fd705be4c67728f8_cgraph.svg +++ /dev/null @@ -1,149 +0,0 @@ - - - - - - - - - - - - -strings::boyer_moore::init_pattern - - -Node1 - - -strings::boyer_moore -::init_pattern - - - - - -Node2 - - -strings::boyer_moore -::init_bad_char - - - - - -Node1->Node2 - - - - - - - - -Node5 - - -strings::boyer_moore -::init_good_suffix - - - - - -Node1->Node5 - - - - - - - - -Node3 - - -std::string::length - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::vector::resize - - - - - -Node2->Node4 - - - - - - - - -Node5->Node3 - - - - - - - - -Node5->Node3 - - - - - - - - -Node5->Node4 - - - - - - - - - - - - - diff --git a/d0/dbc/namespacestrings_1_1boyer__moore_a0b165af1dc341289fd705be4c67728f8_cgraph_org.svg b/d0/dbc/namespacestrings_1_1boyer__moore_a0b165af1dc341289fd705be4c67728f8_cgraph_org.svg deleted file mode 100644 index f96908db4..000000000 --- a/d0/dbc/namespacestrings_1_1boyer__moore_a0b165af1dc341289fd705be4c67728f8_cgraph_org.svg +++ /dev/null @@ -1,123 +0,0 @@ - - - - - - -strings::boyer_moore::init_pattern - - -Node1 - - -strings::boyer_moore -::init_pattern - - - - - -Node2 - - -strings::boyer_moore -::init_bad_char - - - - - -Node1->Node2 - - - - - - - - -Node5 - - -strings::boyer_moore -::init_good_suffix - - - - - -Node1->Node5 - - - - - - - - -Node3 - - -std::string::length - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::vector::resize - - - - - -Node2->Node4 - - - - - - - - -Node5->Node3 - - - - - - - - -Node5->Node3 - - - - - - - - -Node5->Node4 - - - - - - - - diff --git a/d0/dbc/namespacestrings_1_1boyer__moore_a15703b553faed0d28202c10808cf9738_cgraph.map b/d0/dbc/namespacestrings_1_1boyer__moore_a15703b553faed0d28202c10808cf9738_cgraph.map deleted file mode 100644 index d827bd94d..000000000 --- a/d0/dbc/namespacestrings_1_1boyer__moore_a15703b553faed0d28202c10808cf9738_cgraph.map +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/d0/dbc/namespacestrings_1_1boyer__moore_a15703b553faed0d28202c10808cf9738_cgraph.md5 b/d0/dbc/namespacestrings_1_1boyer__moore_a15703b553faed0d28202c10808cf9738_cgraph.md5 deleted file mode 100644 index 3088d7dc3..000000000 --- a/d0/dbc/namespacestrings_1_1boyer__moore_a15703b553faed0d28202c10808cf9738_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -5b5eb95061452a40148727ff87187858 \ No newline at end of file diff --git a/d0/dbc/namespacestrings_1_1boyer__moore_a15703b553faed0d28202c10808cf9738_cgraph.svg b/d0/dbc/namespacestrings_1_1boyer__moore_a15703b553faed0d28202c10808cf9738_cgraph.svg deleted file mode 100644 index 04279dc7f..000000000 --- a/d0/dbc/namespacestrings_1_1boyer__moore_a15703b553faed0d28202c10808cf9738_cgraph.svg +++ /dev/null @@ -1,111 +0,0 @@ - - - - - - - - - - - - -strings::boyer_moore::search - - -Node1 - - -strings::boyer_moore -::search - - - - - -Node2 - - -std::string::length - - - - - -Node1->Node2 - - - - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::max - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::vector::push_back - - - - - -Node1->Node4 - - - - - - - - - - - - - diff --git a/d0/dbc/namespacestrings_1_1boyer__moore_a15703b553faed0d28202c10808cf9738_cgraph_org.svg b/d0/dbc/namespacestrings_1_1boyer__moore_a15703b553faed0d28202c10808cf9738_cgraph_org.svg deleted file mode 100644 index e23a04d4b..000000000 --- a/d0/dbc/namespacestrings_1_1boyer__moore_a15703b553faed0d28202c10808cf9738_cgraph_org.svg +++ /dev/null @@ -1,85 +0,0 @@ - - - - - - -strings::boyer_moore::search - - -Node1 - - -strings::boyer_moore -::search - - - - - -Node2 - - -std::string::length - - - - - -Node1->Node2 - - - - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::max - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::vector::push_back - - - - - -Node1->Node4 - - - - - - - - diff --git a/d0/dbc/namespacestrings_1_1boyer__moore_a2f6688c9bb3e692297a3aa09cebc1c00_cgraph.map b/d0/dbc/namespacestrings_1_1boyer__moore_a2f6688c9bb3e692297a3aa09cebc1c00_cgraph.map deleted file mode 100644 index 8e2fb9e9d..000000000 --- a/d0/dbc/namespacestrings_1_1boyer__moore_a2f6688c9bb3e692297a3aa09cebc1c00_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/d0/dbc/namespacestrings_1_1boyer__moore_a2f6688c9bb3e692297a3aa09cebc1c00_cgraph.md5 b/d0/dbc/namespacestrings_1_1boyer__moore_a2f6688c9bb3e692297a3aa09cebc1c00_cgraph.md5 deleted file mode 100644 index 5ff9a9219..000000000 --- a/d0/dbc/namespacestrings_1_1boyer__moore_a2f6688c9bb3e692297a3aa09cebc1c00_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -13a2c74e40e8ce1b4f6096ad05a7c48b \ No newline at end of file diff --git a/d0/dbc/namespacestrings_1_1boyer__moore_a2f6688c9bb3e692297a3aa09cebc1c00_cgraph.svg b/d0/dbc/namespacestrings_1_1boyer__moore_a2f6688c9bb3e692297a3aa09cebc1c00_cgraph.svg deleted file mode 100644 index 4d109fed8..000000000 --- a/d0/dbc/namespacestrings_1_1boyer__moore_a2f6688c9bb3e692297a3aa09cebc1c00_cgraph.svg +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - - - - - -strings::boyer_moore::init_bad_char - - -Node1 - - -strings::boyer_moore -::init_bad_char - - - - - -Node2 - - -std::string::length - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::vector::resize - - - - - -Node1->Node3 - - - - - - - - - - - - - diff --git a/d0/dbc/namespacestrings_1_1boyer__moore_a2f6688c9bb3e692297a3aa09cebc1c00_cgraph_org.svg b/d0/dbc/namespacestrings_1_1boyer__moore_a2f6688c9bb3e692297a3aa09cebc1c00_cgraph_org.svg deleted file mode 100644 index a93be3a19..000000000 --- a/d0/dbc/namespacestrings_1_1boyer__moore_a2f6688c9bb3e692297a3aa09cebc1c00_cgraph_org.svg +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - -strings::boyer_moore::init_bad_char - - -Node1 - - -strings::boyer_moore -::init_bad_char - - - - - -Node2 - - -std::string::length - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::vector::resize - - - - - -Node1->Node3 - - - - - - - - diff --git a/d0/dbc/namespacestrings_1_1boyer__moore_aa709cf7fca02b7d3e1888423d5f739a1_cgraph.map b/d0/dbc/namespacestrings_1_1boyer__moore_aa709cf7fca02b7d3e1888423d5f739a1_cgraph.map deleted file mode 100644 index 5a0d69f51..000000000 --- a/d0/dbc/namespacestrings_1_1boyer__moore_aa709cf7fca02b7d3e1888423d5f739a1_cgraph.map +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/d0/dbc/namespacestrings_1_1boyer__moore_aa709cf7fca02b7d3e1888423d5f739a1_cgraph.md5 b/d0/dbc/namespacestrings_1_1boyer__moore_aa709cf7fca02b7d3e1888423d5f739a1_cgraph.md5 deleted file mode 100644 index b0018e7a8..000000000 --- a/d0/dbc/namespacestrings_1_1boyer__moore_aa709cf7fca02b7d3e1888423d5f739a1_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -bb4541f9b08a8fc985c38a6e1af4e126 \ No newline at end of file diff --git a/d0/dbc/namespacestrings_1_1boyer__moore_aa709cf7fca02b7d3e1888423d5f739a1_cgraph.svg b/d0/dbc/namespacestrings_1_1boyer__moore_aa709cf7fca02b7d3e1888423d5f739a1_cgraph.svg deleted file mode 100644 index 51a6092ac..000000000 --- a/d0/dbc/namespacestrings_1_1boyer__moore_aa709cf7fca02b7d3e1888423d5f739a1_cgraph.svg +++ /dev/null @@ -1,93 +0,0 @@ - - - - - - - - - - - - -strings::boyer_moore::init_good_suffix - - -Node1 - - -strings::boyer_moore -::init_good_suffix - - - - - -Node2 - - -std::string::length - - - - - -Node1->Node2 - - - - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::vector::resize - - - - - -Node1->Node3 - - - - - - - - - - - - - diff --git a/d0/dbc/namespacestrings_1_1boyer__moore_aa709cf7fca02b7d3e1888423d5f739a1_cgraph_org.svg b/d0/dbc/namespacestrings_1_1boyer__moore_aa709cf7fca02b7d3e1888423d5f739a1_cgraph_org.svg deleted file mode 100644 index 989242f73..000000000 --- a/d0/dbc/namespacestrings_1_1boyer__moore_aa709cf7fca02b7d3e1888423d5f739a1_cgraph_org.svg +++ /dev/null @@ -1,67 +0,0 @@ - - - - - - -strings::boyer_moore::init_good_suffix - - -Node1 - - -strings::boyer_moore -::init_good_suffix - - - - - -Node2 - - -std::string::length - - - - - -Node1->Node2 - - - - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::vector::resize - - - - - -Node1->Node3 - - - - - - - - diff --git a/d0/dc4/struct_point-members.html b/d0/dc4/struct_point-members.html index 967b36811..570a760d4 100644 --- a/d0/dc4/struct_point-members.html +++ b/d0/dc4/struct_point-members.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Member List +TheAlgorithms/C++: Member List + + + @@ -18,14 +24,24 @@ - - + +
@@ -33,10 +49,11 @@ MathJax.Hub.Config({
std::vector< size_t > strings::boyer_moore::search std::vector< size_t > strings::boyer_moore::search (const std::string & str, const std::string & str,
+ diff --git a/d0/dc9/classrange__queries_1_1fenwick__tree-members.html b/d0/dc9/classrange__queries_1_1fenwick__tree-members.html index 1389fe47c..1dd5020b5 100644 --- a/d0/dc9/classrange__queries_1_1fenwick__tree-members.html +++ b/d0/dc9/classrange__queries_1_1fenwick__tree-members.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Member List +TheAlgorithms/C++: Member List + + + @@ -18,14 +24,24 @@ - - + +
@@ -33,10 +49,11 @@ MathJax.Hub.Config({
-
Algorithms_in_C++ 1.0.0 +
TheAlgorithms/C++ 1.0.0
-
Set of algorithms implemented in C++.
+
All the algorithms implemented in C++
+ diff --git a/d0/dcb/classdsu-members.html b/d0/dcb/classdsu-members.html index 33c9a8d89..73266ba4c 100644 --- a/d0/dcb/classdsu-members.html +++ b/d0/dcb/classdsu-members.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Member List +TheAlgorithms/C++: Member List + + + @@ -18,14 +24,24 @@ - - + +
@@ -33,10 +49,11 @@ MathJax.Hub.Config({
-
Algorithms_in_C++ 1.0.0 +
TheAlgorithms/C++ 1.0.0
-
Set of algorithms implemented in C++.
+
All the algorithms implemented in C++
+ diff --git a/d0/dd2/treap_8cpp.html b/d0/dd2/treap_8cpp.html index 9dd329021..ef0b55f9a 100644 --- a/d0/dd2/treap_8cpp.html +++ b/d0/dd2/treap_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: data_structures/treap.cpp File Reference +TheAlgorithms/C++: data_structures/treap.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
@@ -33,10 +49,11 @@ MathJax.Hub.Config({
-
Algorithms_in_C++ 1.0.0 +
TheAlgorithms/C++ 1.0.0
-
Set of algorithms implemented in C++.
+
All the algorithms implemented in C++
+ @@ -124,7 +141,9 @@ Include dependency graph for treap.cpp:
-
-
Algorithms_in_C++ 1.0.0 +
TheAlgorithms/C++ 1.0.0
-
Set of algorithms implemented in C++.
+
All the algorithms implemented in C++
+ +

Go to the source code of this file.

+
@@ -151,9 +170,8 @@ Functions

Classes

struct  data_structures::treap::Treap
- - + +

Variables

-const int data_structures::treap::maxNode = 1e5 + 5
 maximum number of nodes
const int data_structures::treap::maxNode = 1e5 + 5
 maximum number of nodes
 

Detailed Description

@@ -162,6 +180,8 @@ const int data_structures:

Support operations including insert, erase, and query (the rank of specified element or the element ranked x) as the same as BST

But these operations take O(log N) time, since treap keeps property of heap using rotate operation, and the desired depth of the tree is O(log N). There's very little chance that it will degenerate into a chain like BST

Author
Kairao ZHENG
+ +

Definition in file treap.cpp.

Function Documentation

◆ main()

@@ -180,17 +200,14 @@ const int data_structures:

Main function.

Returns
0 on exit
+ +

Definition at line 255 of file treap.cpp.

255 {
256 test(); // run self-test implementations
257 return 0;
258}
-
static void test()
Self-test implementations.
Definition treap.cpp:229
-
-Here is the call graph for this function:
-
-
-
- +
static void test()
Self-test implementations.
Definition treap.cpp:229
+ @@ -219,8 +236,10 @@ Here is the call graph for this function:

Self-test implementations.

Returns
void

< Treap object instance

+ +

Definition at line 229 of file treap.cpp.

229 {
-
230 data_structures::treap::Treap mTreap; ///< Treap object instance
+
231
232 mTreap.insert(1);
233 mTreap.insert(2);
@@ -239,22 +258,16 @@ Here is the call graph for this function:
246 assert(mTreap.get_rank(10) == 7);
247 assert(mTreap.get_predecessor(10) == 7);
248
-
249 std::cout << "All tests have successfully passed!\n";
+
249 std::cout << "All tests have successfully passed!\n";
250}
- -
Struct representation of the treap.
Definition treap.cpp:40
-
void insert(int k)
Insert element (External method)
Definition treap.cpp:203
-
int get_next(int k)
Get the successor node of element k.
Definition treap.cpp:188
-
void erase(int k)
Erase element (External method)
Definition treap.cpp:208
-
int get_k_th(int k)
Get the KTH largest value (External method)
Definition treap.cpp:214
-
int get_predecessor(int k)
Get the predecessor node of element k.
Definition treap.cpp:172
-
int get_rank(int k)
Get the rank of specified element (External method)
Definition treap.cpp:220
-
-Here is the call graph for this function:
-
-
-
- +
Struct representation of the treap.
Definition treap.cpp:40
+
void insert(int k)
Insert element (External method)
Definition treap.cpp:203
+
int get_next(int k)
Get the successor node of element k.
Definition treap.cpp:188
+
void erase(int k)
Erase element (External method)
Definition treap.cpp:208
+
int get_k_th(int k)
Get the KTH largest value (External method)
Definition treap.cpp:214
+
int get_predecessor(int k)
Get the predecessor node of element k.
Definition treap.cpp:172
+
int get_rank(int k)
Get the rank of specified element (External method)
Definition treap.cpp:220
+ diff --git a/d0/dd2/treap_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map b/d0/dd2/treap_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map deleted file mode 100644 index 34a0c5b08..000000000 --- a/d0/dd2/treap_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d0/dd2/treap_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 b/d0/dd2/treap_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 deleted file mode 100644 index 4f6ebba9d..000000000 --- a/d0/dd2/treap_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -215c477708f08d0eb072d13ea138579a \ No newline at end of file diff --git a/d0/dd2/treap_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg b/d0/dd2/treap_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg deleted file mode 100644 index 972b22b52..000000000 --- a/d0/dd2/treap_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg +++ /dev/null @@ -1,395 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -data_structures::treap -::Treap::erase - - - - - -Node1->Node2 - - - - - - - - -Node6 - - -data_structures::treap -::Treap::get_k_th - - - - - -Node1->Node6 - - - - - - - - -Node8 - - -data_structures::treap -::Treap::get_next - - - - - -Node1->Node8 - - - - - - - - -Node9 - - -data_structures::treap -::Treap::get_predecessor - - - - - -Node1->Node9 - - - - - - - - -Node10 - - -data_structures::treap -::Treap::get_rank - - - - - -Node1->Node10 - - - - - - - - -Node12 - - -data_structures::treap -::Treap::insert - - - - - -Node1->Node12 - - - - - - - - -Node3 - - -data_structures::treap -::Treap::_erase - - - - - -Node2->Node3 - - - - - - - - -Node3->Node3 - - - - - - - - -Node4 - - -data_structures::treap -::Treap::rotate - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -data_structures::treap -::Treap::update - - - - - -Node3->Node5 - - - - - - - - -Node4->Node5 - - - - - - - - -Node7 - - -data_structures::treap -::Treap::_get_k_th - - - - - -Node6->Node7 - - - - - - - - -Node7->Node7 - - - - - - - - -Node11 - - -data_structures::treap -::Treap::_get_rank - - - - - -Node10->Node11 - - - - - - - - -Node11->Node11 - - - - - - - - -Node13 - - -data_structures::treap -::Treap::_insert - - - - - -Node12->Node13 - - - - - - - - -Node13->Node4 - - - - - - - - -Node13->Node5 - - - - - - - - -Node13->Node13 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d0/dd2/treap_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg b/d0/dd2/treap_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg deleted file mode 100644 index 1afad3c67..000000000 --- a/d0/dd2/treap_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg +++ /dev/null @@ -1,312 +0,0 @@ - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -data_structures::treap -::Treap::erase - - - - - -Node1->Node2 - - - - - - - - -Node6 - - -data_structures::treap -::Treap::get_k_th - - - - - -Node1->Node6 - - - - - - - - -Node8 - - -data_structures::treap -::Treap::get_next - - - - - -Node1->Node8 - - - - - - - - -Node9 - - -data_structures::treap -::Treap::get_predecessor - - - - - -Node1->Node9 - - - - - - - - -Node10 - - -data_structures::treap -::Treap::get_rank - - - - - -Node1->Node10 - - - - - - - - -Node12 - - -data_structures::treap -::Treap::insert - - - - - -Node1->Node12 - - - - - - - - -Node3 - - -data_structures::treap -::Treap::_erase - - - - - -Node2->Node3 - - - - - - - - -Node3->Node3 - - - - - - - - -Node4 - - -data_structures::treap -::Treap::rotate - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -data_structures::treap -::Treap::update - - - - - -Node3->Node5 - - - - - - - - -Node4->Node5 - - - - - - - - -Node7 - - -data_structures::treap -::Treap::_get_k_th - - - - - -Node6->Node7 - - - - - - - - -Node7->Node7 - - - - - - - - -Node11 - - -data_structures::treap -::Treap::_get_rank - - - - - -Node10->Node11 - - - - - - - - -Node11->Node11 - - - - - - - - -Node13 - - -data_structures::treap -::Treap::_insert - - - - - -Node12->Node13 - - - - - - - - -Node13->Node4 - - - - - - - - -Node13->Node5 - - - - - - - - -Node13->Node13 - - - - - - - - diff --git a/d0/dd2/treap_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d0/dd2/treap_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index cd5746e96..000000000 --- a/d0/dd2/treap_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,36 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d0/dd2/treap_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d0/dd2/treap_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index 976c69548..000000000 --- a/d0/dd2/treap_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -003a4a7d1c5118f92ce5198573ce0e5f \ No newline at end of file diff --git a/d0/dd2/treap_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d0/dd2/treap_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 8ac998df7..000000000 --- a/d0/dd2/treap_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,413 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -data_structures::treap -::Treap::erase - - - - - -Node2->Node3 - - - - - - - - -Node7 - - -data_structures::treap -::Treap::get_k_th - - - - - -Node2->Node7 - - - - - - - - -Node9 - - -data_structures::treap -::Treap::get_next - - - - - -Node2->Node9 - - - - - - - - -Node10 - - -data_structures::treap -::Treap::get_predecessor - - - - - -Node2->Node10 - - - - - - - - -Node11 - - -data_structures::treap -::Treap::get_rank - - - - - -Node2->Node11 - - - - - - - - -Node13 - - -data_structures::treap -::Treap::insert - - - - - -Node2->Node13 - - - - - - - - -Node4 - - -data_structures::treap -::Treap::_erase - - - - - -Node3->Node4 - - - - - - - - -Node4->Node4 - - - - - - - - -Node5 - - -data_structures::treap -::Treap::rotate - - - - - -Node4->Node5 - - - - - - - - -Node6 - - -data_structures::treap -::Treap::update - - - - - -Node4->Node6 - - - - - - - - -Node5->Node6 - - - - - - - - -Node8 - - -data_structures::treap -::Treap::_get_k_th - - - - - -Node7->Node8 - - - - - - - - -Node8->Node8 - - - - - - - - -Node12 - - -data_structures::treap -::Treap::_get_rank - - - - - -Node11->Node12 - - - - - - - - -Node12->Node12 - - - - - - - - -Node14 - - -data_structures::treap -::Treap::_insert - - - - - -Node13->Node14 - - - - - - - - -Node14->Node5 - - - - - - - - -Node14->Node6 - - - - - - - - -Node14->Node14 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d0/dd2/treap_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d0/dd2/treap_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index a61c304b4..000000000 --- a/d0/dd2/treap_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,330 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -data_structures::treap -::Treap::erase - - - - - -Node2->Node3 - - - - - - - - -Node7 - - -data_structures::treap -::Treap::get_k_th - - - - - -Node2->Node7 - - - - - - - - -Node9 - - -data_structures::treap -::Treap::get_next - - - - - -Node2->Node9 - - - - - - - - -Node10 - - -data_structures::treap -::Treap::get_predecessor - - - - - -Node2->Node10 - - - - - - - - -Node11 - - -data_structures::treap -::Treap::get_rank - - - - - -Node2->Node11 - - - - - - - - -Node13 - - -data_structures::treap -::Treap::insert - - - - - -Node2->Node13 - - - - - - - - -Node4 - - -data_structures::treap -::Treap::_erase - - - - - -Node3->Node4 - - - - - - - - -Node4->Node4 - - - - - - - - -Node5 - - -data_structures::treap -::Treap::rotate - - - - - -Node4->Node5 - - - - - - - - -Node6 - - -data_structures::treap -::Treap::update - - - - - -Node4->Node6 - - - - - - - - -Node5->Node6 - - - - - - - - -Node8 - - -data_structures::treap -::Treap::_get_k_th - - - - - -Node7->Node8 - - - - - - - - -Node8->Node8 - - - - - - - - -Node12 - - -data_structures::treap -::Treap::_get_rank - - - - - -Node11->Node12 - - - - - - - - -Node12->Node12 - - - - - - - - -Node14 - - -data_structures::treap -::Treap::_insert - - - - - -Node13->Node14 - - - - - - - - -Node14->Node5 - - - - - - - - -Node14->Node6 - - - - - - - - -Node14->Node14 - - - - - - - - diff --git a/d0/dd2/treap_8cpp_source.html b/d0/dd2/treap_8cpp_source.html new file mode 100644 index 000000000..78c62983b --- /dev/null +++ b/d0/dd2/treap_8cpp_source.html @@ -0,0 +1,348 @@ + + + + + + + + +TheAlgorithms/C++: data_structures/treap.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
TheAlgorithms/C++ 1.0.0 +
+
All the algorithms implemented in C++
+
+
+ + + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
treap.cpp
+
+
+Go to the documentation of this file.
1
+
20#include <array>
+
21#include <cassert>
+
22#include <cstdint>
+
23#include <iostream>
+
24
+
29namespace data_structures {
+
+
35namespace treap {
+
36const int maxNode = 1e5 + 5;
+
+
40struct Treap {
+
41 int root = 0;
+
42 int treapCnt = 0;
+
43 std::array<int, maxNode> key = {};
+
44 std::array<int, maxNode> priority = {};
+
+
45 std::array<std::array<int, 2>, maxNode> childs = {
+
46 {}};
+
+
+
49 std::array<int, maxNode> cnt =
+
50 {};
+
+
51 std::array<int, maxNode> size = {};
+
+
55 Treap() : treapCnt(1) {
+
56 priority[0] = INT32_MAX;
+
57 size[0] = 0;
+
58 }
+
+
+
63 void update(int x) {
+
64 size[x] = size[childs[x][0]] + cnt[x] + size[childs[x][1]];
+
65 }
+
+
+
71 void rotate(int &x, int t) {
+
72 int y = childs[x][t];
+
73 childs[x][t] = childs[y][1 - t];
+
74 childs[y][1 - t] = x;
+
75 // The rotation will only change itself and its son nodes
+
76 update(x);
+
77 update(y);
+
78 x = y;
+
79 }
+
+
+
85 void _insert(int &x, int k) {
+
86 if (x) {
+
87 if (key[x] == k) {
+
88 cnt[x]++;
+
89 } // If the node already exists, the number of copies is ++
+
90 else {
+
91 int t = (key[x] < k); // Insert according to BST properties
+
92 _insert(childs[x][t], k);
+
93 // After insertion, the heap properties are retained by rotation
+
94 if (priority[childs[x][t]] < priority[x]) {
+
95 rotate(x, t);
+
96 }
+
97 }
+
98 } else { // Create a new node
+
99 x = treapCnt++;
+
100 key[x] = k;
+
101 cnt[x] = 1;
+
102 priority[x] = rand(); // Random priority
+
103 childs[x][0] = childs[x][1] = 0;
+
104 }
+
105 update(x);
+
106 }
+
+
+
112 void _erase(int &x, int k) {
+
113 if (key[x] == k) {
+
114 if (cnt[x] > 1) {
+
115 cnt[x]--;
+
116 } // If the node has more than one copy, the number of copies --
+
117 else {
+
118 if (childs[x][0] == 0 && childs[x][1] == 0) {
+
119 x = 0;
+
120 return;
+
121 } // If there are no children, delete and return
+
122 // Otherwise, we need to rotate the sons and delete them
+
123 // recursively
+
124 int t = (priority[childs[x][0]] > priority[childs[x][1]]);
+
125 rotate(x, t);
+
126 _erase(x, k);
+
127 }
+
128 } else { // Find the target value based on BST properties
+
129 _erase(childs[x][key[x] < k], k);
+
130 }
+
131 update(x);
+
132 }
+
+
+
139 int _get_k_th(int &x, int k) {
+
140 if (k <= size[childs[x][0]]) {
+
141 return _get_k_th(childs[x][0], k);
+
142 }
+
143 k -= size[childs[x][0]] + cnt[x];
+
144 if (k <= 0) {
+
145 return key[x];
+
146 }
+
147 return _get_k_th(childs[x][1], k);
+
148 }
+
+
+
155 int _get_rank(int x, int k) {
+
156 if (!x) {
+
157 return 0;
+
158 }
+
159 if (k == key[x]) {
+
160 return size[childs[x][0]] + 1;
+
161 } else if (k < key[x]) {
+
162 return _get_rank(childs[x][0], k);
+
163 } else {
+
164 return size[childs[x][0]] + cnt[x] + _get_rank(childs[x][1], k);
+
165 }
+
166 }
+
+
+
172 int get_predecessor(int k) {
+
173 int x = root, pre = -1;
+
174 while (x) {
+
175 if (key[x] < k) {
+
176 pre = key[x], x = childs[x][1];
+
177 } else {
+
178 x = childs[x][0];
+
179 }
+
180 }
+
181 return pre;
+
182 }
+
+
+
188 int get_next(int k) {
+
189 int x = root, next = -1;
+
190 while (x) {
+
191 if (key[x] > k) {
+
192 next = key[x], x = childs[x][0];
+
193 } else {
+
194 x = childs[x][1];
+
195 }
+
196 }
+
197 return next;
+
198 }
+
+
203 void insert(int k) { _insert(root, k); }
+
208 void erase(int k) { _erase(root, k); }
+
214 int get_k_th(int k) { return _get_k_th(root, k); }
+
220 int get_rank(int k) { return _get_rank(root, k); }
+
221};
+
+
222} // namespace treap
+
+
223} // namespace data_structures
+
224
+
+
229static void test() {
+ +
231
+
232 mTreap.insert(1);
+
233 mTreap.insert(2);
+
234 mTreap.insert(3);
+
235 assert(mTreap.get_k_th(2) == 2);
+
236 mTreap.insert(4);
+
237 mTreap.insert(5);
+
238 mTreap.insert(6);
+
239 assert(mTreap.get_next(4) == 5);
+
240 mTreap.insert(7);
+
241 assert(mTreap.get_predecessor(7) == 6);
+
242 mTreap.erase(4);
+
243 assert(mTreap.get_k_th(4) == 5);
+
244 assert(mTreap.get_rank(5) == 4);
+
245 mTreap.insert(10);
+
246 assert(mTreap.get_rank(10) == 7);
+
247 assert(mTreap.get_predecessor(10) == 7);
+
248
+
249 std::cout << "All tests have successfully passed!\n";
+
250}
+
+
+
255int main() {
+
256 test(); // run self-test implementations
+
257 return 0;
+
258}
+
+
const int maxNode
maximum number of nodes
Definition treap.cpp:36
+
for IO operations
+
Struct representation of the treap.
Definition treap.cpp:40
+
int treapCnt
Total number of current nodes in the treap.
Definition treap.cpp:42
+
int root
root of the treap
Definition treap.cpp:41
+
std::array< int, maxNode > key
Node identifier.
Definition treap.cpp:43
+
Treap()
Initialization.
Definition treap.cpp:55
+
void insert(int k)
Insert element (External method)
Definition treap.cpp:203
+
void _insert(int &x, int k)
Insert a value into the specified subtree (internal method)
Definition treap.cpp:85
+
void rotate(int &x, int t)
Rotate without breaking the property of BST.
Definition treap.cpp:71
+
int get_next(int k)
Get the successor node of element k.
Definition treap.cpp:188
+
std::array< int, maxNode > priority
Random priority.
Definition treap.cpp:44
+
int _get_rank(int x, int k)
Query the rank of specified element (internal method)
Definition treap.cpp:155
+
void erase(int k)
Erase element (External method)
Definition treap.cpp:208
+
void update(int x)
Update the subtree size of the node.
Definition treap.cpp:63
+
int get_k_th(int k)
Get the KTH largest value (External method)
Definition treap.cpp:214
+
int get_predecessor(int k)
Get the predecessor node of element k.
Definition treap.cpp:172
+
std::array< std::array< int, 2 >, maxNode > childs
Definition treap.cpp:45
+
int get_rank(int k)
Get the rank of specified element (External method)
Definition treap.cpp:220
+
int _get_k_th(int &x, int k)
Find the KTH largest value (internal method)
Definition treap.cpp:139
+
void _erase(int &x, int k)
Erase a value from the specified subtree (internal method)
Definition treap.cpp:112
+
std::array< int, maxNode > size
The number of copies per node.
Definition treap.cpp:51
+
std::array< int, maxNode > cnt
Maintains the subtree size for ranking query.
Definition treap.cpp:49
+
static void test()
Self-test implementations.
Definition treap.cpp:229
+
int main()
Main function.
Definition treap.cpp:255
+
+
+ + + + diff --git a/d0/dd5/classciphers_1_1_hill_cipher-members.html b/d0/dd5/classciphers_1_1_hill_cipher-members.html index eadefd665..c94773682 100644 --- a/d0/dd5/classciphers_1_1_hill_cipher-members.html +++ b/d0/dd5/classciphers_1_1_hill_cipher-members.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Member List +TheAlgorithms/C++: Member List + + + @@ -18,14 +24,24 @@ - - + +
@@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/d0/dd5/namespacebubble__sort.html b/d0/dd5/namespacebubble__sort.html index 0761fd825..70b9629f6 100644 --- a/d0/dd5/namespacebubble__sort.html +++ b/d0/dd5/namespacebubble__sort.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: bubble_sort Namespace Reference +TheAlgorithms/C++: bubble_sort Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
@@ -33,10 +49,11 @@ MathJax.Hub.Config({
-
Algorithms_in_C++ 1.0.0 +
TheAlgorithms/C++ 1.0.0
-
Set of algorithms implemented in C++.
+
All the algorithms implemented in C++
+ diff --git a/d0/dda/namespacesaddleback.html b/d0/dda/namespacesaddleback.html index cd3f17e10..814d4dca1 100644 --- a/d0/dda/namespacesaddleback.html +++ b/d0/dda/namespacesaddleback.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: saddleback Namespace Reference +TheAlgorithms/C++: saddleback Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
@@ -33,10 +49,11 @@ MathJax.Hub.Config({
-
Algorithms_in_C++ 1.0.0 +
TheAlgorithms/C++ 1.0.0
-
Set of algorithms implemented in C++.
+
All the algorithms implemented in C++
+ diff --git a/d0/de2/gaussian__elimination_8cpp.html b/d0/de2/gaussian__elimination_8cpp.html index 10479a5db..e311bb3ea 100644 --- a/d0/de2/gaussian__elimination_8cpp.html +++ b/d0/de2/gaussian__elimination_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: numerical_methods/gaussian_elimination.cpp File Reference +TheAlgorithms/C++: numerical_methods/gaussian_elimination.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
@@ -33,10 +49,11 @@ MathJax.Hub.Config({
-
Algorithms_in_C++ 1.0.0 +
TheAlgorithms/C++ 1.0.0
-
Set of algorithms implemented in C++.
+
All the algorithms implemented in C++
+ @@ -118,7 +135,9 @@ Include dependency graph for gaussian_elimination.cpp:
-
-
Algorithms_in_C++ 1.0.0 +
TheAlgorithms/C++ 1.0.0
-
Set of algorithms implemented in C++.
+
All the algorithms implemented in C++
+ +

Go to the source code of this file.

+
@@ -126,6 +145,8 @@ Functions

Functions

int main ()

Detailed Description

Function Documentation

◆ main()

@@ -142,11 +163,13 @@ Functions

Main function

+ +

Definition at line 9 of file gaussian_elimination.cpp.

9 {
10 int mat_size, i, j, step;
11
-
12 std::cout << "Matrix size: ";
- +
12 std::cout << "Matrix size: ";
+
13 std::cin >> mat_size;
14
15 // create a 2D matrix by dynamic memory allocation
16 double **mat = new double *[mat_size + 1], **x = new double *[mat_size];
@@ -157,10 +180,10 @@ Functions
21 }
22
23 // get the matrix elements from user
-
24 std::cout << std::endl << "Enter value of the matrix: " << std::endl;
+
24 std::cout << std::endl << "Enter value of the matrix: " << std::endl;
25 for (i = 0; i < mat_size; i++) {
26 for (j = 0; j <= mat_size; j++) {
-
27 std::cin >>
+
27 std::cin >>
28 mat[i][j]; // Enter (mat_size*mat_size) value of the matrix.
29 }
30 }
@@ -175,17 +198,17 @@ Functions
39 }
40 }
41
- -
43 << "Matrix using Gaussian Elimination method: " << std::endl;
+
42 std::cout << std::endl
+
43 << "Matrix using Gaussian Elimination method: " << std::endl;
44 for (i = 0; i < mat_size; i++) {
45 for (j = 0; j <= mat_size; j++) {
46 x[i][j] = mat[i][j];
-
47 std::cout << mat[i][j] << " ";
+
47 std::cout << mat[i][j] << " ";
48 }
- +
49 std::cout << std::endl;
50 }
- -
52 << "Value of the Gaussian Elimination method: " << std::endl;
+
51 std::cout << std::endl
+
52 << "Value of the Gaussian Elimination method: " << std::endl;
53 for (i = mat_size - 1; i >= 0; i--) {
54 double sum = 0;
55 for (j = mat_size - 1; j > i; j--) {
@@ -197,7 +220,7 @@ Functions
61 else
62 x[i][i] = (x[i][mat_size] - sum) / (x[i][i]);
63
-
64 std::cout << "x" << i << "= " << x[i][i] << std::endl;
+
64 std::cout << "x" << i << "= " << x[i][i] << std::endl;
65 }
66
67 for (i = 0; i <= mat_size; i++) {
@@ -210,17 +233,9 @@ Functions
74
75 return 0;
76}
- - -
T endl(T... args)
-
ll mat_size
Definition matrix_exponentiation.cpp:45
-
T sum(const std::vector< std::valarray< T > > &A)
Definition vector_ops.hpp:232
-
-Here is the call graph for this function:
-
-
-
- + +
T sum(const std::vector< std::valarray< T > > &A)
+
diff --git a/d0/de2/gaussian__elimination_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d0/de2/gaussian__elimination_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 490da38cb..000000000 --- a/d0/de2/gaussian__elimination_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d0/de2/gaussian__elimination_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d0/de2/gaussian__elimination_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index 2f2fe09b6..000000000 --- a/d0/de2/gaussian__elimination_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -fa87532068062fd8189cade55ca11658 \ No newline at end of file diff --git a/d0/de2/gaussian__elimination_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d0/de2/gaussian__elimination_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 5c76e5177..000000000 --- a/d0/de2/gaussian__elimination_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d0/de2/gaussian__elimination_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d0/de2/gaussian__elimination_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 575e4300e..000000000 --- a/d0/de2/gaussian__elimination_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - diff --git a/d0/de2/gaussian__elimination_8cpp_source.html b/d0/de2/gaussian__elimination_8cpp_source.html new file mode 100644 index 000000000..137f8de59 --- /dev/null +++ b/d0/de2/gaussian__elimination_8cpp_source.html @@ -0,0 +1,212 @@ + + + + + + + + +TheAlgorithms/C++: numerical_methods/gaussian_elimination.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
TheAlgorithms/C++ 1.0.0 +
+
All the algorithms implemented in C++
+
+
+ + + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
gaussian_elimination.cpp
+
+
+Go to the documentation of this file.
1
+
6#include <iostream>
+
7
+
+
9int main() {
+
10 int mat_size, i, j, step;
+
11
+
12 std::cout << "Matrix size: ";
+
13 std::cin >> mat_size;
+
14
+
15 // create a 2D matrix by dynamic memory allocation
+
16 double **mat = new double *[mat_size + 1], **x = new double *[mat_size];
+
17 for (i = 0; i <= mat_size; i++) {
+
18 mat[i] = new double[mat_size + 1];
+
19 if (i < mat_size)
+
20 x[i] = new double[mat_size + 1];
+
21 }
+
22
+
23 // get the matrix elements from user
+
24 std::cout << std::endl << "Enter value of the matrix: " << std::endl;
+
25 for (i = 0; i < mat_size; i++) {
+
26 for (j = 0; j <= mat_size; j++) {
+
27 std::cin >>
+
28 mat[i][j]; // Enter (mat_size*mat_size) value of the matrix.
+
29 }
+
30 }
+
31
+
32 // perform Gaussian elimination
+
33 for (step = 0; step < mat_size - 1; step++) {
+
34 for (i = step; i < mat_size - 1; i++) {
+
35 double a = (mat[i + 1][step] / mat[step][step]);
+
36
+
37 for (j = step; j <= mat_size; j++)
+
38 mat[i + 1][j] = mat[i + 1][j] - (a * mat[step][j]);
+
39 }
+
40 }
+
41
+
42 std::cout << std::endl
+
43 << "Matrix using Gaussian Elimination method: " << std::endl;
+
44 for (i = 0; i < mat_size; i++) {
+
45 for (j = 0; j <= mat_size; j++) {
+
46 x[i][j] = mat[i][j];
+
47 std::cout << mat[i][j] << " ";
+
48 }
+
49 std::cout << std::endl;
+
50 }
+
51 std::cout << std::endl
+
52 << "Value of the Gaussian Elimination method: " << std::endl;
+
53 for (i = mat_size - 1; i >= 0; i--) {
+
54 double sum = 0;
+
55 for (j = mat_size - 1; j > i; j--) {
+
56 x[i][j] = x[j][j] * x[i][j];
+
57 sum = x[i][j] + sum;
+
58 }
+
59 if (x[i][i] == 0)
+
60 x[i][i] = 0;
+
61 else
+
62 x[i][i] = (x[i][mat_size] - sum) / (x[i][i]);
+
63
+
64 std::cout << "x" << i << "= " << x[i][i] << std::endl;
+
65 }
+
66
+
67 for (i = 0; i <= mat_size; i++) {
+
68 delete[] mat[i];
+
69 if (i < mat_size)
+
70 delete[] x[i];
+
71 }
+
72 delete[] mat;
+
73 delete[] x;
+
74
+
75 return 0;
+
76}
+
+
int main()
+ +
+
+ + + + diff --git a/d0/dea/strassen__matrix__multiplication_8cpp_source.html b/d0/dea/strassen__matrix__multiplication_8cpp_source.html new file mode 100644 index 000000000..7fca341d5 --- /dev/null +++ b/d0/dea/strassen__matrix__multiplication_8cpp_source.html @@ -0,0 +1,530 @@ + + + + + + + + +TheAlgorithms/C++: divide_and_conquer/strassen_matrix_multiplication.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
TheAlgorithms/C++ 1.0.0 +
+
All the algorithms implemented in C++
+
+
+ + + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
strassen_matrix_multiplication.cpp
+
+
+
1
+
13#include <cassert>
+
14#include <chrono>
+
15#include <iostream>
+
16#include <tuple>
+
17#include <vector>
+
18
+
23namespace divide_and_conquer {
+
24
+ +
30
+
32constexpr size_t MAX_SIZE = ~0ULL;
+
36template <typename T,
+
37 typename = typename std::enable_if<
+
38 std::is_integral<T>::value || std::is_floating_point<T>::value,
+
39 bool>::type>
+
+
40class Matrix {
+
41 std::vector<std::vector<T>> _mat;
+
42
+
43 public:
+
50 template <typename Integer,
+
51 typename = typename std::enable_if<
+
52 std::is_integral<Integer>::value, Integer>::type>
+
+
53 explicit Matrix(const Integer size) {
+
54 for (size_t i = 0; i < size; ++i) {
+
55 _mat.emplace_back(std::vector<T>(size, 0));
+
56 }
+
57 }
+
+
58
+
66 template <typename Integer,
+
67 typename = typename std::enable_if<
+
68 std::is_integral<Integer>::value, Integer>::type>
+
+
69 Matrix(const Integer rows, const Integer cols) {
+
70 for (size_t i = 0; i < rows; ++i) {
+
71 _mat.emplace_back(std::vector<T>(cols, 0));
+
72 }
+
73 }
+
+
74
+
+
79 inline std::pair<size_t, size_t> size() const {
+
80 return {_mat.size(), _mat[0].size()};
+
81 }
+
+
82
+
90 template <typename Integer,
+
91 typename = typename std::enable_if<
+
92 std::is_integral<Integer>::value, Integer>::type>
+
+
93 inline std::vector<T> &operator[](const Integer index) {
+
94 return _mat[index];
+
95 }
+
+
96
+
+
106 Matrix slice(const size_t row_start, const size_t row_end = MAX_SIZE,
+
107 const size_t col_start = MAX_SIZE,
+
108 const size_t col_end = MAX_SIZE) const {
+
109 const size_t h_size =
+
110 (row_end != MAX_SIZE ? row_end : _mat.size()) - row_start;
+
111 const size_t v_size = (col_end != MAX_SIZE ? col_end : _mat[0].size()) -
+
112 (col_start != MAX_SIZE ? col_start : 0);
+
113 Matrix result = Matrix<T>(h_size, v_size);
+
114
+
115 const size_t v_start = (col_start != MAX_SIZE ? col_start : 0);
+
116 for (size_t i = 0; i < h_size; ++i) {
+
117 for (size_t j = 0; j < v_size; ++j) {
+
118 result._mat[i][j] = _mat[i + row_start][j + v_start];
+
119 }
+
120 }
+
121 return result;
+
122 }
+
+
123
+
130 template <typename Number, typename = typename std::enable_if<
+
131 std::is_integral<Number>::value ||
+
132 std::is_floating_point<Number>::value,
+
133 Number>::type>
+
+
134 void h_stack(const Matrix<Number> &other) {
+
135 assert(_mat.size() == other._mat.size());
+
136 for (size_t i = 0; i < other._mat.size(); ++i) {
+
137 for (size_t j = 0; j < other._mat[i].size(); ++j) {
+
138 _mat[i].push_back(other._mat[i][j]);
+
139 }
+
140 }
+
141 }
+
+
142
+
149 template <typename Number, typename = typename std::enable_if<
+
150 std::is_integral<Number>::value ||
+
151 std::is_floating_point<Number>::value,
+
152 Number>::type>
+
+
153 void v_stack(const Matrix<Number> &other) {
+
154 assert(_mat[0].size() == other._mat[0].size());
+
155 for (size_t i = 0; i < other._mat.size(); ++i) {
+
156 _mat.emplace_back(std::vector<T>(other._mat[i].size()));
+
157 for (size_t j = 0; j < other._mat[i].size(); ++j) {
+
158 _mat.back()[j] = other._mat[i][j];
+
159 }
+
160 }
+
161 }
+
+
162
+
169 template <typename Number, typename = typename std::enable_if<
+
170 std::is_integral<Number>::value ||
+
171 std::is_floating_point<Number>::value,
+
172 bool>::type>
+
+
173 Matrix operator+(const Matrix<Number> &other) const {
+
174 assert(this->size() == other.size());
+
175 Matrix C = Matrix<Number>(_mat.size(), _mat[0].size());
+
176 for (size_t i = 0; i < _mat.size(); ++i) {
+
177 for (size_t j = 0; j < _mat[i].size(); ++j) {
+
178 C._mat[i][j] = _mat[i][j] + other._mat[i][j];
+
179 }
+
180 }
+
181 return C;
+
182 }
+
+
183
+
190 template <typename Number, typename = typename std::enable_if<
+
191 std::is_integral<Number>::value ||
+
192 std::is_floating_point<Number>::value,
+
193 bool>::type>
+
+
194 Matrix &operator+=(const Matrix<Number> &other) const {
+
195 assert(this->size() == other.size());
+
196 for (size_t i = 0; i < _mat.size(); ++i) {
+
197 for (size_t j = 0; j < _mat[i].size(); ++j) {
+
198 _mat[i][j] += other._mat[i][j];
+
199 }
+
200 }
+
201 return this;
+
202 }
+
+
203
+
210 template <typename Number, typename = typename std::enable_if<
+
211 std::is_integral<Number>::value ||
+
212 std::is_floating_point<Number>::value,
+
213 bool>::type>
+
+
214 Matrix operator-(const Matrix<Number> &other) const {
+
215 assert(this->size() == other.size());
+
216 Matrix C = Matrix<Number>(_mat.size(), _mat[0].size());
+
217 for (size_t i = 0; i < _mat.size(); ++i) {
+
218 for (size_t j = 0; j < _mat[i].size(); ++j) {
+
219 C._mat[i][j] = _mat[i][j] - other._mat[i][j];
+
220 }
+
221 }
+
222 return C;
+
223 }
+
+
224
+
231 template <typename Number, typename = typename std::enable_if<
+
232 std::is_integral<Number>::value ||
+
233 std::is_floating_point<Number>::value,
+
234 bool>::type>
+
+
235 Matrix &operator-=(const Matrix<Number> &other) const {
+
236 assert(this->size() == other.size());
+
237 for (size_t i = 0; i < _mat.size(); ++i) {
+
238 for (size_t j = 0; j < _mat[i].size(); ++j) {
+
239 _mat[i][j] -= other._mat[i][j];
+
240 }
+
241 }
+
242 return this;
+
243 }
+
+
244
+
251 template <typename Number, typename = typename std::enable_if<
+
252 std::is_integral<Number>::value ||
+
253 std::is_floating_point<Number>::value,
+
254 bool>::type>
+
+
255 inline Matrix operator*(const Matrix<Number> &other) const {
+
256 assert(_mat[0].size() == other._mat.size());
+
257 auto size = this->size();
+
258 const size_t row = size.first, col = size.second;
+
259 // Main condition for applying strassen's method:
+
260 // 1: matrix should be a square matrix
+
261 // 2: matrix should be of even size (mat.size() % 2 == 0)
+
262 return (row == col && (row & 1) == 0)
+
263 ? this->strassens_multiplication(other)
+
264 : this->naive_multiplication(other);
+
265 }
+
+
266
+
273 template <typename Number, typename = typename std::enable_if<
+
274 std::is_integral<Number>::value ||
+
275 std::is_floating_point<Number>::value,
+
276 bool>::type>
+
+
277 inline Matrix operator*(const Number other) const {
+
278 Matrix C = Matrix<Number>(_mat.size(), _mat[0].size());
+
279 for (size_t i = 0; i < _mat.size(); ++i) {
+
280 for (size_t j = 0; j < _mat[i].size(); ++j) {
+
281 C._mat[i][j] = _mat[i][j] * other;
+
282 }
+
283 }
+
284 return C;
+
285 }
+
+
286
+
293 template <typename Number, typename = typename std::enable_if<
+
294 std::is_integral<Number>::value ||
+
295 std::is_floating_point<Number>::value,
+
296 bool>::type>
+
+
297 Matrix &operator*=(const Number other) const {
+
298 for (size_t i = 0; i < _mat.size(); ++i) {
+
299 for (size_t j = 0; j < _mat[i].size(); ++j) {
+
300 _mat[i][j] *= other;
+
301 }
+
302 }
+
303 return this;
+
304 }
+
+
305
+
312 template <typename Number, typename = typename std::enable_if<
+
313 std::is_integral<Number>::value ||
+
314 std::is_floating_point<Number>::value,
+
315 bool>::type>
+
+ +
317 Matrix C = Matrix<Number>(_mat.size(), other._mat[0].size());
+
318
+
319 for (size_t i = 0; i < _mat.size(); ++i) {
+
320 for (size_t k = 0; k < _mat[0].size(); ++k) {
+
321 for (size_t j = 0; j < other._mat[0].size(); ++j) {
+
322 C._mat[i][j] += _mat[i][k] * other._mat[k][j];
+
323 }
+
324 }
+
325 }
+
326 return C;
+
327 }
+
+
328
+
336 template <typename Number, typename = typename std::enable_if<
+
337 std::is_integral<Number>::value ||
+
338 std::is_floating_point<Number>::value,
+
339 bool>::type>
+
+ +
341 const size_t size = _mat.size();
+
342 // Base case: when a matrix is small enough for faster naive
+
343 // multiplication, or the matrix is of odd size, then go with the naive
+
344 // multiplication route;
+
345 // else; go with the strassen's method.
+
346 if (size <= 64ULL || (size & 1ULL)) {
+
347 return this->naive_multiplication(other);
+
348 } else {
+
349 const Matrix<Number>
+
350 A = this->slice(0ULL, size >> 1, 0ULL, size >> 1),
+
351 B = this->slice(0ULL, size >> 1, size >> 1, size),
+
352 C = this->slice(size >> 1, size, 0ULL, size >> 1),
+
353 D = this->slice(size >> 1, size, size >> 1, size),
+
354 E = other.slice(0ULL, size >> 1, 0ULL, size >> 1),
+
355 F = other.slice(0ULL, size >> 1, size >> 1, size),
+
356 G = other.slice(size >> 1, size, 0ULL, size >> 1),
+
357 H = other.slice(size >> 1, size, size >> 1, size);
+
358
+
359 Matrix P1 = A.strassens_multiplication(F - H);
+
360 Matrix P2 = (A + B).strassens_multiplication(H);
+
361 Matrix P3 = (C + D).strassens_multiplication(E);
+
362 Matrix P4 = D.strassens_multiplication(G - E);
+
363 Matrix P5 = (A + D).strassens_multiplication(E + H);
+
364 Matrix P6 = (B - D).strassens_multiplication(G + H);
+
365 Matrix P7 = (A - C).strassens_multiplication(E + F);
+
366
+
367 // Building final matrix C11 would be
+
368 // [ | ]
+
369 // [ C11 | C12 ]
+
370 // C = [ ____ | ____ ]
+
371 // [ | ]
+
372 // [ C21 | C22 ]
+
373 // [ | ]
+
374
+
375 Matrix C11 = P5 + P4 - P2 + P6;
+
376 Matrix C12 = P1 + P2;
+
377 Matrix C21 = P3 + P4;
+
378 Matrix C22 = P1 + P5 - P3 - P7;
+
379
+
380 C21.h_stack(C22);
+
381 C11.h_stack(C12);
+
382 C11.v_stack(C21);
+
383
+
384 return C11;
+
385 }
+
386 }
+
+
387
+
+
393 bool operator==(const Matrix<T> &other) const {
+
394 if (_mat.size() != other._mat.size() ||
+
395 _mat[0].size() != other._mat[0].size()) {
+
396 return false;
+
397 }
+
398 for (size_t i = 0; i < _mat.size(); ++i) {
+
399 for (size_t j = 0; j < _mat[i].size(); ++j) {
+
400 if (_mat[i][j] != other._mat[i][j]) {
+
401 return false;
+
402 }
+
403 }
+
404 }
+
405 return true;
+
406 }
+
+
407
+
408 friend std::ostream &operator<<(std::ostream &out, const Matrix<T> &mat) {
+
409 for (auto &row : mat._mat) {
+
410 for (auto &elem : row) {
+
411 out << elem << " ";
+
412 }
+
413 out << "\n";
+
414 }
+
415 return out << "\n";
+
416 }
+
417};
+
+
418
+
419} // namespace strassens_multiplication
+
420
+
421} // namespace divide_and_conquer
+
422
+
427static void test() {
+
428 const size_t s = 512;
+
429 auto matrix_demo =
+ +
431
+
432 for (size_t i = 0; i < s; ++i) {
+
433 for (size_t j = 0; j < s; ++j) {
+
434 matrix_demo[i][j] = i + j;
+
435 }
+
436 }
+
437
+
438 auto matrix_demo2 =
+ +
440 for (size_t i = 0; i < s; ++i) {
+
441 for (size_t j = 0; j < s; ++j) {
+
442 matrix_demo2[i][j] = 2 + i + j;
+
443 }
+
444 }
+
445
+
446 auto start = std::chrono::system_clock::now();
+
447 auto Mat3 = matrix_demo2 * matrix_demo;
+
448 auto end = std::chrono::system_clock::now();
+
449
+
450 std::chrono::duration<double> time = (end - start);
+
451 std::cout << "Strassen time: " << time.count() << "s" << std::endl;
+
452
+
453 start = std::chrono::system_clock::now();
+
454 auto conf = matrix_demo2.naive_multiplication(matrix_demo);
+
455 end = std::chrono::system_clock::now();
+
456
+
457 time = end - start;
+
458 std::cout << "Normal time: " << time.count() << "s" << std::endl;
+
459
+
460 // std::cout << Mat3 << conf << std::endl;
+
461 assert(Mat3 == conf);
+
462}
+
463
+
468int main() {
+
469 test(); // run self-test implementation
+
470 return 0;
+
471}
+
void test()
+ + +
Matrix slice(const size_t row_start, const size_t row_end=MAX_SIZE, const size_t col_start=MAX_SIZE, const size_t col_end=MAX_SIZE) const
Creates a new matrix and returns a part of it.
+
Matrix & operator-=(const Matrix< Number > &other) const
Subtract another matrices to current matrix.
+
Matrix(const Integer rows, const Integer cols)
Constructor.
+
bool operator==(const Matrix< T > &other) const
Compares two matrices if each of them are equal or not.
+
Matrix naive_multiplication(const Matrix< Number > &other) const
Naive multiplication performed on this.
+
Matrix operator*(const Matrix< Number > &other) const
Multiply two matrices and returns a new matrix.
+
Matrix operator-(const Matrix< Number > &other) const
Subtract two matrices and returns a new matrix.
+
Matrix strassens_multiplication(const Matrix< Number > &other) const
Strassens method of multiplying two matrices References: https://en.wikipedia.org/wiki/Strassen_algor...
+
void h_stack(const Matrix< Number > &other)
Horizontally stack the matrix (one after the other)
+
std::vector< T > & operator[](const Integer index)
returns the address of the element at ith place (here ith row of the matrix)
+
Matrix operator+(const Matrix< Number > &other) const
Add two matrices and returns a new matrix.
+
Matrix & operator+=(const Matrix< Number > &other) const
Add another matrices to current matrix.
+
std::pair< size_t, size_t > size() const
Get the matrix shape.
+
Matrix operator*(const Number other) const
Multiply matrix with a number and returns a new matrix.
+
Matrix & operator*=(const Number other) const
Multiply a number to current matrix.
+
void v_stack(const Matrix< Number > &other)
Horizontally stack the matrix (current matrix above the other)
+
int main()
Main function.
+
for std::vector
+
Namespace for performing strassen's multiplication.
+
+
+ + + + diff --git a/d0/dea/structdata__structures_1_1stack__using__queue_1_1_stack__coll__graph.map b/d0/dea/structdata__structures_1_1stack__using__queue_1_1_stack__coll__graph.map index ba2ec2310..326da70bc 100644 --- a/d0/dea/structdata__structures_1_1stack__using__queue_1_1_stack__coll__graph.map +++ b/d0/dea/structdata__structures_1_1stack__using__queue_1_1_stack__coll__graph.map @@ -1,7 +1,5 @@ - - - - - + + + diff --git a/d0/dea/structdata__structures_1_1stack__using__queue_1_1_stack__coll__graph.md5 b/d0/dea/structdata__structures_1_1stack__using__queue_1_1_stack__coll__graph.md5 index 3f22e779d..69a54c558 100644 --- a/d0/dea/structdata__structures_1_1stack__using__queue_1_1_stack__coll__graph.md5 +++ b/d0/dea/structdata__structures_1_1stack__using__queue_1_1_stack__coll__graph.md5 @@ -1 +1 @@ -ea3d74234586e9e25aeff435e2dc7b02 \ No newline at end of file +f23956ab070d32544ff06d60628e9507 \ No newline at end of file diff --git a/d0/dea/structdata__structures_1_1stack__using__queue_1_1_stack__coll__graph.svg b/d0/dea/structdata__structures_1_1stack__using__queue_1_1_stack__coll__graph.svg index 3dcf09f83..ddf866c30 100644 --- a/d0/dea/structdata__structures_1_1stack__using__queue_1_1_stack__coll__graph.svg +++ b/d0/dea/structdata__structures_1_1stack__using__queue_1_1_stack__coll__graph.svg @@ -4,8 +4,8 @@ - + @@ -17,7 +17,7 @@ ]]> - + data_structures::stack_using_queue::Stack @@ -32,7 +32,7 @@ Node2 - + std::queue< int64_t > @@ -49,25 +49,6 @@ auxiliary_q main_q - - -Node3 - - -std::int64_t - - - - - -Node3->Node2 - - - - - - elements - diff --git a/d0/dea/structdata__structures_1_1stack__using__queue_1_1_stack__coll__graph_org.svg b/d0/dea/structdata__structures_1_1stack__using__queue_1_1_stack__coll__graph_org.svg index 129935f59..8d929d0ae 100644 --- a/d0/dea/structdata__structures_1_1stack__using__queue_1_1_stack__coll__graph_org.svg +++ b/d0/dea/structdata__structures_1_1stack__using__queue_1_1_stack__coll__graph_org.svg @@ -4,9 +4,9 @@ - - + + data_structures::stack_using_queue::Stack @@ -21,7 +21,7 @@ Node2 - + std::queue< int64_t > @@ -38,24 +38,5 @@ auxiliary_q main_q - - -Node3 - - -std::int64_t - - - - - -Node3->Node2 - - - - - - elements - diff --git a/d0/df8/namespaceabbreviation.html b/d0/df8/namespaceabbreviation.html index 46b502599..3d2867cbf 100644 --- a/d0/df8/namespaceabbreviation.html +++ b/d0/df8/namespaceabbreviation.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: abbreviation Namespace Reference +TheAlgorithms/C++: abbreviation Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
@@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/d0/dff/classmachine__learning_1_1aystar__search_1_1_eight_puzzle__coll__graph.map b/d0/dff/classmachine__learning_1_1aystar__search_1_1_eight_puzzle__coll__graph.map index f3864cd51..d64dc6940 100644 --- a/d0/dff/classmachine__learning_1_1aystar__search_1_1_eight_puzzle__coll__graph.map +++ b/d0/dff/classmachine__learning_1_1aystar__search_1_1_eight_puzzle__coll__graph.map @@ -1,11 +1,9 @@ - - - - - - - - - + + + + + + + diff --git a/d0/dff/classmachine__learning_1_1aystar__search_1_1_eight_puzzle__coll__graph.md5 b/d0/dff/classmachine__learning_1_1aystar__search_1_1_eight_puzzle__coll__graph.md5 index ab70a89fe..e22bc1bbe 100644 --- a/d0/dff/classmachine__learning_1_1aystar__search_1_1_eight_puzzle__coll__graph.md5 +++ b/d0/dff/classmachine__learning_1_1aystar__search_1_1_eight_puzzle__coll__graph.md5 @@ -1 +1 @@ -b610af580288d32f551d2dbb9542c0b1 \ No newline at end of file +7e9853f4c00333f00da73b7b2db6223c \ No newline at end of file diff --git a/d0/dff/classmachine__learning_1_1aystar__search_1_1_eight_puzzle__coll__graph.svg b/d0/dff/classmachine__learning_1_1aystar__search_1_1_eight_puzzle__coll__graph.svg index cb07a19da..46bfd41f3 100644 --- a/d0/dff/classmachine__learning_1_1aystar__search_1_1_eight_puzzle__coll__graph.svg +++ b/d0/dff/classmachine__learning_1_1aystar__search_1_1_eight_puzzle__coll__graph.svg @@ -4,9 +4,10 @@ - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + machine_learning::aystar_search::EightPuzzle< N > Node1 - -machine_learning::aystar -_search::EightPuzzle< N > + +machine_learning::aystar +_search::EightPuzzle< N > Node2 - - -std::array< std::array -< uint32_t, 3 >, 3 > + + +std::array< std::array +< uint32_t, 3 >, 3 > @@ -79,19 +43,19 @@ var sectionId = 'dynsection-0'; Node2->Node1 - - + + - board + board Node3 - - -std::vector< std::pair -< int8_t, int8_t > > + + +std::vector< std::pair +< int8_t, int8_t > > @@ -99,19 +63,19 @@ var sectionId = 'dynsection-0'; Node3->Node1 - - + + - moves + moves Node4 - - -std::pair< int8_t, - int8_t > + + +std::pair< int8_t, + int8_t > @@ -119,55 +83,14 @@ var sectionId = 'dynsection-0'; Node4->Node3 - - + + - elements - - - -Node5 - - -std::int8_t - - - - - -Node5->Node4 - - - - - - first_type -second_type + elements - - - - - - - - - - - - - - - - - - @@ -5,10 +6,15 @@ -Algorithms_in_C++: linkedlist Struct Reference +TheAlgorithms/C++: linkedlist Struct Reference + + + @@ -18,14 +24,24 @@ - - + +
@@ -33,10 +49,11 @@ MathJax.Hub.Config({
-
Algorithms_in_C++ 1.0.0 +
TheAlgorithms/C++ 1.0.0
-
Set of algorithms implemented in C++.
+
All the algorithms implemented in C++
+ @@ -118,15 +135,49 @@ Collaboration diagram for linkedlist:
-
Algorithms_in_C++ 1.0.0 +
TheAlgorithms/C++ 1.0.0
-
Set of algorithms implemented in C++.
+
All the algorithms implemented in C++
- + - +

Public Attributes

-int data
int data
 
-linkedlistnext
linkedlistnext
 
+

Detailed Description

+
+

Definition at line 6 of file queue_using_linkedlist.cpp.

+

Member Data Documentation

+ +

◆ data

+ +
+
+ + + + +
int linkedlist::data
+
+ +

Definition at line 7 of file queue_using_linkedlist.cpp.

+ +
+
+ +

◆ next

+ +
+
+ + + + +
linkedlist* linkedlist::next
+
+ +

Definition at line 8 of file queue_using_linkedlist.cpp.

+ +
+

The documentation for this struct was generated from the following file:
diff --git a/d1/d07/class_solution-members.html b/d1/d07/class_solution-members.html index 92df33660..cf67eb5b0 100644 --- a/d1/d07/class_solution-members.html +++ b/d1/d07/class_solution-members.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Member List +TheAlgorithms/C++: Member List + + + @@ -18,14 +24,24 @@ - - + +
@@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/d1/d11/gcd__of__n__numbers_8cpp.html b/d1/d11/gcd__of__n__numbers_8cpp.html index 9e101f4de..69fdd7200 100644 --- a/d1/d11/gcd__of__n__numbers_8cpp.html +++ b/d1/d11/gcd__of__n__numbers_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: math/gcd_of_n_numbers.cpp File Reference +TheAlgorithms/C++: math/gcd_of_n_numbers.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
@@ -33,10 +49,11 @@ MathJax.Hub.Config({
-
Algorithms_in_C++ 1.0.0 +
TheAlgorithms/C++ 1.0.0
-
Set of algorithms implemented in C++.
+
All the algorithms implemented in C++
+ @@ -122,7 +139,9 @@ Include dependency graph for gcd_of_n_numbers.cpp:
-
-
Algorithms_in_C++ 1.0.0 +
TheAlgorithms/C++ 1.0.0
-
Set of algorithms implemented in C++.
+
All the algorithms implemented in C++
+ +

Go to the source code of this file.

+
@@ -137,12 +156,12 @@ Functions - - + + - - + + @@ -156,6 +175,8 @@ Functions

This program aims at calculating the GCD of n numbers.

The GCD of n numbers can be calculated by repeatedly calculating the GCDs of pairs of numbers i.e. \(\gcd(a, b, c)\) = \(\gcd(\gcd(a, b), c)\) Euclidean algorithm helps calculate the GCD of each pair of numbers efficiently

See also
gcd_iterative_euclidean.cpp, gcd_recursive_euclidean.cpp
+ +

Definition in file gcd_of_n_numbers.cpp.

Function Documentation

◆ check_all_zeros()

@@ -163,12 +184,12 @@ Functions
-template<std::size_t n>
+template<std::size_t n>

Namespaces

namespace  math
int math::gcd_of_n_numbers::gcd_two (int x, int y)
 Function to compute GCD of 2 numbers x and y.
 
template<std::size_t n>
bool math::gcd_of_n_numbers::check_all_zeros (const std::array< int, n > &a)
template<std::size_t n>
bool math::gcd_of_n_numbers::check_all_zeros (const std::array< int, n > &a)
 Function to check if all elements in the array are 0.
 
template<std::size_t n>
int math::gcd_of_n_numbers::gcd (const std::array< int, n > &a)
template<std::size_t n>
int math::gcd_of_n_numbers::gcd (const std::array< int, n > &a)
 Main program to compute GCD using the Euclidean algorithm.
 
static void test ()
- +
bool math::gcd_of_n_numbers::check_all_zeros (const std::array< int, n > & a)const std::array< int, n > & a)
@@ -184,17 +205,13 @@ template<
Returns
'True' if all elements are 0
'False' if not all elements are 0
+ +

Definition at line 53 of file gcd_of_n_numbers.cpp.

53 {
54 // Use std::all_of to simplify zero-checking
-
55 return std::all_of(a.begin(), a.end(), [](int x) { return x == 0; });
+
55 return std::all_of(a.begin(), a.end(), [](int x) { return x == 0; });
56}
-
T all_of(T... args)
-
-Here is the call graph for this function:
-
-
-
- +
@@ -203,12 +220,12 @@ Here is the call graph for this function:
-template<std::size_t n>
+template<std::size_t n>
- +
int math::gcd_of_n_numbers::gcd (const std::array< int, n > & a)const std::array< int, n > & a)
@@ -222,6 +239,8 @@ template<
Returns
GCD of the numbers in the array or std::nullopt if undefined
+ +

Definition at line 64 of file gcd_of_n_numbers.cpp.

64 {
65 // GCD is undefined if all elements in the array are 0
66 if (check_all_zeros(a)) {
@@ -230,7 +249,7 @@ template< 69
70 // divisors can be negative, we only want the positive value
71 int result = std::abs(a[0]);
-
72 for (std::size_t i = 1; i < n; ++i) {
+
72 for (std::size_t i = 1; i < n; ++i) {
73 result = gcd_two(result, std::abs(a[i]));
74 if (result == 1) {
75 break; // Further computations still result in gcd of 1
@@ -238,16 +257,10 @@ template< 77 }
79}
-
uint64_t result(uint64_t n)
Definition fibonacci_sum.cpp:77
-
int gcd_two(int x, int y)
Function to compute GCD of 2 numbers x and y.
Definition gcd_of_n_numbers.cpp:35
-
bool check_all_zeros(const std::array< int, n > &a)
Function to check if all elements in the array are 0.
Definition gcd_of_n_numbers.cpp:53
- -
-Here is the call graph for this function:
-
-
-
- +
uint64_t result(uint64_t n)
+
int gcd_two(int x, int y)
Function to compute GCD of 2 numbers x and y.
+
bool check_all_zeros(const std::array< int, n > &a)
Function to check if all elements in the array are 0.
+ @@ -278,6 +291,8 @@ Here is the call graph for this function:
Returns
GCD of x and y via recursion
+ +

Definition at line 35 of file gcd_of_n_numbers.cpp.

35 {
36 // base cases
37 if (y == 0) {
@@ -288,12 +303,7 @@ Here is the call graph for this function:
42 }
43 return gcd_two(y, x % y); // Euclidean method
44}
-
-Here is the call graph for this function:
-
-
-
- + @@ -313,17 +323,14 @@ Here is the call graph for this function:

Main function.

Returns
0 on exit
+ +

Definition at line 111 of file gcd_of_n_numbers.cpp.

111 {
112 test(); // run self-test implementation
113 return 0;
114}
-
static void test()
Self-test implementation.
Definition gcd_of_n_numbers.cpp:87
-
-Here is the call graph for this function:
-
-
-
- +
static void test()
Self-test implementation.
+ @@ -351,15 +358,17 @@ Here is the call graph for this function:

Self-test implementation.

Returns
void
+ +

Definition at line 87 of file gcd_of_n_numbers.cpp.

87 {
-
88 std::array<int, 1> array_1 = {0};
-
89 std::array<int, 1> array_2 = {1};
-
90 std::array<int, 2> array_3 = {0, 2};
-
91 std::array<int, 3> array_4 = {-60, 24, 18};
-
92 std::array<int, 4> array_5 = {100, -100, -100, 200};
-
93 std::array<int, 5> array_6 = {0, 0, 0, 0, 0};
-
94 std::array<int, 7> array_7 = {10350, -24150, 0, 17250, 37950, -127650, 51750};
-
95 std::array<int, 7> array_8 = {9500000, -12121200, 0, 4444, 0, 0, 123456789};
+
88 std::array<int, 1> array_1 = {0};
+
89 std::array<int, 1> array_2 = {1};
+
90 std::array<int, 2> array_3 = {0, 2};
+
91 std::array<int, 3> array_4 = {-60, 24, 18};
+
92 std::array<int, 4> array_5 = {100, -100, -100, 200};
+
93 std::array<int, 5> array_6 = {0, 0, 0, 0, 0};
+
94 std::array<int, 7> array_7 = {10350, -24150, 0, 17250, 37950, -127650, 51750};
+
95 std::array<int, 7> array_8 = {9500000, -12121200, 0, 4444, 0, 0, 123456789};
96
97 assert(math::gcd_of_n_numbers::gcd(array_1) == -1);
98 assert(math::gcd_of_n_numbers::gcd(array_2) == 1);
@@ -370,7 +379,6 @@ Here is the call graph for this function:
103 assert(math::gcd_of_n_numbers::gcd(array_7) == 3450);
104 assert(math::gcd_of_n_numbers::gcd(array_8) == 1);
105}
- diff --git a/d1/d11/gcd__of__n__numbers_8cpp_a1161713c662a14c2d5e33504f4324532_cgraph.map b/d1/d11/gcd__of__n__numbers_8cpp_a1161713c662a14c2d5e33504f4324532_cgraph.map deleted file mode 100644 index 40848346e..000000000 --- a/d1/d11/gcd__of__n__numbers_8cpp_a1161713c662a14c2d5e33504f4324532_cgraph.map +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - diff --git a/d1/d11/gcd__of__n__numbers_8cpp_a1161713c662a14c2d5e33504f4324532_cgraph.md5 b/d1/d11/gcd__of__n__numbers_8cpp_a1161713c662a14c2d5e33504f4324532_cgraph.md5 deleted file mode 100644 index cc9bd2735..000000000 --- a/d1/d11/gcd__of__n__numbers_8cpp_a1161713c662a14c2d5e33504f4324532_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -e454534349e06eb6e0e4fdb784b4affd \ No newline at end of file diff --git a/d1/d11/gcd__of__n__numbers_8cpp_a1161713c662a14c2d5e33504f4324532_cgraph.svg b/d1/d11/gcd__of__n__numbers_8cpp_a1161713c662a14c2d5e33504f4324532_cgraph.svg deleted file mode 100644 index f363334aa..000000000 --- a/d1/d11/gcd__of__n__numbers_8cpp_a1161713c662a14c2d5e33504f4324532_cgraph.svg +++ /dev/null @@ -1,139 +0,0 @@ - - - - - - - - - - - - -math::gcd_of_n_numbers::gcd - - -Node1 - - -math::gcd_of_n_numbers::gcd - - - - - -Node2 - - -math::gcd_of_n_numbers -::check_all_zeros - - - - - -Node1->Node2 - - - - - - - - -Node4 - - -gcd - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -math::gcd_of_n_numbers -::gcd_two - - - - - -Node1->Node5 - - - - - - - - -Node2->Node2 - - - - - - - - -Node3 - - -std::all_of - - - - - -Node2->Node3 - - - - - - - - -Node5->Node5 - - - - - - - - - - - - - diff --git a/d1/d11/gcd__of__n__numbers_8cpp_a1161713c662a14c2d5e33504f4324532_cgraph_org.svg b/d1/d11/gcd__of__n__numbers_8cpp_a1161713c662a14c2d5e33504f4324532_cgraph_org.svg deleted file mode 100644 index 0471e3581..000000000 --- a/d1/d11/gcd__of__n__numbers_8cpp_a1161713c662a14c2d5e33504f4324532_cgraph_org.svg +++ /dev/null @@ -1,113 +0,0 @@ - - - - - - -math::gcd_of_n_numbers::gcd - - -Node1 - - -math::gcd_of_n_numbers::gcd - - - - - -Node2 - - -math::gcd_of_n_numbers -::check_all_zeros - - - - - -Node1->Node2 - - - - - - - - -Node4 - - -gcd - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -math::gcd_of_n_numbers -::gcd_two - - - - - -Node1->Node5 - - - - - - - - -Node2->Node2 - - - - - - - - -Node3 - - -std::all_of - - - - - -Node2->Node3 - - - - - - - - -Node5->Node5 - - - - - - - - diff --git a/d1/d11/gcd__of__n__numbers_8cpp_a509a35e11ed1e17a9e00dd56320a4181_cgraph.map b/d1/d11/gcd__of__n__numbers_8cpp_a509a35e11ed1e17a9e00dd56320a4181_cgraph.map deleted file mode 100644 index 09a120fda..000000000 --- a/d1/d11/gcd__of__n__numbers_8cpp_a509a35e11ed1e17a9e00dd56320a4181_cgraph.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/d1/d11/gcd__of__n__numbers_8cpp_a509a35e11ed1e17a9e00dd56320a4181_cgraph.md5 b/d1/d11/gcd__of__n__numbers_8cpp_a509a35e11ed1e17a9e00dd56320a4181_cgraph.md5 deleted file mode 100644 index 48c251a1f..000000000 --- a/d1/d11/gcd__of__n__numbers_8cpp_a509a35e11ed1e17a9e00dd56320a4181_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -cba8ff70dc5185b7faf5895b4158a1de \ No newline at end of file diff --git a/d1/d11/gcd__of__n__numbers_8cpp_a509a35e11ed1e17a9e00dd56320a4181_cgraph.svg b/d1/d11/gcd__of__n__numbers_8cpp_a509a35e11ed1e17a9e00dd56320a4181_cgraph.svg deleted file mode 100644 index 961f758d5..000000000 --- a/d1/d11/gcd__of__n__numbers_8cpp_a509a35e11ed1e17a9e00dd56320a4181_cgraph.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - - - - - - - -math::gcd_of_n_numbers::gcd_two - - -Node1 - - -math::gcd_of_n_numbers -::gcd_two - - - - - -Node1->Node1 - - - - - - - - - - - - - diff --git a/d1/d11/gcd__of__n__numbers_8cpp_a509a35e11ed1e17a9e00dd56320a4181_cgraph_org.svg b/d1/d11/gcd__of__n__numbers_8cpp_a509a35e11ed1e17a9e00dd56320a4181_cgraph_org.svg deleted file mode 100644 index 3a4c20776..000000000 --- a/d1/d11/gcd__of__n__numbers_8cpp_a509a35e11ed1e17a9e00dd56320a4181_cgraph_org.svg +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - -math::gcd_of_n_numbers::gcd_two - - -Node1 - - -math::gcd_of_n_numbers -::gcd_two - - - - - -Node1->Node1 - - - - - - - - diff --git a/d1/d11/gcd__of__n__numbers_8cpp_a71b9357c7a722f8208499d9ba573297a_cgraph.map b/d1/d11/gcd__of__n__numbers_8cpp_a71b9357c7a722f8208499d9ba573297a_cgraph.map deleted file mode 100644 index 83d873b0c..000000000 --- a/d1/d11/gcd__of__n__numbers_8cpp_a71b9357c7a722f8208499d9ba573297a_cgraph.map +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/d1/d11/gcd__of__n__numbers_8cpp_a71b9357c7a722f8208499d9ba573297a_cgraph.md5 b/d1/d11/gcd__of__n__numbers_8cpp_a71b9357c7a722f8208499d9ba573297a_cgraph.md5 deleted file mode 100644 index c75b9fa5e..000000000 --- a/d1/d11/gcd__of__n__numbers_8cpp_a71b9357c7a722f8208499d9ba573297a_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -390c2e580c1cd1e67189e4c5eb8d042a \ No newline at end of file diff --git a/d1/d11/gcd__of__n__numbers_8cpp_a71b9357c7a722f8208499d9ba573297a_cgraph.svg b/d1/d11/gcd__of__n__numbers_8cpp_a71b9357c7a722f8208499d9ba573297a_cgraph.svg deleted file mode 100644 index ad135262c..000000000 --- a/d1/d11/gcd__of__n__numbers_8cpp_a71b9357c7a722f8208499d9ba573297a_cgraph.svg +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - - - - - - - -math::gcd_of_n_numbers::check_all_zeros - - -Node1 - - -math::gcd_of_n_numbers -::check_all_zeros - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::all_of - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d1/d11/gcd__of__n__numbers_8cpp_a71b9357c7a722f8208499d9ba573297a_cgraph_org.svg b/d1/d11/gcd__of__n__numbers_8cpp_a71b9357c7a722f8208499d9ba573297a_cgraph_org.svg deleted file mode 100644 index 51acb214a..000000000 --- a/d1/d11/gcd__of__n__numbers_8cpp_a71b9357c7a722f8208499d9ba573297a_cgraph_org.svg +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - -math::gcd_of_n_numbers::check_all_zeros - - -Node1 - - -math::gcd_of_n_numbers -::check_all_zeros - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::all_of - - - - - -Node1->Node2 - - - - - - - - diff --git a/d1/d11/gcd__of__n__numbers_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d1/d11/gcd__of__n__numbers_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 91d45385f..000000000 --- a/d1/d11/gcd__of__n__numbers_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d1/d11/gcd__of__n__numbers_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d1/d11/gcd__of__n__numbers_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index fbe70326c..000000000 --- a/d1/d11/gcd__of__n__numbers_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -c6e7f6d13bdecb1abd6b393342788302 \ No newline at end of file diff --git a/d1/d11/gcd__of__n__numbers_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d1/d11/gcd__of__n__numbers_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index f5bb0c19e..000000000 --- a/d1/d11/gcd__of__n__numbers_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d1/d11/gcd__of__n__numbers_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d1/d11/gcd__of__n__numbers_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 6bcb3b7f5..000000000 --- a/d1/d11/gcd__of__n__numbers_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - diff --git a/d1/d11/gcd__of__n__numbers_8cpp_source.html b/d1/d11/gcd__of__n__numbers_8cpp_source.html new file mode 100644 index 000000000..ac552ca52 --- /dev/null +++ b/d1/d11/gcd__of__n__numbers_8cpp_source.html @@ -0,0 +1,223 @@ + + + + + + + + +TheAlgorithms/C++: math/gcd_of_n_numbers.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
TheAlgorithms/C++ 1.0.0 +
+
All the algorithms implemented in C++
+
+
+ + + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
gcd_of_n_numbers.cpp
+
+
+Go to the documentation of this file.
1
+
14#include <algorithm>
+
15#include <array>
+
16#include <cassert>
+
17#include <iostream>
+
18
+
23namespace math {
+
28namespace gcd_of_n_numbers {
+
+
35int gcd_two(int x, int y) {
+
36 // base cases
+
37 if (y == 0) {
+
38 return x;
+
39 }
+
40 if (x == 0) {
+
41 return y;
+
42 }
+
43 return gcd_two(y, x % y); // Euclidean method
+
44}
+
+
45
+
52template <std::size_t n>
+
+
53bool check_all_zeros(const std::array<int, n> &a) {
+
54 // Use std::all_of to simplify zero-checking
+
55 return std::all_of(a.begin(), a.end(), [](int x) { return x == 0; });
+
56}
+
+
57
+
63template <std::size_t n>
+
+
64int gcd(const std::array<int, n> &a) {
+
65 // GCD is undefined if all elements in the array are 0
+
66 if (check_all_zeros(a)) {
+
67 return -1; // Use std::optional to represent undefined GCD
+
68 }
+
69
+
70 // divisors can be negative, we only want the positive value
+
71 int result = std::abs(a[0]);
+
72 for (std::size_t i = 1; i < n; ++i) {
+
73 result = gcd_two(result, std::abs(a[i]));
+
74 if (result == 1) {
+
75 break; // Further computations still result in gcd of 1
+
76 }
+
77 }
+
78 return result;
+
79}
+
+
80} // namespace gcd_of_n_numbers
+
81} // namespace math
+
82
+
+
87static void test() {
+
88 std::array<int, 1> array_1 = {0};
+
89 std::array<int, 1> array_2 = {1};
+
90 std::array<int, 2> array_3 = {0, 2};
+
91 std::array<int, 3> array_4 = {-60, 24, 18};
+
92 std::array<int, 4> array_5 = {100, -100, -100, 200};
+
93 std::array<int, 5> array_6 = {0, 0, 0, 0, 0};
+
94 std::array<int, 7> array_7 = {10350, -24150, 0, 17250, 37950, -127650, 51750};
+
95 std::array<int, 7> array_8 = {9500000, -12121200, 0, 4444, 0, 0, 123456789};
+
96
+
97 assert(math::gcd_of_n_numbers::gcd(array_1) == -1);
+
98 assert(math::gcd_of_n_numbers::gcd(array_2) == 1);
+
99 assert(math::gcd_of_n_numbers::gcd(array_3) == 2);
+
100 assert(math::gcd_of_n_numbers::gcd(array_4) == 6);
+
101 assert(math::gcd_of_n_numbers::gcd(array_5) == 100);
+
102 assert(math::gcd_of_n_numbers::gcd(array_6) == -1);
+
103 assert(math::gcd_of_n_numbers::gcd(array_7) == 3450);
+
104 assert(math::gcd_of_n_numbers::gcd(array_8) == 1);
+
105}
+
+
106
+
+
111int main() {
+
112 test(); // run self-test implementation
+
113 return 0;
+
114}
+
+
int gcd(int num1, int num2)
+
int gcd_two(int x, int y)
Function to compute GCD of 2 numbers x and y.
+
bool check_all_zeros(const std::array< int, n > &a)
Function to check if all elements in the array are 0.
+
static void test()
Self-test implementation.
+
int main()
Main function.
+
Compute GCD of numbers in an array.
+
for assert
+
+
+ + + + diff --git a/d1/d12/tree_8cpp_source.html b/d1/d12/tree_8cpp_source.html new file mode 100644 index 000000000..26581468a --- /dev/null +++ b/d1/d12/tree_8cpp_source.html @@ -0,0 +1,259 @@ + + + + + + + + +TheAlgorithms/C++: data_structures/tree.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
TheAlgorithms/C++ 1.0.0 +
+
All the algorithms implemented in C++
+
+
+ + + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
tree.cpp
+
+
+
1#include <iostream>
+
2#include <list>
+
3using namespace std;
+
4
+
5struct node {
+
6 int val;
+
7 node *left;
+
8 node *right;
+
9};
+
10
+
11void CreateTree(node *curr, node *n, int x, char pos) {
+
12 if (n != NULL) {
+
13 char ch;
+
14 cout << "\nLeft or Right of " << n->val << " : ";
+
15 cin >> ch;
+
16 if (ch == 'l')
+
17 CreateTree(n, n->left, x, ch);
+
18 else if (ch == 'r')
+
19 CreateTree(n, n->right, x, ch);
+
20 } else {
+
21 node *t = new node;
+
22 t->val = x;
+
23 t->left = NULL;
+
24 t->right = NULL;
+
25 if (pos == 'l') {
+
26 curr->left = t;
+
27 } else if (pos == 'r') {
+
28 curr->right = t;
+
29 }
+
30 }
+
31}
+
32
+
33void BFT(node *n) {
+
34 list<node *> queue;
+
35
+
36 queue.push_back(n);
+
37
+
38 while (!queue.empty()) {
+
39 n = queue.front();
+
40 cout << n->val << " ";
+
41 queue.pop_front();
+
42
+
43 if (n->left != NULL)
+
44 queue.push_back(n->left);
+
45 if (n->right != NULL)
+
46 queue.push_back(n->right);
+
47 }
+
48}
+
49
+
50void Pre(node *n) {
+
51 if (n != NULL) {
+
52 cout << n->val << " ";
+
53 Pre(n->left);
+
54 Pre(n->right);
+
55 }
+
56}
+
57
+
58void In(node *n) {
+
59 if (n != NULL) {
+
60 In(n->left);
+
61 cout << n->val << " ";
+
62 In(n->right);
+
63 }
+
64}
+
65
+
66void Post(node *n) {
+
67 if (n != NULL) {
+
68 Post(n->left);
+
69 Post(n->right);
+
70 cout << n->val << " ";
+
71 }
+
72}
+
73
+
74int main() {
+
75 int value;
+
76 int ch;
+
77 node *root = new node;
+
78 cout << "\nEnter the value of root node :";
+
79 cin >> value;
+
80 root->val = value;
+
81 root->left = NULL;
+
82 root->right = NULL;
+
83 do {
+
84 cout << "\n1. Insert";
+
85 cout << "\n2. Breadth First";
+
86 cout << "\n3. Preorder Depth First";
+
87 cout << "\n4. Inorder Depth First";
+
88 cout << "\n5. Postorder Depth First";
+
89
+
90 cout << "\nEnter Your Choice : ";
+
91 cin >> ch;
+
92 switch (ch) {
+
93 case 1:
+
94 int x;
+
95 char pos;
+
96 cout << "\nEnter the value to be Inserted : ";
+
97 cin >> x;
+
98 cout << "\nLeft or Right of Root : ";
+
99 cin >> pos;
+
100 if (pos == 'l')
+
101 CreateTree(root, root->left, x, pos);
+
102 else if (pos == 'r')
+
103 CreateTree(root, root->right, x, pos);
+
104 break;
+
105 case 2:
+
106 BFT(root);
+
107 break;
+
108 case 3:
+
109 Pre(root);
+
110 break;
+
111 case 4:
+
112 In(root);
+
113 break;
+
114 case 5:
+
115 Post(root);
+
116 break;
+
117 }
+
118 } while (ch != 0);
+
119}
+
struct node { int data; int height; struct node *left; struct node *right;} node
for std::queue
Definition avltree.cpp:13
+
int main()
Main function.
+ +
+
+ + + + diff --git a/d1/d15/classdata__structures_1_1linked__list_1_1list__coll__graph.map b/d1/d15/classdata__structures_1_1linked__list_1_1list__coll__graph.map index 24d6af31d..cc8f995f8 100644 --- a/d1/d15/classdata__structures_1_1linked__list_1_1list__coll__graph.map +++ b/d1/d15/classdata__structures_1_1linked__list_1_1list__coll__graph.map @@ -1,6 +1,6 @@ - + diff --git a/d1/d15/classdata__structures_1_1linked__list_1_1list__coll__graph.md5 b/d1/d15/classdata__structures_1_1linked__list_1_1list__coll__graph.md5 index 54bff9c2a..1f4cfa6a7 100644 --- a/d1/d15/classdata__structures_1_1linked__list_1_1list__coll__graph.md5 +++ b/d1/d15/classdata__structures_1_1linked__list_1_1list__coll__graph.md5 @@ -1 +1 @@ -128effd11a49ab28934b9dd590c0e24a \ No newline at end of file +cca7b544b540dc73d15c503e2e631eff \ No newline at end of file diff --git a/d1/d15/classdata__structures_1_1linked__list_1_1list__coll__graph.svg b/d1/d15/classdata__structures_1_1linked__list_1_1list__coll__graph.svg index 3e4e1c396..225990541 100644 --- a/d1/d15/classdata__structures_1_1linked__list_1_1list__coll__graph.svg +++ b/d1/d15/classdata__structures_1_1linked__list_1_1list__coll__graph.svg @@ -32,7 +32,7 @@ Node2 - + std::shared_ptr< data _structures::linked_list diff --git a/d1/d15/classdata__structures_1_1linked__list_1_1list__coll__graph_org.svg b/d1/d15/classdata__structures_1_1linked__list_1_1list__coll__graph_org.svg index ca3be96fb..bd1524235 100644 --- a/d1/d15/classdata__structures_1_1linked__list_1_1list__coll__graph_org.svg +++ b/d1/d15/classdata__structures_1_1linked__list_1_1list__coll__graph_org.svg @@ -21,7 +21,7 @@ Node2 - + std::shared_ptr< data _structures::linked_list diff --git a/d1/d1b/topological__sort__by__kahns__algo_8cpp_source.html b/d1/d1b/topological__sort__by__kahns__algo_8cpp_source.html new file mode 100644 index 000000000..6f597b867 --- /dev/null +++ b/d1/d1b/topological__sort__by__kahns__algo_8cpp_source.html @@ -0,0 +1,207 @@ + + + + + + + + +TheAlgorithms/C++: graph/topological_sort_by_kahns_algo.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
TheAlgorithms/C++ 1.0.0 +
+
All the algorithms implemented in C++
+
+
+ + + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
topological_sort_by_kahns_algo.cpp
+
+
+
1#include <cstdio>
+
2#include <cstring>
+
3#include <iostream>
+
4#include <queue>
+
5#include <vector>
+
6
+
7std::vector<int> topoSortKahn(int N, const std::vector<std::vector<int> > &adj);
+
8
+
9int main() {
+
10 int nodes = 0, edges = 0;
+
11 std::cin >> edges >> nodes;
+
12 if (edges == 0 || nodes == 0) {
+
13 return 0;
+
14 }
+
15 int u = 0, v = 0;
+
16
+
17 std::vector<std::vector<int> > graph(nodes);
+
18 // create graph
+
19 // example
+
20 // 6 6
+
21 // 5 0 5 2 2 3 4 0 4 1 1 3
+
22
+
23 for (int i = 0; i < edges; i++) {
+
24 std::cin >> u >> v;
+
25 graph[u].push_back(v);
+
26 }
+
27
+
28 std::vector<int> topo = topoSortKahn(nodes, graph);
+
29 // topologically sorted nodes
+
30 for (int i = 0; i < nodes; i++) {
+
31 std::cout << topo[i] << " ";
+
32 }
+
33}
+
34
+
35std::vector<int> topoSortKahn(int V,
+
36 const std::vector<std::vector<int> > &adj) {
+
37 std::vector<bool> vis(V + 1, false);
+
38 std::vector<int> deg(V + 1, 0);
+
39 for (int i = 0; i < V; i++) {
+
40 for (int j : adj[i]) {
+
41 deg[j]++;
+
42 }
+
43 }
+
44 std::queue<int> q;
+
45 for (int i = 0; i < V; i++) {
+
46 if (deg[i] == 0) {
+
47 q.push(i);
+
48 vis[i] = true;
+
49 }
+
50 }
+
51 std::vector<int> arr(V + 1, 0);
+
52 int count = 0;
+
53 while (!q.empty()) {
+
54 int cur = q.front();
+
55 q.pop();
+
56 arr[count++] = cur;
+
57 for (int i : adj[cur]) {
+
58 if (!vis[i]) {
+
59 deg[i]--;
+
60 if (deg[i] == 0) {
+
61 q.push(i);
+
62 vis[i] = true;
+
63 }
+
64 }
+
65 }
+
66 }
+
67 return arr;
+
68}
+
int main()
Main function.
+
Graph Algorithms.
+
+
+ + + + diff --git a/d1/d1c/base64__encoding_8cpp_source.html b/d1/d1c/base64__encoding_8cpp_source.html new file mode 100644 index 000000000..2489bc869 --- /dev/null +++ b/d1/d1c/base64__encoding_8cpp_source.html @@ -0,0 +1,289 @@ + + + + + + + + +TheAlgorithms/C++: ciphers/base64_encoding.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
TheAlgorithms/C++ 1.0.0 +
+
All the algorithms implemented in C++
+
+
+ + + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
base64_encoding.cpp
+
+
+
1
+
14#include <array>
+
15#include <cassert>
+
16#include <cstdint>
+
17#include <iostream>
+
18
+
23namespace ciphers {
+
29namespace base64_encoding {
+
30// chars denoting the format for encoding and decoding array.
+
31// This array is already decided by
+
32// [RFC4648](https://tools.ietf.org/html/rfc4648#section-4) standard
+
33const std::string chars =
+
34 "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
+
41std::string base64_encode(const std::string &input) {
+
42 std::string base64_string;
+
43 // base64 deals with 6-bit chars encoded as per chars, so
+
44 // we will always filter 6-bits from input.
+
45 for (uint32_t i = 0; i < input.size(); i += 3) {
+
46 char first_byte = input[i];
+
47 // Take first six bits of first character.
+
48 // Encode the first six bits with character defined in string `chars`
+
49 base64_string.push_back(chars[first_byte >> 2]);
+
50
+
51 if (i + 1 < input.size()) {
+
52 char second_byte = input[i + 1];
+
53 // Take remaining two bits of first character, and four first bits
+
54 // from second character Combine two numbers as 6-bit digits and
+
55 // encode by array chars (first two bits of first byte and next four
+
56 // of second byte)
+
57 base64_string.push_back(
+
58 chars[(((first_byte & 3) << 4) | ((second_byte & 0xF0) >> 4))]);
+
59
+
60 if (i + 2 < input.size()) {
+
61 char third_byte = input[i + 2];
+
62 // Take remaining four bits of second character, and first two
+
63 // bits from third character Combine two numbers as 6-bit digits
+
64 // and encode by array chars (remaining four bits of second byte
+
65 // and first two of third byte)
+
66 base64_string.push_back(chars[((third_byte & 0xC0) >> 6) |
+
67 ((second_byte & 0x0F) << 2)]);
+
68 // Encode remaining 6-bit of third byte by array chars
+
69 base64_string.push_back(chars[(third_byte & 0x3F)]);
+
70 } else {
+
71 // Take remaining four bits of second character as 6-bit number
+
72 base64_string.push_back(chars[((second_byte & 0x0F) << 2)]);
+
73 base64_string.push_back('='); // padding characters
+
74 }
+
75 } else {
+
76 // Take remaining two bits of first character as 6-bit number
+
77 base64_string.push_back(chars[((first_byte & 3) << 4)]);
+
78 base64_string.push_back('='); // padding characters
+
79 base64_string.push_back('='); // padding characters
+
80 }
+
81 }
+
82 return base64_string;
+
83}
+
91uint8_t find_idx(const char c) {
+
92 if (c >= 'A' && c <= 'Z') {
+
93 return c - 'A';
+
94 } else if (c >= 'a' && c <= 'z') {
+
95 return c - 'a' + 26;
+
96 } else if (c >= '0' && c <= '9') {
+
97 return c - '0' + 52;
+
98 } else if (c == '+') {
+
99 return 62;
+
100 } else if (c == '/') {
+
101 return 63;
+
102 }
+
103 return -1;
+
104}
+
111std::string base64_decode(const std::string &base64_str) {
+
112 std::string
+
113 base64_decoded;
+
114 for (uint32_t i = 0; i < base64_str.size(); i += 4) {
+
116 char first_byte = base64_str[i];
+
118 char second_byte = base64_str[i + 1];
+
119 // Actual str characters are of 8 bits (or 1 byte):
+
120 // :: 8 bits are decode by taking 6 bits from 1st byte of base64 string
+
121 // and first 2 bits from 2nd byte of base64 string.
+
122 char first_actual_byte = static_cast<char>(
+
123 (find_idx(first_byte) << 2) | ((find_idx(second_byte)) >> 4));
+
124 base64_decoded.push_back(first_actual_byte);
+
125 if (i + 2 < base64_str.size() && base64_str[i + 2] != '=') {
+
127 char third_byte = base64_str[i + 2];
+
128 // :: Next 8 bits are decode by taking remaining 4 bits from 2nd
+
129 // byte of base64 string and first 4 bits from 3rd byte of base64
+
130 // string.
+
131 char second_actual_byte =
+
132 static_cast<char>(((find_idx(second_byte) & 0x0F) << 4) |
+
133 (find_idx(third_byte) >> 2));
+
134 base64_decoded.push_back(second_actual_byte);
+
135
+
136 if (i + 3 < base64_str.size() && base64_str[i + 3] != '=') {
+
138 char fourth_byte = base64_str[i + 3];
+
139 // :: Taking remaining 2 bits from 3rd byte of base64 string
+
140 // and all 6 bits from 4th byte of base64 string.
+
141 char third_actual_byte =
+
142 static_cast<char>(((find_idx(third_byte) & 0x03) << 6) |
+
143 find_idx(fourth_byte));
+
144 base64_decoded.push_back(third_actual_byte);
+
145 }
+
146 }
+
147 }
+
148 return base64_decoded;
+
149}
+
150} // namespace base64_encoding
+
151} // namespace ciphers
+
152
+
157static void test() {
+
158 // 1st Test
+
159 std::string str =
+
160 "To err is human, but to really foul things up you need a computer.";
+
161 std::string base64_str = ciphers::base64_encoding::base64_encode(str);
+
162 std::string verify =
+
163 "VG8gZXJyIGlzIGh1bWFuLCBidXQgdG8gcmVhbGx5IGZvdWwgdGhpbmdzIHVwIHlvdSBuZW"
+
164 "VkIGEgY29tcHV0ZXIu";
+
165 // verify encoding
+
166 assert(base64_str == verify);
+
167 std::string original_str =
+
168 ciphers::base64_encoding::base64_decode(base64_str);
+
169 // verify decoding
+
170 assert(original_str == str);
+
171
+
172 // 2nd Test from [Wikipedia](https://en.wikipedia.org/wiki/Base64)
+
173 str =
+
174 "Man is distinguished, not only by his reason, but by this singular "
+
175 "passion from other animals, which is a lust of the mind, that by a "
+
176 "perseverance of delight in the continued and indefatigable generation "
+
177 "of knowledge, exceeds the short vehemence of any carnal pleasure.";
+
178
+
179 base64_str = ciphers::base64_encoding::base64_encode(str);
+
180 verify =
+
181 "TWFuIGlzIGRpc3Rpbmd1aXNoZWQsIG5vdCBvbmx5IGJ5IGhpcyByZWFzb24sIGJ1dCBieS"
+
182 "B0aGlzIHNpbmd1bGFyIHBhc3Npb24gZnJvbSBvdGhlciBhbmltYWxzLCB3aGljaCBpcyBh"
+
183 "IGx1c3Qgb2YgdGhlIG1pbmQsIHRoYXQgYnkgYSBwZXJzZXZlcmFuY2Ugb2YgZGVsaWdodC"
+
184 "BpbiB0aGUgY29udGludWVkIGFuZCBpbmRlZmF0aWdhYmxlIGdlbmVyYXRpb24gb2Yga25v"
+
185 "d2xlZGdlLCBleGNlZWRzIHRoZSBzaG9ydCB2ZWhlbWVuY2Ugb2YgYW55IGNhcm5hbCBwbG"
+
186 "Vhc3VyZS4=";
+
187 // verify encoding
+
188 assert(base64_str == verify);
+
189 original_str = ciphers::base64_encoding::base64_decode(base64_str);
+
190 // verify decoding
+
191 assert(original_str == str);
+
192}
+
193
+
198int main() {
+
199 test(); // run self-test implementations
+
200 return 0;
+
201}
+
int main()
Main function.
+
Functions for Base64 Encoding and Decoding implementation.
+
Algorithms for encryption and decryption.
+
+
+ + + + diff --git a/d1/d1d/class_graph-members.html b/d1/d1d/class_graph-members.html index 3f24de465..3324ca027 100644 --- a/d1/d1d/class_graph-members.html +++ b/d1/d1d/class_graph-members.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Member List +TheAlgorithms/C++: Member List + + + @@ -18,14 +24,24 @@ - - + +
@@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/d1/d1e/classoperations__on__datastructures_1_1trie__operations_1_1_tnode-members.html b/d1/d1e/classoperations__on__datastructures_1_1trie__operations_1_1_tnode-members.html index 303a5355f..e88bce5f3 100644 --- a/d1/d1e/classoperations__on__datastructures_1_1trie__operations_1_1_tnode-members.html +++ b/d1/d1e/classoperations__on__datastructures_1_1trie__operations_1_1_tnode-members.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Member List +TheAlgorithms/C++: Member List + + + @@ -18,14 +24,24 @@ - - + +
@@ -33,10 +49,11 @@ MathJax.Hub.Config({
-
Algorithms_in_C++ 1.0.0 +
TheAlgorithms/C++ 1.0.0
-
Set of algorithms implemented in C++.
+
All the algorithms implemented in C++
+ diff --git a/d1/d21/quick__sort_8cpp.html b/d1/d21/quick__sort_8cpp.html index d9498c525..ceac6e54a 100644 --- a/d1/d21/quick__sort_8cpp.html +++ b/d1/d21/quick__sort_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: sorting/quick_sort.cpp File Reference +TheAlgorithms/C++: sorting/quick_sort.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
@@ -33,10 +49,11 @@ MathJax.Hub.Config({
-
Algorithms_in_C++ 1.0.0 +
TheAlgorithms/C++ 1.0.0
-
Set of algorithms implemented in C++.
+
All the algorithms implemented in C++
+ @@ -124,7 +141,9 @@ Include dependency graph for quick_sort.cpp:
-
-
Algorithms_in_C++ 1.0.0 +
TheAlgorithms/C++ 1.0.0
-
Set of algorithms implemented in C++.
+
All the algorithms implemented in C++
+ +

Go to the source code of this file.

+
@@ -137,19 +156,19 @@ Namespaces - + - + - + - + @@ -174,6 +193,8 @@ Functions
Author
David Leal
popoapp
+ +

Definition in file quick_sort.cpp.

Function Documentation

◆ main()

@@ -192,58 +213,50 @@ Functions

Main function.

Returns
0 on exit
+ +

Definition at line 202 of file quick_sort.cpp.

202 {
203 int choice = 0;
204
-
205 std::cout << "\tAvailable modes\t\n\n";
-
206 std::cout << "1. Self-tests mode\n2. Interactive mode";
+
205 std::cout << "\tAvailable modes\t\n\n";
+
206 std::cout << "1. Self-tests mode\n2. Interactive mode";
207
-
208 std::cout << "\nChoose a mode: ";
-
209 std::cin >> choice;
-
210 std::cout << "\n";
+
208 std::cout << "\nChoose a mode: ";
+
209 std::cin >> choice;
+
210 std::cout << "\n";
211
212 while ((choice != 1) && (choice != 2)) {
-
213 std::cout << "Invalid option. Choose between the valid modes: ";
-
214 std::cin >> choice;
+
213 std::cout << "Invalid option. Choose between the valid modes: ";
+
214 std::cin >> choice;
215 }
216
217 if (choice == 1) {
-
218 std::srand(std::time(nullptr));
+
218 std::srand(std::time(nullptr));
219 tests(); // run self-test implementations
220 } else if (choice == 2) {
221 int size = 0;
-
222 std::cout << "\nEnter the number of elements: ";
+
222 std::cout << "\nEnter the number of elements: ";
223
-
224 std::cin >> size;
-
225 std::vector<float> arr(size);
+
224 std::cin >> size;
+
225 std::vector<float> arr(size);
226
- +
227 std::cout
228 << "\nEnter the unsorted elements (can be negative/decimal): ";
229
230 for (int i = 0; i < size; ++i) {
-
231 std::cout << "\n";
-
232 std::cin >> arr[i];
+
231 std::cout << "\n";
+
232 std::cin >> arr[i];
233 }
234 sorting::quick_sort::quick_sort(&arr, 0, size - 1);
-
235 std::cout << "\nSorted array: \n";
+
235 std::cout << "\nSorted array: \n";
236 sorting::quick_sort::show(arr, size);
237 }
238 return 0;
239}
- - -
static void tests()
Self-test implementations.
Definition quick_sort.cpp:136
-
void quick_sort(std::vector< T > *arr, const int &low, const int &high)
the main function that implements Quick Sort.
Definition quick_sort.cpp:87
-
void show(const std::vector< T > &arr, const int &size)
Utility function to print the array contents.
Definition quick_sort.cpp:124
-
T srand(T... args)
-
T time(T... args)
- -
-Here is the call graph for this function:
-
-
-
- +
static void tests()
Self-test implementations.
+
void quick_sort(std::vector< T > *arr, const int &low, const int &high)
the main function that implements Quick Sort.
+
void show(const std::vector< T > &arr, const int &size)
Utility function to print the array contents.
+ @@ -257,7 +270,7 @@ template<typename T > - + @@ -288,6 +301,8 @@ template<typename T >
Returns
index of the smaller element
+ +

Definition at line 59 of file quick_sort.cpp.

59 {
60 T pivot = (*arr)[high]; // taking the last element as pivot
61 int i = (low - 1); // Index of smaller element
@@ -297,20 +312,14 @@ template<typename T >
65 // equal to pivot
66 if ((*arr)[j] <= pivot) {
67 i++; // increment index of smaller element
-
68 std::swap((*arr)[i], (*arr)[j]);
+
68 std::swap((*arr)[i], (*arr)[j]);
69 }
70 }
71
-
72 std::swap((*arr)[i + 1], (*arr)[high]);
+
72 std::swap((*arr)[i + 1], (*arr)[high]);
73 return (i + 1);
74}
-
T swap(T... args)
-
-Here is the call graph for this function:
-
-
-
- + @@ -324,7 +333,7 @@ template<typename T > - + @@ -354,16 +363,17 @@ template<typename T >

Namespaces

namespace  sorting

Functions

template<typename T >
int sorting::quick_sort::partition (std::vector< T > *arr, const int &low, const int &high)
int sorting::quick_sort::partition (std::vector< T > *arr, const int &low, const int &high)
 Sorts the array taking the last element as pivot.
 
template<typename T >
void sorting::quick_sort::quick_sort (std::vector< T > *arr, const int &low, const int &high)
void sorting::quick_sort::quick_sort (std::vector< T > *arr, const int &low, const int &high)
 the main function that implements Quick Sort.
 
template<typename T >
std::vector< T > sorting::quick_sort::quick_sort (std::vector< T > arr, const int &low, const int &high)
std::vector< T > sorting::quick_sort::quick_sort (std::vector< T > arr, const int &low, const int &high)
 the main function that implements Quick Sort.
 
template<typename T >
void sorting::quick_sort::show (const std::vector< T > &arr, const int &size)
void sorting::quick_sort::show (const std::vector< T > &arr, const int &size)
 Utility function to print the array contents.
 
static void tests ()
int sorting::quick_sort::partition (std::vector< T > * arr, std::vector< T > * arr,
void sorting::quick_sort::quick_sort (std::vector< T > * arr, std::vector< T > * arr,
+ +

Definition at line 87 of file quick_sort.cpp.

87 {
88 if (low < high) {
-
89 int p = partition(arr, low, high);
+
89 int p = partition(arr, low, high);
90
91 quick_sort(arr, low, p - 1);
92 quick_sort(arr, p + 1, high);
93 }
94}
Functions for the Quick sort implementation in C++.
-
T partition(T... args)
@@ -376,9 +386,9 @@ template<typename T > template<typename T > - + - + @@ -408,9 +418,11 @@ template<typename T >
std::vector< T > sorting::quick_sort::quick_sort std::vector< T > sorting::quick_sort::quick_sort (std::vector< T > arr, std::vector< T > arr,
+ +

Definition at line 107 of file quick_sort.cpp.

107 {
108 if (low < high) {
-
109 int p = partition(&arr, low, high);
+
109 int p = partition(&arr, low, high);
110
111 quick_sort(&arr, low, p - 1);
112 quick_sort(&arr, p + 1, high);
@@ -431,7 +443,7 @@ template<typename T >
void sorting::quick_sort::show ( - const std::vector< T > & arr, + const std::vector< T > & arr, @@ -450,9 +462,11 @@ template<typename T >
Returns
void
+ +

Definition at line 124 of file quick_sort.cpp.

124 {
-
125 for (int i = 0; i < size; i++) std::cout << arr[i] << " ";
-
126 std::cout << "\n";
+
125 for (int i = 0; i < size; i++) std::cout << arr[i] << " ";
+
126 std::cout << "\n";
127}
@@ -482,78 +496,70 @@ template<typename T >

Self-test implementations.

Returns
void
+ +

Definition at line 136 of file quick_sort.cpp.

136 {
137 // 1st test (normal numbers)
-
138 std::vector<uint64_t> arr = {5, 3, 8, 12, 14, 16, 28, 96, 2, 5977};
- -
140 arr, 0, int(std::end(arr) - std::begin(arr)) - 1);
+
138 std::vector<uint64_t> arr = {5, 3, 8, 12, 14, 16, 28, 96, 2, 5977};
+
139 std::vector<uint64_t> arr_sorted = sorting::quick_sort::quick_sort(
+
140 arr, 0, int(std::end(arr) - std::begin(arr)) - 1);
141
-
142 assert(std::is_sorted(std::begin(arr_sorted), std::end(arr_sorted)));
-
143 std::cout << "\n1st test: passed!\n";
+
142 assert(std::is_sorted(std::begin(arr_sorted), std::end(arr_sorted)));
+
143 std::cout << "\n1st test: passed!\n";
144
145 // 2nd test (normal and negative numbers)
-
146 std::vector<int64_t> arr2 = {9, 15, 28, 96, 500, -4, -58,
+
146 std::vector<int64_t> arr2 = {9, 15, 28, 96, 500, -4, -58,
147 -977, -238, -800, -21, -53, -55};
- -
149 arr2, 0, std::end(arr2) - std::begin(arr2));
+
148 std::vector<int64_t> arr_sorted2 = sorting::quick_sort::quick_sort(
+
149 arr2, 0, std::end(arr2) - std::begin(arr2));
150
-
151 assert(std::is_sorted(std::begin(arr_sorted2), std::end(arr_sorted2)));
-
152 std::cout << "2nd test: passed!\n";
+
151 assert(std::is_sorted(std::begin(arr_sorted2), std::end(arr_sorted2)));
+
152 std::cout << "2nd test: passed!\n";
153
154 // 3rd test (decimal and normal numbers)
-
155 std::vector<double> arr3 = {29, 36, 1100, 0, 77, 1,
+
155 std::vector<double> arr3 = {29, 36, 1100, 0, 77, 1,
156 6.7, 8.97, 1.74, 950.10, -329.65};
- -
158 arr3, 0, int(std::end(arr3) - std::begin(arr3)) - 1);
+
157 std::vector<double> arr_sorted3 = sorting::quick_sort::quick_sort(
+
158 arr3, 0, int(std::end(arr3) - std::begin(arr3)) - 1);
159
-
160 assert(std::is_sorted(std::begin(arr_sorted3), std::end(arr_sorted3)));
-
161 std::cout << "3rd test: passed!\n";
+
160 assert(std::is_sorted(std::begin(arr_sorted3), std::end(arr_sorted3)));
+
161 std::cout << "3rd test: passed!\n";
162
163 // 4th test (random decimal and negative numbers)
-
164 size_t size = std::rand() % 750 + 100;
+
164 size_t size = std::rand() % 750 + 100;
165
-
166 std::vector<float> arr4(size);
+
166 std::vector<float> arr4(size);
167 for (uint64_t i = 0; i < size; i++) {
-
168 arr4[i] = static_cast<float>(std::rand()) /
+
168 arr4[i] = static_cast<float>(std::rand()) /
169 static_cast<float>(RAND_MAX / 999.99 - 0.99) -
170 250;
171 }
172
- -
174 arr4, 0, int(std::end(arr4) - std::begin(arr4)) - 1);
-
175 assert(std::is_sorted(std::begin(arr4_sorted), std::end(arr4_sorted)));
+
173 std::vector<float> arr4_sorted = sorting::quick_sort::quick_sort(
+
174 arr4, 0, int(std::end(arr4) - std::begin(arr4)) - 1);
+
175 assert(std::is_sorted(std::begin(arr4_sorted), std::end(arr4_sorted)));
176
-
177 std::cout << "4th test: passed!\n";
+
177 std::cout << "4th test: passed!\n";
178
179 // Printing all sorted arrays
-
180 std::cout << "\n\tPrinting all sorted arrays:\t\n";
+
180 std::cout << "\n\tPrinting all sorted arrays:\t\n";
181
-
182 std::cout << "1st array:\n";
-
183 sorting::quick_sort::show(arr_sorted, std::end(arr) - std::begin(arr));
- -
185 std::cout << "2nd array:\n";
-
186 sorting::quick_sort::show(arr_sorted2, std::end(arr2) - std::begin(arr2));
- -
188 std::cout << "3rd array:\n";
+
182 std::cout << "1st array:\n";
+
183 sorting::quick_sort::show(arr_sorted, std::end(arr) - std::begin(arr));
+
184 std::cout << std::endl;
+
185 std::cout << "2nd array:\n";
+
186 sorting::quick_sort::show(arr_sorted2, std::end(arr2) - std::begin(arr2));
+
187 std::cout << std::endl;
+
188 std::cout << "3rd array:\n";
189 sorting::quick_sort::show(arr_sorted3,
-
190 int(std::end(arr3) - std::begin(arr3)) - 1);
- -
192 std::cout << "Start: 4th array:\n\n";
+
190 int(std::end(arr3) - std::begin(arr3)) - 1);
+
191 std::cout << std::endl;
+
192 std::cout << "Start: 4th array:\n\n";
-
194 arr4_sorted, int(std::end(arr4_sorted) - std::begin(arr4_sorted)) - 1);
-
195 std::cout << "\nEnd: 4th array.\n";
+
194 arr4_sorted, int(std::end(arr4_sorted) - std::begin(arr4_sorted)) - 1);
+
195 std::cout << "\nEnd: 4th array.\n";
196}
-
T begin(T... args)
-
T end(T... args)
-
T endl(T... args)
-
T is_sorted(T... args)
-
T rand(T... args)
-
-Here is the call graph for this function:
-
-
-
- + diff --git a/d1/d21/quick__sort_8cpp_a1b2a2cc2d319240f3b65c5b2f479ed82_cgraph.map b/d1/d21/quick__sort_8cpp_a1b2a2cc2d319240f3b65c5b2f479ed82_cgraph.map deleted file mode 100644 index c16636a29..000000000 --- a/d1/d21/quick__sort_8cpp_a1b2a2cc2d319240f3b65c5b2f479ed82_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d1/d21/quick__sort_8cpp_a1b2a2cc2d319240f3b65c5b2f479ed82_cgraph.md5 b/d1/d21/quick__sort_8cpp_a1b2a2cc2d319240f3b65c5b2f479ed82_cgraph.md5 deleted file mode 100644 index 20fcbf862..000000000 --- a/d1/d21/quick__sort_8cpp_a1b2a2cc2d319240f3b65c5b2f479ed82_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -dc417699b503db87c136ad56498e5fc8 \ No newline at end of file diff --git a/d1/d21/quick__sort_8cpp_a1b2a2cc2d319240f3b65c5b2f479ed82_cgraph.svg b/d1/d21/quick__sort_8cpp_a1b2a2cc2d319240f3b65c5b2f479ed82_cgraph.svg deleted file mode 100644 index fbfd83e62..000000000 --- a/d1/d21/quick__sort_8cpp_a1b2a2cc2d319240f3b65c5b2f479ed82_cgraph.svg +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - - - - - - - -sorting::quick_sort::partition - - -Node1 - - -sorting::quick_sort -::partition - - - - - -Node2 - - -std::swap - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d1/d21/quick__sort_8cpp_a1b2a2cc2d319240f3b65c5b2f479ed82_cgraph_org.svg b/d1/d21/quick__sort_8cpp_a1b2a2cc2d319240f3b65c5b2f479ed82_cgraph_org.svg deleted file mode 100644 index 6cf9c12e7..000000000 --- a/d1/d21/quick__sort_8cpp_a1b2a2cc2d319240f3b65c5b2f479ed82_cgraph_org.svg +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - -sorting::quick_sort::partition - - -Node1 - - -sorting::quick_sort -::partition - - - - - -Node2 - - -std::swap - - - - - -Node1->Node2 - - - - - - - - diff --git a/d1/d21/quick__sort_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.map b/d1/d21/quick__sort_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.map deleted file mode 100644 index 8fc700554..000000000 --- a/d1/d21/quick__sort_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.map +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - diff --git a/d1/d21/quick__sort_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 b/d1/d21/quick__sort_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 deleted file mode 100644 index 4895fb04f..000000000 --- a/d1/d21/quick__sort_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -5bd82f93bd95e9e39e635e72b9f31601 \ No newline at end of file diff --git a/d1/d21/quick__sort_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.svg b/d1/d21/quick__sort_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.svg deleted file mode 100644 index 5ce6967c7..000000000 --- a/d1/d21/quick__sort_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.svg +++ /dev/null @@ -1,137 +0,0 @@ - - - - - - - - - - - - -tests - - -Node1 - - -tests - - - - - -Node2 - - -std::begin - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::end - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::endl - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::is_sorted - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -std::rand - - - - - -Node1->Node6 - - - - - - - - - - - - - diff --git a/d1/d21/quick__sort_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph_org.svg b/d1/d21/quick__sort_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph_org.svg deleted file mode 100644 index 0e26730be..000000000 --- a/d1/d21/quick__sort_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph_org.svg +++ /dev/null @@ -1,111 +0,0 @@ - - - - - - -tests - - -Node1 - - -tests - - - - - -Node2 - - -std::begin - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::end - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::endl - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::is_sorted - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -std::rand - - - - - -Node1->Node6 - - - - - - - - diff --git a/d1/d21/quick__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d1/d21/quick__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 47be37347..000000000 --- a/d1/d21/quick__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - - - - - - - - - - diff --git a/d1/d21/quick__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d1/d21/quick__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index 0ba4b796a..000000000 --- a/d1/d21/quick__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -f9e3b940f8f33ec6262a5b1d6b9b627c \ No newline at end of file diff --git a/d1/d21/quick__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d1/d21/quick__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index c663c85e6..000000000 --- a/d1/d21/quick__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,191 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -std::srand - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -tests - - - - - -Node1->Node3 - - - - - - - - -Node9 - - -std::time - - - - - -Node1->Node9 - - - - - - - - -Node4 - - -std::begin - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -std::end - - - - - -Node3->Node5 - - - - - - - - -Node6 - - -std::endl - - - - - -Node3->Node6 - - - - - - - - -Node7 - - -std::is_sorted - - - - - -Node3->Node7 - - - - - - - - -Node8 - - -std::rand - - - - - -Node3->Node8 - - - - - - - - - - - - - diff --git a/d1/d21/quick__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d1/d21/quick__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 6be23337c..000000000 --- a/d1/d21/quick__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,165 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -std::srand - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -tests - - - - - -Node1->Node3 - - - - - - - - -Node9 - - -std::time - - - - - -Node1->Node9 - - - - - - - - -Node4 - - -std::begin - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -std::end - - - - - -Node3->Node5 - - - - - - - - -Node6 - - -std::endl - - - - - -Node3->Node6 - - - - - - - - -Node7 - - -std::is_sorted - - - - - -Node3->Node7 - - - - - - - - -Node8 - - -std::rand - - - - - -Node3->Node8 - - - - - - - - diff --git a/d1/d21/quick__sort_8cpp_source.html b/d1/d21/quick__sort_8cpp_source.html new file mode 100644 index 000000000..8a933819c --- /dev/null +++ b/d1/d21/quick__sort_8cpp_source.html @@ -0,0 +1,311 @@ + + + + + + + + +TheAlgorithms/C++: sorting/quick_sort.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
TheAlgorithms/C++ 1.0.0 +
+
All the algorithms implemented in C++
+
+
+ + + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
quick_sort.cpp
+
+
+Go to the documentation of this file.
1
+
27#include <algorithm>
+
28#include <cassert>
+
29#include <cstdint>
+
30#include <ctime>
+
31#include <iostream>
+
32#include <vector>
+
33
+
38namespace sorting {
+
44namespace quick_sort {
+
58template <typename T>
+
+
59int partition(std::vector<T> *arr, const int &low, const int &high) {
+
60 T pivot = (*arr)[high]; // taking the last element as pivot
+
61 int i = (low - 1); // Index of smaller element
+
62
+
63 for (int j = low; j < high; j++) {
+
64 // If current element is smaller than or
+
65 // equal to pivot
+
66 if ((*arr)[j] <= pivot) {
+
67 i++; // increment index of smaller element
+
68 std::swap((*arr)[i], (*arr)[j]);
+
69 }
+
70 }
+
71
+
72 std::swap((*arr)[i + 1], (*arr)[high]);
+
73 return (i + 1);
+
74}
+
+
75
+
86template <typename T>
+
+
87void quick_sort(std::vector<T> *arr, const int &low, const int &high) {
+
88 if (low < high) {
+
89 int p = partition(arr, low, high);
+
90
+
91 quick_sort(arr, low, p - 1);
+
92 quick_sort(arr, p + 1, high);
+
93 }
+
94}
+
+
95
+
106template <typename T>
+
+
107std::vector<T> quick_sort(std::vector<T> arr, const int &low, const int &high) {
+
108 if (low < high) {
+
109 int p = partition(&arr, low, high);
+
110
+
111 quick_sort(&arr, low, p - 1);
+
112 quick_sort(&arr, p + 1, high);
+
113 }
+
114 return arr;
+
115}
+
+
116
+
123template <typename T>
+
+
124void show(const std::vector<T> &arr, const int &size) {
+
125 for (int i = 0; i < size; i++) std::cout << arr[i] << " ";
+
126 std::cout << "\n";
+
127}
+
+
128
+
129} // namespace quick_sort
+
130} // namespace sorting
+
131
+
+
136static void tests() {
+
137 // 1st test (normal numbers)
+
138 std::vector<uint64_t> arr = {5, 3, 8, 12, 14, 16, 28, 96, 2, 5977};
+
139 std::vector<uint64_t> arr_sorted = sorting::quick_sort::quick_sort(
+
140 arr, 0, int(std::end(arr) - std::begin(arr)) - 1);
+
141
+
142 assert(std::is_sorted(std::begin(arr_sorted), std::end(arr_sorted)));
+
143 std::cout << "\n1st test: passed!\n";
+
144
+
145 // 2nd test (normal and negative numbers)
+
146 std::vector<int64_t> arr2 = {9, 15, 28, 96, 500, -4, -58,
+
147 -977, -238, -800, -21, -53, -55};
+
148 std::vector<int64_t> arr_sorted2 = sorting::quick_sort::quick_sort(
+
149 arr2, 0, std::end(arr2) - std::begin(arr2));
+
150
+
151 assert(std::is_sorted(std::begin(arr_sorted2), std::end(arr_sorted2)));
+
152 std::cout << "2nd test: passed!\n";
+
153
+
154 // 3rd test (decimal and normal numbers)
+
155 std::vector<double> arr3 = {29, 36, 1100, 0, 77, 1,
+
156 6.7, 8.97, 1.74, 950.10, -329.65};
+
157 std::vector<double> arr_sorted3 = sorting::quick_sort::quick_sort(
+
158 arr3, 0, int(std::end(arr3) - std::begin(arr3)) - 1);
+
159
+
160 assert(std::is_sorted(std::begin(arr_sorted3), std::end(arr_sorted3)));
+
161 std::cout << "3rd test: passed!\n";
+
162
+
163 // 4th test (random decimal and negative numbers)
+
164 size_t size = std::rand() % 750 + 100;
+
165
+
166 std::vector<float> arr4(size);
+
167 for (uint64_t i = 0; i < size; i++) {
+
168 arr4[i] = static_cast<float>(std::rand()) /
+
169 static_cast<float>(RAND_MAX / 999.99 - 0.99) -
+
170 250;
+
171 }
+
172
+
173 std::vector<float> arr4_sorted = sorting::quick_sort::quick_sort(
+
174 arr4, 0, int(std::end(arr4) - std::begin(arr4)) - 1);
+
175 assert(std::is_sorted(std::begin(arr4_sorted), std::end(arr4_sorted)));
+
176
+
177 std::cout << "4th test: passed!\n";
+
178
+
179 // Printing all sorted arrays
+
180 std::cout << "\n\tPrinting all sorted arrays:\t\n";
+
181
+
182 std::cout << "1st array:\n";
+
183 sorting::quick_sort::show(arr_sorted, std::end(arr) - std::begin(arr));
+
184 std::cout << std::endl;
+
185 std::cout << "2nd array:\n";
+
186 sorting::quick_sort::show(arr_sorted2, std::end(arr2) - std::begin(arr2));
+
187 std::cout << std::endl;
+
188 std::cout << "3rd array:\n";
+
189 sorting::quick_sort::show(arr_sorted3,
+
190 int(std::end(arr3) - std::begin(arr3)) - 1);
+
191 std::cout << std::endl;
+
192 std::cout << "Start: 4th array:\n\n";
+
193 sorting::quick_sort::show(
+
194 arr4_sorted, int(std::end(arr4_sorted) - std::begin(arr4_sorted)) - 1);
+
195 std::cout << "\nEnd: 4th array.\n";
+
196}
+
+
197
+
+
202int main() {
+
203 int choice = 0;
+
204
+
205 std::cout << "\tAvailable modes\t\n\n";
+
206 std::cout << "1. Self-tests mode\n2. Interactive mode";
+
207
+
208 std::cout << "\nChoose a mode: ";
+
209 std::cin >> choice;
+
210 std::cout << "\n";
+
211
+
212 while ((choice != 1) && (choice != 2)) {
+
213 std::cout << "Invalid option. Choose between the valid modes: ";
+
214 std::cin >> choice;
+
215 }
+
216
+
217 if (choice == 1) {
+
218 std::srand(std::time(nullptr));
+
219 tests(); // run self-test implementations
+
220 } else if (choice == 2) {
+
221 int size = 0;
+
222 std::cout << "\nEnter the number of elements: ";
+
223
+
224 std::cin >> size;
+
225 std::vector<float> arr(size);
+
226
+
227 std::cout
+
228 << "\nEnter the unsorted elements (can be negative/decimal): ";
+
229
+
230 for (int i = 0; i < size; ++i) {
+
231 std::cout << "\n";
+
232 std::cin >> arr[i];
+
233 }
+
234 sorting::quick_sort::quick_sort(&arr, 0, size - 1);
+
235 std::cout << "\nSorted array: \n";
+
236 sorting::quick_sort::show(arr, size);
+
237 }
+
238 return 0;
+
239}
+
+
Functions for the Quick sort implementation in C++.
+
for working with vectors
+
static void tests()
Self-test implementations.
+
int main()
Main function.
+
+
+ + + + diff --git a/d1/d2a/knight__tour_8cpp.html b/d1/d2a/knight__tour_8cpp.html index 3a8e72e4b..d3f028c4f 100644 --- a/d1/d2a/knight__tour_8cpp.html +++ b/d1/d2a/knight__tour_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: backtracking/knight_tour.cpp File Reference +TheAlgorithms/C++: backtracking/knight_tour.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
@@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -120,7 +137,9 @@ Include dependency graph for knight_tour.cpp:
-
-
Algorithms_in_C++ 1.0.0 +
TheAlgorithms/C++ 1.0.0
-
Set of algorithms implemented in C++.
+
All the algorithms implemented in C++
+ +

Go to the source code of this file.

+
@@ -133,10 +152,10 @@ Namespaces - + - + @@ -148,6 +167,8 @@ Functions
Author
Nikhil Arora
David Leal
+ +

Definition in file knight_tour.cpp.

Function Documentation

◆ issafe()

@@ -170,7 +191,7 @@ template<size_t V> - +

Namespaces

namespace  backtracking

Functions

template<size_t V>
bool backtracking::knight_tour::issafe (int x, int y, const std::array< std::array< int, V >, V > &sol)
bool backtracking::knight_tour::issafe (int x, int y, const std::array< std::array< int, V >, V > &sol)
 
template<size_t V>
bool backtracking::knight_tour::solve (int x, int y, int mov, std::array< std::array< int, V >, V > &sol, const std::array< int, V > &xmov, std::array< int, V > &ymov)
bool backtracking::knight_tour::solve (int x, int y, int mov, std::array< std::array< int, V >, V > &sol, const std::array< int, V > &xmov, std::array< int, V > &ymov)
 
int main ()
 Main function.
const std::array< std::array< int, V >, V > & sol )const std::array< std::array< int, V >, V > & sol )
@@ -191,15 +212,12 @@ template<size_t V>
Returns
true if ....
false if ....
+ +

Definition at line 40 of file knight_tour.cpp.

40 {
41 return (x < V && x >= 0 && y < V && y >= 0 && sol[x][y] == -1);
42}
-
-Here is the call graph for this function:
-
-
-
- + @@ -219,9 +237,11 @@ Here is the call graph for this function:

Main function.

Returns
0 on exit
+ +

Definition at line 88 of file knight_tour.cpp.

88 {
89 const int n = 8;
- +
90 std::array<std::array<int, n>, n> sol = {0};
91
92 int i = 0, j = 0;
93 for (i = 0; i < n; i++) {
@@ -230,26 +250,24 @@ Here is the call graph for this function:
96 }
97 }
98
-
99 std::array<int, n> xmov = {2, 1, -1, -2, -2, -1, 1, 2};
-
100 std::array<int, n> ymov = {1, 2, 2, 1, -1, -2, -2, -1};
+
99 std::array<int, n> xmov = {2, 1, -1, -2, -2, -1, 1, 2};
+
100 std::array<int, n> ymov = {1, 2, 2, 1, -1, -2, -2, -1};
101
102 sol[0][0] = 0;
103
104 bool flag = backtracking::knight_tour::solve<n>(0, 0, 1, sol, xmov, ymov);
105 if (flag == false) {
-
106 std::cout << "Error: Solution does not exist\n";
+
106 std::cout << "Error: Solution does not exist\n";
107 } else {
108 for (i = 0; i < n; i++) {
109 for (j = 0; j < n; j++) {
-
110 std::cout << sol[i][j] << " ";
+
110 std::cout << sol[i][j] << " ";
111 }
-
112 std::cout << "\n";
+
112 std::cout << "\n";
113 }
114 }
115 return 0;
116}
- - @@ -279,17 +297,17 @@ template<size_t V> - std::array< std::array< int, V >, V > & sol, + std::array< std::array< int, V >, V > & sol, - const std::array< int, V > & xmov, + const std::array< int, V > & xmov, - std::array< int, V > & ymov ) + std::array< int, V > & ymov )
@@ -313,6 +331,8 @@ template<size_t V>
Returns
true if solution exists
false if solution does not exist
+ +

Definition at line 57 of file knight_tour.cpp.

58 {
59 int k = 0, xnext = 0, ynext = 0;
60
@@ -336,14 +356,9 @@ template<size_t V>
78 }
79 return false;
80}
-
double k(double x)
Another test function.
Definition composite_simpson_rule.cpp:117
-
void mov(tower *From, tower *To)
Definition tower_of_hanoi.cpp:39
-
-Here is the call graph for this function:
-
-
-
- +
double k(double x)
Another test function.
+
void mov(tower *From, tower *To)
+ diff --git a/d1/d2a/knight__tour_8cpp_aaa47356d98676cf5315d978f741e29c9_cgraph.map b/d1/d2a/knight__tour_8cpp_aaa47356d98676cf5315d978f741e29c9_cgraph.map deleted file mode 100644 index b937873ee..000000000 --- a/d1/d2a/knight__tour_8cpp_aaa47356d98676cf5315d978f741e29c9_cgraph.map +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/d1/d2a/knight__tour_8cpp_aaa47356d98676cf5315d978f741e29c9_cgraph.md5 b/d1/d2a/knight__tour_8cpp_aaa47356d98676cf5315d978f741e29c9_cgraph.md5 deleted file mode 100644 index 51dac42b2..000000000 --- a/d1/d2a/knight__tour_8cpp_aaa47356d98676cf5315d978f741e29c9_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -6b910f1a1562d6c2a476d698d46a2aba \ No newline at end of file diff --git a/d1/d2a/knight__tour_8cpp_aaa47356d98676cf5315d978f741e29c9_cgraph.svg b/d1/d2a/knight__tour_8cpp_aaa47356d98676cf5315d978f741e29c9_cgraph.svg deleted file mode 100644 index e7a26228e..000000000 --- a/d1/d2a/knight__tour_8cpp_aaa47356d98676cf5315d978f741e29c9_cgraph.svg +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - - - - - - - -backtracking::knight_tour::solve - - -Node1 - - -backtracking::knight -_tour::solve - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -mov - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d1/d2a/knight__tour_8cpp_aaa47356d98676cf5315d978f741e29c9_cgraph_org.svg b/d1/d2a/knight__tour_8cpp_aaa47356d98676cf5315d978f741e29c9_cgraph_org.svg deleted file mode 100644 index f156674d9..000000000 --- a/d1/d2a/knight__tour_8cpp_aaa47356d98676cf5315d978f741e29c9_cgraph_org.svg +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - -backtracking::knight_tour::solve - - -Node1 - - -backtracking::knight -_tour::solve - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -mov - - - - - -Node1->Node2 - - - - - - - - diff --git a/d1/d2a/knight__tour_8cpp_af27031fbff093ffd625f64010d98aab2_cgraph.map b/d1/d2a/knight__tour_8cpp_af27031fbff093ffd625f64010d98aab2_cgraph.map deleted file mode 100644 index fd7245fee..000000000 --- a/d1/d2a/knight__tour_8cpp_af27031fbff093ffd625f64010d98aab2_cgraph.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/d1/d2a/knight__tour_8cpp_af27031fbff093ffd625f64010d98aab2_cgraph.md5 b/d1/d2a/knight__tour_8cpp_af27031fbff093ffd625f64010d98aab2_cgraph.md5 deleted file mode 100644 index ee20e527b..000000000 --- a/d1/d2a/knight__tour_8cpp_af27031fbff093ffd625f64010d98aab2_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -a79f94597d72a3e920666cf57253edee \ No newline at end of file diff --git a/d1/d2a/knight__tour_8cpp_af27031fbff093ffd625f64010d98aab2_cgraph.svg b/d1/d2a/knight__tour_8cpp_af27031fbff093ffd625f64010d98aab2_cgraph.svg deleted file mode 100644 index 67f1e7bdf..000000000 --- a/d1/d2a/knight__tour_8cpp_af27031fbff093ffd625f64010d98aab2_cgraph.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - - - - - - - -backtracking::knight_tour::issafe - - -Node1 - - -backtracking::knight -_tour::issafe - - - - - -Node1->Node1 - - - - - - - - - - - - - diff --git a/d1/d2a/knight__tour_8cpp_af27031fbff093ffd625f64010d98aab2_cgraph_org.svg b/d1/d2a/knight__tour_8cpp_af27031fbff093ffd625f64010d98aab2_cgraph_org.svg deleted file mode 100644 index 1854f14a2..000000000 --- a/d1/d2a/knight__tour_8cpp_af27031fbff093ffd625f64010d98aab2_cgraph_org.svg +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - -backtracking::knight_tour::issafe - - -Node1 - - -backtracking::knight -_tour::issafe - - - - - -Node1->Node1 - - - - - - - - diff --git a/d1/d2a/knight__tour_8cpp_source.html b/d1/d2a/knight__tour_8cpp_source.html new file mode 100644 index 000000000..45eb683a6 --- /dev/null +++ b/d1/d2a/knight__tour_8cpp_source.html @@ -0,0 +1,217 @@ + + + + + + + + +TheAlgorithms/C++: backtracking/knight_tour.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
TheAlgorithms/C++ 1.0.0 +
+
All the algorithms implemented in C++
+
+
+ + + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
knight_tour.cpp
+
+
+Go to the documentation of this file.
1
+
16#include <array>
+
17#include <iostream>
+
18
+
23namespace backtracking {
+
29namespace knight_tour {
+
39template <size_t V>
+
+
40bool issafe(int x, int y, const std::array<std::array<int, V>, V> &sol) {
+
41 return (x < V && x >= 0 && y < V && y >= 0 && sol[x][y] == -1);
+
42}
+
+
43
+
56template <size_t V>
+
+
57bool solve(int x, int y, int mov, std::array<std::array<int, V>, V> &sol,
+
58 const std::array<int, V> &xmov, std::array<int, V> &ymov) {
+
59 int k = 0, xnext = 0, ynext = 0;
+
60
+
61 if (mov == V * V) {
+
62 return true;
+
63 }
+
64
+
65 for (k = 0; k < V; k++) {
+
66 xnext = x + xmov[k];
+
67 ynext = y + ymov[k];
+
68
+
69 if (issafe<V>(xnext, ynext, sol)) {
+
70 sol[xnext][ynext] = mov;
+
71
+
72 if (solve<V>(xnext, ynext, mov + 1, sol, xmov, ymov) == true) {
+
73 return true;
+
74 } else {
+
75 sol[xnext][ynext] = -1;
+
76 }
+
77 }
+
78 }
+
79 return false;
+
80}
+
+
81} // namespace knight_tour
+
82} // namespace backtracking
+
83
+
+
88int main() {
+
89 const int n = 8;
+
90 std::array<std::array<int, n>, n> sol = {0};
+
91
+
92 int i = 0, j = 0;
+
93 for (i = 0; i < n; i++) {
+
94 for (j = 0; j < n; j++) {
+
95 sol[i][j] = -1;
+
96 }
+
97 }
+
98
+
99 std::array<int, n> xmov = {2, 1, -1, -2, -2, -1, 1, 2};
+
100 std::array<int, n> ymov = {1, 2, 2, 1, -1, -2, -2, -1};
+
101
+
102 sol[0][0] = 0;
+
103
+
104 bool flag = backtracking::knight_tour::solve<n>(0, 0, 1, sol, xmov, ymov);
+
105 if (flag == false) {
+
106 std::cout << "Error: Solution does not exist\n";
+
107 } else {
+
108 for (i = 0; i < n; i++) {
+
109 for (j = 0; j < n; j++) {
+
110 std::cout << sol[i][j] << " ";
+
111 }
+
112 std::cout << "\n";
+
113 }
+
114 }
+
115 return 0;
+
116}
+
+
bool solve(int x, int y, int mov, std::array< std::array< int, V >, V > &sol, const std::array< int, V > &xmov, std::array< int, V > &ymov)
+
int main()
Main function.
+
bool issafe(int x, int y, const std::array< std::array< int, V >, V > &sol)
+
for vector container
+
Functions for the Knight's tour algorithm.
+
void mov(tower *From, tower *To)
+
+
+ + + + diff --git a/d1/d35/classothers_1_1_cache_1_1_l_r_u_cache-members.html b/d1/d35/classothers_1_1_cache_1_1_l_r_u_cache-members.html index 737c0c237..1b3a15228 100644 --- a/d1/d35/classothers_1_1_cache_1_1_l_r_u_cache-members.html +++ b/d1/d35/classothers_1_1_cache_1_1_l_r_u_cache-members.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Member List +TheAlgorithms/C++: Member List + + + @@ -18,14 +24,24 @@ - - + +
@@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/d1/d35/namespaceexponential__dist.html b/d1/d35/namespaceexponential__dist.html index 9f2cfd375..6c3fed1a1 100644 --- a/d1/d35/namespaceexponential__dist.html +++ b/d1/d35/namespaceexponential__dist.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: exponential_dist Namespace Reference +TheAlgorithms/C++: exponential_dist Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
@@ -33,10 +49,11 @@ MathJax.Hub.Config({
-
Algorithms_in_C++ 1.0.0 +
TheAlgorithms/C++ 1.0.0
-
Set of algorithms implemented in C++.
+
All the algorithms implemented in C++
+ diff --git a/d1/d40/counting__sort_8cpp_source.html b/d1/d40/counting__sort_8cpp_source.html new file mode 100644 index 000000000..bb52da11f --- /dev/null +++ b/d1/d40/counting__sort_8cpp_source.html @@ -0,0 +1,202 @@ + + + + + + + + +TheAlgorithms/C++: sorting/counting_sort.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
+
+
-
Algorithms_in_C++ 1.0.0 +
TheAlgorithms/C++ 1.0.0
-
Set of algorithms implemented in C++.
+
All the algorithms implemented in C++
+ + + + + + +
+
TheAlgorithms/C++ 1.0.0 +
+
All the algorithms implemented in C++
+
+
+ + + + + + + + + +
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
counting_sort.cpp
+
+
+
1#include <iostream>
+
2using namespace std;
+
3
+
4int Max(int Arr[], int N) {
+
5 int max = Arr[0];
+
6 for (int i = 1; i < N; i++)
+
7 if (Arr[i] > max)
+
8 max = Arr[i];
+
9 return max;
+
10}
+
11
+
12int Min(int Arr[], int N) {
+
13 int min = Arr[0];
+
14 for (int i = 1; i < N; i++)
+
15 if (Arr[i] < min)
+
16 min = Arr[i];
+
17 return min;
+
18}
+
19
+
20void Print(int Arr[], int N) {
+
21 for (int i = 0; i < N; i++) cout << Arr[i] << ", ";
+
22}
+
23
+
24int *Counting_Sort(int Arr[], int N) {
+
25 int max = Max(Arr, N);
+
26 int min = Min(Arr, N);
+
27 int *Sorted_Arr = new int[N];
+
28
+
29 int *Count = new int[max - min + 1];
+
30 for (int i = 0; i < max - min + 1; ++i) {
+
31 Count[i] = 0;
+
32 }
+
33
+
34 for (int i = 0; i < N; i++) Count[Arr[i] - min]++;
+
35
+
36 for (int i = 1; i < (max - min + 1); i++) Count[i] += Count[i - 1];
+
37
+
38 for (int i = N - 1; i >= 0; i--) {
+
39 Sorted_Arr[Count[Arr[i] - min] - 1] = Arr[i];
+
40 Count[Arr[i] - min]--;
+
41 }
+
42
+
43 delete[] Count;
+
44 return Sorted_Arr;
+
45}
+
46
+
47int main() {
+
48 int Arr[] = {47, 65, 20, 66, 25, 53, 64, 69, 72, 22,
+
49 74, 25, 53, 15, 42, 36, 4, 69, 86, 19},
+
50 N = 20;
+
51 int *Sorted_Arr;
+
52
+
53 cout << "\n\tOrignal Array = ";
+
54 Print(Arr, N);
+
55 Sorted_Arr = Counting_Sort(Arr, N);
+
56 cout << "\n\t Sorted Array = ";
+
57 Print(Sorted_Arr, N);
+
58 delete[] Sorted_Arr;
+
59 cout << endl;
+
60
+
61 return 0;
+
62}
+
int main()
Main function.
+
#define endl
+
constexpr uint32_t N
A struct to represent sparse table for min() as their invariant function, for the given array A....
+
+
+ + + + diff --git a/d1/d47/classprobability_1_1windowed__median_1_1_windowed_median-members.html b/d1/d47/classprobability_1_1windowed__median_1_1_windowed_median-members.html index 987c14f04..10afaebf0 100644 --- a/d1/d47/classprobability_1_1windowed__median_1_1_windowed_median-members.html +++ b/d1/d47/classprobability_1_1windowed__median_1_1_windowed_median-members.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Member List +TheAlgorithms/C++: Member List + + + @@ -18,14 +24,24 @@ - - + +
@@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html b/d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html index 05d2547eb..17723c32e 100644 --- a/d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html +++ b/d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: range_queries::heavy_light_decomposition::Tree< X > Class Template Reference +TheAlgorithms/C++: range_queries::heavy_light_decomposition::Tree< X > Class Template Reference + + + @@ -18,14 +24,24 @@ - - + +
@@ -33,10 +49,11 @@ MathJax.Hub.Config({
-
Algorithms_in_C++ 1.0.0 +
TheAlgorithms/C++ 1.0.0
-
Set of algorithms implemented in C++.
+
All the algorithms implemented in C++
+ @@ -138,7 +155,7 @@ Public Member Functions - + @@ -165,44 +182,35 @@ Private Member Functions
-
Algorithms_in_C++ 1.0.0 +
TheAlgorithms/C++ 1.0.0
-
Set of algorithms implemented in C++.
+
All the algorithms implemented in C++
void change_root (int new_root)
 Set the root for the tree.
 
void set_node_val (const std::vector< X > &node_val)
void set_node_val (const std::vector< X > &node_val)
 Set the values for all the nodes.
 
void init ()
- - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + +

Private Attributes

-std::vector< std::list< int > > t_adj
 an adjacency list to stores the tree edges
std::vector< std::list< int > > t_adj
 an adjacency list to stores the tree edges
 
-const int t_nodes
 number of nodes
const int t_nodes
 number of nodes
 
-const int t_maxlift
 maximum possible height of the tree
const int t_maxlift
 maximum possible height of the tree
 
-std::vector< std::vector< int > > t_par
 a matrix to store every node's 2^kth parent
std::vector< std::vector< int > > t_par
 a matrix to store every node's 2^kth parent
 
-std::vector< int > t_depth
 a vector to store the depth of a node,
std::vector< int > t_depth
 a vector to store the depth of a node,
 
-std::vector< int > t_size
 a vector to store the subtree size rooted at node
std::vector< int > t_size
 a vector to store the subtree size rooted at node
 
-int t_root
 the root of the tree
int t_root
 the root of the tree
 
-std::vector< X > t_val
 values of nodes
std::vector< X > t_val
 values of nodes
 
- - + +

Friends

-template<typename T >
class HLD
template<typename T >
class HLD
 

Detailed Description

@@ -215,6 +223,8 @@ class range_queries::heavy_light_decomposition::Tree< X >

A Basic

Deleting the default constructor An instance can only be created with the number of nodes Defaults: t_node indexing are zero based t_root is 0 depth of root_node is 0 Supports: lift :- lift a node k units up the tree kth_ancestor :- returns the kth ancestor lca :- returns the least common ancestor

+ +

Definition at line 78 of file heavy_light_decomposition.cpp.

Constructor & Destructor Documentation

◆ Tree()

@@ -248,33 +258,26 @@ template<typename X > -
141 : t_nodes(nodes), t_maxlift(static_cast<int>(floor(log2(nodes))) + 1) {
+ +

Definition at line 140 of file heavy_light_decomposition.cpp.

+
141 : t_nodes(nodes), t_maxlift(static_cast<int>(floor(log2(nodes))) + 1) {
142 /* Initialize and resize all the vectors */
143 t_root = 0; /* Default */
- - - - - +
144 t_adj.resize(t_nodes);
+
145 t_par.assign(t_nodes, std::vector<int>(t_maxlift, -1));
+
146 t_depth.assign(t_nodes, 0);
+
147 t_size.assign(t_nodes, 1);
+
148 t_val.resize(t_nodes);
149 }
-
T assign(T... args)
-
std::vector< int > t_depth
a vector to store the depth of a node,
Definition heavy_light_decomposition.cpp:88
-
std::vector< X > t_val
values of nodes
Definition heavy_light_decomposition.cpp:92
-
std::vector< std::vector< int > > t_par
a matrix to store every node's 2^kth parent
Definition heavy_light_decomposition.cpp:87
-
int t_root
the root of the tree
Definition heavy_light_decomposition.cpp:91
-
std::vector< std::list< int > > t_adj
an adjacency list to stores the tree edges
Definition heavy_light_decomposition.cpp:83
-
const int t_maxlift
maximum possible height of the tree
Definition heavy_light_decomposition.cpp:85
-
std::vector< int > t_size
a vector to store the subtree size rooted at node
Definition heavy_light_decomposition.cpp:89
-
const int t_nodes
number of nodes
Definition heavy_light_decomposition.cpp:84
-
T floor(T... args)
-
T resize(T... args)
- -
-Here is the call graph for this function:
-
-
-
- +
std::vector< int > t_depth
a vector to store the depth of a node,
+ +
std::vector< std::vector< int > > t_par
a matrix to store every node's 2^kth parent
+ +
std::vector< std::list< int > > t_adj
an adjacency list to stores the tree edges
+
const int t_maxlift
maximum possible height of the tree
+
std::vector< int > t_size
a vector to store the subtree size rooted at node
+ +

Member Function Documentation

@@ -316,17 +319,13 @@ template<typename X >
Returns
void
-
157 {
-
158 t_adj[u].push_back(v);
-
159 t_adj[v].push_back(u);
-
160 }
-
T push_back(T... args)
-
-Here is the call graph for this function:
-
-
-
+

Definition at line 157 of file heavy_light_decomposition.cpp.

+
157 {
+
158 t_adj[u].push_back(v);
+
159 t_adj[v].push_back(u);
+
160 }
+
@@ -362,6 +361,8 @@ template<typename X >
Returns
void
+ +

Definition at line 167 of file heavy_light_decomposition.cpp.

167{ t_root = new_root; }
@@ -404,6 +405,8 @@ template<typename X >
Returns
void
+ +

Definition at line 116 of file heavy_light_decomposition.cpp.

116 {
117 t_par[u][0] = p;
118 if (p != -1) {
@@ -421,14 +424,9 @@ template<typename X >
130 }
131 }
132 }
-
void dfs_lca(int u, int p=-1)
Utility function to populate the t_par vector.
Definition heavy_light_decomposition.cpp:116
-
double k(double x)
Another test function.
Definition composite_simpson_rule.cpp:117
-
-Here is the call graph for this function:
-
-
-
- +
void dfs_lca(int u, int p=-1)
Utility function to populate the t_par vector.
+
double k(double x)
Another test function.
+ @@ -470,6 +468,8 @@ template<typename X >
Returns
void
+ +

Definition at line 101 of file heavy_light_decomposition.cpp.

101 {
102 for (const int &v : t_adj[u]) {
103 if (v ^ p) {
@@ -478,13 +478,8 @@ template<typename X >
106 }
107 }
108 }
-
void dfs_size(int u, int p=-1)
Utility function to compute sub-tree sizes.
Definition heavy_light_decomposition.cpp:101
-
-Here is the call graph for this function:
-
-
-
- +
void dfs_size(int u, int p=-1)
Utility function to compute sub-tree sizes.
+ @@ -514,17 +509,14 @@ template<typename X >

This function must be called after the tree adjacency list and node values are populated The function initializes the required parameters, and populates the segment tree.

Returns
void
+ +

Definition at line 186 of file heavy_light_decomposition.cpp.

186 {
187 assert(t_nodes > 0);
190 }
-
-Here is the call graph for this function:
-
-
-
- + @@ -565,17 +557,14 @@ template<typename X >
Returns
the kth ancestor of node
+ +

Definition at line 218 of file heavy_light_decomposition.cpp.

218 {
219 lift(&p, dist);
220 return p;
221 }
-
void lift(int *const p, int dist)
The function lifts a node, k units up the tree. The lifting is done in place, and the result is store...
Definition heavy_light_decomposition.cpp:200
-
-Here is the call graph for this function:
-
-
-
- +
void lift(int *const p, int dist)
The function lifts a node, k units up the tree. The lifting is done in place, and the result is store...
+ @@ -616,6 +605,8 @@ template<typename X >
Returns
the least common ancestor of node a, and node b
+ +

Definition at line 229 of file heavy_light_decomposition.cpp.

229 {
230 assert(a >= 0 and b >= 0 and a < t_nodes and b < t_nodes);
231 if (t_depth[a] > t_depth[b]) {
@@ -635,12 +626,7 @@ template<typename X >
245 }
246 return t_par[a][0];
247 }
-
-Here is the call graph for this function:
-
-
-
- + @@ -681,6 +667,8 @@ template<typename X >
Returns
void
+ +

Definition at line 200 of file heavy_light_decomposition.cpp.

200 {
201 for (int k = 0; k < t_maxlift; k++) {
202 if (*p == -1) {
@@ -709,7 +697,7 @@ template<typename X >
void range_queries::heavy_light_decomposition::Tree< X >::set_node_val ( - const std::vector< X > & node_val) + const std::vector< X > & node_val) @@ -728,21 +716,271 @@ template<typename X >
Returns
void
+ +

Definition at line 175 of file heavy_light_decomposition.cpp.

175 {
-
176 assert(static_cast<int>(node_val.size()) == t_nodes);
+
176 assert(static_cast<int>(node_val.size()) == t_nodes);
177 t_val = node_val;
178 }
-
T size(T... args)
-
-Here is the call graph for this function:
-
-
+
+ +

Friends And Related Symbol Documentation

+ +

◆ HLD

+ +
+
+
+template<typename X >
+
+template<typename T >
+ + + + + +
+ + + + +
friend class HLD
+
+friend
+
+ +

Definition at line 93 of file heavy_light_decomposition.cpp.

+ +
+
+

Member Data Documentation

+ +

◆ t_adj

+ +
+
+
+template<typename X >
+ + + + + +
+ + + + +
std::vector<std::list<int> > range_queries::heavy_light_decomposition::Tree< X >::t_adj
+
+private
+
+ +

an adjacency list to stores the tree edges

+ +

Definition at line 83 of file heavy_light_decomposition.cpp.

+ +
+
+ +

◆ t_depth

+ +
+
+
+template<typename X >
+ + + + + +
+ + + + +
std::vector<int> range_queries::heavy_light_decomposition::Tree< X >::t_depth
+
+private
+
+ +

a vector to store the depth of a node,

+ +

Definition at line 88 of file heavy_light_decomposition.cpp.

+ +
+
+ +

◆ t_maxlift

+ +
+
+
+template<typename X >
+ + + + + +
+ + + + +
const int range_queries::heavy_light_decomposition::Tree< X >::t_maxlift
+
+private
+
+ +

maximum possible height of the tree

+ +

Definition at line 85 of file heavy_light_decomposition.cpp.

+ +
+
+ +

◆ t_nodes

+ +
+
+
+template<typename X >
+ + + + + +
+ + + + +
const int range_queries::heavy_light_decomposition::Tree< X >::t_nodes
+
+private
+
+ +

number of nodes

+ +

Definition at line 84 of file heavy_light_decomposition.cpp.

+ +
+
+ +

◆ t_par

+ +
+
+
+template<typename X >
+ + + + + +
+ + + + +
std::vector<std::vector<int> > range_queries::heavy_light_decomposition::Tree< X >::t_par
+
+private
+
+ +

a matrix to store every node's 2^kth parent

+ +

Definition at line 87 of file heavy_light_decomposition.cpp.

+ +
+
+ +

◆ t_root

+ +
+
+
+template<typename X >
+ + + + + +
+ + + + +
int range_queries::heavy_light_decomposition::Tree< X >::t_root
+
+private
+
+ +

the root of the tree

+ +

Definition at line 91 of file heavy_light_decomposition.cpp.

+ +
+
+ +

◆ t_size

+ +
+
+
+template<typename X >
+ + + + + +
+ + + + +
std::vector<int> range_queries::heavy_light_decomposition::Tree< X >::t_size
+
+private
+
+ +

a vector to store the subtree size rooted at node

+ +

Definition at line 89 of file heavy_light_decomposition.cpp.

+ +
+
+ +

◆ t_val

+ +
+
+
+template<typename X >
+ + + + + +
+ + + + +
std::vector<X> range_queries::heavy_light_decomposition::Tree< X >::t_val
+
+private
+
+ +

values of nodes

+ +

Definition at line 92 of file heavy_light_decomposition.cpp.


The documentation for this class was generated from the following file: diff --git a/d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree_a04cd96efaba147b19d3afc769b90ff70_cgraph.map b/d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree_a04cd96efaba147b19d3afc769b90ff70_cgraph.map deleted file mode 100644 index f1996b57b..000000000 --- a/d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree_a04cd96efaba147b19d3afc769b90ff70_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree_a04cd96efaba147b19d3afc769b90ff70_cgraph.md5 b/d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree_a04cd96efaba147b19d3afc769b90ff70_cgraph.md5 deleted file mode 100644 index 0a60f3b70..000000000 --- a/d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree_a04cd96efaba147b19d3afc769b90ff70_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -54f8dbe3fe49e60c8535682668e39af6 \ No newline at end of file diff --git a/d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree_a04cd96efaba147b19d3afc769b90ff70_cgraph.svg b/d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree_a04cd96efaba147b19d3afc769b90ff70_cgraph.svg deleted file mode 100644 index 30bb46bdf..000000000 --- a/d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree_a04cd96efaba147b19d3afc769b90ff70_cgraph.svg +++ /dev/null @@ -1,67 +0,0 @@ - - - - - - - - - - - - -range_queries::heavy_light_decomposition::Tree::set_node_val - - -Node1 - - -range_queries::heavy -_light_decomposition -::Tree::set_node_val - - - - - -Node2 - - -std::vector::size - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree_a04cd96efaba147b19d3afc769b90ff70_cgraph_org.svg b/d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree_a04cd96efaba147b19d3afc769b90ff70_cgraph_org.svg deleted file mode 100644 index 282282de9..000000000 --- a/d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree_a04cd96efaba147b19d3afc769b90ff70_cgraph_org.svg +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - -range_queries::heavy_light_decomposition::Tree::set_node_val - - -Node1 - - -range_queries::heavy -_light_decomposition -::Tree::set_node_val - - - - - -Node2 - - -std::vector::size - - - - - -Node1->Node2 - - - - - - - - diff --git a/d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree_a79ab4601c4a95c0902ac04e779e5f54d_cgraph.map b/d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree_a79ab4601c4a95c0902ac04e779e5f54d_cgraph.map deleted file mode 100644 index 955a9834d..000000000 --- a/d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree_a79ab4601c4a95c0902ac04e779e5f54d_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree_a79ab4601c4a95c0902ac04e779e5f54d_cgraph.md5 b/d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree_a79ab4601c4a95c0902ac04e779e5f54d_cgraph.md5 deleted file mode 100644 index 16092a568..000000000 --- a/d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree_a79ab4601c4a95c0902ac04e779e5f54d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -b79aa303a4141b8a1f0846c9a1e57900 \ No newline at end of file diff --git a/d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree_a79ab4601c4a95c0902ac04e779e5f54d_cgraph.svg b/d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree_a79ab4601c4a95c0902ac04e779e5f54d_cgraph.svg deleted file mode 100644 index 231039367..000000000 --- a/d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree_a79ab4601c4a95c0902ac04e779e5f54d_cgraph.svg +++ /dev/null @@ -1,67 +0,0 @@ - - - - - - - - - - - - -range_queries::heavy_light_decomposition::Tree::add_edge - - -Node1 - - -range_queries::heavy -_light_decomposition -::Tree::add_edge - - - - - -Node2 - - -std::vector::push_back - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree_a79ab4601c4a95c0902ac04e779e5f54d_cgraph_org.svg b/d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree_a79ab4601c4a95c0902ac04e779e5f54d_cgraph_org.svg deleted file mode 100644 index e4880be68..000000000 --- a/d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree_a79ab4601c4a95c0902ac04e779e5f54d_cgraph_org.svg +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - -range_queries::heavy_light_decomposition::Tree::add_edge - - -Node1 - - -range_queries::heavy -_light_decomposition -::Tree::add_edge - - - - - -Node2 - - -std::vector::push_back - - - - - -Node1->Node2 - - - - - - - - diff --git a/d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree_a835fb2bbb27307b8cacad9b287968bc1_cgraph.map b/d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree_a835fb2bbb27307b8cacad9b287968bc1_cgraph.map deleted file mode 100644 index 4abd0976d..000000000 --- a/d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree_a835fb2bbb27307b8cacad9b287968bc1_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree_a835fb2bbb27307b8cacad9b287968bc1_cgraph.md5 b/d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree_a835fb2bbb27307b8cacad9b287968bc1_cgraph.md5 deleted file mode 100644 index b405d8fe6..000000000 --- a/d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree_a835fb2bbb27307b8cacad9b287968bc1_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -fab3ab37596d36e063e33dbb1f5b1797 \ No newline at end of file diff --git a/d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree_a835fb2bbb27307b8cacad9b287968bc1_cgraph.svg b/d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree_a835fb2bbb27307b8cacad9b287968bc1_cgraph.svg deleted file mode 100644 index 379b14539..000000000 --- a/d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree_a835fb2bbb27307b8cacad9b287968bc1_cgraph.svg +++ /dev/null @@ -1,85 +0,0 @@ - - - - - - - - - - - - -range_queries::heavy_light_decomposition::Tree::Tree - - -Node1 - - -range_queries::heavy -_light_decomposition -::Tree::Tree - - - - - -Node2 - - -std::vector::assign - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::vector::resize - - - - - -Node1->Node3 - - - - - - - - - - - - - diff --git a/d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree_a835fb2bbb27307b8cacad9b287968bc1_cgraph_org.svg b/d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree_a835fb2bbb27307b8cacad9b287968bc1_cgraph_org.svg deleted file mode 100644 index 9dc5e335e..000000000 --- a/d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree_a835fb2bbb27307b8cacad9b287968bc1_cgraph_org.svg +++ /dev/null @@ -1,59 +0,0 @@ - - - - - - -range_queries::heavy_light_decomposition::Tree::Tree - - -Node1 - - -range_queries::heavy -_light_decomposition -::Tree::Tree - - - - - -Node2 - - -std::vector::assign - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::vector::resize - - - - - -Node1->Node3 - - - - - - - - diff --git a/d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree_a8f7bca1746d40f21ad832fcea59aa6c6_cgraph.map b/d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree_a8f7bca1746d40f21ad832fcea59aa6c6_cgraph.map deleted file mode 100644 index 9d99851d6..000000000 --- a/d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree_a8f7bca1746d40f21ad832fcea59aa6c6_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree_a8f7bca1746d40f21ad832fcea59aa6c6_cgraph.md5 b/d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree_a8f7bca1746d40f21ad832fcea59aa6c6_cgraph.md5 deleted file mode 100644 index 56e3d853e..000000000 --- a/d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree_a8f7bca1746d40f21ad832fcea59aa6c6_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -093b14b9a27dc86f50fa4a806ce6bbe3 \ No newline at end of file diff --git a/d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree_a8f7bca1746d40f21ad832fcea59aa6c6_cgraph.svg b/d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree_a8f7bca1746d40f21ad832fcea59aa6c6_cgraph.svg deleted file mode 100644 index 615de9780..000000000 --- a/d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree_a8f7bca1746d40f21ad832fcea59aa6c6_cgraph.svg +++ /dev/null @@ -1,69 +0,0 @@ - - - - - - - - - - - - -range_queries::heavy_light_decomposition::Tree::kth_ancestor - - -Node1 - - -range_queries::heavy -_light_decomposition -::Tree::kth_ancestor - - - - - -Node2 - - -range_queries::heavy -_light_decomposition -::Tree::lift - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree_a8f7bca1746d40f21ad832fcea59aa6c6_cgraph_org.svg b/d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree_a8f7bca1746d40f21ad832fcea59aa6c6_cgraph_org.svg deleted file mode 100644 index 3ff1b1129..000000000 --- a/d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree_a8f7bca1746d40f21ad832fcea59aa6c6_cgraph_org.svg +++ /dev/null @@ -1,43 +0,0 @@ - - - - - - -range_queries::heavy_light_decomposition::Tree::kth_ancestor - - -Node1 - - -range_queries::heavy -_light_decomposition -::Tree::kth_ancestor - - - - - -Node2 - - -range_queries::heavy -_light_decomposition -::Tree::lift - - - - - -Node1->Node2 - - - - - - - - diff --git a/d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree_aa339c31ec74cd86a4842a8b09653d460_cgraph.map b/d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree_aa339c31ec74cd86a4842a8b09653d460_cgraph.map deleted file mode 100644 index 53cb0d607..000000000 --- a/d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree_aa339c31ec74cd86a4842a8b09653d460_cgraph.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree_aa339c31ec74cd86a4842a8b09653d460_cgraph.md5 b/d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree_aa339c31ec74cd86a4842a8b09653d460_cgraph.md5 deleted file mode 100644 index f84ac416e..000000000 --- a/d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree_aa339c31ec74cd86a4842a8b09653d460_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -745737504e7e3aa878530af74b0b67b6 \ No newline at end of file diff --git a/d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree_aa339c31ec74cd86a4842a8b09653d460_cgraph.svg b/d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree_aa339c31ec74cd86a4842a8b09653d460_cgraph.svg deleted file mode 100644 index af6357a65..000000000 --- a/d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree_aa339c31ec74cd86a4842a8b09653d460_cgraph.svg +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - - - - - - - -range_queries::heavy_light_decomposition::Tree::dfs_size - - -Node1 - - -range_queries::heavy -_light_decomposition -::Tree::dfs_size - - - - - -Node1->Node1 - - - - - - - - - - - - - diff --git a/d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree_aa339c31ec74cd86a4842a8b09653d460_cgraph_org.svg b/d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree_aa339c31ec74cd86a4842a8b09653d460_cgraph_org.svg deleted file mode 100644 index ebf74251a..000000000 --- a/d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree_aa339c31ec74cd86a4842a8b09653d460_cgraph_org.svg +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - -range_queries::heavy_light_decomposition::Tree::dfs_size - - -Node1 - - -range_queries::heavy -_light_decomposition -::Tree::dfs_size - - - - - -Node1->Node1 - - - - - - - - diff --git a/d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree_ad22d760a5a33545a70e7ea5e1786c8dc_cgraph.map b/d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree_ad22d760a5a33545a70e7ea5e1786c8dc_cgraph.map deleted file mode 100644 index 8873b48dc..000000000 --- a/d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree_ad22d760a5a33545a70e7ea5e1786c8dc_cgraph.map +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree_ad22d760a5a33545a70e7ea5e1786c8dc_cgraph.md5 b/d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree_ad22d760a5a33545a70e7ea5e1786c8dc_cgraph.md5 deleted file mode 100644 index 88ed04bc5..000000000 --- a/d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree_ad22d760a5a33545a70e7ea5e1786c8dc_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -a523e4f829d5617dffb0db014ca3075a \ No newline at end of file diff --git a/d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree_ad22d760a5a33545a70e7ea5e1786c8dc_cgraph.svg b/d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree_ad22d760a5a33545a70e7ea5e1786c8dc_cgraph.svg deleted file mode 100644 index 6b333207d..000000000 --- a/d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree_ad22d760a5a33545a70e7ea5e1786c8dc_cgraph.svg +++ /dev/null @@ -1,107 +0,0 @@ - - - - - - - - - - - - -range_queries::heavy_light_decomposition::Tree::init - - -Node1 - - -range_queries::heavy -_light_decomposition -::Tree::init - - - - - -Node2 - - -range_queries::heavy -_light_decomposition -::Tree::dfs_lca - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -range_queries::heavy -_light_decomposition -::Tree::dfs_size - - - - - -Node1->Node3 - - - - - - - - -Node2->Node2 - - - - - - - - -Node3->Node3 - - - - - - - - - - - - - diff --git a/d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree_ad22d760a5a33545a70e7ea5e1786c8dc_cgraph_org.svg b/d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree_ad22d760a5a33545a70e7ea5e1786c8dc_cgraph_org.svg deleted file mode 100644 index 7ba847644..000000000 --- a/d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree_ad22d760a5a33545a70e7ea5e1786c8dc_cgraph_org.svg +++ /dev/null @@ -1,81 +0,0 @@ - - - - - - -range_queries::heavy_light_decomposition::Tree::init - - -Node1 - - -range_queries::heavy -_light_decomposition -::Tree::init - - - - - -Node2 - - -range_queries::heavy -_light_decomposition -::Tree::dfs_lca - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -range_queries::heavy -_light_decomposition -::Tree::dfs_size - - - - - -Node1->Node3 - - - - - - - - -Node2->Node2 - - - - - - - - -Node3->Node3 - - - - - - - - diff --git a/d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree_ae2b407e64aaf9878fbee7ee6efe9c7d4_cgraph.map b/d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree_ae2b407e64aaf9878fbee7ee6efe9c7d4_cgraph.map deleted file mode 100644 index 8d61add4c..000000000 --- a/d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree_ae2b407e64aaf9878fbee7ee6efe9c7d4_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree_ae2b407e64aaf9878fbee7ee6efe9c7d4_cgraph.md5 b/d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree_ae2b407e64aaf9878fbee7ee6efe9c7d4_cgraph.md5 deleted file mode 100644 index e711ade9d..000000000 --- a/d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree_ae2b407e64aaf9878fbee7ee6efe9c7d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -442019a35b96d133c15dc0d249487ea4 \ No newline at end of file diff --git a/d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree_ae2b407e64aaf9878fbee7ee6efe9c7d4_cgraph.svg b/d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree_ae2b407e64aaf9878fbee7ee6efe9c7d4_cgraph.svg deleted file mode 100644 index c841f0d9c..000000000 --- a/d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree_ae2b407e64aaf9878fbee7ee6efe9c7d4_cgraph.svg +++ /dev/null @@ -1,69 +0,0 @@ - - - - - - - - - - - - -range_queries::heavy_light_decomposition::Tree::lca - - -Node1 - - -range_queries::heavy -_light_decomposition -::Tree::lca - - - - - -Node2 - - -range_queries::heavy -_light_decomposition -::Tree::lift - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree_ae2b407e64aaf9878fbee7ee6efe9c7d4_cgraph_org.svg b/d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree_ae2b407e64aaf9878fbee7ee6efe9c7d4_cgraph_org.svg deleted file mode 100644 index 4b1ca139a..000000000 --- a/d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree_ae2b407e64aaf9878fbee7ee6efe9c7d4_cgraph_org.svg +++ /dev/null @@ -1,43 +0,0 @@ - - - - - - -range_queries::heavy_light_decomposition::Tree::lca - - -Node1 - - -range_queries::heavy -_light_decomposition -::Tree::lca - - - - - -Node2 - - -range_queries::heavy -_light_decomposition -::Tree::lift - - - - - -Node1->Node2 - - - - - - - - diff --git a/d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree_ae8de7aefcb6635d3dacdd174cd4890c4_cgraph.map b/d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree_ae8de7aefcb6635d3dacdd174cd4890c4_cgraph.map deleted file mode 100644 index 47934fc53..000000000 --- a/d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree_ae8de7aefcb6635d3dacdd174cd4890c4_cgraph.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree_ae8de7aefcb6635d3dacdd174cd4890c4_cgraph.md5 b/d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree_ae8de7aefcb6635d3dacdd174cd4890c4_cgraph.md5 deleted file mode 100644 index 976a0d231..000000000 --- a/d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree_ae8de7aefcb6635d3dacdd174cd4890c4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -9c3ed63ca77cff5b7dbda0e8af0c5c0b \ No newline at end of file diff --git a/d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree_ae8de7aefcb6635d3dacdd174cd4890c4_cgraph.svg b/d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree_ae8de7aefcb6635d3dacdd174cd4890c4_cgraph.svg deleted file mode 100644 index 1dc3f3ff6..000000000 --- a/d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree_ae8de7aefcb6635d3dacdd174cd4890c4_cgraph.svg +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - - - - - - - -range_queries::heavy_light_decomposition::Tree::dfs_lca - - -Node1 - - -range_queries::heavy -_light_decomposition -::Tree::dfs_lca - - - - - -Node1->Node1 - - - - - - - - - - - - - diff --git a/d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree_ae8de7aefcb6635d3dacdd174cd4890c4_cgraph_org.svg b/d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree_ae8de7aefcb6635d3dacdd174cd4890c4_cgraph_org.svg deleted file mode 100644 index b7bb2bdf7..000000000 --- a/d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree_ae8de7aefcb6635d3dacdd174cd4890c4_cgraph_org.svg +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - -range_queries::heavy_light_decomposition::Tree::dfs_lca - - -Node1 - - -range_queries::heavy -_light_decomposition -::Tree::dfs_lca - - - - - -Node1->Node1 - - - - - - - - diff --git a/d1/d5d/structstd_1_1is__arithmetic_3_01uint256__t_01_4__inherit__graph.map b/d1/d5d/structstd_1_1is__arithmetic_3_01uint256__t_01_4__inherit__graph.map index 7b6b3d202..81abd7652 100644 --- a/d1/d5d/structstd_1_1is__arithmetic_3_01uint256__t_01_4__inherit__graph.map +++ b/d1/d5d/structstd_1_1is__arithmetic_3_01uint256__t_01_4__inherit__graph.map @@ -1,5 +1,5 @@ - + diff --git a/d1/d5d/structstd_1_1is__arithmetic_3_01uint256__t_01_4__inherit__graph.md5 b/d1/d5d/structstd_1_1is__arithmetic_3_01uint256__t_01_4__inherit__graph.md5 index 377edbd7f..7da104bd8 100644 --- a/d1/d5d/structstd_1_1is__arithmetic_3_01uint256__t_01_4__inherit__graph.md5 +++ b/d1/d5d/structstd_1_1is__arithmetic_3_01uint256__t_01_4__inherit__graph.md5 @@ -1 +1 @@ -c9aab933efc274d7816093a446310403 \ No newline at end of file +38418cdb629a508d14caedeb9b71e651 \ No newline at end of file diff --git a/d1/d5d/structstd_1_1is__arithmetic_3_01uint256__t_01_4__inherit__graph.svg b/d1/d5d/structstd_1_1is__arithmetic_3_01uint256__t_01_4__inherit__graph.svg index 06ff62757..244d7089f 100644 --- a/d1/d5d/structstd_1_1is__arithmetic_3_01uint256__t_01_4__inherit__graph.svg +++ b/d1/d5d/structstd_1_1is__arithmetic_3_01uint256__t_01_4__inherit__graph.svg @@ -32,7 +32,7 @@ Node2 - + std::true_type diff --git a/d1/d5d/structstd_1_1is__arithmetic_3_01uint256__t_01_4__inherit__graph_org.svg b/d1/d5d/structstd_1_1is__arithmetic_3_01uint256__t_01_4__inherit__graph_org.svg index bea7c50aa..73e84e2ad 100644 --- a/d1/d5d/structstd_1_1is__arithmetic_3_01uint256__t_01_4__inherit__graph_org.svg +++ b/d1/d5d/structstd_1_1is__arithmetic_3_01uint256__t_01_4__inherit__graph_org.svg @@ -21,7 +21,7 @@ Node2 - + std::true_type diff --git a/d1/d64/namespaceinterpolation__search.html b/d1/d64/namespaceinterpolation__search.html index 9a35e709d..fe722e5d6 100644 --- a/d1/d64/namespaceinterpolation__search.html +++ b/d1/d64/namespaceinterpolation__search.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: interpolation_search Namespace Reference +TheAlgorithms/C++: interpolation_search Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
@@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/d1/d64/namespacemodular__division.html b/d1/d64/namespacemodular__division.html index 23f95a327..7c168ecc7 100644 --- a/d1/d64/namespacemodular__division.html +++ b/d1/d64/namespacemodular__division.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: modular_division Namespace Reference +TheAlgorithms/C++: modular_division Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
@@ -33,10 +49,11 @@ MathJax.Hub.Config({
-
Algorithms_in_C++ 1.0.0 +
TheAlgorithms/C++ 1.0.0
-
Set of algorithms implemented in C++.
+
All the algorithms implemented in C++
+ diff --git a/d1/d67/classrange__queries_1_1heavy__light__decomposition_1_1_s_g__coll__graph.map b/d1/d67/classrange__queries_1_1heavy__light__decomposition_1_1_s_g__coll__graph.map index 9926b8a56..e81b44e15 100644 --- a/d1/d67/classrange__queries_1_1heavy__light__decomposition_1_1_s_g__coll__graph.map +++ b/d1/d67/classrange__queries_1_1heavy__light__decomposition_1_1_s_g__coll__graph.map @@ -1,5 +1,5 @@ - + diff --git a/d1/d67/classrange__queries_1_1heavy__light__decomposition_1_1_s_g__coll__graph.md5 b/d1/d67/classrange__queries_1_1heavy__light__decomposition_1_1_s_g__coll__graph.md5 index ea3915d14..2b54b5f4a 100644 --- a/d1/d67/classrange__queries_1_1heavy__light__decomposition_1_1_s_g__coll__graph.md5 +++ b/d1/d67/classrange__queries_1_1heavy__light__decomposition_1_1_s_g__coll__graph.md5 @@ -1 +1 @@ -875dee2e692f80f98cdfccb1dfb059c8 \ No newline at end of file +0e29585bfac0bb6ce53c2925c93612fe \ No newline at end of file diff --git a/d1/d67/classrange__queries_1_1heavy__light__decomposition_1_1_s_g__coll__graph.svg b/d1/d67/classrange__queries_1_1heavy__light__decomposition_1_1_s_g__coll__graph.svg index 7cedd0f42..8ea6a0174 100644 --- a/d1/d67/classrange__queries_1_1heavy__light__decomposition_1_1_s_g__coll__graph.svg +++ b/d1/d67/classrange__queries_1_1heavy__light__decomposition_1_1_s_g__coll__graph.svg @@ -33,7 +33,7 @@ Node2 - + std::vector< X > diff --git a/d1/d67/classrange__queries_1_1heavy__light__decomposition_1_1_s_g__coll__graph_org.svg b/d1/d67/classrange__queries_1_1heavy__light__decomposition_1_1_s_g__coll__graph_org.svg index 164c1197a..8708c96e6 100644 --- a/d1/d67/classrange__queries_1_1heavy__light__decomposition_1_1_s_g__coll__graph_org.svg +++ b/d1/d67/classrange__queries_1_1heavy__light__decomposition_1_1_s_g__coll__graph_org.svg @@ -22,7 +22,7 @@ Node2 - + std::vector< X > diff --git a/d1/d70/cll_8cpp_source.html b/d1/d70/cll_8cpp_source.html new file mode 100644 index 000000000..3828caf62 --- /dev/null +++ b/d1/d70/cll_8cpp_source.html @@ -0,0 +1,250 @@ + + + + + + + + +TheAlgorithms/C++: data_structures/cll/cll.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
+
+
-
Algorithms_in_C++ 1.0.0 +
TheAlgorithms/C++ 1.0.0
-
Set of algorithms implemented in C++.
+
All the algorithms implemented in C++
+ + + + + + +
+
TheAlgorithms/C++ 1.0.0 +
+
All the algorithms implemented in C++
+
+
+ + + + + + + + + +
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
cll.cpp
+
+
+
1/*
+
2 A simple class for Cicular Linear Linked List
+
3*/
+
4#include "cll.h"
+
5using namespace std;
+
6
+
7/* Constructor */
+
8cll::cll() {
+
9 head = NULL;
+
10 total = 0;
+
11}
+
12
+
13cll::~cll() { /* Desstructure, no need to fill */
+
14}
+
15
+
16/* Display a list. and total element */
+
17void cll::display() {
+
18 if (head == NULL)
+
19 cout << "List is empty !" << endl;
+
20 else {
+
21 cout << "CLL list: ";
+
22 node *current = head;
+
23 for (int i = 0; i < total; i++) {
+
24 cout << current->data << " -> ";
+
25 current = current->next;
+
26 }
+
27 cout << head->data << endl;
+
28 cout << "Total element: " << total << endl;
+
29 }
+
30}
+
31
+
32/* List insert a new value at head in list */
+
33void cll::insert_front(int new_data) {
+
34 node *newNode;
+
35 newNode = new node;
+
36 newNode->data = new_data;
+
37 newNode->next = NULL;
+
38 if (head == NULL) {
+
39 head = newNode;
+
40 head->next = head;
+
41 } else {
+
42 node *current = head;
+
43 while (current->next != head) {
+
44 current = current->next;
+
45 }
+
46 newNode->next = head;
+
47 current->next = newNode;
+
48 head = newNode;
+
49 }
+
50 total++;
+
51}
+
52
+
53/* List insert a new value at head in list */
+
54void cll::insert_tail(int new_data) {
+
55 node *newNode;
+
56 newNode = new node;
+
57 newNode->data = new_data;
+
58 newNode->next = NULL;
+
59 if (head == NULL) {
+
60 head = newNode;
+
61 head->next = head;
+
62 } else {
+
63 node *current = head;
+
64 while (current->next != head) {
+
65 current = current->next;
+
66 }
+
67 current->next = newNode;
+
68 newNode->next = head;
+
69 }
+
70 total++;
+
71}
+
72
+
73/* Get total element in list */
+
74int cll::get_size() { return total; }
+
75
+
76/* Return true if the requested item (sent in as an argument)
+
77is in the list, otherwise return false */
+
78bool cll::find_item(int item_to_find) {
+
79 if (head == NULL) {
+
80 cout << "List is empty !" << endl;
+
81 return false;
+
82 } else {
+
83 node *current = head;
+
84 while (current->next != head) {
+
85 if (current->data == item_to_find)
+
86 return true;
+
87 current = current->next;
+
88 }
+
89 return false;
+
90 }
+
91}
+
92
+
93/* Overloading method*/
+
94int cll::operator*() { return head->data; }
+
95
+
96/* Overload the pre-increment operator.
+
97 The iterator is advanced to the next node. */
+
98void cll::operator++() {
+
99 if (head == NULL) {
+
100 cout << "List is empty !" << endl;
+
101 } else {
+
102 node *current = head;
+
103 while (current->next != head) {
+
104 current = current->next;
+
105 }
+
106 current->next = head->next;
+
107 head = head->next;
+
108 }
+
109 total--;
+
110}
+
struct node { int data; int height; struct node *left; struct node *right;} node
for std::queue
Definition avltree.cpp:13
+
#define endl
+ +
+
+ + + + diff --git a/d1/d71/classgraph_1_1_lowest_common_ancestor__coll__graph.map b/d1/d71/classgraph_1_1_lowest_common_ancestor__coll__graph.map index d44df0032..c30ea60d0 100644 --- a/d1/d71/classgraph_1_1_lowest_common_ancestor__coll__graph.map +++ b/d1/d71/classgraph_1_1_lowest_common_ancestor__coll__graph.map @@ -4,13 +4,13 @@ - + - + - +
diff --git a/d1/d71/classgraph_1_1_lowest_common_ancestor__coll__graph.md5 b/d1/d71/classgraph_1_1_lowest_common_ancestor__coll__graph.md5 index 512699606..d7c098bff 100644 --- a/d1/d71/classgraph_1_1_lowest_common_ancestor__coll__graph.md5 +++ b/d1/d71/classgraph_1_1_lowest_common_ancestor__coll__graph.md5 @@ -1 +1 @@ -dcc9b37a10516be7cfc90a73f44223f4 \ No newline at end of file +73295c328d064ad6b84e0f23544a3678 \ No newline at end of file diff --git a/d1/d71/classgraph_1_1_lowest_common_ancestor__coll__graph.svg b/d1/d71/classgraph_1_1_lowest_common_ancestor__coll__graph.svg index 58da5d6fb..08f1a962c 100644 --- a/d1/d71/classgraph_1_1_lowest_common_ancestor__coll__graph.svg +++ b/d1/d71/classgraph_1_1_lowest_common_ancestor__coll__graph.svg @@ -68,7 +68,7 @@ Node4 - + std::map< T, std::list < T > > @@ -108,7 +108,7 @@ Node6 - + std::vector< std::vector < int > > @@ -138,7 +138,7 @@ Node7 - + std::vector< int > diff --git a/d1/d71/classgraph_1_1_lowest_common_ancestor__coll__graph_org.svg b/d1/d71/classgraph_1_1_lowest_common_ancestor__coll__graph_org.svg index a9fb46e27..234b78f3f 100644 --- a/d1/d71/classgraph_1_1_lowest_common_ancestor__coll__graph_org.svg +++ b/d1/d71/classgraph_1_1_lowest_common_ancestor__coll__graph_org.svg @@ -57,7 +57,7 @@ Node4 - + std::map< T, std::list < T > > @@ -97,7 +97,7 @@ Node6 - + std::vector< std::vector < int > > @@ -127,7 +127,7 @@ Node7 - + std::vector< int > diff --git a/d1/d76/buzz__number_8cpp.html b/d1/d76/buzz__number_8cpp.html index 0fc2c48e1..9c8690a21 100644 --- a/d1/d76/buzz__number_8cpp.html +++ b/d1/d76/buzz__number_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: others/buzz_number.cpp File Reference +TheAlgorithms/C++: others/buzz_number.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
@@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -118,7 +135,9 @@ Include dependency graph for buzz_number.cpp:
-
-
Algorithms_in_C++ 1.0.0 +
TheAlgorithms/C++ 1.0.0
-
Set of algorithms implemented in C++.
+
All the algorithms implemented in C++
+ +

Go to the source code of this file.

+
@@ -126,6 +145,8 @@ Functions

Functions

int main ()

Detailed Description

A buzz number is a number that is either divisible by 7 or has last digit as 7.

+ +

Definition in file buzz_number.cpp.

Function Documentation

◆ main()

@@ -142,27 +163,21 @@ Functions

main function

+ +

Definition at line 9 of file buzz_number.cpp.

9 {
10 int n, t;
-
11 std::cin >> t;
+
11 std::cin >> t;
12 while (t--) {
-
13 std::cin >> n;
+
13 std::cin >> n;
14 if ((n % 7 == 0) || (n % 10 == 7))
-
15 std::cout << n << " is a buzz number" << std::endl;
+
15 std::cout << n << " is a buzz number" << std::endl;
16 else
-
17 std::cout << n << " is not a buzz number" << std::endl;
+
17 std::cout << n << " is not a buzz number" << std::endl;
18 }
19 return 0;
20}
- - -
T endl(T... args)
-
-Here is the call graph for this function:
-
-
-
- +
diff --git a/d1/d76/buzz__number_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d1/d76/buzz__number_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 490da38cb..000000000 --- a/d1/d76/buzz__number_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d1/d76/buzz__number_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d1/d76/buzz__number_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index 2f2fe09b6..000000000 --- a/d1/d76/buzz__number_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -fa87532068062fd8189cade55ca11658 \ No newline at end of file diff --git a/d1/d76/buzz__number_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d1/d76/buzz__number_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 5c76e5177..000000000 --- a/d1/d76/buzz__number_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d1/d76/buzz__number_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d1/d76/buzz__number_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 575e4300e..000000000 --- a/d1/d76/buzz__number_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - diff --git a/d1/d76/buzz__number_8cpp_source.html b/d1/d76/buzz__number_8cpp_source.html new file mode 100644 index 000000000..f93c1f2db --- /dev/null +++ b/d1/d76/buzz__number_8cpp_source.html @@ -0,0 +1,155 @@ + + + + + + + + +TheAlgorithms/C++: others/buzz_number.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
TheAlgorithms/C++ 1.0.0 +
+
All the algorithms implemented in C++
+
+
+ + + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
buzz_number.cpp
+
+
+Go to the documentation of this file.
1
+
6#include <iostream>
+
7
+
+
9int main() {
+
10 int n, t;
+
11 std::cin >> t;
+
12 while (t--) {
+
13 std::cin >> n;
+
14 if ((n % 7 == 0) || (n % 10 == 7))
+
15 std::cout << n << " is a buzz number" << std::endl;
+
16 else
+
17 std::cout << n << " is not a buzz number" << std::endl;
+
18 }
+
19 return 0;
+
20}
+
+
int main()
+
+
+ + + + diff --git a/d1/d77/structmst.html b/d1/d77/structmst.html index 0e909333d..e8ffddddc 100644 --- a/d1/d77/structmst.html +++ b/d1/d77/structmst.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: mst Struct Reference +TheAlgorithms/C++: mst Struct Reference + + + @@ -18,14 +24,24 @@ - - + +
@@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -113,18 +130,67 @@ $(function(){initNavTree('d1/d77/structmst.html','../../'); initResizable(true);
-
Algorithms_in_C++ 1.0.0 +
TheAlgorithms/C++ 1.0.0
-
Set of algorithms implemented in C++.
+
All the algorithms implemented in C++
- + - + - +

Public Attributes

-bool visited
bool visited
 
-int key
int key
 
-int near
int near
 
+

Detailed Description

+
+

Definition at line 9 of file prims_minimum_spanning_tree.cpp.

+

Member Data Documentation

+ +

◆ key

+ +
+
+ + + + +
int mst::key
+
+ +

Definition at line 11 of file prims_minimum_spanning_tree.cpp.

+ +
+
+ +

◆ near

+ +
+
+ + + + +
int mst::near
+
+ +

Definition at line 12 of file prims_minimum_spanning_tree.cpp.

+ +
+
+ +

◆ visited

+ +
+
+ + + + +
bool mst::visited
+
+ +

Definition at line 10 of file prims_minimum_spanning_tree.cpp.

+ +
+

The documentation for this struct was generated from the following file:
diff --git a/d1/d7c/fibonacci__bottom__up_8cpp_source.html b/d1/d7c/fibonacci__bottom__up_8cpp_source.html new file mode 100644 index 000000000..1fa1f79f7 --- /dev/null +++ b/d1/d7c/fibonacci__bottom__up_8cpp_source.html @@ -0,0 +1,160 @@ + + + + + + + + +TheAlgorithms/C++: dynamic_programming/fibonacci_bottom_up.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
TheAlgorithms/C++ 1.0.0 +
+
All the algorithms implemented in C++
+
+
+ + + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
fibonacci_bottom_up.cpp
+
+
+
1#include <iostream>
+
2using namespace std;
+
3int fib(int n) {
+
4 int res[3];
+
5 res[0] = 0;
+
6 res[1] = 1;
+
7 for (int i = 2; i <= n; i++) {
+
8 res[2] = res[1] + res[0];
+
9 res[0] = res[1];
+
10 res[1] = res[2];
+
11 }
+
12 return res[1];
+
13}
+
14int main(int argc, char const *argv[]) {
+
15 int n;
+
16 cout << "Enter n: ";
+
17 cin >> n;
+
18 cout << "Fibonacci number is ";
+
19 cout << fib(n) << endl;
+
20 return 0;
+
21}
+
int main()
Main function.
+
#define endl
+
+
+ + + + diff --git a/d1/d83/classuint256__t.html b/d1/d83/classuint256__t.html index 354ec40da..ce7d736eb 100644 --- a/d1/d83/classuint256__t.html +++ b/d1/d83/classuint256__t.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: uint256_t Class Reference +TheAlgorithms/C++: uint256_t Class Reference + + + @@ -18,14 +24,24 @@ - - + +
@@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -130,7 +147,7 @@ Public Member Functions - + @@ -178,7 +195,7 @@ Public Member Functions - + - + @@ -399,7 +416,7 @@ Public Member Functions
-
Algorithms_in_C++ 1.0.0 +
TheAlgorithms/C++ 1.0.0
-
Set of algorithms implemented in C++.
+
All the algorithms implemented in C++
 uint256_t (T low)
 Parameterized constructor.
 
 uint256_t (const std::string &str)
 uint256_t (const std::string &str)
 Parameterized constructor.
 
 uint256_t (const uint256_t &num)=default
uint256_toperator= (const T &p)
 operator = for other types
 
uint256_toperator= (const std::string &p)
uint256_toperator= (const std::string &p)
 operator = for type string
 
@@ -242,7 +259,7 @@ Public Member Functions
uint256_toperator*= (const uint256_t &p)
 operator *= for uint256_t and other integer types.
 
std::pair< uint256_t, uint256_tdivide (const uint256_t &p)
std::pair< uint256_t, uint256_tdivide (const uint256_t &p)
 divide function for uint256_t and other integer types.
 
template<typename T , typename = typename std::enable_if< std::is_integral<T>::value, T>::type>
- +

Private Member Functions

void __get_integer_from_string (const std::string &str)
void __get_integer_from_string (const std::string &str)
 First and second half of 256 bit number.
 
@@ -412,12 +429,14 @@ Private Attributes
- +

Friends

std::ostreamoperator<< (std::ostream &op, uint256_t p)
std::ostream & operator<< (std::ostream &op, uint256_t p)
 operator << for printing uint256_t integer
 

Detailed Description

class for 256-bit unsigned integer

+ +

Definition at line 33 of file uint256_t.hpp.

Constructor & Destructor Documentation

◆ uint256_t() [1/6]

@@ -457,6 +476,8 @@ template<typename T , typename = typename std::enable_if< + +

Definition at line 75 of file uint256_t.hpp.

75: s(low), f(0) {}
@@ -473,7 +494,7 @@ template<typename T , typename = typename std::enable_if< uint256_t::uint256_t ( - const std::string & str) + const std::string & str) @@ -491,16 +512,13 @@ template<typename T , typename = typename std::enable_if< + +

Definition at line 81 of file uint256_t.hpp.

81 {
83 }
-
void __get_integer_from_string(const std::string &str)
First and second half of 256 bit number.
Definition uint256_t.hpp:43
-
-Here is the call graph for this function:
-
-
-
- +
void __get_integer_from_string(const std::string &str)
First and second half of 256 bit number.
Definition uint256_t.hpp:43
+ @@ -566,8 +584,9 @@ Here is the call graph for this function: -
96 : f(std::move(num.f)), s(std::move(num.s)) {}
-
T move(T... args)
+ +

Definition at line 95 of file uint256_t.hpp.

+
96 : f(std::move(num.f)), s(std::move(num.s)) {}
@@ -606,7 +625,9 @@ Here is the call graph for this function: -
104 : f(std::move(high)), s(std::move(low)) {}
+ +

Definition at line 103 of file uint256_t.hpp.

+
104 : f(std::move(high)), s(std::move(low)) {}
@@ -645,6 +666,8 @@ Here is the call graph for this function: + +

Definition at line 111 of file uint256_t.hpp.

111: f(high), s(low) {}
@@ -662,7 +685,7 @@ Here is the call graph for this function: void uint256_t::__get_integer_from_string ( - const std::string & str) + const std::string & str) @@ -682,10 +705,12 @@ Here is the call graph for this function:
Returns
void
+ +

Definition at line 43 of file uint256_t.hpp.

43 {
44 this->f = this->s = uint128_t(0);
-
45 if (str.size() > 1 && str[1] == 'x') {
-
46 for (auto i = 2; i < str.size(); ++i) {
+
45 if (str.size() > 1 && str[1] == 'x') {
+
46 for (auto i = 2; i < str.size(); ++i) {
47 *this *= 16LL;
48 if (str[i] >= '0' && str[i] <= '9') {
49 *this += (str[i] - '0');
@@ -702,14 +727,8 @@ Here is the call graph for this function:
60 }
61 }
62 }
-
class for 128-bit unsigned integer
Definition uint128_t.hpp:60
-
T size(T... args)
-
-Here is the call graph for this function:
-
-
-
- +
class for 128-bit unsigned integer
Definition uint128_t.hpp:60
+ @@ -737,19 +756,16 @@ Here is the call graph for this function:

Leading zeroes in binary.

Calculates leading zeros in 256-bit integer

Returns
Integer denoting leading zeroes
+ +

Definition at line 123 of file uint256_t.hpp.

123 {
124 if (f) {
125 return f._lez();
126 }
127 return 128 + s._lez();
128 }
-
uint32_t _lez()
Leading zeroes in binary.
Definition uint128_t.hpp:140
-
-Here is the call graph for this function:
-
-
-
- +
uint32_t _lez()
Leading zeroes in binary.
+ @@ -777,19 +793,16 @@ Here is the call graph for this function:

Trailing zeroes in binary.

Calculates leading zeros in 256-bit integer

Returns
Integer denoting Trailing zeroes
+ +

Definition at line 135 of file uint256_t.hpp.

135 {
136 if (s) {
137 return s._trz();
138 }
139 return 128 + f._trz();
140 }
-
uint32_t _trz()
Trailing zeroes in binary.
Definition uint128_t.hpp:163
-
-Here is the call graph for this function:
-
-
-
- +
uint32_t _trz()
Trailing zeroes in binary.
+ @@ -802,7 +815,7 @@ Here is the call graph for this function: - + @@ -823,6 +836,8 @@ Here is the call graph for this function:
Returns
pair denoting quotient and remainder.
+ +

Definition at line 421 of file uint256_t.hpp.

421 {
422 if (*this < p) { // if this is less than divisor
423 return {uint256_t(0), *this};
@@ -851,14 +866,9 @@ Here is the call graph for this function:
446 }
447 return {quotient << left, tmp2};
448 }
-
class for 256-bit unsigned integer
Definition uint256_t.hpp:33
-
uint32_t _lez()
Leading zeroes in binary.
Definition uint256_t.hpp:123
-
-Here is the call graph for this function:
-
-
-
- +
class for 256-bit unsigned integer
Definition uint256_t.hpp:33
+
uint32_t _lez()
Leading zeroes in binary.
+ @@ -886,6 +896,8 @@ Here is the call graph for this function:

returns lower 128-bit integer part

Returns
returns lower 128-bit integer part
+ +

Definition at line 169 of file uint256_t.hpp.

169{ return s; }
@@ -915,6 +927,8 @@ Here is the call graph for this function:

casting operator to boolean value

Returns
true if value of this is non-zero, else false
+ +

Definition at line 146 of file uint256_t.hpp.

146{ return f || s; }
@@ -952,6 +966,8 @@ template<typename T , typename = typename std::enable_if<
Returns
integer value casted to mentioned type
+ +

Definition at line 155 of file uint256_t.hpp.

155 {
156 return static_cast<T>(s);
157 }
@@ -983,6 +999,8 @@ template<typename T , typename = typename std::enable_if<

casting operator to uint128_t

Returns
returns lower 128-bit integer part
+ +

Definition at line 163 of file uint256_t.hpp.

163{ return s; }
@@ -1012,6 +1030,8 @@ template<typename T , typename = typename std::enable_if<

operator ! for uint256_t

Returns
true if this has zero value, else false
+ +

Definition at line 596 of file uint256_t.hpp.

596{ return !f && !s; }
@@ -1055,6 +1075,8 @@ template<typename T , typename = typename std::enable_if<
Returns
true if this is not equal to other, else false
+ +

Definition at line 690 of file uint256_t.hpp.

690 {
691 return *this != uint256_t(other);
692 }
@@ -1092,6 +1114,8 @@ template<typename T , typename = typename std::enable_if<
Returns
true if this is not equal than other, else false
+ +

Definition at line 588 of file uint256_t.hpp.

588 {
589 return !((*this) == other);
590 }
@@ -1137,6 +1161,8 @@ template<typename T , typename = typename std::enable_if<
Returns
unsigned 256-bit remainder.
+ +

Definition at line 509 of file uint256_t.hpp.

509 {
510 uint256_t tmp = *this;
511 tmp %= uint256_t(p);
@@ -1176,14 +1202,11 @@ template<typename T , typename = typename std::enable_if<
Returns
unsigned 256-bit remainder.
-
499{ return divide(p).second; }
-
std::pair< uint256_t, uint256_t > divide(const uint256_t &p)
divide function for uint256_t and other integer types.
Definition uint256_t.hpp:421
-
-Here is the call graph for this function:
-
-
-
+

Definition at line 499 of file uint256_t.hpp.

+
499{ return divide(p).second; }
+
std::pair< uint256_t, uint256_t > divide(const uint256_t &p)
divide function for uint256_t and other integer types.
+
@@ -1225,6 +1248,8 @@ template<typename T , typename = typename std::enable_if<
Returns
this set as unsigned 256-bit remainder.
+ +

Definition at line 533 of file uint256_t.hpp.

533 {
534 *this %= uint256_t(p);
535 return *this;
@@ -1263,16 +1288,13 @@ template<typename T , typename = typename std::enable_if<
Returns
this set as unsigned 256-bit remainder.
+ +

Definition at line 520 of file uint256_t.hpp.

520 {
521 *this = divide(p).second;
522 return *this;
523 }
-
-Here is the call graph for this function:
-
-
-
- +
@@ -1314,6 +1336,8 @@ template<typename T , typename = typename std::enable_if<
Returns
value of this & p (& is bit-wise operator)
+ +

Definition at line 811 of file uint256_t.hpp.

811 {
812 return *this & uint256_t(p);
813 }
@@ -1351,6 +1375,8 @@ template<typename T , typename = typename std::enable_if<
Returns
value of this & p (& is bit-wise operator)
+ +

Definition at line 820 of file uint256_t.hpp.

820 {
821 return {f & p.f, s & p.s};
822 }
@@ -1396,6 +1422,8 @@ template<typename T , typename = typename std::enable_if<
Returns
true if this is both values are non-zero, else false
+ +

Definition at line 702 of file uint256_t.hpp.

702 {
703 return (s || f) && (b);
704 }
@@ -1433,6 +1461,8 @@ template<typename T , typename = typename std::enable_if<
Returns
true if both of the values are not zero, else false
+ +

Definition at line 603 of file uint256_t.hpp.

603 {
604 return (s || f) && (b.s || b.f);
605 }
@@ -1478,6 +1508,8 @@ template<typename T , typename = typename std::enable_if<
Returns
this = this & p (& is bit-wise operator)
+ +

Definition at line 843 of file uint256_t.hpp.

843 {
844 s &= p.s;
845 return *this;
@@ -1516,6 +1548,8 @@ template<typename T , typename = typename std::enable_if<
Returns
this = this & p (& is bit-wise operator)
+ +

Definition at line 829 of file uint256_t.hpp.

829 {
830 f &= p.f;
831 s &= p.s;
@@ -1549,6 +1583,8 @@ template<typename T , typename = typename std::enable_if<

operator () for uint256_t

Returns
true if this value is non-zero, else false
+ +

Definition at line 620 of file uint256_t.hpp.

620{ return s || f; }
@@ -1592,6 +1628,8 @@ template<typename T , typename = typename std::enable_if<
Returns
multiplication of this and p, returning uint256_t integer
+ +

Definition at line 362 of file uint256_t.hpp.

362 {
363 return *this * uint256_t(p);
364 }
@@ -1629,6 +1667,8 @@ template<typename T , typename = typename std::enable_if<
Returns
multiplication of this and p, returning uint256_t integer
+ +

Definition at line 371 of file uint256_t.hpp.

371 {
372 uint128_t f_first(s.upper()), f_second(s.lower()), s_first(p.s.upper()),
373 s_second(p.s.lower());
@@ -1641,14 +1681,9 @@ template<typename T , typename = typename std::enable_if<
380 return {f * p.s + s * p.f + fi + se.upper() + th.upper() + cc,
381 tmp + fo};
382 }
-
uint64_t upper() const
returns upper 64-bit integer part
Definition uint128_t.hpp:208
-
uint64_t lower() const
returns lower 64-bit integer part
Definition uint128_t.hpp:202
-
-Here is the call graph for this function:
-
-
-
- +
uint64_t upper() const
returns upper 64-bit integer part
+
uint64_t lower() const
returns lower 64-bit integer part
+
@@ -1690,6 +1725,8 @@ template<typename T , typename = typename std::enable_if<
Returns
multiplication of this and p, returning this
+ +

Definition at line 392 of file uint256_t.hpp.

392 {
393 return (*this *= uint256_t(p));
394 }
@@ -1727,6 +1764,8 @@ template<typename T , typename = typename std::enable_if<
Returns
multiplication of this and p, returning this
+ +

Definition at line 401 of file uint256_t.hpp.

401 {
402 uint128_t f_first(s.upper()), f_second(s.lower()), s_first(p.s.upper()),
403 s_second(p.s.lower());
@@ -1740,12 +1779,7 @@ template<typename T , typename = typename std::enable_if<
411 s = tmp + fo;
412 return *this;
413 }
-
-Here is the call graph for this function:
-
-
-
- +
@@ -1787,6 +1821,8 @@ template<typename T , typename = typename std::enable_if<
Returns
addition of this and p, returning uint256_t integer
+ +

Definition at line 220 of file uint256_t.hpp.

220 {
221 bool app = s + p < s;
222 return uint256_t(f + app, s + p);
@@ -1825,6 +1861,8 @@ template<typename T , typename = typename std::enable_if<
Returns
addition of this and p, returning uint256_t integer
+ +

Definition at line 230 of file uint256_t.hpp.

230 {
231 bool app = (s + p.s < s);
232 return {f + app + p.f, s + p.s};
@@ -1857,6 +1895,8 @@ template<typename T , typename = typename std::enable_if<

pre-increment operator

Returns
incremented value of this.
+ +

Definition at line 266 of file uint256_t.hpp.

266 {
267 *this += 1;
268 return *this;
@@ -1889,6 +1929,8 @@ template<typename T , typename = typename std::enable_if<

post-increment operator

Returns
incremented value of this.
+ +

Definition at line 275 of file uint256_t.hpp.

275 {
276 ++*this;
277 return *this;
@@ -1935,6 +1977,8 @@ template<typename T , typename = typename std::enable_if<
Returns
addition of this and p, returning this
+ +

Definition at line 243 of file uint256_t.hpp.

243 {
244 bool app = (p + s < s);
245 this->f += app;
@@ -1975,6 +2019,8 @@ template<typename T , typename = typename std::enable_if<
Returns
addition of this and p, returning this
+ +

Definition at line 255 of file uint256_t.hpp.

255 {
256 bool app = (s + p.s < s);
257 f = f + app + p.f;
@@ -2009,6 +2055,8 @@ template<typename T , typename = typename std::enable_if<

operator - using twos complement

Returns
2's complement of this.
+ +

Definition at line 307 of file uint256_t.hpp.

307{ return ~*this + uint256_t(1); }
@@ -2052,6 +2100,8 @@ template<typename T , typename = typename std::enable_if<
Returns
subtraction of this and p, returning uint256_t integer
+ +

Definition at line 288 of file uint256_t.hpp.

288 {
289 bool app = (p > s);
290 return uint256_t(f - app, s - p);
@@ -2090,6 +2140,8 @@ template<typename T , typename = typename std::enable_if<
Returns
subtraction of this and p, returning uint256_t integer
+ +

Definition at line 298 of file uint256_t.hpp.

298 {
299 bool app = s < p.s;
300 return {f - p.f - app, s - p.s};
@@ -2122,6 +2174,8 @@ template<typename T , typename = typename std::enable_if<

operator – (pre-decrement)

Returns
decremented value of this
+ +

Definition at line 313 of file uint256_t.hpp.

313 {
314 *this -= 1;
315 return *this;
@@ -2154,6 +2208,8 @@ template<typename T , typename = typename std::enable_if<

operator – (post-decrement)

Returns
decremented value of this
+ +

Definition at line 322 of file uint256_t.hpp.

322 {
323 --*this;
324 return *this;
@@ -2200,6 +2256,8 @@ template<typename T , typename = typename std::enable_if<
Returns
subtraction of this and p, returning this
+ +

Definition at line 335 of file uint256_t.hpp.

335 {
336 bool app = (p > s);
337 f = f - app;
@@ -2240,6 +2298,8 @@ template<typename T , typename = typename std::enable_if<
Returns
subtraction of this and p, returning this
+ +

Definition at line 347 of file uint256_t.hpp.

347 {
348 bool app = s < p.s;
349 f = f - app - p.f;
@@ -2288,6 +2348,8 @@ template<typename T , typename = typename std::enable_if<
Returns
unsigned 256-bit quotient.
+ +

Definition at line 458 of file uint256_t.hpp.

458 {
459 uint256_t tmp = *this;
460 tmp /= uint256_t(p);
@@ -2327,13 +2389,10 @@ template<typename T , typename = typename std::enable_if<
Returns
unsigned 256-bit quotient.
-
469{ return divide(p).first; }
-
-Here is the call graph for this function:
-
-
-
+

Definition at line 469 of file uint256_t.hpp.

+
469{ return divide(p).first; }
+
@@ -2375,6 +2434,8 @@ template<typename T , typename = typename std::enable_if<
Returns
this set as unsigned 256-bit quotient.
+ +

Definition at line 489 of file uint256_t.hpp.

489 {
490 *this /= uint256_t(p);
491 return *this;
@@ -2413,16 +2474,13 @@ template<typename T , typename = typename std::enable_if<
Returns
this set as unsigned 256-bit quotient.
+ +

Definition at line 476 of file uint256_t.hpp.

476 {
477 *this = divide(p).first;
478 return *this;
479 }
-
-Here is the call graph for this function:
-
-
-
- +
@@ -2464,6 +2522,8 @@ template<typename T , typename = typename std::enable_if<
Returns
true if this is less than other, else false
+ +

Definition at line 630 of file uint256_t.hpp.

630 {
631 return *this < uint256_t(other);
632 }
@@ -2501,6 +2561,8 @@ template<typename T , typename = typename std::enable_if<
Returns
true if this is less than other, else false
+ +

Definition at line 543 of file uint256_t.hpp.

543 {
544 return f < other.f || (f == other.f && s < other.s);
545 }
@@ -2546,6 +2608,8 @@ template<typename T , typename = typename std::enable_if<
Returns
value of this shifted by p to left
+ +

Definition at line 733 of file uint256_t.hpp.

733 {
734 if (!p) {
735 return {this->f, this->s};
@@ -2597,6 +2661,8 @@ template<typename T , typename = typename std::enable_if<
Returns
this shifted by p to left
+ +

Definition at line 751 of file uint256_t.hpp.

751 {
752 if (p) {
753 if (p >= 128) {
@@ -2651,6 +2717,8 @@ template<typename T , typename = typename std::enable_if<
Returns
true if this is less than or equal to other, else false
+ +

Definition at line 642 of file uint256_t.hpp.

642 {
643 return *this <= uint256_t(other);
644 }
@@ -2688,6 +2756,8 @@ template<typename T , typename = typename std::enable_if<
Returns
true if this is less than or equal to other, else false
+ +

Definition at line 552 of file uint256_t.hpp.

552 {
553 return f < other.f || (f == other.f && s <= other.s);
554 }
@@ -2706,7 +2776,7 @@ template<typename T , typename = typename std::enable_if<
- +
std::pair< uint256_t, uint256_t > uint256_t::divide std::pair< uint256_t, uint256_t > uint256_t::divide ( const uint256_t & p)
uint256_t & uint256_t::operator= (const std::string & p)const std::string & p)
@@ -2725,16 +2795,13 @@ template<typename T , typename = typename std::enable_if<
Returns
this pointer with it's value equal to p
+ +

Definition at line 202 of file uint256_t.hpp.

202 {
204 return *this;
205 }
-
-Here is the call graph for this function:
-
-
-
- + @@ -2776,6 +2843,8 @@ template<typename T , typename = typename std::enable_if<
Returns
this pointer with it's value equal to p
+ +

Definition at line 192 of file uint256_t.hpp.

192 {
193 this->s = p;
194 return *this;
@@ -2856,6 +2925,8 @@ template<typename T , typename = typename std::enable_if<
Returns
true if this is equal to other, else false
+ +

Definition at line 678 of file uint256_t.hpp.

678 {
679 return *this == uint256_t(other);
680 }
@@ -2893,6 +2964,8 @@ template<typename T , typename = typename std::enable_if<
Returns
true if this is equal than other, else false
+ +

Definition at line 579 of file uint256_t.hpp.

579 {
580 return f == other.f && s == other.s;
581 }
@@ -2938,6 +3011,8 @@ template<typename T , typename = typename std::enable_if<
Returns
true if this is greater than other, else false
+ +

Definition at line 654 of file uint256_t.hpp.

654 {
655 return *this > uint256_t(other);
656 }
@@ -2975,6 +3050,8 @@ template<typename T , typename = typename std::enable_if<
Returns
true if this is greater than other, else false
+ +

Definition at line 561 of file uint256_t.hpp.

561 {
562 return f > other.f || (f == other.f && s > other.s);
563 }
@@ -3020,6 +3097,8 @@ template<typename T , typename = typename std::enable_if<
Returns
true if this is greater than or equal other, else false
+ +

Definition at line 666 of file uint256_t.hpp.

666 {
667 return *this >= uint256_t(other);
668 }
@@ -3057,6 +3136,8 @@ template<typename T , typename = typename std::enable_if<
Returns
true if this is greater than or equal than other, else false
+ +

Definition at line 570 of file uint256_t.hpp.

570 {
571 return (f > other.f) || (f == other.f && s >= other.s);
572 }
@@ -3102,6 +3183,8 @@ template<typename T , typename = typename std::enable_if<
Returns
value of this shifted by p to right
+ +

Definition at line 772 of file uint256_t.hpp.

772 {
773 if (!p) {
774 return {this->f, this->s};
@@ -3153,6 +3236,8 @@ template<typename T , typename = typename std::enable_if<
Returns
this shifted by p to right
+ +

Definition at line 790 of file uint256_t.hpp.

790 {
791 if (p) {
792 if (p >= 128) {
@@ -3207,6 +3292,8 @@ template<typename T , typename = typename std::enable_if<
Returns
value of this ^ p (^ is bit-wise XOR operator)
+ +

Definition at line 901 of file uint256_t.hpp.

901 {
902 return uint256_t(f, s ^ p);
903 }
@@ -3244,6 +3331,8 @@ template<typename T , typename = typename std::enable_if<
Returns
value of this ^ p (^ is bit-wise XOR operator)
+ +

Definition at line 910 of file uint256_t.hpp.

910 {
911 return {this->f ^ p.f, this->s ^ p.s};
912 }
@@ -3289,6 +3378,8 @@ template<typename T , typename = typename std::enable_if<
Returns
this = this ^ p (^ is bit-wise XOR operator)
+ +

Definition at line 933 of file uint256_t.hpp.

933 {
934 s ^= p;
935 return *this;
@@ -3327,6 +3418,8 @@ template<typename T , typename = typename std::enable_if<
Returns
this = this ^ p (^ is bit-wise XOR operator)
+ +

Definition at line 919 of file uint256_t.hpp.

919 {
920 f ^= p.f;
921 s ^= p.s;
@@ -3374,6 +3467,8 @@ template<typename T , typename = typename std::enable_if<
Returns
value of this | p (| is bit-wise operator)
+ +

Definition at line 856 of file uint256_t.hpp.

856 {
857 return *this | uint256_t(p);
858 }
@@ -3411,6 +3506,8 @@ template<typename T , typename = typename std::enable_if<
Returns
value of this | p (| is bit-wise OR operator)
+ +

Definition at line 865 of file uint256_t.hpp.

865 {
866 return {this->f | p.f, this->s | p.s};
867 }
@@ -3456,6 +3553,8 @@ template<typename T , typename = typename std::enable_if<
Returns
this = this | p (| is bit-wise OR operator)
+ +

Definition at line 877 of file uint256_t.hpp.

877 {
878 s |= p;
879 return *this;
@@ -3494,6 +3593,8 @@ template<typename T , typename = typename std::enable_if<
Returns
this = this | p (| is bit-wise OR operator)
+ +

Definition at line 887 of file uint256_t.hpp.

887 {
888 f |= p.f;
889 s |= p.s;
@@ -3541,6 +3642,8 @@ template<typename T , typename = typename std::enable_if<
Returns
true if this is either one of the values are non-zero, else false
+ +

Definition at line 715 of file uint256_t.hpp.

715 {
716 return (s || f) || (b);
717 }
@@ -3578,6 +3681,8 @@ template<typename T , typename = typename std::enable_if<
Returns
true if one of the values are not zero, else false
+ +

Definition at line 612 of file uint256_t.hpp.

612 {
613 return (s || f) || (b.s || b.f);
614 }
@@ -3609,6 +3714,8 @@ template<typename T , typename = typename std::enable_if<

operator ~ for uint256_t

Returns
1's complement of this number
+ +

Definition at line 723 of file uint256_t.hpp.

723{ return {~f, ~s}; }
@@ -3638,6 +3745,8 @@ template<typename T , typename = typename std::enable_if<

returns upper 128-bit integer part

Returns
returns upper 128-bit integer part
+ +

Definition at line 175 of file uint256_t.hpp.

175{ return f; }
@@ -3653,9 +3762,9 @@ template<typename T , typename = typename std::enable_if< - + - + @@ -3680,11 +3789,13 @@ template<typename T , typename = typename std::enable_if<
Returns
op, ostream object.
+ +

Definition at line 947 of file uint256_t.hpp.

947 {
948 if (!p.f) {
949 op << p.s;
950 } else {
-
951 std::string out = "0", p_2 = "1";
+
951 std::string out = "0", p_2 = "1";
952 uint128_t L(1);
953 for (uint64_t i = 0; i < 128; ++i) {
954 if ((p.s & L)) {
@@ -3705,8 +3816,7 @@ template<typename T , typename = typename std::enable_if<
969 }
970 return op;
971 }
- -
std::string add(const std::string &first, const std::string &second)
Adding two string.
Definition uint128_t.hpp:38
+
std::string add(const std::string &first, const std::string &second)
Adding two string.
Definition uint128_t.hpp:38
@@ -3730,7 +3840,9 @@ template<typename T , typename = typename std::enable_if<
std::ostream & operator<< std::ostream & operator<< (std::ostream & op, std::ostream & op,
-
34{}, s{}; /// First and second half of 256 bit number
+ +

Definition at line 34 of file uint256_t.hpp.

+
34{}, s{};
@@ -3753,7 +3865,9 @@ template<typename T , typename = typename std::enable_if<
-
34{}, s{}; /// First and second half of 256 bit number
+ +

Definition at line 34 of file uint256_t.hpp.

+
34{}, s{};
diff --git a/d1/d83/classuint256__t_a033d66c965e8d1fbc5bafb59ad60e163_cgraph.map b/d1/d83/classuint256__t_a033d66c965e8d1fbc5bafb59ad60e163_cgraph.map deleted file mode 100644 index 50e802fd3..000000000 --- a/d1/d83/classuint256__t_a033d66c965e8d1fbc5bafb59ad60e163_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d1/d83/classuint256__t_a033d66c965e8d1fbc5bafb59ad60e163_cgraph.md5 b/d1/d83/classuint256__t_a033d66c965e8d1fbc5bafb59ad60e163_cgraph.md5 deleted file mode 100644 index 7b6c1d011..000000000 --- a/d1/d83/classuint256__t_a033d66c965e8d1fbc5bafb59ad60e163_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -a6306bdf6deee90d0e3f227492d92bd1 \ No newline at end of file diff --git a/d1/d83/classuint256__t_a033d66c965e8d1fbc5bafb59ad60e163_cgraph.svg b/d1/d83/classuint256__t_a033d66c965e8d1fbc5bafb59ad60e163_cgraph.svg deleted file mode 100644 index 9a025be16..000000000 --- a/d1/d83/classuint256__t_a033d66c965e8d1fbc5bafb59ad60e163_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -uint256_t::_lez - - -Node1 - - -uint256_t::_lez - - - - - -Node2 - - -uint128_t::_lez - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d1/d83/classuint256__t_a033d66c965e8d1fbc5bafb59ad60e163_cgraph_org.svg b/d1/d83/classuint256__t_a033d66c965e8d1fbc5bafb59ad60e163_cgraph_org.svg deleted file mode 100644 index ea22e3f37..000000000 --- a/d1/d83/classuint256__t_a033d66c965e8d1fbc5bafb59ad60e163_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -uint256_t::_lez - - -Node1 - - -uint256_t::_lez - - - - - -Node2 - - -uint128_t::_lez - - - - - -Node1->Node2 - - - - - - - - diff --git a/d1/d83/classuint256__t_a1fa3d95584d071add9b46597d3747b39_cgraph.map b/d1/d83/classuint256__t_a1fa3d95584d071add9b46597d3747b39_cgraph.map deleted file mode 100644 index 44cafcb78..000000000 --- a/d1/d83/classuint256__t_a1fa3d95584d071add9b46597d3747b39_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/d1/d83/classuint256__t_a1fa3d95584d071add9b46597d3747b39_cgraph.md5 b/d1/d83/classuint256__t_a1fa3d95584d071add9b46597d3747b39_cgraph.md5 deleted file mode 100644 index 09ab20b23..000000000 --- a/d1/d83/classuint256__t_a1fa3d95584d071add9b46597d3747b39_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -82287d363db4656a67d586b9cb86334c \ No newline at end of file diff --git a/d1/d83/classuint256__t_a1fa3d95584d071add9b46597d3747b39_cgraph.svg b/d1/d83/classuint256__t_a1fa3d95584d071add9b46597d3747b39_cgraph.svg deleted file mode 100644 index c5ef33ff8..000000000 --- a/d1/d83/classuint256__t_a1fa3d95584d071add9b46597d3747b39_cgraph.svg +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - - - - - -uint256_t::uint256_t - - -Node1 - - -uint256_t::uint256_t - - - - - -Node2 - - -uint256_t::__get_integer -_from_string - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::string::size - - - - - -Node2->Node3 - - - - - - - - - - - - - diff --git a/d1/d83/classuint256__t_a1fa3d95584d071add9b46597d3747b39_cgraph_org.svg b/d1/d83/classuint256__t_a1fa3d95584d071add9b46597d3747b39_cgraph_org.svg deleted file mode 100644 index e00b45da3..000000000 --- a/d1/d83/classuint256__t_a1fa3d95584d071add9b46597d3747b39_cgraph_org.svg +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - -uint256_t::uint256_t - - -Node1 - - -uint256_t::uint256_t - - - - - -Node2 - - -uint256_t::__get_integer -_from_string - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::string::size - - - - - -Node2->Node3 - - - - - - - - diff --git a/d1/d83/classuint256__t_a2cd43a4a92dc825a010a17578b3bdedb_cgraph.map b/d1/d83/classuint256__t_a2cd43a4a92dc825a010a17578b3bdedb_cgraph.map deleted file mode 100644 index b16b13163..000000000 --- a/d1/d83/classuint256__t_a2cd43a4a92dc825a010a17578b3bdedb_cgraph.map +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/d1/d83/classuint256__t_a2cd43a4a92dc825a010a17578b3bdedb_cgraph.md5 b/d1/d83/classuint256__t_a2cd43a4a92dc825a010a17578b3bdedb_cgraph.md5 deleted file mode 100644 index 8f08c73c4..000000000 --- a/d1/d83/classuint256__t_a2cd43a4a92dc825a010a17578b3bdedb_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -7a987e761f35480973c839c21a12edb4 \ No newline at end of file diff --git a/d1/d83/classuint256__t_a2cd43a4a92dc825a010a17578b3bdedb_cgraph.svg b/d1/d83/classuint256__t_a2cd43a4a92dc825a010a17578b3bdedb_cgraph.svg deleted file mode 100644 index 65ea4a69c..000000000 --- a/d1/d83/classuint256__t_a2cd43a4a92dc825a010a17578b3bdedb_cgraph.svg +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - - - - - - - -uint256_t::operator%= - - -Node1 - - -uint256_t::operator%= - - - - - -Node2 - - -uint256_t::divide - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -uint256_t::_lez - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -uint128_t::_lez - - - - - -Node3->Node4 - - - - - - - - - - - - - diff --git a/d1/d83/classuint256__t_a2cd43a4a92dc825a010a17578b3bdedb_cgraph_org.svg b/d1/d83/classuint256__t_a2cd43a4a92dc825a010a17578b3bdedb_cgraph_org.svg deleted file mode 100644 index 4f1910a29..000000000 --- a/d1/d83/classuint256__t_a2cd43a4a92dc825a010a17578b3bdedb_cgraph_org.svg +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - -uint256_t::operator%= - - -Node1 - - -uint256_t::operator%= - - - - - -Node2 - - -uint256_t::divide - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -uint256_t::_lez - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -uint128_t::_lez - - - - - -Node3->Node4 - - - - - - - - diff --git a/d1/d83/classuint256__t_a4645040fe68ff01d83400f173fd2bb21_cgraph.map b/d1/d83/classuint256__t_a4645040fe68ff01d83400f173fd2bb21_cgraph.map deleted file mode 100644 index e4bf52f30..000000000 --- a/d1/d83/classuint256__t_a4645040fe68ff01d83400f173fd2bb21_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/d1/d83/classuint256__t_a4645040fe68ff01d83400f173fd2bb21_cgraph.md5 b/d1/d83/classuint256__t_a4645040fe68ff01d83400f173fd2bb21_cgraph.md5 deleted file mode 100644 index 60ea0effa..000000000 --- a/d1/d83/classuint256__t_a4645040fe68ff01d83400f173fd2bb21_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -bf89c6a6c37380003cda6d77ede3db5b \ No newline at end of file diff --git a/d1/d83/classuint256__t_a4645040fe68ff01d83400f173fd2bb21_cgraph.svg b/d1/d83/classuint256__t_a4645040fe68ff01d83400f173fd2bb21_cgraph.svg deleted file mode 100644 index d256a1bf7..000000000 --- a/d1/d83/classuint256__t_a4645040fe68ff01d83400f173fd2bb21_cgraph.svg +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - -uint256_t::operator*= - - -Node1 - - -uint256_t::operator*= - - - - - -Node2 - - -uint128_t::lower - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -uint128_t::upper - - - - - -Node1->Node3 - - - - - - - - - - - - - diff --git a/d1/d83/classuint256__t_a4645040fe68ff01d83400f173fd2bb21_cgraph_org.svg b/d1/d83/classuint256__t_a4645040fe68ff01d83400f173fd2bb21_cgraph_org.svg deleted file mode 100644 index 17cb3f7b7..000000000 --- a/d1/d83/classuint256__t_a4645040fe68ff01d83400f173fd2bb21_cgraph_org.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - -uint256_t::operator*= - - -Node1 - - -uint256_t::operator*= - - - - - -Node2 - - -uint128_t::lower - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -uint128_t::upper - - - - - -Node1->Node3 - - - - - - - - diff --git a/d1/d83/classuint256__t_a4fdeb4d4bf8cca4ee99b8487e59831df_cgraph.map b/d1/d83/classuint256__t_a4fdeb4d4bf8cca4ee99b8487e59831df_cgraph.map deleted file mode 100644 index a51c7d69c..000000000 --- a/d1/d83/classuint256__t_a4fdeb4d4bf8cca4ee99b8487e59831df_cgraph.map +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/d1/d83/classuint256__t_a4fdeb4d4bf8cca4ee99b8487e59831df_cgraph.md5 b/d1/d83/classuint256__t_a4fdeb4d4bf8cca4ee99b8487e59831df_cgraph.md5 deleted file mode 100644 index 8841b9b2c..000000000 --- a/d1/d83/classuint256__t_a4fdeb4d4bf8cca4ee99b8487e59831df_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -e4bb2c47829d0e4f5d95765538ac8f58 \ No newline at end of file diff --git a/d1/d83/classuint256__t_a4fdeb4d4bf8cca4ee99b8487e59831df_cgraph.svg b/d1/d83/classuint256__t_a4fdeb4d4bf8cca4ee99b8487e59831df_cgraph.svg deleted file mode 100644 index f40e3d7ca..000000000 --- a/d1/d83/classuint256__t_a4fdeb4d4bf8cca4ee99b8487e59831df_cgraph.svg +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - - - - - - - -uint256_t::operator/ - - -Node1 - - -uint256_t::operator/ - - - - - -Node2 - - -uint256_t::divide - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -uint256_t::_lez - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -uint128_t::_lez - - - - - -Node3->Node4 - - - - - - - - - - - - - diff --git a/d1/d83/classuint256__t_a4fdeb4d4bf8cca4ee99b8487e59831df_cgraph_org.svg b/d1/d83/classuint256__t_a4fdeb4d4bf8cca4ee99b8487e59831df_cgraph_org.svg deleted file mode 100644 index 3445504de..000000000 --- a/d1/d83/classuint256__t_a4fdeb4d4bf8cca4ee99b8487e59831df_cgraph_org.svg +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - -uint256_t::operator/ - - -Node1 - - -uint256_t::operator/ - - - - - -Node2 - - -uint256_t::divide - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -uint256_t::_lez - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -uint128_t::_lez - - - - - -Node3->Node4 - - - - - - - - diff --git a/d1/d83/classuint256__t_a8161d52d369e525f4e61129376adfcf1_cgraph.map b/d1/d83/classuint256__t_a8161d52d369e525f4e61129376adfcf1_cgraph.map deleted file mode 100644 index b2ffb5a11..000000000 --- a/d1/d83/classuint256__t_a8161d52d369e525f4e61129376adfcf1_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/d1/d83/classuint256__t_a8161d52d369e525f4e61129376adfcf1_cgraph.md5 b/d1/d83/classuint256__t_a8161d52d369e525f4e61129376adfcf1_cgraph.md5 deleted file mode 100644 index c3e76ac11..000000000 --- a/d1/d83/classuint256__t_a8161d52d369e525f4e61129376adfcf1_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -768b1aa81fcf7d0b24ef285a7b3ec874 \ No newline at end of file diff --git a/d1/d83/classuint256__t_a8161d52d369e525f4e61129376adfcf1_cgraph.svg b/d1/d83/classuint256__t_a8161d52d369e525f4e61129376adfcf1_cgraph.svg deleted file mode 100644 index 2d6302247..000000000 --- a/d1/d83/classuint256__t_a8161d52d369e525f4e61129376adfcf1_cgraph.svg +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - -uint256_t::divide - - -Node1 - - -uint256_t::divide - - - - - -Node2 - - -uint256_t::_lez - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -uint128_t::_lez - - - - - -Node2->Node3 - - - - - - - - - - - - - diff --git a/d1/d83/classuint256__t_a8161d52d369e525f4e61129376adfcf1_cgraph_org.svg b/d1/d83/classuint256__t_a8161d52d369e525f4e61129376adfcf1_cgraph_org.svg deleted file mode 100644 index b5481dacb..000000000 --- a/d1/d83/classuint256__t_a8161d52d369e525f4e61129376adfcf1_cgraph_org.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - -uint256_t::divide - - -Node1 - - -uint256_t::divide - - - - - -Node2 - - -uint256_t::_lez - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -uint128_t::_lez - - - - - -Node2->Node3 - - - - - - - - diff --git a/d1/d83/classuint256__t_a86aab081bb7db2771e4a4f30c3eed8e2_cgraph.map b/d1/d83/classuint256__t_a86aab081bb7db2771e4a4f30c3eed8e2_cgraph.map deleted file mode 100644 index f0e1b84a7..000000000 --- a/d1/d83/classuint256__t_a86aab081bb7db2771e4a4f30c3eed8e2_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/d1/d83/classuint256__t_a86aab081bb7db2771e4a4f30c3eed8e2_cgraph.md5 b/d1/d83/classuint256__t_a86aab081bb7db2771e4a4f30c3eed8e2_cgraph.md5 deleted file mode 100644 index 1fd755ab5..000000000 --- a/d1/d83/classuint256__t_a86aab081bb7db2771e4a4f30c3eed8e2_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -3a991d0a858be06f3481667a7a905481 \ No newline at end of file diff --git a/d1/d83/classuint256__t_a86aab081bb7db2771e4a4f30c3eed8e2_cgraph.svg b/d1/d83/classuint256__t_a86aab081bb7db2771e4a4f30c3eed8e2_cgraph.svg deleted file mode 100644 index fca365550..000000000 --- a/d1/d83/classuint256__t_a86aab081bb7db2771e4a4f30c3eed8e2_cgraph.svg +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - - - - - -uint256_t::operator= - - -Node1 - - -uint256_t::operator= - - - - - -Node2 - - -uint256_t::__get_integer -_from_string - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::string::size - - - - - -Node2->Node3 - - - - - - - - - - - - - diff --git a/d1/d83/classuint256__t_a86aab081bb7db2771e4a4f30c3eed8e2_cgraph_org.svg b/d1/d83/classuint256__t_a86aab081bb7db2771e4a4f30c3eed8e2_cgraph_org.svg deleted file mode 100644 index 5440f1c0a..000000000 --- a/d1/d83/classuint256__t_a86aab081bb7db2771e4a4f30c3eed8e2_cgraph_org.svg +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - -uint256_t::operator= - - -Node1 - - -uint256_t::operator= - - - - - -Node2 - - -uint256_t::__get_integer -_from_string - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::string::size - - - - - -Node2->Node3 - - - - - - - - diff --git a/d1/d83/classuint256__t_a9ddd133cee83f3a2ab6ed60a7ccbc250_cgraph.map b/d1/d83/classuint256__t_a9ddd133cee83f3a2ab6ed60a7ccbc250_cgraph.map deleted file mode 100644 index da80a7f9d..000000000 --- a/d1/d83/classuint256__t_a9ddd133cee83f3a2ab6ed60a7ccbc250_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d1/d83/classuint256__t_a9ddd133cee83f3a2ab6ed60a7ccbc250_cgraph.md5 b/d1/d83/classuint256__t_a9ddd133cee83f3a2ab6ed60a7ccbc250_cgraph.md5 deleted file mode 100644 index 09fc63044..000000000 --- a/d1/d83/classuint256__t_a9ddd133cee83f3a2ab6ed60a7ccbc250_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -80cf2759504ea0eeba25360dbd0cff84 \ No newline at end of file diff --git a/d1/d83/classuint256__t_a9ddd133cee83f3a2ab6ed60a7ccbc250_cgraph.svg b/d1/d83/classuint256__t_a9ddd133cee83f3a2ab6ed60a7ccbc250_cgraph.svg deleted file mode 100644 index 56b58dbc4..000000000 --- a/d1/d83/classuint256__t_a9ddd133cee83f3a2ab6ed60a7ccbc250_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -uint256_t::_trz - - -Node1 - - -uint256_t::_trz - - - - - -Node2 - - -uint128_t::_trz - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d1/d83/classuint256__t_a9ddd133cee83f3a2ab6ed60a7ccbc250_cgraph_org.svg b/d1/d83/classuint256__t_a9ddd133cee83f3a2ab6ed60a7ccbc250_cgraph_org.svg deleted file mode 100644 index 36f2d2f87..000000000 --- a/d1/d83/classuint256__t_a9ddd133cee83f3a2ab6ed60a7ccbc250_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -uint256_t::_trz - - -Node1 - - -uint256_t::_trz - - - - - -Node2 - - -uint128_t::_trz - - - - - -Node1->Node2 - - - - - - - - diff --git a/d1/d83/classuint256__t_aa9e585b186e71d7cbe9c1d7387c38967_cgraph.map b/d1/d83/classuint256__t_aa9e585b186e71d7cbe9c1d7387c38967_cgraph.map deleted file mode 100644 index 1c9eae786..000000000 --- a/d1/d83/classuint256__t_aa9e585b186e71d7cbe9c1d7387c38967_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/d1/d83/classuint256__t_aa9e585b186e71d7cbe9c1d7387c38967_cgraph.md5 b/d1/d83/classuint256__t_aa9e585b186e71d7cbe9c1d7387c38967_cgraph.md5 deleted file mode 100644 index e53c6d0b8..000000000 --- a/d1/d83/classuint256__t_aa9e585b186e71d7cbe9c1d7387c38967_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -f1570da2ddfc346f81c4084c655f62a7 \ No newline at end of file diff --git a/d1/d83/classuint256__t_aa9e585b186e71d7cbe9c1d7387c38967_cgraph.svg b/d1/d83/classuint256__t_aa9e585b186e71d7cbe9c1d7387c38967_cgraph.svg deleted file mode 100644 index 796b9caeb..000000000 --- a/d1/d83/classuint256__t_aa9e585b186e71d7cbe9c1d7387c38967_cgraph.svg +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - -uint256_t::operator* - - -Node1 - - -uint256_t::operator* - - - - - -Node2 - - -uint128_t::lower - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -uint128_t::upper - - - - - -Node1->Node3 - - - - - - - - - - - - - diff --git a/d1/d83/classuint256__t_aa9e585b186e71d7cbe9c1d7387c38967_cgraph_org.svg b/d1/d83/classuint256__t_aa9e585b186e71d7cbe9c1d7387c38967_cgraph_org.svg deleted file mode 100644 index 6e757169b..000000000 --- a/d1/d83/classuint256__t_aa9e585b186e71d7cbe9c1d7387c38967_cgraph_org.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - -uint256_t::operator* - - -Node1 - - -uint256_t::operator* - - - - - -Node2 - - -uint128_t::lower - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -uint128_t::upper - - - - - -Node1->Node3 - - - - - - - - diff --git a/d1/d83/classuint256__t_ac1b36e64de42f3622e7d6ec5efa273d4_cgraph.map b/d1/d83/classuint256__t_ac1b36e64de42f3622e7d6ec5efa273d4_cgraph.map deleted file mode 100644 index 9d36ed420..000000000 --- a/d1/d83/classuint256__t_ac1b36e64de42f3622e7d6ec5efa273d4_cgraph.map +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/d1/d83/classuint256__t_ac1b36e64de42f3622e7d6ec5efa273d4_cgraph.md5 b/d1/d83/classuint256__t_ac1b36e64de42f3622e7d6ec5efa273d4_cgraph.md5 deleted file mode 100644 index af4727512..000000000 --- a/d1/d83/classuint256__t_ac1b36e64de42f3622e7d6ec5efa273d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -c10efc5fa2738f7bbc6150ac81c51deb \ No newline at end of file diff --git a/d1/d83/classuint256__t_ac1b36e64de42f3622e7d6ec5efa273d4_cgraph.svg b/d1/d83/classuint256__t_ac1b36e64de42f3622e7d6ec5efa273d4_cgraph.svg deleted file mode 100644 index ef54538e4..000000000 --- a/d1/d83/classuint256__t_ac1b36e64de42f3622e7d6ec5efa273d4_cgraph.svg +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - - - - - - - -uint256_t::operator/= - - -Node1 - - -uint256_t::operator/= - - - - - -Node2 - - -uint256_t::divide - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -uint256_t::_lez - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -uint128_t::_lez - - - - - -Node3->Node4 - - - - - - - - - - - - - diff --git a/d1/d83/classuint256__t_ac1b36e64de42f3622e7d6ec5efa273d4_cgraph_org.svg b/d1/d83/classuint256__t_ac1b36e64de42f3622e7d6ec5efa273d4_cgraph_org.svg deleted file mode 100644 index cf7c3bfda..000000000 --- a/d1/d83/classuint256__t_ac1b36e64de42f3622e7d6ec5efa273d4_cgraph_org.svg +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - -uint256_t::operator/= - - -Node1 - - -uint256_t::operator/= - - - - - -Node2 - - -uint256_t::divide - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -uint256_t::_lez - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -uint128_t::_lez - - - - - -Node3->Node4 - - - - - - - - diff --git a/d1/d83/classuint256__t_ad4928175eaaaa2b559bc945affe63ad2_cgraph.map b/d1/d83/classuint256__t_ad4928175eaaaa2b559bc945affe63ad2_cgraph.map deleted file mode 100644 index 4b4bf5b98..000000000 --- a/d1/d83/classuint256__t_ad4928175eaaaa2b559bc945affe63ad2_cgraph.map +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/d1/d83/classuint256__t_ad4928175eaaaa2b559bc945affe63ad2_cgraph.md5 b/d1/d83/classuint256__t_ad4928175eaaaa2b559bc945affe63ad2_cgraph.md5 deleted file mode 100644 index 2608db9b3..000000000 --- a/d1/d83/classuint256__t_ad4928175eaaaa2b559bc945affe63ad2_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -17c740d91c829e469449e942cadc89a0 \ No newline at end of file diff --git a/d1/d83/classuint256__t_ad4928175eaaaa2b559bc945affe63ad2_cgraph.svg b/d1/d83/classuint256__t_ad4928175eaaaa2b559bc945affe63ad2_cgraph.svg deleted file mode 100644 index 8b10a4ded..000000000 --- a/d1/d83/classuint256__t_ad4928175eaaaa2b559bc945affe63ad2_cgraph.svg +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - - - - - - - -uint256_t::operator% - - -Node1 - - -uint256_t::operator% - - - - - -Node2 - - -uint256_t::divide - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -uint256_t::_lez - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -uint128_t::_lez - - - - - -Node3->Node4 - - - - - - - - - - - - - diff --git a/d1/d83/classuint256__t_ad4928175eaaaa2b559bc945affe63ad2_cgraph_org.svg b/d1/d83/classuint256__t_ad4928175eaaaa2b559bc945affe63ad2_cgraph_org.svg deleted file mode 100644 index e79a6e90b..000000000 --- a/d1/d83/classuint256__t_ad4928175eaaaa2b559bc945affe63ad2_cgraph_org.svg +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - -uint256_t::operator% - - -Node1 - - -uint256_t::operator% - - - - - -Node2 - - -uint256_t::divide - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -uint256_t::_lez - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -uint128_t::_lez - - - - - -Node3->Node4 - - - - - - - - diff --git a/d1/d83/classuint256__t_afee82fa5052e9d8c946b9205b943cec4_cgraph.map b/d1/d83/classuint256__t_afee82fa5052e9d8c946b9205b943cec4_cgraph.map deleted file mode 100644 index e9b23a4e7..000000000 --- a/d1/d83/classuint256__t_afee82fa5052e9d8c946b9205b943cec4_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d1/d83/classuint256__t_afee82fa5052e9d8c946b9205b943cec4_cgraph.md5 b/d1/d83/classuint256__t_afee82fa5052e9d8c946b9205b943cec4_cgraph.md5 deleted file mode 100644 index 3a216cefb..000000000 --- a/d1/d83/classuint256__t_afee82fa5052e9d8c946b9205b943cec4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -d132b30f17b98ef01ba7cc970013eae6 \ No newline at end of file diff --git a/d1/d83/classuint256__t_afee82fa5052e9d8c946b9205b943cec4_cgraph.svg b/d1/d83/classuint256__t_afee82fa5052e9d8c946b9205b943cec4_cgraph.svg deleted file mode 100644 index cf9dff62c..000000000 --- a/d1/d83/classuint256__t_afee82fa5052e9d8c946b9205b943cec4_cgraph.svg +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - - - - - - - -uint256_t::__get_integer_from_string - - -Node1 - - -uint256_t::__get_integer -_from_string - - - - - -Node2 - - -std::string::size - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d1/d83/classuint256__t_afee82fa5052e9d8c946b9205b943cec4_cgraph_org.svg b/d1/d83/classuint256__t_afee82fa5052e9d8c946b9205b943cec4_cgraph_org.svg deleted file mode 100644 index 82c205a56..000000000 --- a/d1/d83/classuint256__t_afee82fa5052e9d8c946b9205b943cec4_cgraph_org.svg +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - -uint256_t::__get_integer_from_string - - -Node1 - - -uint256_t::__get_integer -_from_string - - - - - -Node2 - - -std::string::size - - - - - -Node1->Node2 - - - - - - - - diff --git a/d1/d90/classdata__structures_1_1trie-members.html b/d1/d90/classdata__structures_1_1trie-members.html index 04b43a69b..e02151a20 100644 --- a/d1/d90/classdata__structures_1_1trie-members.html +++ b/d1/d90/classdata__structures_1_1trie-members.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Member List +TheAlgorithms/C++: Member List + + + @@ -18,14 +24,24 @@ - - + +
@@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/d1/d9a/hopcroft__karp_8cpp.html b/d1/d9a/hopcroft__karp_8cpp.html index a31e02c9f..d33ac7b8b 100644 --- a/d1/d9a/hopcroft__karp_8cpp.html +++ b/d1/d9a/hopcroft__karp_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: graph/hopcroft_karp.cpp File Reference +TheAlgorithms/C++: graph/hopcroft_karp.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
@@ -33,10 +49,11 @@ MathJax.Hub.Config({
-
Algorithms_in_C++ 1.0.0 +
TheAlgorithms/C++ 1.0.0
-
Set of algorithms implemented in C++.
+
All the algorithms implemented in C++
+ @@ -126,7 +143,9 @@ Include dependency graph for hopcroft_karp.cpp:
-
-
Algorithms_in_C++ 1.0.0 +
TheAlgorithms/C++ 1.0.0
-
Set of algorithms implemented in C++.
+
All the algorithms implemented in C++
+ +

Go to the source code of this file.

+
@@ -169,6 +188,8 @@ Concept 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
+ +

Definition in file hopcroft_karp.cpp.

Function Documentation

◆ main()

@@ -187,36 +208,31 @@ Algorithm

Main function.

Returns
0 on exit
+ +

Definition at line 306 of file hopcroft_karp.cpp.

307{
308 tests(); // perform self-tests
309
310 int v1 = 0, v2 = 0, e = 0;
-
311 std::cin >> v1 >> v2 >> e; // vertices of left side, right side and edges
+
311 std::cin >> v1 >> v2 >> e; // vertices of left side, right side and edges
312 HKGraph g(v1, v2);
313 int u = 0, v = 0;
314 for (int i = 0; i < e; ++i)
315 {
-
316 std::cin >> u >> v;
+
316 std::cin >> u >> v;
317 g.addEdge(u, v);
318 }
319
320 int res = g.hopcroftKarpAlgorithm();
-
321 std::cout << "Maximum matching is " << res <<"\n";
+
321 std::cout << "Maximum matching is " << res <<"\n";
322
323 return 0;
324
325}
- - -
Represents Bipartite graph for Hopcroft Karp implementation.
Definition hopcroft_karp.cpp:67
-
double g(double x)
Another test function.
Definition composite_simpson_rule.cpp:115
-
void tests()
Definition hopcroft_karp.cpp:255
-
-Here is the call graph for this function:
-
-
-
- +
Represents Bipartite graph for Hopcroft Karp implementation.
+
double g(double x)
Another test function.
+
void tests()
+ @@ -234,6 +250,8 @@ Here is the call graph for this function:

Classes

class  graph::HKGraph

Self-test implementation

Returns
none
+ +

Definition at line 255 of file hopcroft_karp.cpp.

255 {
256 // Sample test case 1
257 int v1a = 3, v1b = 5, e1 = 2; // vertices of left side, right side and edges
@@ -280,12 +298,7 @@ Here is the call graph for this function:
298
299
300}
-
-Here is the call graph for this function:
-
-
-
- +
diff --git a/d1/d9a/hopcroft__karp_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph.map b/d1/d9a/hopcroft__karp_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph.map deleted file mode 100644 index 3a47a0b68..000000000 --- a/d1/d9a/hopcroft__karp_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph.map +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - - - - - diff --git a/d1/d9a/hopcroft__karp_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph.md5 b/d1/d9a/hopcroft__karp_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph.md5 deleted file mode 100644 index abbe33126..000000000 --- a/d1/d9a/hopcroft__karp_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -02d11a939c25e266269cbd473cba1bec \ No newline at end of file diff --git a/d1/d9a/hopcroft__karp_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph.svg b/d1/d9a/hopcroft__karp_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph.svg deleted file mode 100644 index 907a6d945..000000000 --- a/d1/d9a/hopcroft__karp_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph.svg +++ /dev/null @@ -1,174 +0,0 @@ - - - - - - - - - - - - -tests - - -Node1 - - -tests - - - - - -Node2 - - -graph::HKGraph::addEdge - - - - - -Node1->Node2 - - - - - - - - -Node4 - - -graph::HKGraph::hopcroft -KarpAlgorithm - - - - - -Node1->Node4 - - - - - - - - -Node3 - - -std::vector::push_back - - - - - -Node2->Node3 - - - - - - - - -Node5 - - -graph::HKGraph::bfs - - - - - -Node4->Node5 - - - - - - - - -Node7 - - -graph::HKGraph::dfs - - - - - -Node4->Node7 - - - - - - - - -Node6 - - -std::vector::end - - - - - -Node5->Node6 - - - - - - - - -Node7->Node6 - - - - - - - - -Node7->Node7 - - - - - - - - - - - - - diff --git a/d1/d9a/hopcroft__karp_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph_org.svg b/d1/d9a/hopcroft__karp_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph_org.svg deleted file mode 100644 index c451c677f..000000000 --- a/d1/d9a/hopcroft__karp_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph_org.svg +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - -tests - - -Node1 - - -tests - - - - - -Node2 - - -graph::HKGraph::addEdge - - - - - -Node1->Node2 - - - - - - - - -Node4 - - -graph::HKGraph::hopcroft -KarpAlgorithm - - - - - -Node1->Node4 - - - - - - - - -Node3 - - -std::vector::push_back - - - - - -Node2->Node3 - - - - - - - - -Node5 - - -graph::HKGraph::bfs - - - - - -Node4->Node5 - - - - - - - - -Node7 - - -graph::HKGraph::dfs - - - - - -Node4->Node7 - - - - - - - - -Node6 - - -std::vector::end - - - - - -Node5->Node6 - - - - - - - - -Node7->Node6 - - - - - - - - -Node7->Node7 - - - - - - - - diff --git a/d1/d9a/hopcroft__karp_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d1/d9a/hopcroft__karp_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 69f49c8c2..000000000 --- a/d1/d9a/hopcroft__karp_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - - - - - - - - - - diff --git a/d1/d9a/hopcroft__karp_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d1/d9a/hopcroft__karp_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index 9192214ef..000000000 --- a/d1/d9a/hopcroft__karp_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -d29cfd2b882bdebdef630602658b9976 \ No newline at end of file diff --git a/d1/d9a/hopcroft__karp_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d1/d9a/hopcroft__karp_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 70ca72dde..000000000 --- a/d1/d9a/hopcroft__karp_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,249 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -tests - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -graph::HKGraph::addEdge - - - - - -Node2->Node3 - - - - - - - - -Node5 - - -graph::HKGraph::hopcroft -KarpAlgorithm - - - - - -Node2->Node5 - - - - - - - - -Node4 - - -std::vector::push_back - - - - - -Node3->Node4 - - - - - - - - -Node6 - - -graph::HKGraph::bfs - - - - - -Node5->Node6 - - - - - - - - -Node8 - - -graph::HKGraph::dfs - - - - - -Node5->Node8 - - - - - - - - -Node7 - - -std::vector::end - - - - - -Node6->Node7 - - - - - - - - -Node8->Node7 - - - - - - - - -Node8->Node8 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d1/d9a/hopcroft__karp_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d1/d9a/hopcroft__karp_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index ed0c11f88..000000000 --- a/d1/d9a/hopcroft__karp_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,166 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -tests - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -graph::HKGraph::addEdge - - - - - -Node2->Node3 - - - - - - - - -Node5 - - -graph::HKGraph::hopcroft -KarpAlgorithm - - - - - -Node2->Node5 - - - - - - - - -Node4 - - -std::vector::push_back - - - - - -Node3->Node4 - - - - - - - - -Node6 - - -graph::HKGraph::bfs - - - - - -Node5->Node6 - - - - - - - - -Node8 - - -graph::HKGraph::dfs - - - - - -Node5->Node8 - - - - - - - - -Node7 - - -std::vector::end - - - - - -Node6->Node7 - - - - - - - - -Node8->Node7 - - - - - - - - -Node8->Node8 - - - - - - - - diff --git a/d1/d9a/hopcroft__karp_8cpp_source.html b/d1/d9a/hopcroft__karp_8cpp_source.html new file mode 100644 index 000000000..3f0d87d41 --- /dev/null +++ b/d1/d9a/hopcroft__karp_8cpp_source.html @@ -0,0 +1,403 @@ + + + + + + + + +TheAlgorithms/C++: graph/hopcroft_karp.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
TheAlgorithms/C++ 1.0.0 +
+
All the algorithms implemented in C++
+
+
+ + + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
hopcroft_karp.cpp
+
+
+Go to the documentation of this file.
1
+
48#include <iostream>
+
49#include <cstdlib>
+
50#include <queue>
+
51#include <list>
+
52#include <climits>
+
53#include <memory>
+
54#include <cassert>
+
55
+
60 namespace graph {
+
61
+
+ +
67{
+
68 int m{};
+
69 int n{};
+
70 const int NIL{0};
+
71 const int INF{INT_MAX};
+
72
+
73 std::vector<std::list<int> >adj;
+
74
+
75 std::vector<int> pair_u;
+
76 std::vector<int> pair_v;
+
77 std::vector<int> dist;
+
78
+
79public:
+
80 HKGraph(); // Default Constructor
+
81 HKGraph(int m, int n); // Constructor
+
82 void addEdge(int u, int v); // To add edge
+
83
+
84 bool bfs(); // Returns true if there is an augmenting path
+
85 bool dfs(int u); // Adds augmenting path if there is one beginning with u
+
86
+
87 int hopcroftKarpAlgorithm(); // Returns size of maximum matching
+
88};
+
+
89
+
90
+
+ +
96{
+
97
+
98 // pair_u[u] stores pair of u in matching on left side of Bipartite Graph.
+
99 // If u doesn't have any pair, then pair_u[u] is NIL
+
100 pair_u = std::vector<int>(m + 1,NIL);
+
101
+
102 // pair_v[v] stores pair of v in matching on right side of Biparite Graph.
+
103 // If v doesn't have any pair, then pair_u[v] is NIL
+
104 pair_v = std::vector<int>(n + 1,NIL);
+
105
+
106 dist = std::vector<int>(m + 1); // dist[u] stores distance of left side vertices
+
107
+
108 int result = 0; // Initialize result
+
109
+
110 // Keep updating the result while there is an augmenting path possible.
+
111 while (bfs())
+
112 {
+
113 // Find a free vertex to check for a matching
+
114 for (int u = 1; u <= m; u++){
+
115
+
116 // If current vertex is free and there is
+
117 // an augmenting path from current vertex
+
118 // then increment the result
+
119 if (pair_u[u] == NIL && dfs(u)){
+
120 result++;
+
121 }
+
122 }
+
123 }
+
124 return result;
+
125}
+
+
126
+
127
+
+ +
134{
+
135 std::queue<int> q; // an integer queue for bfs
+
136
+
137 // First layer of vertices (set distance as 0)
+
138 for (int u = 1; u <= m; u++)
+
139 {
+
140 // If this is a free vertex, add it to queue
+
141 if (pair_u[u] == NIL){
+
142
+
143 dist[u] = 0; // u is not matched so distance is 0
+
144 q.push(u);
+
145 }
+
146
+
147 else{
+
148 dist[u] = INF; // set distance as infinite so that this vertex is considered next time for availibility
+
149 }
+
150 }
+
151
+
152
+
153 dist[NIL] = INF; // Initialize distance to NIL as infinite
+
154
+
155 // q is going to contain vertices of left side only.
+
156 while (!q.empty())
+
157 {
+
158 int u = q.front(); // dequeue a vertex
+
159 q.pop();
+
160
+
161 // If this node is not NIL and can provide a shorter path to NIL then
+
162 if (dist[u] < dist[NIL])
+
163 {
+
164 // Get all the adjacent vertices of the dequeued vertex u
+
165 std::list<int>::iterator it;
+
166 for (it = adj[u].begin(); it != adj[u].end(); ++it)
+
167 {
+
168 int v = *it;
+
169
+
170 // If pair of v is not considered so far i.e. (v, pair_v[v]) is not yet explored edge.
+
171 if (dist[pair_v[v]] == INF)
+
172 {
+
173 dist[pair_v[v]] = dist[u] + 1;
+
174 q.push(pair_v[v]); // Consider the pair and push it to queue
+
175 }
+
176 }
+
177 }
+
178 }
+
179
+
180
+
181
+
182 return (dist[NIL] != INF); // If we could come back to NIL using alternating path of distinct vertices then there is an augmenting path available
+
183}
+
+
184
+
+
191bool HKGraph::dfs(int u)
+
192{
+
193 if (u != NIL)
+
194 {
+
195 std::list<int>::iterator it;
+
196 for (it = adj[u].begin(); it != adj[u].end(); ++it)
+
197 {
+
198
+
199 int v = *it; // Adjacent vertex of u
+
200
+
201 // Follow the distances set by BFS search
+
202 if (dist[pair_v[v]] == dist[u] + 1)
+
203 {
+
204 // If dfs for pair of v also return true then new matching possible, store the matching
+
205 if (dfs(pair_v[v]) == true)
+
206 {
+
207 pair_v[v] = u;
+
208 pair_u[u] = v;
+
209 return true;
+
210 }
+
211 }
+
212 }
+
213
+
214
+
215 dist[u] = INF; // If there is no augmenting path beginning with u then set distance to infinite.
+
216 return false;
+
217 }
+
218 return true;
+
219}
+
+
220
+
224HKGraph::HKGraph() = default;
+
225
+
+
231HKGraph::HKGraph(int m, int n) {
+
232 this->m = m;
+
233 this->n = n;
+
234 adj = std::vector<std::list<int> >(m + 1);
+
235}
+
+
236
+
+
242void HKGraph::addEdge(int u, int v)
+
243{
+
244 adj[u].push_back(v); // Add v to u’s list.
+
245}
+
+
246
+
247} // namespace graph
+
248
+
249using graph::HKGraph;
+
250
+
+
255void tests(){
+
256 // Sample test case 1
+
257 int v1a = 3, v1b = 5, e1 = 2; // vertices of left side, right side and edges
+
258 HKGraph g1(v1a, v1b); // execute the algorithm
+
259
+
260 g1.addEdge(0,1);
+
261 g1.addEdge(1,4);
+
262
+
263 int expected_res1 = 0; // for the above sample data, this is the expected output
+
264 int res1 = g1.hopcroftKarpAlgorithm();
+
265
+
266 assert(res1 == expected_res1); // assert check to ensure that the algorithm executed correctly for test 1
+
267
+
268 // Sample test case 2
+
269 int v2a = 4, v2b = 4, e2 = 6; // vertices of left side, right side and edges
+
270 HKGraph g2(v2a, v2b); // execute the algorithm
+
271
+
272 g2.addEdge(1,1);
+
273 g2.addEdge(1,3);
+
274 g2.addEdge(2,3);
+
275 g2.addEdge(3,4);
+
276 g2.addEdge(4,3);
+
277 g2.addEdge(4,2);
+
278
+
279 int expected_res2 = 0; // for the above sample data, this is the expected output
+
280 int res2 = g2.hopcroftKarpAlgorithm();
+
281
+
282 assert(res2 == expected_res2); // assert check to ensure that the algorithm executed correctly for test 2
+
283
+
284 // Sample test case 3
+
285 int v3a = 6, v3b = 6, e3 = 4; // vertices of left side, right side and edges
+
286 HKGraph g3(v3a, v3b); // execute the algorithm
+
287
+
288 g3.addEdge(0,1);
+
289 g3.addEdge(1,4);
+
290 g3.addEdge(1,5);
+
291 g3.addEdge(5,0);
+
292
+
293 int expected_res3 = 0; // for the above sample data, this is the expected output
+
294 int res3 = g3.hopcroftKarpAlgorithm();
+
295
+
296 assert(res3 == expected_res3); // assert check to ensure that the algorithm executed correctly for test 3
+
297
+
298
+
299
+
300}
+
+
301
+
+
306int main()
+
307{
+
308 tests(); // perform self-tests
+
309
+
310 int v1 = 0, v2 = 0, e = 0;
+
311 std::cin >> v1 >> v2 >> e; // vertices of left side, right side and edges
+
312 HKGraph g(v1, v2);
+
313 int u = 0, v = 0;
+
314 for (int i = 0; i < e; ++i)
+
315 {
+
316 std::cin >> u >> v;
+
317 g.addEdge(u, v);
+
318 }
+
319
+
320 int res = g.hopcroftKarpAlgorithm();
+
321 std::cout << "Maximum matching is " << res <<"\n";
+
322
+
323 return 0;
+
324
+
325}
+
+
Represents Bipartite graph for Hopcroft Karp implementation.
+
std::vector< std::list< int > > adj
adj[u] stores adjacents of left side and 0 is used for dummy vertex
+
void addEdge(int u, int v)
function to add edge from u to v
+
int m
m is the number of vertices on left side of Bipartite Graph
+
std::vector< int > dist
dist represents the distance between vertex 'u' and vertex 'v'
+
int n
n is the number of vertices on right side of Bipartite Graph
+
bool bfs()
This function checks for the possibility of augmented path availability.
+
std::vector< int > pair_u
value of vertex 'u' ranges from 1 to m
+
std::vector< int > pair_v
value of vertex 'v' ranges from 1 to n
+
int hopcroftKarpAlgorithm()
This function counts the number of augmenting paths between left and right sides of the Bipartite gra...
+
bool dfs(int u)
This functions checks whether an augmenting path is available exists beginning with free vertex u.
+
HKGraph()
Default Constructor for initialization.
+
void tests()
+
int main()
Main function.
+
Graph Algorithms.
+
+
+ + + + diff --git a/d1/d9e/prefix__sum__array_8cpp.html b/d1/d9e/prefix__sum__array_8cpp.html index df038a2d2..425fe6bfd 100644 --- a/d1/d9e/prefix__sum__array_8cpp.html +++ b/d1/d9e/prefix__sum__array_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: range_queries/prefix_sum_array.cpp File Reference +TheAlgorithms/C++: range_queries/prefix_sum_array.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
@@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -106,8 +123,7 @@ $(function(){initNavTree('d1/d9e/prefix__sum__array_8cpp.html','../../'); initRe
prefix_sum_array.cpp File Reference
@@ -122,11 +138,13 @@ Include dependency graph for prefix_sum_array.cpp:
-
-
Algorithms_in_C++ 1.0.0 +
TheAlgorithms/C++ 1.0.0
-
Set of algorithms implemented in C++.
+
All the algorithms implemented in C++
+ +

Go to the source code of this file.

+
- + @@ -134,7 +152,10 @@ Namespaces

Namespaces

namespace  range_queries
 for std::vector
 for std::vector
 
namespace  prefix_sum_array
 Range sum queries using prefix-sum-array.
- + + + @@ -146,12 +167,6 @@ Functions -

Functions

void range_queries::prefix_sum_array::build (std::vector< int64_t > original_array)
+std::vector< int64_t > range_queries::prefix_sum_array::PSA (1, 0)
 
void range_queries::prefix_sum_array::build (std::vector< int64_t > original_array)
 function that builds the PSA
 
int64_t range_queries::prefix_sum_array::query (int64_t beg, int64_t end)
int main ()
 Main function.
 
- - -

-Variables

-std::vector< int64_t > range_queries::prefix_sum_array::PSA (1, 0)
 

Detailed Description

Prefix Sum Array data structure implementation.

@@ -165,6 +180,8 @@ Variables
Author
Paulo Vitor Lima Borges
+ +

Definition in file prefix_sum_array.cpp.

Function Documentation

◆ build()

@@ -175,7 +192,7 @@ Variables void range_queries::prefix_sum_array::build ( - std::vector< int64_t > original_array) + std::vector< int64_t > original_array) @@ -189,19 +206,14 @@ Variables
Returns
void
+ +

Definition at line 41 of file prefix_sum_array.cpp.

41 {
-
42 for (int i = 1; i <= static_cast<int>(original_array.size()); i++) {
-
43 PSA.push_back(PSA[i - 1] + original_array[i]);
+
42 for (int i = 1; i <= static_cast<int>(original_array.size()); i++) {
+
43 PSA.push_back(PSA[i - 1] + original_array[i]);
44 }
45}
-
T push_back(T... args)
-
T size(T... args)
-
-Here is the call graph for this function:
-
-
-
- +
@@ -221,17 +233,14 @@ Here is the call graph for this function:

Main function.

Returns
0 on exit
+ +

Definition at line 80 of file prefix_sum_array.cpp.

80 {
81 test(); // run self-test implementations
82 return 0;
83}
-
static void test()
Self-test implementations.
Definition prefix_sum_array.cpp:61
-
-Here is the call graph for this function:
-
-
-
- +
static void test()
Self-test implementations.
+
@@ -262,8 +271,9 @@ Here is the call graph for this function:
Returns
sum of the range [beg, end]
-
52{ return PSA[end] - PSA[beg - 1]; }
-
T end(T... args)
+ +

Definition at line 52 of file prefix_sum_array.cpp.

+
52{ return PSA[end] - PSA[beg - 1]; }
@@ -292,8 +302,10 @@ Here is the call graph for this function:

Self-test implementations.

Returns
void
+ +

Definition at line 61 of file prefix_sum_array.cpp.

61 {
-
62 std::vector<int64_t> values{0, 123, 0, 2, -2, 5,
+
62 std::vector<int64_t> values{0, 123, 0, 2, -2, 5,
63 24, 0, 23, -1, -1}; // original array
64
@@ -306,8 +318,7 @@ Here is the call graph for this function:
72 assert(range_queries::prefix_sum_array::query(5, 9) ==
73 51); // the sum of the interval [5, 9]
74}
-
void build(std::vector< int64_t > original_array)
function that builds the PSA
Definition prefix_sum_array.cpp:41
- +
void build(std::vector< int64_t > original_array)
function that builds the PSA
diff --git a/d1/d9e/prefix__sum__array_8cpp_ab36151479ad37d53ef9fcb60a274b1d9_cgraph.map b/d1/d9e/prefix__sum__array_8cpp_ab36151479ad37d53ef9fcb60a274b1d9_cgraph.map deleted file mode 100644 index 36996e00c..000000000 --- a/d1/d9e/prefix__sum__array_8cpp_ab36151479ad37d53ef9fcb60a274b1d9_cgraph.map +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/d1/d9e/prefix__sum__array_8cpp_ab36151479ad37d53ef9fcb60a274b1d9_cgraph.md5 b/d1/d9e/prefix__sum__array_8cpp_ab36151479ad37d53ef9fcb60a274b1d9_cgraph.md5 deleted file mode 100644 index 96c392c17..000000000 --- a/d1/d9e/prefix__sum__array_8cpp_ab36151479ad37d53ef9fcb60a274b1d9_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -8fba4c4d80fa30d94099a480af9f4fbc \ No newline at end of file diff --git a/d1/d9e/prefix__sum__array_8cpp_ab36151479ad37d53ef9fcb60a274b1d9_cgraph.svg b/d1/d9e/prefix__sum__array_8cpp_ab36151479ad37d53ef9fcb60a274b1d9_cgraph.svg deleted file mode 100644 index 0d31fb3d0..000000000 --- a/d1/d9e/prefix__sum__array_8cpp_ab36151479ad37d53ef9fcb60a274b1d9_cgraph.svg +++ /dev/null @@ -1,93 +0,0 @@ - - - - - - - - - - - - -range_queries::prefix_sum_array::build - - -Node1 - - -range_queries::prefix -_sum_array::build - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::vector::push_back - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::vector::size - - - - - -Node1->Node3 - - - - - - - - - - - - - diff --git a/d1/d9e/prefix__sum__array_8cpp_ab36151479ad37d53ef9fcb60a274b1d9_cgraph_org.svg b/d1/d9e/prefix__sum__array_8cpp_ab36151479ad37d53ef9fcb60a274b1d9_cgraph_org.svg deleted file mode 100644 index 8635a6193..000000000 --- a/d1/d9e/prefix__sum__array_8cpp_ab36151479ad37d53ef9fcb60a274b1d9_cgraph_org.svg +++ /dev/null @@ -1,67 +0,0 @@ - - - - - - -range_queries::prefix_sum_array::build - - -Node1 - - -range_queries::prefix -_sum_array::build - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::vector::push_back - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::vector::size - - - - - -Node1->Node3 - - - - - - - - diff --git a/d1/d9e/prefix__sum__array_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d1/d9e/prefix__sum__array_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index a548cd42a..000000000 --- a/d1/d9e/prefix__sum__array_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d1/d9e/prefix__sum__array_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d1/d9e/prefix__sum__array_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index 27b9c2213..000000000 --- a/d1/d9e/prefix__sum__array_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -9be9bb4469c289fd6092a1a2397556bb \ No newline at end of file diff --git a/d1/d9e/prefix__sum__array_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d1/d9e/prefix__sum__array_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 1e257882a..000000000 --- a/d1/d9e/prefix__sum__array_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d1/d9e/prefix__sum__array_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d1/d9e/prefix__sum__array_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index c3c00cb78..000000000 --- a/d1/d9e/prefix__sum__array_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - diff --git a/d1/d9e/prefix__sum__array_8cpp_source.html b/d1/d9e/prefix__sum__array_8cpp_source.html new file mode 100644 index 000000000..3b3f99a70 --- /dev/null +++ b/d1/d9e/prefix__sum__array_8cpp_source.html @@ -0,0 +1,188 @@ + + + + + + + + +TheAlgorithms/C++: range_queries/prefix_sum_array.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
TheAlgorithms/C++ 1.0.0 +
+
All the algorithms implemented in C++
+
+
+ + + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
prefix_sum_array.cpp
+
+
+Go to the documentation of this file.
1
+
19#include <cassert>
+
20#include <iostream>
+
21#include <vector>
+
22
+
27namespace range_queries {
+
32namespace prefix_sum_array {
+
33
+
34std::vector<int64_t> PSA(1, 0);
+
35
+
+
41void build(std::vector<int64_t> original_array) {
+
42 for (int i = 1; i <= static_cast<int>(original_array.size()); i++) {
+
43 PSA.push_back(PSA[i - 1] + original_array[i]);
+
44 }
+
45}
+
+
52int64_t query(int64_t beg, int64_t end) { return PSA[end] - PSA[beg - 1]; }
+
53
+
54} // namespace prefix_sum_array
+
55} // namespace range_queries
+
56
+
+
61static void test() {
+
62 std::vector<int64_t> values{0, 123, 0, 2, -2, 5,
+
63 24, 0, 23, -1, -1}; // original array
+
64
+
65 range_queries::prefix_sum_array::build(values);
+
66 // queries are of the type: sum of the range [a, b] = psa[b] - psa[a-1]
+
67
+
68 assert(range_queries::prefix_sum_array::query(1, 10) ==
+
69 173); // sum of the entire array
+
70 assert(range_queries::prefix_sum_array::query(4, 6) ==
+
71 27); // the sum of the interval [4, 6]
+
72 assert(range_queries::prefix_sum_array::query(5, 9) ==
+
73 51); // the sum of the interval [5, 9]
+
74}
+
+
75
+
+
80int main() {
+
81 test(); // run self-test implementations
+
82 return 0;
+
83}
+
+
Range sum queries using prefix-sum-array.
+
for std::vector
+
static void test()
Self-test implementations.
+
void build(std::vector< int64_t > original_array)
function that builds the PSA
+
int main()
Main function.
+
Definition mo.cpp:9
+
+
+ + + + diff --git a/d1/da6/rungekutta_8cpp.html b/d1/da6/rungekutta_8cpp.html index 9056a1e46..96b3c3ba8 100644 --- a/d1/da6/rungekutta_8cpp.html +++ b/d1/da6/rungekutta_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: numerical_methods/rungekutta.cpp File Reference +TheAlgorithms/C++: numerical_methods/rungekutta.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
@@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -122,7 +139,9 @@ Include dependency graph for rungekutta.cpp:
-
-
Algorithms_in_C++ 1.0.0 +
TheAlgorithms/C++ 1.0.0
-
Set of algorithms implemented in C++.
+
All the algorithms implemented in C++
+ +

Go to the source code of this file.

+
@@ -152,6 +171,8 @@ Functions

Runge Kutta fourth order method implementation

Author
Rudra Prasad Das

It solves the unknown value of y for a given value of x only first order differential equations can be solved

+ +

Definition in file rungekutta.cpp.

Function Documentation

◆ change()

@@ -192,6 +213,8 @@ Functions
Returns
the computed function value at that call
Examples
/Users/runner/work/C-Plus-Plus/C-Plus-Plus/numerical_methods/rungekutta.cpp.
+ +

Definition at line 33 of file rungekutta.cpp.

33{ return ((x - y) / 2.0); }
@@ -213,17 +236,14 @@ Functions

Main function.

Returns
0 on exit
+ +

Definition at line 130 of file rungekutta.cpp.

130 {
131 test(); // Execute the tests
132 return 0;
133}
-
static void test()
Tests to check algorithm implementation.
Definition rungekutta.cpp:100
-
-Here is the call graph for this function:
-
-
-
- +
static void test()
Tests to check algorithm implementation.
+ @@ -268,6 +288,8 @@ Here is the call graph for this function:
Returns
the value of y at thr required value of x from the initial conditions
Examples
/Users/runner/work/C-Plus-Plus/C-Plus-Plus/numerical_methods/rungekutta.cpp.
+ +

Definition at line 57 of file rungekutta.cpp.

58 {
59 // Count number of iterations
60 // using step size or
@@ -279,7 +301,7 @@ Here is the call graph for this function:
66
67 auto n = static_cast<uint64_t>((x - init_x) / h);
68 // used a vector container for the variables
-
69 std::vector<double> k(4, 0.0);
+
69 std::vector<double> k(4, 0.0);
70
71 // Iterate for number of iterations
72
@@ -303,16 +325,10 @@ Here is the call graph for this function:
90
91 return y;
92}
-
double k(double x)
Another test function.
Definition composite_simpson_rule.cpp:117
-
int h(int key)
Definition hash_search.cpp:45
-
static double change(double x, double y)
asserting the test functions
Definition rungekutta.cpp:33
- -
-Here is the call graph for this function:
-
-
-
- +
double k(double x)
Another test function.
+
int h(int key)
+
static double change(double x, double y)
asserting the test functions
+ @@ -340,33 +356,34 @@ Here is the call graph for this function:

Tests to check algorithm implementation.

Returns
void
+ +

Definition at line 100 of file rungekutta.cpp.

100 {
-
101 std::cout << "The Runge Kutta function will be tested on the basis of "
+
101 std::cout << "The Runge Kutta function will be tested on the basis of "
102 "precomputed values\n";
103
-
104 std::cout << "Test 1...."
+
104 std::cout << "Test 1...."
105 << "\n";
107 2, 3, 4, 0.2); // Tests the function with pre calculated values
108 assert(valfirst == 3.10363932323749570);
-
109 std::cout << "Passed Test 1\n";
+
109 std::cout << "Passed Test 1\n";
110
-
111 std::cout << "Test 2...."
+
111 std::cout << "Test 2...."
112 << "\n";
114 1, 2, 5, 0.1); // The value of step changed
115 assert(valsec == 3.40600589380261409);
-
116 std::cout << "Passed Test 2\n";
+
116 std::cout << "Passed Test 2\n";
117
-
118 std::cout << "Test 3...."
+
118 std::cout << "Test 3...."
119 << "\n";
121 -1, 3, 4, 0.1); // Tested with negative value
122 assert(valthird == 2.49251005860244268);
-
123 std::cout << "Passed Test 3\n";
+
123 std::cout << "Passed Test 3\n";
124}
- -
double rungeKutta(double init_x, const double &init_y, const double &x, const double &h)
the Runge Kutta method finds the value of integration of a function in the given limits....
Definition rungekutta.cpp:57
+
double rungeKutta(double init_x, const double &init_y, const double &x, const double &h)
the Runge Kutta method finds the value of integration of a function in the given limits....
diff --git a/d1/da6/rungekutta_8cpp_a7b9f40c7b5e9749cc550f19be3dc8856_cgraph.map b/d1/da6/rungekutta_8cpp_a7b9f40c7b5e9749cc550f19be3dc8856_cgraph.map deleted file mode 100644 index 9ddff3647..000000000 --- a/d1/da6/rungekutta_8cpp_a7b9f40c7b5e9749cc550f19be3dc8856_cgraph.map +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/d1/da6/rungekutta_8cpp_a7b9f40c7b5e9749cc550f19be3dc8856_cgraph.md5 b/d1/da6/rungekutta_8cpp_a7b9f40c7b5e9749cc550f19be3dc8856_cgraph.md5 deleted file mode 100644 index 8712c43d7..000000000 --- a/d1/da6/rungekutta_8cpp_a7b9f40c7b5e9749cc550f19be3dc8856_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -4b166e3b126e619907528809ca5c64cc \ No newline at end of file diff --git a/d1/da6/rungekutta_8cpp_a7b9f40c7b5e9749cc550f19be3dc8856_cgraph.svg b/d1/da6/rungekutta_8cpp_a7b9f40c7b5e9749cc550f19be3dc8856_cgraph.svg deleted file mode 100644 index e072d070c..000000000 --- a/d1/da6/rungekutta_8cpp_a7b9f40c7b5e9749cc550f19be3dc8856_cgraph.svg +++ /dev/null @@ -1,93 +0,0 @@ - - - - - - - - - - - - -numerical_methods::runge_kutta::rungeKutta - - -Node1 - - -numerical_methods:: -runge_kutta::rungeKutta - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -change - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -h - - - - - -Node1->Node3 - - - - - - - - - - - - - diff --git a/d1/da6/rungekutta_8cpp_a7b9f40c7b5e9749cc550f19be3dc8856_cgraph_org.svg b/d1/da6/rungekutta_8cpp_a7b9f40c7b5e9749cc550f19be3dc8856_cgraph_org.svg deleted file mode 100644 index a7499ccf3..000000000 --- a/d1/da6/rungekutta_8cpp_a7b9f40c7b5e9749cc550f19be3dc8856_cgraph_org.svg +++ /dev/null @@ -1,67 +0,0 @@ - - - - - - -numerical_methods::runge_kutta::rungeKutta - - -Node1 - - -numerical_methods:: -runge_kutta::rungeKutta - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -change - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -h - - - - - -Node1->Node3 - - - - - - - - diff --git a/d1/da6/rungekutta_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d1/da6/rungekutta_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 696e8ae2a..000000000 --- a/d1/da6/rungekutta_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d1/da6/rungekutta_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d1/da6/rungekutta_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index 0ce175bbd..000000000 --- a/d1/da6/rungekutta_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -522817575743a598fc6eb2c0a5eeb150 \ No newline at end of file diff --git a/d1/da6/rungekutta_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d1/da6/rungekutta_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 0fae9de18..000000000 --- a/d1/da6/rungekutta_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d1/da6/rungekutta_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d1/da6/rungekutta_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index b6c223559..000000000 --- a/d1/da6/rungekutta_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - diff --git a/d1/da6/rungekutta_8cpp_source.html b/d1/da6/rungekutta_8cpp_source.html new file mode 100644 index 000000000..3d48c5233 --- /dev/null +++ b/d1/da6/rungekutta_8cpp_source.html @@ -0,0 +1,228 @@ + + + + + + + + +TheAlgorithms/C++: numerical_methods/rungekutta.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
+
+

Namespaces

namespace  numerical_methods
+ + + + + + +
+
TheAlgorithms/C++ 1.0.0 +
+
All the algorithms implemented in C++
+
+
+ + + + + + + + + +
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
rungekutta.cpp
+
+
+Go to the documentation of this file.
1
+
21#include <cassert>
+
22#include <cstdint>
+
23#include <iostream>
+
24#include <vector>
+
33static double change(double x, double y) { return ((x - y) / 2.0); }
+
34
+
39namespace numerical_methods {
+
45namespace runge_kutta {
+
+
57double rungeKutta(double init_x, const double &init_y, const double &x,
+
58 const double &h) {
+
59 // Count number of iterations
+
60 // using step size or
+
61 // step height h
+
62
+
63 // n calucates the number of iterations
+
64 // k1, k2, k3, k4 are the Runge Kutta variables
+
65 // used for calculation of y at each iteration
+
66
+
67 auto n = static_cast<uint64_t>((x - init_x) / h);
+
68 // used a vector container for the variables
+
69 std::vector<double> k(4, 0.0);
+
70
+
71 // Iterate for number of iterations
+
72
+
73 double y = init_y;
+
74 for (int i = 1; i <= n; ++i) {
+
75 // Apply Runge Kutta Formulas
+
76 // to find next value of y
+
77 k[0] = h * change(init_x, y);
+
78 k[1] = h * change(init_x + 0.5 * h, y + 0.5 * k[0]);
+
79 k[2] = h * change(init_x + 0.5 * h, y + 0.5 * k[1]);
+
80 k[3] = h * change(init_x + h, y + k[2]);
+
81
+
82 // Update next value of y
+
83
+
84 y += (1.0 / 6.0) * (k[0] + 2 * k[1] + 2 * k[2] + k[3]);
+
85
+
86 // Update next value of x
+
87
+
88 init_x += h;
+
89 }
+
90
+
91 return y;
+
92}
+
+
93} // namespace runge_kutta
+
94} // namespace numerical_methods
+
95
+
+
100static void test() {
+
101 std::cout << "The Runge Kutta function will be tested on the basis of "
+
102 "precomputed values\n";
+
103
+
104 std::cout << "Test 1...."
+
105 << "\n";
+
106 double valfirst = numerical_methods::runge_kutta::rungeKutta(
+
107 2, 3, 4, 0.2); // Tests the function with pre calculated values
+
108 assert(valfirst == 3.10363932323749570);
+
109 std::cout << "Passed Test 1\n";
+
110
+
111 std::cout << "Test 2...."
+
112 << "\n";
+
113 double valsec = numerical_methods::runge_kutta::rungeKutta(
+
114 1, 2, 5, 0.1); // The value of step changed
+
115 assert(valsec == 3.40600589380261409);
+
116 std::cout << "Passed Test 2\n";
+
117
+
118 std::cout << "Test 3...."
+
119 << "\n";
+
120 double valthird = numerical_methods::runge_kutta::rungeKutta(
+
121 -1, 3, 4, 0.1); // Tested with negative value
+
122 assert(valthird == 2.49251005860244268);
+
123 std::cout << "Passed Test 3\n";
+
124}
+
+
125
+
+
130int main() {
+
131 test(); // Execute the tests
+
132 return 0;
+
133}
+
+
int h(int key)
+ +
Functions for Runge Kutta fourth order method.
+
static double change(double x, double y)
asserting the test functions
+
double rungeKutta(double init_x, const double &init_y, const double &x, const double &h)
the Runge Kutta method finds the value of integration of a function in the given limits....
+
static void test()
Tests to check algorithm implementation.
+
int main()
Main function.
+
+
+ + + + diff --git a/d1/da7/armstrong__number__templated_8cpp.html b/d1/da7/armstrong__number__templated_8cpp.html index ba4e290d9..1508a1e32 100644 --- a/d1/da7/armstrong__number__templated_8cpp.html +++ b/d1/da7/armstrong__number__templated_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: dynamic_programming/armstrong_number_templated.cpp File Reference +TheAlgorithms/C++: dynamic_programming/armstrong_number_templated.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
@@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -121,7 +138,9 @@ Include dependency graph for armstrong_number_templated.cpp:
-
-
Algorithms_in_C++ 1.0.0 +
TheAlgorithms/C++ 1.0.0
-
Set of algorithms implemented in C++.
+
All the algorithms implemented in C++
+ +

Go to the source code of this file.

+
@@ -149,6 +168,8 @@ Functions
Author
Shivam Singhal
David Leal
+ +

Definition in file armstrong_number_templated.cpp.

Function Documentation

◆ main()

@@ -167,17 +188,14 @@ Functions

Main function.

Returns
0 on exit
+ +

Definition at line 90 of file armstrong_number_templated.cpp.

90 {
91 tests(); // run self-test implementations
92 return 0;
93}
-
static void tests()
Self-test implementations.
Definition armstrong_number_templated.cpp:71
-
-Here is the call graph for this function:
-
-
-
- +
static void tests()
Self-test implementations.
+ @@ -205,6 +223,8 @@ Here is the call graph for this function:

Self-test implementations.

Returns
void
+ +

Definition at line 71 of file armstrong_number_templated.cpp.

71 {
72 assert(dynamic_programming::is_armstrong(153) == true);
73 assert(dynamic_programming::is_armstrong(1) == true);
@@ -217,16 +237,10 @@ Here is the call graph for this function:
80 assert(dynamic_programming::is_armstrong(989) == false);
81 assert(dynamic_programming::is_armstrong(103) == false);
82
-
83 std::cout << "All tests have successfully passed!\n";
+
83 std::cout << "All tests have successfully passed!\n";
84}
- -
bool is_armstrong(const T &number)
Checks if the given number is armstrong or not.
Definition armstrong_number_templated.cpp:39
-
-Here is the call graph for this function:
-
-
-
- +
bool is_armstrong(const T &number)
Checks if the given number is armstrong or not.
+ diff --git a/d1/da7/armstrong__number__templated_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.map b/d1/da7/armstrong__number__templated_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.map deleted file mode 100644 index e1981f0d4..000000000 --- a/d1/da7/armstrong__number__templated_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/d1/da7/armstrong__number__templated_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 b/d1/da7/armstrong__number__templated_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 deleted file mode 100644 index 216e61c9b..000000000 --- a/d1/da7/armstrong__number__templated_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -b44e10878ced7e9fa812384c9c32fd9a \ No newline at end of file diff --git a/d1/da7/armstrong__number__templated_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.svg b/d1/da7/armstrong__number__templated_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.svg deleted file mode 100644 index 62c775197..000000000 --- a/d1/da7/armstrong__number__templated_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.svg +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - - - - - -tests - - -Node1 - - -tests - - - - - -Node2 - - -dynamic_programming -::is_armstrong - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::pow - - - - - -Node2->Node3 - - - - - - - - - - - - - diff --git a/d1/da7/armstrong__number__templated_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph_org.svg b/d1/da7/armstrong__number__templated_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph_org.svg deleted file mode 100644 index e535e38f2..000000000 --- a/d1/da7/armstrong__number__templated_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph_org.svg +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - -tests - - -Node1 - - -tests - - - - - -Node2 - - -dynamic_programming -::is_armstrong - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::pow - - - - - -Node2->Node3 - - - - - - - - diff --git a/d1/da7/armstrong__number__templated_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d1/da7/armstrong__number__templated_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index f9fbb23aa..000000000 --- a/d1/da7/armstrong__number__templated_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/d1/da7/armstrong__number__templated_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d1/da7/armstrong__number__templated_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index 32c8878b9..000000000 --- a/d1/da7/armstrong__number__templated_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -ec3c99204a91eb6d2db419fdce5fbf07 \ No newline at end of file diff --git a/d1/da7/armstrong__number__templated_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d1/da7/armstrong__number__templated_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 13657b65b..000000000 --- a/d1/da7/armstrong__number__templated_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,102 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -tests - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -dynamic_programming -::is_armstrong - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::pow - - - - - -Node3->Node4 - - - - - - - - - - - - - diff --git a/d1/da7/armstrong__number__templated_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d1/da7/armstrong__number__templated_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index d45985b33..000000000 --- a/d1/da7/armstrong__number__templated_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -tests - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -dynamic_programming -::is_armstrong - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::pow - - - - - -Node3->Node4 - - - - - - - - diff --git a/d1/da7/armstrong__number__templated_8cpp_source.html b/d1/da7/armstrong__number__templated_8cpp_source.html new file mode 100644 index 000000000..bf226d771 --- /dev/null +++ b/d1/da7/armstrong__number__templated_8cpp_source.html @@ -0,0 +1,202 @@ + + + + + + + + +TheAlgorithms/C++: dynamic_programming/armstrong_number_templated.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
+
+

Namespaces

namespace  dynamic_programming
+ + + + + + +
+
TheAlgorithms/C++ 1.0.0 +
+
All the algorithms implemented in C++
+
+
+ + + + + + + + + +
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
armstrong_number_templated.cpp
+
+
+Go to the documentation of this file.
1
+
22#include <cassert>
+
23#include <cmath>
+
24#include <iostream>
+
25
+
30namespace dynamic_programming {
+
31
+
38template <typename T>
+
+
39bool is_armstrong(const T &number) {
+
40 int count = 0, temp = number, result = 0, rem = 0;
+
41
+
42 // Count the number of digits of the given number.
+
43 // For example: 153 would be 3 digits.
+
44 while (temp != 0) {
+
45 temp /= 10;
+
46 count++;
+
47 }
+
48
+
49 // Calculation for checking of armstrongs number i.e.
+
50 // in an n-digit number sum of the digits is raised to a power of `n` is
+
51 // equal to the original number.
+
52 temp = number;
+
53 while (temp != 0) {
+
54 rem = temp % 10;
+
55 result += static_cast<T>(std::pow(rem, count));
+
56 temp /= 10;
+
57 }
+
58
+
59 if (result == number) {
+
60 return true;
+
61 } else {
+
62 return false;
+
63 }
+
64}
+
+
65} // namespace dynamic_programming
+
66
+
+
71static void tests() {
+
72 assert(dynamic_programming::is_armstrong(153) == true);
+
73 assert(dynamic_programming::is_armstrong(1) == true);
+
74 assert(dynamic_programming::is_armstrong(0) == true);
+
75 assert(dynamic_programming::is_armstrong(370) == true);
+
76 assert(dynamic_programming::is_armstrong(1634) == true);
+
77 assert(dynamic_programming::is_armstrong(580) == false);
+
78 assert(dynamic_programming::is_armstrong(15) == false);
+
79 assert(dynamic_programming::is_armstrong(1024) == false);
+
80 assert(dynamic_programming::is_armstrong(989) == false);
+
81 assert(dynamic_programming::is_armstrong(103) == false);
+
82
+
83 std::cout << "All tests have successfully passed!\n";
+
84}
+
+
85
+
+
90int main() {
+
91 tests(); // run self-test implementations
+
92 return 0;
+
93}
+
+
static void tests()
Self-test implementations.
+
int main()
Main function.
+
Dynamic Programming algorithms.
+
bool is_armstrong(const T &number)
Checks if the given number is armstrong or not.
+
+
+ + + + diff --git a/d1/daa/random__pivot__quick__sort_8cpp.html b/d1/daa/random__pivot__quick__sort_8cpp.html index 579aff02b..f870e6318 100644 --- a/d1/daa/random__pivot__quick__sort_8cpp.html +++ b/d1/daa/random__pivot__quick__sort_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: sorting/random_pivot_quick_sort.cpp File Reference +TheAlgorithms/C++: sorting/random_pivot_quick_sort.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
@@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -125,7 +142,9 @@ Include dependency graph for random_pivot_quick_sort.cpp:
-
-
Algorithms_in_C++ 1.0.0 +
TheAlgorithms/C++ 1.0.0
-
Set of algorithms implemented in C++.
+
All the algorithms implemented in C++
+ +

Go to the source code of this file.

+
@@ -144,22 +163,22 @@ Namespaces - + - + - + - + @@ -196,6 +215,8 @@ Functions
  • Return the partition index from the function.
  • Author
    Nitin Sharma
    + +

    Definition in file random_pivot_quick_sort.cpp.

    Function Documentation

    ◆ generateUnsortedArray()

    @@ -206,7 +227,7 @@ Functions template<size_t size>

    Classes

    class  TestCases

    Functions

    template<size_t T>
    void sorting::random_pivot_quick_sort::showArray (std::array< int64_t, T > arr)
    void sorting::random_pivot_quick_sort::showArray (std::array< int64_t, T > arr)
     Utility function to print the array.
     
    int64_t sorting::random_pivot_quick_sort::getRandomIndex (int64_t start, int64_t end)
     Takes the start and end indices of an array and returns a random int64_teger between the range of those two for selecting pivot element.
     
    template<size_t size>
    std::tuple< int64_t, std::array< int64_t, size > > sorting::random_pivot_quick_sort::partition (std::array< int64_t, size > arr, int64_t start, int64_t end)
    std::tuple< int64_t, std::array< int64_t, size > > sorting::random_pivot_quick_sort::partition (std::array< int64_t, size > arr, int64_t start, int64_t end)
     A partition function which handles the partition logic of quick sort.
     
    template<size_t size>
    std::array< int64_t, size > sorting::random_pivot_quick_sort::quickSortRP (std::array< int64_t, size > arr, int64_t start, int64_t end)
    std::array< int64_t, size > sorting::random_pivot_quick_sort::quickSortRP (std::array< int64_t, size > arr, int64_t start, int64_t end)
     Random pivot quick sort function. This function is the starting point of the algorithm.
     
    template<size_t size>
    std::array< int64_t, size > sorting::random_pivot_quick_sort::generateUnsortedArray (int64_t from, int64_t to)
    std::array< int64_t, size > sorting::random_pivot_quick_sort::generateUnsortedArray (int64_t from, int64_t to)
     A function utility to generate unsorted array of given size and range.
     
    static void test ()
    - + @@ -233,9 +254,11 @@ template<size_t size>
    Returns
    std::array<int64_t , size> Unsorted array of specified size.
    + +

    Definition at line 160 of file random_pivot_quick_sort.cpp.

    160 {
    -
    161 srand(time(nullptr));
    -
    162 std::array<int64_t, size> unsortedArray{};
    +
    161 srand(time(nullptr));
    +
    162 std::array<int64_t, size> unsortedArray{};
    163 assert(from < to);
    164 int64_t i = 0;
    165 while (i < size) {
    @@ -247,14 +270,7 @@ template<size_t size>
    171 }
    172 return unsortedArray;
    173}
    - -
    T time(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -285,18 +301,14 @@ Here is the call graph for this function:
    Returns
    int64_t A random number between start and end index.
    + +

    Definition at line 88 of file random_pivot_quick_sort.cpp.

    88 {
    -
    89 srand(time(nullptr)); // Initialize random number generator.
    -
    90 int64_t randomPivotIndex = start + rand() % (end - start + 1);
    +
    89 srand(time(nullptr)); // Initialize random number generator.
    +
    90 int64_t randomPivotIndex = start + rand() % (end - start + 1);
    91 return randomPivotIndex;
    92}
    -
    T end(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -327,35 +339,29 @@ Here is the call graph for this function:
    Returns
    0 on exit
    + +

    Definition at line 323 of file random_pivot_quick_sort.cpp.

    323 {
    324 test(); // Executes various test cases.
    325
    326 const int64_t inputSize = 10;
    -
    327 std::array<int64_t, inputSize> unsorted_array =
    +
    327 std::array<int64_t, inputSize> unsorted_array =
    328 sorting::random_pivot_quick_sort::generateUnsortedArray<inputSize>(
    329 50, 1000);
    -
    330 std::cout << "Unsorted array is : " << std::endl;
    +
    330 std::cout << "Unsorted array is : " << std::endl;
    332
    -
    333 std::array<int64_t, inputSize> sorted_array =
    +
    333 std::array<int64_t, inputSize> sorted_array =
    -
    335 unsorted_array, 0, unsorted_array.size() - 1);
    -
    336 std::cout << "Sorted array is : " << std::endl;
    +
    335 unsorted_array, 0, unsorted_array.size() - 1);
    +
    336 std::cout << "Sorted array is : " << std::endl;
    338 return 0;
    339}
    - -
    T endl(T... args)
    -
    std::array< int64_t, size > quickSortRP(std::array< int64_t, size > arr, int64_t start, int64_t end)
    Random pivot quick sort function. This function is the starting point of the algorithm.
    Definition random_pivot_quick_sort.cpp:130
    -
    static void test()
    Self-test implementations.
    Definition random_pivot_quick_sort.cpp:312
    -
    void showArray(std::array< int64_t, T > arr)
    Utility function to print the array.
    Definition random_pivot_quick_sort.cpp:73
    -
    T size(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    std::array< int64_t, size > quickSortRP(std::array< int64_t, size > arr, int64_t start, int64_t end)
    Random pivot quick sort function. This function is the starting point of the algorithm.
    +
    static void test()
    Self-test implementations.
    +
    void showArray(std::array< int64_t, T > arr)
    Utility function to print the array.
    + @@ -367,9 +373,9 @@ Here is the call graph for this function: template<size_t size>
    std::array< int64_t, size > sorting::random_pivot_quick_sort::generateUnsortedArray std::array< int64_t, size > sorting::random_pivot_quick_sort::generateUnsortedArray ( int64_t from,
    - + - + @@ -399,30 +405,25 @@ template<size_t size>
    Returns
    std::tuple<int64_t , std::array<int64_t , size>> A tuple of pivot index and pivot sorted array.
    + +

    Definition at line 103 of file random_pivot_quick_sort.cpp.

    104 {
    -
    105 int64_t pivot = arr[end]; // Randomly selected element will be here from
    +
    105 int64_t pivot = arr[end]; // Randomly selected element will be here from
    106 // caller function (quickSortRP()).
    107 int64_t pInd = start;
    108
    -
    109 for (int64_t i = start; i < end; i++) {
    +
    109 for (int64_t i = start; i < end; i++) {
    110 if (arr[i] <= pivot) {
    -
    111 std::swap(arr[i], arr[pInd]); // swapping the elements from current
    +
    111 std::swap(arr[i], arr[pInd]); // swapping the elements from current
    112 // index to pInd.
    113 pInd++;
    114 }
    115 }
    -
    116 std::swap(arr[pInd],
    +
    116 std::swap(arr[pInd],
    117 arr[end]); // swapping the pivot element to its sorted position
    -
    118 return std::make_tuple(pInd, arr);
    +
    118 return std::make_tuple(pInd, arr);
    119}
    -
    T make_tuple(T... args)
    -
    T swap(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -434,9 +435,9 @@ Here is the call graph for this function: template<size_t size>
    std::tuple< int64_t, std::array< int64_t, size > > sorting::random_pivot_quick_sort::partition std::tuple< int64_t, std::array< int64_t, size > > sorting::random_pivot_quick_sort::partition (std::array< int64_t, size > arr, std::array< int64_t, size > arr,
    - + - + @@ -466,35 +467,30 @@ template<size_t size>
    Returns
    std::array<int64_t , size> A fully sorted array in ascending order.
    + +

    Definition at line 130 of file random_pivot_quick_sort.cpp.

    131 {
    132 if (start < end) {
    133 int64_t randomIndex = getRandomIndex(start, end);
    134
    135 // switching the pivot with right most bound.
    -
    136 std::swap(arr[end], arr[randomIndex]);
    +
    136 std::swap(arr[end], arr[randomIndex]);
    137
    138 int64_t pivotIndex = 0;
    139 // getting pivot index and pivot sorted array.
    -
    140 std::tie(pivotIndex, arr) = partition(arr, start, end);
    +
    140 std::tie(pivotIndex, arr) = partition(arr, start, end);
    141
    142 // Recursively calling
    -
    143 std::array<int64_t, arr.size()> rightSortingLeft =
    +
    143 std::array<int64_t, arr.size()> rightSortingLeft =
    144 quickSortRP(arr, start, pivotIndex - 1);
    -
    145 std::array<int64_t, arr.size()> full_sorted =
    +
    145 std::array<int64_t, arr.size()> full_sorted =
    146 quickSortRP(rightSortingLeft, pivotIndex + 1, end);
    147 arr = full_sorted;
    148 }
    149 return arr;
    150}
    -
    T partition(T... args)
    -
    int64_t getRandomIndex(int64_t start, int64_t end)
    Takes the start and end indices of an array and returns a random int64_teger between the range of tho...
    Definition random_pivot_quick_sort.cpp:88
    -
    T tie(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    int64_t getRandomIndex(int64_t start, int64_t end)
    Takes the start and end indices of an array and returns a random int64_teger between the range of tho...
    + @@ -508,7 +504,7 @@ template<size_t T> - +
    std::array< int64_t, size > sorting::random_pivot_quick_sort::quickSortRP std::array< int64_t, size > sorting::random_pivot_quick_sort::quickSortRP (std::array< int64_t, size > arr, std::array< int64_t, size > arr,
    void sorting::random_pivot_quick_sort::showArray (std::array< int64_t, T > arr)std::array< int64_t, T > arr)
    @@ -528,18 +524,15 @@ template<size_t T>
    Returns
    void
    -
    73 {
    -
    74 for (int64_t i = 0; i < arr.size(); i++) {
    -
    75 std::cout << arr[i] << " ";
    -
    76 }
    - -
    78}
    -
    -Here is the call graph for this function:
    -
    -
    -
    +

    Definition at line 73 of file random_pivot_quick_sort.cpp.

    +
    73 {
    +
    74 for (int64_t i = 0; i < arr.size(); i++) {
    +
    75 std::cout << arr[i] << " ";
    +
    76 }
    +
    77 std::cout << std::endl;
    +
    78}
    +
    @@ -567,18 +560,15 @@ Here is the call graph for this function:

    Self-test implementations.

    Returns
    void
    + +

    Definition at line 312 of file random_pivot_quick_sort.cpp.

    312 {
    313 TestCases tc = TestCases();
    314 tc.runTests();
    315}
    -
    class encapsulating the necessary test cases
    Definition inorder_successor_of_bst.cpp:225
    -
    void runTests()
    Executes test cases.
    Definition inorder_successor_of_bst.cpp:243
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    class encapsulating the necessary test cases
    +
    void runTests()
    Executes test cases.
    + diff --git a/d1/daa/random__pivot__quick__sort_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.map b/d1/daa/random__pivot__quick__sort_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.map deleted file mode 100644 index 52ae7720e..000000000 --- a/d1/daa/random__pivot__quick__sort_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.map +++ /dev/null @@ -1,27 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d1/daa/random__pivot__quick__sort_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.md5 b/d1/daa/random__pivot__quick__sort_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.md5 deleted file mode 100644 index fd5b3b001..000000000 --- a/d1/daa/random__pivot__quick__sort_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -31cc20888567fc08184cf71c248a3bdd \ No newline at end of file diff --git a/d1/daa/random__pivot__quick__sort_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.svg b/d1/daa/random__pivot__quick__sort_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.svg deleted file mode 100644 index db985afd3..000000000 --- a/d1/daa/random__pivot__quick__sort_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.svg +++ /dev/null @@ -1,320 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::array::size - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -test - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -TestCases::runTests - - - - - -Node4->Node5 - - - - - - - - -Node5->Node2 - - - - - - - - -Node6 - - -TestCases::log - - - - - -Node5->Node6 - - - - - - - - -Node7 - - -TestCases::testCase_1 - - - - - -Node5->Node7 - - - - - - - - -Node8 - - -TestCases::testCase_2 - - - - - -Node5->Node8 - - - - - - - - -Node9 - - -TestCases::testCase_3 - - - - - -Node5->Node9 - - - - - - - - -Node6->Node2 - - - - - - - - -Node7->Node2 - - - - - - - - -Node7->Node6 - - - - - - - - -Node8->Node2 - - - - - - - - -Node8->Node6 - - - - - - - - -Node9->Node2 - - - - - - - - -Node9->Node6 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d1/daa/random__pivot__quick__sort_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph_org.svg b/d1/daa/random__pivot__quick__sort_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph_org.svg deleted file mode 100644 index c9f3e00a2..000000000 --- a/d1/daa/random__pivot__quick__sort_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph_org.svg +++ /dev/null @@ -1,237 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::array::size - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -test - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -TestCases::runTests - - - - - -Node4->Node5 - - - - - - - - -Node5->Node2 - - - - - - - - -Node6 - - -TestCases::log - - - - - -Node5->Node6 - - - - - - - - -Node7 - - -TestCases::testCase_1 - - - - - -Node5->Node7 - - - - - - - - -Node8 - - -TestCases::testCase_2 - - - - - -Node5->Node8 - - - - - - - - -Node9 - - -TestCases::testCase_3 - - - - - -Node5->Node9 - - - - - - - - -Node6->Node2 - - - - - - - - -Node7->Node2 - - - - - - - - -Node7->Node6 - - - - - - - - -Node8->Node2 - - - - - - - - -Node8->Node6 - - - - - - - - -Node9->Node2 - - - - - - - - -Node9->Node6 - - - - - - - - diff --git a/d1/daa/random__pivot__quick__sort_8cpp_a3d1c39e1ff42c04fb8ec0c0b9411cd3e_cgraph.map b/d1/daa/random__pivot__quick__sort_8cpp_a3d1c39e1ff42c04fb8ec0c0b9411cd3e_cgraph.map deleted file mode 100644 index a2268c504..000000000 --- a/d1/daa/random__pivot__quick__sort_8cpp_a3d1c39e1ff42c04fb8ec0c0b9411cd3e_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/d1/daa/random__pivot__quick__sort_8cpp_a3d1c39e1ff42c04fb8ec0c0b9411cd3e_cgraph.md5 b/d1/daa/random__pivot__quick__sort_8cpp_a3d1c39e1ff42c04fb8ec0c0b9411cd3e_cgraph.md5 deleted file mode 100644 index 6ed2d4fdf..000000000 --- a/d1/daa/random__pivot__quick__sort_8cpp_a3d1c39e1ff42c04fb8ec0c0b9411cd3e_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -d34e803b57601bb88cdf6539a52187a2 \ No newline at end of file diff --git a/d1/daa/random__pivot__quick__sort_8cpp_a3d1c39e1ff42c04fb8ec0c0b9411cd3e_cgraph.svg b/d1/daa/random__pivot__quick__sort_8cpp_a3d1c39e1ff42c04fb8ec0c0b9411cd3e_cgraph.svg deleted file mode 100644 index b87943353..000000000 --- a/d1/daa/random__pivot__quick__sort_8cpp_a3d1c39e1ff42c04fb8ec0c0b9411cd3e_cgraph.svg +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - - - - - -sorting::random_pivot_quick_sort::partition - - -Node1 - - -sorting::random_pivot -_quick_sort::partition - - - - - -Node2 - - -std::make_tuple - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::swap - - - - - -Node1->Node3 - - - - - - - - - - - - - diff --git a/d1/daa/random__pivot__quick__sort_8cpp_a3d1c39e1ff42c04fb8ec0c0b9411cd3e_cgraph_org.svg b/d1/daa/random__pivot__quick__sort_8cpp_a3d1c39e1ff42c04fb8ec0c0b9411cd3e_cgraph_org.svg deleted file mode 100644 index 66c03ebcf..000000000 --- a/d1/daa/random__pivot__quick__sort_8cpp_a3d1c39e1ff42c04fb8ec0c0b9411cd3e_cgraph_org.svg +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - -sorting::random_pivot_quick_sort::partition - - -Node1 - - -sorting::random_pivot -_quick_sort::partition - - - - - -Node2 - - -std::make_tuple - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::swap - - - - - -Node1->Node3 - - - - - - - - diff --git a/d1/daa/random__pivot__quick__sort_8cpp_a40675d2eb960c71ca31ec475ba90120d_cgraph.map b/d1/daa/random__pivot__quick__sort_8cpp_a40675d2eb960c71ca31ec475ba90120d_cgraph.map deleted file mode 100644 index ff7d60061..000000000 --- a/d1/daa/random__pivot__quick__sort_8cpp_a40675d2eb960c71ca31ec475ba90120d_cgraph.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/d1/daa/random__pivot__quick__sort_8cpp_a40675d2eb960c71ca31ec475ba90120d_cgraph.md5 b/d1/daa/random__pivot__quick__sort_8cpp_a40675d2eb960c71ca31ec475ba90120d_cgraph.md5 deleted file mode 100644 index 5c3d89da8..000000000 --- a/d1/daa/random__pivot__quick__sort_8cpp_a40675d2eb960c71ca31ec475ba90120d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -55d1f74f39366fb2822beb68202af297 \ No newline at end of file diff --git a/d1/daa/random__pivot__quick__sort_8cpp_a40675d2eb960c71ca31ec475ba90120d_cgraph.svg b/d1/daa/random__pivot__quick__sort_8cpp_a40675d2eb960c71ca31ec475ba90120d_cgraph.svg deleted file mode 100644 index 46bc9997a..000000000 --- a/d1/daa/random__pivot__quick__sort_8cpp_a40675d2eb960c71ca31ec475ba90120d_cgraph.svg +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - - - - - - - -sorting::random_pivot_quick_sort::generateUnsortedArray - - -Node1 - - -sorting::random_pivot -_quick_sort::generateUnsorted -Array - - - - - -Node1->Node1 - - - - - - - - - - - - - diff --git a/d1/daa/random__pivot__quick__sort_8cpp_a40675d2eb960c71ca31ec475ba90120d_cgraph_org.svg b/d1/daa/random__pivot__quick__sort_8cpp_a40675d2eb960c71ca31ec475ba90120d_cgraph_org.svg deleted file mode 100644 index 593b2b518..000000000 --- a/d1/daa/random__pivot__quick__sort_8cpp_a40675d2eb960c71ca31ec475ba90120d_cgraph_org.svg +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - -sorting::random_pivot_quick_sort::generateUnsortedArray - - -Node1 - - -sorting::random_pivot -_quick_sort::generateUnsorted -Array - - - - - -Node1->Node1 - - - - - - - - diff --git a/d1/daa/random__pivot__quick__sort_8cpp_a7d2e7465e7b5d54c2de6d5e9db1ea6a5_cgraph.map b/d1/daa/random__pivot__quick__sort_8cpp_a7d2e7465e7b5d54c2de6d5e9db1ea6a5_cgraph.map deleted file mode 100644 index d1bcd9700..000000000 --- a/d1/daa/random__pivot__quick__sort_8cpp_a7d2e7465e7b5d54c2de6d5e9db1ea6a5_cgraph.map +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - diff --git a/d1/daa/random__pivot__quick__sort_8cpp_a7d2e7465e7b5d54c2de6d5e9db1ea6a5_cgraph.md5 b/d1/daa/random__pivot__quick__sort_8cpp_a7d2e7465e7b5d54c2de6d5e9db1ea6a5_cgraph.md5 deleted file mode 100644 index 3bf616b8f..000000000 --- a/d1/daa/random__pivot__quick__sort_8cpp_a7d2e7465e7b5d54c2de6d5e9db1ea6a5_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -f9c0f871e9e37ffe69cd5230dccc4ed0 \ No newline at end of file diff --git a/d1/daa/random__pivot__quick__sort_8cpp_a7d2e7465e7b5d54c2de6d5e9db1ea6a5_cgraph.svg b/d1/daa/random__pivot__quick__sort_8cpp_a7d2e7465e7b5d54c2de6d5e9db1ea6a5_cgraph.svg deleted file mode 100644 index 4c9bb3619..000000000 --- a/d1/daa/random__pivot__quick__sort_8cpp_a7d2e7465e7b5d54c2de6d5e9db1ea6a5_cgraph.svg +++ /dev/null @@ -1,139 +0,0 @@ - - - - - - - - - - - - -sorting::random_pivot_quick_sort::quickSortRP - - -Node1 - - -sorting::random_pivot -_quick_sort::quickSortRP - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -sorting::random_pivot -_quick_sort::getRandomIndex - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::array::size - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::swap - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::tie - - - - - -Node1->Node5 - - - - - - - - -Node2->Node2 - - - - - - - - - - - - - diff --git a/d1/daa/random__pivot__quick__sort_8cpp_a7d2e7465e7b5d54c2de6d5e9db1ea6a5_cgraph_org.svg b/d1/daa/random__pivot__quick__sort_8cpp_a7d2e7465e7b5d54c2de6d5e9db1ea6a5_cgraph_org.svg deleted file mode 100644 index 561703031..000000000 --- a/d1/daa/random__pivot__quick__sort_8cpp_a7d2e7465e7b5d54c2de6d5e9db1ea6a5_cgraph_org.svg +++ /dev/null @@ -1,113 +0,0 @@ - - - - - - -sorting::random_pivot_quick_sort::quickSortRP - - -Node1 - - -sorting::random_pivot -_quick_sort::quickSortRP - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -sorting::random_pivot -_quick_sort::getRandomIndex - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::array::size - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::swap - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::tie - - - - - -Node1->Node5 - - - - - - - - -Node2->Node2 - - - - - - - - diff --git a/d1/daa/random__pivot__quick__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map b/d1/daa/random__pivot__quick__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map deleted file mode 100644 index de38214d8..000000000 --- a/d1/daa/random__pivot__quick__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - diff --git a/d1/daa/random__pivot__quick__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 b/d1/daa/random__pivot__quick__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 deleted file mode 100644 index 8a5e67e52..000000000 --- a/d1/daa/random__pivot__quick__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -d2c5c4cea9e9ad710f2e888f48c03542 \ No newline at end of file diff --git a/d1/daa/random__pivot__quick__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg b/d1/daa/random__pivot__quick__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg deleted file mode 100644 index 8a6a74dbc..000000000 --- a/d1/daa/random__pivot__quick__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg +++ /dev/null @@ -1,275 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -TestCases::runTests - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -TestCases::log - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -TestCases::testCase_1 - - - - - -Node2->Node5 - - - - - - - - -Node6 - - -TestCases::testCase_2 - - - - - -Node2->Node6 - - - - - - - - -Node7 - - -TestCases::testCase_3 - - - - - -Node2->Node7 - - - - - - - - -Node4->Node3 - - - - - - - - -Node5->Node3 - - - - - - - - -Node5->Node4 - - - - - - - - -Node6->Node3 - - - - - - - - -Node6->Node4 - - - - - - - - -Node7->Node3 - - - - - - - - -Node7->Node4 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d1/daa/random__pivot__quick__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg b/d1/daa/random__pivot__quick__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg deleted file mode 100644 index e339729cd..000000000 --- a/d1/daa/random__pivot__quick__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg +++ /dev/null @@ -1,192 +0,0 @@ - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -TestCases::runTests - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -TestCases::log - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -TestCases::testCase_1 - - - - - -Node2->Node5 - - - - - - - - -Node6 - - -TestCases::testCase_2 - - - - - -Node2->Node6 - - - - - - - - -Node7 - - -TestCases::testCase_3 - - - - - -Node2->Node7 - - - - - - - - -Node4->Node3 - - - - - - - - -Node5->Node3 - - - - - - - - -Node5->Node4 - - - - - - - - -Node6->Node3 - - - - - - - - -Node6->Node4 - - - - - - - - -Node7->Node3 - - - - - - - - -Node7->Node4 - - - - - - - - diff --git a/d1/daa/random__pivot__quick__sort_8cpp_aac5657b4fe2251cd21073f44233f6ea5_cgraph.map b/d1/daa/random__pivot__quick__sort_8cpp_aac5657b4fe2251cd21073f44233f6ea5_cgraph.map deleted file mode 100644 index 4bea15666..000000000 --- a/d1/daa/random__pivot__quick__sort_8cpp_aac5657b4fe2251cd21073f44233f6ea5_cgraph.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/d1/daa/random__pivot__quick__sort_8cpp_aac5657b4fe2251cd21073f44233f6ea5_cgraph.md5 b/d1/daa/random__pivot__quick__sort_8cpp_aac5657b4fe2251cd21073f44233f6ea5_cgraph.md5 deleted file mode 100644 index 966d29e65..000000000 --- a/d1/daa/random__pivot__quick__sort_8cpp_aac5657b4fe2251cd21073f44233f6ea5_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -67b3323df28113cbd63092c51ba41a53 \ No newline at end of file diff --git a/d1/daa/random__pivot__quick__sort_8cpp_aac5657b4fe2251cd21073f44233f6ea5_cgraph.svg b/d1/daa/random__pivot__quick__sort_8cpp_aac5657b4fe2251cd21073f44233f6ea5_cgraph.svg deleted file mode 100644 index 4304e653c..000000000 --- a/d1/daa/random__pivot__quick__sort_8cpp_aac5657b4fe2251cd21073f44233f6ea5_cgraph.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - - - - - - - -sorting::random_pivot_quick_sort::getRandomIndex - - -Node1 - - -sorting::random_pivot -_quick_sort::getRandomIndex - - - - - -Node1->Node1 - - - - - - - - - - - - - diff --git a/d1/daa/random__pivot__quick__sort_8cpp_aac5657b4fe2251cd21073f44233f6ea5_cgraph_org.svg b/d1/daa/random__pivot__quick__sort_8cpp_aac5657b4fe2251cd21073f44233f6ea5_cgraph_org.svg deleted file mode 100644 index 3b4ab5a23..000000000 --- a/d1/daa/random__pivot__quick__sort_8cpp_aac5657b4fe2251cd21073f44233f6ea5_cgraph_org.svg +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - -sorting::random_pivot_quick_sort::getRandomIndex - - -Node1 - - -sorting::random_pivot -_quick_sort::getRandomIndex - - - - - -Node1->Node1 - - - - - - - - diff --git a/d1/daa/random__pivot__quick__sort_8cpp_ac3281dc34a9cfd7beb332419b8a0aa10_cgraph.map b/d1/daa/random__pivot__quick__sort_8cpp_ac3281dc34a9cfd7beb332419b8a0aa10_cgraph.map deleted file mode 100644 index ed1a86eac..000000000 --- a/d1/daa/random__pivot__quick__sort_8cpp_ac3281dc34a9cfd7beb332419b8a0aa10_cgraph.map +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/d1/daa/random__pivot__quick__sort_8cpp_ac3281dc34a9cfd7beb332419b8a0aa10_cgraph.md5 b/d1/daa/random__pivot__quick__sort_8cpp_ac3281dc34a9cfd7beb332419b8a0aa10_cgraph.md5 deleted file mode 100644 index 2deb8c045..000000000 --- a/d1/daa/random__pivot__quick__sort_8cpp_ac3281dc34a9cfd7beb332419b8a0aa10_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -ee14619c159a34a1b9271c7062848321 \ No newline at end of file diff --git a/d1/daa/random__pivot__quick__sort_8cpp_ac3281dc34a9cfd7beb332419b8a0aa10_cgraph.svg b/d1/daa/random__pivot__quick__sort_8cpp_ac3281dc34a9cfd7beb332419b8a0aa10_cgraph.svg deleted file mode 100644 index 057fcf0f3..000000000 --- a/d1/daa/random__pivot__quick__sort_8cpp_ac3281dc34a9cfd7beb332419b8a0aa10_cgraph.svg +++ /dev/null @@ -1,93 +0,0 @@ - - - - - - - - - - - - -sorting::random_pivot_quick_sort::showArray - - -Node1 - - -sorting::random_pivot -_quick_sort::showArray - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::array::size - - - - - -Node1->Node3 - - - - - - - - - - - - - diff --git a/d1/daa/random__pivot__quick__sort_8cpp_ac3281dc34a9cfd7beb332419b8a0aa10_cgraph_org.svg b/d1/daa/random__pivot__quick__sort_8cpp_ac3281dc34a9cfd7beb332419b8a0aa10_cgraph_org.svg deleted file mode 100644 index 309352bf6..000000000 --- a/d1/daa/random__pivot__quick__sort_8cpp_ac3281dc34a9cfd7beb332419b8a0aa10_cgraph_org.svg +++ /dev/null @@ -1,67 +0,0 @@ - - - - - - -sorting::random_pivot_quick_sort::showArray - - -Node1 - - -sorting::random_pivot -_quick_sort::showArray - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::array::size - - - - - -Node1->Node3 - - - - - - - - diff --git a/d1/daa/random__pivot__quick__sort_8cpp_source.html b/d1/daa/random__pivot__quick__sort_8cpp_source.html new file mode 100644 index 000000000..4ea6d9c04 --- /dev/null +++ b/d1/daa/random__pivot__quick__sort_8cpp_source.html @@ -0,0 +1,388 @@ + + + + + + + + +TheAlgorithms/C++: sorting/random_pivot_quick_sort.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    random_pivot_quick_sort.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    47#include <algorithm>
    +
    48#include <array>
    +
    49#include <cassert>
    +
    50#include <ctime>
    +
    51#include <iostream>
    +
    52#include <tuple>
    +
    53
    +
    58namespace sorting {
    + +
    72template <size_t T>
    +
    +
    73void showArray(std::array<int64_t, T> arr) {
    +
    74 for (int64_t i = 0; i < arr.size(); i++) {
    +
    75 std::cout << arr[i] << " ";
    +
    76 }
    +
    77 std::cout << std::endl;
    +
    78}
    +
    +
    79
    +
    +
    88int64_t getRandomIndex(int64_t start, int64_t end) {
    +
    89 srand(time(nullptr)); // Initialize random number generator.
    +
    90 int64_t randomPivotIndex = start + rand() % (end - start + 1);
    +
    91 return randomPivotIndex;
    +
    92}
    +
    +
    93
    +
    102template <size_t size>
    +
    +
    103std::tuple<int64_t, std::array<int64_t, size>> partition(
    +
    104 std::array<int64_t, size> arr, int64_t start, int64_t end) {
    +
    105 int64_t pivot = arr[end]; // Randomly selected element will be here from
    +
    106 // caller function (quickSortRP()).
    +
    107 int64_t pInd = start;
    +
    108
    +
    109 for (int64_t i = start; i < end; i++) {
    +
    110 if (arr[i] <= pivot) {
    +
    111 std::swap(arr[i], arr[pInd]); // swapping the elements from current
    +
    112 // index to pInd.
    +
    113 pInd++;
    +
    114 }
    +
    115 }
    +
    116 std::swap(arr[pInd],
    +
    117 arr[end]); // swapping the pivot element to its sorted position
    +
    118 return std::make_tuple(pInd, arr);
    +
    119}
    +
    +
    120
    +
    129template <size_t size>
    +
    +
    130std::array<int64_t, size> quickSortRP(std::array<int64_t, size> arr,
    +
    131 int64_t start, int64_t end) {
    +
    132 if (start < end) {
    +
    133 int64_t randomIndex = getRandomIndex(start, end);
    +
    134
    +
    135 // switching the pivot with right most bound.
    +
    136 std::swap(arr[end], arr[randomIndex]);
    +
    137
    +
    138 int64_t pivotIndex = 0;
    +
    139 // getting pivot index and pivot sorted array.
    +
    140 std::tie(pivotIndex, arr) = partition(arr, start, end);
    +
    141
    +
    142 // Recursively calling
    +
    143 std::array<int64_t, arr.size()> rightSortingLeft =
    +
    144 quickSortRP(arr, start, pivotIndex - 1);
    +
    145 std::array<int64_t, arr.size()> full_sorted =
    +
    146 quickSortRP(rightSortingLeft, pivotIndex + 1, end);
    +
    147 arr = full_sorted;
    +
    148 }
    +
    149 return arr;
    +
    150}
    +
    +
    151
    +
    159template <size_t size>
    +
    +
    160std::array<int64_t, size> generateUnsortedArray(int64_t from, int64_t to) {
    +
    161 srand(time(nullptr));
    +
    162 std::array<int64_t, size> unsortedArray{};
    +
    163 assert(from < to);
    +
    164 int64_t i = 0;
    +
    165 while (i < size) {
    +
    166 int64_t randomNum = from + rand() % (to - from + 1);
    +
    167 if (randomNum) {
    +
    168 unsortedArray[i] = randomNum;
    +
    169 i++;
    +
    170 }
    +
    171 }
    +
    172 return unsortedArray;
    +
    173}
    +
    +
    174
    +
    175} // namespace random_pivot_quick_sort
    +
    176} // namespace sorting
    +
    177
    +
    181class TestCases {
    +
    182 private:
    +
    188 template <typename T>
    +
    +
    189 void log(T msg) {
    +
    190 // It's just to avoid writing cout and endl
    +
    191 std::cout << "[TESTS] : ---> " << msg << std::endl;
    +
    192 }
    +
    +
    193
    +
    194 public:
    +
    +
    199 void runTests() {
    +
    200 log("Running Tests...");
    +
    201
    +
    202 testCase_1();
    +
    203 testCase_2();
    +
    204 testCase_3();
    +
    205
    +
    206 log("Test Cases over!");
    +
    207 std::cout << std::endl;
    +
    208 }
    +
    +
    209
    +
    +
    214 void testCase_1() {
    +
    215 const int64_t inputSize = 1;
    +
    216 log("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
    +
    217 "~");
    +
    218 log("This is test case 1 for Random Pivot Quick Sort Algorithm : ");
    +
    219 log("Description:");
    +
    220 log(" EDGE CASE : Only contains one element");
    +
    221 std::array<int64_t, inputSize> unsorted_arr{2};
    +
    222
    +
    223 int64_t start = 0;
    +
    224 int64_t end = unsorted_arr.size() - 1; // length - 1
    +
    225
    +
    226 log("Running algorithm of data of length 50 ...");
    +
    227 std::array<int64_t, unsorted_arr.size()> sorted_arr =
    +
    228 sorting::random_pivot_quick_sort::quickSortRP(unsorted_arr, start,
    +
    229 end);
    +
    230 log("Algorithm finished!");
    +
    231
    +
    232 log("Checking assert expression...");
    +
    233 assert(std::is_sorted(sorted_arr.begin(), sorted_arr.end()));
    +
    234 log("Assertion check passed!");
    +
    235
    +
    236 log("[PASS] : TEST CASE 1 PASS!");
    +
    237 log("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
    +
    238 "~");
    +
    239 }
    +
    +
    240
    +
    +
    245 void testCase_2() {
    +
    246 const int64_t inputSize = 500;
    +
    247 log("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
    +
    248 "~");
    +
    249 log("Description:");
    +
    250 log(" BIG INPUT : Contains 500 elements and repeated elements");
    +
    251 log("This is test case 2 for Random Pivot Quick Sort Algorithm : ");
    +
    252 std::array<int64_t, inputSize> unsorted_arr =
    +
    253 sorting::random_pivot_quick_sort::generateUnsortedArray<inputSize>(
    +
    254 1, 10000);
    +
    255
    +
    256 int64_t start = 0;
    +
    257 int64_t end = unsorted_arr.size() - 1; // length - 1
    +
    258
    +
    259 log("Running algorithm of data of length 500 ...");
    +
    260 std::array<int64_t, unsorted_arr.size()> sorted_arr =
    +
    261 sorting::random_pivot_quick_sort::quickSortRP(unsorted_arr, start,
    +
    262 end);
    +
    263 log("Algorithm finished!");
    +
    264
    +
    265 log("Checking assert expression...");
    +
    266 assert(std::is_sorted(sorted_arr.begin(), sorted_arr.end()));
    +
    267 log("Assertion check passed!");
    +
    268
    +
    269 log("[PASS] : TEST CASE 2 PASS!");
    +
    270 log("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
    +
    271 "~");
    +
    272 }
    +
    +
    273
    +
    +
    278 void testCase_3() {
    +
    279 const int64_t inputSize = 1000;
    +
    280 log("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
    +
    281 "~");
    +
    282 log("This is test case 3 for Random Pivot Quick Sort Algorithm : ");
    +
    283 log("Description:");
    +
    284 log(" LARGE INPUT : Contains 1000 elements and repeated elements");
    +
    285 std::array<int64_t, inputSize> unsorted_arr =
    +
    286 sorting::random_pivot_quick_sort::generateUnsortedArray<inputSize>(
    +
    287 1, 10000);
    +
    288
    +
    289 int64_t start = 0;
    +
    290 int64_t end = unsorted_arr.size() - 1; // length - 1
    +
    291
    +
    292 log("Running algorithm...");
    +
    293 std::array<int64_t, unsorted_arr.size()> sorted_arr =
    +
    294 sorting::random_pivot_quick_sort::quickSortRP(unsorted_arr, start,
    +
    295 end);
    +
    296 log("Algorithm finished!");
    +
    297
    +
    298 log("Checking assert expression...");
    +
    299 assert(std::is_sorted(sorted_arr.begin(), sorted_arr.end()));
    +
    300 log("Assertion check passed!");
    +
    301
    +
    302 log("[PASS] : TEST CASE 3 PASS!");
    +
    303 log("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
    +
    304 "~");
    +
    305 }
    +
    +
    306};
    +
    307
    +
    +
    312static void test() {
    +
    313 TestCases tc = TestCases();
    +
    314 tc.runTests();
    +
    315}
    +
    +
    316
    +
    +
    323int main(int argc, char *argv[]) {
    +
    324 test(); // Executes various test cases.
    +
    325
    +
    326 const int64_t inputSize = 10;
    +
    327 std::array<int64_t, inputSize> unsorted_array =
    +
    328 sorting::random_pivot_quick_sort::generateUnsortedArray<inputSize>(
    +
    329 50, 1000);
    +
    330 std::cout << "Unsorted array is : " << std::endl;
    +
    331 sorting::random_pivot_quick_sort::showArray(unsorted_array);
    +
    332
    +
    333 std::array<int64_t, inputSize> sorted_array =
    +
    334 sorting::random_pivot_quick_sort::quickSortRP(
    +
    335 unsorted_array, 0, unsorted_array.size() - 1);
    +
    336 std::cout << "Sorted array is : " << std::endl;
    +
    337 sorting::random_pivot_quick_sort::showArray(sorted_array);
    +
    338 return 0;
    +
    339}
    +
    +
    class encapsulating the necessary test cases
    +
    void log(T msg)
    A function to print64_t given message on console.
    +
    void testCase_2()
    A test case which contains main list of 100 elements and sublist of 20.
    +
    void testCase_1()
    A test case contains edge case, printing inorder successor of last node.
    +
    void testCase_3()
    A test case which contains main list of 50 elements and sublist of 20.
    +
    void runTests()
    Executes test cases.
    +
    int main()
    Main function.
    +
    Functions for the Random Pivot Quick Sort implementation.
    +
    for working with vectors
    +
    std::array< int64_t, size > generateUnsortedArray(int64_t from, int64_t to)
    A function utility to generate unsorted array of given size and range.
    +
    std::array< int64_t, size > quickSortRP(std::array< int64_t, size > arr, int64_t start, int64_t end)
    Random pivot quick sort function. This function is the starting point of the algorithm.
    +
    static void test()
    Self-test implementations.
    +
    int64_t getRandomIndex(int64_t start, int64_t end)
    Takes the start and end indices of an array and returns a random int64_teger between the range of tho...
    +
    void showArray(std::array< int64_t, T > arr)
    Utility function to print the array.
    +
    +
    + + + + diff --git a/d1/db0/structstd_1_1is__integral_3_01uint128__t_01_4__coll__graph.map b/d1/db0/structstd_1_1is__integral_3_01uint128__t_01_4__coll__graph.map index d7dd79417..c595e3dc4 100644 --- a/d1/db0/structstd_1_1is__integral_3_01uint128__t_01_4__coll__graph.map +++ b/d1/db0/structstd_1_1is__integral_3_01uint128__t_01_4__coll__graph.map @@ -1,5 +1,5 @@ - + diff --git a/d1/db0/structstd_1_1is__integral_3_01uint128__t_01_4__coll__graph.md5 b/d1/db0/structstd_1_1is__integral_3_01uint128__t_01_4__coll__graph.md5 index 02d792f20..10a023df0 100644 --- a/d1/db0/structstd_1_1is__integral_3_01uint128__t_01_4__coll__graph.md5 +++ b/d1/db0/structstd_1_1is__integral_3_01uint128__t_01_4__coll__graph.md5 @@ -1 +1 @@ -ae61aae73f537f6171eb63e089015b91 \ No newline at end of file +d8e72a5cac00bd09a7e428aa97dcd5b4 \ No newline at end of file diff --git a/d1/db0/structstd_1_1is__integral_3_01uint128__t_01_4__coll__graph.svg b/d1/db0/structstd_1_1is__integral_3_01uint128__t_01_4__coll__graph.svg index e8bf7b111..a60440e80 100644 --- a/d1/db0/structstd_1_1is__integral_3_01uint128__t_01_4__coll__graph.svg +++ b/d1/db0/structstd_1_1is__integral_3_01uint128__t_01_4__coll__graph.svg @@ -31,7 +31,7 @@ Node2 - + std::true_type diff --git a/d1/db0/structstd_1_1is__integral_3_01uint128__t_01_4__coll__graph_org.svg b/d1/db0/structstd_1_1is__integral_3_01uint128__t_01_4__coll__graph_org.svg index b0db0f467..ad39e9932 100644 --- a/d1/db0/structstd_1_1is__integral_3_01uint128__t_01_4__coll__graph_org.svg +++ b/d1/db0/structstd_1_1is__integral_3_01uint128__t_01_4__coll__graph_org.svg @@ -20,7 +20,7 @@ Node2 - + std::true_type diff --git a/d1/db3/structcompare.html b/d1/db3/structcompare.html index 60eb7fcc9..db975cfd1 100644 --- a/d1/db3/structcompare.html +++ b/d1/db3/structcompare.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: compare Struct Reference +TheAlgorithms/C++: compare Struct Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -116,7 +133,10 @@ Public Member Functions
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    bool operator() (const MinHeapNode *const l, const MinHeapNode *const r) const
     
    -

    Member Function Documentation

    +

    Detailed Description

    +
    +

    Definition at line 36 of file huffman.cpp.

    +

    Member Function Documentation

    ◆ operator()()

    @@ -143,15 +163,17 @@ Public Member Functions
    + +

    Definition at line 37 of file huffman.cpp.

    38 {
    39 return l->freq > r->freq;
    40 }
    -
    double l(double x)
    Another test function.
    Definition composite_simpson_rule.cpp:119
    +
    double l(double x)
    Another test function.

    The documentation for this struct was generated from the following file:
      -
    • greedy_algorithms/huffman.cpp
    • +
    • greedy_algorithms/huffman.cpp
    diff --git a/d1/db6/namespaceknight__tour.html b/d1/db6/namespaceknight__tour.html index 04e9cc7a7..c141e62ed 100644 --- a/d1/db6/namespaceknight__tour.html +++ b/d1/db6/namespaceknight__tour.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: knight_tour Namespace Reference +TheAlgorithms/C++: knight_tour Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/d1/db8/classothers_1_1_cache_1_1_l_r_u_cache__coll__graph.map b/d1/db8/classothers_1_1_cache_1_1_l_r_u_cache__coll__graph.map index 4a8ad8eb9..146baa9a2 100644 --- a/d1/db8/classothers_1_1_cache_1_1_l_r_u_cache__coll__graph.map +++ b/d1/db8/classothers_1_1_cache_1_1_l_r_u_cache__coll__graph.map @@ -1,13 +1,11 @@ - + - - - - - - - - - + + + + + + + diff --git a/d1/db8/classothers_1_1_cache_1_1_l_r_u_cache__coll__graph.md5 b/d1/db8/classothers_1_1_cache_1_1_l_r_u_cache__coll__graph.md5 index 572d4f653..d5121c79c 100644 --- a/d1/db8/classothers_1_1_cache_1_1_l_r_u_cache__coll__graph.md5 +++ b/d1/db8/classothers_1_1_cache_1_1_l_r_u_cache__coll__graph.md5 @@ -1 +1 @@ -000048512d2af21496e0d3a3054ece76 \ No newline at end of file +8400c3ebfcfef8437a8888c2d74d787e \ No newline at end of file diff --git a/d1/db8/classothers_1_1_cache_1_1_l_r_u_cache__coll__graph.svg b/d1/db8/classothers_1_1_cache_1_1_l_r_u_cache__coll__graph.svg index 0a6584801..57282b24d 100644 --- a/d1/db8/classothers_1_1_cache_1_1_l_r_u_cache__coll__graph.svg +++ b/d1/db8/classothers_1_1_cache_1_1_l_r_u_cache__coll__graph.svg @@ -4,7 +4,7 @@ - + @@ -48,7 +48,7 @@ @@ -59,9 +59,9 @@ var sectionId = 'dynsection-0'; Node1 - -others::Cache::LRUCache -< K, V > + +others::Cache::LRUCache +< K, V > @@ -69,9 +69,9 @@ var sectionId = 'dynsection-0'; Node2 - -others::Cache::D_Node -< K, V > + +others::Cache::D_Node +< K, V > @@ -79,40 +79,40 @@ var sectionId = 'dynsection-0'; Node2->Node1 - - + + - head -tail + head +tail - - -Node5 - - -std::unordered_map -< K, others::Cache:: -D_Node< K, V > * > + + +Node4 + + +std::unordered_map +< K, others::Cache:: +D_Node< K, V > * > - - -Node2->Node5 - - - + + +Node2->Node4 + + + - elements + elements Node3 - -K + +K @@ -120,50 +120,31 @@ var sectionId = 'dynsection-0'; Node3->Node2 - - + + - data + data - - -Node3->Node5 - - - - - - keys - - - -Node4 - - -std::uint32_t + + +Node3->Node4 + + + + keys Node4->Node1 - - + + - _capacity - - - -Node5->Node1 - - - - - - node_map + node_map diff --git a/d1/db8/classothers_1_1_cache_1_1_l_r_u_cache__coll__graph_org.svg b/d1/db8/classothers_1_1_cache_1_1_l_r_u_cache__coll__graph_org.svg index b244c724d..ba4d2e1fb 100644 --- a/d1/db8/classothers_1_1_cache_1_1_l_r_u_cache__coll__graph_org.svg +++ b/d1/db8/classothers_1_1_cache_1_1_l_r_u_cache__coll__graph_org.svg @@ -4,17 +4,17 @@ - - + + others::Cache::LRUCache< K, V > Node1 - -others::Cache::LRUCache -< K, V > + +others::Cache::LRUCache +< K, V > @@ -22,9 +22,9 @@ Node2 - -others::Cache::D_Node -< K, V > + +others::Cache::D_Node +< K, V > @@ -32,40 +32,40 @@ Node2->Node1 - - + + - head -tail + head +tail - - -Node5 - - -std::unordered_map -< K, others::Cache:: -D_Node< K, V > * > + + +Node4 + + +std::unordered_map +< K, others::Cache:: +D_Node< K, V > * > - - -Node2->Node5 - - - + + +Node2->Node4 + + + - elements + elements Node3 - -K + +K @@ -73,50 +73,31 @@ Node3->Node2 - - + + - data + data - - -Node3->Node5 - - - - - - keys - - - -Node4 - - -std::uint32_t + + +Node3->Node4 + + + + keys Node4->Node1 - - + + - _capacity - - - -Node5->Node1 - - - - - - node_map + node_map diff --git a/d1/dbb/n__choose__r_8cpp.html b/d1/dbb/n__choose__r_8cpp.html index 845cd5e1b..8e88d41c3 100644 --- a/d1/dbb/n__choose__r_8cpp.html +++ b/d1/dbb/n__choose__r_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: math/n_choose_r.cpp File Reference +TheAlgorithms/C++: math/n_choose_r.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + @@ -121,7 +138,9 @@ Include dependency graph for n_choose_r.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -145,6 +164,8 @@ Functions

    Combinations n choose r function implementation

    A very basic and efficient method of calculating choosing r from n different choices. \( \binom{n}{r} = \frac{n!}{r! (n-r)!} \)

    Author
    Tajmeet Singh
    + +

    Definition in file n_choose_r.cpp.

    Function Documentation

    ◆ main()

    @@ -174,17 +195,14 @@ Functions
    Returns
    0 on exit
    + +

    Definition at line 80 of file n_choose_r.cpp.

    80 {
    81 test(); // executing tests
    82 return 0;
    83}
    -
    static void test()
    Test implementations.
    Definition n_choose_r.cpp:52
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static void test()
    Test implementations.
    + @@ -212,36 +230,31 @@ Here is the call graph for this function:

    Test implementations.

    Returns
    void
    + +

    Definition at line 52 of file n_choose_r.cpp.

    52 {
    53 // First test on 5 choose 2
    54 uint8_t t = math::n_choose_r(5, 2);
    55 assert(((void)"10 is the answer but function says otherwise.\n", t == 10));
    -
    56 std::cout << "First test passes." << std::endl;
    +
    56 std::cout << "First test passes." << std::endl;
    57 // Second test on 5 choose 3
    58 t = math::n_choose_r(5, 3);
    59 assert(
    60 ((void)"10 is the answer but the function says otherwise.\n", t == 10));
    -
    61 std::cout << "Second test passes." << std::endl;
    +
    61 std::cout << "Second test passes." << std::endl;
    62 // Third test on 3 choose 2
    63 t = math::n_choose_r(3, 2);
    64 assert(
    65 ((void)"3 is the answer but the function says otherwise.\n", t == 3));
    -
    66 std::cout << "Third test passes." << std::endl;
    +
    66 std::cout << "Third test passes." << std::endl;
    67 // Fourth test on 10 choose 4
    68 t = math::n_choose_r(10, 4);
    69 assert(((void)"210 is the answer but the function says otherwise.\n",
    70 t == 210));
    -
    71 std::cout << "Fourth test passes." << std::endl;
    +
    71 std::cout << "Fourth test passes." << std::endl;
    72}
    - -
    T endl(T... args)
    -
    T n_choose_r(T n, T r)
    This is the function implementation of .
    Definition n_choose_r.cpp:35
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    T n_choose_r(T n, T r)
    This is the function implementation of .
    + diff --git a/d1/dbb/n__choose__r_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.map b/d1/dbb/n__choose__r_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.map deleted file mode 100644 index d2ab0da18..000000000 --- a/d1/dbb/n__choose__r_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.map +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/d1/dbb/n__choose__r_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.md5 b/d1/dbb/n__choose__r_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.md5 deleted file mode 100644 index 410ee9a43..000000000 --- a/d1/dbb/n__choose__r_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -209f034b4aadc915057253b2509e935f \ No newline at end of file diff --git a/d1/dbb/n__choose__r_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.svg b/d1/dbb/n__choose__r_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.svg deleted file mode 100644 index 091029b8c..000000000 --- a/d1/dbb/n__choose__r_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.svg +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -math::n_choose_r - - - - - -Node2->Node4 - - - - - - - - - - - - - diff --git a/d1/dbb/n__choose__r_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph_org.svg b/d1/dbb/n__choose__r_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph_org.svg deleted file mode 100644 index 6da044ec0..000000000 --- a/d1/dbb/n__choose__r_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph_org.svg +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -math::n_choose_r - - - - - -Node2->Node4 - - - - - - - - diff --git a/d1/dbb/n__choose__r_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map b/d1/dbb/n__choose__r_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map deleted file mode 100644 index ef10d4374..000000000 --- a/d1/dbb/n__choose__r_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/d1/dbb/n__choose__r_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 b/d1/dbb/n__choose__r_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 deleted file mode 100644 index eb5bbc85f..000000000 --- a/d1/dbb/n__choose__r_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -97e38f159c278de26b88bfebbdb40210 \ No newline at end of file diff --git a/d1/dbb/n__choose__r_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg b/d1/dbb/n__choose__r_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg deleted file mode 100644 index 8510d0fe3..000000000 --- a/d1/dbb/n__choose__r_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -math::n_choose_r - - - - - -Node1->Node3 - - - - - - - - - - - - - diff --git a/d1/dbb/n__choose__r_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg b/d1/dbb/n__choose__r_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg deleted file mode 100644 index 934133509..000000000 --- a/d1/dbb/n__choose__r_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -math::n_choose_r - - - - - -Node1->Node3 - - - - - - - - diff --git a/d1/dbb/n__choose__r_8cpp_source.html b/d1/dbb/n__choose__r_8cpp_source.html new file mode 100644 index 000000000..d7017f4ee --- /dev/null +++ b/d1/dbb/n__choose__r_8cpp_source.html @@ -0,0 +1,192 @@ + + + + + + + + +TheAlgorithms/C++: math/n_choose_r.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    +

    Namespaces

    namespace  math
    + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + + +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    n_choose_r.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    13#include <cassert>
    +
    14#include <cstdint>
    +
    15#include <iostream>
    +
    20namespace math {
    +
    34template <class T>
    +
    +
    35T n_choose_r(T n, T r) {
    +
    36 if (r > n / 2) {
    +
    37 r = n - r; // Because of the fact that nCr(n, r) == nCr(n, n - r)
    +
    38 }
    +
    39 T ans = 1;
    +
    40 for (int i = 1; i <= r; i++) {
    +
    41 ans *= n - r + i;
    +
    42 ans /= i;
    +
    43 }
    +
    44 return ans;
    +
    45}
    +
    +
    46} // namespace math
    +
    47
    +
    +
    52static void test() {
    +
    53 // First test on 5 choose 2
    +
    54 uint8_t t = math::n_choose_r(5, 2);
    +
    55 assert(((void)"10 is the answer but function says otherwise.\n", t == 10));
    +
    56 std::cout << "First test passes." << std::endl;
    +
    57 // Second test on 5 choose 3
    +
    58 t = math::n_choose_r(5, 3);
    +
    59 assert(
    +
    60 ((void)"10 is the answer but the function says otherwise.\n", t == 10));
    +
    61 std::cout << "Second test passes." << std::endl;
    +
    62 // Third test on 3 choose 2
    +
    63 t = math::n_choose_r(3, 2);
    +
    64 assert(
    +
    65 ((void)"3 is the answer but the function says otherwise.\n", t == 3));
    +
    66 std::cout << "Third test passes." << std::endl;
    +
    67 // Fourth test on 10 choose 4
    +
    68 t = math::n_choose_r(10, 4);
    +
    69 assert(((void)"210 is the answer but the function says otherwise.\n",
    +
    70 t == 210));
    +
    71 std::cout << "Fourth test passes." << std::endl;
    +
    72}
    +
    +
    73
    +
    +
    80int main(int argc, char *argv[]) {
    +
    81 test(); // executing tests
    +
    82 return 0;
    +
    83}
    +
    +
    int main()
    Main function.
    +
    static void test()
    Test implementations.
    +
    for assert
    +
    T n_choose_r(T n, T r)
    This is the function implementation of .
    +
    +
    + + + + diff --git a/d1/dbe/lu__decomposition_8h.html b/d1/dbe/lu__decomposition_8h.html index 8f51f4bbf..4f76c722d 100644 --- a/d1/dbe/lu__decomposition_8h.html +++ b/d1/dbe/lu__decomposition_8h.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: numerical_methods/lu_decomposition.h File Reference +TheAlgorithms/C++: numerical_methods/lu_decomposition.h File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -132,7 +149,7 @@ This graph shows which files directly or indirectly include this file: - +
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++

    Typedefs

    template<typename T >
    using matrix = std::vector<std::valarray<T>>
    using matrix = std::vector<std::valarray<T>>
     

    Detailed Description

    Functions associated with LU Decomposition of a square matrix.

    Author
    Krishna Vedala
    + +

    Definition in file lu_decomposition.h.

    Typedef Documentation

    ◆ matrix

    @@ -157,11 +176,13 @@ Functions template<typename T >

    @@ -147,6 +164,8 @@ Functions

    - +
    using matrix = std::vector<std::valarray<T>>using matrix = std::vector<std::valarray<T>>
    -

    Define matrix type as a std::vector of std::valarray

    +

    Define matrix type as a std::vector of std::valarray

    + +

    Definition at line 19 of file lu_decomposition.h.

    @@ -196,30 +217,25 @@ template<typename T >
    Returns
    determinant of matrix A
    + +

    Definition at line 90 of file lu_decomposition.h.

    90 {
    - - +
    91 matrix<double> L(A.size(), std::valarray<double>(A.size()));
    +
    92 matrix<double> U(A.size(), std::valarray<double>(A.size()));
    93
    94 if (lu_decomposition(A, &L, &U) < 0)
    95 return 0;
    96
    97 double result = 1.f;
    -
    98 for (size_t i = 0; i < A.size(); i++) {
    +
    98 for (size_t i = 0; i < A.size(); i++) {
    99 result *= L[i][i] * U[i][i];
    100 }
    101 return result;
    102}
    -
    uint64_t result(uint64_t n)
    Definition fibonacci_sum.cpp:77
    -
    int lu_decomposition(const matrix< T > &A, matrix< double > *L, matrix< double > *U)
    Definition lu_decomposition.h:29
    -
    T size(T... args)
    - - -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    uint64_t result(uint64_t n)
    +
    int lu_decomposition(const matrix< T > &A, matrix< double > *L, matrix< double > *U)
    +
    std::vector< std::valarray< T > > matrix
    + @@ -258,13 +274,15 @@ template<typename T >
    Returns
    0 if no errors
    negative if error occurred
    + +

    Definition at line 29 of file lu_decomposition.h.

    29 {
    30 int row, col, j;
    -
    31 int mat_size = A.size();
    +
    31 int mat_size = A.size();
    32
    33 if (mat_size != A[0].size()) {
    34 // check matrix is a square matrix
    -
    35 std::cerr << "Not a square matrix!\n";
    +
    35 std::cerr << "Not a square matrix!\n";
    36 return -1;
    37 }
    38
    @@ -308,14 +326,8 @@ negative if error occurred
    76
    77 return 0;
    78}
    - -
    ll mat_size
    Definition matrix_exponentiation.cpp:45
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + + diff --git a/d1/dbe/lu__decomposition_8h_a3108d43bd32c6fb3b3c158476c51ba7f_cgraph.map b/d1/dbe/lu__decomposition_8h_a3108d43bd32c6fb3b3c158476c51ba7f_cgraph.map deleted file mode 100644 index a63a2954f..000000000 --- a/d1/dbe/lu__decomposition_8h_a3108d43bd32c6fb3b3c158476c51ba7f_cgraph.map +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/d1/dbe/lu__decomposition_8h_a3108d43bd32c6fb3b3c158476c51ba7f_cgraph.md5 b/d1/dbe/lu__decomposition_8h_a3108d43bd32c6fb3b3c158476c51ba7f_cgraph.md5 deleted file mode 100644 index 2194eb25e..000000000 --- a/d1/dbe/lu__decomposition_8h_a3108d43bd32c6fb3b3c158476c51ba7f_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -ad518d85881ee45c1b3a451bc3a03849 \ No newline at end of file diff --git a/d1/dbe/lu__decomposition_8h_a3108d43bd32c6fb3b3c158476c51ba7f_cgraph.svg b/d1/dbe/lu__decomposition_8h_a3108d43bd32c6fb3b3c158476c51ba7f_cgraph.svg deleted file mode 100644 index 708356837..000000000 --- a/d1/dbe/lu__decomposition_8h_a3108d43bd32c6fb3b3c158476c51ba7f_cgraph.svg +++ /dev/null @@ -1,92 +0,0 @@ - - - - - - - - - - - - -determinant_lu - - -Node1 - - -determinant_lu - - - - - -Node2 - - -lu_decomposition - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::vector::size - - - - - -Node1->Node3 - - - - - - - - -Node2->Node3 - - - - - - - - - - - - - diff --git a/d1/dbe/lu__decomposition_8h_a3108d43bd32c6fb3b3c158476c51ba7f_cgraph_org.svg b/d1/dbe/lu__decomposition_8h_a3108d43bd32c6fb3b3c158476c51ba7f_cgraph_org.svg deleted file mode 100644 index 843ce78b8..000000000 --- a/d1/dbe/lu__decomposition_8h_a3108d43bd32c6fb3b3c158476c51ba7f_cgraph_org.svg +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - -determinant_lu - - -Node1 - - -determinant_lu - - - - - -Node2 - - -lu_decomposition - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::vector::size - - - - - -Node1->Node3 - - - - - - - - -Node2->Node3 - - - - - - - - diff --git a/d1/dbe/lu__decomposition_8h_a75b8a228c6419ecda6077255d6d60509_cgraph.map b/d1/dbe/lu__decomposition_8h_a75b8a228c6419ecda6077255d6d60509_cgraph.map deleted file mode 100644 index 82af792ad..000000000 --- a/d1/dbe/lu__decomposition_8h_a75b8a228c6419ecda6077255d6d60509_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d1/dbe/lu__decomposition_8h_a75b8a228c6419ecda6077255d6d60509_cgraph.md5 b/d1/dbe/lu__decomposition_8h_a75b8a228c6419ecda6077255d6d60509_cgraph.md5 deleted file mode 100644 index 042f8a3e8..000000000 --- a/d1/dbe/lu__decomposition_8h_a75b8a228c6419ecda6077255d6d60509_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -6fc82c91e775927765540fabc37368cd \ No newline at end of file diff --git a/d1/dbe/lu__decomposition_8h_a75b8a228c6419ecda6077255d6d60509_cgraph.svg b/d1/dbe/lu__decomposition_8h_a75b8a228c6419ecda6077255d6d60509_cgraph.svg deleted file mode 100644 index 68e8971fe..000000000 --- a/d1/dbe/lu__decomposition_8h_a75b8a228c6419ecda6077255d6d60509_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -lu_decomposition - - -Node1 - - -lu_decomposition - - - - - -Node2 - - -std::vector::size - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d1/dbe/lu__decomposition_8h_a75b8a228c6419ecda6077255d6d60509_cgraph_org.svg b/d1/dbe/lu__decomposition_8h_a75b8a228c6419ecda6077255d6d60509_cgraph_org.svg deleted file mode 100644 index 9b1f5b80d..000000000 --- a/d1/dbe/lu__decomposition_8h_a75b8a228c6419ecda6077255d6d60509_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -lu_decomposition - - -Node1 - - -lu_decomposition - - - - - -Node2 - - -std::vector::size - - - - - -Node1->Node2 - - - - - - - - diff --git a/d1/dbe/lu__decomposition_8h_source.html b/d1/dbe/lu__decomposition_8h_source.html index 9ba3cbdf8..0df00da40 100644 --- a/d1/dbe/lu__decomposition_8h_source.html +++ b/d1/dbe/lu__decomposition_8h_source.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: numerical_methods/lu_decomposition.h Source File +TheAlgorithms/C++: numerical_methods/lu_decomposition.h Source File + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -107,13 +124,7 @@ $(function(){initNavTree('d1/dbe/lu__decomposition_8h_source.html','../../'); in
    lu_decomposition.h
    -Go to the documentation of this file.
    1/**
    -
    2 * @file lu_decomposition.h
    -
    3 * @author [Krishna Vedala](https://github.com/kvedala)
    -
    4 * @brief Functions associated with [LU
    -
    5 * Decomposition](https://en.wikipedia.org/wiki/LU_decomposition)
    -
    6 * of a square matrix.
    -
    7 */
    +Go to the documentation of this file.
    1
    8#pragma once
    9
    10#include <iostream>
    @@ -122,27 +133,19 @@ $(function(){initNavTree('d1/dbe/lu__decomposition_8h_source.html','../../'); in
    13#ifdef _OPENMP
    14#include <omp.h>
    15#endif
    -
    16
    -
    17/** Define matrix type as a `std::vector` of `std::valarray` */
    +
    16
    18template <typename T>
    - -
    20
    -
    21/** Perform LU decomposition on matrix
    -
    22 * \param[in] A matrix to decompose
    -
    23 * \param[out] L output L matrix
    -
    24 * \param[out] U output U matrix
    -
    25 * \returns 0 if no errors
    -
    26 * \returns negative if error occurred
    -
    27 */
    +
    19using matrix = std::vector<std::valarray<T>>;
    +
    20
    28template <typename T>
    - +
    30 int row, col, j;
    -
    31 int mat_size = A.size();
    +
    31 int mat_size = A.size();
    32
    33 if (mat_size != A[0].size()) {
    34 // check matrix is a square matrix
    -
    35 std::cerr << "Not a square matrix!\n";
    +
    35 std::cerr << "Not a square matrix!\n";
    36 return -1;
    37 }
    38
    @@ -187,39 +190,27 @@ $(function(){initNavTree('d1/dbe/lu__decomposition_8h_source.html','../../'); in
    77 return 0;
    78}
    -
    79
    -
    80/**
    -
    81 * Compute determinant of an NxN square matrix using LU decomposition.
    -
    82 * Using LU decomposition, the determinant is given by the product of diagonal
    -
    83 * elements of matrices L and U.
    -
    84 *
    -
    85 * @tparam T datatype of input matrix - int, unsigned int, double, etc
    -
    86 * @param A input square matrix
    -
    87 * @return determinant of matrix A
    -
    88 */
    +
    79
    89template <typename T>
    -
    90double determinant_lu(const matrix<T> &A) {
    - - +
    90double determinant_lu(const matrix<T> &A) {
    +
    91 matrix<double> L(A.size(), std::valarray<double>(A.size()));
    +
    92 matrix<double> U(A.size(), std::valarray<double>(A.size()));
    93
    94 if (lu_decomposition(A, &L, &U) < 0)
    95 return 0;
    96
    97 double result = 1.f;
    -
    98 for (size_t i = 0; i < A.size(); i++) {
    +
    98 for (size_t i = 0; i < A.size(); i++) {
    99 result *= L[i][i] * U[i][i];
    100 }
    101 return result;
    102}
    - -
    double determinant_lu(const matrix< T > &A)
    Definition lu_decomposition.h:90
    -
    int lu_decomposition(const matrix< T > &A, matrix< double > *L, matrix< double > *U)
    Definition lu_decomposition.h:29
    -
    ll mat_size
    Definition matrix_exponentiation.cpp:45
    -
    T size(T... args)
    - - +
    double determinant_lu(const matrix< T > &A)
    +
    int lu_decomposition(const matrix< T > &A, matrix< double > *L, matrix< double > *U)
    +
    std::vector< std::valarray< T > > matrix
    +
    diff --git a/d1/dc0/classoperations__on__datastructures_1_1inorder__traversal__of__bst_1_1_node-members.html b/d1/dc0/classoperations__on__datastructures_1_1inorder__traversal__of__bst_1_1_node-members.html index 07b271e5b..dc246f1c5 100644 --- a/d1/dc0/classoperations__on__datastructures_1_1inorder__traversal__of__bst_1_1_node-members.html +++ b/d1/dc0/classoperations__on__datastructures_1_1inorder__traversal__of__bst_1_1_node-members.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Member List +TheAlgorithms/C++: Member List + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/d1/dc2/class_graph__coll__graph.map b/d1/dc2/class_graph__coll__graph.map index 768d1187e..cf874b5cd 100644 --- a/d1/dc2/class_graph__coll__graph.map +++ b/d1/dc2/class_graph__coll__graph.map @@ -1,21 +1,19 @@ - + - + - + - + - + - + - - - - + + diff --git a/d1/dc2/class_graph__coll__graph.md5 b/d1/dc2/class_graph__coll__graph.md5 index c3e5b9763..903300090 100644 --- a/d1/dc2/class_graph__coll__graph.md5 +++ b/d1/dc2/class_graph__coll__graph.md5 @@ -1 +1 @@ -ff1e3808bc1707202b3c553605f4077d \ No newline at end of file +9df69d214f86923b96a5af1503d65ffc \ No newline at end of file diff --git a/d1/dc2/class_graph__coll__graph.svg b/d1/dc2/class_graph__coll__graph.svg index 18feeca81..0a6ee4f5b 100644 --- a/d1/dc2/class_graph__coll__graph.svg +++ b/d1/dc2/class_graph__coll__graph.svg @@ -31,7 +31,7 @@ Node2 - + std::vector< Edge > @@ -69,7 +69,7 @@ Node4 - + std::map< unsigned int, std::vector< unsigned @@ -90,7 +90,7 @@ Node5 - + std::vector< unsigned int > @@ -110,7 +110,7 @@ Node6 - + std::vector< std::vector < int > > @@ -131,7 +131,7 @@ Node7 - + std::vector< int > @@ -150,7 +150,7 @@ Node8 - + std::vector< std::tuple < int, int, int > > @@ -170,36 +170,16 @@ Node9 - - -std::tuple< int, int, - int > - - - - - -Node9->Node8 - - - - - - elements - - - -Node10 - + std::bitset< MAXN > - - -Node10->Node1 - + + +Node9->Node1 + diff --git a/d1/dc2/class_graph__coll__graph_org.svg b/d1/dc2/class_graph__coll__graph_org.svg index df5514575..2d1e7a0fe 100644 --- a/d1/dc2/class_graph__coll__graph_org.svg +++ b/d1/dc2/class_graph__coll__graph_org.svg @@ -20,7 +20,7 @@ Node2 - + std::vector< Edge > @@ -58,7 +58,7 @@ Node4 - + std::map< unsigned int, std::vector< unsigned @@ -79,7 +79,7 @@ Node5 - + std::vector< unsigned int > @@ -99,7 +99,7 @@ Node6 - + std::vector< std::vector < int > > @@ -120,7 +120,7 @@ Node7 - + std::vector< int > @@ -139,7 +139,7 @@ Node8 - + std::vector< std::tuple < int, int, int > > @@ -159,36 +159,16 @@ Node9 - - -std::tuple< int, int, - int > - - - - - -Node9->Node8 - - - - - - elements - - - -Node10 - + std::bitset< MAXN > - - -Node10->Node1 - + + +Node9->Node1 + diff --git a/d1/dc2/classstack.html b/d1/dc2/classstack.html index d8b06e898..b39d1927a 100644 --- a/d1/dc2/classstack.html +++ b/d1/dc2/classstack.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: stack< ValueType > Class Template Reference +TheAlgorithms/C++: stack< ValueType > Class Template Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + @@ -114,27 +131,26 @@ $(function(){initNavTree('d1/dc2/classstack.html','../../'); initResizable(true)
    -

    for std::invalid_argument +

    for std::invalid_argument More...

    #include <stack.hpp>

    Collaboration diagram for stack< ValueType >:
    -
    +
    [legend]
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    - +

    Public Types

    -using value_type = ValueType
    using value_type = ValueType
     
    - + @@ -154,23 +170,43 @@ Private Member Functions

    Public Member Functions

    void display () const
     
    std::vector< value_type > toVector () const
    std::vector< value_type > toVector () const
     
    bool isEmptyStack () const
     
    - + - - + +

    Private Attributes

    std::shared_ptr< Node< value_type > > stackTop
    std::shared_ptr< Node< value_type > > stackTop
     
    -std::size_t size = 0
     size of stack
    std::size_t size = 0
     size of stack
     

    Detailed Description

    template<class ValueType>
    -class stack< ValueType >

    for std::invalid_argument

    +class stack< ValueType >

    for std::invalid_argument

    for Node Definition of the stack class

    Template Parameters
    value_typetype of data nodes of the linked list in the stack should contain
    -

    Member Function Documentation

    + +

    Definition at line 19 of file stack.hpp.

    +

    Member Typedef Documentation

    + +

    ◆ value_type

    + +
    +
    +
    +template<class ValueType >
    + + + + +
    using stack< ValueType >::value_type = ValueType
    +
    + +

    Definition at line 21 of file stack.hpp.

    + +
    +
    +

    Member Function Documentation

    ◆ clear()

    @@ -196,12 +232,14 @@ template<class ValueType >

    Clear stack

    + +

    Definition at line 69 of file stack.hpp.

    69 {
    70 stackTop = nullptr;
    71 size = 0;
    72 }
    -
    std::size_t size
    size of stack
    Definition stack.hpp:77
    -
    std::shared_ptr< Node< value_type > > stackTop
    Definition stack.hpp:75
    +
    std::size_t size
    size of stack
    Definition stack.hpp:77
    +
    std::shared_ptr< Node< value_type > > stackTop
    Definition stack.hpp:75
    @@ -230,21 +268,15 @@ template<class ValueType >

    Show stack

    -
    24 {
    -
    25 std::cout << "Top --> ";
    -
    26 display_all(this->stackTop.get());
    -
    27 std::cout << '\n';
    -
    28 std::cout << "Size of stack: " << size << std::endl;
    -
    29 }
    - -
    T endl(T... args)
    -
    T get(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    +

    Definition at line 24 of file stack.hpp.

    +
    24 {
    +
    25 std::cout << "Top --> ";
    +
    26 display_all(this->stackTop.get());
    +
    27 std::cout << '\n';
    +
    28 std::cout << "Size of stack: " << size << std::endl;
    +
    29 }
    +
    @@ -271,13 +303,14 @@ template<class ValueType >
    + +

    Definition at line 36 of file stack.hpp.

    36 {
    37 if (isEmptyStack()) {
    -
    38 throw std::invalid_argument("Stack is empty.");
    +
    38 throw std::invalid_argument("Stack is empty.");
    39 }
    40 }
    -
    bool isEmptyStack() const
    Definition stack.hpp:44
    - +
    bool isEmptyStack() const
    Definition stack.hpp:44
    @@ -306,6 +339,8 @@ template<class ValueType >

    Determine whether the stack is empty

    + +

    Definition at line 44 of file stack.hpp.

    44{ return (stackTop == nullptr); }
    @@ -335,6 +370,8 @@ template<class ValueType >

    Remove the top element of the stack

    + +

    Definition at line 62 of file stack.hpp.

    62 {
    63 ensureNotEmpty();
    64 stackTop = stackTop->next;
    @@ -368,20 +405,16 @@ template<class ValueType >

    Add new item to the stack

    + +

    Definition at line 47 of file stack.hpp.

    47 {
    -
    48 auto newNode = std::make_shared<Node<value_type>>();
    +
    48 auto newNode = std::make_shared<Node<value_type>>();
    49 newNode->data = item;
    50 newNode->next = stackTop;
    51 stackTop = newNode;
    52 size++;
    53 }
    -
    T make_shared(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    @@ -409,6 +442,8 @@ template<class ValueType >

    Return the top element of the stack

    + +

    Definition at line 56 of file stack.hpp.

    56 {
    57 ensureNotEmpty();
    58 return stackTop->data;
    @@ -428,7 +463,7 @@ template<class ValueType >
    - + @@ -440,13 +475,43 @@ template<class ValueType >
    std::vector< value_type > stack< ValueType >::toVector std::vector< value_type > stack< ValueType >::toVector ( ) const
    + +

    Definition at line 31 of file stack.hpp.

    31 {
    -
    32 return push_all_to_vector(this->stackTop.get(), this->size);
    +
    32 return push_all_to_vector(this->stackTop.get(), this->size);
    33 }

    Member Data Documentation

    + +

    ◆ size

    + +
    +
    +
    +template<class ValueType >
    + + + + + +
    + + + + +
    std::size_t stack< ValueType >::size = 0
    +
    +private
    +
    + +

    size of stack

    + +

    Definition at line 77 of file stack.hpp.

    + +
    +

    ◆ stackTop

    @@ -459,7 +524,7 @@ template<class ValueType > - +
    std::shared_ptr<Node<value_type> > stack< ValueType >::stackTopstd::shared_ptr<Node<value_type> > stack< ValueType >::stackTop
    @@ -471,7 +536,9 @@ template<class ValueType > Initial value:
    =
    {}

    Pointer to the stack

    -
    76 {}; /**< Pointer to the stack */
    + +

    Definition at line 75 of file stack.hpp.

    +
    76 {};
    diff --git a/d1/dc2/classstack_a8bce109630118a34faae717f72986033_cgraph.map b/d1/dc2/classstack_a8bce109630118a34faae717f72986033_cgraph.map deleted file mode 100644 index 61f1d9554..000000000 --- a/d1/dc2/classstack_a8bce109630118a34faae717f72986033_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/d1/dc2/classstack_a8bce109630118a34faae717f72986033_cgraph.md5 b/d1/dc2/classstack_a8bce109630118a34faae717f72986033_cgraph.md5 deleted file mode 100644 index 792bd88f1..000000000 --- a/d1/dc2/classstack_a8bce109630118a34faae717f72986033_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -0cde2ffbdb43f96abc212bc9b4a92a8c \ No newline at end of file diff --git a/d1/dc2/classstack_a8bce109630118a34faae717f72986033_cgraph.svg b/d1/dc2/classstack_a8bce109630118a34faae717f72986033_cgraph.svg deleted file mode 100644 index d89ecf7b7..000000000 --- a/d1/dc2/classstack_a8bce109630118a34faae717f72986033_cgraph.svg +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - -stack::display - - -Node1 - - -stack::display - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::shared_ptr::get - - - - - -Node1->Node3 - - - - - - - - - - - - - diff --git a/d1/dc2/classstack_a8bce109630118a34faae717f72986033_cgraph_org.svg b/d1/dc2/classstack_a8bce109630118a34faae717f72986033_cgraph_org.svg deleted file mode 100644 index ed2101887..000000000 --- a/d1/dc2/classstack_a8bce109630118a34faae717f72986033_cgraph_org.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - -stack::display - - -Node1 - - -stack::display - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::shared_ptr::get - - - - - -Node1->Node3 - - - - - - - - diff --git a/d1/dc2/classstack_a90df277532c23519aa7ac3c08ed90a1d_cgraph.map b/d1/dc2/classstack_a90df277532c23519aa7ac3c08ed90a1d_cgraph.map deleted file mode 100644 index aac2a03e9..000000000 --- a/d1/dc2/classstack_a90df277532c23519aa7ac3c08ed90a1d_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d1/dc2/classstack_a90df277532c23519aa7ac3c08ed90a1d_cgraph.md5 b/d1/dc2/classstack_a90df277532c23519aa7ac3c08ed90a1d_cgraph.md5 deleted file mode 100644 index 0000637e8..000000000 --- a/d1/dc2/classstack_a90df277532c23519aa7ac3c08ed90a1d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -c452f22af36569c5ffe32b3ceccd2756 \ No newline at end of file diff --git a/d1/dc2/classstack_a90df277532c23519aa7ac3c08ed90a1d_cgraph.svg b/d1/dc2/classstack_a90df277532c23519aa7ac3c08ed90a1d_cgraph.svg deleted file mode 100644 index d62afec60..000000000 --- a/d1/dc2/classstack_a90df277532c23519aa7ac3c08ed90a1d_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -stack::push - - -Node1 - - -stack::push - - - - - -Node2 - - -std::make_shared - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d1/dc2/classstack_a90df277532c23519aa7ac3c08ed90a1d_cgraph_org.svg b/d1/dc2/classstack_a90df277532c23519aa7ac3c08ed90a1d_cgraph_org.svg deleted file mode 100644 index 0a18283e7..000000000 --- a/d1/dc2/classstack_a90df277532c23519aa7ac3c08ed90a1d_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -stack::push - - -Node1 - - -stack::push - - - - - -Node2 - - -std::make_shared - - - - - -Node1->Node2 - - - - - - - - diff --git a/d1/dc5/classlarge__number__coll__graph.map b/d1/dc5/classlarge__number__coll__graph.map index 441c961df..d32150a14 100644 --- a/d1/dc5/classlarge__number__coll__graph.map +++ b/d1/dc5/classlarge__number__coll__graph.map @@ -1,5 +1,5 @@ - + diff --git a/d1/dc5/classlarge__number__coll__graph.md5 b/d1/dc5/classlarge__number__coll__graph.md5 index 4a9cebe8b..1edafd50a 100644 --- a/d1/dc5/classlarge__number__coll__graph.md5 +++ b/d1/dc5/classlarge__number__coll__graph.md5 @@ -1 +1 @@ -f1f0cb26d8a8a4fb05a866d3acf7f133 \ No newline at end of file +7087791adc5a848727631eb9eda727c7 \ No newline at end of file diff --git a/d1/dc5/classlarge__number__coll__graph.svg b/d1/dc5/classlarge__number__coll__graph.svg index 05b0b1e4c..3d8ee36af 100644 --- a/d1/dc5/classlarge__number__coll__graph.svg +++ b/d1/dc5/classlarge__number__coll__graph.svg @@ -31,7 +31,7 @@ Node2 - + std::vector< unsigned char > diff --git a/d1/dc5/classlarge__number__coll__graph_org.svg b/d1/dc5/classlarge__number__coll__graph_org.svg index cf4377f54..f01da67a8 100644 --- a/d1/dc5/classlarge__number__coll__graph_org.svg +++ b/d1/dc5/classlarge__number__coll__graph_org.svg @@ -20,7 +20,7 @@ Node2 - + std::vector< unsigned char > diff --git a/d1/dc7/linear__probing__hash__table_8cpp.html b/d1/dc7/linear__probing__hash__table_8cpp.html index 4b521aac3..97a079fdf 100644 --- a/d1/dc7/linear__probing__hash__table_8cpp.html +++ b/d1/dc7/linear__probing__hash__table_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: hashing/linear_probing_hash_table.cpp File Reference +TheAlgorithms/C++: hashing/linear_probing_hash_table.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -122,7 +139,9 @@ Include dependency graph for linear_probing_hash_table.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -143,7 +162,7 @@ Functions - + @@ -162,23 +181,17 @@ Functions

    Classes

    struct  linear_probing::Entry
    void linear_probing::add (int key)
     
    size_t linear_probing::hashFxn (int key)
     Hash a key. Uses the STL library's std::hash() function.
     Hash a key. Uses the STL library's std::hash() function.
     
    int linear_probing::linearProbe (int key, bool searching)
     
    - + - + - + - + - + - +

    Variables

    -int linear_probing::notPresent
    int linear_probing::notPresent
     
    -std::vector< Entrylinear_probing::table
    std::vector< Entrylinear_probing::table
     
    -int linear_probing::totalSize
    int linear_probing::totalSize
     
    -int linear_probing::tomb = -1
    int linear_probing::tomb = -1
     
    -int linear_probing::size
    int linear_probing::size
     
    -bool linear_probing::rehashing
    bool linear_probing::rehashing
     

    Detailed Description

    @@ -187,6 +200,8 @@ bool linear_probing::rehas
    Krishna Vedala
    Note
    The implementation can be optimized by using OOP style.
    + +

    Definition in file linear_probing_hash_table.cpp.

    Function Documentation

    ◆ main()

    @@ -203,46 +218,48 @@ bool linear_probing::rehas

    Main function

    Returns
    0 on success
    + +

    Definition at line 224 of file linear_probing_hash_table.cpp.

    224 {
    225 int cmd = 0, hash = 0, key = 0;
    -
    226 std::cout << "Enter the initial size of Hash Table. = ";
    -
    227 std::cin >> totalSize;
    -
    228 table = std::vector<Entry>(totalSize);
    +
    226 std::cout << "Enter the initial size of Hash Table. = ";
    +
    227 std::cin >> totalSize;
    +
    228 table = std::vector<Entry>(totalSize);
    229 bool loop = true;
    230 while (loop) {
    - -
    232 std::cout << "PLEASE CHOOSE -" << std::endl;
    -
    233 std::cout << "1. Add key. (Numeric only)" << std::endl;
    -
    234 std::cout << "2. Remove key." << std::endl;
    -
    235 std::cout << "3. Find key." << std::endl;
    -
    236 std::cout << "4. Generate Hash. (Numeric only)" << std::endl;
    -
    237 std::cout << "5. Display Hash table." << std::endl;
    -
    238 std::cout << "6. Exit." << std::endl;
    -
    239 std::cin >> cmd;
    +
    231 std::cout << std::endl;
    +
    232 std::cout << "PLEASE CHOOSE -" << std::endl;
    +
    233 std::cout << "1. Add key. (Numeric only)" << std::endl;
    +
    234 std::cout << "2. Remove key." << std::endl;
    +
    235 std::cout << "3. Find key." << std::endl;
    +
    236 std::cout << "4. Generate Hash. (Numeric only)" << std::endl;
    +
    237 std::cout << "5. Display Hash table." << std::endl;
    +
    238 std::cout << "6. Exit." << std::endl;
    +
    239 std::cin >> cmd;
    240 switch (cmd) {
    241 case 1:
    -
    242 std::cout << "Enter key to add = ";
    -
    243 std::cin >> key;
    +
    242 std::cout << "Enter key to add = ";
    +
    243 std::cin >> key;
    245 break;
    246 case 2:
    -
    247 std::cout << "Enter key to remove = ";
    -
    248 std::cin >> key;
    +
    247 std::cout << "Enter key to remove = ";
    +
    248 std::cin >> key;
    250 break;
    251 case 3: {
    -
    252 std::cout << "Enter key to search = ";
    -
    253 std::cin >> key;
    +
    252 std::cout << "Enter key to search = ";
    +
    253 std::cin >> key;
    254 Entry entry = table[linear_probing::linearProbe(key, true)];
    255 if (entry.key == linear_probing::notPresent) {
    -
    256 std::cout << "Key not present";
    +
    256 std::cout << "Key not present";
    257 }
    258 break;
    259 }
    260 case 4:
    -
    261 std::cout << "Enter element to generate hash = ";
    -
    262 std::cin >> key;
    -
    263 std::cout << "Hash of " << key
    +
    261 std::cout << "Enter element to generate hash = ";
    +
    262 std::cin >> key;
    +
    263 std::cout << "Hash of " << key
    264 << " is = " << linear_probing::hashFxn(key);
    265 break;
    266 case 5:
    @@ -253,28 +270,19 @@ bool linear_probing::rehas
    271 break;
    272 // delete[] table;
    273 }
    - +
    274 std::cout << std::endl;
    275 }
    276 return 0;
    277}
    - - -
    T endl(T... args)
    -
    void * hash(const std::string &message)
    Converts the string to bytestring and calls the main algorithm.
    Definition md5.cpp:288
    -
    void addInfo(int key)
    Definition linear_probing_hash_table.cpp:186
    -
    size_t hashFxn(int key)
    Hash a key. Uses the STL library's std::hash() function.
    Definition linear_probing_hash_table.cpp:46
    -
    int linearProbe(int key, bool searching)
    Definition linear_probing_hash_table.cpp:55
    -
    void removalInfo(int key)
    Definition linear_probing_hash_table.cpp:201
    -
    void display()
    Definition linear_probing_hash_table.cpp:120
    -
    Definition linear_probing_hash_table.cpp:35
    -
    int key
    key value
    Definition linear_probing_hash_table.cpp:37
    - -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    void * hash(const std::string &message)
    Converts the string to bytestring and calls the main algorithm.
    Definition md5.cpp:288
    + +
    size_t hashFxn(int key)
    Hash a key. Uses the STL library's std::hash() function.
    +
    int linearProbe(int key, bool searching)
    + + +
    +
    int key
    key value
    +
    diff --git a/d1/dc7/linear__probing__hash__table_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d1/dc7/linear__probing__hash__table_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index a290663e8..000000000 --- a/d1/dc7/linear__probing__hash__table_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d1/dc7/linear__probing__hash__table_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d1/dc7/linear__probing__hash__table_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index ee113239f..000000000 --- a/d1/dc7/linear__probing__hash__table_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -8ede06e805d35b101be3d43b50f0fd5e \ No newline at end of file diff --git a/d1/dc7/linear__probing__hash__table_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d1/dc7/linear__probing__hash__table_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index eb8709618..000000000 --- a/d1/dc7/linear__probing__hash__table_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,429 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -linear_probing::addInfo - - - - - -Node1->Node2 - - - - - - - - -Node4 - - -linear_probing::linearProbe - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::endl - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -linear_probing::hashFxn - - - - - -Node1->Node6 - - - - - - - - -Node10 - - -linear_probing::display - - - - - -Node1->Node10 - - - - - - - - -Node11 - - -linear_probing::removalInfo - - - - - -Node1->Node11 - - - - - - - - -Node3 - - -linear_probing::add - - - - - -Node2->Node3 - - - - - - - - -Node2->Node5 - - - - - - - - -Node2->Node6 - - - - - - - - -Node2->Node10 - - - - - - - - -Node3->Node4 - - - - - - - - -Node9 - - -linear_probing::rehash - - - - - -Node3->Node9 - - - - - - - - -Node4->Node5 - - - - - - - - -Node4->Node6 - - - - - - - - -Node7 - - -linear_probing::putProber - - - - - -Node4->Node7 - - - - - - - - -Node8 - - -linear_probing::searching -Prober - - - - - -Node4->Node8 - - - - - - - - -Node9->Node3 - - - - - - - - -Node9->Node5 - - - - - - - - -Node10->Node5 - - - - - - - - -Node11->Node5 - - - - - - - - -Node11->Node6 - - - - - - - - -Node11->Node10 - - - - - - - - -Node12 - - -linear_probing::remove - - - - - -Node11->Node12 - - - - - - - - -Node12->Node4 - - - - - - - - -Node12->Node5 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d1/dc7/linear__probing__hash__table_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d1/dc7/linear__probing__hash__table_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 1a9923c13..000000000 --- a/d1/dc7/linear__probing__hash__table_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,346 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -linear_probing::addInfo - - - - - -Node1->Node2 - - - - - - - - -Node4 - - -linear_probing::linearProbe - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::endl - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -linear_probing::hashFxn - - - - - -Node1->Node6 - - - - - - - - -Node10 - - -linear_probing::display - - - - - -Node1->Node10 - - - - - - - - -Node11 - - -linear_probing::removalInfo - - - - - -Node1->Node11 - - - - - - - - -Node3 - - -linear_probing::add - - - - - -Node2->Node3 - - - - - - - - -Node2->Node5 - - - - - - - - -Node2->Node6 - - - - - - - - -Node2->Node10 - - - - - - - - -Node3->Node4 - - - - - - - - -Node9 - - -linear_probing::rehash - - - - - -Node3->Node9 - - - - - - - - -Node4->Node5 - - - - - - - - -Node4->Node6 - - - - - - - - -Node7 - - -linear_probing::putProber - - - - - -Node4->Node7 - - - - - - - - -Node8 - - -linear_probing::searching -Prober - - - - - -Node4->Node8 - - - - - - - - -Node9->Node3 - - - - - - - - -Node9->Node5 - - - - - - - - -Node10->Node5 - - - - - - - - -Node11->Node5 - - - - - - - - -Node11->Node6 - - - - - - - - -Node11->Node10 - - - - - - - - -Node12 - - -linear_probing::remove - - - - - -Node11->Node12 - - - - - - - - -Node12->Node4 - - - - - - - - -Node12->Node5 - - - - - - - - diff --git a/d1/dc7/linear__probing__hash__table_8cpp_source.html b/d1/dc7/linear__probing__hash__table_8cpp_source.html new file mode 100644 index 000000000..51a42d38a --- /dev/null +++ b/d1/dc7/linear__probing__hash__table_8cpp_source.html @@ -0,0 +1,395 @@ + + + + + + + + +TheAlgorithms/C++: hashing/linear_probing_hash_table.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    linear_probing_hash_table.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    9#include <iostream>
    +
    10#include <vector>
    +
    11
    +
    19namespace linear_probing {
    +
    20// fwd declarations
    +
    21using Entry = struct Entry;
    +
    22bool putProber(const Entry& entry, int key);
    +
    23bool searchingProber(const Entry& entry, int key);
    +
    24void add(int key);
    +
    25
    +
    26// Undocumented globals
    +
    27int notPresent;
    +
    28std::vector<Entry> table;
    +
    29int totalSize;
    +
    30int tomb = -1;
    +
    31int size;
    +
    32bool rehashing;
    +
    33
    +
    +
    35struct Entry {
    +
    36 explicit Entry(int key = notPresent) : key(key) {}
    +
    +
    37 int key;
    +
    38};
    +
    39
    +
    +
    46size_t hashFxn(int key) {
    +
    47 std::hash<int> hash;
    +
    48 return hash(key);
    +
    49}
    +
    +
    50
    +
    +
    55int linearProbe(int key, bool searching) {
    +
    56 int hash = static_cast<int>(hashFxn(key));
    +
    57 int i = 0;
    +
    58 Entry entry;
    +
    59 do {
    +
    60 int index = static_cast<int>((hash + i) % totalSize);
    +
    61 entry = table[index];
    +
    62 if (searching) {
    +
    63 if (entry.key == notPresent) {
    +
    64 return notPresent;
    +
    65 }
    +
    66 if (searchingProber(entry, key)) {
    +
    67 std::cout << "Found key!" << std::endl;
    +
    68 return index;
    +
    69 }
    +
    70 std::cout << "Found tombstone or equal hash, checking next"
    +
    71 << std::endl;
    +
    72 i++;
    +
    73 } else {
    +
    74 if (putProber(entry, key)) {
    +
    75 if (!rehashing) {
    +
    76 std::cout << "Spot found!" << std::endl;
    +
    77 }
    +
    78 return index;
    +
    79 }
    +
    80 if (!rehashing) {
    +
    81 std::cout << "Spot taken, looking at next" << std::endl;
    +
    82 }
    +
    83 i++;
    +
    84 }
    +
    85 if (i == totalSize) {
    +
    86 std::cout << "Linear probe failed" << std::endl;
    +
    87 return notPresent;
    +
    88 }
    +
    89 } while (entry.key != notPresent);
    +
    90 return notPresent;
    +
    91}
    +
    +
    92
    +
    +
    98bool putProber(const Entry& entry, int key) {
    +
    99 if (entry.key == notPresent || entry.key == tomb) {
    +
    100 return true;
    +
    101 }
    +
    102 return false;
    +
    103}
    +
    +
    104
    +
    +
    110bool searchingProber(const Entry& entry, int key) {
    +
    111 if (entry.key == key) {
    +
    112 return true;
    +
    113 }
    +
    114 return false;
    +
    115}
    +
    +
    116
    +
    +
    120void display() {
    +
    121 for (int i = 0; i < totalSize; i++) {
    +
    122 if (table[i].key == notPresent) {
    +
    123 std::cout << " Empty ";
    +
    124 } else if (table[i].key == tomb) {
    +
    125 std::cout << " Tomb ";
    +
    126 } else {
    +
    127 std::cout << " ";
    +
    128 std::cout << table[i].key;
    +
    129 std::cout << " ";
    +
    130 }
    +
    131 }
    +
    132 std::cout << std::endl;
    +
    133}
    +
    +
    134
    +
    +
    138void rehash() {
    +
    139 // Necessary so wall of add info isn't printed all at once
    +
    140 rehashing = true;
    +
    141 int oldSize = totalSize;
    +
    142 std::vector<Entry> oldTable(table);
    +
    143 // Really this should use the next prime number greater than totalSize *
    +
    144 // 2
    +
    145 totalSize *= 2;
    +
    146 table = std::vector<Entry>(totalSize);
    +
    147 for (int i = 0; i < oldSize; i++) {
    +
    148 if (oldTable[i].key != -1 && oldTable[i].key != notPresent) {
    +
    149 size--; // Size stays the same (add increments size)
    +
    150 add(oldTable[i].key);
    +
    151 }
    +
    152 }
    +
    153 // delete[] oldTable;
    +
    154 rehashing = false;
    +
    155 std::cout << "Table was rehashed, new size is: " << totalSize << std::endl;
    +
    156}
    +
    +
    157
    +
    +
    161void add(int key) {
    +
    162 int index = linearProbe(key, false);
    +
    163 table[index].key = key;
    +
    164 // Load factor greater than 0.5 causes resizing
    +
    165 if (++size / static_cast<double>(totalSize) >= 0.5) {
    +
    166 rehash();
    +
    167 }
    +
    168}
    +
    +
    169
    +
    +
    173void remove(int key) {
    +
    174 int index = linearProbe(key, true);
    +
    175 if (index == notPresent) {
    +
    176 std::cout << "key not found" << std::endl;
    +
    177 }
    +
    178 std::cout << "Removal Successful, leaving tomb" << std::endl;
    +
    179 table[index].key = tomb;
    +
    180 size--;
    +
    181}
    +
    +
    182
    +
    +
    186void addInfo(int key) {
    +
    187 std::cout << "Initial table: ";
    +
    188 display();
    +
    189 std::cout << std::endl;
    +
    190 std::cout << "hash of " << key << " is " << hashFxn(key) << " % "
    +
    191 << totalSize << " == " << hashFxn(key) % totalSize;
    +
    192 std::cout << std::endl;
    +
    193 add(key);
    +
    194 std::cout << "New table: ";
    +
    195 display();
    +
    196}
    +
    +
    197
    +
    +
    201void removalInfo(int key) {
    +
    202 std::cout << "Initial table: ";
    +
    203 display();
    +
    204 std::cout << std::endl;
    +
    205 std::cout << "hash of " << key << " is " << hashFxn(key) << " % "
    +
    206 << totalSize << " == " << hashFxn(key) % totalSize;
    +
    207 std::cout << std::endl;
    +
    208 remove(key);
    +
    209 std::cout << "New table: ";
    +
    210 display();
    +
    211}
    +
    +
    212} // namespace linear_probing
    + +
    218using linear_probing::table;
    +
    219using linear_probing::totalSize;
    +
    220
    +
    +
    224int main() {
    +
    225 int cmd = 0, hash = 0, key = 0;
    +
    226 std::cout << "Enter the initial size of Hash Table. = ";
    +
    227 std::cin >> totalSize;
    +
    228 table = std::vector<Entry>(totalSize);
    +
    229 bool loop = true;
    +
    230 while (loop) {
    +
    231 std::cout << std::endl;
    +
    232 std::cout << "PLEASE CHOOSE -" << std::endl;
    +
    233 std::cout << "1. Add key. (Numeric only)" << std::endl;
    +
    234 std::cout << "2. Remove key." << std::endl;
    +
    235 std::cout << "3. Find key." << std::endl;
    +
    236 std::cout << "4. Generate Hash. (Numeric only)" << std::endl;
    +
    237 std::cout << "5. Display Hash table." << std::endl;
    +
    238 std::cout << "6. Exit." << std::endl;
    +
    239 std::cin >> cmd;
    +
    240 switch (cmd) {
    +
    241 case 1:
    +
    242 std::cout << "Enter key to add = ";
    +
    243 std::cin >> key;
    + +
    245 break;
    +
    246 case 2:
    +
    247 std::cout << "Enter key to remove = ";
    +
    248 std::cin >> key;
    + +
    250 break;
    +
    251 case 3: {
    +
    252 std::cout << "Enter key to search = ";
    +
    253 std::cin >> key;
    +
    254 Entry entry = table[linear_probing::linearProbe(key, true)];
    +
    255 if (entry.key == linear_probing::notPresent) {
    +
    256 std::cout << "Key not present";
    +
    257 }
    +
    258 break;
    +
    259 }
    +
    260 case 4:
    +
    261 std::cout << "Enter element to generate hash = ";
    +
    262 std::cin >> key;
    +
    263 std::cout << "Hash of " << key
    +
    264 << " is = " << linear_probing::hashFxn(key);
    +
    265 break;
    +
    266 case 5:
    + +
    268 break;
    +
    269 default:
    +
    270 loop = false;
    +
    271 break;
    +
    272 // delete[] table;
    +
    273 }
    +
    274 std::cout << std::endl;
    +
    275 }
    +
    276 return 0;
    +
    277}
    +
    +
    +
    + +
    An implementation of hash table using linear probing algorithm.
    + + +
    size_t hashFxn(int key)
    Hash a key. Uses the STL library's std::hash() function.
    +
    int linearProbe(int key, bool searching)
    + + +
    bool putProber(const Entry &entry, int key)
    +
    bool searchingProber(const Entry &entry, int key)
    + + +
    +
    Entry(int key=notPresent)
    constructor
    +
    int key
    key value
    +
    +
    + + + + diff --git a/d1/dcc/wiggle__sort_8cpp.html b/d1/dcc/wiggle__sort_8cpp.html index 57cd53c61..c469425a7 100644 --- a/d1/dcc/wiggle__sort_8cpp.html +++ b/d1/dcc/wiggle__sort_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: sorting/wiggle_sort.cpp File Reference +TheAlgorithms/C++: sorting/wiggle_sort.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -124,7 +141,9 @@ Include dependency graph for wiggle_sort.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -137,11 +156,11 @@ Namespaces - + - + @@ -153,6 +172,8 @@ Functions

    [Wiggle Sort Algorithm] (https://leetcode.com/problems/wiggle-sort-ii/) Implementation

    Author
    Roshan Kanwar

    Wiggle Sort sorts the array into a wave like array. An array ‘arr[0..n-1]’ is sorted in wave form, if arr[0] >= arr[1] <= arr[2] >= arr[3] <= arr[4] >= …..

    + +

    Definition in file wiggle_sort.cpp.

    Function Documentation

    ◆ wiggleSort()

    @@ -163,9 +184,9 @@ Functions template<typename T >

    Namespaces

    namespace  sorting

    Functions

    template<typename T >
    std::vector< T > sorting::wiggle_sort::wiggleSort (const std::vector< T > &arr)
    std::vector< T > sorting::wiggle_sort::wiggleSort (const std::vector< T > &arr)
     Function used for sorting the elements in wave form.
     
    template<typename T >
    static void displayElements (const std::vector< T > &arr)
    static void displayElements (const std::vector< T > &arr)
     Utility function used for printing the elements. Prints elements of the array after they're sorted using wiggle sort algorithm.
     
    static void test ()
    - + - +
    std::vector< T > sorting::wiggle_sort::wiggleSort std::vector< T > sorting::wiggle_sort::wiggleSort (const std::vector< T > & arr)const std::vector< T > & arr)
    @@ -179,36 +200,30 @@ template<typename T >
    -
    Examples
    /Users/runner/work/C-Plus-Plus/C-Plus-Plus/sorting/wiggle_sort.cpp.
    +
    Examples
    /Users/runner/work/C-Plus-Plus/C-Plus-Plus/sorting/wiggle_sort.cpp.
    + +

    Definition at line 54 of file wiggle_sort.cpp.

    54 {
    -
    55 uint32_t size = arr.size();
    +
    55 uint32_t size = arr.size();
    56
    - +
    57 std::vector<T> out(
    58 arr); // create a copy of input vector. this way, the original input
    59 // vector does not get modified. a sorted array is is returned.
    60
    61 for (int i = 0; i < size; i += 2) {
    62 if (i > 0 && out[i - 1] > out[i]) {
    -
    63 std::swap(out[i], out[i - 1]); // swapping the two values
    +
    63 std::swap(out[i], out[i - 1]); // swapping the two values
    64 }
    65
    66 if (i < size - 1 && out[i] < out[i + 1]) {
    -
    67 std::swap(out[i], out[i + 1]); // swapping the two values
    +
    67 std::swap(out[i], out[i + 1]); // swapping the two values
    68 }
    69 }
    70
    71 return out; // returns the sorted vector
    72}
    -
    T size(T... args)
    -
    T swap(T... args)
    - -
    -Here is the call graph for this function:
    -
    -
    -
    - + diff --git a/d1/dcc/wiggle__sort_8cpp_a99eeded693ac073717282fae365957a1_cgraph.map b/d1/dcc/wiggle__sort_8cpp_a99eeded693ac073717282fae365957a1_cgraph.map deleted file mode 100644 index c6041e4c5..000000000 --- a/d1/dcc/wiggle__sort_8cpp_a99eeded693ac073717282fae365957a1_cgraph.map +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/d1/dcc/wiggle__sort_8cpp_a99eeded693ac073717282fae365957a1_cgraph.md5 b/d1/dcc/wiggle__sort_8cpp_a99eeded693ac073717282fae365957a1_cgraph.md5 deleted file mode 100644 index 134c01ed9..000000000 --- a/d1/dcc/wiggle__sort_8cpp_a99eeded693ac073717282fae365957a1_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -d47c2d83ccb858443aceeb7daeff5106 \ No newline at end of file diff --git a/d1/dcc/wiggle__sort_8cpp_a99eeded693ac073717282fae365957a1_cgraph.svg b/d1/dcc/wiggle__sort_8cpp_a99eeded693ac073717282fae365957a1_cgraph.svg deleted file mode 100644 index 5d7c5fbe0..000000000 --- a/d1/dcc/wiggle__sort_8cpp_a99eeded693ac073717282fae365957a1_cgraph.svg +++ /dev/null @@ -1,93 +0,0 @@ - - - - - - - - - - - - -sorting::wiggle_sort::wiggleSort - - -Node1 - - -sorting::wiggle_sort -::wiggleSort - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::vector::size - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::swap - - - - - -Node1->Node3 - - - - - - - - - - - - - diff --git a/d1/dcc/wiggle__sort_8cpp_a99eeded693ac073717282fae365957a1_cgraph_org.svg b/d1/dcc/wiggle__sort_8cpp_a99eeded693ac073717282fae365957a1_cgraph_org.svg deleted file mode 100644 index baaf2c5d8..000000000 --- a/d1/dcc/wiggle__sort_8cpp_a99eeded693ac073717282fae365957a1_cgraph_org.svg +++ /dev/null @@ -1,67 +0,0 @@ - - - - - - -sorting::wiggle_sort::wiggleSort - - -Node1 - - -sorting::wiggle_sort -::wiggleSort - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::vector::size - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::swap - - - - - -Node1->Node3 - - - - - - - - diff --git a/d1/dcc/wiggle__sort_8cpp_source.html b/d1/dcc/wiggle__sort_8cpp_source.html new file mode 100644 index 000000000..b2de21125 --- /dev/null +++ b/d1/dcc/wiggle__sort_8cpp_source.html @@ -0,0 +1,227 @@ + + + + + + + + +TheAlgorithms/C++: sorting/wiggle_sort.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    wiggle_sort.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    20#include <algorithm>
    +
    21#include <cassert>
    +
    22#include <cstdint>
    +
    23#include <ctime>
    +
    24#include <iostream>
    +
    25#include <vector>
    +
    26
    +
    31namespace sorting {
    +
    37namespace wiggle_sort {
    +
    38
    +
    52template <typename T> // this allows to have vectors of ints, double, float,
    +
    53 // etc
    +
    +
    54std::vector<T> wiggleSort(const std::vector<T> &arr) {
    +
    55 uint32_t size = arr.size();
    +
    56
    +
    57 std::vector<T> out(
    +
    58 arr); // create a copy of input vector. this way, the original input
    +
    59 // vector does not get modified. a sorted array is is returned.
    +
    60
    +
    61 for (int i = 0; i < size; i += 2) {
    +
    62 if (i > 0 && out[i - 1] > out[i]) {
    +
    63 std::swap(out[i], out[i - 1]); // swapping the two values
    +
    64 }
    +
    65
    +
    66 if (i < size - 1 && out[i] < out[i + 1]) {
    +
    67 std::swap(out[i], out[i + 1]); // swapping the two values
    +
    68 }
    +
    69 }
    +
    70
    +
    71 return out; // returns the sorted vector
    +
    72}
    +
    +
    73} // namespace wiggle_sort
    +
    74} // namespace sorting
    +
    75
    +
    85template <typename T>
    +
    +
    86static void displayElements(const std::vector<T> &arr) {
    +
    87 uint32_t size = arr.size();
    +
    88
    +
    89 std::cout << "Sorted elements are as follows: ";
    +
    90
    +
    91 std::cout << "[";
    +
    92
    +
    93 for (int i = 0; i < size; i++) {
    +
    94 std::cout << arr[i];
    +
    95 if (i != size - 1) {
    +
    96 std::cout << ", ";
    +
    97 }
    +
    98 }
    +
    99
    +
    100 std::cout << "]" << std::endl;
    +
    101}
    +
    +
    102
    +
    +
    107static void test() {
    +
    108 std::srand(std::time(nullptr)); // initialize random number generator
    +
    109
    +
    110 std::vector<float> data1(100);
    +
    111 for (auto &d : data1) { // generate random numbers between -5.0 and 4.99
    +
    112 d = float(std::rand() % 1000 - 500) / 100.f;
    +
    113 }
    +
    114
    +
    115 std::vector<float> sorted = sorting::wiggle_sort::wiggleSort<float>(data1);
    +
    116
    +
    117 displayElements(sorted);
    +
    118
    +
    119 for (uint32_t j = 0; j < data1.size(); j += 2) {
    +
    120 assert(data1[j] <= data1[j + 1] &&
    +
    121 data1[j + 1] >= data1[j + 2]); // check the validation condition
    +
    122 }
    +
    123
    +
    124 std::cout << "Test 1 passed\n";
    +
    125}
    +
    +
    126
    +
    128int main() {
    +
    129 test();
    +
    130 return 0;
    +
    131}
    +
    132
    +
    int main()
    Main function.
    +
    static void displayElements(const std::vector< T > &arr)
    Utility function used for printing the elements. Prints elements of the array after they're sorted us...
    +
    static void test()
    +
    for working with vectors
    +
    Functions for Wiggle Sort algorithm.
    +
    std::vector< T > wiggleSort(const std::vector< T > &arr)
    Function used for sorting the elements in wave form.
    +
    +
    + + + + diff --git a/d1/dda/structdata__structures_1_1trie__using__hashmap_1_1_trie_1_1_node__coll__graph.map b/d1/dda/structdata__structures_1_1trie__using__hashmap_1_1_trie_1_1_node__coll__graph.map index b3ec9ab01..242df6e83 100644 --- a/d1/dda/structdata__structures_1_1trie__using__hashmap_1_1_trie_1_1_node__coll__graph.map +++ b/d1/dda/structdata__structures_1_1trie__using__hashmap_1_1_trie_1_1_node__coll__graph.map @@ -1,8 +1,8 @@ - + - + diff --git a/d1/dda/structdata__structures_1_1trie__using__hashmap_1_1_trie_1_1_node__coll__graph.md5 b/d1/dda/structdata__structures_1_1trie__using__hashmap_1_1_trie_1_1_node__coll__graph.md5 index 85cdc5062..833ee007a 100644 --- a/d1/dda/structdata__structures_1_1trie__using__hashmap_1_1_trie_1_1_node__coll__graph.md5 +++ b/d1/dda/structdata__structures_1_1trie__using__hashmap_1_1_trie_1_1_node__coll__graph.md5 @@ -1 +1 @@ -55e30b5558d59953848529fa0fcacb38 \ No newline at end of file +014504e5188f5e0235e95c3a3d6e6719 \ No newline at end of file diff --git a/d1/dda/structdata__structures_1_1trie__using__hashmap_1_1_trie_1_1_node__coll__graph.svg b/d1/dda/structdata__structures_1_1trie__using__hashmap_1_1_trie_1_1_node__coll__graph.svg index 57a95b3b0..370df8572 100644 --- a/d1/dda/structdata__structures_1_1trie__using__hashmap_1_1_trie_1_1_node__coll__graph.svg +++ b/d1/dda/structdata__structures_1_1trie__using__hashmap_1_1_trie_1_1_node__coll__graph.svg @@ -68,7 +68,7 @@ var sectionId = 'dynsection-0'; Node3 - + std::shared_ptr< data _structures::trie_using @@ -89,7 +89,7 @@ var sectionId = 'dynsection-0'; Node2 - + std::unordered_map < char16_t, std::shared diff --git a/d1/dda/structdata__structures_1_1trie__using__hashmap_1_1_trie_1_1_node__coll__graph_org.svg b/d1/dda/structdata__structures_1_1trie__using__hashmap_1_1_trie_1_1_node__coll__graph_org.svg index 5aec37d6d..5052d2cbd 100644 --- a/d1/dda/structdata__structures_1_1trie__using__hashmap_1_1_trie_1_1_node__coll__graph_org.svg +++ b/d1/dda/structdata__structures_1_1trie__using__hashmap_1_1_trie_1_1_node__coll__graph_org.svg @@ -21,7 +21,7 @@ Node3 - + std::shared_ptr< data _structures::trie_using @@ -42,7 +42,7 @@ Node2 - + std::unordered_map < char16_t, std::shared diff --git a/d1/de0/namespacenumerical__methods.html b/d1/de0/namespacenumerical__methods.html index afbc1f73b..a708ed7a9 100644 --- a/d1/de0/namespacenumerical__methods.html +++ b/d1/de0/namespacenumerical__methods.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: numerical_methods Namespace Reference +TheAlgorithms/C++: numerical_methods Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -118,31 +135,31 @@ Functions - + - +
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    double babylonian_method (double radicand)
     Babylonian methods is an iterative function which returns square root of radicand.
     
    std::complex< double > * FastFourierTransform (std::complex< double > *p, uint8_t n)
    std::complex< double > * FastFourierTransform (std::complex< double > *p, uint8_t n)
     FastFourierTransform is a recursive function which returns list of complex numbers.
     
    std::complex< double > * InverseFastFourierTransform (std::complex< double > *p, uint8_t n)
    std::complex< double > * InverseFastFourierTransform (std::complex< double > *p, uint8_t n)
     InverseFastFourierTransform is a recursive function which returns list of complex numbers.
     

    Detailed Description

    for assert

    Numerical Methods.

    -

    for std::map container

    +

    for std::map container

    for storing points and coefficents

    for io operations

    for math functions

    for IO operations

    Numerical algorithms/methods

    -

    for assert for integer allocation for std::atof for std::function for IO operations for std::map container

    +

    for assert for integer allocation for std::atof for std::function for IO operations for std::map container

    Numerical algorithms/methods

    for math operations

    Numerical methods

    -

    for assert for mathematical-related functions for IO operations for std::vector

    +

    for assert for mathematical-related functions for IO operations for std::vector

    Numerical algorithms/methods

    -

    for std::array for assert for fabs

    +

    for std::array for assert for fabs

    Numerical Methods algorithms

    -

    for assert for math functions for integer allocation for std::atof for std::function for IO operations

    +

    for assert for math functions for integer allocation for std::atof for std::function for IO operations

    Numerical algorithms/methods

    Function Documentation

    @@ -175,36 +192,31 @@ Functions

    Temp variable to x0 and x1

    Newly calculated root

    Returning final root

    + +

    Definition at line 30 of file babylonian_method.cpp.

    30 {
    -
    31 int i = 1; /// To find initial root or rough approximation
    +
    31 int i = 1;
    32
    33 while (i * i <= radicand) {
    34 i++;
    35 }
    36
    -
    37 i--; /// Real Initial value will be i-1 as loop stops on +1 value
    +
    37 i--;
    38
    -
    39 double x0 = i; /// Storing previous value for comparison
    +
    39 double x0 = i;
    40 double x1 =
    -
    41 (radicand / x0 + x0) / 2; /// Storing calculated value for comparison
    -
    42 double temp = NAN; /// Temp variable to x0 and x1
    +
    41 (radicand / x0 + x0) / 2;
    +
    42 double temp = NAN;
    43
    -
    44 while (std::max(x0, x1) - std::min(x0, x1) < 0.0001) {
    -
    45 temp = (radicand / x1 + x1) / 2; /// Newly calculated root
    +
    44 while (std::max(x0, x1) - std::min(x0, x1) < 0.0001) {
    +
    45 temp = (radicand / x1 + x1) / 2;
    46 x0 = x1;
    47 x1 = temp;
    48 }
    49
    -
    50 return x1; /// Returning final root
    +
    50 return x1;
    51}
    -
    T max(T... args)
    -
    T min(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    @@ -214,9 +226,9 @@ Here is the call graph for this function:
    - + - + @@ -251,45 +263,47 @@ y if n!=1

    Updating the last n/2 elements

    Deleting dynamic array ye

    Deleting dynamic array yo

    + +

    Definition at line 42 of file fast_fourier_transform.cpp.

    42 {
    43 if (n == 1) {
    -
    44 return p; /// Base Case To return
    +
    44 return p;
    45 }
    46
    -
    47 double pi = 2 * asin(1.0); /// Declaring value of pi
    +
    47 double pi = 2 * asin(1.0);
    48
    - -
    50 cos(2 * pi / n), sin(2 * pi / n)); /// Calculating value of omega
    +
    49 std::complex<double> om = std::complex<double>(
    +
    50 cos(2 * pi / n), sin(2 * pi / n));
    51
    -
    52 auto *pe = new std::complex<double>[n / 2]; /// Coefficients of even power
    +
    52 auto *pe = new std::complex<double>[n / 2];
    53
    -
    54 auto *po = new std::complex<double>[n / 2]; /// Coefficients of odd power
    +
    54 auto *po = new std::complex<double>[n / 2];
    55
    56 int k1 = 0, k2 = 0;
    57 for (int j = 0; j < n; j++) {
    58 if (j % 2 == 0) {
    -
    59 pe[k1++] = p[j]; /// Assigning values of even Coefficients
    +
    59 pe[k1++] = p[j];
    60
    61 } else {
    -
    62 po[k2++] = p[j]; /// Assigning value of odd Coefficients
    +
    62 po[k2++] = p[j];
    63 }
    64 }
    65
    - -
    67 FastFourierTransform(pe, n / 2); /// Recursive Call
    +
    66 std::complex<double> *ye =
    +
    67 FastFourierTransform(pe, n / 2);
    68
    - -
    70 FastFourierTransform(po, n / 2); /// Recursive Call
    +
    69 std::complex<double> *yo =
    +
    70 FastFourierTransform(po, n / 2);
    71
    -
    72 auto *y = new std::complex<double>[n]; /// Final value representation list
    +
    72 auto *y = new std::complex<double>[n];
    73
    74 k1 = 0, k2 = 0;
    75
    76 for (int i = 0; i < n / 2; i++) {
    77 y[i] =
    -
    78 ye[k1] + pow(om, i) * yo[k2]; /// Updating the first n/2 elements
    +
    78 ye[k1] + pow(om, i) * yo[k2];
    79 y[i + n / 2] =
    -
    80 ye[k1] - pow(om, i) * yo[k2]; /// Updating the last n/2 elements
    +
    80 ye[k1] - pow(om, i) * yo[k2];
    81
    82 k1++;
    83 k2++;
    @@ -300,19 +314,12 @@ y if n!=1
    88 delete[] po;
    89 }
    90
    -
    91 delete[] ye; /// Deleting dynamic array ye
    -
    92 delete[] yo; /// Deleting dynamic array yo
    +
    91 delete[] ye;
    +
    92 delete[] yo;
    93 return y;
    94}
    - -
    std::complex< double > * FastFourierTransform(std::complex< double > *p, uint8_t n)
    FastFourierTransform is a recursive function which returns list of complex numbers.
    Definition fast_fourier_transform.cpp:42
    -
    T pow(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    std::complex< double > * FastFourierTransform(std::complex< double > *p, uint8_t n)
    FastFourierTransform is a recursive function which returns list of complex numbers.
    + @@ -322,9 +329,9 @@ Here is the call graph for this function:
    std::complex< double > * numerical_methods::FastFourierTransform std::complex< double > * numerical_methods::FastFourierTransform (std::complex< double > * p, std::complex< double > * p,
    - + - + @@ -361,48 +368,50 @@ y if n!=1

    Updating the last n/2 elements

    Deleting dynamic array ye

    Deleting dynamic array yo

    + +

    Definition at line 34 of file inverse_fast_fourier_transform.cpp.

    35 {
    36 if (n == 1) {
    -
    37 return p; /// Base Case To return
    +
    37 return p;
    38 }
    39
    -
    40 double pi = 2 * asin(1.0); /// Declaring value of pi
    +
    40 double pi = 2 * asin(1.0);
    41
    - -
    43 cos(2 * pi / n), sin(2 * pi / n)); /// Calculating value of omega
    +
    42 std::complex<double> om = std::complex<double>(
    +
    43 cos(2 * pi / n), sin(2 * pi / n));
    44
    -
    45 om.real(om.real() / n); /// One change in comparison with DFT
    -
    46 om.imag(om.imag() / n); /// One change in comparison with DFT
    +
    45 om.real(om.real() / n);
    +
    46 om.imag(om.imag() / n);
    47
    -
    48 auto *pe = new std::complex<double>[n / 2]; /// Coefficients of even power
    +
    48 auto *pe = new std::complex<double>[n / 2];
    49
    -
    50 auto *po = new std::complex<double>[n / 2]; /// Coefficients of odd power
    +
    50 auto *po = new std::complex<double>[n / 2];
    51
    52 int k1 = 0, k2 = 0;
    53 for (int j = 0; j < n; j++) {
    54 if (j % 2 == 0) {
    -
    55 pe[k1++] = p[j]; /// Assigning values of even Coefficients
    +
    55 pe[k1++] = p[j];
    56
    57 } else {
    -
    58 po[k2++] = p[j]; /// Assigning value of odd Coefficients
    +
    58 po[k2++] = p[j];
    59 }
    60 }
    61
    - -
    63 InverseFastFourierTransform(pe, n / 2); /// Recursive Call
    +
    62 std::complex<double> *ye =
    +
    64
    - -
    66 InverseFastFourierTransform(po, n / 2); /// Recursive Call
    +
    65 std::complex<double> *yo =
    +
    67
    -
    68 auto *y = new std::complex<double>[n]; /// Final value representation list
    +
    68 auto *y = new std::complex<double>[n];
    69
    70 k1 = 0, k2 = 0;
    71
    72 for (int i = 0; i < n / 2; i++) {
    73 y[i] =
    -
    74 ye[k1] + pow(om, i) * yo[k2]; /// Updating the first n/2 elements
    +
    74 ye[k1] + pow(om, i) * yo[k2];
    75 y[i + n / 2] =
    -
    76 ye[k1] - pow(om, i) * yo[k2]; /// Updating the last n/2 elements
    +
    76 ye[k1] - pow(om, i) * yo[k2];
    77
    78 k1++;
    79 k2++;
    @@ -413,19 +422,12 @@ y if n!=1
    84 delete[] po;
    85 }
    86
    -
    87 delete[] ye; /// Deleting dynamic array ye
    -
    88 delete[] yo; /// Deleting dynamic array yo
    +
    87 delete[] ye;
    +
    88 delete[] yo;
    89 return y;
    90}
    -
    T imag(T... args)
    -
    std::complex< double > * InverseFastFourierTransform(std::complex< double > *p, uint8_t n)
    InverseFastFourierTransform is a recursive function which returns list of complex numbers.
    Definition inverse_fast_fourier_transform.cpp:34
    -
    T real(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    std::complex< double > * InverseFastFourierTransform(std::complex< double > *p, uint8_t n)
    InverseFastFourierTransform is a recursive function which returns list of complex numbers.
    + diff --git a/d1/de0/namespacenumerical__methods_a158fd271b9a53e8f3f60b08b18857150_cgraph.map b/d1/de0/namespacenumerical__methods_a158fd271b9a53e8f3f60b08b18857150_cgraph.map deleted file mode 100644 index ea146bcb8..000000000 --- a/d1/de0/namespacenumerical__methods_a158fd271b9a53e8f3f60b08b18857150_cgraph.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/d1/de0/namespacenumerical__methods_a158fd271b9a53e8f3f60b08b18857150_cgraph.md5 b/d1/de0/namespacenumerical__methods_a158fd271b9a53e8f3f60b08b18857150_cgraph.md5 deleted file mode 100644 index 71804c7db..000000000 --- a/d1/de0/namespacenumerical__methods_a158fd271b9a53e8f3f60b08b18857150_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -5a33ee1f1f07b006a6efe5a5297dbec6 \ No newline at end of file diff --git a/d1/de0/namespacenumerical__methods_a158fd271b9a53e8f3f60b08b18857150_cgraph.svg b/d1/de0/namespacenumerical__methods_a158fd271b9a53e8f3f60b08b18857150_cgraph.svg deleted file mode 100644 index 05cabcae6..000000000 --- a/d1/de0/namespacenumerical__methods_a158fd271b9a53e8f3f60b08b18857150_cgraph.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - - - - - - - -numerical_methods::FastFourierTransform - - -Node1 - - -numerical_methods:: -FastFourierTransform - - - - - -Node1->Node1 - - - - - - - - - - - - - diff --git a/d1/de0/namespacenumerical__methods_a158fd271b9a53e8f3f60b08b18857150_cgraph_org.svg b/d1/de0/namespacenumerical__methods_a158fd271b9a53e8f3f60b08b18857150_cgraph_org.svg deleted file mode 100644 index ebeb877a2..000000000 --- a/d1/de0/namespacenumerical__methods_a158fd271b9a53e8f3f60b08b18857150_cgraph_org.svg +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - -numerical_methods::FastFourierTransform - - -Node1 - - -numerical_methods:: -FastFourierTransform - - - - - -Node1->Node1 - - - - - - - - diff --git a/d1/de0/namespacenumerical__methods_a28e67885f8606564cc8335f483f63309_cgraph.map b/d1/de0/namespacenumerical__methods_a28e67885f8606564cc8335f483f63309_cgraph.map deleted file mode 100644 index 2556839f4..000000000 --- a/d1/de0/namespacenumerical__methods_a28e67885f8606564cc8335f483f63309_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/d1/de0/namespacenumerical__methods_a28e67885f8606564cc8335f483f63309_cgraph.md5 b/d1/de0/namespacenumerical__methods_a28e67885f8606564cc8335f483f63309_cgraph.md5 deleted file mode 100644 index 72031fabc..000000000 --- a/d1/de0/namespacenumerical__methods_a28e67885f8606564cc8335f483f63309_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -5fa6268766ed5e7a570dcbb8f2b15869 \ No newline at end of file diff --git a/d1/de0/namespacenumerical__methods_a28e67885f8606564cc8335f483f63309_cgraph.svg b/d1/de0/namespacenumerical__methods_a28e67885f8606564cc8335f483f63309_cgraph.svg deleted file mode 100644 index adc0f1a15..000000000 --- a/d1/de0/namespacenumerical__methods_a28e67885f8606564cc8335f483f63309_cgraph.svg +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - - - - - -numerical_methods::babylonian_method - - -Node1 - - -numerical_methods:: -babylonian_method - - - - - -Node2 - - -std::max - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::min - - - - - -Node1->Node3 - - - - - - - - - - - - - diff --git a/d1/de0/namespacenumerical__methods_a28e67885f8606564cc8335f483f63309_cgraph_org.svg b/d1/de0/namespacenumerical__methods_a28e67885f8606564cc8335f483f63309_cgraph_org.svg deleted file mode 100644 index c944c9212..000000000 --- a/d1/de0/namespacenumerical__methods_a28e67885f8606564cc8335f483f63309_cgraph_org.svg +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - -numerical_methods::babylonian_method - - -Node1 - - -numerical_methods:: -babylonian_method - - - - - -Node2 - - -std::max - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::min - - - - - -Node1->Node3 - - - - - - - - diff --git a/d1/de0/namespacenumerical__methods_aee56dc85997b8cd42bad71a5d6bd2d93_cgraph.map b/d1/de0/namespacenumerical__methods_aee56dc85997b8cd42bad71a5d6bd2d93_cgraph.map deleted file mode 100644 index 97ac7a1db..000000000 --- a/d1/de0/namespacenumerical__methods_aee56dc85997b8cd42bad71a5d6bd2d93_cgraph.map +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/d1/de0/namespacenumerical__methods_aee56dc85997b8cd42bad71a5d6bd2d93_cgraph.md5 b/d1/de0/namespacenumerical__methods_aee56dc85997b8cd42bad71a5d6bd2d93_cgraph.md5 deleted file mode 100644 index f99f2b417..000000000 --- a/d1/de0/namespacenumerical__methods_aee56dc85997b8cd42bad71a5d6bd2d93_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -5e590c690db4d9ea41434e169bdf7eeb \ No newline at end of file diff --git a/d1/de0/namespacenumerical__methods_aee56dc85997b8cd42bad71a5d6bd2d93_cgraph.svg b/d1/de0/namespacenumerical__methods_aee56dc85997b8cd42bad71a5d6bd2d93_cgraph.svg deleted file mode 100644 index 5b41c1718..000000000 --- a/d1/de0/namespacenumerical__methods_aee56dc85997b8cd42bad71a5d6bd2d93_cgraph.svg +++ /dev/null @@ -1,93 +0,0 @@ - - - - - - - - - - - - -numerical_methods::InverseFastFourierTransform - - -Node1 - - -numerical_methods:: -InverseFastFourierTransform - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::complex::imag - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::complex::real - - - - - -Node1->Node3 - - - - - - - - - - - - - diff --git a/d1/de0/namespacenumerical__methods_aee56dc85997b8cd42bad71a5d6bd2d93_cgraph_org.svg b/d1/de0/namespacenumerical__methods_aee56dc85997b8cd42bad71a5d6bd2d93_cgraph_org.svg deleted file mode 100644 index 501c5e0f1..000000000 --- a/d1/de0/namespacenumerical__methods_aee56dc85997b8cd42bad71a5d6bd2d93_cgraph_org.svg +++ /dev/null @@ -1,67 +0,0 @@ - - - - - - -numerical_methods::InverseFastFourierTransform - - -Node1 - - -numerical_methods:: -InverseFastFourierTransform - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::complex::imag - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::complex::real - - - - - -Node1->Node3 - - - - - - - - diff --git a/d1/de7/classgeometry_1_1jarvis_1_1_convexhull-members.html b/d1/de7/classgeometry_1_1jarvis_1_1_convexhull-members.html index 2e33a6569..a9c792224 100644 --- a/d1/de7/classgeometry_1_1jarvis_1_1_convexhull-members.html +++ b/d1/de7/classgeometry_1_1jarvis_1_1_convexhull-members.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Member List +TheAlgorithms/C++: Member List + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    std::complex< double > * numerical_methods::InverseFastFourierTransform std::complex< double > * numerical_methods::InverseFastFourierTransform (std::complex< double > * p, std::complex< double > * p,
    + diff --git a/d1/de9/integral__approximation_8cpp.html b/d1/de9/integral__approximation_8cpp.html index 3c3c043d2..dac80f280 100644 --- a/d1/de9/integral__approximation_8cpp.html +++ b/d1/de9/integral__approximation_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: math/integral_approximation.cpp File Reference +TheAlgorithms/C++: math/integral_approximation.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + @@ -123,7 +140,9 @@ Include dependency graph for integral_approximation.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -132,7 +151,7 @@ Namespaces

    Namespaces

    namespace  math
    - + @@ -149,6 +168,8 @@ Functions

    In mathematics, a Riemann sum is a certain kind of approximation of an integral by a finite sum. It is named after nineteenth-century German mathematician Bernhard Riemann. One very common application is approximating the area of functions or lines on a graph and the length of curves and other approximations. The sum is calculated by partitioning the region into shapes (rectangles, trapezoids, parabolas, or cubics) that form a region similar to the region being measured, then calculating the area for each of these shapes, and finally adding all of these small areas together. This approach can be used to find a numerical approximation for a definite integral even if the fundamental theorem of calculus does not make it easy to find a closed-form solution. Because the region filled by the small shapes is usually not the same shape as the region being measured, the Riemann sum will differ from the area being measured. This error can be reduced by dividing up the region more finely, using smaller and smaller shapes. As the shapes get smaller and smaller, the sum approaches the Riemann integral.

    Author
    Benjamin Walton
    Shiqi Sheng
    + +

    Definition in file integral_approximation.cpp.

    Function Documentation

    ◆ main()

    @@ -167,17 +188,14 @@ Functions

    Main function.

    Returns
    0 on exit
    + +

    Definition at line 133 of file integral_approximation.cpp.

    133 {
    134 test(); // run self-test implementations
    135 return 0;
    136}
    -
    void test()
    Definition caesar_cipher.cpp:100
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    void test()
    + @@ -202,70 +220,68 @@ Here is the call graph for this function:

    Functions

    double math::integral_approx (double lb, double ub, const std::function< double(double)> &func, double delta=.0001)
    double math::integral_approx (double lb, double ub, const std::function< double(double)> &func, double delta=.0001)
     Computes integral approximation.
     
    void math::test_eval (double approx, double expected, double threshold)
    + +

    Definition at line 75 of file integral_approximation.cpp.

    75 {
    -
    77 3.24, 7.56, [](const double x) { return log(x) + exp(x) + x; });
    -
    78 std::cout << "Test Case 1" << std::endl;
    -
    79 std::cout << "function: log(x) + e^x + x" << std::endl;
    -
    80 std::cout << "range: [3.24, 7.56]" << std::endl;
    -
    81 std::cout << "value: " << test_1 << std::endl;
    +
    77 3.24, 7.56, [](const double x) { return log(x) + exp(x) + x; });
    +
    78 std::cout << "Test Case 1" << std::endl;
    +
    79 std::cout << "function: log(x) + e^x + x" << std::endl;
    +
    80 std::cout << "range: [3.24, 7.56]" << std::endl;
    +
    81 std::cout << "value: " << test_1 << std::endl;
    82 math::test_eval(test_1, 1924.80384023549, .001);
    -
    83 std::cout << "Test 1 Passed!" << std::endl;
    -
    84 std::cout << "=====================" << std::endl;
    +
    83 std::cout << "Test 1 Passed!" << std::endl;
    +
    84 std::cout << "=====================" << std::endl;
    85
    86 double test_2 = math::integral_approx(0.023, 3.69, [](const double x) {
    -
    87 return x * x + cos(x) + exp(x) + log(x) * log(x);
    +
    87 return x * x + cos(x) + exp(x) + log(x) * log(x);
    88 });
    -
    89 std::cout << "Test Case 2" << std::endl;
    -
    90 std::cout << "function: x^2 + cos(x) + e^x + log^2(x)" << std::endl;
    -
    91 std::cout << "range: [.023, 3.69]" << std::endl;
    -
    92 std::cout << "value: " << test_2 << std::endl;
    +
    89 std::cout << "Test Case 2" << std::endl;
    +
    90 std::cout << "function: x^2 + cos(x) + e^x + log^2(x)" << std::endl;
    +
    91 std::cout << "range: [.023, 3.69]" << std::endl;
    +
    92 std::cout << "value: " << test_2 << std::endl;
    93 math::test_eval(test_2, 58.71291345202729, .001);
    -
    94 std::cout << "Test 2 Passed!" << std::endl;
    -
    95 std::cout << "=====================" << std::endl;
    +
    94 std::cout << "Test 2 Passed!" << std::endl;
    +
    95 std::cout << "=====================" << std::endl;
    96
    98 10.78, 24.899, [](const double x) { return x * x * x - x * x + 378; });
    -
    99 std::cout << "Test Case 3" << std::endl;
    -
    100 std::cout << "function: x^3 - x^2 + 378" << std::endl;
    -
    101 std::cout << "range: [10.78, 24.899]" << std::endl;
    -
    102 std::cout << "value: " << test_3 << std::endl;
    +
    99 std::cout << "Test Case 3" << std::endl;
    +
    100 std::cout << "function: x^3 - x^2 + 378" << std::endl;
    +
    101 std::cout << "range: [10.78, 24.899]" << std::endl;
    +
    102 std::cout << "value: " << test_3 << std::endl;
    103 math::test_eval(test_3, 93320.65915078377, .001);
    -
    104 std::cout << "Test 3 Passed!" << std::endl;
    -
    105 std::cout << "=====================" << std::endl;
    +
    104 std::cout << "Test 3 Passed!" << std::endl;
    +
    105 std::cout << "=====================" << std::endl;
    106
    107 double test_4 = math::integral_approx(
    108 .101, .505,
    -
    109 [](const double x) { return cos(x) * tan(x) * x * x + exp(x); },
    +
    109 [](const double x) { return cos(x) * tan(x) * x * x + exp(x); },
    110 .00001);
    -
    111 std::cout << "Test Case 4" << std::endl;
    -
    112 std::cout << "function: cos(x)*tan(x)*x^2 + e^x" << std::endl;
    -
    113 std::cout << "range: [.101, .505]" << std::endl;
    -
    114 std::cout << "value: " << test_4 << std::endl;
    +
    111 std::cout << "Test Case 4" << std::endl;
    +
    112 std::cout << "function: cos(x)*tan(x)*x^2 + e^x" << std::endl;
    +
    113 std::cout << "range: [.101, .505]" << std::endl;
    +
    114 std::cout << "value: " << test_4 << std::endl;
    115 math::test_eval(test_4, 0.566485986311631, .001);
    -
    116 std::cout << "Test 4 Passed!" << std::endl;
    -
    117 std::cout << "=====================" << std::endl;
    +
    116 std::cout << "Test 4 Passed!" << std::endl;
    +
    117 std::cout << "=====================" << std::endl;
    118
    119 double test_5 = math::integral_approx(
    -
    120 -1, 1, [](const double x) { return exp(-1 / (x * x)); });
    -
    121 std::cout << "Test Case 5" << std::endl;
    -
    122 std::cout << "function: e^(-1/x^2)" << std::endl;
    -
    123 std::cout << "range: [-1, 1]" << std::endl;
    -
    124 std::cout << "value: " << test_5 << std::endl;
    +
    120 -1, 1, [](const double x) { return exp(-1 / (x * x)); });
    +
    121 std::cout << "Test Case 5" << std::endl;
    +
    122 std::cout << "function: e^(-1/x^2)" << std::endl;
    +
    123 std::cout << "range: [-1, 1]" << std::endl;
    +
    124 std::cout << "value: " << test_5 << std::endl;
    125 math::test_eval(test_5, 0.1781477117815607, .001);
    -
    126 std::cout << "Test 5 Passed!" << std::endl;
    +
    126 std::cout << "Test 5 Passed!" << std::endl;
    127}
    - -
    T cos(T... args)
    -
    T endl(T... args)
    -
    T exp(T... args)
    -
    static void test_1()
    Definition heavy_light_decomposition.cpp:505
    -
    static void test_2()
    Definition heavy_light_decomposition.cpp:549
    -
    static void test_3()
    Definition heavy_light_decomposition.cpp:592
    -
    T log(T... args)
    -
    void test_eval(double approx, double expected, double threshold)
    Wrapper to evaluate if the approximated value is within .XX% threshold of the exact value.
    Definition integral_approximation.cpp:62
    -
    double integral_approx(double lb, double ub, const std::function< double(double)> &func, double delta=.0001)
    Computes integral approximation.
    Definition integral_approximation.cpp:42
    -
    T tan(T... args)
    +
    static void test_1()
    +
    static void test_2()
    +
    static void test_3()
    +
    void log(T msg)
    A function to print given message on console.
    +
    uint256_t exp(uint256_t number, uint256_t power, const uint256_t &mod)
    This function calculates number raised to exponent power under modulo mod using Modular Exponentiatio...
    +
    void test_eval(double approx, double expected, double threshold)
    Wrapper to evaluate if the approximated value is within .XX% threshold of the exact value.
    +
    double integral_approx(double lb, double ub, const std::function< double(double)> &func, double delta=.0001)
    Computes integral approximation.
    diff --git a/d1/de9/integral__approximation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d1/de9/integral__approximation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index cc0f19d61..000000000 --- a/d1/de9/integral__approximation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/d1/de9/integral__approximation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d1/de9/integral__approximation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index 133642d61..000000000 --- a/d1/de9/integral__approximation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -45a93b7dd32655ba8027ce8e55842be5 \ No newline at end of file diff --git a/d1/de9/integral__approximation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d1/de9/integral__approximation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index cfe500a18..000000000 --- a/d1/de9/integral__approximation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node2->Node3 - - - - - - - - - - - - - diff --git a/d1/de9/integral__approximation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d1/de9/integral__approximation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 1d3bc748a..000000000 --- a/d1/de9/integral__approximation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node2->Node3 - - - - - - - - diff --git a/d1/de9/integral__approximation_8cpp_source.html b/d1/de9/integral__approximation_8cpp_source.html new file mode 100644 index 000000000..1c0d16f04 --- /dev/null +++ b/d1/de9/integral__approximation_8cpp_source.html @@ -0,0 +1,239 @@ + + + + + + + + +TheAlgorithms/C++: math/integral_approximation.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    integral_approximation.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    23#include <cassert>
    +
    24#include <cmath>
    +
    25#include <cstdint>
    +
    26#include <functional>
    +
    27#include <iostream>
    +
    28
    +
    33namespace math {
    +
    +
    42double integral_approx(double lb, double ub,
    +
    43 const std::function<double(double)>& func,
    +
    44 double delta = .0001) {
    +
    45 double result = 0;
    +
    46 uint64_t numDeltas = static_cast<uint64_t>((ub - lb) / delta);
    +
    47 for (int i = 0; i < numDeltas; i++) {
    +
    48 double begin = lb + i * delta;
    +
    49 double end = lb + (i + 1) * delta;
    +
    50 result += delta * (func(begin) + func(end)) / 2;
    +
    51 }
    +
    52 return result;
    +
    53}
    +
    +
    54
    +
    +
    62void test_eval(double approx, double expected, double threshold) {
    +
    63 assert(approx >= expected * (1 - threshold));
    +
    64 assert(approx <= expected * (1 + threshold));
    +
    65}
    +
    +
    66
    +
    73} // namespace math
    +
    74
    +
    75static void test() {
    + +
    77 3.24, 7.56, [](const double x) { return log(x) + exp(x) + x; });
    +
    78 std::cout << "Test Case 1" << std::endl;
    +
    79 std::cout << "function: log(x) + e^x + x" << std::endl;
    +
    80 std::cout << "range: [3.24, 7.56]" << std::endl;
    +
    81 std::cout << "value: " << test_1 << std::endl;
    +
    82 math::test_eval(test_1, 1924.80384023549, .001);
    +
    83 std::cout << "Test 1 Passed!" << std::endl;
    +
    84 std::cout << "=====================" << std::endl;
    +
    85
    +
    86 double test_2 = math::integral_approx(0.023, 3.69, [](const double x) {
    +
    87 return x * x + cos(x) + exp(x) + log(x) * log(x);
    +
    88 });
    +
    89 std::cout << "Test Case 2" << std::endl;
    +
    90 std::cout << "function: x^2 + cos(x) + e^x + log^2(x)" << std::endl;
    +
    91 std::cout << "range: [.023, 3.69]" << std::endl;
    +
    92 std::cout << "value: " << test_2 << std::endl;
    +
    93 math::test_eval(test_2, 58.71291345202729, .001);
    +
    94 std::cout << "Test 2 Passed!" << std::endl;
    +
    95 std::cout << "=====================" << std::endl;
    +
    96
    + +
    98 10.78, 24.899, [](const double x) { return x * x * x - x * x + 378; });
    +
    99 std::cout << "Test Case 3" << std::endl;
    +
    100 std::cout << "function: x^3 - x^2 + 378" << std::endl;
    +
    101 std::cout << "range: [10.78, 24.899]" << std::endl;
    +
    102 std::cout << "value: " << test_3 << std::endl;
    +
    103 math::test_eval(test_3, 93320.65915078377, .001);
    +
    104 std::cout << "Test 3 Passed!" << std::endl;
    +
    105 std::cout << "=====================" << std::endl;
    +
    106
    +
    107 double test_4 = math::integral_approx(
    +
    108 .101, .505,
    +
    109 [](const double x) { return cos(x) * tan(x) * x * x + exp(x); },
    +
    110 .00001);
    +
    111 std::cout << "Test Case 4" << std::endl;
    +
    112 std::cout << "function: cos(x)*tan(x)*x^2 + e^x" << std::endl;
    +
    113 std::cout << "range: [.101, .505]" << std::endl;
    +
    114 std::cout << "value: " << test_4 << std::endl;
    +
    115 math::test_eval(test_4, 0.566485986311631, .001);
    +
    116 std::cout << "Test 4 Passed!" << std::endl;
    +
    117 std::cout << "=====================" << std::endl;
    +
    118
    +
    119 double test_5 = math::integral_approx(
    +
    120 -1, 1, [](const double x) { return exp(-1 / (x * x)); });
    +
    121 std::cout << "Test Case 5" << std::endl;
    +
    122 std::cout << "function: e^(-1/x^2)" << std::endl;
    +
    123 std::cout << "range: [-1, 1]" << std::endl;
    +
    124 std::cout << "value: " << test_5 << std::endl;
    +
    125 math::test_eval(test_5, 0.1781477117815607, .001);
    +
    126 std::cout << "Test 5 Passed!" << std::endl;
    +
    127}
    +
    128
    +
    +
    133int main() {
    +
    134 test(); // run self-test implementations
    +
    135 return 0;
    +
    136}
    +
    +
    void test()
    +
    static void test_1()
    +
    static void test_2()
    +
    static void test_3()
    +
    int main()
    Main function.
    +
    void log(T msg)
    A function to print given message on console.
    +
    uint256_t exp(uint256_t number, uint256_t power, const uint256_t &mod)
    This function calculates number raised to exponent power under modulo mod using Modular Exponentiatio...
    +
    for assert
    +
    void test_eval(double approx, double expected, double threshold)
    Wrapper to evaluate if the approximated value is within .XX% threshold of the exact value.
    +
    double integral_approx(double lb, double ub, const std::function< double(double)> &func, double delta=.0001)
    Computes integral approximation.
    +
    +
    + + + + diff --git a/d1/deb/structdata__structures_1_1trie__using__hashmap_1_1_trie_1_1_node-members.html b/d1/deb/structdata__structures_1_1trie__using__hashmap_1_1_trie_1_1_node-members.html index 6760751be..6abed494c 100644 --- a/d1/deb/structdata__structures_1_1trie__using__hashmap_1_1_trie_1_1_node-members.html +++ b/d1/deb/structdata__structures_1_1trie__using__hashmap_1_1_trie_1_1_node-members.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Member List +TheAlgorithms/C++: Member List + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/d1/ded/windowed__median_8cpp.html b/d1/ded/windowed__median_8cpp.html index 3d161ebaa..0525b92d4 100644 --- a/d1/ded/windowed__median_8cpp.html +++ b/d1/ded/windowed__median_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: probability/windowed_median.cpp File Reference +TheAlgorithms/C++: probability/windowed_median.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + @@ -126,7 +143,9 @@ Include dependency graph for windowed_median.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -144,16 +163,14 @@ Namespaces

    Classes

    class  probability::windowed_median::WindowedMedian
    - + - +

    Typedefs

    -using probability::windowed_median::Window = std::list<int>
    using probability::windowed_median::Window = std::list<int>
     
    -using probability::windowed_median::size_type = Window::size_type
    using probability::windowed_median::size_type = Window::size_type
     
    - + @@ -165,9 +182,44 @@ Functions

    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)

    +

    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
    -

    Function Documentation

    + +

    Definition in file windowed_median.cpp.

    +

    Typedef Documentation

    + +

    ◆ size_type

    + +
    +
    +

    Functions

    static void test (const std::vector< int > &vals, int windowSize)
    static void test (const std::vector< int > &vals, int windowSize)
     Self-test implementations.
     
    int main (int argc, const char *argv[])
    + + + +
    using probability::windowed_median::size_type = Window::size_type
    +
    + +

    Definition at line 49 of file windowed_median.cpp.

    + +
    + + +

    ◆ Window

    + +
    +
    + + + + +
    using probability::windowed_median::Window = std::list<int>
    +
    + +

    Definition at line 48 of file windowed_median.cpp.

    + +
    +
    +

    Function Documentation

    ◆ main()

    @@ -209,59 +261,44 @@ Algorithm

    Window size in the range [3, 10]

    Random array values (positive/negative)

    Testing randomized test

    -
    198 {
    -
    199 /// A few fixed test cases
    -
    200 test({1, 2, 3, 4, 5, 6, 7, 8, 9},
    -
    201 3); /// Array of sorted values; odd window size
    + +

    Definition at line 198 of file windowed_median.cpp.

    +
    198 {
    +
    200 test({1, 2, 3, 4, 5, 6, 7, 8, 9},
    +
    201 3);
    202 test({9, 8, 7, 6, 5, 4, 3, 2, 1},
    -
    203 3); /// Array of sorted values - decreasing; odd window size
    -
    204 test({9, 8, 7, 6, 5, 4, 5, 6}, 4); /// Even window size
    -
    205 test({3, 3, 3, 3, 3, 3, 3, 3, 3}, 3); /// Array with repeating values
    -
    206 test({3, 3, 3, 3, 7, 3, 3, 3, 3}, 3); /// Array with same values except one
    +
    203 3);
    +
    204 test({9, 8, 7, 6, 5, 4, 5, 6}, 4);
    +
    205 test({3, 3, 3, 3, 3, 3, 3, 3, 3}, 3);
    +
    206 test({3, 3, 3, 3, 7, 3, 3, 3, 3}, 3);
    207 test({4, 3, 3, -5, -5, 1, 3, 4, 5},
    -
    208 5); /// Array that includes repeating values including negatives
    -
    209
    -
    210 /// Array with large values - sum of few pairs exceeds MAX_INT. Window size
    -
    211 /// is even - testing calculation of average median between two middle
    -
    212 /// values
    -
    213 test({470211272, 101027544, 1457850878, 1458777923, 2007237709, 823564440,
    +
    208 5);
    +
    209
    +
    213 test({470211272, 101027544, 1457850878, 1458777923, 2007237709, 823564440,
    214 1115438165, 1784484492, 74243042, 114807987},
    215 6);
    -
    216
    -
    217 /// Random test cases
    -
    218 std::srand(static_cast<unsigned int>(std::time(nullptr)));
    -
    219 std::vector<int> vals;
    +
    216
    +
    218 std::srand(static_cast<unsigned int>(std::time(nullptr)));
    +
    219 std::vector<int> vals;
    220 for (int i = 8; i < 100; i++) {
    221 const auto n =
    -
    222 1 + std::rand() /
    -
    223 ((RAND_MAX + 5u) / 20); /// Array size in the range [5, 20]
    +
    222 1 + std::rand() /
    +
    223 ((RAND_MAX + 5u) / 20);
    224 auto windowSize =
    -
    225 1 + std::rand() / ((RAND_MAX + 3u) /
    -
    226 10); /// Window size in the range [3, 10]
    -
    227 vals.clear();
    -
    228 vals.reserve(n);
    +
    225 1 + std::rand() / ((RAND_MAX + 3u) /
    +
    226 10);
    +
    227 vals.clear();
    +
    228 vals.reserve(n);
    229 for (int i = 0; i < n; i++) {
    -
    230 vals.push_back(
    -
    231 rand() - RAND_MAX); /// Random array values (positive/negative)
    +
    230 vals.push_back(
    +
    231 rand() - RAND_MAX);
    232 }
    -
    233 test(vals, windowSize); /// Testing randomized test
    +
    233 test(vals, windowSize);
    234 }
    235 return 0;
    236}
    -
    T clear(T... args)
    -
    static void test()
    Self-test implementations.
    Definition generate_parentheses.cpp:82
    -
    T push_back(T... args)
    -
    T rand(T... args)
    -
    T reserve(T... args)
    -
    T srand(T... args)
    -
    T time(T... args)
    - -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static void test()
    Self-test implementations.
    +
    @@ -276,7 +313,7 @@ Here is the call graph for this function: static void test ( - const std::vector< int > & vals, + const std::vector< int > & vals, @@ -300,22 +337,18 @@ Here is the call graph for this function:

    Comparing medians: efficient function vs. Naive one

    + +

    Definition at line 182 of file windowed_median.cpp.

    182 {
    183 probability::windowed_median::WindowedMedian windowedMedian(windowSize);
    184 for (const auto val : vals) {
    185 windowedMedian.insert(val);
    -
    186
    -
    187 /// Comparing medians: efficient function vs. Naive one
    -
    188 assert(windowedMedian.getMedian() == windowedMedian.getMedianNaive());
    +
    186
    +
    188 assert(windowedMedian.getMedian() == windowedMedian.getMedianNaive());
    189 }
    190}
    -
    A class to calculate the median of a leading sliding window at the back of a stream of integer values...
    Definition windowed_median.cpp:56
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    A class to calculate the median of a leading sliding window at the back of a stream of integer values...
    + diff --git a/d1/ded/windowed__median_8cpp_a6dc652a36ea42ba262c4e4236e3e6601_cgraph.map b/d1/ded/windowed__median_8cpp_a6dc652a36ea42ba262c4e4236e3e6601_cgraph.map deleted file mode 100644 index 92d9ec6ac..000000000 --- a/d1/ded/windowed__median_8cpp_a6dc652a36ea42ba262c4e4236e3e6601_cgraph.map +++ /dev/null @@ -1,35 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d1/ded/windowed__median_8cpp_a6dc652a36ea42ba262c4e4236e3e6601_cgraph.md5 b/d1/ded/windowed__median_8cpp_a6dc652a36ea42ba262c4e4236e3e6601_cgraph.md5 deleted file mode 100644 index 340eb6ac5..000000000 --- a/d1/ded/windowed__median_8cpp_a6dc652a36ea42ba262c4e4236e3e6601_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -6c3e29055975a8834e9a3aeda925e296 \ No newline at end of file diff --git a/d1/ded/windowed__median_8cpp_a6dc652a36ea42ba262c4e4236e3e6601_cgraph.svg b/d1/ded/windowed__median_8cpp_a6dc652a36ea42ba262c4e4236e3e6601_cgraph.svg deleted file mode 100644 index d1c7a4718..000000000 --- a/d1/ded/windowed__median_8cpp_a6dc652a36ea42ba262c4e4236e3e6601_cgraph.svg +++ /dev/null @@ -1,402 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -probability::windowed -_median::WindowedMedian -::getMedian - - - - - -Node1->Node2 - - - - - - - - -Node4 - - -probability::windowed -_median::WindowedMedian -::getMedianNaive - - - - - -Node1->Node4 - - - - - - - - -Node6 - - -probability::windowed -_median::WindowedMedian -::insert - - - - - -Node1->Node6 - - - - - - - - -Node3 - - -std::multiset::size - - - - - -Node2->Node3 - - - - - - - - -Node5 - - -std::list::sort - - - - - -Node4->Node5 - - - - - - - - -Node7 - - -probability::windowed -_median::WindowedMedian -::eraseFromSorted - - - - - -Node6->Node7 - - - - - - - - -Node10 - - -std::list::front - - - - - -Node6->Node10 - - - - - - - - -Node11 - - -probability::windowed -_median::WindowedMedian -::insertToSorted - - - - - -Node6->Node11 - - - - - - - - -Node14 - - -std::list::pop_front - - - - - -Node6->Node14 - - - - - - - - -Node15 - - -std::list::push_back - - - - - -Node6->Node15 - - - - - - - - -Node16 - - -std::list::size - - - - - -Node6->Node16 - - - - - - - - -Node7->Node3 - - - - - - - - -Node8 - - -std::multiset::erase - - - - - -Node7->Node8 - - - - - - - - -Node9 - - -std::multiset::find - - - - - -Node7->Node9 - - - - - - - - -Node11->Node3 - - - - - - - - -Node12 - - -std::multiset::begin - - - - - -Node11->Node12 - - - - - - - - -Node13 - - -std::multiset::insert - - - - - -Node11->Node13 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d1/ded/windowed__median_8cpp_a6dc652a36ea42ba262c4e4236e3e6601_cgraph_org.svg b/d1/ded/windowed__median_8cpp_a6dc652a36ea42ba262c4e4236e3e6601_cgraph_org.svg deleted file mode 100644 index d8b2660cd..000000000 --- a/d1/ded/windowed__median_8cpp_a6dc652a36ea42ba262c4e4236e3e6601_cgraph_org.svg +++ /dev/null @@ -1,319 +0,0 @@ - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -probability::windowed -_median::WindowedMedian -::getMedian - - - - - -Node1->Node2 - - - - - - - - -Node4 - - -probability::windowed -_median::WindowedMedian -::getMedianNaive - - - - - -Node1->Node4 - - - - - - - - -Node6 - - -probability::windowed -_median::WindowedMedian -::insert - - - - - -Node1->Node6 - - - - - - - - -Node3 - - -std::multiset::size - - - - - -Node2->Node3 - - - - - - - - -Node5 - - -std::list::sort - - - - - -Node4->Node5 - - - - - - - - -Node7 - - -probability::windowed -_median::WindowedMedian -::eraseFromSorted - - - - - -Node6->Node7 - - - - - - - - -Node10 - - -std::list::front - - - - - -Node6->Node10 - - - - - - - - -Node11 - - -probability::windowed -_median::WindowedMedian -::insertToSorted - - - - - -Node6->Node11 - - - - - - - - -Node14 - - -std::list::pop_front - - - - - -Node6->Node14 - - - - - - - - -Node15 - - -std::list::push_back - - - - - -Node6->Node15 - - - - - - - - -Node16 - - -std::list::size - - - - - -Node6->Node16 - - - - - - - - -Node7->Node3 - - - - - - - - -Node8 - - -std::multiset::erase - - - - - -Node7->Node8 - - - - - - - - -Node9 - - -std::multiset::find - - - - - -Node7->Node9 - - - - - - - - -Node11->Node3 - - - - - - - - -Node12 - - -std::multiset::begin - - - - - -Node11->Node12 - - - - - - - - -Node13 - - -std::multiset::insert - - - - - -Node11->Node13 - - - - - - - - diff --git a/d1/ded/windowed__median_8cpp_ac0f2228420376f4db7e1274f2b41667c_cgraph.map b/d1/ded/windowed__median_8cpp_ac0f2228420376f4db7e1274f2b41667c_cgraph.map deleted file mode 100644 index 623420d47..000000000 --- a/d1/ded/windowed__median_8cpp_ac0f2228420376f4db7e1274f2b41667c_cgraph.map +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d1/ded/windowed__median_8cpp_ac0f2228420376f4db7e1274f2b41667c_cgraph.md5 b/d1/ded/windowed__median_8cpp_ac0f2228420376f4db7e1274f2b41667c_cgraph.md5 deleted file mode 100644 index 0ad8369a2..000000000 --- a/d1/ded/windowed__median_8cpp_ac0f2228420376f4db7e1274f2b41667c_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -c7f3b5092f16cf0fc45e86a58a52b185 \ No newline at end of file diff --git a/d1/ded/windowed__median_8cpp_ac0f2228420376f4db7e1274f2b41667c_cgraph.svg b/d1/ded/windowed__median_8cpp_ac0f2228420376f4db7e1274f2b41667c_cgraph.svg deleted file mode 100644 index fd2718de3..000000000 --- a/d1/ded/windowed__median_8cpp_ac0f2228420376f4db7e1274f2b41667c_cgraph.svg +++ /dev/null @@ -1,313 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -std::vector::clear - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::vector::push_back - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::rand - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::vector::reserve - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -std::srand - - - - - -Node1->Node6 - - - - - - - - -Node7 - - -test - - - - - -Node1->Node7 - - - - - - - - -Node11 - - -std::time - - - - - -Node1->Node11 - - - - - - - - -Node8 - - -backtracking::generate -_parentheses::generate - - - - - -Node7->Node8 - - - - - - - - -Node8->Node2 - - - - - - - - -Node9 - - -backtracking::generate -_parentheses::makeStrings - - - - - -Node8->Node9 - - - - - - - - -Node9->Node3 - - - - - - - - -Node9->Node9 - - - - - - - - -Node10 - - -std::string::length - - - - - -Node9->Node10 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d1/ded/windowed__median_8cpp_ac0f2228420376f4db7e1274f2b41667c_cgraph_org.svg b/d1/ded/windowed__median_8cpp_ac0f2228420376f4db7e1274f2b41667c_cgraph_org.svg deleted file mode 100644 index 960cb7534..000000000 --- a/d1/ded/windowed__median_8cpp_ac0f2228420376f4db7e1274f2b41667c_cgraph_org.svg +++ /dev/null @@ -1,230 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -std::vector::clear - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::vector::push_back - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::rand - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::vector::reserve - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -std::srand - - - - - -Node1->Node6 - - - - - - - - -Node7 - - -test - - - - - -Node1->Node7 - - - - - - - - -Node11 - - -std::time - - - - - -Node1->Node11 - - - - - - - - -Node8 - - -backtracking::generate -_parentheses::generate - - - - - -Node7->Node8 - - - - - - - - -Node8->Node2 - - - - - - - - -Node9 - - -backtracking::generate -_parentheses::makeStrings - - - - - -Node8->Node9 - - - - - - - - -Node9->Node3 - - - - - - - - -Node9->Node9 - - - - - - - - -Node10 - - -std::string::length - - - - - -Node9->Node10 - - - - - - - - diff --git a/d1/ded/windowed__median_8cpp_source.html b/d1/ded/windowed__median_8cpp_source.html new file mode 100644 index 000000000..c3d74d4b5 --- /dev/null +++ b/d1/ded/windowed__median_8cpp_source.html @@ -0,0 +1,299 @@ + + + + + + + + +TheAlgorithms/C++: probability/windowed_median.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    windowed_median.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    31#include <cassert>
    +
    32#include <cstdlib>
    +
    33#include <ctime>
    +
    34#include <list>
    +
    35#include <set>
    +
    36#include <vector>
    +
    37
    +
    42namespace probability {
    +
    47namespace windowed_median {
    +
    48using Window = std::list<int>;
    +
    49using size_type = Window::size_type;
    +
    50
    +
    + +
    57 const size_type _windowSize;
    +
    58 Window _window;
    +
    59 std::multiset<int> _sortedValues;
    +
    61 std::multiset<int>::const_iterator
    + +
    64
    +
    +
    69 void insertToSorted(int value) {
    +
    70 _sortedValues.insert(value);
    +
    71 const auto sz = _sortedValues.size();
    +
    72 if (sz == 1) {
    +
    73 _itMedian = _sortedValues.begin();
    +
    74 return;
    +
    75 }
    +
    76
    +
    80 if (value < *_itMedian && sz % 2 == 0) {
    +
    81 --_itMedian; // O(1) - traversing one step to the left child
    +
    82 }
    +
    83
    +
    86 else if (value >= *_itMedian && sz % 2 != 0) {
    +
    87 ++_itMedian;
    +
    88 }
    +
    89 }
    +
    +
    90
    +
    +
    95 void eraseFromSorted(int value) {
    +
    96 const auto sz = _sortedValues.size();
    +
    97
    +
    101 if (value <= *_itMedian && sz % 2 == 0) {
    +
    102 ++_itMedian;
    +
    103 }
    +
    104
    +
    108 else if (value >= *_itMedian && sz % 2 != 0) {
    +
    109 --_itMedian; // O(1) - traversing one step to the left child
    +
    110 }
    +
    111
    +
    114 const auto it = _sortedValues.find(value); // O(logN)
    +
    115 _sortedValues.erase(it); // O(logN)
    +
    116 }
    +
    +
    117
    +
    118 public:
    +
    123 explicit WindowedMedian(size_type windowSize) : _windowSize(windowSize){};
    +
    124
    +
    +
    129 void insert(int value) {
    +
    131 _window.push_back(value);
    +
    132 insertToSorted(value); // Insert value to the multi-value BST - O(logN)
    +
    133 if (_window.size() > _windowSize) {
    + +
    136 _window.front());
    +
    138 _window.pop_front();
    +
    140 }
    +
    141 }
    +
    +
    142
    +
    +
    148 float getMedian() const {
    +
    149 if (_sortedValues.size() % 2 != 0) {
    +
    150 return *_itMedian; // O(1)
    +
    151 }
    +
    152 return 0.5f * *_itMedian + 0.5f * *next(_itMedian);
    +
    153 }
    +
    +
    154
    +
    +
    161 float getMedianNaive() const {
    +
    162 auto window = _window;
    +
    163 window.sort();
    +
    164 auto median =
    +
    165 *next(window.begin(),
    +
    166 window.size() / 2);
    +
    167 if (window.size() % 2 != 0) {
    +
    168 return median;
    +
    169 }
    +
    170 return 0.5f * median +
    +
    171 0.5f * *next(window.begin(), window.size() / 2 - 1);
    +
    172 }
    +
    +
    173};
    +
    +
    174} // namespace windowed_median
    +
    175} // namespace probability
    +
    176
    +
    +
    182static void test(const std::vector<int> &vals, int windowSize) {
    +
    183 probability::windowed_median::WindowedMedian windowedMedian(windowSize);
    +
    184 for (const auto val : vals) {
    +
    185 windowedMedian.insert(val);
    +
    186
    +
    188 assert(windowedMedian.getMedian() == windowedMedian.getMedianNaive());
    +
    189 }
    +
    190}
    +
    +
    191
    +
    +
    198int main(int argc, const char *argv[]) {
    +
    200 test({1, 2, 3, 4, 5, 6, 7, 8, 9},
    +
    201 3);
    +
    202 test({9, 8, 7, 6, 5, 4, 3, 2, 1},
    +
    203 3);
    +
    204 test({9, 8, 7, 6, 5, 4, 5, 6}, 4);
    +
    205 test({3, 3, 3, 3, 3, 3, 3, 3, 3}, 3);
    +
    206 test({3, 3, 3, 3, 7, 3, 3, 3, 3}, 3);
    +
    207 test({4, 3, 3, -5, -5, 1, 3, 4, 5},
    +
    208 5);
    +
    209
    +
    213 test({470211272, 101027544, 1457850878, 1458777923, 2007237709, 823564440,
    +
    214 1115438165, 1784484492, 74243042, 114807987},
    +
    215 6);
    +
    216
    +
    218 std::srand(static_cast<unsigned int>(std::time(nullptr)));
    +
    219 std::vector<int> vals;
    +
    220 for (int i = 8; i < 100; i++) {
    +
    221 const auto n =
    +
    222 1 + std::rand() /
    +
    223 ((RAND_MAX + 5u) / 20);
    +
    224 auto windowSize =
    +
    225 1 + std::rand() / ((RAND_MAX + 3u) /
    +
    226 10);
    +
    227 vals.clear();
    +
    228 vals.reserve(n);
    +
    229 for (int i = 0; i < n; i++) {
    +
    230 vals.push_back(
    +
    231 rand() - RAND_MAX);
    +
    232 }
    +
    233 test(vals, windowSize);
    +
    234 }
    +
    235 return 0;
    +
    236}
    +
    +
    A class to calculate the median of a leading sliding window at the back of a stream of integer values...
    +
    void insertToSorted(int value)
    Inserts a value to a sorted multi-value BST.
    +
    std::multiset< int >::const_iterator _itMedian
    +
    float getMedianNaive() const
    A naive and inefficient method to obtain the median of the sliding window. Used for testing!
    +
    void insert(int value)
    Insert a new value to the stream.
    +
    Window _window
    a sliding window of values along the stream
    +
    float getMedian() const
    Gets the median of the values in the sliding window.
    +
    WindowedMedian(size_type windowSize)
    Constructs a WindowedMedian object.
    + +
    const size_type _windowSize
    sliding window size
    +
    void eraseFromSorted(int value)
    Erases a value from a sorted multi-value BST.
    +
    static void test()
    Self-test implementations.
    +
    int main()
    Main function.
    +
    Probability algorithms.
    +
    Functions for the Windowed Median algorithm implementation.
    +
    +
    + + + + diff --git a/d1/def/classdata__structures_1_1linked__list_1_1list.html b/d1/def/classdata__structures_1_1linked__list_1_1list.html index 6cbc449cf..501f00d86 100644 --- a/d1/def/classdata__structures_1_1linked__list_1_1list.html +++ b/d1/def/classdata__structures_1_1linked__list_1_1list.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: data_structures::linked_list::list Class Reference +TheAlgorithms/C++: data_structures::linked_list::list Class Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -132,7 +149,7 @@ Public Member Functions - + @@ -175,19 +192,19 @@ Private Member Functions
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
     
    void display ()
     
    std::shared_ptr< linksearch (int find_elem)
    std::shared_ptr< linksearch (int find_elem)
     
    void reverse ()
    - - + + - + - +

    Private Attributes

    -std::shared_ptr< linkfirst
     link before the actual first element
    std::shared_ptr< linkfirst
     link before the actual first element
     
    std::shared_ptr< linklast
    std::shared_ptr< linklast
     last link on the list
     
    -Nodehead = nullptr
    Nodehead = nullptr
     

    Detailed Description

    A list class containing a sequence of links

    + +

    Definition at line 68 of file reverse_a_linked_list.cpp.

    Constructor & Destructor Documentation

    ◆ list() [1/2]

    @@ -212,21 +229,17 @@ Private Attributes

    List constructor. Initializes the first and last link.

    + +

    Definition at line 89 of file linked_list.cpp.

    89 {
    90 // Initialize the first link
    - +
    91 first = std::make_shared<link>();
    92 // Initialize the last link with the first link
    93 last = nullptr;
    94 }
    -
    std::shared_ptr< link > first
    link before the actual first element
    Definition linked_list.cpp:83
    -
    std::shared_ptr< link > last
    last link on the list
    Definition linked_list.cpp:84
    -
    T make_shared(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    std::shared_ptr< link > first
    link before the actual first element
    +
    std::shared_ptr< link > last
    last link on the list
    +
    @@ -243,8 +256,10 @@ Here is the call graph for this function:
    + +

    Definition at line 196 of file reverse_a_linked_list.cpp.

    196{ delete_all_nodes(); }
    -
    void delete_all_nodes()
    calls delete operator on every node in the represented list
    Definition reverse_a_linked_list.cpp:188
    +
    void delete_all_nodes()
    calls delete operator on every node in the represented list
    @@ -264,6 +279,8 @@ Here is the call graph for this function:

    copy constructor creating a deep copy of every node of the input

    + +

    Definition at line 206 of file reverse_a_linked_list.cpp.

    206{ copy_all_nodes_from_list(other); }
    @@ -291,12 +308,14 @@ Here is the call graph for this function:
    + +

    Definition at line 198 of file reverse_a_linked_list.cpp.

    198 {
    199 assert(isEmpty());
    200 head = copy_all_nodes(other.head);
    201}
    -
    bool isEmpty()
    Definition linked_list.cpp:111
    -
    Node * copy_all_nodes(const Node *const node)
    creates a deep copy of a list starting at the input node
    Definition reverse_a_linked_list.cpp:53
    + +
    Node * copy_all_nodes(const Node *const node)
    creates a deep copy of a list starting at the input node
    @@ -324,6 +343,8 @@ Here is the call graph for this function:

    calls delete operator on every node in the represented list

    + +

    Definition at line 188 of file reverse_a_linked_list.cpp.

    188 {
    189 while (head != nullptr) {
    190 const auto tmp_node = head->next;
    @@ -331,7 +352,7 @@ Here is the call graph for this function:
    192 head = tmp_node;
    193 }
    194}
    -
    Node * next
    value of the current link
    Definition reverse_a_linked_list.cpp:45
    +
    Node * next
    value of the current link
    @@ -350,25 +371,20 @@ Here is the call graph for this function:

    function displays all the elements in the list

    Returns
    'void'
    + +

    Definition at line 181 of file linked_list.cpp.

    181 {
    182 if (isEmpty()) {
    -
    183 std::cout << "List is Empty!";
    +
    183 std::cout << "List is Empty!";
    184 return;
    185 }
    - +
    186 std::shared_ptr<link> t = first;
    187 while (t->succ() != nullptr) {
    -
    188 std::cout << t->succ()->val() << "\t";
    +
    188 std::cout << t->succ()->val() << "\t";
    189 t = t->succ();
    190 }
    191}
    - - -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    @@ -391,23 +407,25 @@ Here is the call graph for this function: + +

    Definition at line 152 of file linked_list.cpp.

    152 {
    153 if (isEmpty()) {
    -
    154 std::cout << "List is Empty!";
    +
    154 std::cout << "List is Empty!";
    155 return;
    156 }
    - -
    158 std::shared_ptr<link> to_be_removed = nullptr;
    +
    157 std::shared_ptr<link> t = first;
    +
    158 std::shared_ptr<link> to_be_removed = nullptr;
    159 while (t != last && t->succ()->val() != old_elem) {
    160 t = t->succ();
    161 }
    162 if (t == last) {
    -
    163 std::cout << "Element not found\n";
    +
    163 std::cout << "Element not found\n";
    164 return;
    165 }
    166 to_be_removed = t->succ();
    167 t->succ() = t->succ()->succ();
    -
    168 to_be_removed.reset();
    +
    168 to_be_removed.reset();
    169 if (t->succ() == nullptr) {
    170 last = t;
    171 }
    @@ -415,13 +433,7 @@ Here is the call graph for this function:
    173 last = nullptr;
    174 }
    175}
    -
    T reset(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -446,6 +458,8 @@ Here is the call graph for this function: + +

    Definition at line 99 of file reverse_a_linked_list.cpp.

    99 {
    100 try {
    101 // NOLINTNEXTLINE(cppcoreguidelines-owning-memory)
    @@ -462,19 +476,12 @@ Here is the call graph for this function:
    112 }
    113 temp->next = new_node;
    114 }
    -
    115 } catch (std::bad_alloc& exception) {
    -
    116 std::cerr << "bad_alloc detected: " << exception.what() << "\n";
    +
    115 } catch (std::bad_alloc& exception) {
    +
    116 std::cerr << "bad_alloc detected: " << exception.what() << "\n";
    117 }
    118}
    - -
    Definition linkedlist_implentation_usingarray.cpp:14
    -
    T what(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + + @@ -494,6 +501,8 @@ Here is the call graph for this function:

    function checks if list is empty

    Returns
    true if list is empty
    false if list is not empty
    + +

    Definition at line 111 of file linked_list.cpp.

    111 {
    112 if (last == nullptr) {
    113 return true;
    @@ -523,6 +532,8 @@ false if list is not empty
    Returns
    true if the list is empty
    false if the list is not empty
    + +

    Definition at line 93 of file reverse_a_linked_list.cpp.

    93{ return head == nullptr; }
    @@ -543,6 +554,8 @@ false if the list is not empty

    assignment operator creating a deep copy of every node of the input

    + +

    Definition at line 211 of file reverse_a_linked_list.cpp.

    211 {
    212 if (this == &other) {
    213 return *this;
    @@ -552,12 +565,7 @@ false if the list is not empty
    217 copy_all_nodes_from_list(other);
    218 return *this;
    219}
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    @@ -580,21 +588,18 @@ Here is the call graph for this function: + +

    Definition at line 123 of file linked_list.cpp.

    123 {
    124 if (isEmpty()) {
    -
    125 first->succ() = std::make_shared<link>(new_elem);
    +
    125 first->succ() = std::make_shared<link>(new_elem);
    126 last = first->succ();
    127 } else {
    -
    128 last->succ() = std::make_shared<link>(new_elem);
    +
    128 last->succ() = std::make_shared<link>(new_elem);
    129 last = last->succ();
    130 }
    131}
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -617,22 +622,19 @@ Here is the call graph for this function: + +

    Definition at line 137 of file linked_list.cpp.

    137 {
    138 if (isEmpty()) {
    -
    139 first->succ() = std::make_shared<link>(new_elem);
    +
    139 first->succ() = std::make_shared<link>(new_elem);
    140 last = first->succ();
    141 } else {
    - +
    142 std::shared_ptr<link> t = std::make_shared<link>(new_elem);
    143 t->succ() = first->succ();
    144 first->succ() = t;
    145 }
    146}
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -652,19 +654,20 @@ Here is the call graph for this function:

    Utility function for reversing a list.

    Using the current, previous, and next pointer.

    Returns
    void
    + +

    Definition at line 125 of file reverse_a_linked_list.cpp.

    125 {
    126 Node* curr = head;
    -
    127 Node* prev = nullptr;
    +
    127 Node* prev = nullptr;
    128 Node* next_node = nullptr;
    129 while (curr != nullptr) {
    130 next_node = curr->next;
    -
    131 curr->next = prev;
    -
    132 prev = curr;
    +
    131 curr->next = prev;
    +
    132 prev = curr;
    133 curr = next_node;
    134 }
    -
    135 head = prev;
    +
    135 head = prev;
    136}
    -
    T prev(T... args)
    @@ -675,7 +678,7 @@ Here is the call graph for this function:
    - + @@ -689,28 +692,25 @@ Here is the call graph for this function:
    std::shared_ptr< link > data_structures::linked_list::list::search std::shared_ptr< link > data_structures::linked_list::list::search ( int find_elem)
    + +

    Definition at line 197 of file linked_list.cpp.

    197 {
    198 if (isEmpty()) {
    -
    199 std::cout << "List is Empty!";
    +
    199 std::cout << "List is Empty!";
    200 return nullptr;
    201 }
    - +
    202 std::shared_ptr<link> t = first;
    203 while (t != last && t->succ()->val() != find_elem) {
    204 t = t->succ();
    205 }
    206 if (t == last) {
    -
    207 std::cout << "Element not found\n";
    +
    207 std::cout << "Element not found\n";
    208 return nullptr;
    209 }
    -
    210 std::cout << "Element was found\n";
    +
    210 std::cout << "Element was found\n";
    211 return t->succ();
    212}
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    @@ -730,20 +730,16 @@ Here is the call graph for this function:

    Utility function to find the top element of the list.

    Returns
    the top element of the list
    + +

    Definition at line 142 of file reverse_a_linked_list.cpp.

    142 {
    143 if (!isEmpty()) {
    144 return head->val;
    145 } else {
    -
    146 throw std::logic_error("List is empty");
    +
    146 throw std::logic_error("List is empty");
    147 }
    148}
    - -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -763,6 +759,8 @@ Here is the call graph for this function:

    Utility function to find the i th element of the list.

    Returns
    the i th element of the list
    + +

    Definition at line 168 of file reverse_a_linked_list.cpp.

    168 {
    169 Node* current = head;
    170
    @@ -777,13 +775,62 @@ Here is the call graph for this function:
    179
    180 /* if we get to this line,the caller was asking for a non-existent element
    181 so we assert fail */
    -
    182 exit(1);
    +
    182 exit(1);
    183}
    -
    T exit(T... args)

    Member Data Documentation

    + +

    ◆ first

    + +
    +
    + + + + + +
    + + + + +
    std::shared_ptr<link> data_structures::linked_list::list::first
    +
    +private
    +
    + +

    link before the actual first element

    + +

    Definition at line 83 of file linked_list.cpp.

    + +
    +
    + +

    ◆ head

    + +
    +
    + + + + + +
    + + + + +
    Node* data_structures::linked_list::list::head = nullptr
    +
    +private
    +
    + +

    Definition at line 70 of file reverse_a_linked_list.cpp.

    + +
    +

    ◆ last

    @@ -808,11 +855,13 @@ Here is the call graph for this function:

    Utility function to find the last element of the list.

    Returns
    the last element of the list
    +

    Definition at line 84 of file linked_list.cpp.

    +
    The documentation for this class was generated from the following files: diff --git a/d1/def/classdata__structures_1_1linked__list_1_1list_a009b19ac8cca40f2e4daa2e5989fa4f3_cgraph.map b/d1/def/classdata__structures_1_1linked__list_1_1list_a009b19ac8cca40f2e4daa2e5989fa4f3_cgraph.map deleted file mode 100644 index d5ce6e41c..000000000 --- a/d1/def/classdata__structures_1_1linked__list_1_1list_a009b19ac8cca40f2e4daa2e5989fa4f3_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/d1/def/classdata__structures_1_1linked__list_1_1list_a009b19ac8cca40f2e4daa2e5989fa4f3_cgraph.md5 b/d1/def/classdata__structures_1_1linked__list_1_1list_a009b19ac8cca40f2e4daa2e5989fa4f3_cgraph.md5 deleted file mode 100644 index 66b8433c5..000000000 --- a/d1/def/classdata__structures_1_1linked__list_1_1list_a009b19ac8cca40f2e4daa2e5989fa4f3_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -fa24d6241c5257491047b42e6334d303 \ No newline at end of file diff --git a/d1/def/classdata__structures_1_1linked__list_1_1list_a009b19ac8cca40f2e4daa2e5989fa4f3_cgraph.svg b/d1/def/classdata__structures_1_1linked__list_1_1list_a009b19ac8cca40f2e4daa2e5989fa4f3_cgraph.svg deleted file mode 100644 index 1617e9ca1..000000000 --- a/d1/def/classdata__structures_1_1linked__list_1_1list_a009b19ac8cca40f2e4daa2e5989fa4f3_cgraph.svg +++ /dev/null @@ -1,85 +0,0 @@ - - - - - - - - - - - - -data_structures::linked_list::list::erase - - -Node1 - - -data_structures::linked -_list::list::erase - - - - - -Node2 - - -data_structures::linked -_list::list::isEmpty - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::shared_ptr::reset - - - - - -Node1->Node3 - - - - - - - - - - - - - diff --git a/d1/def/classdata__structures_1_1linked__list_1_1list_a009b19ac8cca40f2e4daa2e5989fa4f3_cgraph_org.svg b/d1/def/classdata__structures_1_1linked__list_1_1list_a009b19ac8cca40f2e4daa2e5989fa4f3_cgraph_org.svg deleted file mode 100644 index 40480b1fa..000000000 --- a/d1/def/classdata__structures_1_1linked__list_1_1list_a009b19ac8cca40f2e4daa2e5989fa4f3_cgraph_org.svg +++ /dev/null @@ -1,59 +0,0 @@ - - - - - - -data_structures::linked_list::list::erase - - -Node1 - - -data_structures::linked -_list::list::erase - - - - - -Node2 - - -data_structures::linked -_list::list::isEmpty - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::shared_ptr::reset - - - - - -Node1->Node3 - - - - - - - - diff --git a/d1/def/classdata__structures_1_1linked__list_1_1list_a1313837c0e9ec67fd9fbd17987e2d615_cgraph.map b/d1/def/classdata__structures_1_1linked__list_1_1list_a1313837c0e9ec67fd9fbd17987e2d615_cgraph.map deleted file mode 100644 index a531a1711..000000000 --- a/d1/def/classdata__structures_1_1linked__list_1_1list_a1313837c0e9ec67fd9fbd17987e2d615_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d1/def/classdata__structures_1_1linked__list_1_1list_a1313837c0e9ec67fd9fbd17987e2d615_cgraph.md5 b/d1/def/classdata__structures_1_1linked__list_1_1list_a1313837c0e9ec67fd9fbd17987e2d615_cgraph.md5 deleted file mode 100644 index 69fee328e..000000000 --- a/d1/def/classdata__structures_1_1linked__list_1_1list_a1313837c0e9ec67fd9fbd17987e2d615_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -424c4d539c12eb30f3b057941d387774 \ No newline at end of file diff --git a/d1/def/classdata__structures_1_1linked__list_1_1list_a1313837c0e9ec67fd9fbd17987e2d615_cgraph.svg b/d1/def/classdata__structures_1_1linked__list_1_1list_a1313837c0e9ec67fd9fbd17987e2d615_cgraph.svg deleted file mode 100644 index 514594842..000000000 --- a/d1/def/classdata__structures_1_1linked__list_1_1list_a1313837c0e9ec67fd9fbd17987e2d615_cgraph.svg +++ /dev/null @@ -1,67 +0,0 @@ - - - - - - - - - - - - -data_structures::linked_list::list::display - - -Node1 - - -data_structures::linked -_list::list::display - - - - - -Node2 - - -data_structures::linked -_list::list::isEmpty - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d1/def/classdata__structures_1_1linked__list_1_1list_a1313837c0e9ec67fd9fbd17987e2d615_cgraph_org.svg b/d1/def/classdata__structures_1_1linked__list_1_1list_a1313837c0e9ec67fd9fbd17987e2d615_cgraph_org.svg deleted file mode 100644 index 852e9d7f8..000000000 --- a/d1/def/classdata__structures_1_1linked__list_1_1list_a1313837c0e9ec67fd9fbd17987e2d615_cgraph_org.svg +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - -data_structures::linked_list::list::display - - -Node1 - - -data_structures::linked -_list::list::display - - - - - -Node2 - - -data_structures::linked -_list::list::isEmpty - - - - - -Node1->Node2 - - - - - - - - diff --git a/d1/def/classdata__structures_1_1linked__list_1_1list_a332b965afd9d6bea8d3246673acd52c7_cgraph.map b/d1/def/classdata__structures_1_1linked__list_1_1list_a332b965afd9d6bea8d3246673acd52c7_cgraph.map deleted file mode 100644 index e2f6a333e..000000000 --- a/d1/def/classdata__structures_1_1linked__list_1_1list_a332b965afd9d6bea8d3246673acd52c7_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/d1/def/classdata__structures_1_1linked__list_1_1list_a332b965afd9d6bea8d3246673acd52c7_cgraph.md5 b/d1/def/classdata__structures_1_1linked__list_1_1list_a332b965afd9d6bea8d3246673acd52c7_cgraph.md5 deleted file mode 100644 index 06d663288..000000000 --- a/d1/def/classdata__structures_1_1linked__list_1_1list_a332b965afd9d6bea8d3246673acd52c7_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -0032bc307b79d250ee483373106d5316 \ No newline at end of file diff --git a/d1/def/classdata__structures_1_1linked__list_1_1list_a332b965afd9d6bea8d3246673acd52c7_cgraph.svg b/d1/def/classdata__structures_1_1linked__list_1_1list_a332b965afd9d6bea8d3246673acd52c7_cgraph.svg deleted file mode 100644 index 81c33c70a..000000000 --- a/d1/def/classdata__structures_1_1linked__list_1_1list_a332b965afd9d6bea8d3246673acd52c7_cgraph.svg +++ /dev/null @@ -1,85 +0,0 @@ - - - - - - - - - - - - -data_structures::linked_list::list::push_front - - -Node1 - - -data_structures::linked -_list::list::push_front - - - - - -Node2 - - -data_structures::linked -_list::list::isEmpty - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::make_shared - - - - - -Node1->Node3 - - - - - - - - - - - - - diff --git a/d1/def/classdata__structures_1_1linked__list_1_1list_a332b965afd9d6bea8d3246673acd52c7_cgraph_org.svg b/d1/def/classdata__structures_1_1linked__list_1_1list_a332b965afd9d6bea8d3246673acd52c7_cgraph_org.svg deleted file mode 100644 index e6b9c5626..000000000 --- a/d1/def/classdata__structures_1_1linked__list_1_1list_a332b965afd9d6bea8d3246673acd52c7_cgraph_org.svg +++ /dev/null @@ -1,59 +0,0 @@ - - - - - - -data_structures::linked_list::list::push_front - - -Node1 - - -data_structures::linked -_list::list::push_front - - - - - -Node2 - - -data_structures::linked -_list::list::isEmpty - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::make_shared - - - - - -Node1->Node3 - - - - - - - - diff --git a/d1/def/classdata__structures_1_1linked__list_1_1list_a50e209b55b83622254177050945e7826_cgraph.map b/d1/def/classdata__structures_1_1linked__list_1_1list_a50e209b55b83622254177050945e7826_cgraph.map deleted file mode 100644 index 5b2b3d934..000000000 --- a/d1/def/classdata__structures_1_1linked__list_1_1list_a50e209b55b83622254177050945e7826_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d1/def/classdata__structures_1_1linked__list_1_1list_a50e209b55b83622254177050945e7826_cgraph.md5 b/d1/def/classdata__structures_1_1linked__list_1_1list_a50e209b55b83622254177050945e7826_cgraph.md5 deleted file mode 100644 index a9e619480..000000000 --- a/d1/def/classdata__structures_1_1linked__list_1_1list_a50e209b55b83622254177050945e7826_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -eb039a1cbb1453f6e0da4806c497b8f2 \ No newline at end of file diff --git a/d1/def/classdata__structures_1_1linked__list_1_1list_a50e209b55b83622254177050945e7826_cgraph.svg b/d1/def/classdata__structures_1_1linked__list_1_1list_a50e209b55b83622254177050945e7826_cgraph.svg deleted file mode 100644 index 3451fd083..000000000 --- a/d1/def/classdata__structures_1_1linked__list_1_1list_a50e209b55b83622254177050945e7826_cgraph.svg +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - - - - - - - -data_structures::linked_list::list::list - - -Node1 - - -data_structures::linked -_list::list::list - - - - - -Node2 - - -std::make_shared - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d1/def/classdata__structures_1_1linked__list_1_1list_a50e209b55b83622254177050945e7826_cgraph_org.svg b/d1/def/classdata__structures_1_1linked__list_1_1list_a50e209b55b83622254177050945e7826_cgraph_org.svg deleted file mode 100644 index 5452b5c48..000000000 --- a/d1/def/classdata__structures_1_1linked__list_1_1list_a50e209b55b83622254177050945e7826_cgraph_org.svg +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - -data_structures::linked_list::list::list - - -Node1 - - -data_structures::linked -_list::list::list - - - - - -Node2 - - -std::make_shared - - - - - -Node1->Node2 - - - - - - - - diff --git a/d1/def/classdata__structures_1_1linked__list_1_1list_a6e9859d1a0755fb51e41904d20c95496_cgraph.map b/d1/def/classdata__structures_1_1linked__list_1_1list_a6e9859d1a0755fb51e41904d20c95496_cgraph.map deleted file mode 100644 index f4b196d00..000000000 --- a/d1/def/classdata__structures_1_1linked__list_1_1list_a6e9859d1a0755fb51e41904d20c95496_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/d1/def/classdata__structures_1_1linked__list_1_1list_a6e9859d1a0755fb51e41904d20c95496_cgraph.md5 b/d1/def/classdata__structures_1_1linked__list_1_1list_a6e9859d1a0755fb51e41904d20c95496_cgraph.md5 deleted file mode 100644 index 29c5a1a70..000000000 --- a/d1/def/classdata__structures_1_1linked__list_1_1list_a6e9859d1a0755fb51e41904d20c95496_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -82dcec9845ec741b5f1388a134b04b81 \ No newline at end of file diff --git a/d1/def/classdata__structures_1_1linked__list_1_1list_a6e9859d1a0755fb51e41904d20c95496_cgraph.svg b/d1/def/classdata__structures_1_1linked__list_1_1list_a6e9859d1a0755fb51e41904d20c95496_cgraph.svg deleted file mode 100644 index cf1532d5e..000000000 --- a/d1/def/classdata__structures_1_1linked__list_1_1list_a6e9859d1a0755fb51e41904d20c95496_cgraph.svg +++ /dev/null @@ -1,85 +0,0 @@ - - - - - - - - - - - - -data_structures::linked_list::list::push_back - - -Node1 - - -data_structures::linked -_list::list::push_back - - - - - -Node2 - - -data_structures::linked -_list::list::isEmpty - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::make_shared - - - - - -Node1->Node3 - - - - - - - - - - - - - diff --git a/d1/def/classdata__structures_1_1linked__list_1_1list_a6e9859d1a0755fb51e41904d20c95496_cgraph_org.svg b/d1/def/classdata__structures_1_1linked__list_1_1list_a6e9859d1a0755fb51e41904d20c95496_cgraph_org.svg deleted file mode 100644 index 9e2ede1ba..000000000 --- a/d1/def/classdata__structures_1_1linked__list_1_1list_a6e9859d1a0755fb51e41904d20c95496_cgraph_org.svg +++ /dev/null @@ -1,59 +0,0 @@ - - - - - - -data_structures::linked_list::list::push_back - - -Node1 - - -data_structures::linked -_list::list::push_back - - - - - -Node2 - - -data_structures::linked -_list::list::isEmpty - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::make_shared - - - - - -Node1->Node3 - - - - - - - - diff --git a/d1/def/classdata__structures_1_1linked__list_1_1list_a9785d1478e59f5a90288b2928a7094d6_cgraph.map b/d1/def/classdata__structures_1_1linked__list_1_1list_a9785d1478e59f5a90288b2928a7094d6_cgraph.map deleted file mode 100644 index 435b604e7..000000000 --- a/d1/def/classdata__structures_1_1linked__list_1_1list_a9785d1478e59f5a90288b2928a7094d6_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d1/def/classdata__structures_1_1linked__list_1_1list_a9785d1478e59f5a90288b2928a7094d6_cgraph.md5 b/d1/def/classdata__structures_1_1linked__list_1_1list_a9785d1478e59f5a90288b2928a7094d6_cgraph.md5 deleted file mode 100644 index 4fafb0812..000000000 --- a/d1/def/classdata__structures_1_1linked__list_1_1list_a9785d1478e59f5a90288b2928a7094d6_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -001150031427d341e6f62059c5eb7640 \ No newline at end of file diff --git a/d1/def/classdata__structures_1_1linked__list_1_1list_a9785d1478e59f5a90288b2928a7094d6_cgraph.svg b/d1/def/classdata__structures_1_1linked__list_1_1list_a9785d1478e59f5a90288b2928a7094d6_cgraph.svg deleted file mode 100644 index 7360b22a9..000000000 --- a/d1/def/classdata__structures_1_1linked__list_1_1list_a9785d1478e59f5a90288b2928a7094d6_cgraph.svg +++ /dev/null @@ -1,67 +0,0 @@ - - - - - - - - - - - - -data_structures::linked_list::list::top - - -Node1 - - -data_structures::linked -_list::list::top - - - - - -Node2 - - -data_structures::linked -_list::list::isEmpty - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d1/def/classdata__structures_1_1linked__list_1_1list_a9785d1478e59f5a90288b2928a7094d6_cgraph_org.svg b/d1/def/classdata__structures_1_1linked__list_1_1list_a9785d1478e59f5a90288b2928a7094d6_cgraph_org.svg deleted file mode 100644 index c598cf1b1..000000000 --- a/d1/def/classdata__structures_1_1linked__list_1_1list_a9785d1478e59f5a90288b2928a7094d6_cgraph_org.svg +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - -data_structures::linked_list::list::top - - -Node1 - - -data_structures::linked -_list::list::top - - - - - -Node2 - - -data_structures::linked -_list::list::isEmpty - - - - - -Node1->Node2 - - - - - - - - diff --git a/d1/def/classdata__structures_1_1linked__list_1_1list_aa69707af46eb6d410eb3a54ee58e1ed1_cgraph.map b/d1/def/classdata__structures_1_1linked__list_1_1list_aa69707af46eb6d410eb3a54ee58e1ed1_cgraph.map deleted file mode 100644 index acbe5059f..000000000 --- a/d1/def/classdata__structures_1_1linked__list_1_1list_aa69707af46eb6d410eb3a54ee58e1ed1_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/d1/def/classdata__structures_1_1linked__list_1_1list_aa69707af46eb6d410eb3a54ee58e1ed1_cgraph.md5 b/d1/def/classdata__structures_1_1linked__list_1_1list_aa69707af46eb6d410eb3a54ee58e1ed1_cgraph.md5 deleted file mode 100644 index d596dd346..000000000 --- a/d1/def/classdata__structures_1_1linked__list_1_1list_aa69707af46eb6d410eb3a54ee58e1ed1_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -7f4463b596974a51ddfeefc35461a1c4 \ No newline at end of file diff --git a/d1/def/classdata__structures_1_1linked__list_1_1list_aa69707af46eb6d410eb3a54ee58e1ed1_cgraph.svg b/d1/def/classdata__structures_1_1linked__list_1_1list_aa69707af46eb6d410eb3a54ee58e1ed1_cgraph.svg deleted file mode 100644 index 146db8a56..000000000 --- a/d1/def/classdata__structures_1_1linked__list_1_1list_aa69707af46eb6d410eb3a54ee58e1ed1_cgraph.svg +++ /dev/null @@ -1,85 +0,0 @@ - - - - - - - - - - - - -data_structures::linked_list::list::insert - - -Node1 - - -data_structures::linked -_list::list::insert - - - - - -Node2 - - -data_structures::linked -_list::list::isEmpty - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::bad_alloc::what - - - - - -Node1->Node3 - - - - - - - - - - - - - diff --git a/d1/def/classdata__structures_1_1linked__list_1_1list_aa69707af46eb6d410eb3a54ee58e1ed1_cgraph_org.svg b/d1/def/classdata__structures_1_1linked__list_1_1list_aa69707af46eb6d410eb3a54ee58e1ed1_cgraph_org.svg deleted file mode 100644 index 787951ffc..000000000 --- a/d1/def/classdata__structures_1_1linked__list_1_1list_aa69707af46eb6d410eb3a54ee58e1ed1_cgraph_org.svg +++ /dev/null @@ -1,59 +0,0 @@ - - - - - - -data_structures::linked_list::list::insert - - -Node1 - - -data_structures::linked -_list::list::insert - - - - - -Node2 - - -data_structures::linked -_list::list::isEmpty - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::bad_alloc::what - - - - - -Node1->Node3 - - - - - - - - diff --git a/d1/def/classdata__structures_1_1linked__list_1_1list_ad3423f7518671351340932db3c24959a_cgraph.map b/d1/def/classdata__structures_1_1linked__list_1_1list_ad3423f7518671351340932db3c24959a_cgraph.map deleted file mode 100644 index f75b4b4d2..000000000 --- a/d1/def/classdata__structures_1_1linked__list_1_1list_ad3423f7518671351340932db3c24959a_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d1/def/classdata__structures_1_1linked__list_1_1list_ad3423f7518671351340932db3c24959a_cgraph.md5 b/d1/def/classdata__structures_1_1linked__list_1_1list_ad3423f7518671351340932db3c24959a_cgraph.md5 deleted file mode 100644 index 0d21bdf0b..000000000 --- a/d1/def/classdata__structures_1_1linked__list_1_1list_ad3423f7518671351340932db3c24959a_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -3785b767d36da983218294d15a0df6c7 \ No newline at end of file diff --git a/d1/def/classdata__structures_1_1linked__list_1_1list_ad3423f7518671351340932db3c24959a_cgraph.svg b/d1/def/classdata__structures_1_1linked__list_1_1list_ad3423f7518671351340932db3c24959a_cgraph.svg deleted file mode 100644 index 75a73eb8b..000000000 --- a/d1/def/classdata__structures_1_1linked__list_1_1list_ad3423f7518671351340932db3c24959a_cgraph.svg +++ /dev/null @@ -1,67 +0,0 @@ - - - - - - - - - - - - -data_structures::linked_list::list::search - - -Node1 - - -data_structures::linked -_list::list::search - - - - - -Node2 - - -data_structures::linked -_list::list::isEmpty - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d1/def/classdata__structures_1_1linked__list_1_1list_ad3423f7518671351340932db3c24959a_cgraph_org.svg b/d1/def/classdata__structures_1_1linked__list_1_1list_ad3423f7518671351340932db3c24959a_cgraph_org.svg deleted file mode 100644 index 7880c2a67..000000000 --- a/d1/def/classdata__structures_1_1linked__list_1_1list_ad3423f7518671351340932db3c24959a_cgraph_org.svg +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - -data_structures::linked_list::list::search - - -Node1 - - -data_structures::linked -_list::list::search - - - - - -Node2 - - -data_structures::linked -_list::list::isEmpty - - - - - -Node1->Node2 - - - - - - - - diff --git a/d1/def/classdata__structures_1_1linked__list_1_1list_adb04f732911fcfd30f7177b367c6af41_cgraph.map b/d1/def/classdata__structures_1_1linked__list_1_1list_adb04f732911fcfd30f7177b367c6af41_cgraph.map deleted file mode 100644 index 9707db3f0..000000000 --- a/d1/def/classdata__structures_1_1linked__list_1_1list_adb04f732911fcfd30f7177b367c6af41_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d1/def/classdata__structures_1_1linked__list_1_1list_adb04f732911fcfd30f7177b367c6af41_cgraph.md5 b/d1/def/classdata__structures_1_1linked__list_1_1list_adb04f732911fcfd30f7177b367c6af41_cgraph.md5 deleted file mode 100644 index 1922fdf8b..000000000 --- a/d1/def/classdata__structures_1_1linked__list_1_1list_adb04f732911fcfd30f7177b367c6af41_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -b6077b2cc9c93b7400bc011a61c94f7b \ No newline at end of file diff --git a/d1/def/classdata__structures_1_1linked__list_1_1list_adb04f732911fcfd30f7177b367c6af41_cgraph.svg b/d1/def/classdata__structures_1_1linked__list_1_1list_adb04f732911fcfd30f7177b367c6af41_cgraph.svg deleted file mode 100644 index a652b3e36..000000000 --- a/d1/def/classdata__structures_1_1linked__list_1_1list_adb04f732911fcfd30f7177b367c6af41_cgraph.svg +++ /dev/null @@ -1,67 +0,0 @@ - - - - - - - - - - - - -data_structures::linked_list::list::operator= - - -Node1 - - -data_structures::linked -_list::list::operator= - - - - - -Node2 - - -data_structures::linked -_list::list::delete_all_nodes - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d1/def/classdata__structures_1_1linked__list_1_1list_adb04f732911fcfd30f7177b367c6af41_cgraph_org.svg b/d1/def/classdata__structures_1_1linked__list_1_1list_adb04f732911fcfd30f7177b367c6af41_cgraph_org.svg deleted file mode 100644 index a74eb325d..000000000 --- a/d1/def/classdata__structures_1_1linked__list_1_1list_adb04f732911fcfd30f7177b367c6af41_cgraph_org.svg +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - -data_structures::linked_list::list::operator= - - -Node1 - - -data_structures::linked -_list::list::operator= - - - - - -Node2 - - -data_structures::linked -_list::list::delete_all_nodes - - - - - -Node1->Node2 - - - - - - - - diff --git a/d1/df2/structnode-members.html b/d1/df2/structnode-members.html index 707f43fc1..e142dd91f 100644 --- a/d1/df2/structnode-members.html +++ b/d1/df2/structnode-members.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Member List +TheAlgorithms/C++: Member List + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/d1/df3/hash__search_8cpp.html b/d1/df3/hash__search_8cpp.html index f2fe4fd8e..bee1ef07c 100644 --- a/d1/df3/hash__search_8cpp.html +++ b/d1/df3/hash__search_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: search/hash_search.cpp File Reference +TheAlgorithms/C++: search/hash_search.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + @@ -123,7 +140,9 @@ Include dependency graph for hash_search.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -131,13 +150,11 @@ Classes

    Classes

    struct  list
    - - + + - - + +

    Macros

    -#define MAX   6
     Determines how much data.
    #define MAX   6
     Determines how much data.
     
    -#define HASHMAX   5
     Determines the length of the hash table.
    #define HASHMAX   5
     Determines the length of the hash table.
     
    - - + +

    @@ -165,9 +182,8 @@ Variables

    int data [MAX] = {1, 10, 15, 5, 8, 7}
     test data
     
    -node hashtab [HASHMAX]
     array of nodes
    node hashtab [HASHMAX]
     array of nodes
     

    Detailed Description

    @@ -176,7 +192,46 @@ Variables

    In this algorithm, we use the method of division and reservation remainder to construct the hash function, and use the method of chain address to solve the conflict, that is, we link a chain list after the data, and store all the records whose keywords are synonyms in the same linear chain list.

    Warning
    This program is only for educational purposes. It has serious flaws in implementation with regards to memory management resulting in large amounts of memory leaks.
    Todo
    fix the program for memory leaks and better structure in C++ and not C fashion
    -

    Typedef Documentation

    + +

    Definition in file hash_search.cpp.

    +

    Macro Definition Documentation

    + +

    ◆ HASHMAX

    + +
    +
    + + + + +
    #define HASHMAX   5
    +
    + +

    Determines the length of the hash table.

    + +

    Definition at line 22 of file hash_search.cpp.

    + +
    +
    + +

    ◆ MAX

    + +
    +
    + + + + +
    #define MAX   6
    +
    + +

    Determines how much data.

    + +

    Definition at line 21 of file hash_search.cpp.

    + +
    +
    +

    Typedef Documentation

    ◆ node

    @@ -215,10 +270,12 @@ Variables
    Warning
    dynamic memory allocated to n never gets freed.
    Todo
    fix memory leak
    + +

    Definition at line 55 of file hash_search.cpp.

    55 { // Construct hash table
    -
    56 link p, n;
    +
    56 link p, n;
    57 int index;
    -
    58 n = (link)malloc(sizeof(node));
    +
    58 n = (link)malloc(sizeof(node));
    59 n->key = key;
    60 n->next = NULL;
    61 index = h(key);
    @@ -230,18 +287,11 @@ Variables
    67 hashtab[index].next = n;
    68 }
    69}
    -
    int h(int key)
    Definition hash_search.cpp:45
    +
    int h(int key)
    struct list * link
    pointer to nodes
    -
    node hashtab[HASHMAX]
    array of nodes
    Definition hash_search.cpp:35
    - -
    T malloc(T... args)
    -
    Definition binary_search_tree.cpp:11
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    node hashtab[HASHMAX]
    array of nodes
    + + @@ -267,8 +317,10 @@ Here is the call graph for this function:
    Returns
    hash value for key
    Examples
    /Users/runner/work/C-Plus-Plus/C-Plus-Plus/numerical_methods/rungekutta.cpp.
    + +

    Definition at line 45 of file hash_search.cpp.

    45{ return key % HASHMAX; }
    -
    #define HASHMAX
    Determines the length of the hash table.
    Definition hash_search.cpp:22
    +
    #define HASHMAX
    Determines the length of the hash table.
    @@ -293,19 +345,21 @@ Here is the call graph for this function:

    Input the key to be searched, and get the hash header position through the H (int key) function, then one-dimensional linear search. If found

    Returns
    element depth and number of searches If not found
    -1
    + +

    Definition at line 76 of file hash_search.cpp.

    76 { // Hash lookup function
    -
    77 link pointer;
    +
    77 link pointer;
    78 int index;
    79
    80 *counter = 0;
    81 index = h(key);
    82 pointer = hashtab[index].next;
    83
    -
    84 std::cout << "data[" << index << "]:";
    +
    84 std::cout << "data[" << index << "]:";
    85
    86 while (pointer != NULL) {
    87 counter[0]++;
    -
    88 std::cout << "data[" << pointer->key << "]:";
    +
    88 std::cout << "data[" << pointer->key << "]:";
    89 if (pointer->key == key)
    90 return 1;
    91 else
    @@ -314,13 +368,7 @@ Here is the call graph for this function:
    94
    95 return 0;
    96}
    - -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -338,8 +386,10 @@ Here is the call graph for this function:

    main function

    + +

    Definition at line 99 of file hash_search.cpp.

    99 {
    -
    100 link p;
    +
    100 link p;
    101 int key, index, i, counter; // Key is the value to be found
    102 index = 0;
    103
    @@ -350,17 +400,17 @@ Here is the call graph for this function:
    108 }
    109
    110 for (i = 0; i < HASHMAX; i++) { // Output hash table
    -
    111 std::cout << "hashtab [" << i << "]\n";
    +
    111 std::cout << "hashtab [" << i << "]\n";
    112
    113 p = hashtab[i].next;
    114
    115 while (p != NULL) {
    -
    116 std::cout << "please int key:";
    +
    116 std::cout << "please int key:";
    117 if (p->key > 0)
    -
    118 std::cout << "[" << p->key << "]";
    +
    118 std::cout << "[" << p->key << "]";
    119 p = p->next;
    120 }
    - +
    121 std::cout << std::endl;
    122 }
    123
    124 while (key != -1) {
    @@ -368,9 +418,9 @@ Here is the call graph for this function:
    126 // test key = 10
    127 key = 10;
    128 if (hash_search(key, &counter))
    -
    129 std::cout << "search time = " << counter << std::endl;
    +
    129 std::cout << "search time = " << counter << std::endl;
    130 else
    -
    131 std::cout << "no found!\n";
    +
    131 std::cout << "no found!\n";
    132 key = -1; // Exit test
    133 /* The test sample is returned as:
    134 * data[0]:data[5]:data[15]:data[10]:search time = 3 The search is
    @@ -379,17 +429,11 @@ Here is the call graph for this function:
    137
    138 return 0;
    139}
    -
    T endl(T... args)
    -
    int hash_search(int key, int *counter)
    Definition hash_search.cpp:76
    -
    #define MAX
    Determines how much data.
    Definition hash_search.cpp:21
    -
    int data[MAX]
    test data
    Definition hash_search.cpp:24
    -
    void create_list(int key)
    Definition hash_search.cpp:55
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    int hash_search(int key, int *counter)
    +
    #define MAX
    Determines how much data.
    +
    int data[MAX]
    test data
    +
    void create_list(int key)
    +

    Variable Documentation

    @@ -406,8 +450,28 @@ Here is the call graph for this function:

    test data

    -
    24{1, 10, 15, 5, 8, 7}; //!< test data
    + +

    Definition at line 24 of file hash_search.cpp.

    +
    24{1, 10, 15, 5, 8, 7};
    +
    +
    + +

    ◆ hashtab

    + +
    +
    + + + + +
    node hashtab[HASHMAX]
    +
    + +

    array of nodes

    + +

    Definition at line 35 of file hash_search.cpp.

    +
    diff --git a/d1/df3/hash__search_8cpp_a36ea13c16028f18ef2d5ff47f3fda7a2_cgraph.map b/d1/df3/hash__search_8cpp_a36ea13c16028f18ef2d5ff47f3fda7a2_cgraph.map deleted file mode 100644 index 9f703544e..000000000 --- a/d1/df3/hash__search_8cpp_a36ea13c16028f18ef2d5ff47f3fda7a2_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d1/df3/hash__search_8cpp_a36ea13c16028f18ef2d5ff47f3fda7a2_cgraph.md5 b/d1/df3/hash__search_8cpp_a36ea13c16028f18ef2d5ff47f3fda7a2_cgraph.md5 deleted file mode 100644 index bfdb47332..000000000 --- a/d1/df3/hash__search_8cpp_a36ea13c16028f18ef2d5ff47f3fda7a2_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -cc083f0c40114bf7af529f860051e4eb \ No newline at end of file diff --git a/d1/df3/hash__search_8cpp_a36ea13c16028f18ef2d5ff47f3fda7a2_cgraph.svg b/d1/df3/hash__search_8cpp_a36ea13c16028f18ef2d5ff47f3fda7a2_cgraph.svg deleted file mode 100644 index 36afafcc7..000000000 --- a/d1/df3/hash__search_8cpp_a36ea13c16028f18ef2d5ff47f3fda7a2_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -hash_search - - -Node1 - - -hash_search - - - - - -Node2 - - -h - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d1/df3/hash__search_8cpp_a36ea13c16028f18ef2d5ff47f3fda7a2_cgraph_org.svg b/d1/df3/hash__search_8cpp_a36ea13c16028f18ef2d5ff47f3fda7a2_cgraph_org.svg deleted file mode 100644 index 4afdd27ed..000000000 --- a/d1/df3/hash__search_8cpp_a36ea13c16028f18ef2d5ff47f3fda7a2_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -hash_search - - -Node1 - - -hash_search - - - - - -Node2 - - -h - - - - - -Node1->Node2 - - - - - - - - diff --git a/d1/df3/hash__search_8cpp_ad0831425f1389166a9518f422d0c6ec5_cgraph.map b/d1/df3/hash__search_8cpp_ad0831425f1389166a9518f422d0c6ec5_cgraph.map deleted file mode 100644 index a8f468ebd..000000000 --- a/d1/df3/hash__search_8cpp_ad0831425f1389166a9518f422d0c6ec5_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d1/df3/hash__search_8cpp_ad0831425f1389166a9518f422d0c6ec5_cgraph.md5 b/d1/df3/hash__search_8cpp_ad0831425f1389166a9518f422d0c6ec5_cgraph.md5 deleted file mode 100644 index 1de9c3475..000000000 --- a/d1/df3/hash__search_8cpp_ad0831425f1389166a9518f422d0c6ec5_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -94ce1abff25351e87a5082ac36298289 \ No newline at end of file diff --git a/d1/df3/hash__search_8cpp_ad0831425f1389166a9518f422d0c6ec5_cgraph.svg b/d1/df3/hash__search_8cpp_ad0831425f1389166a9518f422d0c6ec5_cgraph.svg deleted file mode 100644 index 63e2810ce..000000000 --- a/d1/df3/hash__search_8cpp_ad0831425f1389166a9518f422d0c6ec5_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -create_list - - -Node1 - - -create_list - - - - - -Node2 - - -h - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d1/df3/hash__search_8cpp_ad0831425f1389166a9518f422d0c6ec5_cgraph_org.svg b/d1/df3/hash__search_8cpp_ad0831425f1389166a9518f422d0c6ec5_cgraph_org.svg deleted file mode 100644 index e0e7ba427..000000000 --- a/d1/df3/hash__search_8cpp_ad0831425f1389166a9518f422d0c6ec5_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -create_list - - -Node1 - - -create_list - - - - - -Node2 - - -h - - - - - -Node1->Node2 - - - - - - - - diff --git a/d1/df3/hash__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d1/df3/hash__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 5583d25bd..000000000 --- a/d1/df3/hash__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - - - diff --git a/d1/df3/hash__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d1/df3/hash__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index 00f79a2cf..000000000 --- a/d1/df3/hash__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -3d50ff14bb4892772bd3400c43ad67f7 \ No newline at end of file diff --git a/d1/df3/hash__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d1/df3/hash__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index b6e6d55e7..000000000 --- a/d1/df3/hash__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,128 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -create_list - - - - - -Node1->Node2 - - - - - - - - -Node4 - - -std::endl - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -hash_search - - - - - -Node1->Node5 - - - - - - - - -Node3 - - -h - - - - - -Node2->Node3 - - - - - - - - -Node5->Node3 - - - - - - - - - - - - - diff --git a/d1/df3/hash__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d1/df3/hash__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 660954ca1..000000000 --- a/d1/df3/hash__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,102 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -create_list - - - - - -Node1->Node2 - - - - - - - - -Node4 - - -std::endl - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -hash_search - - - - - -Node1->Node5 - - - - - - - - -Node3 - - -h - - - - - -Node2->Node3 - - - - - - - - -Node5->Node3 - - - - - - - - diff --git a/d1/df3/hash__search_8cpp_source.html b/d1/df3/hash__search_8cpp_source.html new file mode 100644 index 000000000..93d5a9a05 --- /dev/null +++ b/d1/df3/hash__search_8cpp_source.html @@ -0,0 +1,259 @@ + + + + + + + + +TheAlgorithms/C++: search/hash_search.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    hash_search.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    18#include <cstdlib>
    +
    19#include <iostream>
    +
    20
    +
    21#define MAX 6
    +
    22#define HASHMAX 5
    +
    23
    +
    24int data[MAX] = {1, 10, 15, 5, 8, 7};
    +
    25
    +
    +
    29typedef struct list {
    +
    30 int key;
    +
    31 struct list* next;
    + +
    + +
    34
    + +
    36
    +
    37// int counter = 1;
    +
    38
    +
    45int h(int key) { return key % HASHMAX; }
    +
    46
    +
    +
    55void create_list(int key) { // Construct hash table
    +
    56 link p, n;
    +
    57 int index;
    +
    58 n = (link)malloc(sizeof(node));
    +
    59 n->key = key;
    +
    60 n->next = NULL;
    +
    61 index = h(key);
    +
    62 p = hashtab[index].next;
    +
    63 if (p != NULL) {
    +
    64 n->next = p;
    +
    65 hashtab[index].next = n;
    +
    66 } else {
    +
    67 hashtab[index].next = n;
    +
    68 }
    +
    69}
    +
    +
    70
    +
    +
    76int hash_search(int key, int* counter) { // Hash lookup function
    +
    77 link pointer;
    +
    78 int index;
    +
    79
    +
    80 *counter = 0;
    +
    81 index = h(key);
    +
    82 pointer = hashtab[index].next;
    +
    83
    +
    84 std::cout << "data[" << index << "]:";
    +
    85
    +
    86 while (pointer != NULL) {
    +
    87 counter[0]++;
    +
    88 std::cout << "data[" << pointer->key << "]:";
    +
    89 if (pointer->key == key)
    +
    90 return 1;
    +
    91 else
    +
    92 pointer = pointer->next;
    +
    93 }
    +
    94
    +
    95 return 0;
    +
    96}
    +
    +
    97
    +
    +
    99int main() {
    +
    100 link p;
    +
    101 int key, index, i, counter; // Key is the value to be found
    +
    102 index = 0;
    +
    103
    +
    104 // You can write the input mode here
    +
    105 while (index < MAX) { // Construct hash table
    +
    106 create_list(data[index]);
    +
    107 index++;
    +
    108 }
    +
    109
    +
    110 for (i = 0; i < HASHMAX; i++) { // Output hash table
    +
    111 std::cout << "hashtab [" << i << "]\n";
    +
    112
    +
    113 p = hashtab[i].next;
    +
    114
    +
    115 while (p != NULL) {
    +
    116 std::cout << "please int key:";
    +
    117 if (p->key > 0)
    +
    118 std::cout << "[" << p->key << "]";
    +
    119 p = p->next;
    +
    120 }
    +
    121 std::cout << std::endl;
    +
    122 }
    +
    123
    +
    124 while (key != -1) {
    +
    125 // You can write the input mode here
    +
    126 // test key = 10
    +
    127 key = 10;
    +
    128 if (hash_search(key, &counter))
    +
    129 std::cout << "search time = " << counter << std::endl;
    +
    130 else
    +
    131 std::cout << "no found!\n";
    +
    132 key = -1; // Exit test
    +
    133 /* The test sample is returned as:
    +
    134 * data[0]:data[5]:data[15]:data[10]:search time = 3 The search is
    +
    135 * successful. There are 10 in this set of data */
    +
    136 }
    +
    137
    +
    138 return 0;
    +
    139}
    +
    +
    int hash_search(int key, int *counter)
    +
    #define MAX
    Determines how much data.
    +
    int h(int key)
    +
    int data[MAX]
    test data
    +
    #define HASHMAX
    Determines the length of the hash table.
    +
    struct list node
    +
    void create_list(int key)
    +
    struct list * link
    pointer to nodes
    +
    int main()
    +
    node hashtab[HASHMAX]
    array of nodes
    + +
    struct list * next
    pointer to next link in the chain
    +
    int key
    key value for node
    + +
    +
    + + + + diff --git a/d1/df5/classbacktracking_1_1generate__parentheses__coll__graph.map b/d1/df5/classbacktracking_1_1generate__parentheses__coll__graph.map index 117830e8e..7f429ca37 100644 --- a/d1/df5/classbacktracking_1_1generate__parentheses__coll__graph.map +++ b/d1/df5/classbacktracking_1_1generate__parentheses__coll__graph.map @@ -1,9 +1,9 @@ - + - + - + diff --git a/d1/df5/classbacktracking_1_1generate__parentheses__coll__graph.md5 b/d1/df5/classbacktracking_1_1generate__parentheses__coll__graph.md5 index 1ae2b8112..c9e2e55dc 100644 --- a/d1/df5/classbacktracking_1_1generate__parentheses__coll__graph.md5 +++ b/d1/df5/classbacktracking_1_1generate__parentheses__coll__graph.md5 @@ -1 +1 @@ -0f14ae3d3756260ff6d03fd21aa3f452 \ No newline at end of file +539309940b12abfde1ed39f5cbccb73c \ No newline at end of file diff --git a/d1/df5/classbacktracking_1_1generate__parentheses__coll__graph.svg b/d1/df5/classbacktracking_1_1generate__parentheses__coll__graph.svg index 42350f6d5..0c1337828 100644 --- a/d1/df5/classbacktracking_1_1generate__parentheses__coll__graph.svg +++ b/d1/df5/classbacktracking_1_1generate__parentheses__coll__graph.svg @@ -32,7 +32,7 @@ Node2 - + std::vector< std::string > @@ -51,7 +51,7 @@ Node3 - + std::string @@ -70,7 +70,7 @@ Node4 - + std::basic_string< Char > diff --git a/d1/df5/classbacktracking_1_1generate__parentheses__coll__graph_org.svg b/d1/df5/classbacktracking_1_1generate__parentheses__coll__graph_org.svg index 71bc83bf7..c84a3b2c1 100644 --- a/d1/df5/classbacktracking_1_1generate__parentheses__coll__graph_org.svg +++ b/d1/df5/classbacktracking_1_1generate__parentheses__coll__graph_org.svg @@ -21,7 +21,7 @@ Node2 - + std::vector< std::string > @@ -40,7 +40,7 @@ Node3 - + std::string @@ -59,7 +59,7 @@ Node4 - + std::basic_string< Char > diff --git a/d1/df6/class_easter_year_month_day.html b/d1/df6/class_easter_year_month_day.html index 28dd80a78..314a95c8d 100644 --- a/d1/df6/class_easter_year_month_day.html +++ b/d1/df6/class_easter_year_month_day.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: EasterYearMonthDay Class Reference +TheAlgorithms/C++: EasterYearMonthDay Class Reference + + + @@ -18,14 +24,24 @@ - - + +
    + +

    Definition at line 33 of file easter.cpp.

    33 {
    34 year = newYear; // Assigns year to class
    35 month = newMonth;
    36 day = newDay;
    37 }
    -
    uint64_t month
    month Easter is on
    Definition easter.cpp:30
    -
    uint64_t year
    year Easter is on
    Definition easter.cpp:29
    -
    uint64_t day
    day Easter is on
    Definition easter.cpp:31
    +
    uint64_t month
    month Easter is on
    Definition easter.cpp:30
    +
    uint64_t year
    year Easter is on
    Definition easter.cpp:29
    +
    uint64_t day
    day Easter is on
    Definition easter.cpp:31
    +
    + +

    Member Data Documentation

    + +

    ◆ day

    + +
    +
    + + + + +
    uint64_t EasterYearMonthDay::day
    +
    + +

    day Easter is on

    + +

    Definition at line 31 of file easter.cpp.

    + +
    +
    + +

    ◆ month

    + +
    +
    + + + + +
    uint64_t EasterYearMonthDay::month
    +
    + +

    month Easter is on

    + +

    Definition at line 30 of file easter.cpp.

    + +
    +
    + +

    ◆ year

    + +
    +
    + + + + +
    uint64_t EasterYearMonthDay::year
    +
    + +

    year Easter is on

    + +

    Definition at line 29 of file easter.cpp.

    +

    The documentation for this class was generated from the following file: diff --git a/d2/d05/class_min_heap.html b/d2/d05/class_min_heap.html index 65135c7da..742f741ac 100644 --- a/d2/d05/class_min_heap.html +++ b/d2/d05/class_min_heap.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: MinHeap Class Reference +TheAlgorithms/C++: MinHeap Class Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -137,21 +154,20 @@ Public Member Functions
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    - - + + - - + + - - + +

    Private Attributes

    -int * harr
     pointer to array of elements in heap
    int * harr
     pointer to array of elements in heap
     
    -int capacity
     maximum possible size of min heap
    int capacity
     maximum possible size of min heap
     
    -int heap_size
     Current number of elements in min heap.
    int heap_size
     Current number of elements in min heap.
     

    Detailed Description

    A class for Min Heap

    + +

    Definition at line 10 of file binaryheap.cpp.

    Constructor & Destructor Documentation

    ◆ MinHeap()

    @@ -181,14 +197,16 @@ int heap_size + +

    Definition at line 19 of file binaryheap.cpp.

    19 {
    20 heap_size = 0;
    21 capacity = cap;
    22 harr = new int[cap];
    23 }
    -
    int * harr
    pointer to array of elements in heap
    Definition binaryheap.cpp:11
    -
    int capacity
    maximum possible size of min heap
    Definition binaryheap.cpp:12
    -
    int heap_size
    Current number of elements in min heap.
    Definition binaryheap.cpp:13
    +
    int * harr
    pointer to array of elements in heap
    +
    int capacity
    maximum possible size of min heap
    +
    int heap_size
    Current number of elements in min heap.
    @@ -214,6 +232,8 @@ int heap_size
    + +

    Definition at line 51 of file binaryheap.cpp.

    51{ delete[] harr; }
    @@ -239,20 +259,16 @@ int heap_size

    Decreases key value of key at index i to new_val

    Decreases value of key at index 'i' to new_val. It is assumed that new_val is smaller than harr[i].

    + +

    Definition at line 76 of file binaryheap.cpp.

    76 {
    77 harr[i] = new_val;
    78 while (i != 0 && harr[parent(i)] > harr[i]) {
    -
    79 std::swap(harr[i], harr[parent(i)]);
    +
    79 std::swap(harr[i], harr[parent(i)]);
    80 i = parent(i);
    81 }
    82}
    -
    T swap(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    @@ -271,18 +287,15 @@ Here is the call graph for this function:

    Deletes a key stored at index i

    This function deletes key at index i. It first reduced value to minus infinite, then calls extractMin()

    + +

    Definition at line 105 of file binaryheap.cpp.

    105 {
    106 decreaseKey(i, INT_MIN);
    107 extractMin();
    108}
    -
    int extractMin()
    Definition binaryheap.cpp:85
    -
    void decreaseKey(int i, int new_val)
    Definition binaryheap.cpp:76
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    int extractMin()
    +
    void decreaseKey(int i, int new_val)
    +
    @@ -300,6 +313,8 @@ Here is the call graph for this function:

    to extract the root which is the minimum element

    + +

    Definition at line 85 of file binaryheap.cpp.

    85 {
    86 if (heap_size <= 0)
    87 return INT_MAX;
    @@ -316,13 +331,8 @@ Here is the call graph for this function:
    98
    99 return root;
    100}
    -
    void MinHeapify(int)
    Definition binaryheap.cpp:113
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    void MinHeapify(int)
    + @@ -348,6 +358,8 @@ Here is the call graph for this function:

    Returns the minimum key (key at root) from min heap

    + +

    Definition at line 43 of file binaryheap.cpp.

    43{ return harr[0]; }
    @@ -367,9 +379,11 @@ Here is the call graph for this function:

    Inserts a new key 'k'

    + +

    Definition at line 55 of file binaryheap.cpp.

    55 {
    56 if (heap_size == capacity) {
    -
    57 std::cout << "\nOverflow: Could not insertKey\n";
    +
    57 std::cout << "\nOverflow: Could not insertKey\n";
    58 return;
    59 }
    60
    @@ -380,18 +394,12 @@ Here is the call graph for this function:
    65
    66 // Fix the min heap property if it is violated
    67 while (i != 0 && harr[parent(i)] > harr[i]) {
    -
    68 std::swap(harr[i], harr[parent(i)]);
    +
    68 std::swap(harr[i], harr[parent(i)]);
    69 i = parent(i);
    70 }
    71}
    - -
    double k(double x)
    Another test function.
    Definition composite_simpson_rule.cpp:117
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    double k(double x)
    Another test function.
    + @@ -417,6 +425,8 @@ Here is the call graph for this function:

    to get index of left child of node at index i

    + +

    Definition at line 31 of file binaryheap.cpp.

    31{ return (2 * i + 1); }
    @@ -437,6 +447,8 @@ Here is the call graph for this function:

    to heapify a subtree with the root at given index

    A recursive method to heapify a subtree with the root at given index This method assumes that the subtrees are already heapified

    + +

    Definition at line 113 of file binaryheap.cpp.

    113 {
    114 int l = left(i);
    115 int r = right(i);
    @@ -446,19 +458,14 @@ Here is the call graph for this function:
    119 if (r < heap_size && harr[r] < harr[smallest])
    120 smallest = r;
    121 if (smallest != i) {
    -
    122 std::swap(harr[i], harr[smallest]);
    +
    122 std::swap(harr[i], harr[smallest]);
    123 MinHeapify(smallest);
    124 }
    125}
    -
    int left(int i)
    Definition binaryheap.cpp:31
    -
    int right(int i)
    Definition binaryheap.cpp:34
    -
    double l(double x)
    Another test function.
    Definition composite_simpson_rule.cpp:119
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    int left(int i)
    +
    int right(int i)
    +
    double l(double x)
    Another test function.
    + @@ -483,6 +490,8 @@ Here is the call graph for this function:
    + +

    Definition at line 28 of file binaryheap.cpp.

    28{ return (i - 1) / 2; }
    @@ -510,12 +519,93 @@ Here is the call graph for this function:

    to get index of right child of node at index i

    + +

    Definition at line 34 of file binaryheap.cpp.

    34{ return (2 * i + 2); }
    +
    + +

    Member Data Documentation

    + +

    ◆ capacity

    + +
    +
    + + + + + +
    + + + + +
    int MinHeap::capacity
    +
    +private
    +
    + +

    maximum possible size of min heap

    + +

    Definition at line 12 of file binaryheap.cpp.

    + +
    +
    + +

    ◆ harr

    + +
    +
    + + + + + +
    + + + + +
    int* MinHeap::harr
    +
    +private
    +
    + +

    pointer to array of elements in heap

    + +

    Definition at line 11 of file binaryheap.cpp.

    + +
    +
    + +

    ◆ heap_size

    + +
    +
    + + + + + +
    + + + + +
    int MinHeap::heap_size
    +
    +private
    +
    + +

    Current number of elements in min heap.

    + +

    Definition at line 13 of file binaryheap.cpp.

    +

    The documentation for this class was generated from the following file: diff --git a/d2/d05/class_min_heap_a37ac126eabb0c3ce04047172abccca29_cgraph.map b/d2/d05/class_min_heap_a37ac126eabb0c3ce04047172abccca29_cgraph.map deleted file mode 100644 index a65352322..000000000 --- a/d2/d05/class_min_heap_a37ac126eabb0c3ce04047172abccca29_cgraph.map +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - - - - - diff --git a/d2/d05/class_min_heap_a37ac126eabb0c3ce04047172abccca29_cgraph.md5 b/d2/d05/class_min_heap_a37ac126eabb0c3ce04047172abccca29_cgraph.md5 deleted file mode 100644 index 397b7ba64..000000000 --- a/d2/d05/class_min_heap_a37ac126eabb0c3ce04047172abccca29_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -e6e0cdfeb0093b8caaeeb886f65f4400 \ No newline at end of file diff --git a/d2/d05/class_min_heap_a37ac126eabb0c3ce04047172abccca29_cgraph.svg b/d2/d05/class_min_heap_a37ac126eabb0c3ce04047172abccca29_cgraph.svg deleted file mode 100644 index c6823c055..000000000 --- a/d2/d05/class_min_heap_a37ac126eabb0c3ce04047172abccca29_cgraph.svg +++ /dev/null @@ -1,230 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -MinHeap::deleteKey - - -Node1 - - -MinHeap::deleteKey - - - - - -Node2 - - -MinHeap::decreaseKey - - - - - -Node1->Node2 - - - - - - - - -Node4 - - -MinHeap::extractMin - - - - - -Node1->Node4 - - - - - - - - -Node3 - - -std::swap - - - - - -Node2->Node3 - - - - - - - - -Node5 - - -MinHeap::MinHeapify - - - - - -Node4->Node5 - - - - - - - - -Node5->Node3 - - - - - - - - -Node5->Node5 - - - - - - - - -Node6 - - -MinHeap::left - - - - - -Node5->Node6 - - - - - - - - -Node7 - - -MinHeap::right - - - - - -Node5->Node7 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d2/d05/class_min_heap_a37ac126eabb0c3ce04047172abccca29_cgraph_org.svg b/d2/d05/class_min_heap_a37ac126eabb0c3ce04047172abccca29_cgraph_org.svg deleted file mode 100644 index 75de37c24..000000000 --- a/d2/d05/class_min_heap_a37ac126eabb0c3ce04047172abccca29_cgraph_org.svg +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - -MinHeap::deleteKey - - -Node1 - - -MinHeap::deleteKey - - - - - -Node2 - - -MinHeap::decreaseKey - - - - - -Node1->Node2 - - - - - - - - -Node4 - - -MinHeap::extractMin - - - - - -Node1->Node4 - - - - - - - - -Node3 - - -std::swap - - - - - -Node2->Node3 - - - - - - - - -Node5 - - -MinHeap::MinHeapify - - - - - -Node4->Node5 - - - - - - - - -Node5->Node3 - - - - - - - - -Node5->Node5 - - - - - - - - -Node6 - - -MinHeap::left - - - - - -Node5->Node6 - - - - - - - - -Node7 - - -MinHeap::right - - - - - -Node5->Node7 - - - - - - - - diff --git a/d2/d05/class_min_heap_a4014f1edaed0bd7db0c0d2ca53228980_cgraph.map b/d2/d05/class_min_heap_a4014f1edaed0bd7db0c0d2ca53228980_cgraph.map deleted file mode 100644 index 221381ab5..000000000 --- a/d2/d05/class_min_heap_a4014f1edaed0bd7db0c0d2ca53228980_cgraph.map +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - - - diff --git a/d2/d05/class_min_heap_a4014f1edaed0bd7db0c0d2ca53228980_cgraph.md5 b/d2/d05/class_min_heap_a4014f1edaed0bd7db0c0d2ca53228980_cgraph.md5 deleted file mode 100644 index 4544e6444..000000000 --- a/d2/d05/class_min_heap_a4014f1edaed0bd7db0c0d2ca53228980_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -325a6ef9c217b5b6c81035c0feddd5df \ No newline at end of file diff --git a/d2/d05/class_min_heap_a4014f1edaed0bd7db0c0d2ca53228980_cgraph.svg b/d2/d05/class_min_heap_a4014f1edaed0bd7db0c0d2ca53228980_cgraph.svg deleted file mode 100644 index 6cbb673d6..000000000 --- a/d2/d05/class_min_heap_a4014f1edaed0bd7db0c0d2ca53228980_cgraph.svg +++ /dev/null @@ -1,128 +0,0 @@ - - - - - - - - - - - - -MinHeap::extractMin - - -Node1 - - -MinHeap::extractMin - - - - - -Node2 - - -MinHeap::MinHeapify - - - - - -Node1->Node2 - - - - - - - - -Node2->Node2 - - - - - - - - -Node3 - - -MinHeap::left - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -MinHeap::right - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -std::swap - - - - - -Node2->Node5 - - - - - - - - - - - - - diff --git a/d2/d05/class_min_heap_a4014f1edaed0bd7db0c0d2ca53228980_cgraph_org.svg b/d2/d05/class_min_heap_a4014f1edaed0bd7db0c0d2ca53228980_cgraph_org.svg deleted file mode 100644 index 7ac91923a..000000000 --- a/d2/d05/class_min_heap_a4014f1edaed0bd7db0c0d2ca53228980_cgraph_org.svg +++ /dev/null @@ -1,102 +0,0 @@ - - - - - - -MinHeap::extractMin - - -Node1 - - -MinHeap::extractMin - - - - - -Node2 - - -MinHeap::MinHeapify - - - - - -Node1->Node2 - - - - - - - - -Node2->Node2 - - - - - - - - -Node3 - - -MinHeap::left - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -MinHeap::right - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -std::swap - - - - - -Node2->Node5 - - - - - - - - diff --git a/d2/d05/class_min_heap_aa7f726cc6327955d22871592227432f5_cgraph.map b/d2/d05/class_min_heap_aa7f726cc6327955d22871592227432f5_cgraph.map deleted file mode 100644 index 2f091f797..000000000 --- a/d2/d05/class_min_heap_aa7f726cc6327955d22871592227432f5_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d2/d05/class_min_heap_aa7f726cc6327955d22871592227432f5_cgraph.md5 b/d2/d05/class_min_heap_aa7f726cc6327955d22871592227432f5_cgraph.md5 deleted file mode 100644 index f3e40a1f6..000000000 --- a/d2/d05/class_min_heap_aa7f726cc6327955d22871592227432f5_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -a8505d3f12ecdb96135803b402b566aa \ No newline at end of file diff --git a/d2/d05/class_min_heap_aa7f726cc6327955d22871592227432f5_cgraph.svg b/d2/d05/class_min_heap_aa7f726cc6327955d22871592227432f5_cgraph.svg deleted file mode 100644 index 202bed15c..000000000 --- a/d2/d05/class_min_heap_aa7f726cc6327955d22871592227432f5_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -MinHeap::decreaseKey - - -Node1 - - -MinHeap::decreaseKey - - - - - -Node2 - - -std::swap - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d2/d05/class_min_heap_aa7f726cc6327955d22871592227432f5_cgraph_org.svg b/d2/d05/class_min_heap_aa7f726cc6327955d22871592227432f5_cgraph_org.svg deleted file mode 100644 index 02698ae61..000000000 --- a/d2/d05/class_min_heap_aa7f726cc6327955d22871592227432f5_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -MinHeap::decreaseKey - - -Node1 - - -MinHeap::decreaseKey - - - - - -Node2 - - -std::swap - - - - - -Node1->Node2 - - - - - - - - diff --git a/d2/d05/class_min_heap_aaef438c1056492cb62c4a4d9035b5cad_cgraph.map b/d2/d05/class_min_heap_aaef438c1056492cb62c4a4d9035b5cad_cgraph.map deleted file mode 100644 index 5fc12ff51..000000000 --- a/d2/d05/class_min_heap_aaef438c1056492cb62c4a4d9035b5cad_cgraph.map +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/d2/d05/class_min_heap_aaef438c1056492cb62c4a4d9035b5cad_cgraph.md5 b/d2/d05/class_min_heap_aaef438c1056492cb62c4a4d9035b5cad_cgraph.md5 deleted file mode 100644 index c5a3c45d9..000000000 --- a/d2/d05/class_min_heap_aaef438c1056492cb62c4a4d9035b5cad_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -7fac5552561d78a4c2b59c95372c9033 \ No newline at end of file diff --git a/d2/d05/class_min_heap_aaef438c1056492cb62c4a4d9035b5cad_cgraph.svg b/d2/d05/class_min_heap_aaef438c1056492cb62c4a4d9035b5cad_cgraph.svg deleted file mode 100644 index 6e04cd718..000000000 --- a/d2/d05/class_min_heap_aaef438c1056492cb62c4a4d9035b5cad_cgraph.svg +++ /dev/null @@ -1,110 +0,0 @@ - - - - - - - - - - - - -MinHeap::MinHeapify - - -Node1 - - -MinHeap::MinHeapify - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -MinHeap::left - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -MinHeap::right - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::swap - - - - - -Node1->Node4 - - - - - - - - - - - - - diff --git a/d2/d05/class_min_heap_aaef438c1056492cb62c4a4d9035b5cad_cgraph_org.svg b/d2/d05/class_min_heap_aaef438c1056492cb62c4a4d9035b5cad_cgraph_org.svg deleted file mode 100644 index d86872333..000000000 --- a/d2/d05/class_min_heap_aaef438c1056492cb62c4a4d9035b5cad_cgraph_org.svg +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - -MinHeap::MinHeapify - - -Node1 - - -MinHeap::MinHeapify - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -MinHeap::left - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -MinHeap::right - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::swap - - - - - -Node1->Node4 - - - - - - - - diff --git a/d2/d05/class_min_heap_aef78f3384f5a0ae880ad0883d2d44b82_cgraph.map b/d2/d05/class_min_heap_aef78f3384f5a0ae880ad0883d2d44b82_cgraph.map deleted file mode 100644 index 2e3b9378c..000000000 --- a/d2/d05/class_min_heap_aef78f3384f5a0ae880ad0883d2d44b82_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d2/d05/class_min_heap_aef78f3384f5a0ae880ad0883d2d44b82_cgraph.md5 b/d2/d05/class_min_heap_aef78f3384f5a0ae880ad0883d2d44b82_cgraph.md5 deleted file mode 100644 index 957b2b6e1..000000000 --- a/d2/d05/class_min_heap_aef78f3384f5a0ae880ad0883d2d44b82_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -14128a93234d6975f4dbad29019fcef8 \ No newline at end of file diff --git a/d2/d05/class_min_heap_aef78f3384f5a0ae880ad0883d2d44b82_cgraph.svg b/d2/d05/class_min_heap_aef78f3384f5a0ae880ad0883d2d44b82_cgraph.svg deleted file mode 100644 index de6b680e3..000000000 --- a/d2/d05/class_min_heap_aef78f3384f5a0ae880ad0883d2d44b82_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -MinHeap::insertKey - - -Node1 - - -MinHeap::insertKey - - - - - -Node2 - - -std::swap - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d2/d05/class_min_heap_aef78f3384f5a0ae880ad0883d2d44b82_cgraph_org.svg b/d2/d05/class_min_heap_aef78f3384f5a0ae880ad0883d2d44b82_cgraph_org.svg deleted file mode 100644 index 88deb7a95..000000000 --- a/d2/d05/class_min_heap_aef78f3384f5a0ae880ad0883d2d44b82_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -MinHeap::insertKey - - -Node1 - - -MinHeap::insertKey - - - - - -Node2 - - -std::swap - - - - - -Node1->Node2 - - - - - - - - diff --git a/d2/d0b/fast__power_8cpp.html b/d2/d0b/fast__power_8cpp.html index ff04594a2..c47fd5f73 100644 --- a/d2/d0b/fast__power_8cpp.html +++ b/d2/d0b/fast__power_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: math/fast_power.cpp File Reference +TheAlgorithms/C++: math/fast_power.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -123,7 +140,9 @@ Include dependency graph for fast_power.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -143,6 +162,8 @@ Functions \cdot a^\frac{b-1}{2} \cdot a = {a^\frac{b-1}{2}}^2 \cdot a\)

    We can compute \(a^b\) recursively using above algorithm.

    + +

    Definition in file fast_power.cpp.

    Function Documentation

    ◆ fast_power_linear()

    @@ -165,6 +186,8 @@ template<typename T >

    Functions

    template<typename T >

    Same algorithm with little different formula. It still calculates in \(O(\log N)\)

    + +

    Definition at line 50 of file fast_power.cpp.

    50 {
    51 // negative power. a^b = 1 / (a^-b)
    52 if (b < 0)
    @@ -179,14 +202,9 @@ template<typename T >
    61 }
    62 return result;
    63}
    -
    double fast_power_linear(T a, T b)
    Definition fast_power.cpp:50
    -
    uint64_t result(uint64_t n)
    Definition fibonacci_sum.cpp:77
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    double fast_power_linear(T a, T b)
    +
    uint64_t result(uint64_t n)
    + @@ -210,6 +228,8 @@ template<typename T >

    algorithm implementation for \(a^b\)

    + +

    Definition at line 26 of file fast_power.cpp.

    26 {
    27 // negative power. a^b = 1 / (a^-b)
    28 if (b < 0)
    @@ -228,13 +248,8 @@ template<typename T >
    41 result = bottom * bottom * a;
    42 return result;
    43}
    -
    double fast_power_recursive(T a, T b)
    Definition fast_power.cpp:26
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    double fast_power_recursive(T a, T b)
    + @@ -252,46 +267,35 @@ Here is the call graph for this function:

    Main function

    + +

    Definition at line 68 of file fast_power.cpp.

    68 {
    -
    69 std::srand(std::time(nullptr));
    - +
    69 std::srand(std::time(nullptr));
    +
    70 std::ios_base::sync_with_stdio(false);
    71
    -
    72 std::cout << "Testing..." << std::endl;
    +
    72 std::cout << "Testing..." << std::endl;
    73 for (int i = 0; i < 20; i++) {
    -
    74 int a = std::rand() % 20 - 10;
    -
    75 int b = std::rand() % 20 - 10;
    -
    76 std::cout << std::endl << "Calculating " << a << "^" << b << std::endl;
    -
    77 assert(fast_power_recursive(a, b) == std::pow(a, b));
    -
    78 assert(fast_power_linear(a, b) == std::pow(a, b));
    +
    74 int a = std::rand() % 20 - 10;
    +
    75 int b = std::rand() % 20 - 10;
    +
    76 std::cout << std::endl << "Calculating " << a << "^" << b << std::endl;
    +
    77 assert(fast_power_recursive(a, b) == std::pow(a, b));
    +
    78 assert(fast_power_linear(a, b) == std::pow(a, b));
    79
    -
    80 std::cout << "------ " << a << "^" << b << " = "
    - +
    80 std::cout << "------ " << a << "^" << b << " = "
    +
    81 << fast_power_recursive(a, b) << std::endl;
    82 }
    83
    84 int64_t a, b;
    -
    85 std::cin >> a >> b;
    +
    85 std::cin >> a >> b;
    86
    -
    87 std::cout << a << "^" << b << " = " << fast_power_recursive(a, b)
    -
    88 << std::endl;
    +
    87 std::cout << a << "^" << b << " = " << fast_power_recursive(a, b)
    +
    88 << std::endl;
    89
    -
    90 std::cout << a << "^" << b << " = " << fast_power_linear(a, b) << std::endl;
    +
    90 std::cout << a << "^" << b << " = " << fast_power_linear(a, b) << std::endl;
    91
    92 return 0;
    93}
    - - -
    T endl(T... args)
    -
    T pow(T... args)
    -
    T rand(T... args)
    -
    T srand(T... args)
    -
    T sync_with_stdio(T... args)
    -
    T time(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    diff --git a/d2/d0b/fast__power_8cpp_a0d4e3f0099a6975b74a314a35bd0f94d_cgraph.map b/d2/d0b/fast__power_8cpp_a0d4e3f0099a6975b74a314a35bd0f94d_cgraph.map deleted file mode 100644 index 18d95ec31..000000000 --- a/d2/d0b/fast__power_8cpp_a0d4e3f0099a6975b74a314a35bd0f94d_cgraph.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/d2/d0b/fast__power_8cpp_a0d4e3f0099a6975b74a314a35bd0f94d_cgraph.md5 b/d2/d0b/fast__power_8cpp_a0d4e3f0099a6975b74a314a35bd0f94d_cgraph.md5 deleted file mode 100644 index baa2223b4..000000000 --- a/d2/d0b/fast__power_8cpp_a0d4e3f0099a6975b74a314a35bd0f94d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -ce73acb2abd90b8bc28833f851011888 \ No newline at end of file diff --git a/d2/d0b/fast__power_8cpp_a0d4e3f0099a6975b74a314a35bd0f94d_cgraph.svg b/d2/d0b/fast__power_8cpp_a0d4e3f0099a6975b74a314a35bd0f94d_cgraph.svg deleted file mode 100644 index 51b199c0c..000000000 --- a/d2/d0b/fast__power_8cpp_a0d4e3f0099a6975b74a314a35bd0f94d_cgraph.svg +++ /dev/null @@ -1,56 +0,0 @@ - - - - - - - - - - - - -fast_power_linear - - -Node1 - - -fast_power_linear - - - - - -Node1->Node1 - - - - - - - - - - - - - diff --git a/d2/d0b/fast__power_8cpp_a0d4e3f0099a6975b74a314a35bd0f94d_cgraph_org.svg b/d2/d0b/fast__power_8cpp_a0d4e3f0099a6975b74a314a35bd0f94d_cgraph_org.svg deleted file mode 100644 index 0a6c80f98..000000000 --- a/d2/d0b/fast__power_8cpp_a0d4e3f0099a6975b74a314a35bd0f94d_cgraph_org.svg +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - -fast_power_linear - - -Node1 - - -fast_power_linear - - - - - -Node1->Node1 - - - - - - - - diff --git a/d2/d0b/fast__power_8cpp_a8399b847626e5bba983cab7c7918b445_cgraph.map b/d2/d0b/fast__power_8cpp_a8399b847626e5bba983cab7c7918b445_cgraph.map deleted file mode 100644 index cad8907f0..000000000 --- a/d2/d0b/fast__power_8cpp_a8399b847626e5bba983cab7c7918b445_cgraph.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/d2/d0b/fast__power_8cpp_a8399b847626e5bba983cab7c7918b445_cgraph.md5 b/d2/d0b/fast__power_8cpp_a8399b847626e5bba983cab7c7918b445_cgraph.md5 deleted file mode 100644 index d5a9468de..000000000 --- a/d2/d0b/fast__power_8cpp_a8399b847626e5bba983cab7c7918b445_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -efff79a8c244e7ddc58a223805086aaf \ No newline at end of file diff --git a/d2/d0b/fast__power_8cpp_a8399b847626e5bba983cab7c7918b445_cgraph.svg b/d2/d0b/fast__power_8cpp_a8399b847626e5bba983cab7c7918b445_cgraph.svg deleted file mode 100644 index 26b49e770..000000000 --- a/d2/d0b/fast__power_8cpp_a8399b847626e5bba983cab7c7918b445_cgraph.svg +++ /dev/null @@ -1,56 +0,0 @@ - - - - - - - - - - - - -fast_power_recursive - - -Node1 - - -fast_power_recursive - - - - - -Node1->Node1 - - - - - - - - - - - - - diff --git a/d2/d0b/fast__power_8cpp_a8399b847626e5bba983cab7c7918b445_cgraph_org.svg b/d2/d0b/fast__power_8cpp_a8399b847626e5bba983cab7c7918b445_cgraph_org.svg deleted file mode 100644 index 6772a4bb9..000000000 --- a/d2/d0b/fast__power_8cpp_a8399b847626e5bba983cab7c7918b445_cgraph_org.svg +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - -fast_power_recursive - - -Node1 - - -fast_power_recursive - - - - - -Node1->Node1 - - - - - - - - diff --git a/d2/d0b/fast__power_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d2/d0b/fast__power_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 1727dc66a..000000000 --- a/d2/d0b/fast__power_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - diff --git a/d2/d0b/fast__power_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d2/d0b/fast__power_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index 9d603cf82..000000000 --- a/d2/d0b/fast__power_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -d21789d8538e8cc7c2890d62733cd9f3 \ No newline at end of file diff --git a/d2/d0b/fast__power_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d2/d0b/fast__power_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index f6077826d..000000000 --- a/d2/d0b/fast__power_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,210 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -fast_power_linear - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -fast_power_recursive - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::pow - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -std::rand - - - - - -Node1->Node6 - - - - - - - - -Node7 - - -std::srand - - - - - -Node1->Node7 - - - - - - - - -Node8 - - -std::ios_base::sync -_with_stdio - - - - - -Node1->Node8 - - - - - - - - -Node9 - - -std::time - - - - - -Node1->Node9 - - - - - - - - -Node3->Node3 - - - - - - - - -Node4->Node4 - - - - - - - - - - - - - diff --git a/d2/d0b/fast__power_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d2/d0b/fast__power_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index a9e9ecdf4..000000000 --- a/d2/d0b/fast__power_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,184 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -fast_power_linear - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -fast_power_recursive - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::pow - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -std::rand - - - - - -Node1->Node6 - - - - - - - - -Node7 - - -std::srand - - - - - -Node1->Node7 - - - - - - - - -Node8 - - -std::ios_base::sync -_with_stdio - - - - - -Node1->Node8 - - - - - - - - -Node9 - - -std::time - - - - - -Node1->Node9 - - - - - - - - -Node3->Node3 - - - - - - - - -Node4->Node4 - - - - - - - - diff --git a/d2/d0b/fast__power_8cpp_source.html b/d2/d0b/fast__power_8cpp_source.html new file mode 100644 index 000000000..503920dd2 --- /dev/null +++ b/d2/d0b/fast__power_8cpp_source.html @@ -0,0 +1,216 @@ + + + + + + + + +TheAlgorithms/C++: math/fast_power.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    fast_power.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    15#include <cassert>
    +
    16#include <cmath>
    +
    17#include <cstdint>
    +
    18#include <cstdlib>
    +
    19#include <ctime>
    +
    20#include <iostream>
    +
    21
    +
    25template <typename T>
    +
    +
    26double fast_power_recursive(T a, T b) {
    +
    27 // negative power. a^b = 1 / (a^-b)
    +
    28 if (b < 0)
    +
    29 return 1.0 / fast_power_recursive(a, -b);
    +
    30
    +
    31 if (b == 0)
    +
    32 return 1;
    +
    33 T bottom = fast_power_recursive(a, b >> 1);
    +
    34 // Since it is integer division b/2 = (b-1)/2 where b is odd.
    +
    35 // Therefore, case2 is easily solved by integer division.
    +
    36
    +
    37 double result;
    +
    38 if ((b & 1) == 0) // case1
    +
    39 result = bottom * bottom;
    +
    40 else // case2
    +
    41 result = bottom * bottom * a;
    +
    42 return result;
    +
    43}
    +
    +
    44
    +
    49template <typename T>
    +
    +
    50double fast_power_linear(T a, T b) {
    +
    51 // negative power. a^b = 1 / (a^-b)
    +
    52 if (b < 0)
    +
    53 return 1.0 / fast_power_linear(a, -b);
    +
    54
    +
    55 double result = 1;
    +
    56 while (b) {
    +
    57 if (b & 1)
    +
    58 result = result * a;
    +
    59 a = a * a;
    +
    60 b = b >> 1;
    +
    61 }
    +
    62 return result;
    +
    63}
    +
    +
    64
    +
    +
    68int main() {
    +
    69 std::srand(std::time(nullptr));
    +
    70 std::ios_base::sync_with_stdio(false);
    +
    71
    +
    72 std::cout << "Testing..." << std::endl;
    +
    73 for (int i = 0; i < 20; i++) {
    +
    74 int a = std::rand() % 20 - 10;
    +
    75 int b = std::rand() % 20 - 10;
    +
    76 std::cout << std::endl << "Calculating " << a << "^" << b << std::endl;
    +
    77 assert(fast_power_recursive(a, b) == std::pow(a, b));
    +
    78 assert(fast_power_linear(a, b) == std::pow(a, b));
    +
    79
    +
    80 std::cout << "------ " << a << "^" << b << " = "
    +
    81 << fast_power_recursive(a, b) << std::endl;
    +
    82 }
    +
    83
    +
    84 int64_t a, b;
    +
    85 std::cin >> a >> b;
    +
    86
    +
    87 std::cout << a << "^" << b << " = " << fast_power_recursive(a, b)
    +
    88 << std::endl;
    +
    89
    +
    90 std::cout << a << "^" << b << " = " << fast_power_linear(a, b) << std::endl;
    +
    91
    +
    92 return 0;
    +
    93}
    +
    +
    double fast_power_linear(T a, T b)
    +
    double fast_power_recursive(T a, T b)
    +
    int main()
    +
    +
    + + + + diff --git a/d2/d21/gnome__sort_8cpp.html b/d2/d21/gnome__sort_8cpp.html index e0dc553e6..5932ba00c 100644 --- a/d2/d21/gnome__sort_8cpp.html +++ b/d2/d21/gnome__sort_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: sorting/gnome_sort.cpp File Reference +TheAlgorithms/C++: sorting/gnome_sort.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -122,7 +139,9 @@ Include dependency graph for gnome_sort.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -135,7 +154,7 @@ Functions - + @@ -149,6 +168,8 @@ FunctionsKrishna Vedala

    Gnome sort algorithm is not the best one but it is widely used. The algorithm iteratively checks the order of pairs in the array. If they are on right order it moves to the next successive pair, otherwise it swaps elements. This operation is repeated until no more swaps are made thus indicating the values to be in ascending order.

    The time Complexity of the algorithm is \(O(n^2)\) and in some cases it can be \(O(n)\).

    + +

    Definition in file gnome_sort.cpp.

    Function Documentation

    ◆ main()

    @@ -165,17 +186,14 @@ Functions

    Namespaces

    namespace  sorting
    void sorting::gnomeSort (T *arr, int size)
     
    template<typename T , size_t size>
    std::array< T, size > sorting::gnomeSort (std::array< T, size > arr)
    std::array< T, size > sorting::gnomeSort (std::array< T, size > arr)
     
    static void test ()
     

    Our main function with example of sort method.

    + +

    Definition at line 130 of file gnome_sort.cpp.

    130 {
    131 test();
    132 return 0;
    133}
    -
    static void test()
    Definition gnome_sort.cpp:85
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static void test()
    +
    @@ -201,62 +219,51 @@ Here is the call graph for this function:

    Test function

    + +

    Definition at line 85 of file gnome_sort.cpp.

    85 {
    86 // Example 1. Creating array of int,
    -
    87 std::cout << "Test 1 - as a C-array...";
    +
    87 std::cout << "Test 1 - as a C-array...";
    88 const int size = 6;
    -
    89 std::array<int, size> arr = {-22, 100, 150, 35, -10, 99};
    - +
    89 std::array<int, size> arr = {-22, 100, 150, 35, -10, 99};
    +
    90 sorting::gnomeSort(arr.data(),
    91 size); // pass array data as a C-style array pointer
    -
    92 assert(std::is_sorted(std::begin(arr), std::end(arr)));
    -
    93 std::cout << " Passed\n";
    +
    92 assert(std::is_sorted(std::begin(arr), std::end(arr)));
    +
    93 std::cout << " Passed\n";
    94 for (int i = 0; i < size; i++) {
    -
    95 std::cout << arr[i] << ", ";
    +
    95 std::cout << arr[i] << ", ";
    96 }
    - +
    97 std::cout << std::endl;
    98
    99 // Example 2. Creating array of doubles.
    -
    100 std::cout << "\nTest 2 - as a std::array...";
    -
    101 std::array<double, size> double_arr = {-100.2, 10.2, 20.0, 9.0, 7.5, 7.2};
    -
    102 std::array<double, size> sorted_arr = sorting::gnomeSort(double_arr);
    -
    103 assert(std::is_sorted(std::begin(sorted_arr), std::end(sorted_arr)));
    -
    104 std::cout << " Passed\n";
    +
    100 std::cout << "\nTest 2 - as a std::array...";
    +
    101 std::array<double, size> double_arr = {-100.2, 10.2, 20.0, 9.0, 7.5, 7.2};
    +
    102 std::array<double, size> sorted_arr = sorting::gnomeSort(double_arr);
    +
    103 assert(std::is_sorted(std::begin(sorted_arr), std::end(sorted_arr)));
    +
    104 std::cout << " Passed\n";
    105 for (int i = 0; i < size; i++) {
    -
    106 std::cout << double_arr[i] << ", ";
    +
    106 std::cout << double_arr[i] << ", ";
    107 }
    - +
    108 std::cout << std::endl;
    109
    110 // Example 3. Creating random array of float.
    -
    111 std::cout << "\nTest 3 - 200 random numbers as a std::array...";
    +
    111 std::cout << "\nTest 3 - 200 random numbers as a std::array...";
    112 const int size2 = 200;
    -
    113 std::array<float, size2> rand_arr{};
    +
    113 std::array<float, size2> rand_arr{};
    114
    115 for (auto &a : rand_arr) {
    116 // generate random numbers between -5.0 and 4.99
    -
    117 a = float(std::rand() % 1000 - 500) / 100.f;
    +
    117 a = float(std::rand() % 1000 - 500) / 100.f;
    118 }
    119
    -
    120 std::array<float, size2> float_arr = sorting::gnomeSort(rand_arr);
    -
    121 assert(std::is_sorted(std::begin(float_arr), std::end(float_arr)));
    -
    122 std::cout << " Passed\n";
    +
    120 std::array<float, size2> float_arr = sorting::gnomeSort(rand_arr);
    +
    121 assert(std::is_sorted(std::begin(float_arr), std::end(float_arr)));
    +
    122 std::cout << " Passed\n";
    123 // for (int i = 0; i < size; i++) std::cout << double_arr[i] << ", ";
    - +
    124 std::cout << std::endl;
    125}
    - - -
    T begin(T... args)
    -
    T data(T... args)
    -
    T end(T... args)
    -
    T endl(T... args)
    -
    T is_sorted(T... args)
    -
    void gnomeSort(T *arr, int size)
    Definition gnome_sort.cpp:34
    -
    T rand(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    void gnomeSort(T *arr, int size)
    +
    diff --git a/d2/d21/gnome__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map b/d2/d21/gnome__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map deleted file mode 100644 index 2f96c380a..000000000 --- a/d2/d21/gnome__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - - - - - - - - - - diff --git a/d2/d21/gnome__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 b/d2/d21/gnome__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 deleted file mode 100644 index 6457831ad..000000000 --- a/d2/d21/gnome__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -04546fe8ef19ee7f962434454cb45908 \ No newline at end of file diff --git a/d2/d21/gnome__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg b/d2/d21/gnome__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg deleted file mode 100644 index 00eb68e3b..000000000 --- a/d2/d21/gnome__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg +++ /dev/null @@ -1,191 +0,0 @@ - - - - - - - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -std::begin - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::array::data - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::end - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::endl - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -sorting::gnomeSort - - - - - -Node1->Node6 - - - - - - - - -Node8 - - -std::is_sorted - - - - - -Node1->Node8 - - - - - - - - -Node9 - - -std::rand - - - - - -Node1->Node9 - - - - - - - - -Node7 - - -std::swap - - - - - -Node6->Node7 - - - - - - - - - - - - - diff --git a/d2/d21/gnome__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg b/d2/d21/gnome__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg deleted file mode 100644 index 83ccfe2ca..000000000 --- a/d2/d21/gnome__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg +++ /dev/null @@ -1,165 +0,0 @@ - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -std::begin - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::array::data - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::end - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::endl - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -sorting::gnomeSort - - - - - -Node1->Node6 - - - - - - - - -Node8 - - -std::is_sorted - - - - - -Node1->Node8 - - - - - - - - -Node9 - - -std::rand - - - - - -Node1->Node9 - - - - - - - - -Node7 - - -std::swap - - - - - -Node6->Node7 - - - - - - - - diff --git a/d2/d21/gnome__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d2/d21/gnome__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 46dca776e..000000000 --- a/d2/d21/gnome__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - diff --git a/d2/d21/gnome__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d2/d21/gnome__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index 33c454926..000000000 --- a/d2/d21/gnome__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -45f942402a5af3ab2f81ab1bd6bb064f \ No newline at end of file diff --git a/d2/d21/gnome__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d2/d21/gnome__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index d6af6055f..000000000 --- a/d2/d21/gnome__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,209 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::begin - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::array::data - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -std::end - - - - - -Node2->Node5 - - - - - - - - -Node6 - - -std::endl - - - - - -Node2->Node6 - - - - - - - - -Node7 - - -sorting::gnomeSort - - - - - -Node2->Node7 - - - - - - - - -Node9 - - -std::is_sorted - - - - - -Node2->Node9 - - - - - - - - -Node10 - - -std::rand - - - - - -Node2->Node10 - - - - - - - - -Node8 - - -std::swap - - - - - -Node7->Node8 - - - - - - - - - - - - - diff --git a/d2/d21/gnome__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d2/d21/gnome__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index b77cb971e..000000000 --- a/d2/d21/gnome__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,183 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::begin - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::array::data - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -std::end - - - - - -Node2->Node5 - - - - - - - - -Node6 - - -std::endl - - - - - -Node2->Node6 - - - - - - - - -Node7 - - -sorting::gnomeSort - - - - - -Node2->Node7 - - - - - - - - -Node9 - - -std::is_sorted - - - - - -Node2->Node9 - - - - - - - - -Node10 - - -std::rand - - - - - -Node2->Node10 - - - - - - - - -Node8 - - -std::swap - - - - - -Node7->Node8 - - - - - - - - diff --git a/d2/d21/gnome__sort_8cpp_source.html b/d2/d21/gnome__sort_8cpp_source.html new file mode 100644 index 000000000..3c3b23b37 --- /dev/null +++ b/d2/d21/gnome__sort_8cpp_source.html @@ -0,0 +1,242 @@ + + + + + + + + +TheAlgorithms/C++: sorting/gnome_sort.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    gnome_sort.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    18#include <algorithm> // for std::swap
    +
    19#include <array> // for std::array
    +
    20#include <cassert> // for assertions
    +
    21#include <iostream> // for io operations
    +
    22
    +
    27namespace sorting {
    +
    33template <typename T>
    +
    +
    34void gnomeSort(T *arr, int size) {
    +
    35 // few easy cases
    +
    36 if (size <= 1) {
    +
    37 return;
    +
    38 }
    +
    39
    +
    40 int index = 0; // initialize some variables.
    +
    41 while (index < size) {
    +
    42 // check for swap
    +
    43 if ((index == 0) || (arr[index] >= arr[index - 1])) {
    +
    44 index++;
    +
    45 } else {
    +
    46 std::swap(arr[index], arr[index - 1]); // swap
    +
    47 index--;
    +
    48 }
    +
    49 }
    +
    50}
    +
    +
    51
    +
    61template <typename T, size_t size>
    +
    +
    62std::array<T, size> gnomeSort(std::array<T, size> arr) {
    +
    63 // few easy cases
    +
    64 if (size <= 1) {
    +
    65 return arr;
    +
    66 }
    +
    67
    +
    68 int index = 0; // initialize loop index
    +
    69 while (index < size) {
    +
    70 // check for swap
    +
    71 if ((index == 0) || (arr[index] >= arr[index - 1])) {
    +
    72 index++;
    +
    73 } else {
    +
    74 std::swap(arr[index], arr[index - 1]); // swap
    +
    75 index--;
    +
    76 }
    +
    77 }
    +
    78 return arr;
    +
    79}
    +
    +
    80} // namespace sorting
    +
    81
    +
    +
    85static void test() {
    +
    86 // Example 1. Creating array of int,
    +
    87 std::cout << "Test 1 - as a C-array...";
    +
    88 const int size = 6;
    +
    89 std::array<int, size> arr = {-22, 100, 150, 35, -10, 99};
    +
    90 sorting::gnomeSort(arr.data(),
    +
    91 size); // pass array data as a C-style array pointer
    +
    92 assert(std::is_sorted(std::begin(arr), std::end(arr)));
    +
    93 std::cout << " Passed\n";
    +
    94 for (int i = 0; i < size; i++) {
    +
    95 std::cout << arr[i] << ", ";
    +
    96 }
    +
    97 std::cout << std::endl;
    +
    98
    +
    99 // Example 2. Creating array of doubles.
    +
    100 std::cout << "\nTest 2 - as a std::array...";
    +
    101 std::array<double, size> double_arr = {-100.2, 10.2, 20.0, 9.0, 7.5, 7.2};
    +
    102 std::array<double, size> sorted_arr = sorting::gnomeSort(double_arr);
    +
    103 assert(std::is_sorted(std::begin(sorted_arr), std::end(sorted_arr)));
    +
    104 std::cout << " Passed\n";
    +
    105 for (int i = 0; i < size; i++) {
    +
    106 std::cout << double_arr[i] << ", ";
    +
    107 }
    +
    108 std::cout << std::endl;
    +
    109
    +
    110 // Example 3. Creating random array of float.
    +
    111 std::cout << "\nTest 3 - 200 random numbers as a std::array...";
    +
    112 const int size2 = 200;
    +
    113 std::array<float, size2> rand_arr{};
    +
    114
    +
    115 for (auto &a : rand_arr) {
    +
    116 // generate random numbers between -5.0 and 4.99
    +
    117 a = float(std::rand() % 1000 - 500) / 100.f;
    +
    118 }
    +
    119
    +
    120 std::array<float, size2> float_arr = sorting::gnomeSort(rand_arr);
    +
    121 assert(std::is_sorted(std::begin(float_arr), std::end(float_arr)));
    +
    122 std::cout << " Passed\n";
    +
    123 // for (int i = 0; i < size; i++) std::cout << double_arr[i] << ", ";
    +
    124 std::cout << std::endl;
    +
    125}
    +
    +
    126
    +
    +
    130int main() {
    +
    131 test();
    +
    132 return 0;
    +
    133}
    +
    +
    static void test()
    +
    int main()
    +
    for working with vectors
    +
    void gnomeSort(T *arr, int size)
    +
    +
    + + + + diff --git a/d2/d22/jump__search_8cpp.html b/d2/d22/jump__search_8cpp.html index 647b26358..e3223a686 100644 --- a/d2/d22/jump__search_8cpp.html +++ b/d2/d22/jump__search_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: search/jump_search.cpp File Reference +TheAlgorithms/C++: search/jump_search.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -120,7 +137,9 @@ Include dependency graph for jump_search.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -130,6 +149,8 @@ Functions

    Functions

    int jumpSearch (int arr[], int x, int n)

    Detailed Description

    C++ program to implement Jump Search

    + +

    Definition in file jump_search.cpp.

    Function Documentation

    ◆ jumpSearch()

    @@ -155,16 +176,18 @@ Functions

    jump search implementation

    + +

    Definition at line 12 of file jump_search.cpp.

    12 {
    13 // Finding block size to be jumped
    -
    14 int step = std::sqrt(n);
    +
    14 int step = std::sqrt(n);
    15
    16 // Finding the block where element is
    17 // present (if it is present)
    -
    18 int prev = 0;
    -
    19 while (arr[std::min(step, n) - 1] < x) {
    -
    20 prev = step;
    -
    21 step += std::sqrt(n);
    +
    18 int prev = 0;
    +
    19 while (arr[std::min(step, n) - 1] < x) {
    +
    20 prev = step;
    +
    21 step += std::sqrt(n);
    22 if (prev >= n)
    23 return -1;
    24 }
    @@ -172,28 +195,20 @@ Functions
    26 // Doing a linear search for x in block
    27 // beginning with prev.
    28 while (arr[prev] < x) {
    -
    29 prev++;
    +
    29 prev++;
    30
    31 // If we reached next block or end of
    32 // array, element is not present.
    -
    33 if (prev == std::min(step, n))
    +
    33 if (prev == std::min(step, n))
    34 return -1;
    35 }
    36 // If element is found
    37 if (arr[prev] == x)
    -
    38 return prev;
    +
    38 return prev;
    39
    40 return -1;
    41}
    -
    T min(T... args)
    -
    T prev(T... args)
    -
    T sqrt(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    @@ -210,6 +225,8 @@ Here is the call graph for this function:
    + +

    Definition at line 44 of file jump_search.cpp.

    44 {
    45 int arr[] = {0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610};
    46 int x = 55;
    @@ -219,11 +236,10 @@ Here is the call graph for this function:
    50 int index = jumpSearch(arr, x, n);
    51
    52 // Print the index where 'x' is located
    -
    53 std::cout << "\nNumber " << x << " is at index " << index;
    +
    53 std::cout << "\nNumber " << x << " is at index " << index;
    54 return 0;
    55}
    - -
    int jumpSearch(int arr[], int x, int n)
    Definition jump_search.cpp:12
    +
    int jumpSearch(int arr[], int x, int n)
    diff --git a/d2/d22/jump__search_8cpp_ab49fd8f401bfc71f63b74711390cccf0_cgraph.map b/d2/d22/jump__search_8cpp_ab49fd8f401bfc71f63b74711390cccf0_cgraph.map deleted file mode 100644 index 5f894688a..000000000 --- a/d2/d22/jump__search_8cpp_ab49fd8f401bfc71f63b74711390cccf0_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/d2/d22/jump__search_8cpp_ab49fd8f401bfc71f63b74711390cccf0_cgraph.md5 b/d2/d22/jump__search_8cpp_ab49fd8f401bfc71f63b74711390cccf0_cgraph.md5 deleted file mode 100644 index 4fb63b8fe..000000000 --- a/d2/d22/jump__search_8cpp_ab49fd8f401bfc71f63b74711390cccf0_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -23006dd13c477678e1ba31963390a7fa \ No newline at end of file diff --git a/d2/d22/jump__search_8cpp_ab49fd8f401bfc71f63b74711390cccf0_cgraph.svg b/d2/d22/jump__search_8cpp_ab49fd8f401bfc71f63b74711390cccf0_cgraph.svg deleted file mode 100644 index 8cfe89966..000000000 --- a/d2/d22/jump__search_8cpp_ab49fd8f401bfc71f63b74711390cccf0_cgraph.svg +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - -jumpSearch - - -Node1 - - -jumpSearch - - - - - -Node2 - - -std::min - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::sqrt - - - - - -Node1->Node3 - - - - - - - - - - - - - diff --git a/d2/d22/jump__search_8cpp_ab49fd8f401bfc71f63b74711390cccf0_cgraph_org.svg b/d2/d22/jump__search_8cpp_ab49fd8f401bfc71f63b74711390cccf0_cgraph_org.svg deleted file mode 100644 index 047f3ac1a..000000000 --- a/d2/d22/jump__search_8cpp_ab49fd8f401bfc71f63b74711390cccf0_cgraph_org.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - -jumpSearch - - -Node1 - - -jumpSearch - - - - - -Node2 - - -std::min - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::sqrt - - - - - -Node1->Node3 - - - - - - - - diff --git a/d2/d22/jump__search_8cpp_source.html b/d2/d22/jump__search_8cpp_source.html new file mode 100644 index 000000000..08e922439 --- /dev/null +++ b/d2/d22/jump__search_8cpp_source.html @@ -0,0 +1,190 @@ + + + + + + + + +TheAlgorithms/C++: search/jump_search.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    jump_search.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    6#include <algorithm>
    +
    7#include <cmath>
    +
    8#include <iostream>
    +
    9
    +
    +
    12int jumpSearch(int arr[], int x, int n) {
    +
    13 // Finding block size to be jumped
    +
    14 int step = std::sqrt(n);
    +
    15
    +
    16 // Finding the block where element is
    +
    17 // present (if it is present)
    +
    18 int prev = 0;
    +
    19 while (arr[std::min(step, n) - 1] < x) {
    +
    20 prev = step;
    +
    21 step += std::sqrt(n);
    +
    22 if (prev >= n)
    +
    23 return -1;
    +
    24 }
    +
    25
    +
    26 // Doing a linear search for x in block
    +
    27 // beginning with prev.
    +
    28 while (arr[prev] < x) {
    +
    29 prev++;
    +
    30
    +
    31 // If we reached next block or end of
    +
    32 // array, element is not present.
    +
    33 if (prev == std::min(step, n))
    +
    34 return -1;
    +
    35 }
    +
    36 // If element is found
    +
    37 if (arr[prev] == x)
    +
    38 return prev;
    +
    39
    +
    40 return -1;
    +
    41}
    +
    +
    42
    +
    43// Driver program to test function
    +
    44int main() {
    +
    45 int arr[] = {0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610};
    +
    46 int x = 55;
    +
    47 int n = sizeof(arr) / sizeof(arr[0]);
    +
    48
    +
    49 // Find the index of 'x' using Jump Search
    +
    50 int index = jumpSearch(arr, x, n);
    +
    51
    +
    52 // Print the index where 'x' is located
    +
    53 std::cout << "\nNumber " << x << " is at index " << index;
    +
    54 return 0;
    +
    55}
    +
    int main()
    Main function.
    +
    int jumpSearch(int arr[], int x, int n)
    +
    +
    + + + + diff --git a/d2/d26/count__inversions_8cpp.html b/d2/d26/count__inversions_8cpp.html index 988847a5f..0424ec58a 100644 --- a/d2/d26/count__inversions_8cpp.html +++ b/d2/d26/count__inversions_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: sorting/count_inversions.cpp File Reference +TheAlgorithms/C++: sorting/count_inversions.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -122,7 +139,9 @@ Include dependency graph for count_inversions.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -174,6 +193,8 @@ Algorithm
  • Print the answer
  • Author
    Rakshit Raj
    + +

    Definition in file count_inversions.cpp.

    Function Documentation

    ◆ countInversion()

    @@ -200,29 +221,22 @@ template<class T >

    Number of inversions in a sorted array is 0. Number of inversion in an array[1...n] sorted in non-ascending order is n(n-1)/2, since each pair of elements contitute an inversion.

    Parameters

    Namespaces

    namespace  sorting
    - +
    arr- array, data member of std::vector<int>, input for counting inversions
    arr- array, data member of std::vector<int>, input for counting inversions
    array_size- number of elementa in the array
    Returns
    number of inversions in input array, sorts the array
    -
    164 {
    -
    165 std::vector<T> temp;
    -
    166 temp.reserve(size);
    -
    167 temp.assign(size, 0);
    -
    168 return mergeSort(arr, temp.data(), 0, size - 1);
    -
    169}
    -
    T assign(T... args)
    -
    T data(T... args)
    -
    void mergeSort(int *arr, int l, int r)
    Definition merge_sort.cpp:71
    -
    T reserve(T... args)
    - -
    -Here is the call graph for this function:
    -
    -
    -
    +

    Definition at line 164 of file count_inversions.cpp.

    +
    164 {
    +
    165 std::vector<T> temp;
    +
    166 temp.reserve(size);
    +
    167 temp.assign(size, 0);
    +
    168 return mergeSort(arr, temp.data(), 0, size - 1);
    +
    169}
    +
    void mergeSort(int *arr, int l, int r)
    +
    @@ -243,18 +257,15 @@ Here is the call graph for this function:

    Program Body contains all main funtionality.

    Returns
    void

    Main function

    Returns
    0 on exit
    + +

    Definition at line 271 of file count_inversions.cpp.

    271 {
    272 test(); // Run test implementations
    273 // body(); // test your own array
    274 return 0;
    275}
    -
    static void test()
    Test implementations.
    Definition count_inversions.cpp:194
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static void test()
    Test implementations.
    + @@ -307,6 +318,8 @@ template<typename T >
    Returns
    number of inversions found in merge step
    + +

    Definition at line 85 of file count_inversions.cpp.

    85 {
    86 uint32_t i = left; /* i --> index of left sub-array */
    87 uint32_t j = mid + 1; /* j --> index for right sub-array */
    @@ -331,13 +344,12 @@ template<typename T >
    106 temp[k++] = arr[j++];
    107 }
    108 // Copy temp[] to arr[]
    -
    109 for (k = left; k <= right; k++) {
    +
    109 for (k = left; k <= right; k++) {
    110 arr[k] = temp[k];
    111 }
    112 return inv_count;
    113}
    -
    double k(double x)
    Another test function.
    Definition composite_simpson_rule.cpp:117
    -
    T right(T... args)
    +
    double k(double x)
    Another test function.
    @@ -384,11 +396,13 @@ template<typename T >
    Returns
    number of inversions in array
    + +

    Definition at line 132 of file count_inversions.cpp.

    132 {
    133 uint32_t mid = 0, inv_count = 0;
    134 if (right > left) {
    135 // midpoint to split the array
    -
    136 mid = (right + left) / 2;
    +
    136 mid = (right + left) / 2;
    137 // Add inversions in left and right sub-arrays
    138 inv_count += mergeSort(arr, temp, left, mid); // left sub-array
    139 inv_count += mergeSort(arr, temp, mid + 1, right);
    @@ -398,13 +412,8 @@ template<typename T >
    143 }
    144 return inv_count;
    145}
    -
    void merge(int *arr, int l, int m, int r)
    Definition merge_sort.cpp:33
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    void merge(int *arr, int l, int m, int r)
    + @@ -437,14 +446,15 @@ template<typename T >
    Returns
    void
    + +

    Definition at line 179 of file count_inversions.cpp.

    179 {
    -
    180 std::cout << "Printing array: \n";
    +
    180 std::cout << "Printing array: \n";
    181 for (uint32_t i = 0; i < array_size; i++) {
    -
    182 std::cout << " " << arr[i];
    +
    182 std::cout << " " << arr[i];
    183 }
    -
    184 std::cout << "\n";
    +
    184 std::cout << "\n";
    185}
    -
    @@ -473,47 +483,43 @@ template<typename T >

    Test implementations.

    Returns
    void
    + +

    Definition at line 194 of file count_inversions.cpp.

    194 {
    195 // Test 1
    -
    196 std::vector<uint64_t> arr1 = {
    +
    196 std::vector<uint64_t> arr1 = {
    197 100, 99, 98, 97, 96, 95, 94, 93, 92, 91, 90, 89, 88, 87, 86, 85, 84,
    198 83, 82, 81, 80, 79, 78, 77, 76, 75, 74, 73, 72, 71, 70, 69, 68, 67,
    199 66, 65, 64, 63, 62, 61, 60, 59, 58, 57, 56, 55, 54, 53, 52, 51, 50,
    200 49, 48, 47, 46, 45, 44, 43, 42, 41, 40, 39, 38, 37, 36, 35, 34, 33,
    201 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16,
    202 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1};
    -
    203 uint32_t size1 = arr1.size();
    +
    203 uint32_t size1 = arr1.size();
    204 uint32_t inv_count1 = 4950;
    -
    205 uint32_t result1 = sorting::inversion::countInversion(arr1.data(), size1);
    +
    205 uint32_t result1 = sorting::inversion::countInversion(arr1.data(), size1);
    206 assert(inv_count1 == result1);
    207 // Test 2
    -
    208 std::vector<int> arr2 = {22, 66, 75, 23, 11, 87, 2, 44, 98, 43};
    -
    209 uint32_t size2 = arr2.size();
    +
    208 std::vector<int> arr2 = {22, 66, 75, 23, 11, 87, 2, 44, 98, 43};
    +
    209 uint32_t size2 = arr2.size();
    210 uint32_t inv_count2 = 20;
    -
    211 uint32_t result2 = sorting::inversion::countInversion(arr2.data(), size2);
    +
    211 uint32_t result2 = sorting::inversion::countInversion(arr2.data(), size2);
    212 assert(inv_count2 == result2);
    213 // Test 3
    -
    214 std::vector<double> arr3 = {33.1, 45.2, 65.4, 76.5, 1.0,
    +
    214 std::vector<double> arr3 = {33.1, 45.2, 65.4, 76.5, 1.0,
    215 2.9, 5.4, 7.7, 88.9, 12.4};
    -
    216 uint32_t size3 = arr3.size();
    +
    216 uint32_t size3 = arr3.size();
    217 uint32_t inv_count3 = 21;
    -
    218 uint32_t result3 = sorting::inversion::countInversion(arr3.data(), size3);
    +
    218 uint32_t result3 = sorting::inversion::countInversion(arr3.data(), size3);
    219 assert(inv_count3 == result3);
    220 // Test 4
    -
    221 std::vector<char> arr4 = {'a', 'b', 'c', 'd', 'e'};
    -
    222 uint32_t size4 = arr4.size();
    +
    221 std::vector<char> arr4 = {'a', 'b', 'c', 'd', 'e'};
    +
    222 uint32_t size4 = arr4.size();
    223 uint32_t inv_count4 = 0;
    -
    224 uint32_t result4 = sorting::inversion::countInversion(arr4.data(), size4);
    +
    224 uint32_t result4 = sorting::inversion::countInversion(arr4.data(), size4);
    225 assert(inv_count4 == result4);
    226}
    -
    uint32_t countInversion(T *arr, const uint32_t size)
    Function countInversion() returns the number of inversion present in the input array....
    Definition count_inversions.cpp:164
    -
    T size(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    uint32_t countInversion(T *arr, const uint32_t size)
    Function countInversion() returns the number of inversion present in the input array....
    + diff --git a/d2/d26/count__inversions_8cpp_a3332498eabf6579ef059c0d0e9f4ec80_cgraph.map b/d2/d26/count__inversions_8cpp_a3332498eabf6579ef059c0d0e9f4ec80_cgraph.map deleted file mode 100644 index 81ad996a9..000000000 --- a/d2/d26/count__inversions_8cpp_a3332498eabf6579ef059c0d0e9f4ec80_cgraph.map +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - diff --git a/d2/d26/count__inversions_8cpp_a3332498eabf6579ef059c0d0e9f4ec80_cgraph.md5 b/d2/d26/count__inversions_8cpp_a3332498eabf6579ef059c0d0e9f4ec80_cgraph.md5 deleted file mode 100644 index f79861519..000000000 --- a/d2/d26/count__inversions_8cpp_a3332498eabf6579ef059c0d0e9f4ec80_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -8f05f165f5f087909f1d5f88490d4e38 \ No newline at end of file diff --git a/d2/d26/count__inversions_8cpp_a3332498eabf6579ef059c0d0e9f4ec80_cgraph.svg b/d2/d26/count__inversions_8cpp_a3332498eabf6579ef059c0d0e9f4ec80_cgraph.svg deleted file mode 100644 index ca5a0005a..000000000 --- a/d2/d26/count__inversions_8cpp_a3332498eabf6579ef059c0d0e9f4ec80_cgraph.svg +++ /dev/null @@ -1,139 +0,0 @@ - - - - - - - - - - - - -sorting::inversion::countInversion - - -Node1 - - -sorting::inversion -::countInversion - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::vector::assign - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::vector::data - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -sorting::inversion -::mergeSort - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::vector::reserve - - - - - -Node1->Node5 - - - - - - - - -Node4->Node4 - - - - - - - - - - - - - diff --git a/d2/d26/count__inversions_8cpp_a3332498eabf6579ef059c0d0e9f4ec80_cgraph_org.svg b/d2/d26/count__inversions_8cpp_a3332498eabf6579ef059c0d0e9f4ec80_cgraph_org.svg deleted file mode 100644 index 059e7e1c4..000000000 --- a/d2/d26/count__inversions_8cpp_a3332498eabf6579ef059c0d0e9f4ec80_cgraph_org.svg +++ /dev/null @@ -1,113 +0,0 @@ - - - - - - -sorting::inversion::countInversion - - -Node1 - - -sorting::inversion -::countInversion - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::vector::assign - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::vector::data - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -sorting::inversion -::mergeSort - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::vector::reserve - - - - - -Node1->Node5 - - - - - - - - -Node4->Node4 - - - - - - - - diff --git a/d2/d26/count__inversions_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map b/d2/d26/count__inversions_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map deleted file mode 100644 index cfde15fa4..000000000 --- a/d2/d26/count__inversions_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/d2/d26/count__inversions_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 b/d2/d26/count__inversions_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 deleted file mode 100644 index c6f6aaf25..000000000 --- a/d2/d26/count__inversions_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -4692c78e54ffffefcb6ad58a24e4a685 \ No newline at end of file diff --git a/d2/d26/count__inversions_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg b/d2/d26/count__inversions_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg deleted file mode 100644 index bd73769ba..000000000 --- a/d2/d26/count__inversions_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -std::vector::data - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::vector::size - - - - - -Node1->Node3 - - - - - - - - - - - - - diff --git a/d2/d26/count__inversions_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg b/d2/d26/count__inversions_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg deleted file mode 100644 index 51692603d..000000000 --- a/d2/d26/count__inversions_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -std::vector::data - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::vector::size - - - - - -Node1->Node3 - - - - - - - - diff --git a/d2/d26/count__inversions_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d2/d26/count__inversions_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index a2d43d06b..000000000 --- a/d2/d26/count__inversions_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/d2/d26/count__inversions_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d2/d26/count__inversions_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index ac4e0bfb6..000000000 --- a/d2/d26/count__inversions_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -ea912fb6d9e7e5bace3723fbd8f5de24 \ No newline at end of file diff --git a/d2/d26/count__inversions_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d2/d26/count__inversions_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index dc89e41ff..000000000 --- a/d2/d26/count__inversions_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::vector::data - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::vector::size - - - - - -Node2->Node4 - - - - - - - - - - - - - diff --git a/d2/d26/count__inversions_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d2/d26/count__inversions_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 868bd5ccf..000000000 --- a/d2/d26/count__inversions_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::vector::data - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::vector::size - - - - - -Node2->Node4 - - - - - - - - diff --git a/d2/d26/count__inversions_8cpp_ae97a486e14101c4822ea8dc47f0d1661_cgraph.map b/d2/d26/count__inversions_8cpp_ae97a486e14101c4822ea8dc47f0d1661_cgraph.map deleted file mode 100644 index 7ee998f44..000000000 --- a/d2/d26/count__inversions_8cpp_ae97a486e14101c4822ea8dc47f0d1661_cgraph.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/d2/d26/count__inversions_8cpp_ae97a486e14101c4822ea8dc47f0d1661_cgraph.md5 b/d2/d26/count__inversions_8cpp_ae97a486e14101c4822ea8dc47f0d1661_cgraph.md5 deleted file mode 100644 index 3666ab758..000000000 --- a/d2/d26/count__inversions_8cpp_ae97a486e14101c4822ea8dc47f0d1661_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -4e4df187bd1da7f684a014e54a10f164 \ No newline at end of file diff --git a/d2/d26/count__inversions_8cpp_ae97a486e14101c4822ea8dc47f0d1661_cgraph.svg b/d2/d26/count__inversions_8cpp_ae97a486e14101c4822ea8dc47f0d1661_cgraph.svg deleted file mode 100644 index d675b9bb4..000000000 --- a/d2/d26/count__inversions_8cpp_ae97a486e14101c4822ea8dc47f0d1661_cgraph.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - - - - - - - -sorting::inversion::mergeSort - - -Node1 - - -sorting::inversion -::mergeSort - - - - - -Node1->Node1 - - - - - - - - - - - - - diff --git a/d2/d26/count__inversions_8cpp_ae97a486e14101c4822ea8dc47f0d1661_cgraph_org.svg b/d2/d26/count__inversions_8cpp_ae97a486e14101c4822ea8dc47f0d1661_cgraph_org.svg deleted file mode 100644 index 1ae45e655..000000000 --- a/d2/d26/count__inversions_8cpp_ae97a486e14101c4822ea8dc47f0d1661_cgraph_org.svg +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - -sorting::inversion::mergeSort - - -Node1 - - -sorting::inversion -::mergeSort - - - - - -Node1->Node1 - - - - - - - - diff --git a/d2/d26/count__inversions_8cpp_source.html b/d2/d26/count__inversions_8cpp_source.html new file mode 100644 index 000000000..c16ec64d0 --- /dev/null +++ b/d2/d26/count__inversions_8cpp_source.html @@ -0,0 +1,316 @@ + + + + + + + + +TheAlgorithms/C++: sorting/count_inversions.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    count_inversions.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    43#include <cassert>
    +
    44#include <cstdint>
    +
    45#include <iostream>
    +
    46#include <vector>
    +
    47
    +
    52namespace sorting {
    +
    57namespace inversion {
    +
    58
    +
    59// Functions used --->
    +
    60// int mergeSort(int* arr, int* temp, int left, int right);
    +
    61// int merge(int* arr, int* temp, int left, int mid, int right);
    +
    62// int countInversion(int* arr, const int size);
    +
    63// void show(int* arr, const int size);
    +
    64
    +
    84template <typename T>
    +
    +
    85uint32_t merge(T* arr, T* temp, uint32_t left, uint32_t mid, uint32_t right) {
    +
    86 uint32_t i = left; /* i --> index of left sub-array */
    +
    87 uint32_t j = mid + 1; /* j --> index for right sub-array */
    +
    88 uint32_t k = left; /* k --> index for resultant array temp */
    +
    89 uint32_t inv_count = 0; // inversion count
    +
    90
    +
    91 while ((i <= mid) && (j <= right)) {
    +
    92 if (arr[i] <= arr[j]) {
    +
    93 temp[k++] = arr[i++];
    +
    94 } else {
    +
    95 temp[k++] = arr[j++];
    +
    96 inv_count +=
    +
    97 (mid - i +
    +
    98 1); // tricky; may vary depending on selection of sub-array
    +
    99 }
    +
    100 }
    +
    101 // Add remaining elements from the larger subarray to the end of temp
    +
    102 while (i <= mid) {
    +
    103 temp[k++] = arr[i++];
    +
    104 }
    +
    105 while (j <= right) {
    +
    106 temp[k++] = arr[j++];
    +
    107 }
    +
    108 // Copy temp[] to arr[]
    +
    109 for (k = left; k <= right; k++) {
    +
    110 arr[k] = temp[k];
    +
    111 }
    +
    112 return inv_count;
    +
    113}
    +
    +
    114
    +
    131template <typename T>
    +
    +
    132uint32_t mergeSort(T* arr, T* temp, uint32_t left, uint32_t right) {
    +
    133 uint32_t mid = 0, inv_count = 0;
    +
    134 if (right > left) {
    +
    135 // midpoint to split the array
    +
    136 mid = (right + left) / 2;
    +
    137 // Add inversions in left and right sub-arrays
    +
    138 inv_count += mergeSort(arr, temp, left, mid); // left sub-array
    +
    139 inv_count += mergeSort(arr, temp, mid + 1, right);
    +
    140
    +
    141 // inversions in the merge step
    +
    142 inv_count += merge(arr, temp, left, mid, right);
    +
    143 }
    +
    144 return inv_count;
    +
    145}
    +
    +
    146
    +
    163template <class T>
    +
    +
    164uint32_t countInversion(T* arr, const uint32_t size) {
    +
    165 std::vector<T> temp;
    +
    166 temp.reserve(size);
    +
    167 temp.assign(size, 0);
    +
    168 return mergeSort(arr, temp.data(), 0, size - 1);
    +
    169}
    +
    +
    170
    +
    178template <typename T>
    +
    +
    179void show(T* arr, const uint32_t array_size) {
    +
    180 std::cout << "Printing array: \n";
    +
    181 for (uint32_t i = 0; i < array_size; i++) {
    +
    182 std::cout << " " << arr[i];
    +
    183 }
    +
    184 std::cout << "\n";
    +
    185}
    +
    +
    186
    +
    187} // namespace inversion
    +
    188} // namespace sorting
    +
    189
    +
    +
    194static void test() {
    +
    195 // Test 1
    +
    196 std::vector<uint64_t> arr1 = {
    +
    197 100, 99, 98, 97, 96, 95, 94, 93, 92, 91, 90, 89, 88, 87, 86, 85, 84,
    +
    198 83, 82, 81, 80, 79, 78, 77, 76, 75, 74, 73, 72, 71, 70, 69, 68, 67,
    +
    199 66, 65, 64, 63, 62, 61, 60, 59, 58, 57, 56, 55, 54, 53, 52, 51, 50,
    +
    200 49, 48, 47, 46, 45, 44, 43, 42, 41, 40, 39, 38, 37, 36, 35, 34, 33,
    +
    201 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16,
    +
    202 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1};
    +
    203 uint32_t size1 = arr1.size();
    +
    204 uint32_t inv_count1 = 4950;
    +
    205 uint32_t result1 = sorting::inversion::countInversion(arr1.data(), size1);
    +
    206 assert(inv_count1 == result1);
    +
    207 // Test 2
    +
    208 std::vector<int> arr2 = {22, 66, 75, 23, 11, 87, 2, 44, 98, 43};
    +
    209 uint32_t size2 = arr2.size();
    +
    210 uint32_t inv_count2 = 20;
    +
    211 uint32_t result2 = sorting::inversion::countInversion(arr2.data(), size2);
    +
    212 assert(inv_count2 == result2);
    +
    213 // Test 3
    +
    214 std::vector<double> arr3 = {33.1, 45.2, 65.4, 76.5, 1.0,
    +
    215 2.9, 5.4, 7.7, 88.9, 12.4};
    +
    216 uint32_t size3 = arr3.size();
    +
    217 uint32_t inv_count3 = 21;
    +
    218 uint32_t result3 = sorting::inversion::countInversion(arr3.data(), size3);
    +
    219 assert(inv_count3 == result3);
    +
    220 // Test 4
    +
    221 std::vector<char> arr4 = {'a', 'b', 'c', 'd', 'e'};
    +
    222 uint32_t size4 = arr4.size();
    +
    223 uint32_t inv_count4 = 0;
    +
    224 uint32_t result4 = sorting::inversion::countInversion(arr4.data(), size4);
    +
    225 assert(inv_count4 == result4);
    +
    226}
    +
    +
    227
    +
    228// /**
    +
    229// * @brief Program Body contains all main funtionality
    +
    230// * @returns void
    +
    231// */
    +
    232// template <typename T>
    +
    233// static void body() {
    +
    234// // Input your own sequence
    +
    235// uint_t size;
    +
    236// T input;
    +
    237// std::cout << "Enter number of elements:";
    +
    238// std::cin >> size;
    +
    239//
    +
    240// std::vector<T> arr;
    +
    241// arr.reserve(size);
    +
    242//
    +
    243// std::cout << "Enter elements -->\n";
    +
    244// for (uint64_t i=1; i<=size; i++) {
    +
    245// std::cout << "Element "<< i <<" :";
    +
    246// std::cin >> input;
    +
    247// arr.push_back(input);
    +
    248// }
    +
    249//
    +
    250// if (size != arr.size()) {
    +
    251// size = arr.size();
    +
    252// }
    +
    253//
    +
    254// std::cout << "\n";
    +
    255// sorting::inversion::show(arr.data(), size);
    +
    256// std::cout << "\n";
    +
    257//
    +
    258// // Counting inversions
    +
    259// std::cout << "\nThe number of inversions: "<<
    +
    260// sorting::inversion::countInversion(arr.data(), size) << "\n";
    +
    261//
    +
    262// // Output sorted array
    +
    263// std::cout << "\nSorted array --> \n";
    +
    264// sorting::inversion::show(arr.data(), size);
    +
    265// }
    +
    266
    +
    +
    271int main() {
    +
    272 test(); // Run test implementations
    +
    273 // body(); // test your own array
    +
    274 return 0;
    +
    275}
    +
    +
    uint32_t countInversion(T *arr, const uint32_t size)
    Function countInversion() returns the number of inversion present in the input array....
    +
    static void test()
    Test implementations.
    +
    uint32_t merge(T *arr, T *temp, uint32_t left, uint32_t mid, uint32_t right)
    Function to merge two sub-arrays.
    +
    int main()
    Program Body contains all main funtionality.
    +
    uint32_t mergeSort(T *arr, T *temp, uint32_t left, uint32_t right)
    Implement merge Sort and count inverions while merging.
    +
    Functions for counting inversions using Merge Sort algorithm.
    +
    for working with vectors
    +
    +
    + + + + diff --git a/d2/d2c/structtower.html b/d2/d2c/structtower.html index 6628f83ae..a59d91b07 100644 --- a/d2/d2c/structtower.html +++ b/d2/d2c/structtower.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: tower Struct Reference +TheAlgorithms/C++: tower Struct Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -113,19 +130,56 @@ $(function(){initNavTree('d2/d2c/structtower.html','../../'); initResizable(true
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    - - + + - - + +

    Public Attributes

    -int values [10]
     Values in the tower.
    int values [10]
     Values in the tower.
     
    -int top
     top tower ID
    int top
     top tower ID
     

    Detailed Description

    Define the state of tower

    -

    The documentation for this struct was generated from the following file:

    Member Data Documentation

    + +

    ◆ top

    + +
    +
    + + + + +
    int tower::top
    +
    + +

    top tower ID

    + +

    Definition at line 15 of file tower_of_hanoi.cpp.

    + +
    +
    + +

    ◆ values

    + +
    +
    + + + + +
    int tower::values[10]
    +
    + +

    Values in the tower.

    + +

    Definition at line 13 of file tower_of_hanoi.cpp.

    + +
    +
    +
    The documentation for this struct was generated from the following file: diff --git a/d2/d2f/namespacegreedy__algorithms_1_1dijkstra.html b/d2/d2f/namespacegreedy__algorithms_1_1dijkstra.html index 67f155a87..336ae1aba 100644 --- a/d2/d2f/namespacegreedy__algorithms_1_1dijkstra.html +++ b/d2/d2f/namespacegreedy__algorithms_1_1dijkstra.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: greedy_algorithms::dijkstra Namespace Reference +TheAlgorithms/C++: greedy_algorithms::dijkstra Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -122,10 +139,10 @@ Classes
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    - + - + @@ -164,10 +181,12 @@ Functions
    Returns
    void
    + +

    Definition at line 124 of file dijkstra_greedy.cpp.

    124 {
    125 int V = graph.vertexNum;
    -
    126 std::vector<int> mdist{}; // Stores updated distances to the vertex
    -
    127 std::vector<bool> vset{}; // `vset[i]` is true if the vertex `i` is included in the shortest path tree
    +
    126 std::vector<int> mdist{}; // Stores updated distances to the vertex
    +
    127 std::vector<bool> vset{}; // `vset[i]` is true if the vertex `i` is included in the shortest path tree
    128
    129 // Initialize `mdist and `vset`. Set the distance of the source as zero
    130 for (int i = 0; i < V; i++) {
    @@ -194,14 +213,8 @@ Functions
    151 print(mdist, V);
    152}
    Graph Algorithms.
    -
    int minimum_distance(std::vector< int > mdist, std::vector< bool > vset, int V)
    Utility function that finds the vertex with the minimum distance in mdist.
    Definition dijkstra_greedy.cpp:82
    - -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    int minimum_distance(std::vector< int > mdist, std::vector< bool > vset, int V)
    Utility function that finds the vertex with the minimum distance in mdist.
    + @@ -213,12 +226,12 @@ Here is the call graph for this function: - + - + @@ -238,6 +251,8 @@ Here is the call graph for this function:
    Returns
    index of the vertex with the minimum distance
    + +

    Definition at line 82 of file dijkstra_greedy.cpp.

    82 {
    83 int minVal = INT_MAX, minInd = 0;
    84 for (int i = 0; i < V; i++) {
    @@ -261,7 +276,7 @@ Here is the call graph for this function:
    - + @@ -281,18 +296,19 @@ Here is the call graph for this function:
    Returns
    void
    + +

    Definition at line 104 of file dijkstra_greedy.cpp.

    104 {
    -
    105 std::cout << "\nVertex Distance\n";
    +
    105 std::cout << "\nVertex Distance\n";
    106 for (int i = 0; i < V; i++) {
    107 if (dist[i] < INT_MAX) {
    -
    108 std::cout << i << "\t" << dist[i] << "\n";
    +
    108 std::cout << i << "\t" << dist[i] << "\n";
    109 }
    110 else {
    -
    111 std::cout << i << "\tINF" << "\n";
    +
    111 std::cout << i << "\tINF" << "\n";
    112 }
    113 }
    114}
    -
    diff --git a/d2/d2f/namespacegreedy__algorithms_1_1dijkstra_af915876d0ca33cc71a6a6191a8cd3ccd_cgraph.map b/d2/d2f/namespacegreedy__algorithms_1_1dijkstra_af915876d0ca33cc71a6a6191a8cd3ccd_cgraph.map deleted file mode 100644 index d7dd5dcda..000000000 --- a/d2/d2f/namespacegreedy__algorithms_1_1dijkstra_af915876d0ca33cc71a6a6191a8cd3ccd_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/d2/d2f/namespacegreedy__algorithms_1_1dijkstra_af915876d0ca33cc71a6a6191a8cd3ccd_cgraph.md5 b/d2/d2f/namespacegreedy__algorithms_1_1dijkstra_af915876d0ca33cc71a6a6191a8cd3ccd_cgraph.md5 deleted file mode 100644 index f221a54cd..000000000 --- a/d2/d2f/namespacegreedy__algorithms_1_1dijkstra_af915876d0ca33cc71a6a6191a8cd3ccd_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -6a887c459b8903bd6972c5ee7fc6d05b \ No newline at end of file diff --git a/d2/d2f/namespacegreedy__algorithms_1_1dijkstra_af915876d0ca33cc71a6a6191a8cd3ccd_cgraph.svg b/d2/d2f/namespacegreedy__algorithms_1_1dijkstra_af915876d0ca33cc71a6a6191a8cd3ccd_cgraph.svg deleted file mode 100644 index e400def88..000000000 --- a/d2/d2f/namespacegreedy__algorithms_1_1dijkstra_af915876d0ca33cc71a6a6191a8cd3ccd_cgraph.svg +++ /dev/null @@ -1,86 +0,0 @@ - - - - - - - - - - - - -greedy_algorithms::dijkstra::dijkstra - - -Node1 - - -greedy_algorithms:: -dijkstra::dijkstra - - - - - -Node2 - - -greedy_algorithms:: -dijkstra::minimum_distance - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -greedy_algorithms:: -dijkstra::print - - - - - -Node1->Node3 - - - - - - - - - - - - - diff --git a/d2/d2f/namespacegreedy__algorithms_1_1dijkstra_af915876d0ca33cc71a6a6191a8cd3ccd_cgraph_org.svg b/d2/d2f/namespacegreedy__algorithms_1_1dijkstra_af915876d0ca33cc71a6a6191a8cd3ccd_cgraph_org.svg deleted file mode 100644 index 7ab3f586d..000000000 --- a/d2/d2f/namespacegreedy__algorithms_1_1dijkstra_af915876d0ca33cc71a6a6191a8cd3ccd_cgraph_org.svg +++ /dev/null @@ -1,60 +0,0 @@ - - - - - - -greedy_algorithms::dijkstra::dijkstra - - -Node1 - - -greedy_algorithms:: -dijkstra::dijkstra - - - - - -Node2 - - -greedy_algorithms:: -dijkstra::minimum_distance - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -greedy_algorithms:: -dijkstra::print - - - - - -Node1->Node3 - - - - - - - - diff --git a/d2/d36/structgeometry_1_1jarvis_1_1_point-members.html b/d2/d36/structgeometry_1_1jarvis_1_1_point-members.html index f32c212df..ee46f0b6f 100644 --- a/d2/d36/structgeometry_1_1jarvis_1_1_point-members.html +++ b/d2/d36/structgeometry_1_1jarvis_1_1_point-members.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Member List +TheAlgorithms/C++: Member List + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({

    Functions

    int minimum_distance (std::vector< int > mdist, std::vector< bool > vset, int V)
    int minimum_distance (std::vector< int > mdist, std::vector< bool > vset, int V)
     Utility function that finds the vertex with the minimum distance in mdist.
     
    void print (std::vector< int > dist, int V)
    void print (std::vector< int > dist, int V)
     Utility function to print the distances to vertices.
     
    void dijkstra (Graph graph, int src)
    int greedy_algorithms::dijkstra::minimum_distance (std::vector< int > mdist, std::vector< int > mdist,
    std::vector< bool > vset, std::vector< bool > vset,
    void greedy_algorithms::dijkstra::print (std::vector< int > dist, std::vector< int > dist,
    + diff --git a/d2/d3b/namespaceqr__algorithm.html b/d2/d3b/namespaceqr__algorithm.html index 054fce43b..3eb37c82c 100644 --- a/d2/d3b/namespaceqr__algorithm.html +++ b/d2/d3b/namespaceqr__algorithm.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: qr_algorithm Namespace Reference +TheAlgorithms/C++: qr_algorithm Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + @@ -116,24 +133,24 @@ $(function(){initNavTree('d2/d3b/namespaceqr__algorithm.html','../../'); initRes - + - + - + - + - + - + - +
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++

    Functions

    template<typename T >
    std::ostreamoperator<< (std::ostream &out, std::valarray< std::valarray< T > > const &v)
    std::ostream & operator<< (std::ostream &out, std::valarray< std::valarray< T > > const &v)
     
    template<typename T >
    std::ostreamoperator<< (std::ostream &out, std::valarray< T > const &v)
    std::ostream & operator<< (std::ostream &out, std::valarray< T > const &v)
     
    template<typename T >
    double vector_dot (const std::valarray< T > &a, const std::valarray< T > &b)
    double vector_dot (const std::valarray< T > &a, const std::valarray< T > &b)
     
    template<typename T >
    double vector_mag (const std::valarray< T > &a)
    double vector_mag (const std::valarray< T > &a)
     
    template<typename T >
    std::valarray< T > vector_proj (const std::valarray< T > &a, const std::valarray< T > &b)
    std::valarray< T > vector_proj (const std::valarray< T > &a, const std::valarray< T > &b)
     
    template<typename T >
    void qr_decompose (const std::valarray< std::valarray< T > > &A, std::valarray< std::valarray< T > > *Q, std::valarray< std::valarray< T > > *R)
    void qr_decompose (const std::valarray< std::valarray< T > > &A, std::valarray< std::valarray< T > > *Q, std::valarray< std::valarray< T > > *R)
     
    std::valarray< double > eigen_values (std::valarray< std::valarray< double > > *A, bool print_intermediates=false)
    std::valarray< double > eigen_values (std::valarray< std::valarray< double > > *A, bool print_intermediates=false)
     

    Detailed Description

    @@ -146,9 +163,9 @@ Functions
    - + - + @@ -183,27 +200,29 @@ Functions
    std::valarray< double > qr_algorithm::eigen_values std::valarray< double > qr_algorithm::eigen_values (std::valarray< std::valarray< double > > * A, std::valarray< std::valarray< double > > * A,
    + +

    Definition at line 98 of file qr_eigen_values.cpp.

    99 {
    100 int rows = A->size();
    101 int columns = rows;
    102 int counter = 0, num_eigs = rows - 1;
    103 double last_eig = 0;
    104
    - - +
    105 std::valarray<std::valarray<double>> Q(rows);
    +
    106 std::valarray<std::valarray<double>> R(columns);
    107
    108 /* number of eigen values = matrix size */
    -
    109 std::valarray<double> eigen_vals(rows);
    +
    109 std::valarray<double> eigen_vals(rows);
    110 for (int i = 0; i < rows; i++) {
    -
    111 Q[i] = std::valarray<double>(columns);
    -
    112 R[i] = std::valarray<double>(columns);
    +
    111 Q[i] = std::valarray<double>(columns);
    +
    112 R[i] = std::valarray<double>(columns);
    113 }
    114
    115 /* continue till all eigen values are found */
    116 while (num_eigs > 0) {
    117 /* iterate with QR decomposition */
    118 while (std::abs(A[0][num_eigs][num_eigs - 1]) >
    - +
    119 std::numeric_limits<double>::epsilon()) {
    120 // initial approximation = last diagonal element
    121 last_eig = A[0][num_eigs][num_eigs];
    122 for (int i = 0; i < rows; i++) {
    @@ -213,10 +232,10 @@ Functions
    126 qr_decompose(*A, &Q, &R);
    127
    128 if (print_intermediates) {
    -
    129 std::cout << *A << "\n";
    -
    130 std::cout << Q << "\n";
    -
    131 std::cout << R << "\n";
    -
    132 printf("-------------------- %d ---------------------\n",
    +
    129 std::cout << *A << "\n";
    +
    130 std::cout << Q << "\n";
    +
    131 std::cout << R << "\n";
    +
    132 printf("-------------------- %d ---------------------\n",
    133 ++counter);
    134 }
    135
    @@ -232,9 +251,9 @@ Functions
    145 eigen_vals[num_eigs] = last_eig;
    146 // A[0][num_eigs][num_eigs];
    147 if (print_intermediates) {
    -
    148 std::cout << "========================\n";
    -
    149 std::cout << "Eigen value: " << last_eig << ",\n";
    -
    150 std::cout << "========================\n";
    +
    148 std::cout << "========================\n";
    +
    149 std::cout << "Eigen value: " << last_eig << ",\n";
    +
    150 std::cout << "========================\n";
    151 }
    152
    153 num_eigs--;
    @@ -244,23 +263,14 @@ Functions
    157 eigen_vals[0] = A[0][0][0];
    158
    159 if (print_intermediates) {
    -
    160 std::cout << Q << "\n";
    -
    161 std::cout << R << "\n";
    +
    160 std::cout << Q << "\n";
    +
    161 std::cout << R << "\n";
    162 }
    163
    164 return eigen_vals;
    165}
    - -
    T printf(T... args)
    - -
    void mat_mul(const std::valarray< std::valarray< double > > &A, const std::valarray< std::valarray< double > > &B, std::valarray< std::valarray< double > > *OUT)
    Definition qr_eigen_values.cpp:54
    - -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    void mat_mul(const std::valarray< std::valarray< double > > &A, const std::valarray< std::valarray< double > > &B, std::valarray< std::valarray< double > > *OUT)
    +
    @@ -272,43 +282,35 @@ Here is the call graph for this function: template<typename T > - + - + - +
    std::ostream & qr_algorithm::operator<< std::ostream & qr_algorithm::operator<< (std::ostream & out, std::ostream & out,
    std::valarray< std::valarray< T > > const & v )std::valarray< std::valarray< T > > const & v )

    operator to print a matrix

    + +

    Definition at line 33 of file qr_decompose.h.

    34 {
    35 const int width = 12;
    36 const char separator = ' ';
    37
    -
    38 out.precision(4);
    +
    38 out.precision(4);
    39 for (size_t row = 0; row < v.size(); row++) {
    40 for (size_t col = 0; col < v[row].size(); col++)
    -
    41 out << std::right << std::setw(width) << std::setfill(separator)
    +
    41 out << std::right << std::setw(width) << std::setfill(separator)
    42 << v[row][col];
    -
    43 out << std::endl;
    +
    43 out << std::endl;
    44 }
    45
    46 return out;
    47}
    -
    T endl(T... args)
    -
    T right(T... args)
    -
    T precision(T... args)
    -
    T setfill(T... args)
    -
    T setw(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    @@ -320,36 +322,33 @@ Here is the call graph for this function: template<typename T > - + - + - +
    std::ostream & qr_algorithm::operator<< std::ostream & qr_algorithm::operator<< (std::ostream & out, std::ostream & out,
    std::valarray< T > const & v )std::valarray< T > const & v )

    operator to print a vector

    + +

    Definition at line 53 of file qr_decompose.h.

    53 {
    54 const int width = 10;
    55 const char separator = ' ';
    56
    -
    57 out.precision(4);
    +
    57 out.precision(4);
    58 for (size_t row = 0; row < v.size(); row++) {
    -
    59 out << std::right << std::setw(width) << std::setfill(separator)
    +
    59 out << std::right << std::setw(width) << std::setfill(separator)
    60 << v[row];
    61 }
    62
    63 return out;
    64}
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    @@ -363,17 +362,17 @@ template<typename T > void qr_algorithm::qr_decompose ( - const std::valarray< std::valarray< T > > & A, + const std::valarray< std::valarray< T > > & A, - std::valarray< std::valarray< T > > * Q, + std::valarray< std::valarray< T > > * Q, - std::valarray< std::valarray< T > > * R ) + std::valarray< std::valarray< T > > * R )
    @@ -408,12 +407,14 @@ template<typename T >
    + +

    Definition at line 146 of file qr_decompose.h.

    150 {
    -
    151 std::size_t ROWS = A.size(); // number of rows of A
    -
    152 std::size_t COLUMNS = A[0].size(); // number of columns of A
    -
    153 std::valarray<T> col_vector(ROWS);
    -
    154 std::valarray<T> col_vector2(ROWS);
    -
    155 std::valarray<T> tmp_vector(ROWS);
    +
    151 std::size_t ROWS = A.size(); // number of rows of A
    +
    152 std::size_t COLUMNS = A[0].size(); // number of columns of A
    +
    153 std::valarray<T> col_vector(ROWS);
    +
    154 std::valarray<T> col_vector2(ROWS);
    +
    155 std::valarray<T> tmp_vector(ROWS);
    156
    157 for (int i = 0; i < COLUMNS; i++) {
    158 /* for each column => R is a square matrix of NxN */
    @@ -466,18 +467,12 @@ template<typename T >
    205 }
    206 }
    207}
    -
    double k(double x)
    Another test function.
    Definition composite_simpson_rule.cpp:117
    -
    T sum(const std::vector< std::valarray< T > > &A)
    Definition vector_ops.hpp:232
    -
    std::valarray< T > vector_proj(const std::valarray< T > &a, const std::valarray< T > &b)
    Definition qr_decompose.h:104
    -
    double vector_mag(const std::valarray< T > &a)
    Definition qr_decompose.h:92
    - -
    double mag(const std::array< double, 3 > &vec)
    Calculates the magnitude of the mathematical vector from it's direction ratios.
    Definition vector_cross_product.cpp:83
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    double k(double x)
    Another test function.
    +
    T sum(const std::vector< std::valarray< T > > &A)
    +
    std::valarray< T > vector_proj(const std::valarray< T > &a, const std::valarray< T > &b)
    +
    double vector_mag(const std::valarray< T > &a)
    +
    double mag(const std::array< double, 3 > &vec)
    Calculates the magnitude of the mathematical vector from it's direction ratios.
    + @@ -494,12 +489,12 @@ template<typename T > double qr_algorithm::vector_dot ( - const std::valarray< T > & a, + const std::valarray< T > & a, - const std::valarray< T > & b ) + const std::valarray< T > & b ) @@ -511,6 +506,8 @@ template<typename T >

    Compute dot product of two vectors of equal lengths

    If \(\vec{a}=\left[a_0,a_1,a_2,...,a_L\right]\) and \(\vec{b}=\left[b_0,b_1,b_1,...,b_L\right]\) then \(\vec{a}\cdot\vec{b}=\displaystyle\sum_{i=0}^L a_i\times b_i\)

    Returns
    \(\vec{a}\cdot\vec{b}\)
    + +

    Definition at line 76 of file qr_decompose.h.

    76 {
    77 return (a * b).sum();
    78 // could also use following
    @@ -534,7 +531,7 @@ template<typename T >
    double qr_algorithm::vector_mag ( - const std::valarray< T > & a) + const std::valarray< T > & a) @@ -547,18 +544,14 @@ template<typename T >

    Compute magnitude of vector.

    If \(\vec{a}=\left[a_0,a_1,a_2,...,a_L\right]\) then \(\left|\vec{a}\right|=\sqrt{\displaystyle\sum_{i=0}^L a_i^2}\)

    Returns
    \(\left|\vec{a}\right|\)
    + +

    Definition at line 92 of file qr_decompose.h.

    92 {
    93 double dot = vector_dot(a, a);
    -
    94 return std::sqrt(dot);
    +
    94 return std::sqrt(dot);
    95}
    -
    double vector_dot(const std::valarray< T > &a, const std::valarray< T > &b)
    Definition qr_decompose.h:76
    -
    T sqrt(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    double vector_dot(const std::valarray< T > &a, const std::valarray< T > &b)
    + @@ -570,14 +563,14 @@ Here is the call graph for this function: template<typename T > - + - + - +
    std::valarray< T > qr_algorithm::vector_proj std::valarray< T > qr_algorithm::vector_proj (const std::valarray< T > & a, const std::valarray< T > & a,
    const std::valarray< T > & b )const std::valarray< T > & b )
    @@ -586,13 +579,14 @@ template<typename T >

    Returns
    NULL if error, otherwise pointer to output

    check for division by zero using machine epsilon

    + +

    Definition at line 104 of file qr_decompose.h.

    105 {
    106 double num = vector_dot(a, b);
    107 double deno = vector_dot(b, b);
    -
    108
    -
    109 /*! check for division by zero using machine epsilon */
    - -
    111 std::cerr << "[" << __func__ << "] Possible division by zero\n";
    +
    108
    +
    110 if (deno <= std::numeric_limits<double>::epsilon()) {
    +
    111 std::cerr << "[" << __func__ << "] Possible division by zero\n";
    112 return a; // return vector a back
    113 }
    114
    @@ -600,12 +594,7 @@ template<typename T >
    116
    117 return b * scalar;
    118}
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + diff --git a/d2/d3b/namespaceqr__algorithm_a257425cb2365359da51c6fe6741834d8_cgraph.map b/d2/d3b/namespaceqr__algorithm_a257425cb2365359da51c6fe6741834d8_cgraph.map deleted file mode 100644 index 88b4690df..000000000 --- a/d2/d3b/namespaceqr__algorithm_a257425cb2365359da51c6fe6741834d8_cgraph.map +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/d2/d3b/namespaceqr__algorithm_a257425cb2365359da51c6fe6741834d8_cgraph.md5 b/d2/d3b/namespaceqr__algorithm_a257425cb2365359da51c6fe6741834d8_cgraph.md5 deleted file mode 100644 index d9892e55d..000000000 --- a/d2/d3b/namespaceqr__algorithm_a257425cb2365359da51c6fe6741834d8_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -23e4e78cf3f136e0ea4329cf6536e0d7 \ No newline at end of file diff --git a/d2/d3b/namespaceqr__algorithm_a257425cb2365359da51c6fe6741834d8_cgraph.svg b/d2/d3b/namespaceqr__algorithm_a257425cb2365359da51c6fe6741834d8_cgraph.svg deleted file mode 100644 index edb212981..000000000 --- a/d2/d3b/namespaceqr__algorithm_a257425cb2365359da51c6fe6741834d8_cgraph.svg +++ /dev/null @@ -1,119 +0,0 @@ - - - - - - - - - - - - -qr_algorithm::operator<< - - -Node1 - - -qr_algorithm::operator<< - - - - - -Node2 - - -std::ostream::precision - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::right - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::setfill - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::setw - - - - - -Node1->Node5 - - - - - - - - - - - - - diff --git a/d2/d3b/namespaceqr__algorithm_a257425cb2365359da51c6fe6741834d8_cgraph_org.svg b/d2/d3b/namespaceqr__algorithm_a257425cb2365359da51c6fe6741834d8_cgraph_org.svg deleted file mode 100644 index 9d8e3fcde..000000000 --- a/d2/d3b/namespaceqr__algorithm_a257425cb2365359da51c6fe6741834d8_cgraph_org.svg +++ /dev/null @@ -1,93 +0,0 @@ - - - - - - -qr_algorithm::operator<< - - -Node1 - - -qr_algorithm::operator<< - - - - - -Node2 - - -std::ostream::precision - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::right - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::setfill - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::setw - - - - - -Node1->Node5 - - - - - - - - diff --git a/d2/d3b/namespaceqr__algorithm_a28e2fa3e803abaea6c568dc45d69d8cc_cgraph.map b/d2/d3b/namespaceqr__algorithm_a28e2fa3e803abaea6c568dc45d69d8cc_cgraph.map deleted file mode 100644 index 727a19451..000000000 --- a/d2/d3b/namespaceqr__algorithm_a28e2fa3e803abaea6c568dc45d69d8cc_cgraph.map +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - - - - - diff --git a/d2/d3b/namespaceqr__algorithm_a28e2fa3e803abaea6c568dc45d69d8cc_cgraph.md5 b/d2/d3b/namespaceqr__algorithm_a28e2fa3e803abaea6c568dc45d69d8cc_cgraph.md5 deleted file mode 100644 index 34100262b..000000000 --- a/d2/d3b/namespaceqr__algorithm_a28e2fa3e803abaea6c568dc45d69d8cc_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -835c4d7ef55d24567988a9cb0e874083 \ No newline at end of file diff --git a/d2/d3b/namespaceqr__algorithm_a28e2fa3e803abaea6c568dc45d69d8cc_cgraph.svg b/d2/d3b/namespaceqr__algorithm_a28e2fa3e803abaea6c568dc45d69d8cc_cgraph.svg deleted file mode 100644 index 331c6c507..000000000 --- a/d2/d3b/namespaceqr__algorithm_a28e2fa3e803abaea6c568dc45d69d8cc_cgraph.svg +++ /dev/null @@ -1,222 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -qr_algorithm::eigen_values - - -Node1 - - -qr_algorithm::eigen -_values - - - - - -Node2 - - -mat_mul - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -qr_algorithm::qr_decompose - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -qr_algorithm::vector_mag - - - - - -Node3->Node4 - - - - - - - - -Node7 - - -qr_algorithm::vector_proj - - - - - -Node3->Node7 - - - - - - - - -Node5 - - -std::sqrt - - - - - -Node4->Node5 - - - - - - - - -Node6 - - -qr_algorithm::vector_dot - - - - - -Node4->Node6 - - - - - - - - -Node7->Node6 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d2/d3b/namespaceqr__algorithm_a28e2fa3e803abaea6c568dc45d69d8cc_cgraph_org.svg b/d2/d3b/namespaceqr__algorithm_a28e2fa3e803abaea6c568dc45d69d8cc_cgraph_org.svg deleted file mode 100644 index 16d6c0311..000000000 --- a/d2/d3b/namespaceqr__algorithm_a28e2fa3e803abaea6c568dc45d69d8cc_cgraph_org.svg +++ /dev/null @@ -1,139 +0,0 @@ - - - - - - -qr_algorithm::eigen_values - - -Node1 - - -qr_algorithm::eigen -_values - - - - - -Node2 - - -mat_mul - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -qr_algorithm::qr_decompose - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -qr_algorithm::vector_mag - - - - - -Node3->Node4 - - - - - - - - -Node7 - - -qr_algorithm::vector_proj - - - - - -Node3->Node7 - - - - - - - - -Node5 - - -std::sqrt - - - - - -Node4->Node5 - - - - - - - - -Node6 - - -qr_algorithm::vector_dot - - - - - -Node4->Node6 - - - - - - - - -Node7->Node6 - - - - - - - - diff --git a/d2/d3b/namespaceqr__algorithm_a6d3c7dce1f142141f509d09f6c0e25dc_cgraph.map b/d2/d3b/namespaceqr__algorithm_a6d3c7dce1f142141f509d09f6c0e25dc_cgraph.map deleted file mode 100644 index f1eddd910..000000000 --- a/d2/d3b/namespaceqr__algorithm_a6d3c7dce1f142141f509d09f6c0e25dc_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d2/d3b/namespaceqr__algorithm_a6d3c7dce1f142141f509d09f6c0e25dc_cgraph.md5 b/d2/d3b/namespaceqr__algorithm_a6d3c7dce1f142141f509d09f6c0e25dc_cgraph.md5 deleted file mode 100644 index 092596690..000000000 --- a/d2/d3b/namespaceqr__algorithm_a6d3c7dce1f142141f509d09f6c0e25dc_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -d482aea59b7bc06ab150c5cb942b2a81 \ No newline at end of file diff --git a/d2/d3b/namespaceqr__algorithm_a6d3c7dce1f142141f509d09f6c0e25dc_cgraph.svg b/d2/d3b/namespaceqr__algorithm_a6d3c7dce1f142141f509d09f6c0e25dc_cgraph.svg deleted file mode 100644 index b3617d170..000000000 --- a/d2/d3b/namespaceqr__algorithm_a6d3c7dce1f142141f509d09f6c0e25dc_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -qr_algorithm::vector_proj - - -Node1 - - -qr_algorithm::vector_proj - - - - - -Node2 - - -qr_algorithm::vector_dot - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d2/d3b/namespaceqr__algorithm_a6d3c7dce1f142141f509d09f6c0e25dc_cgraph_org.svg b/d2/d3b/namespaceqr__algorithm_a6d3c7dce1f142141f509d09f6c0e25dc_cgraph_org.svg deleted file mode 100644 index a71509e99..000000000 --- a/d2/d3b/namespaceqr__algorithm_a6d3c7dce1f142141f509d09f6c0e25dc_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -qr_algorithm::vector_proj - - -Node1 - - -qr_algorithm::vector_proj - - - - - -Node2 - - -qr_algorithm::vector_dot - - - - - -Node1->Node2 - - - - - - - - diff --git a/d2/d3b/namespaceqr__algorithm_a73ce637634fc49e1d10d190eb388ebf1_cgraph.map b/d2/d3b/namespaceqr__algorithm_a73ce637634fc49e1d10d190eb388ebf1_cgraph.map deleted file mode 100644 index 9f7b3df09..000000000 --- a/d2/d3b/namespaceqr__algorithm_a73ce637634fc49e1d10d190eb388ebf1_cgraph.map +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - - - diff --git a/d2/d3b/namespaceqr__algorithm_a73ce637634fc49e1d10d190eb388ebf1_cgraph.md5 b/d2/d3b/namespaceqr__algorithm_a73ce637634fc49e1d10d190eb388ebf1_cgraph.md5 deleted file mode 100644 index b79ae481a..000000000 --- a/d2/d3b/namespaceqr__algorithm_a73ce637634fc49e1d10d190eb388ebf1_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -46f9a1dd27bf0b3571fe9396e7a9178b \ No newline at end of file diff --git a/d2/d3b/namespaceqr__algorithm_a73ce637634fc49e1d10d190eb388ebf1_cgraph.svg b/d2/d3b/namespaceqr__algorithm_a73ce637634fc49e1d10d190eb388ebf1_cgraph.svg deleted file mode 100644 index 05eafd5fa..000000000 --- a/d2/d3b/namespaceqr__algorithm_a73ce637634fc49e1d10d190eb388ebf1_cgraph.svg +++ /dev/null @@ -1,128 +0,0 @@ - - - - - - - - - - - - -qr_algorithm::qr_decompose - - -Node1 - - -qr_algorithm::qr_decompose - - - - - -Node2 - - -qr_algorithm::vector_mag - - - - - -Node1->Node2 - - - - - - - - -Node5 - - -qr_algorithm::vector_proj - - - - - -Node1->Node5 - - - - - - - - -Node3 - - -std::sqrt - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -qr_algorithm::vector_dot - - - - - -Node2->Node4 - - - - - - - - -Node5->Node4 - - - - - - - - - - - - - diff --git a/d2/d3b/namespaceqr__algorithm_a73ce637634fc49e1d10d190eb388ebf1_cgraph_org.svg b/d2/d3b/namespaceqr__algorithm_a73ce637634fc49e1d10d190eb388ebf1_cgraph_org.svg deleted file mode 100644 index 2de247c59..000000000 --- a/d2/d3b/namespaceqr__algorithm_a73ce637634fc49e1d10d190eb388ebf1_cgraph_org.svg +++ /dev/null @@ -1,102 +0,0 @@ - - - - - - -qr_algorithm::qr_decompose - - -Node1 - - -qr_algorithm::qr_decompose - - - - - -Node2 - - -qr_algorithm::vector_mag - - - - - -Node1->Node2 - - - - - - - - -Node5 - - -qr_algorithm::vector_proj - - - - - -Node1->Node5 - - - - - - - - -Node3 - - -std::sqrt - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -qr_algorithm::vector_dot - - - - - -Node2->Node4 - - - - - - - - -Node5->Node4 - - - - - - - - diff --git a/d2/d3b/namespaceqr__algorithm_ad16da2183db22378435042f26af43d5f_cgraph.map b/d2/d3b/namespaceqr__algorithm_ad16da2183db22378435042f26af43d5f_cgraph.map deleted file mode 100644 index 51b181363..000000000 --- a/d2/d3b/namespaceqr__algorithm_ad16da2183db22378435042f26af43d5f_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/d2/d3b/namespaceqr__algorithm_ad16da2183db22378435042f26af43d5f_cgraph.md5 b/d2/d3b/namespaceqr__algorithm_ad16da2183db22378435042f26af43d5f_cgraph.md5 deleted file mode 100644 index 8a0b75473..000000000 --- a/d2/d3b/namespaceqr__algorithm_ad16da2183db22378435042f26af43d5f_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -c2b9d4bf3c30a50da97306821a95eb1a \ No newline at end of file diff --git a/d2/d3b/namespaceqr__algorithm_ad16da2183db22378435042f26af43d5f_cgraph.svg b/d2/d3b/namespaceqr__algorithm_ad16da2183db22378435042f26af43d5f_cgraph.svg deleted file mode 100644 index 799261362..000000000 --- a/d2/d3b/namespaceqr__algorithm_ad16da2183db22378435042f26af43d5f_cgraph.svg +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - -qr_algorithm::vector_mag - - -Node1 - - -qr_algorithm::vector_mag - - - - - -Node2 - - -std::sqrt - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -qr_algorithm::vector_dot - - - - - -Node1->Node3 - - - - - - - - - - - - - diff --git a/d2/d3b/namespaceqr__algorithm_ad16da2183db22378435042f26af43d5f_cgraph_org.svg b/d2/d3b/namespaceqr__algorithm_ad16da2183db22378435042f26af43d5f_cgraph_org.svg deleted file mode 100644 index f0ac1c468..000000000 --- a/d2/d3b/namespaceqr__algorithm_ad16da2183db22378435042f26af43d5f_cgraph_org.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - -qr_algorithm::vector_mag - - -Node1 - - -qr_algorithm::vector_mag - - - - - -Node2 - - -std::sqrt - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -qr_algorithm::vector_dot - - - - - -Node1->Node3 - - - - - - - - diff --git a/d2/d3b/namespaceqr__algorithm_adfbdf47277c8cfee229b05b72f1f7834_cgraph.map b/d2/d3b/namespaceqr__algorithm_adfbdf47277c8cfee229b05b72f1f7834_cgraph.map deleted file mode 100644 index c1971a678..000000000 --- a/d2/d3b/namespaceqr__algorithm_adfbdf47277c8cfee229b05b72f1f7834_cgraph.map +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - diff --git a/d2/d3b/namespaceqr__algorithm_adfbdf47277c8cfee229b05b72f1f7834_cgraph.md5 b/d2/d3b/namespaceqr__algorithm_adfbdf47277c8cfee229b05b72f1f7834_cgraph.md5 deleted file mode 100644 index 0dc31c22b..000000000 --- a/d2/d3b/namespaceqr__algorithm_adfbdf47277c8cfee229b05b72f1f7834_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -b980627778b1c3e06b5698d20950fe1d \ No newline at end of file diff --git a/d2/d3b/namespaceqr__algorithm_adfbdf47277c8cfee229b05b72f1f7834_cgraph.svg b/d2/d3b/namespaceqr__algorithm_adfbdf47277c8cfee229b05b72f1f7834_cgraph.svg deleted file mode 100644 index 3244c344f..000000000 --- a/d2/d3b/namespaceqr__algorithm_adfbdf47277c8cfee229b05b72f1f7834_cgraph.svg +++ /dev/null @@ -1,137 +0,0 @@ - - - - - - - - - - - - -qr_algorithm::operator<< - - -Node1 - - -qr_algorithm::operator<< - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::ostream::precision - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::right - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::setfill - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -std::setw - - - - - -Node1->Node6 - - - - - - - - - - - - - diff --git a/d2/d3b/namespaceqr__algorithm_adfbdf47277c8cfee229b05b72f1f7834_cgraph_org.svg b/d2/d3b/namespaceqr__algorithm_adfbdf47277c8cfee229b05b72f1f7834_cgraph_org.svg deleted file mode 100644 index 7544454bf..000000000 --- a/d2/d3b/namespaceqr__algorithm_adfbdf47277c8cfee229b05b72f1f7834_cgraph_org.svg +++ /dev/null @@ -1,111 +0,0 @@ - - - - - - -qr_algorithm::operator<< - - -Node1 - - -qr_algorithm::operator<< - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::ostream::precision - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::right - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::setfill - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -std::setw - - - - - -Node1->Node6 - - - - - - - - diff --git a/d2/d45/segtree_8cpp.html b/d2/d45/segtree_8cpp.html index 6f56c273e..35af03921 100644 --- a/d2/d45/segtree_8cpp.html +++ b/d2/d45/segtree_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: range_queries/segtree.cpp File Reference +TheAlgorithms/C++: range_queries/segtree.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -122,16 +139,18 @@ Include dependency graph for segtree.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    - - + + - + - + @@ -155,6 +174,8 @@ FunctionsSoham Roy + +

    Definition in file segtree.cpp.

    Function Documentation

    ◆ ConsTree()

    @@ -165,12 +186,12 @@ Functions - + - + @@ -190,8 +211,8 @@ Functions

    Functions

    void ConsTree (const std::vector< int64_t > &arr, std::vector< int64_t > *segtree, uint64_t low, uint64_t high, uint64_t pos)
     for std::vector
    void ConsTree (const std::vector< int64_t > &arr, std::vector< int64_t > *segtree, uint64_t low, uint64_t high, uint64_t pos)
     for std::vector
     
    int64_t query (std::vector< int64_t > *segtree, std::vector< int64_t > *lazy, uint64_t qlow, uint64_t qhigh, uint64_t low, uint64_t high, uint64_t pos)
    int64_t query (std::vector< int64_t > *segtree, std::vector< int64_t > *lazy, uint64_t qlow, uint64_t qhigh, uint64_t low, uint64_t high, uint64_t pos)
     Returns the sum of all elements in a range.
     
    void update (std::vector< int64_t > *segtree, std::vector< int64_t > *lazy, int64_t start, int64_t end, int64_t delta, uint64_t low, uint64_t high, uint64_t pos)
    void update (std::vector< int64_t > *segtree, std::vector< int64_t > *lazy, int64_t start, int64_t end, int64_t delta, uint64_t low, uint64_t high, uint64_t pos)
     Updates a range of the segment tree.
     
    static void test ()
    void ConsTree (const std::vector< int64_t > & arr, const std::vector< int64_t > & arr,
    std::vector< int64_t > * segtree, std::vector< int64_t > * segtree,
    -

    for std::vector

    -

    for assert for log2 for std::uint64_t for IO operations

    +

    for std::vector

    +

    for assert for log2 for std::uint64_t for IO operations

    Constructs the initial segment tree

    Parameters
    @@ -204,6 +225,8 @@ Functions
    Returns
    void
    + +

    Definition at line 38 of file segtree.cpp.

    39 {
    40 if (low == high) {
    41 (*segtree)[pos] = arr[low];
    @@ -215,13 +238,8 @@ Functions
    47 ConsTree(arr, segtree, mid + 1, high, 2 * pos + 2);
    48 (*segtree)[pos] = (*segtree)[2 * pos + 1] + (*segtree)[2 * pos + 2];
    49}
    -
    void ConsTree(const std::vector< int64_t > &arr, std::vector< int64_t > *segtree, uint64_t low, uint64_t high, uint64_t pos)
    for std::vector
    Definition segtree.cpp:38
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    void ConsTree(const std::vector< int64_t > &arr, std::vector< int64_t > *segtree, uint64_t low, uint64_t high, uint64_t pos)
    for std::vector
    Definition segtree.cpp:38
    + @@ -241,73 +259,64 @@ Here is the call graph for this function:

    Main function.

    Returns
    0 on exit
    + +

    Definition at line 168 of file segtree.cpp.

    168 {
    169 test(); // run self-test implementations
    170
    -
    171 std::cout << "Enter number of elements: ";
    +
    171 std::cout << "Enter number of elements: ";
    172
    173 uint64_t n = 0;
    -
    174 std::cin >> n;
    +
    174 std::cin >> n;
    175
    -
    176 auto max = static_cast<uint64_t>(2 * pow(2, ceil(log2(n))) - 1);
    -
    177 std::vector<int64_t> arr(n), lazy(max), segtree(max);
    +
    176 auto max = static_cast<uint64_t>(2 * pow(2, ceil(log2(n))) - 1);
    +
    177 std::vector<int64_t> arr(n), lazy(max), segtree(max);
    178
    179 int choice = 0;
    -
    180 std::cout << "\nDo you wish to enter each number?:\n"
    +
    180 std::cout << "\nDo you wish to enter each number?:\n"
    181 "1: Yes\n"
    182 "0: No (default initialize them to 0)\n";
    183
    -
    184 std::cin >> choice;
    +
    184 std::cin >> choice;
    185 if (choice == 1) {
    -
    186 std::cout << "Enter " << n << " numbers:\n";
    +
    186 std::cout << "Enter " << n << " numbers:\n";
    187 for (int i = 1; i <= n; i++) {
    -
    188 std::cout << i << ": ";
    -
    189 std::cin >> arr[i];
    +
    188 std::cout << i << ": ";
    +
    189 std::cin >> arr[i];
    190 }
    191 }
    192
    193 ConsTree(arr, &segtree, 0, n - 1, 0);
    194
    195 do {
    -
    196 std::cout << "\nMake your choice:\n"
    +
    196 std::cout << "\nMake your choice:\n"
    197 "1: Range update (input)\n"
    198 "2: Range query (output)\n"
    199 "0: Exit\n";
    -
    200 std::cin >> choice;
    +
    200 std::cin >> choice;
    201
    202 if (choice == 1) {
    -
    203 std::cout << "Enter 1-indexed lower bound, upper bound & value:\n";
    +
    203 std::cout << "Enter 1-indexed lower bound, upper bound & value:\n";
    204
    205 uint64_t p = 1, q = 1, v = 0;
    -
    206 std::cin >> p >> q >> v;
    +
    206 std::cin >> p >> q >> v;
    207 update(&segtree, &lazy, p - 1, q - 1, v, 0, n - 1, 0);
    208 } else if (choice == 2) {
    -
    209 std::cout << "Enter 1-indexed lower bound & upper bound:\n";
    +
    209 std::cout << "Enter 1-indexed lower bound & upper bound:\n";
    210
    211 uint64_t p = 1, q = 1;
    -
    212 std::cin >> p >> q;
    -
    213 std::cout << query(&segtree, &lazy, p - 1, q - 1, 0, n - 1, 0);
    -
    214 std::cout << "\n";
    +
    212 std::cin >> p >> q;
    +
    213 std::cout << query(&segtree, &lazy, p - 1, q - 1, 0, n - 1, 0);
    +
    214 std::cout << "\n";
    215 }
    216 } while (choice > 0);
    217
    218 return 0;
    219}
    - - -
    T ceil(T... args)
    -
    T max(T... args)
    -
    T pow(T... args)
    -
    int64_t query(std::vector< int64_t > *segtree, std::vector< int64_t > *lazy, uint64_t qlow, uint64_t qhigh, uint64_t low, uint64_t high, uint64_t pos)
    Returns the sum of all elements in a range.
    Definition segtree.cpp:63
    -
    static void test()
    Self-test implementation.
    Definition segtree.cpp:147
    -
    void update(std::vector< int64_t > *segtree, std::vector< int64_t > *lazy, int64_t start, int64_t end, int64_t delta, uint64_t low, uint64_t high, uint64_t pos)
    Updates a range of the segment tree.
    Definition segtree.cpp:103
    - -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    int64_t query(std::vector< int64_t > *segtree, std::vector< int64_t > *lazy, uint64_t qlow, uint64_t qhigh, uint64_t low, uint64_t high, uint64_t pos)
    Returns the sum of all elements in a range.
    Definition segtree.cpp:63
    +
    static void test()
    Self-test implementation.
    Definition segtree.cpp:147
    +
    void update(std::vector< int64_t > *segtree, std::vector< int64_t > *lazy, int64_t start, int64_t end, int64_t delta, uint64_t low, uint64_t high, uint64_t pos)
    Updates a range of the segment tree.
    Definition segtree.cpp:103
    + @@ -319,12 +328,12 @@ Here is the call graph for this function: - + - + @@ -368,6 +377,8 @@ Here is the call graph for this function:
    Returns
    result of the range query for this function call
    + +

    Definition at line 63 of file segtree.cpp.

    65 {
    66 if (low > high || qlow > high || low > qhigh) {
    67 return 0;
    @@ -392,12 +403,7 @@ Here is the call graph for this function:
    86 return query(segtree, lazy, qlow, qhigh, low, mid, 2 * pos + 1) +
    87 query(segtree, lazy, qlow, qhigh, mid + 1, high, 2 * pos + 2);
    88}
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -425,11 +431,13 @@ Here is the call graph for this function:

    Self-test implementation.

    Returns
    void
    + +

    Definition at line 147 of file segtree.cpp.

    147 {
    -
    148 auto max = static_cast<int64_t>(2 * pow(2, ceil(log2(7))) - 1);
    +
    148 auto max = static_cast<int64_t>(2 * pow(2, ceil(log2(7))) - 1);
    149 assert(max == 15);
    150
    -
    151 std::vector<int64_t> arr{1, 2, 3, 4, 5, 6, 7}, lazy(max), segtree(max);
    +
    151 std::vector<int64_t> arr{1, 2, 3, 4, 5, 6, 7}, lazy(max), segtree(max);
    152 ConsTree(arr, &segtree, 0, 7 - 1, 0);
    153
    154 assert(query(&segtree, &lazy, 1, 5, 0, 7 - 1, 0) == 2 + 3 + 4 + 5 + 6);
    @@ -440,12 +448,7 @@ Here is the call graph for this function:
    159 update(&segtree, &lazy, 0, 6, -2, 0, 7 - 1, 0);
    160 assert(query(&segtree, &lazy, 0, 4, 0, 7 - 1, 0) == -1 + 0 + 2 + 3 + 4);
    161}
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -457,12 +460,12 @@ Here is the call graph for this function: - + - + @@ -512,6 +515,8 @@ Here is the call graph for this function:
    Returns
    void
    + +

    Definition at line 103 of file segtree.cpp.

    105 {
    106 if (low > high) {
    107 return;
    @@ -548,12 +553,7 @@ Here is the call graph for this function:
    138 update(segtree, lazy, start, end, delta, mid + 1, high, 2 * pos + 2);
    139 (*segtree)[pos] = (*segtree)[2 * pos + 1] + (*segtree)[2 * pos + 2];
    140}
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + diff --git a/d2/d45/segtree_8cpp_a423a97ea0c7ea6e33b5844a6858d902d_cgraph.map b/d2/d45/segtree_8cpp_a423a97ea0c7ea6e33b5844a6858d902d_cgraph.map deleted file mode 100644 index bacea79c8..000000000 --- a/d2/d45/segtree_8cpp_a423a97ea0c7ea6e33b5844a6858d902d_cgraph.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/d2/d45/segtree_8cpp_a423a97ea0c7ea6e33b5844a6858d902d_cgraph.md5 b/d2/d45/segtree_8cpp_a423a97ea0c7ea6e33b5844a6858d902d_cgraph.md5 deleted file mode 100644 index 5f3b146db..000000000 --- a/d2/d45/segtree_8cpp_a423a97ea0c7ea6e33b5844a6858d902d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -4beb5565895e9cc3a907595a928822dd \ No newline at end of file diff --git a/d2/d45/segtree_8cpp_a423a97ea0c7ea6e33b5844a6858d902d_cgraph.svg b/d2/d45/segtree_8cpp_a423a97ea0c7ea6e33b5844a6858d902d_cgraph.svg deleted file mode 100644 index b1d9d2168..000000000 --- a/d2/d45/segtree_8cpp_a423a97ea0c7ea6e33b5844a6858d902d_cgraph.svg +++ /dev/null @@ -1,56 +0,0 @@ - - - - - - - - - - - - -query - - -Node1 - - -query - - - - - -Node1->Node1 - - - - - - - - - - - - - diff --git a/d2/d45/segtree_8cpp_a423a97ea0c7ea6e33b5844a6858d902d_cgraph_org.svg b/d2/d45/segtree_8cpp_a423a97ea0c7ea6e33b5844a6858d902d_cgraph_org.svg deleted file mode 100644 index 3d06d4a57..000000000 --- a/d2/d45/segtree_8cpp_a423a97ea0c7ea6e33b5844a6858d902d_cgraph_org.svg +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - -query - - -Node1 - - -query - - - - - -Node1->Node1 - - - - - - - - diff --git a/d2/d45/segtree_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map b/d2/d45/segtree_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map deleted file mode 100644 index e869c7533..000000000 --- a/d2/d45/segtree_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - - - diff --git a/d2/d45/segtree_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 b/d2/d45/segtree_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 deleted file mode 100644 index 2d602a06b..000000000 --- a/d2/d45/segtree_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -6c368350e0a7027c1dc6b6fa18659a3e \ No newline at end of file diff --git a/d2/d45/segtree_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg b/d2/d45/segtree_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg deleted file mode 100644 index 3601b652d..000000000 --- a/d2/d45/segtree_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg +++ /dev/null @@ -1,128 +0,0 @@ - - - - - - - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -ConsTree - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -query - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -update - - - - - -Node1->Node4 - - - - - - - - -Node2->Node2 - - - - - - - - -Node3->Node3 - - - - - - - - -Node4->Node4 - - - - - - - - - - - - - diff --git a/d2/d45/segtree_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg b/d2/d45/segtree_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg deleted file mode 100644 index b64e6b3a6..000000000 --- a/d2/d45/segtree_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg +++ /dev/null @@ -1,102 +0,0 @@ - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -ConsTree - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -query - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -update - - - - - -Node1->Node4 - - - - - - - - -Node2->Node2 - - - - - - - - -Node3->Node3 - - - - - - - - -Node4->Node4 - - - - - - - - diff --git a/d2/d45/segtree_8cpp_abd3e818681fb2e29cf08f4f60f82c8e0_cgraph.map b/d2/d45/segtree_8cpp_abd3e818681fb2e29cf08f4f60f82c8e0_cgraph.map deleted file mode 100644 index c219b08d7..000000000 --- a/d2/d45/segtree_8cpp_abd3e818681fb2e29cf08f4f60f82c8e0_cgraph.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/d2/d45/segtree_8cpp_abd3e818681fb2e29cf08f4f60f82c8e0_cgraph.md5 b/d2/d45/segtree_8cpp_abd3e818681fb2e29cf08f4f60f82c8e0_cgraph.md5 deleted file mode 100644 index 09f31c0b9..000000000 --- a/d2/d45/segtree_8cpp_abd3e818681fb2e29cf08f4f60f82c8e0_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -a6327aecff5a1ed72a0210ea6b30c077 \ No newline at end of file diff --git a/d2/d45/segtree_8cpp_abd3e818681fb2e29cf08f4f60f82c8e0_cgraph.svg b/d2/d45/segtree_8cpp_abd3e818681fb2e29cf08f4f60f82c8e0_cgraph.svg deleted file mode 100644 index 342892b63..000000000 --- a/d2/d45/segtree_8cpp_abd3e818681fb2e29cf08f4f60f82c8e0_cgraph.svg +++ /dev/null @@ -1,56 +0,0 @@ - - - - - - - - - - - - -update - - -Node1 - - -update - - - - - -Node1->Node1 - - - - - - - - - - - - - diff --git a/d2/d45/segtree_8cpp_abd3e818681fb2e29cf08f4f60f82c8e0_cgraph_org.svg b/d2/d45/segtree_8cpp_abd3e818681fb2e29cf08f4f60f82c8e0_cgraph_org.svg deleted file mode 100644 index 0c28147e2..000000000 --- a/d2/d45/segtree_8cpp_abd3e818681fb2e29cf08f4f60f82c8e0_cgraph_org.svg +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - -update - - -Node1 - - -update - - - - - -Node1->Node1 - - - - - - - - diff --git a/d2/d45/segtree_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d2/d45/segtree_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index b61783e3f..000000000 --- a/d2/d45/segtree_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - - - - - diff --git a/d2/d45/segtree_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d2/d45/segtree_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index 3ab386bf6..000000000 --- a/d2/d45/segtree_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -67332d76b842788ad2c01c9d0b1410a8 \ No newline at end of file diff --git a/d2/d45/segtree_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d2/d45/segtree_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index ae5d10f8a..000000000 --- a/d2/d45/segtree_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,173 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -ConsTree - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -query - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -test - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -update - - - - - -Node1->Node5 - - - - - - - - -Node2->Node2 - - - - - - - - -Node3->Node3 - - - - - - - - -Node4->Node2 - - - - - - - - -Node4->Node3 - - - - - - - - -Node4->Node5 - - - - - - - - -Node5->Node5 - - - - - - - - - - - - - diff --git a/d2/d45/segtree_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d2/d45/segtree_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index b96c55099..000000000 --- a/d2/d45/segtree_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -ConsTree - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -query - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -test - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -update - - - - - -Node1->Node5 - - - - - - - - -Node2->Node2 - - - - - - - - -Node3->Node3 - - - - - - - - -Node4->Node2 - - - - - - - - -Node4->Node3 - - - - - - - - -Node4->Node5 - - - - - - - - -Node5->Node5 - - - - - - - - diff --git a/d2/d45/segtree_8cpp_ae752659b7c1719d68fdb2ca538a93696_cgraph.map b/d2/d45/segtree_8cpp_ae752659b7c1719d68fdb2ca538a93696_cgraph.map deleted file mode 100644 index 317e58b89..000000000 --- a/d2/d45/segtree_8cpp_ae752659b7c1719d68fdb2ca538a93696_cgraph.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/d2/d45/segtree_8cpp_ae752659b7c1719d68fdb2ca538a93696_cgraph.md5 b/d2/d45/segtree_8cpp_ae752659b7c1719d68fdb2ca538a93696_cgraph.md5 deleted file mode 100644 index 3b73e96c4..000000000 --- a/d2/d45/segtree_8cpp_ae752659b7c1719d68fdb2ca538a93696_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -f00a82031718d136ff74e99fcc9e0f2f \ No newline at end of file diff --git a/d2/d45/segtree_8cpp_ae752659b7c1719d68fdb2ca538a93696_cgraph.svg b/d2/d45/segtree_8cpp_ae752659b7c1719d68fdb2ca538a93696_cgraph.svg deleted file mode 100644 index 01c27a1e2..000000000 --- a/d2/d45/segtree_8cpp_ae752659b7c1719d68fdb2ca538a93696_cgraph.svg +++ /dev/null @@ -1,56 +0,0 @@ - - - - - - - - - - - - -ConsTree - - -Node1 - - -ConsTree - - - - - -Node1->Node1 - - - - - - - - - - - - - diff --git a/d2/d45/segtree_8cpp_ae752659b7c1719d68fdb2ca538a93696_cgraph_org.svg b/d2/d45/segtree_8cpp_ae752659b7c1719d68fdb2ca538a93696_cgraph_org.svg deleted file mode 100644 index 303cc1b0f..000000000 --- a/d2/d45/segtree_8cpp_ae752659b7c1719d68fdb2ca538a93696_cgraph_org.svg +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - -ConsTree - - -Node1 - - -ConsTree - - - - - -Node1->Node1 - - - - - - - - diff --git a/d2/d45/segtree_8cpp_source.html b/d2/d45/segtree_8cpp_source.html new file mode 100644 index 000000000..7e175920e --- /dev/null +++ b/d2/d45/segtree_8cpp_source.html @@ -0,0 +1,306 @@ + + + + + + + + +TheAlgorithms/C++: range_queries/segtree.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    int64_t query (std::vector< int64_t > * segtree, std::vector< int64_t > * segtree,
    std::vector< int64_t > * lazy, std::vector< int64_t > * lazy,
    void update (std::vector< int64_t > * segtree, std::vector< int64_t > * segtree,
    std::vector< int64_t > * lazy, std::vector< int64_t > * lazy,
    + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + + +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    segtree.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    22#include <cassert>
    +
    23#include <cmath>
    +
    24#include <cstdint>
    +
    25#include <iostream>
    +
    26#include <vector>
    +
    27
    +
    +
    38void ConsTree(const std::vector<int64_t> &arr, std::vector<int64_t> *segtree,
    +
    39 uint64_t low, uint64_t high, uint64_t pos) {
    +
    40 if (low == high) {
    +
    41 (*segtree)[pos] = arr[low];
    +
    42 return;
    +
    43 }
    +
    44
    +
    45 uint64_t mid = (low + high) / 2;
    +
    46 ConsTree(arr, segtree, low, mid, 2 * pos + 1);
    +
    47 ConsTree(arr, segtree, mid + 1, high, 2 * pos + 2);
    +
    48 (*segtree)[pos] = (*segtree)[2 * pos + 1] + (*segtree)[2 * pos + 2];
    +
    49}
    +
    +
    50
    +
    +
    63int64_t query(std::vector<int64_t> *segtree, std::vector<int64_t> *lazy,
    +
    64 uint64_t qlow, uint64_t qhigh, uint64_t low, uint64_t high,
    +
    65 uint64_t pos) {
    +
    66 if (low > high || qlow > high || low > qhigh) {
    +
    67 return 0;
    +
    68 }
    +
    69
    +
    70 if ((*lazy)[pos] != 0) {
    +
    71 (*segtree)[pos] += (*lazy)[pos] * (high - low + 1);
    +
    72
    +
    73 if (low != high) {
    +
    74 (*lazy)[2 * pos + 1] += (*lazy)[pos];
    +
    75 (*lazy)[2 * pos + 2] += (*lazy)[pos];
    +
    76 }
    +
    77 (*lazy)[pos] = 0;
    +
    78 }
    +
    79
    +
    80 if (qlow <= low && qhigh >= high) {
    +
    81 return (*segtree)[pos];
    +
    82 }
    +
    83
    +
    84 uint64_t mid = (low + high) / 2;
    +
    85
    +
    86 return query(segtree, lazy, qlow, qhigh, low, mid, 2 * pos + 1) +
    +
    87 query(segtree, lazy, qlow, qhigh, mid + 1, high, 2 * pos + 2);
    +
    88}
    +
    +
    89
    +
    +
    103void update(std::vector<int64_t> *segtree, std::vector<int64_t> *lazy,
    +
    104 int64_t start, int64_t end, int64_t delta, uint64_t low,
    +
    105 uint64_t high, uint64_t pos) {
    +
    106 if (low > high) {
    +
    107 return;
    +
    108 }
    +
    109
    +
    110 if ((*lazy)[pos] != 0) {
    +
    111 (*segtree)[pos] += (*lazy)[pos] * (high - low + 1);
    +
    112
    +
    113 if (low != high) {
    +
    114 (*lazy)[2 * pos + 1] += (*lazy)[pos];
    +
    115 (*lazy)[2 * pos + 2] += (*lazy)[pos];
    +
    116 }
    +
    117 (*lazy)[pos] = 0;
    +
    118 }
    +
    119
    +
    120 if (start > high || end < low) {
    +
    121 return;
    +
    122 }
    +
    123
    +
    124 if (start <= low && end >= high) {
    +
    125 (*segtree)[pos] += delta * (high - low + 1);
    +
    126
    +
    127 if (low != high) {
    +
    128 (*lazy)[2 * pos + 1] += delta;
    +
    129 (*lazy)[2 * pos + 2] += delta;
    +
    130 }
    +
    131
    +
    132 return;
    +
    133 }
    +
    134
    +
    135 uint64_t mid = (low + high) / 2;
    +
    136
    +
    137 update(segtree, lazy, start, end, delta, low, mid, 2 * pos + 1);
    +
    138 update(segtree, lazy, start, end, delta, mid + 1, high, 2 * pos + 2);
    +
    139 (*segtree)[pos] = (*segtree)[2 * pos + 1] + (*segtree)[2 * pos + 2];
    +
    140}
    +
    +
    141
    +
    +
    147static void test() {
    +
    148 auto max = static_cast<int64_t>(2 * pow(2, ceil(log2(7))) - 1);
    +
    149 assert(max == 15);
    +
    150
    +
    151 std::vector<int64_t> arr{1, 2, 3, 4, 5, 6, 7}, lazy(max), segtree(max);
    +
    152 ConsTree(arr, &segtree, 0, 7 - 1, 0);
    +
    153
    +
    154 assert(query(&segtree, &lazy, 1, 5, 0, 7 - 1, 0) == 2 + 3 + 4 + 5 + 6);
    +
    155
    +
    156 update(&segtree, &lazy, 2, 4, 1, 0, 7 - 1, 0);
    +
    157 assert(query(&segtree, &lazy, 1, 5, 0, 7 - 1, 0) == 2 + 4 + 5 + 6 + 6);
    +
    158
    +
    159 update(&segtree, &lazy, 0, 6, -2, 0, 7 - 1, 0);
    +
    160 assert(query(&segtree, &lazy, 0, 4, 0, 7 - 1, 0) == -1 + 0 + 2 + 3 + 4);
    +
    161}
    +
    +
    162
    +
    +
    168int main() {
    +
    169 test(); // run self-test implementations
    +
    170
    +
    171 std::cout << "Enter number of elements: ";
    +
    172
    +
    173 uint64_t n = 0;
    +
    174 std::cin >> n;
    +
    175
    +
    176 auto max = static_cast<uint64_t>(2 * pow(2, ceil(log2(n))) - 1);
    +
    177 std::vector<int64_t> arr(n), lazy(max), segtree(max);
    +
    178
    +
    179 int choice = 0;
    +
    180 std::cout << "\nDo you wish to enter each number?:\n"
    +
    181 "1: Yes\n"
    +
    182 "0: No (default initialize them to 0)\n";
    +
    183
    +
    184 std::cin >> choice;
    +
    185 if (choice == 1) {
    +
    186 std::cout << "Enter " << n << " numbers:\n";
    +
    187 for (int i = 1; i <= n; i++) {
    +
    188 std::cout << i << ": ";
    +
    189 std::cin >> arr[i];
    +
    190 }
    +
    191 }
    +
    192
    +
    193 ConsTree(arr, &segtree, 0, n - 1, 0);
    +
    194
    +
    195 do {
    +
    196 std::cout << "\nMake your choice:\n"
    +
    197 "1: Range update (input)\n"
    +
    198 "2: Range query (output)\n"
    +
    199 "0: Exit\n";
    +
    200 std::cin >> choice;
    +
    201
    +
    202 if (choice == 1) {
    +
    203 std::cout << "Enter 1-indexed lower bound, upper bound & value:\n";
    +
    204
    +
    205 uint64_t p = 1, q = 1, v = 0;
    +
    206 std::cin >> p >> q >> v;
    +
    207 update(&segtree, &lazy, p - 1, q - 1, v, 0, n - 1, 0);
    +
    208 } else if (choice == 2) {
    +
    209 std::cout << "Enter 1-indexed lower bound & upper bound:\n";
    +
    210
    +
    211 uint64_t p = 1, q = 1;
    +
    212 std::cin >> p >> q;
    +
    213 std::cout << query(&segtree, &lazy, p - 1, q - 1, 0, n - 1, 0);
    +
    214 std::cout << "\n";
    +
    215 }
    +
    216 } while (choice > 0);
    +
    217
    +
    218 return 0;
    +
    219}
    +
    +
    int64_t query(std::vector< int64_t > *segtree, std::vector< int64_t > *lazy, uint64_t qlow, uint64_t qhigh, uint64_t low, uint64_t high, uint64_t pos)
    Returns the sum of all elements in a range.
    Definition segtree.cpp:63
    +
    static void test()
    Self-test implementation.
    Definition segtree.cpp:147
    +
    void update(std::vector< int64_t > *segtree, std::vector< int64_t > *lazy, int64_t start, int64_t end, int64_t delta, uint64_t low, uint64_t high, uint64_t pos)
    Updates a range of the segment tree.
    Definition segtree.cpp:103
    +
    int main()
    Main function.
    Definition segtree.cpp:168
    +
    void ConsTree(const std::vector< int64_t > &arr, std::vector< int64_t > *segtree, uint64_t low, uint64_t high, uint64_t pos)
    for std::vector
    Definition segtree.cpp:38
    +
    +
    + + + + diff --git a/d2/d48/max__flow__with__ford__fulkerson__and__edmond__karp__algo_8cpp_source.html b/d2/d48/max__flow__with__ford__fulkerson__and__edmond__karp__algo_8cpp_source.html new file mode 100644 index 000000000..ba4db9103 --- /dev/null +++ b/d2/d48/max__flow__with__ford__fulkerson__and__edmond__karp__algo_8cpp_source.html @@ -0,0 +1,258 @@ + + + + + + + + +TheAlgorithms/C++: graph/max_flow_with_ford_fulkerson_and_edmond_karp_algo.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    max_flow_with_ford_fulkerson_and_edmond_karp_algo.cpp
    +
    +
    +
    1/*
    +
    2 * Author: Amit Kumar
    +
    3 * Created: May 24, 2020
    +
    4 * Copyright: 2020, Open-Source
    +
    5 * Last Modified: May 25, 2020
    +
    6 */
    +
    7#include <algorithm>
    +
    8#include <bitset>
    +
    9#include <cstring>
    +
    10#include <iostream>
    +
    11#include <limits>
    +
    12#include <queue>
    +
    13#include <tuple>
    +
    14#include <utility>
    +
    15#include <vector>
    +
    16// std::max capacity of node in graph
    +
    17const int MAXN = 505;
    +
    18class Graph {
    +
    19 std::vector<std::vector<int> > residual_capacity, capacity;
    +
    20 int total_nodes = 0;
    +
    21 int total_edges = 0, source = 0, sink = 0;
    +
    22 std::vector<int> parent;
    +
    23 std::vector<std::tuple<int, int, int> > edge_participated;
    +
    24 std::bitset<MAXN> visited;
    +
    25 int max_flow = 0;
    +
    26 bool bfs(int source, int sink) { // to find the augmented - path
    +
    27 visited.reset();
    +
    28 std::queue<int> q;
    +
    29 q.push(source);
    +
    30 bool is_path_found = false;
    +
    31 while (q.empty() == false && is_path_found == false) {
    +
    32 int current_node = q.front();
    +
    33 visited.set(current_node);
    +
    34 q.pop();
    +
    35 for (int i = 0; i < total_nodes; ++i) {
    +
    36 if (residual_capacity[current_node][i] > 0 && !visited[i]) {
    +
    37 visited.set(i);
    +
    38 parent[i] = current_node;
    +
    39 if (i == sink) {
    +
    40 return true;
    +
    41 }
    +
    42 q.push(i);
    +
    43 }
    +
    44 }
    +
    45 }
    +
    46 return false;
    +
    47 }
    +
    48
    +
    49 public:
    +
    50 void set_graph() {
    +
    51 std::cin >> total_nodes >> total_edges >> source >> sink;
    +
    52 parent = std::vector<int>(total_nodes, -1);
    +
    53 capacity = residual_capacity = std::vector<std::vector<int> >(
    +
    54 total_nodes, std::vector<int>(total_nodes));
    +
    55 for (int start = 0, destination = 0, capacity_ = 0, i = 0;
    +
    56 i < total_edges; ++i) {
    +
    57 std::cin >> start >> destination >> capacity_;
    +
    58 residual_capacity[start][destination] = capacity_;
    +
    59 capacity[start][destination] = capacity_;
    +
    60 }
    +
    61 }
    +
    62 void ford_fulkerson() {
    +
    63 while (bfs(source, sink)) {
    +
    64 int current_node = sink;
    +
    65 int flow = std::numeric_limits<int>::max();
    +
    66 while (current_node != source) {
    +
    67 int parent_ = parent[current_node];
    +
    68 flow = std::min(flow, residual_capacity[parent_][current_node]);
    +
    69 current_node = parent_;
    +
    70 }
    +
    71 current_node = sink;
    +
    72 max_flow += flow;
    +
    73 while (current_node != source) {
    +
    74 int parent_ = parent[current_node];
    +
    75 residual_capacity[parent_][current_node] -= flow;
    +
    76 residual_capacity[current_node][parent_] += flow;
    +
    77 current_node = parent_;
    +
    78 }
    +
    79 }
    +
    80 }
    +
    81 void print_flow_info() {
    +
    82 for (int i = 0; i < total_nodes; ++i) {
    +
    83 for (int j = 0; j < total_nodes; ++j) {
    +
    84 if (capacity[i][j] &&
    +
    85 residual_capacity[i][j] < capacity[i][j]) {
    +
    86 edge_participated.emplace_back(std::make_tuple(
    +
    87 i, j, capacity[i][j] - residual_capacity[i][j]));
    +
    88 }
    +
    89 }
    +
    90 }
    +
    91 std::cout << "\nNodes : " << total_nodes << "\nMax flow: " << max_flow
    +
    92 << "\nEdge present in flow: " << edge_participated.size()
    +
    93 << '\n';
    +
    94 std::cout << "\nSource\tDestination\tCapacity\total_nodes";
    +
    95 for (auto& edge_data : edge_participated) {
    +
    96 int source = 0, destination = 0, capacity_ = 0;
    +
    97 std::tie(source, destination, capacity_) = edge_data;
    +
    98 std::cout << source << "\t" << destination << "\t\t" << capacity_
    +
    99 << '\t';
    +
    100 }
    +
    101 }
    +
    102};
    +
    103int main() {
    +
    104 /*
    +
    105 Input Graph: (for testing )
    +
    106 4 5 0 3
    +
    107 0 1 10
    +
    108 1 2 1
    +
    109 1 3 1
    +
    110 0 2 1
    +
    111 2 3 10
    +
    112 */
    +
    113 Graph graph;
    +
    114 graph.set_graph();
    +
    115 graph.ford_fulkerson();
    +
    116 graph.print_flow_info();
    +
    117 return 0;
    +
    118}
    + +
    int main()
    Main function.
    +
    Graph Algorithms.
    +
    +
    + + + + diff --git a/d2/d52/heap__sort_8cpp.html b/d2/d52/heap__sort_8cpp.html index ac77b461f..6e813bee3 100644 --- a/d2/d52/heap__sort_8cpp.html +++ b/d2/d52/heap__sort_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: sorting/heap_sort.cpp File Reference +TheAlgorithms/C++: sorting/heap_sort.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -120,7 +137,9 @@ Include dependency graph for heap_sort.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -142,6 +161,8 @@ Functions
    Author
    Ayaan Khan

    Heap-sort is a comparison-based sorting algorithm. Heap-sort can be thought of as an improved selection sort: like selection sort, heap sort divides its input into a sorted and an unsorted region, and it iteratively shrinks the unsorted region by extracting the largest element from it and inserting it into the sorted region. Unlike selection sort, heap sort does not waste time with a linear-time scan of the unsorted region; rather, heap sort maintains the unsorted region in a heap data structure to more quickly find the largest element in each step.

    Time Complexity - \(O(n \log(n))\)

    + +

    Definition in file heap_sort.cpp.

    Function Documentation

    ◆ main()

    @@ -158,17 +179,14 @@ Functions

    Functions

    template<typename T >

    Main function

    + +

    Definition at line 120 of file heap_sort.cpp.

    120 {
    121 test();
    122 return 0;
    123}
    -
    void test()
    Definition heap_sort.cpp:99
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    void test()
    Definition heap_sort.cpp:99
    +
    @@ -199,11 +217,12 @@ template<typename T > + +

    Definition at line 37 of file heap_sort.cpp.

    37 {
    -
    38 for (int i = 0; i < sz; i++) std::cout << arr[i] << " ";
    -
    39 std::cout << "\n";
    +
    38 for (int i = 0; i < sz; i++) std::cout << arr[i] << " ";
    +
    39 std::cout << "\n";
    40}
    -
    @@ -222,34 +241,30 @@ template<typename T >

    Test cases to test the program

    + +

    Definition at line 99 of file heap_sort.cpp.

    99 {
    -
    100 std::cout << "Test 1\n";
    +
    100 std::cout << "Test 1\n";
    101 int arr[] = {-10, 78, -1, -6, 7, 4, 94, 5, 99, 0};
    102 int sz = sizeof(arr) / sizeof(arr[0]); // sz - size of array
    103 printArray(arr, sz); // displaying the array before sorting
    104 heapSort(arr, sz); // calling heapsort to sort the array
    105 printArray(arr, sz); // display array after sorting
    -
    106 assert(std::is_sorted(arr, arr + sz));
    -
    107 std::cout << "Test 1 Passed\n========================\n";
    +
    106 assert(std::is_sorted(arr, arr + sz));
    +
    107 std::cout << "Test 1 Passed\n========================\n";
    108
    -
    109 std::cout << "Test 2\n";
    +
    109 std::cout << "Test 2\n";
    110 double arr2[] = {4.5, -3.6, 7.6, 0, 12.9};
    111 sz = sizeof(arr2) / sizeof(arr2[0]);
    112 printArray(arr2, sz);
    113 heapSort(arr2, sz);
    114 printArray(arr2, sz);
    -
    115 assert(std::is_sorted(arr2, arr2 + sz));
    -
    116 std::cout << "Test 2 passed\n";
    +
    115 assert(std::is_sorted(arr2, arr2 + sz));
    +
    116 std::cout << "Test 2 passed\n";
    117}
    -
    void heapSort(T *arr, int n)
    Definition heap_sort.cpp:84
    -
    void printArray(T *arr, int sz)
    Definition heap_sort.cpp:37
    -
    T is_sorted(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    void heapSort(T *arr, int n)
    Definition heap_sort.cpp:84
    +
    void printArray(T *arr, int sz)
    Definition heap_sort.cpp:37
    +
    diff --git a/d2/d52/heap__sort_8cpp_ae1a3968e7947464bee7714f6d43b7002_cgraph.map b/d2/d52/heap__sort_8cpp_ae1a3968e7947464bee7714f6d43b7002_cgraph.map deleted file mode 100644 index 5753d8a03..000000000 --- a/d2/d52/heap__sort_8cpp_ae1a3968e7947464bee7714f6d43b7002_cgraph.map +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/d2/d52/heap__sort_8cpp_ae1a3968e7947464bee7714f6d43b7002_cgraph.md5 b/d2/d52/heap__sort_8cpp_ae1a3968e7947464bee7714f6d43b7002_cgraph.md5 deleted file mode 100644 index a8b24f1f9..000000000 --- a/d2/d52/heap__sort_8cpp_ae1a3968e7947464bee7714f6d43b7002_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -94d37da0b99610d699fdce229cd29aa5 \ No newline at end of file diff --git a/d2/d52/heap__sort_8cpp_ae1a3968e7947464bee7714f6d43b7002_cgraph.svg b/d2/d52/heap__sort_8cpp_ae1a3968e7947464bee7714f6d43b7002_cgraph.svg deleted file mode 100644 index c624a443f..000000000 --- a/d2/d52/heap__sort_8cpp_ae1a3968e7947464bee7714f6d43b7002_cgraph.svg +++ /dev/null @@ -1,119 +0,0 @@ - - - - - - - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -heapSort - - - - - -Node1->Node2 - - - - - - - - -Node4 - - -std::is_sorted - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -printArray - - - - - -Node1->Node5 - - - - - - - - -Node3 - - -std::swap - - - - - -Node2->Node3 - - - - - - - - - - - - - diff --git a/d2/d52/heap__sort_8cpp_ae1a3968e7947464bee7714f6d43b7002_cgraph_org.svg b/d2/d52/heap__sort_8cpp_ae1a3968e7947464bee7714f6d43b7002_cgraph_org.svg deleted file mode 100644 index 7f65a48d0..000000000 --- a/d2/d52/heap__sort_8cpp_ae1a3968e7947464bee7714f6d43b7002_cgraph_org.svg +++ /dev/null @@ -1,93 +0,0 @@ - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -heapSort - - - - - -Node1->Node2 - - - - - - - - -Node4 - - -std::is_sorted - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -printArray - - - - - -Node1->Node5 - - - - - - - - -Node3 - - -std::swap - - - - - -Node2->Node3 - - - - - - - - diff --git a/d2/d52/heap__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d2/d52/heap__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 9d4143fcd..000000000 --- a/d2/d52/heap__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - diff --git a/d2/d52/heap__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d2/d52/heap__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index e4e0d37fa..000000000 --- a/d2/d52/heap__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -05a647d7162638950bebf70232260678 \ No newline at end of file diff --git a/d2/d52/heap__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d2/d52/heap__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 661f8def8..000000000 --- a/d2/d52/heap__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,137 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -heapSort - - - - - -Node2->Node3 - - - - - - - - -Node5 - - -std::is_sorted - - - - - -Node2->Node5 - - - - - - - - -Node6 - - -printArray - - - - - -Node2->Node6 - - - - - - - - -Node4 - - -std::swap - - - - - -Node3->Node4 - - - - - - - - - - - - - diff --git a/d2/d52/heap__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d2/d52/heap__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 0a081eaca..000000000 --- a/d2/d52/heap__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,111 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -heapSort - - - - - -Node2->Node3 - - - - - - - - -Node5 - - -std::is_sorted - - - - - -Node2->Node5 - - - - - - - - -Node6 - - -printArray - - - - - -Node2->Node6 - - - - - - - - -Node4 - - -std::swap - - - - - -Node3->Node4 - - - - - - - - diff --git a/d2/d52/heap__sort_8cpp_source.html b/d2/d52/heap__sort_8cpp_source.html new file mode 100644 index 000000000..accfc1176 --- /dev/null +++ b/d2/d52/heap__sort_8cpp_source.html @@ -0,0 +1,213 @@ + + + + + + + + +TheAlgorithms/C++: sorting/heap_sort.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    heap_sort.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    23#include <algorithm>
    +
    24#include <cassert>
    +
    25#include <iostream>
    +
    26
    +
    36template <typename T>
    +
    +
    37void printArray(T *arr, int sz) {
    +
    38 for (int i = 0; i < sz; i++) std::cout << arr[i] << " ";
    +
    39 std::cout << "\n";
    +
    40}
    +
    +
    41
    +
    57template <typename T>
    +
    58void heapify(T *arr, int n, int i) {
    +
    59 int largest = i;
    +
    60 int l = 2 * i + 1;
    +
    61 int r = 2 * i + 2;
    +
    62
    +
    63 if (l < n && arr[l] > arr[largest])
    +
    64 largest = l;
    +
    65
    +
    66 if (r < n && arr[r] > arr[largest])
    +
    67 largest = r;
    +
    68
    +
    69 if (largest != i) {
    +
    70 std::swap(arr[i], arr[largest]);
    +
    71 heapify(arr, n, largest);
    +
    72 }
    +
    73}
    +
    74
    +
    83template <typename T>
    +
    +
    84void heapSort(T *arr, int n) {
    +
    85 for (int i = n - 1; i >= 0; i--) heapify(arr, n, i);
    +
    86
    +
    87 for (int i = n - 1; i >= 0; i--) {
    +
    88 std::swap(arr[0], arr[i]);
    +
    89 heapify(arr, i, 0);
    +
    90 }
    +
    91}
    +
    +
    92
    +
    +
    99void test() {
    +
    100 std::cout << "Test 1\n";
    +
    101 int arr[] = {-10, 78, -1, -6, 7, 4, 94, 5, 99, 0};
    +
    102 int sz = sizeof(arr) / sizeof(arr[0]); // sz - size of array
    +
    103 printArray(arr, sz); // displaying the array before sorting
    +
    104 heapSort(arr, sz); // calling heapsort to sort the array
    +
    105 printArray(arr, sz); // display array after sorting
    +
    106 assert(std::is_sorted(arr, arr + sz));
    +
    107 std::cout << "Test 1 Passed\n========================\n";
    +
    108
    +
    109 std::cout << "Test 2\n";
    +
    110 double arr2[] = {4.5, -3.6, 7.6, 0, 12.9};
    +
    111 sz = sizeof(arr2) / sizeof(arr2[0]);
    +
    112 printArray(arr2, sz);
    +
    113 heapSort(arr2, sz);
    +
    114 printArray(arr2, sz);
    +
    115 assert(std::is_sorted(arr2, arr2 + sz));
    +
    116 std::cout << "Test 2 passed\n";
    +
    117}
    +
    +
    118
    +
    +
    120int main() {
    +
    121 test();
    +
    122 return 0;
    +
    123}
    +
    +
    double l(double x)
    Another test function.
    +
    void heapSort(T *arr, int n)
    Definition heap_sort.cpp:84
    +
    void printArray(T *arr, int sz)
    Definition heap_sort.cpp:37
    +
    void test()
    Definition heap_sort.cpp:99
    +
    int main()
    +
    +
    + + + + diff --git a/d2/d58/neural__network_8cpp.html b/d2/d58/neural__network_8cpp.html index c522822aa..6099e28fa 100644 --- a/d2/d58/neural__network_8cpp.html +++ b/d2/d58/neural__network_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: machine_learning/neural_network.cpp File Reference +TheAlgorithms/C++: machine_learning/neural_network.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -130,7 +147,9 @@ Include dependency graph for neural_network.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -187,6 +206,8 @@ Functions

    An MLP consists of at least three layers of nodes: an input layer, a hidden layer and an output layer. Except for the input nodes, each node is a neuron that uses a nonlinear activation function. MLP utilizes a supervised learning technique called backpropagation for training. Its multiple layers and non-linear activation distinguish MLP from a linear perceptron. It can distinguish data that is not linearly separable.

    See Backpropagation for training algorithm.

    Note
    This implementation uses mini-batch gradient descent as optimizer and MSE as loss function. Bias is also not included.
    + +

    Definition in file neural_network.cpp.

    Function Documentation

    ◆ drelu()

    @@ -209,13 +230,10 @@ Functions
    Returns
    derivative of relu(x)
    -
    81{ return x >= 0.0 ? 1.0 : 0.0; }
    -
    -Here is the call graph for this function:
    -
    -
    -
    +

    Definition at line 81 of file neural_network.cpp.

    +
    81{ return x >= 0.0 ? 1.0 : 0.0; }
    +
    @@ -239,13 +257,10 @@ Here is the call graph for this function:
    Returns
    Returns derivative of sigmoid(x)
    -
    67{ return x * (1 - x); }
    -
    -Here is the call graph for this function:
    -
    -
    -
    +

    Definition at line 67 of file neural_network.cpp.

    +
    67{ return x * (1 - x); }
    +
    @@ -269,13 +284,10 @@ Here is the call graph for this function:
    Returns
    Returns derivative of tanh(x)
    -
    95{ return 1 - x * x; }
    -
    -Here is the call graph for this function:
    -
    -
    -
    +

    Definition at line 95 of file neural_network.cpp.

    +
    95{ return 1 - x * x; }
    +
    @@ -299,13 +311,10 @@ Here is the call graph for this function:
    Returns
    Returns x
    -
    112{ return x; }
    -
    -Here is the call graph for this function:
    -
    -
    -
    +

    Definition at line 112 of file neural_network.cpp.

    +
    112{ return x; }
    +
    @@ -325,18 +334,15 @@ Here is the call graph for this function:

    Main function.

    Returns
    0 on exit
    + +

    Definition at line 833 of file neural_network.cpp.

    833 {
    834 // Testing
    835 test();
    836 return 0;
    837}
    -
    static void test()
    Definition neural_network.cpp:805
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static void test()
    + @@ -360,14 +366,10 @@ Here is the call graph for this function:
    Returns
    relu(x)
    -
    74{ return std::max(0.0, x); }
    -
    T max(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    +

    Definition at line 74 of file neural_network.cpp.

    +
    74{ return std::max(0.0, x); }
    +
    @@ -391,14 +393,10 @@ Here is the call graph for this function:
    Returns
    Returns sigmoid(x)
    -
    60{ return 1.0 / (1.0 + std::exp(-x)); }
    -
    T exp(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    +

    Definition at line 60 of file neural_network.cpp.

    +
    60{ return 1.0 / (1.0 + std::exp(-x)); }
    +
    @@ -422,13 +420,10 @@ Here is the call graph for this function:
    Returns
    Returns x * x
    -
    106{ return x * x; }
    -
    -Here is the call graph for this function:
    -
    -
    -
    +

    Definition at line 106 of file neural_network.cpp.

    +
    106{ return x * x; }
    +
    @@ -452,13 +447,10 @@ Here is the call graph for this function:
    Returns
    Returns tanh(x)
    -
    88{ return 2 / (1 + std::exp(-2 * x)) - 1; }
    -
    -Here is the call graph for this function:
    -
    -
    -
    +

    Definition at line 88 of file neural_network.cpp.

    +
    88{ return 2 / (1 + std::exp(-2 * x)) - 1; }
    +
    @@ -484,6 +476,8 @@ Here is the call graph for this function:

    Classes

    class  machine_learning::neural_network::layers::DenseLayer

    Function to test neural network

    Returns
    none
    + +

    Definition at line 805 of file neural_network.cpp.

    805 {
    806 // Creating network with 3 layers for "iris.csv"
    @@ -507,17 +501,12 @@ Here is the call graph for this function:
    825 myNN.single_predict({{6.2, 3.4, 5.4, 2.3}})) == 2);
    826 return;
    827}
    -
    Definition neural_network.cpp:247
    -
    std::vector< std::valarray< double > > single_predict(const std::vector< std::valarray< double > > &X)
    Definition neural_network.cpp:451
    -
    void fit_from_csv(const std::string &file_name, const bool &last_label, const int &epochs, const double &learning_rate, const bool &normalize, const int &slip_lines=1, const size_t &batch_size=32, const bool &shuffle=true)
    Definition neural_network.cpp:587
    -
    void summary()
    Definition neural_network.cpp:773
    -
    size_t argmax(const std::vector< std::valarray< T > > &A)
    Definition vector_ops.hpp:307
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + +
    std::vector< std::valarray< double > > single_predict(const std::vector< std::valarray< double > > &X)
    +
    void fit_from_csv(const std::string &file_name, const bool &last_label, const int &epochs, const double &learning_rate, const bool &normalize, const int &slip_lines=1, const size_t &batch_size=32, const bool &shuffle=true)
    + +
    size_t argmax(const std::vector< std::valarray< T > > &A)
    + diff --git a/d2/d58/neural__network_8cpp_a23aa9d32bcbcd65cfc85f0a41e2afadc_cgraph.map b/d2/d58/neural__network_8cpp_a23aa9d32bcbcd65cfc85f0a41e2afadc_cgraph.map deleted file mode 100644 index c67c62f0c..000000000 --- a/d2/d58/neural__network_8cpp_a23aa9d32bcbcd65cfc85f0a41e2afadc_cgraph.map +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/d2/d58/neural__network_8cpp_a23aa9d32bcbcd65cfc85f0a41e2afadc_cgraph.md5 b/d2/d58/neural__network_8cpp_a23aa9d32bcbcd65cfc85f0a41e2afadc_cgraph.md5 deleted file mode 100644 index 1f43ce89b..000000000 --- a/d2/d58/neural__network_8cpp_a23aa9d32bcbcd65cfc85f0a41e2afadc_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -86024219bf2cdce1a7d8211f0178d1e3 \ No newline at end of file diff --git a/d2/d58/neural__network_8cpp_a23aa9d32bcbcd65cfc85f0a41e2afadc_cgraph.svg b/d2/d58/neural__network_8cpp_a23aa9d32bcbcd65cfc85f0a41e2afadc_cgraph.svg deleted file mode 100644 index d119dbc22..000000000 --- a/d2/d58/neural__network_8cpp_a23aa9d32bcbcd65cfc85f0a41e2afadc_cgraph.svg +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - - - - - - - -machine_learning::neural_network::activations::sigmoid - - -Node1 - - -machine_learning::neural -_network::activations:: -sigmoid - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::exp - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d2/d58/neural__network_8cpp_a23aa9d32bcbcd65cfc85f0a41e2afadc_cgraph_org.svg b/d2/d58/neural__network_8cpp_a23aa9d32bcbcd65cfc85f0a41e2afadc_cgraph_org.svg deleted file mode 100644 index 6b024d2c7..000000000 --- a/d2/d58/neural__network_8cpp_a23aa9d32bcbcd65cfc85f0a41e2afadc_cgraph_org.svg +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - -machine_learning::neural_network::activations::sigmoid - - -Node1 - - -machine_learning::neural -_network::activations:: -sigmoid - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::exp - - - - - -Node1->Node2 - - - - - - - - diff --git a/d2/d58/neural__network_8cpp_a2a5e874b9774aa5362dbcf288828b95c_cgraph.map b/d2/d58/neural__network_8cpp_a2a5e874b9774aa5362dbcf288828b95c_cgraph.map deleted file mode 100644 index f87460f4d..000000000 --- a/d2/d58/neural__network_8cpp_a2a5e874b9774aa5362dbcf288828b95c_cgraph.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/d2/d58/neural__network_8cpp_a2a5e874b9774aa5362dbcf288828b95c_cgraph.md5 b/d2/d58/neural__network_8cpp_a2a5e874b9774aa5362dbcf288828b95c_cgraph.md5 deleted file mode 100644 index 7c204f537..000000000 --- a/d2/d58/neural__network_8cpp_a2a5e874b9774aa5362dbcf288828b95c_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -8b00f2557a77578ba6bce4e64378dbdf \ No newline at end of file diff --git a/d2/d58/neural__network_8cpp_a2a5e874b9774aa5362dbcf288828b95c_cgraph.svg b/d2/d58/neural__network_8cpp_a2a5e874b9774aa5362dbcf288828b95c_cgraph.svg deleted file mode 100644 index fa4c31f11..000000000 --- a/d2/d58/neural__network_8cpp_a2a5e874b9774aa5362dbcf288828b95c_cgraph.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - - - - - - - -machine_learning::neural_network::activations::dtanh - - -Node1 - - -machine_learning::neural -_network::activations::dtanh - - - - - -Node1->Node1 - - - - - - - - - - - - - diff --git a/d2/d58/neural__network_8cpp_a2a5e874b9774aa5362dbcf288828b95c_cgraph_org.svg b/d2/d58/neural__network_8cpp_a2a5e874b9774aa5362dbcf288828b95c_cgraph_org.svg deleted file mode 100644 index 8e65e5d4a..000000000 --- a/d2/d58/neural__network_8cpp_a2a5e874b9774aa5362dbcf288828b95c_cgraph_org.svg +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - -machine_learning::neural_network::activations::dtanh - - -Node1 - - -machine_learning::neural -_network::activations::dtanh - - - - - -Node1->Node1 - - - - - - - - diff --git a/d2/d58/neural__network_8cpp_a32c00da08f2cf641dd336270f6e3c407_cgraph.map b/d2/d58/neural__network_8cpp_a32c00da08f2cf641dd336270f6e3c407_cgraph.map deleted file mode 100644 index 8cd21f0b0..000000000 --- a/d2/d58/neural__network_8cpp_a32c00da08f2cf641dd336270f6e3c407_cgraph.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/d2/d58/neural__network_8cpp_a32c00da08f2cf641dd336270f6e3c407_cgraph.md5 b/d2/d58/neural__network_8cpp_a32c00da08f2cf641dd336270f6e3c407_cgraph.md5 deleted file mode 100644 index 971e0810b..000000000 --- a/d2/d58/neural__network_8cpp_a32c00da08f2cf641dd336270f6e3c407_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -2a73596ce987e153a5ec1337f33de5e9 \ No newline at end of file diff --git a/d2/d58/neural__network_8cpp_a32c00da08f2cf641dd336270f6e3c407_cgraph.svg b/d2/d58/neural__network_8cpp_a32c00da08f2cf641dd336270f6e3c407_cgraph.svg deleted file mode 100644 index a77ba5a09..000000000 --- a/d2/d58/neural__network_8cpp_a32c00da08f2cf641dd336270f6e3c407_cgraph.svg +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - - - - - - - -machine_learning::neural_network::util_functions::identity_function - - -Node1 - - -machine_learning::neural -_network::util_functions -::identity_function - - - - - -Node1->Node1 - - - - - - - - - - - - - diff --git a/d2/d58/neural__network_8cpp_a32c00da08f2cf641dd336270f6e3c407_cgraph_org.svg b/d2/d58/neural__network_8cpp_a32c00da08f2cf641dd336270f6e3c407_cgraph_org.svg deleted file mode 100644 index 485f9d8e3..000000000 --- a/d2/d58/neural__network_8cpp_a32c00da08f2cf641dd336270f6e3c407_cgraph_org.svg +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - -machine_learning::neural_network::util_functions::identity_function - - -Node1 - - -machine_learning::neural -_network::util_functions -::identity_function - - - - - -Node1->Node1 - - - - - - - - diff --git a/d2/d58/neural__network_8cpp_a371aa7dd5d5add0143d1756bb0a1b32f_cgraph.map b/d2/d58/neural__network_8cpp_a371aa7dd5d5add0143d1756bb0a1b32f_cgraph.map deleted file mode 100644 index 0f20969ee..000000000 --- a/d2/d58/neural__network_8cpp_a371aa7dd5d5add0143d1756bb0a1b32f_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d2/d58/neural__network_8cpp_a371aa7dd5d5add0143d1756bb0a1b32f_cgraph.md5 b/d2/d58/neural__network_8cpp_a371aa7dd5d5add0143d1756bb0a1b32f_cgraph.md5 deleted file mode 100644 index 24742e288..000000000 --- a/d2/d58/neural__network_8cpp_a371aa7dd5d5add0143d1756bb0a1b32f_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -2258f4231a4d2995124f5064b8a5d1f7 \ No newline at end of file diff --git a/d2/d58/neural__network_8cpp_a371aa7dd5d5add0143d1756bb0a1b32f_cgraph.svg b/d2/d58/neural__network_8cpp_a371aa7dd5d5add0143d1756bb0a1b32f_cgraph.svg deleted file mode 100644 index d7700e151..000000000 --- a/d2/d58/neural__network_8cpp_a371aa7dd5d5add0143d1756bb0a1b32f_cgraph.svg +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - - - - - - - -machine_learning::neural_network::activations::tanh - - -Node1 - - -machine_learning::neural -_network::activations::tanh - - - - - -Node2 - - -std::exp - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d2/d58/neural__network_8cpp_a371aa7dd5d5add0143d1756bb0a1b32f_cgraph_org.svg b/d2/d58/neural__network_8cpp_a371aa7dd5d5add0143d1756bb0a1b32f_cgraph_org.svg deleted file mode 100644 index ef9d2d3b9..000000000 --- a/d2/d58/neural__network_8cpp_a371aa7dd5d5add0143d1756bb0a1b32f_cgraph_org.svg +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - -machine_learning::neural_network::activations::tanh - - -Node1 - - -machine_learning::neural -_network::activations::tanh - - - - - -Node2 - - -std::exp - - - - - -Node1->Node2 - - - - - - - - diff --git a/d2/d58/neural__network_8cpp_a45d3e30406712ada3d9713ece3c1b153_cgraph.map b/d2/d58/neural__network_8cpp_a45d3e30406712ada3d9713ece3c1b153_cgraph.map deleted file mode 100644 index 0967d82a5..000000000 --- a/d2/d58/neural__network_8cpp_a45d3e30406712ada3d9713ece3c1b153_cgraph.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/d2/d58/neural__network_8cpp_a45d3e30406712ada3d9713ece3c1b153_cgraph.md5 b/d2/d58/neural__network_8cpp_a45d3e30406712ada3d9713ece3c1b153_cgraph.md5 deleted file mode 100644 index 09181cfb0..000000000 --- a/d2/d58/neural__network_8cpp_a45d3e30406712ada3d9713ece3c1b153_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -8248d8bf4384721f1a38a82e9c66287d \ No newline at end of file diff --git a/d2/d58/neural__network_8cpp_a45d3e30406712ada3d9713ece3c1b153_cgraph.svg b/d2/d58/neural__network_8cpp_a45d3e30406712ada3d9713ece3c1b153_cgraph.svg deleted file mode 100644 index 8cd007428..000000000 --- a/d2/d58/neural__network_8cpp_a45d3e30406712ada3d9713ece3c1b153_cgraph.svg +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - - - - - - - -machine_learning::neural_network::util_functions::square - - -Node1 - - -machine_learning::neural -_network::util_functions -::square - - - - - -Node1->Node1 - - - - - - - - - - - - - diff --git a/d2/d58/neural__network_8cpp_a45d3e30406712ada3d9713ece3c1b153_cgraph_org.svg b/d2/d58/neural__network_8cpp_a45d3e30406712ada3d9713ece3c1b153_cgraph_org.svg deleted file mode 100644 index fe0144072..000000000 --- a/d2/d58/neural__network_8cpp_a45d3e30406712ada3d9713ece3c1b153_cgraph_org.svg +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - -machine_learning::neural_network::util_functions::square - - -Node1 - - -machine_learning::neural -_network::util_functions -::square - - - - - -Node1->Node1 - - - - - - - - diff --git a/d2/d58/neural__network_8cpp_a76eb66212d577f948a457b6e29d87c46_cgraph.map b/d2/d58/neural__network_8cpp_a76eb66212d577f948a457b6e29d87c46_cgraph.map deleted file mode 100644 index 80373458c..000000000 --- a/d2/d58/neural__network_8cpp_a76eb66212d577f948a457b6e29d87c46_cgraph.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/d2/d58/neural__network_8cpp_a76eb66212d577f948a457b6e29d87c46_cgraph.md5 b/d2/d58/neural__network_8cpp_a76eb66212d577f948a457b6e29d87c46_cgraph.md5 deleted file mode 100644 index d3cd80695..000000000 --- a/d2/d58/neural__network_8cpp_a76eb66212d577f948a457b6e29d87c46_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -6a5bcf0e29c1d7229452962fa781bc9b \ No newline at end of file diff --git a/d2/d58/neural__network_8cpp_a76eb66212d577f948a457b6e29d87c46_cgraph.svg b/d2/d58/neural__network_8cpp_a76eb66212d577f948a457b6e29d87c46_cgraph.svg deleted file mode 100644 index b015c57ee..000000000 --- a/d2/d58/neural__network_8cpp_a76eb66212d577f948a457b6e29d87c46_cgraph.svg +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - - - - - - - -machine_learning::neural_network::activations::dsigmoid - - -Node1 - - -machine_learning::neural -_network::activations:: -dsigmoid - - - - - -Node1->Node1 - - - - - - - - - - - - - diff --git a/d2/d58/neural__network_8cpp_a76eb66212d577f948a457b6e29d87c46_cgraph_org.svg b/d2/d58/neural__network_8cpp_a76eb66212d577f948a457b6e29d87c46_cgraph_org.svg deleted file mode 100644 index 706c810db..000000000 --- a/d2/d58/neural__network_8cpp_a76eb66212d577f948a457b6e29d87c46_cgraph_org.svg +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - -machine_learning::neural_network::activations::dsigmoid - - -Node1 - - -machine_learning::neural -_network::activations:: -dsigmoid - - - - - -Node1->Node1 - - - - - - - - diff --git a/d2/d58/neural__network_8cpp_aa69e95a34054d7989bf446f96b2ffaf9_cgraph.map b/d2/d58/neural__network_8cpp_aa69e95a34054d7989bf446f96b2ffaf9_cgraph.map deleted file mode 100644 index b479a0fb0..000000000 --- a/d2/d58/neural__network_8cpp_aa69e95a34054d7989bf446f96b2ffaf9_cgraph.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/d2/d58/neural__network_8cpp_aa69e95a34054d7989bf446f96b2ffaf9_cgraph.md5 b/d2/d58/neural__network_8cpp_aa69e95a34054d7989bf446f96b2ffaf9_cgraph.md5 deleted file mode 100644 index 65b88f598..000000000 --- a/d2/d58/neural__network_8cpp_aa69e95a34054d7989bf446f96b2ffaf9_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -9f55532a866ee9c7c44579f257fec690 \ No newline at end of file diff --git a/d2/d58/neural__network_8cpp_aa69e95a34054d7989bf446f96b2ffaf9_cgraph.svg b/d2/d58/neural__network_8cpp_aa69e95a34054d7989bf446f96b2ffaf9_cgraph.svg deleted file mode 100644 index 169d98881..000000000 --- a/d2/d58/neural__network_8cpp_aa69e95a34054d7989bf446f96b2ffaf9_cgraph.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - - - - - - - -machine_learning::neural_network::activations::drelu - - -Node1 - - -machine_learning::neural -_network::activations::drelu - - - - - -Node1->Node1 - - - - - - - - - - - - - diff --git a/d2/d58/neural__network_8cpp_aa69e95a34054d7989bf446f96b2ffaf9_cgraph_org.svg b/d2/d58/neural__network_8cpp_aa69e95a34054d7989bf446f96b2ffaf9_cgraph_org.svg deleted file mode 100644 index 09a6648e5..000000000 --- a/d2/d58/neural__network_8cpp_aa69e95a34054d7989bf446f96b2ffaf9_cgraph_org.svg +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - -machine_learning::neural_network::activations::drelu - - -Node1 - - -machine_learning::neural -_network::activations::drelu - - - - - -Node1->Node1 - - - - - - - - diff --git a/d2/d58/neural__network_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map b/d2/d58/neural__network_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map deleted file mode 100644 index 2ec725d77..000000000 --- a/d2/d58/neural__network_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map +++ /dev/null @@ -1,125 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d2/d58/neural__network_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 b/d2/d58/neural__network_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 deleted file mode 100644 index 3753bd019..000000000 --- a/d2/d58/neural__network_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -9fb5afbc918fb705d4bbdcc4269a13c7 \ No newline at end of file diff --git a/d2/d58/neural__network_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg b/d2/d58/neural__network_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg deleted file mode 100644 index 7362c97f8..000000000 --- a/d2/d58/neural__network_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg +++ /dev/null @@ -1,1223 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -machine_learning::argmax - - - - - -Node1->Node2 - - - - - - - - -Node11 - - -machine_learning::neural -_network::NeuralNetwork -::fit_from_csv - - - - - -Node1->Node11 - - - - - - - - -Node46 - - -machine_learning::neural -_network::NeuralNetwork -::single_predict - - - - - -Node1->Node46 - - - - - - - - -Node47 - - -machine_learning::neural -_network::NeuralNetwork -::summary - - - - - -Node1->Node47 - - - - - - - - -Node3 - - -std::begin - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::distance - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -std::end - - - - - -Node2->Node5 - - - - - - - - -Node6 - - -std::endl - - - - - -Node2->Node6 - - - - - - - - -Node7 - - -std::exit - - - - - -Node2->Node7 - - - - - - - - -Node8 - - -machine_learning::get -_shape - - - - - -Node2->Node8 - - - - - - - - -Node10 - - -std::max_element - - - - - -Node2->Node10 - - - - - - - - -Node8->Node6 - - - - - - - - -Node8->Node7 - - - - - - - - -Node9 - - -std::make_pair - - - - - -Node8->Node9 - - - - - - - - -Node12 - - -machine_learning::neural -_network::NeuralNetwork::fit - - - - - -Node11->Node12 - - - - - - - - -Node32 - - -machine_learning::neural -_network::NeuralNetwork -::get_XY_from_csv - - - - - -Node11->Node32 - - - - - - - - -Node12->Node2 - - - - - - - - -Node12->Node6 - - - - - - - - -Node12->Node7 - - - - - - - - -Node12->Node8 - - - - - - - - -Node13 - - -machine_learning::neural -_network::NeuralNetwork -::__detailed_single_prediction - - - - - -Node12->Node13 - - - - - - - - -Node14 - - -machine_learning::apply -_function - - - - - -Node12->Node14 - - - - - - - - -Node16 - - -machine_learning::multiply - - - - - -Node12->Node16 - - - - - - - - -Node18 - - -std::chrono::duration_cast - - - - - -Node12->Node18 - - - - - - - - -Node19 - - -machine_learning::equal -_shuffle - - - - - -Node12->Node19 - - - - - - - - -Node24 - - -machine_learning::hadamard -_product - - - - - -Node12->Node24 - - - - - - - - -Node25 - - -std::min - - - - - -Node12->Node25 - - - - - - - - -Node26 - - -std::chrono::high_resolution -_clock::now - - - - - -Node12->Node26 - - - - - - - - -Node27 - - -std::vector::resize - - - - - -Node12->Node27 - - - - - - - - -Node28 - - -std::vector::size - - - - - -Node12->Node28 - - - - - - - - -Node29 - - -machine_learning::sum - - - - - -Node12->Node29 - - - - - - - - -Node30 - - -machine_learning::transpose - - - - - -Node12->Node30 - - - - - - - - -Node31 - - -machine_learning::zeroes -_initialization - - - - - -Node12->Node31 - - - - - - - - -Node13->Node14 - - - - - - - - -Node15 - - -std::vector::emplace_back - - - - - -Node13->Node15 - - - - - - - - -Node13->Node16 - - - - - - - - -Node16->Node6 - - - - - - - - -Node16->Node7 - - - - - - - - -Node16->Node8 - - - - - - - - -Node17 - - -std::vector::push_back - - - - - -Node16->Node17 - - - - - - - - -Node19->Node6 - - - - - - - - -Node19->Node7 - - - - - - - - -Node20 - - -std::chrono::system -_clock::now - - - - - -Node19->Node20 - - - - - - - - -Node21 - - -std::rand - - - - - -Node19->Node21 - - - - - - - - -Node22 - - -std::srand - - - - - -Node19->Node22 - - - - - - - - -Node23 - - -std::swap - - - - - -Node19->Node23 - - - - - - - - -Node24->Node6 - - - - - - - - -Node24->Node7 - - - - - - - - -Node24->Node8 - - - - - - - - -Node24->Node17 - - - - - - - - -Node30->Node8 - - - - - - - - -Node30->Node17 - - - - - - - - -Node32->Node6 - - - - - - - - -Node32->Node7 - - - - - - - - -Node32->Node17 - - - - - - - - -Node33 - - -std::vector::back - - - - - -Node32->Node33 - - - - - - - - -Node34 - - -std::string::c_str - - - - - -Node32->Node34 - - - - - - - - -Node35 - - -std::ifstream::close - - - - - -Node32->Node35 - - - - - - - - -Node36 - - -std::ifstream::eof - - - - - -Node32->Node36 - - - - - - - - -Node37 - - -std::getline - - - - - -Node32->Node37 - - - - - - - - -Node38 - - -machine_learning::insert -_element - - - - - -Node32->Node38 - - - - - - - - -Node39 - - -std::ifstream::is_open - - - - - -Node32->Node39 - - - - - - - - -Node40 - - -machine_learning::minmax -_scaler - - - - - -Node32->Node40 - - - - - - - - -Node42 - - -std::ifstream::open - - - - - -Node32->Node42 - - - - - - - - -Node43 - - -machine_learning::pop_back - - - - - -Node32->Node43 - - - - - - - - -Node44 - - -machine_learning::pop -_front - - - - - -Node32->Node44 - - - - - - - - -Node45 - - -std::stod - - - - - -Node32->Node45 - - - - - - - - -Node40->Node6 - - - - - - - - -Node40->Node7 - - - - - - - - -Node40->Node8 - - - - - - - - -Node40->Node25 - - - - - - - - -Node40->Node28 - - - - - - - - -Node41 - - -std::max - - - - - -Node40->Node41 - - - - - - - - -Node46->Node13 - - - - - - - - -Node47->Node6 - - - - - - - - -Node47->Node8 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d2/d58/neural__network_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg b/d2/d58/neural__network_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg deleted file mode 100644 index 12f410e3e..000000000 --- a/d2/d58/neural__network_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg +++ /dev/null @@ -1,1140 +0,0 @@ - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -machine_learning::argmax - - - - - -Node1->Node2 - - - - - - - - -Node11 - - -machine_learning::neural -_network::NeuralNetwork -::fit_from_csv - - - - - -Node1->Node11 - - - - - - - - -Node46 - - -machine_learning::neural -_network::NeuralNetwork -::single_predict - - - - - -Node1->Node46 - - - - - - - - -Node47 - - -machine_learning::neural -_network::NeuralNetwork -::summary - - - - - -Node1->Node47 - - - - - - - - -Node3 - - -std::begin - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::distance - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -std::end - - - - - -Node2->Node5 - - - - - - - - -Node6 - - -std::endl - - - - - -Node2->Node6 - - - - - - - - -Node7 - - -std::exit - - - - - -Node2->Node7 - - - - - - - - -Node8 - - -machine_learning::get -_shape - - - - - -Node2->Node8 - - - - - - - - -Node10 - - -std::max_element - - - - - -Node2->Node10 - - - - - - - - -Node8->Node6 - - - - - - - - -Node8->Node7 - - - - - - - - -Node9 - - -std::make_pair - - - - - -Node8->Node9 - - - - - - - - -Node12 - - -machine_learning::neural -_network::NeuralNetwork::fit - - - - - -Node11->Node12 - - - - - - - - -Node32 - - -machine_learning::neural -_network::NeuralNetwork -::get_XY_from_csv - - - - - -Node11->Node32 - - - - - - - - -Node12->Node2 - - - - - - - - -Node12->Node6 - - - - - - - - -Node12->Node7 - - - - - - - - -Node12->Node8 - - - - - - - - -Node13 - - -machine_learning::neural -_network::NeuralNetwork -::__detailed_single_prediction - - - - - -Node12->Node13 - - - - - - - - -Node14 - - -machine_learning::apply -_function - - - - - -Node12->Node14 - - - - - - - - -Node16 - - -machine_learning::multiply - - - - - -Node12->Node16 - - - - - - - - -Node18 - - -std::chrono::duration_cast - - - - - -Node12->Node18 - - - - - - - - -Node19 - - -machine_learning::equal -_shuffle - - - - - -Node12->Node19 - - - - - - - - -Node24 - - -machine_learning::hadamard -_product - - - - - -Node12->Node24 - - - - - - - - -Node25 - - -std::min - - - - - -Node12->Node25 - - - - - - - - -Node26 - - -std::chrono::high_resolution -_clock::now - - - - - -Node12->Node26 - - - - - - - - -Node27 - - -std::vector::resize - - - - - -Node12->Node27 - - - - - - - - -Node28 - - -std::vector::size - - - - - -Node12->Node28 - - - - - - - - -Node29 - - -machine_learning::sum - - - - - -Node12->Node29 - - - - - - - - -Node30 - - -machine_learning::transpose - - - - - -Node12->Node30 - - - - - - - - -Node31 - - -machine_learning::zeroes -_initialization - - - - - -Node12->Node31 - - - - - - - - -Node13->Node14 - - - - - - - - -Node15 - - -std::vector::emplace_back - - - - - -Node13->Node15 - - - - - - - - -Node13->Node16 - - - - - - - - -Node16->Node6 - - - - - - - - -Node16->Node7 - - - - - - - - -Node16->Node8 - - - - - - - - -Node17 - - -std::vector::push_back - - - - - -Node16->Node17 - - - - - - - - -Node19->Node6 - - - - - - - - -Node19->Node7 - - - - - - - - -Node20 - - -std::chrono::system -_clock::now - - - - - -Node19->Node20 - - - - - - - - -Node21 - - -std::rand - - - - - -Node19->Node21 - - - - - - - - -Node22 - - -std::srand - - - - - -Node19->Node22 - - - - - - - - -Node23 - - -std::swap - - - - - -Node19->Node23 - - - - - - - - -Node24->Node6 - - - - - - - - -Node24->Node7 - - - - - - - - -Node24->Node8 - - - - - - - - -Node24->Node17 - - - - - - - - -Node30->Node8 - - - - - - - - -Node30->Node17 - - - - - - - - -Node32->Node6 - - - - - - - - -Node32->Node7 - - - - - - - - -Node32->Node17 - - - - - - - - -Node33 - - -std::vector::back - - - - - -Node32->Node33 - - - - - - - - -Node34 - - -std::string::c_str - - - - - -Node32->Node34 - - - - - - - - -Node35 - - -std::ifstream::close - - - - - -Node32->Node35 - - - - - - - - -Node36 - - -std::ifstream::eof - - - - - -Node32->Node36 - - - - - - - - -Node37 - - -std::getline - - - - - -Node32->Node37 - - - - - - - - -Node38 - - -machine_learning::insert -_element - - - - - -Node32->Node38 - - - - - - - - -Node39 - - -std::ifstream::is_open - - - - - -Node32->Node39 - - - - - - - - -Node40 - - -machine_learning::minmax -_scaler - - - - - -Node32->Node40 - - - - - - - - -Node42 - - -std::ifstream::open - - - - - -Node32->Node42 - - - - - - - - -Node43 - - -machine_learning::pop_back - - - - - -Node32->Node43 - - - - - - - - -Node44 - - -machine_learning::pop -_front - - - - - -Node32->Node44 - - - - - - - - -Node45 - - -std::stod - - - - - -Node32->Node45 - - - - - - - - -Node40->Node6 - - - - - - - - -Node40->Node7 - - - - - - - - -Node40->Node8 - - - - - - - - -Node40->Node25 - - - - - - - - -Node40->Node28 - - - - - - - - -Node41 - - -std::max - - - - - -Node40->Node41 - - - - - - - - -Node46->Node13 - - - - - - - - -Node47->Node6 - - - - - - - - -Node47->Node8 - - - - - - - - diff --git a/d2/d58/neural__network_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d2/d58/neural__network_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index c00559568..000000000 --- a/d2/d58/neural__network_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,127 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d2/d58/neural__network_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d2/d58/neural__network_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index d74f16b70..000000000 --- a/d2/d58/neural__network_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -cf9a0e6a88cfedf23e60357c2dd7e9d8 \ No newline at end of file diff --git a/d2/d58/neural__network_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d2/d58/neural__network_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 7385d4323..000000000 --- a/d2/d58/neural__network_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,1241 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -machine_learning::argmax - - - - - -Node2->Node3 - - - - - - - - -Node12 - - -machine_learning::neural -_network::NeuralNetwork -::fit_from_csv - - - - - -Node2->Node12 - - - - - - - - -Node47 - - -machine_learning::neural -_network::NeuralNetwork -::single_predict - - - - - -Node2->Node47 - - - - - - - - -Node48 - - -machine_learning::neural -_network::NeuralNetwork -::summary - - - - - -Node2->Node48 - - - - - - - - -Node4 - - -std::begin - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -std::distance - - - - - -Node3->Node5 - - - - - - - - -Node6 - - -std::end - - - - - -Node3->Node6 - - - - - - - - -Node7 - - -std::endl - - - - - -Node3->Node7 - - - - - - - - -Node8 - - -std::exit - - - - - -Node3->Node8 - - - - - - - - -Node9 - - -machine_learning::get -_shape - - - - - -Node3->Node9 - - - - - - - - -Node11 - - -std::max_element - - - - - -Node3->Node11 - - - - - - - - -Node9->Node7 - - - - - - - - -Node9->Node8 - - - - - - - - -Node10 - - -std::make_pair - - - - - -Node9->Node10 - - - - - - - - -Node13 - - -machine_learning::neural -_network::NeuralNetwork::fit - - - - - -Node12->Node13 - - - - - - - - -Node33 - - -machine_learning::neural -_network::NeuralNetwork -::get_XY_from_csv - - - - - -Node12->Node33 - - - - - - - - -Node13->Node3 - - - - - - - - -Node13->Node7 - - - - - - - - -Node13->Node8 - - - - - - - - -Node13->Node9 - - - - - - - - -Node14 - - -machine_learning::neural -_network::NeuralNetwork -::__detailed_single_prediction - - - - - -Node13->Node14 - - - - - - - - -Node15 - - -machine_learning::apply -_function - - - - - -Node13->Node15 - - - - - - - - -Node17 - - -machine_learning::multiply - - - - - -Node13->Node17 - - - - - - - - -Node19 - - -std::chrono::duration_cast - - - - - -Node13->Node19 - - - - - - - - -Node20 - - -machine_learning::equal -_shuffle - - - - - -Node13->Node20 - - - - - - - - -Node25 - - -machine_learning::hadamard -_product - - - - - -Node13->Node25 - - - - - - - - -Node26 - - -std::min - - - - - -Node13->Node26 - - - - - - - - -Node27 - - -std::chrono::high_resolution -_clock::now - - - - - -Node13->Node27 - - - - - - - - -Node28 - - -std::vector::resize - - - - - -Node13->Node28 - - - - - - - - -Node29 - - -std::vector::size - - - - - -Node13->Node29 - - - - - - - - -Node30 - - -machine_learning::sum - - - - - -Node13->Node30 - - - - - - - - -Node31 - - -machine_learning::transpose - - - - - -Node13->Node31 - - - - - - - - -Node32 - - -machine_learning::zeroes -_initialization - - - - - -Node13->Node32 - - - - - - - - -Node14->Node15 - - - - - - - - -Node16 - - -std::vector::emplace_back - - - - - -Node14->Node16 - - - - - - - - -Node14->Node17 - - - - - - - - -Node17->Node7 - - - - - - - - -Node17->Node8 - - - - - - - - -Node17->Node9 - - - - - - - - -Node18 - - -std::vector::push_back - - - - - -Node17->Node18 - - - - - - - - -Node20->Node7 - - - - - - - - -Node20->Node8 - - - - - - - - -Node21 - - -std::chrono::system -_clock::now - - - - - -Node20->Node21 - - - - - - - - -Node22 - - -std::rand - - - - - -Node20->Node22 - - - - - - - - -Node23 - - -std::srand - - - - - -Node20->Node23 - - - - - - - - -Node24 - - -std::swap - - - - - -Node20->Node24 - - - - - - - - -Node25->Node7 - - - - - - - - -Node25->Node8 - - - - - - - - -Node25->Node9 - - - - - - - - -Node25->Node18 - - - - - - - - -Node31->Node9 - - - - - - - - -Node31->Node18 - - - - - - - - -Node33->Node7 - - - - - - - - -Node33->Node8 - - - - - - - - -Node33->Node18 - - - - - - - - -Node34 - - -std::vector::back - - - - - -Node33->Node34 - - - - - - - - -Node35 - - -std::string::c_str - - - - - -Node33->Node35 - - - - - - - - -Node36 - - -std::ifstream::close - - - - - -Node33->Node36 - - - - - - - - -Node37 - - -std::ifstream::eof - - - - - -Node33->Node37 - - - - - - - - -Node38 - - -std::getline - - - - - -Node33->Node38 - - - - - - - - -Node39 - - -machine_learning::insert -_element - - - - - -Node33->Node39 - - - - - - - - -Node40 - - -std::ifstream::is_open - - - - - -Node33->Node40 - - - - - - - - -Node41 - - -machine_learning::minmax -_scaler - - - - - -Node33->Node41 - - - - - - - - -Node43 - - -std::ifstream::open - - - - - -Node33->Node43 - - - - - - - - -Node44 - - -machine_learning::pop_back - - - - - -Node33->Node44 - - - - - - - - -Node45 - - -machine_learning::pop -_front - - - - - -Node33->Node45 - - - - - - - - -Node46 - - -std::stod - - - - - -Node33->Node46 - - - - - - - - -Node41->Node7 - - - - - - - - -Node41->Node8 - - - - - - - - -Node41->Node9 - - - - - - - - -Node41->Node26 - - - - - - - - -Node41->Node29 - - - - - - - - -Node42 - - -std::max - - - - - -Node41->Node42 - - - - - - - - -Node47->Node14 - - - - - - - - -Node48->Node7 - - - - - - - - -Node48->Node9 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d2/d58/neural__network_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d2/d58/neural__network_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 0f2cbd3ac..000000000 --- a/d2/d58/neural__network_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,1158 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -machine_learning::argmax - - - - - -Node2->Node3 - - - - - - - - -Node12 - - -machine_learning::neural -_network::NeuralNetwork -::fit_from_csv - - - - - -Node2->Node12 - - - - - - - - -Node47 - - -machine_learning::neural -_network::NeuralNetwork -::single_predict - - - - - -Node2->Node47 - - - - - - - - -Node48 - - -machine_learning::neural -_network::NeuralNetwork -::summary - - - - - -Node2->Node48 - - - - - - - - -Node4 - - -std::begin - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -std::distance - - - - - -Node3->Node5 - - - - - - - - -Node6 - - -std::end - - - - - -Node3->Node6 - - - - - - - - -Node7 - - -std::endl - - - - - -Node3->Node7 - - - - - - - - -Node8 - - -std::exit - - - - - -Node3->Node8 - - - - - - - - -Node9 - - -machine_learning::get -_shape - - - - - -Node3->Node9 - - - - - - - - -Node11 - - -std::max_element - - - - - -Node3->Node11 - - - - - - - - -Node9->Node7 - - - - - - - - -Node9->Node8 - - - - - - - - -Node10 - - -std::make_pair - - - - - -Node9->Node10 - - - - - - - - -Node13 - - -machine_learning::neural -_network::NeuralNetwork::fit - - - - - -Node12->Node13 - - - - - - - - -Node33 - - -machine_learning::neural -_network::NeuralNetwork -::get_XY_from_csv - - - - - -Node12->Node33 - - - - - - - - -Node13->Node3 - - - - - - - - -Node13->Node7 - - - - - - - - -Node13->Node8 - - - - - - - - -Node13->Node9 - - - - - - - - -Node14 - - -machine_learning::neural -_network::NeuralNetwork -::__detailed_single_prediction - - - - - -Node13->Node14 - - - - - - - - -Node15 - - -machine_learning::apply -_function - - - - - -Node13->Node15 - - - - - - - - -Node17 - - -machine_learning::multiply - - - - - -Node13->Node17 - - - - - - - - -Node19 - - -std::chrono::duration_cast - - - - - -Node13->Node19 - - - - - - - - -Node20 - - -machine_learning::equal -_shuffle - - - - - -Node13->Node20 - - - - - - - - -Node25 - - -machine_learning::hadamard -_product - - - - - -Node13->Node25 - - - - - - - - -Node26 - - -std::min - - - - - -Node13->Node26 - - - - - - - - -Node27 - - -std::chrono::high_resolution -_clock::now - - - - - -Node13->Node27 - - - - - - - - -Node28 - - -std::vector::resize - - - - - -Node13->Node28 - - - - - - - - -Node29 - - -std::vector::size - - - - - -Node13->Node29 - - - - - - - - -Node30 - - -machine_learning::sum - - - - - -Node13->Node30 - - - - - - - - -Node31 - - -machine_learning::transpose - - - - - -Node13->Node31 - - - - - - - - -Node32 - - -machine_learning::zeroes -_initialization - - - - - -Node13->Node32 - - - - - - - - -Node14->Node15 - - - - - - - - -Node16 - - -std::vector::emplace_back - - - - - -Node14->Node16 - - - - - - - - -Node14->Node17 - - - - - - - - -Node17->Node7 - - - - - - - - -Node17->Node8 - - - - - - - - -Node17->Node9 - - - - - - - - -Node18 - - -std::vector::push_back - - - - - -Node17->Node18 - - - - - - - - -Node20->Node7 - - - - - - - - -Node20->Node8 - - - - - - - - -Node21 - - -std::chrono::system -_clock::now - - - - - -Node20->Node21 - - - - - - - - -Node22 - - -std::rand - - - - - -Node20->Node22 - - - - - - - - -Node23 - - -std::srand - - - - - -Node20->Node23 - - - - - - - - -Node24 - - -std::swap - - - - - -Node20->Node24 - - - - - - - - -Node25->Node7 - - - - - - - - -Node25->Node8 - - - - - - - - -Node25->Node9 - - - - - - - - -Node25->Node18 - - - - - - - - -Node31->Node9 - - - - - - - - -Node31->Node18 - - - - - - - - -Node33->Node7 - - - - - - - - -Node33->Node8 - - - - - - - - -Node33->Node18 - - - - - - - - -Node34 - - -std::vector::back - - - - - -Node33->Node34 - - - - - - - - -Node35 - - -std::string::c_str - - - - - -Node33->Node35 - - - - - - - - -Node36 - - -std::ifstream::close - - - - - -Node33->Node36 - - - - - - - - -Node37 - - -std::ifstream::eof - - - - - -Node33->Node37 - - - - - - - - -Node38 - - -std::getline - - - - - -Node33->Node38 - - - - - - - - -Node39 - - -machine_learning::insert -_element - - - - - -Node33->Node39 - - - - - - - - -Node40 - - -std::ifstream::is_open - - - - - -Node33->Node40 - - - - - - - - -Node41 - - -machine_learning::minmax -_scaler - - - - - -Node33->Node41 - - - - - - - - -Node43 - - -std::ifstream::open - - - - - -Node33->Node43 - - - - - - - - -Node44 - - -machine_learning::pop_back - - - - - -Node33->Node44 - - - - - - - - -Node45 - - -machine_learning::pop -_front - - - - - -Node33->Node45 - - - - - - - - -Node46 - - -std::stod - - - - - -Node33->Node46 - - - - - - - - -Node41->Node7 - - - - - - - - -Node41->Node8 - - - - - - - - -Node41->Node9 - - - - - - - - -Node41->Node26 - - - - - - - - -Node41->Node29 - - - - - - - - -Node42 - - -std::max - - - - - -Node41->Node42 - - - - - - - - -Node47->Node14 - - - - - - - - -Node48->Node7 - - - - - - - - -Node48->Node9 - - - - - - - - diff --git a/d2/d58/neural__network_8cpp_af8f264600754602b6a9ea19cc690e50e_cgraph.map b/d2/d58/neural__network_8cpp_af8f264600754602b6a9ea19cc690e50e_cgraph.map deleted file mode 100644 index 3ac3787a8..000000000 --- a/d2/d58/neural__network_8cpp_af8f264600754602b6a9ea19cc690e50e_cgraph.map +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/d2/d58/neural__network_8cpp_af8f264600754602b6a9ea19cc690e50e_cgraph.md5 b/d2/d58/neural__network_8cpp_af8f264600754602b6a9ea19cc690e50e_cgraph.md5 deleted file mode 100644 index e81489ebc..000000000 --- a/d2/d58/neural__network_8cpp_af8f264600754602b6a9ea19cc690e50e_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -b9985b49c0c438862f970c86ba4d9947 \ No newline at end of file diff --git a/d2/d58/neural__network_8cpp_af8f264600754602b6a9ea19cc690e50e_cgraph.svg b/d2/d58/neural__network_8cpp_af8f264600754602b6a9ea19cc690e50e_cgraph.svg deleted file mode 100644 index c0b0fb1ad..000000000 --- a/d2/d58/neural__network_8cpp_af8f264600754602b6a9ea19cc690e50e_cgraph.svg +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - - - - - - - -machine_learning::neural_network::activations::relu - - -Node1 - - -machine_learning::neural -_network::activations::relu - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::max - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d2/d58/neural__network_8cpp_af8f264600754602b6a9ea19cc690e50e_cgraph_org.svg b/d2/d58/neural__network_8cpp_af8f264600754602b6a9ea19cc690e50e_cgraph_org.svg deleted file mode 100644 index dea145241..000000000 --- a/d2/d58/neural__network_8cpp_af8f264600754602b6a9ea19cc690e50e_cgraph_org.svg +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - -machine_learning::neural_network::activations::relu - - -Node1 - - -machine_learning::neural -_network::activations::relu - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::max - - - - - -Node1->Node2 - - - - - - - - diff --git a/d2/d58/neural__network_8cpp_source.html b/d2/d58/neural__network_8cpp_source.html new file mode 100644 index 000000000..1ce37116f --- /dev/null +++ b/d2/d58/neural__network_8cpp_source.html @@ -0,0 +1,800 @@ + + + + + + + + +TheAlgorithms/C++: machine_learning/neural_network.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    neural_network.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    30#include <algorithm>
    +
    31#include <cassert>
    +
    32#include <chrono>
    +
    33#include <cmath>
    +
    34#include <fstream>
    +
    35#include <iostream>
    +
    36#include <sstream>
    +
    37#include <string>
    +
    38#include <valarray>
    +
    39#include <vector>
    +
    40
    +
    41#include "vector_ops.hpp" // Custom header file for vector operations
    +
    42
    +
    46namespace machine_learning {
    +
    50namespace neural_network {
    +
    54namespace activations {
    +
    60double sigmoid(const double &x) { return 1.0 / (1.0 + std::exp(-x)); }
    +
    61
    +
    67double dsigmoid(const double &x) { return x * (1 - x); }
    +
    68
    +
    74double relu(const double &x) { return std::max(0.0, x); }
    +
    75
    +
    81double drelu(const double &x) { return x >= 0.0 ? 1.0 : 0.0; }
    +
    82
    +
    88double tanh(const double &x) { return 2 / (1 + std::exp(-2 * x)) - 1; }
    +
    89
    +
    95double dtanh(const double &x) { return 1 - x * x; }
    +
    96} // namespace activations
    +
    100namespace util_functions {
    +
    106double square(const double &x) { return x * x; }
    +
    112double identity_function(const double &x) { return x; }
    +
    113} // namespace util_functions
    +
    118namespace layers {
    +
    + +
    126 public:
    +
    127 // To store activation function and it's derivative
    +
    128 double (*activation_function)(const double &);
    +
    129 double (*dactivation_function)(const double &);
    +
    130 int neurons; // To store number of neurons (used in summary)
    +
    131 std::string activation; // To store activation name (used in summary)
    +
    132 std::vector<std::valarray<double>> kernel; // To store kernel (aka weights)
    +
    133
    +
    +
    141 DenseLayer(const int &neurons, const std::string &activation,
    +
    142 const std::pair<size_t, size_t> &kernel_shape,
    +
    143 const bool &random_kernel) {
    +
    144 // Choosing activation (and it's derivative)
    +
    145 if (activation == "sigmoid") {
    +
    146 activation_function = neural_network::activations::sigmoid;
    +
    147 dactivation_function = neural_network::activations::sigmoid;
    +
    148 } else if (activation == "relu") {
    +
    149 activation_function = neural_network::activations::relu;
    +
    150 dactivation_function = neural_network::activations::drelu;
    +
    151 } else if (activation == "tanh") {
    +
    152 activation_function = neural_network::activations::tanh;
    +
    153 dactivation_function = neural_network::activations::dtanh;
    +
    154 } else if (activation == "none") {
    +
    155 // Set identity function in casse of none is supplied
    +
    156 activation_function =
    +
    157 neural_network::util_functions::identity_function;
    +
    158 dactivation_function =
    +
    159 neural_network::util_functions::identity_function;
    +
    160 } else {
    +
    161 // If supplied activation is invalid
    +
    162 std::cerr << "ERROR (" << __func__ << ") : ";
    +
    163 std::cerr << "Invalid argument. Expected {none, sigmoid, relu, "
    +
    164 "tanh} got ";
    +
    165 std::cerr << activation << std::endl;
    +
    166 std::exit(EXIT_FAILURE);
    +
    167 }
    +
    168 this->activation = activation; // Setting activation name
    +
    169 this->neurons = neurons; // Setting number of neurons
    +
    170 // Initialize kernel according to flag
    +
    171 if (random_kernel) {
    +
    172 uniform_random_initialization(kernel, kernel_shape, -1.0, 1.0);
    +
    173 } else {
    +
    174 unit_matrix_initialization(kernel, kernel_shape);
    +
    175 }
    +
    176 }
    +
    +
    +
    183 DenseLayer(const int &neurons, const std::string &activation,
    +
    184 const std::vector<std::valarray<double>> &kernel) {
    +
    185 // Choosing activation (and it's derivative)
    +
    186 if (activation == "sigmoid") {
    +
    187 activation_function = neural_network::activations::sigmoid;
    +
    188 dactivation_function = neural_network::activations::sigmoid;
    +
    189 } else if (activation == "relu") {
    +
    190 activation_function = neural_network::activations::relu;
    +
    191 dactivation_function = neural_network::activations::drelu;
    +
    192 } else if (activation == "tanh") {
    +
    193 activation_function = neural_network::activations::tanh;
    +
    194 dactivation_function = neural_network::activations::dtanh;
    +
    195 } else if (activation == "none") {
    +
    196 // Set identity function in casse of none is supplied
    +
    197 activation_function =
    +
    198 neural_network::util_functions::identity_function;
    +
    199 dactivation_function =
    +
    200 neural_network::util_functions::identity_function;
    +
    201 } else {
    +
    202 // If supplied activation is invalid
    +
    203 std::cerr << "ERROR (" << __func__ << ") : ";
    +
    204 std::cerr << "Invalid argument. Expected {none, sigmoid, relu, "
    +
    205 "tanh} got ";
    +
    206 std::cerr << activation << std::endl;
    +
    207 std::exit(EXIT_FAILURE);
    +
    208 }
    +
    209 this->activation = activation; // Setting activation name
    +
    210 this->neurons = neurons; // Setting number of neurons
    +
    211 this->kernel = kernel; // Setting supplied kernel values
    +
    212 }
    +
    +
    213
    +
    219 DenseLayer(const DenseLayer &layer) = default;
    +
    220
    +
    224 ~DenseLayer() = default;
    +
    225
    +
    229 DenseLayer &operator=(const DenseLayer &layer) = default;
    +
    230
    +
    234 DenseLayer(DenseLayer &&) = default;
    +
    235
    + +
    240};
    +
    +
    241} // namespace layers
    +
    + +
    248 private:
    +
    249 std::vector<neural_network::layers::DenseLayer> layers; // To store layers
    +
    + +
    257 const std::vector<std::pair<int, std::string>> &config,
    +
    258 const std::vector<std::vector<std::valarray<double>>> &kernels) {
    +
    259 // First layer should not have activation
    +
    260 if (config.begin()->second != "none") {
    +
    261 std::cerr << "ERROR (" << __func__ << ") : ";
    +
    262 std::cerr
    +
    263 << "First layer can't have activation other than none got "
    +
    264 << config.begin()->second;
    +
    265 std::cerr << std::endl;
    +
    266 std::exit(EXIT_FAILURE);
    +
    267 }
    +
    268 // Network should have atleast two layers
    +
    269 if (config.size() <= 1) {
    +
    270 std::cerr << "ERROR (" << __func__ << ") : ";
    +
    271 std::cerr << "Invalid size of network, ";
    +
    272 std::cerr << "Atleast two layers are required";
    +
    273 std::exit(EXIT_FAILURE);
    +
    274 }
    +
    275 // Reconstructing all pretrained layers
    +
    276 for (size_t i = 0; i < config.size(); i++) {
    + +
    278 config[i].first, config[i].second, kernels[i]));
    +
    279 }
    +
    280 std::cout << "INFO: Network constructed successfully" << std::endl;
    +
    281 }
    +
    +
    288 std::vector<std::vector<std::valarray<double>>>
    +
    +
    289 __detailed_single_prediction(const std::vector<std::valarray<double>> &X) {
    +
    290 std::vector<std::vector<std::valarray<double>>> details;
    +
    291 std::vector<std::valarray<double>> current_pass = X;
    +
    292 details.emplace_back(X);
    +
    293 for (const auto &l : layers) {
    +
    294 current_pass = multiply(current_pass, l.kernel);
    +
    295 current_pass = apply_function(current_pass, l.activation_function);
    +
    296 details.emplace_back(current_pass);
    +
    297 }
    +
    298 return details;
    +
    299 }
    +
    +
    300
    +
    301 public:
    +
    306 NeuralNetwork() = default;
    +
    307
    +
    + +
    314 const std::vector<std::pair<int, std::string>> &config) {
    +
    315 // First layer should not have activation
    +
    316 if (config.begin()->second != "none") {
    +
    317 std::cerr << "ERROR (" << __func__ << ") : ";
    +
    318 std::cerr
    +
    319 << "First layer can't have activation other than none got "
    +
    320 << config.begin()->second;
    +
    321 std::cerr << std::endl;
    +
    322 std::exit(EXIT_FAILURE);
    +
    323 }
    +
    324 // Network should have atleast two layers
    +
    325 if (config.size() <= 1) {
    +
    326 std::cerr << "ERROR (" << __func__ << ") : ";
    +
    327 std::cerr << "Invalid size of network, ";
    +
    328 std::cerr << "Atleast two layers are required";
    +
    329 std::exit(EXIT_FAILURE);
    +
    330 }
    +
    331 // Separately creating first layer so it can have unit matrix
    +
    332 // as kernel.
    + +
    334 config[0].first, config[0].second,
    +
    335 {config[0].first, config[0].first}, false));
    +
    336 // Creating remaining layers
    +
    337 for (size_t i = 1; i < config.size(); i++) {
    + +
    339 config[i].first, config[i].second,
    +
    340 {config[i - 1].first, config[i].first}, true));
    +
    341 }
    +
    342 std::cout << "INFO: Network constructed successfully" << std::endl;
    +
    343 }
    +
    +
    344
    +
    350 NeuralNetwork(const NeuralNetwork &model) = default;
    +
    351
    +
    355 ~NeuralNetwork() = default;
    +
    356
    +
    360 NeuralNetwork &operator=(const NeuralNetwork &model) = default;
    +
    361
    + +
    366
    + +
    371
    +
    380 std::pair<std::vector<std::vector<std::valarray<double>>>,
    +
    381 std::vector<std::vector<std::valarray<double>>>>
    +
    +
    382 get_XY_from_csv(const std::string &file_name, const bool &last_label,
    +
    383 const bool &normalize, const int &slip_lines = 1) {
    +
    384 std::ifstream in_file; // Ifstream to read file
    +
    385 in_file.open(file_name.c_str(), std::ios::in); // Open file
    +
    386 // If there is any problem in opening file
    +
    387 if (!in_file.is_open()) {
    +
    388 std::cerr << "ERROR (" << __func__ << ") : ";
    +
    389 std::cerr << "Unable to open file: " << file_name << std::endl;
    +
    390 std::exit(EXIT_FAILURE);
    +
    391 }
    +
    392 std::vector<std::vector<std::valarray<double>>> X,
    +
    393 Y; // To store X and Y
    +
    394 std::string line; // To store each line
    +
    395 // Skip lines
    +
    396 for (int i = 0; i < slip_lines; i++) {
    +
    397 std::getline(in_file, line, '\n'); // Ignore line
    +
    398 }
    +
    399 // While file has information
    +
    400 while (!in_file.eof() && std::getline(in_file, line, '\n')) {
    +
    401 std::valarray<double> x_data,
    +
    402 y_data; // To store single sample and label
    +
    403 std::stringstream ss(line); // Constructing stringstream from line
    +
    404 std::string token; // To store each token in line (seprated by ',')
    +
    405 while (std::getline(ss, token, ',')) { // For each token
    +
    406 // Insert numerical value of token in x_data
    +
    407 x_data = insert_element(x_data, std::stod(token));
    +
    408 }
    +
    409 // If label is in last column
    +
    410 if (last_label) {
    +
    411 y_data.resize(this->layers.back().neurons);
    +
    412 // If task is classification
    +
    413 if (y_data.size() > 1) {
    +
    414 y_data[x_data[x_data.size() - 1]] = 1;
    +
    415 }
    +
    416 // If task is regrssion (of single value)
    +
    417 else {
    +
    418 y_data[0] = x_data[x_data.size() - 1];
    +
    419 }
    +
    420 x_data = pop_back(x_data); // Remove label from x_data
    +
    421 } else {
    +
    422 y_data.resize(this->layers.back().neurons);
    +
    423 // If task is classification
    +
    424 if (y_data.size() > 1) {
    +
    425 y_data[x_data[x_data.size() - 1]] = 1;
    +
    426 }
    +
    427 // If task is regrssion (of single value)
    +
    428 else {
    +
    429 y_data[0] = x_data[x_data.size() - 1];
    +
    430 }
    +
    431 x_data = pop_front(x_data); // Remove label from x_data
    +
    432 }
    +
    433 // Push collected X_data and y_data in X and Y
    +
    434 X.push_back({x_data});
    +
    435 Y.push_back({y_data});
    +
    436 }
    +
    437 // Normalize training data if flag is set
    +
    438 if (normalize) {
    +
    439 // Scale data between 0 and 1 using min-max scaler
    +
    440 X = minmax_scaler(X, 0.01, 1.0);
    +
    441 }
    +
    442 in_file.close(); // Closing file
    +
    443 return make_pair(X, Y); // Return pair of X and Y
    +
    444 }
    +
    +
    445
    +
    +
    451 std::vector<std::valarray<double>> single_predict(
    +
    452 const std::vector<std::valarray<double>> &X) {
    +
    453 // Get activations of all layers
    + +
    455 // Return activations of last layer (actual predicted values)
    +
    456 return activations.back();
    +
    457 }
    +
    +
    458
    +
    +
    464 std::vector<std::vector<std::valarray<double>>> batch_predict(
    +
    465 const std::vector<std::vector<std::valarray<double>>> &X) {
    +
    466 // Store predicted values
    +
    467 std::vector<std::vector<std::valarray<double>>> predicted_batch(
    +
    468 X.size());
    +
    469 for (size_t i = 0; i < X.size(); i++) { // For every sample
    +
    470 // Push predicted values
    +
    471 predicted_batch[i] = this->single_predict(X[i]);
    +
    472 }
    +
    473 return predicted_batch; // Return predicted values
    +
    474 }
    +
    +
    475
    +
    +
    485 void fit(const std::vector<std::vector<std::valarray<double>>> &X_,
    +
    486 const std::vector<std::vector<std::valarray<double>>> &Y_,
    +
    487 const int &epochs = 100, const double &learning_rate = 0.01,
    +
    488 const size_t &batch_size = 32, const bool &shuffle = true) {
    +
    489 std::vector<std::vector<std::valarray<double>>> X = X_, Y = Y_;
    +
    490 // Both label and input data should have same size
    +
    491 if (X.size() != Y.size()) {
    +
    492 std::cerr << "ERROR (" << __func__ << ") : ";
    +
    493 std::cerr << "X and Y in fit have different sizes" << std::endl;
    +
    494 std::exit(EXIT_FAILURE);
    +
    495 }
    +
    496 std::cout << "INFO: Training Started" << std::endl;
    +
    497 for (int epoch = 1; epoch <= epochs; epoch++) { // For every epoch
    +
    498 // Shuffle X and Y if flag is set
    +
    499 if (shuffle) {
    +
    500 equal_shuffle(X, Y);
    +
    501 }
    +
    502 auto start =
    +
    503 std::chrono::high_resolution_clock::now(); // Start clock
    +
    504 double loss = 0,
    +
    505 acc = 0; // Initialize performance metrics with zero
    +
    506 // For each starting index of batch
    +
    507 for (size_t batch_start = 0; batch_start < X.size();
    +
    508 batch_start += batch_size) {
    +
    509 for (size_t i = batch_start;
    +
    510 i < std::min(X.size(), batch_start + batch_size); i++) {
    +
    511 std::vector<std::valarray<double>> grad, cur_error,
    +
    512 predicted;
    +
    513 auto activations = this->__detailed_single_prediction(X[i]);
    +
    514 // Gradients vector to store gradients for all layers
    +
    515 // They will be averaged and applied to kernel
    +
    516 std::vector<std::vector<std::valarray<double>>> gradients;
    +
    517 gradients.resize(this->layers.size());
    +
    518 // First initialize gradients to zero
    +
    519 for (size_t i = 0; i < gradients.size(); i++) {
    + +
    521 gradients[i], get_shape(this->layers[i].kernel));
    +
    522 }
    +
    523 predicted = activations.back(); // Predicted vector
    +
    524 cur_error = predicted - Y[i]; // Absoulute error
    +
    525 // Calculating loss with MSE
    +
    526 loss += sum(apply_function(
    +
    527 cur_error, neural_network::util_functions::square));
    +
    528 // If prediction is correct
    +
    529 if (argmax(predicted) == argmax(Y[i])) {
    +
    530 acc += 1;
    +
    531 }
    +
    532 // For every layer (except first) starting from last one
    +
    533 for (size_t j = this->layers.size() - 1; j >= 1; j--) {
    +
    534 // Backpropogating errors
    +
    535 cur_error = hadamard_product(
    +
    536 cur_error,
    + +
    538 activations[j + 1],
    +
    539 this->layers[j].dactivation_function));
    +
    540 // Calculating gradient for current layer
    +
    541 grad = multiply(transpose(activations[j]), cur_error);
    +
    542 // Change error according to current kernel values
    +
    543 cur_error = multiply(cur_error,
    +
    544 transpose(this->layers[j].kernel));
    +
    545 // Adding gradient values to collection of gradients
    +
    546 gradients[j] = gradients[j] + grad / double(batch_size);
    +
    547 }
    +
    548 // Applying gradients
    +
    549 for (size_t j = this->layers.size() - 1; j >= 1; j--) {
    +
    550 // Updating kernel (aka weights)
    +
    551 this->layers[j].kernel = this->layers[j].kernel -
    +
    552 gradients[j] * learning_rate;
    +
    553 }
    +
    554 }
    +
    555 }
    +
    556 auto stop =
    +
    557 std::chrono::high_resolution_clock::now(); // Stoping the clock
    +
    558 // Calculate time taken by epoch
    +
    559 auto duration =
    +
    560 std::chrono::duration_cast<std::chrono::microseconds>(stop -
    +
    561 start);
    +
    562 loss /= X.size(); // Averaging loss
    +
    563 acc /= X.size(); // Averaging accuracy
    +
    564 std::cout.precision(4); // set output precision to 4
    +
    565 // Printing training stats
    +
    566 std::cout << "Training: Epoch " << epoch << '/' << epochs;
    +
    567 std::cout << ", Loss: " << loss;
    +
    568 std::cout << ", Accuracy: " << acc;
    +
    569 std::cout << ", Taken time: " << duration.count() / 1e6
    +
    570 << " seconds";
    +
    571 std::cout << std::endl;
    +
    572 }
    +
    573 return;
    +
    574 }
    +
    +
    575
    +
    +
    587 void fit_from_csv(const std::string &file_name, const bool &last_label,
    +
    588 const int &epochs, const double &learning_rate,
    +
    589 const bool &normalize, const int &slip_lines = 1,
    +
    590 const size_t &batch_size = 32,
    +
    591 const bool &shuffle = true) {
    +
    592 // Getting training data from csv file
    +
    593 auto data =
    +
    594 this->get_XY_from_csv(file_name, last_label, normalize, slip_lines);
    +
    595 // Fit the model on training data
    +
    596 this->fit(data.first, data.second, epochs, learning_rate, batch_size,
    +
    597 shuffle);
    +
    598 return;
    +
    599 }
    +
    +
    600
    +
    +
    606 void evaluate(const std::vector<std::vector<std::valarray<double>>> &X,
    +
    607 const std::vector<std::vector<std::valarray<double>>> &Y) {
    +
    608 std::cout << "INFO: Evaluation Started" << std::endl;
    +
    609 double acc = 0, loss = 0; // initialize performance metrics with zero
    +
    610 for (size_t i = 0; i < X.size(); i++) { // For every sample in input
    +
    611 // Get predictions
    +
    612 std::vector<std::valarray<double>> pred =
    +
    613 this->single_predict(X[i]);
    +
    614 // If predicted class is correct
    +
    615 if (argmax(pred) == argmax(Y[i])) {
    +
    616 acc += 1; // Increment accuracy
    +
    617 }
    +
    618 // Calculating loss - Mean Squared Error
    +
    619 loss += sum(apply_function((Y[i] - pred),
    +
    620 neural_network::util_functions::square) *
    +
    621 0.5);
    +
    622 }
    +
    623 acc /= X.size(); // Averaging accuracy
    +
    624 loss /= X.size(); // Averaging loss
    +
    625 // Prinitng performance of the model
    +
    626 std::cout << "Evaluation: Loss: " << loss;
    +
    627 std::cout << ", Accuracy: " << acc << std::endl;
    +
    628 return;
    +
    629 }
    +
    +
    630
    +
    +
    638 void evaluate_from_csv(const std::string &file_name, const bool &last_label,
    +
    639 const bool &normalize, const int &slip_lines = 1) {
    +
    640 // Getting training data from csv file
    +
    641 auto data =
    +
    642 this->get_XY_from_csv(file_name, last_label, normalize, slip_lines);
    +
    643 // Evaluating model
    +
    644 this->evaluate(data.first, data.second);
    +
    645 return;
    +
    646 }
    +
    +
    647
    +
    +
    652 void save_model(const std::string &_file_name) {
    +
    653 std::string file_name = _file_name;
    +
    654 // Adding ".model" extension if it is not already there in name
    +
    655 if (file_name.find(".model") == file_name.npos) {
    +
    656 file_name += ".model";
    +
    657 }
    +
    658 std::ofstream out_file; // Ofstream to write in file
    +
    659 // Open file in out|trunc mode
    +
    660 out_file.open(file_name.c_str(),
    +
    661 std::ofstream::out | std::ofstream::trunc);
    +
    662 // If there is any problem in opening file
    +
    663 if (!out_file.is_open()) {
    +
    664 std::cerr << "ERROR (" << __func__ << ") : ";
    +
    665 std::cerr << "Unable to open file: " << file_name << std::endl;
    +
    666 std::exit(EXIT_FAILURE);
    +
    667 }
    +
    707 // Saving model in the same format
    +
    708 out_file << layers.size();
    +
    709 out_file << std::endl;
    +
    710 for (const auto &layer : this->layers) {
    +
    711 out_file << layer.neurons << ' ' << layer.activation << std::endl;
    +
    712 const auto shape = get_shape(layer.kernel);
    +
    713 out_file << shape.first << ' ' << shape.second << std::endl;
    +
    714 for (const auto &row : layer.kernel) {
    +
    715 for (const auto &val : row) {
    +
    716 out_file << val << ' ';
    +
    717 }
    +
    718 out_file << std::endl;
    +
    719 }
    +
    720 }
    +
    721 std::cout << "INFO: Model saved successfully with name : ";
    +
    722 std::cout << file_name << std::endl;
    +
    723 out_file.close(); // Closing file
    +
    724 return;
    +
    725 }
    +
    +
    726
    +
    +
    732 NeuralNetwork load_model(const std::string &file_name) {
    +
    733 std::ifstream in_file; // Ifstream to read file
    +
    734 in_file.open(file_name.c_str()); // Openinig file
    +
    735 // If there is any problem in opening file
    +
    736 if (!in_file.is_open()) {
    +
    737 std::cerr << "ERROR (" << __func__ << ") : ";
    +
    738 std::cerr << "Unable to open file: " << file_name << std::endl;
    +
    739 std::exit(EXIT_FAILURE);
    +
    740 }
    +
    741 std::vector<std::pair<int, std::string>> config; // To store config
    +
    742 std::vector<std::vector<std::valarray<double>>>
    +
    743 kernels; // To store pretrained kernels
    +
    744 // Loading model from saved file format
    +
    745 size_t total_layers = 0;
    +
    746 in_file >> total_layers;
    +
    747 for (size_t i = 0; i < total_layers; i++) {
    +
    748 int neurons = 0;
    +
    749 std::string activation;
    +
    750 size_t shape_a = 0, shape_b = 0;
    +
    751 std::vector<std::valarray<double>> kernel;
    +
    752 in_file >> neurons >> activation >> shape_a >> shape_b;
    +
    753 for (size_t r = 0; r < shape_a; r++) {
    +
    754 std::valarray<double> row(shape_b);
    +
    755 for (size_t c = 0; c < shape_b; c++) {
    +
    756 in_file >> row[c];
    +
    757 }
    +
    758 kernel.push_back(row);
    +
    759 }
    +
    760 config.emplace_back(make_pair(neurons, activation));
    +
    761 ;
    +
    762 kernels.emplace_back(kernel);
    +
    763 }
    +
    764 std::cout << "INFO: Model loaded successfully" << std::endl;
    +
    765 in_file.close(); // Closing file
    +
    766 return NeuralNetwork(
    +
    767 config, kernels); // Return instance of NeuralNetwork class
    +
    768 }
    +
    +
    769
    +
    +
    773 void summary() {
    +
    774 // Printing Summary
    +
    775 std::cout
    +
    776 << "==============================================================="
    +
    777 << std::endl;
    +
    778 std::cout << "\t\t+ MODEL SUMMARY +\t\t\n";
    +
    779 std::cout
    +
    780 << "==============================================================="
    +
    781 << std::endl;
    +
    782 for (size_t i = 1; i <= layers.size(); i++) { // For every layer
    +
    783 std::cout << i << ")";
    +
    784 std::cout << " Neurons : "
    +
    785 << layers[i - 1].neurons; // number of neurons
    +
    786 std::cout << ", Activation : "
    +
    787 << layers[i - 1].activation; // activation
    +
    788 std::cout << ", kernel Shape : "
    +
    789 << get_shape(layers[i - 1].kernel); // kernel shape
    +
    790 std::cout << std::endl;
    +
    791 }
    +
    792 std::cout
    +
    793 << "==============================================================="
    +
    794 << std::endl;
    +
    795 return;
    +
    796 }
    +
    +
    797};
    +
    +
    798} // namespace neural_network
    +
    799} // namespace machine_learning
    +
    800
    +
    +
    805static void test() {
    +
    806 // Creating network with 3 layers for "iris.csv"
    + + +
    809 {4, "none"}, // First layer with 3 neurons and "none" as activation
    +
    810 {6,
    +
    811 "relu"}, // Second layer with 6 neurons and "relu" as activation
    +
    812 {3, "sigmoid"} // Third layer with 3 neurons and "sigmoid" as
    +
    813 // activation
    +
    814 });
    +
    815 // Printing summary of model
    +
    816 myNN.summary();
    +
    817 // Training Model
    +
    818 myNN.fit_from_csv("iris.csv", true, 100, 0.3, false, 2, 32, true);
    +
    819 // Testing predictions of model
    + +
    821 myNN.single_predict({{5, 3.4, 1.6, 0.4}})) == 0);
    + +
    823 myNN.single_predict({{6.4, 2.9, 4.3, 1.3}})) == 1);
    + +
    825 myNN.single_predict({{6.2, 3.4, 5.4, 2.3}})) == 2);
    +
    826 return;
    +
    827}
    +
    +
    828
    +
    +
    833int main() {
    +
    834 // Testing
    +
    835 test();
    +
    836 return 0;
    +
    837}
    +
    + + +
    NeuralNetwork(const NeuralNetwork &model)=default
    +
    void fit(const std::vector< std::vector< std::valarray< double > > > &X_, const std::vector< std::vector< std::valarray< double > > > &Y_, const int &epochs=100, const double &learning_rate=0.01, const size_t &batch_size=32, const bool &shuffle=true)
    +
    NeuralNetwork & operator=(NeuralNetwork &&)=default
    +
    std::vector< std::vector< std::valarray< double > > > __detailed_single_prediction(const std::vector< std::valarray< double > > &X)
    +
    void evaluate_from_csv(const std::string &file_name, const bool &last_label, const bool &normalize, const int &slip_lines=1)
    +
    std::vector< std::valarray< double > > single_predict(const std::vector< std::valarray< double > > &X)
    +
    NeuralNetwork(const std::vector< std::pair< int, std::string > > &config, const std::vector< std::vector< std::valarray< double > > > &kernels)
    +
    void save_model(const std::string &_file_name)
    +
    void fit_from_csv(const std::string &file_name, const bool &last_label, const int &epochs, const double &learning_rate, const bool &normalize, const int &slip_lines=1, const size_t &batch_size=32, const bool &shuffle=true)
    +
    NeuralNetwork & operator=(const NeuralNetwork &model)=default
    +
    NeuralNetwork load_model(const std::string &file_name)
    + +
    NeuralNetwork(const std::vector< std::pair< int, std::string > > &config)
    +
    std::pair< std::vector< std::vector< std::valarray< double > > >, std::vector< std::vector< std::valarray< double > > > > get_XY_from_csv(const std::string &file_name, const bool &last_label, const bool &normalize, const int &slip_lines=1)
    +
    std::vector< std::vector< std::valarray< double > > > batch_predict(const std::vector< std::vector< std::valarray< double > > > &X)
    + + +
    void evaluate(const std::vector< std::vector< std::valarray< double > > > &X, const std::vector< std::vector< std::valarray< double > > > &Y)
    + +
    DenseLayer(const int &neurons, const std::string &activation, const std::pair< size_t, size_t > &kernel_shape, const bool &random_kernel)
    +
    DenseLayer & operator=(DenseLayer &&)=default
    +
    DenseLayer(const DenseLayer &layer)=default
    + + +
    DenseLayer & operator=(const DenseLayer &layer)=default
    +
    DenseLayer(const int &neurons, const std::string &activation, const std::vector< std::valarray< double > > &kernel)
    +
    int data[MAX]
    test data
    +
    Various activation functions used in Neural network.
    +
    This namespace contains layers used in MLP.
    +
    A* search algorithm
    +
    std::valarray< T > insert_element(const std::valarray< T > &A, const T &ele)
    +
    size_t argmax(const std::vector< std::valarray< T > > &A)
    +
    std::vector< std::valarray< T > > multiply(const std::vector< std::valarray< T > > &A, const std::vector< std::valarray< T > > &B)
    +
    T sum(const std::vector< std::valarray< T > > &A)
    +
    std::vector< std::valarray< T > > transpose(const std::vector< std::valarray< T > > &A)
    +
    void unit_matrix_initialization(std::vector< std::valarray< T > > &A, const std::pair< size_t, size_t > &shape)
    +
    std::valarray< T > pop_front(const std::valarray< T > &A)
    +
    std::pair< size_t, size_t > get_shape(const std::vector< std::valarray< T > > &A)
    +
    void uniform_random_initialization(std::vector< std::valarray< T > > &A, const std::pair< size_t, size_t > &shape, const T &low, const T &high)
    +
    void zeroes_initialization(std::vector< std::valarray< T > > &A, const std::pair< size_t, size_t > &shape)
    +
    std::vector< std::vector< std::valarray< T > > > minmax_scaler(const std::vector< std::vector< std::valarray< T > > > &A, const T &low, const T &high)
    +
    std::vector< std::valarray< T > > hadamard_product(const std::vector< std::valarray< T > > &A, const std::vector< std::valarray< T > > &B)
    +
    std::vector< std::valarray< T > > apply_function(const std::vector< std::valarray< T > > &A, T(*func)(const T &))
    +
    std::valarray< T > pop_back(const std::valarray< T > &A)
    +
    void equal_shuffle(std::vector< std::vector< std::valarray< T > > > &A, std::vector< std::vector< std::valarray< T > > > &B)
    +
    Neural Network or Multilayer Perceptron.
    +
    Various utility functions used in Neural network.
    + + + + + + + +
    static void test()
    +
    int main()
    Main function.
    + +
    Various functions for vectors associated with [NeuralNetwork (aka Multilayer Perceptron)] (https://en...
    +
    +
    + + + + diff --git a/d2/d5a/subset__sum_8cpp.html b/d2/d5a/subset__sum_8cpp.html index 16dcf5775..ad8f81319 100644 --- a/d2/d5a/subset__sum_8cpp.html +++ b/d2/d5a/subset__sum_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: backtracking/subset_sum.cpp File Reference +TheAlgorithms/C++: backtracking/subset_sum.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -122,7 +139,9 @@ Include dependency graph for subset_sum.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -134,7 +153,7 @@ Namespaces

    Namespaces

    namespace  backtracking
    - + @@ -147,6 +166,8 @@ Functions

    Detailed Description

    Implementation of the Subset Sum problem.

    We are given an array and a sum value. The algorithm finds all the subsets of that array with sum equal to the given sum and return such subsets count. This approach will have exponential time complexity.

    Author
    Swastika Gupta
    + +

    Definition in file subset_sum.cpp.

    Function Documentation

    ◆ main()

    @@ -165,17 +186,14 @@ Functions

    Main function.

    Returns
    0 on exit
    + +

    Definition at line 104 of file subset_sum.cpp.

    104 {
    105 test(); // run self-test implementations
    106 return 0;
    107}
    -
    static void test()
    Test implementations.
    Definition subset_sum.cpp:58
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static void test()
    Test implementations.
    + @@ -192,7 +210,7 @@ Here is the call graph for this function: - +

    Functions

    uint64_t backtracking::subset_sum::number_of_subsets (int32_t sum, const std::vector< int32_t > &in_arr)
    uint64_t backtracking::subset_sum::number_of_subsets (int32_t sum, const std::vector< int32_t > &in_arr)
     The main function implements count of subsets.
     
    static void test ()
    const std::vector< int32_t > & in_arr )const std::vector< int32_t > & in_arr )
    @@ -206,15 +224,17 @@ Here is the call graph for this function:
    Returns
    count of the number of subsets with required sum
    + +

    Definition at line 34 of file subset_sum.cpp.

    34 {
    -
    35 int32_t nelement = in_arr.size();
    +
    35 int32_t nelement = in_arr.size();
    36 uint64_t count_of_subset = 0;
    37
    38 for (int32_t i = 0; i < (1 << (nelement)); i++) {
    -
    39 int32_t check = 0;
    +
    39 int32_t check = 0;
    40 for (int32_t j = 0; j < nelement; j++) {
    41 if (i & (1 << j)) {
    -
    42 check += (in_arr[j]);
    +
    42 check += (in_arr[j]);
    43 }
    44 }
    45 if (check == sum) {
    @@ -223,14 +243,7 @@ Here is the call graph for this function:
    48 }
    49 return count_of_subset;
    50}
    -
    T size(T... args)
    -
    bool check(const std::string &s, const std::unordered_set< std::string > &strSet, int pos, std::vector< int > *dp)
    Function that checks if the string passed in param can be segmented from position 'pos',...
    Definition word_break.cpp:80
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -258,56 +271,50 @@ Here is the call graph for this function:

    Test implementations.

    Returns
    void
    + +

    Definition at line 58 of file subset_sum.cpp.

    58 {
    59 // 1st test
    -
    60 std::cout << "1st test ";
    -
    61 std::vector<int32_t> array1 = {-7, -3, -2, 5, 8}; // input array
    +
    60 std::cout << "1st test ";
    +
    61 std::vector<int32_t> array1 = {-7, -3, -2, 5, 8}; // input array
    62 assert(backtracking::subset_sum::number_of_subsets(0, array1) ==
    63 2); // first argument in subset_sum function is the required sum and
    64 // second is the input array
    -
    65 std::cout << "passed" << std::endl;
    +
    65 std::cout << "passed" << std::endl;
    66
    67 // 2nd test
    -
    68 std::cout << "2nd test ";
    -
    69 std::vector<int32_t> array2 = {1, 2, 3, 3};
    +
    68 std::cout << "2nd test ";
    +
    69 std::vector<int32_t> array2 = {1, 2, 3, 3};
    70 assert(backtracking::subset_sum::number_of_subsets(6, array2) ==
    71 3); // here we are expecting 3 subsets which sum up to 6 i.e.
    72 // {(1,2,3),(1,2,3),(3,3)}
    -
    73 std::cout << "passed" << std::endl;
    +
    73 std::cout << "passed" << std::endl;
    74
    75 // 3rd test
    -
    76 std::cout << "3rd test ";
    -
    77 std::vector<int32_t> array3 = {1, 1, 1, 1};
    +
    76 std::cout << "3rd test ";
    +
    77 std::vector<int32_t> array3 = {1, 1, 1, 1};
    78 assert(backtracking::subset_sum::number_of_subsets(1, array3) ==
    79 4); // here we are expecting 4 subsets which sum up to 1 i.e.
    80 // {(1),(1),(1),(1)}
    -
    81 std::cout << "passed" << std::endl;
    +
    81 std::cout << "passed" << std::endl;
    82
    83 // 4th test
    -
    84 std::cout << "4th test ";
    -
    85 std::vector<int32_t> array4 = {3, 3, 3, 3};
    +
    84 std::cout << "4th test ";
    +
    85 std::vector<int32_t> array4 = {3, 3, 3, 3};
    86 assert(backtracking::subset_sum::number_of_subsets(6, array4) ==
    87 6); // here we are expecting 6 subsets which sum up to 6 i.e.
    88 // {(3,3),(3,3),(3,3),(3,3),(3,3),(3,3)}
    -
    89 std::cout << "passed" << std::endl;
    +
    89 std::cout << "passed" << std::endl;
    90
    91 // Test 5
    -
    92 std::cout << "5th test ";
    -
    93 std::vector<int32_t> array5 = {};
    +
    92 std::cout << "5th test ";
    +
    93 std::vector<int32_t> array5 = {};
    94 assert(backtracking::subset_sum::number_of_subsets(6, array5) ==
    95 0); // here we are expecting 0 subsets which sum up to 6 i.e. we
    96 // cannot select anything from an empty array
    -
    97 std::cout << "passed" << std::endl;
    +
    97 std::cout << "passed" << std::endl;
    98}
    - -
    T endl(T... args)
    - -
    -Here is the call graph for this function:
    -
    -
    -
    - + diff --git a/d2/d5a/subset__sum_8cpp_a7cb50d36a59427a33f64a266dac83d99_cgraph.map b/d2/d5a/subset__sum_8cpp_a7cb50d36a59427a33f64a266dac83d99_cgraph.map deleted file mode 100644 index f1c101aac..000000000 --- a/d2/d5a/subset__sum_8cpp_a7cb50d36a59427a33f64a266dac83d99_cgraph.map +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/d2/d5a/subset__sum_8cpp_a7cb50d36a59427a33f64a266dac83d99_cgraph.md5 b/d2/d5a/subset__sum_8cpp_a7cb50d36a59427a33f64a266dac83d99_cgraph.md5 deleted file mode 100644 index 6c265bbb4..000000000 --- a/d2/d5a/subset__sum_8cpp_a7cb50d36a59427a33f64a266dac83d99_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -0167af918816be760ae4a84116edffca \ No newline at end of file diff --git a/d2/d5a/subset__sum_8cpp_a7cb50d36a59427a33f64a266dac83d99_cgraph.svg b/d2/d5a/subset__sum_8cpp_a7cb50d36a59427a33f64a266dac83d99_cgraph.svg deleted file mode 100644 index ad002c6a4..000000000 --- a/d2/d5a/subset__sum_8cpp_a7cb50d36a59427a33f64a266dac83d99_cgraph.svg +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - - - - - - - -backtracking::subset_sum::number_of_subsets - - -Node1 - - -backtracking::subset -_sum::number_of_subsets - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::vector::size - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d2/d5a/subset__sum_8cpp_a7cb50d36a59427a33f64a266dac83d99_cgraph_org.svg b/d2/d5a/subset__sum_8cpp_a7cb50d36a59427a33f64a266dac83d99_cgraph_org.svg deleted file mode 100644 index 74dc4afdf..000000000 --- a/d2/d5a/subset__sum_8cpp_a7cb50d36a59427a33f64a266dac83d99_cgraph_org.svg +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - -backtracking::subset_sum::number_of_subsets - - -Node1 - - -backtracking::subset -_sum::number_of_subsets - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::vector::size - - - - - -Node1->Node2 - - - - - - - - diff --git a/d2/d5a/subset__sum_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map b/d2/d5a/subset__sum_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map deleted file mode 100644 index 70d5655bc..000000000 --- a/d2/d5a/subset__sum_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d2/d5a/subset__sum_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 b/d2/d5a/subset__sum_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 deleted file mode 100644 index ba23d1a28..000000000 --- a/d2/d5a/subset__sum_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -bd038f66bf9d22bf1d56990307c4d8c4 \ No newline at end of file diff --git a/d2/d5a/subset__sum_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg b/d2/d5a/subset__sum_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg deleted file mode 100644 index 4d8821131..000000000 --- a/d2/d5a/subset__sum_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d2/d5a/subset__sum_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg b/d2/d5a/subset__sum_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg deleted file mode 100644 index 9b8e12ae0..000000000 --- a/d2/d5a/subset__sum_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - diff --git a/d2/d5a/subset__sum_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d2/d5a/subset__sum_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index ec67d1ecf..000000000 --- a/d2/d5a/subset__sum_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/d2/d5a/subset__sum_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d2/d5a/subset__sum_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index 90956ad7d..000000000 --- a/d2/d5a/subset__sum_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -574f4d71b42b28252ea9230e978fabd8 \ No newline at end of file diff --git a/d2/d5a/subset__sum_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d2/d5a/subset__sum_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index bfbef9751..000000000 --- a/d2/d5a/subset__sum_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node2->Node3 - - - - - - - - - - - - - diff --git a/d2/d5a/subset__sum_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d2/d5a/subset__sum_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index e0a300d0e..000000000 --- a/d2/d5a/subset__sum_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node2->Node3 - - - - - - - - diff --git a/d2/d5a/subset__sum_8cpp_source.html b/d2/d5a/subset__sum_8cpp_source.html new file mode 100644 index 000000000..88bcb685d --- /dev/null +++ b/d2/d5a/subset__sum_8cpp_source.html @@ -0,0 +1,222 @@ + + + + + + + + +TheAlgorithms/C++: backtracking/subset_sum.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    subset_sum.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    12#include <cassert>
    +
    13#include <cstdint>
    +
    14#include <iostream>
    +
    15#include <vector>
    +
    16
    +
    21namespace backtracking {
    +
    27namespace subset_sum {
    +
    +
    34uint64_t number_of_subsets(int32_t sum, const std::vector<int32_t> &in_arr) {
    +
    35 int32_t nelement = in_arr.size();
    +
    36 uint64_t count_of_subset = 0;
    +
    37
    +
    38 for (int32_t i = 0; i < (1 << (nelement)); i++) {
    +
    39 int32_t check = 0;
    +
    40 for (int32_t j = 0; j < nelement; j++) {
    +
    41 if (i & (1 << j)) {
    +
    42 check += (in_arr[j]);
    +
    43 }
    +
    44 }
    +
    45 if (check == sum) {
    +
    46 count_of_subset++;
    +
    47 }
    +
    48 }
    +
    49 return count_of_subset;
    +
    50}
    +
    +
    51} // namespace subset_sum
    +
    52} // namespace backtracking
    +
    53
    +
    +
    58static void test() {
    +
    59 // 1st test
    +
    60 std::cout << "1st test ";
    +
    61 std::vector<int32_t> array1 = {-7, -3, -2, 5, 8}; // input array
    +
    62 assert(backtracking::subset_sum::number_of_subsets(0, array1) ==
    +
    63 2); // first argument in subset_sum function is the required sum and
    +
    64 // second is the input array
    +
    65 std::cout << "passed" << std::endl;
    +
    66
    +
    67 // 2nd test
    +
    68 std::cout << "2nd test ";
    +
    69 std::vector<int32_t> array2 = {1, 2, 3, 3};
    +
    70 assert(backtracking::subset_sum::number_of_subsets(6, array2) ==
    +
    71 3); // here we are expecting 3 subsets which sum up to 6 i.e.
    +
    72 // {(1,2,3),(1,2,3),(3,3)}
    +
    73 std::cout << "passed" << std::endl;
    +
    74
    +
    75 // 3rd test
    +
    76 std::cout << "3rd test ";
    +
    77 std::vector<int32_t> array3 = {1, 1, 1, 1};
    +
    78 assert(backtracking::subset_sum::number_of_subsets(1, array3) ==
    +
    79 4); // here we are expecting 4 subsets which sum up to 1 i.e.
    +
    80 // {(1),(1),(1),(1)}
    +
    81 std::cout << "passed" << std::endl;
    +
    82
    +
    83 // 4th test
    +
    84 std::cout << "4th test ";
    +
    85 std::vector<int32_t> array4 = {3, 3, 3, 3};
    +
    86 assert(backtracking::subset_sum::number_of_subsets(6, array4) ==
    +
    87 6); // here we are expecting 6 subsets which sum up to 6 i.e.
    +
    88 // {(3,3),(3,3),(3,3),(3,3),(3,3),(3,3)}
    +
    89 std::cout << "passed" << std::endl;
    +
    90
    +
    91 // Test 5
    +
    92 std::cout << "5th test ";
    +
    93 std::vector<int32_t> array5 = {};
    +
    94 assert(backtracking::subset_sum::number_of_subsets(6, array5) ==
    +
    95 0); // here we are expecting 0 subsets which sum up to 6 i.e. we
    +
    96 // cannot select anything from an empty array
    +
    97 std::cout << "passed" << std::endl;
    +
    98}
    +
    +
    99
    +
    +
    104int main() {
    +
    105 test(); // run self-test implementations
    +
    106 return 0;
    +
    107}
    +
    +
    for vector container
    +
    Functions for [Sub-set sum problem] (https://en.wikipedia.org/wiki/Subset_sum_problem) algorithm.
    +
    uint64_t number_of_subsets(int32_t sum, const std::vector< int32_t > &in_arr)
    The main function implements count of subsets.
    +
    static void test()
    Test implementations.
    +
    int main()
    Main function.
    +
    +
    + + + + diff --git a/d2/d64/prims__minimum__spanning__tree_8cpp_source.html b/d2/d64/prims__minimum__spanning__tree_8cpp_source.html new file mode 100644 index 000000000..48357dc0f --- /dev/null +++ b/d2/d64/prims__minimum__spanning__tree_8cpp_source.html @@ -0,0 +1,206 @@ + + + + + + + + +TheAlgorithms/C++: greedy_algorithms/prims_minimum_spanning_tree.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    prims_minimum_spanning_tree.cpp
    +
    +
    +
    1#include <iostream>
    +
    2using namespace std;
    +
    3
    +
    4#define V 4
    +
    5#define INFINITY 99999
    +
    6
    +
    7int graph[V][V] = {{0, 5, 1, 2}, {5, 0, 3, 3}, {1, 3, 0, 4}, {2, 3, 4, 0}};
    +
    8
    +
    +
    9struct mst {
    +
    10 bool visited;
    +
    11 int key;
    +
    12 int near;
    +
    13};
    +
    +
    14
    +
    15mst MST_Array[V];
    +
    16
    +
    17void initilize() {
    +
    18 for (int i = 0; i < V; i++) {
    +
    19 MST_Array[i].visited = false;
    +
    20 MST_Array[i].key = INFINITY; // considering INFINITY as inifinity
    +
    21 MST_Array[i].near = i;
    +
    22 }
    +
    23
    +
    24 MST_Array[0].key = 0;
    +
    25}
    +
    26
    +
    27void updateNear() {
    +
    28 for (int v = 0; v < V; v++) {
    +
    29 int min = INFINITY;
    +
    30 int minIndex = 0;
    +
    31 for (int i = 0; i < V; i++) {
    +
    32 if (MST_Array[i].key < min && MST_Array[i].visited == false &&
    +
    33 MST_Array[i].key != INFINITY) {
    +
    34 min = MST_Array[i].key;
    +
    35 minIndex = i;
    +
    36 }
    +
    37 }
    +
    38
    +
    39 MST_Array[minIndex].visited = true;
    +
    40
    +
    41 for (int i = 0; i < V; i++) {
    +
    42 if (graph[minIndex][i] != 0 && graph[minIndex][i] < INFINITY) {
    +
    43 if (graph[minIndex][i] < MST_Array[i].key) {
    +
    44 MST_Array[i].key = graph[minIndex][i];
    +
    45 MST_Array[i].near = minIndex;
    +
    46 }
    +
    47 }
    +
    48 }
    +
    49 }
    +
    50}
    +
    51
    +
    52void show() {
    +
    53 for (int i = 0; i < V; i++) {
    +
    54 cout << i << " - " << MST_Array[i].near << "\t"
    +
    55 << graph[i][MST_Array[i].near] << "\n";
    +
    56 }
    +
    57}
    +
    58
    +
    59int main() {
    +
    60 initilize();
    +
    61 updateNear();
    +
    62 show();
    +
    63 return 0;
    +
    64}
    +
    int main()
    Main function.
    +
    Graph Algorithms.
    + +
    +
    + + + + diff --git a/d2/d7d/egg__dropping__puzzle_8cpp_source.html b/d2/d7d/egg__dropping__puzzle_8cpp_source.html new file mode 100644 index 000000000..20e866a5b --- /dev/null +++ b/d2/d7d/egg__dropping__puzzle_8cpp_source.html @@ -0,0 +1,189 @@ + + + + + + + + +TheAlgorithms/C++: dynamic_programming/egg_dropping_puzzle.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    egg_dropping_puzzle.cpp
    +
    +
    +
    1/* Function to get minimun number of trials needed
    +
    2 * in worst case with n eggs and k floors
    +
    3 */
    +
    4
    +
    5#include <climits>
    +
    6#include <iostream>
    +
    7#include <vector>
    +
    8
    +
    9using namespace std;
    +
    10
    +
    11int eggDrop(int n, int k) {
    +
    12 std::vector<std::vector<int> > eggFloor(n + 1, std::vector<int>(k + 1));
    +
    13
    +
    14 int result;
    +
    15
    +
    16 for (int i = 1; i <= n; i++) {
    +
    17 eggFloor[i][1] = 1; // n eggs..1 Floor
    +
    18 eggFloor[i][0] = 0; // n eggs..0 Floor
    +
    19 }
    +
    20
    +
    21 // Only one egg available
    +
    22 for (int j = 1; j <= k; j++) {
    +
    23 eggFloor[1][j] = j;
    +
    24 }
    +
    25
    +
    26 for (int i = 2; i <= n; i++) {
    +
    27 for (int j = 2; j <= k; j++) {
    +
    28 eggFloor[i][j] = INT_MAX;
    +
    29 for (int x = 1; x <= j; x++) {
    +
    30 // 1+max(eggBreak[one less egg, lower floors],
    +
    31 // eggDoesntBreak[same # of eggs, upper floors]);
    +
    32 result = 1 + max(eggFloor[i - 1][x - 1], eggFloor[i][j - x]);
    +
    33 if (result < eggFloor[i][j])
    +
    34 eggFloor[i][j] = result;
    +
    35 }
    +
    36 }
    +
    37 }
    +
    38
    +
    39 return eggFloor[n][k];
    +
    40}
    +
    41
    +
    42int main() {
    +
    43 int n, k;
    +
    44 cout << "Enter number of eggs and floors: ";
    +
    45 cin >> n >> k;
    +
    46 cout << "Minimum number of trials in worst case: " << eggDrop(n, k) << endl;
    +
    47 return 0;
    +
    48}
    +
    double k(double x)
    Another test function.
    +
    uint64_t result(uint64_t n)
    +
    int main()
    Main function.
    +
    #define endl
    +
    +
    + + + + diff --git a/d2/d84/classprobability_1_1geometric__dist_1_1geometric__distribution-members.html b/d2/d84/classprobability_1_1geometric__dist_1_1geometric__distribution-members.html index 897089d68..f4490c3ba 100644 --- a/d2/d84/classprobability_1_1geometric__dist_1_1geometric__distribution-members.html +++ b/d2/d84/classprobability_1_1geometric__dist_1_1geometric__distribution-members.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Member List +TheAlgorithms/C++: Member List + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d.html b/d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d.html index 0c3d5cad4..6887c8278 100644 --- a/d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d.html +++ b/d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: range_queries::heavy_light_decomposition::HLD< X > Class Template Reference +TheAlgorithms/C++: range_queries::heavy_light_decomposition::HLD< X > Class Template Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + @@ -150,7 +167,7 @@ Public Member Functions - + @@ -183,21 +200,17 @@ Private Member Functions
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    void change_root (int new_root)
     Set the root for the tree.
     
    void set_node_val (const std::vector< X > &node_val)
    void set_node_val (const std::vector< X > &node_val)
     Set the values for all the nodes.
     
    void init ()
    - - + + - - + + - - + + - - + +

    Private Attributes

    -int label
     utility member to assign labels in dfs_labels()
    int label
     utility member to assign labels in dfs_labels()
     
    -std::vector< int > h_label
     stores the label of a node
    std::vector< int > h_label
     stores the label of a node
     
    -std::vector< int > h_heavychlid
     stores the heavy child of a node
    std::vector< int > h_heavychlid
     stores the heavy child of a node
     
    -std::vector< int > h_parent
     stores the top of the heavy chain from a node
    std::vector< int > h_parent
     stores the top of the heavy chain from a node
     

    Detailed Description

    @@ -209,6 +222,8 @@ class range_queries::heavy_light_decomposition::HLD< X >

    The Heavy + +

    Definition at line 336 of file heavy_light_decomposition.cpp.

    Constructor & Destructor Documentation

    ◆ HLD()

    @@ -242,26 +257,23 @@ template<typename X > + +

    Definition at line 409 of file heavy_light_decomposition.cpp.

    435 : Tree<X>(nodes), SG<X>(nodes) {
    436 /* Initialization and resize vectors */
    437 label = 0;
    - - - -
    441 iota(h_parent.begin(), h_parent.end(), 0);
    +
    438 h_label.assign(Tree<X>::t_nodes, -1);
    +
    439 h_heavychlid.assign(Tree<X>::t_nodes, -1);
    + +
    441 iota(h_parent.begin(), h_parent.end(), 0);
    442 }
    -
    T assign(T... args)
    -
    T begin(T... args)
    -
    std::vector< int > h_parent
    stores the top of the heavy chain from a node
    Definition heavy_light_decomposition.cpp:341
    -
    int label
    utility member to assign labels in dfs_labels()
    Definition heavy_light_decomposition.cpp:338
    -
    std::vector< int > h_heavychlid
    stores the heavy child of a node
    Definition heavy_light_decomposition.cpp:340
    -
    std::vector< int > h_label
    stores the label of a node
    Definition heavy_light_decomposition.cpp:339
    -
    SG(int size)
    Class parameterized constructor. Resizes the and initilizes the data members.
    Definition heavy_light_decomposition.cpp:282
    -
    Tree(int nodes)
    Class parameterized constructor, resizes the and initializes the data members.
    Definition heavy_light_decomposition.cpp:140
    -
    const int t_nodes
    number of nodes
    Definition heavy_light_decomposition.cpp:84
    -
    T end(T... args)
    -
    T iota(T... args)
    -
    T resize(T... args)
    +
    std::vector< int > h_parent
    stores the top of the heavy chain from a node
    +
    int label
    utility member to assign labels in dfs_labels()
    +
    std::vector< int > h_heavychlid
    stores the heavy child of a node
    +
    std::vector< int > h_label
    stores the label of a node
    +
    SG(int size)
    Class parameterized constructor. Resizes the and initilizes the data members.
    +
    Tree(int nodes)
    Class parameterized constructor, resizes the and initializes the data members.
    +
    @@ -304,10 +316,12 @@ template<typename X >
    Returns
    the sum of ndoe values in the simple path from a to b
    + +

    Definition at line 409 of file heavy_light_decomposition.cpp.

    409 {
    410 X ret = SG<X>::sret_init;
    -
    412 std::swap(a, b);
    +
    412 std::swap(a, b);
    413 }
    414 while (Tree<X>::t_depth[a] >= Tree<X>::t_depth[b]) {
    415 int l = h_label[h_parent[a]];
    @@ -323,19 +337,13 @@ template<typename X >
    425 }
    426 return ret;
    427 }
    -
    X query(int l, int r)
    Make a range query from node label l to node label r.
    Definition heavy_light_decomposition.cpp:305
    -
    X combine(X lhs, X rhs)
    Function that specifies the type of operation involved when segments are combined.
    Definition heavy_light_decomposition.cpp:274
    -
    X sret_init
    inital query return value
    Definition heavy_light_decomposition.cpp:264
    -
    std::vector< int > t_depth
    a vector to store the depth of a node,
    Definition heavy_light_decomposition.cpp:88
    -
    std::vector< std::vector< int > > t_par
    a matrix to store every node's 2^kth parent
    Definition heavy_light_decomposition.cpp:87
    -
    double l(double x)
    Another test function.
    Definition composite_simpson_rule.cpp:119
    -
    T swap(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    X query(int l, int r)
    Make a range query from node label l to node label r.
    +
    X combine(X lhs, X rhs)
    Function that specifies the type of operation involved when segments are combined.
    + +
    std::vector< int > t_depth
    a vector to store the depth of a node,
    +
    std::vector< std::vector< int > > t_par
    a matrix to store every node's 2^kth parent
    +
    double l(double x)
    Another test function.
    + @@ -376,6 +384,8 @@ template<typename X >
    Returns
    void
    + +

    Definition at line 350 of file heavy_light_decomposition.cpp.

    350 {
    351 int hc_size = -1, hc_id = -1;
    352 for (const int &v : Tree<X>::t_adj[u]) {
    @@ -389,15 +399,10 @@ template<typename X >
    360 }
    361 h_heavychlid[u] = hc_id;
    362 }
    -
    void dfs_hc(int u, int p=-1)
    Utility function to assign heavy child to each node (-1 for a leaf node)
    Definition heavy_light_decomposition.cpp:350
    -
    std::vector< std::list< int > > t_adj
    an adjacency list to stores the tree edges
    Definition heavy_light_decomposition.cpp:83
    -
    std::vector< int > t_size
    a vector to store the subtree size rooted at node
    Definition heavy_light_decomposition.cpp:89
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    void dfs_hc(int u, int p=-1)
    Utility function to assign heavy child to each node (-1 for a leaf node)
    +
    std::vector< std::list< int > > t_adj
    an adjacency list to stores the tree edges
    +
    std::vector< int > t_size
    a vector to store the subtree size rooted at node
    + @@ -438,6 +443,8 @@ template<typename X >
    Returns
    void
    + +

    Definition at line 390 of file heavy_light_decomposition.cpp.

    390 {
    391 h_label[u] = label++;
    392 if (h_heavychlid[u] != -1) {
    @@ -449,13 +456,8 @@ template<typename X >
    398 }
    399 }
    400 }
    -
    void dfs_labels(int u, int p=-1)
    Utility function to lable the nodes so that heavy chains have a contigous lable.
    Definition heavy_light_decomposition.cpp:390
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    void dfs_labels(int u, int p=-1)
    Utility function to lable the nodes so that heavy chains have a contigous lable.
    + @@ -496,6 +498,8 @@ template<typename X >
    Returns
    void
    + +

    Definition at line 371 of file heavy_light_decomposition.cpp.

    371 {
    372 if (h_heavychlid[u] != -1) {
    @@ -507,13 +511,8 @@ template<typename X >
    379 }
    380 }
    381 }
    -
    void dfs_par(int u, int p=-1)
    Utility function to assign highest parent that can be reached though heavy chains.
    Definition heavy_light_decomposition.cpp:371
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    void dfs_par(int u, int p=-1)
    Utility function to assign highest parent that can be reached though heavy chains.
    + @@ -543,6 +542,8 @@ template<typename X >

    This function must be called after the tree adjacency list and node values are populated The function initializes the required parametes, and populates the segment tree.

    Returns
    void
    + +

    Definition at line 450 of file heavy_light_decomposition.cpp.

    450 {
    452
    @@ -561,16 +562,11 @@ template<typename X >
    465 SG<X>::combine(SG<X>::s_tree[i << 1], SG<X>::s_tree[i << 1 | 1]);
    466 }
    467 }
    -
    std::vector< X > s_tree
    Everything here is private, and can only be accessed through the methods, in the derived class (HLD)
    Definition heavy_light_decomposition.cpp:262
    -
    std::vector< X > t_val
    values of nodes
    Definition heavy_light_decomposition.cpp:92
    -
    int t_root
    the root of the tree
    Definition heavy_light_decomposition.cpp:91
    -
    void init()
    This function must be called after the tree adjacency list and node values are populated The function...
    Definition heavy_light_decomposition.cpp:186
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    std::vector< X > s_tree
    Everything here is private, and can only be accessed through the methods, in the derived class (HLD)
    + + +
    void init()
    This function must be called after the tree adjacency list and node values are populated The function...
    + @@ -611,6 +607,8 @@ template<typename X >
    Returns
    the sum of node values in the simple path from a to b
    + +

    Definition at line 489 of file heavy_light_decomposition.cpp.

    489 {
    490 int lc = Tree<X>::lca(a, b);
    491 X ret = SG<X>::sret_init;
    @@ -619,14 +617,9 @@ template<typename X >
    494 ret += chain_query(b, lc);
    495 return ret - Tree<X>::t_val[lc];
    496 }
    -
    X chain_query(int a, int b)
    Utility function to break down a path query into two chain queries.
    Definition heavy_light_decomposition.cpp:409
    -
    int lca(int a, int b)
    The function returns the least common ancestor of two nodes.
    Definition heavy_light_decomposition.cpp:229
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    X chain_query(int a, int b)
    Utility function to break down a path query into two chain queries.
    +
    int lca(int a, int b)
    The function returns the least common ancestor of two nodes.
    + @@ -667,24 +660,134 @@ template<typename X >
    Returns
    void
    + +

    Definition at line 475 of file heavy_light_decomposition.cpp.

    475 {
    476 X diff = val - Tree<X>::t_val[node];
    477 SG<X>::update(h_label[node], diff);
    478 Tree<X>::t_val[node] = val;
    479 }
    -
    struct node { int data; int height; struct node *left; struct node *right;} node
    for std::queue
    Definition avltree.cpp:13
    -
    void update(int p, X v)
    Update the value at a node.
    Definition heavy_light_decomposition.cpp:293
    -
    Definition binary_search_tree.cpp:11
    -
    -Here is the call graph for this function:
    -
    -
    +
    struct node { int data; int height; struct node *left; struct node *right;} node
    for std::queue
    Definition avltree.cpp:13
    +
    void update(int p, X v)
    Update the value at a node.
    + +
    + +

    Member Data Documentation

    + +

    ◆ h_heavychlid

    + +
    +
    +
    +template<typename X >
    + + + + + +
    + + + + +
    std::vector<int> range_queries::heavy_light_decomposition::HLD< X >::h_heavychlid
    +
    +private
    +
    + +

    stores the heavy child of a node

    + +

    Definition at line 340 of file heavy_light_decomposition.cpp.

    + +
    +
    + +

    ◆ h_label

    + +
    +
    +
    +template<typename X >
    + + + + + +
    + + + + +
    std::vector<int> range_queries::heavy_light_decomposition::HLD< X >::h_label
    +
    +private
    +
    + +

    stores the label of a node

    + +

    Definition at line 339 of file heavy_light_decomposition.cpp.

    + +
    +
    + +

    ◆ h_parent

    + +
    +
    +
    +template<typename X >
    + + + + + +
    + + + + +
    std::vector<int> range_queries::heavy_light_decomposition::HLD< X >::h_parent
    +
    +private
    +
    + +

    stores the top of the heavy chain from a node

    + +

    Definition at line 341 of file heavy_light_decomposition.cpp.

    + +
    +
    + +

    ◆ label

    + +
    +
    +
    +template<typename X >
    + + + + + +
    + + + + +
    int range_queries::heavy_light_decomposition::HLD< X >::label
    +
    +private
    +
    + +

    utility member to assign labels in dfs_labels()

    + +

    Definition at line 338 of file heavy_light_decomposition.cpp.


    The documentation for this class was generated from the following file: diff --git a/d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d_a0579062b384e54b611b80c6337c7f2c8_cgraph.map b/d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d_a0579062b384e54b611b80c6337c7f2c8_cgraph.map deleted file mode 100644 index 6759b0ed5..000000000 --- a/d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d_a0579062b384e54b611b80c6337c7f2c8_cgraph.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d_a0579062b384e54b611b80c6337c7f2c8_cgraph.md5 b/d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d_a0579062b384e54b611b80c6337c7f2c8_cgraph.md5 deleted file mode 100644 index e7dbfb07a..000000000 --- a/d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d_a0579062b384e54b611b80c6337c7f2c8_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -0f5965070c280318b4f25c28d84b0772 \ No newline at end of file diff --git a/d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d_a0579062b384e54b611b80c6337c7f2c8_cgraph.svg b/d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d_a0579062b384e54b611b80c6337c7f2c8_cgraph.svg deleted file mode 100644 index c7bdb1d9d..000000000 --- a/d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d_a0579062b384e54b611b80c6337c7f2c8_cgraph.svg +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - - - - - - - -range_queries::heavy_light_decomposition::HLD::dfs_labels - - -Node1 - - -range_queries::heavy -_light_decomposition -::HLD::dfs_labels - - - - - -Node1->Node1 - - - - - - - - - - - - - diff --git a/d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d_a0579062b384e54b611b80c6337c7f2c8_cgraph_org.svg b/d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d_a0579062b384e54b611b80c6337c7f2c8_cgraph_org.svg deleted file mode 100644 index 62ee77489..000000000 --- a/d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d_a0579062b384e54b611b80c6337c7f2c8_cgraph_org.svg +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - -range_queries::heavy_light_decomposition::HLD::dfs_labels - - -Node1 - - -range_queries::heavy -_light_decomposition -::HLD::dfs_labels - - - - - -Node1->Node1 - - - - - - - - diff --git a/d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d_a2dfbda148aad0bfaba2ebfda9ebc915a_cgraph.map b/d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d_a2dfbda148aad0bfaba2ebfda9ebc915a_cgraph.map deleted file mode 100644 index d36c37699..000000000 --- a/d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d_a2dfbda148aad0bfaba2ebfda9ebc915a_cgraph.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d_a2dfbda148aad0bfaba2ebfda9ebc915a_cgraph.md5 b/d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d_a2dfbda148aad0bfaba2ebfda9ebc915a_cgraph.md5 deleted file mode 100644 index 4e0c19f4a..000000000 --- a/d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d_a2dfbda148aad0bfaba2ebfda9ebc915a_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -85f487af64c5d751d0addeac240dcae9 \ No newline at end of file diff --git a/d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d_a2dfbda148aad0bfaba2ebfda9ebc915a_cgraph.svg b/d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d_a2dfbda148aad0bfaba2ebfda9ebc915a_cgraph.svg deleted file mode 100644 index 34c38a9cb..000000000 --- a/d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d_a2dfbda148aad0bfaba2ebfda9ebc915a_cgraph.svg +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - - - - - - - -range_queries::heavy_light_decomposition::HLD::dfs_par - - -Node1 - - -range_queries::heavy -_light_decomposition -::HLD::dfs_par - - - - - -Node1->Node1 - - - - - - - - - - - - - diff --git a/d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d_a2dfbda148aad0bfaba2ebfda9ebc915a_cgraph_org.svg b/d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d_a2dfbda148aad0bfaba2ebfda9ebc915a_cgraph_org.svg deleted file mode 100644 index cdee92e4a..000000000 --- a/d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d_a2dfbda148aad0bfaba2ebfda9ebc915a_cgraph_org.svg +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - -range_queries::heavy_light_decomposition::HLD::dfs_par - - -Node1 - - -range_queries::heavy -_light_decomposition -::HLD::dfs_par - - - - - -Node1->Node1 - - - - - - - - diff --git a/d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d_a4dfbf5d9df825eeb63b294c6849bdcab_cgraph.map b/d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d_a4dfbf5d9df825eeb63b294c6849bdcab_cgraph.map deleted file mode 100644 index 141c3e0c1..000000000 --- a/d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d_a4dfbf5d9df825eeb63b294c6849bdcab_cgraph.map +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - diff --git a/d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d_a4dfbf5d9df825eeb63b294c6849bdcab_cgraph.md5 b/d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d_a4dfbf5d9df825eeb63b294c6849bdcab_cgraph.md5 deleted file mode 100644 index 98e647f74..000000000 --- a/d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d_a4dfbf5d9df825eeb63b294c6849bdcab_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -e12241efdff252bbfea94d43ba2dcad5 \ No newline at end of file diff --git a/d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d_a4dfbf5d9df825eeb63b294c6849bdcab_cgraph.svg b/d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d_a4dfbf5d9df825eeb63b294c6849bdcab_cgraph.svg deleted file mode 100644 index 83cb2e9f5..000000000 --- a/d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d_a4dfbf5d9df825eeb63b294c6849bdcab_cgraph.svg +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - - - - -range_queries::heavy_light_decomposition::HLD::query - - -Node1 - - -range_queries::heavy -_light_decomposition -::HLD::query - - - - - -Node2 - - -range_queries::heavy -_light_decomposition -::HLD::chain_query - - - - - -Node1->Node2 - - - - - - - - -Node5 - - -range_queries::heavy -_light_decomposition -::Tree::lca - - - - - -Node1->Node5 - - - - - - - - -Node3 - - -range_queries::heavy -_light_decomposition -::SG::combine - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::swap - - - - - -Node2->Node4 - - - - - - - - -Node6 - - -range_queries::heavy -_light_decomposition -::Tree::lift - - - - - -Node5->Node6 - - - - - - - - - - - - - diff --git a/d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d_a4dfbf5d9df825eeb63b294c6849bdcab_cgraph_org.svg b/d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d_a4dfbf5d9df825eeb63b294c6849bdcab_cgraph_org.svg deleted file mode 100644 index 2cbf78057..000000000 --- a/d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d_a4dfbf5d9df825eeb63b294c6849bdcab_cgraph_org.svg +++ /dev/null @@ -1,121 +0,0 @@ - - - - - - -range_queries::heavy_light_decomposition::HLD::query - - -Node1 - - -range_queries::heavy -_light_decomposition -::HLD::query - - - - - -Node2 - - -range_queries::heavy -_light_decomposition -::HLD::chain_query - - - - - -Node1->Node2 - - - - - - - - -Node5 - - -range_queries::heavy -_light_decomposition -::Tree::lca - - - - - -Node1->Node5 - - - - - - - - -Node3 - - -range_queries::heavy -_light_decomposition -::SG::combine - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::swap - - - - - -Node2->Node4 - - - - - - - - -Node6 - - -range_queries::heavy -_light_decomposition -::Tree::lift - - - - - -Node5->Node6 - - - - - - - - diff --git a/d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d_a7d5b40c076347a6aabfb37a0590f2f24_cgraph.map b/d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d_a7d5b40c076347a6aabfb37a0590f2f24_cgraph.map deleted file mode 100644 index 275d1f83a..000000000 --- a/d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d_a7d5b40c076347a6aabfb37a0590f2f24_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d_a7d5b40c076347a6aabfb37a0590f2f24_cgraph.md5 b/d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d_a7d5b40c076347a6aabfb37a0590f2f24_cgraph.md5 deleted file mode 100644 index adfd4c6b7..000000000 --- a/d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d_a7d5b40c076347a6aabfb37a0590f2f24_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -12e76c1512b957760253c826b8286917 \ No newline at end of file diff --git a/d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d_a7d5b40c076347a6aabfb37a0590f2f24_cgraph.svg b/d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d_a7d5b40c076347a6aabfb37a0590f2f24_cgraph.svg deleted file mode 100644 index cd170471c..000000000 --- a/d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d_a7d5b40c076347a6aabfb37a0590f2f24_cgraph.svg +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - - - - - - - -range_queries::heavy_light_decomposition::HLD::chain_query - - -Node1 - - -range_queries::heavy -_light_decomposition -::HLD::chain_query - - - - - -Node2 - - -range_queries::heavy -_light_decomposition -::SG::combine - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::swap - - - - - -Node1->Node3 - - - - - - - - - - - - - diff --git a/d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d_a7d5b40c076347a6aabfb37a0590f2f24_cgraph_org.svg b/d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d_a7d5b40c076347a6aabfb37a0590f2f24_cgraph_org.svg deleted file mode 100644 index 5b4a036e8..000000000 --- a/d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d_a7d5b40c076347a6aabfb37a0590f2f24_cgraph_org.svg +++ /dev/null @@ -1,61 +0,0 @@ - - - - - - -range_queries::heavy_light_decomposition::HLD::chain_query - - -Node1 - - -range_queries::heavy -_light_decomposition -::HLD::chain_query - - - - - -Node2 - - -range_queries::heavy -_light_decomposition -::SG::combine - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::swap - - - - - -Node1->Node3 - - - - - - - - diff --git a/d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d_a9f1cb54ed09fde931bf3220d75ee4c57_cgraph.map b/d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d_a9f1cb54ed09fde931bf3220d75ee4c57_cgraph.map deleted file mode 100644 index 466651aa1..000000000 --- a/d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d_a9f1cb54ed09fde931bf3220d75ee4c57_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d_a9f1cb54ed09fde931bf3220d75ee4c57_cgraph.md5 b/d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d_a9f1cb54ed09fde931bf3220d75ee4c57_cgraph.md5 deleted file mode 100644 index 47ea16c2f..000000000 --- a/d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d_a9f1cb54ed09fde931bf3220d75ee4c57_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -6df3b32539a830377e5d1b3e373845d5 \ No newline at end of file diff --git a/d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d_a9f1cb54ed09fde931bf3220d75ee4c57_cgraph.svg b/d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d_a9f1cb54ed09fde931bf3220d75ee4c57_cgraph.svg deleted file mode 100644 index e84b1fe9a..000000000 --- a/d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d_a9f1cb54ed09fde931bf3220d75ee4c57_cgraph.svg +++ /dev/null @@ -1,69 +0,0 @@ - - - - - - - - - - - - -range_queries::heavy_light_decomposition::HLD::update - - -Node1 - - -range_queries::heavy -_light_decomposition -::HLD::update - - - - - -Node2 - - -range_queries::heavy -_light_decomposition -::SG::update - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d_a9f1cb54ed09fde931bf3220d75ee4c57_cgraph_org.svg b/d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d_a9f1cb54ed09fde931bf3220d75ee4c57_cgraph_org.svg deleted file mode 100644 index eea282c06..000000000 --- a/d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d_a9f1cb54ed09fde931bf3220d75ee4c57_cgraph_org.svg +++ /dev/null @@ -1,43 +0,0 @@ - - - - - - -range_queries::heavy_light_decomposition::HLD::update - - -Node1 - - -range_queries::heavy -_light_decomposition -::HLD::update - - - - - -Node2 - - -range_queries::heavy -_light_decomposition -::SG::update - - - - - -Node1->Node2 - - - - - - - - diff --git a/d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d_ae9e979edd69678b85665c01e2ee97828_cgraph.map b/d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d_ae9e979edd69678b85665c01e2ee97828_cgraph.map deleted file mode 100644 index 8893d7463..000000000 --- a/d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d_ae9e979edd69678b85665c01e2ee97828_cgraph.map +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - diff --git a/d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d_ae9e979edd69678b85665c01e2ee97828_cgraph.md5 b/d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d_ae9e979edd69678b85665c01e2ee97828_cgraph.md5 deleted file mode 100644 index 8dae84378..000000000 --- a/d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d_ae9e979edd69678b85665c01e2ee97828_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -301f234ffbc3cf902b0f0a3d9384b56c \ No newline at end of file diff --git a/d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d_ae9e979edd69678b85665c01e2ee97828_cgraph.svg b/d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d_ae9e979edd69678b85665c01e2ee97828_cgraph.svg deleted file mode 100644 index d62c938fd..000000000 --- a/d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d_ae9e979edd69678b85665c01e2ee97828_cgraph.svg +++ /dev/null @@ -1,234 +0,0 @@ - - - - - - - - - - - - -range_queries::heavy_light_decomposition::HLD::init - - -Node1 - - -range_queries::heavy -_light_decomposition -::HLD::init - - - - - -Node2 - - -range_queries::heavy -_light_decomposition -::SG::combine - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -range_queries::heavy -_light_decomposition -::HLD::dfs_hc - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -range_queries::heavy -_light_decomposition -::HLD::dfs_labels - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -range_queries::heavy -_light_decomposition -::HLD::dfs_par - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -range_queries::heavy -_light_decomposition -::Tree::init - - - - - -Node1->Node6 - - - - - - - - -Node3->Node3 - - - - - - - - -Node4->Node4 - - - - - - - - -Node5->Node5 - - - - - - - - -Node7 - - -range_queries::heavy -_light_decomposition -::Tree::dfs_lca - - - - - -Node6->Node7 - - - - - - - - -Node8 - - -range_queries::heavy -_light_decomposition -::Tree::dfs_size - - - - - -Node6->Node8 - - - - - - - - -Node7->Node7 - - - - - - - - -Node8->Node8 - - - - - - - - - - - - - diff --git a/d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d_ae9e979edd69678b85665c01e2ee97828_cgraph_org.svg b/d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d_ae9e979edd69678b85665c01e2ee97828_cgraph_org.svg deleted file mode 100644 index d39bd95f4..000000000 --- a/d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d_ae9e979edd69678b85665c01e2ee97828_cgraph_org.svg +++ /dev/null @@ -1,208 +0,0 @@ - - - - - - -range_queries::heavy_light_decomposition::HLD::init - - -Node1 - - -range_queries::heavy -_light_decomposition -::HLD::init - - - - - -Node2 - - -range_queries::heavy -_light_decomposition -::SG::combine - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -range_queries::heavy -_light_decomposition -::HLD::dfs_hc - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -range_queries::heavy -_light_decomposition -::HLD::dfs_labels - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -range_queries::heavy -_light_decomposition -::HLD::dfs_par - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -range_queries::heavy -_light_decomposition -::Tree::init - - - - - -Node1->Node6 - - - - - - - - -Node3->Node3 - - - - - - - - -Node4->Node4 - - - - - - - - -Node5->Node5 - - - - - - - - -Node7 - - -range_queries::heavy -_light_decomposition -::Tree::dfs_lca - - - - - -Node6->Node7 - - - - - - - - -Node8 - - -range_queries::heavy -_light_decomposition -::Tree::dfs_size - - - - - -Node6->Node8 - - - - - - - - -Node7->Node7 - - - - - - - - -Node8->Node8 - - - - - - - - diff --git a/d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d_af64848d6630c39d0f09ce2359cc7c4f8_cgraph.map b/d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d_af64848d6630c39d0f09ce2359cc7c4f8_cgraph.map deleted file mode 100644 index 36ce49d22..000000000 --- a/d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d_af64848d6630c39d0f09ce2359cc7c4f8_cgraph.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d_af64848d6630c39d0f09ce2359cc7c4f8_cgraph.md5 b/d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d_af64848d6630c39d0f09ce2359cc7c4f8_cgraph.md5 deleted file mode 100644 index 632ca54a2..000000000 --- a/d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d_af64848d6630c39d0f09ce2359cc7c4f8_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -6ec1493c6c9f6ce74673cbc99dcf6bbd \ No newline at end of file diff --git a/d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d_af64848d6630c39d0f09ce2359cc7c4f8_cgraph.svg b/d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d_af64848d6630c39d0f09ce2359cc7c4f8_cgraph.svg deleted file mode 100644 index e4e59371b..000000000 --- a/d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d_af64848d6630c39d0f09ce2359cc7c4f8_cgraph.svg +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - - - - - - - -range_queries::heavy_light_decomposition::HLD::dfs_hc - - -Node1 - - -range_queries::heavy -_light_decomposition -::HLD::dfs_hc - - - - - -Node1->Node1 - - - - - - - - - - - - - diff --git a/d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d_af64848d6630c39d0f09ce2359cc7c4f8_cgraph_org.svg b/d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d_af64848d6630c39d0f09ce2359cc7c4f8_cgraph_org.svg deleted file mode 100644 index bbc6addaf..000000000 --- a/d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d_af64848d6630c39d0f09ce2359cc7c4f8_cgraph_org.svg +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - -range_queries::heavy_light_decomposition::HLD::dfs_hc - - -Node1 - - -range_queries::heavy -_light_decomposition -::HLD::dfs_hc - - - - - -Node1->Node1 - - - - - - - - diff --git a/d2/d90/namespacegreedy__algorithms.html b/d2/d90/namespacegreedy__algorithms.html index b4bf9b671..6c8ba5434 100644 --- a/d2/d90/namespacegreedy__algorithms.html +++ b/d2/d90/namespacegreedy__algorithms.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: greedy_algorithms Namespace Reference +TheAlgorithms/C++: greedy_algorithms Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -135,11 +152,11 @@ Classes
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    - + - - + +

    Functions

    bool can_jump (const std::vector< int > &nums)
    bool can_jump (const std::vector< int > &nums)
     Checks whether the given element (default is 1) can jump to the last index.
     
    template<typename T , std::size_t N, std::size_t M>
    void findMinimumEdge (const T &infinity, const std::array< std::array< T, N >, M > &graph)
    template<typename T , std::size_t N, std::size_t M>
    void findMinimumEdge (const T &infinity, const std::array< std::array< T, N >, M > &graph)
     Finds the minimum edge of the given graph.
     
    @@ -147,16 +164,16 @@ Functions

    for string class

    for uint32_t

    Greedy Algorithms.

    -

    For std::vector to store separated digits.

    -

    for std::vector

    +

    For std::vector to store separated digits.

    +

    for std::vector

    for reverse function for tests for input and outputs

    Greedy Algorithms

    for assert for INT_MAX for IO operations

    Greedy Algorithms

    For reveresing the vector For assert() function to check for errors For abs() function For int64_t data type to handle large numbers For input/output operations

    Greedy Algorithms

    -

    for std::find for assert for std::uint32_t for std::vector

    -

    for assert for std::cout

    +

    for std::find for assert for std::uint32_t for std::vector

    +

    for assert for std::cout

    Greedy Algorithms

    for array for IO operations for numeric limits

    Greedy Algorithms

    @@ -170,7 +187,7 @@ Functions bool greedy_algorithms::can_jump ( - const std::vector< int > & nums) + const std::vector< int > & nums) @@ -186,8 +203,10 @@ Functions
    Returns
    true if the index can be reached
    false if the index can NOT be reached
    + +

    Definition at line 42 of file jump_game.cpp.

    42 {
    -
    43 size_t lastPos = nums.size() - 1;
    +
    43 size_t lastPos = nums.size() - 1;
    44 for (size_t i = lastPos; i != static_cast<size_t>(-1); i--) {
    45 if (i + nums[i] >= lastPos) {
    46 lastPos = i;
    @@ -195,13 +214,7 @@ false if the index can NOT be reached
    48 }
    49 return lastPos == 0;
    50}
    -
    T size(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    @@ -210,7 +223,7 @@ Here is the call graph for this function:
    -template<typename T , std::size_t N, std::size_t M>
    +template<typename T , std::size_t N, std::size_t M>
    @@ -220,7 +233,7 @@ template<typename T , - +
    void greedy_algorithms::findMinimumEdge const std::array< std::array< T, N >, M > & graph )const std::array< std::array< T, N >, M > & graph )
    @@ -234,9 +247,11 @@ template<typename T ,
    Returns
    void
    + +

    Definition at line 38 of file kruskals_minimum_spanning_tree.cpp.

    39 {
    40 if (N != M) {
    -
    41 std::cout << "\nWrong input passed. Provided array has dimensions " << N
    +
    41 std::cout << "\nWrong input passed. Provided array has dimensions " << N
    42 << "x" << M << ". Please provide a square matrix.\n";
    43 return;
    44 }
    @@ -249,11 +264,10 @@ template<typename T , 51 minIndex = j;
    52 }
    53 }
    -
    54 std::cout << i << " - " << minIndex << "\t" << graph[i][minIndex]
    +
    54 std::cout << i << " - " << minIndex << "\t" << graph[i][minIndex]
    55 << "\n";
    56 }
    57}
    -
    Graph Algorithms.
    diff --git a/d2/d90/namespacegreedy__algorithms_a33e3819aa9ffec0e380383c52603b502_cgraph.map b/d2/d90/namespacegreedy__algorithms_a33e3819aa9ffec0e380383c52603b502_cgraph.map deleted file mode 100644 index 70affb272..000000000 --- a/d2/d90/namespacegreedy__algorithms_a33e3819aa9ffec0e380383c52603b502_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d2/d90/namespacegreedy__algorithms_a33e3819aa9ffec0e380383c52603b502_cgraph.md5 b/d2/d90/namespacegreedy__algorithms_a33e3819aa9ffec0e380383c52603b502_cgraph.md5 deleted file mode 100644 index a8a778259..000000000 --- a/d2/d90/namespacegreedy__algorithms_a33e3819aa9ffec0e380383c52603b502_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -c42fb8e2aa1ecbda76282b1d15466f0d \ No newline at end of file diff --git a/d2/d90/namespacegreedy__algorithms_a33e3819aa9ffec0e380383c52603b502_cgraph.svg b/d2/d90/namespacegreedy__algorithms_a33e3819aa9ffec0e380383c52603b502_cgraph.svg deleted file mode 100644 index 6db30b379..000000000 --- a/d2/d90/namespacegreedy__algorithms_a33e3819aa9ffec0e380383c52603b502_cgraph.svg +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - - - - - - - -greedy_algorithms::can_jump - - -Node1 - - -greedy_algorithms:: -can_jump - - - - - -Node2 - - -std::vector::size - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d2/d90/namespacegreedy__algorithms_a33e3819aa9ffec0e380383c52603b502_cgraph_org.svg b/d2/d90/namespacegreedy__algorithms_a33e3819aa9ffec0e380383c52603b502_cgraph_org.svg deleted file mode 100644 index 038678563..000000000 --- a/d2/d90/namespacegreedy__algorithms_a33e3819aa9ffec0e380383c52603b502_cgraph_org.svg +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - -greedy_algorithms::can_jump - - -Node1 - - -greedy_algorithms:: -can_jump - - - - - -Node2 - - -std::vector::size - - - - - -Node1->Node2 - - - - - - - - diff --git a/d2/d92/classprobability_1_1windowed__median_1_1_windowed_median__coll__graph.map b/d2/d92/classprobability_1_1windowed__median_1_1_windowed_median__coll__graph.map index d064f7fb1..7ccf54af2 100644 --- a/d2/d92/classprobability_1_1windowed__median_1_1_windowed_median__coll__graph.map +++ b/d2/d92/classprobability_1_1windowed__median_1_1_windowed_median__coll__graph.map @@ -1,7 +1,7 @@ - + - + diff --git a/d2/d92/classprobability_1_1windowed__median_1_1_windowed_median__coll__graph.md5 b/d2/d92/classprobability_1_1windowed__median_1_1_windowed_median__coll__graph.md5 index d3755a32e..ef30c3304 100644 --- a/d2/d92/classprobability_1_1windowed__median_1_1_windowed_median__coll__graph.md5 +++ b/d2/d92/classprobability_1_1windowed__median_1_1_windowed_median__coll__graph.md5 @@ -1 +1 @@ -0f8ff915777326ce579476e1f4e3eab0 \ No newline at end of file +cdcabaec5eb705c1a021b743a5037fbf \ No newline at end of file diff --git a/d2/d92/classprobability_1_1windowed__median_1_1_windowed_median__coll__graph.svg b/d2/d92/classprobability_1_1windowed__median_1_1_windowed_median__coll__graph.svg index 279745a8f..9112a3ec2 100644 --- a/d2/d92/classprobability_1_1windowed__median_1_1_windowed_median__coll__graph.svg +++ b/d2/d92/classprobability_1_1windowed__median_1_1_windowed_median__coll__graph.svg @@ -32,7 +32,7 @@ Node2 - + std::list< int > @@ -51,7 +51,7 @@ Node3 - + std::multiset< int > diff --git a/d2/d92/classprobability_1_1windowed__median_1_1_windowed_median__coll__graph_org.svg b/d2/d92/classprobability_1_1windowed__median_1_1_windowed_median__coll__graph_org.svg index e441f8d2d..0cedb3f0e 100644 --- a/d2/d92/classprobability_1_1windowed__median_1_1_windowed_median__coll__graph_org.svg +++ b/d2/d92/classprobability_1_1windowed__median_1_1_windowed_median__coll__graph_org.svg @@ -21,7 +21,7 @@ Node2 - + std::list< int > @@ -40,7 +40,7 @@ Node3 - + std::multiset< int > diff --git a/d2/d96/sparse__table__range__queries_8cpp_source.html b/d2/d96/sparse__table__range__queries_8cpp_source.html new file mode 100644 index 000000000..146f8f4a3 --- /dev/null +++ b/d2/d96/sparse__table__range__queries_8cpp_source.html @@ -0,0 +1,199 @@ + + + + + + + + +TheAlgorithms/C++: range_queries/sparse_table_range_queries.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    sparse_table_range_queries.cpp
    +
    +
    +
    1
    +
    17#include <algorithm>
    +
    18#include <cassert>
    +
    19#include <iostream>
    +
    20#include <vector>
    +
    21
    +
    26namespace range_queries {
    +
    31namespace sparse_table {
    +
    37template <typename T>
    +
    38std::vector<T> computeLogs(const std::vector<T>& A) {
    +
    39 int n = A.size();
    +
    40 std::vector<T> logs(n);
    +
    41 logs[1] = 0;
    +
    42 for (int i = 2; i < n; i++) {
    +
    43 logs[i] = logs[i / 2] + 1;
    +
    44 }
    +
    45 return logs;
    +
    46}
    +
    47
    +
    55template <typename T>
    +
    56std::vector<std::vector<T> > buildTable(const std::vector<T>& A,
    +
    57 const std::vector<T>& logs) {
    +
    58 int n = A.size();
    +
    59 std::vector<std::vector<T> > table(20, std::vector<T>(n + 5, 0));
    +
    60 int curLen = 0;
    +
    61 for (int i = 0; i <= logs[n]; i++) {
    +
    62 curLen = 1 << i;
    +
    63 for (int j = 0; j + curLen < n; j++) {
    +
    64 if (curLen == 1) {
    +
    65 table[i][j] = A[j];
    +
    66 } else {
    +
    67 table[i][j] =
    +
    68 std::min(table[i - 1][j], table[i - 1][j + curLen / 2]);
    +
    69 }
    +
    70 }
    +
    71 }
    +
    72 return table;
    +
    73}
    +
    74
    +
    83template <typename T>
    +
    84int getMinimum(int beg, int end, const std::vector<T>& logs,
    +
    85 const std::vector<std::vector<T> >& table) {
    +
    86 int p = logs[end - beg + 1];
    +
    87 int pLen = 1 << p;
    +
    88 return std::min(table[p][beg], table[p][end - pLen + 1]);
    +
    89}
    +
    90} // namespace sparse_table
    +
    91} // namespace range_queries
    +
    92
    +
    96int main() {
    +
    97 std::vector<int> A{1, 2, 0, 3, 9};
    +
    98 std::vector<int> logs = range_queries::sparse_table::computeLogs(A);
    +
    99 std::vector<std::vector<int> > table =
    +
    100 range_queries::sparse_table::buildTable(A, logs);
    +
    101 assert(range_queries::sparse_table::getMinimum(0, 0, logs, table) == 1);
    +
    102 assert(range_queries::sparse_table::getMinimum(0, 4, logs, table) == 0);
    +
    103 assert(range_queries::sparse_table::getMinimum(2, 4, logs, table) == 0);
    +
    104 return 0;
    +
    105}
    +
    int main()
    Main function.
    +
    for std::vector
    +
    Functions for Implementation of Sparse Table
    +
    +
    + + + + diff --git a/d2/d9a/structothers_1_1iterative__tree__traversals_1_1_node.html b/d2/d9a/structothers_1_1iterative__tree__traversals_1_1_node.html index 9484ad168..6ad957b67 100644 --- a/d2/d9a/structothers_1_1iterative__tree__traversals_1_1_node.html +++ b/d2/d9a/structothers_1_1iterative__tree__traversals_1_1_node.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: others::iterative_tree_traversals::Node Struct Reference +TheAlgorithms/C++: others::iterative_tree_traversals::Node Struct Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -121,9 +138,8 @@ Collaboration diagram for others::iterative_tree_traversals::Node:
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    - - + + @@ -134,7 +150,27 @@ int64_t <

    Public Attributes

    -int64_t data = 0
     The value/key of the node.
    int64_t data = 0
     The value/key of the node.
     
    struct Nodeleft {}
     struct pointer to left subtree.
    data = 0

    Detailed Description

    defines the structure of a node of the tree

    + +

    Definition at line 58 of file iterative_tree_traversals.cpp.

    Member Data Documentation

    + +

    ◆ data

    + +
    +
    + + + + +
    int64_t others::iterative_tree_traversals::Node::data = 0
    +
    + +

    The value/key of the node.

    + +

    Definition at line 59 of file iterative_tree_traversals.cpp.

    + +
    +

    ◆ left

    @@ -148,7 +184,9 @@ int64_t data = 0<

    struct pointer to left subtree.

    -
    60{}; ///< struct pointer to left subtree.
    + +

    Definition at line 60 of file iterative_tree_traversals.cpp.

    +
    60{};
    @@ -165,12 +203,14 @@ int64_t data = 0<

    struct pointer to right subtree.

    -
    61{}; ///< struct pointer to right subtree.
    + +

    Definition at line 61 of file iterative_tree_traversals.cpp.

    +
    61{};

    The documentation for this struct was generated from the following file: diff --git a/d2/da2/matrix__chain__multiplication_8cpp_source.html b/d2/da2/matrix__chain__multiplication_8cpp_source.html new file mode 100644 index 000000000..f1d1b5959 --- /dev/null +++ b/d2/da2/matrix__chain__multiplication_8cpp_source.html @@ -0,0 +1,201 @@ + + + + + + + + +TheAlgorithms/C++: dynamic_programming/matrix_chain_multiplication.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    matrix_chain_multiplication.cpp
    +
    +
    +
    1#include <climits>
    +
    2#include <iostream>
    +
    3using namespace std;
    +
    4
    +
    5#define MAX 10
    +
    6
    +
    7// dp table to store the solution for already computed sub problems
    +
    8int dp[MAX][MAX];
    +
    9
    +
    10// Function to find the most efficient way to multiply the given sequence of
    +
    11// matrices
    +
    12int MatrixChainMultiplication(int dim[], int i, int j) {
    +
    13 // base case: one matrix
    +
    14 if (j <= i + 1)
    +
    15 return 0;
    +
    16
    +
    17 // stores minimum number of scalar multiplications (i.e., cost)
    +
    18 // needed to compute the matrix M[i+1]...M[j] = M[i..j]
    +
    19 int min = INT_MAX;
    +
    20
    +
    21 // if dp[i][j] is not calculated (calculate it!!)
    +
    22
    +
    23 if (dp[i][j] == 0) {
    +
    24 // take the minimum over each possible position at which the
    +
    25 // sequence of matrices can be split
    +
    26
    +
    27 for (int k = i + 1; k <= j - 1; k++) {
    +
    28 // recur for M[i+1]..M[k] to get a i x k matrix
    +
    29 int cost = MatrixChainMultiplication(dim, i, k);
    +
    30
    +
    31 // recur for M[k+1]..M[j] to get a k x j matrix
    +
    32 cost += MatrixChainMultiplication(dim, k, j);
    +
    33
    +
    34 // cost to multiply two (i x k) and (k x j) matrix
    +
    35 cost += dim[i] * dim[k] * dim[j];
    +
    36
    +
    37 if (cost < min)
    +
    38 min = cost; // store the minimum cost
    +
    39 }
    +
    40 dp[i][j] = min;
    +
    41 }
    +
    42
    +
    43 // return min cost to multiply M[j+1]..M[j]
    +
    44 return dp[i][j];
    +
    45}
    +
    46
    +
    47// main function
    +
    48int main() {
    +
    49 // Matrix i has Dimensions dim[i-1] & dim[i] for i=1..n
    +
    50 // input is 10 x 30 matrix, 30 x 5 matrix, 5 x 60 matrix
    +
    51 int dim[] = {10, 30, 5, 60};
    +
    52 int n = sizeof(dim) / sizeof(dim[0]);
    +
    53
    +
    54 // Function Calling: MatrixChainMultiplications(dimensions_array, starting,
    +
    55 // ending);
    +
    56
    +
    57 cout << "Minimum cost is " << MatrixChainMultiplication(dim, 0, n - 1)
    +
    58 << "\n";
    +
    59
    +
    60 return 0;
    +
    61}
    +
    double k(double x)
    Another test function.
    +
    int main()
    Main function.
    +
    for std::vector
    +
    +
    + + + + diff --git a/d2/da7/namespacefind__non__repeating__integer.html b/d2/da7/namespacefind__non__repeating__integer.html index c35ac21ba..7645029f5 100644 --- a/d2/da7/namespacefind__non__repeating__integer.html +++ b/d2/da7/namespacefind__non__repeating__integer.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: find_non_repeating_integer Namespace Reference +TheAlgorithms/C++: find_non_repeating_integer Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/d2/daa/classgreedy__algorithms_1_1dijkstra_1_1_graph.html b/d2/daa/classgreedy__algorithms_1_1dijkstra_1_1_graph.html index 0c245deba..a69a72301 100644 --- a/d2/daa/classgreedy__algorithms_1_1dijkstra_1_1_graph.html +++ b/d2/daa/classgreedy__algorithms_1_1dijkstra_1_1_graph.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: greedy_algorithms::dijkstra::Graph Class Reference +TheAlgorithms/C++: greedy_algorithms::dijkstra::Graph Class Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + @@ -131,14 +148,15 @@ Public Member Functions
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    - + - +

    Public Attributes

    -int vertexNum = 0
    int vertexNum = 0
     
    std::vector< std::vector< int > > edges {}
    std::vector< std::vector< int > > edges {}
     

    Detailed Description

    Wrapper class for storing a graph.

    + +

    Definition at line 35 of file dijkstra_greedy.cpp.

    Constructor & Destructor Documentation

    ◆ Graph()

    @@ -170,11 +188,13 @@ int vertexNum = 0 + +

    Definition at line 44 of file dijkstra_greedy.cpp.

    44 {
    45 // Initialize the array edges
    -
    46 this->edges = std::vector<std::vector<int>>(V, std::vector<int>(V, 0));
    +
    46 this->edges = std::vector<std::vector<int>>(V, std::vector<int>(V, 0));
    47 for (int i = 0; i < V; i++) {
    -
    48 edges[i] = std::vector<int>(V, 0);
    +
    48 edges[i] = std::vector<int>(V, 0);
    49 }
    50
    51 // Fills the array with zeros
    @@ -186,7 +206,6 @@ int vertexNum = 0
    57
    58 this->vertexNum = V;
    59 }
    -
    @@ -233,6 +252,8 @@ int vertexNum = 0
    Returns
    void
    + +

    Definition at line 68 of file dijkstra_greedy.cpp.

    68 {
    69 this->edges[src][dst] = weight;
    70 }
    @@ -247,16 +268,34 @@ int vertexNum = 0
    - +
    std::vector<std::vector<int> > greedy_algorithms::dijkstra::Graph::edges {}std::vector<std::vector<int> > greedy_algorithms::dijkstra::Graph::edges {}
    + +

    Definition at line 38 of file dijkstra_greedy.cpp.

    38{};
    +
    +
    + +

    ◆ vertexNum

    + +
    +
    + + + + +
    int greedy_algorithms::dijkstra::Graph::vertexNum = 0
    +
    + +

    Definition at line 37 of file dijkstra_greedy.cpp.

    +

    The documentation for this class was generated from the following file: diff --git a/d2/db0/namespacesieve__of__eratosthenes.html b/d2/db0/namespacesieve__of__eratosthenes.html index 3a60528d0..5c6080779 100644 --- a/d2/db0/namespacesieve__of__eratosthenes.html +++ b/d2/db0/namespacesieve__of__eratosthenes.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: sieve_of_eratosthenes Namespace Reference +TheAlgorithms/C++: sieve_of_eratosthenes Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/d2/db9/structdata__structures_1_1treap_1_1_treap__coll__graph.map b/d2/db9/structdata__structures_1_1treap_1_1_treap__coll__graph.map index d0c8861bf..dd77d83b8 100644 --- a/d2/db9/structdata__structures_1_1treap_1_1_treap__coll__graph.map +++ b/d2/db9/structdata__structures_1_1treap_1_1_treap__coll__graph.map @@ -1,7 +1,7 @@ - + - + diff --git a/d2/db9/structdata__structures_1_1treap_1_1_treap__coll__graph.md5 b/d2/db9/structdata__structures_1_1treap_1_1_treap__coll__graph.md5 index d24e187d3..5d6be357d 100644 --- a/d2/db9/structdata__structures_1_1treap_1_1_treap__coll__graph.md5 +++ b/d2/db9/structdata__structures_1_1treap_1_1_treap__coll__graph.md5 @@ -1 +1 @@ -50739112ee891e9d18129e02ad649cfd \ No newline at end of file +c4fe396a269318ee0919570a882ed9b1 \ No newline at end of file diff --git a/d2/db9/structdata__structures_1_1treap_1_1_treap__coll__graph.svg b/d2/db9/structdata__structures_1_1treap_1_1_treap__coll__graph.svg index 8913427a8..ee40b276f 100644 --- a/d2/db9/structdata__structures_1_1treap_1_1_treap__coll__graph.svg +++ b/d2/db9/structdata__structures_1_1treap_1_1_treap__coll__graph.svg @@ -32,7 +32,7 @@ Node2 - + std::array< int, maxNode > @@ -54,7 +54,7 @@ Node3 - + std::array< std::array < int, 2 >, maxNode > diff --git a/d2/db9/structdata__structures_1_1treap_1_1_treap__coll__graph_org.svg b/d2/db9/structdata__structures_1_1treap_1_1_treap__coll__graph_org.svg index ba08d1ec4..c48f571d7 100644 --- a/d2/db9/structdata__structures_1_1treap_1_1_treap__coll__graph_org.svg +++ b/d2/db9/structdata__structures_1_1treap_1_1_treap__coll__graph_org.svg @@ -21,7 +21,7 @@ Node2 - + std::array< int, maxNode > @@ -43,7 +43,7 @@ Node3 - + std::array< std::array < int, 2 >, maxNode > diff --git a/d2/dc4/classstack__linked_list.html b/d2/dc4/classstack__linked_list.html index 5930807cb..d509f94f2 100644 --- a/d2/dc4/classstack__linked_list.html +++ b/d2/dc4/classstack__linked_list.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: stack_linkedList Class Reference +TheAlgorithms/C++: stack_linkedList Class Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + @@ -128,14 +145,15 @@ Public Member Functions
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    - + - +

    Public Attributes

    -linkedlistfront
    linkedlistfront
     
    -linkedlistrear
    linkedlistrear
     
    -

    Constructor & Destructor Documentation

    +

    Detailed Description

    +
    +

    Definition at line 10 of file queue_using_linkedlist.cpp.

    +

    Constructor & Destructor Documentation

    ◆ stack_linkedList()

    @@ -158,6 +176,8 @@ Public Attributes
    + +

    Definition at line 15 of file queue_using_linkedlist.cpp.

    15{ front = rear = NULL; }
    @@ -177,11 +197,13 @@ Public Attributes
    + +

    Definition at line 32 of file queue_using_linkedlist.cpp.

    32 {
    33 linkedlist *temp;
    34 int ele;
    35 if (front == NULL)
    -
    36 std::cout << "\nStack is empty";
    +
    36 std::cout << "\nStack is empty";
    37 else {
    38 temp = front;
    39 ele = temp->data;
    @@ -192,8 +214,7 @@ Public Attributes
    44 }
    45 return ele;
    46}
    - -
    Definition queue_using_linkedlist.cpp:6
    +
    @@ -211,15 +232,17 @@ Public Attributes
    + +

    Definition at line 47 of file queue_using_linkedlist.cpp.

    47 {
    48 if (front == NULL)
    -
    49 std::cout << "\nStack is empty";
    +
    49 std::cout << "\nStack is empty";
    50
    51 else {
    52 linkedlist *temp;
    53 temp = front;
    54 while (temp != NULL) {
    -
    55 std::cout << temp->data << " ";
    +
    55 std::cout << temp->data << " ";
    56 temp = temp->next;
    57 }
    58 }
    @@ -241,6 +264,8 @@ Public Attributes
    + +

    Definition at line 20 of file queue_using_linkedlist.cpp.

    20 {
    21 linkedlist *temp = new linkedlist();
    22 temp->data = ele;
    @@ -254,10 +279,43 @@ Public Attributes
    30 }
    31}
    +
    +
    +

    Member Data Documentation

    + +

    ◆ front

    + +
    +
    + + + + +
    linkedlist* stack_linkedList::front
    +
    + +

    Definition at line 12 of file queue_using_linkedlist.cpp.

    + +
    +
    + +

    ◆ rear

    + +
    +
    + + + + +
    linkedlist* stack_linkedList::rear
    +
    + +

    Definition at line 13 of file queue_using_linkedlist.cpp.

    +

    The documentation for this class was generated from the following file: diff --git a/d2/dc8/classdata__structures_1_1_stack.html b/d2/dc8/classdata__structures_1_1_stack.html index b1807fc6b..208a228fc 100644 --- a/d2/dc8/classdata__structures_1_1_stack.html +++ b/d2/dc8/classdata__structures_1_1_stack.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: data_structures::Stack< T > Class Template Reference +TheAlgorithms/C++: data_structures::Stack< T > Class Template Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -149,17 +166,14 @@ Public Member Functions
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    - - + + - - + + - - + +

    Private Attributes

    -std::unique_ptr< T[]> stack
     Smart pointer to the stack array.
    std::unique_ptr< T[]> stack
     Smart pointer to the stack array.
     
    -int stackSize
     Maximum size of the stack.
    int stackSize
     Maximum size of the stack.
     
    -int stackIndex
     Index pointing to the top element of the stack.
    int stackIndex
     Index pointing to the top element of the stack.
     

    Detailed Description

    @@ -171,6 +185,8 @@ class data_structures::Stack< T >

    Class representation of a stack. + +

    Definition at line 16 of file stack_using_array.cpp.

    Constructor & Destructor Documentation

    ◆ Stack()

    @@ -204,10 +220,12 @@ template<typename T > + +

    Definition at line 28 of file stack_using_array.cpp.

    28: stackSize(size), stackIndex(-1), stack(new T[size]) {}
    -
    std::unique_ptr< T[]> stack
    Smart pointer to the stack array.
    Definition stack_using_array.cpp:18
    -
    int stackIndex
    Index pointing to the top element of the stack.
    Definition stack_using_array.cpp:20
    -
    int stackSize
    Maximum size of the stack.
    Definition stack_using_array.cpp:19
    +
    std::unique_ptr< T[]> stack
    Smart pointer to the stack array.
    +
    int stackIndex
    Index pointing to the top element of the stack.
    +
    int stackSize
    Maximum size of the stack.
    @@ -241,25 +259,21 @@ template<typename T >
    Returns
    The bottom element of the stack
    Exceptions
    - +
    std::out_of_rangeif the stack is empty
    std::out_of_rangeif the stack is empty
    + +

    Definition at line 97 of file stack_using_array.cpp.

    97 {
    98 if (empty()) {
    -
    99 throw std::out_of_range("Stack underflow");
    +
    99 throw std::out_of_range("Stack underflow");
    100 }
    101 return stack[0];
    102 }
    -
    bool empty() const
    Checks if the stack is empty.
    Definition stack_using_array.cpp:41
    -
    for std::invalid_argument
    Definition stack.hpp:19
    - -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    bool empty() const
    Checks if the stack is empty.
    +
    for std::invalid_argument
    Definition stack.hpp:19
    + @@ -289,6 +303,8 @@ template<typename T >

    Checks if the stack is empty.

    Returns
    true if the stack is empty, false otherwise
    + +

    Definition at line 41 of file stack_using_array.cpp.

    41{ return stackIndex == -1; }
    @@ -320,6 +336,8 @@ template<typename T >

    Checks if the stack is full.

    Returns
    true if the stack is full, false otherwise
    + +

    Definition at line 35 of file stack_using_array.cpp.

    35{ return stackIndex == stackSize - 1; }
    @@ -353,22 +371,19 @@ template<typename T >
    Returns
    The popped element
    Exceptions
    - +
    std::out_of_rangeif the stack is empty
    std::out_of_rangeif the stack is empty
    + +

    Definition at line 62 of file stack_using_array.cpp.

    62 {
    63 if (empty()) {
    -
    64 throw std::out_of_range("Stack underflow");
    +
    64 throw std::out_of_range("Stack underflow");
    65 }
    66 return stack[stackIndex--];
    67 }
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -403,20 +418,17 @@ template<typename T > + +

    Definition at line 48 of file stack_using_array.cpp.

    48 {
    49 if (full()) {
    -
    50 throw std::out_of_range("Stack overflow");
    +
    50 throw std::out_of_range("Stack overflow");
    51 } else {
    52 stack[++stackIndex] = element;
    53 }
    54 }
    -
    bool full() const
    Checks if the stack is full.
    Definition stack_using_array.cpp:35
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    bool full() const
    Checks if the stack is full.
    + @@ -445,12 +457,13 @@ template<typename T >

    Displays all elements in the stack.

    + +

    Definition at line 72 of file stack_using_array.cpp.

    72 {
    73 for (int i = 0; i <= stackIndex; i++) {
    -
    74 std::cout << stack[i] << "\n";
    +
    74 std::cout << stack[i] << "\n";
    75 }
    76 }
    -
    @@ -483,26 +496,108 @@ template<typename T >
    Returns
    The topmost element of the stack
    Exceptions
    - +
    std::out_of_rangeif the stack is empty
    std::out_of_rangeif the stack is empty
    + +

    Definition at line 84 of file stack_using_array.cpp.

    84 {
    85 if (empty()) {
    -
    86 throw std::out_of_range("Stack underflow");
    +
    86 throw std::out_of_range("Stack underflow");
    87 }
    88 return stack[stackIndex];
    89 }
    -
    -Here is the call graph for this function:
    -
    -
    +
    + +

    Member Data Documentation

    + +

    ◆ stack

    + +
    +
    +
    +template<typename T >
    + + + + + +
    + + + + +
    std::unique_ptr<T[]> data_structures::Stack< T >::stack
    +
    +private
    +
    + +

    Smart pointer to the stack array.

    + +

    Definition at line 18 of file stack_using_array.cpp.

    + +
    +
    + +

    ◆ stackIndex

    + +
    +
    +
    +template<typename T >
    + + + + + +
    + + + + +
    int data_structures::Stack< T >::stackIndex
    +
    +private
    +
    + +

    Index pointing to the top element of the stack.

    + +

    Definition at line 20 of file stack_using_array.cpp.

    + +
    +
    + +

    ◆ stackSize

    + +
    +
    +
    +template<typename T >
    + + + + + +
    + + + + +
    int data_structures::Stack< T >::stackSize
    +
    +private
    +
    + +

    Maximum size of the stack.

    + +

    Definition at line 19 of file stack_using_array.cpp.


    The documentation for this class was generated from the following file: diff --git a/d2/dc8/classdata__structures_1_1_stack_a2ac469fcc2229d273450e429139d90e6_cgraph.map b/d2/dc8/classdata__structures_1_1_stack_a2ac469fcc2229d273450e429139d90e6_cgraph.map deleted file mode 100644 index 6b2351f5a..000000000 --- a/d2/dc8/classdata__structures_1_1_stack_a2ac469fcc2229d273450e429139d90e6_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d2/dc8/classdata__structures_1_1_stack_a2ac469fcc2229d273450e429139d90e6_cgraph.md5 b/d2/dc8/classdata__structures_1_1_stack_a2ac469fcc2229d273450e429139d90e6_cgraph.md5 deleted file mode 100644 index cb5a7b3b4..000000000 --- a/d2/dc8/classdata__structures_1_1_stack_a2ac469fcc2229d273450e429139d90e6_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -512dee9322fc30c83b03c7723d356ea5 \ No newline at end of file diff --git a/d2/dc8/classdata__structures_1_1_stack_a2ac469fcc2229d273450e429139d90e6_cgraph.svg b/d2/dc8/classdata__structures_1_1_stack_a2ac469fcc2229d273450e429139d90e6_cgraph.svg deleted file mode 100644 index 6d1a773d9..000000000 --- a/d2/dc8/classdata__structures_1_1_stack_a2ac469fcc2229d273450e429139d90e6_cgraph.svg +++ /dev/null @@ -1,67 +0,0 @@ - - - - - - - - - - - - -data_structures::Stack::bottom - - -Node1 - - -data_structures::Stack -::bottom - - - - - -Node2 - - -data_structures::Stack -::empty - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d2/dc8/classdata__structures_1_1_stack_a2ac469fcc2229d273450e429139d90e6_cgraph_org.svg b/d2/dc8/classdata__structures_1_1_stack_a2ac469fcc2229d273450e429139d90e6_cgraph_org.svg deleted file mode 100644 index 886fbf37f..000000000 --- a/d2/dc8/classdata__structures_1_1_stack_a2ac469fcc2229d273450e429139d90e6_cgraph_org.svg +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - -data_structures::Stack::bottom - - -Node1 - - -data_structures::Stack -::bottom - - - - - -Node2 - - -data_structures::Stack -::empty - - - - - -Node1->Node2 - - - - - - - - diff --git a/d2/dc8/classdata__structures_1_1_stack_a61dc70e128ee64c9684f03a4c04818b0_cgraph.map b/d2/dc8/classdata__structures_1_1_stack_a61dc70e128ee64c9684f03a4c04818b0_cgraph.map deleted file mode 100644 index eb7ce3f4b..000000000 --- a/d2/dc8/classdata__structures_1_1_stack_a61dc70e128ee64c9684f03a4c04818b0_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d2/dc8/classdata__structures_1_1_stack_a61dc70e128ee64c9684f03a4c04818b0_cgraph.md5 b/d2/dc8/classdata__structures_1_1_stack_a61dc70e128ee64c9684f03a4c04818b0_cgraph.md5 deleted file mode 100644 index cf80e65fd..000000000 --- a/d2/dc8/classdata__structures_1_1_stack_a61dc70e128ee64c9684f03a4c04818b0_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -0bf4679a8dd8bec2876299055859fed6 \ No newline at end of file diff --git a/d2/dc8/classdata__structures_1_1_stack_a61dc70e128ee64c9684f03a4c04818b0_cgraph.svg b/d2/dc8/classdata__structures_1_1_stack_a61dc70e128ee64c9684f03a4c04818b0_cgraph.svg deleted file mode 100644 index 3c91dfdca..000000000 --- a/d2/dc8/classdata__structures_1_1_stack_a61dc70e128ee64c9684f03a4c04818b0_cgraph.svg +++ /dev/null @@ -1,67 +0,0 @@ - - - - - - - - - - - - -data_structures::Stack::topmost - - -Node1 - - -data_structures::Stack -::topmost - - - - - -Node2 - - -data_structures::Stack -::empty - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d2/dc8/classdata__structures_1_1_stack_a61dc70e128ee64c9684f03a4c04818b0_cgraph_org.svg b/d2/dc8/classdata__structures_1_1_stack_a61dc70e128ee64c9684f03a4c04818b0_cgraph_org.svg deleted file mode 100644 index 72619ee46..000000000 --- a/d2/dc8/classdata__structures_1_1_stack_a61dc70e128ee64c9684f03a4c04818b0_cgraph_org.svg +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - -data_structures::Stack::topmost - - -Node1 - - -data_structures::Stack -::topmost - - - - - -Node2 - - -data_structures::Stack -::empty - - - - - -Node1->Node2 - - - - - - - - diff --git a/d2/dc8/classdata__structures_1_1_stack_aa9f9b087e9e7c00628e1289f0f1de3b2_cgraph.map b/d2/dc8/classdata__structures_1_1_stack_aa9f9b087e9e7c00628e1289f0f1de3b2_cgraph.map deleted file mode 100644 index 1760ce55a..000000000 --- a/d2/dc8/classdata__structures_1_1_stack_aa9f9b087e9e7c00628e1289f0f1de3b2_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d2/dc8/classdata__structures_1_1_stack_aa9f9b087e9e7c00628e1289f0f1de3b2_cgraph.md5 b/d2/dc8/classdata__structures_1_1_stack_aa9f9b087e9e7c00628e1289f0f1de3b2_cgraph.md5 deleted file mode 100644 index ae57923a0..000000000 --- a/d2/dc8/classdata__structures_1_1_stack_aa9f9b087e9e7c00628e1289f0f1de3b2_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -04111dff9752fdbb83c636f658bb2c4c \ No newline at end of file diff --git a/d2/dc8/classdata__structures_1_1_stack_aa9f9b087e9e7c00628e1289f0f1de3b2_cgraph.svg b/d2/dc8/classdata__structures_1_1_stack_aa9f9b087e9e7c00628e1289f0f1de3b2_cgraph.svg deleted file mode 100644 index a98092c6e..000000000 --- a/d2/dc8/classdata__structures_1_1_stack_aa9f9b087e9e7c00628e1289f0f1de3b2_cgraph.svg +++ /dev/null @@ -1,67 +0,0 @@ - - - - - - - - - - - - -data_structures::Stack::push - - -Node1 - - -data_structures::Stack -::push - - - - - -Node2 - - -data_structures::Stack -::full - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d2/dc8/classdata__structures_1_1_stack_aa9f9b087e9e7c00628e1289f0f1de3b2_cgraph_org.svg b/d2/dc8/classdata__structures_1_1_stack_aa9f9b087e9e7c00628e1289f0f1de3b2_cgraph_org.svg deleted file mode 100644 index 758965798..000000000 --- a/d2/dc8/classdata__structures_1_1_stack_aa9f9b087e9e7c00628e1289f0f1de3b2_cgraph_org.svg +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - -data_structures::Stack::push - - -Node1 - - -data_structures::Stack -::push - - - - - -Node2 - - -data_structures::Stack -::full - - - - - -Node1->Node2 - - - - - - - - diff --git a/d2/dc8/classdata__structures_1_1_stack_ac46842bdd9c655d84f865fa3a03da19b_cgraph.map b/d2/dc8/classdata__structures_1_1_stack_ac46842bdd9c655d84f865fa3a03da19b_cgraph.map deleted file mode 100644 index e0a8b6a23..000000000 --- a/d2/dc8/classdata__structures_1_1_stack_ac46842bdd9c655d84f865fa3a03da19b_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d2/dc8/classdata__structures_1_1_stack_ac46842bdd9c655d84f865fa3a03da19b_cgraph.md5 b/d2/dc8/classdata__structures_1_1_stack_ac46842bdd9c655d84f865fa3a03da19b_cgraph.md5 deleted file mode 100644 index d31270799..000000000 --- a/d2/dc8/classdata__structures_1_1_stack_ac46842bdd9c655d84f865fa3a03da19b_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -c0b0e361825dc1db439c164ff12ea73f \ No newline at end of file diff --git a/d2/dc8/classdata__structures_1_1_stack_ac46842bdd9c655d84f865fa3a03da19b_cgraph.svg b/d2/dc8/classdata__structures_1_1_stack_ac46842bdd9c655d84f865fa3a03da19b_cgraph.svg deleted file mode 100644 index 37353d7fa..000000000 --- a/d2/dc8/classdata__structures_1_1_stack_ac46842bdd9c655d84f865fa3a03da19b_cgraph.svg +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - - - - - - - -data_structures::Stack::pop - - -Node1 - - -data_structures::Stack::pop - - - - - -Node2 - - -data_structures::Stack -::empty - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d2/dc8/classdata__structures_1_1_stack_ac46842bdd9c655d84f865fa3a03da19b_cgraph_org.svg b/d2/dc8/classdata__structures_1_1_stack_ac46842bdd9c655d84f865fa3a03da19b_cgraph_org.svg deleted file mode 100644 index 6c6c95386..000000000 --- a/d2/dc8/classdata__structures_1_1_stack_ac46842bdd9c655d84f865fa3a03da19b_cgraph_org.svg +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - -data_structures::Stack::pop - - -Node1 - - -data_structures::Stack::pop - - - - - -Node2 - - -data_structures::Stack -::empty - - - - - -Node1->Node2 - - - - - - - - diff --git a/d2/dce/classothers_1_1iterative__tree__traversals_1_1_binary_tree-members.html b/d2/dce/classothers_1_1iterative__tree__traversals_1_1_binary_tree-members.html index 62531d698..c49305379 100644 --- a/d2/dce/classothers_1_1iterative__tree__traversals_1_1_binary_tree-members.html +++ b/d2/dce/classothers_1_1iterative__tree__traversals_1_1_binary_tree-members.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Member List +TheAlgorithms/C++: Member List + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/d2/dcf/namespacestatistics.html b/d2/dcf/namespacestatistics.html index 7d28b0ae9..c48e0552b 100644 --- a/d2/dcf/namespacestatistics.html +++ b/d2/dcf/namespacestatistics.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: statistics Namespace Reference +TheAlgorithms/C++: statistics Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/d2/dd4/structstd_1_1is__integral_3_01uint128__t_01_4.html b/d2/dd4/structstd_1_1is__integral_3_01uint128__t_01_4.html index adf91150e..2d95f3dc1 100644 --- a/d2/dd4/structstd_1_1is__integral_3_01uint128__t_01_4.html +++ b/d2/dd4/structstd_1_1is__integral_3_01uint128__t_01_4.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: std::is_integral< uint128_t > Struct Reference +TheAlgorithms/C++: std::is_integral< uint128_t > Struct Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + @@ -117,7 +134,10 @@ Collaboration diagram for std::is_integral< uint128_t >:
    [legend]
    -
    The documentation for this struct was generated from the following file:
      +

      Detailed Description

      +
      +

      Definition at line 25 of file uint128_t.hpp.

      +

      The documentation for this struct was generated from the following file: @@ -125,7 +145,7 @@ Collaboration diagram for std::is_integral< uint128_t >: diff --git a/d2/ddb/namespacegcd__of__n__numbers.html b/d2/ddb/namespacegcd__of__n__numbers.html index 9507eecf3..4b3ac833b 100644 --- a/d2/ddb/namespacegcd__of__n__numbers.html +++ b/d2/ddb/namespacegcd__of__n__numbers.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: gcd_of_n_numbers Namespace Reference +TheAlgorithms/C++: gcd_of_n_numbers Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
      @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/d2/de1/namespacehouse__robber.html b/d2/de1/namespacehouse__robber.html index fb424343f..81883389e 100644 --- a/d2/de1/namespacehouse__robber.html +++ b/d2/de1/namespacehouse__robber.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: house_robber Namespace Reference +TheAlgorithms/C++: house_robber Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/d2/de3/structlinear__probing_1_1_entry-members.html b/d2/de3/structlinear__probing_1_1_entry-members.html index 21f14b78a..66d30b238 100644 --- a/d2/de3/structlinear__probing_1_1_entry-members.html +++ b/d2/de3/structlinear__probing_1_1_entry-members.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Member List +TheAlgorithms/C++: Member List + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/d2/de7/namespacerunge__kutta.html b/d2/de7/namespacerunge__kutta.html index 133f98664..dee91a8f2 100644 --- a/d2/de7/namespacerunge__kutta.html +++ b/d2/de7/namespacerunge__kutta.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: runge_kutta Namespace Reference +TheAlgorithms/C++: runge_kutta Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/d2/de9/heavy__light__decomposition_8cpp.html b/d2/de9/heavy__light__decomposition_8cpp.html index 925bac6c0..970748a86 100644 --- a/d2/de9/heavy__light__decomposition_8cpp.html +++ b/d2/de9/heavy__light__decomposition_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: range_queries/heavy_light_decomposition.cpp File Reference +TheAlgorithms/C++: range_queries/heavy_light_decomposition.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + @@ -128,7 +145,9 @@ Include dependency graph for heavy_light_decomposition.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -144,7 +163,7 @@ Classes - + @@ -180,6 +199,8 @@ Functions
  • Call obj.query(a, b) to get the (sum) of node values in the simple path from a to b. Note: a and b, must be 0 indexed.
  • Sample I/O at the bottom.

    Todo
    Support edge weight queries, by storing the edge weight value in it's child algorithm verified by testing in CSES path queries: https://cses.fi/problemset/task/1138
    + +

    Definition in file heavy_light_decomposition.cpp.

    Function Documentation

    ◆ main()

    @@ -196,21 +217,18 @@ Functions

    Classes

    class  range_queries::heavy_light_decomposition::Tree< X >

    Namespaces

    namespace  range_queries
     for std::vector
     for std::vector
     
    namespace  heavy_light_decomposition
     Heavy light decomposition algorithm.

    Main function

    + +

    Definition at line 634 of file heavy_light_decomposition.cpp.

    634 {
    635 test_1();
    636 test_2();
    637 test_3();
    638 return 0;
    639}
    -
    static void test_1()
    Definition heavy_light_decomposition.cpp:505
    -
    static void test_2()
    Definition heavy_light_decomposition.cpp:549
    -
    static void test_3()
    Definition heavy_light_decomposition.cpp:592
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static void test_1()
    +
    static void test_2()
    +
    static void test_3()
    +
    @@ -236,20 +254,22 @@ Here is the call graph for this function:

    Test implementations

    Returns
    none
    + +

    Definition at line 505 of file heavy_light_decomposition.cpp.

    505 {
    -
    506 std::cout << "Test 1:\n";
    +
    506 std::cout << "Test 1:\n";
    507
    508 // Test details
    509 int n = 5;
    -
    510 std::vector<int64_t> node_values = {4, 2, 5, 2, 1};
    -
    511 std::vector<std::vector<int>> edges = {{1, 2}, {1, 3}, {3, 4}, {3, 5}};
    - +
    510 std::vector<int64_t> node_values = {4, 2, 5, 2, 1};
    +
    511 std::vector<std::vector<int>> edges = {{1, 2}, {1, 3}, {3, 4}, {3, 5}};
    +
    512 std::vector<std::vector<int>> queries = {
    513 {2, 1, 4},
    514 {1, 3, 2},
    515 {2, 1, 4},
    516 };
    -
    517 std::vector<int> expected_result = {11, 8};
    -
    518 std::vector<int> code_result;
    +
    517 std::vector<int> expected_result = {11, 8};
    +
    518 std::vector<int> code_result;
    519
    521 hld.set_node_val(node_values);
    @@ -265,27 +285,18 @@ Here is the call graph for this function:
    531 hld.update(p - 1, x);
    532 } else if (type == 2) {
    533 int a = q[1], b = q[2];
    -
    534 code_result.push_back(hld.query(a - 1, b - 1));
    +
    534 code_result.push_back(hld.query(a - 1, b - 1));
    535 } else {
    536 continue;
    537 }
    538 }
    -
    539 for (int i = 0; i < static_cast<int>(expected_result.size()); i++) {
    +
    539 for (int i = 0; i < static_cast<int>(expected_result.size()); i++) {
    540 assert(expected_result[i] == code_result[i]);
    541 }
    -
    542 std::cout << "\nTest 1 passed!\n";
    +
    542 std::cout << "\nTest 1 passed!\n";
    543}
    - -
    The Heavy-Light Decomposition class.
    Definition heavy_light_decomposition.cpp:336
    -
    T push_back(T... args)
    -
    T size(T... args)
    - -
    -Here is the call graph for this function:
    -
    -
    -
    - + + @@ -311,19 +322,21 @@ Here is the call graph for this function:

    Second test implementations

    Returns
    void
    + +

    Definition at line 549 of file heavy_light_decomposition.cpp.

    549 {
    -
    550 std::cout << "Test 2:\n";
    +
    550 std::cout << "Test 2:\n";
    551
    552 // Test details (Bamboo)
    553 int n = 10;
    -
    554 std::vector<int64_t> node_values = {1, 8, 6, 8, 6, 2, 9, 2, 3, 2};
    - +
    554 std::vector<int64_t> node_values = {1, 8, 6, 8, 6, 2, 9, 2, 3, 2};
    +
    555 std::vector<std::vector<int>> edges = {
    556 {10, 5}, {6, 2}, {10, 7}, {5, 2}, {3, 9}, {8, 3}, {1, 4}, {6, 4}, {8, 7}};
    - +
    557 std::vector<std::vector<int>> queries = {
    558 {2, 1, 10}, {2, 1, 6}, {1, 3, 4}, {2, 1, 9}, {1, 5, 3},
    559 {1, 7, 8}, {2, 1, 4}, {2, 1, 8}, {1, 1, 4}, {1, 2, 7}};
    -
    560 std::vector<int> expected_result = {27, 11, 45, 9, 34};
    -
    561 std::vector<int> code_result;
    +
    560 std::vector<int> expected_result = {27, 11, 45, 9, 34};
    +
    561 std::vector<int> code_result;
    562
    564 hld.set_node_val(node_values);
    @@ -339,22 +352,17 @@ Here is the call graph for this function:
    574 hld.update(p - 1, x);
    575 } else if (type == 2) {
    576 int a = q[1], b = q[2];
    -
    577 code_result.push_back(hld.query(a - 1, b - 1));
    +
    577 code_result.push_back(hld.query(a - 1, b - 1));
    578 } else {
    579 continue;
    580 }
    581 }
    -
    582 for (int i = 0; i < static_cast<int>(expected_result.size()); i++) {
    +
    582 for (int i = 0; i < static_cast<int>(expected_result.size()); i++) {
    583 assert(expected_result[i] == code_result[i]);
    584 }
    -
    585 std::cout << "\nTest2 passed!\n";
    +
    585 std::cout << "\nTest2 passed!\n";
    586}
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -380,19 +388,21 @@ Here is the call graph for this function:

    Third test implementations

    Returns
    void
    + +

    Definition at line 592 of file heavy_light_decomposition.cpp.

    592 {
    -
    593 std::cout << "Test 3:\n";
    +
    593 std::cout << "Test 3:\n";
    594
    595 // Test details
    596 int n = 8;
    -
    597 std::vector<int64_t> node_values = {1, 8, 6, 8, 6, 2, 9, 2};
    -
    598 std::vector<std::vector<int>> edges = {{1, 2}, {2, 3}, {3, 4}, {1, 5},
    +
    597 std::vector<int64_t> node_values = {1, 8, 6, 8, 6, 2, 9, 2};
    +
    598 std::vector<std::vector<int>> edges = {{1, 2}, {2, 3}, {3, 4}, {1, 5},
    599 {6, 3}, {7, 5}, {8, 7}};
    - +
    600 std::vector<std::vector<int>> queries = {
    601 {2, 6, 8}, {2, 3, 6}, {1, 3, 4}, {2, 7, 1}, {1, 5, 3},
    602 {1, 7, 8}, {2, 6, 4}, {2, 7, 8}, {1, 1, 4}, {1, 2, 7}};
    -
    603 std::vector<int> expected_result = {34, 8, 16, 14, 10};
    -
    604 std::vector<int> code_result;
    +
    603 std::vector<int> expected_result = {34, 8, 16, 14, 10};
    +
    604 std::vector<int> code_result;
    605
    607 hld.set_node_val(node_values);
    @@ -408,22 +418,17 @@ Here is the call graph for this function:
    617 hld.update(p - 1, x);
    618 } else if (type == 2) {
    619 int a = q[1], b = q[2];
    -
    620 code_result.push_back(hld.query(a - 1, b - 1));
    +
    620 code_result.push_back(hld.query(a - 1, b - 1));
    621 } else {
    622 continue;
    623 }
    624 }
    -
    625 for (int i = 0; i < static_cast<int>(expected_result.size()); i++) {
    +
    625 for (int i = 0; i < static_cast<int>(expected_result.size()); i++) {
    626 assert(expected_result[i] == code_result[i]);
    627 }
    -
    628 std::cout << "\nTest3 passed!\n";
    +
    628 std::cout << "\nTest3 passed!\n";
    629}
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + diff --git a/d2/de9/heavy__light__decomposition_8cpp_a34b8683a2b429de5cce57e6d733ec817_cgraph.map b/d2/de9/heavy__light__decomposition_8cpp_a34b8683a2b429de5cce57e6d733ec817_cgraph.map deleted file mode 100644 index a855d1f43..000000000 --- a/d2/de9/heavy__light__decomposition_8cpp_a34b8683a2b429de5cce57e6d733ec817_cgraph.map +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d2/de9/heavy__light__decomposition_8cpp_a34b8683a2b429de5cce57e6d733ec817_cgraph.md5 b/d2/de9/heavy__light__decomposition_8cpp_a34b8683a2b429de5cce57e6d733ec817_cgraph.md5 deleted file mode 100644 index fbe73cb07..000000000 --- a/d2/de9/heavy__light__decomposition_8cpp_a34b8683a2b429de5cce57e6d733ec817_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -edb2016c067a1e815a7f88ec910cc9a6 \ No newline at end of file diff --git a/d2/de9/heavy__light__decomposition_8cpp_a34b8683a2b429de5cce57e6d733ec817_cgraph.svg b/d2/de9/heavy__light__decomposition_8cpp_a34b8683a2b429de5cce57e6d733ec817_cgraph.svg deleted file mode 100644 index dbcbe896e..000000000 --- a/d2/de9/heavy__light__decomposition_8cpp_a34b8683a2b429de5cce57e6d733ec817_cgraph.svg +++ /dev/null @@ -1,550 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -test_1 - - -Node1 - - -test_1 - - - - - -Node2 - - -range_queries::heavy -_light_decomposition -::Tree::add_edge - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::vector::push_back - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -range_queries::heavy -_light_decomposition -::HLD::init - - - - - -Node1->Node4 - - - - - - - - -Node12 - - -range_queries::heavy -_light_decomposition -::HLD::query - - - - - -Node1->Node12 - - - - - - - - -Node17 - - -range_queries::heavy -_light_decomposition -::Tree::set_node_val - - - - - -Node1->Node17 - - - - - - - - -Node18 - - -std::vector::size - - - - - -Node1->Node18 - - - - - - - - -Node19 - - -range_queries::heavy -_light_decomposition -::HLD::update - - - - - -Node1->Node19 - - - - - - - - -Node2->Node3 - - - - - - - - -Node5 - - -range_queries::heavy -_light_decomposition -::SG::combine - - - - - -Node4->Node5 - - - - - - - - -Node6 - - -range_queries::heavy -_light_decomposition -::HLD::dfs_hc - - - - - -Node4->Node6 - - - - - - - - -Node7 - - -range_queries::heavy -_light_decomposition -::HLD::dfs_labels - - - - - -Node4->Node7 - - - - - - - - -Node8 - - -range_queries::heavy -_light_decomposition -::HLD::dfs_par - - - - - -Node4->Node8 - - - - - - - - -Node9 - - -range_queries::heavy -_light_decomposition -::Tree::init - - - - - -Node4->Node9 - - - - - - - - -Node6->Node6 - - - - - - - - -Node7->Node7 - - - - - - - - -Node8->Node8 - - - - - - - - -Node10 - - -range_queries::heavy -_light_decomposition -::Tree::dfs_lca - - - - - -Node9->Node10 - - - - - - - - -Node11 - - -range_queries::heavy -_light_decomposition -::Tree::dfs_size - - - - - -Node9->Node11 - - - - - - - - -Node10->Node10 - - - - - - - - -Node11->Node11 - - - - - - - - -Node13 - - -range_queries::heavy -_light_decomposition -::HLD::chain_query - - - - - -Node12->Node13 - - - - - - - - -Node15 - - -range_queries::heavy -_light_decomposition -::Tree::lca - - - - - -Node12->Node15 - - - - - - - - -Node13->Node5 - - - - - - - - -Node14 - - -std::swap - - - - - -Node13->Node14 - - - - - - - - -Node16 - - -range_queries::heavy -_light_decomposition -::Tree::lift - - - - - -Node15->Node16 - - - - - - - - -Node17->Node18 - - - - - - - - -Node20 - - -range_queries::heavy -_light_decomposition -::SG::update - - - - - -Node19->Node20 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d2/de9/heavy__light__decomposition_8cpp_a34b8683a2b429de5cce57e6d733ec817_cgraph_org.svg b/d2/de9/heavy__light__decomposition_8cpp_a34b8683a2b429de5cce57e6d733ec817_cgraph_org.svg deleted file mode 100644 index 4efcf0881..000000000 --- a/d2/de9/heavy__light__decomposition_8cpp_a34b8683a2b429de5cce57e6d733ec817_cgraph_org.svg +++ /dev/null @@ -1,467 +0,0 @@ - - - - - - -test_1 - - -Node1 - - -test_1 - - - - - -Node2 - - -range_queries::heavy -_light_decomposition -::Tree::add_edge - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::vector::push_back - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -range_queries::heavy -_light_decomposition -::HLD::init - - - - - -Node1->Node4 - - - - - - - - -Node12 - - -range_queries::heavy -_light_decomposition -::HLD::query - - - - - -Node1->Node12 - - - - - - - - -Node17 - - -range_queries::heavy -_light_decomposition -::Tree::set_node_val - - - - - -Node1->Node17 - - - - - - - - -Node18 - - -std::vector::size - - - - - -Node1->Node18 - - - - - - - - -Node19 - - -range_queries::heavy -_light_decomposition -::HLD::update - - - - - -Node1->Node19 - - - - - - - - -Node2->Node3 - - - - - - - - -Node5 - - -range_queries::heavy -_light_decomposition -::SG::combine - - - - - -Node4->Node5 - - - - - - - - -Node6 - - -range_queries::heavy -_light_decomposition -::HLD::dfs_hc - - - - - -Node4->Node6 - - - - - - - - -Node7 - - -range_queries::heavy -_light_decomposition -::HLD::dfs_labels - - - - - -Node4->Node7 - - - - - - - - -Node8 - - -range_queries::heavy -_light_decomposition -::HLD::dfs_par - - - - - -Node4->Node8 - - - - - - - - -Node9 - - -range_queries::heavy -_light_decomposition -::Tree::init - - - - - -Node4->Node9 - - - - - - - - -Node6->Node6 - - - - - - - - -Node7->Node7 - - - - - - - - -Node8->Node8 - - - - - - - - -Node10 - - -range_queries::heavy -_light_decomposition -::Tree::dfs_lca - - - - - -Node9->Node10 - - - - - - - - -Node11 - - -range_queries::heavy -_light_decomposition -::Tree::dfs_size - - - - - -Node9->Node11 - - - - - - - - -Node10->Node10 - - - - - - - - -Node11->Node11 - - - - - - - - -Node13 - - -range_queries::heavy -_light_decomposition -::HLD::chain_query - - - - - -Node12->Node13 - - - - - - - - -Node15 - - -range_queries::heavy -_light_decomposition -::Tree::lca - - - - - -Node12->Node15 - - - - - - - - -Node13->Node5 - - - - - - - - -Node14 - - -std::swap - - - - - -Node13->Node14 - - - - - - - - -Node16 - - -range_queries::heavy -_light_decomposition -::Tree::lift - - - - - -Node15->Node16 - - - - - - - - -Node17->Node18 - - - - - - - - -Node20 - - -range_queries::heavy -_light_decomposition -::SG::update - - - - - -Node19->Node20 - - - - - - - - diff --git a/d2/de9/heavy__light__decomposition_8cpp_a458410412185a5f09199deaff7157a8d_cgraph.map b/d2/de9/heavy__light__decomposition_8cpp_a458410412185a5f09199deaff7157a8d_cgraph.map deleted file mode 100644 index 18f55b03a..000000000 --- a/d2/de9/heavy__light__decomposition_8cpp_a458410412185a5f09199deaff7157a8d_cgraph.map +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d2/de9/heavy__light__decomposition_8cpp_a458410412185a5f09199deaff7157a8d_cgraph.md5 b/d2/de9/heavy__light__decomposition_8cpp_a458410412185a5f09199deaff7157a8d_cgraph.md5 deleted file mode 100644 index 8a9e76d39..000000000 --- a/d2/de9/heavy__light__decomposition_8cpp_a458410412185a5f09199deaff7157a8d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -8ecad942a5bceec4383a81337820d2ec \ No newline at end of file diff --git a/d2/de9/heavy__light__decomposition_8cpp_a458410412185a5f09199deaff7157a8d_cgraph.svg b/d2/de9/heavy__light__decomposition_8cpp_a458410412185a5f09199deaff7157a8d_cgraph.svg deleted file mode 100644 index d4be2b5ae..000000000 --- a/d2/de9/heavy__light__decomposition_8cpp_a458410412185a5f09199deaff7157a8d_cgraph.svg +++ /dev/null @@ -1,550 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -test_2 - - -Node1 - - -test_2 - - - - - -Node2 - - -range_queries::heavy -_light_decomposition -::Tree::add_edge - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::vector::push_back - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -range_queries::heavy -_light_decomposition -::HLD::init - - - - - -Node1->Node4 - - - - - - - - -Node12 - - -range_queries::heavy -_light_decomposition -::HLD::query - - - - - -Node1->Node12 - - - - - - - - -Node17 - - -range_queries::heavy -_light_decomposition -::Tree::set_node_val - - - - - -Node1->Node17 - - - - - - - - -Node18 - - -std::vector::size - - - - - -Node1->Node18 - - - - - - - - -Node19 - - -range_queries::heavy -_light_decomposition -::HLD::update - - - - - -Node1->Node19 - - - - - - - - -Node2->Node3 - - - - - - - - -Node5 - - -range_queries::heavy -_light_decomposition -::SG::combine - - - - - -Node4->Node5 - - - - - - - - -Node6 - - -range_queries::heavy -_light_decomposition -::HLD::dfs_hc - - - - - -Node4->Node6 - - - - - - - - -Node7 - - -range_queries::heavy -_light_decomposition -::HLD::dfs_labels - - - - - -Node4->Node7 - - - - - - - - -Node8 - - -range_queries::heavy -_light_decomposition -::HLD::dfs_par - - - - - -Node4->Node8 - - - - - - - - -Node9 - - -range_queries::heavy -_light_decomposition -::Tree::init - - - - - -Node4->Node9 - - - - - - - - -Node6->Node6 - - - - - - - - -Node7->Node7 - - - - - - - - -Node8->Node8 - - - - - - - - -Node10 - - -range_queries::heavy -_light_decomposition -::Tree::dfs_lca - - - - - -Node9->Node10 - - - - - - - - -Node11 - - -range_queries::heavy -_light_decomposition -::Tree::dfs_size - - - - - -Node9->Node11 - - - - - - - - -Node10->Node10 - - - - - - - - -Node11->Node11 - - - - - - - - -Node13 - - -range_queries::heavy -_light_decomposition -::HLD::chain_query - - - - - -Node12->Node13 - - - - - - - - -Node15 - - -range_queries::heavy -_light_decomposition -::Tree::lca - - - - - -Node12->Node15 - - - - - - - - -Node13->Node5 - - - - - - - - -Node14 - - -std::swap - - - - - -Node13->Node14 - - - - - - - - -Node16 - - -range_queries::heavy -_light_decomposition -::Tree::lift - - - - - -Node15->Node16 - - - - - - - - -Node17->Node18 - - - - - - - - -Node20 - - -range_queries::heavy -_light_decomposition -::SG::update - - - - - -Node19->Node20 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d2/de9/heavy__light__decomposition_8cpp_a458410412185a5f09199deaff7157a8d_cgraph_org.svg b/d2/de9/heavy__light__decomposition_8cpp_a458410412185a5f09199deaff7157a8d_cgraph_org.svg deleted file mode 100644 index ce2c6eac2..000000000 --- a/d2/de9/heavy__light__decomposition_8cpp_a458410412185a5f09199deaff7157a8d_cgraph_org.svg +++ /dev/null @@ -1,467 +0,0 @@ - - - - - - -test_2 - - -Node1 - - -test_2 - - - - - -Node2 - - -range_queries::heavy -_light_decomposition -::Tree::add_edge - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::vector::push_back - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -range_queries::heavy -_light_decomposition -::HLD::init - - - - - -Node1->Node4 - - - - - - - - -Node12 - - -range_queries::heavy -_light_decomposition -::HLD::query - - - - - -Node1->Node12 - - - - - - - - -Node17 - - -range_queries::heavy -_light_decomposition -::Tree::set_node_val - - - - - -Node1->Node17 - - - - - - - - -Node18 - - -std::vector::size - - - - - -Node1->Node18 - - - - - - - - -Node19 - - -range_queries::heavy -_light_decomposition -::HLD::update - - - - - -Node1->Node19 - - - - - - - - -Node2->Node3 - - - - - - - - -Node5 - - -range_queries::heavy -_light_decomposition -::SG::combine - - - - - -Node4->Node5 - - - - - - - - -Node6 - - -range_queries::heavy -_light_decomposition -::HLD::dfs_hc - - - - - -Node4->Node6 - - - - - - - - -Node7 - - -range_queries::heavy -_light_decomposition -::HLD::dfs_labels - - - - - -Node4->Node7 - - - - - - - - -Node8 - - -range_queries::heavy -_light_decomposition -::HLD::dfs_par - - - - - -Node4->Node8 - - - - - - - - -Node9 - - -range_queries::heavy -_light_decomposition -::Tree::init - - - - - -Node4->Node9 - - - - - - - - -Node6->Node6 - - - - - - - - -Node7->Node7 - - - - - - - - -Node8->Node8 - - - - - - - - -Node10 - - -range_queries::heavy -_light_decomposition -::Tree::dfs_lca - - - - - -Node9->Node10 - - - - - - - - -Node11 - - -range_queries::heavy -_light_decomposition -::Tree::dfs_size - - - - - -Node9->Node11 - - - - - - - - -Node10->Node10 - - - - - - - - -Node11->Node11 - - - - - - - - -Node13 - - -range_queries::heavy -_light_decomposition -::HLD::chain_query - - - - - -Node12->Node13 - - - - - - - - -Node15 - - -range_queries::heavy -_light_decomposition -::Tree::lca - - - - - -Node12->Node15 - - - - - - - - -Node13->Node5 - - - - - - - - -Node14 - - -std::swap - - - - - -Node13->Node14 - - - - - - - - -Node16 - - -range_queries::heavy -_light_decomposition -::Tree::lift - - - - - -Node15->Node16 - - - - - - - - -Node17->Node18 - - - - - - - - -Node20 - - -range_queries::heavy -_light_decomposition -::SG::update - - - - - -Node19->Node20 - - - - - - - - diff --git a/d2/de9/heavy__light__decomposition_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d2/de9/heavy__light__decomposition_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 376cc5d81..000000000 --- a/d2/de9/heavy__light__decomposition_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,69 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d2/de9/heavy__light__decomposition_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d2/de9/heavy__light__decomposition_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index 4d322f245..000000000 --- a/d2/de9/heavy__light__decomposition_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -1300f7307fde54a8eb10429e332996d5 \ No newline at end of file diff --git a/d2/de9/heavy__light__decomposition_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d2/de9/heavy__light__decomposition_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 8e91da693..000000000 --- a/d2/de9/heavy__light__decomposition_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,730 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test_1 - - - - - -Node1->Node2 - - - - - - - - -Node22 - - -test_2 - - - - - -Node1->Node22 - - - - - - - - -Node23 - - -test_3 - - - - - -Node1->Node23 - - - - - - - - -Node3 - - -range_queries::heavy -_light_decomposition -::Tree::add_edge - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::vector::push_back - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -range_queries::heavy -_light_decomposition -::HLD::init - - - - - -Node2->Node5 - - - - - - - - -Node13 - - -range_queries::heavy -_light_decomposition -::HLD::query - - - - - -Node2->Node13 - - - - - - - - -Node18 - - -range_queries::heavy -_light_decomposition -::Tree::set_node_val - - - - - -Node2->Node18 - - - - - - - - -Node19 - - -std::vector::size - - - - - -Node2->Node19 - - - - - - - - -Node20 - - -range_queries::heavy -_light_decomposition -::HLD::update - - - - - -Node2->Node20 - - - - - - - - -Node3->Node4 - - - - - - - - -Node6 - - -range_queries::heavy -_light_decomposition -::SG::combine - - - - - -Node5->Node6 - - - - - - - - -Node7 - - -range_queries::heavy -_light_decomposition -::HLD::dfs_hc - - - - - -Node5->Node7 - - - - - - - - -Node8 - - -range_queries::heavy -_light_decomposition -::HLD::dfs_labels - - - - - -Node5->Node8 - - - - - - - - -Node9 - - -range_queries::heavy -_light_decomposition -::HLD::dfs_par - - - - - -Node5->Node9 - - - - - - - - -Node10 - - -range_queries::heavy -_light_decomposition -::Tree::init - - - - - -Node5->Node10 - - - - - - - - -Node7->Node7 - - - - - - - - -Node8->Node8 - - - - - - - - -Node9->Node9 - - - - - - - - -Node11 - - -range_queries::heavy -_light_decomposition -::Tree::dfs_lca - - - - - -Node10->Node11 - - - - - - - - -Node12 - - -range_queries::heavy -_light_decomposition -::Tree::dfs_size - - - - - -Node10->Node12 - - - - - - - - -Node11->Node11 - - - - - - - - -Node12->Node12 - - - - - - - - -Node14 - - -range_queries::heavy -_light_decomposition -::HLD::chain_query - - - - - -Node13->Node14 - - - - - - - - -Node16 - - -range_queries::heavy -_light_decomposition -::Tree::lca - - - - - -Node13->Node16 - - - - - - - - -Node14->Node6 - - - - - - - - -Node15 - - -std::swap - - - - - -Node14->Node15 - - - - - - - - -Node17 - - -range_queries::heavy -_light_decomposition -::Tree::lift - - - - - -Node16->Node17 - - - - - - - - -Node18->Node19 - - - - - - - - -Node21 - - -range_queries::heavy -_light_decomposition -::SG::update - - - - - -Node20->Node21 - - - - - - - - -Node22->Node3 - - - - - - - - -Node22->Node4 - - - - - - - - -Node22->Node5 - - - - - - - - -Node22->Node13 - - - - - - - - -Node22->Node18 - - - - - - - - -Node22->Node19 - - - - - - - - -Node22->Node20 - - - - - - - - -Node23->Node3 - - - - - - - - -Node23->Node4 - - - - - - - - -Node23->Node5 - - - - - - - - -Node23->Node13 - - - - - - - - -Node23->Node18 - - - - - - - - -Node23->Node19 - - - - - - - - -Node23->Node20 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d2/de9/heavy__light__decomposition_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d2/de9/heavy__light__decomposition_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 00da69fe3..000000000 --- a/d2/de9/heavy__light__decomposition_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,647 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test_1 - - - - - -Node1->Node2 - - - - - - - - -Node22 - - -test_2 - - - - - -Node1->Node22 - - - - - - - - -Node23 - - -test_3 - - - - - -Node1->Node23 - - - - - - - - -Node3 - - -range_queries::heavy -_light_decomposition -::Tree::add_edge - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::vector::push_back - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -range_queries::heavy -_light_decomposition -::HLD::init - - - - - -Node2->Node5 - - - - - - - - -Node13 - - -range_queries::heavy -_light_decomposition -::HLD::query - - - - - -Node2->Node13 - - - - - - - - -Node18 - - -range_queries::heavy -_light_decomposition -::Tree::set_node_val - - - - - -Node2->Node18 - - - - - - - - -Node19 - - -std::vector::size - - - - - -Node2->Node19 - - - - - - - - -Node20 - - -range_queries::heavy -_light_decomposition -::HLD::update - - - - - -Node2->Node20 - - - - - - - - -Node3->Node4 - - - - - - - - -Node6 - - -range_queries::heavy -_light_decomposition -::SG::combine - - - - - -Node5->Node6 - - - - - - - - -Node7 - - -range_queries::heavy -_light_decomposition -::HLD::dfs_hc - - - - - -Node5->Node7 - - - - - - - - -Node8 - - -range_queries::heavy -_light_decomposition -::HLD::dfs_labels - - - - - -Node5->Node8 - - - - - - - - -Node9 - - -range_queries::heavy -_light_decomposition -::HLD::dfs_par - - - - - -Node5->Node9 - - - - - - - - -Node10 - - -range_queries::heavy -_light_decomposition -::Tree::init - - - - - -Node5->Node10 - - - - - - - - -Node7->Node7 - - - - - - - - -Node8->Node8 - - - - - - - - -Node9->Node9 - - - - - - - - -Node11 - - -range_queries::heavy -_light_decomposition -::Tree::dfs_lca - - - - - -Node10->Node11 - - - - - - - - -Node12 - - -range_queries::heavy -_light_decomposition -::Tree::dfs_size - - - - - -Node10->Node12 - - - - - - - - -Node11->Node11 - - - - - - - - -Node12->Node12 - - - - - - - - -Node14 - - -range_queries::heavy -_light_decomposition -::HLD::chain_query - - - - - -Node13->Node14 - - - - - - - - -Node16 - - -range_queries::heavy -_light_decomposition -::Tree::lca - - - - - -Node13->Node16 - - - - - - - - -Node14->Node6 - - - - - - - - -Node15 - - -std::swap - - - - - -Node14->Node15 - - - - - - - - -Node17 - - -range_queries::heavy -_light_decomposition -::Tree::lift - - - - - -Node16->Node17 - - - - - - - - -Node18->Node19 - - - - - - - - -Node21 - - -range_queries::heavy -_light_decomposition -::SG::update - - - - - -Node20->Node21 - - - - - - - - -Node22->Node3 - - - - - - - - -Node22->Node4 - - - - - - - - -Node22->Node5 - - - - - - - - -Node22->Node13 - - - - - - - - -Node22->Node18 - - - - - - - - -Node22->Node19 - - - - - - - - -Node22->Node20 - - - - - - - - -Node23->Node3 - - - - - - - - -Node23->Node4 - - - - - - - - -Node23->Node5 - - - - - - - - -Node23->Node13 - - - - - - - - -Node23->Node18 - - - - - - - - -Node23->Node19 - - - - - - - - -Node23->Node20 - - - - - - - - diff --git a/d2/de9/heavy__light__decomposition_8cpp_af31ec5409537703d9c8a47350386b32a_cgraph.map b/d2/de9/heavy__light__decomposition_8cpp_af31ec5409537703d9c8a47350386b32a_cgraph.map deleted file mode 100644 index 97b09654f..000000000 --- a/d2/de9/heavy__light__decomposition_8cpp_af31ec5409537703d9c8a47350386b32a_cgraph.map +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d2/de9/heavy__light__decomposition_8cpp_af31ec5409537703d9c8a47350386b32a_cgraph.md5 b/d2/de9/heavy__light__decomposition_8cpp_af31ec5409537703d9c8a47350386b32a_cgraph.md5 deleted file mode 100644 index a283dd8c0..000000000 --- a/d2/de9/heavy__light__decomposition_8cpp_af31ec5409537703d9c8a47350386b32a_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -f87e25e26305ef0fab62e38a09d1b449 \ No newline at end of file diff --git a/d2/de9/heavy__light__decomposition_8cpp_af31ec5409537703d9c8a47350386b32a_cgraph.svg b/d2/de9/heavy__light__decomposition_8cpp_af31ec5409537703d9c8a47350386b32a_cgraph.svg deleted file mode 100644 index 9c02fb37b..000000000 --- a/d2/de9/heavy__light__decomposition_8cpp_af31ec5409537703d9c8a47350386b32a_cgraph.svg +++ /dev/null @@ -1,550 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -test_3 - - -Node1 - - -test_3 - - - - - -Node2 - - -range_queries::heavy -_light_decomposition -::Tree::add_edge - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::vector::push_back - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -range_queries::heavy -_light_decomposition -::HLD::init - - - - - -Node1->Node4 - - - - - - - - -Node12 - - -range_queries::heavy -_light_decomposition -::HLD::query - - - - - -Node1->Node12 - - - - - - - - -Node17 - - -range_queries::heavy -_light_decomposition -::Tree::set_node_val - - - - - -Node1->Node17 - - - - - - - - -Node18 - - -std::vector::size - - - - - -Node1->Node18 - - - - - - - - -Node19 - - -range_queries::heavy -_light_decomposition -::HLD::update - - - - - -Node1->Node19 - - - - - - - - -Node2->Node3 - - - - - - - - -Node5 - - -range_queries::heavy -_light_decomposition -::SG::combine - - - - - -Node4->Node5 - - - - - - - - -Node6 - - -range_queries::heavy -_light_decomposition -::HLD::dfs_hc - - - - - -Node4->Node6 - - - - - - - - -Node7 - - -range_queries::heavy -_light_decomposition -::HLD::dfs_labels - - - - - -Node4->Node7 - - - - - - - - -Node8 - - -range_queries::heavy -_light_decomposition -::HLD::dfs_par - - - - - -Node4->Node8 - - - - - - - - -Node9 - - -range_queries::heavy -_light_decomposition -::Tree::init - - - - - -Node4->Node9 - - - - - - - - -Node6->Node6 - - - - - - - - -Node7->Node7 - - - - - - - - -Node8->Node8 - - - - - - - - -Node10 - - -range_queries::heavy -_light_decomposition -::Tree::dfs_lca - - - - - -Node9->Node10 - - - - - - - - -Node11 - - -range_queries::heavy -_light_decomposition -::Tree::dfs_size - - - - - -Node9->Node11 - - - - - - - - -Node10->Node10 - - - - - - - - -Node11->Node11 - - - - - - - - -Node13 - - -range_queries::heavy -_light_decomposition -::HLD::chain_query - - - - - -Node12->Node13 - - - - - - - - -Node15 - - -range_queries::heavy -_light_decomposition -::Tree::lca - - - - - -Node12->Node15 - - - - - - - - -Node13->Node5 - - - - - - - - -Node14 - - -std::swap - - - - - -Node13->Node14 - - - - - - - - -Node16 - - -range_queries::heavy -_light_decomposition -::Tree::lift - - - - - -Node15->Node16 - - - - - - - - -Node17->Node18 - - - - - - - - -Node20 - - -range_queries::heavy -_light_decomposition -::SG::update - - - - - -Node19->Node20 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d2/de9/heavy__light__decomposition_8cpp_af31ec5409537703d9c8a47350386b32a_cgraph_org.svg b/d2/de9/heavy__light__decomposition_8cpp_af31ec5409537703d9c8a47350386b32a_cgraph_org.svg deleted file mode 100644 index a66c27dd3..000000000 --- a/d2/de9/heavy__light__decomposition_8cpp_af31ec5409537703d9c8a47350386b32a_cgraph_org.svg +++ /dev/null @@ -1,467 +0,0 @@ - - - - - - -test_3 - - -Node1 - - -test_3 - - - - - -Node2 - - -range_queries::heavy -_light_decomposition -::Tree::add_edge - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::vector::push_back - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -range_queries::heavy -_light_decomposition -::HLD::init - - - - - -Node1->Node4 - - - - - - - - -Node12 - - -range_queries::heavy -_light_decomposition -::HLD::query - - - - - -Node1->Node12 - - - - - - - - -Node17 - - -range_queries::heavy -_light_decomposition -::Tree::set_node_val - - - - - -Node1->Node17 - - - - - - - - -Node18 - - -std::vector::size - - - - - -Node1->Node18 - - - - - - - - -Node19 - - -range_queries::heavy -_light_decomposition -::HLD::update - - - - - -Node1->Node19 - - - - - - - - -Node2->Node3 - - - - - - - - -Node5 - - -range_queries::heavy -_light_decomposition -::SG::combine - - - - - -Node4->Node5 - - - - - - - - -Node6 - - -range_queries::heavy -_light_decomposition -::HLD::dfs_hc - - - - - -Node4->Node6 - - - - - - - - -Node7 - - -range_queries::heavy -_light_decomposition -::HLD::dfs_labels - - - - - -Node4->Node7 - - - - - - - - -Node8 - - -range_queries::heavy -_light_decomposition -::HLD::dfs_par - - - - - -Node4->Node8 - - - - - - - - -Node9 - - -range_queries::heavy -_light_decomposition -::Tree::init - - - - - -Node4->Node9 - - - - - - - - -Node6->Node6 - - - - - - - - -Node7->Node7 - - - - - - - - -Node8->Node8 - - - - - - - - -Node10 - - -range_queries::heavy -_light_decomposition -::Tree::dfs_lca - - - - - -Node9->Node10 - - - - - - - - -Node11 - - -range_queries::heavy -_light_decomposition -::Tree::dfs_size - - - - - -Node9->Node11 - - - - - - - - -Node10->Node10 - - - - - - - - -Node11->Node11 - - - - - - - - -Node13 - - -range_queries::heavy -_light_decomposition -::HLD::chain_query - - - - - -Node12->Node13 - - - - - - - - -Node15 - - -range_queries::heavy -_light_decomposition -::Tree::lca - - - - - -Node12->Node15 - - - - - - - - -Node13->Node5 - - - - - - - - -Node14 - - -std::swap - - - - - -Node13->Node14 - - - - - - - - -Node16 - - -range_queries::heavy -_light_decomposition -::Tree::lift - - - - - -Node15->Node16 - - - - - - - - -Node17->Node18 - - - - - - - - -Node20 - - -range_queries::heavy -_light_decomposition -::SG::update - - - - - -Node19->Node20 - - - - - - - - diff --git a/d2/de9/heavy__light__decomposition_8cpp_source.html b/d2/de9/heavy__light__decomposition_8cpp_source.html new file mode 100644 index 000000000..6010c0571 --- /dev/null +++ b/d2/de9/heavy__light__decomposition_8cpp_source.html @@ -0,0 +1,634 @@ + + + + + + + + +TheAlgorithms/C++: range_queries/heavy_light_decomposition.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    heavy_light_decomposition.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    44#include <algorithm>
    +
    45#include <cassert>
    +
    46#include <cmath>
    +
    47#include <cstring>
    +
    48#include <iostream>
    +
    49#include <list>
    +
    50#include <numeric>
    +
    51#include <string>
    +
    52#include <vector>
    +
    53
    +
    58namespace range_queries {
    + +
    +
    78template <typename X> class Tree {
    +
    79 //
    +
    80
    +
    81private:
    +
    82 std::vector<std::list<int>>
    + +
    84 const int t_nodes,
    + +
    86 std::vector<std::vector<int>>
    + +
    88 std::vector<int> t_depth,
    + +
    90
    +
    91 int t_root;
    +
    92 std::vector<X> t_val;
    +
    93 template <typename T> friend class HLD;
    +
    94
    +
    +
    101 void dfs_size(int u, int p = -1) {
    +
    102 for (const int &v : t_adj[u]) {
    +
    103 if (v ^ p) {
    +
    104 dfs_size(v, u);
    +
    105 t_size[u] += t_size[v];
    +
    106 }
    +
    107 }
    +
    108 }
    +
    +
    109
    +
    +
    116 void dfs_lca(int u, int p = -1) {
    +
    117 t_par[u][0] = p;
    +
    118 if (p != -1) {
    +
    119 t_depth[u] = 1 + t_depth[p];
    +
    120 }
    +
    121 for (int k = 1; k < t_maxlift; k++) {
    +
    122 if (t_par[u][k - 1] != -1) {
    +
    123 t_par[u][k] = t_par[t_par[u][k - 1]][k - 1];
    +
    124 }
    +
    125 }
    +
    126
    +
    127 for (const int &v : t_adj[u]) {
    +
    128 if (v ^ p) {
    +
    129 dfs_lca(v, u);
    +
    130 }
    +
    131 }
    +
    132 }
    +
    +
    133
    +
    134public:
    +
    +
    140 explicit Tree(int nodes)
    +
    141 : t_nodes(nodes), t_maxlift(static_cast<int>(floor(log2(nodes))) + 1) {
    +
    142 /* Initialize and resize all the vectors */
    +
    143 t_root = 0; /* Default */
    +
    144 t_adj.resize(t_nodes);
    +
    145 t_par.assign(t_nodes, std::vector<int>(t_maxlift, -1));
    +
    146 t_depth.assign(t_nodes, 0);
    +
    147 t_size.assign(t_nodes, 1);
    +
    148 t_val.resize(t_nodes);
    +
    149 }
    +
    +
    150
    +
    +
    157 void add_edge(const int u, const int v) {
    +
    158 t_adj[u].push_back(v);
    +
    159 t_adj[v].push_back(u);
    +
    160 }
    +
    +
    161
    +
    167 void change_root(int new_root) { t_root = new_root; }
    +
    168
    +
    +
    175 void set_node_val(const std::vector<X> &node_val) {
    +
    176 assert(static_cast<int>(node_val.size()) == t_nodes);
    +
    177 t_val = node_val;
    +
    178 }
    +
    +
    179
    +
    +
    186 void init() {
    +
    187 assert(t_nodes > 0);
    + + +
    190 }
    +
    +
    191
    +
    +
    200 void lift(int *const p, int dist) {
    +
    201 for (int k = 0; k < t_maxlift; k++) {
    +
    202 if (*p == -1) {
    +
    203 return;
    +
    204 }
    +
    205 if (dist & 1) {
    +
    206 *p = t_par[*p][k];
    +
    207 }
    +
    208 dist >>= 1;
    +
    209 }
    +
    210 }
    +
    +
    211
    +
    +
    218 int kth_ancestor(int p, const int &dist) {
    +
    219 lift(&p, dist);
    +
    220 return p;
    +
    221 }
    +
    +
    222
    +
    +
    229 int lca(int a, int b) {
    +
    230 assert(a >= 0 and b >= 0 and a < t_nodes and b < t_nodes);
    +
    231 if (t_depth[a] > t_depth[b]) {
    +
    232 lift(&a, t_depth[a] - t_depth[b]);
    +
    233 }
    +
    234 if (t_depth[b] > t_depth[a]) {
    +
    235 lift(&b, t_depth[b] - t_depth[a]);
    +
    236 }
    +
    237 if (a == b) {
    +
    238 return a;
    +
    239 }
    +
    240 for (int k = t_maxlift - 1; k >= 0; k--) {
    +
    241 if (t_par[a][k] != t_par[b][k]) {
    +
    242 a = t_par[a][k];
    +
    243 b = t_par[b][k];
    +
    244 }
    +
    245 }
    +
    246 return t_par[a][0];
    +
    247 }
    +
    +
    248};
    +
    +
    249
    +
    +
    254template <typename X> class SG {
    +
    255private:
    +
    262 std::vector<X> s_tree;
    +
    263 int s_size;
    +
    264 X sret_init = 0;
    +
    265 template <typename T> friend class HLD;
    +
    266
    +
    274 X combine(X lhs, X rhs) { return lhs + rhs; }
    +
    275
    +
    +
    282 explicit SG(int size) {
    +
    283 s_size = size;
    +
    284 s_tree.assign(2 * s_size, 0ll);
    +
    285 }
    +
    +
    286
    +
    +
    293 void update(int p, X v) {
    +
    294 for (p += s_size; p > 0; p >>= 1) {
    +
    295 s_tree[p] += v;
    +
    296 }
    +
    297 }
    +
    +
    298
    +
    +
    305 X query(int l, int r) {
    +
    306 X lhs = sret_init, rhs = sret_init;
    +
    307 for (l += s_size, r += s_size + 1; l < r; l >>= 1, r >>= 1) {
    +
    308 if (l & 1) {
    +
    309 lhs = combine(lhs, s_tree[l++]);
    +
    310 }
    +
    311 if (r & 1) {
    +
    312 rhs = combine(s_tree[--r], rhs);
    +
    313 }
    +
    314 }
    +
    315 return combine(lhs, rhs);
    +
    316 }
    +
    +
    317
    +
    329 void set_sret_init(X new_sret_init) { sret_init = new_sret_init; }
    +
    330};
    +
    +
    331
    +
    +
    336template <typename X> class HLD : public Tree<X>, public SG<X> {
    +
    337private:
    +
    338 int label;
    +
    339 std::vector<int> h_label,
    + + +
    342
    +
    +
    350 void dfs_hc(int u, int p = -1) {
    +
    351 int hc_size = -1, hc_id = -1;
    +
    352 for (const int &v : Tree<X>::t_adj[u]) {
    +
    353 if (v ^ p) {
    +
    354 dfs_hc(v, u);
    +
    355 if (Tree<X>::t_size[v] > hc_size) {
    +
    356 hc_size = Tree<X>::t_size[v];
    +
    357 hc_id = v;
    +
    358 }
    +
    359 }
    +
    360 }
    +
    361 h_heavychlid[u] = hc_id;
    +
    362 }
    +
    +
    363
    +
    +
    371 void dfs_par(int u, int p = -1) {
    +
    372 if (h_heavychlid[u] != -1) {
    + +
    374 dfs_par(h_heavychlid[u], u);
    +
    375 }
    +
    376 for (const int &v : Tree<X>::t_adj[u]) {
    +
    377 if (v ^ p and v ^ h_heavychlid[u]) {
    +
    378 dfs_par(v, u);
    +
    379 }
    +
    380 }
    +
    381 }
    +
    +
    382
    +
    +
    390 void dfs_labels(int u, int p = -1) {
    +
    391 h_label[u] = label++;
    +
    392 if (h_heavychlid[u] != -1) {
    + +
    394 }
    +
    395 for (const int &v : Tree<X>::t_adj[u]) {
    +
    396 if (v ^ p and v ^ h_heavychlid[u]) {
    +
    397 dfs_labels(v, u);
    +
    398 }
    +
    399 }
    +
    400 }
    +
    +
    401
    +
    +
    409 X chain_query(int a, int b) {
    +
    410 X ret = SG<X>::sret_init;
    + +
    412 std::swap(a, b);
    +
    413 }
    +
    414 while (Tree<X>::t_depth[a] >= Tree<X>::t_depth[b]) {
    +
    415 int l = h_label[h_parent[a]];
    +
    416 int r = h_label[a];
    + + +
    419 }
    +
    420 ret = SG<X>::combine(ret, SG<X>::query(l, r));
    +
    421 a = Tree<X>::t_par[h_parent[a]][0];
    +
    422 if (a == -1) {
    +
    423 break;
    +
    424 }
    +
    425 }
    +
    426 return ret;
    +
    427 }
    +
    +
    428
    +
    429public:
    +
    435 explicit HLD<X>(int nodes) : Tree<X>(nodes), SG<X>(nodes) {
    +
    436 /* Initialization and resize vectors */
    +
    437 label = 0;
    +
    438 h_label.assign(Tree<X>::t_nodes, -1);
    +
    439 h_heavychlid.assign(Tree<X>::t_nodes, -1);
    + +
    441 iota(h_parent.begin(), h_parent.end(), 0);
    +
    442 }
    +
    443
    +
    +
    450 void init() {
    + +
    452
    +
    453 // Fill the heavy child, greatest parent, and labels
    +
    454 label = 0;
    + + + +
    458
    +
    459 // Segment Tree Initialization
    +
    460 for (int i = 0; i < Tree<X>::t_nodes; i++) {
    + +
    462 }
    +
    463 for (int i = Tree<X>::t_nodes - 1; i > 0; i--) {
    +
    464 SG<X>::s_tree[i] =
    +
    465 SG<X>::combine(SG<X>::s_tree[i << 1], SG<X>::s_tree[i << 1 | 1]);
    +
    466 }
    +
    467 }
    +
    +
    468
    +
    +
    475 void update(int node, X val) {
    +
    476 X diff = val - Tree<X>::t_val[node];
    +
    477 SG<X>::update(h_label[node], diff);
    +
    478 Tree<X>::t_val[node] = val;
    +
    479 }
    +
    +
    480
    +
    +
    489 X query(int a, int b) {
    +
    490 int lc = Tree<X>::lca(a, b);
    +
    491 X ret = SG<X>::sret_init;
    +
    492 assert(lc != -1);
    +
    493 ret += chain_query(a, lc);
    +
    494 ret += chain_query(b, lc);
    +
    495 return ret - Tree<X>::t_val[lc];
    +
    496 }
    +
    +
    497};
    +
    +
    498} // namespace heavy_light_decomposition
    +
    499} // namespace range_queries
    +
    500
    +
    +
    505static void test_1() {
    +
    506 std::cout << "Test 1:\n";
    +
    507
    +
    508 // Test details
    +
    509 int n = 5;
    +
    510 std::vector<int64_t> node_values = {4, 2, 5, 2, 1};
    +
    511 std::vector<std::vector<int>> edges = {{1, 2}, {1, 3}, {3, 4}, {3, 5}};
    +
    512 std::vector<std::vector<int>> queries = {
    +
    513 {2, 1, 4},
    +
    514 {1, 3, 2},
    +
    515 {2, 1, 4},
    +
    516 };
    +
    517 std::vector<int> expected_result = {11, 8};
    +
    518 std::vector<int> code_result;
    +
    519
    + +
    521 hld.set_node_val(node_values);
    +
    522 for (int i = 0; i < n - 1; i++) {
    +
    523 int u = edges[i][0], v = edges[i][1];
    +
    524 hld.add_edge(u - 1, v - 1);
    +
    525 }
    +
    526 hld.init();
    +
    527 for (const auto &q : queries) {
    +
    528 int type = q[0];
    +
    529 if (type == 1) {
    +
    530 int p = q[1], x = q[2];
    +
    531 hld.update(p - 1, x);
    +
    532 } else if (type == 2) {
    +
    533 int a = q[1], b = q[2];
    +
    534 code_result.push_back(hld.query(a - 1, b - 1));
    +
    535 } else {
    +
    536 continue;
    +
    537 }
    +
    538 }
    +
    539 for (int i = 0; i < static_cast<int>(expected_result.size()); i++) {
    +
    540 assert(expected_result[i] == code_result[i]);
    +
    541 }
    +
    542 std::cout << "\nTest 1 passed!\n";
    +
    543}
    +
    +
    544
    +
    +
    549static void test_2() {
    +
    550 std::cout << "Test 2:\n";
    +
    551
    +
    552 // Test details (Bamboo)
    +
    553 int n = 10;
    +
    554 std::vector<int64_t> node_values = {1, 8, 6, 8, 6, 2, 9, 2, 3, 2};
    +
    555 std::vector<std::vector<int>> edges = {
    +
    556 {10, 5}, {6, 2}, {10, 7}, {5, 2}, {3, 9}, {8, 3}, {1, 4}, {6, 4}, {8, 7}};
    +
    557 std::vector<std::vector<int>> queries = {
    +
    558 {2, 1, 10}, {2, 1, 6}, {1, 3, 4}, {2, 1, 9}, {1, 5, 3},
    +
    559 {1, 7, 8}, {2, 1, 4}, {2, 1, 8}, {1, 1, 4}, {1, 2, 7}};
    +
    560 std::vector<int> expected_result = {27, 11, 45, 9, 34};
    +
    561 std::vector<int> code_result;
    +
    562
    + +
    564 hld.set_node_val(node_values);
    +
    565 for (int i = 0; i < n - 1; i++) {
    +
    566 int u = edges[i][0], v = edges[i][1];
    +
    567 hld.add_edge(u - 1, v - 1);
    +
    568 }
    +
    569 hld.init();
    +
    570 for (const auto &q : queries) {
    +
    571 int type = q[0];
    +
    572 if (type == 1) {
    +
    573 int p = q[1], x = q[2];
    +
    574 hld.update(p - 1, x);
    +
    575 } else if (type == 2) {
    +
    576 int a = q[1], b = q[2];
    +
    577 code_result.push_back(hld.query(a - 1, b - 1));
    +
    578 } else {
    +
    579 continue;
    +
    580 }
    +
    581 }
    +
    582 for (int i = 0; i < static_cast<int>(expected_result.size()); i++) {
    +
    583 assert(expected_result[i] == code_result[i]);
    +
    584 }
    +
    585 std::cout << "\nTest2 passed!\n";
    +
    586}
    +
    +
    587
    +
    +
    592static void test_3() {
    +
    593 std::cout << "Test 3:\n";
    +
    594
    +
    595 // Test details
    +
    596 int n = 8;
    +
    597 std::vector<int64_t> node_values = {1, 8, 6, 8, 6, 2, 9, 2};
    +
    598 std::vector<std::vector<int>> edges = {{1, 2}, {2, 3}, {3, 4}, {1, 5},
    +
    599 {6, 3}, {7, 5}, {8, 7}};
    +
    600 std::vector<std::vector<int>> queries = {
    +
    601 {2, 6, 8}, {2, 3, 6}, {1, 3, 4}, {2, 7, 1}, {1, 5, 3},
    +
    602 {1, 7, 8}, {2, 6, 4}, {2, 7, 8}, {1, 1, 4}, {1, 2, 7}};
    +
    603 std::vector<int> expected_result = {34, 8, 16, 14, 10};
    +
    604 std::vector<int> code_result;
    +
    605
    + +
    607 hld.set_node_val(node_values);
    +
    608 for (int i = 0; i < n - 1; i++) {
    +
    609 int u = edges[i][0], v = edges[i][1];
    +
    610 hld.add_edge(u - 1, v - 1);
    +
    611 }
    +
    612 hld.init();
    +
    613 for (const auto &q : queries) {
    +
    614 int type = q[0];
    +
    615 if (type == 1) {
    +
    616 int p = q[1], x = q[2];
    +
    617 hld.update(p - 1, x);
    +
    618 } else if (type == 2) {
    +
    619 int a = q[1], b = q[2];
    +
    620 code_result.push_back(hld.query(a - 1, b - 1));
    +
    621 } else {
    +
    622 continue;
    +
    623 }
    +
    624 }
    +
    625 for (int i = 0; i < static_cast<int>(expected_result.size()); i++) {
    +
    626 assert(expected_result[i] == code_result[i]);
    +
    627 }
    +
    628 std::cout << "\nTest3 passed!\n";
    +
    629}
    +
    +
    630
    +
    +
    634int main() {
    +
    635 test_1();
    +
    636 test_2();
    +
    637 test_3();
    +
    638 return 0;
    +
    639}
    +
    +
    struct node { int data; int height; struct node *left; struct node *right;} node
    for std::queue
    Definition avltree.cpp:13
    + +
    void dfs_labels(int u, int p=-1)
    Utility function to lable the nodes so that heavy chains have a contigous lable.
    +
    std::vector< int > h_parent
    stores the top of the heavy chain from a node
    +
    void dfs_par(int u, int p=-1)
    Utility function to assign highest parent that can be reached though heavy chains.
    +
    X query(int a, int b)
    This function returns the sum of node values in the simple path from from node_1 to node_2.
    +
    int label
    utility member to assign labels in dfs_labels()
    +
    X chain_query(int a, int b)
    Utility function to break down a path query into two chain queries.
    +
    std::vector< int > h_heavychlid
    stores the heavy child of a node
    +
    void update(int node, X val)
    This function updates the value at node with val.
    +
    std::vector< int > h_label
    stores the label of a node
    +
    void init()
    This function must be called after the tree adjacency list and node values are populated The function...
    +
    void dfs_hc(int u, int p=-1)
    Utility function to assign heavy child to each node (-1 for a leaf node)
    + +
    X query(int l, int r)
    Make a range query from node label l to node label r.
    +
    void update(int p, X v)
    Update the value at a node.
    +
    X combine(X lhs, X rhs)
    Function that specifies the type of operation involved when segments are combined.
    + +
    int s_size
    number of leaves in the segment tree
    +
    void set_sret_init(X new_sret_init)
    Set the initialization for the query data type, based on requirement.
    +
    SG(int size)
    Class parameterized constructor. Resizes the and initilizes the data members.
    +
    std::vector< X > s_tree
    Everything here is private, and can only be accessed through the methods, in the derived class (HLD)
    +
    A Basic Tree, which supports binary lifting.
    +
    void set_node_val(const std::vector< X > &node_val)
    Set the values for all the nodes.
    +
    std::vector< int > t_depth
    a vector to store the depth of a node,
    + +
    std::vector< std::vector< int > > t_par
    a matrix to store every node's 2^kth parent
    +
    void add_edge(const int u, const int v)
    Adds an undirected edge from node u to node v in the tree.
    +
    Tree(int nodes)
    Class parameterized constructor, resizes the and initializes the data members.
    +
    int kth_ancestor(int p, const int &dist)
    The function returns the kth ancestor of a node.
    +
    void dfs_size(int u, int p=-1)
    Utility function to compute sub-tree sizes.
    + +
    std::vector< std::list< int > > t_adj
    an adjacency list to stores the tree edges
    +
    const int t_maxlift
    maximum possible height of the tree
    +
    void change_root(int new_root)
    Set the root for the tree.
    +
    void lift(int *const p, int dist)
    The function lifts a node, k units up the tree. The lifting is done in place, and the result is store...
    +
    void init()
    This function must be called after the tree adjacency list and node values are populated The function...
    +
    std::vector< int > t_size
    a vector to store the subtree size rooted at node
    +
    int lca(int a, int b)
    The function returns the least common ancestor of two nodes.
    + +
    void dfs_lca(int u, int p=-1)
    Utility function to populate the t_par vector.
    +
    static void test_1()
    +
    static void test_2()
    + +
    static void test_3()
    +
    Heavy light decomposition algorithm.
    +
    for std::vector
    + +
    +
    + + + + diff --git a/d2/dfc/structstd_1_1is__arithmetic_3_01uint128__t_01_4.html b/d2/dfc/structstd_1_1is__arithmetic_3_01uint128__t_01_4.html index 47677182b..5f2309f8b 100644 --- a/d2/dfc/structstd_1_1is__arithmetic_3_01uint128__t_01_4.html +++ b/d2/dfc/structstd_1_1is__arithmetic_3_01uint128__t_01_4.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: std::is_arithmetic< uint128_t > Struct Reference +TheAlgorithms/C++: std::is_arithmetic< uint128_t > Struct Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -117,7 +134,10 @@ Collaboration diagram for std::is_arithmetic< uint128_t >:
    [legend]
    -
    The documentation for this struct was generated from the following file:
      +

      Detailed Description

      +
      +

      Definition at line 27 of file uint128_t.hpp.

      +

      The documentation for this struct was generated from the following file: @@ -125,7 +145,7 @@ Collaboration diagram for std::is_arithmetic< uint128_t >: diff --git a/d3/d05/classbinary__search__tree-members.html b/d3/d05/classbinary__search__tree-members.html index 98bfc4ab1..07b6e0993 100644 --- a/d3/d05/classbinary__search__tree-members.html +++ b/d3/d05/classbinary__search__tree-members.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Member List +TheAlgorithms/C++: Member List + + + @@ -18,14 +24,24 @@ - - + +
      @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/d3/d05/sudoku__solver_8cpp.html b/d3/d05/sudoku__solver_8cpp.html index 46784ff6f..b8b731c4d 100644 --- a/d3/d05/sudoku__solver_8cpp.html +++ b/d3/d05/sudoku__solver_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: backtracking/sudoku_solver.cpp File Reference +TheAlgorithms/C++: backtracking/sudoku_solver.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + @@ -120,7 +137,9 @@ Include dependency graph for sudoku_solver.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -133,15 +152,15 @@ Namespaces - + - + - + @@ -154,6 +173,8 @@ Functions
    Author
    DarthCoder3200
    David Leal
    + +

    Definition in file sudoku_solver.cpp.

    Function Documentation

    ◆ isPossible()

    @@ -166,7 +187,7 @@ template<size_t V> - + @@ -213,16 +234,16 @@ template<size_t V> false if 'mat' equals to 'no'

    no shouldn't be present in either row i or column j

    no shouldn't be present in the 3*3 subgrid

    -
    45 {
    -
    46 /// `no` shouldn't be present in either row i or column j
    -
    47 for (int x = 0; x < n; x++) {
    + +

    Definition at line 44 of file sudoku_solver.cpp.

    +
    45 {
    +
    47 for (int x = 0; x < n; x++) {
    48 if (mat[x][j] == no || mat[i][x] == no) {
    49 return false;
    50 }
    51 }
    -
    52
    -
    53 /// `no` shouldn't be present in the 3*3 subgrid
    -
    54 int sx = (i / 3) * 3;
    +
    52
    +
    54 int sx = (i / 3) * 3;
    55 int sy = (j / 3) * 3;
    56
    57 for (int x = sx; x < sx + 3; x++) {
    @@ -235,12 +256,7 @@ template<size_t V>
    64
    65 return true;
    66}
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -260,35 +276,29 @@ Here is the call graph for this function:

    Main function.

    Returns
    0 on exit
    + +

    Definition at line 154 of file sudoku_solver.cpp.

    154 {
    155 const int V = 9;
    - -
    157 std::array<int, V>{5, 3, 0, 0, 7, 0, 0, 0, 0},
    -
    158 std::array<int, V>{6, 0, 0, 1, 9, 5, 0, 0, 0},
    -
    159 std::array<int, V>{0, 9, 8, 0, 0, 0, 0, 6, 0},
    -
    160 std::array<int, V>{8, 0, 0, 0, 6, 0, 0, 0, 3},
    -
    161 std::array<int, V>{4, 0, 0, 8, 0, 3, 0, 0, 1},
    -
    162 std::array<int, V>{7, 0, 0, 0, 2, 0, 0, 0, 6},
    -
    163 std::array<int, V>{0, 6, 0, 0, 0, 0, 2, 8, 0},
    -
    164 std::array<int, V>{0, 0, 0, 4, 1, 9, 0, 0, 5},
    -
    165 std::array<int, V>{0, 0, 0, 0, 8, 0, 0, 7, 9}};
    +
    156 std::array<std::array<int, V>, V> mat = {
    +
    157 std::array<int, V>{5, 3, 0, 0, 7, 0, 0, 0, 0},
    +
    158 std::array<int, V>{6, 0, 0, 1, 9, 5, 0, 0, 0},
    +
    159 std::array<int, V>{0, 9, 8, 0, 0, 0, 0, 6, 0},
    +
    160 std::array<int, V>{8, 0, 0, 0, 6, 0, 0, 0, 3},
    +
    161 std::array<int, V>{4, 0, 0, 8, 0, 3, 0, 0, 1},
    +
    162 std::array<int, V>{7, 0, 0, 0, 2, 0, 0, 0, 6},
    +
    163 std::array<int, V>{0, 6, 0, 0, 0, 0, 2, 8, 0},
    +
    164 std::array<int, V>{0, 0, 0, 4, 1, 9, 0, 0, 5},
    +
    165 std::array<int, V>{0, 0, 0, 0, 8, 0, 0, 7, 9}};
    166
    167 backtracking::sudoku_solver::printMat<V>(mat, mat, 9);
    -
    168 std::cout << "Solution " << std::endl;
    -
    169 std::array<std::array<int, V>, V> starting_mat = mat;
    +
    168 std::cout << "Solution " << std::endl;
    +
    169 std::array<std::array<int, V>, V> starting_mat = mat;
    170 backtracking::sudoku_solver::solveSudoku<V>(mat, starting_mat, 0, 0);
    171
    172 return 0;
    173}
    - - -
    T endl(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -302,12 +312,12 @@ template<size_t V> - + - + @@ -333,31 +343,28 @@ template<size_t V>
    Returns
    void
    + +

    Definition at line 77 of file sudoku_solver.cpp.

    78 {
    79 for (int i = 0; i < n; i++) {
    80 for (int j = 0; j < n; j++) {
    81 if (starting_mat[i][j] != mat[i][j]) {
    -
    82 std::cout << "\033[93m" << mat[i][j] << "\033[0m"
    +
    82 std::cout << "\033[93m" << mat[i][j] << "\033[0m"
    83 << " ";
    84 } else {
    -
    85 std::cout << mat[i][j] << " ";
    +
    85 std::cout << mat[i][j] << " ";
    86 }
    87 if ((j + 1) % 3 == 0) {
    -
    88 std::cout << '\t';
    +
    88 std::cout << '\t';
    89 }
    90 }
    91 if ((i + 1) % 3 == 0) {
    - +
    92 std::cout << std::endl;
    93 }
    - +
    94 std::cout << std::endl;
    95 }
    96}
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -371,12 +378,12 @@ template<size_t V> - + - + @@ -418,47 +425,34 @@ template<size_t V>

    Place the 'no' - assuming a solution will exist

    Couldn't find a solution loop will place the next no.

    Solution couldn't be found for any of the numbers provided

    -
    112 {
    -
    113 /// Base Case
    -
    114 if (i == 9) {
    -
    115 /// Solved for 9 rows already
    -
    116 printMat<V>(mat, starting_mat, 9);
    + +

    Definition at line 110 of file sudoku_solver.cpp.

    +
    112 {
    +
    114 if (i == 9) {
    +
    116 printMat<V>(mat, starting_mat, 9);
    117 return true;
    118 }
    -
    119
    -
    120 /// Crossed the last Cell in the row
    -
    121 if (j == 9) {
    +
    119
    +
    121 if (j == 9) {
    122 return solveSudoku<V>(mat, starting_mat, i + 1, 0);
    123 }
    -
    124
    -
    125 /// Blue Cell - Skip
    -
    126 if (mat[i][j] != 0) {
    +
    124
    +
    126 if (mat[i][j] != 0) {
    127 return solveSudoku<V>(mat, starting_mat, i, j + 1);
    -
    128 }
    -
    129 /// White Cell
    -
    130 /// Try to place every possible no
    -
    131 for (int no = 1; no <= 9; no++) {
    -
    132 if (isPossible<V>(mat, i, j, no, 9)) {
    -
    133 /// Place the 'no' - assuming a solution will exist
    -
    134 mat[i][j] = no;
    +
    128 }
    +
    131 for (int no = 1; no <= 9; no++) {
    +
    132 if (isPossible<V>(mat, i, j, no, 9)) {
    +
    134 mat[i][j] = no;
    135 bool solution_found = solveSudoku<V>(mat, starting_mat, i, j + 1);
    136 if (solution_found) {
    137 return true;
    -
    138 }
    -
    139 /// Couldn't find a solution
    -
    140 /// loop will place the next `no`.
    -
    141 }
    -
    142 }
    -
    143 /// Solution couldn't be found for any of the numbers provided
    -
    144 mat[i][j] = 0;
    +
    138 }
    +
    141 }
    +
    142 }
    +
    144 mat[i][j] = 0;
    145 return false;
    146}
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    diff --git a/d3/d05/sudoku__solver_8cpp_a07dc6acffd0500de9bdbf16b3ade94b0_cgraph.map b/d3/d05/sudoku__solver_8cpp_a07dc6acffd0500de9bdbf16b3ade94b0_cgraph.map deleted file mode 100644 index 8f6484923..000000000 --- a/d3/d05/sudoku__solver_8cpp_a07dc6acffd0500de9bdbf16b3ade94b0_cgraph.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/d3/d05/sudoku__solver_8cpp_a07dc6acffd0500de9bdbf16b3ade94b0_cgraph.md5 b/d3/d05/sudoku__solver_8cpp_a07dc6acffd0500de9bdbf16b3ade94b0_cgraph.md5 deleted file mode 100644 index 8b8d9379a..000000000 --- a/d3/d05/sudoku__solver_8cpp_a07dc6acffd0500de9bdbf16b3ade94b0_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -c02f8695e5e3d46fba4a92d91244b0b9 \ No newline at end of file diff --git a/d3/d05/sudoku__solver_8cpp_a07dc6acffd0500de9bdbf16b3ade94b0_cgraph.svg b/d3/d05/sudoku__solver_8cpp_a07dc6acffd0500de9bdbf16b3ade94b0_cgraph.svg deleted file mode 100644 index d7e6b5417..000000000 --- a/d3/d05/sudoku__solver_8cpp_a07dc6acffd0500de9bdbf16b3ade94b0_cgraph.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - - - - - - - -backtracking::sudoku_solver::isPossible - - -Node1 - - -backtracking::sudoku -_solver::isPossible - - - - - -Node1->Node1 - - - - - - - - - - - - - diff --git a/d3/d05/sudoku__solver_8cpp_a07dc6acffd0500de9bdbf16b3ade94b0_cgraph_org.svg b/d3/d05/sudoku__solver_8cpp_a07dc6acffd0500de9bdbf16b3ade94b0_cgraph_org.svg deleted file mode 100644 index e223e174b..000000000 --- a/d3/d05/sudoku__solver_8cpp_a07dc6acffd0500de9bdbf16b3ade94b0_cgraph_org.svg +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - -backtracking::sudoku_solver::isPossible - - -Node1 - - -backtracking::sudoku -_solver::isPossible - - - - - -Node1->Node1 - - - - - - - - diff --git a/d3/d05/sudoku__solver_8cpp_ab040a12d7684cd85fb3684f4211ea5ac_cgraph.map b/d3/d05/sudoku__solver_8cpp_ab040a12d7684cd85fb3684f4211ea5ac_cgraph.map deleted file mode 100644 index 64876d7b1..000000000 --- a/d3/d05/sudoku__solver_8cpp_ab040a12d7684cd85fb3684f4211ea5ac_cgraph.map +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/d3/d05/sudoku__solver_8cpp_ab040a12d7684cd85fb3684f4211ea5ac_cgraph.md5 b/d3/d05/sudoku__solver_8cpp_ab040a12d7684cd85fb3684f4211ea5ac_cgraph.md5 deleted file mode 100644 index db310880f..000000000 --- a/d3/d05/sudoku__solver_8cpp_ab040a12d7684cd85fb3684f4211ea5ac_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -95b5d0dc3157967090f0363bf6eec409 \ No newline at end of file diff --git a/d3/d05/sudoku__solver_8cpp_ab040a12d7684cd85fb3684f4211ea5ac_cgraph.svg b/d3/d05/sudoku__solver_8cpp_ab040a12d7684cd85fb3684f4211ea5ac_cgraph.svg deleted file mode 100644 index 0a9846180..000000000 --- a/d3/d05/sudoku__solver_8cpp_ab040a12d7684cd85fb3684f4211ea5ac_cgraph.svg +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - - - - - - - -backtracking::sudoku_solver::printMat - - -Node1 - - -backtracking::sudoku -_solver::printMat - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d3/d05/sudoku__solver_8cpp_ab040a12d7684cd85fb3684f4211ea5ac_cgraph_org.svg b/d3/d05/sudoku__solver_8cpp_ab040a12d7684cd85fb3684f4211ea5ac_cgraph_org.svg deleted file mode 100644 index 509c3958e..000000000 --- a/d3/d05/sudoku__solver_8cpp_ab040a12d7684cd85fb3684f4211ea5ac_cgraph_org.svg +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - -backtracking::sudoku_solver::printMat - - -Node1 - - -backtracking::sudoku -_solver::printMat - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - diff --git a/d3/d05/sudoku__solver_8cpp_ac911c8bca8556206ff64461b2424866b_cgraph.map b/d3/d05/sudoku__solver_8cpp_ac911c8bca8556206ff64461b2424866b_cgraph.map deleted file mode 100644 index fc496e9ad..000000000 --- a/d3/d05/sudoku__solver_8cpp_ac911c8bca8556206ff64461b2424866b_cgraph.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/d3/d05/sudoku__solver_8cpp_ac911c8bca8556206ff64461b2424866b_cgraph.md5 b/d3/d05/sudoku__solver_8cpp_ac911c8bca8556206ff64461b2424866b_cgraph.md5 deleted file mode 100644 index 0691267c0..000000000 --- a/d3/d05/sudoku__solver_8cpp_ac911c8bca8556206ff64461b2424866b_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -967aa17d61b313d2e25e67112a9c9f3f \ No newline at end of file diff --git a/d3/d05/sudoku__solver_8cpp_ac911c8bca8556206ff64461b2424866b_cgraph.svg b/d3/d05/sudoku__solver_8cpp_ac911c8bca8556206ff64461b2424866b_cgraph.svg deleted file mode 100644 index 9506b93cf..000000000 --- a/d3/d05/sudoku__solver_8cpp_ac911c8bca8556206ff64461b2424866b_cgraph.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - - - - - - - -backtracking::sudoku_solver::solveSudoku - - -Node1 - - -backtracking::sudoku -_solver::solveSudoku - - - - - -Node1->Node1 - - - - - - - - - - - - - diff --git a/d3/d05/sudoku__solver_8cpp_ac911c8bca8556206ff64461b2424866b_cgraph_org.svg b/d3/d05/sudoku__solver_8cpp_ac911c8bca8556206ff64461b2424866b_cgraph_org.svg deleted file mode 100644 index 954999b83..000000000 --- a/d3/d05/sudoku__solver_8cpp_ac911c8bca8556206ff64461b2424866b_cgraph_org.svg +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - -backtracking::sudoku_solver::solveSudoku - - -Node1 - - -backtracking::sudoku -_solver::solveSudoku - - - - - -Node1->Node1 - - - - - - - - diff --git a/d3/d05/sudoku__solver_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d3/d05/sudoku__solver_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 72e4661e0..000000000 --- a/d3/d05/sudoku__solver_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d3/d05/sudoku__solver_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d3/d05/sudoku__solver_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index 67add7ca9..000000000 --- a/d3/d05/sudoku__solver_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -43978bd5f251984f240d34b044bed87c \ No newline at end of file diff --git a/d3/d05/sudoku__solver_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d3/d05/sudoku__solver_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index dfc67d7f9..000000000 --- a/d3/d05/sudoku__solver_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d3/d05/sudoku__solver_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d3/d05/sudoku__solver_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index b8d51c6c3..000000000 --- a/d3/d05/sudoku__solver_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - diff --git a/d3/d05/sudoku__solver_8cpp_source.html b/d3/d05/sudoku__solver_8cpp_source.html new file mode 100644 index 000000000..fda7f79e7 --- /dev/null +++ b/d3/d05/sudoku__solver_8cpp_source.html @@ -0,0 +1,252 @@ + + + + + + + + +TheAlgorithms/C++: backtracking/sudoku_solver.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    +

    Namespaces

    namespace  backtracking

    Functions

    template<size_t V>
    bool backtracking::sudoku_solver::isPossible (const std::array< std::array< int, V >, V > &mat, int i, int j, int no, int n)
    bool backtracking::sudoku_solver::isPossible (const std::array< std::array< int, V >, V > &mat, int i, int j, int no, int n)
     Check if it's possible to place a number (no parameter)
     
    template<size_t V>
    void backtracking::sudoku_solver::printMat (const std::array< std::array< int, V >, V > &mat, const std::array< std::array< int, V >, V > &starting_mat, int n)
    void backtracking::sudoku_solver::printMat (const std::array< std::array< int, V >, V > &mat, const std::array< std::array< int, V >, V > &starting_mat, int n)
     Utility function to print the matrix.
     
    template<size_t V>
    bool backtracking::sudoku_solver::solveSudoku (std::array< std::array< int, V >, V > &mat, const std::array< std::array< int, V >, V > &starting_mat, int i, int j)
    bool backtracking::sudoku_solver::solveSudoku (std::array< std::array< int, V >, V > &mat, const std::array< std::array< int, V >, V > &starting_mat, int i, int j)
     Main function to implement the Sudoku algorithm.
     
    int main ()
    bool backtracking::sudoku_solver::isPossible (const std::array< std::array< int, V >, V > & mat, const std::array< std::array< int, V >, V > & mat,
    void backtracking::sudoku_solver::printMat (const std::array< std::array< int, V >, V > & mat, const std::array< std::array< int, V >, V > & mat,
    const std::array< std::array< int, V >, V > & starting_mat, const std::array< std::array< int, V >, V > & starting_mat,
    bool backtracking::sudoku_solver::solveSudoku (std::array< std::array< int, V >, V > & mat, std::array< std::array< int, V >, V > & mat,
    const std::array< std::array< int, V >, V > & starting_mat, const std::array< std::array< int, V >, V > & starting_mat,
    + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + + +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    sudoku_solver.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    18#include <array>
    +
    19#include <iostream>
    +
    20
    +
    25namespace backtracking {
    +
    31namespace sudoku_solver {
    +
    43template <size_t V>
    +
    +
    44bool isPossible(const std::array<std::array<int, V>, V> &mat, int i, int j,
    +
    45 int no, int n) {
    +
    47 for (int x = 0; x < n; x++) {
    +
    48 if (mat[x][j] == no || mat[i][x] == no) {
    +
    49 return false;
    +
    50 }
    +
    51 }
    +
    52
    +
    54 int sx = (i / 3) * 3;
    +
    55 int sy = (j / 3) * 3;
    +
    56
    +
    57 for (int x = sx; x < sx + 3; x++) {
    +
    58 for (int y = sy; y < sy + 3; y++) {
    +
    59 if (mat[x][y] == no) {
    +
    60 return false;
    +
    61 }
    +
    62 }
    +
    63 }
    +
    64
    +
    65 return true;
    +
    66}
    +
    +
    76template <size_t V>
    +
    +
    77void printMat(const std::array<std::array<int, V>, V> &mat,
    +
    78 const std::array<std::array<int, V>, V> &starting_mat, int n) {
    +
    79 for (int i = 0; i < n; i++) {
    +
    80 for (int j = 0; j < n; j++) {
    +
    81 if (starting_mat[i][j] != mat[i][j]) {
    +
    82 std::cout << "\033[93m" << mat[i][j] << "\033[0m"
    +
    83 << " ";
    +
    84 } else {
    +
    85 std::cout << mat[i][j] << " ";
    +
    86 }
    +
    87 if ((j + 1) % 3 == 0) {
    +
    88 std::cout << '\t';
    +
    89 }
    +
    90 }
    +
    91 if ((i + 1) % 3 == 0) {
    +
    92 std::cout << std::endl;
    +
    93 }
    +
    94 std::cout << std::endl;
    +
    95 }
    +
    96}
    +
    +
    97
    +
    109template <size_t V>
    +
    +
    110bool solveSudoku(std::array<std::array<int, V>, V> &mat,
    +
    111 const std::array<std::array<int, V>, V> &starting_mat, int i,
    +
    112 int j) {
    +
    114 if (i == 9) {
    +
    116 printMat<V>(mat, starting_mat, 9);
    +
    117 return true;
    +
    118 }
    +
    119
    +
    121 if (j == 9) {
    +
    122 return solveSudoku<V>(mat, starting_mat, i + 1, 0);
    +
    123 }
    +
    124
    +
    126 if (mat[i][j] != 0) {
    +
    127 return solveSudoku<V>(mat, starting_mat, i, j + 1);
    +
    128 }
    +
    131 for (int no = 1; no <= 9; no++) {
    +
    132 if (isPossible<V>(mat, i, j, no, 9)) {
    +
    134 mat[i][j] = no;
    +
    135 bool solution_found = solveSudoku<V>(mat, starting_mat, i, j + 1);
    +
    136 if (solution_found) {
    +
    137 return true;
    +
    138 }
    +
    141 }
    +
    142 }
    +
    144 mat[i][j] = 0;
    +
    145 return false;
    +
    146}
    +
    +
    147} // namespace sudoku_solver
    +
    148} // namespace backtracking
    +
    149
    +
    +
    154int main() {
    +
    155 const int V = 9;
    +
    156 std::array<std::array<int, V>, V> mat = {
    +
    157 std::array<int, V>{5, 3, 0, 0, 7, 0, 0, 0, 0},
    +
    158 std::array<int, V>{6, 0, 0, 1, 9, 5, 0, 0, 0},
    +
    159 std::array<int, V>{0, 9, 8, 0, 0, 0, 0, 6, 0},
    +
    160 std::array<int, V>{8, 0, 0, 0, 6, 0, 0, 0, 3},
    +
    161 std::array<int, V>{4, 0, 0, 8, 0, 3, 0, 0, 1},
    +
    162 std::array<int, V>{7, 0, 0, 0, 2, 0, 0, 0, 6},
    +
    163 std::array<int, V>{0, 6, 0, 0, 0, 0, 2, 8, 0},
    +
    164 std::array<int, V>{0, 0, 0, 4, 1, 9, 0, 0, 5},
    +
    165 std::array<int, V>{0, 0, 0, 0, 8, 0, 0, 7, 9}};
    +
    166
    +
    167 backtracking::sudoku_solver::printMat<V>(mat, mat, 9);
    +
    168 std::cout << "Solution " << std::endl;
    +
    169 std::array<std::array<int, V>, V> starting_mat = mat;
    +
    170 backtracking::sudoku_solver::solveSudoku<V>(mat, starting_mat, 0, 0);
    +
    171
    +
    172 return 0;
    +
    173}
    +
    +
    for vector container
    +
    Functions for the Sudoku Solver implementation.
    +
    bool isPossible(const std::array< std::array< int, V >, V > &mat, int i, int j, int no, int n)
    Check if it's possible to place a number (no parameter)
    +
    void printMat(const std::array< std::array< int, V >, V > &mat, const std::array< std::array< int, V >, V > &starting_mat, int n)
    Utility function to print the matrix.
    +
    bool solveSudoku(std::array< std::array< int, V >, V > &mat, const std::array< std::array< int, V >, V > &starting_mat, int i, int j)
    Main function to implement the Sudoku algorithm.
    +
    int main()
    Main function.
    +
    +
    + + + + diff --git a/d3/d06/ode__semi__implicit__euler_8cpp.html b/d3/d06/ode__semi__implicit__euler_8cpp.html index ffc8097a8..8fc8480e7 100644 --- a/d3/d06/ode__semi__implicit__euler_8cpp.html +++ b/d3/d06/ode__semi__implicit__euler_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: numerical_methods/ode_semi_implicit_euler.cpp File Reference +TheAlgorithms/C++: numerical_methods/ode_semi_implicit_euler.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -122,22 +139,24 @@ Include dependency graph for ode_semi_implicit_euler.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    - + - + - + - + - + @@ -164,6 +183,8 @@ Functions
    dy[0] = y[1];
    dy[1] = mu * (1.f - y[0] * y[0]) * y[1] - y[0];
    See also
    ode_midpoint_euler.cpp, ode_forward_euler.cpp
    + +

    Definition in file ode_semi_implicit_euler.cpp.

    Function Documentation

    ◆ exact_solution()

    @@ -179,7 +200,7 @@ Functions - +

    Functions

    void problem (const double &x, std::valarray< double > *y, std::valarray< double > *dy)
    void problem (const double &x, std::valarray< double > *y, std::valarray< double > *dy)
     Problem statement for a system with first-order differential equations. Updates the system differential variables.
     
    void exact_solution (const double &x, std::valarray< double > *y)
    void exact_solution (const double &x, std::valarray< double > *y)
     Exact solution of the problem. Used for solution comparison.
     
    void semi_implicit_euler_step (const double dx, const double &x, std::valarray< double > *y, std::valarray< double > *dy)
    void semi_implicit_euler_step (const double dx, const double &x, std::valarray< double > *y, std::valarray< double > *dy)
     Compute next step approximation using the semi-implicit-Euler method.
     
    double semi_implicit_euler (double dx, double x0, double x_max, std::valarray< double > *y, bool save_to_file=false)
    double semi_implicit_euler (double dx, double x0, double x_max, std::valarray< double > *y, bool save_to_file=false)
     Compute approximation using the semi-implicit-Euler method in the given limits.
     
    void save_exact_solution (const double &X0, const double &X_MAX, const double &step_size, const std::valarray< double > &Y0)
    void save_exact_solution (const double &X0, const double &X_MAX, const double &step_size, const std::valarray< double > &Y0)
     
    int main (int argc, char *argv[])
     
    std::valarray< double > * y )std::valarray< double > * y )
    @@ -192,18 +213,13 @@ Functions -
    66 {
    -
    67 y[0][0] = std::cos(x);
    -
    68 y[0][1] = -std::sin(x);
    -
    69}
    -
    T cos(T... args)
    -
    T sin(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    +

    Definition at line 66 of file ode_semi_implicit_euler.cpp.

    +
    66 {
    +
    67 y[0][0] = std::cos(x);
    +
    68 y[0][1] = -std::sin(x);
    +
    69}
    +
    @@ -225,41 +241,34 @@ Here is the call graph for this function:

    Main Function

    + +

    Definition at line 189 of file ode_semi_implicit_euler.cpp.

    189 {
    190 double X0 = 0.f; /* initial value of x0 */
    191 double X_MAX = 10.F; /* upper limit of integration */
    -
    192 std::valarray<double> Y0 = {1.f, 0.f}; /* initial value Y = y(x = x_0) */
    +
    192 std::valarray<double> Y0 = {1.f, 0.f}; /* initial value Y = y(x = x_0) */
    193 double step_size;
    194
    195 if (argc == 1) {
    -
    196 std::cout << "\nEnter the step size: ";
    -
    197 std::cin >> step_size;
    +
    196 std::cout << "\nEnter the step size: ";
    +
    197 std::cin >> step_size;
    198 } else {
    199 // use commandline argument as independent variable step size
    -
    200 step_size = std::atof(argv[1]);
    +
    200 step_size = std::atof(argv[1]);
    201 }
    202
    203 // get approximate solution
    204 double total_time = semi_implicit_euler(step_size, X0, X_MAX, &Y0, true);
    -
    205 std::cout << "\tTime = " << total_time << " ms\n";
    +
    205 std::cout << "\tTime = " << total_time << " ms\n";
    206
    207 /* compute exact solution for comparion */
    208 save_exact_solution(X0, X_MAX, step_size, Y0);
    209
    210 return 0;
    211}
    -
    T atof(T... args)
    - - -
    double semi_implicit_euler(double dx, double x0, double x_max, std::valarray< double > *y, bool save_to_file=false)
    Compute approximation using the semi-implicit-Euler method in the given limits.
    Definition ode_semi_implicit_euler.cpp:103
    -
    void save_exact_solution(const double &X0, const double &X_MAX, const double &step_size, const std::valarray< double > &Y0)
    Definition ode_semi_implicit_euler.cpp:153
    - -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    double semi_implicit_euler(double dx, double x0, double x_max, std::valarray< double > *y, bool save_to_file=false)
    Compute approximation using the semi-implicit-Euler method in the given limits.
    +
    void save_exact_solution(const double &X0, const double &X_MAX, const double &step_size, const std::valarray< double > &Y0)
    +
    @@ -276,12 +285,12 @@ Here is the call graph for this function: - std::valarray< double > * y, + std::valarray< double > * y, - std::valarray< double > * dy ) + std::valarray< double > * dy )
    @@ -296,6 +305,8 @@ Here is the call graph for this function:
    + +

    Definition at line 53 of file ode_semi_implicit_euler.cpp.

    54 {
    55 const double omega = 1.F; // some const for the problem
    56 dy[0][0] = y[0][1]; // x dot
    @@ -328,7 +339,7 @@ Here is the call graph for this function:
    - const std::valarray< double > & Y0 ) + const std::valarray< double > & Y0 )
    @@ -342,18 +353,20 @@ Here is the call graph for this function:
    + +

    Definition at line 153 of file ode_semi_implicit_euler.cpp.

    155 {
    156 double x = X0;
    - +
    157 std::valarray<double> y = Y0;
    158
    -
    159 std::ofstream fp("exact.csv", std::ostream::out);
    +
    159 std::ofstream fp("exact.csv", std::ostream::out);
    160 if (!fp.is_open()) {
    -
    161 std::perror("Error! ");
    +
    161 std::perror("Error! ");
    162 return;
    163 }
    -
    164 std::cout << "Finding exact solution\n";
    +
    164 std::cout << "Finding exact solution\n";
    165
    - +
    166 std::clock_t t1 = std::clock();
    167 do {
    168 fp << x << ",";
    169 for (int i = 0; i < y.size() - 1; i++) {
    @@ -366,23 +379,14 @@ Here is the call graph for this function:
    176 x += step_size;
    177 } while (x <= X_MAX);
    178
    - +
    179 std::clock_t t2 = std::clock();
    180 double total_time = static_cast<double>(t2 - t1) / CLOCKS_PER_SEC;
    -
    181 std::cout << "\tTime = " << total_time << " ms\n";
    +
    181 std::cout << "\tTime = " << total_time << " ms\n";
    182
    183 fp.close();
    184}
    - -
    T clock(T... args)
    - -
    void exact_solution(const double &x, std::valarray< double > *y)
    Exact solution of the problem. Used for solution comparison.
    Definition ode_semi_implicit_euler.cpp:66
    -
    T perror(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    void exact_solution(const double &x, std::valarray< double > *y)
    Exact solution of the problem. Used for solution comparison.
    + diff --git a/d3/d06/ode__semi__implicit__euler_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.map b/d3/d06/ode__semi__implicit__euler_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.map deleted file mode 100644 index 44149c9a6..000000000 --- a/d3/d06/ode__semi__implicit__euler_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.map +++ /dev/null @@ -1,33 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d3/d06/ode__semi__implicit__euler_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.md5 b/d3/d06/ode__semi__implicit__euler_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.md5 deleted file mode 100644 index c2a878873..000000000 --- a/d3/d06/ode__semi__implicit__euler_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -2181418741ad24555dda1b133613f3d4 \ No newline at end of file diff --git a/d3/d06/ode__semi__implicit__euler_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.svg b/d3/d06/ode__semi__implicit__euler_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.svg deleted file mode 100644 index 150769c0a..000000000 --- a/d3/d06/ode__semi__implicit__euler_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.svg +++ /dev/null @@ -1,317 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -std::atof - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -save_exact_solution - - - - - -Node1->Node3 - - - - - - - - -Node11 - - -semi_implicit_euler - - - - - -Node1->Node11 - - - - - - - - -Node4 - - -std::clock - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -std::ofstream::close - - - - - -Node3->Node5 - - - - - - - - -Node6 - - -exact_solution - - - - - -Node3->Node6 - - - - - - - - -Node9 - - -std::ofstream::is_open - - - - - -Node3->Node9 - - - - - - - - -Node10 - - -std::perror - - - - - -Node3->Node10 - - - - - - - - -Node7 - - -std::cos - - - - - -Node6->Node7 - - - - - - - - -Node8 - - -std::sin - - - - - -Node6->Node8 - - - - - - - - -Node11->Node4 - - - - - - - - -Node11->Node5 - - - - - - - - -Node11->Node9 - - - - - - - - -Node11->Node10 - - - - - - - - -Node12 - - -std::ofstream::open - - - - - -Node11->Node12 - - - - - - - - -Node13 - - -semi_implicit_euler_step - - - - - -Node11->Node13 - - - - - - - - -Node14 - - -problem - - - - - -Node13->Node14 - - - - - - - - - - - - - diff --git a/d3/d06/ode__semi__implicit__euler_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph_org.svg b/d3/d06/ode__semi__implicit__euler_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph_org.svg deleted file mode 100644 index efbce1033..000000000 --- a/d3/d06/ode__semi__implicit__euler_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph_org.svg +++ /dev/null @@ -1,291 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -std::atof - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -save_exact_solution - - - - - -Node1->Node3 - - - - - - - - -Node11 - - -semi_implicit_euler - - - - - -Node1->Node11 - - - - - - - - -Node4 - - -std::clock - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -std::ofstream::close - - - - - -Node3->Node5 - - - - - - - - -Node6 - - -exact_solution - - - - - -Node3->Node6 - - - - - - - - -Node9 - - -std::ofstream::is_open - - - - - -Node3->Node9 - - - - - - - - -Node10 - - -std::perror - - - - - -Node3->Node10 - - - - - - - - -Node7 - - -std::cos - - - - - -Node6->Node7 - - - - - - - - -Node8 - - -std::sin - - - - - -Node6->Node8 - - - - - - - - -Node11->Node4 - - - - - - - - -Node11->Node5 - - - - - - - - -Node11->Node9 - - - - - - - - -Node11->Node10 - - - - - - - - -Node12 - - -std::ofstream::open - - - - - -Node11->Node12 - - - - - - - - -Node13 - - -semi_implicit_euler_step - - - - - -Node11->Node13 - - - - - - - - -Node14 - - -problem - - - - - -Node13->Node14 - - - - - - - - diff --git a/d3/d06/ode__semi__implicit__euler_8cpp_aa13517b8e5de1b75592052db7f7e237f_cgraph.map b/d3/d06/ode__semi__implicit__euler_8cpp_aa13517b8e5de1b75592052db7f7e237f_cgraph.map deleted file mode 100644 index 51548e610..000000000 --- a/d3/d06/ode__semi__implicit__euler_8cpp_aa13517b8e5de1b75592052db7f7e237f_cgraph.map +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - - - - - diff --git a/d3/d06/ode__semi__implicit__euler_8cpp_aa13517b8e5de1b75592052db7f7e237f_cgraph.md5 b/d3/d06/ode__semi__implicit__euler_8cpp_aa13517b8e5de1b75592052db7f7e237f_cgraph.md5 deleted file mode 100644 index 9612dbf02..000000000 --- a/d3/d06/ode__semi__implicit__euler_8cpp_aa13517b8e5de1b75592052db7f7e237f_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -bb3d651d0a34877da3f2bc1188fab5c9 \ No newline at end of file diff --git a/d3/d06/ode__semi__implicit__euler_8cpp_aa13517b8e5de1b75592052db7f7e237f_cgraph.svg b/d3/d06/ode__semi__implicit__euler_8cpp_aa13517b8e5de1b75592052db7f7e237f_cgraph.svg deleted file mode 100644 index 672469412..000000000 --- a/d3/d06/ode__semi__implicit__euler_8cpp_aa13517b8e5de1b75592052db7f7e237f_cgraph.svg +++ /dev/null @@ -1,173 +0,0 @@ - - - - - - - - - - - - -save_exact_solution - - -Node1 - - -save_exact_solution - - - - - -Node2 - - -std::clock - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::ofstream::close - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -exact_solution - - - - - -Node1->Node4 - - - - - - - - -Node7 - - -std::ofstream::is_open - - - - - -Node1->Node7 - - - - - - - - -Node8 - - -std::perror - - - - - -Node1->Node8 - - - - - - - - -Node5 - - -std::cos - - - - - -Node4->Node5 - - - - - - - - -Node6 - - -std::sin - - - - - -Node4->Node6 - - - - - - - - - - - - - diff --git a/d3/d06/ode__semi__implicit__euler_8cpp_aa13517b8e5de1b75592052db7f7e237f_cgraph_org.svg b/d3/d06/ode__semi__implicit__euler_8cpp_aa13517b8e5de1b75592052db7f7e237f_cgraph_org.svg deleted file mode 100644 index 230e7a567..000000000 --- a/d3/d06/ode__semi__implicit__euler_8cpp_aa13517b8e5de1b75592052db7f7e237f_cgraph_org.svg +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - -save_exact_solution - - -Node1 - - -save_exact_solution - - - - - -Node2 - - -std::clock - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::ofstream::close - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -exact_solution - - - - - -Node1->Node4 - - - - - - - - -Node7 - - -std::ofstream::is_open - - - - - -Node1->Node7 - - - - - - - - -Node8 - - -std::perror - - - - - -Node1->Node8 - - - - - - - - -Node5 - - -std::cos - - - - - -Node4->Node5 - - - - - - - - -Node6 - - -std::sin - - - - - -Node4->Node6 - - - - - - - - diff --git a/d3/d06/ode__semi__implicit__euler_8cpp_af3adf7b092a87868917ee5fb4255192b_cgraph.map b/d3/d06/ode__semi__implicit__euler_8cpp_af3adf7b092a87868917ee5fb4255192b_cgraph.map deleted file mode 100644 index 20ef8b76a..000000000 --- a/d3/d06/ode__semi__implicit__euler_8cpp_af3adf7b092a87868917ee5fb4255192b_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/d3/d06/ode__semi__implicit__euler_8cpp_af3adf7b092a87868917ee5fb4255192b_cgraph.md5 b/d3/d06/ode__semi__implicit__euler_8cpp_af3adf7b092a87868917ee5fb4255192b_cgraph.md5 deleted file mode 100644 index bfa5784f3..000000000 --- a/d3/d06/ode__semi__implicit__euler_8cpp_af3adf7b092a87868917ee5fb4255192b_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -775f69ca4eafdff6467315705aafdd17 \ No newline at end of file diff --git a/d3/d06/ode__semi__implicit__euler_8cpp_af3adf7b092a87868917ee5fb4255192b_cgraph.svg b/d3/d06/ode__semi__implicit__euler_8cpp_af3adf7b092a87868917ee5fb4255192b_cgraph.svg deleted file mode 100644 index 85206d2ac..000000000 --- a/d3/d06/ode__semi__implicit__euler_8cpp_af3adf7b092a87868917ee5fb4255192b_cgraph.svg +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - -exact_solution - - -Node1 - - -exact_solution - - - - - -Node2 - - -std::cos - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::sin - - - - - -Node1->Node3 - - - - - - - - - - - - - diff --git a/d3/d06/ode__semi__implicit__euler_8cpp_af3adf7b092a87868917ee5fb4255192b_cgraph_org.svg b/d3/d06/ode__semi__implicit__euler_8cpp_af3adf7b092a87868917ee5fb4255192b_cgraph_org.svg deleted file mode 100644 index b49865b04..000000000 --- a/d3/d06/ode__semi__implicit__euler_8cpp_af3adf7b092a87868917ee5fb4255192b_cgraph_org.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - -exact_solution - - -Node1 - - -exact_solution - - - - - -Node2 - - -std::cos - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::sin - - - - - -Node1->Node3 - - - - - - - - diff --git a/d3/d06/ode__semi__implicit__euler_8cpp_source.html b/d3/d06/ode__semi__implicit__euler_8cpp_source.html new file mode 100644 index 000000000..1fd63606b --- /dev/null +++ b/d3/d06/ode__semi__implicit__euler_8cpp_source.html @@ -0,0 +1,281 @@ + + + + + + + + +TheAlgorithms/C++: numerical_methods/ode_semi_implicit_euler.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    ode_semi_implicit_euler.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    38#include <cmath>
    +
    39#include <ctime>
    +
    40#include <fstream>
    +
    41#include <iostream>
    +
    42#include <valarray>
    +
    43
    +
    +
    53void problem(const double &x, std::valarray<double> *y,
    +
    54 std::valarray<double> *dy) {
    +
    55 const double omega = 1.F; // some const for the problem
    +
    56 dy[0][0] = y[0][1]; // x dot
    +
    57 dy[0][1] = -omega * omega * y[0][0]; // y dot
    +
    58}
    +
    +
    59
    +
    +
    66void exact_solution(const double &x, std::valarray<double> *y) {
    +
    67 y[0][0] = std::cos(x);
    +
    68 y[0][1] = -std::sin(x);
    +
    69}
    +
    +
    70
    +
    +
    82void semi_implicit_euler_step(const double dx, const double &x,
    +
    83 std::valarray<double> *y,
    +
    84 std::valarray<double> *dy) {
    +
    85 problem(x, y, dy); // update dy once
    +
    86 y[0][0] += dx * dy[0][0]; // update y0
    +
    87 problem(x, y, dy); // update dy once more
    +
    88
    +
    89 dy[0][0] = 0.f; // ignore y0
    +
    90 y[0] += dy[0] * dx; // update remaining using new dy
    +
    91}
    +
    +
    92
    +
    +
    103double semi_implicit_euler(double dx, double x0, double x_max,
    +
    104 std::valarray<double> *y,
    +
    105 bool save_to_file = false) {
    +
    106 std::valarray<double> dy = y[0];
    +
    107
    +
    108 std::ofstream fp;
    +
    109 if (save_to_file) {
    +
    110 fp.open("semi_implicit_euler.csv", std::ofstream::out);
    +
    111 if (!fp.is_open()) {
    +
    112 std::perror("Error! ");
    +
    113 }
    +
    114 }
    +
    115
    +
    116 std::size_t L = y->size();
    +
    117
    +
    118 /* start integration */
    +
    119 std::clock_t t1 = std::clock();
    +
    120 double x = x0;
    +
    121 do { // iterate for each step of independent variable
    +
    122 if (save_to_file && fp.is_open()) {
    +
    123 // write to file
    +
    124 fp << x << ",";
    +
    125 for (int i = 0; i < L - 1; i++) {
    +
    126 fp << y[0][i] << ",";
    +
    127 }
    +
    128 fp << y[0][L - 1] << "\n";
    +
    129 }
    +
    130
    +
    131 semi_implicit_euler_step(dx, x, y, &dy); // perform integration
    +
    132 x += dx; // update step
    +
    133 } while (x <= x_max); // till upper limit of independent variable
    +
    134 /* end of integration */
    +
    135 std::clock_t t2 = std::clock();
    +
    136
    +
    137 if (fp.is_open())
    +
    138 fp.close();
    +
    139
    +
    140 return static_cast<double>(t2 - t1) / CLOCKS_PER_SEC;
    +
    141}
    +
    +
    142
    +
    +
    153void save_exact_solution(const double &X0, const double &X_MAX,
    +
    154 const double &step_size,
    +
    155 const std::valarray<double> &Y0) {
    +
    156 double x = X0;
    +
    157 std::valarray<double> y = Y0;
    +
    158
    +
    159 std::ofstream fp("exact.csv", std::ostream::out);
    +
    160 if (!fp.is_open()) {
    +
    161 std::perror("Error! ");
    +
    162 return;
    +
    163 }
    +
    164 std::cout << "Finding exact solution\n";
    +
    165
    +
    166 std::clock_t t1 = std::clock();
    +
    167 do {
    +
    168 fp << x << ",";
    +
    169 for (int i = 0; i < y.size() - 1; i++) {
    +
    170 fp << y[i] << ",";
    +
    171 }
    +
    172 fp << y[y.size() - 1] << "\n";
    +
    173
    +
    174 exact_solution(x, &y);
    +
    175
    +
    176 x += step_size;
    +
    177 } while (x <= X_MAX);
    +
    178
    +
    179 std::clock_t t2 = std::clock();
    +
    180 double total_time = static_cast<double>(t2 - t1) / CLOCKS_PER_SEC;
    +
    181 std::cout << "\tTime = " << total_time << " ms\n";
    +
    182
    +
    183 fp.close();
    +
    184}
    +
    +
    185
    +
    +
    189int main(int argc, char *argv[]) {
    +
    190 double X0 = 0.f; /* initial value of x0 */
    +
    191 double X_MAX = 10.F; /* upper limit of integration */
    +
    192 std::valarray<double> Y0 = {1.f, 0.f}; /* initial value Y = y(x = x_0) */
    +
    193 double step_size;
    +
    194
    +
    195 if (argc == 1) {
    +
    196 std::cout << "\nEnter the step size: ";
    +
    197 std::cin >> step_size;
    +
    198 } else {
    +
    199 // use commandline argument as independent variable step size
    +
    200 step_size = std::atof(argv[1]);
    +
    201 }
    +
    202
    +
    203 // get approximate solution
    +
    204 double total_time = semi_implicit_euler(step_size, X0, X_MAX, &Y0, true);
    +
    205 std::cout << "\tTime = " << total_time << " ms\n";
    +
    206
    +
    207 /* compute exact solution for comparion */
    +
    208 save_exact_solution(X0, X_MAX, step_size, Y0);
    +
    209
    +
    210 return 0;
    +
    211}
    +
    +
    int main()
    Main function.
    +
    double semi_implicit_euler(double dx, double x0, double x_max, std::valarray< double > *y, bool save_to_file=false)
    Compute approximation using the semi-implicit-Euler method in the given limits.
    +
    void semi_implicit_euler_step(const double dx, const double &x, std::valarray< double > *y, std::valarray< double > *dy)
    Compute next step approximation using the semi-implicit-Euler method.
    +
    void save_exact_solution(const double &X0, const double &X_MAX, const double &step_size, const std::valarray< double > &Y0)
    +
    void problem(const double &x, std::valarray< double > *y, std::valarray< double > *dy)
    Problem statement for a system with first-order differential equations. Updates the system differenti...
    +
    void exact_solution(const double &x, std::valarray< double > *y)
    Exact solution of the problem. Used for solution comparison.
    +
    +
    + + + + diff --git a/d3/d09/node_8hpp.html b/d3/d09/node_8hpp.html index f0db50aab..8bb94ff1b 100644 --- a/d3/d09/node_8hpp.html +++ b/d3/d09/node_8hpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: data_structures/node.hpp File Reference +TheAlgorithms/C++: data_structures/node.hpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -124,7 +141,7 @@ Include dependency graph for node.hpp:
    This graph shows which files directly or indirectly include this file:
    -
    +

    Go to the source code of this file.

    @@ -143,11 +160,13 @@ Functions - +
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    void display_all (const Node *const inNode)
     
    template<typename Node >
    std::vector< typename Node::value_type > push_all_to_vector (const Node *const inNode, const std::size_t expected_size=0)
    std::vector< typename Node::value_type > push_all_to_vector (const Node *const inNode, const std::size_t expected_size=0)
     

    Detailed Description

    Provides Node class and related utilities.

    + +

    Definition in file node.hpp.

    Function Documentation

    ◆ display_all()

    @@ -165,12 +184,13 @@ template<typename Node
    + +

    Definition at line 31 of file node.hpp.

    31 {
    32 traverse(inNode,
    -
    33 [](const Node& curNode) { std::cout << curNode.data << " "; });
    +
    33 [](const Node& curNode) { std::cout << curNode.data << " "; });
    34}
    - -
    Definition linkedlist_implentation_usingarray.cpp:14
    +
    @@ -183,27 +203,26 @@ template<typename Node template<typename Node > - + - +
    std::vector< typename Node::value_type > push_all_to_vector std::vector< typename Node::value_type > push_all_to_vector ( const Node *const inNode,
    const std::size_t expected_size = 0 )const std::size_t expected_size = 0 )
    + +

    Definition at line 37 of file node.hpp.

    38 {
    - -
    40 res.reserve(expected_size);
    +
    39 std::vector<typename Node::value_type> res;
    +
    40 res.reserve(expected_size);
    41 traverse(inNode,
    -
    42 [&res](const Node& curNode) { res.push_back(curNode.data); });
    +
    42 [&res](const Node& curNode) { res.push_back(curNode.data); });
    43 return res;
    44}
    -
    T push_back(T... args)
    -
    T reserve(T... args)
    -
    @@ -227,6 +246,8 @@ template<typename Node
    + +

    Definition at line 23 of file node.hpp.

    23 {
    24 if (inNode) {
    25 action(*inNode);
    diff --git a/d3/d09/node_8hpp_source.html b/d3/d09/node_8hpp_source.html index 346b5832d..dbc5731b5 100644 --- a/d3/d09/node_8hpp_source.html +++ b/d3/d09/node_8hpp_source.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: data_structures/node.hpp Source File +TheAlgorithms/C++: data_structures/node.hpp Source File + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -107,25 +124,19 @@ $(function(){initNavTree('d3/d09/node_8hpp_source.html','../../'); initResizable
    node.hpp
    -Go to the documentation of this file.
    1/**
    -
    2 * @file
    -
    3 * @brief Provides Node class and related utilities
    -
    4 **/
    +Go to the documentation of this file.
    1
    5#ifndef DATA_STRUCTURES_NODE_HPP_
    6#define DATA_STRUCTURES_NODE_HPP_
    7
    -
    8#include <iostream> /// for std::cout
    -
    9#include <memory> /// for std::shared_ptr
    -
    10#include <vector> /// for std::vector
    -
    11
    -
    12/** Definition of the node as a linked-list
    -
    13 * \tparam ValueType type of data nodes of the linked list should contain
    -
    14 */
    +
    8#include <iostream>
    +
    9#include <memory>
    +
    10#include <vector>
    +
    11
    15template <class ValueType>
    16struct Node {
    17 using value_type = ValueType;
    18 ValueType data = {};
    - +
    19 std::shared_ptr<Node<ValueType>> next = {};
    20};
    21
    22template <typename Node, typename Action>
    @@ -139,27 +150,21 @@ $(function(){initNavTree('d3/d09/node_8hpp_source.html','../../'); initResizable
    30template <typename Node>
    31void display_all(const Node* const inNode) {
    32 traverse(inNode,
    -
    33 [](const Node& curNode) { std::cout << curNode.data << " "; });
    +
    33 [](const Node& curNode) { std::cout << curNode.data << " "; });
    34}
    35
    36template <typename Node>
    - -
    38 const Node* const inNode, const std::size_t expected_size = 0) {
    - -
    40 res.reserve(expected_size);
    +
    37std::vector<typename Node::value_type> push_all_to_vector(
    +
    38 const Node* const inNode, const std::size_t expected_size = 0) {
    +
    39 std::vector<typename Node::value_type> res;
    +
    40 res.reserve(expected_size);
    41 traverse(inNode,
    -
    42 [&res](const Node& curNode) { res.push_back(curNode.data); });
    +
    42 [&res](const Node& curNode) { res.push_back(curNode.data); });
    43 return res;
    44}
    45
    46#endif // DATA_STRUCTURES_NODE_HPP_
    - -
    T push_back(T... args)
    -
    T reserve(T... args)
    - - -
    Definition linkedlist_implentation_usingarray.cpp:14
    - +
    diff --git a/d3/d11/classdata__structures_1_1_stack__coll__graph.map b/d3/d11/classdata__structures_1_1_stack__coll__graph.map index aa0179da9..ccb918e58 100644 --- a/d3/d11/classdata__structures_1_1_stack__coll__graph.map +++ b/d3/d11/classdata__structures_1_1_stack__coll__graph.map @@ -1,6 +1,6 @@ - + diff --git a/d3/d11/classdata__structures_1_1_stack__coll__graph.md5 b/d3/d11/classdata__structures_1_1_stack__coll__graph.md5 index 276f1a59f..8904a7a1d 100644 --- a/d3/d11/classdata__structures_1_1_stack__coll__graph.md5 +++ b/d3/d11/classdata__structures_1_1_stack__coll__graph.md5 @@ -1 +1 @@ -e4f07cc465819f91d399e033e545f779 \ No newline at end of file +e9cea5c7b8886882188820b752112f7c \ No newline at end of file diff --git a/d3/d11/classdata__structures_1_1_stack__coll__graph.svg b/d3/d11/classdata__structures_1_1_stack__coll__graph.svg index a22c6bf35..bdbb3ed5b 100644 --- a/d3/d11/classdata__structures_1_1_stack__coll__graph.svg +++ b/d3/d11/classdata__structures_1_1_stack__coll__graph.svg @@ -31,7 +31,7 @@ Node2 - + std::unique_ptr< T[]> diff --git a/d3/d11/classdata__structures_1_1_stack__coll__graph_org.svg b/d3/d11/classdata__structures_1_1_stack__coll__graph_org.svg index 08ab12c73..a7174fe86 100644 --- a/d3/d11/classdata__structures_1_1_stack__coll__graph_org.svg +++ b/d3/d11/classdata__structures_1_1_stack__coll__graph_org.svg @@ -20,7 +20,7 @@ Node2 - + std::unique_ptr< T[]> diff --git a/d3/d17/namespaceutil__functions.html b/d3/d17/namespaceutil__functions.html index dc923651a..01f6e7296 100644 --- a/d3/d17/namespaceutil__functions.html +++ b/d3/d17/namespaceutil__functions.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: util_functions Namespace Reference +TheAlgorithms/C++: util_functions Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/d3/d19/sparse__matrix_8cpp.html b/d3/d19/sparse__matrix_8cpp.html index 0a1185a2b..3bd79826b 100644 --- a/d3/d19/sparse__matrix_8cpp.html +++ b/d3/d19/sparse__matrix_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: others/sparse_matrix.cpp File Reference +TheAlgorithms/C++: others/sparse_matrix.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + @@ -115,7 +132,9 @@ Include dependency graph for sparse_matrix.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -123,6 +142,8 @@ Functions

    Functions

    int main ()

    Detailed Description

    A sparse matrix is a matrix which has number of zeroes greater than \(\frac{m\times n}{2}\), where m and n are the dimensions of the matrix.

    + +

    Definition in file sparse_matrix.cpp.

    Function Documentation

    ◆ main()

    @@ -139,25 +160,27 @@ Functions

    main function

    + +

    Definition at line 9 of file sparse_matrix.cpp.

    9 {
    10 int m, n;
    11 int counterZeros = 0;
    12
    -
    13 std::cout << "Enter dimensions of matrix (seperated with space): ";
    -
    14 std::cin >> m;
    -
    15 std::cin >> n;
    +
    13 std::cout << "Enter dimensions of matrix (seperated with space): ";
    +
    14 std::cin >> m;
    +
    15 std::cin >> n;
    16
    17 int **a = new int *[m];
    18 for (int i = 0; i < m; i++) a[i] = new int[n];
    19
    -
    20 std::cout << "Enter matrix elements:";
    -
    21 std::cout << "\n";
    +
    20 std::cout << "Enter matrix elements:";
    +
    21 std::cout << "\n";
    22
    23 // reads the matrix from stdin
    24 for (int i = 0; i < m; i++) {
    25 for (int j = 0; j < n; j++) {
    -
    26 std::cout << "element? ";
    -
    27 std::cin >> a[i][j];
    +
    26 std::cout << "element? ";
    +
    27 std::cin >> a[i][j];
    28 }
    29 }
    30
    @@ -171,16 +194,14 @@ Functions
    38
    39 // makes sure the matrix is a sparse matrix
    40 if (counterZeros > ((m * n) / 2)) // Checking for sparse matrix
    -
    41 std::cout << "Sparse matrix";
    +
    41 std::cout << "Sparse matrix";
    42 else
    -
    43 std::cout << "Not a sparse matrix";
    +
    43 std::cout << "Not a sparse matrix";
    44
    45 for (int i = 0; i < m; i++) delete[] a[i];
    46 delete[] a;
    47 return 0;
    48}
    - -
    diff --git a/d3/d19/sparse__matrix_8cpp_source.html b/d3/d19/sparse__matrix_8cpp_source.html new file mode 100644 index 000000000..96d621a02 --- /dev/null +++ b/d3/d19/sparse__matrix_8cpp_source.html @@ -0,0 +1,183 @@ + + + + + + + + +TheAlgorithms/C++: others/sparse_matrix.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    sparse_matrix.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    6#include <iostream>
    +
    7
    +
    +
    9int main() {
    +
    10 int m, n;
    +
    11 int counterZeros = 0;
    +
    12
    +
    13 std::cout << "Enter dimensions of matrix (seperated with space): ";
    +
    14 std::cin >> m;
    +
    15 std::cin >> n;
    +
    16
    +
    17 int **a = new int *[m];
    +
    18 for (int i = 0; i < m; i++) a[i] = new int[n];
    +
    19
    +
    20 std::cout << "Enter matrix elements:";
    +
    21 std::cout << "\n";
    +
    22
    +
    23 // reads the matrix from stdin
    +
    24 for (int i = 0; i < m; i++) {
    +
    25 for (int j = 0; j < n; j++) {
    +
    26 std::cout << "element? ";
    +
    27 std::cin >> a[i][j];
    +
    28 }
    +
    29 }
    +
    30
    +
    31 // counts the zero's
    +
    32 for (int i = 0; i < m; i++) {
    +
    33 for (int j = 0; j < n; j++) {
    +
    34 if (a[i][j] == 0)
    +
    35 counterZeros++; // Counting number of zeroes
    +
    36 }
    +
    37 }
    +
    38
    +
    39 // makes sure the matrix is a sparse matrix
    +
    40 if (counterZeros > ((m * n) / 2)) // Checking for sparse matrix
    +
    41 std::cout << "Sparse matrix";
    +
    42 else
    +
    43 std::cout << "Not a sparse matrix";
    +
    44
    +
    45 for (int i = 0; i < m; i++) delete[] a[i];
    +
    46 delete[] a;
    +
    47 return 0;
    +
    48}
    +
    +
    int main()
    +
    +
    + + + + diff --git a/d3/d1f/structdata__structures_1_1list__array_1_1list-members.html b/d3/d1f/structdata__structures_1_1list__array_1_1list-members.html index 4f5454965..1eba3f75c 100644 --- a/d3/d1f/structdata__structures_1_1list__array_1_1list-members.html +++ b/d3/d1f/structdata__structures_1_1list__array_1_1list-members.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Member List +TheAlgorithms/C++: Member List + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/d3/d1f/structsearch_1_1sublist__search_1_1_node-members.html b/d3/d1f/structsearch_1_1sublist__search_1_1_node-members.html index 94c28848d..4b942d9cf 100644 --- a/d3/d1f/structsearch_1_1sublist__search_1_1_node-members.html +++ b/d3/d1f/structsearch_1_1sublist__search_1_1_node-members.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Member List +TheAlgorithms/C++: Member List + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/d3/d22/quick__sort__iterative_8cpp.html b/d3/d22/quick__sort__iterative_8cpp.html index a5e71cd6f..0fb07800b 100644 --- a/d3/d22/quick__sort__iterative_8cpp.html +++ b/d3/d22/quick__sort__iterative_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: sorting/quick_sort_iterative.cpp File Reference +TheAlgorithms/C++: sorting/quick_sort_iterative.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + @@ -123,7 +140,9 @@ Include dependency graph for quick_sort_iterative.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -132,10 +151,10 @@ Namespaces

    Namespaces

    namespace  sorting
    - + - + @@ -148,6 +167,8 @@ Functions

    Detailed Description

    Quick Sort without recursion. This method uses the stack instead. Both recursive and iterative implementations have O(n log n) best case and O(n^2) worst case.

    https://stackoverflow.com/questions/12553238/quicksort-iterative-or-recursive https://en.wikipedia.org/wiki/Quicksort https://www.geeksforgeeks.org/iterative-quick-sort/

    Author
    Sebe324
    + +

    Definition in file quick_sort_iterative.cpp.

    Function Documentation

    ◆ main()

    @@ -166,17 +187,14 @@ Functions

    Main function.

    Returns
    0 on exit
    + +

    Definition at line 128 of file quick_sort_iterative.cpp.

    129{
    130 tests(); // run self test implementation
    131 return 0;
    132}
    -
    void tests()
    Self-test implementations.
    Definition quick_sort_iterative.cpp:94
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    void tests()
    Self-test implementations.
    + @@ -196,45 +214,37 @@ Here is the call graph for this function:

    Self-test implementations.

    Returns
    void
    + +

    Definition at line 94 of file quick_sort_iterative.cpp.

    95{
    96 //TEST 1 - Positive numbers
    -
    97 std::vector<int> case1={100,534,1000000,553,10,61,2000,238,2756,9,12,56,30};
    -
    98 std::cout<<"TEST 1\n";
    -
    99 std::cout<<"Before: \n";
    -
    100 for(auto x : case1) std::cout<<x<<",";
    -
    101 std::cout<<"\n";
    +
    97 std::vector<int> case1={100,534,1000000,553,10,61,2000,238,2756,9,12,56,30};
    +
    98 std::cout<<"TEST 1\n";
    +
    99 std::cout<<"Before: \n";
    +
    100 for(auto x : case1) std::cout<<x<<",";
    +
    101 std::cout<<"\n";
    -
    103 assert(std::is_sorted(std::begin(case1),std::end(case1)));
    -
    104 std::cout<<"Test 1 succesful!\n";
    -
    105 std::cout<<"After: \n";
    -
    106 for(auto x : case1) std::cout<<x<<",";
    -
    107 std::cout<<"\n";
    +
    103 assert(std::is_sorted(std::begin(case1),std::end(case1)));
    +
    104 std::cout<<"Test 1 succesful!\n";
    +
    105 std::cout<<"After: \n";
    +
    106 for(auto x : case1) std::cout<<x<<",";
    +
    107 std::cout<<"\n";
    108
    109 //TEST 2 - Negative numbers
    -
    110 std::vector<int> case2={-10,-2,-5,-2,-3746,-785,-123, -452, -32456};
    -
    111 std::cout<<"TEST 2\n";
    -
    112 std::cout<<"Before: \n";
    -
    113 for(auto x : case2) std::cout<<x<<",";
    -
    114 std::cout<<"\n";
    +
    110 std::vector<int> case2={-10,-2,-5,-2,-3746,-785,-123, -452, -32456};
    +
    111 std::cout<<"TEST 2\n";
    +
    112 std::cout<<"Before: \n";
    +
    113 for(auto x : case2) std::cout<<x<<",";
    +
    114 std::cout<<"\n";
    -
    116 assert(std::is_sorted(std::begin(case2),std::end(case2)));
    -
    117 std::cout<<"Test 2 succesful!\n";
    -
    118 std::cout<<"After: \n";
    -
    119 for(auto x : case2) std::cout<<x<<",";
    -
    120 std::cout<<"\n";
    +
    116 assert(std::is_sorted(std::begin(case2),std::end(case2)));
    +
    117 std::cout<<"Test 2 succesful!\n";
    +
    118 std::cout<<"After: \n";
    +
    119 for(auto x : case2) std::cout<<x<<",";
    +
    120 std::cout<<"\n";
    121}
    - -
    T begin(T... args)
    -
    T end(T... args)
    -
    T is_sorted(T... args)
    -
    void iterativeQuickSort(std::vector< int > &arr)
    The main sorting function.
    Definition quick_sort_iterative.cpp:58
    - -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    void iterativeQuickSort(std::vector< int > &arr)
    The main sorting function.
    + diff --git a/d3/d22/quick__sort__iterative_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph.map b/d3/d22/quick__sort__iterative_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph.map deleted file mode 100644 index 8ffe4f08f..000000000 --- a/d3/d22/quick__sort__iterative_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph.map +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d3/d22/quick__sort__iterative_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph.md5 b/d3/d22/quick__sort__iterative_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph.md5 deleted file mode 100644 index e36ac93fb..000000000 --- a/d3/d22/quick__sort__iterative_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -158ce392a4ad655ed5e2070c61b55785 \ No newline at end of file diff --git a/d3/d22/quick__sort__iterative_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph.svg b/d3/d22/quick__sort__iterative_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph.svg deleted file mode 100644 index 9f9e9c4c1..000000000 --- a/d3/d22/quick__sort__iterative_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph.svg +++ /dev/null @@ -1,245 +0,0 @@ - - - - - - - - - - - - -tests - - -Node1 - - -tests - - - - - -Node2 - - -std::begin - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::end - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::is_sorted - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -sorting::iterativeQuickSort - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -sorting::partition - - - - - -Node5->Node6 - - - - - - - - -Node8 - - -stack::pop - - - - - -Node5->Node8 - - - - - - - - -Node9 - - -stack::push - - - - - -Node5->Node9 - - - - - - - - -Node11 - - -std::vector::size - - - - - -Node5->Node11 - - - - - - - - -Node12 - - -stack::top - - - - - -Node5->Node12 - - - - - - - - -Node7 - - -std::swap - - - - - -Node6->Node7 - - - - - - - - -Node10 - - -std::make_shared - - - - - -Node9->Node10 - - - - - - - - - - - - - diff --git a/d3/d22/quick__sort__iterative_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph_org.svg b/d3/d22/quick__sort__iterative_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph_org.svg deleted file mode 100644 index afa3fde81..000000000 --- a/d3/d22/quick__sort__iterative_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph_org.svg +++ /dev/null @@ -1,219 +0,0 @@ - - - - - - -tests - - -Node1 - - -tests - - - - - -Node2 - - -std::begin - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::end - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::is_sorted - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -sorting::iterativeQuickSort - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -sorting::partition - - - - - -Node5->Node6 - - - - - - - - -Node8 - - -stack::pop - - - - - -Node5->Node8 - - - - - - - - -Node9 - - -stack::push - - - - - -Node5->Node9 - - - - - - - - -Node11 - - -std::vector::size - - - - - -Node5->Node11 - - - - - - - - -Node12 - - -stack::top - - - - - -Node5->Node12 - - - - - - - - -Node7 - - -std::swap - - - - - -Node6->Node7 - - - - - - - - -Node10 - - -std::make_shared - - - - - -Node9->Node10 - - - - - - - - diff --git a/d3/d22/quick__sort__iterative_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d3/d22/quick__sort__iterative_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 6e462d101..000000000 --- a/d3/d22/quick__sort__iterative_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,27 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d3/d22/quick__sort__iterative_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d3/d22/quick__sort__iterative_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index d7351b2f3..000000000 --- a/d3/d22/quick__sort__iterative_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -59d4a23b72d21f40b7731e0cf5a8a31b \ No newline at end of file diff --git a/d3/d22/quick__sort__iterative_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d3/d22/quick__sort__iterative_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 31d4a50db..000000000 --- a/d3/d22/quick__sort__iterative_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,320 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -tests - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::begin - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::end - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -std::is_sorted - - - - - -Node2->Node5 - - - - - - - - -Node6 - - -sorting::iterativeQuickSort - - - - - -Node2->Node6 - - - - - - - - -Node7 - - -sorting::partition - - - - - -Node6->Node7 - - - - - - - - -Node9 - - -stack::pop - - - - - -Node6->Node9 - - - - - - - - -Node10 - - -stack::push - - - - - -Node6->Node10 - - - - - - - - -Node12 - - -std::vector::size - - - - - -Node6->Node12 - - - - - - - - -Node13 - - -stack::top - - - - - -Node6->Node13 - - - - - - - - -Node8 - - -std::swap - - - - - -Node7->Node8 - - - - - - - - -Node11 - - -std::make_shared - - - - - -Node10->Node11 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d3/d22/quick__sort__iterative_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d3/d22/quick__sort__iterative_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 14e6a101d..000000000 --- a/d3/d22/quick__sort__iterative_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,237 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -tests - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::begin - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::end - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -std::is_sorted - - - - - -Node2->Node5 - - - - - - - - -Node6 - - -sorting::iterativeQuickSort - - - - - -Node2->Node6 - - - - - - - - -Node7 - - -sorting::partition - - - - - -Node6->Node7 - - - - - - - - -Node9 - - -stack::pop - - - - - -Node6->Node9 - - - - - - - - -Node10 - - -stack::push - - - - - -Node6->Node10 - - - - - - - - -Node12 - - -std::vector::size - - - - - -Node6->Node12 - - - - - - - - -Node13 - - -stack::top - - - - - -Node6->Node13 - - - - - - - - -Node8 - - -std::swap - - - - - -Node7->Node8 - - - - - - - - -Node11 - - -std::make_shared - - - - - -Node10->Node11 - - - - - - - - diff --git a/d3/d22/quick__sort__iterative_8cpp_source.html b/d3/d22/quick__sort__iterative_8cpp_source.html new file mode 100644 index 000000000..c3c70c533 --- /dev/null +++ b/d3/d22/quick__sort__iterative_8cpp_source.html @@ -0,0 +1,246 @@ + + + + + + + + +TheAlgorithms/C++: sorting/quick_sort_iterative.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    +

    Functions

    int sorting::partition (std::vector< int > &arr, int start, int end)
    int sorting::partition (std::vector< int > &arr, int start, int end)
     The partition function sorts the array from start to end and uses the last element as the pivot.
     
    void sorting::iterativeQuickSort (std::vector< int > &arr)
    void sorting::iterativeQuickSort (std::vector< int > &arr)
     The main sorting function.
     
    void tests ()
    + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    quick_sort_iterative.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    13#include <iostream>
    +
    14#include <vector>
    +
    15#include <stack>
    +
    16#include <algorithm>
    +
    17#include <cassert>
    +
    18
    +
    19
    +
    24namespace sorting {
    +
    +
    33int partition(std::vector<int> &arr, int start, int end)
    +
    34{
    +
    35 int pivot = arr[end];
    +
    36 int index = start - 1;
    +
    37
    +
    38 for (int j = start; j < end; j++) {
    +
    39 if (arr[j] <= pivot) {
    +
    40 std::swap(arr[++index], arr[j]);
    +
    41 }
    +
    42 }
    +
    43
    +
    44 std::swap(arr[index + 1], arr[end]);
    +
    45 return index + 1;
    +
    46}
    +
    +
    47
    +
    +
    58void iterativeQuickSort(std::vector<int> &arr)
    +
    59{
    +
    60 std::stack<int> stack;
    +
    61 int start = 0;
    +
    62 int end = arr.size()-1;
    +
    63 stack.push(start);
    +
    64 stack.push(end);
    +
    65
    +
    66 while(!stack.empty())
    +
    67 {
    +
    68 end = stack.top();
    +
    69 stack.pop();
    +
    70 start = stack.top();
    +
    71 stack.pop();
    +
    72
    +
    73 int pivotIndex = partition(arr,start,end);
    +
    74
    +
    75 if(pivotIndex -1 > start)
    +
    76 {
    +
    77 stack.push(start);
    +
    78 stack.push(pivotIndex-1);
    +
    79 }
    +
    80
    +
    81 if(pivotIndex+1<end)
    +
    82 {
    +
    83 stack.push(pivotIndex+1);
    +
    84 stack.push(end);
    +
    85 }
    +
    86 }
    +
    87}
    +
    +
    88
    +
    89} // namespace sorting
    +
    +
    94void tests()
    +
    95{
    +
    96 //TEST 1 - Positive numbers
    +
    97 std::vector<int> case1={100,534,1000000,553,10,61,2000,238,2756,9,12,56,30};
    +
    98 std::cout<<"TEST 1\n";
    +
    99 std::cout<<"Before: \n";
    +
    100 for(auto x : case1) std::cout<<x<<",";
    +
    101 std::cout<<"\n";
    + +
    103 assert(std::is_sorted(std::begin(case1),std::end(case1)));
    +
    104 std::cout<<"Test 1 succesful!\n";
    +
    105 std::cout<<"After: \n";
    +
    106 for(auto x : case1) std::cout<<x<<",";
    +
    107 std::cout<<"\n";
    +
    108
    +
    109 //TEST 2 - Negative numbers
    +
    110 std::vector<int> case2={-10,-2,-5,-2,-3746,-785,-123, -452, -32456};
    +
    111 std::cout<<"TEST 2\n";
    +
    112 std::cout<<"Before: \n";
    +
    113 for(auto x : case2) std::cout<<x<<",";
    +
    114 std::cout<<"\n";
    + +
    116 assert(std::is_sorted(std::begin(case2),std::end(case2)));
    +
    117 std::cout<<"Test 2 succesful!\n";
    +
    118 std::cout<<"After: \n";
    +
    119 for(auto x : case2) std::cout<<x<<",";
    +
    120 std::cout<<"\n";
    +
    121}
    +
    +
    122
    +
    123
    +
    +
    128int main()
    +
    129{
    +
    130 tests(); // run self test implementation
    +
    131 return 0;
    +
    132}
    +
    +
    for std::invalid_argument
    Definition stack.hpp:19
    +
    void pop()
    Definition stack.hpp:62
    +
    void push(const value_type &item)
    Definition stack.hpp:47
    +
    value_type top() const
    Definition stack.hpp:56
    +
    for working with vectors
    +
    void iterativeQuickSort(std::vector< int > &arr)
    The main sorting function.
    +
    int partition(std::vector< int > &arr, int start, int end)
    The partition function sorts the array from start to end and uses the last element as the pivot.
    +
    char stack[MAX]
    +
    void tests()
    Self-test implementations.
    +
    int main()
    Main function.
    +
    +
    + + + + diff --git a/d3/d22/saddleback__search_8cpp.html b/d3/d22/saddleback__search_8cpp.html index 28ea0bb0f..9ad2713c7 100644 --- a/d3/d22/saddleback__search_8cpp.html +++ b/d3/d22/saddleback__search_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: search/saddleback_search.cpp File Reference +TheAlgorithms/C++: search/saddleback_search.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -122,7 +139,9 @@ Include dependency graph for saddleback_search.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -134,7 +153,7 @@ Namespaces

    Namespaces

    namespace  search
    - + @@ -147,6 +166,8 @@ Functions

    Implementation of Saddleback Algorithm for 2D arrays.

    Saddleback Algorithm is an algorithm that searches 2D array in linear time, i.e, O(m + n), where m is number of rows and n is number of columns of 2D array. Also, each row and column of the matrix should be sorted beforehand for this algorithm to work.

    Author
    Hashir Niazi
    + +

    Definition in file saddleback_search.cpp.

    Function Documentation

    ◆ main()

    @@ -165,17 +186,14 @@ Functions

    Main function.

    Returns
    0 on exit
    + +

    Definition at line 112 of file saddleback_search.cpp.

    112 {
    113 test(); // execute the tests
    114 return 0;
    115}
    -
    static void test()
    Test implementations.
    Definition saddleback_search.cpp:78
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static void test()
    Test implementations.
    + @@ -185,9 +203,9 @@ Here is the call graph for this function:

    Functions

    std::pair< uint32_t, uint32_t > search::saddleback::saddleback (std::vector< std::vector< int32_t > > matrix, int32_t element)
    std::pair< uint32_t, uint32_t > search::saddleback::saddleback (std::vector< std::vector< int32_t > > matrix, int32_t element)
     
    static void test ()
     Test implementations.
    - + - + @@ -203,27 +221,29 @@ Here is the call graph for this function:
    std::pair< uint32_t, uint32_t > search::saddleback::saddleback std::pair< uint32_t, uint32_t > search::saddleback::saddleback (std::vector< std::vector< int32_t > > matrix, std::vector< std::vector< int32_t > > matrix,
    -
    Returns
    An std::pair of with row and column populated within it, if the element is present.
    +
    Returns
    An std::pair of with row and column populated within it, if the element is present.
    -An std::pair with (0, 0), if the element is not present.
    +An std::pair with (0, 0), if the element is not present.
    + +

    Definition at line 39 of file saddleback_search.cpp.

    40 {
    41 uint32_t left_index = 0;
    -
    42 uint32_t right_index = matrix[0].size() - 1; // Start from top right corner
    +
    42 uint32_t right_index = matrix[0].size() - 1; // Start from top right corner
    43 while (left_index <
    -
    44 matrix.size()) { // Exit once the value of indexes get out of range.
    +
    44 matrix.size()) { // Exit once the value of indexes get out of range.
    45 if (element ==
    -
    46 matrix[left_index]
    +
    46 matrix[left_index]
    47 [right_index]) { // If value on this position of matrix is
    48 // equal to element, return (row, column).
    -
    49 return std::make_pair(left_index + 1, right_index + 1);
    +
    49 return std::make_pair(left_index + 1, right_index + 1);
    50 } else if (element >
    -
    51 matrix[left_index]
    +
    51 matrix[left_index]
    52 [right_index]) { // Else if value on this position of
    53 // matrix is less than the element,
    54 // move left.
    55 ++left_index;
    56 } else if (element <
    -
    57 matrix[left_index]
    +
    57 matrix[left_index]
    58 [right_index]) { // Else if value on this position of
    59 // matrix is greater than the
    60 // element, move down.
    @@ -233,19 +253,12 @@ An 64 --right_index;
    65 }
    66 }
    -
    +
    67 return std::make_pair(
    68 0, 0); // If the program reaches here, that means one of the index
    69 // went out of index, hence no element present.
    70}
    -
    T make_pair(T... args)
    -
    T size(T... args)
    - -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    std::vector< std::valarray< T > > matrix
    + @@ -273,43 +286,39 @@ Here is the call graph for this function:

    Test implementations.

    Returns
    void
    + +

    Definition at line 78 of file saddleback_search.cpp.

    78 {
    -
    79 std::vector<std::vector<int32_t>> matrix = {{1, 10, 100, 1000, 10000},
    +
    79 std::vector<std::vector<int32_t>> matrix = {{1, 10, 100, 1000, 10000},
    80 {2, 20, 200, 2000, 20000},
    81 {3, 30, 300, 3000, 30000},
    82 {4, 40, 400, 4000, 40000},
    83 {5, 50, 500, 5000, 50000}};
    84
    - - +
    85 std::pair<uint32_t, uint32_t> not_found = std::make_pair(0, 0);
    +
    86 std::pair<uint32_t, uint32_t> test_answer;
    87 // Test 1
    - - +
    88 std::pair<uint32_t, uint32_t> answer1 =
    +
    90 assert(not_found == answer1);
    91 // Test 2
    - +
    93 assert(not_found == answer1);
    94 // Test 3
    - -
    96 test_answer = std::make_pair(1, 1);
    + +
    96 test_answer = std::make_pair(1, 1);
    97 assert(test_answer == answer1);
    98 // Test 4
    -
    99 answer1 = search::saddleback::saddleback(matrix, 50000);
    -
    100 test_answer = std::make_pair(5, 5);
    +
    99 answer1 = search::saddleback::saddleback(matrix, 50000);
    +
    100 test_answer = std::make_pair(5, 5);
    101 assert(test_answer == answer1);
    102 // Test 5
    - -
    104 test_answer = std::make_pair(3, 3);
    + +
    104 test_answer = std::make_pair(3, 3);
    105 assert(test_answer == answer1);
    106}
    - -
    std::pair< uint32_t, uint32_t > saddleback(std::vector< std::vector< int32_t > > matrix, int32_t element)
    Definition saddleback_search.cpp:39
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    std::pair< uint32_t, uint32_t > saddleback(std::vector< std::vector< int32_t > > matrix, int32_t element)
    + diff --git a/d3/d22/saddleback__search_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map b/d3/d22/saddleback__search_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map deleted file mode 100644 index a6da5bdb7..000000000 --- a/d3/d22/saddleback__search_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d3/d22/saddleback__search_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 b/d3/d22/saddleback__search_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 deleted file mode 100644 index 6e32ee08b..000000000 --- a/d3/d22/saddleback__search_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -5ce391fd56a3c13bdf8c21ea50e4f900 \ No newline at end of file diff --git a/d3/d22/saddleback__search_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg b/d3/d22/saddleback__search_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg deleted file mode 100644 index 16698d8e3..000000000 --- a/d3/d22/saddleback__search_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -std::make_pair - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d3/d22/saddleback__search_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg b/d3/d22/saddleback__search_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg deleted file mode 100644 index 2c8544738..000000000 --- a/d3/d22/saddleback__search_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -std::make_pair - - - - - -Node1->Node2 - - - - - - - - diff --git a/d3/d22/saddleback__search_8cpp_ad1e0ca34797d88490747c08eca70a2e6_cgraph.map b/d3/d22/saddleback__search_8cpp_ad1e0ca34797d88490747c08eca70a2e6_cgraph.map deleted file mode 100644 index 7bea522e5..000000000 --- a/d3/d22/saddleback__search_8cpp_ad1e0ca34797d88490747c08eca70a2e6_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/d3/d22/saddleback__search_8cpp_ad1e0ca34797d88490747c08eca70a2e6_cgraph.md5 b/d3/d22/saddleback__search_8cpp_ad1e0ca34797d88490747c08eca70a2e6_cgraph.md5 deleted file mode 100644 index 46cd4df2d..000000000 --- a/d3/d22/saddleback__search_8cpp_ad1e0ca34797d88490747c08eca70a2e6_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -c064d6185c6987dad57149f03a718a5d \ No newline at end of file diff --git a/d3/d22/saddleback__search_8cpp_ad1e0ca34797d88490747c08eca70a2e6_cgraph.svg b/d3/d22/saddleback__search_8cpp_ad1e0ca34797d88490747c08eca70a2e6_cgraph.svg deleted file mode 100644 index 9d9794da3..000000000 --- a/d3/d22/saddleback__search_8cpp_ad1e0ca34797d88490747c08eca70a2e6_cgraph.svg +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - - - - - -search::saddleback::saddleback - - -Node1 - - -search::saddleback -::saddleback - - - - - -Node2 - - -std::make_pair - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::vector::size - - - - - -Node1->Node3 - - - - - - - - - - - - - diff --git a/d3/d22/saddleback__search_8cpp_ad1e0ca34797d88490747c08eca70a2e6_cgraph_org.svg b/d3/d22/saddleback__search_8cpp_ad1e0ca34797d88490747c08eca70a2e6_cgraph_org.svg deleted file mode 100644 index ee63a13ab..000000000 --- a/d3/d22/saddleback__search_8cpp_ad1e0ca34797d88490747c08eca70a2e6_cgraph_org.svg +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - -search::saddleback::saddleback - - -Node1 - - -search::saddleback -::saddleback - - - - - -Node2 - - -std::make_pair - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::vector::size - - - - - -Node1->Node3 - - - - - - - - diff --git a/d3/d22/saddleback__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d3/d22/saddleback__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index af84e5270..000000000 --- a/d3/d22/saddleback__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/d3/d22/saddleback__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d3/d22/saddleback__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index 952846481..000000000 --- a/d3/d22/saddleback__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -00e379748516a0b917af9960f76c6896 \ No newline at end of file diff --git a/d3/d22/saddleback__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d3/d22/saddleback__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 63f73f27d..000000000 --- a/d3/d22/saddleback__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::make_pair - - - - - -Node2->Node3 - - - - - - - - - - - - - diff --git a/d3/d22/saddleback__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d3/d22/saddleback__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 4086d1832..000000000 --- a/d3/d22/saddleback__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::make_pair - - - - - -Node2->Node3 - - - - - - - - diff --git a/d3/d22/saddleback__search_8cpp_source.html b/d3/d22/saddleback__search_8cpp_source.html new file mode 100644 index 000000000..3bbda4a7e --- /dev/null +++ b/d3/d22/saddleback__search_8cpp_source.html @@ -0,0 +1,225 @@ + + + + + + + + +TheAlgorithms/C++: search/saddleback_search.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    saddleback_search.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    15#include <cassert>
    +
    16#include <cstdint>
    +
    17#include <iostream>
    +
    18#include <vector>
    +
    19
    +
    23namespace search {
    +
    28namespace saddleback {
    +
    +
    39std::pair<uint32_t, uint32_t> saddleback(
    +
    40 std::vector<std::vector<int32_t>> matrix, int32_t element) {
    +
    41 uint32_t left_index = 0;
    +
    42 uint32_t right_index = matrix[0].size() - 1; // Start from top right corner
    +
    43 while (left_index <
    +
    44 matrix.size()) { // Exit once the value of indexes get out of range.
    +
    45 if (element ==
    +
    46 matrix[left_index]
    +
    47 [right_index]) { // If value on this position of matrix is
    +
    48 // equal to element, return (row, column).
    +
    49 return std::make_pair(left_index + 1, right_index + 1);
    +
    50 } else if (element >
    +
    51 matrix[left_index]
    +
    52 [right_index]) { // Else if value on this position of
    +
    53 // matrix is less than the element,
    +
    54 // move left.
    +
    55 ++left_index;
    +
    56 } else if (element <
    +
    57 matrix[left_index]
    +
    58 [right_index]) { // Else if value on this position of
    +
    59 // matrix is greater than the
    +
    60 // element, move down.
    +
    61 if (!right_index)
    +
    62 break;
    +
    63 else
    +
    64 --right_index;
    +
    65 }
    +
    66 }
    +
    67 return std::make_pair(
    +
    68 0, 0); // If the program reaches here, that means one of the index
    +
    69 // went out of index, hence no element present.
    +
    70}
    +
    +
    71} // namespace saddleback
    +
    72} // namespace search
    +
    73
    +
    +
    78static void test() {
    +
    79 std::vector<std::vector<int32_t>> matrix = {{1, 10, 100, 1000, 10000},
    +
    80 {2, 20, 200, 2000, 20000},
    +
    81 {3, 30, 300, 3000, 30000},
    +
    82 {4, 40, 400, 4000, 40000},
    +
    83 {5, 50, 500, 5000, 50000}};
    +
    84
    +
    85 std::pair<uint32_t, uint32_t> not_found = std::make_pair(0, 0);
    +
    86 std::pair<uint32_t, uint32_t> test_answer;
    +
    87 // Test 1
    +
    88 std::pair<uint32_t, uint32_t> answer1 =
    +
    89 search::saddleback::saddleback(matrix, 123);
    +
    90 assert(not_found == answer1);
    +
    91 // Test 2
    +
    92 answer1 = search::saddleback::saddleback(matrix, 0);
    +
    93 assert(not_found == answer1);
    +
    94 // Test 3
    +
    95 answer1 = search::saddleback::saddleback(matrix, 1);
    +
    96 test_answer = std::make_pair(1, 1);
    +
    97 assert(test_answer == answer1);
    +
    98 // Test 4
    +
    99 answer1 = search::saddleback::saddleback(matrix, 50000);
    +
    100 test_answer = std::make_pair(5, 5);
    +
    101 assert(test_answer == answer1);
    +
    102 // Test 5
    +
    103 answer1 = search::saddleback::saddleback(matrix, 300);
    +
    104 test_answer = std::make_pair(3, 3);
    +
    105 assert(test_answer == answer1);
    +
    106}
    +
    +
    107
    +
    +
    112int main() {
    +
    113 test(); // execute the tests
    +
    114 return 0;
    +
    115}
    +
    +
    std::vector< std::valarray< T > > matrix
    +
    Function for implementing Saddleback Algorithm.
    +
    for std::assert
    +
    static void test()
    Test implementations.
    +
    int main()
    Main function.
    +
    +
    + + + + diff --git a/d3/d24/qr__decomposition_8cpp.html b/d3/d24/qr__decomposition_8cpp.html index a1047281d..6cd28596d 100644 --- a/d3/d24/qr__decomposition_8cpp.html +++ b/d3/d24/qr__decomposition_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: numerical_methods/qr_decomposition.cpp File Reference +TheAlgorithms/C++: numerical_methods/qr_decomposition.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -123,7 +140,9 @@ Include dependency graph for qr_decomposition.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -132,6 +151,8 @@ Functions

    Detailed Description

    Program to compute the QR decomposition of a given matrix.

    Author
    Krishna Vedala
    + +

    Definition in file qr_decomposition.cpp.

    Function Documentation

    ◆ main()

    @@ -148,53 +169,45 @@ Functions

    Functions

    int main (void)

    main function

    + +

    Definition at line 23 of file qr_decomposition.cpp.

    23 {
    24 unsigned int ROWS, COLUMNS;
    25
    -
    26 std::cout << "Enter the number of rows and columns: ";
    -
    27 std::cin >> ROWS >> COLUMNS;
    +
    26 std::cout << "Enter the number of rows and columns: ";
    +
    27 std::cin >> ROWS >> COLUMNS;
    28
    -
    29 std::cout << "Enter matrix elements row-wise:\n";
    +
    29 std::cout << "Enter matrix elements row-wise:\n";
    30
    - - - -
    34 for (int i = 0; i < std::max(ROWS, COLUMNS); i++) {
    +
    31 std::valarray<std::valarray<double>> A(ROWS);
    +
    32 std::valarray<std::valarray<double>> Q(ROWS);
    +
    33 std::valarray<std::valarray<double>> R(COLUMNS);
    +
    34 for (int i = 0; i < std::max(ROWS, COLUMNS); i++) {
    35 if (i < ROWS) {
    -
    36 A[i] = std::valarray<double>(COLUMNS);
    -
    37 Q[i] = std::valarray<double>(COLUMNS);
    +
    36 A[i] = std::valarray<double>(COLUMNS);
    +
    37 Q[i] = std::valarray<double>(COLUMNS);
    38 }
    39 if (i < COLUMNS) {
    -
    40 R[i] = std::valarray<double>(COLUMNS);
    +
    40 R[i] = std::valarray<double>(COLUMNS);
    41 }
    42 }
    43
    44 for (int i = 0; i < ROWS; i++)
    45 for (int j = 0; j < COLUMNS; j++) std::cin >> A[i][j];
    46
    -
    47 std::cout << A << "\n";
    +
    47 std::cout << A << "\n";
    48
    -
    49 clock_t t1 = clock();
    +
    49 clock_t t1 = clock();
    50 qr_decompose(A, &Q, &R);
    -
    51 double dtime = static_cast<double>(clock() - t1) / CLOCKS_PER_SEC;
    +
    51 double dtime = static_cast<double>(clock() - t1) / CLOCKS_PER_SEC;
    52
    -
    53 std::cout << Q << "\n";
    -
    54 std::cout << R << "\n";
    -
    55 std::cout << "Time taken to compute: " << dtime << " sec\n ";
    +
    53 std::cout << Q << "\n";
    +
    54 std::cout << R << "\n";
    +
    55 std::cout << "Time taken to compute: " << dtime << " sec\n ";
    56
    57 return 0;
    58}
    - - -
    T clock(T... args)
    -
    T max(T... args)
    - -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    diff --git a/d3/d24/qr__decomposition_8cpp_a840291bc02cba5474a4cb46a9b9566fe_cgraph.map b/d3/d24/qr__decomposition_8cpp_a840291bc02cba5474a4cb46a9b9566fe_cgraph.map deleted file mode 100644 index 87708cd15..000000000 --- a/d3/d24/qr__decomposition_8cpp_a840291bc02cba5474a4cb46a9b9566fe_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d3/d24/qr__decomposition_8cpp_a840291bc02cba5474a4cb46a9b9566fe_cgraph.md5 b/d3/d24/qr__decomposition_8cpp_a840291bc02cba5474a4cb46a9b9566fe_cgraph.md5 deleted file mode 100644 index c1a37b9f4..000000000 --- a/d3/d24/qr__decomposition_8cpp_a840291bc02cba5474a4cb46a9b9566fe_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -cfcc9d22fdb0436cf64f69e1bb02b4b4 \ No newline at end of file diff --git a/d3/d24/qr__decomposition_8cpp_a840291bc02cba5474a4cb46a9b9566fe_cgraph.svg b/d3/d24/qr__decomposition_8cpp_a840291bc02cba5474a4cb46a9b9566fe_cgraph.svg deleted file mode 100644 index 36271053b..000000000 --- a/d3/d24/qr__decomposition_8cpp_a840291bc02cba5474a4cb46a9b9566fe_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -std::max - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d3/d24/qr__decomposition_8cpp_a840291bc02cba5474a4cb46a9b9566fe_cgraph_org.svg b/d3/d24/qr__decomposition_8cpp_a840291bc02cba5474a4cb46a9b9566fe_cgraph_org.svg deleted file mode 100644 index a1d93057c..000000000 --- a/d3/d24/qr__decomposition_8cpp_a840291bc02cba5474a4cb46a9b9566fe_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -std::max - - - - - -Node1->Node2 - - - - - - - - diff --git a/d3/d24/qr__decomposition_8cpp_source.html b/d3/d24/qr__decomposition_8cpp_source.html new file mode 100644 index 000000000..96b4524a4 --- /dev/null +++ b/d3/d24/qr__decomposition_8cpp_source.html @@ -0,0 +1,190 @@ + + + + + + + + +TheAlgorithms/C++: numerical_methods/qr_decomposition.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    qr_decomposition.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    9#include <array>
    +
    10#include <cmath>
    +
    11#include <cstdlib>
    +
    12#include <ctime>
    +
    13#include <iostream>
    +
    14
    +
    15#include "./qr_decompose.h"
    +
    16
    + +
    18using qr_algorithm::operator<<;
    +
    19
    +
    +
    23int main(void) {
    +
    24 unsigned int ROWS, COLUMNS;
    +
    25
    +
    26 std::cout << "Enter the number of rows and columns: ";
    +
    27 std::cin >> ROWS >> COLUMNS;
    +
    28
    +
    29 std::cout << "Enter matrix elements row-wise:\n";
    +
    30
    +
    31 std::valarray<std::valarray<double>> A(ROWS);
    +
    32 std::valarray<std::valarray<double>> Q(ROWS);
    +
    33 std::valarray<std::valarray<double>> R(COLUMNS);
    +
    34 for (int i = 0; i < std::max(ROWS, COLUMNS); i++) {
    +
    35 if (i < ROWS) {
    +
    36 A[i] = std::valarray<double>(COLUMNS);
    +
    37 Q[i] = std::valarray<double>(COLUMNS);
    +
    38 }
    +
    39 if (i < COLUMNS) {
    +
    40 R[i] = std::valarray<double>(COLUMNS);
    +
    41 }
    +
    42 }
    +
    43
    +
    44 for (int i = 0; i < ROWS; i++)
    +
    45 for (int j = 0; j < COLUMNS; j++) std::cin >> A[i][j];
    +
    46
    +
    47 std::cout << A << "\n";
    +
    48
    +
    49 clock_t t1 = clock();
    +
    50 qr_decompose(A, &Q, &R);
    +
    51 double dtime = static_cast<double>(clock() - t1) / CLOCKS_PER_SEC;
    +
    52
    +
    53 std::cout << Q << "\n";
    +
    54 std::cout << R << "\n";
    +
    55 std::cout << "Time taken to compute: " << dtime << " sec\n ";
    +
    56
    +
    57 return 0;
    +
    58}
    +
    +
    void qr_decompose(const std::valarray< std::valarray< T > > &A, std::valarray< std::valarray< T > > *Q, std::valarray< std::valarray< T > > *R)
    +
    Library functions to compute QR decomposition of a given matrix.
    +
    int main(void)
    +
    +
    + + + + diff --git a/d3/d25/classdata__structures_1_1_stack-members.html b/d3/d25/classdata__structures_1_1_stack-members.html index 963826600..ab7b5ec7e 100644 --- a/d3/d25/classdata__structures_1_1_stack-members.html +++ b/d3/d25/classdata__structures_1_1_stack-members.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Member List +TheAlgorithms/C++: Member List + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/d3/d26/binary__search__tree_8cpp.html b/d3/d26/binary__search__tree_8cpp.html index 2513f5ef8..23a0aeb56 100644 --- a/d3/d26/binary__search__tree_8cpp.html +++ b/d3/d26/binary__search__tree_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: data_structures/binary_search_tree.cpp File Reference +TheAlgorithms/C++: data_structures/binary_search_tree.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + @@ -120,7 +137,9 @@ Include dependency graph for binary_search_tree.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -153,14 +172,15 @@ Functions

    Classes

    class  node
    - +

    Variables

    -Queue queue
    Queue queue
     

    Detailed Description

    A simple tree implementation using structured nodes.

    Todo
    update code to use C++ STL library features and OO structure
    Warning
    This program is a poor implementation - C style - and does not utilize any of the C++ STL features.
    + +

    Definition in file binary_search_tree.cpp.

    Function Documentation

    ◆ BFT()

    @@ -176,15 +196,16 @@ Variables
    + +

    Definition at line 92 of file binary_search_tree.cpp.

    92 {
    93 if (n != NULL) {
    -
    94 std::cout << n->val << " ";
    +
    94 std::cout << n->val << " ";
    95 enqueue(n->left);
    96 enqueue(n->right);
    97 BFT(dequeue());
    98 }
    99}
    -
    @@ -202,9 +223,11 @@ Variables
    + +

    Definition at line 27 of file binary_search_tree.cpp.

    27{ return (queue.t[queue.front++]); }
    -
    Definition queue.hpp:9
    -
    value_type front() const
    Definition queue.hpp:72
    +
    Definition queue.hpp:9
    +
    value_type front() const
    Definition queue.hpp:72
    @@ -222,6 +245,8 @@ Variables
    + +

    Definition at line 25 of file binary_search_tree.cpp.

    25{ queue.t[queue.rear++] = n; }
    @@ -240,6 +265,8 @@ Variables
    + +

    Definition at line 53 of file binary_search_tree.cpp.

    53 {
    54 while (n->right != NULL) {
    55 n = n->right;
    @@ -263,10 +290,12 @@ Variables
    + +

    Definition at line 109 of file binary_search_tree.cpp.

    109 {
    110 if (n != NULL) {
    111 In(n->left);
    -
    112 std::cout << n->val << " ";
    +
    112 std::cout << n->val << " ";
    113 In(n->right);
    114 }
    115}
    @@ -291,6 +320,8 @@ Variables
    + +

    Definition at line 29 of file binary_search_tree.cpp.

    29 {
    30 if (x < n->val) {
    31 if (n->left == NULL) {
    @@ -314,8 +345,8 @@ Variables
    49 }
    50 }
    51}
    -
    struct node { int data; int height; struct node *left; struct node *right;} node
    for std::queue
    Definition avltree.cpp:13
    -
    Definition binary_search_tree.cpp:11
    +
    struct node { int data; int height; struct node *left; struct node *right;} node
    for std::queue
    Definition avltree.cpp:13
    +
    @@ -333,37 +364,39 @@ Variables
    + +

    Definition at line 125 of file binary_search_tree.cpp.

    125 {
    126 queue.front = 0;
    127 queue.rear = 0;
    128 int value;
    129 int ch;
    130 node *root = new node;
    -
    131 std::cout << "\nEnter the value of root node :";
    -
    132 std::cin >> value;
    +
    131 std::cout << "\nEnter the value of root node :";
    +
    132 std::cin >> value;
    133 root->val = value;
    134 root->left = NULL;
    135 root->right = NULL;
    136 do {
    -
    137 std::cout << "\n1. Insert"
    +
    137 std::cout << "\n1. Insert"
    138 << "\n2. Delete"
    139 << "\n3. Breadth First"
    140 << "\n4. Preorder Depth First"
    141 << "\n5. Inorder Depth First"
    142 << "\n6. Postorder Depth First";
    143
    -
    144 std::cout << "\nEnter Your Choice : ";
    -
    145 std::cin >> ch;
    +
    144 std::cout << "\nEnter Your Choice : ";
    +
    145 std::cin >> ch;
    146 int x;
    147 switch (ch) {
    148 case 1:
    -
    149 std::cout << "\nEnter the value to be Inserted : ";
    -
    150 std::cin >> x;
    +
    149 std::cout << "\nEnter the value to be Inserted : ";
    +
    150 std::cin >> x;
    151 Insert(root, x);
    152 break;
    153 case 2:
    -
    154 std::cout << "\nEnter the value to be Deleted : ";
    -
    155 std::cin >> x;
    +
    154 std::cout << "\nEnter the value to be Deleted : ";
    +
    155 std::cin >> x;
    156 Remove(root, root, x);
    157 break;
    158 case 3:
    @@ -383,7 +416,6 @@ Variables
    172
    173 return 0;
    174}
    -
    @@ -401,11 +433,13 @@ Variables
    + +

    Definition at line 117 of file binary_search_tree.cpp.

    117 {
    118 if (n != NULL) {
    119 Post(n->left);
    120 Post(n->right);
    -
    121 std::cout << n->val << " ";
    +
    121 std::cout << n->val << " ";
    122 }
    123}
    @@ -425,9 +459,11 @@ Variables
    + +

    Definition at line 101 of file binary_search_tree.cpp.

    101 {
    102 if (n != NULL) {
    -
    103 std::cout << n->val << " ";
    +
    103 std::cout << n->val << " ";
    104 Pre(n->left);
    105 Pre(n->right);
    106 }
    @@ -458,6 +494,8 @@ Variables
    + +

    Definition at line 60 of file binary_search_tree.cpp.

    60 {
    61 if (n->val == x) {
    62 if (n->right == NULL && n->left == NULL) {
    @@ -490,6 +528,23 @@ Variables
    89 }
    90}
    +
    +
    +

    Variable Documentation

    + +

    ◆ queue

    + +
    +
    + + + + +
    Queue queue
    +
    + +

    Definition at line 23 of file binary_search_tree.cpp.

    +
    diff --git a/d3/d26/binary__search__tree_8cpp_source.html b/d3/d26/binary__search__tree_8cpp_source.html new file mode 100644 index 000000000..5659aa60a --- /dev/null +++ b/d3/d26/binary__search__tree_8cpp_source.html @@ -0,0 +1,314 @@ + + + + + + + + +TheAlgorithms/C++: data_structures/binary_search_tree.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    binary_search_tree.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    9#include <iostream>
    +
    10
    +
    +
    11struct node {
    +
    12 int val;
    +
    13 node *left;
    +
    14 node *right;
    +
    15};
    +
    +
    16
    +
    +
    17struct Queue {
    +
    18 node *t[100];
    +
    19 int front;
    +
    20 int rear;
    +
    21};
    +
    +
    22
    + +
    24
    +
    25void enqueue(node *n) { queue.t[queue.rear++] = n; }
    +
    26
    +
    27node *dequeue() { return (queue.t[queue.front++]); }
    +
    28
    +
    29void Insert(node *n, int x) {
    +
    30 if (x < n->val) {
    +
    31 if (n->left == NULL) {
    +
    32 node *temp = new node;
    +
    33 temp->val = x;
    +
    34 temp->left = NULL;
    +
    35 temp->right = NULL;
    +
    36 n->left = temp;
    +
    37 } else {
    +
    38 Insert(n->left, x);
    +
    39 }
    +
    40 } else {
    +
    41 if (n->right == NULL) {
    +
    42 node *temp = new node;
    +
    43 temp->val = x;
    +
    44 temp->left = NULL;
    +
    45 temp->right = NULL;
    +
    46 n->right = temp;
    +
    47 } else {
    +
    48 Insert(n->right, x);
    +
    49 }
    +
    50 }
    +
    51}
    +
    52
    +
    53int findMaxInLeftST(node *n) {
    +
    54 while (n->right != NULL) {
    +
    55 n = n->right;
    +
    56 }
    +
    57 return n->val;
    +
    58}
    +
    59
    +
    60void Remove(node *p, node *n, int x) {
    +
    61 if (n->val == x) {
    +
    62 if (n->right == NULL && n->left == NULL) {
    +
    63 if (x < p->val) {
    +
    64 p->right = NULL;
    +
    65 } else {
    +
    66 p->left = NULL;
    +
    67 }
    +
    68 } else if (n->right == NULL) {
    +
    69 if (x < p->val) {
    +
    70 p->right = n->left;
    +
    71 } else {
    +
    72 p->left = n->left;
    +
    73 }
    +
    74 } else if (n->left == NULL) {
    +
    75 if (x < p->val) {
    +
    76 p->right = n->right;
    +
    77 } else {
    +
    78 p->left = n->right;
    +
    79 }
    +
    80 } else {
    +
    81 int y = findMaxInLeftST(n->left);
    +
    82 n->val = y;
    +
    83 Remove(n, n->right, y);
    +
    84 }
    +
    85 } else if (x < n->val) {
    +
    86 Remove(n, n->left, x);
    +
    87 } else {
    +
    88 Remove(n, n->right, x);
    +
    89 }
    +
    90}
    +
    91
    +
    92void BFT(node *n) {
    +
    93 if (n != NULL) {
    +
    94 std::cout << n->val << " ";
    +
    95 enqueue(n->left);
    +
    96 enqueue(n->right);
    +
    97 BFT(dequeue());
    +
    98 }
    +
    99}
    +
    100
    +
    101void Pre(node *n) {
    +
    102 if (n != NULL) {
    +
    103 std::cout << n->val << " ";
    +
    104 Pre(n->left);
    +
    105 Pre(n->right);
    +
    106 }
    +
    107}
    +
    108
    +
    109void In(node *n) {
    +
    110 if (n != NULL) {
    +
    111 In(n->left);
    +
    112 std::cout << n->val << " ";
    +
    113 In(n->right);
    +
    114 }
    +
    115}
    +
    116
    +
    117void Post(node *n) {
    +
    118 if (n != NULL) {
    +
    119 Post(n->left);
    +
    120 Post(n->right);
    +
    121 std::cout << n->val << " ";
    +
    122 }
    +
    123}
    +
    124
    +
    125int main() {
    +
    126 queue.front = 0;
    +
    127 queue.rear = 0;
    +
    128 int value;
    +
    129 int ch;
    +
    130 node *root = new node;
    +
    131 std::cout << "\nEnter the value of root node :";
    +
    132 std::cin >> value;
    +
    133 root->val = value;
    +
    134 root->left = NULL;
    +
    135 root->right = NULL;
    +
    136 do {
    +
    137 std::cout << "\n1. Insert"
    +
    138 << "\n2. Delete"
    +
    139 << "\n3. Breadth First"
    +
    140 << "\n4. Preorder Depth First"
    +
    141 << "\n5. Inorder Depth First"
    +
    142 << "\n6. Postorder Depth First";
    +
    143
    +
    144 std::cout << "\nEnter Your Choice : ";
    +
    145 std::cin >> ch;
    +
    146 int x;
    +
    147 switch (ch) {
    +
    148 case 1:
    +
    149 std::cout << "\nEnter the value to be Inserted : ";
    +
    150 std::cin >> x;
    +
    151 Insert(root, x);
    +
    152 break;
    +
    153 case 2:
    +
    154 std::cout << "\nEnter the value to be Deleted : ";
    +
    155 std::cin >> x;
    +
    156 Remove(root, root, x);
    +
    157 break;
    +
    158 case 3:
    +
    159 BFT(root);
    +
    160 break;
    +
    161 case 4:
    +
    162 Pre(root);
    +
    163 break;
    +
    164 case 5:
    +
    165 In(root);
    +
    166 break;
    +
    167 case 6:
    +
    168 Post(root);
    +
    169 break;
    +
    170 }
    +
    171 } while (ch != 0);
    +
    172
    +
    173 return 0;
    +
    174}
    +
    struct node { int data; int height; struct node *left; struct node *right;} node
    for std::queue
    Definition avltree.cpp:13
    +
    Definition queue.hpp:9
    +
    value_type front() const
    Definition queue.hpp:72
    +
    int main()
    Main function.
    + + +
    +
    + + + + diff --git a/d3/d26/classdata__structures_1_1trie__using__hashmap_1_1_trie.html b/d3/d26/classdata__structures_1_1trie__using__hashmap_1_1_trie.html index a1ce70fe2..c7d1e2d4d 100644 --- a/d3/d26/classdata__structures_1_1trie__using__hashmap_1_1_trie.html +++ b/d3/d26/classdata__structures_1_1trie__using__hashmap_1_1_trie.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: data_structures::trie_using_hashmap::Trie Class Reference +TheAlgorithms/C++: data_structures::trie_using_hashmap::Trie Class Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -133,33 +150,35 @@ Public Member Functions   - + - + - + - + - + - +
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    Trie ()=default
     < Constructor
     
    void insert (const std::string &word)
    void insert (const std::string &word)
     insert the string into the trie
     
    bool search (const std::string &word)
    bool search (const std::string &word)
     search a word/string inside the trie
     
    bool startwith (const std::string &prefix)
    bool startwith (const std::string &prefix)
     search a word/string that starts with a given prefix
     
    void delete_word (std::string word)
    void delete_word (std::string word)
     delete a word/string from a trie
     
    std::vector< std::stringget_all_words (std::vector< std::string > results, const std::shared_ptr< Node > &element, std::string prefix)
    std::vector< std::string > get_all_words (std::vector< std::string > results, const std::shared_ptr< Node > &element, std::string prefix)
     helper function to predict/recommend words that starts with a given prefix from the end of prefix's node iterate through all the child nodes by recursively appending all the possible words below the trie
     
    std::vector< std::stringpredict_words (const std::string &prefix)
    std::vector< std::string > predict_words (const std::string &prefix)
     predict/recommend a word that starts with a given prefix
     
    - +

    Private Attributes

    std::shared_ptr< Noderoot_node
    std::shared_ptr< Noderoot_node
     declaring root node of trie
     

    Detailed Description

    Trie class, implementation of trie using hashmap in each trie node for all the characters of char16_t(UTF-16)type with methods to insert, delete, search, start with and to recommend words based on a given prefix.

    + +

    Definition at line 39 of file trie_using_hashmap.cpp.

    Member Function Documentation

    ◆ delete_word()

    @@ -173,7 +192,7 @@ Private Attributes void data_structures::trie_using_hashmap::Trie::delete_word ( - std::string word) + std::string word) @@ -191,9 +210,11 @@ Private Attributes + +

    Definition at line 122 of file trie_using_hashmap.cpp.

    122 {
    - - +
    123 std::shared_ptr<Node> curr = root_node;
    +
    124 std::stack<std::shared_ptr<Node>> nodes;
    125 int cnt = 0;
    126 for (char ch : word) {
    127 if (curr->children.find(ch) == curr->children.end()) {
    @@ -203,34 +224,24 @@ Private Attributes
    131 cnt++;
    132 }
    133
    -
    134 nodes.push(curr->children[ch]);
    +
    134 nodes.push(curr->children[ch]);
    135 curr = curr->children[ch];
    136 }
    137 // Delete only when it's a word, and it has children after
    138 // or prefix in the line
    -
    139 if (nodes.top()->word_end) {
    -
    140 nodes.top()->word_end = false;
    +
    139 if (nodes.top()->word_end) {
    +
    140 nodes.top()->word_end = false;
    141 }
    142 // Delete only when it has no children after
    143 // and also no prefix in the line
    -
    144 while (!(nodes.top()->word_end) && nodes.top()->children.empty()) {
    -
    145 nodes.pop();
    -
    146 nodes.top()->children.erase(word.back());
    +
    144 while (!(nodes.top()->word_end) && nodes.top()->children.empty()) {
    +
    145 nodes.pop();
    +
    146 nodes.top()->children.erase(word.back());
    147 word.pop_back();
    148 }
    149 }
    -
    std::shared_ptr< Node > root_node
    declaring root node of trie
    Definition trie_using_hashmap.cpp:51
    -
    T pop(T... args)
    -
    T push(T... args)
    - - -
    T top(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    std::shared_ptr< Node > root_node
    declaring root node of trie
    +
    @@ -243,19 +254,19 @@ Here is the call graph for this function: - + - + - + - +
    std::vector< std::string > data_structures::trie_using_hashmap::Trie::get_all_words std::vector< std::string > data_structures::trie_using_hashmap::Trie::get_all_words (std::vector< std::string > results, std::vector< std::string > results,
    const std::shared_ptr< Node > & element, const std::shared_ptr< Node > & element,
    std::string prefix )std::string prefix )
    @@ -275,38 +286,32 @@ Here is the call graph for this function:
    Returns
    list of recommended words
    + +

    Definition at line 160 of file trie_using_hashmap.cpp.

    162 {
    163 if (element->word_end) {
    -
    164 results.push_back(prefix);
    +
    164 results.push_back(prefix);
    165 }
    166 if (element->children.empty()) {
    167 return results;
    168 }
    169 for (auto const& x : element->children) {
    -
    170 std::string key = "";
    +
    170 std::string key = "";
    171 key = x.first;
    172 prefix += key;
    173
    174 results =
    175 get_all_words(results, element->children[x.first], prefix);
    176
    -
    177 prefix.pop_back();
    +
    177 prefix.pop_back();
    178 }
    179
    180 return results;
    181 }
    - -
    std::vector< std::string > get_all_words(std::vector< std::string > results, const std::shared_ptr< Node > &element, std::string prefix)
    helper function to predict/recommend words that starts with a given prefix from the end of prefix's n...
    Definition trie_using_hashmap.cpp:160
    -
    T pop_back(T... args)
    -
    T push_back(T... args)
    -
    std::unordered_map< char16_t, std::shared_ptr< Node > > children
    Definition trie_using_hashmap.cpp:46
    -
    bool word_end
    boolean variable to represent the node end
    Definition trie_using_hashmap.cpp:48
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    std::vector< std::string > get_all_words(std::vector< std::string > results, const std::shared_ptr< Node > &element, std::string prefix)
    helper function to predict/recommend words that starts with a given prefix from the end of prefix's n...
    +
    std::unordered_map< char16_t, std::shared_ptr< Node > > children
    +
    bool word_end
    boolean variable to represent the node end
    + @@ -321,7 +326,7 @@ Here is the call graph for this function: void data_structures::trie_using_hashmap::Trie::insert ( - const std::string & word) + const std::string & word) @@ -339,11 +344,13 @@ Here is the call graph for this function: + +

    Definition at line 62 of file trie_using_hashmap.cpp.

    62 {
    - +
    63 std::shared_ptr<Node> curr = root_node;
    64 for (char ch : word) {
    65 if (curr->children.find(ch) == curr->children.end()) {
    -
    66 curr->children[ch] = std::make_shared<Node>();
    +
    66 curr->children[ch] = std::make_shared<Node>();
    67 }
    68 curr = curr->children[ch];
    69 }
    @@ -352,13 +359,7 @@ Here is the call graph for this function:
    72 curr->word_end = true;
    73 }
    74 }
    -
    T make_shared(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -371,9 +372,9 @@ Here is the call graph for this function: - + - +
    std::vector< std::string > data_structures::trie_using_hashmap::Trie::predict_words std::vector< std::string > data_structures::trie_using_hashmap::Trie::predict_words (const std::string & prefix)const std::string & prefix)
    @@ -393,9 +394,11 @@ Here is the call graph for this function:
    Returns
    list of recommended words

    < iteratively and recursively get the recommended words

    + +

    Definition at line 188 of file trie_using_hashmap.cpp.

    188 {
    - - +
    189 std::vector<std::string> result;
    +
    190 std::shared_ptr<Node> curr = root_node;
    191 // traversing until the end of the given prefix in trie
    192
    193 for (char ch : prefix) {
    @@ -414,18 +417,12 @@ Here is the call graph for this function:
    206
    208 result, curr,
    -
    209 prefix); ///< iteratively and recursively get the recommended words
    +
    209 prefix);
    210
    211 return result;
    212 }
    -
    uint64_t result(uint64_t n)
    Definition fibonacci_sum.cpp:77
    - -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    uint64_t result(uint64_t n)
    + @@ -440,7 +437,7 @@ Here is the call graph for this function: bool data_structures::trie_using_hashmap::Trie::search ( - const std::string & word) + const std::string & word) @@ -461,8 +458,10 @@ Here is the call graph for this function:
    Returns
    true if found
    false if not found
    + +

    Definition at line 82 of file trie_using_hashmap.cpp.

    82 {
    - +
    83 std::shared_ptr<Node> curr = root_node;
    84 for (char ch : word) {
    85 if (curr->children.find(ch) == curr->children.end()) {
    86 return false;
    @@ -494,7 +493,7 @@ Here is the call graph for this function:
    bool data_structures::trie_using_hashmap::Trie::startwith ( - const std::string & prefix) + const std::string & prefix) @@ -515,8 +514,10 @@ Here is the call graph for this function:
    Returns
    true if found
    false if not found
    + +

    Definition at line 107 of file trie_using_hashmap.cpp.

    107 {
    - +
    108 std::shared_ptr<Node> curr = root_node;
    109 for (char ch : prefix) {
    110 if (curr->children.find(ch) == curr->children.end()) {
    111 return false;
    @@ -539,7 +540,7 @@ Here is the call graph for this function:
    - +
    std::shared_ptr<Node> data_structures::trie_using_hashmap::Trie::root_nodestd::shared_ptr<Node> data_structures::trie_using_hashmap::Trie::root_node
    @@ -549,14 +550,16 @@ Here is the call graph for this function:
    Initial value:
    =
    - +
    std::make_shared<Node>()

    declaring root node of trie

    +

    Definition at line 51 of file trie_using_hashmap.cpp.

    +

    The documentation for this class was generated from the following file: diff --git a/d3/d26/classdata__structures_1_1trie__using__hashmap_1_1_trie_a7bbe538c8015e8ce158e7ed43f605ebd_cgraph.map b/d3/d26/classdata__structures_1_1trie__using__hashmap_1_1_trie_a7bbe538c8015e8ce158e7ed43f605ebd_cgraph.map deleted file mode 100644 index d5c38c203..000000000 --- a/d3/d26/classdata__structures_1_1trie__using__hashmap_1_1_trie_a7bbe538c8015e8ce158e7ed43f605ebd_cgraph.map +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/d3/d26/classdata__structures_1_1trie__using__hashmap_1_1_trie_a7bbe538c8015e8ce158e7ed43f605ebd_cgraph.md5 b/d3/d26/classdata__structures_1_1trie__using__hashmap_1_1_trie_a7bbe538c8015e8ce158e7ed43f605ebd_cgraph.md5 deleted file mode 100644 index 31f29aa38..000000000 --- a/d3/d26/classdata__structures_1_1trie__using__hashmap_1_1_trie_a7bbe538c8015e8ce158e7ed43f605ebd_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -e803ee39835f17576c2e13b35a2d7e4e \ No newline at end of file diff --git a/d3/d26/classdata__structures_1_1trie__using__hashmap_1_1_trie_a7bbe538c8015e8ce158e7ed43f605ebd_cgraph.svg b/d3/d26/classdata__structures_1_1trie__using__hashmap_1_1_trie_a7bbe538c8015e8ce158e7ed43f605ebd_cgraph.svg deleted file mode 100644 index 26166ce84..000000000 --- a/d3/d26/classdata__structures_1_1trie__using__hashmap_1_1_trie_a7bbe538c8015e8ce158e7ed43f605ebd_cgraph.svg +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - - - - - - - -data_structures::trie_using_hashmap::Trie::get_all_words - - -Node1 - - -data_structures::trie -_using_hashmap::Trie -::get_all_words - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::string::pop_back - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::vector::push_back - - - - - -Node1->Node3 - - - - - - - - - - - - - diff --git a/d3/d26/classdata__structures_1_1trie__using__hashmap_1_1_trie_a7bbe538c8015e8ce158e7ed43f605ebd_cgraph_org.svg b/d3/d26/classdata__structures_1_1trie__using__hashmap_1_1_trie_a7bbe538c8015e8ce158e7ed43f605ebd_cgraph_org.svg deleted file mode 100644 index f141c0d5b..000000000 --- a/d3/d26/classdata__structures_1_1trie__using__hashmap_1_1_trie_a7bbe538c8015e8ce158e7ed43f605ebd_cgraph_org.svg +++ /dev/null @@ -1,68 +0,0 @@ - - - - - - -data_structures::trie_using_hashmap::Trie::get_all_words - - -Node1 - - -data_structures::trie -_using_hashmap::Trie -::get_all_words - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::string::pop_back - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::vector::push_back - - - - - -Node1->Node3 - - - - - - - - diff --git a/d3/d26/classdata__structures_1_1trie__using__hashmap_1_1_trie_abcae0a4456e7f583ce716e3ef466dfd2_cgraph.map b/d3/d26/classdata__structures_1_1trie__using__hashmap_1_1_trie_abcae0a4456e7f583ce716e3ef466dfd2_cgraph.map deleted file mode 100644 index d6f13ad79..000000000 --- a/d3/d26/classdata__structures_1_1trie__using__hashmap_1_1_trie_abcae0a4456e7f583ce716e3ef466dfd2_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d3/d26/classdata__structures_1_1trie__using__hashmap_1_1_trie_abcae0a4456e7f583ce716e3ef466dfd2_cgraph.md5 b/d3/d26/classdata__structures_1_1trie__using__hashmap_1_1_trie_abcae0a4456e7f583ce716e3ef466dfd2_cgraph.md5 deleted file mode 100644 index 33f25c3cf..000000000 --- a/d3/d26/classdata__structures_1_1trie__using__hashmap_1_1_trie_abcae0a4456e7f583ce716e3ef466dfd2_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -e609b4e93f177f0189066effc0596c8f \ No newline at end of file diff --git a/d3/d26/classdata__structures_1_1trie__using__hashmap_1_1_trie_abcae0a4456e7f583ce716e3ef466dfd2_cgraph.svg b/d3/d26/classdata__structures_1_1trie__using__hashmap_1_1_trie_abcae0a4456e7f583ce716e3ef466dfd2_cgraph.svg deleted file mode 100644 index 45ff3e0a5..000000000 --- a/d3/d26/classdata__structures_1_1trie__using__hashmap_1_1_trie_abcae0a4456e7f583ce716e3ef466dfd2_cgraph.svg +++ /dev/null @@ -1,67 +0,0 @@ - - - - - - - - - - - - -data_structures::trie_using_hashmap::Trie::insert - - -Node1 - - -data_structures::trie -_using_hashmap::Trie -::insert - - - - - -Node2 - - -std::make_shared - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d3/d26/classdata__structures_1_1trie__using__hashmap_1_1_trie_abcae0a4456e7f583ce716e3ef466dfd2_cgraph_org.svg b/d3/d26/classdata__structures_1_1trie__using__hashmap_1_1_trie_abcae0a4456e7f583ce716e3ef466dfd2_cgraph_org.svg deleted file mode 100644 index 7b1cc6fcc..000000000 --- a/d3/d26/classdata__structures_1_1trie__using__hashmap_1_1_trie_abcae0a4456e7f583ce716e3ef466dfd2_cgraph_org.svg +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - -data_structures::trie_using_hashmap::Trie::insert - - -Node1 - - -data_structures::trie -_using_hashmap::Trie -::insert - - - - - -Node2 - - -std::make_shared - - - - - -Node1->Node2 - - - - - - - - diff --git a/d3/d26/classdata__structures_1_1trie__using__hashmap_1_1_trie_ac0bf3d6791cba144b3f539835d835e75_cgraph.map b/d3/d26/classdata__structures_1_1trie__using__hashmap_1_1_trie_ac0bf3d6791cba144b3f539835d835e75_cgraph.map deleted file mode 100644 index 7cfe396ce..000000000 --- a/d3/d26/classdata__structures_1_1trie__using__hashmap_1_1_trie_ac0bf3d6791cba144b3f539835d835e75_cgraph.map +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - diff --git a/d3/d26/classdata__structures_1_1trie__using__hashmap_1_1_trie_ac0bf3d6791cba144b3f539835d835e75_cgraph.md5 b/d3/d26/classdata__structures_1_1trie__using__hashmap_1_1_trie_ac0bf3d6791cba144b3f539835d835e75_cgraph.md5 deleted file mode 100644 index a8bd992c7..000000000 --- a/d3/d26/classdata__structures_1_1trie__using__hashmap_1_1_trie_ac0bf3d6791cba144b3f539835d835e75_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -3b0db2e520e3797e71e50693fa3648ae \ No newline at end of file diff --git a/d3/d26/classdata__structures_1_1trie__using__hashmap_1_1_trie_ac0bf3d6791cba144b3f539835d835e75_cgraph.svg b/d3/d26/classdata__structures_1_1trie__using__hashmap_1_1_trie_ac0bf3d6791cba144b3f539835d835e75_cgraph.svg deleted file mode 100644 index c289d828a..000000000 --- a/d3/d26/classdata__structures_1_1trie__using__hashmap_1_1_trie_ac0bf3d6791cba144b3f539835d835e75_cgraph.svg +++ /dev/null @@ -1,139 +0,0 @@ - - - - - - - - - - - - -data_structures::trie_using_hashmap::Trie::delete_word - - -Node1 - - -data_structures::trie -_using_hashmap::Trie -::delete_word - - - - - -Node2 - - -std::string::back - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::stack::pop - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::string::pop_back - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::stack::push - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -std::stack::top - - - - - -Node1->Node6 - - - - - - - - - - - - - diff --git a/d3/d26/classdata__structures_1_1trie__using__hashmap_1_1_trie_ac0bf3d6791cba144b3f539835d835e75_cgraph_org.svg b/d3/d26/classdata__structures_1_1trie__using__hashmap_1_1_trie_ac0bf3d6791cba144b3f539835d835e75_cgraph_org.svg deleted file mode 100644 index 23a919e56..000000000 --- a/d3/d26/classdata__structures_1_1trie__using__hashmap_1_1_trie_ac0bf3d6791cba144b3f539835d835e75_cgraph_org.svg +++ /dev/null @@ -1,113 +0,0 @@ - - - - - - -data_structures::trie_using_hashmap::Trie::delete_word - - -Node1 - - -data_structures::trie -_using_hashmap::Trie -::delete_word - - - - - -Node2 - - -std::string::back - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::stack::pop - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::string::pop_back - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::stack::push - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -std::stack::top - - - - - -Node1->Node6 - - - - - - - - diff --git a/d3/d26/classdata__structures_1_1trie__using__hashmap_1_1_trie_ae15fdc7f2b5023992d87a711d78566c4_cgraph.map b/d3/d26/classdata__structures_1_1trie__using__hashmap_1_1_trie_ae15fdc7f2b5023992d87a711d78566c4_cgraph.map deleted file mode 100644 index becaed83b..000000000 --- a/d3/d26/classdata__structures_1_1trie__using__hashmap_1_1_trie_ae15fdc7f2b5023992d87a711d78566c4_cgraph.map +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/d3/d26/classdata__structures_1_1trie__using__hashmap_1_1_trie_ae15fdc7f2b5023992d87a711d78566c4_cgraph.md5 b/d3/d26/classdata__structures_1_1trie__using__hashmap_1_1_trie_ae15fdc7f2b5023992d87a711d78566c4_cgraph.md5 deleted file mode 100644 index f190db2ef..000000000 --- a/d3/d26/classdata__structures_1_1trie__using__hashmap_1_1_trie_ae15fdc7f2b5023992d87a711d78566c4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -c8dd3c377db1dd0bdb80185592f1f029 \ No newline at end of file diff --git a/d3/d26/classdata__structures_1_1trie__using__hashmap_1_1_trie_ae15fdc7f2b5023992d87a711d78566c4_cgraph.svg b/d3/d26/classdata__structures_1_1trie__using__hashmap_1_1_trie_ae15fdc7f2b5023992d87a711d78566c4_cgraph.svg deleted file mode 100644 index 3713fa669..000000000 --- a/d3/d26/classdata__structures_1_1trie__using__hashmap_1_1_trie_ae15fdc7f2b5023992d87a711d78566c4_cgraph.svg +++ /dev/null @@ -1,114 +0,0 @@ - - - - - - - - - - - - -data_structures::trie_using_hashmap::Trie::predict_words - - -Node1 - - -data_structures::trie -_using_hashmap::Trie -::predict_words - - - - - -Node2 - - -data_structures::trie -_using_hashmap::Trie -::get_all_words - - - - - -Node1->Node2 - - - - - - - - -Node2->Node2 - - - - - - - - -Node3 - - -std::string::pop_back - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::vector::push_back - - - - - -Node2->Node4 - - - - - - - - - - - - - diff --git a/d3/d26/classdata__structures_1_1trie__using__hashmap_1_1_trie_ae15fdc7f2b5023992d87a711d78566c4_cgraph_org.svg b/d3/d26/classdata__structures_1_1trie__using__hashmap_1_1_trie_ae15fdc7f2b5023992d87a711d78566c4_cgraph_org.svg deleted file mode 100644 index c40d5bc81..000000000 --- a/d3/d26/classdata__structures_1_1trie__using__hashmap_1_1_trie_ae15fdc7f2b5023992d87a711d78566c4_cgraph_org.svg +++ /dev/null @@ -1,88 +0,0 @@ - - - - - - -data_structures::trie_using_hashmap::Trie::predict_words - - -Node1 - - -data_structures::trie -_using_hashmap::Trie -::predict_words - - - - - -Node2 - - -data_structures::trie -_using_hashmap::Trie -::get_all_words - - - - - -Node1->Node2 - - - - - - - - -Node2->Node2 - - - - - - - - -Node3 - - -std::string::pop_back - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::vector::push_back - - - - - -Node2->Node4 - - - - - - - - diff --git a/d3/d2a/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1comparison__operator.html b/d3/d2a/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1comparison__operator.html index 083e634e9..7f196ea1e 100644 --- a/d3/d2a/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1comparison__operator.html +++ b/d3/d2a/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1comparison__operator.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: machine_learning::aystar_search::AyStarSearch< Puzzle >::comparison_operator Struct Reference +TheAlgorithms/C++: machine_learning::aystar_search::AyStarSearch< Puzzle >::comparison_operator Struct Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -116,12 +133,14 @@ $(function(){initNavTree('d3/d2a/structmachine__learning_1_1aystar__search_1_1_a
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    - +

    Public Member Functions

    bool operator() (const std::shared_ptr< Info > &a, const std::shared_ptr< Info > &b) const
    bool operator() (const std::shared_ptr< Info > &a, const std::shared_ptr< Info > &b) const
     

    Detailed Description

    template<typename Puzzle>
    struct machine_learning::aystar_search::AyStarSearch< Puzzle >::comparison_operator

    Custom comparator for open_list.

    + +

    Definition at line 370 of file a_star_search.cpp.

    Member Function Documentation

    ◆ operator()()

    @@ -137,12 +156,12 @@ template<typename Puzzle >
    bool machine_learning::aystar_search::AyStarSearch< Puzzle >::comparison_operator::operator() ( - const std::shared_ptr< Info > & a, + const std::shared_ptr< Info > & a, - const std::shared_ptr< Info > & b ) const + const std::shared_ptr< Info > & b ) const @@ -151,6 +170,8 @@ template<typename Puzzle >
    + +

    Definition at line 371 of file a_star_search.cpp.

    372 {
    373 return *(a->state) < *(b->state);
    374 }
    @@ -158,7 +179,7 @@ template<typename Puzzle >

    The documentation for this struct was generated from the following file: diff --git a/d3/d36/digit__separation_8cpp.html b/d3/d36/digit__separation_8cpp.html index a06fc78e9..c2fcd233e 100644 --- a/d3/d36/digit__separation_8cpp.html +++ b/d3/d36/digit__separation_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: greedy_algorithms/digit_separation.cpp File Reference +TheAlgorithms/C++: greedy_algorithms/digit_separation.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -125,7 +142,9 @@ Include dependency graph for digit_separation.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -151,6 +170,8 @@ Functions

    Separates digits from numbers in forward and reverse order.

    See also
    https://www.log2base2.com/c-examples/loop/split-a-number-into-digits-in-c.html

    The DigitSeparation class provides two methods to separate the digits of large integers: digitSeparationReverseOrder and digitSeparationForwardOrder. The digitSeparationReverseOrder method extracts digits by repeatedly applying the modulus operation (% 10) to isolate the last digit, then divides the number by 10 to remove it. This process continues until the entire number is broken down into its digits, which are stored in reverse order. If the number is zero, the method directly returns a vector containing {0} to handle this edge case. Negative numbers are handled by taking the absolute value, ensuring consistent behavior regardless of the sign.

    Author
    Muhammad Junaid Khalid
    + +

    Definition in file digit_separation.cpp.

    Function Documentation

    ◆ main()

    @@ -169,18 +190,15 @@ Functions

    main function

    Returns
    0 on successful exit
    + +

    Definition at line 138 of file digit_separation.cpp.

    138 {
    139 tests(); // run self test implementation
    140
    141 return 0;
    142}
    -
    static void tests()
    self test implementation
    Definition digit_separation.cpp:83
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static void tests()
    self test implementation
    + @@ -208,17 +226,19 @@ Here is the call graph for this function:

    self test implementation

    Returns
    void
    + +

    Definition at line 83 of file digit_separation.cpp.

    83 {
    85
    86 // Test case: Positive number
    -
    87 std::int64_t number = 1234567890;
    -
    88 std::vector<std::int64_t> expectedReverse = {0, 9, 8, 7, 6, 5, 4, 3, 2, 1};
    -
    89 std::vector<std::int64_t> expectedForward = {1, 2, 3, 4, 5, 6, 7, 8, 9, 0};
    -
    90 std::vector<std::int64_t> reverseOrder =
    +
    87 std::int64_t number = 1234567890;
    +
    88 std::vector<std::int64_t> expectedReverse = {0, 9, 8, 7, 6, 5, 4, 3, 2, 1};
    +
    89 std::vector<std::int64_t> expectedForward = {1, 2, 3, 4, 5, 6, 7, 8, 9, 0};
    +
    90 std::vector<std::int64_t> reverseOrder =
    92 assert(reverseOrder == expectedReverse);
    -
    93 std::vector<std::int64_t> forwardOrder =
    +
    93 std::vector<std::int64_t> forwardOrder =
    95 assert(forwardOrder == expectedForward);
    96
    @@ -258,17 +278,10 @@ Here is the call graph for this function:
    130 forwardOrder = ds.digitSeparationForwardOrder(number);
    131 assert(forwardOrder == expectedForward);
    132}
    -
    A class that provides methods to separate the digits of a large positive number.
    Definition digit_separation.cpp:35
    -
    std::vector< std::int64_t > digitSeparationForwardOrder(std::int64_t largeNumber) const
    Implementation of digitSeparationForwardOrder method.
    Definition digit_separation.cpp:68
    -
    std::vector< std::int64_t > digitSeparationReverseOrder(std::int64_t largeNumber) const
    Implementation of digitSeparationReverseOrder method.
    Definition digit_separation.cpp:48
    - - -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    A class that provides methods to separate the digits of a large positive number.
    +
    std::vector< std::int64_t > digitSeparationForwardOrder(std::int64_t largeNumber) const
    Implementation of digitSeparationForwardOrder method.
    +
    std::vector< std::int64_t > digitSeparationReverseOrder(std::int64_t largeNumber) const
    Implementation of digitSeparationReverseOrder method.
    + diff --git a/d3/d36/digit__separation_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.map b/d3/d36/digit__separation_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.map deleted file mode 100644 index 80ac12428..000000000 --- a/d3/d36/digit__separation_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.map +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/d3/d36/digit__separation_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 b/d3/d36/digit__separation_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 deleted file mode 100644 index 859bc715b..000000000 --- a/d3/d36/digit__separation_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -1649b7dab17754b877f56efbec73556b \ No newline at end of file diff --git a/d3/d36/digit__separation_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.svg b/d3/d36/digit__separation_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.svg deleted file mode 100644 index 63573e05c..000000000 --- a/d3/d36/digit__separation_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.svg +++ /dev/null @@ -1,114 +0,0 @@ - - - - - - - - - - - - -tests - - -Node1 - - -tests - - - - - -Node2 - - -greedy_algorithms:: -DigitSeparation::digitSeparation -ForwardOrder - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -greedy_algorithms:: -DigitSeparation::digitSeparation -ReverseOrder - - - - - -Node1->Node3 - - - - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::reverse - - - - - -Node2->Node4 - - - - - - - - - - - - - diff --git a/d3/d36/digit__separation_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph_org.svg b/d3/d36/digit__separation_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph_org.svg deleted file mode 100644 index 844775428..000000000 --- a/d3/d36/digit__separation_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph_org.svg +++ /dev/null @@ -1,88 +0,0 @@ - - - - - - -tests - - -Node1 - - -tests - - - - - -Node2 - - -greedy_algorithms:: -DigitSeparation::digitSeparation -ForwardOrder - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -greedy_algorithms:: -DigitSeparation::digitSeparation -ReverseOrder - - - - - -Node1->Node3 - - - - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::reverse - - - - - -Node2->Node4 - - - - - - - - diff --git a/d3/d36/digit__separation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d3/d36/digit__separation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 36ec9b490..000000000 --- a/d3/d36/digit__separation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - - - diff --git a/d3/d36/digit__separation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d3/d36/digit__separation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index 11ee4acae..000000000 --- a/d3/d36/digit__separation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -a557164585e504eb1d90a8d78bad24e8 \ No newline at end of file diff --git a/d3/d36/digit__separation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d3/d36/digit__separation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index dd062b2fe..000000000 --- a/d3/d36/digit__separation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,132 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -tests - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -greedy_algorithms:: -DigitSeparation::digitSeparation -ForwardOrder - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -greedy_algorithms:: -DigitSeparation::digitSeparation -ReverseOrder - - - - - -Node2->Node4 - - - - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -std::reverse - - - - - -Node3->Node5 - - - - - - - - - - - - - diff --git a/d3/d36/digit__separation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d3/d36/digit__separation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 3e0d75d4b..000000000 --- a/d3/d36/digit__separation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -tests - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -greedy_algorithms:: -DigitSeparation::digitSeparation -ForwardOrder - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -greedy_algorithms:: -DigitSeparation::digitSeparation -ReverseOrder - - - - - -Node2->Node4 - - - - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -std::reverse - - - - - -Node3->Node5 - - - - - - - - diff --git a/d3/d36/digit__separation_8cpp_source.html b/d3/d36/digit__separation_8cpp_source.html new file mode 100644 index 000000000..9ce137255 --- /dev/null +++ b/d3/d36/digit__separation_8cpp_source.html @@ -0,0 +1,249 @@ + + + + + + + + +TheAlgorithms/C++: greedy_algorithms/digit_separation.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    +

    Classes

    class  greedy_algorithms::DigitSeparation
    + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + + +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    digit_separation.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    18#include <algorithm>
    +
    19#include <cassert>
    +
    20#include <cmath>
    +
    21#include <cstdint>
    +
    22#include <iostream>
    +
    23#include <vector>
    +
    24
    +
    29namespace greedy_algorithms {
    +
    30
    +
    + +
    36 public:
    + +
    41
    +
    +
    48 std::vector<std::int64_t> digitSeparationReverseOrder(
    +
    49 std::int64_t largeNumber) const {
    +
    50 std::vector<std::int64_t> result;
    +
    51 if (largeNumber != 0) {
    +
    52 while (largeNumber != 0) {
    +
    53 result.push_back(std::abs(largeNumber % 10));
    +
    54 largeNumber /= 10;
    +
    55 }
    +
    56 } else {
    +
    57 result.push_back(0);
    +
    58 }
    +
    59 return result;
    +
    60 }
    +
    +
    61
    +
    +
    68 std::vector<std::int64_t> digitSeparationForwardOrder(
    +
    69 std::int64_t largeNumber) const {
    +
    70 std::vector<std::int64_t> result =
    +
    71 digitSeparationReverseOrder(largeNumber);
    +
    72 std::reverse(result.begin(), result.end());
    +
    73 return result;
    +
    74 }
    +
    +
    75};
    +
    +
    76
    +
    77} // namespace greedy_algorithms
    +
    78
    +
    +
    83static void tests() {
    + +
    85
    +
    86 // Test case: Positive number
    +
    87 std::int64_t number = 1234567890;
    +
    88 std::vector<std::int64_t> expectedReverse = {0, 9, 8, 7, 6, 5, 4, 3, 2, 1};
    +
    89 std::vector<std::int64_t> expectedForward = {1, 2, 3, 4, 5, 6, 7, 8, 9, 0};
    +
    90 std::vector<std::int64_t> reverseOrder =
    + +
    92 assert(reverseOrder == expectedReverse);
    +
    93 std::vector<std::int64_t> forwardOrder =
    + +
    95 assert(forwardOrder == expectedForward);
    +
    96
    +
    97 // Test case: Single digit number
    +
    98 number = 5;
    +
    99 expectedReverse = {5};
    +
    100 expectedForward = {5};
    +
    101 reverseOrder = ds.digitSeparationReverseOrder(number);
    +
    102 assert(reverseOrder == expectedReverse);
    +
    103 forwardOrder = ds.digitSeparationForwardOrder(number);
    +
    104 assert(forwardOrder == expectedForward);
    +
    105
    +
    106 // Test case: Zero
    +
    107 number = 0;
    +
    108 expectedReverse = {0};
    +
    109 expectedForward = {0};
    +
    110 reverseOrder = ds.digitSeparationReverseOrder(number);
    +
    111 assert(reverseOrder == expectedReverse);
    +
    112 forwardOrder = ds.digitSeparationForwardOrder(number);
    +
    113 assert(forwardOrder == expectedForward);
    +
    114
    +
    115 // Test case: Large number
    +
    116 number = 987654321012345;
    +
    117 expectedReverse = {5, 4, 3, 2, 1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
    +
    118 expectedForward = {9, 8, 7, 6, 5, 4, 3, 2, 1, 0, 1, 2, 3, 4, 5};
    +
    119 reverseOrder = ds.digitSeparationReverseOrder(number);
    +
    120 assert(reverseOrder == expectedReverse);
    +
    121 forwardOrder = ds.digitSeparationForwardOrder(number);
    +
    122 assert(forwardOrder == expectedForward);
    +
    123
    +
    124 // Test case: Negative number
    +
    125 number = -987654321012345;
    +
    126 expectedReverse = {5, 4, 3, 2, 1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
    +
    127 expectedForward = {9, 8, 7, 6, 5, 4, 3, 2, 1, 0, 1, 2, 3, 4, 5};
    +
    128 reverseOrder = ds.digitSeparationReverseOrder(number);
    +
    129 assert(reverseOrder == expectedReverse);
    +
    130 forwardOrder = ds.digitSeparationForwardOrder(number);
    +
    131 assert(forwardOrder == expectedForward);
    +
    132}
    +
    +
    133
    +
    +
    138int main() {
    +
    139 tests(); // run self test implementation
    +
    140
    +
    141 return 0;
    +
    142}
    +
    +
    A class that provides methods to separate the digits of a large positive number.
    +
    std::vector< std::int64_t > digitSeparationForwardOrder(std::int64_t largeNumber) const
    Implementation of digitSeparationForwardOrder method.
    +
    std::vector< std::int64_t > digitSeparationReverseOrder(std::int64_t largeNumber) const
    Implementation of digitSeparationReverseOrder method.
    +
    DigitSeparation()
    Default constructor for the DigitSeparation class.
    +
    static void tests()
    self test implementation
    +
    int main()
    main function
    +
    for string class
    +
    +
    + + + + diff --git a/d3/d39/manacher__algorithm_8cpp.html b/d3/d39/manacher__algorithm_8cpp.html index 84b16f558..c18180425 100644 --- a/d3/d39/manacher__algorithm_8cpp.html +++ b/d3/d39/manacher__algorithm_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: strings/manacher_algorithm.cpp File Reference +TheAlgorithms/C++: strings/manacher_algorithm.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -123,7 +140,9 @@ Include dependency graph for manacher_algorithm.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -135,7 +154,7 @@ Namespaces

    Namespaces

    namespace  strings
    - + @@ -148,6 +167,8 @@ Functions

    Detailed Description

    Implementation of Manacher's Algorithm

    Manacher's Algorithm is used to find the longest palindromic substring within a string in O(n) time. It exploits the property of a palindrome that its first half is symmetric to the last half, and thus if the first half is a palindrome, then last half is also a palindrome.

    Author
    Riti Kumari
    + +

    Definition in file manacher_algorithm.cpp.

    Function Documentation

    ◆ main()

    @@ -166,17 +187,14 @@ Functions

    Main function.

    Returns
    0 on exit
    + +

    Definition at line 172 of file manacher_algorithm.cpp.

    172 {
    173 test(); // run self-test implementations
    174 return 0;
    175}
    -
    static void test()
    Self-test implementations.
    Definition manacher_algorithm.cpp:151
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static void test()
    Self-test implementations.
    + @@ -186,9 +204,9 @@ Here is the call graph for this function:

    Functions

    std::string strings::manacher::manacher (const std::string &prototype)
    std::string strings::manacher::manacher (const std::string &prototype)
     A function that implements Manacher's algorithm.
     
    static void test ()
    - + - +
    std::string strings::manacher::manacher std::string strings::manacher::manacher (const std::string & prototype)const std::string & prototype)
    @@ -202,19 +220,21 @@ Here is the call graph for this function:
    Returns
    the largest palindromic substring
    + +

    Definition at line 41 of file manacher_algorithm.cpp.

    41 {
    -
    42 if (prototype.size() > 0) {
    +
    42 if (prototype.size() > 0) {
    43 // stuffing characters between the input string to handle cases with
    44 // even length palindrome
    -
    45 std::string stuffed_string = "";
    +
    45 std::string stuffed_string = "";
    46 for (auto str : prototype) {
    47 stuffed_string += str;
    48 stuffed_string += "#";
    49 }
    50 stuffed_string = "@#" + stuffed_string + "&";
    51
    -
    52 std::vector<uint64_t> palindrome_max_half_length(
    -
    53 stuffed_string.size(),
    +
    52 std::vector<uint64_t> palindrome_max_half_length(
    +
    53 stuffed_string.size(),
    54 0); // this array will consist of largest possible half length of
    55 // palindrome centered at index (say i with respect to the
    56 // stuffed string). This value will be lower bound of half
    @@ -225,12 +245,12 @@ Here is the call graph for this function:
    61 // substring which would be considered as the larger
    62 // palindrome, having symmetric halves
    63
    -
    64 uint64_t right = 0; // this is the maximum length of the palindrome
    +
    64 uint64_t right = 0; // this is the maximum length of the palindrome
    65 // from 'bigger_center' to the rightmost end
    66
    67 // i is considered as center lying within one half of the palindrone
    68 // which is centered at 'bigger_center'
    -
    69 for (uint64_t i = 1; i < stuffed_string.size() - 1; i++) {
    +
    69 for (uint64_t i = 1; i < stuffed_string.size() - 1; i++) {
    70 if (i < right) { // when i is before right end, considering
    71 // 'bigger_center' as center of palindrome
    72 uint64_t opposite_to_i =
    @@ -242,7 +262,7 @@ Here is the call graph for this function:
    78 // the palindrome on having center at opposite end,
    79 // and the string between i and right end,
    80 // considering 'bigger_center' as center of palindrome
    -
    81 palindrome_max_half_length[i] = std::min(
    +
    81 palindrome_max_half_length[i] = std::min(
    82 palindrome_max_half_length[opposite_to_i], right - i);
    83 }
    84
    @@ -259,7 +279,7 @@ Here is the call graph for this function:
    95 // to center i
    96 if (i + palindrome_max_half_length[i] > right) {
    97 bigger_center = i;
    -
    98 right = i + palindrome_max_half_length[i];
    +
    98 right = i + palindrome_max_half_length[i];
    99 }
    100 }
    101
    @@ -267,14 +287,14 @@ Here is the call graph for this function:
    103 uint64_t half_length = 0; // half length of the largest palindrome
    104 uint64_t center_index = 0; // index of center of the largest palindrome
    105
    -
    106 for (uint64_t i = 1; i < stuffed_string.size() - 1; i++) {
    +
    106 for (uint64_t i = 1; i < stuffed_string.size() - 1; i++) {
    107 if (palindrome_max_half_length[i] > half_length) {
    108 half_length = palindrome_max_half_length[i];
    109 center_index = i;
    110 }
    111 }
    112
    -
    113 std::string palindromic_substring =
    +
    113 std::string palindromic_substring =
    114 ""; // contains the resulting largest palindrome
    115
    116 if (half_length > 0) {
    @@ -285,10 +305,10 @@ Here is the call graph for this function:
    121 uint64_t start =
    122 center_index - half_length +
    123 1; // index of first character of palindromic substring
    -
    124 uint64_t end =
    +
    124 uint64_t end =
    125 center_index + half_length -
    126 1; // index of last character of palindromic substring
    -
    127 for (uint64_t index = start; index <= end; index += 2) {
    +
    127 for (uint64_t index = start; index <= end; index += 2) {
    128 palindromic_substring += stuffed_string[index];
    129 }
    130 } else {
    @@ -304,18 +324,7 @@ Here is the call graph for this function:
    140 return "";
    141 }
    142}
    - -
    T end(T... args)
    -
    T right(T... args)
    -
    T min(T... args)
    -
    T size(T... args)
    - -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -343,6 +352,8 @@ Here is the call graph for this function:

    Self-test implementations.

    Returns
    void
    + +

    Definition at line 151 of file manacher_algorithm.cpp.

    151 {
    152 assert(strings::manacher::manacher("") == "");
    153 assert(strings::manacher::manacher("abababc") == "ababa");
    @@ -357,16 +368,9 @@ Here is the call graph for this function:
    162 assert(strings::manacher::manacher("xy") == "x");
    163 assert(strings::manacher::manacher("abced") == "a");
    164
    -
    165 std::cout << "All tests have passed!" << std::endl;
    +
    165 std::cout << "All tests have passed!" << std::endl;
    166}
    - -
    T endl(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + diff --git a/d3/d39/manacher__algorithm_8cpp_a95e6a2976bb2f332898f373941d52098_cgraph.map b/d3/d39/manacher__algorithm_8cpp_a95e6a2976bb2f332898f373941d52098_cgraph.map deleted file mode 100644 index b730270e5..000000000 --- a/d3/d39/manacher__algorithm_8cpp_a95e6a2976bb2f332898f373941d52098_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/d3/d39/manacher__algorithm_8cpp_a95e6a2976bb2f332898f373941d52098_cgraph.md5 b/d3/d39/manacher__algorithm_8cpp_a95e6a2976bb2f332898f373941d52098_cgraph.md5 deleted file mode 100644 index 3e88890c1..000000000 --- a/d3/d39/manacher__algorithm_8cpp_a95e6a2976bb2f332898f373941d52098_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -5cc757fae541948d69eb830eea5d29da \ No newline at end of file diff --git a/d3/d39/manacher__algorithm_8cpp_a95e6a2976bb2f332898f373941d52098_cgraph.svg b/d3/d39/manacher__algorithm_8cpp_a95e6a2976bb2f332898f373941d52098_cgraph.svg deleted file mode 100644 index 4f83da24a..000000000 --- a/d3/d39/manacher__algorithm_8cpp_a95e6a2976bb2f332898f373941d52098_cgraph.svg +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - - - - - -strings::manacher::manacher - - -Node1 - - -strings::manacher:: -manacher - - - - - -Node2 - - -std::min - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::string::size - - - - - -Node1->Node3 - - - - - - - - - - - - - diff --git a/d3/d39/manacher__algorithm_8cpp_a95e6a2976bb2f332898f373941d52098_cgraph_org.svg b/d3/d39/manacher__algorithm_8cpp_a95e6a2976bb2f332898f373941d52098_cgraph_org.svg deleted file mode 100644 index 663dc47f2..000000000 --- a/d3/d39/manacher__algorithm_8cpp_a95e6a2976bb2f332898f373941d52098_cgraph_org.svg +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - -strings::manacher::manacher - - -Node1 - - -strings::manacher:: -manacher - - - - - -Node2 - - -std::min - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::string::size - - - - - -Node1->Node3 - - - - - - - - diff --git a/d3/d39/manacher__algorithm_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map b/d3/d39/manacher__algorithm_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map deleted file mode 100644 index e85e01374..000000000 --- a/d3/d39/manacher__algorithm_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d3/d39/manacher__algorithm_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 b/d3/d39/manacher__algorithm_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 deleted file mode 100644 index 5901bc148..000000000 --- a/d3/d39/manacher__algorithm_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -729fb887ee50b6291b0542ba0592a5c7 \ No newline at end of file diff --git a/d3/d39/manacher__algorithm_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg b/d3/d39/manacher__algorithm_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg deleted file mode 100644 index 2e04695b9..000000000 --- a/d3/d39/manacher__algorithm_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d3/d39/manacher__algorithm_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg b/d3/d39/manacher__algorithm_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg deleted file mode 100644 index 1813bd719..000000000 --- a/d3/d39/manacher__algorithm_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - diff --git a/d3/d39/manacher__algorithm_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d3/d39/manacher__algorithm_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index a5f0d142c..000000000 --- a/d3/d39/manacher__algorithm_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/d3/d39/manacher__algorithm_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d3/d39/manacher__algorithm_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index 1f8359178..000000000 --- a/d3/d39/manacher__algorithm_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -add43904fdf843985262d1605a818e5b \ No newline at end of file diff --git a/d3/d39/manacher__algorithm_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d3/d39/manacher__algorithm_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 133531675..000000000 --- a/d3/d39/manacher__algorithm_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node2->Node3 - - - - - - - - - - - - - diff --git a/d3/d39/manacher__algorithm_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d3/d39/manacher__algorithm_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index e87964840..000000000 --- a/d3/d39/manacher__algorithm_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node2->Node3 - - - - - - - - diff --git a/d3/d39/manacher__algorithm_8cpp_source.html b/d3/d39/manacher__algorithm_8cpp_source.html new file mode 100644 index 000000000..5070ebee6 --- /dev/null +++ b/d3/d39/manacher__algorithm_8cpp_source.html @@ -0,0 +1,287 @@ + + + + + + + + +TheAlgorithms/C++: strings/manacher_algorithm.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    manacher_algorithm.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    13#include <cassert>
    +
    14#include <cstdint>
    +
    15#include <iostream>
    +
    16#include <vector>
    +
    17#ifdef _MSC_VER
    +
    18#include <string>
    +
    19#else
    +
    20#include <cstring>
    +
    21#endif
    +
    22
    +
    27namespace strings {
    +
    34namespace manacher {
    +
    +
    41std::string manacher(const std::string &prototype) {
    +
    42 if (prototype.size() > 0) {
    +
    43 // stuffing characters between the input string to handle cases with
    +
    44 // even length palindrome
    +
    45 std::string stuffed_string = "";
    +
    46 for (auto str : prototype) {
    +
    47 stuffed_string += str;
    +
    48 stuffed_string += "#";
    +
    49 }
    +
    50 stuffed_string = "@#" + stuffed_string + "&";
    +
    51
    +
    52 std::vector<uint64_t> palindrome_max_half_length(
    +
    53 stuffed_string.size(),
    +
    54 0); // this array will consist of largest possible half length of
    +
    55 // palindrome centered at index (say i with respect to the
    +
    56 // stuffed string). This value will be lower bound of half
    +
    57 // length since single character is a palindrome in itself.
    +
    58
    +
    59 uint64_t bigger_center =
    +
    60 0; // this is the index of the center of palindromic
    +
    61 // substring which would be considered as the larger
    +
    62 // palindrome, having symmetric halves
    +
    63
    +
    64 uint64_t right = 0; // this is the maximum length of the palindrome
    +
    65 // from 'bigger_center' to the rightmost end
    +
    66
    +
    67 // i is considered as center lying within one half of the palindrone
    +
    68 // which is centered at 'bigger_center'
    +
    69 for (uint64_t i = 1; i < stuffed_string.size() - 1; i++) {
    +
    70 if (i < right) { // when i is before right end, considering
    +
    71 // 'bigger_center' as center of palindrome
    +
    72 uint64_t opposite_to_i =
    +
    73 2 * bigger_center -
    +
    74 i; // this is the opposite end of string, if
    +
    75 // centered at center, and having one end as i
    +
    76
    +
    77 // finding the minimum possible half length among
    +
    78 // the palindrome on having center at opposite end,
    +
    79 // and the string between i and right end,
    +
    80 // considering 'bigger_center' as center of palindrome
    +
    81 palindrome_max_half_length[i] = std::min(
    +
    82 palindrome_max_half_length[opposite_to_i], right - i);
    +
    83 }
    +
    84
    +
    85 // expanding the palindrome across the maximum stored length in the
    +
    86 // array, centered at i
    +
    87 while (stuffed_string[i + (palindrome_max_half_length[i] + 1)] ==
    +
    88 stuffed_string[i - (palindrome_max_half_length[i] + 1)]) {
    +
    89 palindrome_max_half_length[i]++;
    +
    90 }
    +
    91
    +
    92 // if palindrome centered at i exceeds the rightmost end of
    +
    93 // palindrome centered at 'bigger_center', then i will be made the
    +
    94 // 'bigger_center' and right value will also be updated with respect
    +
    95 // to center i
    +
    96 if (i + palindrome_max_half_length[i] > right) {
    +
    97 bigger_center = i;
    +
    98 right = i + palindrome_max_half_length[i];
    +
    99 }
    +
    100 }
    +
    101
    +
    102 // now extracting the first largest palindrome
    +
    103 uint64_t half_length = 0; // half length of the largest palindrome
    +
    104 uint64_t center_index = 0; // index of center of the largest palindrome
    +
    105
    +
    106 for (uint64_t i = 1; i < stuffed_string.size() - 1; i++) {
    +
    107 if (palindrome_max_half_length[i] > half_length) {
    +
    108 half_length = palindrome_max_half_length[i];
    +
    109 center_index = i;
    +
    110 }
    +
    111 }
    +
    112
    +
    113 std::string palindromic_substring =
    +
    114 ""; // contains the resulting largest palindrome
    +
    115
    +
    116 if (half_length > 0) {
    +
    117 // extra information: when '#' is the center, then palindromic
    +
    118 // substring will have even length, else palindromic substring will
    +
    119 // have odd length
    +
    120
    +
    121 uint64_t start =
    +
    122 center_index - half_length +
    +
    123 1; // index of first character of palindromic substring
    +
    124 uint64_t end =
    +
    125 center_index + half_length -
    +
    126 1; // index of last character of palindromic substring
    +
    127 for (uint64_t index = start; index <= end; index += 2) {
    +
    128 palindromic_substring += stuffed_string[index];
    +
    129 }
    +
    130 } else {
    +
    131 // if length = 0, then there does not exist any palindrome of length
    +
    132 // > 1 so we can assign any character of length 1 from string as the
    +
    133 // palindromic substring
    +
    134 palindromic_substring = prototype[0];
    +
    135 }
    +
    136 return palindromic_substring;
    +
    137
    +
    138 } else {
    +
    139 // handling case when string is empty
    +
    140 return "";
    +
    141 }
    +
    142}
    +
    +
    143
    +
    144} // namespace manacher
    +
    145} // namespace strings
    +
    146
    +
    +
    151static void test() {
    +
    152 assert(strings::manacher::manacher("") == "");
    +
    153 assert(strings::manacher::manacher("abababc") == "ababa");
    +
    154 assert(strings::manacher::manacher("cbaabd") == "baab");
    +
    155 assert(strings::manacher::manacher("DedzefDeD") == "DeD");
    +
    156 assert(strings::manacher::manacher("XZYYXXYZXX") == "YXXY");
    +
    157 assert(strings::manacher::manacher("1sm222m10abc") == "m222m");
    +
    158 assert(strings::manacher::manacher("798989591") == "98989");
    +
    159 assert(strings::manacher::manacher("xacdedcax") == "xacdedcax");
    +
    160 assert(strings::manacher::manacher("xaccax") == "xaccax");
    +
    161 assert(strings::manacher::manacher("a") == "a");
    +
    162 assert(strings::manacher::manacher("xy") == "x");
    +
    163 assert(strings::manacher::manacher("abced") == "a");
    +
    164
    +
    165 std::cout << "All tests have passed!" << std::endl;
    +
    166}
    +
    +
    167
    +
    +
    172int main() {
    +
    173 test(); // run self-test implementations
    +
    174 return 0;
    +
    175}
    +
    +
    static void test()
    Self-test implementations.
    +
    int main()
    Main function.
    +
    Functions for Manacher's Algorithm implementation.
    +
    String algorithms.
    +
    +
    + + + + diff --git a/d3/d40/graph__coloring_8cpp.html b/d3/d40/graph__coloring_8cpp.html index 1d8ad5bb7..dbf0ebc67 100644 --- a/d3/d40/graph__coloring_8cpp.html +++ b/d3/d40/graph__coloring_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: backtracking/graph_coloring.cpp File Reference +TheAlgorithms/C++: backtracking/graph_coloring.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -121,7 +138,9 @@ Include dependency graph for graph_coloring.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -134,15 +153,15 @@ Namespaces - + - + - + @@ -155,6 +174,8 @@ Functions
    Author
    Anup Kumar Panwar
    David Leal
    + +

    Definition in file graph_coloring.cpp.

    Function Documentation

    ◆ graphColoring()

    @@ -167,7 +188,7 @@ template<size_t V> - + @@ -177,7 +198,7 @@ template<size_t V> - + @@ -203,6 +224,8 @@ template<size_t V>

    Namespaces

    namespace  backtracking

    Functions

    template<size_t V>
    void backtracking::graph_coloring::printSolution (const std::array< int, V > &color)
    void backtracking::graph_coloring::printSolution (const std::array< int, V > &color)
     A utility function to print the solution.
     
    template<size_t V>
    bool backtracking::graph_coloring::isSafe (int v, const std::array< std::array< int, V >, V > &graph, const std::array< int, V > &color, int c)
    bool backtracking::graph_coloring::isSafe (int v, const std::array< std::array< int, V >, V > &graph, const std::array< int, V > &color, int c)
     Utility function to check if the current color assignment is safe for vertex v.
     
    template<size_t V>
    void backtracking::graph_coloring::graphColoring (const std::array< std::array< int, V >, V > &graph, int m, std::array< int, V > color, int v)
    void backtracking::graph_coloring::graphColoring (const std::array< std::array< int, V >, V > &graph, int m, std::array< int, V > color, int v)
     Recursive utility function to solve m coloring problem.
     
    int main ()
    void backtracking::graph_coloring::graphColoring (const std::array< std::array< int, V >, V > & graph, const std::array< std::array< int, V >, V > & graph,
    std::array< int, V > color, std::array< int, V > color,
    + +

    Definition at line 82 of file graph_coloring.cpp.

    83 {
    84 // base case:
    85 // If all vertices are assigned a color then return true
    @@ -226,12 +249,7 @@ template<size_t V>
    103 }
    104}
    Graph Algorithms.
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -250,12 +268,12 @@ template<size_t V> - const std::array< std::array< int, V >, V > & graph, + const std::array< std::array< int, V >, V > & graph, - const std::array< int, V > & color, + const std::array< int, V > & color, @@ -284,6 +302,8 @@ template<size_t V>
    Returns
    true if the color is safe to be assigned to the node
    false if the color is not safe to be assigned to the node
    + +

    Definition at line 62 of file graph_coloring.cpp.

    63 {
    64 for (int i = 0; i < V; i++) {
    65 if (graph[v][i] && c == color[i]) {
    @@ -292,12 +312,7 @@ template<size_t V>
    68 }
    69 return true;
    70}
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -317,6 +332,8 @@ Here is the call graph for this function:

    Main function.

    Returns
    0 on exit
    + +

    Definition at line 112 of file graph_coloring.cpp.

    112 {
    113 // Create following graph and test whether it is 3 colorable
    114 // (3)---(2)
    @@ -326,17 +343,16 @@ Here is the call graph for this function:
    118 // (0)---(1)
    119
    120 const int V = 4; // number of vertices in the graph
    - -
    122 std::array<int, V>({0, 1, 1, 1}), std::array<int, V>({1, 0, 1, 0}),
    -
    123 std::array<int, V>({1, 1, 0, 1}), std::array<int, V>({1, 0, 1, 0})};
    +
    121 std::array<std::array<int, V>, V> graph = {
    +
    122 std::array<int, V>({0, 1, 1, 1}), std::array<int, V>({1, 0, 1, 0}),
    +
    123 std::array<int, V>({1, 1, 0, 1}), std::array<int, V>({1, 0, 1, 0})};
    124
    125 int m = 3; // Number of colors
    -
    126 std::array<int, V> color{};
    +
    126 std::array<int, V> color{};
    127
    128 backtracking::graph_coloring::graphColoring<V>(graph, m, color, 0);
    129 return 0;
    130}
    - @@ -351,7 +367,7 @@ template<size_t V> void backtracking::graph_coloring::printSolution ( - const std::array< int, V > & color) + const std::array< int, V > & color) @@ -370,20 +386,16 @@ template<size_t V> -
    42 {
    -
    43 std::cout << "Following are the assigned colors\n";
    -
    44 for (auto& col : color) {
    -
    45 std::cout << col;
    -
    46 }
    -
    47 std::cout << "\n";
    -
    48}
    - -
    -Here is the call graph for this function:
    -
    -
    -
    +

    Definition at line 42 of file graph_coloring.cpp.

    +
    42 {
    +
    43 std::cout << "Following are the assigned colors\n";
    +
    44 for (auto& col : color) {
    +
    45 std::cout << col;
    +
    46 }
    +
    47 std::cout << "\n";
    +
    48}
    +
    diff --git a/d3/d40/graph__coloring_8cpp_a40337efc5dad761096489bf2c5b1c80c_cgraph.map b/d3/d40/graph__coloring_8cpp_a40337efc5dad761096489bf2c5b1c80c_cgraph.map deleted file mode 100644 index 8fe28dc03..000000000 --- a/d3/d40/graph__coloring_8cpp_a40337efc5dad761096489bf2c5b1c80c_cgraph.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/d3/d40/graph__coloring_8cpp_a40337efc5dad761096489bf2c5b1c80c_cgraph.md5 b/d3/d40/graph__coloring_8cpp_a40337efc5dad761096489bf2c5b1c80c_cgraph.md5 deleted file mode 100644 index be91d0abe..000000000 --- a/d3/d40/graph__coloring_8cpp_a40337efc5dad761096489bf2c5b1c80c_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -bddb528d7822c37cb1c698d75a8eb4ee \ No newline at end of file diff --git a/d3/d40/graph__coloring_8cpp_a40337efc5dad761096489bf2c5b1c80c_cgraph.svg b/d3/d40/graph__coloring_8cpp_a40337efc5dad761096489bf2c5b1c80c_cgraph.svg deleted file mode 100644 index 896d0c374..000000000 --- a/d3/d40/graph__coloring_8cpp_a40337efc5dad761096489bf2c5b1c80c_cgraph.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - - - - - - - -backtracking::graph_coloring::graphColoring - - -Node1 - - -backtracking::graph -_coloring::graphColoring - - - - - -Node1->Node1 - - - - - - - - - - - - - diff --git a/d3/d40/graph__coloring_8cpp_a40337efc5dad761096489bf2c5b1c80c_cgraph_org.svg b/d3/d40/graph__coloring_8cpp_a40337efc5dad761096489bf2c5b1c80c_cgraph_org.svg deleted file mode 100644 index 16687c7f3..000000000 --- a/d3/d40/graph__coloring_8cpp_a40337efc5dad761096489bf2c5b1c80c_cgraph_org.svg +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - -backtracking::graph_coloring::graphColoring - - -Node1 - - -backtracking::graph -_coloring::graphColoring - - - - - -Node1->Node1 - - - - - - - - diff --git a/d3/d40/graph__coloring_8cpp_a8c47fa37fb6eeeb781b2ec1b05af6b07_cgraph.map b/d3/d40/graph__coloring_8cpp_a8c47fa37fb6eeeb781b2ec1b05af6b07_cgraph.map deleted file mode 100644 index 27384d891..000000000 --- a/d3/d40/graph__coloring_8cpp_a8c47fa37fb6eeeb781b2ec1b05af6b07_cgraph.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/d3/d40/graph__coloring_8cpp_a8c47fa37fb6eeeb781b2ec1b05af6b07_cgraph.md5 b/d3/d40/graph__coloring_8cpp_a8c47fa37fb6eeeb781b2ec1b05af6b07_cgraph.md5 deleted file mode 100644 index 501a4ac3a..000000000 --- a/d3/d40/graph__coloring_8cpp_a8c47fa37fb6eeeb781b2ec1b05af6b07_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -69cba02947340ea09a27c294b1c90efc \ No newline at end of file diff --git a/d3/d40/graph__coloring_8cpp_a8c47fa37fb6eeeb781b2ec1b05af6b07_cgraph.svg b/d3/d40/graph__coloring_8cpp_a8c47fa37fb6eeeb781b2ec1b05af6b07_cgraph.svg deleted file mode 100644 index 371fa4c87..000000000 --- a/d3/d40/graph__coloring_8cpp_a8c47fa37fb6eeeb781b2ec1b05af6b07_cgraph.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - - - - - - - -backtracking::graph_coloring::printSolution - - -Node1 - - -backtracking::graph -_coloring::printSolution - - - - - -Node1->Node1 - - - - - - - - - - - - - diff --git a/d3/d40/graph__coloring_8cpp_a8c47fa37fb6eeeb781b2ec1b05af6b07_cgraph_org.svg b/d3/d40/graph__coloring_8cpp_a8c47fa37fb6eeeb781b2ec1b05af6b07_cgraph_org.svg deleted file mode 100644 index 5ba068267..000000000 --- a/d3/d40/graph__coloring_8cpp_a8c47fa37fb6eeeb781b2ec1b05af6b07_cgraph_org.svg +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - -backtracking::graph_coloring::printSolution - - -Node1 - - -backtracking::graph -_coloring::printSolution - - - - - -Node1->Node1 - - - - - - - - diff --git a/d3/d40/graph__coloring_8cpp_a976efe049deb042bf1f02612e181ab1d_cgraph.map b/d3/d40/graph__coloring_8cpp_a976efe049deb042bf1f02612e181ab1d_cgraph.map deleted file mode 100644 index 0817c78bc..000000000 --- a/d3/d40/graph__coloring_8cpp_a976efe049deb042bf1f02612e181ab1d_cgraph.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/d3/d40/graph__coloring_8cpp_a976efe049deb042bf1f02612e181ab1d_cgraph.md5 b/d3/d40/graph__coloring_8cpp_a976efe049deb042bf1f02612e181ab1d_cgraph.md5 deleted file mode 100644 index 01d099401..000000000 --- a/d3/d40/graph__coloring_8cpp_a976efe049deb042bf1f02612e181ab1d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -d3c3f41af62feff0fa9bde20638034e0 \ No newline at end of file diff --git a/d3/d40/graph__coloring_8cpp_a976efe049deb042bf1f02612e181ab1d_cgraph.svg b/d3/d40/graph__coloring_8cpp_a976efe049deb042bf1f02612e181ab1d_cgraph.svg deleted file mode 100644 index 9a9e4def5..000000000 --- a/d3/d40/graph__coloring_8cpp_a976efe049deb042bf1f02612e181ab1d_cgraph.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - - - - - - - -backtracking::graph_coloring::isSafe - - -Node1 - - -backtracking::graph -_coloring::isSafe - - - - - -Node1->Node1 - - - - - - - - - - - - - diff --git a/d3/d40/graph__coloring_8cpp_a976efe049deb042bf1f02612e181ab1d_cgraph_org.svg b/d3/d40/graph__coloring_8cpp_a976efe049deb042bf1f02612e181ab1d_cgraph_org.svg deleted file mode 100644 index e0dfeef38..000000000 --- a/d3/d40/graph__coloring_8cpp_a976efe049deb042bf1f02612e181ab1d_cgraph_org.svg +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - -backtracking::graph_coloring::isSafe - - -Node1 - - -backtracking::graph -_coloring::isSafe - - - - - -Node1->Node1 - - - - - - - - diff --git a/d3/d40/graph__coloring_8cpp_source.html b/d3/d40/graph__coloring_8cpp_source.html new file mode 100644 index 000000000..65259e847 --- /dev/null +++ b/d3/d40/graph__coloring_8cpp_source.html @@ -0,0 +1,225 @@ + + + + + + + + +TheAlgorithms/C++: backtracking/graph_coloring.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    graph_coloring.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    21#include <array>
    +
    22#include <iostream>
    +
    23#include <vector>
    +
    24
    +
    29namespace backtracking {
    +
    35namespace graph_coloring {
    +
    41template <size_t V>
    +
    +
    42void printSolution(const std::array<int, V>& color) {
    +
    43 std::cout << "Following are the assigned colors\n";
    +
    44 for (auto& col : color) {
    +
    45 std::cout << col;
    +
    46 }
    +
    47 std::cout << "\n";
    +
    48}
    +
    +
    49
    +
    61template <size_t V>
    +
    +
    62bool isSafe(int v, const std::array<std::array<int, V>, V>& graph,
    +
    63 const std::array<int, V>& color, int c) {
    +
    64 for (int i = 0; i < V; i++) {
    +
    65 if (graph[v][i] && c == color[i]) {
    +
    66 return false;
    +
    67 }
    +
    68 }
    +
    69 return true;
    +
    70}
    +
    +
    71
    +
    81template <size_t V>
    +
    +
    82void graphColoring(const std::array<std::array<int, V>, V>& graph, int m,
    +
    83 std::array<int, V> color, int v) {
    +
    84 // base case:
    +
    85 // If all vertices are assigned a color then return true
    +
    86 if (v == V) {
    +
    87 printSolution<V>(color);
    +
    88 return;
    +
    89 }
    +
    90
    +
    91 // Consider this vertex v and try different colors
    +
    92 for (int c = 1; c <= m; c++) {
    +
    93 // Check if assignment of color c to v is fine
    +
    94 if (isSafe<V>(v, graph, color, c)) {
    +
    95 color[v] = c;
    +
    96
    +
    97 // recur to assign colors to rest of the vertices
    +
    98 graphColoring<V>(graph, m, color, v + 1);
    +
    99
    +
    100 // If assigning color c doesn't lead to a solution then remove it
    +
    101 color[v] = 0;
    +
    102 }
    +
    103 }
    +
    104}
    +
    +
    105} // namespace graph_coloring
    +
    106} // namespace backtracking
    +
    107
    +
    +
    112int main() {
    +
    113 // Create following graph and test whether it is 3 colorable
    +
    114 // (3)---(2)
    +
    115 // | / |
    +
    116 // | / |
    +
    117 // | / |
    +
    118 // (0)---(1)
    +
    119
    +
    120 const int V = 4; // number of vertices in the graph
    +
    121 std::array<std::array<int, V>, V> graph = {
    +
    122 std::array<int, V>({0, 1, 1, 1}), std::array<int, V>({1, 0, 1, 0}),
    +
    123 std::array<int, V>({1, 1, 0, 1}), std::array<int, V>({1, 0, 1, 0})};
    +
    124
    +
    125 int m = 3; // Number of colors
    +
    126 std::array<int, V> color{};
    +
    127
    +
    128 backtracking::graph_coloring::graphColoring<V>(graph, m, color, 0);
    +
    129 return 0;
    +
    130}
    +
    +
    void graphColoring(const std::array< std::array< int, V >, V > &graph, int m, std::array< int, V > color, int v)
    Recursive utility function to solve m coloring problem.
    +
    void printSolution(const std::array< int, V > &color)
    A utility function to print the solution.
    +
    bool isSafe(int v, const std::array< std::array< int, V >, V > &graph, const std::array< int, V > &color, int c)
    Utility function to check if the current color assignment is safe for vertex v.
    +
    int main()
    Main function.
    +
    for vector container
    +
    Functions for the Graph Coloring algorithm,.
    +
    Graph Algorithms.
    +
    +
    + + + + diff --git a/d3/d4c/quick__sort__3_8cpp.html b/d3/d4c/quick__sort__3_8cpp.html index 18914f1c6..19e8396d6 100644 --- a/d3/d4c/quick__sort__3_8cpp.html +++ b/d3/d4c/quick__sort__3_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: sorting/quick_sort_3.cpp File Reference +TheAlgorithms/C++: sorting/quick_sort_3.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -123,7 +140,9 @@ Include dependency graph for quick_sort_3.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -133,10 +152,10 @@ Namespaces - + - + @@ -150,6 +169,8 @@ Functions

    Quick sort 3 works on Dutch National Flag Algorithm The major difference between simple quicksort and quick sort 3 comes in the function partition3 In quick_sort_partition3 we divide the vector/array into 3 parts. quick sort 3 works faster in some cases as compared to simple quicksort.

    Author
    immortal-j
    Krishna Vedala
    + +

    Definition in file quick_sort_3.cpp.

    Function Documentation

    ◆ main()

    @@ -166,22 +187,17 @@ Functions

    Namespaces

    namespace  sorting

    Functions

    template<typename T >
    void sorting::quicksort (std::vector< T > *arr, int32_t low, int32_t high)
    void sorting::quicksort (std::vector< T > *arr, int32_t low, int32_t high)
     
    template<typename T >
    std::vector< T > sorting::quicksort (std::vector< T > arr, int32_t low, int32_t high)
    std::vector< T > sorting::quicksort (std::vector< T > arr, int32_t low, int32_t high)
     
    static void test_int ()
     

    Driver program for above functions

    + +

    Definition at line 184 of file quick_sort_3.cpp.

    184 {
    -
    185 std::srand(std::time(nullptr));
    +
    185 std::srand(std::time(nullptr));
    186 test_int();
    187 test_double();
    188 return 0;
    189}
    -
    static void test_int()
    Definition quick_sort_3.cpp:138
    -
    static void test_double()
    Definition quick_sort_3.cpp:160
    -
    T srand(T... args)
    -
    T time(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static void test_int()
    +
    static void test_double()
    +
    @@ -207,41 +223,32 @@ Here is the call graph for this function:

    Test function for double type arrays

    + +

    Definition at line 160 of file quick_sort_3.cpp.

    160 {
    -
    161 std::cout << "\nTesting Double type arrays\n";
    +
    161 std::cout << "\nTesting Double type arrays\n";
    162 for (int num_tests = 1; num_tests < 21; num_tests++) {
    -
    163 size_t size = std::rand() % 500;
    -
    164 std::vector<double> arr(size);
    +
    163 size_t size = std::rand() % 500;
    +
    164 std::vector<double> arr(size);
    165 for (auto &a : arr) {
    -
    166 a = double(std::rand() % 500) -
    +
    166 a = double(std::rand() % 500) -
    167 250.f; // random numbers between -250, 249
    168 a /= 100.f; // convert to -2.5 to 2.49
    169 }
    170
    -
    171 std::cout << "Test " << num_tests << "\t Array size:" << size << "\t ";
    -
    172 std::vector<double> sorted =
    +
    171 std::cout << "Test " << num_tests << "\t Array size:" << size << "\t ";
    +
    172 std::vector<double> sorted =
    173 sorting::quicksort(arr, 0, int32_t(size) - 1);
    174 if (size < 20) {
    -
    175 std::cout << "\t Sorted Array is:\n\t";
    -
    176 std::cout << sorted << "\n";
    +
    175 std::cout << "\t Sorted Array is:\n\t";
    +
    176 std::cout << sorted << "\n";
    177 }
    -
    178 assert(std::is_sorted(std::begin(sorted), std::end(sorted)));
    -
    179 std::cout << "\t Passed\n";
    +
    178 assert(std::is_sorted(std::begin(sorted), std::end(sorted)));
    +
    179 std::cout << "\t Passed\n";
    180 }
    181}
    - -
    T begin(T... args)
    -
    T end(T... args)
    -
    T is_sorted(T... args)
    -
    void quicksort(std::vector< T > *arr, int32_t low, int32_t high)
    Definition quick_sort_3.cpp:94
    -
    T rand(T... args)
    - -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    void quicksort(std::vector< T > *arr, int32_t low, int32_t high)
    +
    @@ -267,32 +274,29 @@ Here is the call graph for this function:

    Test function for integer type arrays

    + +

    Definition at line 138 of file quick_sort_3.cpp.

    138 {
    -
    139 std::cout << "\nTesting integer type arrays\n";
    +
    139 std::cout << "\nTesting integer type arrays\n";
    140
    141 for (int num_tests = 1; num_tests < 21; num_tests++) {
    -
    142 size_t size = std::rand() % 500;
    -
    143 std::vector<int> arr(size);
    +
    142 size_t size = std::rand() % 500;
    +
    143 std::vector<int> arr(size);
    144 for (auto &a : arr) {
    -
    145 a = std::rand() % 500 - 250; // random numbers between -250, 249
    +
    145 a = std::rand() % 500 - 250; // random numbers between -250, 249
    146 }
    147
    -
    148 std::cout << "Test " << num_tests << "\t Array size:" << size << "\t ";
    -
    149 std::vector<int> sorted = sorting::quicksort(arr, 0, int32_t(size) - 1);
    +
    148 std::cout << "Test " << num_tests << "\t Array size:" << size << "\t ";
    +
    149 std::vector<int> sorted = sorting::quicksort(arr, 0, int32_t(size) - 1);
    150 if (size < 20) {
    -
    151 std::cout << "\t Sorted Array is:\n\t";
    -
    152 std::cout << sorted << "\n";
    +
    151 std::cout << "\t Sorted Array is:\n\t";
    +
    152 std::cout << sorted << "\n";
    153 }
    -
    154 assert(std::is_sorted(std::begin(sorted), std::end(sorted)));
    -
    155 std::cout << "\t Passed\n";
    +
    154 assert(std::is_sorted(std::begin(sorted), std::end(sorted)));
    +
    155 std::cout << "\t Passed\n";
    156 }
    157}
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    diff --git a/d3/d4c/quick__sort__3_8cpp_a07e5c62de28aeddea986890ce7ac1bda_cgraph.map b/d3/d4c/quick__sort__3_8cpp_a07e5c62de28aeddea986890ce7ac1bda_cgraph.map deleted file mode 100644 index 9cce64d88..000000000 --- a/d3/d4c/quick__sort__3_8cpp_a07e5c62de28aeddea986890ce7ac1bda_cgraph.map +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - - - - - diff --git a/d3/d4c/quick__sort__3_8cpp_a07e5c62de28aeddea986890ce7ac1bda_cgraph.md5 b/d3/d4c/quick__sort__3_8cpp_a07e5c62de28aeddea986890ce7ac1bda_cgraph.md5 deleted file mode 100644 index 1bb9d3071..000000000 --- a/d3/d4c/quick__sort__3_8cpp_a07e5c62de28aeddea986890ce7ac1bda_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -698c5864ad48e139688c7c3f1e6fe586 \ No newline at end of file diff --git a/d3/d4c/quick__sort__3_8cpp_a07e5c62de28aeddea986890ce7ac1bda_cgraph.svg b/d3/d4c/quick__sort__3_8cpp_a07e5c62de28aeddea986890ce7ac1bda_cgraph.svg deleted file mode 100644 index a3d65c268..000000000 --- a/d3/d4c/quick__sort__3_8cpp_a07e5c62de28aeddea986890ce7ac1bda_cgraph.svg +++ /dev/null @@ -1,146 +0,0 @@ - - - - - - - - - - - - -test_int - - -Node1 - - -test_int - - - - - -Node2 - - -std::begin - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::end - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::is_sorted - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -sorting::quicksort - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -std::rand - - - - - -Node1->Node6 - - - - - - - - -Node5->Node5 - - - - - - - - - - - - - diff --git a/d3/d4c/quick__sort__3_8cpp_a07e5c62de28aeddea986890ce7ac1bda_cgraph_org.svg b/d3/d4c/quick__sort__3_8cpp_a07e5c62de28aeddea986890ce7ac1bda_cgraph_org.svg deleted file mode 100644 index 677043045..000000000 --- a/d3/d4c/quick__sort__3_8cpp_a07e5c62de28aeddea986890ce7ac1bda_cgraph_org.svg +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - -test_int - - -Node1 - - -test_int - - - - - -Node2 - - -std::begin - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::end - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::is_sorted - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -sorting::quicksort - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -std::rand - - - - - -Node1->Node6 - - - - - - - - -Node5->Node5 - - - - - - - - diff --git a/d3/d4c/quick__sort__3_8cpp_a2635b04ad943fa28b7bbf8d1e6479792_cgraph.map b/d3/d4c/quick__sort__3_8cpp_a2635b04ad943fa28b7bbf8d1e6479792_cgraph.map deleted file mode 100644 index a002a0637..000000000 --- a/d3/d4c/quick__sort__3_8cpp_a2635b04ad943fa28b7bbf8d1e6479792_cgraph.map +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - - - - - diff --git a/d3/d4c/quick__sort__3_8cpp_a2635b04ad943fa28b7bbf8d1e6479792_cgraph.md5 b/d3/d4c/quick__sort__3_8cpp_a2635b04ad943fa28b7bbf8d1e6479792_cgraph.md5 deleted file mode 100644 index 5d2c75705..000000000 --- a/d3/d4c/quick__sort__3_8cpp_a2635b04ad943fa28b7bbf8d1e6479792_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -f05f4e63c4cd11fabd37e0b681124d57 \ No newline at end of file diff --git a/d3/d4c/quick__sort__3_8cpp_a2635b04ad943fa28b7bbf8d1e6479792_cgraph.svg b/d3/d4c/quick__sort__3_8cpp_a2635b04ad943fa28b7bbf8d1e6479792_cgraph.svg deleted file mode 100644 index 16d93eb3c..000000000 --- a/d3/d4c/quick__sort__3_8cpp_a2635b04ad943fa28b7bbf8d1e6479792_cgraph.svg +++ /dev/null @@ -1,146 +0,0 @@ - - - - - - - - - - - - -test_double - - -Node1 - - -test_double - - - - - -Node2 - - -std::begin - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::end - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::is_sorted - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -sorting::quicksort - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -std::rand - - - - - -Node1->Node6 - - - - - - - - -Node5->Node5 - - - - - - - - - - - - - diff --git a/d3/d4c/quick__sort__3_8cpp_a2635b04ad943fa28b7bbf8d1e6479792_cgraph_org.svg b/d3/d4c/quick__sort__3_8cpp_a2635b04ad943fa28b7bbf8d1e6479792_cgraph_org.svg deleted file mode 100644 index b3951a1f9..000000000 --- a/d3/d4c/quick__sort__3_8cpp_a2635b04ad943fa28b7bbf8d1e6479792_cgraph_org.svg +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - -test_double - - -Node1 - - -test_double - - - - - -Node2 - - -std::begin - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::end - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::is_sorted - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -sorting::quicksort - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -std::rand - - - - - -Node1->Node6 - - - - - - - - -Node5->Node5 - - - - - - - - diff --git a/d3/d4c/quick__sort__3_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d3/d4c/quick__sort__3_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index a29ac3378..000000000 --- a/d3/d4c/quick__sort__3_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,27 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d3/d4c/quick__sort__3_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d3/d4c/quick__sort__3_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index dc792aada..000000000 --- a/d3/d4c/quick__sort__3_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -3379ea5dbff847d0032bdda0680e8026 \ No newline at end of file diff --git a/d3/d4c/quick__sort__3_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d3/d4c/quick__sort__3_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index c6bbd2afc..000000000 --- a/d3/d4c/quick__sort__3_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,263 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -std::srand - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -test_double - - - - - -Node1->Node3 - - - - - - - - -Node9 - - -test_int - - - - - -Node1->Node9 - - - - - - - - -Node10 - - -std::time - - - - - -Node1->Node10 - - - - - - - - -Node4 - - -std::begin - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -std::end - - - - - -Node3->Node5 - - - - - - - - -Node6 - - -std::is_sorted - - - - - -Node3->Node6 - - - - - - - - -Node7 - - -sorting::quicksort - - - - - -Node3->Node7 - - - - - - - - -Node8 - - -std::rand - - - - - -Node3->Node8 - - - - - - - - -Node7->Node7 - - - - - - - - -Node9->Node4 - - - - - - - - -Node9->Node5 - - - - - - - - -Node9->Node6 - - - - - - - - -Node9->Node7 - - - - - - - - -Node9->Node8 - - - - - - - - - - - - - diff --git a/d3/d4c/quick__sort__3_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d3/d4c/quick__sort__3_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 8359a175f..000000000 --- a/d3/d4c/quick__sort__3_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,237 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -std::srand - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -test_double - - - - - -Node1->Node3 - - - - - - - - -Node9 - - -test_int - - - - - -Node1->Node9 - - - - - - - - -Node10 - - -std::time - - - - - -Node1->Node10 - - - - - - - - -Node4 - - -std::begin - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -std::end - - - - - -Node3->Node5 - - - - - - - - -Node6 - - -std::is_sorted - - - - - -Node3->Node6 - - - - - - - - -Node7 - - -sorting::quicksort - - - - - -Node3->Node7 - - - - - - - - -Node8 - - -std::rand - - - - - -Node3->Node8 - - - - - - - - -Node7->Node7 - - - - - - - - -Node9->Node4 - - - - - - - - -Node9->Node5 - - - - - - - - -Node9->Node6 - - - - - - - - -Node9->Node7 - - - - - - - - -Node9->Node8 - - - - - - - - diff --git a/d3/d4c/quick__sort__3_8cpp_source.html b/d3/d4c/quick__sort__3_8cpp_source.html new file mode 100644 index 000000000..785b7740f --- /dev/null +++ b/d3/d4c/quick__sort__3_8cpp_source.html @@ -0,0 +1,293 @@ + + + + + + + + +TheAlgorithms/C++: sorting/quick_sort_3.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    quick_sort_3.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    12#include <algorithm>
    +
    13#include <cassert>
    +
    14#include <ctime>
    +
    15#include <iostream>
    +
    16#include <vector>
    +
    17
    +
    18namespace {
    +
    24template <typename T>
    +
    25std::ostream &operator<<(std::ostream &out, const std::vector<T> &arr) {
    +
    26 for (size_t i = 0; i < arr.size(); ++i) {
    +
    27 out << arr[i];
    +
    28 if (i < arr.size() - 1) {
    +
    29 out << ", ";
    +
    30 }
    +
    31 }
    +
    32 return out;
    +
    33}
    +
    34
    +
    35} // namespace
    +
    36
    +
    41namespace sorting {
    +
    42namespace { // using un-named namespace here to prevent partition function
    +
    43 // being visible to end-users
    +
    55template <typename T>
    +
    56void partition3(std::vector<T> *arr, int32_t low, int32_t high, int32_t *i,
    +
    57 int32_t *j) {
    +
    58 // To handle 2 elements
    +
    59 if (high - low <= 1) {
    +
    60 if ((*arr)[high] < (*arr)[low]) {
    +
    61 std::swap((*arr)[high], (*arr)[low]);
    +
    62 }
    +
    63 *i = low;
    +
    64 *j = high;
    +
    65 return;
    +
    66 }
    +
    67
    +
    68 int32_t mid = low;
    +
    69 T pivot = (*arr)[high];
    +
    70 while (mid <= high) {
    +
    71 if ((*arr)[mid] < pivot) {
    +
    72 std::swap((*arr)[low++], (*arr)[mid++]);
    +
    73 } else if ((*arr)[mid] == pivot) {
    +
    74 mid++;
    +
    75 } else if ((*arr)[mid] > pivot) {
    +
    76 std::swap((*arr)[mid], (*arr)[high--]);
    +
    77 }
    +
    78 }
    +
    79
    +
    80 // update i and j
    +
    81 *i = low - 1;
    +
    82 *j = mid; // or high-1
    +
    83}
    +
    84} // namespace
    +
    85
    +
    93template <typename T>
    +
    +
    94void quicksort(std::vector<T> *arr, int32_t low, int32_t high) {
    +
    95 if (low >= high) { // 1 or 0 elements
    +
    96 return;
    +
    97 }
    +
    98
    +
    99 int32_t i = 0, j = 0;
    +
    100
    +
    101 // i and j are passed as reference
    +
    102 partition3(arr, low, high, &i, &j);
    +
    103
    +
    104 // Recur two halves
    +
    105 quicksort(arr, low, i);
    +
    106 quicksort(arr, j, high);
    +
    107}
    +
    +
    108
    +
    118template <typename T>
    +
    +
    119std::vector<T> quicksort(std::vector<T> arr, int32_t low, int32_t high) {
    +
    120 if (low >= high) { // 1 or 0 elements
    +
    121 return arr;
    +
    122 }
    +
    123
    +
    124 int32_t i = 0, j = 0;
    +
    125
    +
    126 // i and j are passed as reference
    +
    127 partition3(&arr, low, high, &i, &j);
    +
    128
    +
    129 // Recur two halves
    +
    130 quicksort(&arr, low, i);
    +
    131 quicksort(&arr, j, high);
    +
    132
    +
    133 return arr;
    +
    134}
    +
    +
    135} // namespace sorting
    +
    136
    +
    +
    138static void test_int() {
    +
    139 std::cout << "\nTesting integer type arrays\n";
    +
    140
    +
    141 for (int num_tests = 1; num_tests < 21; num_tests++) {
    +
    142 size_t size = std::rand() % 500;
    +
    143 std::vector<int> arr(size);
    +
    144 for (auto &a : arr) {
    +
    145 a = std::rand() % 500 - 250; // random numbers between -250, 249
    +
    146 }
    +
    147
    +
    148 std::cout << "Test " << num_tests << "\t Array size:" << size << "\t ";
    +
    149 std::vector<int> sorted = sorting::quicksort(arr, 0, int32_t(size) - 1);
    +
    150 if (size < 20) {
    +
    151 std::cout << "\t Sorted Array is:\n\t";
    +
    152 std::cout << sorted << "\n";
    +
    153 }
    +
    154 assert(std::is_sorted(std::begin(sorted), std::end(sorted)));
    +
    155 std::cout << "\t Passed\n";
    +
    156 }
    +
    157}
    +
    +
    158
    +
    +
    160static void test_double() {
    +
    161 std::cout << "\nTesting Double type arrays\n";
    +
    162 for (int num_tests = 1; num_tests < 21; num_tests++) {
    +
    163 size_t size = std::rand() % 500;
    +
    164 std::vector<double> arr(size);
    +
    165 for (auto &a : arr) {
    +
    166 a = double(std::rand() % 500) -
    +
    167 250.f; // random numbers between -250, 249
    +
    168 a /= 100.f; // convert to -2.5 to 2.49
    +
    169 }
    +
    170
    +
    171 std::cout << "Test " << num_tests << "\t Array size:" << size << "\t ";
    +
    172 std::vector<double> sorted =
    +
    173 sorting::quicksort(arr, 0, int32_t(size) - 1);
    +
    174 if (size < 20) {
    +
    175 std::cout << "\t Sorted Array is:\n\t";
    +
    176 std::cout << sorted << "\n";
    +
    177 }
    +
    178 assert(std::is_sorted(std::begin(sorted), std::end(sorted)));
    +
    179 std::cout << "\t Passed\n";
    +
    180 }
    +
    181}
    +
    +
    182
    +
    +
    184int main() {
    +
    185 std::srand(std::time(nullptr));
    +
    186 test_int();
    +
    187 test_double();
    +
    188 return 0;
    +
    189}
    +
    +
    static std::ostream & operator<<(std::ostream &out, matrix< T > const &v)
    +
    for working with vectors
    +
    void quicksort(std::vector< T > *arr, int32_t low, int32_t high)
    +
    static void test_int()
    +
    static void test_double()
    +
    int main()
    +
    +
    + + + + diff --git a/d3/d4c/xor__cipher_8cpp.html b/d3/d4c/xor__cipher_8cpp.html index b1e3db3d5..574557298 100644 --- a/d3/d4c/xor__cipher_8cpp.html +++ b/d3/d4c/xor__cipher_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: ciphers/xor_cipher.cpp File Reference +TheAlgorithms/C++: ciphers/xor_cipher.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -121,7 +138,9 @@ Include dependency graph for xor_cipher.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -133,9 +152,9 @@ Namespaces

    Namespaces

    namespace  ciphers
    - + - + @@ -157,6 +176,8 @@ Algorithm

    Choose the key for encryption and apply XOR operation to each character of a string. Reapplying XOR operation to each character of encrypted string will give original string back.

    Note
    This program implements XOR Cipher for string with ASCII characters.
    Author
    Deep Raval
    + +

    Definition in file xor_cipher.cpp.

    Function Documentation

    ◆ decrypt()

    @@ -165,9 +186,9 @@ Algorithm

    Functions

    std::string ciphers::XOR::encrypt (const std::string &text, const int &key)
    std::string ciphers::XOR::encrypt (const std::string &text, const int &key)
     
    std::string ciphers::XOR::decrypt (const std::string &text, const int &key)
    std::string ciphers::XOR::decrypt (const std::string &text, const int &key)
     
    void test ()
     
    - + - + @@ -184,15 +205,16 @@ Algorithm
    Returns
    new decrypted text
    + +

    Definition at line 61 of file xor_cipher.cpp.

    61 {
    -
    62 std::string decrypted_text = ""; // Empty string to store decrypted text
    +
    62 std::string decrypted_text = ""; // Empty string to store decrypted text
    63 for (auto &c : text) { // Going through each character
    64 char decrypted_char = char(c ^ key); // Applying decryption
    65 decrypted_text += decrypted_char; // Appending decrypted character
    66 }
    67 return decrypted_text; // Returning decrypted text
    68 }
    -
    @@ -203,9 +225,9 @@ Algorithm
    std::string ciphers::XOR::decrypt std::string ciphers::XOR::decrypt (const std::string & text, const std::string & text,
    - + - + @@ -222,8 +244,10 @@ Algorithm
    Returns
    new encrypted text
    + +

    Definition at line 47 of file xor_cipher.cpp.

    47 {
    -
    48 std::string encrypted_text = ""; // Empty string to store encrypted text
    +
    48 std::string encrypted_text = ""; // Empty string to store encrypted text
    49 for (auto &c: text) { // Going through each character
    50 char encrypted_char = char(c ^ key); // Applying encyption
    51 encrypted_text += encrypted_char; // Appending encrypted character
    @@ -248,18 +272,15 @@ Algorithm
    std::string ciphers::XOR::encrypt std::string ciphers::XOR::encrypt (const std::string & text, const std::string & text,

    Driver Code

    + +

    Definition at line 95 of file xor_cipher.cpp.

    95 {
    96 // Testing
    97 test();
    98 return 0;
    99}
    -
    void test()
    Definition xor_cipher.cpp:75
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    void test()
    +
    @@ -277,34 +298,29 @@ Here is the call graph for this function:

    Function to test above algorithm

    + +

    Definition at line 75 of file xor_cipher.cpp.

    75 {
    76 // Test 1
    -
    77 std::string text1 = "Whipalsh! : Do watch this movie...";
    -
    78 std::string encrypted1 = ciphers::XOR::encrypt(text1, 17);
    -
    79 std::string decrypted1 = ciphers::XOR::decrypt(encrypted1, 17);
    +
    77 std::string text1 = "Whipalsh! : Do watch this movie...";
    +
    78 std::string encrypted1 = ciphers::XOR::encrypt(text1, 17);
    +
    79 std::string decrypted1 = ciphers::XOR::decrypt(encrypted1, 17);
    80 assert(text1 == decrypted1);
    -
    81 std::cout << "Original text : " << text1;
    -
    82 std::cout << " , Encrypted text (with key = 17) : " << encrypted1;
    -
    83 std::cout << " , Decrypted text : "<< decrypted1 << std::endl;
    +
    81 std::cout << "Original text : " << text1;
    +
    82 std::cout << " , Encrypted text (with key = 17) : " << encrypted1;
    +
    83 std::cout << " , Decrypted text : "<< decrypted1 << std::endl;
    84 // Test 2
    -
    85 std::string text2 = "->Valar M0rghulis<-";
    -
    86 std::string encrypted2 = ciphers::XOR::encrypt(text2, 29);
    -
    87 std::string decrypted2 = ciphers::XOR::decrypt(encrypted2, 29);
    +
    85 std::string text2 = "->Valar M0rghulis<-";
    +
    86 std::string encrypted2 = ciphers::XOR::encrypt(text2, 29);
    +
    87 std::string decrypted2 = ciphers::XOR::decrypt(encrypted2, 29);
    88 assert(text2 == decrypted2);
    -
    89 std::cout << "Original text : " << text2;
    -
    90 std::cout << " , Encrypted text (with key = 29) : " << encrypted2;
    -
    91 std::cout << " , Decrypted text : "<< decrypted2 << std::endl;
    +
    89 std::cout << "Original text : " << text2;
    +
    90 std::cout << " , Encrypted text (with key = 29) : " << encrypted2;
    +
    91 std::cout << " , Decrypted text : "<< decrypted2 << std::endl;
    92}
    - -
    T endl(T... args)
    -
    std::string decrypt(const std::string &text, const int &key)
    Definition xor_cipher.cpp:61
    -
    std::string encrypt(const std::string &text, const int &key)
    Definition xor_cipher.cpp:47
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    std::string decrypt(const std::string &text, const int &key)
    +
    std::string encrypt(const std::string &text, const int &key)
    +
    diff --git a/d3/d4c/xor__cipher_8cpp_ae1a3968e7947464bee7714f6d43b7002_cgraph.map b/d3/d4c/xor__cipher_8cpp_ae1a3968e7947464bee7714f6d43b7002_cgraph.map deleted file mode 100644 index ab849b4e9..000000000 --- a/d3/d4c/xor__cipher_8cpp_ae1a3968e7947464bee7714f6d43b7002_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d3/d4c/xor__cipher_8cpp_ae1a3968e7947464bee7714f6d43b7002_cgraph.md5 b/d3/d4c/xor__cipher_8cpp_ae1a3968e7947464bee7714f6d43b7002_cgraph.md5 deleted file mode 100644 index 027bb45f5..000000000 --- a/d3/d4c/xor__cipher_8cpp_ae1a3968e7947464bee7714f6d43b7002_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -a1d13d80069df469bd6cb7baa71c0ea1 \ No newline at end of file diff --git a/d3/d4c/xor__cipher_8cpp_ae1a3968e7947464bee7714f6d43b7002_cgraph.svg b/d3/d4c/xor__cipher_8cpp_ae1a3968e7947464bee7714f6d43b7002_cgraph.svg deleted file mode 100644 index 74b7e7dc5..000000000 --- a/d3/d4c/xor__cipher_8cpp_ae1a3968e7947464bee7714f6d43b7002_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d3/d4c/xor__cipher_8cpp_ae1a3968e7947464bee7714f6d43b7002_cgraph_org.svg b/d3/d4c/xor__cipher_8cpp_ae1a3968e7947464bee7714f6d43b7002_cgraph_org.svg deleted file mode 100644 index b7b979de9..000000000 --- a/d3/d4c/xor__cipher_8cpp_ae1a3968e7947464bee7714f6d43b7002_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - diff --git a/d3/d4c/xor__cipher_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d3/d4c/xor__cipher_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 820d4e877..000000000 --- a/d3/d4c/xor__cipher_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/d3/d4c/xor__cipher_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d3/d4c/xor__cipher_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index c4f52ee26..000000000 --- a/d3/d4c/xor__cipher_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -267e2f0061432ffb296687502c6d1864 \ No newline at end of file diff --git a/d3/d4c/xor__cipher_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d3/d4c/xor__cipher_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 4ad814427..000000000 --- a/d3/d4c/xor__cipher_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node2->Node3 - - - - - - - - - - - - - diff --git a/d3/d4c/xor__cipher_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d3/d4c/xor__cipher_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index babf8e8e2..000000000 --- a/d3/d4c/xor__cipher_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node2->Node3 - - - - - - - - diff --git a/d3/d4c/xor__cipher_8cpp_source.html b/d3/d4c/xor__cipher_8cpp_source.html new file mode 100644 index 000000000..f91961ba4 --- /dev/null +++ b/d3/d4c/xor__cipher_8cpp_source.html @@ -0,0 +1,199 @@ + + + + + + + + +TheAlgorithms/C++: ciphers/xor_cipher.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    xor_cipher.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    29#include <iostream>
    +
    30#include <string>
    +
    31#include <cassert>
    +
    32
    +
    36namespace ciphers {
    +
    40 namespace XOR {
    +
    +
    47 std::string encrypt (const std::string &text, const int &key) {
    +
    48 std::string encrypted_text = ""; // Empty string to store encrypted text
    +
    49 for (auto &c: text) { // Going through each character
    +
    50 char encrypted_char = char(c ^ key); // Applying encyption
    +
    51 encrypted_text += encrypted_char; // Appending encrypted character
    +
    52 }
    +
    53 return encrypted_text; // Returning encrypted text
    +
    54 }
    +
    +
    +
    61 std::string decrypt (const std::string &text, const int &key) {
    +
    62 std::string decrypted_text = ""; // Empty string to store decrypted text
    +
    63 for (auto &c : text) { // Going through each character
    +
    64 char decrypted_char = char(c ^ key); // Applying decryption
    +
    65 decrypted_text += decrypted_char; // Appending decrypted character
    +
    66 }
    +
    67 return decrypted_text; // Returning decrypted text
    +
    68 }
    +
    +
    69 } // namespace XOR
    +
    70} // namespace ciphers
    +
    71
    +
    +
    75void test() {
    +
    76 // Test 1
    +
    77 std::string text1 = "Whipalsh! : Do watch this movie...";
    +
    78 std::string encrypted1 = ciphers::XOR::encrypt(text1, 17);
    +
    79 std::string decrypted1 = ciphers::XOR::decrypt(encrypted1, 17);
    +
    80 assert(text1 == decrypted1);
    +
    81 std::cout << "Original text : " << text1;
    +
    82 std::cout << " , Encrypted text (with key = 17) : " << encrypted1;
    +
    83 std::cout << " , Decrypted text : "<< decrypted1 << std::endl;
    +
    84 // Test 2
    +
    85 std::string text2 = "->Valar M0rghulis<-";
    +
    86 std::string encrypted2 = ciphers::XOR::encrypt(text2, 29);
    +
    87 std::string decrypted2 = ciphers::XOR::decrypt(encrypted2, 29);
    +
    88 assert(text2 == decrypted2);
    +
    89 std::cout << "Original text : " << text2;
    +
    90 std::cout << " , Encrypted text (with key = 29) : " << encrypted2;
    +
    91 std::cout << " , Decrypted text : "<< decrypted2 << std::endl;
    +
    92}
    +
    +
    93
    +
    +
    95int main() {
    +
    96 // Testing
    +
    97 test();
    +
    98 return 0;
    +
    99}
    +
    +
    Functions for XOR cipher algorithm.
    +
    Algorithms for encryption and decryption.
    +
    void test()
    +
    int main()
    +
    +
    + + + + diff --git a/d3/d53/mo_8cpp_source.html b/d3/d53/mo_8cpp_source.html new file mode 100644 index 000000000..d56dad7c1 --- /dev/null +++ b/d3/d53/mo_8cpp_source.html @@ -0,0 +1,212 @@ + + + + + + + + +TheAlgorithms/C++: range_queries/mo.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    mo.cpp
    +
    +
    +
    1#include <algorithm>
    +
    2#include <cmath>
    +
    3#include <iostream>
    +
    4
    +
    5using namespace std;
    +
    6const int N = 1e6 + 5;
    +
    7int a[N], bucket[N], cnt[N];
    +
    8int bucket_size;
    +
    +
    9struct query {
    +
    10 int l, r, i;
    +
    11} q[N];
    +
    +
    12int ans = 0;
    +
    13
    +
    14void add(int index) {
    +
    15 cnt[a[index]]++;
    +
    16 if (cnt[a[index]] == 1)
    +
    17 ans++;
    +
    18}
    +
    19void remove(int index) {
    +
    20 cnt[a[index]]--;
    +
    21 if (cnt[a[index]] == 0)
    +
    22 ans--;
    +
    23}
    +
    24
    +
    25bool mycmp(query x, query y) {
    +
    26 if (x.l / bucket_size != y.l / bucket_size)
    +
    27 return x.l / bucket_size < y.l / bucket_size;
    +
    28 return x.r < y.r;
    +
    29}
    +
    30
    +
    31int main() {
    +
    32 int n, t, i, j, k = 0;
    +
    33 scanf("%d", &n);
    +
    34 for (i = 0; i < n; i++) scanf("%d", &a[i]);
    +
    35 bucket_size = ceil(sqrt(n));
    +
    36 scanf("%d", &t);
    +
    37 for (i = 0; i < t; i++) {
    +
    38 scanf("%d %d", &q[i].l, &q[i].r);
    +
    39 q[i].l--;
    +
    40 q[i].r--;
    +
    41 q[i].i = i;
    +
    42 }
    +
    43 sort(q, q + t, mycmp);
    +
    44 int left = 0, right = 0;
    +
    45 for (i = 0; i < t; i++) {
    +
    46 int L = q[i].l, R = q[i].r;
    +
    47 while (left < L) {
    +
    48 remove(left);
    +
    49 left++;
    +
    50 }
    +
    51 while (left > L) {
    +
    52 add(left - 1);
    +
    53 left--;
    +
    54 }
    +
    55 while (right <= R) {
    +
    56 add(right);
    +
    57 right++;
    +
    58 }
    +
    59 while (right > R + 1) {
    +
    60 remove(right - 1);
    +
    61 right--;
    +
    62 }
    +
    63 bucket[q[i].i] = ans;
    +
    64 }
    +
    65 for (i = 0; i < t; i++) printf("%d\n", bucket[i]);
    +
    66 return 0;
    +
    67}
    +
    double k(double x)
    Another test function.
    +
    int main()
    Main function.
    + +
    constexpr uint32_t N
    A struct to represent sparse table for min() as their invariant function, for the given array A....
    +
    Definition mo.cpp:9
    +
    std::string add(const std::string &first, const std::string &second)
    Adding two string.
    Definition uint128_t.hpp:38
    +
    +
    + + + + diff --git a/d3/d61/vector__important__functions_8cpp.html b/d3/d61/vector__important__functions_8cpp.html index 492a7ff3c..4d904190a 100644 --- a/d3/d61/vector__important__functions_8cpp.html +++ b/d3/d61/vector__important__functions_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: others/vector_important_functions.cpp File Reference +TheAlgorithms/C++: others/vector_important_functions.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -110,7 +127,7 @@ $(function(){initNavTree('d3/d61/vector__important__functions_8cpp.html','../../
    -

    A C++ program to demonstrate working of std::sort(), std::reverse() +

    A C++ program to demonstrate working of std::sort(), std::reverse() More...

    #include <algorithm>
    #include <iostream>
    @@ -121,14 +138,18 @@ Include dependency graph for vector_important_functions.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +

    Functions

    int main ()
     

    Detailed Description

    -

    A C++ program to demonstrate working of std::sort(), std::reverse()

    +

    A C++ program to demonstrate working of std::sort(), std::reverse()

    + +

    Definition in file vector_important_functions.cpp.

    Function Documentation

    ◆ main()

    @@ -145,52 +166,42 @@ Functions

    Main function

    + +

    Definition at line 11 of file vector_important_functions.cpp.

    11 {
    12 // Initializing vector with array values
    13 int arr[] = {10, 20, 5, 23, 42, 15};
    14 int n = sizeof(arr) / sizeof(arr[0]);
    -
    15 std::vector<int> vect(arr, arr + n);
    +
    15 std::vector<int> vect(arr, arr + n);
    16
    -
    17 std::cout << "Vector is: ";
    -
    18 for (int i = 0; i < n; i++) std::cout << vect[i] << " ";
    +
    17 std::cout << "Vector is: ";
    +
    18 for (int i = 0; i < n; i++) std::cout << vect[i] << " ";
    19
    20 // Sorting the Vector in Ascending order
    -
    21 std::sort(vect.begin(), vect.end());
    +
    21 std::sort(vect.begin(), vect.end());
    22
    -
    23 std::cout << "\nVector after sorting is: ";
    -
    24 for (int i = 0; i < n; i++) std::cout << vect[i] << " ";
    +
    23 std::cout << "\nVector after sorting is: ";
    +
    24 for (int i = 0; i < n; i++) std::cout << vect[i] << " ";
    25
    26 // Reversing the Vector
    -
    27 std::reverse(vect.begin(), vect.end());
    +
    27 std::reverse(vect.begin(), vect.end());
    28
    -
    29 std::cout << "\nVector after reversing is: ";
    -
    30 for (int i = 0; i < 6; i++) std::cout << vect[i] << " ";
    +
    29 std::cout << "\nVector after reversing is: ";
    +
    30 for (int i = 0; i < 6; i++) std::cout << vect[i] << " ";
    31
    -
    32 std::cout << "\nMaximum element of vector is: ";
    -
    33 std::cout << *max_element(vect.begin(), vect.end());
    +
    32 std::cout << "\nMaximum element of vector is: ";
    +
    33 std::cout << *max_element(vect.begin(), vect.end());
    34
    -
    35 std::cout << "\nMinimum element of vector is: ";
    -
    36 std::cout << *min_element(vect.begin(), vect.end());
    +
    35 std::cout << "\nMinimum element of vector is: ";
    +
    36 std::cout << *min_element(vect.begin(), vect.end());
    37
    38 // Starting the summation from 0
    -
    39 std::cout << "\nThe summation of vector elements is: ";
    -
    40 std::cout << accumulate(vect.begin(), vect.end(), 0);
    +
    39 std::cout << "\nThe summation of vector elements is: ";
    +
    40 std::cout << accumulate(vect.begin(), vect.end(), 0);
    41
    42 return 0;
    43}
    -
    T accumulate(T... args)
    - -
    T max_element(T... args)
    -
    T min_element(T... args)
    -
    T reverse(T... args)
    -
    T sort(T... args)
    - -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    diff --git a/d3/d61/vector__important__functions_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d3/d61/vector__important__functions_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 035eb807c..000000000 --- a/d3/d61/vector__important__functions_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/d3/d61/vector__important__functions_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d3/d61/vector__important__functions_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index d2ab53fe4..000000000 --- a/d3/d61/vector__important__functions_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -312ca0d34ef2757daf2c31970ee2e14c \ No newline at end of file diff --git a/d3/d61/vector__important__functions_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d3/d61/vector__important__functions_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 7ae9af2fc..000000000 --- a/d3/d61/vector__important__functions_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,119 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -std::vector::begin - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::vector::end - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::reverse - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::sort - - - - - -Node1->Node5 - - - - - - - - - - - - - diff --git a/d3/d61/vector__important__functions_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d3/d61/vector__important__functions_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 9802f620a..000000000 --- a/d3/d61/vector__important__functions_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,93 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -std::vector::begin - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::vector::end - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::reverse - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::sort - - - - - -Node1->Node5 - - - - - - - - diff --git a/d3/d61/vector__important__functions_8cpp_source.html b/d3/d61/vector__important__functions_8cpp_source.html new file mode 100644 index 000000000..7133f51f9 --- /dev/null +++ b/d3/d61/vector__important__functions_8cpp_source.html @@ -0,0 +1,179 @@ + + + + + + + + +TheAlgorithms/C++: others/vector_important_functions.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    vector_important_functions.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    5#include <algorithm>
    +
    6#include <iostream>
    +
    7#include <numeric> // For accumulate operation
    +
    8#include <vector>
    +
    9
    +
    +
    11int main() {
    +
    12 // Initializing vector with array values
    +
    13 int arr[] = {10, 20, 5, 23, 42, 15};
    +
    14 int n = sizeof(arr) / sizeof(arr[0]);
    +
    15 std::vector<int> vect(arr, arr + n);
    +
    16
    +
    17 std::cout << "Vector is: ";
    +
    18 for (int i = 0; i < n; i++) std::cout << vect[i] << " ";
    +
    19
    +
    20 // Sorting the Vector in Ascending order
    +
    21 std::sort(vect.begin(), vect.end());
    +
    22
    +
    23 std::cout << "\nVector after sorting is: ";
    +
    24 for (int i = 0; i < n; i++) std::cout << vect[i] << " ";
    +
    25
    +
    26 // Reversing the Vector
    +
    27 std::reverse(vect.begin(), vect.end());
    +
    28
    +
    29 std::cout << "\nVector after reversing is: ";
    +
    30 for (int i = 0; i < 6; i++) std::cout << vect[i] << " ";
    +
    31
    +
    32 std::cout << "\nMaximum element of vector is: ";
    +
    33 std::cout << *max_element(vect.begin(), vect.end());
    +
    34
    +
    35 std::cout << "\nMinimum element of vector is: ";
    +
    36 std::cout << *min_element(vect.begin(), vect.end());
    +
    37
    +
    38 // Starting the summation from 0
    +
    39 std::cout << "\nThe summation of vector elements is: ";
    +
    40 std::cout << accumulate(vect.begin(), vect.end(), 0);
    +
    41
    +
    42 return 0;
    +
    43}
    +
    + +
    +
    + + + + diff --git a/d3/d65/classmachine__learning_1_1neural__network_1_1layers_1_1_dense_layer__coll__graph.map b/d3/d65/classmachine__learning_1_1neural__network_1_1layers_1_1_dense_layer__coll__graph.map index a1388dd47..fd892a1db 100644 --- a/d3/d65/classmachine__learning_1_1neural__network_1_1layers_1_1_dense_layer__coll__graph.map +++ b/d3/d65/classmachine__learning_1_1neural__network_1_1layers_1_1_dense_layer__coll__graph.map @@ -1,11 +1,11 @@ - + - + - + - + diff --git a/d3/d65/classmachine__learning_1_1neural__network_1_1layers_1_1_dense_layer__coll__graph.md5 b/d3/d65/classmachine__learning_1_1neural__network_1_1layers_1_1_dense_layer__coll__graph.md5 index 3b70553a3..4fd94a0db 100644 --- a/d3/d65/classmachine__learning_1_1neural__network_1_1layers_1_1_dense_layer__coll__graph.md5 +++ b/d3/d65/classmachine__learning_1_1neural__network_1_1layers_1_1_dense_layer__coll__graph.md5 @@ -1 +1 @@ -a6758ec4ee1be61728dae08e00c64118 \ No newline at end of file +032639c9d85c64eec4bd6bd2ad3a0358 \ No newline at end of file diff --git a/d3/d65/classmachine__learning_1_1neural__network_1_1layers_1_1_dense_layer__coll__graph.svg b/d3/d65/classmachine__learning_1_1neural__network_1_1layers_1_1_dense_layer__coll__graph.svg index cc6895905..fc9cfe06c 100644 --- a/d3/d65/classmachine__learning_1_1neural__network_1_1layers_1_1_dense_layer__coll__graph.svg +++ b/d3/d65/classmachine__learning_1_1neural__network_1_1layers_1_1_dense_layer__coll__graph.svg @@ -32,7 +32,7 @@ Node2 - + std::string @@ -51,7 +51,7 @@ Node3 - + std::basic_string< Char > @@ -70,7 +70,7 @@ Node4 - + std::vector< std::valarray < double > > @@ -90,7 +90,7 @@ Node5 - + std::valarray< double > diff --git a/d3/d65/classmachine__learning_1_1neural__network_1_1layers_1_1_dense_layer__coll__graph_org.svg b/d3/d65/classmachine__learning_1_1neural__network_1_1layers_1_1_dense_layer__coll__graph_org.svg index b62dfc605..a9b32ebd0 100644 --- a/d3/d65/classmachine__learning_1_1neural__network_1_1layers_1_1_dense_layer__coll__graph_org.svg +++ b/d3/d65/classmachine__learning_1_1neural__network_1_1layers_1_1_dense_layer__coll__graph_org.svg @@ -21,7 +21,7 @@ Node2 - + std::string @@ -40,7 +40,7 @@ Node3 - + std::basic_string< Char > @@ -59,7 +59,7 @@ Node4 - + std::vector< std::valarray < double > > @@ -79,7 +79,7 @@ Node5 - + std::valarray< double > diff --git a/d3/d6d/namespacesimpson__method.html b/d3/d6d/namespacesimpson__method.html index 1af52db9d..baf7fa55b 100644 --- a/d3/d6d/namespacesimpson__method.html +++ b/d3/d6d/namespacesimpson__method.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: simpson_method Namespace Reference +TheAlgorithms/C++: simpson_method Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/d3/d7d/brute__force__string__searching_8cpp.html b/d3/d7d/brute__force__string__searching_8cpp.html index d39783432..90ec10e59 100644 --- a/d3/d7d/brute__force__string__searching_8cpp.html +++ b/d3/d7d/brute__force__string__searching_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: strings/brute_force_string_searching.cpp File Reference +TheAlgorithms/C++: strings/brute_force_string_searching.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + @@ -122,7 +139,9 @@ Include dependency graph for brute_force_string_searching.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -131,18 +150,20 @@ Namespaces

    Namespaces

    namespace  string_search
    - +

    Functions

    int string_search::brute_force (const std::string &text, const std::string &pattern)
    int string_search::brute_force (const std::string &text, const std::string &pattern)
     
    int main ()
     
    - +

    Variables

    const std::vector< std::vector< std::string > > test_set
    const std::vector< std::vector< std::string > > test_set
     

    Detailed Description

    String pattern search - brute force.

    + +

    Definition in file brute_force_string_searching.cpp.

    Function Documentation

    ◆ main()

    @@ -159,27 +180,22 @@ Variables

    Main function

    + +

    Definition at line 47 of file brute_force_string_searching.cpp.

    47 {
    48 for (const auto &i : test_set) {
    49 int output = brute_force(i[0], i[1]);
    50
    -
    51 if (std::to_string(output) == i[2]) {
    -
    52 std::cout << "success\n";
    +
    51 if (std::to_string(output) == i[2]) {
    +
    52 std::cout << "success\n";
    53 } else {
    -
    54 std::cout << "failure\n";
    +
    54 std::cout << "failure\n";
    55 }
    56 }
    57 return 0;
    58}
    - -
    const std::vector< std::vector< std::string > > test_set
    Definition brute_force_string_searching.cpp:41
    -
    T to_string(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    const std::vector< std::vector< std::string > > test_set
    +

    Variable Documentation

    @@ -190,7 +206,7 @@ Here is the call graph for this function:
    - +
    const std::vector<std::vector<std::string> > test_setconst std::vector<std::vector<std::string> > test_set
    @@ -199,6 +215,8 @@ Here is the call graph for this function:
    {"a", "aa", "-1"}, {"a", "a", "0"}, {"ba", "b", "0"},
    {"bba", "bb", "0"}, {"bbca", "c", "2"}, {"ab", "b", "1"}}

    set of test cases

    + +

    Definition at line 41 of file brute_force_string_searching.cpp.

    41 {
    42 // {text, pattern, expected output}
    43 {"a", "aa", "-1"}, {"a", "a", "0"}, {"ba", "b", "0"},
    diff --git a/d3/d7d/brute__force__string__searching_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d3/d7d/brute__force__string__searching_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index efe013608..000000000 --- a/d3/d7d/brute__force__string__searching_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d3/d7d/brute__force__string__searching_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d3/d7d/brute__force__string__searching_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index 49b22e1ca..000000000 --- a/d3/d7d/brute__force__string__searching_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -c5855b8490389800b06f57bcbbd5c9aa \ No newline at end of file diff --git a/d3/d7d/brute__force__string__searching_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d3/d7d/brute__force__string__searching_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 1c9dd2d23..000000000 --- a/d3/d7d/brute__force__string__searching_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -std::to_string - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d3/d7d/brute__force__string__searching_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d3/d7d/brute__force__string__searching_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index cc2b03070..000000000 --- a/d3/d7d/brute__force__string__searching_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -std::to_string - - - - - -Node1->Node2 - - - - - - - - diff --git a/d3/d7d/brute__force__string__searching_8cpp_source.html b/d3/d7d/brute__force__string__searching_8cpp_source.html new file mode 100644 index 000000000..a0b0d8658 --- /dev/null +++ b/d3/d7d/brute__force__string__searching_8cpp_source.html @@ -0,0 +1,195 @@ + + + + + + + + +TheAlgorithms/C++: strings/brute_force_string_searching.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    brute_force_string_searching.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    5#include <iostream>
    +
    6#ifdef _MSC_VER
    +
    7#include <string> // use this for MS Visual C++
    +
    8#else
    +
    9#include <cstring>
    +
    10#endif
    +
    11#include <vector>
    +
    12
    +
    +
    13namespace string_search {
    +
    +
    21int brute_force(const std::string &text, const std::string &pattern) {
    +
    22 size_t pat_l = pattern.length();
    +
    23 size_t txt_l = text.length();
    +
    24 int index = -1;
    +
    25 if (pat_l <= txt_l) {
    +
    26 for (size_t i = 0; i < txt_l - pat_l + 1; i++) {
    +
    27 std::string s = text.substr(i, pat_l);
    +
    28 if (s == pattern) {
    +
    29 index = i;
    +
    30 break;
    +
    31 }
    +
    32 }
    +
    33 }
    +
    34 return index;
    +
    35}
    +
    +
    36} // namespace string_search
    +
    +
    37
    + +
    39
    +
    +
    41const std::vector<std::vector<std::string>> test_set = {
    +
    42 // {text, pattern, expected output}
    +
    43 {"a", "aa", "-1"}, {"a", "a", "0"}, {"ba", "b", "0"},
    +
    44 {"bba", "bb", "0"}, {"bbca", "c", "2"}, {"ab", "b", "1"}};
    +
    +
    45
    +
    +
    47int main() {
    +
    48 for (const auto &i : test_set) {
    +
    49 int output = brute_force(i[0], i[1]);
    +
    50
    +
    51 if (std::to_string(output) == i[2]) {
    +
    52 std::cout << "success\n";
    +
    53 } else {
    +
    54 std::cout << "failure\n";
    +
    55 }
    +
    56 }
    +
    57 return 0;
    +
    58}
    +
    +
    const std::vector< std::vector< std::string > > test_set
    + +
    String search algorithms.
    +
    int brute_force(const std::string &text, const std::string &pattern)
    +
    +
    + + + + diff --git a/d3/d80/z__function_8cpp.html b/d3/d80/z__function_8cpp.html index c1cd6ddf5..9643faa52 100644 --- a/d3/d80/z__function_8cpp.html +++ b/d3/d80/z__function_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: strings/z_function.cpp File Reference +TheAlgorithms/C++: strings/z_function.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -122,13 +139,15 @@ Include dependency graph for z_function.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    - + - + @@ -145,6 +164,8 @@ Functions
  • E.g.: string: ababb then z[2]=2 as s[2]=s[0] and s[3]=s[1] and s[4]!=s[2]
    Author
    Ritika Gupta
  • + +

    Definition in file z_function.cpp.

    Function Documentation

    ◆ find_pat_in_text()

    @@ -153,14 +174,14 @@ Functions

    Functions

    std::vector< uint64_t > Z_function (const std::string &pattern)
    std::vector< uint64_t > Z_function (const std::string &pattern)
     for IO operations
     
    std::vector< uint64_t > find_pat_in_text (const std::string &pattern, const std::string &text)
    std::vector< uint64_t > find_pat_in_text (const std::string &pattern, const std::string &text)
     Using Z_function to find a pattern in a text.
     
    static void test ()
    - + - + - +
    std::vector< uint64_t > find_pat_in_text std::vector< uint64_t > find_pat_in_text (const std::string & pattern, const std::string & pattern,
    const std::string & text )const std::string & text )
    @@ -174,28 +195,22 @@ Functions
    Returns
    a vector of starting indexes where pattern is found in the text
    + +

    Definition at line 54 of file z_function.cpp.

    55 {
    -
    56 uint64_t text_length = text.size(), pattern_length = pattern.size();
    -
    57 std::vector<uint64_t> z = Z_function(pattern + '#' + text);
    -
    58 std::vector<uint64_t> matching_indexes;
    +
    56 uint64_t text_length = text.size(), pattern_length = pattern.size();
    +
    57 std::vector<uint64_t> z = Z_function(pattern + '#' + text);
    +
    58 std::vector<uint64_t> matching_indexes;
    59
    60 for (uint64_t i = 0; i < text_length; i++) {
    61 if (z[i + pattern_length + 1] == pattern_length) {
    -
    62 matching_indexes.push_back(i);
    +
    62 matching_indexes.push_back(i);
    63 }
    64 }
    65 return matching_indexes;
    66}
    -
    T push_back(T... args)
    -
    T size(T... args)
    - -
    std::vector< uint64_t > Z_function(const std::string &pattern)
    for IO operations
    Definition z_function.cpp:29
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    std::vector< uint64_t > Z_function(const std::string &pattern)
    for IO operations
    +
    @@ -215,17 +230,14 @@ Here is the call graph for this function:

    Main function.

    Returns
    0 on exit
    + +

    Definition at line 94 of file z_function.cpp.

    94 {
    95 test(); // run self-test implementations
    96 return 0;
    97}
    -
    static void test()
    Self-test implementations.
    Definition z_function.cpp:72
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static void test()
    Self-test implementations.
    + @@ -253,31 +265,27 @@ Here is the call graph for this function:

    Self-test implementations.

    Returns
    void
    + +

    Definition at line 72 of file z_function.cpp.

    72 {
    73 // usual case
    -
    74 std::string text1 = "alskfjaldsabc1abc1abcbksbcdnsdabcabc";
    -
    75 std::string pattern1 = "abc";
    +
    74 std::string text1 = "alskfjaldsabc1abc1abcbksbcdnsdabcabc";
    +
    75 std::string pattern1 = "abc";
    76
    77 // matching_indexes1 gets the indexes where pattern1 exists in text1
    -
    78 std::vector<uint64_t> matching_indexes1 = find_pat_in_text(pattern1, text1);
    -
    79 assert((matching_indexes1 == std::vector<uint64_t>{10, 14, 18, 30, 33}));
    +
    78 std::vector<uint64_t> matching_indexes1 = find_pat_in_text(pattern1, text1);
    +
    79 assert((matching_indexes1 == std::vector<uint64_t>{10, 14, 18, 30, 33}));
    80
    81 // corner case
    -
    82 std::string text2 = "greengrass";
    -
    83 std::string pattern2 = "abc";
    +
    82 std::string text2 = "greengrass";
    +
    83 std::string pattern2 = "abc";
    84
    85 // matching_indexes2 gets the indexes where pattern2 exists in text2
    -
    86 std::vector<uint64_t> matching_indexes2 = find_pat_in_text(pattern2, text2);
    -
    87 assert((matching_indexes2 == std::vector<uint64_t>{}));
    +
    86 std::vector<uint64_t> matching_indexes2 = find_pat_in_text(pattern2, text2);
    +
    87 assert((matching_indexes2 == std::vector<uint64_t>{}));
    88}
    - -
    std::vector< uint64_t > find_pat_in_text(const std::string &pattern, const std::string &text)
    Using Z_function to find a pattern in a text.
    Definition z_function.cpp:54
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    std::vector< uint64_t > find_pat_in_text(const std::string &pattern, const std::string &text)
    Using Z_function to find a pattern in a text.
    + @@ -287,16 +295,16 @@ Here is the call graph for this function:
    - + - +
    std::vector< uint64_t > Z_function std::vector< uint64_t > Z_function (const std::string & pattern)const std::string & pattern)

    for IO operations

    -

    for string for assert for std::vector

    +

    for string for assert for std::vector

    Generate the Z-function for the inputted string.

    Parameters
    @@ -304,13 +312,15 @@ Here is the call graph for this function:
    Returns
    the Z-function output as a vector array
    + +

    Definition at line 29 of file z_function.cpp.

    29 {
    -
    30 uint64_t pattern_length = pattern.size();
    -
    31 std::vector<uint64_t> z(pattern_length, 0);
    +
    30 uint64_t pattern_length = pattern.size();
    +
    31 std::vector<uint64_t> z(pattern_length, 0);
    32
    33 for (uint64_t i = 1, l = 0, r = 0; i < pattern_length; i++) {
    34 if (i <= r) {
    -
    35 z[i] = std::min(r - i + 1, z[i - l]);
    +
    35 z[i] = std::min(r - i + 1, z[i - l]);
    36 }
    37 while (i + z[i] < pattern_length &&
    38 pattern[z[i]] == pattern[i + z[i]]) {
    @@ -322,13 +332,7 @@ Here is the call graph for this function:
    44 }
    45 return z;
    46}
    -
    T min(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + diff --git a/d3/d80/z__function_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map b/d3/d80/z__function_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map deleted file mode 100644 index 84dfd0151..000000000 --- a/d3/d80/z__function_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - - - - - diff --git a/d3/d80/z__function_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 b/d3/d80/z__function_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 deleted file mode 100644 index e546b1192..000000000 --- a/d3/d80/z__function_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -1d82d2f0a7c5bbfa059fdb058e9113e2 \ No newline at end of file diff --git a/d3/d80/z__function_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg b/d3/d80/z__function_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg deleted file mode 100644 index f84bc6fdb..000000000 --- a/d3/d80/z__function_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg +++ /dev/null @@ -1,146 +0,0 @@ - - - - - - - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -find_pat_in_text - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::vector::push_back - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::string::size - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -Z_function - - - - - -Node2->Node5 - - - - - - - - -Node5->Node4 - - - - - - - - -Node6 - - -std::min - - - - - -Node5->Node6 - - - - - - - - - - - - - diff --git a/d3/d80/z__function_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg b/d3/d80/z__function_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg deleted file mode 100644 index b25400d03..000000000 --- a/d3/d80/z__function_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -find_pat_in_text - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::vector::push_back - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::string::size - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -Z_function - - - - - -Node2->Node5 - - - - - - - - -Node5->Node4 - - - - - - - - -Node6 - - -std::min - - - - - -Node5->Node6 - - - - - - - - diff --git a/d3/d80/z__function_8cpp_ac044c4794349a8cff6256b99950d5773_cgraph.map b/d3/d80/z__function_8cpp_ac044c4794349a8cff6256b99950d5773_cgraph.map deleted file mode 100644 index 12ad371b7..000000000 --- a/d3/d80/z__function_8cpp_ac044c4794349a8cff6256b99950d5773_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/d3/d80/z__function_8cpp_ac044c4794349a8cff6256b99950d5773_cgraph.md5 b/d3/d80/z__function_8cpp_ac044c4794349a8cff6256b99950d5773_cgraph.md5 deleted file mode 100644 index c8ae08099..000000000 --- a/d3/d80/z__function_8cpp_ac044c4794349a8cff6256b99950d5773_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -84f21c72905372653bf30f8388f5108f \ No newline at end of file diff --git a/d3/d80/z__function_8cpp_ac044c4794349a8cff6256b99950d5773_cgraph.svg b/d3/d80/z__function_8cpp_ac044c4794349a8cff6256b99950d5773_cgraph.svg deleted file mode 100644 index 25620580a..000000000 --- a/d3/d80/z__function_8cpp_ac044c4794349a8cff6256b99950d5773_cgraph.svg +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - -Z_function - - -Node1 - - -Z_function - - - - - -Node2 - - -std::min - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::string::size - - - - - -Node1->Node3 - - - - - - - - - - - - - diff --git a/d3/d80/z__function_8cpp_ac044c4794349a8cff6256b99950d5773_cgraph_org.svg b/d3/d80/z__function_8cpp_ac044c4794349a8cff6256b99950d5773_cgraph_org.svg deleted file mode 100644 index f54470a0f..000000000 --- a/d3/d80/z__function_8cpp_ac044c4794349a8cff6256b99950d5773_cgraph_org.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - -Z_function - - -Node1 - - -Z_function - - - - - -Node2 - - -std::min - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::string::size - - - - - -Node1->Node3 - - - - - - - - diff --git a/d3/d80/z__function_8cpp_ac186ca3ac3a69b5e52543bb13fe46db8_cgraph.map b/d3/d80/z__function_8cpp_ac186ca3ac3a69b5e52543bb13fe46db8_cgraph.map deleted file mode 100644 index 75f4d6166..000000000 --- a/d3/d80/z__function_8cpp_ac186ca3ac3a69b5e52543bb13fe46db8_cgraph.map +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - - - diff --git a/d3/d80/z__function_8cpp_ac186ca3ac3a69b5e52543bb13fe46db8_cgraph.md5 b/d3/d80/z__function_8cpp_ac186ca3ac3a69b5e52543bb13fe46db8_cgraph.md5 deleted file mode 100644 index 90a7054fe..000000000 --- a/d3/d80/z__function_8cpp_ac186ca3ac3a69b5e52543bb13fe46db8_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -bb675e8412f6eb64f98efd7ebca07418 \ No newline at end of file diff --git a/d3/d80/z__function_8cpp_ac186ca3ac3a69b5e52543bb13fe46db8_cgraph.svg b/d3/d80/z__function_8cpp_ac186ca3ac3a69b5e52543bb13fe46db8_cgraph.svg deleted file mode 100644 index 5e0be60cc..000000000 --- a/d3/d80/z__function_8cpp_ac186ca3ac3a69b5e52543bb13fe46db8_cgraph.svg +++ /dev/null @@ -1,128 +0,0 @@ - - - - - - - - - - - - -find_pat_in_text - - -Node1 - - -find_pat_in_text - - - - - -Node2 - - -std::vector::push_back - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::string::size - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -Z_function - - - - - -Node1->Node4 - - - - - - - - -Node4->Node3 - - - - - - - - -Node5 - - -std::min - - - - - -Node4->Node5 - - - - - - - - - - - - - diff --git a/d3/d80/z__function_8cpp_ac186ca3ac3a69b5e52543bb13fe46db8_cgraph_org.svg b/d3/d80/z__function_8cpp_ac186ca3ac3a69b5e52543bb13fe46db8_cgraph_org.svg deleted file mode 100644 index fef97a9cd..000000000 --- a/d3/d80/z__function_8cpp_ac186ca3ac3a69b5e52543bb13fe46db8_cgraph_org.svg +++ /dev/null @@ -1,102 +0,0 @@ - - - - - - -find_pat_in_text - - -Node1 - - -find_pat_in_text - - - - - -Node2 - - -std::vector::push_back - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::string::size - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -Z_function - - - - - -Node1->Node4 - - - - - - - - -Node4->Node3 - - - - - - - - -Node5 - - -std::min - - - - - -Node4->Node5 - - - - - - - - diff --git a/d3/d80/z__function_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d3/d80/z__function_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index b87e26ae0..000000000 --- a/d3/d80/z__function_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - - - - - diff --git a/d3/d80/z__function_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d3/d80/z__function_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index 4007dc276..000000000 --- a/d3/d80/z__function_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -1c03ff7c211a2e754c1e194b6ba90e40 \ No newline at end of file diff --git a/d3/d80/z__function_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d3/d80/z__function_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 3e79f5686..000000000 --- a/d3/d80/z__function_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,221 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -find_pat_in_text - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::vector::push_back - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -std::string::size - - - - - -Node3->Node5 - - - - - - - - -Node6 - - -Z_function - - - - - -Node3->Node6 - - - - - - - - -Node6->Node5 - - - - - - - - -Node7 - - -std::min - - - - - -Node6->Node7 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d3/d80/z__function_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d3/d80/z__function_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index c7117d70d..000000000 --- a/d3/d80/z__function_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,138 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -find_pat_in_text - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::vector::push_back - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -std::string::size - - - - - -Node3->Node5 - - - - - - - - -Node6 - - -Z_function - - - - - -Node3->Node6 - - - - - - - - -Node6->Node5 - - - - - - - - -Node7 - - -std::min - - - - - -Node6->Node7 - - - - - - - - diff --git a/d3/d80/z__function_8cpp_source.html b/d3/d80/z__function_8cpp_source.html new file mode 100644 index 000000000..48071e7d8 --- /dev/null +++ b/d3/d80/z__function_8cpp_source.html @@ -0,0 +1,215 @@ + + + + + + + + +TheAlgorithms/C++: strings/z_function.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    [in]patterntext on which to apply the Z-function
    + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + + +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    z_function.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    14#include <cstdint>
    +
    15#include <iostream>
    +
    16#ifdef _MSC_VER
    +
    17#include <string>
    +
    18#else
    +
    19#include <cstring>
    +
    20#endif
    +
    21#include <cassert>
    +
    22#include <vector>
    +
    23
    +
    +
    29std::vector<uint64_t> Z_function(const std::string &pattern) {
    +
    30 uint64_t pattern_length = pattern.size();
    +
    31 std::vector<uint64_t> z(pattern_length, 0);
    +
    32
    +
    33 for (uint64_t i = 1, l = 0, r = 0; i < pattern_length; i++) {
    +
    34 if (i <= r) {
    +
    35 z[i] = std::min(r - i + 1, z[i - l]);
    +
    36 }
    +
    37 while (i + z[i] < pattern_length &&
    +
    38 pattern[z[i]] == pattern[i + z[i]]) {
    +
    39 z[i]++;
    +
    40 }
    +
    41 if (i + z[i] - 1 > r) {
    +
    42 r = i + z[i] - 1;
    +
    43 }
    +
    44 }
    +
    45 return z;
    +
    46}
    +
    +
    47
    +
    +
    54std::vector<uint64_t> find_pat_in_text(const std::string &pattern,
    +
    55 const std::string &text) {
    +
    56 uint64_t text_length = text.size(), pattern_length = pattern.size();
    +
    57 std::vector<uint64_t> z = Z_function(pattern + '#' + text);
    +
    58 std::vector<uint64_t> matching_indexes;
    +
    59
    +
    60 for (uint64_t i = 0; i < text_length; i++) {
    +
    61 if (z[i + pattern_length + 1] == pattern_length) {
    +
    62 matching_indexes.push_back(i);
    +
    63 }
    +
    64 }
    +
    65 return matching_indexes;
    +
    66}
    +
    +
    67
    +
    +
    72static void test() {
    +
    73 // usual case
    +
    74 std::string text1 = "alskfjaldsabc1abc1abcbksbcdnsdabcabc";
    +
    75 std::string pattern1 = "abc";
    +
    76
    +
    77 // matching_indexes1 gets the indexes where pattern1 exists in text1
    +
    78 std::vector<uint64_t> matching_indexes1 = find_pat_in_text(pattern1, text1);
    +
    79 assert((matching_indexes1 == std::vector<uint64_t>{10, 14, 18, 30, 33}));
    +
    80
    +
    81 // corner case
    +
    82 std::string text2 = "greengrass";
    +
    83 std::string pattern2 = "abc";
    +
    84
    +
    85 // matching_indexes2 gets the indexes where pattern2 exists in text2
    +
    86 std::vector<uint64_t> matching_indexes2 = find_pat_in_text(pattern2, text2);
    +
    87 assert((matching_indexes2 == std::vector<uint64_t>{}));
    +
    88}
    +
    +
    89
    +
    +
    94int main() {
    +
    95 test(); // run self-test implementations
    +
    96 return 0;
    +
    97}
    +
    +
    static void test()
    Self-test implementations.
    +
    std::vector< uint64_t > Z_function(const std::string &pattern)
    for IO operations
    +
    std::vector< uint64_t > find_pat_in_text(const std::string &pattern, const std::string &text)
    Using Z_function to find a pattern in a text.
    +
    int main()
    Main function.
    +
    +
    + + + + diff --git a/d3/d84/word__break_8cpp.html b/d3/d84/word__break_8cpp.html index 07f9925bb..247fd86c2 100644 --- a/d3/d84/word__break_8cpp.html +++ b/d3/d84/word__break_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: dynamic_programming/word_break.cpp File Reference +TheAlgorithms/C++: dynamic_programming/word_break.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -124,7 +141,9 @@ Include dependency graph for word_break.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -136,13 +155,13 @@ Namespaces

    Namespaces

    namespace  dynamic_programming
    - + - + - + @@ -161,6 +180,8 @@ Functions pen apple". Note that you are allowed to reuse a dictionary word.

    Example 3: Input: s = "catsandog", wordDict = ["cats", "dog", "sand", "and", "cat"] Output: false

    Author
    [Akshay Anand] (https://github.com/axayjha)
    + +

    Definition in file word_break.cpp.

    Function Documentation

    ◆ check()

    @@ -171,12 +192,12 @@ pen apple". Note that you are allowed to reuse a dictionary word.

    - + - + @@ -186,7 +207,7 @@ pen apple". Note that you are allowed to reuse a dictionary word.

    - +

    Functions

    bool dynamic_programming::word_break::exists (const std::string &str, const std::unordered_set< std::string > &strSet)
    bool dynamic_programming::word_break::exists (const std::string &str, const std::unordered_set< std::string > &strSet)
     Function that checks if the string passed in param is present in the the unordered_set passed.
     
    bool dynamic_programming::word_break::check (const std::string &s, const std::unordered_set< std::string > &strSet, int pos, std::vector< int > *dp)
    bool dynamic_programming::word_break::check (const std::string &s, const std::unordered_set< std::string > &strSet, int pos, std::vector< int > *dp)
     Function that checks if the string passed in param can be segmented from position 'pos', and then correctly go on to segment the rest of the string correctly as well to reach a solution.
     
    bool dynamic_programming::word_break::wordBreak (const std::string &s, const std::vector< std::string > &wordDict)
    bool dynamic_programming::word_break::wordBreak (const std::string &s, const std::vector< std::string > &wordDict)
     Function that checks if the string passed in param can be segmented into the strings present in the vector. In others words, it checks if any permutation of strings in the vector can be concatenated to form the final string.
     
    static void test ()
    bool dynamic_programming::word_break::check (const std::string & s, const std::string & s,
    const std::unordered_set< std::string > & strSet, const std::unordered_set< std::string > & strSet,
    std::vector< int > * dp )std::vector< int > * dp )
    @@ -204,8 +225,10 @@ pen apple". Note that you are allowed to reuse a dictionary word.

    Returns
    true if a valid solution/segmentation is possible by segmenting at index pos
    false otherwise
    + +

    Definition at line 80 of file word_break.cpp.

    81 {
    -
    82 if (pos == s.length()) {
    +
    82 if (pos == s.length()) {
    83 // if we have reached till the end of the string, means we have
    84 // segmented throughout correctly hence we have a solution, thus
    85 // returning true
    @@ -219,19 +242,19 @@ pen apple". Note that you are allowed to reuse a dictionary word.

    93 return dp->at(pos) == 1;
    94 }
    95
    -
    96 std::string wordTillNow =
    +
    96 std::string wordTillNow =
    97 ""; // string to save the prefixes of word till different positons
    98
    -
    99 for (int i = pos; i < s.length(); i++) {
    +
    99 for (int i = pos; i < s.length(); i++) {
    100 // Loop starting from pos to end, to check valid set of
    101 // segmentations if any
    102 wordTillNow +=
    -
    103 std::string(1, s[i]); // storing the prefix till the position i
    +
    103 std::string(1, s[i]); // storing the prefix till the position i
    104
    105 // if the prefix till current position is present in the dictionary
    106 // and the remaining substring can also be segmented legally, then
    107 // set solution at position pos in the memo, and return true
    -
    108 if (exists(wordTillNow, strSet) && check(s, strSet, i + 1, dp)) {
    +
    108 if (exists(wordTillNow, strSet) && check(s, strSet, i + 1, dp)) {
    109 dp->at(pos) = 1;
    110 return true;
    111 }
    @@ -241,17 +264,9 @@ pen apple". Note that you are allowed to reuse a dictionary word.

    115 dp->at(pos) = 0; // so set solution at pos as false
    116 return false; // and return no solution at position pos
    117}
    - -
    for std::vector
    Definition partition_problem.cpp:39
    -
    T length(T... args)
    -
    bool exists(const std::string &str, const std::unordered_set< std::string > &strSet)
    Function that checks if the string passed in param is present in the the unordered_set passed.
    Definition word_break.cpp:60
    -
    bool check(const std::string &s, const std::unordered_set< std::string > &strSet, int pos, std::vector< int > *dp)
    Function that checks if the string passed in param can be segmented from position 'pos',...
    Definition word_break.cpp:80
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    for std::vector
    +
    bool exists(const std::string &str, const std::unordered_set< std::string > &strSet)
    Function that checks if the string passed in param is present in the the unordered_set passed.
    +
    @@ -263,12 +278,12 @@ Here is the call graph for this function: bool dynamic_programming::word_break::exists ( - const std::string & str, + const std::string & str, - const std::unordered_set< std::string > & strSet ) + const std::unordered_set< std::string > & strSet )
    @@ -284,17 +299,12 @@ Here is the call graph for this function:
    Returns
    true if str is present in strSet
    false if str is not present in strSet
    -
    61 {
    -
    62 return strSet.find(str) != strSet.end();
    -
    63}
    -
    T end(T... args)
    -
    T find(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    +

    Definition at line 60 of file word_break.cpp.

    +
    61 {
    +
    62 return strSet.find(str) != strSet.end();
    +
    63}
    +
    @@ -314,30 +324,24 @@ Here is the call graph for this function:

    Main function.

    Returns
    0 on exit
    + +

    Definition at line 174 of file word_break.cpp.

    174 {
    175 test(); // call the test function :)
    176
    177 // the complete string
    -
    178 const std::string s = "applepenapple";
    +
    178 const std::string s = "applepenapple";
    179 // the dictionary to be used
    -
    180 const std::vector<std::string> wordDict = {"apple", "pen"};
    +
    180 const std::vector<std::string> wordDict = {"apple", "pen"};
    181
    182 // should return true, as applepenapple can be segmented as apple + pen +
    183 // apple
    - -
    185 << std::endl;
    +
    184 std::cout << dynamic_programming::word_break::wordBreak(s, wordDict)
    +
    185 << std::endl;
    186}
    - -
    T endl(T... args)
    - -
    static void test()
    Test implementations.
    Definition word_break.cpp:156
    -
    bool wordBreak(const std::string &s, const std::vector< std::string > &wordDict)
    Function that checks if the string passed in param can be segmented into the strings present in the v...
    Definition word_break.cpp:131
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static void test()
    Test implementations.
    +
    bool wordBreak(const std::string &s, const std::vector< std::string > &wordDict)
    Function that checks if the string passed in param can be segmented into the strings present in the v...
    + @@ -365,26 +369,23 @@ Here is the call graph for this function:

    Test implementations.

    Returns
    void
    + +

    Definition at line 156 of file word_break.cpp.

    156 {
    157 // the complete string
    -
    158 const std::string s = "applepenapple";
    +
    158 const std::string s = "applepenapple";
    159 // the dictionary to be used
    -
    160 const std::vector<std::string> wordDict = {"apple", "pen"};
    +
    160 const std::vector<std::string> wordDict = {"apple", "pen"};
    161
    162 assert(dynamic_programming::word_break::wordBreak(s, wordDict));
    163
    164 // should return true, as applepenapple can be segmented as apple + pen +
    165 // apple
    - -
    167 << std::endl;
    -
    168 std::cout << "Test implementation passed!\n";
    +
    166 std::cout << dynamic_programming::word_break::wordBreak(s, wordDict)
    +
    167 << std::endl;
    +
    168 std::cout << "Test implementation passed!\n";
    169}
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -396,12 +397,12 @@ Here is the call graph for this function: bool dynamic_programming::word_break::wordBreak ( - const std::string & s, + const std::string & s, - const std::vector< std::string > & wordDict ) + const std::vector< std::string > & wordDict )
    @@ -417,31 +418,26 @@ Here is the call graph for this function:
    Returns
    true if s can be formed by a combination of strings present in wordDict
    false otherwise
    + +

    Definition at line 131 of file word_break.cpp.

    131 {
    132 // unordered set to store words in the dictionary for constant time
    133 // search
    - +
    134 std::unordered_set<std::string> strSet;
    135 for (const auto &s : wordDict) {
    -
    136 strSet.insert(s);
    +
    136 strSet.insert(s);
    137 }
    138 // a vector to be used for memoization, whose value at index i will
    139 // tell if the string s can be segmented (correctly) at position i.
    140 // initializing it with INT_MAX (which will denote no solution)
    -
    141 std::vector<int> dp(s.length(), INT_MAX);
    +
    141 std::vector<int> dp(s.length(), INT_MAX);
    142
    143 // calling check method with position = 0, to check from left
    144 // from where can be start segmenting the complete string in correct
    145 // manner
    -
    146 return check(s, strSet, 0, &dp);
    +
    146 return check(s, strSet, 0, &dp);
    147}
    -
    T insert(T... args)
    - -
    -Here is the call graph for this function:
    -
    -
    -
    - + diff --git a/d3/d84/word__break_8cpp_a1cc9dd6e6190d10a010fdcdfe7a21a81_cgraph.map b/d3/d84/word__break_8cpp_a1cc9dd6e6190d10a010fdcdfe7a21a81_cgraph.map deleted file mode 100644 index 0b89b411d..000000000 --- a/d3/d84/word__break_8cpp_a1cc9dd6e6190d10a010fdcdfe7a21a81_cgraph.map +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/d3/d84/word__break_8cpp_a1cc9dd6e6190d10a010fdcdfe7a21a81_cgraph.md5 b/d3/d84/word__break_8cpp_a1cc9dd6e6190d10a010fdcdfe7a21a81_cgraph.md5 deleted file mode 100644 index 00b2cc218..000000000 --- a/d3/d84/word__break_8cpp_a1cc9dd6e6190d10a010fdcdfe7a21a81_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -50f596e11d14a2b33b72767daf20b4ec \ No newline at end of file diff --git a/d3/d84/word__break_8cpp_a1cc9dd6e6190d10a010fdcdfe7a21a81_cgraph.svg b/d3/d84/word__break_8cpp_a1cc9dd6e6190d10a010fdcdfe7a21a81_cgraph.svg deleted file mode 100644 index abdfba2aa..000000000 --- a/d3/d84/word__break_8cpp_a1cc9dd6e6190d10a010fdcdfe7a21a81_cgraph.svg +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - - - - - - - -dynamic_programming::word_break::exists - - -Node1 - - -dynamic_programming -::word_break::exists - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::unordered_set::end - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::unordered_set -::find - - - - - -Node1->Node3 - - - - - - - - - - - - - diff --git a/d3/d84/word__break_8cpp_a1cc9dd6e6190d10a010fdcdfe7a21a81_cgraph_org.svg b/d3/d84/word__break_8cpp_a1cc9dd6e6190d10a010fdcdfe7a21a81_cgraph_org.svg deleted file mode 100644 index 4d4834129..000000000 --- a/d3/d84/word__break_8cpp_a1cc9dd6e6190d10a010fdcdfe7a21a81_cgraph_org.svg +++ /dev/null @@ -1,68 +0,0 @@ - - - - - - -dynamic_programming::word_break::exists - - -Node1 - - -dynamic_programming -::word_break::exists - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::unordered_set::end - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::unordered_set -::find - - - - - -Node1->Node3 - - - - - - - - diff --git a/d3/d84/word__break_8cpp_a272b0f5cdb4e41fd6dee4538b808c06a_cgraph.map b/d3/d84/word__break_8cpp_a272b0f5cdb4e41fd6dee4538b808c06a_cgraph.map deleted file mode 100644 index 7e941c170..000000000 --- a/d3/d84/word__break_8cpp_a272b0f5cdb4e41fd6dee4538b808c06a_cgraph.map +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - diff --git a/d3/d84/word__break_8cpp_a272b0f5cdb4e41fd6dee4538b808c06a_cgraph.md5 b/d3/d84/word__break_8cpp_a272b0f5cdb4e41fd6dee4538b808c06a_cgraph.md5 deleted file mode 100644 index 0631ce367..000000000 --- a/d3/d84/word__break_8cpp_a272b0f5cdb4e41fd6dee4538b808c06a_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -9aeb52ba9667a8be34ad9e06cce3d2e2 \ No newline at end of file diff --git a/d3/d84/word__break_8cpp_a272b0f5cdb4e41fd6dee4538b808c06a_cgraph.svg b/d3/d84/word__break_8cpp_a272b0f5cdb4e41fd6dee4538b808c06a_cgraph.svg deleted file mode 100644 index 21fe2d9ad..000000000 --- a/d3/d84/word__break_8cpp_a272b0f5cdb4e41fd6dee4538b808c06a_cgraph.svg +++ /dev/null @@ -1,140 +0,0 @@ - - - - - - - - - - - - -dynamic_programming::word_break::check - - -Node1 - - -dynamic_programming -::word_break::check - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -dynamic_programming -::word_break::exists - - - - - -Node1->Node2 - - - - - - - - -Node5 - - -std::string::length - - - - - -Node1->Node5 - - - - - - - - -Node2->Node2 - - - - - - - - -Node3 - - -std::unordered_set::end - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::unordered_set -::find - - - - - -Node2->Node4 - - - - - - - - - - - - - diff --git a/d3/d84/word__break_8cpp_a272b0f5cdb4e41fd6dee4538b808c06a_cgraph_org.svg b/d3/d84/word__break_8cpp_a272b0f5cdb4e41fd6dee4538b808c06a_cgraph_org.svg deleted file mode 100644 index fb296022b..000000000 --- a/d3/d84/word__break_8cpp_a272b0f5cdb4e41fd6dee4538b808c06a_cgraph_org.svg +++ /dev/null @@ -1,114 +0,0 @@ - - - - - - -dynamic_programming::word_break::check - - -Node1 - - -dynamic_programming -::word_break::check - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -dynamic_programming -::word_break::exists - - - - - -Node1->Node2 - - - - - - - - -Node5 - - -std::string::length - - - - - -Node1->Node5 - - - - - - - - -Node2->Node2 - - - - - - - - -Node3 - - -std::unordered_set::end - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::unordered_set -::find - - - - - -Node2->Node4 - - - - - - - - diff --git a/d3/d84/word__break_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map b/d3/d84/word__break_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map deleted file mode 100644 index 70d5655bc..000000000 --- a/d3/d84/word__break_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d3/d84/word__break_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 b/d3/d84/word__break_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 deleted file mode 100644 index ba23d1a28..000000000 --- a/d3/d84/word__break_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -bd038f66bf9d22bf1d56990307c4d8c4 \ No newline at end of file diff --git a/d3/d84/word__break_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg b/d3/d84/word__break_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg deleted file mode 100644 index 4d8821131..000000000 --- a/d3/d84/word__break_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d3/d84/word__break_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg b/d3/d84/word__break_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg deleted file mode 100644 index 9b8e12ae0..000000000 --- a/d3/d84/word__break_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - diff --git a/d3/d84/word__break_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d3/d84/word__break_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 24d467a5a..000000000 --- a/d3/d84/word__break_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/d3/d84/word__break_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d3/d84/word__break_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index ac87660fe..000000000 --- a/d3/d84/word__break_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -46da6d92f4088e4ba558ac0e714f8630 \ No newline at end of file diff --git a/d3/d84/word__break_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d3/d84/word__break_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index e84a685f0..000000000 --- a/d3/d84/word__break_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,92 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -test - - - - - -Node1->Node3 - - - - - - - - -Node3->Node2 - - - - - - - - - - - - - diff --git a/d3/d84/word__break_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d3/d84/word__break_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 079828b93..000000000 --- a/d3/d84/word__break_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -test - - - - - -Node1->Node3 - - - - - - - - -Node3->Node2 - - - - - - - - diff --git a/d3/d84/word__break_8cpp_afe4dcd6fd5282e535685361cba645d7c_cgraph.map b/d3/d84/word__break_8cpp_afe4dcd6fd5282e535685361cba645d7c_cgraph.map deleted file mode 100644 index e8a806fa8..000000000 --- a/d3/d84/word__break_8cpp_afe4dcd6fd5282e535685361cba645d7c_cgraph.map +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - - - - - - - - - - diff --git a/d3/d84/word__break_8cpp_afe4dcd6fd5282e535685361cba645d7c_cgraph.md5 b/d3/d84/word__break_8cpp_afe4dcd6fd5282e535685361cba645d7c_cgraph.md5 deleted file mode 100644 index c6d7ee1a9..000000000 --- a/d3/d84/word__break_8cpp_afe4dcd6fd5282e535685361cba645d7c_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -23d38ad0b294425ff401134af1e094ed \ No newline at end of file diff --git a/d3/d84/word__break_8cpp_afe4dcd6fd5282e535685361cba645d7c_cgraph.svg b/d3/d84/word__break_8cpp_afe4dcd6fd5282e535685361cba645d7c_cgraph.svg deleted file mode 100644 index 971ef160e..000000000 --- a/d3/d84/word__break_8cpp_afe4dcd6fd5282e535685361cba645d7c_cgraph.svg +++ /dev/null @@ -1,253 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -dynamic_programming::word_break::wordBreak - - -Node1 - - -dynamic_programming -::word_break::wordBreak - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -dynamic_programming -::word_break::check - - - - - -Node1->Node2 - - - - - - - - -Node6 - - -std::string::length - - - - - -Node1->Node6 - - - - - - - - -Node7 - - -std::unordered_set -::insert - - - - - -Node1->Node7 - - - - - - - - -Node2->Node2 - - - - - - - - -Node3 - - -dynamic_programming -::word_break::exists - - - - - -Node2->Node3 - - - - - - - - -Node2->Node6 - - - - - - - - -Node3->Node3 - - - - - - - - -Node4 - - -std::unordered_set::end - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -std::unordered_set -::find - - - - - -Node3->Node5 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d3/d84/word__break_8cpp_afe4dcd6fd5282e535685361cba645d7c_cgraph_org.svg b/d3/d84/word__break_8cpp_afe4dcd6fd5282e535685361cba645d7c_cgraph_org.svg deleted file mode 100644 index 0e5c31a97..000000000 --- a/d3/d84/word__break_8cpp_afe4dcd6fd5282e535685361cba645d7c_cgraph_org.svg +++ /dev/null @@ -1,170 +0,0 @@ - - - - - - -dynamic_programming::word_break::wordBreak - - -Node1 - - -dynamic_programming -::word_break::wordBreak - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -dynamic_programming -::word_break::check - - - - - -Node1->Node2 - - - - - - - - -Node6 - - -std::string::length - - - - - -Node1->Node6 - - - - - - - - -Node7 - - -std::unordered_set -::insert - - - - - -Node1->Node7 - - - - - - - - -Node2->Node2 - - - - - - - - -Node3 - - -dynamic_programming -::word_break::exists - - - - - -Node2->Node3 - - - - - - - - -Node2->Node6 - - - - - - - - -Node3->Node3 - - - - - - - - -Node4 - - -std::unordered_set::end - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -std::unordered_set -::find - - - - - -Node3->Node5 - - - - - - - - diff --git a/d3/d84/word__break_8cpp_source.html b/d3/d84/word__break_8cpp_source.html new file mode 100644 index 000000000..d07d67270 --- /dev/null +++ b/d3/d84/word__break_8cpp_source.html @@ -0,0 +1,258 @@ + + + + + + + + +TheAlgorithms/C++: dynamic_programming/word_break.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    word_break.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    31#include <cassert>
    +
    32#include <climits>
    +
    33#include <iostream>
    +
    34#include <string>
    +
    35#include <unordered_set>
    +
    36#include <vector>
    +
    37
    +
    42namespace dynamic_programming {
    +
    43
    +
    49namespace word_break {
    +
    50
    +
    +
    60bool exists(const std::string &str,
    +
    61 const std::unordered_set<std::string> &strSet) {
    +
    62 return strSet.find(str) != strSet.end();
    +
    63}
    +
    +
    64
    +
    +
    80bool check(const std::string &s, const std::unordered_set<std::string> &strSet,
    +
    81 int pos, std::vector<int> *dp) {
    +
    82 if (pos == s.length()) {
    +
    83 // if we have reached till the end of the string, means we have
    +
    84 // segmented throughout correctly hence we have a solution, thus
    +
    85 // returning true
    +
    86 return true;
    +
    87 }
    +
    88
    +
    89 if (dp->at(pos) != INT_MAX) {
    +
    90 // if dp[pos] is not INT_MAX, means we must have saved a solution
    +
    91 // for the position pos; then return if the solution at pos is true
    +
    92 // or not
    +
    93 return dp->at(pos) == 1;
    +
    94 }
    +
    95
    +
    96 std::string wordTillNow =
    +
    97 ""; // string to save the prefixes of word till different positons
    +
    98
    +
    99 for (int i = pos; i < s.length(); i++) {
    +
    100 // Loop starting from pos to end, to check valid set of
    +
    101 // segmentations if any
    +
    102 wordTillNow +=
    +
    103 std::string(1, s[i]); // storing the prefix till the position i
    +
    104
    +
    105 // if the prefix till current position is present in the dictionary
    +
    106 // and the remaining substring can also be segmented legally, then
    +
    107 // set solution at position pos in the memo, and return true
    +
    108 if (exists(wordTillNow, strSet) && check(s, strSet, i + 1, dp)) {
    +
    109 dp->at(pos) = 1;
    +
    110 return true;
    +
    111 }
    +
    112 }
    +
    113 // if function has still not returned, then there must be no legal
    +
    114 // segmentation possible after segmenting at pos
    +
    115 dp->at(pos) = 0; // so set solution at pos as false
    +
    116 return false; // and return no solution at position pos
    +
    117}
    +
    +
    118
    +
    +
    131bool wordBreak(const std::string &s, const std::vector<std::string> &wordDict) {
    +
    132 // unordered set to store words in the dictionary for constant time
    +
    133 // search
    +
    134 std::unordered_set<std::string> strSet;
    +
    135 for (const auto &s : wordDict) {
    +
    136 strSet.insert(s);
    +
    137 }
    +
    138 // a vector to be used for memoization, whose value at index i will
    +
    139 // tell if the string s can be segmented (correctly) at position i.
    +
    140 // initializing it with INT_MAX (which will denote no solution)
    +
    141 std::vector<int> dp(s.length(), INT_MAX);
    +
    142
    +
    143 // calling check method with position = 0, to check from left
    +
    144 // from where can be start segmenting the complete string in correct
    +
    145 // manner
    +
    146 return check(s, strSet, 0, &dp);
    +
    147}
    +
    +
    148
    +
    149} // namespace word_break
    +
    150} // namespace dynamic_programming
    +
    151
    +
    +
    156static void test() {
    +
    157 // the complete string
    +
    158 const std::string s = "applepenapple";
    +
    159 // the dictionary to be used
    +
    160 const std::vector<std::string> wordDict = {"apple", "pen"};
    +
    161
    +
    162 assert(dynamic_programming::word_break::wordBreak(s, wordDict));
    +
    163
    +
    164 // should return true, as applepenapple can be segmented as apple + pen +
    +
    165 // apple
    +
    166 std::cout << dynamic_programming::word_break::wordBreak(s, wordDict)
    +
    167 << std::endl;
    +
    168 std::cout << "Test implementation passed!\n";
    +
    169}
    +
    +
    +
    174int main() {
    +
    175 test(); // call the test function :)
    +
    176
    +
    177 // the complete string
    +
    178 const std::string s = "applepenapple";
    +
    179 // the dictionary to be used
    +
    180 const std::vector<std::string> wordDict = {"apple", "pen"};
    +
    181
    +
    182 // should return true, as applepenapple can be segmented as apple + pen +
    +
    183 // apple
    +
    184 std::cout << dynamic_programming::word_break::wordBreak(s, wordDict)
    +
    185 << std::endl;
    +
    186}
    +
    +
    for std::vector
    +
    Dynamic Programming algorithms.
    +
    Functions for Word Break problem.
    +
    bool exists(const std::string &str, const std::unordered_set< std::string > &strSet)
    Function that checks if the string passed in param is present in the the unordered_set passed.
    +
    static void test()
    Test implementations.
    +
    int main()
    Main function.
    +
    bool wordBreak(const std::string &s, const std::vector< std::string > &wordDict)
    Function that checks if the string passed in param can be segmented into the strings present in the v...
    +
    +
    + + + + diff --git a/d3/d91/namespacestrassens__multiplication.html b/d3/d91/namespacestrassens__multiplication.html index ef3355a13..0372cdeb7 100644 --- a/d3/d91/namespacestrassens__multiplication.html +++ b/d3/d91/namespacestrassens__multiplication.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: strassens_multiplication Namespace Reference +TheAlgorithms/C++: strassens_multiplication Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/d3/d92/pancake__sort_8cpp.html b/d3/d92/pancake__sort_8cpp.html index 7b1c35bf0..05de3b9a4 100644 --- a/d3/d92/pancake__sort_8cpp.html +++ b/d3/d92/pancake__sort_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: sorting/pancake_sort.cpp File Reference +TheAlgorithms/C++: sorting/pancake_sort.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + @@ -122,7 +139,9 @@ Include dependency graph for pancake_sort.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -135,11 +154,11 @@ Namespaces - + - + @@ -155,6 +174,8 @@ Functions
    See also
    more on Pancake sort
    related problem at Leetcode
    + +

    Definition in file pancake_sort.cpp.

    Function Documentation

    ◆ main()

    @@ -173,17 +194,14 @@ related
    Returns
    0 on exit
    + +

    Definition at line 128 of file pancake_sort.cpp.

    128 {
    129 test();
    130 return 0;
    131}
    -
    static void test()
    Test implementations.
    Definition pancake_sort.cpp:86
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static void test()
    Test implementations.
    + @@ -197,7 +215,7 @@ template<typename T > - + @@ -216,6 +234,8 @@ template<typename T >
    Returns
    0 on exit
    + +

    Definition at line 61 of file pancake_sort.cpp.

    61 {
    62 for (int i = size; i > 1; --i) {
    63 int max_index = 0, j = 0; // intialize some variables.
    @@ -228,19 +248,13 @@ template<typename T >
    70 }
    71 if (max_index != i - 1) // check for reversing
    72 {
    -
    73 reverse(arr, 0, max_index);
    -
    74 reverse(arr, 0, i - 1);
    +
    73 reverse(arr, 0, max_index);
    +
    74 reverse(arr, 0, i - 1);
    75 }
    76 }
    77 return 0;
    78}
    -
    T reverse(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -254,7 +268,7 @@ template<typename T > - + @@ -279,17 +293,18 @@ template<typename T >
    Returns
    void
    + +

    Definition at line 43 of file pancake_sort.cpp.

    43 {
    44 T temp; // Temporary variable
    45 while (start <= end) {
    46 temp = arr[start];
    -
    47 arr[start] = arr[end];
    -
    48 arr[end] = temp;
    +
    47 arr[start] = arr[end];
    +
    48 arr[end] = temp;
    49 start++;
    -
    50 end--;
    +
    50 end--;
    51 }
    52}
    -
    T end(T... args)
    @@ -318,56 +333,48 @@ template<typename T >

    Test implementations.

    Returns
    void
    + +

    Definition at line 86 of file pancake_sort.cpp.

    86 {
    87 // example 1: vector of int
    88 const int size1 = 7;
    -
    89 std::cout << "\nTest 1- as std::vector<int>...";
    -
    90 std::vector<int> arr1 = {23, 10, 20, 11, 12, 6, 7};
    +
    89 std::cout << "\nTest 1- as std::vector<int>...";
    +
    90 std::vector<int> arr1 = {23, 10, 20, 11, 12, 6, 7};
    -
    92 assert(std::is_sorted(arr1.begin(), arr1.end()));
    -
    93 std::cout << "Passed\n";
    +
    92 assert(std::is_sorted(arr1.begin(), arr1.end()));
    +
    93 std::cout << "Passed\n";
    94 for (int i = 0; i < size1; i++) {
    -
    95 std::cout << arr1[i] << " ,";
    +
    95 std::cout << arr1[i] << " ,";
    96 }
    - +
    97 std::cout << std::endl;
    98
    99 // example 2: vector of double
    100 const int size2 = 8;
    -
    101 std::cout << "\nTest 2- as std::vector<double>...";
    -
    102 std::vector<double> arr2 = {23.56, 10.62, 200.78, 111.484,
    +
    101 std::cout << "\nTest 2- as std::vector<double>...";
    +
    102 std::vector<double> arr2 = {23.56, 10.62, 200.78, 111.484,
    103 3.9, 1.2, 61.77, 79.6};
    -
    105 assert(std::is_sorted(arr2.begin(), arr2.end()));
    -
    106 std::cout << "Passed\n";
    +
    105 assert(std::is_sorted(arr2.begin(), arr2.end()));
    +
    106 std::cout << "Passed\n";
    107 for (int i = 0; i < size2; i++) {
    -
    108 std::cout << arr2[i] << ", ";
    +
    108 std::cout << arr2[i] << ", ";
    109 }
    - +
    110 std::cout << std::endl;
    111
    112 // example 3:vector of float
    113 const int size3 = 7;
    -
    114 std::cout << "\nTest 3- as std::vector<float>...";
    -
    115 std::vector<float> arr3 = {6.56, 12.62, 200.78, 768.484, 19.27, 68.87, 9.6};
    +
    114 std::cout << "\nTest 3- as std::vector<float>...";
    +
    115 std::vector<float> arr3 = {6.56, 12.62, 200.78, 768.484, 19.27, 68.87, 9.6};
    -
    117 assert(std::is_sorted(arr3.begin(), arr3.end()));
    -
    118 std::cout << "Passed\n";
    +
    117 assert(std::is_sorted(arr3.begin(), arr3.end()));
    +
    118 std::cout << "Passed\n";
    119 for (int i = 0; i < size3; i++) {
    -
    120 std::cout << arr3[i] << ", ";
    +
    120 std::cout << arr3[i] << ", ";
    121 }
    - +
    122 std::cout << std::endl;
    123}
    - -
    T begin(T... args)
    -
    T endl(T... args)
    -
    T is_sorted(T... args)
    -
    int pancakeSort(std::vector< T > &arr, int size)
    This implementation is for a C-style array input that gets modified in place.
    Definition pancake_sort.cpp:61
    - -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    int pancakeSort(std::vector< T > &arr, int size)
    This implementation is for a C-style array input that gets modified in place.
    + diff --git a/d3/d92/pancake__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map b/d3/d92/pancake__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map deleted file mode 100644 index e799e8a4a..000000000 --- a/d3/d92/pancake__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/d3/d92/pancake__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 b/d3/d92/pancake__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 deleted file mode 100644 index 83a482f2f..000000000 --- a/d3/d92/pancake__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -e64022ce5c0252591bf4dd1aeaf129c1 \ No newline at end of file diff --git a/d3/d92/pancake__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg b/d3/d92/pancake__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg deleted file mode 100644 index 080b30481..000000000 --- a/d3/d92/pancake__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg +++ /dev/null @@ -1,119 +0,0 @@ - - - - - - - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -std::vector::begin - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::vector::end - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::endl - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::is_sorted - - - - - -Node1->Node5 - - - - - - - - - - - - - diff --git a/d3/d92/pancake__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg b/d3/d92/pancake__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg deleted file mode 100644 index 0f8e33da3..000000000 --- a/d3/d92/pancake__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg +++ /dev/null @@ -1,93 +0,0 @@ - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -std::vector::begin - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::vector::end - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::endl - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::is_sorted - - - - - -Node1->Node5 - - - - - - - - diff --git a/d3/d92/pancake__sort_8cpp_abff90bc0f54e4f8ea5f0330471781bd5_cgraph.map b/d3/d92/pancake__sort_8cpp_abff90bc0f54e4f8ea5f0330471781bd5_cgraph.map deleted file mode 100644 index 8182560d7..000000000 --- a/d3/d92/pancake__sort_8cpp_abff90bc0f54e4f8ea5f0330471781bd5_cgraph.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/d3/d92/pancake__sort_8cpp_abff90bc0f54e4f8ea5f0330471781bd5_cgraph.md5 b/d3/d92/pancake__sort_8cpp_abff90bc0f54e4f8ea5f0330471781bd5_cgraph.md5 deleted file mode 100644 index 6a5eb6462..000000000 --- a/d3/d92/pancake__sort_8cpp_abff90bc0f54e4f8ea5f0330471781bd5_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -fe0ae85da2a883d67da2a84773cfd138 \ No newline at end of file diff --git a/d3/d92/pancake__sort_8cpp_abff90bc0f54e4f8ea5f0330471781bd5_cgraph.svg b/d3/d92/pancake__sort_8cpp_abff90bc0f54e4f8ea5f0330471781bd5_cgraph.svg deleted file mode 100644 index 26425e69e..000000000 --- a/d3/d92/pancake__sort_8cpp_abff90bc0f54e4f8ea5f0330471781bd5_cgraph.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - - - - - - - -sorting::pancake_sort::pancakeSort - - -Node1 - - -sorting::pancake_sort -::pancakeSort - - - - - -Node1->Node1 - - - - - - - - - - - - - diff --git a/d3/d92/pancake__sort_8cpp_abff90bc0f54e4f8ea5f0330471781bd5_cgraph_org.svg b/d3/d92/pancake__sort_8cpp_abff90bc0f54e4f8ea5f0330471781bd5_cgraph_org.svg deleted file mode 100644 index 7c2eb07c9..000000000 --- a/d3/d92/pancake__sort_8cpp_abff90bc0f54e4f8ea5f0330471781bd5_cgraph_org.svg +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - -sorting::pancake_sort::pancakeSort - - -Node1 - - -sorting::pancake_sort -::pancakeSort - - - - - -Node1->Node1 - - - - - - - - diff --git a/d3/d92/pancake__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d3/d92/pancake__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index aebc6f438..000000000 --- a/d3/d92/pancake__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - diff --git a/d3/d92/pancake__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d3/d92/pancake__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index 1cd5b6f39..000000000 --- a/d3/d92/pancake__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -66e82a7b25e6652f975389001e45264f \ No newline at end of file diff --git a/d3/d92/pancake__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d3/d92/pancake__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 703925e19..000000000 --- a/d3/d92/pancake__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,137 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::vector::begin - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::vector::end - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -std::endl - - - - - -Node2->Node5 - - - - - - - - -Node6 - - -std::is_sorted - - - - - -Node2->Node6 - - - - - - - - - - - - - diff --git a/d3/d92/pancake__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d3/d92/pancake__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 436e42806..000000000 --- a/d3/d92/pancake__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,111 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::vector::begin - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::vector::end - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -std::endl - - - - - -Node2->Node5 - - - - - - - - -Node6 - - -std::is_sorted - - - - - -Node2->Node6 - - - - - - - - diff --git a/d3/d92/pancake__sort_8cpp_source.html b/d3/d92/pancake__sort_8cpp_source.html new file mode 100644 index 000000000..70a7d421c --- /dev/null +++ b/d3/d92/pancake__sort_8cpp_source.html @@ -0,0 +1,233 @@ + + + + + + + + +TheAlgorithms/C++: sorting/pancake_sort.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    +

    Namespaces

    namespace  sorting

    Functions

    template<typename T >
    void sorting::pancake_sort::reverse (std::vector< T > &arr, int start, int end)
    void sorting::pancake_sort::reverse (std::vector< T > &arr, int start, int end)
     This implementation is for reversing elements in a a C-style array .
     
    template<typename T >
    int sorting::pancake_sort::pancakeSort (std::vector< T > &arr, int size)
    int sorting::pancake_sort::pancakeSort (std::vector< T > &arr, int size)
     This implementation is for a C-style array input that gets modified in place.
     
    static void test ()
    int sorting::pancake_sort::pancakeSort (std::vector< T > & arr, std::vector< T > & arr,
    void sorting::pancake_sort::reverse (std::vector< T > & arr, std::vector< T > & arr,
    + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + + +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    pancake_sort.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    19#include <algorithm> // for std::is_sorted
    +
    20#include <cassert> // for std::assert
    +
    21#include <iostream> // for io operations
    +
    22#include <vector> // for std::vector
    +
    23
    +
    28namespace sorting {
    +
    34namespace pancake_sort {
    +
    42template <typename T>
    +
    +
    43void reverse(std::vector<T> &arr, int start, int end) {
    +
    44 T temp; // Temporary variable
    +
    45 while (start <= end) {
    +
    46 temp = arr[start];
    +
    47 arr[start] = arr[end];
    +
    48 arr[end] = temp;
    +
    49 start++;
    +
    50 end--;
    +
    51 }
    +
    52}
    +
    +
    60template <typename T>
    +
    +
    61int pancakeSort(std::vector<T> &arr, int size) {
    +
    62 for (int i = size; i > 1; --i) {
    +
    63 int max_index = 0, j = 0; // intialize some variables.
    +
    64 T max_value = 0;
    +
    65 for (j = 0; j < i; j++) {
    +
    66 if (arr[j] >= max_value) {
    +
    67 max_value = arr[j];
    +
    68 max_index = j;
    +
    69 }
    +
    70 }
    +
    71 if (max_index != i - 1) // check for reversing
    +
    72 {
    +
    73 reverse(arr, 0, max_index);
    +
    74 reverse(arr, 0, i - 1);
    +
    75 }
    +
    76 }
    +
    77 return 0;
    +
    78}
    +
    +
    79} // namespace pancake_sort
    +
    80} // namespace sorting
    +
    81
    +
    +
    86static void test() {
    +
    87 // example 1: vector of int
    +
    88 const int size1 = 7;
    +
    89 std::cout << "\nTest 1- as std::vector<int>...";
    +
    90 std::vector<int> arr1 = {23, 10, 20, 11, 12, 6, 7};
    +
    91 sorting::pancake_sort::pancakeSort(arr1, size1);
    +
    92 assert(std::is_sorted(arr1.begin(), arr1.end()));
    +
    93 std::cout << "Passed\n";
    +
    94 for (int i = 0; i < size1; i++) {
    +
    95 std::cout << arr1[i] << " ,";
    +
    96 }
    +
    97 std::cout << std::endl;
    +
    98
    +
    99 // example 2: vector of double
    +
    100 const int size2 = 8;
    +
    101 std::cout << "\nTest 2- as std::vector<double>...";
    +
    102 std::vector<double> arr2 = {23.56, 10.62, 200.78, 111.484,
    +
    103 3.9, 1.2, 61.77, 79.6};
    +
    104 sorting::pancake_sort::pancakeSort(arr2, size2);
    +
    105 assert(std::is_sorted(arr2.begin(), arr2.end()));
    +
    106 std::cout << "Passed\n";
    +
    107 for (int i = 0; i < size2; i++) {
    +
    108 std::cout << arr2[i] << ", ";
    +
    109 }
    +
    110 std::cout << std::endl;
    +
    111
    +
    112 // example 3:vector of float
    +
    113 const int size3 = 7;
    +
    114 std::cout << "\nTest 3- as std::vector<float>...";
    +
    115 std::vector<float> arr3 = {6.56, 12.62, 200.78, 768.484, 19.27, 68.87, 9.6};
    +
    116 sorting::pancake_sort::pancakeSort(arr3, size3);
    +
    117 assert(std::is_sorted(arr3.begin(), arr3.end()));
    +
    118 std::cout << "Passed\n";
    +
    119 for (int i = 0; i < size3; i++) {
    +
    120 std::cout << arr3[i] << ", ";
    +
    121 }
    +
    122 std::cout << std::endl;
    +
    123}
    +
    +
    +
    128int main() {
    +
    129 test();
    +
    130 return 0;
    +
    131}
    +
    +
    Functions for Pancake sort algorithm.
    +
    for working with vectors
    +
    static void test()
    Test implementations.
    +
    int pancakeSort(std::vector< T > &arr, int size)
    This implementation is for a C-style array input that gets modified in place.
    +
    int main()
    Main function.
    +
    +
    + + + + diff --git a/d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html b/d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html index 5e16ec20f..a8621a316 100644 --- a/d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html +++ b/d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: data_structures::tree_234::Tree234 Class Reference +TheAlgorithms/C++: data_structures::tree_234::Tree234 Class Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -118,7 +135,7 @@ $(function(){initNavTree('d3/d95/classdata__structures_1_1tree__234_1_1_tree234.
    Collaboration diagram for data_structures::tree_234::Tree234:
    -
    +
    [legend]
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    - +

    @@ -198,7 +215,7 @@ Private Member Functions

    void Traverse (Node *tree)
     In-order traverse the tree, print items.
     
    void PrintNode (std::ofstream &ofs, Node *node, int64_t parent_index, int64_t index, int8_t parent_child_index)
    void PrintNode (std::ofstream &ofs, Node *node, int64_t parent_index, int64_t index, int8_t parent_child_index)
     Print the tree to a dot file. You can convert it to picture with graphviz.
     
    @@ -210,6 +227,8 @@ Private Attributes

    Detailed Description

    2-3-4 tree class

    + +

    Definition at line 323 of file tree_234.cpp.

    Constructor & Destructor Documentation

    ◆ ~Tree234()

    @@ -225,9 +244,11 @@ Private Attributes
    + +

    Definition at line 541 of file tree_234.cpp.

    541{ DeleteNode(root_); }
    -
    void DeleteNode(Node *tree)
    Recursive release the tree.
    Definition tree_234.cpp:547
    -
    Node * root_
    root node of the tree
    Definition tree_234.cpp:538
    +
    void DeleteNode(Node *tree)
    Recursive release the tree.
    Definition tree_234.cpp:547
    +
    Node * root_
    root node of the tree
    Definition tree_234.cpp:538
    @@ -262,6 +283,8 @@ Private Attributes + +

    Definition at line 547 of file tree_234.cpp.

    547 {
    548 if (!tree) {
    549 return;
    @@ -272,12 +295,7 @@ Private Attributes
    554
    555 delete tree;
    556}
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -311,24 +329,20 @@ Here is the call graph for this function:
    Returns
    max item of the tree
    + +

    Definition at line 1098 of file tree_234.cpp.

    1098 {
    1099 assert(tree);
    -
    1100 int64_t max = 0;
    +
    1100 int64_t max = 0;
    1101
    1102 while (tree) {
    -
    1103 max = tree->GetMaxItem();
    +
    1103 max = tree->GetMaxItem();
    1104 tree = tree->GetRightmostChild();
    1105 }
    1106
    -
    1107 return max;
    +
    1107 return max;
    1108}
    -
    T max(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -362,24 +376,20 @@ Here is the call graph for this function:
    Returns
    min item of the tree
    + +

    Definition at line 1115 of file tree_234.cpp.

    1115 {
    1116 assert(tree);
    -
    1117 int64_t min = 0;
    +
    1117 int64_t min = 0;
    1118
    1119 while (tree) {
    -
    1120 min = tree->GetMinItem();
    +
    1120 min = tree->GetMinItem();
    1121 tree = tree->GetLeftmostChild();
    1122 }
    1123
    -
    1124 return min;
    +
    1124 return min;
    1125}
    -
    T min(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -404,14 +414,11 @@ Here is the call graph for this function: -
    655{ InsertPreSplit(item); }
    -
    void InsertPreSplit(int64_t item)
    A insert implementation of pre-split.
    Definition tree_234.cpp:585
    -
    -Here is the call graph for this function:
    -
    -
    -
    +

    Definition at line 655 of file tree_234.cpp.

    +
    655{ InsertPreSplit(item); }
    +
    void InsertPreSplit(int64_t item)
    A insert implementation of pre-split.
    Definition tree_234.cpp:585
    +
    @@ -450,10 +457,12 @@ Here is the call graph for this function:
    Returns
    the node that split as the parent when overflow happen
    + +

    Definition at line 663 of file tree_234.cpp.

    663 {
    664 assert(tree != nullptr);
    665
    -
    666 std::unique_ptr<Node> split_node;
    +
    666 std::unique_ptr<Node> split_node;
    667
    668 if (tree->Contains(item)) {
    669 // return nullptr indicate current node not overflow
    @@ -462,29 +471,21 @@ Here is the call graph for this function:
    672
    673 Node *next_node = tree->GetNextPossibleChild(item);
    674 if (next_node) {
    -
    675 split_node.reset(Insert(next_node, item));
    +
    675 split_node.reset(Insert(next_node, item));
    676 } else {
    -
    677 split_node.reset(new Node(item));
    +
    677 split_node.reset(new Node(item));
    678 }
    679
    680 if (split_node) {
    -
    681 return MergeNode(tree, split_node.get());
    +
    681 return MergeNode(tree, split_node.get());
    682 }
    683
    684 return nullptr;
    685}
    -
    Node * MergeNode(Node *dst_node, Node *node)
    A helper function used during post-merge insert.
    Definition tree_234.cpp:700
    -
    void Insert(int64_t item)
    Insert item to tree.
    Definition tree_234.cpp:655
    -
    T get(T... args)
    -
    T reset(T... args)
    -
    Definition linkedlist_implentation_usingarray.cpp:14
    - -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    Node * MergeNode(Node *dst_node, Node *node)
    A helper function used during post-merge insert.
    Definition tree_234.cpp:700
    +
    void Insert(int64_t item)
    Insert item to tree.
    Definition tree_234.cpp:655
    + + @@ -517,6 +518,8 @@ Here is the call graph for this function: + +

    Definition at line 637 of file tree_234.cpp.

    637 {
    638 if (!root_) {
    639 root_ = new Node(item);
    @@ -530,12 +533,7 @@ Here is the call graph for this function:
    647 root_ = split_node;
    648 }
    649}
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -568,6 +566,8 @@ Here is the call graph for this function: + +

    Definition at line 585 of file tree_234.cpp.

    585 {
    586 if (!root_) {
    587 root_ = new Node(item);
    @@ -579,7 +579,7 @@ Here is the call graph for this function:
    593
    594 while (true) {
    595 if (!node) {
    -
    596 std::unique_ptr<Node> tmp(new Node(item));
    +
    596 std::unique_ptr<Node> tmp(new Node(item));
    597 MergeNodeNotFull(parent, tmp.get());
    598 return;
    599 }
    @@ -615,16 +615,11 @@ Here is the call graph for this function:
    629 node = parent->GetNextPossibleChild(item);
    630 }
    631}
    -
    struct node { int data; int height; struct node *left; struct node *right;} node
    for std::queue
    Definition avltree.cpp:13
    -
    Node * SplitNode(Node *node)
    Split a 4-node to 1 parent and 2 children, and return the parent node.
    Definition tree_234.cpp:745
    -
    void MergeNodeNotFull(Node *dst_node, Node *node)
    Merge node to a not-full target node.
    Definition tree_234.cpp:730
    -
    Definition binary_search_tree.cpp:11
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    struct node { int data; int height; struct node *left; struct node *right;} node
    for std::queue
    Definition avltree.cpp:13
    +
    Node * SplitNode(Node *node)
    Split a 4-node to 1 parent and 2 children, and return the parent node.
    Definition tree_234.cpp:745
    +
    void MergeNodeNotFull(Node *dst_node, Node *node)
    Merge node to a not-full target node.
    Definition tree_234.cpp:730
    + + @@ -663,19 +658,20 @@ Here is the call graph for this function: + +

    Definition at line 869 of file tree_234.cpp.

    869 {
    870 Node *left = parent->GetItemLeftChild(index);
    -
    871 Node *right = parent->GetItemRightChild(index);
    +
    871 Node *right = parent->GetItemRightChild(index);
    872
    -
    873 assert(right && right->Is34Node());
    +
    873 assert(right && right->Is34Node());
    874 assert(left && left->Is2Node());
    875
    876 left->InsertItemByIndex(left->GetCount(), parent->GetItem(index),
    -
    877 right->GetLeftmostChild(), false);
    -
    878 parent->SetItem(index, right->GetMinItem());
    -
    879 right->RemoveItemByIndex(0, false);
    +
    877 right->GetLeftmostChild(), false);
    +
    878 parent->SetItem(index, right->GetMinItem());
    +
    879 right->RemoveItemByIndex(0, false);
    880}
    -
    T right(T... args)
    @@ -716,6 +712,8 @@ Here is the call graph for this function:
    Returns
    the merged 4-node
    + +

    Definition at line 895 of file tree_234.cpp.

    895 {
    896 assert(parent);
    897
    @@ -744,12 +742,7 @@ Here is the call graph for this function:
    920
    921 return left_child;
    922}
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -789,6 +782,8 @@ Here is the call graph for this function:
    Returns
    overflow node of this level
    + +

    Definition at line 700 of file tree_234.cpp.

    700 {
    701 assert(dst_node != nullptr && node != nullptr);
    702
    @@ -808,12 +803,7 @@ Here is the call graph for this function:
    716
    717 return dst_node;
    718}
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -852,6 +842,8 @@ Here is the call graph for this function: + +

    Definition at line 730 of file tree_234.cpp.

    730 {
    731 assert(dst_node && node && !dst_node->IsFull() && node->Is2Node());
    732
    @@ -860,12 +852,7 @@ Here is the call graph for this function:
    735 dst_node->SetChild(i, node->GetChild(0));
    736 dst_node->SetChild(i + 1, node->GetChild(1));
    737}
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -893,16 +880,18 @@ Here is the call graph for this function:

    This is a helper structure to do a level order traversal to print the tree.

    < tree node

    < node index of level order that used when draw the link between child and parent

    + +

    Definition at line 1131 of file tree_234.cpp.

    1131 {
    1132 if (!file_name) {
    1133 file_name = "out.dot";
    1134 }
    1135
    -
    1136 std::ofstream ofs;
    +
    1136 std::ofstream ofs;
    1137
    -
    1138 ofs.open(file_name);
    +
    1138 ofs.open(file_name);
    1139 if (!ofs) {
    -
    1140 std::cout << "create tree dot file failed, " << file_name << std::endl;
    +
    1140 std::cout << "create tree dot file failed, " << file_name << std::endl;
    1141 return;
    1142 }
    1143
    @@ -910,16 +899,13 @@ Here is the call graph for this function:
    1145 ofs << "node [shape=record]\n";
    1146
    1147 int64_t index = 0;
    -
    1148
    -
    1149 /** @brief This is a helper structure to do a level order traversal to print
    -
    1150 * the tree. */
    +
    1148
    1151 struct NodeInfo {
    -
    1152 Node *node; ///< tree node
    -
    1153 int64_t index; ///< node index of level order that used when draw the
    -
    1154 ///< link between child and parent
    -
    1155 };
    +
    1152 Node *node;
    +
    1153 int64_t index;
    +
    1155 };
    1156
    - +
    1157 std::queue<NodeInfo> q;
    1158
    1159 if (root_) {
    1160 // print root node
    @@ -972,21 +958,10 @@ Here is the call graph for this function:
    1207 }
    1208
    1209 ofs << "}\n";
    -
    1210 ofs.close();
    +
    1210 ofs.close();
    1211}
    - - -
    void PrintNode(std::ofstream &ofs, Node *node, int64_t parent_index, int64_t index, int8_t parent_child_index)
    Print the tree to a dot file. You can convert it to picture with graphviz.
    Definition tree_234.cpp:1226
    -
    T close(T... args)
    -
    T endl(T... args)
    -
    T open(T... args)
    - -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    void PrintNode(std::ofstream &ofs, Node *node, int64_t parent_index, int64_t index, int8_t parent_child_index)
    Print the tree to a dot file. You can convert it to picture with graphviz.
    + @@ -1001,7 +976,7 @@ Here is the call graph for this function: void data_structures::tree_234::Tree234::PrintNode ( - std::ofstream & ofs, + std::ofstream & ofs, @@ -1042,6 +1017,8 @@ Here is the call graph for this function: + +

    Definition at line 1226 of file tree_234.cpp.

    1227 {
    1228 assert(node);
    1229
    @@ -1098,14 +1075,11 @@ Here is the call graph for this function:
    Returns
    true if item found and removed, false otherwise
    -
    929{ return RemovePreMerge(root_, item); }
    -
    bool RemovePreMerge(Node *node, int64_t item)
    Main function implement the pre-merge remove operation.
    Definition tree_234.cpp:937
    -
    -Here is the call graph for this function:
    -
    -
    -
    +

    Definition at line 929 of file tree_234.cpp.

    +
    929{ return RemovePreMerge(root_, item); }
    +
    bool RemovePreMerge(Node *node, int64_t item)
    Main function implement the pre-merge remove operation.
    Definition tree_234.cpp:937
    +
    @@ -1144,6 +1118,8 @@ Here is the call graph for this function:
    Returns
    true if remove success, false otherwise
    + +

    Definition at line 937 of file tree_234.cpp.

    937 {
    938 while (node) {
    939 if (node->IsLeaf()) {
    @@ -1299,19 +1275,14 @@ Here is the call graph for this function:
    1089
    1090 return false;
    1091}
    -
    Node * Merge(Node *parent, int8_t index)
    Merge the item at index of the parent node, and its left and right child.
    Definition tree_234.cpp:895
    -
    int64_t GetTreeMinItem(Node *tree)
    Get the min item of the tree.
    Definition tree_234.cpp:1115
    -
    bool TryLeftRotate(Node *parent, Node *to_child)
    A handy function to try if we can do a left rotate to the target node.
    Definition tree_234.cpp:778
    -
    int64_t GetTreeMaxItem(Node *tree)
    Get the max item of the tree.
    Definition tree_234.cpp:1098
    -
    void LeftRotate(Node *parent, int8_t index)
    Do the actual left rotate operation.
    Definition tree_234.cpp:869
    -
    void RightRotate(Node *parent, int8_t index)
    Do the actual right rotate operation.
    Definition tree_234.cpp:845
    -
    bool TryRightRotate(Node *parent, Node *to_child)
    A handy function to try if we can do a right rotate to the target node.
    Definition tree_234.cpp:813
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    Node * Merge(Node *parent, int8_t index)
    Merge the item at index of the parent node, and its left and right child.
    Definition tree_234.cpp:895
    +
    int64_t GetTreeMinItem(Node *tree)
    Get the min item of the tree.
    +
    bool TryLeftRotate(Node *parent, Node *to_child)
    A handy function to try if we can do a left rotate to the target node.
    Definition tree_234.cpp:778
    +
    int64_t GetTreeMaxItem(Node *tree)
    Get the max item of the tree.
    +
    void LeftRotate(Node *parent, int8_t index)
    Do the actual left rotate operation.
    Definition tree_234.cpp:869
    +
    void RightRotate(Node *parent, int8_t index)
    Do the actual right rotate operation.
    Definition tree_234.cpp:845
    +
    bool TryRightRotate(Node *parent, Node *to_child)
    A handy function to try if we can do a right rotate to the target node.
    Definition tree_234.cpp:813
    + @@ -1350,14 +1321,16 @@ Here is the call graph for this function: + +

    Definition at line 845 of file tree_234.cpp.

    845 {
    846 Node *left = parent->GetItemLeftChild(index);
    -
    847 Node *right = parent->GetItemRightChild(index);
    +
    847 Node *right = parent->GetItemRightChild(index);
    848
    849 assert(left && left->Is34Node());
    -
    850 assert(right && right->Is2Node());
    +
    850 assert(right && right->Is2Node());
    851
    -
    852 right->InsertItemByIndex(0, parent->GetItem(index),
    +
    852 right->InsertItemByIndex(0, parent->GetItem(index),
    853 left->GetRightmostChild(), true);
    854 parent->SetItem(index, left->GetMaxItem());
    855 left->RemoveItemByIndex(left->GetCount() - 1, true);
    @@ -1396,14 +1369,16 @@ Here is the call graph for this function:
    Returns
    split parent node
    + +

    Definition at line 745 of file tree_234.cpp.

    745 {
    746 assert(node->GetCount() == 3);
    747
    748 Node *left = node;
    749
    -
    750 Node *right = new Node(node->GetItem(2));
    -
    751 right->SetChild(0, node->GetChild(2));
    -
    752 right->SetChild(1, node->GetChild(3));
    +
    750 Node *right = new Node(node->GetItem(2));
    +
    751 right->SetChild(0, node->GetChild(2));
    +
    752 right->SetChild(1, node->GetChild(3));
    753
    754 Node *parent = new Node(node->GetItem(1));
    755 parent->SetChild(0, left);
    @@ -1439,17 +1414,14 @@ Here is the call graph for this function:
    + +

    Definition at line 562 of file tree_234.cpp.

    562 {
    - +
    564 std::cout << std::endl;
    565}
    -
    void Traverse()
    In-order traverse.
    Definition tree_234.cpp:562
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    void Traverse()
    In-order traverse.
    Definition tree_234.cpp:562
    + @@ -1482,6 +1454,8 @@ Here is the call graph for this function: + +

    Definition at line 567 of file tree_234.cpp.

    567 {
    568 if (!node) {
    569 return;
    @@ -1490,17 +1464,12 @@ Here is the call graph for this function:
    572 int8_t i = 0;
    573 for (i = 0; i < node->GetCount(); i++) {
    574 Traverse(node->GetChild(i));
    -
    575 std::cout << node->GetItem(i) << ", ";
    +
    575 std::cout << node->GetItem(i) << ", ";
    576 }
    577
    578 Traverse(node->GetChild(i));
    579}
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -1540,6 +1509,8 @@ Here is the call graph for this function:
    Returns
    true if we successfully do the rotate. false if the requirements are not fulfilled.
    + +

    Definition at line 778 of file tree_234.cpp.

    778 {
    779 int to_child_index = parent->GetChildIndex(to_child);
    780
    @@ -1559,12 +1530,7 @@ Here is the call graph for this function:
    794
    795 return true;
    796}
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -1604,6 +1570,8 @@ Here is the call graph for this function:
    Returns
    true if we successfully do the rotate. false if the requirements are not fulfilled.
    + +

    Definition at line 813 of file tree_234.cpp.

    813 {
    814 int8_t to_child_index = parent->GetChildIndex(to_child);
    815
    @@ -1623,12 +1591,7 @@ Here is the call graph for this function:
    829
    830 return true;
    831}
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +

    Member Data Documentation

    @@ -1653,12 +1616,14 @@ Here is the call graph for this function:

    root node of the tree

    -
    538{nullptr}; ///< root node of the tree
    + +

    Definition at line 538 of file tree_234.cpp.

    +
    538{nullptr};

    The documentation for this class was generated from the following file: diff --git a/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a02df91964915ca97609d35f847faff5f_cgraph.map b/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a02df91964915ca97609d35f847faff5f_cgraph.map deleted file mode 100644 index 146b2020e..000000000 --- a/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a02df91964915ca97609d35f847faff5f_cgraph.map +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a02df91964915ca97609d35f847faff5f_cgraph.md5 b/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a02df91964915ca97609d35f847faff5f_cgraph.md5 deleted file mode 100644 index ee2366c6b..000000000 --- a/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a02df91964915ca97609d35f847faff5f_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -8dc392f2cbd5a2e8da1b305ad1b38d4a \ No newline at end of file diff --git a/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a02df91964915ca97609d35f847faff5f_cgraph.svg b/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a02df91964915ca97609d35f847faff5f_cgraph.svg deleted file mode 100644 index 78c709456..000000000 --- a/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a02df91964915ca97609d35f847faff5f_cgraph.svg +++ /dev/null @@ -1,443 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -data_structures::tree_234::Tree234::Insert - - -Node1 - - -data_structures::tree -_234::Tree234::Insert - - - - - -Node2 - - -data_structures::tree -_234::Node::Contains - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::unique_ptr::get - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -data_structures::tree -_234::Node::GetNextPossible -Child - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -data_structures::tree -_234::Tree234::Insert - - - - - -Node1->Node5 - - - - - - - - -Node13 - - -data_structures::tree -_234::Tree234::MergeNode - - - - - -Node1->Node13 - - - - - - - - -Node16 - - -std::unique_ptr::reset - - - - - -Node1->Node16 - - - - - - - - -Node6 - - -data_structures::tree -_234::Tree234::InsertPreSplit - - - - - -Node5->Node6 - - - - - - - - -Node6->Node3 - - - - - - - - -Node7 - - -data_structures::tree -_234::Tree234::MergeNodeNotFull - - - - - -Node6->Node7 - - - - - - - - -Node12 - - -data_structures::tree -_234::Tree234::SplitNode - - - - - -Node6->Node12 - - - - - - - - -Node8 - - -data_structures::tree -_234::Node::InsertItem - - - - - -Node7->Node8 - - - - - - - - -Node10 - - -data_structures::tree -_234::Node::IsFull - - - - - -Node7->Node10 - - - - - - - - -Node11 - - -data_structures::tree -_234::Node::SetChild - - - - - -Node7->Node11 - - - - - - - - -Node8->Node2 - - - - - - - - -Node9 - - -data_structures::tree -_234::Node::InsertItemByIndex - - - - - -Node8->Node9 - - - - - - - - -Node8->Node10 - - - - - - - - -Node13->Node7 - - - - - - - - -Node13->Node10 - - - - - - - - -Node13->Node12 - - - - - - - - -Node14 - - -data_structures::tree -_234::Node::GetChild - - - - - -Node13->Node14 - - - - - - - - -Node15 - - -data_structures::tree -_234::Node::GetItem - - - - - -Node13->Node15 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a02df91964915ca97609d35f847faff5f_cgraph_org.svg b/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a02df91964915ca97609d35f847faff5f_cgraph_org.svg deleted file mode 100644 index 9d66eb37c..000000000 --- a/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a02df91964915ca97609d35f847faff5f_cgraph_org.svg +++ /dev/null @@ -1,360 +0,0 @@ - - - - - - -data_structures::tree_234::Tree234::Insert - - -Node1 - - -data_structures::tree -_234::Tree234::Insert - - - - - -Node2 - - -data_structures::tree -_234::Node::Contains - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::unique_ptr::get - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -data_structures::tree -_234::Node::GetNextPossible -Child - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -data_structures::tree -_234::Tree234::Insert - - - - - -Node1->Node5 - - - - - - - - -Node13 - - -data_structures::tree -_234::Tree234::MergeNode - - - - - -Node1->Node13 - - - - - - - - -Node16 - - -std::unique_ptr::reset - - - - - -Node1->Node16 - - - - - - - - -Node6 - - -data_structures::tree -_234::Tree234::InsertPreSplit - - - - - -Node5->Node6 - - - - - - - - -Node6->Node3 - - - - - - - - -Node7 - - -data_structures::tree -_234::Tree234::MergeNodeNotFull - - - - - -Node6->Node7 - - - - - - - - -Node12 - - -data_structures::tree -_234::Tree234::SplitNode - - - - - -Node6->Node12 - - - - - - - - -Node8 - - -data_structures::tree -_234::Node::InsertItem - - - - - -Node7->Node8 - - - - - - - - -Node10 - - -data_structures::tree -_234::Node::IsFull - - - - - -Node7->Node10 - - - - - - - - -Node11 - - -data_structures::tree -_234::Node::SetChild - - - - - -Node7->Node11 - - - - - - - - -Node8->Node2 - - - - - - - - -Node9 - - -data_structures::tree -_234::Node::InsertItemByIndex - - - - - -Node8->Node9 - - - - - - - - -Node8->Node10 - - - - - - - - -Node13->Node7 - - - - - - - - -Node13->Node10 - - - - - - - - -Node13->Node12 - - - - - - - - -Node14 - - -data_structures::tree -_234::Node::GetChild - - - - - -Node13->Node14 - - - - - - - - -Node15 - - -data_structures::tree -_234::Node::GetItem - - - - - -Node13->Node15 - - - - - - - - diff --git a/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a07811b3c564a3a443b106c9aa717629d_cgraph.map b/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a07811b3c564a3a443b106c9aa717629d_cgraph.map deleted file mode 100644 index eace8876e..000000000 --- a/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a07811b3c564a3a443b106c9aa717629d_cgraph.map +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - - - - - - - - - - - - - - - diff --git a/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a07811b3c564a3a443b106c9aa717629d_cgraph.md5 b/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a07811b3c564a3a443b106c9aa717629d_cgraph.md5 deleted file mode 100644 index c25eac01e..000000000 --- a/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a07811b3c564a3a443b106c9aa717629d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -bc48a145b1b454b9ad86c6c54230c54d \ No newline at end of file diff --git a/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a07811b3c564a3a443b106c9aa717629d_cgraph.svg b/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a07811b3c564a3a443b106c9aa717629d_cgraph.svg deleted file mode 100644 index 07943b0bb..000000000 --- a/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a07811b3c564a3a443b106c9aa717629d_cgraph.svg +++ /dev/null @@ -1,265 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -data_structures::tree_234::Tree234::InsertPreSplit - - -Node1 - - -data_structures::tree -_234::Tree234::InsertPreSplit - - - - - -Node2 - - -std::unique_ptr::get - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -data_structures::tree -_234::Tree234::MergeNodeNotFull - - - - - -Node1->Node3 - - - - - - - - -Node9 - - -data_structures::tree -_234::Tree234::SplitNode - - - - - -Node1->Node9 - - - - - - - - -Node4 - - -data_structures::tree -_234::Node::InsertItem - - - - - -Node3->Node4 - - - - - - - - -Node7 - - -data_structures::tree -_234::Node::IsFull - - - - - -Node3->Node7 - - - - - - - - -Node8 - - -data_structures::tree -_234::Node::SetChild - - - - - -Node3->Node8 - - - - - - - - -Node5 - - -data_structures::tree -_234::Node::Contains - - - - - -Node4->Node5 - - - - - - - - -Node6 - - -data_structures::tree -_234::Node::InsertItemByIndex - - - - - -Node4->Node6 - - - - - - - - -Node4->Node7 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a07811b3c564a3a443b106c9aa717629d_cgraph_org.svg b/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a07811b3c564a3a443b106c9aa717629d_cgraph_org.svg deleted file mode 100644 index e38cbe8f3..000000000 --- a/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a07811b3c564a3a443b106c9aa717629d_cgraph_org.svg +++ /dev/null @@ -1,182 +0,0 @@ - - - - - - -data_structures::tree_234::Tree234::InsertPreSplit - - -Node1 - - -data_structures::tree -_234::Tree234::InsertPreSplit - - - - - -Node2 - - -std::unique_ptr::get - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -data_structures::tree -_234::Tree234::MergeNodeNotFull - - - - - -Node1->Node3 - - - - - - - - -Node9 - - -data_structures::tree -_234::Tree234::SplitNode - - - - - -Node1->Node9 - - - - - - - - -Node4 - - -data_structures::tree -_234::Node::InsertItem - - - - - -Node3->Node4 - - - - - - - - -Node7 - - -data_structures::tree -_234::Node::IsFull - - - - - -Node3->Node7 - - - - - - - - -Node8 - - -data_structures::tree -_234::Node::SetChild - - - - - -Node3->Node8 - - - - - - - - -Node5 - - -data_structures::tree -_234::Node::Contains - - - - - -Node4->Node5 - - - - - - - - -Node6 - - -data_structures::tree -_234::Node::InsertItemByIndex - - - - - -Node4->Node6 - - - - - - - - -Node4->Node7 - - - - - - - - diff --git a/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a11f0d016dff7f7e62b3dddb9fdf47805_cgraph.map b/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a11f0d016dff7f7e62b3dddb9fdf47805_cgraph.map deleted file mode 100644 index 1c76cfbb0..000000000 --- a/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a11f0d016dff7f7e62b3dddb9fdf47805_cgraph.map +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a11f0d016dff7f7e62b3dddb9fdf47805_cgraph.md5 b/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a11f0d016dff7f7e62b3dddb9fdf47805_cgraph.md5 deleted file mode 100644 index 0ebf10854..000000000 --- a/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a11f0d016dff7f7e62b3dddb9fdf47805_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -d2ad74189d965cb758f0d56d23c5a780 \ No newline at end of file diff --git a/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a11f0d016dff7f7e62b3dddb9fdf47805_cgraph.svg b/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a11f0d016dff7f7e62b3dddb9fdf47805_cgraph.svg deleted file mode 100644 index 5aaafb170..000000000 --- a/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a11f0d016dff7f7e62b3dddb9fdf47805_cgraph.svg +++ /dev/null @@ -1,294 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -data_structures::tree_234::Tree234::MergeNode - - -Node1 - - -data_structures::tree -_234::Tree234::MergeNode - - - - - -Node2 - - -data_structures::tree -_234::Node::GetChild - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -data_structures::tree -_234::Node::GetItem - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -data_structures::tree -_234::Node::IsFull - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -data_structures::tree -_234::Tree234::MergeNodeNotFull - - - - - -Node1->Node5 - - - - - - - - -Node10 - - -data_structures::tree -_234::Tree234::SplitNode - - - - - -Node1->Node10 - - - - - - - - -Node5->Node4 - - - - - - - - -Node6 - - -data_structures::tree -_234::Node::InsertItem - - - - - -Node5->Node6 - - - - - - - - -Node9 - - -data_structures::tree -_234::Node::SetChild - - - - - -Node5->Node9 - - - - - - - - -Node6->Node4 - - - - - - - - -Node7 - - -data_structures::tree -_234::Node::Contains - - - - - -Node6->Node7 - - - - - - - - -Node8 - - -data_structures::tree -_234::Node::InsertItemByIndex - - - - - -Node6->Node8 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a11f0d016dff7f7e62b3dddb9fdf47805_cgraph_org.svg b/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a11f0d016dff7f7e62b3dddb9fdf47805_cgraph_org.svg deleted file mode 100644 index de4771adb..000000000 --- a/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a11f0d016dff7f7e62b3dddb9fdf47805_cgraph_org.svg +++ /dev/null @@ -1,211 +0,0 @@ - - - - - - -data_structures::tree_234::Tree234::MergeNode - - -Node1 - - -data_structures::tree -_234::Tree234::MergeNode - - - - - -Node2 - - -data_structures::tree -_234::Node::GetChild - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -data_structures::tree -_234::Node::GetItem - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -data_structures::tree -_234::Node::IsFull - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -data_structures::tree -_234::Tree234::MergeNodeNotFull - - - - - -Node1->Node5 - - - - - - - - -Node10 - - -data_structures::tree -_234::Tree234::SplitNode - - - - - -Node1->Node10 - - - - - - - - -Node5->Node4 - - - - - - - - -Node6 - - -data_structures::tree -_234::Node::InsertItem - - - - - -Node5->Node6 - - - - - - - - -Node9 - - -data_structures::tree -_234::Node::SetChild - - - - - -Node5->Node9 - - - - - - - - -Node6->Node4 - - - - - - - - -Node7 - - -data_structures::tree -_234::Node::Contains - - - - - -Node6->Node7 - - - - - - - - -Node8 - - -data_structures::tree -_234::Node::InsertItemByIndex - - - - - -Node6->Node8 - - - - - - - - diff --git a/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a273511e84a5243ffffe81be28bd24855_cgraph.map b/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a273511e84a5243ffffe81be28bd24855_cgraph.map deleted file mode 100644 index 5c1d6dea2..000000000 --- a/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a273511e84a5243ffffe81be28bd24855_cgraph.map +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a273511e84a5243ffffe81be28bd24855_cgraph.md5 b/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a273511e84a5243ffffe81be28bd24855_cgraph.md5 deleted file mode 100644 index 0763c07f9..000000000 --- a/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a273511e84a5243ffffe81be28bd24855_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -14e80e78165d85a265a6c99bf841a80e \ No newline at end of file diff --git a/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a273511e84a5243ffffe81be28bd24855_cgraph.svg b/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a273511e84a5243ffffe81be28bd24855_cgraph.svg deleted file mode 100644 index d220771c7..000000000 --- a/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a273511e84a5243ffffe81be28bd24855_cgraph.svg +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - - - - - - -data_structures::tree_234::Tree234::DeleteNode - - -Node1 - - -data_structures::tree -_234::Tree234::DeleteNode - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -data_structures::tree -_234::Node::GetChild - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -data_structures::tree -_234::Node::GetCount - - - - - -Node1->Node3 - - - - - - - - - - - - - diff --git a/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a273511e84a5243ffffe81be28bd24855_cgraph_org.svg b/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a273511e84a5243ffffe81be28bd24855_cgraph_org.svg deleted file mode 100644 index 80303a919..000000000 --- a/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a273511e84a5243ffffe81be28bd24855_cgraph_org.svg +++ /dev/null @@ -1,69 +0,0 @@ - - - - - - -data_structures::tree_234::Tree234::DeleteNode - - -Node1 - - -data_structures::tree -_234::Tree234::DeleteNode - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -data_structures::tree -_234::Node::GetChild - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -data_structures::tree -_234::Node::GetCount - - - - - -Node1->Node3 - - - - - - - - diff --git a/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a2e9a9db7792cf5383f4c4cc418255165_cgraph.map b/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a2e9a9db7792cf5383f4c4cc418255165_cgraph.map deleted file mode 100644 index eba8c008b..000000000 --- a/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a2e9a9db7792cf5383f4c4cc418255165_cgraph.map +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a2e9a9db7792cf5383f4c4cc418255165_cgraph.md5 b/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a2e9a9db7792cf5383f4c4cc418255165_cgraph.md5 deleted file mode 100644 index 0016405bc..000000000 --- a/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a2e9a9db7792cf5383f4c4cc418255165_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -6e1034a7b2539208479742a12ae92ab9 \ No newline at end of file diff --git a/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a2e9a9db7792cf5383f4c4cc418255165_cgraph.svg b/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a2e9a9db7792cf5383f4c4cc418255165_cgraph.svg deleted file mode 100644 index 6d0693ea2..000000000 --- a/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a2e9a9db7792cf5383f4c4cc418255165_cgraph.svg +++ /dev/null @@ -1,121 +0,0 @@ - - - - - - - - - - - - -data_structures::tree_234::Tree234::Print - - -Node1 - - -data_structures::tree -_234::Tree234::Print - - - - - -Node2 - - -std::ofstream::close - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::ofstream::open - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -data_structures::tree -_234::Tree234::PrintNode - - - - - -Node1->Node5 - - - - - - - - - - - - - diff --git a/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a2e9a9db7792cf5383f4c4cc418255165_cgraph_org.svg b/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a2e9a9db7792cf5383f4c4cc418255165_cgraph_org.svg deleted file mode 100644 index 5287e05ee..000000000 --- a/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a2e9a9db7792cf5383f4c4cc418255165_cgraph_org.svg +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - -data_structures::tree_234::Tree234::Print - - -Node1 - - -data_structures::tree -_234::Tree234::Print - - - - - -Node2 - - -std::ofstream::close - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::ofstream::open - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -data_structures::tree -_234::Tree234::PrintNode - - - - - -Node1->Node5 - - - - - - - - diff --git a/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a36f4d5f603f7edb7db7c73fb53ba14e9_cgraph.map b/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a36f4d5f603f7edb7db7c73fb53ba14e9_cgraph.map deleted file mode 100644 index b099934d3..000000000 --- a/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a36f4d5f603f7edb7db7c73fb53ba14e9_cgraph.map +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a36f4d5f603f7edb7db7c73fb53ba14e9_cgraph.md5 b/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a36f4d5f603f7edb7db7c73fb53ba14e9_cgraph.md5 deleted file mode 100644 index 8f223094b..000000000 --- a/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a36f4d5f603f7edb7db7c73fb53ba14e9_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -0bf1646aa61c24e2ac9e0183b5e572f8 \ No newline at end of file diff --git a/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a36f4d5f603f7edb7db7c73fb53ba14e9_cgraph.svg b/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a36f4d5f603f7edb7db7c73fb53ba14e9_cgraph.svg deleted file mode 100644 index 4a91dba47..000000000 --- a/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a36f4d5f603f7edb7db7c73fb53ba14e9_cgraph.svg +++ /dev/null @@ -1,162 +0,0 @@ - - - - - - - - - - - - -data_structures::tree_234::Tree234::Merge - - -Node1 - - -data_structures::tree -_234::Tree234::Merge - - - - - -Node2 - - -data_structures::tree -_234::Node::GetChild - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -data_structures::tree -_234::Node::GetItem - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -data_structures::tree -_234::Node::Is2Node - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -data_structures::tree -_234::Node::SetChild - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -data_structures::tree -_234::Node::SetCount - - - - - -Node1->Node6 - - - - - - - - -Node7 - - -data_structures::tree -_234::Node::SetItem - - - - - -Node1->Node7 - - - - - - - - - - - - - diff --git a/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a36f4d5f603f7edb7db7c73fb53ba14e9_cgraph_org.svg b/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a36f4d5f603f7edb7db7c73fb53ba14e9_cgraph_org.svg deleted file mode 100644 index 7bff0be9f..000000000 --- a/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a36f4d5f603f7edb7db7c73fb53ba14e9_cgraph_org.svg +++ /dev/null @@ -1,136 +0,0 @@ - - - - - - -data_structures::tree_234::Tree234::Merge - - -Node1 - - -data_structures::tree -_234::Tree234::Merge - - - - - -Node2 - - -data_structures::tree -_234::Node::GetChild - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -data_structures::tree -_234::Node::GetItem - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -data_structures::tree -_234::Node::Is2Node - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -data_structures::tree -_234::Node::SetChild - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -data_structures::tree -_234::Node::SetCount - - - - - -Node1->Node6 - - - - - - - - -Node7 - - -data_structures::tree -_234::Node::SetItem - - - - - -Node1->Node7 - - - - - - - - diff --git a/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a5da1be3f5b5d967ebb36a201f3ebad11_cgraph.map b/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a5da1be3f5b5d967ebb36a201f3ebad11_cgraph.map deleted file mode 100644 index 8706ac94d..000000000 --- a/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a5da1be3f5b5d967ebb36a201f3ebad11_cgraph.map +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a5da1be3f5b5d967ebb36a201f3ebad11_cgraph.md5 b/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a5da1be3f5b5d967ebb36a201f3ebad11_cgraph.md5 deleted file mode 100644 index 76c6b18d3..000000000 --- a/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a5da1be3f5b5d967ebb36a201f3ebad11_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -56a15f5779160075adf9553e4289531e \ No newline at end of file diff --git a/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a5da1be3f5b5d967ebb36a201f3ebad11_cgraph.svg b/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a5da1be3f5b5d967ebb36a201f3ebad11_cgraph.svg deleted file mode 100644 index 24fcff493..000000000 --- a/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a5da1be3f5b5d967ebb36a201f3ebad11_cgraph.svg +++ /dev/null @@ -1,511 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -data_structures::tree_234::Tree234::Remove - - -Node1 - - -data_structures::tree -_234::Tree234::Remove - - - - - -Node2 - - -data_structures::tree -_234::Tree234::RemovePreMerge - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -data_structures::tree -_234::Tree234::GetTreeMaxItem - - - - - -Node2->Node3 - - - - - - - - -Node6 - - -data_structures::tree -_234::Tree234::GetTreeMinItem - - - - - -Node2->Node6 - - - - - - - - -Node9 - - -data_structures::tree -_234::Node::Is2Node - - - - - -Node2->Node9 - - - - - - - - -Node10 - - -data_structures::tree -_234::Node::Is34Node - - - - - -Node2->Node10 - - - - - - - - -Node11 - - -data_structures::tree -_234::Tree234::LeftRotate - - - - - -Node2->Node11 - - - - - - - - -Node12 - - -data_structures::tree -_234::Tree234::Merge - - - - - -Node2->Node12 - - - - - - - - -Node18 - - -data_structures::tree -_234::Tree234::RightRotate - - - - - -Node2->Node18 - - - - - - - - -Node19 - - -data_structures::tree -_234::Tree234::TryLeftRotate - - - - - -Node2->Node19 - - - - - - - - -Node20 - - -data_structures::tree -_234::Tree234::TryRightRotate - - - - - -Node2->Node20 - - - - - - - - -Node4 - - -data_structures::tree -_234::Node::GetMaxItem - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -data_structures::tree -_234::Node::GetRightmostChild - - - - - -Node3->Node5 - - - - - - - - -Node7 - - -data_structures::tree -_234::Node::GetLeftmostChild - - - - - -Node6->Node7 - - - - - - - - -Node8 - - -data_structures::tree -_234::Node::GetMinItem - - - - - -Node6->Node8 - - - - - - - - -Node12->Node9 - - - - - - - - -Node13 - - -data_structures::tree -_234::Node::GetChild - - - - - -Node12->Node13 - - - - - - - - -Node14 - - -data_structures::tree -_234::Node::GetItem - - - - - -Node12->Node14 - - - - - - - - -Node15 - - -data_structures::tree -_234::Node::SetChild - - - - - -Node12->Node15 - - - - - - - - -Node16 - - -data_structures::tree -_234::Node::SetCount - - - - - -Node12->Node16 - - - - - - - - -Node17 - - -data_structures::tree -_234::Node::SetItem - - - - - -Node12->Node17 - - - - - - - - -Node19->Node9 - - - - - - - - -Node19->Node11 - - - - - - - - -Node20->Node9 - - - - - - - - -Node20->Node18 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a5da1be3f5b5d967ebb36a201f3ebad11_cgraph_org.svg b/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a5da1be3f5b5d967ebb36a201f3ebad11_cgraph_org.svg deleted file mode 100644 index b7de917e0..000000000 --- a/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a5da1be3f5b5d967ebb36a201f3ebad11_cgraph_org.svg +++ /dev/null @@ -1,428 +0,0 @@ - - - - - - -data_structures::tree_234::Tree234::Remove - - -Node1 - - -data_structures::tree -_234::Tree234::Remove - - - - - -Node2 - - -data_structures::tree -_234::Tree234::RemovePreMerge - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -data_structures::tree -_234::Tree234::GetTreeMaxItem - - - - - -Node2->Node3 - - - - - - - - -Node6 - - -data_structures::tree -_234::Tree234::GetTreeMinItem - - - - - -Node2->Node6 - - - - - - - - -Node9 - - -data_structures::tree -_234::Node::Is2Node - - - - - -Node2->Node9 - - - - - - - - -Node10 - - -data_structures::tree -_234::Node::Is34Node - - - - - -Node2->Node10 - - - - - - - - -Node11 - - -data_structures::tree -_234::Tree234::LeftRotate - - - - - -Node2->Node11 - - - - - - - - -Node12 - - -data_structures::tree -_234::Tree234::Merge - - - - - -Node2->Node12 - - - - - - - - -Node18 - - -data_structures::tree -_234::Tree234::RightRotate - - - - - -Node2->Node18 - - - - - - - - -Node19 - - -data_structures::tree -_234::Tree234::TryLeftRotate - - - - - -Node2->Node19 - - - - - - - - -Node20 - - -data_structures::tree -_234::Tree234::TryRightRotate - - - - - -Node2->Node20 - - - - - - - - -Node4 - - -data_structures::tree -_234::Node::GetMaxItem - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -data_structures::tree -_234::Node::GetRightmostChild - - - - - -Node3->Node5 - - - - - - - - -Node7 - - -data_structures::tree -_234::Node::GetLeftmostChild - - - - - -Node6->Node7 - - - - - - - - -Node8 - - -data_structures::tree -_234::Node::GetMinItem - - - - - -Node6->Node8 - - - - - - - - -Node12->Node9 - - - - - - - - -Node13 - - -data_structures::tree -_234::Node::GetChild - - - - - -Node12->Node13 - - - - - - - - -Node14 - - -data_structures::tree -_234::Node::GetItem - - - - - -Node12->Node14 - - - - - - - - -Node15 - - -data_structures::tree -_234::Node::SetChild - - - - - -Node12->Node15 - - - - - - - - -Node16 - - -data_structures::tree -_234::Node::SetCount - - - - - -Node12->Node16 - - - - - - - - -Node17 - - -data_structures::tree -_234::Node::SetItem - - - - - -Node12->Node17 - - - - - - - - -Node19->Node9 - - - - - - - - -Node19->Node11 - - - - - - - - -Node20->Node9 - - - - - - - - -Node20->Node18 - - - - - - - - diff --git a/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a61dd051a74e5f36c8dc03dae8dca6ef4_cgraph.map b/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a61dd051a74e5f36c8dc03dae8dca6ef4_cgraph.map deleted file mode 100644 index 631c0b7a8..000000000 --- a/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a61dd051a74e5f36c8dc03dae8dca6ef4_cgraph.map +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a61dd051a74e5f36c8dc03dae8dca6ef4_cgraph.md5 b/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a61dd051a74e5f36c8dc03dae8dca6ef4_cgraph.md5 deleted file mode 100644 index 43d254765..000000000 --- a/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a61dd051a74e5f36c8dc03dae8dca6ef4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -60a496b3cfead2e226fc1033ca6e026e \ No newline at end of file diff --git a/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a61dd051a74e5f36c8dc03dae8dca6ef4_cgraph.svg b/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a61dd051a74e5f36c8dc03dae8dca6ef4_cgraph.svg deleted file mode 100644 index c5aa57c8e..000000000 --- a/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a61dd051a74e5f36c8dc03dae8dca6ef4_cgraph.svg +++ /dev/null @@ -1,492 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -data_structures::tree_234::Tree234::RemovePreMerge - - -Node1 - - -data_structures::tree -_234::Tree234::RemovePreMerge - - - - - -Node2 - - -data_structures::tree -_234::Tree234::GetTreeMaxItem - - - - - -Node1->Node2 - - - - - - - - -Node5 - - -data_structures::tree -_234::Tree234::GetTreeMinItem - - - - - -Node1->Node5 - - - - - - - - -Node8 - - -data_structures::tree -_234::Node::Is2Node - - - - - -Node1->Node8 - - - - - - - - -Node9 - - -data_structures::tree -_234::Node::Is34Node - - - - - -Node1->Node9 - - - - - - - - -Node10 - - -data_structures::tree -_234::Tree234::LeftRotate - - - - - -Node1->Node10 - - - - - - - - -Node11 - - -data_structures::tree -_234::Tree234::Merge - - - - - -Node1->Node11 - - - - - - - - -Node17 - - -data_structures::tree -_234::Tree234::RightRotate - - - - - -Node1->Node17 - - - - - - - - -Node18 - - -data_structures::tree -_234::Tree234::TryLeftRotate - - - - - -Node1->Node18 - - - - - - - - -Node19 - - -data_structures::tree -_234::Tree234::TryRightRotate - - - - - -Node1->Node19 - - - - - - - - -Node3 - - -data_structures::tree -_234::Node::GetMaxItem - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -data_structures::tree -_234::Node::GetRightmostChild - - - - - -Node2->Node4 - - - - - - - - -Node6 - - -data_structures::tree -_234::Node::GetLeftmostChild - - - - - -Node5->Node6 - - - - - - - - -Node7 - - -data_structures::tree -_234::Node::GetMinItem - - - - - -Node5->Node7 - - - - - - - - -Node11->Node8 - - - - - - - - -Node12 - - -data_structures::tree -_234::Node::GetChild - - - - - -Node11->Node12 - - - - - - - - -Node13 - - -data_structures::tree -_234::Node::GetItem - - - - - -Node11->Node13 - - - - - - - - -Node14 - - -data_structures::tree -_234::Node::SetChild - - - - - -Node11->Node14 - - - - - - - - -Node15 - - -data_structures::tree -_234::Node::SetCount - - - - - -Node11->Node15 - - - - - - - - -Node16 - - -data_structures::tree -_234::Node::SetItem - - - - - -Node11->Node16 - - - - - - - - -Node18->Node8 - - - - - - - - -Node18->Node10 - - - - - - - - -Node19->Node8 - - - - - - - - -Node19->Node17 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a61dd051a74e5f36c8dc03dae8dca6ef4_cgraph_org.svg b/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a61dd051a74e5f36c8dc03dae8dca6ef4_cgraph_org.svg deleted file mode 100644 index deda2c2ec..000000000 --- a/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a61dd051a74e5f36c8dc03dae8dca6ef4_cgraph_org.svg +++ /dev/null @@ -1,409 +0,0 @@ - - - - - - -data_structures::tree_234::Tree234::RemovePreMerge - - -Node1 - - -data_structures::tree -_234::Tree234::RemovePreMerge - - - - - -Node2 - - -data_structures::tree -_234::Tree234::GetTreeMaxItem - - - - - -Node1->Node2 - - - - - - - - -Node5 - - -data_structures::tree -_234::Tree234::GetTreeMinItem - - - - - -Node1->Node5 - - - - - - - - -Node8 - - -data_structures::tree -_234::Node::Is2Node - - - - - -Node1->Node8 - - - - - - - - -Node9 - - -data_structures::tree -_234::Node::Is34Node - - - - - -Node1->Node9 - - - - - - - - -Node10 - - -data_structures::tree -_234::Tree234::LeftRotate - - - - - -Node1->Node10 - - - - - - - - -Node11 - - -data_structures::tree -_234::Tree234::Merge - - - - - -Node1->Node11 - - - - - - - - -Node17 - - -data_structures::tree -_234::Tree234::RightRotate - - - - - -Node1->Node17 - - - - - - - - -Node18 - - -data_structures::tree -_234::Tree234::TryLeftRotate - - - - - -Node1->Node18 - - - - - - - - -Node19 - - -data_structures::tree -_234::Tree234::TryRightRotate - - - - - -Node1->Node19 - - - - - - - - -Node3 - - -data_structures::tree -_234::Node::GetMaxItem - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -data_structures::tree -_234::Node::GetRightmostChild - - - - - -Node2->Node4 - - - - - - - - -Node6 - - -data_structures::tree -_234::Node::GetLeftmostChild - - - - - -Node5->Node6 - - - - - - - - -Node7 - - -data_structures::tree -_234::Node::GetMinItem - - - - - -Node5->Node7 - - - - - - - - -Node11->Node8 - - - - - - - - -Node12 - - -data_structures::tree -_234::Node::GetChild - - - - - -Node11->Node12 - - - - - - - - -Node13 - - -data_structures::tree -_234::Node::GetItem - - - - - -Node11->Node13 - - - - - - - - -Node14 - - -data_structures::tree -_234::Node::SetChild - - - - - -Node11->Node14 - - - - - - - - -Node15 - - -data_structures::tree -_234::Node::SetCount - - - - - -Node11->Node15 - - - - - - - - -Node16 - - -data_structures::tree -_234::Node::SetItem - - - - - -Node11->Node16 - - - - - - - - -Node18->Node8 - - - - - - - - -Node18->Node10 - - - - - - - - -Node19->Node8 - - - - - - - - -Node19->Node17 - - - - - - - - diff --git a/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a65a1235659356166a3e9b451c64fcc36_cgraph.map b/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a65a1235659356166a3e9b451c64fcc36_cgraph.map deleted file mode 100644 index e2d54c74f..000000000 --- a/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a65a1235659356166a3e9b451c64fcc36_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a65a1235659356166a3e9b451c64fcc36_cgraph.md5 b/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a65a1235659356166a3e9b451c64fcc36_cgraph.md5 deleted file mode 100644 index 07c9dd1e8..000000000 --- a/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a65a1235659356166a3e9b451c64fcc36_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -9074ed9a9a5d19235d16d1f2d07eb74f \ No newline at end of file diff --git a/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a65a1235659356166a3e9b451c64fcc36_cgraph.svg b/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a65a1235659356166a3e9b451c64fcc36_cgraph.svg deleted file mode 100644 index 9b055984c..000000000 --- a/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a65a1235659356166a3e9b451c64fcc36_cgraph.svg +++ /dev/null @@ -1,86 +0,0 @@ - - - - - - - - - - - - -data_structures::tree_234::Tree234::GetTreeMinItem - - -Node1 - - -data_structures::tree -_234::Tree234::GetTreeMinItem - - - - - -Node2 - - -data_structures::tree -_234::Node::GetLeftmostChild - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -data_structures::tree -_234::Node::GetMinItem - - - - - -Node1->Node3 - - - - - - - - - - - - - diff --git a/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a65a1235659356166a3e9b451c64fcc36_cgraph_org.svg b/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a65a1235659356166a3e9b451c64fcc36_cgraph_org.svg deleted file mode 100644 index 3ed9216f5..000000000 --- a/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a65a1235659356166a3e9b451c64fcc36_cgraph_org.svg +++ /dev/null @@ -1,60 +0,0 @@ - - - - - - -data_structures::tree_234::Tree234::GetTreeMinItem - - -Node1 - - -data_structures::tree -_234::Tree234::GetTreeMinItem - - - - - -Node2 - - -data_structures::tree -_234::Node::GetLeftmostChild - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -data_structures::tree -_234::Node::GetMinItem - - - - - -Node1->Node3 - - - - - - - - diff --git a/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a6749ebb40710c9752a2771eda03c6b3e_cgraph.map b/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a6749ebb40710c9752a2771eda03c6b3e_cgraph.map deleted file mode 100644 index 1f163470f..000000000 --- a/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a6749ebb40710c9752a2771eda03c6b3e_cgraph.map +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - diff --git a/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a6749ebb40710c9752a2771eda03c6b3e_cgraph.md5 b/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a6749ebb40710c9752a2771eda03c6b3e_cgraph.md5 deleted file mode 100644 index 33b3ede1c..000000000 --- a/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a6749ebb40710c9752a2771eda03c6b3e_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -bbc7abb032bc1f6b9ea5e314dcae3710 \ No newline at end of file diff --git a/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a6749ebb40710c9752a2771eda03c6b3e_cgraph.svg b/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a6749ebb40710c9752a2771eda03c6b3e_cgraph.svg deleted file mode 100644 index bf88323c8..000000000 --- a/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a6749ebb40710c9752a2771eda03c6b3e_cgraph.svg +++ /dev/null @@ -1,284 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -data_structures::tree_234::Tree234::Insert - - -Node1 - - -data_structures::tree -_234::Tree234::Insert - - - - - -Node2 - - -data_structures::tree -_234::Tree234::InsertPreSplit - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::unique_ptr::get - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -data_structures::tree -_234::Tree234::MergeNodeNotFull - - - - - -Node2->Node4 - - - - - - - - -Node10 - - -data_structures::tree -_234::Tree234::SplitNode - - - - - -Node2->Node10 - - - - - - - - -Node5 - - -data_structures::tree -_234::Node::InsertItem - - - - - -Node4->Node5 - - - - - - - - -Node8 - - -data_structures::tree -_234::Node::IsFull - - - - - -Node4->Node8 - - - - - - - - -Node9 - - -data_structures::tree -_234::Node::SetChild - - - - - -Node4->Node9 - - - - - - - - -Node6 - - -data_structures::tree -_234::Node::Contains - - - - - -Node5->Node6 - - - - - - - - -Node7 - - -data_structures::tree -_234::Node::InsertItemByIndex - - - - - -Node5->Node7 - - - - - - - - -Node5->Node8 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a6749ebb40710c9752a2771eda03c6b3e_cgraph_org.svg b/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a6749ebb40710c9752a2771eda03c6b3e_cgraph_org.svg deleted file mode 100644 index 632464989..000000000 --- a/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a6749ebb40710c9752a2771eda03c6b3e_cgraph_org.svg +++ /dev/null @@ -1,201 +0,0 @@ - - - - - - -data_structures::tree_234::Tree234::Insert - - -Node1 - - -data_structures::tree -_234::Tree234::Insert - - - - - -Node2 - - -data_structures::tree -_234::Tree234::InsertPreSplit - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::unique_ptr::get - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -data_structures::tree -_234::Tree234::MergeNodeNotFull - - - - - -Node2->Node4 - - - - - - - - -Node10 - - -data_structures::tree -_234::Tree234::SplitNode - - - - - -Node2->Node10 - - - - - - - - -Node5 - - -data_structures::tree -_234::Node::InsertItem - - - - - -Node4->Node5 - - - - - - - - -Node8 - - -data_structures::tree -_234::Node::IsFull - - - - - -Node4->Node8 - - - - - - - - -Node9 - - -data_structures::tree -_234::Node::SetChild - - - - - -Node4->Node9 - - - - - - - - -Node6 - - -data_structures::tree -_234::Node::Contains - - - - - -Node5->Node6 - - - - - - - - -Node7 - - -data_structures::tree -_234::Node::InsertItemByIndex - - - - - -Node5->Node7 - - - - - - - - -Node5->Node8 - - - - - - - - diff --git a/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a84ab7b4fe7442b5e2eeed8c050bb86bd_cgraph.map b/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a84ab7b4fe7442b5e2eeed8c050bb86bd_cgraph.map deleted file mode 100644 index f4faa1a44..000000000 --- a/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a84ab7b4fe7442b5e2eeed8c050bb86bd_cgraph.map +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a84ab7b4fe7442b5e2eeed8c050bb86bd_cgraph.md5 b/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a84ab7b4fe7442b5e2eeed8c050bb86bd_cgraph.md5 deleted file mode 100644 index 427f1cff1..000000000 --- a/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a84ab7b4fe7442b5e2eeed8c050bb86bd_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -dd153d4fe98e898ddf769f35d6219caf \ No newline at end of file diff --git a/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a84ab7b4fe7442b5e2eeed8c050bb86bd_cgraph.svg b/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a84ab7b4fe7442b5e2eeed8c050bb86bd_cgraph.svg deleted file mode 100644 index d8f3c3ad7..000000000 --- a/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a84ab7b4fe7442b5e2eeed8c050bb86bd_cgraph.svg +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - - - - - - - -data_structures::tree_234::Tree234::Traverse - - -Node1 - - -data_structures::tree -_234::Tree234::Traverse - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a84ab7b4fe7442b5e2eeed8c050bb86bd_cgraph_org.svg b/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a84ab7b4fe7442b5e2eeed8c050bb86bd_cgraph_org.svg deleted file mode 100644 index 8967ac6ae..000000000 --- a/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a84ab7b4fe7442b5e2eeed8c050bb86bd_cgraph_org.svg +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - -data_structures::tree_234::Tree234::Traverse - - -Node1 - - -data_structures::tree -_234::Tree234::Traverse - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - diff --git a/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a936bb546e6a94d8b9d35b30ee1bb291a_cgraph.map b/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a936bb546e6a94d8b9d35b30ee1bb291a_cgraph.map deleted file mode 100644 index 75a915073..000000000 --- a/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a936bb546e6a94d8b9d35b30ee1bb291a_cgraph.map +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a936bb546e6a94d8b9d35b30ee1bb291a_cgraph.md5 b/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a936bb546e6a94d8b9d35b30ee1bb291a_cgraph.md5 deleted file mode 100644 index d385e9bdb..000000000 --- a/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a936bb546e6a94d8b9d35b30ee1bb291a_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -5756177b9ccf1107bdc758311e006fee \ No newline at end of file diff --git a/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a936bb546e6a94d8b9d35b30ee1bb291a_cgraph.svg b/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a936bb546e6a94d8b9d35b30ee1bb291a_cgraph.svg deleted file mode 100644 index 4c542d33b..000000000 --- a/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a936bb546e6a94d8b9d35b30ee1bb291a_cgraph.svg +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - - - - - - - -data_structures::tree_234::Tree234::Traverse - - -Node1 - - -data_structures::tree -_234::Tree234::Traverse - - - - - -Node2 - - -data_structures::tree -_234::Tree234::Traverse - - - - - -Node1->Node2 - - - - - - - - -Node2->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node2->Node3 - - - - - - - - - - - - - diff --git a/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a936bb546e6a94d8b9d35b30ee1bb291a_cgraph_org.svg b/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a936bb546e6a94d8b9d35b30ee1bb291a_cgraph_org.svg deleted file mode 100644 index 200eea697..000000000 --- a/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_a936bb546e6a94d8b9d35b30ee1bb291a_cgraph_org.svg +++ /dev/null @@ -1,68 +0,0 @@ - - - - - - -data_structures::tree_234::Tree234::Traverse - - -Node1 - - -data_structures::tree -_234::Tree234::Traverse - - - - - -Node2 - - -data_structures::tree -_234::Tree234::Traverse - - - - - -Node1->Node2 - - - - - - - - -Node2->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node2->Node3 - - - - - - - - diff --git a/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_aa7e5e00033f38006a224f30bdbf3f703_cgraph.map b/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_aa7e5e00033f38006a224f30bdbf3f703_cgraph.map deleted file mode 100644 index 33f7086b7..000000000 --- a/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_aa7e5e00033f38006a224f30bdbf3f703_cgraph.map +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_aa7e5e00033f38006a224f30bdbf3f703_cgraph.md5 b/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_aa7e5e00033f38006a224f30bdbf3f703_cgraph.md5 deleted file mode 100644 index 599033112..000000000 --- a/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_aa7e5e00033f38006a224f30bdbf3f703_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -f21f766569699841c7124b147916060b \ No newline at end of file diff --git a/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_aa7e5e00033f38006a224f30bdbf3f703_cgraph.svg b/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_aa7e5e00033f38006a224f30bdbf3f703_cgraph.svg deleted file mode 100644 index c0c0c8311..000000000 --- a/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_aa7e5e00033f38006a224f30bdbf3f703_cgraph.svg +++ /dev/null @@ -1,303 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -data_structures::tree_234::Tree234::InsertPostMerge - - -Node1 - - -data_structures::tree -_234::Tree234::InsertPostMerge - - - - - -Node2 - - -data_structures::tree -_234::Tree234::Insert - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -data_structures::tree -_234::Tree234::InsertPreSplit - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::unique_ptr::get - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -data_structures::tree -_234::Tree234::MergeNodeNotFull - - - - - -Node3->Node5 - - - - - - - - -Node11 - - -data_structures::tree -_234::Tree234::SplitNode - - - - - -Node3->Node11 - - - - - - - - -Node6 - - -data_structures::tree -_234::Node::InsertItem - - - - - -Node5->Node6 - - - - - - - - -Node9 - - -data_structures::tree -_234::Node::IsFull - - - - - -Node5->Node9 - - - - - - - - -Node10 - - -data_structures::tree -_234::Node::SetChild - - - - - -Node5->Node10 - - - - - - - - -Node7 - - -data_structures::tree -_234::Node::Contains - - - - - -Node6->Node7 - - - - - - - - -Node8 - - -data_structures::tree -_234::Node::InsertItemByIndex - - - - - -Node6->Node8 - - - - - - - - -Node6->Node9 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_aa7e5e00033f38006a224f30bdbf3f703_cgraph_org.svg b/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_aa7e5e00033f38006a224f30bdbf3f703_cgraph_org.svg deleted file mode 100644 index b7e6f4dc8..000000000 --- a/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_aa7e5e00033f38006a224f30bdbf3f703_cgraph_org.svg +++ /dev/null @@ -1,220 +0,0 @@ - - - - - - -data_structures::tree_234::Tree234::InsertPostMerge - - -Node1 - - -data_structures::tree -_234::Tree234::InsertPostMerge - - - - - -Node2 - - -data_structures::tree -_234::Tree234::Insert - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -data_structures::tree -_234::Tree234::InsertPreSplit - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::unique_ptr::get - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -data_structures::tree -_234::Tree234::MergeNodeNotFull - - - - - -Node3->Node5 - - - - - - - - -Node11 - - -data_structures::tree -_234::Tree234::SplitNode - - - - - -Node3->Node11 - - - - - - - - -Node6 - - -data_structures::tree -_234::Node::InsertItem - - - - - -Node5->Node6 - - - - - - - - -Node9 - - -data_structures::tree -_234::Node::IsFull - - - - - -Node5->Node9 - - - - - - - - -Node10 - - -data_structures::tree -_234::Node::SetChild - - - - - -Node5->Node10 - - - - - - - - -Node7 - - -data_structures::tree -_234::Node::Contains - - - - - -Node6->Node7 - - - - - - - - -Node8 - - -data_structures::tree -_234::Node::InsertItemByIndex - - - - - -Node6->Node8 - - - - - - - - -Node6->Node9 - - - - - - - - diff --git a/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_ac5361479dd996eb331759f33808657d9_cgraph.map b/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_ac5361479dd996eb331759f33808657d9_cgraph.map deleted file mode 100644 index 5f1191fda..000000000 --- a/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_ac5361479dd996eb331759f33808657d9_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_ac5361479dd996eb331759f33808657d9_cgraph.md5 b/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_ac5361479dd996eb331759f33808657d9_cgraph.md5 deleted file mode 100644 index 7b13f6b72..000000000 --- a/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_ac5361479dd996eb331759f33808657d9_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -fbd3fe83281ab5301e01abc4b25978b0 \ No newline at end of file diff --git a/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_ac5361479dd996eb331759f33808657d9_cgraph.svg b/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_ac5361479dd996eb331759f33808657d9_cgraph.svg deleted file mode 100644 index cbac1e75b..000000000 --- a/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_ac5361479dd996eb331759f33808657d9_cgraph.svg +++ /dev/null @@ -1,86 +0,0 @@ - - - - - - - - - - - - -data_structures::tree_234::Tree234::TryLeftRotate - - -Node1 - - -data_structures::tree -_234::Tree234::TryLeftRotate - - - - - -Node2 - - -data_structures::tree -_234::Node::Is2Node - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -data_structures::tree -_234::Tree234::LeftRotate - - - - - -Node1->Node3 - - - - - - - - - - - - - diff --git a/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_ac5361479dd996eb331759f33808657d9_cgraph_org.svg b/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_ac5361479dd996eb331759f33808657d9_cgraph_org.svg deleted file mode 100644 index 6660655ae..000000000 --- a/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_ac5361479dd996eb331759f33808657d9_cgraph_org.svg +++ /dev/null @@ -1,60 +0,0 @@ - - - - - - -data_structures::tree_234::Tree234::TryLeftRotate - - -Node1 - - -data_structures::tree -_234::Tree234::TryLeftRotate - - - - - -Node2 - - -data_structures::tree -_234::Node::Is2Node - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -data_structures::tree -_234::Tree234::LeftRotate - - - - - -Node1->Node3 - - - - - - - - diff --git a/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_ac85ba5abfd6d34dcd908b2afe6464657_cgraph.map b/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_ac85ba5abfd6d34dcd908b2afe6464657_cgraph.map deleted file mode 100644 index bfda9c61f..000000000 --- a/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_ac85ba5abfd6d34dcd908b2afe6464657_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_ac85ba5abfd6d34dcd908b2afe6464657_cgraph.md5 b/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_ac85ba5abfd6d34dcd908b2afe6464657_cgraph.md5 deleted file mode 100644 index b4912fca8..000000000 --- a/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_ac85ba5abfd6d34dcd908b2afe6464657_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -ab691c0c5776d7178d9a59d8ecf52d7f \ No newline at end of file diff --git a/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_ac85ba5abfd6d34dcd908b2afe6464657_cgraph.svg b/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_ac85ba5abfd6d34dcd908b2afe6464657_cgraph.svg deleted file mode 100644 index d9a8cf2c1..000000000 --- a/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_ac85ba5abfd6d34dcd908b2afe6464657_cgraph.svg +++ /dev/null @@ -1,86 +0,0 @@ - - - - - - - - - - - - -data_structures::tree_234::Tree234::GetTreeMaxItem - - -Node1 - - -data_structures::tree -_234::Tree234::GetTreeMaxItem - - - - - -Node2 - - -data_structures::tree -_234::Node::GetMaxItem - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -data_structures::tree -_234::Node::GetRightmostChild - - - - - -Node1->Node3 - - - - - - - - - - - - - diff --git a/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_ac85ba5abfd6d34dcd908b2afe6464657_cgraph_org.svg b/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_ac85ba5abfd6d34dcd908b2afe6464657_cgraph_org.svg deleted file mode 100644 index 5b1e05fe0..000000000 --- a/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_ac85ba5abfd6d34dcd908b2afe6464657_cgraph_org.svg +++ /dev/null @@ -1,60 +0,0 @@ - - - - - - -data_structures::tree_234::Tree234::GetTreeMaxItem - - -Node1 - - -data_structures::tree -_234::Tree234::GetTreeMaxItem - - - - - -Node2 - - -data_structures::tree -_234::Node::GetMaxItem - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -data_structures::tree -_234::Node::GetRightmostChild - - - - - -Node1->Node3 - - - - - - - - diff --git a/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_ad37e29e2a4a6cc0eb65cbd5595e1da95_cgraph.map b/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_ad37e29e2a4a6cc0eb65cbd5595e1da95_cgraph.map deleted file mode 100644 index cc0202a51..000000000 --- a/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_ad37e29e2a4a6cc0eb65cbd5595e1da95_cgraph.map +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - - - - - diff --git a/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_ad37e29e2a4a6cc0eb65cbd5595e1da95_cgraph.md5 b/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_ad37e29e2a4a6cc0eb65cbd5595e1da95_cgraph.md5 deleted file mode 100644 index 1da6d486a..000000000 --- a/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_ad37e29e2a4a6cc0eb65cbd5595e1da95_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -e3fcb2130cbbc81b17b50dc3f8127a22 \ No newline at end of file diff --git a/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_ad37e29e2a4a6cc0eb65cbd5595e1da95_cgraph.svg b/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_ad37e29e2a4a6cc0eb65cbd5595e1da95_cgraph.svg deleted file mode 100644 index 4511b25d0..000000000 --- a/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_ad37e29e2a4a6cc0eb65cbd5595e1da95_cgraph.svg +++ /dev/null @@ -1,209 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -data_structures::tree_234::Tree234::MergeNodeNotFull - - -Node1 - - -data_structures::tree -_234::Tree234::MergeNodeNotFull - - - - - -Node2 - - -data_structures::tree -_234::Node::InsertItem - - - - - -Node1->Node2 - - - - - - - - -Node5 - - -data_structures::tree -_234::Node::IsFull - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -data_structures::tree -_234::Node::SetChild - - - - - -Node1->Node6 - - - - - - - - -Node3 - - -data_structures::tree -_234::Node::Contains - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -data_structures::tree -_234::Node::InsertItemByIndex - - - - - -Node2->Node4 - - - - - - - - -Node2->Node5 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_ad37e29e2a4a6cc0eb65cbd5595e1da95_cgraph_org.svg b/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_ad37e29e2a4a6cc0eb65cbd5595e1da95_cgraph_org.svg deleted file mode 100644 index 5b5fa594f..000000000 --- a/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_ad37e29e2a4a6cc0eb65cbd5595e1da95_cgraph_org.svg +++ /dev/null @@ -1,126 +0,0 @@ - - - - - - -data_structures::tree_234::Tree234::MergeNodeNotFull - - -Node1 - - -data_structures::tree -_234::Tree234::MergeNodeNotFull - - - - - -Node2 - - -data_structures::tree -_234::Node::InsertItem - - - - - -Node1->Node2 - - - - - - - - -Node5 - - -data_structures::tree -_234::Node::IsFull - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -data_structures::tree -_234::Node::SetChild - - - - - -Node1->Node6 - - - - - - - - -Node3 - - -data_structures::tree -_234::Node::Contains - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -data_structures::tree -_234::Node::InsertItemByIndex - - - - - -Node2->Node4 - - - - - - - - -Node2->Node5 - - - - - - - - diff --git a/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_aec0642d1d151521ca7c70ea85cdb15d3_cgraph.map b/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_aec0642d1d151521ca7c70ea85cdb15d3_cgraph.map deleted file mode 100644 index 11f6c67cc..000000000 --- a/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_aec0642d1d151521ca7c70ea85cdb15d3_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_aec0642d1d151521ca7c70ea85cdb15d3_cgraph.md5 b/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_aec0642d1d151521ca7c70ea85cdb15d3_cgraph.md5 deleted file mode 100644 index 5312117aa..000000000 --- a/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_aec0642d1d151521ca7c70ea85cdb15d3_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -b9338704eef8044ca352036ace7081fb \ No newline at end of file diff --git a/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_aec0642d1d151521ca7c70ea85cdb15d3_cgraph.svg b/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_aec0642d1d151521ca7c70ea85cdb15d3_cgraph.svg deleted file mode 100644 index 9353c356a..000000000 --- a/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_aec0642d1d151521ca7c70ea85cdb15d3_cgraph.svg +++ /dev/null @@ -1,86 +0,0 @@ - - - - - - - - - - - - -data_structures::tree_234::Tree234::TryRightRotate - - -Node1 - - -data_structures::tree -_234::Tree234::TryRightRotate - - - - - -Node2 - - -data_structures::tree -_234::Node::Is2Node - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -data_structures::tree -_234::Tree234::RightRotate - - - - - -Node1->Node3 - - - - - - - - - - - - - diff --git a/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_aec0642d1d151521ca7c70ea85cdb15d3_cgraph_org.svg b/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_aec0642d1d151521ca7c70ea85cdb15d3_cgraph_org.svg deleted file mode 100644 index 6daa70f32..000000000 --- a/d3/d95/classdata__structures_1_1tree__234_1_1_tree234_aec0642d1d151521ca7c70ea85cdb15d3_cgraph_org.svg +++ /dev/null @@ -1,60 +0,0 @@ - - - - - - -data_structures::tree_234::Tree234::TryRightRotate - - -Node1 - - -data_structures::tree -_234::Tree234::TryRightRotate - - - - - -Node2 - - -data_structures::tree -_234::Node::Is2Node - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -data_structures::tree -_234::Tree234::RightRotate - - - - - -Node1->Node3 - - - - - - - - diff --git a/d3/d98/classmachine__learning_1_1neural__network_1_1layers_1_1_dense_layer-members.html b/d3/d98/classmachine__learning_1_1neural__network_1_1layers_1_1_dense_layer-members.html index 75d41dbd1..0fa249f49 100644 --- a/d3/d98/classmachine__learning_1_1neural__network_1_1layers_1_1_dense_layer-members.html +++ b/d3/d98/classmachine__learning_1_1neural__network_1_1layers_1_1_dense_layer-members.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Member List +TheAlgorithms/C++: Member List + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/d3/d9c/class_longest___substring-members.html b/d3/d9c/class_longest___substring-members.html index 85870d585..f0fc464bc 100644 --- a/d3/d9c/class_longest___substring-members.html +++ b/d3/d9c/class_longest___substring-members.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Member List +TheAlgorithms/C++: Member List + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/d3/d9f/classothers_1_1postfix__expression_1_1_stack-members.html b/d3/d9f/classothers_1_1postfix__expression_1_1_stack-members.html index 6eb998527..5ac4c813a 100644 --- a/d3/d9f/classothers_1_1postfix__expression_1_1_stack-members.html +++ b/d3/d9f/classothers_1_1postfix__expression_1_1_stack-members.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Member List +TheAlgorithms/C++: Member List + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/d3/da1/namespacen__queens.html b/d3/da1/namespacen__queens.html index fab7b4e95..69c4488fb 100644 --- a/d3/da1/namespacen__queens.html +++ b/d3/da1/namespacen__queens.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: n_queens Namespace Reference +TheAlgorithms/C++: n_queens Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/d3/da3/classstatistics_1_1stats__computer2-members.html b/d3/da3/classstatistics_1_1stats__computer2-members.html index 586d50827..bdb2fef08 100644 --- a/d3/da3/classstatistics_1_1stats__computer2-members.html +++ b/d3/da3/classstatistics_1_1stats__computer2-members.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Member List +TheAlgorithms/C++: Member List + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/d3/da3/structgeometry_1_1grahamscan_1_1_point-members.html b/d3/da3/structgeometry_1_1grahamscan_1_1_point-members.html index 8acbcd89d..d8dde7196 100644 --- a/d3/da3/structgeometry_1_1grahamscan_1_1_point-members.html +++ b/d3/da3/structgeometry_1_1grahamscan_1_1_point-members.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Member List +TheAlgorithms/C++: Member List + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/d3/da6/classbinary__search__tree__coll__graph.map b/d3/da6/classbinary__search__tree__coll__graph.map index 30396942b..3d6072529 100644 --- a/d3/da6/classbinary__search__tree__coll__graph.map +++ b/d3/da6/classbinary__search__tree__coll__graph.map @@ -1,12 +1,10 @@ - - - - - - - - - - + + + + + + + + diff --git a/d3/da6/classbinary__search__tree__coll__graph.md5 b/d3/da6/classbinary__search__tree__coll__graph.md5 index 18afeb956..b07aee5b1 100644 --- a/d3/da6/classbinary__search__tree__coll__graph.md5 +++ b/d3/da6/classbinary__search__tree__coll__graph.md5 @@ -1 +1 @@ -ff3ded2dfa555ac04d4557318afe8aea \ No newline at end of file +e5687e1d8e8d583f05fc35234e9360f5 \ No newline at end of file diff --git a/d3/da6/classbinary__search__tree__coll__graph.svg b/d3/da6/classbinary__search__tree__coll__graph.svg index ce4117668..717148a1a 100644 --- a/d3/da6/classbinary__search__tree__coll__graph.svg +++ b/d3/da6/classbinary__search__tree__coll__graph.svg @@ -4,8 +4,8 @@ - + @@ -23,18 +23,18 @@ Node1 - -binary_search_tree< T > + +binary_search_tree< T > Node2 - - -std::unique_ptr< binary -_search_tree::bst_node > + + +std::unique_ptr< binary +_search_tree::bst_node > @@ -42,19 +42,19 @@ Node2->Node1 - - + + - root_ + root_ Node3 - -binary_search_tree -< T >::bst_node + +binary_search_tree +< T >::bst_node @@ -62,29 +62,29 @@ Node2->Node3 - - + + - left -right + left +right Node3->Node2 - - + + - ptr + ptr Node4 - -T + +T @@ -92,30 +92,11 @@ Node4->Node3 - - + + - value - - - -Node5 - - -std::size_t - - - - - -Node5->Node1 - - - - - - size_ + value diff --git a/d3/da6/classbinary__search__tree__coll__graph_org.svg b/d3/da6/classbinary__search__tree__coll__graph_org.svg index a459e62a6..eda153ebc 100644 --- a/d3/da6/classbinary__search__tree__coll__graph_org.svg +++ b/d3/da6/classbinary__search__tree__coll__graph_org.svg @@ -4,26 +4,26 @@ - + binary_search_tree< T > Node1 - -binary_search_tree< T > + +binary_search_tree< T > Node2 - - -std::unique_ptr< binary -_search_tree::bst_node > + + +std::unique_ptr< binary +_search_tree::bst_node > @@ -31,19 +31,19 @@ Node2->Node1 - - + + - root_ + root_ Node3 - -binary_search_tree -< T >::bst_node + +binary_search_tree +< T >::bst_node @@ -51,29 +51,29 @@ Node2->Node3 - - + + - left -right + left +right Node3->Node2 - - + + - ptr + ptr Node4 - -T + +T @@ -81,30 +81,11 @@ Node4->Node3 - - + + - value - - - -Node5 - - -std::size_t - - - - - -Node5->Node1 - - - - - - size_ + value diff --git a/d3/daa/structdata__structures_1_1sparse__table_1_1_sparse__table__coll__graph.map b/d3/daa/structdata__structures_1_1sparse__table_1_1_sparse__table__coll__graph.map index 7a704130c..ef5ad855b 100644 --- a/d3/daa/structdata__structures_1_1sparse__table_1_1_sparse__table__coll__graph.map +++ b/d3/daa/structdata__structures_1_1sparse__table_1_1_sparse__table__coll__graph.map @@ -1,10 +1,8 @@ - - - - - - - - + + + + + + diff --git a/d3/daa/structdata__structures_1_1sparse__table_1_1_sparse__table__coll__graph.md5 b/d3/daa/structdata__structures_1_1sparse__table_1_1_sparse__table__coll__graph.md5 index 785967f9e..b745f8626 100644 --- a/d3/daa/structdata__structures_1_1sparse__table_1_1_sparse__table__coll__graph.md5 +++ b/d3/daa/structdata__structures_1_1sparse__table_1_1_sparse__table__coll__graph.md5 @@ -1 +1 @@ -2896309b56d557019c7b0406773e928b \ No newline at end of file +dc3f886e4e584f5db23a82a4c0668541 \ No newline at end of file diff --git a/d3/daa/structdata__structures_1_1sparse__table_1_1_sparse__table__coll__graph.svg b/d3/daa/structdata__structures_1_1sparse__table_1_1_sparse__table__coll__graph.svg index 089a285d1..fe2bf9eef 100644 --- a/d3/daa/structdata__structures_1_1sparse__table_1_1_sparse__table__coll__graph.svg +++ b/d3/daa/structdata__structures_1_1sparse__table_1_1_sparse__table__coll__graph.svg @@ -4,8 +4,8 @@ - + @@ -17,7 +17,7 @@ ]]> - + data_structures::sparse_table::Sparse_table @@ -32,7 +32,7 @@ Node2 - + std::array< int64_t, N > @@ -49,49 +49,30 @@ A LOG - - -Node4 - + + +Node3 + std::array< std::array < int64_t, N >, M > - - -Node2->Node4 - + + +Node2->Node3 + elements - - -Node3 - - -std::int64_t - - - - - -Node3->Node2 - - - - - - elements - - - -Node4->Node1 - + + +Node3->Node1 + diff --git a/d3/daa/structdata__structures_1_1sparse__table_1_1_sparse__table__coll__graph_org.svg b/d3/daa/structdata__structures_1_1sparse__table_1_1_sparse__table__coll__graph_org.svg index 9730ee997..73fcfbc77 100644 --- a/d3/daa/structdata__structures_1_1sparse__table_1_1_sparse__table__coll__graph_org.svg +++ b/d3/daa/structdata__structures_1_1sparse__table_1_1_sparse__table__coll__graph_org.svg @@ -4,9 +4,9 @@ - - + + data_structures::sparse_table::Sparse_table @@ -21,7 +21,7 @@ Node2 - + std::array< int64_t, N > @@ -38,49 +38,30 @@ A LOG - - -Node4 - + + +Node3 + std::array< std::array < int64_t, N >, M > - - -Node2->Node4 - + + +Node2->Node3 + elements - - -Node3 - - -std::int64_t - - - - - -Node3->Node2 - - - - - - elements - - - -Node4->Node1 - + + +Node3->Node1 + diff --git a/d3/dae/dsu__path__compression_8cpp.html b/d3/dae/dsu__path__compression_8cpp.html index 27184a475..9d07b0197 100644 --- a/d3/dae/dsu__path__compression_8cpp.html +++ b/d3/dae/dsu__path__compression_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: data_structures/dsu_path_compression.cpp File Reference +TheAlgorithms/C++: data_structures/dsu_path_compression.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + @@ -122,7 +139,9 @@ Include dependency graph for dsu_path_compression.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -146,6 +165,8 @@ Functions

    It is a very powerful data structure that keeps track of different clusters(sets) of elements, these sets are disjoint(doesnot have a common element). Disjoint sets uses cases : for finding connected components in a graph, used in Kruskal's algorithm for finding Minimum Spanning tree. Operations that can be performed: 1) UnionSet(i,j): add(element i and j to the set) 2) findSet(i): returns the representative of the set to which i belogngs to. 3) get_max(i),get_min(i) : returns the maximum and minimum Below is the class-based approach which uses the heuristic of path compression. Using path compression in findSet(i),we are able to get to the representative of i in O(1) time.

    Author
    AayushVyasKIIT
    See also
    dsu_union_rank.cpp
    + +

    Definition in file dsu_path_compression.cpp.

    Function Documentation

    ◆ main()

    @@ -166,24 +187,21 @@ element). Disjoint sets uses cases : for finding connected components in a graph
    Returns
    0 on exit

    < number of items

    < object of class disjoint sets

    + +

    Definition at line 206 of file dsu_path_compression.cpp.

    206 {
    -
    207 uint64_t n = 10; ///< number of items
    -
    208 dsu d(n + 1); ///< object of class disjoint sets
    +
    207 uint64_t n = 10;
    +
    208 dsu d(n + 1);
    209
    210 test1(); // run 1st test case
    211 test2(); // run 2nd test case
    212
    213 return 0;
    214}
    -
    Disjoint sets union data structure, class based representation.
    Definition dsu_path_compression.cpp:34
    -
    static void test2()
    Self-implementations, 2nd test.
    Definition dsu_path_compression.cpp:187
    -
    static void test1()
    Self-test implementations, 1st test.
    Definition dsu_path_compression.cpp:170
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    Disjoint sets union data structure, class based representation.
    +
    static void test2()
    Self-implementations, 2nd test.
    +
    static void test1()
    Self-test implementations, 1st test.
    + @@ -213,28 +231,23 @@ Here is the call graph for this function:
    Returns
    void

    < number of items

    < object of class disjoint sets

    + +

    Definition at line 170 of file dsu_path_compression.cpp.

    170 {
    171 // the minimum, maximum, and size of the set
    -
    172 uint64_t n = 10; ///< number of items
    -
    173 dsu d(n + 1); ///< object of class disjoint sets
    +
    172 uint64_t n = 10;
    +
    173 dsu d(n + 1);
    174 // set 1
    175 d.UnionSet(1, 2); // performs union operation on 1 and 2
    176 d.UnionSet(1, 4); // performs union operation on 1 and 4
    -
    177 vector<uint64_t> ans = {1, 4, 3};
    +
    177 vector<uint64_t> ans = {1, 4, 3};
    178 for (uint64_t i = 0; i < ans.size(); i++) {
    179 assert(d.get(4).at(i) == ans[i]); // makes sure algorithm works fine
    180 }
    -
    181 cout << "1st test passed!" << endl;
    +
    181 cout << "1st test passed!" << endl;
    182}
    - -
    #define endl
    Definition matrix_exponentiation.cpp:36
    - -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    #define endl
    + @@ -264,26 +277,23 @@ Here is the call graph for this function:
    Returns
    void

    < number of items

    < object of class disjoint sets

    + +

    Definition at line 187 of file dsu_path_compression.cpp.

    187 {
    188 // the minimum, maximum, and size of the set
    -
    189 uint64_t n = 10; ///< number of items
    -
    190 dsu d(n + 1); ///< object of class disjoint sets
    +
    189 uint64_t n = 10;
    +
    190 dsu d(n + 1);
    191 // set 1
    192 d.UnionSet(3, 5);
    193 d.UnionSet(5, 6);
    194 d.UnionSet(5, 7);
    -
    195 vector<uint64_t> ans = {3, 7, 4};
    +
    195 vector<uint64_t> ans = {3, 7, 4};
    196 for (uint64_t i = 0; i < ans.size(); i++) {
    197 assert(d.get(3).at(i) == ans[i]); // makes sure algorithm works fine
    198 }
    -
    199 cout << "2nd test passed!" << endl;
    +
    199 cout << "2nd test passed!" << endl;
    200}
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + diff --git a/d3/dae/dsu__path__compression_8cpp_a45d94ead4cf4e1ff9f87c38bc99f59ae_cgraph.map b/d3/dae/dsu__path__compression_8cpp_a45d94ead4cf4e1ff9f87c38bc99f59ae_cgraph.map deleted file mode 100644 index 608797aa9..000000000 --- a/d3/dae/dsu__path__compression_8cpp_a45d94ead4cf4e1ff9f87c38bc99f59ae_cgraph.map +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d3/dae/dsu__path__compression_8cpp_a45d94ead4cf4e1ff9f87c38bc99f59ae_cgraph.md5 b/d3/dae/dsu__path__compression_8cpp_a45d94ead4cf4e1ff9f87c38bc99f59ae_cgraph.md5 deleted file mode 100644 index 6a9ede4ca..000000000 --- a/d3/dae/dsu__path__compression_8cpp_a45d94ead4cf4e1ff9f87c38bc99f59ae_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -8cd3cfacef1c102f7424cb9f65c51fef \ No newline at end of file diff --git a/d3/dae/dsu__path__compression_8cpp_a45d94ead4cf4e1ff9f87c38bc99f59ae_cgraph.svg b/d3/dae/dsu__path__compression_8cpp_a45d94ead4cf4e1ff9f87c38bc99f59ae_cgraph.svg deleted file mode 100644 index 1194dcaa2..000000000 --- a/d3/dae/dsu__path__compression_8cpp_a45d94ead4cf4e1ff9f87c38bc99f59ae_cgraph.svg +++ /dev/null @@ -1,272 +0,0 @@ - - - - - - - - - - - - -test2 - - -Node1 - - -test2 - - - - - -Node2 - - -dsu::get - - - - - -Node1->Node2 - - - - - - - - -Node7 - - -dsu::UnionSet - - - - - -Node1->Node7 - - - - - - - - -Node3 - - -dsu::get_max - - - - - -Node2->Node3 - - - - - - - - -Node5 - - -dsu::get_min - - - - - -Node2->Node5 - - - - - - - - -Node6 - - -dsu::size - - - - - -Node2->Node6 - - - - - - - - -Node4 - - -dsu::findSet - - - - - -Node3->Node4 - - - - - - - - -Node4->Node4 - - - - - - - - -Node5->Node4 - - - - - - - - -Node6->Node4 - - - - - - - - -Node7->Node4 - - - - - - - - -Node8 - - -dsu::isSame - - - - - -Node7->Node8 - - - - - - - - -Node9 - - -std::max - - - - - -Node7->Node9 - - - - - - - - -Node10 - - -std::min - - - - - -Node7->Node10 - - - - - - - - -Node11 - - -std::swap - - - - - -Node7->Node11 - - - - - - - - -Node8->Node4 - - - - - - - - - - - - - diff --git a/d3/dae/dsu__path__compression_8cpp_a45d94ead4cf4e1ff9f87c38bc99f59ae_cgraph_org.svg b/d3/dae/dsu__path__compression_8cpp_a45d94ead4cf4e1ff9f87c38bc99f59ae_cgraph_org.svg deleted file mode 100644 index 4b339c6be..000000000 --- a/d3/dae/dsu__path__compression_8cpp_a45d94ead4cf4e1ff9f87c38bc99f59ae_cgraph_org.svg +++ /dev/null @@ -1,246 +0,0 @@ - - - - - - -test2 - - -Node1 - - -test2 - - - - - -Node2 - - -dsu::get - - - - - -Node1->Node2 - - - - - - - - -Node7 - - -dsu::UnionSet - - - - - -Node1->Node7 - - - - - - - - -Node3 - - -dsu::get_max - - - - - -Node2->Node3 - - - - - - - - -Node5 - - -dsu::get_min - - - - - -Node2->Node5 - - - - - - - - -Node6 - - -dsu::size - - - - - -Node2->Node6 - - - - - - - - -Node4 - - -dsu::findSet - - - - - -Node3->Node4 - - - - - - - - -Node4->Node4 - - - - - - - - -Node5->Node4 - - - - - - - - -Node6->Node4 - - - - - - - - -Node7->Node4 - - - - - - - - -Node8 - - -dsu::isSame - - - - - -Node7->Node8 - - - - - - - - -Node9 - - -std::max - - - - - -Node7->Node9 - - - - - - - - -Node10 - - -std::min - - - - - -Node7->Node10 - - - - - - - - -Node11 - - -std::swap - - - - - -Node7->Node11 - - - - - - - - -Node8->Node4 - - - - - - - - diff --git a/d3/dae/dsu__path__compression_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d3/dae/dsu__path__compression_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 3681f27c6..000000000 --- a/d3/dae/dsu__path__compression_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d3/dae/dsu__path__compression_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d3/dae/dsu__path__compression_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index baab57f8a..000000000 --- a/d3/dae/dsu__path__compression_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -c77bb4e5ca7dce7480d4b794ee20bfef \ No newline at end of file diff --git a/d3/dae/dsu__path__compression_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d3/dae/dsu__path__compression_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index f0b7b5201..000000000 --- a/d3/dae/dsu__path__compression_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,326 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test1 - - - - - -Node1->Node2 - - - - - - - - -Node13 - - -test2 - - - - - -Node1->Node13 - - - - - - - - -Node3 - - -dsu::get - - - - - -Node2->Node3 - - - - - - - - -Node8 - - -dsu::UnionSet - - - - - -Node2->Node8 - - - - - - - - -Node4 - - -dsu::get_max - - - - - -Node3->Node4 - - - - - - - - -Node6 - - -dsu::get_min - - - - - -Node3->Node6 - - - - - - - - -Node7 - - -dsu::size - - - - - -Node3->Node7 - - - - - - - - -Node5 - - -dsu::findSet - - - - - -Node4->Node5 - - - - - - - - -Node5->Node5 - - - - - - - - -Node6->Node5 - - - - - - - - -Node7->Node5 - - - - - - - - -Node8->Node5 - - - - - - - - -Node9 - - -dsu::isSame - - - - - -Node8->Node9 - - - - - - - - -Node10 - - -std::max - - - - - -Node8->Node10 - - - - - - - - -Node11 - - -std::min - - - - - -Node8->Node11 - - - - - - - - -Node12 - - -std::swap - - - - - -Node8->Node12 - - - - - - - - -Node9->Node5 - - - - - - - - -Node13->Node3 - - - - - - - - -Node13->Node8 - - - - - - - - - - - - - diff --git a/d3/dae/dsu__path__compression_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d3/dae/dsu__path__compression_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 29d2a131a..000000000 --- a/d3/dae/dsu__path__compression_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,300 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test1 - - - - - -Node1->Node2 - - - - - - - - -Node13 - - -test2 - - - - - -Node1->Node13 - - - - - - - - -Node3 - - -dsu::get - - - - - -Node2->Node3 - - - - - - - - -Node8 - - -dsu::UnionSet - - - - - -Node2->Node8 - - - - - - - - -Node4 - - -dsu::get_max - - - - - -Node3->Node4 - - - - - - - - -Node6 - - -dsu::get_min - - - - - -Node3->Node6 - - - - - - - - -Node7 - - -dsu::size - - - - - -Node3->Node7 - - - - - - - - -Node5 - - -dsu::findSet - - - - - -Node4->Node5 - - - - - - - - -Node5->Node5 - - - - - - - - -Node6->Node5 - - - - - - - - -Node7->Node5 - - - - - - - - -Node8->Node5 - - - - - - - - -Node9 - - -dsu::isSame - - - - - -Node8->Node9 - - - - - - - - -Node10 - - -std::max - - - - - -Node8->Node10 - - - - - - - - -Node11 - - -std::min - - - - - -Node8->Node11 - - - - - - - - -Node12 - - -std::swap - - - - - -Node8->Node12 - - - - - - - - -Node9->Node5 - - - - - - - - -Node13->Node3 - - - - - - - - -Node13->Node8 - - - - - - - - diff --git a/d3/dae/dsu__path__compression_8cpp_ae7880ce913f3058a35ff106d5be9e243_cgraph.map b/d3/dae/dsu__path__compression_8cpp_ae7880ce913f3058a35ff106d5be9e243_cgraph.map deleted file mode 100644 index 283945258..000000000 --- a/d3/dae/dsu__path__compression_8cpp_ae7880ce913f3058a35ff106d5be9e243_cgraph.map +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d3/dae/dsu__path__compression_8cpp_ae7880ce913f3058a35ff106d5be9e243_cgraph.md5 b/d3/dae/dsu__path__compression_8cpp_ae7880ce913f3058a35ff106d5be9e243_cgraph.md5 deleted file mode 100644 index 752b569f9..000000000 --- a/d3/dae/dsu__path__compression_8cpp_ae7880ce913f3058a35ff106d5be9e243_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -c234d8a5258bce82c70451816654c35f \ No newline at end of file diff --git a/d3/dae/dsu__path__compression_8cpp_ae7880ce913f3058a35ff106d5be9e243_cgraph.svg b/d3/dae/dsu__path__compression_8cpp_ae7880ce913f3058a35ff106d5be9e243_cgraph.svg deleted file mode 100644 index d965bf31e..000000000 --- a/d3/dae/dsu__path__compression_8cpp_ae7880ce913f3058a35ff106d5be9e243_cgraph.svg +++ /dev/null @@ -1,272 +0,0 @@ - - - - - - - - - - - - -test1 - - -Node1 - - -test1 - - - - - -Node2 - - -dsu::get - - - - - -Node1->Node2 - - - - - - - - -Node7 - - -dsu::UnionSet - - - - - -Node1->Node7 - - - - - - - - -Node3 - - -dsu::get_max - - - - - -Node2->Node3 - - - - - - - - -Node5 - - -dsu::get_min - - - - - -Node2->Node5 - - - - - - - - -Node6 - - -dsu::size - - - - - -Node2->Node6 - - - - - - - - -Node4 - - -dsu::findSet - - - - - -Node3->Node4 - - - - - - - - -Node4->Node4 - - - - - - - - -Node5->Node4 - - - - - - - - -Node6->Node4 - - - - - - - - -Node7->Node4 - - - - - - - - -Node8 - - -dsu::isSame - - - - - -Node7->Node8 - - - - - - - - -Node9 - - -std::max - - - - - -Node7->Node9 - - - - - - - - -Node10 - - -std::min - - - - - -Node7->Node10 - - - - - - - - -Node11 - - -std::swap - - - - - -Node7->Node11 - - - - - - - - -Node8->Node4 - - - - - - - - - - - - - diff --git a/d3/dae/dsu__path__compression_8cpp_ae7880ce913f3058a35ff106d5be9e243_cgraph_org.svg b/d3/dae/dsu__path__compression_8cpp_ae7880ce913f3058a35ff106d5be9e243_cgraph_org.svg deleted file mode 100644 index 25231443c..000000000 --- a/d3/dae/dsu__path__compression_8cpp_ae7880ce913f3058a35ff106d5be9e243_cgraph_org.svg +++ /dev/null @@ -1,246 +0,0 @@ - - - - - - -test1 - - -Node1 - - -test1 - - - - - -Node2 - - -dsu::get - - - - - -Node1->Node2 - - - - - - - - -Node7 - - -dsu::UnionSet - - - - - -Node1->Node7 - - - - - - - - -Node3 - - -dsu::get_max - - - - - -Node2->Node3 - - - - - - - - -Node5 - - -dsu::get_min - - - - - -Node2->Node5 - - - - - - - - -Node6 - - -dsu::size - - - - - -Node2->Node6 - - - - - - - - -Node4 - - -dsu::findSet - - - - - -Node3->Node4 - - - - - - - - -Node4->Node4 - - - - - - - - -Node5->Node4 - - - - - - - - -Node6->Node4 - - - - - - - - -Node7->Node4 - - - - - - - - -Node8 - - -dsu::isSame - - - - - -Node7->Node8 - - - - - - - - -Node9 - - -std::max - - - - - -Node7->Node9 - - - - - - - - -Node10 - - -std::min - - - - - -Node7->Node10 - - - - - - - - -Node11 - - -std::swap - - - - - -Node7->Node11 - - - - - - - - -Node8->Node4 - - - - - - - - diff --git a/d3/dae/dsu__path__compression_8cpp_source.html b/d3/dae/dsu__path__compression_8cpp_source.html new file mode 100644 index 000000000..ebe6ee515 --- /dev/null +++ b/d3/dae/dsu__path__compression_8cpp_source.html @@ -0,0 +1,292 @@ + + + + + + + + +TheAlgorithms/C++: data_structures/dsu_path_compression.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    +

    Classes

    class  dsu
    + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + + +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    dsu_path_compression.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    21#include <cassert>
    +
    22#include <cstdint>
    +
    23#include <iostream>
    +
    24#include <vector>
    +
    25
    +
    26using std::cout;
    +
    27using std::endl;
    +
    28using std::vector;
    +
    29
    +
    +
    34class dsu {
    +
    35 private:
    +
    36 vector<uint64_t> p;
    +
    37 vector<uint64_t> depth;
    +
    38 vector<uint64_t> setSize;
    +
    39 vector<uint64_t> maxElement;
    +
    40 vector<uint64_t> minElement;
    +
    41 public:
    +
    +
    46 explicit dsu(uint64_t n) {
    +
    47 p.assign(n, 0);
    +
    49 for (uint64_t i = 0; i < n; i++) {
    +
    50 p[i] = i;
    +
    51 }
    +
    53 depth.assign(n, 0);
    +
    54 maxElement.assign(n, 0);
    +
    55 minElement.assign(n, 0);
    +
    56 for (uint64_t i = 0; i < n; i++) {
    +
    57 depth[i] = 0;
    +
    58 maxElement[i] = i;
    +
    59 minElement[i] = i;
    +
    60 }
    +
    61 setSize.assign(n, 0);
    +
    63 for (uint64_t i = 0; i < n; i++) {
    +
    64 setSize[i] = 1;
    +
    65 }
    +
    66 }
    +
    +
    67
    +
    +
    74 uint64_t findSet(uint64_t i) {
    +
    76 if (p[i] == i) {
    +
    77 return i;
    +
    78 }
    +
    79 return (p[i] = findSet(p[i]));
    +
    80 }
    +
    +
    +
    88 void UnionSet(uint64_t i, uint64_t j) {
    +
    90 if (isSame(i, j)) {
    +
    91 return;
    +
    92 }
    +
    93
    +
    94 // we find the representative of the i and j
    +
    95 uint64_t x = findSet(i);
    +
    96 uint64_t y = findSet(j);
    +
    97
    +
    100 if (depth[x] > depth[y]) {
    +
    101 std::swap(x, y);
    +
    102 }
    +
    104 p[x] = y;
    +
    105
    +
    107 if (depth[x] == depth[y]) {
    +
    108 depth[y]++;
    +
    109 }
    +
    111 setSize[y] += setSize[x];
    +
    113 maxElement[y] = std::max(maxElement[x], maxElement[y]);
    +
    114 minElement[y] = std::min(minElement[x], minElement[y]);
    +
    115 }
    +
    +
    +
    124 bool isSame(uint64_t i, uint64_t j) {
    +
    125 if (findSet(i) == findSet(j)) {
    +
    126 return true;
    +
    127 }
    +
    128 return false;
    +
    129 }
    +
    +
    +
    136 vector<uint64_t> get(uint64_t i) {
    +
    137 vector<uint64_t> ans;
    +
    138 ans.push_back(get_min(i));
    +
    139 ans.push_back(get_max(i));
    +
    140 ans.push_back(size(i));
    +
    141 return ans;
    +
    142 }
    +
    +
    149 uint64_t size(uint64_t i) { return setSize[findSet(i)]; }
    +
    156 uint64_t get_max(uint64_t i) { return maxElement[findSet(i)]; }
    +
    163 uint64_t get_min(uint64_t i) { return minElement[findSet(i)]; }
    +
    164};
    +
    +
    165
    +
    +
    170static void test1() {
    +
    171 // the minimum, maximum, and size of the set
    +
    172 uint64_t n = 10;
    +
    173 dsu d(n + 1);
    +
    174 // set 1
    +
    175 d.UnionSet(1, 2); // performs union operation on 1 and 2
    +
    176 d.UnionSet(1, 4); // performs union operation on 1 and 4
    +
    177 vector<uint64_t> ans = {1, 4, 3};
    +
    178 for (uint64_t i = 0; i < ans.size(); i++) {
    +
    179 assert(d.get(4).at(i) == ans[i]); // makes sure algorithm works fine
    +
    180 }
    +
    181 cout << "1st test passed!" << endl;
    +
    182}
    +
    +
    +
    187static void test2() {
    +
    188 // the minimum, maximum, and size of the set
    +
    189 uint64_t n = 10;
    +
    190 dsu d(n + 1);
    +
    191 // set 1
    +
    192 d.UnionSet(3, 5);
    +
    193 d.UnionSet(5, 6);
    +
    194 d.UnionSet(5, 7);
    +
    195 vector<uint64_t> ans = {3, 7, 4};
    +
    196 for (uint64_t i = 0; i < ans.size(); i++) {
    +
    197 assert(d.get(3).at(i) == ans[i]); // makes sure algorithm works fine
    +
    198 }
    +
    199 cout << "2nd test passed!" << endl;
    +
    200}
    +
    +
    201
    +
    +
    206int main() {
    +
    207 uint64_t n = 10;
    +
    208 dsu d(n + 1);
    +
    209
    +
    210 test1(); // run 1st test case
    +
    211 test2(); // run 2nd test case
    +
    212
    +
    213 return 0;
    +
    214}
    +
    +
    Disjoint sets union data structure, class based representation.
    +
    vector< uint64_t > get(uint64_t i)
    prints the minimum, maximum and size of the set to which i belongs to
    +
    dsu(uint64_t n)
    contructor for initialising all data members.
    +
    uint64_t findSet(uint64_t i)
    Method to find the representative of the set to which i belongs to, T(n) = O(1)
    +
    uint64_t size(uint64_t i)
    A utility function that returns the size of the set to which i belongs to.
    +
    vector< uint64_t > minElement
    minimum of each set to which i belongs to
    +
    vector< uint64_t > p
    keeps track of the parent of ith element
    +
    vector< uint64_t > maxElement
    maximum of each set to which i belongs to
    +
    vector< uint64_t > depth
    tracks the depth(rank) of i in the tree
    +
    bool isSame(uint64_t i, uint64_t j)
    A utility function which check whether i and j belongs to same set or not.
    +
    uint64_t get_max(uint64_t i)
    A utility function that returns the max element of the set to which i belongs to.
    +
    void UnionSet(uint64_t i, uint64_t j)
    Method that combines two disjoint sets to which i and j belongs to and make a single set having a com...
    +
    vector< uint64_t > setSize
    size of each chunk(set)
    +
    uint64_t get_min(uint64_t i)
    A utility function that returns the min element of the set to which i belongs to.
    +
    static void test2()
    Self-implementations, 2nd test.
    +
    int main()
    Main function.
    +
    static void test1()
    Self-test implementations, 1st test.
    +
    #define endl
    +
    +
    + + + + diff --git a/d3/db0/namespacelinked__list.html b/d3/db0/namespacelinked__list.html index 32439570c..eaac3a5cb 100644 --- a/d3/db0/namespacelinked__list.html +++ b/d3/db0/namespacelinked__list.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: linked_list Namespace Reference +TheAlgorithms/C++: linked_list Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/d3/db2/boyer__moore_8cpp.html b/d3/db2/boyer__moore_8cpp.html index 0094ff01f..c74723f6d 100644 --- a/d3/db2/boyer__moore_8cpp.html +++ b/d3/db2/boyer__moore_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: strings/boyer_moore.cpp File Reference +TheAlgorithms/C++: strings/boyer_moore.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + @@ -126,7 +143,9 @@ Include dependency graph for boyer_moore.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -150,16 +169,16 @@ Macros

    Classes

    struct  strings::boyer_moore::pattern
    - + - + - + - + @@ -188,6 +207,8 @@ Functions

    [The bad character rule] (https://en.wikipedia.org/wiki/Boyer%E2%80%93Moore_string-search_algorithm#The_bad_character_rule)

    [The good suffix rule] (https://en.wikipedia.org/wiki/Boyer%E2%80%93Moore_string-search_algorithm#The_good_suffix_rule)

    The shift rules are implemented as constant-time table lookups, using tables generated during the preprocessing of P.

    Author
    Stoycho Kyosev
    + +

    Definition in file boyer_moore.cpp.

    Macro Definition Documentation

    ◆ APLHABET_SIZE

    @@ -202,7 +223,9 @@ Functions

    number of symbols in the alphabet we use

    -

    for assert for CHAR_MAX macro for strlen for IO operations for std::string for std::vector

    +

    for assert for CHAR_MAX macro for strlen for IO operations for std::string for std::vector

    + +

    Definition at line 52 of file boyer_moore.cpp.

    @@ -230,27 +253,22 @@ Functions
    Returns
    void
    + +

    Definition at line 220 of file boyer_moore.cpp.

    220 {
    - +
    223 std::vector<size_t> indexes = strings::boyer_moore::search(text, ands);
    224
    -
    225 assert(indexes.size() == 2);
    +
    225 assert(indexes.size() == 2);
    226 assert(strings::boyer_moore::is_prefix(text + indexes[0], "and", 3));
    227 assert(strings::boyer_moore::is_prefix(text + indexes[1], "and", 3));
    228}
    -
    bool is_prefix(const char *str, const char *pat, size_t len)
    Check if pat is prefix of str.
    Definition boyer_moore.cpp:200
    -
    void init_pattern(const std::string &str, pattern &arg)
    A function that initializes pattern.
    Definition boyer_moore.cpp:153
    -
    std::vector< size_t > search(const std::string &str, const pattern &arg)
    A function that implements Boyer-Moore's algorithm.
    Definition boyer_moore.cpp:165
    -
    T size(T... args)
    -
    A structure representing all the data we need to search the preprocessed pattern in text.
    Definition boyer_moore.cpp:70
    - -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    bool is_prefix(const char *str, const char *pat, size_t len)
    Check if pat is prefix of str.
    +
    void init_pattern(const std::string &str, pattern &arg)
    A function that initializes pattern.
    +
    std::vector< size_t > search(const std::string &str, const pattern &arg)
    A function that implements Boyer-Moore's algorithm.
    +
    A structure representing all the data we need to search the preprocessed pattern in text.
    + @@ -270,17 +288,14 @@ Here is the call graph for this function:

    Main function.

    Returns
    0 on exit
    + +

    Definition at line 269 of file boyer_moore.cpp.

    269 {
    270 tests(); // run self-test implementations
    271 return 0;
    272}
    -
    static void tests()
    Self-test implementations.
    Definition boyer_moore.cpp:250
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static void tests()
    Self-test implementations.
    + @@ -306,23 +321,20 @@ Here is the call graph for this function:
    Returns
    void
    + +

    Definition at line 235 of file boyer_moore.cpp.

    235 {
    - +
    238 std::vector<size_t> indexes = strings::boyer_moore::search(text, pat);
    239
    -
    240 assert(indexes.size() == 6);
    +
    240 assert(indexes.size() == 6);
    241
    242 for (const auto& currentIndex : indexes) {
    243 assert(strings::boyer_moore::is_prefix(text + currentIndex, "pat", 3));
    244 }
    245}
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -350,6 +362,8 @@ Here is the call graph for this function:

    Self-test implementations.

    Returns
    void
    + +

    Definition at line 250 of file boyer_moore.cpp.

    250 {
    251 const char* text =
    252 "When pat Mr. and Mrs. pat Dursley woke up on the dull, gray \
    @@ -362,17 +376,11 @@ Here is the call graph for this function:
    259 and_test(text);
    260 pat_test(text);
    261
    -
    262 std::cout << "All tests have successfully passed!\n";
    +
    262 std::cout << "All tests have successfully passed!\n";
    263}
    - -
    void pat_test(const char *text)
    A test case in which we search for every appearance of the word 'pat'.
    Definition boyer_moore.cpp:235
    -
    void and_test(const char *text)
    A test case in which we search for every appearance of the word 'and'.
    Definition boyer_moore.cpp:220
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    void pat_test(const char *text)
    A test case in which we search for every appearance of the word 'pat'.
    +
    void and_test(const char *text)
    A test case in which we search for every appearance of the word 'and'.
    + diff --git a/d3/db2/boyer__moore_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.map b/d3/db2/boyer__moore_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.map deleted file mode 100644 index cb5cf3fd0..000000000 --- a/d3/db2/boyer__moore_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.map +++ /dev/null @@ -1,36 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d3/db2/boyer__moore_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 b/d3/db2/boyer__moore_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 deleted file mode 100644 index 568a3a749..000000000 --- a/d3/db2/boyer__moore_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -4eb1653c59591f0ecd44126f66bf895d \ No newline at end of file diff --git a/d3/db2/boyer__moore_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.svg b/d3/db2/boyer__moore_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.svg deleted file mode 100644 index 5188e319b..000000000 --- a/d3/db2/boyer__moore_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.svg +++ /dev/null @@ -1,406 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -tests - - -Node1 - - -tests - - - - - -Node2 - - -and_test - - - - - -Node1->Node2 - - - - - - - - -Node13 - - -pat_test - - - - - -Node1->Node13 - - - - - - - - -Node3 - - -strings::boyer_moore -::init_pattern - - - - - -Node2->Node3 - - - - - - - - -Node8 - - -strings::boyer_moore -::is_prefix - - - - - -Node2->Node8 - - - - - - - - -Node9 - - -strings::boyer_moore -::search - - - - - -Node2->Node9 - - - - - - - - -Node12 - - -std::vector::size - - - - - -Node2->Node12 - - - - - - - - -Node4 - - -strings::boyer_moore -::init_bad_char - - - - - -Node3->Node4 - - - - - - - - -Node7 - - -strings::boyer_moore -::init_good_suffix - - - - - -Node3->Node7 - - - - - - - - -Node5 - - -std::string::length - - - - - -Node4->Node5 - - - - - - - - -Node6 - - -std::vector::resize - - - - - -Node4->Node6 - - - - - - - - -Node7->Node5 - - - - - - - - -Node7->Node5 - - - - - - - - -Node7->Node6 - - - - - - - - -Node9->Node5 - - - - - - - - -Node9->Node5 - - - - - - - - -Node10 - - -std::max - - - - - -Node9->Node10 - - - - - - - - -Node11 - - -std::vector::push_back - - - - - -Node9->Node11 - - - - - - - - -Node13->Node3 - - - - - - - - -Node13->Node8 - - - - - - - - -Node13->Node9 - - - - - - - - -Node13->Node12 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d3/db2/boyer__moore_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph_org.svg b/d3/db2/boyer__moore_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph_org.svg deleted file mode 100644 index 0eb9fa0d1..000000000 --- a/d3/db2/boyer__moore_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph_org.svg +++ /dev/null @@ -1,323 +0,0 @@ - - - - - - -tests - - -Node1 - - -tests - - - - - -Node2 - - -and_test - - - - - -Node1->Node2 - - - - - - - - -Node13 - - -pat_test - - - - - -Node1->Node13 - - - - - - - - -Node3 - - -strings::boyer_moore -::init_pattern - - - - - -Node2->Node3 - - - - - - - - -Node8 - - -strings::boyer_moore -::is_prefix - - - - - -Node2->Node8 - - - - - - - - -Node9 - - -strings::boyer_moore -::search - - - - - -Node2->Node9 - - - - - - - - -Node12 - - -std::vector::size - - - - - -Node2->Node12 - - - - - - - - -Node4 - - -strings::boyer_moore -::init_bad_char - - - - - -Node3->Node4 - - - - - - - - -Node7 - - -strings::boyer_moore -::init_good_suffix - - - - - -Node3->Node7 - - - - - - - - -Node5 - - -std::string::length - - - - - -Node4->Node5 - - - - - - - - -Node6 - - -std::vector::resize - - - - - -Node4->Node6 - - - - - - - - -Node7->Node5 - - - - - - - - -Node7->Node5 - - - - - - - - -Node7->Node6 - - - - - - - - -Node9->Node5 - - - - - - - - -Node9->Node5 - - - - - - - - -Node10 - - -std::max - - - - - -Node9->Node10 - - - - - - - - -Node11 - - -std::vector::push_back - - - - - -Node9->Node11 - - - - - - - - -Node13->Node3 - - - - - - - - -Node13->Node8 - - - - - - - - -Node13->Node9 - - - - - - - - -Node13->Node12 - - - - - - - - diff --git a/d3/db2/boyer__moore_8cpp_ac8fac0dd4b19973da103a434143a16d2_cgraph.map b/d3/db2/boyer__moore_8cpp_ac8fac0dd4b19973da103a434143a16d2_cgraph.map deleted file mode 100644 index c261b29c5..000000000 --- a/d3/db2/boyer__moore_8cpp_ac8fac0dd4b19973da103a434143a16d2_cgraph.map +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d3/db2/boyer__moore_8cpp_ac8fac0dd4b19973da103a434143a16d2_cgraph.md5 b/d3/db2/boyer__moore_8cpp_ac8fac0dd4b19973da103a434143a16d2_cgraph.md5 deleted file mode 100644 index 52585bc69..000000000 --- a/d3/db2/boyer__moore_8cpp_ac8fac0dd4b19973da103a434143a16d2_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -382f0c5d9378c7cbcf591c40e3a3a7db \ No newline at end of file diff --git a/d3/db2/boyer__moore_8cpp_ac8fac0dd4b19973da103a434143a16d2_cgraph.svg b/d3/db2/boyer__moore_8cpp_ac8fac0dd4b19973da103a434143a16d2_cgraph.svg deleted file mode 100644 index be05d1d3b..000000000 --- a/d3/db2/boyer__moore_8cpp_ac8fac0dd4b19973da103a434143a16d2_cgraph.svg +++ /dev/null @@ -1,277 +0,0 @@ - - - - - - - - - - - - -pat_test - - -Node1 - - -pat_test - - - - - -Node2 - - -strings::boyer_moore -::init_pattern - - - - - -Node1->Node2 - - - - - - - - -Node7 - - -strings::boyer_moore -::is_prefix - - - - - -Node1->Node7 - - - - - - - - -Node8 - - -strings::boyer_moore -::search - - - - - -Node1->Node8 - - - - - - - - -Node11 - - -std::vector::size - - - - - -Node1->Node11 - - - - - - - - -Node3 - - -strings::boyer_moore -::init_bad_char - - - - - -Node2->Node3 - - - - - - - - -Node6 - - -strings::boyer_moore -::init_good_suffix - - - - - -Node2->Node6 - - - - - - - - -Node4 - - -std::string::length - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -std::vector::resize - - - - - -Node3->Node5 - - - - - - - - -Node6->Node4 - - - - - - - - -Node6->Node4 - - - - - - - - -Node6->Node5 - - - - - - - - -Node8->Node4 - - - - - - - - -Node8->Node4 - - - - - - - - -Node9 - - -std::max - - - - - -Node8->Node9 - - - - - - - - -Node10 - - -std::vector::push_back - - - - - -Node8->Node10 - - - - - - - - - - - - - diff --git a/d3/db2/boyer__moore_8cpp_ac8fac0dd4b19973da103a434143a16d2_cgraph_org.svg b/d3/db2/boyer__moore_8cpp_ac8fac0dd4b19973da103a434143a16d2_cgraph_org.svg deleted file mode 100644 index 512630dc3..000000000 --- a/d3/db2/boyer__moore_8cpp_ac8fac0dd4b19973da103a434143a16d2_cgraph_org.svg +++ /dev/null @@ -1,251 +0,0 @@ - - - - - - -pat_test - - -Node1 - - -pat_test - - - - - -Node2 - - -strings::boyer_moore -::init_pattern - - - - - -Node1->Node2 - - - - - - - - -Node7 - - -strings::boyer_moore -::is_prefix - - - - - -Node1->Node7 - - - - - - - - -Node8 - - -strings::boyer_moore -::search - - - - - -Node1->Node8 - - - - - - - - -Node11 - - -std::vector::size - - - - - -Node1->Node11 - - - - - - - - -Node3 - - -strings::boyer_moore -::init_bad_char - - - - - -Node2->Node3 - - - - - - - - -Node6 - - -strings::boyer_moore -::init_good_suffix - - - - - -Node2->Node6 - - - - - - - - -Node4 - - -std::string::length - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -std::vector::resize - - - - - -Node3->Node5 - - - - - - - - -Node6->Node4 - - - - - - - - -Node6->Node4 - - - - - - - - -Node6->Node5 - - - - - - - - -Node8->Node4 - - - - - - - - -Node8->Node4 - - - - - - - - -Node9 - - -std::max - - - - - -Node8->Node9 - - - - - - - - -Node10 - - -std::vector::push_back - - - - - -Node8->Node10 - - - - - - - - diff --git a/d3/db2/boyer__moore_8cpp_acb8f69e7901ee7459d98bd4b9dda79d9_cgraph.map b/d3/db2/boyer__moore_8cpp_acb8f69e7901ee7459d98bd4b9dda79d9_cgraph.map deleted file mode 100644 index 19dea83c6..000000000 --- a/d3/db2/boyer__moore_8cpp_acb8f69e7901ee7459d98bd4b9dda79d9_cgraph.map +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d3/db2/boyer__moore_8cpp_acb8f69e7901ee7459d98bd4b9dda79d9_cgraph.md5 b/d3/db2/boyer__moore_8cpp_acb8f69e7901ee7459d98bd4b9dda79d9_cgraph.md5 deleted file mode 100644 index 05cf26abe..000000000 --- a/d3/db2/boyer__moore_8cpp_acb8f69e7901ee7459d98bd4b9dda79d9_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -98d8f70da8aad14556827317ad6b0ff1 \ No newline at end of file diff --git a/d3/db2/boyer__moore_8cpp_acb8f69e7901ee7459d98bd4b9dda79d9_cgraph.svg b/d3/db2/boyer__moore_8cpp_acb8f69e7901ee7459d98bd4b9dda79d9_cgraph.svg deleted file mode 100644 index e21a9cfe2..000000000 --- a/d3/db2/boyer__moore_8cpp_acb8f69e7901ee7459d98bd4b9dda79d9_cgraph.svg +++ /dev/null @@ -1,277 +0,0 @@ - - - - - - - - - - - - -and_test - - -Node1 - - -and_test - - - - - -Node2 - - -strings::boyer_moore -::init_pattern - - - - - -Node1->Node2 - - - - - - - - -Node7 - - -strings::boyer_moore -::is_prefix - - - - - -Node1->Node7 - - - - - - - - -Node8 - - -strings::boyer_moore -::search - - - - - -Node1->Node8 - - - - - - - - -Node11 - - -std::vector::size - - - - - -Node1->Node11 - - - - - - - - -Node3 - - -strings::boyer_moore -::init_bad_char - - - - - -Node2->Node3 - - - - - - - - -Node6 - - -strings::boyer_moore -::init_good_suffix - - - - - -Node2->Node6 - - - - - - - - -Node4 - - -std::string::length - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -std::vector::resize - - - - - -Node3->Node5 - - - - - - - - -Node6->Node4 - - - - - - - - -Node6->Node4 - - - - - - - - -Node6->Node5 - - - - - - - - -Node8->Node4 - - - - - - - - -Node8->Node4 - - - - - - - - -Node9 - - -std::max - - - - - -Node8->Node9 - - - - - - - - -Node10 - - -std::vector::push_back - - - - - -Node8->Node10 - - - - - - - - - - - - - diff --git a/d3/db2/boyer__moore_8cpp_acb8f69e7901ee7459d98bd4b9dda79d9_cgraph_org.svg b/d3/db2/boyer__moore_8cpp_acb8f69e7901ee7459d98bd4b9dda79d9_cgraph_org.svg deleted file mode 100644 index 7eb33592b..000000000 --- a/d3/db2/boyer__moore_8cpp_acb8f69e7901ee7459d98bd4b9dda79d9_cgraph_org.svg +++ /dev/null @@ -1,251 +0,0 @@ - - - - - - -and_test - - -Node1 - - -and_test - - - - - -Node2 - - -strings::boyer_moore -::init_pattern - - - - - -Node1->Node2 - - - - - - - - -Node7 - - -strings::boyer_moore -::is_prefix - - - - - -Node1->Node7 - - - - - - - - -Node8 - - -strings::boyer_moore -::search - - - - - -Node1->Node8 - - - - - - - - -Node11 - - -std::vector::size - - - - - -Node1->Node11 - - - - - - - - -Node3 - - -strings::boyer_moore -::init_bad_char - - - - - -Node2->Node3 - - - - - - - - -Node6 - - -strings::boyer_moore -::init_good_suffix - - - - - -Node2->Node6 - - - - - - - - -Node4 - - -std::string::length - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -std::vector::resize - - - - - -Node3->Node5 - - - - - - - - -Node6->Node4 - - - - - - - - -Node6->Node4 - - - - - - - - -Node6->Node5 - - - - - - - - -Node8->Node4 - - - - - - - - -Node8->Node4 - - - - - - - - -Node9 - - -std::max - - - - - -Node8->Node9 - - - - - - - - -Node10 - - -std::vector::push_back - - - - - -Node8->Node10 - - - - - - - - diff --git a/d3/db2/boyer__moore_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d3/db2/boyer__moore_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 3438ed78f..000000000 --- a/d3/db2/boyer__moore_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d3/db2/boyer__moore_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d3/db2/boyer__moore_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index 937c40c2c..000000000 --- a/d3/db2/boyer__moore_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -c01f7d0f619a779c5be556c9694222ec \ No newline at end of file diff --git a/d3/db2/boyer__moore_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d3/db2/boyer__moore_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index fae0ad110..000000000 --- a/d3/db2/boyer__moore_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,424 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -tests - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -and_test - - - - - -Node2->Node3 - - - - - - - - -Node14 - - -pat_test - - - - - -Node2->Node14 - - - - - - - - -Node4 - - -strings::boyer_moore -::init_pattern - - - - - -Node3->Node4 - - - - - - - - -Node9 - - -strings::boyer_moore -::is_prefix - - - - - -Node3->Node9 - - - - - - - - -Node10 - - -strings::boyer_moore -::search - - - - - -Node3->Node10 - - - - - - - - -Node13 - - -std::vector::size - - - - - -Node3->Node13 - - - - - - - - -Node5 - - -strings::boyer_moore -::init_bad_char - - - - - -Node4->Node5 - - - - - - - - -Node8 - - -strings::boyer_moore -::init_good_suffix - - - - - -Node4->Node8 - - - - - - - - -Node6 - - -std::string::length - - - - - -Node5->Node6 - - - - - - - - -Node7 - - -std::vector::resize - - - - - -Node5->Node7 - - - - - - - - -Node8->Node6 - - - - - - - - -Node8->Node6 - - - - - - - - -Node8->Node7 - - - - - - - - -Node10->Node6 - - - - - - - - -Node10->Node6 - - - - - - - - -Node11 - - -std::max - - - - - -Node10->Node11 - - - - - - - - -Node12 - - -std::vector::push_back - - - - - -Node10->Node12 - - - - - - - - -Node14->Node4 - - - - - - - - -Node14->Node9 - - - - - - - - -Node14->Node10 - - - - - - - - -Node14->Node13 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d3/db2/boyer__moore_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d3/db2/boyer__moore_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index c3621a827..000000000 --- a/d3/db2/boyer__moore_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,341 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -tests - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -and_test - - - - - -Node2->Node3 - - - - - - - - -Node14 - - -pat_test - - - - - -Node2->Node14 - - - - - - - - -Node4 - - -strings::boyer_moore -::init_pattern - - - - - -Node3->Node4 - - - - - - - - -Node9 - - -strings::boyer_moore -::is_prefix - - - - - -Node3->Node9 - - - - - - - - -Node10 - - -strings::boyer_moore -::search - - - - - -Node3->Node10 - - - - - - - - -Node13 - - -std::vector::size - - - - - -Node3->Node13 - - - - - - - - -Node5 - - -strings::boyer_moore -::init_bad_char - - - - - -Node4->Node5 - - - - - - - - -Node8 - - -strings::boyer_moore -::init_good_suffix - - - - - -Node4->Node8 - - - - - - - - -Node6 - - -std::string::length - - - - - -Node5->Node6 - - - - - - - - -Node7 - - -std::vector::resize - - - - - -Node5->Node7 - - - - - - - - -Node8->Node6 - - - - - - - - -Node8->Node6 - - - - - - - - -Node8->Node7 - - - - - - - - -Node10->Node6 - - - - - - - - -Node10->Node6 - - - - - - - - -Node11 - - -std::max - - - - - -Node10->Node11 - - - - - - - - -Node12 - - -std::vector::push_back - - - - - -Node10->Node12 - - - - - - - - -Node14->Node4 - - - - - - - - -Node14->Node9 - - - - - - - - -Node14->Node10 - - - - - - - - -Node14->Node13 - - - - - - - - diff --git a/d3/db2/boyer__moore_8cpp_source.html b/d3/db2/boyer__moore_8cpp_source.html new file mode 100644 index 000000000..243308f11 --- /dev/null +++ b/d3/db2/boyer__moore_8cpp_source.html @@ -0,0 +1,334 @@ + + + + + + + + +TheAlgorithms/C++: strings/boyer_moore.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    +

    Functions

    void strings::boyer_moore::init_good_suffix (const std::string &str, std::vector< size_t > &arg)
    void strings::boyer_moore::init_good_suffix (const std::string &str, std::vector< size_t > &arg)
     A function that preprocess the good suffix thable.
     
    void strings::boyer_moore::init_bad_char (const std::string &str, std::vector< size_t > &arg)
    void strings::boyer_moore::init_bad_char (const std::string &str, std::vector< size_t > &arg)
     A function that preprocess the bad char table.
     
    void strings::boyer_moore::init_pattern (const std::string &str, pattern &arg)
    void strings::boyer_moore::init_pattern (const std::string &str, pattern &arg)
     A function that initializes pattern.
     
    std::vector< size_t > strings::boyer_moore::search (const std::string &str, const pattern &arg)
    std::vector< size_t > strings::boyer_moore::search (const std::string &str, const pattern &arg)
     A function that implements Boyer-Moore's algorithm.
     
    bool strings::boyer_moore::is_prefix (const char *str, const char *pat, size_t len)
    + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + + +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    boyer_moore.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    45#include <cassert>
    +
    46#include <climits>
    +
    47#include <cstring>
    +
    48#include <iostream>
    +
    49#include <string>
    +
    50#include <vector>
    +
    51
    +
    52#define APLHABET_SIZE CHAR_MAX
    +
    53
    +
    +
    58namespace strings {
    +
    +
    65namespace boyer_moore {
    +
    +
    70struct pattern {
    +
    71 std::string pat;
    +
    72
    +
    73 std::vector<size_t>
    + +
    76
    +
    77 std::vector<size_t>
    + +
    80};
    +
    +
    81
    +
    +
    89void init_good_suffix(const std::string& str, std::vector<size_t>& arg) {
    +
    90 arg.resize(str.size() + 1, 0);
    +
    91
    +
    92 // border_pos[i] - the index of the longest proper suffix of str[i..] which
    +
    93 // is also a proper prefix.
    +
    94 std::vector<size_t> border_pos(str.size() + 1, 0);
    +
    95
    +
    96 size_t current_char = str.length();
    +
    97
    +
    98 size_t border_index = str.length() + 1;
    +
    99
    +
    100 border_pos[current_char] = border_index;
    +
    101
    +
    102 while (current_char > 0) {
    +
    103 while (border_index <= str.length() &&
    +
    104 str[current_char - 1] != str[border_index - 1]) {
    +
    105 if (arg[border_index] == 0) {
    +
    106 arg[border_index] = border_index - current_char;
    +
    107 }
    +
    108
    +
    109 border_index = border_pos[border_index];
    +
    110 }
    +
    111
    +
    112 current_char--;
    +
    113 border_index--;
    +
    114 border_pos[current_char] = border_index;
    +
    115 }
    +
    116
    +
    117 size_t largest_border_index = border_pos[0];
    +
    118
    +
    119 for (size_t i = 0; i < str.size(); i++) {
    +
    120 if (arg[i] == 0) {
    +
    121 arg[i] = largest_border_index;
    +
    122 }
    +
    123
    +
    124 // If we go pass the largest border we find the next one as we iterate
    +
    125 if (i == largest_border_index) {
    +
    126 largest_border_index = border_pos[largest_border_index];
    +
    127 }
    +
    128 }
    +
    129}
    +
    +
    130
    +
    +
    138void init_bad_char(const std::string& str, std::vector<size_t>& arg) {
    +
    139 arg.resize(APLHABET_SIZE, str.length());
    +
    140
    +
    141 for (size_t i = 0; i < str.length(); i++) {
    +
    142 arg[str[i]] = str.length() - i - 1;
    +
    143 }
    +
    144}
    +
    +
    145
    +
    +
    153void init_pattern(const std::string& str, pattern& arg) {
    +
    154 arg.pat = str;
    +
    155 init_bad_char(str, arg.bad_char);
    + +
    157}
    +
    +
    +
    165std::vector<size_t> search(const std::string& str, const pattern& arg) {
    +
    166 size_t index_position = arg.pat.size() - 1;
    +
    167 std::vector<size_t> index_storage;
    +
    168
    +
    169 while (index_position < str.length()) {
    +
    170 size_t index_string = index_position;
    +
    171 int index_pattern = static_cast<int>(arg.pat.size()) - 1;
    +
    172
    +
    173 while (index_pattern >= 0 &&
    +
    174 str[index_string] == arg.pat[index_pattern]) {
    +
    175 --index_pattern;
    +
    176 --index_string;
    +
    177 }
    +
    178
    +
    179 if (index_pattern < 0) {
    +
    180 index_storage.push_back(index_position - arg.pat.length() + 1);
    +
    181 index_position += arg.good_suffix[0];
    +
    182 } else {
    +
    183 index_position += std::max(arg.bad_char[str[index_string]],
    +
    184 arg.good_suffix[index_pattern + 1]);
    +
    185 }
    +
    186 }
    +
    187
    +
    188 return index_storage;
    +
    189}
    +
    +
    190
    +
    +
    200bool is_prefix(const char* str, const char* pat, size_t len) {
    +
    201 if (strlen(str) < len) {
    +
    202 return false;
    +
    203 }
    +
    204
    +
    205 for (size_t i = 0; i < len; i++) {
    +
    206 if (str[i] != pat[i]) {
    +
    207 return false;
    +
    208 }
    +
    209 }
    +
    210
    +
    211 return true;
    +
    212}
    +
    +
    213} // namespace boyer_moore
    +
    +
    214} // namespace strings
    +
    +
    +
    220void and_test(const char* text) {
    + + +
    223 std::vector<size_t> indexes = strings::boyer_moore::search(text, ands);
    +
    224
    +
    225 assert(indexes.size() == 2);
    +
    226 assert(strings::boyer_moore::is_prefix(text + indexes[0], "and", 3));
    +
    227 assert(strings::boyer_moore::is_prefix(text + indexes[1], "and", 3));
    +
    228}
    +
    +
    229
    +
    +
    235void pat_test(const char* text) {
    + + +
    238 std::vector<size_t> indexes = strings::boyer_moore::search(text, pat);
    +
    239
    +
    240 assert(indexes.size() == 6);
    +
    241
    +
    242 for (const auto& currentIndex : indexes) {
    +
    243 assert(strings::boyer_moore::is_prefix(text + currentIndex, "pat", 3));
    +
    244 }
    +
    245}
    +
    +
    +
    250static void tests() {
    +
    251 const char* text =
    +
    252 "When pat Mr. and Mrs. pat Dursley woke up on the dull, gray \
    +
    253 Tuesday our story starts, \
    +
    254 there was nothing about pat the cloudy sky outside to pat suggest that\
    +
    255 strange and \
    +
    256 mysterious things would pat soon be happening all pat over the \
    +
    257 country.";
    +
    258
    +
    259 and_test(text);
    +
    260 pat_test(text);
    +
    261
    +
    262 std::cout << "All tests have successfully passed!\n";
    +
    263}
    +
    +
    264
    +
    +
    269int main() {
    +
    270 tests(); // run self-test implementations
    +
    271 return 0;
    +
    272}
    +
    +
    static void tests()
    Self-test implementations.
    +
    #define APLHABET_SIZE
    number of symbols in the alphabet we use
    +
    void pat_test(const char *text)
    A test case in which we search for every appearance of the word 'pat'.
    +
    void and_test(const char *text)
    A test case in which we search for every appearance of the word 'and'.
    +
    int main()
    Main function.
    +
    for std::assert
    +
    bool is_prefix(const char *str, const char *pat, size_t len)
    Check if pat is prefix of str.
    +
    void init_pattern(const std::string &str, pattern &arg)
    A function that initializes pattern.
    +
    std::vector< size_t > search(const std::string &str, const pattern &arg)
    A function that implements Boyer-Moore's algorithm.
    +
    void init_bad_char(const std::string &str, std::vector< size_t > &arg)
    A function that preprocess the bad char table.
    +
    void init_good_suffix(const std::string &str, std::vector< size_t > &arg)
    A function that preprocess the good suffix thable.
    +
    String algorithms.
    +
    A structure representing all the data we need to search the preprocessed pattern in text.
    +
    std::vector< size_t > good_suffix
    +
    std::vector< size_t > bad_char
    +
    +
    + + + + diff --git a/d3/db3/lru__cache_8cpp.html b/d3/db3/lru__cache_8cpp.html index 397857c53..669936e4e 100644 --- a/d3/db3/lru__cache_8cpp.html +++ b/d3/db3/lru__cache_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: others/lru_cache.cpp File Reference +TheAlgorithms/C++: others/lru_cache.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -124,7 +141,9 @@ Include dependency graph for lru_cache.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -194,6 +213,8 @@ Data Structure used
  • If present, we shift that page from its current location to beginning of the cache and update the address in hash map for that page.
  • Author
    Nitin Sharma
    + +

    Definition in file lru_cache.cpp.

    Function Documentation

    ◆ log()

    @@ -220,18 +241,13 @@ template<typename T >
    Returns
    void
    + +

    Definition at line 149 of file lru_cache.cpp.

    149 {
    150 // It's just to avoid writing cout and endl
    -
    151 std::cout << "[TESTS] : ---> " << msg << std::endl;
    +
    151 std::cout << "[TESTS] : ---> " << msg << std::endl;
    152}
    - -
    T endl(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -251,6 +267,8 @@ Here is the call graph for this function:

    Main function.

    Returns
    0 on exit
    + +

    Definition at line 252 of file lru_cache.cpp.

    252 {
    254
    @@ -265,18 +283,13 @@ Here is the call graph for this function:
    263
    264 cache.display();
    265
    -
    266 std::cout << "Hits: " << cache.getHits()
    -
    267 << " Miss: " << cache.getPageFault() << std::endl;
    +
    266 std::cout << "Hits: " << cache.getHits()
    +
    267 << " Miss: " << cache.getPageFault() << std::endl;
    268 return 0;
    269}
    -
    LRU cache class.
    Definition lru_cache.cpp:68
    -
    static void run_tests()
    A function to invoke all test cases.
    Definition lru_cache.cpp:239
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + +
    static void run_tests()
    A function to invoke all test cases.
    + @@ -304,23 +317,20 @@ Here is the call graph for this function:

    A function to invoke all test cases.

    Returns
    void
    + +

    Definition at line 239 of file lru_cache.cpp.

    239 {
    240 test_1();
    241 test_2();
    242 test_3();
    -
    243 log("");
    -
    244 log("TESTS COMPLETED!");
    +
    243 log("");
    +
    244 log("TESTS COMPLETED!");
    245}
    -
    static void test_1()
    Definition heavy_light_decomposition.cpp:505
    -
    static void test_2()
    Definition heavy_light_decomposition.cpp:549
    -
    static void test_3()
    Definition heavy_light_decomposition.cpp:592
    -
    T log(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static void test_1()
    +
    static void test_2()
    +
    static void test_3()
    +
    void log(T msg)
    A function to print given message on console.
    + @@ -348,11 +358,13 @@ Here is the call graph for this function:

    A simple test case The assert statement will check expected hist and miss to resultant hits and miss.

    Returns
    void
    + +

    Definition at line 160 of file lru_cache.cpp.

    160 {
    161 uint64_t expected_hits = 2;
    162 uint64_t expected_pageFault = 4;
    163
    -
    164 log("Running Test-1...");
    +
    164 log("Running Test-1...");
    165
    167 cache.refer(1);
    @@ -362,18 +374,13 @@ Here is the call graph for this function:
    171 cache.refer(4);
    172 cache.refer(5);
    173
    -
    174 log("Checking assert statement...");
    +
    174 log("Checking assert statement...");
    175 assert(cache.getHits() == expected_hits &&
    176 cache.getPageFault() == expected_pageFault);
    -
    177 log("Assert successful!");
    -
    178 log("Test-1 complete!");
    +
    177 log("Assert successful!");
    +
    178 log("Test-1 complete!");
    179}
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -401,11 +408,13 @@ Here is the call graph for this function:

    A test case contains hits more than cache size The assert statement will check expected hist and miss to resultant hits and miss.

    Returns
    void
    + +

    Definition at line 187 of file lru_cache.cpp.

    187 {
    188 uint64_t expected_hits = 4;
    189 uint64_t expected_pageFault = 2;
    190
    -
    191 log("Running Test-2...");
    +
    191 log("Running Test-2...");
    192
    194 cache.refer(1);
    @@ -415,18 +424,13 @@ Here is the call graph for this function:
    198 cache.refer(1);
    199 cache.refer(5);
    200
    -
    201 log("Checking assert statement...");
    +
    201 log("Checking assert statement...");
    202 assert(cache.getHits() == expected_hits &&
    203 cache.getPageFault() == expected_pageFault);
    -
    204 log("Assert successful!");
    -
    205 log("Test-2 complete!");
    +
    204 log("Assert successful!");
    +
    205 log("Test-2 complete!");
    206}
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -454,11 +458,13 @@ Here is the call graph for this function:

    A simple test case The assert statement will check expected hist and miss to resultant hits and miss.

    Returns
    void
    + +

    Definition at line 214 of file lru_cache.cpp.

    214 {
    215 uint64_t expected_hits = 1;
    216 uint64_t expected_pageFault = 5;
    217
    -
    218 log("Running Test-3...");
    +
    218 log("Running Test-3...");
    219
    221 cache.refer(1);
    @@ -468,18 +474,13 @@ Here is the call graph for this function:
    225 cache.refer(5);
    226 cache.refer(5);
    227
    -
    228 log("Checking assert statement...");
    +
    228 log("Checking assert statement...");
    229 assert(cache.getHits() == expected_hits &&
    230 cache.getPageFault() == expected_pageFault);
    -
    231 log("Assert successful!");
    -
    232 log("Test-3 complete!");
    +
    231 log("Assert successful!");
    +
    232 log("Test-3 complete!");
    233}
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + diff --git a/d3/db3/lru__cache_8cpp_a01ec21fc91ddafd964ae2035ba7892c0_cgraph.map b/d3/db3/lru__cache_8cpp_a01ec21fc91ddafd964ae2035ba7892c0_cgraph.map deleted file mode 100644 index cf9f79432..000000000 --- a/d3/db3/lru__cache_8cpp_a01ec21fc91ddafd964ae2035ba7892c0_cgraph.map +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d3/db3/lru__cache_8cpp_a01ec21fc91ddafd964ae2035ba7892c0_cgraph.md5 b/d3/db3/lru__cache_8cpp_a01ec21fc91ddafd964ae2035ba7892c0_cgraph.md5 deleted file mode 100644 index fb46817ca..000000000 --- a/d3/db3/lru__cache_8cpp_a01ec21fc91ddafd964ae2035ba7892c0_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -45c667bda31cfb5b173793e831e0ddde \ No newline at end of file diff --git a/d3/db3/lru__cache_8cpp_a01ec21fc91ddafd964ae2035ba7892c0_cgraph.svg b/d3/db3/lru__cache_8cpp_a01ec21fc91ddafd964ae2035ba7892c0_cgraph.svg deleted file mode 100644 index 1f292a92c..000000000 --- a/d3/db3/lru__cache_8cpp_a01ec21fc91ddafd964ae2035ba7892c0_cgraph.svg +++ /dev/null @@ -1,277 +0,0 @@ - - - - - - - - - - - - -lru_tests::test_3 - - -Node1 - - -lru_tests::test_3 - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -others::lru_cache:: -LRUCache::getHits - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -others::lru_cache:: -LRUCache::getPageFault - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -others::lru_cache:: -LRUCache::refer - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::list::back - - - - - -Node4->Node5 - - - - - - - - -Node6 - - -std::list::begin - - - - - -Node4->Node6 - - - - - - - - -Node7 - - -std::unordered_map::end - - - - - -Node4->Node7 - - - - - - - - -Node8 - - -std::list::erase - - - - - -Node4->Node8 - - - - - - - - -Node9 - - -std::unordered_map -::erase - - - - - -Node4->Node9 - - - - - - - - -Node10 - - -std::unordered_map -::find - - - - - -Node4->Node10 - - - - - - - - -Node11 - - -std::list::pop_back - - - - - -Node4->Node11 - - - - - - - - -Node12 - - -std::list::push_front - - - - - -Node4->Node12 - - - - - - - - -Node13 - - -std::list::size - - - - - -Node4->Node13 - - - - - - - - - - - - - diff --git a/d3/db3/lru__cache_8cpp_a01ec21fc91ddafd964ae2035ba7892c0_cgraph_org.svg b/d3/db3/lru__cache_8cpp_a01ec21fc91ddafd964ae2035ba7892c0_cgraph_org.svg deleted file mode 100644 index 1dd469289..000000000 --- a/d3/db3/lru__cache_8cpp_a01ec21fc91ddafd964ae2035ba7892c0_cgraph_org.svg +++ /dev/null @@ -1,251 +0,0 @@ - - - - - - -lru_tests::test_3 - - -Node1 - - -lru_tests::test_3 - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -others::lru_cache:: -LRUCache::getHits - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -others::lru_cache:: -LRUCache::getPageFault - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -others::lru_cache:: -LRUCache::refer - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::list::back - - - - - -Node4->Node5 - - - - - - - - -Node6 - - -std::list::begin - - - - - -Node4->Node6 - - - - - - - - -Node7 - - -std::unordered_map::end - - - - - -Node4->Node7 - - - - - - - - -Node8 - - -std::list::erase - - - - - -Node4->Node8 - - - - - - - - -Node9 - - -std::unordered_map -::erase - - - - - -Node4->Node9 - - - - - - - - -Node10 - - -std::unordered_map -::find - - - - - -Node4->Node10 - - - - - - - - -Node11 - - -std::list::pop_back - - - - - -Node4->Node11 - - - - - - - - -Node12 - - -std::list::push_front - - - - - -Node4->Node12 - - - - - - - - -Node13 - - -std::list::size - - - - - -Node4->Node13 - - - - - - - - diff --git a/d3/db3/lru__cache_8cpp_a24d21a345ed06f7fba6919718cf3e058_cgraph.map b/d3/db3/lru__cache_8cpp_a24d21a345ed06f7fba6919718cf3e058_cgraph.map deleted file mode 100644 index 0319492f4..000000000 --- a/d3/db3/lru__cache_8cpp_a24d21a345ed06f7fba6919718cf3e058_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d3/db3/lru__cache_8cpp_a24d21a345ed06f7fba6919718cf3e058_cgraph.md5 b/d3/db3/lru__cache_8cpp_a24d21a345ed06f7fba6919718cf3e058_cgraph.md5 deleted file mode 100644 index bcc4f617b..000000000 --- a/d3/db3/lru__cache_8cpp_a24d21a345ed06f7fba6919718cf3e058_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -eadd85c01f2fe8faa30c9106ea5fecdd \ No newline at end of file diff --git a/d3/db3/lru__cache_8cpp_a24d21a345ed06f7fba6919718cf3e058_cgraph.svg b/d3/db3/lru__cache_8cpp_a24d21a345ed06f7fba6919718cf3e058_cgraph.svg deleted file mode 100644 index 64d937e61..000000000 --- a/d3/db3/lru__cache_8cpp_a24d21a345ed06f7fba6919718cf3e058_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -lru_tests::log - - -Node1 - - -lru_tests::log - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d3/db3/lru__cache_8cpp_a24d21a345ed06f7fba6919718cf3e058_cgraph_org.svg b/d3/db3/lru__cache_8cpp_a24d21a345ed06f7fba6919718cf3e058_cgraph_org.svg deleted file mode 100644 index 7165ba05c..000000000 --- a/d3/db3/lru__cache_8cpp_a24d21a345ed06f7fba6919718cf3e058_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -lru_tests::log - - -Node1 - - -lru_tests::log - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - diff --git a/d3/db3/lru__cache_8cpp_a4b02e288a407876a8d6024f98a2a25ec_cgraph.map b/d3/db3/lru__cache_8cpp_a4b02e288a407876a8d6024f98a2a25ec_cgraph.map deleted file mode 100644 index bd61d2697..000000000 --- a/d3/db3/lru__cache_8cpp_a4b02e288a407876a8d6024f98a2a25ec_cgraph.map +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d3/db3/lru__cache_8cpp_a4b02e288a407876a8d6024f98a2a25ec_cgraph.md5 b/d3/db3/lru__cache_8cpp_a4b02e288a407876a8d6024f98a2a25ec_cgraph.md5 deleted file mode 100644 index 7d90bfbe7..000000000 --- a/d3/db3/lru__cache_8cpp_a4b02e288a407876a8d6024f98a2a25ec_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -55bb5f4d4e0a8280b5a091435be507e4 \ No newline at end of file diff --git a/d3/db3/lru__cache_8cpp_a4b02e288a407876a8d6024f98a2a25ec_cgraph.svg b/d3/db3/lru__cache_8cpp_a4b02e288a407876a8d6024f98a2a25ec_cgraph.svg deleted file mode 100644 index 314af24ad..000000000 --- a/d3/db3/lru__cache_8cpp_a4b02e288a407876a8d6024f98a2a25ec_cgraph.svg +++ /dev/null @@ -1,277 +0,0 @@ - - - - - - - - - - - - -lru_tests::test_2 - - -Node1 - - -lru_tests::test_2 - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -others::lru_cache:: -LRUCache::getHits - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -others::lru_cache:: -LRUCache::getPageFault - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -others::lru_cache:: -LRUCache::refer - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::list::back - - - - - -Node4->Node5 - - - - - - - - -Node6 - - -std::list::begin - - - - - -Node4->Node6 - - - - - - - - -Node7 - - -std::unordered_map::end - - - - - -Node4->Node7 - - - - - - - - -Node8 - - -std::list::erase - - - - - -Node4->Node8 - - - - - - - - -Node9 - - -std::unordered_map -::erase - - - - - -Node4->Node9 - - - - - - - - -Node10 - - -std::unordered_map -::find - - - - - -Node4->Node10 - - - - - - - - -Node11 - - -std::list::pop_back - - - - - -Node4->Node11 - - - - - - - - -Node12 - - -std::list::push_front - - - - - -Node4->Node12 - - - - - - - - -Node13 - - -std::list::size - - - - - -Node4->Node13 - - - - - - - - - - - - - diff --git a/d3/db3/lru__cache_8cpp_a4b02e288a407876a8d6024f98a2a25ec_cgraph_org.svg b/d3/db3/lru__cache_8cpp_a4b02e288a407876a8d6024f98a2a25ec_cgraph_org.svg deleted file mode 100644 index ac5832154..000000000 --- a/d3/db3/lru__cache_8cpp_a4b02e288a407876a8d6024f98a2a25ec_cgraph_org.svg +++ /dev/null @@ -1,251 +0,0 @@ - - - - - - -lru_tests::test_2 - - -Node1 - - -lru_tests::test_2 - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -others::lru_cache:: -LRUCache::getHits - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -others::lru_cache:: -LRUCache::getPageFault - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -others::lru_cache:: -LRUCache::refer - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::list::back - - - - - -Node4->Node5 - - - - - - - - -Node6 - - -std::list::begin - - - - - -Node4->Node6 - - - - - - - - -Node7 - - -std::unordered_map::end - - - - - -Node4->Node7 - - - - - - - - -Node8 - - -std::list::erase - - - - - -Node4->Node8 - - - - - - - - -Node9 - - -std::unordered_map -::erase - - - - - -Node4->Node9 - - - - - - - - -Node10 - - -std::unordered_map -::find - - - - - -Node4->Node10 - - - - - - - - -Node11 - - -std::list::pop_back - - - - - -Node4->Node11 - - - - - - - - -Node12 - - -std::list::push_front - - - - - -Node4->Node12 - - - - - - - - -Node13 - - -std::list::size - - - - - -Node4->Node13 - - - - - - - - diff --git a/d3/db3/lru__cache_8cpp_a6401e8f2d41d8cc9cd0e52ab381608d4_cgraph.map b/d3/db3/lru__cache_8cpp_a6401e8f2d41d8cc9cd0e52ab381608d4_cgraph.map deleted file mode 100644 index f891090dc..000000000 --- a/d3/db3/lru__cache_8cpp_a6401e8f2d41d8cc9cd0e52ab381608d4_cgraph.map +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d3/db3/lru__cache_8cpp_a6401e8f2d41d8cc9cd0e52ab381608d4_cgraph.md5 b/d3/db3/lru__cache_8cpp_a6401e8f2d41d8cc9cd0e52ab381608d4_cgraph.md5 deleted file mode 100644 index 7a837da15..000000000 --- a/d3/db3/lru__cache_8cpp_a6401e8f2d41d8cc9cd0e52ab381608d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -a5e4a7dcb21109c054a1a93b7be39ca7 \ No newline at end of file diff --git a/d3/db3/lru__cache_8cpp_a6401e8f2d41d8cc9cd0e52ab381608d4_cgraph.svg b/d3/db3/lru__cache_8cpp_a6401e8f2d41d8cc9cd0e52ab381608d4_cgraph.svg deleted file mode 100644 index 20788c0e1..000000000 --- a/d3/db3/lru__cache_8cpp_a6401e8f2d41d8cc9cd0e52ab381608d4_cgraph.svg +++ /dev/null @@ -1,277 +0,0 @@ - - - - - - - - - - - - -lru_tests::test_1 - - -Node1 - - -lru_tests::test_1 - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -others::lru_cache:: -LRUCache::getHits - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -others::lru_cache:: -LRUCache::getPageFault - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -others::lru_cache:: -LRUCache::refer - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::list::back - - - - - -Node4->Node5 - - - - - - - - -Node6 - - -std::list::begin - - - - - -Node4->Node6 - - - - - - - - -Node7 - - -std::unordered_map::end - - - - - -Node4->Node7 - - - - - - - - -Node8 - - -std::list::erase - - - - - -Node4->Node8 - - - - - - - - -Node9 - - -std::unordered_map -::erase - - - - - -Node4->Node9 - - - - - - - - -Node10 - - -std::unordered_map -::find - - - - - -Node4->Node10 - - - - - - - - -Node11 - - -std::list::pop_back - - - - - -Node4->Node11 - - - - - - - - -Node12 - - -std::list::push_front - - - - - -Node4->Node12 - - - - - - - - -Node13 - - -std::list::size - - - - - -Node4->Node13 - - - - - - - - - - - - - diff --git a/d3/db3/lru__cache_8cpp_a6401e8f2d41d8cc9cd0e52ab381608d4_cgraph_org.svg b/d3/db3/lru__cache_8cpp_a6401e8f2d41d8cc9cd0e52ab381608d4_cgraph_org.svg deleted file mode 100644 index 3ac421ac6..000000000 --- a/d3/db3/lru__cache_8cpp_a6401e8f2d41d8cc9cd0e52ab381608d4_cgraph_org.svg +++ /dev/null @@ -1,251 +0,0 @@ - - - - - - -lru_tests::test_1 - - -Node1 - - -lru_tests::test_1 - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -others::lru_cache:: -LRUCache::getHits - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -others::lru_cache:: -LRUCache::getPageFault - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -others::lru_cache:: -LRUCache::refer - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::list::back - - - - - -Node4->Node5 - - - - - - - - -Node6 - - -std::list::begin - - - - - -Node4->Node6 - - - - - - - - -Node7 - - -std::unordered_map::end - - - - - -Node4->Node7 - - - - - - - - -Node8 - - -std::list::erase - - - - - -Node4->Node8 - - - - - - - - -Node9 - - -std::unordered_map -::erase - - - - - -Node4->Node9 - - - - - - - - -Node10 - - -std::unordered_map -::find - - - - - -Node4->Node10 - - - - - - - - -Node11 - - -std::list::pop_back - - - - - -Node4->Node11 - - - - - - - - -Node12 - - -std::list::push_front - - - - - -Node4->Node12 - - - - - - - - -Node13 - - -std::list::size - - - - - -Node4->Node13 - - - - - - - - diff --git a/d3/db3/lru__cache_8cpp_a6a3be6d8871b1f5dc03688da8f3ee9e6_cgraph.map b/d3/db3/lru__cache_8cpp_a6a3be6d8871b1f5dc03688da8f3ee9e6_cgraph.map deleted file mode 100644 index 9762068f2..000000000 --- a/d3/db3/lru__cache_8cpp_a6a3be6d8871b1f5dc03688da8f3ee9e6_cgraph.map +++ /dev/null @@ -1,43 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d3/db3/lru__cache_8cpp_a6a3be6d8871b1f5dc03688da8f3ee9e6_cgraph.md5 b/d3/db3/lru__cache_8cpp_a6a3be6d8871b1f5dc03688da8f3ee9e6_cgraph.md5 deleted file mode 100644 index 4fb6c6d7a..000000000 --- a/d3/db3/lru__cache_8cpp_a6a3be6d8871b1f5dc03688da8f3ee9e6_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -79a330331c35e1ab368ef1c417a6bda2 \ No newline at end of file diff --git a/d3/db3/lru__cache_8cpp_a6a3be6d8871b1f5dc03688da8f3ee9e6_cgraph.svg b/d3/db3/lru__cache_8cpp_a6a3be6d8871b1f5dc03688da8f3ee9e6_cgraph.svg deleted file mode 100644 index 68d059df7..000000000 --- a/d3/db3/lru__cache_8cpp_a6a3be6d8871b1f5dc03688da8f3ee9e6_cgraph.svg +++ /dev/null @@ -1,469 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -lru_tests::run_tests - - -Node1 - - -lru_tests::run_tests - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -lru_tests::test_1 - - - - - -Node1->Node2 - - - - - - - - -Node15 - - -lru_tests::test_2 - - - - - -Node1->Node15 - - - - - - - - -Node16 - - -lru_tests::test_3 - - - - - -Node1->Node16 - - - - - - - - -Node2->Node2 - - - - - - - - -Node3 - - -others::lru_cache:: -LRUCache::getHits - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -others::lru_cache:: -LRUCache::getPageFault - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -others::lru_cache:: -LRUCache::refer - - - - - -Node2->Node5 - - - - - - - - -Node6 - - -std::list::back - - - - - -Node5->Node6 - - - - - - - - -Node7 - - -std::list::begin - - - - - -Node5->Node7 - - - - - - - - -Node8 - - -std::unordered_map::end - - - - - -Node5->Node8 - - - - - - - - -Node9 - - -std::list::erase - - - - - -Node5->Node9 - - - - - - - - -Node10 - - -std::unordered_map -::erase - - - - - -Node5->Node10 - - - - - - - - -Node11 - - -std::unordered_map -::find - - - - - -Node5->Node11 - - - - - - - - -Node12 - - -std::list::pop_back - - - - - -Node5->Node12 - - - - - - - - -Node13 - - -std::list::push_front - - - - - -Node5->Node13 - - - - - - - - -Node14 - - -std::list::size - - - - - -Node5->Node14 - - - - - - - - -Node15->Node3 - - - - - - - - -Node15->Node4 - - - - - - - - -Node15->Node5 - - - - - - - - -Node15->Node15 - - - - - - - - -Node16->Node3 - - - - - - - - -Node16->Node4 - - - - - - - - -Node16->Node5 - - - - - - - - -Node16->Node16 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d3/db3/lru__cache_8cpp_a6a3be6d8871b1f5dc03688da8f3ee9e6_cgraph_org.svg b/d3/db3/lru__cache_8cpp_a6a3be6d8871b1f5dc03688da8f3ee9e6_cgraph_org.svg deleted file mode 100644 index 49b135791..000000000 --- a/d3/db3/lru__cache_8cpp_a6a3be6d8871b1f5dc03688da8f3ee9e6_cgraph_org.svg +++ /dev/null @@ -1,386 +0,0 @@ - - - - - - -lru_tests::run_tests - - -Node1 - - -lru_tests::run_tests - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -lru_tests::test_1 - - - - - -Node1->Node2 - - - - - - - - -Node15 - - -lru_tests::test_2 - - - - - -Node1->Node15 - - - - - - - - -Node16 - - -lru_tests::test_3 - - - - - -Node1->Node16 - - - - - - - - -Node2->Node2 - - - - - - - - -Node3 - - -others::lru_cache:: -LRUCache::getHits - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -others::lru_cache:: -LRUCache::getPageFault - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -others::lru_cache:: -LRUCache::refer - - - - - -Node2->Node5 - - - - - - - - -Node6 - - -std::list::back - - - - - -Node5->Node6 - - - - - - - - -Node7 - - -std::list::begin - - - - - -Node5->Node7 - - - - - - - - -Node8 - - -std::unordered_map::end - - - - - -Node5->Node8 - - - - - - - - -Node9 - - -std::list::erase - - - - - -Node5->Node9 - - - - - - - - -Node10 - - -std::unordered_map -::erase - - - - - -Node5->Node10 - - - - - - - - -Node11 - - -std::unordered_map -::find - - - - - -Node5->Node11 - - - - - - - - -Node12 - - -std::list::pop_back - - - - - -Node5->Node12 - - - - - - - - -Node13 - - -std::list::push_front - - - - - -Node5->Node13 - - - - - - - - -Node14 - - -std::list::size - - - - - -Node5->Node14 - - - - - - - - -Node15->Node3 - - - - - - - - -Node15->Node4 - - - - - - - - -Node15->Node5 - - - - - - - - -Node15->Node15 - - - - - - - - -Node16->Node3 - - - - - - - - -Node16->Node4 - - - - - - - - -Node16->Node5 - - - - - - - - -Node16->Node16 - - - - - - - - diff --git a/d3/db3/lru__cache_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d3/db3/lru__cache_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 79d2b7f3b..000000000 --- a/d3/db3/lru__cache_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d3/db3/lru__cache_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d3/db3/lru__cache_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index 698607137..000000000 --- a/d3/db3/lru__cache_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -388ec1b39a65a15b637301df049b3908 \ No newline at end of file diff --git a/d3/db3/lru__cache_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d3/db3/lru__cache_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 768ec67e3..000000000 --- a/d3/db3/lru__cache_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,314 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -others::lru_cache:: -LRUCache::display - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -others::lru_cache:: -LRUCache::getHits - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -others::lru_cache:: -LRUCache::getPageFault - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -others::lru_cache:: -LRUCache::refer - - - - - -Node1->Node6 - - - - - - - - -Node2->Node3 - - - - - - - - -Node7 - - -std::list::back - - - - - -Node6->Node7 - - - - - - - - -Node8 - - -std::list::begin - - - - - -Node6->Node8 - - - - - - - - -Node9 - - -std::unordered_map::end - - - - - -Node6->Node9 - - - - - - - - -Node10 - - -std::list::erase - - - - - -Node6->Node10 - - - - - - - - -Node11 - - -std::unordered_map -::erase - - - - - -Node6->Node11 - - - - - - - - -Node12 - - -std::unordered_map -::find - - - - - -Node6->Node12 - - - - - - - - -Node13 - - -std::list::pop_back - - - - - -Node6->Node13 - - - - - - - - -Node14 - - -std::list::push_front - - - - - -Node6->Node14 - - - - - - - - -Node15 - - -std::list::size - - - - - -Node6->Node15 - - - - - - - - - - - - - diff --git a/d3/db3/lru__cache_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d3/db3/lru__cache_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 935776d2f..000000000 --- a/d3/db3/lru__cache_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,288 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -others::lru_cache:: -LRUCache::display - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -others::lru_cache:: -LRUCache::getHits - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -others::lru_cache:: -LRUCache::getPageFault - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -others::lru_cache:: -LRUCache::refer - - - - - -Node1->Node6 - - - - - - - - -Node2->Node3 - - - - - - - - -Node7 - - -std::list::back - - - - - -Node6->Node7 - - - - - - - - -Node8 - - -std::list::begin - - - - - -Node6->Node8 - - - - - - - - -Node9 - - -std::unordered_map::end - - - - - -Node6->Node9 - - - - - - - - -Node10 - - -std::list::erase - - - - - -Node6->Node10 - - - - - - - - -Node11 - - -std::unordered_map -::erase - - - - - -Node6->Node11 - - - - - - - - -Node12 - - -std::unordered_map -::find - - - - - -Node6->Node12 - - - - - - - - -Node13 - - -std::list::pop_back - - - - - -Node6->Node13 - - - - - - - - -Node14 - - -std::list::push_front - - - - - -Node6->Node14 - - - - - - - - -Node15 - - -std::list::size - - - - - -Node6->Node15 - - - - - - - - diff --git a/d3/db3/lru__cache_8cpp_source.html b/d3/db3/lru__cache_8cpp_source.html new file mode 100644 index 000000000..10c960b92 --- /dev/null +++ b/d3/db3/lru__cache_8cpp_source.html @@ -0,0 +1,331 @@ + + + + + + + + +TheAlgorithms/C++: others/lru_cache.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    +

    Classes

    class  others::lru_cache::LRUCache
    + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + + +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    lru_cache.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    48#include <cassert>
    +
    49#include <cstdint>
    +
    50#include <iostream>
    +
    51#include <list>
    +
    52#include <unordered_map>
    +
    53
    +
    58namespace others {
    +
    64namespace lru_cache {
    +
    +
    68class LRUCache {
    +
    69 uint64_t pageFrame;
    +
    70 std::list<uint64_t> cache;
    +
    71 std::unordered_map<uint64_t, std::list<uint64_t>::iterator>
    + +
    73
    +
    74 uint64_t hits =
    +
    75 0;
    +
    77 uint64_t pageFault = 0;
    +
    79
    +
    80 public:
    +
    85 explicit LRUCache(uint64_t pf) { pageFrame = pf; }
    +
    86
    +
    +
    92 void refer(uint64_t page) {
    +
    93 // If the page requested not in cache.
    +
    94 if (pageMap.find(page) == pageMap.end()) {
    +
    95 pageFault++;
    +
    96
    +
    97 // Check if the cache is full
    +
    98 if (cache.size() == pageFrame) {
    +
    99 // delete the last page from cache
    +
    100 uint64_t lastPage = cache.back();
    +
    101 cache.pop_back();
    +
    102 pageMap.erase(lastPage);
    +
    103 }
    +
    104 }
    +
    105 // The requested page is in the cache
    +
    106 else {
    +
    107 hits++;
    +
    108 // present in cache, erase from current position to bring in front
    +
    109 cache.erase(pageMap[page]);
    +
    110 }
    +
    111 // Push it in the front of the cache and update the page reference in
    +
    112 // page map.
    +
    113 cache.push_front(page);
    +
    114 pageMap[page] = cache.begin();
    +
    115 }
    +
    +
    116
    +
    +
    121 void display() {
    +
    122 for (uint64_t &it : cache) {
    +
    123 std::cout << it << " ";
    +
    124 }
    +
    125 std::cout << std::endl;
    +
    126 }
    +
    +
    131 uint64_t getHits() const { return hits; }
    +
    136 uint64_t getPageFault() const { return pageFault; }
    +
    137};
    +
    +
    138
    +
    139} // namespace lru_cache
    +
    140} // namespace others
    +
    141
    +
    142namespace lru_tests {
    +
    148template <typename T>
    +
    +
    149void log(T msg) {
    +
    150 // It's just to avoid writing cout and endl
    +
    151 std::cout << "[TESTS] : ---> " << msg << std::endl;
    +
    152}
    +
    +
    153
    +
    +
    160static void test_1() {
    +
    161 uint64_t expected_hits = 2;
    +
    162 uint64_t expected_pageFault = 4;
    +
    163
    +
    164 log("Running Test-1...");
    +
    165
    + +
    167 cache.refer(1);
    +
    168 cache.refer(2);
    +
    169 cache.refer(5);
    +
    170 cache.refer(1);
    +
    171 cache.refer(4);
    +
    172 cache.refer(5);
    +
    173
    +
    174 log("Checking assert statement...");
    +
    175 assert(cache.getHits() == expected_hits &&
    +
    176 cache.getPageFault() == expected_pageFault);
    +
    177 log("Assert successful!");
    +
    178 log("Test-1 complete!");
    +
    179}
    +
    +
    180
    +
    +
    187static void test_2() {
    +
    188 uint64_t expected_hits = 4;
    +
    189 uint64_t expected_pageFault = 2;
    +
    190
    +
    191 log("Running Test-2...");
    +
    192
    + +
    194 cache.refer(1);
    +
    195 cache.refer(1);
    +
    196 cache.refer(1);
    +
    197 cache.refer(1);
    +
    198 cache.refer(1);
    +
    199 cache.refer(5);
    +
    200
    +
    201 log("Checking assert statement...");
    +
    202 assert(cache.getHits() == expected_hits &&
    +
    203 cache.getPageFault() == expected_pageFault);
    +
    204 log("Assert successful!");
    +
    205 log("Test-2 complete!");
    +
    206}
    +
    +
    207
    +
    +
    214static void test_3() {
    +
    215 uint64_t expected_hits = 1;
    +
    216 uint64_t expected_pageFault = 5;
    +
    217
    +
    218 log("Running Test-3...");
    +
    219
    + +
    221 cache.refer(1);
    +
    222 cache.refer(2);
    +
    223 cache.refer(3);
    +
    224 cache.refer(4);
    +
    225 cache.refer(5);
    +
    226 cache.refer(5);
    +
    227
    +
    228 log("Checking assert statement...");
    +
    229 assert(cache.getHits() == expected_hits &&
    +
    230 cache.getPageFault() == expected_pageFault);
    +
    231 log("Assert successful!");
    +
    232 log("Test-3 complete!");
    +
    233}
    +
    +
    234
    +
    +
    239static void run_tests() {
    +
    240 test_1();
    +
    241 test_2();
    +
    242 test_3();
    +
    243 log("");
    +
    244 log("TESTS COMPLETED!");
    +
    245}
    +
    +
    246} // namespace lru_tests
    +
    247
    +
    +
    252int main() {
    +
    253 lru_tests::run_tests();
    +
    254
    +
    255 // Usage
    + +
    257 cache.refer(1);
    +
    258 cache.refer(2);
    +
    259 cache.refer(3);
    +
    260 cache.refer(4);
    +
    261 cache.refer(5);
    +
    262 cache.refer(5);
    +
    263
    +
    264 cache.display();
    +
    265
    +
    266 std::cout << "Hits: " << cache.getHits()
    +
    267 << " Miss: " << cache.getPageFault() << std::endl;
    +
    268 return 0;
    +
    269}
    +
    + + +
    uint64_t pageFrame
    Page frame, or total size of the cache.
    Definition lru_cache.cpp:69
    +
    std::list< uint64_t > cache
    Cache linked list (using the STL)
    Definition lru_cache.cpp:70
    +
    LRUCache(uint64_t pf)
    Constructor, Initialize thee LRU class with page frame.
    Definition lru_cache.cpp:85
    +
    uint64_t hits
    was found in cache.
    Definition lru_cache.cpp:74
    +
    uint64_t getPageFault() const
    A function to get page fault.
    +
    void refer(uint64_t page)
    Refer to a page, or request a page from memory.
    Definition lru_cache.cpp:92
    +
    uint64_t getHits() const
    A function to get page hits.
    +
    std::unordered_map< uint64_t, std::list< uint64_t >::iterator > pageMap
    Hash map containing pages and their addresses.
    Definition lru_cache.cpp:72
    +
    void display()
    A function to display the current cache.
    +
    static void test_3()
    A simple test case The assert statement will check expected hist and miss to resultant hits and miss.
    +
    void log(T msg)
    A function to print given message on console.
    +
    static void test_2()
    A test case contains hits more than cache size The assert statement will check expected hist and miss...
    +
    static void test_1()
    A simple test case The assert statement will check expected hist and miss to resultant hits and miss.
    +
    static void run_tests()
    A function to invoke all test cases.
    +
    int main()
    Main function.
    +
    Implementation of the LRU caching algorithm
    +
    for vector
    +
    +
    + + + + diff --git a/d3/dbb/class_cycle_check.html b/d3/dbb/class_cycle_check.html index 7e835d658..0331545ee 100644 --- a/d3/dbb/class_cycle_check.html +++ b/d3/dbb/class_cycle_check.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: CycleCheck Class Reference +TheAlgorithms/C++: CycleCheck Class Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -130,7 +147,7 @@ Private Types
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    - +

    Static Private Member Functions

    static bool isCyclicDFSHelper (AdjList const &adjList, std::vector< nodeStates > *state, unsigned int node)
    static bool isCyclicDFSHelper (AdjList const &adjList, std::vector< nodeStates > *state, unsigned int node)
     

    Detailed Description

    @@ -140,6 +157,8 @@ Static Private Member Functions
  • isCyclicDFS uses DFS traversal method to check for cycle in a graph.
  • isCyclidBFS used BFS traversal method to check for cycle in a graph.
  • + +

    Definition at line 159 of file cycle_check_directed_graph.cpp.

    Member Enumeration Documentation

    ◆ nodeStates

    @@ -160,6 +179,8 @@ Static Private Member Functions
    + +

    Definition at line 161 of file cycle_check_directed_graph.cpp.

    161: uint8_t { not_visited = 0, in_stack, visited };
    @@ -196,11 +217,13 @@ Static Private Member Functions
    Returns
    true if a cycle is detected, else false.
    + +

    Definition at line 250 of file cycle_check_directed_graph.cpp.

    250 {
    251 auto graphAjdList = graph.getAdjList();
    252 auto vertices = graph.getVertices();
    253
    -
    254 std::vector<unsigned int> indegree(vertices, 0);
    +
    254 std::vector<unsigned int> indegree(vertices, 0);
    255 // Calculate the indegree i.e. the number of incident edges to the node.
    256 for (auto const& list : graphAjdList) {
    257 auto children = list.second;
    @@ -209,22 +232,22 @@ Static Private Member Functions
    260 }
    261 }
    262
    -
    263 std::queue<unsigned int> can_be_solved;
    +
    263 std::queue<unsigned int> can_be_solved;
    264 for (unsigned int node = 0; node < vertices; node++) {
    265 // If a node doesn't have any input edges, then that node will
    266 // definately not result in a cycle and can be visited safely.
    267 if (!indegree[node]) {
    -
    268 can_be_solved.emplace(node);
    +
    268 can_be_solved.emplace(node);
    269 }
    270 }
    271
    272 // Vertices that need to be traversed.
    273 auto remain = vertices;
    274 // While there are safe nodes that we can visit.
    -
    275 while (!can_be_solved.empty()) {
    -
    276 auto solved = can_be_solved.front();
    +
    275 while (!can_be_solved.empty()) {
    +
    276 auto solved = can_be_solved.front();
    277 // Visit the node.
    -
    278 can_be_solved.pop();
    +
    278 can_be_solved.pop();
    279 // Decrease number of nodes that need to be traversed.
    280 remain--;
    281
    @@ -236,7 +259,7 @@ Static Private Member Functions
    287 if (--indegree[child] == 0) {
    288 // if node can be visited safely, then add that node to
    289 // the visit queue.
    -
    290 can_be_solved.emplace(child);
    +
    290 can_be_solved.emplace(child);
    291 }
    292 }
    293 }
    @@ -246,21 +269,10 @@ Static Private Member Functions
    297 // there is a cycle and return true, else return false.
    298 return !(remain == 0);
    299 }
    -
    T emplace(T... args)
    -
    T empty(T... args)
    -
    T front(T... args)
    Graph Algorithms.
    -
    T pop(T... args)
    - -
    Definition hash_search.cpp:29
    -
    Definition binary_search_tree.cpp:11
    - -
    -Here is the call graph for this function:
    -
    -
    -
    - + + + @@ -297,17 +309,12 @@ Here is the call graph for this function:

    State of the node.

    It is a vector of "nodeStates" which represents the state node is in. It can take only 3 values: "not_visited", "in_stack", and "visited".

    Initially, all nodes are in "not_visited" state.

    + +

    Definition at line 213 of file cycle_check_directed_graph.cpp.

    213 {
    214 auto vertices = graph.getVertices();
    -
    215
    -
    216 /** State of the node.
    -
    217 *
    -
    218 * It is a vector of "nodeStates" which represents the state node is in.
    -
    219 * It can take only 3 values: "not_visited", "in_stack", and "visited".
    -
    220 *
    -
    221 * Initially, all nodes are in "not_visited" state.
    -
    222 */
    -
    223 std::vector<nodeStates> state(vertices, not_visited);
    +
    215
    +
    223 std::vector<nodeStates> state(vertices, not_visited);
    224
    225 // Start visiting each node.
    226 for (unsigned int node = 0; node < vertices; node++) {
    @@ -326,13 +333,8 @@ Here is the call graph for this function:
    239 // the graph. Return false.
    240 return false;
    241 }
    -
    static bool isCyclicDFSHelper(AdjList const &adjList, std::vector< nodeStates > *state, unsigned int node)
    Definition cycle_check_directed_graph.cpp:171
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static bool isCyclicDFSHelper(AdjList const &adjList, std::vector< nodeStates > *state, unsigned int node)
    + @@ -347,12 +349,12 @@ Here is the call graph for this function: static bool CycleCheck::isCyclicDFSHelper ( - AdjList const & adjList, + AdjList const & adjList, - std::vector< nodeStates > * state, + std::vector< nodeStates > * state, @@ -376,6 +378,8 @@ Here is the call graph for this function:
    Returns
    true if graph has a cycle, else false.
    + +

    Definition at line 171 of file cycle_check_directed_graph.cpp.

    173 {
    174 // Add node "in_stack" state.
    175 (*state)[node] = in_stack;
    @@ -407,17 +411,12 @@ Here is the call graph for this function:
    201 // Return that current node didn't result in any cycles.
    202 return false;
    203 }
    -
    struct node { int data; int height; struct node *left; struct node *right;} node
    for std::queue
    Definition avltree.cpp:13
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    struct node { int data; int height; struct node *left; struct node *right;} node
    for std::queue
    Definition avltree.cpp:13
    +
    The documentation for this class was generated from the following file: diff --git a/d3/dbb/class_cycle_check_a2f4485c08b45e7a21a2e86f9c3f01d8b_cgraph.map b/d3/dbb/class_cycle_check_a2f4485c08b45e7a21a2e86f9c3f01d8b_cgraph.map deleted file mode 100644 index 81a256988..000000000 --- a/d3/dbb/class_cycle_check_a2f4485c08b45e7a21a2e86f9c3f01d8b_cgraph.map +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/d3/dbb/class_cycle_check_a2f4485c08b45e7a21a2e86f9c3f01d8b_cgraph.md5 b/d3/dbb/class_cycle_check_a2f4485c08b45e7a21a2e86f9c3f01d8b_cgraph.md5 deleted file mode 100644 index 9535c3b17..000000000 --- a/d3/dbb/class_cycle_check_a2f4485c08b45e7a21a2e86f9c3f01d8b_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -195c73ff687383e161660384b18774c1 \ No newline at end of file diff --git a/d3/dbb/class_cycle_check_a2f4485c08b45e7a21a2e86f9c3f01d8b_cgraph.svg b/d3/dbb/class_cycle_check_a2f4485c08b45e7a21a2e86f9c3f01d8b_cgraph.svg deleted file mode 100644 index 1369b46d0..000000000 --- a/d3/dbb/class_cycle_check_a2f4485c08b45e7a21a2e86f9c3f01d8b_cgraph.svg +++ /dev/null @@ -1,92 +0,0 @@ - - - - - - - - - - - - -CycleCheck::isCyclicDFSHelper - - -Node1 - - -CycleCheck::isCyclicDFSHelper - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::map::end - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::map::find - - - - - -Node1->Node3 - - - - - - - - - - - - - diff --git a/d3/dbb/class_cycle_check_a2f4485c08b45e7a21a2e86f9c3f01d8b_cgraph_org.svg b/d3/dbb/class_cycle_check_a2f4485c08b45e7a21a2e86f9c3f01d8b_cgraph_org.svg deleted file mode 100644 index 95e52201c..000000000 --- a/d3/dbb/class_cycle_check_a2f4485c08b45e7a21a2e86f9c3f01d8b_cgraph_org.svg +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - -CycleCheck::isCyclicDFSHelper - - -Node1 - - -CycleCheck::isCyclicDFSHelper - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::map::end - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::map::find - - - - - -Node1->Node3 - - - - - - - - diff --git a/d3/dbb/class_cycle_check_a399292a33edf87499daa52b51315aca5_cgraph.map b/d3/dbb/class_cycle_check_a399292a33edf87499daa52b51315aca5_cgraph.map deleted file mode 100644 index 89649dea7..000000000 --- a/d3/dbb/class_cycle_check_a399292a33edf87499daa52b51315aca5_cgraph.map +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/d3/dbb/class_cycle_check_a399292a33edf87499daa52b51315aca5_cgraph.md5 b/d3/dbb/class_cycle_check_a399292a33edf87499daa52b51315aca5_cgraph.md5 deleted file mode 100644 index 70a119e7d..000000000 --- a/d3/dbb/class_cycle_check_a399292a33edf87499daa52b51315aca5_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -eccf7ed03c618aa2aa56d0bbc846f71e \ No newline at end of file diff --git a/d3/dbb/class_cycle_check_a399292a33edf87499daa52b51315aca5_cgraph.svg b/d3/dbb/class_cycle_check_a399292a33edf87499daa52b51315aca5_cgraph.svg deleted file mode 100644 index a2fd1d870..000000000 --- a/d3/dbb/class_cycle_check_a399292a33edf87499daa52b51315aca5_cgraph.svg +++ /dev/null @@ -1,119 +0,0 @@ - - - - - - - - - - - - -CycleCheck::isCyclicBFS - - -Node1 - - -CycleCheck::isCyclicBFS - - - - - -Node2 - - -std::queue::emplace - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::queue::empty - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::queue::front - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::queue::pop - - - - - -Node1->Node5 - - - - - - - - - - - - - diff --git a/d3/dbb/class_cycle_check_a399292a33edf87499daa52b51315aca5_cgraph_org.svg b/d3/dbb/class_cycle_check_a399292a33edf87499daa52b51315aca5_cgraph_org.svg deleted file mode 100644 index 0ebea2540..000000000 --- a/d3/dbb/class_cycle_check_a399292a33edf87499daa52b51315aca5_cgraph_org.svg +++ /dev/null @@ -1,93 +0,0 @@ - - - - - - -CycleCheck::isCyclicBFS - - -Node1 - - -CycleCheck::isCyclicBFS - - - - - -Node2 - - -std::queue::emplace - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::queue::empty - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::queue::front - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::queue::pop - - - - - -Node1->Node5 - - - - - - - - diff --git a/d3/dbb/class_cycle_check_ad9a270ffba3a68539b92272c702e3474_cgraph.map b/d3/dbb/class_cycle_check_ad9a270ffba3a68539b92272c702e3474_cgraph.map deleted file mode 100644 index 72317c234..000000000 --- a/d3/dbb/class_cycle_check_ad9a270ffba3a68539b92272c702e3474_cgraph.map +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/d3/dbb/class_cycle_check_ad9a270ffba3a68539b92272c702e3474_cgraph.md5 b/d3/dbb/class_cycle_check_ad9a270ffba3a68539b92272c702e3474_cgraph.md5 deleted file mode 100644 index 7930829a4..000000000 --- a/d3/dbb/class_cycle_check_ad9a270ffba3a68539b92272c702e3474_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -7eba2a3b2336eb4b60d6f72ea3e2fd8d \ No newline at end of file diff --git a/d3/dbb/class_cycle_check_ad9a270ffba3a68539b92272c702e3474_cgraph.svg b/d3/dbb/class_cycle_check_ad9a270ffba3a68539b92272c702e3474_cgraph.svg deleted file mode 100644 index 413db771b..000000000 --- a/d3/dbb/class_cycle_check_ad9a270ffba3a68539b92272c702e3474_cgraph.svg +++ /dev/null @@ -1,110 +0,0 @@ - - - - - - - - - - - - -CycleCheck::isCyclicDFS - - -Node1 - - -CycleCheck::isCyclicDFS - - - - - -Node2 - - -CycleCheck::isCyclicDFSHelper - - - - - -Node1->Node2 - - - - - - - - -Node2->Node2 - - - - - - - - -Node3 - - -std::map::end - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::map::find - - - - - -Node2->Node4 - - - - - - - - - - - - - diff --git a/d3/dbb/class_cycle_check_ad9a270ffba3a68539b92272c702e3474_cgraph_org.svg b/d3/dbb/class_cycle_check_ad9a270ffba3a68539b92272c702e3474_cgraph_org.svg deleted file mode 100644 index 1abd54a6f..000000000 --- a/d3/dbb/class_cycle_check_ad9a270ffba3a68539b92272c702e3474_cgraph_org.svg +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - -CycleCheck::isCyclicDFS - - -Node1 - - -CycleCheck::isCyclicDFS - - - - - -Node2 - - -CycleCheck::isCyclicDFSHelper - - - - - -Node1->Node2 - - - - - - - - -Node2->Node2 - - - - - - - - -Node3 - - -std::map::end - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::map::find - - - - - -Node2->Node4 - - - - - - - - diff --git a/d3/dbf/classhashing_1_1sha256_1_1_hash-members.html b/d3/dbf/classhashing_1_1sha256_1_1_hash-members.html index fd6b4365a..16cb3dc06 100644 --- a/d3/dbf/classhashing_1_1sha256_1_1_hash-members.html +++ b/d3/dbf/classhashing_1_1sha256_1_1_hash-members.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Member List +TheAlgorithms/C++: Member List + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/d3/dc1/bucket__sort_8cpp_source.html b/d3/dc1/bucket__sort_8cpp_source.html new file mode 100644 index 000000000..f0dd8dcf7 --- /dev/null +++ b/d3/dc1/bucket__sort_8cpp_source.html @@ -0,0 +1,174 @@ + + + + + + + + +TheAlgorithms/C++: sorting/bucket_sort.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + + +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    bucket_sort.cpp
    +
    +
    +
    1// C++ program to sort an array using bucket sort
    +
    2#include <algorithm>
    +
    3#include <iostream>
    +
    4#include <vector>
    +
    5
    +
    6// Function to sort arr[] of size n using bucket sort
    +
    7void bucketSort(float arr[], int n) {
    +
    8 // 1) Create n empty buckets
    +
    9 std::vector<float> *b = new std::vector<float>[n];
    +
    10
    +
    11 // 2) Put array elements in different buckets
    +
    12 for (int i = 0; i < n; i++) {
    +
    13 int bi = n * arr[i]; // Index in bucket
    +
    14 b[bi].push_back(arr[i]);
    +
    15 }
    +
    16
    +
    17 // 3) Sort individual buckets
    +
    18 for (int i = 0; i < n; i++) std::sort(b[i].begin(), b[i].end());
    +
    19
    +
    20 // 4) Concatenate all buckets into arr[]
    +
    21 int index = 0;
    +
    22 for (int i = 0; i < n; i++)
    +
    23 for (int j = 0; j < b[i].size(); j++) arr[index++] = b[i][j];
    +
    24 delete[] b;
    +
    25}
    +
    26
    +
    27/* Driver program to test above funtion */
    +
    28int main() {
    +
    29 float arr[] = {0.897, 0.565, 0.656, 0.1234, 0.665, 0.3434};
    +
    30 int n = sizeof(arr) / sizeof(arr[0]);
    +
    31 bucketSort(arr, n);
    +
    32
    +
    33 std::cout << "Sorted array is \n";
    +
    34 for (int i = 0; i < n; i++) std::cout << arr[i] << " ";
    +
    35 return 0;
    +
    36}
    +
    int main()
    Main function.
    +
    +
    + + + + diff --git a/d3/dc9/namespacefibonacci__sum.html b/d3/dc9/namespacefibonacci__sum.html index ad8368b4a..6fe45a206 100644 --- a/d3/dc9/namespacefibonacci__sum.html +++ b/d3/dc9/namespacefibonacci__sum.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: fibonacci_sum Namespace Reference +TheAlgorithms/C++: fibonacci_sum Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/d3/dce/linkedlist__implentation__usingarray_8cpp.html b/d3/dce/linkedlist__implentation__usingarray_8cpp.html index 0e04e0621..50f8f36ad 100644 --- a/d3/dce/linkedlist__implentation__usingarray_8cpp.html +++ b/d3/dce/linkedlist__implentation__usingarray_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: data_structures/linkedlist_implentation_usingarray.cpp File Reference +TheAlgorithms/C++: data_structures/linkedlist_implentation_usingarray.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + @@ -120,7 +137,9 @@ Include dependency graph for linkedlist_implentation_usingarray.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -145,15 +164,12 @@ Functions

    Classes

    class  Node< ValueType >
    - - + + - + - +

    Variables

    -Node AvailArray [100]
     array that will act as nodes of a linked list.
    Node AvailArray [100]
     array that will act as nodes of a linked list.
     
    -int head = -1
    int head = -1
     
    -int avail = 0
    int avail = 0
     

    Detailed Description

    @@ -162,6 +178,8 @@ int avail = 0The NULL is represented by -1;
  • Limited size. (in the following case it is 100 nodes at max). But we can reuse the nodes that are to be deleted by again linking it bacj to the list.
  • + +

    Definition in file linkedlist_implentation_usingarray.cpp.

    Function Documentation

    ◆ display()

    @@ -177,17 +195,17 @@ int avail = 0
    + +

    Definition at line 69 of file linkedlist_implentation_usingarray.cpp.

    69 {
    70 int temp = head;
    71 while (temp != -1) {
    -
    72 std::cout << AvailArray[temp].data << "->";
    +
    72 std::cout << AvailArray[temp].data << "->";
    73 temp = AvailArray[temp].next;
    74 }
    -
    75 std::cout << "-1" << std::endl;
    +
    75 std::cout << "-1" << std::endl;
    76}
    - -
    T endl(T... args)
    -
    Node AvailArray[100]
    array that will act as nodes of a linked list.
    Definition linkedlist_implentation_usingarray.cpp:19
    +
    Node AvailArray[100]
    array that will act as nodes of a linked list.
    @@ -206,6 +224,8 @@ int avail = 0

    This function when called will delete the node with the index presented as an argument, and will put back that node into the array.

    + +

    Definition at line 42 of file linkedlist_implentation_usingarray.cpp.

    42 {
    43 AvailArray[nodeToBeDeleted].next = avail;
    44 avail = nodeToBeDeleted;
    @@ -228,6 +248,8 @@ int avail = 0

    This will return the index of the first free node present in the avail list

    + +

    Definition at line 32 of file linkedlist_implentation_usingarray.cpp.

    32 {
    33 int NodeIndexToBeReturned = avail;
    34 avail = AvailArray[avail].next;
    @@ -250,6 +272,8 @@ int avail = 0
    + +

    Definition at line 23 of file linkedlist_implentation_usingarray.cpp.

    23 {
    24 for (int i = 0; i <= 98; i++) {
    25 AvailArray[i].next = i + 1;
    @@ -274,20 +298,17 @@ int avail = 0

    The function will insert the given data into the front of the linked list.

    + +

    Definition at line 50 of file linkedlist_implentation_usingarray.cpp.

    50 {
    51 int newNode = getnode();
    52 AvailArray[newNode].data = data;
    53 AvailArray[newNode].next = head;
    54 head = newNode;
    55}
    -
    int data[MAX]
    test data
    Definition hash_search.cpp:24
    -
    int getnode()
    Definition linkedlist_implentation_usingarray.cpp:32
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    int data[MAX]
    test data
    + +
    @@ -304,6 +325,8 @@ Here is the call graph for this function:
    + +

    Definition at line 57 of file linkedlist_implentation_usingarray.cpp.

    57 {
    58 int newNode = getnode();
    59 int temp = head;
    @@ -333,49 +356,96 @@ Here is the call graph for this function:

    Main function

    + +

    Definition at line 79 of file linkedlist_implentation_usingarray.cpp.

    79 {
    80 initialise_list();
    81 int x, y, z;
    82 for (;;) {
    -
    83 std::cout << "1. Insert At The Beginning" << std::endl;
    -
    84 std::cout << "2. Insert At The End" << std::endl;
    -
    85 std::cout << "3. Display" << std::endl;
    -
    86 std::cout << "4.Exit" << std::endl;
    -
    87 std::cout << "Enter Your choice" << std::endl;
    -
    88 std::cin >> z;
    +
    83 std::cout << "1. Insert At The Beginning" << std::endl;
    +
    84 std::cout << "2. Insert At The End" << std::endl;
    +
    85 std::cout << "3. Display" << std::endl;
    +
    86 std::cout << "4.Exit" << std::endl;
    +
    87 std::cout << "Enter Your choice" << std::endl;
    +
    88 std::cin >> z;
    89 switch (z) {
    90 case 1:
    -
    91 std::cout << "Enter the number you want to enter" << std::endl;
    -
    92 std::cin >> x;
    +
    91 std::cout << "Enter the number you want to enter" << std::endl;
    +
    92 std::cin >> x;
    94 break;
    95 case 2:
    -
    96 std::cout << "Enter the number you want to enter" << std::endl;
    -
    97 std::cin >> y;
    +
    96 std::cout << "Enter the number you want to enter" << std::endl;
    +
    97 std::cin >> y;
    98 insertAtTheEnd(y);
    99 break;
    100 case 3:
    - +
    101 std::cout
    102 << "The linked list contains the following element in order"
    -
    103 << std::endl;
    +
    103 << std::endl;
    104 display();
    105 break;
    106 case 4:
    107 return 0;
    108 default:
    -
    109 std::cout << "The entered choice is not correct" << std::endl;
    +
    109 std::cout << "The entered choice is not correct" << std::endl;
    110 }
    111 }
    112
    113 return 0;
    114}
    - -
    void insertAtTheBeginning(int data)
    Definition linkedlist_implentation_usingarray.cpp:50
    -
    -Here is the call graph for this function:
    -
    -
    +
    void insertAtTheBeginning(int data)
    +
    + +

    Variable Documentation

    + +

    ◆ avail

    + +
    +
    + + + + +
    int avail = 0
    +
    + +

    Definition at line 22 of file linkedlist_implentation_usingarray.cpp.

    + +
    +
    + +

    ◆ AvailArray

    + +
    +
    + + + + +
    Node AvailArray[100]
    +
    + +

    array that will act as nodes of a linked list.

    + +

    Definition at line 19 of file linkedlist_implentation_usingarray.cpp.

    + +
    +
    + +

    ◆ head

    + +
    +
    + + + + +
    int head = -1
    +
    + +

    Definition at line 21 of file linkedlist_implentation_usingarray.cpp.

    diff --git a/d3/dce/linkedlist__implentation__usingarray_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d3/dce/linkedlist__implentation__usingarray_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index db3849c48..000000000 --- a/d3/dce/linkedlist__implentation__usingarray_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/d3/dce/linkedlist__implentation__usingarray_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d3/dce/linkedlist__implentation__usingarray_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index 79864421c..000000000 --- a/d3/dce/linkedlist__implentation__usingarray_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -bcdc38dc6668a6abfab60cdb5db7f640 \ No newline at end of file diff --git a/d3/dce/linkedlist__implentation__usingarray_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d3/dce/linkedlist__implentation__usingarray_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 7c0219d62..000000000 --- a/d3/dce/linkedlist__implentation__usingarray_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -insertAtTheBeginning - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -getnode - - - - - -Node3->Node4 - - - - - - - - - - - - - diff --git a/d3/dce/linkedlist__implentation__usingarray_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d3/dce/linkedlist__implentation__usingarray_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 82bee8d54..000000000 --- a/d3/dce/linkedlist__implentation__usingarray_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -insertAtTheBeginning - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -getnode - - - - - -Node3->Node4 - - - - - - - - diff --git a/d3/dce/linkedlist__implentation__usingarray_8cpp_afcb07da7984e20b3207934696791f5df_cgraph.map b/d3/dce/linkedlist__implentation__usingarray_8cpp_afcb07da7984e20b3207934696791f5df_cgraph.map deleted file mode 100644 index 3a248a29f..000000000 --- a/d3/dce/linkedlist__implentation__usingarray_8cpp_afcb07da7984e20b3207934696791f5df_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d3/dce/linkedlist__implentation__usingarray_8cpp_afcb07da7984e20b3207934696791f5df_cgraph.md5 b/d3/dce/linkedlist__implentation__usingarray_8cpp_afcb07da7984e20b3207934696791f5df_cgraph.md5 deleted file mode 100644 index 03f2c5ab7..000000000 --- a/d3/dce/linkedlist__implentation__usingarray_8cpp_afcb07da7984e20b3207934696791f5df_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -b7f35c7af9c26cd8bf27777c90d80ed3 \ No newline at end of file diff --git a/d3/dce/linkedlist__implentation__usingarray_8cpp_afcb07da7984e20b3207934696791f5df_cgraph.svg b/d3/dce/linkedlist__implentation__usingarray_8cpp_afcb07da7984e20b3207934696791f5df_cgraph.svg deleted file mode 100644 index f9e28d911..000000000 --- a/d3/dce/linkedlist__implentation__usingarray_8cpp_afcb07da7984e20b3207934696791f5df_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -insertAtTheBeginning - - -Node1 - - -insertAtTheBeginning - - - - - -Node2 - - -getnode - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d3/dce/linkedlist__implentation__usingarray_8cpp_afcb07da7984e20b3207934696791f5df_cgraph_org.svg b/d3/dce/linkedlist__implentation__usingarray_8cpp_afcb07da7984e20b3207934696791f5df_cgraph_org.svg deleted file mode 100644 index 2a01e912f..000000000 --- a/d3/dce/linkedlist__implentation__usingarray_8cpp_afcb07da7984e20b3207934696791f5df_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -insertAtTheBeginning - - -Node1 - - -insertAtTheBeginning - - - - - -Node2 - - -getnode - - - - - -Node1->Node2 - - - - - - - - diff --git a/d3/dce/linkedlist__implentation__usingarray_8cpp_source.html b/d3/dce/linkedlist__implentation__usingarray_8cpp_source.html new file mode 100644 index 000000000..fca3f9af4 --- /dev/null +++ b/d3/dce/linkedlist__implentation__usingarray_8cpp_source.html @@ -0,0 +1,248 @@ + + + + + + + + +TheAlgorithms/C++: data_structures/linkedlist_implentation_usingarray.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    linkedlist_implentation_usingarray.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    12#include <iostream>
    +
    13
    +
    +
    14struct Node {
    +
    15 int data;
    +
    16 int next;
    +
    17};
    +
    +
    18
    + +
    20
    +
    21int head = -1;
    +
    22int avail = 0;
    +
    23void initialise_list() {
    +
    24 for (int i = 0; i <= 98; i++) {
    +
    25 AvailArray[i].next = i + 1;
    +
    26 }
    +
    27 AvailArray[99].next = -1; // indicating the end of the linked list.
    +
    28}
    +
    29
    +
    +
    32int getnode() {
    +
    33 int NodeIndexToBeReturned = avail;
    +
    34 avail = AvailArray[avail].next;
    +
    35 return NodeIndexToBeReturned;
    +
    36}
    +
    +
    37
    +
    +
    42void freeNode(int nodeToBeDeleted) {
    +
    43 AvailArray[nodeToBeDeleted].next = avail;
    +
    44 avail = nodeToBeDeleted;
    +
    45}
    +
    +
    46
    +
    + +
    51 int newNode = getnode();
    +
    52 AvailArray[newNode].data = data;
    +
    53 AvailArray[newNode].next = head;
    +
    54 head = newNode;
    +
    55}
    +
    +
    56
    +
    57void insertAtTheEnd(int data) {
    +
    58 int newNode = getnode();
    +
    59 int temp = head;
    +
    60 while (AvailArray[temp].next != -1) {
    +
    61 temp = AvailArray[temp].next;
    +
    62 }
    +
    63 // temp is now pointing to the end node.
    +
    64 AvailArray[newNode].data = data;
    +
    65 AvailArray[newNode].next = -1;
    +
    66 AvailArray[temp].next = newNode;
    +
    67}
    +
    68
    +
    69void display() {
    +
    70 int temp = head;
    +
    71 while (temp != -1) {
    +
    72 std::cout << AvailArray[temp].data << "->";
    +
    73 temp = AvailArray[temp].next;
    +
    74 }
    +
    75 std::cout << "-1" << std::endl;
    +
    76}
    +
    77
    +
    +
    79int main() {
    +
    80 initialise_list();
    +
    81 int x, y, z;
    +
    82 for (;;) {
    +
    83 std::cout << "1. Insert At The Beginning" << std::endl;
    +
    84 std::cout << "2. Insert At The End" << std::endl;
    +
    85 std::cout << "3. Display" << std::endl;
    +
    86 std::cout << "4.Exit" << std::endl;
    +
    87 std::cout << "Enter Your choice" << std::endl;
    +
    88 std::cin >> z;
    +
    89 switch (z) {
    +
    90 case 1:
    +
    91 std::cout << "Enter the number you want to enter" << std::endl;
    +
    92 std::cin >> x;
    + +
    94 break;
    +
    95 case 2:
    +
    96 std::cout << "Enter the number you want to enter" << std::endl;
    +
    97 std::cin >> y;
    +
    98 insertAtTheEnd(y);
    +
    99 break;
    +
    100 case 3:
    +
    101 std::cout
    +
    102 << "The linked list contains the following element in order"
    +
    103 << std::endl;
    +
    104 display();
    +
    105 break;
    +
    106 case 4:
    +
    107 return 0;
    +
    108 default:
    +
    109 std::cout << "The entered choice is not correct" << std::endl;
    +
    110 }
    +
    111 }
    +
    112
    +
    113 return 0;
    +
    114}
    +
    +
    int data[MAX]
    test data
    +
    void freeNode(int nodeToBeDeleted)
    + + +
    Node AvailArray[100]
    array that will act as nodes of a linked list.
    +
    void insertAtTheBeginning(int data)
    + +
    +
    + + + + diff --git a/d3/dd7/md__c_o_d_e___o_f___c_o_n_d_u_c_t.html b/d3/dd7/md__c_o_d_e___o_f___c_o_n_d_u_c_t.html index 444e236bd..0435f10d7 100644 --- a/d3/dd7/md__c_o_d_e___o_f___c_o_n_d_u_c_t.html +++ b/d3/dd7/md__c_o_d_e___o_f___c_o_n_d_u_c_t.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Contributor Covenant Code of Conduct +TheAlgorithms/C++: Contributor Covenant Code of Conduct + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/d3/de4/classrange__queries_1_1heavy__light__decomposition_1_1_s_g-members.html b/d3/de4/classrange__queries_1_1heavy__light__decomposition_1_1_s_g-members.html index 99e8e565e..b2a051965 100644 --- a/d3/de4/classrange__queries_1_1heavy__light__decomposition_1_1_s_g-members.html +++ b/d3/de4/classrange__queries_1_1heavy__light__decomposition_1_1_s_g-members.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Member List +TheAlgorithms/C++: Member List + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/d3/dea/stack__using__linked__list_8cpp_source.html b/d3/dea/stack__using__linked__list_8cpp_source.html new file mode 100644 index 000000000..726477fd4 --- /dev/null +++ b/d3/dea/stack__using__linked__list_8cpp_source.html @@ -0,0 +1,206 @@ + + + + + + + + +TheAlgorithms/C++: data_structures/stack_using_linked_list.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + + +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    stack_using_linked_list.cpp
    +
    +
    +
    1#include <iostream>
    +
    2
    +
    3struct node {
    +
    4 int val;
    +
    5 node *next;
    +
    6};
    +
    7
    +
    8node *top_var;
    +
    9
    +
    10void push(int x) {
    +
    11 node *n = new node;
    +
    12 n->val = x;
    +
    13 n->next = top_var;
    +
    14 top_var = n;
    +
    15}
    +
    16
    +
    17void pop() {
    +
    18 if (top_var == nullptr) {
    +
    19 std::cout << "\nUnderflow";
    +
    20 } else {
    +
    21 node *t = top_var;
    +
    22 std::cout << "\n" << t->val << " deleted";
    +
    23 top_var = top_var->next;
    +
    24 delete t;
    +
    25 }
    +
    26}
    +
    27
    +
    28void show() {
    +
    29 node *t = top_var;
    +
    30 while (t != nullptr) {
    +
    31 std::cout << t->val << "\n";
    +
    32 t = t->next;
    +
    33 }
    +
    34}
    +
    35
    +
    36int main() {
    +
    37 int ch = 0, x = 0;
    +
    38 do {
    +
    39 std::cout << "\n0. Exit or Ctrl+C";
    +
    40 std::cout << "\n1. Push";
    +
    41 std::cout << "\n2. Pop";
    +
    42 std::cout << "\n3. Print";
    +
    43 std::cout << "\nEnter Your Choice: ";
    +
    44 std::cin >> ch;
    +
    45 switch (ch) {
    +
    46 case 0:
    +
    47 break;
    +
    48 case 1:
    +
    49 std::cout << "\nInsert : ";
    +
    50 std::cin >> x;
    +
    51 push(x);
    +
    52 break;
    +
    53 case 2:
    +
    54 pop();
    +
    55 break;
    +
    56 case 3:
    +
    57 show();
    +
    58 break;
    +
    59 default:
    +
    60 std::cout << "Invalid option!\n";
    +
    61 break;
    +
    62 }
    +
    63 } while (ch != 0);
    +
    64
    +
    65 return 0;
    +
    66}
    +
    struct node { int data; int height; struct node *left; struct node *right;} node
    for std::queue
    Definition avltree.cpp:13
    +
    int main()
    Main function.
    + +
    +
    + + + + diff --git a/d3/deb/namespaceshortest__common__supersequence.html b/d3/deb/namespaceshortest__common__supersequence.html index 54645ac2e..32b53dbd4 100644 --- a/d3/deb/namespaceshortest__common__supersequence.html +++ b/d3/deb/namespaceshortest__common__supersequence.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: shortest_common_supersequence Namespace Reference +TheAlgorithms/C++: shortest_common_supersequence Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/d3/dec/cycle__check__directed__graph_8cpp_source.html b/d3/dec/cycle__check__directed__graph_8cpp_source.html new file mode 100644 index 000000000..89b16d3a2 --- /dev/null +++ b/d3/dec/cycle__check__directed__graph_8cpp_source.html @@ -0,0 +1,385 @@ + + + + + + + + +TheAlgorithms/C++: graph/cycle_check_directed_graph.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + + +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    cycle_check_directed_graph.cpp
    +
    +
    +
    1
    +
    10#include <cstdint>
    +
    11#include <iostream> // for std::cout
    +
    12#include <map> // for std::map
    +
    13#include <queue> // for std::queue
    +
    14#include <stdexcept> // for throwing errors
    +
    15#include <type_traits> // for std::remove_reference
    +
    16#include <utility> // for std::move
    +
    17#include <vector> // for std::vector
    +
    18
    +
    25struct Edge {
    +
    26 unsigned int src;
    +
    27 unsigned int dest;
    +
    28
    +
    29 Edge() = delete;
    +
    30 ~Edge() = default;
    +
    31 Edge(Edge&&) = default;
    +
    32 Edge& operator=(Edge&&) = default;
    +
    33 Edge(Edge const&) = default;
    +
    34 Edge& operator=(Edge const&) = default;
    +
    35
    +
    +
    41 Edge(unsigned int source, unsigned int destination)
    +
    42 : src(source), dest(destination) {}
    +
    +
    43};
    +
    44
    +
    45using AdjList = std::map<unsigned int, std::vector<unsigned int>>;
    +
    46
    +
    55class Graph {
    +
    56 public:
    +
    57 Graph() : m_adjList({}) {}
    +
    58 ~Graph() = default;
    +
    59 Graph(Graph&&) = default;
    +
    60 Graph& operator=(Graph&&) = default;
    +
    61 Graph(Graph const&) = default;
    +
    62 Graph& operator=(Graph const&) = default;
    +
    63
    +
    +
    69 Graph(unsigned int vertices, AdjList adjList)
    +
    70 : m_vertices(vertices), m_adjList(std::move(adjList)) {}
    +
    +
    71
    +
    +
    77 Graph(unsigned int vertices, AdjList&& adjList)
    +
    78 : m_vertices(vertices), m_adjList(std::move(adjList)) {}
    +
    +
    79
    +
    +
    89 Graph(unsigned int vertices, std::vector<Edge> const& edges)
    +
    90 : m_vertices(vertices) {
    +
    91 for (auto const& edge : edges) {
    +
    92 if (edge.src >= vertices || edge.dest >= vertices) {
    +
    93 throw std::range_error(
    +
    94 "Either src or dest of edge out of range");
    +
    95 }
    +
    96 m_adjList[edge.src].emplace_back(edge.dest);
    +
    97 }
    +
    98 }
    +
    +
    99
    +
    +
    104 std::remove_reference<AdjList>::type const& getAdjList() const {
    +
    105 return m_adjList;
    +
    106 }
    +
    +
    107
    +
    111 unsigned int getVertices() const { return m_vertices; }
    +
    112
    +
    119 void addVertices(unsigned int num = 1) { m_vertices += num; }
    +
    120
    +
    +
    125 void addEdge(Edge const& edge) {
    +
    126 if (edge.src >= m_vertices || edge.dest >= m_vertices) {
    +
    127 throw std::range_error("Either src or dest of edge out of range");
    +
    128 }
    +
    129 m_adjList[edge.src].emplace_back(edge.dest);
    +
    130 }
    +
    +
    131
    +
    +
    137 void addEdge(unsigned int source, unsigned int destination) {
    +
    138 if (source >= m_vertices || destination >= m_vertices) {
    +
    139 throw std::range_error(
    +
    140 "Either source or destination of edge out of range");
    +
    141 }
    +
    142 m_adjList[source].emplace_back(destination);
    +
    143 }
    +
    +
    144
    +
    145 private:
    +
    146 unsigned int m_vertices = 0;
    +
    147 AdjList m_adjList;
    +
    148};
    +
    149
    +
    + +
    160 private:
    +
    161 enum nodeStates : uint8_t { not_visited = 0, in_stack, visited };
    +
    162
    +
    +
    171 static bool isCyclicDFSHelper(AdjList const& adjList,
    +
    172 std::vector<nodeStates>* state,
    +
    173 unsigned int node) {
    +
    174 // Add node "in_stack" state.
    +
    175 (*state)[node] = in_stack;
    +
    176
    +
    177 // If the node has children, then recursively visit all children of the
    +
    178 // node.
    +
    179 auto const it = adjList.find(node);
    +
    180 if (it != adjList.end()) {
    +
    181 for (auto child : it->second) {
    +
    182 // If state of child node is "not_visited", evaluate that child
    +
    183 // for presence of cycle.
    +
    184 auto state_of_child = (*state)[child];
    +
    185 if (state_of_child == not_visited) {
    +
    186 if (isCyclicDFSHelper(adjList, state, child)) {
    +
    187 return true;
    +
    188 }
    +
    189 } else if (state_of_child == in_stack) {
    +
    190 // If child node was "in_stack", then that means that there
    +
    191 // is a cycle in the graph. Return true for presence of the
    +
    192 // cycle.
    +
    193 return true;
    +
    194 }
    +
    195 }
    +
    196 }
    +
    197
    +
    198 // Current node has been evaluated for the presence of cycle and had no
    +
    199 // cycle. Mark current node as "visited".
    +
    200 (*state)[node] = visited;
    +
    201 // Return that current node didn't result in any cycles.
    +
    202 return false;
    +
    203 }
    +
    +
    204
    +
    205 public:
    +
    +
    213 static bool isCyclicDFS(Graph const& graph) {
    +
    214 auto vertices = graph.getVertices();
    +
    215
    +
    223 std::vector<nodeStates> state(vertices, not_visited);
    +
    224
    +
    225 // Start visiting each node.
    +
    226 for (unsigned int node = 0; node < vertices; node++) {
    +
    227 // If a node is not visited, only then check for presence of cycle.
    +
    228 // There is no need to check for presence of cycle for a visited
    +
    229 // node as it has already been checked for presence of cycle.
    +
    230 if (state[node] == not_visited) {
    +
    231 // Check for cycle.
    +
    232 if (isCyclicDFSHelper(graph.getAdjList(), &state, node)) {
    +
    233 return true;
    +
    234 }
    +
    235 }
    +
    236 }
    +
    237
    +
    238 // All nodes have been safely traversed, that means there is no cycle in
    +
    239 // the graph. Return false.
    +
    240 return false;
    +
    241 }
    +
    +
    242
    +
    +
    250 static bool isCyclicBFS(Graph const& graph) {
    +
    251 auto graphAjdList = graph.getAdjList();
    +
    252 auto vertices = graph.getVertices();
    +
    253
    +
    254 std::vector<unsigned int> indegree(vertices, 0);
    +
    255 // Calculate the indegree i.e. the number of incident edges to the node.
    +
    256 for (auto const& list : graphAjdList) {
    +
    257 auto children = list.second;
    +
    258 for (auto const& child : children) {
    +
    259 indegree[child]++;
    +
    260 }
    +
    261 }
    +
    262
    +
    263 std::queue<unsigned int> can_be_solved;
    +
    264 for (unsigned int node = 0; node < vertices; node++) {
    +
    265 // If a node doesn't have any input edges, then that node will
    +
    266 // definately not result in a cycle and can be visited safely.
    +
    267 if (!indegree[node]) {
    +
    268 can_be_solved.emplace(node);
    +
    269 }
    +
    270 }
    +
    271
    +
    272 // Vertices that need to be traversed.
    +
    273 auto remain = vertices;
    +
    274 // While there are safe nodes that we can visit.
    +
    275 while (!can_be_solved.empty()) {
    +
    276 auto solved = can_be_solved.front();
    +
    277 // Visit the node.
    +
    278 can_be_solved.pop();
    +
    279 // Decrease number of nodes that need to be traversed.
    +
    280 remain--;
    +
    281
    +
    282 // Visit all the children of the visited node.
    +
    283 auto it = graphAjdList.find(solved);
    +
    284 if (it != graphAjdList.end()) {
    +
    285 for (auto child : it->second) {
    +
    286 // Check if we can visited the node safely.
    +
    287 if (--indegree[child] == 0) {
    +
    288 // if node can be visited safely, then add that node to
    +
    289 // the visit queue.
    +
    290 can_be_solved.emplace(child);
    +
    291 }
    +
    292 }
    +
    293 }
    +
    294 }
    +
    295
    +
    296 // If there are still nodes that we can't visit, then it means that
    +
    297 // there is a cycle and return true, else return false.
    +
    298 return !(remain == 0);
    +
    299 }
    +
    +
    300};
    +
    +
    301
    +
    305int main() {
    +
    306 // Instantiate the graph.
    +
    307 Graph g(7, std::vector<Edge>{{0, 1}, {1, 2}, {2, 0}, {2, 5}, {3, 5}});
    +
    308 // Check for cycle using BFS method.
    +
    309 std::cout << CycleCheck::isCyclicBFS(g) << '\n';
    +
    310
    +
    311 // Check for cycle using DFS method.
    +
    312 std::cout << CycleCheck::isCyclicDFS(g) << '\n';
    +
    313 return 0;
    +
    314}
    +
    struct node { int data; int height; struct node *left; struct node *right;} node
    for std::queue
    Definition avltree.cpp:13
    + +
    static bool isCyclicDFSHelper(AdjList const &adjList, std::vector< nodeStates > *state, unsigned int node)
    +
    static bool isCyclicBFS(Graph const &graph)
    +
    static bool isCyclicDFS(Graph const &graph)
    + +
    Edge(unsigned int source, unsigned int destination)
    + +
    std::remove_reference< AdjList >::type const & getAdjList() const
    +
    Graph(unsigned int vertices, AdjList &&adjList)
    +
    unsigned int getVertices() const
    +
    Graph(unsigned int vertices, std::vector< Edge > const &edges)
    +
    void addVertices(unsigned int num=1)
    +
    void addEdge(unsigned int source, unsigned int destination)
    +
    Graph(unsigned int vertices, AdjList adjList)
    +
    void addEdge(Edge const &edge)
    +
    double g(double x)
    Another test function.
    +
    int main()
    Main function.
    +
    Graph Algorithms.
    + + +
    +
    + + + + diff --git a/d3/df9/recursive__bubble__sort_8cpp.html b/d3/df9/recursive__bubble__sort_8cpp.html index 2f74a68a4..f09c27846 100644 --- a/d3/df9/recursive__bubble__sort_8cpp.html +++ b/d3/df9/recursive__bubble__sort_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: sorting/recursive_bubble_sort.cpp File Reference +TheAlgorithms/C++: sorting/recursive_bubble_sort.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -124,7 +141,9 @@ Include dependency graph for recursive_bubble_sort.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -134,7 +153,7 @@ Namespaces - + @@ -159,6 +178,8 @@ Algorithm

    While the recursive method does not necessarily have advantages over iterative versions, but it is useful to enhance the understanding of the algorithm and recursion itself. In Recursive Bubble sort algorithm, we firstly call the function on the entire array, and for every subsequent function call, we exclude the last element. This fixes the last element for that sub-array.Formally, for ith iteration, we consider elements up to n-i, where n is the number of elements in the array. Exit condition: n==1; i.e. the sub-array contains only one element.

    Complexity Time complexity: O(n) best case; O(n²) average case; O(n²) worst case Space complexity: O(n)

    We need to traverse the array n * (n-1) times. However, if the entire array is already sorted, then we need to traverse it only once. Hence, O(n) is the best case complexity

    + +

    Definition in file recursive_bubble_sort.cpp.

    Function Documentation

    ◆ main()

    @@ -177,17 +198,14 @@ Algorithm

    Main function.

    Returns
    0 on exit
    + +

    Definition at line 155 of file recursive_bubble_sort.cpp.

    155 {
    156 test(); // run self-test implementations
    157 return 0;
    158}
    -
    static void test()
    Self-test implementations.
    Definition recursive_bubble_sort.cpp:105
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static void test()
    Self-test implementations.
    + @@ -215,65 +233,55 @@ Here is the call graph for this function:

    Self-test implementations.

    Returns
    void
    + +

    Definition at line 105 of file recursive_bubble_sort.cpp.

    105 {
    106 // 1st example. Creating an array of type `int`.
    -
    107 std::cout << "1st test using `int`\n";
    +
    107 std::cout << "1st test using `int`\n";
    108 const uint64_t size = 6;
    - +
    109 std::vector<int64_t> arr;
    110 // populating the array
    -
    111 arr.push_back(22);
    -
    112 arr.push_back(46);
    -
    113 arr.push_back(94);
    -
    114 arr.push_back(12);
    -
    115 arr.push_back(37);
    -
    116 arr.push_back(63);
    +
    111 arr.push_back(22);
    +
    112 arr.push_back(46);
    +
    113 arr.push_back(94);
    +
    114 arr.push_back(12);
    +
    115 arr.push_back(37);
    +
    116 arr.push_back(63);
    117 // array populating ends
    118
    -
    120 assert(std::is_sorted(std::begin(arr), std::end(arr)));
    -
    121 std::cout << " 1st test passed!\n";
    +
    120 assert(std::is_sorted(std::begin(arr), std::end(arr)));
    +
    121 std::cout << " 1st test passed!\n";
    122 // printing the array
    123 for (uint64_t i = 0; i < size; i++) {
    -
    124 std::cout << arr[i] << ", ";
    +
    124 std::cout << arr[i] << ", ";
    125 }
    - +
    126 std::cout << std::endl;
    127
    128 // 2nd example. Creating an array of type `double`.
    -
    129 std::cout << "2nd test using doubles\n";
    -
    130 std::vector<double> double_arr;
    +
    129 std::cout << "2nd test using doubles\n";
    +
    130 std::vector<double> double_arr;
    131
    132 // populating the array
    -
    133 double_arr.push_back(20.4);
    -
    134 double_arr.push_back(62.7);
    -
    135 double_arr.push_back(12.2);
    -
    136 double_arr.push_back(43.6);
    -
    137 double_arr.push_back(74.1);
    -
    138 double_arr.push_back(57.9);
    +
    133 double_arr.push_back(20.4);
    +
    134 double_arr.push_back(62.7);
    +
    135 double_arr.push_back(12.2);
    +
    136 double_arr.push_back(43.6);
    +
    137 double_arr.push_back(74.1);
    +
    138 double_arr.push_back(57.9);
    139 // array populating ends
    140
    141 sorting::recursive_bubble_sort(&double_arr, size);
    -
    142 assert(std::is_sorted(std::begin(double_arr), std::end(double_arr)));
    -
    143 std::cout << " 2nd test passed!\n";
    +
    142 assert(std::is_sorted(std::begin(double_arr), std::end(double_arr)));
    +
    143 std::cout << " 2nd test passed!\n";
    144 // printing the array
    145 for (uint64_t i = 0; i < size; i++) {
    -
    146 std::cout << double_arr[i] << ", ";
    +
    146 std::cout << double_arr[i] << ", ";
    147 }
    - +
    148 std::cout << std::endl;
    149}
    - -
    T begin(T... args)
    -
    T end(T... args)
    -
    T endl(T... args)
    -
    T is_sorted(T... args)
    -
    void recursive_bubble_sort(std::vector< T > *nums, uint64_t n)
    This is an implementation of the recursive_bubble_sort. A vector is passed to the function which is t...
    Definition recursive_bubble_sort.cpp:84
    -
    T push_back(T... args)
    - -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    void recursive_bubble_sort(std::vector< T > *nums, uint64_t n)
    This is an implementation of the recursive_bubble_sort. A vector is passed to the function which is t...
    + diff --git a/d3/df9/recursive__bubble__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map b/d3/df9/recursive__bubble__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map deleted file mode 100644 index 04ca538c9..000000000 --- a/d3/df9/recursive__bubble__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - - - - - - - - - - diff --git a/d3/df9/recursive__bubble__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 b/d3/df9/recursive__bubble__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 deleted file mode 100644 index 2eed41c56..000000000 --- a/d3/df9/recursive__bubble__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -f1d684c8e351a072dff8761ee5242222 \ No newline at end of file diff --git a/d3/df9/recursive__bubble__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg b/d3/df9/recursive__bubble__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg deleted file mode 100644 index 2ac5765a7..000000000 --- a/d3/df9/recursive__bubble__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg +++ /dev/null @@ -1,183 +0,0 @@ - - - - - - - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -std::begin - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::end - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::endl - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::is_sorted - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -std::vector::push_back - - - - - -Node1->Node6 - - - - - - - - -Node7 - - -sorting::recursive -_bubble_sort - - - - - -Node1->Node7 - - - - - - - - -Node7->Node7 - - - - - - - - -Node8 - - -std::swap - - - - - -Node7->Node8 - - - - - - - - - - - - - diff --git a/d3/df9/recursive__bubble__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg b/d3/df9/recursive__bubble__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg deleted file mode 100644 index feb71aaa0..000000000 --- a/d3/df9/recursive__bubble__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg +++ /dev/null @@ -1,157 +0,0 @@ - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -std::begin - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::end - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::endl - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::is_sorted - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -std::vector::push_back - - - - - -Node1->Node6 - - - - - - - - -Node7 - - -sorting::recursive -_bubble_sort - - - - - -Node1->Node7 - - - - - - - - -Node7->Node7 - - - - - - - - -Node8 - - -std::swap - - - - - -Node7->Node8 - - - - - - - - diff --git a/d3/df9/recursive__bubble__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d3/df9/recursive__bubble__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 3ec3ff0c9..000000000 --- a/d3/df9/recursive__bubble__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - - - - - - - - - - - - - - - diff --git a/d3/df9/recursive__bubble__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d3/df9/recursive__bubble__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index d5171e0df..000000000 --- a/d3/df9/recursive__bubble__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -205211f9307ae7b4205be9ebb4f30c85 \ No newline at end of file diff --git a/d3/df9/recursive__bubble__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d3/df9/recursive__bubble__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 9faf754fd..000000000 --- a/d3/df9/recursive__bubble__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,201 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::begin - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::end - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -std::endl - - - - - -Node2->Node5 - - - - - - - - -Node6 - - -std::is_sorted - - - - - -Node2->Node6 - - - - - - - - -Node7 - - -std::vector::push_back - - - - - -Node2->Node7 - - - - - - - - -Node8 - - -sorting::recursive -_bubble_sort - - - - - -Node2->Node8 - - - - - - - - -Node8->Node8 - - - - - - - - -Node9 - - -std::swap - - - - - -Node8->Node9 - - - - - - - - - - - - - diff --git a/d3/df9/recursive__bubble__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d3/df9/recursive__bubble__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 9b3824efa..000000000 --- a/d3/df9/recursive__bubble__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,175 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::begin - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::end - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -std::endl - - - - - -Node2->Node5 - - - - - - - - -Node6 - - -std::is_sorted - - - - - -Node2->Node6 - - - - - - - - -Node7 - - -std::vector::push_back - - - - - -Node2->Node7 - - - - - - - - -Node8 - - -sorting::recursive -_bubble_sort - - - - - -Node2->Node8 - - - - - - - - -Node8->Node8 - - - - - - - - -Node9 - - -std::swap - - - - - -Node8->Node9 - - - - - - - - diff --git a/d3/df9/recursive__bubble__sort_8cpp_source.html b/d3/df9/recursive__bubble__sort_8cpp_source.html new file mode 100644 index 000000000..b717256df --- /dev/null +++ b/d3/df9/recursive__bubble__sort_8cpp_source.html @@ -0,0 +1,223 @@ + + + + + + + + +TheAlgorithms/C++: sorting/recursive_bubble_sort.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    +

    Namespaces

    namespace  sorting

    Functions

    template<typename T >
    void sorting::recursive_bubble_sort (std::vector< T > *nums, uint64_t n)
    void sorting::recursive_bubble_sort (std::vector< T > *nums, uint64_t n)
     This is an implementation of the recursive_bubble_sort. A vector is passed to the function which is then dereferenced, so that the changes are reflected in the original vector. It also accepts a second parameter of type int and name n, which is the size of the array.
     
    static void test ()
    + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + + +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    recursive_bubble_sort.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    60#include <algorithm>
    +
    61#include <array>
    +
    62#include <cassert>
    +
    63#include <cstdint>
    +
    64#include <iostream>
    +
    65#include <vector>
    +
    66
    +
    71namespace sorting {
    +
    72
    +
    83template <typename T>
    +
    +
    84void recursive_bubble_sort(std::vector<T> *nums, uint64_t n) {
    +
    85 if (n == 1) {
    +
    86 return;
    +
    87 }
    +
    88
    +
    89 for (uint64_t i = 0; i < n - 1; i++) {
    +
    91 if ((*nums)[i] > (*nums)[i + 1]) {
    +
    92 std::swap((*nums)[i], (*nums)[i + 1]);
    +
    93 }
    +
    94 }
    +
    95
    +
    97 recursive_bubble_sort(nums, n - 1);
    +
    98}
    +
    +
    99} // namespace sorting
    +
    100
    +
    +
    105static void test() {
    +
    106 // 1st example. Creating an array of type `int`.
    +
    107 std::cout << "1st test using `int`\n";
    +
    108 const uint64_t size = 6;
    +
    109 std::vector<int64_t> arr;
    +
    110 // populating the array
    +
    111 arr.push_back(22);
    +
    112 arr.push_back(46);
    +
    113 arr.push_back(94);
    +
    114 arr.push_back(12);
    +
    115 arr.push_back(37);
    +
    116 arr.push_back(63);
    +
    117 // array populating ends
    +
    118
    + +
    120 assert(std::is_sorted(std::begin(arr), std::end(arr)));
    +
    121 std::cout << " 1st test passed!\n";
    +
    122 // printing the array
    +
    123 for (uint64_t i = 0; i < size; i++) {
    +
    124 std::cout << arr[i] << ", ";
    +
    125 }
    +
    126 std::cout << std::endl;
    +
    127
    +
    128 // 2nd example. Creating an array of type `double`.
    +
    129 std::cout << "2nd test using doubles\n";
    +
    130 std::vector<double> double_arr;
    +
    131
    +
    132 // populating the array
    +
    133 double_arr.push_back(20.4);
    +
    134 double_arr.push_back(62.7);
    +
    135 double_arr.push_back(12.2);
    +
    136 double_arr.push_back(43.6);
    +
    137 double_arr.push_back(74.1);
    +
    138 double_arr.push_back(57.9);
    +
    139 // array populating ends
    +
    140
    +
    141 sorting::recursive_bubble_sort(&double_arr, size);
    +
    142 assert(std::is_sorted(std::begin(double_arr), std::end(double_arr)));
    +
    143 std::cout << " 2nd test passed!\n";
    +
    144 // printing the array
    +
    145 for (uint64_t i = 0; i < size; i++) {
    +
    146 std::cout << double_arr[i] << ", ";
    +
    147 }
    +
    148 std::cout << std::endl;
    +
    149}
    +
    +
    150
    +
    +
    155int main() {
    +
    156 test(); // run self-test implementations
    +
    157 return 0;
    +
    158}
    +
    +
    for working with vectors
    +
    void recursive_bubble_sort(std::vector< T > *nums, uint64_t n)
    This is an implementation of the recursive_bubble_sort. A vector is passed to the function which is t...
    +
    static void test()
    Self-test implementations.
    +
    int main()
    Main function.
    +
    +
    + + + + diff --git a/d3/dfb/circular__queue__using__array_8cpp_source.html b/d3/dfb/circular__queue__using__array_8cpp_source.html new file mode 100644 index 000000000..86d4f1514 --- /dev/null +++ b/d3/dfb/circular__queue__using__array_8cpp_source.html @@ -0,0 +1,197 @@ + + + + + + + + +TheAlgorithms/C++: operations_on_datastructures/circular_queue_using_array.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    circular_queue_using_array.cpp
    +
    +
    +
    1#include <iostream>
    +
    2using std::cin;
    +
    3using std::cout;
    +
    4
    +
    5int queue[10];
    +
    6int front = 0;
    +
    7int rear = 0;
    +
    8int count = 0;
    +
    9
    +
    10void Enque(int x) {
    +
    11 if (count == 10) {
    +
    12 cout << "\nOverflow";
    +
    13 } else {
    +
    14 queue[rear] = x;
    +
    15 rear = (rear + 1) % 10;
    +
    16 count++;
    +
    17 }
    +
    18}
    +
    19
    +
    20void Deque() {
    +
    21 if (front == rear) {
    +
    22 cout << "\nUnderflow";
    +
    23 }
    +
    24
    +
    25 else {
    +
    26 cout << "\n" << queue[front] << " deleted";
    +
    27 front = (front + 1) % 10;
    +
    28 count--;
    +
    29 }
    +
    30}
    +
    31
    +
    32void show() {
    +
    33 for (int i = 0; i < count; i++) {
    +
    34 cout << queue[(i + front) % 10] << "\t";
    +
    35 }
    +
    36}
    +
    37
    +
    38int main() {
    +
    39 int ch, x;
    +
    40 do {
    +
    41 cout << "\n1. Enque";
    +
    42 cout << "\n2. Deque";
    +
    43 cout << "\n3. Print";
    +
    44 cout << "\nEnter Your Choice : ";
    +
    45 cin >> ch;
    +
    46 if (ch == 1) {
    +
    47 cout << "\nInsert : ";
    +
    48 cin >> x;
    +
    49 Enque(x);
    +
    50 } else if (ch == 2) {
    +
    51 Deque();
    +
    52 } else if (ch == 3) {
    +
    53 show();
    +
    54 }
    +
    55 } while (ch != 0);
    +
    56
    +
    57 return 0;
    +
    58}
    +
    Definition queue.hpp:9
    +
    int main()
    Main function.
    +
    +
    + + + + diff --git a/d3/dfe/horspool_8cpp.html b/d3/dfe/horspool_8cpp.html index 42bf4aa67..3bbcdecd1 100644 --- a/d3/dfe/horspool_8cpp.html +++ b/d3/dfe/horspool_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: strings/horspool.cpp File Reference +TheAlgorithms/C++: strings/horspool.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -121,7 +138,9 @@ Include dependency graph for horspool.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -133,9 +152,9 @@ Namespaces

    Namespaces

    namespace  strings
    - + - + @@ -147,6 +166,8 @@ Functions

    Detailed Description

    Horspool's algorithm that finds if a string contains a substring (https://en.wikipedia.org/wiki/Boyer%E2%80%93Moore%E2%80%93Horspool_algorithm)

    Author
    Harry Kontakis
    + +

    Definition in file horspool.cpp.

    Function Documentation

    ◆ findShiftTable()

    @@ -155,9 +176,9 @@ Functions

    Functions

    std::unordered_map< char, int > strings::horspool::findShiftTable (const std::string &prototype)
    std::unordered_map< char, int > strings::horspool::findShiftTable (const std::string &prototype)
     
    bool strings::horspool::horspool (const std::string &text, const std::string &prototype)
    bool strings::horspool::horspool (const std::string &text, const std::string &prototype)
     
    static void test ()
     Function with test cases for Horspool's algorithm.
    - + - +
    std::unordered_map< char, int > strings::horspool::findShiftTable std::unordered_map< char, int > strings::horspool::findShiftTable (const std::string & prototype)const std::string & prototype)
    @@ -169,43 +190,34 @@ Functions
    Returns
    Shift Table of Horspool's algorithm
    + +

    Definition at line 26 of file horspool.cpp.

    26 {
    - +
    27 std::unordered_map<char, int>
    28 shiftTable; // A HashMap for shift table that has characters for keys and integers for values
    29
    -
    30 for (int i = 0; i < prototype.size();
    +
    30 for (int i = 0; i < prototype.size();
    31 i++) { // Checking all characters of prototype string
    -
    32 if (shiftTable.find(prototype[i]) ==
    -
    33 shiftTable.end()) { // If character does not exist in HashMap
    -
    34 if (i != prototype.size() - 1) {
    -
    35 shiftTable.insert(std::make_pair(
    -
    36 prototype[i], prototype.size() - i -
    +
    32 if (shiftTable.find(prototype[i]) ==
    +
    33 shiftTable.end()) { // If character does not exist in HashMap
    +
    34 if (i != prototype.size() - 1) {
    +
    35 shiftTable.insert(std::make_pair(
    +
    36 prototype[i], prototype.size() - i -
    37 1)); // Insert the character as key and the size of prototype string - index of character - 1 as value
    38 } else {
    -
    39 shiftTable.insert(std::make_pair(
    +
    39 shiftTable.insert(std::make_pair(
    40 prototype[i],
    -
    41 prototype.size())); // Insert the character as key and the size of prototype string as value
    +
    41 prototype.size())); // Insert the character as key and the size of prototype string as value
    42 }
    43 } else {
    -
    44 if (i != prototype.size() - 1) {
    -
    45 shiftTable[prototype[i]] = prototype.size() - i - 1;
    +
    44 if (i != prototype.size() - 1) {
    +
    45 shiftTable[prototype[i]] = prototype.size() - i - 1;
    46 }
    47 }
    48 }
    49 return shiftTable;
    50}
    -
    T end(T... args)
    -
    T find(T... args)
    -
    T insert(T... args)
    -
    T make_pair(T... args)
    -
    T size(T... args)
    - -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    @@ -217,12 +229,12 @@ Here is the call graph for this function: bool strings::horspool::horspool ( - const std::string & text, + const std::string & text, - const std::string & prototype ) + const std::string & prototype )
    @@ -236,18 +248,20 @@ Here is the call graph for this function:
    Returns
    true if text string contains prototype string
    false if text string does not contain prototype string
    + +

    Definition at line 59 of file horspool.cpp.

    59 {
    - +
    60 std::unordered_map<char, int> shiftTable = findShiftTable(
    61 prototype); // Initialise shift table calling findShiftTable function
    62
    63 int i = static_cast<int>(
    -
    64 prototype.size() -
    +
    64 prototype.size() -
    65 1); // Index that we shift in text to find the substring
    -
    66 while (i < text.size()) {
    +
    66 while (i < text.size()) {
    67 int j = i, k = 0;
    68 bool flag = true;
    69
    -
    70 for (int z = static_cast<int>(prototype.size() - 1); z >= 0 && flag;
    +
    70 for (int z = static_cast<int>(prototype.size() - 1); z >= 0 && flag;
    71 z--) { // Checking if all characters of substring are equal with all characters of string
    72 if (text[j] == prototype[z]) {
    73 k++;
    @@ -258,26 +272,21 @@ false if text string does not contain prototype string
    78 }
    79
    80 if (k ==
    -
    81 prototype.size()) { // If all characters match then return true
    +
    81 prototype.size()) { // If all characters match then return true
    82 return true;
    83 } else {
    -
    84 if (shiftTable.find(text[i]) != shiftTable.end()) {
    +
    84 if (shiftTable.find(text[i]) != shiftTable.end()) {
    85 i += shiftTable[text[i]]; // If shift table contains the character then shift index as many steps as value
    86 } else {
    -
    87 i += prototype.size(); // If character does not exist in shift table then shift index as many steps as size of prototype string
    +
    87 i += prototype.size(); // If character does not exist in shift table then shift index as many steps as size of prototype string
    88 }
    89 }
    90 }
    91 return false;
    92}
    -
    double k(double x)
    Another test function.
    Definition composite_simpson_rule.cpp:117
    -
    std::unordered_map< char, int > findShiftTable(const std::string &prototype)
    Definition horspool.cpp:26
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    double k(double x)
    Another test function.
    +
    std::unordered_map< char, int > findShiftTable(const std::string &prototype)
    Definition horspool.cpp:26
    + @@ -297,17 +306,14 @@ Here is the call graph for this function:

    Main Function that calls test function.

    Returns
    0 on exit
    + +

    Definition at line 119 of file horspool.cpp.

    119 {
    120 test();
    121 return 0;
    122}
    -
    static void test()
    Function with test cases for Horspool's algorithm.
    Definition horspool.cpp:100
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static void test()
    Function with test cases for Horspool's algorithm.
    Definition horspool.cpp:100
    + @@ -335,6 +341,8 @@ Here is the call graph for this function:

    Function with test cases for Horspool's algorithm.

    Returns
    void
    + +

    Definition at line 100 of file horspool.cpp.

    100 {
    101 assert(strings::horspool::horspool("Hello World","World") == true);
    102 assert(strings::horspool::horspool("Hello World"," World") == true);
    diff --git a/d3/dfe/horspool_8cpp_a1a9c3aa55ccc79d0f47d50c580997336_cgraph.map b/d3/dfe/horspool_8cpp_a1a9c3aa55ccc79d0f47d50c580997336_cgraph.map deleted file mode 100644 index 85db09fa8..000000000 --- a/d3/dfe/horspool_8cpp_a1a9c3aa55ccc79d0f47d50c580997336_cgraph.map +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - - - - - diff --git a/d3/dfe/horspool_8cpp_a1a9c3aa55ccc79d0f47d50c580997336_cgraph.md5 b/d3/dfe/horspool_8cpp_a1a9c3aa55ccc79d0f47d50c580997336_cgraph.md5 deleted file mode 100644 index db9ccbf69..000000000 --- a/d3/dfe/horspool_8cpp_a1a9c3aa55ccc79d0f47d50c580997336_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -132a54d65a2bc8bc0a4b5744d57b526f \ No newline at end of file diff --git a/d3/dfe/horspool_8cpp_a1a9c3aa55ccc79d0f47d50c580997336_cgraph.svg b/d3/dfe/horspool_8cpp_a1a9c3aa55ccc79d0f47d50c580997336_cgraph.svg deleted file mode 100644 index 061bc92be..000000000 --- a/d3/dfe/horspool_8cpp_a1a9c3aa55ccc79d0f47d50c580997336_cgraph.svg +++ /dev/null @@ -1,168 +0,0 @@ - - - - - - - - - - - - -strings::horspool::findShiftTable - - -Node1 - - -strings::horspool:: -findShiftTable - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::unordered_map::end - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::unordered_map -::find - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::unordered_map -::insert - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::make_pair - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -std::string::size - - - - - -Node1->Node6 - - - - - - - - -Node7 - - -std::unordered_map -::size - - - - - -Node1->Node7 - - - - - - - - - - - - - diff --git a/d3/dfe/horspool_8cpp_a1a9c3aa55ccc79d0f47d50c580997336_cgraph_org.svg b/d3/dfe/horspool_8cpp_a1a9c3aa55ccc79d0f47d50c580997336_cgraph_org.svg deleted file mode 100644 index 18b2a149c..000000000 --- a/d3/dfe/horspool_8cpp_a1a9c3aa55ccc79d0f47d50c580997336_cgraph_org.svg +++ /dev/null @@ -1,142 +0,0 @@ - - - - - - -strings::horspool::findShiftTable - - -Node1 - - -strings::horspool:: -findShiftTable - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::unordered_map::end - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::unordered_map -::find - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::unordered_map -::insert - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::make_pair - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -std::string::size - - - - - -Node1->Node6 - - - - - - - - -Node7 - - -std::unordered_map -::size - - - - - -Node1->Node7 - - - - - - - - diff --git a/d3/dfe/horspool_8cpp_a9884bca75ce39c116697ea2574adb37d_cgraph.map b/d3/dfe/horspool_8cpp_a9884bca75ce39c116697ea2574adb37d_cgraph.map deleted file mode 100644 index 877281e25..000000000 --- a/d3/dfe/horspool_8cpp_a9884bca75ce39c116697ea2574adb37d_cgraph.map +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - diff --git a/d3/dfe/horspool_8cpp_a9884bca75ce39c116697ea2574adb37d_cgraph.md5 b/d3/dfe/horspool_8cpp_a9884bca75ce39c116697ea2574adb37d_cgraph.md5 deleted file mode 100644 index d7d0c1507..000000000 --- a/d3/dfe/horspool_8cpp_a9884bca75ce39c116697ea2574adb37d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -2a589a7d0350d0715aab6d5ff21407cf \ No newline at end of file diff --git a/d3/dfe/horspool_8cpp_a9884bca75ce39c116697ea2574adb37d_cgraph.svg b/d3/dfe/horspool_8cpp_a9884bca75ce39c116697ea2574adb37d_cgraph.svg deleted file mode 100644 index ccd2675d5..000000000 --- a/d3/dfe/horspool_8cpp_a9884bca75ce39c116697ea2574adb37d_cgraph.svg +++ /dev/null @@ -1,214 +0,0 @@ - - - - - - - - - - - - -strings::horspool::horspool - - -Node1 - - -strings::horspool:: -horspool - - - - - -Node2 - - -std::unordered_map::end - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::unordered_map -::find - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -strings::horspool:: -findShiftTable - - - - - -Node1->Node4 - - - - - - - - -Node7 - - -std::string::size - - - - - -Node1->Node7 - - - - - - - - -Node4->Node2 - - - - - - - - -Node4->Node3 - - - - - - - - -Node4->Node4 - - - - - - - - -Node5 - - -std::unordered_map -::insert - - - - - -Node4->Node5 - - - - - - - - -Node6 - - -std::make_pair - - - - - -Node4->Node6 - - - - - - - - -Node4->Node7 - - - - - - - - -Node8 - - -std::unordered_map -::size - - - - - -Node4->Node8 - - - - - - - - - - - - - diff --git a/d3/dfe/horspool_8cpp_a9884bca75ce39c116697ea2574adb37d_cgraph_org.svg b/d3/dfe/horspool_8cpp_a9884bca75ce39c116697ea2574adb37d_cgraph_org.svg deleted file mode 100644 index 7cfa47468..000000000 --- a/d3/dfe/horspool_8cpp_a9884bca75ce39c116697ea2574adb37d_cgraph_org.svg +++ /dev/null @@ -1,188 +0,0 @@ - - - - - - -strings::horspool::horspool - - -Node1 - - -strings::horspool:: -horspool - - - - - -Node2 - - -std::unordered_map::end - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::unordered_map -::find - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -strings::horspool:: -findShiftTable - - - - - -Node1->Node4 - - - - - - - - -Node7 - - -std::string::size - - - - - -Node1->Node7 - - - - - - - - -Node4->Node2 - - - - - - - - -Node4->Node3 - - - - - - - - -Node4->Node4 - - - - - - - - -Node5 - - -std::unordered_map -::insert - - - - - -Node4->Node5 - - - - - - - - -Node6 - - -std::make_pair - - - - - -Node4->Node6 - - - - - - - - -Node4->Node7 - - - - - - - - -Node8 - - -std::unordered_map -::size - - - - - -Node4->Node8 - - - - - - - - diff --git a/d3/dfe/horspool_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d3/dfe/horspool_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 2fa4ef524..000000000 --- a/d3/dfe/horspool_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d3/dfe/horspool_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d3/dfe/horspool_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index e1386dd37..000000000 --- a/d3/dfe/horspool_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -2508224853163cbec7747e791d8857c1 \ No newline at end of file diff --git a/d3/dfe/horspool_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d3/dfe/horspool_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 2528d4a63..000000000 --- a/d3/dfe/horspool_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d3/dfe/horspool_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d3/dfe/horspool_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 04fc1027d..000000000 --- a/d3/dfe/horspool_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - diff --git a/d3/dfe/horspool_8cpp_source.html b/d3/dfe/horspool_8cpp_source.html new file mode 100644 index 000000000..5d12505c3 --- /dev/null +++ b/d3/dfe/horspool_8cpp_source.html @@ -0,0 +1,239 @@ + + + + + + + + +TheAlgorithms/C++: strings/horspool.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    horspool.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    7#include <iostream>
    +
    8#include <unordered_map>
    +
    9#include <cassert>
    +
    10
    +
    15namespace strings {
    +
    20namespace horspool {
    +
    +
    26std::unordered_map<char, int> findShiftTable(const std::string &prototype) {
    +
    27 std::unordered_map<char, int>
    +
    28 shiftTable; // A HashMap for shift table that has characters for keys and integers for values
    +
    29
    +
    30 for (int i = 0; i < prototype.size();
    +
    31 i++) { // Checking all characters of prototype string
    +
    32 if (shiftTable.find(prototype[i]) ==
    +
    33 shiftTable.end()) { // If character does not exist in HashMap
    +
    34 if (i != prototype.size() - 1) {
    +
    35 shiftTable.insert(std::make_pair(
    +
    36 prototype[i], prototype.size() - i -
    +
    37 1)); // Insert the character as key and the size of prototype string - index of character - 1 as value
    +
    38 } else {
    +
    39 shiftTable.insert(std::make_pair(
    +
    40 prototype[i],
    +
    41 prototype.size())); // Insert the character as key and the size of prototype string as value
    +
    42 }
    +
    43 } else {
    +
    44 if (i != prototype.size() - 1) {
    +
    45 shiftTable[prototype[i]] = prototype.size() - i - 1;
    +
    46 }
    +
    47 }
    +
    48 }
    +
    49 return shiftTable;
    +
    50}
    +
    +
    51
    +
    +
    59bool horspool(const std::string &text, const std::string &prototype) {
    +
    60 std::unordered_map<char, int> shiftTable = findShiftTable(
    +
    61 prototype); // Initialise shift table calling findShiftTable function
    +
    62
    +
    63 int i = static_cast<int>(
    +
    64 prototype.size() -
    +
    65 1); // Index that we shift in text to find the substring
    +
    66 while (i < text.size()) {
    +
    67 int j = i, k = 0;
    +
    68 bool flag = true;
    +
    69
    +
    70 for (int z = static_cast<int>(prototype.size() - 1); z >= 0 && flag;
    +
    71 z--) { // Checking if all characters of substring are equal with all characters of string
    +
    72 if (text[j] == prototype[z]) {
    +
    73 k++;
    +
    74 j--;
    +
    75 } else {
    +
    76 flag = false; // If two characters are not equal set flag to false and break from loop
    +
    77 }
    +
    78 }
    +
    79
    +
    80 if (k ==
    +
    81 prototype.size()) { // If all characters match then return true
    +
    82 return true;
    +
    83 } else {
    +
    84 if (shiftTable.find(text[i]) != shiftTable.end()) {
    +
    85 i += shiftTable[text[i]]; // If shift table contains the character then shift index as many steps as value
    +
    86 } else {
    +
    87 i += prototype.size(); // If character does not exist in shift table then shift index as many steps as size of prototype string
    +
    88 }
    +
    89 }
    +
    90 }
    +
    91 return false;
    +
    92}
    +
    +
    93} // namespace horspool
    +
    94} // namespace strings
    +
    95
    +
    +
    100static void test(){
    +
    101 assert(strings::horspool::horspool("Hello World","World") == true);
    +
    102 assert(strings::horspool::horspool("Hello World"," World") == true);
    +
    103 assert(strings::horspool::horspool("Hello World","ello") == true);
    +
    104 assert(strings::horspool::horspool("Hello World","rld") == true);
    +
    105 assert(strings::horspool::horspool("Hello","Helo") == false);
    +
    106 assert(strings::horspool::horspool("c++_algorithms","c++_algorithms") == true);
    +
    107 assert(strings::horspool::horspool("c++_algorithms","c++_") == true);
    +
    108 assert(strings::horspool::horspool("Hello","Hello World") == false);
    +
    109 assert(strings::horspool::horspool("c++_algorithms","") == false);
    +
    110 assert(strings::horspool::horspool("c++","c") == true);
    +
    111 assert(strings::horspool::horspool("3458934793","4793") == true);
    +
    112 assert(strings::horspool::horspool("3458934793","123") == false);
    +
    113}
    +
    +
    114
    +
    +
    119int main(){
    +
    120 test();
    +
    121 return 0;
    +
    122}
    +
    +
    std::unordered_map< char, int > findShiftTable(const std::string &prototype)
    Definition horspool.cpp:26
    +
    static void test()
    Function with test cases for Horspool's algorithm.
    Definition horspool.cpp:100
    +
    int main()
    Main Function that calls test function.
    Definition horspool.cpp:119
    +
    Functions for Horspool's algorithm.
    +
    String algorithms.
    +
    +
    + + + + diff --git a/d3/dfe/perimeter_8cpp.html b/d3/dfe/perimeter_8cpp.html index 2dc306b05..d180bc5d3 100644 --- a/d3/dfe/perimeter_8cpp.html +++ b/d3/dfe/perimeter_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: math/perimeter.cpp File Reference +TheAlgorithms/C++: math/perimeter.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -123,7 +140,9 @@ Include dependency graph for perimeter.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -175,7 +194,26 @@ Functions

    Implementations for the perimeter of various shapes.

    The of a shape is the amount of 2D space it takes up. All shapes have a formula for their perimeter. These implementations support multiple return types.

    Author
    OGscorpion
    -

    Function Documentation

    + +

    Definition in file perimeter.cpp.

    +

    Macro Definition Documentation

    + +

    ◆ _USE_MATH_DEFINES

    + +
    +
    +

    Namespaces

    namespace  math
    + + + +
    #define _USE_MATH_DEFINES
    +
    + +

    Definition at line 11 of file perimeter.cpp.

    + +
    +
    +

    Function Documentation

    ◆ main()

    @@ -193,17 +231,14 @@ Functions

    Main function.

    Returns
    0 on exit
    + +

    Definition at line 284 of file perimeter.cpp.

    284 {
    285 test(); // run self-test implementations
    286 return 0;
    287}
    -
    static void test()
    Self-test implementations.
    Definition perimeter.cpp:120
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static void test()
    Self-test implementations.
    + @@ -231,6 +266,8 @@ Here is the call graph for this function:

    Self-test implementations.

    Returns
    void
    + +

    Definition at line 120 of file perimeter.cpp.

    120 {
    121 // I/O variables for testing
    122 uint16_t int_length = 0; // 16 bit integer length input
    @@ -258,24 +295,24 @@ Here is the call graph for this function:
    144 int_expected = 20;
    145 int_perimeter = math::square_perimeter(int_length);
    146
    -
    147 std::cout << "perimeter OF A SQUARE (int)" << std::endl;
    -
    148 std::cout << "Input Length: " << int_length << std::endl;
    -
    149 std::cout << "Expected Output: " << int_expected << std::endl;
    -
    150 std::cout << "Output: " << int_perimeter << std::endl;
    +
    147 std::cout << "perimeter OF A SQUARE (int)" << std::endl;
    +
    148 std::cout << "Input Length: " << int_length << std::endl;
    +
    149 std::cout << "Expected Output: " << int_expected << std::endl;
    +
    150 std::cout << "Output: " << int_perimeter << std::endl;
    151 assert(int_perimeter == int_expected);
    -
    152 std::cout << "TEST PASSED" << std::endl << std::endl;
    +
    152 std::cout << "TEST PASSED" << std::endl << std::endl;
    153
    154 // 2nd test
    155 float_length = 2.5;
    156 float_expected = 10;
    157 float_perimeter = math::square_perimeter(float_length);
    158
    -
    159 std::cout << "perimeter OF A SQUARE (float)" << std::endl;
    -
    160 std::cout << "Input Length: " << float_length << std::endl;
    -
    161 std::cout << "Expected Output: " << float_expected << std::endl;
    -
    162 std::cout << "Output: " << float_perimeter << std::endl;
    +
    159 std::cout << "perimeter OF A SQUARE (float)" << std::endl;
    +
    160 std::cout << "Input Length: " << float_length << std::endl;
    +
    161 std::cout << "Expected Output: " << float_expected << std::endl;
    +
    162 std::cout << "Output: " << float_perimeter << std::endl;
    163 assert(float_perimeter == float_expected);
    -
    164 std::cout << "TEST PASSED" << std::endl << std::endl;
    +
    164 std::cout << "TEST PASSED" << std::endl << std::endl;
    165
    166 // 3rd test
    167 int_length = 4;
    @@ -283,13 +320,13 @@ Here is the call graph for this function:
    169 int_expected = 22;
    170 int_perimeter = math::rect_perimeter(int_length, int_width);
    171
    -
    172 std::cout << "perimeter OF A RECTANGLE (int)" << std::endl;
    -
    173 std::cout << "Input Length: " << int_length << std::endl;
    -
    174 std::cout << "Input Width: " << int_width << std::endl;
    -
    175 std::cout << "Expected Output: " << int_expected << std::endl;
    -
    176 std::cout << "Output: " << int_perimeter << std::endl;
    +
    172 std::cout << "perimeter OF A RECTANGLE (int)" << std::endl;
    +
    173 std::cout << "Input Length: " << int_length << std::endl;
    +
    174 std::cout << "Input Width: " << int_width << std::endl;
    +
    175 std::cout << "Expected Output: " << int_expected << std::endl;
    +
    176 std::cout << "Output: " << int_perimeter << std::endl;
    177 assert(int_perimeter == int_expected);
    -
    178 std::cout << "TEST PASSED" << std::endl << std::endl;
    +
    178 std::cout << "TEST PASSED" << std::endl << std::endl;
    179
    180 // 4th test
    181 double_length = 2.5;
    @@ -297,13 +334,13 @@ Here is the call graph for this function:
    183 double_expected = 16.4;
    184 double_perimeter = math::rect_perimeter(double_length, double_width);
    185
    -
    186 std::cout << "perimeter OF A RECTANGLE (double)" << std::endl;
    -
    187 std::cout << "Input Length: " << double_length << std::endl;
    -
    188 std::cout << "Input Width: " << double_width << std::endl;
    -
    189 std::cout << "Expected Output: " << double_expected << std::endl;
    -
    190 std::cout << "Output: " << double_perimeter << std::endl;
    +
    186 std::cout << "perimeter OF A RECTANGLE (double)" << std::endl;
    +
    187 std::cout << "Input Length: " << double_length << std::endl;
    +
    188 std::cout << "Input Width: " << double_width << std::endl;
    +
    189 std::cout << "Expected Output: " << double_expected << std::endl;
    +
    190 std::cout << "Output: " << double_perimeter << std::endl;
    191 assert(double_perimeter == double_expected);
    -
    192 std::cout << "TEST PASSED" << std::endl << std::endl;
    +
    192 std::cout << "TEST PASSED" << std::endl << std::endl;
    193
    194 // 5th test
    195 int_base = 10;
    @@ -313,13 +350,13 @@ Here is the call graph for this function:
    199 int_perimeter =
    200 math::triangle_perimeter(int_base, int_height, int_hypotenuse);
    201
    -
    202 std::cout << "perimeter OF A TRIANGLE" << std::endl;
    -
    203 std::cout << "Input Base: " << int_base << std::endl;
    -
    204 std::cout << "Input Height: " << int_height << std::endl;
    -
    205 std::cout << "Expected Output: " << int_expected << std::endl;
    -
    206 std::cout << "Output: " << int_perimeter << std::endl;
    +
    202 std::cout << "perimeter OF A TRIANGLE" << std::endl;
    +
    203 std::cout << "Input Base: " << int_base << std::endl;
    +
    204 std::cout << "Input Height: " << int_height << std::endl;
    +
    205 std::cout << "Expected Output: " << int_expected << std::endl;
    +
    206 std::cout << "Output: " << int_perimeter << std::endl;
    207 assert(int_perimeter == int_expected);
    -
    208 std::cout << "TEST PASSED" << std::endl << std::endl;
    +
    208 std::cout << "TEST PASSED" << std::endl << std::endl;
    209
    210 // 6th test
    211 double_radius = 6;
    @@ -328,12 +365,12 @@ Here is the call graph for this function:
    214 // truncates after 14 decimal places
    215 double_perimeter = math::circle_perimeter(double_radius);
    216
    -
    217 std::cout << "perimeter OF A CIRCLE" << std::endl;
    -
    218 std::cout << "Input Radius: " << double_radius << std::endl;
    -
    219 std::cout << "Expected Output: " << double_expected << std::endl;
    -
    220 std::cout << "Output: " << double_perimeter << std::endl;
    +
    217 std::cout << "perimeter OF A CIRCLE" << std::endl;
    +
    218 std::cout << "Input Radius: " << double_radius << std::endl;
    +
    219 std::cout << "Expected Output: " << double_expected << std::endl;
    +
    220 std::cout << "Output: " << double_perimeter << std::endl;
    221 assert(double_perimeter == double_expected);
    -
    222 std::cout << "TEST PASSED" << std::endl << std::endl;
    +
    222 std::cout << "TEST PASSED" << std::endl << std::endl;
    223
    224 // 7th test
    225 int_base = 6;
    @@ -341,25 +378,25 @@ Here is the call graph for this function:
    227 int_expected = 26;
    228 int_perimeter = math::parallelogram_perimeter(int_base, int_height);
    229
    -
    230 std::cout << "perimeter OF A PARALLELOGRAM" << std::endl;
    -
    231 std::cout << "Input Base: " << int_base << std::endl;
    -
    232 std::cout << "Input Height: " << int_height << std::endl;
    -
    233 std::cout << "Expected Output: " << int_expected << std::endl;
    -
    234 std::cout << "Output: " << int_perimeter << std::endl;
    +
    230 std::cout << "perimeter OF A PARALLELOGRAM" << std::endl;
    +
    231 std::cout << "Input Base: " << int_base << std::endl;
    +
    232 std::cout << "Input Height: " << int_height << std::endl;
    +
    233 std::cout << "Expected Output: " << int_expected << std::endl;
    +
    234 std::cout << "Output: " << int_perimeter << std::endl;
    235 assert(int_perimeter == int_expected);
    -
    236 std::cout << "TEST PASSED" << std::endl << std::endl;
    +
    236 std::cout << "TEST PASSED" << std::endl << std::endl;
    237
    238 // 8th test
    239 double_length = 5.5;
    240 double_expected = 66.0;
    241 double_perimeter = math::cube_surface_perimeter(double_length);
    242
    -
    243 std::cout << "SURFACE perimeter OF A CUBE" << std::endl;
    -
    244 std::cout << "Input Length: " << double_length << std::endl;
    -
    245 std::cout << "Expected Output: " << double_expected << std::endl;
    -
    246 std::cout << "Output: " << double_perimeter << std::endl;
    +
    243 std::cout << "SURFACE perimeter OF A CUBE" << std::endl;
    +
    244 std::cout << "Input Length: " << double_length << std::endl;
    +
    245 std::cout << "Expected Output: " << double_expected << std::endl;
    +
    246 std::cout << "Output: " << double_perimeter << std::endl;
    247 assert(double_perimeter == double_expected);
    -
    248 std::cout << "TEST PASSED" << std::endl << std::endl;
    +
    248 std::cout << "TEST PASSED" << std::endl << std::endl;
    249
    250 // 9th test
    251 int_sides = 7;
    @@ -367,13 +404,13 @@ Here is the call graph for this function:
    253 int_expected = 70;
    254 int_perimeter = math::n_polygon_surface_perimeter(int_sides, int_length);
    255
    -
    256 std::cout << "SURFACE perimeter OF A N-POLYGON" << std::endl;
    -
    257 std::cout << "Input Sides: " << int_sides << std::endl;
    -
    258 std::cout << "Input Length: " << int_length << std::endl;
    -
    259 std::cout << "Expected Output: " << int_expected << std::endl;
    -
    260 std::cout << "Output: " << int_perimeter << std::endl;
    +
    256 std::cout << "SURFACE perimeter OF A N-POLYGON" << std::endl;
    +
    257 std::cout << "Input Sides: " << int_sides << std::endl;
    +
    258 std::cout << "Input Length: " << int_length << std::endl;
    +
    259 std::cout << "Expected Output: " << int_expected << std::endl;
    +
    260 std::cout << "Output: " << int_perimeter << std::endl;
    261 assert(int_perimeter == int_expected);
    -
    262 std::cout << "TEST PASSED" << std::endl << std::endl;
    +
    262 std::cout << "TEST PASSED" << std::endl << std::endl;
    263
    264 // 10th test
    265 double_radius = 4.0;
    @@ -382,30 +419,23 @@ Here is the call graph for this function:
    268 double_perimeter =
    269 math::cylinder_surface_perimeter(double_radius, double_height);
    270
    -
    271 std::cout << "SURFACE perimeter OF A CYLINDER" << std::endl;
    -
    272 std::cout << "Input Radius: " << double_radius << std::endl;
    -
    273 std::cout << "Input Height: " << double_height << std::endl;
    -
    274 std::cout << "Expected Output: " << double_expected << std::endl;
    -
    275 std::cout << "Output: " << double_perimeter << std::endl;
    +
    271 std::cout << "SURFACE perimeter OF A CYLINDER" << std::endl;
    +
    272 std::cout << "Input Radius: " << double_radius << std::endl;
    +
    273 std::cout << "Input Height: " << double_height << std::endl;
    +
    274 std::cout << "Expected Output: " << double_expected << std::endl;
    +
    275 std::cout << "Output: " << double_perimeter << std::endl;
    276 assert(double_perimeter == double_expected);
    -
    277 std::cout << "TEST PASSED" << std::endl << std::endl;
    +
    277 std::cout << "TEST PASSED" << std::endl << std::endl;
    278}
    - -
    T endl(T... args)
    -
    T parallelogram_perimeter(T base, T height)
    perimeter of a parallelogram 2(b + h)
    Definition perimeter.cpp:75
    -
    T cylinder_surface_perimeter(T radius, T height)
    surface perimeter of a cylinder (2 * radius + 2 * height)
    Definition perimeter.cpp:111
    -
    T triangle_perimeter(T base, T height, T hypotenuse)
    perimeter of a triangle (a + b + c)
    Definition perimeter.cpp:52
    -
    T rect_perimeter(T length, T width)
    perimeter of a rectangle ( 2(l + w) )
    Definition perimeter.cpp:40
    -
    T cube_surface_perimeter(T length)
    surface perimeter of a cube ( 12
    Definition perimeter.cpp:86
    -
    T square_perimeter(T length)
    perimeter of a square (4 * l)
    Definition perimeter.cpp:28
    -
    T n_polygon_surface_perimeter(T sides, T length)
    surface perimeter of a n-polygon ( n * l)
    Definition perimeter.cpp:99
    -
    T circle_perimeter(T radius)
    perimeter of a circle (2 * pi * r)
    Definition perimeter.cpp:63
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    T parallelogram_perimeter(T base, T height)
    perimeter of a parallelogram 2(b + h)
    Definition perimeter.cpp:75
    +
    T cylinder_surface_perimeter(T radius, T height)
    surface perimeter of a cylinder (2 * radius + 2 * height)
    +
    T triangle_perimeter(T base, T height, T hypotenuse)
    perimeter of a triangle (a + b + c)
    Definition perimeter.cpp:52
    +
    T rect_perimeter(T length, T width)
    perimeter of a rectangle ( 2(l + w) )
    Definition perimeter.cpp:40
    +
    T cube_surface_perimeter(T length)
    surface perimeter of a cube ( 12
    Definition perimeter.cpp:86
    +
    T square_perimeter(T length)
    perimeter of a square (4 * l)
    Definition perimeter.cpp:28
    +
    T n_polygon_surface_perimeter(T sides, T length)
    surface perimeter of a n-polygon ( n * l)
    Definition perimeter.cpp:99
    +
    T circle_perimeter(T radius)
    perimeter of a circle (2 * pi * r)
    Definition perimeter.cpp:63
    + diff --git a/d3/dfe/perimeter_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map b/d3/dfe/perimeter_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map deleted file mode 100644 index 80bc2dcfd..000000000 --- a/d3/dfe/perimeter_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d3/dfe/perimeter_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 b/d3/dfe/perimeter_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 deleted file mode 100644 index 710a03341..000000000 --- a/d3/dfe/perimeter_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -ddd20aa21b8dc9e832543d0775aa4e62 \ No newline at end of file diff --git a/d3/dfe/perimeter_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg b/d3/dfe/perimeter_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg deleted file mode 100644 index dc8e41d5b..000000000 --- a/d3/dfe/perimeter_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg +++ /dev/null @@ -1,276 +0,0 @@ - - - - - - - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -math::circle_perimeter - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -math::cube_surface -_perimeter - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -math::cylinder_surface -_perimeter - - - - - -Node1->Node4 - - - - - - - - -Node7 - - -std::endl - - - - - -Node1->Node7 - - - - - - - - -Node8 - - -math::n_polygon_surface -_perimeter - - - - - -Node1->Node8 - - - - - - - - -Node9 - - -math::parallelogram -_perimeter - - - - - -Node1->Node9 - - - - - - - - -Node10 - - -math::rect_perimeter - - - - - -Node1->Node10 - - - - - - - - -Node11 - - -math::square_perimeter - - - - - -Node1->Node11 - - - - - - - - -Node12 - - -math::triangle_perimeter - - - - - -Node1->Node12 - - - - - - - - -Node5 - - -height - - - - - -Node4->Node5 - - - - - - - - -Node5->Node5 - - - - - - - - -Node6 - - -std::max - - - - - -Node5->Node6 - - - - - - - - -Node9->Node5 - - - - - - - - -Node12->Node5 - - - - - - - - - - - - - diff --git a/d3/dfe/perimeter_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg b/d3/dfe/perimeter_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg deleted file mode 100644 index 6da4292d1..000000000 --- a/d3/dfe/perimeter_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg +++ /dev/null @@ -1,250 +0,0 @@ - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -math::circle_perimeter - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -math::cube_surface -_perimeter - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -math::cylinder_surface -_perimeter - - - - - -Node1->Node4 - - - - - - - - -Node7 - - -std::endl - - - - - -Node1->Node7 - - - - - - - - -Node8 - - -math::n_polygon_surface -_perimeter - - - - - -Node1->Node8 - - - - - - - - -Node9 - - -math::parallelogram -_perimeter - - - - - -Node1->Node9 - - - - - - - - -Node10 - - -math::rect_perimeter - - - - - -Node1->Node10 - - - - - - - - -Node11 - - -math::square_perimeter - - - - - -Node1->Node11 - - - - - - - - -Node12 - - -math::triangle_perimeter - - - - - -Node1->Node12 - - - - - - - - -Node5 - - -height - - - - - -Node4->Node5 - - - - - - - - -Node5->Node5 - - - - - - - - -Node6 - - -std::max - - - - - -Node5->Node6 - - - - - - - - -Node9->Node5 - - - - - - - - -Node12->Node5 - - - - - - - - diff --git a/d3/dfe/perimeter_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d3/dfe/perimeter_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 22c2f8d69..000000000 --- a/d3/dfe/perimeter_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d3/dfe/perimeter_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d3/dfe/perimeter_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index de7f3bb06..000000000 --- a/d3/dfe/perimeter_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -7fae855e3921b342ed3b3655fc096301 \ No newline at end of file diff --git a/d3/dfe/perimeter_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d3/dfe/perimeter_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 3aa3c9ed5..000000000 --- a/d3/dfe/perimeter_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,294 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -math::circle_perimeter - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -math::cube_surface -_perimeter - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -math::cylinder_surface -_perimeter - - - - - -Node2->Node5 - - - - - - - - -Node8 - - -std::endl - - - - - -Node2->Node8 - - - - - - - - -Node9 - - -math::n_polygon_surface -_perimeter - - - - - -Node2->Node9 - - - - - - - - -Node10 - - -math::parallelogram -_perimeter - - - - - -Node2->Node10 - - - - - - - - -Node11 - - -math::rect_perimeter - - - - - -Node2->Node11 - - - - - - - - -Node12 - - -math::square_perimeter - - - - - -Node2->Node12 - - - - - - - - -Node13 - - -math::triangle_perimeter - - - - - -Node2->Node13 - - - - - - - - -Node6 - - -height - - - - - -Node5->Node6 - - - - - - - - -Node6->Node6 - - - - - - - - -Node7 - - -std::max - - - - - -Node6->Node7 - - - - - - - - -Node10->Node6 - - - - - - - - -Node13->Node6 - - - - - - - - - - - - - diff --git a/d3/dfe/perimeter_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d3/dfe/perimeter_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index cdddf8c1e..000000000 --- a/d3/dfe/perimeter_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,268 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -math::circle_perimeter - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -math::cube_surface -_perimeter - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -math::cylinder_surface -_perimeter - - - - - -Node2->Node5 - - - - - - - - -Node8 - - -std::endl - - - - - -Node2->Node8 - - - - - - - - -Node9 - - -math::n_polygon_surface -_perimeter - - - - - -Node2->Node9 - - - - - - - - -Node10 - - -math::parallelogram -_perimeter - - - - - -Node2->Node10 - - - - - - - - -Node11 - - -math::rect_perimeter - - - - - -Node2->Node11 - - - - - - - - -Node12 - - -math::square_perimeter - - - - - -Node2->Node12 - - - - - - - - -Node13 - - -math::triangle_perimeter - - - - - -Node2->Node13 - - - - - - - - -Node6 - - -height - - - - - -Node5->Node6 - - - - - - - - -Node6->Node6 - - - - - - - - -Node7 - - -std::max - - - - - -Node6->Node7 - - - - - - - - -Node10->Node6 - - - - - - - - -Node13->Node6 - - - - - - - - diff --git a/d3/dfe/perimeter_8cpp_source.html b/d3/dfe/perimeter_8cpp_source.html new file mode 100644 index 000000000..b71baafc1 --- /dev/null +++ b/d3/dfe/perimeter_8cpp_source.html @@ -0,0 +1,382 @@ + + + + + + + + +TheAlgorithms/C++: math/perimeter.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    perimeter.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    11#define _USE_MATH_DEFINES
    +
    12#include <cassert>
    +
    13#include <cmath>
    +
    14#include <cstdint>
    +
    15#include <iostream>
    +
    16
    +
    21namespace math {
    +
    27template <typename T>
    +
    +
    28T square_perimeter(T length) {
    +
    29 return 4 * length;
    +
    30}
    +
    +
    31
    +
    39template <typename T>
    +
    +
    40T rect_perimeter(T length, T width) {
    +
    41 return 2 * (length + width);
    +
    42}
    +
    +
    43
    +
    51template <typename T>
    +
    +
    52T triangle_perimeter(T base, T height, T hypotenuse) {
    +
    53 return base + height + hypotenuse;
    +
    54}
    +
    +
    55
    +
    62template <typename T>
    +
    +
    63T circle_perimeter(T radius) {
    +
    64 return 2 * M_PI * radius;
    +
    65}
    +
    +
    66
    +
    74template <typename T>
    +
    + +
    76 return 2 * (base + height);
    +
    77}
    +
    +
    78
    +
    85template <typename T>
    +
    + +
    87 return 12 * length;
    +
    88}
    +
    +
    89
    +
    98template <typename T>
    +
    +
    99T n_polygon_surface_perimeter(T sides, T length) {
    +
    100 return sides * length;
    +
    101}
    +
    +
    102
    +
    110template <typename T>
    +
    + +
    112 return (2 * radius) + (2 * height);
    +
    113}
    +
    +
    114} // namespace math
    +
    115
    +
    +
    120static void test() {
    +
    121 // I/O variables for testing
    +
    122 uint16_t int_length = 0; // 16 bit integer length input
    +
    123 uint16_t int_width = 0; // 16 bit integer width input
    +
    124 uint16_t int_base = 0; // 16 bit integer base input
    +
    125 uint16_t int_height = 0; // 16 bit integer height input
    +
    126 uint16_t int_hypotenuse = 0; // 16 bit integer hypotenuse input
    +
    127 uint16_t int_sides = 0; // 16 bit integer sides input
    +
    128 uint16_t int_expected = 0; // 16 bit integer expected output
    +
    129 uint16_t int_perimeter = 0; // 16 bit integer output
    +
    130
    +
    131 float float_length = NAN; // float length input
    +
    132 float float_expected = NAN; // float expected output
    +
    133 float float_perimeter = NAN; // float output
    +
    134
    +
    135 double double_length = NAN; // double length input
    +
    136 double double_width = NAN; // double width input
    +
    137 double double_radius = NAN; // double radius input
    +
    138 double double_height = NAN; // double height input
    +
    139 double double_expected = NAN; // double expected output
    +
    140 double double_perimeter = NAN; // double output
    +
    141
    +
    142 // 1st test
    +
    143 int_length = 5;
    +
    144 int_expected = 20;
    +
    145 int_perimeter = math::square_perimeter(int_length);
    +
    146
    +
    147 std::cout << "perimeter OF A SQUARE (int)" << std::endl;
    +
    148 std::cout << "Input Length: " << int_length << std::endl;
    +
    149 std::cout << "Expected Output: " << int_expected << std::endl;
    +
    150 std::cout << "Output: " << int_perimeter << std::endl;
    +
    151 assert(int_perimeter == int_expected);
    +
    152 std::cout << "TEST PASSED" << std::endl << std::endl;
    +
    153
    +
    154 // 2nd test
    +
    155 float_length = 2.5;
    +
    156 float_expected = 10;
    +
    157 float_perimeter = math::square_perimeter(float_length);
    +
    158
    +
    159 std::cout << "perimeter OF A SQUARE (float)" << std::endl;
    +
    160 std::cout << "Input Length: " << float_length << std::endl;
    +
    161 std::cout << "Expected Output: " << float_expected << std::endl;
    +
    162 std::cout << "Output: " << float_perimeter << std::endl;
    +
    163 assert(float_perimeter == float_expected);
    +
    164 std::cout << "TEST PASSED" << std::endl << std::endl;
    +
    165
    +
    166 // 3rd test
    +
    167 int_length = 4;
    +
    168 int_width = 7;
    +
    169 int_expected = 22;
    +
    170 int_perimeter = math::rect_perimeter(int_length, int_width);
    +
    171
    +
    172 std::cout << "perimeter OF A RECTANGLE (int)" << std::endl;
    +
    173 std::cout << "Input Length: " << int_length << std::endl;
    +
    174 std::cout << "Input Width: " << int_width << std::endl;
    +
    175 std::cout << "Expected Output: " << int_expected << std::endl;
    +
    176 std::cout << "Output: " << int_perimeter << std::endl;
    +
    177 assert(int_perimeter == int_expected);
    +
    178 std::cout << "TEST PASSED" << std::endl << std::endl;
    +
    179
    +
    180 // 4th test
    +
    181 double_length = 2.5;
    +
    182 double_width = 5.7;
    +
    183 double_expected = 16.4;
    +
    184 double_perimeter = math::rect_perimeter(double_length, double_width);
    +
    185
    +
    186 std::cout << "perimeter OF A RECTANGLE (double)" << std::endl;
    +
    187 std::cout << "Input Length: " << double_length << std::endl;
    +
    188 std::cout << "Input Width: " << double_width << std::endl;
    +
    189 std::cout << "Expected Output: " << double_expected << std::endl;
    +
    190 std::cout << "Output: " << double_perimeter << std::endl;
    +
    191 assert(double_perimeter == double_expected);
    +
    192 std::cout << "TEST PASSED" << std::endl << std::endl;
    +
    193
    +
    194 // 5th test
    +
    195 int_base = 10;
    +
    196 int_height = 3;
    +
    197 int_hypotenuse = 5;
    +
    198 int_expected = 18;
    +
    199 int_perimeter =
    +
    200 math::triangle_perimeter(int_base, int_height, int_hypotenuse);
    +
    201
    +
    202 std::cout << "perimeter OF A TRIANGLE" << std::endl;
    +
    203 std::cout << "Input Base: " << int_base << std::endl;
    +
    204 std::cout << "Input Height: " << int_height << std::endl;
    +
    205 std::cout << "Expected Output: " << int_expected << std::endl;
    +
    206 std::cout << "Output: " << int_perimeter << std::endl;
    +
    207 assert(int_perimeter == int_expected);
    +
    208 std::cout << "TEST PASSED" << std::endl << std::endl;
    +
    209
    +
    210 // 6th test
    +
    211 double_radius = 6;
    +
    212 double_expected =
    +
    213 37.69911184307752; // rounded down because the double datatype
    +
    214 // truncates after 14 decimal places
    +
    215 double_perimeter = math::circle_perimeter(double_radius);
    +
    216
    +
    217 std::cout << "perimeter OF A CIRCLE" << std::endl;
    +
    218 std::cout << "Input Radius: " << double_radius << std::endl;
    +
    219 std::cout << "Expected Output: " << double_expected << std::endl;
    +
    220 std::cout << "Output: " << double_perimeter << std::endl;
    +
    221 assert(double_perimeter == double_expected);
    +
    222 std::cout << "TEST PASSED" << std::endl << std::endl;
    +
    223
    +
    224 // 7th test
    +
    225 int_base = 6;
    +
    226 int_height = 7;
    +
    227 int_expected = 26;
    +
    228 int_perimeter = math::parallelogram_perimeter(int_base, int_height);
    +
    229
    +
    230 std::cout << "perimeter OF A PARALLELOGRAM" << std::endl;
    +
    231 std::cout << "Input Base: " << int_base << std::endl;
    +
    232 std::cout << "Input Height: " << int_height << std::endl;
    +
    233 std::cout << "Expected Output: " << int_expected << std::endl;
    +
    234 std::cout << "Output: " << int_perimeter << std::endl;
    +
    235 assert(int_perimeter == int_expected);
    +
    236 std::cout << "TEST PASSED" << std::endl << std::endl;
    +
    237
    +
    238 // 8th test
    +
    239 double_length = 5.5;
    +
    240 double_expected = 66.0;
    +
    241 double_perimeter = math::cube_surface_perimeter(double_length);
    +
    242
    +
    243 std::cout << "SURFACE perimeter OF A CUBE" << std::endl;
    +
    244 std::cout << "Input Length: " << double_length << std::endl;
    +
    245 std::cout << "Expected Output: " << double_expected << std::endl;
    +
    246 std::cout << "Output: " << double_perimeter << std::endl;
    +
    247 assert(double_perimeter == double_expected);
    +
    248 std::cout << "TEST PASSED" << std::endl << std::endl;
    +
    249
    +
    250 // 9th test
    +
    251 int_sides = 7;
    +
    252 int_length = 10;
    +
    253 int_expected = 70;
    +
    254 int_perimeter = math::n_polygon_surface_perimeter(int_sides, int_length);
    +
    255
    +
    256 std::cout << "SURFACE perimeter OF A N-POLYGON" << std::endl;
    +
    257 std::cout << "Input Sides: " << int_sides << std::endl;
    +
    258 std::cout << "Input Length: " << int_length << std::endl;
    +
    259 std::cout << "Expected Output: " << int_expected << std::endl;
    +
    260 std::cout << "Output: " << int_perimeter << std::endl;
    +
    261 assert(int_perimeter == int_expected);
    +
    262 std::cout << "TEST PASSED" << std::endl << std::endl;
    +
    263
    +
    264 // 10th test
    +
    265 double_radius = 4.0;
    +
    266 double_height = 7.0;
    +
    267 double_expected = 22.0;
    +
    268 double_perimeter =
    +
    269 math::cylinder_surface_perimeter(double_radius, double_height);
    +
    270
    +
    271 std::cout << "SURFACE perimeter OF A CYLINDER" << std::endl;
    +
    272 std::cout << "Input Radius: " << double_radius << std::endl;
    +
    273 std::cout << "Input Height: " << double_height << std::endl;
    +
    274 std::cout << "Expected Output: " << double_expected << std::endl;
    +
    275 std::cout << "Output: " << double_perimeter << std::endl;
    +
    276 assert(double_perimeter == double_expected);
    +
    277 std::cout << "TEST PASSED" << std::endl << std::endl;
    +
    278}
    +
    +
    279
    +
    +
    284int main() {
    +
    285 test(); // run self-test implementations
    +
    286 return 0;
    +
    287}
    +
    +
    int height(node *root)
    Definition avltree.cpp:38
    +
    for assert
    +
    T parallelogram_perimeter(T base, T height)
    perimeter of a parallelogram 2(b + h)
    Definition perimeter.cpp:75
    +
    T cylinder_surface_perimeter(T radius, T height)
    surface perimeter of a cylinder (2 * radius + 2 * height)
    +
    T triangle_perimeter(T base, T height, T hypotenuse)
    perimeter of a triangle (a + b + c)
    Definition perimeter.cpp:52
    +
    T rect_perimeter(T length, T width)
    perimeter of a rectangle ( 2(l + w) )
    Definition perimeter.cpp:40
    +
    T cube_surface_perimeter(T length)
    surface perimeter of a cube ( 12
    Definition perimeter.cpp:86
    +
    T square_perimeter(T length)
    perimeter of a square (4 * l)
    Definition perimeter.cpp:28
    +
    T n_polygon_surface_perimeter(T sides, T length)
    surface perimeter of a n-polygon ( n * l)
    Definition perimeter.cpp:99
    +
    T circle_perimeter(T radius)
    perimeter of a circle (2 * pi * r)
    Definition perimeter.cpp:63
    +
    static void test()
    Self-test implementations.
    +
    int main()
    Main function.
    +
    +
    + + + + diff --git a/d4/d08/sha256_8cpp.html b/d4/d08/sha256_8cpp.html index d8e910ffb..243394bbb 100644 --- a/d4/d08/sha256_8cpp.html +++ b/d4/d08/sha256_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: hashing/sha256.cpp File Reference +TheAlgorithms/C++: hashing/sha256.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -127,7 +144,9 @@ Include dependency graph for sha256.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -148,20 +167,20 @@ Functions - + - + - + - + - + @@ -185,6 +204,8 @@ Functions

    Simple C++ implementation of the [SHA-256 Hashing Algorithm] (https://en.wikipedia.org/wiki/SHA-2)

    Author
    Md. Anisul Haque

    SHA-2 is a set of cryptographic hash functions that was designed by the NSA and first published in 2001. SHA-256 is a part of the SHA-2 family. SHA-256 is widely used for authenticating software packages and secure password hashing.

    + +

    Definition in file sha256.cpp.

    Function Documentation

    ◆ compute_padded_size()

    @@ -193,9 +214,9 @@ Functions

    Classes

    class  hashing::sha256::Hash
    uint32_t hashing::sha256::right_rotate (uint32_t n, size_t rotate)
     Rotates the bits of a 32-bit unsigned integer.
     
    std::size_t hashing::sha256::compute_padded_size (const std::size_t input_size)
    std::size_t hashing::sha256::compute_padded_size (const std::size_t input_size)
     Computes size of the padded input.
     
    template<typename T >
    uint8_t hashing::sha256::extract_byte (const T in_value, const std::size_t byte_num)
    uint8_t hashing::sha256::extract_byte (const T in_value, const std::size_t byte_num)
     Returns the byte at position byte_num in in_value.
     
    char hashing::sha256::get_char (const std::string &input, std::size_t pos)
    char hashing::sha256::get_char (const std::string &input, std::size_t pos)
     Returns the character at pos after the input is padded.
     
    std::array< uint32_t, 64 > hashing::sha256::create_message_schedule_array (const std::string &input, const size_t byte_num)
    std::array< uint32_t, 64 > hashing::sha256::create_message_schedule_array (const std::string &input, const size_t byte_num)
     Creates the message schedule array.
     
    std::string hashing::sha256::sha256 (const std::string &input)
    std::string hashing::sha256::sha256 (const std::string &input)
     Computes the final hash value.
     
    static void test_compute_padded_size ()
    - + - +
    std::size_t hashing::sha256::compute_padded_size std::size_t hashing::sha256::compute_padded_size (const std::size_t input_size)const std::size_t input_size)
    @@ -209,18 +230,15 @@ Functions
    Returns
    size_t Size of the padded input
    + +

    Definition at line 143 of file sha256.cpp.

    143 {
    144 if (input_size % 64 < 56) {
    145 return input_size + 64 - (input_size % 64);
    146 }
    147 return input_size + 128 - (input_size % 64);
    148}
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    @@ -230,9 +248,9 @@ Here is the call graph for this function:
    - + - + @@ -251,8 +269,10 @@ Here is the call graph for this function:
    Returns
    std::array<uint32_t, 64> Message schedule array
    + +

    Definition at line 195 of file sha256.cpp.

    196 {
    - +
    197 std::array<uint32_t, 64> blocks{};
    198
    199 // Copy chunk into first 16 words of the message schedule array
    200 for (size_t block_num = 0; block_num < 16; ++block_num) {
    @@ -281,15 +301,9 @@ Here is the call graph for this function:
    223
    224 return blocks;
    225}
    - -
    char get_char(const std::string &input, std::size_t pos)
    Returns the character at pos after the input is padded.
    Definition sha256.cpp:170
    -
    uint32_t right_rotate(uint32_t n, size_t rotate)
    Rotates the bits of a 32-bit unsigned integer.
    Definition sha256.cpp:58
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    char get_char(const std::string &input, std::size_t pos)
    Returns the character at pos after the input is padded.
    Definition sha256.cpp:170
    +
    uint32_t right_rotate(uint32_t n, size_t rotate)
    Rotates the bits of a 32-bit unsigned integer.
    Definition sha256.cpp:58
    + @@ -308,7 +322,7 @@ template<typename T > - +
    std::array< uint32_t, 64 > hashing::sha256::create_message_schedule_array std::array< uint32_t, 64 > hashing::sha256::create_message_schedule_array (const std::string & input, const std::string & input,
    const std::size_t byte_num )const std::size_t byte_num )
    @@ -322,19 +336,15 @@ template<typename T >
    Returns
    uint8_t Byte at position byte_num
    + +

    Definition at line 157 of file sha256.cpp.

    157 {
    158 if (sizeof(in_value) <= byte_num) {
    -
    159 throw std::out_of_range("Byte at index byte_num does not exist");
    +
    159 throw std::out_of_range("Byte at index byte_num does not exist");
    160 }
    161 return (in_value >> (byte_num * 8)) & 0xFF;
    162}
    - -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -346,12 +356,12 @@ Here is the call graph for this function: char hashing::sha256::get_char ( - const std::string & input, + const std::string & input, - std::size_t pos ) + std::size_t pos )
    @@ -365,8 +375,10 @@ Here is the call graph for this function:
    Returns
    char Character at the index pos in the padded string
    + +

    Definition at line 170 of file sha256.cpp.

    170 {
    -
    171 const auto input_size = input.length();
    +
    171 const auto input_size = input.length();
    172 if (pos < input_size) {
    173 return input[pos];
    174 }
    @@ -378,19 +390,13 @@ Here is the call graph for this function:
    180 return '\x00';
    181 }
    182 if (padded_input_size <= pos) {
    -
    183 throw std::out_of_range("pos is out of range");
    +
    183 throw std::out_of_range("pos is out of range");
    184 }
    185 return static_cast<char>(
    186 extract_byte<size_t>(input_size * 8, padded_input_size - pos - 1));
    187}
    -
    std::size_t compute_padded_size(const std::size_t input_size)
    Computes size of the padded input.
    Definition sha256.cpp:143
    -
    T length(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    std::size_t compute_padded_size(const std::size_t input_size)
    Computes size of the padded input.
    Definition sha256.cpp:143
    + @@ -410,17 +416,14 @@ Here is the call graph for this function:

    Main function.

    Returns
    0 on exit
    + +

    Definition at line 326 of file sha256.cpp.

    326 {
    327 test(); // Run self-test implementations
    328 return 0;
    329}
    -
    void test()
    Definition caesar_cipher.cpp:100
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    void test()
    + @@ -451,16 +454,12 @@ Here is the call graph for this function:
    Returns
    uint32_t The rotated integer
    -
    58 {
    -
    59 return (n >> rotate) | (n << (32 - rotate));
    -
    60}
    -
    T rotate(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    +

    Definition at line 58 of file sha256.cpp.

    +
    58 {
    +
    59 return (n >> rotate) | (n << (32 - rotate));
    +
    60}
    +
    @@ -470,9 +469,9 @@ Here is the call graph for this function:
    - + - +
    std::string hashing::sha256::sha256 std::string hashing::sha256::sha256 (const std::string & input)const std::string & input)
    @@ -485,24 +484,21 @@ Here is the call graph for this function:
    -
    Returns
    std::string The final hash value
    +
    Returns
    std::string The final hash value
    + +

    Definition at line 232 of file sha256.cpp.

    232 {
    233 Hash h;
    234 // Process message in successive 512-bit (64-byte) chunks
    -
    235 for (size_t byte_num = 0; byte_num < compute_padded_size(input.length());
    +
    235 for (size_t byte_num = 0; byte_num < compute_padded_size(input.length());
    236 byte_num += 64) {
    237 h.update(create_message_schedule_array(input, byte_num));
    238 }
    239 return h.to_string();
    240}
    -
    int h(int key)
    Definition hash_search.cpp:45
    -
    std::array< uint32_t, 64 > create_message_schedule_array(const std::string &input, const size_t byte_num)
    Creates the message schedule array.
    Definition sha256.cpp:195
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    int h(int key)
    +
    std::array< uint32_t, 64 > create_message_schedule_array(const std::string &input, const size_t byte_num)
    Creates the message schedule array.
    Definition sha256.cpp:195
    + @@ -527,6 +523,8 @@ Here is the call graph for this function:
    + +

    Definition at line 312 of file sha256.cpp.

    312 {
    314 test_extract_byte();
    @@ -534,10 +532,9 @@ Here is the call graph for this function:
    316 test_right_rotate();
    317 test_sha256();
    318
    -
    319 std::cout << "All tests have successfully passed!\n";
    +
    319 std::cout << "All tests have successfully passed!\n";
    320}
    - -
    static void test_compute_padded_size()
    Self-test implementations.
    Definition sha256.cpp:248
    +
    static void test_compute_padded_size()
    Self-test implementations.
    Definition sha256.cpp:248
    @@ -566,6 +563,8 @@ Here is the call graph for this function:

    Self-test implementations.

    Returns
    void
    + +

    Definition at line 248 of file sha256.cpp.

    248 {
    249 assert(hashing::sha256::compute_padded_size(55) == 64);
    250 assert(hashing::sha256::compute_padded_size(56) == 128);
    @@ -596,13 +595,15 @@ Here is the call graph for this function:
    + +

    Definition at line 254 of file sha256.cpp.

    254 {
    255 assert(hashing::sha256::extract_byte<uint32_t>(512, 0) == 0);
    256 assert(hashing::sha256::extract_byte<uint32_t>(512, 1) == 2);
    257 bool exception = false;
    258 try {
    259 hashing::sha256::extract_byte<uint32_t>(512, 5);
    -
    260 } catch (const std::out_of_range &) {
    +
    260 } catch (const std::out_of_range &) {
    261 exception = true;
    262 }
    263 assert(exception);
    @@ -632,6 +633,8 @@ Here is the call graph for this function:
    + +

    Definition at line 266 of file sha256.cpp.

    266 {
    267 assert(hashing::sha256::get_char("test", 3) == 't');
    268 assert(hashing::sha256::get_char("test", 4) == '\x80');
    @@ -640,7 +643,7 @@ Here is the call graph for this function:
    271 bool exception = false;
    272 try {
    273 hashing::sha256::get_char("test", 64);
    -
    274 } catch (const std::out_of_range &) {
    +
    274 } catch (const std::out_of_range &) {
    275 exception = true;
    276 }
    277 assert(exception);
    @@ -670,6 +673,8 @@ Here is the call graph for this function:
    + +

    Definition at line 280 of file sha256.cpp.

    280 {
    281 assert(hashing::sha256::right_rotate(128, 3) == 16);
    282 assert(hashing::sha256::right_rotate(1, 30) == 4);
    @@ -700,15 +705,17 @@ Here is the call graph for this function:
    + +

    Definition at line 286 of file sha256.cpp.

    286 {
    287 struct TestCase {
    -
    288 const std::string input;
    -
    289 const std::string expected_hash;
    -
    290 TestCase(std::string input, std::string expected_hash)
    -
    291 : input(std::move(input)),
    -
    292 expected_hash(std::move(expected_hash)) {}
    +
    288 const std::string input;
    +
    289 const std::string expected_hash;
    +
    290 TestCase(std::string input, std::string expected_hash)
    +
    291 : input(std::move(input)),
    +
    292 expected_hash(std::move(expected_hash)) {}
    293 };
    -
    294 const std::vector<TestCase> test_cases{
    +
    294 const std::vector<TestCase> test_cases{
    295 TestCase(
    296 "",
    297 "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"),
    @@ -725,11 +732,7 @@ Here is the call graph for this function:
    308 assert(hashing::sha256::sha256(tc.input) == tc.expected_hash);
    309 }
    310}
    - -
    T move(T... args)
    -
    STL namespace.
    -
    represents single example inputs and expected output of the function longest_common_string_length
    Definition longest_common_string.cpp:54
    - +
    represents single example inputs and expected output of the function longest_common_string_length
    diff --git a/d4/d08/sha256_8cpp_a28c1c6724dc6bcf91a39818699bbec27_cgraph.map b/d4/d08/sha256_8cpp_a28c1c6724dc6bcf91a39818699bbec27_cgraph.map deleted file mode 100644 index c1256261b..000000000 --- a/d4/d08/sha256_8cpp_a28c1c6724dc6bcf91a39818699bbec27_cgraph.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/d4/d08/sha256_8cpp_a28c1c6724dc6bcf91a39818699bbec27_cgraph.md5 b/d4/d08/sha256_8cpp_a28c1c6724dc6bcf91a39818699bbec27_cgraph.md5 deleted file mode 100644 index 1526cac8f..000000000 --- a/d4/d08/sha256_8cpp_a28c1c6724dc6bcf91a39818699bbec27_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -5302f01d8b4f06761d2a61164fddd47c \ No newline at end of file diff --git a/d4/d08/sha256_8cpp_a28c1c6724dc6bcf91a39818699bbec27_cgraph.svg b/d4/d08/sha256_8cpp_a28c1c6724dc6bcf91a39818699bbec27_cgraph.svg deleted file mode 100644 index 0770406cc..000000000 --- a/d4/d08/sha256_8cpp_a28c1c6724dc6bcf91a39818699bbec27_cgraph.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - - - - - - - -hashing::sha256::compute_padded_size - - -Node1 - - -hashing::sha256::compute -_padded_size - - - - - -Node1->Node1 - - - - - - - - - - - - - diff --git a/d4/d08/sha256_8cpp_a28c1c6724dc6bcf91a39818699bbec27_cgraph_org.svg b/d4/d08/sha256_8cpp_a28c1c6724dc6bcf91a39818699bbec27_cgraph_org.svg deleted file mode 100644 index 9614d7043..000000000 --- a/d4/d08/sha256_8cpp_a28c1c6724dc6bcf91a39818699bbec27_cgraph_org.svg +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - -hashing::sha256::compute_padded_size - - -Node1 - - -hashing::sha256::compute -_padded_size - - - - - -Node1->Node1 - - - - - - - - diff --git a/d4/d08/sha256_8cpp_a525531b3939ed44fbf01674e21931b3a_cgraph.map b/d4/d08/sha256_8cpp_a525531b3939ed44fbf01674e21931b3a_cgraph.map deleted file mode 100644 index 3432d1520..000000000 --- a/d4/d08/sha256_8cpp_a525531b3939ed44fbf01674e21931b3a_cgraph.map +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/d4/d08/sha256_8cpp_a525531b3939ed44fbf01674e21931b3a_cgraph.md5 b/d4/d08/sha256_8cpp_a525531b3939ed44fbf01674e21931b3a_cgraph.md5 deleted file mode 100644 index 9c5418bed..000000000 --- a/d4/d08/sha256_8cpp_a525531b3939ed44fbf01674e21931b3a_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -ec2f16bf52a8fa6d2962d407a6f40a98 \ No newline at end of file diff --git a/d4/d08/sha256_8cpp_a525531b3939ed44fbf01674e21931b3a_cgraph.svg b/d4/d08/sha256_8cpp_a525531b3939ed44fbf01674e21931b3a_cgraph.svg deleted file mode 100644 index b55dfcb94..000000000 --- a/d4/d08/sha256_8cpp_a525531b3939ed44fbf01674e21931b3a_cgraph.svg +++ /dev/null @@ -1,158 +0,0 @@ - - - - - - - - - - - - -hashing::sha256::create_message_schedule_array - - -Node1 - - -hashing::sha256::create -_message_schedule_array - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -hashing::sha256::get_char - - - - - -Node1->Node2 - - - - - - - - -Node5 - - -hashing::sha256::right -_rotate - - - - - -Node1->Node5 - - - - - - - - -Node2->Node2 - - - - - - - - -Node3 - - -hashing::sha256::compute -_padded_size - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::string::length - - - - - -Node2->Node4 - - - - - - - - -Node3->Node3 - - - - - - - - -Node5->Node5 - - - - - - - - - - - - - diff --git a/d4/d08/sha256_8cpp_a525531b3939ed44fbf01674e21931b3a_cgraph_org.svg b/d4/d08/sha256_8cpp_a525531b3939ed44fbf01674e21931b3a_cgraph_org.svg deleted file mode 100644 index 43aed4cd8..000000000 --- a/d4/d08/sha256_8cpp_a525531b3939ed44fbf01674e21931b3a_cgraph_org.svg +++ /dev/null @@ -1,132 +0,0 @@ - - - - - - -hashing::sha256::create_message_schedule_array - - -Node1 - - -hashing::sha256::create -_message_schedule_array - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -hashing::sha256::get_char - - - - - -Node1->Node2 - - - - - - - - -Node5 - - -hashing::sha256::right -_rotate - - - - - -Node1->Node5 - - - - - - - - -Node2->Node2 - - - - - - - - -Node3 - - -hashing::sha256::compute -_padded_size - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::string::length - - - - - -Node2->Node4 - - - - - - - - -Node3->Node3 - - - - - - - - -Node5->Node5 - - - - - - - - diff --git a/d4/d08/sha256_8cpp_a55475649a2bb7aae15de0716a217f43a_cgraph.map b/d4/d08/sha256_8cpp_a55475649a2bb7aae15de0716a217f43a_cgraph.map deleted file mode 100644 index 069bbd70b..000000000 --- a/d4/d08/sha256_8cpp_a55475649a2bb7aae15de0716a217f43a_cgraph.map +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d4/d08/sha256_8cpp_a55475649a2bb7aae15de0716a217f43a_cgraph.md5 b/d4/d08/sha256_8cpp_a55475649a2bb7aae15de0716a217f43a_cgraph.md5 deleted file mode 100644 index dfde8dfc9..000000000 --- a/d4/d08/sha256_8cpp_a55475649a2bb7aae15de0716a217f43a_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -512c87b976a91f9fb71d08e8b4a8372c \ No newline at end of file diff --git a/d4/d08/sha256_8cpp_a55475649a2bb7aae15de0716a217f43a_cgraph.svg b/d4/d08/sha256_8cpp_a55475649a2bb7aae15de0716a217f43a_cgraph.svg deleted file mode 100644 index 09ffe6906..000000000 --- a/d4/d08/sha256_8cpp_a55475649a2bb7aae15de0716a217f43a_cgraph.svg +++ /dev/null @@ -1,369 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -hashing::sha256::sha256 - - -Node1 - - -hashing::sha256::sha256 - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -hashing::sha256::compute -_padded_size - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -hashing::sha256::create -_message_schedule_array - - - - - -Node1->Node3 - - - - - - - - -Node5 - - -std::string::length - - - - - -Node1->Node5 - - - - - - - - -Node7 - - -h - - - - - -Node1->Node7 - - - - - - - - -Node8 - - -hashing::sha256::Hash -::to_string - - - - - -Node1->Node8 - - - - - - - - -Node2->Node2 - - - - - - - - -Node3->Node3 - - - - - - - - -Node4 - - -hashing::sha256::get_char - - - - - -Node3->Node4 - - - - - - - - -Node6 - - -hashing::sha256::right -_rotate - - - - - -Node3->Node6 - - - - - - - - -Node4->Node2 - - - - - - - - -Node4->Node4 - - - - - - - - -Node4->Node5 - - - - - - - - -Node6->Node6 - - - - - - - - -Node9 - - -std::hex - - - - - -Node8->Node9 - - - - - - - - -Node10 - - -std::setfill - - - - - -Node8->Node10 - - - - - - - - -Node11 - - -std::setw - - - - - -Node8->Node11 - - - - - - - - -Node12 - - -std::stringstream::str - - - - - -Node8->Node12 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d4/d08/sha256_8cpp_a55475649a2bb7aae15de0716a217f43a_cgraph_org.svg b/d4/d08/sha256_8cpp_a55475649a2bb7aae15de0716a217f43a_cgraph_org.svg deleted file mode 100644 index a5857b1c4..000000000 --- a/d4/d08/sha256_8cpp_a55475649a2bb7aae15de0716a217f43a_cgraph_org.svg +++ /dev/null @@ -1,286 +0,0 @@ - - - - - - -hashing::sha256::sha256 - - -Node1 - - -hashing::sha256::sha256 - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -hashing::sha256::compute -_padded_size - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -hashing::sha256::create -_message_schedule_array - - - - - -Node1->Node3 - - - - - - - - -Node5 - - -std::string::length - - - - - -Node1->Node5 - - - - - - - - -Node7 - - -h - - - - - -Node1->Node7 - - - - - - - - -Node8 - - -hashing::sha256::Hash -::to_string - - - - - -Node1->Node8 - - - - - - - - -Node2->Node2 - - - - - - - - -Node3->Node3 - - - - - - - - -Node4 - - -hashing::sha256::get_char - - - - - -Node3->Node4 - - - - - - - - -Node6 - - -hashing::sha256::right -_rotate - - - - - -Node3->Node6 - - - - - - - - -Node4->Node2 - - - - - - - - -Node4->Node4 - - - - - - - - -Node4->Node5 - - - - - - - - -Node6->Node6 - - - - - - - - -Node9 - - -std::hex - - - - - -Node8->Node9 - - - - - - - - -Node10 - - -std::setfill - - - - - -Node8->Node10 - - - - - - - - -Node11 - - -std::setw - - - - - -Node8->Node11 - - - - - - - - -Node12 - - -std::stringstream::str - - - - - -Node8->Node12 - - - - - - - - diff --git a/d4/d08/sha256_8cpp_a9e98c180d32b04aab6f767cb0c13e1da_cgraph.map b/d4/d08/sha256_8cpp_a9e98c180d32b04aab6f767cb0c13e1da_cgraph.map deleted file mode 100644 index 57b6b06f8..000000000 --- a/d4/d08/sha256_8cpp_a9e98c180d32b04aab6f767cb0c13e1da_cgraph.map +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/d4/d08/sha256_8cpp_a9e98c180d32b04aab6f767cb0c13e1da_cgraph.md5 b/d4/d08/sha256_8cpp_a9e98c180d32b04aab6f767cb0c13e1da_cgraph.md5 deleted file mode 100644 index fc8366788..000000000 --- a/d4/d08/sha256_8cpp_a9e98c180d32b04aab6f767cb0c13e1da_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -f109cbd289c4aa7ecc0d801ad85ac303 \ No newline at end of file diff --git a/d4/d08/sha256_8cpp_a9e98c180d32b04aab6f767cb0c13e1da_cgraph.svg b/d4/d08/sha256_8cpp_a9e98c180d32b04aab6f767cb0c13e1da_cgraph.svg deleted file mode 100644 index ab44cf9f2..000000000 --- a/d4/d08/sha256_8cpp_a9e98c180d32b04aab6f767cb0c13e1da_cgraph.svg +++ /dev/null @@ -1,102 +0,0 @@ - - - - - - - - - - - - -hashing::sha256::get_char - - -Node1 - - -hashing::sha256::get_char - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -hashing::sha256::compute -_padded_size - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::string::length - - - - - -Node1->Node3 - - - - - - - - -Node2->Node2 - - - - - - - - - - - - - diff --git a/d4/d08/sha256_8cpp_a9e98c180d32b04aab6f767cb0c13e1da_cgraph_org.svg b/d4/d08/sha256_8cpp_a9e98c180d32b04aab6f767cb0c13e1da_cgraph_org.svg deleted file mode 100644 index 7279a353f..000000000 --- a/d4/d08/sha256_8cpp_a9e98c180d32b04aab6f767cb0c13e1da_cgraph_org.svg +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - -hashing::sha256::get_char - - -Node1 - - -hashing::sha256::get_char - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -hashing::sha256::compute -_padded_size - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::string::length - - - - - -Node1->Node3 - - - - - - - - -Node2->Node2 - - - - - - - - diff --git a/d4/d08/sha256_8cpp_adbcd504103c342a4da718f8fce6ff06c_cgraph.map b/d4/d08/sha256_8cpp_adbcd504103c342a4da718f8fce6ff06c_cgraph.map deleted file mode 100644 index 607ca8b77..000000000 --- a/d4/d08/sha256_8cpp_adbcd504103c342a4da718f8fce6ff06c_cgraph.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/d4/d08/sha256_8cpp_adbcd504103c342a4da718f8fce6ff06c_cgraph.md5 b/d4/d08/sha256_8cpp_adbcd504103c342a4da718f8fce6ff06c_cgraph.md5 deleted file mode 100644 index 0bc4f94af..000000000 --- a/d4/d08/sha256_8cpp_adbcd504103c342a4da718f8fce6ff06c_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -f072e1b75da14f84ed5f784bad20048e \ No newline at end of file diff --git a/d4/d08/sha256_8cpp_adbcd504103c342a4da718f8fce6ff06c_cgraph.svg b/d4/d08/sha256_8cpp_adbcd504103c342a4da718f8fce6ff06c_cgraph.svg deleted file mode 100644 index 1b6efb921..000000000 --- a/d4/d08/sha256_8cpp_adbcd504103c342a4da718f8fce6ff06c_cgraph.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - - - - - - - -hashing::sha256::right_rotate - - -Node1 - - -hashing::sha256::right -_rotate - - - - - -Node1->Node1 - - - - - - - - - - - - - diff --git a/d4/d08/sha256_8cpp_adbcd504103c342a4da718f8fce6ff06c_cgraph_org.svg b/d4/d08/sha256_8cpp_adbcd504103c342a4da718f8fce6ff06c_cgraph_org.svg deleted file mode 100644 index 1fabac4e7..000000000 --- a/d4/d08/sha256_8cpp_adbcd504103c342a4da718f8fce6ff06c_cgraph_org.svg +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - -hashing::sha256::right_rotate - - -Node1 - - -hashing::sha256::right -_rotate - - - - - -Node1->Node1 - - - - - - - - diff --git a/d4/d08/sha256_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d4/d08/sha256_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index cc0f19d61..000000000 --- a/d4/d08/sha256_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/d4/d08/sha256_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d4/d08/sha256_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index 133642d61..000000000 --- a/d4/d08/sha256_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -45a93b7dd32655ba8027ce8e55842be5 \ No newline at end of file diff --git a/d4/d08/sha256_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d4/d08/sha256_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index cfe500a18..000000000 --- a/d4/d08/sha256_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node2->Node3 - - - - - - - - - - - - - diff --git a/d4/d08/sha256_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d4/d08/sha256_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 1d3bc748a..000000000 --- a/d4/d08/sha256_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node2->Node3 - - - - - - - - diff --git a/d4/d08/sha256_8cpp_afea411191ec5281f43e91ea327984627_cgraph.map b/d4/d08/sha256_8cpp_afea411191ec5281f43e91ea327984627_cgraph.map deleted file mode 100644 index 8e7d2361a..000000000 --- a/d4/d08/sha256_8cpp_afea411191ec5281f43e91ea327984627_cgraph.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/d4/d08/sha256_8cpp_afea411191ec5281f43e91ea327984627_cgraph.md5 b/d4/d08/sha256_8cpp_afea411191ec5281f43e91ea327984627_cgraph.md5 deleted file mode 100644 index e9fee38ea..000000000 --- a/d4/d08/sha256_8cpp_afea411191ec5281f43e91ea327984627_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -25cbb138a137fa1ceba615b733f23613 \ No newline at end of file diff --git a/d4/d08/sha256_8cpp_afea411191ec5281f43e91ea327984627_cgraph.svg b/d4/d08/sha256_8cpp_afea411191ec5281f43e91ea327984627_cgraph.svg deleted file mode 100644 index 24bca1a1d..000000000 --- a/d4/d08/sha256_8cpp_afea411191ec5281f43e91ea327984627_cgraph.svg +++ /dev/null @@ -1,56 +0,0 @@ - - - - - - - - - - - - -hashing::sha256::extract_byte - - -Node1 - - -hashing::sha256::extract_byte - - - - - -Node1->Node1 - - - - - - - - - - - - - diff --git a/d4/d08/sha256_8cpp_afea411191ec5281f43e91ea327984627_cgraph_org.svg b/d4/d08/sha256_8cpp_afea411191ec5281f43e91ea327984627_cgraph_org.svg deleted file mode 100644 index 715300cdf..000000000 --- a/d4/d08/sha256_8cpp_afea411191ec5281f43e91ea327984627_cgraph_org.svg +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - -hashing::sha256::extract_byte - - -Node1 - - -hashing::sha256::extract_byte - - - - - -Node1->Node1 - - - - - - - - diff --git a/d4/d08/sha256_8cpp_source.html b/d4/d08/sha256_8cpp_source.html new file mode 100644 index 000000000..51d901242 --- /dev/null +++ b/d4/d08/sha256_8cpp_source.html @@ -0,0 +1,425 @@ + + + + + + + + +TheAlgorithms/C++: hashing/sha256.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    sha256.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    15#include <array>
    +
    16#include <cassert>
    +
    17#include <cstdint>
    +
    18#include <iomanip>
    +
    19#include <iostream>
    +
    20#include <sstream>
    +
    21#include <utility>
    +
    22#include <vector>
    +
    23
    +
    28namespace hashing {
    +
    34namespace sha256 {
    +
    +
    40class Hash {
    +
    41 // Initialize array of hash values with first 32 bits of the fractional
    +
    42 // parts of the square roots of the first 8 primes 2..19
    +
    43 std::array<uint32_t, 8> hash = {0x6A09E667, 0xBB67AE85, 0x3C6EF372,
    +
    44 0xA54FF53A, 0x510E527F, 0x9B05688C,
    +
    45 0x1F83D9AB, 0x5BE0CD19};
    +
    46
    +
    47 public:
    +
    48 void update(const std::array<uint32_t, 64> &blocks);
    +
    49 std::string to_string() const;
    +
    50};
    +
    +
    51
    +
    +
    58uint32_t right_rotate(uint32_t n, size_t rotate) {
    +
    59 return (n >> rotate) | (n << (32 - rotate));
    +
    60}
    +
    +
    61
    +
    +
    67void Hash::update(const std::array<uint32_t, 64> &blocks) {
    +
    68 // Initialize array of round constants with first 32 bits of the fractional
    +
    69 // parts of the cube roots of the first 64 primes 2..311
    +
    70 const std::array<uint32_t, 64> round_constants = {
    +
    71 0x428A2F98, 0x71374491, 0xB5C0FBCF, 0xE9B5DBA5, 0x3956C25B, 0x59F111F1,
    +
    72 0x923F82A4, 0xAB1C5ED5, 0xD807AA98, 0x12835B01, 0x243185BE, 0x550C7DC3,
    +
    73 0x72BE5D74, 0x80DEB1FE, 0x9BDC06A7, 0xC19BF174, 0xE49B69C1, 0xEFBE4786,
    +
    74 0x0FC19DC6, 0x240CA1CC, 0x2DE92C6F, 0x4A7484AA, 0x5CB0A9DC, 0x76F988DA,
    +
    75 0x983E5152, 0xA831C66D, 0xB00327C8, 0xBF597FC7, 0xC6E00BF3, 0xD5A79147,
    +
    76 0x06CA6351, 0x14292967, 0x27B70A85, 0x2E1B2138, 0x4D2C6DFC, 0x53380D13,
    +
    77 0x650A7354, 0x766A0ABB, 0x81C2C92E, 0x92722C85, 0xA2BFE8A1, 0xA81A664B,
    +
    78 0xC24B8B70, 0xC76C51A3, 0xD192E819, 0xD6990624, 0xF40E3585, 0x106AA070,
    +
    79 0x19A4C116, 0x1E376C08, 0x2748774C, 0x34B0BCB5, 0x391C0CB3, 0x4ED8AA4A,
    +
    80 0x5B9CCA4F, 0x682E6FF3, 0x748F82EE, 0x78A5636F, 0x84C87814, 0x8CC70208,
    +
    81 0x90BEFFFA, 0xA4506CEB, 0xBEF9A3F7, 0xC67178F2};
    +
    82
    +
    83 // Initialize working variables
    +
    84 auto a = hash[0];
    +
    85 auto b = hash[1];
    +
    86 auto c = hash[2];
    +
    87 auto d = hash[3];
    +
    88 auto e = hash[4];
    +
    89 auto f = hash[5];
    +
    90 auto g = hash[6];
    +
    91 auto h = hash[7];
    +
    92
    +
    93 // Compression function main loop
    +
    94 for (size_t block_num = 0; block_num < 64; ++block_num) {
    +
    95 const auto s1 =
    +
    96 right_rotate(e, 6) ^ right_rotate(e, 11) ^ right_rotate(e, 25);
    +
    97 const auto ch = (e & f) ^ (~e & g);
    +
    98 const auto temp1 =
    +
    99 h + s1 + ch + round_constants[block_num] + blocks[block_num];
    +
    100 const auto s0 =
    +
    101 right_rotate(a, 2) ^ right_rotate(a, 13) ^ right_rotate(a, 22);
    +
    102 const auto maj = (a & b) ^ (a & c) ^ (b & c);
    +
    103 const auto temp2 = s0 + maj;
    +
    104
    +
    105 h = g;
    +
    106 g = f;
    +
    107 f = e;
    +
    108 e = d + temp1;
    +
    109 d = c;
    +
    110 c = b;
    +
    111 b = a;
    +
    112 a = temp1 + temp2;
    +
    113 }
    +
    114
    +
    115 // Update hash values
    +
    116 hash[0] += a;
    +
    117 hash[1] += b;
    +
    118 hash[2] += c;
    +
    119 hash[3] += d;
    +
    120 hash[4] += e;
    +
    121 hash[5] += f;
    +
    122 hash[6] += g;
    +
    123 hash[7] += h;
    +
    124}
    +
    +
    125
    +
    +
    130std::string Hash::to_string() const {
    +
    131 std::stringstream ss;
    +
    132 for (size_t i = 0; i < 8; ++i) {
    +
    133 ss << std::hex << std::setfill('0') << std::setw(8) << hash[i];
    +
    134 }
    +
    135 return ss.str();
    +
    136}
    +
    +
    137
    +
    +
    143std::size_t compute_padded_size(const std::size_t input_size) {
    +
    144 if (input_size % 64 < 56) {
    +
    145 return input_size + 64 - (input_size % 64);
    +
    146 }
    +
    147 return input_size + 128 - (input_size % 64);
    +
    148}
    +
    +
    149
    +
    156template <typename T>
    +
    +
    157uint8_t extract_byte(const T in_value, const std::size_t byte_num) {
    +
    158 if (sizeof(in_value) <= byte_num) {
    +
    159 throw std::out_of_range("Byte at index byte_num does not exist");
    +
    160 }
    +
    161 return (in_value >> (byte_num * 8)) & 0xFF;
    +
    162}
    +
    +
    163
    +
    +
    170char get_char(const std::string &input, std::size_t pos) {
    +
    171 const auto input_size = input.length();
    +
    172 if (pos < input_size) {
    +
    173 return input[pos];
    +
    174 }
    +
    175 if (pos == input_size) {
    +
    176 return '\x80';
    +
    177 }
    +
    178 const auto padded_input_size = compute_padded_size(input_size);
    +
    179 if (pos < padded_input_size - 8) {
    +
    180 return '\x00';
    +
    181 }
    +
    182 if (padded_input_size <= pos) {
    +
    183 throw std::out_of_range("pos is out of range");
    +
    184 }
    +
    185 return static_cast<char>(
    +
    186 extract_byte<size_t>(input_size * 8, padded_input_size - pos - 1));
    +
    187}
    +
    +
    188
    +
    +
    195std::array<uint32_t, 64> create_message_schedule_array(const std::string &input,
    +
    196 const size_t byte_num) {
    +
    197 std::array<uint32_t, 64> blocks{};
    +
    198
    +
    199 // Copy chunk into first 16 words of the message schedule array
    +
    200 for (size_t block_num = 0; block_num < 16; ++block_num) {
    +
    201 blocks[block_num] =
    +
    202 (static_cast<uint8_t>(get_char(input, byte_num + block_num * 4))
    +
    203 << 24) |
    +
    204 (static_cast<uint8_t>(get_char(input, byte_num + block_num * 4 + 1))
    +
    205 << 16) |
    +
    206 (static_cast<uint8_t>(get_char(input, byte_num + block_num * 4 + 2))
    +
    207 << 8) |
    +
    208 static_cast<uint8_t>(get_char(input, byte_num + block_num * 4 + 3));
    +
    209 }
    +
    210
    +
    211 // Extend the first 16 words into remaining 48 words of the message schedule
    +
    212 // array
    +
    213 for (size_t block_num = 16; block_num < 64; ++block_num) {
    +
    214 const auto s0 = right_rotate(blocks[block_num - 15], 7) ^
    +
    215 right_rotate(blocks[block_num - 15], 18) ^
    +
    216 (blocks[block_num - 15] >> 3);
    +
    217 const auto s1 = right_rotate(blocks[block_num - 2], 17) ^
    +
    218 right_rotate(blocks[block_num - 2], 19) ^
    +
    219 (blocks[block_num - 2] >> 10);
    +
    220 blocks[block_num] =
    +
    221 blocks[block_num - 16] + s0 + blocks[block_num - 7] + s1;
    +
    222 }
    +
    223
    +
    224 return blocks;
    +
    225}
    +
    +
    226
    +
    +
    232std::string sha256(const std::string &input) {
    +
    233 Hash h;
    +
    234 // Process message in successive 512-bit (64-byte) chunks
    +
    235 for (size_t byte_num = 0; byte_num < compute_padded_size(input.length());
    +
    236 byte_num += 64) {
    +
    237 h.update(create_message_schedule_array(input, byte_num));
    +
    238 }
    +
    239 return h.to_string();
    +
    240}
    +
    +
    241} // namespace sha256
    +
    242} // namespace hashing
    +
    243
    +
    + +
    249 assert(hashing::sha256::compute_padded_size(55) == 64);
    +
    250 assert(hashing::sha256::compute_padded_size(56) == 128);
    +
    251 assert(hashing::sha256::compute_padded_size(130) == 192);
    +
    252}
    +
    +
    253
    +
    254static void test_extract_byte() {
    +
    255 assert(hashing::sha256::extract_byte<uint32_t>(512, 0) == 0);
    +
    256 assert(hashing::sha256::extract_byte<uint32_t>(512, 1) == 2);
    +
    257 bool exception = false;
    +
    258 try {
    +
    259 hashing::sha256::extract_byte<uint32_t>(512, 5);
    +
    260 } catch (const std::out_of_range &) {
    +
    261 exception = true;
    +
    262 }
    +
    263 assert(exception);
    +
    264}
    +
    265
    +
    266static void test_get_char() {
    +
    267 assert(hashing::sha256::get_char("test", 3) == 't');
    +
    268 assert(hashing::sha256::get_char("test", 4) == '\x80');
    +
    269 assert(hashing::sha256::get_char("test", 5) == '\x00');
    +
    270 assert(hashing::sha256::get_char("test", 63) == 32);
    +
    271 bool exception = false;
    +
    272 try {
    +
    273 hashing::sha256::get_char("test", 64);
    +
    274 } catch (const std::out_of_range &) {
    +
    275 exception = true;
    +
    276 }
    +
    277 assert(exception);
    +
    278}
    +
    279
    +
    280static void test_right_rotate() {
    +
    281 assert(hashing::sha256::right_rotate(128, 3) == 16);
    +
    282 assert(hashing::sha256::right_rotate(1, 30) == 4);
    +
    283 assert(hashing::sha256::right_rotate(6, 30) == 24);
    +
    284}
    +
    285
    +
    286static void test_sha256() {
    +
    287 struct TestCase {
    +
    288 const std::string input;
    +
    289 const std::string expected_hash;
    +
    290 TestCase(std::string input, std::string expected_hash)
    +
    291 : input(std::move(input)),
    +
    292 expected_hash(std::move(expected_hash)) {}
    +
    293 };
    +
    294 const std::vector<TestCase> test_cases{
    +
    295 TestCase(
    +
    296 "",
    +
    297 "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"),
    +
    298 TestCase(
    +
    299 "test",
    +
    300 "9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08"),
    +
    301 TestCase(
    +
    302 "Hello World",
    +
    303 "a591a6d40bf420404a011733cfb7b190d62c65bf0bcda32b57b277d9ad9f146e"),
    +
    304 TestCase("Hello World!",
    +
    305 "7f83b1657ff1fc53b92dc18148a1d65dfc2d4b1fa3d677284addd200126d9"
    +
    306 "069")};
    +
    307 for (const auto &tc : test_cases) {
    +
    308 assert(hashing::sha256::sha256(tc.input) == tc.expected_hash);
    +
    309 }
    +
    310}
    +
    311
    +
    312static void test() {
    + +
    314 test_extract_byte();
    +
    315 test_get_char();
    +
    316 test_right_rotate();
    +
    317 test_sha256();
    +
    318
    +
    319 std::cout << "All tests have successfully passed!\n";
    +
    320}
    +
    321
    +
    +
    326int main() {
    +
    327 test(); // Run self-test implementations
    +
    328 return 0;
    +
    329}
    +
    +
    void test()
    +
    Contains hash array and functions to update it and convert it to a hexadecimal string.
    Definition sha256.cpp:40
    +
    void update(const std::array< uint32_t, 64 > &blocks)
    Updates the hash array.
    Definition sha256.cpp:67
    +
    std::string to_string() const
    Convert the hash to a hexadecimal string.
    Definition sha256.cpp:130
    +
    int h(int key)
    +
    Used for assert.
    +
    std::size_t compute_padded_size(const std::size_t input_size)
    Computes size of the padded input.
    Definition sha256.cpp:143
    +
    std::array< uint32_t, 64 > create_message_schedule_array(const std::string &input, const size_t byte_num)
    Creates the message schedule array.
    Definition sha256.cpp:195
    +
    std::string sha256(const std::string &input)
    Computes the final hash value.
    Definition sha256.cpp:232
    +
    char get_char(const std::string &input, std::size_t pos)
    Returns the character at pos after the input is padded.
    Definition sha256.cpp:170
    +
    uint32_t right_rotate(uint32_t n, size_t rotate)
    Rotates the bits of a 32-bit unsigned integer.
    Definition sha256.cpp:58
    +
    int main()
    Main function.
    Definition sha256.cpp:326
    +
    static void test_compute_padded_size()
    Self-test implementations.
    Definition sha256.cpp:248
    +
    uint8_t extract_byte(const T in_value, const std::size_t byte_num)
    Returns the byte at position byte_num in in_value.
    Definition sha256.cpp:157
    +
    represents single example inputs and expected output of the function longest_common_string_length
    +
    +
    + + + + diff --git a/d4/d0e/classdata__structures_1_1linked__list_1_1_node.html b/d4/d0e/classdata__structures_1_1linked__list_1_1_node.html index 0e792ef8b..95cf4d36b 100644 --- a/d4/d0e/classdata__structures_1_1linked__list_1_1_node.html +++ b/d4/d0e/classdata__structures_1_1linked__list_1_1_node.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: data_structures::linked_list::Node Class Reference +TheAlgorithms/C++: data_structures::linked_list::Node Class Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -118,18 +135,53 @@ Collaboration diagram for data_structures::linked_list::Node:
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    - + - - + +

    Public Attributes

    -int32_t val
    int32_t val
     
    -Nodenext
     value of the current link
    Nodenext
     value of the current link
     

    Detailed Description

    A Node class containing a value and pointer to another link

    -

    The documentation for this class was generated from the following file:

    Member Data Documentation

    + +

    ◆ next

    + +
    +
    + + + + +
    Node* data_structures::linked_list::Node::next
    +
    + +

    value of the current link

    + +

    Definition at line 45 of file reverse_a_linked_list.cpp.

    + +
    +
    + +

    ◆ val

    + +
    +
    + + + + +
    int32_t data_structures::linked_list::Node::val
    +
    + +

    Definition at line 44 of file reverse_a_linked_list.cpp.

    + +
    +
    +
    The documentation for this class was generated from the following file: diff --git a/d4/d0f/namespacegram__schmidt.html b/d4/d0f/namespacegram__schmidt.html index 8429e1dfd..615530a26 100644 --- a/d4/d0f/namespacegram__schmidt.html +++ b/d4/d0f/namespacegram__schmidt.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: gram_schmidt Namespace Reference +TheAlgorithms/C++: gram_schmidt Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/d4/d12/namespace_minimum.html b/d4/d12/namespace_minimum.html index c51544412..c850fdcf1 100644 --- a/d4/d12/namespace_minimum.html +++ b/d4/d12/namespace_minimum.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Minimum Namespace Reference +TheAlgorithms/C++: Minimum Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/d4/d13/namespacebidirectional__dijkstra.html b/d4/d13/namespacebidirectional__dijkstra.html index 628ffb4c5..1e5a0d86b 100644 --- a/d4/d13/namespacebidirectional__dijkstra.html +++ b/d4/d13/namespacebidirectional__dijkstra.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: bidirectional_dijkstra Namespace Reference +TheAlgorithms/C++: bidirectional_dijkstra Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/d4/d18/composite__simpson__rule_8cpp.html b/d4/d18/composite__simpson__rule_8cpp.html index fda394a58..62d4454e4 100644 --- a/d4/d18/composite__simpson__rule_8cpp.html +++ b/d4/d18/composite__simpson__rule_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: numerical_methods/composite_simpson_rule.cpp File Reference +TheAlgorithms/C++: numerical_methods/composite_simpson_rule.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + @@ -125,7 +142,9 @@ Include dependency graph for composite_simpson_rule.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -137,7 +156,7 @@ Namespaces

    Namespaces

    namespace  numerical_methods
    - + @@ -151,7 +170,7 @@ Functions - + @@ -170,6 +189,8 @@ Functions

    In the end of the main() i compare the program's result with the one from mathematical software with 2 decimal points margin.

    Add sample function by replacing one of the f, g, k, l and the assert

    Author
    ggkogkou
    + +

    Definition in file composite_simpson_rule.cpp.

    Function Documentation

    ◆ evaluate_by_simpson()

    @@ -180,7 +201,7 @@ Functions - + @@ -195,34 +216,36 @@ Functions - +

    Functions

    double numerical_methods::simpson_method::evaluate_by_simpson (std::int32_t N, double h, double a, const std::function< double(double)> &func)
    double numerical_methods::simpson_method::evaluate_by_simpson (std::int32_t N, double h, double a, const std::function< double(double)> &func)
     
    double numerical_methods::simpson_method::f (double x)
     A function f(x) that will be used to test the method.
    double numerical_methods::simpson_method::l (double x)
     Another test function.
     
    static void test (std::int32_t N, double h, double a, double b, bool used_argv_parameters)
    static void test (std::int32_t N, double h, double a, double b, bool used_argv_parameters)
     Self-test implementations.
     
    int main (int argc, char **argv)
    double numerical_methods::simpson_method::evaluate_by_simpson (std::int32_t N, std::int32_t N,
    const std::function< double(double)> & func )const std::function< double(double)> & func )
    + +

    Definition at line 67 of file composite_simpson_rule.cpp.

    68 {
    - +
    69 std::map<std::int32_t, double>
    70 data_table; // Contains the data points. key: i, value: f(xi)
    71 double xi = a; // Initialize xi to the starting point x0 = a
    72
    73 // Create the data table
    74 double temp = NAN;
    -
    75 for (std::int32_t i = 0; i <= N; i++) {
    +
    75 for (std::int32_t i = 0; i <= N; i++) {
    76 temp = func(xi);
    -
    77 data_table.insert(
    -
    78 std::pair<std::int32_t, double>(i, temp)); // add i and f(xi)
    +
    77 data_table.insert(
    +
    78 std::pair<std::int32_t, double>(i, temp)); // add i and f(xi)
    79 xi += h; // Get the next point xi for the next iteration
    80 }
    81
    82 // Evaluate the integral.
    83 // Remember: f(x0) + 4*f(x1) + 2*f(x2) + ... + 2*f(xN-2) + 4*f(xN-1) + f(xN)
    84 double evaluate_integral = 0;
    -
    85 for (std::int32_t i = 0; i <= N; i++) {
    +
    85 for (std::int32_t i = 0; i <= N; i++) {
    86 if (i == 0 || i == N) {
    -
    87 evaluate_integral += data_table.at(i);
    +
    87 evaluate_integral += data_table.at(i);
    88 } else if (i % 2 == 1) {
    -
    89 evaluate_integral += 4 * data_table.at(i);
    +
    89 evaluate_integral += 4 * data_table.at(i);
    90 } else {
    -
    91 evaluate_integral += 2 * data_table.at(i);
    +
    91 evaluate_integral += 2 * data_table.at(i);
    92 }
    93 }
    94
    @@ -231,20 +254,14 @@ Functions
    97
    98 // If the result calculated is nan, then the user has given wrong input
    99 // interval.
    -
    100 assert(!std::isnan(evaluate_integral) &&
    +
    100 assert(!std::isnan(evaluate_integral) &&
    101 "The definite integral can't be evaluated. Check the validity of "
    102 "your input.\n");
    103 // Else return
    104 return evaluate_integral;
    105}
    -
    T at(T... args)
    -
    int h(int key)
    Definition hash_search.cpp:45
    -
    T insert(T... args)
    - -
    T isnan(T... args)
    - - -
    constexpr uint32_t N
    A struct to represent sparse table for min() as their invariant function, for the given array A....
    Definition sparse_table.cpp:48
    +
    int h(int key)
    +
    constexpr uint32_t N
    A struct to represent sparse table for min() as their invariant function, for the given array A....
    @@ -271,15 +288,10 @@ Functions
    Returns
    the value of the dependent variable yi = f(xi)
    -
    113{ return std::sqrt(x) + std::log(x); }
    -
    T log(T... args)
    -
    T sqrt(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    +

    Definition at line 113 of file composite_simpson_rule.cpp.

    +
    113{ return std::sqrt(x) + std::log(x); }
    +
    @@ -298,15 +310,10 @@ Here is the call graph for this function:

    Another test function.

    -
    115{ return std::exp(-x) * (4 - std::pow(x, 2)); }
    -
    T exp(T... args)
    -
    T pow(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    +

    Definition at line 115 of file composite_simpson_rule.cpp.

    +
    115{ return std::exp(-x) * (4 - std::pow(x, 2)); }
    +
    @@ -325,13 +332,10 @@ Here is the call graph for this function:

    Another test function.

    -
    117{ return std::sqrt(2 * std::pow(x, 3) + 3); }
    -
    -Here is the call graph for this function:
    -
    -
    -
    +

    Definition at line 117 of file composite_simpson_rule.cpp.

    +
    117{ return std::sqrt(2 * std::pow(x, 3) + 3); }
    +
    @@ -350,13 +354,10 @@ Here is the call graph for this function:

    Another test function.

    -
    119{ return x + std::log(2 * x + 1); }
    -
    -Here is the call graph for this function:
    -
    -
    -
    +

    Definition at line 119 of file composite_simpson_rule.cpp.

    +
    119{ return x + std::log(2 * x + 1); }
    +
    @@ -390,12 +391,12 @@ Here is the call graph for this function:

    Number of intervals to divide the integration interval. MUST BE EVEN

    Starting and ending point of the integration in the real axis

    Step, calculated by a, b and N

    + +

    Definition at line 170 of file composite_simpson_rule.cpp.

    170 {
    -
    171 std::int32_t N = 16; /// Number of intervals to divide the integration
    -
    172 /// interval. MUST BE EVEN
    -
    173 double a = 1, b = 3; /// Starting and ending point of the integration in
    -
    174 /// the real axis
    -
    175 double h = NAN; /// Step, calculated by a, b and N
    +
    171 std::int32_t N = 16;
    +
    173 double a = 1, b = 3;
    +
    175 double h = NAN;
    176
    177 bool used_argv_parameters =
    178 false; // If argv parameters are used then the assert must be omitted
    @@ -404,20 +405,20 @@ Here is the call graph for this function:
    181 // Get user input (by the command line parameters or the console after
    182 // displaying messages)
    183 if (argc == 4) {
    -
    184 N = std::atoi(argv[1]);
    -
    185 a = std::atof(argv[2]);
    -
    186 b = std::atof(argv[3]);
    +
    184 N = std::atoi(argv[1]);
    +
    185 a = std::atof(argv[2]);
    +
    186 b = std::atof(argv[3]);
    187 // Check if a<b else abort
    188 assert(a < b && "a has to be less than b");
    189 assert(N > 0 && "N has to be > 0");
    190 if (N < 16 || a != 1 || b != 3) {
    191 used_argv_parameters = true;
    192 }
    -
    193 std::cout << "You selected N=" << N << ", a=" << a << ", b=" << b
    -
    194 << std::endl;
    +
    193 std::cout << "You selected N=" << N << ", a=" << a << ", b=" << b
    +
    194 << std::endl;
    195 } else {
    -
    196 std::cout << "Default N=" << N << ", a=" << a << ", b=" << b
    -
    197 << std::endl;
    +
    196 std::cout << "Default N=" << N << ", a=" << a << ", b=" << b
    +
    197 << std::endl;
    198 }
    199
    200 // Find the step
    @@ -427,17 +428,8 @@ Here is the call graph for this function:
    204
    205 return 0;
    206}
    -
    T atof(T... args)
    -
    T atoi(T... args)
    - -
    T endl(T... args)
    -
    static void test()
    Self-test implementations.
    Definition generate_parentheses.cpp:82
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static void test()
    Self-test implementations.
    + @@ -452,7 +444,7 @@ Here is the call graph for this function: static void test ( - std::int32_t N, + std::int32_t N, @@ -493,42 +485,39 @@ Here is the call graph for this function: + +

    Definition at line 132 of file composite_simpson_rule.cpp.

    133 {
    134 // Call the functions and find the integral of each function
    135 double result_f = numerical_methods::simpson_method::evaluate_by_simpson(
    136 N, h, a, numerical_methods::simpson_method::f);
    137 assert((used_argv_parameters || (result_f >= 4.09 && result_f <= 4.10)) &&
    138 "The result of f(x) is wrong");
    -
    139 std::cout << "The result of integral f(x) on interval [" << a << ", " << b
    -
    140 << "] is equal to: " << result_f << std::endl;
    +
    139 std::cout << "The result of integral f(x) on interval [" << a << ", " << b
    +
    140 << "] is equal to: " << result_f << std::endl;
    141
    142 double result_g = numerical_methods::simpson_method::evaluate_by_simpson(
    143 N, h, a, numerical_methods::simpson_method::g);
    144 assert((used_argv_parameters || (result_g >= 0.27 && result_g <= 0.28)) &&
    145 "The result of g(x) is wrong");
    -
    146 std::cout << "The result of integral g(x) on interval [" << a << ", " << b
    -
    147 << "] is equal to: " << result_g << std::endl;
    +
    146 std::cout << "The result of integral g(x) on interval [" << a << ", " << b
    +
    147 << "] is equal to: " << result_g << std::endl;
    148
    149 double result_k = numerical_methods::simpson_method::evaluate_by_simpson(
    150 N, h, a, numerical_methods::simpson_method::k);
    151 assert((used_argv_parameters || (result_k >= 9.06 && result_k <= 9.07)) &&
    152 "The result of k(x) is wrong");
    -
    153 std::cout << "The result of integral k(x) on interval [" << a << ", " << b
    -
    154 << "] is equal to: " << result_k << std::endl;
    +
    153 std::cout << "The result of integral k(x) on interval [" << a << ", " << b
    +
    154 << "] is equal to: " << result_k << std::endl;
    155
    156 double result_l = numerical_methods::simpson_method::evaluate_by_simpson(
    157 N, h, a, numerical_methods::simpson_method::l);
    158 assert((used_argv_parameters || (result_l >= 7.16 && result_l <= 7.17)) &&
    159 "The result of l(x) is wrong");
    -
    160 std::cout << "The result of integral l(x) on interval [" << a << ", " << b
    -
    161 << "] is equal to: " << result_l << std::endl;
    +
    160 std::cout << "The result of integral l(x) on interval [" << a << ", " << b
    +
    161 << "] is equal to: " << result_l << std::endl;
    162}
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + diff --git a/d4/d18/composite__simpson__rule_8cpp_a1b74d828b33760094906797042b89442_cgraph.map b/d4/d18/composite__simpson__rule_8cpp_a1b74d828b33760094906797042b89442_cgraph.map deleted file mode 100644 index a683f56e9..000000000 --- a/d4/d18/composite__simpson__rule_8cpp_a1b74d828b33760094906797042b89442_cgraph.map +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/d4/d18/composite__simpson__rule_8cpp_a1b74d828b33760094906797042b89442_cgraph.md5 b/d4/d18/composite__simpson__rule_8cpp_a1b74d828b33760094906797042b89442_cgraph.md5 deleted file mode 100644 index eddb992f5..000000000 --- a/d4/d18/composite__simpson__rule_8cpp_a1b74d828b33760094906797042b89442_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -94cd7849e83ef592e8a6fe147fd6bda0 \ No newline at end of file diff --git a/d4/d18/composite__simpson__rule_8cpp_a1b74d828b33760094906797042b89442_cgraph.svg b/d4/d18/composite__simpson__rule_8cpp_a1b74d828b33760094906797042b89442_cgraph.svg deleted file mode 100644 index fa9b44aaf..000000000 --- a/d4/d18/composite__simpson__rule_8cpp_a1b74d828b33760094906797042b89442_cgraph.svg +++ /dev/null @@ -1,93 +0,0 @@ - - - - - - - - - - - - -numerical_methods::simpson_method::k - - -Node1 - - -numerical_methods:: -simpson_method::k - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::pow - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::sqrt - - - - - -Node1->Node3 - - - - - - - - - - - - - diff --git a/d4/d18/composite__simpson__rule_8cpp_a1b74d828b33760094906797042b89442_cgraph_org.svg b/d4/d18/composite__simpson__rule_8cpp_a1b74d828b33760094906797042b89442_cgraph_org.svg deleted file mode 100644 index 717874418..000000000 --- a/d4/d18/composite__simpson__rule_8cpp_a1b74d828b33760094906797042b89442_cgraph_org.svg +++ /dev/null @@ -1,67 +0,0 @@ - - - - - - -numerical_methods::simpson_method::k - - -Node1 - - -numerical_methods:: -simpson_method::k - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::pow - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::sqrt - - - - - -Node1->Node3 - - - - - - - - diff --git a/d4/d18/composite__simpson__rule_8cpp_a2ae48a41e43dc6ab11b962742349646e_cgraph.map b/d4/d18/composite__simpson__rule_8cpp_a2ae48a41e43dc6ab11b962742349646e_cgraph.map deleted file mode 100644 index 36cb2a672..000000000 --- a/d4/d18/composite__simpson__rule_8cpp_a2ae48a41e43dc6ab11b962742349646e_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/d4/d18/composite__simpson__rule_8cpp_a2ae48a41e43dc6ab11b962742349646e_cgraph.md5 b/d4/d18/composite__simpson__rule_8cpp_a2ae48a41e43dc6ab11b962742349646e_cgraph.md5 deleted file mode 100644 index 195b68a6d..000000000 --- a/d4/d18/composite__simpson__rule_8cpp_a2ae48a41e43dc6ab11b962742349646e_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -35205101949ce7aa6a6ebedcb619e803 \ No newline at end of file diff --git a/d4/d18/composite__simpson__rule_8cpp_a2ae48a41e43dc6ab11b962742349646e_cgraph.svg b/d4/d18/composite__simpson__rule_8cpp_a2ae48a41e43dc6ab11b962742349646e_cgraph.svg deleted file mode 100644 index 5424cc847..000000000 --- a/d4/d18/composite__simpson__rule_8cpp_a2ae48a41e43dc6ab11b962742349646e_cgraph.svg +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -h - - - - - -Node1->Node3 - - - - - - - - - - - - - diff --git a/d4/d18/composite__simpson__rule_8cpp_a2ae48a41e43dc6ab11b962742349646e_cgraph_org.svg b/d4/d18/composite__simpson__rule_8cpp_a2ae48a41e43dc6ab11b962742349646e_cgraph_org.svg deleted file mode 100644 index c30627a2d..000000000 --- a/d4/d18/composite__simpson__rule_8cpp_a2ae48a41e43dc6ab11b962742349646e_cgraph_org.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -h - - - - - -Node1->Node3 - - - - - - - - diff --git a/d4/d18/composite__simpson__rule_8cpp_a2f67508d5f392b0321772169342c98ad_cgraph.map b/d4/d18/composite__simpson__rule_8cpp_a2f67508d5f392b0321772169342c98ad_cgraph.map deleted file mode 100644 index 67a96baf2..000000000 --- a/d4/d18/composite__simpson__rule_8cpp_a2f67508d5f392b0321772169342c98ad_cgraph.map +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/d4/d18/composite__simpson__rule_8cpp_a2f67508d5f392b0321772169342c98ad_cgraph.md5 b/d4/d18/composite__simpson__rule_8cpp_a2f67508d5f392b0321772169342c98ad_cgraph.md5 deleted file mode 100644 index 81368d71f..000000000 --- a/d4/d18/composite__simpson__rule_8cpp_a2f67508d5f392b0321772169342c98ad_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -f53e11488b67bd9662302ace302f3ef6 \ No newline at end of file diff --git a/d4/d18/composite__simpson__rule_8cpp_a2f67508d5f392b0321772169342c98ad_cgraph.svg b/d4/d18/composite__simpson__rule_8cpp_a2f67508d5f392b0321772169342c98ad_cgraph.svg deleted file mode 100644 index 8060800ee..000000000 --- a/d4/d18/composite__simpson__rule_8cpp_a2f67508d5f392b0321772169342c98ad_cgraph.svg +++ /dev/null @@ -1,93 +0,0 @@ - - - - - - - - - - - - -numerical_methods::simpson_method::g - - -Node1 - - -numerical_methods:: -simpson_method::g - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::exp - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::pow - - - - - -Node1->Node3 - - - - - - - - - - - - - diff --git a/d4/d18/composite__simpson__rule_8cpp_a2f67508d5f392b0321772169342c98ad_cgraph_org.svg b/d4/d18/composite__simpson__rule_8cpp_a2f67508d5f392b0321772169342c98ad_cgraph_org.svg deleted file mode 100644 index 81108b5b8..000000000 --- a/d4/d18/composite__simpson__rule_8cpp_a2f67508d5f392b0321772169342c98ad_cgraph_org.svg +++ /dev/null @@ -1,67 +0,0 @@ - - - - - - -numerical_methods::simpson_method::g - - -Node1 - - -numerical_methods:: -simpson_method::g - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::exp - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::pow - - - - - -Node1->Node3 - - - - - - - - diff --git a/d4/d18/composite__simpson__rule_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph.map b/d4/d18/composite__simpson__rule_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph.map deleted file mode 100644 index 02ce30d37..000000000 --- a/d4/d18/composite__simpson__rule_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph.map +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d4/d18/composite__simpson__rule_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph.md5 b/d4/d18/composite__simpson__rule_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph.md5 deleted file mode 100644 index 694e59ecc..000000000 --- a/d4/d18/composite__simpson__rule_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -2876d363335959fb324f5f8f8ceb79af \ No newline at end of file diff --git a/d4/d18/composite__simpson__rule_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph.svg b/d4/d18/composite__simpson__rule_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph.svg deleted file mode 100644 index 2faf67371..000000000 --- a/d4/d18/composite__simpson__rule_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph.svg +++ /dev/null @@ -1,295 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -std::atof - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::atoi - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::endl - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -h - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -test - - - - - -Node1->Node6 - - - - - - - - -Node7 - - -backtracking::generate -_parentheses::generate - - - - - -Node6->Node7 - - - - - - - - -Node8 - - -std::vector::clear - - - - - -Node7->Node8 - - - - - - - - -Node9 - - -backtracking::generate -_parentheses::makeStrings - - - - - -Node7->Node9 - - - - - - - - -Node9->Node9 - - - - - - - - -Node10 - - -std::string::length - - - - - -Node9->Node10 - - - - - - - - -Node11 - - -std::vector::push_back - - - - - -Node9->Node11 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d4/d18/composite__simpson__rule_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph_org.svg b/d4/d18/composite__simpson__rule_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph_org.svg deleted file mode 100644 index 673d7249d..000000000 --- a/d4/d18/composite__simpson__rule_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph_org.svg +++ /dev/null @@ -1,212 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -std::atof - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::atoi - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::endl - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -h - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -test - - - - - -Node1->Node6 - - - - - - - - -Node7 - - -backtracking::generate -_parentheses::generate - - - - - -Node6->Node7 - - - - - - - - -Node8 - - -std::vector::clear - - - - - -Node7->Node8 - - - - - - - - -Node9 - - -backtracking::generate -_parentheses::makeStrings - - - - - -Node7->Node9 - - - - - - - - -Node9->Node9 - - - - - - - - -Node10 - - -std::string::length - - - - - -Node9->Node10 - - - - - - - - -Node11 - - -std::vector::push_back - - - - - -Node9->Node11 - - - - - - - - diff --git a/d4/d18/composite__simpson__rule_8cpp_a4251b4df4748a0b9c43a48f61bdd2397_cgraph.map b/d4/d18/composite__simpson__rule_8cpp_a4251b4df4748a0b9c43a48f61bdd2397_cgraph.map deleted file mode 100644 index f81befb3b..000000000 --- a/d4/d18/composite__simpson__rule_8cpp_a4251b4df4748a0b9c43a48f61bdd2397_cgraph.map +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/d4/d18/composite__simpson__rule_8cpp_a4251b4df4748a0b9c43a48f61bdd2397_cgraph.md5 b/d4/d18/composite__simpson__rule_8cpp_a4251b4df4748a0b9c43a48f61bdd2397_cgraph.md5 deleted file mode 100644 index 413195e6a..000000000 --- a/d4/d18/composite__simpson__rule_8cpp_a4251b4df4748a0b9c43a48f61bdd2397_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -904bc754b6db647a4b26294f08713992 \ No newline at end of file diff --git a/d4/d18/composite__simpson__rule_8cpp_a4251b4df4748a0b9c43a48f61bdd2397_cgraph.svg b/d4/d18/composite__simpson__rule_8cpp_a4251b4df4748a0b9c43a48f61bdd2397_cgraph.svg deleted file mode 100644 index 9946fe105..000000000 --- a/d4/d18/composite__simpson__rule_8cpp_a4251b4df4748a0b9c43a48f61bdd2397_cgraph.svg +++ /dev/null @@ -1,93 +0,0 @@ - - - - - - - - - - - - -numerical_methods::simpson_method::f - - -Node1 - - -numerical_methods:: -simpson_method::f - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::log - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::sqrt - - - - - -Node1->Node3 - - - - - - - - - - - - - diff --git a/d4/d18/composite__simpson__rule_8cpp_a4251b4df4748a0b9c43a48f61bdd2397_cgraph_org.svg b/d4/d18/composite__simpson__rule_8cpp_a4251b4df4748a0b9c43a48f61bdd2397_cgraph_org.svg deleted file mode 100644 index 72621bc2c..000000000 --- a/d4/d18/composite__simpson__rule_8cpp_a4251b4df4748a0b9c43a48f61bdd2397_cgraph_org.svg +++ /dev/null @@ -1,67 +0,0 @@ - - - - - - -numerical_methods::simpson_method::f - - -Node1 - - -numerical_methods:: -simpson_method::f - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::log - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::sqrt - - - - - -Node1->Node3 - - - - - - - - diff --git a/d4/d18/composite__simpson__rule_8cpp_a6d8df83a6f26ce24a75d3b358b7f5b8a_cgraph.map b/d4/d18/composite__simpson__rule_8cpp_a6d8df83a6f26ce24a75d3b358b7f5b8a_cgraph.map deleted file mode 100644 index adf248b7b..000000000 --- a/d4/d18/composite__simpson__rule_8cpp_a6d8df83a6f26ce24a75d3b358b7f5b8a_cgraph.map +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/d4/d18/composite__simpson__rule_8cpp_a6d8df83a6f26ce24a75d3b358b7f5b8a_cgraph.md5 b/d4/d18/composite__simpson__rule_8cpp_a6d8df83a6f26ce24a75d3b358b7f5b8a_cgraph.md5 deleted file mode 100644 index c728d46d6..000000000 --- a/d4/d18/composite__simpson__rule_8cpp_a6d8df83a6f26ce24a75d3b358b7f5b8a_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -10c8585472bb854a6e3bf6fed59b4fdc \ No newline at end of file diff --git a/d4/d18/composite__simpson__rule_8cpp_a6d8df83a6f26ce24a75d3b358b7f5b8a_cgraph.svg b/d4/d18/composite__simpson__rule_8cpp_a6d8df83a6f26ce24a75d3b358b7f5b8a_cgraph.svg deleted file mode 100644 index 8debeddef..000000000 --- a/d4/d18/composite__simpson__rule_8cpp_a6d8df83a6f26ce24a75d3b358b7f5b8a_cgraph.svg +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - - - - - - - -numerical_methods::simpson_method::l - - -Node1 - - -numerical_methods:: -simpson_method::l - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::log - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d4/d18/composite__simpson__rule_8cpp_a6d8df83a6f26ce24a75d3b358b7f5b8a_cgraph_org.svg b/d4/d18/composite__simpson__rule_8cpp_a6d8df83a6f26ce24a75d3b358b7f5b8a_cgraph_org.svg deleted file mode 100644 index ecb796601..000000000 --- a/d4/d18/composite__simpson__rule_8cpp_a6d8df83a6f26ce24a75d3b358b7f5b8a_cgraph_org.svg +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - -numerical_methods::simpson_method::l - - -Node1 - - -numerical_methods:: -simpson_method::l - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::log - - - - - -Node1->Node2 - - - - - - - - diff --git a/d4/d18/composite__simpson__rule_8cpp_source.html b/d4/d18/composite__simpson__rule_8cpp_source.html new file mode 100644 index 000000000..92f7f2810 --- /dev/null +++ b/d4/d18/composite__simpson__rule_8cpp_source.html @@ -0,0 +1,277 @@ + + + + + + + + +TheAlgorithms/C++: numerical_methods/composite_simpson_rule.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    composite_simpson_rule.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    38#include <cassert>
    +
    39#include <cmath>
    +
    40#include <cmath>
    +
    41#include <cstdint>
    +
    42#include <cstdlib>
    +
    43#include <functional>
    +
    44#include <iostream>
    +
    45#include <map>
    +
    46
    +
    51namespace numerical_methods {
    +
    56namespace simpson_method {
    +
    67double evaluate_by_simpson(std::int32_t N, double h, double a,
    +
    68 const std::function<double(double)>& func) {
    +
    69 std::map<std::int32_t, double>
    +
    70 data_table; // Contains the data points. key: i, value: f(xi)
    +
    71 double xi = a; // Initialize xi to the starting point x0 = a
    +
    72
    +
    73 // Create the data table
    +
    74 double temp = NAN;
    +
    75 for (std::int32_t i = 0; i <= N; i++) {
    +
    76 temp = func(xi);
    +
    77 data_table.insert(
    +
    78 std::pair<std::int32_t, double>(i, temp)); // add i and f(xi)
    +
    79 xi += h; // Get the next point xi for the next iteration
    +
    80 }
    +
    81
    +
    82 // Evaluate the integral.
    +
    83 // Remember: f(x0) + 4*f(x1) + 2*f(x2) + ... + 2*f(xN-2) + 4*f(xN-1) + f(xN)
    +
    84 double evaluate_integral = 0;
    +
    85 for (std::int32_t i = 0; i <= N; i++) {
    +
    86 if (i == 0 || i == N) {
    +
    87 evaluate_integral += data_table.at(i);
    +
    88 } else if (i % 2 == 1) {
    +
    89 evaluate_integral += 4 * data_table.at(i);
    +
    90 } else {
    +
    91 evaluate_integral += 2 * data_table.at(i);
    +
    92 }
    +
    93 }
    +
    94
    +
    95 // Multiply by the coefficient h/3
    +
    96 evaluate_integral *= h / 3;
    +
    97
    +
    98 // If the result calculated is nan, then the user has given wrong input
    +
    99 // interval.
    +
    100 assert(!std::isnan(evaluate_integral) &&
    +
    101 "The definite integral can't be evaluated. Check the validity of "
    +
    102 "your input.\n");
    +
    103 // Else return
    +
    104 return evaluate_integral;
    +
    105}
    +
    106
    +
    113double f(double x) { return std::sqrt(x) + std::log(x); }
    +
    115double g(double x) { return std::exp(-x) * (4 - std::pow(x, 2)); }
    +
    117double k(double x) { return std::sqrt(2 * std::pow(x, 3) + 3); }
    +
    119double l(double x) { return x + std::log(2 * x + 1); }
    +
    120} // namespace simpson_method
    +
    121} // namespace numerical_methods
    +
    122
    +
    +
    132static void test(std::int32_t N, double h, double a, double b,
    +
    133 bool used_argv_parameters) {
    +
    134 // Call the functions and find the integral of each function
    +
    135 double result_f = numerical_methods::simpson_method::evaluate_by_simpson(
    +
    136 N, h, a, numerical_methods::simpson_method::f);
    +
    137 assert((used_argv_parameters || (result_f >= 4.09 && result_f <= 4.10)) &&
    +
    138 "The result of f(x) is wrong");
    +
    139 std::cout << "The result of integral f(x) on interval [" << a << ", " << b
    +
    140 << "] is equal to: " << result_f << std::endl;
    +
    141
    +
    142 double result_g = numerical_methods::simpson_method::evaluate_by_simpson(
    +
    143 N, h, a, numerical_methods::simpson_method::g);
    +
    144 assert((used_argv_parameters || (result_g >= 0.27 && result_g <= 0.28)) &&
    +
    145 "The result of g(x) is wrong");
    +
    146 std::cout << "The result of integral g(x) on interval [" << a << ", " << b
    +
    147 << "] is equal to: " << result_g << std::endl;
    +
    148
    +
    149 double result_k = numerical_methods::simpson_method::evaluate_by_simpson(
    +
    150 N, h, a, numerical_methods::simpson_method::k);
    +
    151 assert((used_argv_parameters || (result_k >= 9.06 && result_k <= 9.07)) &&
    +
    152 "The result of k(x) is wrong");
    +
    153 std::cout << "The result of integral k(x) on interval [" << a << ", " << b
    +
    154 << "] is equal to: " << result_k << std::endl;
    +
    155
    +
    156 double result_l = numerical_methods::simpson_method::evaluate_by_simpson(
    +
    157 N, h, a, numerical_methods::simpson_method::l);
    +
    158 assert((used_argv_parameters || (result_l >= 7.16 && result_l <= 7.17)) &&
    +
    159 "The result of l(x) is wrong");
    +
    160 std::cout << "The result of integral l(x) on interval [" << a << ", " << b
    +
    161 << "] is equal to: " << result_l << std::endl;
    +
    162}
    +
    +
    163
    +
    +
    170int main(int argc, char** argv) {
    +
    171 std::int32_t N = 16;
    +
    173 double a = 1, b = 3;
    +
    175 double h = NAN;
    +
    176
    +
    177 bool used_argv_parameters =
    +
    178 false; // If argv parameters are used then the assert must be omitted
    +
    179 // for the tst cases
    +
    180
    +
    181 // Get user input (by the command line parameters or the console after
    +
    182 // displaying messages)
    +
    183 if (argc == 4) {
    +
    184 N = std::atoi(argv[1]);
    +
    185 a = std::atof(argv[2]);
    +
    186 b = std::atof(argv[3]);
    +
    187 // Check if a<b else abort
    +
    188 assert(a < b && "a has to be less than b");
    +
    189 assert(N > 0 && "N has to be > 0");
    +
    190 if (N < 16 || a != 1 || b != 3) {
    +
    191 used_argv_parameters = true;
    +
    192 }
    +
    193 std::cout << "You selected N=" << N << ", a=" << a << ", b=" << b
    +
    194 << std::endl;
    +
    195 } else {
    +
    196 std::cout << "Default N=" << N << ", a=" << a << ", b=" << b
    +
    197 << std::endl;
    +
    198 }
    +
    199
    +
    200 // Find the step
    +
    201 h = (b - a) / N;
    +
    202
    +
    203 test(N, h, a, b, used_argv_parameters); // run self-test implementations
    +
    204
    +
    205 return 0;
    +
    206}
    +
    +
    double k(double x)
    Another test function.
    +
    double g(double x)
    Another test function.
    +
    double f(double x)
    A function f(x) that will be used to test the method.
    +
    double l(double x)
    Another test function.
    +
    static void test()
    Self-test implementations.
    +
    int main()
    Main function.
    +
    int h(int key)
    + +
    Contains the Simpson's method implementation.
    +
    constexpr uint32_t N
    A struct to represent sparse table for min() as their invariant function, for the given array A....
    +
    +
    + + + + diff --git a/d4/d1c/namespacehamming__distance.html b/d4/d1c/namespacehamming__distance.html index 3c16a9530..ed589c942 100644 --- a/d4/d1c/namespacehamming__distance.html +++ b/d4/d1c/namespacehamming__distance.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: hamming_distance Namespace Reference +TheAlgorithms/C++: hamming_distance Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/d4/d1e/class_r_btree-members.html b/d4/d1e/class_r_btree-members.html index 66f7eaf39..9c7ba9eb3 100644 --- a/d4/d1e/class_r_btree-members.html +++ b/d4/d1e/class_r_btree-members.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Member List +TheAlgorithms/C++: Member List + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/d4/d1f/class_min_heap-members.html b/d4/d1f/class_min_heap-members.html index 8d5a37560..d205283b8 100644 --- a/d4/d1f/class_min_heap-members.html +++ b/d4/d1f/class_min_heap-members.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Member List +TheAlgorithms/C++: Member List + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/d4/d21/least__common__multiple_8cpp.html b/d4/d21/least__common__multiple_8cpp.html index eae6761c6..704a16ee7 100644 --- a/d4/d21/least__common__multiple_8cpp.html +++ b/d4/d21/least__common__multiple_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: math/least_common_multiple.cpp File Reference +TheAlgorithms/C++: math/least_common_multiple.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + @@ -116,7 +133,9 @@ Include dependency graph for least_common_multiple.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -131,6 +150,8 @@ Functions

    Detailed Description

    Copyright 2020

    Author
    tjgurwara99

    A basic implementation of LCM function

    + +

    Definition in file least_common_multiple.cpp.

    Function Documentation

    ◆ gcd()

    @@ -151,6 +172,8 @@ Functions

    Functions

    unsigned int gcd (unsigned int x, unsigned int y)

    Function for finding greatest common divisor of two numbers. @params two integers x and y whose gcd we want to find.

    Returns
    greatest common divisor of x and y.
    + +

    Definition at line 16 of file least_common_multiple.cpp.

    16 {
    17 if (x == 0) {
    18 return y;
    @@ -172,13 +195,8 @@ Functions
    34 unsigned int temp = y / x;
    35 return gcd(x, y - temp * x);
    36}
    -
    unsigned int gcd(unsigned int x, unsigned int y)
    Definition least_common_multiple.cpp:16
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    unsigned int gcd(unsigned int x, unsigned int y)
    +
    @@ -200,15 +218,12 @@ Here is the call graph for this function:

    Function for finding the least common multiple of two numbers. @params integer x and y whose lcm we want to find.

    Returns
    lcm of x and y using the relation x * y = gcd(x, y) * lcm(x, y)
    + +

    Definition at line 43 of file least_common_multiple.cpp.

    43 {
    44 return x / gcd(x, y) * y;
    45}
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    @@ -226,17 +241,14 @@ Here is the call graph for this function:

    Main function

    + +

    Definition at line 78 of file least_common_multiple.cpp.

    78 {
    79 tests();
    80 return 0;
    81}
    -
    void tests()
    Definition least_common_multiple.cpp:50
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    void tests()
    +
    @@ -254,39 +266,34 @@ Here is the call graph for this function:

    Function for testing the lcm() functions with some assert statements.

    + +

    Definition at line 50 of file least_common_multiple.cpp.

    50 {
    51 // First test on lcm(5,10) == 10
    52 assert(((void)"LCM of 5 and 10 is 10 but lcm function gives a different "
    53 "result.\n",
    54 lcm(5, 10) == 10));
    -
    55 std::cout << "First assertion passes: LCM of 5 and 10 is " << lcm(5, 10)
    -
    56 << std::endl;
    +
    55 std::cout << "First assertion passes: LCM of 5 and 10 is " << lcm(5, 10)
    +
    56 << std::endl;
    57
    58 // Second test on lcm(2,3) == 6 as 2 and 3 are coprime (prime in fact)
    59 assert(((void)"LCM of 2 and 3 is 6 but lcm function gives a different "
    60 "result.\n",
    61 lcm(2, 3) == 6));
    -
    62 std::cout << "Second assertion passes: LCM of 2 and 3 is " << lcm(2, 3)
    -
    63 << std::endl;
    +
    62 std::cout << "Second assertion passes: LCM of 2 and 3 is " << lcm(2, 3)
    +
    63 << std::endl;
    64
    65 // Testing an integer overflow.
    66 // The algorithm should work as long as the result fits into integer.
    67 assert(((void)"LCM of 987654321 and 987654321 is 987654321 but lcm function"
    68 " gives a different result.\n",
    69 lcm(987654321, 987654321) == 987654321));
    -
    70 std::cout << "Third assertion passes: LCM of 987654321 and 987654321 is "
    +
    70 std::cout << "Third assertion passes: LCM of 987654321 and 987654321 is "
    71 << lcm(987654321, 987654321)
    -
    72 << std::endl;
    +
    72 << std::endl;
    73}
    - -
    T endl(T... args)
    -
    unsigned int lcm(unsigned int x, unsigned int y)
    Definition least_common_multiple.cpp:43
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    unsigned int lcm(unsigned int x, unsigned int y)
    +
    diff --git a/d4/d21/least__common__multiple_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph.map b/d4/d21/least__common__multiple_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph.map deleted file mode 100644 index 9c4b21884..000000000 --- a/d4/d21/least__common__multiple_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph.map +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/d4/d21/least__common__multiple_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph.md5 b/d4/d21/least__common__multiple_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph.md5 deleted file mode 100644 index a38984557..000000000 --- a/d4/d21/least__common__multiple_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -9d6591f62b72129e41233c1aab4965dd \ No newline at end of file diff --git a/d4/d21/least__common__multiple_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph.svg b/d4/d21/least__common__multiple_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph.svg deleted file mode 100644 index 7326fc36b..000000000 --- a/d4/d21/least__common__multiple_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph.svg +++ /dev/null @@ -1,110 +0,0 @@ - - - - - - - - - - - - -tests - - -Node1 - - -tests - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -lcm - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -gcd - - - - - -Node3->Node4 - - - - - - - - -Node4->Node4 - - - - - - - - - - - - - diff --git a/d4/d21/least__common__multiple_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph_org.svg b/d4/d21/least__common__multiple_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph_org.svg deleted file mode 100644 index 03f5b3c37..000000000 --- a/d4/d21/least__common__multiple_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph_org.svg +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - -tests - - -Node1 - - -tests - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -lcm - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -gcd - - - - - -Node3->Node4 - - - - - - - - -Node4->Node4 - - - - - - - - diff --git a/d4/d21/least__common__multiple_8cpp_a8ba1fc66e4134ab25b2602b323150563_cgraph.map b/d4/d21/least__common__multiple_8cpp_a8ba1fc66e4134ab25b2602b323150563_cgraph.map deleted file mode 100644 index 979fb27dc..000000000 --- a/d4/d21/least__common__multiple_8cpp_a8ba1fc66e4134ab25b2602b323150563_cgraph.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/d4/d21/least__common__multiple_8cpp_a8ba1fc66e4134ab25b2602b323150563_cgraph.md5 b/d4/d21/least__common__multiple_8cpp_a8ba1fc66e4134ab25b2602b323150563_cgraph.md5 deleted file mode 100644 index 3ce93c57e..000000000 --- a/d4/d21/least__common__multiple_8cpp_a8ba1fc66e4134ab25b2602b323150563_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -b8b5505663d8370c4619b70f19abe443 \ No newline at end of file diff --git a/d4/d21/least__common__multiple_8cpp_a8ba1fc66e4134ab25b2602b323150563_cgraph.svg b/d4/d21/least__common__multiple_8cpp_a8ba1fc66e4134ab25b2602b323150563_cgraph.svg deleted file mode 100644 index e1eb36a6c..000000000 --- a/d4/d21/least__common__multiple_8cpp_a8ba1fc66e4134ab25b2602b323150563_cgraph.svg +++ /dev/null @@ -1,56 +0,0 @@ - - - - - - - - - - - - -gcd - - -Node1 - - -gcd - - - - - -Node1->Node1 - - - - - - - - - - - - - diff --git a/d4/d21/least__common__multiple_8cpp_a8ba1fc66e4134ab25b2602b323150563_cgraph_org.svg b/d4/d21/least__common__multiple_8cpp_a8ba1fc66e4134ab25b2602b323150563_cgraph_org.svg deleted file mode 100644 index 366acef96..000000000 --- a/d4/d21/least__common__multiple_8cpp_a8ba1fc66e4134ab25b2602b323150563_cgraph_org.svg +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - -gcd - - -Node1 - - -gcd - - - - - -Node1->Node1 - - - - - - - - diff --git a/d4/d21/least__common__multiple_8cpp_aa8d0e241db517813725e721a152e3a25_cgraph.map b/d4/d21/least__common__multiple_8cpp_aa8d0e241db517813725e721a152e3a25_cgraph.map deleted file mode 100644 index 87abf26b3..000000000 --- a/d4/d21/least__common__multiple_8cpp_aa8d0e241db517813725e721a152e3a25_cgraph.map +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/d4/d21/least__common__multiple_8cpp_aa8d0e241db517813725e721a152e3a25_cgraph.md5 b/d4/d21/least__common__multiple_8cpp_aa8d0e241db517813725e721a152e3a25_cgraph.md5 deleted file mode 100644 index 7baa9c974..000000000 --- a/d4/d21/least__common__multiple_8cpp_aa8d0e241db517813725e721a152e3a25_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -9cd40eed5945739cc48065dfad9802ad \ No newline at end of file diff --git a/d4/d21/least__common__multiple_8cpp_aa8d0e241db517813725e721a152e3a25_cgraph.svg b/d4/d21/least__common__multiple_8cpp_aa8d0e241db517813725e721a152e3a25_cgraph.svg deleted file mode 100644 index b2113b59b..000000000 --- a/d4/d21/least__common__multiple_8cpp_aa8d0e241db517813725e721a152e3a25_cgraph.svg +++ /dev/null @@ -1,74 +0,0 @@ - - - - - - - - - - - - -lcm - - -Node1 - - -lcm - - - - - -Node2 - - -gcd - - - - - -Node1->Node2 - - - - - - - - -Node2->Node2 - - - - - - - - - - - - - diff --git a/d4/d21/least__common__multiple_8cpp_aa8d0e241db517813725e721a152e3a25_cgraph_org.svg b/d4/d21/least__common__multiple_8cpp_aa8d0e241db517813725e721a152e3a25_cgraph_org.svg deleted file mode 100644 index 221a42af6..000000000 --- a/d4/d21/least__common__multiple_8cpp_aa8d0e241db517813725e721a152e3a25_cgraph_org.svg +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - -lcm - - -Node1 - - -lcm - - - - - -Node2 - - -gcd - - - - - -Node1->Node2 - - - - - - - - -Node2->Node2 - - - - - - - - diff --git a/d4/d21/least__common__multiple_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d4/d21/least__common__multiple_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index de2f5bf72..000000000 --- a/d4/d21/least__common__multiple_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - - - diff --git a/d4/d21/least__common__multiple_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d4/d21/least__common__multiple_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index 51c5ce2aa..000000000 --- a/d4/d21/least__common__multiple_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -236b51a8f72dc8c14342f71604e4f010 \ No newline at end of file diff --git a/d4/d21/least__common__multiple_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d4/d21/least__common__multiple_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index e5346b691..000000000 --- a/d4/d21/least__common__multiple_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,128 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -tests - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -lcm - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -gcd - - - - - -Node4->Node5 - - - - - - - - -Node5->Node5 - - - - - - - - - - - - - diff --git a/d4/d21/least__common__multiple_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d4/d21/least__common__multiple_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index fd2f2ad22..000000000 --- a/d4/d21/least__common__multiple_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,102 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -tests - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -lcm - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -gcd - - - - - -Node4->Node5 - - - - - - - - -Node5->Node5 - - - - - - - - diff --git a/d4/d21/least__common__multiple_8cpp_source.html b/d4/d21/least__common__multiple_8cpp_source.html new file mode 100644 index 000000000..6827ce03b --- /dev/null +++ b/d4/d21/least__common__multiple_8cpp_source.html @@ -0,0 +1,208 @@ + + + + + + + + +TheAlgorithms/C++: math/least_common_multiple.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    least_common_multiple.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    8#include <cassert>
    +
    9#include <iostream>
    +
    10
    +
    +
    16unsigned int gcd(unsigned int x, unsigned int y) {
    +
    17 if (x == 0) {
    +
    18 return y;
    +
    19 }
    +
    20 if (y == 0) {
    +
    21 return x;
    +
    22 }
    +
    23 if (x == y) {
    +
    24 return x;
    +
    25 }
    +
    26 if (x > y) {
    +
    27 // The following is valid because we have checked whether y == 0
    +
    28
    +
    29 unsigned int temp = x / y;
    +
    30 return gcd(y, x - temp * y);
    +
    31 }
    +
    32 // Again the following is valid because we have checked whether x == 0
    +
    33
    +
    34 unsigned int temp = y / x;
    +
    35 return gcd(x, y - temp * x);
    +
    36}
    +
    +
    37
    +
    +
    43unsigned int lcm(unsigned int x, unsigned int y) {
    +
    44 return x / gcd(x, y) * y;
    +
    45}
    +
    +
    46
    +
    +
    50void tests() {
    +
    51 // First test on lcm(5,10) == 10
    +
    52 assert(((void)"LCM of 5 and 10 is 10 but lcm function gives a different "
    +
    53 "result.\n",
    +
    54 lcm(5, 10) == 10));
    +
    55 std::cout << "First assertion passes: LCM of 5 and 10 is " << lcm(5, 10)
    +
    56 << std::endl;
    +
    57
    +
    58 // Second test on lcm(2,3) == 6 as 2 and 3 are coprime (prime in fact)
    +
    59 assert(((void)"LCM of 2 and 3 is 6 but lcm function gives a different "
    +
    60 "result.\n",
    +
    61 lcm(2, 3) == 6));
    +
    62 std::cout << "Second assertion passes: LCM of 2 and 3 is " << lcm(2, 3)
    +
    63 << std::endl;
    +
    64
    +
    65 // Testing an integer overflow.
    +
    66 // The algorithm should work as long as the result fits into integer.
    +
    67 assert(((void)"LCM of 987654321 and 987654321 is 987654321 but lcm function"
    +
    68 " gives a different result.\n",
    +
    69 lcm(987654321, 987654321) == 987654321));
    +
    70 std::cout << "Third assertion passes: LCM of 987654321 and 987654321 is "
    +
    71 << lcm(987654321, 987654321)
    +
    72 << std::endl;
    +
    73}
    +
    +
    74
    +
    +
    78int main() {
    +
    79 tests();
    +
    80 return 0;
    +
    81}
    +
    +
    void tests()
    +
    unsigned int gcd(unsigned int x, unsigned int y)
    +
    unsigned int lcm(unsigned int x, unsigned int y)
    + +
    +
    + + + + diff --git a/d4/d2c/struct_trie_1_1_trie_node__coll__graph.map b/d4/d2c/struct_trie_1_1_trie_node__coll__graph.map index 79836d34d..87344cb65 100644 --- a/d4/d2c/struct_trie_1_1_trie_node__coll__graph.map +++ b/d4/d2c/struct_trie_1_1_trie_node__coll__graph.map @@ -1,6 +1,6 @@ - + diff --git a/d4/d2c/struct_trie_1_1_trie_node__coll__graph.md5 b/d4/d2c/struct_trie_1_1_trie_node__coll__graph.md5 index 9af399e85..6fb4ea892 100644 --- a/d4/d2c/struct_trie_1_1_trie_node__coll__graph.md5 +++ b/d4/d2c/struct_trie_1_1_trie_node__coll__graph.md5 @@ -1 +1 @@ -b024444181e368dca67ffd3a90c8cbc1 \ No newline at end of file +b47582a3dadb2ffe3e6696f719b89b0b \ No newline at end of file diff --git a/d4/d2c/struct_trie_1_1_trie_node__coll__graph.svg b/d4/d2c/struct_trie_1_1_trie_node__coll__graph.svg index 8d2ce3d26..14f597fa8 100644 --- a/d4/d2c/struct_trie_1_1_trie_node__coll__graph.svg +++ b/d4/d2c/struct_trie_1_1_trie_node__coll__graph.svg @@ -31,7 +31,7 @@ Node2 - + std::shared_ptr< Trie ::TrieNode > diff --git a/d4/d2c/struct_trie_1_1_trie_node__coll__graph_org.svg b/d4/d2c/struct_trie_1_1_trie_node__coll__graph_org.svg index 2d67521b4..fb0d48c90 100644 --- a/d4/d2c/struct_trie_1_1_trie_node__coll__graph_org.svg +++ b/d4/d2c/struct_trie_1_1_trie_node__coll__graph_org.svg @@ -20,7 +20,7 @@ Node2 - + std::shared_ptr< Trie ::TrieNode > diff --git a/d4/d32/fibonacci__fast_8cpp.html b/d4/d32/fibonacci__fast_8cpp.html index 6b855e036..aa0a9dd5f 100644 --- a/d4/d32/fibonacci__fast_8cpp.html +++ b/d4/d32/fibonacci__fast_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: math/fibonacci_fast.cpp File Reference +TheAlgorithms/C++: math/fibonacci_fast.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -121,7 +138,9 @@ Include dependency graph for fibonacci_fast.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -139,6 +158,8 @@ Functions

    An efficient way to calculate nth fibonacci number faster and simpler than \(O(n\log n)\) method of matrix exponentiation This works by using both recursion and dynamic programming. as 93rd fibonacci exceeds 19 digits, which cannot be stored in a single long long variable, we can only use it till 92nd fibonacci we can use it for 10000th fibonacci etc, if we implement bigintegers. This algorithm works with the fact that nth fibonacci can easily found if we have already found n/2th or (n+1)/2th fibonacci It is a property of fibonacci similar to matrix exponentiation.

    Author
    Krishna Vedala
    See also
    fibonacci_large.cpp, fibonacci.cpp, string_fibonacci.cpp
    + +

    Definition in file fibonacci_fast.cpp.

    Macro Definition Documentation

    ◆ MAX

    @@ -153,6 +174,8 @@ Functions

    maximum number that can be computed - The result after 93 cannot be stored in a uint64_t data type.

    +

    Definition at line 27 of file fibonacci_fast.cpp.

    +

    Function Documentation

    @@ -171,6 +194,8 @@ Functions

    Macros

    #define MAX   93

    Algorithm

    + +

    Definition at line 30 of file fibonacci_fast.cpp.

    30 {
    31 static uint64_t f1 = 1,
    32 f2 = 1; // using static keyword will retain the values of
    @@ -179,7 +204,7 @@ Functions
    35 if (n <= 2)
    36 return f2;
    37 if (n >= 93) {
    - +
    38 std::cerr
    39 << "Cannot compute for n>93 due to limit of 64-bit integers\n";
    40 return 0;
    41 }
    @@ -190,7 +215,6 @@ Functions
    46
    47 return f2;
    48}
    -
    @@ -209,21 +233,17 @@ Functions

    Main function

    + +

    Definition at line 51 of file fibonacci_fast.cpp.

    51 {
    52 // Main Function
    53 for (uint64_t i = 1; i < 93; i++) {
    -
    54 std::cout << i << " th fibonacci number is " << fib(i) << std::endl;
    +
    54 std::cout << i << " th fibonacci number is " << fib(i) << std::endl;
    55 }
    56 return 0;
    57}
    -
    T endl(T... args)
    -
    uint64_t fib(uint64_t n)
    Definition fibonacci_fast.cpp:30
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    uint64_t fib(uint64_t n)
    +
    diff --git a/d4/d32/fibonacci__fast_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d4/d32/fibonacci__fast_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 5ba9a8261..000000000 --- a/d4/d32/fibonacci__fast_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/d4/d32/fibonacci__fast_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d4/d32/fibonacci__fast_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index d95771a0b..000000000 --- a/d4/d32/fibonacci__fast_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -451467410aae40ea8c24c4a09ee4e797 \ No newline at end of file diff --git a/d4/d32/fibonacci__fast_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d4/d32/fibonacci__fast_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 3dfce850c..000000000 --- a/d4/d32/fibonacci__fast_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -fib - - - - - -Node1->Node3 - - - - - - - - - - - - - diff --git a/d4/d32/fibonacci__fast_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d4/d32/fibonacci__fast_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index f80e45f8f..000000000 --- a/d4/d32/fibonacci__fast_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -fib - - - - - -Node1->Node3 - - - - - - - - diff --git a/d4/d32/fibonacci__fast_8cpp_source.html b/d4/d32/fibonacci__fast_8cpp_source.html new file mode 100644 index 000000000..bd5e1983d --- /dev/null +++ b/d4/d32/fibonacci__fast_8cpp_source.html @@ -0,0 +1,177 @@ + + + + + + + + +TheAlgorithms/C++: math/fibonacci_fast.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    fibonacci_fast.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    18#include <cinttypes>
    +
    19#include <cstdio>
    +
    20#include <iostream>
    +
    21
    +
    27#define MAX 93
    +
    28
    +
    +
    30uint64_t fib(uint64_t n) {
    +
    31 static uint64_t f1 = 1,
    +
    32 f2 = 1; // using static keyword will retain the values of
    +
    33 // f1 and f2 for the next function call.
    +
    34
    +
    35 if (n <= 2)
    +
    36 return f2;
    +
    37 if (n >= 93) {
    +
    38 std::cerr
    +
    39 << "Cannot compute for n>93 due to limit of 64-bit integers\n";
    +
    40 return 0;
    +
    41 }
    +
    42
    +
    43 uint64_t temp = f2; // we do not need temp to be static
    +
    44 f2 += f1;
    +
    45 f1 = temp;
    +
    46
    +
    47 return f2;
    +
    48}
    +
    +
    49
    +
    +
    51int main() {
    +
    52 // Main Function
    +
    53 for (uint64_t i = 1; i < 93; i++) {
    +
    54 std::cout << i << " th fibonacci number is " << fib(i) << std::endl;
    +
    55 }
    +
    56 return 0;
    +
    57}
    +
    +
    uint64_t fib(uint64_t n)
    +
    int main()
    +
    +
    + + + + diff --git a/d4/d32/inorder__successor__of__bst_8cpp.html b/d4/d32/inorder__successor__of__bst_8cpp.html index 9a557dc95..fc27f0b79 100644 --- a/d4/d32/inorder__successor__of__bst_8cpp.html +++ b/d4/d32/inorder__successor__of__bst_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: operations_on_datastructures/inorder_successor_of_bst.cpp File Reference +TheAlgorithms/C++: operations_on_datastructures/inorder_successor_of_bst.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -122,7 +139,9 @@ Include dependency graph for inorder_successor_of_bst.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -135,7 +154,7 @@ Classes - + @@ -158,7 +177,7 @@ Functions - + @@ -197,6 +216,8 @@ Method 2: Search from the root node
  • In order successor would be the deepest node in this path for which given node is in left subtree.
  • Author
    Nitin Sharma
    + +

    Definition in file inorder_successor_of_bst.cpp.

    Function Documentation

    ◆ deallocate()

    @@ -221,6 +242,8 @@ Method 2: Search from the root node
    Returns
    void
    + +

    Definition at line 210 of file inorder_successor_of_bst.cpp.

    210 {
    211 if (rootNode == nullptr) {
    212 return;
    @@ -229,13 +252,8 @@ Method 2: Search from the root node
    215 deallocate(rootNode->right);
    216 delete (rootNode);
    217}
    -
    void deallocate(Node *rootNode)
    This function clears the memory allocated to entire tree recursively. Its just for clean up the memor...
    Definition inorder_successor_of_bst.cpp:210
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    void deallocate(Node *rootNode)
    This function clears the memory allocated to entire tree recursively. Its just for clean up the memor...
    + @@ -261,6 +279,8 @@ Here is the call graph for this function:
    Returns
    Node* Pointer to the found node
    + +

    Definition at line 121 of file inorder_successor_of_bst.cpp.

    121 {
    122 if (root == nullptr) {
    123 return root;
    @@ -270,12 +290,7 @@ Here is the call graph for this function:
    127 }
    128 return root;
    129}
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -306,6 +321,8 @@ Here is the call graph for this function:
    Returns
    Node pointer to the inorder successor node.
    + +

    Definition at line 176 of file inorder_successor_of_bst.cpp.

    176 {
    177 Node *current = getNode(root, data);
    178 if (current == nullptr) {
    @@ -333,16 +350,11 @@ Here is the call graph for this function:
    200 return successor; // Nodes with maximum vales will not have a successor
    201 }
    202}
    -
    int data[MAX]
    test data
    Definition hash_search.cpp:24
    -
    Node * findMinNode(Node *root)
    Finds and return the minimum node in BST.
    Definition inorder_successor_of_bst.cpp:121
    -
    Node * getNode(Node *root, int64_t data)
    Searches the given data in BST and returns the pointer to the node containing that data.
    Definition inorder_successor_of_bst.cpp:100
    -
    Definition linkedlist_implentation_usingarray.cpp:14
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    int data[MAX]
    test data
    +
    Node * findMinNode(Node *root)
    Finds and return the minimum node in BST.
    +
    Node * getNode(Node *root, int64_t data)
    Searches the given data in BST and returns the pointer to the node containing that data.
    + + @@ -376,27 +388,20 @@ Here is the call graph for this function:

    Node found!

    Traverse right subtree recursively as the given data is greater than the data in root node, data must be present in right subtree.

    Traverse left subtree recursively as the given data is less than the data in root node, data must be present in left subtree.

    + +

    Definition at line 100 of file inorder_successor_of_bst.cpp.

    100 {
    101 if (root == nullptr) {
    102 return nullptr;
    103 } else if (root->data == data) {
    -
    104 return root; /// Node found!
    -
    105 } else if (data > root->data) {
    -
    106 /// Traverse right subtree recursively as the given data is greater than
    -
    107 /// the data in root node, data must be present in right subtree.
    -
    108 return getNode(root->right, data);
    -
    109 } else {
    -
    110 /// Traverse left subtree recursively as the given data is less than the
    -
    111 /// data in root node, data must be present in left subtree.
    -
    112 return getNode(root->left, data);
    +
    104 return root;
    +
    105 } else if (data > root->data) {
    +
    108 return getNode(root->right, data);
    +
    109 } else {
    +
    112 return getNode(root->left, data);
    113 }
    114}
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -427,6 +432,8 @@ Here is the call graph for this function:
    Returns
    Node* Pointer to the root node.
    + +

    Definition at line 82 of file inorder_successor_of_bst.cpp.

    82 {
    83 if (root == nullptr) {
    84 root = makeNode(data);
    @@ -437,13 +444,8 @@ Here is the call graph for this function:
    89 }
    90 return root;
    91}
    -
    Node * makeNode(int64_t data)
    Allocates a new node in heap for given data and returns it's pointer.
    Definition inorder_successor_of_bst.cpp:68
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    Node * makeNode(int64_t data)
    Allocates a new node in heap for given data and returns it's pointer.
    + @@ -479,52 +481,46 @@ Here is the call graph for this function:

    < An element to find inorder successor for.

    < Making BST

    memory cleanup!

    + +

    Definition at line 398 of file inorder_successor_of_bst.cpp.

    398 {
    399 test(); // run self-test implementations
    400
    -
    402 nullptr; ///< root node of the bst
    -
    403 std::vector<int64_t> node_data{3, 4, 5,
    -
    404 89, 1, 2}; ///< Data to add nodes in BST
    +
    402 nullptr;
    +
    403 std::vector<int64_t> node_data{3, 4, 5,
    +
    404 89, 1, 2};
    405
    -
    406 int64_t targetElement = 4; ///< An element to find inorder successor for.
    +
    406 int64_t targetElement = 4;
    -
    408 root, node_data); ///< Making BST
    +
    408 root, node_data);
    409
    411 *inorderSuccessor = operations_on_datastructures::
    412 inorder_traversal_of_bst::getInorderSuccessor(root, targetElement);
    413
    -
    414 std::cout << "In-order sequence is : ";
    +
    414 std::cout << "In-order sequence is : ";
    - +
    416 std::cout << std::endl;
    417
    418 if (inorderSuccessor == nullptr) {
    -
    419 std::cout << "Inorder successor for last node is NULL" << std::endl;
    +
    419 std::cout << "Inorder successor for last node is NULL" << std::endl;
    420 } else {
    -
    421 std::cout << "Target element is : " << targetElement << std::endl;
    -
    422 std::cout << "Inorder successor for target element is : "
    -
    423 << inorderSuccessor->data << std::endl;
    +
    421 std::cout << "Target element is : " << targetElement << std::endl;
    +
    422 std::cout << "Inorder successor for target element is : "
    +
    423 << inorderSuccessor->data << std::endl;
    424 }
    425
    -
    426 deallocate(root); /// memory cleanup!
    +
    426 deallocate(root);
    427
    428 return 0;
    429}
    - -
    A Node structure representing a single node in BST.
    Definition inorder_successor_of_bst.cpp:56
    -
    int64_t data
    The key/value of the node.
    Definition inorder_successor_of_bst.cpp:58
    -
    T endl(T... args)
    -
    Node * makeBST(Node *root, const std::vector< int64_t > &data)
    This function is used in test cases to quickly create BST containing large data instead of hard codin...
    Definition inorder_successor_of_bst.cpp:155
    -
    void printInorder(Node *root)
    Prints the BST in inorder traversal using recursion.
    Definition inorder_successor_of_bst.cpp:136
    -
    static void test()
    Self-test implementations.
    Definition inorder_successor_of_bst.cpp:387
    - -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    A Node structure representing a single node in BST.
    + +
    Node * makeBST(Node *root, const std::vector< int64_t > &data)
    This function is used in test cases to quickly create BST containing large data instead of hard codin...
    +
    void printInorder(Node *root)
    Prints the BST in inorder traversal using recursion.
    +
    static void test()
    Self-test implementations.
    + @@ -541,7 +537,7 @@ Here is the call graph for this function: - +

    Classes

    class  operations_on_datastructures::inorder_traversal_of_bst::Node

    Namespaces

    namespace  operations_on_datastructures
     for std::vector
     for std::vector
     
    namespace  inorder_successor_of_bst
     Functions for the Inorder successor of a binary search tree implementation.
    void operations_on_datastructures::inorder_traversal_of_bst::printInorder (Node *root)
     Prints the BST in inorder traversal using recursion.
     
    Nodeoperations_on_datastructures::inorder_traversal_of_bst::makeBST (Node *root, const std::vector< int64_t > &data)
    Nodeoperations_on_datastructures::inorder_traversal_of_bst::makeBST (Node *root, const std::vector< int64_t > &data)
     This function is used in test cases to quickly create BST containing large data instead of hard coding it in code. For a given root, this will add all the nodes containing data passes in data vector.
     
    Nodeoperations_on_datastructures::inorder_traversal_of_bst::getInorderSuccessor (Node *root, int64_t data)
    const std::vector< int64_t > & data )const std::vector< int64_t > & data )
    @@ -555,18 +551,15 @@ Here is the call graph for this function:
    Returns
    Node pointer to the root node.
    + +

    Definition at line 155 of file inorder_successor_of_bst.cpp.

    155 {
    156 for (int64_t values : data) {
    157 root = Insert(root, values);
    158 }
    159 return root;
    160}
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -595,21 +588,18 @@ Here is the call graph for this function:

    < setting data for node

    < setting left child as null

    < setting right child as null

    + +

    Definition at line 68 of file inorder_successor_of_bst.cpp.

    68 {
    69 Node *node = new Node();
    -
    70 node->data = data; ///< setting data for node
    -
    71 node->left = nullptr; ///< setting left child as null
    -
    72 node->right = nullptr; ///< setting right child as null
    +
    70 node->data = data;
    +
    71 node->left = nullptr;
    +
    72 node->right = nullptr;
    73 return node;
    74}
    -
    struct node { int data; int height; struct node *left; struct node *right;} node
    for std::queue
    Definition avltree.cpp:13
    -
    Definition binary_search_tree.cpp:11
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    struct node { int data; int height; struct node *left; struct node *right;} node
    for std::queue
    Definition avltree.cpp:13
    + + @@ -637,21 +627,18 @@ Here is the call graph for this function:
    Returns
    void

    recursive call to left subtree

    recursive call to right subtree

    + +

    Definition at line 136 of file inorder_successor_of_bst.cpp.

    136 {
    137 if (root == nullptr) {
    138 return;
    139 }
    140
    -
    141 printInorder(root->left); /// recursive call to left subtree
    -
    142 std::cout << root->data << " ";
    -
    143 printInorder(root->right); /// recursive call to right subtree
    +
    141 printInorder(root->left);
    +
    142 std::cout << root->data << " ";
    +
    143 printInorder(root->right);
    144}
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -679,18 +666,15 @@ Here is the call graph for this function:

    Self-test implementations.

    Returns
    void
    + +

    Definition at line 387 of file inorder_successor_of_bst.cpp.

    387 {
    388 TestCases tc;
    389 tc.runTests();
    390}
    -
    class encapsulating the necessary test cases
    Definition inorder_successor_of_bst.cpp:225
    -
    void runTests()
    Executes test cases.
    Definition inorder_successor_of_bst.cpp:243
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    class encapsulating the necessary test cases
    +
    void runTests()
    Executes test cases.
    + diff --git a/d4/d32/inorder__successor__of__bst_8cpp_a05fe8a029e155c43e4efa598d4d089d9_cgraph.map b/d4/d32/inorder__successor__of__bst_8cpp_a05fe8a029e155c43e4efa598d4d089d9_cgraph.map deleted file mode 100644 index c616d69e1..000000000 --- a/d4/d32/inorder__successor__of__bst_8cpp_a05fe8a029e155c43e4efa598d4d089d9_cgraph.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/d4/d32/inorder__successor__of__bst_8cpp_a05fe8a029e155c43e4efa598d4d089d9_cgraph.md5 b/d4/d32/inorder__successor__of__bst_8cpp_a05fe8a029e155c43e4efa598d4d089d9_cgraph.md5 deleted file mode 100644 index bfeac2621..000000000 --- a/d4/d32/inorder__successor__of__bst_8cpp_a05fe8a029e155c43e4efa598d4d089d9_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -491359e550d8c336c5059acf25cb419a \ No newline at end of file diff --git a/d4/d32/inorder__successor__of__bst_8cpp_a05fe8a029e155c43e4efa598d4d089d9_cgraph.svg b/d4/d32/inorder__successor__of__bst_8cpp_a05fe8a029e155c43e4efa598d4d089d9_cgraph.svg deleted file mode 100644 index 6870e46d7..000000000 --- a/d4/d32/inorder__successor__of__bst_8cpp_a05fe8a029e155c43e4efa598d4d089d9_cgraph.svg +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - - - - - - - -operations_on_datastructures::inorder_traversal_of_bst::makeBST - - -Node1 - - -operations_on_datastructures -::inorder_traversal_of_bst -::makeBST - - - - - -Node1->Node1 - - - - - - - - - - - - - diff --git a/d4/d32/inorder__successor__of__bst_8cpp_a05fe8a029e155c43e4efa598d4d089d9_cgraph_org.svg b/d4/d32/inorder__successor__of__bst_8cpp_a05fe8a029e155c43e4efa598d4d089d9_cgraph_org.svg deleted file mode 100644 index e95d2db08..000000000 --- a/d4/d32/inorder__successor__of__bst_8cpp_a05fe8a029e155c43e4efa598d4d089d9_cgraph_org.svg +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - -operations_on_datastructures::inorder_traversal_of_bst::makeBST - - -Node1 - - -operations_on_datastructures -::inorder_traversal_of_bst -::makeBST - - - - - -Node1->Node1 - - - - - - - - diff --git a/d4/d32/inorder__successor__of__bst_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.map b/d4/d32/inorder__successor__of__bst_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.map deleted file mode 100644 index 647dbc13c..000000000 --- a/d4/d32/inorder__successor__of__bst_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.map +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d4/d32/inorder__successor__of__bst_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.md5 b/d4/d32/inorder__successor__of__bst_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.md5 deleted file mode 100644 index 4e01eb258..000000000 --- a/d4/d32/inorder__successor__of__bst_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -176a0c7d34baa2213e9a37423dd7dba8 \ No newline at end of file diff --git a/d4/d32/inorder__successor__of__bst_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.svg b/d4/d32/inorder__successor__of__bst_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.svg deleted file mode 100644 index cb50452fd..000000000 --- a/d4/d32/inorder__successor__of__bst_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.svg +++ /dev/null @@ -1,302 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -test - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -TestCases::runTests - - - - - -Node3->Node4 - - - - - - - - -Node4->Node2 - - - - - - - - -Node5 - - -TestCases::log - - - - - -Node4->Node5 - - - - - - - - -Node6 - - -TestCases::testCase_1 - - - - - -Node4->Node6 - - - - - - - - -Node7 - - -TestCases::testCase_2 - - - - - -Node4->Node7 - - - - - - - - -Node8 - - -TestCases::testCase_3 - - - - - -Node4->Node8 - - - - - - - - -Node5->Node2 - - - - - - - - -Node6->Node2 - - - - - - - - -Node6->Node5 - - - - - - - - -Node7->Node2 - - - - - - - - -Node7->Node5 - - - - - - - - -Node8->Node2 - - - - - - - - -Node8->Node5 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d4/d32/inorder__successor__of__bst_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph_org.svg b/d4/d32/inorder__successor__of__bst_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph_org.svg deleted file mode 100644 index 48d8c543d..000000000 --- a/d4/d32/inorder__successor__of__bst_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph_org.svg +++ /dev/null @@ -1,219 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -test - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -TestCases::runTests - - - - - -Node3->Node4 - - - - - - - - -Node4->Node2 - - - - - - - - -Node5 - - -TestCases::log - - - - - -Node4->Node5 - - - - - - - - -Node6 - - -TestCases::testCase_1 - - - - - -Node4->Node6 - - - - - - - - -Node7 - - -TestCases::testCase_2 - - - - - -Node4->Node7 - - - - - - - - -Node8 - - -TestCases::testCase_3 - - - - - -Node4->Node8 - - - - - - - - -Node5->Node2 - - - - - - - - -Node6->Node2 - - - - - - - - -Node6->Node5 - - - - - - - - -Node7->Node2 - - - - - - - - -Node7->Node5 - - - - - - - - -Node8->Node2 - - - - - - - - -Node8->Node5 - - - - - - - - diff --git a/d4/d32/inorder__successor__of__bst_8cpp_a3923fb22b46e085376703cae0b44d690_cgraph.map b/d4/d32/inorder__successor__of__bst_8cpp_a3923fb22b46e085376703cae0b44d690_cgraph.map deleted file mode 100644 index aff68fb69..000000000 --- a/d4/d32/inorder__successor__of__bst_8cpp_a3923fb22b46e085376703cae0b44d690_cgraph.map +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/d4/d32/inorder__successor__of__bst_8cpp_a3923fb22b46e085376703cae0b44d690_cgraph.md5 b/d4/d32/inorder__successor__of__bst_8cpp_a3923fb22b46e085376703cae0b44d690_cgraph.md5 deleted file mode 100644 index 43a855de6..000000000 --- a/d4/d32/inorder__successor__of__bst_8cpp_a3923fb22b46e085376703cae0b44d690_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -e05b5ce959ced9808573c9d20e2e5fc7 \ No newline at end of file diff --git a/d4/d32/inorder__successor__of__bst_8cpp_a3923fb22b46e085376703cae0b44d690_cgraph.svg b/d4/d32/inorder__successor__of__bst_8cpp_a3923fb22b46e085376703cae0b44d690_cgraph.svg deleted file mode 100644 index 29f3ffd67..000000000 --- a/d4/d32/inorder__successor__of__bst_8cpp_a3923fb22b46e085376703cae0b44d690_cgraph.svg +++ /dev/null @@ -1,116 +0,0 @@ - - - - - - - - - - - - -operations_on_datastructures::inorder_traversal_of_bst::getInorderSuccessor - - -Node1 - - -operations_on_datastructures -::inorder_traversal_of_bst -::getInorderSuccessor - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -operations_on_datastructures -::inorder_traversal_of_bst -::findMinNode - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -operations_on_datastructures -::inorder_traversal_of_bst -::getNode - - - - - -Node1->Node3 - - - - - - - - -Node2->Node2 - - - - - - - - -Node3->Node3 - - - - - - - - - - - - - diff --git a/d4/d32/inorder__successor__of__bst_8cpp_a3923fb22b46e085376703cae0b44d690_cgraph_org.svg b/d4/d32/inorder__successor__of__bst_8cpp_a3923fb22b46e085376703cae0b44d690_cgraph_org.svg deleted file mode 100644 index 2ad18bf5d..000000000 --- a/d4/d32/inorder__successor__of__bst_8cpp_a3923fb22b46e085376703cae0b44d690_cgraph_org.svg +++ /dev/null @@ -1,90 +0,0 @@ - - - - - - -operations_on_datastructures::inorder_traversal_of_bst::getInorderSuccessor - - -Node1 - - -operations_on_datastructures -::inorder_traversal_of_bst -::getInorderSuccessor - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -operations_on_datastructures -::inorder_traversal_of_bst -::findMinNode - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -operations_on_datastructures -::inorder_traversal_of_bst -::getNode - - - - - -Node1->Node3 - - - - - - - - -Node2->Node2 - - - - - - - - -Node3->Node3 - - - - - - - - diff --git a/d4/d32/inorder__successor__of__bst_8cpp_a3ae0bea4123fd2ce155108e88f2ef78c_cgraph.map b/d4/d32/inorder__successor__of__bst_8cpp_a3ae0bea4123fd2ce155108e88f2ef78c_cgraph.map deleted file mode 100644 index 72236a271..000000000 --- a/d4/d32/inorder__successor__of__bst_8cpp_a3ae0bea4123fd2ce155108e88f2ef78c_cgraph.map +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/d4/d32/inorder__successor__of__bst_8cpp_a3ae0bea4123fd2ce155108e88f2ef78c_cgraph.md5 b/d4/d32/inorder__successor__of__bst_8cpp_a3ae0bea4123fd2ce155108e88f2ef78c_cgraph.md5 deleted file mode 100644 index 243727430..000000000 --- a/d4/d32/inorder__successor__of__bst_8cpp_a3ae0bea4123fd2ce155108e88f2ef78c_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -f84e103599c69c8b8d12e8a425107e1c \ No newline at end of file diff --git a/d4/d32/inorder__successor__of__bst_8cpp_a3ae0bea4123fd2ce155108e88f2ef78c_cgraph.svg b/d4/d32/inorder__successor__of__bst_8cpp_a3ae0bea4123fd2ce155108e88f2ef78c_cgraph.svg deleted file mode 100644 index 33e0a086b..000000000 --- a/d4/d32/inorder__successor__of__bst_8cpp_a3ae0bea4123fd2ce155108e88f2ef78c_cgraph.svg +++ /dev/null @@ -1,78 +0,0 @@ - - - - - - - - - - - - -operations_on_datastructures::inorder_traversal_of_bst::Insert - - -Node1 - - -operations_on_datastructures -::inorder_traversal_of_bst -::Insert - - - - - -Node2 - - -operations_on_datastructures -::inorder_traversal_of_bst -::makeNode - - - - - -Node1->Node2 - - - - - - - - -Node2->Node2 - - - - - - - - - - - - - diff --git a/d4/d32/inorder__successor__of__bst_8cpp_a3ae0bea4123fd2ce155108e88f2ef78c_cgraph_org.svg b/d4/d32/inorder__successor__of__bst_8cpp_a3ae0bea4123fd2ce155108e88f2ef78c_cgraph_org.svg deleted file mode 100644 index c881c53e2..000000000 --- a/d4/d32/inorder__successor__of__bst_8cpp_a3ae0bea4123fd2ce155108e88f2ef78c_cgraph_org.svg +++ /dev/null @@ -1,52 +0,0 @@ - - - - - - -operations_on_datastructures::inorder_traversal_of_bst::Insert - - -Node1 - - -operations_on_datastructures -::inorder_traversal_of_bst -::Insert - - - - - -Node2 - - -operations_on_datastructures -::inorder_traversal_of_bst -::makeNode - - - - - -Node1->Node2 - - - - - - - - -Node2->Node2 - - - - - - - - diff --git a/d4/d32/inorder__successor__of__bst_8cpp_a5d7266b934ca50c4f53e4f1e725d89a4_cgraph.map b/d4/d32/inorder__successor__of__bst_8cpp_a5d7266b934ca50c4f53e4f1e725d89a4_cgraph.map deleted file mode 100644 index 6d3cb1737..000000000 --- a/d4/d32/inorder__successor__of__bst_8cpp_a5d7266b934ca50c4f53e4f1e725d89a4_cgraph.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/d4/d32/inorder__successor__of__bst_8cpp_a5d7266b934ca50c4f53e4f1e725d89a4_cgraph.md5 b/d4/d32/inorder__successor__of__bst_8cpp_a5d7266b934ca50c4f53e4f1e725d89a4_cgraph.md5 deleted file mode 100644 index 8a7bc975e..000000000 --- a/d4/d32/inorder__successor__of__bst_8cpp_a5d7266b934ca50c4f53e4f1e725d89a4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -1f044eb16549322914bb3200b87ce058 \ No newline at end of file diff --git a/d4/d32/inorder__successor__of__bst_8cpp_a5d7266b934ca50c4f53e4f1e725d89a4_cgraph.svg b/d4/d32/inorder__successor__of__bst_8cpp_a5d7266b934ca50c4f53e4f1e725d89a4_cgraph.svg deleted file mode 100644 index 346bbef6c..000000000 --- a/d4/d32/inorder__successor__of__bst_8cpp_a5d7266b934ca50c4f53e4f1e725d89a4_cgraph.svg +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - - - - - - - -operations_on_datastructures::inorder_traversal_of_bst::printInorder - - -Node1 - - -operations_on_datastructures -::inorder_traversal_of_bst -::printInorder - - - - - -Node1->Node1 - - - - - - - - - - - - - diff --git a/d4/d32/inorder__successor__of__bst_8cpp_a5d7266b934ca50c4f53e4f1e725d89a4_cgraph_org.svg b/d4/d32/inorder__successor__of__bst_8cpp_a5d7266b934ca50c4f53e4f1e725d89a4_cgraph_org.svg deleted file mode 100644 index dc324b937..000000000 --- a/d4/d32/inorder__successor__of__bst_8cpp_a5d7266b934ca50c4f53e4f1e725d89a4_cgraph_org.svg +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - -operations_on_datastructures::inorder_traversal_of_bst::printInorder - - -Node1 - - -operations_on_datastructures -::inorder_traversal_of_bst -::printInorder - - - - - -Node1->Node1 - - - - - - - - diff --git a/d4/d32/inorder__successor__of__bst_8cpp_a72483e3f6933e004a8d86371e8a990db_cgraph.map b/d4/d32/inorder__successor__of__bst_8cpp_a72483e3f6933e004a8d86371e8a990db_cgraph.map deleted file mode 100644 index 1464a0362..000000000 --- a/d4/d32/inorder__successor__of__bst_8cpp_a72483e3f6933e004a8d86371e8a990db_cgraph.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/d4/d32/inorder__successor__of__bst_8cpp_a72483e3f6933e004a8d86371e8a990db_cgraph.md5 b/d4/d32/inorder__successor__of__bst_8cpp_a72483e3f6933e004a8d86371e8a990db_cgraph.md5 deleted file mode 100644 index 61f872af3..000000000 --- a/d4/d32/inorder__successor__of__bst_8cpp_a72483e3f6933e004a8d86371e8a990db_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -891820adabdca3911ad6160150fd0055 \ No newline at end of file diff --git a/d4/d32/inorder__successor__of__bst_8cpp_a72483e3f6933e004a8d86371e8a990db_cgraph.svg b/d4/d32/inorder__successor__of__bst_8cpp_a72483e3f6933e004a8d86371e8a990db_cgraph.svg deleted file mode 100644 index e83fd18b1..000000000 --- a/d4/d32/inorder__successor__of__bst_8cpp_a72483e3f6933e004a8d86371e8a990db_cgraph.svg +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - - - - - - - -operations_on_datastructures::inorder_traversal_of_bst::findMinNode - - -Node1 - - -operations_on_datastructures -::inorder_traversal_of_bst -::findMinNode - - - - - -Node1->Node1 - - - - - - - - - - - - - diff --git a/d4/d32/inorder__successor__of__bst_8cpp_a72483e3f6933e004a8d86371e8a990db_cgraph_org.svg b/d4/d32/inorder__successor__of__bst_8cpp_a72483e3f6933e004a8d86371e8a990db_cgraph_org.svg deleted file mode 100644 index caca112b2..000000000 --- a/d4/d32/inorder__successor__of__bst_8cpp_a72483e3f6933e004a8d86371e8a990db_cgraph_org.svg +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - -operations_on_datastructures::inorder_traversal_of_bst::findMinNode - - -Node1 - - -operations_on_datastructures -::inorder_traversal_of_bst -::findMinNode - - - - - -Node1->Node1 - - - - - - - - diff --git a/d4/d32/inorder__successor__of__bst_8cpp_a7b20eb99272665c1777949e26ab59589_cgraph.map b/d4/d32/inorder__successor__of__bst_8cpp_a7b20eb99272665c1777949e26ab59589_cgraph.map deleted file mode 100644 index ae7de9e8b..000000000 --- a/d4/d32/inorder__successor__of__bst_8cpp_a7b20eb99272665c1777949e26ab59589_cgraph.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/d4/d32/inorder__successor__of__bst_8cpp_a7b20eb99272665c1777949e26ab59589_cgraph.md5 b/d4/d32/inorder__successor__of__bst_8cpp_a7b20eb99272665c1777949e26ab59589_cgraph.md5 deleted file mode 100644 index caa84ab78..000000000 --- a/d4/d32/inorder__successor__of__bst_8cpp_a7b20eb99272665c1777949e26ab59589_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -eab10094c23f4370bf2651d5855d9d53 \ No newline at end of file diff --git a/d4/d32/inorder__successor__of__bst_8cpp_a7b20eb99272665c1777949e26ab59589_cgraph.svg b/d4/d32/inorder__successor__of__bst_8cpp_a7b20eb99272665c1777949e26ab59589_cgraph.svg deleted file mode 100644 index 6ab1832d3..000000000 --- a/d4/d32/inorder__successor__of__bst_8cpp_a7b20eb99272665c1777949e26ab59589_cgraph.svg +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - - - - - - - -operations_on_datastructures::inorder_traversal_of_bst::deallocate - - -Node1 - - -operations_on_datastructures -::inorder_traversal_of_bst -::deallocate - - - - - -Node1->Node1 - - - - - - - - - - - - - diff --git a/d4/d32/inorder__successor__of__bst_8cpp_a7b20eb99272665c1777949e26ab59589_cgraph_org.svg b/d4/d32/inorder__successor__of__bst_8cpp_a7b20eb99272665c1777949e26ab59589_cgraph_org.svg deleted file mode 100644 index bbde74305..000000000 --- a/d4/d32/inorder__successor__of__bst_8cpp_a7b20eb99272665c1777949e26ab59589_cgraph_org.svg +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - -operations_on_datastructures::inorder_traversal_of_bst::deallocate - - -Node1 - - -operations_on_datastructures -::inorder_traversal_of_bst -::deallocate - - - - - -Node1->Node1 - - - - - - - - diff --git a/d4/d32/inorder__successor__of__bst_8cpp_a7f6f73a33beec448c27cc1d70b220702_cgraph.map b/d4/d32/inorder__successor__of__bst_8cpp_a7f6f73a33beec448c27cc1d70b220702_cgraph.map deleted file mode 100644 index 3582afacb..000000000 --- a/d4/d32/inorder__successor__of__bst_8cpp_a7f6f73a33beec448c27cc1d70b220702_cgraph.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/d4/d32/inorder__successor__of__bst_8cpp_a7f6f73a33beec448c27cc1d70b220702_cgraph.md5 b/d4/d32/inorder__successor__of__bst_8cpp_a7f6f73a33beec448c27cc1d70b220702_cgraph.md5 deleted file mode 100644 index d50668791..000000000 --- a/d4/d32/inorder__successor__of__bst_8cpp_a7f6f73a33beec448c27cc1d70b220702_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -96731cf7da4cc01161f0a21940e74512 \ No newline at end of file diff --git a/d4/d32/inorder__successor__of__bst_8cpp_a7f6f73a33beec448c27cc1d70b220702_cgraph.svg b/d4/d32/inorder__successor__of__bst_8cpp_a7f6f73a33beec448c27cc1d70b220702_cgraph.svg deleted file mode 100644 index 590cec753..000000000 --- a/d4/d32/inorder__successor__of__bst_8cpp_a7f6f73a33beec448c27cc1d70b220702_cgraph.svg +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - - - - - - - -operations_on_datastructures::inorder_traversal_of_bst::makeNode - - -Node1 - - -operations_on_datastructures -::inorder_traversal_of_bst -::makeNode - - - - - -Node1->Node1 - - - - - - - - - - - - - diff --git a/d4/d32/inorder__successor__of__bst_8cpp_a7f6f73a33beec448c27cc1d70b220702_cgraph_org.svg b/d4/d32/inorder__successor__of__bst_8cpp_a7f6f73a33beec448c27cc1d70b220702_cgraph_org.svg deleted file mode 100644 index bdab4c33c..000000000 --- a/d4/d32/inorder__successor__of__bst_8cpp_a7f6f73a33beec448c27cc1d70b220702_cgraph_org.svg +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - -operations_on_datastructures::inorder_traversal_of_bst::makeNode - - -Node1 - - -operations_on_datastructures -::inorder_traversal_of_bst -::makeNode - - - - - -Node1->Node1 - - - - - - - - diff --git a/d4/d32/inorder__successor__of__bst_8cpp_a824cbf1814854824cf05f062eea07b95_cgraph.map b/d4/d32/inorder__successor__of__bst_8cpp_a824cbf1814854824cf05f062eea07b95_cgraph.map deleted file mode 100644 index 01ff930f3..000000000 --- a/d4/d32/inorder__successor__of__bst_8cpp_a824cbf1814854824cf05f062eea07b95_cgraph.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/d4/d32/inorder__successor__of__bst_8cpp_a824cbf1814854824cf05f062eea07b95_cgraph.md5 b/d4/d32/inorder__successor__of__bst_8cpp_a824cbf1814854824cf05f062eea07b95_cgraph.md5 deleted file mode 100644 index 86822e05c..000000000 --- a/d4/d32/inorder__successor__of__bst_8cpp_a824cbf1814854824cf05f062eea07b95_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -818bcddfed44dc59cca08b407ea251ab \ No newline at end of file diff --git a/d4/d32/inorder__successor__of__bst_8cpp_a824cbf1814854824cf05f062eea07b95_cgraph.svg b/d4/d32/inorder__successor__of__bst_8cpp_a824cbf1814854824cf05f062eea07b95_cgraph.svg deleted file mode 100644 index bff31e14e..000000000 --- a/d4/d32/inorder__successor__of__bst_8cpp_a824cbf1814854824cf05f062eea07b95_cgraph.svg +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - - - - - - - -operations_on_datastructures::inorder_traversal_of_bst::getNode - - -Node1 - - -operations_on_datastructures -::inorder_traversal_of_bst -::getNode - - - - - -Node1->Node1 - - - - - - - - - - - - - diff --git a/d4/d32/inorder__successor__of__bst_8cpp_a824cbf1814854824cf05f062eea07b95_cgraph_org.svg b/d4/d32/inorder__successor__of__bst_8cpp_a824cbf1814854824cf05f062eea07b95_cgraph_org.svg deleted file mode 100644 index 883c6fdd3..000000000 --- a/d4/d32/inorder__successor__of__bst_8cpp_a824cbf1814854824cf05f062eea07b95_cgraph_org.svg +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - -operations_on_datastructures::inorder_traversal_of_bst::getNode - - -Node1 - - -operations_on_datastructures -::inorder_traversal_of_bst -::getNode - - - - - -Node1->Node1 - - - - - - - - diff --git a/d4/d32/inorder__successor__of__bst_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map b/d4/d32/inorder__successor__of__bst_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map deleted file mode 100644 index de38214d8..000000000 --- a/d4/d32/inorder__successor__of__bst_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - diff --git a/d4/d32/inorder__successor__of__bst_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 b/d4/d32/inorder__successor__of__bst_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 deleted file mode 100644 index 8a5e67e52..000000000 --- a/d4/d32/inorder__successor__of__bst_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -d2c5c4cea9e9ad710f2e888f48c03542 \ No newline at end of file diff --git a/d4/d32/inorder__successor__of__bst_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg b/d4/d32/inorder__successor__of__bst_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg deleted file mode 100644 index 78085e00d..000000000 --- a/d4/d32/inorder__successor__of__bst_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg +++ /dev/null @@ -1,275 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -TestCases::runTests - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -TestCases::log - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -TestCases::testCase_1 - - - - - -Node2->Node5 - - - - - - - - -Node6 - - -TestCases::testCase_2 - - - - - -Node2->Node6 - - - - - - - - -Node7 - - -TestCases::testCase_3 - - - - - -Node2->Node7 - - - - - - - - -Node4->Node3 - - - - - - - - -Node5->Node3 - - - - - - - - -Node5->Node4 - - - - - - - - -Node6->Node3 - - - - - - - - -Node6->Node4 - - - - - - - - -Node7->Node3 - - - - - - - - -Node7->Node4 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d4/d32/inorder__successor__of__bst_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg b/d4/d32/inorder__successor__of__bst_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg deleted file mode 100644 index e339729cd..000000000 --- a/d4/d32/inorder__successor__of__bst_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg +++ /dev/null @@ -1,192 +0,0 @@ - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -TestCases::runTests - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -TestCases::log - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -TestCases::testCase_1 - - - - - -Node2->Node5 - - - - - - - - -Node6 - - -TestCases::testCase_2 - - - - - -Node2->Node6 - - - - - - - - -Node7 - - -TestCases::testCase_3 - - - - - -Node2->Node7 - - - - - - - - -Node4->Node3 - - - - - - - - -Node5->Node3 - - - - - - - - -Node5->Node4 - - - - - - - - -Node6->Node3 - - - - - - - - -Node6->Node4 - - - - - - - - -Node7->Node3 - - - - - - - - -Node7->Node4 - - - - - - - - diff --git a/d4/d32/inorder__successor__of__bst_8cpp_source.html b/d4/d32/inorder__successor__of__bst_8cpp_source.html new file mode 100644 index 000000000..fe00d35e6 --- /dev/null +++ b/d4/d32/inorder__successor__of__bst_8cpp_source.html @@ -0,0 +1,479 @@ + + + + + + + + +TheAlgorithms/C++: operations_on_datastructures/inorder_successor_of_bst.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    inorder_successor_of_bst.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    36#include <cassert>
    +
    37#include <iostream>
    +
    38#include <vector>
    +
    39
    + +
    45
    +
    51namespace inorder_traversal_of_bst {
    +
    52
    +
    +
    56class Node {
    +
    57 public:
    +
    58 int64_t data;
    + + +
    61};
    +
    +
    62
    +
    +
    68Node *makeNode(int64_t data) {
    +
    69 Node *node = new Node();
    +
    70 node->data = data;
    +
    71 node->left = nullptr;
    +
    72 node->right = nullptr;
    +
    73 return node;
    +
    74}
    +
    +
    75
    +
    +
    82Node *Insert(Node *root, int64_t data) {
    +
    83 if (root == nullptr) {
    +
    84 root = makeNode(data);
    +
    85 } else if (data <= root->data) {
    +
    86 root->left = Insert(root->left, data);
    +
    87 } else {
    +
    88 root->right = Insert(root->right, data);
    +
    89 }
    +
    90 return root;
    +
    91}
    +
    +
    92
    +
    +
    100Node *getNode(Node *root, int64_t data) {
    +
    101 if (root == nullptr) {
    +
    102 return nullptr;
    +
    103 } else if (root->data == data) {
    +
    104 return root;
    +
    105 } else if (data > root->data) {
    +
    108 return getNode(root->right, data);
    +
    109 } else {
    +
    112 return getNode(root->left, data);
    +
    113 }
    +
    114}
    +
    +
    115
    +
    + +
    122 if (root == nullptr) {
    +
    123 return root;
    +
    124 }
    +
    125 while (root->left != nullptr) {
    +
    126 root = root->left;
    +
    127 }
    +
    128 return root;
    +
    129}
    +
    +
    130
    +
    +
    136void printInorder(Node *root) {
    +
    137 if (root == nullptr) {
    +
    138 return;
    +
    139 }
    +
    140
    +
    141 printInorder(root->left);
    +
    142 std::cout << root->data << " ";
    +
    143 printInorder(root->right);
    +
    144}
    +
    +
    145
    +
    +
    155Node *makeBST(Node *root, const std::vector<int64_t> &data) {
    +
    156 for (int64_t values : data) {
    +
    157 root = Insert(root, values);
    +
    158 }
    +
    159 return root;
    +
    160}
    +
    +
    161
    +
    + +
    177 Node *current = getNode(root, data);
    +
    178 if (current == nullptr) {
    +
    179 return nullptr;
    +
    180 }
    +
    181
    +
    182 // Case - 1
    +
    183 if (current->right != nullptr) {
    +
    184 return findMinNode(current->right);
    +
    185 }
    +
    186 // case - 2
    +
    187 else {
    +
    188 Node *successor = nullptr;
    +
    189 Node *ancestor = root;
    +
    190
    +
    191 while (ancestor != current && ancestor != nullptr) {
    +
    192 // This means my current node is in left of the root node
    +
    193 if (current->data < ancestor->data) {
    +
    194 successor = ancestor;
    +
    195 ancestor = ancestor->left; // keep going left
    +
    196 } else {
    +
    197 ancestor = ancestor->right;
    +
    198 }
    +
    199 }
    +
    200 return successor; // Nodes with maximum vales will not have a successor
    +
    201 }
    +
    202}
    +
    +
    203
    +
    +
    210void deallocate(Node *rootNode) {
    +
    211 if (rootNode == nullptr) {
    +
    212 return;
    +
    213 }
    +
    214 deallocate(rootNode->left);
    +
    215 deallocate(rootNode->right);
    +
    216 delete (rootNode);
    +
    217}
    +
    +
    218
    +
    219} // namespace inorder_traversal_of_bst
    +
    220} // namespace operations_on_datastructures
    +
    221
    +
    + +
    226 private:
    +
    232 template <typename T>
    +
    +
    233 void log(T msg) {
    +
    234 // It's just to avoid writing cout and endl
    +
    235 std::cout << "[TESTS] : ---> " << msg << std::endl;
    +
    236 }
    +
    +
    237
    +
    238 public:
    +
    +
    243 void runTests() {
    +
    244 log("Running Tests...");
    +
    245
    +
    246 testCase_1();
    +
    247 testCase_2();
    +
    248 testCase_3();
    +
    249
    +
    250 log("Test Cases over!");
    +
    251 std::cout << std::endl;
    +
    252 }
    +
    +
    253
    +
    +
    259 void testCase_1() {
    + +
    261 *expectedOutput = nullptr;
    +
    262
    +
    263 log("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
    +
    264 log("This is test case 1 : ");
    +
    265 log("Description:");
    +
    266 log(" EDGE CASE : Printing inorder successor for last node in the "
    +
    267 "BST, Output will be nullptr.");
    +
    268
    + +
    270 nullptr;
    +
    271 std::vector<int64_t> node_data{
    +
    272 20, 3, 5, 6, 2, 23, 45, 78, 21};
    +
    273
    +
    274 root = operations_on_datastructures::inorder_traversal_of_bst::makeBST(
    +
    275 root,
    +
    276 node_data);
    +
    277
    +
    278 std::cout << "Inorder sequence is : ";
    +
    279 operations_on_datastructures::inorder_traversal_of_bst::printInorder(
    +
    280 root);
    +
    281 std::cout << std::endl;
    +
    282
    + +
    284 *inorderSuccessor = operations_on_datastructures::
    +
    285 inorder_traversal_of_bst::getInorderSuccessor(
    +
    286 root, 78);
    +
    287
    +
    288 log("Checking assert expression...");
    +
    289 assert(inorderSuccessor == expectedOutput);
    +
    290 log("Assertion check passed!");
    +
    291
    +
    292 operations_on_datastructures::inorder_traversal_of_bst::deallocate(
    +
    293 root);
    +
    294
    +
    295 log("[PASS] : TEST CASE 1 PASS!");
    +
    296 log("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
    +
    297 }
    +
    +
    298
    +
    +
    304 void testCase_2() {
    +
    305 const int expectedOutput = 21;
    +
    306
    +
    307 log("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
    +
    308 log("This is test case 2 : ");
    +
    309
    + +
    311 nullptr;
    +
    312 std::vector<int64_t> node_data{
    +
    313 20, 3, 5, 6, 2, 23, 45, 78, 21};
    +
    314
    +
    315 root = operations_on_datastructures::inorder_traversal_of_bst::makeBST(
    +
    316 root,
    +
    317 node_data);
    +
    318
    +
    319 std::cout << "Inorder sequence is : ";
    +
    320 operations_on_datastructures::inorder_traversal_of_bst::printInorder(
    +
    321 root);
    +
    322 std::cout << std::endl;
    +
    323
    + +
    325 *inorderSuccessor = operations_on_datastructures::
    +
    326 inorder_traversal_of_bst::getInorderSuccessor(
    +
    327 root, 20);
    +
    328
    +
    329 log("Checking assert expression...");
    +
    330 assert(inorderSuccessor->data == expectedOutput);
    +
    331 log("Assertion check passed!");
    +
    332
    +
    333 operations_on_datastructures::inorder_traversal_of_bst::deallocate(
    +
    334 root);
    +
    335
    +
    336 log("[PASS] : TEST CASE 2 PASS!");
    +
    337 log("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
    +
    338 }
    +
    +
    339
    +
    +
    345 void testCase_3() {
    +
    346 const int expectedOutput = 110;
    +
    347
    +
    348 log("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
    +
    349 log("This is test case 3 : ");
    +
    350
    + +
    352 nullptr;
    +
    353 std::vector<int64_t> node_data{
    +
    354 89, 67, 32, 56, 90, 123, 120,
    +
    355 110, 115, 6, 78, 7, 10};
    +
    356
    +
    357 root = operations_on_datastructures::inorder_traversal_of_bst::makeBST(
    +
    358 root,
    +
    359 node_data);
    +
    360
    +
    361 std::cout << "Inorder sequence is : ";
    +
    362 operations_on_datastructures::inorder_traversal_of_bst::printInorder(
    +
    363 root);
    +
    364 std::cout << std::endl;
    +
    365
    + +
    367 *inorderSuccessor = operations_on_datastructures::
    +
    368 inorder_traversal_of_bst::getInorderSuccessor(
    +
    369 root, 90);
    +
    370
    +
    371 log("Checking assert expression...");
    +
    372 assert(inorderSuccessor->data == expectedOutput);
    +
    373 log("Assertion check passed!");
    +
    374
    +
    375 operations_on_datastructures::inorder_traversal_of_bst::deallocate(
    +
    376 root);
    +
    377
    +
    378 log("[PASS] : TEST CASE 3 PASS!");
    +
    379 log("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
    +
    380 }
    +
    +
    381};
    +
    +
    382
    +
    +
    387static void test() {
    +
    388 TestCases tc;
    +
    389 tc.runTests();
    +
    390}
    +
    +
    391
    +
    +
    398int main(int argc, char *argv[]) {
    +
    399 test(); // run self-test implementations
    +
    400
    + +
    402 nullptr;
    +
    403 std::vector<int64_t> node_data{3, 4, 5,
    +
    404 89, 1, 2};
    +
    405
    +
    406 int64_t targetElement = 4;
    +
    407 root = operations_on_datastructures::inorder_traversal_of_bst::makeBST(
    +
    408 root, node_data);
    +
    409
    + +
    411 *inorderSuccessor = operations_on_datastructures::
    +
    412 inorder_traversal_of_bst::getInorderSuccessor(root, targetElement);
    +
    413
    +
    414 std::cout << "In-order sequence is : ";
    +
    415 operations_on_datastructures::inorder_traversal_of_bst::printInorder(root);
    +
    416 std::cout << std::endl;
    +
    417
    +
    418 if (inorderSuccessor == nullptr) {
    +
    419 std::cout << "Inorder successor for last node is NULL" << std::endl;
    +
    420 } else {
    +
    421 std::cout << "Target element is : " << targetElement << std::endl;
    +
    422 std::cout << "Inorder successor for target element is : "
    +
    423 << inorderSuccessor->data << std::endl;
    +
    424 }
    +
    425
    +
    426 deallocate(root);
    +
    427
    +
    428 return 0;
    +
    429}
    +
    +
    struct node { int data; int height; struct node *left; struct node *right;} node
    for std::queue
    Definition avltree.cpp:13
    +
    class encapsulating the necessary test cases
    +
    void log(T msg)
    A function to print given message on console.
    +
    void testCase_2()
    A test case which contains main list of 100 elements and sublist of 20.
    +
    void testCase_1()
    A test case contains edge case, printing inorder successor of last node.
    +
    void testCase_3()
    A test case which contains main list of 50 elements and sublist of 20.
    +
    void runTests()
    Executes test cases.
    +
    A Node structure representing a single node in BST.
    + + + +
    int main()
    Main function.
    +
    int data[MAX]
    test data
    +
    Node * makeBST(Node *root, const std::vector< int64_t > &data)
    This function is used in test cases to quickly create BST containing large data instead of hard codin...
    +
    Node * getInorderSuccessor(Node *root, int64_t data)
    Inorder successor of a node is the next node in inorder traversal of the Binary Tree....
    +
    void printInorder(Node *root)
    Prints the BST in inorder traversal using recursion.
    +
    Node * findMinNode(Node *root)
    Finds and return the minimum node in BST.
    +
    void deallocate(Node *rootNode)
    This function clears the memory allocated to entire tree recursively. Its just for clean up the memor...
    +
    Node * makeNode(int64_t data)
    Allocates a new node in heap for given data and returns it's pointer.
    +
    Node * getNode(Node *root, int64_t data)
    Searches the given data in BST and returns the pointer to the node containing that data.
    +
    static void test()
    Self-test implementations.
    + + +
    +
    + + + + diff --git a/d4/d38/namespacecount__bits__flip.html b/d4/d38/namespacecount__bits__flip.html index e8721fb7c..ff6028c75 100644 --- a/d4/d38/namespacecount__bits__flip.html +++ b/d4/d38/namespacecount__bits__flip.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: count_bits_flip Namespace Reference +TheAlgorithms/C++: count_bits_flip Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/d4/d38/power__of__two_8cpp.html b/d4/d38/power__of__two_8cpp.html index 01d3e3ca5..6beacf50a 100644 --- a/d4/d38/power__of__two_8cpp.html +++ b/d4/d38/power__of__two_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: math/power_of_two.cpp File Reference +TheAlgorithms/C++: math/power_of_two.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + @@ -120,7 +137,9 @@ Include dependency graph for power_of_two.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -152,6 +171,8 @@ Algorithm
    Author
    Neha Hasija
    Rijul.S
    + +

    Definition in file power_of_two.cpp.

    Function Documentation

    ◆ main()

    @@ -170,6 +191,8 @@ Algorithm

    Main function.

    Returns
    0 on exit
    + +

    Definition at line 99 of file power_of_two.cpp.

    99 {
    100 test(); // run self-test implementations
    101
    @@ -178,13 +201,8 @@ Algorithm
    104
    105 return 0;
    106}
    -
    static void test()
    Self-test implementations.
    Definition power_of_two.cpp:59
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static void test()
    Self-test implementations.
    + @@ -212,29 +230,25 @@ Here is the call graph for this function:

    Self-test implementations.

    Returns
    void
    -
    59 {
    -
    60 std::cout << "First case testing... \n"; // for n = 32 return 1
    -
    61 assert(math::power_of_two(32) == 1);
    -
    62 std::cout << "\nPassed!\n";
    -
    63
    -
    64 std::cout << "Second case testing... \n"; // for n = 5 return 0
    -
    65 assert(math::power_of_two(5) == 0);
    -
    66 std::cout << "\nPassed!\n";
    -
    67
    -
    68 std::cout << "Third case testing... \n"; // for n = 232 return 0
    -
    69 assert(math::power_of_two(232) == 0);
    -
    70 std::cout << "\nPassed!\n";
    -
    71
    -
    72 std::cout << "\nAll test cases have successfully passed!\n";
    -
    73}
    - -
    int power_of_two(int n)
    This function finds whether a number is power of 2 or not.
    Definition power_of_two.cpp:42
    -
    -Here is the call graph for this function:
    -
    -
    -
    +

    Definition at line 59 of file power_of_two.cpp.

    +
    59 {
    +
    60 std::cout << "First case testing... \n"; // for n = 32 return 1
    +
    61 assert(math::power_of_two(32) == 1);
    +
    62 std::cout << "\nPassed!\n";
    +
    63
    +
    64 std::cout << "Second case testing... \n"; // for n = 5 return 0
    +
    65 assert(math::power_of_two(5) == 0);
    +
    66 std::cout << "\nPassed!\n";
    +
    67
    +
    68 std::cout << "Third case testing... \n"; // for n = 232 return 0
    +
    69 assert(math::power_of_two(232) == 0);
    +
    70 std::cout << "\nPassed!\n";
    +
    71
    +
    72 std::cout << "\nAll test cases have successfully passed!\n";
    +
    73}
    +
    int power_of_two(int n)
    This function finds whether a number is power of 2 or not.
    +
    @@ -260,30 +274,24 @@ Here is the call graph for this function:

    Namespaces

    namespace  math
    + +

    Definition at line 79 of file power_of_two.cpp.

    79 {
    80 int n = 0; // input from user
    81
    -
    82 std::cout << "Enter a number " << std::endl;
    -
    83 std::cin >> n;
    -
    84
    -
    85 /// function call with @param n
    - +
    82 std::cout << "Enter a number " << std::endl;
    +
    83 std::cin >> n;
    +
    84
    +
    87 if (result == 1) {
    -
    88 std::cout << "Yes, the number " << n << " is a power of 2\n";
    +
    88 std::cout << "Yes, the number " << n << " is a power of 2\n";
    89 }
    90 else {
    -
    91 std::cout << "No, the number " << n << " is not a power of 2\n";
    +
    91 std::cout << "No, the number " << n << " is not a power of 2\n";
    92 }
    93}
    - -
    T endl(T... args)
    -
    uint64_t result(uint64_t n)
    Definition fibonacci_sum.cpp:77
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    uint64_t result(uint64_t n)
    +
    diff --git a/d4/d38/power__of__two_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map b/d4/d38/power__of__two_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map deleted file mode 100644 index ea89f8db9..000000000 --- a/d4/d38/power__of__two_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d4/d38/power__of__two_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 b/d4/d38/power__of__two_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 deleted file mode 100644 index 66488a06d..000000000 --- a/d4/d38/power__of__two_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -9e0c6287dfc04a3d264ecab862a00cbc \ No newline at end of file diff --git a/d4/d38/power__of__two_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg b/d4/d38/power__of__two_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg deleted file mode 100644 index d52a3d524..000000000 --- a/d4/d38/power__of__two_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -math::power_of_two - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d4/d38/power__of__two_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg b/d4/d38/power__of__two_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg deleted file mode 100644 index 4b584f339..000000000 --- a/d4/d38/power__of__two_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -math::power_of_two - - - - - -Node1->Node2 - - - - - - - - diff --git a/d4/d38/power__of__two_8cpp_adfd6be45be425ae28c62ce3bfb4b40dc_cgraph.map b/d4/d38/power__of__two_8cpp_adfd6be45be425ae28c62ce3bfb4b40dc_cgraph.map deleted file mode 100644 index cd5290687..000000000 --- a/d4/d38/power__of__two_8cpp_adfd6be45be425ae28c62ce3bfb4b40dc_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/d4/d38/power__of__two_8cpp_adfd6be45be425ae28c62ce3bfb4b40dc_cgraph.md5 b/d4/d38/power__of__two_8cpp_adfd6be45be425ae28c62ce3bfb4b40dc_cgraph.md5 deleted file mode 100644 index f00e914fb..000000000 --- a/d4/d38/power__of__two_8cpp_adfd6be45be425ae28c62ce3bfb4b40dc_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -ce5c82b2c062e5826817ab13036bd207 \ No newline at end of file diff --git a/d4/d38/power__of__two_8cpp_adfd6be45be425ae28c62ce3bfb4b40dc_cgraph.svg b/d4/d38/power__of__two_8cpp_adfd6be45be425ae28c62ce3bfb4b40dc_cgraph.svg deleted file mode 100644 index e97b1a99a..000000000 --- a/d4/d38/power__of__two_8cpp_adfd6be45be425ae28c62ce3bfb4b40dc_cgraph.svg +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - -user_input_test - - -Node1 - - -user_input_test - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -math::power_of_two - - - - - -Node1->Node3 - - - - - - - - - - - - - diff --git a/d4/d38/power__of__two_8cpp_adfd6be45be425ae28c62ce3bfb4b40dc_cgraph_org.svg b/d4/d38/power__of__two_8cpp_adfd6be45be425ae28c62ce3bfb4b40dc_cgraph_org.svg deleted file mode 100644 index daf583b35..000000000 --- a/d4/d38/power__of__two_8cpp_adfd6be45be425ae28c62ce3bfb4b40dc_cgraph_org.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - -user_input_test - - -Node1 - - -user_input_test - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -math::power_of_two - - - - - -Node1->Node3 - - - - - - - - diff --git a/d4/d38/power__of__two_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d4/d38/power__of__two_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 6092e5d4a..000000000 --- a/d4/d38/power__of__two_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/d4/d38/power__of__two_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d4/d38/power__of__two_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index bc0a82a28..000000000 --- a/d4/d38/power__of__two_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -784dd962094c563d6a84f25a43168cb0 \ No newline at end of file diff --git a/d4/d38/power__of__two_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d4/d38/power__of__two_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index cbe569e2c..000000000 --- a/d4/d38/power__of__two_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -math::power_of_two - - - - - -Node2->Node3 - - - - - - - - - - - - - diff --git a/d4/d38/power__of__two_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d4/d38/power__of__two_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 3458d7ec4..000000000 --- a/d4/d38/power__of__two_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -math::power_of_two - - - - - -Node2->Node3 - - - - - - - - diff --git a/d4/d38/power__of__two_8cpp_source.html b/d4/d38/power__of__two_8cpp_source.html new file mode 100644 index 000000000..8e639f947 --- /dev/null +++ b/d4/d38/power__of__two_8cpp_source.html @@ -0,0 +1,206 @@ + + + + + + + + +TheAlgorithms/C++: math/power_of_two.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    power_of_two.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    25#include <iostream>
    +
    26#include <cassert>
    +
    27
    +
    28
    +
    33namespace math {
    +
    +
    42int power_of_two(int n) {
    +
    45 int result = n & (n - 1);
    +
    46
    +
    47 if (result == 0) {
    +
    48 return 1;
    +
    49 }
    +
    50
    +
    51 return 0;
    +
    52}
    +
    +
    53} // namespace math
    +
    54
    +
    +
    59static void test() {
    +
    60 std::cout << "First case testing... \n"; // for n = 32 return 1
    +
    61 assert(math::power_of_two(32) == 1);
    +
    62 std::cout << "\nPassed!\n";
    +
    63
    +
    64 std::cout << "Second case testing... \n"; // for n = 5 return 0
    +
    65 assert(math::power_of_two(5) == 0);
    +
    66 std::cout << "\nPassed!\n";
    +
    67
    +
    68 std::cout << "Third case testing... \n"; // for n = 232 return 0
    +
    69 assert(math::power_of_two(232) == 0);
    +
    70 std::cout << "\nPassed!\n";
    +
    71
    +
    72 std::cout << "\nAll test cases have successfully passed!\n";
    +
    73}
    +
    +
    74
    +
    + +
    80 int n = 0; // input from user
    +
    81
    +
    82 std::cout << "Enter a number " << std::endl;
    +
    83 std::cin >> n;
    +
    84
    +
    86 int result = math::power_of_two(n);
    +
    87 if (result == 1) {
    +
    88 std::cout << "Yes, the number " << n << " is a power of 2\n";
    +
    89 }
    +
    90 else {
    +
    91 std::cout << "No, the number " << n << " is not a power of 2\n";
    +
    92 }
    +
    93}
    +
    +
    94
    +
    +
    99int main() {
    +
    100 test(); // run self-test implementations
    +
    101
    +
    102 // uncomment the line below to take user inputs
    +
    103 //user_input_test();
    +
    104
    +
    105 return 0;
    +
    106}
    +
    +
    for assert
    +
    int power_of_two(int n)
    This function finds whether a number is power of 2 or not.
    +
    static void test()
    Self-test implementations.
    +
    void user_input_test()
    Take user input in the test cases (optional; currently commented)
    +
    int main()
    Main function.
    +
    +
    + + + + diff --git a/d4/d39/group__open__addressing.html b/d4/d39/group__open__addressing.html index 93209e998..f6c356700 100644 --- a/d4/d39/group__open__addressing.html +++ b/d4/d39/group__open__addressing.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Open Addressing +TheAlgorithms/C++: Open Addressing + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/d4/d3e/k__nearest__neighbors_8cpp.html b/d4/d3e/k__nearest__neighbors_8cpp.html index 41ef96e78..2bdeb8e56 100644 --- a/d4/d3e/k__nearest__neighbors_8cpp.html +++ b/d4/d3e/k__nearest__neighbors_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: machine_learning/k_nearest_neighbors.cpp File Reference +TheAlgorithms/C++: machine_learning/k_nearest_neighbors.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + @@ -126,7 +143,9 @@ Include dependency graph for k_nearest_neighbors.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -145,7 +164,7 @@ Namespaces - + @@ -159,6 +178,8 @@ Functions

    Implementation of [K-Nearest Neighbors algorithm] (https://en.wikipedia.org/wiki/K-nearest_neighbors_algorithm).

    Author
    Luiz Carlos Cosmi Filho

    K-nearest neighbors algorithm, also known as KNN or k-NN, is a supervised learning classifier, which uses proximity to make classifications. This implementantion uses the Euclidean Distance as distance metric to find the K-nearest neighbors.

    + +

    Definition in file k_nearest_neighbors.cpp.

    Function Documentation

    ◆ euclidean_distance()

    @@ -171,12 +192,12 @@ template<typename T > - + - +

    Classes

    class  machine_learning::k_nearest_neighbors::Knn

    Functions

    template<typename T >
    double machine_learning::k_nearest_neighbors::euclidean_distance (const std::vector< T > &a, const std::vector< T > &b)
    double machine_learning::k_nearest_neighbors::euclidean_distance (const std::vector< T > &a, const std::vector< T > &b)
     Compute the Euclidean distance between two vectors.
     
    static void test ()
    double machine_learning::k_nearest_neighbors::euclidean_distance (const std::vector< T > & a, const std::vector< T > & a,
    const std::vector< T > & b )const std::vector< T > & b )
    @@ -196,27 +217,16 @@ template<typename T >
    Returns
    double scalar representing the Euclidean distance between provided vectors
    -
    43 {
    - -
    45 std::transform(a.begin(), a.end(), b.begin(), std::back_inserter(aux),
    -
    46 [](T x1, T x2) { return std::pow((x1 - x2), 2); });
    -
    47 aux.shrink_to_fit();
    -
    48 return std::sqrt(std::accumulate(aux.begin(), aux.end(), 0.0));
    -
    49}
    -
    T accumulate(T... args)
    -
    T back_inserter(T... args)
    -
    T begin(T... args)
    -
    T end(T... args)
    -
    T shrink_to_fit(T... args)
    -
    T sqrt(T... args)
    -
    T transform(T... args)
    - -
    -Here is the call graph for this function:
    -
    -
    -
    +

    Definition at line 43 of file k_nearest_neighbors.cpp.

    +
    43 {
    +
    44 std::vector<double> aux;
    +
    45 std::transform(a.begin(), a.end(), b.begin(), std::back_inserter(aux),
    +
    46 [](T x1, T x2) { return std::pow((x1 - x2), 2); });
    +
    47 aux.shrink_to_fit();
    +
    48 return std::sqrt(std::accumulate(aux.begin(), aux.end(), 0.0));
    +
    49}
    +
    @@ -247,17 +257,14 @@ Here is the call graph for this function:
    Returns
    int 0 on exit
    + +

    Definition at line 193 of file k_nearest_neighbors.cpp.

    193 {
    194 test(); // run self-test implementations
    195 return 0;
    196}
    -
    static void test()
    Self-test implementations.
    Definition k_nearest_neighbors.cpp:140
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static void test()
    Self-test implementations.
    + @@ -285,61 +292,56 @@ Here is the call graph for this function:

    Self-test implementations.

    Returns
    void
    + +

    Definition at line 140 of file k_nearest_neighbors.cpp.

    140 {
    -
    141 std::cout << "------- Test 1 -------" << std::endl;
    -
    142 std::vector<std::vector<double>> X1 = {{0.0, 0.0}, {0.25, 0.25},
    +
    141 std::cout << "------- Test 1 -------" << std::endl;
    +
    142 std::vector<std::vector<double>> X1 = {{0.0, 0.0}, {0.25, 0.25},
    143 {0.0, 0.5}, {0.5, 0.5},
    144 {1.0, 0.5}, {1.0, 1.0}};
    -
    145 std::vector<int> Y1 = {1, 1, 1, 1, 2, 2};
    +
    145 std::vector<int> Y1 = {1, 1, 1, 1, 2, 2};
    146 auto model1 = machine_learning::k_nearest_neighbors::Knn(X1, Y1);
    -
    147 std::vector<double> sample1 = {1.2, 1.2};
    -
    148 std::vector<double> sample2 = {0.1, 0.1};
    -
    149 std::vector<double> sample3 = {0.1, 0.5};
    -
    150 std::vector<double> sample4 = {1.0, 0.75};
    +
    147 std::vector<double> sample1 = {1.2, 1.2};
    +
    148 std::vector<double> sample2 = {0.1, 0.1};
    +
    149 std::vector<double> sample3 = {0.1, 0.5};
    +
    150 std::vector<double> sample4 = {1.0, 0.75};
    151 assert(model1.predict(sample1, 2) == 2);
    152 assert(model1.predict(sample2, 2) == 1);
    153 assert(model1.predict(sample3, 2) == 1);
    154 assert(model1.predict(sample4, 2) == 2);
    -
    155 std::cout << "... Passed" << std::endl;
    -
    156 std::cout << "------- Test 2 -------" << std::endl;
    - +
    155 std::cout << "... Passed" << std::endl;
    +
    156 std::cout << "------- Test 2 -------" << std::endl;
    +
    157 std::vector<std::vector<double>> X2 = {
    158 {0.0, 0.0, 0.0}, {0.25, 0.25, 0.0}, {0.0, 0.5, 0.0}, {0.5, 0.5, 0.0},
    159 {1.0, 0.5, 0.0}, {1.0, 1.0, 0.0}, {1.0, 1.0, 1.0}, {1.5, 1.5, 1.0}};
    -
    160 std::vector<int> Y2 = {1, 1, 1, 1, 2, 2, 3, 3};
    +
    160 std::vector<int> Y2 = {1, 1, 1, 1, 2, 2, 3, 3};
    161 auto model2 = machine_learning::k_nearest_neighbors::Knn(X2, Y2);
    -
    162 std::vector<double> sample5 = {1.2, 1.2, 0.0};
    -
    163 std::vector<double> sample6 = {0.1, 0.1, 0.0};
    -
    164 std::vector<double> sample7 = {0.1, 0.5, 0.0};
    -
    165 std::vector<double> sample8 = {1.0, 0.75, 1.0};
    +
    162 std::vector<double> sample5 = {1.2, 1.2, 0.0};
    +
    163 std::vector<double> sample6 = {0.1, 0.1, 0.0};
    +
    164 std::vector<double> sample7 = {0.1, 0.5, 0.0};
    +
    165 std::vector<double> sample8 = {1.0, 0.75, 1.0};
    166 assert(model2.predict(sample5, 2) == 2);
    167 assert(model2.predict(sample6, 2) == 1);
    168 assert(model2.predict(sample7, 2) == 1);
    169 assert(model2.predict(sample8, 2) == 3);
    -
    170 std::cout << "... Passed" << std::endl;
    -
    171 std::cout << "------- Test 3 -------" << std::endl;
    -
    172 std::vector<std::vector<double>> X3 = {{0.0}, {1.0}, {2.0}, {3.0},
    +
    170 std::cout << "... Passed" << std::endl;
    +
    171 std::cout << "------- Test 3 -------" << std::endl;
    +
    172 std::vector<std::vector<double>> X3 = {{0.0}, {1.0}, {2.0}, {3.0},
    173 {4.0}, {5.0}, {6.0}, {7.0}};
    -
    174 std::vector<int> Y3 = {1, 1, 1, 1, 2, 2, 2, 2};
    +
    174 std::vector<int> Y3 = {1, 1, 1, 1, 2, 2, 2, 2};
    175 auto model3 = machine_learning::k_nearest_neighbors::Knn(X3, Y3);
    -
    176 std::vector<double> sample9 = {0.5};
    -
    177 std::vector<double> sample10 = {2.9};
    -
    178 std::vector<double> sample11 = {5.5};
    -
    179 std::vector<double> sample12 = {7.5};
    +
    176 std::vector<double> sample9 = {0.5};
    +
    177 std::vector<double> sample10 = {2.9};
    +
    178 std::vector<double> sample11 = {5.5};
    +
    179 std::vector<double> sample12 = {7.5};
    180 assert(model3.predict(sample9, 3) == 1);
    181 assert(model3.predict(sample10, 3) == 1);
    182 assert(model3.predict(sample11, 3) == 2);
    183 assert(model3.predict(sample12, 3) == 2);
    -
    184 std::cout << "... Passed" << std::endl;
    +
    184 std::cout << "... Passed" << std::endl;
    185}
    - -
    K-Nearest Neighbors (Knn) class using Euclidean distance as distance metric.
    Definition k_nearest_neighbors.cpp:55
    -
    T endl(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    K-Nearest Neighbors (Knn) class using Euclidean distance as distance metric.
    + diff --git a/d4/d3e/k__nearest__neighbors_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.map b/d4/d3e/k__nearest__neighbors_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.map deleted file mode 100644 index 3284a08e7..000000000 --- a/d4/d3e/k__nearest__neighbors_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/d4/d3e/k__nearest__neighbors_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.md5 b/d4/d3e/k__nearest__neighbors_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.md5 deleted file mode 100644 index 37fe5ef8a..000000000 --- a/d4/d3e/k__nearest__neighbors_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -4eaacbc222129bd9ffcb246ff2dd39bc \ No newline at end of file diff --git a/d4/d3e/k__nearest__neighbors_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.svg b/d4/d3e/k__nearest__neighbors_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.svg deleted file mode 100644 index add459f55..000000000 --- a/d4/d3e/k__nearest__neighbors_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.svg +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node2->Node3 - - - - - - - - - - - - - diff --git a/d4/d3e/k__nearest__neighbors_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph_org.svg b/d4/d3e/k__nearest__neighbors_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph_org.svg deleted file mode 100644 index 05b86e1ce..000000000 --- a/d4/d3e/k__nearest__neighbors_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph_org.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node2->Node3 - - - - - - - - diff --git a/d4/d3e/k__nearest__neighbors_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map b/d4/d3e/k__nearest__neighbors_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map deleted file mode 100644 index e85e01374..000000000 --- a/d4/d3e/k__nearest__neighbors_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d4/d3e/k__nearest__neighbors_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 b/d4/d3e/k__nearest__neighbors_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 deleted file mode 100644 index 5901bc148..000000000 --- a/d4/d3e/k__nearest__neighbors_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -729fb887ee50b6291b0542ba0592a5c7 \ No newline at end of file diff --git a/d4/d3e/k__nearest__neighbors_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg b/d4/d3e/k__nearest__neighbors_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg deleted file mode 100644 index 2e04695b9..000000000 --- a/d4/d3e/k__nearest__neighbors_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d4/d3e/k__nearest__neighbors_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg b/d4/d3e/k__nearest__neighbors_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg deleted file mode 100644 index 1813bd719..000000000 --- a/d4/d3e/k__nearest__neighbors_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - diff --git a/d4/d3e/k__nearest__neighbors_8cpp_ad6ae16e50bb153ebaa7251d0aaa97b69_cgraph.map b/d4/d3e/k__nearest__neighbors_8cpp_ad6ae16e50bb153ebaa7251d0aaa97b69_cgraph.map deleted file mode 100644 index 7b6ea9b53..000000000 --- a/d4/d3e/k__nearest__neighbors_8cpp_ad6ae16e50bb153ebaa7251d0aaa97b69_cgraph.map +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - - - - - - - - - - diff --git a/d4/d3e/k__nearest__neighbors_8cpp_ad6ae16e50bb153ebaa7251d0aaa97b69_cgraph.md5 b/d4/d3e/k__nearest__neighbors_8cpp_ad6ae16e50bb153ebaa7251d0aaa97b69_cgraph.md5 deleted file mode 100644 index 22331a535..000000000 --- a/d4/d3e/k__nearest__neighbors_8cpp_ad6ae16e50bb153ebaa7251d0aaa97b69_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -344d44295d621c27521bf3756edc7fd0 \ No newline at end of file diff --git a/d4/d3e/k__nearest__neighbors_8cpp_ad6ae16e50bb153ebaa7251d0aaa97b69_cgraph.svg b/d4/d3e/k__nearest__neighbors_8cpp_ad6ae16e50bb153ebaa7251d0aaa97b69_cgraph.svg deleted file mode 100644 index d7e32e2a2..000000000 --- a/d4/d3e/k__nearest__neighbors_8cpp_ad6ae16e50bb153ebaa7251d0aaa97b69_cgraph.svg +++ /dev/null @@ -1,185 +0,0 @@ - - - - - - - - - - - - -machine_learning::k_nearest_neighbors::euclidean_distance - - -Node1 - - -machine_learning::k -_nearest_neighbors:: -euclidean_distance - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::accumulate - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::back_inserter - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::vector::begin - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::vector::end - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -std::vector::shrink -_to_fit - - - - - -Node1->Node6 - - - - - - - - -Node7 - - -std::sqrt - - - - - -Node1->Node7 - - - - - - - - -Node8 - - -std::transform - - - - - -Node1->Node8 - - - - - - - - - - - - - diff --git a/d4/d3e/k__nearest__neighbors_8cpp_ad6ae16e50bb153ebaa7251d0aaa97b69_cgraph_org.svg b/d4/d3e/k__nearest__neighbors_8cpp_ad6ae16e50bb153ebaa7251d0aaa97b69_cgraph_org.svg deleted file mode 100644 index 72044627b..000000000 --- a/d4/d3e/k__nearest__neighbors_8cpp_ad6ae16e50bb153ebaa7251d0aaa97b69_cgraph_org.svg +++ /dev/null @@ -1,159 +0,0 @@ - - - - - - -machine_learning::k_nearest_neighbors::euclidean_distance - - -Node1 - - -machine_learning::k -_nearest_neighbors:: -euclidean_distance - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::accumulate - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::back_inserter - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::vector::begin - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::vector::end - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -std::vector::shrink -_to_fit - - - - - -Node1->Node6 - - - - - - - - -Node7 - - -std::sqrt - - - - - -Node1->Node7 - - - - - - - - -Node8 - - -std::transform - - - - - -Node1->Node8 - - - - - - - - diff --git a/d4/d3e/k__nearest__neighbors_8cpp_source.html b/d4/d3e/k__nearest__neighbors_8cpp_source.html new file mode 100644 index 000000000..b4e20300f --- /dev/null +++ b/d4/d3e/k__nearest__neighbors_8cpp_source.html @@ -0,0 +1,289 @@ + + + + + + + + +TheAlgorithms/C++: machine_learning/k_nearest_neighbors.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    k_nearest_neighbors.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    12#include <algorithm>
    +
    13#include <cassert>
    +
    14#include <cmath>
    +
    15#include <iostream>
    +
    16#include <numeric>
    +
    17#include <unordered_map>
    +
    18#include <vector>
    +
    19
    +
    24namespace machine_learning {
    +
    25
    +
    31namespace k_nearest_neighbors {
    +
    32
    +
    42template <typename T>
    +
    +
    43double euclidean_distance(const std::vector<T>& a, const std::vector<T>& b) {
    +
    44 std::vector<double> aux;
    +
    45 std::transform(a.begin(), a.end(), b.begin(), std::back_inserter(aux),
    +
    46 [](T x1, T x2) { return std::pow((x1 - x2), 2); });
    +
    47 aux.shrink_to_fit();
    +
    48 return std::sqrt(std::accumulate(aux.begin(), aux.end(), 0.0));
    +
    49}
    +
    +
    50
    +
    +
    55class Knn {
    +
    56 private:
    +
    57 std::vector<std::vector<double>> X_{};
    +
    58 std::vector<int> Y_{};
    +
    59
    +
    60 public:
    +
    +
    67 explicit Knn(std::vector<std::vector<double>>& X, std::vector<int>& Y)
    +
    68 : X_(X), Y_(Y){};
    +
    +
    69
    +
    75 Knn(const Knn& model) = default;
    +
    76
    +
    80 Knn& operator=(const Knn& model) = default;
    +
    81
    +
    85 Knn(Knn&&) = default;
    +
    86
    +
    90 Knn& operator=(Knn&&) = default;
    +
    91
    +
    95 ~Knn() = default;
    +
    96
    +
    +
    103 int predict(std::vector<double>& sample, int k) {
    +
    104 std::vector<int> neighbors;
    +
    105 std::vector<std::pair<double, int>> distances;
    +
    106 for (size_t i = 0; i < this->X_.size(); ++i) {
    +
    107 auto current = this->X_.at(i);
    +
    108 auto label = this->Y_.at(i);
    +
    109 auto distance = euclidean_distance(current, sample);
    +
    110 distances.emplace_back(distance, label);
    +
    111 }
    +
    112 std::sort(distances.begin(), distances.end());
    +
    113 for (int i = 0; i < k; i++) {
    +
    114 auto label = distances.at(i).second;
    +
    115 neighbors.push_back(label);
    +
    116 }
    +
    117 std::unordered_map<int, int> frequency;
    +
    118 for (auto neighbor : neighbors) {
    +
    119 ++frequency[neighbor];
    +
    120 }
    +
    121 std::pair<int, int> predicted;
    +
    122 predicted.first = -1;
    +
    123 predicted.second = -1;
    +
    124 for (auto& kv : frequency) {
    +
    125 if (kv.second > predicted.second) {
    +
    126 predicted.second = kv.second;
    +
    127 predicted.first = kv.first;
    +
    128 }
    +
    129 }
    +
    130 return predicted.first;
    +
    131 }
    +
    +
    132};
    +
    +
    133} // namespace k_nearest_neighbors
    +
    134} // namespace machine_learning
    +
    135
    +
    +
    140static void test() {
    +
    141 std::cout << "------- Test 1 -------" << std::endl;
    +
    142 std::vector<std::vector<double>> X1 = {{0.0, 0.0}, {0.25, 0.25},
    +
    143 {0.0, 0.5}, {0.5, 0.5},
    +
    144 {1.0, 0.5}, {1.0, 1.0}};
    +
    145 std::vector<int> Y1 = {1, 1, 1, 1, 2, 2};
    +
    146 auto model1 = machine_learning::k_nearest_neighbors::Knn(X1, Y1);
    +
    147 std::vector<double> sample1 = {1.2, 1.2};
    +
    148 std::vector<double> sample2 = {0.1, 0.1};
    +
    149 std::vector<double> sample3 = {0.1, 0.5};
    +
    150 std::vector<double> sample4 = {1.0, 0.75};
    +
    151 assert(model1.predict(sample1, 2) == 2);
    +
    152 assert(model1.predict(sample2, 2) == 1);
    +
    153 assert(model1.predict(sample3, 2) == 1);
    +
    154 assert(model1.predict(sample4, 2) == 2);
    +
    155 std::cout << "... Passed" << std::endl;
    +
    156 std::cout << "------- Test 2 -------" << std::endl;
    +
    157 std::vector<std::vector<double>> X2 = {
    +
    158 {0.0, 0.0, 0.0}, {0.25, 0.25, 0.0}, {0.0, 0.5, 0.0}, {0.5, 0.5, 0.0},
    +
    159 {1.0, 0.5, 0.0}, {1.0, 1.0, 0.0}, {1.0, 1.0, 1.0}, {1.5, 1.5, 1.0}};
    +
    160 std::vector<int> Y2 = {1, 1, 1, 1, 2, 2, 3, 3};
    +
    161 auto model2 = machine_learning::k_nearest_neighbors::Knn(X2, Y2);
    +
    162 std::vector<double> sample5 = {1.2, 1.2, 0.0};
    +
    163 std::vector<double> sample6 = {0.1, 0.1, 0.0};
    +
    164 std::vector<double> sample7 = {0.1, 0.5, 0.0};
    +
    165 std::vector<double> sample8 = {1.0, 0.75, 1.0};
    +
    166 assert(model2.predict(sample5, 2) == 2);
    +
    167 assert(model2.predict(sample6, 2) == 1);
    +
    168 assert(model2.predict(sample7, 2) == 1);
    +
    169 assert(model2.predict(sample8, 2) == 3);
    +
    170 std::cout << "... Passed" << std::endl;
    +
    171 std::cout << "------- Test 3 -------" << std::endl;
    +
    172 std::vector<std::vector<double>> X3 = {{0.0}, {1.0}, {2.0}, {3.0},
    +
    173 {4.0}, {5.0}, {6.0}, {7.0}};
    +
    174 std::vector<int> Y3 = {1, 1, 1, 1, 2, 2, 2, 2};
    +
    175 auto model3 = machine_learning::k_nearest_neighbors::Knn(X3, Y3);
    +
    176 std::vector<double> sample9 = {0.5};
    +
    177 std::vector<double> sample10 = {2.9};
    +
    178 std::vector<double> sample11 = {5.5};
    +
    179 std::vector<double> sample12 = {7.5};
    +
    180 assert(model3.predict(sample9, 3) == 1);
    +
    181 assert(model3.predict(sample10, 3) == 1);
    +
    182 assert(model3.predict(sample11, 3) == 2);
    +
    183 assert(model3.predict(sample12, 3) == 2);
    +
    184 std::cout << "... Passed" << std::endl;
    +
    185}
    +
    +
    186
    +
    +
    193int main(int argc, char* argv[]) {
    +
    194 test(); // run self-test implementations
    +
    195 return 0;
    +
    196}
    +
    +
    K-Nearest Neighbors (Knn) class using Euclidean distance as distance metric.
    +
    Knn & operator=(const Knn &model)=default
    +
    std::vector< std::vector< double > > X_
    attributes vector
    +
    Knn(std::vector< std::vector< double > > &X, std::vector< int > &Y)
    Construct a new Knn object.
    + + +
    int predict(std::vector< double > &sample, int k)
    Classify sample.
    + + +
    ~Knn()=default
    Destroy the Knn object.
    +
    int main()
    Main function.
    +
    static void test()
    Self-test implementations.
    +
    double euclidean_distance(const std::vector< T > &a, const std::vector< T > &b)
    Compute the Euclidean distance between two vectors.
    +
    Functions for the [K-Nearest Neighbors algorithm] (https://en.wikipedia.org/wiki/K-nearest_neighbors_...
    +
    A* search algorithm
    +
    +
    + + + + diff --git a/d4/d3e/n__queens_8cpp.html b/d4/d3e/n__queens_8cpp.html index 059399d98..0d78402b4 100644 --- a/d4/d3e/n__queens_8cpp.html +++ b/d4/d3e/n__queens_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: backtracking/n_queens.cpp File Reference +TheAlgorithms/C++: backtracking/n_queens.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -120,7 +137,9 @@ Include dependency graph for n_queens.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -133,13 +152,13 @@ Namespaces - + - + - + @@ -151,6 +170,8 @@ Functions
    Author
    Unknown author
    David Leal
    + +

    Definition in file n_queens.cpp.

    Function Documentation

    ◆ isSafe()

    @@ -163,7 +184,7 @@ template<size_t n> - + @@ -194,6 +215,8 @@ template<size_t n>
    Returns
    true if queen can be placed on matrix
    false if queen can't be placed on matrix
    + +

    Definition at line 58 of file n_queens.cpp.

    59 {
    60 int i = 0, j = 0;
    61
    @@ -238,16 +261,17 @@ template<size_t n>

    Main function.

    Returns
    0 on exit
    + +

    Definition at line 120 of file n_queens.cpp.

    120 {
    121 const int n = 4;
    - -
    123 std::array<int, n>({0, 0, 0, 0}), std::array<int, n>({0, 0, 0, 0}),
    -
    124 std::array<int, n>({0, 0, 0, 0}), std::array<int, n>({0, 0, 0, 0})};
    +
    122 std::array<std::array<int, n>, n> board = {
    +
    123 std::array<int, n>({0, 0, 0, 0}), std::array<int, n>({0, 0, 0, 0}),
    +
    124 std::array<int, n>({0, 0, 0, 0}), std::array<int, n>({0, 0, 0, 0})};
    125
    126 backtracking::n_queens::solveNQ<n>(board, 0);
    127 return 0;
    128}
    -
    @@ -262,7 +286,7 @@ template<size_t n> - +

    Namespaces

    namespace  backtracking

    Functions

    template<size_t n>
    void backtracking::n_queens::printSolution (const std::array< std::array< int, n >, n > &board)
    void backtracking::n_queens::printSolution (const std::array< std::array< int, n >, n > &board)
     
    template<size_t n>
    bool backtracking::n_queens::isSafe (const std::array< std::array< int, n >, n > &board, const int &row, const int &col)
    bool backtracking::n_queens::isSafe (const std::array< std::array< int, n >, n > &board, const int &row, const int &col)
     
    template<size_t n>
    void backtracking::n_queens::solveNQ (std::array< std::array< int, n >, n > board, const int &col)
    void backtracking::n_queens::solveNQ (std::array< std::array< int, n >, n > board, const int &col)
     
    int main ()
     Main function.
    bool backtracking::n_queens::isSafe (const std::array< std::array< int, n >, n > & board, const std::array< std::array< int, n >, n > & board,
    void backtracking::n_queens::printSolution (const std::array< std::array< int, n >, n > & board)const std::array< std::array< int, n >, n > & board)
    @@ -279,16 +303,17 @@ template<size_t n>
    + +

    Definition at line 38 of file n_queens.cpp.

    38 {
    -
    39 std::cout << "\n";
    +
    39 std::cout << "\n";
    40 for (int i = 0; i < n; i++) {
    41 for (int j = 0; j < n; j++) {
    -
    42 std::cout << "" << board[i][j] << " ";
    +
    42 std::cout << "" << board[i][j] << " ";
    43 }
    -
    44 std::cout << "\n";
    +
    44 std::cout << "\n";
    45 }
    46}
    -
    @@ -303,7 +328,7 @@ template<size_t n> void backtracking::n_queens::solveNQ ( - std::array< std::array< int, n >, n > board, + std::array< std::array< int, n >, n > board, @@ -325,6 +350,8 @@ template<size_t n> + +

    Definition at line 91 of file n_queens.cpp.

    91 {
    92 if (col >= n) {
    93 printSolution<n>(board);
    @@ -347,12 +374,7 @@ template<size_t n>
    110 }
    111 }
    112}
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + diff --git a/d4/d3e/n__queens_8cpp_a0dbd7af47d87f0b956609fe9e3288ecb_cgraph.map b/d4/d3e/n__queens_8cpp_a0dbd7af47d87f0b956609fe9e3288ecb_cgraph.map deleted file mode 100644 index e6cdf7e3a..000000000 --- a/d4/d3e/n__queens_8cpp_a0dbd7af47d87f0b956609fe9e3288ecb_cgraph.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/d4/d3e/n__queens_8cpp_a0dbd7af47d87f0b956609fe9e3288ecb_cgraph.md5 b/d4/d3e/n__queens_8cpp_a0dbd7af47d87f0b956609fe9e3288ecb_cgraph.md5 deleted file mode 100644 index 81beb1497..000000000 --- a/d4/d3e/n__queens_8cpp_a0dbd7af47d87f0b956609fe9e3288ecb_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -65d61fc813fdae86573dea9ee0af7760 \ No newline at end of file diff --git a/d4/d3e/n__queens_8cpp_a0dbd7af47d87f0b956609fe9e3288ecb_cgraph.svg b/d4/d3e/n__queens_8cpp_a0dbd7af47d87f0b956609fe9e3288ecb_cgraph.svg deleted file mode 100644 index fd2e88cbb..000000000 --- a/d4/d3e/n__queens_8cpp_a0dbd7af47d87f0b956609fe9e3288ecb_cgraph.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - - - - - - - -backtracking::n_queens::solveNQ - - -Node1 - - -backtracking::n_queens -::solveNQ - - - - - -Node1->Node1 - - - - - - - - - - - - - diff --git a/d4/d3e/n__queens_8cpp_a0dbd7af47d87f0b956609fe9e3288ecb_cgraph_org.svg b/d4/d3e/n__queens_8cpp_a0dbd7af47d87f0b956609fe9e3288ecb_cgraph_org.svg deleted file mode 100644 index 4ae506580..000000000 --- a/d4/d3e/n__queens_8cpp_a0dbd7af47d87f0b956609fe9e3288ecb_cgraph_org.svg +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - -backtracking::n_queens::solveNQ - - -Node1 - - -backtracking::n_queens -::solveNQ - - - - - -Node1->Node1 - - - - - - - - diff --git a/d4/d3e/n__queens_8cpp_source.html b/d4/d3e/n__queens_8cpp_source.html new file mode 100644 index 000000000..9a7347da5 --- /dev/null +++ b/d4/d3e/n__queens_8cpp_source.html @@ -0,0 +1,228 @@ + + + + + + + + +TheAlgorithms/C++: backtracking/n_queens.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    n_queens.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    18#include <array>
    +
    19#include <iostream>
    +
    20
    +
    25namespace backtracking {
    +
    31namespace n_queens {
    +
    37template <size_t n>
    +
    +
    38void printSolution(const std::array<std::array<int, n>, n> &board) {
    +
    39 std::cout << "\n";
    +
    40 for (int i = 0; i < n; i++) {
    +
    41 for (int j = 0; j < n; j++) {
    +
    42 std::cout << "" << board[i][j] << " ";
    +
    43 }
    +
    44 std::cout << "\n";
    +
    45 }
    +
    46}
    +
    +
    47
    +
    57template <size_t n>
    +
    +
    58bool isSafe(const std::array<std::array<int, n>, n> &board, const int &row,
    +
    59 const int &col) {
    +
    60 int i = 0, j = 0;
    +
    61
    +
    62 // Check this row on left side
    +
    63 for (i = 0; i < col; i++) {
    +
    64 if (board[row][i]) {
    +
    65 return false;
    +
    66 }
    +
    67 }
    +
    68
    +
    69 // Check upper diagonal on left side
    +
    70 for (i = row, j = col; i >= 0 && j >= 0; i--, j--) {
    +
    71 if (board[i][j]) {
    +
    72 return false;
    +
    73 }
    +
    74 }
    +
    75 // Check lower diagonal on left side
    +
    76 for (i = row, j = col; j >= 0 && i < n; i++, j--) {
    +
    77 if (board[i][j]) {
    +
    78 return false;
    +
    79 }
    +
    80 }
    +
    81 return true;
    +
    82}
    +
    +
    83
    +
    90template <size_t n>
    +
    +
    91void solveNQ(std::array<std::array<int, n>, n> board, const int &col) {
    +
    92 if (col >= n) {
    +
    93 printSolution<n>(board);
    +
    94 return;
    +
    95 }
    +
    96
    +
    97 // Consider this column and try placing
    +
    98 // this queen in all rows one by one
    +
    99 for (int i = 0; i < n; i++) {
    +
    100 // Check if queen can be placed
    +
    101 // on board[i][col]
    +
    102 if (isSafe<n>(board, i, col)) {
    +
    103 // Place this queen in matrix
    +
    104 board[i][col] = 1;
    +
    105
    +
    106 // Recursive to place rest of the queens
    +
    107 solveNQ<n>(board, col + 1);
    +
    108
    +
    109 board[i][col] = 0; // backtrack
    +
    110 }
    +
    111 }
    +
    112}
    +
    +
    113} // namespace n_queens
    +
    114} // namespace backtracking
    +
    115
    +
    +
    120int main() {
    +
    121 const int n = 4;
    +
    122 std::array<std::array<int, n>, n> board = {
    +
    123 std::array<int, n>({0, 0, 0, 0}), std::array<int, n>({0, 0, 0, 0}),
    +
    124 std::array<int, n>({0, 0, 0, 0}), std::array<int, n>({0, 0, 0, 0})};
    +
    125
    +
    126 backtracking::n_queens::solveNQ<n>(board, 0);
    +
    127 return 0;
    +
    128}
    +
    +
    void solveNQ(std::array< std::array< int, n >, n > board, const int &col)
    Definition n_queens.cpp:91
    +
    int main()
    Main function.
    Definition n_queens.cpp:120
    +
    for vector container
    +
    Functions for Eight Queens puzzle.
    +
    +
    + + + + diff --git a/d4/d45/gcd__recursive__euclidean_8cpp.html b/d4/d45/gcd__recursive__euclidean_8cpp.html index 454c80aed..d52ca7f2c 100644 --- a/d4/d45/gcd__recursive__euclidean_8cpp.html +++ b/d4/d45/gcd__recursive__euclidean_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: math/gcd_recursive_euclidean.cpp File Reference +TheAlgorithms/C++: math/gcd_recursive_euclidean.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -118,7 +135,9 @@ Include dependency graph for gcd_recursive_euclidean.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -129,6 +148,8 @@ Functions

    Detailed Description

    Compute the greatest common denominator of two integers using recursive form of Euclidean algorithm

    See also
    gcd_iterative_euclidean.cpp, gcd_of_n_numbers.cpp
    + +

    Definition in file gcd_recursive_euclidean.cpp.

    Function Documentation

    ◆ gcd()

    @@ -149,9 +170,11 @@ Functions

    Functions

    int gcd (int num1, int num2)

    algorithm

    + +

    Definition at line 14 of file gcd_recursive_euclidean.cpp.

    14 {
    15 if (num1 <= 0 | num2 <= 0) {
    -
    16 throw std::domain_error("Euclidean algorithm domain is for ints > 0");
    +
    16 throw std::domain_error("Euclidean algorithm domain is for ints > 0");
    17 }
    18
    19 if (num1 == num2) {
    @@ -173,14 +196,8 @@ Functions
    35 return gcd(num1 - num2, num2);
    36 return gcd(num1, num2 - num1);
    37}
    - -
    int gcd(int num1, int num2)
    Definition gcd_recursive_euclidean.cpp:14
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    int gcd(int num1, int num2)
    +
    @@ -198,25 +215,20 @@ Here is the call graph for this function:

    Main function

    + +

    Definition at line 42 of file gcd_recursive_euclidean.cpp.

    42 {
    -
    43 std::cout << "gcd of 120,7 is " << (gcd(120, 7)) << std::endl;
    +
    43 std::cout << "gcd of 120,7 is " << (gcd(120, 7)) << std::endl;
    44 try {
    -
    45 std::cout << "gcd of -120,10 is " << gcd(-120, 10) << std::endl;
    -
    46 } catch (const std::domain_error &e) {
    -
    47 std::cout << "Error handling was successful" << std::endl;
    +
    45 std::cout << "gcd of -120,10 is " << gcd(-120, 10) << std::endl;
    +
    46 } catch (const std::domain_error &e) {
    +
    47 std::cout << "Error handling was successful" << std::endl;
    48 }
    -
    49 std::cout << "gcd of 312,221 is " << (gcd(312, 221)) << std::endl;
    -
    50 std::cout << "gcd of 289,204 is " << (gcd(289, 204)) << std::endl;
    +
    49 std::cout << "gcd of 312,221 is " << (gcd(312, 221)) << std::endl;
    +
    50 std::cout << "gcd of 289,204 is " << (gcd(289, 204)) << std::endl;
    51 return 0;
    52}
    - -
    T endl(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    diff --git a/d4/d45/gcd__recursive__euclidean_8cpp_ae48807fa2b7000afae599e67f327545e_cgraph.map b/d4/d45/gcd__recursive__euclidean_8cpp_ae48807fa2b7000afae599e67f327545e_cgraph.map deleted file mode 100644 index 979fb27dc..000000000 --- a/d4/d45/gcd__recursive__euclidean_8cpp_ae48807fa2b7000afae599e67f327545e_cgraph.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/d4/d45/gcd__recursive__euclidean_8cpp_ae48807fa2b7000afae599e67f327545e_cgraph.md5 b/d4/d45/gcd__recursive__euclidean_8cpp_ae48807fa2b7000afae599e67f327545e_cgraph.md5 deleted file mode 100644 index 3ce93c57e..000000000 --- a/d4/d45/gcd__recursive__euclidean_8cpp_ae48807fa2b7000afae599e67f327545e_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -b8b5505663d8370c4619b70f19abe443 \ No newline at end of file diff --git a/d4/d45/gcd__recursive__euclidean_8cpp_ae48807fa2b7000afae599e67f327545e_cgraph.svg b/d4/d45/gcd__recursive__euclidean_8cpp_ae48807fa2b7000afae599e67f327545e_cgraph.svg deleted file mode 100644 index e1eb36a6c..000000000 --- a/d4/d45/gcd__recursive__euclidean_8cpp_ae48807fa2b7000afae599e67f327545e_cgraph.svg +++ /dev/null @@ -1,56 +0,0 @@ - - - - - - - - - - - - -gcd - - -Node1 - - -gcd - - - - - -Node1->Node1 - - - - - - - - - - - - - diff --git a/d4/d45/gcd__recursive__euclidean_8cpp_ae48807fa2b7000afae599e67f327545e_cgraph_org.svg b/d4/d45/gcd__recursive__euclidean_8cpp_ae48807fa2b7000afae599e67f327545e_cgraph_org.svg deleted file mode 100644 index 366acef96..000000000 --- a/d4/d45/gcd__recursive__euclidean_8cpp_ae48807fa2b7000afae599e67f327545e_cgraph_org.svg +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - -gcd - - -Node1 - - -gcd - - - - - -Node1->Node1 - - - - - - - - diff --git a/d4/d45/gcd__recursive__euclidean_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d4/d45/gcd__recursive__euclidean_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index b07a2be89..000000000 --- a/d4/d45/gcd__recursive__euclidean_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/d4/d45/gcd__recursive__euclidean_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d4/d45/gcd__recursive__euclidean_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index 641e88893..000000000 --- a/d4/d45/gcd__recursive__euclidean_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -1f6c18c0a7712f33544d6843ac8102ec \ No newline at end of file diff --git a/d4/d45/gcd__recursive__euclidean_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d4/d45/gcd__recursive__euclidean_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index aefebcac8..000000000 --- a/d4/d45/gcd__recursive__euclidean_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,92 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -gcd - - - - - -Node1->Node3 - - - - - - - - -Node3->Node3 - - - - - - - - - - - - - diff --git a/d4/d45/gcd__recursive__euclidean_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d4/d45/gcd__recursive__euclidean_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 0a8cfa93c..000000000 --- a/d4/d45/gcd__recursive__euclidean_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -gcd - - - - - -Node1->Node3 - - - - - - - - -Node3->Node3 - - - - - - - - diff --git a/d4/d45/gcd__recursive__euclidean_8cpp_source.html b/d4/d45/gcd__recursive__euclidean_8cpp_source.html new file mode 100644 index 000000000..0c20f047c --- /dev/null +++ b/d4/d45/gcd__recursive__euclidean_8cpp_source.html @@ -0,0 +1,182 @@ + + + + + + + + +TheAlgorithms/C++: math/gcd_recursive_euclidean.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    gcd_recursive_euclidean.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    9#include <iostream>
    +
    10
    +
    +
    14int gcd(int num1, int num2) {
    +
    15 if (num1 <= 0 | num2 <= 0) {
    +
    16 throw std::domain_error("Euclidean algorithm domain is for ints > 0");
    +
    17 }
    +
    18
    +
    19 if (num1 == num2) {
    +
    20 return num1;
    +
    21 }
    +
    22
    +
    23 // Everything divides 0
    +
    24 if (num1 == 0)
    +
    25 return num2;
    +
    26 if (num2 == 0)
    +
    27 return num1;
    +
    28
    +
    29 // base case
    +
    30 if (num1 == num2)
    +
    31 return num1;
    +
    32
    +
    33 // a is greater
    +
    34 if (num1 > num2)
    +
    35 return gcd(num1 - num2, num2);
    +
    36 return gcd(num1, num2 - num1);
    +
    37}
    +
    +
    38
    +
    +
    42int main() {
    +
    43 std::cout << "gcd of 120,7 is " << (gcd(120, 7)) << std::endl;
    +
    44 try {
    +
    45 std::cout << "gcd of -120,10 is " << gcd(-120, 10) << std::endl;
    +
    46 } catch (const std::domain_error &e) {
    +
    47 std::cout << "Error handling was successful" << std::endl;
    +
    48 }
    +
    49 std::cout << "gcd of 312,221 is " << (gcd(312, 221)) << std::endl;
    +
    50 std::cout << "gcd of 289,204 is " << (gcd(289, 204)) << std::endl;
    +
    51 return 0;
    +
    52}
    +
    +
    int gcd(int num1, int num2)
    + +
    +
    + + + + diff --git a/d4/d48/hamming__distance_8cpp.html b/d4/d48/hamming__distance_8cpp.html index a602d5f11..51905c682 100644 --- a/d4/d48/hamming__distance_8cpp.html +++ b/d4/d48/hamming__distance_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: bit_manipulation/hamming_distance.cpp File Reference +TheAlgorithms/C++: bit_manipulation/hamming_distance.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -121,7 +138,9 @@ Include dependency graph for hamming_distance.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -137,7 +156,7 @@ Functions - + @@ -150,6 +169,8 @@ Functions

    Returns the Hamming distance between two integers.

    To find hamming distance between two integers, we take their xor, which will have a set bit iff those bits differ in the two numbers. Hence, we return the number of such set bits.

    Author
    Ravishankar Joshi
    + +

    Definition in file hamming_distance.cpp.

    Function Documentation

    ◆ bitCount()

    @@ -172,6 +193,8 @@ Functions
    Returns
    the number of set bits in the given number.
    + +

    Definition at line 35 of file hamming_distance.cpp.

    35 {
    36 uint64_t count = 0;
    37 while (value) { // until all bits are zero
    @@ -182,12 +205,7 @@ Functions
    42 }
    43 return count;
    44}
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -199,12 +217,12 @@ Here is the call graph for this function: - + - +

    Namespaces

    namespace  bit_manipulation
     
    uint64_t bit_manipulation::hamming_distance::hamming_distance (uint64_t a, uint64_t b)
     
    uint64_t bit_manipulation::hamming_distance::hamming_distance (const std::string &a, const std::string &b)
    uint64_t bit_manipulation::hamming_distance::hamming_distance (const std::string &a, const std::string &b)
     
    static void test ()
     Function to the test hamming distance.
    uint64_t bit_manipulation::hamming_distance::hamming_distance (const std::string & a, const std::string & a,
    const std::string & b )const std::string & b )
    @@ -216,8 +234,10 @@ Here is the call graph for this function:
    Returns
    the number of characters differing between the two strings.
    + +

    Definition at line 60 of file hamming_distance.cpp.

    60 {
    -
    61 assert(a.size() == b.size());
    +
    61 assert(a.size() == b.size());
    62 size_t n = a.size();
    63 uint64_t count = 0;
    64 for (size_t i = 0; i < n; i++) {
    @@ -225,13 +245,7 @@ Here is the call graph for this function:
    66 }
    67 return count;
    68}
    -
    T size(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -260,14 +274,11 @@ Here is the call graph for this function:
    Returns
    the number of bits differing between the two integers.
    -
    52{ return bitCount(a ^ b); }
    -
    uint64_t bitCount(uint64_t value)
    Definition hamming_distance.cpp:35
    -
    -Here is the call graph for this function:
    -
    -
    -
    +

    Definition at line 52 of file hamming_distance.cpp.

    +
    52{ return bitCount(a ^ b); }
    + +
    @@ -287,25 +298,20 @@ Here is the call graph for this function:

    Main function.

    Returns
    0 on exit
    + +

    Definition at line 100 of file hamming_distance.cpp.

    100 {
    101 test(); // execute the tests
    102 uint64_t a = 11; // 1011 in binary
    103 uint64_t b = 2; // 0010 in binary
    104
    -
    105 std::cout << "Hamming distance between " << a << " and " << b << " is "
    +
    105 std::cout << "Hamming distance between " << a << " and " << b << " is "
    -
    107 << std::endl;
    +
    107 << std::endl;
    108}
    - -
    T endl(T... args)
    -
    static void test()
    Function to the test hamming distance.
    Definition hamming_distance.cpp:76
    -
    uint64_t hamming_distance(uint64_t a, uint64_t b)
    Definition hamming_distance.cpp:52
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static void test()
    Function to the test hamming distance.
    +
    uint64_t hamming_distance(uint64_t a, uint64_t b)
    + @@ -333,6 +339,8 @@ Here is the call graph for this function:

    Function to the test hamming distance.

    Returns
    void
    + +

    Definition at line 76 of file hamming_distance.cpp.

    76 {
    77 assert(bit_manipulation::hamming_distance::hamming_distance(11, 2) == 2);
    78 assert(bit_manipulation::hamming_distance::hamming_distance(2, 0) == 1);
    diff --git a/d4/d48/hamming__distance_8cpp_a40ba9fe8b5df5c268f0c7d677ff2fe80_cgraph.map b/d4/d48/hamming__distance_8cpp_a40ba9fe8b5df5c268f0c7d677ff2fe80_cgraph.map deleted file mode 100644 index c433bddd2..000000000 --- a/d4/d48/hamming__distance_8cpp_a40ba9fe8b5df5c268f0c7d677ff2fe80_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d4/d48/hamming__distance_8cpp_a40ba9fe8b5df5c268f0c7d677ff2fe80_cgraph.md5 b/d4/d48/hamming__distance_8cpp_a40ba9fe8b5df5c268f0c7d677ff2fe80_cgraph.md5 deleted file mode 100644 index e59eb429a..000000000 --- a/d4/d48/hamming__distance_8cpp_a40ba9fe8b5df5c268f0c7d677ff2fe80_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -24dc5cc04da149f201c79cdfaef4a40d \ No newline at end of file diff --git a/d4/d48/hamming__distance_8cpp_a40ba9fe8b5df5c268f0c7d677ff2fe80_cgraph.svg b/d4/d48/hamming__distance_8cpp_a40ba9fe8b5df5c268f0c7d677ff2fe80_cgraph.svg deleted file mode 100644 index a6c03e70e..000000000 --- a/d4/d48/hamming__distance_8cpp_a40ba9fe8b5df5c268f0c7d677ff2fe80_cgraph.svg +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - - - - - - - -bit_manipulation::hamming_distance::hamming_distance - - -Node1 - - -bit_manipulation::hamming -_distance::hamming_distance - - - - - -Node2 - - -std::string::size - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d4/d48/hamming__distance_8cpp_a40ba9fe8b5df5c268f0c7d677ff2fe80_cgraph_org.svg b/d4/d48/hamming__distance_8cpp_a40ba9fe8b5df5c268f0c7d677ff2fe80_cgraph_org.svg deleted file mode 100644 index 469f90a39..000000000 --- a/d4/d48/hamming__distance_8cpp_a40ba9fe8b5df5c268f0c7d677ff2fe80_cgraph_org.svg +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - -bit_manipulation::hamming_distance::hamming_distance - - -Node1 - - -bit_manipulation::hamming -_distance::hamming_distance - - - - - -Node2 - - -std::string::size - - - - - -Node1->Node2 - - - - - - - - diff --git a/d4/d48/hamming__distance_8cpp_a65d845df3fecff7087a2126c7b72030b_cgraph.map b/d4/d48/hamming__distance_8cpp_a65d845df3fecff7087a2126c7b72030b_cgraph.map deleted file mode 100644 index 89b8c6b13..000000000 --- a/d4/d48/hamming__distance_8cpp_a65d845df3fecff7087a2126c7b72030b_cgraph.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/d4/d48/hamming__distance_8cpp_a65d845df3fecff7087a2126c7b72030b_cgraph.md5 b/d4/d48/hamming__distance_8cpp_a65d845df3fecff7087a2126c7b72030b_cgraph.md5 deleted file mode 100644 index 5eb2f5a19..000000000 --- a/d4/d48/hamming__distance_8cpp_a65d845df3fecff7087a2126c7b72030b_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -e2325341507fff258d02a33f8366e7d3 \ No newline at end of file diff --git a/d4/d48/hamming__distance_8cpp_a65d845df3fecff7087a2126c7b72030b_cgraph.svg b/d4/d48/hamming__distance_8cpp_a65d845df3fecff7087a2126c7b72030b_cgraph.svg deleted file mode 100644 index ab4016ce4..000000000 --- a/d4/d48/hamming__distance_8cpp_a65d845df3fecff7087a2126c7b72030b_cgraph.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - - - - - - - -bit_manipulation::hamming_distance::bitCount - - -Node1 - - -bit_manipulation::hamming -_distance::bitCount - - - - - -Node1->Node1 - - - - - - - - - - - - - diff --git a/d4/d48/hamming__distance_8cpp_a65d845df3fecff7087a2126c7b72030b_cgraph_org.svg b/d4/d48/hamming__distance_8cpp_a65d845df3fecff7087a2126c7b72030b_cgraph_org.svg deleted file mode 100644 index 875a7c93e..000000000 --- a/d4/d48/hamming__distance_8cpp_a65d845df3fecff7087a2126c7b72030b_cgraph_org.svg +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - -bit_manipulation::hamming_distance::bitCount - - -Node1 - - -bit_manipulation::hamming -_distance::bitCount - - - - - -Node1->Node1 - - - - - - - - diff --git a/d4/d48/hamming__distance_8cpp_abfe6fbb2f3460a2623c96f283178a07a_cgraph.map b/d4/d48/hamming__distance_8cpp_abfe6fbb2f3460a2623c96f283178a07a_cgraph.map deleted file mode 100644 index efc695529..000000000 --- a/d4/d48/hamming__distance_8cpp_abfe6fbb2f3460a2623c96f283178a07a_cgraph.map +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/d4/d48/hamming__distance_8cpp_abfe6fbb2f3460a2623c96f283178a07a_cgraph.md5 b/d4/d48/hamming__distance_8cpp_abfe6fbb2f3460a2623c96f283178a07a_cgraph.md5 deleted file mode 100644 index 0ba06f765..000000000 --- a/d4/d48/hamming__distance_8cpp_abfe6fbb2f3460a2623c96f283178a07a_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -6d7185d87008d0b8f2bffd8c66de07aa \ No newline at end of file diff --git a/d4/d48/hamming__distance_8cpp_abfe6fbb2f3460a2623c96f283178a07a_cgraph.svg b/d4/d48/hamming__distance_8cpp_abfe6fbb2f3460a2623c96f283178a07a_cgraph.svg deleted file mode 100644 index a71fd4402..000000000 --- a/d4/d48/hamming__distance_8cpp_abfe6fbb2f3460a2623c96f283178a07a_cgraph.svg +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - - - - - - - -bit_manipulation::hamming_distance::hamming_distance - - -Node1 - - -bit_manipulation::hamming -_distance::hamming_distance - - - - - -Node2 - - -bit_manipulation::hamming -_distance::bitCount - - - - - -Node1->Node2 - - - - - - - - -Node2->Node2 - - - - - - - - - - - - - diff --git a/d4/d48/hamming__distance_8cpp_abfe6fbb2f3460a2623c96f283178a07a_cgraph_org.svg b/d4/d48/hamming__distance_8cpp_abfe6fbb2f3460a2623c96f283178a07a_cgraph_org.svg deleted file mode 100644 index a6891ee1b..000000000 --- a/d4/d48/hamming__distance_8cpp_abfe6fbb2f3460a2623c96f283178a07a_cgraph_org.svg +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - -bit_manipulation::hamming_distance::hamming_distance - - -Node1 - - -bit_manipulation::hamming -_distance::hamming_distance - - - - - -Node2 - - -bit_manipulation::hamming -_distance::bitCount - - - - - -Node1->Node2 - - - - - - - - -Node2->Node2 - - - - - - - - diff --git a/d4/d48/hamming__distance_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d4/d48/hamming__distance_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 0e20b5019..000000000 --- a/d4/d48/hamming__distance_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/d4/d48/hamming__distance_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d4/d48/hamming__distance_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index 96d2615dc..000000000 --- a/d4/d48/hamming__distance_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -8156614d9998c92253f52b2a792b2958 \ No newline at end of file diff --git a/d4/d48/hamming__distance_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d4/d48/hamming__distance_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index af6570683..000000000 --- a/d4/d48/hamming__distance_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -test - - - - - -Node1->Node3 - - - - - - - - - - - - - diff --git a/d4/d48/hamming__distance_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d4/d48/hamming__distance_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 6084cc422..000000000 --- a/d4/d48/hamming__distance_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -test - - - - - -Node1->Node3 - - - - - - - - diff --git a/d4/d48/hamming__distance_8cpp_source.html b/d4/d48/hamming__distance_8cpp_source.html new file mode 100644 index 000000000..0736e9c73 --- /dev/null +++ b/d4/d48/hamming__distance_8cpp_source.html @@ -0,0 +1,211 @@ + + + + + + + + +TheAlgorithms/C++: bit_manipulation/hamming_distance.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    hamming_distance.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    15#include <cassert>
    +
    16#include <cstdint>
    +
    17#include <iostream>
    +
    18
    +
    23namespace bit_manipulation {
    +
    29namespace hamming_distance {
    +
    +
    35uint64_t bitCount(uint64_t value) {
    +
    36 uint64_t count = 0;
    +
    37 while (value) { // until all bits are zero
    +
    38 if (value & 1) { // check lower bit
    +
    39 count++;
    +
    40 }
    +
    41 value >>= 1; // shift bits, removing lower bit
    +
    42 }
    +
    43 return count;
    +
    44}
    +
    +
    45
    +
    52uint64_t hamming_distance(uint64_t a, uint64_t b) { return bitCount(a ^ b); }
    +
    53
    +
    +
    60uint64_t hamming_distance(const std::string& a, const std::string& b) {
    +
    61 assert(a.size() == b.size());
    +
    62 size_t n = a.size();
    +
    63 uint64_t count = 0;
    +
    64 for (size_t i = 0; i < n; i++) {
    +
    65 count += (b[i] != a[i]);
    +
    66 }
    +
    67 return count;
    +
    68}
    +
    +
    69} // namespace hamming_distance
    +
    70} // namespace bit_manipulation
    +
    71
    +
    +
    76static void test() {
    +
    77 assert(bit_manipulation::hamming_distance::hamming_distance(11, 2) == 2);
    +
    78 assert(bit_manipulation::hamming_distance::hamming_distance(2, 0) == 1);
    +
    79 assert(bit_manipulation::hamming_distance::hamming_distance(11, 0) == 3);
    +
    80
    +
    81 assert(bit_manipulation::hamming_distance::hamming_distance("1101",
    +
    82 "1111") == 1);
    +
    83 assert(bit_manipulation::hamming_distance::hamming_distance("1111",
    +
    84 "1111") == 0);
    +
    85 assert(bit_manipulation::hamming_distance::hamming_distance("0000",
    +
    86 "1111") == 4);
    +
    87
    +
    88 assert(bit_manipulation::hamming_distance::hamming_distance("alpha",
    +
    89 "alphb") == 1);
    +
    90 assert(bit_manipulation::hamming_distance::hamming_distance("abcd",
    +
    91 "abcd") == 0);
    +
    92 assert(bit_manipulation::hamming_distance::hamming_distance("dcba",
    +
    93 "abcd") == 4);
    +
    94}
    +
    +
    95
    +
    +
    100int main() {
    +
    101 test(); // execute the tests
    +
    102 uint64_t a = 11; // 1011 in binary
    +
    103 uint64_t b = 2; // 0010 in binary
    +
    104
    +
    105 std::cout << "Hamming distance between " << a << " and " << b << " is "
    +
    106 << bit_manipulation::hamming_distance::hamming_distance(a, b)
    +
    107 << std::endl;
    +
    108}
    +
    + +
    static void test()
    Function to the test hamming distance.
    +
    int main()
    Main function.
    + +
    Functions for Hamming distance implementation.
    +
    +
    + + + + diff --git a/d4/d4f/stooge__sort_8cpp.html b/d4/d4f/stooge__sort_8cpp.html index f1d996350..9e73ed27e 100644 --- a/d4/d4f/stooge__sort_8cpp.html +++ b/d4/d4f/stooge__sort_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: sorting/stooge_sort.cpp File Reference +TheAlgorithms/C++: sorting/stooge_sort.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -121,10 +138,12 @@ Include dependency graph for stooge_sort.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    - + @@ -147,6 +166,8 @@ Functions
  • sort last two thirds of the array
  • sort first two thirds of the array It's time complexity is O(n^(log3/log1.5)), which is about O(n^2.7), which makes it to be not the most efficient sorting algorithm on the street on average. Space complexity is O(1).
  • + +

    Definition in file stooge_sort.cpp.

    Function Documentation

    ◆ main()

    @@ -172,24 +193,20 @@ Functions
    Returns
    0 on exit
    + +

    Definition at line 79 of file stooge_sort.cpp.

    79 {
    80 test1();
    81 test2();
    82 test3();
    83
    -
    84 std::cout << "All tests have successfully passed!\n";
    +
    84 std::cout << "All tests have successfully passed!\n";
    85 return 0;
    86}
    - -
    void test2()
    Function to test sorting algorithm, one element.
    Definition stooge_sort.cpp:57
    -
    void test1()
    Function to test sorting algorithm.
    Definition stooge_sort.cpp:47
    -
    void test3()
    Function to test sorting algorithm, repeating elements.
    Definition stooge_sort.cpp:67
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    void test2()
    Function to test sorting algorithm, one element.
    +
    void test1()
    Function to test sorting algorithm.
    +
    void test3()
    Function to test sorting algorithm, repeating elements.
    + @@ -201,7 +218,7 @@ Here is the call graph for this function: - + @@ -217,7 +234,7 @@ Here is the call graph for this function:

    for IO operations

    -

    for vector for assert for std::is_sorted

    +

    for vector for assert for std::is_sorted

    The stoogeSort() function is used for sorting the array.

    Parameters

    Functions

    void stoogeSort (std::vector< int > *L, size_t i, size_t j)
    void stoogeSort (std::vector< int > *L, size_t i, size_t j)
     for IO operations
     
    void test1 ()
    void stoogeSort (std::vector< int > * L, std::vector< int > * L,
    @@ -227,12 +244,14 @@ Here is the call graph for this function:
    Returns
    void
    + +

    Definition at line 28 of file stooge_sort.cpp.

    28 {
    29 if (i >= j) {
    30 return;
    31 }
    32 if ((*L)[i] > (*L)[j]) {
    -
    33 std::swap((*L)[i], (*L)[j]);
    +
    33 std::swap((*L)[i], (*L)[j]);
    34 }
    35 if (j - i > 1) {
    36 size_t third = (j - i + 1) / 3;
    @@ -241,14 +260,8 @@ Here is the call graph for this function:
    39 stoogeSort(L, i, j - third);
    40 }
    41}
    -
    void stoogeSort(std::vector< int > *L, size_t i, size_t j)
    for IO operations
    Definition stooge_sort.cpp:28
    -
    T swap(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    void stoogeSort(std::vector< int > *L, size_t i, size_t j)
    for IO operations
    + @@ -268,22 +281,14 @@ Here is the call graph for this function:

    Function to test sorting algorithm.

    Returns
    void
    -
    47 {
    -
    48 std::vector<int> L = { 8, 9, 10, 4, 3, 5, 1 };
    -
    49 stoogeSort(&L, 0, L.size() - 1);
    -
    50 assert(std::is_sorted(std::begin(L), std::end(L)));
    -
    51}
    -
    T begin(T... args)
    -
    T end(T... args)
    -
    T is_sorted(T... args)
    -
    T size(T... args)
    - -
    -Here is the call graph for this function:
    -
    -
    -
    +

    Definition at line 47 of file stooge_sort.cpp.

    +
    47 {
    +
    48 std::vector<int> L = { 8, 9, 10, 4, 3, 5, 1 };
    +
    49 stoogeSort(&L, 0, L.size() - 1);
    +
    50 assert(std::is_sorted(std::begin(L), std::end(L)));
    +
    51}
    +
    @@ -303,17 +308,14 @@ Here is the call graph for this function:

    Function to test sorting algorithm, one element.

    Returns
    void
    -
    57 {
    -
    58 std::vector<int> L = { -1 };
    -
    59 stoogeSort(&L, 0, L.size() - 1);
    -
    60 assert(std::is_sorted(std::begin(L), std::end(L)));
    -
    61}
    -
    -Here is the call graph for this function:
    -
    -
    -
    +

    Definition at line 57 of file stooge_sort.cpp.

    +
    57 {
    +
    58 std::vector<int> L = { -1 };
    +
    59 stoogeSort(&L, 0, L.size() - 1);
    +
    60 assert(std::is_sorted(std::begin(L), std::end(L)));
    +
    61}
    +
    @@ -333,17 +335,14 @@ Here is the call graph for this function:

    Function to test sorting algorithm, repeating elements.

    Returns
    void
    -
    67 {
    -
    68 std::vector<int> L = { 1, 2, 5, 4, 1, 5 };
    -
    69 stoogeSort(&L, 0, L.size() - 1);
    -
    70 assert(std::is_sorted(std::begin(L), std::end(L)));
    -
    71}
    -
    -Here is the call graph for this function:
    -
    -
    -
    +

    Definition at line 67 of file stooge_sort.cpp.

    +
    67 {
    +
    68 std::vector<int> L = { 1, 2, 5, 4, 1, 5 };
    +
    69 stoogeSort(&L, 0, L.size() - 1);
    +
    70 assert(std::is_sorted(std::begin(L), std::end(L)));
    +
    71}
    +
    diff --git a/d4/d4f/stooge__sort_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph.map b/d4/d4f/stooge__sort_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph.map deleted file mode 100644 index 114631d77..000000000 --- a/d4/d4f/stooge__sort_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph.map +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - - - - - diff --git a/d4/d4f/stooge__sort_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph.md5 b/d4/d4f/stooge__sort_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph.md5 deleted file mode 100644 index 7d2e3fed4..000000000 --- a/d4/d4f/stooge__sort_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -c223ed38e4dfca591485f3fa5632f4e8 \ No newline at end of file diff --git a/d4/d4f/stooge__sort_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph.svg b/d4/d4f/stooge__sort_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph.svg deleted file mode 100644 index c8610384e..000000000 --- a/d4/d4f/stooge__sort_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph.svg +++ /dev/null @@ -1,164 +0,0 @@ - - - - - - - - - - - - -test2 - - -Node1 - - -test2 - - - - - -Node2 - - -std::begin - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::end - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::is_sorted - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::vector::size - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -stoogeSort - - - - - -Node1->Node6 - - - - - - - - -Node6->Node6 - - - - - - - - -Node7 - - -std::swap - - - - - -Node6->Node7 - - - - - - - - - - - - - diff --git a/d4/d4f/stooge__sort_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph_org.svg b/d4/d4f/stooge__sort_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph_org.svg deleted file mode 100644 index d27afbb89..000000000 --- a/d4/d4f/stooge__sort_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph_org.svg +++ /dev/null @@ -1,138 +0,0 @@ - - - - - - -test2 - - -Node1 - - -test2 - - - - - -Node2 - - -std::begin - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::end - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::is_sorted - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::vector::size - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -stoogeSort - - - - - -Node1->Node6 - - - - - - - - -Node6->Node6 - - - - - - - - -Node7 - - -std::swap - - - - - -Node6->Node7 - - - - - - - - diff --git a/d4/d4f/stooge__sort_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph.map b/d4/d4f/stooge__sort_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph.map deleted file mode 100644 index e2a5d6a59..000000000 --- a/d4/d4f/stooge__sort_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph.map +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - - - - - diff --git a/d4/d4f/stooge__sort_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph.md5 b/d4/d4f/stooge__sort_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph.md5 deleted file mode 100644 index e339e268e..000000000 --- a/d4/d4f/stooge__sort_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -e3143653521375eb3e99c8e3eee4ef27 \ No newline at end of file diff --git a/d4/d4f/stooge__sort_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph.svg b/d4/d4f/stooge__sort_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph.svg deleted file mode 100644 index 5dc99c558..000000000 --- a/d4/d4f/stooge__sort_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph.svg +++ /dev/null @@ -1,164 +0,0 @@ - - - - - - - - - - - - -test1 - - -Node1 - - -test1 - - - - - -Node2 - - -std::begin - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::end - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::is_sorted - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::vector::size - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -stoogeSort - - - - - -Node1->Node6 - - - - - - - - -Node6->Node6 - - - - - - - - -Node7 - - -std::swap - - - - - -Node6->Node7 - - - - - - - - - - - - - diff --git a/d4/d4f/stooge__sort_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph_org.svg b/d4/d4f/stooge__sort_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph_org.svg deleted file mode 100644 index e4fd5e725..000000000 --- a/d4/d4f/stooge__sort_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph_org.svg +++ /dev/null @@ -1,138 +0,0 @@ - - - - - - -test1 - - -Node1 - - -test1 - - - - - -Node2 - - -std::begin - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::end - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::is_sorted - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::vector::size - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -stoogeSort - - - - - -Node1->Node6 - - - - - - - - -Node6->Node6 - - - - - - - - -Node7 - - -std::swap - - - - - -Node6->Node7 - - - - - - - - diff --git a/d4/d4f/stooge__sort_8cpp_a6d0455dd5c30adda100e95f0423c786e_cgraph.map b/d4/d4f/stooge__sort_8cpp_a6d0455dd5c30adda100e95f0423c786e_cgraph.map deleted file mode 100644 index 4fb4d983e..000000000 --- a/d4/d4f/stooge__sort_8cpp_a6d0455dd5c30adda100e95f0423c786e_cgraph.map +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - - - - - diff --git a/d4/d4f/stooge__sort_8cpp_a6d0455dd5c30adda100e95f0423c786e_cgraph.md5 b/d4/d4f/stooge__sort_8cpp_a6d0455dd5c30adda100e95f0423c786e_cgraph.md5 deleted file mode 100644 index 016ae8e6b..000000000 --- a/d4/d4f/stooge__sort_8cpp_a6d0455dd5c30adda100e95f0423c786e_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -f006ea9ed65c6dbabbab84c1b56ed201 \ No newline at end of file diff --git a/d4/d4f/stooge__sort_8cpp_a6d0455dd5c30adda100e95f0423c786e_cgraph.svg b/d4/d4f/stooge__sort_8cpp_a6d0455dd5c30adda100e95f0423c786e_cgraph.svg deleted file mode 100644 index f0a6dbb78..000000000 --- a/d4/d4f/stooge__sort_8cpp_a6d0455dd5c30adda100e95f0423c786e_cgraph.svg +++ /dev/null @@ -1,164 +0,0 @@ - - - - - - - - - - - - -test3 - - -Node1 - - -test3 - - - - - -Node2 - - -std::begin - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::end - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::is_sorted - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::vector::size - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -stoogeSort - - - - - -Node1->Node6 - - - - - - - - -Node6->Node6 - - - - - - - - -Node7 - - -std::swap - - - - - -Node6->Node7 - - - - - - - - - - - - - diff --git a/d4/d4f/stooge__sort_8cpp_a6d0455dd5c30adda100e95f0423c786e_cgraph_org.svg b/d4/d4f/stooge__sort_8cpp_a6d0455dd5c30adda100e95f0423c786e_cgraph_org.svg deleted file mode 100644 index 51e08b24e..000000000 --- a/d4/d4f/stooge__sort_8cpp_a6d0455dd5c30adda100e95f0423c786e_cgraph_org.svg +++ /dev/null @@ -1,138 +0,0 @@ - - - - - - -test3 - - -Node1 - - -test3 - - - - - -Node2 - - -std::begin - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::end - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::is_sorted - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::vector::size - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -stoogeSort - - - - - -Node1->Node6 - - - - - - - - -Node6->Node6 - - - - - - - - -Node7 - - -std::swap - - - - - -Node6->Node7 - - - - - - - - diff --git a/d4/d4f/stooge__sort_8cpp_ac23852832437dc68327efe9b1da2d91b_cgraph.map b/d4/d4f/stooge__sort_8cpp_ac23852832437dc68327efe9b1da2d91b_cgraph.map deleted file mode 100644 index f3efc7763..000000000 --- a/d4/d4f/stooge__sort_8cpp_ac23852832437dc68327efe9b1da2d91b_cgraph.map +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/d4/d4f/stooge__sort_8cpp_ac23852832437dc68327efe9b1da2d91b_cgraph.md5 b/d4/d4f/stooge__sort_8cpp_ac23852832437dc68327efe9b1da2d91b_cgraph.md5 deleted file mode 100644 index 6305f9f96..000000000 --- a/d4/d4f/stooge__sort_8cpp_ac23852832437dc68327efe9b1da2d91b_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -dd5d968647b0367e8b20d3fd0e91c9db \ No newline at end of file diff --git a/d4/d4f/stooge__sort_8cpp_ac23852832437dc68327efe9b1da2d91b_cgraph.svg b/d4/d4f/stooge__sort_8cpp_ac23852832437dc68327efe9b1da2d91b_cgraph.svg deleted file mode 100644 index 874e8078d..000000000 --- a/d4/d4f/stooge__sort_8cpp_ac23852832437dc68327efe9b1da2d91b_cgraph.svg +++ /dev/null @@ -1,74 +0,0 @@ - - - - - - - - - - - - -stoogeSort - - -Node1 - - -stoogeSort - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::swap - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d4/d4f/stooge__sort_8cpp_ac23852832437dc68327efe9b1da2d91b_cgraph_org.svg b/d4/d4f/stooge__sort_8cpp_ac23852832437dc68327efe9b1da2d91b_cgraph_org.svg deleted file mode 100644 index dedb65c75..000000000 --- a/d4/d4f/stooge__sort_8cpp_ac23852832437dc68327efe9b1da2d91b_cgraph_org.svg +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - -stoogeSort - - -Node1 - - -stoogeSort - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::swap - - - - - -Node1->Node2 - - - - - - - - diff --git a/d4/d4f/stooge__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d4/d4f/stooge__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 598a914dd..000000000 --- a/d4/d4f/stooge__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d4/d4f/stooge__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d4/d4f/stooge__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index ed768440f..000000000 --- a/d4/d4f/stooge__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -ac3782b7c5d3c1ff4323d075c1cfcb8c \ No newline at end of file diff --git a/d4/d4f/stooge__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d4/d4f/stooge__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 9b7f58d99..000000000 --- a/d4/d4f/stooge__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,308 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test1 - - - - - -Node1->Node2 - - - - - - - - -Node9 - - -test2 - - - - - -Node1->Node9 - - - - - - - - -Node10 - - -test3 - - - - - -Node1->Node10 - - - - - - - - -Node3 - - -std::begin - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::end - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -std::is_sorted - - - - - -Node2->Node5 - - - - - - - - -Node6 - - -std::vector::size - - - - - -Node2->Node6 - - - - - - - - -Node7 - - -stoogeSort - - - - - -Node2->Node7 - - - - - - - - -Node7->Node7 - - - - - - - - -Node8 - - -std::swap - - - - - -Node7->Node8 - - - - - - - - -Node9->Node3 - - - - - - - - -Node9->Node4 - - - - - - - - -Node9->Node5 - - - - - - - - -Node9->Node6 - - - - - - - - -Node9->Node7 - - - - - - - - -Node10->Node3 - - - - - - - - -Node10->Node4 - - - - - - - - -Node10->Node5 - - - - - - - - -Node10->Node6 - - - - - - - - -Node10->Node7 - - - - - - - - - - - - - diff --git a/d4/d4f/stooge__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d4/d4f/stooge__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 9a354162c..000000000 --- a/d4/d4f/stooge__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,282 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test1 - - - - - -Node1->Node2 - - - - - - - - -Node9 - - -test2 - - - - - -Node1->Node9 - - - - - - - - -Node10 - - -test3 - - - - - -Node1->Node10 - - - - - - - - -Node3 - - -std::begin - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::end - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -std::is_sorted - - - - - -Node2->Node5 - - - - - - - - -Node6 - - -std::vector::size - - - - - -Node2->Node6 - - - - - - - - -Node7 - - -stoogeSort - - - - - -Node2->Node7 - - - - - - - - -Node7->Node7 - - - - - - - - -Node8 - - -std::swap - - - - - -Node7->Node8 - - - - - - - - -Node9->Node3 - - - - - - - - -Node9->Node4 - - - - - - - - -Node9->Node5 - - - - - - - - -Node9->Node6 - - - - - - - - -Node9->Node7 - - - - - - - - -Node10->Node3 - - - - - - - - -Node10->Node4 - - - - - - - - -Node10->Node5 - - - - - - - - -Node10->Node6 - - - - - - - - -Node10->Node7 - - - - - - - - diff --git a/d4/d4f/stooge__sort_8cpp_source.html b/d4/d4f/stooge__sort_8cpp_source.html new file mode 100644 index 000000000..94ccc8aa4 --- /dev/null +++ b/d4/d4f/stooge__sort_8cpp_source.html @@ -0,0 +1,199 @@ + + + + + + + + +TheAlgorithms/C++: sorting/stooge_sort.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    L- vector of values (int) to be sorted in in place (ascending order)
    + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    stooge_sort.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    16#include <vector>
    +
    17#include <cassert>
    +
    18#include <algorithm>
    +
    19#include <iostream>
    +
    20
    +
    +
    28void stoogeSort(std::vector<int>* L, size_t i, size_t j) {
    +
    29 if (i >= j) {
    +
    30 return;
    +
    31 }
    +
    32 if ((*L)[i] > (*L)[j]) {
    +
    33 std::swap((*L)[i], (*L)[j]);
    +
    34 }
    +
    35 if (j - i > 1) {
    +
    36 size_t third = (j - i + 1) / 3;
    +
    37 stoogeSort(L, i, j - third);
    +
    38 stoogeSort(L, i + third, j);
    +
    39 stoogeSort(L, i, j - third);
    +
    40 }
    +
    41}
    +
    +
    42
    +
    +
    47void test1() {
    +
    48 std::vector<int> L = { 8, 9, 10, 4, 3, 5, 1 };
    +
    49 stoogeSort(&L, 0, L.size() - 1);
    +
    50 assert(std::is_sorted(std::begin(L), std::end(L)));
    +
    51}
    +
    +
    52
    +
    +
    57void test2() {
    +
    58 std::vector<int> L = { -1 };
    +
    59 stoogeSort(&L, 0, L.size() - 1);
    +
    60 assert(std::is_sorted(std::begin(L), std::end(L)));
    +
    61}
    +
    +
    62
    +
    +
    67void test3() {
    +
    68 std::vector<int> L = { 1, 2, 5, 4, 1, 5 };
    +
    69 stoogeSort(&L, 0, L.size() - 1);
    +
    70 assert(std::is_sorted(std::begin(L), std::end(L)));
    +
    71}
    +
    +
    72
    +
    +
    79int main() {
    +
    80 test1();
    +
    81 test2();
    +
    82 test3();
    +
    83
    +
    84 std::cout << "All tests have successfully passed!\n";
    +
    85 return 0;
    +
    86}
    +
    +
    void test2()
    Function to test sorting algorithm, one element.
    +
    void test1()
    Function to test sorting algorithm.
    +
    void test3()
    Function to test sorting algorithm, repeating elements.
    +
    void stoogeSort(std::vector< int > *L, size_t i, size_t j)
    for IO operations
    +
    int main()
    Main function.
    +
    +
    + + + + diff --git a/d4/d53/classothers_1_1_cache_1_1_l_f_u_cache__coll__graph.map b/d4/d53/classothers_1_1_cache_1_1_l_f_u_cache__coll__graph.map index e1baff9f2..5433b638c 100644 --- a/d4/d53/classothers_1_1_cache_1_1_l_f_u_cache__coll__graph.map +++ b/d4/d53/classothers_1_1_cache_1_1_l_f_u_cache__coll__graph.map @@ -1,17 +1,17 @@ - + - + - + - + diff --git a/d4/d53/classothers_1_1_cache_1_1_l_f_u_cache__coll__graph.md5 b/d4/d53/classothers_1_1_cache_1_1_l_f_u_cache__coll__graph.md5 index e26e027b1..0bcf7fa04 100644 --- a/d4/d53/classothers_1_1_cache_1_1_l_f_u_cache__coll__graph.md5 +++ b/d4/d53/classothers_1_1_cache_1_1_l_f_u_cache__coll__graph.md5 @@ -1 +1 @@ -6ac5b9d32a99a7471b8fdd6c74403344 \ No newline at end of file +54a5d646e4613c69cba1946caf09977f \ No newline at end of file diff --git a/d4/d53/classothers_1_1_cache_1_1_l_f_u_cache__coll__graph.svg b/d4/d53/classothers_1_1_cache_1_1_l_f_u_cache__coll__graph.svg index 4b8b24640..5e7d9980c 100644 --- a/d4/d53/classothers_1_1_cache_1_1_l_f_u_cache__coll__graph.svg +++ b/d4/d53/classothers_1_1_cache_1_1_l_f_u_cache__coll__graph.svg @@ -68,7 +68,7 @@ var sectionId = 'dynsection-0'; Node2 - + std::unordered_map < K, std::pair< others @@ -129,7 +129,7 @@ var sectionId = 'dynsection-0'; Node4 - + std::pair< others:: Cache::D_Node< K, V @@ -160,7 +160,7 @@ var sectionId = 'dynsection-0'; Node7 - + std::pair< others:: Cache::D_Node< K, V @@ -183,7 +183,7 @@ var sectionId = 'dynsection-0'; Node6 - + std::unordered_map < int, std::pair< others diff --git a/d4/d53/classothers_1_1_cache_1_1_l_f_u_cache__coll__graph_org.svg b/d4/d53/classothers_1_1_cache_1_1_l_f_u_cache__coll__graph_org.svg index 4d935beca..22bf8a5b6 100644 --- a/d4/d53/classothers_1_1_cache_1_1_l_f_u_cache__coll__graph_org.svg +++ b/d4/d53/classothers_1_1_cache_1_1_l_f_u_cache__coll__graph_org.svg @@ -21,7 +21,7 @@ Node2 - + std::unordered_map < K, std::pair< others @@ -82,7 +82,7 @@ Node4 - + std::pair< others:: Cache::D_Node< K, V @@ -113,7 +113,7 @@ Node7 - + std::pair< others:: Cache::D_Node< K, V @@ -136,7 +136,7 @@ Node6 - + std::unordered_map < int, std::pair< others diff --git a/d4/d68/qr__decompose_8h.html b/d4/d68/qr__decompose_8h.html index c78077bf2..f7c419a35 100644 --- a/d4/d68/qr__decompose_8h.html +++ b/d4/d68/qr__decompose_8h.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: numerical_methods/qr_decompose.h File Reference +TheAlgorithms/C++: numerical_methods/qr_decompose.h File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -142,27 +159,29 @@ Namespaces - + - + - + - + - + - +
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++

    Functions

    template<typename T >
    std::ostreamqr_algorithm::operator<< (std::ostream &out, std::valarray< std::valarray< T > > const &v)
    std::ostream & qr_algorithm::operator<< (std::ostream &out, std::valarray< std::valarray< T > > const &v)
     
    template<typename T >
    std::ostreamqr_algorithm::operator<< (std::ostream &out, std::valarray< T > const &v)
    std::ostream & qr_algorithm::operator<< (std::ostream &out, std::valarray< T > const &v)
     
    template<typename T >
    double qr_algorithm::vector_dot (const std::valarray< T > &a, const std::valarray< T > &b)
    double qr_algorithm::vector_dot (const std::valarray< T > &a, const std::valarray< T > &b)
     
    template<typename T >
    double qr_algorithm::vector_mag (const std::valarray< T > &a)
    double qr_algorithm::vector_mag (const std::valarray< T > &a)
     
    template<typename T >
    std::valarray< T > qr_algorithm::vector_proj (const std::valarray< T > &a, const std::valarray< T > &b)
    std::valarray< T > qr_algorithm::vector_proj (const std::valarray< T > &a, const std::valarray< T > &b)
     
    template<typename T >
    void qr_algorithm::qr_decompose (const std::valarray< std::valarray< T > > &A, std::valarray< std::valarray< T > > *Q, std::valarray< std::valarray< T > > *R)
    void qr_algorithm::qr_decompose (const std::valarray< std::valarray< T > > &A, std::valarray< std::valarray< T > > *Q, std::valarray< std::valarray< T > > *R)
     

    Detailed Description

    Library functions to compute QR decomposition of a given matrix.

    Author
    Krishna Vedala
    + +

    Definition in file qr_decompose.h.

    diff --git a/d4/d68/qr__decompose_8h_source.html b/d4/d68/qr__decompose_8h_source.html index 83f543006..21ea5a5fd 100644 --- a/d4/d68/qr__decompose_8h_source.html +++ b/d4/d68/qr__decompose_8h_source.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: numerical_methods/qr_decompose.h Source File +TheAlgorithms/C++: numerical_methods/qr_decompose.h Source File + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -107,14 +124,7 @@ $(function(){initNavTree('d4/d68/qr__decompose_8h_source.html','../../'); initRe
    qr_decompose.h
    -Go to the documentation of this file.
    1/**
    -
    2 * @file
    -
    3 * \brief Library functions to compute [QR
    -
    4 * decomposition](https://en.wikipedia.org/wiki/QR_decomposition) of a given
    -
    5 * matrix.
    -
    6 * \author [Krishna Vedala](https://github.com/kvedala)
    -
    7 */
    -
    8
    +Go to the documentation of this file.
    1
    9#ifndef NUMERICAL_METHODS_QR_DECOMPOSE_H_
    10#define NUMERICAL_METHODS_QR_DECOMPOSE_H_
    11
    @@ -128,105 +138,70 @@ $(function(){initNavTree('d4/d68/qr__decompose_8h_source.html','../../'); initRe
    19#ifdef _OPENMP
    20#include <omp.h>
    21#endif
    -
    22
    -
    23/** \namespace qr_algorithm
    -
    24 * \brief Functions to compute [QR
    -
    25 * decomposition](https://en.wikipedia.org/wiki/QR_decomposition) of any
    -
    26 * rectangular matrix
    -
    27 */
    -
    28namespace qr_algorithm {
    -
    29/**
    -
    30 * operator to print a matrix
    -
    31 */
    +
    22
    +
    28namespace qr_algorithm {
    32template <typename T>
    - - +
    33std::ostream &operator<<(std::ostream &out,
    +
    34 std::valarray<std::valarray<T>> const &v) {
    35 const int width = 12;
    36 const char separator = ' ';
    37
    -
    38 out.precision(4);
    +
    38 out.precision(4);
    39 for (size_t row = 0; row < v.size(); row++) {
    40 for (size_t col = 0; col < v[row].size(); col++)
    -
    41 out << std::right << std::setw(width) << std::setfill(separator)
    +
    41 out << std::right << std::setw(width) << std::setfill(separator)
    42 << v[row][col];
    -
    43 out << std::endl;
    +
    43 out << std::endl;
    44 }
    45
    46 return out;
    47}
    -
    48
    -
    49/**
    -
    50 * operator to print a vector
    -
    51 */
    +
    48
    52template <typename T>
    - +
    53std::ostream &operator<<(std::ostream &out, std::valarray<T> const &v) {
    54 const int width = 10;
    55 const char separator = ' ';
    56
    -
    57 out.precision(4);
    +
    57 out.precision(4);
    58 for (size_t row = 0; row < v.size(); row++) {
    -
    59 out << std::right << std::setw(width) << std::setfill(separator)
    +
    59 out << std::right << std::setw(width) << std::setfill(separator)
    60 << v[row];
    61 }
    62
    63 return out;
    64}
    -
    65
    -
    66/**
    -
    67 * Compute dot product of two vectors of equal lengths
    -
    68 *
    -
    69 * If \f$\vec{a}=\left[a_0,a_1,a_2,...,a_L\right]\f$ and
    -
    70 * \f$\vec{b}=\left[b_0,b_1,b_1,...,b_L\right]\f$ then
    -
    71 * \f$\vec{a}\cdot\vec{b}=\displaystyle\sum_{i=0}^L a_i\times b_i\f$
    -
    72 *
    -
    73 * \returns \f$\vec{a}\cdot\vec{b}\f$
    -
    74 */
    +
    65
    75template <typename T>
    -
    76inline double vector_dot(const std::valarray<T> &a, const std::valarray<T> &b) {
    +
    76inline double vector_dot(const std::valarray<T> &a, const std::valarray<T> &b) {
    77 return (a * b).sum();
    78 // could also use following
    79 // return std::inner_product(std::begin(a), std::end(a), std::begin(b),
    80 // 0.f);
    81}
    -
    82
    -
    83/**
    -
    84 * Compute magnitude of vector.
    -
    85 *
    -
    86 * If \f$\vec{a}=\left[a_0,a_1,a_2,...,a_L\right]\f$ then
    -
    87 * \f$\left|\vec{a}\right|=\sqrt{\displaystyle\sum_{i=0}^L a_i^2}\f$
    -
    88 *
    -
    89 * \returns \f$\left|\vec{a}\right|\f$
    -
    90 */
    +
    82
    91template <typename T>
    -
    92inline double vector_mag(const std::valarray<T> &a) {
    +
    92inline double vector_mag(const std::valarray<T> &a) {
    93 double dot = vector_dot(a, a);
    -
    94 return std::sqrt(dot);
    +
    94 return std::sqrt(dot);
    95}
    -
    96
    -
    97/**
    -
    98 * Compute projection of vector \f$\vec{a}\f$ on \f$\vec{b}\f$ defined as
    -
    99 * \f[\text{proj}_\vec{b}\vec{a}=\frac{\vec{a}\cdot\vec{b}}{\left|\vec{b}\right|^2}\vec{b}\f]
    -
    100 *
    -
    101 * \returns NULL if error, otherwise pointer to output
    -
    102 */
    +
    96
    103template <typename T>
    - -
    105 const std::valarray<T> &b) {
    +
    104std::valarray<T> vector_proj(const std::valarray<T> &a,
    +
    105 const std::valarray<T> &b) {
    106 double num = vector_dot(a, b);
    107 double deno = vector_dot(b, b);
    -
    108
    -
    109 /*! check for division by zero using machine epsilon */
    - -
    111 std::cerr << "[" << __func__ << "] Possible division by zero\n";
    +
    108
    +
    110 if (deno <= std::numeric_limits<double>::epsilon()) {
    +
    111 std::cerr << "[" << __func__ << "] Possible division by zero\n";
    112 return a; // return vector a back
    113 }
    114
    @@ -235,44 +210,19 @@ $(function(){initNavTree('d4/d68/qr__decompose_8h_source.html','../../'); initRe
    117 return b * scalar;
    118}
    -
    119
    -
    120/**
    -
    121 * Decompose matrix \f$A\f$ using [Gram-Schmidt
    -
    122 *process](https://en.wikipedia.org/wiki/QR_decomposition).
    -
    123 *
    -
    124 * \f{eqnarray*}{
    -
    125 * \text{given that}\quad A &=&
    -
    126 *\left[\mathbf{a}_1,\mathbf{a}_2,\ldots,\mathbf{a}_{N-1},\right]\\
    -
    127 * \text{where}\quad\mathbf{a}_i &=&
    -
    128 * \left[a_{0i},a_{1i},a_{2i},\ldots,a_{(M-1)i}\right]^T\quad\ldots\mbox{(column
    -
    129 * vectors)}\\
    -
    130 * \text{then}\quad\mathbf{u}_i &=& \mathbf{a}_i
    -
    131 *-\sum_{j=0}^{i-1}\text{proj}_{\mathbf{u}_j}\mathbf{a}_i\\
    -
    132 * \mathbf{e}_i &=&\frac{\mathbf{u}_i}{\left|\mathbf{u}_i\right|}\\
    -
    133 * Q &=& \begin{bmatrix}\mathbf{e}_0 & \mathbf{e}_1 & \mathbf{e}_2 & \dots &
    -
    134 * \mathbf{e}_{N-1}\end{bmatrix}\\
    -
    135 * R &=& \begin{bmatrix}\langle\mathbf{e}_0\,,\mathbf{a}_0\rangle &
    -
    136 * \langle\mathbf{e}_1\,,\mathbf{a}_1\rangle &
    -
    137 * \langle\mathbf{e}_2\,,\mathbf{a}_2\rangle & \dots \\
    -
    138 * 0 & \langle\mathbf{e}_1\,,\mathbf{a}_1\rangle &
    -
    139 * \langle\mathbf{e}_2\,,\mathbf{a}_2\rangle & \dots\\
    -
    140 * 0 & 0 & \langle\mathbf{e}_2\,,\mathbf{a}_2\rangle &
    -
    141 * \dots\\ \vdots & \vdots & \vdots & \ddots
    -
    142 * \end{bmatrix}\\
    -
    143 * \f}
    -
    144 */
    +
    119
    145template <typename T>
    -
    147 const std::valarray<std::valarray<T>> &A, /**< input matrix to decompose */
    -
    148 std::valarray<std::valarray<T>> *Q, /**< output decomposed matrix */
    -
    149 std::valarray<std::valarray<T>> *R /**< output decomposed matrix */
    +
    147 const std::valarray<std::valarray<T>> &A,
    +
    148 std::valarray<std::valarray<T>> *Q,
    +
    149 std::valarray<std::valarray<T>> *R
    150) {
    -
    151 std::size_t ROWS = A.size(); // number of rows of A
    -
    152 std::size_t COLUMNS = A[0].size(); // number of columns of A
    -
    153 std::valarray<T> col_vector(ROWS);
    -
    154 std::valarray<T> col_vector2(ROWS);
    -
    155 std::valarray<T> tmp_vector(ROWS);
    +
    151 std::size_t ROWS = A.size(); // number of rows of A
    +
    152 std::size_t COLUMNS = A[0].size(); // number of columns of A
    +
    153 std::valarray<T> col_vector(ROWS);
    +
    154 std::valarray<T> col_vector2(ROWS);
    +
    155 std::valarray<T> tmp_vector(ROWS);
    156
    157 for (int i = 0; i < COLUMNS; i++) {
    158 /* for each column => R is a square matrix of NxN */
    @@ -329,22 +279,12 @@ $(function(){initNavTree('d4/d68/qr__decompose_8h_source.html','../../'); initRe
    208} // namespace qr_algorithm
    209
    210#endif // NUMERICAL_METHODS_QR_DECOMPOSE_H_
    - -
    T endl(T... args)
    -
    T right(T... args)
    Functions to compute QR decomposition of any rectangular matrix.
    -
    std::valarray< T > vector_proj(const std::valarray< T > &a, const std::valarray< T > &b)
    Definition qr_decompose.h:104
    -
    void qr_decompose(const std::valarray< std::valarray< T > > &A, std::valarray< std::valarray< T > > *Q, std::valarray< std::valarray< T > > *R)
    Definition qr_decompose.h:146
    -
    double vector_dot(const std::valarray< T > &a, const std::valarray< T > &b)
    Definition qr_decompose.h:76
    -
    double vector_mag(const std::valarray< T > &a)
    Definition qr_decompose.h:92
    -
    std::ostream & operator<<(std::ostream &out, std::valarray< std::valarray< T > > const &v)
    Definition qr_decompose.h:33
    - -
    T precision(T... args)
    -
    T setfill(T... args)
    -
    T setw(T... args)
    - -
    T sqrt(T... args)
    - +
    std::valarray< T > vector_proj(const std::valarray< T > &a, const std::valarray< T > &b)
    +
    void qr_decompose(const std::valarray< std::valarray< T > > &A, std::valarray< std::valarray< T > > *Q, std::valarray< std::valarray< T > > *R)
    +
    double vector_dot(const std::valarray< T > &a, const std::valarray< T > &b)
    +
    double vector_mag(const std::valarray< T > &a)
    +
    std::ostream & operator<<(std::ostream &out, std::valarray< std::valarray< T > > const &v)
    diff --git a/d4/d6c/boruvkas__minimum__spanning__tree_8cpp.html b/d4/d6c/boruvkas__minimum__spanning__tree_8cpp.html index b3f52cec3..4f3af8105 100644 --- a/d4/d6c/boruvkas__minimum__spanning__tree_8cpp.html +++ b/d4/d6c/boruvkas__minimum__spanning__tree_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: greedy_algorithms/boruvkas_minimum_spanning_tree.cpp File Reference +TheAlgorithms/C++: greedy_algorithms/boruvkas_minimum_spanning_tree.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + @@ -122,7 +139,9 @@ Include dependency graph for boruvkas_minimum_spanning_tree.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -134,13 +153,13 @@ Namespaces

    Namespaces

    namespace  greedy_algorithms
    - + - + - + @@ -161,6 +180,8 @@ Functions
  • Repeat step 2-3 until all vertices are combined into a single group.
  • It assumes that the graph is connected. Non-connected edges can be represented using 0 or INT_MAX

    + +

    Definition in file boruvkas_minimum_spanning_tree.cpp.

    Function Documentation

    ◆ boruvkas()

    @@ -169,9 +190,9 @@ Functions

    Functions

    int greedy_algorithms::boruvkas_minimum_spanning_tree::findParent (std::vector< std::pair< int, int > > parent, const int v)
    int greedy_algorithms::boruvkas_minimum_spanning_tree::findParent (std::vector< std::pair< int, int > > parent, const int v)
     Recursively returns the vertex's parent at the root of the tree.
     
    std::vector< std::vector< int > > greedy_algorithms::boruvkas_minimum_spanning_tree::boruvkas (std::vector< std::vector< int > > adj)
    std::vector< std::vector< int > > greedy_algorithms::boruvkas_minimum_spanning_tree::boruvkas (std::vector< std::vector< int > > adj)
     the implementation of boruvka's algorithm
     
    int greedy_algorithms::boruvkas_minimum_spanning_tree::test_findGraphSum (std::vector< std::vector< int > > adj)
    int greedy_algorithms::boruvkas_minimum_spanning_tree::test_findGraphSum (std::vector< std::vector< int > > adj)
     counts the sum of edges in the given tree
     
    static void tests ()
    - + - +
    std::vector< std::vector< int > > greedy_algorithms::boruvkas_minimum_spanning_tree::boruvkas std::vector< std::vector< int > > greedy_algorithms::boruvkas_minimum_spanning_tree::boruvkas (std::vector< std::vector< int > > adj)std::vector< std::vector< int > > adj)
    @@ -185,8 +206,10 @@ Functions
    Returns
    the MST as 2d vectors
    + +

    Definition at line 60 of file boruvkas_minimum_spanning_tree.cpp.

    60 {
    -
    61 size_t size = adj.size();
    +
    61 size_t size = adj.size();
    62 size_t total_groups = size;
    63
    64 if (size <= 1) {
    @@ -195,7 +218,7 @@ Functions
    67
    68 // Stores the current Minimum Spanning Tree. As groups are combined, they
    69 // are added to the MST
    -
    70 std::vector<std::vector<int>> MST(size, std::vector<int>(size, INT_MAX));
    +
    70 std::vector<std::vector<int>> MST(size, std::vector<int>(size, INT_MAX));
    71 for (int i = 0; i < size; i++) {
    72 MST[i][i] = 0;
    73 }
    @@ -204,7 +227,7 @@ Functions
    76
    77 // Stores the parent of the vertex and its current depth, both initialized
    78 // to 0
    - +
    79 std::vector<std::pair<int, int>> parent(size, std::make_pair(0, 0));
    80
    81 for (int i = 0; i < size; i++) {
    82 parent[i].first =
    @@ -213,8 +236,8 @@ Functions
    85
    86 // Repeat until all are in a single group
    87 while (total_groups > 1) {
    - -
    89 size, std::make_pair(-1, -1)); // Pairing: start node, end node
    +
    88 std::vector<std::pair<int, int>> smallest_edge(
    +
    89 size, std::make_pair(-1, -1)); // Pairing: start node, end node
    90
    91 // Step 2: Look throught each vertex for its smallest edge, only using
    92 // the right half of the adj matrix
    @@ -233,7 +256,7 @@ Functions
    105 // Grabs the start and end points for the first groups
    106 // current smallest edge
    107 int start = smallest_edge[parentA].first;
    -
    108 int end = smallest_edge[parentA].second;
    +
    108 int end = smallest_edge[parentA].second;
    109
    110 // If there is no current smallest edge, or the new edge is
    111 // smaller, records the new smallest
    @@ -244,7 +267,7 @@ Functions
    116
    117 // Does the same for the second group
    118 start = smallest_edge[parentB].first;
    -
    119 end = smallest_edge[parentB].second;
    +
    119 end = smallest_edge[parentB].second;
    120
    121 if (start == -1 || adj[j][i] < adj[start][end]) {
    122 smallest_edge[parentB].first = j;
    @@ -261,7 +284,7 @@ Functions
    133 if (smallest_edge[i].first != -1) {
    134 // Start and end points for the groups smallest edge
    135 int start = smallest_edge[i].first;
    -
    136 int end = smallest_edge[i].second;
    +
    136 int end = smallest_edge[i].second;
    137
    138 // Parents of the two groups - A is always itself
    139 int parentA = i;
    @@ -286,25 +309,16 @@ Functions
    158 }
    159 // Add the connection to the MST, using both halves of the adj
    160 // matrix
    -
    161 MST[start][end] = adj[start][end];
    -
    162 MST[end][start] = adj[end][start];
    +
    161 MST[start][end] = adj[start][end];
    +
    162 MST[end][start] = adj[end][start];
    163 total_groups--; // one fewer group
    164 }
    165 }
    166 }
    167 return MST;
    168}
    -
    int findParent(std::vector< std::pair< int, int > > parent, const int v)
    Recursively returns the vertex's parent at the root of the tree.
    Definition boruvkas_minimum_spanning_tree.cpp:47
    -
    T end(T... args)
    -
    T make_pair(T... args)
    -
    T size(T... args)
    - -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    int findParent(std::vector< std::pair< int, int > > parent, const int v)
    Recursively returns the vertex's parent at the root of the tree.
    +
    @@ -316,7 +330,7 @@ Here is the call graph for this function: int greedy_algorithms::boruvkas_minimum_spanning_tree::findParent ( - std::vector< std::pair< int, int > > parent, + std::vector< std::pair< int, int > > parent, @@ -335,6 +349,8 @@ Here is the call graph for this function:
    Returns
    the parent of the vertex
    + +

    Definition at line 47 of file boruvkas_minimum_spanning_tree.cpp.

    47 {
    48 if (parent[v].first != v) {
    49 parent[v].first = findParent(parent, parent[v].first);
    @@ -342,12 +358,7 @@ Here is the call graph for this function:
    51
    52 return parent[v].first;
    53}
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -367,17 +378,14 @@ Here is the call graph for this function:

    Main function.

    Returns
    0 on exit
    + +

    Definition at line 224 of file boruvkas_minimum_spanning_tree.cpp.

    224 {
    225 tests(); // run self-test implementations
    226 return 0;
    227}
    -
    static void tests()
    Self-test implementations.
    Definition boruvkas_minimum_spanning_tree.cpp:196
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static void tests()
    Self-test implementations.
    + @@ -389,7 +397,7 @@ Here is the call graph for this function: int greedy_algorithms::boruvkas_minimum_spanning_tree::test_findGraphSum ( - std::vector< std::vector< int > > adj) + std::vector< std::vector< int > > adj) @@ -403,8 +411,10 @@ Here is the call graph for this function:
    Returns
    the int size of the tree
    + +

    Definition at line 175 of file boruvkas_minimum_spanning_tree.cpp.

    175 {
    -
    176 size_t size = adj.size();
    +
    176 size_t size = adj.size();
    177 int sum = 0;
    178
    179 // Moves through one side of the adj matrix, counting the sums of each edge
    @@ -417,13 +427,8 @@ Here is the call graph for this function:
    186 }
    187 return sum;
    188}
    -
    T sum(const std::vector< std::valarray< T > > &A)
    Definition vector_ops.hpp:232
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    T sum(const std::vector< std::valarray< T > > &A)
    + @@ -451,18 +456,20 @@ Here is the call graph for this function:

    Self-test implementations.

    Returns
    void
    + +

    Definition at line 196 of file boruvkas_minimum_spanning_tree.cpp.

    196 {
    -
    197 std::cout << "Starting tests...\n\n";
    - +
    197 std::cout << "Starting tests...\n\n";
    +
    198 std::vector<std::vector<int>> graph = {
    199 {0, 5, INT_MAX, 3, INT_MAX}, {5, 0, 2, INT_MAX, 5},
    200 {INT_MAX, 2, 0, INT_MAX, 3}, {3, INT_MAX, INT_MAX, 0, INT_MAX},
    201 {INT_MAX, 5, 3, INT_MAX, 0},
    202 };
    - +
    203 std::vector<std::vector<int>> MST =
    205 assert(greedy_algorithms::boruvkas_minimum_spanning_tree::test_findGraphSum(
    206 MST) == 13);
    -
    207 std::cout << "1st test passed!" << std::endl;
    +
    207 std::cout << "1st test passed!" << std::endl;
    208
    209 graph = {{0, 2, 0, 6, 0},
    210 {2, 0, 3, 8, 5},
    @@ -472,18 +479,11 @@ Here is the call graph for this function:
    215 assert(greedy_algorithms::boruvkas_minimum_spanning_tree::test_findGraphSum(
    216 MST) == 16);
    -
    217 std::cout << "2nd test passed!" << std::endl;
    +
    217 std::cout << "2nd test passed!" << std::endl;
    218}
    - -
    std::vector< std::vector< int > > boruvkas(std::vector< std::vector< int > > adj)
    the implementation of boruvka's algorithm
    Definition boruvkas_minimum_spanning_tree.cpp:60
    -
    T endl(T... args)
    +
    std::vector< std::vector< int > > boruvkas(std::vector< std::vector< int > > adj)
    the implementation of boruvka's algorithm
    Graph Algorithms.
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + diff --git a/d4/d6c/boruvkas__minimum__spanning__tree_8cpp_a2311b22324cf09926726e4ce1309af8b_cgraph.map b/d4/d6c/boruvkas__minimum__spanning__tree_8cpp_a2311b22324cf09926726e4ce1309af8b_cgraph.map deleted file mode 100644 index ddfe29bcc..000000000 --- a/d4/d6c/boruvkas__minimum__spanning__tree_8cpp_a2311b22324cf09926726e4ce1309af8b_cgraph.map +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/d4/d6c/boruvkas__minimum__spanning__tree_8cpp_a2311b22324cf09926726e4ce1309af8b_cgraph.md5 b/d4/d6c/boruvkas__minimum__spanning__tree_8cpp_a2311b22324cf09926726e4ce1309af8b_cgraph.md5 deleted file mode 100644 index f2744d8c9..000000000 --- a/d4/d6c/boruvkas__minimum__spanning__tree_8cpp_a2311b22324cf09926726e4ce1309af8b_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -8a1120308a991c31071e8097130ae40c \ No newline at end of file diff --git a/d4/d6c/boruvkas__minimum__spanning__tree_8cpp_a2311b22324cf09926726e4ce1309af8b_cgraph.svg b/d4/d6c/boruvkas__minimum__spanning__tree_8cpp_a2311b22324cf09926726e4ce1309af8b_cgraph.svg deleted file mode 100644 index d1e165757..000000000 --- a/d4/d6c/boruvkas__minimum__spanning__tree_8cpp_a2311b22324cf09926726e4ce1309af8b_cgraph.svg +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - - - - - - - -greedy_algorithms::boruvkas_minimum_spanning_tree::test_findGraphSum - - -Node1 - - -greedy_algorithms:: -boruvkas_minimum_spanning -_tree::test_findGraphSum - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::vector::size - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d4/d6c/boruvkas__minimum__spanning__tree_8cpp_a2311b22324cf09926726e4ce1309af8b_cgraph_org.svg b/d4/d6c/boruvkas__minimum__spanning__tree_8cpp_a2311b22324cf09926726e4ce1309af8b_cgraph_org.svg deleted file mode 100644 index 7cd4833a4..000000000 --- a/d4/d6c/boruvkas__minimum__spanning__tree_8cpp_a2311b22324cf09926726e4ce1309af8b_cgraph_org.svg +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - -greedy_algorithms::boruvkas_minimum_spanning_tree::test_findGraphSum - - -Node1 - - -greedy_algorithms:: -boruvkas_minimum_spanning -_tree::test_findGraphSum - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::vector::size - - - - - -Node1->Node2 - - - - - - - - diff --git a/d4/d6c/boruvkas__minimum__spanning__tree_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.map b/d4/d6c/boruvkas__minimum__spanning__tree_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.map deleted file mode 100644 index 7cb2770b9..000000000 --- a/d4/d6c/boruvkas__minimum__spanning__tree_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d4/d6c/boruvkas__minimum__spanning__tree_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 b/d4/d6c/boruvkas__minimum__spanning__tree_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 deleted file mode 100644 index 7d1efe276..000000000 --- a/d4/d6c/boruvkas__minimum__spanning__tree_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -28d1862cdfe14f019a67ed1d98a125f5 \ No newline at end of file diff --git a/d4/d6c/boruvkas__minimum__spanning__tree_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.svg b/d4/d6c/boruvkas__minimum__spanning__tree_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.svg deleted file mode 100644 index edd11c169..000000000 --- a/d4/d6c/boruvkas__minimum__spanning__tree_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -tests - - -Node1 - - -tests - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d4/d6c/boruvkas__minimum__spanning__tree_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph_org.svg b/d4/d6c/boruvkas__minimum__spanning__tree_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph_org.svg deleted file mode 100644 index b8a400fd8..000000000 --- a/d4/d6c/boruvkas__minimum__spanning__tree_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -tests - - -Node1 - - -tests - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - diff --git a/d4/d6c/boruvkas__minimum__spanning__tree_8cpp_a94c615fc66b72e0adbcbcb99aabb1a59_cgraph.map b/d4/d6c/boruvkas__minimum__spanning__tree_8cpp_a94c615fc66b72e0adbcbcb99aabb1a59_cgraph.map deleted file mode 100644 index 4c027c2a0..000000000 --- a/d4/d6c/boruvkas__minimum__spanning__tree_8cpp_a94c615fc66b72e0adbcbcb99aabb1a59_cgraph.map +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/d4/d6c/boruvkas__minimum__spanning__tree_8cpp_a94c615fc66b72e0adbcbcb99aabb1a59_cgraph.md5 b/d4/d6c/boruvkas__minimum__spanning__tree_8cpp_a94c615fc66b72e0adbcbcb99aabb1a59_cgraph.md5 deleted file mode 100644 index 16d1255a9..000000000 --- a/d4/d6c/boruvkas__minimum__spanning__tree_8cpp_a94c615fc66b72e0adbcbcb99aabb1a59_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -9e7b763d29712c318c2e38d23dc6d0ea \ No newline at end of file diff --git a/d4/d6c/boruvkas__minimum__spanning__tree_8cpp_a94c615fc66b72e0adbcbcb99aabb1a59_cgraph.svg b/d4/d6c/boruvkas__minimum__spanning__tree_8cpp_a94c615fc66b72e0adbcbcb99aabb1a59_cgraph.svg deleted file mode 100644 index b8d8ff547..000000000 --- a/d4/d6c/boruvkas__minimum__spanning__tree_8cpp_a94c615fc66b72e0adbcbcb99aabb1a59_cgraph.svg +++ /dev/null @@ -1,123 +0,0 @@ - - - - - - - - - - - - -greedy_algorithms::boruvkas_minimum_spanning_tree::boruvkas - - -Node1 - - -greedy_algorithms:: -boruvkas_minimum_spanning -_tree::boruvkas - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -greedy_algorithms:: -boruvkas_minimum_spanning -_tree::findParent - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::make_pair - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::vector::size - - - - - -Node1->Node4 - - - - - - - - -Node2->Node2 - - - - - - - - - - - - - diff --git a/d4/d6c/boruvkas__minimum__spanning__tree_8cpp_a94c615fc66b72e0adbcbcb99aabb1a59_cgraph_org.svg b/d4/d6c/boruvkas__minimum__spanning__tree_8cpp_a94c615fc66b72e0adbcbcb99aabb1a59_cgraph_org.svg deleted file mode 100644 index b3ffba2cf..000000000 --- a/d4/d6c/boruvkas__minimum__spanning__tree_8cpp_a94c615fc66b72e0adbcbcb99aabb1a59_cgraph_org.svg +++ /dev/null @@ -1,97 +0,0 @@ - - - - - - -greedy_algorithms::boruvkas_minimum_spanning_tree::boruvkas - - -Node1 - - -greedy_algorithms:: -boruvkas_minimum_spanning -_tree::boruvkas - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -greedy_algorithms:: -boruvkas_minimum_spanning -_tree::findParent - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::make_pair - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::vector::size - - - - - -Node1->Node4 - - - - - - - - -Node2->Node2 - - - - - - - - diff --git a/d4/d6c/boruvkas__minimum__spanning__tree_8cpp_a95de0f5e70e83164dbd1b4c515565e84_cgraph.map b/d4/d6c/boruvkas__minimum__spanning__tree_8cpp_a95de0f5e70e83164dbd1b4c515565e84_cgraph.map deleted file mode 100644 index 62a0f8dff..000000000 --- a/d4/d6c/boruvkas__minimum__spanning__tree_8cpp_a95de0f5e70e83164dbd1b4c515565e84_cgraph.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/d4/d6c/boruvkas__minimum__spanning__tree_8cpp_a95de0f5e70e83164dbd1b4c515565e84_cgraph.md5 b/d4/d6c/boruvkas__minimum__spanning__tree_8cpp_a95de0f5e70e83164dbd1b4c515565e84_cgraph.md5 deleted file mode 100644 index d79721445..000000000 --- a/d4/d6c/boruvkas__minimum__spanning__tree_8cpp_a95de0f5e70e83164dbd1b4c515565e84_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -50b318134bcd297687a8abc071c32abb \ No newline at end of file diff --git a/d4/d6c/boruvkas__minimum__spanning__tree_8cpp_a95de0f5e70e83164dbd1b4c515565e84_cgraph.svg b/d4/d6c/boruvkas__minimum__spanning__tree_8cpp_a95de0f5e70e83164dbd1b4c515565e84_cgraph.svg deleted file mode 100644 index 12f7f855c..000000000 --- a/d4/d6c/boruvkas__minimum__spanning__tree_8cpp_a95de0f5e70e83164dbd1b4c515565e84_cgraph.svg +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - - - - - - - -greedy_algorithms::boruvkas_minimum_spanning_tree::findParent - - -Node1 - - -greedy_algorithms:: -boruvkas_minimum_spanning -_tree::findParent - - - - - -Node1->Node1 - - - - - - - - - - - - - diff --git a/d4/d6c/boruvkas__minimum__spanning__tree_8cpp_a95de0f5e70e83164dbd1b4c515565e84_cgraph_org.svg b/d4/d6c/boruvkas__minimum__spanning__tree_8cpp_a95de0f5e70e83164dbd1b4c515565e84_cgraph_org.svg deleted file mode 100644 index 8250ba00f..000000000 --- a/d4/d6c/boruvkas__minimum__spanning__tree_8cpp_a95de0f5e70e83164dbd1b4c515565e84_cgraph_org.svg +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - -greedy_algorithms::boruvkas_minimum_spanning_tree::findParent - - -Node1 - - -greedy_algorithms:: -boruvkas_minimum_spanning -_tree::findParent - - - - - -Node1->Node1 - - - - - - - - diff --git a/d4/d6c/boruvkas__minimum__spanning__tree_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d4/d6c/boruvkas__minimum__spanning__tree_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 876ff74f1..000000000 --- a/d4/d6c/boruvkas__minimum__spanning__tree_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/d4/d6c/boruvkas__minimum__spanning__tree_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d4/d6c/boruvkas__minimum__spanning__tree_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index 537139629..000000000 --- a/d4/d6c/boruvkas__minimum__spanning__tree_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -c0a28deaa757010a56447c9d4765ac93 \ No newline at end of file diff --git a/d4/d6c/boruvkas__minimum__spanning__tree_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d4/d6c/boruvkas__minimum__spanning__tree_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 942be1dc4..000000000 --- a/d4/d6c/boruvkas__minimum__spanning__tree_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -tests - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node2->Node3 - - - - - - - - - - - - - diff --git a/d4/d6c/boruvkas__minimum__spanning__tree_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d4/d6c/boruvkas__minimum__spanning__tree_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 10ac879ec..000000000 --- a/d4/d6c/boruvkas__minimum__spanning__tree_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -tests - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node2->Node3 - - - - - - - - diff --git a/d4/d6c/boruvkas__minimum__spanning__tree_8cpp_source.html b/d4/d6c/boruvkas__minimum__spanning__tree_8cpp_source.html new file mode 100644 index 000000000..bb82ed8a0 --- /dev/null +++ b/d4/d6c/boruvkas__minimum__spanning__tree_8cpp_source.html @@ -0,0 +1,326 @@ + + + + + + + + +TheAlgorithms/C++: greedy_algorithms/boruvkas_minimum_spanning_tree.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    boruvkas_minimum_spanning_tree.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    25#include <cassert>
    +
    26#include <climits>
    +
    27#include <iostream>
    +
    28#include <vector>
    +
    29
    +
    34namespace greedy_algorithms {
    + +
    +
    47int findParent(std::vector<std::pair<int, int>> parent, const int v) {
    +
    48 if (parent[v].first != v) {
    +
    49 parent[v].first = findParent(parent, parent[v].first);
    +
    50 }
    +
    51
    +
    52 return parent[v].first;
    +
    53}
    +
    +
    54
    +
    +
    60std::vector<std::vector<int>> boruvkas(std::vector<std::vector<int>> adj) {
    +
    61 size_t size = adj.size();
    +
    62 size_t total_groups = size;
    +
    63
    +
    64 if (size <= 1) {
    +
    65 return adj;
    +
    66 }
    +
    67
    +
    68 // Stores the current Minimum Spanning Tree. As groups are combined, they
    +
    69 // are added to the MST
    +
    70 std::vector<std::vector<int>> MST(size, std::vector<int>(size, INT_MAX));
    +
    71 for (int i = 0; i < size; i++) {
    +
    72 MST[i][i] = 0;
    +
    73 }
    +
    74
    +
    75 // Step 1: Create a group for each vertex
    +
    76
    +
    77 // Stores the parent of the vertex and its current depth, both initialized
    +
    78 // to 0
    +
    79 std::vector<std::pair<int, int>> parent(size, std::make_pair(0, 0));
    +
    80
    +
    81 for (int i = 0; i < size; i++) {
    +
    82 parent[i].first =
    +
    83 i; // Sets parent of each vertex to itself, depth remains 0
    +
    84 }
    +
    85
    +
    86 // Repeat until all are in a single group
    +
    87 while (total_groups > 1) {
    +
    88 std::vector<std::pair<int, int>> smallest_edge(
    +
    89 size, std::make_pair(-1, -1)); // Pairing: start node, end node
    +
    90
    +
    91 // Step 2: Look throught each vertex for its smallest edge, only using
    +
    92 // the right half of the adj matrix
    +
    93 for (int i = 0; i < size; i++) {
    +
    94 for (int j = i + 1; j < size; j++) {
    +
    95 if (adj[i][j] == INT_MAX || adj[i][j] == 0) { // No connection
    +
    96 continue;
    +
    97 }
    +
    98
    +
    99 // Finds the parents of the start and end points to make sure
    +
    100 // they arent in the same group
    +
    101 int parentA = findParent(parent, i);
    +
    102 int parentB = findParent(parent, j);
    +
    103
    +
    104 if (parentA != parentB) {
    +
    105 // Grabs the start and end points for the first groups
    +
    106 // current smallest edge
    +
    107 int start = smallest_edge[parentA].first;
    +
    108 int end = smallest_edge[parentA].second;
    +
    109
    +
    110 // If there is no current smallest edge, or the new edge is
    +
    111 // smaller, records the new smallest
    +
    112 if (start == -1 || adj[i][j] < adj[start][end]) {
    +
    113 smallest_edge[parentA].first = i;
    +
    114 smallest_edge[parentA].second = j;
    +
    115 }
    +
    116
    +
    117 // Does the same for the second group
    +
    118 start = smallest_edge[parentB].first;
    +
    119 end = smallest_edge[parentB].second;
    +
    120
    +
    121 if (start == -1 || adj[j][i] < adj[start][end]) {
    +
    122 smallest_edge[parentB].first = j;
    +
    123 smallest_edge[parentB].second = i;
    +
    124 }
    +
    125 }
    +
    126 }
    +
    127 }
    +
    128
    +
    129 // Step 3: Combine the groups based off their smallest edge
    +
    130
    +
    131 for (int i = 0; i < size; i++) {
    +
    132 // Makes sure the smallest edge exists
    +
    133 if (smallest_edge[i].first != -1) {
    +
    134 // Start and end points for the groups smallest edge
    +
    135 int start = smallest_edge[i].first;
    +
    136 int end = smallest_edge[i].second;
    +
    137
    +
    138 // Parents of the two groups - A is always itself
    +
    139 int parentA = i;
    +
    140 int parentB = findParent(parent, end);
    +
    141
    +
    142 // Makes sure the two nodes dont share the same parent. Would
    +
    143 // happen if the two groups have been
    +
    144 // merged previously through a common shortest edge
    +
    145 if (parentA == parentB) {
    +
    146 continue;
    +
    147 }
    +
    148
    +
    149 // Tries to balance the trees as much as possible as they are
    +
    150 // merged. The parent of the shallower
    +
    151 // tree will be pointed to the parent of the deeper tree.
    +
    152 if (parent[parentA].second < parent[parentB].second) {
    +
    153 parent[parentB].first = parentA; // New parent
    +
    154 parent[parentB].second++; // Increase depth
    +
    155 } else {
    +
    156 parent[parentA].first = parentB;
    +
    157 parent[parentA].second++;
    +
    158 }
    +
    159 // Add the connection to the MST, using both halves of the adj
    +
    160 // matrix
    +
    161 MST[start][end] = adj[start][end];
    +
    162 MST[end][start] = adj[end][start];
    +
    163 total_groups--; // one fewer group
    +
    164 }
    +
    165 }
    +
    166 }
    +
    167 return MST;
    +
    168}
    +
    +
    169
    +
    +
    175int test_findGraphSum(std::vector<std::vector<int>> adj) {
    +
    176 size_t size = adj.size();
    +
    177 int sum = 0;
    +
    178
    +
    179 // Moves through one side of the adj matrix, counting the sums of each edge
    +
    180 for (int i = 0; i < size; i++) {
    +
    181 for (int j = i + 1; j < size; j++) {
    +
    182 if (adj[i][j] < INT_MAX) {
    +
    183 sum += adj[i][j];
    +
    184 }
    +
    185 }
    +
    186 }
    +
    187 return sum;
    +
    188}
    +
    +
    189} // namespace boruvkas_minimum_spanning_tree
    +
    190} // namespace greedy_algorithms
    +
    191
    +
    +
    196static void tests() {
    +
    197 std::cout << "Starting tests...\n\n";
    +
    198 std::vector<std::vector<int>> graph = {
    +
    199 {0, 5, INT_MAX, 3, INT_MAX}, {5, 0, 2, INT_MAX, 5},
    +
    200 {INT_MAX, 2, 0, INT_MAX, 3}, {3, INT_MAX, INT_MAX, 0, INT_MAX},
    +
    201 {INT_MAX, 5, 3, INT_MAX, 0},
    +
    202 };
    +
    203 std::vector<std::vector<int>> MST =
    +
    204 greedy_algorithms::boruvkas_minimum_spanning_tree::boruvkas(graph);
    +
    205 assert(greedy_algorithms::boruvkas_minimum_spanning_tree::test_findGraphSum(
    +
    206 MST) == 13);
    +
    207 std::cout << "1st test passed!" << std::endl;
    +
    208
    +
    209 graph = {{0, 2, 0, 6, 0},
    +
    210 {2, 0, 3, 8, 5},
    +
    211 {0, 3, 0, 0, 7},
    +
    212 {6, 8, 0, 0, 9},
    +
    213 {0, 5, 7, 9, 0}};
    +
    214 MST = greedy_algorithms::boruvkas_minimum_spanning_tree::boruvkas(graph);
    +
    215 assert(greedy_algorithms::boruvkas_minimum_spanning_tree::test_findGraphSum(
    +
    216 MST) == 16);
    +
    217 std::cout << "2nd test passed!" << std::endl;
    +
    218}
    +
    +
    219
    +
    +
    224int main() {
    +
    225 tests(); // run self-test implementations
    +
    226 return 0;
    +
    227}
    +
    +
    int test_findGraphSum(std::vector< std::vector< int > > adj)
    counts the sum of edges in the given tree
    +
    static void tests()
    Self-test implementations.
    +
    std::vector< std::vector< int > > boruvkas(std::vector< std::vector< int > > adj)
    the implementation of boruvka's algorithm
    +
    int findParent(std::vector< std::pair< int, int > > parent, const int v)
    Recursively returns the vertex's parent at the root of the tree.
    +
    int main()
    Main function.
    +
    Functions for the [Borůvkas Algorithm](https://en.wikipedia.org/wiki/Borůvka's_algorithm) implementat...
    +
    Graph Algorithms.
    +
    for string class
    +
    +
    + + + + diff --git a/d4/d7a/shell__sort2_8cpp.html b/d4/d7a/shell__sort2_8cpp.html index b9b817e03..3ce8d593b 100644 --- a/d4/d7a/shell__sort2_8cpp.html +++ b/d4/d7a/shell__sort2_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: sorting/shell_sort2.cpp File Reference +TheAlgorithms/C++: sorting/shell_sort2.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -124,7 +141,9 @@ Include dependency graph for shell_sort2.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -146,7 +165,7 @@ Functions - + @@ -161,6 +180,8 @@ Functions

    Detailed Description

    Shell sort algorithm

    Author
    Krishna Vedala
    + +

    Definition in file shell_sort2.cpp.

    Function Documentation

    ◆ compare()

    @@ -183,6 +204,8 @@ template<typename T >

    Namespaces

    namespace  sorting
    void sorting::shell_sort (T(&arr)[N])
     
    template<typename T >
    void sorting::shell_sort (std::vector< T > *arr)
    void sorting::shell_sort (std::vector< T > *arr)
     
    template<typename T >
    int compare (const void *a, const void *b)

    function to compare sorting using cstdlib's qsort

    + +

    Definition at line 87 of file shell_sort2.cpp.

    87 {
    88 T arg1 = *static_cast<const T *>(a);
    89 T arg2 = *static_cast<const T *>(b);
    @@ -218,28 +241,30 @@ template<typename T >

    Main function

    + +

    Definition at line 183 of file shell_sort2.cpp.

    183 {
    184 // initialize random number generator - once per program
    -
    185 std::srand(std::time(NULL));
    +
    185 std::srand(std::time(NULL));
    186
    187 test_int(100); // test with sorting random array of 100 values
    -
    188 std::cout << "Test 1 - 100 int values - passed. \n";
    +
    188 std::cout << "Test 1 - 100 int values - passed. \n";
    189 test_int(1000); // test with sorting random array of 1000 values
    -
    190 std::cout << "Test 2 - 1000 int values - passed.\n";
    +
    190 std::cout << "Test 2 - 1000 int values - passed.\n";
    191 test_int(10000); // test with sorting random array of 10000 values
    -
    192 std::cout << "Test 3 - 10000 int values - passed.\n";
    +
    192 std::cout << "Test 3 - 10000 int values - passed.\n";
    193
    194 test_f(100); // test with sorting random array of 100 values
    -
    195 std::cout << "Test 1 - 100 float values - passed. \n";
    +
    195 std::cout << "Test 1 - 100 float values - passed. \n";
    196 test_f(1000); // test with sorting random array of 1000 values
    -
    197 std::cout << "Test 2 - 1000 float values - passed.\n";
    +
    197 std::cout << "Test 2 - 1000 float values - passed.\n";
    198 test_f(10000); // test with sorting random array of 10000 values
    -
    199 std::cout << "Test 3 - 10000 float values - passed.\n";
    +
    199 std::cout << "Test 3 - 10000 float values - passed.\n";
    200
    201 int i, NUM_DATA;
    202
    203 if (argc == 2)
    -
    204 NUM_DATA = atoi(argv[1]);
    +
    204 NUM_DATA = atoi(argv[1]);
    205 else
    206 NUM_DATA = 200;
    207
    @@ -248,47 +273,33 @@ template<typename T >
    210 // int array2 = new int[NUM_DATA];
    211 int range = 1800;
    212
    -
    213 std::srand(time(NULL));
    +
    213 std::srand(time(NULL));
    214 for (i = 0; i < NUM_DATA; i++) {
    215 // allocate random numbers in the given range
    -
    216 data[i] = (std::rand() % range) - (range >> 1);
    +
    216 data[i] = (std::rand() % range) - (range >> 1);
    217 }
    218
    -
    219 std::cout << "Unsorted original data: " << std::endl;
    +
    219 std::cout << "Unsorted original data: " << std::endl;
    220 show_data(data, NUM_DATA);
    -
    221 std::clock_t start = std::clock();
    +
    221 std::clock_t start = std::clock();
    222 shell_sort(data, NUM_DATA); // perform sorting
    - +
    223 std::clock_t end = std::clock();
    224
    - -
    226 << "Data Sorted using custom implementation: " << std::endl;
    +
    225 std::cout << std::endl
    +
    226 << "Data Sorted using custom implementation: " << std::endl;
    227 show_data(data, NUM_DATA);
    228
    -
    229 double elapsed_time = (end - start) * 1.f / CLOCKS_PER_SEC;
    -
    230 std::cout << "Time spent sorting: " << elapsed_time << "s\n" << std::endl;
    +
    229 double elapsed_time = (end - start) * 1.f / CLOCKS_PER_SEC;
    +
    230 std::cout << "Time spent sorting: " << elapsed_time << "s\n" << std::endl;
    231
    232 delete[] data;
    233 return 0;
    234}
    -
    T atoi(T... args)
    - -
    T clock(T... args)
    - -
    T end(T... args)
    -
    T endl(T... args)
    -
    int data[MAX]
    test data
    Definition hash_search.cpp:24
    -
    static void test_int()
    Definition quick_sort_3.cpp:138
    -
    T rand(T... args)
    -
    void test_f(const int NUM_DATA)
    Definition shell_sort2.cpp:145
    -
    void show_data(T *arr, size_t LEN)
    Definition shell_sort2.cpp:18
    -
    T srand(T... args)
    -
    T time(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    int data[MAX]
    test data
    +
    static void test_int()
    +
    void test_f(const int NUM_DATA)
    +
    void show_data(T *arr, size_t LEN)
    + @@ -318,20 +329,17 @@ template<class T > + +

    Definition at line 18 of file shell_sort2.cpp.

    18 {
    19 size_t i;
    20
    21 for (i = 0; i < LEN; i++) {
    -
    22 std::cout << arr[i] << ", ";
    +
    22 std::cout << arr[i] << ", ";
    23 }
    - +
    24 std::cout << std::endl;
    25}
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -357,15 +365,12 @@ template<typename T , size_t N> + +

    Definition at line 32 of file shell_sort2.cpp.

    32 {
    33 show_data(arr, N);
    34}
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -382,7 +387,9 @@ Here is the call graph for this function:
    -

    Test implementation of shell_sort on float arrays by comparing results against std::qsort.

    +

    Test implementation of shell_sort on float arrays by comparing results against std::qsort.

    + +

    Definition at line 145 of file shell_sort2.cpp.

    145 {
    146 // int array = new int[NUM_DATA];
    147 float *data = new float[NUM_DATA];
    @@ -391,24 +398,24 @@ Here is the call graph for this function:
    150 int range = 1000;
    151
    152 for (int i = 0; i < NUM_DATA; i++) {
    -
    153 data[i] = data2[i] = ((std::rand() % range) - (range >> 1)) / 100.;
    +
    153 data[i] = data2[i] = ((std::rand() % range) - (range >> 1)) / 100.;
    154 }
    155
    156 /* sort using our implementation */
    -
    157 std::clock_t start = std::clock();
    +
    157 std::clock_t start = std::clock();
    158 shell_sort(data, NUM_DATA);
    - -
    160 double elapsed_time = static_cast<double>(end - start) / CLOCKS_PER_SEC;
    -
    161 std::cout << "Time spent sorting using shell_sort2: " << elapsed_time
    +
    159 std::clock_t end = std::clock();
    +
    160 double elapsed_time = static_cast<double>(end - start) / CLOCKS_PER_SEC;
    +
    161 std::cout << "Time spent sorting using shell_sort2: " << elapsed_time
    162 << "s\n";
    163
    164 /* sort using std::qsort */
    -
    165 start = std::clock();
    -
    166 std::qsort(data2, NUM_DATA, sizeof(data2[0]), compare<float>);
    -
    167 end = std::clock();
    +
    165 start = std::clock();
    +
    166 std::qsort(data2, NUM_DATA, sizeof(data2[0]), compare<float>);
    +
    167 end = std::clock();
    168
    -
    169 elapsed_time = static_cast<double>(end - start) / CLOCKS_PER_SEC;
    -
    170 std::cout << "Time spent sorting using std::qsort: " << elapsed_time
    +
    169 elapsed_time = static_cast<double>(end - start) / CLOCKS_PER_SEC;
    +
    170 std::cout << "Time spent sorting using std::qsort: " << elapsed_time
    171 << "s\n";
    172
    173 for (int i = 0; i < NUM_DATA; i++) {
    @@ -419,14 +426,8 @@ Here is the call graph for this function:
    178 delete[] data;
    179 delete[] data2;
    180}
    -
    T qsort(T... args)
    -
    Definition huffman.cpp:36
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + + @@ -443,7 +444,9 @@ Here is the call graph for this function:
    -

    Test implementation of shell_sort on integer arrays by comparing results against std::qsort.

    +

    Test implementation of shell_sort on integer arrays by comparing results against std::qsort.

    + +

    Definition at line 105 of file shell_sort2.cpp.

    105 {
    106 // int array = new int[NUM_DATA];
    107 int *data = new int[NUM_DATA];
    @@ -452,23 +455,23 @@ Here is the call graph for this function:
    110 int range = 1800;
    111
    112 for (int i = 0; i < NUM_DATA; i++)
    -
    113 data[i] = data2[i] = (std::rand() % range) - (range >> 1);
    +
    113 data[i] = data2[i] = (std::rand() % range) - (range >> 1);
    114
    115 /* sort using our implementation */
    -
    116 std::clock_t start = std::clock();
    +
    116 std::clock_t start = std::clock();
    117 shell_sort(data, NUM_DATA);
    - -
    119 double elapsed_time = static_cast<double>(end - start) / CLOCKS_PER_SEC;
    -
    120 std::cout << "Time spent sorting using shell_sort2: " << elapsed_time
    +
    118 std::clock_t end = std::clock();
    +
    119 double elapsed_time = static_cast<double>(end - start) / CLOCKS_PER_SEC;
    +
    120 std::cout << "Time spent sorting using shell_sort2: " << elapsed_time
    121 << "s\n";
    122
    123 /* sort using std::qsort */
    -
    124 start = std::clock();
    -
    125 std::qsort(data2, NUM_DATA, sizeof(data2[0]), compare<int>);
    -
    126 end = std::clock();
    +
    124 start = std::clock();
    +
    125 std::qsort(data2, NUM_DATA, sizeof(data2[0]), compare<int>);
    +
    126 end = std::clock();
    127
    -
    128 elapsed_time = static_cast<double>(end - start) / CLOCKS_PER_SEC;
    -
    129 std::cout << "Time spent sorting using std::qsort: " << elapsed_time
    +
    128 elapsed_time = static_cast<double>(end - start) / CLOCKS_PER_SEC;
    +
    129 std::cout << "Time spent sorting using std::qsort: " << elapsed_time
    130 << "s\n";
    131
    132 for (int i = 0; i < NUM_DATA; i++) {
    @@ -479,12 +482,7 @@ Here is the call graph for this function:
    137 delete[] data;
    138 delete[] data2;
    139}
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + diff --git a/d4/d7a/shell__sort2_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.map b/d4/d7a/shell__sort2_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.map deleted file mode 100644 index 05417a73c..000000000 --- a/d4/d7a/shell__sort2_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.map +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d4/d7a/shell__sort2_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.md5 b/d4/d7a/shell__sort2_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.md5 deleted file mode 100644 index d394921df..000000000 --- a/d4/d7a/shell__sort2_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -3718eeafe3303313216628b71622a785 \ No newline at end of file diff --git a/d4/d7a/shell__sort2_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.svg b/d4/d7a/shell__sort2_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.svg deleted file mode 100644 index 894a88f43..000000000 --- a/d4/d7a/shell__sort2_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.svg +++ /dev/null @@ -1,326 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -std::clock - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::rand - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -show_data - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -std::srand - - - - - -Node1->Node6 - - - - - - - - -Node7 - - -test_f - - - - - -Node1->Node7 - - - - - - - - -Node9 - - -test_int - - - - - -Node1->Node9 - - - - - - - - -Node14 - - -std::time - - - - - -Node1->Node14 - - - - - - - - -Node5->Node3 - - - - - - - - -Node7->Node2 - - - - - - - - -Node7->Node4 - - - - - - - - -Node8 - - -std::qsort - - - - - -Node7->Node8 - - - - - - - - -Node9->Node4 - - - - - - - - -Node10 - - -std::begin - - - - - -Node9->Node10 - - - - - - - - -Node11 - - -std::end - - - - - -Node9->Node11 - - - - - - - - -Node12 - - -std::is_sorted - - - - - -Node9->Node12 - - - - - - - - -Node13 - - -sorting::quicksort - - - - - -Node9->Node13 - - - - - - - - -Node13->Node13 - - - - - - - - - - - - - diff --git a/d4/d7a/shell__sort2_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph_org.svg b/d4/d7a/shell__sort2_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph_org.svg deleted file mode 100644 index e6f59c225..000000000 --- a/d4/d7a/shell__sort2_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph_org.svg +++ /dev/null @@ -1,300 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -std::clock - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::rand - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -show_data - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -std::srand - - - - - -Node1->Node6 - - - - - - - - -Node7 - - -test_f - - - - - -Node1->Node7 - - - - - - - - -Node9 - - -test_int - - - - - -Node1->Node9 - - - - - - - - -Node14 - - -std::time - - - - - -Node1->Node14 - - - - - - - - -Node5->Node3 - - - - - - - - -Node7->Node2 - - - - - - - - -Node7->Node4 - - - - - - - - -Node8 - - -std::qsort - - - - - -Node7->Node8 - - - - - - - - -Node9->Node4 - - - - - - - - -Node10 - - -std::begin - - - - - -Node9->Node10 - - - - - - - - -Node11 - - -std::end - - - - - -Node9->Node11 - - - - - - - - -Node12 - - -std::is_sorted - - - - - -Node9->Node12 - - - - - - - - -Node13 - - -sorting::quicksort - - - - - -Node9->Node13 - - - - - - - - -Node13->Node13 - - - - - - - - diff --git a/d4/d7a/shell__sort2_8cpp_a22ea0d1f7943ebb4371d31e44b465b6d_cgraph.map b/d4/d7a/shell__sort2_8cpp_a22ea0d1f7943ebb4371d31e44b465b6d_cgraph.map deleted file mode 100644 index 7b0e7926e..000000000 --- a/d4/d7a/shell__sort2_8cpp_a22ea0d1f7943ebb4371d31e44b465b6d_cgraph.map +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/d4/d7a/shell__sort2_8cpp_a22ea0d1f7943ebb4371d31e44b465b6d_cgraph.md5 b/d4/d7a/shell__sort2_8cpp_a22ea0d1f7943ebb4371d31e44b465b6d_cgraph.md5 deleted file mode 100644 index 1b2c97fd3..000000000 --- a/d4/d7a/shell__sort2_8cpp_a22ea0d1f7943ebb4371d31e44b465b6d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -0a0c68c6c25856ac1d1e01ab44449ce6 \ No newline at end of file diff --git a/d4/d7a/shell__sort2_8cpp_a22ea0d1f7943ebb4371d31e44b465b6d_cgraph.svg b/d4/d7a/shell__sort2_8cpp_a22ea0d1f7943ebb4371d31e44b465b6d_cgraph.svg deleted file mode 100644 index 33abed718..000000000 --- a/d4/d7a/shell__sort2_8cpp_a22ea0d1f7943ebb4371d31e44b465b6d_cgraph.svg +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - - - - - - - -test_f - - -Node1 - - -test_f - - - - - -Node2 - - -std::clock - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::qsort - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::rand - - - - - -Node1->Node4 - - - - - - - - - - - - - diff --git a/d4/d7a/shell__sort2_8cpp_a22ea0d1f7943ebb4371d31e44b465b6d_cgraph_org.svg b/d4/d7a/shell__sort2_8cpp_a22ea0d1f7943ebb4371d31e44b465b6d_cgraph_org.svg deleted file mode 100644 index 433701491..000000000 --- a/d4/d7a/shell__sort2_8cpp_a22ea0d1f7943ebb4371d31e44b465b6d_cgraph_org.svg +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - -test_f - - -Node1 - - -test_f - - - - - -Node2 - - -std::clock - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::qsort - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::rand - - - - - -Node1->Node4 - - - - - - - - diff --git a/d4/d7a/shell__sort2_8cpp_a63aaff7cabfa3da2da8b9477b5fad9d6_cgraph.map b/d4/d7a/shell__sort2_8cpp_a63aaff7cabfa3da2da8b9477b5fad9d6_cgraph.map deleted file mode 100644 index ccab644f4..000000000 --- a/d4/d7a/shell__sort2_8cpp_a63aaff7cabfa3da2da8b9477b5fad9d6_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/d4/d7a/shell__sort2_8cpp_a63aaff7cabfa3da2da8b9477b5fad9d6_cgraph.md5 b/d4/d7a/shell__sort2_8cpp_a63aaff7cabfa3da2da8b9477b5fad9d6_cgraph.md5 deleted file mode 100644 index 8b5878dce..000000000 --- a/d4/d7a/shell__sort2_8cpp_a63aaff7cabfa3da2da8b9477b5fad9d6_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -053ef847c20151f8ae5f0ee29525c1d0 \ No newline at end of file diff --git a/d4/d7a/shell__sort2_8cpp_a63aaff7cabfa3da2da8b9477b5fad9d6_cgraph.svg b/d4/d7a/shell__sort2_8cpp_a63aaff7cabfa3da2da8b9477b5fad9d6_cgraph.svg deleted file mode 100644 index 064e7cf53..000000000 --- a/d4/d7a/shell__sort2_8cpp_a63aaff7cabfa3da2da8b9477b5fad9d6_cgraph.svg +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - -show_data - - -Node1 - - -show_data - - - - - -Node2 - - -show_data - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node2->Node3 - - - - - - - - - - - - - diff --git a/d4/d7a/shell__sort2_8cpp_a63aaff7cabfa3da2da8b9477b5fad9d6_cgraph_org.svg b/d4/d7a/shell__sort2_8cpp_a63aaff7cabfa3da2da8b9477b5fad9d6_cgraph_org.svg deleted file mode 100644 index 908018736..000000000 --- a/d4/d7a/shell__sort2_8cpp_a63aaff7cabfa3da2da8b9477b5fad9d6_cgraph_org.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - -show_data - - -Node1 - - -show_data - - - - - -Node2 - - -show_data - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node2->Node3 - - - - - - - - diff --git a/d4/d7a/shell__sort2_8cpp_a895b313cb2671e8f712040460325573e_cgraph.map b/d4/d7a/shell__sort2_8cpp_a895b313cb2671e8f712040460325573e_cgraph.map deleted file mode 100644 index 214f2df73..000000000 --- a/d4/d7a/shell__sort2_8cpp_a895b313cb2671e8f712040460325573e_cgraph.map +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/d4/d7a/shell__sort2_8cpp_a895b313cb2671e8f712040460325573e_cgraph.md5 b/d4/d7a/shell__sort2_8cpp_a895b313cb2671e8f712040460325573e_cgraph.md5 deleted file mode 100644 index 18567d6a4..000000000 --- a/d4/d7a/shell__sort2_8cpp_a895b313cb2671e8f712040460325573e_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -2e4370564ea8b61716bd60fa4bae105c \ No newline at end of file diff --git a/d4/d7a/shell__sort2_8cpp_a895b313cb2671e8f712040460325573e_cgraph.svg b/d4/d7a/shell__sort2_8cpp_a895b313cb2671e8f712040460325573e_cgraph.svg deleted file mode 100644 index f6800657c..000000000 --- a/d4/d7a/shell__sort2_8cpp_a895b313cb2671e8f712040460325573e_cgraph.svg +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - - - - - - - -test_int - - -Node1 - - -test_int - - - - - -Node2 - - -std::clock - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::qsort - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::rand - - - - - -Node1->Node4 - - - - - - - - - - - - - diff --git a/d4/d7a/shell__sort2_8cpp_a895b313cb2671e8f712040460325573e_cgraph_org.svg b/d4/d7a/shell__sort2_8cpp_a895b313cb2671e8f712040460325573e_cgraph_org.svg deleted file mode 100644 index a4049cf15..000000000 --- a/d4/d7a/shell__sort2_8cpp_a895b313cb2671e8f712040460325573e_cgraph_org.svg +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - -test_int - - -Node1 - - -test_int - - - - - -Node2 - - -std::clock - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::qsort - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::rand - - - - - -Node1->Node4 - - - - - - - - diff --git a/d4/d7a/shell__sort2_8cpp_a951127aea9d7e1e53ea9ae0868633246_cgraph.map b/d4/d7a/shell__sort2_8cpp_a951127aea9d7e1e53ea9ae0868633246_cgraph.map deleted file mode 100644 index 7e4709acc..000000000 --- a/d4/d7a/shell__sort2_8cpp_a951127aea9d7e1e53ea9ae0868633246_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d4/d7a/shell__sort2_8cpp_a951127aea9d7e1e53ea9ae0868633246_cgraph.md5 b/d4/d7a/shell__sort2_8cpp_a951127aea9d7e1e53ea9ae0868633246_cgraph.md5 deleted file mode 100644 index c4c9dfcdc..000000000 --- a/d4/d7a/shell__sort2_8cpp_a951127aea9d7e1e53ea9ae0868633246_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -a08b06d83bd259837531a0f4b4b5e684 \ No newline at end of file diff --git a/d4/d7a/shell__sort2_8cpp_a951127aea9d7e1e53ea9ae0868633246_cgraph.svg b/d4/d7a/shell__sort2_8cpp_a951127aea9d7e1e53ea9ae0868633246_cgraph.svg deleted file mode 100644 index 7230962bd..000000000 --- a/d4/d7a/shell__sort2_8cpp_a951127aea9d7e1e53ea9ae0868633246_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -show_data - - -Node1 - - -show_data - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d4/d7a/shell__sort2_8cpp_a951127aea9d7e1e53ea9ae0868633246_cgraph_org.svg b/d4/d7a/shell__sort2_8cpp_a951127aea9d7e1e53ea9ae0868633246_cgraph_org.svg deleted file mode 100644 index 97e27707e..000000000 --- a/d4/d7a/shell__sort2_8cpp_a951127aea9d7e1e53ea9ae0868633246_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -show_data - - -Node1 - - -show_data - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - diff --git a/d4/d7a/shell__sort2_8cpp_source.html b/d4/d7a/shell__sort2_8cpp_source.html new file mode 100644 index 000000000..584df074b --- /dev/null +++ b/d4/d7a/shell__sort2_8cpp_source.html @@ -0,0 +1,362 @@ + + + + + + + + +TheAlgorithms/C++: sorting/shell_sort2.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    shell_sort2.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    6#include <cassert>
    +
    7#include <cstdlib>
    +
    8#include <ctime>
    +
    9#include <iostream>
    +
    10#include <utility> // for std::swap
    +
    11#include <vector>
    +
    12
    +
    17template <class T>
    +
    +
    18void show_data(T *arr, size_t LEN) {
    +
    19 size_t i;
    +
    20
    +
    21 for (i = 0; i < LEN; i++) {
    +
    22 std::cout << arr[i] << ", ";
    +
    23 }
    +
    24 std::cout << std::endl;
    +
    25}
    +
    +
    26
    +
    31template <typename T, size_t N>
    +
    +
    32void show_data(T (&arr)[N]) {
    +
    33 show_data(arr, N);
    +
    34}
    +
    +
    35
    +
    39namespace sorting {
    +
    44template <typename T>
    +
    +
    45void shell_sort(T *arr, size_t LEN) {
    +
    46 const unsigned int gaps[] = {701, 301, 132, 57, 23, 10, 4, 1};
    +
    47 const unsigned int gap_len = 8;
    +
    48 size_t i, j, g;
    +
    49
    +
    50 for (g = 0; g < gap_len; g++) {
    +
    51 unsigned int gap = gaps[g];
    +
    52 for (i = gap; i < LEN; i++) {
    +
    53 T tmp = arr[i];
    +
    54
    +
    55 for (j = i; j >= gap && (arr[j - gap] - tmp) > 0; j -= gap) {
    +
    56 arr[j] = arr[j - gap];
    +
    57 }
    +
    58
    +
    59 arr[j] = tmp;
    +
    60 }
    +
    61 }
    +
    62}
    +
    +
    63
    +
    66template <typename T, size_t N>
    +
    +
    67void shell_sort(T (&arr)[N]) {
    +
    68 shell_sort(arr, N);
    +
    69}
    +
    +
    70
    +
    74template <typename T>
    +
    +
    75void shell_sort(std::vector<T> *arr) {
    +
    76 shell_sort(arr->data(), arr->size());
    +
    77}
    +
    +
    78
    +
    79} // namespace sorting
    +
    80
    + +
    82
    +
    86template <typename T>
    +
    +
    87int compare(const void *a, const void *b) {
    +
    88 T arg1 = *static_cast<const T *>(a);
    +
    89 T arg2 = *static_cast<const T *>(b);
    +
    90
    +
    91 if (arg1 < arg2)
    +
    92 return -1;
    +
    93 if (arg1 > arg2)
    +
    94 return 1;
    +
    95 return 0;
    +
    96
    +
    97 // return (arg1 > arg2) - (arg1 < arg2); // possible shortcut
    +
    98 // return arg1 - arg2; // erroneous shortcut (fails if INT_MIN is present)
    +
    99}
    +
    +
    100
    +
    +
    105void test_int(const int NUM_DATA) {
    +
    106 // int array = new int[NUM_DATA];
    +
    107 int *data = new int[NUM_DATA];
    +
    108 int *data2 = new int[NUM_DATA];
    +
    109 // int array2 = new int[NUM_DATA];
    +
    110 int range = 1800;
    +
    111
    +
    112 for (int i = 0; i < NUM_DATA; i++)
    +
    113 data[i] = data2[i] = (std::rand() % range) - (range >> 1);
    +
    114
    +
    115 /* sort using our implementation */
    +
    116 std::clock_t start = std::clock();
    +
    117 shell_sort(data, NUM_DATA);
    +
    118 std::clock_t end = std::clock();
    +
    119 double elapsed_time = static_cast<double>(end - start) / CLOCKS_PER_SEC;
    +
    120 std::cout << "Time spent sorting using shell_sort2: " << elapsed_time
    +
    121 << "s\n";
    +
    122
    +
    123 /* sort using std::qsort */
    +
    124 start = std::clock();
    +
    125 std::qsort(data2, NUM_DATA, sizeof(data2[0]), compare<int>);
    +
    126 end = std::clock();
    +
    127
    +
    128 elapsed_time = static_cast<double>(end - start) / CLOCKS_PER_SEC;
    +
    129 std::cout << "Time spent sorting using std::qsort: " << elapsed_time
    +
    130 << "s\n";
    +
    131
    +
    132 for (int i = 0; i < NUM_DATA; i++) {
    +
    133 assert(data[i] == data2[i]); // ensure that our sorting results match
    +
    134 // the standard results
    +
    135 }
    +
    136
    +
    137 delete[] data;
    +
    138 delete[] data2;
    +
    139}
    +
    +
    140
    +
    +
    145void test_f(const int NUM_DATA) {
    +
    146 // int array = new int[NUM_DATA];
    +
    147 float *data = new float[NUM_DATA];
    +
    148 float *data2 = new float[NUM_DATA];
    +
    149 // int array2 = new int[NUM_DATA];
    +
    150 int range = 1000;
    +
    151
    +
    152 for (int i = 0; i < NUM_DATA; i++) {
    +
    153 data[i] = data2[i] = ((std::rand() % range) - (range >> 1)) / 100.;
    +
    154 }
    +
    155
    +
    156 /* sort using our implementation */
    +
    157 std::clock_t start = std::clock();
    +
    158 shell_sort(data, NUM_DATA);
    +
    159 std::clock_t end = std::clock();
    +
    160 double elapsed_time = static_cast<double>(end - start) / CLOCKS_PER_SEC;
    +
    161 std::cout << "Time spent sorting using shell_sort2: " << elapsed_time
    +
    162 << "s\n";
    +
    163
    +
    164 /* sort using std::qsort */
    +
    165 start = std::clock();
    +
    166 std::qsort(data2, NUM_DATA, sizeof(data2[0]), compare<float>);
    +
    167 end = std::clock();
    +
    168
    +
    169 elapsed_time = static_cast<double>(end - start) / CLOCKS_PER_SEC;
    +
    170 std::cout << "Time spent sorting using std::qsort: " << elapsed_time
    +
    171 << "s\n";
    +
    172
    +
    173 for (int i = 0; i < NUM_DATA; i++) {
    +
    174 assert(data[i] == data2[i]); // ensure that our sorting results match
    +
    175 // the standard results
    +
    176 }
    +
    177
    +
    178 delete[] data;
    +
    179 delete[] data2;
    +
    180}
    +
    +
    181
    +
    +
    183int main(int argc, char *argv[]) {
    +
    184 // initialize random number generator - once per program
    +
    185 std::srand(std::time(NULL));
    +
    186
    +
    187 test_int(100); // test with sorting random array of 100 values
    +
    188 std::cout << "Test 1 - 100 int values - passed. \n";
    +
    189 test_int(1000); // test with sorting random array of 1000 values
    +
    190 std::cout << "Test 2 - 1000 int values - passed.\n";
    +
    191 test_int(10000); // test with sorting random array of 10000 values
    +
    192 std::cout << "Test 3 - 10000 int values - passed.\n";
    +
    193
    +
    194 test_f(100); // test with sorting random array of 100 values
    +
    195 std::cout << "Test 1 - 100 float values - passed. \n";
    +
    196 test_f(1000); // test with sorting random array of 1000 values
    +
    197 std::cout << "Test 2 - 1000 float values - passed.\n";
    +
    198 test_f(10000); // test with sorting random array of 10000 values
    +
    199 std::cout << "Test 3 - 10000 float values - passed.\n";
    +
    200
    +
    201 int i, NUM_DATA;
    +
    202
    +
    203 if (argc == 2)
    +
    204 NUM_DATA = atoi(argv[1]);
    +
    205 else
    +
    206 NUM_DATA = 200;
    +
    207
    +
    208 // int array = new int[NUM_DATA];
    +
    209 int *data = new int[NUM_DATA];
    +
    210 // int array2 = new int[NUM_DATA];
    +
    211 int range = 1800;
    +
    212
    +
    213 std::srand(time(NULL));
    +
    214 for (i = 0; i < NUM_DATA; i++) {
    +
    215 // allocate random numbers in the given range
    +
    216 data[i] = (std::rand() % range) - (range >> 1);
    +
    217 }
    +
    218
    +
    219 std::cout << "Unsorted original data: " << std::endl;
    +
    220 show_data(data, NUM_DATA);
    +
    221 std::clock_t start = std::clock();
    +
    222 shell_sort(data, NUM_DATA); // perform sorting
    +
    223 std::clock_t end = std::clock();
    +
    224
    +
    225 std::cout << std::endl
    +
    226 << "Data Sorted using custom implementation: " << std::endl;
    +
    227 show_data(data, NUM_DATA);
    +
    228
    +
    229 double elapsed_time = (end - start) * 1.f / CLOCKS_PER_SEC;
    +
    230 std::cout << "Time spent sorting: " << elapsed_time << "s\n" << std::endl;
    +
    231
    +
    232 delete[] data;
    +
    233 return 0;
    +
    234}
    +
    +
    int main()
    Main function.
    +
    int data[MAX]
    test data
    +
    for working with vectors
    +
    void shell_sort(T *arr, size_t LEN)
    +
    static void test_int()
    +
    void test_f(const int NUM_DATA)
    +
    int compare(const void *a, const void *b)
    +
    void show_data(T *arr, size_t LEN)
    + +
    +
    + + + + diff --git a/d4/d83/sum__of__digits_8cpp.html b/d4/d83/sum__of__digits_8cpp.html index 9a4127cd4..609cb9319 100644 --- a/d4/d83/sum__of__digits_8cpp.html +++ b/d4/d83/sum__of__digits_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: math/sum_of_digits.cpp File Reference +TheAlgorithms/C++: math/sum_of_digits.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -119,7 +136,9 @@ Include dependency graph for sum_of_digits.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -136,6 +155,8 @@ Functions

    Detailed Description

    A C++ Program to find the Sum of Digits of input integer.

    Copyright 2020

    Author
    iamnambiar
    + +

    Definition in file sum_of_digits.cpp.

    Function Documentation

    ◆ main()

    @@ -152,20 +173,15 @@ Functions

    Functions

    int sum_of_digits (int num)

    Main Function

    + +

    Definition at line 68 of file sum_of_digits.cpp.

    68 {
    69 test();
    -
    70 std::cout << "Success." << std::endl;
    +
    70 std::cout << "Success." << std::endl;
    71 return 0;
    72}
    - -
    T endl(T... args)
    -
    void test()
    Definition sum_of_digits.cpp:58
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    void test()
    +
    @@ -190,6 +206,8 @@ Here is the call graph for this function:
    Returns
    Sum of the digits of the integer.

    \detail First the algorithm check whether the num is negative or positive, if it is negative, then we neglect the negative sign. Next, the algorithm extract the last digit of num by dividing by 10 and extracting the remainder and this is added to the sum. The number is then divided by 10 to remove the last digit. This loop continues until num becomes 0.

    + +

    Definition at line 23 of file sum_of_digits.cpp.

    23 {
    24 // If num is negative then negative sign is neglected.
    25 if (num < 0) {
    @@ -202,7 +220,7 @@ Here is the call graph for this function:
    32 }
    33 return sum;
    34}
    -
    T sum(const std::vector< std::valarray< T > > &A)
    Definition vector_ops.hpp:232
    +
    T sum(const std::vector< std::valarray< T > > &A)
    @@ -221,20 +239,17 @@ Here is the call graph for this function:

    Function for testing the sum_of_digits() with all the test cases.

    + +

    Definition at line 58 of file sum_of_digits.cpp.

    58 {
    59 // First test.
    60 test1();
    61 // Second test.
    62 test2();
    63}
    -
    void test2()
    Definition sum_of_digits.cpp:49
    -
    void test1()
    Definition sum_of_digits.cpp:40
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    void test2()
    +
    void test1()
    +
    @@ -252,17 +267,14 @@ Here is the call graph for this function:

    Function for testing the sum_of_digits() function with a first test case of 119765 and assert statement.

    + +

    Definition at line 40 of file sum_of_digits.cpp.

    40 {
    41 int test_case_1 = sum_of_digits(119765);
    42 assert(test_case_1 == 29);
    43}
    -
    int sum_of_digits(int num)
    Definition sum_of_digits.cpp:23
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    int sum_of_digits(int num)
    +
    @@ -280,16 +292,13 @@ Here is the call graph for this function:

    Function for testing the sum_of_digits() function with a second test case of -12256 and assert statement.

    + +

    Definition at line 49 of file sum_of_digits.cpp.

    49 {
    50 int test_case_2 = sum_of_digits(-12256);
    51 assert(test_case_2 == 16);
    52}
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    diff --git a/d4/d83/sum__of__digits_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph.map b/d4/d83/sum__of__digits_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph.map deleted file mode 100644 index f7ea7777c..000000000 --- a/d4/d83/sum__of__digits_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d4/d83/sum__of__digits_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph.md5 b/d4/d83/sum__of__digits_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph.md5 deleted file mode 100644 index 8d0de61ed..000000000 --- a/d4/d83/sum__of__digits_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -7f7b2d31bf24ecd5ad0eaa07b92299fd \ No newline at end of file diff --git a/d4/d83/sum__of__digits_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph.svg b/d4/d83/sum__of__digits_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph.svg deleted file mode 100644 index 2816c4ec8..000000000 --- a/d4/d83/sum__of__digits_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -test2 - - -Node1 - - -test2 - - - - - -Node2 - - -sum_of_digits - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d4/d83/sum__of__digits_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph_org.svg b/d4/d83/sum__of__digits_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph_org.svg deleted file mode 100644 index 778c575ff..000000000 --- a/d4/d83/sum__of__digits_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -test2 - - -Node1 - - -test2 - - - - - -Node2 - - -sum_of_digits - - - - - -Node1->Node2 - - - - - - - - diff --git a/d4/d83/sum__of__digits_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph.map b/d4/d83/sum__of__digits_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph.map deleted file mode 100644 index 0760dec61..000000000 --- a/d4/d83/sum__of__digits_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d4/d83/sum__of__digits_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph.md5 b/d4/d83/sum__of__digits_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph.md5 deleted file mode 100644 index 64253899e..000000000 --- a/d4/d83/sum__of__digits_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -5abf03389fd24f8276b8698078ffbc6c \ No newline at end of file diff --git a/d4/d83/sum__of__digits_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph.svg b/d4/d83/sum__of__digits_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph.svg deleted file mode 100644 index cb5b0aa8d..000000000 --- a/d4/d83/sum__of__digits_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -test1 - - -Node1 - - -test1 - - - - - -Node2 - - -sum_of_digits - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d4/d83/sum__of__digits_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph_org.svg b/d4/d83/sum__of__digits_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph_org.svg deleted file mode 100644 index b3023baf4..000000000 --- a/d4/d83/sum__of__digits_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -test1 - - -Node1 - - -test1 - - - - - -Node2 - - -sum_of_digits - - - - - -Node1->Node2 - - - - - - - - diff --git a/d4/d83/sum__of__digits_8cpp_ae1a3968e7947464bee7714f6d43b7002_cgraph.map b/d4/d83/sum__of__digits_8cpp_ae1a3968e7947464bee7714f6d43b7002_cgraph.map deleted file mode 100644 index c5a1b814a..000000000 --- a/d4/d83/sum__of__digits_8cpp_ae1a3968e7947464bee7714f6d43b7002_cgraph.map +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/d4/d83/sum__of__digits_8cpp_ae1a3968e7947464bee7714f6d43b7002_cgraph.md5 b/d4/d83/sum__of__digits_8cpp_ae1a3968e7947464bee7714f6d43b7002_cgraph.md5 deleted file mode 100644 index 714f50441..000000000 --- a/d4/d83/sum__of__digits_8cpp_ae1a3968e7947464bee7714f6d43b7002_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -7c6fa07aaf777999d3c62a29e8448dfc \ No newline at end of file diff --git a/d4/d83/sum__of__digits_8cpp_ae1a3968e7947464bee7714f6d43b7002_cgraph.svg b/d4/d83/sum__of__digits_8cpp_ae1a3968e7947464bee7714f6d43b7002_cgraph.svg deleted file mode 100644 index acd9fe9bc..000000000 --- a/d4/d83/sum__of__digits_8cpp_ae1a3968e7947464bee7714f6d43b7002_cgraph.svg +++ /dev/null @@ -1,110 +0,0 @@ - - - - - - - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -test1 - - - - - -Node1->Node2 - - - - - - - - -Node4 - - -test2 - - - - - -Node1->Node4 - - - - - - - - -Node3 - - -sum_of_digits - - - - - -Node2->Node3 - - - - - - - - -Node4->Node3 - - - - - - - - - - - - - diff --git a/d4/d83/sum__of__digits_8cpp_ae1a3968e7947464bee7714f6d43b7002_cgraph_org.svg b/d4/d83/sum__of__digits_8cpp_ae1a3968e7947464bee7714f6d43b7002_cgraph_org.svg deleted file mode 100644 index 07d390b4b..000000000 --- a/d4/d83/sum__of__digits_8cpp_ae1a3968e7947464bee7714f6d43b7002_cgraph_org.svg +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -test1 - - - - - -Node1->Node2 - - - - - - - - -Node4 - - -test2 - - - - - -Node1->Node4 - - - - - - - - -Node3 - - -sum_of_digits - - - - - -Node2->Node3 - - - - - - - - -Node4->Node3 - - - - - - - - diff --git a/d4/d83/sum__of__digits_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d4/d83/sum__of__digits_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index a0988006c..000000000 --- a/d4/d83/sum__of__digits_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - - - - - diff --git a/d4/d83/sum__of__digits_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d4/d83/sum__of__digits_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index bbf7e1be0..000000000 --- a/d4/d83/sum__of__digits_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -a81ae16ff7bf8ee7ea663c7ccce4c436 \ No newline at end of file diff --git a/d4/d83/sum__of__digits_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d4/d83/sum__of__digits_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 1cd306d7a..000000000 --- a/d4/d83/sum__of__digits_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,146 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -test - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -test1 - - - - - -Node3->Node4 - - - - - - - - -Node6 - - -test2 - - - - - -Node3->Node6 - - - - - - - - -Node5 - - -sum_of_digits - - - - - -Node4->Node5 - - - - - - - - -Node6->Node5 - - - - - - - - - - - - - diff --git a/d4/d83/sum__of__digits_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d4/d83/sum__of__digits_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 0a5e91c79..000000000 --- a/d4/d83/sum__of__digits_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -test - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -test1 - - - - - -Node3->Node4 - - - - - - - - -Node6 - - -test2 - - - - - -Node3->Node6 - - - - - - - - -Node5 - - -sum_of_digits - - - - - -Node4->Node5 - - - - - - - - -Node6->Node5 - - - - - - - - diff --git a/d4/d83/sum__of__digits_8cpp_source.html b/d4/d83/sum__of__digits_8cpp_source.html new file mode 100644 index 000000000..8433fd4c4 --- /dev/null +++ b/d4/d83/sum__of__digits_8cpp_source.html @@ -0,0 +1,191 @@ + + + + + + + + +TheAlgorithms/C++: math/sum_of_digits.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    sum_of_digits.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    7#include <cassert>
    +
    8#include <iostream>
    +
    9
    +
    +
    23int sum_of_digits(int num) {
    +
    24 // If num is negative then negative sign is neglected.
    +
    25 if (num < 0) {
    +
    26 num = -1 * num;
    +
    27 }
    +
    28 int sum = 0;
    +
    29 while (num > 0) {
    +
    30 sum = sum + (num % 10);
    +
    31 num = num / 10;
    +
    32 }
    +
    33 return sum;
    +
    34}
    +
    +
    35
    +
    +
    40void test1() {
    +
    41 int test_case_1 = sum_of_digits(119765);
    +
    42 assert(test_case_1 == 29);
    +
    43}
    +
    +
    44
    +
    +
    49void test2() {
    +
    50 int test_case_2 = sum_of_digits(-12256);
    +
    51 assert(test_case_2 == 16);
    +
    52}
    +
    +
    53
    +
    +
    58void test() {
    +
    59 // First test.
    +
    60 test1();
    +
    61 // Second test.
    +
    62 test2();
    +
    63}
    +
    +
    64
    +
    +
    68int main() {
    +
    69 test();
    +
    70 std::cout << "Success." << std::endl;
    +
    71 return 0;
    +
    72}
    +
    +
    void test2()
    +
    void test1()
    +
    int sum_of_digits(int num)
    +
    void test()
    +
    int main()
    +
    +
    + + + + diff --git a/d4/d86/large__number_8h.html b/d4/d86/large__number_8h.html index b2ff9aacd..2efc7bd95 100644 --- a/d4/d86/large__number_8h.html +++ b/d4/d86/large__number_8h.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: math/large_number.h File Reference +TheAlgorithms/C++: math/large_number.h File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -140,6 +157,8 @@ Classes

    Detailed Description

    Library to perform arithmatic operations on arbitrarily large numbers.

    Author
    Krishna Vedala
    + +

    Definition in file large_number.h.

    diff --git a/d4/d86/large__number_8h_source.html b/d4/d86/large__number_8h_source.html index fa498b274..2b3fa6449 100644 --- a/d4/d86/large__number_8h_source.html +++ b/d4/d86/large__number_8h_source.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: math/large_number.h Source File +TheAlgorithms/C++: math/large_number.h Source File + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + @@ -107,13 +124,7 @@ $(function(){initNavTree('d4/d86/large__number_8h_source.html','../../'); initRe
    large_number.h
    -Go to the documentation of this file.
    1/**
    -
    2 * @file
    -
    3 * @brief Library to perform arithmatic operations on arbitrarily large
    -
    4 * numbers.
    -
    5 * \author [Krishna Vedala](https://github.com/kvedala)
    -
    6 */
    -
    7
    +Go to the documentation of this file.
    1
    8#ifndef MATH_LARGE_NUMBER_H_
    9#define MATH_LARGE_NUMBER_H_
    10#include <algorithm>
    @@ -123,18 +134,11 @@ $(function(){initNavTree('d4/d86/large__number_8h_source.html','../../'); initRe
    14#include <iostream>
    15#include <type_traits>
    16#include <vector>
    -
    17
    -
    18/**
    -
    19 * Store large unsigned numbers as a C++ vector
    -
    20 * The class provides convenience functions to add a
    -
    21 * digit to the number, perform multiplication of
    -
    22 * large number with long unsigned integers.
    -
    23 **/
    +
    17
    -
    25 public:
    -
    26 /**< initializer with value = 1 */
    - +
    25 public:
    +
    27 large_number() { _digits.push_back(1); }
    28
    29 // /**< initializer from an integer */
    30 // explicit large_number(uint64_t n) {
    @@ -144,8 +148,7 @@ $(function(){initNavTree('d4/d86/large__number_8h_source.html','../../'); initRe
    34 // carry /= 10;
    35 // } while (carry != 0);
    36 // }
    -
    37
    -
    38 /**< initializer from an integer */
    +
    37
    39 explicit large_number(int n) {
    40 int carry = n;
    41 do {
    @@ -153,123 +156,100 @@ $(function(){initNavTree('d4/d86/large__number_8h_source.html','../../'); initRe
    43 carry /= 10;
    44 } while (carry != 0);
    45 }
    -
    46
    -
    47 /**< initializer from another large_number */
    +
    46
    -
    49
    -
    50 /**< initializer from a vector */
    +
    49
    - -
    52
    -
    53 /**< initializer from a string */
    +
    51 explicit large_number(std::vector<unsigned char> &vec) : _digits(vec) {}
    +
    52
    54 explicit large_number(char const *number_str) {
    55 for (size_t i = strlen(number_str); i > 0; i--) {
    56 char a = number_str[i - 1] - '0';
    57 if (a >= 0 && a <= 9)
    - +
    58 _digits.push_back(a);
    59 }
    60 }
    -
    61
    -
    62 /**
    -
    63 * Function to check implementation
    -
    64 **/
    +
    61
    65 static bool test() {
    -
    66 std::cout << "------ Checking `large_number` class implementations\t"
    -
    67 << std::endl;
    +
    66 std::cout << "------ Checking `large_number` class implementations\t"
    +
    67 << std::endl;
    68 large_number a(40);
    69 // 1. test multiplication
    70 a *= 10;
    71 if (a != large_number(400)) {
    -
    72 std::cerr << "\tFailed 1/6 (" << a << "!=400)" << std::endl;
    +
    72 std::cerr << "\tFailed 1/6 (" << a << "!=400)" << std::endl;
    73 return false;
    74 }
    -
    75 std::cout << "\tPassed 1/6...";
    +
    75 std::cout << "\tPassed 1/6...";
    76 // 2. test compound addition with integer
    77 a += 120;
    78 if (a != large_number(520)) {
    -
    79 std::cerr << "\tFailed 2/6 (" << a << "!=520)" << std::endl;
    +
    79 std::cerr << "\tFailed 2/6 (" << a << "!=520)" << std::endl;
    80 return false;
    81 }
    -
    82 std::cout << "\tPassed 2/6...";
    +
    82 std::cout << "\tPassed 2/6...";
    83 // 3. test compound multiplication again
    84 a *= 10;
    85 if (a != large_number(5200)) {
    -
    86 std::cerr << "\tFailed 3/6 (" << a << "!=5200)" << std::endl;
    +
    86 std::cerr << "\tFailed 3/6 (" << a << "!=5200)" << std::endl;
    87 return false;
    88 }
    -
    89 std::cout << "\tPassed 3/6...";
    +
    89 std::cout << "\tPassed 3/6...";
    90 // 4. test increment (prefix)
    91 ++a;
    92 if (a != large_number(5201)) {
    -
    93 std::cerr << "\tFailed 4/6 (" << a << "!=5201)" << std::endl;
    +
    93 std::cerr << "\tFailed 4/6 (" << a << "!=5201)" << std::endl;
    94 return false;
    95 }
    -
    96 std::cout << "\tPassed 4/6...";
    +
    96 std::cout << "\tPassed 4/6...";
    97 // 5. test increment (postfix)
    98 a++;
    99 if (a != large_number(5202)) {
    -
    100 std::cerr << "\tFailed 5/6 (" << a << "!=5202)" << std::endl;
    +
    100 std::cerr << "\tFailed 5/6 (" << a << "!=5202)" << std::endl;
    101 return false;
    102 }
    -
    103 std::cout << "\tPassed 5/6...";
    +
    103 std::cout << "\tPassed 5/6...";
    104 // 6. test addition with another large number
    105 a = a + large_number("7000000000000000000000000000000");
    106 if (a != large_number("7000000000000000000000000005202")) {
    -
    107 std::cerr << "\tFailed 6/6 (" << a
    -
    108 << "!=7000000000000000000000000005202)" << std::endl;
    +
    107 std::cerr << "\tFailed 6/6 (" << a
    +
    108 << "!=7000000000000000000000000005202)" << std::endl;
    109 return false;
    110 }
    -
    111 std::cout << "\tPassed 6/6..." << std::endl;
    +
    111 std::cout << "\tPassed 6/6..." << std::endl;
    112 return true;
    113 }
    -
    114
    -
    115 /**
    -
    116 * add a digit at MSB to the large number
    -
    117 **/
    +
    114
    118 void add_digit(unsigned int value) {
    119 if (value > 9) {
    -
    120 std::cerr << "digit > 9!!\n";
    +
    120 std::cerr << "digit > 9!!\n";
    121 exit(EXIT_FAILURE);
    122 }
    123
    -
    124 _digits.push_back(value);
    +
    124 _digits.push_back(value);
    125 }
    -
    126
    -
    127 /**
    -
    128 * Get number of digits in the number
    -
    129 **/
    -
    130 size_t num_digits() const { return _digits.size(); }
    -
    131
    -
    132 /**
    -
    133 * operator over load to access the
    -
    134 * i^th digit conveniently and also
    -
    135 * assign value to it
    -
    136 **/
    +
    126
    +
    130 size_t num_digits() const { return _digits.size(); }
    +
    131
    137 inline unsigned char &operator[](size_t n) { return this->_digits[n]; }
    138
    139 inline const unsigned char &operator[](size_t n) const {
    140 return this->_digits[n];
    141 }
    -
    142
    -
    143 /**
    -
    144 * operator overload to compare two numbers
    -
    145 **/
    +
    142
    - +
    146 friend std::ostream &operator<<(std::ostream &out, const large_number &a) {
    147 for (size_t i = a.num_digits(); i > 0; i--)
    148 out << static_cast<int>(a[i - 1]);
    149 return out;
    150 }
    -
    151
    -
    152 /**
    -
    153 * operator overload to compare two numbers
    -
    154 **/
    +
    151
    155 friend bool operator==(large_number const &a, large_number const &b) {
    156 size_t N = a.num_digits();
    @@ -281,29 +261,20 @@ $(function(){initNavTree('d4/d86/large__number_8h_source.html','../../'); initRe
    162 return true;
    163 }
    -
    164
    -
    165 /**
    -
    166 * operator overload to compare two numbers
    -
    167 **/
    +
    164
    168 friend bool operator!=(large_number const &a, large_number const &b) {
    169 return !(a == b);
    170 }
    -
    171
    -
    172 /**
    -
    173 * operator overload to increment (prefix)
    -
    174 **/
    +
    171
    176 (*this) += 1;
    177 return *this;
    178 }
    -
    179
    -
    180 /**
    -
    181 * operator overload to increment (postfix)
    -
    182 **/
    +
    179
    184 static large_number tmp(_digits);
    @@ -311,15 +282,12 @@ $(function(){initNavTree('d4/d86/large__number_8h_source.html','../../'); initRe
    186 return tmp;
    187 }
    -
    188
    -
    189 /**
    -
    190 * operator overload to add
    -
    191 **/
    +
    188
    193 // if adding with another large_number
    194 large_number *b = reinterpret_cast<large_number *>(&n);
    -
    195 const size_t max_L = std::max(this->num_digits(), b->num_digits());
    +
    195 const size_t max_L = std::max(this->num_digits(), b->num_digits());
    196 unsigned int carry = 0;
    197 size_t i;
    198 for (i = 0; i < max_L || carry != 0; i++) {
    @@ -340,10 +308,7 @@ $(function(){initNavTree('d4/d86/large__number_8h_source.html','../../'); initRe
    212 large_number &operator+=(int n) { return (*this) += large_number(n); }
    213 // large_number &operator+=(uint64_t n) { return (*this) += large_number(n);
    214 // }
    -
    215
    -
    216 /**
    -
    217 * operator overload to perform addition
    -
    218 **/
    +
    215
    219 template <class T>
    220 friend large_number &operator+(const large_number &a, const T &b) {
    @@ -352,48 +317,35 @@ $(function(){initNavTree('d4/d86/large__number_8h_source.html','../../'); initRe
    223 return c;
    224 }
    -
    225
    -
    226 /**
    -
    227 * assignment operator
    -
    228 **/
    +
    225
    230 this->_digits = b._digits;
    231 return *this;
    232 }
    -
    233
    -
    234 /**
    -
    235 * operator overload to increment
    -
    236 **/
    +
    233
    237 template <class T>
    -
    239 static_assert(std::is_integral<T>::value,
    +
    239 static_assert(std::is_integral<T>::value,
    240 "Must be integer addition unsigned integer types.");
    241 this->multiply(n);
    242 return *this;
    243 }
    -
    244
    -
    245 /**
    -
    246 * returns i^th digit as an ASCII character
    -
    247 **/
    +
    244
    248 char digit_char(size_t i) const {
    249 return _digits[num_digits() - i - 1] + '0';
    250 }
    251
    -
    252 private:
    -
    253 /**
    -
    254 * multiply large number with another integer and
    -
    255 * store the result in the same large number
    -
    256 **/
    +
    252 private:
    257 template <class T>
    258 void multiply(const T n) {
    -
    259 static_assert(std::is_integral<T>::value,
    +
    259 static_assert(std::is_integral<T>::value,
    260 "Can only have integer types.");
    261 // assert(!(std::is_signed<T>::value)); //, "Implemented only for
    262 // unsigned integer types.");
    @@ -419,42 +371,35 @@ $(function(){initNavTree('d4/d86/large__number_8h_source.html','../../'); initRe
    282 }
    283
    - -
    285 _digits; /**< where individual digits are stored */
    +
    284 std::vector<unsigned char>
    +
    286};
    287
    288#endif // MATH_LARGE_NUMBER_H_
    - -
    Definition large_number.h:24
    -
    large_number(const large_number &a)
    Definition large_number.h:48
    -
    large_number()
    Definition large_number.h:27
    -
    friend std::ostream & operator<<(std::ostream &out, const large_number &a)
    Definition large_number.h:146
    -
    void multiply(const T n)
    Definition large_number.h:258
    -
    large_number & operator++()
    Definition large_number.h:175
    -
    void add_digit(unsigned int value)
    Definition large_number.h:118
    -
    friend bool operator!=(large_number const &a, large_number const &b)
    Definition large_number.h:168
    -
    large_number(std::vector< unsigned char > &vec)
    Definition large_number.h:51
    -
    large_number & operator*=(const T n)
    Definition large_number.h:238
    -
    friend bool operator==(large_number const &a, large_number const &b)
    Definition large_number.h:155
    -
    unsigned char & operator[](size_t n)
    Definition large_number.h:137
    -
    large_number & operator++(int)
    Definition large_number.h:183
    -
    static bool test()
    Definition large_number.h:65
    -
    large_number & operator+=(large_number n)
    Definition large_number.h:192
    -
    large_number & operator=(const large_number &b)
    Definition large_number.h:229
    -
    friend large_number & operator+(const large_number &a, const T &b)
    Definition large_number.h:220
    -
    size_t num_digits() const
    Definition large_number.h:130
    -
    char digit_char(size_t i) const
    Definition large_number.h:248
    -
    std::vector< unsigned char > _digits
    Definition large_number.h:285
    -
    large_number(int n)
    Definition large_number.h:39
    -
    T endl(T... args)
    - -
    T max(T... args)
    -
    T push_back(T... args)
    -
    T size(T... args)
    - + +
    large_number(const large_number &a)
    + +
    friend std::ostream & operator<<(std::ostream &out, const large_number &a)
    +
    void multiply(const T n)
    +
    large_number & operator++()
    +
    void add_digit(unsigned int value)
    +
    friend bool operator!=(large_number const &a, large_number const &b)
    +
    large_number(std::vector< unsigned char > &vec)
    +
    large_number & operator*=(const T n)
    +
    friend bool operator==(large_number const &a, large_number const &b)
    +
    unsigned char & operator[](size_t n)
    +
    large_number & operator++(int)
    +
    static bool test()
    +
    large_number & operator+=(large_number n)
    +
    large_number & operator=(const large_number &b)
    +
    friend large_number & operator+(const large_number &a, const T &b)
    +
    size_t num_digits() const
    +
    char digit_char(size_t i) const
    +
    std::vector< unsigned char > _digits
    +
    large_number(int n)
    diff --git a/d4/d8b/gray__code_8cpp_source.html b/d4/d8b/gray__code_8cpp_source.html new file mode 100644 index 000000000..2f6609ec3 --- /dev/null +++ b/d4/d8b/gray__code_8cpp_source.html @@ -0,0 +1,220 @@ + + + + + + + + +TheAlgorithms/C++: bit_manipulation/gray_code.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + + +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    gray_code.cpp
    +
    +
    +
    1
    +
    12#include <bitset>
    +
    13#include <cassert>
    +
    14#include <iostream>
    +
    15#include <vector>
    +
    16
    +
    21namespace bit_manipulation {
    +
    26namespace gray_code {
    +
    33std::vector<std::bitset<32>> gray_code_generation(int n) {
    +
    34 std::vector<std::bitset<32>> gray_code = {}; // Initialise empty vector
    +
    35
    +
    36 // No Gray codes for non-positive values of n
    +
    37 if (n <= 0) {
    +
    38 return gray_code;
    +
    39 }
    +
    40
    +
    41 int total_codes = 1 << n; // Number of n-bit gray codes
    +
    42
    +
    43 for (int i = 0; i < total_codes; i++) {
    +
    44 int gray_num = i ^ (i >> 1); // Gray code formula
    +
    45 gray_code.push_back(std::bitset<32>(gray_num)); // Store the value
    +
    46 }
    +
    47
    +
    48 return gray_code;
    +
    49}
    +
    50} // namespace gray_code
    +
    51} // namespace bit_manipulation
    +
    52
    +
    58static void test() {
    +
    59 std::vector<std::bitset<32>> gray_code_negative_1 = {};
    +
    60
    +
    61 std::vector<std::bitset<32>> gray_code_0 = {};
    +
    62
    +
    63 std::vector<std::bitset<32>> gray_code_1 = {
    +
    64 std::bitset<32>(0), std::bitset<32>(1)
    +
    65 };
    +
    66
    +
    67 std::vector<std::bitset<32>> gray_code_2 = {
    +
    68 std::bitset<32>(0), std::bitset<32>(1), std::bitset<32>(3), std::bitset<32>(2)
    +
    69 };
    +
    70
    +
    71 std::vector<std::bitset<32>> gray_code_3 = {
    +
    72 std::bitset<32>(0), std::bitset<32>(1), std::bitset<32>(3), std::bitset<32>(2),
    +
    73 std::bitset<32>(6), std::bitset<32>(7), std::bitset<32>(5), std::bitset<32>(4)
    +
    74 };
    +
    75
    +
    76 std::vector<std::bitset<32>> gray_code_4 = {
    +
    77 std::bitset<32>(0), std::bitset<32>(1), std::bitset<32>(3), std::bitset<32>(2),
    +
    78 std::bitset<32>(6), std::bitset<32>(7), std::bitset<32>(5), std::bitset<32>(4),
    +
    79 std::bitset<32>(12), std::bitset<32>(13), std::bitset<32>(15), std::bitset<32>(14),
    +
    80 std::bitset<32>(10), std::bitset<32>(11), std::bitset<32>(9), std::bitset<32>(8)
    +
    81 };
    +
    82
    +
    83 std::vector<std::bitset<32>> gray_code_5 = {
    +
    84 std::bitset<32>(0), std::bitset<32>(1), std::bitset<32>(3), std::bitset<32>(2),
    +
    85 std::bitset<32>(6), std::bitset<32>(7), std::bitset<32>(5), std::bitset<32>(4),
    +
    86 std::bitset<32>(12), std::bitset<32>(13), std::bitset<32>(15), std::bitset<32>(14),
    +
    87 std::bitset<32>(10), std::bitset<32>(11), std::bitset<32>(9), std::bitset<32>(8),
    +
    88 std::bitset<32>(24), std::bitset<32>(25), std::bitset<32>(27), std::bitset<32>(26),
    +
    89 std::bitset<32>(30), std::bitset<32>(31), std::bitset<32>(29), std::bitset<32>(28),
    +
    90 std::bitset<32>(20), std::bitset<32>(21), std::bitset<32>(23), std::bitset<32>(22),
    +
    91 std::bitset<32>(18), std::bitset<32>(19), std::bitset<32>(17), std::bitset<32>(16)
    +
    92 };
    +
    93
    +
    94 // invalid values for n
    +
    95 assert(bit_manipulation::gray_code::gray_code_generation(-1) == gray_code_negative_1);
    +
    96 assert(bit_manipulation::gray_code::gray_code_generation(0) == gray_code_0);
    +
    97
    +
    98 // valid values for n
    +
    99 assert(bit_manipulation::gray_code::gray_code_generation(1) == gray_code_1);
    +
    100 assert(bit_manipulation::gray_code::gray_code_generation(2) == gray_code_2);
    +
    101 assert(bit_manipulation::gray_code::gray_code_generation(3) == gray_code_3);
    +
    102 assert(bit_manipulation::gray_code::gray_code_generation(4) == gray_code_4);
    +
    103 assert(bit_manipulation::gray_code::gray_code_generation(5) == gray_code_5);
    +
    104}
    +
    105
    +
    110int main() {
    +
    111 test(); //Run self-test implementation
    +
    112 return 0;
    +
    113}
    +
    int main()
    Main function.
    + +
    Generate n-bit Gray code.
    +
    +
    + + + + diff --git a/d4/d8d/jarvis__algorithm_8cpp.html b/d4/d8d/jarvis__algorithm_8cpp.html index 08802f48b..129e94f3b 100644 --- a/d4/d8d/jarvis__algorithm_8cpp.html +++ b/d4/d8d/jarvis__algorithm_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: geometry/jarvis_algorithm.cpp File Reference +TheAlgorithms/C++: geometry/jarvis_algorithm.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -122,7 +139,9 @@ Include dependency graph for jarvis_algorithm.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -133,7 +152,7 @@ Classes - + @@ -156,6 +175,8 @@ Algorithm

    For Example, If points = {{0, 3}, {2, 2}, {1, 1}, {2, 1}, {3, 0}, {0, 0}, {3, 3}};

    then the convex hull is (0, 3), (0, 0), (3, 0), (3, 3)

    Author
    Rishabh Agarwal
    + +

    Definition in file jarvis_algorithm.cpp.

    Function Documentation

    ◆ main()

    @@ -172,17 +193,14 @@ Algorithm

    Classes

    struct  geometry::jarvis::Point

    Namespaces

    namespace  geometry
     for std::swap
     for std::swap
     
    namespace  jarvis
     Functions for Jarvis’s algorithm.

    Driver Code

    + +

    Definition at line 176 of file jarvis_algorithm.cpp.

    176 {
    177 test();
    178 return 0;
    179}
    -
    static void test()
    Definition jarvis_algorithm.cpp:151
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static void test()
    +
    @@ -208,8 +226,10 @@ Here is the call graph for this function:

    Test function

    Returns
    void
    + +

    Definition at line 151 of file jarvis_algorithm.cpp.

    151 {
    - +
    152 std::vector<geometry::jarvis::Point> points = {{0, 3},
    153 {2, 2},
    154 {1, 1},
    155 {2, 1},
    @@ -218,29 +238,21 @@ Here is the call graph for this function:
    158 {3, 3}
    159 };
    160 geometry::jarvis::Convexhull hull(points);
    - +
    161 std::vector<geometry::jarvis::Point> actualPoint;
    162 actualPoint = hull.getConvexHull();
    163
    -
    164 std::vector<geometry::jarvis::Point> expectedPoint = {{0, 3},
    +
    164 std::vector<geometry::jarvis::Point> expectedPoint = {{0, 3},
    165 {0, 0},
    166 {3, 0},
    167 {3, 3}};
    -
    168 for (int i = 0; i < expectedPoint.size(); i++) {
    +
    168 for (int i = 0; i < expectedPoint.size(); i++) {
    169 assert(actualPoint[i].x == expectedPoint[i].x);
    170 assert(actualPoint[i].y == expectedPoint[i].y);
    171 }
    -
    172 std::cout << "Test implementations passed!\n";
    +
    172 std::cout << "Test implementations passed!\n";
    173}
    - -
    Definition jarvis_algorithm.cpp:55
    -
    T size(T... args)
    - -
    -Here is the call graph for this function:
    -
    -
    -
    - + + diff --git a/d4/d8d/jarvis__algorithm_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map b/d4/d8d/jarvis__algorithm_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map deleted file mode 100644 index 13698b449..000000000 --- a/d4/d8d/jarvis__algorithm_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/d4/d8d/jarvis__algorithm_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 b/d4/d8d/jarvis__algorithm_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 deleted file mode 100644 index b7f1289c0..000000000 --- a/d4/d8d/jarvis__algorithm_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -9911f2d557161e93b5d73e1aedae9637 \ No newline at end of file diff --git a/d4/d8d/jarvis__algorithm_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg b/d4/d8d/jarvis__algorithm_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg deleted file mode 100644 index a06f931ed..000000000 --- a/d4/d8d/jarvis__algorithm_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg +++ /dev/null @@ -1,121 +0,0 @@ - - - - - - - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -geometry::jarvis::Convexhull -::getConvexHull - - - - - -Node1->Node2 - - - - - - - - -Node5 - - -std::vector::size - - - - - -Node1->Node5 - - - - - - - - -Node3 - - -geometry::jarvis::Convexhull -::orientation - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::vector::push_back - - - - - -Node2->Node4 - - - - - - - - - - - - - diff --git a/d4/d8d/jarvis__algorithm_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg b/d4/d8d/jarvis__algorithm_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg deleted file mode 100644 index b9f20dcec..000000000 --- a/d4/d8d/jarvis__algorithm_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -geometry::jarvis::Convexhull -::getConvexHull - - - - - -Node1->Node2 - - - - - - - - -Node5 - - -std::vector::size - - - - - -Node1->Node5 - - - - - - - - -Node3 - - -geometry::jarvis::Convexhull -::orientation - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::vector::push_back - - - - - -Node2->Node4 - - - - - - - - diff --git a/d4/d8d/jarvis__algorithm_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d4/d8d/jarvis__algorithm_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 98e6afae9..000000000 --- a/d4/d8d/jarvis__algorithm_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - diff --git a/d4/d8d/jarvis__algorithm_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d4/d8d/jarvis__algorithm_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index 99a20d8f1..000000000 --- a/d4/d8d/jarvis__algorithm_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -ced6ffff34ac92f407e5f4c96fbbb484 \ No newline at end of file diff --git a/d4/d8d/jarvis__algorithm_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d4/d8d/jarvis__algorithm_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 912edbb91..000000000 --- a/d4/d8d/jarvis__algorithm_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,139 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -geometry::jarvis::Convexhull -::getConvexHull - - - - - -Node2->Node3 - - - - - - - - -Node6 - - -std::vector::size - - - - - -Node2->Node6 - - - - - - - - -Node4 - - -geometry::jarvis::Convexhull -::orientation - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -std::vector::push_back - - - - - -Node3->Node5 - - - - - - - - - - - - - diff --git a/d4/d8d/jarvis__algorithm_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d4/d8d/jarvis__algorithm_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 8dd7512c3..000000000 --- a/d4/d8d/jarvis__algorithm_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,113 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -geometry::jarvis::Convexhull -::getConvexHull - - - - - -Node2->Node3 - - - - - - - - -Node6 - - -std::vector::size - - - - - -Node2->Node6 - - - - - - - - -Node4 - - -geometry::jarvis::Convexhull -::orientation - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -std::vector::push_back - - - - - -Node3->Node5 - - - - - - - - diff --git a/d4/d8d/jarvis__algorithm_8cpp_source.html b/d4/d8d/jarvis__algorithm_8cpp_source.html new file mode 100644 index 000000000..ad8ec67cd --- /dev/null +++ b/d4/d8d/jarvis__algorithm_8cpp_source.html @@ -0,0 +1,266 @@ + + + + + + + + +TheAlgorithms/C++: geometry/jarvis_algorithm.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    jarvis_algorithm.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    29#include <vector>
    +
    30#include <cassert>
    +
    31#include <iostream>
    +
    32
    +
    37namespace geometry {
    +
    42 namespace jarvis {
    +
    +
    47 struct Point {
    +
    48 int x, y;
    +
    49 };
    +
    +
    50
    +
    +
    55 class Convexhull {
    +
    56 std::vector<Point> points;
    +
    57 int size;
    +
    58
    +
    59 public:
    +
    +
    66 explicit Convexhull(const std::vector<Point> &pointList) {
    +
    67 points = pointList;
    +
    68 size = points.size();
    +
    69 }
    +
    +
    70
    +
    +
    78 std::vector<Point> getConvexHull() const {
    +
    79 // Initialize Result
    +
    80 std::vector<Point> hull;
    +
    81
    +
    82 // Find the leftmost point
    +
    83 int leftmost_point = 0;
    +
    84 for (int i = 1; i < size; i++) {
    +
    85 if (points[i].x < points[leftmost_point].x) {
    +
    86 leftmost_point = i;
    +
    87 }
    +
    88 }
    +
    89 // Start from leftmost point, keep moving counterclockwise
    +
    90 // until reach the start point again. This loop runs O(h)
    +
    91 // times where h is number of points in result or output.
    +
    92 int p = leftmost_point, q = 0;
    +
    93 do {
    +
    94 // Add current point to result
    +
    95 hull.push_back(points[p]);
    +
    96
    +
    97 // Search for a point 'q' such that orientation(p, x, q)
    +
    98 // is counterclockwise for all points 'x'. The idea
    +
    99 // is to keep track of last visited most counter clock-
    +
    100 // wise point in q. If any point 'i' is more counter clock-
    +
    101 // wise than q, then update q.
    +
    102 q = (p + 1) % size;
    +
    103 for (int i = 0; i < size; i++) {
    +
    104 // If i is more counterclockwise than current q, then
    +
    105 // update q
    +
    106 if (orientation(points[p], points[i], points[q]) == 2) {
    +
    107 q = i;
    +
    108 }
    +
    109 }
    +
    110
    +
    111 // Now q is the most counterclockwise with respect to p
    +
    112 // Set p as q for next iteration, so that q is added to
    +
    113 // result 'hull'
    +
    114 p = q;
    +
    115
    +
    116 } while (p != leftmost_point); // While we don't come to first point
    +
    117
    +
    118 return hull;
    +
    119 }
    +
    +
    120
    +
    +
    133 static int orientation(const Point &p, const Point &q, const Point &r) {
    +
    134 int val = (q.y - p.y) * (r.x - q.x) - (q.x - p.x) * (r.y - q.y);
    +
    135
    +
    136 if (val == 0) {
    +
    137 return 0;
    +
    138 }
    +
    139 return (val > 0) ? 1 : 2;
    +
    140 }
    +
    +
    141
    +
    142 };
    +
    +
    143
    +
    144 } // namespace jarvis
    +
    145} // namespace geometry
    +
    146
    +
    +
    151static void test() {
    +
    152 std::vector<geometry::jarvis::Point> points = {{0, 3},
    +
    153 {2, 2},
    +
    154 {1, 1},
    +
    155 {2, 1},
    +
    156 {3, 0},
    +
    157 {0, 0},
    +
    158 {3, 3}
    +
    159 };
    +
    160 geometry::jarvis::Convexhull hull(points);
    +
    161 std::vector<geometry::jarvis::Point> actualPoint;
    +
    162 actualPoint = hull.getConvexHull();
    +
    163
    +
    164 std::vector<geometry::jarvis::Point> expectedPoint = {{0, 3},
    +
    165 {0, 0},
    +
    166 {3, 0},
    +
    167 {3, 3}};
    +
    168 for (int i = 0; i < expectedPoint.size(); i++) {
    +
    169 assert(actualPoint[i].x == expectedPoint[i].x);
    +
    170 assert(actualPoint[i].y == expectedPoint[i].y);
    +
    171 }
    +
    172 std::cout << "Test implementations passed!\n";
    +
    173}
    +
    +
    174
    +
    +
    176int main() {
    +
    177 test();
    +
    178 return 0;
    +
    179}
    +
    + +
    static int orientation(const Point &p, const Point &q, const Point &r)
    +
    Convexhull(const std::vector< Point > &pointList)
    +
    std::vector< Point > getConvexHull() const
    +
    static void test()
    +
    int main()
    +
    for std::swap
    +
    Functions for Jarvis’s algorithm.
    + +
    +
    + + + + diff --git a/d4/d8f/travelling__salesman__using__bit__manipulation_8cpp.html b/d4/d8f/travelling__salesman__using__bit__manipulation_8cpp.html index 8bb63553e..999fe3cbd 100644 --- a/d4/d8f/travelling__salesman__using__bit__manipulation_8cpp.html +++ b/d4/d8f/travelling__salesman__using__bit__manipulation_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: bit_manipulation/travelling_salesman_using_bit_manipulation.cpp File Reference +TheAlgorithms/C++: bit_manipulation/travelling_salesman_using_bit_manipulation.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -124,7 +141,9 @@ Include dependency graph for travelling_salesman_using_bit_manipulation.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -136,7 +155,7 @@ Namespaces

    Namespaces

    namespace  bit_manipulation
    - + @@ -152,6 +171,8 @@ Functions

    Explanation: INPUT -> You are given with a adjacency matrix A = {} which contains the distance between two cities/node.

    OUTPUT -> Minimum cost of whole tour from starting point

    Worst Case Time Complexity: O(n^2 * 2^n) Space complexity: O(n)

    Author
    Utkarsh Yadav
    + +

    Definition in file travelling_salesman_using_bit_manipulation.cpp.

    Function Documentation

    ◆ main()

    @@ -170,17 +191,14 @@ Functions

    Main function.

    Returns
    0 on exit
    + +

    Definition at line 139 of file travelling_salesman_using_bit_manipulation.cpp.

    139 {
    140 test(); // run self-test implementations
    141 return 0;
    142}
    -
    static void test()
    Self-test implementations.
    Definition travelling_salesman_using_bit_manipulation.cpp:100
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static void test()
    Self-test implementations.
    + @@ -208,51 +226,45 @@ Here is the call graph for this function:

    Self-test implementations.

    Returns
    void
    + +

    Definition at line 100 of file travelling_salesman_using_bit_manipulation.cpp.

    100 {
    101 // 1st test-case
    - +
    102 std::vector<std::vector<uint32_t>> dist = {
    103 {0, 20, 42, 35}, {20, 0, 30, 34}, {42, 30, 0, 12}, {35, 34, 12, 0}};
    -
    104 uint32_t V = dist.size();
    - +
    104 uint32_t V = dist.size();
    +
    105 std::vector<std::vector<uint32_t>> dp(1 << V, std::vector<uint32_t>(V, -1));
    106 assert(bit_manipulation::travelling_salesman_using_bit_manipulation::
    108 97);
    -
    109 std::cout << "1st test-case: passed!"
    +
    109 std::cout << "1st test-case: passed!"
    110 << "\n";
    111
    112 // 2nd test-case
    113 dist = {{0, 5, 10, 15}, {5, 0, 20, 30}, {10, 20, 0, 35}, {15, 30, 35, 0}};
    -
    114 V = dist.size();
    - -
    116 std::vector<uint32_t>(V, -1));
    +
    114 V = dist.size();
    +
    115 std::vector<std::vector<uint32_t>> dp1(1 << V,
    +
    116 std::vector<uint32_t>(V, -1));
    117 assert(bit_manipulation::travelling_salesman_using_bit_manipulation::
    118 travelling_salesman_using_bit_manipulation(dist, 1, 0, V, dp1) ==
    119 75);
    -
    120 std::cout << "2nd test-case: passed!"
    +
    120 std::cout << "2nd test-case: passed!"
    121 << "\n";
    122 // 3rd test-case
    123 dist = {{0, 10, 15, 20}, {10, 0, 35, 25}, {15, 35, 0, 30}, {20, 25, 30, 0}};
    -
    124 V = dist.size();
    - -
    126 std::vector<uint32_t>(V, -1));
    +
    124 V = dist.size();
    +
    125 std::vector<std::vector<uint32_t>> dp2(1 << V,
    +
    126 std::vector<uint32_t>(V, -1));
    127 assert(bit_manipulation::travelling_salesman_using_bit_manipulation::
    128 travelling_salesman_using_bit_manipulation(dist, 1, 0, V, dp2) ==
    129 80);
    130
    -
    131 std::cout << "3rd test-case: passed!"
    +
    131 std::cout << "3rd test-case: passed!"
    132 << "\n";
    133}
    - -
    for std::vector
    Definition partition_problem.cpp:39
    -
    T size(T... args)
    -
    std::uint64_t travelling_salesman_using_bit_manipulation(std::vector< std::vector< uint32_t > > dist, std::uint64_t setOfCities, std::uint64_t city, std::uint64_t n, std::vector< std::vector< uint32_t > > &dp)
    The function implements travellingSalesman using bitmanipulation.
    Definition travelling_salesman_using_bit_manipulation.cpp:53
    - -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    for std::vector
    +
    std::uint64_t travelling_salesman_using_bit_manipulation(std::vector< std::vector< uint32_t > > dist, std::uint64_t setOfCities, std::uint64_t city, std::uint64_t n, std::vector< std::vector< uint32_t > > &dp)
    The function implements travellingSalesman using bitmanipulation.
    + @@ -262,29 +274,29 @@ Here is the call graph for this function:

    Functions

    std::uint64_t bit_manipulation::travelling_salesman_using_bit_manipulation::travelling_salesman_using_bit_manipulation (std::vector< std::vector< uint32_t > > dist, std::uint64_t setOfCities, std::uint64_t city, std::uint64_t n, std::vector< std::vector< uint32_t > > &dp)
    std::uint64_t bit_manipulation::travelling_salesman_using_bit_manipulation::travelling_salesman_using_bit_manipulation (std::vector< std::vector< uint32_t > > dist, std::uint64_t setOfCities, std::uint64_t city, std::uint64_t n, std::vector< std::vector< uint32_t > > &dp)
     The function implements travellingSalesman using bitmanipulation.
     
    static void test ()
    - + - + - + - + - + - +
    std::uint64_t bit_manipulation::travelling_salesman_using_bit_manipulation::travelling_salesman_using_bit_manipulation std::uint64_t bit_manipulation::travelling_salesman_using_bit_manipulation::travelling_salesman_using_bit_manipulation (std::vector< std::vector< uint32_t > > dist, std::vector< std::vector< uint32_t > > dist,
    std::uint64_t setOfCities, std::uint64_t setOfCities,
    std::uint64_t city, std::uint64_t city,
    std::uint64_t n, std::uint64_t n,
    std::vector< std::vector< uint32_t > > & dp )std::vector< std::vector< uint32_t > > & dp )
    @@ -301,6 +313,8 @@ Here is the call graph for this function:
    Returns
    minimum cost of traversing whole nodes/cities from starting point back to starting point
    + +

    Definition at line 53 of file travelling_salesman_using_bit_manipulation.cpp.

    65{
    66 // base case;
    67 if (setOfCities == (1 << n) - 1) { // we have covered all the cities
    @@ -317,26 +331,19 @@ Here is the call graph for this function:
    78 // check if the city is visited or not.
    79 if ((setOfCities & (1 << choice)) ==
    80 0) { // this means that this perticular city is not visited.
    -
    81 std::uint64_t subProb =
    +
    81 std::uint64_t subProb =
    82 dist[city][choice] +
    84 dist, setOfCities | (1 << choice), choice, n, dp);
    85 // Here we are doing a recursive call to tsp with the updated set of
    86 // city/node and choice which tells that where we are currently.
    -
    87 ans = std::min(ans, subProb);
    +
    87 ans = std::min(ans, subProb);
    88 }
    89 }
    90 dp[setOfCities][city] = ans;
    91 return ans;
    92}
    - -
    T min(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + diff --git a/d4/d8f/travelling__salesman__using__bit__manipulation_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map b/d4/d8f/travelling__salesman__using__bit__manipulation_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map deleted file mode 100644 index 009291648..000000000 --- a/d4/d8f/travelling__salesman__using__bit__manipulation_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d4/d8f/travelling__salesman__using__bit__manipulation_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 b/d4/d8f/travelling__salesman__using__bit__manipulation_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 deleted file mode 100644 index 40db79339..000000000 --- a/d4/d8f/travelling__salesman__using__bit__manipulation_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -ad06c70220ef3f706aa177ec927291e1 \ No newline at end of file diff --git a/d4/d8f/travelling__salesman__using__bit__manipulation_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg b/d4/d8f/travelling__salesman__using__bit__manipulation_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg deleted file mode 100644 index 566eff0e2..000000000 --- a/d4/d8f/travelling__salesman__using__bit__manipulation_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -std::vector::size - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d4/d8f/travelling__salesman__using__bit__manipulation_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg b/d4/d8f/travelling__salesman__using__bit__manipulation_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg deleted file mode 100644 index 7fe8b65da..000000000 --- a/d4/d8f/travelling__salesman__using__bit__manipulation_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -std::vector::size - - - - - -Node1->Node2 - - - - - - - - diff --git a/d4/d8f/travelling__salesman__using__bit__manipulation_8cpp_ad08f082be02c3437c2fe89cb035fcee1_cgraph.map b/d4/d8f/travelling__salesman__using__bit__manipulation_8cpp_ad08f082be02c3437c2fe89cb035fcee1_cgraph.map deleted file mode 100644 index 1c228f4c8..000000000 --- a/d4/d8f/travelling__salesman__using__bit__manipulation_8cpp_ad08f082be02c3437c2fe89cb035fcee1_cgraph.map +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/d4/d8f/travelling__salesman__using__bit__manipulation_8cpp_ad08f082be02c3437c2fe89cb035fcee1_cgraph.md5 b/d4/d8f/travelling__salesman__using__bit__manipulation_8cpp_ad08f082be02c3437c2fe89cb035fcee1_cgraph.md5 deleted file mode 100644 index 8c82cf09c..000000000 --- a/d4/d8f/travelling__salesman__using__bit__manipulation_8cpp_ad08f082be02c3437c2fe89cb035fcee1_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -e26425ec2b9290b120fb8e3d7ed8be1f \ No newline at end of file diff --git a/d4/d8f/travelling__salesman__using__bit__manipulation_8cpp_ad08f082be02c3437c2fe89cb035fcee1_cgraph.svg b/d4/d8f/travelling__salesman__using__bit__manipulation_8cpp_ad08f082be02c3437c2fe89cb035fcee1_cgraph.svg deleted file mode 100644 index 2a824ec66..000000000 --- a/d4/d8f/travelling__salesman__using__bit__manipulation_8cpp_ad08f082be02c3437c2fe89cb035fcee1_cgraph.svg +++ /dev/null @@ -1,77 +0,0 @@ - - - - - - - - - - - - -bit_manipulation::travelling_salesman_using_bit_manipulation::travelling_salesman_using_bit_manipulation - - -Node1 - - -bit_manipulation::travelling -_salesman_using_bit_manipulation -::travelling_salesman_using_bit -_manipulation - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::min - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d4/d8f/travelling__salesman__using__bit__manipulation_8cpp_ad08f082be02c3437c2fe89cb035fcee1_cgraph_org.svg b/d4/d8f/travelling__salesman__using__bit__manipulation_8cpp_ad08f082be02c3437c2fe89cb035fcee1_cgraph_org.svg deleted file mode 100644 index 215671301..000000000 --- a/d4/d8f/travelling__salesman__using__bit__manipulation_8cpp_ad08f082be02c3437c2fe89cb035fcee1_cgraph_org.svg +++ /dev/null @@ -1,51 +0,0 @@ - - - - - - -bit_manipulation::travelling_salesman_using_bit_manipulation::travelling_salesman_using_bit_manipulation - - -Node1 - - -bit_manipulation::travelling -_salesman_using_bit_manipulation -::travelling_salesman_using_bit -_manipulation - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::min - - - - - -Node1->Node2 - - - - - - - - diff --git a/d4/d8f/travelling__salesman__using__bit__manipulation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d4/d8f/travelling__salesman__using__bit__manipulation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 25931d20e..000000000 --- a/d4/d8f/travelling__salesman__using__bit__manipulation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/d4/d8f/travelling__salesman__using__bit__manipulation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d4/d8f/travelling__salesman__using__bit__manipulation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index 6a0afaf42..000000000 --- a/d4/d8f/travelling__salesman__using__bit__manipulation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -ebf49c9ac4ebc2eed540a3549bde0729 \ No newline at end of file diff --git a/d4/d8f/travelling__salesman__using__bit__manipulation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d4/d8f/travelling__salesman__using__bit__manipulation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 286befcef..000000000 --- a/d4/d8f/travelling__salesman__using__bit__manipulation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::vector::size - - - - - -Node2->Node3 - - - - - - - - - - - - - diff --git a/d4/d8f/travelling__salesman__using__bit__manipulation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d4/d8f/travelling__salesman__using__bit__manipulation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 44d0c2263..000000000 --- a/d4/d8f/travelling__salesman__using__bit__manipulation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::vector::size - - - - - -Node2->Node3 - - - - - - - - diff --git a/d4/d8f/travelling__salesman__using__bit__manipulation_8cpp_source.html b/d4/d8f/travelling__salesman__using__bit__manipulation_8cpp_source.html new file mode 100644 index 000000000..be17e5174 --- /dev/null +++ b/d4/d8f/travelling__salesman__using__bit__manipulation_8cpp_source.html @@ -0,0 +1,240 @@ + + + + + + + + +TheAlgorithms/C++: bit_manipulation/travelling_salesman_using_bit_manipulation.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    travelling_salesman_using_bit_manipulation.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    23#include <algorithm>
    +
    24#include <cassert>
    +
    25#include <cstdint>
    +
    26#include <iostream>
    +
    27#include <limits>
    +
    28#include <vector>
    +
    29
    +
    34namespace bit_manipulation {
    + +
    + +
    54 std::vector<std::vector<uint32_t>>
    +
    55 dist, // dist is the adjacency matrix containing the distance.
    +
    56 // setOfCities as a bit represent the cities/nodes. Ex: if
    +
    57 // setOfCities = 2 => 0010(in binary) means representing the
    +
    58 // city/node B if city/nodes are represented as D->C->B->A.
    +
    59 std::uint64_t setOfCities,
    +
    60 std::uint64_t city, // city is taken to track our current city/node
    +
    61 // movement,where we are currently.
    +
    62 std::uint64_t n, // n is the no of cities we have.
    +
    63 std::vector<std::vector<uint32_t>>
    +
    64 &dp) // dp is taken to memorize the state to avoid recomputition
    +
    65{
    +
    66 // base case;
    +
    67 if (setOfCities == (1 << n) - 1) { // we have covered all the cities
    +
    68 return dist[city][0]; // return the cost from the current city to the
    +
    69 // original city.
    +
    70 }
    +
    71
    +
    72 if (dp[setOfCities][city] != -1) {
    +
    73 return dp[setOfCities][city];
    +
    74 }
    +
    75 // otherwise try all possible options
    +
    76 uint64_t ans = 2147483647;
    +
    77 for (int choice = 0; choice < n; choice++) {
    +
    78 // check if the city is visited or not.
    +
    79 if ((setOfCities & (1 << choice)) ==
    +
    80 0) { // this means that this perticular city is not visited.
    +
    81 std::uint64_t subProb =
    +
    82 dist[city][choice] +
    + +
    84 dist, setOfCities | (1 << choice), choice, n, dp);
    +
    85 // Here we are doing a recursive call to tsp with the updated set of
    +
    86 // city/node and choice which tells that where we are currently.
    +
    87 ans = std::min(ans, subProb);
    +
    88 }
    +
    89 }
    +
    90 dp[setOfCities][city] = ans;
    +
    91 return ans;
    +
    92}
    +
    +
    93} // namespace travelling_salesman_using_bit_manipulation
    +
    94} // namespace bit_manipulation
    +
    95
    +
    +
    100static void test() {
    +
    101 // 1st test-case
    +
    102 std::vector<std::vector<uint32_t>> dist = {
    +
    103 {0, 20, 42, 35}, {20, 0, 30, 34}, {42, 30, 0, 12}, {35, 34, 12, 0}};
    +
    104 uint32_t V = dist.size();
    +
    105 std::vector<std::vector<uint32_t>> dp(1 << V, std::vector<uint32_t>(V, -1));
    +
    106 assert(bit_manipulation::travelling_salesman_using_bit_manipulation::
    +
    107 travelling_salesman_using_bit_manipulation(dist, 1, 0, V, dp) ==
    +
    108 97);
    +
    109 std::cout << "1st test-case: passed!"
    +
    110 << "\n";
    +
    111
    +
    112 // 2nd test-case
    +
    113 dist = {{0, 5, 10, 15}, {5, 0, 20, 30}, {10, 20, 0, 35}, {15, 30, 35, 0}};
    +
    114 V = dist.size();
    +
    115 std::vector<std::vector<uint32_t>> dp1(1 << V,
    +
    116 std::vector<uint32_t>(V, -1));
    +
    117 assert(bit_manipulation::travelling_salesman_using_bit_manipulation::
    +
    118 travelling_salesman_using_bit_manipulation(dist, 1, 0, V, dp1) ==
    +
    119 75);
    +
    120 std::cout << "2nd test-case: passed!"
    +
    121 << "\n";
    +
    122 // 3rd test-case
    +
    123 dist = {{0, 10, 15, 20}, {10, 0, 35, 25}, {15, 35, 0, 30}, {20, 25, 30, 0}};
    +
    124 V = dist.size();
    +
    125 std::vector<std::vector<uint32_t>> dp2(1 << V,
    +
    126 std::vector<uint32_t>(V, -1));
    +
    127 assert(bit_manipulation::travelling_salesman_using_bit_manipulation::
    +
    128 travelling_salesman_using_bit_manipulation(dist, 1, 0, V, dp2) ==
    +
    129 80);
    +
    130
    +
    131 std::cout << "3rd test-case: passed!"
    +
    132 << "\n";
    +
    133}
    +
    +
    134
    +
    +
    139int main() {
    +
    140 test(); // run self-test implementations
    +
    141 return 0;
    +
    142}
    +
    + +
    for std::vector
    +
    static void test()
    Self-test implementations.
    +
    std::uint64_t travelling_salesman_using_bit_manipulation(std::vector< std::vector< uint32_t > > dist, std::uint64_t setOfCities, std::uint64_t city, std::uint64_t n, std::vector< std::vector< uint32_t > > &dp)
    The function implements travellingSalesman using bitmanipulation.
    + +
    +
    + + + + diff --git a/d4/d90/classdata__structures_1_1_skip_list.html b/d4/d90/classdata__structures_1_1_skip_list.html index 53f2c15ab..37484c0f5 100644 --- a/d4/d90/classdata__structures_1_1_skip_list.html +++ b/d4/d90/classdata__structures_1_1_skip_list.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: data_structures::SkipList Class Reference +TheAlgorithms/C++: data_structures::SkipList Class Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -134,17 +151,17 @@ Public Member Functions
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    - - + + - - + +

    Private Attributes

    -int level
     Maximum level of the skiplist.
    int level
     Maximum level of the skiplist.
     
    -std::shared_ptr< Nodeheader
     Pointer to the header node.
    std::shared_ptr< Nodeheader
     Pointer to the header node.
     

    Detailed Description

    SkipList class implementation with basic methods

    + +

    Definition at line 55 of file skip_list.cpp.

    Constructor & Destructor Documentation

    ◆ SkipList()

    @@ -169,21 +186,17 @@ int level

    Skip List constructor. Initializes header, start Node for searching in the list

    + +

    Definition at line 64 of file skip_list.cpp.

    64 {
    65 level = 0;
    66 // Header initialization
    - +
    67 header = std::make_shared<Node>(-1, MAX_LEVEL);
    68 }
    -
    int level
    Maximum level of the skiplist.
    Definition skip_list.cpp:56
    -
    std::shared_ptr< Node > header
    Pointer to the header node.
    Definition skip_list.cpp:57
    -
    T make_shared(T... args)
    -
    constexpr int MAX_LEVEL
    Maximum level of skip list.
    Definition skip_list.cpp:27
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    int level
    Maximum level of the skiplist.
    Definition skip_list.cpp:56
    +
    std::shared_ptr< Node > header
    Pointer to the header node.
    Definition skip_list.cpp:57
    +
    constexpr int MAX_LEVEL
    Maximum level of skip list.
    Definition skip_list.cpp:27
    +

    Member Function Documentation

    @@ -215,11 +228,13 @@ Here is the call graph for this function: + +

    Definition at line 133 of file skip_list.cpp.

    133 {
    - +
    134 std::shared_ptr<Node> x = header;
    135
    - -
    137 update.fill(nullptr);
    +
    136 std::array<std::shared_ptr<Node>, MAX_LEVEL + 1> update;
    +
    137 update.fill(nullptr);
    138
    139 for (int i = level; i >= 0; i--) {
    140 while (x->forward[i] != nullptr && x->forward[i]->key < key) {
    @@ -241,23 +256,13 @@ Here is the call graph for this function:
    156 }
    157 /* Remove empty levels*/
    158 while (level > 0 && header->forward[level] == nullptr) level--;
    -
    159 std::cout << "Deleted" << std::endl;
    +
    159 std::cout << "Deleted" << std::endl;
    160 } else {
    -
    161 std::cout << "Doesn't exist" << std::endl;
    +
    161 std::cout << "Doesn't exist" << std::endl;
    162 }
    163 }
    - - -
    T endl(T... args)
    -
    T fill(T... args)
    -
    void update(std::vector< int64_t > *segtree, std::vector< int64_t > *lazy, int64_t start, int64_t end, int64_t delta, uint64_t low, uint64_t high, uint64_t pos)
    Updates a range of the segment tree.
    Definition segtree.cpp:103
    - -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    void update(std::vector< int64_t > *segtree, std::vector< int64_t > *lazy, int64_t start, int64_t end, int64_t delta, uint64_t low, uint64_t high, uint64_t pos)
    Updates a range of the segment tree.
    Definition segtree.cpp:103
    + @@ -283,25 +288,22 @@ Here is the call graph for this function:

    Display skip list level

    + +

    Definition at line 191 of file skip_list.cpp.

    191 {
    -
    192 std::cout << "Displaying list:\n";
    +
    192 std::cout << "Displaying list:\n";
    193 for (int i = 0; i <= level; i++) {
    -
    194 std::shared_ptr<Node> node = header->forward[i];
    -
    195 std::cout << "Level " << (i) << ": ";
    +
    194 std::shared_ptr<Node> node = header->forward[i];
    +
    195 std::cout << "Level " << (i) << ": ";
    196 while (node != nullptr) {
    -
    197 std::cout << node->key << " ";
    +
    197 std::cout << node->key << " ";
    198 node = node->forward[i];
    199 }
    - +
    200 std::cout << std::endl;
    201 }
    202 }
    -
    Definition binary_search_tree.cpp:11
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + +
    @@ -337,11 +339,13 @@ Here is the call graph for this function: + +

    Definition at line 90 of file skip_list.cpp.

    90 {
    -
    91 std::cout << "Inserting" << key << "...";
    - - -
    94 update.fill(nullptr);
    +
    91 std::cout << "Inserting" << key << "...";
    +
    92 std::shared_ptr<Node> x = header;
    +
    93 std::array<std::shared_ptr<Node>, MAX_LEVEL + 1> update;
    +
    94 update.fill(nullptr);
    95
    96 for (int i = level; i >= 0; i--) {
    97 while (x->forward[i] != nullptr && x->forward[i]->key < key) {
    @@ -363,25 +367,20 @@ Here is the call graph for this function:
    113 level = rlevel;
    114 }
    115
    - -
    117 std::make_shared<Node>(key, rlevel, value);
    +
    116 std::shared_ptr<Node> n =
    +
    117 std::make_shared<Node>(key, rlevel, value);
    118 for (int i = 0; i <= rlevel; i++) {
    119 n->forward[i] = update[i]->forward[i];
    120 update[i]->forward[i] = n;
    121 }
    -
    122 std::cout << "Inserted" << std::endl;
    +
    122 std::cout << "Inserted" << std::endl;
    123
    124 } else {
    -
    125 std::cout << "Exists" << std::endl;
    +
    125 std::cout << "Exists" << std::endl;
    126 }
    127 }
    -
    int randomLevel()
    Definition skip_list.cpp:75
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + + @@ -407,22 +406,18 @@ Here is the call graph for this function:

    Returns random level of the skip list. Every higher level is 2 times less likely.

    Returns
    random level for skip list
    + +

    Definition at line 75 of file skip_list.cpp.

    75 {
    76 int lvl = 0;
    -
    77 while (static_cast<float>(std::rand()) / RAND_MAX < PROBABILITY &&
    +
    77 while (static_cast<float>(std::rand()) / RAND_MAX < PROBABILITY &&
    78 lvl < MAX_LEVEL) {
    79 lvl++;
    80 }
    81 return lvl;
    82 }
    -
    constexpr float PROBABILITY
    Current probability for "coin toss".
    Definition skip_list.cpp:28
    -
    T rand(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    constexpr float PROBABILITY
    Current probability for "coin toss".
    Definition skip_list.cpp:28
    +
    @@ -454,9 +449,11 @@ Here is the call graph for this function:
    Returns
    pointer to the value of the node
    + +

    Definition at line 170 of file skip_list.cpp.

    170 {
    - -
    172 std::cout << "Searching for " << key << std::endl;
    +
    171 std::shared_ptr<Node> x = header;
    +
    172 std::cout << "Searching for " << key << std::endl;
    173
    174 for (int i = level; i >= 0; i--) {
    175 while (x->forward[i] && x->forward[i]->key < key) x = x->forward[i];
    @@ -464,23 +461,71 @@ Here is the call graph for this function:
    177
    178 x = x->forward[0];
    179 if (x && x->key == key) {
    -
    180 std::cout << "Found" << std::endl;
    +
    180 std::cout << "Found" << std::endl;
    181 return x->value;
    182 } else {
    -
    183 std::cout << "Not Found" << std::endl;
    +
    183 std::cout << "Not Found" << std::endl;
    184 return nullptr;
    185 }
    186 }
    -
    -Here is the call graph for this function:
    -
    -
    +
    + +

    Member Data Documentation

    + +

    ◆ header

    + +
    +
    + + + + + +
    + + + + +
    std::shared_ptr<Node> data_structures::SkipList::header
    +
    +private
    +
    + +

    Pointer to the header node.

    + +

    Definition at line 57 of file skip_list.cpp.

    + +
    +
    + +

    ◆ level

    + +
    +
    + + + + + +
    + + + + +
    int data_structures::SkipList::level
    +
    +private
    +
    + +

    Maximum level of the skiplist.

    + +

    Definition at line 56 of file skip_list.cpp.


    The documentation for this class was generated from the following file: diff --git a/d4/d90/classdata__structures_1_1_skip_list_a40a4042bdf0b6683b5f21ae7854de8a9_cgraph.map b/d4/d90/classdata__structures_1_1_skip_list_a40a4042bdf0b6683b5f21ae7854de8a9_cgraph.map deleted file mode 100644 index f92c9de1e..000000000 --- a/d4/d90/classdata__structures_1_1_skip_list_a40a4042bdf0b6683b5f21ae7854de8a9_cgraph.map +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - - - - - diff --git a/d4/d90/classdata__structures_1_1_skip_list_a40a4042bdf0b6683b5f21ae7854de8a9_cgraph.md5 b/d4/d90/classdata__structures_1_1_skip_list_a40a4042bdf0b6683b5f21ae7854de8a9_cgraph.md5 deleted file mode 100644 index 2adb36809..000000000 --- a/d4/d90/classdata__structures_1_1_skip_list_a40a4042bdf0b6683b5f21ae7854de8a9_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -ff8fdea3972c8209c5db017367ce3486 \ No newline at end of file diff --git a/d4/d90/classdata__structures_1_1_skip_list_a40a4042bdf0b6683b5f21ae7854de8a9_cgraph.svg b/d4/d90/classdata__structures_1_1_skip_list_a40a4042bdf0b6683b5f21ae7854de8a9_cgraph.svg deleted file mode 100644 index 4fc528e40..000000000 --- a/d4/d90/classdata__structures_1_1_skip_list_a40a4042bdf0b6683b5f21ae7854de8a9_cgraph.svg +++ /dev/null @@ -1,166 +0,0 @@ - - - - - - - - - - - - -data_structures::SkipList::insertElement - - -Node1 - - -data_structures::SkipList -::insertElement - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::array::fill - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::make_shared - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -data_structures::SkipList -::randomLevel - - - - - -Node1->Node5 - - - - - - - - -Node7 - - -update - - - - - -Node1->Node7 - - - - - - - - -Node6 - - -std::rand - - - - - -Node5->Node6 - - - - - - - - -Node7->Node7 - - - - - - - - - - - - - diff --git a/d4/d90/classdata__structures_1_1_skip_list_a40a4042bdf0b6683b5f21ae7854de8a9_cgraph_org.svg b/d4/d90/classdata__structures_1_1_skip_list_a40a4042bdf0b6683b5f21ae7854de8a9_cgraph_org.svg deleted file mode 100644 index 6b0d4d2dc..000000000 --- a/d4/d90/classdata__structures_1_1_skip_list_a40a4042bdf0b6683b5f21ae7854de8a9_cgraph_org.svg +++ /dev/null @@ -1,140 +0,0 @@ - - - - - - -data_structures::SkipList::insertElement - - -Node1 - - -data_structures::SkipList -::insertElement - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::array::fill - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::make_shared - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -data_structures::SkipList -::randomLevel - - - - - -Node1->Node5 - - - - - - - - -Node7 - - -update - - - - - -Node1->Node7 - - - - - - - - -Node6 - - -std::rand - - - - - -Node5->Node6 - - - - - - - - -Node7->Node7 - - - - - - - - diff --git a/d4/d90/classdata__structures_1_1_skip_list_a7ffc3688725b9d1ec6e5bb881a6e2ae4_cgraph.map b/d4/d90/classdata__structures_1_1_skip_list_a7ffc3688725b9d1ec6e5bb881a6e2ae4_cgraph.map deleted file mode 100644 index 82f00c5c8..000000000 --- a/d4/d90/classdata__structures_1_1_skip_list_a7ffc3688725b9d1ec6e5bb881a6e2ae4_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d4/d90/classdata__structures_1_1_skip_list_a7ffc3688725b9d1ec6e5bb881a6e2ae4_cgraph.md5 b/d4/d90/classdata__structures_1_1_skip_list_a7ffc3688725b9d1ec6e5bb881a6e2ae4_cgraph.md5 deleted file mode 100644 index a1c0e17fd..000000000 --- a/d4/d90/classdata__structures_1_1_skip_list_a7ffc3688725b9d1ec6e5bb881a6e2ae4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -c11614557089243886366727115b2ec0 \ No newline at end of file diff --git a/d4/d90/classdata__structures_1_1_skip_list_a7ffc3688725b9d1ec6e5bb881a6e2ae4_cgraph.svg b/d4/d90/classdata__structures_1_1_skip_list_a7ffc3688725b9d1ec6e5bb881a6e2ae4_cgraph.svg deleted file mode 100644 index 3c05d9af8..000000000 --- a/d4/d90/classdata__structures_1_1_skip_list_a7ffc3688725b9d1ec6e5bb881a6e2ae4_cgraph.svg +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - - - - - - - -data_structures::SkipList::SkipList - - -Node1 - - -data_structures::SkipList -::SkipList - - - - - -Node2 - - -std::make_shared - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d4/d90/classdata__structures_1_1_skip_list_a7ffc3688725b9d1ec6e5bb881a6e2ae4_cgraph_org.svg b/d4/d90/classdata__structures_1_1_skip_list_a7ffc3688725b9d1ec6e5bb881a6e2ae4_cgraph_org.svg deleted file mode 100644 index 84f93bdf1..000000000 --- a/d4/d90/classdata__structures_1_1_skip_list_a7ffc3688725b9d1ec6e5bb881a6e2ae4_cgraph_org.svg +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - -data_structures::SkipList::SkipList - - -Node1 - - -data_structures::SkipList -::SkipList - - - - - -Node2 - - -std::make_shared - - - - - -Node1->Node2 - - - - - - - - diff --git a/d4/d90/classdata__structures_1_1_skip_list_a812611f80b8079268dbb19cc4e9bee5c_cgraph.map b/d4/d90/classdata__structures_1_1_skip_list_a812611f80b8079268dbb19cc4e9bee5c_cgraph.map deleted file mode 100644 index ddd608fc1..000000000 --- a/d4/d90/classdata__structures_1_1_skip_list_a812611f80b8079268dbb19cc4e9bee5c_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d4/d90/classdata__structures_1_1_skip_list_a812611f80b8079268dbb19cc4e9bee5c_cgraph.md5 b/d4/d90/classdata__structures_1_1_skip_list_a812611f80b8079268dbb19cc4e9bee5c_cgraph.md5 deleted file mode 100644 index 6bfb10fd9..000000000 --- a/d4/d90/classdata__structures_1_1_skip_list_a812611f80b8079268dbb19cc4e9bee5c_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -94dcfce2656d2d13d8e6d7b2f9a2cf56 \ No newline at end of file diff --git a/d4/d90/classdata__structures_1_1_skip_list_a812611f80b8079268dbb19cc4e9bee5c_cgraph.svg b/d4/d90/classdata__structures_1_1_skip_list_a812611f80b8079268dbb19cc4e9bee5c_cgraph.svg deleted file mode 100644 index b2d1056b6..000000000 --- a/d4/d90/classdata__structures_1_1_skip_list_a812611f80b8079268dbb19cc4e9bee5c_cgraph.svg +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - - - - - - - -data_structures::SkipList::displayList - - -Node1 - - -data_structures::SkipList -::displayList - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d4/d90/classdata__structures_1_1_skip_list_a812611f80b8079268dbb19cc4e9bee5c_cgraph_org.svg b/d4/d90/classdata__structures_1_1_skip_list_a812611f80b8079268dbb19cc4e9bee5c_cgraph_org.svg deleted file mode 100644 index 41ad92cd4..000000000 --- a/d4/d90/classdata__structures_1_1_skip_list_a812611f80b8079268dbb19cc4e9bee5c_cgraph_org.svg +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - -data_structures::SkipList::displayList - - -Node1 - - -data_structures::SkipList -::displayList - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - diff --git a/d4/d90/classdata__structures_1_1_skip_list_a86925c53e139cc6c3f7df1e9003bb0b0_cgraph.map b/d4/d90/classdata__structures_1_1_skip_list_a86925c53e139cc6c3f7df1e9003bb0b0_cgraph.map deleted file mode 100644 index 3edad6b0f..000000000 --- a/d4/d90/classdata__structures_1_1_skip_list_a86925c53e139cc6c3f7df1e9003bb0b0_cgraph.map +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/d4/d90/classdata__structures_1_1_skip_list_a86925c53e139cc6c3f7df1e9003bb0b0_cgraph.md5 b/d4/d90/classdata__structures_1_1_skip_list_a86925c53e139cc6c3f7df1e9003bb0b0_cgraph.md5 deleted file mode 100644 index c02d792e0..000000000 --- a/d4/d90/classdata__structures_1_1_skip_list_a86925c53e139cc6c3f7df1e9003bb0b0_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -5486892dffad714417c08971e46ed3d8 \ No newline at end of file diff --git a/d4/d90/classdata__structures_1_1_skip_list_a86925c53e139cc6c3f7df1e9003bb0b0_cgraph.svg b/d4/d90/classdata__structures_1_1_skip_list_a86925c53e139cc6c3f7df1e9003bb0b0_cgraph.svg deleted file mode 100644 index 6f4be620d..000000000 --- a/d4/d90/classdata__structures_1_1_skip_list_a86925c53e139cc6c3f7df1e9003bb0b0_cgraph.svg +++ /dev/null @@ -1,111 +0,0 @@ - - - - - - - - - - - - -data_structures::SkipList::deleteElement - - -Node1 - - -data_structures::SkipList -::deleteElement - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::array::fill - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -update - - - - - -Node1->Node4 - - - - - - - - -Node4->Node4 - - - - - - - - - - - - - diff --git a/d4/d90/classdata__structures_1_1_skip_list_a86925c53e139cc6c3f7df1e9003bb0b0_cgraph_org.svg b/d4/d90/classdata__structures_1_1_skip_list_a86925c53e139cc6c3f7df1e9003bb0b0_cgraph_org.svg deleted file mode 100644 index 6cc498bbc..000000000 --- a/d4/d90/classdata__structures_1_1_skip_list_a86925c53e139cc6c3f7df1e9003bb0b0_cgraph_org.svg +++ /dev/null @@ -1,85 +0,0 @@ - - - - - - -data_structures::SkipList::deleteElement - - -Node1 - - -data_structures::SkipList -::deleteElement - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::array::fill - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -update - - - - - -Node1->Node4 - - - - - - - - -Node4->Node4 - - - - - - - - diff --git a/d4/d90/classdata__structures_1_1_skip_list_aa3f3813e9896792fc86b296547689ba4_cgraph.map b/d4/d90/classdata__structures_1_1_skip_list_aa3f3813e9896792fc86b296547689ba4_cgraph.map deleted file mode 100644 index e3442d2be..000000000 --- a/d4/d90/classdata__structures_1_1_skip_list_aa3f3813e9896792fc86b296547689ba4_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d4/d90/classdata__structures_1_1_skip_list_aa3f3813e9896792fc86b296547689ba4_cgraph.md5 b/d4/d90/classdata__structures_1_1_skip_list_aa3f3813e9896792fc86b296547689ba4_cgraph.md5 deleted file mode 100644 index 886715470..000000000 --- a/d4/d90/classdata__structures_1_1_skip_list_aa3f3813e9896792fc86b296547689ba4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -8c3f44aaa18b1da49d203d70e6abfa4f \ No newline at end of file diff --git a/d4/d90/classdata__structures_1_1_skip_list_aa3f3813e9896792fc86b296547689ba4_cgraph.svg b/d4/d90/classdata__structures_1_1_skip_list_aa3f3813e9896792fc86b296547689ba4_cgraph.svg deleted file mode 100644 index dcbc6e5b3..000000000 --- a/d4/d90/classdata__structures_1_1_skip_list_aa3f3813e9896792fc86b296547689ba4_cgraph.svg +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - - - - - - - -data_structures::SkipList::randomLevel - - -Node1 - - -data_structures::SkipList -::randomLevel - - - - - -Node2 - - -std::rand - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d4/d90/classdata__structures_1_1_skip_list_aa3f3813e9896792fc86b296547689ba4_cgraph_org.svg b/d4/d90/classdata__structures_1_1_skip_list_aa3f3813e9896792fc86b296547689ba4_cgraph_org.svg deleted file mode 100644 index e7b8ec776..000000000 --- a/d4/d90/classdata__structures_1_1_skip_list_aa3f3813e9896792fc86b296547689ba4_cgraph_org.svg +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - -data_structures::SkipList::randomLevel - - -Node1 - - -data_structures::SkipList -::randomLevel - - - - - -Node2 - - -std::rand - - - - - -Node1->Node2 - - - - - - - - diff --git a/d4/d90/classdata__structures_1_1_skip_list_af2f3d4e15b1f47afac849c2e08a730f4_cgraph.map b/d4/d90/classdata__structures_1_1_skip_list_af2f3d4e15b1f47afac849c2e08a730f4_cgraph.map deleted file mode 100644 index 011ed3e1a..000000000 --- a/d4/d90/classdata__structures_1_1_skip_list_af2f3d4e15b1f47afac849c2e08a730f4_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d4/d90/classdata__structures_1_1_skip_list_af2f3d4e15b1f47afac849c2e08a730f4_cgraph.md5 b/d4/d90/classdata__structures_1_1_skip_list_af2f3d4e15b1f47afac849c2e08a730f4_cgraph.md5 deleted file mode 100644 index 48e48edac..000000000 --- a/d4/d90/classdata__structures_1_1_skip_list_af2f3d4e15b1f47afac849c2e08a730f4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -f734a36732bf0d9026421b6968459c60 \ No newline at end of file diff --git a/d4/d90/classdata__structures_1_1_skip_list_af2f3d4e15b1f47afac849c2e08a730f4_cgraph.svg b/d4/d90/classdata__structures_1_1_skip_list_af2f3d4e15b1f47afac849c2e08a730f4_cgraph.svg deleted file mode 100644 index bb37b05a8..000000000 --- a/d4/d90/classdata__structures_1_1_skip_list_af2f3d4e15b1f47afac849c2e08a730f4_cgraph.svg +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - - - - - - - -data_structures::SkipList::searchElement - - -Node1 - - -data_structures::SkipList -::searchElement - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d4/d90/classdata__structures_1_1_skip_list_af2f3d4e15b1f47afac849c2e08a730f4_cgraph_org.svg b/d4/d90/classdata__structures_1_1_skip_list_af2f3d4e15b1f47afac849c2e08a730f4_cgraph_org.svg deleted file mode 100644 index 31fa89ebe..000000000 --- a/d4/d90/classdata__structures_1_1_skip_list_af2f3d4e15b1f47afac849c2e08a730f4_cgraph_org.svg +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - -data_structures::SkipList::searchElement - - -Node1 - - -data_structures::SkipList -::searchElement - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - diff --git a/d4/d91/namespacevector__cross.html b/d4/d91/namespacevector__cross.html index 0d561c529..5aea5019a 100644 --- a/d4/d91/namespacevector__cross.html +++ b/d4/d91/namespacevector__cross.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: vector_cross Namespace Reference +TheAlgorithms/C++: vector_cross Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/d4/d9a/classdata__structures_1_1_bitset__coll__graph.map b/d4/d9a/classdata__structures_1_1_bitset__coll__graph.map index 546c94342..f09a208b1 100644 --- a/d4/d9a/classdata__structures_1_1_bitset__coll__graph.map +++ b/d4/d9a/classdata__structures_1_1_bitset__coll__graph.map @@ -1,8 +1,5 @@ - - - - - - + + + diff --git a/d4/d9a/classdata__structures_1_1_bitset__coll__graph.md5 b/d4/d9a/classdata__structures_1_1_bitset__coll__graph.md5 index 6c63f74c1..71773321d 100644 --- a/d4/d9a/classdata__structures_1_1_bitset__coll__graph.md5 +++ b/d4/d9a/classdata__structures_1_1_bitset__coll__graph.md5 @@ -1 +1 @@ -1bab397f501643071d9df8c108a1600f \ No newline at end of file +d0fb9e05069d084f551a4339cc321ee5 \ No newline at end of file diff --git a/d4/d9a/classdata__structures_1_1_bitset__coll__graph.svg b/d4/d9a/classdata__structures_1_1_bitset__coll__graph.svg index 36fd561f2..0987b9124 100644 --- a/d4/d9a/classdata__structures_1_1_bitset__coll__graph.svg +++ b/d4/d9a/classdata__structures_1_1_bitset__coll__graph.svg @@ -4,8 +4,8 @@ - + @@ -17,23 +17,23 @@ ]]> - + data_structures::Bitset Node1 - -data_structures::Bitset + +data_structures::Bitset Node2 - - -std::vector< std::size_t > + + +std::vector< std::size_t > @@ -41,40 +41,11 @@ Node2->Node1 - - + + - data - - - -Node3 - - -std::size_t - - - - - -Node3->Node1 - - - - - - blockSize - - - -Node3->Node2 - - - - - - elements + data diff --git a/d4/d9a/classdata__structures_1_1_bitset__coll__graph_org.svg b/d4/d9a/classdata__structures_1_1_bitset__coll__graph_org.svg index d41216e3f..e9b55af62 100644 --- a/d4/d9a/classdata__structures_1_1_bitset__coll__graph_org.svg +++ b/d4/d9a/classdata__structures_1_1_bitset__coll__graph_org.svg @@ -4,25 +4,25 @@ - - + + data_structures::Bitset Node1 - -data_structures::Bitset + +data_structures::Bitset Node2 - - -std::vector< std::size_t > + + +std::vector< std::size_t > @@ -30,40 +30,11 @@ Node2->Node1 - - + + - data - - - -Node3 - - -std::size_t - - - - - -Node3->Node1 - - - - - - blockSize - - - -Node3->Node2 - - - - - - elements + data diff --git a/d4/d9c/primes__up__to__billion_8cpp.html b/d4/d9c/primes__up__to__billion_8cpp.html index 4ff4ea67a..5e0e15763 100644 --- a/d4/d9c/primes__up__to__billion_8cpp.html +++ b/d4/d9c/primes__up__to__billion_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: math/primes_up_to_billion.cpp File Reference +TheAlgorithms/C++: math/primes_up_to_billion.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + @@ -120,7 +137,9 @@ Include dependency graph for primes_up_to_billion.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -136,6 +155,8 @@ Variables

    Detailed Description

    Compute prime numbers upto 1 billion.

    See also
    prime_numbers.cpp sieve_of_eratosthenes.cpp
    + +

    Definition in file primes_up_to_billion.cpp.

    Function Documentation

    ◆ main()

    @@ -152,27 +173,22 @@ Variables

    Functions

    void Sieve (int64_t n)

    Main function

    + +

    Definition at line 26 of file primes_up_to_billion.cpp.

    26 {
    27 Sieve(100000000);
    28 int64_t n;
    -
    29 std::cin >> n; // 10006187
    +
    29 std::cin >> n; // 10006187
    30 if (prime[n] == '1')
    -
    31 std::cout << "YES\n";
    +
    31 std::cout << "YES\n";
    32 else
    -
    33 std::cout << "NO\n";
    +
    33 std::cout << "NO\n";
    34
    35 return 0;
    36}
    - - -
    void Sieve(int64_t n)
    Definition primes_up_to_billion.cpp:13
    -
    char prime[100000000]
    Definition primes_up_to_billion.cpp:10
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    void Sieve(int64_t n)
    +
    char prime[100000000]
    +
    @@ -190,8 +206,10 @@ Here is the call graph for this function:

    Perform Sieve algorithm

    + +

    Definition at line 13 of file primes_up_to_billion.cpp.

    13 {
    -
    14 memset(prime, '1', sizeof(prime)); // intitize '1' to every index
    +
    14 memset(prime, '1', sizeof(prime)); // intitize '1' to every index
    15 prime[0] = '0'; // 0 is not prime
    16 prime[1] = '0'; // 1 is not prime
    17 for (int64_t p = 2; p * p <= n; p++) {
    @@ -201,7 +219,6 @@ Here is the call graph for this function:
    21 }
    22 }
    23}
    -
    T memset(T... args)
    @@ -219,6 +236,8 @@ Here is the call graph for this function:

    array to store the primes

    +

    Definition at line 10 of file primes_up_to_billion.cpp.

    +
    diff --git a/d4/d9c/primes__up__to__billion_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d4/d9c/primes__up__to__billion_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 353a4f892..000000000 --- a/d4/d9c/primes__up__to__billion_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d4/d9c/primes__up__to__billion_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d4/d9c/primes__up__to__billion_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index 2595db84c..000000000 --- a/d4/d9c/primes__up__to__billion_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -438cd0f51219c3d0e22e59d01ceed794 \ No newline at end of file diff --git a/d4/d9c/primes__up__to__billion_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d4/d9c/primes__up__to__billion_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 9e13c0d36..000000000 --- a/d4/d9c/primes__up__to__billion_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -Sieve - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d4/d9c/primes__up__to__billion_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d4/d9c/primes__up__to__billion_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 4f181d4c6..000000000 --- a/d4/d9c/primes__up__to__billion_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -Sieve - - - - - -Node1->Node2 - - - - - - - - diff --git a/d4/d9c/primes__up__to__billion_8cpp_source.html b/d4/d9c/primes__up__to__billion_8cpp_source.html new file mode 100644 index 000000000..b6e34bdcc --- /dev/null +++ b/d4/d9c/primes__up__to__billion_8cpp_source.html @@ -0,0 +1,173 @@ + + + + + + + + +TheAlgorithms/C++: math/primes_up_to_billion.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    primes_up_to_billion.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    6#include <cstring>
    +
    7#include <iostream>
    +
    8
    +
    10char prime[100000000];
    +
    11
    +
    +
    13void Sieve(int64_t n) {
    +
    14 memset(prime, '1', sizeof(prime)); // intitize '1' to every index
    +
    15 prime[0] = '0'; // 0 is not prime
    +
    16 prime[1] = '0'; // 1 is not prime
    +
    17 for (int64_t p = 2; p * p <= n; p++) {
    +
    18 if (prime[p] == '1') {
    +
    19 for (int64_t i = p * p; i <= n; i += p)
    +
    20 prime[i] = '0'; // set all multiples of p to false
    +
    21 }
    +
    22 }
    +
    23}
    +
    +
    24
    +
    +
    26int main() {
    +
    27 Sieve(100000000);
    +
    28 int64_t n;
    +
    29 std::cin >> n; // 10006187
    +
    30 if (prime[n] == '1')
    +
    31 std::cout << "YES\n";
    +
    32 else
    +
    33 std::cout << "NO\n";
    +
    34
    +
    35 return 0;
    +
    36}
    +
    +
    void Sieve(int64_t n)
    +
    char prime[100000000]
    +
    int main()
    +
    +
    + + + + diff --git a/d4/d9d/sum__of__binomial__coefficient_8cpp.html b/d4/d9d/sum__of__binomial__coefficient_8cpp.html index 3fc64218f..02cfa3489 100644 --- a/d4/d9d/sum__of__binomial__coefficient_8cpp.html +++ b/d4/d9d/sum__of__binomial__coefficient_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: math/sum_of_binomial_coefficient.cpp File Reference +TheAlgorithms/C++: math/sum_of_binomial_coefficient.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -121,7 +138,9 @@ Include dependency graph for sum_of_binomial_coefficient.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -142,6 +161,8 @@ Functions

    Algorithm to find sum of binomial coefficients of a given positive integer.

    Given a positive integer n, the task is to find the sum of binomial coefficient i.e nC0 + nC1 + nC2 + ... + nCn-1 + nCn By induction, we can prove that the sum is equal to 2^n

    See also
    more on https://en.wikipedia.org/wiki/Binomial_coefficient#Sums_of_the_binomial_coefficients
    Author
    muskan0719
    + +

    Definition in file sum_of_binomial_coefficient.cpp.

    Function Documentation

    ◆ main()

    @@ -160,17 +181,14 @@ Functions

    Main function.

    Returns
    0 on exit
    + +

    Definition at line 64 of file sum_of_binomial_coefficient.cpp.

    64 {
    65 test(); // execute the tests
    66 return 0;
    67}
    -
    static void test()
    Definition sum_of_binomial_coefficient.cpp:38
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static void test()
    + @@ -196,36 +214,31 @@ Here is the call graph for this function:

    Namespaces

    namespace  math

    Function for testing binomialCoeffSum function. test cases and assert statement.

    Returns
    void
    + +

    Definition at line 38 of file sum_of_binomial_coefficient.cpp.

    38 {
    39 int test_case_1 = math::binomialCoeffSum(2);
    40 assert(test_case_1 == 4);
    -
    41 std::cout << "Test_case_1 Passed!" << std::endl;
    +
    41 std::cout << "Test_case_1 Passed!" << std::endl;
    42
    43 int test_case_2 = math::binomialCoeffSum(3);
    44 assert(test_case_2 == 8);
    -
    45 std::cout << "Test_case_2 Passed!" << std::endl;
    +
    45 std::cout << "Test_case_2 Passed!" << std::endl;
    46
    47 int test_case_3 = math::binomialCoeffSum(4);
    48 assert(test_case_3 == 16);
    -
    49 std::cout << "Test_case_3 Passed!" << std::endl;
    +
    49 std::cout << "Test_case_3 Passed!" << std::endl;
    50
    51 int test_case_4 = math::binomialCoeffSum(5);
    52 assert(test_case_4 == 32);
    -
    53 std::cout << "Test_case_4 Passed!" << std::endl;
    +
    53 std::cout << "Test_case_4 Passed!" << std::endl;
    54
    55 int test_case_5 = math::binomialCoeffSum(7);
    56 assert(test_case_5 == 128);
    -
    57 std::cout << "Test_case_5 Passed!" << std::endl;
    +
    57 std::cout << "Test_case_5 Passed!" << std::endl;
    58}
    - -
    T endl(T... args)
    -
    uint64_t binomialCoeffSum(uint64_t n)
    Definition sum_of_binomial_coefficient.cpp:27
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    uint64_t binomialCoeffSum(uint64_t n)
    +
    diff --git a/d4/d9d/sum__of__binomial__coefficient_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map b/d4/d9d/sum__of__binomial__coefficient_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map deleted file mode 100644 index 120dc7f42..000000000 --- a/d4/d9d/sum__of__binomial__coefficient_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/d4/d9d/sum__of__binomial__coefficient_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 b/d4/d9d/sum__of__binomial__coefficient_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 deleted file mode 100644 index 53f5b9701..000000000 --- a/d4/d9d/sum__of__binomial__coefficient_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -a43b995a69269dcfb655143cc2c79f12 \ No newline at end of file diff --git a/d4/d9d/sum__of__binomial__coefficient_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg b/d4/d9d/sum__of__binomial__coefficient_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg deleted file mode 100644 index 74670a1b6..000000000 --- a/d4/d9d/sum__of__binomial__coefficient_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -math::binomialCoeffSum - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node1->Node3 - - - - - - - - - - - - - diff --git a/d4/d9d/sum__of__binomial__coefficient_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg b/d4/d9d/sum__of__binomial__coefficient_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg deleted file mode 100644 index aab6f6541..000000000 --- a/d4/d9d/sum__of__binomial__coefficient_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -math::binomialCoeffSum - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node1->Node3 - - - - - - - - diff --git a/d4/d9d/sum__of__binomial__coefficient_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d4/d9d/sum__of__binomial__coefficient_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index d63da9e49..000000000 --- a/d4/d9d/sum__of__binomial__coefficient_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/d4/d9d/sum__of__binomial__coefficient_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d4/d9d/sum__of__binomial__coefficient_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index c53717955..000000000 --- a/d4/d9d/sum__of__binomial__coefficient_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -10482d3934ce2e583ee122670522d868 \ No newline at end of file diff --git a/d4/d9d/sum__of__binomial__coefficient_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d4/d9d/sum__of__binomial__coefficient_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index a955f6c13..000000000 --- a/d4/d9d/sum__of__binomial__coefficient_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -math::binomialCoeffSum - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::endl - - - - - -Node2->Node4 - - - - - - - - - - - - - diff --git a/d4/d9d/sum__of__binomial__coefficient_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d4/d9d/sum__of__binomial__coefficient_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index fd29283e6..000000000 --- a/d4/d9d/sum__of__binomial__coefficient_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -math::binomialCoeffSum - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::endl - - - - - -Node2->Node4 - - - - - - - - diff --git a/d4/d9d/sum__of__binomial__coefficient_8cpp_source.html b/d4/d9d/sum__of__binomial__coefficient_8cpp_source.html new file mode 100644 index 000000000..4b51f852a --- /dev/null +++ b/d4/d9d/sum__of__binomial__coefficient_8cpp_source.html @@ -0,0 +1,186 @@ + + + + + + + + +TheAlgorithms/C++: math/sum_of_binomial_coefficient.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    sum_of_binomial_coefficient.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    12#include <cassert>
    +
    13#include <cstdint>
    +
    14#include <iostream>
    +
    15
    +
    20namespace math {
    +
    21
    +
    +
    27uint64_t binomialCoeffSum(uint64_t n) {
    +
    28 // Calculating 2^n
    +
    29 return (1 << n);
    +
    30}
    +
    +
    31} // namespace math
    +
    32
    +
    +
    38static void test() {
    +
    39 int test_case_1 = math::binomialCoeffSum(2);
    +
    40 assert(test_case_1 == 4);
    +
    41 std::cout << "Test_case_1 Passed!" << std::endl;
    +
    42
    +
    43 int test_case_2 = math::binomialCoeffSum(3);
    +
    44 assert(test_case_2 == 8);
    +
    45 std::cout << "Test_case_2 Passed!" << std::endl;
    +
    46
    +
    47 int test_case_3 = math::binomialCoeffSum(4);
    +
    48 assert(test_case_3 == 16);
    +
    49 std::cout << "Test_case_3 Passed!" << std::endl;
    +
    50
    +
    51 int test_case_4 = math::binomialCoeffSum(5);
    +
    52 assert(test_case_4 == 32);
    +
    53 std::cout << "Test_case_4 Passed!" << std::endl;
    +
    54
    +
    55 int test_case_5 = math::binomialCoeffSum(7);
    +
    56 assert(test_case_5 == 128);
    +
    57 std::cout << "Test_case_5 Passed!" << std::endl;
    +
    58}
    +
    +
    59
    +
    +
    64int main() {
    +
    65 test(); // execute the tests
    +
    66 return 0;
    +
    67}
    +
    +
    for assert
    +
    uint64_t binomialCoeffSum(uint64_t n)
    +
    static void test()
    +
    int main()
    Main function.
    +
    +
    + + + + diff --git a/d4/d9f/selection__sort__recursive_8cpp.html b/d4/d9f/selection__sort__recursive_8cpp.html index 078e0f832..321aa96f1 100644 --- a/d4/d9f/selection__sort__recursive_8cpp.html +++ b/d4/d9f/selection__sort__recursive_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: sorting/selection_sort_recursive.cpp File Reference +TheAlgorithms/C++: sorting/selection_sort_recursive.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -123,7 +140,9 @@ Include dependency graph for selection_sort_recursive.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -136,11 +155,11 @@ Namespaces - + - + @@ -157,6 +176,8 @@ Functions 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
    + +

    Definition in file selection_sort_recursive.cpp.

    Function Documentation

    ◆ findMinIndex()

    @@ -169,7 +190,7 @@ template<typename T > - + @@ -194,8 +215,10 @@ template<typename T >
    Returns
    index of the minimum element
    + +

    Definition at line 56 of file selection_sort_recursive.cpp.

    57 {
    -
    58 if (current_position + 1 == in_arr.size()) {
    +
    58 if (current_position + 1 == in_arr.size()) {
    59 return current_position;
    60 }
    61 uint64_t answer = findMinIndex(in_arr, current_position + 1);
    @@ -204,14 +227,8 @@ template<typename T >
    64 }
    65 return answer;
    66}
    -
    uint64_t findMinIndex(const std::vector< T > &in_arr, uint64_t current_position=0)
    The main function finds the index of the minimum element.
    Definition selection_sort_recursive.cpp:56
    -
    T size(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    uint64_t findMinIndex(const std::vector< T > &in_arr, uint64_t current_position=0)
    The main function finds the index of the minimum element.
    + @@ -231,17 +248,14 @@ Here is the call graph for this function:

    Main function.

    Returns
    0 on exit
    + +

    Definition at line 130 of file selection_sort_recursive.cpp.

    130 {
    131 test(); // run self-test implementations
    132 return 0;
    133}
    -
    static void test()
    Self-test implementations.
    Definition selection_sort_recursive.cpp:95
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static void test()
    Self-test implementations.
    + @@ -255,7 +269,7 @@ template<typename T > - + @@ -280,25 +294,21 @@ template<typename T >
    Returns
    void
    + +

    Definition at line 76 of file selection_sort_recursive.cpp.

    77 {
    -
    78 if (current_position == in_arr.size()) {
    +
    78 if (current_position == in_arr.size()) {
    79 return;
    80 }
    81 uint64_t min_element_idx =
    82 selection_sort_recursive::findMinIndex(in_arr, current_position);
    83 if (min_element_idx != current_position) {
    -
    84 std::swap(in_arr[min_element_idx], in_arr[current_position]);
    +
    84 std::swap(in_arr[min_element_idx], in_arr[current_position]);
    85 }
    86 selectionSortRecursive(in_arr, current_position + 1);
    87}
    -
    void selectionSortRecursive(std::vector< T > &in_arr, uint64_t current_position=0)
    The main function implements Selection sort.
    Definition selection_sort_recursive.cpp:76
    -
    T swap(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    void selectionSortRecursive(std::vector< T > &in_arr, uint64_t current_position=0)
    The main function implements Selection sort.
    + @@ -326,48 +336,39 @@ Here is the call graph for this function:

    Self-test implementations.

    Returns
    void
    + +

    Definition at line 95 of file selection_sort_recursive.cpp.

    95 {
    96 // 1st test
    97 // [1, 0, 2, 1] return [0, 1, 1, 2]
    -
    98 std::vector<uint64_t> array1 = {0, 1, 1, 2};
    -
    99 std::cout << "1st test... ";
    +
    98 std::vector<uint64_t> array1 = {0, 1, 1, 2};
    +
    99 std::cout << "1st test... ";
    -
    101 assert(std::is_sorted(std::begin(array1), std::end(array1)));
    -
    102 std::cout << "passed" << std::endl;
    +
    101 assert(std::is_sorted(std::begin(array1), std::end(array1)));
    +
    102 std::cout << "passed" << std::endl;
    103 // 2nd test
    104 // [1, 0, 0, 1, 1, 0, 2, 1] return [0, 0, 0, 1, 1, 1, 1, 2]
    -
    105 std::vector<uint64_t> array2 = {1, 0, 0, 1, 1, 0, 2, 1};
    -
    106 std::cout << "2nd test... ";
    +
    105 std::vector<uint64_t> array2 = {1, 0, 0, 1, 1, 0, 2, 1};
    +
    106 std::cout << "2nd test... ";
    -
    108 assert(std::is_sorted(std::begin(array2), std::end(array2)));
    -
    109 std::cout << "passed" << std::endl;
    +
    108 assert(std::is_sorted(std::begin(array2), std::end(array2)));
    +
    109 std::cout << "passed" << std::endl;
    110 // 3rd test
    111 // [1, 1, 0, 0, 1, 2, 2, 0, 2, 1] return [0, 0, 0, 1, 1, 1, 1, 2, 2, 2]
    -
    112 std::vector<uint64_t> array3 = {1, 1, 0, 0, 1, 2, 2, 0, 2, 1};
    -
    113 std::cout << "3rd test... ";
    +
    112 std::vector<uint64_t> array3 = {1, 1, 0, 0, 1, 2, 2, 0, 2, 1};
    +
    113 std::cout << "3rd test... ";
    -
    115 assert(std::is_sorted(std::begin(array3), std::end(array3)));
    -
    116 std::cout << "passed" << std::endl;
    +
    115 assert(std::is_sorted(std::begin(array3), std::end(array3)));
    +
    116 std::cout << "passed" << std::endl;
    117 // 4th test
    118 // [2, 2, 2, 0, 0, 1, 1] return [0, 0, 1, 1, 2, 2, 2]
    -
    119 std::vector<uint64_t> array4 = {2, 2, 2, 0, 0, 1, 1};
    -
    120 std::cout << "4th test... ";
    +
    119 std::vector<uint64_t> array4 = {2, 2, 2, 0, 0, 1, 1};
    +
    120 std::cout << "4th test... ";
    -
    122 assert(std::is_sorted(std::begin(array4), std::end(array4)));
    -
    123 std::cout << "passed" << std::endl;
    +
    122 assert(std::is_sorted(std::begin(array4), std::end(array4)));
    +
    123 std::cout << "passed" << std::endl;
    124}
    - -
    T begin(T... args)
    -
    T end(T... args)
    -
    T endl(T... args)
    -
    T is_sorted(T... args)
    - -
    -Here is the call graph for this function:
    -
    -
    -
    - + diff --git a/d4/d9f/selection__sort__recursive_8cpp_a5454eeb691725ccac0f59df1e133f834_cgraph.map b/d4/d9f/selection__sort__recursive_8cpp_a5454eeb691725ccac0f59df1e133f834_cgraph.map deleted file mode 100644 index 333e28b62..000000000 --- a/d4/d9f/selection__sort__recursive_8cpp_a5454eeb691725ccac0f59df1e133f834_cgraph.map +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/d4/d9f/selection__sort__recursive_8cpp_a5454eeb691725ccac0f59df1e133f834_cgraph.md5 b/d4/d9f/selection__sort__recursive_8cpp_a5454eeb691725ccac0f59df1e133f834_cgraph.md5 deleted file mode 100644 index 7057d2fce..000000000 --- a/d4/d9f/selection__sort__recursive_8cpp_a5454eeb691725ccac0f59df1e133f834_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -44c03285eda1fd17cabd68f0a8d5a823 \ No newline at end of file diff --git a/d4/d9f/selection__sort__recursive_8cpp_a5454eeb691725ccac0f59df1e133f834_cgraph.svg b/d4/d9f/selection__sort__recursive_8cpp_a5454eeb691725ccac0f59df1e133f834_cgraph.svg deleted file mode 100644 index b310df0c2..000000000 --- a/d4/d9f/selection__sort__recursive_8cpp_a5454eeb691725ccac0f59df1e133f834_cgraph.svg +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - - - - - - - -sorting::selection_sort_recursive::findMinIndex - - -Node1 - - -sorting::selection -_sort_recursive::findMinIndex - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::vector::size - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d4/d9f/selection__sort__recursive_8cpp_a5454eeb691725ccac0f59df1e133f834_cgraph_org.svg b/d4/d9f/selection__sort__recursive_8cpp_a5454eeb691725ccac0f59df1e133f834_cgraph_org.svg deleted file mode 100644 index 9426b91a1..000000000 --- a/d4/d9f/selection__sort__recursive_8cpp_a5454eeb691725ccac0f59df1e133f834_cgraph_org.svg +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - -sorting::selection_sort_recursive::findMinIndex - - -Node1 - - -sorting::selection -_sort_recursive::findMinIndex - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::vector::size - - - - - -Node1->Node2 - - - - - - - - diff --git a/d4/d9f/selection__sort__recursive_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map b/d4/d9f/selection__sort__recursive_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map deleted file mode 100644 index 61bfe74f5..000000000 --- a/d4/d9f/selection__sort__recursive_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/d4/d9f/selection__sort__recursive_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 b/d4/d9f/selection__sort__recursive_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 deleted file mode 100644 index fd351d130..000000000 --- a/d4/d9f/selection__sort__recursive_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -522e993d38257705e4c580d9bd207756 \ No newline at end of file diff --git a/d4/d9f/selection__sort__recursive_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg b/d4/d9f/selection__sort__recursive_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg deleted file mode 100644 index 7eb6dd32d..000000000 --- a/d4/d9f/selection__sort__recursive_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg +++ /dev/null @@ -1,119 +0,0 @@ - - - - - - - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -std::begin - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::end - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::endl - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::is_sorted - - - - - -Node1->Node5 - - - - - - - - - - - - - diff --git a/d4/d9f/selection__sort__recursive_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg b/d4/d9f/selection__sort__recursive_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg deleted file mode 100644 index 1105d6fc6..000000000 --- a/d4/d9f/selection__sort__recursive_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg +++ /dev/null @@ -1,93 +0,0 @@ - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -std::begin - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::end - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::endl - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::is_sorted - - - - - -Node1->Node5 - - - - - - - - diff --git a/d4/d9f/selection__sort__recursive_8cpp_ab6f7b33a070e376e1f4374e534435e89_cgraph.map b/d4/d9f/selection__sort__recursive_8cpp_ab6f7b33a070e376e1f4374e534435e89_cgraph.map deleted file mode 100644 index 1c9aa02ca..000000000 --- a/d4/d9f/selection__sort__recursive_8cpp_ab6f7b33a070e376e1f4374e534435e89_cgraph.map +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/d4/d9f/selection__sort__recursive_8cpp_ab6f7b33a070e376e1f4374e534435e89_cgraph.md5 b/d4/d9f/selection__sort__recursive_8cpp_ab6f7b33a070e376e1f4374e534435e89_cgraph.md5 deleted file mode 100644 index 7df41166f..000000000 --- a/d4/d9f/selection__sort__recursive_8cpp_ab6f7b33a070e376e1f4374e534435e89_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -53efe72f2aa79118dc40c26d008403a7 \ No newline at end of file diff --git a/d4/d9f/selection__sort__recursive_8cpp_ab6f7b33a070e376e1f4374e534435e89_cgraph.svg b/d4/d9f/selection__sort__recursive_8cpp_ab6f7b33a070e376e1f4374e534435e89_cgraph.svg deleted file mode 100644 index 78720958e..000000000 --- a/d4/d9f/selection__sort__recursive_8cpp_ab6f7b33a070e376e1f4374e534435e89_cgraph.svg +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - - - - - - - -sorting::selection_sort_recursive::selectionSortRecursive - - -Node1 - - -sorting::selection -_sort_recursive::selection -SortRecursive - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::vector::size - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::swap - - - - - -Node1->Node3 - - - - - - - - - - - - - diff --git a/d4/d9f/selection__sort__recursive_8cpp_ab6f7b33a070e376e1f4374e534435e89_cgraph_org.svg b/d4/d9f/selection__sort__recursive_8cpp_ab6f7b33a070e376e1f4374e534435e89_cgraph_org.svg deleted file mode 100644 index c8ae51f25..000000000 --- a/d4/d9f/selection__sort__recursive_8cpp_ab6f7b33a070e376e1f4374e534435e89_cgraph_org.svg +++ /dev/null @@ -1,68 +0,0 @@ - - - - - - -sorting::selection_sort_recursive::selectionSortRecursive - - -Node1 - - -sorting::selection -_sort_recursive::selection -SortRecursive - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::vector::size - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::swap - - - - - -Node1->Node3 - - - - - - - - diff --git a/d4/d9f/selection__sort__recursive_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d4/d9f/selection__sort__recursive_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 34df6e2ff..000000000 --- a/d4/d9f/selection__sort__recursive_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - diff --git a/d4/d9f/selection__sort__recursive_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d4/d9f/selection__sort__recursive_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index 01ee1e0d0..000000000 --- a/d4/d9f/selection__sort__recursive_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -e05a40458562fdd8e5b8e372b4bb3a4e \ No newline at end of file diff --git a/d4/d9f/selection__sort__recursive_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d4/d9f/selection__sort__recursive_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 6a7f2c1d0..000000000 --- a/d4/d9f/selection__sort__recursive_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,137 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::begin - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::end - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -std::endl - - - - - -Node2->Node5 - - - - - - - - -Node6 - - -std::is_sorted - - - - - -Node2->Node6 - - - - - - - - - - - - - diff --git a/d4/d9f/selection__sort__recursive_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d4/d9f/selection__sort__recursive_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 09e5d9d18..000000000 --- a/d4/d9f/selection__sort__recursive_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,111 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::begin - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::end - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -std::endl - - - - - -Node2->Node5 - - - - - - - - -Node6 - - -std::is_sorted - - - - - -Node2->Node6 - - - - - - - - diff --git a/d4/d9f/selection__sort__recursive_8cpp_source.html b/d4/d9f/selection__sort__recursive_8cpp_source.html new file mode 100644 index 000000000..0abe39319 --- /dev/null +++ b/d4/d9f/selection__sort__recursive_8cpp_source.html @@ -0,0 +1,224 @@ + + + + + + + + +TheAlgorithms/C++: sorting/selection_sort_recursive.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    +

    Namespaces

    namespace  sorting

    Functions

    template<typename T >
    uint64_t sorting::selection_sort_recursive::findMinIndex (const std::vector< T > &in_arr, uint64_t current_position=0)
    uint64_t sorting::selection_sort_recursive::findMinIndex (const std::vector< T > &in_arr, uint64_t current_position=0)
     The main function finds the index of the minimum element.
     
    template<typename T >
    void sorting::selection_sort_recursive::selectionSortRecursive (std::vector< T > &in_arr, uint64_t current_position=0)
    void sorting::selection_sort_recursive::selectionSortRecursive (std::vector< T > &in_arr, uint64_t current_position=0)
     The main function implements Selection sort.
     
    static void test ()
    uint64_t sorting::selection_sort_recursive::findMinIndex (const std::vector< T > & in_arr, const std::vector< T > & in_arr,
    void sorting::selection_sort_recursive::selectionSortRecursive (std::vector< T > & in_arr, std::vector< T > & in_arr,
    + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + + +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    selection_sort_recursive.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    30#include <algorithm>
    +
    31#include <cassert>
    +
    32#include <cstdint>
    +
    33#include <iostream>
    +
    34#include <vector>
    +
    35
    +
    40namespace sorting {
    + +
    55template <typename T>
    +
    +
    56uint64_t findMinIndex(const std::vector<T> &in_arr,
    +
    57 uint64_t current_position = 0) {
    +
    58 if (current_position + 1 == in_arr.size()) {
    +
    59 return current_position;
    +
    60 }
    +
    61 uint64_t answer = findMinIndex(in_arr, current_position + 1);
    +
    62 if (in_arr[current_position] < in_arr[answer]) {
    +
    63 answer = current_position;
    +
    64 }
    +
    65 return answer;
    +
    66}
    +
    +
    67
    +
    75template <typename T>
    +
    +
    76void selectionSortRecursive(std::vector<T> &in_arr,
    +
    77 uint64_t current_position = 0) {
    +
    78 if (current_position == in_arr.size()) {
    +
    79 return;
    +
    80 }
    +
    81 uint64_t min_element_idx =
    +
    82 selection_sort_recursive::findMinIndex(in_arr, current_position);
    +
    83 if (min_element_idx != current_position) {
    +
    84 std::swap(in_arr[min_element_idx], in_arr[current_position]);
    +
    85 }
    +
    86 selectionSortRecursive(in_arr, current_position + 1);
    +
    87}
    +
    +
    88} // namespace selection_sort_recursive
    +
    89} // namespace sorting
    +
    90
    +
    +
    95static void test() {
    +
    96 // 1st test
    +
    97 // [1, 0, 2, 1] return [0, 1, 1, 2]
    +
    98 std::vector<uint64_t> array1 = {0, 1, 1, 2};
    +
    99 std::cout << "1st test... ";
    +
    100 sorting::selection_sort_recursive::selectionSortRecursive(array1);
    +
    101 assert(std::is_sorted(std::begin(array1), std::end(array1)));
    +
    102 std::cout << "passed" << std::endl;
    +
    103 // 2nd test
    +
    104 // [1, 0, 0, 1, 1, 0, 2, 1] return [0, 0, 0, 1, 1, 1, 1, 2]
    +
    105 std::vector<uint64_t> array2 = {1, 0, 0, 1, 1, 0, 2, 1};
    +
    106 std::cout << "2nd test... ";
    +
    107 sorting::selection_sort_recursive::selectionSortRecursive(array2);
    +
    108 assert(std::is_sorted(std::begin(array2), std::end(array2)));
    +
    109 std::cout << "passed" << std::endl;
    +
    110 // 3rd test
    +
    111 // [1, 1, 0, 0, 1, 2, 2, 0, 2, 1] return [0, 0, 0, 1, 1, 1, 1, 2, 2, 2]
    +
    112 std::vector<uint64_t> array3 = {1, 1, 0, 0, 1, 2, 2, 0, 2, 1};
    +
    113 std::cout << "3rd test... ";
    +
    114 sorting::selection_sort_recursive::selectionSortRecursive(array3);
    +
    115 assert(std::is_sorted(std::begin(array3), std::end(array3)));
    +
    116 std::cout << "passed" << std::endl;
    +
    117 // 4th test
    +
    118 // [2, 2, 2, 0, 0, 1, 1] return [0, 0, 1, 1, 2, 2, 2]
    +
    119 std::vector<uint64_t> array4 = {2, 2, 2, 0, 0, 1, 1};
    +
    120 std::cout << "4th test... ";
    +
    121 sorting::selection_sort_recursive::selectionSortRecursive(array4);
    +
    122 assert(std::is_sorted(std::begin(array4), std::end(array4)));
    +
    123 std::cout << "passed" << std::endl;
    +
    124}
    +
    +
    125
    +
    +
    130int main() {
    +
    131 test(); // run self-test implementations
    +
    132 return 0;
    +
    133}
    +
    +
    Functions for the Selection sort implementation using recursion.
    +
    for working with vectors
    +
    uint64_t findMinIndex(const std::vector< T > &in_arr, uint64_t current_position=0)
    The main function finds the index of the minimum element.
    +
    static void test()
    Self-test implementations.
    +
    void selectionSortRecursive(std::vector< T > &in_arr, uint64_t current_position=0)
    The main function implements Selection sort.
    +
    int main()
    Main function.
    +
    +
    + + + + diff --git a/d4/da0/gcd__iterative__euclidean_8cpp.html b/d4/da0/gcd__iterative__euclidean_8cpp.html index 31c3a06a5..385dc3ea1 100644 --- a/d4/da0/gcd__iterative__euclidean_8cpp.html +++ b/d4/da0/gcd__iterative__euclidean_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: math/gcd_iterative_euclidean.cpp File Reference +TheAlgorithms/C++: math/gcd_iterative_euclidean.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -119,7 +136,9 @@ Include dependency graph for gcd_iterative_euclidean.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -130,6 +149,8 @@ Functions

    Detailed Description

    Compute the greatest common denominator of two integers using iterative form of Euclidean algorithm

    See also
    gcd_recursive_euclidean.cpp, gcd_of_n_numbers.cpp
    + +

    Definition in file gcd_iterative_euclidean.cpp.

    Function Documentation

    ◆ gcd()

    @@ -150,9 +171,11 @@ Functions

    Functions

    int gcd (int num1, int num2)

    algorithm

    + +

    Definition at line 15 of file gcd_iterative_euclidean.cpp.

    15 {
    16 if (num1 <= 0 | num2 <= 0) {
    -
    17 throw std::domain_error("Euclidean algorithm domain is for ints > 0");
    +
    17 throw std::domain_error("Euclidean algorithm domain is for ints > 0");
    18 }
    19
    20 if (num1 == num2) {
    @@ -178,7 +201,6 @@ Functions
    40
    41 return previous_remainder;
    42}
    -
    @@ -197,27 +219,22 @@ Functions

    Main function

    + +

    Definition at line 47 of file gcd_iterative_euclidean.cpp.

    47 {
    -
    48 std::cout << "gcd of 120,7 is " << (gcd(120, 7)) << std::endl;
    +
    48 std::cout << "gcd of 120,7 is " << (gcd(120, 7)) << std::endl;
    49 try {
    -
    50 std::cout << "gcd of -120,10 is " << gcd(-120, 10) << std::endl;
    -
    51 } catch (const std::domain_error &e) {
    -
    52 std::cout << "Error handling was successful" << std::endl;
    +
    50 std::cout << "gcd of -120,10 is " << gcd(-120, 10) << std::endl;
    +
    51 } catch (const std::domain_error &e) {
    +
    52 std::cout << "Error handling was successful" << std::endl;
    53 }
    -
    54 std::cout << "gcd of 312,221 is " << (gcd(312, 221)) << std::endl;
    -
    55 std::cout << "gcd of 289,204 is " << (gcd(289, 204)) << std::endl;
    +
    54 std::cout << "gcd of 312,221 is " << (gcd(312, 221)) << std::endl;
    +
    55 std::cout << "gcd of 289,204 is " << (gcd(289, 204)) << std::endl;
    56
    57 return 0;
    58}
    - -
    T endl(T... args)
    -
    int gcd(int num1, int num2)
    Definition gcd_iterative_euclidean.cpp:15
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    int gcd(int num1, int num2)
    +
    diff --git a/d4/da0/gcd__iterative__euclidean_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d4/da0/gcd__iterative__euclidean_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 5e3697332..000000000 --- a/d4/da0/gcd__iterative__euclidean_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/d4/da0/gcd__iterative__euclidean_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d4/da0/gcd__iterative__euclidean_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index fd7c5967c..000000000 --- a/d4/da0/gcd__iterative__euclidean_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -b76dbb8fb5cb746041e0628f044ee012 \ No newline at end of file diff --git a/d4/da0/gcd__iterative__euclidean_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d4/da0/gcd__iterative__euclidean_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 2f290a11b..000000000 --- a/d4/da0/gcd__iterative__euclidean_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -gcd - - - - - -Node1->Node3 - - - - - - - - - - - - - diff --git a/d4/da0/gcd__iterative__euclidean_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d4/da0/gcd__iterative__euclidean_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 8a9d986a3..000000000 --- a/d4/da0/gcd__iterative__euclidean_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -gcd - - - - - -Node1->Node3 - - - - - - - - diff --git a/d4/da0/gcd__iterative__euclidean_8cpp_source.html b/d4/da0/gcd__iterative__euclidean_8cpp_source.html new file mode 100644 index 000000000..99acfbb87 --- /dev/null +++ b/d4/da0/gcd__iterative__euclidean_8cpp_source.html @@ -0,0 +1,188 @@ + + + + + + + + +TheAlgorithms/C++: math/gcd_iterative_euclidean.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    gcd_iterative_euclidean.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    9#include <iostream>
    +
    10#include <stdexcept>
    +
    11
    +
    +
    15int gcd(int num1, int num2) {
    +
    16 if (num1 <= 0 | num2 <= 0) {
    +
    17 throw std::domain_error("Euclidean algorithm domain is for ints > 0");
    +
    18 }
    +
    19
    +
    20 if (num1 == num2) {
    +
    21 return num1;
    +
    22 }
    +
    23
    +
    24 int base_num = 0;
    +
    25 int previous_remainder = 1;
    +
    26
    +
    27 if (num1 > num2) {
    +
    28 base_num = num1;
    +
    29 previous_remainder = num2;
    +
    30 } else {
    +
    31 base_num = num2;
    +
    32 previous_remainder = num1;
    +
    33 }
    +
    34
    +
    35 while ((base_num % previous_remainder) != 0) {
    +
    36 int old_base = base_num;
    +
    37 base_num = previous_remainder;
    +
    38 previous_remainder = old_base % previous_remainder;
    +
    39 }
    +
    40
    +
    41 return previous_remainder;
    +
    42}
    +
    +
    43
    +
    +
    47int main() {
    +
    48 std::cout << "gcd of 120,7 is " << (gcd(120, 7)) << std::endl;
    +
    49 try {
    +
    50 std::cout << "gcd of -120,10 is " << gcd(-120, 10) << std::endl;
    +
    51 } catch (const std::domain_error &e) {
    +
    52 std::cout << "Error handling was successful" << std::endl;
    +
    53 }
    +
    54 std::cout << "gcd of 312,221 is " << (gcd(312, 221)) << std::endl;
    +
    55 std::cout << "gcd of 289,204 is " << (gcd(289, 204)) << std::endl;
    +
    56
    +
    57 return 0;
    +
    58}
    +
    +
    int gcd(int num1, int num2)
    + +
    +
    + + + + diff --git a/d4/da0/kadane_8cpp.html b/d4/da0/kadane_8cpp.html index 3b5feb12d..8ce1a0fa6 100644 --- a/d4/da0/kadane_8cpp.html +++ b/d4/da0/kadane_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: dynamic_programming/kadane.cpp File Reference +TheAlgorithms/C++: dynamic_programming/kadane.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -121,7 +138,9 @@ Include dependency graph for kadane.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -134,7 +153,7 @@ Namespaces - + @@ -148,6 +167,8 @@ Functions 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
    + +

    Definition in file kadane.cpp.

    Function Documentation

    ◆ main()

    @@ -166,25 +187,24 @@ Algorithm

    Main function.

    Returns
    0 on exit
    + +

    Definition at line 60 of file kadane.cpp.

    60 {
    61 const int N = 5;
    -
    62 std::array<int, N> n{}; // declaring array
    +
    62 std::array<int, N> n{}; // declaring array
    63 // taking values of elements from user
    64 for (int i = 0; i < n.size(); i++) {
    -
    65 std::cout << "Enter value of n[" << i << "]"
    +
    65 std::cout << "Enter value of n[" << i << "]"
    66 << "\n";
    -
    67 std::cin >> n[i];
    +
    67 std::cin >> n[i];
    68 }
    69 int max_sum = dynamic_programming::kadane::maxSubArray<N>(
    70 n); // calling maxSubArray function
    -
    71 std::cout << "Maximum subarray sum is " << max_sum; // Printing the answer
    +
    71 std::cout << "Maximum subarray sum is " << max_sum; // Printing the answer
    72
    73 return 0;
    74}
    - - - -
    constexpr uint32_t N
    A struct to represent sparse table for min() as their invariant function, for the given array A....
    Definition sparse_table.cpp:48
    +
    constexpr uint32_t N
    A struct to represent sparse table for min() as their invariant function, for the given array A....
    @@ -199,7 +219,7 @@ template<size_t N> - +

    Namespaces

    namespace  dynamic_programming

    Functions

    template<size_t N>
    int dynamic_programming::kadane::maxSubArray (const std::array< int, N > &n)
    int dynamic_programming::kadane::maxSubArray (const std::array< int, N > &n)
     maxSubArray function is used to calculate the maximum sum subarray and returns the value of maximum sum which is stored in the variable max_sum
     
    int main ()
    int dynamic_programming::kadane::maxSubArray (const std::array< int, N > & n)const std::array< int, N > & n)
    @@ -219,24 +239,20 @@ template<size_t N>
    Returns
    the value of maximum subarray sum
    + +

    Definition at line 42 of file kadane.cpp.

    42 {
    43 int curr_sum =
    44 0; // declaring a variable named as curr_sum and initialized it to 0
    45 int max_sum = INT_MIN; // Initialized max_sum to INT_MIN
    46 for (int i : n) { // for loop to iterate over the elements of the array
    47 curr_sum += n[i];
    -
    48 max_sum = std::max(max_sum, curr_sum); // getting the maximum value
    -
    49 curr_sum = std::max(curr_sum, 0); // updating the value of curr_sum
    +
    48 max_sum = std::max(max_sum, curr_sum); // getting the maximum value
    +
    49 curr_sum = std::max(curr_sum, 0); // updating the value of curr_sum
    50 }
    51 return max_sum; // returning the value of max_sum
    52}
    -
    T max(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + diff --git a/d4/da0/kadane_8cpp_af3029007a422a914a85c0b0122f1c7b4_cgraph.map b/d4/da0/kadane_8cpp_af3029007a422a914a85c0b0122f1c7b4_cgraph.map deleted file mode 100644 index 851cec3a0..000000000 --- a/d4/da0/kadane_8cpp_af3029007a422a914a85c0b0122f1c7b4_cgraph.map +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/d4/da0/kadane_8cpp_af3029007a422a914a85c0b0122f1c7b4_cgraph.md5 b/d4/da0/kadane_8cpp_af3029007a422a914a85c0b0122f1c7b4_cgraph.md5 deleted file mode 100644 index 373bfeaad..000000000 --- a/d4/da0/kadane_8cpp_af3029007a422a914a85c0b0122f1c7b4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -48c388afe0d3daac622c444b3cdcdb4f \ No newline at end of file diff --git a/d4/da0/kadane_8cpp_af3029007a422a914a85c0b0122f1c7b4_cgraph.svg b/d4/da0/kadane_8cpp_af3029007a422a914a85c0b0122f1c7b4_cgraph.svg deleted file mode 100644 index 9ffcf1a77..000000000 --- a/d4/da0/kadane_8cpp_af3029007a422a914a85c0b0122f1c7b4_cgraph.svg +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - - - - - - - -dynamic_programming::kadane::maxSubArray - - -Node1 - - -dynamic_programming -::kadane::maxSubArray - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::max - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d4/da0/kadane_8cpp_af3029007a422a914a85c0b0122f1c7b4_cgraph_org.svg b/d4/da0/kadane_8cpp_af3029007a422a914a85c0b0122f1c7b4_cgraph_org.svg deleted file mode 100644 index 027c5cd14..000000000 --- a/d4/da0/kadane_8cpp_af3029007a422a914a85c0b0122f1c7b4_cgraph_org.svg +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - -dynamic_programming::kadane::maxSubArray - - -Node1 - - -dynamic_programming -::kadane::maxSubArray - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::max - - - - - -Node1->Node2 - - - - - - - - diff --git a/d4/da0/kadane_8cpp_source.html b/d4/da0/kadane_8cpp_source.html new file mode 100644 index 000000000..44123375e --- /dev/null +++ b/d4/da0/kadane_8cpp_source.html @@ -0,0 +1,181 @@ + + + + + + + + +TheAlgorithms/C++: dynamic_programming/kadane.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    kadane.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    20#include <array>
    +
    21#include <climits>
    +
    22#include <iostream>
    +
    27namespace dynamic_programming {
    +
    33namespace kadane {
    +
    41template <size_t N>
    +
    +
    42int maxSubArray(const std::array<int, N> &n) {
    +
    43 int curr_sum =
    +
    44 0; // declaring a variable named as curr_sum and initialized it to 0
    +
    45 int max_sum = INT_MIN; // Initialized max_sum to INT_MIN
    +
    46 for (int i : n) { // for loop to iterate over the elements of the array
    +
    47 curr_sum += n[i];
    +
    48 max_sum = std::max(max_sum, curr_sum); // getting the maximum value
    +
    49 curr_sum = std::max(curr_sum, 0); // updating the value of curr_sum
    +
    50 }
    +
    51 return max_sum; // returning the value of max_sum
    +
    52}
    +
    +
    53} // namespace kadane
    +
    54} // namespace dynamic_programming
    +
    55
    +
    +
    60int main() {
    +
    61 const int N = 5;
    +
    62 std::array<int, N> n{}; // declaring array
    +
    63 // taking values of elements from user
    +
    64 for (int i = 0; i < n.size(); i++) {
    +
    65 std::cout << "Enter value of n[" << i << "]"
    +
    66 << "\n";
    +
    67 std::cin >> n[i];
    +
    68 }
    +
    69 int max_sum = dynamic_programming::kadane::maxSubArray<N>(
    +
    70 n); // calling maxSubArray function
    +
    71 std::cout << "Maximum subarray sum is " << max_sum; // Printing the answer
    +
    72
    +
    73 return 0;
    +
    74}
    +
    +
    int main()
    Main function.
    Definition kadane.cpp:60
    +
    int maxSubArray(const std::array< int, N > &n)
    maxSubArray function is used to calculate the maximum sum subarray and returns the value of maximum s...
    Definition kadane.cpp:42
    +
    Dynamic Programming algorithms.
    +
    Functions for Kadane algorithm.
    +
    +
    + + + + diff --git a/d4/db4/struct_segment_intersection.html b/d4/db4/struct_segment_intersection.html index 1540ae55f..6cde34f2a 100644 --- a/d4/db4/struct_segment_intersection.html +++ b/d4/db4/struct_segment_intersection.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: SegmentIntersection Struct Reference +TheAlgorithms/C++: SegmentIntersection Struct Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -122,6 +139,8 @@ Public Member Functions
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++

    Detailed Description

    intersect returns true if segments of two line intersects and false if they do not. It calls the subroutines direction which computes the orientation.

    + +

    Definition at line 22 of file line_segment_intersection.cpp.

    Member Function Documentation

    ◆ direction()

    @@ -155,13 +174,15 @@ Public Member Functions

    We will find direction of line here respect to @first_point. Here @second_point and @third_point is first and second points of the line respectively. we want a method to determine which way a given angle these three points turns. If returned number is negative, then the angle is counter-clockwise. That means the line is going to right to left. We will fount angle as clockwise if the method returns positive number.

    + +

    Definition at line 63 of file line_segment_intersection.cpp.

    64 {
    65 return ((third_point.x - first_point.x) *
    66 (second_point.y - first_point.y)) -
    67 ((second_point.x - first_point.x) *
    68 (third_point.y - first_point.y));
    69 }
    -
    int y
    Point respect to x coordinate.
    Definition line_segment_intersection.cpp:14
    +
    int y
    Point respect to x coordinate.
    @@ -201,6 +222,8 @@ Public Member Functions
    + +

    Definition at line 23 of file line_segment_intersection.cpp.

    24 {
    25 int direction1 = direction(third_point, forth_point, first_point);
    26 int direction2 = direction(third_point, forth_point, second_point);
    @@ -230,8 +253,8 @@ Public Member Functions
    50 else
    51 return false;
    52 }
    -
    bool on_segment(Point first_point, Point second_point, Point third_point)
    Definition line_segment_intersection.cpp:75
    -
    int direction(Point first_point, Point second_point, Point third_point)
    Definition line_segment_intersection.cpp:63
    +
    bool on_segment(Point first_point, Point second_point, Point third_point)
    +
    int direction(Point first_point, Point second_point, Point third_point)
    @@ -267,28 +290,23 @@ Public Member Functions

    This method determines whether a point known to be colinear with a segment lies on that segment.

    + +

    Definition at line 75 of file line_segment_intersection.cpp.

    76 {
    -
    77 if (std::min(first_point.x, second_point.x) <= third_point.x &&
    -
    78 third_point.x <= std::max(first_point.x, second_point.x) &&
    -
    79 std::min(first_point.y, second_point.y) <= third_point.y &&
    -
    80 third_point.y <= std::max(first_point.y, second_point.y))
    +
    77 if (std::min(first_point.x, second_point.x) <= third_point.x &&
    +
    78 third_point.x <= std::max(first_point.x, second_point.x) &&
    +
    79 std::min(first_point.y, second_point.y) <= third_point.y &&
    +
    80 third_point.y <= std::max(first_point.y, second_point.y))
    81 return true;
    82
    83 else
    84 return false;
    85 }
    -
    T max(T... args)
    -
    T min(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +

    The documentation for this struct was generated from the following file: diff --git a/d4/db4/struct_segment_intersection_a008941b2272866c64cdaf959afa939bf_cgraph.map b/d4/db4/struct_segment_intersection_a008941b2272866c64cdaf959afa939bf_cgraph.map deleted file mode 100644 index 4774358db..000000000 --- a/d4/db4/struct_segment_intersection_a008941b2272866c64cdaf959afa939bf_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/d4/db4/struct_segment_intersection_a008941b2272866c64cdaf959afa939bf_cgraph.md5 b/d4/db4/struct_segment_intersection_a008941b2272866c64cdaf959afa939bf_cgraph.md5 deleted file mode 100644 index 38f4236f0..000000000 --- a/d4/db4/struct_segment_intersection_a008941b2272866c64cdaf959afa939bf_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -2544310926a0fc4e8a5c1b7265ac5fdb \ No newline at end of file diff --git a/d4/db4/struct_segment_intersection_a008941b2272866c64cdaf959afa939bf_cgraph.svg b/d4/db4/struct_segment_intersection_a008941b2272866c64cdaf959afa939bf_cgraph.svg deleted file mode 100644 index 76770e4a2..000000000 --- a/d4/db4/struct_segment_intersection_a008941b2272866c64cdaf959afa939bf_cgraph.svg +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - - - - - -SegmentIntersection::on_segment - - -Node1 - - -SegmentIntersection -::on_segment - - - - - -Node2 - - -std::max - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::min - - - - - -Node1->Node3 - - - - - - - - - - - - - diff --git a/d4/db4/struct_segment_intersection_a008941b2272866c64cdaf959afa939bf_cgraph_org.svg b/d4/db4/struct_segment_intersection_a008941b2272866c64cdaf959afa939bf_cgraph_org.svg deleted file mode 100644 index 5ae24e374..000000000 --- a/d4/db4/struct_segment_intersection_a008941b2272866c64cdaf959afa939bf_cgraph_org.svg +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - -SegmentIntersection::on_segment - - -Node1 - - -SegmentIntersection -::on_segment - - - - - -Node2 - - -std::max - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::min - - - - - -Node1->Node3 - - - - - - - - diff --git a/d4/db6/reverse__binary__tree_8cpp.html b/d4/db6/reverse__binary__tree_8cpp.html index 6b3673504..cf1e4c923 100644 --- a/d4/db6/reverse__binary__tree_8cpp.html +++ b/d4/db6/reverse__binary__tree_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: operations_on_datastructures/reverse_binary_tree.cpp File Reference +TheAlgorithms/C++: operations_on_datastructures/reverse_binary_tree.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -123,7 +140,9 @@ Include dependency graph for reverse_binary_tree.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -136,7 +155,7 @@ Classes - + @@ -166,6 +185,8 @@ Functions

    Detailed Description

    Implementation for the Reversing a Binary Tree recursively algorithm.

    A binary tree can be reversed by swapping the left and right child of a node at each node, starting from the root, and cascading below. This solution aims to provide an implementation of a recursive reversal of a binary tree.

    Author
    Alvin
    + +

    Definition in file reverse_binary_tree.cpp.

    Function Documentation

    ◆ main()

    @@ -184,17 +205,14 @@ Functions

    main function

    Returns
    0 on exit
    + +

    Definition at line 270 of file reverse_binary_tree.cpp.

    270 {
    271 test(); // run self-test implementations
    272 return 0;
    273}
    -
    static void test()
    Function to test the correctness of the Tree Reversal.
    Definition reverse_binary_tree.cpp:260
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static void test()
    Function to test the correctness of the Tree Reversal.
    + @@ -224,20 +242,17 @@ Here is the call graph for this function:

    < Single element test

    < No element test

    < Correct reversal test

    -
    260 {
    -
    261 tests::test1(); ///< Single element test
    -
    262 tests::test2(); ///< No element test
    -
    263 tests::test3(); ///< Correct reversal test
    -
    264}
    -
    void test1()
    A Test to check an simple case.
    Definition array_left_rotation.cpp:75
    -
    void test3()
    A Test to check an invalid shift value.
    Definition array_left_rotation.cpp:105
    -
    void test2()
    A Test to check an empty vector.
    Definition array_left_rotation.cpp:90
    -
    -Here is the call graph for this function:
    -
    -
    -
    +

    Definition at line 260 of file reverse_binary_tree.cpp.

    +
    260 {
    +
    261 tests::test1();
    +
    262 tests::test2();
    +
    263 tests::test3();
    +
    264}
    +
    void test1()
    A Test to check an simple case.
    +
    void test3()
    A Test to check an invalid shift value.
    +
    void test2()
    A Test to check an empty vector.
    +
    diff --git a/d4/db6/reverse__binary__tree_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map b/d4/db6/reverse__binary__tree_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map deleted file mode 100644 index 513af940c..000000000 --- a/d4/db6/reverse__binary__tree_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/d4/db6/reverse__binary__tree_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 b/d4/db6/reverse__binary__tree_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 deleted file mode 100644 index 395f0d66c..000000000 --- a/d4/db6/reverse__binary__tree_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -89afb8316765aced4aeb42408a152786 \ No newline at end of file diff --git a/d4/db6/reverse__binary__tree_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg b/d4/db6/reverse__binary__tree_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg deleted file mode 100644 index ddf331874..000000000 --- a/d4/db6/reverse__binary__tree_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -tests::test1 - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -tests::test2 - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -tests::test3 - - - - - -Node1->Node4 - - - - - - - - - - - - - diff --git a/d4/db6/reverse__binary__tree_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg b/d4/db6/reverse__binary__tree_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg deleted file mode 100644 index f762e1aee..000000000 --- a/d4/db6/reverse__binary__tree_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -tests::test1 - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -tests::test2 - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -tests::test3 - - - - - -Node1->Node4 - - - - - - - - diff --git a/d4/db6/reverse__binary__tree_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d4/db6/reverse__binary__tree_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index f1f6d069e..000000000 --- a/d4/db6/reverse__binary__tree_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/d4/db6/reverse__binary__tree_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d4/db6/reverse__binary__tree_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index 456e6ba72..000000000 --- a/d4/db6/reverse__binary__tree_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -e07e69e93602db7aa4dab6f26b6ddceb \ No newline at end of file diff --git a/d4/db6/reverse__binary__tree_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d4/db6/reverse__binary__tree_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 948e4d977..000000000 --- a/d4/db6/reverse__binary__tree_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,119 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -tests::test1 - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -tests::test2 - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -tests::test3 - - - - - -Node2->Node5 - - - - - - - - - - - - - diff --git a/d4/db6/reverse__binary__tree_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d4/db6/reverse__binary__tree_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 883857e3f..000000000 --- a/d4/db6/reverse__binary__tree_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,93 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -tests::test1 - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -tests::test2 - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -tests::test3 - - - - - -Node2->Node5 - - - - - - - - diff --git a/d4/db6/reverse__binary__tree_8cpp_source.html b/d4/db6/reverse__binary__tree_8cpp_source.html new file mode 100644 index 000000000..0569fbd58 --- /dev/null +++ b/d4/db6/reverse__binary__tree_8cpp_source.html @@ -0,0 +1,359 @@ + + + + + + + + +TheAlgorithms/C++: operations_on_datastructures/reverse_binary_tree.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    +

    Classes

    struct  operations_on_datastructures::reverse_binary_tree::Node

    Namespaces

    namespace  operations_on_datastructures
     for std::vector
     for std::vector
     
    namespace  reverse_binary_tree
     Functions for the Reverse a Binary Tree implementation.
    + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + + +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    reverse_binary_tree.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    13#include <cassert>
    +
    14#include <iostream>
    +
    15#include <queue>
    +
    16#include <vector>
    +
    17
    + +
    23
    +
    29namespace reverse_binary_tree {
    +
    30
    +
    +
    34struct Node {
    +
    35 int64_t data;
    + + +
    +
    41 explicit Node(int64_t _data) {
    +
    42 data = _data;
    +
    43 left = nullptr;
    +
    44 right = nullptr;
    +
    45 }
    +
    +
    46};
    +
    +
    47
    +
    + +
    53 private:
    + +
    +
    65 Node* insert(int64_t data, Node* pivot) {
    +
    66 if (pivot == nullptr) {
    +
    67 return new Node(data);
    +
    68 }
    + +
    70 pivot->left =
    +
    71 insert(data, pivot->left);
    +
    72 } else {
    +
    73 pivot->right =
    +
    74 insert(data, pivot->right);
    +
    75 }
    +
    76 return pivot;
    +
    77 }
    +
    +
    + +
    85 if (pivot == nullptr) {
    +
    86 return pivot;
    +
    87 }
    +
    88 Node* temp = pivot->left;
    +
    89 pivot->left = reverseBinaryTree(pivot->right);
    +
    90 pivot->right = reverseBinaryTree(temp);
    +
    91 return pivot;
    +
    92 }
    +
    +
    93
    +
    94 BinaryTree(const BinaryTree&) = delete;
    +
    95 BinaryTree& operator=(const BinaryTree&) = delete;
    +
    96
    +
    97 public:
    +
    101 BinaryTree() { root = nullptr; }
    +
    105 explicit BinaryTree(int64_t data) { root = new Node(data); }
    +
    106
    +
    107 ~BinaryTree() {
    +
    108 std::vector<Node*> nodes;
    +
    109 nodes.emplace_back(root);
    +
    110 while (!nodes.empty()) {
    +
    111 const auto cur_node = nodes.back();
    +
    112 nodes.pop_back();
    +
    113 if (cur_node) {
    +
    114 nodes.emplace_back(cur_node->left);
    +
    115 nodes.emplace_back(cur_node->right);
    +
    116 delete cur_node;
    +
    117 }
    +
    118 }
    +
    119 }
    +
    120
    +
    124 void add(int64_t data) { root = insert(data, root); }
    + +
    +
    139 std::vector<int64_t> get_level_order() {
    +
    140 std::vector<int64_t> data;
    +
    141 if (root == nullptr) {
    +
    142 return data;
    +
    143 }
    +
    144 std::queue<Node*> nodes;
    +
    145 nodes.push(root);
    +
    146 while (!nodes.empty()) {
    +
    147 Node* temp = nodes.front();
    +
    148 data.push_back(temp->data);
    +
    149 nodes.pop();
    +
    150 if (temp->left != nullptr) {
    +
    151 nodes.push(temp->left);
    +
    152 }
    +
    153 if (temp->right != nullptr) {
    +
    154 nodes.push(temp->right);
    +
    155 }
    +
    156 }
    +
    157 return data;
    +
    158 }
    +
    +
    +
    164 void print() {
    +
    165 for (int i : get_level_order()) {
    +
    166 std::cout << i << " ";
    +
    167 }
    +
    168 std::cout << "\n";
    +
    169 }
    +
    +
    170};
    +
    +
    171
    +
    172} // namespace reverse_binary_tree
    +
    173} // namespace operations_on_datastructures
    +
    174
    +
    179namespace tests {
    +
    180using operations_on_datastructures::reverse_binary_tree::
    +
    181 BinaryTree;
    +
    185void test1() {
    +
    186 BinaryTree bst;
    +
    187 std::vector<int64_t> pre_reversal, post_reversal;
    +
    188 std::cout << "TEST CASE 1\n";
    +
    189 std::cout << "Initializing tree with a single element (5)\n";
    +
    190 bst.add(5);
    +
    191 pre_reversal = bst.get_level_order();
    +
    192 std::cout << "Before reversal: ";
    +
    193 bst.print();
    +
    194 std::cout << "After reversal: ";
    +
    195 bst.reverse();
    +
    196 post_reversal = bst.get_level_order();
    +
    197 assert(pre_reversal.size() ==
    +
    198 post_reversal.size());
    +
    199 assert(pre_reversal.size() ==
    +
    200 1);
    +
    201 assert(pre_reversal[0] ==
    +
    202 post_reversal[0]);
    +
    203 bst.print();
    +
    204 std::cout << "TEST PASSED!\n\n";
    +
    205}
    +
    209void test2() {
    +
    210 BinaryTree bst;
    +
    211 std::vector<int64_t> pre_reversal, post_reversal;
    +
    212 std::cout << "TEST CASE 2\n";
    +
    213 std::cout << "Creating empty tree (root points to NULL)\n";
    +
    214 pre_reversal = bst.get_level_order();
    +
    215 std::cout << "Before reversal: ";
    +
    216 bst.print();
    +
    217 std::cout << "After reversal: ";
    +
    218 bst.reverse();
    +
    219 post_reversal = bst.get_level_order();
    +
    220 assert(pre_reversal.size() ==
    +
    221 post_reversal.size());
    +
    222 assert(pre_reversal.size() ==
    +
    223 0);
    +
    224 bst.print();
    +
    225 std::cout << "TEST PASSED!\n\n";
    +
    226}
    +
    230void test3() {
    +
    231 BinaryTree bst;
    +
    232 std::vector<int64_t> pre_reversal, post_reversal;
    +
    233 std::vector<int64_t> pre_res = {4, 3, 6, 2, 5, 7, 1};
    +
    234 std::vector<int64_t> post_res = {4, 6, 3, 7, 5, 2, 1};
    +
    235 std::cout << "TEST CASE 3\n";
    +
    236 std::cout << "Creating tree with elements (4, 6, 3, 2, 5, 7, 1)\n";
    +
    237 bst.add(4);
    +
    238 bst.add(6);
    +
    239 bst.add(3);
    +
    240 bst.add(2);
    +
    241 bst.add(5);
    +
    242 bst.add(7);
    +
    243 bst.add(1);
    +
    244 pre_reversal = bst.get_level_order();
    +
    245 assert(pre_reversal == pre_res);
    +
    246 std::cout << "Before reversal: ";
    +
    247 bst.print();
    +
    248 std::cout << "After reversal: ";
    +
    249 bst.reverse();
    +
    250 post_reversal = bst.get_level_order();
    +
    251 assert(post_reversal == post_res);
    +
    252 bst.print();
    +
    253 std::cout << "TEST PASSED!\n\n";
    +
    254}
    +
    255} // namespace tests
    +
    256
    +
    +
    260static void test() {
    +
    261 tests::test1();
    +
    262 tests::test2();
    +
    263 tests::test3();
    +
    264}
    +
    +
    265
    +
    +
    270int main() {
    +
    271 test(); // run self-test implementations
    +
    272 return 0;
    +
    273}
    +
    +
    A Binary Tree class that implements a Binary Search Tree (BST) by default.
    + +
    std::vector< int64_t > get_level_order()
    Level order traversal of a tree consists of visiting its elements, top to bottom, left to right....
    +
    void add(int64_t data)
    Adds a new Node to the Binary Tree.
    +
    void print()
    Prints all of the elements in the tree to stdout level-by-level, using the get_level_order() function...
    + +
    BinaryTree(int64_t data)
    Creates a BinaryTree with a root with an initial value.
    +
    BinaryTree()
    Creates a BinaryTree with a root pointing to NULL.
    +
    Node * insert(int64_t data, Node *pivot)
    inserts a node in the Binary Tree, with the behaviouur of a Binary Search Tree.
    +
    Node * reverseBinaryTree(Node *pivot)
    Reverses a Binary Tree recursively by swapping the left and right subtrees and their children.
    +
    int data[MAX]
    test data
    + +
    Functions for the Reverse a Binary Tree implementation.
    +
    Testcases to check Union of Two Arrays.
    +
    void test1()
    A Test to check an simple case.
    +
    void test3()
    A Test to check an invalid shift value.
    +
    void test2()
    A Test to check an empty vector.
    +
    static void test()
    Function to test the correctness of the Tree Reversal.
    +
    int main()
    main function
    +
    A Node struct that represents a single node in a Binary Tree.
    +
    Node(int64_t _data)
    Creates a new Node with some initial data.
    + + + +
    +
    + + + + diff --git a/d4/db6/struct_min_heap_node-members.html b/d4/db6/struct_min_heap_node-members.html index 66bc491d9..adeabe0f5 100644 --- a/d4/db6/struct_min_heap_node-members.html +++ b/d4/db6/struct_min_heap_node-members.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Member List +TheAlgorithms/C++: Member List + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/d4/db8/longest__substring__without__repeating__characters_8cpp.html b/d4/db8/longest__substring__without__repeating__characters_8cpp.html index 4403f6634..835e3c322 100644 --- a/d4/db8/longest__substring__without__repeating__characters_8cpp.html +++ b/d4/db8/longest__substring__without__repeating__characters_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: others/longest_substring_without_repeating_characters.cpp File Reference +TheAlgorithms/C++: others/longest_substring_without_repeating_characters.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + @@ -123,7 +140,9 @@ Include dependency graph for longest_substring_without_repeating_characters.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -146,6 +165,8 @@ Functions

    Approach: 1) Initialize an unordered_map to track the frequency of characters. 2) Use a deque for pushing characters, and update the result deque (res) with the current deque (temp) whenever we find a longer substring. 3) Use a while loop to reduce the frequency from the front, incrementing i, and removing characters from the temp deque as we no longer need them. 4) Return res.size() as we are interested in the length of the longest substring.

    Time Complexity: O(N) Space Complexity: O(N)

    I hope this helps to understand. Thank you!

    Author
    Ashish Kumar Sahoo
    + +

    Definition in file longest_substring_without_repeating_characters.cpp.

    Function Documentation

    ◆ main()

    @@ -164,17 +185,14 @@ Functions

    Main function.

    Returns
    0 on successful execution.
    + +

    Definition at line 107 of file longest_substring_without_repeating_characters.cpp.

    107 {
    108 tests(); // run self-test implementations
    109 return 0;
    110}
    -
    static void tests()
    Self-test implementations.
    Definition longest_substring_without_repeating_characters.cpp:92
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static void tests()
    Self-test implementations.
    + @@ -202,6 +220,8 @@ Here is the call graph for this function:

    Self-test implementations.

    Returns
    void
    + +

    Definition at line 92 of file longest_substring_without_repeating_characters.cpp.

    92 {
    94 assert(soln.lengthOfLongestSubstring("abcabcbb") == 3);
    @@ -210,18 +230,11 @@ Here is the call graph for this function:
    97 assert(soln.lengthOfLongestSubstring("") == 0); // Test case for empty string
    98 assert(soln.lengthOfLongestSubstring("abcdef") == 6); // Test case for all unique characters
    99 assert(soln.lengthOfLongestSubstring("a") == 1); // Single character
    -
    100 std::cout << "All test cases passed!" << std::endl;
    +
    100 std::cout << "All test cases passed!" << std::endl;
    101}
    - -
    Class that solves the Longest Substring Without Repeating Characters problem.
    Definition longest_substring_without_repeating_characters.cpp:37
    -
    int lengthOfLongestSubstring(std::string s)
    Function to find the length of the longest substring without repeating characters.
    Definition longest_substring_without_repeating_characters.cpp:44
    -
    T endl(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    Class that solves the Longest Substring Without Repeating Characters problem.
    +
    int lengthOfLongestSubstring(std::string s)
    Function to find the length of the longest substring without repeating characters.
    + diff --git a/d4/db8/longest__substring__without__repeating__characters_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.map b/d4/db8/longest__substring__without__repeating__characters_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.map deleted file mode 100644 index a451ff9d1..000000000 --- a/d4/db8/longest__substring__without__repeating__characters_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.map +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - - - - - diff --git a/d4/db8/longest__substring__without__repeating__characters_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 b/d4/db8/longest__substring__without__repeating__characters_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 deleted file mode 100644 index a26b6545b..000000000 --- a/d4/db8/longest__substring__without__repeating__characters_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -ec4a64e645c08d440cf37b1dc5b42cb5 \ No newline at end of file diff --git a/d4/db8/longest__substring__without__repeating__characters_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.svg b/d4/db8/longest__substring__without__repeating__characters_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.svg deleted file mode 100644 index 036bf0964..000000000 --- a/d4/db8/longest__substring__without__repeating__characters_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.svg +++ /dev/null @@ -1,165 +0,0 @@ - - - - - - - - - - - - -tests - - -Node1 - - -tests - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -Longest_Substring:: -lengthOfLongestSubstring - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::string::length - - - - - -Node3->Node4 - - - - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -std::deque::pop_front - - - - - -Node3->Node5 - - - - - - - - -Node6 - - -std::deque::push_back - - - - - -Node3->Node6 - - - - - - - - -Node7 - - -std::deque::size - - - - - -Node3->Node7 - - - - - - - - - - - - - diff --git a/d4/db8/longest__substring__without__repeating__characters_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph_org.svg b/d4/db8/longest__substring__without__repeating__characters_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph_org.svg deleted file mode 100644 index a939678c7..000000000 --- a/d4/db8/longest__substring__without__repeating__characters_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph_org.svg +++ /dev/null @@ -1,139 +0,0 @@ - - - - - - -tests - - -Node1 - - -tests - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -Longest_Substring:: -lengthOfLongestSubstring - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::string::length - - - - - -Node3->Node4 - - - - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -std::deque::pop_front - - - - - -Node3->Node5 - - - - - - - - -Node6 - - -std::deque::push_back - - - - - -Node3->Node6 - - - - - - - - -Node7 - - -std::deque::size - - - - - -Node3->Node7 - - - - - - - - diff --git a/d4/db8/longest__substring__without__repeating__characters_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d4/db8/longest__substring__without__repeating__characters_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 6ac5cd802..000000000 --- a/d4/db8/longest__substring__without__repeating__characters_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - - - - - - - - - - diff --git a/d4/db8/longest__substring__without__repeating__characters_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d4/db8/longest__substring__without__repeating__characters_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index cd17fb9e2..000000000 --- a/d4/db8/longest__substring__without__repeating__characters_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -9a298f8fde636c70b4993bda1b8ba5bb \ No newline at end of file diff --git a/d4/db8/longest__substring__without__repeating__characters_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d4/db8/longest__substring__without__repeating__characters_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index c08e70978..000000000 --- a/d4/db8/longest__substring__without__repeating__characters_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,183 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -tests - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -Longest_Substring:: -lengthOfLongestSubstring - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -std::string::length - - - - - -Node4->Node5 - - - - - - - - -Node4->Node5 - - - - - - - - -Node6 - - -std::deque::pop_front - - - - - -Node4->Node6 - - - - - - - - -Node7 - - -std::deque::push_back - - - - - -Node4->Node7 - - - - - - - - -Node8 - - -std::deque::size - - - - - -Node4->Node8 - - - - - - - - - - - - - diff --git a/d4/db8/longest__substring__without__repeating__characters_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d4/db8/longest__substring__without__repeating__characters_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index be17519b0..000000000 --- a/d4/db8/longest__substring__without__repeating__characters_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,157 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -tests - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -Longest_Substring:: -lengthOfLongestSubstring - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -std::string::length - - - - - -Node4->Node5 - - - - - - - - -Node4->Node5 - - - - - - - - -Node6 - - -std::deque::pop_front - - - - - -Node4->Node6 - - - - - - - - -Node7 - - -std::deque::push_back - - - - - -Node4->Node7 - - - - - - - - -Node8 - - -std::deque::size - - - - - -Node4->Node8 - - - - - - - - diff --git a/d4/db8/longest__substring__without__repeating__characters_8cpp_source.html b/d4/db8/longest__substring__without__repeating__characters_8cpp_source.html new file mode 100644 index 000000000..61983e1fc --- /dev/null +++ b/d4/db8/longest__substring__without__repeating__characters_8cpp_source.html @@ -0,0 +1,217 @@ + + + + + + + + +TheAlgorithms/C++: others/longest_substring_without_repeating_characters.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    +

    Classes

    class  Longest_Substring
    + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + + +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    longest_substring_without_repeating_characters.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    27#include <iostream> // for IO Operations
    +
    28#include <unordered_map> // for std::unordered_map
    +
    29#include <deque> // for std::deque
    +
    30#include <string> // for string class/string datatype which is taken as input
    +
    31#include <cassert> // for assert
    +
    32
    +
    + +
    38public:
    +
    +
    44 int lengthOfLongestSubstring(std::string s) {
    +
    45 // If the size of string is 1, then it will be the answer.
    +
    46 if (s.size() == 1) return 1;
    +
    47
    +
    48 // Map used to store the character frequency.
    +
    49 std::unordered_map<char, int> m;
    +
    50 int n = s.length();
    +
    51
    +
    52 // Deque to remove from back if repeating characters are present.
    +
    53 std::deque<char> temp;
    +
    54 std::deque<char> res;
    +
    55 int i, j;
    +
    56
    +
    57 // Sliding window approach using two pointers.
    +
    58 for (i = 0, j = 0; i < n && j < n;) {
    +
    59 m[s[j]]++;
    +
    60
    +
    61 // If repeating character found, update result and remove from the front.
    +
    62 if (m[s[j]] > 1) {
    +
    63 if (temp.size() > res.size()) {
    +
    64 res = temp;
    +
    65 }
    +
    66
    +
    67 while (m[s[j]] > 1) {
    +
    68 temp.pop_front();
    +
    69 m[s[i]]--;
    +
    70 i++;
    +
    71 }
    +
    72 }
    +
    73
    +
    74 // Add the current character to the deque.
    +
    75 temp.push_back(s[j]);
    +
    76 j++;
    +
    77 }
    +
    78
    +
    79 // Final check to update result.
    +
    80 if (temp.size() > res.size()) {
    +
    81 res = temp;
    +
    82 }
    +
    83
    +
    84 return res.size(); // Return the length of the longest substring.
    +
    85 }
    +
    +
    86};
    +
    +
    87
    +
    +
    92static void tests() {
    + +
    94 assert(soln.lengthOfLongestSubstring("abcabcbb") == 3);
    +
    95 assert(soln.lengthOfLongestSubstring("bbbbb") == 1);
    +
    96 assert(soln.lengthOfLongestSubstring("pwwkew") == 3);
    +
    97 assert(soln.lengthOfLongestSubstring("") == 0); // Test case for empty string
    +
    98 assert(soln.lengthOfLongestSubstring("abcdef") == 6); // Test case for all unique characters
    +
    99 assert(soln.lengthOfLongestSubstring("a") == 1); // Single character
    +
    100 std::cout << "All test cases passed!" << std::endl;
    +
    101}
    +
    +
    102
    +
    +
    107int main() {
    +
    108 tests(); // run self-test implementations
    +
    109 return 0;
    +
    110}
    +
    +
    Class that solves the Longest Substring Without Repeating Characters problem.
    +
    int lengthOfLongestSubstring(std::string s)
    Function to find the length of the longest substring without repeating characters.
    +
    static void tests()
    Self-test implementations.
    + +
    +
    + + + + diff --git a/d4/db9/namespacencr__modulo__p.html b/d4/db9/namespacencr__modulo__p.html index e371c3d7d..180b56cf0 100644 --- a/d4/db9/namespacencr__modulo__p.html +++ b/d4/db9/namespacencr__modulo__p.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: ncr_modulo_p Namespace Reference +TheAlgorithms/C++: ncr_modulo_p Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/d4/dcb/classstack__coll__graph.map b/d4/dcb/classstack__coll__graph.map index e9fff77f7..325e7b916 100644 --- a/d4/dcb/classstack__coll__graph.map +++ b/d4/dcb/classstack__coll__graph.map @@ -1,15 +1,13 @@ - - - - - - - - - - - - - + + + + + + + + + + + diff --git a/d4/dcb/classstack__coll__graph.md5 b/d4/dcb/classstack__coll__graph.md5 index 6759d082b..453c6e72c 100644 --- a/d4/dcb/classstack__coll__graph.md5 +++ b/d4/dcb/classstack__coll__graph.md5 @@ -1 +1 @@ -4b8921eaa0d0947d3209f9144af1d774 \ No newline at end of file +82c39249e4353019f8c703f064c1c6c7 \ No newline at end of file diff --git a/d4/dcb/classstack__coll__graph.svg b/d4/dcb/classstack__coll__graph.svg index df336405d..33b1ace2b 100644 --- a/d4/dcb/classstack__coll__graph.svg +++ b/d4/dcb/classstack__coll__graph.svg @@ -4,8 +4,8 @@ - + @@ -23,18 +23,18 @@ Node1 - -stack< ValueType > + +stack< ValueType > Node2 - - -std::shared_ptr< Node -< value_type > > + + +std::shared_ptr< Node +< value_type > > @@ -42,18 +42,18 @@ Node2->Node1 - - + + - stackTop + stackTop Node3 - -Node< value_type > + +Node< value_type > @@ -61,28 +61,28 @@ Node2->Node3 - - + + - next + next Node3->Node2 - - + + - ptr + ptr Node4 - -Node< ValueType > + +Node< ValueType > @@ -90,29 +90,29 @@ Node4->Node3 - - + + - next + next Node4->Node4 - - + + - next + next Node5 - - -std::shared_ptr< Node -< ValueType > > + + +std::shared_ptr< Node +< ValueType > > @@ -120,30 +120,11 @@ Node5->Node4 - - + + - next - - - -Node6 - - -std::size_t - - - - - -Node6->Node1 - - - - - - size + next diff --git a/d4/dcb/classstack__coll__graph_org.svg b/d4/dcb/classstack__coll__graph_org.svg index dc4befc08..4ce47adee 100644 --- a/d4/dcb/classstack__coll__graph_org.svg +++ b/d4/dcb/classstack__coll__graph_org.svg @@ -4,26 +4,26 @@ - + stack< ValueType > Node1 - -stack< ValueType > + +stack< ValueType > Node2 - - -std::shared_ptr< Node -< value_type > > + + +std::shared_ptr< Node +< value_type > > @@ -31,18 +31,18 @@ Node2->Node1 - - + + - stackTop + stackTop Node3 - -Node< value_type > + +Node< value_type > @@ -50,28 +50,28 @@ Node2->Node3 - - + + - next + next Node3->Node2 - - + + - ptr + ptr Node4 - -Node< ValueType > + +Node< ValueType > @@ -79,29 +79,29 @@ Node4->Node3 - - + + - next + next Node4->Node4 - - + + - next + next Node5 - - -std::shared_ptr< Node -< ValueType > > + + +std::shared_ptr< Node +< ValueType > > @@ -109,30 +109,11 @@ Node5->Node4 - - + + - next - - - -Node6 - - -std::size_t - - - - - -Node6->Node1 - - - - - - size + next diff --git a/d4/dcd/namespacecircular__linked__list.html b/d4/dcd/namespacecircular__linked__list.html index 7a3912005..127e9b735 100644 --- a/d4/dcd/namespacecircular__linked__list.html +++ b/d4/dcd/namespacecircular__linked__list.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: circular_linked_list Namespace Reference +TheAlgorithms/C++: circular_linked_list Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/d4/dd2/namespacequadratic__probing.html b/d4/dd2/namespacequadratic__probing.html index 0eb3881bf..d67a5691e 100644 --- a/d4/dd2/namespacequadratic__probing.html +++ b/d4/dd2/namespacequadratic__probing.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: quadratic_probing Namespace Reference +TheAlgorithms/C++: quadratic_probing Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + @@ -147,23 +164,17 @@ Functions
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    - + - + - + - + - + - +

    Variables

    -int notPresent
    int notPresent
     
    -std::vector< Entrytable
    std::vector< Entrytable
     
    -int totalSize
    int totalSize
     
    -int tomb = -1
    int tomb = -1
     
    -int size
    int size
     
    -bool rehashing
    bool rehashing
     

    Detailed Description

    @@ -189,6 +200,8 @@ bool rehashing + +

    Definition at line 182 of file quadratic_probing_hash_table.cpp.

    182 {
    183 int index = quadraticProbe(key, false);
    184 table[index].key = key;
    @@ -197,13 +210,8 @@ bool rehashing 187 rehash();
    188 }
    189}
    -
    int quadraticProbe(int key, bool searching)
    Definition quadratic_probing_hash_table.cpp:56
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    int quadraticProbe(int key, bool searching)
    + @@ -226,26 +234,21 @@ Here is the call graph for this function: + +

    Definition at line 207 of file quadratic_probing_hash_table.cpp.

    207 {
    -
    208 std::cout << "Initial table: ";
    +
    208 std::cout << "Initial table: ";
    209 display();
    - -
    211 std::cout << "hash of " << key << " is " << hashFxn(key) << " % "
    +
    210 std::cout << std::endl;
    +
    211 std::cout << "hash of " << key << " is " << hashFxn(key) << " % "
    212 << totalSize << " == " << hashFxn(key) % totalSize;
    - +
    213 std::cout << std::endl;
    214 add(key);
    -
    215 std::cout << "New table: ";
    +
    215 std::cout << "New table: ";
    216 display();
    217}
    - -
    T endl(T... args)
    -
    std::string add(const std::string &first, const std::string &second)
    Adding two string.
    Definition uint128_t.hpp:38
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    std::string add(const std::string &first, const std::string &second)
    Adding two string.
    Definition uint128_t.hpp:38
    + @@ -263,26 +266,23 @@ Here is the call graph for this function:

    Displays the table

    Returns
    None
    + +

    Definition at line 142 of file quadratic_probing_hash_table.cpp.

    142 {
    143 for (int i = 0; i < totalSize; i++) {
    144 if (table[i].key == notPresent) {
    -
    145 std::cout << " Empty ";
    +
    145 std::cout << " Empty ";
    146 } else if (table[i].key == tomb) {
    -
    147 std::cout << " Tomb ";
    +
    147 std::cout << " Tomb ";
    148 } else {
    -
    149 std::cout << " ";
    -
    150 std::cout << table[i].key;
    -
    151 std::cout << " ";
    +
    149 std::cout << " ";
    +
    150 std::cout << table[i].key;
    +
    151 std::cout << " ";
    152 }
    153 }
    - +
    154 std::cout << std::endl;
    155}
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    @@ -308,6 +308,8 @@ Here is the call graph for this function:
    Returns
    if present, the entry instance
    if not present, a new instance
    + +

    Definition at line 131 of file quadratic_probing_hash_table.cpp.

    131 {
    132 int index = quadraticProbe(key, true);
    133 if (index == notPresent) {
    @@ -315,13 +317,8 @@ if not present, a new instance
    135 }
    136 return table[index];
    137}
    -
    Definition quadratic_probing_hash_table.cpp:37
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    + @@ -345,11 +342,12 @@ Here is the call graph for this function:
    Returns
    hash of the key
    + +

    Definition at line 46 of file quadratic_probing_hash_table.cpp.

    46 {
    -
    47 std::hash<int> hash;
    +
    47 std::hash<int> hash;
    48 return hash(key);
    49}
    -
    @@ -381,13 +379,15 @@ Here is the call graph for this function:
    Returns
    true if key is present
    false if key is absent
    + +

    Definition at line 106 of file quadratic_probing_hash_table.cpp.

    106 {
    107 if (entry.key == notPresent || entry.key == tomb) {
    108 return true;
    109 }
    110 return false;
    111}
    -
    int key
    key value
    Definition quadratic_probing_hash_table.cpp:39
    +
    int key
    key value
    @@ -416,13 +416,15 @@ Here is the call graph for this function: + +

    Definition at line 56 of file quadratic_probing_hash_table.cpp.

    56 {
    57 int hash = static_cast<int>(hashFxn(key));
    58 int i = 0;
    59 Entry entry;
    60 do {
    61 size_t index =
    -
    62 (hash + static_cast<size_t>(std::round(std::pow(i, 2)))) %
    +
    62 (hash + static_cast<size_t>(std::round(std::pow(i, 2)))) %
    63 totalSize;
    64 entry = table[index];
    65 if (searching) {
    @@ -430,45 +432,38 @@ Here is the call graph for this function:
    67 return notPresent;
    68 }
    69 if (searchingProber(entry, key)) {
    -
    70 std::cout << "Found key!" << std::endl;
    +
    70 std::cout << "Found key!" << std::endl;
    71 return index;
    72 }
    -
    73 std::cout << "Found tombstone or equal hash, checking next"
    -
    74 << std::endl;
    +
    73 std::cout << "Found tombstone or equal hash, checking next"
    +
    74 << std::endl;
    75 i++;
    76 } else {
    77 if (putProber(entry, key)) {
    78 if (!rehashing) {
    -
    79 std::cout << "Spot found!" << std::endl;
    +
    79 std::cout << "Spot found!" << std::endl;
    80 }
    81 return index;
    82 }
    83 if (!rehashing) {
    -
    84 std::cout << "Spot taken, looking at next (next index = "
    +
    84 std::cout << "Spot taken, looking at next (next index = "
    85 << (hash + static_cast<size_t>(
    -
    86 std::round(std::pow(i + 1, 2)))) %
    +
    86 std::round(std::pow(i + 1, 2)))) %
    87 totalSize
    -
    88 << std::endl;
    +
    88 << std::endl;
    89 }
    90 i++;
    91 }
    92 if (i == totalSize * 100) {
    -
    93 std::cout << "Quadratic probe failed (infinite loop)" << std::endl;
    +
    93 std::cout << "Quadratic probe failed (infinite loop)" << std::endl;
    94 return notPresent;
    95 }
    96 } while (entry.key != notPresent);
    97 return notPresent;
    98}
    -
    void * hash(const std::string &message)
    Converts the string to bytestring and calls the main algorithm.
    Definition md5.cpp:288
    -
    bool putProber(const Entry &entry, int key)
    Definition double_hash_hash_table.cpp:120
    -
    T pow(T... args)
    -
    T round(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    void * hash(const std::string &message)
    Converts the string to bytestring and calls the main algorithm.
    Definition md5.cpp:288
    +
    bool putProber(const Entry &entry, int key)
    + @@ -486,14 +481,16 @@ Here is the call graph for this function:

    Rehashes the table into a bigger table

    Returns
    none
    + +

    Definition at line 160 of file quadratic_probing_hash_table.cpp.

    160 {
    161 // Necessary so wall of add info isn't printed all at once
    162 rehashing = true;
    163 int oldSize = totalSize;
    -
    164 std::vector<Entry> oldTable(table);
    +
    164 std::vector<Entry> oldTable(table);
    165 // Really this should use the next prime number greater than totalSize * 2
    166 totalSize *= 2;
    -
    167 table = std::vector<Entry>(totalSize);
    +
    167 table = std::vector<Entry>(totalSize);
    168 for (int i = 0; i < oldSize; i++) {
    169 if (oldTable[i].key != -1 && oldTable[i].key != notPresent) {
    170 size--; // Size stays the same (add increments size)
    @@ -502,15 +499,9 @@ Here is the call graph for this function:
    173 }
    174 // delete[] oldTable;
    175 rehashing = false;
    -
    176 std::cout << "Table was rehashed, new size is: " << totalSize << std::endl;
    +
    176 std::cout << "Table was rehashed, new size is: " << totalSize << std::endl;
    177}
    - -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -533,23 +524,20 @@ Here is the call graph for this function: + +

    Definition at line 222 of file quadratic_probing_hash_table.cpp.

    222 {
    -
    223 std::cout << "Initial table: ";
    +
    223 std::cout << "Initial table: ";
    224 display();
    - -
    226 std::cout << "hash of " << key << " is " << hashFxn(key) << " % "
    +
    225 std::cout << std::endl;
    +
    226 std::cout << "hash of " << key << " is " << hashFxn(key) << " % "
    227 << totalSize << " == " << hashFxn(key) % totalSize;
    - +
    228 std::cout << std::endl;
    229 remove(key);
    -
    230 std::cout << "New table: ";
    +
    230 std::cout << "New table: ";
    231 display();
    232}
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -572,21 +560,18 @@ Here is the call graph for this function: + +

    Definition at line 194 of file quadratic_probing_hash_table.cpp.

    194 {
    195 int index = quadraticProbe(key, true);
    196 if (index == notPresent) {
    -
    197 std::cout << "key not found" << std::endl;
    +
    197 std::cout << "key not found" << std::endl;
    198 }
    199 table[index].key = tomb;
    -
    200 std::cout << "Removal successful, leaving tombstone" << std::endl;
    +
    200 std::cout << "Removal successful, leaving tombstone" << std::endl;
    201 size--;
    202}
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -617,6 +602,8 @@ Here is the call graph for this function:
    Returns
    true if key matches the entry
    false if key does not match the entry
    + +

    Definition at line 119 of file quadratic_probing_hash_table.cpp.

    119 {
    120 if (entry.key == key) {
    121 return true;
    @@ -624,6 +611,103 @@ Here is the call graph for this function:
    123 return false;
    124}
    + + +

    Variable Documentation

    + +

    ◆ notPresent

    + +
    +
    + + + + +
    int quadratic_probing::notPresent
    +
    + +

    Definition at line 28 of file quadratic_probing_hash_table.cpp.

    + +
    +
    + +

    ◆ rehashing

    + +
    +
    + + + + +
    bool quadratic_probing::rehashing
    +
    + +

    Definition at line 33 of file quadratic_probing_hash_table.cpp.

    + +
    +
    + +

    ◆ size

    + +
    +
    + + + + +
    int quadratic_probing::size
    +
    + +

    Definition at line 32 of file quadratic_probing_hash_table.cpp.

    + +
    +
    + +

    ◆ table

    + +
    +
    + + + + +
    std::vector<Entry> quadratic_probing::table
    +
    + +

    Definition at line 29 of file quadratic_probing_hash_table.cpp.

    + +
    +
    + +

    ◆ tomb

    + +
    +
    + + + + +
    int quadratic_probing::tomb = -1
    +
    + +

    Definition at line 31 of file quadratic_probing_hash_table.cpp.

    + +
    +
    + +

    ◆ totalSize

    + +
    +
    + + + + +
    int quadratic_probing::totalSize
    +
    + +

    Definition at line 30 of file quadratic_probing_hash_table.cpp.

    +
    diff --git a/d4/dd2/namespacequadratic__probing_a00ebcc6d39653eccc26f8432efbfc8d9_cgraph.map b/d4/dd2/namespacequadratic__probing_a00ebcc6d39653eccc26f8432efbfc8d9_cgraph.map deleted file mode 100644 index 43d2265bc..000000000 --- a/d4/dd2/namespacequadratic__probing_a00ebcc6d39653eccc26f8432efbfc8d9_cgraph.map +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - diff --git a/d4/dd2/namespacequadratic__probing_a00ebcc6d39653eccc26f8432efbfc8d9_cgraph.md5 b/d4/dd2/namespacequadratic__probing_a00ebcc6d39653eccc26f8432efbfc8d9_cgraph.md5 deleted file mode 100644 index 6b7c04609..000000000 --- a/d4/dd2/namespacequadratic__probing_a00ebcc6d39653eccc26f8432efbfc8d9_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -dc74bf59a51500375f1ffa89e1777b77 \ No newline at end of file diff --git a/d4/dd2/namespacequadratic__probing_a00ebcc6d39653eccc26f8432efbfc8d9_cgraph.svg b/d4/dd2/namespacequadratic__probing_a00ebcc6d39653eccc26f8432efbfc8d9_cgraph.svg deleted file mode 100644 index 9fc91e205..000000000 --- a/d4/dd2/namespacequadratic__probing_a00ebcc6d39653eccc26f8432efbfc8d9_cgraph.svg +++ /dev/null @@ -1,214 +0,0 @@ - - - - - - - - - - - - -quadratic_probing::add - - -Node1 - - -quadratic_probing::add - - - - - -Node2 - - -quadratic_probing:: -quadraticProbe - - - - - -Node1->Node2 - - - - - - - - -Node9 - - -quadratic_probing:: -rehash - - - - - -Node1->Node9 - - - - - - - - -Node3 - - -std::endl - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -quadratic_probing:: -hashFxn - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -std::pow - - - - - -Node2->Node5 - - - - - - - - -Node6 - - -quadratic_probing:: -putProber - - - - - -Node2->Node6 - - - - - - - - -Node7 - - -std::round - - - - - -Node2->Node7 - - - - - - - - -Node8 - - -quadratic_probing:: -searchingProber - - - - - -Node2->Node8 - - - - - - - - -Node9->Node1 - - - - - - - - -Node9->Node3 - - - - - - - - - - - - - diff --git a/d4/dd2/namespacequadratic__probing_a00ebcc6d39653eccc26f8432efbfc8d9_cgraph_org.svg b/d4/dd2/namespacequadratic__probing_a00ebcc6d39653eccc26f8432efbfc8d9_cgraph_org.svg deleted file mode 100644 index 4893320aa..000000000 --- a/d4/dd2/namespacequadratic__probing_a00ebcc6d39653eccc26f8432efbfc8d9_cgraph_org.svg +++ /dev/null @@ -1,188 +0,0 @@ - - - - - - -quadratic_probing::add - - -Node1 - - -quadratic_probing::add - - - - - -Node2 - - -quadratic_probing:: -quadraticProbe - - - - - -Node1->Node2 - - - - - - - - -Node9 - - -quadratic_probing:: -rehash - - - - - -Node1->Node9 - - - - - - - - -Node3 - - -std::endl - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -quadratic_probing:: -hashFxn - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -std::pow - - - - - -Node2->Node5 - - - - - - - - -Node6 - - -quadratic_probing:: -putProber - - - - - -Node2->Node6 - - - - - - - - -Node7 - - -std::round - - - - - -Node2->Node7 - - - - - - - - -Node8 - - -quadratic_probing:: -searchingProber - - - - - -Node2->Node8 - - - - - - - - -Node9->Node1 - - - - - - - - -Node9->Node3 - - - - - - - - diff --git a/d4/dd2/namespacequadratic__probing_a07a0467b24102260fbb6b554c453c20a_cgraph.map b/d4/dd2/namespacequadratic__probing_a07a0467b24102260fbb6b554c453c20a_cgraph.map deleted file mode 100644 index 559055103..000000000 --- a/d4/dd2/namespacequadratic__probing_a07a0467b24102260fbb6b554c453c20a_cgraph.map +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - - - - - - - - - - diff --git a/d4/dd2/namespacequadratic__probing_a07a0467b24102260fbb6b554c453c20a_cgraph.md5 b/d4/dd2/namespacequadratic__probing_a07a0467b24102260fbb6b554c453c20a_cgraph.md5 deleted file mode 100644 index 68185fd87..000000000 --- a/d4/dd2/namespacequadratic__probing_a07a0467b24102260fbb6b554c453c20a_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -6541cae966800e9a943149092a106bc3 \ No newline at end of file diff --git a/d4/dd2/namespacequadratic__probing_a07a0467b24102260fbb6b554c453c20a_cgraph.svg b/d4/dd2/namespacequadratic__probing_a07a0467b24102260fbb6b554c453c20a_cgraph.svg deleted file mode 100644 index 68771c170..000000000 --- a/d4/dd2/namespacequadratic__probing_a07a0467b24102260fbb6b554c453c20a_cgraph.svg +++ /dev/null @@ -1,187 +0,0 @@ - - - - - - - - - - - - -quadratic_probing::remove - - -Node1 - - -quadratic_probing:: -remove - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -quadratic_probing:: -quadraticProbe - - - - - -Node1->Node3 - - - - - - - - -Node3->Node2 - - - - - - - - -Node4 - - -quadratic_probing:: -hashFxn - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -std::pow - - - - - -Node3->Node5 - - - - - - - - -Node6 - - -quadratic_probing:: -putProber - - - - - -Node3->Node6 - - - - - - - - -Node7 - - -std::round - - - - - -Node3->Node7 - - - - - - - - -Node8 - - -quadratic_probing:: -searchingProber - - - - - -Node3->Node8 - - - - - - - - - - - - - diff --git a/d4/dd2/namespacequadratic__probing_a07a0467b24102260fbb6b554c453c20a_cgraph_org.svg b/d4/dd2/namespacequadratic__probing_a07a0467b24102260fbb6b554c453c20a_cgraph_org.svg deleted file mode 100644 index f3c8f38ab..000000000 --- a/d4/dd2/namespacequadratic__probing_a07a0467b24102260fbb6b554c453c20a_cgraph_org.svg +++ /dev/null @@ -1,161 +0,0 @@ - - - - - - -quadratic_probing::remove - - -Node1 - - -quadratic_probing:: -remove - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -quadratic_probing:: -quadraticProbe - - - - - -Node1->Node3 - - - - - - - - -Node3->Node2 - - - - - - - - -Node4 - - -quadratic_probing:: -hashFxn - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -std::pow - - - - - -Node3->Node5 - - - - - - - - -Node6 - - -quadratic_probing:: -putProber - - - - - -Node3->Node6 - - - - - - - - -Node7 - - -std::round - - - - - -Node3->Node7 - - - - - - - - -Node8 - - -quadratic_probing:: -searchingProber - - - - - -Node3->Node8 - - - - - - - - diff --git a/d4/dd2/namespacequadratic__probing_a312143ed316d48978084c025ff8d9768_cgraph.map b/d4/dd2/namespacequadratic__probing_a312143ed316d48978084c025ff8d9768_cgraph.map deleted file mode 100644 index ccaeea043..000000000 --- a/d4/dd2/namespacequadratic__probing_a312143ed316d48978084c025ff8d9768_cgraph.map +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d4/dd2/namespacequadratic__probing_a312143ed316d48978084c025ff8d9768_cgraph.md5 b/d4/dd2/namespacequadratic__probing_a312143ed316d48978084c025ff8d9768_cgraph.md5 deleted file mode 100644 index 6d7454d60..000000000 --- a/d4/dd2/namespacequadratic__probing_a312143ed316d48978084c025ff8d9768_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -defe70418bc2ffd9c1e976f17de4a471 \ No newline at end of file diff --git a/d4/dd2/namespacequadratic__probing_a312143ed316d48978084c025ff8d9768_cgraph.svg b/d4/dd2/namespacequadratic__probing_a312143ed316d48978084c025ff8d9768_cgraph.svg deleted file mode 100644 index 1d1675c97..000000000 --- a/d4/dd2/namespacequadratic__probing_a312143ed316d48978084c025ff8d9768_cgraph.svg +++ /dev/null @@ -1,336 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -quadratic_probing::addInfo - - -Node1 - - -quadratic_probing:: -addInfo - - - - - -Node2 - - -quadratic_probing::add - - - - - -Node1->Node2 - - - - - - - - -Node4 - - -std::endl - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -quadratic_probing:: -hashFxn - - - - - -Node1->Node5 - - - - - - - - -Node11 - - -quadratic_probing:: -display - - - - - -Node1->Node11 - - - - - - - - -Node3 - - -quadratic_probing:: -quadraticProbe - - - - - -Node2->Node3 - - - - - - - - -Node10 - - -quadratic_probing:: -rehash - - - - - -Node2->Node10 - - - - - - - - -Node3->Node4 - - - - - - - - -Node3->Node5 - - - - - - - - -Node6 - - -std::pow - - - - - -Node3->Node6 - - - - - - - - -Node7 - - -quadratic_probing:: -putProber - - - - - -Node3->Node7 - - - - - - - - -Node8 - - -std::round - - - - - -Node3->Node8 - - - - - - - - -Node9 - - -quadratic_probing:: -searchingProber - - - - - -Node3->Node9 - - - - - - - - -Node10->Node2 - - - - - - - - -Node10->Node4 - - - - - - - - -Node11->Node4 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d4/dd2/namespacequadratic__probing_a312143ed316d48978084c025ff8d9768_cgraph_org.svg b/d4/dd2/namespacequadratic__probing_a312143ed316d48978084c025ff8d9768_cgraph_org.svg deleted file mode 100644 index 004d355ab..000000000 --- a/d4/dd2/namespacequadratic__probing_a312143ed316d48978084c025ff8d9768_cgraph_org.svg +++ /dev/null @@ -1,253 +0,0 @@ - - - - - - -quadratic_probing::addInfo - - -Node1 - - -quadratic_probing:: -addInfo - - - - - -Node2 - - -quadratic_probing::add - - - - - -Node1->Node2 - - - - - - - - -Node4 - - -std::endl - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -quadratic_probing:: -hashFxn - - - - - -Node1->Node5 - - - - - - - - -Node11 - - -quadratic_probing:: -display - - - - - -Node1->Node11 - - - - - - - - -Node3 - - -quadratic_probing:: -quadraticProbe - - - - - -Node2->Node3 - - - - - - - - -Node10 - - -quadratic_probing:: -rehash - - - - - -Node2->Node10 - - - - - - - - -Node3->Node4 - - - - - - - - -Node3->Node5 - - - - - - - - -Node6 - - -std::pow - - - - - -Node3->Node6 - - - - - - - - -Node7 - - -quadratic_probing:: -putProber - - - - - -Node3->Node7 - - - - - - - - -Node8 - - -std::round - - - - - -Node3->Node8 - - - - - - - - -Node9 - - -quadratic_probing:: -searchingProber - - - - - -Node3->Node9 - - - - - - - - -Node10->Node2 - - - - - - - - -Node10->Node4 - - - - - - - - -Node11->Node4 - - - - - - - - diff --git a/d4/dd2/namespacequadratic__probing_a40d617ebf4d6ba21bcda8d8d1faa2357_cgraph.map b/d4/dd2/namespacequadratic__probing_a40d617ebf4d6ba21bcda8d8d1faa2357_cgraph.map deleted file mode 100644 index 69e796bda..000000000 --- a/d4/dd2/namespacequadratic__probing_a40d617ebf4d6ba21bcda8d8d1faa2357_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d4/dd2/namespacequadratic__probing_a40d617ebf4d6ba21bcda8d8d1faa2357_cgraph.md5 b/d4/dd2/namespacequadratic__probing_a40d617ebf4d6ba21bcda8d8d1faa2357_cgraph.md5 deleted file mode 100644 index 9b3c729b9..000000000 --- a/d4/dd2/namespacequadratic__probing_a40d617ebf4d6ba21bcda8d8d1faa2357_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -183d42fa3ec4a1a09607bee1ad01ee38 \ No newline at end of file diff --git a/d4/dd2/namespacequadratic__probing_a40d617ebf4d6ba21bcda8d8d1faa2357_cgraph.svg b/d4/dd2/namespacequadratic__probing_a40d617ebf4d6ba21bcda8d8d1faa2357_cgraph.svg deleted file mode 100644 index 6ff73237d..000000000 --- a/d4/dd2/namespacequadratic__probing_a40d617ebf4d6ba21bcda8d8d1faa2357_cgraph.svg +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - - - - - - - -quadratic_probing::display - - -Node1 - - -quadratic_probing:: -display - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d4/dd2/namespacequadratic__probing_a40d617ebf4d6ba21bcda8d8d1faa2357_cgraph_org.svg b/d4/dd2/namespacequadratic__probing_a40d617ebf4d6ba21bcda8d8d1faa2357_cgraph_org.svg deleted file mode 100644 index 59f783fb2..000000000 --- a/d4/dd2/namespacequadratic__probing_a40d617ebf4d6ba21bcda8d8d1faa2357_cgraph_org.svg +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - -quadratic_probing::display - - -Node1 - - -quadratic_probing:: -display - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - diff --git a/d4/dd2/namespacequadratic__probing_a5ceee4128d92ca4412040b7104d1299d_cgraph.map b/d4/dd2/namespacequadratic__probing_a5ceee4128d92ca4412040b7104d1299d_cgraph.map deleted file mode 100644 index 77027120b..000000000 --- a/d4/dd2/namespacequadratic__probing_a5ceee4128d92ca4412040b7104d1299d_cgraph.map +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - - - - - diff --git a/d4/dd2/namespacequadratic__probing_a5ceee4128d92ca4412040b7104d1299d_cgraph.md5 b/d4/dd2/namespacequadratic__probing_a5ceee4128d92ca4412040b7104d1299d_cgraph.md5 deleted file mode 100644 index b812d4ece..000000000 --- a/d4/dd2/namespacequadratic__probing_a5ceee4128d92ca4412040b7104d1299d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -eca36c0cce0e89940df6d276bbe73ca6 \ No newline at end of file diff --git a/d4/dd2/namespacequadratic__probing_a5ceee4128d92ca4412040b7104d1299d_cgraph.svg b/d4/dd2/namespacequadratic__probing_a5ceee4128d92ca4412040b7104d1299d_cgraph.svg deleted file mode 100644 index 44f3b2cfa..000000000 --- a/d4/dd2/namespacequadratic__probing_a5ceee4128d92ca4412040b7104d1299d_cgraph.svg +++ /dev/null @@ -1,177 +0,0 @@ - - - - - - - - - - - - -quadratic_probing::find - - -Node1 - - -quadratic_probing::find - - - - - -Node2 - - -quadratic_probing:: -quadraticProbe - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -quadratic_probing:: -hashFxn - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -std::pow - - - - - -Node2->Node5 - - - - - - - - -Node6 - - -quadratic_probing:: -putProber - - - - - -Node2->Node6 - - - - - - - - -Node7 - - -std::round - - - - - -Node2->Node7 - - - - - - - - -Node8 - - -quadratic_probing:: -searchingProber - - - - - -Node2->Node8 - - - - - - - - - - - - - diff --git a/d4/dd2/namespacequadratic__probing_a5ceee4128d92ca4412040b7104d1299d_cgraph_org.svg b/d4/dd2/namespacequadratic__probing_a5ceee4128d92ca4412040b7104d1299d_cgraph_org.svg deleted file mode 100644 index d1056de66..000000000 --- a/d4/dd2/namespacequadratic__probing_a5ceee4128d92ca4412040b7104d1299d_cgraph_org.svg +++ /dev/null @@ -1,151 +0,0 @@ - - - - - - -quadratic_probing::find - - -Node1 - - -quadratic_probing::find - - - - - -Node2 - - -quadratic_probing:: -quadraticProbe - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -quadratic_probing:: -hashFxn - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -std::pow - - - - - -Node2->Node5 - - - - - - - - -Node6 - - -quadratic_probing:: -putProber - - - - - -Node2->Node6 - - - - - - - - -Node7 - - -std::round - - - - - -Node2->Node7 - - - - - - - - -Node8 - - -quadratic_probing:: -searchingProber - - - - - -Node2->Node8 - - - - - - - - diff --git a/d4/dd2/namespacequadratic__probing_a69fe1f7c36fe004ba83eef2ca82e7e30_cgraph.map b/d4/dd2/namespacequadratic__probing_a69fe1f7c36fe004ba83eef2ca82e7e30_cgraph.map deleted file mode 100644 index bf3f09e03..000000000 --- a/d4/dd2/namespacequadratic__probing_a69fe1f7c36fe004ba83eef2ca82e7e30_cgraph.map +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d4/dd2/namespacequadratic__probing_a69fe1f7c36fe004ba83eef2ca82e7e30_cgraph.md5 b/d4/dd2/namespacequadratic__probing_a69fe1f7c36fe004ba83eef2ca82e7e30_cgraph.md5 deleted file mode 100644 index c170e8454..000000000 --- a/d4/dd2/namespacequadratic__probing_a69fe1f7c36fe004ba83eef2ca82e7e30_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -8a8c53963fe75a18e0c1a88fb155c5d0 \ No newline at end of file diff --git a/d4/dd2/namespacequadratic__probing_a69fe1f7c36fe004ba83eef2ca82e7e30_cgraph.svg b/d4/dd2/namespacequadratic__probing_a69fe1f7c36fe004ba83eef2ca82e7e30_cgraph.svg deleted file mode 100644 index 443668488..000000000 --- a/d4/dd2/namespacequadratic__probing_a69fe1f7c36fe004ba83eef2ca82e7e30_cgraph.svg +++ /dev/null @@ -1,309 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -quadratic_probing::removalInfo - - -Node1 - - -quadratic_probing:: -removalInfo - - - - - -Node2 - - -quadratic_probing:: -display - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -quadratic_probing:: -hashFxn - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -quadratic_probing:: -remove - - - - - -Node1->Node5 - - - - - - - - -Node2->Node3 - - - - - - - - -Node5->Node3 - - - - - - - - -Node6 - - -quadratic_probing:: -quadraticProbe - - - - - -Node5->Node6 - - - - - - - - -Node6->Node3 - - - - - - - - -Node6->Node4 - - - - - - - - -Node7 - - -std::pow - - - - - -Node6->Node7 - - - - - - - - -Node8 - - -quadratic_probing:: -putProber - - - - - -Node6->Node8 - - - - - - - - -Node9 - - -std::round - - - - - -Node6->Node9 - - - - - - - - -Node10 - - -quadratic_probing:: -searchingProber - - - - - -Node6->Node10 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d4/dd2/namespacequadratic__probing_a69fe1f7c36fe004ba83eef2ca82e7e30_cgraph_org.svg b/d4/dd2/namespacequadratic__probing_a69fe1f7c36fe004ba83eef2ca82e7e30_cgraph_org.svg deleted file mode 100644 index 6f2a57a70..000000000 --- a/d4/dd2/namespacequadratic__probing_a69fe1f7c36fe004ba83eef2ca82e7e30_cgraph_org.svg +++ /dev/null @@ -1,226 +0,0 @@ - - - - - - -quadratic_probing::removalInfo - - -Node1 - - -quadratic_probing:: -removalInfo - - - - - -Node2 - - -quadratic_probing:: -display - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -quadratic_probing:: -hashFxn - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -quadratic_probing:: -remove - - - - - -Node1->Node5 - - - - - - - - -Node2->Node3 - - - - - - - - -Node5->Node3 - - - - - - - - -Node6 - - -quadratic_probing:: -quadraticProbe - - - - - -Node5->Node6 - - - - - - - - -Node6->Node3 - - - - - - - - -Node6->Node4 - - - - - - - - -Node7 - - -std::pow - - - - - -Node6->Node7 - - - - - - - - -Node8 - - -quadratic_probing:: -putProber - - - - - -Node6->Node8 - - - - - - - - -Node9 - - -std::round - - - - - -Node6->Node9 - - - - - - - - -Node10 - - -quadratic_probing:: -searchingProber - - - - - -Node6->Node10 - - - - - - - - diff --git a/d4/dd2/namespacequadratic__probing_ab431981b54c0bae1b2956f716aee1dcf_cgraph.map b/d4/dd2/namespacequadratic__probing_ab431981b54c0bae1b2956f716aee1dcf_cgraph.map deleted file mode 100644 index 6d2d9db95..000000000 --- a/d4/dd2/namespacequadratic__probing_ab431981b54c0bae1b2956f716aee1dcf_cgraph.map +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/d4/dd2/namespacequadratic__probing_ab431981b54c0bae1b2956f716aee1dcf_cgraph.md5 b/d4/dd2/namespacequadratic__probing_ab431981b54c0bae1b2956f716aee1dcf_cgraph.md5 deleted file mode 100644 index 73cb5ee49..000000000 --- a/d4/dd2/namespacequadratic__probing_ab431981b54c0bae1b2956f716aee1dcf_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -d7d75c1bbb12a095179e575fd31f0390 \ No newline at end of file diff --git a/d4/dd2/namespacequadratic__probing_ab431981b54c0bae1b2956f716aee1dcf_cgraph.svg b/d4/dd2/namespacequadratic__probing_ab431981b54c0bae1b2956f716aee1dcf_cgraph.svg deleted file mode 100644 index 88fb68e30..000000000 --- a/d4/dd2/namespacequadratic__probing_ab431981b54c0bae1b2956f716aee1dcf_cgraph.svg +++ /dev/null @@ -1,159 +0,0 @@ - - - - - - - - - - - - -quadratic_probing::quadraticProbe - - -Node1 - - -quadratic_probing:: -quadraticProbe - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -quadratic_probing:: -hashFxn - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::pow - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -quadratic_probing:: -putProber - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -std::round - - - - - -Node1->Node6 - - - - - - - - -Node7 - - -quadratic_probing:: -searchingProber - - - - - -Node1->Node7 - - - - - - - - - - - - - diff --git a/d4/dd2/namespacequadratic__probing_ab431981b54c0bae1b2956f716aee1dcf_cgraph_org.svg b/d4/dd2/namespacequadratic__probing_ab431981b54c0bae1b2956f716aee1dcf_cgraph_org.svg deleted file mode 100644 index 6625816a3..000000000 --- a/d4/dd2/namespacequadratic__probing_ab431981b54c0bae1b2956f716aee1dcf_cgraph_org.svg +++ /dev/null @@ -1,133 +0,0 @@ - - - - - - -quadratic_probing::quadraticProbe - - -Node1 - - -quadratic_probing:: -quadraticProbe - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -quadratic_probing:: -hashFxn - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::pow - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -quadratic_probing:: -putProber - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -std::round - - - - - -Node1->Node6 - - - - - - - - -Node7 - - -quadratic_probing:: -searchingProber - - - - - -Node1->Node7 - - - - - - - - diff --git a/d4/dd2/namespacequadratic__probing_ada6f1f44f7e83b0094fbcbe170788486_cgraph.map b/d4/dd2/namespacequadratic__probing_ada6f1f44f7e83b0094fbcbe170788486_cgraph.map deleted file mode 100644 index 3ba98500f..000000000 --- a/d4/dd2/namespacequadratic__probing_ada6f1f44f7e83b0094fbcbe170788486_cgraph.map +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - diff --git a/d4/dd2/namespacequadratic__probing_ada6f1f44f7e83b0094fbcbe170788486_cgraph.md5 b/d4/dd2/namespacequadratic__probing_ada6f1f44f7e83b0094fbcbe170788486_cgraph.md5 deleted file mode 100644 index 2e3c393bd..000000000 --- a/d4/dd2/namespacequadratic__probing_ada6f1f44f7e83b0094fbcbe170788486_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -68aa2a1fd2c8d71126fc48a6daad021c \ No newline at end of file diff --git a/d4/dd2/namespacequadratic__probing_ada6f1f44f7e83b0094fbcbe170788486_cgraph.svg b/d4/dd2/namespacequadratic__probing_ada6f1f44f7e83b0094fbcbe170788486_cgraph.svg deleted file mode 100644 index 49c45bf99..000000000 --- a/d4/dd2/namespacequadratic__probing_ada6f1f44f7e83b0094fbcbe170788486_cgraph.svg +++ /dev/null @@ -1,271 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -quadratic_probing::rehash - - -Node1 - - -quadratic_probing:: -rehash - - - - - -Node2 - - -quadratic_probing::add - - - - - -Node1->Node2 - - - - - - - - -Node4 - - -std::endl - - - - - -Node1->Node4 - - - - - - - - -Node2->Node1 - - - - - - - - -Node3 - - -quadratic_probing:: -quadraticProbe - - - - - -Node2->Node3 - - - - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -quadratic_probing:: -hashFxn - - - - - -Node3->Node5 - - - - - - - - -Node6 - - -std::pow - - - - - -Node3->Node6 - - - - - - - - -Node7 - - -quadratic_probing:: -putProber - - - - - -Node3->Node7 - - - - - - - - -Node8 - - -std::round - - - - - -Node3->Node8 - - - - - - - - -Node9 - - -quadratic_probing:: -searchingProber - - - - - -Node3->Node9 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d4/dd2/namespacequadratic__probing_ada6f1f44f7e83b0094fbcbe170788486_cgraph_org.svg b/d4/dd2/namespacequadratic__probing_ada6f1f44f7e83b0094fbcbe170788486_cgraph_org.svg deleted file mode 100644 index 47a34c5a2..000000000 --- a/d4/dd2/namespacequadratic__probing_ada6f1f44f7e83b0094fbcbe170788486_cgraph_org.svg +++ /dev/null @@ -1,188 +0,0 @@ - - - - - - -quadratic_probing::rehash - - -Node1 - - -quadratic_probing:: -rehash - - - - - -Node2 - - -quadratic_probing::add - - - - - -Node1->Node2 - - - - - - - - -Node4 - - -std::endl - - - - - -Node1->Node4 - - - - - - - - -Node2->Node1 - - - - - - - - -Node3 - - -quadratic_probing:: -quadraticProbe - - - - - -Node2->Node3 - - - - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -quadratic_probing:: -hashFxn - - - - - -Node3->Node5 - - - - - - - - -Node6 - - -std::pow - - - - - -Node3->Node6 - - - - - - - - -Node7 - - -quadratic_probing:: -putProber - - - - - -Node3->Node7 - - - - - - - - -Node8 - - -std::round - - - - - -Node3->Node8 - - - - - - - - -Node9 - - -quadratic_probing:: -searchingProber - - - - - -Node3->Node9 - - - - - - - - diff --git a/d4/dde/classgeometry_1_1jarvis_1_1_convexhull.html b/d4/dde/classgeometry_1_1jarvis_1_1_convexhull.html index e4ebed2f5..5f9034cc4 100644 --- a/d4/dde/classgeometry_1_1jarvis_1_1_convexhull.html +++ b/d4/dde/classgeometry_1_1jarvis_1_1_convexhull.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: geometry::jarvis::Convexhull Class Reference +TheAlgorithms/C++: geometry::jarvis::Convexhull Class Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -120,9 +137,9 @@ Collaboration diagram for geometry::jarvis::Convexhull:
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    - + - +

    Public Member Functions

     Convexhull (const std::vector< Point > &pointList)
     Convexhull (const std::vector< Point > &pointList)
     
    std::vector< PointgetConvexHull () const
    std::vector< PointgetConvexHull () const
     

    @@ -132,15 +149,15 @@ Static Public Member Functions

    - + - +

    Private Attributes

    -std::vector< Pointpoints
    std::vector< Pointpoints
     
    -int size
    int size
     

    Detailed Description

    Class which can be called from main and is globally available throughout the code

    + +

    Definition at line 55 of file jarvis_algorithm.cpp.

    Constructor & Destructor Documentation

    ◆ Convexhull()

    @@ -154,7 +171,7 @@ int size geometry::jarvis::Convexhull::Convexhull ( - const std::vector< Point > & pointList) + const std::vector< Point > & pointList) @@ -172,16 +189,13 @@ int size + +

    Definition at line 66 of file jarvis_algorithm.cpp.

    66 {
    67 points = pointList;
    68 size = points.size();
    69 }
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +

    Member Function Documentation

    @@ -195,7 +209,7 @@ Here is the call graph for this function: - + @@ -209,9 +223,11 @@ Here is the call graph for this function:

    Creates convex hull of a set of n points. There must be 3 points at least for the convex hull to exist

    Returns
    an vector array containing points in space which enclose all given points thus forming a hull
    + +

    Definition at line 78 of file jarvis_algorithm.cpp.

    78 {
    79 // Initialize Result
    - +
    80 std::vector<Point> hull;
    81
    82 // Find the leftmost point
    83 int leftmost_point = 0;
    @@ -226,7 +242,7 @@ Here is the call graph for this function:
    92 int p = leftmost_point, q = 0;
    93 do {
    94 // Add current point to result
    -
    95 hull.push_back(points[p]);
    +
    95 hull.push_back(points[p]);
    96
    97 // Search for a point 'q' such that orientation(p, x, q)
    98 // is counterclockwise for all points 'x'. The idea
    @@ -251,15 +267,8 @@ Here is the call graph for this function:
    117
    118 return hull;
    119 }
    -
    static int orientation(const Point &p, const Point &q, const Point &r)
    Definition jarvis_algorithm.cpp:133
    -
    T push_back(T... args)
    - -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static int orientation(const Point &p, const Point &q, const Point &r)
    + @@ -306,6 +315,8 @@ Here is the call graph for this function: 1 -> Clock Wise
    2 -> Anti Clock Wise
    + +

    Definition at line 133 of file jarvis_algorithm.cpp.

    133 {
    134 int val = (q.y - p.y) * (r.x - q.x) - (q.x - p.x) * (r.y - q.y);
    135
    @@ -314,12 +325,61 @@ Here is the call graph for this function:
    138 }
    139 return (val > 0) ? 1 : 2;
    140 }
    -
    int y
    Point respect to x coordinate.
    Definition line_segment_intersection.cpp:14
    +
    int y
    Point respect to x coordinate.
    + + +

    Member Data Documentation

    + +

    ◆ points

    + +
    +
    +
    std::vector< Point > geometry::jarvis::Convexhull::getConvexHull std::vector< Point > geometry::jarvis::Convexhull::getConvexHull ( ) const
    + + + + +
    + + + + +
    std::vector<Point> geometry::jarvis::Convexhull::points
    +
    +private
    +
    + +

    Definition at line 56 of file jarvis_algorithm.cpp.

    + +
    + + +

    ◆ size

    + +
    +
    + + + + + +
    + + + + +
    int geometry::jarvis::Convexhull::size
    +
    +private
    +
    + +

    Definition at line 57 of file jarvis_algorithm.cpp.

    +

    The documentation for this class was generated from the following file: diff --git a/d4/dde/classgeometry_1_1jarvis_1_1_convexhull_a8306e48040a8570e164c58d1c530f870_cgraph.map b/d4/dde/classgeometry_1_1jarvis_1_1_convexhull_a8306e48040a8570e164c58d1c530f870_cgraph.map deleted file mode 100644 index 7cd03d7f9..000000000 --- a/d4/dde/classgeometry_1_1jarvis_1_1_convexhull_a8306e48040a8570e164c58d1c530f870_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d4/dde/classgeometry_1_1jarvis_1_1_convexhull_a8306e48040a8570e164c58d1c530f870_cgraph.md5 b/d4/dde/classgeometry_1_1jarvis_1_1_convexhull_a8306e48040a8570e164c58d1c530f870_cgraph.md5 deleted file mode 100644 index d9721da44..000000000 --- a/d4/dde/classgeometry_1_1jarvis_1_1_convexhull_a8306e48040a8570e164c58d1c530f870_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -338f0391ac008f02ef02520a335582e7 \ No newline at end of file diff --git a/d4/dde/classgeometry_1_1jarvis_1_1_convexhull_a8306e48040a8570e164c58d1c530f870_cgraph.svg b/d4/dde/classgeometry_1_1jarvis_1_1_convexhull_a8306e48040a8570e164c58d1c530f870_cgraph.svg deleted file mode 100644 index 59e584694..000000000 --- a/d4/dde/classgeometry_1_1jarvis_1_1_convexhull_a8306e48040a8570e164c58d1c530f870_cgraph.svg +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - - - - - - - -geometry::jarvis::Convexhull::Convexhull - - -Node1 - - -geometry::jarvis::Convexhull -::Convexhull - - - - - -Node2 - - -std::vector::size - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d4/dde/classgeometry_1_1jarvis_1_1_convexhull_a8306e48040a8570e164c58d1c530f870_cgraph_org.svg b/d4/dde/classgeometry_1_1jarvis_1_1_convexhull_a8306e48040a8570e164c58d1c530f870_cgraph_org.svg deleted file mode 100644 index ed753ce9f..000000000 --- a/d4/dde/classgeometry_1_1jarvis_1_1_convexhull_a8306e48040a8570e164c58d1c530f870_cgraph_org.svg +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - -geometry::jarvis::Convexhull::Convexhull - - -Node1 - - -geometry::jarvis::Convexhull -::Convexhull - - - - - -Node2 - - -std::vector::size - - - - - -Node1->Node2 - - - - - - - - diff --git a/d4/dde/classgeometry_1_1jarvis_1_1_convexhull_aeec46e86786ddd461464b07a77c4d5f1_cgraph.map b/d4/dde/classgeometry_1_1jarvis_1_1_convexhull_aeec46e86786ddd461464b07a77c4d5f1_cgraph.map deleted file mode 100644 index fe57ac6e1..000000000 --- a/d4/dde/classgeometry_1_1jarvis_1_1_convexhull_aeec46e86786ddd461464b07a77c4d5f1_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/d4/dde/classgeometry_1_1jarvis_1_1_convexhull_aeec46e86786ddd461464b07a77c4d5f1_cgraph.md5 b/d4/dde/classgeometry_1_1jarvis_1_1_convexhull_aeec46e86786ddd461464b07a77c4d5f1_cgraph.md5 deleted file mode 100644 index f71bb1ca8..000000000 --- a/d4/dde/classgeometry_1_1jarvis_1_1_convexhull_aeec46e86786ddd461464b07a77c4d5f1_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -1efcceaf1056373d776ef1f37ef39a3e \ No newline at end of file diff --git a/d4/dde/classgeometry_1_1jarvis_1_1_convexhull_aeec46e86786ddd461464b07a77c4d5f1_cgraph.svg b/d4/dde/classgeometry_1_1jarvis_1_1_convexhull_aeec46e86786ddd461464b07a77c4d5f1_cgraph.svg deleted file mode 100644 index 08259576e..000000000 --- a/d4/dde/classgeometry_1_1jarvis_1_1_convexhull_aeec46e86786ddd461464b07a77c4d5f1_cgraph.svg +++ /dev/null @@ -1,85 +0,0 @@ - - - - - - - - - - - - -geometry::jarvis::Convexhull::getConvexHull - - -Node1 - - -geometry::jarvis::Convexhull -::getConvexHull - - - - - -Node2 - - -geometry::jarvis::Convexhull -::orientation - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::vector::push_back - - - - - -Node1->Node3 - - - - - - - - - - - - - diff --git a/d4/dde/classgeometry_1_1jarvis_1_1_convexhull_aeec46e86786ddd461464b07a77c4d5f1_cgraph_org.svg b/d4/dde/classgeometry_1_1jarvis_1_1_convexhull_aeec46e86786ddd461464b07a77c4d5f1_cgraph_org.svg deleted file mode 100644 index c8a20f7ef..000000000 --- a/d4/dde/classgeometry_1_1jarvis_1_1_convexhull_aeec46e86786ddd461464b07a77c4d5f1_cgraph_org.svg +++ /dev/null @@ -1,59 +0,0 @@ - - - - - - -geometry::jarvis::Convexhull::getConvexHull - - -Node1 - - -geometry::jarvis::Convexhull -::getConvexHull - - - - - -Node2 - - -geometry::jarvis::Convexhull -::orientation - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::vector::push_back - - - - - -Node1->Node3 - - - - - - - - diff --git a/d4/de6/namespacepostfix__expression.html b/d4/de6/namespacepostfix__expression.html index f36d29fa5..ab7a9c779 100644 --- a/d4/de6/namespacepostfix__expression.html +++ b/d4/de6/namespacepostfix__expression.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: postfix_expression Namespace Reference +TheAlgorithms/C++: postfix_expression Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/d4/ded/classhashing_1_1sha256_1_1_hash__coll__graph.map b/d4/ded/classhashing_1_1sha256_1_1_hash__coll__graph.map index 708af4509..be3d4884a 100644 --- a/d4/ded/classhashing_1_1sha256_1_1_hash__coll__graph.map +++ b/d4/ded/classhashing_1_1sha256_1_1_hash__coll__graph.map @@ -1,7 +1,5 @@ - - - - - + + + diff --git a/d4/ded/classhashing_1_1sha256_1_1_hash__coll__graph.md5 b/d4/ded/classhashing_1_1sha256_1_1_hash__coll__graph.md5 index 7481c1a9f..dcc95552d 100644 --- a/d4/ded/classhashing_1_1sha256_1_1_hash__coll__graph.md5 +++ b/d4/ded/classhashing_1_1sha256_1_1_hash__coll__graph.md5 @@ -1 +1 @@ -b83f22d97dfcac6bc915a12d03c7771b \ No newline at end of file +8631aee97e3e9debd6c3751bb657ac77 \ No newline at end of file diff --git a/d4/ded/classhashing_1_1sha256_1_1_hash__coll__graph.svg b/d4/ded/classhashing_1_1sha256_1_1_hash__coll__graph.svg index bb8c5af12..c7259c01c 100644 --- a/d4/ded/classhashing_1_1sha256_1_1_hash__coll__graph.svg +++ b/d4/ded/classhashing_1_1sha256_1_1_hash__coll__graph.svg @@ -4,8 +4,8 @@ - + @@ -17,7 +17,7 @@ ]]> - + hashing::sha256::Hash @@ -31,7 +31,7 @@ Node2 - + std::array< uint32 _t, 8 > @@ -48,25 +48,6 @@ hash - - -Node3 - - -std::uint32_t - - - - - -Node3->Node2 - - - - - - elements - diff --git a/d4/ded/classhashing_1_1sha256_1_1_hash__coll__graph_org.svg b/d4/ded/classhashing_1_1sha256_1_1_hash__coll__graph_org.svg index 73a048ff8..faee6e211 100644 --- a/d4/ded/classhashing_1_1sha256_1_1_hash__coll__graph_org.svg +++ b/d4/ded/classhashing_1_1sha256_1_1_hash__coll__graph_org.svg @@ -4,9 +4,9 @@ - - + + hashing::sha256::Hash @@ -20,7 +20,7 @@ Node2 - + std::array< uint32 _t, 8 > @@ -37,24 +37,5 @@ hash - - -Node3 - - -std::uint32_t - - - - - -Node3->Node2 - - - - - - elements - diff --git a/d4/ded/namespaceprobability.html b/d4/ded/namespaceprobability.html index 240fd5b70..0ef501818 100644 --- a/d4/ded/namespaceprobability.html +++ b/d4/ded/namespaceprobability.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: probability Namespace Reference +TheAlgorithms/C++: probability Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + @@ -112,8 +129,8 @@ $(function(){initNavTree('d4/ded/namespaceprobability.html','../../'); initResiz More...

    Detailed Description

    Probability algorithms.

    -

    for assert for math functions for fixed size data types for time to initialize rng for std::cout for std::numeric_limits for random numbers for std::vector

    -

    for assert for std::rand - needed in testing for std::time - needed in testing for std::list - used to manage sliding window for std::multiset - used to manage multi-value sorted sliding window values for std::vector - needed in testing

    +

    for assert for math functions for fixed size data types for time to initialize rng for std::cout for std::numeric_limits for random numbers for std::vector

    +

    for assert for std::rand - needed in testing for std::time - needed in testing for std::list - used to manage sliding window for std::multiset - used to manage multi-value sorted sliding window values for std::vector - needed in testing

    diff --git a/d4/def/kohonen__som__topology_8cpp.html b/d4/def/kohonen__som__topology_8cpp.html index d115c042b..9ec6e60b3 100644 --- a/d4/def/kohonen__som__topology_8cpp.html +++ b/d4/def/kohonen__som__topology_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: machine_learning/kohonen_som_topology.cpp File Reference +TheAlgorithms/C++: machine_learning/kohonen_som_topology.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + @@ -131,7 +148,9 @@ Include dependency graph for kohonen_som_topology.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -142,25 +161,25 @@ Namespaces Functions - + - + - + - + - + - + - + - + @@ -181,6 +200,8 @@ Variables
    The compiled code is much slower when compiled with MS Visual C++ 2019 than with GCC on windows
    See also
    kohonen_som_trace.cpp
    + +

    Definition in file kohonen_som_topology.cpp.

    Function Documentation

    ◆ get_clock_diff()

    @@ -209,6 +230,8 @@ The compiled code is much slower when compiled with MS Visual C++ 2019 than with
    Returns
    time difference in seconds
    + +

    Definition at line 577 of file kohonen_som_topology.cpp.

    577 {
    578 return static_cast<double>(end_t - start_t) / CLOCKS_PER_SEC;
    579}
    @@ -234,53 +257,45 @@ The compiled code is much slower when compiled with MS Visual C++ 2019 than with

    Namespaces

    namespace  machine_learning
    double _random (double a, double b)
     
    int save_2d_data (const char *fname, const std::vector< std::valarray< double > > &X)
    int save_2d_data (const char *fname, const std::vector< std::valarray< double > > &X)
     
    void get_min_2d (const std::vector< std::valarray< double > > &X, double *val, int *x_idx, int *y_idx)
    void get_min_2d (const std::vector< std::valarray< double > > &X, double *val, int *x_idx, int *y_idx)
     
    int machine_learning::save_u_matrix (const char *fname, const std::vector< std::vector< std::valarray< double > > > &W)
    int machine_learning::save_u_matrix (const char *fname, const std::vector< std::vector< std::valarray< double > > > &W)
     
    double machine_learning::update_weights (const std::valarray< double > &X, std::vector< std::vector< std::valarray< double > > > *W, std::vector< std::valarray< double > > *D, double alpha, int R)
    double machine_learning::update_weights (const std::valarray< double > &X, std::vector< std::vector< std::valarray< double > > > *W, std::vector< std::valarray< double > > *D, double alpha, int R)
     
    void machine_learning::kohonen_som (const std::vector< std::valarray< double > > &X, std::vector< std::vector< std::valarray< double > > > *W, double alpha_min)
    void machine_learning::kohonen_som (const std::vector< std::valarray< double > > &X, std::vector< std::vector< std::valarray< double > > > *W, double alpha_min)
     
    void test_2d_classes (std::vector< std::valarray< double > > *data)
    void test_2d_classes (std::vector< std::valarray< double > > *data)
     
    void test1 ()
     
    void test_3d_classes1 (std::vector< std::valarray< double > > *data)
    void test_3d_classes1 (std::vector< std::valarray< double > > *data)
     
    void test2 ()
     
    void test_3d_classes2 (std::vector< std::valarray< double > > *data)
    void test_3d_classes2 (std::vector< std::valarray< double > > *data)
     
    void test3 ()
     

    Main function

    + +

    Definition at line 582 of file kohonen_som_topology.cpp.

    582 {
    583#ifdef _OPENMP
    -
    584 std::cout << "Using OpenMP based parallelization\n";
    +
    584 std::cout << "Using OpenMP based parallelization\n";
    585#else
    -
    586 std::cout << "NOT using OpenMP based parallelization\n";
    +
    586 std::cout << "NOT using OpenMP based parallelization\n";
    587#endif
    588
    -
    589 std::srand(std::time(nullptr));
    +
    589 std::srand(std::time(nullptr));
    590
    -
    591 std::clock_t start_clk = std::clock();
    +
    591 std::clock_t start_clk = std::clock();
    592 test1();
    -
    593 auto end_clk = std::clock();
    -
    594 std::cout << "Test 1 completed in " << get_clock_diff(start_clk, end_clk)
    +
    593 auto end_clk = std::clock();
    +
    594 std::cout << "Test 1 completed in " << get_clock_diff(start_clk, end_clk)
    595 << " sec\n";
    596
    -
    597 start_clk = std::clock();
    +
    597 start_clk = std::clock();
    598 test2();
    -
    599 end_clk = std::clock();
    -
    600 std::cout << "Test 2 completed in " << get_clock_diff(start_clk, end_clk)
    +
    599 end_clk = std::clock();
    +
    600 std::cout << "Test 2 completed in " << get_clock_diff(start_clk, end_clk)
    601 << " sec\n";
    602
    -
    603 start_clk = std::clock();
    +
    603 start_clk = std::clock();
    604 test3();
    -
    605 end_clk = std::clock();
    -
    606 std::cout << "Test 3 completed in " << get_clock_diff(start_clk, end_clk)
    +
    605 end_clk = std::clock();
    +
    606 std::cout << "Test 3 completed in " << get_clock_diff(start_clk, end_clk)
    607 << " sec\n";
    608
    - +
    609 std::cout
    610 << "(Note: Calculated times include: creating test sets, training "
    611 "model and writing files to disk.)\n\n";
    612 return 0;
    613}
    - -
    T clock(T... args)
    - -
    void test2()
    Definition kohonen_som_topology.cpp:451
    -
    void test1()
    Definition kohonen_som_topology.cpp:369
    -
    double get_clock_diff(clock_t start_t, clock_t end_t)
    Definition kohonen_som_topology.cpp:577
    -
    void test3()
    Definition kohonen_som_topology.cpp:537
    -
    T srand(T... args)
    -
    T time(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    void test2()
    +
    void test1()
    +
    double get_clock_diff(clock_t start_t, clock_t end_t)
    +
    void test3()
    +
    @@ -302,21 +317,23 @@ Here is the call graph for this function:
  • w11.csv: initial random map
  • w12.csv: trained SOM map
  • + +

    Definition at line 369 of file kohonen_som_topology.cpp.

    369 {
    370 int j = 0, N = 300;
    371 int features = 2;
    372 int num_out = 30;
    - - -
    375 for (int i = 0; i < std::max(num_out, N); i++) {
    +
    373 std::vector<std::valarray<double>> X(N);
    +
    374 std::vector<std::vector<std::valarray<double>>> W(num_out);
    +
    375 for (int i = 0; i < std::max(num_out, N); i++) {
    376 // loop till max(N, num_out)
    377 if (i < N) { // only add new arrays if i < N
    -
    378 X[i] = std::valarray<double>(features);
    +
    378 X[i] = std::valarray<double>(features);
    379 }
    380 if (i < num_out) { // only add new arrays if i < num_out
    -
    381 W[i] = std::vector<std::valarray<double>>(num_out);
    +
    381 W[i] = std::vector<std::valarray<double>>(num_out);
    382 for (int k = 0; k < num_out; k++) {
    -
    383 W[i][k] = std::valarray<double>(features);
    +
    383 W[i][k] = std::valarray<double>(features);
    384#ifdef _OPENMP
    385#pragma omp for
    386#endif
    @@ -334,20 +351,12 @@ Here is the call graph for this function:
    398 kohonen_som(X, &W, 1e-4); // train the SOM
    399 save_u_matrix("w12.csv", W); // save the resultant weights
    400}
    -
    double k(double x)
    Another test function.
    Definition composite_simpson_rule.cpp:117
    -
    int save_2d_data(const char *fname, const std::vector< std::valarray< double > > &X)
    Definition kohonen_som_topology.cpp:65
    -
    double _random(double a, double b)
    Definition kohonen_som_topology.cpp:53
    -
    void test_2d_classes(std::vector< std::valarray< double > > *data)
    Definition kohonen_som_topology.cpp:330
    -
    T max(T... args)
    -
    constexpr uint32_t N
    A struct to represent sparse table for min() as their invariant function, for the given array A....
    Definition sparse_table.cpp:48
    - - -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    double k(double x)
    Another test function.
    +
    int save_2d_data(const char *fname, const std::vector< std::valarray< double > > &X)
    +
    double _random(double a, double b)
    +
    void test_2d_classes(std::vector< std::valarray< double > > *data)
    +
    constexpr uint32_t N
    A struct to represent sparse table for min() as their invariant function, for the given array A....
    + @@ -369,21 +378,23 @@ Here is the call graph for this function:
  • w21.csv: initial random map
  • w22.csv: trained SOM map
  • + +

    Definition at line 451 of file kohonen_som_topology.cpp.

    451 {
    452 int j = 0, N = 300;
    453 int features = 3;
    454 int num_out = 30;
    - - -
    457 for (int i = 0; i < std::max(num_out, N); i++) {
    +
    455 std::vector<std::valarray<double>> X(N);
    +
    456 std::vector<std::vector<std::valarray<double>>> W(num_out);
    +
    457 for (int i = 0; i < std::max(num_out, N); i++) {
    458 // loop till max(N, num_out)
    459 if (i < N) { // only add new arrays if i < N
    -
    460 X[i] = std::valarray<double>(features);
    +
    460 X[i] = std::valarray<double>(features);
    461 }
    462 if (i < num_out) { // only add new arrays if i < num_out
    -
    463 W[i] = std::vector<std::valarray<double>>(num_out);
    +
    463 W[i] = std::vector<std::valarray<double>>(num_out);
    464 for (int k = 0; k < num_out; k++) {
    -
    465 W[i][k] = std::valarray<double>(features);
    +
    465 W[i][k] = std::valarray<double>(features);
    466#ifdef _OPENMP
    467#pragma omp for
    468#endif
    @@ -401,13 +412,8 @@ Here is the call graph for this function:
    480 kohonen_som(X, &W, 1e-4); // train the SOM
    481 save_u_matrix("w22.csv", W); // save the resultant weights
    482}
    -
    void test_3d_classes1(std::vector< std::valarray< double > > *data)
    Definition kohonen_som_topology.cpp:411
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    void test_3d_classes1(std::vector< std::valarray< double > > *data)
    + @@ -429,21 +435,23 @@ Here is the call graph for this function:
  • w31.csv: initial random map
  • w32.csv: trained SOM map
  • + +

    Definition at line 537 of file kohonen_som_topology.cpp.

    537 {
    538 int j = 0, N = 500;
    539 int features = 3;
    540 int num_out = 30;
    - - -
    543 for (int i = 0; i < std::max(num_out, N); i++) {
    +
    541 std::vector<std::valarray<double>> X(N);
    +
    542 std::vector<std::vector<std::valarray<double>>> W(num_out);
    +
    543 for (int i = 0; i < std::max(num_out, N); i++) {
    544 // loop till max(N, num_out)
    545 if (i < N) { // only add new arrays if i < N
    -
    546 X[i] = std::valarray<double>(features);
    +
    546 X[i] = std::valarray<double>(features);
    547 }
    548 if (i < num_out) { // only add new arrays if i < num_out
    -
    549 W[i] = std::vector<std::valarray<double>>(num_out);
    +
    549 W[i] = std::vector<std::valarray<double>>(num_out);
    550 for (int k = 0; k < num_out; k++) {
    -
    551 W[i][k] = std::valarray<double>(features);
    +
    551 W[i][k] = std::valarray<double>(features);
    552#ifdef _OPENMP
    553#pragma omp for
    554#endif
    @@ -461,13 +469,8 @@ Here is the call graph for this function:
    566 kohonen_som(X, &W, 1e-4); // train the SOM
    567 save_u_matrix("w32.csv", W); // save the resultant weights
    568}
    -
    void test_3d_classes2(std::vector< std::valarray< double > > *data)
    Definition kohonen_som_topology.cpp:493
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    void test_3d_classes2(std::vector< std::valarray< double > > *data)
    + @@ -479,7 +482,7 @@ Here is the call graph for this function: void test_2d_classes ( - std::vector< std::valarray< double > > * data) + std::vector< std::valarray< double > > * data) @@ -496,17 +499,19 @@ Here is the call graph for this function: + +

    Definition at line 330 of file kohonen_som_topology.cpp.

    330 {
    331 const int N = data->size();
    332 const double R = 0.3; // radius of cluster
    333 int i = 0;
    334 const int num_classes = 4;
    -
    335 std::array<std::array<double, 2>, num_classes> centres = {
    +
    335 std::array<std::array<double, 2>, num_classes> centres = {
    336 // centres of each class cluster
    -
    337 std::array<double, 2>({.5, .5}), // centre of class 1
    -
    338 std::array<double, 2>({.5, -.5}), // centre of class 2
    -
    339 std::array<double, 2>({-.5, .5}), // centre of class 3
    -
    340 std::array<double, 2>({-.5, -.5}) // centre of class 4
    +
    337 std::array<double, 2>({.5, .5}), // centre of class 1
    +
    338 std::array<double, 2>({.5, -.5}), // centre of class 2
    +
    339 std::array<double, 2>({-.5, .5}), // centre of class 3
    +
    340 std::array<double, 2>({-.5, -.5}) // centre of class 4
    341 };
    342
    343#ifdef _OPENMP
    @@ -514,7 +519,7 @@ Here is the call graph for this function:
    345#endif
    346 for (i = 0; i < N; i++) {
    347 // select a random class for the point
    -
    348 int cls = std::rand() % num_classes;
    +
    348 int cls = std::rand() % num_classes;
    349
    350 // create random coordinates (x,y,z) around the centre of the class
    351 data[0][i][0] = _random(centres[cls][0] - R, centres[cls][0] + R);
    @@ -526,15 +531,8 @@ Here is the call graph for this function:
    357 */
    358 }
    359}
    - -
    int data[MAX]
    test data
    Definition hash_search.cpp:24
    -
    T rand(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    int data[MAX]
    test data
    + @@ -546,7 +544,7 @@ Here is the call graph for this function: void test_3d_classes1 ( - std::vector< std::valarray< double > > * data) + std::vector< std::valarray< double > > * data) @@ -563,17 +561,19 @@ Here is the call graph for this function: + +

    Definition at line 411 of file kohonen_som_topology.cpp.

    411 {
    412 const size_t N = data->size();
    413 const double R = 0.3; // radius of cluster
    414 int i = 0;
    415 const int num_classes = 4;
    -
    416 const std::array<std::array<double, 3>, num_classes> centres = {
    +
    416 const std::array<std::array<double, 3>, num_classes> centres = {
    417 // centres of each class cluster
    -
    418 std::array<double, 3>({.5, .5, .5}), // centre of class 1
    -
    419 std::array<double, 3>({.5, -.5, -.5}), // centre of class 2
    -
    420 std::array<double, 3>({-.5, .5, .5}), // centre of class 3
    -
    421 std::array<double, 3>({-.5, -.5 - .5}) // centre of class 4
    +
    418 std::array<double, 3>({.5, .5, .5}), // centre of class 1
    +
    419 std::array<double, 3>({.5, -.5, -.5}), // centre of class 2
    +
    420 std::array<double, 3>({-.5, .5, .5}), // centre of class 3
    +
    421 std::array<double, 3>({-.5, -.5 - .5}) // centre of class 4
    422 };
    423
    424#ifdef _OPENMP
    @@ -581,7 +581,7 @@ Here is the call graph for this function:
    426#endif
    427 for (i = 0; i < N; i++) {
    428 // select a random class for the point
    -
    429 int cls = std::rand() % num_classes;
    +
    429 int cls = std::rand() % num_classes;
    430
    431 // create random coordinates (x,y,z) around the centre of the class
    432 data[0][i][0] = _random(centres[cls][0] - R, centres[cls][0] + R);
    @@ -594,12 +594,7 @@ Here is the call graph for this function:
    439 */
    440 }
    441}
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -611,7 +606,7 @@ Here is the call graph for this function: void test_3d_classes2 ( - std::vector< std::valarray< double > > * data) + std::vector< std::valarray< double > > * data) @@ -628,21 +623,23 @@ Here is the call graph for this function: + +

    Definition at line 493 of file kohonen_som_topology.cpp.

    493 {
    494 const size_t N = data->size();
    495 const double R = 0.2; // radius of cluster
    496 int i = 0;
    497 const int num_classes = 8;
    -
    498 const std::array<std::array<double, 3>, num_classes> centres = {
    +
    498 const std::array<std::array<double, 3>, num_classes> centres = {
    499 // centres of each class cluster
    -
    500 std::array<double, 3>({.5, .5, .5}), // centre of class 1
    -
    501 std::array<double, 3>({.5, .5, -.5}), // centre of class 2
    -
    502 std::array<double, 3>({.5, -.5, .5}), // centre of class 3
    -
    503 std::array<double, 3>({.5, -.5, -.5}), // centre of class 4
    -
    504 std::array<double, 3>({-.5, .5, .5}), // centre of class 5
    -
    505 std::array<double, 3>({-.5, .5, -.5}), // centre of class 6
    -
    506 std::array<double, 3>({-.5, -.5, .5}), // centre of class 7
    -
    507 std::array<double, 3>({-.5, -.5, -.5}) // centre of class 8
    +
    500 std::array<double, 3>({.5, .5, .5}), // centre of class 1
    +
    501 std::array<double, 3>({.5, .5, -.5}), // centre of class 2
    +
    502 std::array<double, 3>({.5, -.5, .5}), // centre of class 3
    +
    503 std::array<double, 3>({.5, -.5, -.5}), // centre of class 4
    +
    504 std::array<double, 3>({-.5, .5, .5}), // centre of class 5
    +
    505 std::array<double, 3>({-.5, .5, -.5}), // centre of class 6
    +
    506 std::array<double, 3>({-.5, -.5, .5}), // centre of class 7
    +
    507 std::array<double, 3>({-.5, -.5, -.5}) // centre of class 8
    508 };
    509
    510#ifdef _OPENMP
    @@ -650,7 +647,7 @@ Here is the call graph for this function:
    512#endif
    513 for (i = 0; i < N; i++) {
    514 // select a random class for the point
    -
    515 int cls = std::rand() % num_classes;
    +
    515 int cls = std::rand() % num_classes;
    516
    517 // create random coordinates (x,y,z) around the centre of the class
    518 data[0][i][0] = _random(centres[cls][0] - R, centres[cls][0] + R);
    @@ -663,12 +660,7 @@ Here is the call graph for this function:
    525 */
    526 }
    527}
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + diff --git a/d4/def/kohonen__som__topology_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph.map b/d4/def/kohonen__som__topology_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph.map deleted file mode 100644 index 174e3c1e2..000000000 --- a/d4/def/kohonen__som__topology_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph.map +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d4/def/kohonen__som__topology_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph.md5 b/d4/def/kohonen__som__topology_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph.md5 deleted file mode 100644 index 46f3a1793..000000000 --- a/d4/def/kohonen__som__topology_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -299b3708f385a516638483bec9c8ae5f \ No newline at end of file diff --git a/d4/def/kohonen__som__topology_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph.svg b/d4/def/kohonen__som__topology_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph.svg deleted file mode 100644 index 517c5e2f6..000000000 --- a/d4/def/kohonen__som__topology_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph.svg +++ /dev/null @@ -1,227 +0,0 @@ - - - - - - - - - - - - -test2 - - -Node1 - - -test2 - - - - - -Node2 - - -_random - - - - - -Node1->Node2 - - - - - - - - -Node4 - - -std::max - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -save_2d_data - - - - - -Node1->Node5 - - - - - - - - -Node10 - - -test_3d_classes1 - - - - - -Node1->Node10 - - - - - - - - -Node3 - - -std::rand - - - - - -Node2->Node3 - - - - - - - - -Node6 - - -std::ofstream::close - - - - - -Node5->Node6 - - - - - - - - -Node7 - - -std::ofstream::is_open - - - - - -Node5->Node7 - - - - - - - - -Node8 - - -std::ofstream::open - - - - - -Node5->Node8 - - - - - - - - -Node9 - - -std::strerror - - - - - -Node5->Node9 - - - - - - - - -Node10->Node2 - - - - - - - - -Node10->Node3 - - - - - - - - - - - - - diff --git a/d4/def/kohonen__som__topology_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph_org.svg b/d4/def/kohonen__som__topology_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph_org.svg deleted file mode 100644 index 3a4104c4a..000000000 --- a/d4/def/kohonen__som__topology_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph_org.svg +++ /dev/null @@ -1,201 +0,0 @@ - - - - - - -test2 - - -Node1 - - -test2 - - - - - -Node2 - - -_random - - - - - -Node1->Node2 - - - - - - - - -Node4 - - -std::max - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -save_2d_data - - - - - -Node1->Node5 - - - - - - - - -Node10 - - -test_3d_classes1 - - - - - -Node1->Node10 - - - - - - - - -Node3 - - -std::rand - - - - - -Node2->Node3 - - - - - - - - -Node6 - - -std::ofstream::close - - - - - -Node5->Node6 - - - - - - - - -Node7 - - -std::ofstream::is_open - - - - - -Node5->Node7 - - - - - - - - -Node8 - - -std::ofstream::open - - - - - -Node5->Node8 - - - - - - - - -Node9 - - -std::strerror - - - - - -Node5->Node9 - - - - - - - - -Node10->Node2 - - - - - - - - -Node10->Node3 - - - - - - - - diff --git a/d4/def/kohonen__som__topology_8cpp_a1302662a56ebf67a21249270b017297e_cgraph.map b/d4/def/kohonen__som__topology_8cpp_a1302662a56ebf67a21249270b017297e_cgraph.map deleted file mode 100644 index 8956b7d84..000000000 --- a/d4/def/kohonen__som__topology_8cpp_a1302662a56ebf67a21249270b017297e_cgraph.map +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/d4/def/kohonen__som__topology_8cpp_a1302662a56ebf67a21249270b017297e_cgraph.md5 b/d4/def/kohonen__som__topology_8cpp_a1302662a56ebf67a21249270b017297e_cgraph.md5 deleted file mode 100644 index 228710298..000000000 --- a/d4/def/kohonen__som__topology_8cpp_a1302662a56ebf67a21249270b017297e_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -8975dc7acf737f2068fc3727610b68c6 \ No newline at end of file diff --git a/d4/def/kohonen__som__topology_8cpp_a1302662a56ebf67a21249270b017297e_cgraph.svg b/d4/def/kohonen__som__topology_8cpp_a1302662a56ebf67a21249270b017297e_cgraph.svg deleted file mode 100644 index e0b8640dc..000000000 --- a/d4/def/kohonen__som__topology_8cpp_a1302662a56ebf67a21249270b017297e_cgraph.svg +++ /dev/null @@ -1,92 +0,0 @@ - - - - - - - - - - - - -test_3d_classes1 - - -Node1 - - -test_3d_classes1 - - - - - -Node2 - - -_random - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::rand - - - - - -Node1->Node3 - - - - - - - - -Node2->Node3 - - - - - - - - - - - - - diff --git a/d4/def/kohonen__som__topology_8cpp_a1302662a56ebf67a21249270b017297e_cgraph_org.svg b/d4/def/kohonen__som__topology_8cpp_a1302662a56ebf67a21249270b017297e_cgraph_org.svg deleted file mode 100644 index 1c332acca..000000000 --- a/d4/def/kohonen__som__topology_8cpp_a1302662a56ebf67a21249270b017297e_cgraph_org.svg +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - -test_3d_classes1 - - -Node1 - - -test_3d_classes1 - - - - - -Node2 - - -_random - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::rand - - - - - -Node1->Node3 - - - - - - - - -Node2->Node3 - - - - - - - - diff --git a/d4/def/kohonen__som__topology_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph.map b/d4/def/kohonen__som__topology_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph.map deleted file mode 100644 index 446b23b6d..000000000 --- a/d4/def/kohonen__som__topology_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph.map +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d4/def/kohonen__som__topology_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph.md5 b/d4/def/kohonen__som__topology_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph.md5 deleted file mode 100644 index c70b6714e..000000000 --- a/d4/def/kohonen__som__topology_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -131475ebe87aecd5e6f53346ebca5861 \ No newline at end of file diff --git a/d4/def/kohonen__som__topology_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph.svg b/d4/def/kohonen__som__topology_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph.svg deleted file mode 100644 index 7a2fc9c18..000000000 --- a/d4/def/kohonen__som__topology_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph.svg +++ /dev/null @@ -1,227 +0,0 @@ - - - - - - - - - - - - -test1 - - -Node1 - - -test1 - - - - - -Node2 - - -_random - - - - - -Node1->Node2 - - - - - - - - -Node4 - - -std::max - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -save_2d_data - - - - - -Node1->Node5 - - - - - - - - -Node10 - - -test_2d_classes - - - - - -Node1->Node10 - - - - - - - - -Node3 - - -std::rand - - - - - -Node2->Node3 - - - - - - - - -Node6 - - -std::ofstream::close - - - - - -Node5->Node6 - - - - - - - - -Node7 - - -std::ofstream::is_open - - - - - -Node5->Node7 - - - - - - - - -Node8 - - -std::ofstream::open - - - - - -Node5->Node8 - - - - - - - - -Node9 - - -std::strerror - - - - - -Node5->Node9 - - - - - - - - -Node10->Node2 - - - - - - - - -Node10->Node3 - - - - - - - - - - - - - diff --git a/d4/def/kohonen__som__topology_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph_org.svg b/d4/def/kohonen__som__topology_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph_org.svg deleted file mode 100644 index c2e2a7d3e..000000000 --- a/d4/def/kohonen__som__topology_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph_org.svg +++ /dev/null @@ -1,201 +0,0 @@ - - - - - - -test1 - - -Node1 - - -test1 - - - - - -Node2 - - -_random - - - - - -Node1->Node2 - - - - - - - - -Node4 - - -std::max - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -save_2d_data - - - - - -Node1->Node5 - - - - - - - - -Node10 - - -test_2d_classes - - - - - -Node1->Node10 - - - - - - - - -Node3 - - -std::rand - - - - - -Node2->Node3 - - - - - - - - -Node6 - - -std::ofstream::close - - - - - -Node5->Node6 - - - - - - - - -Node7 - - -std::ofstream::is_open - - - - - -Node5->Node7 - - - - - - - - -Node8 - - -std::ofstream::open - - - - - -Node5->Node8 - - - - - - - - -Node9 - - -std::strerror - - - - - -Node5->Node9 - - - - - - - - -Node10->Node2 - - - - - - - - -Node10->Node3 - - - - - - - - diff --git a/d4/def/kohonen__som__topology_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph.map b/d4/def/kohonen__som__topology_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph.map deleted file mode 100644 index 63877bd83..000000000 --- a/d4/def/kohonen__som__topology_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph.map +++ /dev/null @@ -1,51 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d4/def/kohonen__som__topology_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph.md5 b/d4/def/kohonen__som__topology_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph.md5 deleted file mode 100644 index 73082c94b..000000000 --- a/d4/def/kohonen__som__topology_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -b0fcb77e5bb35f6c3090530b72a0e2cd \ No newline at end of file diff --git a/d4/def/kohonen__som__topology_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph.svg b/d4/def/kohonen__som__topology_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph.svg deleted file mode 100644 index 604163a70..000000000 --- a/d4/def/kohonen__som__topology_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph.svg +++ /dev/null @@ -1,536 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -std::clock - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -get_clock_diff - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::srand - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -test1 - - - - - -Node1->Node5 - - - - - - - - -Node15 - - -test2 - - - - - -Node1->Node15 - - - - - - - - -Node17 - - -test3 - - - - - -Node1->Node17 - - - - - - - - -Node19 - - -std::time - - - - - -Node1->Node19 - - - - - - - - -Node6 - - -_random - - - - - -Node5->Node6 - - - - - - - - -Node8 - - -std::max - - - - - -Node5->Node8 - - - - - - - - -Node9 - - -save_2d_data - - - - - -Node5->Node9 - - - - - - - - -Node14 - - -test_2d_classes - - - - - -Node5->Node14 - - - - - - - - -Node7 - - -std::rand - - - - - -Node6->Node7 - - - - - - - - -Node10 - - -std::ofstream::close - - - - - -Node9->Node10 - - - - - - - - -Node11 - - -std::ofstream::is_open - - - - - -Node9->Node11 - - - - - - - - -Node12 - - -std::ofstream::open - - - - - -Node9->Node12 - - - - - - - - -Node13 - - -std::strerror - - - - - -Node9->Node13 - - - - - - - - -Node14->Node6 - - - - - - - - -Node14->Node7 - - - - - - - - -Node15->Node6 - - - - - - - - -Node15->Node8 - - - - - - - - -Node15->Node9 - - - - - - - - -Node16 - - -test_3d_classes1 - - - - - -Node15->Node16 - - - - - - - - -Node16->Node6 - - - - - - - - -Node16->Node7 - - - - - - - - -Node17->Node6 - - - - - - - - -Node17->Node8 - - - - - - - - -Node17->Node9 - - - - - - - - -Node18 - - -test_3d_classes2 - - - - - -Node17->Node18 - - - - - - - - -Node18->Node6 - - - - - - - - -Node18->Node7 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d4/def/kohonen__som__topology_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph_org.svg b/d4/def/kohonen__som__topology_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph_org.svg deleted file mode 100644 index 16f9924cf..000000000 --- a/d4/def/kohonen__som__topology_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph_org.svg +++ /dev/null @@ -1,453 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -std::clock - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -get_clock_diff - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::srand - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -test1 - - - - - -Node1->Node5 - - - - - - - - -Node15 - - -test2 - - - - - -Node1->Node15 - - - - - - - - -Node17 - - -test3 - - - - - -Node1->Node17 - - - - - - - - -Node19 - - -std::time - - - - - -Node1->Node19 - - - - - - - - -Node6 - - -_random - - - - - -Node5->Node6 - - - - - - - - -Node8 - - -std::max - - - - - -Node5->Node8 - - - - - - - - -Node9 - - -save_2d_data - - - - - -Node5->Node9 - - - - - - - - -Node14 - - -test_2d_classes - - - - - -Node5->Node14 - - - - - - - - -Node7 - - -std::rand - - - - - -Node6->Node7 - - - - - - - - -Node10 - - -std::ofstream::close - - - - - -Node9->Node10 - - - - - - - - -Node11 - - -std::ofstream::is_open - - - - - -Node9->Node11 - - - - - - - - -Node12 - - -std::ofstream::open - - - - - -Node9->Node12 - - - - - - - - -Node13 - - -std::strerror - - - - - -Node9->Node13 - - - - - - - - -Node14->Node6 - - - - - - - - -Node14->Node7 - - - - - - - - -Node15->Node6 - - - - - - - - -Node15->Node8 - - - - - - - - -Node15->Node9 - - - - - - - - -Node16 - - -test_3d_classes1 - - - - - -Node15->Node16 - - - - - - - - -Node16->Node6 - - - - - - - - -Node16->Node7 - - - - - - - - -Node17->Node6 - - - - - - - - -Node17->Node8 - - - - - - - - -Node17->Node9 - - - - - - - - -Node18 - - -test_3d_classes2 - - - - - -Node17->Node18 - - - - - - - - -Node18->Node6 - - - - - - - - -Node18->Node7 - - - - - - - - diff --git a/d4/def/kohonen__som__topology_8cpp_a48efb079040c7aaa3a4917a0e486cba9_cgraph.map b/d4/def/kohonen__som__topology_8cpp_a48efb079040c7aaa3a4917a0e486cba9_cgraph.map deleted file mode 100644 index bd8b64e16..000000000 --- a/d4/def/kohonen__som__topology_8cpp_a48efb079040c7aaa3a4917a0e486cba9_cgraph.map +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/d4/def/kohonen__som__topology_8cpp_a48efb079040c7aaa3a4917a0e486cba9_cgraph.md5 b/d4/def/kohonen__som__topology_8cpp_a48efb079040c7aaa3a4917a0e486cba9_cgraph.md5 deleted file mode 100644 index 7d11d4feb..000000000 --- a/d4/def/kohonen__som__topology_8cpp_a48efb079040c7aaa3a4917a0e486cba9_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -387a6fcea5ad5cae387b1a46960c4466 \ No newline at end of file diff --git a/d4/def/kohonen__som__topology_8cpp_a48efb079040c7aaa3a4917a0e486cba9_cgraph.svg b/d4/def/kohonen__som__topology_8cpp_a48efb079040c7aaa3a4917a0e486cba9_cgraph.svg deleted file mode 100644 index 5f3a59c20..000000000 --- a/d4/def/kohonen__som__topology_8cpp_a48efb079040c7aaa3a4917a0e486cba9_cgraph.svg +++ /dev/null @@ -1,92 +0,0 @@ - - - - - - - - - - - - -test_2d_classes - - -Node1 - - -test_2d_classes - - - - - -Node2 - - -_random - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::rand - - - - - -Node1->Node3 - - - - - - - - -Node2->Node3 - - - - - - - - - - - - - diff --git a/d4/def/kohonen__som__topology_8cpp_a48efb079040c7aaa3a4917a0e486cba9_cgraph_org.svg b/d4/def/kohonen__som__topology_8cpp_a48efb079040c7aaa3a4917a0e486cba9_cgraph_org.svg deleted file mode 100644 index 63a30d4ee..000000000 --- a/d4/def/kohonen__som__topology_8cpp_a48efb079040c7aaa3a4917a0e486cba9_cgraph_org.svg +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - -test_2d_classes - - -Node1 - - -test_2d_classes - - - - - -Node2 - - -_random - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::rand - - - - - -Node1->Node3 - - - - - - - - -Node2->Node3 - - - - - - - - diff --git a/d4/def/kohonen__som__topology_8cpp_a4b7ab643f6a5002f991837de46f70653_cgraph.map b/d4/def/kohonen__som__topology_8cpp_a4b7ab643f6a5002f991837de46f70653_cgraph.map deleted file mode 100644 index 054da4dc7..000000000 --- a/d4/def/kohonen__som__topology_8cpp_a4b7ab643f6a5002f991837de46f70653_cgraph.map +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/d4/def/kohonen__som__topology_8cpp_a4b7ab643f6a5002f991837de46f70653_cgraph.md5 b/d4/def/kohonen__som__topology_8cpp_a4b7ab643f6a5002f991837de46f70653_cgraph.md5 deleted file mode 100644 index 1b7f93330..000000000 --- a/d4/def/kohonen__som__topology_8cpp_a4b7ab643f6a5002f991837de46f70653_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -2bddbfe9c5a913bf13fa165a6ced1485 \ No newline at end of file diff --git a/d4/def/kohonen__som__topology_8cpp_a4b7ab643f6a5002f991837de46f70653_cgraph.svg b/d4/def/kohonen__som__topology_8cpp_a4b7ab643f6a5002f991837de46f70653_cgraph.svg deleted file mode 100644 index 3871a02c8..000000000 --- a/d4/def/kohonen__som__topology_8cpp_a4b7ab643f6a5002f991837de46f70653_cgraph.svg +++ /dev/null @@ -1,92 +0,0 @@ - - - - - - - - - - - - -test_3d_classes2 - - -Node1 - - -test_3d_classes2 - - - - - -Node2 - - -_random - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::rand - - - - - -Node1->Node3 - - - - - - - - -Node2->Node3 - - - - - - - - - - - - - diff --git a/d4/def/kohonen__som__topology_8cpp_a4b7ab643f6a5002f991837de46f70653_cgraph_org.svg b/d4/def/kohonen__som__topology_8cpp_a4b7ab643f6a5002f991837de46f70653_cgraph_org.svg deleted file mode 100644 index 185d45c52..000000000 --- a/d4/def/kohonen__som__topology_8cpp_a4b7ab643f6a5002f991837de46f70653_cgraph_org.svg +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - -test_3d_classes2 - - -Node1 - - -test_3d_classes2 - - - - - -Node2 - - -_random - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::rand - - - - - -Node1->Node3 - - - - - - - - -Node2->Node3 - - - - - - - - diff --git a/d4/def/kohonen__som__topology_8cpp_a6d0455dd5c30adda100e95f0423c786e_cgraph.map b/d4/def/kohonen__som__topology_8cpp_a6d0455dd5c30adda100e95f0423c786e_cgraph.map deleted file mode 100644 index ae17fb976..000000000 --- a/d4/def/kohonen__som__topology_8cpp_a6d0455dd5c30adda100e95f0423c786e_cgraph.map +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d4/def/kohonen__som__topology_8cpp_a6d0455dd5c30adda100e95f0423c786e_cgraph.md5 b/d4/def/kohonen__som__topology_8cpp_a6d0455dd5c30adda100e95f0423c786e_cgraph.md5 deleted file mode 100644 index be5042411..000000000 --- a/d4/def/kohonen__som__topology_8cpp_a6d0455dd5c30adda100e95f0423c786e_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -f583449a71a0ab406419ab37fdb60ed3 \ No newline at end of file diff --git a/d4/def/kohonen__som__topology_8cpp_a6d0455dd5c30adda100e95f0423c786e_cgraph.svg b/d4/def/kohonen__som__topology_8cpp_a6d0455dd5c30adda100e95f0423c786e_cgraph.svg deleted file mode 100644 index da6d59f58..000000000 --- a/d4/def/kohonen__som__topology_8cpp_a6d0455dd5c30adda100e95f0423c786e_cgraph.svg +++ /dev/null @@ -1,227 +0,0 @@ - - - - - - - - - - - - -test3 - - -Node1 - - -test3 - - - - - -Node2 - - -_random - - - - - -Node1->Node2 - - - - - - - - -Node4 - - -std::max - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -save_2d_data - - - - - -Node1->Node5 - - - - - - - - -Node10 - - -test_3d_classes2 - - - - - -Node1->Node10 - - - - - - - - -Node3 - - -std::rand - - - - - -Node2->Node3 - - - - - - - - -Node6 - - -std::ofstream::close - - - - - -Node5->Node6 - - - - - - - - -Node7 - - -std::ofstream::is_open - - - - - -Node5->Node7 - - - - - - - - -Node8 - - -std::ofstream::open - - - - - -Node5->Node8 - - - - - - - - -Node9 - - -std::strerror - - - - - -Node5->Node9 - - - - - - - - -Node10->Node2 - - - - - - - - -Node10->Node3 - - - - - - - - - - - - - diff --git a/d4/def/kohonen__som__topology_8cpp_a6d0455dd5c30adda100e95f0423c786e_cgraph_org.svg b/d4/def/kohonen__som__topology_8cpp_a6d0455dd5c30adda100e95f0423c786e_cgraph_org.svg deleted file mode 100644 index 360e28702..000000000 --- a/d4/def/kohonen__som__topology_8cpp_a6d0455dd5c30adda100e95f0423c786e_cgraph_org.svg +++ /dev/null @@ -1,201 +0,0 @@ - - - - - - -test3 - - -Node1 - - -test3 - - - - - -Node2 - - -_random - - - - - -Node1->Node2 - - - - - - - - -Node4 - - -std::max - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -save_2d_data - - - - - -Node1->Node5 - - - - - - - - -Node10 - - -test_3d_classes2 - - - - - -Node1->Node10 - - - - - - - - -Node3 - - -std::rand - - - - - -Node2->Node3 - - - - - - - - -Node6 - - -std::ofstream::close - - - - - -Node5->Node6 - - - - - - - - -Node7 - - -std::ofstream::is_open - - - - - -Node5->Node7 - - - - - - - - -Node8 - - -std::ofstream::open - - - - - -Node5->Node8 - - - - - - - - -Node9 - - -std::strerror - - - - - -Node5->Node9 - - - - - - - - -Node10->Node2 - - - - - - - - -Node10->Node3 - - - - - - - - diff --git a/d4/def/kohonen__som__topology_8cpp_source.html b/d4/def/kohonen__som__topology_8cpp_source.html new file mode 100644 index 000000000..04cc68347 --- /dev/null +++ b/d4/def/kohonen__som__topology_8cpp_source.html @@ -0,0 +1,651 @@ + + + + + + + + +TheAlgorithms/C++: machine_learning/kohonen_som_topology.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    kohonen_som_topology.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    26#define _USE_MATH_DEFINES //< required for MS Visual C++
    +
    27#include <algorithm>
    +
    28#include <array>
    +
    29#include <cerrno>
    +
    30#include <cmath>
    +
    31#include <cstdlib>
    +
    32#include <cstring>
    +
    33#include <ctime>
    +
    34#include <fstream>
    +
    35#include <iostream>
    +
    36#include <valarray>
    +
    37#include <vector>
    +
    38#ifdef _OPENMP // check if OpenMP based parallellization is available
    +
    39#include <omp.h>
    +
    40#endif
    +
    41
    +
    +
    53double _random(double a, double b) {
    +
    54 return ((b - a) * (std::rand() % 100) / 100.f) + a;
    +
    55}
    +
    +
    56
    +
    +
    65int save_2d_data(const char *fname,
    +
    66 const std::vector<std::valarray<double>> &X) {
    +
    67 size_t num_points = X.size(); // number of rows
    +
    68 size_t num_features = X[0].size(); // number of columns
    +
    69
    +
    70 std::ofstream fp;
    +
    71 fp.open(fname);
    +
    72 if (!fp.is_open()) {
    +
    73 // error with opening file to write
    +
    74 std::cerr << "Error opening file " << fname << ": "
    +
    75 << std::strerror(errno) << "\n";
    +
    76 return -1;
    +
    77 }
    +
    78
    +
    79 // for each point in the array
    +
    80 for (int i = 0; i < num_points; i++) {
    +
    81 // for each feature in the array
    +
    82 for (int j = 0; j < num_features; j++) {
    +
    83 fp << X[i][j]; // print the feature value
    +
    84 if (j < num_features - 1) { // if not the last feature
    +
    85 fp << ","; // suffix comma
    +
    86 }
    +
    87 }
    +
    88 if (i < num_points - 1) { // if not the last row
    +
    89 fp << "\n"; // start a new line
    +
    90 }
    +
    91 }
    +
    92
    +
    93 fp.close();
    +
    94 return 0;
    +
    95}
    +
    +
    96
    +
    +
    105void get_min_2d(const std::vector<std::valarray<double>> &X, double *val,
    +
    106 int *x_idx, int *y_idx) {
    +
    107 val[0] = INFINITY; // initial min value
    +
    108 size_t N = X.size();
    +
    109
    +
    110 for (int i = 0; i < N; i++) { // traverse each x-index
    +
    111 auto result = std::min_element(std::begin(X[i]), std::end(X[i]));
    +
    112 double d_min = *result;
    +
    113 std::ptrdiff_t j = std::distance(std::begin(X[i]), result);
    +
    114
    +
    115 if (d_min < val[0]) { // if a lower value is found
    +
    116 // save the value and its index
    +
    117 x_idx[0] = i;
    +
    118 y_idx[0] = j;
    +
    119 val[0] = d_min;
    +
    120 }
    +
    121 }
    +
    122}
    +
    +
    123
    +
    127namespace machine_learning {
    +
    129constexpr double MIN_DISTANCE = 1e-4;
    +
    130
    +
    +
    142int save_u_matrix(const char *fname,
    +
    143 const std::vector<std::vector<std::valarray<double>>> &W) {
    +
    144 std::ofstream fp(fname);
    +
    145 if (!fp) { // error with fopen
    +
    146 std::cerr << "File error (" << fname << "): " << std::strerror(errno)
    +
    147 << std::endl;
    +
    148 return -1;
    +
    149 }
    +
    150
    +
    151 // neighborhood range
    +
    152 unsigned int R = 1;
    +
    153
    +
    154 for (int i = 0; i < W.size(); i++) { // for each x
    +
    155 for (int j = 0; j < W[0].size(); j++) { // for each y
    +
    156 double distance = 0.f;
    +
    157
    +
    158 int from_x = std::max<int>(0, i - R);
    +
    159 int to_x = std::min<int>(W.size(), i + R + 1);
    +
    160 int from_y = std::max<int>(0, j - R);
    +
    161 int to_y = std::min<int>(W[0].size(), j + R + 1);
    +
    162 int l = 0, m = 0;
    +
    163#ifdef _OPENMP
    +
    164#pragma omp parallel for reduction(+ : distance)
    +
    165#endif
    +
    166 for (l = from_x; l < to_x; l++) { // scan neighborhoor in x
    +
    167 for (m = from_y; m < to_y; m++) { // scan neighborhood in y
    +
    168 auto d = W[i][j] - W[l][m];
    +
    169 double d2 = std::pow(d, 2).sum();
    +
    170 distance += std::sqrt(d2);
    +
    171 // distance += d2;
    +
    172 }
    +
    173 }
    +
    174
    +
    175 distance /= R * R; // mean distance from neighbors
    +
    176 fp << distance; // print the mean separation
    +
    177 if (j < W[0].size() - 1) { // if not the last column
    +
    178 fp << ','; // suffix comma
    +
    179 }
    +
    180 }
    +
    181 if (i < W.size() - 1) { // if not the last row
    +
    182 fp << '\n'; // start a new line
    +
    183 }
    +
    184 }
    +
    185
    +
    186 fp.close();
    +
    187 return 0;
    +
    188}
    +
    +
    189
    +
    +
    200double update_weights(const std::valarray<double> &X,
    +
    201 std::vector<std::vector<std::valarray<double>>> *W,
    +
    202 std::vector<std::valarray<double>> *D, double alpha,
    +
    203 int R) {
    +
    204 int x = 0, y = 0;
    +
    205 int num_out_x = static_cast<int>(W->size()); // output nodes - in X
    +
    206 int num_out_y = static_cast<int>(W[0][0].size()); // output nodes - in Y
    +
    207 // int num_features = static_cast<int>(W[0][0][0].size()); // features =
    +
    208 // in Z
    +
    209 double d_min = 0.f;
    +
    210
    +
    211#ifdef _OPENMP
    +
    212#pragma omp for
    +
    213#endif
    +
    214 // step 1: for each output point
    +
    215 for (x = 0; x < num_out_x; x++) {
    +
    216 for (y = 0; y < num_out_y; y++) {
    +
    217 (*D)[x][y] = 0.f;
    +
    218 // compute Euclidian distance of each output
    +
    219 // point from the current sample
    +
    220 auto d = ((*W)[x][y] - X);
    +
    221 (*D)[x][y] = (d * d).sum();
    +
    222 (*D)[x][y] = std::sqrt((*D)[x][y]);
    +
    223 }
    +
    224 }
    +
    225
    +
    226 // step 2: get closest node i.e., node with snallest Euclidian distance
    +
    227 // to the current pattern
    +
    228 int d_min_x = 0, d_min_y = 0;
    +
    229 get_min_2d(*D, &d_min, &d_min_x, &d_min_y);
    +
    230
    +
    231 // step 3a: get the neighborhood range
    +
    232 int from_x = std::max(0, d_min_x - R);
    +
    233 int to_x = std::min(num_out_x, d_min_x + R + 1);
    +
    234 int from_y = std::max(0, d_min_y - R);
    +
    235 int to_y = std::min(num_out_y, d_min_y + R + 1);
    +
    236
    +
    237 // step 3b: update the weights of nodes in the
    +
    238 // neighborhood
    +
    239#ifdef _OPENMP
    +
    240#pragma omp for
    +
    241#endif
    +
    242 for (x = from_x; x < to_x; x++) {
    +
    243 for (y = from_y; y < to_y; y++) {
    +
    244 /* you can enable the following normalization if needed.
    +
    245 personally, I found it detrimental to convergence */
    +
    246 // const double s2pi = sqrt(2.f * M_PI);
    +
    247 // double normalize = 1.f / (alpha * s2pi);
    +
    248
    +
    249 /* apply scaling inversely proportional to distance from the
    +
    250 current node */
    +
    251 double d2 =
    +
    252 (d_min_x - x) * (d_min_x - x) + (d_min_y - y) * (d_min_y - y);
    +
    253 double scale_factor = std::exp(-d2 / (2.f * alpha * alpha));
    +
    254
    +
    255 (*W)[x][y] += (X - (*W)[x][y]) * alpha * scale_factor;
    +
    256 }
    +
    257 }
    +
    258 return d_min;
    +
    259}
    +
    +
    260
    +
    +
    269void kohonen_som(const std::vector<std::valarray<double>> &X,
    +
    270 std::vector<std::vector<std::valarray<double>>> *W,
    +
    271 double alpha_min) {
    +
    272 size_t num_samples = X.size(); // number of rows
    +
    273 // size_t num_features = X[0].size(); // number of columns
    +
    274 size_t num_out = W->size(); // output matrix size
    +
    275 size_t R = num_out >> 2, iter = 0;
    +
    276 double alpha = 1.f;
    +
    277
    +
    278 std::vector<std::valarray<double>> D(num_out);
    +
    279 for (int i = 0; i < num_out; i++) D[i] = std::valarray<double>(num_out);
    +
    280
    +
    281 double dmin = 1.f; // average minimum distance of all samples
    +
    282 double past_dmin = 1.f; // average minimum distance of all samples
    +
    283 double dmin_ratio = 1.f; // change per step
    +
    284
    +
    285 // Loop alpha from 1 to slpha_min
    +
    286 for (; alpha > 0 && dmin_ratio > 1e-5; alpha -= 1e-4, iter++) {
    +
    287 // Loop for each sample pattern in the data set
    +
    288 for (int sample = 0; sample < num_samples; sample++) {
    +
    289 // update weights for the current input pattern sample
    +
    290 dmin += update_weights(X[sample], W, &D, alpha, R);
    +
    291 }
    +
    292
    +
    293 // every 100th iteration, reduce the neighborhood range
    +
    294 if (iter % 300 == 0 && R > 1) {
    +
    295 R--;
    +
    296 }
    +
    297
    +
    298 dmin /= num_samples;
    +
    299
    +
    300 // termination condition variable -> % change in minimum distance
    +
    301 dmin_ratio = (past_dmin - dmin) / past_dmin;
    +
    302 if (dmin_ratio < 0) {
    +
    303 dmin_ratio = 1.f;
    +
    304 }
    +
    305 past_dmin = dmin;
    +
    306
    +
    307 std::cout << "iter: " << iter << "\t alpha: " << alpha << "\t R: " << R
    +
    308 << "\t d_min: " << dmin_ratio << "\r";
    +
    309 }
    +
    310
    +
    311 std::cout << "\n";
    +
    312}
    +
    +
    313
    +
    314} // namespace machine_learning
    +
    315
    + + +
    318
    +
    +
    330void test_2d_classes(std::vector<std::valarray<double>> *data) {
    +
    331 const int N = data->size();
    +
    332 const double R = 0.3; // radius of cluster
    +
    333 int i = 0;
    +
    334 const int num_classes = 4;
    +
    335 std::array<std::array<double, 2>, num_classes> centres = {
    +
    336 // centres of each class cluster
    +
    337 std::array<double, 2>({.5, .5}), // centre of class 1
    +
    338 std::array<double, 2>({.5, -.5}), // centre of class 2
    +
    339 std::array<double, 2>({-.5, .5}), // centre of class 3
    +
    340 std::array<double, 2>({-.5, -.5}) // centre of class 4
    +
    341 };
    +
    342
    +
    343#ifdef _OPENMP
    +
    344#pragma omp for
    +
    345#endif
    +
    346 for (i = 0; i < N; i++) {
    +
    347 // select a random class for the point
    +
    348 int cls = std::rand() % num_classes;
    +
    349
    +
    350 // create random coordinates (x,y,z) around the centre of the class
    +
    351 data[0][i][0] = _random(centres[cls][0] - R, centres[cls][0] + R);
    +
    352 data[0][i][1] = _random(centres[cls][1] - R, centres[cls][1] + R);
    +
    353
    +
    354 /* The follosing can also be used
    +
    355 for (int j = 0; j < 2; j++)
    +
    356 data[i][j] = _random(centres[class][j] - R, centres[class][j] + R);
    +
    357 */
    +
    358 }
    +
    359}
    +
    +
    360
    +
    +
    369void test1() {
    +
    370 int j = 0, N = 300;
    +
    371 int features = 2;
    +
    372 int num_out = 30;
    +
    373 std::vector<std::valarray<double>> X(N);
    +
    374 std::vector<std::vector<std::valarray<double>>> W(num_out);
    +
    375 for (int i = 0; i < std::max(num_out, N); i++) {
    +
    376 // loop till max(N, num_out)
    +
    377 if (i < N) { // only add new arrays if i < N
    +
    378 X[i] = std::valarray<double>(features);
    +
    379 }
    +
    380 if (i < num_out) { // only add new arrays if i < num_out
    +
    381 W[i] = std::vector<std::valarray<double>>(num_out);
    +
    382 for (int k = 0; k < num_out; k++) {
    +
    383 W[i][k] = std::valarray<double>(features);
    +
    384#ifdef _OPENMP
    +
    385#pragma omp for
    +
    386#endif
    +
    387 for (j = 0; j < features; j++) {
    +
    388 // preallocate with random initial weights
    +
    389 W[i][k][j] = _random(-10, 10);
    +
    390 }
    +
    391 }
    +
    392 }
    +
    393 }
    +
    394
    +
    395 test_2d_classes(&X); // create test data around circumference of a circle
    +
    396 save_2d_data("test1.csv", X); // save test data points
    +
    397 save_u_matrix("w11.csv", W); // save initial random weights
    +
    398 kohonen_som(X, &W, 1e-4); // train the SOM
    +
    399 save_u_matrix("w12.csv", W); // save the resultant weights
    +
    400}
    +
    +
    401
    +
    +
    411void test_3d_classes1(std::vector<std::valarray<double>> *data) {
    +
    412 const size_t N = data->size();
    +
    413 const double R = 0.3; // radius of cluster
    +
    414 int i = 0;
    +
    415 const int num_classes = 4;
    +
    416 const std::array<std::array<double, 3>, num_classes> centres = {
    +
    417 // centres of each class cluster
    +
    418 std::array<double, 3>({.5, .5, .5}), // centre of class 1
    +
    419 std::array<double, 3>({.5, -.5, -.5}), // centre of class 2
    +
    420 std::array<double, 3>({-.5, .5, .5}), // centre of class 3
    +
    421 std::array<double, 3>({-.5, -.5 - .5}) // centre of class 4
    +
    422 };
    +
    423
    +
    424#ifdef _OPENMP
    +
    425#pragma omp for
    +
    426#endif
    +
    427 for (i = 0; i < N; i++) {
    +
    428 // select a random class for the point
    +
    429 int cls = std::rand() % num_classes;
    +
    430
    +
    431 // create random coordinates (x,y,z) around the centre of the class
    +
    432 data[0][i][0] = _random(centres[cls][0] - R, centres[cls][0] + R);
    +
    433 data[0][i][1] = _random(centres[cls][1] - R, centres[cls][1] + R);
    +
    434 data[0][i][2] = _random(centres[cls][2] - R, centres[cls][2] + R);
    +
    435
    +
    436 /* The follosing can also be used
    +
    437 for (int j = 0; j < 3; j++)
    +
    438 data[i][j] = _random(centres[class][j] - R, centres[class][j] + R);
    +
    439 */
    +
    440 }
    +
    441}
    +
    +
    442
    +
    +
    451void test2() {
    +
    452 int j = 0, N = 300;
    +
    453 int features = 3;
    +
    454 int num_out = 30;
    +
    455 std::vector<std::valarray<double>> X(N);
    +
    456 std::vector<std::vector<std::valarray<double>>> W(num_out);
    +
    457 for (int i = 0; i < std::max(num_out, N); i++) {
    +
    458 // loop till max(N, num_out)
    +
    459 if (i < N) { // only add new arrays if i < N
    +
    460 X[i] = std::valarray<double>(features);
    +
    461 }
    +
    462 if (i < num_out) { // only add new arrays if i < num_out
    +
    463 W[i] = std::vector<std::valarray<double>>(num_out);
    +
    464 for (int k = 0; k < num_out; k++) {
    +
    465 W[i][k] = std::valarray<double>(features);
    +
    466#ifdef _OPENMP
    +
    467#pragma omp for
    +
    468#endif
    +
    469 for (j = 0; j < features; j++) {
    +
    470 // preallocate with random initial weights
    +
    471 W[i][k][j] = _random(-10, 10);
    +
    472 }
    +
    473 }
    +
    474 }
    +
    475 }
    +
    476
    +
    477 test_3d_classes1(&X); // create test data around circumference of a circle
    +
    478 save_2d_data("test2.csv", X); // save test data points
    +
    479 save_u_matrix("w21.csv", W); // save initial random weights
    +
    480 kohonen_som(X, &W, 1e-4); // train the SOM
    +
    481 save_u_matrix("w22.csv", W); // save the resultant weights
    +
    482}
    +
    +
    483
    +
    +
    493void test_3d_classes2(std::vector<std::valarray<double>> *data) {
    +
    494 const size_t N = data->size();
    +
    495 const double R = 0.2; // radius of cluster
    +
    496 int i = 0;
    +
    497 const int num_classes = 8;
    +
    498 const std::array<std::array<double, 3>, num_classes> centres = {
    +
    499 // centres of each class cluster
    +
    500 std::array<double, 3>({.5, .5, .5}), // centre of class 1
    +
    501 std::array<double, 3>({.5, .5, -.5}), // centre of class 2
    +
    502 std::array<double, 3>({.5, -.5, .5}), // centre of class 3
    +
    503 std::array<double, 3>({.5, -.5, -.5}), // centre of class 4
    +
    504 std::array<double, 3>({-.5, .5, .5}), // centre of class 5
    +
    505 std::array<double, 3>({-.5, .5, -.5}), // centre of class 6
    +
    506 std::array<double, 3>({-.5, -.5, .5}), // centre of class 7
    +
    507 std::array<double, 3>({-.5, -.5, -.5}) // centre of class 8
    +
    508 };
    +
    509
    +
    510#ifdef _OPENMP
    +
    511#pragma omp for
    +
    512#endif
    +
    513 for (i = 0; i < N; i++) {
    +
    514 // select a random class for the point
    +
    515 int cls = std::rand() % num_classes;
    +
    516
    +
    517 // create random coordinates (x,y,z) around the centre of the class
    +
    518 data[0][i][0] = _random(centres[cls][0] - R, centres[cls][0] + R);
    +
    519 data[0][i][1] = _random(centres[cls][1] - R, centres[cls][1] + R);
    +
    520 data[0][i][2] = _random(centres[cls][2] - R, centres[cls][2] + R);
    +
    521
    +
    522 /* The follosing can also be used
    +
    523 for (int j = 0; j < 3; j++)
    +
    524 data[i][j] = _random(centres[class][j] - R, centres[class][j] + R);
    +
    525 */
    +
    526 }
    +
    527}
    +
    +
    528
    +
    +
    537void test3() {
    +
    538 int j = 0, N = 500;
    +
    539 int features = 3;
    +
    540 int num_out = 30;
    +
    541 std::vector<std::valarray<double>> X(N);
    +
    542 std::vector<std::vector<std::valarray<double>>> W(num_out);
    +
    543 for (int i = 0; i < std::max(num_out, N); i++) {
    +
    544 // loop till max(N, num_out)
    +
    545 if (i < N) { // only add new arrays if i < N
    +
    546 X[i] = std::valarray<double>(features);
    +
    547 }
    +
    548 if (i < num_out) { // only add new arrays if i < num_out
    +
    549 W[i] = std::vector<std::valarray<double>>(num_out);
    +
    550 for (int k = 0; k < num_out; k++) {
    +
    551 W[i][k] = std::valarray<double>(features);
    +
    552#ifdef _OPENMP
    +
    553#pragma omp for
    +
    554#endif
    +
    555 for (j = 0; j < features; j++) {
    +
    556 // preallocate with random initial weights
    +
    557 W[i][k][j] = _random(-10, 10);
    +
    558 }
    +
    559 }
    +
    560 }
    +
    561 }
    +
    562
    +
    563 test_3d_classes2(&X); // create test data around circumference of a circle
    +
    564 save_2d_data("test3.csv", X); // save test data points
    +
    565 save_u_matrix("w31.csv", W); // save initial random weights
    +
    566 kohonen_som(X, &W, 1e-4); // train the SOM
    +
    567 save_u_matrix("w32.csv", W); // save the resultant weights
    +
    568}
    +
    +
    569
    +
    +
    577double get_clock_diff(clock_t start_t, clock_t end_t) {
    +
    578 return static_cast<double>(end_t - start_t) / CLOCKS_PER_SEC;
    +
    579}
    +
    +
    580
    +
    +
    582int main(int argc, char **argv) {
    +
    583#ifdef _OPENMP
    +
    584 std::cout << "Using OpenMP based parallelization\n";
    +
    585#else
    +
    586 std::cout << "NOT using OpenMP based parallelization\n";
    +
    587#endif
    +
    588
    +
    589 std::srand(std::time(nullptr));
    +
    590
    +
    591 std::clock_t start_clk = std::clock();
    +
    592 test1();
    +
    593 auto end_clk = std::clock();
    +
    594 std::cout << "Test 1 completed in " << get_clock_diff(start_clk, end_clk)
    +
    595 << " sec\n";
    +
    596
    +
    597 start_clk = std::clock();
    +
    598 test2();
    +
    599 end_clk = std::clock();
    +
    600 std::cout << "Test 2 completed in " << get_clock_diff(start_clk, end_clk)
    +
    601 << " sec\n";
    +
    602
    +
    603 start_clk = std::clock();
    +
    604 test3();
    +
    605 end_clk = std::clock();
    +
    606 std::cout << "Test 3 completed in " << get_clock_diff(start_clk, end_clk)
    +
    607 << " sec\n";
    +
    608
    +
    609 std::cout
    +
    610 << "(Note: Calculated times include: creating test sets, training "
    +
    611 "model and writing files to disk.)\n\n";
    +
    612 return 0;
    +
    613}
    +
    +
    int main()
    Main function.
    +
    void get_min_2d(const std::vector< std::valarray< double > > &X, double *val, int *x_idx, int *y_idx)
    +
    int save_2d_data(const char *fname, const std::vector< std::valarray< double > > &X)
    +
    double _random(double a, double b)
    +
    int data[MAX]
    test data
    +
    void test2()
    +
    void test_3d_classes1(std::vector< std::valarray< double > > *data)
    +
    void test1()
    +
    double get_clock_diff(clock_t start_t, clock_t end_t)
    +
    void test_2d_classes(std::vector< std::valarray< double > > *data)
    +
    void test_3d_classes2(std::vector< std::valarray< double > > *data)
    +
    void test3()
    +
    A* search algorithm
    +
    T sum(const std::vector< std::valarray< T > > &A)
    +
    constexpr double MIN_DISTANCE
    +
    int save_u_matrix(const char *fname, const std::vector< std::vector< std::valarray< double > > > &W)
    +
    void kohonen_som(const std::vector< std::valarray< double > > &X, std::vector< std::vector< std::valarray< double > > > *W, double alpha_min)
    +
    double update_weights(const std::valarray< double > &X, std::vector< std::vector< std::valarray< double > > > *W, std::vector< std::valarray< double > > *D, double alpha, int R)
    +
    +
    + + + + diff --git a/d4/def/longest__common__subsequence_8cpp_source.html b/d4/def/longest__common__subsequence_8cpp_source.html new file mode 100644 index 000000000..73278c208 --- /dev/null +++ b/d4/def/longest__common__subsequence_8cpp_source.html @@ -0,0 +1,204 @@ + + + + + + + + +TheAlgorithms/C++: dynamic_programming/longest_common_subsequence.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    longest_common_subsequence.cpp
    +
    +
    +
    1// Longest common subsequence - Dynamic Programming
    +
    2#include <iostream>
    +
    3#include <vector>
    +
    4using namespace std;
    +
    5
    +
    6void Print(int trace[20][20], int m, int n, string a) {
    +
    7 if (m == 0 || n == 0) {
    +
    8 return;
    +
    9 }
    +
    10 if (trace[m][n] == 1) {
    +
    11 Print(trace, m - 1, n - 1, a);
    +
    12 cout << a[m - 1];
    +
    13 } else if (trace[m][n] == 2) {
    +
    14 Print(trace, m - 1, n, a);
    +
    15 } else if (trace[m][n] == 3) {
    +
    16 Print(trace, m, n - 1, a);
    +
    17 }
    +
    18}
    +
    19
    +
    20int lcs(string a, string b) {
    +
    21 int m = a.length(), n = b.length();
    +
    22 std::vector<std::vector<int> > res(m + 1, std::vector<int>(n + 1));
    +
    23 int trace[20][20];
    +
    24
    +
    25 // fills up the arrays with zeros.
    +
    26 for (int i = 0; i < m + 1; i++) {
    +
    27 for (int j = 0; j < n + 1; j++) {
    +
    28 res[i][j] = 0;
    +
    29 trace[i][j] = 0;
    +
    30 }
    +
    31 }
    +
    32
    +
    33 for (int i = 0; i < m + 1; ++i) {
    +
    34 for (int j = 0; j < n + 1; ++j) {
    +
    35 if (i == 0 || j == 0) {
    +
    36 res[i][j] = 0;
    +
    37 trace[i][j] = 0;
    +
    38 }
    +
    39
    +
    40 else if (a[i - 1] == b[j - 1]) {
    +
    41 res[i][j] = 1 + res[i - 1][j - 1];
    +
    42 trace[i][j] = 1; // 1 means trace the matrix in upper left
    +
    43 // diagonal direction.
    +
    44 } else {
    +
    45 if (res[i - 1][j] > res[i][j - 1]) {
    +
    46 res[i][j] = res[i - 1][j];
    +
    47 trace[i][j] =
    +
    48 2; // 2 means trace the matrix in upwards direction.
    +
    49 } else {
    +
    50 res[i][j] = res[i][j - 1];
    +
    51 trace[i][j] =
    +
    52 3; // means trace the matrix in left direction.
    +
    53 }
    +
    54 }
    +
    55 }
    +
    56 }
    +
    57 Print(trace, m, n, a);
    +
    58 return res[m][n];
    +
    59}
    +
    60
    +
    61int main() {
    +
    62 string a, b;
    +
    63 cin >> a >> b;
    +
    64 cout << lcs(a, b);
    +
    65 return 0;
    +
    66}
    +
    int main()
    Main function.
    +
    +
    + + + + diff --git a/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html b/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html index 3e648c295..b05cab0a5 100644 --- a/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html +++ b/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: machine_learning::neural_network::NeuralNetwork Class Reference +TheAlgorithms/C++: machine_learning::neural_network::NeuralNetwork Class Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -122,7 +139,7 @@ Collaboration diagram for machine_learning::neural_network::NeuralNetwork: Public Member Functions - + @@ -134,42 +151,43 @@ Public Member Functions - + - + - + - + - + - + - + - + - +
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
     NeuralNetwork ()=default
     
     NeuralNetwork (const std::vector< std::pair< int, std::string > > &config)
     NeuralNetwork (const std::vector< std::pair< int, std::string > > &config)
     
     NeuralNetwork (const NeuralNetwork &model)=default
     
     
    NeuralNetworkoperator= (NeuralNetwork &&)=default
     
    std::pair< std::vector< std::vector< std::valarray< double > > >, std::vector< std::vector< std::valarray< double > > > > get_XY_from_csv (const std::string &file_name, const bool &last_label, const bool &normalize, const int &slip_lines=1)
    std::pair< std::vector< std::vector< std::valarray< double > > >, std::vector< std::vector< std::valarray< double > > > > get_XY_from_csv (const std::string &file_name, const bool &last_label, const bool &normalize, const int &slip_lines=1)
     
    std::vector< std::valarray< double > > single_predict (const std::vector< std::valarray< double > > &X)
    std::vector< std::valarray< double > > single_predict (const std::vector< std::valarray< double > > &X)
     
    std::vector< std::vector< std::valarray< double > > > batch_predict (const std::vector< std::vector< std::valarray< double > > > &X)
    std::vector< std::vector< std::valarray< double > > > batch_predict (const std::vector< std::vector< std::valarray< double > > > &X)
     
    void fit (const std::vector< std::vector< std::valarray< double > > > &X_, const std::vector< std::vector< std::valarray< double > > > &Y_, const int &epochs=100, const double &learning_rate=0.01, const size_t &batch_size=32, const bool &shuffle=true)
    void fit (const std::vector< std::vector< std::valarray< double > > > &X_, const std::vector< std::vector< std::valarray< double > > > &Y_, const int &epochs=100, const double &learning_rate=0.01, const size_t &batch_size=32, const bool &shuffle=true)
     
    void fit_from_csv (const std::string &file_name, const bool &last_label, const int &epochs, const double &learning_rate, const bool &normalize, const int &slip_lines=1, const size_t &batch_size=32, const bool &shuffle=true)
    void fit_from_csv (const std::string &file_name, const bool &last_label, const int &epochs, const double &learning_rate, const bool &normalize, const int &slip_lines=1, const size_t &batch_size=32, const bool &shuffle=true)
     
    void evaluate (const std::vector< std::vector< std::valarray< double > > > &X, const std::vector< std::vector< std::valarray< double > > > &Y)
    void evaluate (const std::vector< std::vector< std::valarray< double > > > &X, const std::vector< std::vector< std::valarray< double > > > &Y)
     
    void evaluate_from_csv (const std::string &file_name, const bool &last_label, const bool &normalize, const int &slip_lines=1)
    void evaluate_from_csv (const std::string &file_name, const bool &last_label, const bool &normalize, const int &slip_lines=1)
     
    void save_model (const std::string &_file_name)
    void save_model (const std::string &_file_name)
     
    NeuralNetwork load_model (const std::string &file_name)
    NeuralNetwork load_model (const std::string &file_name)
     
    void summary ()
     
    - + - +

    Private Member Functions

     NeuralNetwork (const std::vector< std::pair< int, std::string > > &config, const std::vector< std::vector< std::valarray< double > > > &kernels)
     NeuralNetwork (const std::vector< std::pair< int, std::string > > &config, const std::vector< std::vector< std::valarray< double > > > &kernels)
     
    std::vector< std::vector< std::valarray< double > > > __detailed_single_prediction (const std::vector< std::valarray< double > > &X)
    std::vector< std::vector< std::valarray< double > > > __detailed_single_prediction (const std::vector< std::valarray< double > > &X)
     
    - +

    Private Attributes

    -std::vector< neural_network::layers::DenseLayerlayers
    std::vector< neural_network::layers::DenseLayerlayers
     

    Detailed Description

    NeuralNetwork class is implements MLP. This class is used by actual user to create and train networks.

    + +

    Definition at line 247 of file neural_network.cpp.

    Constructor & Destructor Documentation

    ◆ NeuralNetwork() [1/5]

    @@ -183,12 +201,12 @@ Private Attributes machine_learning::neural_network::NeuralNetwork::NeuralNetwork ( - const std::vector< std::pair< int, std::string > > & config, + const std::vector< std::pair< int, std::string > > & config, - const std::vector< std::vector< std::valarray< double > > > & kernels ) + const std::vector< std::vector< std::valarray< double > > > & kernels ) @@ -204,42 +222,34 @@ Private Attributes + +

    Definition at line 256 of file neural_network.cpp.

    258 {
    259 // First layer should not have activation
    -
    260 if (config.begin()->second != "none") {
    -
    261 std::cerr << "ERROR (" << __func__ << ") : ";
    - +
    260 if (config.begin()->second != "none") {
    +
    261 std::cerr << "ERROR (" << __func__ << ") : ";
    +
    262 std::cerr
    263 << "First layer can't have activation other than none got "
    -
    264 << config.begin()->second;
    - -
    266 std::exit(EXIT_FAILURE);
    +
    264 << config.begin()->second;
    +
    265 std::cerr << std::endl;
    +
    266 std::exit(EXIT_FAILURE);
    267 }
    268 // Network should have atleast two layers
    -
    269 if (config.size() <= 1) {
    -
    270 std::cerr << "ERROR (" << __func__ << ") : ";
    -
    271 std::cerr << "Invalid size of network, ";
    -
    272 std::cerr << "Atleast two layers are required";
    -
    273 std::exit(EXIT_FAILURE);
    +
    269 if (config.size() <= 1) {
    +
    270 std::cerr << "ERROR (" << __func__ << ") : ";
    +
    271 std::cerr << "Invalid size of network, ";
    +
    272 std::cerr << "Atleast two layers are required";
    +
    273 std::exit(EXIT_FAILURE);
    274 }
    275 // Reconstructing all pretrained layers
    -
    276 for (size_t i = 0; i < config.size(); i++) {
    +
    276 for (size_t i = 0; i < config.size(); i++) {
    277 layers.emplace_back(neural_network::layers::DenseLayer(
    278 config[i].first, config[i].second, kernels[i]));
    279 }
    -
    280 std::cout << "INFO: Network constructed successfully" << std::endl;
    +
    280 std::cout << "INFO: Network constructed successfully" << std::endl;
    281 }
    - -
    T begin(T... args)
    -
    T endl(T... args)
    -
    T exit(T... args)
    This namespace contains layers used in MLP.
    -
    T size(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    @@ -280,7 +290,7 @@ Here is the call graph for this function: machine_learning::neural_network::NeuralNetwork::NeuralNetwork ( - const std::vector< std::pair< int, std::string > > & config) + const std::vector< std::pair< int, std::string > > & config) @@ -296,22 +306,24 @@ Here is the call graph for this function: + +

    Definition at line 313 of file neural_network.cpp.

    314 {
    315 // First layer should not have activation
    -
    316 if (config.begin()->second != "none") {
    -
    317 std::cerr << "ERROR (" << __func__ << ") : ";
    - +
    316 if (config.begin()->second != "none") {
    +
    317 std::cerr << "ERROR (" << __func__ << ") : ";
    +
    318 std::cerr
    319 << "First layer can't have activation other than none got "
    -
    320 << config.begin()->second;
    - -
    322 std::exit(EXIT_FAILURE);
    +
    320 << config.begin()->second;
    +
    321 std::cerr << std::endl;
    +
    322 std::exit(EXIT_FAILURE);
    323 }
    324 // Network should have atleast two layers
    -
    325 if (config.size() <= 1) {
    -
    326 std::cerr << "ERROR (" << __func__ << ") : ";
    -
    327 std::cerr << "Invalid size of network, ";
    -
    328 std::cerr << "Atleast two layers are required";
    -
    329 std::exit(EXIT_FAILURE);
    +
    325 if (config.size() <= 1) {
    +
    326 std::cerr << "ERROR (" << __func__ << ") : ";
    +
    327 std::cerr << "Invalid size of network, ";
    +
    328 std::cerr << "Atleast two layers are required";
    +
    329 std::exit(EXIT_FAILURE);
    330 }
    331 // Separately creating first layer so it can have unit matrix
    332 // as kernel.
    @@ -319,19 +331,14 @@ Here is the call graph for this function:
    334 config[0].first, config[0].second,
    335 {config[0].first, config[0].first}, false));
    336 // Creating remaining layers
    -
    337 for (size_t i = 1; i < config.size(); i++) {
    +
    337 for (size_t i = 1; i < config.size(); i++) {
    338 layers.push_back(neural_network::layers::DenseLayer(
    339 config[i].first, config[i].second,
    340 {config[i - 1].first, config[i].first}, true));
    341 }
    -
    342 std::cout << "INFO: Network constructed successfully" << std::endl;
    +
    342 std::cout << "INFO: Network constructed successfully" << std::endl;
    343 }
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -429,9 +436,9 @@ Here is the call graph for this function: - + - +
    std::vector< std::vector< std::valarray< double > > > machine_learning::neural_network::NeuralNetwork::__detailed_single_prediction std::vector< std::vector< std::valarray< double > > > machine_learning::neural_network::NeuralNetwork::__detailed_single_prediction (const std::vector< std::valarray< double > > & X)const std::vector< std::valarray< double > > & X)
    @@ -447,28 +454,23 @@ Here is the call graph for this function: + +

    Definition at line 289 of file neural_network.cpp.

    289 {
    - -
    291 std::vector<std::valarray<double>> current_pass = X;
    -
    292 details.emplace_back(X);
    +
    290 std::vector<std::vector<std::valarray<double>>> details;
    +
    291 std::vector<std::valarray<double>> current_pass = X;
    +
    292 details.emplace_back(X);
    293 for (const auto &l : layers) {
    294 current_pass = multiply(current_pass, l.kernel);
    295 current_pass = apply_function(current_pass, l.activation_function);
    -
    296 details.emplace_back(current_pass);
    +
    296 details.emplace_back(current_pass);
    297 }
    298 return details;
    299 }
    -
    double l(double x)
    Another test function.
    Definition composite_simpson_rule.cpp:119
    -
    T emplace_back(T... args)
    -
    std::vector< std::valarray< T > > multiply(const std::vector< std::valarray< T > > &A, const std::vector< std::valarray< T > > &B)
    Definition vector_ops.hpp:460
    -
    std::vector< std::valarray< T > > apply_function(const std::vector< std::valarray< T > > &A, T(*func)(const T &))
    Definition vector_ops.hpp:329
    - -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    double l(double x)
    Another test function.
    +
    std::vector< std::valarray< T > > multiply(const std::vector< std::valarray< T > > &A, const std::vector< std::valarray< T > > &B)
    +
    std::vector< std::valarray< T > > apply_function(const std::vector< std::valarray< T > > &A, T(*func)(const T &))
    + @@ -481,9 +483,9 @@ Here is the call graph for this function: - + - +
    std::vector< std::vector< std::valarray< double > > > machine_learning::neural_network::NeuralNetwork::batch_predict std::vector< std::vector< std::valarray< double > > > machine_learning::neural_network::NeuralNetwork::batch_predict (const std::vector< std::vector< std::valarray< double > > > & X)const std::vector< std::vector< std::valarray< double > > > & X)
    @@ -500,23 +502,20 @@ Here is the call graph for this function:
    Returns
    returns predicted values as vector
    + +

    Definition at line 464 of file neural_network.cpp.

    465 {
    466 // Store predicted values
    - -
    468 X.size());
    -
    469 for (size_t i = 0; i < X.size(); i++) { // For every sample
    +
    467 std::vector<std::vector<std::valarray<double>>> predicted_batch(
    +
    468 X.size());
    +
    469 for (size_t i = 0; i < X.size(); i++) { // For every sample
    470 // Push predicted values
    471 predicted_batch[i] = this->single_predict(X[i]);
    472 }
    473 return predicted_batch; // Return predicted values
    474 }
    -
    std::vector< std::valarray< double > > single_predict(const std::vector< std::valarray< double > > &X)
    Definition neural_network.cpp:451
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    std::vector< std::valarray< double > > single_predict(const std::vector< std::valarray< double > > &X)
    + @@ -531,12 +530,12 @@ Here is the call graph for this function: void machine_learning::neural_network::NeuralNetwork::evaluate ( - const std::vector< std::vector< std::valarray< double > > > & X, + const std::vector< std::vector< std::valarray< double > > > & X, - const std::vector< std::vector< std::valarray< double > > > & Y ) + const std::vector< std::vector< std::valarray< double > > > & Y ) @@ -552,12 +551,14 @@ Here is the call graph for this function: + +

    Definition at line 606 of file neural_network.cpp.

    607 {
    -
    608 std::cout << "INFO: Evaluation Started" << std::endl;
    +
    608 std::cout << "INFO: Evaluation Started" << std::endl;
    609 double acc = 0, loss = 0; // initialize performance metrics with zero
    -
    610 for (size_t i = 0; i < X.size(); i++) { // For every sample in input
    +
    610 for (size_t i = 0; i < X.size(); i++) { // For every sample in input
    611 // Get predictions
    - +
    612 std::vector<std::valarray<double>> pred =
    613 this->single_predict(X[i]);
    614 // If predicted class is correct
    615 if (argmax(pred) == argmax(Y[i])) {
    @@ -568,21 +569,16 @@ Here is the call graph for this function:
    620 neural_network::util_functions::square) *
    621 0.5);
    622 }
    -
    623 acc /= X.size(); // Averaging accuracy
    -
    624 loss /= X.size(); // Averaging loss
    +
    623 acc /= X.size(); // Averaging accuracy
    +
    624 loss /= X.size(); // Averaging loss
    625 // Prinitng performance of the model
    -
    626 std::cout << "Evaluation: Loss: " << loss;
    -
    627 std::cout << ", Accuracy: " << acc << std::endl;
    +
    626 std::cout << "Evaluation: Loss: " << loss;
    +
    627 std::cout << ", Accuracy: " << acc << std::endl;
    628 return;
    629 }
    -
    size_t argmax(const std::vector< std::valarray< T > > &A)
    Definition vector_ops.hpp:307
    -
    T sum(const std::vector< std::valarray< T > > &A)
    Definition vector_ops.hpp:232
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    size_t argmax(const std::vector< std::valarray< T > > &A)
    +
    T sum(const std::vector< std::valarray< T > > &A)
    + @@ -597,7 +593,7 @@ Here is the call graph for this function: void machine_learning::neural_network::NeuralNetwork::evaluate_from_csv ( - const std::string & file_name, + const std::string & file_name, @@ -630,6 +626,8 @@ Here is the call graph for this function: + +

    Definition at line 638 of file neural_network.cpp.

    639 {
    640 // Getting training data from csv file
    641 auto data =
    @@ -638,15 +636,10 @@ Here is the call graph for this function:
    644 this->evaluate(data.first, data.second);
    645 return;
    646 }
    -
    std::pair< std::vector< std::vector< std::valarray< double > > >, std::vector< std::vector< std::valarray< double > > > > get_XY_from_csv(const std::string &file_name, const bool &last_label, const bool &normalize, const int &slip_lines=1)
    Definition neural_network.cpp:382
    -
    void evaluate(const std::vector< std::vector< std::valarray< double > > > &X, const std::vector< std::vector< std::valarray< double > > > &Y)
    Definition neural_network.cpp:606
    -
    int data[MAX]
    test data
    Definition hash_search.cpp:24
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    std::pair< std::vector< std::vector< std::valarray< double > > >, std::vector< std::vector< std::valarray< double > > > > get_XY_from_csv(const std::string &file_name, const bool &last_label, const bool &normalize, const int &slip_lines=1)
    +
    void evaluate(const std::vector< std::vector< std::valarray< double > > > &X, const std::vector< std::vector< std::valarray< double > > > &Y)
    +
    int data[MAX]
    test data
    + @@ -661,12 +654,12 @@ Here is the call graph for this function: void machine_learning::neural_network::NeuralNetwork::fit ( - const std::vector< std::vector< std::valarray< double > > > & X_, + const std::vector< std::vector< std::valarray< double > > > & X_, - const std::vector< std::vector< std::valarray< double > > > & Y_, + const std::vector< std::vector< std::valarray< double > > > & Y_, @@ -706,38 +699,40 @@ Here is the call graph for this function: + +

    Definition at line 485 of file neural_network.cpp.

    488 {
    - +
    489 std::vector<std::vector<std::valarray<double>>> X = X_, Y = Y_;
    490 // Both label and input data should have same size
    -
    491 if (X.size() != Y.size()) {
    -
    492 std::cerr << "ERROR (" << __func__ << ") : ";
    -
    493 std::cerr << "X and Y in fit have different sizes" << std::endl;
    -
    494 std::exit(EXIT_FAILURE);
    +
    491 if (X.size() != Y.size()) {
    +
    492 std::cerr << "ERROR (" << __func__ << ") : ";
    +
    493 std::cerr << "X and Y in fit have different sizes" << std::endl;
    +
    494 std::exit(EXIT_FAILURE);
    495 }
    -
    496 std::cout << "INFO: Training Started" << std::endl;
    +
    496 std::cout << "INFO: Training Started" << std::endl;
    497 for (int epoch = 1; epoch <= epochs; epoch++) { // For every epoch
    498 // Shuffle X and Y if flag is set
    499 if (shuffle) {
    500 equal_shuffle(X, Y);
    501 }
    502 auto start =
    - +
    503 std::chrono::high_resolution_clock::now(); // Start clock
    504 double loss = 0,
    505 acc = 0; // Initialize performance metrics with zero
    506 // For each starting index of batch
    -
    507 for (size_t batch_start = 0; batch_start < X.size();
    +
    507 for (size_t batch_start = 0; batch_start < X.size();
    508 batch_start += batch_size) {
    509 for (size_t i = batch_start;
    -
    510 i < std::min(X.size(), batch_start + batch_size); i++) {
    -
    511 std::vector<std::valarray<double>> grad, cur_error,
    +
    510 i < std::min(X.size(), batch_start + batch_size); i++) {
    +
    511 std::vector<std::valarray<double>> grad, cur_error,
    512 predicted;
    513 auto activations = this->__detailed_single_prediction(X[i]);
    514 // Gradients vector to store gradients for all layers
    515 // They will be averaged and applied to kernel
    - -
    517 gradients.resize(this->layers.size());
    +
    516 std::vector<std::vector<std::valarray<double>>> gradients;
    +
    517 gradients.resize(this->layers.size());
    518 // First initialize gradients to zero
    -
    519 for (size_t i = 0; i < gradients.size(); i++) {
    +
    519 for (size_t i = 0; i < gradients.size(); i++) {
    521 gradients[i], get_shape(this->layers[i].kernel));
    522 }
    @@ -775,41 +770,32 @@ Here is the call graph for this function:
    554 }
    555 }
    556 auto stop =
    -
    557 std::chrono::high_resolution_clock::now(); // Stoping the clock
    +
    557 std::chrono::high_resolution_clock::now(); // Stoping the clock
    558 // Calculate time taken by epoch
    559 auto duration =
    - +
    560 std::chrono::duration_cast<std::chrono::microseconds>(stop -
    561 start);
    -
    562 loss /= X.size(); // Averaging loss
    -
    563 acc /= X.size(); // Averaging accuracy
    -
    564 std::cout.precision(4); // set output precision to 4
    +
    562 loss /= X.size(); // Averaging loss
    +
    563 acc /= X.size(); // Averaging accuracy
    +
    564 std::cout.precision(4); // set output precision to 4
    565 // Printing training stats
    -
    566 std::cout << "Training: Epoch " << epoch << '/' << epochs;
    -
    567 std::cout << ", Loss: " << loss;
    -
    568 std::cout << ", Accuracy: " << acc;
    -
    569 std::cout << ", Taken time: " << duration.count() / 1e6
    +
    566 std::cout << "Training: Epoch " << epoch << '/' << epochs;
    +
    567 std::cout << ", Loss: " << loss;
    +
    568 std::cout << ", Accuracy: " << acc;
    +
    569 std::cout << ", Taken time: " << duration.count() / 1e6
    570 << " seconds";
    - +
    571 std::cout << std::endl;
    572 }
    573 return;
    574 }
    -
    std::vector< std::vector< std::valarray< double > > > __detailed_single_prediction(const std::vector< std::valarray< double > > &X)
    Definition neural_network.cpp:289
    -
    T duration_cast(T... args)
    -
    T min(T... args)
    +
    std::vector< std::vector< std::valarray< double > > > __detailed_single_prediction(const std::vector< std::valarray< double > > &X)
    Various activation functions used in Neural network.
    -
    std::vector< std::valarray< T > > transpose(const std::vector< std::valarray< T > > &A)
    Definition vector_ops.hpp:382
    -
    std::pair< size_t, size_t > get_shape(const std::vector< std::valarray< T > > &A)
    Definition vector_ops.hpp:247
    -
    void zeroes_initialization(std::vector< std::valarray< T > > &A, const std::pair< size_t, size_t > &shape)
    Definition vector_ops.hpp:213
    -
    std::vector< std::valarray< T > > hadamard_product(const std::vector< std::valarray< T > > &A, const std::vector< std::valarray< T > > &B)
    Definition vector_ops.hpp:494
    -
    void equal_shuffle(std::vector< std::vector< std::valarray< T > > > &A, std::vector< std::vector< std::valarray< T > > > &B)
    Definition vector_ops.hpp:136
    - -
    T resize(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    std::vector< std::valarray< T > > transpose(const std::vector< std::valarray< T > > &A)
    +
    std::pair< size_t, size_t > get_shape(const std::vector< std::valarray< T > > &A)
    +
    void zeroes_initialization(std::vector< std::valarray< T > > &A, const std::pair< size_t, size_t > &shape)
    +
    std::vector< std::valarray< T > > hadamard_product(const std::vector< std::valarray< T > > &A, const std::vector< std::valarray< T > > &B)
    +
    void equal_shuffle(std::vector< std::vector< std::valarray< T > > > &A, std::vector< std::vector< std::valarray< T > > > &B)
    + @@ -824,7 +810,7 @@ Here is the call graph for this function: void machine_learning::neural_network::NeuralNetwork::fit_from_csv ( - const std::string & file_name, + const std::string & file_name, @@ -881,6 +867,8 @@ Here is the call graph for this function: + +

    Definition at line 587 of file neural_network.cpp.

    591 {
    592 // Getting training data from csv file
    593 auto data =
    @@ -890,13 +878,8 @@ Here is the call graph for this function:
    597 shuffle);
    598 return;
    599 }
    -
    void fit(const std::vector< std::vector< std::valarray< double > > > &X_, const std::vector< std::vector< std::valarray< double > > > &Y_, const int &epochs=100, const double &learning_rate=0.01, const size_t &batch_size=32, const bool &shuffle=true)
    Definition neural_network.cpp:485
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    void fit(const std::vector< std::vector< std::valarray< double > > > &X_, const std::vector< std::vector< std::valarray< double > > > &Y_, const int &epochs=100, const double &learning_rate=0.01, const size_t &batch_size=32, const bool &shuffle=true)
    + @@ -909,9 +892,9 @@ Here is the call graph for this function: - + - + @@ -945,31 +928,33 @@ Here is the call graph for this function:
    Returns
    returns pair of X and Y
    + +

    Definition at line 382 of file neural_network.cpp.

    383 {
    -
    384 std::ifstream in_file; // Ifstream to read file
    -
    385 in_file.open(file_name.c_str(), std::ios::in); // Open file
    +
    384 std::ifstream in_file; // Ifstream to read file
    +
    385 in_file.open(file_name.c_str(), std::ios::in); // Open file
    386 // If there is any problem in opening file
    -
    387 if (!in_file.is_open()) {
    -
    388 std::cerr << "ERROR (" << __func__ << ") : ";
    -
    389 std::cerr << "Unable to open file: " << file_name << std::endl;
    -
    390 std::exit(EXIT_FAILURE);
    +
    387 if (!in_file.is_open()) {
    +
    388 std::cerr << "ERROR (" << __func__ << ") : ";
    +
    389 std::cerr << "Unable to open file: " << file_name << std::endl;
    +
    390 std::exit(EXIT_FAILURE);
    391 }
    - +
    392 std::vector<std::vector<std::valarray<double>>> X,
    393 Y; // To store X and Y
    -
    394 std::string line; // To store each line
    +
    394 std::string line; // To store each line
    395 // Skip lines
    396 for (int i = 0; i < slip_lines; i++) {
    -
    397 std::getline(in_file, line, '\n'); // Ignore line
    +
    397 std::getline(in_file, line, '\n'); // Ignore line
    398 }
    399 // While file has information
    -
    400 while (!in_file.eof() && std::getline(in_file, line, '\n')) {
    - +
    400 while (!in_file.eof() && std::getline(in_file, line, '\n')) {
    +
    401 std::valarray<double> x_data,
    402 y_data; // To store single sample and label
    -
    403 std::stringstream ss(line); // Constructing stringstream from line
    -
    404 std::string token; // To store each token in line (seprated by ',')
    -
    405 while (std::getline(ss, token, ',')) { // For each token
    +
    403 std::stringstream ss(line); // Constructing stringstream from line
    +
    404 std::string token; // To store each token in line (seprated by ',')
    +
    405 while (std::getline(ss, token, ',')) { // For each token
    406 // Insert numerical value of token in x_data
    -
    407 x_data = insert_element(x_data, std::stod(token));
    +
    407 x_data = insert_element(x_data, std::stod(token));
    408 }
    409 // If label is in last column
    410 if (last_label) {
    @@ -996,40 +981,22 @@ Here is the call graph for this function:
    431 x_data = pop_front(x_data); // Remove label from x_data
    432 }
    433 // Push collected X_data and y_data in X and Y
    -
    434 X.push_back({x_data});
    -
    435 Y.push_back({y_data});
    +
    434 X.push_back({x_data});
    +
    435 Y.push_back({y_data});
    436 }
    437 // Normalize training data if flag is set
    438 if (normalize) {
    439 // Scale data between 0 and 1 using min-max scaler
    440 X = minmax_scaler(X, 0.01, 1.0);
    441 }
    -
    442 in_file.close(); // Closing file
    -
    443 return make_pair(X, Y); // Return pair of X and Y
    +
    442 in_file.close(); // Closing file
    +
    443 return make_pair(X, Y); // Return pair of X and Y
    444 }
    - - - -
    T c_str(T... args)
    -
    T close(T... args)
    -
    T eof(T... args)
    -
    T getline(T... args)
    -
    T is_open(T... args)
    -
    T make_pair(T... args)
    -
    std::valarray< T > insert_element(const std::valarray< T > &A, const T &ele)
    Definition vector_ops.hpp:85
    -
    std::valarray< T > pop_front(const std::valarray< T > &A)
    Definition vector_ops.hpp:102
    -
    std::vector< std::vector< std::valarray< T > > > minmax_scaler(const std::vector< std::vector< std::valarray< T > > > &A, const T &low, const T &high)
    Definition vector_ops.hpp:269
    -
    std::valarray< T > pop_back(const std::valarray< T > &A)
    Definition vector_ops.hpp:119
    -
    T open(T... args)
    -
    T push_back(T... args)
    -
    T stod(T... args)
    - -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    std::valarray< T > insert_element(const std::valarray< T > &A, const T &ele)
    +
    std::valarray< T > pop_front(const std::valarray< T > &A)
    +
    std::vector< std::vector< std::valarray< T > > > minmax_scaler(const std::vector< std::vector< std::valarray< T > > > &A, const T &low, const T &high)
    +
    std::valarray< T > pop_back(const std::valarray< T > &A)
    + @@ -1044,7 +1011,7 @@ Here is the call graph for this function: - +
    std::pair< std::vector< std::vector< std::valarray< double > > >, std::vector< std::vector< std::valarray< double > > > > machine_learning::neural_network::NeuralNetwork::get_XY_from_csv std::pair< std::vector< std::vector< std::valarray< double > > >, std::vector< std::vector< std::valarray< double > > > > machine_learning::neural_network::NeuralNetwork::get_XY_from_csv (const std::string & file_name, const std::string & file_name,
    NeuralNetwork machine_learning::neural_network::NeuralNetwork::load_model (const std::string & file_name)const std::string & file_name)
    @@ -1061,50 +1028,47 @@ Here is the call graph for this function:
    Returns
    instance of NeuralNetwork class with pretrained weights
    + +

    Definition at line 732 of file neural_network.cpp.

    732 {
    -
    733 std::ifstream in_file; // Ifstream to read file
    -
    734 in_file.open(file_name.c_str()); // Openinig file
    +
    733 std::ifstream in_file; // Ifstream to read file
    +
    734 in_file.open(file_name.c_str()); // Openinig file
    735 // If there is any problem in opening file
    -
    736 if (!in_file.is_open()) {
    -
    737 std::cerr << "ERROR (" << __func__ << ") : ";
    -
    738 std::cerr << "Unable to open file: " << file_name << std::endl;
    -
    739 std::exit(EXIT_FAILURE);
    +
    736 if (!in_file.is_open()) {
    +
    737 std::cerr << "ERROR (" << __func__ << ") : ";
    +
    738 std::cerr << "Unable to open file: " << file_name << std::endl;
    +
    739 std::exit(EXIT_FAILURE);
    740 }
    -
    741 std::vector<std::pair<int, std::string>> config; // To store config
    - +
    741 std::vector<std::pair<int, std::string>> config; // To store config
    +
    742 std::vector<std::vector<std::valarray<double>>>
    743 kernels; // To store pretrained kernels
    744 // Loading model from saved file format
    745 size_t total_layers = 0;
    746 in_file >> total_layers;
    747 for (size_t i = 0; i < total_layers; i++) {
    748 int neurons = 0;
    -
    749 std::string activation;
    +
    749 std::string activation;
    750 size_t shape_a = 0, shape_b = 0;
    - +
    751 std::vector<std::valarray<double>> kernel;
    752 in_file >> neurons >> activation >> shape_a >> shape_b;
    753 for (size_t r = 0; r < shape_a; r++) {
    -
    754 std::valarray<double> row(shape_b);
    +
    754 std::valarray<double> row(shape_b);
    755 for (size_t c = 0; c < shape_b; c++) {
    756 in_file >> row[c];
    757 }
    -
    758 kernel.push_back(row);
    +
    758 kernel.push_back(row);
    759 }
    -
    760 config.emplace_back(make_pair(neurons, activation));
    +
    760 config.emplace_back(make_pair(neurons, activation));
    761 ;
    -
    762 kernels.emplace_back(kernel);
    +
    762 kernels.emplace_back(kernel);
    763 }
    -
    764 std::cout << "INFO: Model loaded successfully" << std::endl;
    -
    765 in_file.close(); // Closing file
    +
    764 std::cout << "INFO: Model loaded successfully" << std::endl;
    +
    765 in_file.close(); // Closing file
    766 return NeuralNetwork(
    767 config, kernels); // Return instance of NeuralNetwork class
    768 }
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -1171,7 +1135,7 @@ Here is the call graph for this function: void machine_learning::neural_network::NeuralNetwork::save_model ( - const std::string & _file_name) + const std::string & _file_name) @@ -1215,88 +1179,44 @@ neural_network::layers::DenseLayer) kernel_value

    -2.01336 -0.0219682 1.44145 1.72853 -0.465264 -0.705373 -0.908409 -0.740547 0.376416 -
    652 {
    -
    653 std::string file_name = _file_name;
    + +

    Definition at line 652 of file neural_network.cpp.

    +
    652 {
    +
    653 std::string file_name = _file_name;
    654 // Adding ".model" extension if it is not already there in name
    -
    655 if (file_name.find(".model") == file_name.npos) {
    +
    655 if (file_name.find(".model") == file_name.npos) {
    656 file_name += ".model";
    657 }
    -
    658 std::ofstream out_file; // Ofstream to write in file
    +
    658 std::ofstream out_file; // Ofstream to write in file
    659 // Open file in out|trunc mode
    -
    660 out_file.open(file_name.c_str(),
    +
    660 out_file.open(file_name.c_str(),
    661 std::ofstream::out | std::ofstream::trunc);
    662 // If there is any problem in opening file
    -
    663 if (!out_file.is_open()) {
    -
    664 std::cerr << "ERROR (" << __func__ << ") : ";
    -
    665 std::cerr << "Unable to open file: " << file_name << std::endl;
    -
    666 std::exit(EXIT_FAILURE);
    -
    667 }
    -
    668 /**
    -
    669 Format in which model is saved:
    -
    670
    -
    671 total_layers
    -
    672 neurons(1st neural_network::layers::DenseLayer) activation_name(1st
    -
    673 neural_network::layers::DenseLayer) kernel_shape(1st
    -
    674 neural_network::layers::DenseLayer) kernel_values
    -
    675 .
    -
    676 .
    -
    677 .
    -
    678 neurons(Nth neural_network::layers::DenseLayer) activation_name(Nth
    -
    679 neural_network::layers::DenseLayer) kernel_shape(Nth
    -
    680 neural_network::layers::DenseLayer) kernel_value
    -
    681
    -
    682 For Example, pretrained model with 3 layers:
    -
    683 <pre>
    -
    684 3
    -
    685 4 none
    -
    686 4 4
    -
    687 1 0 0 0
    -
    688 0 1 0 0
    -
    689 0 0 1 0
    -
    690 0 0 0 1
    -
    691 6 relu
    -
    692 4 6
    -
    693 -1.88963 -3.61165 1.30757 -0.443906 -2.41039 -2.69653
    -
    694 -0.684753 0.0891452 0.795294 -2.39619 2.73377 0.318202
    -
    695 -2.91451 -4.43249 -0.804187 2.51995 -6.97524 -1.07049
    -
    696 -0.571531 -1.81689 -1.24485 1.92264 -2.81322 1.01741
    -
    697 3 sigmoid
    -
    698 6 3
    -
    699 0.390267 -0.391703 -0.0989607
    -
    700 0.499234 -0.564539 -0.28097
    -
    701 0.553386 -0.153974 -1.92493
    -
    702 -2.01336 -0.0219682 1.44145
    -
    703 1.72853 -0.465264 -0.705373
    -
    704 -0.908409 -0.740547 0.376416
    -
    705 </pre>
    -
    706 */
    +
    663 if (!out_file.is_open()) {
    +
    664 std::cerr << "ERROR (" << __func__ << ") : ";
    +
    665 std::cerr << "Unable to open file: " << file_name << std::endl;
    +
    666 std::exit(EXIT_FAILURE);
    +
    667 }
    707 // Saving model in the same format
    708 out_file << layers.size();
    -
    709 out_file << std::endl;
    +
    709 out_file << std::endl;
    710 for (const auto &layer : this->layers) {
    -
    711 out_file << layer.neurons << ' ' << layer.activation << std::endl;
    +
    711 out_file << layer.neurons << ' ' << layer.activation << std::endl;
    712 const auto shape = get_shape(layer.kernel);
    -
    713 out_file << shape.first << ' ' << shape.second << std::endl;
    +
    713 out_file << shape.first << ' ' << shape.second << std::endl;
    714 for (const auto &row : layer.kernel) {
    715 for (const auto &val : row) {
    716 out_file << val << ' ';
    717 }
    -
    718 out_file << std::endl;
    +
    718 out_file << std::endl;
    719 }
    720 }
    -
    721 std::cout << "INFO: Model saved successfully with name : ";
    -
    722 std::cout << file_name << std::endl;
    -
    723 out_file.close(); // Closing file
    +
    721 std::cout << "INFO: Model saved successfully with name : ";
    +
    722 std::cout << file_name << std::endl;
    +
    723 out_file.close(); // Closing file
    724 return;
    725 }
    - -
    T find(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    @@ -1309,9 +1229,9 @@ Here is the call graph for this function: - + - +
    std::vector< std::valarray< double > > machine_learning::neural_network::NeuralNetwork::single_predict std::vector< std::valarray< double > > machine_learning::neural_network::NeuralNetwork::single_predict (const std::vector< std::valarray< double > > & X)const std::vector< std::valarray< double > > & X)
    @@ -1328,18 +1248,15 @@ Here is the call graph for this function:
    Returns
    returns predictions as vector
    + +

    Definition at line 451 of file neural_network.cpp.

    452 {
    453 // Get activations of all layers
    455 // Return activations of last layer (actual predicted values)
    456 return activations.back();
    457 }
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -1365,40 +1282,62 @@ Here is the call graph for this function:

    Function to print summary of the network.

    + +

    Definition at line 773 of file neural_network.cpp.

    773 {
    774 // Printing Summary
    - +
    775 std::cout
    776 << "==============================================================="
    -
    777 << std::endl;
    -
    778 std::cout << "\t\t+ MODEL SUMMARY +\t\t\n";
    - +
    777 << std::endl;
    +
    778 std::cout << "\t\t+ MODEL SUMMARY +\t\t\n";
    +
    779 std::cout
    780 << "==============================================================="
    -
    781 << std::endl;
    +
    781 << std::endl;
    782 for (size_t i = 1; i <= layers.size(); i++) { // For every layer
    -
    783 std::cout << i << ")";
    -
    784 std::cout << " Neurons : "
    +
    783 std::cout << i << ")";
    +
    784 std::cout << " Neurons : "
    785 << layers[i - 1].neurons; // number of neurons
    -
    786 std::cout << ", Activation : "
    +
    786 std::cout << ", Activation : "
    787 << layers[i - 1].activation; // activation
    -
    788 std::cout << ", kernel Shape : "
    +
    788 std::cout << ", kernel Shape : "
    789 << get_shape(layers[i - 1].kernel); // kernel shape
    - +
    790 std::cout << std::endl;
    791 }
    - +
    792 std::cout
    793 << "==============================================================="
    -
    794 << std::endl;
    +
    794 << std::endl;
    795 return;
    796 }
    -
    -Here is the call graph for this function:
    -
    -
    +
    + +

    Member Data Documentation

    + +

    ◆ layers

    + +
    +
    + + + + + +
    + + + + +
    std::vector<neural_network::layers::DenseLayer> machine_learning::neural_network::NeuralNetwork::layers
    +
    +private
    +
    + +

    Definition at line 249 of file neural_network.cpp.


    The documentation for this class was generated from the following file: diff --git a/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a2be1b52bb9f57486f9a436f35c9089c0_cgraph.map b/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a2be1b52bb9f57486f9a436f35c9089c0_cgraph.map deleted file mode 100644 index e83bca88f..000000000 --- a/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a2be1b52bb9f57486f9a436f35c9089c0_cgraph.map +++ /dev/null @@ -1,77 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a2be1b52bb9f57486f9a436f35c9089c0_cgraph.md5 b/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a2be1b52bb9f57486f9a436f35c9089c0_cgraph.md5 deleted file mode 100644 index cbdea01af..000000000 --- a/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a2be1b52bb9f57486f9a436f35c9089c0_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -6ea2ef462d7f61f6705629ad42e26b79 \ No newline at end of file diff --git a/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a2be1b52bb9f57486f9a436f35c9089c0_cgraph.svg b/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a2be1b52bb9f57486f9a436f35c9089c0_cgraph.svg deleted file mode 100644 index a428b4c4b..000000000 --- a/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a2be1b52bb9f57486f9a436f35c9089c0_cgraph.svg +++ /dev/null @@ -1,780 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -machine_learning::neural_network::NeuralNetwork::fit - - -Node1 - - -machine_learning::neural -_network::NeuralNetwork::fit - - - - - -Node2 - - -machine_learning::neural -_network::NeuralNetwork -::__detailed_single_prediction - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -machine_learning::apply -_function - - - - - -Node1->Node3 - - - - - - - - -Node5 - - -machine_learning::multiply - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -std::endl - - - - - -Node1->Node6 - - - - - - - - -Node7 - - -std::exit - - - - - -Node1->Node7 - - - - - - - - -Node8 - - -machine_learning::get -_shape - - - - - -Node1->Node8 - - - - - - - - -Node11 - - -machine_learning::argmax - - - - - -Node1->Node11 - - - - - - - - -Node16 - - -std::chrono::duration_cast - - - - - -Node1->Node16 - - - - - - - - -Node17 - - -machine_learning::equal -_shuffle - - - - - -Node1->Node17 - - - - - - - - -Node22 - - -machine_learning::hadamard -_product - - - - - -Node1->Node22 - - - - - - - - -Node23 - - -std::min - - - - - -Node1->Node23 - - - - - - - - -Node24 - - -std::chrono::high_resolution -_clock::now - - - - - -Node1->Node24 - - - - - - - - -Node25 - - -std::vector::resize - - - - - -Node1->Node25 - - - - - - - - -Node26 - - -std::vector::size - - - - - -Node1->Node26 - - - - - - - - -Node27 - - -machine_learning::sum - - - - - -Node1->Node27 - - - - - - - - -Node28 - - -machine_learning::transpose - - - - - -Node1->Node28 - - - - - - - - -Node29 - - -machine_learning::zeroes -_initialization - - - - - -Node1->Node29 - - - - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::vector::emplace_back - - - - - -Node2->Node4 - - - - - - - - -Node2->Node5 - - - - - - - - -Node5->Node6 - - - - - - - - -Node5->Node7 - - - - - - - - -Node5->Node8 - - - - - - - - -Node10 - - -std::vector::push_back - - - - - -Node5->Node10 - - - - - - - - -Node8->Node6 - - - - - - - - -Node8->Node7 - - - - - - - - -Node9 - - -std::make_pair - - - - - -Node8->Node9 - - - - - - - - -Node11->Node6 - - - - - - - - -Node11->Node7 - - - - - - - - -Node11->Node8 - - - - - - - - -Node12 - - -std::begin - - - - - -Node11->Node12 - - - - - - - - -Node13 - - -std::distance - - - - - -Node11->Node13 - - - - - - - - -Node14 - - -std::end - - - - - -Node11->Node14 - - - - - - - - -Node15 - - -std::max_element - - - - - -Node11->Node15 - - - - - - - - -Node17->Node6 - - - - - - - - -Node17->Node7 - - - - - - - - -Node18 - - -std::chrono::system -_clock::now - - - - - -Node17->Node18 - - - - - - - - -Node19 - - -std::rand - - - - - -Node17->Node19 - - - - - - - - -Node20 - - -std::srand - - - - - -Node17->Node20 - - - - - - - - -Node21 - - -std::swap - - - - - -Node17->Node21 - - - - - - - - -Node22->Node6 - - - - - - - - -Node22->Node7 - - - - - - - - -Node22->Node8 - - - - - - - - -Node22->Node10 - - - - - - - - -Node28->Node8 - - - - - - - - -Node28->Node10 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a2be1b52bb9f57486f9a436f35c9089c0_cgraph_org.svg b/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a2be1b52bb9f57486f9a436f35c9089c0_cgraph_org.svg deleted file mode 100644 index 97f0c5923..000000000 --- a/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a2be1b52bb9f57486f9a436f35c9089c0_cgraph_org.svg +++ /dev/null @@ -1,697 +0,0 @@ - - - - - - -machine_learning::neural_network::NeuralNetwork::fit - - -Node1 - - -machine_learning::neural -_network::NeuralNetwork::fit - - - - - -Node2 - - -machine_learning::neural -_network::NeuralNetwork -::__detailed_single_prediction - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -machine_learning::apply -_function - - - - - -Node1->Node3 - - - - - - - - -Node5 - - -machine_learning::multiply - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -std::endl - - - - - -Node1->Node6 - - - - - - - - -Node7 - - -std::exit - - - - - -Node1->Node7 - - - - - - - - -Node8 - - -machine_learning::get -_shape - - - - - -Node1->Node8 - - - - - - - - -Node11 - - -machine_learning::argmax - - - - - -Node1->Node11 - - - - - - - - -Node16 - - -std::chrono::duration_cast - - - - - -Node1->Node16 - - - - - - - - -Node17 - - -machine_learning::equal -_shuffle - - - - - -Node1->Node17 - - - - - - - - -Node22 - - -machine_learning::hadamard -_product - - - - - -Node1->Node22 - - - - - - - - -Node23 - - -std::min - - - - - -Node1->Node23 - - - - - - - - -Node24 - - -std::chrono::high_resolution -_clock::now - - - - - -Node1->Node24 - - - - - - - - -Node25 - - -std::vector::resize - - - - - -Node1->Node25 - - - - - - - - -Node26 - - -std::vector::size - - - - - -Node1->Node26 - - - - - - - - -Node27 - - -machine_learning::sum - - - - - -Node1->Node27 - - - - - - - - -Node28 - - -machine_learning::transpose - - - - - -Node1->Node28 - - - - - - - - -Node29 - - -machine_learning::zeroes -_initialization - - - - - -Node1->Node29 - - - - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::vector::emplace_back - - - - - -Node2->Node4 - - - - - - - - -Node2->Node5 - - - - - - - - -Node5->Node6 - - - - - - - - -Node5->Node7 - - - - - - - - -Node5->Node8 - - - - - - - - -Node10 - - -std::vector::push_back - - - - - -Node5->Node10 - - - - - - - - -Node8->Node6 - - - - - - - - -Node8->Node7 - - - - - - - - -Node9 - - -std::make_pair - - - - - -Node8->Node9 - - - - - - - - -Node11->Node6 - - - - - - - - -Node11->Node7 - - - - - - - - -Node11->Node8 - - - - - - - - -Node12 - - -std::begin - - - - - -Node11->Node12 - - - - - - - - -Node13 - - -std::distance - - - - - -Node11->Node13 - - - - - - - - -Node14 - - -std::end - - - - - -Node11->Node14 - - - - - - - - -Node15 - - -std::max_element - - - - - -Node11->Node15 - - - - - - - - -Node17->Node6 - - - - - - - - -Node17->Node7 - - - - - - - - -Node18 - - -std::chrono::system -_clock::now - - - - - -Node17->Node18 - - - - - - - - -Node19 - - -std::rand - - - - - -Node17->Node19 - - - - - - - - -Node20 - - -std::srand - - - - - -Node17->Node20 - - - - - - - - -Node21 - - -std::swap - - - - - -Node17->Node21 - - - - - - - - -Node22->Node6 - - - - - - - - -Node22->Node7 - - - - - - - - -Node22->Node8 - - - - - - - - -Node22->Node10 - - - - - - - - -Node28->Node8 - - - - - - - - -Node28->Node10 - - - - - - - - diff --git a/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a361a45f3c3d8347d79103bf182d0570b_cgraph.map b/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a361a45f3c3d8347d79103bf182d0570b_cgraph.map deleted file mode 100644 index 1da111ffa..000000000 --- a/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a361a45f3c3d8347d79103bf182d0570b_cgraph.map +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - diff --git a/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a361a45f3c3d8347d79103bf182d0570b_cgraph.md5 b/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a361a45f3c3d8347d79103bf182d0570b_cgraph.md5 deleted file mode 100644 index 317ae6a85..000000000 --- a/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a361a45f3c3d8347d79103bf182d0570b_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -262e70b3746f9510ef2d6588b20ad6dd \ No newline at end of file diff --git a/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a361a45f3c3d8347d79103bf182d0570b_cgraph.svg b/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a361a45f3c3d8347d79103bf182d0570b_cgraph.svg deleted file mode 100644 index e239497bc..000000000 --- a/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a361a45f3c3d8347d79103bf182d0570b_cgraph.svg +++ /dev/null @@ -1,270 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -machine_learning::neural_network::NeuralNetwork::__detailed_single_prediction - - -Node1 - - -machine_learning::neural -_network::NeuralNetwork -::__detailed_single_prediction - - - - - -Node2 - - -machine_learning::apply -_function - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::vector::emplace_back - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -machine_learning::multiply - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::endl - - - - - -Node4->Node5 - - - - - - - - -Node6 - - -std::exit - - - - - -Node4->Node6 - - - - - - - - -Node7 - - -machine_learning::get -_shape - - - - - -Node4->Node7 - - - - - - - - -Node9 - - -std::vector::push_back - - - - - -Node4->Node9 - - - - - - - - -Node7->Node5 - - - - - - - - -Node7->Node6 - - - - - - - - -Node8 - - -std::make_pair - - - - - -Node7->Node8 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a361a45f3c3d8347d79103bf182d0570b_cgraph_org.svg b/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a361a45f3c3d8347d79103bf182d0570b_cgraph_org.svg deleted file mode 100644 index 70ad32169..000000000 --- a/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a361a45f3c3d8347d79103bf182d0570b_cgraph_org.svg +++ /dev/null @@ -1,187 +0,0 @@ - - - - - - -machine_learning::neural_network::NeuralNetwork::__detailed_single_prediction - - -Node1 - - -machine_learning::neural -_network::NeuralNetwork -::__detailed_single_prediction - - - - - -Node2 - - -machine_learning::apply -_function - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::vector::emplace_back - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -machine_learning::multiply - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::endl - - - - - -Node4->Node5 - - - - - - - - -Node6 - - -std::exit - - - - - -Node4->Node6 - - - - - - - - -Node7 - - -machine_learning::get -_shape - - - - - -Node4->Node7 - - - - - - - - -Node9 - - -std::vector::push_back - - - - - -Node4->Node9 - - - - - - - - -Node7->Node5 - - - - - - - - -Node7->Node6 - - - - - - - - -Node8 - - -std::make_pair - - - - - -Node7->Node8 - - - - - - - - diff --git a/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a36494e26ff36d6e15c1022bb9a1ee848_cgraph.map b/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a36494e26ff36d6e15c1022bb9a1ee848_cgraph.map deleted file mode 100644 index f17bb6ae2..000000000 --- a/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a36494e26ff36d6e15c1022bb9a1ee848_cgraph.map +++ /dev/null @@ -1,82 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a36494e26ff36d6e15c1022bb9a1ee848_cgraph.md5 b/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a36494e26ff36d6e15c1022bb9a1ee848_cgraph.md5 deleted file mode 100644 index 702e530b8..000000000 --- a/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a36494e26ff36d6e15c1022bb9a1ee848_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -0657e4ff13fb34124afd12d53920a909 \ No newline at end of file diff --git a/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a36494e26ff36d6e15c1022bb9a1ee848_cgraph.svg b/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a36494e26ff36d6e15c1022bb9a1ee848_cgraph.svg deleted file mode 100644 index a0883dd28..000000000 --- a/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a36494e26ff36d6e15c1022bb9a1ee848_cgraph.svg +++ /dev/null @@ -1,830 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -machine_learning::neural_network::NeuralNetwork::evaluate_from_csv - - -Node1 - - -machine_learning::neural -_network::NeuralNetwork -::evaluate_from_csv - - - - - -Node2 - - -machine_learning::neural -_network::NeuralNetwork -::evaluate - - - - - -Node1->Node2 - - - - - - - - -Node19 - - -machine_learning::neural -_network::NeuralNetwork -::get_XY_from_csv - - - - - -Node1->Node19 - - - - - - - - -Node3 - - -machine_learning::apply -_function - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -machine_learning::argmax - - - - - -Node2->Node4 - - - - - - - - -Node8 - - -std::endl - - - - - -Node2->Node8 - - - - - - - - -Node13 - - -machine_learning::neural -_network::NeuralNetwork -::single_predict - - - - - -Node2->Node13 - - - - - - - - -Node18 - - -machine_learning::sum - - - - - -Node2->Node18 - - - - - - - - -Node5 - - -std::begin - - - - - -Node4->Node5 - - - - - - - - -Node6 - - -std::distance - - - - - -Node4->Node6 - - - - - - - - -Node7 - - -std::end - - - - - -Node4->Node7 - - - - - - - - -Node4->Node8 - - - - - - - - -Node9 - - -std::exit - - - - - -Node4->Node9 - - - - - - - - -Node10 - - -machine_learning::get -_shape - - - - - -Node4->Node10 - - - - - - - - -Node12 - - -std::max_element - - - - - -Node4->Node12 - - - - - - - - -Node10->Node8 - - - - - - - - -Node10->Node9 - - - - - - - - -Node11 - - -std::make_pair - - - - - -Node10->Node11 - - - - - - - - -Node14 - - -machine_learning::neural -_network::NeuralNetwork -::__detailed_single_prediction - - - - - -Node13->Node14 - - - - - - - - -Node14->Node3 - - - - - - - - -Node15 - - -std::vector::emplace_back - - - - - -Node14->Node15 - - - - - - - - -Node16 - - -machine_learning::multiply - - - - - -Node14->Node16 - - - - - - - - -Node16->Node8 - - - - - - - - -Node16->Node9 - - - - - - - - -Node16->Node10 - - - - - - - - -Node17 - - -std::vector::push_back - - - - - -Node16->Node17 - - - - - - - - -Node19->Node8 - - - - - - - - -Node19->Node9 - - - - - - - - -Node19->Node17 - - - - - - - - -Node20 - - -std::vector::back - - - - - -Node19->Node20 - - - - - - - - -Node21 - - -std::string::c_str - - - - - -Node19->Node21 - - - - - - - - -Node22 - - -std::ifstream::close - - - - - -Node19->Node22 - - - - - - - - -Node23 - - -std::ifstream::eof - - - - - -Node19->Node23 - - - - - - - - -Node24 - - -std::getline - - - - - -Node19->Node24 - - - - - - - - -Node25 - - -machine_learning::insert -_element - - - - - -Node19->Node25 - - - - - - - - -Node26 - - -std::ifstream::is_open - - - - - -Node19->Node26 - - - - - - - - -Node27 - - -machine_learning::minmax -_scaler - - - - - -Node19->Node27 - - - - - - - - -Node31 - - -std::ifstream::open - - - - - -Node19->Node31 - - - - - - - - -Node32 - - -machine_learning::pop_back - - - - - -Node19->Node32 - - - - - - - - -Node33 - - -machine_learning::pop -_front - - - - - -Node19->Node33 - - - - - - - - -Node34 - - -std::stod - - - - - -Node19->Node34 - - - - - - - - -Node27->Node8 - - - - - - - - -Node27->Node9 - - - - - - - - -Node27->Node10 - - - - - - - - -Node28 - - -std::max - - - - - -Node27->Node28 - - - - - - - - -Node29 - - -std::min - - - - - -Node27->Node29 - - - - - - - - -Node30 - - -std::vector::size - - - - - -Node27->Node30 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a36494e26ff36d6e15c1022bb9a1ee848_cgraph_org.svg b/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a36494e26ff36d6e15c1022bb9a1ee848_cgraph_org.svg deleted file mode 100644 index f1e66fb45..000000000 --- a/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a36494e26ff36d6e15c1022bb9a1ee848_cgraph_org.svg +++ /dev/null @@ -1,747 +0,0 @@ - - - - - - -machine_learning::neural_network::NeuralNetwork::evaluate_from_csv - - -Node1 - - -machine_learning::neural -_network::NeuralNetwork -::evaluate_from_csv - - - - - -Node2 - - -machine_learning::neural -_network::NeuralNetwork -::evaluate - - - - - -Node1->Node2 - - - - - - - - -Node19 - - -machine_learning::neural -_network::NeuralNetwork -::get_XY_from_csv - - - - - -Node1->Node19 - - - - - - - - -Node3 - - -machine_learning::apply -_function - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -machine_learning::argmax - - - - - -Node2->Node4 - - - - - - - - -Node8 - - -std::endl - - - - - -Node2->Node8 - - - - - - - - -Node13 - - -machine_learning::neural -_network::NeuralNetwork -::single_predict - - - - - -Node2->Node13 - - - - - - - - -Node18 - - -machine_learning::sum - - - - - -Node2->Node18 - - - - - - - - -Node5 - - -std::begin - - - - - -Node4->Node5 - - - - - - - - -Node6 - - -std::distance - - - - - -Node4->Node6 - - - - - - - - -Node7 - - -std::end - - - - - -Node4->Node7 - - - - - - - - -Node4->Node8 - - - - - - - - -Node9 - - -std::exit - - - - - -Node4->Node9 - - - - - - - - -Node10 - - -machine_learning::get -_shape - - - - - -Node4->Node10 - - - - - - - - -Node12 - - -std::max_element - - - - - -Node4->Node12 - - - - - - - - -Node10->Node8 - - - - - - - - -Node10->Node9 - - - - - - - - -Node11 - - -std::make_pair - - - - - -Node10->Node11 - - - - - - - - -Node14 - - -machine_learning::neural -_network::NeuralNetwork -::__detailed_single_prediction - - - - - -Node13->Node14 - - - - - - - - -Node14->Node3 - - - - - - - - -Node15 - - -std::vector::emplace_back - - - - - -Node14->Node15 - - - - - - - - -Node16 - - -machine_learning::multiply - - - - - -Node14->Node16 - - - - - - - - -Node16->Node8 - - - - - - - - -Node16->Node9 - - - - - - - - -Node16->Node10 - - - - - - - - -Node17 - - -std::vector::push_back - - - - - -Node16->Node17 - - - - - - - - -Node19->Node8 - - - - - - - - -Node19->Node9 - - - - - - - - -Node19->Node17 - - - - - - - - -Node20 - - -std::vector::back - - - - - -Node19->Node20 - - - - - - - - -Node21 - - -std::string::c_str - - - - - -Node19->Node21 - - - - - - - - -Node22 - - -std::ifstream::close - - - - - -Node19->Node22 - - - - - - - - -Node23 - - -std::ifstream::eof - - - - - -Node19->Node23 - - - - - - - - -Node24 - - -std::getline - - - - - -Node19->Node24 - - - - - - - - -Node25 - - -machine_learning::insert -_element - - - - - -Node19->Node25 - - - - - - - - -Node26 - - -std::ifstream::is_open - - - - - -Node19->Node26 - - - - - - - - -Node27 - - -machine_learning::minmax -_scaler - - - - - -Node19->Node27 - - - - - - - - -Node31 - - -std::ifstream::open - - - - - -Node19->Node31 - - - - - - - - -Node32 - - -machine_learning::pop_back - - - - - -Node19->Node32 - - - - - - - - -Node33 - - -machine_learning::pop -_front - - - - - -Node19->Node33 - - - - - - - - -Node34 - - -std::stod - - - - - -Node19->Node34 - - - - - - - - -Node27->Node8 - - - - - - - - -Node27->Node9 - - - - - - - - -Node27->Node10 - - - - - - - - -Node28 - - -std::max - - - - - -Node27->Node28 - - - - - - - - -Node29 - - -std::min - - - - - -Node27->Node29 - - - - - - - - -Node30 - - -std::vector::size - - - - - -Node27->Node30 - - - - - - - - diff --git a/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a3b9eac1824d365dce715fb17c33cb96f_cgraph.map b/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a3b9eac1824d365dce715fb17c33cb96f_cgraph.map deleted file mode 100644 index e00923c8b..000000000 --- a/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a3b9eac1824d365dce715fb17c33cb96f_cgraph.map +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a3b9eac1824d365dce715fb17c33cb96f_cgraph.md5 b/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a3b9eac1824d365dce715fb17c33cb96f_cgraph.md5 deleted file mode 100644 index 9f7d5127f..000000000 --- a/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a3b9eac1824d365dce715fb17c33cb96f_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -0834b5b4875bc39d17f8856c8daba650 \ No newline at end of file diff --git a/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a3b9eac1824d365dce715fb17c33cb96f_cgraph.svg b/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a3b9eac1824d365dce715fb17c33cb96f_cgraph.svg deleted file mode 100644 index 13d489781..000000000 --- a/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a3b9eac1824d365dce715fb17c33cb96f_cgraph.svg +++ /dev/null @@ -1,290 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -machine_learning::neural_network::NeuralNetwork::single_predict - - -Node1 - - -machine_learning::neural -_network::NeuralNetwork -::single_predict - - - - - -Node2 - - -machine_learning::neural -_network::NeuralNetwork -::__detailed_single_prediction - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -machine_learning::apply -_function - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::vector::emplace_back - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -machine_learning::multiply - - - - - -Node2->Node5 - - - - - - - - -Node6 - - -std::endl - - - - - -Node5->Node6 - - - - - - - - -Node7 - - -std::exit - - - - - -Node5->Node7 - - - - - - - - -Node8 - - -machine_learning::get -_shape - - - - - -Node5->Node8 - - - - - - - - -Node10 - - -std::vector::push_back - - - - - -Node5->Node10 - - - - - - - - -Node8->Node6 - - - - - - - - -Node8->Node7 - - - - - - - - -Node9 - - -std::make_pair - - - - - -Node8->Node9 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a3b9eac1824d365dce715fb17c33cb96f_cgraph_org.svg b/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a3b9eac1824d365dce715fb17c33cb96f_cgraph_org.svg deleted file mode 100644 index d49891863..000000000 --- a/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a3b9eac1824d365dce715fb17c33cb96f_cgraph_org.svg +++ /dev/null @@ -1,207 +0,0 @@ - - - - - - -machine_learning::neural_network::NeuralNetwork::single_predict - - -Node1 - - -machine_learning::neural -_network::NeuralNetwork -::single_predict - - - - - -Node2 - - -machine_learning::neural -_network::NeuralNetwork -::__detailed_single_prediction - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -machine_learning::apply -_function - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::vector::emplace_back - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -machine_learning::multiply - - - - - -Node2->Node5 - - - - - - - - -Node6 - - -std::endl - - - - - -Node5->Node6 - - - - - - - - -Node7 - - -std::exit - - - - - -Node5->Node7 - - - - - - - - -Node8 - - -machine_learning::get -_shape - - - - - -Node5->Node8 - - - - - - - - -Node10 - - -std::vector::push_back - - - - - -Node5->Node10 - - - - - - - - -Node8->Node6 - - - - - - - - -Node8->Node7 - - - - - - - - -Node9 - - -std::make_pair - - - - - -Node8->Node9 - - - - - - - - diff --git a/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a4c4c6f63ab965317f9471518ee931b89_cgraph.map b/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a4c4c6f63ab965317f9471518ee931b89_cgraph.map deleted file mode 100644 index c1e5dc76e..000000000 --- a/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a4c4c6f63ab965317f9471518ee931b89_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a4c4c6f63ab965317f9471518ee931b89_cgraph.md5 b/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a4c4c6f63ab965317f9471518ee931b89_cgraph.md5 deleted file mode 100644 index 71115796b..000000000 --- a/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a4c4c6f63ab965317f9471518ee931b89_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -62e890387611f99b9b86bef292da3350 \ No newline at end of file diff --git a/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a4c4c6f63ab965317f9471518ee931b89_cgraph.svg b/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a4c4c6f63ab965317f9471518ee931b89_cgraph.svg deleted file mode 100644 index 0dc21fc30..000000000 --- a/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a4c4c6f63ab965317f9471518ee931b89_cgraph.svg +++ /dev/null @@ -1,85 +0,0 @@ - - - - - - - - - - - - -machine_learning::neural_network::NeuralNetwork::NeuralNetwork - - -Node1 - - -machine_learning::neural -_network::NeuralNetwork -::NeuralNetwork - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::exit - - - - - -Node1->Node3 - - - - - - - - - - - - - diff --git a/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a4c4c6f63ab965317f9471518ee931b89_cgraph_org.svg b/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a4c4c6f63ab965317f9471518ee931b89_cgraph_org.svg deleted file mode 100644 index 94e0d773d..000000000 --- a/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a4c4c6f63ab965317f9471518ee931b89_cgraph_org.svg +++ /dev/null @@ -1,59 +0,0 @@ - - - - - - -machine_learning::neural_network::NeuralNetwork::NeuralNetwork - - -Node1 - - -machine_learning::neural -_network::NeuralNetwork -::NeuralNetwork - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::exit - - - - - -Node1->Node3 - - - - - - - - diff --git a/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a4f14e473bb0722c6490b9dc8da5982aa_cgraph.map b/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a4f14e473bb0722c6490b9dc8da5982aa_cgraph.map deleted file mode 100644 index 3500910b9..000000000 --- a/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a4f14e473bb0722c6490b9dc8da5982aa_cgraph.map +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a4f14e473bb0722c6490b9dc8da5982aa_cgraph.md5 b/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a4f14e473bb0722c6490b9dc8da5982aa_cgraph.md5 deleted file mode 100644 index 1d8828b20..000000000 --- a/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a4f14e473bb0722c6490b9dc8da5982aa_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -7db6ab276d904631c1af8d29455dbb8e \ No newline at end of file diff --git a/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a4f14e473bb0722c6490b9dc8da5982aa_cgraph.svg b/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a4f14e473bb0722c6490b9dc8da5982aa_cgraph.svg deleted file mode 100644 index d24ddaecd..000000000 --- a/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a4f14e473bb0722c6490b9dc8da5982aa_cgraph.svg +++ /dev/null @@ -1,230 +0,0 @@ - - - - - - - - - - - - -machine_learning::neural_network::NeuralNetwork::save_model - - -Node1 - - -machine_learning::neural -_network::NeuralNetwork -::save_model - - - - - -Node2 - - -std::string::c_str - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::ofstream::close - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::endl - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::exit - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -std::string::find - - - - - -Node1->Node6 - - - - - - - - -Node7 - - -machine_learning::get -_shape - - - - - -Node1->Node7 - - - - - - - - -Node9 - - -std::ofstream::is_open - - - - - -Node1->Node9 - - - - - - - - -Node10 - - -std::ofstream::open - - - - - -Node1->Node10 - - - - - - - - -Node7->Node4 - - - - - - - - -Node7->Node5 - - - - - - - - -Node8 - - -std::make_pair - - - - - -Node7->Node8 - - - - - - - - - - - - - diff --git a/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a4f14e473bb0722c6490b9dc8da5982aa_cgraph_org.svg b/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a4f14e473bb0722c6490b9dc8da5982aa_cgraph_org.svg deleted file mode 100644 index 85f683b2c..000000000 --- a/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a4f14e473bb0722c6490b9dc8da5982aa_cgraph_org.svg +++ /dev/null @@ -1,204 +0,0 @@ - - - - - - -machine_learning::neural_network::NeuralNetwork::save_model - - -Node1 - - -machine_learning::neural -_network::NeuralNetwork -::save_model - - - - - -Node2 - - -std::string::c_str - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::ofstream::close - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::endl - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::exit - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -std::string::find - - - - - -Node1->Node6 - - - - - - - - -Node7 - - -machine_learning::get -_shape - - - - - -Node1->Node7 - - - - - - - - -Node9 - - -std::ofstream::is_open - - - - - -Node1->Node9 - - - - - - - - -Node10 - - -std::ofstream::open - - - - - -Node1->Node10 - - - - - - - - -Node7->Node4 - - - - - - - - -Node7->Node5 - - - - - - - - -Node8 - - -std::make_pair - - - - - -Node7->Node8 - - - - - - - - diff --git a/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a5172a6791b9bd24f4232bab8d6b81fff_cgraph.map b/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a5172a6791b9bd24f4232bab8d6b81fff_cgraph.map deleted file mode 100644 index 8f4c83753..000000000 --- a/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a5172a6791b9bd24f4232bab8d6b81fff_cgraph.map +++ /dev/null @@ -1,115 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a5172a6791b9bd24f4232bab8d6b81fff_cgraph.md5 b/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a5172a6791b9bd24f4232bab8d6b81fff_cgraph.md5 deleted file mode 100644 index 3cb5af9f2..000000000 --- a/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a5172a6791b9bd24f4232bab8d6b81fff_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -7c052a2107eede254ebcd3a482fe0c3d \ No newline at end of file diff --git a/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a5172a6791b9bd24f4232bab8d6b81fff_cgraph.svg b/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a5172a6791b9bd24f4232bab8d6b81fff_cgraph.svg deleted file mode 100644 index 0f84e8b9a..000000000 --- a/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a5172a6791b9bd24f4232bab8d6b81fff_cgraph.svg +++ /dev/null @@ -1,1129 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -machine_learning::neural_network::NeuralNetwork::fit_from_csv - - -Node1 - - -machine_learning::neural -_network::NeuralNetwork -::fit_from_csv - - - - - -Node2 - - -machine_learning::neural -_network::NeuralNetwork::fit - - - - - -Node1->Node2 - - - - - - - - -Node31 - - -machine_learning::neural -_network::NeuralNetwork -::get_XY_from_csv - - - - - -Node1->Node31 - - - - - - - - -Node3 - - -machine_learning::neural -_network::NeuralNetwork -::__detailed_single_prediction - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -machine_learning::apply -_function - - - - - -Node2->Node4 - - - - - - - - -Node6 - - -machine_learning::multiply - - - - - -Node2->Node6 - - - - - - - - -Node7 - - -std::endl - - - - - -Node2->Node7 - - - - - - - - -Node8 - - -std::exit - - - - - -Node2->Node8 - - - - - - - - -Node9 - - -machine_learning::get -_shape - - - - - -Node2->Node9 - - - - - - - - -Node12 - - -machine_learning::argmax - - - - - -Node2->Node12 - - - - - - - - -Node17 - - -std::chrono::duration_cast - - - - - -Node2->Node17 - - - - - - - - -Node18 - - -machine_learning::equal -_shuffle - - - - - -Node2->Node18 - - - - - - - - -Node23 - - -machine_learning::hadamard -_product - - - - - -Node2->Node23 - - - - - - - - -Node24 - - -std::min - - - - - -Node2->Node24 - - - - - - - - -Node25 - - -std::chrono::high_resolution -_clock::now - - - - - -Node2->Node25 - - - - - - - - -Node26 - - -std::vector::resize - - - - - -Node2->Node26 - - - - - - - - -Node27 - - -std::vector::size - - - - - -Node2->Node27 - - - - - - - - -Node28 - - -machine_learning::sum - - - - - -Node2->Node28 - - - - - - - - -Node29 - - -machine_learning::transpose - - - - - -Node2->Node29 - - - - - - - - -Node30 - - -machine_learning::zeroes -_initialization - - - - - -Node2->Node30 - - - - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -std::vector::emplace_back - - - - - -Node3->Node5 - - - - - - - - -Node3->Node6 - - - - - - - - -Node6->Node7 - - - - - - - - -Node6->Node8 - - - - - - - - -Node6->Node9 - - - - - - - - -Node11 - - -std::vector::push_back - - - - - -Node6->Node11 - - - - - - - - -Node9->Node7 - - - - - - - - -Node9->Node8 - - - - - - - - -Node10 - - -std::make_pair - - - - - -Node9->Node10 - - - - - - - - -Node12->Node7 - - - - - - - - -Node12->Node8 - - - - - - - - -Node12->Node9 - - - - - - - - -Node13 - - -std::begin - - - - - -Node12->Node13 - - - - - - - - -Node14 - - -std::distance - - - - - -Node12->Node14 - - - - - - - - -Node15 - - -std::end - - - - - -Node12->Node15 - - - - - - - - -Node16 - - -std::max_element - - - - - -Node12->Node16 - - - - - - - - -Node18->Node7 - - - - - - - - -Node18->Node8 - - - - - - - - -Node19 - - -std::chrono::system -_clock::now - - - - - -Node18->Node19 - - - - - - - - -Node20 - - -std::rand - - - - - -Node18->Node20 - - - - - - - - -Node21 - - -std::srand - - - - - -Node18->Node21 - - - - - - - - -Node22 - - -std::swap - - - - - -Node18->Node22 - - - - - - - - -Node23->Node7 - - - - - - - - -Node23->Node8 - - - - - - - - -Node23->Node9 - - - - - - - - -Node23->Node11 - - - - - - - - -Node29->Node9 - - - - - - - - -Node29->Node11 - - - - - - - - -Node31->Node7 - - - - - - - - -Node31->Node8 - - - - - - - - -Node31->Node11 - - - - - - - - -Node32 - - -std::vector::back - - - - - -Node31->Node32 - - - - - - - - -Node33 - - -std::string::c_str - - - - - -Node31->Node33 - - - - - - - - -Node34 - - -std::ifstream::close - - - - - -Node31->Node34 - - - - - - - - -Node35 - - -std::ifstream::eof - - - - - -Node31->Node35 - - - - - - - - -Node36 - - -std::getline - - - - - -Node31->Node36 - - - - - - - - -Node37 - - -machine_learning::insert -_element - - - - - -Node31->Node37 - - - - - - - - -Node38 - - -std::ifstream::is_open - - - - - -Node31->Node38 - - - - - - - - -Node39 - - -machine_learning::minmax -_scaler - - - - - -Node31->Node39 - - - - - - - - -Node41 - - -std::ifstream::open - - - - - -Node31->Node41 - - - - - - - - -Node42 - - -machine_learning::pop_back - - - - - -Node31->Node42 - - - - - - - - -Node43 - - -machine_learning::pop -_front - - - - - -Node31->Node43 - - - - - - - - -Node44 - - -std::stod - - - - - -Node31->Node44 - - - - - - - - -Node39->Node7 - - - - - - - - -Node39->Node8 - - - - - - - - -Node39->Node9 - - - - - - - - -Node39->Node24 - - - - - - - - -Node39->Node27 - - - - - - - - -Node40 - - -std::max - - - - - -Node39->Node40 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a5172a6791b9bd24f4232bab8d6b81fff_cgraph_org.svg b/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a5172a6791b9bd24f4232bab8d6b81fff_cgraph_org.svg deleted file mode 100644 index 81552627f..000000000 --- a/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a5172a6791b9bd24f4232bab8d6b81fff_cgraph_org.svg +++ /dev/null @@ -1,1046 +0,0 @@ - - - - - - -machine_learning::neural_network::NeuralNetwork::fit_from_csv - - -Node1 - - -machine_learning::neural -_network::NeuralNetwork -::fit_from_csv - - - - - -Node2 - - -machine_learning::neural -_network::NeuralNetwork::fit - - - - - -Node1->Node2 - - - - - - - - -Node31 - - -machine_learning::neural -_network::NeuralNetwork -::get_XY_from_csv - - - - - -Node1->Node31 - - - - - - - - -Node3 - - -machine_learning::neural -_network::NeuralNetwork -::__detailed_single_prediction - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -machine_learning::apply -_function - - - - - -Node2->Node4 - - - - - - - - -Node6 - - -machine_learning::multiply - - - - - -Node2->Node6 - - - - - - - - -Node7 - - -std::endl - - - - - -Node2->Node7 - - - - - - - - -Node8 - - -std::exit - - - - - -Node2->Node8 - - - - - - - - -Node9 - - -machine_learning::get -_shape - - - - - -Node2->Node9 - - - - - - - - -Node12 - - -machine_learning::argmax - - - - - -Node2->Node12 - - - - - - - - -Node17 - - -std::chrono::duration_cast - - - - - -Node2->Node17 - - - - - - - - -Node18 - - -machine_learning::equal -_shuffle - - - - - -Node2->Node18 - - - - - - - - -Node23 - - -machine_learning::hadamard -_product - - - - - -Node2->Node23 - - - - - - - - -Node24 - - -std::min - - - - - -Node2->Node24 - - - - - - - - -Node25 - - -std::chrono::high_resolution -_clock::now - - - - - -Node2->Node25 - - - - - - - - -Node26 - - -std::vector::resize - - - - - -Node2->Node26 - - - - - - - - -Node27 - - -std::vector::size - - - - - -Node2->Node27 - - - - - - - - -Node28 - - -machine_learning::sum - - - - - -Node2->Node28 - - - - - - - - -Node29 - - -machine_learning::transpose - - - - - -Node2->Node29 - - - - - - - - -Node30 - - -machine_learning::zeroes -_initialization - - - - - -Node2->Node30 - - - - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -std::vector::emplace_back - - - - - -Node3->Node5 - - - - - - - - -Node3->Node6 - - - - - - - - -Node6->Node7 - - - - - - - - -Node6->Node8 - - - - - - - - -Node6->Node9 - - - - - - - - -Node11 - - -std::vector::push_back - - - - - -Node6->Node11 - - - - - - - - -Node9->Node7 - - - - - - - - -Node9->Node8 - - - - - - - - -Node10 - - -std::make_pair - - - - - -Node9->Node10 - - - - - - - - -Node12->Node7 - - - - - - - - -Node12->Node8 - - - - - - - - -Node12->Node9 - - - - - - - - -Node13 - - -std::begin - - - - - -Node12->Node13 - - - - - - - - -Node14 - - -std::distance - - - - - -Node12->Node14 - - - - - - - - -Node15 - - -std::end - - - - - -Node12->Node15 - - - - - - - - -Node16 - - -std::max_element - - - - - -Node12->Node16 - - - - - - - - -Node18->Node7 - - - - - - - - -Node18->Node8 - - - - - - - - -Node19 - - -std::chrono::system -_clock::now - - - - - -Node18->Node19 - - - - - - - - -Node20 - - -std::rand - - - - - -Node18->Node20 - - - - - - - - -Node21 - - -std::srand - - - - - -Node18->Node21 - - - - - - - - -Node22 - - -std::swap - - - - - -Node18->Node22 - - - - - - - - -Node23->Node7 - - - - - - - - -Node23->Node8 - - - - - - - - -Node23->Node9 - - - - - - - - -Node23->Node11 - - - - - - - - -Node29->Node9 - - - - - - - - -Node29->Node11 - - - - - - - - -Node31->Node7 - - - - - - - - -Node31->Node8 - - - - - - - - -Node31->Node11 - - - - - - - - -Node32 - - -std::vector::back - - - - - -Node31->Node32 - - - - - - - - -Node33 - - -std::string::c_str - - - - - -Node31->Node33 - - - - - - - - -Node34 - - -std::ifstream::close - - - - - -Node31->Node34 - - - - - - - - -Node35 - - -std::ifstream::eof - - - - - -Node31->Node35 - - - - - - - - -Node36 - - -std::getline - - - - - -Node31->Node36 - - - - - - - - -Node37 - - -machine_learning::insert -_element - - - - - -Node31->Node37 - - - - - - - - -Node38 - - -std::ifstream::is_open - - - - - -Node31->Node38 - - - - - - - - -Node39 - - -machine_learning::minmax -_scaler - - - - - -Node31->Node39 - - - - - - - - -Node41 - - -std::ifstream::open - - - - - -Node31->Node41 - - - - - - - - -Node42 - - -machine_learning::pop_back - - - - - -Node31->Node42 - - - - - - - - -Node43 - - -machine_learning::pop -_front - - - - - -Node31->Node43 - - - - - - - - -Node44 - - -std::stod - - - - - -Node31->Node44 - - - - - - - - -Node39->Node7 - - - - - - - - -Node39->Node8 - - - - - - - - -Node39->Node9 - - - - - - - - -Node39->Node24 - - - - - - - - -Node39->Node27 - - - - - - - - -Node40 - - -std::max - - - - - -Node39->Node40 - - - - - - - - diff --git a/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a58ed20abf6ce3744535bd8b5bb9e741b_cgraph.map b/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a58ed20abf6ce3744535bd8b5bb9e741b_cgraph.map deleted file mode 100644 index ae8035045..000000000 --- a/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a58ed20abf6ce3744535bd8b5bb9e741b_cgraph.map +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - diff --git a/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a58ed20abf6ce3744535bd8b5bb9e741b_cgraph.md5 b/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a58ed20abf6ce3744535bd8b5bb9e741b_cgraph.md5 deleted file mode 100644 index 2ae8ac0cd..000000000 --- a/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a58ed20abf6ce3744535bd8b5bb9e741b_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -05206c19adb5e3bed13d2db798bc9b54 \ No newline at end of file diff --git a/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a58ed20abf6ce3744535bd8b5bb9e741b_cgraph.svg b/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a58ed20abf6ce3744535bd8b5bb9e741b_cgraph.svg deleted file mode 100644 index dc273da6f..000000000 --- a/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a58ed20abf6ce3744535bd8b5bb9e741b_cgraph.svg +++ /dev/null @@ -1,213 +0,0 @@ - - - - - - - - - - - - -machine_learning::neural_network::NeuralNetwork::load_model - - -Node1 - - -machine_learning::neural -_network::NeuralNetwork -::load_model - - - - - -Node2 - - -std::string::c_str - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::ifstream::close - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::vector::emplace_back - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::endl - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -std::exit - - - - - -Node1->Node6 - - - - - - - - -Node7 - - -std::ifstream::is_open - - - - - -Node1->Node7 - - - - - - - - -Node8 - - -machine_learning::neural -_network::NeuralNetwork -::NeuralNetwork - - - - - -Node1->Node8 - - - - - - - - -Node9 - - -std::ifstream::open - - - - - -Node1->Node9 - - - - - - - - -Node10 - - -std::vector::push_back - - - - - -Node1->Node10 - - - - - - - - - - - - - diff --git a/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a58ed20abf6ce3744535bd8b5bb9e741b_cgraph_org.svg b/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a58ed20abf6ce3744535bd8b5bb9e741b_cgraph_org.svg deleted file mode 100644 index d8a28eabb..000000000 --- a/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a58ed20abf6ce3744535bd8b5bb9e741b_cgraph_org.svg +++ /dev/null @@ -1,187 +0,0 @@ - - - - - - -machine_learning::neural_network::NeuralNetwork::load_model - - -Node1 - - -machine_learning::neural -_network::NeuralNetwork -::load_model - - - - - -Node2 - - -std::string::c_str - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::ifstream::close - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::vector::emplace_back - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::endl - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -std::exit - - - - - -Node1->Node6 - - - - - - - - -Node7 - - -std::ifstream::is_open - - - - - -Node1->Node7 - - - - - - - - -Node8 - - -machine_learning::neural -_network::NeuralNetwork -::NeuralNetwork - - - - - -Node1->Node8 - - - - - - - - -Node9 - - -std::ifstream::open - - - - - -Node1->Node9 - - - - - - - - -Node10 - - -std::vector::push_back - - - - - -Node1->Node10 - - - - - - - - diff --git a/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a61d30113d13304c664057118b92a5931_cgraph.map b/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a61d30113d13304c664057118b92a5931_cgraph.map deleted file mode 100644 index dbc06ddf7..000000000 --- a/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a61d30113d13304c664057118b92a5931_cgraph.map +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - - - diff --git a/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a61d30113d13304c664057118b92a5931_cgraph.md5 b/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a61d30113d13304c664057118b92a5931_cgraph.md5 deleted file mode 100644 index ef14d36a1..000000000 --- a/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a61d30113d13304c664057118b92a5931_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -42baa928187147659a54a5d0c9fdafa6 \ No newline at end of file diff --git a/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a61d30113d13304c664057118b92a5931_cgraph.svg b/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a61d30113d13304c664057118b92a5931_cgraph.svg deleted file mode 100644 index 2463635cc..000000000 --- a/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a61d30113d13304c664057118b92a5931_cgraph.svg +++ /dev/null @@ -1,131 +0,0 @@ - - - - - - - - - - - - -machine_learning::neural_network::NeuralNetwork::summary - - -Node1 - - -machine_learning::neural -_network::NeuralNetwork -::summary - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -machine_learning::get -_shape - - - - - -Node1->Node3 - - - - - - - - -Node3->Node2 - - - - - - - - -Node4 - - -std::exit - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -std::make_pair - - - - - -Node3->Node5 - - - - - - - - - - - - - diff --git a/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a61d30113d13304c664057118b92a5931_cgraph_org.svg b/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a61d30113d13304c664057118b92a5931_cgraph_org.svg deleted file mode 100644 index 8d8b40753..000000000 --- a/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a61d30113d13304c664057118b92a5931_cgraph_org.svg +++ /dev/null @@ -1,105 +0,0 @@ - - - - - - -machine_learning::neural_network::NeuralNetwork::summary - - -Node1 - - -machine_learning::neural -_network::NeuralNetwork -::summary - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -machine_learning::get -_shape - - - - - -Node1->Node3 - - - - - - - - -Node3->Node2 - - - - - - - - -Node4 - - -std::exit - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -std::make_pair - - - - - -Node3->Node5 - - - - - - - - diff --git a/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a62151b0398a2536be60d950e10ffe9a8_cgraph.map b/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a62151b0398a2536be60d950e10ffe9a8_cgraph.map deleted file mode 100644 index c1e5dc76e..000000000 --- a/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a62151b0398a2536be60d950e10ffe9a8_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a62151b0398a2536be60d950e10ffe9a8_cgraph.md5 b/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a62151b0398a2536be60d950e10ffe9a8_cgraph.md5 deleted file mode 100644 index 71115796b..000000000 --- a/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a62151b0398a2536be60d950e10ffe9a8_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -62e890387611f99b9b86bef292da3350 \ No newline at end of file diff --git a/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a62151b0398a2536be60d950e10ffe9a8_cgraph.svg b/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a62151b0398a2536be60d950e10ffe9a8_cgraph.svg deleted file mode 100644 index 0dc21fc30..000000000 --- a/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a62151b0398a2536be60d950e10ffe9a8_cgraph.svg +++ /dev/null @@ -1,85 +0,0 @@ - - - - - - - - - - - - -machine_learning::neural_network::NeuralNetwork::NeuralNetwork - - -Node1 - - -machine_learning::neural -_network::NeuralNetwork -::NeuralNetwork - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::exit - - - - - -Node1->Node3 - - - - - - - - - - - - - diff --git a/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a62151b0398a2536be60d950e10ffe9a8_cgraph_org.svg b/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a62151b0398a2536be60d950e10ffe9a8_cgraph_org.svg deleted file mode 100644 index 94e0d773d..000000000 --- a/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a62151b0398a2536be60d950e10ffe9a8_cgraph_org.svg +++ /dev/null @@ -1,59 +0,0 @@ - - - - - - -machine_learning::neural_network::NeuralNetwork::NeuralNetwork - - -Node1 - - -machine_learning::neural -_network::NeuralNetwork -::NeuralNetwork - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::exit - - - - - -Node1->Node3 - - - - - - - - diff --git a/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a650c677fd6512665741ddd9b7983275d_cgraph.map b/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a650c677fd6512665741ddd9b7983275d_cgraph.map deleted file mode 100644 index 3ffd948e6..000000000 --- a/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a650c677fd6512665741ddd9b7983275d_cgraph.map +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a650c677fd6512665741ddd9b7983275d_cgraph.md5 b/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a650c677fd6512665741ddd9b7983275d_cgraph.md5 deleted file mode 100644 index de25de730..000000000 --- a/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a650c677fd6512665741ddd9b7983275d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -02784fa5ed412abf239cd074917faa9c \ No newline at end of file diff --git a/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a650c677fd6512665741ddd9b7983275d_cgraph.svg b/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a650c677fd6512665741ddd9b7983275d_cgraph.svg deleted file mode 100644 index a1dfe2783..000000000 --- a/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a650c677fd6512665741ddd9b7983275d_cgraph.svg +++ /dev/null @@ -1,506 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -machine_learning::neural_network::NeuralNetwork::get_XY_from_csv - - -Node1 - - -machine_learning::neural -_network::NeuralNetwork -::get_XY_from_csv - - - - - -Node2 - - -std::vector::back - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::string::c_str - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::ifstream::close - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::endl - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -std::ifstream::eof - - - - - -Node1->Node6 - - - - - - - - -Node7 - - -std::exit - - - - - -Node1->Node7 - - - - - - - - -Node8 - - -std::getline - - - - - -Node1->Node8 - - - - - - - - -Node9 - - -machine_learning::insert -_element - - - - - -Node1->Node9 - - - - - - - - -Node10 - - -std::ifstream::is_open - - - - - -Node1->Node10 - - - - - - - - -Node11 - - -machine_learning::minmax -_scaler - - - - - -Node1->Node11 - - - - - - - - -Node17 - - -std::ifstream::open - - - - - -Node1->Node17 - - - - - - - - -Node18 - - -machine_learning::pop_back - - - - - -Node1->Node18 - - - - - - - - -Node19 - - -machine_learning::pop -_front - - - - - -Node1->Node19 - - - - - - - - -Node20 - - -std::vector::push_back - - - - - -Node1->Node20 - - - - - - - - -Node21 - - -std::stod - - - - - -Node1->Node21 - - - - - - - - -Node11->Node5 - - - - - - - - -Node11->Node7 - - - - - - - - -Node12 - - -machine_learning::get -_shape - - - - - -Node11->Node12 - - - - - - - - -Node14 - - -std::max - - - - - -Node11->Node14 - - - - - - - - -Node15 - - -std::min - - - - - -Node11->Node15 - - - - - - - - -Node16 - - -std::vector::size - - - - - -Node11->Node16 - - - - - - - - -Node12->Node5 - - - - - - - - -Node12->Node7 - - - - - - - - -Node13 - - -std::make_pair - - - - - -Node12->Node13 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a650c677fd6512665741ddd9b7983275d_cgraph_org.svg b/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a650c677fd6512665741ddd9b7983275d_cgraph_org.svg deleted file mode 100644 index be05903fe..000000000 --- a/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a650c677fd6512665741ddd9b7983275d_cgraph_org.svg +++ /dev/null @@ -1,423 +0,0 @@ - - - - - - -machine_learning::neural_network::NeuralNetwork::get_XY_from_csv - - -Node1 - - -machine_learning::neural -_network::NeuralNetwork -::get_XY_from_csv - - - - - -Node2 - - -std::vector::back - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::string::c_str - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::ifstream::close - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::endl - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -std::ifstream::eof - - - - - -Node1->Node6 - - - - - - - - -Node7 - - -std::exit - - - - - -Node1->Node7 - - - - - - - - -Node8 - - -std::getline - - - - - -Node1->Node8 - - - - - - - - -Node9 - - -machine_learning::insert -_element - - - - - -Node1->Node9 - - - - - - - - -Node10 - - -std::ifstream::is_open - - - - - -Node1->Node10 - - - - - - - - -Node11 - - -machine_learning::minmax -_scaler - - - - - -Node1->Node11 - - - - - - - - -Node17 - - -std::ifstream::open - - - - - -Node1->Node17 - - - - - - - - -Node18 - - -machine_learning::pop_back - - - - - -Node1->Node18 - - - - - - - - -Node19 - - -machine_learning::pop -_front - - - - - -Node1->Node19 - - - - - - - - -Node20 - - -std::vector::push_back - - - - - -Node1->Node20 - - - - - - - - -Node21 - - -std::stod - - - - - -Node1->Node21 - - - - - - - - -Node11->Node5 - - - - - - - - -Node11->Node7 - - - - - - - - -Node12 - - -machine_learning::get -_shape - - - - - -Node11->Node12 - - - - - - - - -Node14 - - -std::max - - - - - -Node11->Node14 - - - - - - - - -Node15 - - -std::min - - - - - -Node11->Node15 - - - - - - - - -Node16 - - -std::vector::size - - - - - -Node11->Node16 - - - - - - - - -Node12->Node5 - - - - - - - - -Node12->Node7 - - - - - - - - -Node13 - - -std::make_pair - - - - - -Node12->Node13 - - - - - - - - diff --git a/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a88bf9023ab3d4cdb61cf707c7cdfc86b_cgraph.map b/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a88bf9023ab3d4cdb61cf707c7cdfc86b_cgraph.map deleted file mode 100644 index 936121986..000000000 --- a/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a88bf9023ab3d4cdb61cf707c7cdfc86b_cgraph.map +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a88bf9023ab3d4cdb61cf707c7cdfc86b_cgraph.md5 b/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a88bf9023ab3d4cdb61cf707c7cdfc86b_cgraph.md5 deleted file mode 100644 index e31923835..000000000 --- a/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a88bf9023ab3d4cdb61cf707c7cdfc86b_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -0c068bff315bfbe9eb5d1ea27498d4ac \ No newline at end of file diff --git a/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a88bf9023ab3d4cdb61cf707c7cdfc86b_cgraph.svg b/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a88bf9023ab3d4cdb61cf707c7cdfc86b_cgraph.svg deleted file mode 100644 index 392746049..000000000 --- a/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a88bf9023ab3d4cdb61cf707c7cdfc86b_cgraph.svg +++ /dev/null @@ -1,310 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -machine_learning::neural_network::NeuralNetwork::batch_predict - - -Node1 - - -machine_learning::neural -_network::NeuralNetwork -::batch_predict - - - - - -Node2 - - -machine_learning::neural -_network::NeuralNetwork -::single_predict - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -machine_learning::neural -_network::NeuralNetwork -::__detailed_single_prediction - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -machine_learning::apply -_function - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -std::vector::emplace_back - - - - - -Node3->Node5 - - - - - - - - -Node6 - - -machine_learning::multiply - - - - - -Node3->Node6 - - - - - - - - -Node7 - - -std::endl - - - - - -Node6->Node7 - - - - - - - - -Node8 - - -std::exit - - - - - -Node6->Node8 - - - - - - - - -Node9 - - -machine_learning::get -_shape - - - - - -Node6->Node9 - - - - - - - - -Node11 - - -std::vector::push_back - - - - - -Node6->Node11 - - - - - - - - -Node9->Node7 - - - - - - - - -Node9->Node8 - - - - - - - - -Node10 - - -std::make_pair - - - - - -Node9->Node10 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a88bf9023ab3d4cdb61cf707c7cdfc86b_cgraph_org.svg b/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a88bf9023ab3d4cdb61cf707c7cdfc86b_cgraph_org.svg deleted file mode 100644 index 07e562e8c..000000000 --- a/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a88bf9023ab3d4cdb61cf707c7cdfc86b_cgraph_org.svg +++ /dev/null @@ -1,227 +0,0 @@ - - - - - - -machine_learning::neural_network::NeuralNetwork::batch_predict - - -Node1 - - -machine_learning::neural -_network::NeuralNetwork -::batch_predict - - - - - -Node2 - - -machine_learning::neural -_network::NeuralNetwork -::single_predict - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -machine_learning::neural -_network::NeuralNetwork -::__detailed_single_prediction - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -machine_learning::apply -_function - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -std::vector::emplace_back - - - - - -Node3->Node5 - - - - - - - - -Node6 - - -machine_learning::multiply - - - - - -Node3->Node6 - - - - - - - - -Node7 - - -std::endl - - - - - -Node6->Node7 - - - - - - - - -Node8 - - -std::exit - - - - - -Node6->Node8 - - - - - - - - -Node9 - - -machine_learning::get -_shape - - - - - -Node6->Node9 - - - - - - - - -Node11 - - -std::vector::push_back - - - - - -Node6->Node11 - - - - - - - - -Node9->Node7 - - - - - - - - -Node9->Node8 - - - - - - - - -Node10 - - -std::make_pair - - - - - -Node9->Node10 - - - - - - - - diff --git a/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_aec648ea4f40bd71123b5f907a681dd8e_cgraph.map b/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_aec648ea4f40bd71123b5f907a681dd8e_cgraph.map deleted file mode 100644 index e4dff5019..000000000 --- a/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_aec648ea4f40bd71123b5f907a681dd8e_cgraph.map +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_aec648ea4f40bd71123b5f907a681dd8e_cgraph.md5 b/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_aec648ea4f40bd71123b5f907a681dd8e_cgraph.md5 deleted file mode 100644 index b5cd3bfa7..000000000 --- a/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_aec648ea4f40bd71123b5f907a681dd8e_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -833b076a5fea53e2bc57a4235724ac49 \ No newline at end of file diff --git a/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_aec648ea4f40bd71123b5f907a681dd8e_cgraph.svg b/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_aec648ea4f40bd71123b5f907a681dd8e_cgraph.svg deleted file mode 100644 index ae588bb56..000000000 --- a/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_aec648ea4f40bd71123b5f907a681dd8e_cgraph.svg +++ /dev/null @@ -1,463 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -machine_learning::neural_network::NeuralNetwork::evaluate - - -Node1 - - -machine_learning::neural -_network::NeuralNetwork -::evaluate - - - - - -Node2 - - -machine_learning::apply -_function - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -machine_learning::argmax - - - - - -Node1->Node3 - - - - - - - - -Node7 - - -std::endl - - - - - -Node1->Node7 - - - - - - - - -Node12 - - -machine_learning::neural -_network::NeuralNetwork -::single_predict - - - - - -Node1->Node12 - - - - - - - - -Node17 - - -machine_learning::sum - - - - - -Node1->Node17 - - - - - - - - -Node4 - - -std::begin - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -std::distance - - - - - -Node3->Node5 - - - - - - - - -Node6 - - -std::end - - - - - -Node3->Node6 - - - - - - - - -Node3->Node7 - - - - - - - - -Node8 - - -std::exit - - - - - -Node3->Node8 - - - - - - - - -Node9 - - -machine_learning::get -_shape - - - - - -Node3->Node9 - - - - - - - - -Node11 - - -std::max_element - - - - - -Node3->Node11 - - - - - - - - -Node9->Node7 - - - - - - - - -Node9->Node8 - - - - - - - - -Node10 - - -std::make_pair - - - - - -Node9->Node10 - - - - - - - - -Node13 - - -machine_learning::neural -_network::NeuralNetwork -::__detailed_single_prediction - - - - - -Node12->Node13 - - - - - - - - -Node13->Node2 - - - - - - - - -Node14 - - -std::vector::emplace_back - - - - - -Node13->Node14 - - - - - - - - -Node15 - - -machine_learning::multiply - - - - - -Node13->Node15 - - - - - - - - -Node15->Node7 - - - - - - - - -Node15->Node8 - - - - - - - - -Node15->Node9 - - - - - - - - -Node16 - - -std::vector::push_back - - - - - -Node15->Node16 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_aec648ea4f40bd71123b5f907a681dd8e_cgraph_org.svg b/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_aec648ea4f40bd71123b5f907a681dd8e_cgraph_org.svg deleted file mode 100644 index 18af33906..000000000 --- a/d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_aec648ea4f40bd71123b5f907a681dd8e_cgraph_org.svg +++ /dev/null @@ -1,380 +0,0 @@ - - - - - - -machine_learning::neural_network::NeuralNetwork::evaluate - - -Node1 - - -machine_learning::neural -_network::NeuralNetwork -::evaluate - - - - - -Node2 - - -machine_learning::apply -_function - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -machine_learning::argmax - - - - - -Node1->Node3 - - - - - - - - -Node7 - - -std::endl - - - - - -Node1->Node7 - - - - - - - - -Node12 - - -machine_learning::neural -_network::NeuralNetwork -::single_predict - - - - - -Node1->Node12 - - - - - - - - -Node17 - - -machine_learning::sum - - - - - -Node1->Node17 - - - - - - - - -Node4 - - -std::begin - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -std::distance - - - - - -Node3->Node5 - - - - - - - - -Node6 - - -std::end - - - - - -Node3->Node6 - - - - - - - - -Node3->Node7 - - - - - - - - -Node8 - - -std::exit - - - - - -Node3->Node8 - - - - - - - - -Node9 - - -machine_learning::get -_shape - - - - - -Node3->Node9 - - - - - - - - -Node11 - - -std::max_element - - - - - -Node3->Node11 - - - - - - - - -Node9->Node7 - - - - - - - - -Node9->Node8 - - - - - - - - -Node10 - - -std::make_pair - - - - - -Node9->Node10 - - - - - - - - -Node13 - - -machine_learning::neural -_network::NeuralNetwork -::__detailed_single_prediction - - - - - -Node12->Node13 - - - - - - - - -Node13->Node2 - - - - - - - - -Node14 - - -std::vector::emplace_back - - - - - -Node13->Node14 - - - - - - - - -Node15 - - -machine_learning::multiply - - - - - -Node13->Node15 - - - - - - - - -Node15->Node7 - - - - - - - - -Node15->Node8 - - - - - - - - -Node15->Node9 - - - - - - - - -Node16 - - -std::vector::push_back - - - - - -Node15->Node16 - - - - - - - - diff --git a/d4/dfb/namespacecycle__sort.html b/d4/dfb/namespacecycle__sort.html index 3b1b44a6b..4842a6095 100644 --- a/d4/dfb/namespacecycle__sort.html +++ b/d4/dfb/namespacecycle__sort.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: cycle_sort Namespace Reference +TheAlgorithms/C++: cycle_sort Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/d5/d02/namespacehorspool.html b/d5/d02/namespacehorspool.html index d6c1a2ab8..44eb0a80d 100644 --- a/d5/d02/namespacehorspool.html +++ b/d5/d02/namespacehorspool.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: horspool Namespace Reference +TheAlgorithms/C++: horspool Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/d5/d08/classgraph_1_1_graph__coll__graph.map b/d5/d08/classgraph_1_1_graph__coll__graph.map index 133087bf7..dfb582bf4 100644 --- a/d5/d08/classgraph_1_1_graph__coll__graph.map +++ b/d5/d08/classgraph_1_1_graph__coll__graph.map @@ -1,9 +1,9 @@ - + - + diff --git a/d5/d08/classgraph_1_1_graph__coll__graph.md5 b/d5/d08/classgraph_1_1_graph__coll__graph.md5 index aadbb436c..36e6d11e8 100644 --- a/d5/d08/classgraph_1_1_graph__coll__graph.md5 +++ b/d5/d08/classgraph_1_1_graph__coll__graph.md5 @@ -1 +1 @@ -f4a0af6848acb60282c3cba3543ed8cb \ No newline at end of file +d2545ab05f3a6833b62bcbc9d3f20178 \ No newline at end of file diff --git a/d5/d08/classgraph_1_1_graph__coll__graph.svg b/d5/d08/classgraph_1_1_graph__coll__graph.svg index 55e4e7593..e217e751f 100644 --- a/d5/d08/classgraph_1_1_graph__coll__graph.svg +++ b/d5/d08/classgraph_1_1_graph__coll__graph.svg @@ -31,7 +31,7 @@ Node2 - + std::map< T, std::list < T > > @@ -71,7 +71,7 @@ Node4 - + std::vector< std::vector < int > > diff --git a/d5/d08/classgraph_1_1_graph__coll__graph_org.svg b/d5/d08/classgraph_1_1_graph__coll__graph_org.svg index c3535d5f2..3f828ba14 100644 --- a/d5/d08/classgraph_1_1_graph__coll__graph_org.svg +++ b/d5/d08/classgraph_1_1_graph__coll__graph_org.svg @@ -20,7 +20,7 @@ Node2 - + std::map< T, std::list < T > > @@ -60,7 +60,7 @@ Node4 - + std::vector< std::vector < int > > diff --git a/d5/d12/structdata__structures_1_1trie__using__hashmap_1_1_trie_1_1_node.html b/d5/d12/structdata__structures_1_1trie__using__hashmap_1_1_trie_1_1_node.html index f96455094..61d4bcf41 100644 --- a/d5/d12/structdata__structures_1_1trie__using__hashmap_1_1_trie_1_1_node.html +++ b/d5/d12/structdata__structures_1_1trie__using__hashmap_1_1_trie_1_1_node.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: data_structures::trie_using_hashmap::Trie::Node Struct Reference +TheAlgorithms/C++: data_structures::trie_using_hashmap::Trie::Node Struct Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + @@ -121,15 +138,16 @@ Collaboration diagram for data_structures::trie_using_hashmap::Trie::Node:
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    - + - - + +

    Public Attributes

    std::unordered_map< char16_t, std::shared_ptr< Node > > children
    std::unordered_map< char16_t, std::shared_ptr< Node > > children
     
    -bool word_end = false
     boolean variable to represent the node end
    bool word_end = false
     boolean variable to represent the node end
     

    Detailed Description

    struct representing a trie node.

    + +

    Definition at line 44 of file trie_using_hashmap.cpp.

    Member Data Documentation

    ◆ children

    @@ -138,16 +156,36 @@ bool word_end = false<
    - +
    std::unordered_map<char16_t, std::shared_ptr<Node> > data_structures::trie_using_hashmap::Trie::Node::childrenstd::unordered_map<char16_t, std::shared_ptr<Node> > data_structures::trie_using_hashmap::Trie::Node::children

    unordered map with key type char16_t and value is a shared pointer type of Node

    +

    Definition at line 46 of file trie_using_hashmap.cpp.

    + +
    +
    + +

    ◆ word_end

    + +
    +
    + + + + +
    bool data_structures::trie_using_hashmap::Trie::Node::word_end = false
    +
    + +

    boolean variable to represent the node end

    + +

    Definition at line 48 of file trie_using_hashmap.cpp.

    +

    The documentation for this struct was generated from the following file: diff --git a/d5/d15/classcll.html b/d5/d15/classcll.html index 8d49c9ff6..c83db0d95 100644 --- a/d5/d15/classcll.html +++ b/d5/d15/classcll.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: cll Class Reference +TheAlgorithms/C++: cll Class Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -136,14 +153,15 @@ Public Member Functions
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    - + - +

    Protected Attributes

    -nodehead
    nodehead
     
    -int total
    int total
     
    -

    Constructor & Destructor Documentation

    +

    Detailed Description

    +
    +

    Definition at line 17 of file cll.h.

    +

    Constructor & Destructor Documentation

    ◆ cll()

    @@ -158,6 +176,8 @@ int total
    + +

    Definition at line 8 of file cll.cpp.

    8 {
    9 head = NULL;
    10 total = 0;
    @@ -179,6 +199,8 @@ int total
    + +

    Definition at line 13 of file cll.cpp.

    13 { /* Desstructure, no need to fill */
    14}
    @@ -199,23 +221,24 @@ int total
    + +

    Definition at line 17 of file cll.cpp.

    17 {
    18 if (head == NULL)
    -
    19 cout << "List is empty !" << endl;
    +
    19 cout << "List is empty !" << endl;
    20 else {
    -
    21 cout << "CLL list: ";
    +
    21 cout << "CLL list: ";
    22 node *current = head;
    23 for (int i = 0; i < total; i++) {
    -
    24 cout << current->data << " -> ";
    +
    24 cout << current->data << " -> ";
    25 current = current->next;
    26 }
    -
    27 cout << head->data << endl;
    -
    28 cout << "Total element: " << total << endl;
    +
    27 cout << head->data << endl;
    +
    28 cout << "Total element: " << total << endl;
    29 }
    30}
    - -
    #define endl
    Definition matrix_exponentiation.cpp:36
    -
    Definition binary_search_tree.cpp:11
    +
    #define endl
    +
    @@ -233,9 +256,11 @@ int total
    + +

    Definition at line 78 of file cll.cpp.

    78 {
    79 if (head == NULL) {
    -
    80 cout << "List is empty !" << endl;
    +
    80 cout << "List is empty !" << endl;
    81 return false;
    82 } else {
    83 node *current = head;
    @@ -264,6 +289,8 @@ int total
    + +

    Definition at line 74 of file cll.cpp.

    74{ return total; }
    @@ -282,6 +309,8 @@ int total
    + +

    Definition at line 33 of file cll.cpp.

    33 {
    34 node *newNode;
    35 newNode = new node;
    @@ -301,7 +330,7 @@ int total
    49 }
    50 total++;
    51}
    -
    struct node { int data; int height; struct node *left; struct node *right;} node
    for std::queue
    Definition avltree.cpp:13
    +
    struct node { int data; int height; struct node *left; struct node *right;} node
    for std::queue
    Definition avltree.cpp:13
    @@ -319,6 +348,8 @@ int total
    + +

    Definition at line 54 of file cll.cpp.

    54 {
    55 node *newNode;
    56 newNode = new node;
    @@ -354,6 +385,8 @@ int total
    + +

    Definition at line 94 of file cll.cpp.

    94{ return head->data; }
    @@ -372,9 +405,11 @@ int total
    + +

    Definition at line 98 of file cll.cpp.

    98 {
    99 if (head == NULL) {
    -
    100 cout << "List is empty !" << endl;
    +
    100 cout << "List is empty !" << endl;
    101 } else {
    102 node *current = head;
    103 while (current->next != head) {
    @@ -386,11 +421,60 @@ int total
    109 total--;
    110}
    +
    + +

    Member Data Documentation

    + +

    ◆ head

    + +
    +
    + + + + + +
    + + + + +
    node* cll::head
    +
    +protected
    +
    + +

    Definition at line 40 of file cll.h.

    + +
    +
    + +

    ◆ total

    + +
    +
    + + + + + +
    + + + + +
    int cll::total
    +
    +protected
    +
    + +

    Definition at line 41 of file cll.h.

    +

    The documentation for this class was generated from the following files:
    • data_structures/cll/cll.h
    • -
    • data_structures/cll/cll.cpp
    • +
    • data_structures/cll/cll.cpp
    diff --git a/d5/d1e/next__higher__number__with__same__number__of__set__bits_8cpp.html b/d5/d1e/next__higher__number__with__same__number__of__set__bits_8cpp.html index edb19791a..64e3b118b 100644 --- a/d5/d1e/next__higher__number__with__same__number__of__set__bits_8cpp.html +++ b/d5/d1e/next__higher__number__with__same__number__of__set__bits_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: bit_manipulation/next_higher_number_with_same_number_of_set_bits.cpp File Reference +TheAlgorithms/C++: bit_manipulation/next_higher_number_with_same_number_of_set_bits.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -121,7 +138,9 @@ Include dependency graph for next_higher_number_with_same_number_of_set_bits.cpp
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -144,6 +163,8 @@ Functions

    [Next higher number with same number of set bits] (https://www.geeksforgeeks.org/next-higher-number-with-same-number-of-set-bits/) implementation

    Given a number x, find next number with same number of 1 bits in it’s binary representation. For example, consider x = 12, whose binary representation is 1100 (excluding leading zeros on 32 bit machine). It contains two logic 1 bits. The next higher number with two logic 1 bits is 17 (100012).

    A binary number consists of two digits. They are 0 & 1. Digit 1 is known as set bit in computer terms.

    Author
    Kunal Nayak
    + +

    Definition in file next_higher_number_with_same_number_of_set_bits.cpp.

    Function Documentation

    ◆ main()

    @@ -162,17 +183,14 @@ Functions

    Main function.

    Returns
    0 on exit
    + +

    Definition at line 98 of file next_higher_number_with_same_number_of_set_bits.cpp.

    98 {
    99 test(); // run self-test implementations
    100 return 0;
    101}
    -
    static void test()
    Self-test implementations.
    Definition next_higher_number_with_same_number_of_set_bits.cpp:74
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static void test()
    Self-test implementations.
    + @@ -200,6 +218,8 @@ Here is the call graph for this function:

    Self-test implementations.

    Returns
    void
    + +

    Definition at line 74 of file next_higher_number_with_same_number_of_set_bits.cpp.

    74 {
    75 // x = 4 return 8
    @@ -218,17 +238,10 @@ Here is the call graph for this function:
    89 // x = 1024 return 2048
    90 assert(bit_manipulation::next_higher_number(1024) == 2048);
    91
    -
    92 std::cout << "All test cases have successfully passed!" << std::endl;
    +
    92 std::cout << "All test cases have successfully passed!" << std::endl;
    93}
    - -
    T endl(T... args)
    -
    uint64_t next_higher_number(uint64_t x)
    The main function implements checking the next number.
    Definition next_higher_number_with_same_number_of_set_bits.cpp:33
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    uint64_t next_higher_number(uint64_t x)
    The main function implements checking the next number.
    + diff --git a/d5/d1e/next__higher__number__with__same__number__of__set__bits_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map b/d5/d1e/next__higher__number__with__same__number__of__set__bits_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map deleted file mode 100644 index 6bc70d309..000000000 --- a/d5/d1e/next__higher__number__with__same__number__of__set__bits_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/d5/d1e/next__higher__number__with__same__number__of__set__bits_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 b/d5/d1e/next__higher__number__with__same__number__of__set__bits_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 deleted file mode 100644 index 44a3523b2..000000000 --- a/d5/d1e/next__higher__number__with__same__number__of__set__bits_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -88850cab1d66343ce66cdf5b4cc94862 \ No newline at end of file diff --git a/d5/d1e/next__higher__number__with__same__number__of__set__bits_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg b/d5/d1e/next__higher__number__with__same__number__of__set__bits_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg deleted file mode 100644 index 9b7ae2d7d..000000000 --- a/d5/d1e/next__higher__number__with__same__number__of__set__bits_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -bit_manipulation::next -_higher_number - - - - - -Node1->Node3 - - - - - - - - - - - - - diff --git a/d5/d1e/next__higher__number__with__same__number__of__set__bits_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg b/d5/d1e/next__higher__number__with__same__number__of__set__bits_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg deleted file mode 100644 index 2ea184620..000000000 --- a/d5/d1e/next__higher__number__with__same__number__of__set__bits_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -bit_manipulation::next -_higher_number - - - - - -Node1->Node3 - - - - - - - - diff --git a/d5/d1e/next__higher__number__with__same__number__of__set__bits_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d5/d1e/next__higher__number__with__same__number__of__set__bits_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 5fe61a5fc..000000000 --- a/d5/d1e/next__higher__number__with__same__number__of__set__bits_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/d5/d1e/next__higher__number__with__same__number__of__set__bits_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d5/d1e/next__higher__number__with__same__number__of__set__bits_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index 53a3d5ef8..000000000 --- a/d5/d1e/next__higher__number__with__same__number__of__set__bits_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -f26d8a8e0cdf8e54a9a3cc4ebce15bf8 \ No newline at end of file diff --git a/d5/d1e/next__higher__number__with__same__number__of__set__bits_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d5/d1e/next__higher__number__with__same__number__of__set__bits_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index aa91b7293..000000000 --- a/d5/d1e/next__higher__number__with__same__number__of__set__bits_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,102 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -bit_manipulation::next -_higher_number - - - - - -Node2->Node4 - - - - - - - - - - - - - diff --git a/d5/d1e/next__higher__number__with__same__number__of__set__bits_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d5/d1e/next__higher__number__with__same__number__of__set__bits_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index a3fcbdace..000000000 --- a/d5/d1e/next__higher__number__with__same__number__of__set__bits_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -bit_manipulation::next -_higher_number - - - - - -Node2->Node4 - - - - - - - - diff --git a/d5/d1e/next__higher__number__with__same__number__of__set__bits_8cpp_source.html b/d5/d1e/next__higher__number__with__same__number__of__set__bits_8cpp_source.html new file mode 100644 index 000000000..edc5a9a45 --- /dev/null +++ b/d5/d1e/next__higher__number__with__same__number__of__set__bits_8cpp_source.html @@ -0,0 +1,215 @@ + + + + + + + + +TheAlgorithms/C++: bit_manipulation/next_higher_number_with_same_number_of_set_bits.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    +

    Namespaces

    namespace  bit_manipulation
    + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + + +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    next_higher_number_with_same_number_of_set_bits.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    18#include <cassert>
    +
    19#include <cstdint>
    +
    20#include <iostream>
    +
    21
    +
    26namespace bit_manipulation {
    +
    27
    +
    +
    33uint64_t next_higher_number(uint64_t x) {
    +
    34 uint64_t rightOne = 0;
    +
    35 uint64_t nextHigherOneBit = 0;
    +
    36 uint64_t rightOnesPattern = 0;
    +
    37
    +
    38 uint64_t next = 0;
    +
    39
    +
    40 if (x) {
    +
    41 // right most set bit
    +
    42 rightOne = x & -static_cast<signed>(x);
    +
    43
    +
    44 // reset the pattern and set next higher bit
    +
    45 // left part of x will be here
    +
    46 nextHigherOneBit = x + rightOne;
    +
    47
    +
    48 // nextHigherOneBit is now part [D] of the above explanation.
    +
    49
    +
    50 // isolate the pattern
    +
    51 rightOnesPattern = x ^ nextHigherOneBit;
    +
    52
    +
    53 // right adjust pattern
    +
    54 rightOnesPattern = (rightOnesPattern) / rightOne;
    +
    55
    +
    56 // correction factor
    +
    57 rightOnesPattern >>= 2;
    +
    58
    +
    59 // rightOnesPattern is now part [A] of the above explanation.
    +
    60
    +
    61 // integrate new pattern (Add [D] and [A])
    +
    62 next = nextHigherOneBit | rightOnesPattern;
    +
    63 }
    +
    64
    +
    65 return next;
    +
    66}
    +
    +
    67
    +
    68} // namespace bit_manipulation
    +
    69
    +
    +
    74static void test() {
    +
    75 // x = 4 return 8
    + +
    77 // x = 6 return 9
    + +
    79 // x = 13 return 14
    + +
    81 // x = 64 return 128
    +
    82 assert(bit_manipulation::next_higher_number(64) == 128);
    +
    83 // x = 15 return 23
    + +
    85 // x= 32 return 64
    + +
    87 // x = 97 return 98
    + +
    89 // x = 1024 return 2048
    +
    90 assert(bit_manipulation::next_higher_number(1024) == 2048);
    +
    91
    +
    92 std::cout << "All test cases have successfully passed!" << std::endl;
    +
    93}
    +
    +
    +
    98int main() {
    +
    99 test(); // run self-test implementations
    +
    100 return 0;
    +
    101}
    +
    + +
    uint64_t next_higher_number(uint64_t x)
    The main function implements checking the next number.
    +
    static void test()
    Self-test implementations.
    + +
    +
    + + + + diff --git a/d5/d1e/tim__sort_8cpp_source.html b/d5/d1e/tim__sort_8cpp_source.html new file mode 100644 index 000000000..cf10ac4c1 --- /dev/null +++ b/d5/d1e/tim__sort_8cpp_source.html @@ -0,0 +1,266 @@ + + + + + + + + +TheAlgorithms/C++: sorting/tim_sort.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    tim_sort.cpp
    +
    +
    +
    1// C++ program to perform TimSort.
    +
    2#include <algorithm>
    +
    3#include <cassert>
    +
    4#include <iostream>
    +
    5#include <numeric>
    +
    6
    +
    7const int RUN = 32;
    +
    8
    +
    9// this function sorts array from left index to to right index which is of size
    +
    10// atmost RUN
    +
    11void insertionSort(int arr[], int left, int right) {
    +
    12 for (int i = left + 1; i <= right; i++) {
    +
    13 const int temp = arr[i];
    +
    14 int j = i - 1;
    +
    15 while (j >= left && arr[j] > temp) {
    +
    16 arr[j + 1] = arr[j];
    +
    17 j--;
    +
    18 }
    +
    19 arr[j + 1] = temp;
    +
    20 }
    +
    21}
    +
    22
    +
    23// merge function merges the sorted runs
    +
    24void merge(int arr[], int l, int m, int r) {
    +
    25 // original array is broken in two parts, left and right array
    +
    26 const int len1 = m - l + 1, len2 = r - m;
    +
    27 int *left = new int[len1], *right = new int[len2];
    +
    28 for (int i = 0; i < len1; i++) left[i] = arr[l + i];
    +
    29 for (int i = 0; i < len2; i++) right[i] = arr[m + 1 + i];
    +
    30
    +
    31 int i = 0;
    +
    32 int j = 0;
    +
    33 int k = l;
    +
    34
    +
    35 // after comparing, we merge those two array in larger sub array
    +
    36 while (i < len1 && j < len2) {
    +
    37 if (left[i] <= right[j]) {
    +
    38 arr[k] = left[i];
    +
    39 i++;
    +
    40 } else {
    +
    41 arr[k] = right[j];
    +
    42 j++;
    +
    43 }
    +
    44 k++;
    +
    45 }
    +
    46
    +
    47 // copy remaining elements of left, if any
    +
    48 while (i < len1) {
    +
    49 arr[k] = left[i];
    +
    50 k++;
    +
    51 i++;
    +
    52 }
    +
    53
    +
    54 // copy remaining element of right, if any
    +
    55 while (j < len2) {
    +
    56 arr[k] = right[j];
    +
    57 k++;
    +
    58 j++;
    +
    59 }
    +
    60 delete[] left;
    +
    61 delete[] right;
    +
    62}
    +
    63
    +
    64// iterative Timsort function to sort the array[0...n-1] (similar to merge sort)
    +
    65void timSort(int arr[], int n) {
    +
    66 // Sort individual subarrays of size RUN
    +
    67 for (int i = 0; i < n; i += RUN)
    +
    68 insertionSort(arr, i, std::min((i + 31), (n - 1)));
    +
    69
    +
    70 // start merging from size RUN (or 32). It will merge to form size 64, then
    +
    71 // 128, 256 and so on ....
    +
    72 for (int size = RUN; size < n; size = 2 * size) {
    +
    73 // pick starting point of left sub array. We are going to merge
    +
    74 // arr[left..left+size-1] and arr[left+size, left+2*size-1] After every
    +
    75 // merge, we increase left by 2*size
    +
    76 for (int left = 0; left < n; left += 2 * size) {
    +
    77 // find ending point of left sub array
    +
    78 // mid+1 is starting point of right sub array
    +
    79 const int mid = std::min((left + size - 1), (n - 1));
    +
    80 const int right = std::min((left + 2 * size - 1), (n - 1));
    +
    81
    +
    82 // merge sub array arr[left.....mid] & arr[mid+1....right]
    +
    83 merge(arr, left, mid, right);
    +
    84 }
    +
    85 }
    +
    86}
    +
    87
    +
    88// utility function to print the Array
    +
    89void printArray(int arr[], int n) {
    +
    90 for (int i = 0; i < n; i++) printf("%d ", arr[i]);
    +
    91 std::cout << std::endl;
    +
    92}
    +
    93
    +
    98void tests() {
    +
    99 // Case: array of length 65
    +
    100 constexpr int N = 65;
    +
    101 int arr[N];
    +
    102
    +
    103 std::iota(arr, arr + N, 0);
    +
    104 std::reverse(arr, arr + N);
    +
    105 assert(!std::is_sorted(arr, arr + N));
    +
    106
    +
    107 timSort(arr, N);
    +
    108 assert(std::is_sorted(arr, arr + N));
    +
    109}
    +
    110
    +
    111// Driver program to test above function
    +
    112int main() {
    +
    113 tests(); // run self test implementations
    +
    114
    +
    115 int arr[] = {5, 21, 7, 23, 19};
    +
    116 const int n = sizeof(arr) / sizeof(arr[0]);
    +
    117 printf("Given Array is\n");
    +
    118 printArray(arr, n);
    +
    119
    +
    120 timSort(arr, n);
    +
    121
    +
    122 printf("After Sorting Array is\n");
    +
    123 printArray(arr, n);
    +
    124 return 0;
    +
    125}
    +
    double k(double x)
    Another test function.
    +
    double l(double x)
    Another test function.
    +
    uint32_t merge(T *arr, T *temp, uint32_t left, uint32_t mid, uint32_t right)
    Function to merge two sub-arrays.
    +
    int main()
    Main function.
    +
    void printArray(T *arr, int sz)
    Definition heap_sort.cpp:37
    +
    void insertionSort(T *arr, int n)
    Insertion Sort Function.
    +
    Testcases to check Union of Two Arrays.
    +
    constexpr uint32_t N
    A struct to represent sparse table for min() as their invariant function, for the given array A....
    +
    +
    + + + + diff --git a/d5/d21/longest__increasing__subsequence__nlogn_8cpp_source.html b/d5/d21/longest__increasing__subsequence__nlogn_8cpp_source.html new file mode 100644 index 000000000..a7d8c0bfc --- /dev/null +++ b/d5/d21/longest__increasing__subsequence__nlogn_8cpp_source.html @@ -0,0 +1,183 @@ + + + + + + + + +TheAlgorithms/C++: dynamic_programming/longest_increasing_subsequence_nlogn.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    longest_increasing_subsequence_nlogn.cpp
    +
    +
    +
    1// Program to calculate length of longest increasing subsequence in an array
    +
    2// in O(n log n)
    +
    3// tested on : https://cses.fi/problemset/task/1145/
    +
    4
    +
    5#include <iostream>
    +
    6#include <set>
    +
    7#include <vector>
    +
    8
    +
    9using namespace std;
    +
    10int LIS(const std::vector<int>& arr, int n) {
    +
    11 set<int> active; // The current built LIS.
    +
    12 active.insert(arr[0]);
    +
    13 // Loop through every element.
    +
    14 for (int i = 1; i < n; ++i) {
    +
    15 auto get = active.lower_bound(arr[i]);
    +
    16 if (get == active.end()) {
    +
    17 active.insert(arr[i]);
    +
    18 } // current element is the greatest so LIS increases by 1.
    +
    19 else {
    +
    20 int val = *get; // we find the position where arr[i] will be in the
    +
    21 // LIS. If it is in the LIS already we do nothing
    +
    22 if (val > arr[i]) {
    +
    23 // else we remove the bigger element and add a smaller element
    +
    24 // (which is arr[i]) and continue;
    +
    25 active.erase(get);
    +
    26 active.insert(arr[i]);
    +
    27 }
    +
    28 }
    +
    29 }
    +
    30 return active.size(); // size of the LIS.
    +
    31}
    +
    32int main(int argc, char const* argv[]) {
    +
    33 int n;
    +
    34 cout << "Enter size of array: ";
    +
    35 cin >> n;
    +
    36 std::vector<int> a(n);
    +
    37 cout << "Enter array elements: ";
    +
    38 for (int i = 0; i < n; ++i) {
    +
    39 cin >> a[i];
    +
    40 }
    +
    41 cout << LIS(a, n) << endl;
    +
    42 return 0;
    +
    43}
    +
    int main()
    Main function.
    +
    #define endl
    +
    uint64_t LIS(const std::vector< uint64_t > &a, const uint32_t &n)
    Calculate the longest increasing subsequence for the specified numbers.
    +
    +
    + + + + diff --git a/d5/d25/bead__sort_8cpp_source.html b/d5/d25/bead__sort_8cpp_source.html new file mode 100644 index 000000000..bf14c03c8 --- /dev/null +++ b/d5/d25/bead__sort_8cpp_source.html @@ -0,0 +1,195 @@ + + + + + + + + +TheAlgorithms/C++: sorting/bead_sort.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    bead_sort.cpp
    +
    +
    +
    1// C++ program to implement gravity/bead sort
    +
    2#include <cstdio>
    +
    3#include <cstring>
    +
    4
    +
    5#define BEAD(i, j) beads[i * max + j]
    +
    6
    +
    7// function to perform the above algorithm
    +
    8void beadSort(int *a, int len) {
    +
    9 // Find the maximum element
    +
    10 int max = a[0];
    +
    11 for (int i = 1; i < len; i++)
    +
    12 if (a[i] > max)
    +
    13 max = a[i];
    +
    14
    +
    15 // allocating memory
    +
    16 unsigned char *beads = new unsigned char[max * len];
    +
    17 memset(beads, 0, static_cast<size_t>(max) * len);
    +
    18
    +
    19 // mark the beads
    +
    20 for (int i = 0; i < len; i++)
    +
    21 for (int j = 0; j < a[i]; j++) BEAD(i, j) = 1;
    +
    22
    +
    23 for (int j = 0; j < max; j++) {
    +
    24 // count how many beads are on each post
    +
    25 int sum = 0;
    +
    26 for (int i = 0; i < len; i++) {
    +
    27 sum += BEAD(i, j);
    +
    28 BEAD(i, j) = 0;
    +
    29 }
    +
    30
    +
    31 // Move beads down
    +
    32 for (int i = len - sum; i < len; i++) BEAD(i, j) = 1;
    +
    33 }
    +
    34
    +
    35 // Put sorted values in array using beads
    +
    36 for (int i = 0; i < len; i++) {
    +
    37 int j;
    +
    38 for (j = 0; j < max && BEAD(i, j); j++) {
    +
    39 }
    +
    40
    +
    41 a[i] = j;
    +
    42 }
    +
    43 delete[] beads;
    +
    44}
    +
    45
    +
    46// driver function to test the algorithm
    +
    47int main() {
    +
    48 int a[] = {5, 3, 1, 7, 4, 1, 1, 20};
    +
    49 int len = sizeof(a) / sizeof(a[0]);
    +
    50
    +
    51 beadSort(a, len);
    +
    52
    +
    53 for (int i = 0; i < len; i++) printf("%d ", a[i]);
    +
    54
    +
    55 return 0;
    +
    56}
    +
    int main()
    Main function.
    +
    T sum(const std::vector< std::valarray< T > > &A)
    +
    +
    + + + + diff --git a/d5/d25/structstd_1_1is__unsigned_3_01uint128__t_01_4.html b/d5/d25/structstd_1_1is__unsigned_3_01uint128__t_01_4.html index a1558e643..87be879db 100644 --- a/d5/d25/structstd_1_1is__unsigned_3_01uint128__t_01_4.html +++ b/d5/d25/structstd_1_1is__unsigned_3_01uint128__t_01_4.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: std::is_unsigned< uint128_t > Struct Reference +TheAlgorithms/C++: std::is_unsigned< uint128_t > Struct Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -117,7 +134,10 @@ Collaboration diagram for std::is_unsigned< uint128_t >:
    [legend]
    -
    The documentation for this struct was generated from the following file:
      +

      Detailed Description

      +
      +

      Definition at line 29 of file uint128_t.hpp.

      +

      The documentation for this struct was generated from the following file: @@ -125,7 +145,7 @@ Collaboration diagram for std::is_unsigned< uint128_t >: diff --git a/d5/d29/struct_min_heap_node.html b/d5/d29/struct_min_heap_node.html index 3f671c00a..18f837592 100644 --- a/d5/d29/struct_min_heap_node.html +++ b/d5/d29/struct_min_heap_node.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: MinHeapNode Struct Reference +TheAlgorithms/C++: MinHeapNode Struct Reference + + + @@ -18,14 +24,24 @@ - - + +
      @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + @@ -124,20 +141,19 @@ Public Member Functions
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    - + - + - + - +

    Public Attributes

    -char data
    char data
     
    -unsigned freq
    unsigned freq
     
    -MinHeapNodeleft
    MinHeapNodeleft
     
    -MinHeapNoderight
    MinHeapNoderight
     
    -

    Constructor & Destructor Documentation

    +

    Detailed Description

    +
    +

    Definition at line 7 of file huffman.cpp.

    +

    Constructor & Destructor Documentation

    ◆ MinHeapNode()

    @@ -164,16 +180,83 @@ unsigned freq
    + +

    Definition at line 17 of file huffman.cpp.

    19 {
    20 left = right = NULL;
    21 this->data = data;
    22 this->freq = freq;
    23 }
    +
    + +

    Member Data Documentation

    + +

    ◆ data

    + +
    +
    + + + + +
    char MinHeapNode::data
    +
    + +

    Definition at line 9 of file huffman.cpp.

    + +
    +
    + +

    ◆ freq

    + +
    +
    + + + + +
    unsigned MinHeapNode::freq
    +
    + +

    Definition at line 12 of file huffman.cpp.

    + +
    +
    + +

    ◆ left

    + +
    +
    + + + + +
    MinHeapNode* MinHeapNode::left
    +
    + +

    Definition at line 15 of file huffman.cpp.

    + +
    +
    + +

    ◆ right

    + +
    +
    + + + + +
    MinHeapNode * MinHeapNode::right
    +
    + +

    Definition at line 15 of file huffman.cpp.

    +

    The documentation for this struct was generated from the following file:
      -
    • greedy_algorithms/huffman.cpp
    • +
    • greedy_algorithms/huffman.cpp
    diff --git a/d5/d2c/namespacelayers.html b/d5/d2c/namespacelayers.html index fe2cb8e1c..47093ad8e 100644 --- a/d5/d2c/namespacelayers.html +++ b/d5/d2c/namespacelayers.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: layers Namespace Reference +TheAlgorithms/C++: layers Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/d5/d33/gram__schmidt_8cpp.html b/d5/d33/gram__schmidt_8cpp.html index 2b4830d32..73247ec29 100644 --- a/d5/d33/gram__schmidt_8cpp.html +++ b/d5/d33/gram__schmidt_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: numerical_methods/gram_schmidt.cpp File Reference +TheAlgorithms/C++: numerical_methods/gram_schmidt.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + @@ -123,7 +140,9 @@ Include dependency graph for gram_schmidt.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -135,13 +154,13 @@ Namespaces

    Namespaces

    namespace  numerical_methods
    - + - + - + - + @@ -158,6 +177,8 @@ Algorithm

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

    Have defined maximum dimension of vectors to be 10 and number of vectors taken is 20. Please do not give linearly dependent vectors

    Author
    Akanksha Gupta
    + +

    Definition in file gram_schmidt.cpp.

    Function Documentation

    ◆ display()

    @@ -178,7 +199,7 @@ Algorithm - +

    Functions

    double numerical_methods::gram_schmidt::dot_product (const std::array< double, 10 > &x, const std::array< double, 10 > &y, const int &c)
    double numerical_methods::gram_schmidt::dot_product (const std::array< double, 10 > &x, const std::array< double, 10 > &y, const int &c)
     
    double numerical_methods::gram_schmidt::projection (const std::array< double, 10 > &x, const std::array< double, 10 > &y, const int &c)
    double numerical_methods::gram_schmidt::projection (const std::array< double, 10 > &x, const std::array< double, 10 > &y, const int &c)
     
    void numerical_methods::gram_schmidt::display (const int &r, const int &c, const std::array< std::array< double, 10 >, 20 > &B)
    void numerical_methods::gram_schmidt::display (const int &r, const int &c, const std::array< std::array< double, 10 >, 20 > &B)
     
    void numerical_methods::gram_schmidt::gram_schmidt (int r, const int &c, const std::array< std::array< double, 10 >, 20 > &A, std::array< std::array< double, 10 >, 20 > B)
    void numerical_methods::gram_schmidt::gram_schmidt (int r, const int &c, const std::array< std::array< double, 10 >, 20 > &A, std::array< std::array< double, 10 >, 20 > B)
     
    static void test ()
     
    const std::array< std::array< double, 10 >, 20 > & B )const std::array< std::array< double, 10 >, 20 > & B )
    @@ -192,16 +213,17 @@ Algorithm
    Returns
    void
    + +

    Definition at line 101 of file gram_schmidt.cpp.

    102 {
    103 for (int i = 0; i < r; ++i) {
    -
    104 std::cout << "Vector " << i + 1 << ": ";
    +
    104 std::cout << "Vector " << i + 1 << ": ";
    105 for (int j = 0; j < c; ++j) {
    -
    106 std::cout << B[i][j] << " ";
    +
    106 std::cout << B[i][j] << " ";
    107 }
    -
    108 std::cout << '\n';
    +
    108 std::cout << '\n';
    109 }
    110}
    -
    @@ -214,12 +236,12 @@ Algorithm double numerical_methods::gram_schmidt::dot_product ( - const std::array< double, 10 > & x, + const std::array< double, 10 > & x, - const std::array< double, 10 > & y, + const std::array< double, 10 > & y, @@ -237,6 +259,8 @@ Algorithm
    Returns
    sum
    + +

    Definition at line 59 of file gram_schmidt.cpp.

    60 {
    61 double sum = 0;
    62 for (int i = 0; i < c; ++i) {
    @@ -244,13 +268,8 @@ Algorithm
    64 }
    65 return sum;
    66}
    -
    T sum(const std::vector< std::valarray< T > > &A)
    Definition vector_ops.hpp:232
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    T sum(const std::vector< std::valarray< T > > &A)
    + @@ -272,12 +291,12 @@ Here is the call graph for this function: - const std::array< std::array< double, 10 >, 20 > & A, + const std::array< std::array< double, 10 >, 20 > & A, - std::array< std::array< double, 10 >, 20 > B ) + std::array< std::array< double, 10 >, 20 > B )
    @@ -300,9 +319,11 @@ Here is the call graph for this function:

    projected array created

    we take the projection with all the previous vector and add them.

    subtract total projection vector from the input vector

    + +

    Definition at line 121 of file gram_schmidt.cpp.

    123 {
    -
    124 if (c < r) { /// we check whether appropriate dimensions are given or not.
    -
    125 std::cout << "Dimension of vector is less than number of vector, hence "
    +
    124 if (c < r) {
    +
    125 std::cout << "Dimension of vector is less than number of vector, hence "
    126 "\n first "
    127 << c << " vectors are orthogonalised\n";
    128 r = c;
    @@ -313,55 +334,46 @@ Here is the call graph for this function:
    133 while (k <= r) {
    134 if (k == 1) {
    135 for (int j = 0; j < c; j++)
    -
    136 B[0][j] = A[0][j]; /// First vector is copied as it is.
    +
    136 B[0][j] = A[0][j];
    137 }
    138
    139 else {
    - -
    141 all_projection{}; /// array to store projections
    +
    140 std::array<double, 10>
    +
    141 all_projection{};
    142 for (int i = 0; i < c; ++i) {
    -
    143 all_projection[i] = 0; /// First initialised to zero
    +
    143 all_projection[i] = 0;
    144 }
    145
    146 int l = 1;
    147 while (l < k) {
    - -
    149 temp{}; /// to store previous projected array
    -
    150 double factor = NAN; /// to store the factor by which the
    -
    151 /// previous array will change
    -
    152 factor = projection(A[k - 1], B[l - 1], c);
    +
    148 std::array<double, 10>
    +
    149 temp{};
    +
    150 double factor = NAN;
    +
    152 factor = projection(A[k - 1], B[l - 1], c);
    153 for (int i = 0; i < c; ++i) {
    -
    154 temp[i] = B[l - 1][i] * factor; /// projected array created
    +
    154 temp[i] = B[l - 1][i] * factor;
    155 }
    156 for (int j = 0; j < c; ++j) {
    157 all_projection[j] =
    158 all_projection[j] +
    -
    159 temp[j]; /// we take the projection with all the
    -
    160 /// previous vector and add them.
    -
    161 }
    +
    159 temp[j];
    +
    161 }
    162 l++;
    163 }
    164 for (int i = 0; i < c; ++i) {
    165 B[k - 1][i] =
    166 A[k - 1][i] -
    -
    167 all_projection[i]; /// subtract total projection vector
    -
    168 /// from the input vector
    -
    169 }
    +
    167 all_projection[i];
    +
    169 }
    170 }
    171 k++;
    172 }
    173 display(r, c, B); // for displaying orthogoanlised vectors
    174}
    - -
    double k(double x)
    Another test function.
    Definition composite_simpson_rule.cpp:117
    -
    double l(double x)
    Another test function.
    Definition composite_simpson_rule.cpp:119
    -
    double projection(const std::array< double, 10 > &x, const std::array< double, 10 > &y, const int &c)
    Definition gram_schmidt.cpp:79
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    double k(double x)
    Another test function.
    +
    double l(double x)
    Another test function.
    +
    double projection(const std::array< double, 10 > &x, const std::array< double, 10 > &y, const int &c)
    + @@ -387,59 +399,52 @@ Here is the call graph for this function:

    Input of vectors is taken

    To check whether vectors are orthogonal or not

    take make the process numerically stable, upper bound for the dot product take 0.1

    + +

    Definition at line 248 of file gram_schmidt.cpp.

    248 {
    249 int r = 0, c = 0;
    250 test(); // perform self tests
    -
    251 std::cout << "Enter the dimension of your vectors\n";
    -
    252 std::cin >> c;
    -
    253 std::cout << "Enter the number of vectors you will enter\n";
    -
    254 std::cin >> r;
    +
    251 std::cout << "Enter the dimension of your vectors\n";
    +
    252 std::cin >> c;
    +
    253 std::cout << "Enter the number of vectors you will enter\n";
    +
    254 std::cin >> r;
    255
    - -
    257 A{}; /// a 2-D array for storing all vectors
    - -
    259 {0}}; /// a 2-D array for storing orthogonalised vectors
    -
    260 /// storing vectors in array A
    -
    261 for (int i = 0; i < r; ++i) {
    -
    262 std::cout << "Enter vector " << i + 1
    -
    263 << '\n'; /// Input of vectors is taken
    +
    256 std::array<std::array<double, 10>, 20>
    +
    257 A{};
    +
    258 std::array<std::array<double, 10>, 20> B = {
    +
    259 {0}};
    +
    261 for (int i = 0; i < r; ++i) {
    +
    262 std::cout << "Enter vector " << i + 1
    +
    263 << '\n';
    264 for (int j = 0; j < c; ++j) {
    -
    265 std::cout << "Value " << j + 1 << "th of vector: ";
    -
    266 std::cin >> A[i][j];
    +
    265 std::cout << "Value " << j + 1 << "th of vector: ";
    +
    266 std::cin >> A[i][j];
    267 }
    -
    268 std::cout << '\n';
    +
    268 std::cout << '\n';
    269 }
    270
    272
    273 double dot = 0;
    -
    274 int flag = 1; /// To check whether vectors are orthogonal or not
    +
    274 int flag = 1;
    275 for (int i = 0; i < r - 1; ++i) {
    276 for (int j = i + 1; j < r; ++j) {
    -
    277 dot = fabs(
    +
    277 dot = fabs(
    278 numerical_methods::gram_schmidt::dot_product(B[i], B[j], c));
    -
    279 if (dot > 0.1) /// take make the process numerically stable, upper
    -
    280 /// bound for the dot product take 0.1
    -
    281 {
    +
    279 if (dot > 0.1)
    +
    281 {
    282 flag = 0;
    283 break;
    284 }
    285 }
    286 }
    287 if (flag == 0)
    -
    288 std::cout << "Vectors are linearly dependent\n";
    +
    288 std::cout << "Vectors are linearly dependent\n";
    289 return 0;
    290}
    - -
    T fabs(T... args)
    -
    void gram_schmidt(int r, const int &c, const std::array< std::array< double, 10 >, 20 > &A, std::array< std::array< double, 10 >, 20 > B)
    Definition gram_schmidt.cpp:121
    -
    static void test()
    Definition gram_schmidt.cpp:181
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    void gram_schmidt(int r, const int &c, const std::array< std::array< double, 10 >, 20 > &A, std::array< std::array< double, 10 >, 20 > B)
    +
    static void test()
    + @@ -451,12 +456,12 @@ Here is the call graph for this function: double numerical_methods::gram_schmidt::projection ( - const std::array< double, 10 > & x, + const std::array< double, 10 > & x, - const std::array< double, 10 > & y, + const std::array< double, 10 > & y, @@ -478,24 +483,20 @@ Here is the call graph for this function:

    The dot product of two vectors is taken

    The norm of the second vector is taken.

    multiply that factor with every element in a 3rd vector, whose initial values are same as the 2nd vector.

    + +

    Definition at line 79 of file gram_schmidt.cpp.

    80 {
    81 double dot =
    -
    82 dot_product(x, y, c); /// The dot product of two vectors is taken
    +
    82 dot_product(x, y, c);
    83 double anorm =
    -
    84 dot_product(y, y, c); /// The norm of the second vector is taken.
    +
    84 dot_product(y, y, c);
    85 double factor =
    86 dot /
    -
    87 anorm; /// multiply that factor with every element in a 3rd vector,
    -
    88 /// whose initial values are same as the 2nd vector.
    -
    89 return factor;
    +
    87 anorm;
    +
    89 return factor;
    90}
    -
    double dot_product(const std::array< double, 10 > &x, const std::array< double, 10 > &y, const int &c)
    Definition gram_schmidt.cpp:59
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    double dot_product(const std::array< double, 10 > &x, const std::array< double, 10 > &y, const int &c)
    + @@ -521,16 +522,18 @@ Here is the call graph for this function:

    Test Function. Process has been tested for 3 Sample Inputs

    Returns
    void
    + +

    Definition at line 181 of file gram_schmidt.cpp.

    181 {
    - +
    182 std::array<std::array<double, 10>, 20> a1 = {
    183 {{1, 0, 1, 0}, {1, 1, 1, 1}, {0, 1, 2, 1}}};
    -
    184 std::array<std::array<double, 10>, 20> b1 = {{0}};
    +
    184 std::array<std::array<double, 10>, 20> b1 = {{0}};
    185 double dot1 = 0;
    187 int flag = 1;
    188 for (int i = 0; i < 2; ++i) {
    189 for (int j = i + 1; j < 3; ++j) {
    -
    190 dot1 = fabs(
    +
    190 dot1 = fabs(
    191 numerical_methods::gram_schmidt::dot_product(b1[i], b1[j], 4));
    192 if (dot1 > 0.1) {
    193 flag = 0;
    @@ -539,18 +542,18 @@ Here is the call graph for this function:
    196 }
    197 }
    198 if (flag == 0)
    -
    199 std::cout << "Vectors are linearly dependent\n";
    +
    199 std::cout << "Vectors are linearly dependent\n";
    200 assert(flag == 1);
    -
    201 std::cout << "Passed Test Case 1\n ";
    +
    201 std::cout << "Passed Test Case 1\n ";
    202
    -
    203 std::array<std::array<double, 10>, 20> a2 = {{{3, 1}, {2, 2}}};
    -
    204 std::array<std::array<double, 10>, 20> b2 = {{0}};
    +
    203 std::array<std::array<double, 10>, 20> a2 = {{{3, 1}, {2, 2}}};
    +
    204 std::array<std::array<double, 10>, 20> b2 = {{0}};
    205 double dot2 = 0;
    207 flag = 1;
    208 for (int i = 0; i < 1; ++i) {
    209 for (int j = i + 1; j < 2; ++j) {
    -
    210 dot2 = fabs(
    +
    210 dot2 = fabs(
    211 numerical_methods::gram_schmidt::dot_product(b2[i], b2[j], 2));
    212 if (dot2 > 0.1) {
    213 flag = 0;
    @@ -559,18 +562,18 @@ Here is the call graph for this function:
    216 }
    217 }
    218 if (flag == 0)
    -
    219 std::cout << "Vectors are linearly dependent\n";
    +
    219 std::cout << "Vectors are linearly dependent\n";
    220 assert(flag == 1);
    -
    221 std::cout << "Passed Test Case 2\n";
    +
    221 std::cout << "Passed Test Case 2\n";
    222
    -
    223 std::array<std::array<double, 10>, 20> a3 = {{{1, 2, 2}, {-4, 3, 2}}};
    -
    224 std::array<std::array<double, 10>, 20> b3 = {{0}};
    +
    223 std::array<std::array<double, 10>, 20> a3 = {{{1, 2, 2}, {-4, 3, 2}}};
    +
    224 std::array<std::array<double, 10>, 20> b3 = {{0}};
    225 double dot3 = 0;
    227 flag = 1;
    228 for (int i = 0; i < 1; ++i) {
    229 for (int j = i + 1; j < 2; ++j) {
    -
    230 dot3 = fabs(
    +
    230 dot3 = fabs(
    231 numerical_methods::gram_schmidt::dot_product(b3[i], b3[j], 3));
    232 if (dot3 > 0.1) {
    233 flag = 0;
    @@ -579,9 +582,9 @@ Here is the call graph for this function:
    236 }
    237 }
    238 if (flag == 0)
    -
    239 std::cout << "Vectors are linearly dependent\n";
    +
    239 std::cout << "Vectors are linearly dependent\n";
    240 assert(flag == 1);
    -
    241 std::cout << "Passed Test Case 3\n";
    +
    241 std::cout << "Passed Test Case 3\n";
    242}
    diff --git a/d5/d33/gram__schmidt_8cpp_a0837468e1a653ed056e2cce3c914afa5_cgraph.map b/d5/d33/gram__schmidt_8cpp_a0837468e1a653ed056e2cce3c914afa5_cgraph.map deleted file mode 100644 index 14688a703..000000000 --- a/d5/d33/gram__schmidt_8cpp_a0837468e1a653ed056e2cce3c914afa5_cgraph.map +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/d5/d33/gram__schmidt_8cpp_a0837468e1a653ed056e2cce3c914afa5_cgraph.md5 b/d5/d33/gram__schmidt_8cpp_a0837468e1a653ed056e2cce3c914afa5_cgraph.md5 deleted file mode 100644 index 5e5ff05aa..000000000 --- a/d5/d33/gram__schmidt_8cpp_a0837468e1a653ed056e2cce3c914afa5_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -bd9b851c8245b97404000fce71dce0e9 \ No newline at end of file diff --git a/d5/d33/gram__schmidt_8cpp_a0837468e1a653ed056e2cce3c914afa5_cgraph.svg b/d5/d33/gram__schmidt_8cpp_a0837468e1a653ed056e2cce3c914afa5_cgraph.svg deleted file mode 100644 index 257ce6783..000000000 --- a/d5/d33/gram__schmidt_8cpp_a0837468e1a653ed056e2cce3c914afa5_cgraph.svg +++ /dev/null @@ -1,104 +0,0 @@ - - - - - - - - - - - - -numerical_methods::gram_schmidt::gram_schmidt - - -Node1 - - -numerical_methods:: -gram_schmidt::gram_schmidt - - - - - -Node2 - - -numerical_methods:: -gram_schmidt::projection - - - - - -Node1->Node2 - - - - - - - - -Node2->Node2 - - - - - - - - -Node3 - - -numerical_methods:: -gram_schmidt::dot_product - - - - - -Node2->Node3 - - - - - - - - -Node3->Node3 - - - - - - - - - - - - - diff --git a/d5/d33/gram__schmidt_8cpp_a0837468e1a653ed056e2cce3c914afa5_cgraph_org.svg b/d5/d33/gram__schmidt_8cpp_a0837468e1a653ed056e2cce3c914afa5_cgraph_org.svg deleted file mode 100644 index c4422694b..000000000 --- a/d5/d33/gram__schmidt_8cpp_a0837468e1a653ed056e2cce3c914afa5_cgraph_org.svg +++ /dev/null @@ -1,78 +0,0 @@ - - - - - - -numerical_methods::gram_schmidt::gram_schmidt - - -Node1 - - -numerical_methods:: -gram_schmidt::gram_schmidt - - - - - -Node2 - - -numerical_methods:: -gram_schmidt::projection - - - - - -Node1->Node2 - - - - - - - - -Node2->Node2 - - - - - - - - -Node3 - - -numerical_methods:: -gram_schmidt::dot_product - - - - - -Node2->Node3 - - - - - - - - -Node3->Node3 - - - - - - - - diff --git a/d5/d33/gram__schmidt_8cpp_a8eeaafdde8b56f459aadc6013cf078bc_cgraph.map b/d5/d33/gram__schmidt_8cpp_a8eeaafdde8b56f459aadc6013cf078bc_cgraph.map deleted file mode 100644 index 22ad7940b..000000000 --- a/d5/d33/gram__schmidt_8cpp_a8eeaafdde8b56f459aadc6013cf078bc_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/d5/d33/gram__schmidt_8cpp_a8eeaafdde8b56f459aadc6013cf078bc_cgraph.md5 b/d5/d33/gram__schmidt_8cpp_a8eeaafdde8b56f459aadc6013cf078bc_cgraph.md5 deleted file mode 100644 index fa7809c33..000000000 --- a/d5/d33/gram__schmidt_8cpp_a8eeaafdde8b56f459aadc6013cf078bc_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -70d6813c99a2b6643f436809d9496f78 \ No newline at end of file diff --git a/d5/d33/gram__schmidt_8cpp_a8eeaafdde8b56f459aadc6013cf078bc_cgraph.svg b/d5/d33/gram__schmidt_8cpp_a8eeaafdde8b56f459aadc6013cf078bc_cgraph.svg deleted file mode 100644 index 2844e17e6..000000000 --- a/d5/d33/gram__schmidt_8cpp_a8eeaafdde8b56f459aadc6013cf078bc_cgraph.svg +++ /dev/null @@ -1,85 +0,0 @@ - - - - - - - - - - - - -numerical_methods::gram_schmidt::projection - - -Node1 - - -numerical_methods:: -gram_schmidt::projection - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -numerical_methods:: -gram_schmidt::dot_product - - - - - -Node1->Node2 - - - - - - - - -Node2->Node2 - - - - - - - - - - - - - diff --git a/d5/d33/gram__schmidt_8cpp_a8eeaafdde8b56f459aadc6013cf078bc_cgraph_org.svg b/d5/d33/gram__schmidt_8cpp_a8eeaafdde8b56f459aadc6013cf078bc_cgraph_org.svg deleted file mode 100644 index 1fbc913b0..000000000 --- a/d5/d33/gram__schmidt_8cpp_a8eeaafdde8b56f459aadc6013cf078bc_cgraph_org.svg +++ /dev/null @@ -1,59 +0,0 @@ - - - - - - -numerical_methods::gram_schmidt::projection - - -Node1 - - -numerical_methods:: -gram_schmidt::projection - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -numerical_methods:: -gram_schmidt::dot_product - - - - - -Node1->Node2 - - - - - - - - -Node2->Node2 - - - - - - - - diff --git a/d5/d33/gram__schmidt_8cpp_ac4a4504924ecc9f12a2ebd80788ec01d_cgraph.map b/d5/d33/gram__schmidt_8cpp_ac4a4504924ecc9f12a2ebd80788ec01d_cgraph.map deleted file mode 100644 index 51dc2b851..000000000 --- a/d5/d33/gram__schmidt_8cpp_ac4a4504924ecc9f12a2ebd80788ec01d_cgraph.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/d5/d33/gram__schmidt_8cpp_ac4a4504924ecc9f12a2ebd80788ec01d_cgraph.md5 b/d5/d33/gram__schmidt_8cpp_ac4a4504924ecc9f12a2ebd80788ec01d_cgraph.md5 deleted file mode 100644 index fed1163a0..000000000 --- a/d5/d33/gram__schmidt_8cpp_ac4a4504924ecc9f12a2ebd80788ec01d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -21c6f10f501e2f1df25a491d53bc57e4 \ No newline at end of file diff --git a/d5/d33/gram__schmidt_8cpp_ac4a4504924ecc9f12a2ebd80788ec01d_cgraph.svg b/d5/d33/gram__schmidt_8cpp_ac4a4504924ecc9f12a2ebd80788ec01d_cgraph.svg deleted file mode 100644 index 90499dfa3..000000000 --- a/d5/d33/gram__schmidt_8cpp_ac4a4504924ecc9f12a2ebd80788ec01d_cgraph.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - - - - - - - -numerical_methods::gram_schmidt::dot_product - - -Node1 - - -numerical_methods:: -gram_schmidt::dot_product - - - - - -Node1->Node1 - - - - - - - - - - - - - diff --git a/d5/d33/gram__schmidt_8cpp_ac4a4504924ecc9f12a2ebd80788ec01d_cgraph_org.svg b/d5/d33/gram__schmidt_8cpp_ac4a4504924ecc9f12a2ebd80788ec01d_cgraph_org.svg deleted file mode 100644 index 7ac72afbb..000000000 --- a/d5/d33/gram__schmidt_8cpp_ac4a4504924ecc9f12a2ebd80788ec01d_cgraph_org.svg +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - -numerical_methods::gram_schmidt::dot_product - - -Node1 - - -numerical_methods:: -gram_schmidt::dot_product - - - - - -Node1->Node1 - - - - - - - - diff --git a/d5/d33/gram__schmidt_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d5/d33/gram__schmidt_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 4dd8c13af..000000000 --- a/d5/d33/gram__schmidt_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d5/d33/gram__schmidt_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d5/d33/gram__schmidt_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index 85c24eac7..000000000 --- a/d5/d33/gram__schmidt_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -8cc10a9738c389f1f83a0de0740808e0 \ No newline at end of file diff --git a/d5/d33/gram__schmidt_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d5/d33/gram__schmidt_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 4ff2dd482..000000000 --- a/d5/d33/gram__schmidt_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d5/d33/gram__schmidt_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d5/d33/gram__schmidt_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index c84e58c05..000000000 --- a/d5/d33/gram__schmidt_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - diff --git a/d5/d33/gram__schmidt_8cpp_source.html b/d5/d33/gram__schmidt_8cpp_source.html new file mode 100644 index 000000000..d4dd6bb7b --- /dev/null +++ b/d5/d33/gram__schmidt_8cpp_source.html @@ -0,0 +1,354 @@ + + + + + + + + +TheAlgorithms/C++: numerical_methods/gram_schmidt.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    gram_schmidt.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    31#include <array>
    +
    32#include <cassert>
    +
    33#include <cmath>
    +
    34#include <iostream>
    +
    35
    +
    36#include "math.h"
    +
    37
    +
    42namespace numerical_methods {
    +
    48namespace gram_schmidt {
    +
    +
    59double dot_product(const std::array<double, 10>& x,
    +
    60 const std::array<double, 10>& y, const int& c) {
    +
    61 double sum = 0;
    +
    62 for (int i = 0; i < c; ++i) {
    +
    63 sum += x[i] * y[i];
    +
    64 }
    +
    65 return sum;
    +
    66}
    +
    +
    67
    +
    +
    79double projection(const std::array<double, 10>& x,
    +
    80 const std::array<double, 10>& y, const int& c) {
    +
    81 double dot =
    +
    82 dot_product(x, y, c);
    +
    83 double anorm =
    +
    84 dot_product(y, y, c);
    +
    85 double factor =
    +
    86 dot /
    +
    87 anorm;
    +
    89 return factor;
    +
    90}
    +
    +
    91
    +
    +
    101void display(const int& r, const int& c,
    +
    102 const std::array<std::array<double, 10>, 20>& B) {
    +
    103 for (int i = 0; i < r; ++i) {
    +
    104 std::cout << "Vector " << i + 1 << ": ";
    +
    105 for (int j = 0; j < c; ++j) {
    +
    106 std::cout << B[i][j] << " ";
    +
    107 }
    +
    108 std::cout << '\n';
    +
    109 }
    +
    110}
    +
    +
    111
    +
    +
    121void gram_schmidt(int r, const int& c,
    +
    122 const std::array<std::array<double, 10>, 20>& A,
    +
    123 std::array<std::array<double, 10>, 20> B) {
    +
    124 if (c < r) {
    +
    125 std::cout << "Dimension of vector is less than number of vector, hence "
    +
    126 "\n first "
    +
    127 << c << " vectors are orthogonalised\n";
    +
    128 r = c;
    +
    129 }
    +
    130
    +
    131 int k = 1;
    +
    132
    +
    133 while (k <= r) {
    +
    134 if (k == 1) {
    +
    135 for (int j = 0; j < c; j++)
    +
    136 B[0][j] = A[0][j];
    +
    137 }
    +
    138
    +
    139 else {
    +
    140 std::array<double, 10>
    +
    141 all_projection{};
    +
    142 for (int i = 0; i < c; ++i) {
    +
    143 all_projection[i] = 0;
    +
    144 }
    +
    145
    +
    146 int l = 1;
    +
    147 while (l < k) {
    +
    148 std::array<double, 10>
    +
    149 temp{};
    +
    150 double factor = NAN;
    +
    152 factor = projection(A[k - 1], B[l - 1], c);
    +
    153 for (int i = 0; i < c; ++i) {
    +
    154 temp[i] = B[l - 1][i] * factor;
    +
    155 }
    +
    156 for (int j = 0; j < c; ++j) {
    +
    157 all_projection[j] =
    +
    158 all_projection[j] +
    +
    159 temp[j];
    +
    161 }
    +
    162 l++;
    +
    163 }
    +
    164 for (int i = 0; i < c; ++i) {
    +
    165 B[k - 1][i] =
    +
    166 A[k - 1][i] -
    +
    167 all_projection[i];
    +
    169 }
    +
    170 }
    +
    171 k++;
    +
    172 }
    +
    173 display(r, c, B); // for displaying orthogoanlised vectors
    +
    174}
    +
    +
    175} // namespace gram_schmidt
    +
    176} // namespace numerical_methods
    +
    +
    181static void test() {
    +
    182 std::array<std::array<double, 10>, 20> a1 = {
    +
    183 {{1, 0, 1, 0}, {1, 1, 1, 1}, {0, 1, 2, 1}}};
    +
    184 std::array<std::array<double, 10>, 20> b1 = {{0}};
    +
    185 double dot1 = 0;
    +
    186 numerical_methods::gram_schmidt::gram_schmidt(3, 4, a1, b1);
    +
    187 int flag = 1;
    +
    188 for (int i = 0; i < 2; ++i) {
    +
    189 for (int j = i + 1; j < 3; ++j) {
    +
    190 dot1 = fabs(
    +
    191 numerical_methods::gram_schmidt::dot_product(b1[i], b1[j], 4));
    +
    192 if (dot1 > 0.1) {
    +
    193 flag = 0;
    +
    194 break;
    +
    195 }
    +
    196 }
    +
    197 }
    +
    198 if (flag == 0)
    +
    199 std::cout << "Vectors are linearly dependent\n";
    +
    200 assert(flag == 1);
    +
    201 std::cout << "Passed Test Case 1\n ";
    +
    202
    +
    203 std::array<std::array<double, 10>, 20> a2 = {{{3, 1}, {2, 2}}};
    +
    204 std::array<std::array<double, 10>, 20> b2 = {{0}};
    +
    205 double dot2 = 0;
    +
    206 numerical_methods::gram_schmidt::gram_schmidt(2, 2, a2, b2);
    +
    207 flag = 1;
    +
    208 for (int i = 0; i < 1; ++i) {
    +
    209 for (int j = i + 1; j < 2; ++j) {
    +
    210 dot2 = fabs(
    +
    211 numerical_methods::gram_schmidt::dot_product(b2[i], b2[j], 2));
    +
    212 if (dot2 > 0.1) {
    +
    213 flag = 0;
    +
    214 break;
    +
    215 }
    +
    216 }
    +
    217 }
    +
    218 if (flag == 0)
    +
    219 std::cout << "Vectors are linearly dependent\n";
    +
    220 assert(flag == 1);
    +
    221 std::cout << "Passed Test Case 2\n";
    +
    222
    +
    223 std::array<std::array<double, 10>, 20> a3 = {{{1, 2, 2}, {-4, 3, 2}}};
    +
    224 std::array<std::array<double, 10>, 20> b3 = {{0}};
    +
    225 double dot3 = 0;
    +
    226 numerical_methods::gram_schmidt::gram_schmidt(2, 3, a3, b3);
    +
    227 flag = 1;
    +
    228 for (int i = 0; i < 1; ++i) {
    +
    229 for (int j = i + 1; j < 2; ++j) {
    +
    230 dot3 = fabs(
    +
    231 numerical_methods::gram_schmidt::dot_product(b3[i], b3[j], 3));
    +
    232 if (dot3 > 0.1) {
    +
    233 flag = 0;
    +
    234 break;
    +
    235 }
    +
    236 }
    +
    237 }
    +
    238 if (flag == 0)
    +
    239 std::cout << "Vectors are linearly dependent\n";
    +
    240 assert(flag == 1);
    +
    241 std::cout << "Passed Test Case 3\n";
    +
    242}
    +
    +
    243
    +
    +
    248int main() {
    +
    249 int r = 0, c = 0;
    +
    250 test(); // perform self tests
    +
    251 std::cout << "Enter the dimension of your vectors\n";
    +
    252 std::cin >> c;
    +
    253 std::cout << "Enter the number of vectors you will enter\n";
    +
    254 std::cin >> r;
    +
    255
    +
    256 std::array<std::array<double, 10>, 20>
    +
    257 A{};
    +
    258 std::array<std::array<double, 10>, 20> B = {
    +
    259 {0}};
    +
    261 for (int i = 0; i < r; ++i) {
    +
    262 std::cout << "Enter vector " << i + 1
    +
    263 << '\n';
    +
    264 for (int j = 0; j < c; ++j) {
    +
    265 std::cout << "Value " << j + 1 << "th of vector: ";
    +
    266 std::cin >> A[i][j];
    +
    267 }
    +
    268 std::cout << '\n';
    +
    269 }
    +
    270
    +
    271 numerical_methods::gram_schmidt::gram_schmidt(r, c, A, B);
    +
    272
    +
    273 double dot = 0;
    +
    274 int flag = 1;
    +
    275 for (int i = 0; i < r - 1; ++i) {
    +
    276 for (int j = i + 1; j < r; ++j) {
    +
    277 dot = fabs(
    +
    278 numerical_methods::gram_schmidt::dot_product(B[i], B[j], c));
    +
    279 if (dot > 0.1)
    +
    281 {
    +
    282 flag = 0;
    +
    283 break;
    +
    284 }
    +
    285 }
    +
    286 }
    +
    287 if (flag == 0)
    +
    288 std::cout << "Vectors are linearly dependent\n";
    +
    289 return 0;
    +
    290}
    +
    +
    double projection(const std::array< double, 10 > &x, const std::array< double, 10 > &y, const int &c)
    +
    static void test()
    +
    double dot_product(const std::array< double, 10 > &x, const std::array< double, 10 > &y, const int &c)
    +
    int main()
    Main Function.
    +
    Functions for Gram Schmidt Orthogonalisation Process
    + +
    +
    + + + + diff --git a/d5/d39/namespaceactivations.html b/d5/d39/namespaceactivations.html index dcd1f173e..963b77027 100644 --- a/d5/d39/namespaceactivations.html +++ b/d5/d39/namespaceactivations.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: activations Namespace Reference +TheAlgorithms/C++: activations Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/d5/d3c/namespacedata__structures.html b/d5/d3c/namespacedata__structures.html index 3ad71ada8..f4227f5f6 100644 --- a/d5/d3c/namespacedata__structures.html +++ b/d5/d3c/namespacedata__structures.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: data_structures Namespace Reference +TheAlgorithms/C++: data_structures Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + @@ -146,59 +163,57 @@ Classes
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    - + - + - + - +

    Functions

    static std::size_t hashDJB2 (std::string const &s)
    static std::size_t hashDJB2 (std::string const &s)
     Function djb2 to get hash for the given string.
     
    static std::size_t hashStr (std::string const &s)
    static std::size_t hashStr (std::string const &s)
     Hash function, to get hash for the given string.
     
    std::size_t hashInt_1 (int x)
    std::size_t hashInt_1 (int x)
     Hash function for test
     
    std::size_t hashInt_2 (int x)
    std::size_t hashInt_2 (int x)
     Hash function for test
     
    - - + + - - + +

    Variables

    -constexpr int MAX_LEVEL = 2
     Maximum level of skip list.
    constexpr int MAX_LEVEL = 2
     Maximum level of skip list.
     
    -constexpr float PROBABILITY = 0.5
     Current probability for "coin toss".
    constexpr float PROBABILITY = 0.5
     Current probability for "coin toss".
     

    Detailed Description

    for IO operations

    -

    for std::vector

    +

    for std::vector

    Stack Data Structure Using the Queue Data Structure.

    -

    For std::out_of_range.

    +

    For std::out_of_range.

    Data-structure algorithms.

    For assert.

    for managing dynamic storage

    Algorithms with data structures.

    for assert

    Data Structures algorithms.

    -

    for assert for list of hash functions for bloom filter constructor for initializer_list for bloom filter constructor for testing on strings for std::vector

    +

    for assert for list of hash functions for bloom filter constructor for initializer_list for bloom filter constructor for testing on strings for std::vector

    Data Structures algorithms

    -

    for std::array for io operations

    +

    for std::array for io operations

    Algorithms with data structures

    for assert for I/O operations

    Data Structures algorithms

    -

    For IO operations For std::vector For std::min and std::max

    -

    for std::array for IO operations

    +

    For IO operations For std::vector For std::min and std::max

    +

    for std::array for IO operations

    Data Structures algorithms

    -

    For std::assert For std::cout For std::unique_ptr

    +

    For std::assert For std::cout For std::unique_ptr

    data_structures

    Using 2 Queues inside the Stack class, we can easily implement Stack data structure with heavy computation in push function.

    References used: StudyTonight

    Author
    tushar2407 for assert for IO operations for queue data structure

    Data structures algorithms

    For array For IO operations

    Data Structures

    -

    for std::array for assert for std::ofstream for std::cout for std::unique_ptr for std::queue for std::to_string

    -

    for assert for IO operations for std::shared_ptr for std::stack for std::unordered_map

    +

    for std::array for assert for std::ofstream for std::cout for std::unique_ptr for std::queue for std::to_string

    +

    for assert for IO operations for std::shared_ptr for std::stack for std::unordered_map

    Data structures algorithms

    Function Documentation

    @@ -211,9 +226,9 @@ constexpr float PROBABILIT - + - +
    static std::size_t data_structures::hashDJB2 static std::size_t data_structures::hashDJB2 (std::string const & s)std::string const & s)
    @@ -232,14 +247,15 @@ constexpr float PROBABILIT
    Returns
    hash for a string
    + +

    Definition at line 166 of file bloom_filter.cpp.

    166 {
    -
    167 std::size_t hash = 5381;
    +
    167 std::size_t hash = 5381;
    168 for (char c : s) {
    169 hash = ((hash << 5) + hash) + c;
    170 }
    171 return hash;
    172}
    -
    @@ -250,7 +266,7 @@ constexpr float PROBABILIT
    - + @@ -266,6 +282,8 @@ constexpr float 
    std::size_t data_structures::hashInt_1 std::size_t data_structures::hashInt_1 ( int x) PROBABILIT
    Returns
    hash for the x parameter
    + +

    Definition at line 199 of file bloom_filter.cpp.

    199 {
    200 x = ((x >> 16) ^ x) * 0x45d9f3b;
    201 x = ((x >> 16) ^ x) * 0x45d9f3b;
    @@ -282,7 +300,7 @@ constexpr float 
    PROBABILIT
    - + @@ -298,10 +316,12 @@ constexpr float  - +
    std::size_t data_structures::hashInt_2 std::size_t data_structures::hashInt_2 ( int x) PROBABILIT
    Returns
    hash for the x parameter
    + +

    Definition at line 213 of file bloom_filter.cpp.

    213 {
    -
    214 auto y = static_cast<std::size_t>(x);
    -
    215 y = (y ^ (y >> 30)) * static_cast<std::size_t>(0xbf58476d1ce4e5b9);
    -
    216 y = (y ^ (y >> 27)) * static_cast<std::size_t>(0x94d049bb133111eb);
    +
    214 auto y = static_cast<std::size_t>(x);
    +
    215 y = (y ^ (y >> 30)) * static_cast<std::size_t>(0xbf58476d1ce4e5b9);
    +
    216 y = (y ^ (y >> 27)) * static_cast<std::size_t>(0x94d049bb133111eb);
    217 y = y ^ (y >> 31);
    218 return y;
    219}
    @@ -318,9 +338,9 @@ constexpr float 
    PROBABILIT - + - +
    static std::size_t data_structures::hashStr static std::size_t data_structures::hashStr (std::string const & s)std::string const & s)
    @@ -339,16 +359,71 @@ constexpr float 
    PROBABILIT
    Returns
    hash for the given string
    + +

    Definition at line 182 of file bloom_filter.cpp.

    182 {
    -
    183 std::size_t hash = 37;
    -
    184 std::size_t primeNum1 = 54059;
    -
    185 std::size_t primeNum2 = 76963;
    +
    183 std::size_t hash = 37;
    +
    184 std::size_t primeNum1 = 54059;
    +
    185 std::size_t primeNum2 = 76963;
    186 for (char c : s) {
    187 hash = (hash * primeNum1) ^ (c * primeNum2);
    188 }
    189 return hash;
    190}
    + + +

    Variable Documentation

    + +

    ◆ MAX_LEVEL

    + +
    +
    + + + + + +
    + + + + +
    int data_structures::MAX_LEVEL = 2
    +
    +constexpr
    +
    + +

    Maximum level of skip list.

    + +

    Definition at line 27 of file skip_list.cpp.

    + +
    +
    + +

    ◆ PROBABILITY

    + +
    +
    + + + + + +
    + + + + +
    float data_structures::PROBABILITY = 0.5
    +
    +constexpr
    +
    + +

    Current probability for "coin toss".

    + +

    Definition at line 28 of file skip_list.cpp.

    +
    diff --git a/d5/d45/sublist__search_8cpp.html b/d5/d45/sublist__search_8cpp.html index 3ec24b41d..e3bfbe1e0 100644 --- a/d5/d45/sublist__search_8cpp.html +++ b/d5/d45/sublist__search_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: search/sublist_search.cpp File Reference +TheAlgorithms/C++: search/sublist_search.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -123,7 +140,9 @@ Include dependency graph for sublist_search.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -147,7 +166,7 @@ Functions - + @@ -178,6 +197,8 @@ Working
  • If the two values don't match, it goes to the next element of the second list. It does this until the two values match.
  • Author
    Nitin Sharma
    + +

    Definition in file sublist_search.cpp.

    Function Documentation

    ◆ deleteList()

    @@ -193,6 +214,8 @@ Working

    Classes

    struct  search::sublist_search::Node
    void search::sublist_search::printLinkedList (Node *start)
     A simple function to print the linked list.
     
    Nodesearch::sublist_search::makeLinkedList (const std::vector< uint64_t > &data)
    Nodesearch::sublist_search::makeLinkedList (const std::vector< uint64_t > &data)
     Give a vector of data, it adds each element of vector in the linked list and return the address of head pointer.
     
    void search::sublist_search::deleteList (Node *const root)
    + +

    Definition at line 101 of file sublist_search.cpp.

    101 {
    102 if (root != NULL) {
    103 deleteList(root->next);
    @@ -234,56 +257,49 @@ Working

    < Sublist to be searched

    < Main list in which sublist is to be searched

    < boolean to check if the sublist exists or not

    + +

    Definition at line 360 of file sublist_search.cpp.

    360 {
    361 test(); // run self-test implementations
    362
    -
    363 std::vector<uint64_t> mainlistData = {
    -
    364 2, 5, 6, 7, 8}; ///< Main list in which sublist is to be searched
    -
    365 std::vector<uint64_t> sublistData = {6, 8}; ///< Sublist to be searched
    +
    363 std::vector<uint64_t> mainlistData = {
    +
    364 2, 5, 6, 7, 8};
    +
    365 std::vector<uint64_t> sublistData = {6, 8};
    366
    367 search::sublist_search::Node *mainlistLL =
    -
    371 sublistData); ///< Main list in which sublist is to be
    -
    372 ///< searched
    -
    373
    +
    371 sublistData);
    +
    373
    375 sublistLL,
    -
    376 mainlistLL); ///< boolean to check if the sublist exists or not
    +
    376 mainlistLL);
    377
    -
    378 std::cout << "Sublist: " << std::endl;
    +
    378 std::cout << "Sublist: " << std::endl;
    380
    -
    381 std::cout << "Main list: " << std::endl;
    +
    381 std::cout << "Main list: " << std::endl;
    - +
    383 std::cout << std::endl;
    384
    385 if (exists) {
    -
    386 std::cout << "[TRUE] - sublist found in main list\n";
    +
    386 std::cout << "[TRUE] - sublist found in main list\n";
    387 } else {
    -
    388 std::cout << "[FALSE] - sublist NOT found in main list\n";
    +
    388 std::cout << "[FALSE] - sublist NOT found in main list\n";
    389 }
    390
    391 deleteList(mainlistLL);
    392 deleteList(sublistLL);
    393 return 0;
    394}
    - -
    T endl(T... args)
    -
    A Node structure representing a single link Node in a linked list.
    Definition sublist_search.cpp:48
    -
    bool sublistSearch(Node *sublist, Node *mainList)
    Main searching function.
    Definition sublist_search.cpp:115
    -
    Node * makeLinkedList(const std::vector< uint64_t > &data)
    Give a vector of data, it adds each element of vector in the linked list and return the address of he...
    Definition sublist_search.cpp:74
    -
    static void test()
    Self-test implementations.
    Definition sublist_search.cpp:349
    -
    void printLinkedList(Node *start)
    A simple function to print the linked list.
    Definition sublist_search.cpp:58
    - -
    bool exists(const std::string &str, const std::unordered_set< std::string > &strSet)
    Function that checks if the string passed in param is present in the the unordered_set passed.
    Definition word_break.cpp:60
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    A Node structure representing a single link Node in a linked list.
    +
    bool sublistSearch(Node *sublist, Node *mainList)
    Main searching function.
    +
    Node * makeLinkedList(const std::vector< uint64_t > &data)
    Give a vector of data, it adds each element of vector in the linked list and return the address of he...
    +
    static void test()
    Self-test implementations.
    +
    void printLinkedList(Node *start)
    A simple function to print the linked list.
    +
    bool exists(const std::string &str, const std::unordered_set< std::string > &strSet)
    Function that checks if the string passed in param is present in the the unordered_set passed.
    +
    @@ -295,7 +311,7 @@ Here is the call graph for this function:
    Node * search::sublist_search::makeLinkedList (const std::vector< uint64_t > & data)const std::vector< uint64_t > & data)
    @@ -310,10 +326,10 @@ Here is the call graph for this function:
    Returns
    Node* A head pointer to the linked list.

    This is used in test cases for rapidly creating linked list with 100+ elements, instead of hard-coding 100 elements in test cases.

    -
    74 {
    -
    75 /// This is used in test cases for rapidly creating linked list with 100+
    -
    76 /// elements, instead of hard-coding 100 elements in test cases.
    -
    77 Node *head = nullptr;
    + +

    Definition at line 74 of file sublist_search.cpp.

    +
    74 {
    +
    77 Node *head = nullptr;
    78 Node *tail = nullptr;
    79 for (int i : data) {
    80 Node *node = new Node;
    @@ -329,16 +345,11 @@ Here is the call graph for this function:
    90 }
    91 return head;
    92}
    -
    struct node { int data; int height; struct node *left; struct node *right;} node
    for std::queue
    Definition avltree.cpp:13
    -
    int data[MAX]
    test data
    Definition hash_search.cpp:24
    -
    Definition linkedlist_implentation_usingarray.cpp:14
    -
    Definition binary_search_tree.cpp:11
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    struct node { int data; int height; struct node *left; struct node *right;} node
    for std::queue
    Definition avltree.cpp:13
    +
    int data[MAX]
    test data
    + + + @@ -364,19 +375,16 @@ Here is the call graph for this function:
    Returns
    void
    + +

    Definition at line 58 of file sublist_search.cpp.

    58 {
    59 while (start != nullptr) {
    -
    60 std::cout << "->" << start->data;
    +
    60 std::cout << "->" << start->data;
    61 start = start->next;
    62 }
    - +
    63 std::cout << std::endl;
    64}
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -416,26 +424,24 @@ false if the sublist is NOT found

    set the target pointer again to stating point of target list.

    set the main pointer to the next element of the main list and repeat the algo.

    If the main list is exhausted, means sublist does not found, return false

    + +

    Definition at line 115 of file sublist_search.cpp.

    115 {
    116 if (sublist == nullptr || mainList == nullptr) {
    117 return false;
    118 }
    -
    119
    -
    120 /// Initialize target pointer to the head node of sublist.
    -
    121 Node *target_ptr = sublist;
    +
    119
    +
    121 Node *target_ptr = sublist;
    122
    -
    123 while (mainList != nullptr) {
    -
    124 /// Initialize main pointer to the current node of main list.
    -
    125 Node *main_ptr = mainList;
    +
    123 while (mainList != nullptr) {
    +
    125 Node *main_ptr = mainList;
    126
    127 while (target_ptr != nullptr) {
    128 if (main_ptr == nullptr) {
    129 return false;
    130
    -
    131 } else if (main_ptr->data == target_ptr->data) {
    -
    132 /// If the data of target node and main node is equal then move
    -
    133 /// to the next node of both lists.
    -
    134 target_ptr = target_ptr->next;
    +
    131 } else if (main_ptr->data == target_ptr->data) {
    +
    134 target_ptr = target_ptr->next;
    135 main_ptr = main_ptr->next;
    136
    137 } else {
    @@ -443,31 +449,18 @@ false if the sublist is NOT found
    139 }
    140 }
    141
    -
    142 if (target_ptr == nullptr) {
    -
    143 /// Is target pointer becomes null that means the target list is
    -
    144 /// been traversed without returning false. Which means the sublist
    -
    145 /// has been found and return ture.
    -
    146 return true;
    +
    142 if (target_ptr == nullptr) {
    +
    146 return true;
    147 }
    -
    148
    -
    149 /// set the target pointer again to stating point of target list.
    -
    150 target_ptr = sublist;
    -
    151
    -
    152 /// set the main pointer to the next element of the main list and repeat
    -
    153 /// the algo.
    -
    154 mainList = mainList->next;
    +
    148
    +
    150 target_ptr = sublist;
    +
    151
    +
    154 mainList = mainList->next;
    155 }
    -
    156
    -
    157 /// If the main list is exhausted, means sublist does not found, return
    -
    158 /// false
    -
    159 return false;
    +
    156
    +
    159 return false;
    160}
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -495,18 +488,15 @@ Here is the call graph for this function:

    Self-test implementations.

    Returns
    void
    + +

    Definition at line 349 of file sublist_search.cpp.

    349 {
    350 TestCases tc;
    351 tc.runTests();
    352}
    -
    class encapsulating the necessary test cases
    Definition inorder_successor_of_bst.cpp:225
    -
    void runTests()
    Executes test cases.
    Definition inorder_successor_of_bst.cpp:243
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    class encapsulating the necessary test cases
    +
    void runTests()
    Executes test cases.
    + diff --git a/d5/d45/sublist__search_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.map b/d5/d45/sublist__search_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.map deleted file mode 100644 index f10a66420..000000000 --- a/d5/d45/sublist__search_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.map +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d5/d45/sublist__search_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.md5 b/d5/d45/sublist__search_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.md5 deleted file mode 100644 index 1684f5199..000000000 --- a/d5/d45/sublist__search_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -ca21cff5322a3f3b35dbb74be354718d \ No newline at end of file diff --git a/d5/d45/sublist__search_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.svg b/d5/d45/sublist__search_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.svg deleted file mode 100644 index d9bbfb001..000000000 --- a/d5/d45/sublist__search_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.svg +++ /dev/null @@ -1,302 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -test - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -TestCases::runTests - - - - - -Node3->Node4 - - - - - - - - -Node4->Node2 - - - - - - - - -Node5 - - -TestCases::log - - - - - -Node4->Node5 - - - - - - - - -Node6 - - -TestCases::testCase_1 - - - - - -Node4->Node6 - - - - - - - - -Node7 - - -TestCases::testCase_2 - - - - - -Node4->Node7 - - - - - - - - -Node8 - - -TestCases::testCase_3 - - - - - -Node4->Node8 - - - - - - - - -Node5->Node2 - - - - - - - - -Node6->Node2 - - - - - - - - -Node6->Node5 - - - - - - - - -Node7->Node2 - - - - - - - - -Node7->Node5 - - - - - - - - -Node8->Node2 - - - - - - - - -Node8->Node5 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d5/d45/sublist__search_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph_org.svg b/d5/d45/sublist__search_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph_org.svg deleted file mode 100644 index 7198a0662..000000000 --- a/d5/d45/sublist__search_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph_org.svg +++ /dev/null @@ -1,219 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -test - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -TestCases::runTests - - - - - -Node3->Node4 - - - - - - - - -Node4->Node2 - - - - - - - - -Node5 - - -TestCases::log - - - - - -Node4->Node5 - - - - - - - - -Node6 - - -TestCases::testCase_1 - - - - - -Node4->Node6 - - - - - - - - -Node7 - - -TestCases::testCase_2 - - - - - -Node4->Node7 - - - - - - - - -Node8 - - -TestCases::testCase_3 - - - - - -Node4->Node8 - - - - - - - - -Node5->Node2 - - - - - - - - -Node6->Node2 - - - - - - - - -Node6->Node5 - - - - - - - - -Node7->Node2 - - - - - - - - -Node7->Node5 - - - - - - - - -Node8->Node2 - - - - - - - - -Node8->Node5 - - - - - - - - diff --git a/d5/d45/sublist__search_8cpp_a4faee403e2758aaab682ed6622ae218c_cgraph.map b/d5/d45/sublist__search_8cpp_a4faee403e2758aaab682ed6622ae218c_cgraph.map deleted file mode 100644 index 595de5a40..000000000 --- a/d5/d45/sublist__search_8cpp_a4faee403e2758aaab682ed6622ae218c_cgraph.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/d5/d45/sublist__search_8cpp_a4faee403e2758aaab682ed6622ae218c_cgraph.md5 b/d5/d45/sublist__search_8cpp_a4faee403e2758aaab682ed6622ae218c_cgraph.md5 deleted file mode 100644 index ffccce7d8..000000000 --- a/d5/d45/sublist__search_8cpp_a4faee403e2758aaab682ed6622ae218c_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -f9ccc630e616ece532fccf944521db9c \ No newline at end of file diff --git a/d5/d45/sublist__search_8cpp_a4faee403e2758aaab682ed6622ae218c_cgraph.svg b/d5/d45/sublist__search_8cpp_a4faee403e2758aaab682ed6622ae218c_cgraph.svg deleted file mode 100644 index 71420a829..000000000 --- a/d5/d45/sublist__search_8cpp_a4faee403e2758aaab682ed6622ae218c_cgraph.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - - - - - - - -search::sublist_search::sublistSearch - - -Node1 - - -search::sublist_search -::sublistSearch - - - - - -Node1->Node1 - - - - - - - - - - - - - diff --git a/d5/d45/sublist__search_8cpp_a4faee403e2758aaab682ed6622ae218c_cgraph_org.svg b/d5/d45/sublist__search_8cpp_a4faee403e2758aaab682ed6622ae218c_cgraph_org.svg deleted file mode 100644 index 4cd5846c5..000000000 --- a/d5/d45/sublist__search_8cpp_a4faee403e2758aaab682ed6622ae218c_cgraph_org.svg +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - -search::sublist_search::sublistSearch - - -Node1 - - -search::sublist_search -::sublistSearch - - - - - -Node1->Node1 - - - - - - - - diff --git a/d5/d45/sublist__search_8cpp_a70ca8d0267008e09cfa50b4e2ddfbe53_cgraph.map b/d5/d45/sublist__search_8cpp_a70ca8d0267008e09cfa50b4e2ddfbe53_cgraph.map deleted file mode 100644 index 0c9baa3bf..000000000 --- a/d5/d45/sublist__search_8cpp_a70ca8d0267008e09cfa50b4e2ddfbe53_cgraph.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/d5/d45/sublist__search_8cpp_a70ca8d0267008e09cfa50b4e2ddfbe53_cgraph.md5 b/d5/d45/sublist__search_8cpp_a70ca8d0267008e09cfa50b4e2ddfbe53_cgraph.md5 deleted file mode 100644 index ddf465382..000000000 --- a/d5/d45/sublist__search_8cpp_a70ca8d0267008e09cfa50b4e2ddfbe53_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -550ed494bc5fcd79642e630f5d0aa11a \ No newline at end of file diff --git a/d5/d45/sublist__search_8cpp_a70ca8d0267008e09cfa50b4e2ddfbe53_cgraph.svg b/d5/d45/sublist__search_8cpp_a70ca8d0267008e09cfa50b4e2ddfbe53_cgraph.svg deleted file mode 100644 index 42580376e..000000000 --- a/d5/d45/sublist__search_8cpp_a70ca8d0267008e09cfa50b4e2ddfbe53_cgraph.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - - - - - - - -search::sublist_search::makeLinkedList - - -Node1 - - -search::sublist_search -::makeLinkedList - - - - - -Node1->Node1 - - - - - - - - - - - - - diff --git a/d5/d45/sublist__search_8cpp_a70ca8d0267008e09cfa50b4e2ddfbe53_cgraph_org.svg b/d5/d45/sublist__search_8cpp_a70ca8d0267008e09cfa50b4e2ddfbe53_cgraph_org.svg deleted file mode 100644 index 4c82cd34e..000000000 --- a/d5/d45/sublist__search_8cpp_a70ca8d0267008e09cfa50b4e2ddfbe53_cgraph_org.svg +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - -search::sublist_search::makeLinkedList - - -Node1 - - -search::sublist_search -::makeLinkedList - - - - - -Node1->Node1 - - - - - - - - diff --git a/d5/d45/sublist__search_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map b/d5/d45/sublist__search_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map deleted file mode 100644 index de38214d8..000000000 --- a/d5/d45/sublist__search_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - diff --git a/d5/d45/sublist__search_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 b/d5/d45/sublist__search_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 deleted file mode 100644 index 8a5e67e52..000000000 --- a/d5/d45/sublist__search_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -d2c5c4cea9e9ad710f2e888f48c03542 \ No newline at end of file diff --git a/d5/d45/sublist__search_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg b/d5/d45/sublist__search_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg deleted file mode 100644 index 0f6139150..000000000 --- a/d5/d45/sublist__search_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg +++ /dev/null @@ -1,275 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -TestCases::runTests - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -TestCases::log - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -TestCases::testCase_1 - - - - - -Node2->Node5 - - - - - - - - -Node6 - - -TestCases::testCase_2 - - - - - -Node2->Node6 - - - - - - - - -Node7 - - -TestCases::testCase_3 - - - - - -Node2->Node7 - - - - - - - - -Node4->Node3 - - - - - - - - -Node5->Node3 - - - - - - - - -Node5->Node4 - - - - - - - - -Node6->Node3 - - - - - - - - -Node6->Node4 - - - - - - - - -Node7->Node3 - - - - - - - - -Node7->Node4 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d5/d45/sublist__search_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg b/d5/d45/sublist__search_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg deleted file mode 100644 index e339729cd..000000000 --- a/d5/d45/sublist__search_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg +++ /dev/null @@ -1,192 +0,0 @@ - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -TestCases::runTests - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -TestCases::log - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -TestCases::testCase_1 - - - - - -Node2->Node5 - - - - - - - - -Node6 - - -TestCases::testCase_2 - - - - - -Node2->Node6 - - - - - - - - -Node7 - - -TestCases::testCase_3 - - - - - -Node2->Node7 - - - - - - - - -Node4->Node3 - - - - - - - - -Node5->Node3 - - - - - - - - -Node5->Node4 - - - - - - - - -Node6->Node3 - - - - - - - - -Node6->Node4 - - - - - - - - -Node7->Node3 - - - - - - - - -Node7->Node4 - - - - - - - - diff --git a/d5/d45/sublist__search_8cpp_ad1028bc215281d62e344af99da57fab2_cgraph.map b/d5/d45/sublist__search_8cpp_ad1028bc215281d62e344af99da57fab2_cgraph.map deleted file mode 100644 index 3c427c88f..000000000 --- a/d5/d45/sublist__search_8cpp_ad1028bc215281d62e344af99da57fab2_cgraph.map +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/d5/d45/sublist__search_8cpp_ad1028bc215281d62e344af99da57fab2_cgraph.md5 b/d5/d45/sublist__search_8cpp_ad1028bc215281d62e344af99da57fab2_cgraph.md5 deleted file mode 100644 index afaa5598d..000000000 --- a/d5/d45/sublist__search_8cpp_ad1028bc215281d62e344af99da57fab2_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -5e8147d99a2fd17885600c4d4d5f070d \ No newline at end of file diff --git a/d5/d45/sublist__search_8cpp_ad1028bc215281d62e344af99da57fab2_cgraph.svg b/d5/d45/sublist__search_8cpp_ad1028bc215281d62e344af99da57fab2_cgraph.svg deleted file mode 100644 index 31c2fe27e..000000000 --- a/d5/d45/sublist__search_8cpp_ad1028bc215281d62e344af99da57fab2_cgraph.svg +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - - - - - - - -search::sublist_search::printLinkedList - - -Node1 - - -search::sublist_search -::printLinkedList - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d5/d45/sublist__search_8cpp_ad1028bc215281d62e344af99da57fab2_cgraph_org.svg b/d5/d45/sublist__search_8cpp_ad1028bc215281d62e344af99da57fab2_cgraph_org.svg deleted file mode 100644 index c13e14572..000000000 --- a/d5/d45/sublist__search_8cpp_ad1028bc215281d62e344af99da57fab2_cgraph_org.svg +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - -search::sublist_search::printLinkedList - - -Node1 - - -search::sublist_search -::printLinkedList - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - diff --git a/d5/d45/sublist__search_8cpp_source.html b/d5/d45/sublist__search_8cpp_source.html new file mode 100644 index 000000000..83553ae51 --- /dev/null +++ b/d5/d45/sublist__search_8cpp_source.html @@ -0,0 +1,456 @@ + + + + + + + + +TheAlgorithms/C++: search/sublist_search.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    sublist_search.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    28#include <cassert>
    +
    29#include <cstdint>
    +
    30#include <iostream>
    +
    31#include <vector>
    +
    32
    +
    37namespace search {
    +
    44namespace sublist_search {
    +
    +
    48struct Node {
    +
    49 uint32_t data = 0;
    + +
    51};
    +
    +
    52
    +
    +
    58void printLinkedList(Node *start) {
    +
    59 while (start != nullptr) {
    +
    60 std::cout << "->" << start->data;
    +
    61 start = start->next;
    +
    62 }
    +
    63 std::cout << std::endl;
    +
    64}
    +
    +
    65
    +
    +
    74Node *makeLinkedList(const std::vector<uint64_t> &data) {
    +
    77 Node *head = nullptr;
    +
    78 Node *tail = nullptr;
    +
    79 for (int i : data) {
    +
    80 Node *node = new Node;
    +
    81 node->data = i;
    +
    82 node->next = nullptr;
    +
    83 if (head == nullptr) {
    +
    84 head = node;
    +
    85 tail = node;
    +
    86 } else {
    +
    87 tail->next = node;
    +
    88 tail = tail->next;
    +
    89 }
    +
    90 }
    +
    91 return head;
    +
    92}
    +
    +
    93
    +
    94/*
    +
    95 * @brief This function dealocates memory related to the given list
    +
    96 * It recursively deletes all of the nodes of the input list.
    +
    97 * @param room the root/head of the input list
    +
    98 * @warning Plese note that the memory for each node has to be alocated using
    +
    99 * new.
    +
    100 */
    +
    101void deleteList(Node *const root) {
    +
    102 if (root != NULL) {
    +
    103 deleteList(root->next);
    +
    104 delete root;
    +
    105 }
    +
    106}
    +
    107
    +
    +
    115bool sublistSearch(Node *sublist, Node *mainList) {
    +
    116 if (sublist == nullptr || mainList == nullptr) {
    +
    117 return false;
    +
    118 }
    +
    119
    +
    121 Node *target_ptr = sublist;
    +
    122
    +
    123 while (mainList != nullptr) {
    +
    125 Node *main_ptr = mainList;
    +
    126
    +
    127 while (target_ptr != nullptr) {
    +
    128 if (main_ptr == nullptr) {
    +
    129 return false;
    +
    130
    +
    131 } else if (main_ptr->data == target_ptr->data) {
    +
    134 target_ptr = target_ptr->next;
    +
    135 main_ptr = main_ptr->next;
    +
    136
    +
    137 } else {
    +
    138 break;
    +
    139 }
    +
    140 }
    +
    141
    +
    142 if (target_ptr == nullptr) {
    +
    146 return true;
    +
    147 }
    +
    148
    +
    150 target_ptr = sublist;
    +
    151
    +
    154 mainList = mainList->next;
    +
    155 }
    +
    156
    +
    159 return false;
    +
    160}
    +
    +
    161
    +
    162} // namespace sublist_search
    +
    163} // namespace search
    +
    164
    +
    168class TestCases {
    +
    169 private:
    +
    175 template <typename T>
    +
    +
    176 void log(T msg) {
    +
    177 // It's just to avoid writing cout and endl
    +
    178 std::cout << "[TESTS] : ---> " << msg << std::endl;
    +
    179 }
    +
    +
    180
    +
    181 public:
    +
    +
    186 void runTests() {
    +
    187 log("Running Tests...");
    +
    188
    +
    189 testCase_1();
    +
    190 testCase_2();
    +
    191 testCase_3();
    +
    192
    +
    193 log("Test Cases over!");
    +
    194 std::cout << std::endl;
    +
    195 }
    +
    +
    196
    +
    +
    201 void testCase_1() {
    +
    202 const bool expectedOutput = true;
    +
    203
    +
    204 log("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
    +
    205 "~");
    +
    206 log("This is test case 1 for sublist search Algorithm : ");
    +
    207 log("Description:");
    +
    208 log(" EDGE CASE : Only contains one element");
    +
    209
    +
    210 std::vector<uint64_t> sublistData = {
    +
    211 6};
    +
    212 std::vector<uint64_t> mainlistData = {
    +
    213 2, 5, 6, 7,
    +
    214 8};
    +
    215
    + +
    217 search::sublist_search::makeLinkedList(
    +
    218 sublistData);
    +
    219 search::sublist_search::Node *mainlistLL =
    +
    220 search::sublist_search::makeLinkedList(
    +
    221 mainlistData);
    +
    223
    +
    224 bool exists = search::sublist_search::sublistSearch(
    +
    225 sublistLL, mainlistLL);
    +
    226
    +
    227 log("Checking assert expression...");
    +
    228 assert(exists == expectedOutput);
    +
    229 log("Assertion check passed!");
    +
    230
    +
    231 log("[PASS] : TEST CASE 1 PASS!");
    +
    232 log("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
    +
    233 "~");
    +
    234
    +
    235 deleteList(mainlistLL);
    +
    236 deleteList(sublistLL);
    +
    237 }
    +
    +
    238
    +
    +
    244 void testCase_2() {
    +
    245 const bool expectedOutput = true;
    +
    246
    +
    247 log("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
    +
    248 "~");
    +
    249 log("This is test case 2 for sublist search Algorithm : ");
    +
    250 log("Description:");
    +
    251 log(" contains main list of 100 elements and sublist of 20");
    +
    252
    +
    253 std::vector<uint64_t> sublistData(
    +
    254 20);
    +
    255 std::vector<uint64_t> mainlistData(
    +
    256 100);
    +
    257
    +
    258 for (int i = 0; i < 100; i++) {
    +
    260 mainlistData[i] = i + 1;
    +
    261 }
    +
    262
    +
    263 int temp = 0;
    +
    264 for (int i = 45; i < 65; i++) {
    +
    266 sublistData[temp] = i + 1;
    +
    267 temp++;
    +
    268 }
    +
    269
    + +
    271 search::sublist_search::makeLinkedList(
    +
    272 sublistData);
    +
    273 search::sublist_search::Node *mainlistLL =
    +
    274 search::sublist_search::makeLinkedList(
    +
    275 mainlistData);
    +
    277
    +
    278 bool exists = search::sublist_search::sublistSearch(
    +
    279 sublistLL, mainlistLL);
    +
    280
    +
    281 log("Checking assert expression...");
    +
    282 assert(exists == expectedOutput);
    +
    283 log("Assertion check passed!");
    +
    284
    +
    285 log("[PASS] : TEST CASE 2 PASS!");
    +
    286 log("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
    +
    287 "~");
    +
    288
    +
    289 deleteList(mainlistLL);
    +
    290 deleteList(sublistLL);
    +
    291 }
    +
    +
    292
    +
    +
    298 void testCase_3() {
    +
    299 const bool expectedOutput = false;
    +
    300
    +
    301 log("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
    +
    302 "~");
    +
    303 log("This is test case 3 for sublist search Algorithm : ");
    +
    304 log("Description:");
    +
    305 log(" contains main list of 50 elements and sublist of 20");
    +
    306
    +
    307 std::vector<uint64_t> sublistData(20);
    +
    308 std::vector<uint64_t> mainlistData(
    +
    309 50);
    +
    310
    +
    311 for (int i = 0; i < 50; i++) {
    +
    313 mainlistData.push_back(i + 1);
    +
    314 }
    +
    315
    +
    316 for (int i = 45; i < 65; i++) {
    +
    318 sublistData.push_back(i + 1);
    +
    319 }
    +
    320
    + +
    322 search::sublist_search::makeLinkedList(
    +
    323 sublistData);
    +
    324 search::sublist_search::Node *mainlistLL =
    +
    325 search::sublist_search::makeLinkedList(
    +
    326 mainlistData);
    +
    328
    +
    329 bool exists = search::sublist_search::sublistSearch(
    +
    330 sublistLL, mainlistLL);
    +
    331
    +
    332 log("Checking assert expression...");
    +
    333 assert(exists == expectedOutput);
    +
    334 log("Assertion check passed!");
    +
    335
    +
    336 log("[PASS] : TEST CASE 3 PASS!");
    +
    337 log("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
    +
    338 "~");
    +
    339
    +
    340 deleteList(mainlistLL);
    +
    341 deleteList(sublistLL);
    +
    342 }
    +
    +
    343};
    +
    344
    +
    +
    349static void test() {
    +
    350 TestCases tc;
    +
    351 tc.runTests();
    +
    352}
    +
    +
    353
    +
    +
    360int main(int argc, char *argv[]) {
    +
    361 test(); // run self-test implementations
    +
    362
    +
    363 std::vector<uint64_t> mainlistData = {
    +
    364 2, 5, 6, 7, 8};
    +
    365 std::vector<uint64_t> sublistData = {6, 8};
    +
    366
    +
    367 search::sublist_search::Node *mainlistLL =
    +
    368 search::sublist_search::makeLinkedList(mainlistData);
    + +
    370 search::sublist_search::makeLinkedList(
    +
    371 sublistData);
    +
    373
    +
    374 bool exists = search::sublist_search::sublistSearch(
    +
    375 sublistLL,
    +
    376 mainlistLL);
    +
    377
    +
    378 std::cout << "Sublist: " << std::endl;
    +
    379 search::sublist_search::printLinkedList(sublistLL);
    +
    380
    +
    381 std::cout << "Main list: " << std::endl;
    +
    382 search::sublist_search::printLinkedList(mainlistLL);
    +
    383 std::cout << std::endl;
    +
    384
    +
    385 if (exists) {
    +
    386 std::cout << "[TRUE] - sublist found in main list\n";
    +
    387 } else {
    +
    388 std::cout << "[FALSE] - sublist NOT found in main list\n";
    +
    389 }
    +
    390
    +
    391 deleteList(mainlistLL);
    +
    392 deleteList(sublistLL);
    +
    393 return 0;
    +
    394}
    +
    +
    struct node { int data; int height; struct node *left; struct node *right;} node
    for std::queue
    Definition avltree.cpp:13
    +
    class encapsulating the necessary test cases
    +
    void log(T msg)
    A function to print given message on console.
    +
    void testCase_2()
    A test case which contains main list of 100 elements and sublist of 20.
    +
    void testCase_1()
    A test case contains edge case, printing inorder successor of last node.
    +
    void testCase_3()
    A test case which contains main list of 50 elements and sublist of 20.
    +
    void runTests()
    Executes test cases.
    +
    int main()
    Main function.
    +
    int data[MAX]
    test data
    +
    for std::assert
    +
    Functions for the Sublist Search implementation.
    + + +
    A Node structure representing a single link Node in a linked list.
    +
    uint32_t data
    the key/value of the node
    +
    Node * next
    pointer to the next node
    +
    bool sublistSearch(Node *sublist, Node *mainList)
    Main searching function.
    +
    Node * makeLinkedList(const std::vector< uint64_t > &data)
    Give a vector of data, it adds each element of vector in the linked list and return the address of he...
    +
    static void test()
    Self-test implementations.
    +
    void printLinkedList(Node *start)
    A simple function to print the linked list.
    +
    +
    + + + + diff --git a/d5/d46/classdata__structures_1_1trie__using__hashmap_1_1_trie-members.html b/d5/d46/classdata__structures_1_1trie__using__hashmap_1_1_trie-members.html index 4463555dc..319ace1f5 100644 --- a/d5/d46/classdata__structures_1_1trie__using__hashmap_1_1_trie-members.html +++ b/d5/d46/classdata__structures_1_1trie__using__hashmap_1_1_trie-members.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Member List +TheAlgorithms/C++: Member List + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/d5/d4c/group__sorting.html b/d5/d4c/group__sorting.html index d4627fb12..dbc5061b9 100644 --- a/d5/d4c/group__sorting.html +++ b/d5/d4c/group__sorting.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Sorting Algorithm +TheAlgorithms/C++: Sorting Algorithm + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + @@ -144,7 +161,7 @@ Functions - + @@ -175,7 +192,7 @@ template<typename T > - +
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    int main ()
     
    template<typename T >
    static void displayElements (const std::vector< T > &arr)
    static void displayElements (const std::vector< T > &arr)
     Utility function used for printing the elements. Prints elements of the array after they're sorted using wiggle sort algorithm.
     
    static void test ()
    static void displayElements (const std::vector< T > & arr)const std::vector< T > & arr)
    @@ -193,33 +210,27 @@ template<typename T >
    -
    Examples
    /Users/runner/work/C-Plus-Plus/C-Plus-Plus/sorting/wiggle_sort.cpp.
    +
    Examples
    /Users/runner/work/C-Plus-Plus/C-Plus-Plus/sorting/wiggle_sort.cpp.
    + +

    Definition at line 86 of file wiggle_sort.cpp.

    86 {
    -
    87 uint32_t size = arr.size();
    +
    87 uint32_t size = arr.size();
    88
    -
    89 std::cout << "Sorted elements are as follows: ";
    +
    89 std::cout << "Sorted elements are as follows: ";
    90
    -
    91 std::cout << "[";
    +
    91 std::cout << "[";
    92
    93 for (int i = 0; i < size; i++) {
    -
    94 std::cout << arr[i];
    +
    94 std::cout << arr[i];
    95 if (i != size - 1) {
    -
    96 std::cout << ", ";
    +
    96 std::cout << ", ";
    97 }
    98 }
    99
    -
    100 std::cout << "]" << std::endl;
    +
    100 std::cout << "]" << std::endl;
    101}
    - -
    T endl(T... args)
    -
    T size(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    @@ -247,6 +258,8 @@ template<typename T >
    + +

    Definition at line 58 of file heap_sort.cpp.

    58 {
    59 int largest = i;
    60 int l = 2 * i + 1;
    @@ -259,11 +272,10 @@ template<typename T >
    67 largest = r;
    68
    69 if (largest != i) {
    -
    70 std::swap(arr[i], arr[largest]);
    +
    70 std::swap(arr[i], arr[largest]);
    71 heapify(arr, n, largest);
    72 }
    73}
    -
    T swap(T... args)
    @@ -295,20 +307,17 @@ template<typename T > + +

    Definition at line 84 of file heap_sort.cpp.

    84 {
    85 for (int i = n - 1; i >= 0; i--) heapify(arr, n, i);
    86
    87 for (int i = n - 1; i >= 0; i--) {
    -
    88 std::swap(arr[0], arr[i]);
    +
    88 std::swap(arr[0], arr[i]);
    89 heapify(arr, i, 0);
    90 }
    91}
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -327,29 +336,25 @@ Here is the call graph for this function:

    Main function

    Driver Code

    + +

    Definition at line 90 of file merge_sort.cpp.

    90 {
    91 int size;
    -
    92 std::cout << "Enter the number of elements : ";
    -
    93 std::cin >> size;
    +
    92 std::cout << "Enter the number of elements : ";
    +
    93 std::cin >> size;
    94 int *arr = new int[size];
    -
    95 std::cout << "Enter the unsorted elements : ";
    +
    95 std::cout << "Enter the unsorted elements : ";
    96 for (int i = 0; i < size; ++i) {
    -
    97 std::cin >> arr[i];
    +
    97 std::cin >> arr[i];
    98 }
    99 mergeSort(arr, 0, size - 1);
    -
    100 std::cout << "Sorted array : ";
    +
    100 std::cout << "Sorted array : ";
    101 show(arr, size);
    102 delete[] arr;
    103 return 0;
    104}
    - -
    void mergeSort(int *arr, int l, int r)
    Definition merge_sort.cpp:71
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    void mergeSort(int *arr, int l, int r)
    +
    @@ -396,6 +401,8 @@ Here is the call graph for this function: + +

    Definition at line 33 of file merge_sort.cpp.

    33 {
    34 int i, j, k;
    35 int n1 = m - l + 1;
    @@ -423,7 +430,7 @@ Here is the call graph for this function:
    57 delete[] L;
    58 delete[] R;
    59}
    -
    double k(double x)
    Another test function.
    Definition composite_simpson_rule.cpp:117
    +
    double k(double x)
    Another test function.
    @@ -459,6 +466,8 @@ Here is the call graph for this function: + +

    Definition at line 71 of file merge_sort.cpp.

    71 {
    72 if (l < r) {
    73 int m = l + (r - l) / 2;
    @@ -467,13 +476,8 @@ Here is the call graph for this function:
    76 merge(arr, l, m, r);
    77 }
    78}
    -
    void merge(int *arr, int l, int m, int r)
    Definition merge_sort.cpp:33
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    void merge(int *arr, int l, int m, int r)
    + @@ -495,9 +499,11 @@ Here is the call graph for this function:

    Utility function used to print the array after sorting

    + +

    Definition at line 84 of file merge_sort.cpp.

    84 {
    -
    85 for (int i = 0; i < size; i++) std::cout << arr[i] << " ";
    -
    86 std::cout << "\n";
    +
    85 for (int i = 0; i < size; i++) std::cout << arr[i] << " ";
    +
    86 std::cout << "\n";
    87}
    @@ -525,15 +531,17 @@ Here is the call graph for this function:

    Test function

    Returns
    void
    + +

    Definition at line 107 of file wiggle_sort.cpp.

    107 {
    -
    108 std::srand(std::time(nullptr)); // initialize random number generator
    +
    108 std::srand(std::time(nullptr)); // initialize random number generator
    109
    -
    110 std::vector<float> data1(100);
    +
    110 std::vector<float> data1(100);
    111 for (auto &d : data1) { // generate random numbers between -5.0 and 4.99
    -
    112 d = float(std::rand() % 1000 - 500) / 100.f;
    +
    112 d = float(std::rand() % 1000 - 500) / 100.f;
    113 }
    114
    -
    115 std::vector<float> sorted = sorting::wiggle_sort::wiggleSort<float>(data1);
    +
    115 std::vector<float> sorted = sorting::wiggle_sort::wiggleSort<float>(data1);
    116
    117 displayElements(sorted);
    118
    @@ -542,19 +550,10 @@ Here is the call graph for this function:
    121 data1[j + 1] >= data1[j + 2]); // check the validation condition
    122 }
    123
    -
    124 std::cout << "Test 1 passed\n";
    +
    124 std::cout << "Test 1 passed\n";
    125}
    -
    static void displayElements(const std::vector< T > &arr)
    Utility function used for printing the elements. Prints elements of the array after they're sorted us...
    Definition wiggle_sort.cpp:86
    -
    T rand(T... args)
    -
    T srand(T... args)
    -
    T time(T... args)
    - -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static void displayElements(const std::vector< T > &arr)
    Utility function used for printing the elements. Prints elements of the array after they're sorted us...
    + diff --git a/d5/d4c/group__sorting_ga135e4c638e3bcf548bd122b5f49a3e72_cgraph.map b/d5/d4c/group__sorting_ga135e4c638e3bcf548bd122b5f49a3e72_cgraph.map deleted file mode 100644 index 673bd5acd..000000000 --- a/d5/d4c/group__sorting_ga135e4c638e3bcf548bd122b5f49a3e72_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/d5/d4c/group__sorting_ga135e4c638e3bcf548bd122b5f49a3e72_cgraph.md5 b/d5/d4c/group__sorting_ga135e4c638e3bcf548bd122b5f49a3e72_cgraph.md5 deleted file mode 100644 index dcd04d46a..000000000 --- a/d5/d4c/group__sorting_ga135e4c638e3bcf548bd122b5f49a3e72_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -1442fc5b3cf0c68c47301184d2ba4f06 \ No newline at end of file diff --git a/d5/d4c/group__sorting_ga135e4c638e3bcf548bd122b5f49a3e72_cgraph.svg b/d5/d4c/group__sorting_ga135e4c638e3bcf548bd122b5f49a3e72_cgraph.svg deleted file mode 100644 index 89eb840f8..000000000 --- a/d5/d4c/group__sorting_ga135e4c638e3bcf548bd122b5f49a3e72_cgraph.svg +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - -displayElements - - -Node1 - - -displayElements - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::vector::size - - - - - -Node1->Node3 - - - - - - - - - - - - - diff --git a/d5/d4c/group__sorting_ga135e4c638e3bcf548bd122b5f49a3e72_cgraph_org.svg b/d5/d4c/group__sorting_ga135e4c638e3bcf548bd122b5f49a3e72_cgraph_org.svg deleted file mode 100644 index 9adab3b25..000000000 --- a/d5/d4c/group__sorting_ga135e4c638e3bcf548bd122b5f49a3e72_cgraph_org.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - -displayElements - - -Node1 - - -displayElements - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::vector::size - - - - - -Node1->Node3 - - - - - - - - diff --git a/d5/d4c/group__sorting_ga29d28b140174dbdde7c9f5157758435f_cgraph.map b/d5/d4c/group__sorting_ga29d28b140174dbdde7c9f5157758435f_cgraph.map deleted file mode 100644 index 091c55e50..000000000 --- a/d5/d4c/group__sorting_ga29d28b140174dbdde7c9f5157758435f_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d5/d4c/group__sorting_ga29d28b140174dbdde7c9f5157758435f_cgraph.md5 b/d5/d4c/group__sorting_ga29d28b140174dbdde7c9f5157758435f_cgraph.md5 deleted file mode 100644 index 630bbe4b8..000000000 --- a/d5/d4c/group__sorting_ga29d28b140174dbdde7c9f5157758435f_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -6ab57ead0e1fa927d2e6f118a7ddde2e \ No newline at end of file diff --git a/d5/d4c/group__sorting_ga29d28b140174dbdde7c9f5157758435f_cgraph.svg b/d5/d4c/group__sorting_ga29d28b140174dbdde7c9f5157758435f_cgraph.svg deleted file mode 100644 index 08f5a8dac..000000000 --- a/d5/d4c/group__sorting_ga29d28b140174dbdde7c9f5157758435f_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -heapSort - - -Node1 - - -heapSort - - - - - -Node2 - - -std::swap - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d5/d4c/group__sorting_ga29d28b140174dbdde7c9f5157758435f_cgraph_org.svg b/d5/d4c/group__sorting_ga29d28b140174dbdde7c9f5157758435f_cgraph_org.svg deleted file mode 100644 index 3504bf10f..000000000 --- a/d5/d4c/group__sorting_ga29d28b140174dbdde7c9f5157758435f_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -heapSort - - -Node1 - - -heapSort - - - - - -Node2 - - -std::swap - - - - - -Node1->Node2 - - - - - - - - diff --git a/d5/d4c/group__sorting_gaa8dca7b867074164d5f45b0f3851269d_cgraph.map b/d5/d4c/group__sorting_gaa8dca7b867074164d5f45b0f3851269d_cgraph.map deleted file mode 100644 index 5a557027e..000000000 --- a/d5/d4c/group__sorting_gaa8dca7b867074164d5f45b0f3851269d_cgraph.map +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - - - - - diff --git a/d5/d4c/group__sorting_gaa8dca7b867074164d5f45b0f3851269d_cgraph.md5 b/d5/d4c/group__sorting_gaa8dca7b867074164d5f45b0f3851269d_cgraph.md5 deleted file mode 100644 index a42f93232..000000000 --- a/d5/d4c/group__sorting_gaa8dca7b867074164d5f45b0f3851269d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -ad3d480613e96d531fd3d5a1d63bed59 \ No newline at end of file diff --git a/d5/d4c/group__sorting_gaa8dca7b867074164d5f45b0f3851269d_cgraph.svg b/d5/d4c/group__sorting_gaa8dca7b867074164d5f45b0f3851269d_cgraph.svg deleted file mode 100644 index 1113ae328..000000000 --- a/d5/d4c/group__sorting_gaa8dca7b867074164d5f45b0f3851269d_cgraph.svg +++ /dev/null @@ -1,164 +0,0 @@ - - - - - - - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -displayElements - - - - - -Node1->Node2 - - - - - - - - -Node4 - - -std::vector::size - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::rand - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -std::srand - - - - - -Node1->Node6 - - - - - - - - -Node7 - - -std::time - - - - - -Node1->Node7 - - - - - - - - -Node3 - - -std::endl - - - - - -Node2->Node3 - - - - - - - - -Node2->Node4 - - - - - - - - - - - - - diff --git a/d5/d4c/group__sorting_gaa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg b/d5/d4c/group__sorting_gaa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg deleted file mode 100644 index 7162552cf..000000000 --- a/d5/d4c/group__sorting_gaa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg +++ /dev/null @@ -1,138 +0,0 @@ - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -displayElements - - - - - -Node1->Node2 - - - - - - - - -Node4 - - -std::vector::size - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::rand - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -std::srand - - - - - -Node1->Node6 - - - - - - - - -Node7 - - -std::time - - - - - -Node1->Node7 - - - - - - - - -Node3 - - -std::endl - - - - - -Node2->Node3 - - - - - - - - -Node2->Node4 - - - - - - - - diff --git a/d5/d4c/group__sorting_gab6b14fea48d9841e29b9fc26be6e05d7_cgraph.map b/d5/d4c/group__sorting_gab6b14fea48d9841e29b9fc26be6e05d7_cgraph.map deleted file mode 100644 index 6c062200a..000000000 --- a/d5/d4c/group__sorting_gab6b14fea48d9841e29b9fc26be6e05d7_cgraph.map +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/d5/d4c/group__sorting_gab6b14fea48d9841e29b9fc26be6e05d7_cgraph.md5 b/d5/d4c/group__sorting_gab6b14fea48d9841e29b9fc26be6e05d7_cgraph.md5 deleted file mode 100644 index 5b7c8cbe5..000000000 --- a/d5/d4c/group__sorting_gab6b14fea48d9841e29b9fc26be6e05d7_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -4b438d8d671d5122bcd72fe77cad63e9 \ No newline at end of file diff --git a/d5/d4c/group__sorting_gab6b14fea48d9841e29b9fc26be6e05d7_cgraph.svg b/d5/d4c/group__sorting_gab6b14fea48d9841e29b9fc26be6e05d7_cgraph.svg deleted file mode 100644 index 4ae0b3b38..000000000 --- a/d5/d4c/group__sorting_gab6b14fea48d9841e29b9fc26be6e05d7_cgraph.svg +++ /dev/null @@ -1,74 +0,0 @@ - - - - - - - - - - - - -mergeSort - - -Node1 - - -mergeSort - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -merge - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d5/d4c/group__sorting_gab6b14fea48d9841e29b9fc26be6e05d7_cgraph_org.svg b/d5/d4c/group__sorting_gab6b14fea48d9841e29b9fc26be6e05d7_cgraph_org.svg deleted file mode 100644 index 3b0ea566d..000000000 --- a/d5/d4c/group__sorting_gab6b14fea48d9841e29b9fc26be6e05d7_cgraph_org.svg +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - -mergeSort - - -Node1 - - -mergeSort - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -merge - - - - - -Node1->Node2 - - - - - - - - diff --git a/d5/d4c/group__sorting_gae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d5/d4c/group__sorting_gae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 9060742d2..000000000 --- a/d5/d4c/group__sorting_gae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/d5/d4c/group__sorting_gae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d5/d4c/group__sorting_gae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index f58d9b14f..000000000 --- a/d5/d4c/group__sorting_gae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -8f13ff1903df0c1f0834faffb68915f2 \ No newline at end of file diff --git a/d5/d4c/group__sorting_gae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d5/d4c/group__sorting_gae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 563172b5b..000000000 --- a/d5/d4c/group__sorting_gae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,92 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -mergeSort - - - - - -Node1->Node2 - - - - - - - - -Node2->Node2 - - - - - - - - -Node3 - - -merge - - - - - -Node2->Node3 - - - - - - - - - - - - - diff --git a/d5/d4c/group__sorting_gae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d5/d4c/group__sorting_gae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index a6e815ca2..000000000 --- a/d5/d4c/group__sorting_gae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -mergeSort - - - - - -Node1->Node2 - - - - - - - - -Node2->Node2 - - - - - - - - -Node3 - - -merge - - - - - -Node2->Node3 - - - - - - - - diff --git a/d5/d4d/structciphers_1_1elliptic__curve__key__exchange_1_1_point-members.html b/d5/d4d/structciphers_1_1elliptic__curve__key__exchange_1_1_point-members.html index db85ff1a1..dc8b1e3d8 100644 --- a/d5/d4d/structciphers_1_1elliptic__curve__key__exchange_1_1_point-members.html +++ b/d5/d4d/structciphers_1_1elliptic__curve__key__exchange_1_1_point-members.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Member List +TheAlgorithms/C++: Member List + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/d5/d55/classgraph_1_1_rooted_tree-members.html b/d5/d55/classgraph_1_1_rooted_tree-members.html index af999c480..9c37c7142 100644 --- a/d5/d55/classgraph_1_1_rooted_tree-members.html +++ b/d5/d55/classgraph_1_1_rooted_tree-members.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Member List +TheAlgorithms/C++: Member List + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/d5/d58/class_test_cases.html b/d5/d58/class_test_cases.html index 5f351f2f5..4091e0f3d 100644 --- a/d5/d58/class_test_cases.html +++ b/d5/d58/class_test_cases.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: TestCases Class Reference +TheAlgorithms/C++: TestCases Class Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + @@ -172,6 +189,8 @@ Private Member Functions

    Detailed Description

    class encapsulating the necessary test cases

    a class containing the necessary test cases

    + +

    Definition at line 225 of file inorder_successor_of_bst.cpp.

    Member Function Documentation

    ◆ log() [1/3]

    @@ -206,18 +225,13 @@ template<typename T >
    Returns
    void
    + +

    Definition at line 233 of file inorder_successor_of_bst.cpp.

    233 {
    234 // It's just to avoid writing cout and endl
    -
    235 std::cout << "[TESTS] : ---> " << msg << std::endl;
    +
    235 std::cout << "[TESTS] : ---> " << msg << std::endl;
    236 }
    - -
    T endl(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -253,16 +267,13 @@ template<typename T >
    Returns
    void
    + +

    Definition at line 176 of file sublist_search.cpp.

    176 {
    177 // It's just to avoid writing cout and endl
    -
    178 std::cout << "[TESTS] : ---> " << msg << std::endl;
    +
    178 std::cout << "[TESTS] : ---> " << msg << std::endl;
    179 }
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -298,16 +309,13 @@ template<typename T >
    Returns
    void
    + +

    Definition at line 189 of file random_pivot_quick_sort.cpp.

    189 {
    190 // It's just to avoid writing cout and endl
    -
    191 std::cout << "[TESTS] : ---> " << msg << std::endl;
    +
    191 std::cout << "[TESTS] : ---> " << msg << std::endl;
    192 }
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -335,6 +343,8 @@ Here is the call graph for this function:

    Executes test cases.

    Returns
    void
    + +

    Definition at line 243 of file inorder_successor_of_bst.cpp.

    243 {
    244 log("Running Tests...");
    245
    @@ -343,18 +353,13 @@ Here is the call graph for this function:
    248 testCase_3();
    249
    250 log("Test Cases over!");
    - +
    251 std::cout << std::endl;
    252 }
    -
    void log(T msg)
    A function to print given message on console.
    Definition inorder_successor_of_bst.cpp:233
    -
    void testCase_2()
    A test case which contains main list of 100 elements and sublist of 20.
    Definition inorder_successor_of_bst.cpp:304
    -
    void testCase_1()
    A test case contains edge case, printing inorder successor of last node.
    Definition inorder_successor_of_bst.cpp:259
    -
    void testCase_3()
    A test case which contains main list of 50 elements and sublist of 20.
    Definition inorder_successor_of_bst.cpp:345
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    void log(T msg)
    A function to print given message on console.
    +
    void testCase_2()
    A test case which contains main list of 100 elements and sublist of 20.
    +
    void testCase_1()
    A test case contains edge case, printing inorder successor of last node.
    +
    void testCase_3()
    A test case which contains main list of 50 elements and sublist of 20.
    + @@ -382,6 +387,8 @@ Here is the call graph for this function:

    Executes test cases.

    Returns
    void
    + +

    Definition at line 186 of file sublist_search.cpp.

    186 {
    187 log("Running Tests...");
    188
    @@ -390,14 +397,9 @@ Here is the call graph for this function:
    191 testCase_3();
    192
    193 log("Test Cases over!");
    - +
    194 std::cout << std::endl;
    195 }
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -425,6 +427,8 @@ Here is the call graph for this function:

    Executes test cases.

    Returns
    void
    + +

    Definition at line 199 of file random_pivot_quick_sort.cpp.

    199 {
    200 log("Running Tests...");
    201
    @@ -433,14 +437,9 @@ Here is the call graph for this function:
    204 testCase_3();
    205
    206 log("Test Cases over!");
    - +
    207 std::cout << std::endl;
    208 }
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -474,9 +473,11 @@ Here is the call graph for this function:

    < Printing inorder to cross-verify.

    < The inorder successor node for given data

    memory cleanup!

    + +

    Definition at line 259 of file inorder_successor_of_bst.cpp.

    259 {
    -
    261 *expectedOutput = nullptr; ///< Expected output of this test
    +
    261 *expectedOutput = nullptr;
    262
    263 log("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
    264 log("This is test case 1 : ");
    @@ -486,44 +487,38 @@ Here is the call graph for this function:
    268
    270 nullptr;
    -
    271 std::vector<int64_t> node_data{
    -
    272 20, 3, 5, 6, 2, 23, 45, 78, 21}; ///< Data to make nodes in BST
    +
    271 std::vector<int64_t> node_data{
    +
    272 20, 3, 5, 6, 2, 23, 45, 78, 21};
    273
    275 root,
    -
    276 node_data); ///< Adding nodes to BST
    +
    276 node_data);
    277
    -
    278 std::cout << "Inorder sequence is : ";
    +
    278 std::cout << "Inorder sequence is : ";
    -
    280 root); ///< Printing inorder to cross-verify.
    - +
    280 root);
    +
    281 std::cout << std::endl;
    282
    284 *inorderSuccessor = operations_on_datastructures::
    285 inorder_traversal_of_bst::getInorderSuccessor(
    -
    286 root, 78); ///< The inorder successor node for given data
    +
    286 root, 78);
    287
    288 log("Checking assert expression...");
    289 assert(inorderSuccessor == expectedOutput);
    290 log("Assertion check passed!");
    291
    -
    293 root); /// memory cleanup!
    +
    293 root);
    294
    295 log("[PASS] : TEST CASE 1 PASS!");
    296 log("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
    297 }
    -
    A Node structure representing a single node in BST.
    Definition inorder_successor_of_bst.cpp:56
    -
    Node * makeBST(Node *root, const std::vector< int64_t > &data)
    This function is used in test cases to quickly create BST containing large data instead of hard codin...
    Definition inorder_successor_of_bst.cpp:155
    -
    void printInorder(Node *root)
    Prints the BST in inorder traversal using recursion.
    Definition inorder_successor_of_bst.cpp:136
    -
    void deallocate(Node *rootNode)
    This function clears the memory allocated to entire tree recursively. Its just for clean up the memor...
    Definition inorder_successor_of_bst.cpp:210
    - -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    A Node structure representing a single node in BST.
    +
    Node * makeBST(Node *root, const std::vector< int64_t > &data)
    This function is used in test cases to quickly create BST containing large data instead of hard codin...
    +
    void printInorder(Node *root)
    Prints the BST in inorder traversal using recursion.
    +
    void deallocate(Node *rootNode)
    This function clears the memory allocated to entire tree recursively. Its just for clean up the memor...
    + @@ -557,8 +552,10 @@ Here is the call graph for this function:

    < Sublist to be searched

    < Main list in which sublist is to be searched

    < boolean, if sublist exist or not

    + +

    Definition at line 201 of file sublist_search.cpp.

    201 {
    -
    202 const bool expectedOutput = true; ///< Expected output of this test
    +
    202 const bool expectedOutput = true;
    203
    204 log("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
    205 "~");
    @@ -566,22 +563,21 @@ Here is the call graph for this function:
    207 log("Description:");
    208 log(" EDGE CASE : Only contains one element");
    209
    -
    210 std::vector<uint64_t> sublistData = {
    -
    211 6}; ///< Data to make linked list which will be the sublist
    -
    212 std::vector<uint64_t> mainlistData = {
    +
    210 std::vector<uint64_t> sublistData = {
    +
    211 6};
    +
    212 std::vector<uint64_t> mainlistData = {
    213 2, 5, 6, 7,
    -
    214 8}; ///< Data to make linked list which will be the main list
    +
    214 8};
    215
    -
    218 sublistData); ///< Sublist to be searched
    +
    218 sublistData);
    219 search::sublist_search::Node *mainlistLL =
    -
    221 mainlistData); ///< Main list in which sublist is to be
    -
    222 ///< searched
    -
    223
    +
    221 mainlistData);
    +
    223
    -
    225 sublistLL, mainlistLL); ///< boolean, if sublist exist or not
    +
    225 sublistLL, mainlistLL);
    226
    227 log("Checking assert expression...");
    228 assert(exists == expectedOutput);
    @@ -594,16 +590,11 @@ Here is the call graph for this function:
    235 deleteList(mainlistLL);
    236 deleteList(sublistLL);
    237 }
    -
    A Node structure representing a single link Node in a linked list.
    Definition sublist_search.cpp:48
    -
    bool sublistSearch(Node *sublist, Node *mainList)
    Main searching function.
    Definition sublist_search.cpp:115
    -
    Node * makeLinkedList(const std::vector< uint64_t > &data)
    Give a vector of data, it adds each element of vector in the linked list and return the address of he...
    Definition sublist_search.cpp:74
    -
    bool exists(const std::string &str, const std::unordered_set< std::string > &strSet)
    Function that checks if the string passed in param is present in the the unordered_set passed.
    Definition word_break.cpp:60
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    A Node structure representing a single link Node in a linked list.
    +
    bool sublistSearch(Node *sublist, Node *mainList)
    Main searching function.
    +
    Node * makeLinkedList(const std::vector< uint64_t > &data)
    Give a vector of data, it adds each element of vector in the linked list and return the address of he...
    +
    bool exists(const std::string &str, const std::unordered_set< std::string > &strSet)
    Function that checks if the string passed in param is present in the the unordered_set passed.
    + @@ -631,6 +622,8 @@ Here is the call graph for this function:

    A test case with single input.

    Returns
    void
    + +

    Definition at line 214 of file random_pivot_quick_sort.cpp.

    214 {
    215 const int64_t inputSize = 1;
    216 log("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
    @@ -638,36 +631,27 @@ Here is the call graph for this function:
    218 log("This is test case 1 for Random Pivot Quick Sort Algorithm : ");
    219 log("Description:");
    220 log(" EDGE CASE : Only contains one element");
    -
    221 std::array<int64_t, inputSize> unsorted_arr{2};
    +
    221 std::array<int64_t, inputSize> unsorted_arr{2};
    222
    223 int64_t start = 0;
    -
    224 int64_t end = unsorted_arr.size() - 1; // length - 1
    +
    224 int64_t end = unsorted_arr.size() - 1; // length - 1
    225
    226 log("Running algorithm of data of length 50 ...");
    -
    227 std::array<int64_t, unsorted_arr.size()> sorted_arr =
    +
    227 std::array<int64_t, unsorted_arr.size()> sorted_arr =
    229 end);
    230 log("Algorithm finished!");
    231
    232 log("Checking assert expression...");
    -
    233 assert(std::is_sorted(sorted_arr.begin(), sorted_arr.end()));
    +
    233 assert(std::is_sorted(sorted_arr.begin(), sorted_arr.end()));
    234 log("Assertion check passed!");
    235
    236 log("[PASS] : TEST CASE 1 PASS!");
    237 log("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
    238 "~");
    239 }
    - -
    T end(T... args)
    -
    T is_sorted(T... args)
    -
    std::array< int64_t, size > quickSortRP(std::array< int64_t, size > arr, int64_t start, int64_t end)
    Random pivot quick sort function. This function is the starting point of the algorithm.
    Definition random_pivot_quick_sort.cpp:130
    -
    T size(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    std::array< int64_t, size > quickSortRP(std::array< int64_t, size > arr, int64_t start, int64_t end)
    Random pivot quick sort function. This function is the starting point of the algorithm.
    + @@ -701,48 +685,45 @@ Here is the call graph for this function:

    < Printing inorder to cross-verify.

    < The inorder successor node for given data

    memory cleanup!

    + +

    Definition at line 304 of file inorder_successor_of_bst.cpp.

    304 {
    -
    305 const int expectedOutput = 21; ///< Expected output of this test
    +
    305 const int expectedOutput = 21;
    306
    307 log("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
    308 log("This is test case 2 : ");
    309
    311 nullptr;
    -
    312 std::vector<int64_t> node_data{
    -
    313 20, 3, 5, 6, 2, 23, 45, 78, 21}; ///< Data to make nodes in BST
    +
    312 std::vector<int64_t> node_data{
    +
    313 20, 3, 5, 6, 2, 23, 45, 78, 21};
    314
    316 root,
    -
    317 node_data); ///< Adding nodes to BST
    +
    317 node_data);
    318
    -
    319 std::cout << "Inorder sequence is : ";
    +
    319 std::cout << "Inorder sequence is : ";
    -
    321 root); ///< Printing inorder to cross-verify.
    - +
    321 root);
    +
    322 std::cout << std::endl;
    323
    325 *inorderSuccessor = operations_on_datastructures::
    326 inorder_traversal_of_bst::getInorderSuccessor(
    -
    327 root, 20); ///< The inorder successor node for given data
    +
    327 root, 20);
    328
    329 log("Checking assert expression...");
    330 assert(inorderSuccessor->data == expectedOutput);
    331 log("Assertion check passed!");
    332
    -
    334 root); /// memory cleanup!
    +
    334 root);
    335
    336 log("[PASS] : TEST CASE 2 PASS!");
    337 log("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
    338 }
    -
    int64_t data
    The key/value of the node.
    Definition inorder_successor_of_bst.cpp:58
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + + @@ -778,8 +759,10 @@ Here is the call graph for this function:

    < Sublist to be searched

    < Main list in which sublist is to be searched

    < boolean, if sublist exist or not

    + +

    Definition at line 244 of file sublist_search.cpp.

    244 {
    -
    245 const bool expectedOutput = true; /// Expected output of this test
    +
    245 const bool expectedOutput = true;
    246
    247 log("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
    248 "~");
    @@ -787,33 +770,30 @@ Here is the call graph for this function:
    250 log("Description:");
    251 log(" contains main list of 100 elements and sublist of 20");
    252
    -
    253 std::vector<uint64_t> sublistData(
    -
    254 20); ///< Data to make linked list which will be the sublist
    -
    255 std::vector<uint64_t> mainlistData(
    -
    256 100); ///< Main list in which sublist is to be searched
    +
    253 std::vector<uint64_t> sublistData(
    +
    254 20);
    +
    255 std::vector<uint64_t> mainlistData(
    +
    256 100);
    257
    -
    258 for (int i = 0; i < 100; i++) {
    -
    259 /// Inserts 100 elements in main list
    -
    260 mainlistData[i] = i + 1;
    +
    258 for (int i = 0; i < 100; i++) {
    +
    260 mainlistData[i] = i + 1;
    261 }
    262
    263 int temp = 0;
    -
    264 for (int i = 45; i < 65; i++) {
    -
    265 /// Inserts 20 elements in sublist
    -
    266 sublistData[temp] = i + 1;
    +
    264 for (int i = 45; i < 65; i++) {
    +
    266 sublistData[temp] = i + 1;
    267 temp++;
    268 }
    269
    -
    272 sublistData); ///< Sublist to be searched
    +
    272 sublistData);
    273 search::sublist_search::Node *mainlistLL =
    -
    275 mainlistData); ///< Main list in which sublist is to be
    -
    276 ///< searched
    -
    277
    +
    275 mainlistData);
    +
    277
    -
    279 sublistLL, mainlistLL); ///< boolean, if sublist exist or not
    +
    279 sublistLL, mainlistLL);
    280
    281 log("Checking assert expression...");
    282 assert(exists == expectedOutput);
    @@ -826,12 +806,7 @@ Here is the call graph for this function:
    289 deleteList(mainlistLL);
    290 deleteList(sublistLL);
    291 }
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -859,6 +834,8 @@ Here is the call graph for this function:

    A test case with input array of length 500.

    Returns
    void
    + +

    Definition at line 245 of file random_pivot_quick_sort.cpp.

    245 {
    246 const int64_t inputSize = 500;
    247 log("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
    @@ -866,33 +843,28 @@ Here is the call graph for this function:
    249 log("Description:");
    250 log(" BIG INPUT : Contains 500 elements and repeated elements");
    251 log("This is test case 2 for Random Pivot Quick Sort Algorithm : ");
    -
    252 std::array<int64_t, inputSize> unsorted_arr =
    +
    252 std::array<int64_t, inputSize> unsorted_arr =
    253 sorting::random_pivot_quick_sort::generateUnsortedArray<inputSize>(
    254 1, 10000);
    255
    256 int64_t start = 0;
    -
    257 int64_t end = unsorted_arr.size() - 1; // length - 1
    +
    257 int64_t end = unsorted_arr.size() - 1; // length - 1
    258
    259 log("Running algorithm of data of length 500 ...");
    -
    260 std::array<int64_t, unsorted_arr.size()> sorted_arr =
    +
    260 std::array<int64_t, unsorted_arr.size()> sorted_arr =
    262 end);
    263 log("Algorithm finished!");
    264
    265 log("Checking assert expression...");
    -
    266 assert(std::is_sorted(sorted_arr.begin(), sorted_arr.end()));
    +
    266 assert(std::is_sorted(sorted_arr.begin(), sorted_arr.end()));
    267 log("Assertion check passed!");
    268
    269 log("[PASS] : TEST CASE 2 PASS!");
    270 log("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
    271 "~");
    272 }
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -926,48 +898,45 @@ Here is the call graph for this function:

    < Printing inorder to cross-verify.

    < The inorder successor node for given data

    memory cleanup!

    + +

    Definition at line 345 of file inorder_successor_of_bst.cpp.

    345 {
    -
    346 const int expectedOutput = 110; ///< Expected output of this test
    +
    346 const int expectedOutput = 110;
    347
    348 log("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
    349 log("This is test case 3 : ");
    350
    352 nullptr;
    -
    353 std::vector<int64_t> node_data{
    +
    353 std::vector<int64_t> node_data{
    354 89, 67, 32, 56, 90, 123, 120,
    -
    355 110, 115, 6, 78, 7, 10}; ///< Data to make nodes in BST
    +
    355 110, 115, 6, 78, 7, 10};
    356
    358 root,
    -
    359 node_data); ///< Adding nodes to BST
    +
    359 node_data);
    360
    -
    361 std::cout << "Inorder sequence is : ";
    +
    361 std::cout << "Inorder sequence is : ";
    -
    363 root); ///< Printing inorder to cross-verify.
    - +
    363 root);
    +
    364 std::cout << std::endl;
    365
    367 *inorderSuccessor = operations_on_datastructures::
    368 inorder_traversal_of_bst::getInorderSuccessor(
    -
    369 root, 90); ///< The inorder successor node for given data
    +
    369 root, 90);
    370
    371 log("Checking assert expression...");
    372 assert(inorderSuccessor->data == expectedOutput);
    373 log("Assertion check passed!");
    374
    -
    376 root); /// memory cleanup!
    +
    376 root);
    377
    378 log("[PASS] : TEST CASE 3 PASS!");
    379 log("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
    380 }
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -1003,8 +972,10 @@ Here is the call graph for this function:

    < Sublist to be searched

    < Main list in which sublist is to be searched

    < boolean, if sublist exist or not

    + +

    Definition at line 298 of file sublist_search.cpp.

    298 {
    -
    299 const bool expectedOutput = false; ///< Expected output of this test
    +
    299 const bool expectedOutput = false;
    300
    301 log("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
    302 "~");
    @@ -1012,30 +983,27 @@ Here is the call graph for this function:
    304 log("Description:");
    305 log(" contains main list of 50 elements and sublist of 20");
    306
    -
    307 std::vector<uint64_t> sublistData(20); ///< Sublist to be searched
    -
    308 std::vector<uint64_t> mainlistData(
    -
    309 50); ///< Main list in which sublist is to be searched
    +
    307 std::vector<uint64_t> sublistData(20);
    +
    308 std::vector<uint64_t> mainlistData(
    +
    309 50);
    310
    -
    311 for (int i = 0; i < 50; i++) {
    -
    312 /// Inserts 100 elements in main list
    -
    313 mainlistData.push_back(i + 1);
    +
    311 for (int i = 0; i < 50; i++) {
    +
    313 mainlistData.push_back(i + 1);
    314 }
    315
    -
    316 for (int i = 45; i < 65; i++) {
    -
    317 /// Inserts 20 elements in sublist
    -
    318 sublistData.push_back(i + 1);
    +
    316 for (int i = 45; i < 65; i++) {
    +
    318 sublistData.push_back(i + 1);
    319 }
    320
    -
    323 sublistData); ///< Sublist to be searched
    +
    323 sublistData);
    324 search::sublist_search::Node *mainlistLL =
    -
    326 mainlistData); ///< Main list in which sublist is to be
    -
    327 ///< searched
    -
    328
    +
    326 mainlistData);
    +
    328
    -
    330 sublistLL, mainlistLL); ///< boolean, if sublist exist or not
    +
    330 sublistLL, mainlistLL);
    331
    332 log("Checking assert expression...");
    333 assert(exists == expectedOutput);
    @@ -1048,12 +1016,7 @@ Here is the call graph for this function:
    340 deleteList(mainlistLL);
    341 deleteList(sublistLL);
    342 }
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -1081,6 +1044,8 @@ Here is the call graph for this function:

    A test case with array of length 1000.

    Returns
    void
    + +

    Definition at line 278 of file random_pivot_quick_sort.cpp.

    278 {
    279 const int64_t inputSize = 1000;
    280 log("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
    @@ -1088,39 +1053,34 @@ Here is the call graph for this function:
    282 log("This is test case 3 for Random Pivot Quick Sort Algorithm : ");
    283 log("Description:");
    284 log(" LARGE INPUT : Contains 1000 elements and repeated elements");
    -
    285 std::array<int64_t, inputSize> unsorted_arr =
    +
    285 std::array<int64_t, inputSize> unsorted_arr =
    286 sorting::random_pivot_quick_sort::generateUnsortedArray<inputSize>(
    287 1, 10000);
    288
    289 int64_t start = 0;
    -
    290 int64_t end = unsorted_arr.size() - 1; // length - 1
    +
    290 int64_t end = unsorted_arr.size() - 1; // length - 1
    291
    292 log("Running algorithm...");
    -
    293 std::array<int64_t, unsorted_arr.size()> sorted_arr =
    +
    293 std::array<int64_t, unsorted_arr.size()> sorted_arr =
    295 end);
    296 log("Algorithm finished!");
    297
    298 log("Checking assert expression...");
    -
    299 assert(std::is_sorted(sorted_arr.begin(), sorted_arr.end()));
    +
    299 assert(std::is_sorted(sorted_arr.begin(), sorted_arr.end()));
    300 log("Assertion check passed!");
    301
    302 log("[PASS] : TEST CASE 3 PASS!");
    303 log("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
    304 "~");
    305 }
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    The documentation for this class was generated from the following files: diff --git a/d5/d58/class_test_cases_aa3aa3d5bf666f327ee8e2d11d397b06e_cgraph.map b/d5/d58/class_test_cases_aa3aa3d5bf666f327ee8e2d11d397b06e_cgraph.map deleted file mode 100644 index 2c6389763..000000000 --- a/d5/d58/class_test_cases_aa3aa3d5bf666f327ee8e2d11d397b06e_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d5/d58/class_test_cases_aa3aa3d5bf666f327ee8e2d11d397b06e_cgraph.md5 b/d5/d58/class_test_cases_aa3aa3d5bf666f327ee8e2d11d397b06e_cgraph.md5 deleted file mode 100644 index 3d220ae26..000000000 --- a/d5/d58/class_test_cases_aa3aa3d5bf666f327ee8e2d11d397b06e_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -472a31f53b1694bc6b3ddf9829dec746 \ No newline at end of file diff --git a/d5/d58/class_test_cases_aa3aa3d5bf666f327ee8e2d11d397b06e_cgraph.svg b/d5/d58/class_test_cases_aa3aa3d5bf666f327ee8e2d11d397b06e_cgraph.svg deleted file mode 100644 index 1ac36cd87..000000000 --- a/d5/d58/class_test_cases_aa3aa3d5bf666f327ee8e2d11d397b06e_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -TestCases::log - - -Node1 - - -TestCases::log - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d5/d58/class_test_cases_aa3aa3d5bf666f327ee8e2d11d397b06e_cgraph_org.svg b/d5/d58/class_test_cases_aa3aa3d5bf666f327ee8e2d11d397b06e_cgraph_org.svg deleted file mode 100644 index f091b6228..000000000 --- a/d5/d58/class_test_cases_aa3aa3d5bf666f327ee8e2d11d397b06e_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -TestCases::log - - -Node1 - - -TestCases::log - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - diff --git a/d5/d58/class_test_cases_abae0148985f159b582a385cf399254e3_cgraph.map b/d5/d58/class_test_cases_abae0148985f159b582a385cf399254e3_cgraph.map deleted file mode 100644 index 09e0c1101..000000000 --- a/d5/d58/class_test_cases_abae0148985f159b582a385cf399254e3_cgraph.map +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/d5/d58/class_test_cases_abae0148985f159b582a385cf399254e3_cgraph.md5 b/d5/d58/class_test_cases_abae0148985f159b582a385cf399254e3_cgraph.md5 deleted file mode 100644 index 6d64c2dbf..000000000 --- a/d5/d58/class_test_cases_abae0148985f159b582a385cf399254e3_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -78857dbee5e44ad287f008aac7722d72 \ No newline at end of file diff --git a/d5/d58/class_test_cases_abae0148985f159b582a385cf399254e3_cgraph.svg b/d5/d58/class_test_cases_abae0148985f159b582a385cf399254e3_cgraph.svg deleted file mode 100644 index 77bc5ca68..000000000 --- a/d5/d58/class_test_cases_abae0148985f159b582a385cf399254e3_cgraph.svg +++ /dev/null @@ -1,119 +0,0 @@ - - - - - - - - - - - - -TestCases::testCase_2 - - -Node1 - - -TestCases::testCase_2 - - - - - -Node2 - - -std::is_sorted - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -TestCases::log - - - - - -Node1->Node3 - - - - - - - - -Node5 - - -std::array::size - - - - - -Node1->Node5 - - - - - - - - -Node4 - - -std::endl - - - - - -Node3->Node4 - - - - - - - - - - - - - diff --git a/d5/d58/class_test_cases_abae0148985f159b582a385cf399254e3_cgraph_org.svg b/d5/d58/class_test_cases_abae0148985f159b582a385cf399254e3_cgraph_org.svg deleted file mode 100644 index 035ceb8e1..000000000 --- a/d5/d58/class_test_cases_abae0148985f159b582a385cf399254e3_cgraph_org.svg +++ /dev/null @@ -1,93 +0,0 @@ - - - - - - -TestCases::testCase_2 - - -Node1 - - -TestCases::testCase_2 - - - - - -Node2 - - -std::is_sorted - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -TestCases::log - - - - - -Node1->Node3 - - - - - - - - -Node5 - - -std::array::size - - - - - -Node1->Node5 - - - - - - - - -Node4 - - -std::endl - - - - - -Node3->Node4 - - - - - - - - diff --git a/d5/d58/class_test_cases_ac2636e8b5b9e053374c45bfcf0603008_cgraph.map b/d5/d58/class_test_cases_ac2636e8b5b9e053374c45bfcf0603008_cgraph.map deleted file mode 100644 index e918fcabf..000000000 --- a/d5/d58/class_test_cases_ac2636e8b5b9e053374c45bfcf0603008_cgraph.map +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/d5/d58/class_test_cases_ac2636e8b5b9e053374c45bfcf0603008_cgraph.md5 b/d5/d58/class_test_cases_ac2636e8b5b9e053374c45bfcf0603008_cgraph.md5 deleted file mode 100644 index 406262b9d..000000000 --- a/d5/d58/class_test_cases_ac2636e8b5b9e053374c45bfcf0603008_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -df2bf1478ef4c7655f58472e969ce0ba \ No newline at end of file diff --git a/d5/d58/class_test_cases_ac2636e8b5b9e053374c45bfcf0603008_cgraph.svg b/d5/d58/class_test_cases_ac2636e8b5b9e053374c45bfcf0603008_cgraph.svg deleted file mode 100644 index cd6ec9eb9..000000000 --- a/d5/d58/class_test_cases_ac2636e8b5b9e053374c45bfcf0603008_cgraph.svg +++ /dev/null @@ -1,119 +0,0 @@ - - - - - - - - - - - - -TestCases::testCase_1 - - -Node1 - - -TestCases::testCase_1 - - - - - -Node2 - - -std::is_sorted - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -TestCases::log - - - - - -Node1->Node3 - - - - - - - - -Node5 - - -std::array::size - - - - - -Node1->Node5 - - - - - - - - -Node4 - - -std::endl - - - - - -Node3->Node4 - - - - - - - - - - - - - diff --git a/d5/d58/class_test_cases_ac2636e8b5b9e053374c45bfcf0603008_cgraph_org.svg b/d5/d58/class_test_cases_ac2636e8b5b9e053374c45bfcf0603008_cgraph_org.svg deleted file mode 100644 index 6bb34ec04..000000000 --- a/d5/d58/class_test_cases_ac2636e8b5b9e053374c45bfcf0603008_cgraph_org.svg +++ /dev/null @@ -1,93 +0,0 @@ - - - - - - -TestCases::testCase_1 - - -Node1 - - -TestCases::testCase_1 - - - - - -Node2 - - -std::is_sorted - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -TestCases::log - - - - - -Node1->Node3 - - - - - - - - -Node5 - - -std::array::size - - - - - -Node1->Node5 - - - - - - - - -Node4 - - -std::endl - - - - - -Node3->Node4 - - - - - - - - diff --git a/d5/d58/class_test_cases_ad9f95c09931625b41e3be1f88d1e28c5_cgraph.map b/d5/d58/class_test_cases_ad9f95c09931625b41e3be1f88d1e28c5_cgraph.map deleted file mode 100644 index eae43f1ec..000000000 --- a/d5/d58/class_test_cases_ad9f95c09931625b41e3be1f88d1e28c5_cgraph.map +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/d5/d58/class_test_cases_ad9f95c09931625b41e3be1f88d1e28c5_cgraph.md5 b/d5/d58/class_test_cases_ad9f95c09931625b41e3be1f88d1e28c5_cgraph.md5 deleted file mode 100644 index 4c830166c..000000000 --- a/d5/d58/class_test_cases_ad9f95c09931625b41e3be1f88d1e28c5_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -8dcf04cd959dcded7893d85b03396686 \ No newline at end of file diff --git a/d5/d58/class_test_cases_ad9f95c09931625b41e3be1f88d1e28c5_cgraph.svg b/d5/d58/class_test_cases_ad9f95c09931625b41e3be1f88d1e28c5_cgraph.svg deleted file mode 100644 index 067c9a793..000000000 --- a/d5/d58/class_test_cases_ad9f95c09931625b41e3be1f88d1e28c5_cgraph.svg +++ /dev/null @@ -1,119 +0,0 @@ - - - - - - - - - - - - -TestCases::testCase_3 - - -Node1 - - -TestCases::testCase_3 - - - - - -Node2 - - -std::is_sorted - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -TestCases::log - - - - - -Node1->Node3 - - - - - - - - -Node5 - - -std::array::size - - - - - -Node1->Node5 - - - - - - - - -Node4 - - -std::endl - - - - - -Node3->Node4 - - - - - - - - - - - - - diff --git a/d5/d58/class_test_cases_ad9f95c09931625b41e3be1f88d1e28c5_cgraph_org.svg b/d5/d58/class_test_cases_ad9f95c09931625b41e3be1f88d1e28c5_cgraph_org.svg deleted file mode 100644 index 70606c92a..000000000 --- a/d5/d58/class_test_cases_ad9f95c09931625b41e3be1f88d1e28c5_cgraph_org.svg +++ /dev/null @@ -1,93 +0,0 @@ - - - - - - -TestCases::testCase_3 - - -Node1 - - -TestCases::testCase_3 - - - - - -Node2 - - -std::is_sorted - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -TestCases::log - - - - - -Node1->Node3 - - - - - - - - -Node5 - - -std::array::size - - - - - -Node1->Node5 - - - - - - - - -Node4 - - -std::endl - - - - - -Node3->Node4 - - - - - - - - diff --git a/d5/d58/class_test_cases_aeabea90c02f9159e4a784bbf736e1e23_cgraph.map b/d5/d58/class_test_cases_aeabea90c02f9159e4a784bbf736e1e23_cgraph.map deleted file mode 100644 index f0fb84fc9..000000000 --- a/d5/d58/class_test_cases_aeabea90c02f9159e4a784bbf736e1e23_cgraph.map +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - - - - - - - - - - - - - - - diff --git a/d5/d58/class_test_cases_aeabea90c02f9159e4a784bbf736e1e23_cgraph.md5 b/d5/d58/class_test_cases_aeabea90c02f9159e4a784bbf736e1e23_cgraph.md5 deleted file mode 100644 index d32333847..000000000 --- a/d5/d58/class_test_cases_aeabea90c02f9159e4a784bbf736e1e23_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -94cb50042479a210b2916ad6e70e644f \ No newline at end of file diff --git a/d5/d58/class_test_cases_aeabea90c02f9159e4a784bbf736e1e23_cgraph.svg b/d5/d58/class_test_cases_aeabea90c02f9159e4a784bbf736e1e23_cgraph.svg deleted file mode 100644 index 3edd4d489..000000000 --- a/d5/d58/class_test_cases_aeabea90c02f9159e4a784bbf736e1e23_cgraph.svg +++ /dev/null @@ -1,200 +0,0 @@ - - - - - - - - - - - - -TestCases::runTests - - -Node1 - - -TestCases::runTests - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -TestCases::log - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -TestCases::testCase_1 - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -TestCases::testCase_2 - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -TestCases::testCase_3 - - - - - -Node1->Node6 - - - - - - - - -Node3->Node2 - - - - - - - - -Node4->Node2 - - - - - - - - -Node4->Node3 - - - - - - - - -Node5->Node2 - - - - - - - - -Node5->Node3 - - - - - - - - -Node6->Node2 - - - - - - - - -Node6->Node3 - - - - - - - - - - - - - diff --git a/d5/d58/class_test_cases_aeabea90c02f9159e4a784bbf736e1e23_cgraph_org.svg b/d5/d58/class_test_cases_aeabea90c02f9159e4a784bbf736e1e23_cgraph_org.svg deleted file mode 100644 index 2d6b4713d..000000000 --- a/d5/d58/class_test_cases_aeabea90c02f9159e4a784bbf736e1e23_cgraph_org.svg +++ /dev/null @@ -1,174 +0,0 @@ - - - - - - -TestCases::runTests - - -Node1 - - -TestCases::runTests - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -TestCases::log - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -TestCases::testCase_1 - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -TestCases::testCase_2 - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -TestCases::testCase_3 - - - - - -Node1->Node6 - - - - - - - - -Node3->Node2 - - - - - - - - -Node4->Node2 - - - - - - - - -Node4->Node3 - - - - - - - - -Node5->Node2 - - - - - - - - -Node5->Node3 - - - - - - - - -Node6->Node2 - - - - - - - - -Node6->Node3 - - - - - - - - diff --git a/d5/d58/persistent__seg__tree__lazy__prop_8cpp.html b/d5/d58/persistent__seg__tree__lazy__prop_8cpp.html index db3630f75..10d982bb5 100644 --- a/d5/d58/persistent__seg__tree__lazy__prop_8cpp.html +++ b/d5/d58/persistent__seg__tree__lazy__prop_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: range_queries/persistent_seg_tree_lazy_prop.cpp File Reference +TheAlgorithms/C++: range_queries/persistent_seg_tree_lazy_prop.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + @@ -122,7 +139,9 @@ Include dependency graph for persistent_seg_tree_lazy_prop.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -134,7 +153,7 @@ Classes - +

    Classes

    class  range_queries::perSegTree

    Namespaces

    namespace  range_queries
     for std::vector
     for std::vector
     

    Persistent segment tree with range updates (lazy propagation)

    A normal segment tree facilitates making point updates and range queries in logarithmic time. Lazy propagation preserves the logarithmic time with range updates. So, a segment tree with lazy propagation enables doing range updates and range queries in logarithmic time, but it doesn't save any information about itself before the last update. A persistent data structure always preserves the previous version of itself when it is modified. That is, a new version of the segment tree is generated after every update. It saves all previous versions of itself (before every update) to facilitate doing range queries in any version. More memory is used ,but the logarithmic time is preserved because the new version points to the same nodes, that the previous version points to, that are not affected by the update. That is, only the nodes that are affected by the update and their ancestors are copied. The rest is copied using lazy propagation in the next queries. Thus preserving the logarithmic time because the number of nodes copied after any update is logarithmic.

    Author
    Magdy Sedra
    + +

    Definition in file persistent_seg_tree_lazy_prop.cpp.

    Function Documentation

    ◆ main()

    @@ -168,17 +189,14 @@ Functions

    Main function.

    Returns
    0 on exit
    + +

    Definition at line 318 of file persistent_seg_tree_lazy_prop.cpp.

    318 {
    319 test(); // run self-test implementations
    320 return 0;
    321}
    -
    static void test()
    Test implementations.
    Definition persistent_seg_tree_lazy_prop.cpp:268
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static void test()
    Test implementations.
    + @@ -206,65 +224,59 @@ Here is the call graph for this function:

    Test implementations.

    Returns
    void
    + +

    Definition at line 268 of file persistent_seg_tree_lazy_prop.cpp.

    268 {
    -
    269 std::vector<int64_t> arr = {-5, 2, 3, 11, -2, 7, 0, 1};
    +
    269 std::vector<int64_t> arr = {-5, 2, 3, 11, -2, 7, 0, 1};
    -
    271 std::cout << "Elements before any updates are {";
    -
    272 for (uint32_t i = 0; i < arr.size(); ++i) {
    -
    273 std::cout << arr[i];
    +
    271 std::cout << "Elements before any updates are {";
    +
    272 for (uint32_t i = 0; i < arr.size(); ++i) {
    +
    273 std::cout << arr[i];
    274 if (i != arr.size() - 1) {
    -
    275 std::cout << ",";
    +
    275 std::cout << ",";
    276 }
    277 }
    -
    278 std::cout << "}\n";
    +
    278 std::cout << "}\n";
    279 tree.construct(
    280 arr); // constructing the original segment tree (version = 0)
    -
    281 std::cout << "Querying range sum on version 0 from index 2 to 4 = 3+11-2 = "
    +
    281 std::cout << "Querying range sum on version 0 from index 2 to 4 = 3+11-2 = "
    282 << tree.query(2, 4, 0) << '\n';
    - +
    283 std::cout
    284 << "Subtract 7 from all elements from index 1 to index 5 inclusive\n";
    285 tree.update(1, 5, -7); // subtracting 7 from index 1 to index 5
    -
    286 std::cout << "Elements of the segment tree whose version = 1 (after 1 "
    +
    286 std::cout << "Elements of the segment tree whose version = 1 (after 1 "
    287 "update) are {";
    288 for (uint32_t i = 0; i < arr.size(); ++i) {
    -
    289 std::cout << tree.query(i, i, 1);
    +
    289 std::cout << tree.query(i, i, 1);
    290 if (i != arr.size() - 1) {
    -
    291 std::cout << ",";
    +
    291 std::cout << ",";
    292 }
    293 }
    -
    294 std::cout << "}\n";
    -
    295 std::cout << "Add 10 to all elements from index 0 to index 7 inclusive\n";
    +
    294 std::cout << "}\n";
    +
    295 std::cout << "Add 10 to all elements from index 0 to index 7 inclusive\n";
    296 tree.update(0, 7, 10); // adding 10 to all elements
    -
    297 std::cout << "Elements of the segment tree whose version = 2 (after 2 "
    +
    297 std::cout << "Elements of the segment tree whose version = 2 (after 2 "
    298 "updates) are {";
    299 for (uint32_t i = 0; i < arr.size(); ++i) {
    -
    300 std::cout << tree.query(i, i, 2);
    +
    300 std::cout << tree.query(i, i, 2);
    301 if (i != arr.size() - 1) {
    -
    302 std::cout << ",";
    +
    302 std::cout << ",";
    303 }
    304 }
    -
    305 std::cout << "}\n";
    -
    306 std::cout << "Number of segment trees (versions) now = " << tree.size()
    +
    305 std::cout << "}\n";
    +
    306 std::cout << "Number of segment trees (versions) now = " << tree.size()
    307 << '\n';
    -
    308 std::cout << "Querying range sum on version 0 from index 3 to 5 = 11-2+7 = "
    +
    308 std::cout << "Querying range sum on version 0 from index 3 to 5 = 11-2+7 = "
    309 << tree.query(3, 5, 0) << '\n';
    -
    310 std::cout << "Querying range sum on version 1 from index 3 to 5 = 4-9+0 = "
    +
    310 std::cout << "Querying range sum on version 1 from index 3 to 5 = 4-9+0 = "
    311 << tree.query(3, 5, 1) << '\n';
    312}
    - -
    Range query here is range sum, but the code can be modified to make different queries like range max ...
    Definition persistent_seg_tree_lazy_prop.cpp:39
    -
    uint32_t size()
    Getting the number of versions after updates so far which is equal to the size of the pointers vector...
    Definition persistent_seg_tree_lazy_prop.cpp:255
    -
    std::shared_ptr< Node > update(const uint32_t &i, const uint32_t &j, const uint32_t &l, const uint32_t &r, const int64_t &value, std::shared_ptr< Node > const &curr)
    Doing range update, checking at every node if it has some value to be propagated. All nodes affected ...
    Definition persistent_seg_tree_lazy_prop.cpp:135
    -
    std::shared_ptr< Node > construct(const uint32_t &i, const uint32_t &j)
    Constructing the segment tree with the early passed vector. Every call creates a node to hold the sum...
    Definition persistent_seg_tree_lazy_prop.cpp:106
    -
    int64_t query(const uint32_t &i, const uint32_t &j, const uint32_t &l, const uint32_t &r, std::shared_ptr< Node > const &curr)
    Querying the range from index l to index r, checking at every node if it has some value to be propaga...
    Definition persistent_seg_tree_lazy_prop.cpp:171
    -
    T size(T... args)
    - -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    Range query here is range sum, but the code can be modified to make different queries like range max ...
    +
    uint32_t size()
    Getting the number of versions after updates so far which is equal to the size of the pointers vector...
    +
    std::shared_ptr< Node > update(const uint32_t &i, const uint32_t &j, const uint32_t &l, const uint32_t &r, const int64_t &value, std::shared_ptr< Node > const &curr)
    Doing range update, checking at every node if it has some value to be propagated. All nodes affected ...
    +
    std::shared_ptr< Node > construct(const uint32_t &i, const uint32_t &j)
    Constructing the segment tree with the early passed vector. Every call creates a node to hold the sum...
    +
    int64_t query(const uint32_t &i, const uint32_t &j, const uint32_t &l, const uint32_t &r, std::shared_ptr< Node > const &curr)
    Querying the range from index l to index r, checking at every node if it has some value to be propaga...
    + diff --git a/d5/d58/persistent__seg__tree__lazy__prop_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map b/d5/d58/persistent__seg__tree__lazy__prop_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map deleted file mode 100644 index 7d78f0d9f..000000000 --- a/d5/d58/persistent__seg__tree__lazy__prop_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map +++ /dev/null @@ -1,27 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d5/d58/persistent__seg__tree__lazy__prop_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 b/d5/d58/persistent__seg__tree__lazy__prop_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 deleted file mode 100644 index 273ef0195..000000000 --- a/d5/d58/persistent__seg__tree__lazy__prop_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -7a9a92c2445557aa765b6182ca1decbf \ No newline at end of file diff --git a/d5/d58/persistent__seg__tree__lazy__prop_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg b/d5/d58/persistent__seg__tree__lazy__prop_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg deleted file mode 100644 index 3c49d9ec3..000000000 --- a/d5/d58/persistent__seg__tree__lazy__prop_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg +++ /dev/null @@ -1,326 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -range_queries::perSegTree -::construct - - - - - -Node1->Node2 - - - - - - - - -Node4 - - -range_queries::perSegTree -::query - - - - - -Node1->Node4 - - - - - - - - -Node7 - - -range_queries::perSegTree -::size - - - - - -Node1->Node7 - - - - - - - - -Node8 - - -std::vector::size - - - - - -Node1->Node8 - - - - - - - - -Node9 - - -range_queries::perSegTree -::update - - - - - -Node1->Node9 - - - - - - - - -Node2->Node2 - - - - - - - - -Node3 - - -std::make_shared - - - - - -Node2->Node3 - - - - - - - - -Node4->Node4 - - - - - - - - -Node5 - - -range_queries::perSegTree -::lazy - - - - - -Node4->Node5 - - - - - - - - -Node6 - - -range_queries::perSegTree -::newKid - - - - - -Node5->Node6 - - - - - - - - -Node6->Node3 - - - - - - - - -Node7->Node8 - - - - - - - - -Node9->Node3 - - - - - - - - -Node9->Node5 - - - - - - - - -Node9->Node6 - - - - - - - - -Node9->Node9 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d5/d58/persistent__seg__tree__lazy__prop_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg b/d5/d58/persistent__seg__tree__lazy__prop_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg deleted file mode 100644 index 2b844fa80..000000000 --- a/d5/d58/persistent__seg__tree__lazy__prop_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg +++ /dev/null @@ -1,243 +0,0 @@ - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -range_queries::perSegTree -::construct - - - - - -Node1->Node2 - - - - - - - - -Node4 - - -range_queries::perSegTree -::query - - - - - -Node1->Node4 - - - - - - - - -Node7 - - -range_queries::perSegTree -::size - - - - - -Node1->Node7 - - - - - - - - -Node8 - - -std::vector::size - - - - - -Node1->Node8 - - - - - - - - -Node9 - - -range_queries::perSegTree -::update - - - - - -Node1->Node9 - - - - - - - - -Node2->Node2 - - - - - - - - -Node3 - - -std::make_shared - - - - - -Node2->Node3 - - - - - - - - -Node4->Node4 - - - - - - - - -Node5 - - -range_queries::perSegTree -::lazy - - - - - -Node4->Node5 - - - - - - - - -Node6 - - -range_queries::perSegTree -::newKid - - - - - -Node5->Node6 - - - - - - - - -Node6->Node3 - - - - - - - - -Node7->Node8 - - - - - - - - -Node9->Node3 - - - - - - - - -Node9->Node5 - - - - - - - - -Node9->Node6 - - - - - - - - -Node9->Node9 - - - - - - - - diff --git a/d5/d58/persistent__seg__tree__lazy__prop_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d5/d58/persistent__seg__tree__lazy__prop_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 95f4be6bf..000000000 --- a/d5/d58/persistent__seg__tree__lazy__prop_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d5/d58/persistent__seg__tree__lazy__prop_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d5/d58/persistent__seg__tree__lazy__prop_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index 753a4dad7..000000000 --- a/d5/d58/persistent__seg__tree__lazy__prop_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -35c4a8a9055930783c7379923c027a39 \ No newline at end of file diff --git a/d5/d58/persistent__seg__tree__lazy__prop_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d5/d58/persistent__seg__tree__lazy__prop_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 29ec4c206..000000000 --- a/d5/d58/persistent__seg__tree__lazy__prop_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,344 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -range_queries::perSegTree -::construct - - - - - -Node2->Node3 - - - - - - - - -Node5 - - -range_queries::perSegTree -::query - - - - - -Node2->Node5 - - - - - - - - -Node8 - - -range_queries::perSegTree -::size - - - - - -Node2->Node8 - - - - - - - - -Node9 - - -std::vector::size - - - - - -Node2->Node9 - - - - - - - - -Node10 - - -range_queries::perSegTree -::update - - - - - -Node2->Node10 - - - - - - - - -Node3->Node3 - - - - - - - - -Node4 - - -std::make_shared - - - - - -Node3->Node4 - - - - - - - - -Node5->Node5 - - - - - - - - -Node6 - - -range_queries::perSegTree -::lazy - - - - - -Node5->Node6 - - - - - - - - -Node7 - - -range_queries::perSegTree -::newKid - - - - - -Node6->Node7 - - - - - - - - -Node7->Node4 - - - - - - - - -Node8->Node9 - - - - - - - - -Node10->Node4 - - - - - - - - -Node10->Node6 - - - - - - - - -Node10->Node7 - - - - - - - - -Node10->Node10 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d5/d58/persistent__seg__tree__lazy__prop_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d5/d58/persistent__seg__tree__lazy__prop_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 59961a0df..000000000 --- a/d5/d58/persistent__seg__tree__lazy__prop_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,261 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -range_queries::perSegTree -::construct - - - - - -Node2->Node3 - - - - - - - - -Node5 - - -range_queries::perSegTree -::query - - - - - -Node2->Node5 - - - - - - - - -Node8 - - -range_queries::perSegTree -::size - - - - - -Node2->Node8 - - - - - - - - -Node9 - - -std::vector::size - - - - - -Node2->Node9 - - - - - - - - -Node10 - - -range_queries::perSegTree -::update - - - - - -Node2->Node10 - - - - - - - - -Node3->Node3 - - - - - - - - -Node4 - - -std::make_shared - - - - - -Node3->Node4 - - - - - - - - -Node5->Node5 - - - - - - - - -Node6 - - -range_queries::perSegTree -::lazy - - - - - -Node5->Node6 - - - - - - - - -Node7 - - -range_queries::perSegTree -::newKid - - - - - -Node6->Node7 - - - - - - - - -Node7->Node4 - - - - - - - - -Node8->Node9 - - - - - - - - -Node10->Node4 - - - - - - - - -Node10->Node6 - - - - - - - - -Node10->Node7 - - - - - - - - -Node10->Node10 - - - - - - - - diff --git a/d5/d58/persistent__seg__tree__lazy__prop_8cpp_source.html b/d5/d58/persistent__seg__tree__lazy__prop_8cpp_source.html new file mode 100644 index 000000000..5637ec3e5 --- /dev/null +++ b/d5/d58/persistent__seg__tree__lazy__prop_8cpp_source.html @@ -0,0 +1,371 @@ + + + + + + + + +TheAlgorithms/C++: range_queries/persistent_seg_tree_lazy_prop.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    +

    @@ -150,6 +169,8 @@ Functions

    + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + + +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    persistent_seg_tree_lazy_prop.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    25#include <iostream>
    +
    26#include <memory>
    +
    27#include <vector>
    +
    28
    +
    33namespace range_queries {
    +
    34
    +
    + +
    40 private:
    +
    +
    41 class Node {
    +
    42 public:
    +
    43 std::shared_ptr<Node> left = nullptr;
    +
    44 std::shared_ptr<Node> right = nullptr;
    +
    45 int64_t val = 0,
    +
    46 prop = 0;
    +
    50 };
    +
    +
    51
    +
    52 uint32_t n = 0;
    +
    53 std::vector<std::shared_ptr<Node>>
    +
    54 ptrs{};
    +
    57 std::vector<int64_t> vec{};
    +
    59
    +
    +
    65 std::shared_ptr<Node> newKid(std::shared_ptr<Node> const &curr) {
    +
    66 auto newNode = std::make_shared<Node>(Node());
    +
    67 newNode->left = curr->left;
    +
    68 newNode->right = curr->right;
    +
    69 newNode->prop = curr->prop;
    +
    70 newNode->val = curr->val;
    +
    71 return newNode;
    +
    72 }
    +
    +
    73
    +
    +
    83 void lazy(const uint32_t &i, const uint32_t &j,
    +
    84 std::shared_ptr<Node> const &curr) {
    +
    85 if (!curr->prop) {
    +
    86 return;
    +
    87 }
    +
    88 curr->val += (j - i + 1) * curr->prop;
    +
    89 if (i != j) {
    +
    90 curr->left = newKid(curr->left);
    +
    91 curr->right = newKid(curr->right);
    +
    92 curr->left->prop += curr->prop;
    +
    93 curr->right->prop += curr->prop;
    +
    94 }
    +
    95 curr->prop = 0;
    +
    96 }
    +
    +
    97
    +
    +
    106 std::shared_ptr<Node> construct(const uint32_t &i, const uint32_t &j) {
    +
    107 auto newNode = std::make_shared<Node>(Node());
    +
    108 if (i == j) {
    +
    109 newNode->val = vec[i];
    +
    110 } else {
    +
    111 uint32_t mid = i + (j - i) / 2;
    +
    112 auto leftt = construct(i, mid);
    +
    113 auto right = construct(mid + 1, j);
    +
    114 newNode->val = leftt->val + right->val;
    +
    115 newNode->left = leftt;
    +
    116 newNode->right = right;
    +
    117 }
    +
    118 return newNode;
    +
    119 }
    +
    +
    120
    +
    +
    135 std::shared_ptr<Node> update(const uint32_t &i, const uint32_t &j,
    +
    136 const uint32_t &l, const uint32_t &r,
    +
    137 const int64_t &value,
    +
    138 std::shared_ptr<Node> const &curr) {
    +
    139 lazy(i, j, curr);
    +
    140 if (i >= l && j <= r) {
    +
    141 std::shared_ptr<Node> newNode = newKid(curr);
    +
    142 newNode->prop += value;
    +
    143 lazy(i, j, newNode);
    +
    144 return newNode;
    +
    145 }
    +
    146 if (i > r || j < l) {
    +
    147 return curr;
    +
    148 }
    +
    149 auto newNode = std::make_shared<Node>(Node());
    +
    150 uint32_t mid = i + (j - i) / 2;
    +
    151 newNode->left = update(i, mid, l, r, value, curr->left);
    +
    152 newNode->right = update(mid + 1, j, l, r, value, curr->right);
    +
    153 newNode->val = newNode->left->val + newNode->right->val;
    +
    154 return newNode;
    +
    155 }
    +
    +
    156
    +
    +
    171 int64_t query(const uint32_t &i, const uint32_t &j, const uint32_t &l,
    +
    172 const uint32_t &r, std::shared_ptr<Node> const &curr) {
    +
    173 lazy(i, j, curr);
    +
    174 if (j < l || r < i) {
    +
    175 return 0;
    +
    176 }
    +
    177 if (i >= l && j <= r) {
    +
    178 return curr->val;
    +
    179 }
    +
    180 uint32_t mid = i + (j - i) / 2;
    +
    181 return query(i, mid, l, r, curr->left) +
    +
    182 query(mid + 1, j, l, r, curr->right);
    +
    183 }
    +
    +
    184
    +
    189 public:
    +
    +
    197 void construct(const std::vector<int64_t>
    +
    198 &vec) // the segment tree will be built from the values
    +
    199 // in "vec", "vec" is 0 indexed
    +
    200 {
    +
    201 if (vec.empty()) {
    +
    202 return;
    +
    203 }
    +
    204 n = vec.size();
    +
    205 this->vec = vec;
    +
    206 auto root = construct(0, n - 1);
    +
    207 ptrs.push_back(root);
    +
    208 }
    +
    +
    209
    +
    +
    219 void update(const uint32_t &l, const uint32_t &r,
    +
    220 const int64_t
    +
    221 &value) // all elements from index "l" to index "r" would
    +
    222 // by updated by "value", "l" and "r" are 0 indexed
    +
    223 {
    +
    224 ptrs.push_back(update(
    +
    225 0, n - 1, l, r, value,
    +
    226 ptrs[ptrs.size() -
    +
    227 1])); // saving the root pointer to the new segment tree
    +
    228 }
    +
    +
    229
    +
    +
    241 int64_t query(
    +
    242 const uint32_t &l, const uint32_t &r,
    +
    243 const uint32_t
    +
    244 &version) // querying the range from "l" to "r" in a segment tree
    +
    245 // after "version" updates, "l" and "r" are 0 indexed
    +
    246 {
    +
    247 return query(0, n - 1, l, r, ptrs[version]);
    +
    248 }
    +
    +
    249
    +
    +
    255 uint32_t size() // returns the number of segment trees (versions) , the
    +
    256 // number of updates done so far = returned value - 1
    +
    257 // ,because one of the trees is the original segment tree
    +
    258 {
    +
    259 return ptrs.size();
    +
    260 }
    +
    +
    261};
    +
    +
    262} // namespace range_queries
    +
    263
    +
    +
    268static void test() {
    +
    269 std::vector<int64_t> arr = {-5, 2, 3, 11, -2, 7, 0, 1};
    + +
    271 std::cout << "Elements before any updates are {";
    +
    272 for (uint32_t i = 0; i < arr.size(); ++i) {
    +
    273 std::cout << arr[i];
    +
    274 if (i != arr.size() - 1) {
    +
    275 std::cout << ",";
    +
    276 }
    +
    277 }
    +
    278 std::cout << "}\n";
    +
    279 tree.construct(
    +
    280 arr); // constructing the original segment tree (version = 0)
    +
    281 std::cout << "Querying range sum on version 0 from index 2 to 4 = 3+11-2 = "
    +
    282 << tree.query(2, 4, 0) << '\n';
    +
    283 std::cout
    +
    284 << "Subtract 7 from all elements from index 1 to index 5 inclusive\n";
    +
    285 tree.update(1, 5, -7); // subtracting 7 from index 1 to index 5
    +
    286 std::cout << "Elements of the segment tree whose version = 1 (after 1 "
    +
    287 "update) are {";
    +
    288 for (uint32_t i = 0; i < arr.size(); ++i) {
    +
    289 std::cout << tree.query(i, i, 1);
    +
    290 if (i != arr.size() - 1) {
    +
    291 std::cout << ",";
    +
    292 }
    +
    293 }
    +
    294 std::cout << "}\n";
    +
    295 std::cout << "Add 10 to all elements from index 0 to index 7 inclusive\n";
    +
    296 tree.update(0, 7, 10); // adding 10 to all elements
    +
    297 std::cout << "Elements of the segment tree whose version = 2 (after 2 "
    +
    298 "updates) are {";
    +
    299 for (uint32_t i = 0; i < arr.size(); ++i) {
    +
    300 std::cout << tree.query(i, i, 2);
    +
    301 if (i != arr.size() - 1) {
    +
    302 std::cout << ",";
    +
    303 }
    +
    304 }
    +
    305 std::cout << "}\n";
    +
    306 std::cout << "Number of segment trees (versions) now = " << tree.size()
    +
    307 << '\n';
    +
    308 std::cout << "Querying range sum on version 0 from index 3 to 5 = 11-2+7 = "
    +
    309 << tree.query(3, 5, 0) << '\n';
    +
    310 std::cout << "Querying range sum on version 1 from index 3 to 5 = 4-9+0 = "
    +
    311 << tree.query(3, 5, 1) << '\n';
    +
    312}
    +
    +
    313
    +
    +
    318int main() {
    +
    319 test(); // run self-test implementations
    +
    320 return 0;
    +
    321}
    +
    + +
    std::shared_ptr< Node > right
    pointer to the left node
    + +
    Range query here is range sum, but the code can be modified to make different queries like range max ...
    +
    std::shared_ptr< Node > newKid(std::shared_ptr< Node > const &curr)
    Creating a new node with the same values of curr node.
    +
    uint32_t size()
    Getting the number of versions after updates so far which is equal to the size of the pointers vector...
    +
    std::vector< std::shared_ptr< Node > > ptrs
    number of elements/leaf nodes in the segment tree
    +
    std::shared_ptr< Node > update(const uint32_t &i, const uint32_t &j, const uint32_t &l, const uint32_t &r, const int64_t &value, std::shared_ptr< Node > const &curr)
    Doing range update, checking at every node if it has some value to be propagated. All nodes affected ...
    +
    std::shared_ptr< Node > construct(const uint32_t &i, const uint32_t &j)
    Constructing the segment tree with the early passed vector. Every call creates a node to hold the sum...
    + +
    void construct(const std::vector< int64_t > &vec)
    Constructing the segment tree with the values in the passed vector. Returned root pointer is pushed i...
    +
    void lazy(const uint32_t &i, const uint32_t &j, std::shared_ptr< Node > const &curr)
    If there is some value to be propagated to the passed node, value is added to the node and the childr...
    +
    int64_t query(const uint32_t &l, const uint32_t &r, const uint32_t &version)
    Querying the range from index l to index r, getting the sum of the elements whose index x satisfies l...
    +
    int64_t query(const uint32_t &i, const uint32_t &j, const uint32_t &l, const uint32_t &r, std::shared_ptr< Node > const &curr)
    Querying the range from index l to index r, checking at every node if it has some value to be propaga...
    +
    void update(const uint32_t &l, const uint32_t &r, const int64_t &value)
    Doing range update by passing the left and right indexes of the range as well as the value to be adde...
    +
    for std::vector
    +
    static void test()
    Test implementations.
    +
    int main()
    Main function.
    +
    +
    + + + + diff --git a/d5/d5f/namespacegeometry.html b/d5/d5f/namespacegeometry.html index 21786c617..91661d7cf 100644 --- a/d5/d5f/namespacegeometry.html +++ b/d5/d5f/namespacegeometry.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: geometry Namespace Reference +TheAlgorithms/C++: geometry Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -108,12 +125,12 @@ $(function(){initNavTree('d5/d5f/namespacegeometry.html','../../'); initResizabl
    -

    for std::swap +

    for std::swap More...

    Detailed Description

    -

    for std::swap

    +

    for std::swap

    Geometry algorithms.

    -

    for mathematics and datatype conversion for IO operations for std::stack for std::vector

    +

    for mathematics and datatype conversion for IO operations for std::stack for std::vector

    diff --git a/d5/d66/classrange__queries_1_1per_seg_tree_1_1_node.html b/d5/d66/classrange__queries_1_1per_seg_tree_1_1_node.html index 98ebb1c1a..faa1013df 100644 --- a/d5/d66/classrange__queries_1_1per_seg_tree_1_1_node.html +++ b/d5/d66/classrange__queries_1_1per_seg_tree_1_1_node.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: range_queries::perSegTree::Node Class Reference +TheAlgorithms/C++: range_queries::perSegTree::Node Class Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + @@ -118,23 +135,91 @@ Collaboration diagram for range_queries::perSegTree::Node:
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    - + - - + + - - + + - +

    Public Attributes

    -std::shared_ptr< Nodeleft = nullptr
    std::shared_ptr< Nodeleft = nullptr
     
    -std::shared_ptr< Noderight = nullptr
     pointer to the left node
    std::shared_ptr< Noderight = nullptr
     pointer to the left node
     
    -int64_t val = 0
     pointer to the right node
    int64_t val = 0
     pointer to the right node
     
    -int64_t prop = 0
    int64_t prop = 0
     
    +

    Detailed Description

    +
    +

    Definition at line 41 of file persistent_seg_tree_lazy_prop.cpp.

    +

    Member Data Documentation

    + +

    ◆ left

    + +
    +
    + + + + +
    std::shared_ptr<Node> range_queries::perSegTree::Node::left = nullptr
    +
    + +

    Definition at line 43 of file persistent_seg_tree_lazy_prop.cpp.

    + +
    +
    + +

    ◆ prop

    + +
    +
    + + + + +
    int64_t range_queries::perSegTree::Node::prop = 0
    +
    + +

    Definition at line 46 of file persistent_seg_tree_lazy_prop.cpp.

    + +
    +
    + +

    ◆ right

    + +
    +
    + + + + +
    std::shared_ptr<Node> range_queries::perSegTree::Node::right = nullptr
    +
    + +

    pointer to the left node

    + +

    Definition at line 44 of file persistent_seg_tree_lazy_prop.cpp.

    + +
    +
    + +

    ◆ val

    + +
    +
    + + + + +
    int64_t range_queries::perSegTree::Node::val = 0
    +
    + +

    pointer to the right node

    + +

    Definition at line 45 of file persistent_seg_tree_lazy_prop.cpp.

    + +
    +

    The documentation for this class was generated from the following file:
    diff --git a/d5/d67/bayes__theorem_8cpp.html b/d5/d67/bayes__theorem_8cpp.html index 36bc08e87..599fe5627 100644 --- a/d5/d67/bayes__theorem_8cpp.html +++ b/d5/d67/bayes__theorem_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: probability/bayes_theorem.cpp File Reference +TheAlgorithms/C++: probability/bayes_theorem.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -118,7 +135,9 @@ Include dependency graph for bayes_theorem.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -132,6 +151,8 @@ Functions

    Bayes' theorem

    Bayes' theorem allows one to find \(P(A|B)\) given \(P(B|A)\) or \(P(B|A)\) given \(P(A|B)\) and \(P(A)\) and \(P(B)\).
    Note that \(P(A|B)\) is read 'The probability of A given that the event B has occured'.

    + +

    Definition in file bayes_theorem.cpp.

    Function Documentation

    ◆ bayes_AgivenB()

    @@ -157,6 +178,8 @@ Note that \(P(A|B)\) is read 'The probability of A given that the event B has oc

    Functions

    double bayes_AgivenB (double BgivenA, double A, double B)

    returns P(A|B)

    + +

    Definition at line 14 of file bayes_theorem.cpp.

    14 {
    15 return (BgivenA * A) / B;
    16}
    @@ -187,6 +210,8 @@ Note that \(P(A|B)\) is read 'The probability of A given that the event B has oc

    returns P(B|A)

    + +

    Definition at line 20 of file bayes_theorem.cpp.

    20 {
    21 return (AgivenB * B) / A;
    22}
    @@ -208,25 +233,20 @@ Note that \(P(A|B)\) is read 'The probability of A given that the event B has oc

    Main function

    + +

    Definition at line 26 of file bayes_theorem.cpp.

    26 {
    27 double A = 0.01;
    28 double B = 0.1;
    29 double BgivenA = 0.9;
    30 double AgivenB = bayes_AgivenB(BgivenA, A, B);
    -
    31 std::cout << "A given B = " << AgivenB << std::endl;
    -
    32 std::cout << "B given A = " << bayes_BgivenA(AgivenB, A, B) << std::endl;
    +
    31 std::cout << "A given B = " << AgivenB << std::endl;
    +
    32 std::cout << "B given A = " << bayes_BgivenA(AgivenB, A, B) << std::endl;
    33 return 0;
    34}
    - -
    double bayes_AgivenB(double BgivenA, double A, double B)
    Definition bayes_theorem.cpp:14
    -
    double bayes_BgivenA(double AgivenB, double A, double B)
    Definition bayes_theorem.cpp:20
    -
    T endl(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    double bayes_AgivenB(double BgivenA, double A, double B)
    +
    double bayes_BgivenA(double AgivenB, double A, double B)
    +
    diff --git a/d5/d67/bayes__theorem_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d5/d67/bayes__theorem_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 0b3ba520c..000000000 --- a/d5/d67/bayes__theorem_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/d5/d67/bayes__theorem_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d5/d67/bayes__theorem_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index 431257595..000000000 --- a/d5/d67/bayes__theorem_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -22c36dd5f8761c8e654da10dab22e10c \ No newline at end of file diff --git a/d5/d67/bayes__theorem_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d5/d67/bayes__theorem_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index f65c304c4..000000000 --- a/d5/d67/bayes__theorem_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -bayes_AgivenB - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -bayes_BgivenA - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::endl - - - - - -Node1->Node4 - - - - - - - - - - - - - diff --git a/d5/d67/bayes__theorem_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d5/d67/bayes__theorem_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index b2c2155ce..000000000 --- a/d5/d67/bayes__theorem_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -bayes_AgivenB - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -bayes_BgivenA - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::endl - - - - - -Node1->Node4 - - - - - - - - diff --git a/d5/d67/bayes__theorem_8cpp_source.html b/d5/d67/bayes__theorem_8cpp_source.html new file mode 100644 index 000000000..ec4f915d5 --- /dev/null +++ b/d5/d67/bayes__theorem_8cpp_source.html @@ -0,0 +1,166 @@ + + + + + + + + +TheAlgorithms/C++: probability/bayes_theorem.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    bayes_theorem.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    10#include <iostream>
    +
    11
    +
    +
    14double bayes_AgivenB(double BgivenA, double A, double B) {
    +
    15 return (BgivenA * A) / B;
    +
    16}
    +
    +
    17
    +
    +
    20double bayes_BgivenA(double AgivenB, double A, double B) {
    +
    21 return (AgivenB * B) / A;
    +
    22}
    +
    +
    23
    +
    +
    26int main() {
    +
    27 double A = 0.01;
    +
    28 double B = 0.1;
    +
    29 double BgivenA = 0.9;
    +
    30 double AgivenB = bayes_AgivenB(BgivenA, A, B);
    +
    31 std::cout << "A given B = " << AgivenB << std::endl;
    +
    32 std::cout << "B given A = " << bayes_BgivenA(AgivenB, A, B) << std::endl;
    +
    33 return 0;
    +
    34}
    +
    +
    double bayes_AgivenB(double BgivenA, double A, double B)
    +
    double bayes_BgivenA(double AgivenB, double A, double B)
    +
    int main()
    +
    +
    + + + + diff --git a/d5/d67/complex__numbers_8cpp.html b/d5/d67/complex__numbers_8cpp.html index 9dcc14ba0..504cce2d2 100644 --- a/d5/d67/complex__numbers_8cpp.html +++ b/d5/d67/complex__numbers_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: math/complex_numbers.cpp File Reference +TheAlgorithms/C++: math/complex_numbers.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -124,7 +141,9 @@ Include dependency graph for complex_numbers.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -136,7 +155,7 @@ Functions - + @@ -151,6 +170,8 @@ Functions

    An implementation of Complex Number as Objects.

    Author
    tjgurwara99

    A basic implementation of Complex Number field as a class with operators overloaded to accommodate (mathematical) field operations.

    + +

    Definition in file complex_numbers.cpp.

    Function Documentation

    ◆ get_rand()

    @@ -168,14 +189,10 @@ Functions

    Function to get random numbers to generate our complex numbers for test.

    -
    201{ return (std::rand() % 100 - 50) / 100.f; }
    -
    T rand(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    +

    Definition at line 201 of file complex_numbers.cpp.

    +
    201{ return (std::rand() % 100 - 50) / 100.f; }
    +
    @@ -193,17 +210,14 @@ Here is the call graph for this function:

    Classes

    class  Complex
    bool operator== (const Complex &a, const Complex &b)
     Operator overload of '==' on Complex class. Logical Equal overload for our Complex class.
     
    std::ostreamoperator<< (std::ostream &os, const Complex &num)
    std::ostream & operator<< (std::ostream &os, const Complex &num)
     Operator overload of '<<' of ostream for Complex class. Overloaded insersion operator to accommodate the printing of our complex number in their standard form.
     
    double get_rand ()

    Main function

    + +

    Definition at line 268 of file complex_numbers.cpp.

    268 {
    269 tests();
    270 return 0;
    271}
    -
    void tests()
    Definition complex_numbers.cpp:206
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    void tests()
    +
    @@ -213,9 +227,9 @@ Here is the call graph for this function:
    - + - + @@ -233,6 +247,8 @@ Here is the call graph for this function:
    std::ostream & operator<< std::ostream & operator<< (std::ostream & os, std::ostream & os,
    + +

    Definition at line 186 of file complex_numbers.cpp.

    186 {
    187 os << "(" << num.real();
    188 if (num.imag() < 0) {
    @@ -243,14 +259,9 @@ Here is the call graph for this function:
    193 os << "i)";
    194 return os;
    195}
    -
    double real() const
    Member function to get real value of our complex number. Member function (getter) to access the class...
    Definition complex_numbers.cpp:64
    -
    double imag() const
    Member function to get imaginary value of our complex number. Member function (getter) to access the ...
    Definition complex_numbers.cpp:70
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    double real() const
    Member function to get real value of our complex number. Member function (getter) to access the class...
    +
    double imag() const
    Member function to get imaginary value of our complex number. Member function (getter) to access the ...
    + @@ -283,15 +294,12 @@ Here is the call graph for this function:
    Returns
    'True' If real and imaginary parts of a and b are same
    'False' Otherwise.
    + +

    Definition at line 175 of file complex_numbers.cpp.

    175 {
    176 return a.real() == b.real() && a.imag() == b.imag();
    177}
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -309,80 +317,70 @@ Here is the call graph for this function:

    Tests Function

    + +

    Definition at line 206 of file complex_numbers.cpp.

    206 {
    -
    207 std::srand(std::time(nullptr));
    +
    207 std::srand(std::time(nullptr));
    208 double x1 = get_rand(), y1 = get_rand(), x2 = get_rand(), y2 = get_rand();
    209 Complex num1(x1, y1), num2(x2, y2);
    -
    210 std::complex<double> cnum1(x1, y1), cnum2(x2, y2);
    +
    210 std::complex<double> cnum1(x1, y1), cnum2(x2, y2);
    -
    212 std::complex<double> expected;
    +
    212 std::complex<double> expected;
    213 // Test for addition
    214 result = num1 + num2;
    215 expected = cnum1 + cnum2;
    216 assert(((void)"1 + 1i + 1 + 1i is equal to 2 + 2i but the addition doesn't "
    217 "add up \n",
    -
    218 (result.real() == expected.real() &&
    -
    219 result.imag() == expected.imag())));
    -
    220 std::cout << "First test passes." << std::endl;
    +
    218 (result.real() == expected.real() &&
    +
    219 result.imag() == expected.imag())));
    +
    220 std::cout << "First test passes." << std::endl;
    221 // Test for subtraction
    222 result = num1 - num2;
    223 expected = cnum1 - cnum2;
    224 assert(((void)"1 + 1i - 1 - 1i is equal to 0 but the program says "
    225 "otherwise. \n",
    -
    226 (result.real() == expected.real() &&
    -
    227 result.imag() == expected.imag())));
    -
    228 std::cout << "Second test passes." << std::endl;
    +
    226 (result.real() == expected.real() &&
    +
    227 result.imag() == expected.imag())));
    +
    228 std::cout << "Second test passes." << std::endl;
    229 // Test for multiplication
    230 result = num1 * num2;
    231 expected = cnum1 * cnum2;
    232 assert(((void)"(1 + 1i) * (1 + 1i) is equal to 2i but the program says "
    233 "otherwise. \n",
    -
    234 (result.real() == expected.real() &&
    -
    235 result.imag() == expected.imag())));
    -
    236 std::cout << "Third test passes." << std::endl;
    +
    234 (result.real() == expected.real() &&
    +
    235 result.imag() == expected.imag())));
    +
    236 std::cout << "Third test passes." << std::endl;
    237 // Test for division
    238 result = num1 / num2;
    239 expected = cnum1 / cnum2;
    240 assert(((void)"(1 + 1i) / (1 + 1i) is equal to 1 but the program says "
    241 "otherwise.\n",
    -
    242 (result.real() == expected.real() &&
    -
    243 result.imag() == expected.imag())));
    -
    244 std::cout << "Fourth test passes." << std::endl;
    +
    242 (result.real() == expected.real() &&
    +
    243 result.imag() == expected.imag())));
    +
    244 std::cout << "Fourth test passes." << std::endl;
    245 // Test for conjugates
    246 result = ~num1;
    247 expected = std::conj(cnum1);
    248 assert(((void)"(1 + 1i) has a conjugate which is equal to (1 - 1i) but the "
    249 "program says otherwise.\n",
    -
    250 (result.real() == expected.real() &&
    -
    251 result.imag() == expected.imag())));
    -
    252 std::cout << "Fifth test passes.\n";
    +
    250 (result.real() == expected.real() &&
    +
    251 result.imag() == expected.imag())));
    +
    252 std::cout << "Fifth test passes.\n";
    253 // Test for Argument of our complex number
    254 assert(((void)"(1 + 1i) has argument PI / 4 but the program differs from "
    255 "the std::complex result.\n",
    256 (num1.arg() == std::arg(cnum1))));
    -
    257 std::cout << "Sixth test passes.\n";
    +
    257 std::cout << "Sixth test passes.\n";
    258 // Test for absolute value of our complex number
    259 assert(((void)"(1 + 1i) has absolute value sqrt(2) but the program differs "
    260 "from the std::complex result. \n",
    261 (num1.abs() == std::abs(cnum1))));
    -
    262 std::cout << "Seventh test passes.\n";
    +
    262 std::cout << "Seventh test passes.\n";
    263}
    - -
    Class Complex to represent complex numbers as a field.
    Definition complex_numbers.cpp:20
    -
    double get_rand()
    Function to get random numbers to generate our complex numbers for test.
    Definition complex_numbers.cpp:201
    - -
    T endl(T... args)
    -
    uint64_t result(uint64_t n)
    Definition fibonacci_sum.cpp:77
    -
    T imag(T... args)
    -
    T real(T... args)
    -
    T srand(T... args)
    -
    T time(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    Class Complex to represent complex numbers as a field.
    +
    double get_rand()
    Function to get random numbers to generate our complex numbers for test.
    +
    uint64_t result(uint64_t n)
    +
    diff --git a/d5/d67/complex__numbers_8cpp_a44d5f25b573e870accdf26fd32b8484d_cgraph.map b/d5/d67/complex__numbers_8cpp_a44d5f25b573e870accdf26fd32b8484d_cgraph.map deleted file mode 100644 index 6abc166db..000000000 --- a/d5/d67/complex__numbers_8cpp_a44d5f25b573e870accdf26fd32b8484d_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/d5/d67/complex__numbers_8cpp_a44d5f25b573e870accdf26fd32b8484d_cgraph.md5 b/d5/d67/complex__numbers_8cpp_a44d5f25b573e870accdf26fd32b8484d_cgraph.md5 deleted file mode 100644 index 0a3617de7..000000000 --- a/d5/d67/complex__numbers_8cpp_a44d5f25b573e870accdf26fd32b8484d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -eba71bf1f050efe6ed924d50aaf86a2a \ No newline at end of file diff --git a/d5/d67/complex__numbers_8cpp_a44d5f25b573e870accdf26fd32b8484d_cgraph.svg b/d5/d67/complex__numbers_8cpp_a44d5f25b573e870accdf26fd32b8484d_cgraph.svg deleted file mode 100644 index a9606ed55..000000000 --- a/d5/d67/complex__numbers_8cpp_a44d5f25b573e870accdf26fd32b8484d_cgraph.svg +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - -operator<< - - -Node1 - - -operator<< - - - - - -Node2 - - -Complex::imag - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -Complex::real - - - - - -Node1->Node3 - - - - - - - - - - - - - diff --git a/d5/d67/complex__numbers_8cpp_a44d5f25b573e870accdf26fd32b8484d_cgraph_org.svg b/d5/d67/complex__numbers_8cpp_a44d5f25b573e870accdf26fd32b8484d_cgraph_org.svg deleted file mode 100644 index 496d70b4f..000000000 --- a/d5/d67/complex__numbers_8cpp_a44d5f25b573e870accdf26fd32b8484d_cgraph_org.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - -operator<< - - -Node1 - - -operator<< - - - - - -Node2 - - -Complex::imag - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -Complex::real - - - - - -Node1->Node3 - - - - - - - - diff --git a/d5/d67/complex__numbers_8cpp_a5a73e9d4e68af8cedb95bd0864054b89_cgraph.map b/d5/d67/complex__numbers_8cpp_a5a73e9d4e68af8cedb95bd0864054b89_cgraph.map deleted file mode 100644 index 565058812..000000000 --- a/d5/d67/complex__numbers_8cpp_a5a73e9d4e68af8cedb95bd0864054b89_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/d5/d67/complex__numbers_8cpp_a5a73e9d4e68af8cedb95bd0864054b89_cgraph.md5 b/d5/d67/complex__numbers_8cpp_a5a73e9d4e68af8cedb95bd0864054b89_cgraph.md5 deleted file mode 100644 index 6748bfd29..000000000 --- a/d5/d67/complex__numbers_8cpp_a5a73e9d4e68af8cedb95bd0864054b89_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -fdff4f33221bbb28cae236f0f9638cad \ No newline at end of file diff --git a/d5/d67/complex__numbers_8cpp_a5a73e9d4e68af8cedb95bd0864054b89_cgraph.svg b/d5/d67/complex__numbers_8cpp_a5a73e9d4e68af8cedb95bd0864054b89_cgraph.svg deleted file mode 100644 index dae35b921..000000000 --- a/d5/d67/complex__numbers_8cpp_a5a73e9d4e68af8cedb95bd0864054b89_cgraph.svg +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - -operator== - - -Node1 - - -operator== - - - - - -Node2 - - -Complex::imag - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -Complex::real - - - - - -Node1->Node3 - - - - - - - - - - - - - diff --git a/d5/d67/complex__numbers_8cpp_a5a73e9d4e68af8cedb95bd0864054b89_cgraph_org.svg b/d5/d67/complex__numbers_8cpp_a5a73e9d4e68af8cedb95bd0864054b89_cgraph_org.svg deleted file mode 100644 index 97e3912cc..000000000 --- a/d5/d67/complex__numbers_8cpp_a5a73e9d4e68af8cedb95bd0864054b89_cgraph_org.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - -operator== - - -Node1 - - -operator== - - - - - -Node2 - - -Complex::imag - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -Complex::real - - - - - -Node1->Node3 - - - - - - - - diff --git a/d5/d67/complex__numbers_8cpp_a5d4d5b8250b50703de888514c8e7a7a0_cgraph.map b/d5/d67/complex__numbers_8cpp_a5d4d5b8250b50703de888514c8e7a7a0_cgraph.map deleted file mode 100644 index b7964840b..000000000 --- a/d5/d67/complex__numbers_8cpp_a5d4d5b8250b50703de888514c8e7a7a0_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d5/d67/complex__numbers_8cpp_a5d4d5b8250b50703de888514c8e7a7a0_cgraph.md5 b/d5/d67/complex__numbers_8cpp_a5d4d5b8250b50703de888514c8e7a7a0_cgraph.md5 deleted file mode 100644 index e1496f573..000000000 --- a/d5/d67/complex__numbers_8cpp_a5d4d5b8250b50703de888514c8e7a7a0_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -49ccdd4e25c4f26002c9e44d917a5b55 \ No newline at end of file diff --git a/d5/d67/complex__numbers_8cpp_a5d4d5b8250b50703de888514c8e7a7a0_cgraph.svg b/d5/d67/complex__numbers_8cpp_a5d4d5b8250b50703de888514c8e7a7a0_cgraph.svg deleted file mode 100644 index f8d2864c0..000000000 --- a/d5/d67/complex__numbers_8cpp_a5d4d5b8250b50703de888514c8e7a7a0_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -get_rand - - -Node1 - - -get_rand - - - - - -Node2 - - -std::rand - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d5/d67/complex__numbers_8cpp_a5d4d5b8250b50703de888514c8e7a7a0_cgraph_org.svg b/d5/d67/complex__numbers_8cpp_a5d4d5b8250b50703de888514c8e7a7a0_cgraph_org.svg deleted file mode 100644 index 5ba931906..000000000 --- a/d5/d67/complex__numbers_8cpp_a5d4d5b8250b50703de888514c8e7a7a0_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -get_rand - - -Node1 - - -get_rand - - - - - -Node2 - - -std::rand - - - - - -Node1->Node2 - - - - - - - - diff --git a/d5/d67/complex__numbers_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph.map b/d5/d67/complex__numbers_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph.map deleted file mode 100644 index c0e181c4c..000000000 --- a/d5/d67/complex__numbers_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph.map +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - - - - - diff --git a/d5/d67/complex__numbers_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph.md5 b/d5/d67/complex__numbers_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph.md5 deleted file mode 100644 index 21694ad42..000000000 --- a/d5/d67/complex__numbers_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -a49d01e6663ce744609243a7e69b3192 \ No newline at end of file diff --git a/d5/d67/complex__numbers_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph.svg b/d5/d67/complex__numbers_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph.svg deleted file mode 100644 index 52ab485ea..000000000 --- a/d5/d67/complex__numbers_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph.svg +++ /dev/null @@ -1,173 +0,0 @@ - - - - - - - - - - - - -tests - - -Node1 - - -tests - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -get_rand - - - - - -Node1->Node3 - - - - - - - - -Node5 - - -std::complex::imag - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -std::complex::real - - - - - -Node1->Node6 - - - - - - - - -Node7 - - -std::srand - - - - - -Node1->Node7 - - - - - - - - -Node8 - - -std::time - - - - - -Node1->Node8 - - - - - - - - -Node4 - - -std::rand - - - - - -Node3->Node4 - - - - - - - - - - - - - diff --git a/d5/d67/complex__numbers_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph_org.svg b/d5/d67/complex__numbers_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph_org.svg deleted file mode 100644 index d450bcf4b..000000000 --- a/d5/d67/complex__numbers_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph_org.svg +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - -tests - - -Node1 - - -tests - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -get_rand - - - - - -Node1->Node3 - - - - - - - - -Node5 - - -std::complex::imag - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -std::complex::real - - - - - -Node1->Node6 - - - - - - - - -Node7 - - -std::srand - - - - - -Node1->Node7 - - - - - - - - -Node8 - - -std::time - - - - - -Node1->Node8 - - - - - - - - -Node4 - - -std::rand - - - - - -Node3->Node4 - - - - - - - - diff --git a/d5/d67/complex__numbers_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d5/d67/complex__numbers_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 22f4b3e39..000000000 --- a/d5/d67/complex__numbers_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - - - - - - - - - - diff --git a/d5/d67/complex__numbers_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d5/d67/complex__numbers_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index 1ec834f5c..000000000 --- a/d5/d67/complex__numbers_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -25e877a4d89474b28fedef1fbc719dc6 \ No newline at end of file diff --git a/d5/d67/complex__numbers_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d5/d67/complex__numbers_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index c4e6a1b53..000000000 --- a/d5/d67/complex__numbers_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,191 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -tests - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -get_rand - - - - - -Node2->Node4 - - - - - - - - -Node6 - - -std::complex::imag - - - - - -Node2->Node6 - - - - - - - - -Node7 - - -std::complex::real - - - - - -Node2->Node7 - - - - - - - - -Node8 - - -std::srand - - - - - -Node2->Node8 - - - - - - - - -Node9 - - -std::time - - - - - -Node2->Node9 - - - - - - - - -Node5 - - -std::rand - - - - - -Node4->Node5 - - - - - - - - - - - - - diff --git a/d5/d67/complex__numbers_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d5/d67/complex__numbers_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 9aa46ef8f..000000000 --- a/d5/d67/complex__numbers_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,165 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -tests - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -get_rand - - - - - -Node2->Node4 - - - - - - - - -Node6 - - -std::complex::imag - - - - - -Node2->Node6 - - - - - - - - -Node7 - - -std::complex::real - - - - - -Node2->Node7 - - - - - - - - -Node8 - - -std::srand - - - - - -Node2->Node8 - - - - - - - - -Node9 - - -std::time - - - - - -Node2->Node9 - - - - - - - - -Node5 - - -std::rand - - - - - -Node4->Node5 - - - - - - - - diff --git a/d5/d67/complex__numbers_8cpp_source.html b/d5/d67/complex__numbers_8cpp_source.html new file mode 100644 index 000000000..ec25004e7 --- /dev/null +++ b/d5/d67/complex__numbers_8cpp_source.html @@ -0,0 +1,340 @@ + + + + + + + + +TheAlgorithms/C++: math/complex_numbers.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    complex_numbers.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    10#include <cassert>
    +
    11#include <cmath>
    +
    12#include <complex>
    +
    13#include <ctime>
    +
    14#include <iostream>
    +
    15#include <stdexcept>
    +
    16
    +
    +
    20class Complex {
    +
    21 // The real value of the complex number
    +
    22 double re;
    +
    23 // The imaginary value of the complex number
    +
    24 double im;
    +
    25
    +
    26 public:
    +
    +
    43 explicit Complex(double x = 0.f, double y = 0.f, bool is_polar = false) {
    +
    44 if (!is_polar) {
    +
    45 re = x;
    +
    46 im = y;
    +
    47 return;
    +
    48 }
    +
    49
    +
    50 re = x * std::cos(y);
    +
    51 im = x * std::sin(y);
    +
    52 }
    +
    +
    53
    +
    58 Complex(const Complex &other) : re(other.real()), im(other.imag()) {}
    +
    59
    +
    64 double real() const { return this->re; }
    +
    65
    +
    70 double imag() const { return this->im; }
    +
    71
    +
    +
    79 double abs() const {
    +
    80 return std::sqrt(this->re * this->re + this->im * this->im);
    +
    81 }
    +
    +
    82
    +
    87 double arg() const { return std::atan2(this->im, this->re); }
    +
    88
    +
    +
    95 Complex operator+(const Complex &other) {
    +
    96 Complex result(this->re + other.re, this->im + other.im);
    +
    97 return result;
    +
    98 }
    +
    +
    99
    +
    +
    106 Complex operator-(const Complex &other) {
    +
    107 Complex result(this->re - other.re, this->im - other.im);
    +
    108 return result;
    +
    109 }
    +
    +
    110
    +
    +
    117 Complex operator*(const Complex &other) {
    +
    118 Complex result(this->re * other.re - this->im * other.im,
    +
    119 this->re * other.im + this->im * other.re);
    +
    120 return result;
    +
    121 }
    +
    +
    122
    +
    + +
    131 Complex result(this->re, -(this->im));
    +
    132 return result;
    +
    133 }
    +
    +
    134
    +
    +
    142 Complex operator/(const Complex &other) {
    +
    143 Complex result = *this * ~other;
    +
    144 double denominator =
    +
    145 other.real() * other.real() + other.imag() * other.imag();
    +
    146 if (denominator != 0) {
    +
    147 result = Complex(result.real() / denominator,
    +
    148 result.imag() / denominator);
    +
    149 return result;
    +
    150 } else {
    +
    151 throw std::invalid_argument("Undefined Value");
    +
    152 }
    +
    153 }
    +
    +
    154
    +
    +
    160 const Complex &operator=(const Complex &other) {
    +
    161 this->re = other.real();
    +
    162 this->im = other.imag();
    +
    163 return *this;
    +
    164 }
    +
    +
    165};
    +
    +
    166
    +
    +
    175bool operator==(const Complex &a, const Complex &b) {
    +
    176 return a.real() == b.real() && a.imag() == b.imag();
    +
    177}
    +
    +
    178
    +
    +
    186std::ostream &operator<<(std::ostream &os, const Complex &num) {
    +
    187 os << "(" << num.real();
    +
    188 if (num.imag() < 0) {
    +
    189 os << " - " << -num.imag();
    +
    190 } else {
    +
    191 os << " + " << num.imag();
    +
    192 }
    +
    193 os << "i)";
    +
    194 return os;
    +
    195}
    +
    +
    196
    +
    201double get_rand() { return (std::rand() % 100 - 50) / 100.f; }
    +
    202
    +
    +
    206void tests() {
    +
    207 std::srand(std::time(nullptr));
    +
    208 double x1 = get_rand(), y1 = get_rand(), x2 = get_rand(), y2 = get_rand();
    +
    209 Complex num1(x1, y1), num2(x2, y2);
    +
    210 std::complex<double> cnum1(x1, y1), cnum2(x2, y2);
    +
    211 Complex result;
    +
    212 std::complex<double> expected;
    +
    213 // Test for addition
    +
    214 result = num1 + num2;
    +
    215 expected = cnum1 + cnum2;
    +
    216 assert(((void)"1 + 1i + 1 + 1i is equal to 2 + 2i but the addition doesn't "
    +
    217 "add up \n",
    +
    218 (result.real() == expected.real() &&
    +
    219 result.imag() == expected.imag())));
    +
    220 std::cout << "First test passes." << std::endl;
    +
    221 // Test for subtraction
    +
    222 result = num1 - num2;
    +
    223 expected = cnum1 - cnum2;
    +
    224 assert(((void)"1 + 1i - 1 - 1i is equal to 0 but the program says "
    +
    225 "otherwise. \n",
    +
    226 (result.real() == expected.real() &&
    +
    227 result.imag() == expected.imag())));
    +
    228 std::cout << "Second test passes." << std::endl;
    +
    229 // Test for multiplication
    +
    230 result = num1 * num2;
    +
    231 expected = cnum1 * cnum2;
    +
    232 assert(((void)"(1 + 1i) * (1 + 1i) is equal to 2i but the program says "
    +
    233 "otherwise. \n",
    +
    234 (result.real() == expected.real() &&
    +
    235 result.imag() == expected.imag())));
    +
    236 std::cout << "Third test passes." << std::endl;
    +
    237 // Test for division
    +
    238 result = num1 / num2;
    +
    239 expected = cnum1 / cnum2;
    +
    240 assert(((void)"(1 + 1i) / (1 + 1i) is equal to 1 but the program says "
    +
    241 "otherwise.\n",
    +
    242 (result.real() == expected.real() &&
    +
    243 result.imag() == expected.imag())));
    +
    244 std::cout << "Fourth test passes." << std::endl;
    +
    245 // Test for conjugates
    +
    246 result = ~num1;
    +
    247 expected = std::conj(cnum1);
    +
    248 assert(((void)"(1 + 1i) has a conjugate which is equal to (1 - 1i) but the "
    +
    249 "program says otherwise.\n",
    +
    250 (result.real() == expected.real() &&
    +
    251 result.imag() == expected.imag())));
    +
    252 std::cout << "Fifth test passes.\n";
    +
    253 // Test for Argument of our complex number
    +
    254 assert(((void)"(1 + 1i) has argument PI / 4 but the program differs from "
    +
    255 "the std::complex result.\n",
    +
    256 (num1.arg() == std::arg(cnum1))));
    +
    257 std::cout << "Sixth test passes.\n";
    +
    258 // Test for absolute value of our complex number
    +
    259 assert(((void)"(1 + 1i) has absolute value sqrt(2) but the program differs "
    +
    260 "from the std::complex result. \n",
    +
    261 (num1.abs() == std::abs(cnum1))));
    +
    262 std::cout << "Seventh test passes.\n";
    +
    263}
    +
    +
    264
    +
    +
    268int main() {
    +
    269 tests();
    +
    270 return 0;
    +
    271}
    +
    +
    Class Complex to represent complex numbers as a field.
    +
    double real() const
    Member function to get real value of our complex number. Member function (getter) to access the class...
    +
    Complex operator-(const Complex &other)
    Operator overload of '-' on Complex class. Operator overload to be able to subtract two complex numbe...
    +
    Complex(double x=0.f, double y=0.f, bool is_polar=false)
    Complex Constructor which initialises our complex number.
    +
    Complex(const Complex &other)
    Copy Constructor.
    +
    const Complex & operator=(const Complex &other)
    Operator overload of '=' on Complex class. Operator overload to be able to copy RHS instance of Compl...
    +
    Complex operator+(const Complex &other)
    Operator overload of '+' on Complex class. Operator overload to be able to add two complex numbers.
    +
    Complex operator~() const
    Operator overload of '~' on Complex class. Operator overload of the BITWISE NOT which gives us the co...
    +
    Complex operator*(const Complex &other)
    Operator overload of '*' on Complex class. Operator overload to be able to multiple two complex numbe...
    +
    Complex operator/(const Complex &other)
    Operator overload of '/' on Complex class. Operator overload to be able to divide two complex numbers...
    +
    double arg() const
    Member function to give the argument of our complex number.
    +
    double abs() const
    Member function to give the modulus of our complex number. Member function to which gives the absolut...
    +
    double imag() const
    Member function to get imaginary value of our complex number. Member function (getter) to access the ...
    +
    std::ostream & operator<<(std::ostream &os, const Complex &num)
    Operator overload of '<<' of ostream for Complex class. Overloaded insersion operator to accommodate ...
    +
    bool operator==(const Complex &a, const Complex &b)
    Operator overload of '==' on Complex class. Logical Equal overload for our Complex class.
    +
    double get_rand()
    Function to get random numbers to generate our complex numbers for test.
    +
    void tests()
    +
    int main()
    +
    +
    + + + + diff --git a/d5/d6e/classcatalan__numbers__coll__graph.map b/d5/d6e/classcatalan__numbers__coll__graph.map index 0cb63e331..b5271c766 100644 --- a/d5/d6e/classcatalan__numbers__coll__graph.map +++ b/d5/d6e/classcatalan__numbers__coll__graph.map @@ -1,7 +1,5 @@ - - - - - + + + diff --git a/d5/d6e/classcatalan__numbers__coll__graph.md5 b/d5/d6e/classcatalan__numbers__coll__graph.md5 index 950c4b5a2..131d01e51 100644 --- a/d5/d6e/classcatalan__numbers__coll__graph.md5 +++ b/d5/d6e/classcatalan__numbers__coll__graph.md5 @@ -1 +1 @@ -3ccad1fd2e73dc49c7f2b6cb324f18db \ No newline at end of file +aa97625a993f74af9da17cfc12c93640 \ No newline at end of file diff --git a/d5/d6e/classcatalan__numbers__coll__graph.svg b/d5/d6e/classcatalan__numbers__coll__graph.svg index e5451199d..259d11f0c 100644 --- a/d5/d6e/classcatalan__numbers__coll__graph.svg +++ b/d5/d6e/classcatalan__numbers__coll__graph.svg @@ -4,8 +4,8 @@ - + @@ -17,23 +17,24 @@ ]]> - + catalan_numbers Node1 - -catalan_numbers + +catalan_numbers Node2 - - -std::vector< std::uint64_t > + + +std::vector< value +_type > @@ -41,30 +42,11 @@ Node2->Node1 - - + + - known - - - -Node3 - - -std::uint64_t - - - - - -Node3->Node2 - - - - - - elements + known diff --git a/d5/d6e/classcatalan__numbers__coll__graph_org.svg b/d5/d6e/classcatalan__numbers__coll__graph_org.svg index 6f920e1b5..3cc81c81d 100644 --- a/d5/d6e/classcatalan__numbers__coll__graph_org.svg +++ b/d5/d6e/classcatalan__numbers__coll__graph_org.svg @@ -4,25 +4,26 @@ - - + + catalan_numbers Node1 - -catalan_numbers + +catalan_numbers Node2 - - -std::vector< std::uint64_t > + + +std::vector< value +_type > @@ -30,30 +31,11 @@ Node2->Node1 - - + + - known - - - -Node3 - - -std::uint64_t - - - - - -Node3->Node2 - - - - - - elements + known diff --git a/d5/d7a/largest__power_8cpp.html b/d5/d7a/largest__power_8cpp.html index 2dc6ac381..9ba832870 100644 --- a/d5/d7a/largest__power_8cpp.html +++ b/d5/d7a/largest__power_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: math/largest_power.cpp File Reference +TheAlgorithms/C++: math/largest_power.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -121,7 +138,9 @@ Include dependency graph for largest_power.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -147,6 +166,8 @@ Functions
    Author
    uday6670
    + +

    Definition in file largest_power.cpp.

    Function Documentation

    ◆ main()

    @@ -165,17 +186,14 @@ Functions

    Main function.

    Returns
    0 on exit
    + +

    Definition at line 74 of file largest_power.cpp.

    74 {
    75 test(); // execute the tests
    76 return 0;
    77}
    -
    static void test()
    Function for testing largestPower function. test cases and assert statement.
    Definition largest_power.cpp:48
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static void test()
    Function for testing largestPower function. test cases and assert statement.
    + @@ -203,36 +221,31 @@ Here is the call graph for this function:

    Function for testing largestPower function. test cases and assert statement.

    Returns
    void
    + +

    Definition at line 48 of file largest_power.cpp.

    48 {
    49 uint8_t test_case_1 = math::largestPower(5, 2);
    50 assert(test_case_1 == 3);
    -
    51 std::cout << "Test 1 Passed!" << std::endl;
    +
    51 std::cout << "Test 1 Passed!" << std::endl;
    52
    53 uint16_t test_case_2 = math::largestPower(10, 3);
    54 assert(test_case_2 == 4);
    -
    55 std::cout << "Test 2 Passed!" << std::endl;
    +
    55 std::cout << "Test 2 Passed!" << std::endl;
    56
    57 uint32_t test_case_3 = math::largestPower(25, 5);
    58 assert(test_case_3 == 6);
    -
    59 std::cout << "Test 3 Passed!" << std::endl;
    +
    59 std::cout << "Test 3 Passed!" << std::endl;
    60
    61 uint32_t test_case_4 = math::largestPower(27, 2);
    62 assert(test_case_4 == 23);
    -
    63 std::cout << "Test 4 Passed!" << std::endl;
    +
    63 std::cout << "Test 4 Passed!" << std::endl;
    64
    65 uint16_t test_case_5 = math::largestPower(7, 3);
    66 assert(test_case_5 == 2);
    -
    67 std::cout << "Test 5 Passed!" << std::endl;
    +
    67 std::cout << "Test 5 Passed!" << std::endl;
    68}
    - -
    T endl(T... args)
    -
    uint64_t largestPower(uint32_t n, const uint16_t &p)
    Function to calculate largest power.
    Definition largest_power.cpp:29
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    uint64_t largestPower(uint32_t n, const uint16_t &p)
    Function to calculate largest power.
    + diff --git a/d5/d7a/largest__power_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map b/d5/d7a/largest__power_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map deleted file mode 100644 index 1173bf426..000000000 --- a/d5/d7a/largest__power_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/d5/d7a/largest__power_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 b/d5/d7a/largest__power_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 deleted file mode 100644 index 87b403617..000000000 --- a/d5/d7a/largest__power_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -af66575909c8c22b7274cc9806008db3 \ No newline at end of file diff --git a/d5/d7a/largest__power_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg b/d5/d7a/largest__power_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg deleted file mode 100644 index 6180aafcf..000000000 --- a/d5/d7a/largest__power_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -math::largestPower - - - - - -Node1->Node3 - - - - - - - - - - - - - diff --git a/d5/d7a/largest__power_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg b/d5/d7a/largest__power_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg deleted file mode 100644 index c226b3a86..000000000 --- a/d5/d7a/largest__power_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -math::largestPower - - - - - -Node1->Node3 - - - - - - - - diff --git a/d5/d7a/largest__power_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d5/d7a/largest__power_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 482b75bdd..000000000 --- a/d5/d7a/largest__power_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/d5/d7a/largest__power_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d5/d7a/largest__power_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index bbe62a731..000000000 --- a/d5/d7a/largest__power_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -998094c3a5307ffb21e9f95aab282852 \ No newline at end of file diff --git a/d5/d7a/largest__power_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d5/d7a/largest__power_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index d3f553519..000000000 --- a/d5/d7a/largest__power_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -math::largestPower - - - - - -Node2->Node4 - - - - - - - - - - - - - diff --git a/d5/d7a/largest__power_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d5/d7a/largest__power_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 5b55ad0d8..000000000 --- a/d5/d7a/largest__power_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -math::largestPower - - - - - -Node2->Node4 - - - - - - - - diff --git a/d5/d7a/largest__power_8cpp_source.html b/d5/d7a/largest__power_8cpp_source.html new file mode 100644 index 000000000..9c3ffd10a --- /dev/null +++ b/d5/d7a/largest__power_8cpp_source.html @@ -0,0 +1,193 @@ + + + + + + + + +TheAlgorithms/C++: math/largest_power.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    +

    Namespaces

    namespace  math
    + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + + +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    largest_power.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    14#include <cassert>
    +
    15#include <cstdint>
    +
    16#include <iostream>
    +
    21namespace math {
    +
    22
    +
    +
    29uint64_t largestPower(uint32_t n, const uint16_t& p) {
    +
    30 // Initialize result
    +
    31 int x = 0;
    +
    32
    +
    33 // Calculate result
    +
    34 while (n) {
    +
    35 n /= p;
    +
    36 x += n;
    +
    37 }
    +
    38 return x;
    +
    39}
    +
    +
    40
    +
    41} // namespace math
    +
    42
    +
    +
    48static void test() {
    +
    49 uint8_t test_case_1 = math::largestPower(5, 2);
    +
    50 assert(test_case_1 == 3);
    +
    51 std::cout << "Test 1 Passed!" << std::endl;
    +
    52
    +
    53 uint16_t test_case_2 = math::largestPower(10, 3);
    +
    54 assert(test_case_2 == 4);
    +
    55 std::cout << "Test 2 Passed!" << std::endl;
    +
    56
    +
    57 uint32_t test_case_3 = math::largestPower(25, 5);
    +
    58 assert(test_case_3 == 6);
    +
    59 std::cout << "Test 3 Passed!" << std::endl;
    +
    60
    +
    61 uint32_t test_case_4 = math::largestPower(27, 2);
    +
    62 assert(test_case_4 == 23);
    +
    63 std::cout << "Test 4 Passed!" << std::endl;
    +
    64
    +
    65 uint16_t test_case_5 = math::largestPower(7, 3);
    +
    66 assert(test_case_5 == 2);
    +
    67 std::cout << "Test 5 Passed!" << std::endl;
    +
    68}
    +
    +
    69
    +
    +
    74int main() {
    +
    75 test(); // execute the tests
    +
    76 return 0;
    +
    77}
    +
    +
    static void test()
    Function for testing largestPower function. test cases and assert statement.
    +
    int main()
    Main function.
    +
    for assert
    +
    uint64_t largestPower(uint32_t n, const uint16_t &p)
    Function to calculate largest power.
    +
    +
    + + + + diff --git a/d5/d82/edit__distance_8cpp_source.html b/d5/d82/edit__distance_8cpp_source.html new file mode 100644 index 000000000..d8079bc3e --- /dev/null +++ b/d5/d82/edit__distance_8cpp_source.html @@ -0,0 +1,226 @@ + + + + + + + + +TheAlgorithms/C++: dynamic_programming/edit_distance.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    edit_distance.cpp
    +
    +
    +
    1/* Given two strings str1 & str2
    +
    2 * and below operations that can
    +
    3 * be performed on str1. Find
    +
    4 * minimum number of edits
    +
    5 * (operations) required to convert
    +
    6 * 'str1' into 'str2'/
    +
    7 * a. Insert
    +
    8 * b. Remove
    +
    9 * c. Replace
    +
    10 * All of the above operations are
    +
    11 * of equal cost
    +
    12 */
    +
    13
    +
    14#include <iostream>
    +
    15#include <string>
    +
    16#include <vector>
    +
    17using namespace std;
    +
    18
    +
    19int min(int x, int y, int z) { return min(min(x, y), z); }
    +
    20
    +
    21/* A Naive recursive C++ program to find
    +
    22 * minimum number of operations to convert
    +
    23 * str1 to str2.
    +
    24 * O(3^m)
    +
    25 */
    +
    26int editDist(string str1, string str2, int m, int n) {
    +
    27 if (m == 0)
    +
    28 return n;
    +
    29 if (n == 0)
    +
    30 return m;
    +
    31
    +
    32 // If last characters are same then continue
    +
    33 // for the rest of them.
    +
    34 if (str1[m - 1] == str2[n - 1])
    +
    35 return editDist(str1, str2, m - 1, n - 1);
    +
    36
    +
    37 // If last not same, then 3 possibilities
    +
    38 // a.Insert b.Remove c. Replace
    +
    39 // Get min of three and continue for rest.
    +
    40 return 1 + min(editDist(str1, str2, m, n - 1),
    +
    41 editDist(str1, str2, m - 1, n),
    +
    42 editDist(str1, str2, m - 1, n - 1));
    +
    43}
    +
    44
    +
    45/* A DP based program
    +
    46 * O(m x n)
    +
    47 */
    +
    48int editDistDP(string str1, string str2, int m, int n) {
    +
    49 // Create Table for SubProblems
    +
    50 std::vector<std::vector<int> > dp(m + 1, std::vector<int>(n + 1));
    +
    51
    +
    52 // Fill d[][] in bottom up manner
    +
    53 for (int i = 0; i <= m; i++) {
    +
    54 for (int j = 0; j <= n; j++) {
    +
    55 // If str1 empty. Then add all of str2
    +
    56 if (i == 0)
    +
    57 dp[i][j] = j;
    +
    58
    +
    59 // If str2 empty. Then add all of str1
    +
    60 else if (j == 0)
    +
    61 dp[i][j] = i;
    +
    62
    +
    63 // If character same. Recur for remaining
    +
    64 else if (str1[i - 1] == str2[j - 1])
    +
    65 dp[i][j] = dp[i - 1][j - 1];
    +
    66
    +
    67 else
    +
    68 dp[i][j] = 1 + min(dp[i][j - 1], // Insert
    +
    69 dp[i - 1][j], // Remove
    +
    70 dp[i - 1][j - 1] // Replace
    +
    71 );
    +
    72 }
    +
    73 }
    +
    74
    +
    75 return dp[m][n];
    +
    76}
    +
    77
    +
    78int main() {
    +
    79 string str1 = "sunday";
    +
    80 string str2 = "saturday";
    +
    81
    +
    82 cout << editDist(str1, str2, str1.length(), str2.length()) << endl;
    +
    83 cout << editDistDP(str1, str2, str1.length(), str2.length()) << endl;
    +
    84
    +
    85 return 0;
    +
    86}
    +
    int main()
    Main function.
    +
    #define endl
    +
    for std::vector
    +
    +
    + + + + diff --git a/d5/d83/lcm__sum_8cpp.html b/d5/d83/lcm__sum_8cpp.html index 215a3327c..ea7d89c9f 100644 --- a/d5/d83/lcm__sum_8cpp.html +++ b/d5/d83/lcm__sum_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: math/lcm_sum.cpp File Reference +TheAlgorithms/C++: math/lcm_sum.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -123,7 +140,9 @@ Include dependency graph for lcm_sum.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -149,6 +168,8 @@ Functions \mathrm{ETF}(d)) + 1\right) * n\right] \]

    where \mathrm{ETF}(i) represents Euler totient function of i.

    Author
    Chesta Mittal
    + +

    Definition in file lcm_sum.cpp.

    Function Documentation

    ◆ main()

    @@ -167,17 +188,14 @@ Functions

    Main function.

    Returns
    0 on exit
    + +

    Definition at line 97 of file lcm_sum.cpp.

    97 {
    98 test(); // execute the tests
    99 return 0;
    100}
    -
    static void test()
    Definition lcm_sum.cpp:66
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static void test()
    Definition lcm_sum.cpp:66
    + @@ -203,44 +221,39 @@ Here is the call graph for this function:

    Namespaces

    namespace  math

    Function for testing lcmSum function. test cases and assert statement.

    Returns
    void
    + +

    Definition at line 66 of file lcm_sum.cpp.

    66 {
    67 uint64_t n = 2;
    68 uint64_t test_1 = math::lcmSum(n);
    69 assert(test_1 == 4);
    -
    70 std::cout << "Passed Test 1!" << std::endl;
    +
    70 std::cout << "Passed Test 1!" << std::endl;
    71
    72 n = 5;
    73 uint64_t test_2 = math::lcmSum(n);
    74 assert(test_2 == 55);
    -
    75 std::cout << "Passed Test 2!" << std::endl;
    +
    75 std::cout << "Passed Test 2!" << std::endl;
    76
    77 n = 10;
    78 uint64_t test_3 = math::lcmSum(n);
    79 assert(test_3 == 320);
    -
    80 std::cout << "Passed Test 3!" << std::endl;
    +
    80 std::cout << "Passed Test 3!" << std::endl;
    81
    82 n = 11;
    83 uint64_t test_4 = math::lcmSum(n);
    84 assert(test_4 == 616);
    -
    85 std::cout << "Passed Test 4!" << std::endl;
    +
    85 std::cout << "Passed Test 4!" << std::endl;
    86
    87 n = 15;
    88 uint64_t test_5 = math::lcmSum(n);
    89 assert(test_5 == 1110);
    -
    90 std::cout << "Passed Test 5!" << std::endl;
    +
    90 std::cout << "Passed Test 5!" << std::endl;
    91}
    - -
    T endl(T... args)
    -
    static void test_1()
    Definition heavy_light_decomposition.cpp:505
    -
    static void test_2()
    Definition heavy_light_decomposition.cpp:549
    -
    static void test_3()
    Definition heavy_light_decomposition.cpp:592
    -
    uint64_t lcmSum(const uint16_t &num)
    Definition lcm_sum.cpp:30
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static void test_1()
    +
    static void test_2()
    +
    static void test_3()
    +
    uint64_t lcmSum(const uint16_t &num)
    Definition lcm_sum.cpp:30
    +
    diff --git a/d5/d83/lcm__sum_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map b/d5/d83/lcm__sum_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map deleted file mode 100644 index 79a83ffd6..000000000 --- a/d5/d83/lcm__sum_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map +++ /dev/null @@ -1,73 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d5/d83/lcm__sum_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 b/d5/d83/lcm__sum_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 deleted file mode 100644 index d63a9339c..000000000 --- a/d5/d83/lcm__sum_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -28377f0185718dd60dd31b426d893b3a \ No newline at end of file diff --git a/d5/d83/lcm__sum_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg b/d5/d83/lcm__sum_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg deleted file mode 100644 index cb556e4f8..000000000 --- a/d5/d83/lcm__sum_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg +++ /dev/null @@ -1,766 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -math::lcmSum - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -test_1 - - - - - -Node1->Node4 - - - - - - - - -Node24 - - -test_2 - - - - - -Node1->Node24 - - - - - - - - -Node25 - - -test_3 - - - - - -Node1->Node25 - - - - - - - - -Node5 - - -range_queries::heavy -_light_decomposition -::Tree::add_edge - - - - - -Node4->Node5 - - - - - - - - -Node6 - - -std::vector::push_back - - - - - -Node4->Node6 - - - - - - - - -Node7 - - -range_queries::heavy -_light_decomposition -::HLD::init - - - - - -Node4->Node7 - - - - - - - - -Node15 - - -range_queries::heavy -_light_decomposition -::HLD::query - - - - - -Node4->Node15 - - - - - - - - -Node20 - - -range_queries::heavy -_light_decomposition -::Tree::set_node_val - - - - - -Node4->Node20 - - - - - - - - -Node21 - - -std::vector::size - - - - - -Node4->Node21 - - - - - - - - -Node22 - - -range_queries::heavy -_light_decomposition -::HLD::update - - - - - -Node4->Node22 - - - - - - - - -Node5->Node6 - - - - - - - - -Node8 - - -range_queries::heavy -_light_decomposition -::SG::combine - - - - - -Node7->Node8 - - - - - - - - -Node9 - - -range_queries::heavy -_light_decomposition -::HLD::dfs_hc - - - - - -Node7->Node9 - - - - - - - - -Node10 - - -range_queries::heavy -_light_decomposition -::HLD::dfs_labels - - - - - -Node7->Node10 - - - - - - - - -Node11 - - -range_queries::heavy -_light_decomposition -::HLD::dfs_par - - - - - -Node7->Node11 - - - - - - - - -Node12 - - -range_queries::heavy -_light_decomposition -::Tree::init - - - - - -Node7->Node12 - - - - - - - - -Node9->Node9 - - - - - - - - -Node10->Node10 - - - - - - - - -Node11->Node11 - - - - - - - - -Node13 - - -range_queries::heavy -_light_decomposition -::Tree::dfs_lca - - - - - -Node12->Node13 - - - - - - - - -Node14 - - -range_queries::heavy -_light_decomposition -::Tree::dfs_size - - - - - -Node12->Node14 - - - - - - - - -Node13->Node13 - - - - - - - - -Node14->Node14 - - - - - - - - -Node16 - - -range_queries::heavy -_light_decomposition -::HLD::chain_query - - - - - -Node15->Node16 - - - - - - - - -Node18 - - -range_queries::heavy -_light_decomposition -::Tree::lca - - - - - -Node15->Node18 - - - - - - - - -Node16->Node8 - - - - - - - - -Node17 - - -std::swap - - - - - -Node16->Node17 - - - - - - - - -Node19 - - -range_queries::heavy -_light_decomposition -::Tree::lift - - - - - -Node18->Node19 - - - - - - - - -Node20->Node21 - - - - - - - - -Node23 - - -range_queries::heavy -_light_decomposition -::SG::update - - - - - -Node22->Node23 - - - - - - - - -Node24->Node5 - - - - - - - - -Node24->Node6 - - - - - - - - -Node24->Node7 - - - - - - - - -Node24->Node15 - - - - - - - - -Node24->Node20 - - - - - - - - -Node24->Node21 - - - - - - - - -Node24->Node22 - - - - - - - - -Node25->Node5 - - - - - - - - -Node25->Node6 - - - - - - - - -Node25->Node7 - - - - - - - - -Node25->Node15 - - - - - - - - -Node25->Node20 - - - - - - - - -Node25->Node21 - - - - - - - - -Node25->Node22 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d5/d83/lcm__sum_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg b/d5/d83/lcm__sum_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg deleted file mode 100644 index 9f970e70c..000000000 --- a/d5/d83/lcm__sum_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg +++ /dev/null @@ -1,683 +0,0 @@ - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -math::lcmSum - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -test_1 - - - - - -Node1->Node4 - - - - - - - - -Node24 - - -test_2 - - - - - -Node1->Node24 - - - - - - - - -Node25 - - -test_3 - - - - - -Node1->Node25 - - - - - - - - -Node5 - - -range_queries::heavy -_light_decomposition -::Tree::add_edge - - - - - -Node4->Node5 - - - - - - - - -Node6 - - -std::vector::push_back - - - - - -Node4->Node6 - - - - - - - - -Node7 - - -range_queries::heavy -_light_decomposition -::HLD::init - - - - - -Node4->Node7 - - - - - - - - -Node15 - - -range_queries::heavy -_light_decomposition -::HLD::query - - - - - -Node4->Node15 - - - - - - - - -Node20 - - -range_queries::heavy -_light_decomposition -::Tree::set_node_val - - - - - -Node4->Node20 - - - - - - - - -Node21 - - -std::vector::size - - - - - -Node4->Node21 - - - - - - - - -Node22 - - -range_queries::heavy -_light_decomposition -::HLD::update - - - - - -Node4->Node22 - - - - - - - - -Node5->Node6 - - - - - - - - -Node8 - - -range_queries::heavy -_light_decomposition -::SG::combine - - - - - -Node7->Node8 - - - - - - - - -Node9 - - -range_queries::heavy -_light_decomposition -::HLD::dfs_hc - - - - - -Node7->Node9 - - - - - - - - -Node10 - - -range_queries::heavy -_light_decomposition -::HLD::dfs_labels - - - - - -Node7->Node10 - - - - - - - - -Node11 - - -range_queries::heavy -_light_decomposition -::HLD::dfs_par - - - - - -Node7->Node11 - - - - - - - - -Node12 - - -range_queries::heavy -_light_decomposition -::Tree::init - - - - - -Node7->Node12 - - - - - - - - -Node9->Node9 - - - - - - - - -Node10->Node10 - - - - - - - - -Node11->Node11 - - - - - - - - -Node13 - - -range_queries::heavy -_light_decomposition -::Tree::dfs_lca - - - - - -Node12->Node13 - - - - - - - - -Node14 - - -range_queries::heavy -_light_decomposition -::Tree::dfs_size - - - - - -Node12->Node14 - - - - - - - - -Node13->Node13 - - - - - - - - -Node14->Node14 - - - - - - - - -Node16 - - -range_queries::heavy -_light_decomposition -::HLD::chain_query - - - - - -Node15->Node16 - - - - - - - - -Node18 - - -range_queries::heavy -_light_decomposition -::Tree::lca - - - - - -Node15->Node18 - - - - - - - - -Node16->Node8 - - - - - - - - -Node17 - - -std::swap - - - - - -Node16->Node17 - - - - - - - - -Node19 - - -range_queries::heavy -_light_decomposition -::Tree::lift - - - - - -Node18->Node19 - - - - - - - - -Node20->Node21 - - - - - - - - -Node23 - - -range_queries::heavy -_light_decomposition -::SG::update - - - - - -Node22->Node23 - - - - - - - - -Node24->Node5 - - - - - - - - -Node24->Node6 - - - - - - - - -Node24->Node7 - - - - - - - - -Node24->Node15 - - - - - - - - -Node24->Node20 - - - - - - - - -Node24->Node21 - - - - - - - - -Node24->Node22 - - - - - - - - -Node25->Node5 - - - - - - - - -Node25->Node6 - - - - - - - - -Node25->Node7 - - - - - - - - -Node25->Node15 - - - - - - - - -Node25->Node20 - - - - - - - - -Node25->Node21 - - - - - - - - -Node25->Node22 - - - - - - - - diff --git a/d5/d83/lcm__sum_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d5/d83/lcm__sum_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 273ea2896..000000000 --- a/d5/d83/lcm__sum_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d5/d83/lcm__sum_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d5/d83/lcm__sum_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index 2368eff14..000000000 --- a/d5/d83/lcm__sum_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -0b85e68f3e10681e864547e04fe383fb \ No newline at end of file diff --git a/d5/d83/lcm__sum_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d5/d83/lcm__sum_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 6f59d6a2a..000000000 --- a/d5/d83/lcm__sum_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,784 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -math::lcmSum - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -test_1 - - - - - -Node2->Node5 - - - - - - - - -Node25 - - -test_2 - - - - - -Node2->Node25 - - - - - - - - -Node26 - - -test_3 - - - - - -Node2->Node26 - - - - - - - - -Node6 - - -range_queries::heavy -_light_decomposition -::Tree::add_edge - - - - - -Node5->Node6 - - - - - - - - -Node7 - - -std::vector::push_back - - - - - -Node5->Node7 - - - - - - - - -Node8 - - -range_queries::heavy -_light_decomposition -::HLD::init - - - - - -Node5->Node8 - - - - - - - - -Node16 - - -range_queries::heavy -_light_decomposition -::HLD::query - - - - - -Node5->Node16 - - - - - - - - -Node21 - - -range_queries::heavy -_light_decomposition -::Tree::set_node_val - - - - - -Node5->Node21 - - - - - - - - -Node22 - - -std::vector::size - - - - - -Node5->Node22 - - - - - - - - -Node23 - - -range_queries::heavy -_light_decomposition -::HLD::update - - - - - -Node5->Node23 - - - - - - - - -Node6->Node7 - - - - - - - - -Node9 - - -range_queries::heavy -_light_decomposition -::SG::combine - - - - - -Node8->Node9 - - - - - - - - -Node10 - - -range_queries::heavy -_light_decomposition -::HLD::dfs_hc - - - - - -Node8->Node10 - - - - - - - - -Node11 - - -range_queries::heavy -_light_decomposition -::HLD::dfs_labels - - - - - -Node8->Node11 - - - - - - - - -Node12 - - -range_queries::heavy -_light_decomposition -::HLD::dfs_par - - - - - -Node8->Node12 - - - - - - - - -Node13 - - -range_queries::heavy -_light_decomposition -::Tree::init - - - - - -Node8->Node13 - - - - - - - - -Node10->Node10 - - - - - - - - -Node11->Node11 - - - - - - - - -Node12->Node12 - - - - - - - - -Node14 - - -range_queries::heavy -_light_decomposition -::Tree::dfs_lca - - - - - -Node13->Node14 - - - - - - - - -Node15 - - -range_queries::heavy -_light_decomposition -::Tree::dfs_size - - - - - -Node13->Node15 - - - - - - - - -Node14->Node14 - - - - - - - - -Node15->Node15 - - - - - - - - -Node17 - - -range_queries::heavy -_light_decomposition -::HLD::chain_query - - - - - -Node16->Node17 - - - - - - - - -Node19 - - -range_queries::heavy -_light_decomposition -::Tree::lca - - - - - -Node16->Node19 - - - - - - - - -Node17->Node9 - - - - - - - - -Node18 - - -std::swap - - - - - -Node17->Node18 - - - - - - - - -Node20 - - -range_queries::heavy -_light_decomposition -::Tree::lift - - - - - -Node19->Node20 - - - - - - - - -Node21->Node22 - - - - - - - - -Node24 - - -range_queries::heavy -_light_decomposition -::SG::update - - - - - -Node23->Node24 - - - - - - - - -Node25->Node6 - - - - - - - - -Node25->Node7 - - - - - - - - -Node25->Node8 - - - - - - - - -Node25->Node16 - - - - - - - - -Node25->Node21 - - - - - - - - -Node25->Node22 - - - - - - - - -Node25->Node23 - - - - - - - - -Node26->Node6 - - - - - - - - -Node26->Node7 - - - - - - - - -Node26->Node8 - - - - - - - - -Node26->Node16 - - - - - - - - -Node26->Node21 - - - - - - - - -Node26->Node22 - - - - - - - - -Node26->Node23 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d5/d83/lcm__sum_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d5/d83/lcm__sum_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 63472fcc4..000000000 --- a/d5/d83/lcm__sum_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,701 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -math::lcmSum - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -test_1 - - - - - -Node2->Node5 - - - - - - - - -Node25 - - -test_2 - - - - - -Node2->Node25 - - - - - - - - -Node26 - - -test_3 - - - - - -Node2->Node26 - - - - - - - - -Node6 - - -range_queries::heavy -_light_decomposition -::Tree::add_edge - - - - - -Node5->Node6 - - - - - - - - -Node7 - - -std::vector::push_back - - - - - -Node5->Node7 - - - - - - - - -Node8 - - -range_queries::heavy -_light_decomposition -::HLD::init - - - - - -Node5->Node8 - - - - - - - - -Node16 - - -range_queries::heavy -_light_decomposition -::HLD::query - - - - - -Node5->Node16 - - - - - - - - -Node21 - - -range_queries::heavy -_light_decomposition -::Tree::set_node_val - - - - - -Node5->Node21 - - - - - - - - -Node22 - - -std::vector::size - - - - - -Node5->Node22 - - - - - - - - -Node23 - - -range_queries::heavy -_light_decomposition -::HLD::update - - - - - -Node5->Node23 - - - - - - - - -Node6->Node7 - - - - - - - - -Node9 - - -range_queries::heavy -_light_decomposition -::SG::combine - - - - - -Node8->Node9 - - - - - - - - -Node10 - - -range_queries::heavy -_light_decomposition -::HLD::dfs_hc - - - - - -Node8->Node10 - - - - - - - - -Node11 - - -range_queries::heavy -_light_decomposition -::HLD::dfs_labels - - - - - -Node8->Node11 - - - - - - - - -Node12 - - -range_queries::heavy -_light_decomposition -::HLD::dfs_par - - - - - -Node8->Node12 - - - - - - - - -Node13 - - -range_queries::heavy -_light_decomposition -::Tree::init - - - - - -Node8->Node13 - - - - - - - - -Node10->Node10 - - - - - - - - -Node11->Node11 - - - - - - - - -Node12->Node12 - - - - - - - - -Node14 - - -range_queries::heavy -_light_decomposition -::Tree::dfs_lca - - - - - -Node13->Node14 - - - - - - - - -Node15 - - -range_queries::heavy -_light_decomposition -::Tree::dfs_size - - - - - -Node13->Node15 - - - - - - - - -Node14->Node14 - - - - - - - - -Node15->Node15 - - - - - - - - -Node17 - - -range_queries::heavy -_light_decomposition -::HLD::chain_query - - - - - -Node16->Node17 - - - - - - - - -Node19 - - -range_queries::heavy -_light_decomposition -::Tree::lca - - - - - -Node16->Node19 - - - - - - - - -Node17->Node9 - - - - - - - - -Node18 - - -std::swap - - - - - -Node17->Node18 - - - - - - - - -Node20 - - -range_queries::heavy -_light_decomposition -::Tree::lift - - - - - -Node19->Node20 - - - - - - - - -Node21->Node22 - - - - - - - - -Node24 - - -range_queries::heavy -_light_decomposition -::SG::update - - - - - -Node23->Node24 - - - - - - - - -Node25->Node6 - - - - - - - - -Node25->Node7 - - - - - - - - -Node25->Node8 - - - - - - - - -Node25->Node16 - - - - - - - - -Node25->Node21 - - - - - - - - -Node25->Node22 - - - - - - - - -Node25->Node23 - - - - - - - - -Node26->Node6 - - - - - - - - -Node26->Node7 - - - - - - - - -Node26->Node8 - - - - - - - - -Node26->Node16 - - - - - - - - -Node26->Node21 - - - - - - - - -Node26->Node22 - - - - - - - - -Node26->Node23 - - - - - - - - diff --git a/d5/d83/lcm__sum_8cpp_source.html b/d5/d83/lcm__sum_8cpp_source.html new file mode 100644 index 000000000..72565109a --- /dev/null +++ b/d5/d83/lcm__sum_8cpp_source.html @@ -0,0 +1,219 @@ + + + + + + + + +TheAlgorithms/C++: math/lcm_sum.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    lcm_sum.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    15#include <cassert>
    +
    16#include <cstdint>
    +
    17#include <iostream>
    +
    18#include <vector>
    +
    19
    +
    24namespace math {
    +
    +
    30uint64_t lcmSum(const uint16_t& num) {
    +
    31 uint64_t i = 0, j = 0;
    +
    32 std::vector<uint64_t> eulerTotient(num + 1);
    +
    33 std::vector<uint64_t> sumOfEulerTotient(num + 1);
    +
    34
    +
    35 // storing initial values in eulerTotient vector
    +
    36 for (i = 1; i <= num; i++) {
    +
    37 eulerTotient[i] = i;
    +
    38 }
    +
    39
    +
    40 // applying totient sieve
    +
    41 for (i = 2; i <= num; i++) {
    +
    42 if (eulerTotient[i] == i) {
    +
    43 for (j = i; j <= num; j += i) {
    +
    44 eulerTotient[j] = eulerTotient[j] / i;
    +
    45 eulerTotient[j] = eulerTotient[j] * (i - 1);
    +
    46 }
    +
    47 }
    +
    48 }
    +
    49
    +
    50 // computing sum of euler totients
    +
    51 for (i = 1; i <= num; i++) {
    +
    52 for (j = i; j <= num; j += i) {
    +
    53 sumOfEulerTotient[j] += eulerTotient[i] * i;
    +
    54 }
    +
    55 }
    +
    56
    +
    57 return ((sumOfEulerTotient[num] + 1) * num) / 2;
    +
    58}
    +
    +
    59} // namespace math
    +
    60
    +
    +
    66static void test() {
    +
    67 uint64_t n = 2;
    +
    68 uint64_t test_1 = math::lcmSum(n);
    +
    69 assert(test_1 == 4);
    +
    70 std::cout << "Passed Test 1!" << std::endl;
    +
    71
    +
    72 n = 5;
    +
    73 uint64_t test_2 = math::lcmSum(n);
    +
    74 assert(test_2 == 55);
    +
    75 std::cout << "Passed Test 2!" << std::endl;
    +
    76
    +
    77 n = 10;
    +
    78 uint64_t test_3 = math::lcmSum(n);
    +
    79 assert(test_3 == 320);
    +
    80 std::cout << "Passed Test 3!" << std::endl;
    +
    81
    +
    82 n = 11;
    +
    83 uint64_t test_4 = math::lcmSum(n);
    +
    84 assert(test_4 == 616);
    +
    85 std::cout << "Passed Test 4!" << std::endl;
    +
    86
    +
    87 n = 15;
    +
    88 uint64_t test_5 = math::lcmSum(n);
    +
    89 assert(test_5 == 1110);
    +
    90 std::cout << "Passed Test 5!" << std::endl;
    +
    91}
    +
    +
    92
    +
    +
    97int main() {
    +
    98 test(); // execute the tests
    +
    99 return 0;
    +
    100}
    +
    +
    static void test_1()
    +
    static void test_2()
    +
    static void test_3()
    +
    static void test()
    Definition lcm_sum.cpp:66
    +
    int main()
    Main function.
    Definition lcm_sum.cpp:97
    +
    for assert
    +
    uint64_t lcmSum(const uint16_t &num)
    Definition lcm_sum.cpp:30
    +
    +
    + + + + 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 9fdac1077..922f9ed62 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 @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Backtracking +TheAlgorithms/C++: Backtracking + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/d5/d89/namespacepalindrome__partitioning.html b/d5/d89/namespacepalindrome__partitioning.html index f8cbd8355..30b26e3b4 100644 --- a/d5/d89/namespacepalindrome__partitioning.html +++ b/d5/d89/namespacepalindrome__partitioning.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: palindrome_partitioning Namespace Reference +TheAlgorithms/C++: palindrome_partitioning Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/d5/d8a/classothers_1_1postfix__expression_1_1_stack.html b/d5/d8a/classothers_1_1postfix__expression_1_1_stack.html index 0a8399c57..bbb6e6f45 100644 --- a/d5/d8a/classothers_1_1postfix__expression_1_1_stack.html +++ b/d5/d8a/classothers_1_1postfix__expression_1_1_stack.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: others::postfix_expression::Stack Class Reference +TheAlgorithms/C++: others::postfix_expression::Stack Class Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + @@ -121,16 +138,17 @@ Collaboration diagram for others::postfix_expression::Stack:
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    - + - - + +

    Public Attributes

    std::array< float, 20 > stack {}
    std::array< float, 20 > stack {}
     Array which will be used to store numbers in the input.
     
    -int stackTop = -1
     Represents the index of the last value added to array. -1 means array is empty.
    int stackTop = -1
     Represents the index of the last value added to array. -1 means array is empty.
     

    Detailed Description

    Creates an array to be used as stack for storing values.

    + +

    Definition at line 32 of file postfix_evaluation.cpp.

    Member Data Documentation

    ◆ stack

    @@ -139,18 +157,38 @@ int stackTop = -1
    - +
    std::array<float, 20> others::postfix_expression::Stack::stack {}std::array<float, 20> others::postfix_expression::Stack::stack {}

    Array which will be used to store numbers in the input.

    -
    34{}; ///< Array which will be used to store numbers in the input
    + +

    Definition at line 34 of file postfix_evaluation.cpp.

    +
    34{};
    +
    +
    + +

    ◆ stackTop

    + +
    +
    + + + + +
    int others::postfix_expression::Stack::stackTop = -1
    +
    + +

    Represents the index of the last value added to array. -1 means array is empty.

    + +

    Definition at line 35 of file postfix_evaluation.cpp.

    +

    The documentation for this class was generated from the following file:
    diff --git a/d5/d8a/trie__using__hashmap_8cpp.html b/d5/d8a/trie__using__hashmap_8cpp.html index d6abe3106..f61e1ebed 100644 --- a/d5/d8a/trie__using__hashmap_8cpp.html +++ b/d5/d8a/trie__using__hashmap_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: data_structures/trie_using_hashmap.cpp File Reference +TheAlgorithms/C++: data_structures/trie_using_hashmap.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -125,7 +142,9 @@ Include dependency graph for trie_using_hashmap.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -157,6 +176,8 @@ Functions

    Implementation of Trie data structure using HashMap for different characters and method for predicting words based on prefix.

    Author
    Venkata Bharath

    The Trie data structure is implemented using unordered map to use memory optimally, predict_words method is developed to recommend words based on a given prefix along with other methods insert, delete, search, startwith in trie.

    See also
    trie_modern.cpp for difference
    + +

    Definition in file trie_using_hashmap.cpp.

    Function Documentation

    ◆ main()

    @@ -175,17 +196,14 @@ Functions

    Main function.

    Returns
    0 on exit
    + +

    Definition at line 342 of file trie_using_hashmap.cpp.

    342 {
    343 test(); // run self-test implementaions
    344 return 0;
    345}
    -
    static void test()
    Self-test implementations.
    Definition trie_using_hashmap.cpp:221
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static void test()
    Self-test implementations.
    + @@ -213,6 +231,8 @@ Here is the call graph for this function:

    Self-test implementations.

    Returns
    void
    + +

    Definition at line 221 of file trie_using_hashmap.cpp.

    221 {
    223 // Inserting data into trie using the insert
    @@ -231,10 +251,10 @@ Here is the call graph for this function:
    236 obj.insert("Bounce");
    237
    238 assert(!obj.search("appy"));
    -
    239 std::cout << "appy is not a word in trie" << std::endl;
    +
    239 std::cout << "appy is not a word in trie" << std::endl;
    240
    241 assert(!obj.search("car"));
    -
    242 std::cout << "car is not a word in trie" << std::endl;
    +
    242 std::cout << "car is not a word in trie" << std::endl;
    243 assert(obj.search("app"));
    244 assert(obj.search("apple"));
    245 assert(obj.search("apples"));
    @@ -248,7 +268,7 @@ Here is the call graph for this function:
    253 assert(obj.search("Bounce"));
    254 assert(obj.search("Apple"));
    255
    -
    256 std::cout << "All the Inserted words are present in the trie" << std::endl;
    +
    256 std::cout << "All the Inserted words are present in the trie" << std::endl;
    257
    258 // test for startwith prefix method
    259 assert(!obj.startwith("approachs"));
    @@ -269,54 +289,54 @@ Here is the call graph for this function:
    274
    275 assert(!obj.startwith("C"));
    276
    -
    277 std::cout << "All the tests passed for startwith method" << std::endl;
    +
    277 std::cout << "All the tests passed for startwith method" << std::endl;
    278
    279 // test for predict_words/recommendation of words based on a given prefix
    280
    -
    281 std::vector<std::string> pred_words = obj.predict_words("a");
    +
    281 std::vector<std::string> pred_words = obj.predict_words("a");
    282
    -
    283 for (const std::string& str : obj.predict_words("a")) {
    -
    284 std::cout << str << std::endl;
    +
    283 for (const std::string& str : obj.predict_words("a")) {
    +
    284 std::cout << str << std::endl;
    285 }
    -
    286 assert(pred_words.size() == 8);
    -
    287 std::cout << "Returned all words that start with prefix a " << std::endl;
    +
    286 assert(pred_words.size() == 8);
    +
    287 std::cout << "Returned all words that start with prefix a " << std::endl;
    288 pred_words = obj.predict_words("app");
    289
    -
    290 for (const std::string& str : pred_words) {
    -
    291 std::cout << str << std::endl;
    +
    290 for (const std::string& str : pred_words) {
    +
    291 std::cout << str << std::endl;
    292 }
    293
    294 assert(pred_words.size() == 5);
    -
    295 std::cout << "Returned all words that start with prefix app " << std::endl;
    +
    295 std::cout << "Returned all words that start with prefix app " << std::endl;
    296 pred_words = obj.predict_words("A");
    297
    -
    298 for (const std::string& str : pred_words) {
    -
    299 std::cout << str << std::endl;
    +
    298 for (const std::string& str : pred_words) {
    +
    299 std::cout << str << std::endl;
    300 }
    301
    302 assert(pred_words.size() == 1);
    -
    303 std::cout << "Returned all words that start with prefix A " << std::endl;
    +
    303 std::cout << "Returned all words that start with prefix A " << std::endl;
    304 pred_words = obj.predict_words("bu");
    305
    -
    306 for (const std::string& str : pred_words) {
    -
    307 std::cout << str << std::endl;
    +
    306 for (const std::string& str : pred_words) {
    +
    307 std::cout << str << std::endl;
    308 }
    309
    310 assert(pred_words.size() == 2);
    -
    311 std::cout << "Returned all words that start with prefix bu " << std::endl;
    +
    311 std::cout << "Returned all words that start with prefix bu " << std::endl;
    312
    313 // tests for delete method
    314
    315 obj.delete_word("app");
    316 assert(!obj.search("app"));
    -
    317 std::cout << "word app is deleted sucessful" << std::endl;
    +
    317 std::cout << "word app is deleted sucessful" << std::endl;
    318
    319 pred_words = obj.predict_words("app");
    -
    320 for (const std::string& str : pred_words) {
    -
    321 std::cout << str << std::endl;
    +
    320 for (const std::string& str : pred_words) {
    +
    321 std::cout << str << std::endl;
    322 }
    323 assert(pred_words.size() == 4);
    -
    324 std::cout << "app is deleted sucessful" << std::endl;
    +
    324 std::cout << "app is deleted sucessful" << std::endl;
    325
    326 // test case for Chinese language
    327
    @@ -325,27 +345,17 @@ Here is the call graph for this function:
    330 pred_words = obj.predict_words("h");
    331
    332 assert(pred_words.size() == 0);
    -
    333 std::cout << "No word starts with prefix h in trie" << std::endl;
    +
    333 std::cout << "No word starts with prefix h in trie" << std::endl;
    334
    -
    335 std::cout << "All tests passed" << std::endl;
    +
    335 std::cout << "All tests passed" << std::endl;
    336}
    - - -
    Trie class, implementation of trie using hashmap in each trie node for all the characters of char16_t...
    Definition trie_using_hashmap.cpp:39
    -
    void insert(const std::string &word)
    insert the string into the trie
    Definition trie_using_hashmap.cpp:62
    -
    void delete_word(std::string word)
    delete a word/string from a trie
    Definition trie_using_hashmap.cpp:122
    -
    bool search(const std::string &word)
    search a word/string inside the trie
    Definition trie_using_hashmap.cpp:82
    -
    std::vector< std::string > predict_words(const std::string &prefix)
    predict/recommend a word that starts with a given prefix
    Definition trie_using_hashmap.cpp:188
    -
    bool startwith(const std::string &prefix)
    search a word/string that starts with a given prefix
    Definition trie_using_hashmap.cpp:107
    -
    T endl(T... args)
    -
    T size(T... args)
    - -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    Trie class, implementation of trie using hashmap in each trie node for all the characters of char16_t...
    +
    void insert(const std::string &word)
    insert the string into the trie
    +
    void delete_word(std::string word)
    delete a word/string from a trie
    +
    bool search(const std::string &word)
    search a word/string inside the trie
    +
    std::vector< std::string > predict_words(const std::string &prefix)
    predict/recommend a word that starts with a given prefix
    +
    bool startwith(const std::string &prefix)
    search a word/string that starts with a given prefix
    + diff --git a/d5/d8a/trie__using__hashmap_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map b/d5/d8a/trie__using__hashmap_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map deleted file mode 100644 index b5c3ffe01..000000000 --- a/d5/d8a/trie__using__hashmap_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map +++ /dev/null @@ -1,35 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d5/d8a/trie__using__hashmap_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 b/d5/d8a/trie__using__hashmap_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 deleted file mode 100644 index 5e90c690b..000000000 --- a/d5/d8a/trie__using__hashmap_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -1e8da73b66afc80a5ad64f1f35a9935c \ No newline at end of file diff --git a/d5/d8a/trie__using__hashmap_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg b/d5/d8a/trie__using__hashmap_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg deleted file mode 100644 index 3edb19daf..000000000 --- a/d5/d8a/trie__using__hashmap_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg +++ /dev/null @@ -1,347 +0,0 @@ - - - - - - - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -data_structures::trie -_using_hashmap::Trie -::delete_word - - - - - -Node1->Node2 - - - - - - - - -Node8 - - -std::endl - - - - - -Node1->Node8 - - - - - - - - -Node9 - - -data_structures::trie -_using_hashmap::Trie -::insert - - - - - -Node1->Node9 - - - - - - - - -Node11 - - -data_structures::trie -_using_hashmap::Trie -::predict_words - - - - - -Node1->Node11 - - - - - - - - -Node14 - - -data_structures::trie -_using_hashmap::Trie -::search - - - - - -Node1->Node14 - - - - - - - - -Node15 - - -std::vector::size - - - - - -Node1->Node15 - - - - - - - - -Node16 - - -data_structures::trie -_using_hashmap::Trie -::startwith - - - - - -Node1->Node16 - - - - - - - - -Node3 - - -std::string::back - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::stack::pop - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -std::string::pop_back - - - - - -Node2->Node5 - - - - - - - - -Node6 - - -std::stack::push - - - - - -Node2->Node6 - - - - - - - - -Node7 - - -std::stack::top - - - - - -Node2->Node7 - - - - - - - - -Node10 - - -std::make_shared - - - - - -Node9->Node10 - - - - - - - - -Node12 - - -data_structures::trie -_using_hashmap::Trie -::get_all_words - - - - - -Node11->Node12 - - - - - - - - -Node12->Node5 - - - - - - - - -Node12->Node12 - - - - - - - - -Node13 - - -std::vector::push_back - - - - - -Node12->Node13 - - - - - - - - - - - - - diff --git a/d5/d8a/trie__using__hashmap_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg b/d5/d8a/trie__using__hashmap_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg deleted file mode 100644 index b68afc128..000000000 --- a/d5/d8a/trie__using__hashmap_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg +++ /dev/null @@ -1,321 +0,0 @@ - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -data_structures::trie -_using_hashmap::Trie -::delete_word - - - - - -Node1->Node2 - - - - - - - - -Node8 - - -std::endl - - - - - -Node1->Node8 - - - - - - - - -Node9 - - -data_structures::trie -_using_hashmap::Trie -::insert - - - - - -Node1->Node9 - - - - - - - - -Node11 - - -data_structures::trie -_using_hashmap::Trie -::predict_words - - - - - -Node1->Node11 - - - - - - - - -Node14 - - -data_structures::trie -_using_hashmap::Trie -::search - - - - - -Node1->Node14 - - - - - - - - -Node15 - - -std::vector::size - - - - - -Node1->Node15 - - - - - - - - -Node16 - - -data_structures::trie -_using_hashmap::Trie -::startwith - - - - - -Node1->Node16 - - - - - - - - -Node3 - - -std::string::back - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::stack::pop - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -std::string::pop_back - - - - - -Node2->Node5 - - - - - - - - -Node6 - - -std::stack::push - - - - - -Node2->Node6 - - - - - - - - -Node7 - - -std::stack::top - - - - - -Node2->Node7 - - - - - - - - -Node10 - - -std::make_shared - - - - - -Node9->Node10 - - - - - - - - -Node12 - - -data_structures::trie -_using_hashmap::Trie -::get_all_words - - - - - -Node11->Node12 - - - - - - - - -Node12->Node5 - - - - - - - - -Node12->Node12 - - - - - - - - -Node13 - - -std::vector::push_back - - - - - -Node12->Node13 - - - - - - - - diff --git a/d5/d8a/trie__using__hashmap_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d5/d8a/trie__using__hashmap_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 08af2e599..000000000 --- a/d5/d8a/trie__using__hashmap_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d5/d8a/trie__using__hashmap_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d5/d8a/trie__using__hashmap_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index f8f44eb7c..000000000 --- a/d5/d8a/trie__using__hashmap_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -844bc27b3f11120f54de131666dd007f \ No newline at end of file diff --git a/d5/d8a/trie__using__hashmap_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d5/d8a/trie__using__hashmap_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index e21e5bce9..000000000 --- a/d5/d8a/trie__using__hashmap_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,422 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -data_structures::trie -_using_hashmap::Trie -::delete_word - - - - - -Node2->Node3 - - - - - - - - -Node9 - - -std::endl - - - - - -Node2->Node9 - - - - - - - - -Node10 - - -data_structures::trie -_using_hashmap::Trie -::insert - - - - - -Node2->Node10 - - - - - - - - -Node12 - - -data_structures::trie -_using_hashmap::Trie -::predict_words - - - - - -Node2->Node12 - - - - - - - - -Node15 - - -data_structures::trie -_using_hashmap::Trie -::search - - - - - -Node2->Node15 - - - - - - - - -Node16 - - -std::vector::size - - - - - -Node2->Node16 - - - - - - - - -Node17 - - -data_structures::trie -_using_hashmap::Trie -::startwith - - - - - -Node2->Node17 - - - - - - - - -Node4 - - -std::string::back - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -std::stack::pop - - - - - -Node3->Node5 - - - - - - - - -Node6 - - -std::string::pop_back - - - - - -Node3->Node6 - - - - - - - - -Node7 - - -std::stack::push - - - - - -Node3->Node7 - - - - - - - - -Node8 - - -std::stack::top - - - - - -Node3->Node8 - - - - - - - - -Node11 - - -std::make_shared - - - - - -Node10->Node11 - - - - - - - - -Node13 - - -data_structures::trie -_using_hashmap::Trie -::get_all_words - - - - - -Node12->Node13 - - - - - - - - -Node13->Node6 - - - - - - - - -Node13->Node13 - - - - - - - - -Node14 - - -std::vector::push_back - - - - - -Node13->Node14 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d5/d8a/trie__using__hashmap_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d5/d8a/trie__using__hashmap_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 8bd554612..000000000 --- a/d5/d8a/trie__using__hashmap_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,339 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -data_structures::trie -_using_hashmap::Trie -::delete_word - - - - - -Node2->Node3 - - - - - - - - -Node9 - - -std::endl - - - - - -Node2->Node9 - - - - - - - - -Node10 - - -data_structures::trie -_using_hashmap::Trie -::insert - - - - - -Node2->Node10 - - - - - - - - -Node12 - - -data_structures::trie -_using_hashmap::Trie -::predict_words - - - - - -Node2->Node12 - - - - - - - - -Node15 - - -data_structures::trie -_using_hashmap::Trie -::search - - - - - -Node2->Node15 - - - - - - - - -Node16 - - -std::vector::size - - - - - -Node2->Node16 - - - - - - - - -Node17 - - -data_structures::trie -_using_hashmap::Trie -::startwith - - - - - -Node2->Node17 - - - - - - - - -Node4 - - -std::string::back - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -std::stack::pop - - - - - -Node3->Node5 - - - - - - - - -Node6 - - -std::string::pop_back - - - - - -Node3->Node6 - - - - - - - - -Node7 - - -std::stack::push - - - - - -Node3->Node7 - - - - - - - - -Node8 - - -std::stack::top - - - - - -Node3->Node8 - - - - - - - - -Node11 - - -std::make_shared - - - - - -Node10->Node11 - - - - - - - - -Node13 - - -data_structures::trie -_using_hashmap::Trie -::get_all_words - - - - - -Node12->Node13 - - - - - - - - -Node13->Node6 - - - - - - - - -Node13->Node13 - - - - - - - - -Node14 - - -std::vector::push_back - - - - - -Node13->Node14 - - - - - - - - diff --git a/d5/d8a/trie__using__hashmap_8cpp_source.html b/d5/d8a/trie__using__hashmap_8cpp_source.html new file mode 100644 index 000000000..1b726c877 --- /dev/null +++ b/d5/d8a/trie__using__hashmap_8cpp_source.html @@ -0,0 +1,445 @@ + + + + + + + + +TheAlgorithms/C++: data_structures/trie_using_hashmap.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    +

    Classes

    class  data_structures::trie_using_hashmap::Trie
    + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + + +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    trie_using_hashmap.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    13#include <cassert>
    +
    14#include <iostream>
    +
    15#include <memory>
    +
    16#include <stack>
    +
    17#include <unordered_map>
    +
    18#include <vector>
    +
    19
    +
    24namespace data_structures {
    +
    25
    +
    31namespace trie_using_hashmap {
    +
    32
    +
    +
    39class Trie {
    +
    40 private:
    +
    +
    44 struct Node {
    +
    45 std::unordered_map<char16_t, std::shared_ptr<Node>>
    + +
    48 bool word_end = false;
    +
    49 };
    +
    +
    50
    +
    51 std::shared_ptr<Node> root_node =
    +
    52 std::make_shared<Node>();
    +
    53
    +
    54 public:
    +
    56 Trie() = default;
    +
    57
    +
    +
    62 void insert(const std::string& word) {
    +
    63 std::shared_ptr<Node> curr = root_node;
    +
    64 for (char ch : word) {
    +
    65 if (curr->children.find(ch) == curr->children.end()) {
    +
    66 curr->children[ch] = std::make_shared<Node>();
    +
    67 }
    +
    68 curr = curr->children[ch];
    +
    69 }
    +
    70
    +
    71 if (!curr->word_end && curr != root_node) {
    +
    72 curr->word_end = true;
    +
    73 }
    +
    74 }
    +
    +
    75
    +
    +
    82 bool search(const std::string& word) {
    +
    83 std::shared_ptr<Node> curr = root_node;
    +
    84 for (char ch : word) {
    +
    85 if (curr->children.find(ch) == curr->children.end()) {
    +
    86 return false;
    +
    87 }
    +
    88 curr = curr->children[ch];
    +
    89 if (!curr) {
    +
    90 return false;
    +
    91 }
    +
    92 }
    +
    93
    +
    94 if (curr->word_end) {
    +
    95 return true;
    +
    96 } else {
    +
    97 return false;
    +
    98 }
    +
    99 }
    +
    +
    100
    +
    +
    107 bool startwith(const std::string& prefix) {
    +
    108 std::shared_ptr<Node> curr = root_node;
    +
    109 for (char ch : prefix) {
    +
    110 if (curr->children.find(ch) == curr->children.end()) {
    +
    111 return false;
    +
    112 }
    +
    113 curr = curr->children[ch];
    +
    114 }
    +
    115 return true;
    +
    116 }
    +
    +
    117
    +
    +
    122 void delete_word(std::string word) {
    +
    123 std::shared_ptr<Node> curr = root_node;
    +
    124 std::stack<std::shared_ptr<Node>> nodes;
    +
    125 int cnt = 0;
    +
    126 for (char ch : word) {
    +
    127 if (curr->children.find(ch) == curr->children.end()) {
    +
    128 return;
    +
    129 }
    +
    130 if (curr->word_end) {
    +
    131 cnt++;
    +
    132 }
    +
    133
    +
    134 nodes.push(curr->children[ch]);
    +
    135 curr = curr->children[ch];
    +
    136 }
    +
    137 // Delete only when it's a word, and it has children after
    +
    138 // or prefix in the line
    +
    139 if (nodes.top()->word_end) {
    +
    140 nodes.top()->word_end = false;
    +
    141 }
    +
    142 // Delete only when it has no children after
    +
    143 // and also no prefix in the line
    +
    144 while (!(nodes.top()->word_end) && nodes.top()->children.empty()) {
    +
    145 nodes.pop();
    +
    146 nodes.top()->children.erase(word.back());
    +
    147 word.pop_back();
    +
    148 }
    +
    149 }
    +
    +
    150
    +
    +
    160 std::vector<std::string> get_all_words(std::vector<std::string> results,
    +
    161 const std::shared_ptr<Node>& element,
    +
    162 std::string prefix) {
    +
    163 if (element->word_end) {
    +
    164 results.push_back(prefix);
    +
    165 }
    +
    166 if (element->children.empty()) {
    +
    167 return results;
    +
    168 }
    +
    169 for (auto const& x : element->children) {
    +
    170 std::string key = "";
    +
    171 key = x.first;
    +
    172 prefix += key;
    +
    173
    +
    174 results =
    +
    175 get_all_words(results, element->children[x.first], prefix);
    +
    176
    +
    177 prefix.pop_back();
    +
    178 }
    +
    179
    +
    180 return results;
    +
    181 }
    +
    +
    182
    +
    +
    188 std::vector<std::string> predict_words(const std::string& prefix) {
    +
    189 std::vector<std::string> result;
    +
    190 std::shared_ptr<Node> curr = root_node;
    +
    191 // traversing until the end of the given prefix in trie
    +
    192
    +
    193 for (char ch : prefix) {
    +
    194 if (curr->children.find(ch) == curr->children.end()) {
    +
    195 return result;
    +
    196 }
    +
    197
    +
    198 curr = curr->children[ch];
    +
    199 }
    +
    200
    +
    201 // if the given prefix is the only word without children
    +
    202 if (curr->word_end && curr->children.empty()) {
    +
    203 result.push_back(prefix);
    +
    204 return result;
    +
    205 }
    +
    206
    +
    207 result = get_all_words(
    +
    208 result, curr,
    +
    209 prefix);
    +
    210
    +
    211 return result;
    +
    212 }
    +
    +
    213};
    +
    +
    214} // namespace trie_using_hashmap
    +
    215} // namespace data_structures
    +
    216
    +
    +
    221static void test() {
    + +
    223 // Inserting data into trie using the insert
    +
    224 // method and testing it with search method
    +
    225 obj.insert("app");
    +
    226 obj.insert("abscond");
    +
    227 obj.insert("about");
    +
    228 obj.insert("apps");
    +
    229 obj.insert("apen");
    +
    230 obj.insert("apples");
    +
    231 obj.insert("apple");
    +
    232 obj.insert("approach");
    +
    233 obj.insert("bus");
    +
    234 obj.insert("buses");
    +
    235 obj.insert("Apple");
    +
    236 obj.insert("Bounce");
    +
    237
    +
    238 assert(!obj.search("appy"));
    +
    239 std::cout << "appy is not a word in trie" << std::endl;
    +
    240
    +
    241 assert(!obj.search("car"));
    +
    242 std::cout << "car is not a word in trie" << std::endl;
    +
    243 assert(obj.search("app"));
    +
    244 assert(obj.search("apple"));
    +
    245 assert(obj.search("apples"));
    +
    246 assert(obj.search("apps"));
    +
    247 assert(obj.search("apen"));
    +
    248 assert(obj.search("approach"));
    +
    249 assert(obj.search("about"));
    +
    250 assert(obj.search("abscond"));
    +
    251 assert(obj.search("bus"));
    +
    252 assert(obj.search("buses"));
    +
    253 assert(obj.search("Bounce"));
    +
    254 assert(obj.search("Apple"));
    +
    255
    +
    256 std::cout << "All the Inserted words are present in the trie" << std::endl;
    +
    257
    +
    258 // test for startwith prefix method
    +
    259 assert(!obj.startwith("approachs"));
    +
    260 assert(obj.startwith("approach"));
    +
    261 assert(obj.startwith("about"));
    +
    262 assert(!obj.startwith("appy"));
    +
    263 assert(obj.startwith("abscond"));
    +
    264 assert(obj.startwith("bus"));
    +
    265 assert(obj.startwith("buses"));
    +
    266 assert(obj.startwith("Bounce"));
    +
    267 assert(obj.startwith("Apple"));
    +
    268 assert(obj.startwith("abs"));
    +
    269 assert(obj.startwith("b"));
    +
    270 assert(obj.startwith("bus"));
    +
    271 assert(obj.startwith("Bo"));
    +
    272 assert(obj.startwith("A"));
    +
    273 assert(!obj.startwith("Ca"));
    +
    274
    +
    275 assert(!obj.startwith("C"));
    +
    276
    +
    277 std::cout << "All the tests passed for startwith method" << std::endl;
    +
    278
    +
    279 // test for predict_words/recommendation of words based on a given prefix
    +
    280
    +
    281 std::vector<std::string> pred_words = obj.predict_words("a");
    +
    282
    +
    283 for (const std::string& str : obj.predict_words("a")) {
    +
    284 std::cout << str << std::endl;
    +
    285 }
    +
    286 assert(pred_words.size() == 8);
    +
    287 std::cout << "Returned all words that start with prefix a " << std::endl;
    +
    288 pred_words = obj.predict_words("app");
    +
    289
    +
    290 for (const std::string& str : pred_words) {
    +
    291 std::cout << str << std::endl;
    +
    292 }
    +
    293
    +
    294 assert(pred_words.size() == 5);
    +
    295 std::cout << "Returned all words that start with prefix app " << std::endl;
    +
    296 pred_words = obj.predict_words("A");
    +
    297
    +
    298 for (const std::string& str : pred_words) {
    +
    299 std::cout << str << std::endl;
    +
    300 }
    +
    301
    +
    302 assert(pred_words.size() == 1);
    +
    303 std::cout << "Returned all words that start with prefix A " << std::endl;
    +
    304 pred_words = obj.predict_words("bu");
    +
    305
    +
    306 for (const std::string& str : pred_words) {
    +
    307 std::cout << str << std::endl;
    +
    308 }
    +
    309
    +
    310 assert(pred_words.size() == 2);
    +
    311 std::cout << "Returned all words that start with prefix bu " << std::endl;
    +
    312
    +
    313 // tests for delete method
    +
    314
    +
    315 obj.delete_word("app");
    +
    316 assert(!obj.search("app"));
    +
    317 std::cout << "word app is deleted sucessful" << std::endl;
    +
    318
    +
    319 pred_words = obj.predict_words("app");
    +
    320 for (const std::string& str : pred_words) {
    +
    321 std::cout << str << std::endl;
    +
    322 }
    +
    323 assert(pred_words.size() == 4);
    +
    324 std::cout << "app is deleted sucessful" << std::endl;
    +
    325
    +
    326 // test case for Chinese language
    +
    327
    +
    328 obj.insert("苹果");
    +
    329 assert(obj.startwith("苹"));
    +
    330 pred_words = obj.predict_words("h");
    +
    331
    +
    332 assert(pred_words.size() == 0);
    +
    333 std::cout << "No word starts with prefix h in trie" << std::endl;
    +
    334
    +
    335 std::cout << "All tests passed" << std::endl;
    +
    336}
    +
    +
    337
    +
    +
    342int main() {
    +
    343 test(); // run self-test implementaions
    +
    344 return 0;
    +
    345}
    +
    +
    Trie class, implementation of trie using hashmap in each trie node for all the characters of char16_t...
    + +
    std::vector< std::string > get_all_words(std::vector< std::string > results, const std::shared_ptr< Node > &element, std::string prefix)
    helper function to predict/recommend words that starts with a given prefix from the end of prefix's n...
    +
    std::shared_ptr< Node > root_node
    declaring root node of trie
    +
    void insert(const std::string &word)
    insert the string into the trie
    +
    void delete_word(std::string word)
    delete a word/string from a trie
    +
    bool search(const std::string &word)
    search a word/string inside the trie
    +
    std::vector< std::string > predict_words(const std::string &prefix)
    predict/recommend a word that starts with a given prefix
    +
    bool startwith(const std::string &prefix)
    search a word/string that starts with a given prefix
    +
    for IO operations
    +
    Functions for Trie data structure using hashmap implementation.
    + +
    std::unordered_map< char16_t, std::shared_ptr< Node > > children
    +
    bool word_end
    boolean variable to represent the node end
    +
    static void test()
    Self-test implementations.
    +
    int main()
    Main function.
    +
    +
    + + + + diff --git a/d5/d8b/structothers_1_1recursive__tree__traversals_1_1_node-members.html b/d5/d8b/structothers_1_1recursive__tree__traversals_1_1_node-members.html index e314cd25d..cb7dc15e9 100644 --- a/d5/d8b/structothers_1_1recursive__tree__traversals_1_1_node-members.html +++ b/d5/d8b/structothers_1_1recursive__tree__traversals_1_1_node-members.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Member List +TheAlgorithms/C++: Member List + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/d5/d8e/huffman_8cpp_source.html b/d5/d8e/huffman_8cpp_source.html new file mode 100644 index 000000000..8dbb186e3 --- /dev/null +++ b/d5/d8e/huffman_8cpp_source.html @@ -0,0 +1,253 @@ + + + + + + + + +TheAlgorithms/C++: greedy_algorithms/huffman.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + + +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    huffman.cpp
    +
    +
    +
    1// C++ program for Huffman Coding
    +
    2#include <iostream>
    +
    3#include <queue>
    +
    4using namespace std;
    +
    5
    +
    6// A Huffman tree node
    +
    +
    7struct MinHeapNode {
    +
    8 // One of the input characters
    +
    9 char data;
    +
    10
    +
    11 // Frequency of the character
    +
    12 unsigned freq;
    +
    13
    +
    14 // Left and right child
    +
    15 MinHeapNode *left, *right;
    +
    16
    +
    17 MinHeapNode(char data, unsigned freq)
    +
    18
    +
    19 {
    +
    20 left = right = NULL;
    +
    21 this->data = data;
    +
    22 this->freq = freq;
    +
    23 }
    +
    24};
    +
    +
    25
    +
    26void deleteAll(const MinHeapNode* const root) {
    +
    27 if (root) {
    +
    28 deleteAll(root->left);
    +
    29 deleteAll(root->right);
    +
    30 delete root;
    +
    31 }
    +
    32}
    +
    33
    +
    34// For comparison of
    +
    35// two heap nodes (needed in min heap)
    +
    +
    36struct compare {
    +
    37 bool operator()(const MinHeapNode* const l,
    +
    38 const MinHeapNode* const r) const {
    +
    39 return l->freq > r->freq;
    +
    40 }
    +
    41};
    +
    +
    42
    +
    43// Prints huffman codes from
    +
    44// the root of Huffman Tree.
    +
    45void printCodes(struct MinHeapNode* root, const string& str) {
    +
    46 if (!root)
    +
    47 return;
    +
    48
    +
    49 if (root->data != '$')
    +
    50 cout << root->data << ": " << str << "\n";
    +
    51
    +
    52 printCodes(root->left, str + "0");
    +
    53 printCodes(root->right, str + "1");
    +
    54}
    +
    55
    +
    56// The main function that builds a Huffman Tree and
    +
    57// print codes by traversing the built Huffman Tree
    +
    58void HuffmanCodes(const char data[], const int freq[], int size) {
    +
    59 struct MinHeapNode *left, *right;
    +
    60
    +
    61 // Create a min heap & inserts all characters of data[]
    +
    62 priority_queue<MinHeapNode*, vector<MinHeapNode*>, compare> minHeap;
    +
    63
    +
    64 for (int i = 0; i < size; ++i)
    +
    65 minHeap.push(new MinHeapNode(data[i], freq[i]));
    +
    66
    +
    67 // Iterate while size of heap doesn't become 1
    +
    68 while (minHeap.size() != 1) {
    +
    69 // Extract the two minimum
    +
    70 // freq items from min heap
    +
    71 left = minHeap.top();
    +
    72 minHeap.pop();
    +
    73
    +
    74 right = minHeap.top();
    +
    75 minHeap.pop();
    +
    76
    +
    77 // Create a new internal node with
    +
    78 // frequency equal to the sum of the
    +
    79 // two nodes frequencies. Make the
    +
    80 // two extracted node as left and right children
    +
    81 // of this new node. Add this node
    +
    82 // to the min heap '$' is a special value
    +
    83 // for internal nodes, not used
    +
    84 auto* const top = new MinHeapNode('$', left->freq + right->freq);
    +
    85
    +
    86 top->left = left;
    +
    87 top->right = right;
    +
    88
    +
    89 minHeap.push(top);
    +
    90 }
    +
    91
    +
    92 // Print Huffman codes using
    +
    93 // the Huffman tree built above
    +
    94 printCodes(minHeap.top(), "");
    +
    95 deleteAll(minHeap.top());
    +
    96}
    +
    97
    +
    98// Driver program to test above functions
    +
    99int main() {
    +
    100 char arr[] = {'a', 'b', 'c', 'd', 'e', 'f'};
    +
    101 int freq[] = {5, 9, 12, 13, 16, 45};
    +
    102
    +
    103 int size = sizeof(arr) / sizeof(arr[0]);
    +
    104
    +
    105 HuffmanCodes(arr, freq, size);
    +
    106
    +
    107 return 0;
    +
    108}
    +
    int main()
    Main function.
    +
    int data[MAX]
    test data
    + + +
    +
    + + + + diff --git a/d5/d90/palindrome__partitioning_8cpp.html b/d5/d90/palindrome__partitioning_8cpp.html index 983a20353..2610b0060 100644 --- a/d5/d90/palindrome__partitioning_8cpp.html +++ b/d5/d90/palindrome__partitioning_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: dynamic_programming/palindrome_partitioning.cpp File Reference +TheAlgorithms/C++: dynamic_programming/palindrome_partitioning.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -123,7 +140,9 @@ Include dependency graph for palindrome_partitioning.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -135,7 +154,7 @@ Namespaces

    Namespaces

    namespace  dynamic_programming
    - + @@ -148,6 +167,8 @@ Functions

    Implements Palindrome Partitioning algorithm, giving you the minimum number of partitions you need to make.

    palindrome partitioning uses dynamic programming and goes to all the possible partitions to find the minimum you are given a string and you need to give minimum number of partitions needed to divide it into a number of palindromes [Palindrome Partitioning] (https://www.geeksforgeeks.org/palindrome-partitioning-dp-17/) overall time complexity O(n^2) For example: example 1:- String : "nitik" Output : 2 => "n | iti | k" For example: example 2:- String : "ababbbabbababa" Output : 3 => "aba | b | bbabb | ababa"

    Author
    [Sujay Kaushik] (https://github.com/sujaykaushik008)
    + +

    Definition in file palindrome_partitioning.cpp.

    Function Documentation

    ◆ main()

    @@ -166,17 +187,14 @@ Functions

    Main function.

    Returns
    0 on exit
    + +

    Definition at line 128 of file palindrome_partitioning.cpp.

    128 {
    129 test(); // execute the test
    130 return 0;
    131}
    -
    static void test()
    Test Function.
    Definition palindrome_partitioning.cpp:98
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static void test()
    Test Function.
    + @@ -188,7 +206,7 @@ Here is the call graph for this function: - +

    Functions

    int dynamic_programming::palindrome_partitioning::pal_part (const std::string &str)
    int dynamic_programming::palindrome_partitioning::pal_part (const std::string &str)
     
    static void test ()
     Test Function.
    int dynamic_programming::palindrome_partitioning::pal_part (const std::string & str)const std::string & str)
    @@ -200,15 +218,17 @@ Here is the call graph for this function:
    Returns
    minimum number of partitions
    + +

    Definition at line 45 of file palindrome_partitioning.cpp.

    45 {
    -
    46 int n = str.size();
    +
    46 int n = str.size();
    47
    48 // creating lookup table for minimum number of cuts
    - +
    49 std::vector<std::vector<int> > cuts(n, std::vector<int>(n, 0));
    50
    51 // creating lookup table for palindrome checking
    -
    52 std::vector<std::vector<bool> > is_palindrome(n,
    -
    53 std::vector<bool>(n, false));
    +
    52 std::vector<std::vector<bool> > is_palindrome(n,
    +
    53 std::vector<bool>(n, false));
    54
    55 // initialization
    56 for (int i = 0; i < n; i++) {
    @@ -233,10 +253,10 @@ Here is the call graph for this function:
    75 cuts[start_index][end_index] = 0;
    76 } else {
    77 cuts[start_index][end_index] = INT_MAX;
    -
    78 for (int partition = start_index; partition <= end_index - 1;
    -
    79 partition++) {
    +
    78 for (int partition = start_index; partition <= end_index - 1;
    +
    79 partition++) {
    80 cuts[start_index][end_index] =
    -
    81 std::min(cuts[start_index][end_index],
    +
    81 std::min(cuts[start_index][end_index],
    82 cuts[start_index][partition] +
    83 cuts[partition + 1][end_index] + 1);
    84 }
    @@ -246,16 +266,7 @@ Here is the call graph for this function:
    88
    89 return cuts[0][n - 1];
    90}
    -
    T min(T... args)
    -
    T partition(T... args)
    -
    T size(T... args)
    - -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -283,12 +294,14 @@ Here is the call graph for this function:

    Test Function.

    Returns
    void
    + +

    Definition at line 98 of file palindrome_partitioning.cpp.

    98 {
    99 // custom input vector
    -
    100 std::vector<std::string> custom_input{"nitik", "ababbbabbababa", "abdc"};
    +
    100 std::vector<std::string> custom_input{"nitik", "ababbbabbababa", "abdc"};
    101
    102 // calculated output vector by pal_part Function
    -
    103 std::vector<int> calculated_output(3);
    +
    103 std::vector<int> calculated_output(3);
    104
    105 for (int i = 0; i < 3; i++) {
    106 calculated_output[i] =
    @@ -297,7 +310,7 @@ Here is the call graph for this function:
    109 }
    110
    111 // expected output vector
    -
    112 std::vector<int> expected_output{2, 3, 3};
    +
    112 std::vector<int> expected_output{2, 3, 3};
    113
    114 // Testing implementation via assert function
    115 // It will throw error if any of the expected test fails
    @@ -306,10 +319,9 @@ Here is the call graph for this function:
    118 assert(expected_output[i] == calculated_output[i]);
    119 }
    120
    -
    121 std::cout << "All tests passed successfully!\n";
    +
    121 std::cout << "All tests passed successfully!\n";
    122}
    - -
    int pal_part(const std::string &str)
    Definition palindrome_partitioning.cpp:45
    + diff --git a/d5/d90/palindrome__partitioning_8cpp_a52ee22882858d2b1cf04293f02ed839a_cgraph.map b/d5/d90/palindrome__partitioning_8cpp_a52ee22882858d2b1cf04293f02ed839a_cgraph.map deleted file mode 100644 index c6eccfedd..000000000 --- a/d5/d90/palindrome__partitioning_8cpp_a52ee22882858d2b1cf04293f02ed839a_cgraph.map +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/d5/d90/palindrome__partitioning_8cpp_a52ee22882858d2b1cf04293f02ed839a_cgraph.md5 b/d5/d90/palindrome__partitioning_8cpp_a52ee22882858d2b1cf04293f02ed839a_cgraph.md5 deleted file mode 100644 index d535eaa4c..000000000 --- a/d5/d90/palindrome__partitioning_8cpp_a52ee22882858d2b1cf04293f02ed839a_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -719eee5f1f6e5f0a5d443b74be5e869d \ No newline at end of file diff --git a/d5/d90/palindrome__partitioning_8cpp_a52ee22882858d2b1cf04293f02ed839a_cgraph.svg b/d5/d90/palindrome__partitioning_8cpp_a52ee22882858d2b1cf04293f02ed839a_cgraph.svg deleted file mode 100644 index 9d68d7604..000000000 --- a/d5/d90/palindrome__partitioning_8cpp_a52ee22882858d2b1cf04293f02ed839a_cgraph.svg +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - - - - - - - -dynamic_programming::palindrome_partitioning::pal_part - - -Node1 - - -dynamic_programming -::palindrome_partitioning -::pal_part - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::min - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::string::size - - - - - -Node1->Node3 - - - - - - - - - - - - - diff --git a/d5/d90/palindrome__partitioning_8cpp_a52ee22882858d2b1cf04293f02ed839a_cgraph_org.svg b/d5/d90/palindrome__partitioning_8cpp_a52ee22882858d2b1cf04293f02ed839a_cgraph_org.svg deleted file mode 100644 index d882ef573..000000000 --- a/d5/d90/palindrome__partitioning_8cpp_a52ee22882858d2b1cf04293f02ed839a_cgraph_org.svg +++ /dev/null @@ -1,68 +0,0 @@ - - - - - - -dynamic_programming::palindrome_partitioning::pal_part - - -Node1 - - -dynamic_programming -::palindrome_partitioning -::pal_part - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::min - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::string::size - - - - - -Node1->Node3 - - - - - - - - diff --git a/d5/d90/palindrome__partitioning_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d5/d90/palindrome__partitioning_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 46f19db3e..000000000 --- a/d5/d90/palindrome__partitioning_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d5/d90/palindrome__partitioning_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d5/d90/palindrome__partitioning_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index 4088778dc..000000000 --- a/d5/d90/palindrome__partitioning_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -b1af02f7aa5d4aaac336053792982527 \ No newline at end of file diff --git a/d5/d90/palindrome__partitioning_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d5/d90/palindrome__partitioning_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 2821970f4..000000000 --- a/d5/d90/palindrome__partitioning_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d5/d90/palindrome__partitioning_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d5/d90/palindrome__partitioning_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 6284e3db9..000000000 --- a/d5/d90/palindrome__partitioning_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - diff --git a/d5/d90/palindrome__partitioning_8cpp_source.html b/d5/d90/palindrome__partitioning_8cpp_source.html new file mode 100644 index 000000000..68b8015ee --- /dev/null +++ b/d5/d90/palindrome__partitioning_8cpp_source.html @@ -0,0 +1,238 @@ + + + + + + + + +TheAlgorithms/C++: dynamic_programming/palindrome_partitioning.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    palindrome_partitioning.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    19#include <algorithm> // for std::min
    +
    20#include <cassert> // for std::assert
    +
    21#include <climits> // for INT_MAX
    +
    22#include <iostream> // for io operations
    +
    23#include <vector> // for std::vector
    +
    24
    +
    29namespace dynamic_programming {
    +
    30
    + +
    38
    +
    +
    45int pal_part(const std::string &str) {
    +
    46 int n = str.size();
    +
    47
    +
    48 // creating lookup table for minimum number of cuts
    +
    49 std::vector<std::vector<int> > cuts(n, std::vector<int>(n, 0));
    +
    50
    +
    51 // creating lookup table for palindrome checking
    +
    52 std::vector<std::vector<bool> > is_palindrome(n,
    +
    53 std::vector<bool>(n, false));
    +
    54
    +
    55 // initialization
    +
    56 for (int i = 0; i < n; i++) {
    +
    57 is_palindrome[i][i] = true;
    +
    58 cuts[i][i] = 0;
    +
    59 }
    +
    60
    +
    61 for (int len = 2; len <= n; len++) {
    +
    62 for (int start_index = 0; start_index < n - len + 1; start_index++) {
    +
    63 int end_index = start_index + len - 1;
    +
    64
    +
    65 if (len == 2) {
    +
    66 is_palindrome[start_index][end_index] =
    +
    67 (str[start_index] == str[end_index]);
    +
    68 } else {
    +
    69 is_palindrome[start_index][end_index] =
    +
    70 (str[start_index] == str[end_index]) &&
    +
    71 is_palindrome[start_index + 1][end_index - 1];
    +
    72 }
    +
    73
    +
    74 if (is_palindrome[start_index][end_index]) {
    +
    75 cuts[start_index][end_index] = 0;
    +
    76 } else {
    +
    77 cuts[start_index][end_index] = INT_MAX;
    +
    78 for (int partition = start_index; partition <= end_index - 1;
    +
    79 partition++) {
    +
    80 cuts[start_index][end_index] =
    +
    81 std::min(cuts[start_index][end_index],
    +
    82 cuts[start_index][partition] +
    +
    83 cuts[partition + 1][end_index] + 1);
    +
    84 }
    +
    85 }
    +
    86 }
    +
    87 }
    +
    88
    +
    89 return cuts[0][n - 1];
    +
    90}
    +
    +
    91} // namespace palindrome_partitioning
    +
    92} // namespace dynamic_programming
    +
    93
    +
    +
    98static void test() {
    +
    99 // custom input vector
    +
    100 std::vector<std::string> custom_input{"nitik", "ababbbabbababa", "abdc"};
    +
    101
    +
    102 // calculated output vector by pal_part Function
    +
    103 std::vector<int> calculated_output(3);
    +
    104
    +
    105 for (int i = 0; i < 3; i++) {
    +
    106 calculated_output[i] =
    +
    107 dynamic_programming::palindrome_partitioning::pal_part(
    +
    108 custom_input[i]);
    +
    109 }
    +
    110
    +
    111 // expected output vector
    +
    112 std::vector<int> expected_output{2, 3, 3};
    +
    113
    +
    114 // Testing implementation via assert function
    +
    115 // It will throw error if any of the expected test fails
    +
    116 // Else it will give nothing
    +
    117 for (int i = 0; i < 3; i++) {
    +
    118 assert(expected_output[i] == calculated_output[i]);
    +
    119 }
    +
    120
    +
    121 std::cout << "All tests passed successfully!\n";
    +
    122}
    +
    +
    123
    +
    +
    128int main() {
    +
    129 test(); // execute the test
    +
    130 return 0;
    +
    131}
    +
    +
    Dynamic Programming algorithms.
    +
    Functions for Palindrome Partitioning algorithm.
    + +
    static void test()
    Test Function.
    +
    int main()
    Main function.
    +
    +
    + + + + diff --git a/d5/d91/namespacesorting.html b/d5/d91/namespacesorting.html index 1d84d4371..b83df6f21 100644 --- a/d5/d91/namespacesorting.html +++ b/d5/d91/namespacesorting.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: sorting Namespace Reference +TheAlgorithms/C++: sorting Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -116,31 +133,31 @@ $(function(){initNavTree('d5/d91/namespacesorting.html','../../'); initResizable - + - + - + - + - + - + @@ -159,26 +176,26 @@ Functions - - + + - + - + - + - + - + - + @@ -187,7 +204,7 @@ Functions - +
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++

    Functions

    template<class T >
    int64_t binary_search (std::vector< T > &arr, T val, int64_t low, int64_t high)
    int64_t binary_search (std::vector< T > &arr, T val, int64_t low, int64_t high)
     Binary search function to find the most suitable pace for an element.
     
    template<typename T >
    void insertionSort_binsrch (std::vector< T > &arr)
    void insertionSort_binsrch (std::vector< T > &arr)
     Insertion sort function to sort the vector.
     
    template<typename T , size_t N>
    std::array< T, N > shuffle (std::array< T, N > arr)
    std::array< T, N > shuffle (std::array< T, N > arr)
     
    template<typename T , size_t N>
    std::array< T, N > randomized_bogosort (std::array< T, N > arr)
    std::array< T, N > randomized_bogosort (std::array< T, N > arr)
     
    template<typename T >
    void gnomeSort (T *arr, int size)
     
    template<typename T , size_t size>
    std::array< T, size > gnomeSort (std::array< T, size > arr)
    std::array< T, size > gnomeSort (std::array< T, size > arr)
     
    template<typename T >
    void insertionSort (T *arr, int n)
     Insertion Sort Function.
     
    template<typename T >
    void insertionSort (std::vector< T > *arr)
    void insertionSort (std::vector< T > *arr)
     Insertion Sort for a vector.
     
    template<class Iterator >
    void non_recursive_merge_sort (const Iterator first, const Iterator last)
     bottom-up merge sort which sorts elements in a non-decreasing order
     
    template<std::size_t N>
    std::array< int, N > pigeonSort (std::array< int, N > arr)
    template<std::size_t N>
    std::array< int, N > pigeonSort (std::array< int, N > arr)
     
    template<typename T >
    void quicksort (std::vector< T > *arr, int32_t low, int32_t high)
    void quicksort (std::vector< T > *arr, int32_t low, int32_t high)
     
    template<typename T >
    std::vector< T > quicksort (std::vector< T > arr, int32_t low, int32_t high)
    std::vector< T > quicksort (std::vector< T > arr, int32_t low, int32_t high)
     
    int partition (std::vector< int > &arr, int start, int end)
    int partition (std::vector< int > &arr, int start, int end)
     The partition function sorts the array from start to end and uses the last element as the pivot.
     
    void iterativeQuickSort (std::vector< int > &arr)
    void iterativeQuickSort (std::vector< int > &arr)
     The main sorting function.
     
    template<typename T >
    void recursive_bubble_sort (std::vector< T > *nums, uint64_t n)
    void recursive_bubble_sort (std::vector< T > *nums, uint64_t n)
     This is an implementation of the recursive_bubble_sort. A vector is passed to the function which is then dereferenced, so that the changes are reflected in the original vector. It also accepts a second parameter of type int and name n, which is the size of the array.
     
    std::vector< uint64_t > selectionSort (const std::vector< uint64_t > &arr, uint64_t len)
    std::vector< uint64_t > selectionSort (const std::vector< uint64_t > &arr, uint64_t len)
     
    template<typename T >
    void shell_sort (T *arr, size_t LEN)
    void shell_sort (T(&arr)[N])
     
    template<typename T >
    void shell_sort (std::vector< T > *arr)
    void shell_sort (std::vector< T > *arr)
     

    Detailed Description

    @@ -197,35 +214,35 @@ Functions

    header files

    Sorting Algorithms.

    for std::assert

    -

    for using std::vector

    +

    for using std::vector

    for assert

    -

    for std::vector

    +

    for std::vector

    Sorting algorithms.

    for algorithm functions for assert for IO operations

    Sorting algorithms

    -

    for std::is_sorted for assert for IO implementations for std::string for std::pair, std::swap for std::vector, std::vector::push_back, std::vector::size

    +

    for std::is_sorted for assert for IO implementations for std::string for std::pair, std::swap for std::vector, std::vector::push_back, std::vector::size

    for assert for typedef datatype uint64_t for IO operations

    Sorting algorithms

    -

    for std::is_sorted, std::swap for io operations for std::vector

    +

    for std::is_sorted, std::swap for io operations for std::vector

    Sorting algorithms

    -

    for std::is_sorted for std::swap and io operations for std::vector

    +

    for std::is_sorted for std::swap and io operations for std::vector

    @breif Sorting algorithms

    Sorting algorithms

    -

    for std::is_sorted for assert function in testing for std::cout and std::endl

    +

    for std::is_sorted for assert function in testing for std::cout and std::endl

    Contains sorting algorithms

    -

    for std::is_sorted for std::time for IO operations for std::vector

    +

    for std::is_sorted for std::time for IO operations for std::vector

    Sorting algorithms

    -

    for std::cout for std::vector for std::stack for std::is_sorted for assert

    -

    for collection of functions for a macro called assert which can be used to verify assumptions for io operations for std::vector

    +

    for std::cout for std::vector for std::stack for std::is_sorted for assert

    +

    for collection of functions for a macro called assert which can be used to verify assumptions for io operations for std::vector

    Sorting algorithms

    -

    for std::is_sorted(), std::swap() for std::array for assert for initializing random number generator for IO operations

    +

    for std::is_sorted(), std::swap() for std::array for assert for initializing random number generator for IO operations

    Sorting algorithms

    -

    for std::is_sorted for std::array for IO operations for std::vector

    +

    for std::is_sorted for std::array for IO operations for std::vector

    Sorting algorithms

    -

    for std::is_sorted for IO operations for std::vector

    -

    for std::is_sorted for assert for std::swap and io operations

    +

    for std::is_sorted for IO operations for std::vector

    +

    for std::is_sorted for assert for std::swap and io operations

    Sorting algorithms

    -

    for std::is_sorted, std::swap for assert for IO operations

    +

    for std::is_sorted, std::swap for assert for IO operations

    Sorting algorithms

    Function Documentation

    @@ -239,7 +256,7 @@ template<class T > int64_t sorting::binary_search ( - std::vector< T > & arr, + std::vector< T > & arr, @@ -276,6 +293,8 @@ template<class T >
    Returns
    the index of most suitable position of val.
    + +

    Definition at line 63 of file binary_insertion_sort.cpp.

    63 {
    64 if (high <= low) {
    65 return (val > arr[low]) ? (low + 1) : low;
    @@ -284,18 +303,13 @@ template<class T >
    68 if (arr[mid] > val) {
    69 return binary_search(arr, val, low, mid - 1);
    70 } else if (arr[mid] < val) {
    -
    71 return binary_search(arr, val, mid + 1, high);
    +
    71 return binary_search(arr, val, mid + 1, high);
    72 } else {
    73 return mid + 1;
    74 }
    75}
    -
    T binary_search(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    int64_t binary_search(std::vector< T > &arr, T val, int64_t low, int64_t high)
    Binary search function to find the most suitable pace for an element.
    + @@ -307,9 +321,9 @@ Here is the call graph for this function: template<typename T , size_t size> - + - +
    std::array< T, size > sorting::gnomeSort std::array< T, size > sorting::gnomeSort (std::array< T, size > arr)std::array< T, size > arr)
    @@ -328,6 +342,8 @@ template<typename T , size_t size>
    Returns
    array with elements sorted
    + +

    Definition at line 62 of file gnome_sort.cpp.

    62 {
    63 // few easy cases
    64 if (size <= 1) {
    @@ -340,19 +356,13 @@ template<typename T , size_t size>
    71 if ((index == 0) || (arr[index] >= arr[index - 1])) {
    72 index++;
    73 } else {
    -
    74 std::swap(arr[index], arr[index - 1]); // swap
    +
    74 std::swap(arr[index], arr[index - 1]); // swap
    75 index--;
    76 }
    77 }
    78 return arr;
    79}
    -
    T swap(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -382,6 +392,8 @@ template<typename T > + +

    Definition at line 34 of file gnome_sort.cpp.

    34 {
    35 // few easy cases
    36 if (size <= 1) {
    @@ -394,17 +406,12 @@ template<typename T >
    43 if ((index == 0) || (arr[index] >= arr[index - 1])) {
    44 index++;
    45 } else {
    -
    46 std::swap(arr[index], arr[index - 1]); // swap
    +
    46 std::swap(arr[index], arr[index - 1]); // swap
    47 index--;
    48 }
    49 }
    50}
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -418,7 +425,7 @@ template<typename T > void sorting::insertionSort ( - std::vector< T > * arr) + std::vector< T > * arr) @@ -450,8 +457,10 @@ template<typename T > + +

    Definition at line 77 of file insertion_sort.cpp.

    77 {
    -
    78 size_t n = arr->size();
    +
    78 size_t n = arr->size();
    79
    80 for (size_t i = 1; i < n; i++) {
    81 T temp = arr[0][i];
    @@ -463,13 +472,7 @@ template<typename T >
    87 arr[0][j + 1] = temp;
    88 }
    89}
    -
    T size(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -520,6 +523,8 @@ template<typename T > + +

    Definition at line 59 of file insertion_sort.cpp.

    59 {
    60 for (int i = 1; i < n; i++) {
    61 T temp = arr[i];
    @@ -545,7 +550,7 @@ template<typename T >
    void sorting::insertionSort_binsrch ( - std::vector< T > & arr) + std::vector< T > & arr) @@ -565,8 +570,10 @@ template<typename T >
    Returns
    Void.
    + +

    Definition at line 84 of file binary_insertion_sort.cpp.

    84 {
    -
    85 int64_t n = arr.size();
    +
    85 int64_t n = arr.size();
    86
    87 for (int64_t i = 1; i < n; i++) {
    88 T key = arr[i];
    @@ -579,13 +586,7 @@ template<typename T >
    95 arr[j + 1] = key;
    96 }
    97}
    -
    int64_t binary_search(std::vector< T > &arr, T val, int64_t low, int64_t high)
    Binary search function to find the most suitable pace for an element.
    Definition binary_insertion_sort.cpp:63
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -597,7 +598,7 @@ Here is the call graph for this function: void sorting::iterativeQuickSort ( - std::vector< int > & arr) + std::vector< int > & arr) @@ -611,10 +612,12 @@ Here is the call graph for this function:
    Returns
    void
    + +

    Definition at line 58 of file quick_sort_iterative.cpp.

    59{
    - +
    60 std::stack<int> stack;
    61 int start = 0;
    -
    62 int end = arr.size()-1;
    +
    62 int end = arr.size()-1;
    63 stack.push(start);
    64 stack.push(end);
    65
    @@ -640,18 +643,12 @@ Here is the call graph for this function:
    85 }
    86 }
    87}
    -
    for std::invalid_argument
    Definition stack.hpp:19
    -
    void pop()
    Definition stack.hpp:62
    -
    void push(const value_type &item)
    Definition stack.hpp:47
    -
    value_type top() const
    Definition stack.hpp:56
    -
    char stack[MAX]
    Definition paranthesis_matching.cpp:20
    - -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    for std::invalid_argument
    Definition stack.hpp:19
    +
    void pop()
    Definition stack.hpp:62
    +
    void push(const value_type &item)
    Definition stack.hpp:47
    +
    value_type top() const
    Definition stack.hpp:56
    +
    char stack[MAX]
    + @@ -695,27 +692,23 @@ template<class Iterator > + +

    Definition at line 57 of file non_recursive_merge_sort.cpp.

    57 {
    58 // create 2 pointers to point at the buffer
    59 auto p(reinterpret_cast<std::remove_reference_t<decltype(*l)>*>(b)), c(p);
    60 // move the left part of the segment
    -
    61 for (Iterator t(l); r != t; ++t) *p++ = std::move(*t);
    +
    61 for (Iterator t(l); r != t; ++t) *p++ = std::move(*t);
    62 // while neither the buffer nor the right part has been exhausted
    63 // move the smallest element of the two back to the container
    -
    64 while (e != r && c != p) *l++ = std::move(*r < *c ? *r++ : *c++);
    +
    64 while (e != r && c != p) *l++ = std::move(*r < *c ? *r++ : *c++);
    65 // notice only one of the two following loops will be executed
    66 // while the right part hasn't bee exhausted, move it back
    -
    67 while (e != r) *l++ = std::move(*r++);
    +
    67 while (e != r) *l++ = std::move(*r++);
    68 // while the buffer hasn't bee exhausted, move it back
    -
    69 while (c != p) *l++ = std::move(*c++);
    +
    69 while (c != p) *l++ = std::move(*c++);
    70}
    -
    T move(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -747,15 +740,12 @@ template<class Iterator > + +

    Definition at line 86 of file non_recursive_merge_sort.cpp.

    86 {
    87 non_recursive_merge_sort(first, last, last - first);
    88}
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -793,6 +783,8 @@ template<class Iterator > + +

    Definition at line 25 of file non_recursive_merge_sort.cpp.

    26 {
    27 // create a buffer large enough to store all elements
    28 // dynamically allocated to comply with cpplint
    @@ -815,13 +807,8 @@ template<class Iterator >
    45 }
    46 delete[] buffer;
    47}
    -
    void merge(int *arr, int l, int m, int r)
    Definition merge_sort.cpp:33
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    void merge(int *arr, int l, int m, int r)
    + @@ -853,15 +840,12 @@ template<class Iterator > + +

    Definition at line 77 of file non_recursive_merge_sort.cpp.

    77 {
    78 non_recursive_merge_sort(first, first + n, n);
    79}
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -873,7 +857,7 @@ Here is the call graph for this function: int sorting::partition ( - std::vector< int > & arr, + std::vector< int > & arr, @@ -898,25 +882,22 @@ Here is the call graph for this function:
    Returns
    int next index of the pivot
    + +

    Definition at line 33 of file quick_sort_iterative.cpp.

    34{
    35 int pivot = arr[end];
    36 int index = start - 1;
    37
    38 for (int j = start; j < end; j++) {
    39 if (arr[j] <= pivot) {
    -
    40 std::swap(arr[++index], arr[j]);
    +
    40 std::swap(arr[++index], arr[j]);
    41 }
    42 }
    43
    -
    44 std::swap(arr[index + 1], arr[end]);
    +
    44 std::swap(arr[index + 1], arr[end]);
    45 return index + 1;
    46}
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -925,12 +906,12 @@ Here is the call graph for this function:
    -template<std::size_t N>
    +template<std::size_t N>
    - + - +
    std::array< int, N > sorting::pigeonSort std::array< int, N > sorting::pigeonSort (std::array< int, N > arr)std::array< int, N > arr)
    @@ -942,10 +923,12 @@ template<
    Returns
    sorted array of elements
    + +

    Definition at line 34 of file pigeonhole_sort.cpp.

    34 {
    35 // Finding min and max*
    -
    36 auto min = std::min_element(std::begin(arr), std::end(arr));
    -
    37 auto max = std::max_element(std::begin(arr), std::end(arr));
    +
    36 auto min = std::min_element(std::begin(arr), std::end(arr));
    +
    37 auto max = std::max_element(std::begin(arr), std::end(arr));
    38
    39 // Range refers to the number of holes required
    40 int range = *max - *min + 1;
    @@ -969,16 +952,7 @@ template< 58
    59 return arr;
    60}
    -
    T begin(T... args)
    -
    T end(T... args)
    -
    T max_element(T... args)
    -
    T min_element(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -992,7 +966,7 @@ template<typename T > void sorting::quicksort ( - std::vector< T > * arr, + std::vector< T > * arr, @@ -1020,6 +994,8 @@ template<typename T > + +

    Definition at line 94 of file quick_sort_3.cpp.

    94 {
    95 if (low >= high) { // 1 or 0 elements
    96 return;
    @@ -1034,12 +1010,7 @@ template<typename T >
    105 quicksort(arr, low, i);
    106 quicksort(arr, j, high);
    107}
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -1051,9 +1022,9 @@ Here is the call graph for this function: template<typename T > - + - + @@ -1082,6 +1053,8 @@ template<typename T >
    Returns
    sorted array vector
    + +

    Definition at line 119 of file quick_sort_3.cpp.

    119 {
    120 if (low >= high) { // 1 or 0 elements
    121 return arr;
    @@ -1098,12 +1071,7 @@ template<typename T >
    132
    133 return arr;
    134}
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -1115,9 +1083,9 @@ Here is the call graph for this function: template<typename T , size_t N>
    std::vector< T > sorting::quicksort std::vector< T > sorting::quicksort (std::vector< T > arr, std::vector< T > arr,
    - + - +
    std::array< T, N > sorting::randomized_bogosort std::array< T, N > sorting::randomized_bogosort (std::array< T, N > arr)std::array< T, N > arr)
    @@ -1136,25 +1104,18 @@ template<typename T , size_t N>
    Returns
    new array with elements sorted from a given array
    + +

    Definition at line 52 of file bogo_sort.cpp.

    52 {
    53 // Untill array is not sorted
    -
    54 std::random_device random_device;
    -
    55 std::mt19937 generator(random_device());
    -
    56 while (!std::is_sorted(arr.begin(), arr.end())) {
    -
    57 std::shuffle(arr.begin(), arr.end(), generator);// Shuffle the array
    +
    54 std::random_device random_device;
    +
    55 std::mt19937 generator(random_device());
    +
    56 while (!std::is_sorted(arr.begin(), arr.end())) {
    +
    57 std::shuffle(arr.begin(), arr.end(), generator);// Shuffle the array
    58 }
    59 return arr;
    60}
    -
    T is_sorted(T... args)
    - - -
    T shuffle(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -1168,7 +1129,7 @@ template<typename T > void sorting::recursive_bubble_sort ( - std::vector< T > * nums, + std::vector< T > * nums, @@ -1195,28 +1156,23 @@ template<typename T >

    < base case; when size of the array is 1

    < iterating over the entire array

    < if a larger number appears before the smaller one, swap them.

    + +

    Definition at line 84 of file recursive_bubble_sort.cpp.

    84 {
    -
    85 if (n == 1) { //!< base case; when size of the array is 1
    +
    85 if (n == 1) {
    86 return;
    87 }
    88
    -
    89 for (uint64_t i = 0; i < n - 1; i++) { //!< iterating over the entire array
    -
    90 //!< if a larger number appears before the smaller one, swap them.
    -
    91 if ((*nums)[i] > (*nums)[i + 1]) {
    -
    92 std::swap((*nums)[i], (*nums)[i + 1]);
    +
    89 for (uint64_t i = 0; i < n - 1; i++) {
    +
    91 if ((*nums)[i] > (*nums)[i + 1]) {
    +
    92 std::swap((*nums)[i], (*nums)[i + 1]);
    93 }
    94 }
    -
    95
    -
    96 //!< calling the function after we have fixed the last element
    -
    97 recursive_bubble_sort(nums, n - 1);
    +
    95
    +
    97 recursive_bubble_sort(nums, n - 1);
    98}
    -
    void recursive_bubble_sort(std::vector< T > *nums, uint64_t n)
    This is an implementation of the recursive_bubble_sort. A vector is passed to the function which is t...
    Definition recursive_bubble_sort.cpp:84
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    void recursive_bubble_sort(std::vector< T > *nums, uint64_t n)
    This is an implementation of the recursive_bubble_sort. A vector is passed to the function which is t...
    + @@ -1226,9 +1182,9 @@ Here is the call graph for this function:
    - + - + @@ -1237,10 +1193,12 @@ Here is the call graph for this function:
    std::vector< uint64_t > sorting::selectionSort std::vector< uint64_t > sorting::selectionSort (const std::vector< uint64_t > & arr, const std::vector< uint64_t > & arr,
    + +

    Definition at line 48 of file selection_sort_iterative.cpp.

    49 {
    - -
    51 arr.begin(),
    -
    52 arr.end()); // declare a vector in which result will be stored
    +
    50 std::vector<uint64_t> array(
    +
    51 arr.begin(),
    +
    52 arr.end()); // declare a vector in which result will be stored
    53 for (uint64_t it = 0; it < len; ++it) {
    54 uint64_t min = it; // set min value
    55 for (uint64_t it2 = it + 1; it2 < len; ++it2) {
    @@ -1250,16 +1208,14 @@ Here is the call graph for this function:
    59 }
    60
    61 if (min != it) { // swap if min does not match to i
    -
    62 uint64_t tmp = array[min];
    -
    63 array[min] = array[it];
    +
    62 uint64_t tmp = array[min];
    +
    63 array[min] = array[it];
    64 array[it] = tmp;
    65 }
    66 }
    67
    68 return array; // return sorted vector
    69}
    -
    T min(T... args)
    -
    @@ -1274,22 +1230,18 @@ template<typename T > void sorting::shell_sort ( - std::vector< T > * arr) + std::vector< T > * arr)
    -

    function overload - when input array is of type std::vector, simply send the data content and the data length to the above function.

    -
    75 {
    -
    76 shell_sort(arr->data(), arr->size());
    -
    77}
    -
    T data(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    +

    function overload - when input array is of type std::vector, simply send the data content and the data length to the above function.

    +

    Definition at line 75 of file shell_sort2.cpp.

    +
    75 {
    +
    76 shell_sort(arr->data(), arr->size());
    +
    77}
    +
    @@ -1313,6 +1265,8 @@ template<typename T >

    Optimized algorithm - takes half the time by utilizing Mar

    + +

    Definition at line 45 of file shell_sort2.cpp.

    45 {
    46 const unsigned int gaps[] = {701, 301, 132, 57, 23, 10, 4, 1};
    47 const unsigned int gap_len = 8;
    @@ -1351,15 +1305,12 @@ template<typename T , size_t N>

    function overload - when input array is of a known length array type

    + +

    Definition at line 67 of file shell_sort2.cpp.

    67 {
    68 shell_sort(arr, N);
    69}
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    @@ -1371,9 +1322,9 @@ Here is the call graph for this function: template<typename T , size_t N> - + - +
    std::array< T, N > sorting::shuffle std::array< T, N > sorting::shuffle (std::array< T, N > arr)std::array< T, N > arr)
    @@ -1392,20 +1343,16 @@ template<typename T , size_t N>
    Returns
    new array with elements shuffled from a given array
    + +

    Definition at line 37 of file bogo_sort.cpp.

    37 {
    38 for (int i = 0; i < N; i++) {
    39 // Swaps i'th index with random index (less than array size)
    -
    40 std::swap(arr[i], arr[std::rand() % N]);
    +
    40 std::swap(arr[i], arr[std::rand() % N]);
    41 }
    42 return arr;
    43}
    -
    T rand(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + diff --git a/d5/d91/namespacesorting_a034d8b276518a902962e87d3158b64fd_cgraph.map b/d5/d91/namespacesorting_a034d8b276518a902962e87d3158b64fd_cgraph.map deleted file mode 100644 index 7f1d53915..000000000 --- a/d5/d91/namespacesorting_a034d8b276518a902962e87d3158b64fd_cgraph.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/d5/d91/namespacesorting_a034d8b276518a902962e87d3158b64fd_cgraph.md5 b/d5/d91/namespacesorting_a034d8b276518a902962e87d3158b64fd_cgraph.md5 deleted file mode 100644 index 8529407a5..000000000 --- a/d5/d91/namespacesorting_a034d8b276518a902962e87d3158b64fd_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -9e5eb6fc0a3437434482e8b86d46572e \ No newline at end of file diff --git a/d5/d91/namespacesorting_a034d8b276518a902962e87d3158b64fd_cgraph.svg b/d5/d91/namespacesorting_a034d8b276518a902962e87d3158b64fd_cgraph.svg deleted file mode 100644 index cb9083cad..000000000 --- a/d5/d91/namespacesorting_a034d8b276518a902962e87d3158b64fd_cgraph.svg +++ /dev/null @@ -1,56 +0,0 @@ - - - - - - - - - - - - -sorting::binary_search - - -Node1 - - -sorting::binary_search - - - - - -Node1->Node1 - - - - - - - - - - - - - diff --git a/d5/d91/namespacesorting_a034d8b276518a902962e87d3158b64fd_cgraph_org.svg b/d5/d91/namespacesorting_a034d8b276518a902962e87d3158b64fd_cgraph_org.svg deleted file mode 100644 index 2976f43a6..000000000 --- a/d5/d91/namespacesorting_a034d8b276518a902962e87d3158b64fd_cgraph_org.svg +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - -sorting::binary_search - - -Node1 - - -sorting::binary_search - - - - - -Node1->Node1 - - - - - - - - diff --git a/d5/d91/namespacesorting_a0e9e1b21a1684585e9e50f9afe4d53a3_cgraph.map b/d5/d91/namespacesorting_a0e9e1b21a1684585e9e50f9afe4d53a3_cgraph.map deleted file mode 100644 index 36ed2a743..000000000 --- a/d5/d91/namespacesorting_a0e9e1b21a1684585e9e50f9afe4d53a3_cgraph.map +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/d5/d91/namespacesorting_a0e9e1b21a1684585e9e50f9afe4d53a3_cgraph.md5 b/d5/d91/namespacesorting_a0e9e1b21a1684585e9e50f9afe4d53a3_cgraph.md5 deleted file mode 100644 index 2456666a0..000000000 --- a/d5/d91/namespacesorting_a0e9e1b21a1684585e9e50f9afe4d53a3_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -6e52ffa0f0030e5c0df14d7cd39c3c1a \ No newline at end of file diff --git a/d5/d91/namespacesorting_a0e9e1b21a1684585e9e50f9afe4d53a3_cgraph.svg b/d5/d91/namespacesorting_a0e9e1b21a1684585e9e50f9afe4d53a3_cgraph.svg deleted file mode 100644 index 09071a9cf..000000000 --- a/d5/d91/namespacesorting_a0e9e1b21a1684585e9e50f9afe4d53a3_cgraph.svg +++ /dev/null @@ -1,119 +0,0 @@ - - - - - - - - - - - - -sorting::pigeonSort - - -Node1 - - -sorting::pigeonSort - - - - - -Node2 - - -std::begin - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::end - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::max_element - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::min_element - - - - - -Node1->Node5 - - - - - - - - - - - - - diff --git a/d5/d91/namespacesorting_a0e9e1b21a1684585e9e50f9afe4d53a3_cgraph_org.svg b/d5/d91/namespacesorting_a0e9e1b21a1684585e9e50f9afe4d53a3_cgraph_org.svg deleted file mode 100644 index 00d97d8b5..000000000 --- a/d5/d91/namespacesorting_a0e9e1b21a1684585e9e50f9afe4d53a3_cgraph_org.svg +++ /dev/null @@ -1,93 +0,0 @@ - - - - - - -sorting::pigeonSort - - -Node1 - - -sorting::pigeonSort - - - - - -Node2 - - -std::begin - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::end - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::max_element - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::min_element - - - - - -Node1->Node5 - - - - - - - - diff --git a/d5/d91/namespacesorting_a140d913e42fb94176a0b2c8b29a80420_cgraph.map b/d5/d91/namespacesorting_a140d913e42fb94176a0b2c8b29a80420_cgraph.map deleted file mode 100644 index fc210739e..000000000 --- a/d5/d91/namespacesorting_a140d913e42fb94176a0b2c8b29a80420_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/d5/d91/namespacesorting_a140d913e42fb94176a0b2c8b29a80420_cgraph.md5 b/d5/d91/namespacesorting_a140d913e42fb94176a0b2c8b29a80420_cgraph.md5 deleted file mode 100644 index 1fa49c646..000000000 --- a/d5/d91/namespacesorting_a140d913e42fb94176a0b2c8b29a80420_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -a3b514c723edd649aeae410f680d5978 \ No newline at end of file diff --git a/d5/d91/namespacesorting_a140d913e42fb94176a0b2c8b29a80420_cgraph.svg b/d5/d91/namespacesorting_a140d913e42fb94176a0b2c8b29a80420_cgraph.svg deleted file mode 100644 index 16480a49f..000000000 --- a/d5/d91/namespacesorting_a140d913e42fb94176a0b2c8b29a80420_cgraph.svg +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - - - - - -sorting::non_recursive_merge_sort - - -Node1 - - -sorting::non_recursive -_merge_sort - - - - - -Node2 - - -sorting::merge - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::move - - - - - -Node2->Node3 - - - - - - - - - - - - - diff --git a/d5/d91/namespacesorting_a140d913e42fb94176a0b2c8b29a80420_cgraph_org.svg b/d5/d91/namespacesorting_a140d913e42fb94176a0b2c8b29a80420_cgraph_org.svg deleted file mode 100644 index fcac1a2b1..000000000 --- a/d5/d91/namespacesorting_a140d913e42fb94176a0b2c8b29a80420_cgraph_org.svg +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - -sorting::non_recursive_merge_sort - - -Node1 - - -sorting::non_recursive -_merge_sort - - - - - -Node2 - - -sorting::merge - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::move - - - - - -Node2->Node3 - - - - - - - - diff --git a/d5/d91/namespacesorting_a263595fd9a0163b5b997b89fab3a0dc5_cgraph.map b/d5/d91/namespacesorting_a263595fd9a0163b5b997b89fab3a0dc5_cgraph.map deleted file mode 100644 index fec18d63f..000000000 --- a/d5/d91/namespacesorting_a263595fd9a0163b5b997b89fab3a0dc5_cgraph.map +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - - - - - diff --git a/d5/d91/namespacesorting_a263595fd9a0163b5b997b89fab3a0dc5_cgraph.md5 b/d5/d91/namespacesorting_a263595fd9a0163b5b997b89fab3a0dc5_cgraph.md5 deleted file mode 100644 index 973aed750..000000000 --- a/d5/d91/namespacesorting_a263595fd9a0163b5b997b89fab3a0dc5_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -294ca56a54bd9dc9c0c33ab45e58117f \ No newline at end of file diff --git a/d5/d91/namespacesorting_a263595fd9a0163b5b997b89fab3a0dc5_cgraph.svg b/d5/d91/namespacesorting_a263595fd9a0163b5b997b89fab3a0dc5_cgraph.svg deleted file mode 100644 index eefba55e8..000000000 --- a/d5/d91/namespacesorting_a263595fd9a0163b5b997b89fab3a0dc5_cgraph.svg +++ /dev/null @@ -1,173 +0,0 @@ - - - - - - - - - - - - -sorting::iterativeQuickSort - - -Node1 - - -sorting::iterativeQuickSort - - - - - -Node2 - - -sorting::partition - - - - - -Node1->Node2 - - - - - - - - -Node4 - - -stack::pop - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -stack::push - - - - - -Node1->Node5 - - - - - - - - -Node7 - - -std::vector::size - - - - - -Node1->Node7 - - - - - - - - -Node8 - - -stack::top - - - - - -Node1->Node8 - - - - - - - - -Node3 - - -std::swap - - - - - -Node2->Node3 - - - - - - - - -Node6 - - -std::make_shared - - - - - -Node5->Node6 - - - - - - - - - - - - - diff --git a/d5/d91/namespacesorting_a263595fd9a0163b5b997b89fab3a0dc5_cgraph_org.svg b/d5/d91/namespacesorting_a263595fd9a0163b5b997b89fab3a0dc5_cgraph_org.svg deleted file mode 100644 index e8003b69d..000000000 --- a/d5/d91/namespacesorting_a263595fd9a0163b5b997b89fab3a0dc5_cgraph_org.svg +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - -sorting::iterativeQuickSort - - -Node1 - - -sorting::iterativeQuickSort - - - - - -Node2 - - -sorting::partition - - - - - -Node1->Node2 - - - - - - - - -Node4 - - -stack::pop - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -stack::push - - - - - -Node1->Node5 - - - - - - - - -Node7 - - -std::vector::size - - - - - -Node1->Node7 - - - - - - - - -Node8 - - -stack::top - - - - - -Node1->Node8 - - - - - - - - -Node3 - - -std::swap - - - - - -Node2->Node3 - - - - - - - - -Node6 - - -std::make_shared - - - - - -Node5->Node6 - - - - - - - - diff --git a/d5/d91/namespacesorting_a27236b8d3df3832e1f1225576a122534_cgraph.map b/d5/d91/namespacesorting_a27236b8d3df3832e1f1225576a122534_cgraph.map deleted file mode 100644 index 25f7a4538..000000000 --- a/d5/d91/namespacesorting_a27236b8d3df3832e1f1225576a122534_cgraph.map +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/d5/d91/namespacesorting_a27236b8d3df3832e1f1225576a122534_cgraph.md5 b/d5/d91/namespacesorting_a27236b8d3df3832e1f1225576a122534_cgraph.md5 deleted file mode 100644 index 27c02640c..000000000 --- a/d5/d91/namespacesorting_a27236b8d3df3832e1f1225576a122534_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -a19f33b868f3b01e094268cfb88500b5 \ No newline at end of file diff --git a/d5/d91/namespacesorting_a27236b8d3df3832e1f1225576a122534_cgraph.svg b/d5/d91/namespacesorting_a27236b8d3df3832e1f1225576a122534_cgraph.svg deleted file mode 100644 index 736fcade2..000000000 --- a/d5/d91/namespacesorting_a27236b8d3df3832e1f1225576a122534_cgraph.svg +++ /dev/null @@ -1,103 +0,0 @@ - - - - - - - - - - - - -sorting::non_recursive_merge_sort - - -Node1 - - -sorting::non_recursive -_merge_sort - - - - - -Node2 - - -sorting::non_recursive -_merge_sort - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -sorting::merge - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::move - - - - - -Node3->Node4 - - - - - - - - - - - - - diff --git a/d5/d91/namespacesorting_a27236b8d3df3832e1f1225576a122534_cgraph_org.svg b/d5/d91/namespacesorting_a27236b8d3df3832e1f1225576a122534_cgraph_org.svg deleted file mode 100644 index 05ac41455..000000000 --- a/d5/d91/namespacesorting_a27236b8d3df3832e1f1225576a122534_cgraph_org.svg +++ /dev/null @@ -1,77 +0,0 @@ - - - - - - -sorting::non_recursive_merge_sort - - -Node1 - - -sorting::non_recursive -_merge_sort - - - - - -Node2 - - -sorting::non_recursive -_merge_sort - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -sorting::merge - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::move - - - - - -Node3->Node4 - - - - - - - - diff --git a/d5/d91/namespacesorting_a2f8bc626eb57acae24a94636a23af6a1_cgraph.map b/d5/d91/namespacesorting_a2f8bc626eb57acae24a94636a23af6a1_cgraph.map deleted file mode 100644 index d083f6677..000000000 --- a/d5/d91/namespacesorting_a2f8bc626eb57acae24a94636a23af6a1_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d5/d91/namespacesorting_a2f8bc626eb57acae24a94636a23af6a1_cgraph.md5 b/d5/d91/namespacesorting_a2f8bc626eb57acae24a94636a23af6a1_cgraph.md5 deleted file mode 100644 index 7f80ba3df..000000000 --- a/d5/d91/namespacesorting_a2f8bc626eb57acae24a94636a23af6a1_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -66291278c4e363df7acc7f8268ee6cb5 \ No newline at end of file diff --git a/d5/d91/namespacesorting_a2f8bc626eb57acae24a94636a23af6a1_cgraph.svg b/d5/d91/namespacesorting_a2f8bc626eb57acae24a94636a23af6a1_cgraph.svg deleted file mode 100644 index 35625231a..000000000 --- a/d5/d91/namespacesorting_a2f8bc626eb57acae24a94636a23af6a1_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -sorting::gnomeSort - - -Node1 - - -sorting::gnomeSort - - - - - -Node2 - - -std::swap - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d5/d91/namespacesorting_a2f8bc626eb57acae24a94636a23af6a1_cgraph_org.svg b/d5/d91/namespacesorting_a2f8bc626eb57acae24a94636a23af6a1_cgraph_org.svg deleted file mode 100644 index e3570cb3b..000000000 --- a/d5/d91/namespacesorting_a2f8bc626eb57acae24a94636a23af6a1_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -sorting::gnomeSort - - -Node1 - - -sorting::gnomeSort - - - - - -Node2 - - -std::swap - - - - - -Node1->Node2 - - - - - - - - diff --git a/d5/d91/namespacesorting_a4d76603c54d3dc56146e92d10a043924_cgraph.map b/d5/d91/namespacesorting_a4d76603c54d3dc56146e92d10a043924_cgraph.map deleted file mode 100644 index 5c9bef932..000000000 --- a/d5/d91/namespacesorting_a4d76603c54d3dc56146e92d10a043924_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d5/d91/namespacesorting_a4d76603c54d3dc56146e92d10a043924_cgraph.md5 b/d5/d91/namespacesorting_a4d76603c54d3dc56146e92d10a043924_cgraph.md5 deleted file mode 100644 index 97f0a159b..000000000 --- a/d5/d91/namespacesorting_a4d76603c54d3dc56146e92d10a043924_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -538fc8e222c1748c7c25300779c7c3dd \ No newline at end of file diff --git a/d5/d91/namespacesorting_a4d76603c54d3dc56146e92d10a043924_cgraph.svg b/d5/d91/namespacesorting_a4d76603c54d3dc56146e92d10a043924_cgraph.svg deleted file mode 100644 index 70bd08d1b..000000000 --- a/d5/d91/namespacesorting_a4d76603c54d3dc56146e92d10a043924_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -sorting::shell_sort - - -Node1 - - -sorting::shell_sort - - - - - -Node2 - - -sorting::shell_sort - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d5/d91/namespacesorting_a4d76603c54d3dc56146e92d10a043924_cgraph_org.svg b/d5/d91/namespacesorting_a4d76603c54d3dc56146e92d10a043924_cgraph_org.svg deleted file mode 100644 index b1bfed0d7..000000000 --- a/d5/d91/namespacesorting_a4d76603c54d3dc56146e92d10a043924_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -sorting::shell_sort - - -Node1 - - -sorting::shell_sort - - - - - -Node2 - - -sorting::shell_sort - - - - - -Node1->Node2 - - - - - - - - diff --git a/d5/d91/namespacesorting_a5f4bc75cca6dd8294af2d0e328006c68_cgraph.map b/d5/d91/namespacesorting_a5f4bc75cca6dd8294af2d0e328006c68_cgraph.map deleted file mode 100644 index 3df7b519f..000000000 --- a/d5/d91/namespacesorting_a5f4bc75cca6dd8294af2d0e328006c68_cgraph.map +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/d5/d91/namespacesorting_a5f4bc75cca6dd8294af2d0e328006c68_cgraph.md5 b/d5/d91/namespacesorting_a5f4bc75cca6dd8294af2d0e328006c68_cgraph.md5 deleted file mode 100644 index ff0f4f7b4..000000000 --- a/d5/d91/namespacesorting_a5f4bc75cca6dd8294af2d0e328006c68_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -8ca8f55bdfbdc1715c5c6f498368c9ac \ No newline at end of file diff --git a/d5/d91/namespacesorting_a5f4bc75cca6dd8294af2d0e328006c68_cgraph.svg b/d5/d91/namespacesorting_a5f4bc75cca6dd8294af2d0e328006c68_cgraph.svg deleted file mode 100644 index 6dbf7e04f..000000000 --- a/d5/d91/namespacesorting_a5f4bc75cca6dd8294af2d0e328006c68_cgraph.svg +++ /dev/null @@ -1,93 +0,0 @@ - - - - - - - - - - - - -sorting::insertionSort_binsrch - - -Node1 - - -sorting::insertionSort -_binsrch - - - - - -Node2 - - -sorting::binary_search - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::vector::size - - - - - -Node1->Node3 - - - - - - - - -Node2->Node2 - - - - - - - - - - - - - diff --git a/d5/d91/namespacesorting_a5f4bc75cca6dd8294af2d0e328006c68_cgraph_org.svg b/d5/d91/namespacesorting_a5f4bc75cca6dd8294af2d0e328006c68_cgraph_org.svg deleted file mode 100644 index 58e5badf6..000000000 --- a/d5/d91/namespacesorting_a5f4bc75cca6dd8294af2d0e328006c68_cgraph_org.svg +++ /dev/null @@ -1,67 +0,0 @@ - - - - - - -sorting::insertionSort_binsrch - - -Node1 - - -sorting::insertionSort -_binsrch - - - - - -Node2 - - -sorting::binary_search - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::vector::size - - - - - -Node1->Node3 - - - - - - - - -Node2->Node2 - - - - - - - - diff --git a/d5/d91/namespacesorting_a6eb67c2f91c98cf4464f75b5882022de_cgraph.map b/d5/d91/namespacesorting_a6eb67c2f91c98cf4464f75b5882022de_cgraph.map deleted file mode 100644 index d2cee588c..000000000 --- a/d5/d91/namespacesorting_a6eb67c2f91c98cf4464f75b5882022de_cgraph.map +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/d5/d91/namespacesorting_a6eb67c2f91c98cf4464f75b5882022de_cgraph.md5 b/d5/d91/namespacesorting_a6eb67c2f91c98cf4464f75b5882022de_cgraph.md5 deleted file mode 100644 index bc5a599d1..000000000 --- a/d5/d91/namespacesorting_a6eb67c2f91c98cf4464f75b5882022de_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -bb958c6fdbb4348d841fc09cb505a221 \ No newline at end of file diff --git a/d5/d91/namespacesorting_a6eb67c2f91c98cf4464f75b5882022de_cgraph.svg b/d5/d91/namespacesorting_a6eb67c2f91c98cf4464f75b5882022de_cgraph.svg deleted file mode 100644 index 7b6018aeb..000000000 --- a/d5/d91/namespacesorting_a6eb67c2f91c98cf4464f75b5882022de_cgraph.svg +++ /dev/null @@ -1,74 +0,0 @@ - - - - - - - - - - - - -sorting::quicksort - - -Node1 - - -sorting::quicksort - - - - - -Node2 - - -sorting::quicksort - - - - - -Node1->Node2 - - - - - - - - -Node2->Node2 - - - - - - - - - - - - - diff --git a/d5/d91/namespacesorting_a6eb67c2f91c98cf4464f75b5882022de_cgraph_org.svg b/d5/d91/namespacesorting_a6eb67c2f91c98cf4464f75b5882022de_cgraph_org.svg deleted file mode 100644 index 3fb39cc84..000000000 --- a/d5/d91/namespacesorting_a6eb67c2f91c98cf4464f75b5882022de_cgraph_org.svg +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - -sorting::quicksort - - -Node1 - - -sorting::quicksort - - - - - -Node2 - - -sorting::quicksort - - - - - -Node1->Node2 - - - - - - - - -Node2->Node2 - - - - - - - - diff --git a/d5/d91/namespacesorting_a7bfe11bd4703eacd1dab93f25ec639c5_cgraph.map b/d5/d91/namespacesorting_a7bfe11bd4703eacd1dab93f25ec639c5_cgraph.map deleted file mode 100644 index f4cdd6ce7..000000000 --- a/d5/d91/namespacesorting_a7bfe11bd4703eacd1dab93f25ec639c5_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/d5/d91/namespacesorting_a7bfe11bd4703eacd1dab93f25ec639c5_cgraph.md5 b/d5/d91/namespacesorting_a7bfe11bd4703eacd1dab93f25ec639c5_cgraph.md5 deleted file mode 100644 index 28ff311a3..000000000 --- a/d5/d91/namespacesorting_a7bfe11bd4703eacd1dab93f25ec639c5_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -2c26ed1e2386202b5b2eea35cc22c3bb \ No newline at end of file diff --git a/d5/d91/namespacesorting_a7bfe11bd4703eacd1dab93f25ec639c5_cgraph.svg b/d5/d91/namespacesorting_a7bfe11bd4703eacd1dab93f25ec639c5_cgraph.svg deleted file mode 100644 index 94ad2ada8..000000000 --- a/d5/d91/namespacesorting_a7bfe11bd4703eacd1dab93f25ec639c5_cgraph.svg +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - -sorting::shuffle - - -Node1 - - -sorting::shuffle - - - - - -Node2 - - -std::rand - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::swap - - - - - -Node1->Node3 - - - - - - - - - - - - - diff --git a/d5/d91/namespacesorting_a7bfe11bd4703eacd1dab93f25ec639c5_cgraph_org.svg b/d5/d91/namespacesorting_a7bfe11bd4703eacd1dab93f25ec639c5_cgraph_org.svg deleted file mode 100644 index 0cb122231..000000000 --- a/d5/d91/namespacesorting_a7bfe11bd4703eacd1dab93f25ec639c5_cgraph_org.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - -sorting::shuffle - - -Node1 - - -sorting::shuffle - - - - - -Node2 - - -std::rand - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::swap - - - - - -Node1->Node3 - - - - - - - - diff --git a/d5/d91/namespacesorting_a8fe6bac9e03f58abcc2ce26ef3de1b5f_cgraph.map b/d5/d91/namespacesorting_a8fe6bac9e03f58abcc2ce26ef3de1b5f_cgraph.map deleted file mode 100644 index c3aa69f63..000000000 --- a/d5/d91/namespacesorting_a8fe6bac9e03f58abcc2ce26ef3de1b5f_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d5/d91/namespacesorting_a8fe6bac9e03f58abcc2ce26ef3de1b5f_cgraph.md5 b/d5/d91/namespacesorting_a8fe6bac9e03f58abcc2ce26ef3de1b5f_cgraph.md5 deleted file mode 100644 index 280a03f96..000000000 --- a/d5/d91/namespacesorting_a8fe6bac9e03f58abcc2ce26ef3de1b5f_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -394b5988b23c8fbc6684260818f4267c \ No newline at end of file diff --git a/d5/d91/namespacesorting_a8fe6bac9e03f58abcc2ce26ef3de1b5f_cgraph.svg b/d5/d91/namespacesorting_a8fe6bac9e03f58abcc2ce26ef3de1b5f_cgraph.svg deleted file mode 100644 index 0732a70c3..000000000 --- a/d5/d91/namespacesorting_a8fe6bac9e03f58abcc2ce26ef3de1b5f_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -sorting::insertionSort - - -Node1 - - -sorting::insertionSort - - - - - -Node2 - - -std::vector::size - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d5/d91/namespacesorting_a8fe6bac9e03f58abcc2ce26ef3de1b5f_cgraph_org.svg b/d5/d91/namespacesorting_a8fe6bac9e03f58abcc2ce26ef3de1b5f_cgraph_org.svg deleted file mode 100644 index 57c71ab80..000000000 --- a/d5/d91/namespacesorting_a8fe6bac9e03f58abcc2ce26ef3de1b5f_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -sorting::insertionSort - - -Node1 - - -sorting::insertionSort - - - - - -Node2 - - -std::vector::size - - - - - -Node1->Node2 - - - - - - - - diff --git a/d5/d91/namespacesorting_a9f59fe72dacc1f1218ef3c303d843168_cgraph.map b/d5/d91/namespacesorting_a9f59fe72dacc1f1218ef3c303d843168_cgraph.map deleted file mode 100644 index 38eff22dd..000000000 --- a/d5/d91/namespacesorting_a9f59fe72dacc1f1218ef3c303d843168_cgraph.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/d5/d91/namespacesorting_a9f59fe72dacc1f1218ef3c303d843168_cgraph.md5 b/d5/d91/namespacesorting_a9f59fe72dacc1f1218ef3c303d843168_cgraph.md5 deleted file mode 100644 index df244d3b0..000000000 --- a/d5/d91/namespacesorting_a9f59fe72dacc1f1218ef3c303d843168_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -72cec18d098ff6e9f3c3d7b4482cdf6e \ No newline at end of file diff --git a/d5/d91/namespacesorting_a9f59fe72dacc1f1218ef3c303d843168_cgraph.svg b/d5/d91/namespacesorting_a9f59fe72dacc1f1218ef3c303d843168_cgraph.svg deleted file mode 100644 index d4241f2ad..000000000 --- a/d5/d91/namespacesorting_a9f59fe72dacc1f1218ef3c303d843168_cgraph.svg +++ /dev/null @@ -1,56 +0,0 @@ - - - - - - - - - - - - -sorting::quicksort - - -Node1 - - -sorting::quicksort - - - - - -Node1->Node1 - - - - - - - - - - - - - diff --git a/d5/d91/namespacesorting_a9f59fe72dacc1f1218ef3c303d843168_cgraph_org.svg b/d5/d91/namespacesorting_a9f59fe72dacc1f1218ef3c303d843168_cgraph_org.svg deleted file mode 100644 index f0b0d7cb5..000000000 --- a/d5/d91/namespacesorting_a9f59fe72dacc1f1218ef3c303d843168_cgraph_org.svg +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - -sorting::quicksort - - -Node1 - - -sorting::quicksort - - - - - -Node1->Node1 - - - - - - - - diff --git a/d5/d91/namespacesorting_aa26de383227859210f14dcf12201a079_cgraph.map b/d5/d91/namespacesorting_aa26de383227859210f14dcf12201a079_cgraph.map deleted file mode 100644 index 1689921e8..000000000 --- a/d5/d91/namespacesorting_aa26de383227859210f14dcf12201a079_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d5/d91/namespacesorting_aa26de383227859210f14dcf12201a079_cgraph.md5 b/d5/d91/namespacesorting_aa26de383227859210f14dcf12201a079_cgraph.md5 deleted file mode 100644 index 2cc262741..000000000 --- a/d5/d91/namespacesorting_aa26de383227859210f14dcf12201a079_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -2b54499845ce678838597869b31fee63 \ No newline at end of file diff --git a/d5/d91/namespacesorting_aa26de383227859210f14dcf12201a079_cgraph.svg b/d5/d91/namespacesorting_aa26de383227859210f14dcf12201a079_cgraph.svg deleted file mode 100644 index faccb5d64..000000000 --- a/d5/d91/namespacesorting_aa26de383227859210f14dcf12201a079_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -sorting::merge - - -Node1 - - -sorting::merge - - - - - -Node2 - - -std::move - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d5/d91/namespacesorting_aa26de383227859210f14dcf12201a079_cgraph_org.svg b/d5/d91/namespacesorting_aa26de383227859210f14dcf12201a079_cgraph_org.svg deleted file mode 100644 index 522eef85f..000000000 --- a/d5/d91/namespacesorting_aa26de383227859210f14dcf12201a079_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -sorting::merge - - -Node1 - - -sorting::merge - - - - - -Node2 - - -std::move - - - - - -Node1->Node2 - - - - - - - - diff --git a/d5/d91/namespacesorting_aa3677f87b5b4756bc77e9e34c5f27935_cgraph.map b/d5/d91/namespacesorting_aa3677f87b5b4756bc77e9e34c5f27935_cgraph.map deleted file mode 100644 index d083f6677..000000000 --- a/d5/d91/namespacesorting_aa3677f87b5b4756bc77e9e34c5f27935_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d5/d91/namespacesorting_aa3677f87b5b4756bc77e9e34c5f27935_cgraph.md5 b/d5/d91/namespacesorting_aa3677f87b5b4756bc77e9e34c5f27935_cgraph.md5 deleted file mode 100644 index 7f80ba3df..000000000 --- a/d5/d91/namespacesorting_aa3677f87b5b4756bc77e9e34c5f27935_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -66291278c4e363df7acc7f8268ee6cb5 \ No newline at end of file diff --git a/d5/d91/namespacesorting_aa3677f87b5b4756bc77e9e34c5f27935_cgraph.svg b/d5/d91/namespacesorting_aa3677f87b5b4756bc77e9e34c5f27935_cgraph.svg deleted file mode 100644 index 35625231a..000000000 --- a/d5/d91/namespacesorting_aa3677f87b5b4756bc77e9e34c5f27935_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -sorting::gnomeSort - - -Node1 - - -sorting::gnomeSort - - - - - -Node2 - - -std::swap - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d5/d91/namespacesorting_aa3677f87b5b4756bc77e9e34c5f27935_cgraph_org.svg b/d5/d91/namespacesorting_aa3677f87b5b4756bc77e9e34c5f27935_cgraph_org.svg deleted file mode 100644 index e3570cb3b..000000000 --- a/d5/d91/namespacesorting_aa3677f87b5b4756bc77e9e34c5f27935_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -sorting::gnomeSort - - -Node1 - - -sorting::gnomeSort - - - - - -Node2 - - -std::swap - - - - - -Node1->Node2 - - - - - - - - diff --git a/d5/d91/namespacesorting_aac8f44b28b4aa96444383030b28f8b34_cgraph.map b/d5/d91/namespacesorting_aac8f44b28b4aa96444383030b28f8b34_cgraph.map deleted file mode 100644 index f99841a95..000000000 --- a/d5/d91/namespacesorting_aac8f44b28b4aa96444383030b28f8b34_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d5/d91/namespacesorting_aac8f44b28b4aa96444383030b28f8b34_cgraph.md5 b/d5/d91/namespacesorting_aac8f44b28b4aa96444383030b28f8b34_cgraph.md5 deleted file mode 100644 index 99907722e..000000000 --- a/d5/d91/namespacesorting_aac8f44b28b4aa96444383030b28f8b34_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -f199f7b9b09e1c37660325651551806f \ No newline at end of file diff --git a/d5/d91/namespacesorting_aac8f44b28b4aa96444383030b28f8b34_cgraph.svg b/d5/d91/namespacesorting_aac8f44b28b4aa96444383030b28f8b34_cgraph.svg deleted file mode 100644 index ff2284828..000000000 --- a/d5/d91/namespacesorting_aac8f44b28b4aa96444383030b28f8b34_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -sorting::partition - - -Node1 - - -sorting::partition - - - - - -Node2 - - -std::swap - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d5/d91/namespacesorting_aac8f44b28b4aa96444383030b28f8b34_cgraph_org.svg b/d5/d91/namespacesorting_aac8f44b28b4aa96444383030b28f8b34_cgraph_org.svg deleted file mode 100644 index 7f08aa96a..000000000 --- a/d5/d91/namespacesorting_aac8f44b28b4aa96444383030b28f8b34_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -sorting::partition - - -Node1 - - -sorting::partition - - - - - -Node2 - - -std::swap - - - - - -Node1->Node2 - - - - - - - - diff --git a/d5/d91/namespacesorting_ae3a775d99dbbb94c130a973df0cfddcf_cgraph.map b/d5/d91/namespacesorting_ae3a775d99dbbb94c130a973df0cfddcf_cgraph.map deleted file mode 100644 index 903e11e23..000000000 --- a/d5/d91/namespacesorting_ae3a775d99dbbb94c130a973df0cfddcf_cgraph.map +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/d5/d91/namespacesorting_ae3a775d99dbbb94c130a973df0cfddcf_cgraph.md5 b/d5/d91/namespacesorting_ae3a775d99dbbb94c130a973df0cfddcf_cgraph.md5 deleted file mode 100644 index 2cb2f6496..000000000 --- a/d5/d91/namespacesorting_ae3a775d99dbbb94c130a973df0cfddcf_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -f2124b990b16b9f6bc1b893fa3eea5a2 \ No newline at end of file diff --git a/d5/d91/namespacesorting_ae3a775d99dbbb94c130a973df0cfddcf_cgraph.svg b/d5/d91/namespacesorting_ae3a775d99dbbb94c130a973df0cfddcf_cgraph.svg deleted file mode 100644 index c5cd71ecf..000000000 --- a/d5/d91/namespacesorting_ae3a775d99dbbb94c130a973df0cfddcf_cgraph.svg +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - - - - - - - -sorting::recursive_bubble_sort - - -Node1 - - -sorting::recursive -_bubble_sort - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::swap - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d5/d91/namespacesorting_ae3a775d99dbbb94c130a973df0cfddcf_cgraph_org.svg b/d5/d91/namespacesorting_ae3a775d99dbbb94c130a973df0cfddcf_cgraph_org.svg deleted file mode 100644 index 4cb7b53b3..000000000 --- a/d5/d91/namespacesorting_ae3a775d99dbbb94c130a973df0cfddcf_cgraph_org.svg +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - -sorting::recursive_bubble_sort - - -Node1 - - -sorting::recursive -_bubble_sort - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::swap - - - - - -Node1->Node2 - - - - - - - - diff --git a/d5/d91/namespacesorting_ae97f4dd815654c4682f564afd718e824_cgraph.map b/d5/d91/namespacesorting_ae97f4dd815654c4682f564afd718e824_cgraph.map deleted file mode 100644 index 25f7a4538..000000000 --- a/d5/d91/namespacesorting_ae97f4dd815654c4682f564afd718e824_cgraph.map +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/d5/d91/namespacesorting_ae97f4dd815654c4682f564afd718e824_cgraph.md5 b/d5/d91/namespacesorting_ae97f4dd815654c4682f564afd718e824_cgraph.md5 deleted file mode 100644 index 27c02640c..000000000 --- a/d5/d91/namespacesorting_ae97f4dd815654c4682f564afd718e824_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -a19f33b868f3b01e094268cfb88500b5 \ No newline at end of file diff --git a/d5/d91/namespacesorting_ae97f4dd815654c4682f564afd718e824_cgraph.svg b/d5/d91/namespacesorting_ae97f4dd815654c4682f564afd718e824_cgraph.svg deleted file mode 100644 index 736fcade2..000000000 --- a/d5/d91/namespacesorting_ae97f4dd815654c4682f564afd718e824_cgraph.svg +++ /dev/null @@ -1,103 +0,0 @@ - - - - - - - - - - - - -sorting::non_recursive_merge_sort - - -Node1 - - -sorting::non_recursive -_merge_sort - - - - - -Node2 - - -sorting::non_recursive -_merge_sort - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -sorting::merge - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::move - - - - - -Node3->Node4 - - - - - - - - - - - - - diff --git a/d5/d91/namespacesorting_ae97f4dd815654c4682f564afd718e824_cgraph_org.svg b/d5/d91/namespacesorting_ae97f4dd815654c4682f564afd718e824_cgraph_org.svg deleted file mode 100644 index 05ac41455..000000000 --- a/d5/d91/namespacesorting_ae97f4dd815654c4682f564afd718e824_cgraph_org.svg +++ /dev/null @@ -1,77 +0,0 @@ - - - - - - -sorting::non_recursive_merge_sort - - -Node1 - - -sorting::non_recursive -_merge_sort - - - - - -Node2 - - -sorting::non_recursive -_merge_sort - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -sorting::merge - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::move - - - - - -Node3->Node4 - - - - - - - - diff --git a/d5/d91/namespacesorting_af2c5b92cbfe73f63f6074c61b0a45331_cgraph.map b/d5/d91/namespacesorting_af2c5b92cbfe73f63f6074c61b0a45331_cgraph.map deleted file mode 100644 index aa62acd95..000000000 --- a/d5/d91/namespacesorting_af2c5b92cbfe73f63f6074c61b0a45331_cgraph.map +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/d5/d91/namespacesorting_af2c5b92cbfe73f63f6074c61b0a45331_cgraph.md5 b/d5/d91/namespacesorting_af2c5b92cbfe73f63f6074c61b0a45331_cgraph.md5 deleted file mode 100644 index c952f3ff0..000000000 --- a/d5/d91/namespacesorting_af2c5b92cbfe73f63f6074c61b0a45331_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -f728685de3c74cdc83b5b85362c1427c \ No newline at end of file diff --git a/d5/d91/namespacesorting_af2c5b92cbfe73f63f6074c61b0a45331_cgraph.svg b/d5/d91/namespacesorting_af2c5b92cbfe73f63f6074c61b0a45331_cgraph.svg deleted file mode 100644 index ad70d399f..000000000 --- a/d5/d91/namespacesorting_af2c5b92cbfe73f63f6074c61b0a45331_cgraph.svg +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - - - - - - - -sorting::shell_sort - - -Node1 - - -sorting::shell_sort - - - - - -Node2 - - -std::vector::data - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -sorting::shell_sort - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::vector::size - - - - - -Node1->Node4 - - - - - - - - - - - - - diff --git a/d5/d91/namespacesorting_af2c5b92cbfe73f63f6074c61b0a45331_cgraph_org.svg b/d5/d91/namespacesorting_af2c5b92cbfe73f63f6074c61b0a45331_cgraph_org.svg deleted file mode 100644 index 45ea466ba..000000000 --- a/d5/d91/namespacesorting_af2c5b92cbfe73f63f6074c61b0a45331_cgraph_org.svg +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - -sorting::shell_sort - - -Node1 - - -sorting::shell_sort - - - - - -Node2 - - -std::vector::data - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -sorting::shell_sort - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::vector::size - - - - - -Node1->Node4 - - - - - - - - diff --git a/d5/d91/namespacesorting_affc6ee160142cd017f8c4b213437d0fd_cgraph.map b/d5/d91/namespacesorting_affc6ee160142cd017f8c4b213437d0fd_cgraph.map deleted file mode 100644 index e5ffdb7ec..000000000 --- a/d5/d91/namespacesorting_affc6ee160142cd017f8c4b213437d0fd_cgraph.map +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/d5/d91/namespacesorting_affc6ee160142cd017f8c4b213437d0fd_cgraph.md5 b/d5/d91/namespacesorting_affc6ee160142cd017f8c4b213437d0fd_cgraph.md5 deleted file mode 100644 index 2d5bbd5ad..000000000 --- a/d5/d91/namespacesorting_affc6ee160142cd017f8c4b213437d0fd_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -02a1f133375f430cea6cc95537f936be \ No newline at end of file diff --git a/d5/d91/namespacesorting_affc6ee160142cd017f8c4b213437d0fd_cgraph.svg b/d5/d91/namespacesorting_affc6ee160142cd017f8c4b213437d0fd_cgraph.svg deleted file mode 100644 index 35a304e19..000000000 --- a/d5/d91/namespacesorting_affc6ee160142cd017f8c4b213437d0fd_cgraph.svg +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - - - - - - - -sorting::randomized_bogosort - - -Node1 - - -sorting::randomized -_bogosort - - - - - -Node2 - - -std::array::begin - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::array::end - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::is_sorted - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::shuffle - - - - - -Node1->Node5 - - - - - - - - - - - - - diff --git a/d5/d91/namespacesorting_affc6ee160142cd017f8c4b213437d0fd_cgraph_org.svg b/d5/d91/namespacesorting_affc6ee160142cd017f8c4b213437d0fd_cgraph_org.svg deleted file mode 100644 index 4c49c9aa0..000000000 --- a/d5/d91/namespacesorting_affc6ee160142cd017f8c4b213437d0fd_cgraph_org.svg +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - -sorting::randomized_bogosort - - -Node1 - - -sorting::randomized -_bogosort - - - - - -Node2 - - -std::array::begin - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::array::end - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::is_sorted - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::shuffle - - - - - -Node1->Node5 - - - - - - - - diff --git a/d5/d95/structdata__structures_1_1treap_1_1_treap.html b/d5/d95/structdata__structures_1_1treap_1_1_treap.html index b0c53b8ea..d15547a38 100644 --- a/d5/d95/structdata__structures_1_1treap_1_1_treap.html +++ b/d5/d95/structdata__structures_1_1treap_1_1_treap.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: data_structures::treap::Treap Struct Reference +TheAlgorithms/C++: data_structures::treap::Treap Struct Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -164,31 +181,31 @@ Public Member Functions
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    - - + + - - + + - + - + - + - + - +

    Public Attributes

    -int root = 0
     root of the treap
    int root = 0
     root of the treap
     
    -int treapCnt = 0
     Total number of current nodes in the treap.
    int treapCnt = 0
     Total number of current nodes in the treap.
     
    std::array< int, maxNodekey = {}
    std::array< int, maxNodekey = {}
     Node identifier.
     
    std::array< int, maxNodepriority = {}
    std::array< int, maxNodepriority = {}
     Random priority.
     
    std::array< std::array< int, 2 >, maxNodechilds
    std::array< std::array< int, 2 >, maxNodechilds
     
    std::array< int, maxNodecnt
    std::array< int, maxNodecnt
     Maintains the subtree size for ranking query.
     
    std::array< int, maxNodesize = {}
    std::array< int, maxNodesize = {}
     The number of copies per node.
     

    Detailed Description

    Struct representation of the treap.

    + +

    Definition at line 40 of file treap.cpp.

    Constructor & Destructor Documentation

    ◆ Treap()

    @@ -214,13 +231,15 @@ int treapCnt = 0<

    Initialization.

    + +

    Definition at line 55 of file treap.cpp.

    55 : treapCnt(1) {
    56 priority[0] = INT32_MAX;
    57 size[0] = 0;
    58 }
    -
    int treapCnt
    Total number of current nodes in the treap.
    Definition treap.cpp:42
    -
    std::array< int, maxNode > priority
    Random priority.
    Definition treap.cpp:44
    -
    std::array< int, maxNode > size
    The number of copies per node.
    Definition treap.cpp:51
    +
    int treapCnt
    Total number of current nodes in the treap.
    Definition treap.cpp:42
    +
    std::array< int, maxNode > priority
    Random priority.
    Definition treap.cpp:44
    +
    std::array< int, maxNode > size
    The number of copies per node.
    Definition treap.cpp:51
    @@ -260,6 +279,8 @@ int treapCnt = 0< + +

    Definition at line 112 of file treap.cpp.

    112 {
    113 if (key[x] == k) {
    114 if (cnt[x] > 1) {
    @@ -281,18 +302,13 @@ int treapCnt = 0<
    130 }
    131 update(x);
    132 }
    -
    std::array< int, maxNode > key
    Node identifier.
    Definition treap.cpp:43
    -
    void rotate(int &x, int t)
    Rotate without breaking the property of BST.
    Definition treap.cpp:71
    -
    void update(int x)
    Update the subtree size of the node.
    Definition treap.cpp:63
    -
    std::array< std::array< int, 2 >, maxNode > childs
    Definition treap.cpp:45
    -
    void _erase(int &x, int k)
    Erase a value from the specified subtree (internal method)
    Definition treap.cpp:112
    -
    std::array< int, maxNode > cnt
    Maintains the subtree size for ranking query.
    Definition treap.cpp:49
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    std::array< int, maxNode > key
    Node identifier.
    Definition treap.cpp:43
    +
    void rotate(int &x, int t)
    Rotate without breaking the property of BST.
    Definition treap.cpp:71
    +
    void update(int x)
    Update the subtree size of the node.
    Definition treap.cpp:63
    +
    std::array< std::array< int, 2 >, maxNode > childs
    Definition treap.cpp:45
    +
    void _erase(int &x, int k)
    Erase a value from the specified subtree (internal method)
    Definition treap.cpp:112
    +
    std::array< int, maxNode > cnt
    Maintains the subtree size for ranking query.
    Definition treap.cpp:49
    + @@ -331,6 +347,8 @@ Here is the call graph for this function:
    Returns
    The element ranked number k
    + +

    Definition at line 139 of file treap.cpp.

    139 {
    140 if (k <= size[childs[x][0]]) {
    141 return _get_k_th(childs[x][0], k);
    @@ -341,14 +359,9 @@ Here is the call graph for this function:
    146 }
    147 return _get_k_th(childs[x][1], k);
    148 }
    -
    double k(double x)
    Another test function.
    Definition composite_simpson_rule.cpp:117
    -
    int _get_k_th(int &x, int k)
    Find the KTH largest value (internal method)
    Definition treap.cpp:139
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    double k(double x)
    Another test function.
    +
    int _get_k_th(int &x, int k)
    Find the KTH largest value (internal method)
    Definition treap.cpp:139
    + @@ -387,6 +400,8 @@ Here is the call graph for this function:
    Returns
    The rank of element k
    + +

    Definition at line 155 of file treap.cpp.

    155 {
    156 if (!x) {
    157 return 0;
    @@ -399,13 +414,8 @@ Here is the call graph for this function:
    164 return size[childs[x][0]] + cnt[x] + _get_rank(childs[x][1], k);
    165 }
    166 }
    -
    int _get_rank(int x, int k)
    Query the rank of specified element (internal method)
    Definition treap.cpp:155
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    int _get_rank(int x, int k)
    Query the rank of specified element (internal method)
    Definition treap.cpp:155
    + @@ -443,6 +453,8 @@ Here is the call graph for this function: + +

    Definition at line 85 of file treap.cpp.

    85 {
    86 if (x) {
    87 if (key[x] == k) {
    @@ -465,13 +477,8 @@ Here is the call graph for this function:
    104 }
    105 update(x);
    106 }
    -
    void _insert(int &x, int k)
    Insert a value into the specified subtree (internal method)
    Definition treap.cpp:85
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    void _insert(int &x, int k)
    Insert a value into the specified subtree (internal method)
    Definition treap.cpp:85
    + @@ -504,14 +511,11 @@ Here is the call graph for this function: -
    208{ _erase(root, k); }
    -
    int root
    root of the treap
    Definition treap.cpp:41
    -
    -Here is the call graph for this function:
    -
    -
    -
    +

    Definition at line 208 of file treap.cpp.

    +
    208{ _erase(root, k); }
    +
    int root
    root of the treap
    Definition treap.cpp:41
    +
    @@ -545,13 +549,10 @@ Here is the call graph for this function:
    Returns
    The element ranked number x
    -
    214{ return _get_k_th(root, k); }
    -
    -Here is the call graph for this function:
    -
    -
    -
    +

    Definition at line 214 of file treap.cpp.

    +
    214{ return _get_k_th(root, k); }
    +
    @@ -585,18 +586,19 @@ Here is the call graph for this function:
    Returns
    The successor
    + +

    Definition at line 188 of file treap.cpp.

    188 {
    -
    189 int x = root, next = -1;
    +
    189 int x = root, next = -1;
    190 while (x) {
    191 if (key[x] > k) {
    -
    192 next = key[x], x = childs[x][0];
    +
    192 next = key[x], x = childs[x][0];
    193 } else {
    194 x = childs[x][1];
    195 }
    196 }
    -
    197 return next;
    +
    197 return next;
    198 }
    -
    T next(T... args)
    @@ -631,6 +633,8 @@ Here is the call graph for this function:
    Returns
    The predecessor
    + +

    Definition at line 172 of file treap.cpp.

    172 {
    173 int x = root, pre = -1;
    174 while (x) {
    @@ -676,13 +680,10 @@ Here is the call graph for this function:
    Returns
    The rank of element k
    -
    220{ return _get_rank(root, k); }
    -
    -Here is the call graph for this function:
    -
    -
    -
    +

    Definition at line 220 of file treap.cpp.

    +
    220{ return _get_rank(root, k); }
    +
    @@ -715,13 +716,10 @@ Here is the call graph for this function: -
    203{ _insert(root, k); }
    -
    -Here is the call graph for this function:
    -
    -
    -
    +

    Definition at line 203 of file treap.cpp.

    +
    203{ _insert(root, k); }
    +
    @@ -759,6 +757,8 @@ Here is the call graph for this function: + +

    Definition at line 71 of file treap.cpp.

    71 {
    72 int y = childs[x][t];
    73 childs[x][t] = childs[y][1 - t];
    @@ -768,12 +768,7 @@ Here is the call graph for this function:
    77 update(y);
    78 x = y;
    79 }
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -806,6 +801,8 @@ Here is the call graph for this function: + +

    Definition at line 63 of file treap.cpp.

    63 {
    64 size[x] = size[childs[x][0]] + cnt[x] + size[childs[x][1]];
    65 }
    @@ -820,15 +817,17 @@ Here is the call graph for this function:
    - +
    std::array<std::array<int, 2>, maxNode> data_structures::treap::Treap::childsstd::array<std::array<int, 2>, maxNode> data_structures::treap::Treap::childs
    Initial value:
    = {
    {}}

    [i][0] represents the left child of node i, and [i][1] represents the right

    + +

    Definition at line 45 of file treap.cpp.

    45 {
    -
    46 {}}; ///< [i][0] represents the
    +
    46 {}};
    @@ -839,7 +838,7 @@ Here is the call graph for this function:
    - +
    std::array<int, maxNode> data_structures::treap::Treap::cntstd::array<int, maxNode> data_structures::treap::Treap::cnt
    @@ -847,7 +846,9 @@ Here is the call graph for this function:
    {}

    Maintains the subtree size for ranking query.

    -
    50 {}; ///< Maintains the subtree size for ranking query
    + +

    Definition at line 49 of file treap.cpp.

    +
    50 {};
    @@ -858,13 +859,15 @@ Here is the call graph for this function:
    - +
    std::array<int, maxNode> data_structures::treap::Treap::key = {}std::array<int, maxNode> data_structures::treap::Treap::key = {}

    Node identifier.

    -
    43{}; ///< Node identifier
    + +

    Definition at line 43 of file treap.cpp.

    +
    43{};
    @@ -875,14 +878,34 @@ Here is the call graph for this function:
    - +
    std::array<int, maxNode> data_structures::treap::Treap::priority = {}std::array<int, maxNode> data_structures::treap::Treap::priority = {}

    Random priority.

    -
    44{}; ///< Random priority
    + +

    Definition at line 44 of file treap.cpp.

    +
    44{};
    +
    +
    + +

    ◆ root

    + +
    +
    + + + + +
    int data_structures::treap::Treap::root = 0
    +
    + +

    root of the treap

    + +

    Definition at line 41 of file treap.cpp.

    +
    @@ -892,18 +915,38 @@ Here is the call graph for this function:
    - +
    std::array<int, maxNode> data_structures::treap::Treap::size = {}std::array<int, maxNode> data_structures::treap::Treap::size = {}

    The number of copies per node.

    -
    51{}; ///< The number of copies per node
    + +

    Definition at line 51 of file treap.cpp.

    +
    51{};
    +
    +
    + +

    ◆ treapCnt

    + +
    +
    + + + + +
    int data_structures::treap::Treap::treapCnt = 0
    +
    + +

    Total number of current nodes in the treap.

    + +

    Definition at line 42 of file treap.cpp.

    +

    The documentation for this struct was generated from the following file: diff --git a/d5/d95/structdata__structures_1_1treap_1_1_treap_a5e884d2686aff501ef589b0d1185492f_cgraph.map b/d5/d95/structdata__structures_1_1treap_1_1_treap_a5e884d2686aff501ef589b0d1185492f_cgraph.map deleted file mode 100644 index ce0741661..000000000 --- a/d5/d95/structdata__structures_1_1treap_1_1_treap_a5e884d2686aff501ef589b0d1185492f_cgraph.map +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/d5/d95/structdata__structures_1_1treap_1_1_treap_a5e884d2686aff501ef589b0d1185492f_cgraph.md5 b/d5/d95/structdata__structures_1_1treap_1_1_treap_a5e884d2686aff501ef589b0d1185492f_cgraph.md5 deleted file mode 100644 index 392cf015e..000000000 --- a/d5/d95/structdata__structures_1_1treap_1_1_treap_a5e884d2686aff501ef589b0d1185492f_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -1a46824a3e78caf6cff3506bdeee7918 \ No newline at end of file diff --git a/d5/d95/structdata__structures_1_1treap_1_1_treap_a5e884d2686aff501ef589b0d1185492f_cgraph.svg b/d5/d95/structdata__structures_1_1treap_1_1_treap_a5e884d2686aff501ef589b0d1185492f_cgraph.svg deleted file mode 100644 index a2761ad54..000000000 --- a/d5/d95/structdata__structures_1_1treap_1_1_treap_a5e884d2686aff501ef589b0d1185492f_cgraph.svg +++ /dev/null @@ -1,180 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -data_structures::treap::Treap::insert - - -Node1 - - -data_structures::treap -::Treap::insert - - - - - -Node2 - - -data_structures::treap -::Treap::_insert - - - - - -Node1->Node2 - - - - - - - - -Node2->Node2 - - - - - - - - -Node3 - - -data_structures::treap -::Treap::rotate - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -data_structures::treap -::Treap::update - - - - - -Node2->Node4 - - - - - - - - -Node3->Node4 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d5/d95/structdata__structures_1_1treap_1_1_treap_a5e884d2686aff501ef589b0d1185492f_cgraph_org.svg b/d5/d95/structdata__structures_1_1treap_1_1_treap_a5e884d2686aff501ef589b0d1185492f_cgraph_org.svg deleted file mode 100644 index 9128c2e05..000000000 --- a/d5/d95/structdata__structures_1_1treap_1_1_treap_a5e884d2686aff501ef589b0d1185492f_cgraph_org.svg +++ /dev/null @@ -1,97 +0,0 @@ - - - - - - -data_structures::treap::Treap::insert - - -Node1 - - -data_structures::treap -::Treap::insert - - - - - -Node2 - - -data_structures::treap -::Treap::_insert - - - - - -Node1->Node2 - - - - - - - - -Node2->Node2 - - - - - - - - -Node3 - - -data_structures::treap -::Treap::rotate - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -data_structures::treap -::Treap::update - - - - - -Node2->Node4 - - - - - - - - -Node3->Node4 - - - - - - - - diff --git a/d5/d95/structdata__structures_1_1treap_1_1_treap_a6a023a4f0c42fb8ed5b3368fba1a5f2c_cgraph.map b/d5/d95/structdata__structures_1_1treap_1_1_treap_a6a023a4f0c42fb8ed5b3368fba1a5f2c_cgraph.map deleted file mode 100644 index 3e3666734..000000000 --- a/d5/d95/structdata__structures_1_1treap_1_1_treap_a6a023a4f0c42fb8ed5b3368fba1a5f2c_cgraph.map +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/d5/d95/structdata__structures_1_1treap_1_1_treap_a6a023a4f0c42fb8ed5b3368fba1a5f2c_cgraph.md5 b/d5/d95/structdata__structures_1_1treap_1_1_treap_a6a023a4f0c42fb8ed5b3368fba1a5f2c_cgraph.md5 deleted file mode 100644 index 93e8fc517..000000000 --- a/d5/d95/structdata__structures_1_1treap_1_1_treap_a6a023a4f0c42fb8ed5b3368fba1a5f2c_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -6aea5124890c41a539bab76ffe58184c \ No newline at end of file diff --git a/d5/d95/structdata__structures_1_1treap_1_1_treap_a6a023a4f0c42fb8ed5b3368fba1a5f2c_cgraph.svg b/d5/d95/structdata__structures_1_1treap_1_1_treap_a6a023a4f0c42fb8ed5b3368fba1a5f2c_cgraph.svg deleted file mode 100644 index a3ca476b1..000000000 --- a/d5/d95/structdata__structures_1_1treap_1_1_treap_a6a023a4f0c42fb8ed5b3368fba1a5f2c_cgraph.svg +++ /dev/null @@ -1,104 +0,0 @@ - - - - - - - - - - - - -data_structures::treap::Treap::_insert - - -Node1 - - -data_structures::treap -::Treap::_insert - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -data_structures::treap -::Treap::rotate - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -data_structures::treap -::Treap::update - - - - - -Node1->Node3 - - - - - - - - -Node2->Node3 - - - - - - - - - - - - - diff --git a/d5/d95/structdata__structures_1_1treap_1_1_treap_a6a023a4f0c42fb8ed5b3368fba1a5f2c_cgraph_org.svg b/d5/d95/structdata__structures_1_1treap_1_1_treap_a6a023a4f0c42fb8ed5b3368fba1a5f2c_cgraph_org.svg deleted file mode 100644 index 62afdc393..000000000 --- a/d5/d95/structdata__structures_1_1treap_1_1_treap_a6a023a4f0c42fb8ed5b3368fba1a5f2c_cgraph_org.svg +++ /dev/null @@ -1,78 +0,0 @@ - - - - - - -data_structures::treap::Treap::_insert - - -Node1 - - -data_structures::treap -::Treap::_insert - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -data_structures::treap -::Treap::rotate - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -data_structures::treap -::Treap::update - - - - - -Node1->Node3 - - - - - - - - -Node2->Node3 - - - - - - - - diff --git a/d5/d95/structdata__structures_1_1treap_1_1_treap_a75a48584a6560de20484fbba6229fd29_cgraph.map b/d5/d95/structdata__structures_1_1treap_1_1_treap_a75a48584a6560de20484fbba6229fd29_cgraph.map deleted file mode 100644 index 1a5f096db..000000000 --- a/d5/d95/structdata__structures_1_1treap_1_1_treap_a75a48584a6560de20484fbba6229fd29_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d5/d95/structdata__structures_1_1treap_1_1_treap_a75a48584a6560de20484fbba6229fd29_cgraph.md5 b/d5/d95/structdata__structures_1_1treap_1_1_treap_a75a48584a6560de20484fbba6229fd29_cgraph.md5 deleted file mode 100644 index 9befff215..000000000 --- a/d5/d95/structdata__structures_1_1treap_1_1_treap_a75a48584a6560de20484fbba6229fd29_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -141e105b296c4e1d000f3d879236f8f4 \ No newline at end of file diff --git a/d5/d95/structdata__structures_1_1treap_1_1_treap_a75a48584a6560de20484fbba6229fd29_cgraph.svg b/d5/d95/structdata__structures_1_1treap_1_1_treap_a75a48584a6560de20484fbba6229fd29_cgraph.svg deleted file mode 100644 index 13bbe842a..000000000 --- a/d5/d95/structdata__structures_1_1treap_1_1_treap_a75a48584a6560de20484fbba6229fd29_cgraph.svg +++ /dev/null @@ -1,67 +0,0 @@ - - - - - - - - - - - - -data_structures::treap::Treap::rotate - - -Node1 - - -data_structures::treap -::Treap::rotate - - - - - -Node2 - - -data_structures::treap -::Treap::update - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d5/d95/structdata__structures_1_1treap_1_1_treap_a75a48584a6560de20484fbba6229fd29_cgraph_org.svg b/d5/d95/structdata__structures_1_1treap_1_1_treap_a75a48584a6560de20484fbba6229fd29_cgraph_org.svg deleted file mode 100644 index 7ed0caccb..000000000 --- a/d5/d95/structdata__structures_1_1treap_1_1_treap_a75a48584a6560de20484fbba6229fd29_cgraph_org.svg +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - -data_structures::treap::Treap::rotate - - -Node1 - - -data_structures::treap -::Treap::rotate - - - - - -Node2 - - -data_structures::treap -::Treap::update - - - - - -Node1->Node2 - - - - - - - - diff --git a/d5/d95/structdata__structures_1_1treap_1_1_treap_a9a77d22f97add119123108211c6655ec_cgraph.map b/d5/d95/structdata__structures_1_1treap_1_1_treap_a9a77d22f97add119123108211c6655ec_cgraph.map deleted file mode 100644 index 3805639ca..000000000 --- a/d5/d95/structdata__structures_1_1treap_1_1_treap_a9a77d22f97add119123108211c6655ec_cgraph.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/d5/d95/structdata__structures_1_1treap_1_1_treap_a9a77d22f97add119123108211c6655ec_cgraph.md5 b/d5/d95/structdata__structures_1_1treap_1_1_treap_a9a77d22f97add119123108211c6655ec_cgraph.md5 deleted file mode 100644 index e2c6fbed7..000000000 --- a/d5/d95/structdata__structures_1_1treap_1_1_treap_a9a77d22f97add119123108211c6655ec_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -d9b488a761e056d27c66b0767cddacd7 \ No newline at end of file diff --git a/d5/d95/structdata__structures_1_1treap_1_1_treap_a9a77d22f97add119123108211c6655ec_cgraph.svg b/d5/d95/structdata__structures_1_1treap_1_1_treap_a9a77d22f97add119123108211c6655ec_cgraph.svg deleted file mode 100644 index b640d9912..000000000 --- a/d5/d95/structdata__structures_1_1treap_1_1_treap_a9a77d22f97add119123108211c6655ec_cgraph.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - - - - - - - -data_structures::treap::Treap::_get_rank - - -Node1 - - -data_structures::treap -::Treap::_get_rank - - - - - -Node1->Node1 - - - - - - - - - - - - - diff --git a/d5/d95/structdata__structures_1_1treap_1_1_treap_a9a77d22f97add119123108211c6655ec_cgraph_org.svg b/d5/d95/structdata__structures_1_1treap_1_1_treap_a9a77d22f97add119123108211c6655ec_cgraph_org.svg deleted file mode 100644 index b2b80b26d..000000000 --- a/d5/d95/structdata__structures_1_1treap_1_1_treap_a9a77d22f97add119123108211c6655ec_cgraph_org.svg +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - -data_structures::treap::Treap::_get_rank - - -Node1 - - -data_structures::treap -::Treap::_get_rank - - - - - -Node1->Node1 - - - - - - - - diff --git a/d5/d95/structdata__structures_1_1treap_1_1_treap_a9ea2becd904e2e7d22f23a001b444469_cgraph.map b/d5/d95/structdata__structures_1_1treap_1_1_treap_a9ea2becd904e2e7d22f23a001b444469_cgraph.map deleted file mode 100644 index be0472e7d..000000000 --- a/d5/d95/structdata__structures_1_1treap_1_1_treap_a9ea2becd904e2e7d22f23a001b444469_cgraph.map +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/d5/d95/structdata__structures_1_1treap_1_1_treap_a9ea2becd904e2e7d22f23a001b444469_cgraph.md5 b/d5/d95/structdata__structures_1_1treap_1_1_treap_a9ea2becd904e2e7d22f23a001b444469_cgraph.md5 deleted file mode 100644 index 0d0e17029..000000000 --- a/d5/d95/structdata__structures_1_1treap_1_1_treap_a9ea2becd904e2e7d22f23a001b444469_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -279d1efdd96b7a5e236640771ec79a21 \ No newline at end of file diff --git a/d5/d95/structdata__structures_1_1treap_1_1_treap_a9ea2becd904e2e7d22f23a001b444469_cgraph.svg b/d5/d95/structdata__structures_1_1treap_1_1_treap_a9ea2becd904e2e7d22f23a001b444469_cgraph.svg deleted file mode 100644 index bbff6cc89..000000000 --- a/d5/d95/structdata__structures_1_1treap_1_1_treap_a9ea2becd904e2e7d22f23a001b444469_cgraph.svg +++ /dev/null @@ -1,180 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -data_structures::treap::Treap::erase - - -Node1 - - -data_structures::treap -::Treap::erase - - - - - -Node2 - - -data_structures::treap -::Treap::_erase - - - - - -Node1->Node2 - - - - - - - - -Node2->Node2 - - - - - - - - -Node3 - - -data_structures::treap -::Treap::rotate - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -data_structures::treap -::Treap::update - - - - - -Node2->Node4 - - - - - - - - -Node3->Node4 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d5/d95/structdata__structures_1_1treap_1_1_treap_a9ea2becd904e2e7d22f23a001b444469_cgraph_org.svg b/d5/d95/structdata__structures_1_1treap_1_1_treap_a9ea2becd904e2e7d22f23a001b444469_cgraph_org.svg deleted file mode 100644 index a03a50591..000000000 --- a/d5/d95/structdata__structures_1_1treap_1_1_treap_a9ea2becd904e2e7d22f23a001b444469_cgraph_org.svg +++ /dev/null @@ -1,97 +0,0 @@ - - - - - - -data_structures::treap::Treap::erase - - -Node1 - - -data_structures::treap -::Treap::erase - - - - - -Node2 - - -data_structures::treap -::Treap::_erase - - - - - -Node1->Node2 - - - - - - - - -Node2->Node2 - - - - - - - - -Node3 - - -data_structures::treap -::Treap::rotate - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -data_structures::treap -::Treap::update - - - - - -Node2->Node4 - - - - - - - - -Node3->Node4 - - - - - - - - diff --git a/d5/d95/structdata__structures_1_1treap_1_1_treap_ab2db3ad3aecc240011e0c8b8604d2c69_cgraph.map b/d5/d95/structdata__structures_1_1treap_1_1_treap_ab2db3ad3aecc240011e0c8b8604d2c69_cgraph.map deleted file mode 100644 index a0b481d0e..000000000 --- a/d5/d95/structdata__structures_1_1treap_1_1_treap_ab2db3ad3aecc240011e0c8b8604d2c69_cgraph.map +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/d5/d95/structdata__structures_1_1treap_1_1_treap_ab2db3ad3aecc240011e0c8b8604d2c69_cgraph.md5 b/d5/d95/structdata__structures_1_1treap_1_1_treap_ab2db3ad3aecc240011e0c8b8604d2c69_cgraph.md5 deleted file mode 100644 index 189703414..000000000 --- a/d5/d95/structdata__structures_1_1treap_1_1_treap_ab2db3ad3aecc240011e0c8b8604d2c69_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -2137a5563e5e268f19d3f2b6cfd31946 \ No newline at end of file diff --git a/d5/d95/structdata__structures_1_1treap_1_1_treap_ab2db3ad3aecc240011e0c8b8604d2c69_cgraph.svg b/d5/d95/structdata__structures_1_1treap_1_1_treap_ab2db3ad3aecc240011e0c8b8604d2c69_cgraph.svg deleted file mode 100644 index 4b90a5409..000000000 --- a/d5/d95/structdata__structures_1_1treap_1_1_treap_ab2db3ad3aecc240011e0c8b8604d2c69_cgraph.svg +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - - - - - - - -data_structures::treap::Treap::get_k_th - - -Node1 - - -data_structures::treap -::Treap::get_k_th - - - - - -Node2 - - -data_structures::treap -::Treap::_get_k_th - - - - - -Node1->Node2 - - - - - - - - -Node2->Node2 - - - - - - - - - - - - - diff --git a/d5/d95/structdata__structures_1_1treap_1_1_treap_ab2db3ad3aecc240011e0c8b8604d2c69_cgraph_org.svg b/d5/d95/structdata__structures_1_1treap_1_1_treap_ab2db3ad3aecc240011e0c8b8604d2c69_cgraph_org.svg deleted file mode 100644 index b9724953e..000000000 --- a/d5/d95/structdata__structures_1_1treap_1_1_treap_ab2db3ad3aecc240011e0c8b8604d2c69_cgraph_org.svg +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - -data_structures::treap::Treap::get_k_th - - -Node1 - - -data_structures::treap -::Treap::get_k_th - - - - - -Node2 - - -data_structures::treap -::Treap::_get_k_th - - - - - -Node1->Node2 - - - - - - - - -Node2->Node2 - - - - - - - - diff --git a/d5/d95/structdata__structures_1_1treap_1_1_treap_ac94e9d69305940f6d8804031455af039_cgraph.map b/d5/d95/structdata__structures_1_1treap_1_1_treap_ac94e9d69305940f6d8804031455af039_cgraph.map deleted file mode 100644 index 05670976b..000000000 --- a/d5/d95/structdata__structures_1_1treap_1_1_treap_ac94e9d69305940f6d8804031455af039_cgraph.map +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/d5/d95/structdata__structures_1_1treap_1_1_treap_ac94e9d69305940f6d8804031455af039_cgraph.md5 b/d5/d95/structdata__structures_1_1treap_1_1_treap_ac94e9d69305940f6d8804031455af039_cgraph.md5 deleted file mode 100644 index b9f947382..000000000 --- a/d5/d95/structdata__structures_1_1treap_1_1_treap_ac94e9d69305940f6d8804031455af039_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -4a12fb895227bd3b17723666a4988c25 \ No newline at end of file diff --git a/d5/d95/structdata__structures_1_1treap_1_1_treap_ac94e9d69305940f6d8804031455af039_cgraph.svg b/d5/d95/structdata__structures_1_1treap_1_1_treap_ac94e9d69305940f6d8804031455af039_cgraph.svg deleted file mode 100644 index 321a5f2e4..000000000 --- a/d5/d95/structdata__structures_1_1treap_1_1_treap_ac94e9d69305940f6d8804031455af039_cgraph.svg +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - - - - - - - -data_structures::treap::Treap::get_rank - - -Node1 - - -data_structures::treap -::Treap::get_rank - - - - - -Node2 - - -data_structures::treap -::Treap::_get_rank - - - - - -Node1->Node2 - - - - - - - - -Node2->Node2 - - - - - - - - - - - - - diff --git a/d5/d95/structdata__structures_1_1treap_1_1_treap_ac94e9d69305940f6d8804031455af039_cgraph_org.svg b/d5/d95/structdata__structures_1_1treap_1_1_treap_ac94e9d69305940f6d8804031455af039_cgraph_org.svg deleted file mode 100644 index a92e2560b..000000000 --- a/d5/d95/structdata__structures_1_1treap_1_1_treap_ac94e9d69305940f6d8804031455af039_cgraph_org.svg +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - -data_structures::treap::Treap::get_rank - - -Node1 - - -data_structures::treap -::Treap::get_rank - - - - - -Node2 - - -data_structures::treap -::Treap::_get_rank - - - - - -Node1->Node2 - - - - - - - - -Node2->Node2 - - - - - - - - diff --git a/d5/d95/structdata__structures_1_1treap_1_1_treap_ad08520c0617eb8dcfcbfa90d258aa6b2_cgraph.map b/d5/d95/structdata__structures_1_1treap_1_1_treap_ad08520c0617eb8dcfcbfa90d258aa6b2_cgraph.map deleted file mode 100644 index f492e5bb1..000000000 --- a/d5/d95/structdata__structures_1_1treap_1_1_treap_ad08520c0617eb8dcfcbfa90d258aa6b2_cgraph.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/d5/d95/structdata__structures_1_1treap_1_1_treap_ad08520c0617eb8dcfcbfa90d258aa6b2_cgraph.md5 b/d5/d95/structdata__structures_1_1treap_1_1_treap_ad08520c0617eb8dcfcbfa90d258aa6b2_cgraph.md5 deleted file mode 100644 index a9cff07a4..000000000 --- a/d5/d95/structdata__structures_1_1treap_1_1_treap_ad08520c0617eb8dcfcbfa90d258aa6b2_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -701e836f7db03f3519f099c17f8566d0 \ No newline at end of file diff --git a/d5/d95/structdata__structures_1_1treap_1_1_treap_ad08520c0617eb8dcfcbfa90d258aa6b2_cgraph.svg b/d5/d95/structdata__structures_1_1treap_1_1_treap_ad08520c0617eb8dcfcbfa90d258aa6b2_cgraph.svg deleted file mode 100644 index b51527f55..000000000 --- a/d5/d95/structdata__structures_1_1treap_1_1_treap_ad08520c0617eb8dcfcbfa90d258aa6b2_cgraph.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - - - - - - - -data_structures::treap::Treap::_get_k_th - - -Node1 - - -data_structures::treap -::Treap::_get_k_th - - - - - -Node1->Node1 - - - - - - - - - - - - - diff --git a/d5/d95/structdata__structures_1_1treap_1_1_treap_ad08520c0617eb8dcfcbfa90d258aa6b2_cgraph_org.svg b/d5/d95/structdata__structures_1_1treap_1_1_treap_ad08520c0617eb8dcfcbfa90d258aa6b2_cgraph_org.svg deleted file mode 100644 index 5c73efaa9..000000000 --- a/d5/d95/structdata__structures_1_1treap_1_1_treap_ad08520c0617eb8dcfcbfa90d258aa6b2_cgraph_org.svg +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - -data_structures::treap::Treap::_get_k_th - - -Node1 - - -data_structures::treap -::Treap::_get_k_th - - - - - -Node1->Node1 - - - - - - - - diff --git a/d5/d95/structdata__structures_1_1treap_1_1_treap_aeb4bb0db68c7c04ef9498c88c3777887_cgraph.map b/d5/d95/structdata__structures_1_1treap_1_1_treap_aeb4bb0db68c7c04ef9498c88c3777887_cgraph.map deleted file mode 100644 index 380034923..000000000 --- a/d5/d95/structdata__structures_1_1treap_1_1_treap_aeb4bb0db68c7c04ef9498c88c3777887_cgraph.map +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/d5/d95/structdata__structures_1_1treap_1_1_treap_aeb4bb0db68c7c04ef9498c88c3777887_cgraph.md5 b/d5/d95/structdata__structures_1_1treap_1_1_treap_aeb4bb0db68c7c04ef9498c88c3777887_cgraph.md5 deleted file mode 100644 index 3f6810db4..000000000 --- a/d5/d95/structdata__structures_1_1treap_1_1_treap_aeb4bb0db68c7c04ef9498c88c3777887_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -24fe823850a2343f6112b4b25e58dc5d \ No newline at end of file diff --git a/d5/d95/structdata__structures_1_1treap_1_1_treap_aeb4bb0db68c7c04ef9498c88c3777887_cgraph.svg b/d5/d95/structdata__structures_1_1treap_1_1_treap_aeb4bb0db68c7c04ef9498c88c3777887_cgraph.svg deleted file mode 100644 index 1a705b0c8..000000000 --- a/d5/d95/structdata__structures_1_1treap_1_1_treap_aeb4bb0db68c7c04ef9498c88c3777887_cgraph.svg +++ /dev/null @@ -1,104 +0,0 @@ - - - - - - - - - - - - -data_structures::treap::Treap::_erase - - -Node1 - - -data_structures::treap -::Treap::_erase - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -data_structures::treap -::Treap::rotate - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -data_structures::treap -::Treap::update - - - - - -Node1->Node3 - - - - - - - - -Node2->Node3 - - - - - - - - - - - - - diff --git a/d5/d95/structdata__structures_1_1treap_1_1_treap_aeb4bb0db68c7c04ef9498c88c3777887_cgraph_org.svg b/d5/d95/structdata__structures_1_1treap_1_1_treap_aeb4bb0db68c7c04ef9498c88c3777887_cgraph_org.svg deleted file mode 100644 index 496d0c404..000000000 --- a/d5/d95/structdata__structures_1_1treap_1_1_treap_aeb4bb0db68c7c04ef9498c88c3777887_cgraph_org.svg +++ /dev/null @@ -1,78 +0,0 @@ - - - - - - -data_structures::treap::Treap::_erase - - -Node1 - - -data_structures::treap -::Treap::_erase - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -data_structures::treap -::Treap::rotate - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -data_structures::treap -::Treap::update - - - - - -Node1->Node3 - - - - - - - - -Node2->Node3 - - - - - - - - diff --git a/d5/d96/md5_8cpp.html b/d5/d96/md5_8cpp.html index 4694c83c5..31b906ca7 100644 --- a/d5/d96/md5_8cpp.html +++ b/d5/d96/md5_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: hashing/md5.cpp File Reference +TheAlgorithms/C++: hashing/md5.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -126,7 +143,9 @@ Include dependency graph for md5.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -138,7 +157,7 @@ Namespaces

    Namespaces

    namespace  hashing
    - + @@ -150,13 +169,13 @@ Functions - + - + @@ -183,6 +202,8 @@ 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

    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. During these rounds the algorithm will update its 128 bit state (represented by 4 ints: A,B,C,D) For more precisions on these operations please see the Wikipedia aritcle. The signature given by MD5 is its 128 bit state once all rounds are done.

    Note
    This is a simple implementation for a byte string but some implmenetations can work on bytestream, messages of unknown length.
    + +

    Definition in file md5.cpp.

    Function Documentation

    ◆ hash()

    @@ -193,7 +214,7 @@ Algorithm - +

    Functions

    uint32_t hashing::md5::leftRotate32bits (uint32_t n, std::size_t rotate)
    uint32_t hashing::md5::leftRotate32bits (uint32_t n, std::size_t rotate)
     Rotates the bits of a 32-bit unsigned integer.
     
    bool hashing::md5::isBigEndian ()
    uint64_t hashing::md5::toLittleEndian64 (uint64_t n)
     Sets 64-bit integer to little-endian if needed.
     
    std::string hashing::md5::sig2hex (void *sig)
    std::string hashing::md5::sig2hex (void *sig)
     Transforms the 128-bit MD5 signature into a 32 char hex string.
     
    void * hashing::md5::hash_bs (const void *input_bs, uint64_t input_size)
     The MD5 algorithm itself, taking in a bytestring.
     
    void * hashing::md5::hash (const std::string &message)
    void * hashing::md5::hash (const std::string &message)
     Converts the string to bytestring and calls the main algorithm.
     
    static void test ()
    void * hashing::md5::hash (const std::string & message)const std::string & message)
    @@ -207,17 +228,13 @@ Algorithm
    Returns
    void* Pointer to the MD5 signature
    -
    288 {
    -
    289 return hash_bs(&message[0], message.size());
    -
    290}
    -
    void * hash_bs(const void *input_bs, uint64_t input_size)
    The MD5 algorithm itself, taking in a bytestring.
    Definition md5.cpp:139
    -
    T size(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    +

    Definition at line 288 of file md5.cpp.

    +
    288 {
    +
    289 return hash_bs(&message[0], message.size());
    +
    290}
    +
    void * hash_bs(const void *input_bs, uint64_t input_size)
    The MD5 algorithm itself, taking in a bytestring.
    Definition md5.cpp:139
    +
    @@ -252,30 +269,22 @@ Here is the call graph for this function:
    for i in range(64):
    print(floor(2**32 * abs(sin(i+1))))
    -
    139 {
    +
    +

    Definition at line 139 of file md5.cpp.

    +
    139 {
    140 auto* input = static_cast<const uint8_t*>(input_bs);
    141
    142 // Step 0: Initial Data (Those are decided in the MD5 protocol)
    143 // s is the shift used in the leftrotate each round
    - +
    144 std::array<uint32_t, 64> s = {
    145 7, 12, 17, 22, 7, 12, 17, 22, 7, 12, 17, 22, 7, 12, 17, 22,
    146 5, 9, 14, 20, 5, 9, 14, 20, 5, 9, 14, 20, 5, 9, 14, 20,
    147 4, 11, 16, 23, 4, 11, 16, 23, 4, 11, 16, 23, 4, 11, 16, 23,
    148 6, 10, 15, 21, 6, 10, 15, 21, 6, 10, 15, 21, 6, 10, 15, 21};
    149 // K is pseudo-random values used each round
    150 // The values can be obtained by the following python code:
    -
    151
    -
    152 /**
    -
    153 * @brief Values of K are pseudo-random and used to "salt" each round
    -
    154 * The values can be obtained by the following python code
    -
    155 * @code{.py}
    -
    156 * from math import floor, sin
    -
    157 *
    -
    158 * for i in range(64):
    -
    159 * print(floor(2**32 * abs(sin(i+1))))
    -
    160 * @endcode
    -
    161 */
    - +
    151
    +
    162 std::array<uint32_t, 64> K = {
    163 3614090360, 3905402710, 606105819, 3250441966, 4118548399, 1200080426,
    164 2821735955, 4249261313, 1770035416, 2336552879, 4294925233, 2304563134,
    165 1804603682, 4254626195, 2792965006, 1236535329, 4129170786, 3225465664,
    @@ -305,10 +314,10 @@ Here is the call graph for this function:
    189 padded_message_size = input_size + 128 - (input_size % 64);
    190 }
    191
    -
    192 std::vector<uint8_t> padded_message(padded_message_size);
    +
    192 std::vector<uint8_t> padded_message(padded_message_size);
    193
    194 // Beginning of the padded message is the original message
    -
    195 std::copy(input, input + input_size, padded_message.begin());
    +
    195 std::copy(input, input + input_size, padded_message.begin());
    196
    197 // Afterwards comes a single 1 bit and then only zeroes
    198 padded_message[input_size] = 1 << 7; // 10000000
    @@ -329,7 +338,7 @@ Here is the call graph for this function:
    213 }
    214
    215 // Already allocate memory for blocks
    - +
    216 std::array<uint32_t, 16> blocks{};
    217
    218 // Rounds
    219 for (uint64_t chunk = 0; chunk * 64 < padded_message_size; chunk++) {
    @@ -396,19 +405,11 @@ Here is the call graph for this function:
    280
    281 return sig;
    282}
    - -
    double g(double x)
    Another test function.
    Definition composite_simpson_rule.cpp:115
    -
    T copy(T... args)
    -
    uint32_t toLittleEndian32(uint32_t n)
    Sets 32-bit integer to little-endian if needed.
    Definition md5.cpp:90
    -
    uint64_t toLittleEndian64(uint64_t n)
    Sets 64-bit integer to little-endian if needed.
    Definition md5.cpp:103
    -
    uint32_t leftRotate32bits(uint32_t n, std::size_t rotate)
    Rotates the bits of a 32-bit unsigned integer.
    Definition md5.cpp:67
    - -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    double g(double x)
    Another test function.
    +
    uint32_t toLittleEndian32(uint32_t n)
    Sets 32-bit integer to little-endian if needed.
    Definition md5.cpp:90
    +
    uint64_t toLittleEndian64(uint64_t n)
    Sets 64-bit integer to little-endian if needed.
    Definition md5.cpp:103
    +
    uint32_t leftRotate32bits(uint32_t n, std::size_t rotate)
    Rotates the bits of a 32-bit unsigned integer.
    Definition md5.cpp:67
    + @@ -436,40 +437,31 @@ Here is the call graph for this function:

    Puts user in a loop where inputs can be given and MD5 hash will be computed and printed.

    Returns
    void
    + +

    Definition at line 352 of file md5.cpp.

    352 {
    353 while (true) {
    -
    354 std::string input;
    -
    355 std::cout << "Enter a message to be hashed (Ctrl-C to exit): "
    -
    356 << std::endl;
    -
    357 std::getline(std::cin, input);
    +
    354 std::string input;
    +
    355 std::cout << "Enter a message to be hashed (Ctrl-C to exit): "
    +
    356 << std::endl;
    +
    357 std::getline(std::cin, input);
    358 void* sig = hashing::md5::hash(input);
    -
    359 std::cout << "Hash is: " << hashing::md5::sig2hex(sig) << std::endl;
    +
    359 std::cout << "Hash is: " << hashing::md5::sig2hex(sig) << std::endl;
    360
    361 while (true) {
    -
    362 std::cout << "Want to enter another message? (y/n) ";
    -
    363 std::getline(std::cin, input);
    -
    364 if (input.compare("y") == 0) {
    +
    362 std::cout << "Want to enter another message? (y/n) ";
    +
    363 std::getline(std::cin, input);
    +
    364 if (input.compare("y") == 0) {
    365 break;
    -
    366 } else if (input.compare("n") == 0) {
    +
    366 } else if (input.compare("n") == 0) {
    367 return;
    368 }
    369 }
    370 }
    371}
    - - - -
    T compare(T... args)
    -
    T endl(T... args)
    -
    T getline(T... args)
    -
    void * hash(const std::string &message)
    Converts the string to bytestring and calls the main algorithm.
    Definition md5.cpp:288
    -
    std::string sig2hex(void *sig)
    Transforms the 128-bit MD5 signature into a 32 char hex string.
    Definition md5.cpp:123
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    void * hash(const std::string &message)
    Converts the string to bytestring and calls the main algorithm.
    Definition md5.cpp:288
    +
    std::string sig2hex(void *sig)
    Transforms the 128-bit MD5 signature into a 32 char hex string.
    Definition md5.cpp:123
    + @@ -492,20 +484,17 @@ Here is the call graph for this function:
    Returns
    true IF integers are detected to work as big-endian
    false IF integers are detected to work as little-endian
    + +

    Definition at line 77 of file md5.cpp.

    77 {
    78 union {
    79 uint32_t i;
    - +
    80 std::array<char, 4> c;
    81 } bint = {0x01020304};
    82
    83 return bint.c[0] == 1;
    84}
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -522,7 +511,7 @@ Here is the call graph for this function: - std::size_t rotate ) + std::size_t rotate )
    @@ -536,16 +525,12 @@ Here is the call graph for this function:
    Returns
    uint32_t The rotated integer
    -
    67 {
    -
    68 return (n << rotate) | (n >> (32 - rotate));
    -
    69}
    -
    T rotate(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    +

    Definition at line 67 of file md5.cpp.

    +
    67 {
    +
    68 return (n << rotate) | (n >> (32 - rotate));
    +
    69}
    +
    @@ -565,6 +550,8 @@ Here is the call graph for this function:

    Main function.

    Returns
    0 on exit
    + +

    Definition at line 377 of file md5.cpp.

    377 {
    378 test(); // run self-test implementations
    379
    @@ -573,14 +560,9 @@ Here is the call graph for this function:
    382 interactive();
    383 return 0;
    384}
    -
    static void test()
    Self-test implementations of well-known MD5 hashes.
    Definition md5.cpp:298
    -
    static void interactive()
    Puts user in a loop where inputs can be given and MD5 hash will be computed and printed.
    Definition md5.cpp:352
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static void test()
    Self-test implementations of well-known MD5 hashes.
    Definition md5.cpp:298
    +
    static void interactive()
    Puts user in a loop where inputs can be given and MD5 hash will be computed and printed.
    Definition md5.cpp:352
    + @@ -590,7 +572,7 @@ Here is the call graph for this function:
    - + @@ -605,24 +587,20 @@ Here is the call graph for this function:
    std::string hashing::md5::sig2hex std::string hashing::md5::sig2hex ( void * sig)
    -
    Returns
    std::string The hex signature
    +
    Returns
    std::string The hex signature
    + +

    Definition at line 123 of file md5.cpp.

    123 {
    124 const char* hexChars = "0123456789abcdef";
    125 auto* intsig = static_cast<uint8_t*>(sig);
    -
    126 std::string hex = "";
    +
    126 std::string hex = "";
    127 for (uint8_t i = 0; i < 16; i++) {
    -
    128 hex.push_back(hexChars[(intsig[i] >> 4) & 0xF]);
    -
    129 hex.push_back(hexChars[(intsig[i]) & 0xF]);
    +
    128 hex.push_back(hexChars[(intsig[i] >> 4) & 0xF]);
    +
    129 hex.push_back(hexChars[(intsig[i]) & 0xF]);
    130 }
    -
    131 return hex;
    +
    131 return hex;
    132}
    -
    T hex(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    @@ -650,12 +628,14 @@ Here is the call graph for this function:

    Self-test implementations of well-known MD5 hashes.

    Returns
    void
    + +

    Definition at line 298 of file md5.cpp.

    298 {
    299 // Hashes empty string and stores signature
    300 void* sig = hashing::md5::hash("");
    -
    301 std::cout << "Hashing empty string" << std::endl;
    +
    301 std::cout << "Hashing empty string" << std::endl;
    302 // Prints signature hex representation
    - +
    303 std::cout << hashing::md5::sig2hex(sig) << std::endl << std::endl;
    304 // Test with cassert whether sig is correct from the expected value
    305 assert(hashing::md5::sig2hex(sig).compare(
    306 "d41d8cd98f00b204e9800998ecf8427e") == 0);
    @@ -663,10 +643,10 @@ Here is the call graph for this function:
    308 // Hashes "The quick brown fox jumps over the lazy dog" and stores signature
    309 void* sig2 =
    310 hashing::md5::hash("The quick brown fox jumps over the lazy dog");
    -
    311 std::cout << "Hashing The quick brown fox jumps over the lazy dog"
    -
    312 << std::endl;
    +
    311 std::cout << "Hashing The quick brown fox jumps over the lazy dog"
    +
    312 << std::endl;
    313 // Prints signature hex representation
    - +
    314 std::cout << hashing::md5::sig2hex(sig2) << std::endl << std::endl;
    315 // Test with cassert whether sig is correct from the expected value
    316 assert(hashing::md5::sig2hex(sig2).compare(
    317 "9e107d9d372bb6826bd81d3542a419d6") == 0);
    @@ -675,11 +655,11 @@ Here is the call graph for this function:
    320 // additional period) and stores signature
    321 void* sig3 =
    322 hashing::md5::hash("The quick brown fox jumps over the lazy dog.");
    -
    323 std::cout << "Hashing "
    +
    323 std::cout << "Hashing "
    324 "The quick brown fox jumps over the lazy dog."
    -
    325 << std::endl;
    +
    325 << std::endl;
    326 // Prints signature hex representation
    - +
    327 std::cout << hashing::md5::sig2hex(sig3) << std::endl << std::endl;
    328 // Test with cassert whether sig is correct from the expected value
    329 assert(hashing::md5::sig2hex(sig3).compare(
    330 "e4d909c290d0fb1ca068ffaddf22cbd0") == 0);
    @@ -688,23 +668,18 @@ Here is the call graph for this function:
    333 // and stores signature
    334 void* sig4 = hashing::md5::hash(
    335 "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789");
    - +
    336 std::cout
    337 << "Hashing "
    338 "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"
    -
    339 << std::endl;
    +
    339 << std::endl;
    340 // Prints signature hex representation
    - +
    341 std::cout << hashing::md5::sig2hex(sig4) << std::endl << std::endl;
    342 // Test with cassert whether sig is correct from the expected value
    343 assert(hashing::md5::sig2hex(sig4).compare(
    344 "d174ab98d277d9f5a5611c2c9f419d9f") == 0);
    345}
    -
    int compare(const void *a, const void *b)
    Definition shell_sort2.cpp:87
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    int compare(const void *a, const void *b)
    + @@ -730,6 +705,8 @@ Here is the call graph for this function:
    Returns
    uint32_t param n with binary representation as little-endian
    + +

    Definition at line 90 of file md5.cpp.

    90 {
    91 if (!isBigEndian()) {
    92 return ((n << 24) & 0xFF000000) | ((n << 8) & 0x00FF0000) |
    @@ -738,13 +715,8 @@ Here is the call graph for this function:
    95 // Machine works on little endian, no need to change anything
    96 return n;
    97}
    -
    bool isBigEndian()
    Checks whether integers are stored as big endian or not.
    Definition md5.cpp:77
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    bool isBigEndian()
    Checks whether integers are stored as big endian or not.
    Definition md5.cpp:77
    + @@ -770,6 +742,8 @@ Here is the call graph for this function:
    Returns
    uint64_t param n with binary representation as little-endian
    + +

    Definition at line 103 of file md5.cpp.

    103 {
    104 if (!isBigEndian()) {
    105 return ((n << 56) & 0xFF00000000000000) |
    @@ -785,12 +759,7 @@ Here is the call graph for this function:
    115 // Machine works on little endian, no need to change anything
    116 return n;
    117}
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + diff --git a/d5/d96/md5_8cpp_a5341431cef7fcfc33794326e1deb2425_cgraph.map b/d5/d96/md5_8cpp_a5341431cef7fcfc33794326e1deb2425_cgraph.map deleted file mode 100644 index de6774bfb..000000000 --- a/d5/d96/md5_8cpp_a5341431cef7fcfc33794326e1deb2425_cgraph.map +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - diff --git a/d5/d96/md5_8cpp_a5341431cef7fcfc33794326e1deb2425_cgraph.md5 b/d5/d96/md5_8cpp_a5341431cef7fcfc33794326e1deb2425_cgraph.md5 deleted file mode 100644 index b198489d6..000000000 --- a/d5/d96/md5_8cpp_a5341431cef7fcfc33794326e1deb2425_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -be7c88e8e21a60bd7dab12b3e2235ac9 \ No newline at end of file diff --git a/d5/d96/md5_8cpp_a5341431cef7fcfc33794326e1deb2425_cgraph.svg b/d5/d96/md5_8cpp_a5341431cef7fcfc33794326e1deb2425_cgraph.svg deleted file mode 100644 index 6add760c2..000000000 --- a/d5/d96/md5_8cpp_a5341431cef7fcfc33794326e1deb2425_cgraph.svg +++ /dev/null @@ -1,209 +0,0 @@ - - - - - - - - - - - - -hashing::md5::hash_bs - - -Node1 - - -hashing::md5::hash_bs - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::vector::begin - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::copy - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -hashing::md5::leftRotate32bits - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -hashing::md5::toLittleEndian32 - - - - - -Node1->Node5 - - - - - - - - -Node7 - - -hashing::md5::toLittleEndian64 - - - - - -Node1->Node7 - - - - - - - - -Node4->Node4 - - - - - - - - -Node5->Node5 - - - - - - - - -Node6 - - -hashing::md5::isBigEndian - - - - - -Node5->Node6 - - - - - - - - -Node6->Node6 - - - - - - - - -Node7->Node6 - - - - - - - - -Node7->Node7 - - - - - - - - - - - - - diff --git a/d5/d96/md5_8cpp_a5341431cef7fcfc33794326e1deb2425_cgraph_org.svg b/d5/d96/md5_8cpp_a5341431cef7fcfc33794326e1deb2425_cgraph_org.svg deleted file mode 100644 index 6728b21d7..000000000 --- a/d5/d96/md5_8cpp_a5341431cef7fcfc33794326e1deb2425_cgraph_org.svg +++ /dev/null @@ -1,183 +0,0 @@ - - - - - - -hashing::md5::hash_bs - - -Node1 - - -hashing::md5::hash_bs - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::vector::begin - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::copy - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -hashing::md5::leftRotate32bits - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -hashing::md5::toLittleEndian32 - - - - - -Node1->Node5 - - - - - - - - -Node7 - - -hashing::md5::toLittleEndian64 - - - - - -Node1->Node7 - - - - - - - - -Node4->Node4 - - - - - - - - -Node5->Node5 - - - - - - - - -Node6 - - -hashing::md5::isBigEndian - - - - - -Node5->Node6 - - - - - - - - -Node6->Node6 - - - - - - - - -Node7->Node6 - - - - - - - - -Node7->Node7 - - - - - - - - diff --git a/d5/d96/md5_8cpp_a694712c9665051ba52b686387b87a689_cgraph.map b/d5/d96/md5_8cpp_a694712c9665051ba52b686387b87a689_cgraph.map deleted file mode 100644 index 941690f64..000000000 --- a/d5/d96/md5_8cpp_a694712c9665051ba52b686387b87a689_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/d5/d96/md5_8cpp_a694712c9665051ba52b686387b87a689_cgraph.md5 b/d5/d96/md5_8cpp_a694712c9665051ba52b686387b87a689_cgraph.md5 deleted file mode 100644 index f71c7b59e..000000000 --- a/d5/d96/md5_8cpp_a694712c9665051ba52b686387b87a689_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -c01d2ab97a454a2b07471ba1a88971e8 \ No newline at end of file diff --git a/d5/d96/md5_8cpp_a694712c9665051ba52b686387b87a689_cgraph.svg b/d5/d96/md5_8cpp_a694712c9665051ba52b686387b87a689_cgraph.svg deleted file mode 100644 index 92f2874d4..000000000 --- a/d5/d96/md5_8cpp_a694712c9665051ba52b686387b87a689_cgraph.svg +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - -hashing::md5::toLittleEndian32 - - -Node1 - - -hashing::md5::toLittleEndian32 - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -hashing::md5::isBigEndian - - - - - -Node1->Node2 - - - - - - - - -Node2->Node2 - - - - - - - - - - - - - diff --git a/d5/d96/md5_8cpp_a694712c9665051ba52b686387b87a689_cgraph_org.svg b/d5/d96/md5_8cpp_a694712c9665051ba52b686387b87a689_cgraph_org.svg deleted file mode 100644 index 37ab14994..000000000 --- a/d5/d96/md5_8cpp_a694712c9665051ba52b686387b87a689_cgraph_org.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - -hashing::md5::toLittleEndian32 - - -Node1 - - -hashing::md5::toLittleEndian32 - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -hashing::md5::isBigEndian - - - - - -Node1->Node2 - - - - - - - - -Node2->Node2 - - - - - - - - diff --git a/d5/d96/md5_8cpp_a6be48c1e6e742f9bd329f501d61dcaef_cgraph.map b/d5/d96/md5_8cpp_a6be48c1e6e742f9bd329f501d61dcaef_cgraph.map deleted file mode 100644 index 81254cffd..000000000 --- a/d5/d96/md5_8cpp_a6be48c1e6e742f9bd329f501d61dcaef_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/d5/d96/md5_8cpp_a6be48c1e6e742f9bd329f501d61dcaef_cgraph.md5 b/d5/d96/md5_8cpp_a6be48c1e6e742f9bd329f501d61dcaef_cgraph.md5 deleted file mode 100644 index 1cb51a61a..000000000 --- a/d5/d96/md5_8cpp_a6be48c1e6e742f9bd329f501d61dcaef_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -2b5a385c7d739cb5d7c77c415b7f0722 \ No newline at end of file diff --git a/d5/d96/md5_8cpp_a6be48c1e6e742f9bd329f501d61dcaef_cgraph.svg b/d5/d96/md5_8cpp_a6be48c1e6e742f9bd329f501d61dcaef_cgraph.svg deleted file mode 100644 index 8ef3f16c1..000000000 --- a/d5/d96/md5_8cpp_a6be48c1e6e742f9bd329f501d61dcaef_cgraph.svg +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - -hashing::md5::toLittleEndian64 - - -Node1 - - -hashing::md5::toLittleEndian64 - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -hashing::md5::isBigEndian - - - - - -Node1->Node2 - - - - - - - - -Node2->Node2 - - - - - - - - - - - - - diff --git a/d5/d96/md5_8cpp_a6be48c1e6e742f9bd329f501d61dcaef_cgraph_org.svg b/d5/d96/md5_8cpp_a6be48c1e6e742f9bd329f501d61dcaef_cgraph_org.svg deleted file mode 100644 index 714171566..000000000 --- a/d5/d96/md5_8cpp_a6be48c1e6e742f9bd329f501d61dcaef_cgraph_org.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - -hashing::md5::toLittleEndian64 - - -Node1 - - -hashing::md5::toLittleEndian64 - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -hashing::md5::isBigEndian - - - - - -Node1->Node2 - - - - - - - - -Node2->Node2 - - - - - - - - diff --git a/d5/d96/md5_8cpp_a88705fab5f92adf3427b4cf76ff33edb_cgraph.map b/d5/d96/md5_8cpp_a88705fab5f92adf3427b4cf76ff33edb_cgraph.map deleted file mode 100644 index 704aab855..000000000 --- a/d5/d96/md5_8cpp_a88705fab5f92adf3427b4cf76ff33edb_cgraph.map +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d5/d96/md5_8cpp_a88705fab5f92adf3427b4cf76ff33edb_cgraph.md5 b/d5/d96/md5_8cpp_a88705fab5f92adf3427b4cf76ff33edb_cgraph.md5 deleted file mode 100644 index 813a945ad..000000000 --- a/d5/d96/md5_8cpp_a88705fab5f92adf3427b4cf76ff33edb_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -42343869a326a5a50dba42b9afa04178 \ No newline at end of file diff --git a/d5/d96/md5_8cpp_a88705fab5f92adf3427b4cf76ff33edb_cgraph.svg b/d5/d96/md5_8cpp_a88705fab5f92adf3427b4cf76ff33edb_cgraph.svg deleted file mode 100644 index b9adc27f5..000000000 --- a/d5/d96/md5_8cpp_a88705fab5f92adf3427b4cf76ff33edb_cgraph.svg +++ /dev/null @@ -1,311 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -hashing::md5::hash - - -Node1 - - -hashing::md5::hash - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -hashing::md5::hash_bs - - - - - -Node1->Node2 - - - - - - - - -Node9 - - -std::string::size - - - - - -Node1->Node9 - - - - - - - - -Node2->Node2 - - - - - - - - -Node3 - - -std::vector::begin - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::copy - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -hashing::md5::leftRotate32bits - - - - - -Node2->Node5 - - - - - - - - -Node6 - - -hashing::md5::toLittleEndian32 - - - - - -Node2->Node6 - - - - - - - - -Node8 - - -hashing::md5::toLittleEndian64 - - - - - -Node2->Node8 - - - - - - - - -Node5->Node5 - - - - - - - - -Node6->Node6 - - - - - - - - -Node7 - - -hashing::md5::isBigEndian - - - - - -Node6->Node7 - - - - - - - - -Node7->Node7 - - - - - - - - -Node8->Node7 - - - - - - - - -Node8->Node8 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d5/d96/md5_8cpp_a88705fab5f92adf3427b4cf76ff33edb_cgraph_org.svg b/d5/d96/md5_8cpp_a88705fab5f92adf3427b4cf76ff33edb_cgraph_org.svg deleted file mode 100644 index 86466054e..000000000 --- a/d5/d96/md5_8cpp_a88705fab5f92adf3427b4cf76ff33edb_cgraph_org.svg +++ /dev/null @@ -1,228 +0,0 @@ - - - - - - -hashing::md5::hash - - -Node1 - - -hashing::md5::hash - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -hashing::md5::hash_bs - - - - - -Node1->Node2 - - - - - - - - -Node9 - - -std::string::size - - - - - -Node1->Node9 - - - - - - - - -Node2->Node2 - - - - - - - - -Node3 - - -std::vector::begin - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::copy - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -hashing::md5::leftRotate32bits - - - - - -Node2->Node5 - - - - - - - - -Node6 - - -hashing::md5::toLittleEndian32 - - - - - -Node2->Node6 - - - - - - - - -Node8 - - -hashing::md5::toLittleEndian64 - - - - - -Node2->Node8 - - - - - - - - -Node5->Node5 - - - - - - - - -Node6->Node6 - - - - - - - - -Node7 - - -hashing::md5::isBigEndian - - - - - -Node6->Node7 - - - - - - - - -Node7->Node7 - - - - - - - - -Node8->Node7 - - - - - - - - -Node8->Node8 - - - - - - - - diff --git a/d5/d96/md5_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map b/d5/d96/md5_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map deleted file mode 100644 index 9c39312ce..000000000 --- a/d5/d96/md5_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/d5/d96/md5_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 b/d5/d96/md5_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 deleted file mode 100644 index 414249b3d..000000000 --- a/d5/d96/md5_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -9765448a7ce92ef05584fe32008f3e3a \ No newline at end of file diff --git a/d5/d96/md5_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg b/d5/d96/md5_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg deleted file mode 100644 index 486925d5f..000000000 --- a/d5/d96/md5_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -compare - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node1->Node3 - - - - - - - - - - - - - diff --git a/d5/d96/md5_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg b/d5/d96/md5_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg deleted file mode 100644 index dce4c17a3..000000000 --- a/d5/d96/md5_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -compare - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node1->Node3 - - - - - - - - diff --git a/d5/d96/md5_8cpp_aaee69c6136a841043f956de32116e348_cgraph.map b/d5/d96/md5_8cpp_aaee69c6136a841043f956de32116e348_cgraph.map deleted file mode 100644 index 224f1f7a4..000000000 --- a/d5/d96/md5_8cpp_aaee69c6136a841043f956de32116e348_cgraph.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/d5/d96/md5_8cpp_aaee69c6136a841043f956de32116e348_cgraph.md5 b/d5/d96/md5_8cpp_aaee69c6136a841043f956de32116e348_cgraph.md5 deleted file mode 100644 index 946983312..000000000 --- a/d5/d96/md5_8cpp_aaee69c6136a841043f956de32116e348_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -cd1903e5a656c2a76bb6e49c1e03ed0c \ No newline at end of file diff --git a/d5/d96/md5_8cpp_aaee69c6136a841043f956de32116e348_cgraph.svg b/d5/d96/md5_8cpp_aaee69c6136a841043f956de32116e348_cgraph.svg deleted file mode 100644 index f039a3480..000000000 --- a/d5/d96/md5_8cpp_aaee69c6136a841043f956de32116e348_cgraph.svg +++ /dev/null @@ -1,56 +0,0 @@ - - - - - - - - - - - - -hashing::md5::sig2hex - - -Node1 - - -hashing::md5::sig2hex - - - - - -Node1->Node1 - - - - - - - - - - - - - diff --git a/d5/d96/md5_8cpp_aaee69c6136a841043f956de32116e348_cgraph_org.svg b/d5/d96/md5_8cpp_aaee69c6136a841043f956de32116e348_cgraph_org.svg deleted file mode 100644 index 43da31988..000000000 --- a/d5/d96/md5_8cpp_aaee69c6136a841043f956de32116e348_cgraph_org.svg +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - -hashing::md5::sig2hex - - -Node1 - - -hashing::md5::sig2hex - - - - - -Node1->Node1 - - - - - - - - diff --git a/d5/d96/md5_8cpp_ac9e1a11f44135b890dd10a00e73b5661_cgraph.map b/d5/d96/md5_8cpp_ac9e1a11f44135b890dd10a00e73b5661_cgraph.map deleted file mode 100644 index b40f447c9..000000000 --- a/d5/d96/md5_8cpp_ac9e1a11f44135b890dd10a00e73b5661_cgraph.map +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/d5/d96/md5_8cpp_ac9e1a11f44135b890dd10a00e73b5661_cgraph.md5 b/d5/d96/md5_8cpp_ac9e1a11f44135b890dd10a00e73b5661_cgraph.md5 deleted file mode 100644 index 775be8dae..000000000 --- a/d5/d96/md5_8cpp_ac9e1a11f44135b890dd10a00e73b5661_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -9c819dac558f9ba4fe8967aecc9db5d3 \ No newline at end of file diff --git a/d5/d96/md5_8cpp_ac9e1a11f44135b890dd10a00e73b5661_cgraph.svg b/d5/d96/md5_8cpp_ac9e1a11f44135b890dd10a00e73b5661_cgraph.svg deleted file mode 100644 index 9676fc603..000000000 --- a/d5/d96/md5_8cpp_ac9e1a11f44135b890dd10a00e73b5661_cgraph.svg +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - - - - - - - -interactive - - -Node1 - - -interactive - - - - - -Node2 - - -std::string::compare - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::getline - - - - - -Node1->Node4 - - - - - - - - - - - - - diff --git a/d5/d96/md5_8cpp_ac9e1a11f44135b890dd10a00e73b5661_cgraph_org.svg b/d5/d96/md5_8cpp_ac9e1a11f44135b890dd10a00e73b5661_cgraph_org.svg deleted file mode 100644 index e6cffa3c1..000000000 --- a/d5/d96/md5_8cpp_ac9e1a11f44135b890dd10a00e73b5661_cgraph_org.svg +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - -interactive - - -Node1 - - -interactive - - - - - -Node2 - - -std::string::compare - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::getline - - - - - -Node1->Node4 - - - - - - - - diff --git a/d5/d96/md5_8cpp_add2bf982d5dd64a45d13cba52c2b371d_cgraph.map b/d5/d96/md5_8cpp_add2bf982d5dd64a45d13cba52c2b371d_cgraph.map deleted file mode 100644 index a41c9eb5a..000000000 --- a/d5/d96/md5_8cpp_add2bf982d5dd64a45d13cba52c2b371d_cgraph.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/d5/d96/md5_8cpp_add2bf982d5dd64a45d13cba52c2b371d_cgraph.md5 b/d5/d96/md5_8cpp_add2bf982d5dd64a45d13cba52c2b371d_cgraph.md5 deleted file mode 100644 index 09ea695f5..000000000 --- a/d5/d96/md5_8cpp_add2bf982d5dd64a45d13cba52c2b371d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -f1c21ee080dcca47e1e0e8082f75a31e \ No newline at end of file diff --git a/d5/d96/md5_8cpp_add2bf982d5dd64a45d13cba52c2b371d_cgraph.svg b/d5/d96/md5_8cpp_add2bf982d5dd64a45d13cba52c2b371d_cgraph.svg deleted file mode 100644 index 2dae3bcba..000000000 --- a/d5/d96/md5_8cpp_add2bf982d5dd64a45d13cba52c2b371d_cgraph.svg +++ /dev/null @@ -1,56 +0,0 @@ - - - - - - - - - - - - -hashing::md5::leftRotate32bits - - -Node1 - - -hashing::md5::leftRotate32bits - - - - - -Node1->Node1 - - - - - - - - - - - - - diff --git a/d5/d96/md5_8cpp_add2bf982d5dd64a45d13cba52c2b371d_cgraph_org.svg b/d5/d96/md5_8cpp_add2bf982d5dd64a45d13cba52c2b371d_cgraph_org.svg deleted file mode 100644 index 1dad53a4d..000000000 --- a/d5/d96/md5_8cpp_add2bf982d5dd64a45d13cba52c2b371d_cgraph_org.svg +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - -hashing::md5::leftRotate32bits - - -Node1 - - -hashing::md5::leftRotate32bits - - - - - -Node1->Node1 - - - - - - - - diff --git a/d5/d96/md5_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d5/d96/md5_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 7c6befadd..000000000 --- a/d5/d96/md5_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - - - - - diff --git a/d5/d96/md5_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d5/d96/md5_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index 75ced1c0f..000000000 --- a/d5/d96/md5_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -3d8b2b9cd69f1ea490052a32c17a74f8 \ No newline at end of file diff --git a/d5/d96/md5_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d5/d96/md5_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 3fc5b6846..000000000 --- a/d5/d96/md5_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,164 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -interactive - - - - - -Node1->Node2 - - - - - - - - -Node6 - - -test - - - - - -Node1->Node6 - - - - - - - - -Node3 - - -std::string::compare - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::endl - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -std::getline - - - - - -Node2->Node5 - - - - - - - - -Node6->Node4 - - - - - - - - -Node7 - - -compare - - - - - -Node6->Node7 - - - - - - - - - - - - - diff --git a/d5/d96/md5_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d5/d96/md5_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 5ef455162..000000000 --- a/d5/d96/md5_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,138 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -interactive - - - - - -Node1->Node2 - - - - - - - - -Node6 - - -test - - - - - -Node1->Node6 - - - - - - - - -Node3 - - -std::string::compare - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::endl - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -std::getline - - - - - -Node2->Node5 - - - - - - - - -Node6->Node4 - - - - - - - - -Node7 - - -compare - - - - - -Node6->Node7 - - - - - - - - diff --git a/d5/d96/md5_8cpp_af8e96bde0183c4b0a7ff04668f11e446_cgraph.map b/d5/d96/md5_8cpp_af8e96bde0183c4b0a7ff04668f11e446_cgraph.map deleted file mode 100644 index a27677de9..000000000 --- a/d5/d96/md5_8cpp_af8e96bde0183c4b0a7ff04668f11e446_cgraph.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/d5/d96/md5_8cpp_af8e96bde0183c4b0a7ff04668f11e446_cgraph.md5 b/d5/d96/md5_8cpp_af8e96bde0183c4b0a7ff04668f11e446_cgraph.md5 deleted file mode 100644 index 4369d834d..000000000 --- a/d5/d96/md5_8cpp_af8e96bde0183c4b0a7ff04668f11e446_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -b9bfa35b267992551c1f7e55b1d470da \ No newline at end of file diff --git a/d5/d96/md5_8cpp_af8e96bde0183c4b0a7ff04668f11e446_cgraph.svg b/d5/d96/md5_8cpp_af8e96bde0183c4b0a7ff04668f11e446_cgraph.svg deleted file mode 100644 index 210664496..000000000 --- a/d5/d96/md5_8cpp_af8e96bde0183c4b0a7ff04668f11e446_cgraph.svg +++ /dev/null @@ -1,56 +0,0 @@ - - - - - - - - - - - - -hashing::md5::isBigEndian - - -Node1 - - -hashing::md5::isBigEndian - - - - - -Node1->Node1 - - - - - - - - - - - - - diff --git a/d5/d96/md5_8cpp_af8e96bde0183c4b0a7ff04668f11e446_cgraph_org.svg b/d5/d96/md5_8cpp_af8e96bde0183c4b0a7ff04668f11e446_cgraph_org.svg deleted file mode 100644 index 77e3106a3..000000000 --- a/d5/d96/md5_8cpp_af8e96bde0183c4b0a7ff04668f11e446_cgraph_org.svg +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - -hashing::md5::isBigEndian - - -Node1 - - -hashing::md5::isBigEndian - - - - - -Node1->Node1 - - - - - - - - diff --git a/d5/d96/md5_8cpp_source.html b/d5/d96/md5_8cpp_source.html new file mode 100644 index 000000000..f1be3d938 --- /dev/null +++ b/d5/d96/md5_8cpp_source.html @@ -0,0 +1,443 @@ + + + + + + + + +TheAlgorithms/C++: hashing/md5.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    md5.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    41#include <algorithm>
    +
    42#include <array>
    +
    43#include <cassert>
    +
    44#include <cstdint>
    +
    45#include <cstring>
    +
    46#include <iostream>
    +
    47#include <string>
    +
    48#include <vector>
    +
    49
    +
    54namespace hashing {
    +
    60namespace md5 {
    +
    +
    67uint32_t leftRotate32bits(uint32_t n, std::size_t rotate) {
    +
    68 return (n << rotate) | (n >> (32 - rotate));
    +
    69}
    +
    +
    + +
    78 union {
    +
    79 uint32_t i;
    +
    80 std::array<char, 4> c;
    +
    81 } bint = {0x01020304};
    +
    82
    +
    83 return bint.c[0] == 1;
    +
    84}
    +
    +
    +
    90uint32_t toLittleEndian32(uint32_t n) {
    +
    91 if (!isBigEndian()) {
    +
    92 return ((n << 24) & 0xFF000000) | ((n << 8) & 0x00FF0000) |
    +
    93 ((n >> 8) & 0x0000FF00) | ((n >> 24) & 0x000000FF);
    +
    94 }
    +
    95 // Machine works on little endian, no need to change anything
    +
    96 return n;
    +
    97}
    +
    +
    +
    103uint64_t toLittleEndian64(uint64_t n) {
    +
    104 if (!isBigEndian()) {
    +
    105 return ((n << 56) & 0xFF00000000000000) |
    +
    106 ((n << 40) & 0x00FF000000000000) |
    +
    107 ((n << 24) & 0x0000FF0000000000) |
    +
    108 ((n << 8) & 0x000000FF00000000) |
    +
    109 ((n >> 8) & 0x00000000FF000000) |
    +
    110 ((n >> 24) & 0x0000000000FF0000) |
    +
    111 ((n >> 40) & 0x000000000000FF00) |
    +
    112 ((n >> 56) & 0x00000000000000FF);
    +
    113 ;
    +
    114 }
    +
    115 // Machine works on little endian, no need to change anything
    +
    116 return n;
    +
    117}
    +
    +
    +
    123std::string sig2hex(void* sig) {
    +
    124 const char* hexChars = "0123456789abcdef";
    +
    125 auto* intsig = static_cast<uint8_t*>(sig);
    +
    126 std::string hex = "";
    +
    127 for (uint8_t i = 0; i < 16; i++) {
    +
    128 hex.push_back(hexChars[(intsig[i] >> 4) & 0xF]);
    +
    129 hex.push_back(hexChars[(intsig[i]) & 0xF]);
    +
    130 }
    +
    131 return hex;
    +
    132}
    +
    +
    +
    139void* hash_bs(const void* input_bs, uint64_t input_size) {
    +
    140 auto* input = static_cast<const uint8_t*>(input_bs);
    +
    141
    +
    142 // Step 0: Initial Data (Those are decided in the MD5 protocol)
    +
    143 // s is the shift used in the leftrotate each round
    +
    144 std::array<uint32_t, 64> s = {
    +
    145 7, 12, 17, 22, 7, 12, 17, 22, 7, 12, 17, 22, 7, 12, 17, 22,
    +
    146 5, 9, 14, 20, 5, 9, 14, 20, 5, 9, 14, 20, 5, 9, 14, 20,
    +
    147 4, 11, 16, 23, 4, 11, 16, 23, 4, 11, 16, 23, 4, 11, 16, 23,
    +
    148 6, 10, 15, 21, 6, 10, 15, 21, 6, 10, 15, 21, 6, 10, 15, 21};
    +
    149 // K is pseudo-random values used each round
    +
    150 // The values can be obtained by the following python code:
    +
    151
    +
    162 std::array<uint32_t, 64> K = {
    +
    163 3614090360, 3905402710, 606105819, 3250441966, 4118548399, 1200080426,
    +
    164 2821735955, 4249261313, 1770035416, 2336552879, 4294925233, 2304563134,
    +
    165 1804603682, 4254626195, 2792965006, 1236535329, 4129170786, 3225465664,
    +
    166 643717713, 3921069994, 3593408605, 38016083, 3634488961, 3889429448,
    +
    167 568446438, 3275163606, 4107603335, 1163531501, 2850285829, 4243563512,
    +
    168 1735328473, 2368359562, 4294588738, 2272392833, 1839030562, 4259657740,
    +
    169 2763975236, 1272893353, 4139469664, 3200236656, 681279174, 3936430074,
    +
    170 3572445317, 76029189, 3654602809, 3873151461, 530742520, 3299628645,
    +
    171 4096336452, 1126891415, 2878612391, 4237533241, 1700485571, 2399980690,
    +
    172 4293915773, 2240044497, 1873313359, 4264355552, 2734768916, 1309151649,
    +
    173 4149444226, 3174756917, 718787259, 3951481745};
    +
    174
    +
    175 // The initial 128-bit state
    +
    176 uint32_t a0 = 0x67452301, A = 0;
    +
    177 uint32_t b0 = 0xefcdab89, B = 0;
    +
    178 uint32_t c0 = 0x98badcfe, C = 0;
    +
    179 uint32_t d0 = 0x10325476, D = 0;
    +
    180
    +
    181 // Step 1: Processing the bytestring
    +
    182
    +
    183 // First compute the size the padded message will have
    +
    184 // so it is possible to allocate the right amount of memory
    +
    185 uint64_t padded_message_size = 0;
    +
    186 if (input_size % 64 < 56) {
    +
    187 padded_message_size = input_size + 64 - (input_size % 64);
    +
    188 } else {
    +
    189 padded_message_size = input_size + 128 - (input_size % 64);
    +
    190 }
    +
    191
    +
    192 std::vector<uint8_t> padded_message(padded_message_size);
    +
    193
    +
    194 // Beginning of the padded message is the original message
    +
    195 std::copy(input, input + input_size, padded_message.begin());
    +
    196
    +
    197 // Afterwards comes a single 1 bit and then only zeroes
    +
    198 padded_message[input_size] = 1 << 7; // 10000000
    +
    199 for (uint64_t i = input_size; i % 64 != 56; i++) {
    +
    200 if (i == input_size) {
    +
    201 continue; // pass first iteration
    +
    202 }
    +
    203 padded_message[i] = 0;
    +
    204 }
    +
    205
    +
    206 // We then have to add the 64-bit size of the message at the end
    +
    207 // When there is a conversion from int to bytestring or vice-versa
    +
    208 // We always need to make sure it is little endian
    +
    209 uint64_t input_bitsize_le = toLittleEndian64(input_size * 8);
    +
    210 for (uint8_t i = 0; i < 8; i++) {
    +
    211 padded_message[padded_message_size - 8 + i] =
    +
    212 (input_bitsize_le >> (56 - 8 * i)) & 0xFF;
    +
    213 }
    +
    214
    +
    215 // Already allocate memory for blocks
    +
    216 std::array<uint32_t, 16> blocks{};
    +
    217
    +
    218 // Rounds
    +
    219 for (uint64_t chunk = 0; chunk * 64 < padded_message_size; chunk++) {
    +
    220 // First, build the 16 32-bits blocks from the chunk
    +
    221 for (uint8_t bid = 0; bid < 16; bid++) {
    +
    222 blocks[bid] = 0;
    +
    223
    +
    224 // Having to build a 32-bit word from 4-bit words
    +
    225 // Add each and shift them to the left
    +
    226 for (uint8_t cid = 0; cid < 4; cid++) {
    +
    227 blocks[bid] = (blocks[bid] << 8) +
    +
    228 padded_message[chunk * 64 + bid * 4 + cid];
    +
    229 }
    +
    230 }
    +
    231
    +
    232 A = a0;
    +
    233 B = b0;
    +
    234 C = c0;
    +
    235 D = d0;
    +
    236
    +
    237 // Main "hashing" loop
    +
    238 for (uint8_t i = 0; i < 64; i++) {
    +
    239 uint32_t F = 0, g = 0;
    +
    240 if (i < 16) {
    +
    241 F = (B & C) | ((~B) & D);
    +
    242 g = i;
    +
    243 } else if (i < 32) {
    +
    244 F = (D & B) | ((~D) & C);
    +
    245 g = (5 * i + 1) % 16;
    +
    246 } else if (i < 48) {
    +
    247 F = B ^ C ^ D;
    +
    248 g = (3 * i + 5) % 16;
    +
    249 } else {
    +
    250 F = C ^ (B | (~D));
    +
    251 g = (7 * i) % 16;
    +
    252 }
    +
    253
    +
    254 // Update the accumulators
    +
    255 F += A + K[i] + toLittleEndian32(blocks[g]);
    +
    256
    +
    257 A = D;
    +
    258 D = C;
    +
    259 C = B;
    +
    260 B += leftRotate32bits(F, s[i]);
    +
    261 }
    +
    262 // Update the state with this chunk's hash
    +
    263 a0 += A;
    +
    264 b0 += B;
    +
    265 c0 += C;
    +
    266 d0 += D;
    +
    267 }
    +
    268
    +
    269 // Build signature from state
    +
    270 // Note, any type could be used for the signature
    +
    271 // uint8_t was used to make the 16 bytes obvious
    +
    272 // The sig needs to be little endian
    +
    273 auto* sig = new uint8_t[16];
    +
    274 for (uint8_t i = 0; i < 4; i++) {
    +
    275 sig[i] = (a0 >> (8 * i)) & 0xFF;
    +
    276 sig[i + 4] = (b0 >> (8 * i)) & 0xFF;
    +
    277 sig[i + 8] = (c0 >> (8 * i)) & 0xFF;
    +
    278 sig[i + 12] = (d0 >> (8 * i)) & 0xFF;
    +
    279 }
    +
    280
    +
    281 return sig;
    +
    282}
    +
    +
    +
    288void* hash(const std::string& message) {
    +
    289 return hash_bs(&message[0], message.size());
    +
    290}
    +
    +
    291} // namespace md5
    +
    292} // namespace hashing
    +
    293
    +
    +
    298static void test() {
    +
    299 // Hashes empty string and stores signature
    +
    300 void* sig = hashing::md5::hash("");
    +
    301 std::cout << "Hashing empty string" << std::endl;
    +
    302 // Prints signature hex representation
    +
    303 std::cout << hashing::md5::sig2hex(sig) << std::endl << std::endl;
    +
    304 // Test with cassert whether sig is correct from the expected value
    +
    305 assert(hashing::md5::sig2hex(sig).compare(
    +
    306 "d41d8cd98f00b204e9800998ecf8427e") == 0);
    +
    307
    +
    308 // Hashes "The quick brown fox jumps over the lazy dog" and stores signature
    +
    309 void* sig2 =
    +
    310 hashing::md5::hash("The quick brown fox jumps over the lazy dog");
    +
    311 std::cout << "Hashing The quick brown fox jumps over the lazy dog"
    +
    312 << std::endl;
    +
    313 // Prints signature hex representation
    +
    314 std::cout << hashing::md5::sig2hex(sig2) << std::endl << std::endl;
    +
    315 // Test with cassert whether sig is correct from the expected value
    +
    316 assert(hashing::md5::sig2hex(sig2).compare(
    +
    317 "9e107d9d372bb6826bd81d3542a419d6") == 0);
    +
    318
    +
    319 // Hashes "The quick brown fox jumps over the lazy dog." (notice the
    +
    320 // additional period) and stores signature
    +
    321 void* sig3 =
    +
    322 hashing::md5::hash("The quick brown fox jumps over the lazy dog.");
    +
    323 std::cout << "Hashing "
    +
    324 "The quick brown fox jumps over the lazy dog."
    +
    325 << std::endl;
    +
    326 // Prints signature hex representation
    +
    327 std::cout << hashing::md5::sig2hex(sig3) << std::endl << std::endl;
    +
    328 // Test with cassert whether sig is correct from the expected value
    +
    329 assert(hashing::md5::sig2hex(sig3).compare(
    +
    330 "e4d909c290d0fb1ca068ffaddf22cbd0") == 0);
    +
    331
    +
    332 // Hashes "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"
    +
    333 // and stores signature
    +
    334 void* sig4 = hashing::md5::hash(
    +
    335 "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789");
    +
    336 std::cout
    +
    337 << "Hashing "
    +
    338 "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"
    +
    339 << std::endl;
    +
    340 // Prints signature hex representation
    +
    341 std::cout << hashing::md5::sig2hex(sig4) << std::endl << std::endl;
    +
    342 // Test with cassert whether sig is correct from the expected value
    +
    343 assert(hashing::md5::sig2hex(sig4).compare(
    +
    344 "d174ab98d277d9f5a5611c2c9f419d9f") == 0);
    +
    345}
    +
    +
    346
    +
    +
    352static void interactive() {
    +
    353 while (true) {
    +
    354 std::string input;
    +
    355 std::cout << "Enter a message to be hashed (Ctrl-C to exit): "
    +
    356 << std::endl;
    +
    357 std::getline(std::cin, input);
    +
    358 void* sig = hashing::md5::hash(input);
    +
    359 std::cout << "Hash is: " << hashing::md5::sig2hex(sig) << std::endl;
    +
    360
    +
    361 while (true) {
    +
    362 std::cout << "Want to enter another message? (y/n) ";
    +
    363 std::getline(std::cin, input);
    +
    364 if (input.compare("y") == 0) {
    +
    365 break;
    +
    366 } else if (input.compare("n") == 0) {
    +
    367 return;
    +
    368 }
    +
    369 }
    +
    370 }
    +
    371}
    +
    +
    372
    +
    +
    377int main() {
    +
    378 test(); // run self-test implementations
    +
    379
    +
    380 // Launch interactive mode where user can input messages and see
    +
    381 // their hash
    +
    382 interactive();
    +
    383 return 0;
    +
    384}
    +
    +
    void * hash_bs(const void *input_bs, uint64_t input_size)
    The MD5 algorithm itself, taking in a bytestring.
    Definition md5.cpp:139
    +
    uint32_t toLittleEndian32(uint32_t n)
    Sets 32-bit integer to little-endian if needed.
    Definition md5.cpp:90
    +
    uint64_t toLittleEndian64(uint64_t n)
    Sets 64-bit integer to little-endian if needed.
    Definition md5.cpp:103
    +
    void * hash(const std::string &message)
    Converts the string to bytestring and calls the main algorithm.
    Definition md5.cpp:288
    +
    static void test()
    Self-test implementations of well-known MD5 hashes.
    Definition md5.cpp:298
    +
    std::string sig2hex(void *sig)
    Transforms the 128-bit MD5 signature into a 32 char hex string.
    Definition md5.cpp:123
    +
    static void interactive()
    Puts user in a loop where inputs can be given and MD5 hash will be computed and printed.
    Definition md5.cpp:352
    +
    uint32_t leftRotate32bits(uint32_t n, std::size_t rotate)
    Rotates the bits of a 32-bit unsigned integer.
    Definition md5.cpp:67
    +
    int main()
    Main function.
    Definition md5.cpp:377
    +
    bool isBigEndian()
    Checks whether integers are stored as big endian or not.
    Definition md5.cpp:77
    +
    Used for assert.
    +
    int compare(const void *a, const void *b)
    +
    +
    + + + + diff --git a/d5/da1/structnode.html b/d5/da1/structnode.html index 22bd7515f..b05d75c08 100644 --- a/d5/da1/structnode.html +++ b/d5/da1/structnode.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: node Class Reference +TheAlgorithms/C++: node Class Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -124,41 +141,33 @@ Public Member Functions
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    - + - + - + - + - + - + - + - + - + - + - +

    Public Attributes

    -int val
    int val
     
    -nodeleft
    nodeleft
     
    -noderight
    noderight
     
    -int data
    int data
     
    -struct nodenext
    struct nodenext
     
    -nodenext
    nodenext
     
    -nodeprev
    nodeprev
     
    -int key
    int key
     
    -nodeparent
    nodeparent
     
    -char color
    char color
     
    -nodelink
    nodelink
     
    -

    Constructor & Destructor Documentation

    +

    Detailed Description

    +
    +

    Definition at line 11 of file binary_search_tree.cpp.

    +

    Constructor & Destructor Documentation

    ◆ node()

    @@ -181,25 +190,204 @@ char color
    + +

    Definition at line 9 of file selectionsortlinkedlist.cpp.

    9 {
    10 data = d;
    -
    11 link = NULL;
    +
    11 link = NULL;
    12 }
    - +
    struct list * link
    pointer to nodes
    +
    + +

    Member Data Documentation

    + +

    ◆ color

    + +
    +
    + + + + +
    char node::color
    +
    + +

    Definition at line 9 of file rb_tree.cpp.

    + +
    +
    + +

    ◆ data

    + +
    +
    + + + + +
    int node::data
    +
    + +

    Definition at line 4 of file circular_queue_using_linked_list.cpp.

    + +
    +
    + +

    ◆ key

    + +
    +
    + + + + +
    int node::key
    +
    + +

    Definition at line 7 of file rb_tree.cpp.

    + +
    +
    + +

    ◆ left

    + +
    +
    + + + + +
    node * node::left
    +
    + +

    Definition at line 13 of file binary_search_tree.cpp.

    + +
    +
    + +

    ◆ link

    + +
    +
    + + + + +
    node* node::link
    +
    + +

    Definition at line 8 of file selectionsortlinkedlist.cpp.

    + +
    +
    + +

    ◆ next [1/2]

    + +
    +
    + + + + +
    node * node::next
    +
    + +

    Definition at line 5 of file circular_queue_using_linked_list.cpp.

    + +
    +
    + +

    ◆ next [2/2]

    + +
    +
    + + + + +
    node* node::next
    +
    + +

    Definition at line 14 of file cll.h.

    + +
    +
    + +

    ◆ parent

    + +
    +
    + + + + +
    node* node::parent
    +
    + +

    Definition at line 8 of file rb_tree.cpp.

    + +
    +
    + +

    ◆ prev

    + +
    +
    + + + + +
    node* node::prev
    +
    + +

    Definition at line 7 of file doubly_linked_list.cpp.

    + +
    +
    + +

    ◆ right

    + +
    +
    + + + + +
    node * node::right
    +
    + +

    Definition at line 14 of file binary_search_tree.cpp.

    + +
    +
    + +

    ◆ val

    + +
    +
    + + + + +
    int node::val
    +
    + +

    Definition at line 12 of file binary_search_tree.cpp.

    +

    The documentation for this class was generated from the following files: diff --git a/d5/da7/namespacejarvis.html b/d5/da7/namespacejarvis.html index 215000c35..d0d795e52 100644 --- a/d5/da7/namespacejarvis.html +++ b/d5/da7/namespacejarvis.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: jarvis Namespace Reference +TheAlgorithms/C++: jarvis Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/d5/dab/structdata__structures_1_1list__array_1_1list.html b/d5/dab/structdata__structures_1_1list__array_1_1list.html index 5e2aab232..5e3150a54 100644 --- a/d5/dab/structdata__structures_1_1list__array_1_1list.html +++ b/d5/dab/structdata__structures_1_1list__array_1_1list.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: data_structures::list_array::list< N > Struct Template Reference +TheAlgorithms/C++: data_structures::list_array::list< N > Struct Template Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + @@ -117,15 +134,15 @@ $(function(){initNavTree('d5/dab/structdata__structures_1_1list__array_1_1list.h
    Collaboration diagram for data_structures::list_array::list< N >:
    -
    +
    [legend]
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    - + - + @@ -145,18 +162,18 @@ Public Member Functions

    Public Member Functions

    uint64_t BinarySearch (const std::array< uint64_t, N > &dataArr, const uint64_t &first, const uint64_t &last, const uint64_t &val)
    uint64_t BinarySearch (const std::array< uint64_t, N > &dataArr, const uint64_t &first, const uint64_t &last, const uint64_t &val)
     Search an element in the list using binarySearch.
     
    uint64_t LinearSearch (const std::array< uint64_t, N > &dataArr, const uint64_t &val) const
    uint64_t LinearSearch (const std::array< uint64_t, N > &dataArr, const uint64_t &val) const
     Search an element using linear search.
     
    uint64_t search (const uint64_t &val)
    - + - + - +

    Public Attributes

    std::array< uint64_t, N > data {}
    std::array< uint64_t, N > data {}
     
    -uint64_t top = 0
    uint64_t top = 0
     
    -bool isSorted = false
    bool isSorted = false
     

    Detailed Description

    template<uint64_t N>
    struct data_structures::list_array::list< N >

    Structure of List with supporting methods.

    + +

    Definition at line 37 of file list_array.cpp.

    Member Function Documentation

    ◆ BinarySearch()

    @@ -172,7 +189,7 @@ template<uint64_t N>
    uint64_t data_structures::list_array::list< N >::BinarySearch ( - const std::array< uint64_t, N > & dataArr, + const std::array< uint64_t, N > & dataArr, @@ -208,6 +225,8 @@ template<uint64_t N>
    Returns
    index of element in the list if present else -1
    + +

    Definition at line 49 of file list_array.cpp.

    51 {
    52 // If both pointer cross each other means no element present in the list
    53 // which is equal to the val
    @@ -227,17 +246,11 @@ template<uint64_t N>
    67 else if (val > dataArr[mid])
    68 return (BinarySearch(dataArr, mid + 1, last, val));
    69
    -
    70 std::cerr << __func__ << ":" << __LINE__ << ": Undefined condition\n";
    +
    70 std::cerr << __func__ << ":" << __LINE__ << ": Undefined condition\n";
    71 return -1;
    72 }
    - -
    uint64_t BinarySearch(const std::array< uint64_t, N > &dataArr, const uint64_t &first, const uint64_t &last, const uint64_t &val)
    Search an element in the list using binarySearch.
    Definition list_array.cpp:49
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    uint64_t BinarySearch(const std::array< uint64_t, N > &dataArr, const uint64_t &first, const uint64_t &last, const uint64_t &val)
    Search an element in the list using binarySearch.
    + @@ -273,10 +286,12 @@ template<uint64_t N>
    Returns
    void
    + +

    Definition at line 143 of file list_array.cpp.

    143 {
    144 // overflow check
    145 if (top == N) {
    -
    146 std::cout << "\nOverflow";
    +
    146 std::cout << "\nOverflow";
    147 return;
    148 }
    149 // if list is not sorted, insert at the last
    @@ -324,7 +339,7 @@ template<uint64_t N>
    uint64_t data_structures::list_array::list< N >::LinearSearch ( - const std::array< uint64_t, N > & dataArr, + const std::array< uint64_t, N > & dataArr, @@ -348,6 +363,8 @@ template<uint64_t N>
    Returns
    index of element in the list if present else -1
    + +

    Definition at line 80 of file list_array.cpp.

    81 {
    82 // Going through each element in the list
    83 for (uint64_t i = 0; i < top; i++) {
    @@ -394,14 +411,16 @@ template<uint64_t N>
    Returns
    void
    + +

    Definition at line 183 of file list_array.cpp.

    183 {
    184 uint64_t pos = search(val); // search the index of the value
    185 // if search returns -1, element does not present in the list
    186 if (pos == -1) {
    -
    187 std::cout << "\n Element does not present in the list ";
    +
    187 std::cout << "\n Element does not present in the list ";
    188 return;
    189 }
    -
    190 std::cout << "\n"
    +
    190 std::cout << "\n"
    191 << data[pos] << " deleted"; // print the appropriate message
    192 // shift all the element 1 left to fill vacant space
    193 for (uint64_t i = pos; i < top; i++) {
    @@ -409,8 +428,8 @@ template<uint64_t N>
    195 }
    196 top--; // decrement the top variable to maintain last index
    197 }
    -
    int data[MAX]
    test data
    Definition hash_search.cpp:24
    -
    for std::assert
    Definition binary_search.cpp:47
    +
    int data[MAX]
    test data
    +
    for std::assert
    @@ -438,6 +457,8 @@ template<uint64_t N>
    + +

    Definition at line 97 of file list_array.cpp.

    97 {
    98 uint64_t pos; // pos variable to store index value of element.
    99 // if list is sorted, binary search works efficiently else linear search
    @@ -450,14 +471,14 @@ template<uint64_t N>
    106 // if index is equal to -1 means element does not present
    107 // else print the index of that element
    108 if (pos != -1) {
    -
    109 std::cout << "\nElement found at position : " << pos;
    +
    109 std::cout << "\nElement found at position : " << pos;
    110 } else {
    -
    111 std::cout << "\nElement not found";
    +
    111 std::cout << "\nElement not found";
    112 }
    113 // return the index of element or -1.
    114 return pos;
    115 }
    -
    uint64_t LinearSearch(const std::array< uint64_t, N > &dataArr, const uint64_t &val) const
    Search an element using linear search.
    Definition list_array.cpp:80
    +
    uint64_t LinearSearch(const std::array< uint64_t, N > &dataArr, const uint64_t &val) const
    Search an element using linear search.
    @@ -488,11 +509,13 @@ template<uint64_t N>

    Utility function to print array.

    Returns
    void
    + +

    Definition at line 203 of file list_array.cpp.

    203 {
    204 // Going through each element in the list
    -
    205 std::cout << '\n';
    +
    205 std::cout << '\n';
    206 for (uint64_t i = 0; i < top; i++) {
    -
    207 std::cout << data[i] << " "; // print the element
    +
    207 std::cout << data[i] << " "; // print the element
    208 }
    209 }
    @@ -525,6 +548,8 @@ template<uint64_t N>

    Sort the list.

    Returns
    void
    + +

    Definition at line 121 of file list_array.cpp.

    121 {
    122 // Going through each element in the list
    123 for (uint64_t i = 0; i < top; i++) {
    @@ -536,18 +561,12 @@ template<uint64_t N>
    129 }
    130 }
    131 // swap min value and element at the ith index
    -
    132 std::swap(data[min_idx], data[i]);
    +
    132 std::swap(data[min_idx], data[i]);
    133 }
    134 // mark isSorted variable as true
    135 isSorted = true;
    136 }
    -
    T swap(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +

    Member Data Documentation

    @@ -560,16 +579,54 @@ Here is the call graph for this function: template<uint64_t N> - +
    std::array<uint64_t, N> data_structures::list_array::list< N >::data {}std::array<uint64_t, N> data_structures::list_array::list< N >::data {}
    + +

    Definition at line 38 of file list_array.cpp.

    38{}; // Array that implement list
    +
    + + +

    ◆ isSorted

    + +
    +
    +
    +template<uint64_t N>
    + + + + +
    bool data_structures::list_array::list< N >::isSorted = false
    +
    + +

    Definition at line 40 of file list_array.cpp.

    + +
    +
    + +

    ◆ top

    + +
    +
    +
    +template<uint64_t N>
    + + + + +
    uint64_t data_structures::list_array::list< N >::top = 0
    +
    + +

    Definition at line 39 of file list_array.cpp.

    +

    The documentation for this struct was generated from the following file: diff --git a/d5/dab/structdata__structures_1_1list__array_1_1list_a133635ad53bd89e3947ca02448819180_cgraph.map b/d5/dab/structdata__structures_1_1list__array_1_1list_a133635ad53bd89e3947ca02448819180_cgraph.map deleted file mode 100644 index de7c82604..000000000 --- a/d5/dab/structdata__structures_1_1list__array_1_1list_a133635ad53bd89e3947ca02448819180_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d5/dab/structdata__structures_1_1list__array_1_1list_a133635ad53bd89e3947ca02448819180_cgraph.md5 b/d5/dab/structdata__structures_1_1list__array_1_1list_a133635ad53bd89e3947ca02448819180_cgraph.md5 deleted file mode 100644 index edc85e051..000000000 --- a/d5/dab/structdata__structures_1_1list__array_1_1list_a133635ad53bd89e3947ca02448819180_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -0e12ea6bae13862c91418a8e57c78cd0 \ No newline at end of file diff --git a/d5/dab/structdata__structures_1_1list__array_1_1list_a133635ad53bd89e3947ca02448819180_cgraph.svg b/d5/dab/structdata__structures_1_1list__array_1_1list_a133635ad53bd89e3947ca02448819180_cgraph.svg deleted file mode 100644 index 663683bc4..000000000 --- a/d5/dab/structdata__structures_1_1list__array_1_1list_a133635ad53bd89e3947ca02448819180_cgraph.svg +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - - - - - - - -data_structures::list_array::list::sort - - -Node1 - - -data_structures::list -_array::list::sort - - - - - -Node2 - - -std::swap - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d5/dab/structdata__structures_1_1list__array_1_1list_a133635ad53bd89e3947ca02448819180_cgraph_org.svg b/d5/dab/structdata__structures_1_1list__array_1_1list_a133635ad53bd89e3947ca02448819180_cgraph_org.svg deleted file mode 100644 index 0e8713a19..000000000 --- a/d5/dab/structdata__structures_1_1list__array_1_1list_a133635ad53bd89e3947ca02448819180_cgraph_org.svg +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - -data_structures::list_array::list::sort - - -Node1 - - -data_structures::list -_array::list::sort - - - - - -Node2 - - -std::swap - - - - - -Node1->Node2 - - - - - - - - diff --git a/d5/dab/structdata__structures_1_1list__array_1_1list_a412bdb3910181f3c384d86aee7e217cf_cgraph.map b/d5/dab/structdata__structures_1_1list__array_1_1list_a412bdb3910181f3c384d86aee7e217cf_cgraph.map deleted file mode 100644 index d0742eb0d..000000000 --- a/d5/dab/structdata__structures_1_1list__array_1_1list_a412bdb3910181f3c384d86aee7e217cf_cgraph.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/d5/dab/structdata__structures_1_1list__array_1_1list_a412bdb3910181f3c384d86aee7e217cf_cgraph.md5 b/d5/dab/structdata__structures_1_1list__array_1_1list_a412bdb3910181f3c384d86aee7e217cf_cgraph.md5 deleted file mode 100644 index ad0c1a583..000000000 --- a/d5/dab/structdata__structures_1_1list__array_1_1list_a412bdb3910181f3c384d86aee7e217cf_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -ad17b5d8ce4a021cd9018ddd10baa4ce \ No newline at end of file diff --git a/d5/dab/structdata__structures_1_1list__array_1_1list_a412bdb3910181f3c384d86aee7e217cf_cgraph.svg b/d5/dab/structdata__structures_1_1list__array_1_1list_a412bdb3910181f3c384d86aee7e217cf_cgraph.svg deleted file mode 100644 index 4551275fe..000000000 --- a/d5/dab/structdata__structures_1_1list__array_1_1list_a412bdb3910181f3c384d86aee7e217cf_cgraph.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - - - - - - - -data_structures::list_array::list::BinarySearch - - -Node1 - - -data_structures::list -_array::list::BinarySearch - - - - - -Node1->Node1 - - - - - - - - - - - - - diff --git a/d5/dab/structdata__structures_1_1list__array_1_1list_a412bdb3910181f3c384d86aee7e217cf_cgraph_org.svg b/d5/dab/structdata__structures_1_1list__array_1_1list_a412bdb3910181f3c384d86aee7e217cf_cgraph_org.svg deleted file mode 100644 index 141163e66..000000000 --- a/d5/dab/structdata__structures_1_1list__array_1_1list_a412bdb3910181f3c384d86aee7e217cf_cgraph_org.svg +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - -data_structures::list_array::list::BinarySearch - - -Node1 - - -data_structures::list -_array::list::BinarySearch - - - - - -Node1->Node1 - - - - - - - - diff --git a/d5/db0/adaline__learning_8cpp.html b/d5/db0/adaline__learning_8cpp.html index 12c6ea2aa..90269401d 100644 --- a/d5/db0/adaline__learning_8cpp.html +++ b/d5/db0/adaline__learning_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: machine_learning/adaline_learning.cpp File Reference +TheAlgorithms/C++: machine_learning/adaline_learning.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -129,7 +146,9 @@ Include dependency graph for adaline_learning.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -167,6 +186,8 @@ Variables \]

    where \(x_j\) are the input features of a sample, \(w_j\) are the coefficients of the linear function and \(\theta\) is a constant. If we know the \(w_j\), then for any given set of features, \(y\) can be computed. Computing the \(w_j\) is a supervised learning algorithm wherein a set of features and their corresponding outputs are given and weights are computed using stochastic gradient descent method.

    + +

    Definition in file adaline_learning.cpp.

    Function Documentation

    ◆ main()

    @@ -187,43 +208,34 @@ Variables

    Classes

    class  machine_learning::adaline

    Main function

    + +

    Definition at line 357 of file adaline_learning.cpp.

    357 {
    -
    358 std::srand(std::time(nullptr)); // initialize random number generator
    +
    358 std::srand(std::time(nullptr)); // initialize random number generator
    359
    360 double eta = 0.1; // default value of eta
    361 if (argc == 2) { // read eta value from commandline argument if present
    -
    362 eta = strtof(argv[1], nullptr);
    +
    362 eta = strtof(argv[1], nullptr);
    363 }
    364
    365 test1(eta);
    366
    -
    367 std::cout << "Press ENTER to continue..." << std::endl;
    -
    368 std::cin.get();
    +
    367 std::cout << "Press ENTER to continue..." << std::endl;
    +
    368 std::cin.get();
    369
    370 test2(eta);
    371
    -
    372 std::cout << "Press ENTER to continue..." << std::endl;
    -
    373 std::cin.get();
    +
    372 std::cout << "Press ENTER to continue..." << std::endl;
    +
    373 std::cin.get();
    374
    375 test3(eta);
    376
    377 return 0;
    378}
    - - -
    static void test2()
    Self-implementations, 2nd test.
    Definition dsu_path_compression.cpp:187
    -
    static void test1()
    Self-test implementations, 1st test.
    Definition dsu_path_compression.cpp:170
    -
    T endl(T... args)
    -
    static void test3()
    Definition hamiltons_cycle.cpp:122
    -
    T srand(T... args)
    -
    T strtof(T... args)
    -
    T time(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static void test2()
    Self-implementations, 2nd test.
    +
    static void test1()
    Self-test implementations, 1st test.
    +
    static void test3()
    +
    @@ -246,46 +258,41 @@ Here is the call graph for this function: + +

    Definition at line 224 of file adaline_learning.cpp.

    224 {
    225 adaline ada(2, eta); // 2 features
    226
    227 const int N = 10; // number of sample points
    228
    - - - - -
    233 std::vector<double>({-7, -3}), std::vector<double>({-8, 5}),
    -
    234 std::vector<double>({-9, 2}), std::vector<double>({-10, -15})};
    -
    235 std::array<int, N> y = {1, -1, 1, -1, -1,
    +
    229 std::array<std::vector<double>, N> X = {
    +
    230 std::vector<double>({0, 1}), std::vector<double>({1, -2}),
    +
    231 std::vector<double>({2, 3}), std::vector<double>({3, -1}),
    +
    232 std::vector<double>({4, 1}), std::vector<double>({6, -5}),
    +
    233 std::vector<double>({-7, -3}), std::vector<double>({-8, 5}),
    +
    234 std::vector<double>({-9, 2}), std::vector<double>({-10, -15})};
    +
    235 std::array<int, N> y = {1, -1, 1, -1, -1,
    236 -1, 1, 1, 1, -1}; // corresponding y-values
    237
    -
    238 std::cout << "------- Test 1 -------" << std::endl;
    -
    239 std::cout << "Model before fit: " << ada << std::endl;
    +
    238 std::cout << "------- Test 1 -------" << std::endl;
    +
    239 std::cout << "Model before fit: " << ada << std::endl;
    240
    241 ada.fit<N>(X, y);
    -
    242 std::cout << "Model after fit: " << ada << std::endl;
    +
    242 std::cout << "Model after fit: " << ada << std::endl;
    243
    244 int predict = ada.predict({5, -3});
    -
    245 std::cout << "Predict for x=(5,-3): " << predict;
    +
    245 std::cout << "Predict for x=(5,-3): " << predict;
    246 assert(predict == -1);
    -
    247 std::cout << " ...passed" << std::endl;
    +
    247 std::cout << " ...passed" << std::endl;
    248
    249 predict = ada.predict({5, 8});
    -
    250 std::cout << "Predict for x=(5,8): " << predict;
    +
    250 std::cout << "Predict for x=(5,8): " << predict;
    251 assert(predict == 1);
    -
    252 std::cout << " ...passed" << std::endl;
    +
    252 std::cout << " ...passed" << std::endl;
    253}
    - -
    Definition adaline_learning.cpp:46
    -
    constexpr uint32_t N
    A struct to represent sparse table for min() as their invariant function, for the given array A....
    Definition sparse_table.cpp:48
    - -
    -Here is the call graph for this function:
    -
    -
    -
    - + +
    constexpr uint32_t N
    A struct to represent sparse table for min() as their invariant function, for the given array A....
    + @@ -308,52 +315,48 @@ Here is the call graph for this function: + +

    Definition at line 262 of file adaline_learning.cpp.

    262 {
    263 adaline ada(2, eta); // 2 features
    264
    265 const int N = 50; // number of sample points
    266
    - -
    268 std::array<int, N> Y{}; // corresponding y-values
    +
    267 std::array<std::vector<double>, N> X;
    +
    268 std::array<int, N> Y{}; // corresponding y-values
    269
    270 // generate sample points in the interval
    271 // [-range2/100 , (range2-1)/100]
    272 int range = 500; // sample points full-range
    273 int range2 = range >> 1; // sample points half-range
    274 for (int i = 0; i < N; i++) {
    -
    275 double x0 = (static_cast<double>(std::rand() % range) - range2) / 100.f;
    -
    276 double x1 = (static_cast<double>(std::rand() % range) - range2) / 100.f;
    -
    277 X[i] = std::vector<double>({x0, x1});
    +
    275 double x0 = (static_cast<double>(std::rand() % range) - range2) / 100.f;
    +
    276 double x1 = (static_cast<double>(std::rand() % range) - range2) / 100.f;
    +
    277 X[i] = std::vector<double>({x0, x1});
    278 Y[i] = (x0 + 3. * x1) > -1 ? 1 : -1;
    279 }
    280
    -
    281 std::cout << "------- Test 2 -------" << std::endl;
    -
    282 std::cout << "Model before fit: " << ada << std::endl;
    +
    281 std::cout << "------- Test 2 -------" << std::endl;
    +
    282 std::cout << "Model before fit: " << ada << std::endl;
    283
    284 ada.fit(X, Y);
    -
    285 std::cout << "Model after fit: " << ada << std::endl;
    +
    285 std::cout << "Model after fit: " << ada << std::endl;
    286
    287 int N_test_cases = 5;
    288 for (int i = 0; i < N_test_cases; i++) {
    -
    289 double x0 = (static_cast<double>(std::rand() % range) - range2) / 100.f;
    -
    290 double x1 = (static_cast<double>(std::rand() % range) - range2) / 100.f;
    +
    289 double x0 = (static_cast<double>(std::rand() % range) - range2) / 100.f;
    +
    290 double x1 = (static_cast<double>(std::rand() % range) - range2) / 100.f;
    291
    292 int predict = ada.predict({x0, x1});
    293
    -
    294 std::cout << "Predict for x=(" << x0 << "," << x1 << "): " << predict;
    +
    294 std::cout << "Predict for x=(" << x0 << "," << x1 << "): " << predict;
    295
    296 int expected_val = (x0 + 3. * x1) > -1 ? 1 : -1;
    297 assert(predict == expected_val);
    -
    298 std::cout << " ...passed" << std::endl;
    +
    298 std::cout << " ...passed" << std::endl;
    299 }
    300}
    -
    T rand(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -377,54 +380,51 @@ Here is the call graph for this function: + +

    Definition at line 313 of file adaline_learning.cpp.

    313 {
    314 adaline ada(6, eta); // 2 features
    315
    316 const int N = 100; // number of sample points
    317
    - -
    319 std::array<int, N> Y{}; // corresponding y-values
    +
    318 std::array<std::vector<double>, N> X;
    +
    319 std::array<int, N> Y{}; // corresponding y-values
    320
    321 // generate sample points in the interval
    322 // [-range2/100 , (range2-1)/100]
    323 int range = 200; // sample points full-range
    324 int range2 = range >> 1; // sample points half-range
    325 for (int i = 0; i < N; i++) {
    -
    326 double x0 = (static_cast<double>(std::rand() % range) - range2) / 100.f;
    -
    327 double x1 = (static_cast<double>(std::rand() % range) - range2) / 100.f;
    -
    328 double x2 = (static_cast<double>(std::rand() % range) - range2) / 100.f;
    -
    329 X[i] = std::vector<double>({x0, x1, x2, x0 * x0, x1 * x1, x2 * x2});
    +
    326 double x0 = (static_cast<double>(std::rand() % range) - range2) / 100.f;
    +
    327 double x1 = (static_cast<double>(std::rand() % range) - range2) / 100.f;
    +
    328 double x2 = (static_cast<double>(std::rand() % range) - range2) / 100.f;
    +
    329 X[i] = std::vector<double>({x0, x1, x2, x0 * x0, x1 * x1, x2 * x2});
    330 Y[i] = ((x0 * x0) + (x1 * x1) + (x2 * x2)) <= 1.f ? 1 : -1;
    331 }
    332
    -
    333 std::cout << "------- Test 3 -------" << std::endl;
    -
    334 std::cout << "Model before fit: " << ada << std::endl;
    +
    333 std::cout << "------- Test 3 -------" << std::endl;
    +
    334 std::cout << "Model before fit: " << ada << std::endl;
    335
    336 ada.fit(X, Y);
    -
    337 std::cout << "Model after fit: " << ada << std::endl;
    +
    337 std::cout << "Model after fit: " << ada << std::endl;
    338
    339 int N_test_cases = 5;
    340 for (int i = 0; i < N_test_cases; i++) {
    -
    341 double x0 = (static_cast<double>(std::rand() % range) - range2) / 100.f;
    -
    342 double x1 = (static_cast<double>(std::rand() % range) - range2) / 100.f;
    -
    343 double x2 = (static_cast<double>(std::rand() % range) - range2) / 100.f;
    +
    341 double x0 = (static_cast<double>(std::rand() % range) - range2) / 100.f;
    +
    342 double x1 = (static_cast<double>(std::rand() % range) - range2) / 100.f;
    +
    343 double x2 = (static_cast<double>(std::rand() % range) - range2) / 100.f;
    344
    345 int predict = ada.predict({x0, x1, x2, x0 * x0, x1 * x1, x2 * x2});
    346
    -
    347 std::cout << "Predict for x=(" << x0 << "," << x1 << "," << x2
    +
    347 std::cout << "Predict for x=(" << x0 << "," << x1 << "," << x2
    348 << "): " << predict;
    349
    350 int expected_val = ((x0 * x0) + (x1 * x1) + (x2 * x2)) <= 1.f ? 1 : -1;
    351 assert(predict == expected_val);
    -
    352 std::cout << " ...passed" << std::endl;
    +
    352 std::cout << " ...passed" << std::endl;
    353 }
    354}
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + diff --git a/d5/db0/adaline__learning_8cpp_a379f7488a305f2571f2932b319931f82_cgraph.map b/d5/db0/adaline__learning_8cpp_a379f7488a305f2571f2932b319931f82_cgraph.map deleted file mode 100644 index 85ced03e6..000000000 --- a/d5/db0/adaline__learning_8cpp_a379f7488a305f2571f2932b319931f82_cgraph.map +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d5/db0/adaline__learning_8cpp_a379f7488a305f2571f2932b319931f82_cgraph.md5 b/d5/db0/adaline__learning_8cpp_a379f7488a305f2571f2932b319931f82_cgraph.md5 deleted file mode 100644 index c4b72a4e0..000000000 --- a/d5/db0/adaline__learning_8cpp_a379f7488a305f2571f2932b319931f82_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -fcfb426b22da23ecec76dd183714e158 \ No newline at end of file diff --git a/d5/db0/adaline__learning_8cpp_a379f7488a305f2571f2932b319931f82_cgraph.svg b/d5/db0/adaline__learning_8cpp_a379f7488a305f2571f2932b319931f82_cgraph.svg deleted file mode 100644 index eafce6520..000000000 --- a/d5/db0/adaline__learning_8cpp_a379f7488a305f2571f2932b319931f82_cgraph.svg +++ /dev/null @@ -1,341 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -test2 - - -Node1 - - -test2 - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -machine_learning::adaline::fit - - - - - -Node1->Node3 - - - - - - - - -Node6 - - -machine_learning::adaline -::predict - - - - - -Node1->Node6 - - - - - - - - -Node12 - - -std::rand - - - - - -Node1->Node12 - - - - - - - - -Node4 - - -machine_learning::adaline -::check_size_match - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -std::vector::size - - - - - -Node3->Node5 - - - - - - - - -Node3->Node6 - - - - - - - - -Node4->Node2 - - - - - - - - -Node4->Node5 - - - - - - - - -Node6->Node4 - - - - - - - - -Node7 - - -machine_learning::adaline -::activation - - - - - -Node6->Node7 - - - - - - - - -Node8 - - -std::vector::back - - - - - -Node6->Node8 - - - - - - - - -Node9 - - -std::vector::begin - - - - - -Node6->Node9 - - - - - - - - -Node10 - - -std::vector::end - - - - - -Node6->Node10 - - - - - - - - -Node11 - - -std::inner_product - - - - - -Node6->Node11 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d5/db0/adaline__learning_8cpp_a379f7488a305f2571f2932b319931f82_cgraph_org.svg b/d5/db0/adaline__learning_8cpp_a379f7488a305f2571f2932b319931f82_cgraph_org.svg deleted file mode 100644 index 5108d8928..000000000 --- a/d5/db0/adaline__learning_8cpp_a379f7488a305f2571f2932b319931f82_cgraph_org.svg +++ /dev/null @@ -1,258 +0,0 @@ - - - - - - -test2 - - -Node1 - - -test2 - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -machine_learning::adaline::fit - - - - - -Node1->Node3 - - - - - - - - -Node6 - - -machine_learning::adaline -::predict - - - - - -Node1->Node6 - - - - - - - - -Node12 - - -std::rand - - - - - -Node1->Node12 - - - - - - - - -Node4 - - -machine_learning::adaline -::check_size_match - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -std::vector::size - - - - - -Node3->Node5 - - - - - - - - -Node3->Node6 - - - - - - - - -Node4->Node2 - - - - - - - - -Node4->Node5 - - - - - - - - -Node6->Node4 - - - - - - - - -Node7 - - -machine_learning::adaline -::activation - - - - - -Node6->Node7 - - - - - - - - -Node8 - - -std::vector::back - - - - - -Node6->Node8 - - - - - - - - -Node9 - - -std::vector::begin - - - - - -Node6->Node9 - - - - - - - - -Node10 - - -std::vector::end - - - - - -Node6->Node10 - - - - - - - - -Node11 - - -std::inner_product - - - - - -Node6->Node11 - - - - - - - - diff --git a/d5/db0/adaline__learning_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph.map b/d5/db0/adaline__learning_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph.map deleted file mode 100644 index 4b74a5ea5..000000000 --- a/d5/db0/adaline__learning_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph.map +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d5/db0/adaline__learning_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph.md5 b/d5/db0/adaline__learning_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph.md5 deleted file mode 100644 index 77313d312..000000000 --- a/d5/db0/adaline__learning_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -6dfe015302b9069ea6e1a20b0cc50326 \ No newline at end of file diff --git a/d5/db0/adaline__learning_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph.svg b/d5/db0/adaline__learning_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph.svg deleted file mode 100644 index ba7330e3f..000000000 --- a/d5/db0/adaline__learning_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph.svg +++ /dev/null @@ -1,527 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::srand - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -test1 - - - - - -Node1->Node4 - - - - - - - - -Node15 - - -test2 - - - - - -Node1->Node15 - - - - - - - - -Node16 - - -test3 - - - - - -Node1->Node16 - - - - - - - - -Node20 - - -std::time - - - - - -Node1->Node20 - - - - - - - - -Node5 - - -dsu::get - - - - - -Node4->Node5 - - - - - - - - -Node10 - - -dsu::UnionSet - - - - - -Node4->Node10 - - - - - - - - -Node6 - - -dsu::get_max - - - - - -Node5->Node6 - - - - - - - - -Node8 - - -dsu::get_min - - - - - -Node5->Node8 - - - - - - - - -Node9 - - -dsu::size - - - - - -Node5->Node9 - - - - - - - - -Node7 - - -dsu::findSet - - - - - -Node6->Node7 - - - - - - - - -Node7->Node7 - - - - - - - - -Node8->Node7 - - - - - - - - -Node9->Node7 - - - - - - - - -Node10->Node7 - - - - - - - - -Node11 - - -dsu::isSame - - - - - -Node10->Node11 - - - - - - - - -Node12 - - -std::max - - - - - -Node10->Node12 - - - - - - - - -Node13 - - -std::min - - - - - -Node10->Node13 - - - - - - - - -Node14 - - -std::swap - - - - - -Node10->Node14 - - - - - - - - -Node11->Node7 - - - - - - - - -Node15->Node5 - - - - - - - - -Node15->Node10 - - - - - - - - -Node17 - - -hamilton_cycle - - - - - -Node16->Node17 - - - - - - - - -Node18 - - -height - - - - - -Node17->Node18 - - - - - - - - -Node19 - - -std::vector::push_back - - - - - -Node17->Node19 - - - - - - - - -Node18->Node12 - - - - - - - - -Node18->Node18 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d5/db0/adaline__learning_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph_org.svg b/d5/db0/adaline__learning_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph_org.svg deleted file mode 100644 index a957c8ca1..000000000 --- a/d5/db0/adaline__learning_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph_org.svg +++ /dev/null @@ -1,444 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::srand - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -test1 - - - - - -Node1->Node4 - - - - - - - - -Node15 - - -test2 - - - - - -Node1->Node15 - - - - - - - - -Node16 - - -test3 - - - - - -Node1->Node16 - - - - - - - - -Node20 - - -std::time - - - - - -Node1->Node20 - - - - - - - - -Node5 - - -dsu::get - - - - - -Node4->Node5 - - - - - - - - -Node10 - - -dsu::UnionSet - - - - - -Node4->Node10 - - - - - - - - -Node6 - - -dsu::get_max - - - - - -Node5->Node6 - - - - - - - - -Node8 - - -dsu::get_min - - - - - -Node5->Node8 - - - - - - - - -Node9 - - -dsu::size - - - - - -Node5->Node9 - - - - - - - - -Node7 - - -dsu::findSet - - - - - -Node6->Node7 - - - - - - - - -Node7->Node7 - - - - - - - - -Node8->Node7 - - - - - - - - -Node9->Node7 - - - - - - - - -Node10->Node7 - - - - - - - - -Node11 - - -dsu::isSame - - - - - -Node10->Node11 - - - - - - - - -Node12 - - -std::max - - - - - -Node10->Node12 - - - - - - - - -Node13 - - -std::min - - - - - -Node10->Node13 - - - - - - - - -Node14 - - -std::swap - - - - - -Node10->Node14 - - - - - - - - -Node11->Node7 - - - - - - - - -Node15->Node5 - - - - - - - - -Node15->Node10 - - - - - - - - -Node17 - - -hamilton_cycle - - - - - -Node16->Node17 - - - - - - - - -Node18 - - -height - - - - - -Node17->Node18 - - - - - - - - -Node19 - - -std::vector::push_back - - - - - -Node17->Node19 - - - - - - - - -Node18->Node12 - - - - - - - - -Node18->Node18 - - - - - - - - diff --git a/d5/db0/adaline__learning_8cpp_a52053d88ea1bcbbed9aca67ab4eeb499_cgraph.map b/d5/db0/adaline__learning_8cpp_a52053d88ea1bcbbed9aca67ab4eeb499_cgraph.map deleted file mode 100644 index dae75d523..000000000 --- a/d5/db0/adaline__learning_8cpp_a52053d88ea1bcbbed9aca67ab4eeb499_cgraph.map +++ /dev/null @@ -1,27 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d5/db0/adaline__learning_8cpp_a52053d88ea1bcbbed9aca67ab4eeb499_cgraph.md5 b/d5/db0/adaline__learning_8cpp_a52053d88ea1bcbbed9aca67ab4eeb499_cgraph.md5 deleted file mode 100644 index c1fed1ca2..000000000 --- a/d5/db0/adaline__learning_8cpp_a52053d88ea1bcbbed9aca67ab4eeb499_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -cf3525d24cd5b53bc1cbf5cdc43627d2 \ No newline at end of file diff --git a/d5/db0/adaline__learning_8cpp_a52053d88ea1bcbbed9aca67ab4eeb499_cgraph.svg b/d5/db0/adaline__learning_8cpp_a52053d88ea1bcbbed9aca67ab4eeb499_cgraph.svg deleted file mode 100644 index 0b0390bd1..000000000 --- a/d5/db0/adaline__learning_8cpp_a52053d88ea1bcbbed9aca67ab4eeb499_cgraph.svg +++ /dev/null @@ -1,323 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -test1 - - -Node1 - - -test1 - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -machine_learning::adaline::fit - - - - - -Node1->Node3 - - - - - - - - -Node6 - - -machine_learning::adaline -::predict - - - - - -Node1->Node6 - - - - - - - - -Node4 - - -machine_learning::adaline -::check_size_match - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -std::vector::size - - - - - -Node3->Node5 - - - - - - - - -Node3->Node6 - - - - - - - - -Node4->Node2 - - - - - - - - -Node4->Node5 - - - - - - - - -Node6->Node4 - - - - - - - - -Node7 - - -machine_learning::adaline -::activation - - - - - -Node6->Node7 - - - - - - - - -Node8 - - -std::vector::back - - - - - -Node6->Node8 - - - - - - - - -Node9 - - -std::vector::begin - - - - - -Node6->Node9 - - - - - - - - -Node10 - - -std::vector::end - - - - - -Node6->Node10 - - - - - - - - -Node11 - - -std::inner_product - - - - - -Node6->Node11 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d5/db0/adaline__learning_8cpp_a52053d88ea1bcbbed9aca67ab4eeb499_cgraph_org.svg b/d5/db0/adaline__learning_8cpp_a52053d88ea1bcbbed9aca67ab4eeb499_cgraph_org.svg deleted file mode 100644 index 9d846db53..000000000 --- a/d5/db0/adaline__learning_8cpp_a52053d88ea1bcbbed9aca67ab4eeb499_cgraph_org.svg +++ /dev/null @@ -1,240 +0,0 @@ - - - - - - -test1 - - -Node1 - - -test1 - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -machine_learning::adaline::fit - - - - - -Node1->Node3 - - - - - - - - -Node6 - - -machine_learning::adaline -::predict - - - - - -Node1->Node6 - - - - - - - - -Node4 - - -machine_learning::adaline -::check_size_match - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -std::vector::size - - - - - -Node3->Node5 - - - - - - - - -Node3->Node6 - - - - - - - - -Node4->Node2 - - - - - - - - -Node4->Node5 - - - - - - - - -Node6->Node4 - - - - - - - - -Node7 - - -machine_learning::adaline -::activation - - - - - -Node6->Node7 - - - - - - - - -Node8 - - -std::vector::back - - - - - -Node6->Node8 - - - - - - - - -Node9 - - -std::vector::begin - - - - - -Node6->Node9 - - - - - - - - -Node10 - - -std::vector::end - - - - - -Node6->Node10 - - - - - - - - -Node11 - - -std::inner_product - - - - - -Node6->Node11 - - - - - - - - diff --git a/d5/db0/adaline__learning_8cpp_a992bdf1fdb0b9d414bcf7981d2d87aa9_cgraph.map b/d5/db0/adaline__learning_8cpp_a992bdf1fdb0b9d414bcf7981d2d87aa9_cgraph.map deleted file mode 100644 index 31862bb10..000000000 --- a/d5/db0/adaline__learning_8cpp_a992bdf1fdb0b9d414bcf7981d2d87aa9_cgraph.map +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d5/db0/adaline__learning_8cpp_a992bdf1fdb0b9d414bcf7981d2d87aa9_cgraph.md5 b/d5/db0/adaline__learning_8cpp_a992bdf1fdb0b9d414bcf7981d2d87aa9_cgraph.md5 deleted file mode 100644 index 4c72180c8..000000000 --- a/d5/db0/adaline__learning_8cpp_a992bdf1fdb0b9d414bcf7981d2d87aa9_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -bd70dfdb0f4914f285981a0b39b336f8 \ No newline at end of file diff --git a/d5/db0/adaline__learning_8cpp_a992bdf1fdb0b9d414bcf7981d2d87aa9_cgraph.svg b/d5/db0/adaline__learning_8cpp_a992bdf1fdb0b9d414bcf7981d2d87aa9_cgraph.svg deleted file mode 100644 index f5b534de6..000000000 --- a/d5/db0/adaline__learning_8cpp_a992bdf1fdb0b9d414bcf7981d2d87aa9_cgraph.svg +++ /dev/null @@ -1,341 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -test3 - - -Node1 - - -test3 - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -machine_learning::adaline::fit - - - - - -Node1->Node3 - - - - - - - - -Node6 - - -machine_learning::adaline -::predict - - - - - -Node1->Node6 - - - - - - - - -Node12 - - -std::rand - - - - - -Node1->Node12 - - - - - - - - -Node4 - - -machine_learning::adaline -::check_size_match - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -std::vector::size - - - - - -Node3->Node5 - - - - - - - - -Node3->Node6 - - - - - - - - -Node4->Node2 - - - - - - - - -Node4->Node5 - - - - - - - - -Node6->Node4 - - - - - - - - -Node7 - - -machine_learning::adaline -::activation - - - - - -Node6->Node7 - - - - - - - - -Node8 - - -std::vector::back - - - - - -Node6->Node8 - - - - - - - - -Node9 - - -std::vector::begin - - - - - -Node6->Node9 - - - - - - - - -Node10 - - -std::vector::end - - - - - -Node6->Node10 - - - - - - - - -Node11 - - -std::inner_product - - - - - -Node6->Node11 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d5/db0/adaline__learning_8cpp_a992bdf1fdb0b9d414bcf7981d2d87aa9_cgraph_org.svg b/d5/db0/adaline__learning_8cpp_a992bdf1fdb0b9d414bcf7981d2d87aa9_cgraph_org.svg deleted file mode 100644 index b04259469..000000000 --- a/d5/db0/adaline__learning_8cpp_a992bdf1fdb0b9d414bcf7981d2d87aa9_cgraph_org.svg +++ /dev/null @@ -1,258 +0,0 @@ - - - - - - -test3 - - -Node1 - - -test3 - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -machine_learning::adaline::fit - - - - - -Node1->Node3 - - - - - - - - -Node6 - - -machine_learning::adaline -::predict - - - - - -Node1->Node6 - - - - - - - - -Node12 - - -std::rand - - - - - -Node1->Node12 - - - - - - - - -Node4 - - -machine_learning::adaline -::check_size_match - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -std::vector::size - - - - - -Node3->Node5 - - - - - - - - -Node3->Node6 - - - - - - - - -Node4->Node2 - - - - - - - - -Node4->Node5 - - - - - - - - -Node6->Node4 - - - - - - - - -Node7 - - -machine_learning::adaline -::activation - - - - - -Node6->Node7 - - - - - - - - -Node8 - - -std::vector::back - - - - - -Node6->Node8 - - - - - - - - -Node9 - - -std::vector::begin - - - - - -Node6->Node9 - - - - - - - - -Node10 - - -std::vector::end - - - - - -Node6->Node10 - - - - - - - - -Node11 - - -std::inner_product - - - - - -Node6->Node11 - - - - - - - - diff --git a/d5/db0/adaline__learning_8cpp_source.html b/d5/db0/adaline__learning_8cpp_source.html new file mode 100644 index 000000000..662686ae3 --- /dev/null +++ b/d5/db0/adaline__learning_8cpp_source.html @@ -0,0 +1,449 @@ + + + + + + + + +TheAlgorithms/C++: machine_learning/adaline_learning.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    adaline_learning.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    29#include <array>
    +
    30#include <cassert>
    +
    31#include <climits>
    +
    32#include <cmath>
    +
    33#include <cstdlib>
    +
    34#include <ctime>
    +
    35#include <iostream>
    +
    36#include <numeric>
    +
    37#include <vector>
    +
    38
    +
    40constexpr int MAX_ITER = 500; // INT_MAX
    +
    41
    +
    45namespace machine_learning {
    +
    +
    46class adaline {
    +
    47 public:
    +
    +
    55 explicit adaline(int num_features, const double eta = 0.01f,
    +
    56 const double accuracy = 1e-5)
    + +
    58 if (eta <= 0) {
    +
    59 std::cerr << "learning rate should be positive and nonzero"
    +
    60 << std::endl;
    +
    61 std::exit(EXIT_FAILURE);
    +
    62 }
    +
    63
    +
    64 weights = std::vector<double>(
    +
    65 num_features +
    +
    66 1); // additional weight is for the constant bias term
    +
    67
    +
    68 // initialize with random weights in the range [-50, 49]
    +
    69 for (double &weight : weights) weight = 1.f;
    +
    70 // weights[i] = (static_cast<double>(std::rand() % 100) - 50);
    +
    71 }
    +
    +
    72
    +
    +
    76 friend std::ostream &operator<<(std::ostream &out, const adaline &ada) {
    +
    77 out << "<";
    +
    78 for (int i = 0; i < ada.weights.size(); i++) {
    +
    79 out << ada.weights[i];
    +
    80 if (i < ada.weights.size() - 1) {
    +
    81 out << ", ";
    +
    82 }
    +
    83 }
    +
    84 out << ">";
    +
    85 return out;
    +
    86 }
    +
    +
    87
    +
    +
    95 int predict(const std::vector<double> &x, double *out = nullptr) {
    +
    96 if (!check_size_match(x)) {
    +
    97 return 0;
    +
    98 }
    +
    99
    +
    100 double y = weights.back(); // assign bias value
    +
    101
    +
    102 // for (int i = 0; i < x.size(); i++) y += x[i] * weights[i];
    +
    103 y = std::inner_product(x.begin(), x.end(), weights.begin(), y);
    +
    104
    +
    105 if (out != nullptr) { // if out variable is provided
    +
    106 *out = y;
    +
    107 }
    +
    108
    +
    109 return activation(y); // quantizer: apply ADALINE threshold function
    +
    110 }
    +
    +
    111
    +
    +
    119 double fit(const std::vector<double> &x, const int &y) {
    +
    120 if (!check_size_match(x)) {
    +
    121 return 0;
    +
    122 }
    +
    123
    +
    124 /* output of the model with current weights */
    +
    125 int p = predict(x);
    +
    126 int prediction_error = y - p; // error in estimation
    +
    127 double correction_factor = eta * prediction_error;
    +
    128
    +
    129 /* update each weight, the last weight is the bias term */
    +
    130 for (int i = 0; i < x.size(); i++) {
    +
    131 weights[i] += correction_factor * x[i];
    +
    132 }
    +
    133 weights[x.size()] += correction_factor; // update bias
    +
    134
    +
    135 return correction_factor;
    +
    136 }
    +
    +
    137
    +
    144 template <size_t N>
    +
    +
    145 void fit(std::array<std::vector<double>, N> const &X,
    +
    146 std::array<int, N> const &Y) {
    +
    147 double avg_pred_error = 1.f;
    +
    148
    +
    149 int iter = 0;
    +
    150 for (iter = 0; (iter < MAX_ITER) && (avg_pred_error > accuracy);
    +
    151 iter++) {
    +
    152 avg_pred_error = 0.f;
    +
    153
    +
    154 // perform fit for each sample
    +
    155 for (int i = 0; i < N; i++) {
    +
    156 double err = fit(X[i], Y[i]);
    +
    157 avg_pred_error += std::abs(err);
    +
    158 }
    +
    159 avg_pred_error /= N;
    +
    160
    +
    161 // Print updates every 200th iteration
    +
    162 // if (iter % 100 == 0)
    +
    163 std::cout << "\tIter " << iter << ": Training weights: " << *this
    +
    164 << "\tAvg error: " << avg_pred_error << std::endl;
    +
    165 }
    +
    166
    +
    167 if (iter < MAX_ITER) {
    +
    168 std::cout << "Converged after " << iter << " iterations."
    +
    169 << std::endl;
    +
    170 } else {
    +
    171 std::cout << "Did not converge after " << iter << " iterations."
    +
    172 << std::endl;
    +
    173 }
    +
    174 }
    +
    +
    175
    +
    186 int activation(double x) { return x > 0 ? 1 : -1; }
    +
    187
    +
    188 private:
    +
    +
    196 bool check_size_match(const std::vector<double> &x) {
    +
    197 if (x.size() != (weights.size() - 1)) {
    +
    198 std::cerr << __func__ << ": "
    +
    199 << "Number of features in x does not match the feature "
    +
    200 "dimension in model!"
    +
    201 << std::endl;
    +
    202 return false;
    +
    203 }
    +
    204 return true;
    +
    205 }
    +
    +
    206
    +
    207 const double eta;
    +
    208 const double accuracy;
    +
    209 std::vector<double> weights;
    +
    210};
    +
    +
    211
    +
    212} // namespace machine_learning
    +
    213
    + +
    215
    +
    +
    224void test1(double eta = 0.01) {
    +
    225 adaline ada(2, eta); // 2 features
    +
    226
    +
    227 const int N = 10; // number of sample points
    +
    228
    +
    229 std::array<std::vector<double>, N> X = {
    +
    230 std::vector<double>({0, 1}), std::vector<double>({1, -2}),
    +
    231 std::vector<double>({2, 3}), std::vector<double>({3, -1}),
    +
    232 std::vector<double>({4, 1}), std::vector<double>({6, -5}),
    +
    233 std::vector<double>({-7, -3}), std::vector<double>({-8, 5}),
    +
    234 std::vector<double>({-9, 2}), std::vector<double>({-10, -15})};
    +
    235 std::array<int, N> y = {1, -1, 1, -1, -1,
    +
    236 -1, 1, 1, 1, -1}; // corresponding y-values
    +
    237
    +
    238 std::cout << "------- Test 1 -------" << std::endl;
    +
    239 std::cout << "Model before fit: " << ada << std::endl;
    +
    240
    +
    241 ada.fit<N>(X, y);
    +
    242 std::cout << "Model after fit: " << ada << std::endl;
    +
    243
    +
    244 int predict = ada.predict({5, -3});
    +
    245 std::cout << "Predict for x=(5,-3): " << predict;
    +
    246 assert(predict == -1);
    +
    247 std::cout << " ...passed" << std::endl;
    +
    248
    +
    249 predict = ada.predict({5, 8});
    +
    250 std::cout << "Predict for x=(5,8): " << predict;
    +
    251 assert(predict == 1);
    +
    252 std::cout << " ...passed" << std::endl;
    +
    253}
    +
    +
    254
    +
    +
    262void test2(double eta = 0.01) {
    +
    263 adaline ada(2, eta); // 2 features
    +
    264
    +
    265 const int N = 50; // number of sample points
    +
    266
    +
    267 std::array<std::vector<double>, N> X;
    +
    268 std::array<int, N> Y{}; // corresponding y-values
    +
    269
    +
    270 // generate sample points in the interval
    +
    271 // [-range2/100 , (range2-1)/100]
    +
    272 int range = 500; // sample points full-range
    +
    273 int range2 = range >> 1; // sample points half-range
    +
    274 for (int i = 0; i < N; i++) {
    +
    275 double x0 = (static_cast<double>(std::rand() % range) - range2) / 100.f;
    +
    276 double x1 = (static_cast<double>(std::rand() % range) - range2) / 100.f;
    +
    277 X[i] = std::vector<double>({x0, x1});
    +
    278 Y[i] = (x0 + 3. * x1) > -1 ? 1 : -1;
    +
    279 }
    +
    280
    +
    281 std::cout << "------- Test 2 -------" << std::endl;
    +
    282 std::cout << "Model before fit: " << ada << std::endl;
    +
    283
    +
    284 ada.fit(X, Y);
    +
    285 std::cout << "Model after fit: " << ada << std::endl;
    +
    286
    +
    287 int N_test_cases = 5;
    +
    288 for (int i = 0; i < N_test_cases; i++) {
    +
    289 double x0 = (static_cast<double>(std::rand() % range) - range2) / 100.f;
    +
    290 double x1 = (static_cast<double>(std::rand() % range) - range2) / 100.f;
    +
    291
    +
    292 int predict = ada.predict({x0, x1});
    +
    293
    +
    294 std::cout << "Predict for x=(" << x0 << "," << x1 << "): " << predict;
    +
    295
    +
    296 int expected_val = (x0 + 3. * x1) > -1 ? 1 : -1;
    +
    297 assert(predict == expected_val);
    +
    298 std::cout << " ...passed" << std::endl;
    +
    299 }
    +
    300}
    +
    +
    301
    +
    +
    313void test3(double eta = 0.01) {
    +
    314 adaline ada(6, eta); // 2 features
    +
    315
    +
    316 const int N = 100; // number of sample points
    +
    317
    +
    318 std::array<std::vector<double>, N> X;
    +
    319 std::array<int, N> Y{}; // corresponding y-values
    +
    320
    +
    321 // generate sample points in the interval
    +
    322 // [-range2/100 , (range2-1)/100]
    +
    323 int range = 200; // sample points full-range
    +
    324 int range2 = range >> 1; // sample points half-range
    +
    325 for (int i = 0; i < N; i++) {
    +
    326 double x0 = (static_cast<double>(std::rand() % range) - range2) / 100.f;
    +
    327 double x1 = (static_cast<double>(std::rand() % range) - range2) / 100.f;
    +
    328 double x2 = (static_cast<double>(std::rand() % range) - range2) / 100.f;
    +
    329 X[i] = std::vector<double>({x0, x1, x2, x0 * x0, x1 * x1, x2 * x2});
    +
    330 Y[i] = ((x0 * x0) + (x1 * x1) + (x2 * x2)) <= 1.f ? 1 : -1;
    +
    331 }
    +
    332
    +
    333 std::cout << "------- Test 3 -------" << std::endl;
    +
    334 std::cout << "Model before fit: " << ada << std::endl;
    +
    335
    +
    336 ada.fit(X, Y);
    +
    337 std::cout << "Model after fit: " << ada << std::endl;
    +
    338
    +
    339 int N_test_cases = 5;
    +
    340 for (int i = 0; i < N_test_cases; i++) {
    +
    341 double x0 = (static_cast<double>(std::rand() % range) - range2) / 100.f;
    +
    342 double x1 = (static_cast<double>(std::rand() % range) - range2) / 100.f;
    +
    343 double x2 = (static_cast<double>(std::rand() % range) - range2) / 100.f;
    +
    344
    +
    345 int predict = ada.predict({x0, x1, x2, x0 * x0, x1 * x1, x2 * x2});
    +
    346
    +
    347 std::cout << "Predict for x=(" << x0 << "," << x1 << "," << x2
    +
    348 << "): " << predict;
    +
    349
    +
    350 int expected_val = ((x0 * x0) + (x1 * x1) + (x2 * x2)) <= 1.f ? 1 : -1;
    +
    351 assert(predict == expected_val);
    +
    352 std::cout << " ...passed" << std::endl;
    +
    353 }
    +
    354}
    +
    +
    355
    +
    +
    357int main(int argc, char **argv) {
    +
    358 std::srand(std::time(nullptr)); // initialize random number generator
    +
    359
    +
    360 double eta = 0.1; // default value of eta
    +
    361 if (argc == 2) { // read eta value from commandline argument if present
    +
    362 eta = strtof(argv[1], nullptr);
    +
    363 }
    +
    364
    +
    365 test1(eta);
    +
    366
    +
    367 std::cout << "Press ENTER to continue..." << std::endl;
    +
    368 std::cin.get();
    +
    369
    +
    370 test2(eta);
    +
    371
    +
    372 std::cout << "Press ENTER to continue..." << std::endl;
    +
    373 std::cin.get();
    +
    374
    +
    375 test3(eta);
    +
    376
    +
    377 return 0;
    +
    378}
    +
    + + +
    adaline(int num_features, const double eta=0.01f, const double accuracy=1e-5)
    +
    const double eta
    learning rate of the algorithm
    +
    std::vector< double > weights
    weights of the neural network
    +
    double fit(const std::vector< double > &x, const int &y)
    +
    void fit(std::array< std::vector< double >, N > const &X, std::array< int, N > const &Y)
    +
    const double accuracy
    model fit convergence accuracy
    +
    int predict(const std::vector< double > &x, double *out=nullptr)
    +
    bool check_size_match(const std::vector< double > &x)
    +
    friend std::ostream & operator<<(std::ostream &out, const adaline &ada)
    +
    static void test2()
    Self-implementations, 2nd test.
    +
    static void test1()
    Self-test implementations, 1st test.
    +
    int main()
    Main function.
    +
    constexpr int MAX_ITER
    +
    static void test3()
    +
    A* search algorithm
    +
    +
    + + + + diff --git a/d5/db5/classoperations__on__datastructures_1_1inorder__traversal__of__bst_1_1_node.html b/d5/db5/classoperations__on__datastructures_1_1inorder__traversal__of__bst_1_1_node.html index eb907676b..0b5a44312 100644 --- a/d5/db5/classoperations__on__datastructures_1_1inorder__traversal__of__bst_1_1_node.html +++ b/d5/db5/classoperations__on__datastructures_1_1inorder__traversal__of__bst_1_1_node.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: operations_on_datastructures::inorder_traversal_of_bst::Node Class Reference +TheAlgorithms/C++: operations_on_datastructures::inorder_traversal_of_bst::Node Class Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -121,23 +138,77 @@ Collaboration diagram for operations_on_datastructures::inorder_traversal_of_bst
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    - - + + - - + + - - + +

    Public Attributes

    -int64_t data
     The key/value of the node.
    int64_t data
     The key/value of the node.
     
    -Nodeleft
     Pointer to Left child.
    Nodeleft
     Pointer to Left child.
     
    -Noderight
     Pointer to right child.
    Noderight
     Pointer to right child.
     

    Detailed Description

    A Node structure representing a single node in BST.

    -

    The documentation for this class was generated from the following file:

    Member Data Documentation

    + +

    ◆ data

    + +
    +
    + + + + +
    int64_t operations_on_datastructures::inorder_traversal_of_bst::Node::data
    +
    + +

    The key/value of the node.

    + +

    Definition at line 58 of file inorder_successor_of_bst.cpp.

    + +
    +
    + +

    ◆ left

    + +
    +
    + + + + +
    Node* operations_on_datastructures::inorder_traversal_of_bst::Node::left
    +
    + +

    Pointer to Left child.

    + +

    Definition at line 59 of file inorder_successor_of_bst.cpp.

    + +
    +
    + +

    ◆ right

    + +
    +
    + + + + +
    Node* operations_on_datastructures::inorder_traversal_of_bst::Node::right
    +
    + +

    Pointer to right child.

    + +

    Definition at line 60 of file inorder_successor_of_bst.cpp.

    + +
    +
    +
    The documentation for this class was generated from the following file: diff --git a/d5/db5/set__kth__bit_8cpp.html b/d5/db5/set__kth__bit_8cpp.html index 444ac2a89..022e2448c 100644 --- a/d5/db5/set__kth__bit_8cpp.html +++ b/d5/db5/set__kth__bit_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: bit_manipulation/set_kth_bit.cpp File Reference +TheAlgorithms/C++: bit_manipulation/set_kth_bit.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -121,7 +138,9 @@ Include dependency graph for set_kth_bit.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -133,7 +152,7 @@ Namespaces

    Namespaces

    namespace  bit_manipulation
    - + @@ -148,6 +167,8 @@ Functions

    Given a number N and a value K. From the right, set the Kth bit in the binary representation of N. The position of Least Significant Bit(or last bit) is 0, the second last bit is 1 and so on. in it.

    A binary number consists of two digits. They are 0 & 1. Digit 1 is known as set bit in computer terms. Worst Case Time Complexity: O(1) Space complexity: O(1)

    Author
    Aman Raj
    + +

    Definition in file set_kth_bit.cpp.

    Function Documentation

    ◆ main()

    @@ -166,17 +187,14 @@ Functions

    Main function.

    Returns
    0 on exit
    + +

    Definition at line 77 of file set_kth_bit.cpp.

    77 {
    78 test(); // run self-test implementations
    79 return 0;
    80}
    -
    static void test()
    Self-test implementations.
    Definition set_kth_bit.cpp:61
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static void test()
    Self-test implementations.
    + @@ -186,7 +204,7 @@ Here is the call graph for this function:

    Functions

    std::uint64_t bit_manipulation::set_kth_bit::setKthBit (std ::int64_t N, std ::int64_t k)
    std::uint64_t bit_manipulation::set_kth_bit::setKthBit (std ::int64_t N, std ::int64_t k)
     The main function implements set kth bit.
     
    static void test ()
    - + @@ -206,6 +224,8 @@ Here is the call graph for this function:
    Returns
    returns an integer after setting the K'th bit in N
    + +

    Definition at line 43 of file set_kth_bit.cpp.

    44 { // int64_t is preferred over int so
    45 // that no Overflow can be there.
    46
    @@ -216,8 +236,8 @@ Here is the call graph for this function:
    51 return N | pos; // by taking or with the pos and the N we set the bit of N
    52 // at kth position.
    53}
    -
    double k(double x)
    Another test function.
    Definition composite_simpson_rule.cpp:117
    -
    constexpr uint32_t N
    A struct to represent sparse table for min() as their invariant function, for the given array A....
    Definition sparse_table.cpp:48
    +
    double k(double x)
    Another test function.
    +
    constexpr uint32_t N
    A struct to represent sparse table for min() as their invariant function, for the given array A....
    @@ -246,6 +266,8 @@ Here is the call graph for this function:

    Self-test implementations.

    Returns
    void
    + +

    Definition at line 61 of file set_kth_bit.cpp.

    61 {
    62 // n = 10,2 return 14
    63 assert(bit_manipulation::set_kth_bit::setKthBit(10, 2) == 14);
    @@ -256,16 +278,9 @@ Here is the call graph for this function:
    68 // n = 123 return 123
    69 assert(bit_manipulation::set_kth_bit::setKthBit(123, 3) == 123);
    70
    -
    71 std::cout << "All test cases successfully passed!" << std::endl;
    +
    71 std::cout << "All test cases successfully passed!" << std::endl;
    72}
    - -
    T endl(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + diff --git a/d5/db5/set__kth__bit_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map b/d5/db5/set__kth__bit_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map deleted file mode 100644 index e85e01374..000000000 --- a/d5/db5/set__kth__bit_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d5/db5/set__kth__bit_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 b/d5/db5/set__kth__bit_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 deleted file mode 100644 index 5901bc148..000000000 --- a/d5/db5/set__kth__bit_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -729fb887ee50b6291b0542ba0592a5c7 \ No newline at end of file diff --git a/d5/db5/set__kth__bit_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg b/d5/db5/set__kth__bit_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg deleted file mode 100644 index 2e04695b9..000000000 --- a/d5/db5/set__kth__bit_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d5/db5/set__kth__bit_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg b/d5/db5/set__kth__bit_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg deleted file mode 100644 index 1813bd719..000000000 --- a/d5/db5/set__kth__bit_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - diff --git a/d5/db5/set__kth__bit_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d5/db5/set__kth__bit_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index d52d529cf..000000000 --- a/d5/db5/set__kth__bit_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/d5/db5/set__kth__bit_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d5/db5/set__kth__bit_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index bf7698871..000000000 --- a/d5/db5/set__kth__bit_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -87002529987fcecc37678ed1d22b7eed \ No newline at end of file diff --git a/d5/db5/set__kth__bit_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d5/db5/set__kth__bit_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index e37116d26..000000000 --- a/d5/db5/set__kth__bit_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node2->Node3 - - - - - - - - - - - - - diff --git a/d5/db5/set__kth__bit_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d5/db5/set__kth__bit_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 4d60ead47..000000000 --- a/d5/db5/set__kth__bit_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node2->Node3 - - - - - - - - diff --git a/d5/db5/set__kth__bit_8cpp_source.html b/d5/db5/set__kth__bit_8cpp_source.html new file mode 100644 index 000000000..c6f40add5 --- /dev/null +++ b/d5/db5/set__kth__bit_8cpp_source.html @@ -0,0 +1,184 @@ + + + + + + + + +TheAlgorithms/C++: bit_manipulation/set_kth_bit.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    std::uint64_t bit_manipulation::set_kth_bit::setKthBit std::uint64_t bit_manipulation::set_kth_bit::setKthBit ( std ::int64_t N,
    + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + + +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    set_kth_bit.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    21#include <cassert>
    +
    22#include <cstdint>
    +
    23#include <iostream>
    +
    24
    +
    29namespace bit_manipulation {
    +
    37namespace set_kth_bit {
    +
    +
    43std::uint64_t setKthBit(std ::int64_t N,
    +
    44 std ::int64_t k) { // int64_t is preferred over int so
    +
    45 // that no Overflow can be there.
    +
    46
    +
    47 int pos =
    +
    48 1 << k; // "pos" variable is used to store 1 at kth postion and
    +
    49 // rest bits are 0. in binary representation of number 'n'
    +
    50
    +
    51 return N | pos; // by taking or with the pos and the N we set the bit of N
    +
    52 // at kth position.
    +
    53}
    +
    +
    54} // namespace set_kth_bit
    +
    55} // namespace bit_manipulation
    +
    56
    +
    +
    61static void test() {
    +
    62 // n = 10,2 return 14
    +
    63 assert(bit_manipulation::set_kth_bit::setKthBit(10, 2) == 14);
    +
    64 // n = 25,1 return 27
    +
    65 assert(bit_manipulation::set_kth_bit::setKthBit(25, 1) == 27);
    +
    66 // n = 400001,5 return 400033
    +
    67 assert(bit_manipulation::set_kth_bit::setKthBit(400001, 5) == 400033);
    +
    68 // n = 123 return 123
    +
    69 assert(bit_manipulation::set_kth_bit::setKthBit(123, 3) == 123);
    +
    70
    +
    71 std::cout << "All test cases successfully passed!" << std::endl;
    +
    72}
    +
    +
    +
    77int main() {
    +
    78 test(); // run self-test implementations
    +
    79 return 0;
    +
    80}
    +
    + +
    Functions for the [From the right, set the Kth bit in the binary representation of N] (https://practi...
    +
    static void test()
    Self-test implementations.
    +
    int main()
    Main function.
    +
    +
    + + + + diff --git a/d5/db8/namespacemincoins__topdown.html b/d5/db8/namespacemincoins__topdown.html index 5f2f18745..0cc5758fb 100644 --- a/d5/db8/namespacemincoins__topdown.html +++ b/d5/db8/namespacemincoins__topdown.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: mincoins_topdown Namespace Reference +TheAlgorithms/C++: mincoins_topdown Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/d5/dc3/structdata__structures_1_1_node__coll__graph.map b/d5/dc3/structdata__structures_1_1_node__coll__graph.map index 5e50391d3..c26648662 100644 --- a/d5/dc3/structdata__structures_1_1_node__coll__graph.map +++ b/d5/dc3/structdata__structures_1_1_node__coll__graph.map @@ -1,8 +1,8 @@ - + - + diff --git a/d5/dc3/structdata__structures_1_1_node__coll__graph.md5 b/d5/dc3/structdata__structures_1_1_node__coll__graph.md5 index 31f708eec..465c6f618 100644 --- a/d5/dc3/structdata__structures_1_1_node__coll__graph.md5 +++ b/d5/dc3/structdata__structures_1_1_node__coll__graph.md5 @@ -1 +1 @@ -a0d0e34c0298ccbb58e6470d3f095a29 \ No newline at end of file +0be2da0b9820cc925e324f5b711e445a \ No newline at end of file diff --git a/d5/dc3/structdata__structures_1_1_node__coll__graph.svg b/d5/dc3/structdata__structures_1_1_node__coll__graph.svg index b5dae6829..f601a30a4 100644 --- a/d5/dc3/structdata__structures_1_1_node__coll__graph.svg +++ b/d5/dc3/structdata__structures_1_1_node__coll__graph.svg @@ -31,7 +31,7 @@ Node3 - + std::shared_ptr< data _structures::Node > @@ -51,7 +51,7 @@ Node2 - + std::vector< std::shared _ptr< data_structures:: diff --git a/d5/dc3/structdata__structures_1_1_node__coll__graph_org.svg b/d5/dc3/structdata__structures_1_1_node__coll__graph_org.svg index 105df7f96..f0de980ce 100644 --- a/d5/dc3/structdata__structures_1_1_node__coll__graph_org.svg +++ b/d5/dc3/structdata__structures_1_1_node__coll__graph_org.svg @@ -20,7 +20,7 @@ Node3 - + std::shared_ptr< data _structures::Node > @@ -40,7 +40,7 @@ Node2 - + std::vector< std::shared _ptr< data_structures:: diff --git a/d5/dc5/morrisinorder_8cpp_source.html b/d5/dc5/morrisinorder_8cpp_source.html new file mode 100644 index 000000000..5c45b253c --- /dev/null +++ b/d5/dc5/morrisinorder_8cpp_source.html @@ -0,0 +1,244 @@ + + + + + + + + +TheAlgorithms/C++: data_structures/morrisinorder.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + + +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    morrisinorder.cpp
    +
    +
    +
    1#include <iostream>
    +
    2#include <queue>
    +
    3
    +
    4/**************************
    +
    5 @author shrutisheoran
    +
    6**************************/
    +
    7
    +
    8using namespace std;
    +
    9
    +
    +
    10struct Btree {
    +
    11 int data;
    +
    12 struct Btree *left; // Pointer to left subtree
    +
    13 struct Btree *right; // Pointer to right subtree
    +
    14};
    +
    +
    15
    +
    16void insert(Btree **root, int d) {
    +
    17 Btree *nn = new Btree(); // Creating new node
    +
    18 nn->data = d;
    +
    19 nn->left = NULL;
    +
    20 nn->right = NULL;
    +
    21 if (*root == NULL) {
    +
    22 *root = nn;
    +
    23 return;
    +
    24 } else {
    +
    25 queue<Btree *> q;
    +
    26 // Adding root node to queue
    +
    27 q.push(*root);
    +
    28 while (!q.empty()) {
    +
    29 Btree *node = q.front();
    +
    30 // Removing parent node from queue
    +
    31 q.pop();
    +
    32 if (node->left)
    +
    33 // Adding left child of removed node to queue
    +
    34 q.push(node->left);
    +
    35 else {
    +
    36 // Adding new node if no left child is present
    +
    37 node->left = nn;
    +
    38 return;
    +
    39 }
    +
    40 if (node->right)
    +
    41 // Adding right child of removed node to queue
    +
    42 q.push(node->right);
    +
    43 else {
    +
    44 // Adding new node if no right child is present
    +
    45 node->right = nn;
    +
    46 return;
    +
    47 }
    +
    48 }
    +
    49 }
    +
    50}
    +
    51
    +
    52void morrisInorder(Btree *root) {
    +
    53 Btree *curr = root;
    +
    54 Btree *temp;
    +
    55 while (curr) {
    +
    56 if (curr->left == NULL) {
    +
    57 cout << curr->data << " ";
    +
    58 // If left of current node is NULL then curr is shifted to right
    +
    59 curr = curr->right;
    +
    60 } else {
    +
    61 // Left of current node is stored in temp
    +
    62 temp = curr->left;
    +
    63 // Moving to extreme right of temp
    +
    64 while (temp->right && temp->right != curr) temp = temp->right;
    +
    65 // If extreme right is null it is made to point to currrent node
    +
    66 // (will be used for backtracking)
    +
    67 if (temp->right == NULL) {
    +
    68 temp->right = curr;
    +
    69 // current node is made to point its left subtree
    +
    70 curr = curr->left;
    +
    71 }
    +
    72 // If extreme right already points to currrent node it it set to
    +
    73 // null
    +
    74 else if (temp->right == curr) {
    +
    75 cout << curr->data << " ";
    +
    76 temp->right = NULL;
    +
    77 // current node is made to point its right subtree
    +
    78 curr = curr->right;
    +
    79 }
    +
    80 }
    +
    81 }
    +
    82}
    +
    83
    +
    84void deleteAll(const Btree *const root) {
    +
    85 if (root) {
    +
    86 deleteAll(root->left);
    +
    87 deleteAll(root->right);
    +
    88 delete root;
    +
    89 }
    +
    90}
    +
    91
    +
    92int main() {
    +
    93 // Testing morrisInorder funtion
    +
    94 Btree *root = NULL;
    +
    95 int i;
    +
    96 for (i = 1; i <= 7; i++) insert(&root, i);
    +
    97 cout << "Morris Inorder: ";
    +
    98 morrisInorder(root);
    +
    99 deleteAll(root);
    +
    100 return 0;
    +
    101}
    +
    node * insert(node *root, int item)
    inserts a new element into AVL tree
    Definition avltree.cpp:92
    +
    int main()
    Main function.
    + + +
    +
    + + + + diff --git a/d5/dca/classrange__queries_1_1per_seg_tree_1_1_node-members.html b/d5/dca/classrange__queries_1_1per_seg_tree_1_1_node-members.html index 59c3b3223..cd84cb877 100644 --- a/d5/dca/classrange__queries_1_1per_seg_tree_1_1_node-members.html +++ b/d5/dca/classrange__queries_1_1per_seg_tree_1_1_node-members.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Member List +TheAlgorithms/C++: Member List + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/d5/dd0/namespacephysics.html b/d5/dd0/namespacephysics.html index 03a98bd53..65e43fa6a 100644 --- a/d5/dd0/namespacephysics.html +++ b/d5/dd0/namespacephysics.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: physics Namespace Reference +TheAlgorithms/C++: physics Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + @@ -112,7 +129,7 @@ $(function(){initNavTree('d5/dd0/namespacephysics.html','../../'); initResizable More...

    Detailed Description

    for IO operations

    -

    for std::pow(), std::sin(), and std::cos()

    +

    for std::pow(), std::sin(), and std::cos()

    Physics algorithms

    diff --git a/d5/ddb/bogo__sort_8cpp.html b/d5/ddb/bogo__sort_8cpp.html index 499d6960c..113549ad5 100644 --- a/d5/ddb/bogo__sort_8cpp.html +++ b/d5/ddb/bogo__sort_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: sorting/bogo_sort.cpp File Reference +TheAlgorithms/C++: sorting/bogo_sort.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + @@ -123,7 +140,9 @@ Include dependency graph for bogo_sort.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -133,13 +152,13 @@ Namespaces - + - + - + @@ -153,6 +172,8 @@ Functions Algorithm

    Shuffle the array untill array is sorted.

    Author
    Deep Raval
    + +

    Definition in file bogo_sort.cpp.

    Function Documentation

    ◆ main()

    @@ -169,28 +190,24 @@ Algorithm

    Namespaces

    namespace  sorting

    Functions

    template<typename T , size_t N>
    std::array< T, N > sorting::shuffle (std::array< T, N > arr)
    std::array< T, N > sorting::shuffle (std::array< T, N > arr)
     
    template<typename T , size_t N>
    std::array< T, N > sorting::randomized_bogosort (std::array< T, N > arr)
    std::array< T, N > sorting::randomized_bogosort (std::array< T, N > arr)
     
    template<typename T , size_t N>
    void show_array (const std::array< T, N > &arr)
    void show_array (const std::array< T, N > &arr)
     
    void test ()
     

    Driver Code

    + +

    Definition at line 107 of file bogo_sort.cpp.

    107 {
    108 // Testing
    109 test();
    110 // Example Usage
    111 std::array <int, 5> arr = {3, 7, 10, 4, 1}; // Defining array which we want to sort
    -
    112 std::cout << "Original Array : ";
    +
    112 std::cout << "Original Array : ";
    113 show_array(arr);
    114 arr = sorting::randomized_bogosort(arr); // Callling bogo sort on it
    -
    115 std::cout << "Sorted Array : ";
    +
    115 std::cout << "Sorted Array : ";
    116 show_array(arr); // Printing sorted array
    117 return 0;
    118}
    - -
    void test()
    Definition bogo_sort.cpp:81
    -
    void show_array(const std::array< T, N > &arr)
    Definition bogo_sort.cpp:71
    -
    std::array< T, N > randomized_bogosort(std::array< T, N > arr)
    Definition bogo_sort.cpp:52
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    void test()
    Definition bogo_sort.cpp:81
    +
    void show_array(const std::array< T, N > &arr)
    Definition bogo_sort.cpp:71
    +
    std::array< T, N > randomized_bogosort(std::array< T, N > arr)
    Definition bogo_sort.cpp:52
    +
    @@ -204,7 +221,7 @@ template<typename T , size_t N> void show_array ( - const std::array< T, N > & arr) + const std::array< T, N > & arr) @@ -222,11 +239,13 @@ template<typename T , size_t N> + +

    Definition at line 71 of file bogo_sort.cpp.

    71 {
    72 for (int x : arr) {
    -
    73 std::cout << x << ' ';
    +
    73 std::cout << x << ' ';
    74 }
    -
    75 std::cout << '\n';
    +
    75 std::cout << '\n';
    76}
    @@ -246,38 +265,33 @@ template<typename T , size_t N>

    Function to test above algorithm

    + +

    Definition at line 81 of file bogo_sort.cpp.

    81 {
    82 // Test 1
    83 std::array <int, 5> arr1;
    84 for (int &x : arr1) {
    -
    85 x = std::rand() % 100;
    +
    85 x = std::rand() % 100;
    86 }
    -
    87 std::cout << "Original Array : ";
    +
    87 std::cout << "Original Array : ";
    88 show_array(arr1);
    -
    90 std::cout << "Sorted Array : ";
    +
    90 std::cout << "Sorted Array : ";
    91 show_array(arr1);
    -
    92 assert(std::is_sorted(arr1.begin(), arr1.end()));
    +
    92 assert(std::is_sorted(arr1.begin(), arr1.end()));
    93 // Test 2
    94 std::array <int, 5> arr2;
    95 for (int &x : arr2) {
    -
    96 x = std::rand() % 100;
    +
    96 x = std::rand() % 100;
    97 }
    -
    98 std::cout << "Original Array : ";
    +
    98 std::cout << "Original Array : ";
    99 show_array(arr2);
    100 arr2 = sorting::randomized_bogosort(arr2);
    -
    101 std::cout << "Sorted Array : ";
    +
    101 std::cout << "Sorted Array : ";
    102 show_array(arr2);
    -
    103 assert(std::is_sorted(arr2.begin(), arr2.end()));
    +
    103 assert(std::is_sorted(arr2.begin(), arr2.end()));
    104}
    -
    T is_sorted(T... args)
    -
    T rand(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    diff --git a/d5/ddb/bogo__sort_8cpp_ae1a3968e7947464bee7714f6d43b7002_cgraph.map b/d5/ddb/bogo__sort_8cpp_ae1a3968e7947464bee7714f6d43b7002_cgraph.map deleted file mode 100644 index e16536cb1..000000000 --- a/d5/ddb/bogo__sort_8cpp_ae1a3968e7947464bee7714f6d43b7002_cgraph.map +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - - - - - - - - - - - - - - - diff --git a/d5/ddb/bogo__sort_8cpp_ae1a3968e7947464bee7714f6d43b7002_cgraph.md5 b/d5/ddb/bogo__sort_8cpp_ae1a3968e7947464bee7714f6d43b7002_cgraph.md5 deleted file mode 100644 index 02e5c4b6f..000000000 --- a/d5/ddb/bogo__sort_8cpp_ae1a3968e7947464bee7714f6d43b7002_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -21c8ef6f1e1ea84dd135836927655b56 \ No newline at end of file diff --git a/d5/ddb/bogo__sort_8cpp_ae1a3968e7947464bee7714f6d43b7002_cgraph.svg b/d5/ddb/bogo__sort_8cpp_ae1a3968e7947464bee7714f6d43b7002_cgraph.svg deleted file mode 100644 index 0d7f976cf..000000000 --- a/d5/ddb/bogo__sort_8cpp_ae1a3968e7947464bee7714f6d43b7002_cgraph.svg +++ /dev/null @@ -1,201 +0,0 @@ - - - - - - - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -std::array::begin - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::array::end - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::is_sorted - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::rand - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -sorting::randomized -_bogosort - - - - - -Node1->Node6 - - - - - - - - -Node8 - - -show_array - - - - - -Node1->Node8 - - - - - - - - -Node6->Node2 - - - - - - - - -Node6->Node3 - - - - - - - - -Node6->Node4 - - - - - - - - -Node7 - - -std::shuffle - - - - - -Node6->Node7 - - - - - - - - - - - - - diff --git a/d5/ddb/bogo__sort_8cpp_ae1a3968e7947464bee7714f6d43b7002_cgraph_org.svg b/d5/ddb/bogo__sort_8cpp_ae1a3968e7947464bee7714f6d43b7002_cgraph_org.svg deleted file mode 100644 index 8399a13d9..000000000 --- a/d5/ddb/bogo__sort_8cpp_ae1a3968e7947464bee7714f6d43b7002_cgraph_org.svg +++ /dev/null @@ -1,175 +0,0 @@ - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -std::array::begin - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::array::end - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::is_sorted - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::rand - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -sorting::randomized -_bogosort - - - - - -Node1->Node6 - - - - - - - - -Node8 - - -show_array - - - - - -Node1->Node8 - - - - - - - - -Node6->Node2 - - - - - - - - -Node6->Node3 - - - - - - - - -Node6->Node4 - - - - - - - - -Node7 - - -std::shuffle - - - - - -Node6->Node7 - - - - - - - - diff --git a/d5/ddb/bogo__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d5/ddb/bogo__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 8cb1ca3d9..000000000 --- a/d5/ddb/bogo__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d5/ddb/bogo__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d5/ddb/bogo__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index 9e9c6ca38..000000000 --- a/d5/ddb/bogo__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -4ee35df350acc050b7d1adcc496f2419 \ No newline at end of file diff --git a/d5/ddb/bogo__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d5/ddb/bogo__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index e7a657641..000000000 --- a/d5/ddb/bogo__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,237 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -sorting::randomized -_bogosort - - - - - -Node1->Node2 - - - - - - - - -Node7 - - -show_array - - - - - -Node1->Node7 - - - - - - - - -Node8 - - -test - - - - - -Node1->Node8 - - - - - - - - -Node3 - - -std::array::begin - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::array::end - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -std::is_sorted - - - - - -Node2->Node5 - - - - - - - - -Node6 - - -std::shuffle - - - - - -Node2->Node6 - - - - - - - - -Node8->Node2 - - - - - - - - -Node8->Node3 - - - - - - - - -Node8->Node4 - - - - - - - - -Node8->Node5 - - - - - - - - -Node8->Node7 - - - - - - - - -Node9 - - -std::rand - - - - - -Node8->Node9 - - - - - - - - - - - - - diff --git a/d5/ddb/bogo__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d5/ddb/bogo__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index a7e187b73..000000000 --- a/d5/ddb/bogo__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,211 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -sorting::randomized -_bogosort - - - - - -Node1->Node2 - - - - - - - - -Node7 - - -show_array - - - - - -Node1->Node7 - - - - - - - - -Node8 - - -test - - - - - -Node1->Node8 - - - - - - - - -Node3 - - -std::array::begin - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::array::end - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -std::is_sorted - - - - - -Node2->Node5 - - - - - - - - -Node6 - - -std::shuffle - - - - - -Node2->Node6 - - - - - - - - -Node8->Node2 - - - - - - - - -Node8->Node3 - - - - - - - - -Node8->Node4 - - - - - - - - -Node8->Node5 - - - - - - - - -Node8->Node7 - - - - - - - - -Node9 - - -std::rand - - - - - -Node8->Node9 - - - - - - - - diff --git a/d5/ddb/bogo__sort_8cpp_source.html b/d5/ddb/bogo__sort_8cpp_source.html new file mode 100644 index 000000000..1f292807e --- /dev/null +++ b/d5/ddb/bogo__sort_8cpp_source.html @@ -0,0 +1,228 @@ + + + + + + + + +TheAlgorithms/C++: sorting/bogo_sort.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    bogo_sort.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    17#include <iostream>
    +
    18#include <algorithm>
    +
    19#include <array>
    +
    20#include <cassert>
    +
    21#include <random>
    +
    22
    +
    23
    +
    28namespace sorting {
    +
    36template <typename T, size_t N>
    +
    +
    37std::array <T, N> shuffle (std::array <T, N> arr) {
    +
    38 for (int i = 0; i < N; i++) {
    +
    39 // Swaps i'th index with random index (less than array size)
    +
    40 std::swap(arr[i], arr[std::rand() % N]);
    +
    41 }
    +
    42 return arr;
    +
    43}
    +
    +
    51template <typename T, size_t N>
    +
    +
    52std::array <T, N> randomized_bogosort (std::array <T, N> arr) {
    +
    53 // Untill array is not sorted
    +
    54 std::random_device random_device;
    +
    55 std::mt19937 generator(random_device());
    +
    56 while (!std::is_sorted(arr.begin(), arr.end())) {
    +
    57 std::shuffle(arr.begin(), arr.end(), generator);// Shuffle the array
    +
    58 }
    +
    59 return arr;
    +
    60}
    +
    +
    61
    +
    62} // namespace sorting
    +
    63
    +
    70template <typename T, size_t N>
    +
    +
    71void show_array (const std::array <T, N> &arr) {
    +
    72 for (int x : arr) {
    +
    73 std::cout << x << ' ';
    +
    74 }
    +
    75 std::cout << '\n';
    +
    76}
    +
    +
    77
    +
    +
    81void test() {
    +
    82 // Test 1
    +
    83 std::array <int, 5> arr1;
    +
    84 for (int &x : arr1) {
    +
    85 x = std::rand() % 100;
    +
    86 }
    +
    87 std::cout << "Original Array : ";
    +
    88 show_array(arr1);
    + +
    90 std::cout << "Sorted Array : ";
    +
    91 show_array(arr1);
    +
    92 assert(std::is_sorted(arr1.begin(), arr1.end()));
    +
    93 // Test 2
    +
    94 std::array <int, 5> arr2;
    +
    95 for (int &x : arr2) {
    +
    96 x = std::rand() % 100;
    +
    97 }
    +
    98 std::cout << "Original Array : ";
    +
    99 show_array(arr2);
    +
    100 arr2 = sorting::randomized_bogosort(arr2);
    +
    101 std::cout << "Sorted Array : ";
    +
    102 show_array(arr2);
    +
    103 assert(std::is_sorted(arr2.begin(), arr2.end()));
    +
    104}
    +
    +
    105
    +
    +
    107int main() {
    +
    108 // Testing
    +
    109 test();
    +
    110 // Example Usage
    +
    111 std::array <int, 5> arr = {3, 7, 10, 4, 1}; // Defining array which we want to sort
    +
    112 std::cout << "Original Array : ";
    +
    113 show_array(arr);
    +
    114 arr = sorting::randomized_bogosort(arr); // Callling bogo sort on it
    +
    115 std::cout << "Sorted Array : ";
    +
    116 show_array(arr); // Printing sorted array
    +
    117 return 0;
    +
    118}
    +
    +
    void test()
    Definition bogo_sort.cpp:81
    +
    int main()
    +
    void show_array(const std::array< T, N > &arr)
    Definition bogo_sort.cpp:71
    +
    for working with vectors
    +
    std::array< T, N > shuffle(std::array< T, N > arr)
    Definition bogo_sort.cpp:37
    +
    std::array< T, N > randomized_bogosort(std::array< T, N > arr)
    Definition bogo_sort.cpp:52
    +
    +
    + + + + diff --git a/d5/ddb/classothers_1_1_cache_1_1_d___node-members.html b/d5/ddb/classothers_1_1_cache_1_1_d___node-members.html index e9be37226..2063933ab 100644 --- a/d5/ddb/classothers_1_1_cache_1_1_d___node-members.html +++ b/d5/ddb/classothers_1_1_cache_1_1_d___node-members.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Member List +TheAlgorithms/C++: Member List + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/d5/ddf/struct_btree-members.html b/d5/ddf/struct_btree-members.html index 19b86a957..32d909699 100644 --- a/d5/ddf/struct_btree-members.html +++ b/d5/ddf/struct_btree-members.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Member List +TheAlgorithms/C++: Member List + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/d5/de0/classuint128__t-members.html b/d5/de0/classuint128__t-members.html index 3b519e487..b23a713a3 100644 --- a/d5/de0/classuint128__t-members.html +++ b/d5/de0/classuint128__t-members.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Member List +TheAlgorithms/C++: Member List + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/d5/de2/structtower-members.html b/d5/de2/structtower-members.html index f7108991c..28212de77 100644 --- a/d5/de2/structtower-members.html +++ b/d5/de2/structtower-members.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Member List +TheAlgorithms/C++: Member List + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/d5/de6/classgreedy__algorithms_1_1_binary_addition-members.html b/d5/de6/classgreedy__algorithms_1_1_binary_addition-members.html index c6c4fc2b1..21061fa98 100644 --- a/d5/de6/classgreedy__algorithms_1_1_binary_addition-members.html +++ b/d5/de6/classgreedy__algorithms_1_1_binary_addition-members.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Member List +TheAlgorithms/C++: Member List + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/d5/dec/classgraph_1_1topological__sort_1_1_graph.html b/d5/dec/classgraph_1_1topological__sort_1_1_graph.html index 95f0c57c2..1bed0843e 100644 --- a/d5/dec/classgraph_1_1topological__sort_1_1_graph.html +++ b/d5/dec/classgraph_1_1topological__sort_1_1_graph.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: graph::topological_sort::Graph Class Reference +TheAlgorithms/C++: graph::topological_sort::Graph Class Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + @@ -128,7 +145,7 @@ Public Member Functions - + @@ -137,15 +154,15 @@ Public Member Functions
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    void addEdge (int u, int v)
     Function that adds an edge between two nodes or vertices of graph.
     
    const std::vector< std::vector< int > > & getAdjacencyList () const
    const std::vector< std::vector< int > > & getAdjacencyList () const
     Get the adjacency list of the graph.
     
    int getNumNodes () const
    - + - +

    Private Attributes

    -int n
    int n
     
    -std::vector< std::vector< int > > adj
    std::vector< std::vector< int > > adj
     

    Detailed Description

    Class that represents a directed graph and provides methods for manipulating the graph.

    + +

    Definition at line 38 of file topological_sort.cpp.

    Constructor & Destructor Documentation

    ◆ Graph()

    @@ -177,6 +194,8 @@ int n + +

    Definition at line 48 of file topological_sort.cpp.

    48: n(nodes), adj(nodes) {}
    @@ -217,14 +236,10 @@ int n -
    55{ adj[u].push_back(v); }
    -
    T push_back(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    +

    Definition at line 55 of file topological_sort.cpp.

    +
    55{ adj[u].push_back(v); }
    +
    @@ -237,7 +252,7 @@ Here is the call graph for this function: - + @@ -252,6 +267,8 @@ Here is the call graph for this function:

    Get the adjacency list of the graph.

    Returns
    A reference to the adjacency list
    + +

    Definition at line 61 of file topological_sort.cpp.

    61 {
    62 return adj;
    63 }
    @@ -283,12 +300,63 @@ Here is the call graph for this function:

    Get the number of nodes in the graph.

    Returns
    The number of nodes
    + +

    Definition at line 69 of file topological_sort.cpp.

    69{ return n; }
    + + +

    Member Data Documentation

    + +

    ◆ adj

    + +
    +
    +
    const std::vector< std::vector< int > > & graph::topological_sort::Graph::getAdjacencyList const std::vector< std::vector< int > > & graph::topological_sort::Graph::getAdjacencyList ( ) const
    + + + + +
    + + + + +
    std::vector<std::vector<int> > graph::topological_sort::Graph::adj
    +
    +private
    +
    + +

    Definition at line 41 of file topological_sort.cpp.

    + +
    + + +

    ◆ n

    + +
    +
    + + + + + +
    + + + + +
    int graph::topological_sort::Graph::n
    +
    +private
    +
    + +

    Definition at line 40 of file topological_sort.cpp.

    +

    The documentation for this class was generated from the following file: diff --git a/d5/dec/classgraph_1_1topological__sort_1_1_graph_a57036210706a45b9363563252393a345_cgraph.map b/d5/dec/classgraph_1_1topological__sort_1_1_graph_a57036210706a45b9363563252393a345_cgraph.map deleted file mode 100644 index 95ad6e2b1..000000000 --- a/d5/dec/classgraph_1_1topological__sort_1_1_graph_a57036210706a45b9363563252393a345_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d5/dec/classgraph_1_1topological__sort_1_1_graph_a57036210706a45b9363563252393a345_cgraph.md5 b/d5/dec/classgraph_1_1topological__sort_1_1_graph_a57036210706a45b9363563252393a345_cgraph.md5 deleted file mode 100644 index 24e04d4e0..000000000 --- a/d5/dec/classgraph_1_1topological__sort_1_1_graph_a57036210706a45b9363563252393a345_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -1b7f4d729ecbe66b97fdd869ae62df4d \ No newline at end of file diff --git a/d5/dec/classgraph_1_1topological__sort_1_1_graph_a57036210706a45b9363563252393a345_cgraph.svg b/d5/dec/classgraph_1_1topological__sort_1_1_graph_a57036210706a45b9363563252393a345_cgraph.svg deleted file mode 100644 index 7b98bf8e0..000000000 --- a/d5/dec/classgraph_1_1topological__sort_1_1_graph_a57036210706a45b9363563252393a345_cgraph.svg +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - - - - - - - -graph::topological_sort::Graph::addEdge - - -Node1 - - -graph::topological -_sort::Graph::addEdge - - - - - -Node2 - - -std::vector::push_back - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d5/dec/classgraph_1_1topological__sort_1_1_graph_a57036210706a45b9363563252393a345_cgraph_org.svg b/d5/dec/classgraph_1_1topological__sort_1_1_graph_a57036210706a45b9363563252393a345_cgraph_org.svg deleted file mode 100644 index 6f9b78ead..000000000 --- a/d5/dec/classgraph_1_1topological__sort_1_1_graph_a57036210706a45b9363563252393a345_cgraph_org.svg +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - -graph::topological_sort::Graph::addEdge - - -Node1 - - -graph::topological -_sort::Graph::addEdge - - - - - -Node2 - - -std::vector::push_back - - - - - -Node1->Node2 - - - - - - - - diff --git a/d5/def/stairs__pattern_8cpp.html b/d5/def/stairs__pattern_8cpp.html index 9ea645c7f..196484df6 100644 --- a/d5/def/stairs__pattern_8cpp.html +++ b/d5/def/stairs__pattern_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: others/stairs_pattern.cpp File Reference +TheAlgorithms/C++: others/stairs_pattern.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -118,7 +135,9 @@ Include dependency graph for stairs_pattern.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -135,6 +154,8 @@ Functions \*\*\*\*\*\* \*\*\*\*\*\*\*\*

    where number of pairs line is given by user

    + +

    Definition in file stairs_pattern.cpp.

    Function Documentation

    ◆ main()

    @@ -151,35 +172,29 @@ Functions

    Functions

    int main ()

    main function

    + +

    Definition at line 17 of file stairs_pattern.cpp.

    17 {
    18 int l, st = 2, x, r, z, n, sp;
    -
    19 std::cout << "Enter number of pair - ";
    -
    20 std::cin >> x;
    +
    19 std::cout << "Enter number of pair - ";
    +
    20 std::cin >> x;
    21 z = x;
    22 for (r = 1; r <= x; r++) {
    23 z = z - 1;
    24 for (n = 1; n <= 2; n++) {
    25 for (sp = 1; sp <= z; sp++) {
    -
    26 std::cout << " ";
    +
    26 std::cout << " ";
    27 }
    28 for (l = 1; l <= st; l++) {
    -
    29 std::cout << "\\*";
    +
    29 std::cout << "\\*";
    30 }
    - +
    31 std::cout << std::endl;
    32 }
    33 st = st + 2;
    34 }
    35}
    - - -
    double l(double x)
    Another test function.
    Definition composite_simpson_rule.cpp:119
    -
    T endl(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    double l(double x)
    Another test function.
    +
    diff --git a/d5/def/stairs__pattern_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d5/def/stairs__pattern_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 490da38cb..000000000 --- a/d5/def/stairs__pattern_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d5/def/stairs__pattern_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d5/def/stairs__pattern_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index 2f2fe09b6..000000000 --- a/d5/def/stairs__pattern_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -fa87532068062fd8189cade55ca11658 \ No newline at end of file diff --git a/d5/def/stairs__pattern_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d5/def/stairs__pattern_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 5c76e5177..000000000 --- a/d5/def/stairs__pattern_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d5/def/stairs__pattern_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d5/def/stairs__pattern_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 575e4300e..000000000 --- a/d5/def/stairs__pattern_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - diff --git a/d5/def/stairs__pattern_8cpp_source.html b/d5/def/stairs__pattern_8cpp_source.html new file mode 100644 index 000000000..705e57253 --- /dev/null +++ b/d5/def/stairs__pattern_8cpp_source.html @@ -0,0 +1,162 @@ + + + + + + + + +TheAlgorithms/C++: others/stairs_pattern.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    stairs_pattern.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    14#include <iostream>
    +
    15
    +
    +
    17int main() {
    +
    18 int l, st = 2, x, r, z, n, sp;
    +
    19 std::cout << "Enter number of pair - ";
    +
    20 std::cin >> x;
    +
    21 z = x;
    +
    22 for (r = 1; r <= x; r++) {
    +
    23 z = z - 1;
    +
    24 for (n = 1; n <= 2; n++) {
    +
    25 for (sp = 1; sp <= z; sp++) {
    +
    26 std::cout << " ";
    +
    27 }
    +
    28 for (l = 1; l <= st; l++) {
    +
    29 std::cout << "\\*";
    +
    30 }
    +
    31 std::cout << std::endl;
    +
    32 }
    +
    33 st = st + 2;
    +
    34 }
    +
    35}
    +
    +
    int main()
    +
    +
    + + + + diff --git a/d5/df1/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix__coll__graph.map b/d5/df1/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix__coll__graph.map index ef415d8d6..d407d02f8 100644 --- a/d5/df1/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix__coll__graph.map +++ b/d5/df1/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix__coll__graph.map @@ -1,6 +1,6 @@ - + diff --git a/d5/df1/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix__coll__graph.md5 b/d5/df1/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix__coll__graph.md5 index 00a430e58..d6e39fd5f 100644 --- a/d5/df1/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix__coll__graph.md5 +++ b/d5/df1/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix__coll__graph.md5 @@ -1 +1 @@ -1ce33d930a5524844e630f176be3475a \ No newline at end of file +84fcf3e5e2cf4c8d25416dd59deff794 \ No newline at end of file diff --git a/d5/df1/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix__coll__graph.svg b/d5/df1/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix__coll__graph.svg index f17526a83..89e663c7e 100644 --- a/d5/df1/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix__coll__graph.svg +++ b/d5/df1/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix__coll__graph.svg @@ -33,7 +33,7 @@ Node2 - + std::vector< std::vector < T > > diff --git a/d5/df1/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix__coll__graph_org.svg b/d5/df1/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix__coll__graph_org.svg index b2208b5f1..0f50820f9 100644 --- a/d5/df1/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix__coll__graph_org.svg +++ b/d5/df1/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix__coll__graph_org.svg @@ -22,7 +22,7 @@ Node2 - + std::vector< std::vector < T > > diff --git a/d5/df4/merge__sort_8cpp.html b/d5/df4/merge__sort_8cpp.html index 800cc781b..7d80e61af 100644 --- a/d5/df4/merge__sort_8cpp.html +++ b/d5/df4/merge__sort_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: sorting/merge_sort.cpp File Reference +TheAlgorithms/C++: sorting/merge_sort.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -118,7 +135,9 @@ Include dependency graph for merge_sort.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -134,6 +153,8 @@ Functions

    Merege Sort Algorithm (MEREGE SORT) implementation

    Author
    Ayaan Khan

    Merge Sort is an efficient, general purpose, comparison based sorting algorithm. Merge Sort is a divide and conquer algorithm

    + +

    Definition in file merge_sort.cpp.

    diff --git a/d5/df4/merge__sort_8cpp_source.html b/d5/df4/merge__sort_8cpp_source.html new file mode 100644 index 000000000..40b9101cb --- /dev/null +++ b/d5/df4/merge__sort_8cpp_source.html @@ -0,0 +1,208 @@ + + + + + + + + +TheAlgorithms/C++: sorting/merge_sort.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    +

    Functions

    void merge (int *arr, int l, int m, int r)
    + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + + +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    merge_sort.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    16#include <iostream>
    +
    17
    +
    +
    33void merge(int *arr, int l, int m, int r) {
    +
    34 int i, j, k;
    +
    35 int n1 = m - l + 1;
    +
    36 int n2 = r - m;
    +
    37
    +
    38 int *L = new int[n1], *R = new int[n2];
    +
    39
    +
    40 for (i = 0; i < n1; i++) L[i] = arr[l + i];
    +
    41 for (j = 0; j < n2; j++) R[j] = arr[m + 1 + j];
    +
    42
    +
    43 i = 0;
    +
    44 j = 0;
    +
    45 k = l;
    +
    46 while (i < n1 || j < n2) {
    +
    47 if (j >= n2 || (i < n1 && L[i] <= R[j])) {
    +
    48 arr[k] = L[i];
    +
    49 i++;
    +
    50 } else {
    +
    51 arr[k] = R[j];
    +
    52 j++;
    +
    53 }
    +
    54 k++;
    +
    55 }
    +
    56
    +
    57 delete[] L;
    +
    58 delete[] R;
    +
    59}
    +
    +
    60
    +
    +
    71void mergeSort(int *arr, int l, int r) {
    +
    72 if (l < r) {
    +
    73 int m = l + (r - l) / 2;
    +
    74 mergeSort(arr, l, m);
    +
    75 mergeSort(arr, m + 1, r);
    +
    76 merge(arr, l, m, r);
    +
    77 }
    +
    78}
    +
    +
    79
    +
    +
    84void show(int *arr, int size) {
    +
    85 for (int i = 0; i < size; i++) std::cout << arr[i] << " ";
    +
    86 std::cout << "\n";
    +
    87}
    +
    +
    88
    +
    +
    90int main() {
    +
    91 int size;
    +
    92 std::cout << "Enter the number of elements : ";
    +
    93 std::cin >> size;
    +
    94 int *arr = new int[size];
    +
    95 std::cout << "Enter the unsorted elements : ";
    +
    96 for (int i = 0; i < size; ++i) {
    +
    97 std::cin >> arr[i];
    +
    98 }
    +
    99 mergeSort(arr, 0, size - 1);
    +
    100 std::cout << "Sorted array : ";
    +
    101 show(arr, size);
    +
    102 delete[] arr;
    +
    103 return 0;
    +
    104}
    +
    +
    void merge(int *arr, int l, int m, int r)
    +
    void mergeSort(int *arr, int l, int r)
    +
    int main()
    +
    +
    + + + + diff --git a/d5/df6/check__amicable__pair_8cpp.html b/d5/df6/check__amicable__pair_8cpp.html index 0e007c170..a4dd95935 100644 --- a/d5/df6/check__amicable__pair_8cpp.html +++ b/d5/df6/check__amicable__pair_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: math/check_amicable_pair.cpp File Reference +TheAlgorithms/C++: math/check_amicable_pair.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -120,7 +137,9 @@ Include dependency graph for check_amicable_pair.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -147,6 +166,8 @@ Functions

    An Amicable Pair is two positive integers such that the sum of the proper divisor for each number is equal to the other number.

    Note
    Remember that a proper divisor is any positive whole number that divides into a selected number, apart from the selected number itself, and returns a positive integer. for example 1, 2 and 5 are all proper divisors of 10.
    Author
    iamnambiar
    + +

    Definition in file check_amicable_pair.cpp.

    Function Documentation

    ◆ main()

    @@ -165,17 +186,14 @@ Functions

    Main function.

    Returns
    0 on exit
    + +

    Definition at line 81 of file check_amicable_pair.cpp.

    81 {
    82 tests(); // perform self-tests implementations
    83 return 0;
    84}
    -
    static void tests()
    Self-test implementations.
    Definition check_amicable_pair.cpp:67
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static void tests()
    Self-test implementations.
    + @@ -203,6 +221,8 @@ Here is the call graph for this function:

    Self-test implementations.

    Returns
    void
    + +

    Definition at line 67 of file check_amicable_pair.cpp.

    67 {
    68 assert(math::are_amicable(220, 284) == true);
    69 assert(math::are_amicable(6368, 6232) == true);
    @@ -210,17 +230,10 @@ Here is the call graph for this function:
    71 assert(math::are_amicable(17296, 18416) == true);
    72 assert(math::are_amicable(18416, 17296) == true);
    73
    -
    74 std::cout << "All tests have successfully passed!" << std::endl;
    +
    74 std::cout << "All tests have successfully passed!" << std::endl;
    75}
    - -
    T endl(T... args)
    -
    bool are_amicable(int x, int y)
    Function to check whether the pair is amicable or not.
    Definition check_amicable_pair.cpp:58
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    bool are_amicable(int x, int y)
    Function to check whether the pair is amicable or not.
    + diff --git a/d5/df6/check__amicable__pair_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.map b/d5/df6/check__amicable__pair_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.map deleted file mode 100644 index 2d46347d5..000000000 --- a/d5/df6/check__amicable__pair_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.map +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/d5/df6/check__amicable__pair_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 b/d5/df6/check__amicable__pair_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 deleted file mode 100644 index 238f4e4b3..000000000 --- a/d5/df6/check__amicable__pair_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -91b553d09597618c6169583635e22eff \ No newline at end of file diff --git a/d5/df6/check__amicable__pair_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.svg b/d5/df6/check__amicable__pair_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.svg deleted file mode 100644 index bcdb2c7af..000000000 --- a/d5/df6/check__amicable__pair_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.svg +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - - - - - - - -tests - - -Node1 - - -tests - - - - - -Node2 - - -math::are_amicable - - - - - -Node1->Node2 - - - - - - - - -Node4 - - -std::endl - - - - - -Node1->Node4 - - - - - - - - -Node3 - - -math::sum_of_divisor - - - - - -Node2->Node3 - - - - - - - - - - - - - diff --git a/d5/df6/check__amicable__pair_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph_org.svg b/d5/df6/check__amicable__pair_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph_org.svg deleted file mode 100644 index bc5db503a..000000000 --- a/d5/df6/check__amicable__pair_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph_org.svg +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - -tests - - -Node1 - - -tests - - - - - -Node2 - - -math::are_amicable - - - - - -Node1->Node2 - - - - - - - - -Node4 - - -std::endl - - - - - -Node1->Node4 - - - - - - - - -Node3 - - -math::sum_of_divisor - - - - - -Node2->Node3 - - - - - - - - diff --git a/d5/df6/check__amicable__pair_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d5/df6/check__amicable__pair_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index fcc37fc9b..000000000 --- a/d5/df6/check__amicable__pair_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/d5/df6/check__amicable__pair_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d5/df6/check__amicable__pair_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index b62d41ae1..000000000 --- a/d5/df6/check__amicable__pair_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -d20519596209338efb9b7411bd2f01be \ No newline at end of file diff --git a/d5/df6/check__amicable__pair_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d5/df6/check__amicable__pair_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index a8edf235c..000000000 --- a/d5/df6/check__amicable__pair_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,119 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -tests - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -math::are_amicable - - - - - -Node2->Node3 - - - - - - - - -Node5 - - -std::endl - - - - - -Node2->Node5 - - - - - - - - -Node4 - - -math::sum_of_divisor - - - - - -Node3->Node4 - - - - - - - - - - - - - diff --git a/d5/df6/check__amicable__pair_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d5/df6/check__amicable__pair_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index abfe04f5e..000000000 --- a/d5/df6/check__amicable__pair_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,93 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -tests - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -math::are_amicable - - - - - -Node2->Node3 - - - - - - - - -Node5 - - -std::endl - - - - - -Node2->Node5 - - - - - - - - -Node4 - - -math::sum_of_divisor - - - - - -Node3->Node4 - - - - - - - - diff --git a/d5/df6/check__amicable__pair_8cpp_source.html b/d5/df6/check__amicable__pair_8cpp_source.html new file mode 100644 index 000000000..399420329 --- /dev/null +++ b/d5/df6/check__amicable__pair_8cpp_source.html @@ -0,0 +1,194 @@ + + + + + + + + +TheAlgorithms/C++: math/check_amicable_pair.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    +

    Namespaces

    namespace  math
    + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + + +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    check_amicable_pair.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    17#include <cassert>
    +
    18#include <iostream>
    +
    19
    +
    24namespace math {
    +
    +
    31int sum_of_divisor(int num) {
    +
    32 // Variable to store the sum of all proper divisors.
    +
    33 int sum = 1;
    +
    34 // Below loop condition helps to reduce Time complexity by a factor of
    +
    35 // square root of the number.
    +
    36 for (int div = 2; div * div <= num; ++div) {
    +
    37 // Check 'div' is divisor of 'num'.
    +
    38 if (num % div == 0) {
    +
    39 // If both divisor are same, add once to 'sum'
    +
    40 if (div == (num / div)) {
    +
    41 sum += div;
    +
    42 } else {
    +
    43 // If both divisor are not the same, add both to 'sum'.
    +
    44 sum += (div + (num / div));
    +
    45 }
    +
    46 }
    +
    47 }
    +
    48 return sum;
    +
    49}
    +
    +
    50
    +
    +
    58bool are_amicable(int x, int y) {
    +
    59 return (sum_of_divisor(x) == y) && (sum_of_divisor(y) == x);
    +
    60}
    +
    +
    61} // namespace math
    +
    62
    +
    +
    67static void tests() {
    +
    68 assert(math::are_amicable(220, 284) == true);
    +
    69 assert(math::are_amicable(6368, 6232) == true);
    +
    70 assert(math::are_amicable(458, 232) == false);
    +
    71 assert(math::are_amicable(17296, 18416) == true);
    +
    72 assert(math::are_amicable(18416, 17296) == true);
    +
    73
    +
    74 std::cout << "All tests have successfully passed!" << std::endl;
    +
    75}
    +
    +
    76
    +
    +
    81int main() {
    +
    82 tests(); // perform self-tests implementations
    +
    83 return 0;
    +
    84}
    +
    +
    static void tests()
    Self-test implementations.
    +
    int main()
    Main function.
    +
    for assert
    +
    bool are_amicable(int x, int y)
    Function to check whether the pair is amicable or not.
    +
    int sum_of_divisor(int num)
    Function to calculate the sum of all the proper divisor of an integer.
    +
    +
    + + + + diff --git a/d6/d02/file__linter_8py_source.html b/d6/d02/file__linter_8py_source.html new file mode 100644 index 000000000..d5448544a --- /dev/null +++ b/d6/d02/file__linter_8py_source.html @@ -0,0 +1,176 @@ + + + + + + + + +TheAlgorithms/C++: scripts/file_linter.py Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    file_linter.py
    +
    +
    +
    1import os
    +
    2import subprocess
    +
    3import sys
    +
    4
    +
    5print("Python {}.{}.{}".format(*sys.version_info)) # Python 3.8
    +
    6with open("git_diff.txt") as in_file:
    +
    7 modified_files = sorted(in_file.read().splitlines())
    +
    8 print("{} files were modified.".format(len(modified_files)))
    +
    9
    +
    10 cpp_exts = tuple(".c .c++ .cc .cpp .cu .cuh .cxx .h .h++ .hh .hpp .hxx".split())
    +
    11 cpp_files = [file for file in modified_files if file.lower().endswith(cpp_exts)]
    +
    12 print(f"{len(cpp_files)} C++ files were modified.")
    +
    13 if not cpp_files:
    +
    14 sys.exit(0)
    +
    15
    +
    16 subprocess.run(["clang-tidy", "--fix", "-p=build", "--extra-arg=-std=c++11", *cpp_files, "--"],
    +
    17 check=True, text=True, stderr=subprocess.STDOUT)
    +
    18
    +
    19 subprocess.run(["clang-format", "-i", "-style=file", *cpp_files],
    +
    20 check=True, text=True, stderr=subprocess.STDOUT)
    +
    21
    +
    22 upper_files = [file for file in cpp_files if file != file.lower()]
    +
    23 if upper_files:
    +
    24 print(f"{len(upper_files)} files contain uppercase characters:")
    +
    25 print("\n".join(upper_files) + "\n")
    +
    26
    +
    27 space_files = [file for file in cpp_files if " " in file or "-" in file]
    +
    28 if space_files:
    +
    29 print(f"{len(space_files)} files contain space or dash characters:")
    +
    30 print("\n".join(space_files) + "\n")
    +
    31
    +
    32 nodir_files = [file for file in cpp_files if file.count(os.sep) != 1]
    +
    33 if nodir_files:
    +
    34 print(f"{len(nodir_files)} files are not in one and only one directory:")
    +
    35 print("\n".join(nodir_files) + "\n")
    +
    36
    +
    37 bad_files = len(upper_files + space_files + nodir_files)
    +
    38 if bad_files:
    +
    39 sys.exit(bad_files)
    +
    +
    + + + + diff --git a/d6/d04/classdata__structures_1_1queue__using__array_1_1_queue___array.html b/d6/d04/classdata__structures_1_1queue__using__array_1_1_queue___array.html index ed9582bb6..65cc7dae2 100644 --- a/d6/d04/classdata__structures_1_1queue__using__array_1_1_queue___array.html +++ b/d6/d04/classdata__structures_1_1queue__using__array_1_1_queue___array.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: data_structures::queue_using_array::Queue_Array Class Reference +TheAlgorithms/C++: data_structures::queue_using_array::Queue_Array Class Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -117,7 +134,7 @@ $(function(){initNavTree('d6/d04/classdata__structures_1_1queue__using__array_1_
    Collaboration diagram for data_structures::queue_using_array::Queue_Array:
    -
    +
    [legend]
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    - +

    @@ -140,12 +157,14 @@ Private Attributes

    int8_t rear {-1}
     Index of tail of the array.
     
    std::array< int16_t, max_sizearr {}
    std::array< int16_t, max_sizearr {}
     All stored data.
     

    Detailed Description

    Queue_Array class containing the main data and also index of head and tail of the array.

    + +

    Definition at line 44 of file queue_using_array.cpp.

    Member Function Documentation

    ◆ dequeue()

    @@ -165,31 +184,26 @@ Private Attributes

    Delete element from back of the queue.

    Remove element that is located at the first of the queue.

    Returns
    data that is deleted if queue is not empty
    + +

    Definition at line 76 of file queue_using_array.cpp.

    76 {
    77 int8_t d{0};
    78 if (front == -1) {
    -
    79 std::cout << "\nstack is empty ";
    +
    79 std::cout << "\nstack is empty ";
    80 return 0;
    81 } else if (front == rear) {
    -
    82 d = arr.at(front);
    +
    82 d = arr.at(front);
    83 front = rear = -1;
    84 } else {
    -
    85 d = arr.at(front++);
    +
    85 d = arr.at(front++);
    86 }
    87
    88 return d;
    89}
    -
    T at(T... args)
    - -
    int8_t front
    Index of head of the array.
    Definition queue_using_array.cpp:50
    -
    int8_t rear
    Index of tail of the array.
    Definition queue_using_array.cpp:51
    -
    std::array< int16_t, max_size > arr
    All stored data.
    Definition queue_using_array.cpp:52
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + + +
    std::array< int16_t, max_size > arr
    All stored data.
    +
    @@ -209,19 +223,16 @@ Here is the call graph for this function:

    Show all saved data.

    Utility function to show all elements in the queue.

    + +

    Definition at line 94 of file queue_using_array.cpp.

    94 {
    95 if (front == -1) {
    -
    96 std::cout << "\nStack is empty";
    +
    96 std::cout << "\nStack is empty";
    97 } else {
    -
    98 for (int16_t i{front}; i <= rear; ++i) std::cout << arr.at(i) << " ";
    +
    98 for (int16_t i{front}; i <= rear; ++i) std::cout << arr.at(i) << " ";
    99 }
    100}
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -247,25 +258,21 @@ Here is the call graph for this function: + +

    Definition at line 59 of file queue_using_array.cpp.

    59 {
    -
    60 if (rear == arr.size() - 1) {
    -
    61 std::cout << "\nStack is full";
    +
    60 if (rear == arr.size() - 1) {
    +
    61 std::cout << "\nStack is full";
    62 } else if (front == -1 && rear == -1) {
    63 front = 0;
    64 rear = 0;
    65 arr[rear] = ele;
    -
    66 } else if (rear < arr.size()) {
    +
    66 } else if (rear < arr.size()) {
    67 ++rear;
    68 arr[rear] = ele;
    69 }
    70}
    -
    T size(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +

    Member Data Documentation

    @@ -279,7 +286,7 @@ Here is the call graph for this function: - +
    std::array<int16_t, max_size> data_structures::queue_using_array::Queue_Array::arr {}std::array<int16_t, max_size> data_structures::queue_using_array::Queue_Array::arr {}
    @@ -290,7 +297,9 @@ Here is the call graph for this function:

    All stored data.

    -
    52{}; ///< All stored data
    + +

    Definition at line 52 of file queue_using_array.cpp.

    +
    52{};
    @@ -315,7 +324,9 @@ Here is the call graph for this function:

    Index of head of the array.

    -
    50{-1}; ///< Index of head of the array
    + +

    Definition at line 50 of file queue_using_array.cpp.

    +
    50{-1};
    @@ -340,12 +351,14 @@ Here is the call graph for this function:

    Index of tail of the array.

    -
    51{-1}; ///< Index of tail of the array
    + +

    Definition at line 51 of file queue_using_array.cpp.

    +
    51{-1};

    The documentation for this class was generated from the following file: diff --git a/d6/d04/classdata__structures_1_1queue__using__array_1_1_queue___array_a2aaf88c9954ef3ab686f8e4bfbd87622_cgraph.map b/d6/d04/classdata__structures_1_1queue__using__array_1_1_queue___array_a2aaf88c9954ef3ab686f8e4bfbd87622_cgraph.map deleted file mode 100644 index c34ade34b..000000000 --- a/d6/d04/classdata__structures_1_1queue__using__array_1_1_queue___array_a2aaf88c9954ef3ab686f8e4bfbd87622_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d6/d04/classdata__structures_1_1queue__using__array_1_1_queue___array_a2aaf88c9954ef3ab686f8e4bfbd87622_cgraph.md5 b/d6/d04/classdata__structures_1_1queue__using__array_1_1_queue___array_a2aaf88c9954ef3ab686f8e4bfbd87622_cgraph.md5 deleted file mode 100644 index e2c577ebf..000000000 --- a/d6/d04/classdata__structures_1_1queue__using__array_1_1_queue___array_a2aaf88c9954ef3ab686f8e4bfbd87622_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -6b05ad09da2502fd73e8fe20d258420f \ No newline at end of file diff --git a/d6/d04/classdata__structures_1_1queue__using__array_1_1_queue___array_a2aaf88c9954ef3ab686f8e4bfbd87622_cgraph.svg b/d6/d04/classdata__structures_1_1queue__using__array_1_1_queue___array_a2aaf88c9954ef3ab686f8e4bfbd87622_cgraph.svg deleted file mode 100644 index f7bf7ffb5..000000000 --- a/d6/d04/classdata__structures_1_1queue__using__array_1_1_queue___array_a2aaf88c9954ef3ab686f8e4bfbd87622_cgraph.svg +++ /dev/null @@ -1,67 +0,0 @@ - - - - - - - - - - - - -data_structures::queue_using_array::Queue_Array::dequeue - - -Node1 - - -data_structures::queue -_using_array::Queue_Array -::dequeue - - - - - -Node2 - - -std::array::at - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d6/d04/classdata__structures_1_1queue__using__array_1_1_queue___array_a2aaf88c9954ef3ab686f8e4bfbd87622_cgraph_org.svg b/d6/d04/classdata__structures_1_1queue__using__array_1_1_queue___array_a2aaf88c9954ef3ab686f8e4bfbd87622_cgraph_org.svg deleted file mode 100644 index d59c2c701..000000000 --- a/d6/d04/classdata__structures_1_1queue__using__array_1_1_queue___array_a2aaf88c9954ef3ab686f8e4bfbd87622_cgraph_org.svg +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - -data_structures::queue_using_array::Queue_Array::dequeue - - -Node1 - - -data_structures::queue -_using_array::Queue_Array -::dequeue - - - - - -Node2 - - -std::array::at - - - - - -Node1->Node2 - - - - - - - - diff --git a/d6/d04/classdata__structures_1_1queue__using__array_1_1_queue___array_a4dc64488c36f84d927365fa8d1933663_cgraph.map b/d6/d04/classdata__structures_1_1queue__using__array_1_1_queue___array_a4dc64488c36f84d927365fa8d1933663_cgraph.map deleted file mode 100644 index 8456902d9..000000000 --- a/d6/d04/classdata__structures_1_1queue__using__array_1_1_queue___array_a4dc64488c36f84d927365fa8d1933663_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d6/d04/classdata__structures_1_1queue__using__array_1_1_queue___array_a4dc64488c36f84d927365fa8d1933663_cgraph.md5 b/d6/d04/classdata__structures_1_1queue__using__array_1_1_queue___array_a4dc64488c36f84d927365fa8d1933663_cgraph.md5 deleted file mode 100644 index 1cbc01997..000000000 --- a/d6/d04/classdata__structures_1_1queue__using__array_1_1_queue___array_a4dc64488c36f84d927365fa8d1933663_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -aba6c8f1488540a1d9356bd27844ecb9 \ No newline at end of file diff --git a/d6/d04/classdata__structures_1_1queue__using__array_1_1_queue___array_a4dc64488c36f84d927365fa8d1933663_cgraph.svg b/d6/d04/classdata__structures_1_1queue__using__array_1_1_queue___array_a4dc64488c36f84d927365fa8d1933663_cgraph.svg deleted file mode 100644 index b65b94a95..000000000 --- a/d6/d04/classdata__structures_1_1queue__using__array_1_1_queue___array_a4dc64488c36f84d927365fa8d1933663_cgraph.svg +++ /dev/null @@ -1,67 +0,0 @@ - - - - - - - - - - - - -data_structures::queue_using_array::Queue_Array::enqueue - - -Node1 - - -data_structures::queue -_using_array::Queue_Array -::enqueue - - - - - -Node2 - - -std::array::size - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d6/d04/classdata__structures_1_1queue__using__array_1_1_queue___array_a4dc64488c36f84d927365fa8d1933663_cgraph_org.svg b/d6/d04/classdata__structures_1_1queue__using__array_1_1_queue___array_a4dc64488c36f84d927365fa8d1933663_cgraph_org.svg deleted file mode 100644 index 61ed56a94..000000000 --- a/d6/d04/classdata__structures_1_1queue__using__array_1_1_queue___array_a4dc64488c36f84d927365fa8d1933663_cgraph_org.svg +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - -data_structures::queue_using_array::Queue_Array::enqueue - - -Node1 - - -data_structures::queue -_using_array::Queue_Array -::enqueue - - - - - -Node2 - - -std::array::size - - - - - -Node1->Node2 - - - - - - - - diff --git a/d6/d04/classdata__structures_1_1queue__using__array_1_1_queue___array_a688b7ea064739ea9fa66bf64bf4ae631_cgraph.map b/d6/d04/classdata__structures_1_1queue__using__array_1_1_queue___array_a688b7ea064739ea9fa66bf64bf4ae631_cgraph.map deleted file mode 100644 index 78ad99ff8..000000000 --- a/d6/d04/classdata__structures_1_1queue__using__array_1_1_queue___array_a688b7ea064739ea9fa66bf64bf4ae631_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d6/d04/classdata__structures_1_1queue__using__array_1_1_queue___array_a688b7ea064739ea9fa66bf64bf4ae631_cgraph.md5 b/d6/d04/classdata__structures_1_1queue__using__array_1_1_queue___array_a688b7ea064739ea9fa66bf64bf4ae631_cgraph.md5 deleted file mode 100644 index a28941acd..000000000 --- a/d6/d04/classdata__structures_1_1queue__using__array_1_1_queue___array_a688b7ea064739ea9fa66bf64bf4ae631_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -8ddee84f4ba616875dc3fd739384a968 \ No newline at end of file diff --git a/d6/d04/classdata__structures_1_1queue__using__array_1_1_queue___array_a688b7ea064739ea9fa66bf64bf4ae631_cgraph.svg b/d6/d04/classdata__structures_1_1queue__using__array_1_1_queue___array_a688b7ea064739ea9fa66bf64bf4ae631_cgraph.svg deleted file mode 100644 index 59e08b398..000000000 --- a/d6/d04/classdata__structures_1_1queue__using__array_1_1_queue___array_a688b7ea064739ea9fa66bf64bf4ae631_cgraph.svg +++ /dev/null @@ -1,67 +0,0 @@ - - - - - - - - - - - - -data_structures::queue_using_array::Queue_Array::display - - -Node1 - - -data_structures::queue -_using_array::Queue_Array -::display - - - - - -Node2 - - -std::array::at - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d6/d04/classdata__structures_1_1queue__using__array_1_1_queue___array_a688b7ea064739ea9fa66bf64bf4ae631_cgraph_org.svg b/d6/d04/classdata__structures_1_1queue__using__array_1_1_queue___array_a688b7ea064739ea9fa66bf64bf4ae631_cgraph_org.svg deleted file mode 100644 index 9bec23bc6..000000000 --- a/d6/d04/classdata__structures_1_1queue__using__array_1_1_queue___array_a688b7ea064739ea9fa66bf64bf4ae631_cgraph_org.svg +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - -data_structures::queue_using_array::Queue_Array::display - - -Node1 - - -data_structures::queue -_using_array::Queue_Array -::display - - - - - -Node2 - - -std::array::at - - - - - -Node1->Node2 - - - - - - - - diff --git a/d6/d05/reverse__a__linked__list_8cpp.html b/d6/d05/reverse__a__linked__list_8cpp.html index 553130af7..23de3304d 100644 --- a/d6/d05/reverse__a__linked__list_8cpp.html +++ b/d6/d05/reverse__a__linked__list_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: data_structures/reverse_a_linked_list.cpp File Reference +TheAlgorithms/C++: data_structures/reverse_a_linked_list.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -122,7 +139,9 @@ Include dependency graph for reverse_a_linked_list.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -163,6 +182,8 @@ 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.

    A graphic explanation and view of what's happening behind the scenes

    + +

    Definition in file reverse_a_linked_list.cpp.

    Function Documentation

    ◆ copy_all_nodes()

    @@ -187,6 +208,8 @@ Algorithm
    Returns
    pointer to the first node/head of the copied list or nullptr
    + +

    Definition at line 53 of file reverse_a_linked_list.cpp.

    53 {
    54 if (node) {
    55 // NOLINTNEXTLINE(cppcoreguidelines-owning-memory)
    @@ -197,15 +220,10 @@ Algorithm
    60 }
    61 return nullptr;
    62}
    -
    Node * copy_all_nodes(const Node *const node)
    creates a deep copy of a list starting at the input node
    Definition reverse_a_linked_list.cpp:53
    -
    Definition linkedlist_implentation_usingarray.cpp:14
    -
    Definition binary_search_tree.cpp:11
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    Node * copy_all_nodes(const Node *const node)
    creates a deep copy of a list starting at the input node
    + + + @@ -225,19 +243,16 @@ Here is the call graph for this function:

    Main function.

    Returns
    0 on exit
    + +

    Definition at line 301 of file reverse_a_linked_list.cpp.

    301 {
    302 test(); // run self-test implementations
    303 test_copy_constructor();
    304 test_assignment_operator();
    305 return 0;
    306}
    -
    static void test()
    Self-test implementations.
    Definition reverse_a_linked_list.cpp:228
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static void test()
    Self-test implementations.
    + @@ -265,6 +280,8 @@ Here is the call graph for this function:

    Self-test implementations.

    Returns
    void
    + +

    Definition at line 228 of file reverse_a_linked_list.cpp.

    228 {
    230 // 1st test
    @@ -286,22 +303,15 @@ Here is the call graph for this function:
    246 assert(L.traverse(4) == 15);
    247 assert(L.traverse(5) == 12);
    248 assert(L.last() == 11);
    -
    249 std::cout << "All tests have successfully passed!" << std::endl;
    +
    249 std::cout << "All tests have successfully passed!" << std::endl;
    250}
    - -
    Definition reverse_a_linked_list.cpp:68
    -
    int32_t traverse(int32_t index) const
    Utility function to find the i th element of the list.
    Definition reverse_a_linked_list.cpp:168
    -
    int32_t top() const
    Utility function to find the top element of the list.
    Definition reverse_a_linked_list.cpp:142
    -
    void insert(int32_t new_elem)
    Utility function that adds a new element at the end of the list.
    Definition reverse_a_linked_list.cpp:99
    -
    void reverseList()
    Utility function for reversing a list.
    Definition reverse_a_linked_list.cpp:125
    -
    std::shared_ptr< link > last
    last link on the list
    Definition linked_list.cpp:84
    -
    T endl(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + +
    int32_t traverse(int32_t index) const
    Utility function to find the i th element of the list.
    +
    int32_t top() const
    Utility function to find the top element of the list.
    +
    void insert(int32_t new_elem)
    Utility function that adds a new element at the end of the list.
    +
    void reverseList()
    Utility function for reversing a list.
    +
    std::shared_ptr< link > last
    last link on the list
    + @@ -318,6 +328,8 @@ Here is the call graph for this function:

    Classes

    class  data_structures::linked_list::Node
    + +

    Definition at line 274 of file reverse_a_linked_list.cpp.

    274 {
    @@ -357,6 +369,8 @@ Here is the call graph for this function:
    + +

    Definition at line 252 of file reverse_a_linked_list.cpp.

    252 {
    254 L.insert(10);
    diff --git a/d6/d05/reverse__a__linked__list_8cpp_a7f80d9712cc7d77399dcacb4c2917511_cgraph.map b/d6/d05/reverse__a__linked__list_8cpp_a7f80d9712cc7d77399dcacb4c2917511_cgraph.map deleted file mode 100644 index 44e689e9d..000000000 --- a/d6/d05/reverse__a__linked__list_8cpp_a7f80d9712cc7d77399dcacb4c2917511_cgraph.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/d6/d05/reverse__a__linked__list_8cpp_a7f80d9712cc7d77399dcacb4c2917511_cgraph.md5 b/d6/d05/reverse__a__linked__list_8cpp_a7f80d9712cc7d77399dcacb4c2917511_cgraph.md5 deleted file mode 100644 index 74fcac592..000000000 --- a/d6/d05/reverse__a__linked__list_8cpp_a7f80d9712cc7d77399dcacb4c2917511_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -31540bd9d768c115ca99272c317bd227 \ No newline at end of file diff --git a/d6/d05/reverse__a__linked__list_8cpp_a7f80d9712cc7d77399dcacb4c2917511_cgraph.svg b/d6/d05/reverse__a__linked__list_8cpp_a7f80d9712cc7d77399dcacb4c2917511_cgraph.svg deleted file mode 100644 index bac738c13..000000000 --- a/d6/d05/reverse__a__linked__list_8cpp_a7f80d9712cc7d77399dcacb4c2917511_cgraph.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - - - - - - - -data_structures::linked_list::copy_all_nodes - - -Node1 - - -data_structures::linked -_list::copy_all_nodes - - - - - -Node1->Node1 - - - - - - - - - - - - - diff --git a/d6/d05/reverse__a__linked__list_8cpp_a7f80d9712cc7d77399dcacb4c2917511_cgraph_org.svg b/d6/d05/reverse__a__linked__list_8cpp_a7f80d9712cc7d77399dcacb4c2917511_cgraph_org.svg deleted file mode 100644 index 2749d7a16..000000000 --- a/d6/d05/reverse__a__linked__list_8cpp_a7f80d9712cc7d77399dcacb4c2917511_cgraph_org.svg +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - -data_structures::linked_list::copy_all_nodes - - -Node1 - - -data_structures::linked -_list::copy_all_nodes - - - - - -Node1->Node1 - - - - - - - - diff --git a/d6/d05/reverse__a__linked__list_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map b/d6/d05/reverse__a__linked__list_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map deleted file mode 100644 index c092d04ba..000000000 --- a/d6/d05/reverse__a__linked__list_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - - - - - - - - - - diff --git a/d6/d05/reverse__a__linked__list_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 b/d6/d05/reverse__a__linked__list_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 deleted file mode 100644 index 4907df4d2..000000000 --- a/d6/d05/reverse__a__linked__list_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -8b09f52951a2cd99de27db96b5f33b8f \ No newline at end of file diff --git a/d6/d05/reverse__a__linked__list_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg b/d6/d05/reverse__a__linked__list_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg deleted file mode 100644 index c20d4c185..000000000 --- a/d6/d05/reverse__a__linked__list_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg +++ /dev/null @@ -1,187 +0,0 @@ - - - - - - - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -data_structures::linked -_list::list::insert - - - - - -Node1->Node3 - - - - - - - - -Node6 - - -data_structures::linked -_list::list::reverseList - - - - - -Node1->Node6 - - - - - - - - -Node7 - - -data_structures::linked -_list::list::top - - - - - -Node1->Node7 - - - - - - - - -Node8 - - -data_structures::linked -_list::list::traverse - - - - - -Node1->Node8 - - - - - - - - -Node4 - - -data_structures::linked -_list::list::isEmpty - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -std::bad_alloc::what - - - - - -Node3->Node5 - - - - - - - - -Node7->Node4 - - - - - - - - - - - - - diff --git a/d6/d05/reverse__a__linked__list_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg b/d6/d05/reverse__a__linked__list_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg deleted file mode 100644 index cc8d46a09..000000000 --- a/d6/d05/reverse__a__linked__list_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg +++ /dev/null @@ -1,161 +0,0 @@ - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -data_structures::linked -_list::list::insert - - - - - -Node1->Node3 - - - - - - - - -Node6 - - -data_structures::linked -_list::list::reverseList - - - - - -Node1->Node6 - - - - - - - - -Node7 - - -data_structures::linked -_list::list::top - - - - - -Node1->Node7 - - - - - - - - -Node8 - - -data_structures::linked -_list::list::traverse - - - - - -Node1->Node8 - - - - - - - - -Node4 - - -data_structures::linked -_list::list::isEmpty - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -std::bad_alloc::what - - - - - -Node3->Node5 - - - - - - - - -Node7->Node4 - - - - - - - - diff --git a/d6/d05/reverse__a__linked__list_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d6/d05/reverse__a__linked__list_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 8a1cbb1b5..000000000 --- a/d6/d05/reverse__a__linked__list_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - - - - - - - - - - - - - - - diff --git a/d6/d05/reverse__a__linked__list_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d6/d05/reverse__a__linked__list_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index 854e1bfcf..000000000 --- a/d6/d05/reverse__a__linked__list_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -9878e208d86d7c923f061ecf3cb81ba8 \ No newline at end of file diff --git a/d6/d05/reverse__a__linked__list_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d6/d05/reverse__a__linked__list_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 5bc086abf..000000000 --- a/d6/d05/reverse__a__linked__list_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,205 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -data_structures::linked -_list::list::insert - - - - - -Node2->Node4 - - - - - - - - -Node7 - - -data_structures::linked -_list::list::reverseList - - - - - -Node2->Node7 - - - - - - - - -Node8 - - -data_structures::linked -_list::list::top - - - - - -Node2->Node8 - - - - - - - - -Node9 - - -data_structures::linked -_list::list::traverse - - - - - -Node2->Node9 - - - - - - - - -Node5 - - -data_structures::linked -_list::list::isEmpty - - - - - -Node4->Node5 - - - - - - - - -Node6 - - -std::bad_alloc::what - - - - - -Node4->Node6 - - - - - - - - -Node8->Node5 - - - - - - - - - - - - - diff --git a/d6/d05/reverse__a__linked__list_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d6/d05/reverse__a__linked__list_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 2cce4ec06..000000000 --- a/d6/d05/reverse__a__linked__list_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,179 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -data_structures::linked -_list::list::insert - - - - - -Node2->Node4 - - - - - - - - -Node7 - - -data_structures::linked -_list::list::reverseList - - - - - -Node2->Node7 - - - - - - - - -Node8 - - -data_structures::linked -_list::list::top - - - - - -Node2->Node8 - - - - - - - - -Node9 - - -data_structures::linked -_list::list::traverse - - - - - -Node2->Node9 - - - - - - - - -Node5 - - -data_structures::linked -_list::list::isEmpty - - - - - -Node4->Node5 - - - - - - - - -Node6 - - -std::bad_alloc::what - - - - - -Node4->Node6 - - - - - - - - -Node8->Node5 - - - - - - - - diff --git a/d6/d05/reverse__a__linked__list_8cpp_source.html b/d6/d05/reverse__a__linked__list_8cpp_source.html new file mode 100644 index 000000000..e1013c816 --- /dev/null +++ b/d6/d05/reverse__a__linked__list_8cpp_source.html @@ -0,0 +1,400 @@ + + + + + + + + +TheAlgorithms/C++: data_structures/reverse_a_linked_list.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    reverse_a_linked_list.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    25#include <cassert>
    +
    26#include <iostream>
    +
    27#include <new>
    +
    28
    +
    33namespace data_structures {
    +
    38namespace linked_list {
    +
    +
    42class Node {
    +
    43 public:
    +
    44 int32_t val;
    + +
    46};
    +
    +
    47
    +
    +
    53Node* copy_all_nodes(const Node* const node) {
    +
    54 if (node) {
    +
    55 // NOLINTNEXTLINE(cppcoreguidelines-owning-memory)
    +
    56 Node* res = new Node();
    +
    57 res->val = node->val;
    +
    58 res->next = copy_all_nodes(node->next);
    +
    59 return res;
    +
    60 }
    +
    61 return nullptr;
    +
    62}
    +
    +
    63
    +
    67// NOLINTNEXTLINE(cppcoreguidelines-special-member-functions)
    +
    +
    68class list {
    +
    69 private:
    +
    70 Node* head = nullptr; // link before the actual first element
    +
    71 void delete_all_nodes();
    +
    72 void copy_all_nodes_from_list(const list& other);
    +
    73
    +
    74 public:
    +
    75 bool isEmpty() const;
    +
    76 void insert(int32_t new_elem);
    +
    77 void reverseList();
    +
    78 void display() const;
    +
    79 int32_t top() const;
    +
    80 int32_t last() const;
    +
    81 int32_t traverse(int32_t index) const;
    +
    82 ~list();
    +
    83 list() = default;
    +
    84 list(const list& other);
    +
    85 list& operator=(const list& other);
    +
    86};
    +
    +
    87
    +
    93bool list::isEmpty() const { return head == nullptr; }
    +
    94
    +
    +
    99void list::insert(int32_t n) {
    +
    100 try {
    +
    101 // NOLINTNEXTLINE(cppcoreguidelines-owning-memory)
    +
    102 Node* new_node = new Node();
    +
    103 Node* temp = nullptr;
    +
    104 new_node->val = n;
    +
    105 new_node->next = nullptr;
    +
    106 if (isEmpty()) {
    +
    107 head = new_node;
    +
    108 } else {
    +
    109 temp = head;
    +
    110 while (temp->next != nullptr) {
    +
    111 temp = temp->next;
    +
    112 }
    +
    113 temp->next = new_node;
    +
    114 }
    +
    115 } catch (std::bad_alloc& exception) {
    +
    116 std::cerr << "bad_alloc detected: " << exception.what() << "\n";
    +
    117 }
    +
    118}
    +
    +
    119
    +
    + +
    126 Node* curr = head;
    +
    127 Node* prev = nullptr;
    +
    128 Node* next_node = nullptr;
    +
    129 while (curr != nullptr) {
    +
    130 next_node = curr->next;
    +
    131 curr->next = prev;
    +
    132 prev = curr;
    +
    133 curr = next_node;
    +
    134 }
    +
    135 head = prev;
    +
    136}
    +
    +
    137
    +
    +
    142int32_t list::top() const {
    +
    143 if (!isEmpty()) {
    +
    144 return head->val;
    +
    145 } else {
    +
    146 throw std::logic_error("List is empty");
    +
    147 }
    +
    148}
    +
    +
    153int32_t list::last() const {
    +
    154 if (!isEmpty()) {
    +
    155 Node* t = head;
    +
    156 while (t->next != nullptr) {
    +
    157 t = t->next;
    +
    158 }
    +
    159 return t->val;
    +
    160 } else {
    +
    161 throw std::logic_error("List is empty");
    +
    162 }
    +
    163}
    +
    +
    168int32_t list::traverse(int32_t index) const {
    +
    169 Node* current = head;
    +
    170
    +
    171 int count = 0;
    +
    172 while (current != nullptr) {
    +
    173 if (count == index) {
    +
    174 return (current->val);
    +
    175 }
    +
    176 count++;
    +
    177 current = current->next;
    +
    178 }
    +
    179
    +
    180 /* if we get to this line,the caller was asking for a non-existent element
    +
    181 so we assert fail */
    +
    182 exit(1);
    +
    183}
    +
    +
    184
    +
    + +
    189 while (head != nullptr) {
    +
    190 const auto tmp_node = head->next;
    +
    191 delete head;
    +
    192 head = tmp_node;
    +
    193 }
    +
    194}
    +
    +
    195
    +
    196list::~list() { delete_all_nodes(); }
    +
    197
    +
    198void list::copy_all_nodes_from_list(const list& other) {
    +
    199 assert(isEmpty());
    +
    200 head = copy_all_nodes(other.head);
    +
    201}
    +
    202
    +
    206list::list(const list& other) { copy_all_nodes_from_list(other); }
    +
    207
    +
    +
    211list& list::operator=(const list& other) {
    +
    212 if (this == &other) {
    +
    213 return *this;
    +
    214 }
    + +
    216
    +
    217 copy_all_nodes_from_list(other);
    +
    218 return *this;
    +
    219}
    +
    +
    220
    +
    221} // namespace linked_list
    +
    222} // namespace data_structures
    +
    223
    +
    +
    228static void test() {
    + +
    230 // 1st test
    +
    231 L.insert(11);
    +
    232 L.insert(12);
    +
    233 L.insert(15);
    +
    234 L.insert(10);
    +
    235 L.insert(-12);
    +
    236 L.insert(-20);
    +
    237 L.insert(18);
    +
    238 assert(L.top() == 11);
    +
    239 assert(L.last() == 18);
    +
    240 L.reverseList();
    +
    241 // Reversal Testing
    +
    242 assert(L.top() == 18);
    +
    243 assert(L.traverse(1) == -20);
    +
    244 assert(L.traverse(2) == -12);
    +
    245 assert(L.traverse(3) == 10);
    +
    246 assert(L.traverse(4) == 15);
    +
    247 assert(L.traverse(5) == 12);
    +
    248 assert(L.last() == 11);
    +
    249 std::cout << "All tests have successfully passed!" << std::endl;
    +
    250}
    +
    +
    251
    +
    252void test_copy_constructor() {
    + +
    254 L.insert(10);
    +
    255 L.insert(20);
    +
    256 L.insert(30);
    + +
    258 otherList.insert(40);
    +
    259
    +
    260 L.insert(400);
    +
    261
    +
    262 assert(L.top() == 10);
    +
    263 assert(otherList.top() == 10);
    +
    264 assert(L.traverse(1) == 20);
    +
    265 assert(otherList.traverse(1) == 20);
    +
    266
    +
    267 assert(L.traverse(2) == 30);
    +
    268 assert(otherList.traverse(2) == 30);
    +
    269
    +
    270 assert(L.last() == 400);
    +
    271 assert(otherList.last() == 40);
    +
    272}
    +
    273
    +
    274void test_assignment_operator() {
    + + +
    277 L.insert(10);
    +
    278 L.insert(20);
    +
    279 L.insert(30);
    +
    280 otherList = L;
    +
    281
    +
    282 otherList.insert(40);
    +
    283 L.insert(400);
    +
    284
    +
    285 assert(L.top() == 10);
    +
    286 assert(otherList.top() == 10);
    +
    287 assert(L.traverse(1) == 20);
    +
    288 assert(otherList.traverse(1) == 20);
    +
    289
    +
    290 assert(L.traverse(2) == 30);
    +
    291 assert(otherList.traverse(2) == 30);
    +
    292
    +
    293 assert(L.last() == 400);
    +
    294 assert(otherList.last() == 40);
    +
    295}
    +
    296
    +
    +
    301int main() {
    +
    302 test(); // run self-test implementations
    +
    303 test_copy_constructor();
    +
    304 test_assignment_operator();
    +
    305 return 0;
    +
    306}
    +
    + +
    Node * next
    value of the current link
    + + +
    int32_t traverse(int32_t index) const
    Utility function to find the i th element of the list.
    + + +
    int32_t top() const
    Utility function to find the top element of the list.
    +
    void insert(int32_t new_elem)
    Utility function that adds a new element at the end of the list.
    +
    void reverseList()
    Utility function for reversing a list.
    +
    void delete_all_nodes()
    calls delete operator on every node in the represented list
    +
    list & operator=(const list &other)
    assignment operator creating a deep copy of every node of the input
    +
    std::shared_ptr< link > last
    last link on the list
    +
    for IO operations
    +
    Functions for singly linked list algorithm.
    +
    Node * copy_all_nodes(const Node *const node)
    creates a deep copy of a list starting at the input node
    +
    static void test()
    Self-test implementations.
    +
    int main()
    Main function.
    + + +
    +
    + + + + diff --git a/d6/d0c/namespacehashing.html b/d6/d0c/namespacehashing.html index 51d8b76f0..1d1e14b1c 100644 --- a/d6/d0c/namespacehashing.html +++ b/d6/d0c/namespacehashing.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: hashing Namespace Reference +TheAlgorithms/C++: hashing Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -112,13 +129,13 @@ $(function(){initNavTree('d6/d0c/namespacehashing.html','../../'); initResizable More...

    Detailed Description

    Used for assert.

    -

    For std::vector.

    +

    For std::vector.

    For assert.

    -

    Used for std::copy Used for std::array Used for std::memcopy Used for IO operations Used for strings Used for std::vector

    +

    Used for std::copy Used for std::array Used for std::memcopy Used for IO operations Used for strings Used for std::vector

    Hashing algorithms

    -

    For std::copy For std::array For std::memcopy For IO operations For strings For std::vector

    +

    For std::copy For std::array For std::memcopy For IO operations For strings For std::vector

    Hashing algorithms

    -

    For std::array For assert For uint8_t, uint32_t and uint64_t data types For std::setfill and std::setw For IO operations For std::stringstream For std::move

    +

    For std::array For assert For uint8_t, uint32_t and uint64_t data types For std::setfill and std::setw For IO operations For std::stringstream For std::move

    Hashing algorithms

    diff --git a/d6/d10/cut__rod_8cpp.html b/d6/d10/cut__rod_8cpp.html index f24a72273..d4d228230 100644 --- a/d6/d10/cut__rod_8cpp.html +++ b/d6/d10/cut__rod_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: dynamic_programming/cut_rod.cpp File Reference +TheAlgorithms/C++: dynamic_programming/cut_rod.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + @@ -123,7 +140,9 @@ Include dependency graph for cut_rod.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -136,7 +155,7 @@ Namespaces - + @@ -155,6 +174,8 @@ Algorithm
    Author
    Anmol
    Pardeep
    + +

    Definition in file cut_rod.cpp.

    Function Documentation

    ◆ main()

    @@ -173,18 +194,15 @@ Algorithm

    Main function.

    Returns
    0 on exit
    + +

    Definition at line 111 of file cut_rod.cpp.

    111 {
    112 // Testing
    113 test();
    114 return 0;
    115}
    -
    static void test()
    Function to test above algorithm.
    Definition cut_rod.cpp:72
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static void test()
    Function to test above algorithm.
    Definition cut_rod.cpp:72
    + @@ -198,7 +216,7 @@ template<size_t T> - + @@ -229,6 +247,8 @@ template<size_t T>

    Namespaces

    namespace  dynamic_programming

    Functions

    template<size_t T>
    int dynamic_programming::cut_rod::maxProfitByCuttingRod (const std::array< int, T > &price, const uint64_t &n)
    int dynamic_programming::cut_rod::maxProfitByCuttingRod (const std::array< int, T > &price, const uint64_t &n)
     Cuts the rod in different pieces and stores the maximum profit for each piece of the rod.
     
    static void test ()
    int dynamic_programming::cut_rod::maxProfitByCuttingRod (const std::array< int, T > & price, const std::array< int, T > & price,
    + +

    Definition at line 45 of file cut_rod.cpp.

    45 {
    46 int *profit =
    47 new int[n + 1]; // profit[i] will hold maximum profit for i inch rod
    @@ -241,7 +261,7 @@ template<size_t T>
    54 for (size_t i = 1; i <= n; i++) {
    55 int q = INT_MIN;
    56 for (size_t j = 1; j <= i; j++) {
    -
    57 q = std::max(q, price[j - 1] + profit[i - j]);
    +
    57 q = std::max(q, price[j - 1] + profit[i - j]);
    58 }
    59 profit[i] = q;
    60 }
    @@ -249,13 +269,7 @@ template<size_t T>
    62 delete[] profit;
    63 return ans; // returning maximum profit
    64}
    -
    T max(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    @@ -283,20 +297,22 @@ Here is the call graph for this function:

    Function to test above algorithm.

    Returns
    void
    + +

    Definition at line 72 of file cut_rod.cpp.

    72 {
    73 // Test 1
    74 const int16_t n1 = 8; // size of rod
    -
    75 std::array<int32_t, n1> price1 = {1, 2, 4, 6, 8, 45, 21, 9}; // price array
    +
    75 std::array<int32_t, n1> price1 = {1, 2, 4, 6, 8, 45, 21, 9}; // price array
    76 const int64_t max_profit1 =
    78 const int64_t expected_max_profit1 = 47;
    79 assert(max_profit1 == expected_max_profit1);
    -
    80 std::cout << "Maximum profit with " << n1 << " inch road is " << max_profit1
    -
    81 << std::endl;
    +
    80 std::cout << "Maximum profit with " << n1 << " inch road is " << max_profit1
    +
    81 << std::endl;
    82
    83 // Test 2
    84 const int16_t n2 = 30; // size of rod
    - +
    85 std::array<int32_t, n2> price2 = {
    86 1, 5, 8, 9, 10, 17, 17, 20, 24, 30, // price array
    87 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
    88 41, 42, 43, 44, 45, 46, 47, 48, 49, 50};
    @@ -305,28 +321,20 @@ Here is the call graph for this function:
    92 const int32_t expected_max_profit2 = 90;
    93 assert(max_profit2 == expected_max_profit2);
    -
    94 std::cout << "Maximum profit with " << n2 << " inch road is " << max_profit2
    -
    95 << std::endl;
    +
    94 std::cout << "Maximum profit with " << n2 << " inch road is " << max_profit2
    +
    95 << std::endl;
    96 // Test 3
    97 const int16_t n3 = 5; // size of rod
    -
    98 std::array<int32_t, n3> price3 = {2, 9, 17, 23, 45}; // price array
    +
    98 std::array<int32_t, n3> price3 = {2, 9, 17, 23, 45}; // price array
    99 const int64_t max_profit3 =
    101 const int64_t expected_max_profit3 = 45;
    102 assert(max_profit3 == expected_max_profit3);
    -
    103 std::cout << "Maximum profit with " << n3 << " inch road is " << max_profit3
    -
    104 << std::endl;
    +
    103 std::cout << "Maximum profit with " << n3 << " inch road is " << max_profit3
    +
    104 << std::endl;
    105}
    - - -
    int maxProfitByCuttingRod(const std::array< int, T > &price, const uint64_t &n)
    Cuts the rod in different pieces and stores the maximum profit for each piece of the rod.
    Definition cut_rod.cpp:45
    -
    T endl(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    int maxProfitByCuttingRod(const std::array< int, T > &price, const uint64_t &n)
    Cuts the rod in different pieces and stores the maximum profit for each piece of the rod.
    Definition cut_rod.cpp:45
    + diff --git a/d6/d10/cut__rod_8cpp_a1cc523a30c18c63eac58220c3c494cfa_cgraph.map b/d6/d10/cut__rod_8cpp_a1cc523a30c18c63eac58220c3c494cfa_cgraph.map deleted file mode 100644 index 552e6e23d..000000000 --- a/d6/d10/cut__rod_8cpp_a1cc523a30c18c63eac58220c3c494cfa_cgraph.map +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/d6/d10/cut__rod_8cpp_a1cc523a30c18c63eac58220c3c494cfa_cgraph.md5 b/d6/d10/cut__rod_8cpp_a1cc523a30c18c63eac58220c3c494cfa_cgraph.md5 deleted file mode 100644 index 33b1ed081..000000000 --- a/d6/d10/cut__rod_8cpp_a1cc523a30c18c63eac58220c3c494cfa_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -4c2f3445a4586254e2f5e7cc754e54c5 \ No newline at end of file diff --git a/d6/d10/cut__rod_8cpp_a1cc523a30c18c63eac58220c3c494cfa_cgraph.svg b/d6/d10/cut__rod_8cpp_a1cc523a30c18c63eac58220c3c494cfa_cgraph.svg deleted file mode 100644 index df364f558..000000000 --- a/d6/d10/cut__rod_8cpp_a1cc523a30c18c63eac58220c3c494cfa_cgraph.svg +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - - - - - - - -dynamic_programming::cut_rod::maxProfitByCuttingRod - - -Node1 - - -dynamic_programming -::cut_rod::maxProfitByCuttingRod - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::max - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d6/d10/cut__rod_8cpp_a1cc523a30c18c63eac58220c3c494cfa_cgraph_org.svg b/d6/d10/cut__rod_8cpp_a1cc523a30c18c63eac58220c3c494cfa_cgraph_org.svg deleted file mode 100644 index 764de6dc4..000000000 --- a/d6/d10/cut__rod_8cpp_a1cc523a30c18c63eac58220c3c494cfa_cgraph_org.svg +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - -dynamic_programming::cut_rod::maxProfitByCuttingRod - - -Node1 - - -dynamic_programming -::cut_rod::maxProfitByCuttingRod - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::max - - - - - -Node1->Node2 - - - - - - - - diff --git a/d6/d10/cut__rod_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map b/d6/d10/cut__rod_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map deleted file mode 100644 index 969cbc190..000000000 --- a/d6/d10/cut__rod_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d6/d10/cut__rod_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 b/d6/d10/cut__rod_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 deleted file mode 100644 index 3beec0a15..000000000 --- a/d6/d10/cut__rod_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -bfed022ee432c6caf8dedaa8aacf402d \ No newline at end of file diff --git a/d6/d10/cut__rod_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg b/d6/d10/cut__rod_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg deleted file mode 100644 index 474b95828..000000000 --- a/d6/d10/cut__rod_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d6/d10/cut__rod_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg b/d6/d10/cut__rod_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg deleted file mode 100644 index 21269f1f3..000000000 --- a/d6/d10/cut__rod_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - diff --git a/d6/d10/cut__rod_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d6/d10/cut__rod_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index d9f61fcbd..000000000 --- a/d6/d10/cut__rod_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/d6/d10/cut__rod_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d6/d10/cut__rod_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index 282d51a22..000000000 --- a/d6/d10/cut__rod_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -b03bd7e53f8dd0e0de312ce97e201ca1 \ No newline at end of file diff --git a/d6/d10/cut__rod_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d6/d10/cut__rod_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index fb5cbf488..000000000 --- a/d6/d10/cut__rod_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node2->Node3 - - - - - - - - - - - - - diff --git a/d6/d10/cut__rod_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d6/d10/cut__rod_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 45a7bf100..000000000 --- a/d6/d10/cut__rod_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node2->Node3 - - - - - - - - diff --git a/d6/d10/cut__rod_8cpp_source.html b/d6/d10/cut__rod_8cpp_source.html new file mode 100644 index 000000000..2a48a8527 --- /dev/null +++ b/d6/d10/cut__rod_8cpp_source.html @@ -0,0 +1,220 @@ + + + + + + + + +TheAlgorithms/C++: dynamic_programming/cut_rod.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    cut_rod.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    21#include <array>
    +
    22#include <cassert>
    +
    23#include <climits>
    +
    24#include <cstdint>
    +
    25#include <iostream>
    +
    30namespace dynamic_programming {
    +
    35namespace cut_rod {
    +
    44template <size_t T>
    +
    +
    45int maxProfitByCuttingRod(const std::array<int, T> &price, const uint64_t &n) {
    +
    46 int *profit =
    +
    47 new int[n + 1]; // profit[i] will hold maximum profit for i inch rod
    +
    48
    +
    49 profit[0] = 0; // if length of rod is zero, then no profit
    +
    50
    +
    51 // outer loop will select size of rod, starting from 1 inch to n inch rod.
    +
    52 // inner loop will evaluate the maximum profit we can get for i inch rod by
    +
    53 // making every possible cut on it and will store it in profit[i].
    +
    54 for (size_t i = 1; i <= n; i++) {
    +
    55 int q = INT_MIN;
    +
    56 for (size_t j = 1; j <= i; j++) {
    +
    57 q = std::max(q, price[j - 1] + profit[i - j]);
    +
    58 }
    +
    59 profit[i] = q;
    +
    60 }
    +
    61 const int16_t ans = profit[n];
    +
    62 delete[] profit;
    +
    63 return ans; // returning maximum profit
    +
    64}
    +
    +
    65} // namespace cut_rod
    +
    66} // namespace dynamic_programming
    +
    67
    +
    +
    72static void test() {
    +
    73 // Test 1
    +
    74 const int16_t n1 = 8; // size of rod
    +
    75 std::array<int32_t, n1> price1 = {1, 2, 4, 6, 8, 45, 21, 9}; // price array
    +
    76 const int64_t max_profit1 =
    +
    77 dynamic_programming::cut_rod::maxProfitByCuttingRod(price1, n1);
    +
    78 const int64_t expected_max_profit1 = 47;
    +
    79 assert(max_profit1 == expected_max_profit1);
    +
    80 std::cout << "Maximum profit with " << n1 << " inch road is " << max_profit1
    +
    81 << std::endl;
    +
    82
    +
    83 // Test 2
    +
    84 const int16_t n2 = 30; // size of rod
    +
    85 std::array<int32_t, n2> price2 = {
    +
    86 1, 5, 8, 9, 10, 17, 17, 20, 24, 30, // price array
    +
    87 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
    +
    88 41, 42, 43, 44, 45, 46, 47, 48, 49, 50};
    +
    89
    +
    90 const int64_t max_profit2 =
    +
    91 dynamic_programming::cut_rod::maxProfitByCuttingRod(price2, n2);
    +
    92 const int32_t expected_max_profit2 = 90;
    +
    93 assert(max_profit2 == expected_max_profit2);
    +
    94 std::cout << "Maximum profit with " << n2 << " inch road is " << max_profit2
    +
    95 << std::endl;
    +
    96 // Test 3
    +
    97 const int16_t n3 = 5; // size of rod
    +
    98 std::array<int32_t, n3> price3 = {2, 9, 17, 23, 45}; // price array
    +
    99 const int64_t max_profit3 =
    +
    100 dynamic_programming::cut_rod::maxProfitByCuttingRod(price3, n3);
    +
    101 const int64_t expected_max_profit3 = 45;
    +
    102 assert(max_profit3 == expected_max_profit3);
    +
    103 std::cout << "Maximum profit with " << n3 << " inch road is " << max_profit3
    +
    104 << std::endl;
    +
    105}
    +
    +
    106
    +
    +
    111int main() {
    +
    112 // Testing
    +
    113 test();
    +
    114 return 0;
    +
    115}
    +
    +
    int maxProfitByCuttingRod(const std::array< int, T > &price, const uint64_t &n)
    Cuts the rod in different pieces and stores the maximum profit for each piece of the rod.
    Definition cut_rod.cpp:45
    +
    static void test()
    Function to test above algorithm.
    Definition cut_rod.cpp:72
    +
    int main()
    Main function.
    Definition cut_rod.cpp:111
    +
    Implementation of cutting a rod problem.
    +
    Dynamic Programming algorithms.
    +
    +
    + + + + diff --git a/d6/d1a/dnf__sort_8cpp.html b/d6/d1a/dnf__sort_8cpp.html index 8af4909e0..1761224c0 100644 --- a/d6/d1a/dnf__sort_8cpp.html +++ b/d6/d1a/dnf__sort_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: sorting/dnf_sort.cpp File Reference +TheAlgorithms/C++: sorting/dnf_sort.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -123,7 +140,9 @@ Include dependency graph for dnf_sort.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -136,7 +155,7 @@ Namespaces - + @@ -149,6 +168,8 @@ Functions

    Detailed Description

    Implementation of the DNF sort implementation.

    C++ program to sort an array with 0, 1 and 2 in a single pass(DNF sort). Since one traversal of the array is there hence it works in O(n) time complexity.

    Author
    Sujal Gupta
    + +

    Definition in file dnf_sort.cpp.

    Function Documentation

    ◆ dnfSort()

    @@ -159,9 +180,9 @@ Functions template<typename T >

    Namespaces

    namespace  sorting

    Functions

    template<typename T >
    std::vector< T > sorting::dnf_sort::dnfSort (const std::vector< T > &in_arr)
    std::vector< T > sorting::dnf_sort::dnfSort (const std::vector< T > &in_arr)
     The main function implements DNF sort.
     
    static void test ()
    - + - +
    std::vector< T > sorting::dnf_sort::dnfSort std::vector< T > sorting::dnf_sort::dnfSort (const std::vector< T > & in_arr)const std::vector< T > & in_arr)
    @@ -182,8 +203,10 @@ template<typename T >
    Returns
    void
    + +

    Definition at line 39 of file dnf_sort.cpp.

    39 {
    -
    40 std::vector<T> arr(in_arr);
    +
    40 std::vector<T> arr(in_arr);
    41 uint64_t lo = 0;
    42 uint64_t hi = arr.size() - 1;
    43 uint64_t mid = 0;
    @@ -194,7 +217,7 @@ template<typename T >
    48 switch (arr[mid]) {
    49 // If the element is 0
    50 case 0:
    -
    51 std::swap(arr[lo++], arr[mid++]);
    +
    51 std::swap(arr[lo++], arr[mid++]);
    52 break;
    53
    54 // If the element is 1 .
    @@ -204,20 +227,13 @@ template<typename T >
    58
    59 // If the element is 2
    60 case 2:
    -
    61 std::swap(arr[mid], arr[hi--]);
    +
    61 std::swap(arr[mid], arr[hi--]);
    62 break;
    63 }
    64 }
    65 return arr;
    66}
    -
    T swap(T... args)
    - -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -237,17 +253,14 @@ Here is the call graph for this function:

    Main function.

    Returns
    0 on exit
    + +

    Definition at line 109 of file dnf_sort.cpp.

    109 {
    110 test(); // execute the test
    111 return 0;
    112}
    -
    static void test()
    Self-test implementations.
    Definition dnf_sort.cpp:74
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static void test()
    Self-test implementations.
    Definition dnf_sort.cpp:74
    + @@ -275,48 +288,40 @@ Here is the call graph for this function:

    Self-test implementations.

    Returns
    void
    + +

    Definition at line 74 of file dnf_sort.cpp.

    74 {
    75 // 1st test
    76 // [1, 0, 2, 1] return [0, 1, 1, 2]
    -
    77 std::vector<uint64_t> array1 = {0, 1, 1, 2};
    -
    78 std::cout << "Test 1... ";
    - -
    80 assert(std::is_sorted(std::begin(arr1), std::end(arr1)));
    -
    81 std::cout << "passed" << std::endl;
    +
    77 std::vector<uint64_t> array1 = {0, 1, 1, 2};
    +
    78 std::cout << "Test 1... ";
    +
    79 std::vector<uint64_t> arr1 = sorting::dnf_sort::dnfSort(array1);
    +
    80 assert(std::is_sorted(std::begin(arr1), std::end(arr1)));
    +
    81 std::cout << "passed" << std::endl;
    82 // 2nd test
    83 // [1, 0, 0, 1, 1, 0, 2, 1] return [0, 0, 0, 1, 1, 1, 1, 2]
    -
    84 std::vector<uint64_t> array2 = {1, 0, 0, 1, 1, 0, 2, 1};
    -
    85 std::cout << "Test 2... ";
    - -
    87 assert(std::is_sorted(std::begin(arr2), std::end(arr2)));
    -
    88 std::cout << "passed" << std::endl;
    +
    84 std::vector<uint64_t> array2 = {1, 0, 0, 1, 1, 0, 2, 1};
    +
    85 std::cout << "Test 2... ";
    +
    86 std::vector<uint64_t> arr2 = sorting::dnf_sort::dnfSort(array2);
    +
    87 assert(std::is_sorted(std::begin(arr2), std::end(arr2)));
    +
    88 std::cout << "passed" << std::endl;
    89 // 3rd test
    90 // [1, 1, 0, 0, 1, 2, 2, 0, 2, 1] return [0, 0, 0, 1, 1, 1, 1, 2, 2, 2]
    -
    91 std::vector<uint64_t> array3 = {1, 1, 0, 0, 1, 2, 2, 0, 2, 1};
    -
    92 std::cout << "Test 3... ";
    - -
    94 assert(std::is_sorted(std::begin(arr3), std::end(arr3)));
    -
    95 std::cout << "passed" << std::endl;
    +
    91 std::vector<uint64_t> array3 = {1, 1, 0, 0, 1, 2, 2, 0, 2, 1};
    +
    92 std::cout << "Test 3... ";
    +
    93 std::vector<uint64_t> arr3 = sorting::dnf_sort::dnfSort(array3);
    +
    94 assert(std::is_sorted(std::begin(arr3), std::end(arr3)));
    +
    95 std::cout << "passed" << std::endl;
    96 // 4th test
    97 // [2, 2, 2, 0, 0, 1, 1] return [0, 0, 1, 1, 2, 2, 2]
    -
    98 std::vector<uint64_t> array4 = {2, 2, 2, 0, 0, 1, 1};
    -
    99 std::cout << "Test 4... ";
    - -
    101 assert(std::is_sorted(std::begin(arr4), std::end(arr4)));
    -
    102 std::cout << "passed" << std::endl;
    +
    98 std::vector<uint64_t> array4 = {2, 2, 2, 0, 0, 1, 1};
    +
    99 std::cout << "Test 4... ";
    +
    100 std::vector<uint64_t> arr4 = sorting::dnf_sort::dnfSort(array4);
    +
    101 assert(std::is_sorted(std::begin(arr4), std::end(arr4)));
    +
    102 std::cout << "passed" << std::endl;
    103}
    - -
    T begin(T... args)
    -
    std::vector< T > dnfSort(const std::vector< T > &in_arr)
    The main function implements DNF sort.
    Definition dnf_sort.cpp:39
    -
    T end(T... args)
    -
    T endl(T... args)
    -
    T is_sorted(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    std::vector< T > dnfSort(const std::vector< T > &in_arr)
    The main function implements DNF sort.
    Definition dnf_sort.cpp:39
    + diff --git a/d6/d1a/dnf__sort_8cpp_a621767fe711db64fe57a2ac4987b11f0_cgraph.map b/d6/d1a/dnf__sort_8cpp_a621767fe711db64fe57a2ac4987b11f0_cgraph.map deleted file mode 100644 index cce786143..000000000 --- a/d6/d1a/dnf__sort_8cpp_a621767fe711db64fe57a2ac4987b11f0_cgraph.map +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/d6/d1a/dnf__sort_8cpp_a621767fe711db64fe57a2ac4987b11f0_cgraph.md5 b/d6/d1a/dnf__sort_8cpp_a621767fe711db64fe57a2ac4987b11f0_cgraph.md5 deleted file mode 100644 index fd2100ae4..000000000 --- a/d6/d1a/dnf__sort_8cpp_a621767fe711db64fe57a2ac4987b11f0_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -fc7ec0c88a23cc75fa8d989fd7bfc67d \ No newline at end of file diff --git a/d6/d1a/dnf__sort_8cpp_a621767fe711db64fe57a2ac4987b11f0_cgraph.svg b/d6/d1a/dnf__sort_8cpp_a621767fe711db64fe57a2ac4987b11f0_cgraph.svg deleted file mode 100644 index 5ae50edce..000000000 --- a/d6/d1a/dnf__sort_8cpp_a621767fe711db64fe57a2ac4987b11f0_cgraph.svg +++ /dev/null @@ -1,93 +0,0 @@ - - - - - - - - - - - - -sorting::dnf_sort::dnfSort - - -Node1 - - -sorting::dnf_sort:: -dnfSort - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::vector::size - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::swap - - - - - -Node1->Node3 - - - - - - - - - - - - - diff --git a/d6/d1a/dnf__sort_8cpp_a621767fe711db64fe57a2ac4987b11f0_cgraph_org.svg b/d6/d1a/dnf__sort_8cpp_a621767fe711db64fe57a2ac4987b11f0_cgraph_org.svg deleted file mode 100644 index 8f1b186fd..000000000 --- a/d6/d1a/dnf__sort_8cpp_a621767fe711db64fe57a2ac4987b11f0_cgraph_org.svg +++ /dev/null @@ -1,67 +0,0 @@ - - - - - - -sorting::dnf_sort::dnfSort - - -Node1 - - -sorting::dnf_sort:: -dnfSort - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::vector::size - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::swap - - - - - -Node1->Node3 - - - - - - - - diff --git a/d6/d1a/dnf__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map b/d6/d1a/dnf__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map deleted file mode 100644 index 61bfe74f5..000000000 --- a/d6/d1a/dnf__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/d6/d1a/dnf__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 b/d6/d1a/dnf__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 deleted file mode 100644 index fd351d130..000000000 --- a/d6/d1a/dnf__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -522e993d38257705e4c580d9bd207756 \ No newline at end of file diff --git a/d6/d1a/dnf__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg b/d6/d1a/dnf__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg deleted file mode 100644 index 7eb6dd32d..000000000 --- a/d6/d1a/dnf__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg +++ /dev/null @@ -1,119 +0,0 @@ - - - - - - - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -std::begin - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::end - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::endl - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::is_sorted - - - - - -Node1->Node5 - - - - - - - - - - - - - diff --git a/d6/d1a/dnf__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg b/d6/d1a/dnf__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg deleted file mode 100644 index 1105d6fc6..000000000 --- a/d6/d1a/dnf__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg +++ /dev/null @@ -1,93 +0,0 @@ - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -std::begin - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::end - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::endl - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::is_sorted - - - - - -Node1->Node5 - - - - - - - - diff --git a/d6/d1a/dnf__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d6/d1a/dnf__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 61988d7f5..000000000 --- a/d6/d1a/dnf__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - diff --git a/d6/d1a/dnf__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d6/d1a/dnf__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index e69a218de..000000000 --- a/d6/d1a/dnf__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -18d598829767c6966dc51c1de83ff728 \ No newline at end of file diff --git a/d6/d1a/dnf__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d6/d1a/dnf__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index b995b2645..000000000 --- a/d6/d1a/dnf__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,137 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::begin - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::end - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -std::endl - - - - - -Node2->Node5 - - - - - - - - -Node6 - - -std::is_sorted - - - - - -Node2->Node6 - - - - - - - - - - - - - diff --git a/d6/d1a/dnf__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d6/d1a/dnf__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 55a387e0b..000000000 --- a/d6/d1a/dnf__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,111 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::begin - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::end - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -std::endl - - - - - -Node2->Node5 - - - - - - - - -Node6 - - -std::is_sorted - - - - - -Node2->Node6 - - - - - - - - diff --git a/d6/d1a/dnf__sort_8cpp_source.html b/d6/d1a/dnf__sort_8cpp_source.html new file mode 100644 index 000000000..74406d597 --- /dev/null +++ b/d6/d1a/dnf__sort_8cpp_source.html @@ -0,0 +1,224 @@ + + + + + + + + +TheAlgorithms/C++: sorting/dnf_sort.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    dnf_sort.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    13#include <algorithm>
    +
    14#include <cassert>
    +
    15#include <cstdint>
    +
    16#include <iostream>
    +
    17#include <vector>
    +
    18
    +
    23namespace sorting {
    +
    30namespace dnf_sort {
    +
    38template <typename T>
    +
    +
    39std::vector<T> dnfSort(const std::vector<T> &in_arr) {
    +
    40 std::vector<T> arr(in_arr);
    +
    41 uint64_t lo = 0;
    +
    42 uint64_t hi = arr.size() - 1;
    +
    43 uint64_t mid = 0;
    +
    44
    +
    45 // Iterate till all the elements
    +
    46 // are sorted
    +
    47 while (mid <= hi) {
    +
    48 switch (arr[mid]) {
    +
    49 // If the element is 0
    +
    50 case 0:
    +
    51 std::swap(arr[lo++], arr[mid++]);
    +
    52 break;
    +
    53
    +
    54 // If the element is 1 .
    +
    55 case 1:
    +
    56 mid++;
    +
    57 break;
    +
    58
    +
    59 // If the element is 2
    +
    60 case 2:
    +
    61 std::swap(arr[mid], arr[hi--]);
    +
    62 break;
    +
    63 }
    +
    64 }
    +
    65 return arr;
    +
    66}
    +
    +
    67} // namespace dnf_sort
    +
    68} // namespace sorting
    +
    69
    +
    +
    74static void test() {
    +
    75 // 1st test
    +
    76 // [1, 0, 2, 1] return [0, 1, 1, 2]
    +
    77 std::vector<uint64_t> array1 = {0, 1, 1, 2};
    +
    78 std::cout << "Test 1... ";
    +
    79 std::vector<uint64_t> arr1 = sorting::dnf_sort::dnfSort(array1);
    +
    80 assert(std::is_sorted(std::begin(arr1), std::end(arr1)));
    +
    81 std::cout << "passed" << std::endl;
    +
    82 // 2nd test
    +
    83 // [1, 0, 0, 1, 1, 0, 2, 1] return [0, 0, 0, 1, 1, 1, 1, 2]
    +
    84 std::vector<uint64_t> array2 = {1, 0, 0, 1, 1, 0, 2, 1};
    +
    85 std::cout << "Test 2... ";
    +
    86 std::vector<uint64_t> arr2 = sorting::dnf_sort::dnfSort(array2);
    +
    87 assert(std::is_sorted(std::begin(arr2), std::end(arr2)));
    +
    88 std::cout << "passed" << std::endl;
    +
    89 // 3rd test
    +
    90 // [1, 1, 0, 0, 1, 2, 2, 0, 2, 1] return [0, 0, 0, 1, 1, 1, 1, 2, 2, 2]
    +
    91 std::vector<uint64_t> array3 = {1, 1, 0, 0, 1, 2, 2, 0, 2, 1};
    +
    92 std::cout << "Test 3... ";
    +
    93 std::vector<uint64_t> arr3 = sorting::dnf_sort::dnfSort(array3);
    +
    94 assert(std::is_sorted(std::begin(arr3), std::end(arr3)));
    +
    95 std::cout << "passed" << std::endl;
    +
    96 // 4th test
    +
    97 // [2, 2, 2, 0, 0, 1, 1] return [0, 0, 1, 1, 2, 2, 2]
    +
    98 std::vector<uint64_t> array4 = {2, 2, 2, 0, 0, 1, 1};
    +
    99 std::cout << "Test 4... ";
    +
    100 std::vector<uint64_t> arr4 = sorting::dnf_sort::dnfSort(array4);
    +
    101 assert(std::is_sorted(std::begin(arr4), std::end(arr4)));
    +
    102 std::cout << "passed" << std::endl;
    +
    103}
    +
    +
    104
    +
    +
    109int main() {
    +
    110 test(); // execute the test
    +
    111 return 0;
    +
    112}
    +
    +
    std::vector< T > dnfSort(const std::vector< T > &in_arr)
    The main function implements DNF sort.
    Definition dnf_sort.cpp:39
    +
    static void test()
    Self-test implementations.
    Definition dnf_sort.cpp:74
    +
    int main()
    Main function.
    Definition dnf_sort.cpp:109
    +
    Functions for the DNF sort implementation.
    +
    for working with vectors
    +
    +
    + + + + diff --git a/d6/d1f/class_complex-members.html b/d6/d1f/class_complex-members.html index 874297386..b9b9a1160 100644 --- a/d6/d1f/class_complex-members.html +++ b/d6/d1f/class_complex-members.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Member List +TheAlgorithms/C++: Member List + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/d6/d26/classciphers_1_1_hill_cipher.html b/d6/d26/classciphers_1_1_hill_cipher.html index 0ab010bd9..712fbc15b 100644 --- a/d6/d26/classciphers_1_1_hill_cipher.html +++ b/d6/d26/classciphers_1_1_hill_cipher.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: ciphers::HillCipher Class Reference +TheAlgorithms/C++: ciphers::HillCipher Class Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + @@ -123,13 +140,13 @@ Static Public Member Functions - + - + - +
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    static matrix< int > generate_decryption_key (matrix< int > const &encrypt_key)
     Generate decryption matrix from an encryption matrix key.
     
    static std::pair< matrix< int >, matrix< int > > generate_keys (size_t size, int limit1=0, int limit2=10)
    static std::pair< matrix< int >, matrix< int > > generate_keys (size_t size, int limit1=0, int limit2=10)
     Generate encryption and decryption key pair.
     
    static const std::string encrypt_text (const std::string &text, const matrix< int > &encrypt_key)
    static const std::string encrypt_text (const std::string &text, const matrix< int > &encrypt_key)
     Encrypt a given text using a given key.
     
    static const std::string decrypt_text (const std::string &text, const matrix< int > &decrypt_key)
    static const std::string decrypt_text (const std::string &text, const matrix< int > &decrypt_key)
     Decrypt a given text using a given key.
     
    @@ -147,7 +164,7 @@ Static Private Member Functions - + @@ -156,7 +173,7 @@ Static Private Member Functions - + @@ -167,6 +184,8 @@ Static Private Member Functions
    static const T gcd (T a, T b)
     Compute GCD of two integers using Euler's algorithm.
     
    static const std::valarray< uint8_t > mat_mul (const std::valarray< uint8_t > &vector, const matrix< int > &key)
    static const std::valarray< uint8_t > mat_mul (const std::valarray< uint8_t > &vector, const matrix< int > &key)
     helper function to perform vector multiplication with encryption or decryption matrix
     
    static char get_idx_char (const uint8_t idx)
    static uint8_t get_char_idx (const char ch)
     Get the index of a character in the STRKEY.
     
    static const std::string codec (const std::string &text, const matrix< int > &key)
    static const std::string codec (const std::string &text, const matrix< int > &key)
     Convenience function to perform block cipher operations. The operations are identical for both encryption and decryption.
     
    template<typename T >

    Detailed Description

    Implementation of Hill Cipher algorithm.

    + +

    Definition at line 82 of file hill_cipher.cpp.

    Member Function Documentation

    ◆ codec()

    @@ -178,9 +197,9 @@ Static Private Member Functions - + - + @@ -204,16 +223,18 @@ Static Private Member Functions
    Returns
    encrypted/decrypted output
    + +

    Definition at line 211 of file hill_cipher.cpp.

    212 {
    -
    213 size_t text_len = text.length();
    -
    214 size_t key_len = key.size();
    +
    213 size_t text_len = text.length();
    +
    214 size_t key_len = key.size();
    215
    216 // length of output string must be a multiple of key_len
    217 // create output string and initialize with '\0' character
    218 size_t L2 = text_len % key_len == 0
    219 ? text_len
    220 : text_len + key_len - (text_len % key_len);
    -
    221 std::string coded_text(L2, '\0');
    +
    221 std::string coded_text(L2, '\0');
    222
    223 // temporary array for batch processing
    224 int i;
    @@ -221,7 +242,7 @@ Static Private Member Functions
    226#pragma parallel omp for private(i)
    227#endif
    228 for (i = 0; i < L2 - key_len + 1; i += key_len) {
    -
    229 std::valarray<uint8_t> batch_int(key_len);
    +
    229 std::valarray<uint8_t> batch_int(key_len);
    230 for (size_t j = 0; j < key_len; j++) {
    231 batch_int[j] = get_char_idx(text[i + j]);
    232 }
    @@ -236,18 +257,10 @@ Static Private Member Functions
    241
    242 return coded_text;
    243 }
    - -
    static const std::valarray< uint8_t > mat_mul(const std::valarray< uint8_t > &vector, const matrix< int > &key)
    helper function to perform vector multiplication with encryption or decryption matrix
    Definition hill_cipher.cpp:160
    -
    static uint8_t get_char_idx(const char ch)
    Get the index of a character in the STRKEY.
    Definition hill_cipher.cpp:191
    -
    static const char * STRKEY
    Definition hill_cipher.cpp:74
    -
    T length(T... args)
    - -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static const std::valarray< uint8_t > mat_mul(const std::valarray< uint8_t > &vector, const matrix< int > &key)
    helper function to perform vector multiplication with encryption or decryption matrix
    +
    static uint8_t get_char_idx(const char ch)
    Get the index of a character in the STRKEY.
    +
    static const char * STRKEY
    + @@ -260,9 +273,9 @@ Here is the call graph for this function:
    static const std::string ciphers::HillCipher::codec static const std::string ciphers::HillCipher::codec (const std::string & text, const std::string & text,
    - + - + @@ -286,16 +299,13 @@ Here is the call graph for this function:
    Returns
    decrypted text
    + +

    Definition at line 458 of file hill_cipher.cpp.

    459 {
    460 return codec(text, decrypt_key);
    461 }
    -
    static const std::string codec(const std::string &text, const matrix< int > &key)
    Convenience function to perform block cipher operations. The operations are identical for both encryp...
    Definition hill_cipher.cpp:211
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static const std::string codec(const std::string &text, const matrix< int > &key)
    Convenience function to perform block cipher operations. The operations are identical for both encryp...
    + @@ -308,9 +318,9 @@ Here is the call graph for this function:
    static const std::string ciphers::HillCipher::decrypt_text static const std::string ciphers::HillCipher::decrypt_text (const std::string & text, const std::string & text,
    - + - + @@ -334,15 +344,12 @@ Here is the call graph for this function:
    Returns
    encrypted text
    + +

    Definition at line 446 of file hill_cipher.cpp.

    447 {
    448 return codec(text, encrypt_key);
    449 }
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -383,9 +390,11 @@ template<typename T >
    Returns
    GCD of \(a\) and \(b\)
    + +

    Definition at line 139 of file hill_cipher.cpp.

    139 {
    140 if (b > a) // ensure always a < b
    -
    141 std::swap(a, b);
    +
    141 std::swap(a, b);
    142
    143 while (b != 0) {
    144 T tmp = b;
    @@ -395,13 +404,7 @@ template<typename T >
    148
    149 return a;
    150 }
    -
    T swap(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -435,16 +438,18 @@ Here is the call graph for this function:
    Returns
    Decryption martix
    + +

    Definition at line 372 of file hill_cipher.cpp.

    372 {
    -
    373 size_t size = encrypt_key.size();
    -
    374 int L = std::strlen(STRKEY);
    +
    373 size_t size = encrypt_key.size();
    +
    374 int L = std::strlen(STRKEY);
    375
    -
    376 matrix<int> decrypt_key(size, std::valarray<int>(size));
    +
    376 matrix<int> decrypt_key(size, std::valarray<int>(size));
    377 int det_encrypt = static_cast<int>(determinant_lu(encrypt_key));
    378
    379 int mat_determinant = det_encrypt < 0 ? det_encrypt % L : det_encrypt;
    380
    -
    381 matrix<double> tmp_inverse = get_inverse(encrypt_key);
    +
    381 matrix<double> tmp_inverse = get_inverse(encrypt_key);
    382 double d2 = determinant_lu(decrypt_key);
    383
    384 // find co-prime factor for inversion
    @@ -457,8 +462,8 @@ Here is the call graph for this function:
    391 }
    392
    393 if (det_inv == -1) {
    -
    394 std::cerr << "Could not find a co-prime for inversion\n";
    -
    395 std::exit(EXIT_FAILURE);
    +
    394 std::cerr << "Could not find a co-prime for inversion\n";
    +
    395 std::exit(EXIT_FAILURE);
    396 }
    397
    398 mat_determinant = det_inv * det_encrypt;
    @@ -470,25 +475,16 @@ Here is the call graph for this function:
    404#endif
    405 for (i = 0; i < size; i++) {
    406 for (int j = 0; j < size; j++) {
    -
    407 int temp = std::round(tmp_inverse[i][j] * mat_determinant);
    +
    407 int temp = std::round(tmp_inverse[i][j] * mat_determinant);
    408 decrypt_key[i][j] = modulo(temp, L);
    409 }
    410 }
    411 return decrypt_key;
    412 }
    - -
    static matrix< double > get_inverse(matrix< T > const &A)
    Definition hill_cipher.cpp:251
    -
    T exit(T... args)
    -
    double determinant_lu(const matrix< T > &A)
    Definition lu_decomposition.h:90
    -
    T round(T... args)
    -
    T strlen(T... args)
    - -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static matrix< double > get_inverse(matrix< T > const &A)
    +
    double determinant_lu(const matrix< T > &A)
    +
    std::vector< std::valarray< T > > matrix
    + @@ -537,12 +533,14 @@ Here is the call graph for this function:
    Returns
    Encryption martix
    + +

    Definition at line 340 of file hill_cipher.cpp.

    341 {
    -
    342 matrix<int> encrypt_key(size, std::valarray<int>(size));
    -
    343 matrix<int> min_mat = encrypt_key;
    +
    342 matrix<int> encrypt_key(size, std::valarray<int>(size));
    +
    343 matrix<int> min_mat = encrypt_key;
    344 int mat_determinant = -1; // because matrix has only ints, the
    345 // determinant will also be an int
    -
    346 int L = std::strlen(STRKEY);
    +
    346 int L = std::strlen(STRKEY);
    347
    348 double dd;
    349 do {
    @@ -555,21 +553,15 @@ Here is the call graph for this function:
    356 mat_determinant = (mat_determinant % L);
    357 } while (std::abs(dd) > 1e3 || // while ill-defined
    358 dd < 0.1 || // while singular or negative determinant
    -
    359 !std::isfinite(dd) || // while determinant is not finite
    +
    359 !std::isfinite(dd) || // while determinant is not finite
    360 gcd(mat_determinant, L) != 1); // while no common factors
    361 // std::cout <<
    362
    363 return encrypt_key;
    364 }
    -
    static const T2 rand_range(T1 a, T1 b)
    Function to generate a random integer in a given interval.
    Definition hill_cipher.cpp:93
    -
    static const T gcd(T a, T b)
    Compute GCD of two integers using Euler's algorithm.
    Definition hill_cipher.cpp:139
    -
    T isfinite(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static const T2 rand_range(T1 a, T1 b)
    Function to generate a random integer in a given interval.
    +
    static const T gcd(T a, T b)
    Compute GCD of two integers using Euler's algorithm.
    + @@ -582,7 +574,7 @@ Here is the call graph for this function:
    static const std::string ciphers::HillCipher::encrypt_text static const std::string ciphers::HillCipher::encrypt_text (const std::string & text, const std::string & text,
    - + @@ -613,28 +605,24 @@ Here is the call graph for this function:
    static std::pair< matrix< int >, matrix< int > > ciphers::HillCipher::generate_keys static std::pair< matrix< int >, matrix< int > > ciphers::HillCipher::generate_keys ( size_t size,
    -
    Returns
    std::pair<matrix<int>, matrix<int>> encryption and decryption keys as a pair
    +
    Returns
    std::pair<matrix<int>, matrix<int>> encryption and decryption keys as a pair
    See also
    generate_encryption_key
    + +

    Definition at line 425 of file hill_cipher.cpp.

    427 {
    -
    428 matrix<int> encrypt_key = generate_encryption_key(size);
    -
    429 matrix<int> decrypt_key = generate_decryption_key(encrypt_key);
    +
    428 matrix<int> encrypt_key = generate_encryption_key(size);
    +
    429 matrix<int> decrypt_key = generate_decryption_key(encrypt_key);
    430 double det2 = determinant_lu(decrypt_key);
    431 while (std::abs(det2) < 0.1 || std::abs(det2) > 1e3) {
    432 encrypt_key = generate_encryption_key(size, limit1, limit2);
    433 decrypt_key = generate_decryption_key(encrypt_key);
    434 det2 = determinant_lu(decrypt_key);
    435 }
    -
    436 return std::make_pair(encrypt_key, decrypt_key);
    +
    436 return std::make_pair(encrypt_key, decrypt_key);
    437 }
    -
    static matrix< int > generate_encryption_key(size_t size, int limit1=0, int limit2=10)
    Generate encryption matrix of a given size. Larger size matrices are difficult to generate but provid...
    Definition hill_cipher.cpp:340
    -
    static matrix< int > generate_decryption_key(matrix< int > const &encrypt_key)
    Generate decryption matrix from an encryption matrix key.
    Definition hill_cipher.cpp:372
    -
    T make_pair(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static matrix< int > generate_encryption_key(size_t size, int limit1=0, int limit2=10)
    Generate encryption matrix of a given size. Larger size matrices are difficult to generate but provid...
    +
    static matrix< int > generate_decryption_key(matrix< int > const &encrypt_key)
    Generate decryption matrix from an encryption matrix key.
    + @@ -668,23 +656,20 @@ Here is the call graph for this function:
    Returns
    index of character
    + +

    Definition at line 191 of file hill_cipher.cpp.

    191 {
    -
    192 size_t L = std::strlen(STRKEY);
    +
    192 size_t L = std::strlen(STRKEY);
    193
    194 for (size_t idx = 0; idx <= L; idx++)
    195 if (STRKEY[idx] == ch)
    196 return idx;
    197
    -
    198 std::cerr << __func__ << ":" << __LINE__ << ": (" << ch
    +
    198 std::cerr << __func__ << ":" << __LINE__ << ": (" << ch
    199 << ") Should not reach here!\n";
    200 return 0;
    201 }
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -718,6 +703,8 @@ Here is the call graph for this function:
    Returns
    character at the index
    + +

    Definition at line 183 of file hill_cipher.cpp.

    183{ return STRKEY[idx]; }
    @@ -747,11 +734,13 @@ template<typename T >

    Get matrix inverse using Row-transformations. Given matrix must be a square and non-singular.

    Returns
    inverse matrix
    + +

    Definition at line 251 of file hill_cipher.cpp.

    251 {
    252 // Assuming A is square matrix
    -
    253 size_t N = A.size();
    +
    253 size_t N = A.size();
    254
    - +
    255 matrix<double> inverse(N, std::valarray<double>(N));
    256 for (size_t row = 0; row < N; row++) {
    257 for (size_t col = 0; col < N; col++) {
    258 // create identity matrix
    @@ -759,13 +748,13 @@ template<typename T >
    260 }
    261 }
    262
    -
    263 if (A.size() != A[0].size()) {
    -
    264 std::cerr << "A must be a square matrix!" << std::endl;
    +
    263 if (A.size() != A[0].size()) {
    +
    264 std::cerr << "A must be a square matrix!" << std::endl;
    265 return inverse;
    266 }
    267
    268 // preallocate a temporary matrix identical to A
    - +
    269 matrix<double> temp(N, std::valarray<double>(N));
    270 for (size_t row = 0; row < N; row++) {
    271 for (size_t col = 0; col < N; col++)
    272 temp[row][col] = static_cast<double>(A[row][col]);
    @@ -790,7 +779,7 @@ template<typename T >
    291
    292 if (temp[row][row] == 0) {
    293 // Probably a low-rank matrix and hence singular
    -
    294 std::cerr << "Low-rank matrix, no inverse!" << std::endl;
    +
    294 std::cerr << "Low-rank matrix, no inverse!" << std::endl;
    295 return inverse;
    296 }
    297
    @@ -810,14 +799,8 @@ template<typename T >
    311
    312 return inverse;
    313 }
    -
    T endl(T... args)
    -
    constexpr uint32_t N
    A struct to represent sparse table for min() as their invariant function, for the given array A....
    Definition sparse_table.cpp:48
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    constexpr uint32_t N
    A struct to represent sparse table for min() as their invariant function, for the given array A....
    + @@ -830,9 +813,9 @@ Here is the call graph for this function:
    - + - + @@ -856,12 +839,14 @@ Here is the call graph for this function:
    Returns
    corresponding encrypted or decrypted text
    + +

    Definition at line 160 of file hill_cipher.cpp.

    161 {
    -
    162 std::valarray<uint8_t> out(vector); // make a copy
    +
    162 std::valarray<uint8_t> out(vector); // make a copy
    163
    -
    164 size_t L = std::strlen(STRKEY);
    +
    164 size_t L = std::strlen(STRKEY);
    165
    -
    166 for (size_t i = 0; i < key.size(); i++) {
    +
    166 for (size_t i = 0; i < key.size(); i++) {
    167 int tmp = 0;
    168 for (size_t j = 0; j < vector.size(); j++) {
    169 tmp += key[i][j] * vector[j];
    @@ -871,12 +856,7 @@ Here is the call graph for this function:
    173
    174 return out;
    175 }
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -905,6 +885,8 @@ Here is the call graph for this function:
    static const std::valarray< uint8_t > ciphers::HillCipher::mat_mul static const std::valarray< uint8_t > ciphers::HillCipher::mat_mul (const std::valarray< uint8_t > & vector, const std::valarray< uint8_t > & vector,
    + +

    Definition at line 315 of file hill_cipher.cpp.

    315 {
    316 int ret = a % b;
    317 if (ret < 0)
    @@ -966,6 +948,8 @@ template<typename T1 , typename T2 >
    Returns
    determinant of generated random matrix
    Warning
    There will need to be a balance between the matrix size and the range of random numbers. If the matrix is large, the range of random numbers must be small to have a well defined keys. Or if the matrix is smaller, the random numbers range can be larger. For an 8x8 matrix, range should be no more than \([0,10]\)
    + +

    Definition at line 119 of file hill_cipher.cpp.

    119 {
    120 for (size_t i = 0; i < M->size(); i++) {
    121 for (size_t j = 0; j < M[0][0].size(); j++) {
    @@ -975,13 +959,8 @@ template<typename T1 , typename T2 >
    125
    126 return determinant_lu(*M);
    127 }
    -
    constexpr uint8_t M
    ceil(log2(N)).
    Definition sparse_table.cpp:49
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    constexpr uint8_t M
    ceil(log2(N)).
    + @@ -1028,24 +1007,20 @@ template<typename T1 , typename T2 >
    Returns
    random integer in the interval \([a,b)\)
    + +

    Definition at line 93 of file hill_cipher.cpp.

    93 {
    94 // generate random number between 0 and 1
    -
    95 long double r = static_cast<long double>(std::rand()) / RAND_MAX;
    +
    95 long double r = static_cast<long double>(std::rand()) / RAND_MAX;
    96
    97 // scale and return random number as integer
    98 return static_cast<T2>(r * (b - a) + a);
    99 }
    -
    T rand(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    The documentation for this class was generated from the following file: diff --git a/d6/d26/classciphers_1_1_hill_cipher_a2eb58750b978a93ac5e6eb29e3e570b7_cgraph.map b/d6/d26/classciphers_1_1_hill_cipher_a2eb58750b978a93ac5e6eb29e3e570b7_cgraph.map deleted file mode 100644 index 120afcea7..000000000 --- a/d6/d26/classciphers_1_1_hill_cipher_a2eb58750b978a93ac5e6eb29e3e570b7_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/d6/d26/classciphers_1_1_hill_cipher_a2eb58750b978a93ac5e6eb29e3e570b7_cgraph.md5 b/d6/d26/classciphers_1_1_hill_cipher_a2eb58750b978a93ac5e6eb29e3e570b7_cgraph.md5 deleted file mode 100644 index 1cfa6b85e..000000000 --- a/d6/d26/classciphers_1_1_hill_cipher_a2eb58750b978a93ac5e6eb29e3e570b7_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -b7092b9587ff23e1db173c94b5e751f8 \ No newline at end of file diff --git a/d6/d26/classciphers_1_1_hill_cipher_a2eb58750b978a93ac5e6eb29e3e570b7_cgraph.svg b/d6/d26/classciphers_1_1_hill_cipher_a2eb58750b978a93ac5e6eb29e3e570b7_cgraph.svg deleted file mode 100644 index 040328323..000000000 --- a/d6/d26/classciphers_1_1_hill_cipher_a2eb58750b978a93ac5e6eb29e3e570b7_cgraph.svg +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - - - - - -ciphers::HillCipher::get_inverse - - -Node1 - - -ciphers::HillCipher -::get_inverse - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::vector::size - - - - - -Node1->Node3 - - - - - - - - - - - - - diff --git a/d6/d26/classciphers_1_1_hill_cipher_a2eb58750b978a93ac5e6eb29e3e570b7_cgraph_org.svg b/d6/d26/classciphers_1_1_hill_cipher_a2eb58750b978a93ac5e6eb29e3e570b7_cgraph_org.svg deleted file mode 100644 index 787dc4c03..000000000 --- a/d6/d26/classciphers_1_1_hill_cipher_a2eb58750b978a93ac5e6eb29e3e570b7_cgraph_org.svg +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - -ciphers::HillCipher::get_inverse - - -Node1 - - -ciphers::HillCipher -::get_inverse - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::vector::size - - - - - -Node1->Node3 - - - - - - - - diff --git a/d6/d26/classciphers_1_1_hill_cipher_a405b0a28d66a61239d3565d5256f9cb5_cgraph.map b/d6/d26/classciphers_1_1_hill_cipher_a405b0a28d66a61239d3565d5256f9cb5_cgraph.map deleted file mode 100644 index 029003254..000000000 --- a/d6/d26/classciphers_1_1_hill_cipher_a405b0a28d66a61239d3565d5256f9cb5_cgraph.map +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d6/d26/classciphers_1_1_hill_cipher_a405b0a28d66a61239d3565d5256f9cb5_cgraph.md5 b/d6/d26/classciphers_1_1_hill_cipher_a405b0a28d66a61239d3565d5256f9cb5_cgraph.md5 deleted file mode 100644 index 73dd1c4c1..000000000 --- a/d6/d26/classciphers_1_1_hill_cipher_a405b0a28d66a61239d3565d5256f9cb5_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -13b0558e7de47d803b7a6770926956f5 \ No newline at end of file diff --git a/d6/d26/classciphers_1_1_hill_cipher_a405b0a28d66a61239d3565d5256f9cb5_cgraph.svg b/d6/d26/classciphers_1_1_hill_cipher_a405b0a28d66a61239d3565d5256f9cb5_cgraph.svg deleted file mode 100644 index 086ae4980..000000000 --- a/d6/d26/classciphers_1_1_hill_cipher_a405b0a28d66a61239d3565d5256f9cb5_cgraph.svg +++ /dev/null @@ -1,442 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -ciphers::HillCipher::generate_keys - - -Node1 - - -ciphers::HillCipher -::generate_keys - - - - - -Node2 - - -determinant_lu - - - - - -Node1->Node2 - - - - - - - - -Node5 - - -ciphers::HillCipher -::generate_decryption_key - - - - - -Node1->Node5 - - - - - - - - -Node11 - - -ciphers::HillCipher -::generate_encryption_key - - - - - -Node1->Node11 - - - - - - - - -Node17 - - -std::make_pair - - - - - -Node1->Node17 - - - - - - - - -Node3 - - -lu_decomposition - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::vector::size - - - - - -Node2->Node4 - - - - - - - - -Node3->Node4 - - - - - - - - -Node5->Node2 - - - - - - - - -Node5->Node4 - - - - - - - - -Node6 - - -std::exit - - - - - -Node5->Node6 - - - - - - - - -Node7 - - -ciphers::HillCipher -::get_inverse - - - - - -Node5->Node7 - - - - - - - - -Node9 - - -std::round - - - - - -Node5->Node9 - - - - - - - - -Node10 - - -std::strlen - - - - - -Node5->Node10 - - - - - - - - -Node7->Node4 - - - - - - - - -Node8 - - -std::endl - - - - - -Node7->Node8 - - - - - - - - -Node11->Node10 - - - - - - - - -Node12 - - -ciphers::HillCipher::gcd - - - - - -Node11->Node12 - - - - - - - - -Node14 - - -std::isfinite - - - - - -Node11->Node14 - - - - - - - - -Node15 - - -ciphers::HillCipher -::rand_range - - - - - -Node11->Node15 - - - - - - - - -Node13 - - -std::swap - - - - - -Node12->Node13 - - - - - - - - -Node16 - - -std::rand - - - - - -Node15->Node16 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d6/d26/classciphers_1_1_hill_cipher_a405b0a28d66a61239d3565d5256f9cb5_cgraph_org.svg b/d6/d26/classciphers_1_1_hill_cipher_a405b0a28d66a61239d3565d5256f9cb5_cgraph_org.svg deleted file mode 100644 index 085e2db38..000000000 --- a/d6/d26/classciphers_1_1_hill_cipher_a405b0a28d66a61239d3565d5256f9cb5_cgraph_org.svg +++ /dev/null @@ -1,359 +0,0 @@ - - - - - - -ciphers::HillCipher::generate_keys - - -Node1 - - -ciphers::HillCipher -::generate_keys - - - - - -Node2 - - -determinant_lu - - - - - -Node1->Node2 - - - - - - - - -Node5 - - -ciphers::HillCipher -::generate_decryption_key - - - - - -Node1->Node5 - - - - - - - - -Node11 - - -ciphers::HillCipher -::generate_encryption_key - - - - - -Node1->Node11 - - - - - - - - -Node17 - - -std::make_pair - - - - - -Node1->Node17 - - - - - - - - -Node3 - - -lu_decomposition - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::vector::size - - - - - -Node2->Node4 - - - - - - - - -Node3->Node4 - - - - - - - - -Node5->Node2 - - - - - - - - -Node5->Node4 - - - - - - - - -Node6 - - -std::exit - - - - - -Node5->Node6 - - - - - - - - -Node7 - - -ciphers::HillCipher -::get_inverse - - - - - -Node5->Node7 - - - - - - - - -Node9 - - -std::round - - - - - -Node5->Node9 - - - - - - - - -Node10 - - -std::strlen - - - - - -Node5->Node10 - - - - - - - - -Node7->Node4 - - - - - - - - -Node8 - - -std::endl - - - - - -Node7->Node8 - - - - - - - - -Node11->Node10 - - - - - - - - -Node12 - - -ciphers::HillCipher::gcd - - - - - -Node11->Node12 - - - - - - - - -Node14 - - -std::isfinite - - - - - -Node11->Node14 - - - - - - - - -Node15 - - -ciphers::HillCipher -::rand_range - - - - - -Node11->Node15 - - - - - - - - -Node13 - - -std::swap - - - - - -Node12->Node13 - - - - - - - - -Node16 - - -std::rand - - - - - -Node15->Node16 - - - - - - - - diff --git a/d6/d26/classciphers_1_1_hill_cipher_a427acfac1dbff3f48a2b071d449d965b_cgraph.map b/d6/d26/classciphers_1_1_hill_cipher_a427acfac1dbff3f48a2b071d449d965b_cgraph.map deleted file mode 100644 index 8db607829..000000000 --- a/d6/d26/classciphers_1_1_hill_cipher_a427acfac1dbff3f48a2b071d449d965b_cgraph.map +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - - - - - diff --git a/d6/d26/classciphers_1_1_hill_cipher_a427acfac1dbff3f48a2b071d449d965b_cgraph.md5 b/d6/d26/classciphers_1_1_hill_cipher_a427acfac1dbff3f48a2b071d449d965b_cgraph.md5 deleted file mode 100644 index e097a053b..000000000 --- a/d6/d26/classciphers_1_1_hill_cipher_a427acfac1dbff3f48a2b071d449d965b_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -1e9fd15602774b3f85972e8c3ced99fb \ No newline at end of file diff --git a/d6/d26/classciphers_1_1_hill_cipher_a427acfac1dbff3f48a2b071d449d965b_cgraph.svg b/d6/d26/classciphers_1_1_hill_cipher_a427acfac1dbff3f48a2b071d449d965b_cgraph.svg deleted file mode 100644 index 244f22720..000000000 --- a/d6/d26/classciphers_1_1_hill_cipher_a427acfac1dbff3f48a2b071d449d965b_cgraph.svg +++ /dev/null @@ -1,177 +0,0 @@ - - - - - - - - - - - - -ciphers::HillCipher::decrypt_text - - -Node1 - - -ciphers::HillCipher -::decrypt_text - - - - - -Node2 - - -ciphers::HillCipher -::codec - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -ciphers::HillCipher -::get_char_idx - - - - - -Node2->Node3 - - - - - - - - -Node5 - - -std::string::length - - - - - -Node2->Node5 - - - - - - - - -Node6 - - -ciphers::HillCipher -::mat_mul - - - - - -Node2->Node6 - - - - - - - - -Node7 - - -std::vector::size - - - - - -Node2->Node7 - - - - - - - - -Node4 - - -std::strlen - - - - - -Node3->Node4 - - - - - - - - -Node6->Node4 - - - - - - - - -Node6->Node7 - - - - - - - - - - - - - diff --git a/d6/d26/classciphers_1_1_hill_cipher_a427acfac1dbff3f48a2b071d449d965b_cgraph_org.svg b/d6/d26/classciphers_1_1_hill_cipher_a427acfac1dbff3f48a2b071d449d965b_cgraph_org.svg deleted file mode 100644 index de31e53ce..000000000 --- a/d6/d26/classciphers_1_1_hill_cipher_a427acfac1dbff3f48a2b071d449d965b_cgraph_org.svg +++ /dev/null @@ -1,151 +0,0 @@ - - - - - - -ciphers::HillCipher::decrypt_text - - -Node1 - - -ciphers::HillCipher -::decrypt_text - - - - - -Node2 - - -ciphers::HillCipher -::codec - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -ciphers::HillCipher -::get_char_idx - - - - - -Node2->Node3 - - - - - - - - -Node5 - - -std::string::length - - - - - -Node2->Node5 - - - - - - - - -Node6 - - -ciphers::HillCipher -::mat_mul - - - - - -Node2->Node6 - - - - - - - - -Node7 - - -std::vector::size - - - - - -Node2->Node7 - - - - - - - - -Node4 - - -std::strlen - - - - - -Node3->Node4 - - - - - - - - -Node6->Node4 - - - - - - - - -Node6->Node7 - - - - - - - - diff --git a/d6/d26/classciphers_1_1_hill_cipher_a629be41c1ab78850963e4ce14e1d11d9_cgraph.map b/d6/d26/classciphers_1_1_hill_cipher_a629be41c1ab78850963e4ce14e1d11d9_cgraph.map deleted file mode 100644 index a1e4ee1f4..000000000 --- a/d6/d26/classciphers_1_1_hill_cipher_a629be41c1ab78850963e4ce14e1d11d9_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d6/d26/classciphers_1_1_hill_cipher_a629be41c1ab78850963e4ce14e1d11d9_cgraph.md5 b/d6/d26/classciphers_1_1_hill_cipher_a629be41c1ab78850963e4ce14e1d11d9_cgraph.md5 deleted file mode 100644 index 0e8a0fa7a..000000000 --- a/d6/d26/classciphers_1_1_hill_cipher_a629be41c1ab78850963e4ce14e1d11d9_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -8f33398272a72d7d18d0c0dbf5a4dd76 \ No newline at end of file diff --git a/d6/d26/classciphers_1_1_hill_cipher_a629be41c1ab78850963e4ce14e1d11d9_cgraph.svg b/d6/d26/classciphers_1_1_hill_cipher_a629be41c1ab78850963e4ce14e1d11d9_cgraph.svg deleted file mode 100644 index 3b0270843..000000000 --- a/d6/d26/classciphers_1_1_hill_cipher_a629be41c1ab78850963e4ce14e1d11d9_cgraph.svg +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - - - - - - - -ciphers::HillCipher::rand_range - - -Node1 - - -ciphers::HillCipher -::rand_range - - - - - -Node2 - - -std::rand - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d6/d26/classciphers_1_1_hill_cipher_a629be41c1ab78850963e4ce14e1d11d9_cgraph_org.svg b/d6/d26/classciphers_1_1_hill_cipher_a629be41c1ab78850963e4ce14e1d11d9_cgraph_org.svg deleted file mode 100644 index d89feef13..000000000 --- a/d6/d26/classciphers_1_1_hill_cipher_a629be41c1ab78850963e4ce14e1d11d9_cgraph_org.svg +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - -ciphers::HillCipher::rand_range - - -Node1 - - -ciphers::HillCipher -::rand_range - - - - - -Node2 - - -std::rand - - - - - -Node1->Node2 - - - - - - - - diff --git a/d6/d26/classciphers_1_1_hill_cipher_a642f70fb54cb50b00fb6df7c3f2b120e_cgraph.map b/d6/d26/classciphers_1_1_hill_cipher_a642f70fb54cb50b00fb6df7c3f2b120e_cgraph.map deleted file mode 100644 index 0b6792975..000000000 --- a/d6/d26/classciphers_1_1_hill_cipher_a642f70fb54cb50b00fb6df7c3f2b120e_cgraph.map +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/d6/d26/classciphers_1_1_hill_cipher_a642f70fb54cb50b00fb6df7c3f2b120e_cgraph.md5 b/d6/d26/classciphers_1_1_hill_cipher_a642f70fb54cb50b00fb6df7c3f2b120e_cgraph.md5 deleted file mode 100644 index 18c385f04..000000000 --- a/d6/d26/classciphers_1_1_hill_cipher_a642f70fb54cb50b00fb6df7c3f2b120e_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -0ce67b441b24c75245a673faf5d7575e \ No newline at end of file diff --git a/d6/d26/classciphers_1_1_hill_cipher_a642f70fb54cb50b00fb6df7c3f2b120e_cgraph.svg b/d6/d26/classciphers_1_1_hill_cipher_a642f70fb54cb50b00fb6df7c3f2b120e_cgraph.svg deleted file mode 100644 index 447347f31..000000000 --- a/d6/d26/classciphers_1_1_hill_cipher_a642f70fb54cb50b00fb6df7c3f2b120e_cgraph.svg +++ /dev/null @@ -1,157 +0,0 @@ - - - - - - - - - - - - -ciphers::HillCipher::generate_encryption_key - - -Node1 - - -ciphers::HillCipher -::generate_encryption_key - - - - - -Node2 - - -ciphers::HillCipher::gcd - - - - - -Node1->Node2 - - - - - - - - -Node4 - - -std::isfinite - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -ciphers::HillCipher -::rand_range - - - - - -Node1->Node5 - - - - - - - - -Node7 - - -std::strlen - - - - - -Node1->Node7 - - - - - - - - -Node3 - - -std::swap - - - - - -Node2->Node3 - - - - - - - - -Node6 - - -std::rand - - - - - -Node5->Node6 - - - - - - - - - - - - - diff --git a/d6/d26/classciphers_1_1_hill_cipher_a642f70fb54cb50b00fb6df7c3f2b120e_cgraph_org.svg b/d6/d26/classciphers_1_1_hill_cipher_a642f70fb54cb50b00fb6df7c3f2b120e_cgraph_org.svg deleted file mode 100644 index bba4a1109..000000000 --- a/d6/d26/classciphers_1_1_hill_cipher_a642f70fb54cb50b00fb6df7c3f2b120e_cgraph_org.svg +++ /dev/null @@ -1,131 +0,0 @@ - - - - - - -ciphers::HillCipher::generate_encryption_key - - -Node1 - - -ciphers::HillCipher -::generate_encryption_key - - - - - -Node2 - - -ciphers::HillCipher::gcd - - - - - -Node1->Node2 - - - - - - - - -Node4 - - -std::isfinite - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -ciphers::HillCipher -::rand_range - - - - - -Node1->Node5 - - - - - - - - -Node7 - - -std::strlen - - - - - -Node1->Node7 - - - - - - - - -Node3 - - -std::swap - - - - - -Node2->Node3 - - - - - - - - -Node6 - - -std::rand - - - - - -Node5->Node6 - - - - - - - - diff --git a/d6/d26/classciphers_1_1_hill_cipher_a716d0313141499d16f57c0c107f04395_cgraph.map b/d6/d26/classciphers_1_1_hill_cipher_a716d0313141499d16f57c0c107f04395_cgraph.map deleted file mode 100644 index 3d08bfbb7..000000000 --- a/d6/d26/classciphers_1_1_hill_cipher_a716d0313141499d16f57c0c107f04395_cgraph.map +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - - - - - diff --git a/d6/d26/classciphers_1_1_hill_cipher_a716d0313141499d16f57c0c107f04395_cgraph.md5 b/d6/d26/classciphers_1_1_hill_cipher_a716d0313141499d16f57c0c107f04395_cgraph.md5 deleted file mode 100644 index 8fac02d42..000000000 --- a/d6/d26/classciphers_1_1_hill_cipher_a716d0313141499d16f57c0c107f04395_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -26747933d9c87e5e1103a29c2b37738b \ No newline at end of file diff --git a/d6/d26/classciphers_1_1_hill_cipher_a716d0313141499d16f57c0c107f04395_cgraph.svg b/d6/d26/classciphers_1_1_hill_cipher_a716d0313141499d16f57c0c107f04395_cgraph.svg deleted file mode 100644 index f3fd3e900..000000000 --- a/d6/d26/classciphers_1_1_hill_cipher_a716d0313141499d16f57c0c107f04395_cgraph.svg +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - - - - - - - -ciphers::HillCipher::rand_range - - -Node1 - - -ciphers::HillCipher -::rand_range - - - - - -Node2 - - -determinant_lu - - - - - -Node1->Node2 - - - - - - - - -Node5 - - -ciphers::HillCipher -::rand_range - - - - - -Node1->Node5 - - - - - - - - -Node3 - - -lu_decomposition - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::vector::size - - - - - -Node2->Node4 - - - - - - - - -Node3->Node4 - - - - - - - - -Node6 - - -std::rand - - - - - -Node5->Node6 - - - - - - - - - - - - - diff --git a/d6/d26/classciphers_1_1_hill_cipher_a716d0313141499d16f57c0c107f04395_cgraph_org.svg b/d6/d26/classciphers_1_1_hill_cipher_a716d0313141499d16f57c0c107f04395_cgraph_org.svg deleted file mode 100644 index c0aab8fc1..000000000 --- a/d6/d26/classciphers_1_1_hill_cipher_a716d0313141499d16f57c0c107f04395_cgraph_org.svg +++ /dev/null @@ -1,122 +0,0 @@ - - - - - - -ciphers::HillCipher::rand_range - - -Node1 - - -ciphers::HillCipher -::rand_range - - - - - -Node2 - - -determinant_lu - - - - - -Node1->Node2 - - - - - - - - -Node5 - - -ciphers::HillCipher -::rand_range - - - - - -Node1->Node5 - - - - - - - - -Node3 - - -lu_decomposition - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::vector::size - - - - - -Node2->Node4 - - - - - - - - -Node3->Node4 - - - - - - - - -Node6 - - -std::rand - - - - - -Node5->Node6 - - - - - - - - diff --git a/d6/d26/classciphers_1_1_hill_cipher_a7760f3665651a0a37937c79c62f219c0_cgraph.map b/d6/d26/classciphers_1_1_hill_cipher_a7760f3665651a0a37937c79c62f219c0_cgraph.map deleted file mode 100644 index 9b27db6f1..000000000 --- a/d6/d26/classciphers_1_1_hill_cipher_a7760f3665651a0a37937c79c62f219c0_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d6/d26/classciphers_1_1_hill_cipher_a7760f3665651a0a37937c79c62f219c0_cgraph.md5 b/d6/d26/classciphers_1_1_hill_cipher_a7760f3665651a0a37937c79c62f219c0_cgraph.md5 deleted file mode 100644 index 137ae192d..000000000 --- a/d6/d26/classciphers_1_1_hill_cipher_a7760f3665651a0a37937c79c62f219c0_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -9522b1abdd2e3aa1fc1b2bb1cf1b3219 \ No newline at end of file diff --git a/d6/d26/classciphers_1_1_hill_cipher_a7760f3665651a0a37937c79c62f219c0_cgraph.svg b/d6/d26/classciphers_1_1_hill_cipher_a7760f3665651a0a37937c79c62f219c0_cgraph.svg deleted file mode 100644 index 2d1629e8f..000000000 --- a/d6/d26/classciphers_1_1_hill_cipher_a7760f3665651a0a37937c79c62f219c0_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -ciphers::HillCipher::gcd - - -Node1 - - -ciphers::HillCipher::gcd - - - - - -Node2 - - -std::swap - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d6/d26/classciphers_1_1_hill_cipher_a7760f3665651a0a37937c79c62f219c0_cgraph_org.svg b/d6/d26/classciphers_1_1_hill_cipher_a7760f3665651a0a37937c79c62f219c0_cgraph_org.svg deleted file mode 100644 index 5a4775e53..000000000 --- a/d6/d26/classciphers_1_1_hill_cipher_a7760f3665651a0a37937c79c62f219c0_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -ciphers::HillCipher::gcd - - -Node1 - - -ciphers::HillCipher::gcd - - - - - -Node2 - - -std::swap - - - - - -Node1->Node2 - - - - - - - - diff --git a/d6/d26/classciphers_1_1_hill_cipher_aa8bbb6e4a5749f6008b06602d5103917_cgraph.map b/d6/d26/classciphers_1_1_hill_cipher_aa8bbb6e4a5749f6008b06602d5103917_cgraph.map deleted file mode 100644 index 6ac05c5ba..000000000 --- a/d6/d26/classciphers_1_1_hill_cipher_aa8bbb6e4a5749f6008b06602d5103917_cgraph.map +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - - - - - diff --git a/d6/d26/classciphers_1_1_hill_cipher_aa8bbb6e4a5749f6008b06602d5103917_cgraph.md5 b/d6/d26/classciphers_1_1_hill_cipher_aa8bbb6e4a5749f6008b06602d5103917_cgraph.md5 deleted file mode 100644 index b1c80fb9d..000000000 --- a/d6/d26/classciphers_1_1_hill_cipher_aa8bbb6e4a5749f6008b06602d5103917_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -3d7eecba584093d810d2849b78a5ac8e \ No newline at end of file diff --git a/d6/d26/classciphers_1_1_hill_cipher_aa8bbb6e4a5749f6008b06602d5103917_cgraph.svg b/d6/d26/classciphers_1_1_hill_cipher_aa8bbb6e4a5749f6008b06602d5103917_cgraph.svg deleted file mode 100644 index 017d2166a..000000000 --- a/d6/d26/classciphers_1_1_hill_cipher_aa8bbb6e4a5749f6008b06602d5103917_cgraph.svg +++ /dev/null @@ -1,177 +0,0 @@ - - - - - - - - - - - - -ciphers::HillCipher::encrypt_text - - -Node1 - - -ciphers::HillCipher -::encrypt_text - - - - - -Node2 - - -ciphers::HillCipher -::codec - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -ciphers::HillCipher -::get_char_idx - - - - - -Node2->Node3 - - - - - - - - -Node5 - - -std::string::length - - - - - -Node2->Node5 - - - - - - - - -Node6 - - -ciphers::HillCipher -::mat_mul - - - - - -Node2->Node6 - - - - - - - - -Node7 - - -std::vector::size - - - - - -Node2->Node7 - - - - - - - - -Node4 - - -std::strlen - - - - - -Node3->Node4 - - - - - - - - -Node6->Node4 - - - - - - - - -Node6->Node7 - - - - - - - - - - - - - diff --git a/d6/d26/classciphers_1_1_hill_cipher_aa8bbb6e4a5749f6008b06602d5103917_cgraph_org.svg b/d6/d26/classciphers_1_1_hill_cipher_aa8bbb6e4a5749f6008b06602d5103917_cgraph_org.svg deleted file mode 100644 index 32cc56905..000000000 --- a/d6/d26/classciphers_1_1_hill_cipher_aa8bbb6e4a5749f6008b06602d5103917_cgraph_org.svg +++ /dev/null @@ -1,151 +0,0 @@ - - - - - - -ciphers::HillCipher::encrypt_text - - -Node1 - - -ciphers::HillCipher -::encrypt_text - - - - - -Node2 - - -ciphers::HillCipher -::codec - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -ciphers::HillCipher -::get_char_idx - - - - - -Node2->Node3 - - - - - - - - -Node5 - - -std::string::length - - - - - -Node2->Node5 - - - - - - - - -Node6 - - -ciphers::HillCipher -::mat_mul - - - - - -Node2->Node6 - - - - - - - - -Node7 - - -std::vector::size - - - - - -Node2->Node7 - - - - - - - - -Node4 - - -std::strlen - - - - - -Node3->Node4 - - - - - - - - -Node6->Node4 - - - - - - - - -Node6->Node7 - - - - - - - - diff --git a/d6/d26/classciphers_1_1_hill_cipher_ab02c7563889bf1e363deb8e21967b706_cgraph.map b/d6/d26/classciphers_1_1_hill_cipher_ab02c7563889bf1e363deb8e21967b706_cgraph.map deleted file mode 100644 index 6b19da8d2..000000000 --- a/d6/d26/classciphers_1_1_hill_cipher_ab02c7563889bf1e363deb8e21967b706_cgraph.map +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - diff --git a/d6/d26/classciphers_1_1_hill_cipher_ab02c7563889bf1e363deb8e21967b706_cgraph.md5 b/d6/d26/classciphers_1_1_hill_cipher_ab02c7563889bf1e363deb8e21967b706_cgraph.md5 deleted file mode 100644 index 99a3d4069..000000000 --- a/d6/d26/classciphers_1_1_hill_cipher_ab02c7563889bf1e363deb8e21967b706_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -912120f7e679f32f580e4a45945f40ee \ No newline at end of file diff --git a/d6/d26/classciphers_1_1_hill_cipher_ab02c7563889bf1e363deb8e21967b706_cgraph.svg b/d6/d26/classciphers_1_1_hill_cipher_ab02c7563889bf1e363deb8e21967b706_cgraph.svg deleted file mode 100644 index 4faf88d32..000000000 --- a/d6/d26/classciphers_1_1_hill_cipher_ab02c7563889bf1e363deb8e21967b706_cgraph.svg +++ /dev/null @@ -1,277 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -ciphers::HillCipher::generate_decryption_key - - -Node1 - - -ciphers::HillCipher -::generate_decryption_key - - - - - -Node2 - - -determinant_lu - - - - - -Node1->Node2 - - - - - - - - -Node4 - - -std::vector::size - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::exit - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -ciphers::HillCipher -::get_inverse - - - - - -Node1->Node6 - - - - - - - - -Node8 - - -std::round - - - - - -Node1->Node8 - - - - - - - - -Node9 - - -std::strlen - - - - - -Node1->Node9 - - - - - - - - -Node3 - - -lu_decomposition - - - - - -Node2->Node3 - - - - - - - - -Node2->Node4 - - - - - - - - -Node3->Node4 - - - - - - - - -Node6->Node4 - - - - - - - - -Node7 - - -std::endl - - - - - -Node6->Node7 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d6/d26/classciphers_1_1_hill_cipher_ab02c7563889bf1e363deb8e21967b706_cgraph_org.svg b/d6/d26/classciphers_1_1_hill_cipher_ab02c7563889bf1e363deb8e21967b706_cgraph_org.svg deleted file mode 100644 index b118ec9ca..000000000 --- a/d6/d26/classciphers_1_1_hill_cipher_ab02c7563889bf1e363deb8e21967b706_cgraph_org.svg +++ /dev/null @@ -1,194 +0,0 @@ - - - - - - -ciphers::HillCipher::generate_decryption_key - - -Node1 - - -ciphers::HillCipher -::generate_decryption_key - - - - - -Node2 - - -determinant_lu - - - - - -Node1->Node2 - - - - - - - - -Node4 - - -std::vector::size - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::exit - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -ciphers::HillCipher -::get_inverse - - - - - -Node1->Node6 - - - - - - - - -Node8 - - -std::round - - - - - -Node1->Node8 - - - - - - - - -Node9 - - -std::strlen - - - - - -Node1->Node9 - - - - - - - - -Node3 - - -lu_decomposition - - - - - -Node2->Node3 - - - - - - - - -Node2->Node4 - - - - - - - - -Node3->Node4 - - - - - - - - -Node6->Node4 - - - - - - - - -Node7 - - -std::endl - - - - - -Node6->Node7 - - - - - - - - diff --git a/d6/d26/classciphers_1_1_hill_cipher_ad36cbcc7a458b3f3a2af0c4aa1126590_cgraph.map b/d6/d26/classciphers_1_1_hill_cipher_ad36cbcc7a458b3f3a2af0c4aa1126590_cgraph.map deleted file mode 100644 index 6f5f67a01..000000000 --- a/d6/d26/classciphers_1_1_hill_cipher_ad36cbcc7a458b3f3a2af0c4aa1126590_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/d6/d26/classciphers_1_1_hill_cipher_ad36cbcc7a458b3f3a2af0c4aa1126590_cgraph.md5 b/d6/d26/classciphers_1_1_hill_cipher_ad36cbcc7a458b3f3a2af0c4aa1126590_cgraph.md5 deleted file mode 100644 index 6d8515304..000000000 --- a/d6/d26/classciphers_1_1_hill_cipher_ad36cbcc7a458b3f3a2af0c4aa1126590_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -09476af234198747f53d062967c0e7b6 \ No newline at end of file diff --git a/d6/d26/classciphers_1_1_hill_cipher_ad36cbcc7a458b3f3a2af0c4aa1126590_cgraph.svg b/d6/d26/classciphers_1_1_hill_cipher_ad36cbcc7a458b3f3a2af0c4aa1126590_cgraph.svg deleted file mode 100644 index ade278b80..000000000 --- a/d6/d26/classciphers_1_1_hill_cipher_ad36cbcc7a458b3f3a2af0c4aa1126590_cgraph.svg +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - - - - - -ciphers::HillCipher::mat_mul - - -Node1 - - -ciphers::HillCipher -::mat_mul - - - - - -Node2 - - -std::vector::size - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::strlen - - - - - -Node1->Node3 - - - - - - - - - - - - - diff --git a/d6/d26/classciphers_1_1_hill_cipher_ad36cbcc7a458b3f3a2af0c4aa1126590_cgraph_org.svg b/d6/d26/classciphers_1_1_hill_cipher_ad36cbcc7a458b3f3a2af0c4aa1126590_cgraph_org.svg deleted file mode 100644 index 521c1213c..000000000 --- a/d6/d26/classciphers_1_1_hill_cipher_ad36cbcc7a458b3f3a2af0c4aa1126590_cgraph_org.svg +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - -ciphers::HillCipher::mat_mul - - -Node1 - - -ciphers::HillCipher -::mat_mul - - - - - -Node2 - - -std::vector::size - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::strlen - - - - - -Node1->Node3 - - - - - - - - diff --git a/d6/d26/classciphers_1_1_hill_cipher_ad667fa0860977f6d6d443fa1dbcd80aa_cgraph.map b/d6/d26/classciphers_1_1_hill_cipher_ad667fa0860977f6d6d443fa1dbcd80aa_cgraph.map deleted file mode 100644 index cc6ccbaf3..000000000 --- a/d6/d26/classciphers_1_1_hill_cipher_ad667fa0860977f6d6d443fa1dbcd80aa_cgraph.map +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/d6/d26/classciphers_1_1_hill_cipher_ad667fa0860977f6d6d443fa1dbcd80aa_cgraph.md5 b/d6/d26/classciphers_1_1_hill_cipher_ad667fa0860977f6d6d443fa1dbcd80aa_cgraph.md5 deleted file mode 100644 index 868d8d96d..000000000 --- a/d6/d26/classciphers_1_1_hill_cipher_ad667fa0860977f6d6d443fa1dbcd80aa_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -6f3cbf785e4364067f878f2539597eb4 \ No newline at end of file diff --git a/d6/d26/classciphers_1_1_hill_cipher_ad667fa0860977f6d6d443fa1dbcd80aa_cgraph.svg b/d6/d26/classciphers_1_1_hill_cipher_ad667fa0860977f6d6d443fa1dbcd80aa_cgraph.svg deleted file mode 100644 index 295d7c7da..000000000 --- a/d6/d26/classciphers_1_1_hill_cipher_ad667fa0860977f6d6d443fa1dbcd80aa_cgraph.svg +++ /dev/null @@ -1,158 +0,0 @@ - - - - - - - - - - - - -ciphers::HillCipher::codec - - -Node1 - - -ciphers::HillCipher -::codec - - - - - -Node2 - - -ciphers::HillCipher -::get_char_idx - - - - - -Node1->Node2 - - - - - - - - -Node4 - - -std::string::length - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -ciphers::HillCipher -::mat_mul - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -std::vector::size - - - - - -Node1->Node6 - - - - - - - - -Node3 - - -std::strlen - - - - - -Node2->Node3 - - - - - - - - -Node5->Node3 - - - - - - - - -Node5->Node6 - - - - - - - - - - - - - diff --git a/d6/d26/classciphers_1_1_hill_cipher_ad667fa0860977f6d6d443fa1dbcd80aa_cgraph_org.svg b/d6/d26/classciphers_1_1_hill_cipher_ad667fa0860977f6d6d443fa1dbcd80aa_cgraph_org.svg deleted file mode 100644 index e40e4d683..000000000 --- a/d6/d26/classciphers_1_1_hill_cipher_ad667fa0860977f6d6d443fa1dbcd80aa_cgraph_org.svg +++ /dev/null @@ -1,132 +0,0 @@ - - - - - - -ciphers::HillCipher::codec - - -Node1 - - -ciphers::HillCipher -::codec - - - - - -Node2 - - -ciphers::HillCipher -::get_char_idx - - - - - -Node1->Node2 - - - - - - - - -Node4 - - -std::string::length - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -ciphers::HillCipher -::mat_mul - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -std::vector::size - - - - - -Node1->Node6 - - - - - - - - -Node3 - - -std::strlen - - - - - -Node2->Node3 - - - - - - - - -Node5->Node3 - - - - - - - - -Node5->Node6 - - - - - - - - diff --git a/d6/d26/classciphers_1_1_hill_cipher_ae77cad522fa44b8c985779a7188d2f41_cgraph.map b/d6/d26/classciphers_1_1_hill_cipher_ae77cad522fa44b8c985779a7188d2f41_cgraph.map deleted file mode 100644 index 61dade0b2..000000000 --- a/d6/d26/classciphers_1_1_hill_cipher_ae77cad522fa44b8c985779a7188d2f41_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d6/d26/classciphers_1_1_hill_cipher_ae77cad522fa44b8c985779a7188d2f41_cgraph.md5 b/d6/d26/classciphers_1_1_hill_cipher_ae77cad522fa44b8c985779a7188d2f41_cgraph.md5 deleted file mode 100644 index e97ec9ebb..000000000 --- a/d6/d26/classciphers_1_1_hill_cipher_ae77cad522fa44b8c985779a7188d2f41_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -96b430abeee89a28af9838ad7cee68ff \ No newline at end of file diff --git a/d6/d26/classciphers_1_1_hill_cipher_ae77cad522fa44b8c985779a7188d2f41_cgraph.svg b/d6/d26/classciphers_1_1_hill_cipher_ae77cad522fa44b8c985779a7188d2f41_cgraph.svg deleted file mode 100644 index f6bc420b9..000000000 --- a/d6/d26/classciphers_1_1_hill_cipher_ae77cad522fa44b8c985779a7188d2f41_cgraph.svg +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - - - - - - - -ciphers::HillCipher::get_char_idx - - -Node1 - - -ciphers::HillCipher -::get_char_idx - - - - - -Node2 - - -std::strlen - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d6/d26/classciphers_1_1_hill_cipher_ae77cad522fa44b8c985779a7188d2f41_cgraph_org.svg b/d6/d26/classciphers_1_1_hill_cipher_ae77cad522fa44b8c985779a7188d2f41_cgraph_org.svg deleted file mode 100644 index a42fd8a51..000000000 --- a/d6/d26/classciphers_1_1_hill_cipher_ae77cad522fa44b8c985779a7188d2f41_cgraph_org.svg +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - -ciphers::HillCipher::get_char_idx - - -Node1 - - -ciphers::HillCipher -::get_char_idx - - - - - -Node2 - - -std::strlen - - - - - -Node1->Node2 - - - - - - - - diff --git a/d6/d26/house__robber_8cpp.html b/d6/d26/house__robber_8cpp.html index b617cb1a7..0bb2ce94e 100644 --- a/d6/d26/house__robber_8cpp.html +++ b/d6/d26/house__robber_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: dynamic_programming/house_robber.cpp File Reference +TheAlgorithms/C++: dynamic_programming/house_robber.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -123,7 +140,9 @@ Include dependency graph for house_robber.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -135,7 +154,7 @@ Namespaces

    Namespaces

    namespace  dynamic_programming
    - + @@ -148,6 +167,8 @@ Functions

    Detailed Description

    Implementation of House Robber Problem algorithm.

    Solution of House robber problem uses a dynamic programming concept that works in \(O(n)\) time and works in \(O(1)\) space.

    Author
    Swastika Gupta
    + +

    Definition in file house_robber.cpp.

    Function Documentation

    ◆ houseRobber()

    @@ -156,9 +177,9 @@ Functions

    Functions

    std::uint32_t dynamic_programming::house_robber::houseRobber (const std::vector< uint32_t > &money, const uint32_t &n)
    std::uint32_t dynamic_programming::house_robber::houseRobber (const std::vector< uint32_t > &money, const uint32_t &n)
     The main function that implements the House Robber algorithm using dynamic programming.
     
    static void test ()
    - + - + @@ -177,6 +198,8 @@ Functions
    Returns
    maximum amount of money that can be robbed
    + +

    Definition at line 36 of file house_robber.cpp.

    37 {
    38 if (n == 0) { // if there is no house
    39 return 0;
    @@ -186,26 +209,20 @@ Functions
    43 }
    44 if (n == 2) { // if there are two houses, one with the maximum amount of
    45 // money will be robbed
    -
    46 return std::max(money[0], money[1]);
    +
    46 return std::max(money[0], money[1]);
    47 }
    48 uint32_t max_value = 0; // contains maximum stolen value at the end
    49 uint32_t value1 = money[0];
    -
    50 uint32_t value2 = std::max(money[0], money[1]);
    +
    50 uint32_t value2 = std::max(money[0], money[1]);
    51 for (uint32_t i = 2; i < n; i++) {
    -
    52 max_value = std::max(money[i] + value1, value2);
    +
    52 max_value = std::max(money[i] + value1, value2);
    53 value1 = value2;
    54 value2 = max_value;
    55 }
    56
    57 return max_value;
    58}
    -
    T max(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -225,17 +242,14 @@ Here is the call graph for this function:

    Main function.

    Returns
    0 on exit
    + +

    Definition at line 111 of file house_robber.cpp.

    111 {
    112 test(); // run self-test implementations
    113 return 0;
    114}
    -
    static void test()
    Self-test implementations.
    Definition house_robber.cpp:66
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static void test()
    Self-test implementations.
    + @@ -263,56 +277,49 @@ Here is the call graph for this function:

    Self-test implementations.

    Returns
    void
    + +

    Definition at line 66 of file house_robber.cpp.

    66 {
    67 // Test 1
    68 // [1, 2, 3, 1] return 4
    -
    69 std::vector<uint32_t> array1 = {1, 2, 3, 1};
    -
    70 std::cout << "Test 1... ";
    +
    69 std::vector<uint32_t> array1 = {1, 2, 3, 1};
    +
    70 std::cout << "Test 1... ";
    71 assert(
    -
    72 dynamic_programming::house_robber::houseRobber(array1, array1.size()) ==
    +
    72 dynamic_programming::house_robber::houseRobber(array1, array1.size()) ==
    73 4); // here the two non-adjacent houses that are robbed are first and
    74 // third with total sum money as 4
    -
    75 std::cout << "passed" << std::endl;
    +
    75 std::cout << "passed" << std::endl;
    76
    77 // Test 2
    78 // [6, 7, 1, 3, 8, 2, 4] return 19
    -
    79 std::vector<uint32_t> array2 = {6, 7, 1, 3, 8, 2, 4};
    -
    80 std::cout << "Test 2... ";
    +
    79 std::vector<uint32_t> array2 = {6, 7, 1, 3, 8, 2, 4};
    +
    80 std::cout << "Test 2... ";
    81 assert(
    -
    82 dynamic_programming::house_robber::houseRobber(array2, array2.size()) ==
    +
    82 dynamic_programming::house_robber::houseRobber(array2, array2.size()) ==
    83 19); // here the four non-adjacent houses that are robbed are first,
    84 // third, fifth and seventh with total sum money as 19
    -
    85 std::cout << "passed" << std::endl;
    +
    85 std::cout << "passed" << std::endl;
    86
    87 // Test 3
    88 // [] return 0
    -
    89 std::vector<uint32_t> array3 = {};
    -
    90 std::cout << "Test 3... ";
    +
    89 std::vector<uint32_t> array3 = {};
    +
    90 std::cout << "Test 3... ";
    91 assert(
    -
    92 dynamic_programming::house_robber::houseRobber(array3, array3.size()) ==
    +
    92 dynamic_programming::house_robber::houseRobber(array3, array3.size()) ==
    93 0); // since there is no house no money can be robbed
    -
    94 std::cout << "passed" << std::endl;
    +
    94 std::cout << "passed" << std::endl;
    95
    96 // Test 4
    97 // [2,7,9,3,1] return 12
    -
    98 std::vector<uint32_t> array4 = {2, 7, 9, 3, 1};
    -
    99 std::cout << "Test 4... ";
    +
    98 std::vector<uint32_t> array4 = {2, 7, 9, 3, 1};
    +
    99 std::cout << "Test 4... ";
    100 assert(
    -
    101 dynamic_programming::house_robber::houseRobber(array4, array4.size()) ==
    +
    101 dynamic_programming::house_robber::houseRobber(array4, array4.size()) ==
    102 12); // here the three non-adjacent houses that are robbed are first,
    103 // third and fifth with total sum money as 12
    -
    104 std::cout << "passed" << std::endl;
    +
    104 std::cout << "passed" << std::endl;
    105}
    - -
    T endl(T... args)
    -
    T size(T... args)
    - -
    -Here is the call graph for this function:
    -
    -
    -
    - + diff --git a/d6/d26/house__robber_8cpp_a1e497c3e3f169afe5baaae6a5d40cbc8_cgraph.map b/d6/d26/house__robber_8cpp_a1e497c3e3f169afe5baaae6a5d40cbc8_cgraph.map deleted file mode 100644 index e2f5757b1..000000000 --- a/d6/d26/house__robber_8cpp_a1e497c3e3f169afe5baaae6a5d40cbc8_cgraph.map +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/d6/d26/house__robber_8cpp_a1e497c3e3f169afe5baaae6a5d40cbc8_cgraph.md5 b/d6/d26/house__robber_8cpp_a1e497c3e3f169afe5baaae6a5d40cbc8_cgraph.md5 deleted file mode 100644 index 7cc55d50c..000000000 --- a/d6/d26/house__robber_8cpp_a1e497c3e3f169afe5baaae6a5d40cbc8_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -2c4f1cfa3cc678a8aebf3f6ec7c49071 \ No newline at end of file diff --git a/d6/d26/house__robber_8cpp_a1e497c3e3f169afe5baaae6a5d40cbc8_cgraph.svg b/d6/d26/house__robber_8cpp_a1e497c3e3f169afe5baaae6a5d40cbc8_cgraph.svg deleted file mode 100644 index 2a11e495a..000000000 --- a/d6/d26/house__robber_8cpp_a1e497c3e3f169afe5baaae6a5d40cbc8_cgraph.svg +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - - - - - - - -dynamic_programming::house_robber::houseRobber - - -Node1 - - -dynamic_programming -::house_robber::houseRobber - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::max - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d6/d26/house__robber_8cpp_a1e497c3e3f169afe5baaae6a5d40cbc8_cgraph_org.svg b/d6/d26/house__robber_8cpp_a1e497c3e3f169afe5baaae6a5d40cbc8_cgraph_org.svg deleted file mode 100644 index 0cf61d109..000000000 --- a/d6/d26/house__robber_8cpp_a1e497c3e3f169afe5baaae6a5d40cbc8_cgraph_org.svg +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - -dynamic_programming::house_robber::houseRobber - - -Node1 - - -dynamic_programming -::house_robber::houseRobber - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::max - - - - - -Node1->Node2 - - - - - - - - diff --git a/d6/d26/house__robber_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map b/d6/d26/house__robber_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map deleted file mode 100644 index b91b36709..000000000 --- a/d6/d26/house__robber_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/d6/d26/house__robber_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 b/d6/d26/house__robber_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 deleted file mode 100644 index 32293e2cd..000000000 --- a/d6/d26/house__robber_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -9ede37fefc7d80f72bb03b7e9e2bb88e \ No newline at end of file diff --git a/d6/d26/house__robber_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg b/d6/d26/house__robber_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg deleted file mode 100644 index d0d037cc6..000000000 --- a/d6/d26/house__robber_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::vector::size - - - - - -Node1->Node3 - - - - - - - - - - - - - diff --git a/d6/d26/house__robber_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg b/d6/d26/house__robber_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg deleted file mode 100644 index 4c2518914..000000000 --- a/d6/d26/house__robber_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::vector::size - - - - - -Node1->Node3 - - - - - - - - diff --git a/d6/d26/house__robber_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d6/d26/house__robber_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index c6ceed5f8..000000000 --- a/d6/d26/house__robber_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/d6/d26/house__robber_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d6/d26/house__robber_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index 6652c867c..000000000 --- a/d6/d26/house__robber_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -0455030d8fb2cb38ca91c4a746ec34c6 \ No newline at end of file diff --git a/d6/d26/house__robber_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d6/d26/house__robber_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index ce11b3f74..000000000 --- a/d6/d26/house__robber_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::vector::size - - - - - -Node2->Node4 - - - - - - - - - - - - - diff --git a/d6/d26/house__robber_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d6/d26/house__robber_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 99127cc2b..000000000 --- a/d6/d26/house__robber_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::vector::size - - - - - -Node2->Node4 - - - - - - - - diff --git a/d6/d26/house__robber_8cpp_source.html b/d6/d26/house__robber_8cpp_source.html new file mode 100644 index 000000000..f1f762fb5 --- /dev/null +++ b/d6/d26/house__robber_8cpp_source.html @@ -0,0 +1,227 @@ + + + + + + + + +TheAlgorithms/C++: dynamic_programming/house_robber.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    std::uint32_t dynamic_programming::house_robber::houseRobber std::uint32_t dynamic_programming::house_robber::houseRobber (const std::vector< uint32_t > & money, const std::vector< uint32_t > & money,
    + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + + +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    house_robber.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    12#include <cassert>
    +
    13#include <climits>
    +
    14#include <cstdint>
    +
    15#include <iostream>
    +
    16#include <vector>
    +
    21namespace dynamic_programming {
    +
    28namespace house_robber {
    +
    +
    36std::uint32_t houseRobber(const std::vector<uint32_t> &money,
    +
    37 const uint32_t &n) {
    +
    38 if (n == 0) { // if there is no house
    +
    39 return 0;
    +
    40 }
    +
    41 if (n == 1) { // if there is only one house
    +
    42 return money[0];
    +
    43 }
    +
    44 if (n == 2) { // if there are two houses, one with the maximum amount of
    +
    45 // money will be robbed
    +
    46 return std::max(money[0], money[1]);
    +
    47 }
    +
    48 uint32_t max_value = 0; // contains maximum stolen value at the end
    +
    49 uint32_t value1 = money[0];
    +
    50 uint32_t value2 = std::max(money[0], money[1]);
    +
    51 for (uint32_t i = 2; i < n; i++) {
    +
    52 max_value = std::max(money[i] + value1, value2);
    +
    53 value1 = value2;
    +
    54 value2 = max_value;
    +
    55 }
    +
    56
    +
    57 return max_value;
    +
    58}
    +
    +
    59} // namespace house_robber
    +
    60} // namespace dynamic_programming
    +
    61
    +
    +
    66static void test() {
    +
    67 // Test 1
    +
    68 // [1, 2, 3, 1] return 4
    +
    69 std::vector<uint32_t> array1 = {1, 2, 3, 1};
    +
    70 std::cout << "Test 1... ";
    +
    71 assert(
    +
    72 dynamic_programming::house_robber::houseRobber(array1, array1.size()) ==
    +
    73 4); // here the two non-adjacent houses that are robbed are first and
    +
    74 // third with total sum money as 4
    +
    75 std::cout << "passed" << std::endl;
    +
    76
    +
    77 // Test 2
    +
    78 // [6, 7, 1, 3, 8, 2, 4] return 19
    +
    79 std::vector<uint32_t> array2 = {6, 7, 1, 3, 8, 2, 4};
    +
    80 std::cout << "Test 2... ";
    +
    81 assert(
    +
    82 dynamic_programming::house_robber::houseRobber(array2, array2.size()) ==
    +
    83 19); // here the four non-adjacent houses that are robbed are first,
    +
    84 // third, fifth and seventh with total sum money as 19
    +
    85 std::cout << "passed" << std::endl;
    +
    86
    +
    87 // Test 3
    +
    88 // [] return 0
    +
    89 std::vector<uint32_t> array3 = {};
    +
    90 std::cout << "Test 3... ";
    +
    91 assert(
    +
    92 dynamic_programming::house_robber::houseRobber(array3, array3.size()) ==
    +
    93 0); // since there is no house no money can be robbed
    +
    94 std::cout << "passed" << std::endl;
    +
    95
    +
    96 // Test 4
    +
    97 // [2,7,9,3,1] return 12
    +
    98 std::vector<uint32_t> array4 = {2, 7, 9, 3, 1};
    +
    99 std::cout << "Test 4... ";
    +
    100 assert(
    +
    101 dynamic_programming::house_robber::houseRobber(array4, array4.size()) ==
    +
    102 12); // here the three non-adjacent houses that are robbed are first,
    +
    103 // third and fifth with total sum money as 12
    +
    104 std::cout << "passed" << std::endl;
    +
    105}
    +
    +
    106
    +
    +
    111int main() {
    +
    112 test(); // run self-test implementations
    +
    113 return 0;
    +
    114}
    +
    +
    std::uint32_t houseRobber(const std::vector< uint32_t > &money, const uint32_t &n)
    The main function that implements the House Robber algorithm using dynamic programming.
    +
    static void test()
    Self-test implementations.
    +
    int main()
    Main function.
    +
    Dynamic Programming algorithms.
    +
    Functions for the House Robber algorithm.
    +
    +
    + + + + diff --git a/d6/d2b/structbinary__search__tree_1_1bst__node__coll__graph.map b/d6/d2b/structbinary__search__tree_1_1bst__node__coll__graph.map index d6223e6f3..2b285b148 100644 --- a/d6/d2b/structbinary__search__tree_1_1bst__node__coll__graph.map +++ b/d6/d2b/structbinary__search__tree_1_1bst__node__coll__graph.map @@ -4,7 +4,7 @@ - + diff --git a/d6/d2b/structbinary__search__tree_1_1bst__node__coll__graph.md5 b/d6/d2b/structbinary__search__tree_1_1bst__node__coll__graph.md5 index 8ef4cdc2c..1dc87ca44 100644 --- a/d6/d2b/structbinary__search__tree_1_1bst__node__coll__graph.md5 +++ b/d6/d2b/structbinary__search__tree_1_1bst__node__coll__graph.md5 @@ -1 +1 @@ -455a4be07dce015dea0fc6a1abe2e4e6 \ No newline at end of file +16a770c4a032637eaec70d055bcf747a \ No newline at end of file diff --git a/d6/d2b/structbinary__search__tree_1_1bst__node__coll__graph.svg b/d6/d2b/structbinary__search__tree_1_1bst__node__coll__graph.svg index 4ed606680..1e732e41c 100644 --- a/d6/d2b/structbinary__search__tree_1_1bst__node__coll__graph.svg +++ b/d6/d2b/structbinary__search__tree_1_1bst__node__coll__graph.svg @@ -71,7 +71,7 @@ Node3 - + std::unique_ptr< binary _search_tree::bst_node > diff --git a/d6/d2b/structbinary__search__tree_1_1bst__node__coll__graph_org.svg b/d6/d2b/structbinary__search__tree_1_1bst__node__coll__graph_org.svg index 91490815c..45be56787 100644 --- a/d6/d2b/structbinary__search__tree_1_1bst__node__coll__graph_org.svg +++ b/d6/d2b/structbinary__search__tree_1_1bst__node__coll__graph_org.svg @@ -60,7 +60,7 @@ Node3 - + std::unique_ptr< binary _search_tree::bst_node > diff --git a/d6/d2c/caesar__cipher_8cpp.html b/d6/d2c/caesar__cipher_8cpp.html index b18682b84..3c9152533 100644 --- a/d6/d2c/caesar__cipher_8cpp.html +++ b/d6/d2c/caesar__cipher_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: ciphers/caesar_cipher.cpp File Reference +TheAlgorithms/C++: ciphers/caesar_cipher.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -121,7 +138,9 @@ Include dependency graph for caesar_cipher.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -133,9 +152,9 @@ Namespaces

    Namespaces

    namespace  ciphers
    - + - + @@ -155,6 +174,8 @@ Algorithm

    Note
    This program implements caesar cipher for only uppercase English alphabet characters (i.e. A-Z).
    Author
    Deep Raval
    + +

    Definition in file caesar_cipher.cpp.

    Function Documentation

    ◆ decrypt()

    @@ -163,9 +184,9 @@ Algorithm

    Functions

    std::string ciphers::caesar::encrypt (const std::string &text, const int &shift)
    std::string ciphers::caesar::encrypt (const std::string &text, const int &shift)
     
    std::string ciphers::caesar::decrypt (const std::string &text, const int &shift)
    std::string ciphers::caesar::decrypt (const std::string &text, const int &shift)
     
    void test ()
     
    - + - + @@ -182,8 +203,10 @@ Algorithm
    Returns
    new decrypted text
    + +

    Definition at line 81 of file caesar_cipher.cpp.

    81 {
    -
    82 std::string decrypted_text = ""; // Empty string to store decrypted text
    +
    82 std::string decrypted_text = ""; // Empty string to store decrypted text
    83 for (char c : text) { // Going through each character
    84 int place_value = get_value(c); // Getting value of character (i.e. 0-25)
    85 place_value = (place_value - shift) % 26;// Applying decryption formula
    @@ -195,8 +218,7 @@ Algorithm
    91 }
    92 return decrypted_text; // Returning decrypted text
    93 }
    - -
    char get_char(const std::string &input, std::size_t pos)
    Returns the character at pos after the input is padded.
    Definition sha256.cpp:170
    +
    char get_char(const std::string &input, std::size_t pos)
    Returns the character at pos after the input is padded.
    Definition sha256.cpp:170
    @@ -207,9 +229,9 @@ Algorithm
    std::string ciphers::caesar::decrypt std::string ciphers::caesar::decrypt (const std::string & text, const std::string & text,
    - + - + @@ -226,8 +248,10 @@ Algorithm
    Returns
    new encrypted text
    + +

    Definition at line 65 of file caesar_cipher.cpp.

    65 {
    -
    66 std::string encrypted_text = ""; // Empty string to store encrypted text
    +
    66 std::string encrypted_text = ""; // Empty string to store encrypted text
    67 for (char c : text) { // Going through each character
    68 int place_value = get_value(c); // Getting value of character (i.e. 0-25)
    69 place_value = (place_value + shift) % 26; // Applying encryption formula
    @@ -254,18 +278,15 @@ Algorithm
    std::string ciphers::caesar::encrypt std::string ciphers::caesar::encrypt (const std::string & text, const std::string & text,

    Driver Code

    + +

    Definition at line 120 of file caesar_cipher.cpp.

    120 {
    121 // Testing
    122 test();
    123 return 0;
    124}
    -
    void test()
    Definition caesar_cipher.cpp:100
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    void test()
    +
    @@ -283,34 +304,29 @@ Here is the call graph for this function:

    Function to test above algorithm

    + +

    Definition at line 100 of file caesar_cipher.cpp.

    100 {
    101 // Test 1
    -
    102 std::string text1 = "ALANTURING";
    -
    103 std::string encrypted1 = ciphers::caesar::encrypt(text1, 17);
    -
    104 std::string decrypted1 = ciphers::caesar::decrypt(encrypted1, 17);
    +
    102 std::string text1 = "ALANTURING";
    +
    103 std::string encrypted1 = ciphers::caesar::encrypt(text1, 17);
    +
    104 std::string decrypted1 = ciphers::caesar::decrypt(encrypted1, 17);
    105 assert(text1 == decrypted1);
    -
    106 std::cout << "Original text : " << text1;
    -
    107 std::cout << " , Encrypted text (with shift = 21) : " << encrypted1;
    -
    108 std::cout << " , Decrypted text : "<< decrypted1 << std::endl;
    +
    106 std::cout << "Original text : " << text1;
    +
    107 std::cout << " , Encrypted text (with shift = 21) : " << encrypted1;
    +
    108 std::cout << " , Decrypted text : "<< decrypted1 << std::endl;
    109 // Test 2
    -
    110 std::string text2 = "HELLOWORLD";
    -
    111 std::string encrypted2 = ciphers::caesar::encrypt(text2, 1729);
    -
    112 std::string decrypted2 = ciphers::caesar::decrypt(encrypted2, 1729);
    +
    110 std::string text2 = "HELLOWORLD";
    +
    111 std::string encrypted2 = ciphers::caesar::encrypt(text2, 1729);
    +
    112 std::string decrypted2 = ciphers::caesar::decrypt(encrypted2, 1729);
    113 assert(text2 == decrypted2);
    -
    114 std::cout << "Original text : " << text2;
    -
    115 std::cout << " , Encrypted text (with shift = 1729) : " << encrypted2;
    -
    116 std::cout << " , Decrypted text : "<< decrypted2 << std::endl;
    +
    114 std::cout << "Original text : " << text2;
    +
    115 std::cout << " , Encrypted text (with shift = 1729) : " << encrypted2;
    +
    116 std::cout << " , Decrypted text : "<< decrypted2 << std::endl;
    117}
    - -
    std::string decrypt(const std::string &text, const int &shift)
    Definition caesar_cipher.cpp:81
    -
    std::string encrypt(const std::string &text, const int &shift)
    Definition caesar_cipher.cpp:65
    -
    T endl(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    std::string decrypt(const std::string &text, const int &shift)
    +
    std::string encrypt(const std::string &text, const int &shift)
    +
    diff --git a/d6/d2c/caesar__cipher_8cpp_ae1a3968e7947464bee7714f6d43b7002_cgraph.map b/d6/d2c/caesar__cipher_8cpp_ae1a3968e7947464bee7714f6d43b7002_cgraph.map deleted file mode 100644 index ab849b4e9..000000000 --- a/d6/d2c/caesar__cipher_8cpp_ae1a3968e7947464bee7714f6d43b7002_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d6/d2c/caesar__cipher_8cpp_ae1a3968e7947464bee7714f6d43b7002_cgraph.md5 b/d6/d2c/caesar__cipher_8cpp_ae1a3968e7947464bee7714f6d43b7002_cgraph.md5 deleted file mode 100644 index 027bb45f5..000000000 --- a/d6/d2c/caesar__cipher_8cpp_ae1a3968e7947464bee7714f6d43b7002_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -a1d13d80069df469bd6cb7baa71c0ea1 \ No newline at end of file diff --git a/d6/d2c/caesar__cipher_8cpp_ae1a3968e7947464bee7714f6d43b7002_cgraph.svg b/d6/d2c/caesar__cipher_8cpp_ae1a3968e7947464bee7714f6d43b7002_cgraph.svg deleted file mode 100644 index 74b7e7dc5..000000000 --- a/d6/d2c/caesar__cipher_8cpp_ae1a3968e7947464bee7714f6d43b7002_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d6/d2c/caesar__cipher_8cpp_ae1a3968e7947464bee7714f6d43b7002_cgraph_org.svg b/d6/d2c/caesar__cipher_8cpp_ae1a3968e7947464bee7714f6d43b7002_cgraph_org.svg deleted file mode 100644 index b7b979de9..000000000 --- a/d6/d2c/caesar__cipher_8cpp_ae1a3968e7947464bee7714f6d43b7002_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - diff --git a/d6/d2c/caesar__cipher_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d6/d2c/caesar__cipher_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 080c958ce..000000000 --- a/d6/d2c/caesar__cipher_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/d6/d2c/caesar__cipher_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d6/d2c/caesar__cipher_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index 80154e768..000000000 --- a/d6/d2c/caesar__cipher_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -22083543b42ff9ad7f02def3bde5ed30 \ No newline at end of file diff --git a/d6/d2c/caesar__cipher_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d6/d2c/caesar__cipher_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index fb05a15ef..000000000 --- a/d6/d2c/caesar__cipher_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node2->Node3 - - - - - - - - - - - - - diff --git a/d6/d2c/caesar__cipher_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d6/d2c/caesar__cipher_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index ac9a935ae..000000000 --- a/d6/d2c/caesar__cipher_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node2->Node3 - - - - - - - - diff --git a/d6/d2c/caesar__cipher_8cpp_source.html b/d6/d2c/caesar__cipher_8cpp_source.html new file mode 100644 index 000000000..7f6fa5976 --- /dev/null +++ b/d6/d2c/caesar__cipher_8cpp_source.html @@ -0,0 +1,219 @@ + + + + + + + + +TheAlgorithms/C++: ciphers/caesar_cipher.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    caesar_cipher.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    25#include <iostream>
    +
    26#include <string>
    +
    27#include <cassert>
    +
    28
    +
    32namespace ciphers {
    +
    36 namespace caesar {
    +
    37 namespace {
    +
    43 inline char get_char(const int x) {
    +
    44 // By adding 65 we are scaling 0-25 to 65-90.
    +
    45 // Which are in fact ASCII values of A-Z.
    +
    46 return char(x + 65);
    +
    47 }
    +
    53 inline int get_value(const char c) {
    +
    54 // A-Z have ASCII values in range 65-90.
    +
    55 // Hence subtracting 65 will scale them to 0-25.
    +
    56 return int(c - 65);
    +
    57 }
    +
    58 } // Unnamed namespace
    +
    +
    65 std::string encrypt (const std::string &text, const int &shift) {
    +
    66 std::string encrypted_text = ""; // Empty string to store encrypted text
    +
    67 for (char c : text) { // Going through each character
    +
    68 int place_value = get_value(c); // Getting value of character (i.e. 0-25)
    +
    69 place_value = (place_value + shift) % 26; // Applying encryption formula
    +
    70 char new_char = get_char(place_value); // Getting new character from new value (i.e. A-Z)
    +
    71 encrypted_text += new_char; // Appending encrypted character
    +
    72 }
    +
    73 return encrypted_text; // Returning encrypted text
    +
    74 }
    +
    +
    +
    81 std::string decrypt (const std::string &text, const int &shift) {
    +
    82 std::string decrypted_text = ""; // Empty string to store decrypted text
    +
    83 for (char c : text) { // Going through each character
    +
    84 int place_value = get_value(c); // Getting value of character (i.e. 0-25)
    +
    85 place_value = (place_value - shift) % 26;// Applying decryption formula
    +
    86 if(place_value < 0) { // Handling case where remainder is negative
    +
    87 place_value = place_value + 26;
    +
    88 }
    +
    89 char new_char = get_char(place_value); // Getting original character from decrypted value (i.e. A-Z)
    +
    90 decrypted_text += new_char; // Appending decrypted character
    +
    91 }
    +
    92 return decrypted_text; // Returning decrypted text
    +
    93 }
    +
    +
    94 } // namespace caesar
    +
    95} // namespace ciphers
    +
    96
    +
    +
    100void test() {
    +
    101 // Test 1
    +
    102 std::string text1 = "ALANTURING";
    +
    103 std::string encrypted1 = ciphers::caesar::encrypt(text1, 17);
    +
    104 std::string decrypted1 = ciphers::caesar::decrypt(encrypted1, 17);
    +
    105 assert(text1 == decrypted1);
    +
    106 std::cout << "Original text : " << text1;
    +
    107 std::cout << " , Encrypted text (with shift = 21) : " << encrypted1;
    +
    108 std::cout << " , Decrypted text : "<< decrypted1 << std::endl;
    +
    109 // Test 2
    +
    110 std::string text2 = "HELLOWORLD";
    +
    111 std::string encrypted2 = ciphers::caesar::encrypt(text2, 1729);
    +
    112 std::string decrypted2 = ciphers::caesar::decrypt(encrypted2, 1729);
    +
    113 assert(text2 == decrypted2);
    +
    114 std::cout << "Original text : " << text2;
    +
    115 std::cout << " , Encrypted text (with shift = 1729) : " << encrypted2;
    +
    116 std::cout << " , Decrypted text : "<< decrypted2 << std::endl;
    +
    117}
    +
    +
    118
    +
    +
    120int main() {
    +
    121 // Testing
    +
    122 test();
    +
    123 return 0;
    +
    124}
    +
    +
    void test()
    +
    int main()
    +
    Functions for Caesar cipher algorithm.
    +
    Algorithms for encryption and decryption.
    +
    char get_char(const std::string &input, std::size_t pos)
    Returns the character at pos after the input is padded.
    Definition sha256.cpp:170
    +
    +
    + + + + diff --git a/d6/d2d/modular__inverse__simple_8cpp.html b/d6/d2d/modular__inverse__simple_8cpp.html index 721b286f0..94f238ee9 100644 --- a/d6/d2d/modular__inverse__simple_8cpp.html +++ b/d6/d2d/modular__inverse__simple_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: math/modular_inverse_simple.cpp File Reference +TheAlgorithms/C++: math/modular_inverse_simple.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -120,7 +137,9 @@ Include dependency graph for modular_inverse_simple.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -136,6 +155,8 @@ Functions

    Detailed Description

    Simple implementation of modular multiplicative inverse

    this algorithm calculates the modular inverse x^{-1} \mod y iteratively

    + +

    Definition in file modular_inverse_simple.cpp.

    Function Documentation

    ◆ imod()

    @@ -166,6 +187,8 @@ Functions
    Returns
    the modular inverse
    + +

    Definition at line 21 of file modular_inverse_simple.cpp.

    21 {
    22 uint64_t aux = 0; // auxiliary variable
    23 uint64_t itr = 0; // iteration counter
    @@ -197,16 +220,13 @@ Functions

    Main function.

    Returns
    0 on exit
    + +

    Definition at line 59 of file modular_inverse_simple.cpp.

    59 {
    60 test(); // run self-test implementations
    61};
    -
    static void test()
    self-test implementations
    Definition modular_inverse_simple.cpp:37
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static void test()
    self-test implementations
    +
    @@ -234,32 +254,28 @@ Here is the call graph for this function:

    self-test implementations

    Returns
    void
    + +

    Definition at line 37 of file modular_inverse_simple.cpp.

    37 {
    -
    38 std::cout << "First case testing... \n";
    +
    38 std::cout << "First case testing... \n";
    39 // for a = 3 and b = 11 return 4
    40 assert(imod(3, 11) == 4);
    -
    41 std::cout << "\nPassed!\n";
    +
    41 std::cout << "\nPassed!\n";
    42
    -
    43 std::cout << "Second case testing... \n";
    +
    43 std::cout << "Second case testing... \n";
    44 // for a = 3 and b = 26 return 9
    45 assert(imod(3, 26) == 9);
    -
    46 std::cout << "\nPassed!\n";
    +
    46 std::cout << "\nPassed!\n";
    47
    -
    48 std::cout << "Third case testing... \n";
    +
    48 std::cout << "Third case testing... \n";
    49 // for a = 7 and b = 26 return 15
    50 assert(imod(7, 26) == 15);
    -
    51 std::cout << "\nPassed!\n";
    +
    51 std::cout << "\nPassed!\n";
    52
    -
    53 std::cout << "\nAll test cases have successfully passed!\n";
    +
    53 std::cout << "\nAll test cases have successfully passed!\n";
    54}
    - -
    uint64_t imod(uint64_t x, uint64_t y)
    for assert
    Definition modular_inverse_simple.cpp:21
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    uint64_t imod(uint64_t x, uint64_t y)
    for assert
    + diff --git a/d6/d2d/modular__inverse__simple_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map b/d6/d2d/modular__inverse__simple_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map deleted file mode 100644 index d3f8146dd..000000000 --- a/d6/d2d/modular__inverse__simple_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d6/d2d/modular__inverse__simple_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 b/d6/d2d/modular__inverse__simple_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 deleted file mode 100644 index 5fc1c27f4..000000000 --- a/d6/d2d/modular__inverse__simple_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -fbc8d68de96efc0106d4060c9e36751e \ No newline at end of file diff --git a/d6/d2d/modular__inverse__simple_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg b/d6/d2d/modular__inverse__simple_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg deleted file mode 100644 index a3d8b3ca5..000000000 --- a/d6/d2d/modular__inverse__simple_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -imod - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d6/d2d/modular__inverse__simple_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg b/d6/d2d/modular__inverse__simple_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg deleted file mode 100644 index 4688ba046..000000000 --- a/d6/d2d/modular__inverse__simple_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -imod - - - - - -Node1->Node2 - - - - - - - - diff --git a/d6/d2d/modular__inverse__simple_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d6/d2d/modular__inverse__simple_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 979049f6a..000000000 --- a/d6/d2d/modular__inverse__simple_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/d6/d2d/modular__inverse__simple_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d6/d2d/modular__inverse__simple_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index 9cfc14253..000000000 --- a/d6/d2d/modular__inverse__simple_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -8b83b67a2084fe8f4843131e415507fa \ No newline at end of file diff --git a/d6/d2d/modular__inverse__simple_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d6/d2d/modular__inverse__simple_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 1e7bded6d..000000000 --- a/d6/d2d/modular__inverse__simple_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -imod - - - - - -Node2->Node3 - - - - - - - - - - - - - diff --git a/d6/d2d/modular__inverse__simple_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d6/d2d/modular__inverse__simple_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 91168489f..000000000 --- a/d6/d2d/modular__inverse__simple_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -imod - - - - - -Node2->Node3 - - - - - - - - diff --git a/d6/d2d/modular__inverse__simple_8cpp_source.html b/d6/d2d/modular__inverse__simple_8cpp_source.html new file mode 100644 index 000000000..46713e132 --- /dev/null +++ b/d6/d2d/modular__inverse__simple_8cpp_source.html @@ -0,0 +1,184 @@ + + + + + + + + +TheAlgorithms/C++: math/modular_inverse_simple.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    +

    Functions

    uint64_t imod (uint64_t x, uint64_t y)
    + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + + +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    modular_inverse_simple.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    10#include <cassert>
    +
    11#include <cstdint>
    +
    12#include <iostream>
    +
    13
    +
    +
    21uint64_t imod(uint64_t x, uint64_t y) {
    +
    22 uint64_t aux = 0; // auxiliary variable
    +
    23 uint64_t itr = 0; // iteration counter
    +
    24
    +
    25 do { // run the algorithm while not find the inverse
    +
    26 aux = y * itr + 1;
    +
    27 itr++;
    +
    28 } while (aux % x); // while module aux % x non-zero
    +
    29
    +
    30 return aux / x;
    +
    31}
    +
    +
    32
    +
    +
    37static void test() {
    +
    38 std::cout << "First case testing... \n";
    +
    39 // for a = 3 and b = 11 return 4
    +
    40 assert(imod(3, 11) == 4);
    +
    41 std::cout << "\nPassed!\n";
    +
    42
    +
    43 std::cout << "Second case testing... \n";
    +
    44 // for a = 3 and b = 26 return 9
    +
    45 assert(imod(3, 26) == 9);
    +
    46 std::cout << "\nPassed!\n";
    +
    47
    +
    48 std::cout << "Third case testing... \n";
    +
    49 // for a = 7 and b = 26 return 15
    +
    50 assert(imod(7, 26) == 15);
    +
    51 std::cout << "\nPassed!\n";
    +
    52
    +
    53 std::cout << "\nAll test cases have successfully passed!\n";
    +
    54}
    +
    +
    +
    59int main() {
    +
    60 test(); // run self-test implementations
    +
    61};
    +
    +
    uint64_t imod(uint64_t x, uint64_t y)
    for assert
    +
    static void test()
    self-test implementations
    +
    int main()
    Main function.
    +
    +
    + + + + diff --git a/d6/d2e/fenwick__tree_8cpp.html b/d6/d2e/fenwick__tree_8cpp.html index 7c826dec0..77025e4b7 100644 --- a/d6/d2e/fenwick__tree_8cpp.html +++ b/d6/d2e/fenwick__tree_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: range_queries/fenwick_tree.cpp File Reference +TheAlgorithms/C++: range_queries/fenwick_tree.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -122,7 +139,9 @@ Include dependency graph for fenwick_tree.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -132,7 +151,7 @@ Classes - +

    Classes

    class  range_queries::fenwick_tree

    Namespaces

    namespace  range_queries
     for std::vector
     for std::vector
     
    Author
    Mateusz Grzegorzek
    David Leal
    + +

    Definition in file fenwick_tree.cpp.

    Function Documentation

    ◆ main()

    @@ -169,17 +190,14 @@ Functions

    Main function.

    Returns
    0 on exit
    + +

    Definition at line 132 of file fenwick_tree.cpp.

    132 {
    133 tests(); // run self-test implementations
    134 return 0;
    135}
    -
    static void tests()
    Self-test implementations.
    Definition fenwick_tree.cpp:114
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static void tests()
    Self-test implementations.
    + @@ -207,8 +225,10 @@ Here is the call graph for this function:

    Self-test implementations.

    Returns
    void
    + +

    Definition at line 114 of file fenwick_tree.cpp.

    114 {
    -
    115 std::vector<int> arr = {1, 2, 3, 4, 5};
    +
    115 std::vector<int> arr = {1, 2, 3, 4, 5};
    116 range_queries::fenwick_tree fenwick_tree(arr);
    117
    118 assert(fenwick_tree.sum_range(0, 0) == 1);
    @@ -218,17 +238,10 @@ Here is the call graph for this function:
    122 assert(fenwick_tree.sum_range(0, 4) == 15);
    123
    124 fenwick_tree.update(0, 6);
    -
    125 std::cout << "All tests have successfully passed!\n";
    +
    125 std::cout << "All tests have successfully passed!\n";
    126}
    - -
    The class that initializes the Fenwick Tree.
    Definition fenwick_tree.cpp:32
    - -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    The class that initializes the Fenwick Tree.
    + diff --git a/d6/d2e/fenwick__tree_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.map b/d6/d2e/fenwick__tree_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.map deleted file mode 100644 index 76aee4966..000000000 --- a/d6/d2e/fenwick__tree_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.map +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - - - diff --git a/d6/d2e/fenwick__tree_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 b/d6/d2e/fenwick__tree_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 deleted file mode 100644 index 35be29257..000000000 --- a/d6/d2e/fenwick__tree_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -801f348fab4dd2587848853a07163bf5 \ No newline at end of file diff --git a/d6/d2e/fenwick__tree_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.svg b/d6/d2e/fenwick__tree_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.svg deleted file mode 100644 index 2eb6ff00c..000000000 --- a/d6/d2e/fenwick__tree_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.svg +++ /dev/null @@ -1,189 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -tests - - -Node1 - - -tests - - - - - -Node2 - - -range_queries::fenwick -_tree::sum_range - - - - - -Node1->Node2 - - - - - - - - -Node5 - - -range_queries::fenwick -_tree::update - - - - - -Node1->Node5 - - - - - - - - -Node3 - - -range_queries::fenwick -_tree::sum - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -range_queries::fenwick -_tree::offset - - - - - -Node3->Node4 - - - - - - - - -Node5->Node4 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d6/d2e/fenwick__tree_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph_org.svg b/d6/d2e/fenwick__tree_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph_org.svg deleted file mode 100644 index 1eace9c1a..000000000 --- a/d6/d2e/fenwick__tree_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph_org.svg +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - -tests - - -Node1 - - -tests - - - - - -Node2 - - -range_queries::fenwick -_tree::sum_range - - - - - -Node1->Node2 - - - - - - - - -Node5 - - -range_queries::fenwick -_tree::update - - - - - -Node1->Node5 - - - - - - - - -Node3 - - -range_queries::fenwick -_tree::sum - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -range_queries::fenwick -_tree::offset - - - - - -Node3->Node4 - - - - - - - - -Node5->Node4 - - - - - - - - diff --git a/d6/d2e/fenwick__tree_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d6/d2e/fenwick__tree_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 0b49a430b..000000000 --- a/d6/d2e/fenwick__tree_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - - - - - diff --git a/d6/d2e/fenwick__tree_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d6/d2e/fenwick__tree_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index d47a6e656..000000000 --- a/d6/d2e/fenwick__tree_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -7615878d501bf0fd90c054122b1f0fad \ No newline at end of file diff --git a/d6/d2e/fenwick__tree_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d6/d2e/fenwick__tree_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 3e48fb462..000000000 --- a/d6/d2e/fenwick__tree_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,207 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -tests - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -range_queries::fenwick -_tree::sum_range - - - - - -Node2->Node3 - - - - - - - - -Node6 - - -range_queries::fenwick -_tree::update - - - - - -Node2->Node6 - - - - - - - - -Node4 - - -range_queries::fenwick -_tree::sum - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -range_queries::fenwick -_tree::offset - - - - - -Node4->Node5 - - - - - - - - -Node6->Node5 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d6/d2e/fenwick__tree_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d6/d2e/fenwick__tree_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 6c310bcab..000000000 --- a/d6/d2e/fenwick__tree_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,124 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -tests - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -range_queries::fenwick -_tree::sum_range - - - - - -Node2->Node3 - - - - - - - - -Node6 - - -range_queries::fenwick -_tree::update - - - - - -Node2->Node6 - - - - - - - - -Node4 - - -range_queries::fenwick -_tree::sum - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -range_queries::fenwick -_tree::offset - - - - - -Node4->Node5 - - - - - - - - -Node6->Node5 - - - - - - - - diff --git a/d6/d2e/fenwick__tree_8cpp_source.html b/d6/d2e/fenwick__tree_8cpp_source.html new file mode 100644 index 000000000..0cfb40abf --- /dev/null +++ b/d6/d2e/fenwick__tree_8cpp_source.html @@ -0,0 +1,228 @@ + + + + + + + + +TheAlgorithms/C++: range_queries/fenwick_tree.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    +

    @@ -151,6 +170,8 @@ Functions

    + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + + +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    fenwick_tree.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    20#include <cassert>
    +
    21#include <iostream>
    +
    22#include <vector>
    +
    23
    +
    +
    28namespace range_queries {
    +
    + +
    33 size_t n = 0;
    +
    34 std::vector<int> bit{};
    +
    35
    +
    41 inline int offset(int x) { return (x & (-x)); }
    +
    42 public:
    +
    49 template <typename T>
    +
    +
    50 explicit fenwick_tree(const std::vector<T>& arr) : n(arr.size()) {
    +
    51 bit.assign(n + 1, 0);
    +
    52 for (int i = 0; i < n; ++i) {
    +
    53 update(i, arr[i]);
    +
    54 }
    +
    55 }
    +
    +
    56
    +
    63 template <typename T>
    +
    64 explicit fenwick_tree(T x) : n(x) { bit.assign(n + 1, 0); }
    +
    65
    +
    74 template <typename T>
    +
    +
    75 void update(T id, T val) {
    +
    76 id++;
    +
    77 while (id <= n) {
    +
    78 bit[id] += val;
    +
    79 id += offset(id);
    +
    80 }
    +
    81 }
    +
    +
    82
    +
    89 template <typename T>
    +
    +
    90 int sum(T id) {
    +
    91 id++;
    +
    92 T res = 0;
    +
    93 while (id > 0) {
    +
    94 res += bit[id];
    +
    95 id -= offset(id);
    +
    96 }
    +
    97 return res;
    +
    98 }
    +
    +
    99
    +
    106 int sum_range(int l, int r) { return sum(r) - sum(l - 1); }
    +
    107};
    +
    +
    108} // namespace range_queries
    +
    +
    109
    +
    +
    114static void tests() {
    +
    115 std::vector<int> arr = {1, 2, 3, 4, 5};
    +
    116 range_queries::fenwick_tree fenwick_tree(arr);
    +
    117
    +
    118 assert(fenwick_tree.sum_range(0, 0) == 1);
    +
    119 assert(fenwick_tree.sum_range(0, 1) == 3);
    +
    120 assert(fenwick_tree.sum_range(0, 2) == 6);
    +
    121 assert(fenwick_tree.sum_range(0, 3) == 10);
    +
    122 assert(fenwick_tree.sum_range(0, 4) == 15);
    +
    123
    +
    124 fenwick_tree.update(0, 6);
    +
    125 std::cout << "All tests have successfully passed!\n";
    +
    126}
    +
    +
    127
    +
    +
    132int main() {
    +
    133 tests(); // run self-test implementations
    +
    134 return 0;
    +
    135}
    +
    +
    The class that initializes the Fenwick Tree.
    +
    int sum_range(int l, int r)
    Returns the prefix sum in range from L to R.
    +
    void update(T id, T val)
    Updates the value of an element in original array and accordingly updates the values in BIT array.
    +
    int sum(T id)
    Returns the sum of elements in range from 0 to ID.
    +
    fenwick_tree(const std::vector< T > &arr)
    Class Constructor.
    +
    int offset(int x)
    Returns the highest power of two which is not more than x.
    +
    fenwick_tree(T x)
    Class Constructor.
    +
    std::vector< int > bit
    Array that represents Binary Indexed Tree.
    +
    size_t n
    No. of elements present in input array.
    +
    static void tests()
    Self-test implementations.
    +
    int main()
    Main function.
    +
    for std::vector
    +
    +
    + + + + diff --git a/d6/d30/classmachine__learning_1_1adaline.html b/d6/d30/classmachine__learning_1_1adaline.html index 0669207cd..8b0a2519f 100644 --- a/d6/d30/classmachine__learning_1_1adaline.html +++ b/d6/d30/classmachine__learning_1_1adaline.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: machine_learning::adaline Class Reference +TheAlgorithms/C++: machine_learning::adaline Class Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -123,42 +140,42 @@ Collaboration diagram for machine_learning::adaline: Public Member Functions - + - + - +
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
     adaline (int num_features, const double eta=0.01f, const double accuracy=1e-5)
     
    int predict (const std::vector< double > &x, double *out=nullptr)
    int predict (const std::vector< double > &x, double *out=nullptr)
     
    double fit (const std::vector< double > &x, const int &y)
    double fit (const std::vector< double > &x, const int &y)
     
    template<size_t N>
    void fit (std::array< std::vector< double >, N > const &X, std::array< int, N > const &Y)
    void fit (std::array< std::vector< double >, N > const &X, std::array< int, N > const &Y)
     
    int activation (double x)
     
    - +

    Private Member Functions

    bool check_size_match (const std::vector< double > &x)
    bool check_size_match (const std::vector< double > &x)
     
    - - + + - - + + - - + +

    Private Attributes

    -const double eta
     learning rate of the algorithm
    const double eta
     learning rate of the algorithm
     
    -const double accuracy
     model fit convergence accuracy
    const double accuracy
     model fit convergence accuracy
     
    -std::vector< double > weights
     weights of the neural network
    std::vector< double > weights
     weights of the neural network
     
    - +

    Friends

    std::ostreamoperator<< (std::ostream &out, const adaline &ada)
    std::ostream & operator<< (std::ostream &out, const adaline &ada)
     
    -

    Constructor & Destructor Documentation

    +

    Detailed Description

    +
    +

    Definition at line 46 of file adaline_learning.cpp.

    +

    Constructor & Destructor Documentation

    ◆ adaline()

    @@ -198,14 +215,16 @@ Friends
    + +

    Definition at line 55 of file adaline_learning.cpp.

    58 if (eta <= 0) {
    -
    59 std::cerr << "learning rate should be positive and nonzero"
    -
    60 << std::endl;
    -
    61 std::exit(EXIT_FAILURE);
    +
    59 std::cerr << "learning rate should be positive and nonzero"
    +
    60 << std::endl;
    +
    61 std::exit(EXIT_FAILURE);
    62 }
    63
    - +
    64 weights = std::vector<double>(
    65 num_features +
    66 1); // additional weight is for the constant bias term
    67
    @@ -213,19 +232,10 @@ Friends
    69 for (double &weight : weights) weight = 1.f;
    70 // weights[i] = (static_cast<double>(std::rand() % 100) - 50);
    71 }
    - -
    const double eta
    learning rate of the algorithm
    Definition adaline_learning.cpp:207
    -
    std::vector< double > weights
    weights of the neural network
    Definition adaline_learning.cpp:209
    -
    const double accuracy
    model fit convergence accuracy
    Definition adaline_learning.cpp:208
    -
    T endl(T... args)
    -
    T exit(T... args)
    - -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    const double eta
    learning rate of the algorithm
    +
    std::vector< double > weights
    weights of the neural network
    +
    const double accuracy
    model fit convergence accuracy
    +

    Member Function Documentation

    @@ -266,6 +276,8 @@ f(x) = \begin{cases}
    Returns
    activation output
    + +

    Definition at line 186 of file adaline_learning.cpp.

    186{ return x > 0 ? 1 : -1; }
    @@ -282,7 +294,7 @@ f(x) = \begin{cases} bool machine_learning::adaline::check_size_match ( - const std::vector< double > & x) + const std::vector< double > & x) @@ -301,23 +313,19 @@ f(x) = \begin{cases}
    Returns
    true size matches
    false size does not match
    + +

    Definition at line 196 of file adaline_learning.cpp.

    196 {
    -
    197 if (x.size() != (weights.size() - 1)) {
    -
    198 std::cerr << __func__ << ": "
    +
    197 if (x.size() != (weights.size() - 1)) {
    +
    198 std::cerr << __func__ << ": "
    199 << "Number of features in x does not match the feature "
    200 "dimension in model!"
    -
    201 << std::endl;
    +
    201 << std::endl;
    202 return false;
    203 }
    204 return true;
    205 }
    -
    T size(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -332,7 +340,7 @@ Here is the call graph for this function: double machine_learning::adaline::fit ( - const std::vector< double > & x, + const std::vector< double > & x, @@ -354,6 +362,8 @@ Here is the call graph for this function:
    Returns
    correction factor
    + +

    Definition at line 119 of file adaline_learning.cpp.

    119 {
    120 if (!check_size_match(x)) {
    121 return 0;
    @@ -365,21 +375,16 @@ Here is the call graph for this function:
    127 double correction_factor = eta * prediction_error;
    128
    129 /* update each weight, the last weight is the bias term */
    -
    130 for (int i = 0; i < x.size(); i++) {
    +
    130 for (int i = 0; i < x.size(); i++) {
    131 weights[i] += correction_factor * x[i];
    132 }
    -
    133 weights[x.size()] += correction_factor; // update bias
    +
    133 weights[x.size()] += correction_factor; // update bias
    134
    135 return correction_factor;
    136 }
    -
    int predict(const std::vector< double > &x, double *out=nullptr)
    Definition adaline_learning.cpp:95
    -
    bool check_size_match(const std::vector< double > &x)
    Definition adaline_learning.cpp:196
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    int predict(const std::vector< double > &x, double *out=nullptr)
    +
    bool check_size_match(const std::vector< double > &x)
    + @@ -396,12 +401,12 @@ template<size_t N> void machine_learning::adaline::fit ( - std::array< std::vector< double >, N > const & X, + std::array< std::vector< double >, N > const & X, - std::array< int, N > const & Y ) + std::array< int, N > const & Y ) @@ -417,6 +422,8 @@ template<size_t N> + +

    Definition at line 145 of file adaline_learning.cpp.

    146 {
    147 double avg_pred_error = 1.f;
    148
    @@ -434,27 +441,22 @@ template<size_t N>
    160
    161 // Print updates every 200th iteration
    162 // if (iter % 100 == 0)
    -
    163 std::cout << "\tIter " << iter << ": Training weights: " << *this
    -
    164 << "\tAvg error: " << avg_pred_error << std::endl;
    +
    163 std::cout << "\tIter " << iter << ": Training weights: " << *this
    +
    164 << "\tAvg error: " << avg_pred_error << std::endl;
    165 }
    166
    167 if (iter < MAX_ITER) {
    -
    168 std::cout << "Converged after " << iter << " iterations."
    -
    169 << std::endl;
    +
    168 std::cout << "Converged after " << iter << " iterations."
    +
    169 << std::endl;
    170 } else {
    -
    171 std::cout << "Did not converge after " << iter << " iterations."
    -
    172 << std::endl;
    +
    171 std::cout << "Did not converge after " << iter << " iterations."
    +
    172 << std::endl;
    173 }
    174 }
    -
    double fit(const std::vector< double > &x, const int &y)
    Definition adaline_learning.cpp:119
    -
    constexpr int MAX_ITER
    Definition adaline_learning.cpp:40
    -
    constexpr uint32_t N
    A struct to represent sparse table for min() as their invariant function, for the given array A....
    Definition sparse_table.cpp:48
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    double fit(const std::vector< double > &x, const int &y)
    +
    constexpr int MAX_ITER
    +
    constexpr uint32_t N
    A struct to represent sparse table for min() as their invariant function, for the given array A....
    + @@ -469,7 +471,7 @@ Here is the call graph for this function: int machine_learning::adaline::predict ( - const std::vector< double > & x, + const std::vector< double > & x, @@ -491,15 +493,17 @@ Here is the call graph for this function:
    Returns
    model prediction output
    + +

    Definition at line 95 of file adaline_learning.cpp.

    95 {
    96 if (!check_size_match(x)) {
    97 return 0;
    98 }
    99
    -
    100 double y = weights.back(); // assign bias value
    +
    100 double y = weights.back(); // assign bias value
    101
    102 // for (int i = 0; i < x.size(); i++) y += x[i] * weights[i];
    -
    103 y = std::inner_product(x.begin(), x.end(), weights.begin(), y);
    +
    103 y = std::inner_product(x.begin(), x.end(), weights.begin(), y);
    104
    105 if (out != nullptr) { // if out variable is provided
    106 *out = y;
    @@ -507,17 +511,8 @@ Here is the call graph for this function:
    108
    109 return activation(y); // quantizer: apply ADALINE threshold function
    110 }
    -
    T back(T... args)
    -
    T begin(T... args)
    -
    int activation(double x)
    Definition adaline_learning.cpp:186
    -
    T end(T... args)
    -
    T inner_product(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + +

    Friends And Related Symbol Documentation

    @@ -531,9 +526,9 @@ Here is the call graph for this function: - + - + @@ -548,11 +543,13 @@ Here is the call graph for this function:
    std::ostream & operator<< std::ostream & operator<< (std::ostream & out, std::ostream & out,

    Operator to print the weights of the model

    + +

    Definition at line 76 of file adaline_learning.cpp.

    76 {
    77 out << "<";
    -
    78 for (int i = 0; i < ada.weights.size(); i++) {
    +
    78 for (int i = 0; i < ada.weights.size(); i++) {
    79 out << ada.weights[i];
    -
    80 if (i < ada.weights.size() - 1) {
    +
    80 if (i < ada.weights.size() - 1) {
    81 out << ", ";
    82 }
    83 }
    @@ -560,10 +557,89 @@ Here is the call graph for this function:
    85 return out;
    86 }
    + + +

    Member Data Documentation

    + +

    ◆ accuracy

    + +
    +
    + + + + + +
    + + + + +
    const double machine_learning::adaline::accuracy
    +
    +private
    +
    + +

    model fit convergence accuracy

    + +

    Definition at line 208 of file adaline_learning.cpp.

    + +
    +
    + +

    ◆ eta

    + +
    +
    + + + + + +
    + + + + +
    const double machine_learning::adaline::eta
    +
    +private
    +
    + +

    learning rate of the algorithm

    + +

    Definition at line 207 of file adaline_learning.cpp.

    + +
    +
    + +

    ◆ weights

    + +
    +
    + + + + + +
    + + + + +
    std::vector<double> machine_learning::adaline::weights
    +
    +private
    +
    + +

    weights of the neural network

    + +

    Definition at line 209 of file adaline_learning.cpp.

    +

    The documentation for this class was generated from the following file: diff --git a/d6/d30/classmachine__learning_1_1adaline_a0acbe32aaab897e7939e5b0454035b8c_cgraph.map b/d6/d30/classmachine__learning_1_1adaline_a0acbe32aaab897e7939e5b0454035b8c_cgraph.map deleted file mode 100644 index b6af92c4f..000000000 --- a/d6/d30/classmachine__learning_1_1adaline_a0acbe32aaab897e7939e5b0454035b8c_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/d6/d30/classmachine__learning_1_1adaline_a0acbe32aaab897e7939e5b0454035b8c_cgraph.md5 b/d6/d30/classmachine__learning_1_1adaline_a0acbe32aaab897e7939e5b0454035b8c_cgraph.md5 deleted file mode 100644 index 6c775c279..000000000 --- a/d6/d30/classmachine__learning_1_1adaline_a0acbe32aaab897e7939e5b0454035b8c_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -cf0075b633519d84a8808709a068b858 \ No newline at end of file diff --git a/d6/d30/classmachine__learning_1_1adaline_a0acbe32aaab897e7939e5b0454035b8c_cgraph.svg b/d6/d30/classmachine__learning_1_1adaline_a0acbe32aaab897e7939e5b0454035b8c_cgraph.svg deleted file mode 100644 index ebaadfa19..000000000 --- a/d6/d30/classmachine__learning_1_1adaline_a0acbe32aaab897e7939e5b0454035b8c_cgraph.svg +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - - - - - -machine_learning::adaline::adaline - - -Node1 - - -machine_learning::adaline -::adaline - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::exit - - - - - -Node1->Node3 - - - - - - - - - - - - - diff --git a/d6/d30/classmachine__learning_1_1adaline_a0acbe32aaab897e7939e5b0454035b8c_cgraph_org.svg b/d6/d30/classmachine__learning_1_1adaline_a0acbe32aaab897e7939e5b0454035b8c_cgraph_org.svg deleted file mode 100644 index d2c20ad5d..000000000 --- a/d6/d30/classmachine__learning_1_1adaline_a0acbe32aaab897e7939e5b0454035b8c_cgraph_org.svg +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - -machine_learning::adaline::adaline - - -Node1 - - -machine_learning::adaline -::adaline - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::exit - - - - - -Node1->Node3 - - - - - - - - diff --git a/d6/d30/classmachine__learning_1_1adaline_a74e3c6c037b67895014414c5d75465e5_cgraph.map b/d6/d30/classmachine__learning_1_1adaline_a74e3c6c037b67895014414c5d75465e5_cgraph.map deleted file mode 100644 index a4a1e42e1..000000000 --- a/d6/d30/classmachine__learning_1_1adaline_a74e3c6c037b67895014414c5d75465e5_cgraph.map +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d6/d30/classmachine__learning_1_1adaline_a74e3c6c037b67895014414c5d75465e5_cgraph.md5 b/d6/d30/classmachine__learning_1_1adaline_a74e3c6c037b67895014414c5d75465e5_cgraph.md5 deleted file mode 100644 index af67806ed..000000000 --- a/d6/d30/classmachine__learning_1_1adaline_a74e3c6c037b67895014414c5d75465e5_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -c49a3c1aaf4ca8babec86e4e8ac4dcbb \ No newline at end of file diff --git a/d6/d30/classmachine__learning_1_1adaline_a74e3c6c037b67895014414c5d75465e5_cgraph.svg b/d6/d30/classmachine__learning_1_1adaline_a74e3c6c037b67895014414c5d75465e5_cgraph.svg deleted file mode 100644 index 75b05fa79..000000000 --- a/d6/d30/classmachine__learning_1_1adaline_a74e3c6c037b67895014414c5d75465e5_cgraph.svg +++ /dev/null @@ -1,287 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -machine_learning::adaline::fit - - -Node1 - - -machine_learning::adaline::fit - - - - - -Node2 - - -machine_learning::adaline -::check_size_match - - - - - -Node1->Node2 - - - - - - - - -Node4 - - -std::vector::size - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -machine_learning::adaline -::predict - - - - - -Node1->Node5 - - - - - - - - -Node3 - - -std::endl - - - - - -Node2->Node3 - - - - - - - - -Node2->Node4 - - - - - - - - -Node5->Node2 - - - - - - - - -Node6 - - -machine_learning::adaline -::activation - - - - - -Node5->Node6 - - - - - - - - -Node7 - - -std::vector::back - - - - - -Node5->Node7 - - - - - - - - -Node8 - - -std::vector::begin - - - - - -Node5->Node8 - - - - - - - - -Node9 - - -std::vector::end - - - - - -Node5->Node9 - - - - - - - - -Node10 - - -std::inner_product - - - - - -Node5->Node10 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d6/d30/classmachine__learning_1_1adaline_a74e3c6c037b67895014414c5d75465e5_cgraph_org.svg b/d6/d30/classmachine__learning_1_1adaline_a74e3c6c037b67895014414c5d75465e5_cgraph_org.svg deleted file mode 100644 index 1109fa92a..000000000 --- a/d6/d30/classmachine__learning_1_1adaline_a74e3c6c037b67895014414c5d75465e5_cgraph_org.svg +++ /dev/null @@ -1,204 +0,0 @@ - - - - - - -machine_learning::adaline::fit - - -Node1 - - -machine_learning::adaline::fit - - - - - -Node2 - - -machine_learning::adaline -::check_size_match - - - - - -Node1->Node2 - - - - - - - - -Node4 - - -std::vector::size - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -machine_learning::adaline -::predict - - - - - -Node1->Node5 - - - - - - - - -Node3 - - -std::endl - - - - - -Node2->Node3 - - - - - - - - -Node2->Node4 - - - - - - - - -Node5->Node2 - - - - - - - - -Node6 - - -machine_learning::adaline -::activation - - - - - -Node5->Node6 - - - - - - - - -Node7 - - -std::vector::back - - - - - -Node5->Node7 - - - - - - - - -Node8 - - -std::vector::begin - - - - - -Node5->Node8 - - - - - - - - -Node9 - - -std::vector::end - - - - - -Node5->Node9 - - - - - - - - -Node10 - - -std::inner_product - - - - - -Node5->Node10 - - - - - - - - diff --git a/d6/d30/classmachine__learning_1_1adaline_a8d61f9ed872eef26bca39388cbda6a91_cgraph.map b/d6/d30/classmachine__learning_1_1adaline_a8d61f9ed872eef26bca39388cbda6a91_cgraph.map deleted file mode 100644 index dfe8dca3d..000000000 --- a/d6/d30/classmachine__learning_1_1adaline_a8d61f9ed872eef26bca39388cbda6a91_cgraph.map +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d6/d30/classmachine__learning_1_1adaline_a8d61f9ed872eef26bca39388cbda6a91_cgraph.md5 b/d6/d30/classmachine__learning_1_1adaline_a8d61f9ed872eef26bca39388cbda6a91_cgraph.md5 deleted file mode 100644 index 7753a2fa8..000000000 --- a/d6/d30/classmachine__learning_1_1adaline_a8d61f9ed872eef26bca39388cbda6a91_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -a00f04c002fc001b47814b2df6fff8f4 \ No newline at end of file diff --git a/d6/d30/classmachine__learning_1_1adaline_a8d61f9ed872eef26bca39388cbda6a91_cgraph.svg b/d6/d30/classmachine__learning_1_1adaline_a8d61f9ed872eef26bca39388cbda6a91_cgraph.svg deleted file mode 100644 index c62d8d26b..000000000 --- a/d6/d30/classmachine__learning_1_1adaline_a8d61f9ed872eef26bca39388cbda6a91_cgraph.svg +++ /dev/null @@ -1,314 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -machine_learning::adaline::fit - - -Node1 - - -machine_learning::adaline::fit - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -machine_learning::adaline::fit - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -machine_learning::adaline -::check_size_match - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -std::vector::size - - - - - -Node3->Node5 - - - - - - - - -Node6 - - -machine_learning::adaline -::predict - - - - - -Node3->Node6 - - - - - - - - -Node4->Node2 - - - - - - - - -Node4->Node5 - - - - - - - - -Node6->Node4 - - - - - - - - -Node7 - - -machine_learning::adaline -::activation - - - - - -Node6->Node7 - - - - - - - - -Node8 - - -std::vector::back - - - - - -Node6->Node8 - - - - - - - - -Node9 - - -std::vector::begin - - - - - -Node6->Node9 - - - - - - - - -Node10 - - -std::vector::end - - - - - -Node6->Node10 - - - - - - - - -Node11 - - -std::inner_product - - - - - -Node6->Node11 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d6/d30/classmachine__learning_1_1adaline_a8d61f9ed872eef26bca39388cbda6a91_cgraph_org.svg b/d6/d30/classmachine__learning_1_1adaline_a8d61f9ed872eef26bca39388cbda6a91_cgraph_org.svg deleted file mode 100644 index a684fbed4..000000000 --- a/d6/d30/classmachine__learning_1_1adaline_a8d61f9ed872eef26bca39388cbda6a91_cgraph_org.svg +++ /dev/null @@ -1,231 +0,0 @@ - - - - - - -machine_learning::adaline::fit - - -Node1 - - -machine_learning::adaline::fit - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -machine_learning::adaline::fit - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -machine_learning::adaline -::check_size_match - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -std::vector::size - - - - - -Node3->Node5 - - - - - - - - -Node6 - - -machine_learning::adaline -::predict - - - - - -Node3->Node6 - - - - - - - - -Node4->Node2 - - - - - - - - -Node4->Node5 - - - - - - - - -Node6->Node4 - - - - - - - - -Node7 - - -machine_learning::adaline -::activation - - - - - -Node6->Node7 - - - - - - - - -Node8 - - -std::vector::back - - - - - -Node6->Node8 - - - - - - - - -Node9 - - -std::vector::begin - - - - - -Node6->Node9 - - - - - - - - -Node10 - - -std::vector::end - - - - - -Node6->Node10 - - - - - - - - -Node11 - - -std::inner_product - - - - - -Node6->Node11 - - - - - - - - diff --git a/d6/d30/classmachine__learning_1_1adaline_ab11242d9ad5b03a75911e29b04f78fd3_cgraph.map b/d6/d30/classmachine__learning_1_1adaline_ab11242d9ad5b03a75911e29b04f78fd3_cgraph.map deleted file mode 100644 index daf1a25a3..000000000 --- a/d6/d30/classmachine__learning_1_1adaline_ab11242d9ad5b03a75911e29b04f78fd3_cgraph.map +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - - - - - - - - - - diff --git a/d6/d30/classmachine__learning_1_1adaline_ab11242d9ad5b03a75911e29b04f78fd3_cgraph.md5 b/d6/d30/classmachine__learning_1_1adaline_ab11242d9ad5b03a75911e29b04f78fd3_cgraph.md5 deleted file mode 100644 index e4f56fa77..000000000 --- a/d6/d30/classmachine__learning_1_1adaline_ab11242d9ad5b03a75911e29b04f78fd3_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -dc776e0fa383e85de2be079430ef8adf \ No newline at end of file diff --git a/d6/d30/classmachine__learning_1_1adaline_ab11242d9ad5b03a75911e29b04f78fd3_cgraph.svg b/d6/d30/classmachine__learning_1_1adaline_ab11242d9ad5b03a75911e29b04f78fd3_cgraph.svg deleted file mode 100644 index 27d38aef1..000000000 --- a/d6/d30/classmachine__learning_1_1adaline_ab11242d9ad5b03a75911e29b04f78fd3_cgraph.svg +++ /dev/null @@ -1,194 +0,0 @@ - - - - - - - - - - - - -machine_learning::adaline::predict - - -Node1 - - -machine_learning::adaline -::predict - - - - - -Node2 - - -machine_learning::adaline -::activation - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::vector::back - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::vector::begin - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -machine_learning::adaline -::check_size_match - - - - - -Node1->Node5 - - - - - - - - -Node8 - - -std::vector::end - - - - - -Node1->Node8 - - - - - - - - -Node9 - - -std::inner_product - - - - - -Node1->Node9 - - - - - - - - -Node6 - - -std::endl - - - - - -Node5->Node6 - - - - - - - - -Node7 - - -std::vector::size - - - - - -Node5->Node7 - - - - - - - - - - - - - diff --git a/d6/d30/classmachine__learning_1_1adaline_ab11242d9ad5b03a75911e29b04f78fd3_cgraph_org.svg b/d6/d30/classmachine__learning_1_1adaline_ab11242d9ad5b03a75911e29b04f78fd3_cgraph_org.svg deleted file mode 100644 index f06d745d9..000000000 --- a/d6/d30/classmachine__learning_1_1adaline_ab11242d9ad5b03a75911e29b04f78fd3_cgraph_org.svg +++ /dev/null @@ -1,168 +0,0 @@ - - - - - - -machine_learning::adaline::predict - - -Node1 - - -machine_learning::adaline -::predict - - - - - -Node2 - - -machine_learning::adaline -::activation - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::vector::back - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::vector::begin - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -machine_learning::adaline -::check_size_match - - - - - -Node1->Node5 - - - - - - - - -Node8 - - -std::vector::end - - - - - -Node1->Node8 - - - - - - - - -Node9 - - -std::inner_product - - - - - -Node1->Node9 - - - - - - - - -Node6 - - -std::endl - - - - - -Node5->Node6 - - - - - - - - -Node7 - - -std::vector::size - - - - - -Node5->Node7 - - - - - - - - diff --git a/d6/d30/classmachine__learning_1_1adaline_ac8a9c2aaaa63b0f27ea176857e1e7d56_cgraph.map b/d6/d30/classmachine__learning_1_1adaline_ac8a9c2aaaa63b0f27ea176857e1e7d56_cgraph.map deleted file mode 100644 index 677c8982d..000000000 --- a/d6/d30/classmachine__learning_1_1adaline_ac8a9c2aaaa63b0f27ea176857e1e7d56_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/d6/d30/classmachine__learning_1_1adaline_ac8a9c2aaaa63b0f27ea176857e1e7d56_cgraph.md5 b/d6/d30/classmachine__learning_1_1adaline_ac8a9c2aaaa63b0f27ea176857e1e7d56_cgraph.md5 deleted file mode 100644 index 96fa0c088..000000000 --- a/d6/d30/classmachine__learning_1_1adaline_ac8a9c2aaaa63b0f27ea176857e1e7d56_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -687c722905fad03ee469c90c45e530d7 \ No newline at end of file diff --git a/d6/d30/classmachine__learning_1_1adaline_ac8a9c2aaaa63b0f27ea176857e1e7d56_cgraph.svg b/d6/d30/classmachine__learning_1_1adaline_ac8a9c2aaaa63b0f27ea176857e1e7d56_cgraph.svg deleted file mode 100644 index b30aa6d19..000000000 --- a/d6/d30/classmachine__learning_1_1adaline_ac8a9c2aaaa63b0f27ea176857e1e7d56_cgraph.svg +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - - - - - -machine_learning::adaline::check_size_match - - -Node1 - - -machine_learning::adaline -::check_size_match - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::vector::size - - - - - -Node1->Node3 - - - - - - - - - - - - - diff --git a/d6/d30/classmachine__learning_1_1adaline_ac8a9c2aaaa63b0f27ea176857e1e7d56_cgraph_org.svg b/d6/d30/classmachine__learning_1_1adaline_ac8a9c2aaaa63b0f27ea176857e1e7d56_cgraph_org.svg deleted file mode 100644 index 74a3d3e1c..000000000 --- a/d6/d30/classmachine__learning_1_1adaline_ac8a9c2aaaa63b0f27ea176857e1e7d56_cgraph_org.svg +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - -machine_learning::adaline::check_size_match - - -Node1 - - -machine_learning::adaline -::check_size_match - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::vector::size - - - - - -Node1->Node3 - - - - - - - - diff --git a/d6/d38/find__non__repeating__number_8cpp.html b/d6/d38/find__non__repeating__number_8cpp.html index 8da8c378b..96ccaf78a 100644 --- a/d6/d38/find__non__repeating__number_8cpp.html +++ b/d6/d38/find__non__repeating__number_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: bit_manipulation/find_non_repeating_number.cpp File Reference +TheAlgorithms/C++: bit_manipulation/find_non_repeating_number.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -121,7 +138,9 @@ Include dependency graph for find_non_repeating_number.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -133,7 +152,7 @@ Namespaces

    Namespaces

    namespace  bit_manipulation
    - + @@ -148,6 +167,8 @@ Functions

    Given an array of integers in which all of the numbers occur exactly twice except one integer which occurs only once. Find the non-repeating integer.

    Worst Case Time Complexity: O(n) Space complexity: O(1)

    Author
    Ravidev Pandey
    + +

    Definition in file find_non_repeating_number.cpp.

    Function Documentation

    ◆ find_non_repeating_integer()

    @@ -158,7 +179,7 @@ Functions - +

    Functions

    int64_t bit_manipulation::find_non_repeating_integer::find_non_repeating_integer (const std::vector< int > &nums)
    int64_t bit_manipulation::find_non_repeating_integer::find_non_repeating_integer (const std::vector< int > &nums)
     The main function implements find single number.
     
    static void test ()
    int64_t bit_manipulation::find_non_repeating_integer::find_non_repeating_integer (const std::vector< int > & nums)const std::vector< int > & nums)
    @@ -172,6 +193,8 @@ Functions
    Returns
    returns the integer that occurs only once
    + +

    Definition at line 39 of file find_non_repeating_number.cpp.

    39 {
    40 // The idea is based on the property of XOR.
    41 // We know that 'a' XOR 'a' is '0' and '0' XOR 'b'
    @@ -208,17 +231,14 @@ Functions

    Main function.

    Returns
    0 on exit
    + +

    Definition at line 85 of file find_non_repeating_number.cpp.

    85 {
    86 test(); // run self-test implementations
    87 return 0;
    88}
    -
    static void test()
    Self-test implementations.
    Definition find_non_repeating_number.cpp:62
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static void test()
    Self-test implementations.
    +
    @@ -246,12 +266,14 @@ Here is the call graph for this function:

    Self-test implementations.

    Returns
    void
    + +

    Definition at line 62 of file find_non_repeating_number.cpp.

    62 {
    63 // n = 10,2 return 14
    64
    -
    65 std::vector<int> nums_one{1, 1, 2, 2, 4, 5, 5};
    -
    66 std::vector<int> nums_two{203, 3434, 4545, 3434, 4545};
    -
    67 std::vector<int> nums_three{90, 1, 3, 90, 3};
    +
    65 std::vector<int> nums_one{1, 1, 2, 2, 4, 5, 5};
    +
    66 std::vector<int> nums_two{203, 3434, 4545, 3434, 4545};
    +
    67 std::vector<int> nums_three{90, 1, 3, 90, 3};
    68
    69 assert(bit_manipulation::find_non_repeating_integer::
    @@ -263,18 +285,10 @@ Here is the call graph for this function:
    76 find_non_repeating_integer(nums_three) ==
    77 1); // 1 is non repeating
    78
    -
    79 std::cout << "All test cases successfully passed!" << std::endl;
    +
    79 std::cout << "All test cases successfully passed!" << std::endl;
    80}
    - -
    T endl(T... args)
    Functions to find the non repeating integer in an array of repeating integers. Single Number
    - -
    -Here is the call graph for this function:
    -
    -
    -
    - + diff --git a/d6/d38/find__non__repeating__number_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map b/d6/d38/find__non__repeating__number_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map deleted file mode 100644 index e85e01374..000000000 --- a/d6/d38/find__non__repeating__number_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d6/d38/find__non__repeating__number_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 b/d6/d38/find__non__repeating__number_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 deleted file mode 100644 index 5901bc148..000000000 --- a/d6/d38/find__non__repeating__number_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -729fb887ee50b6291b0542ba0592a5c7 \ No newline at end of file diff --git a/d6/d38/find__non__repeating__number_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg b/d6/d38/find__non__repeating__number_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg deleted file mode 100644 index 2e04695b9..000000000 --- a/d6/d38/find__non__repeating__number_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d6/d38/find__non__repeating__number_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg b/d6/d38/find__non__repeating__number_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg deleted file mode 100644 index 1813bd719..000000000 --- a/d6/d38/find__non__repeating__number_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - diff --git a/d6/d38/find__non__repeating__number_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d6/d38/find__non__repeating__number_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 6f2ff56f0..000000000 --- a/d6/d38/find__non__repeating__number_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/d6/d38/find__non__repeating__number_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d6/d38/find__non__repeating__number_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index c29e1871f..000000000 --- a/d6/d38/find__non__repeating__number_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -0d64525989fc6e5894a4c117b1c204e1 \ No newline at end of file diff --git a/d6/d38/find__non__repeating__number_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d6/d38/find__non__repeating__number_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 464e03753..000000000 --- a/d6/d38/find__non__repeating__number_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node2->Node3 - - - - - - - - - - - - - diff --git a/d6/d38/find__non__repeating__number_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d6/d38/find__non__repeating__number_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index c504e2bb0..000000000 --- a/d6/d38/find__non__repeating__number_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node2->Node3 - - - - - - - - diff --git a/d6/d38/find__non__repeating__number_8cpp_source.html b/d6/d38/find__non__repeating__number_8cpp_source.html new file mode 100644 index 000000000..1fdb586ba --- /dev/null +++ b/d6/d38/find__non__repeating__number_8cpp_source.html @@ -0,0 +1,196 @@ + + + + + + + + +TheAlgorithms/C++: bit_manipulation/find_non_repeating_number.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    find_non_repeating_number.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    18#include <cassert>
    +
    19#include <iostream>
    +
    20#include <vector>
    +
    21
    +
    26namespace bit_manipulation {
    + +
    +
    39int64_t find_non_repeating_integer(const std::vector<int>& nums) {
    +
    40 // The idea is based on the property of XOR.
    +
    41 // We know that 'a' XOR 'a' is '0' and '0' XOR 'b'
    +
    42 // is b.
    +
    43 // Using this, if we XOR all the elements of the array,
    +
    44 // the repeating elements will give '0' and this '0'
    +
    45 // with the single number will give the number itself.
    +
    46
    +
    47 int _xor = 0;
    +
    48
    +
    49 for (const int& num: nums) {
    +
    50 _xor ^= num;
    +
    51 }
    +
    52
    +
    53 return _xor;
    +
    54}
    +
    +
    55} // namespace find_non_repeating_integer
    +
    56} // namespace bit_manipulation
    +
    57
    +
    +
    62static void test() {
    +
    63 // n = 10,2 return 14
    +
    64
    +
    65 std::vector<int> nums_one{1, 1, 2, 2, 4, 5, 5};
    +
    66 std::vector<int> nums_two{203, 3434, 4545, 3434, 4545};
    +
    67 std::vector<int> nums_three{90, 1, 3, 90, 3};
    +
    68
    +
    69 assert(bit_manipulation::find_non_repeating_integer::
    + +
    71 4); // 4 is non repeating
    +
    72 assert(bit_manipulation::find_non_repeating_integer::
    + +
    74 203); // 203 is non repeating
    +
    75 assert(bit_manipulation::find_non_repeating_integer::
    +
    76 find_non_repeating_integer(nums_three) ==
    +
    77 1); // 1 is non repeating
    +
    78
    +
    79 std::cout << "All test cases successfully passed!" << std::endl;
    +
    80}
    +
    +
    +
    85int main() {
    +
    86 test(); // run self-test implementations
    +
    87 return 0;
    +
    88}
    +
    +
    static void test()
    Self-test implementations.
    +
    int main()
    Main function.
    + +
    Functions to find the non repeating integer in an array of repeating integers. Single Number
    +
    +
    + + + + diff --git a/d6/d42/miller__rabin_8cpp.html b/d6/d42/miller__rabin_8cpp.html index 86409e1c6..70cf34e2b 100644 --- a/d6/d42/miller__rabin_8cpp.html +++ b/d6/d42/miller__rabin_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: math/miller_rabin.cpp File Reference +TheAlgorithms/C++: math/miller_rabin.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -118,14 +135,16 @@ Include dependency graph for miller_rabin.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    - + - + @@ -141,6 +160,8 @@ Functions

    Detailed Description

    Copyright 2020

    Author
    tjgurwara99

    A basic implementation of Miller-Rabin primality test.

    + +

    Definition in file miller_rabin.cpp.

    Function Documentation

    ◆ main()

    @@ -157,17 +178,14 @@ Functions

    Functions

    template<typename T >
    std::vector< T > reverse_binary (T num)
    std::vector< T > reverse_binary (T num)
     
    template<typename T >
    modular_exponentiation (T base, const std::vector< T > &rev_binary_exponent, T mod)
    modular_exponentiation (T base, const std::vector< T > &rev_binary_exponent, T mod)
     
    template<typename T >
    bool miller_test (T d, T num)

    Main function

    + +

    Definition at line 183 of file miller_rabin.cpp.

    183 {
    184 tests();
    185 return 0;
    186}
    -
    void tests()
    Definition miller_rabin.cpp:157
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    void tests()
    +
    @@ -201,6 +219,8 @@ template<typename T >
    'true' if num is (probably) prime

    \detail First we check whether the num input is less than 4, if so we can determine whether this is a prime or composite by checking for 2 and 3. Next we check whether this num is odd (as all primes greater than 2 are odd). Next we write our num in the following format \(num = 2^r \cdot d + 1\). After finding r and d for our input num, we use for loop repeat number of times inside which we check the miller conditions using the function miller_test. If miller_test returns false then the number is composite After the loop finishes completely without issuing a false return call, we can conclude that this number is probably prime.

    + +

    Definition at line 125 of file miller_rabin.cpp.

    125 {
    126 if (num <= 4) {
    127 // If num == 2 or num == 3 then prime
    @@ -228,13 +248,8 @@ template<typename T >
    149 }
    150 return true;
    151}
    -
    bool miller_test(T d, T num)
    Definition miller_rabin.cpp:73
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    bool miller_test(T d, T num)
    + @@ -267,17 +282,19 @@ template<typename T >
    Returns
    'false' if n is composite
    'true' if n is (probably) prime.
    + +

    Definition at line 73 of file miller_rabin.cpp.

    73 {
    74 // random number seed
    -
    75 std::random_device rd_seed;
    +
    75 std::random_device rd_seed;
    76 // random number generator
    -
    77 std::mt19937 gen(rd_seed());
    +
    77 std::mt19937 gen(rd_seed());
    78 // Uniformly distributed range [2, num - 2] for random numbers
    -
    79 std::uniform_int_distribution<> distribution(2, num - 2);
    +
    79 std::uniform_int_distribution<> distribution(2, num - 2);
    80 // Random number generated in the range [2, num -2].
    81 T random = distribution(gen);
    82 // vector for reverse binary of the power
    - +
    83 std::vector<T> power = reverse_binary(d);
    84 // x = random ^ d % num
    85 T x = modular_exponentiation(random, power, num);
    86 // miller conditions
    @@ -297,19 +314,10 @@ template<typename T >
    100 }
    101 return false;
    102}
    - -
    std::vector< T > reverse_binary(T num)
    Definition miller_rabin.cpp:19
    -
    T modular_exponentiation(T base, const std::vector< T > &rev_binary_exponent, T mod)
    Definition miller_rabin.cpp:43
    -
    void power(int x, int n)
    Definition power_for_huge_numbers.cpp:56
    - - - -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    std::vector< T > reverse_binary(T num)
    +
    T modular_exponentiation(T base, const std::vector< T > &rev_binary_exponent, T mod)
    +
    void power(int x, int n)
    + @@ -328,7 +336,7 @@ template<typename T > - const std::vector< T > & rev_binary_exponent, + const std::vector< T > & rev_binary_exponent, @@ -347,34 +355,28 @@ template<typename T >
    Returns
    r the modular exponentiation of \(a^{n} \equiv r \mod{m}\) where \(n\) is the base 10 representation of rev_binary_exponent and \(m = mod \) parameter.
    + +

    Definition at line 43 of file miller_rabin.cpp.

    44 {
    45 if (mod == 1)
    46 return 0;
    47 T b = 1;
    -
    48 if (rev_binary_exponent.size() == 0)
    +
    48 if (rev_binary_exponent.size() == 0)
    49 return b;
    50 T A = base;
    51 if (rev_binary_exponent[0] == 1)
    52 b = base;
    53
    54 for (typename std::vector<T>::const_iterator it =
    -
    55 rev_binary_exponent.cbegin() + 1;
    -
    56 it != rev_binary_exponent.cend(); ++it) {
    +
    55 rev_binary_exponent.cbegin() + 1;
    +
    56 it != rev_binary_exponent.cend(); ++it) {
    57 A = A * A % mod;
    58 if (*it == 1)
    59 b = A * b % mod;
    60 }
    61 return b;
    62}
    -
    T cbegin(T... args)
    -
    T cend(T... args)
    -
    T size(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -386,7 +388,7 @@ Here is the call graph for this function: template<typename T > - + @@ -400,8 +402,10 @@ template<typename T >
    Returns
    result vector of the number input in reverse binary
    + +

    Definition at line 19 of file miller_rabin.cpp.

    19 {
    - +
    20 std::vector<T> result;
    21 T temp = num;
    22 while (temp > 0) {
    23 result.push_back(temp % 2);
    @@ -409,7 +413,7 @@ template<typename T >
    25 }
    26 return result;
    27}
    -
    uint64_t result(uint64_t n)
    Definition fibonacci_sum.cpp:77
    +
    uint64_t result(uint64_t n)
    @@ -428,37 +432,32 @@ template<typename T >
    std::vector< T > reverse_binary std::vector< T > reverse_binary ( T num)

    Functions for testing the miller_rabin_primality_test() function with some assert statements.

    + +

    Definition at line 157 of file miller_rabin.cpp.

    157 {
    158 // First test on 2
    159 assert(((void)"2 is prime but function says otherwise.\n",
    160 miller_rabin_primality_test(2, 1) == true));
    -
    161 std::cout << "First test passes." << std::endl;
    +
    161 std::cout << "First test passes." << std::endl;
    162 // Second test on 5
    163 assert(((void)"5 should be prime but the function says otherwise.\n",
    164 miller_rabin_primality_test(5, 3) == true));
    -
    165 std::cout << "Second test passes." << std::endl;
    +
    165 std::cout << "Second test passes." << std::endl;
    166 // Third test on 23
    167 assert(((void)"23 should be prime but the function says otherwise.\n",
    168 miller_rabin_primality_test(23, 3) == true));
    -
    169 std::cout << "Third test passes." << std::endl;
    +
    169 std::cout << "Third test passes." << std::endl;
    170 // Fourth test on 16
    171 assert(((void)"16 is not a prime but the function says otherwise.\n",
    172 miller_rabin_primality_test(16, 3) == false));
    -
    173 std::cout << "Fourth test passes." << std::endl;
    +
    173 std::cout << "Fourth test passes." << std::endl;
    174 // Fifth test on 27
    175 assert(((void)"27 is not a prime but the function says otherwise.\n",
    176 miller_rabin_primality_test(27, 3) == false));
    -
    177 std::cout << "Fifth test passes." << std::endl;
    +
    177 std::cout << "Fifth test passes." << std::endl;
    178}
    - -
    T endl(T... args)
    -
    bool miller_rabin_primality_test(T num, T repeats)
    Definition miller_rabin.cpp:125
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    bool miller_rabin_primality_test(T num, T repeats)
    +
    diff --git a/d6/d42/miller__rabin_8cpp_a6f9c31c1047aa3191676d64571d4c506_cgraph.map b/d6/d42/miller__rabin_8cpp_a6f9c31c1047aa3191676d64571d4c506_cgraph.map deleted file mode 100644 index 71594e238..000000000 --- a/d6/d42/miller__rabin_8cpp_a6f9c31c1047aa3191676d64571d4c506_cgraph.map +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - - - - - diff --git a/d6/d42/miller__rabin_8cpp_a6f9c31c1047aa3191676d64571d4c506_cgraph.md5 b/d6/d42/miller__rabin_8cpp_a6f9c31c1047aa3191676d64571d4c506_cgraph.md5 deleted file mode 100644 index 270c9e590..000000000 --- a/d6/d42/miller__rabin_8cpp_a6f9c31c1047aa3191676d64571d4c506_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -267ddd45fdd681498a1c50db1763b60d \ No newline at end of file diff --git a/d6/d42/miller__rabin_8cpp_a6f9c31c1047aa3191676d64571d4c506_cgraph.svg b/d6/d42/miller__rabin_8cpp_a6f9c31c1047aa3191676d64571d4c506_cgraph.svg deleted file mode 100644 index b0ff784e2..000000000 --- a/d6/d42/miller__rabin_8cpp_a6f9c31c1047aa3191676d64571d4c506_cgraph.svg +++ /dev/null @@ -1,173 +0,0 @@ - - - - - - - - - - - - -miller_test - - -Node1 - - -miller_test - - - - - -Node2 - - -modular_exponentiation - - - - - -Node1->Node2 - - - - - - - - -Node6 - - -power - - - - - -Node1->Node6 - - - - - - - - -Node8 - - -reverse_binary - - - - - -Node1->Node8 - - - - - - - - -Node3 - - -std::vector::cbegin - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::vector::cend - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -std::vector::size - - - - - -Node2->Node5 - - - - - - - - -Node7 - - -multiply - - - - - -Node6->Node7 - - - - - - - - - - - - - diff --git a/d6/d42/miller__rabin_8cpp_a6f9c31c1047aa3191676d64571d4c506_cgraph_org.svg b/d6/d42/miller__rabin_8cpp_a6f9c31c1047aa3191676d64571d4c506_cgraph_org.svg deleted file mode 100644 index 618999d77..000000000 --- a/d6/d42/miller__rabin_8cpp_a6f9c31c1047aa3191676d64571d4c506_cgraph_org.svg +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - -miller_test - - -Node1 - - -miller_test - - - - - -Node2 - - -modular_exponentiation - - - - - -Node1->Node2 - - - - - - - - -Node6 - - -power - - - - - -Node1->Node6 - - - - - - - - -Node8 - - -reverse_binary - - - - - -Node1->Node8 - - - - - - - - -Node3 - - -std::vector::cbegin - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::vector::cend - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -std::vector::size - - - - - -Node2->Node5 - - - - - - - - -Node7 - - -multiply - - - - - -Node6->Node7 - - - - - - - - diff --git a/d6/d42/miller__rabin_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph.map b/d6/d42/miller__rabin_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph.map deleted file mode 100644 index c8ce32b5f..000000000 --- a/d6/d42/miller__rabin_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph.map +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d6/d42/miller__rabin_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph.md5 b/d6/d42/miller__rabin_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph.md5 deleted file mode 100644 index fd96d52d9..000000000 --- a/d6/d42/miller__rabin_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -51f802b0a4a49342f7be04b0df158f14 \ No newline at end of file diff --git a/d6/d42/miller__rabin_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph.svg b/d6/d42/miller__rabin_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph.svg deleted file mode 100644 index ae7937c76..000000000 --- a/d6/d42/miller__rabin_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph.svg +++ /dev/null @@ -1,284 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -tests - - -Node1 - - -tests - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -miller_rabin_primality_test - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -miller_test - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -modular_exponentiation - - - - - -Node4->Node5 - - - - - - - - -Node9 - - -power - - - - - -Node4->Node9 - - - - - - - - -Node11 - - -reverse_binary - - - - - -Node4->Node11 - - - - - - - - -Node6 - - -std::vector::cbegin - - - - - -Node5->Node6 - - - - - - - - -Node7 - - -std::vector::cend - - - - - -Node5->Node7 - - - - - - - - -Node8 - - -std::vector::size - - - - - -Node5->Node8 - - - - - - - - -Node10 - - -multiply - - - - - -Node9->Node10 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d6/d42/miller__rabin_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph_org.svg b/d6/d42/miller__rabin_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph_org.svg deleted file mode 100644 index 62518b78b..000000000 --- a/d6/d42/miller__rabin_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph_org.svg +++ /dev/null @@ -1,201 +0,0 @@ - - - - - - -tests - - -Node1 - - -tests - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -miller_rabin_primality_test - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -miller_test - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -modular_exponentiation - - - - - -Node4->Node5 - - - - - - - - -Node9 - - -power - - - - - -Node4->Node9 - - - - - - - - -Node11 - - -reverse_binary - - - - - -Node4->Node11 - - - - - - - - -Node6 - - -std::vector::cbegin - - - - - -Node5->Node6 - - - - - - - - -Node7 - - -std::vector::cend - - - - - -Node5->Node7 - - - - - - - - -Node8 - - -std::vector::size - - - - - -Node5->Node8 - - - - - - - - -Node10 - - -multiply - - - - - -Node9->Node10 - - - - - - - - diff --git a/d6/d42/miller__rabin_8cpp_a901288288ef5ebe8e97414cc30797cce_cgraph.map b/d6/d42/miller__rabin_8cpp_a901288288ef5ebe8e97414cc30797cce_cgraph.map deleted file mode 100644 index 5e6d0a19b..000000000 --- a/d6/d42/miller__rabin_8cpp_a901288288ef5ebe8e97414cc30797cce_cgraph.map +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - - - - - - - - - - diff --git a/d6/d42/miller__rabin_8cpp_a901288288ef5ebe8e97414cc30797cce_cgraph.md5 b/d6/d42/miller__rabin_8cpp_a901288288ef5ebe8e97414cc30797cce_cgraph.md5 deleted file mode 100644 index ccd7705a0..000000000 --- a/d6/d42/miller__rabin_8cpp_a901288288ef5ebe8e97414cc30797cce_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -9f3ee2bfd6a09861db5895973a6587cf \ No newline at end of file diff --git a/d6/d42/miller__rabin_8cpp_a901288288ef5ebe8e97414cc30797cce_cgraph.svg b/d6/d42/miller__rabin_8cpp_a901288288ef5ebe8e97414cc30797cce_cgraph.svg deleted file mode 100644 index 984807fdf..000000000 --- a/d6/d42/miller__rabin_8cpp_a901288288ef5ebe8e97414cc30797cce_cgraph.svg +++ /dev/null @@ -1,248 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -miller_rabin_primality_test - - -Node1 - - -miller_rabin_primality_test - - - - - -Node2 - - -miller_test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -modular_exponentiation - - - - - -Node2->Node3 - - - - - - - - -Node7 - - -power - - - - - -Node2->Node7 - - - - - - - - -Node9 - - -reverse_binary - - - - - -Node2->Node9 - - - - - - - - -Node4 - - -std::vector::cbegin - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -std::vector::cend - - - - - -Node3->Node5 - - - - - - - - -Node6 - - -std::vector::size - - - - - -Node3->Node6 - - - - - - - - -Node8 - - -multiply - - - - - -Node7->Node8 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d6/d42/miller__rabin_8cpp_a901288288ef5ebe8e97414cc30797cce_cgraph_org.svg b/d6/d42/miller__rabin_8cpp_a901288288ef5ebe8e97414cc30797cce_cgraph_org.svg deleted file mode 100644 index 10e3c737e..000000000 --- a/d6/d42/miller__rabin_8cpp_a901288288ef5ebe8e97414cc30797cce_cgraph_org.svg +++ /dev/null @@ -1,165 +0,0 @@ - - - - - - -miller_rabin_primality_test - - -Node1 - - -miller_rabin_primality_test - - - - - -Node2 - - -miller_test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -modular_exponentiation - - - - - -Node2->Node3 - - - - - - - - -Node7 - - -power - - - - - -Node2->Node7 - - - - - - - - -Node9 - - -reverse_binary - - - - - -Node2->Node9 - - - - - - - - -Node4 - - -std::vector::cbegin - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -std::vector::cend - - - - - -Node3->Node5 - - - - - - - - -Node6 - - -std::vector::size - - - - - -Node3->Node6 - - - - - - - - -Node8 - - -multiply - - - - - -Node7->Node8 - - - - - - - - diff --git a/d6/d42/miller__rabin_8cpp_ad6c2c67ea416d0e80003a88623f98b29_cgraph.map b/d6/d42/miller__rabin_8cpp_ad6c2c67ea416d0e80003a88623f98b29_cgraph.map deleted file mode 100644 index a795e0d88..000000000 --- a/d6/d42/miller__rabin_8cpp_ad6c2c67ea416d0e80003a88623f98b29_cgraph.map +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/d6/d42/miller__rabin_8cpp_ad6c2c67ea416d0e80003a88623f98b29_cgraph.md5 b/d6/d42/miller__rabin_8cpp_ad6c2c67ea416d0e80003a88623f98b29_cgraph.md5 deleted file mode 100644 index 7697989bb..000000000 --- a/d6/d42/miller__rabin_8cpp_ad6c2c67ea416d0e80003a88623f98b29_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -68460772f12262321b360a8d1ce9244e \ No newline at end of file diff --git a/d6/d42/miller__rabin_8cpp_ad6c2c67ea416d0e80003a88623f98b29_cgraph.svg b/d6/d42/miller__rabin_8cpp_ad6c2c67ea416d0e80003a88623f98b29_cgraph.svg deleted file mode 100644 index b57ae2e0f..000000000 --- a/d6/d42/miller__rabin_8cpp_ad6c2c67ea416d0e80003a88623f98b29_cgraph.svg +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - - - - - - - -modular_exponentiation - - -Node1 - - -modular_exponentiation - - - - - -Node2 - - -std::vector::cbegin - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::vector::cend - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::vector::size - - - - - -Node1->Node4 - - - - - - - - - - - - - diff --git a/d6/d42/miller__rabin_8cpp_ad6c2c67ea416d0e80003a88623f98b29_cgraph_org.svg b/d6/d42/miller__rabin_8cpp_ad6c2c67ea416d0e80003a88623f98b29_cgraph_org.svg deleted file mode 100644 index 941f1998e..000000000 --- a/d6/d42/miller__rabin_8cpp_ad6c2c67ea416d0e80003a88623f98b29_cgraph_org.svg +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - -modular_exponentiation - - -Node1 - - -modular_exponentiation - - - - - -Node2 - - -std::vector::cbegin - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::vector::cend - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::vector::size - - - - - -Node1->Node4 - - - - - - - - diff --git a/d6/d42/miller__rabin_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d6/d42/miller__rabin_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index dbf3bc2fa..000000000 --- a/d6/d42/miller__rabin_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d6/d42/miller__rabin_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d6/d42/miller__rabin_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index d94f21074..000000000 --- a/d6/d42/miller__rabin_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -8721f89a10e662e97d49be3c6c56c607 \ No newline at end of file diff --git a/d6/d42/miller__rabin_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d6/d42/miller__rabin_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 1d80860d6..000000000 --- a/d6/d42/miller__rabin_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,302 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -tests - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -miller_rabin_primality_test - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -miller_test - - - - - -Node4->Node5 - - - - - - - - -Node6 - - -modular_exponentiation - - - - - -Node5->Node6 - - - - - - - - -Node10 - - -power - - - - - -Node5->Node10 - - - - - - - - -Node12 - - -reverse_binary - - - - - -Node5->Node12 - - - - - - - - -Node7 - - -std::vector::cbegin - - - - - -Node6->Node7 - - - - - - - - -Node8 - - -std::vector::cend - - - - - -Node6->Node8 - - - - - - - - -Node9 - - -std::vector::size - - - - - -Node6->Node9 - - - - - - - - -Node11 - - -multiply - - - - - -Node10->Node11 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d6/d42/miller__rabin_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d6/d42/miller__rabin_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index e7a427181..000000000 --- a/d6/d42/miller__rabin_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,219 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -tests - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -miller_rabin_primality_test - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -miller_test - - - - - -Node4->Node5 - - - - - - - - -Node6 - - -modular_exponentiation - - - - - -Node5->Node6 - - - - - - - - -Node10 - - -power - - - - - -Node5->Node10 - - - - - - - - -Node12 - - -reverse_binary - - - - - -Node5->Node12 - - - - - - - - -Node7 - - -std::vector::cbegin - - - - - -Node6->Node7 - - - - - - - - -Node8 - - -std::vector::cend - - - - - -Node6->Node8 - - - - - - - - -Node9 - - -std::vector::size - - - - - -Node6->Node9 - - - - - - - - -Node11 - - -multiply - - - - - -Node10->Node11 - - - - - - - - diff --git a/d6/d42/miller__rabin_8cpp_source.html b/d6/d42/miller__rabin_8cpp_source.html new file mode 100644 index 000000000..9b7cc7941 --- /dev/null +++ b/d6/d42/miller__rabin_8cpp_source.html @@ -0,0 +1,283 @@ + + + + + + + + +TheAlgorithms/C++: math/miller_rabin.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    miller_rabin.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    8#include <cassert>
    +
    9#include <iostream>
    +
    10#include <random>
    +
    11#include <vector>
    +
    12
    +
    18template <typename T>
    +
    +
    19std::vector<T> reverse_binary(T num) {
    +
    20 std::vector<T> result;
    +
    21 T temp = num;
    +
    22 while (temp > 0) {
    +
    23 result.push_back(temp % 2);
    +
    24 temp = temp / 2;
    +
    25 }
    +
    26 return result;
    +
    27}
    +
    +
    28
    +
    42template <typename T>
    +
    +
    43T modular_exponentiation(T base, const std::vector<T> &rev_binary_exponent,
    +
    44 T mod) {
    +
    45 if (mod == 1)
    +
    46 return 0;
    +
    47 T b = 1;
    +
    48 if (rev_binary_exponent.size() == 0)
    +
    49 return b;
    +
    50 T A = base;
    +
    51 if (rev_binary_exponent[0] == 1)
    +
    52 b = base;
    +
    53
    +
    54 for (typename std::vector<T>::const_iterator it =
    +
    55 rev_binary_exponent.cbegin() + 1;
    +
    56 it != rev_binary_exponent.cend(); ++it) {
    +
    57 A = A * A % mod;
    +
    58 if (*it == 1)
    +
    59 b = A * b % mod;
    +
    60 }
    +
    61 return b;
    +
    62}
    +
    +
    63
    +
    72template <typename T>
    +
    +
    73bool miller_test(T d, T num) {
    +
    74 // random number seed
    +
    75 std::random_device rd_seed;
    +
    76 // random number generator
    +
    77 std::mt19937 gen(rd_seed());
    +
    78 // Uniformly distributed range [2, num - 2] for random numbers
    +
    79 std::uniform_int_distribution<> distribution(2, num - 2);
    +
    80 // Random number generated in the range [2, num -2].
    +
    81 T random = distribution(gen);
    +
    82 // vector for reverse binary of the power
    +
    83 std::vector<T> power = reverse_binary(d);
    +
    84 // x = random ^ d % num
    +
    85 T x = modular_exponentiation(random, power, num);
    +
    86 // miller conditions
    +
    87 if (x == 1 || x == num - 1) {
    +
    88 return true;
    +
    89 }
    +
    90
    +
    91 while (d != num - 1) {
    +
    92 x = (x * x) % num;
    +
    93 d *= 2;
    +
    94 if (x == 1) {
    +
    95 return false;
    +
    96 }
    +
    97 if (x == num - 1) {
    +
    98 return true;
    +
    99 }
    +
    100 }
    +
    101 return false;
    +
    102}
    +
    +
    103
    +
    124template <typename T>
    +
    +
    125bool miller_rabin_primality_test(T num, T repeats) {
    +
    126 if (num <= 4) {
    +
    127 // If num == 2 or num == 3 then prime
    +
    128 if (num == 2 || num == 3) {
    +
    129 return true;
    +
    130 } else {
    +
    131 return false;
    +
    132 }
    +
    133 }
    +
    134 // If num is even then not prime
    +
    135 if (num % 2 == 0) {
    +
    136 return false;
    +
    137 }
    +
    138 // Finding d and r in num = 2^r * d + 1
    +
    139 T d = num - 1, r = 0;
    +
    140 while (d % 2 == 0) {
    +
    141 d = d / 2;
    +
    142 r++;
    +
    143 }
    +
    144
    +
    145 for (T i = 0; i < repeats; ++i) {
    +
    146 if (!miller_test(d, num)) {
    +
    147 return false;
    +
    148 }
    +
    149 }
    +
    150 return true;
    +
    151}
    +
    +
    152
    +
    +
    157void tests() {
    +
    158 // First test on 2
    +
    159 assert(((void)"2 is prime but function says otherwise.\n",
    +
    160 miller_rabin_primality_test(2, 1) == true));
    +
    161 std::cout << "First test passes." << std::endl;
    +
    162 // Second test on 5
    +
    163 assert(((void)"5 should be prime but the function says otherwise.\n",
    +
    164 miller_rabin_primality_test(5, 3) == true));
    +
    165 std::cout << "Second test passes." << std::endl;
    +
    166 // Third test on 23
    +
    167 assert(((void)"23 should be prime but the function says otherwise.\n",
    +
    168 miller_rabin_primality_test(23, 3) == true));
    +
    169 std::cout << "Third test passes." << std::endl;
    +
    170 // Fourth test on 16
    +
    171 assert(((void)"16 is not a prime but the function says otherwise.\n",
    +
    172 miller_rabin_primality_test(16, 3) == false));
    +
    173 std::cout << "Fourth test passes." << std::endl;
    +
    174 // Fifth test on 27
    +
    175 assert(((void)"27 is not a prime but the function says otherwise.\n",
    +
    176 miller_rabin_primality_test(27, 3) == false));
    +
    177 std::cout << "Fifth test passes." << std::endl;
    +
    178}
    +
    +
    179
    +
    +
    183int main() {
    +
    184 tests();
    +
    185 return 0;
    +
    186}
    +
    +
    std::vector< T > reverse_binary(T num)
    +
    bool miller_test(T d, T num)
    +
    void tests()
    +
    bool miller_rabin_primality_test(T num, T repeats)
    +
    T modular_exponentiation(T base, const std::vector< T > &rev_binary_exponent, T mod)
    +
    int main()
    +
    void power(int x, int n)
    +
    +
    + + + + diff --git a/d6/d45/structciphers_1_1elliptic__curve__key__exchange_1_1_point.html b/d6/d45/structciphers_1_1elliptic__curve__key__exchange_1_1_point.html index e63a23d58..20c20af23 100644 --- a/d6/d45/structciphers_1_1elliptic__curve__key__exchange_1_1_point.html +++ b/d6/d45/structciphers_1_1elliptic__curve__key__exchange_1_1_point.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: ciphers::elliptic_curve_key_exchange::Point Struct Reference +TheAlgorithms/C++: ciphers::elliptic_curve_key_exchange::Point Struct Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -129,22 +146,22 @@ Public Member Functions
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    - + - +

    Public Attributes

    -uint256_t x
    uint256_t x
     
    -uint256_t y
    uint256_t y
     
    - +

    Friends

    std::ostreamoperator<< (std::ostream &op, const Point &p)
    std::ostream & operator<< (std::ostream &op, const Point &p)
     ostream operator for printing Point
     

    Detailed Description

    Definition of struct Point.

    Definition of Point in the curve.

    + +

    Definition at line 46 of file elliptic_curve_key_exchange.cpp.

    Member Function Documentation

    ◆ operator==()

    @@ -178,8 +195,10 @@ Friends
    Returns
    true if x and y are both equal with Point p, else false
    + +

    Definition at line 55 of file elliptic_curve_key_exchange.cpp.

    55{ return x == p.x && y == p.y; }
    -
    int y
    Point respect to x coordinate.
    Definition line_segment_intersection.cpp:14
    +
    int y
    Point respect to x coordinate.
    @@ -194,9 +213,9 @@ Friends - + - + @@ -220,15 +239,50 @@ Friends
    Returns
    op, the ostream object
    + +

    Definition at line 63 of file elliptic_curve_key_exchange.cpp.

    63 {
    64 op << p.x << " " << p.y;
    65 return op;
    66 }
    + + +

    Member Data Documentation

    + +

    ◆ x

    + +
    +
    +
    std::ostream & operator<< std::ostream & operator<< (std::ostream & op, std::ostream & op,
    + + + +
    uint256_t ciphers::elliptic_curve_key_exchange::Point::x
    +
    + +

    Definition at line 47 of file elliptic_curve_key_exchange.cpp.

    + +
    + + +

    ◆ y

    + +
    +
    + + + + +
    uint256_t ciphers::elliptic_curve_key_exchange::Point::y
    +
    + +

    Definition at line 47 of file elliptic_curve_key_exchange.cpp.

    +

    The documentation for this struct was generated from the following file: diff --git a/d6/d47/classrange__queries_1_1per_seg_tree__coll__graph.map b/d6/d47/classrange__queries_1_1per_seg_tree__coll__graph.map index 910f880e2..a987cd5e6 100644 --- a/d6/d47/classrange__queries_1_1per_seg_tree__coll__graph.map +++ b/d6/d47/classrange__queries_1_1per_seg_tree__coll__graph.map @@ -1,14 +1,12 @@ - - - - - - - - - - - - + + + + + + + + + + diff --git a/d6/d47/classrange__queries_1_1per_seg_tree__coll__graph.md5 b/d6/d47/classrange__queries_1_1per_seg_tree__coll__graph.md5 index f354bd5f8..5cf135f7b 100644 --- a/d6/d47/classrange__queries_1_1per_seg_tree__coll__graph.md5 +++ b/d6/d47/classrange__queries_1_1per_seg_tree__coll__graph.md5 @@ -1 +1 @@ -21fe6e10a1700715b03416cf980098cc \ No newline at end of file +d383430c7943689f9d46498de044199d \ No newline at end of file diff --git a/d6/d47/classrange__queries_1_1per_seg_tree__coll__graph.svg b/d6/d47/classrange__queries_1_1per_seg_tree__coll__graph.svg index a1d29a48e..2ef00caea 100644 --- a/d6/d47/classrange__queries_1_1per_seg_tree__coll__graph.svg +++ b/d6/d47/classrange__queries_1_1per_seg_tree__coll__graph.svg @@ -4,7 +4,7 @@ - + @@ -48,7 +48,7 @@ @@ -59,19 +59,19 @@ var sectionId = 'dynsection-0'; Node1 - -range_queries::perSegTree + +range_queries::perSegTree Node2 - - -std::vector< std::shared -_ptr< range_queries::perSegTree -::Node > > + + +std::vector< std::shared +_ptr< range_queries::perSegTree +::Node > > @@ -79,20 +79,20 @@ var sectionId = 'dynsection-0'; Node2->Node1 - - + + - ptrs + ptrs Node3 - - -std::shared_ptr< range -_queries::perSegTree:: -Node > + + +std::shared_ptr< range +_queries::perSegTree:: +Node > @@ -100,19 +100,19 @@ var sectionId = 'dynsection-0'; Node3->Node2 - - + + - elements + elements Node4 - -range_queries::perSegTree -::Node + +range_queries::perSegTree +::Node @@ -120,29 +120,29 @@ var sectionId = 'dynsection-0'; Node3->Node4 - - + + - left -right + left +right Node4->Node3 - - + + - ptr + ptr Node5 - - -std::vector< int64_t > + + +std::vector< int64_t > @@ -150,30 +150,11 @@ var sectionId = 'dynsection-0'; Node5->Node1 - - + + - vec - - - -Node6 - - -std::int64_t - - - - - -Node6->Node5 - - - - - - elements + vec diff --git a/d6/d47/classrange__queries_1_1per_seg_tree__coll__graph_org.svg b/d6/d47/classrange__queries_1_1per_seg_tree__coll__graph_org.svg index bced1c641..06fd5c108 100644 --- a/d6/d47/classrange__queries_1_1per_seg_tree__coll__graph_org.svg +++ b/d6/d47/classrange__queries_1_1per_seg_tree__coll__graph_org.svg @@ -4,27 +4,27 @@ - - + + range_queries::perSegTree Node1 - -range_queries::perSegTree + +range_queries::perSegTree Node2 - - -std::vector< std::shared -_ptr< range_queries::perSegTree -::Node > > + + +std::vector< std::shared +_ptr< range_queries::perSegTree +::Node > > @@ -32,20 +32,20 @@ Node2->Node1 - - + + - ptrs + ptrs Node3 - - -std::shared_ptr< range -_queries::perSegTree:: -Node > + + +std::shared_ptr< range +_queries::perSegTree:: +Node > @@ -53,19 +53,19 @@ Node3->Node2 - - + + - elements + elements Node4 - -range_queries::perSegTree -::Node + +range_queries::perSegTree +::Node @@ -73,29 +73,29 @@ Node3->Node4 - - + + - left -right + left +right Node4->Node3 - - + + - ptr + ptr Node5 - - -std::vector< int64_t > + + +std::vector< int64_t > @@ -103,30 +103,11 @@ Node5->Node1 - - + + - vec - - - -Node6 - - -std::int64_t - - - - - -Node6->Node5 - - - - - - elements + vec diff --git a/d6/d4a/addition__rule_8cpp.html b/d6/d4a/addition__rule_8cpp.html index 8c52dfc16..afa348ee6 100644 --- a/d6/d4a/addition__rule_8cpp.html +++ b/d6/d4a/addition__rule_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: probability/addition_rule.cpp File Reference +TheAlgorithms/C++: probability/addition_rule.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -118,7 +135,9 @@ Include dependency graph for addition_rule.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -130,6 +149,8 @@ Functions

    Functions

    double addition_rule_independent (double A, double B)

    Detailed Description

    Addition rule of probabilities.

    + +

    Definition in file addition_rule.cpp.

    Function Documentation

    ◆ addition_rule_dependent()

    @@ -155,6 +176,8 @@ Functions

    Calculates the probability of the events A or B for dependent events note that if value of B_given_A is unknown, use chainrule to find it \parama [in] A probability of event A \parama [in] B probability of event B \parama [in] B_given_A probability of event B condition A

    Returns
    probability of A and B
    + +

    Definition at line 25 of file addition_rule.cpp.

    25 {
    26 return (A + B) - (A * B_given_A);
    27}
    @@ -180,6 +203,8 @@ Functions

    calculates the probability of the independent events A or B for independent events \parama [in] A probability of event A \parama [in] B probability of event B

    Returns
    probability of A and B
    + +

    Definition at line 14 of file addition_rule.cpp.

    14 {
    15 return (A + B) - (A * B);
    16}
    @@ -201,29 +226,24 @@ Functions

    Main function

    + +

    Definition at line 30 of file addition_rule.cpp.

    30 {
    31 double A = 0.5;
    32 double B = 0.25;
    33 double B_given_A = 0.05;
    34
    -
    35 std::cout << "independent P(A or B) = " << addition_rule_independent(A, B)
    -
    36 << std::endl;
    +
    35 std::cout << "independent P(A or B) = " << addition_rule_independent(A, B)
    +
    36 << std::endl;
    37
    -
    38 std::cout << "dependent P(A or B) = "
    -
    39 << addition_rule_dependent(A, B, B_given_A) << std::endl;
    +
    38 std::cout << "dependent P(A or B) = "
    +
    39 << addition_rule_dependent(A, B, B_given_A) << std::endl;
    40
    41 return 0;
    42}
    -
    double addition_rule_independent(double A, double B)
    Definition addition_rule.cpp:14
    -
    double addition_rule_dependent(double A, double B, double B_given_A)
    Definition addition_rule.cpp:25
    - -
    T endl(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    double addition_rule_independent(double A, double B)
    +
    double addition_rule_dependent(double A, double B, double B_given_A)
    +
    diff --git a/d6/d4a/addition__rule_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d6/d4a/addition__rule_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 28ad5e89c..000000000 --- a/d6/d4a/addition__rule_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/d6/d4a/addition__rule_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d6/d4a/addition__rule_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index defb73c95..000000000 --- a/d6/d4a/addition__rule_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -10255a50036a153f8a25c64a9fab24ec \ No newline at end of file diff --git a/d6/d4a/addition__rule_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d6/d4a/addition__rule_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 25915aeed..000000000 --- a/d6/d4a/addition__rule_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -addition_rule_dependent - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -addition_rule_independent - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::endl - - - - - -Node1->Node4 - - - - - - - - - - - - - diff --git a/d6/d4a/addition__rule_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d6/d4a/addition__rule_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index c8020199e..000000000 --- a/d6/d4a/addition__rule_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -addition_rule_dependent - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -addition_rule_independent - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::endl - - - - - -Node1->Node4 - - - - - - - - diff --git a/d6/d4a/addition__rule_8cpp_source.html b/d6/d4a/addition__rule_8cpp_source.html new file mode 100644 index 000000000..55da00aeb --- /dev/null +++ b/d6/d4a/addition__rule_8cpp_source.html @@ -0,0 +1,170 @@ + + + + + + + + +TheAlgorithms/C++: probability/addition_rule.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    addition_rule.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    5#include <iostream>
    +
    6
    +
    +
    14double addition_rule_independent(double A, double B) {
    +
    15 return (A + B) - (A * B);
    +
    16}
    +
    +
    17
    +
    +
    25double addition_rule_dependent(double A, double B, double B_given_A) {
    +
    26 return (A + B) - (A * B_given_A);
    +
    27}
    +
    +
    28
    +
    +
    30int main() {
    +
    31 double A = 0.5;
    +
    32 double B = 0.25;
    +
    33 double B_given_A = 0.05;
    +
    34
    +
    35 std::cout << "independent P(A or B) = " << addition_rule_independent(A, B)
    +
    36 << std::endl;
    +
    37
    +
    38 std::cout << "dependent P(A or B) = "
    +
    39 << addition_rule_dependent(A, B, B_given_A) << std::endl;
    +
    40
    +
    41 return 0;
    +
    42}
    +
    +
    double addition_rule_independent(double A, double B)
    +
    double addition_rule_dependent(double A, double B, double B_given_A)
    +
    int main()
    +
    +
    + + + + diff --git a/d6/d4e/easter_8cpp_source.html b/d6/d4e/easter_8cpp_source.html new file mode 100644 index 000000000..887758015 --- /dev/null +++ b/d6/d4e/easter_8cpp_source.html @@ -0,0 +1,251 @@ + + + + + + + + +TheAlgorithms/C++: others/easter.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    easter.cpp
    +
    +
    +
    1/*
    +
    2 * @file
    +
    3 * @brief Determines the [Date of
    +
    4 * Easter](https://en.wikipedia.org/wiki/Date_of_Easter) after 1582
    +
    5 *
    +
    6 * @details
    +
    7 * The date of Easter is determined in each year through a calculation known as
    +
    8 * "computus." Easter is celebrated on the first Sunday after the Paschal full
    +
    9 * moon, which is the first full moon on or after 21 March. Determining this
    +
    10 * date in advance requires a correlation between the lunar months and the solar
    +
    11 * year, while also accounting for the month, date, and weekday of the Julian or
    +
    12 * Gregorian calendar. The complexity of the algorithm arises because of the
    +
    13 * desire to associate the date of Easter with the date of the Jewish feast of
    +
    14 * Passover which, Christians believe, is when Jesus was crucified.
    +
    15 *
    +
    16 *
    +
    17 * @author [AlternateWalls](https://github.com/AlternateWalls)
    +
    18 */
    +
    19
    +
    20#include <cassert>
    +
    21#include <cstdint>
    +
    22#include <iostream>
    +
    23
    +
    24/*
    +
    25 * @brief Contains information for Easter date
    +
    26 */
    +
    + +
    28 public:
    +
    29 uint64_t year;
    +
    30 uint64_t month;
    +
    31 uint64_t day;
    +
    32
    +
    33 EasterYearMonthDay(uint64_t newYear, uint64_t newMonth, uint64_t newDay) {
    +
    34 year = newYear; // Assigns year to class
    +
    35 month = newMonth;
    +
    36 day = newDay;
    +
    37 }
    +
    38};
    +
    +
    39
    +
    40/*
    +
    41 * @brief Function that finds the month and day of Easter
    +
    42 * @params param1 An int "y" of the year you want to find Easter on after
    +
    43 * 1582
    +
    44 * @returns An instance of the easterYearMonthDay calss that contains the
    +
    45 * information (Ex. 420 - 4/20 or April 20th)
    +
    46 */
    +
    47EasterYearMonthDay findEaster(uint64_t y) {
    +
    48 if (y > 1582) {
    +
    49 uint64_t a = y % 19; // Year's location on Metonic Calendar
    +
    50 uint64_t b = y / 100; // Century index
    +
    51 uint64_t c = y % 100;
    +
    52 uint64_t d = b / 4;
    +
    53 uint64_t e = b % 4; // Takes into account leap years
    +
    54 uint64_t f = (b + 8) / 25;
    +
    55 uint64_t g = (b - f + 1) / 3;
    +
    56 uint64_t h = (19 * a + b - d - g + 15) %
    +
    57 30; // Days from Mar. 21st until the full moon
    +
    58 uint64_t i = c / 4;
    +
    59 uint64_t k = c % 4;
    +
    60 uint64_t r =
    +
    61 (32 + 2 * e + 2 * i - h - k) %
    +
    62 7; // The number of days from Paschal full moon to next Sunday
    +
    63 uint64_t m = (a + 11 * h + 22 * r) / 451;
    +
    64 uint64_t n = (h + r - 7 * m + 114) / 31; // Month of Easter
    +
    65 uint64_t p = (h + r - 7 * m + 114) % 31; // p + 1 is the day of Easter
    +
    66
    +
    67 // Assign values
    + +
    69 y, n, p + 1); // Assign values to new instance of class
    +
    70
    +
    71 // Return date
    +
    72 return date;
    +
    73 } else {
    +
    74 EasterYearMonthDay date(0, 0, 0);
    +
    75
    +
    76 // Return date
    +
    77 return date;
    +
    78 }
    +
    79}
    +
    80
    +
    85static void test() {
    +
    86 // 2003 | April 20th
    +
    87 assert(findEaster(2003).month == 4); // Should return true
    +
    88 assert(findEaster(2003).day == 20); // Should return true
    +
    89
    +
    90 // 1910 | March 27th
    +
    91 assert(findEaster(1910).month == 3); // Should return true
    +
    92 assert(findEaster(1910).day == 27); // Should return true
    +
    93
    +
    94 // 1877 | April 1st
    +
    95 assert(findEaster(1877).month != 3); // Should return true
    +
    96 assert(findEaster(1877).day != 22); // Should return true
    +
    97
    +
    98 // 1400 | Invalid date
    +
    99 assert(findEaster(1400).month == 0); // Should return true
    +
    100 assert(findEaster(1400).day == 0); // Should return true
    +
    101}
    +
    102
    +
    107int main() {
    +
    108 test(); // run self-test implementations
    +
    109 return 0;
    +
    110}
    +
    void test()
    +
    for assert
    Definition easter.cpp:27
    +
    uint64_t month
    month Easter is on
    Definition easter.cpp:30
    +
    uint64_t year
    year Easter is on
    Definition easter.cpp:29
    +
    uint64_t day
    day Easter is on
    Definition easter.cpp:31
    +
    double k(double x)
    Another test function.
    +
    double g(double x)
    Another test function.
    +
    double f(double x)
    A function f(x) that will be used to test the method.
    +
    int main()
    Main function.
    +
    int h(int key)
    +
    +
    + + + + diff --git a/d6/d4e/namespaceciphers.html b/d6/d4e/namespaceciphers.html index ddd3b06c1..f96b72232 100644 --- a/d6/d4e/namespaceciphers.html +++ b/d6/d4e/namespaceciphers.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: ciphers Namespace Reference +TheAlgorithms/C++: ciphers Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -136,11 +153,11 @@ Variables

    Algorithms for encryption and decryption.

    for IO operations

    Base64 Encoding and Decoding

    -

    for std::string

    -

    for std::transform and std::replace for assert for uint8_t for IO operations for std::map for std::stringstream for std::string for std::vector

    -

    for assert for IO operations for std::map

    +

    for std::string

    +

    for std::transform and std::replace for assert for uint8_t for IO operations for std::map for std::stringstream for std::string for std::vector

    +

    for assert for IO operations for std::map

    Algorithms for encryption and decryption

    -

    In programming, Base64 is a group of binary-to-text encoding schemes that represent binary data (more specifically, a sequence of 8-bit bytes) in an ASCII string format by translating the data into a radix-64 representation. The term Base64 originates from a specific MIME content transfer encoding. Each non-final Base64 digit represents exactly 6 bits of data. Three 8-bit bytes (i.e., a total of 24 bits) can therefore be represented by four 6-bit Base64 digits.

    Author
    Ashish Daulatabad for std::array for assert operations for IO operations
    +

    In programming, Base64 is a group of binary-to-text encoding schemes that represent binary data (more specifically, a sequence of 8-bit bytes) in an ASCII string format by translating the data into a radix-64 representation. The term Base64 originates from a specific MIME content transfer encoding. Each non-final Base64 digit represents exactly 6 bits of data. Three 8-bit bytes (i.e., a total of 24 bits) can therefore be represented by four 6-bit Base64 digits.

    Author
    Ashish Daulatabad for std::array for assert operations for IO operations

    Cipher algorithms

    for assert for 256-bit integer

    Cipher algorithms

    @@ -169,6 +186,8 @@ Variables
    "*()_+`-=[]{}|;':\",./<>?\\\r\n \0"

    dictionary of characters that can be encrypted and decrypted

    +

    Definition at line 74 of file hill_cipher.cpp.

    + diff --git a/d6/d50/_2_users_2runner_2work_2_c-_plus-_plus_2_c-_plus-_plus_2math_2iterative_factorial_8cpp-example.html b/d6/d50/_2_users_2runner_2work_2_c-_plus-_plus_2_c-_plus-_plus_2math_2iterative_factorial_8cpp-example.html index 07dd492b5..0163c449e 100644 --- a/d6/d50/_2_users_2runner_2work_2_c-_plus-_plus_2_c-_plus-_plus_2math_2iterative_factorial_8cpp-example.html +++ b/d6/d50/_2_users_2runner_2work_2_c-_plus-_plus_2_c-_plus-_plus_2math_2iterative_factorial_8cpp-example.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: /Users/runner/work/C-Plus-Plus/C-Plus-Plus/math/iterative_factorial.cpp +TheAlgorithms/C++: /Users/runner/work/C-Plus-Plus/C-Plus-Plus/math/iterative_factorial.cpp + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + @@ -110,55 +127,17 @@ $(function(){initNavTree('d6/d50/_2_users_2runner_2work_2_c-_plus-_plus_2_c-_plu

    5! = 5 * 4 * 3 * 2 * 1

    Recursive implementation of factorial pseudocode:

    function factorial(n): if n == 1: return 1 else: return factorial(n-1)

    -
    /**
    -
    * @file
    -
    * @brief Iterative implementation of
    -
    * [Factorial](https://en.wikipedia.org/wiki/Factorial)
    -
    *
    -
    * @author [Renjian-buchai](https://github.com/Renjian-buchai)
    -
    *
    -
    * @details Calculates factorial iteratively.
    -
    * \f[n! = n\times(n-1)\times(n-2)\times(n-3)\times\ldots\times3\times2\times1
    -
    * = n\times(n-1)!\f]
    -
    * for example:
    -
    * \f$4! = 4\times3! = 4\times3\times2\times1 = 24\f$
    -
    *
    -
    * @example
    -
    *
    -
    * 5! = 5 * 4 * 3 * 2 * 1
    -
    *
    -
    * Recursive implementation of factorial pseudocode:
    -
    *
    -
    * function factorial(n):
    -
    * if n == 1:
    -
    * return 1
    -
    * else:
    -
    * return factorial(n-1)
    -
    *
    -
    */
    +
    +
    #include <cassert>
    +
    #include <cstdint>
    +
    #include <exception>
    +
    #include <iostream>
    -
    #include <cassert> /// for assert
    -
    #include <cstdint> /// for integral types
    -
    #include <exception> /// for std::invalid_argument
    -
    #include <iostream> /// for std::cout
    -
    -
    /**
    -
    * @namespace
    -
    * @brief Mathematical algorithms
    -
    */
    namespace math {
    -
    -
    /**
    -
    * @brief Calculates the factorial iteratively.
    -
    * @param n Nth factorial.
    -
    * @return Factorial.
    -
    * @note 0! = 1.
    -
    * @warning Maximum=20 because there are no 128-bit integers in C++. 21!
    -
    * returns 1.419e+19, which is not 21! but (21! % UINT64_MAX).
    -
    */
    +
    uint64_t iterativeFactorial(uint8_t n) {
    if (n > 20) {
    -
    throw std::invalid_argument("Maximum n value is 20");
    +
    throw std::invalid_argument("Maximum n value is 20");
    }
    // 1 because it is the identity number of multiplication.
    @@ -173,72 +152,62 @@ $(function(){initNavTree('d6/d50/_2_users_2runner_2work_2_c-_plus-_plus_2_c-_plu
    }
    } // namespace math
    -
    -
    /**
    -
    * @brief Self-test implementations to test iterativeFactorial function.
    -
    * @note There is 1 special case: 0! = 1.
    -
    */
    -
    static void test() {
    +
    +
    static void test() {
    // Special case test
    -
    std::cout << "Exception case test \n"
    +
    std::cout << "Exception case test \n"
    "Input: 0 \n"
    "Expected output: 1 \n\n";
    assert(math::iterativeFactorial(0) == 1);
    // Base case
    -
    std::cout << "Base case test \n"
    +
    std::cout << "Base case test \n"
    "Input: 1 \n"
    "Expected output: 1 \n\n";
    assert(math::iterativeFactorial(1) == 1);
    // Small case
    -
    std::cout << "Small number case test \n"
    +
    std::cout << "Small number case test \n"
    "Input: 5 \n"
    "Expected output: 120 \n\n";
    assert(math::iterativeFactorial(5) == 120);
    // Medium case
    -
    std::cout << "Medium number case test \n"
    +
    std::cout << "Medium number case test \n"
    "Input: 10 \n"
    "Expected output: 3628800 \n\n";
    assert(math::iterativeFactorial(10) == 3628800);
    // Maximum case
    -
    std::cout << "Maximum case test \n"
    +
    std::cout << "Maximum case test \n"
    "Input: 20 \n"
    "Expected output: 2432902008176640000\n\n";
    assert(math::iterativeFactorial(20) == 2432902008176640000);
    // Exception test
    -
    std::cout << "Exception test \n"
    +
    std::cout << "Exception test \n"
    "Input: 21 \n"
    "Expected output: Exception thrown \n";
    bool wasExceptionThrown = false;
    try {
    -
    } catch (const std::invalid_argument&) {
    +
    } catch (const std::invalid_argument&) {
    wasExceptionThrown = true;
    }
    assert(wasExceptionThrown);
    -
    std::cout << "All tests have passed successfully.\n";
    +
    std::cout << "All tests have passed successfully.\n";
    }
    -
    -
    /**
    -
    * @brief Main function
    -
    * @returns 0 on exit
    -
    */
    -
    int main() {
    +
    +
    int main() {
    test(); // Run self-test implementation
    return 0;
    }
    - -
    static void test()
    Self-test implementations.
    Definition generate_parentheses.cpp:82
    -
    int main()
    Main function.
    Definition generate_parentheses.cpp:110
    - +
    static void test()
    Self-test implementations.
    +
    int main()
    Main function.
    for assert
    -
    uint64_t iterativeFactorial(uint8_t n)
    Calculates the factorial iteratively.
    Definition iterative_factorial.cpp:47
    +
    uint64_t iterativeFactorial(uint8_t n)
    Calculates the factorial iteratively.
    diff --git a/d6/d53/namespaceword__break.html b/d6/d53/namespaceword__break.html index 59f8c1c64..096426b76 100644 --- a/d6/d53/namespaceword__break.html +++ b/d6/d53/namespaceword__break.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: word_break Namespace Reference +TheAlgorithms/C++: word_break Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/d6/d57/array__right__rotation_8cpp.html b/d6/d57/array__right__rotation_8cpp.html index abae592ef..9784440ec 100644 --- a/d6/d57/array__right__rotation_8cpp.html +++ b/d6/d57/array__right__rotation_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: operations_on_datastructures/array_right_rotation.cpp File Reference +TheAlgorithms/C++: operations_on_datastructures/array_right_rotation.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + @@ -121,11 +138,13 @@ Include dependency graph for array_right_rotation.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    - + @@ -133,10 +152,10 @@ Namespaces

    Namespaces

    namespace  operations_on_datastructures
     for std::vector
     for std::vector
     
    namespace  tests
     Testcases to check Union of Two Arrays.
    - + - + @@ -165,6 +184,8 @@ Functions

    Implementation for the Array right Rotation algorithm.

    Shifting an array to the right involves moving each element of the array so that it occupies a position of a certain shift value after its current one. This implementation uses a result vector and does not mutate the input.

    See also
    array_left_rotation.cpp
    Author
    Alvin
    + +

    Definition in file array_right_rotation.cpp.

    Function Documentation

    ◆ main()

    @@ -183,17 +204,14 @@ Functions

    main function

    Returns
    0 on exit
    + +

    Definition at line 172 of file array_right_rotation.cpp.

    172 {
    173 test(); // run self-test implementations
    174 return 0;
    175}
    -
    static void test()
    Function to test the correctness of shift_right() function.
    Definition array_right_rotation.cpp:160
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static void test()
    Function to test the correctness of shift_right() function.
    + @@ -221,6 +239,8 @@ Here is the call graph for this function:

    Function to test the correctness of shift_right() function.

    Returns
    void
    + +

    Definition at line 160 of file array_right_rotation.cpp.

    160 {
    161 tests::test1();
    162 tests::test2();
    @@ -228,17 +248,12 @@ Here is the call graph for this function:
    164 tests::test4();
    165 tests::test5();
    166}
    -
    void test1()
    A Test to check an simple case.
    Definition array_left_rotation.cpp:75
    -
    void test4()
    A Test to check a very large input.
    Definition array_left_rotation.cpp:120
    -
    void test3()
    A Test to check an invalid shift value.
    Definition array_left_rotation.cpp:105
    -
    void test2()
    A Test to check an empty vector.
    Definition array_left_rotation.cpp:90
    -
    void test5()
    A Test to check a shift of zero.
    Definition array_left_rotation.cpp:143
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    void test1()
    A Test to check an simple case.
    +
    void test4()
    A Test to check a very large input.
    +
    void test3()
    A Test to check an invalid shift value.
    +
    void test2()
    A Test to check an empty vector.
    +
    void test5()
    A Test to check a shift of zero.
    + diff --git a/d6/d57/array__right__rotation_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map b/d6/d57/array__right__rotation_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map deleted file mode 100644 index 35f9d6430..000000000 --- a/d6/d57/array__right__rotation_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/d6/d57/array__right__rotation_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 b/d6/d57/array__right__rotation_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 deleted file mode 100644 index 29b3dd5db..000000000 --- a/d6/d57/array__right__rotation_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -619a37a3d7e91b1a15d9706cfa37e874 \ No newline at end of file diff --git a/d6/d57/array__right__rotation_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg b/d6/d57/array__right__rotation_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg deleted file mode 100644 index 0688a3cfa..000000000 --- a/d6/d57/array__right__rotation_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg +++ /dev/null @@ -1,155 +0,0 @@ - - - - - - - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -tests::test1 - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -tests::test2 - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -tests::test3 - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -tests::test4 - - - - - -Node1->Node5 - - - - - - - - -Node7 - - -tests::test5 - - - - - -Node1->Node7 - - - - - - - - -Node6 - - -std::vector::push_back - - - - - -Node5->Node6 - - - - - - - - - - - - - diff --git a/d6/d57/array__right__rotation_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg b/d6/d57/array__right__rotation_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg deleted file mode 100644 index d65a605a3..000000000 --- a/d6/d57/array__right__rotation_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg +++ /dev/null @@ -1,129 +0,0 @@ - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -tests::test1 - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -tests::test2 - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -tests::test3 - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -tests::test4 - - - - - -Node1->Node5 - - - - - - - - -Node7 - - -tests::test5 - - - - - -Node1->Node7 - - - - - - - - -Node6 - - -std::vector::push_back - - - - - -Node5->Node6 - - - - - - - - diff --git a/d6/d57/array__right__rotation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d6/d57/array__right__rotation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 40e3d11a0..000000000 --- a/d6/d57/array__right__rotation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - - - - - diff --git a/d6/d57/array__right__rotation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d6/d57/array__right__rotation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index ce3c66be4..000000000 --- a/d6/d57/array__right__rotation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -d714541d183582b84a75bef8aa137ad3 \ No newline at end of file diff --git a/d6/d57/array__right__rotation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d6/d57/array__right__rotation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 5daa89b76..000000000 --- a/d6/d57/array__right__rotation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,173 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -tests::test1 - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -tests::test2 - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -tests::test3 - - - - - -Node2->Node5 - - - - - - - - -Node6 - - -tests::test4 - - - - - -Node2->Node6 - - - - - - - - -Node8 - - -tests::test5 - - - - - -Node2->Node8 - - - - - - - - -Node7 - - -std::vector::push_back - - - - - -Node6->Node7 - - - - - - - - - - - - - diff --git a/d6/d57/array__right__rotation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d6/d57/array__right__rotation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 031e9d8d5..000000000 --- a/d6/d57/array__right__rotation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -tests::test1 - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -tests::test2 - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -tests::test3 - - - - - -Node2->Node5 - - - - - - - - -Node6 - - -tests::test4 - - - - - -Node2->Node6 - - - - - - - - -Node8 - - -tests::test5 - - - - - -Node2->Node8 - - - - - - - - -Node7 - - -std::vector::push_back - - - - - -Node6->Node7 - - - - - - - - diff --git a/d6/d57/array__right__rotation_8cpp_source.html b/d6/d57/array__right__rotation_8cpp_source.html new file mode 100644 index 000000000..caff944fe --- /dev/null +++ b/d6/d57/array__right__rotation_8cpp_source.html @@ -0,0 +1,265 @@ + + + + + + + + +TheAlgorithms/C++: operations_on_datastructures/array_right_rotation.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    +

    Functions

    void operations_on_datastructures::print (const std::vector< int32_t > &array)
    void operations_on_datastructures::print (const std::vector< int32_t > &array)
     Prints the values of a vector sequentially, ending with a newline character.
     
    std::vector< int32_t > operations_on_datastructures::shift_right (const std::vector< int32_t > &array, size_t shift)
    std::vector< int32_t > operations_on_datastructures::shift_right (const std::vector< int32_t > &array, size_t shift)
     Shifts the given vector to the right by the shift amount and returns a new vector with the result. The original vector is not mutated.
     
    void tests::test1 ()
    + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + + +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    array_right_rotation.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    14#include <cassert>
    +
    15#include <iostream>
    +
    16#include <vector>
    +
    17
    + +
    23
    +
    30void print(const std::vector<int32_t> &array) {
    +
    31 for (int32_t i : array) {
    +
    32 std::cout << i << " ";
    +
    33 }
    +
    34 std::cout << "\n";
    +
    35}
    +
    36
    +
    +
    47std::vector<int32_t> shift_right(const std::vector<int32_t> &array,
    +
    48 size_t shift) {
    +
    49 if (array.size() <= shift) {
    +
    50 return {};
    +
    51 }
    +
    52 std::vector<int32_t> res(array.size());
    +
    53 for (size_t i = shift; i < array.size(); i++) {
    +
    54 res[i] = array[i - shift];
    +
    55 }
    +
    56 for (size_t i = 0; i < shift; i++) {
    +
    57 res[i] =
    +
    58 array[array.size() - shift + i];
    +
    59 }
    +
    60 return res;
    +
    61}
    +
    +
    62
    +
    63} // namespace operations_on_datastructures
    +
    64
    +
    69namespace tests {
    + + +
    76void test1() {
    +
    77 std::cout << "TEST CASE 1\n";
    +
    78 std::cout << "Initialized arr = {1, 2, 3, 4, 5}\n";
    +
    79 std::cout << "Expected result: {4, 5, 1, 2, 3}\n";
    +
    80 std::vector<int32_t> arr = {1, 2, 3, 4, 5};
    +
    81 std::vector<int32_t> res = shift_right(arr, 2);
    +
    82 std::vector<int32_t> expected = {4, 5, 1, 2, 3};
    +
    83 assert(res == expected);
    +
    84 print(res);
    +
    85 std::cout << "TEST PASSED!\n\n";
    +
    86}
    +
    91void test2() {
    +
    92 std::cout << "TEST CASE 2\n";
    +
    93 std::cout << "Initialized arr = {}\n";
    +
    94 std::cout << "Expected result: {}\n";
    +
    95 std::vector<int32_t> arr = {};
    +
    96 std::vector<int32_t> res = shift_right(arr, 2);
    +
    97 std::vector<int32_t> expected = {};
    +
    98 assert(res == expected);
    +
    99 print(res);
    +
    100 std::cout << "TEST PASSED!\n\n";
    +
    101}
    +
    106void test3() {
    +
    107 std::cout << "TEST CASE 3\n";
    +
    108 std::cout << "Initialized arr = {1, 2, 3, 4, 5}\n";
    +
    109 std::cout << "Expected result: {}\n";
    +
    110 std::vector<int32_t> arr = {1, 2, 3, 4, 5};
    +
    111 std::vector<int32_t> res = shift_right(arr, 7);
    +
    112 std::vector<int32_t> expected = {};
    +
    113 assert(res == expected);
    +
    114 print(res);
    +
    115 std::cout << "TEST PASSED!\n\n";
    +
    116}
    +
    121void test4() {
    +
    122 std::cout << "TEST CASE 4\n";
    +
    123 std::cout << "Initialized arr = {2, 4, ..., 420}\n";
    +
    124 std::cout << "Expected result: {420, 2, 4, ..., 418}\n";
    +
    125 std::vector<int32_t> arr;
    +
    126 for (int i = 1; i <= 210; i++) {
    +
    127 arr.push_back(i * 2);
    +
    128 }
    +
    129 print(arr);
    +
    130 std::vector<int32_t> res = shift_right(arr, 1);
    +
    131 std::vector<int32_t> expected;
    +
    132 expected.push_back(420);
    +
    133 for (int i = 0; i < 209; i++) {
    +
    134 expected.push_back(arr[i]);
    +
    135 }
    +
    136 assert(res == expected);
    +
    137 print(res);
    +
    138 std::cout << "TEST PASSED!\n\n";
    +
    139}
    +
    144void test5() {
    +
    145 std::cout << "TEST CASE 5\n";
    +
    146 std::cout << "Initialized arr = {1, 2, 3, 4, 5}\n";
    +
    147 std::cout << "Expected result: {1, 2, 3, 4, 5}\n";
    +
    148 std::vector<int32_t> arr = {1, 2, 3, 4, 5};
    +
    149 std::vector<int32_t> res = shift_right(arr, 0);
    +
    150 assert(res == arr);
    +
    151 print(res);
    +
    152 std::cout << "TEST PASSED!\n\n";
    +
    153}
    +
    154} // namespace tests
    +
    155
    +
    +
    160static void test() {
    +
    161 tests::test1();
    +
    162 tests::test2();
    +
    163 tests::test3();
    +
    164 tests::test4();
    +
    165 tests::test5();
    +
    166}
    +
    +
    167
    +
    +
    172int main() {
    +
    173 test(); // run self-test implementations
    +
    174 return 0;
    +
    175}
    +
    +
    static void test()
    Function to test the correctness of shift_right() function.
    +
    int main()
    main function
    + +
    std::vector< int32_t > shift_right(const std::vector< int32_t > &array, size_t shift)
    Shifts the given vector to the right by the shift amount and returns a new vector with the result....
    +
    void print(const std::vector< int32_t > &array)
    Prints the values of a vector sequentially, ending with a newline character.
    +
    Testcases to check Union of Two Arrays.
    +
    void test1()
    A Test to check an simple case.
    +
    void test4()
    A Test to check a very large input.
    +
    void test3()
    A Test to check an invalid shift value.
    +
    void test2()
    A Test to check an empty vector.
    +
    void test5()
    A Test to check a shift of zero.
    +
    +
    + + + + diff --git a/d6/d60/group__ode.html b/d6/d60/group__ode.html index efdb49550..9f77a9604 100644 --- a/d6/d60/group__ode.html +++ b/d6/d60/group__ode.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Ordinary Differential Equations +TheAlgorithms/C++: Ordinary Differential Equations + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -112,22 +129,22 @@ $(function(){initNavTree('d6/d60/group__ode.html','../../'); initResizable(true)
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    - + - + - + - + - + - +

    Functions

    void forward_euler_step (const double dx, const double x, std::valarray< double > *y, std::valarray< double > *dy)
    void forward_euler_step (const double dx, const double x, std::valarray< double > *y, std::valarray< double > *dy)
     Compute next step approximation using the forward-Euler method.
     
    double forward_euler (double dx, double x0, double x_max, std::valarray< double > *y, bool save_to_file=false)
    double forward_euler (double dx, double x0, double x_max, std::valarray< double > *y, bool save_to_file=false)
     Compute approximation using the forward-Euler method in the given limits.
     
    void midpoint_euler_step (const double dx, const double &x, std::valarray< double > *y, std::valarray< double > *dy)
    void midpoint_euler_step (const double dx, const double &x, std::valarray< double > *y, std::valarray< double > *dy)
     Compute next step approximation using the midpoint-Euler method.
     
    double midpoint_euler (double dx, double x0, double x_max, std::valarray< double > *y, bool save_to_file=false)
    double midpoint_euler (double dx, double x0, double x_max, std::valarray< double > *y, bool save_to_file=false)
     Compute approximation using the midpoint-Euler method in the given limits.
     
    void semi_implicit_euler_step (const double dx, const double &x, std::valarray< double > *y, std::valarray< double > *dy)
    void semi_implicit_euler_step (const double dx, const double &x, std::valarray< double > *y, std::valarray< double > *dy)
     Compute next step approximation using the semi-implicit-Euler method.
     
    double semi_implicit_euler (double dx, double x0, double x_max, std::valarray< double > *y, bool save_to_file=false)
    double semi_implicit_euler (double dx, double x0, double x_max, std::valarray< double > *y, bool save_to_file=false)
     Compute approximation using the semi-implicit-Euler method in the given limits.
     
    @@ -158,7 +175,7 @@ Functions - std::valarray< double > * y, + std::valarray< double > * y, @@ -180,25 +197,27 @@ Functions
    Returns
    time taken for computation in seconds
    + +

    Definition at line 102 of file ode_forward_euler.cpp.

    103 {
    -
    104 std::valarray<double> dy = *y;
    +
    104 std::valarray<double> dy = *y;
    105
    -
    106 std::ofstream fp;
    +
    106 std::ofstream fp;
    107 if (save_to_file) {
    -
    108 fp.open("forward_euler.csv", std::ofstream::out);
    -
    109 if (!fp.is_open()) {
    -
    110 std::perror("Error! ");
    +
    108 fp.open("forward_euler.csv", std::ofstream::out);
    +
    109 if (!fp.is_open()) {
    +
    110 std::perror("Error! ");
    111 }
    112 }
    113
    -
    114 std::size_t L = y->size();
    +
    114 std::size_t L = y->size();
    115
    116 /* start integration */
    - +
    117 std::clock_t t1 = std::clock();
    118 double x = x0;
    119
    120 do { // iterate for each step of independent variable
    -
    121 if (save_to_file && fp.is_open()) {
    +
    121 if (save_to_file && fp.is_open()) {
    122 // write to file
    123 fp << x << ",";
    124 for (int i = 0; i < L - 1; i++) {
    @@ -211,30 +230,16 @@ Functions
    131 x += dx; // update step
    132 } while (x <= x_max); // till upper limit of independent variable
    133 /* end of integration */
    - +
    134 std::clock_t t2 = std::clock();
    135
    -
    136 if (fp.is_open()) {
    -
    137 fp.close();
    +
    136 if (fp.is_open()) {
    +
    137 fp.close();
    138 }
    139
    140 return static_cast<double>(t2 - t1) / CLOCKS_PER_SEC;
    141}
    - -
    T clock(T... args)
    - -
    T close(T... args)
    -
    void forward_euler_step(const double dx, const double x, std::valarray< double > *y, std::valarray< double > *dy)
    Compute next step approximation using the forward-Euler method.
    Definition ode_forward_euler.cpp:86
    -
    T is_open(T... args)
    -
    T open(T... args)
    -
    T perror(T... args)
    - - -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    void forward_euler_step(const double dx, const double x, std::valarray< double > *y, std::valarray< double > *dy)
    Compute next step approximation using the forward-Euler method.
    +
    @@ -256,12 +261,12 @@ Here is the call graph for this function: - std::valarray< double > * y, + std::valarray< double > * y, - std::valarray< double > * dy ) + std::valarray< double > * dy )
    @@ -279,17 +284,14 @@ Here is the call graph for this function:
    + +

    Definition at line 86 of file ode_forward_euler.cpp.

    87 {
    88 problem(x, y, dy);
    89 *y += *dy * dx;
    90}
    -
    void problem(const double &x, std::valarray< double > *y, std::valarray< double > *dy)
    Problem statement for a system with first-order differential equations. Updates the system differenti...
    Definition ode_forward_euler.cpp:54
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    void problem(const double &x, std::valarray< double > *y, std::valarray< double > *dy)
    Problem statement for a system with first-order differential equations. Updates the system differenti...
    + @@ -316,7 +318,7 @@ Here is the call graph for this function: - std::valarray< double > * y, + std::valarray< double > * y, @@ -338,24 +340,26 @@ Here is the call graph for this function:
    Returns
    time taken for computation in seconds
    + +

    Definition at line 107 of file ode_midpoint_euler.cpp.

    108 {
    -
    109 std::valarray<double> dy = y[0];
    +
    109 std::valarray<double> dy = y[0];
    110
    -
    111 std::ofstream fp;
    +
    111 std::ofstream fp;
    112 if (save_to_file) {
    -
    113 fp.open("midpoint_euler.csv", std::ofstream::out);
    -
    114 if (!fp.is_open()) {
    -
    115 std::perror("Error! ");
    +
    113 fp.open("midpoint_euler.csv", std::ofstream::out);
    +
    114 if (!fp.is_open()) {
    +
    115 std::perror("Error! ");
    116 }
    117 }
    118
    -
    119 std::size_t L = y->size();
    +
    119 std::size_t L = y->size();
    120
    121 /* start integration */
    - +
    122 std::clock_t t1 = std::clock();
    123 double x = x0;
    124 do { // iterate for each step of independent variable
    -
    125 if (save_to_file && fp.is_open()) {
    +
    125 if (save_to_file && fp.is_open()) {
    126 // write to file
    127 fp << x << ",";
    128 for (int i = 0; i < L - 1; i++) {
    @@ -368,20 +372,15 @@ Here is the call graph for this function:
    135 x += dx; // update step
    136 } while (x <= x_max); // till upper limit of independent variable
    137 /* end of integration */
    - +
    138 std::clock_t t2 = std::clock();
    139
    -
    140 if (fp.is_open())
    -
    141 fp.close();
    +
    140 if (fp.is_open())
    +
    141 fp.close();
    142
    143 return static_cast<double>(t2 - t1) / CLOCKS_PER_SEC;
    144}
    -
    void midpoint_euler_step(const double dx, const double &x, std::valarray< double > *y, std::valarray< double > *dy)
    Compute next step approximation using the midpoint-Euler method.
    Definition ode_midpoint_euler.cpp:85
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    void midpoint_euler_step(const double dx, const double &x, std::valarray< double > *y, std::valarray< double > *dy)
    Compute next step approximation using the midpoint-Euler method.
    + @@ -403,12 +402,12 @@ Here is the call graph for this function: - std::valarray< double > * y, + std::valarray< double > * y, - std::valarray< double > * dy ) + std::valarray< double > * dy )
    @@ -427,23 +426,20 @@ y_n + \frac{1}{2}dx\,f\left(x_n,y_n\right)\right)\] + +

    Definition at line 85 of file ode_midpoint_euler.cpp.

    86 {
    87 problem(x, y, dy);
    88 double tmp_x = x + 0.5 * dx;
    89
    -
    90 std::valarray<double> tmp_y = y[0] + dy[0] * (0.5 * dx);
    +
    90 std::valarray<double> tmp_y = y[0] + dy[0] * (0.5 * dx);
    91
    92 problem(tmp_x, &tmp_y, dy);
    93
    94 y[0] += dy[0] * dx;
    95}
    -
    void problem(const double &x, std::valarray< double > *y, std::valarray< double > *dy)
    Problem statement for a system with first-order differential equations. Updates the system differenti...
    Definition ode_midpoint_euler.cpp:53
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    void problem(const double &x, std::valarray< double > *y, std::valarray< double > *dy)
    Problem statement for a system with first-order differential equations. Updates the system differenti...
    +
    @@ -470,7 +466,7 @@ Here is the call graph for this function: - std::valarray< double > * y, + std::valarray< double > * y, @@ -492,24 +488,26 @@ Here is the call graph for this function:
    Returns
    time taken for computation in seconds
    + +

    Definition at line 103 of file ode_semi_implicit_euler.cpp.

    105 {
    -
    106 std::valarray<double> dy = y[0];
    +
    106 std::valarray<double> dy = y[0];
    107
    -
    108 std::ofstream fp;
    +
    108 std::ofstream fp;
    109 if (save_to_file) {
    -
    110 fp.open("semi_implicit_euler.csv", std::ofstream::out);
    -
    111 if (!fp.is_open()) {
    -
    112 std::perror("Error! ");
    +
    110 fp.open("semi_implicit_euler.csv", std::ofstream::out);
    +
    111 if (!fp.is_open()) {
    +
    112 std::perror("Error! ");
    113 }
    114 }
    115
    -
    116 std::size_t L = y->size();
    +
    116 std::size_t L = y->size();
    117
    118 /* start integration */
    - +
    119 std::clock_t t1 = std::clock();
    120 double x = x0;
    121 do { // iterate for each step of independent variable
    -
    122 if (save_to_file && fp.is_open()) {
    +
    122 if (save_to_file && fp.is_open()) {
    123 // write to file
    124 fp << x << ",";
    125 for (int i = 0; i < L - 1; i++) {
    @@ -522,20 +520,15 @@ Here is the call graph for this function:
    132 x += dx; // update step
    133 } while (x <= x_max); // till upper limit of independent variable
    134 /* end of integration */
    - +
    135 std::clock_t t2 = std::clock();
    136
    -
    137 if (fp.is_open())
    -
    138 fp.close();
    +
    137 if (fp.is_open())
    +
    138 fp.close();
    139
    140 return static_cast<double>(t2 - t1) / CLOCKS_PER_SEC;
    141}
    -
    void semi_implicit_euler_step(const double dx, const double &x, std::valarray< double > *y, std::valarray< double > *dy)
    Compute next step approximation using the semi-implicit-Euler method.
    Definition ode_semi_implicit_euler.cpp:82
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    void semi_implicit_euler_step(const double dx, const double &x, std::valarray< double > *y, std::valarray< double > *dy)
    Compute next step approximation using the semi-implicit-Euler method.
    + @@ -557,12 +550,12 @@ Here is the call graph for this function: - std::valarray< double > * y, + std::valarray< double > * y, - std::valarray< double > * dy ) + std::valarray< double > * dy )
    @@ -580,6 +573,8 @@ Here is the call graph for this function:
    + +

    Definition at line 82 of file ode_semi_implicit_euler.cpp.

    84 {
    85 problem(x, y, dy); // update dy once
    86 y[0][0] += dx * dy[0][0]; // update y0
    @@ -588,13 +583,8 @@ Here is the call graph for this function:
    89 dy[0][0] = 0.f; // ignore y0
    90 y[0] += dy[0] * dx; // update remaining using new dy
    91}
    -
    void problem(const double &x, std::valarray< double > *y, std::valarray< double > *dy)
    Problem statement for a system with first-order differential equations. Updates the system differenti...
    Definition ode_semi_implicit_euler.cpp:53
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    void problem(const double &x, std::valarray< double > *y, std::valarray< double > *dy)
    Problem statement for a system with first-order differential equations. Updates the system differenti...
    + diff --git a/d6/d60/group__ode_ga195d23bbdfcb80e83c9cda45c9ad5723_cgraph.map b/d6/d60/group__ode_ga195d23bbdfcb80e83c9cda45c9ad5723_cgraph.map deleted file mode 100644 index 4f1014536..000000000 --- a/d6/d60/group__ode_ga195d23bbdfcb80e83c9cda45c9ad5723_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d6/d60/group__ode_ga195d23bbdfcb80e83c9cda45c9ad5723_cgraph.md5 b/d6/d60/group__ode_ga195d23bbdfcb80e83c9cda45c9ad5723_cgraph.md5 deleted file mode 100644 index 9c852f762..000000000 --- a/d6/d60/group__ode_ga195d23bbdfcb80e83c9cda45c9ad5723_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -cb3185196d1be42071ff897ec2de5e12 \ No newline at end of file diff --git a/d6/d60/group__ode_ga195d23bbdfcb80e83c9cda45c9ad5723_cgraph.svg b/d6/d60/group__ode_ga195d23bbdfcb80e83c9cda45c9ad5723_cgraph.svg deleted file mode 100644 index d56d7136c..000000000 --- a/d6/d60/group__ode_ga195d23bbdfcb80e83c9cda45c9ad5723_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -forward_euler_step - - -Node1 - - -forward_euler_step - - - - - -Node2 - - -problem - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d6/d60/group__ode_ga195d23bbdfcb80e83c9cda45c9ad5723_cgraph_org.svg b/d6/d60/group__ode_ga195d23bbdfcb80e83c9cda45c9ad5723_cgraph_org.svg deleted file mode 100644 index 5d0d14780..000000000 --- a/d6/d60/group__ode_ga195d23bbdfcb80e83c9cda45c9ad5723_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -forward_euler_step - - -Node1 - - -forward_euler_step - - - - - -Node2 - - -problem - - - - - -Node1->Node2 - - - - - - - - diff --git a/d6/d60/group__ode_ga36ff0710861ca39d957046c0b09b2985_cgraph.map b/d6/d60/group__ode_ga36ff0710861ca39d957046c0b09b2985_cgraph.map deleted file mode 100644 index e1b170f37..000000000 --- a/d6/d60/group__ode_ga36ff0710861ca39d957046c0b09b2985_cgraph.map +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - - - - - diff --git a/d6/d60/group__ode_ga36ff0710861ca39d957046c0b09b2985_cgraph.md5 b/d6/d60/group__ode_ga36ff0710861ca39d957046c0b09b2985_cgraph.md5 deleted file mode 100644 index 8445e4502..000000000 --- a/d6/d60/group__ode_ga36ff0710861ca39d957046c0b09b2985_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -e5a47d978f06f541dc209a8a2d08e40c \ No newline at end of file diff --git a/d6/d60/group__ode_ga36ff0710861ca39d957046c0b09b2985_cgraph.svg b/d6/d60/group__ode_ga36ff0710861ca39d957046c0b09b2985_cgraph.svg deleted file mode 100644 index 8d49b962d..000000000 --- a/d6/d60/group__ode_ga36ff0710861ca39d957046c0b09b2985_cgraph.svg +++ /dev/null @@ -1,173 +0,0 @@ - - - - - - - - - - - - -midpoint_euler - - -Node1 - - -midpoint_euler - - - - - -Node2 - - -std::clock - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::ofstream::close - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::ofstream::is_open - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -midpoint_euler_step - - - - - -Node1->Node5 - - - - - - - - -Node7 - - -std::ofstream::open - - - - - -Node1->Node7 - - - - - - - - -Node8 - - -std::perror - - - - - -Node1->Node8 - - - - - - - - -Node6 - - -problem - - - - - -Node5->Node6 - - - - - - - - - - - - - diff --git a/d6/d60/group__ode_ga36ff0710861ca39d957046c0b09b2985_cgraph_org.svg b/d6/d60/group__ode_ga36ff0710861ca39d957046c0b09b2985_cgraph_org.svg deleted file mode 100644 index ae6451f32..000000000 --- a/d6/d60/group__ode_ga36ff0710861ca39d957046c0b09b2985_cgraph_org.svg +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - -midpoint_euler - - -Node1 - - -midpoint_euler - - - - - -Node2 - - -std::clock - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::ofstream::close - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::ofstream::is_open - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -midpoint_euler_step - - - - - -Node1->Node5 - - - - - - - - -Node7 - - -std::ofstream::open - - - - - -Node1->Node7 - - - - - - - - -Node8 - - -std::perror - - - - - -Node1->Node8 - - - - - - - - -Node6 - - -problem - - - - - -Node5->Node6 - - - - - - - - diff --git a/d6/d60/group__ode_ga3874d294ab00fe9ce8731c5b7991a089_cgraph.map b/d6/d60/group__ode_ga3874d294ab00fe9ce8731c5b7991a089_cgraph.map deleted file mode 100644 index 9475717eb..000000000 --- a/d6/d60/group__ode_ga3874d294ab00fe9ce8731c5b7991a089_cgraph.map +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - - - - - diff --git a/d6/d60/group__ode_ga3874d294ab00fe9ce8731c5b7991a089_cgraph.md5 b/d6/d60/group__ode_ga3874d294ab00fe9ce8731c5b7991a089_cgraph.md5 deleted file mode 100644 index 7e0f4c53b..000000000 --- a/d6/d60/group__ode_ga3874d294ab00fe9ce8731c5b7991a089_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -89ac11e94a38f4b9ee7b6e77e36c6731 \ No newline at end of file diff --git a/d6/d60/group__ode_ga3874d294ab00fe9ce8731c5b7991a089_cgraph.svg b/d6/d60/group__ode_ga3874d294ab00fe9ce8731c5b7991a089_cgraph.svg deleted file mode 100644 index e96ea2a83..000000000 --- a/d6/d60/group__ode_ga3874d294ab00fe9ce8731c5b7991a089_cgraph.svg +++ /dev/null @@ -1,173 +0,0 @@ - - - - - - - - - - - - -semi_implicit_euler - - -Node1 - - -semi_implicit_euler - - - - - -Node2 - - -std::clock - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::ofstream::close - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::ofstream::is_open - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::ofstream::open - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -std::perror - - - - - -Node1->Node6 - - - - - - - - -Node7 - - -semi_implicit_euler_step - - - - - -Node1->Node7 - - - - - - - - -Node8 - - -problem - - - - - -Node7->Node8 - - - - - - - - - - - - - diff --git a/d6/d60/group__ode_ga3874d294ab00fe9ce8731c5b7991a089_cgraph_org.svg b/d6/d60/group__ode_ga3874d294ab00fe9ce8731c5b7991a089_cgraph_org.svg deleted file mode 100644 index 90721e449..000000000 --- a/d6/d60/group__ode_ga3874d294ab00fe9ce8731c5b7991a089_cgraph_org.svg +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - -semi_implicit_euler - - -Node1 - - -semi_implicit_euler - - - - - -Node2 - - -std::clock - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::ofstream::close - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::ofstream::is_open - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::ofstream::open - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -std::perror - - - - - -Node1->Node6 - - - - - - - - -Node7 - - -semi_implicit_euler_step - - - - - -Node1->Node7 - - - - - - - - -Node8 - - -problem - - - - - -Node7->Node8 - - - - - - - - diff --git a/d6/d60/group__ode_ga827bf009831ddc477c5fa8891d5cb35f_cgraph.map b/d6/d60/group__ode_ga827bf009831ddc477c5fa8891d5cb35f_cgraph.map deleted file mode 100644 index d5343b2e7..000000000 --- a/d6/d60/group__ode_ga827bf009831ddc477c5fa8891d5cb35f_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d6/d60/group__ode_ga827bf009831ddc477c5fa8891d5cb35f_cgraph.md5 b/d6/d60/group__ode_ga827bf009831ddc477c5fa8891d5cb35f_cgraph.md5 deleted file mode 100644 index 179ba4d8e..000000000 --- a/d6/d60/group__ode_ga827bf009831ddc477c5fa8891d5cb35f_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -4660a10cbd4a893aaeaa474039834fe4 \ No newline at end of file diff --git a/d6/d60/group__ode_ga827bf009831ddc477c5fa8891d5cb35f_cgraph.svg b/d6/d60/group__ode_ga827bf009831ddc477c5fa8891d5cb35f_cgraph.svg deleted file mode 100644 index 266e576ed..000000000 --- a/d6/d60/group__ode_ga827bf009831ddc477c5fa8891d5cb35f_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -semi_implicit_euler_step - - -Node1 - - -semi_implicit_euler_step - - - - - -Node2 - - -problem - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d6/d60/group__ode_ga827bf009831ddc477c5fa8891d5cb35f_cgraph_org.svg b/d6/d60/group__ode_ga827bf009831ddc477c5fa8891d5cb35f_cgraph_org.svg deleted file mode 100644 index 57b97a155..000000000 --- a/d6/d60/group__ode_ga827bf009831ddc477c5fa8891d5cb35f_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -semi_implicit_euler_step - - -Node1 - - -semi_implicit_euler_step - - - - - -Node2 - - -problem - - - - - -Node1->Node2 - - - - - - - - diff --git a/d6/d60/group__ode_ga8c319db420c3d97a83e9dcca803b6812_cgraph.map b/d6/d60/group__ode_ga8c319db420c3d97a83e9dcca803b6812_cgraph.map deleted file mode 100644 index 8b5ea1b7d..000000000 --- a/d6/d60/group__ode_ga8c319db420c3d97a83e9dcca803b6812_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d6/d60/group__ode_ga8c319db420c3d97a83e9dcca803b6812_cgraph.md5 b/d6/d60/group__ode_ga8c319db420c3d97a83e9dcca803b6812_cgraph.md5 deleted file mode 100644 index 909d7c966..000000000 --- a/d6/d60/group__ode_ga8c319db420c3d97a83e9dcca803b6812_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -50249a404ff33f160b928354e9fd6d48 \ No newline at end of file diff --git a/d6/d60/group__ode_ga8c319db420c3d97a83e9dcca803b6812_cgraph.svg b/d6/d60/group__ode_ga8c319db420c3d97a83e9dcca803b6812_cgraph.svg deleted file mode 100644 index cf7e977b8..000000000 --- a/d6/d60/group__ode_ga8c319db420c3d97a83e9dcca803b6812_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -midpoint_euler_step - - -Node1 - - -midpoint_euler_step - - - - - -Node2 - - -problem - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d6/d60/group__ode_ga8c319db420c3d97a83e9dcca803b6812_cgraph_org.svg b/d6/d60/group__ode_ga8c319db420c3d97a83e9dcca803b6812_cgraph_org.svg deleted file mode 100644 index b0b3b2c33..000000000 --- a/d6/d60/group__ode_ga8c319db420c3d97a83e9dcca803b6812_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -midpoint_euler_step - - -Node1 - - -midpoint_euler_step - - - - - -Node2 - - -problem - - - - - -Node1->Node2 - - - - - - - - diff --git a/d6/d60/group__ode_gae0509f8843e2bc42de2abbd00a14b7b9_cgraph.map b/d6/d60/group__ode_gae0509f8843e2bc42de2abbd00a14b7b9_cgraph.map deleted file mode 100644 index 852fab09f..000000000 --- a/d6/d60/group__ode_gae0509f8843e2bc42de2abbd00a14b7b9_cgraph.map +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - - - - - diff --git a/d6/d60/group__ode_gae0509f8843e2bc42de2abbd00a14b7b9_cgraph.md5 b/d6/d60/group__ode_gae0509f8843e2bc42de2abbd00a14b7b9_cgraph.md5 deleted file mode 100644 index 6c700e2c2..000000000 --- a/d6/d60/group__ode_gae0509f8843e2bc42de2abbd00a14b7b9_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -9c4801aafe8e9891caa331ab22e1efa3 \ No newline at end of file diff --git a/d6/d60/group__ode_gae0509f8843e2bc42de2abbd00a14b7b9_cgraph.svg b/d6/d60/group__ode_gae0509f8843e2bc42de2abbd00a14b7b9_cgraph.svg deleted file mode 100644 index 08c1bb94c..000000000 --- a/d6/d60/group__ode_gae0509f8843e2bc42de2abbd00a14b7b9_cgraph.svg +++ /dev/null @@ -1,173 +0,0 @@ - - - - - - - - - - - - -forward_euler - - -Node1 - - -forward_euler - - - - - -Node2 - - -std::clock - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::ofstream::close - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -forward_euler_step - - - - - -Node1->Node4 - - - - - - - - -Node6 - - -std::ofstream::is_open - - - - - -Node1->Node6 - - - - - - - - -Node7 - - -std::ofstream::open - - - - - -Node1->Node7 - - - - - - - - -Node8 - - -std::perror - - - - - -Node1->Node8 - - - - - - - - -Node5 - - -problem - - - - - -Node4->Node5 - - - - - - - - - - - - - diff --git a/d6/d60/group__ode_gae0509f8843e2bc42de2abbd00a14b7b9_cgraph_org.svg b/d6/d60/group__ode_gae0509f8843e2bc42de2abbd00a14b7b9_cgraph_org.svg deleted file mode 100644 index 17190c836..000000000 --- a/d6/d60/group__ode_gae0509f8843e2bc42de2abbd00a14b7b9_cgraph_org.svg +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - -forward_euler - - -Node1 - - -forward_euler - - - - - -Node2 - - -std::clock - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::ofstream::close - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -forward_euler_step - - - - - -Node1->Node4 - - - - - - - - -Node6 - - -std::ofstream::is_open - - - - - -Node1->Node6 - - - - - - - - -Node7 - - -std::ofstream::open - - - - - -Node1->Node7 - - - - - - - - -Node8 - - -std::perror - - - - - -Node1->Node8 - - - - - - - - -Node5 - - -problem - - - - - -Node4->Node5 - - - - - - - - diff --git a/d6/d74/library__sort_8cpp_source.html b/d6/d74/library__sort_8cpp_source.html new file mode 100644 index 000000000..310940a96 --- /dev/null +++ b/d6/d74/library__sort_8cpp_source.html @@ -0,0 +1,232 @@ + + + + + + + + +TheAlgorithms/C++: sorting/library_sort.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    library_sort.cpp
    +
    +
    +
    1#include <algorithm>
    +
    2#include <iostream>
    +
    3
    +
    4void librarySort(int *index, int n) {
    +
    5 int lib_size, index_pos,
    +
    6 *gaps, // gaps
    +
    7 *library[2]; // libraries
    +
    8
    +
    9 bool target_lib, *numbered;
    +
    10
    +
    11 for (int i = 0; i < 2; i++) library[i] = new int[n];
    +
    12
    +
    13 gaps = new int[n + 1];
    +
    14 numbered = new bool[n + 1];
    +
    15
    +
    16 lib_size = 1;
    +
    17 index_pos = 1;
    +
    18 target_lib = 0;
    +
    19 library[target_lib][0] = index[0];
    +
    20
    +
    21 while (index_pos < n) {
    +
    22 // binary search
    +
    23 int insert = std::distance(
    +
    24 library[target_lib],
    +
    25 std::lower_bound(library[target_lib],
    +
    26 library[target_lib] + lib_size, index[index_pos]));
    +
    27
    +
    28 // if there is no gap to insert a new index ...
    +
    29
    +
    30 if (numbered[insert] == true) {
    +
    31 int prov_size = 0, next_target_lib = !target_lib;
    +
    32
    +
    33 // update library and clear gaps
    +
    34
    +
    35 for (int i = 0; i <= n; i++) {
    +
    36 if (numbered[i] == true) {
    +
    37 library[next_target_lib][prov_size] = gaps[i];
    +
    38 prov_size++;
    +
    39 numbered[i] = false;
    +
    40 }
    +
    41
    +
    42 if (i <= lib_size) {
    +
    43 library[next_target_lib][prov_size] =
    +
    44 library[target_lib][i];
    +
    45 prov_size++;
    +
    46 }
    +
    47 }
    +
    48
    +
    49 target_lib = next_target_lib;
    +
    50 lib_size = prov_size - 1;
    +
    51 } else {
    +
    52 numbered[insert] = true;
    +
    53 gaps[insert] = index[index_pos];
    +
    54 index_pos++;
    +
    55 }
    +
    56 }
    +
    57
    +
    58 int index_pos_for_output = 0;
    +
    59 for (int i = 0; index_pos_for_output < n; i++) {
    +
    60 if (numbered[i] == true) {
    +
    61 // std::cout << gaps[i] << std::endl;
    +
    62 index[index_pos_for_output] = gaps[i];
    +
    63 index_pos_for_output++;
    +
    64 }
    +
    65
    +
    66 if (i < lib_size) {
    +
    67 // std::cout << library[target_lib][i] << std::endl;
    +
    68 index[index_pos_for_output] = library[target_lib][i];
    +
    69 index_pos_for_output++;
    +
    70 }
    +
    71 }
    +
    72 delete[] numbered;
    +
    73 delete[] gaps;
    +
    74 for (int i = 0; i < 2; ++i) {
    +
    75 delete[] library[i];
    +
    76 }
    +
    77}
    +
    78
    +
    79int main() {
    +
    80 // ---example--
    +
    81 int index_ex[] = {-6, 5, 9, 1, 9, 1, 0, 1, -8, 4, -12};
    +
    82 int n_ex = sizeof(index_ex) / sizeof(index_ex[0]);
    +
    83
    +
    84 librarySort(index_ex, n_ex);
    +
    85 std::cout << "sorted array :" << std::endl;
    +
    86 for (int i = 0; i < n_ex; i++) std::cout << index_ex[i] << " ";
    +
    87 std::cout << std::endl;
    +
    88
    +
    89 /* --output--
    +
    90 sorted array :
    +
    91 -12 -8 -6 0 1 1 1 4 5 9 9
    +
    92 */
    +
    93}
    +
    node * insert(node *root, int item)
    inserts a new element into AVL tree
    Definition avltree.cpp:92
    +
    int main()
    Main function.
    +
    +
    + + + + diff --git a/d6/d74/namespacekadane.html b/d6/d74/namespacekadane.html index d74ab75f2..0c989840f 100644 --- a/d6/d74/namespacekadane.html +++ b/d6/d74/namespacekadane.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: kadane Namespace Reference +TheAlgorithms/C++: kadane Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/d6/d7a/golden__search__extrema_8cpp.html b/d6/d7a/golden__search__extrema_8cpp.html index e34c75165..9bf5d95ca 100644 --- a/d6/d7a/golden__search__extrema_8cpp.html +++ b/d6/d7a/golden__search__extrema_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: numerical_methods/golden_search_extrema.cpp File Reference +TheAlgorithms/C++: numerical_methods/golden_search_extrema.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + @@ -124,20 +141,20 @@ Include dependency graph for golden_search_extrema.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    - + - - + +

    Macros

    -#define _USE_MATH_DEFINES
    #define _USE_MATH_DEFINES
     
    -#define EPSILON   1e-7
     solution accuracy limit
    #define EPSILON   1e-7
     solution accuracy limit
     
    - + @@ -159,7 +176,44 @@ Functions

    Find extrema of a univariate real function in a given interval using golden section search algorithm.

    See also
    brent_method_extrema.cpp
    Author
    Krishna Vedala
    -

    Function Documentation

    + +

    Definition in file golden_search_extrema.cpp.

    +

    Macro Definition Documentation

    + +

    ◆ _USE_MATH_DEFINES

    + +
    +
    +

    Functions

    double get_minima (const std::function< double(double)> &f, double lim_a, double lim_b)
    double get_minima (const std::function< double(double)> &f, double lim_a, double lim_b)
     Get the minima of a function in the given interval. To get the maxima, simply negate the function. The golden ratio used here is:
     
    void test1 ()
    + + + +
    #define _USE_MATH_DEFINES
    +
    + +

    Definition at line 10 of file golden_search_extrema.cpp.

    + +
    + + +

    ◆ EPSILON

    + +
    +
    + + + + +
    #define EPSILON   1e-7
    +
    + +

    solution accuracy limit

    + +

    Definition at line 18 of file golden_search_extrema.cpp.

    + +
    +
    +

    Function Documentation

    ◆ get_minima()

    @@ -169,7 +223,7 @@ Functions double get_minima ( - const std::function< double(double)> & f, + const std::function< double(double)> & f, @@ -198,19 +252,21 @@ k=\frac{3-\sqrt{5}}{2} \approx 0.381966\ldots\]
    Returns
    local minima found in the interval
    + +

    Definition at line 30 of file golden_search_extrema.cpp.

    31 {
    32 uint32_t iters = 0;
    33 double c, d;
    -
    34 double prev_mean, mean = std::numeric_limits<double>::infinity();
    +
    34 double prev_mean, mean = std::numeric_limits<double>::infinity();
    35
    36 // golden ratio value
    -
    37 const double M_GOLDEN_RATIO = (1.f + std::sqrt(5.f)) / 2.f;
    +
    37 const double M_GOLDEN_RATIO = (1.f + std::sqrt(5.f)) / 2.f;
    38
    39 // ensure that lim_a < lim_b
    40 if (lim_a > lim_b) {
    -
    41 std::swap(lim_a, lim_b);
    +
    41 std::swap(lim_a, lim_b);
    42 } else if (std::abs(lim_a - lim_b) <= EPSILON) {
    -
    43 std::cerr << "Search range must be greater than " << EPSILON << "\n";
    +
    43 std::cerr << "Search range must be greater than " << EPSILON << "\n";
    44 return lim_a;
    45 }
    46
    @@ -236,21 +292,12 @@ k=\frac{3-\sqrt{5}}{2} \approx 0.381966\ldots\]
    66 // continue till the interval width is greater than sqrt(system epsilon)
    67 } while (std::abs(lim_a - lim_b) > EPSILON);
    68
    -
    69 std::cout << " (iters: " << iters << ") ";
    +
    69 std::cout << " (iters: " << iters << ") ";
    70 return prev_mean;
    71}
    - -
    double f(double x)
    A function f(x) that will be used to test the method.
    Definition composite_simpson_rule.cpp:113
    -
    #define EPSILON
    solution accuracy limit
    Definition golden_search_extrema.cpp:18
    -
    T infinity(T... args)
    -
    T sqrt(T... args)
    -
    T swap(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    double f(double x)
    A function f(x) that will be used to test the method.
    +
    #define EPSILON
    solution accuracy limit
    + @@ -268,10 +315,12 @@ Here is the call graph for this function:

    Main function

    + +

    Definition at line 140 of file golden_search_extrema.cpp.

    140 {
    -
    141 std::cout.precision(9);
    +
    141 std::cout.precision(9);
    142
    -
    143 std::cout << "Computations performed with machine epsilon: " << EPSILON
    +
    143 std::cout << "Computations performed with machine epsilon: " << EPSILON
    144 << "\n";
    145
    146 test1();
    @@ -280,15 +329,10 @@ Here is the call graph for this function:
    149
    150 return 0;
    151}
    -
    void test2()
    Test function to find maxima for the function in the interval Expected result: .
    Definition golden_search_extrema.cpp:101
    -
    void test1()
    Test function to find minima for the function in the interval Expected result = 2.
    Definition golden_search_extrema.cpp:79
    -
    void test3()
    Test function to find maxima for the function in the interval Expected result: .
    Definition golden_search_extrema.cpp:124
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    void test2()
    Test function to find maxima for the function in the interval Expected result: .
    +
    void test1()
    Test function to find minima for the function in the interval Expected result = 2.
    +
    void test3()
    Test function to find maxima for the function in the interval Expected result: .
    + @@ -308,29 +352,25 @@ Here is the call graph for this function:

    Test function to find minima for the function \(f(x)= (x-2)^2\) in the interval \([1,5]\)
    Expected result = 2.

    + +

    Definition at line 79 of file golden_search_extrema.cpp.

    79 {
    80 // define the function to minimize as a lambda function
    -
    81 std::function<double(double)> f1 = [](double x) {
    +
    81 std::function<double(double)> f1 = [](double x) {
    82 return (x - 2) * (x - 2);
    83 };
    84
    -
    85 std::cout << "Test 1.... ";
    +
    85 std::cout << "Test 1.... ";
    86
    87 double minima = get_minima(f1, 1, 5);
    88
    -
    89 std::cout << minima << "...";
    +
    89 std::cout << minima << "...";
    90
    91 assert(std::abs(minima - 2) < EPSILON);
    -
    92 std::cout << "passed\n";
    +
    92 std::cout << "passed\n";
    93}
    - -
    double get_minima(const std::function< double(double)> &f, double lim_a, double lim_b)
    Get the minima of a function in the given interval. To get the maxima, simply negate the function....
    Definition golden_search_extrema.cpp:30
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    double get_minima(const std::function< double(double)> &f, double lim_a, double lim_b)
    Get the minima of a function in the given interval. To get the maxima, simply negate the function....
    + @@ -350,29 +390,25 @@ Here is the call graph for this function:

    Test function to find maxima for the function \(f(x)= x^{\frac{1}{x}}\) in the interval \([-2,10]\)
    Expected result: \(e\approx 2.71828182845904509\).

    + +

    Definition at line 101 of file golden_search_extrema.cpp.

    101 {
    102 // define the function to maximize as a lambda function
    103 // since we are maximixing, we negated the function return value
    -
    104 std::function<double(double)> func = [](double x) {
    -
    105 return -std::pow(x, 1.f / x);
    +
    104 std::function<double(double)> func = [](double x) {
    +
    105 return -std::pow(x, 1.f / x);
    106 };
    107
    -
    108 std::cout << "Test 2.... ";
    +
    108 std::cout << "Test 2.... ";
    109
    110 double minima = get_minima(func, -2, 10);
    111
    -
    112 std::cout << minima << " (" << M_E << ")...";
    +
    112 std::cout << minima << " (" << M_E << ")...";
    113
    114 assert(std::abs(minima - M_E) < EPSILON);
    -
    115 std::cout << "passed\n";
    +
    115 std::cout << "passed\n";
    116}
    -
    T pow(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -392,27 +428,23 @@ Here is the call graph for this function:

    Test function to find maxima for the function \(f(x)= \cos x\) in the interval \([0,12]\)
    Expected result: \(\pi\approx 3.14159265358979312\).

    + +

    Definition at line 124 of file golden_search_extrema.cpp.

    124 {
    125 // define the function to maximize as a lambda function
    126 // since we are maximixing, we negated the function return value
    -
    127 std::function<double(double)> func = [](double x) { return std::cos(x); };
    +
    127 std::function<double(double)> func = [](double x) { return std::cos(x); };
    128
    -
    129 std::cout << "Test 3.... ";
    +
    129 std::cout << "Test 3.... ";
    130
    131 double minima = get_minima(func, -4, 12);
    132
    -
    133 std::cout << minima << " (" << M_PI << ")...";
    +
    133 std::cout << minima << " (" << M_PI << ")...";
    134
    135 assert(std::abs(minima - M_PI) < EPSILON);
    -
    136 std::cout << "passed\n";
    +
    136 std::cout << "passed\n";
    137}
    -
    T cos(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + diff --git a/d6/d7a/golden__search__extrema_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph.map b/d6/d7a/golden__search__extrema_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph.map deleted file mode 100644 index e73d0863f..000000000 --- a/d6/d7a/golden__search__extrema_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph.map +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - diff --git a/d6/d7a/golden__search__extrema_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph.md5 b/d6/d7a/golden__search__extrema_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph.md5 deleted file mode 100644 index e6f54d845..000000000 --- a/d6/d7a/golden__search__extrema_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -e617e5ed265c3778b69e3bd67b7b784e \ No newline at end of file diff --git a/d6/d7a/golden__search__extrema_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph.svg b/d6/d7a/golden__search__extrema_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph.svg deleted file mode 100644 index 806925d27..000000000 --- a/d6/d7a/golden__search__extrema_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph.svg +++ /dev/null @@ -1,138 +0,0 @@ - - - - - - - - - - - - -test2 - - -Node1 - - -test2 - - - - - -Node2 - - -get_minima - - - - - -Node1->Node2 - - - - - - - - -Node6 - - -std::pow - - - - - -Node1->Node6 - - - - - - - - -Node3 - - -std::numeric_limits -::infinity - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::sqrt - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -std::swap - - - - - -Node2->Node5 - - - - - - - - - - - - - diff --git a/d6/d7a/golden__search__extrema_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph_org.svg b/d6/d7a/golden__search__extrema_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph_org.svg deleted file mode 100644 index adf285261..000000000 --- a/d6/d7a/golden__search__extrema_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph_org.svg +++ /dev/null @@ -1,112 +0,0 @@ - - - - - - -test2 - - -Node1 - - -test2 - - - - - -Node2 - - -get_minima - - - - - -Node1->Node2 - - - - - - - - -Node6 - - -std::pow - - - - - -Node1->Node6 - - - - - - - - -Node3 - - -std::numeric_limits -::infinity - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::sqrt - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -std::swap - - - - - -Node2->Node5 - - - - - - - - diff --git a/d6/d7a/golden__search__extrema_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph.map b/d6/d7a/golden__search__extrema_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph.map deleted file mode 100644 index d4d16f021..000000000 --- a/d6/d7a/golden__search__extrema_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph.map +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/d6/d7a/golden__search__extrema_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph.md5 b/d6/d7a/golden__search__extrema_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph.md5 deleted file mode 100644 index ec0b67755..000000000 --- a/d6/d7a/golden__search__extrema_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -9a95ea3efc42196f587b59f13d148dd1 \ No newline at end of file diff --git a/d6/d7a/golden__search__extrema_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph.svg b/d6/d7a/golden__search__extrema_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph.svg deleted file mode 100644 index 1d5ee00e9..000000000 --- a/d6/d7a/golden__search__extrema_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph.svg +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - - - - - - - -test1 - - -Node1 - - -test1 - - - - - -Node2 - - -get_minima - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::numeric_limits -::infinity - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::sqrt - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -std::swap - - - - - -Node2->Node5 - - - - - - - - - - - - - diff --git a/d6/d7a/golden__search__extrema_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph_org.svg b/d6/d7a/golden__search__extrema_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph_org.svg deleted file mode 100644 index 9490d4d73..000000000 --- a/d6/d7a/golden__search__extrema_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph_org.svg +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - -test1 - - -Node1 - - -test1 - - - - - -Node2 - - -get_minima - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::numeric_limits -::infinity - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::sqrt - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -std::swap - - - - - -Node2->Node5 - - - - - - - - diff --git a/d6/d7a/golden__search__extrema_8cpp_a1aa76a6d5fd4d333f9072beff1dc486b_cgraph.map b/d6/d7a/golden__search__extrema_8cpp_a1aa76a6d5fd4d333f9072beff1dc486b_cgraph.map deleted file mode 100644 index 7a3d22872..000000000 --- a/d6/d7a/golden__search__extrema_8cpp_a1aa76a6d5fd4d333f9072beff1dc486b_cgraph.map +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/d6/d7a/golden__search__extrema_8cpp_a1aa76a6d5fd4d333f9072beff1dc486b_cgraph.md5 b/d6/d7a/golden__search__extrema_8cpp_a1aa76a6d5fd4d333f9072beff1dc486b_cgraph.md5 deleted file mode 100644 index 2db69c789..000000000 --- a/d6/d7a/golden__search__extrema_8cpp_a1aa76a6d5fd4d333f9072beff1dc486b_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -cf939fa12ff88e0676cc991d48e244de \ No newline at end of file diff --git a/d6/d7a/golden__search__extrema_8cpp_a1aa76a6d5fd4d333f9072beff1dc486b_cgraph.svg b/d6/d7a/golden__search__extrema_8cpp_a1aa76a6d5fd4d333f9072beff1dc486b_cgraph.svg deleted file mode 100644 index 982a2bf66..000000000 --- a/d6/d7a/golden__search__extrema_8cpp_a1aa76a6d5fd4d333f9072beff1dc486b_cgraph.svg +++ /dev/null @@ -1,102 +0,0 @@ - - - - - - - - - - - - -get_minima - - -Node1 - - -get_minima - - - - - -Node2 - - -std::numeric_limits -::infinity - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::sqrt - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::swap - - - - - -Node1->Node4 - - - - - - - - - - - - - diff --git a/d6/d7a/golden__search__extrema_8cpp_a1aa76a6d5fd4d333f9072beff1dc486b_cgraph_org.svg b/d6/d7a/golden__search__extrema_8cpp_a1aa76a6d5fd4d333f9072beff1dc486b_cgraph_org.svg deleted file mode 100644 index ba6f32a2d..000000000 --- a/d6/d7a/golden__search__extrema_8cpp_a1aa76a6d5fd4d333f9072beff1dc486b_cgraph_org.svg +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - -get_minima - - -Node1 - - -get_minima - - - - - -Node2 - - -std::numeric_limits -::infinity - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::sqrt - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::swap - - - - - -Node1->Node4 - - - - - - - - diff --git a/d6/d7a/golden__search__extrema_8cpp_a6d0455dd5c30adda100e95f0423c786e_cgraph.map b/d6/d7a/golden__search__extrema_8cpp_a6d0455dd5c30adda100e95f0423c786e_cgraph.map deleted file mode 100644 index 52f5d1c68..000000000 --- a/d6/d7a/golden__search__extrema_8cpp_a6d0455dd5c30adda100e95f0423c786e_cgraph.map +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - diff --git a/d6/d7a/golden__search__extrema_8cpp_a6d0455dd5c30adda100e95f0423c786e_cgraph.md5 b/d6/d7a/golden__search__extrema_8cpp_a6d0455dd5c30adda100e95f0423c786e_cgraph.md5 deleted file mode 100644 index e3d0e9e97..000000000 --- a/d6/d7a/golden__search__extrema_8cpp_a6d0455dd5c30adda100e95f0423c786e_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -b646ec3d2d445c4068e5c7659cca0b93 \ No newline at end of file diff --git a/d6/d7a/golden__search__extrema_8cpp_a6d0455dd5c30adda100e95f0423c786e_cgraph.svg b/d6/d7a/golden__search__extrema_8cpp_a6d0455dd5c30adda100e95f0423c786e_cgraph.svg deleted file mode 100644 index ff636bc3b..000000000 --- a/d6/d7a/golden__search__extrema_8cpp_a6d0455dd5c30adda100e95f0423c786e_cgraph.svg +++ /dev/null @@ -1,138 +0,0 @@ - - - - - - - - - - - - -test3 - - -Node1 - - -test3 - - - - - -Node2 - - -std::cos - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -get_minima - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::numeric_limits -::infinity - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -std::sqrt - - - - - -Node3->Node5 - - - - - - - - -Node6 - - -std::swap - - - - - -Node3->Node6 - - - - - - - - - - - - - diff --git a/d6/d7a/golden__search__extrema_8cpp_a6d0455dd5c30adda100e95f0423c786e_cgraph_org.svg b/d6/d7a/golden__search__extrema_8cpp_a6d0455dd5c30adda100e95f0423c786e_cgraph_org.svg deleted file mode 100644 index 0ed76db1b..000000000 --- a/d6/d7a/golden__search__extrema_8cpp_a6d0455dd5c30adda100e95f0423c786e_cgraph_org.svg +++ /dev/null @@ -1,112 +0,0 @@ - - - - - - -test3 - - -Node1 - - -test3 - - - - - -Node2 - - -std::cos - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -get_minima - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::numeric_limits -::infinity - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -std::sqrt - - - - - -Node3->Node5 - - - - - - - - -Node6 - - -std::swap - - - - - -Node3->Node6 - - - - - - - - diff --git a/d6/d7a/golden__search__extrema_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d6/d7a/golden__search__extrema_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index ed0d4ef63..000000000 --- a/d6/d7a/golden__search__extrema_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d6/d7a/golden__search__extrema_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d6/d7a/golden__search__extrema_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index 23beb04c4..000000000 --- a/d6/d7a/golden__search__extrema_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -f75e9e5636fd78b12fdac9912af94db8 \ No newline at end of file diff --git a/d6/d7a/golden__search__extrema_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d6/d7a/golden__search__extrema_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index d80cbe87f..000000000 --- a/d6/d7a/golden__search__extrema_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,228 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test1 - - - - - -Node1->Node2 - - - - - - - - -Node7 - - -test2 - - - - - -Node1->Node7 - - - - - - - - -Node9 - - -test3 - - - - - -Node1->Node9 - - - - - - - - -Node3 - - -get_minima - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::numeric_limits -::infinity - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -std::sqrt - - - - - -Node3->Node5 - - - - - - - - -Node6 - - -std::swap - - - - - -Node3->Node6 - - - - - - - - -Node7->Node3 - - - - - - - - -Node8 - - -std::pow - - - - - -Node7->Node8 - - - - - - - - -Node9->Node3 - - - - - - - - -Node10 - - -std::cos - - - - - -Node9->Node10 - - - - - - - - - - - - - diff --git a/d6/d7a/golden__search__extrema_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d6/d7a/golden__search__extrema_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 0ccb4eb7d..000000000 --- a/d6/d7a/golden__search__extrema_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,202 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test1 - - - - - -Node1->Node2 - - - - - - - - -Node7 - - -test2 - - - - - -Node1->Node7 - - - - - - - - -Node9 - - -test3 - - - - - -Node1->Node9 - - - - - - - - -Node3 - - -get_minima - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::numeric_limits -::infinity - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -std::sqrt - - - - - -Node3->Node5 - - - - - - - - -Node6 - - -std::swap - - - - - -Node3->Node6 - - - - - - - - -Node7->Node3 - - - - - - - - -Node8 - - -std::pow - - - - - -Node7->Node8 - - - - - - - - -Node9->Node3 - - - - - - - - -Node10 - - -std::cos - - - - - -Node9->Node10 - - - - - - - - diff --git a/d6/d7a/golden__search__extrema_8cpp_source.html b/d6/d7a/golden__search__extrema_8cpp_source.html new file mode 100644 index 000000000..e9b38c57c --- /dev/null +++ b/d6/d7a/golden__search__extrema_8cpp_source.html @@ -0,0 +1,267 @@ + + + + + + + + +TheAlgorithms/C++: numerical_methods/golden_search_extrema.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    golden_search_extrema.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    10#define _USE_MATH_DEFINES //< required for MS Visual C++
    +
    11#include <cassert>
    +
    12#include <cmath>
    +
    13#include <cstdint>
    +
    14#include <functional>
    +
    15#include <iostream>
    +
    16#include <limits>
    +
    17
    +
    18#define EPSILON 1e-7
    +
    19
    +
    +
    30double get_minima(const std::function<double(double)> &f, double lim_a,
    +
    31 double lim_b) {
    +
    32 uint32_t iters = 0;
    +
    33 double c, d;
    +
    34 double prev_mean, mean = std::numeric_limits<double>::infinity();
    +
    35
    +
    36 // golden ratio value
    +
    37 const double M_GOLDEN_RATIO = (1.f + std::sqrt(5.f)) / 2.f;
    +
    38
    +
    39 // ensure that lim_a < lim_b
    +
    40 if (lim_a > lim_b) {
    +
    41 std::swap(lim_a, lim_b);
    +
    42 } else if (std::abs(lim_a - lim_b) <= EPSILON) {
    +
    43 std::cerr << "Search range must be greater than " << EPSILON << "\n";
    +
    44 return lim_a;
    +
    45 }
    +
    46
    +
    47 do {
    +
    48 prev_mean = mean;
    +
    49
    +
    50 // compute the section ratio width
    +
    51 double ratio = (lim_b - lim_a) / M_GOLDEN_RATIO;
    +
    52 c = lim_b - ratio; // right-side section start
    +
    53 d = lim_a + ratio; // left-side section end
    +
    54
    +
    55 if (f(c) < f(d)) {
    +
    56 // select left section
    +
    57 lim_b = d;
    +
    58 } else {
    +
    59 // selct right section
    +
    60 lim_a = c;
    +
    61 }
    +
    62
    +
    63 mean = (lim_a + lim_b) / 2.f;
    +
    64 iters++;
    +
    65
    +
    66 // continue till the interval width is greater than sqrt(system epsilon)
    +
    67 } while (std::abs(lim_a - lim_b) > EPSILON);
    +
    68
    +
    69 std::cout << " (iters: " << iters << ") ";
    +
    70 return prev_mean;
    +
    71}
    +
    +
    72
    +
    +
    79void test1() {
    +
    80 // define the function to minimize as a lambda function
    +
    81 std::function<double(double)> f1 = [](double x) {
    +
    82 return (x - 2) * (x - 2);
    +
    83 };
    +
    84
    +
    85 std::cout << "Test 1.... ";
    +
    86
    +
    87 double minima = get_minima(f1, 1, 5);
    +
    88
    +
    89 std::cout << minima << "...";
    +
    90
    +
    91 assert(std::abs(minima - 2) < EPSILON);
    +
    92 std::cout << "passed\n";
    +
    93}
    +
    +
    94
    +
    +
    101void test2() {
    +
    102 // define the function to maximize as a lambda function
    +
    103 // since we are maximixing, we negated the function return value
    +
    104 std::function<double(double)> func = [](double x) {
    +
    105 return -std::pow(x, 1.f / x);
    +
    106 };
    +
    107
    +
    108 std::cout << "Test 2.... ";
    +
    109
    +
    110 double minima = get_minima(func, -2, 10);
    +
    111
    +
    112 std::cout << minima << " (" << M_E << ")...";
    +
    113
    +
    114 assert(std::abs(minima - M_E) < EPSILON);
    +
    115 std::cout << "passed\n";
    +
    116}
    +
    +
    117
    +
    +
    124void test3() {
    +
    125 // define the function to maximize as a lambda function
    +
    126 // since we are maximixing, we negated the function return value
    +
    127 std::function<double(double)> func = [](double x) { return std::cos(x); };
    +
    128
    +
    129 std::cout << "Test 3.... ";
    +
    130
    +
    131 double minima = get_minima(func, -4, 12);
    +
    132
    +
    133 std::cout << minima << " (" << M_PI << ")...";
    +
    134
    +
    135 assert(std::abs(minima - M_PI) < EPSILON);
    +
    136 std::cout << "passed\n";
    +
    137}
    +
    +
    138
    +
    +
    140int main() {
    +
    141 std::cout.precision(9);
    +
    142
    +
    143 std::cout << "Computations performed with machine epsilon: " << EPSILON
    +
    144 << "\n";
    +
    145
    +
    146 test1();
    +
    147 test2();
    +
    148 test3();
    +
    149
    +
    150 return 0;
    +
    151}
    +
    +
    #define EPSILON
    solution accuracy limit
    +
    void test2()
    Test function to find maxima for the function in the interval Expected result: .
    +
    void test1()
    Test function to find minima for the function in the interval Expected result = 2.
    +
    double get_minima(const std::function< double(double)> &f, double lim_a, double lim_b)
    Get the minima of a function in the given interval. To get the maxima, simply negate the function....
    +
    void test3()
    Test function to find maxima for the function in the interval Expected result: .
    + +
    +
    + + + + diff --git a/d6/d80/double__hash__hash__table_8cpp.html b/d6/d80/double__hash__hash__table_8cpp.html index 195eced74..f883e4b2b 100644 --- a/d6/d80/double__hash__hash__table_8cpp.html +++ b/d6/d80/double__hash__hash__table_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: hashing/double_hash_hash_table.cpp File Reference +TheAlgorithms/C++: hashing/double_hash_hash_table.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -124,7 +141,9 @@ Include dependency graph for double_hash_hash_table.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -138,8 +157,7 @@ Namespaces

    Classes

    struct  double_hashing::Entry
    - +

    Typedefs

    -using double_hashing::Entry = struct Entry
    using double_hashing::Entry = struct Entry
     
    - + @@ -174,23 +192,17 @@ Functions

    @@ -151,7 +169,7 @@ Functions

    void double_hashing::add (int key)
     
    size_t double_hashing::hashFxn (int key)
     Hash a key. Uses the STL library's std::hash() function.
     Hash a key. Uses the STL library's std::hash() function.
     
    size_t double_hashing::otherHashFxn (int key)
     Used for second hash function.
    - + - + - + - + - + - +

    Variables

    -int double_hashing::notPresent
    int double_hashing::notPresent
     
    -std::vector< Entrydouble_hashing::table
    std::vector< Entrydouble_hashing::table
     
    -int double_hashing::totalSize
    int double_hashing::totalSize
     
    -int double_hashing::tomb = -1
    int double_hashing::tomb = -1
     
    -int double_hashing::size
    int double_hashing::size
     
    -bool double_hashing::rehashing
    bool double_hashing::rehashing
     

    Detailed Description

    @@ -199,6 +211,8 @@ bool double_hashing::rehas
    Krishna Vedala
    Note
    The implementation can be optimized by using OOP style.
    + +

    Definition in file double_hash_hash_table.cpp.

    Function Documentation

    ◆ main()

    @@ -215,46 +229,48 @@ bool double_hashing::rehas

    Main program

    Returns
    0 on success
    + +

    Definition at line 250 of file double_hash_hash_table.cpp.

    250 {
    251 int cmd = 0, hash = 0, key = 0;
    -
    252 std::cout << "Enter the initial size of Hash Table. = ";
    -
    253 std::cin >> totalSize;
    -
    254 table = std::vector<Entry>(totalSize);
    +
    252 std::cout << "Enter the initial size of Hash Table. = ";
    +
    253 std::cin >> totalSize;
    +
    254 table = std::vector<Entry>(totalSize);
    255 bool loop = true;
    256 while (loop) {
    - -
    258 std::cout << "PLEASE CHOOSE -" << std::endl;
    -
    259 std::cout << "1. Add key. (Numeric only)" << std::endl;
    -
    260 std::cout << "2. Remove key." << std::endl;
    -
    261 std::cout << "3. Find key." << std::endl;
    -
    262 std::cout << "4. Generate Hash. (Numeric only)" << std::endl;
    -
    263 std::cout << "5. Display Hash table." << std::endl;
    -
    264 std::cout << "6. Exit." << std::endl;
    -
    265 std::cin >> cmd;
    +
    257 std::cout << std::endl;
    +
    258 std::cout << "PLEASE CHOOSE -" << std::endl;
    +
    259 std::cout << "1. Add key. (Numeric only)" << std::endl;
    +
    260 std::cout << "2. Remove key." << std::endl;
    +
    261 std::cout << "3. Find key." << std::endl;
    +
    262 std::cout << "4. Generate Hash. (Numeric only)" << std::endl;
    +
    263 std::cout << "5. Display Hash table." << std::endl;
    +
    264 std::cout << "6. Exit." << std::endl;
    +
    265 std::cin >> cmd;
    266 switch (cmd) {
    267 case 1:
    -
    268 std::cout << "Enter key to add = ";
    -
    269 std::cin >> key;
    +
    268 std::cout << "Enter key to add = ";
    +
    269 std::cin >> key;
    271 break;
    272 case 2:
    -
    273 std::cout << "Enter key to remove = ";
    -
    274 std::cin >> key;
    +
    273 std::cout << "Enter key to remove = ";
    +
    274 std::cin >> key;
    276 break;
    277 case 3: {
    -
    278 std::cout << "Enter key to search = ";
    -
    279 std::cin >> key;
    +
    278 std::cout << "Enter key to search = ";
    +
    279 std::cin >> key;
    280 Entry entry = table[double_hashing::doubleHash(key, true)];
    281 if (entry.key == double_hashing::notPresent) {
    -
    282 std::cout << "Key not present";
    +
    282 std::cout << "Key not present";
    283 }
    284 break;
    285 }
    286 case 4:
    -
    287 std::cout << "Enter element to generate hash = ";
    -
    288 std::cin >> key;
    -
    289 std::cout << "Hash of " << key
    +
    287 std::cout << "Enter element to generate hash = ";
    +
    288 std::cin >> key;
    +
    289 std::cout << "Hash of " << key
    290 << " is = " << double_hashing::hashFxn(key);
    291 break;
    292 case 5:
    @@ -265,28 +281,19 @@ bool double_hashing::rehas
    297 break;
    298 // delete[] table;
    299 }
    - +
    300 std::cout << std::endl;
    301 }
    302 return 0;
    303}
    - - -
    T endl(T... args)
    -
    void * hash(const std::string &message)
    Converts the string to bytestring and calls the main algorithm.
    Definition md5.cpp:288
    -
    size_t hashFxn(int key)
    Hash a key. Uses the STL library's std::hash() function.
    Definition double_hash_hash_table.cpp:47
    -
    void display()
    Definition double_hash_hash_table.cpp:143
    -
    void removalInfo(int key)
    Definition double_hash_hash_table.cpp:227
    -
    int doubleHash(int key, bool searching)
    Performs double hashing to resolve collisions.
    Definition double_hash_hash_table.cpp:71
    -
    void addInfo(int key)
    Definition double_hash_hash_table.cpp:212
    -
    Definition double_hash_hash_table.cpp:36
    -
    int key
    key value
    Definition double_hash_hash_table.cpp:38
    - -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    void * hash(const std::string &message)
    Converts the string to bytestring and calls the main algorithm.
    Definition md5.cpp:288
    +
    size_t hashFxn(int key)
    Hash a key. Uses the STL library's std::hash() function.
    + + +
    int doubleHash(int key, bool searching)
    Performs double hashing to resolve collisions.
    + +
    +
    int key
    key value
    +
    diff --git a/d6/d80/double__hash__hash__table_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d6/d80/double__hash__hash__table_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 3fc042877..000000000 --- a/d6/d80/double__hash__hash__table_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d6/d80/double__hash__hash__table_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d6/d80/double__hash__hash__table_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index 33cec17e1..000000000 --- a/d6/d80/double__hash__hash__table_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -2c7198d19a085ddc392dbbebb54fec17 \ No newline at end of file diff --git a/d6/d80/double__hash__hash__table_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d6/d80/double__hash__hash__table_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 2b4023d74..000000000 --- a/d6/d80/double__hash__hash__table_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,447 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -double_hashing::addInfo - - - - - -Node1->Node2 - - - - - - - - -Node4 - - -double_hashing::doubleHash - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::endl - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -double_hashing::hashFxn - - - - - -Node1->Node6 - - - - - - - - -Node11 - - -double_hashing::display - - - - - -Node1->Node11 - - - - - - - - -Node12 - - -double_hashing::removalInfo - - - - - -Node1->Node12 - - - - - - - - -Node3 - - -double_hashing::add - - - - - -Node2->Node3 - - - - - - - - -Node2->Node5 - - - - - - - - -Node2->Node6 - - - - - - - - -Node2->Node11 - - - - - - - - -Node3->Node4 - - - - - - - - -Node10 - - -double_hashing::rehash - - - - - -Node3->Node10 - - - - - - - - -Node4->Node5 - - - - - - - - -Node4->Node6 - - - - - - - - -Node7 - - -double_hashing::otherHashFxn - - - - - -Node4->Node7 - - - - - - - - -Node8 - - -double_hashing::putProber - - - - - -Node4->Node8 - - - - - - - - -Node9 - - -double_hashing::searching -Prober - - - - - -Node4->Node9 - - - - - - - - -Node10->Node3 - - - - - - - - -Node10->Node5 - - - - - - - - -Node11->Node5 - - - - - - - - -Node12->Node5 - - - - - - - - -Node12->Node6 - - - - - - - - -Node12->Node11 - - - - - - - - -Node13 - - -double_hashing::remove - - - - - -Node12->Node13 - - - - - - - - -Node13->Node4 - - - - - - - - -Node13->Node5 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d6/d80/double__hash__hash__table_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d6/d80/double__hash__hash__table_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 58ca2494a..000000000 --- a/d6/d80/double__hash__hash__table_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,364 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -double_hashing::addInfo - - - - - -Node1->Node2 - - - - - - - - -Node4 - - -double_hashing::doubleHash - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::endl - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -double_hashing::hashFxn - - - - - -Node1->Node6 - - - - - - - - -Node11 - - -double_hashing::display - - - - - -Node1->Node11 - - - - - - - - -Node12 - - -double_hashing::removalInfo - - - - - -Node1->Node12 - - - - - - - - -Node3 - - -double_hashing::add - - - - - -Node2->Node3 - - - - - - - - -Node2->Node5 - - - - - - - - -Node2->Node6 - - - - - - - - -Node2->Node11 - - - - - - - - -Node3->Node4 - - - - - - - - -Node10 - - -double_hashing::rehash - - - - - -Node3->Node10 - - - - - - - - -Node4->Node5 - - - - - - - - -Node4->Node6 - - - - - - - - -Node7 - - -double_hashing::otherHashFxn - - - - - -Node4->Node7 - - - - - - - - -Node8 - - -double_hashing::putProber - - - - - -Node4->Node8 - - - - - - - - -Node9 - - -double_hashing::searching -Prober - - - - - -Node4->Node9 - - - - - - - - -Node10->Node3 - - - - - - - - -Node10->Node5 - - - - - - - - -Node11->Node5 - - - - - - - - -Node12->Node5 - - - - - - - - -Node12->Node6 - - - - - - - - -Node12->Node11 - - - - - - - - -Node13 - - -double_hashing::remove - - - - - -Node12->Node13 - - - - - - - - -Node13->Node4 - - - - - - - - -Node13->Node5 - - - - - - - - diff --git a/d6/d80/double__hash__hash__table_8cpp_source.html b/d6/d80/double__hash__hash__table_8cpp_source.html new file mode 100644 index 000000000..694b3edd3 --- /dev/null +++ b/d6/d80/double__hash__hash__table_8cpp_source.html @@ -0,0 +1,412 @@ + + + + + + + + +TheAlgorithms/C++: hashing/double_hash_hash_table.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    double_hash_hash_table.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    9#include <iostream>
    +
    10#include <memory>
    +
    11#include <vector>
    +
    12
    +
    20namespace double_hashing {
    +
    21// fwd declarations
    +
    22using Entry = struct Entry;
    +
    23bool putProber(const Entry& entry, int key);
    +
    24bool searchingProber(const Entry& entry, int key);
    +
    25void add(int key);
    +
    26
    +
    27// Undocumented globals
    +
    28int notPresent;
    +
    29std::vector<Entry> table;
    +
    30int totalSize;
    +
    31int tomb = -1;
    +
    32int size;
    +
    33bool rehashing;
    +
    34
    +
    +
    36struct Entry {
    +
    37 explicit Entry(int key = notPresent) : key(key) {}
    +
    +
    38 int key;
    +
    39};
    +
    40
    +
    +
    47size_t hashFxn(int key) {
    +
    48 std::hash<int> hash;
    +
    49 return hash(key);
    +
    50}
    +
    +
    51
    +
    +
    58size_t otherHashFxn(int key) {
    +
    59 std::hash<int> hash;
    +
    60 return 1 + (7 - (hash(key) % 7));
    +
    61}
    +
    +
    62
    +
    +
    71int doubleHash(int key, bool searching) {
    +
    72 int hash = static_cast<int>(hashFxn(key));
    +
    73 int i = 0;
    +
    74 Entry entry;
    +
    75 do {
    +
    76 int index =
    +
    77 static_cast<int>(hash + (i * otherHashFxn(key))) % totalSize;
    +
    78 entry = table[index];
    +
    79 if (searching) {
    +
    80 if (entry.key == notPresent) {
    +
    81 return notPresent;
    +
    82 }
    +
    83 if (searchingProber(entry, key)) {
    +
    84 std::cout << "Found key!" << std::endl;
    +
    85 return index;
    +
    86 }
    +
    87 std::cout << "Found tombstone or equal hash, checking next"
    +
    88 << std::endl;
    +
    89 i++;
    +
    90 } else {
    +
    91 if (putProber(entry, key)) {
    +
    92 if (!rehashing) {
    +
    93 std::cout << "Spot found!" << std::endl;
    +
    94 }
    +
    95 return index;
    +
    96 }
    +
    97 if (!rehashing) {
    +
    98 std::cout << "Spot taken, looking at next (next index:"
    +
    99 << " "
    +
    100 << static_cast<int>(hash + (i * otherHashFxn(key))) %
    +
    101 totalSize
    +
    102 << ")" << std::endl;
    +
    103 }
    +
    104 i++;
    +
    105 }
    +
    106 if (i == totalSize * 100) {
    +
    107 std::cout << "DoubleHash probe failed" << std::endl;
    +
    108 return notPresent;
    +
    109 }
    +
    110 } while (entry.key != notPresent);
    +
    111 return notPresent;
    +
    112}
    +
    +
    113
    +
    +
    120bool putProber(const Entry& entry, int key) {
    +
    121 if (entry.key == notPresent || entry.key == tomb) {
    +
    122 return true;
    +
    123 }
    +
    124 return false;
    +
    125}
    +
    +
    126
    +
    +
    133bool searchingProber(const Entry& entry, int key) {
    +
    134 if (entry.key == key) {
    +
    135 return true;
    +
    136 }
    +
    137 return false;
    +
    138}
    +
    +
    139
    +
    +
    143void display() {
    +
    144 for (int i = 0; i < totalSize; i++) {
    +
    145 if (table[i].key == notPresent) {
    +
    146 std::cout << " Empty ";
    +
    147 } else if (table[i].key == tomb) {
    +
    148 std::cout << " Tomb ";
    +
    149 } else {
    +
    150 std::cout << " ";
    +
    151 std::cout << table[i].key;
    +
    152 std::cout << " ";
    +
    153 }
    +
    154 }
    +
    155 std::cout << std::endl;
    +
    156}
    +
    +
    157
    +
    +
    161void rehash() {
    +
    162 // Necessary so wall of add info isn't printed all at once
    +
    163 rehashing = true;
    +
    164 int oldSize = totalSize;
    +
    165 std::vector<Entry> oldTable(table);
    +
    166 // Really this should use the next prime number greater than totalSize * 2
    +
    167 table = std::vector<Entry>(totalSize * 2);
    +
    168 totalSize *= 2;
    +
    169 for (int i = 0; i < oldSize; i++) {
    +
    170 if (oldTable[i].key != -1 && oldTable[i].key != notPresent) {
    +
    171 size--; // Size stays the same (add increments size)
    +
    172 add(oldTable[i].key);
    +
    173 }
    +
    174 }
    +
    175 // delete[] oldTable;
    +
    176 // oldTable.reset();
    +
    177
    +
    178 rehashing = false;
    +
    179 std::cout << "Table was rehashed, new size is: " << totalSize << std::endl;
    +
    180}
    +
    +
    181
    +
    +
    185void add(int key) {
    +
    186 // auto* entry = new Entry();
    +
    187 // entry->key = key;
    +
    188 int index = doubleHash(key, false);
    +
    189 table[index].key = key;
    +
    190 // Load factor greater than 0.5 causes resizing
    +
    191 if (++size / static_cast<double>(totalSize) >= 0.5) {
    +
    192 rehash();
    +
    193 }
    +
    194}
    +
    +
    195
    +
    +
    199void remove(int key) {
    +
    200 int index = doubleHash(key, true);
    +
    201 if (index == notPresent) {
    +
    202 std::cout << "key not found" << std::endl;
    +
    203 }
    +
    204 table[index].key = tomb;
    +
    205 std::cout << "Removal successful, leaving tombstone" << std::endl;
    +
    206 size--;
    +
    207}
    +
    +
    208
    +
    +
    212void addInfo(int key) {
    +
    213 std::cout << "Initial table: ";
    +
    214 display();
    +
    215 std::cout << std::endl;
    +
    216 std::cout << "hash of " << key << " is " << hashFxn(key) << " % "
    +
    217 << totalSize << " == " << hashFxn(key) % totalSize;
    +
    218 std::cout << std::endl;
    +
    219 add(key);
    +
    220 std::cout << "New table: ";
    +
    221 display();
    +
    222}
    +
    +
    223
    +
    +
    227void removalInfo(int key) {
    +
    228 std::cout << "Initial table: ";
    +
    229 display();
    +
    230 std::cout << std::endl;
    +
    231 std::cout << "hash of " << key << " is " << hashFxn(key) << " % "
    +
    232 << totalSize << " == " << hashFxn(key) % totalSize;
    +
    233 std::cout << std::endl;
    +
    234 remove(key);
    +
    235 std::cout << "New table: ";
    +
    236 display();
    +
    237}
    +
    +
    238} // namespace double_hashing
    + +
    244using double_hashing::table;
    +
    245using double_hashing::totalSize;
    +
    246
    +
    +
    250int main() {
    +
    251 int cmd = 0, hash = 0, key = 0;
    +
    252 std::cout << "Enter the initial size of Hash Table. = ";
    +
    253 std::cin >> totalSize;
    +
    254 table = std::vector<Entry>(totalSize);
    +
    255 bool loop = true;
    +
    256 while (loop) {
    +
    257 std::cout << std::endl;
    +
    258 std::cout << "PLEASE CHOOSE -" << std::endl;
    +
    259 std::cout << "1. Add key. (Numeric only)" << std::endl;
    +
    260 std::cout << "2. Remove key." << std::endl;
    +
    261 std::cout << "3. Find key." << std::endl;
    +
    262 std::cout << "4. Generate Hash. (Numeric only)" << std::endl;
    +
    263 std::cout << "5. Display Hash table." << std::endl;
    +
    264 std::cout << "6. Exit." << std::endl;
    +
    265 std::cin >> cmd;
    +
    266 switch (cmd) {
    +
    267 case 1:
    +
    268 std::cout << "Enter key to add = ";
    +
    269 std::cin >> key;
    + +
    271 break;
    +
    272 case 2:
    +
    273 std::cout << "Enter key to remove = ";
    +
    274 std::cin >> key;
    + +
    276 break;
    +
    277 case 3: {
    +
    278 std::cout << "Enter key to search = ";
    +
    279 std::cin >> key;
    +
    280 Entry entry = table[double_hashing::doubleHash(key, true)];
    +
    281 if (entry.key == double_hashing::notPresent) {
    +
    282 std::cout << "Key not present";
    +
    283 }
    +
    284 break;
    +
    285 }
    +
    286 case 4:
    +
    287 std::cout << "Enter element to generate hash = ";
    +
    288 std::cin >> key;
    +
    289 std::cout << "Hash of " << key
    +
    290 << " is = " << double_hashing::hashFxn(key);
    +
    291 break;
    +
    292 case 5:
    + +
    294 break;
    +
    295 default:
    +
    296 loop = false;
    +
    297 break;
    +
    298 // delete[] table;
    +
    299 }
    +
    300 std::cout << std::endl;
    +
    301 }
    +
    302 return 0;
    +
    303}
    +
    +
    +
    + +
    An implementation of hash table using double hashing algorithm.
    +
    size_t hashFxn(int key)
    Hash a key. Uses the STL library's std::hash() function.
    + + +
    bool searchingProber(const Entry &entry, int key)
    +
    size_t otherHashFxn(int key)
    Used for second hash function.
    + + +
    int doubleHash(int key, bool searching)
    Performs double hashing to resolve collisions.
    + +
    bool putProber(const Entry &entry, int key)
    + +
    +
    Entry(int key=notPresent)
    constructor
    +
    int key
    key value
    +
    +
    + + + + diff --git a/d6/d84/classhashing_1_1sha256_1_1_hash.html b/d6/d84/classhashing_1_1sha256_1_1_hash.html index 9fdef9f36..aba9fce68 100644 --- a/d6/d84/classhashing_1_1sha256_1_1_hash.html +++ b/d6/d84/classhashing_1_1sha256_1_1_hash.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: hashing::sha256::Hash Class Reference +TheAlgorithms/C++: hashing::sha256::Hash Class Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -117,25 +134,27 @@ $(function(){initNavTree('d6/d84/classhashing_1_1sha256_1_1_hash.html','../../')
    Collaboration diagram for hashing::sha256::Hash:
    -
    +
    [legend]
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    - + - +

    Public Member Functions

    void update (const std::array< uint32_t, 64 > &blocks)
    void update (const std::array< uint32_t, 64 > &blocks)
     Updates the hash array.
     
    std::string to_string () const
    std::string to_string () const
     Convert the hash to a hexadecimal string.
     
    - +

    Private Attributes

    std::array< uint32_t, 8 > hash
    std::array< uint32_t, 8 > hash
     

    Detailed Description

    Contains hash array and functions to update it and convert it to a hexadecimal string.

    + +

    Definition at line 40 of file sha256.cpp.

    Member Function Documentation

    ◆ to_string()

    @@ -144,7 +163,7 @@ Private Attributes
    - + @@ -153,25 +172,17 @@ Private Attributes

    Convert the hash to a hexadecimal string.

    -
    Returns
    std::string Final hash value
    -
    130 {
    - -
    132 for (size_t i = 0; i < 8; ++i) {
    -
    133 ss << std::hex << std::setfill('0') << std::setw(8) << hash[i];
    -
    134 }
    -
    135 return ss.str();
    -
    136}
    - -
    T hex(T... args)
    -
    T setfill(T... args)
    -
    T setw(T... args)
    -
    T str(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    +
    Returns
    std::string Final hash value
    +

    Definition at line 130 of file sha256.cpp.

    +
    130 {
    +
    131 std::stringstream ss;
    +
    132 for (size_t i = 0; i < 8; ++i) {
    +
    133 ss << std::hex << std::setfill('0') << std::setw(8) << hash[i];
    +
    134 }
    +
    135 return ss.str();
    +
    136}
    +
    @@ -183,7 +194,7 @@ Here is the call graph for this function: - +
    std::string hashing::sha256::Hash::to_string std::string hashing::sha256::Hash::to_string ( ) const
    void hashing::sha256::Hash::update (const std::array< uint32_t, 64 > & blocks)const std::array< uint32_t, 64 > & blocks)
    @@ -197,10 +208,12 @@ Here is the call graph for this function:
    Returns
    void
    + +

    Definition at line 67 of file sha256.cpp.

    67 {
    68 // Initialize array of round constants with first 32 bits of the fractional
    69 // parts of the cube roots of the first 64 primes 2..311
    -
    70 const std::array<uint32_t, 64> round_constants = {
    +
    70 const std::array<uint32_t, 64> round_constants = {
    71 0x428A2F98, 0x71374491, 0xB5C0FBCF, 0xE9B5DBA5, 0x3956C25B, 0x59F111F1,
    72 0x923F82A4, 0xAB1C5ED5, 0xD807AA98, 0x12835B01, 0x243185BE, 0x550C7DC3,
    73 0x72BE5D74, 0x80DEB1FE, 0x9BDC06A7, 0xC19BF174, 0xE49B69C1, 0xEFBE4786,
    @@ -255,17 +268,11 @@ Here is the call graph for this function:
    122 hash[6] += g;
    123 hash[7] += h;
    124}
    - -
    double g(double x)
    Another test function.
    Definition composite_simpson_rule.cpp:115
    -
    double f(double x)
    A function f(x) that will be used to test the method.
    Definition composite_simpson_rule.cpp:113
    -
    int h(int key)
    Definition hash_search.cpp:45
    -
    uint32_t right_rotate(uint32_t n, size_t rotate)
    Rotates the bits of a 32-bit unsigned integer.
    Definition sha256.cpp:58
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    double g(double x)
    Another test function.
    +
    double f(double x)
    A function f(x) that will be used to test the method.
    +
    int h(int key)
    +
    uint32_t right_rotate(uint32_t n, size_t rotate)
    Rotates the bits of a 32-bit unsigned integer.
    Definition sha256.cpp:58
    +

    Member Data Documentation

    @@ -279,7 +286,7 @@ Here is the call graph for this function: - +
    std::array<uint32_t, 8> hashing::sha256::Hash::hashstd::array<uint32_t, 8> hashing::sha256::Hash::hash
    @@ -291,14 +298,16 @@ Here is the call graph for this function: Initial value:
    = {0x6A09E667, 0xBB67AE85, 0x3C6EF372,
    0xA54FF53A, 0x510E527F, 0x9B05688C,
    0x1F83D9AB, 0x5BE0CD19}
    -
    43 {0x6A09E667, 0xBB67AE85, 0x3C6EF372,
    +
    +

    Definition at line 43 of file sha256.cpp.

    +
    43 {0x6A09E667, 0xBB67AE85, 0x3C6EF372,
    44 0xA54FF53A, 0x510E527F, 0x9B05688C,
    45 0x1F83D9AB, 0x5BE0CD19};

    The documentation for this class was generated from the following file: diff --git a/d6/d84/classhashing_1_1sha256_1_1_hash_a0896c27ac39c780e0ee62417fdd0b9d3_cgraph.map b/d6/d84/classhashing_1_1sha256_1_1_hash_a0896c27ac39c780e0ee62417fdd0b9d3_cgraph.map deleted file mode 100644 index c92f6882c..000000000 --- a/d6/d84/classhashing_1_1sha256_1_1_hash_a0896c27ac39c780e0ee62417fdd0b9d3_cgraph.map +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/d6/d84/classhashing_1_1sha256_1_1_hash_a0896c27ac39c780e0ee62417fdd0b9d3_cgraph.md5 b/d6/d84/classhashing_1_1sha256_1_1_hash_a0896c27ac39c780e0ee62417fdd0b9d3_cgraph.md5 deleted file mode 100644 index 73a938fd8..000000000 --- a/d6/d84/classhashing_1_1sha256_1_1_hash_a0896c27ac39c780e0ee62417fdd0b9d3_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -a407f26e659d1a6adf3d7306909d2352 \ No newline at end of file diff --git a/d6/d84/classhashing_1_1sha256_1_1_hash_a0896c27ac39c780e0ee62417fdd0b9d3_cgraph.svg b/d6/d84/classhashing_1_1sha256_1_1_hash_a0896c27ac39c780e0ee62417fdd0b9d3_cgraph.svg deleted file mode 100644 index 56b4e0b8c..000000000 --- a/d6/d84/classhashing_1_1sha256_1_1_hash_a0896c27ac39c780e0ee62417fdd0b9d3_cgraph.svg +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - - - - - - - -hashing::sha256::Hash::update - - -Node1 - - -hashing::sha256::Hash -::update - - - - - -Node2 - - -h - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -hashing::sha256::right -_rotate - - - - - -Node1->Node3 - - - - - - - - -Node3->Node3 - - - - - - - - - - - - - diff --git a/d6/d84/classhashing_1_1sha256_1_1_hash_a0896c27ac39c780e0ee62417fdd0b9d3_cgraph_org.svg b/d6/d84/classhashing_1_1sha256_1_1_hash_a0896c27ac39c780e0ee62417fdd0b9d3_cgraph_org.svg deleted file mode 100644 index 7442dacc0..000000000 --- a/d6/d84/classhashing_1_1sha256_1_1_hash_a0896c27ac39c780e0ee62417fdd0b9d3_cgraph_org.svg +++ /dev/null @@ -1,68 +0,0 @@ - - - - - - -hashing::sha256::Hash::update - - -Node1 - - -hashing::sha256::Hash -::update - - - - - -Node2 - - -h - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -hashing::sha256::right -_rotate - - - - - -Node1->Node3 - - - - - - - - -Node3->Node3 - - - - - - - - diff --git a/d6/d84/classhashing_1_1sha256_1_1_hash_a4581f503a263d8e928e5716d54477e08_cgraph.map b/d6/d84/classhashing_1_1sha256_1_1_hash_a4581f503a263d8e928e5716d54477e08_cgraph.map deleted file mode 100644 index 8d6c5043d..000000000 --- a/d6/d84/classhashing_1_1sha256_1_1_hash_a4581f503a263d8e928e5716d54477e08_cgraph.map +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/d6/d84/classhashing_1_1sha256_1_1_hash_a4581f503a263d8e928e5716d54477e08_cgraph.md5 b/d6/d84/classhashing_1_1sha256_1_1_hash_a4581f503a263d8e928e5716d54477e08_cgraph.md5 deleted file mode 100644 index f1205631d..000000000 --- a/d6/d84/classhashing_1_1sha256_1_1_hash_a4581f503a263d8e928e5716d54477e08_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -d42c38695811fff7f1e1d2f2620acfde \ No newline at end of file diff --git a/d6/d84/classhashing_1_1sha256_1_1_hash_a4581f503a263d8e928e5716d54477e08_cgraph.svg b/d6/d84/classhashing_1_1sha256_1_1_hash_a4581f503a263d8e928e5716d54477e08_cgraph.svg deleted file mode 100644 index e1c082342..000000000 --- a/d6/d84/classhashing_1_1sha256_1_1_hash_a4581f503a263d8e928e5716d54477e08_cgraph.svg +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - - - - - - - -hashing::sha256::Hash::to_string - - -Node1 - - -hashing::sha256::Hash -::to_string - - - - - -Node2 - - -std::hex - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::setfill - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::setw - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::stringstream::str - - - - - -Node1->Node5 - - - - - - - - - - - - - diff --git a/d6/d84/classhashing_1_1sha256_1_1_hash_a4581f503a263d8e928e5716d54477e08_cgraph_org.svg b/d6/d84/classhashing_1_1sha256_1_1_hash_a4581f503a263d8e928e5716d54477e08_cgraph_org.svg deleted file mode 100644 index fc01bf340..000000000 --- a/d6/d84/classhashing_1_1sha256_1_1_hash_a4581f503a263d8e928e5716d54477e08_cgraph_org.svg +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - -hashing::sha256::Hash::to_string - - -Node1 - - -hashing::sha256::Hash -::to_string - - - - - -Node2 - - -std::hex - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::setfill - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::setw - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::stringstream::str - - - - - -Node1->Node5 - - - - - - - - diff --git a/d6/d84/namespaceutils.html b/d6/d84/namespaceutils.html index 68faafb30..e3f3d7731 100644 --- a/d6/d84/namespaceutils.html +++ b/d6/d84/namespaceutils.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: utils Namespace Reference +TheAlgorithms/C++: utils Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/d6/d8d/namespacemorse.html b/d6/d8d/namespacemorse.html index 7a96ef5ac..0470b597c 100644 --- a/d6/d8d/namespacemorse.html +++ b/d6/d8d/namespacemorse.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: morse Namespace Reference +TheAlgorithms/C++: morse Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/d6/d9d/large__factorial_8cpp.html b/d6/d9d/large__factorial_8cpp.html index 1bd3f4218..2526abcd5 100644 --- a/d6/d9d/large__factorial_8cpp.html +++ b/d6/d9d/large__factorial_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: math/large_factorial.cpp File Reference +TheAlgorithms/C++: math/large_factorial.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + @@ -121,7 +138,9 @@ Include dependency graph for large_factorial.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -135,6 +154,8 @@ Functions

    Compute factorial of any arbitratily large number/.

    Author
    Krishna Vedala
    See also
    factorial.cpp
    + +

    Definition in file large_factorial.cpp.

    Function Documentation

    ◆ main()

    @@ -155,29 +176,31 @@ Functions

    Functions

    bool test1 ()

    Main program

    + +

    Definition at line 89 of file large_factorial.cpp.

    89 {
    90 int number, i;
    91
    92 if (argc == 2) {
    -
    93 number = atoi(argv[1]);
    +
    93 number = atoi(argv[1]);
    94 } else {
    -
    95 std::cout << "Enter the value of n(n starts from 0 ): ";
    -
    96 std::cin >> number;
    +
    95 std::cout << "Enter the value of n(n starts from 0 ): ";
    +
    96 std::cin >> number;
    97 }
    98
    100
    -
    101 std::clock_t start_time = std::clock();
    +
    101 std::clock_t start_time = std::clock();
    102 for (i = 2; i <= number; i++) /* Multiply every number from 2 thru N */
    103 result *= i;
    -
    104 std::clock_t end_time = std::clock();
    +
    104 std::clock_t end_time = std::clock();
    105 double time_taken =
    106 static_cast<double>(end_time - start_time) / CLOCKS_PER_SEC;
    107
    -
    108 std::cout << number << "! = " << result << std::endl
    -
    109 << "Number of digits: " << result.num_digits() << std::endl
    -
    110 << "Time taken: " << std::scientific << time_taken << " s"
    -
    111 << std::endl;
    +
    108 std::cout << number << "! = " << result << std::endl
    +
    109 << "Number of digits: " << result.num_digits() << std::endl
    +
    110 << "Time taken: " << std::scientific << time_taken << " s"
    +
    111 << std::endl;
    112
    113 test1();
    114 test2();
    @@ -185,23 +208,11 @@ Functions
    116
    117 return 0;
    118}
    -
    T atoi(T... args)
    - - -
    Definition large_number.h:24
    -
    T clock(T... args)
    - -
    T endl(T... args)
    -
    uint64_t result(uint64_t n)
    Definition fibonacci_sum.cpp:77
    -
    T scientific(T... args)
    -
    bool test1()
    Definition large_factorial.cpp:17
    -
    bool test2()
    Definition large_factorial.cpp:54
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + +
    uint64_t result(uint64_t n)
    +
    bool test1()
    +
    bool test2()
    +
    @@ -219,8 +230,10 @@ Here is the call graph for this function:

    Test implementation for 10! Result must be 3628800.

    Returns
    True if test pass else False
    + +

    Definition at line 17 of file large_factorial.cpp.

    17 {
    -
    18 std::cout << "---- Check 1\t";
    +
    18 std::cout << "---- Check 1\t";
    19 unsigned int i, number = 10;
    21 for (i = 2; i <= number; i++) /* Multiply every number from 2 thru N */
    @@ -229,32 +242,26 @@ Here is the call graph for this function:
    24 const char *known_reslt = "3628800";
    25
    26 /* check 1 */
    -
    27 if (strlen(known_reslt) != result.num_digits()) {
    -
    28 std::cerr << "Result lengths dont match! " << strlen(known_reslt)
    -
    29 << " != " << result.num_digits() << std::endl;
    +
    27 if (strlen(known_reslt) != result.num_digits()) {
    +
    28 std::cerr << "Result lengths dont match! " << strlen(known_reslt)
    +
    29 << " != " << result.num_digits() << std::endl;
    30 return false;
    31 }
    32
    33 const size_t N = result.num_digits();
    34 for (i = 0; i < N; i++) {
    35 if (known_reslt[i] != result.digit_char(i)) {
    -
    36 std::cerr << i << "^th digit mismatch! " << known_reslt[i]
    -
    37 << " != " << result.digit_char(i) << std::endl;
    +
    36 std::cerr << i << "^th digit mismatch! " << known_reslt[i]
    +
    37 << " != " << result.digit_char(i) << std::endl;
    38 return false;
    39 }
    40 }
    41
    -
    42 std::cout << "Passed!" << std::endl;
    +
    42 std::cout << "Passed!" << std::endl;
    43 return true;
    44}
    -
    constexpr uint32_t N
    A struct to represent sparse table for min() as their invariant function, for the given array A....
    Definition sparse_table.cpp:48
    -
    T strlen(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    constexpr uint32_t N
    A struct to represent sparse table for min() as their invariant function, for the given array A....
    + @@ -275,8 +282,10 @@ Here is the call graph for this function:
    9993229915608941463976156518286253697920827223758251185210916864000000
    000000000000000000
    Returns
    True if test pass else False
    + +

    Definition at line 54 of file large_factorial.cpp.

    54 {
    -
    55 std::cout << "---- Check 2\t";
    +
    55 std::cout << "---- Check 2\t";
    56 unsigned int i, number = 100;
    58 for (i = 2; i <= number; i++) /* Multiply every number from 2 thru N */
    @@ -288,30 +297,25 @@ Here is the call graph for this function:
    64 "000000000000000000";
    65
    66 /* check 1 */
    -
    67 if (strlen(known_reslt) != result.num_digits()) {
    -
    68 std::cerr << "Result lengths dont match! " << strlen(known_reslt)
    -
    69 << " != " << result.num_digits() << std::endl;
    +
    67 if (strlen(known_reslt) != result.num_digits()) {
    +
    68 std::cerr << "Result lengths dont match! " << strlen(known_reslt)
    +
    69 << " != " << result.num_digits() << std::endl;
    70 return false;
    71 }
    72
    73 const size_t N = result.num_digits();
    74 for (i = 0; i < N; i++) {
    75 if (known_reslt[i] != result.digit_char(i)) {
    -
    76 std::cerr << i << "^th digit mismatch! " << known_reslt[i]
    -
    77 << " != " << result.digit_char(i) << std::endl;
    +
    76 std::cerr << i << "^th digit mismatch! " << known_reslt[i]
    +
    77 << " != " << result.digit_char(i) << std::endl;
    78 return false;
    79 }
    80 }
    81
    -
    82 std::cout << "Passed!" << std::endl;
    +
    82 std::cout << "Passed!" << std::endl;
    83 return true;
    84}
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + diff --git a/d6/d9d/large__factorial_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.map b/d6/d9d/large__factorial_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.map deleted file mode 100644 index 1e7f0820d..000000000 --- a/d6/d9d/large__factorial_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.map +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/d6/d9d/large__factorial_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.md5 b/d6/d9d/large__factorial_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.md5 deleted file mode 100644 index 9df960541..000000000 --- a/d6/d9d/large__factorial_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -9ae1761f5ea9d6db00149f47d44b634a \ No newline at end of file diff --git a/d6/d9d/large__factorial_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.svg b/d6/d9d/large__factorial_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.svg deleted file mode 100644 index 11541d54d..000000000 --- a/d6/d9d/large__factorial_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.svg +++ /dev/null @@ -1,155 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -std::clock - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::scientific - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -test1 - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -test2 - - - - - -Node1->Node6 - - - - - - - - -Node5->Node3 - - - - - - - - -Node6->Node3 - - - - - - - - - - - - - diff --git a/d6/d9d/large__factorial_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph_org.svg b/d6/d9d/large__factorial_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph_org.svg deleted file mode 100644 index 6388eef64..000000000 --- a/d6/d9d/large__factorial_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph_org.svg +++ /dev/null @@ -1,129 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -std::clock - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::scientific - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -test1 - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -test2 - - - - - -Node1->Node6 - - - - - - - - -Node5->Node3 - - - - - - - - -Node6->Node3 - - - - - - - - diff --git a/d6/d9d/large__factorial_8cpp_a3f93b60e229b6683e24c4754a7106ee8_cgraph.map b/d6/d9d/large__factorial_8cpp_a3f93b60e229b6683e24c4754a7106ee8_cgraph.map deleted file mode 100644 index c45916312..000000000 --- a/d6/d9d/large__factorial_8cpp_a3f93b60e229b6683e24c4754a7106ee8_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d6/d9d/large__factorial_8cpp_a3f93b60e229b6683e24c4754a7106ee8_cgraph.md5 b/d6/d9d/large__factorial_8cpp_a3f93b60e229b6683e24c4754a7106ee8_cgraph.md5 deleted file mode 100644 index 737ebf09c..000000000 --- a/d6/d9d/large__factorial_8cpp_a3f93b60e229b6683e24c4754a7106ee8_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -c82d94cab4d14bbd1876c473e3df25a1 \ No newline at end of file diff --git a/d6/d9d/large__factorial_8cpp_a3f93b60e229b6683e24c4754a7106ee8_cgraph.svg b/d6/d9d/large__factorial_8cpp_a3f93b60e229b6683e24c4754a7106ee8_cgraph.svg deleted file mode 100644 index 10c6a759b..000000000 --- a/d6/d9d/large__factorial_8cpp_a3f93b60e229b6683e24c4754a7106ee8_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -test1 - - -Node1 - - -test1 - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d6/d9d/large__factorial_8cpp_a3f93b60e229b6683e24c4754a7106ee8_cgraph_org.svg b/d6/d9d/large__factorial_8cpp_a3f93b60e229b6683e24c4754a7106ee8_cgraph_org.svg deleted file mode 100644 index 3f3c94efb..000000000 --- a/d6/d9d/large__factorial_8cpp_a3f93b60e229b6683e24c4754a7106ee8_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -test1 - - -Node1 - - -test1 - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - diff --git a/d6/d9d/large__factorial_8cpp_a76aae4778fbe89a3d59fd61fbc050cfa_cgraph.map b/d6/d9d/large__factorial_8cpp_a76aae4778fbe89a3d59fd61fbc050cfa_cgraph.map deleted file mode 100644 index 5f8ade4d6..000000000 --- a/d6/d9d/large__factorial_8cpp_a76aae4778fbe89a3d59fd61fbc050cfa_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d6/d9d/large__factorial_8cpp_a76aae4778fbe89a3d59fd61fbc050cfa_cgraph.md5 b/d6/d9d/large__factorial_8cpp_a76aae4778fbe89a3d59fd61fbc050cfa_cgraph.md5 deleted file mode 100644 index 22c916591..000000000 --- a/d6/d9d/large__factorial_8cpp_a76aae4778fbe89a3d59fd61fbc050cfa_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -10e4e477c026513c1f33e3869f15052d \ No newline at end of file diff --git a/d6/d9d/large__factorial_8cpp_a76aae4778fbe89a3d59fd61fbc050cfa_cgraph.svg b/d6/d9d/large__factorial_8cpp_a76aae4778fbe89a3d59fd61fbc050cfa_cgraph.svg deleted file mode 100644 index 45eacaf27..000000000 --- a/d6/d9d/large__factorial_8cpp_a76aae4778fbe89a3d59fd61fbc050cfa_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -test2 - - -Node1 - - -test2 - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d6/d9d/large__factorial_8cpp_a76aae4778fbe89a3d59fd61fbc050cfa_cgraph_org.svg b/d6/d9d/large__factorial_8cpp_a76aae4778fbe89a3d59fd61fbc050cfa_cgraph_org.svg deleted file mode 100644 index 6ccbed777..000000000 --- a/d6/d9d/large__factorial_8cpp_a76aae4778fbe89a3d59fd61fbc050cfa_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -test2 - - -Node1 - - -test2 - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - diff --git a/d6/d9d/large__factorial_8cpp_source.html b/d6/d9d/large__factorial_8cpp_source.html new file mode 100644 index 000000000..c254e3dff --- /dev/null +++ b/d6/d9d/large__factorial_8cpp_source.html @@ -0,0 +1,246 @@ + + + + + + + + +TheAlgorithms/C++: math/large_factorial.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    large_factorial.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    8#include <cstring>
    +
    9#include <ctime>
    +
    10#include <iostream>
    +
    11
    +
    12#include "./large_number.h"
    +
    13
    +
    +
    17bool test1() {
    +
    18 std::cout << "---- Check 1\t";
    +
    19 unsigned int i, number = 10;
    +
    20 large_number result;
    +
    21 for (i = 2; i <= number; i++) /* Multiply every number from 2 thru N */
    +
    22 result *= i;
    +
    23
    +
    24 const char *known_reslt = "3628800";
    +
    25
    +
    26 /* check 1 */
    +
    27 if (strlen(known_reslt) != result.num_digits()) {
    +
    28 std::cerr << "Result lengths dont match! " << strlen(known_reslt)
    +
    29 << " != " << result.num_digits() << std::endl;
    +
    30 return false;
    +
    31 }
    +
    32
    +
    33 const size_t N = result.num_digits();
    +
    34 for (i = 0; i < N; i++) {
    +
    35 if (known_reslt[i] != result.digit_char(i)) {
    +
    36 std::cerr << i << "^th digit mismatch! " << known_reslt[i]
    +
    37 << " != " << result.digit_char(i) << std::endl;
    +
    38 return false;
    +
    39 }
    +
    40 }
    +
    41
    +
    42 std::cout << "Passed!" << std::endl;
    +
    43 return true;
    +
    44}
    +
    +
    45
    +
    +
    54bool test2() {
    +
    55 std::cout << "---- Check 2\t";
    +
    56 unsigned int i, number = 100;
    +
    57 large_number result;
    +
    58 for (i = 2; i <= number; i++) /* Multiply every number from 2 thru N */
    +
    59 result *= i;
    +
    60
    +
    61 const char *known_reslt =
    +
    62 "9332621544394415268169923885626670049071596826438162146859296389521759"
    +
    63 "9993229915608941463976156518286253697920827223758251185210916864000000"
    +
    64 "000000000000000000";
    +
    65
    +
    66 /* check 1 */
    +
    67 if (strlen(known_reslt) != result.num_digits()) {
    +
    68 std::cerr << "Result lengths dont match! " << strlen(known_reslt)
    +
    69 << " != " << result.num_digits() << std::endl;
    +
    70 return false;
    +
    71 }
    +
    72
    +
    73 const size_t N = result.num_digits();
    +
    74 for (i = 0; i < N; i++) {
    +
    75 if (known_reslt[i] != result.digit_char(i)) {
    +
    76 std::cerr << i << "^th digit mismatch! " << known_reslt[i]
    +
    77 << " != " << result.digit_char(i) << std::endl;
    +
    78 return false;
    +
    79 }
    +
    80 }
    +
    81
    +
    82 std::cout << "Passed!" << std::endl;
    +
    83 return true;
    +
    84}
    +
    +
    85
    +
    +
    89int main(int argc, char *argv[]) {
    +
    90 int number, i;
    +
    91
    +
    92 if (argc == 2) {
    +
    93 number = atoi(argv[1]);
    +
    94 } else {
    +
    95 std::cout << "Enter the value of n(n starts from 0 ): ";
    +
    96 std::cin >> number;
    +
    97 }
    +
    98
    +
    99 large_number result;
    +
    100
    +
    101 std::clock_t start_time = std::clock();
    +
    102 for (i = 2; i <= number; i++) /* Multiply every number from 2 thru N */
    +
    103 result *= i;
    +
    104 std::clock_t end_time = std::clock();
    +
    105 double time_taken =
    +
    106 static_cast<double>(end_time - start_time) / CLOCKS_PER_SEC;
    +
    107
    +
    108 std::cout << number << "! = " << result << std::endl
    +
    109 << "Number of digits: " << result.num_digits() << std::endl
    +
    110 << "Time taken: " << std::scientific << time_taken << " s"
    +
    111 << std::endl;
    +
    112
    +
    113 test1();
    +
    114 test2();
    +
    115 result.test();
    +
    116
    +
    117 return 0;
    +
    118}
    +
    + +
    int main()
    Main function.
    +
    bool test1()
    +
    bool test2()
    +
    Library to perform arithmatic operations on arbitrarily large numbers.
    +
    +
    + + + + diff --git a/d6/d9e/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info__coll__graph.map b/d6/d9e/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info__coll__graph.map index 95183a5ff..2eb834511 100644 --- a/d6/d9e/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info__coll__graph.map +++ b/d6/d9e/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info__coll__graph.map @@ -1,5 +1,5 @@ - + diff --git a/d6/d9e/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info__coll__graph.md5 b/d6/d9e/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info__coll__graph.md5 index bd39038a7..ac0210835 100644 --- a/d6/d9e/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info__coll__graph.md5 +++ b/d6/d9e/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info__coll__graph.md5 @@ -1 +1 @@ -d66a84d1b8a4a1b579ae25383f9596ac \ No newline at end of file +7366219303860b3d8c01928e0541c81e \ No newline at end of file diff --git a/d6/d9e/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info__coll__graph.svg b/d6/d9e/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info__coll__graph.svg index eb539d500..1c77811b6 100644 --- a/d6/d9e/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info__coll__graph.svg +++ b/d6/d9e/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info__coll__graph.svg @@ -33,7 +33,7 @@ Node2 - + std::shared_ptr< Puzzle > diff --git a/d6/d9e/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info__coll__graph_org.svg b/d6/d9e/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info__coll__graph_org.svg index 99aee1b3f..914fb177c 100644 --- a/d6/d9e/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info__coll__graph_org.svg +++ b/d6/d9e/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info__coll__graph_org.svg @@ -22,7 +22,7 @@ Node2 - + std::shared_ptr< Puzzle > diff --git a/d6/da2/namespacevigenere.html b/d6/da2/namespacevigenere.html index 3aafeb955..f5ca9ddb9 100644 --- a/d6/da2/namespacevigenere.html +++ b/d6/da2/namespacevigenere.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: vigenere Namespace Reference +TheAlgorithms/C++: vigenere Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/d6/da9/odd__even__sort_8cpp_source.html b/d6/da9/odd__even__sort_8cpp_source.html new file mode 100644 index 000000000..ec5a62634 --- /dev/null +++ b/d6/da9/odd__even__sort_8cpp_source.html @@ -0,0 +1,191 @@ + + + + + + + + +TheAlgorithms/C++: sorting/odd_even_sort.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + + +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    odd_even_sort.cpp
    +
    +
    +
    1/* C++ implementation Odd Even Sort */
    +
    2#include <iostream>
    +
    3#include <vector>
    +
    4
    +
    5using namespace std;
    +
    6
    +
    7void oddEven(vector<int> &arr, int size) {
    +
    8 bool sorted = false;
    +
    9 while (!sorted) {
    +
    10 sorted = true;
    +
    11 for (int i = 1; i < size - 1; i += 2) // Odd
    +
    12 {
    +
    13 if (arr[i] > arr[i + 1]) {
    +
    14 swap(arr[i], arr[i + 1]);
    +
    15 sorted = false;
    +
    16 }
    +
    17 }
    +
    18
    +
    19 for (int i = 0; i < size - 1; i += 2) // Even
    +
    20 {
    +
    21 if (arr[i] > arr[i + 1]) {
    +
    22 swap(arr[i], arr[i + 1]);
    +
    23 sorted = false;
    +
    24 }
    +
    25 }
    +
    26 }
    +
    27}
    +
    28
    +
    29void show(vector<int> A, int size) {
    +
    30 int i;
    +
    31 for (i = 0; i < size; i++) cout << A[i] << "\n";
    +
    32}
    +
    33
    +
    34int main() {
    +
    35 int size, temp;
    +
    36 cout << "\nEnter the number of elements : ";
    +
    37 cin >> size;
    +
    38
    +
    39 vector<int> arr;
    +
    40
    +
    41 cout << "\nEnter the unsorted elements : \n";
    +
    42
    +
    43 for (int i = 0; i < size; ++i) {
    +
    44 cin >> temp;
    +
    45 arr.push_back(temp);
    +
    46 }
    +
    47
    +
    48 oddEven(arr, size);
    +
    49
    +
    50 cout << "Sorted array\n";
    +
    51 show(arr, size);
    +
    52 return 0;
    +
    53}
    +
    int main()
    Main function.
    +
    +
    + + + + diff --git a/d6/dab/namespacetree__234.html b/d6/dab/namespacetree__234.html index bb3ede97d..91bc5c818 100644 --- a/d6/dab/namespacetree__234.html +++ b/d6/dab/namespacetree__234.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: tree_234 Namespace Reference +TheAlgorithms/C++: tree_234 Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/d6/dae/classothers_1_1lru__cache_1_1_l_r_u_cache.html b/d6/dae/classothers_1_1lru__cache_1_1_l_r_u_cache.html index 8e47be331..30300e51c 100644 --- a/d6/dae/classothers_1_1lru__cache_1_1_l_r_u_cache.html +++ b/d6/dae/classothers_1_1lru__cache_1_1_l_r_u_cache.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: others::lru_cache::LRUCache Class Reference +TheAlgorithms/C++: others::lru_cache::LRUCache Class Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + @@ -117,7 +134,7 @@ $(function(){initNavTree('d6/dae/classothers_1_1lru__cache_1_1_l_r_u_cache.html'
    Collaboration diagram for others::lru_cache::LRUCache:
    -
    +
    [legend]
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++

    @@ -140,17 +157,14 @@ Public Member Functions

    - - + + - - + + - - + + @@ -160,6 +174,8 @@ uint64_t 

    Detailed Description

    LRU cache class.

    + +

    Definition at line 68 of file lru_cache.cpp.

    Constructor & Destructor Documentation

    ◆ LRUCache()

    @@ -191,8 +207,10 @@ uint64_t  + +

    Definition at line 85 of file lru_cache.cpp.

    85{ pageFrame = pf; }
    -
    uint64_t pageFrame
    Page frame, or total size of the cache.
    Definition lru_cache.cpp:69
    +
    uint64_t pageFrame
    Page frame, or total size of the cache.
    Definition lru_cache.cpp:69
    @@ -222,21 +240,16 @@ uint64_t A function to display the current cache.

    Returns
    Void
    + +

    Definition at line 121 of file lru_cache.cpp.

    121 {
    122 for (uint64_t &it : cache) {
    -
    123 std::cout << it << " ";
    +
    123 std::cout << it << " ";
    124 }
    - +
    125 std::cout << std::endl;
    126 }
    - -
    std::list< uint64_t > cache
    Cache linked list (using the STL)
    Definition lru_cache.cpp:70
    -
    T endl(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    std::list< uint64_t > cache
    Cache linked list (using the STL)
    Definition lru_cache.cpp:70
    + @@ -264,8 +277,10 @@ Here is the call graph for this function:

    A function to get page hits.

    Returns
    int
    + +

    Definition at line 131 of file lru_cache.cpp.

    131{ return hits; }
    -
    uint64_t hits
    was found in cache.
    Definition lru_cache.cpp:74
    +
    uint64_t hits
    was found in cache.
    Definition lru_cache.cpp:74
    @@ -294,8 +309,10 @@ Here is the call graph for this function:

    A function to get page fault.

    Returns
    int
    + +

    Definition at line 136 of file lru_cache.cpp.

    136{ return pageFault; }
    -
    uint64_t pageFault
    Definition lru_cache.cpp:77
    +
    @@ -331,48 +348,63 @@ Here is the call graph for this function:
    Returns
    void

    < Increase the page fault by one.

    + +

    Definition at line 92 of file lru_cache.cpp.

    92 {
    93 // If the page requested not in cache.
    -
    94 if (pageMap.find(page) == pageMap.end()) {
    -
    95 pageFault++; ///< Increase the page fault by one.
    +
    94 if (pageMap.find(page) == pageMap.end()) {
    +
    95 pageFault++;
    96
    97 // Check if the cache is full
    -
    98 if (cache.size() == pageFrame) {
    +
    98 if (cache.size() == pageFrame) {
    99 // delete the last page from cache
    -
    100 uint64_t lastPage = cache.back();
    -
    101 cache.pop_back();
    -
    102 pageMap.erase(lastPage);
    +
    100 uint64_t lastPage = cache.back();
    +
    101 cache.pop_back();
    +
    102 pageMap.erase(lastPage);
    103 }
    104 }
    105 // The requested page is in the cache
    106 else {
    107 hits++;
    108 // present in cache, erase from current position to bring in front
    -
    109 cache.erase(pageMap[page]);
    +
    109 cache.erase(pageMap[page]);
    110 }
    111 // Push it in the front of the cache and update the page reference in
    112 // page map.
    -
    113 cache.push_front(page);
    -
    114 pageMap[page] = cache.begin();
    +
    113 cache.push_front(page);
    +
    114 pageMap[page] = cache.begin();
    115 }
    -
    T back(T... args)
    -
    T begin(T... args)
    -
    std::unordered_map< uint64_t, std::list< uint64_t >::iterator > pageMap
    Hash map containing pages and their addresses.
    Definition lru_cache.cpp:72
    -
    T end(T... args)
    -
    T erase(T... args)
    -
    T find(T... args)
    -
    T pop_back(T... args)
    -
    T push_front(T... args)
    -
    T size(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    std::unordered_map< uint64_t, std::list< uint64_t >::iterator > pageMap
    Hash map containing pages and their addresses.
    Definition lru_cache.cpp:72
    +

    Member Data Documentation

    + +

    ◆ cache

    + +
    +
    +

    Private Attributes

    -uint64_t pageFrame
     Page frame, or total size of the cache.
    uint64_t pageFrame
     Page frame, or total size of the cache.
     
    -std::list< uint64_t > cache
     Cache linked list (using the STL)
    std::list< uint64_t > cache
     Cache linked list (using the STL)
     
    -std::unordered_map< uint64_t, std::list< uint64_t >::iterator > pageMap
     Hash map containing pages and their addresses.
    std::unordered_map< uint64_t, std::list< uint64_t >::iterator > pageMap
     Hash map containing pages and their addresses.
     
    uint64_t hits
     was found in cache.
    pageFrame pageFrame pageFrame
    + + + + +
    + + + + +
    std::list<uint64_t> others::lru_cache::LRUCache::cache
    +
    +private
    +
    + +

    Cache linked list (using the STL)

    + +

    Definition at line 70 of file lru_cache.cpp.

    + +
    +

    ◆ hits

    @@ -398,6 +430,8 @@ Here is the call graph for this function:

    was found in cache.

    Total number of hits, or total number of times a page

    +

    Definition at line 74 of file lru_cache.cpp.

    + @@ -421,10 +455,64 @@ Here is the call graph for this function:

    Total number of miss/page fault, or total number of times a page was not found in cache

    +

    Definition at line 77 of file lru_cache.cpp.

    + +
    + + +

    ◆ pageFrame

    + +
    +
    + + + + + +
    + + + + +
    uint64_t others::lru_cache::LRUCache::pageFrame
    +
    +private
    +
    + +

    Page frame, or total size of the cache.

    + +

    Definition at line 69 of file lru_cache.cpp.

    + +
    +
    + +

    ◆ pageMap

    + +
    +
    + + + + + +
    + + + + +
    std::unordered_map<uint64_t, std::list<uint64_t>::iterator> others::lru_cache::LRUCache::pageMap
    +
    +private
    +
    + +

    Hash map containing pages and their addresses.

    + +

    Definition at line 72 of file lru_cache.cpp.

    +

    The documentation for this class was generated from the following file: diff --git a/d6/dae/classothers_1_1lru__cache_1_1_l_r_u_cache_a7dbf04bf7e1472c48639694f0b110602_cgraph.map b/d6/dae/classothers_1_1lru__cache_1_1_l_r_u_cache_a7dbf04bf7e1472c48639694f0b110602_cgraph.map deleted file mode 100644 index b9f7a1c49..000000000 --- a/d6/dae/classothers_1_1lru__cache_1_1_l_r_u_cache_a7dbf04bf7e1472c48639694f0b110602_cgraph.map +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - diff --git a/d6/dae/classothers_1_1lru__cache_1_1_l_r_u_cache_a7dbf04bf7e1472c48639694f0b110602_cgraph.md5 b/d6/dae/classothers_1_1lru__cache_1_1_l_r_u_cache_a7dbf04bf7e1472c48639694f0b110602_cgraph.md5 deleted file mode 100644 index 0cbffcaf4..000000000 --- a/d6/dae/classothers_1_1lru__cache_1_1_l_r_u_cache_a7dbf04bf7e1472c48639694f0b110602_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -bbd6ca0cbda91d099128a3402b773d6f \ No newline at end of file diff --git a/d6/dae/classothers_1_1lru__cache_1_1_l_r_u_cache_a7dbf04bf7e1472c48639694f0b110602_cgraph.svg b/d6/dae/classothers_1_1lru__cache_1_1_l_r_u_cache_a7dbf04bf7e1472c48639694f0b110602_cgraph.svg deleted file mode 100644 index 99205a7ec..000000000 --- a/d6/dae/classothers_1_1lru__cache_1_1_l_r_u_cache_a7dbf04bf7e1472c48639694f0b110602_cgraph.svg +++ /dev/null @@ -1,212 +0,0 @@ - - - - - - - - - - - - -others::lru_cache::LRUCache::refer - - -Node1 - - -others::lru_cache:: -LRUCache::refer - - - - - -Node2 - - -std::list::back - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::list::begin - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::unordered_map::end - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::list::erase - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -std::unordered_map -::erase - - - - - -Node1->Node6 - - - - - - - - -Node7 - - -std::unordered_map -::find - - - - - -Node1->Node7 - - - - - - - - -Node8 - - -std::list::pop_back - - - - - -Node1->Node8 - - - - - - - - -Node9 - - -std::list::push_front - - - - - -Node1->Node9 - - - - - - - - -Node10 - - -std::list::size - - - - - -Node1->Node10 - - - - - - - - - - - - - diff --git a/d6/dae/classothers_1_1lru__cache_1_1_l_r_u_cache_a7dbf04bf7e1472c48639694f0b110602_cgraph_org.svg b/d6/dae/classothers_1_1lru__cache_1_1_l_r_u_cache_a7dbf04bf7e1472c48639694f0b110602_cgraph_org.svg deleted file mode 100644 index 72f5ab5d1..000000000 --- a/d6/dae/classothers_1_1lru__cache_1_1_l_r_u_cache_a7dbf04bf7e1472c48639694f0b110602_cgraph_org.svg +++ /dev/null @@ -1,186 +0,0 @@ - - - - - - -others::lru_cache::LRUCache::refer - - -Node1 - - -others::lru_cache:: -LRUCache::refer - - - - - -Node2 - - -std::list::back - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::list::begin - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::unordered_map::end - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::list::erase - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -std::unordered_map -::erase - - - - - -Node1->Node6 - - - - - - - - -Node7 - - -std::unordered_map -::find - - - - - -Node1->Node7 - - - - - - - - -Node8 - - -std::list::pop_back - - - - - -Node1->Node8 - - - - - - - - -Node9 - - -std::list::push_front - - - - - -Node1->Node9 - - - - - - - - -Node10 - - -std::list::size - - - - - -Node1->Node10 - - - - - - - - diff --git a/d6/dae/classothers_1_1lru__cache_1_1_l_r_u_cache_aad506b1c1a3cd5b93cc7e497626bfb53_cgraph.map b/d6/dae/classothers_1_1lru__cache_1_1_l_r_u_cache_aad506b1c1a3cd5b93cc7e497626bfb53_cgraph.map deleted file mode 100644 index 45db5bd8d..000000000 --- a/d6/dae/classothers_1_1lru__cache_1_1_l_r_u_cache_aad506b1c1a3cd5b93cc7e497626bfb53_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d6/dae/classothers_1_1lru__cache_1_1_l_r_u_cache_aad506b1c1a3cd5b93cc7e497626bfb53_cgraph.md5 b/d6/dae/classothers_1_1lru__cache_1_1_l_r_u_cache_aad506b1c1a3cd5b93cc7e497626bfb53_cgraph.md5 deleted file mode 100644 index b8beb7c4e..000000000 --- a/d6/dae/classothers_1_1lru__cache_1_1_l_r_u_cache_aad506b1c1a3cd5b93cc7e497626bfb53_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -aacae8045e9b08b2917d2655f49834fe \ No newline at end of file diff --git a/d6/dae/classothers_1_1lru__cache_1_1_l_r_u_cache_aad506b1c1a3cd5b93cc7e497626bfb53_cgraph.svg b/d6/dae/classothers_1_1lru__cache_1_1_l_r_u_cache_aad506b1c1a3cd5b93cc7e497626bfb53_cgraph.svg deleted file mode 100644 index e5b987fe8..000000000 --- a/d6/dae/classothers_1_1lru__cache_1_1_l_r_u_cache_aad506b1c1a3cd5b93cc7e497626bfb53_cgraph.svg +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - - - - - - - -others::lru_cache::LRUCache::display - - -Node1 - - -others::lru_cache:: -LRUCache::display - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d6/dae/classothers_1_1lru__cache_1_1_l_r_u_cache_aad506b1c1a3cd5b93cc7e497626bfb53_cgraph_org.svg b/d6/dae/classothers_1_1lru__cache_1_1_l_r_u_cache_aad506b1c1a3cd5b93cc7e497626bfb53_cgraph_org.svg deleted file mode 100644 index ec94c9105..000000000 --- a/d6/dae/classothers_1_1lru__cache_1_1_l_r_u_cache_aad506b1c1a3cd5b93cc7e497626bfb53_cgraph_org.svg +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - -others::lru_cache::LRUCache::display - - -Node1 - - -others::lru_cache:: -LRUCache::display - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - diff --git a/d6/db0/binomial__dist_8cpp.html b/d6/db0/binomial__dist_8cpp.html index 5e6069888..a70a13250 100644 --- a/d6/db0/binomial__dist_8cpp.html +++ b/d6/db0/binomial__dist_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: probability/binomial_dist.cpp File Reference +TheAlgorithms/C++: probability/binomial_dist.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -119,7 +136,9 @@ Include dependency graph for binomial_dist.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -145,6 +164,8 @@ Functions
  • p : probability of success
  • x : desired successes
  • + +

    Definition in file binomial_dist.cpp.

    Function Documentation

    ◆ binomial_expected()

    @@ -172,6 +193,8 @@ Functions
    Returns
    \(\mu=np\)
    + +

    Definition at line 22 of file binomial_dist.cpp.

    22{ return n * p; }
    @@ -207,23 +230,18 @@ Functions

    calculates the probability of a result within a range (inclusive, inclusive)

    Returns
    \(\displaystyle \left.P(n,p)\right|_{x_0}^{x_1} = \sum_{i=x_0}^{x_1} P(i) =\sum_{i=x_0}^{x_1} {n\choose i} p^i (1-p)^{n-i}\)
    + +

    Definition at line 74 of file binomial_dist.cpp.

    75 {
    76 double probability = 0;
    -
    77 for (int i = lower_bound; i <= upper_bound; i++) {
    -
    78 probability += nCr(n, i) * std::pow(p, i) * std::pow(1 - p, n - i);
    +
    77 for (int i = lower_bound; i <= upper_bound; i++) {
    +
    78 probability += nCr(n, i) * std::pow(p, i) * std::pow(1 - p, n - i);
    79 }
    80 return probability;
    81}
    -
    double nCr(double n, double r)
    Definition binomial_dist.cpp:47
    +
    double nCr(double n, double r)
    Probability algorithms.
    -
    T pow(T... args)
    -
    T upper_bound(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -252,17 +270,13 @@ Here is the call graph for this function:
    Returns
    \(\sigma = \sqrt{\sigma^2} = \sqrt{n\cdot p\cdot (1-p)}\)
    -
    36 {
    -
    37 return std::sqrt(binomial_variance(n, p));
    -
    38}
    -
    double binomial_variance(double n, double p)
    Definition binomial_dist.cpp:29
    -
    T sqrt(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    +

    Definition at line 36 of file binomial_dist.cpp.

    +
    36 {
    +
    37 return std::sqrt(binomial_variance(n, p));
    +
    38}
    +
    double binomial_variance(double n, double p)
    +
    @@ -291,6 +305,8 @@ Here is the call graph for this function:
    Returns
    \(\sigma^2 = n\cdot p\cdot (1-p)\)
    + +

    Definition at line 29 of file binomial_dist.cpp.

    29{ return n * p * (1 - p); }
    @@ -319,15 +335,12 @@ Here is the call graph for this function:

    Functions

    double binomial_expected (double n, double p)

    calculates the probability of exactly x successes

    Returns
    \(\displaystyle P(n,p,x) = {n\choose x} p^x (1-p)^{n-x}\)
    -
    65 {
    -
    66 return nCr(n, x) * std::pow(p, x) * std::pow(1 - p, n - x);
    -
    67}
    -
    -Here is the call graph for this function:
    -
    -
    -
    +

    Definition at line 65 of file binomial_dist.cpp.

    +
    65 {
    +
    66 return nCr(n, x) * std::pow(p, x) * std::pow(1 - p, n - x);
    +
    67}
    +
    @@ -345,35 +358,30 @@ Here is the call graph for this function:

    main function

    + +

    Definition at line 84 of file binomial_dist.cpp.

    84 {
    -
    85 std::cout << "expected value : " << binomial_expected(100, 0.5)
    -
    86 << std::endl;
    +
    85 std::cout << "expected value : " << binomial_expected(100, 0.5)
    +
    86 << std::endl;
    87
    -
    88 std::cout << "variance : " << binomial_variance(100, 0.5) << std::endl;
    +
    88 std::cout << "variance : " << binomial_variance(100, 0.5) << std::endl;
    89
    -
    90 std::cout << "standard deviation : "
    - +
    90 std::cout << "standard deviation : "
    +
    91 << binomial_standard_deviation(100, 0.5) << std::endl;
    92
    -
    93 std::cout << "exactly 30 successes : " << binomial_x_successes(100, 0.5, 30)
    -
    94 << std::endl;
    +
    93 std::cout << "exactly 30 successes : " << binomial_x_successes(100, 0.5, 30)
    +
    94 << std::endl;
    95
    -
    96 std::cout << "45 or more successes : "
    -
    97 << binomial_range_successes(100, 0.5, 45, 100) << std::endl;
    +
    96 std::cout << "45 or more successes : "
    +
    97 << binomial_range_successes(100, 0.5, 45, 100) << std::endl;
    98
    99 return 0;
    100}
    - -
    double binomial_x_successes(double n, double p, double x)
    Definition binomial_dist.cpp:65
    -
    double binomial_expected(double n, double p)
    Definition binomial_dist.cpp:22
    -
    double binomial_range_successes(double n, double p, double lower_bound, double upper_bound)
    Definition binomial_dist.cpp:74
    -
    double binomial_standard_deviation(double n, double p)
    Definition binomial_dist.cpp:36
    -
    T endl(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    double binomial_x_successes(double n, double p, double x)
    +
    double binomial_expected(double n, double p)
    +
    double binomial_range_successes(double n, double p, double lower_bound, double upper_bound)
    +
    double binomial_standard_deviation(double n, double p)
    +
    @@ -404,6 +412,8 @@ Here is the call graph for this function:
    Returns
    \(\displaystyle {n\choose r} = \frac{n!}{r!(n-r)!} = \frac{n\times(n-1)\times(n-2)\times\cdots(n-r)}{r!} \)
    + +

    Definition at line 47 of file binomial_dist.cpp.

    47 {
    48 double numerator = n;
    49 double denominator = r;
    diff --git a/d6/db0/binomial__dist_8cpp_a19ae0a6a2bd200fd1eb0e31b2bf4cc76_cgraph.map b/d6/db0/binomial__dist_8cpp_a19ae0a6a2bd200fd1eb0e31b2bf4cc76_cgraph.map deleted file mode 100644 index 6f7b6195b..000000000 --- a/d6/db0/binomial__dist_8cpp_a19ae0a6a2bd200fd1eb0e31b2bf4cc76_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/d6/db0/binomial__dist_8cpp_a19ae0a6a2bd200fd1eb0e31b2bf4cc76_cgraph.md5 b/d6/db0/binomial__dist_8cpp_a19ae0a6a2bd200fd1eb0e31b2bf4cc76_cgraph.md5 deleted file mode 100644 index 5cde5127a..000000000 --- a/d6/db0/binomial__dist_8cpp_a19ae0a6a2bd200fd1eb0e31b2bf4cc76_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -80d540e520d99d1142ca1474af9ff891 \ No newline at end of file diff --git a/d6/db0/binomial__dist_8cpp_a19ae0a6a2bd200fd1eb0e31b2bf4cc76_cgraph.svg b/d6/db0/binomial__dist_8cpp_a19ae0a6a2bd200fd1eb0e31b2bf4cc76_cgraph.svg deleted file mode 100644 index 618bb43ce..000000000 --- a/d6/db0/binomial__dist_8cpp_a19ae0a6a2bd200fd1eb0e31b2bf4cc76_cgraph.svg +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - -binomial_x_successes - - -Node1 - - -binomial_x_successes - - - - - -Node2 - - -nCr - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::pow - - - - - -Node1->Node3 - - - - - - - - - - - - - diff --git a/d6/db0/binomial__dist_8cpp_a19ae0a6a2bd200fd1eb0e31b2bf4cc76_cgraph_org.svg b/d6/db0/binomial__dist_8cpp_a19ae0a6a2bd200fd1eb0e31b2bf4cc76_cgraph_org.svg deleted file mode 100644 index d4e5a3a90..000000000 --- a/d6/db0/binomial__dist_8cpp_a19ae0a6a2bd200fd1eb0e31b2bf4cc76_cgraph_org.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - -binomial_x_successes - - -Node1 - - -binomial_x_successes - - - - - -Node2 - - -nCr - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::pow - - - - - -Node1->Node3 - - - - - - - - diff --git a/d6/db0/binomial__dist_8cpp_a76ed6ce71415fb400b65f0656cef3d25_cgraph.map b/d6/db0/binomial__dist_8cpp_a76ed6ce71415fb400b65f0656cef3d25_cgraph.map deleted file mode 100644 index f92f9aeda..000000000 --- a/d6/db0/binomial__dist_8cpp_a76ed6ce71415fb400b65f0656cef3d25_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/d6/db0/binomial__dist_8cpp_a76ed6ce71415fb400b65f0656cef3d25_cgraph.md5 b/d6/db0/binomial__dist_8cpp_a76ed6ce71415fb400b65f0656cef3d25_cgraph.md5 deleted file mode 100644 index 5be3ca919..000000000 --- a/d6/db0/binomial__dist_8cpp_a76ed6ce71415fb400b65f0656cef3d25_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -a65a244aa38ec11aa07df0740aad2c99 \ No newline at end of file diff --git a/d6/db0/binomial__dist_8cpp_a76ed6ce71415fb400b65f0656cef3d25_cgraph.svg b/d6/db0/binomial__dist_8cpp_a76ed6ce71415fb400b65f0656cef3d25_cgraph.svg deleted file mode 100644 index c954a94ac..000000000 --- a/d6/db0/binomial__dist_8cpp_a76ed6ce71415fb400b65f0656cef3d25_cgraph.svg +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - -binomial_range_successes - - -Node1 - - -binomial_range_successes - - - - - -Node2 - - -nCr - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::pow - - - - - -Node1->Node3 - - - - - - - - - - - - - diff --git a/d6/db0/binomial__dist_8cpp_a76ed6ce71415fb400b65f0656cef3d25_cgraph_org.svg b/d6/db0/binomial__dist_8cpp_a76ed6ce71415fb400b65f0656cef3d25_cgraph_org.svg deleted file mode 100644 index 6ee32fb40..000000000 --- a/d6/db0/binomial__dist_8cpp_a76ed6ce71415fb400b65f0656cef3d25_cgraph_org.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - -binomial_range_successes - - -Node1 - - -binomial_range_successes - - - - - -Node2 - - -nCr - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::pow - - - - - -Node1->Node3 - - - - - - - - diff --git a/d6/db0/binomial__dist_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d6/db0/binomial__dist_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index bdf773d72..000000000 --- a/d6/db0/binomial__dist_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d6/db0/binomial__dist_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d6/db0/binomial__dist_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index e231a025d..000000000 --- a/d6/db0/binomial__dist_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -7ed96ad2678933c1a3dbb3502ba42449 \ No newline at end of file diff --git a/d6/db0/binomial__dist_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d6/db0/binomial__dist_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 90316d211..000000000 --- a/d6/db0/binomial__dist_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,236 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -binomial_expected - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -binomial_range_successes - - - - - -Node1->Node3 - - - - - - - - -Node6 - - -binomial_standard_deviation - - - - - -Node1->Node6 - - - - - - - - -Node7 - - -binomial_variance - - - - - -Node1->Node7 - - - - - - - - -Node9 - - -binomial_x_successes - - - - - -Node1->Node9 - - - - - - - - -Node10 - - -std::endl - - - - - -Node1->Node10 - - - - - - - - -Node4 - - -nCr - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -std::pow - - - - - -Node3->Node5 - - - - - - - - -Node6->Node7 - - - - - - - - -Node8 - - -std::sqrt - - - - - -Node6->Node8 - - - - - - - - -Node9->Node4 - - - - - - - - -Node9->Node5 - - - - - - - - - - - - - diff --git a/d6/db0/binomial__dist_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d6/db0/binomial__dist_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 1025ff012..000000000 --- a/d6/db0/binomial__dist_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,210 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -binomial_expected - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -binomial_range_successes - - - - - -Node1->Node3 - - - - - - - - -Node6 - - -binomial_standard_deviation - - - - - -Node1->Node6 - - - - - - - - -Node7 - - -binomial_variance - - - - - -Node1->Node7 - - - - - - - - -Node9 - - -binomial_x_successes - - - - - -Node1->Node9 - - - - - - - - -Node10 - - -std::endl - - - - - -Node1->Node10 - - - - - - - - -Node4 - - -nCr - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -std::pow - - - - - -Node3->Node5 - - - - - - - - -Node6->Node7 - - - - - - - - -Node8 - - -std::sqrt - - - - - -Node6->Node8 - - - - - - - - -Node9->Node4 - - - - - - - - -Node9->Node5 - - - - - - - - diff --git a/d6/db0/binomial__dist_8cpp_af09e51f513cee647d41192ab0a872cdc_cgraph.map b/d6/db0/binomial__dist_8cpp_af09e51f513cee647d41192ab0a872cdc_cgraph.map deleted file mode 100644 index 1ff8c7e6f..000000000 --- a/d6/db0/binomial__dist_8cpp_af09e51f513cee647d41192ab0a872cdc_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/d6/db0/binomial__dist_8cpp_af09e51f513cee647d41192ab0a872cdc_cgraph.md5 b/d6/db0/binomial__dist_8cpp_af09e51f513cee647d41192ab0a872cdc_cgraph.md5 deleted file mode 100644 index e9e37946b..000000000 --- a/d6/db0/binomial__dist_8cpp_af09e51f513cee647d41192ab0a872cdc_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -a41de9c07507b5b36bfe2578d1a27471 \ No newline at end of file diff --git a/d6/db0/binomial__dist_8cpp_af09e51f513cee647d41192ab0a872cdc_cgraph.svg b/d6/db0/binomial__dist_8cpp_af09e51f513cee647d41192ab0a872cdc_cgraph.svg deleted file mode 100644 index d857034a8..000000000 --- a/d6/db0/binomial__dist_8cpp_af09e51f513cee647d41192ab0a872cdc_cgraph.svg +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - -binomial_standard_deviation - - -Node1 - - -binomial_standard_deviation - - - - - -Node2 - - -binomial_variance - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::sqrt - - - - - -Node1->Node3 - - - - - - - - - - - - - diff --git a/d6/db0/binomial__dist_8cpp_af09e51f513cee647d41192ab0a872cdc_cgraph_org.svg b/d6/db0/binomial__dist_8cpp_af09e51f513cee647d41192ab0a872cdc_cgraph_org.svg deleted file mode 100644 index 2a15a0a2c..000000000 --- a/d6/db0/binomial__dist_8cpp_af09e51f513cee647d41192ab0a872cdc_cgraph_org.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - -binomial_standard_deviation - - -Node1 - - -binomial_standard_deviation - - - - - -Node2 - - -binomial_variance - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::sqrt - - - - - -Node1->Node3 - - - - - - - - diff --git a/d6/db0/binomial__dist_8cpp_source.html b/d6/db0/binomial__dist_8cpp_source.html new file mode 100644 index 000000000..e4dd9c3df --- /dev/null +++ b/d6/db0/binomial__dist_8cpp_source.html @@ -0,0 +1,212 @@ + + + + + + + + +TheAlgorithms/C++: probability/binomial_dist.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    binomial_dist.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    14#include <cmath>
    +
    15#include <iostream>
    +
    16
    +
    22double binomial_expected(double n, double p) { return n * p; }
    +
    23
    +
    29double binomial_variance(double n, double p) { return n * p * (1 - p); }
    +
    30
    +
    +
    36double binomial_standard_deviation(double n, double p) {
    +
    37 return std::sqrt(binomial_variance(n, p));
    +
    38}
    +
    +
    39
    +
    +
    47double nCr(double n, double r) {
    +
    48 double numerator = n;
    +
    49 double denominator = r;
    +
    50
    +
    51 for (int i = n - 1; i >= ((n - r) + 1); i--) {
    +
    52 numerator *= i;
    +
    53 }
    +
    54
    +
    55 for (int i = 1; i < r; i++) {
    +
    56 denominator *= i;
    +
    57 }
    +
    58
    +
    59 return numerator / denominator;
    +
    60}
    +
    +
    61
    +
    +
    65double binomial_x_successes(double n, double p, double x) {
    +
    66 return nCr(n, x) * std::pow(p, x) * std::pow(1 - p, n - x);
    +
    67}
    +
    +
    68
    +
    +
    74double binomial_range_successes(double n, double p, double lower_bound,
    +
    75 double upper_bound) {
    +
    76 double probability = 0;
    +
    77 for (int i = lower_bound; i <= upper_bound; i++) {
    +
    78 probability += nCr(n, i) * std::pow(p, i) * std::pow(1 - p, n - i);
    +
    79 }
    +
    80 return probability;
    +
    81}
    +
    +
    82
    +
    +
    84int main() {
    +
    85 std::cout << "expected value : " << binomial_expected(100, 0.5)
    +
    86 << std::endl;
    +
    87
    +
    88 std::cout << "variance : " << binomial_variance(100, 0.5) << std::endl;
    +
    89
    +
    90 std::cout << "standard deviation : "
    +
    91 << binomial_standard_deviation(100, 0.5) << std::endl;
    +
    92
    +
    93 std::cout << "exactly 30 successes : " << binomial_x_successes(100, 0.5, 30)
    +
    94 << std::endl;
    +
    95
    +
    96 std::cout << "45 or more successes : "
    +
    97 << binomial_range_successes(100, 0.5, 45, 100) << std::endl;
    +
    98
    +
    99 return 0;
    +
    100}
    +
    +
    double binomial_x_successes(double n, double p, double x)
    +
    double binomial_expected(double n, double p)
    +
    double binomial_range_successes(double n, double p, double lower_bound, double upper_bound)
    +
    double nCr(double n, double r)
    +
    double binomial_variance(double n, double p)
    +
    int main()
    +
    double binomial_standard_deviation(double n, double p)
    +
    Probability algorithms.
    +
    +
    + + + + diff --git a/d6/db7/classdata__structures_1_1_skip_list-members.html b/d6/db7/classdata__structures_1_1_skip_list-members.html index 25fe5929a..50e35cb9c 100644 --- a/d6/db7/classdata__structures_1_1_skip_list-members.html +++ b/d6/db7/classdata__structures_1_1_skip_list-members.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Member List +TheAlgorithms/C++: Member List + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/d6/db8/inv__sqrt_8cpp.html b/d6/db8/inv__sqrt_8cpp.html index 7f1eea8ab..79a5a69fc 100644 --- a/d6/db8/inv__sqrt_8cpp.html +++ b/d6/db8/inv__sqrt_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: math/inv_sqrt.cpp File Reference +TheAlgorithms/C++: math/inv_sqrt.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + @@ -122,12 +139,14 @@ Include dependency graph for inv_sqrt.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    - + @@ -143,6 +162,8 @@ Functions

    Detailed Description

    Implementation of the inverse square root Root.

    Two implementation to calculate inverse inverse root, from Quake III Arena (C++ version) and with a standard library (cmath). This algorithm is used to calculate shadows in Quake III Arena.

    + +

    Definition in file inv_sqrt.cpp.

    Function Documentation

    ◆ Fast_InvSqrt()

    @@ -169,7 +190,7 @@ template<typename T = double, char iterations = 2>

    Functions

    template<typename T = double, char iterations = 2>
    Fast_InvSqrt (T x)
     for std::sqrt
     for std::sqrt
     
    template<typename T = double>
    Standard_InvSqrt (T number)
    -

    for std::sqrt

    +

    for std::sqrt

    for assert for IO operations for numeric_limits

    This is the function that calculates the fast inverse square root. The following code is the fast inverse square root implementation from Quake III Arena (Adapted for C++). More information can be found at Wikipedia

    Template Parameters
    @@ -185,9 +206,11 @@ template<typename T = double, char iterations = 2>
    Returns
    the inverse square root
    + +

    Definition at line 28 of file inv_sqrt.cpp.

    28 {
    -
    29 using Tint = typename std::conditional<sizeof(T) == 8, std::int64_t,
    -
    30 std::int32_t>::type;
    +
    29 using Tint = typename std::conditional<sizeof(T) == 8, std::int64_t,
    +
    30 std::int32_t>::type;
    31 T y = x;
    32 T x2 = y * 0.5;
    33
    @@ -205,8 +228,6 @@ template<typename T = double, char iterations = 2>
    45 }
    46 return y;
    47}
    - - @@ -227,34 +248,29 @@ template<typename T = double, char iterations = 2>

    Main function.

    Returns
    0 on exit
    + +

    Definition at line 87 of file inv_sqrt.cpp.

    87 {
    88 test(); // run self-test implementations
    -
    89 std::cout << "The Fast inverse square root of 36 is: "
    - -
    91 std::cout << "The Fast inverse square root of 36 is: "
    +
    89 std::cout << "The Fast inverse square root of 36 is: "
    +
    90 << Fast_InvSqrt<float, 1>(36.0f) << std::endl;
    +
    91 std::cout << "The Fast inverse square root of 36 is: "
    92 << Fast_InvSqrt<double, 2>(36.0f) << " (2 iterations)"
    -
    93 << std::endl;
    -
    94 std::cout << "The Fast inverse square root of 100 is: "
    +
    93 << std::endl;
    +
    94 std::cout << "The Fast inverse square root of 100 is: "
    95 << Fast_InvSqrt(100.0f)
    96 << " (With default template type and iterations: double, 2)"
    -
    97 << std::endl;
    -
    98 std::cout << "The Standard inverse square root of 36 is: "
    - -
    100 std::cout << "The Standard inverse square root of 100 is: "
    +
    97 << std::endl;
    +
    98 std::cout << "The Standard inverse square root of 36 is: "
    +
    99 << Standard_InvSqrt<float>(36.0f) << std::endl;
    +
    100 std::cout << "The Standard inverse square root of 100 is: "
    101 << Standard_InvSqrt(100.0f)
    -
    102 << " (With default template type: double)" << std::endl;
    +
    102 << " (With default template type: double)" << std::endl;
    103}
    - -
    T endl(T... args)
    -
    T Standard_InvSqrt(T number)
    This is the function that calculates the fast inverse square root. The following code is the fast inv...
    Definition inv_sqrt.cpp:59
    -
    static void test()
    Self-test implementations.
    Definition inv_sqrt.cpp:68
    -
    T Fast_InvSqrt(T x)
    for std::sqrt
    Definition inv_sqrt.cpp:28
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    T Standard_InvSqrt(T number)
    This is the function that calculates the fast inverse square root. The following code is the fast inv...
    Definition inv_sqrt.cpp:59
    +
    static void test()
    Self-test implementations.
    Definition inv_sqrt.cpp:68
    +
    T Fast_InvSqrt(T x)
    for std::sqrt
    Definition inv_sqrt.cpp:28
    + @@ -288,11 +304,12 @@ template<typename T = double>
    Returns
    the inverse square root
    + +

    Definition at line 59 of file inv_sqrt.cpp.

    59 {
    -
    60 T squareRoot = sqrt(number);
    +
    60 T squareRoot = sqrt(number);
    61 return 1.0f / squareRoot;
    62}
    -
    T sqrt(T... args)
    @@ -321,27 +338,23 @@ template<typename T = double>

    Self-test implementations.

    Returns
    void
    + +

    Definition at line 68 of file inv_sqrt.cpp.

    68 {
    69 const float epsilon = 1e-3f;
    70
    71 /* Tests with multiple values */
    -
    72 assert(std::fabs(Standard_InvSqrt<float>(100.0f) - 0.0998449f) < epsilon);
    -
    73 assert(std::fabs(Standard_InvSqrt<double>(36.0f) - 0.166667f) < epsilon);
    -
    74 assert(std::fabs(Standard_InvSqrt(12.0f) - 0.288423f) < epsilon);
    -
    75 assert(std::fabs(Standard_InvSqrt<double>(5.0f) - 0.447141f) < epsilon);
    +
    72 assert(std::fabs(Standard_InvSqrt<float>(100.0f) - 0.0998449f) < epsilon);
    +
    73 assert(std::fabs(Standard_InvSqrt<double>(36.0f) - 0.166667f) < epsilon);
    +
    74 assert(std::fabs(Standard_InvSqrt(12.0f) - 0.288423f) < epsilon);
    +
    75 assert(std::fabs(Standard_InvSqrt<double>(5.0f) - 0.447141f) < epsilon);
    76
    -
    77 assert(std::fabs(Fast_InvSqrt<float, 1>(100.0f) - 0.0998449f) < epsilon);
    -
    78 assert(std::fabs(Fast_InvSqrt<double, 1>(36.0f) - 0.166667f) < epsilon);
    -
    79 assert(std::fabs(Fast_InvSqrt(12.0f) - 0.288423) < epsilon);
    -
    80 assert(std::fabs(Fast_InvSqrt<double>(5.0f) - 0.447141) < epsilon);
    +
    77 assert(std::fabs(Fast_InvSqrt<float, 1>(100.0f) - 0.0998449f) < epsilon);
    +
    78 assert(std::fabs(Fast_InvSqrt<double, 1>(36.0f) - 0.166667f) < epsilon);
    +
    79 assert(std::fabs(Fast_InvSqrt(12.0f) - 0.288423) < epsilon);
    +
    80 assert(std::fabs(Fast_InvSqrt<double>(5.0f) - 0.447141) < epsilon);
    81}
    -
    T fabs(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + diff --git a/d6/db8/inv__sqrt_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map b/d6/db8/inv__sqrt_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map deleted file mode 100644 index c455f4080..000000000 --- a/d6/db8/inv__sqrt_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/d6/db8/inv__sqrt_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 b/d6/db8/inv__sqrt_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 deleted file mode 100644 index 23ffbadeb..000000000 --- a/d6/db8/inv__sqrt_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -06769312eaeb707d415e3f0b084fcecd \ No newline at end of file diff --git a/d6/db8/inv__sqrt_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg b/d6/db8/inv__sqrt_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg deleted file mode 100644 index e945cbd8c..000000000 --- a/d6/db8/inv__sqrt_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -std::fabs - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -Fast_InvSqrt - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -Standard_InvSqrt - - - - - -Node1->Node4 - - - - - - - - - - - - - diff --git a/d6/db8/inv__sqrt_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg b/d6/db8/inv__sqrt_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg deleted file mode 100644 index d29df9354..000000000 --- a/d6/db8/inv__sqrt_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -std::fabs - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -Fast_InvSqrt - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -Standard_InvSqrt - - - - - -Node1->Node4 - - - - - - - - diff --git a/d6/db8/inv__sqrt_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d6/db8/inv__sqrt_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 0e99660c3..000000000 --- a/d6/db8/inv__sqrt_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/d6/db8/inv__sqrt_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d6/db8/inv__sqrt_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index d56341161..000000000 --- a/d6/db8/inv__sqrt_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -737c1b9ea92d0445059fc576a7c498c9 \ No newline at end of file diff --git a/d6/db8/inv__sqrt_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d6/db8/inv__sqrt_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 1ebcd3772..000000000 --- a/d6/db8/inv__sqrt_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,155 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -Fast_InvSqrt - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -Standard_InvSqrt - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -test - - - - - -Node1->Node5 - - - - - - - - -Node5->Node3 - - - - - - - - -Node5->Node4 - - - - - - - - -Node6 - - -std::fabs - - - - - -Node5->Node6 - - - - - - - - - - - - - diff --git a/d6/db8/inv__sqrt_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d6/db8/inv__sqrt_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index a5637cecb..000000000 --- a/d6/db8/inv__sqrt_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,129 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -Fast_InvSqrt - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -Standard_InvSqrt - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -test - - - - - -Node1->Node5 - - - - - - - - -Node5->Node3 - - - - - - - - -Node5->Node4 - - - - - - - - -Node6 - - -std::fabs - - - - - -Node5->Node6 - - - - - - - - diff --git a/d6/db8/inv__sqrt_8cpp_source.html b/d6/db8/inv__sqrt_8cpp_source.html new file mode 100644 index 000000000..d75b714e2 --- /dev/null +++ b/d6/db8/inv__sqrt_8cpp_source.html @@ -0,0 +1,215 @@ + + + + + + + + +TheAlgorithms/C++: math/inv_sqrt.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    inv_sqrt.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    11#include <cassert>
    +
    12#include <cmath>
    +
    13#include <cstdint>
    +
    14#include <iostream>
    +
    15#include <limits>
    +
    27template <typename T = double, char iterations = 2>
    +
    +
    28inline T Fast_InvSqrt(T x) {
    +
    29 using Tint = typename std::conditional<sizeof(T) == 8, std::int64_t,
    +
    30 std::int32_t>::type;
    +
    31 T y = x;
    +
    32 T x2 = y * 0.5;
    +
    33
    +
    34 Tint i =
    +
    35 *reinterpret_cast<Tint *>(&y); // Store floating-point bits in integer
    +
    36
    +
    37 i = (sizeof(T) == 8 ? 0x5fe6eb50c7b537a9 : 0x5f3759df) -
    +
    38 (i >> 1); // Initial guess for Newton's method
    +
    39
    +
    40 y = *reinterpret_cast<T *>(&i); // Convert new bits into float
    +
    41
    +
    42 y = y * (1.5 - (x2 * y * y)); // 1st iteration Newton's method
    +
    43 if (iterations == 2) {
    +
    44 y = y * (1.5 - (x2 * y * y)); // 2nd iteration, the more exact result
    +
    45 }
    +
    46 return y;
    +
    47}
    +
    +
    48
    +
    58template <typename T = double>
    +
    +
    59T Standard_InvSqrt(T number) {
    +
    60 T squareRoot = sqrt(number);
    +
    61 return 1.0f / squareRoot;
    +
    62}
    +
    +
    63
    +
    +
    68static void test() {
    +
    69 const float epsilon = 1e-3f;
    +
    70
    +
    71 /* Tests with multiple values */
    +
    72 assert(std::fabs(Standard_InvSqrt<float>(100.0f) - 0.0998449f) < epsilon);
    +
    73 assert(std::fabs(Standard_InvSqrt<double>(36.0f) - 0.166667f) < epsilon);
    +
    74 assert(std::fabs(Standard_InvSqrt(12.0f) - 0.288423f) < epsilon);
    +
    75 assert(std::fabs(Standard_InvSqrt<double>(5.0f) - 0.447141f) < epsilon);
    +
    76
    +
    77 assert(std::fabs(Fast_InvSqrt<float, 1>(100.0f) - 0.0998449f) < epsilon);
    +
    78 assert(std::fabs(Fast_InvSqrt<double, 1>(36.0f) - 0.166667f) < epsilon);
    +
    79 assert(std::fabs(Fast_InvSqrt(12.0f) - 0.288423) < epsilon);
    +
    80 assert(std::fabs(Fast_InvSqrt<double>(5.0f) - 0.447141) < epsilon);
    +
    81}
    +
    +
    82
    +
    +
    87int main() {
    +
    88 test(); // run self-test implementations
    +
    89 std::cout << "The Fast inverse square root of 36 is: "
    +
    90 << Fast_InvSqrt<float, 1>(36.0f) << std::endl;
    +
    91 std::cout << "The Fast inverse square root of 36 is: "
    +
    92 << Fast_InvSqrt<double, 2>(36.0f) << " (2 iterations)"
    +
    93 << std::endl;
    +
    94 std::cout << "The Fast inverse square root of 100 is: "
    +
    95 << Fast_InvSqrt(100.0f)
    +
    96 << " (With default template type and iterations: double, 2)"
    +
    97 << std::endl;
    +
    98 std::cout << "The Standard inverse square root of 36 is: "
    +
    99 << Standard_InvSqrt<float>(36.0f) << std::endl;
    +
    100 std::cout << "The Standard inverse square root of 100 is: "
    +
    101 << Standard_InvSqrt(100.0f)
    +
    102 << " (With default template type: double)" << std::endl;
    +
    103}
    +
    +
    T Standard_InvSqrt(T number)
    This is the function that calculates the fast inverse square root. The following code is the fast inv...
    Definition inv_sqrt.cpp:59
    +
    static void test()
    Self-test implementations.
    Definition inv_sqrt.cpp:68
    +
    T Fast_InvSqrt(T x)
    for std::sqrt
    Definition inv_sqrt.cpp:28
    +
    int main()
    Main function.
    Definition inv_sqrt.cpp:87
    +
    +
    + + + + diff --git a/d6/dba/jump__game_8cpp.html b/d6/dba/jump__game_8cpp.html index 56701a7d9..524e36542 100644 --- a/d6/dba/jump__game_8cpp.html +++ b/d6/dba/jump__game_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: greedy_algorithms/jump_game.cpp File Reference +TheAlgorithms/C++: greedy_algorithms/jump_game.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -121,7 +138,9 @@ Include dependency graph for jump_game.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -130,7 +149,7 @@ Namespaces

    Namespaces

    namespace  greedy_algorithms
    - + @@ -146,6 +165,8 @@ Functions
    Author
    Rakshaa Viswanathan
    David Leal
    + +

    Definition in file jump_game.cpp.

    Function Documentation

    ◆ main()

    @@ -164,17 +185,14 @@ Functions

    Main function.

    Returns
    0 on exit
    + +

    Definition at line 71 of file jump_game.cpp.

    71 {
    72 test(); // run self-test implementations
    73 return 0;
    74}
    -
    static void test()
    Function to test the above algorithm.
    Definition jump_game.cpp:57
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static void test()
    Function to test the above algorithm.
    Definition jump_game.cpp:57
    + @@ -202,24 +220,19 @@ Here is the call graph for this function:

    Function to test the above algorithm.

    Returns
    void
    -
    57 {
    -
    58 assert(greedy_algorithms::can_jump(std::vector<int>({4, 3, 1, 0, 5})));
    -
    59 assert(!greedy_algorithms::can_jump(std::vector<int>({3, 2, 1, 0, 4})));
    -
    60 assert(greedy_algorithms::can_jump(std::vector<int>({5, 9, 4, 7, 15, 3})));
    -
    61 assert(!greedy_algorithms::can_jump(std::vector<int>({1, 0, 5, 8, 12})));
    -
    62 assert(greedy_algorithms::can_jump(std::vector<int>({2, 1, 4, 7})));
    -
    63
    -
    64 std::cout << "All tests have successfully passed!\n";
    -
    65}
    - -
    bool can_jump(const std::vector< int > &nums)
    Checks whether the given element (default is 1) can jump to the last index.
    Definition jump_game.cpp:42
    - -
    -Here is the call graph for this function:
    -
    -
    -
    +

    Definition at line 57 of file jump_game.cpp.

    +
    57 {
    +
    58 assert(greedy_algorithms::can_jump(std::vector<int>({4, 3, 1, 0, 5})));
    +
    59 assert(!greedy_algorithms::can_jump(std::vector<int>({3, 2, 1, 0, 4})));
    +
    60 assert(greedy_algorithms::can_jump(std::vector<int>({5, 9, 4, 7, 15, 3})));
    +
    61 assert(!greedy_algorithms::can_jump(std::vector<int>({1, 0, 5, 8, 12})));
    +
    62 assert(greedy_algorithms::can_jump(std::vector<int>({2, 1, 4, 7})));
    +
    63
    +
    64 std::cout << "All tests have successfully passed!\n";
    +
    65}
    +
    bool can_jump(const std::vector< int > &nums)
    Checks whether the given element (default is 1) can jump to the last index.
    Definition jump_game.cpp:42
    +
    diff --git a/d6/dba/jump__game_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map b/d6/dba/jump__game_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map deleted file mode 100644 index 52f436c83..000000000 --- a/d6/dba/jump__game_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/d6/dba/jump__game_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 b/d6/dba/jump__game_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 deleted file mode 100644 index 8de68fe40..000000000 --- a/d6/dba/jump__game_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -70ce6bd1bf4944aea6051b9d04b969c5 \ No newline at end of file diff --git a/d6/dba/jump__game_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg b/d6/dba/jump__game_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg deleted file mode 100644 index 1480507ff..000000000 --- a/d6/dba/jump__game_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -greedy_algorithms:: -can_jump - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::vector::size - - - - - -Node2->Node3 - - - - - - - - - - - - - diff --git a/d6/dba/jump__game_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg b/d6/dba/jump__game_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg deleted file mode 100644 index bdee01ddc..000000000 --- a/d6/dba/jump__game_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -greedy_algorithms:: -can_jump - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::vector::size - - - - - -Node2->Node3 - - - - - - - - diff --git a/d6/dba/jump__game_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d6/dba/jump__game_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 5255277dd..000000000 --- a/d6/dba/jump__game_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/d6/dba/jump__game_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d6/dba/jump__game_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index cc9a7785f..000000000 --- a/d6/dba/jump__game_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -d507de48ae0db31fa3506a26c91e1225 \ No newline at end of file diff --git a/d6/dba/jump__game_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d6/dba/jump__game_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 2fd379086..000000000 --- a/d6/dba/jump__game_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,102 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -greedy_algorithms:: -can_jump - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::vector::size - - - - - -Node3->Node4 - - - - - - - - - - - - - diff --git a/d6/dba/jump__game_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d6/dba/jump__game_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 67d9863b9..000000000 --- a/d6/dba/jump__game_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -greedy_algorithms:: -can_jump - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::vector::size - - - - - -Node3->Node4 - - - - - - - - diff --git a/d6/dba/jump__game_8cpp_source.html b/d6/dba/jump__game_8cpp_source.html new file mode 100644 index 000000000..65075b826 --- /dev/null +++ b/d6/dba/jump__game_8cpp_source.html @@ -0,0 +1,178 @@ + + + + + + + + +TheAlgorithms/C++: greedy_algorithms/jump_game.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    +

    Functions

    bool greedy_algorithms::can_jump (const std::vector< int > &nums)
    bool greedy_algorithms::can_jump (const std::vector< int > &nums)
     Checks whether the given element (default is 1) can jump to the last index.
     
    static void test ()
    + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + + +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    jump_game.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    25#include <cassert>
    +
    26#include <iostream>
    +
    27#include <vector>
    +
    28
    +
    33namespace greedy_algorithms {
    +
    +
    42bool can_jump(const std::vector<int> &nums) {
    +
    43 size_t lastPos = nums.size() - 1;
    +
    44 for (size_t i = lastPos; i != static_cast<size_t>(-1); i--) {
    +
    45 if (i + nums[i] >= lastPos) {
    +
    46 lastPos = i;
    +
    47 }
    +
    48 }
    +
    49 return lastPos == 0;
    +
    50}
    +
    +
    51} // namespace greedy_algorithms
    +
    52
    +
    +
    57static void test() {
    +
    58 assert(greedy_algorithms::can_jump(std::vector<int>({4, 3, 1, 0, 5})));
    +
    59 assert(!greedy_algorithms::can_jump(std::vector<int>({3, 2, 1, 0, 4})));
    +
    60 assert(greedy_algorithms::can_jump(std::vector<int>({5, 9, 4, 7, 15, 3})));
    +
    61 assert(!greedy_algorithms::can_jump(std::vector<int>({1, 0, 5, 8, 12})));
    +
    62 assert(greedy_algorithms::can_jump(std::vector<int>({2, 1, 4, 7})));
    +
    63
    +
    64 std::cout << "All tests have successfully passed!\n";
    +
    65}
    +
    +
    66
    +
    +
    71int main() {
    +
    72 test(); // run self-test implementations
    +
    73 return 0;
    +
    74}
    +
    +
    static void test()
    Function to test the above algorithm.
    Definition jump_game.cpp:57
    +
    int main()
    Main function.
    Definition jump_game.cpp:71
    +
    for string class
    +
    bool can_jump(const std::vector< int > &nums)
    Checks whether the given element (default is 1) can jump to the last index.
    Definition jump_game.cpp:42
    +
    +
    + + + + diff --git a/d6/dbe/classrange__queries_1_1fenwick__tree__coll__graph.map b/d6/dbe/classrange__queries_1_1fenwick__tree__coll__graph.map index ded283dd9..c412ccaf1 100644 --- a/d6/dbe/classrange__queries_1_1fenwick__tree__coll__graph.map +++ b/d6/dbe/classrange__queries_1_1fenwick__tree__coll__graph.map @@ -1,5 +1,5 @@ - + diff --git a/d6/dbe/classrange__queries_1_1fenwick__tree__coll__graph.md5 b/d6/dbe/classrange__queries_1_1fenwick__tree__coll__graph.md5 index 8548dd910..6606c5a8e 100644 --- a/d6/dbe/classrange__queries_1_1fenwick__tree__coll__graph.md5 +++ b/d6/dbe/classrange__queries_1_1fenwick__tree__coll__graph.md5 @@ -1 +1 @@ -6172a27841c2b1e2b194fc7da073a46c \ No newline at end of file +9240516b870ce87dac4c9be867a2ae20 \ No newline at end of file diff --git a/d6/dbe/classrange__queries_1_1fenwick__tree__coll__graph.svg b/d6/dbe/classrange__queries_1_1fenwick__tree__coll__graph.svg index 09caa7142..8f95d4cfd 100644 --- a/d6/dbe/classrange__queries_1_1fenwick__tree__coll__graph.svg +++ b/d6/dbe/classrange__queries_1_1fenwick__tree__coll__graph.svg @@ -31,7 +31,7 @@ Node2 - + std::vector< int > diff --git a/d6/dbe/classrange__queries_1_1fenwick__tree__coll__graph_org.svg b/d6/dbe/classrange__queries_1_1fenwick__tree__coll__graph_org.svg index c1468372e..e4c5742f9 100644 --- a/d6/dbe/classrange__queries_1_1fenwick__tree__coll__graph_org.svg +++ b/d6/dbe/classrange__queries_1_1fenwick__tree__coll__graph_org.svg @@ -20,7 +20,7 @@ Node2 - + std::vector< int > diff --git a/d6/dc1/classmath_1_1ncr__modulo__p_1_1_n_c_r_modulo_p.html b/d6/dc1/classmath_1_1ncr__modulo__p_1_1_n_c_r_modulo_p.html index 261a06419..d7fc04c7f 100644 --- a/d6/dc1/classmath_1_1ncr__modulo__p_1_1_n_c_r_modulo_p.html +++ b/d6/dc1/classmath_1_1ncr__modulo__p_1_1_n_c_r_modulo_p.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: math::ncr_modulo_p::NCRModuloP Class Reference +TheAlgorithms/C++: math::ncr_modulo_p::NCRModuloP Class Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -118,7 +135,7 @@ $(function(){initNavTree('d6/dc1/classmath_1_1ncr__modulo__p_1_1_n_c_r_modulo_p.
    Collaboration diagram for math::ncr_modulo_p::NCRModuloP:
    -
    +
    [legend]
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++

    @@ -132,22 +149,22 @@ Public Member Functions

    - +

    Static Private Member Functions

    static std::vector< int64_t > computeFactorialsMod (const int64_t &max_arg_val, const int64_t &mod)
    static std::vector< int64_t > computeFactorialsMod (const int64_t &max_arg_val, const int64_t &mod)
     stores precomputed factorial(i) % p value
     
    - + - - + +

    Private Attributes

    -const int64_t p = 0
    const int64_t p = 0
     
    -const std::vector< int64_t > fac
     the p from (nCr % p)
    const std::vector< int64_t > fac
     the p from (nCr % p)
     

    Detailed Description

    Class which contains all methods required for calculating nCr mod p.

    + +

    Definition at line 79 of file ncr_modulo_p.cpp.

    Constructor & Destructor Documentation

    ◆ NCRModuloP()

    @@ -177,9 +194,11 @@ const

    constructs an NCRModuloP object allowing to compute (nCr)p for inputs from 0 to size

    + +

    Definition at line 107 of file ncr_modulo_p.cpp.

    108 : p(p), fac(computeFactorialsMod(size, p)) {}
    -
    const std::vector< int64_t > fac
    the p from (nCr % p)
    Definition ncr_modulo_p.cpp:83
    -
    static std::vector< int64_t > computeFactorialsMod(const int64_t &max_arg_val, const int64_t &mod)
    stores precomputed factorial(i) % p value
    Definition ncr_modulo_p.cpp:92
    +
    const std::vector< int64_t > fac
    the p from (nCr % p)
    +
    static std::vector< int64_t > computeFactorialsMod(const int64_t &max_arg_val, const int64_t &mod)
    stores precomputed factorial(i) % p value
    @@ -194,7 +213,7 @@ const - + @@ -220,15 +239,16 @@ const
    Returns
    vector storing factorials of the numbers 0, ..., max_arg_val reduced modulo mod
    + +

    Definition at line 92 of file ncr_modulo_p.cpp.

    93 {
    -
    94 auto res = std::vector<int64_t>(max_arg_val + 1);
    +
    94 auto res = std::vector<int64_t>(max_arg_val + 1);
    95 res[0] = 1;
    96 for (int64_t i = 1; i <= max_arg_val; i++) {
    97 res[i] = (res[i - 1] * i) % mod;
    98 }
    99 return res;
    100 }
    -
    @@ -268,6 +288,8 @@ const
    Returns
    the value nCr % p
    + +

    Definition at line 116 of file ncr_modulo_p.cpp.

    116 {
    117 // Base cases
    118 if (r > n) {
    @@ -288,10 +310,61 @@ const 133 return (fac[n] * denominator_inv) % p;
    134 }
    + + +

    Member Data Documentation

    + +

    ◆ fac

    + +
    +
    +
    static std::vector< int64_t > math::ncr_modulo_p::NCRModuloP::computeFactorialsMod static std::vector< int64_t > math::ncr_modulo_p::NCRModuloP::computeFactorialsMod ( const int64_t & max_arg_val,
    + + + + +
    + + + + +
    const std::vector<int64_t> math::ncr_modulo_p::NCRModuloP::fac
    +
    +private
    +
    + +

    the p from (nCr % p)

    + +

    Definition at line 83 of file ncr_modulo_p.cpp.

    + +
    + + +

    ◆ p

    + +
    +
    + + + + + +
    + + + + +
    const int64_t math::ncr_modulo_p::NCRModuloP::p = 0
    +
    +private
    +
    + +

    Definition at line 81 of file ncr_modulo_p.cpp.

    +

    The documentation for this class was generated from the following file: diff --git a/d6/dc9/classcatalan__numbers-members.html b/d6/dc9/classcatalan__numbers-members.html index 3dffc8c70..47abe184f 100644 --- a/d6/dc9/classcatalan__numbers-members.html +++ b/d6/dc9/classcatalan__numbers-members.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Member List +TheAlgorithms/C++: Member List + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + 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 ad80e04c8..eff21d454 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 @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: CONTRIBUTION GUIDELINES +TheAlgorithms/C++: CONTRIBUTION GUIDELINES + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/d6/dce/classgraph_1_1topological__sort_1_1_graph-members.html b/d6/dce/classgraph_1_1topological__sort_1_1_graph-members.html index 7168f7f78..67def8e53 100644 --- a/d6/dce/classgraph_1_1topological__sort_1_1_graph-members.html +++ b/d6/dce/classgraph_1_1topological__sort_1_1_graph-members.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Member List +TheAlgorithms/C++: Member List + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/d6/dce/rabin__karp_8cpp.html b/d6/dce/rabin__karp_8cpp.html index a29da8c57..3a428980c 100644 --- a/d6/dce/rabin__karp_8cpp.html +++ b/d6/dce/rabin__karp_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: strings/rabin_karp.cpp File Reference +TheAlgorithms/C++: strings/rabin_karp.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + @@ -123,7 +140,9 @@ Include dependency graph for rabin_karp.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -132,27 +151,47 @@ Namespaces

    Namespaces

    namespace  string_search
    - - + +

    Macros

    -#define PRIME   5
     Prime modulus for hash functions.
    #define PRIME   5
     Prime modulus for hash functions.
     
    - + - + - + - +

    Functions

    int64_t string_search::create_hash (const std::string &s, int n)
    int64_t string_search::create_hash (const std::string &s, int n)
     
    int64_t string_search::recalculate_hash (const std::string &s, int old_index, int new_index, int64_t old_hash, int patLength)
    int64_t string_search::recalculate_hash (const std::string &s, int old_index, int new_index, int64_t old_hash, int patLength)
     
    bool string_search::check_if_equal (const std::string &str1, const std::string &str2, int start1, int end1, int start2, int end2)
    bool string_search::check_if_equal (const std::string &str1, const std::string &str2, int start1, int end1, int start2, int end2)
     
    int string_search::rabin_karp (const std::string &str, const std::string &pat)
    int string_search::rabin_karp (const std::string &str, const std::string &pat)
     
    int main (void)
     

    Detailed Description

    The Rabin-Karp Algorithm for finding a pattern within a piece of text with complexity O(n + m)

    -

    Function Documentation

    + +

    Definition in file rabin_karp.cpp.

    +

    Macro Definition Documentation

    + +

    ◆ PRIME

    + +
    +
    + + + + +
    #define PRIME   5
    +
    + +

    Prime modulus for hash functions.

    + +

    Definition at line 16 of file rabin_karp.cpp.

    + +
    +
    +

    Function Documentation

    ◆ main()

    @@ -168,6 +207,8 @@ Functions

    Main function

    + +

    Definition at line 105 of file rabin_karp.cpp.

    105 {
    106 assert(rabin_karp("helloWorld", "world") == -1);
    107 assert(rabin_karp("helloWorld", "World") == 5);
    diff --git a/d6/dce/rabin__karp_8cpp_source.html b/d6/dce/rabin__karp_8cpp_source.html new file mode 100644 index 000000000..30ff0d4e3 --- /dev/null +++ b/d6/dce/rabin__karp_8cpp_source.html @@ -0,0 +1,226 @@ + + + + + + + + +TheAlgorithms/C++: strings/rabin_karp.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    rabin_karp.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    7#include <cassert>
    +
    8#include <cmath>
    +
    9#include <iostream>
    +
    10#ifdef _MSC_VER
    +
    11#include <string> // use this for MS Visucal C++
    +
    12#else
    +
    13#include <cstring>
    +
    14#endif
    +
    15
    +
    16#define PRIME 5
    +
    17
    +
    18namespace string_search {
    +
    +
    25int64_t create_hash(const std::string& s, int n) {
    +
    26 int64_t result = 0;
    +
    27 for (int i = 0; i < n; ++i) {
    +
    28 result += (int64_t)(s[i] * (int64_t)pow(PRIME, i));
    +
    29 }
    +
    30 return result;
    +
    31}
    +
    +
    32
    +
    +
    42int64_t recalculate_hash(const std::string& s, int old_index, int new_index,
    +
    43 int64_t old_hash, int patLength) {
    +
    44 int64_t new_hash = old_hash - s[old_index];
    +
    45 new_hash /= PRIME;
    +
    46 new_hash += (int64_t)(s[new_index] * (int64_t)pow(PRIME, patLength - 1));
    +
    47 return new_hash;
    +
    48}
    +
    +
    49
    +
    +
    60bool check_if_equal(const std::string& str1, const std::string& str2,
    +
    61 int start1, int end1, int start2, int end2) {
    +
    62 if (end1 - start1 != end2 - start2) {
    +
    63 return false;
    +
    64 }
    +
    65 while (start1 <= end1 && start2 <= end2) {
    +
    66 if (str1[start1] != str2[start2]) {
    +
    67 return false;
    +
    68 }
    +
    69 start1++;
    +
    70 start2++;
    +
    71 }
    +
    72 return true;
    +
    73}
    +
    +
    74
    +
    +
    83int rabin_karp(const std::string& str, const std::string& pat) {
    +
    84 int64_t pat_hash = create_hash(pat, pat.size());
    +
    85 int64_t str_hash = create_hash(str, pat.size());
    +
    86 for (int i = 0; i <= str.size() - pat.size(); ++i) {
    +
    87 if (pat_hash == str_hash &&
    +
    88 check_if_equal(str, pat, i, i + pat.size() - 1, 0,
    +
    89 pat.size() - 1)) {
    +
    90 return i;
    +
    91 }
    +
    92 if (i < str.size() - pat.size()) {
    +
    93 str_hash =
    +
    94 recalculate_hash(str, i, i + pat.size(), str_hash, pat.size());
    +
    95 }
    +
    96 }
    +
    97 return -1; // return -1 if given pattern not found
    +
    98}
    +
    +
    99
    +
    100} // namespace string_search
    +
    101
    + +
    103
    +
    +
    105int main(void) {
    +
    106 assert(rabin_karp("helloWorld", "world") == -1);
    +
    107 assert(rabin_karp("helloWorld", "World") == 5);
    +
    108 assert(rabin_karp("this_is_c++", "c++") == 8);
    +
    109 assert(rabin_karp("happy_coding", "happy") == 0);
    +
    110 return 0;
    +
    111}
    +
    +
    String search algorithms.
    +
    int rabin_karp(const std::string &str, const std::string &pat)
    +
    int64_t create_hash(const std::string &s, int n)
    +
    bool check_if_equal(const std::string &str1, const std::string &str2, int start1, int end1, int start2, int end2)
    +
    int64_t recalculate_hash(const std::string &s, int old_index, int new_index, int64_t old_hash, int patLength)
    +
    int main(void)
    +
    #define PRIME
    Prime modulus for hash functions.
    +
    +
    + + + + diff --git a/d6/dd3/ode__midpoint__euler_8cpp.html b/d6/dd3/ode__midpoint__euler_8cpp.html index c7967f579..51cccd378 100644 --- a/d6/dd3/ode__midpoint__euler_8cpp.html +++ b/d6/dd3/ode__midpoint__euler_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: numerical_methods/ode_midpoint_euler.cpp File Reference +TheAlgorithms/C++: numerical_methods/ode_midpoint_euler.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -122,22 +139,24 @@ Include dependency graph for ode_midpoint_euler.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    - + - + - + - + - + @@ -164,6 +183,8 @@ Functions
    dy[0] = y[1];
    dy[1] = mu * (1.f - y[0] * y[0]) * y[1] - y[0];
    See also
    ode_forward_euler.cpp, ode_semi_implicit_euler.cpp
    + +

    Definition in file ode_midpoint_euler.cpp.

    Function Documentation

    ◆ exact_solution()

    @@ -179,7 +200,7 @@ Functions - +

    Functions

    void problem (const double &x, std::valarray< double > *y, std::valarray< double > *dy)
    void problem (const double &x, std::valarray< double > *y, std::valarray< double > *dy)
     Problem statement for a system with first-order differential equations. Updates the system differential variables.
     
    void exact_solution (const double &x, std::valarray< double > *y)
    void exact_solution (const double &x, std::valarray< double > *y)
     Exact solution of the problem. Used for solution comparison.
     
    void midpoint_euler_step (const double dx, const double &x, std::valarray< double > *y, std::valarray< double > *dy)
    void midpoint_euler_step (const double dx, const double &x, std::valarray< double > *y, std::valarray< double > *dy)
     Compute next step approximation using the midpoint-Euler method.
     
    double midpoint_euler (double dx, double x0, double x_max, std::valarray< double > *y, bool save_to_file=false)
    double midpoint_euler (double dx, double x0, double x_max, std::valarray< double > *y, bool save_to_file=false)
     Compute approximation using the midpoint-Euler method in the given limits.
     
    void save_exact_solution (const double &X0, const double &X_MAX, const double &step_size, const std::valarray< double > &Y0)
    void save_exact_solution (const double &X0, const double &X_MAX, const double &step_size, const std::valarray< double > &Y0)
     
    int main (int argc, char *argv[])
     
    std::valarray< double > * y )std::valarray< double > * y )
    @@ -192,18 +213,13 @@ Functions -
    66 {
    -
    67 y[0][0] = std::cos(x);
    -
    68 y[0][1] = -std::sin(x);
    -
    69}
    -
    T cos(T... args)
    -
    T sin(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    +

    Definition at line 66 of file ode_midpoint_euler.cpp.

    +
    66 {
    +
    67 y[0][0] = std::cos(x);
    +
    68 y[0][1] = -std::sin(x);
    +
    69}
    +
    @@ -225,41 +241,34 @@ Here is the call graph for this function:

    Main Function

    + +

    Definition at line 192 of file ode_midpoint_euler.cpp.

    192 {
    193 double X0 = 0.f; /* initial value of x0 */
    194 double X_MAX = 10.F; /* upper limit of integration */
    -
    195 std::valarray<double> Y0 = {1.f, 0.f}; /* initial value Y = y(x = x_0) */
    +
    195 std::valarray<double> Y0 = {1.f, 0.f}; /* initial value Y = y(x = x_0) */
    196 double step_size;
    197
    198 if (argc == 1) {
    -
    199 std::cout << "\nEnter the step size: ";
    -
    200 std::cin >> step_size;
    +
    199 std::cout << "\nEnter the step size: ";
    +
    200 std::cin >> step_size;
    201 } else {
    202 // use commandline argument as independent variable step size
    -
    203 step_size = std::atof(argv[1]);
    +
    203 step_size = std::atof(argv[1]);
    204 }
    205
    206 // get approximate solution
    207 double total_time = midpoint_euler(step_size, X0, X_MAX, &Y0, true);
    -
    208 std::cout << "\tTime = " << total_time << " ms\n";
    +
    208 std::cout << "\tTime = " << total_time << " ms\n";
    209
    210 /* compute exact solution for comparion */
    211 save_exact_solution(X0, X_MAX, step_size, Y0);
    212
    213 return 0;
    214}
    -
    T atof(T... args)
    - - -
    double midpoint_euler(double dx, double x0, double x_max, std::valarray< double > *y, bool save_to_file=false)
    Compute approximation using the midpoint-Euler method in the given limits.
    Definition ode_midpoint_euler.cpp:107
    -
    void save_exact_solution(const double &X0, const double &X_MAX, const double &step_size, const std::valarray< double > &Y0)
    Definition ode_midpoint_euler.cpp:156
    - -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    double midpoint_euler(double dx, double x0, double x_max, std::valarray< double > *y, bool save_to_file=false)
    Compute approximation using the midpoint-Euler method in the given limits.
    +
    void save_exact_solution(const double &X0, const double &X_MAX, const double &step_size, const std::valarray< double > &Y0)
    +
    @@ -276,12 +285,12 @@ Here is the call graph for this function: - std::valarray< double > * y, + std::valarray< double > * y, - std::valarray< double > * dy ) + std::valarray< double > * dy )
    @@ -296,6 +305,8 @@ Here is the call graph for this function:
    + +

    Definition at line 53 of file ode_midpoint_euler.cpp.

    54 {
    55 const double omega = 1.F; // some const for the problem
    56 dy[0][0] = y[0][1]; // x dot
    @@ -328,7 +339,7 @@ Here is the call graph for this function:
    - const std::valarray< double > & Y0 ) + const std::valarray< double > & Y0 )
    @@ -342,18 +353,20 @@ Here is the call graph for this function:
    + +

    Definition at line 156 of file ode_midpoint_euler.cpp.

    158 {
    159 double x = X0;
    - +
    160 std::valarray<double> y = Y0;
    161
    -
    162 std::ofstream fp("exact.csv", std::ostream::out);
    +
    162 std::ofstream fp("exact.csv", std::ostream::out);
    163 if (!fp.is_open()) {
    -
    164 std::perror("Error! ");
    +
    164 std::perror("Error! ");
    165 return;
    166 }
    -
    167 std::cout << "Finding exact solution\n";
    +
    167 std::cout << "Finding exact solution\n";
    168
    - +
    169 std::clock_t t1 = std::clock();
    170 do {
    171 fp << x << ",";
    172 for (int i = 0; i < y.size() - 1; i++) {
    @@ -366,23 +379,14 @@ Here is the call graph for this function:
    179 x += step_size;
    180 } while (x <= X_MAX);
    181
    - +
    182 std::clock_t t2 = std::clock();
    183 double total_time = static_cast<double>(t2 - t1) / CLOCKS_PER_SEC;
    -
    184 std::cout << "\tTime = " << total_time << " ms\n";
    +
    184 std::cout << "\tTime = " << total_time << " ms\n";
    185
    186 fp.close();
    187}
    - -
    T clock(T... args)
    - -
    void exact_solution(const double &x, std::valarray< double > *y)
    Exact solution of the problem. Used for solution comparison.
    Definition ode_midpoint_euler.cpp:66
    -
    T perror(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    void exact_solution(const double &x, std::valarray< double > *y)
    Exact solution of the problem. Used for solution comparison.
    + diff --git a/d6/dd3/ode__midpoint__euler_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.map b/d6/dd3/ode__midpoint__euler_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.map deleted file mode 100644 index 4a0f4fbf1..000000000 --- a/d6/dd3/ode__midpoint__euler_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.map +++ /dev/null @@ -1,33 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d6/dd3/ode__midpoint__euler_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.md5 b/d6/dd3/ode__midpoint__euler_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.md5 deleted file mode 100644 index f1e66e06a..000000000 --- a/d6/dd3/ode__midpoint__euler_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -f8d64a3f65249c1e5500ab07ba6c76ed \ No newline at end of file diff --git a/d6/dd3/ode__midpoint__euler_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.svg b/d6/dd3/ode__midpoint__euler_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.svg deleted file mode 100644 index de40c9c9d..000000000 --- a/d6/dd3/ode__midpoint__euler_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.svg +++ /dev/null @@ -1,317 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -std::atof - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -midpoint_euler - - - - - -Node1->Node3 - - - - - - - - -Node11 - - -save_exact_solution - - - - - -Node1->Node11 - - - - - - - - -Node4 - - -std::clock - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -std::ofstream::close - - - - - -Node3->Node5 - - - - - - - - -Node6 - - -std::ofstream::is_open - - - - - -Node3->Node6 - - - - - - - - -Node7 - - -midpoint_euler_step - - - - - -Node3->Node7 - - - - - - - - -Node9 - - -std::ofstream::open - - - - - -Node3->Node9 - - - - - - - - -Node10 - - -std::perror - - - - - -Node3->Node10 - - - - - - - - -Node8 - - -problem - - - - - -Node7->Node8 - - - - - - - - -Node11->Node4 - - - - - - - - -Node11->Node5 - - - - - - - - -Node11->Node6 - - - - - - - - -Node11->Node10 - - - - - - - - -Node12 - - -exact_solution - - - - - -Node11->Node12 - - - - - - - - -Node13 - - -std::cos - - - - - -Node12->Node13 - - - - - - - - -Node14 - - -std::sin - - - - - -Node12->Node14 - - - - - - - - - - - - - diff --git a/d6/dd3/ode__midpoint__euler_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph_org.svg b/d6/dd3/ode__midpoint__euler_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph_org.svg deleted file mode 100644 index f207a4954..000000000 --- a/d6/dd3/ode__midpoint__euler_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph_org.svg +++ /dev/null @@ -1,291 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -std::atof - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -midpoint_euler - - - - - -Node1->Node3 - - - - - - - - -Node11 - - -save_exact_solution - - - - - -Node1->Node11 - - - - - - - - -Node4 - - -std::clock - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -std::ofstream::close - - - - - -Node3->Node5 - - - - - - - - -Node6 - - -std::ofstream::is_open - - - - - -Node3->Node6 - - - - - - - - -Node7 - - -midpoint_euler_step - - - - - -Node3->Node7 - - - - - - - - -Node9 - - -std::ofstream::open - - - - - -Node3->Node9 - - - - - - - - -Node10 - - -std::perror - - - - - -Node3->Node10 - - - - - - - - -Node8 - - -problem - - - - - -Node7->Node8 - - - - - - - - -Node11->Node4 - - - - - - - - -Node11->Node5 - - - - - - - - -Node11->Node6 - - - - - - - - -Node11->Node10 - - - - - - - - -Node12 - - -exact_solution - - - - - -Node11->Node12 - - - - - - - - -Node13 - - -std::cos - - - - - -Node12->Node13 - - - - - - - - -Node14 - - -std::sin - - - - - -Node12->Node14 - - - - - - - - diff --git a/d6/dd3/ode__midpoint__euler_8cpp_aa13517b8e5de1b75592052db7f7e237f_cgraph.map b/d6/dd3/ode__midpoint__euler_8cpp_aa13517b8e5de1b75592052db7f7e237f_cgraph.map deleted file mode 100644 index b2f875ae8..000000000 --- a/d6/dd3/ode__midpoint__euler_8cpp_aa13517b8e5de1b75592052db7f7e237f_cgraph.map +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - - - - - diff --git a/d6/dd3/ode__midpoint__euler_8cpp_aa13517b8e5de1b75592052db7f7e237f_cgraph.md5 b/d6/dd3/ode__midpoint__euler_8cpp_aa13517b8e5de1b75592052db7f7e237f_cgraph.md5 deleted file mode 100644 index 66433eb22..000000000 --- a/d6/dd3/ode__midpoint__euler_8cpp_aa13517b8e5de1b75592052db7f7e237f_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -2e9cdf85203730494d04c3d869209e7d \ No newline at end of file diff --git a/d6/dd3/ode__midpoint__euler_8cpp_aa13517b8e5de1b75592052db7f7e237f_cgraph.svg b/d6/dd3/ode__midpoint__euler_8cpp_aa13517b8e5de1b75592052db7f7e237f_cgraph.svg deleted file mode 100644 index 7608f3318..000000000 --- a/d6/dd3/ode__midpoint__euler_8cpp_aa13517b8e5de1b75592052db7f7e237f_cgraph.svg +++ /dev/null @@ -1,173 +0,0 @@ - - - - - - - - - - - - -save_exact_solution - - -Node1 - - -save_exact_solution - - - - - -Node2 - - -std::clock - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::ofstream::close - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -exact_solution - - - - - -Node1->Node4 - - - - - - - - -Node7 - - -std::ofstream::is_open - - - - - -Node1->Node7 - - - - - - - - -Node8 - - -std::perror - - - - - -Node1->Node8 - - - - - - - - -Node5 - - -std::cos - - - - - -Node4->Node5 - - - - - - - - -Node6 - - -std::sin - - - - - -Node4->Node6 - - - - - - - - - - - - - diff --git a/d6/dd3/ode__midpoint__euler_8cpp_aa13517b8e5de1b75592052db7f7e237f_cgraph_org.svg b/d6/dd3/ode__midpoint__euler_8cpp_aa13517b8e5de1b75592052db7f7e237f_cgraph_org.svg deleted file mode 100644 index 3a8e21692..000000000 --- a/d6/dd3/ode__midpoint__euler_8cpp_aa13517b8e5de1b75592052db7f7e237f_cgraph_org.svg +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - -save_exact_solution - - -Node1 - - -save_exact_solution - - - - - -Node2 - - -std::clock - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::ofstream::close - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -exact_solution - - - - - -Node1->Node4 - - - - - - - - -Node7 - - -std::ofstream::is_open - - - - - -Node1->Node7 - - - - - - - - -Node8 - - -std::perror - - - - - -Node1->Node8 - - - - - - - - -Node5 - - -std::cos - - - - - -Node4->Node5 - - - - - - - - -Node6 - - -std::sin - - - - - -Node4->Node6 - - - - - - - - diff --git a/d6/dd3/ode__midpoint__euler_8cpp_af3adf7b092a87868917ee5fb4255192b_cgraph.map b/d6/dd3/ode__midpoint__euler_8cpp_af3adf7b092a87868917ee5fb4255192b_cgraph.map deleted file mode 100644 index 20ef8b76a..000000000 --- a/d6/dd3/ode__midpoint__euler_8cpp_af3adf7b092a87868917ee5fb4255192b_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/d6/dd3/ode__midpoint__euler_8cpp_af3adf7b092a87868917ee5fb4255192b_cgraph.md5 b/d6/dd3/ode__midpoint__euler_8cpp_af3adf7b092a87868917ee5fb4255192b_cgraph.md5 deleted file mode 100644 index bfa5784f3..000000000 --- a/d6/dd3/ode__midpoint__euler_8cpp_af3adf7b092a87868917ee5fb4255192b_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -775f69ca4eafdff6467315705aafdd17 \ No newline at end of file diff --git a/d6/dd3/ode__midpoint__euler_8cpp_af3adf7b092a87868917ee5fb4255192b_cgraph.svg b/d6/dd3/ode__midpoint__euler_8cpp_af3adf7b092a87868917ee5fb4255192b_cgraph.svg deleted file mode 100644 index 85206d2ac..000000000 --- a/d6/dd3/ode__midpoint__euler_8cpp_af3adf7b092a87868917ee5fb4255192b_cgraph.svg +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - -exact_solution - - -Node1 - - -exact_solution - - - - - -Node2 - - -std::cos - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::sin - - - - - -Node1->Node3 - - - - - - - - - - - - - diff --git a/d6/dd3/ode__midpoint__euler_8cpp_af3adf7b092a87868917ee5fb4255192b_cgraph_org.svg b/d6/dd3/ode__midpoint__euler_8cpp_af3adf7b092a87868917ee5fb4255192b_cgraph_org.svg deleted file mode 100644 index b49865b04..000000000 --- a/d6/dd3/ode__midpoint__euler_8cpp_af3adf7b092a87868917ee5fb4255192b_cgraph_org.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - -exact_solution - - -Node1 - - -exact_solution - - - - - -Node2 - - -std::cos - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::sin - - - - - -Node1->Node3 - - - - - - - - diff --git a/d6/dd3/ode__midpoint__euler_8cpp_source.html b/d6/dd3/ode__midpoint__euler_8cpp_source.html new file mode 100644 index 000000000..fae318a74 --- /dev/null +++ b/d6/dd3/ode__midpoint__euler_8cpp_source.html @@ -0,0 +1,281 @@ + + + + + + + + +TheAlgorithms/C++: numerical_methods/ode_midpoint_euler.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    ode_midpoint_euler.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    38#include <cmath>
    +
    39#include <ctime>
    +
    40#include <fstream>
    +
    41#include <iostream>
    +
    42#include <valarray>
    +
    43
    +
    +
    53void problem(const double &x, std::valarray<double> *y,
    +
    54 std::valarray<double> *dy) {
    +
    55 const double omega = 1.F; // some const for the problem
    +
    56 dy[0][0] = y[0][1]; // x dot
    +
    57 dy[0][1] = -omega * omega * y[0][0]; // y dot
    +
    58}
    +
    +
    59
    +
    +
    66void exact_solution(const double &x, std::valarray<double> *y) {
    +
    67 y[0][0] = std::cos(x);
    +
    68 y[0][1] = -std::sin(x);
    +
    69}
    +
    +
    70
    +
    +
    85void midpoint_euler_step(const double dx, const double &x,
    +
    86 std::valarray<double> *y, std::valarray<double> *dy) {
    +
    87 problem(x, y, dy);
    +
    88 double tmp_x = x + 0.5 * dx;
    +
    89
    +
    90 std::valarray<double> tmp_y = y[0] + dy[0] * (0.5 * dx);
    +
    91
    +
    92 problem(tmp_x, &tmp_y, dy);
    +
    93
    +
    94 y[0] += dy[0] * dx;
    +
    95}
    +
    +
    96
    +
    +
    107double midpoint_euler(double dx, double x0, double x_max,
    +
    108 std::valarray<double> *y, bool save_to_file = false) {
    +
    109 std::valarray<double> dy = y[0];
    +
    110
    +
    111 std::ofstream fp;
    +
    112 if (save_to_file) {
    +
    113 fp.open("midpoint_euler.csv", std::ofstream::out);
    +
    114 if (!fp.is_open()) {
    +
    115 std::perror("Error! ");
    +
    116 }
    +
    117 }
    +
    118
    +
    119 std::size_t L = y->size();
    +
    120
    +
    121 /* start integration */
    +
    122 std::clock_t t1 = std::clock();
    +
    123 double x = x0;
    +
    124 do { // iterate for each step of independent variable
    +
    125 if (save_to_file && fp.is_open()) {
    +
    126 // write to file
    +
    127 fp << x << ",";
    +
    128 for (int i = 0; i < L - 1; i++) {
    +
    129 fp << y[0][i] << ",";
    +
    130 }
    +
    131 fp << y[0][L - 1] << "\n";
    +
    132 }
    +
    133
    +
    134 midpoint_euler_step(dx, x, y, &dy); // perform integration
    +
    135 x += dx; // update step
    +
    136 } while (x <= x_max); // till upper limit of independent variable
    +
    137 /* end of integration */
    +
    138 std::clock_t t2 = std::clock();
    +
    139
    +
    140 if (fp.is_open())
    +
    141 fp.close();
    +
    142
    +
    143 return static_cast<double>(t2 - t1) / CLOCKS_PER_SEC;
    +
    144}
    +
    +
    145
    +
    +
    156void save_exact_solution(const double &X0, const double &X_MAX,
    +
    157 const double &step_size,
    +
    158 const std::valarray<double> &Y0) {
    +
    159 double x = X0;
    +
    160 std::valarray<double> y = Y0;
    +
    161
    +
    162 std::ofstream fp("exact.csv", std::ostream::out);
    +
    163 if (!fp.is_open()) {
    +
    164 std::perror("Error! ");
    +
    165 return;
    +
    166 }
    +
    167 std::cout << "Finding exact solution\n";
    +
    168
    +
    169 std::clock_t t1 = std::clock();
    +
    170 do {
    +
    171 fp << x << ",";
    +
    172 for (int i = 0; i < y.size() - 1; i++) {
    +
    173 fp << y[i] << ",";
    +
    174 }
    +
    175 fp << y[y.size() - 1] << "\n";
    +
    176
    +
    177 exact_solution(x, &y);
    +
    178
    +
    179 x += step_size;
    +
    180 } while (x <= X_MAX);
    +
    181
    +
    182 std::clock_t t2 = std::clock();
    +
    183 double total_time = static_cast<double>(t2 - t1) / CLOCKS_PER_SEC;
    +
    184 std::cout << "\tTime = " << total_time << " ms\n";
    +
    185
    +
    186 fp.close();
    +
    187}
    +
    +
    188
    +
    +
    192int main(int argc, char *argv[]) {
    +
    193 double X0 = 0.f; /* initial value of x0 */
    +
    194 double X_MAX = 10.F; /* upper limit of integration */
    +
    195 std::valarray<double> Y0 = {1.f, 0.f}; /* initial value Y = y(x = x_0) */
    +
    196 double step_size;
    +
    197
    +
    198 if (argc == 1) {
    +
    199 std::cout << "\nEnter the step size: ";
    +
    200 std::cin >> step_size;
    +
    201 } else {
    +
    202 // use commandline argument as independent variable step size
    +
    203 step_size = std::atof(argv[1]);
    +
    204 }
    +
    205
    +
    206 // get approximate solution
    +
    207 double total_time = midpoint_euler(step_size, X0, X_MAX, &Y0, true);
    +
    208 std::cout << "\tTime = " << total_time << " ms\n";
    +
    209
    +
    210 /* compute exact solution for comparion */
    +
    211 save_exact_solution(X0, X_MAX, step_size, Y0);
    +
    212
    +
    213 return 0;
    +
    214}
    +
    +
    int main()
    Main function.
    +
    double midpoint_euler(double dx, double x0, double x_max, std::valarray< double > *y, bool save_to_file=false)
    Compute approximation using the midpoint-Euler method in the given limits.
    +
    void midpoint_euler_step(const double dx, const double &x, std::valarray< double > *y, std::valarray< double > *dy)
    Compute next step approximation using the midpoint-Euler method.
    +
    void save_exact_solution(const double &X0, const double &X_MAX, const double &step_size, const std::valarray< double > &Y0)
    +
    void problem(const double &x, std::valarray< double > *y, std::valarray< double > *dy)
    Problem statement for a system with first-order differential equations. Updates the system differenti...
    +
    void exact_solution(const double &x, std::valarray< double > *y)
    Exact solution of the problem. Used for solution comparison.
    +
    +
    + + + + diff --git a/d6/dd6/namespacestring.html b/d6/dd6/namespacestring.html index e38289033..9c5e183e0 100644 --- a/d6/dd6/namespacestring.html +++ b/d6/dd6/namespacestring.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: string Namespace Reference +TheAlgorithms/C++: string Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -122,7 +139,7 @@ Functions
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++

    Detailed Description

    string manipulation algorithms

    -

    for std::array for assert for std::size_t for std::deque for std::cout and std::endl for std::string for std::vector

    +

    for std::array for assert for std::size_t for std::deque for std::cout and std::endl for std::string for std::vector

    Function Documentation

    ◆ duval()

    @@ -155,6 +172,8 @@ template<typename T >
    Returns
    the 0-indexed position of the least cyclic shift of the sequence
    + +

    Definition at line 49 of file duval.cpp.

    49 {
    50 size_t n = s.size();
    51 size_t i = 0, ans = 0;
    @@ -176,7 +195,7 @@ template<typename T >
    67 return ans;
    68 // returns 0-indexed position of the least cyclic shift
    69}
    -
    double k(double x)
    Another test function.
    Definition composite_simpson_rule.cpp:117
    +
    double k(double x)
    Another test function.
    diff --git a/d6/dd8/is__graph__bipartite_8cpp.html b/d6/dd8/is__graph__bipartite_8cpp.html index f0e4f0bf4..cd06c5ea9 100644 --- a/d6/dd8/is__graph__bipartite_8cpp.html +++ b/d6/dd8/is__graph__bipartite_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: graph/is_graph_bipartite.cpp File Reference +TheAlgorithms/C++: graph/is_graph_bipartite.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -122,7 +139,9 @@ Include dependency graph for is_graph_bipartite.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -163,6 +182,8 @@ Example - Here is a graph G2 with 3 vertices and is not bipartite 3
    Author
    Akshat Vaya
    + +

    Definition in file is_graph_bipartite.cpp.

    Function Documentation

    ◆ main()

    @@ -180,17 +201,14 @@ Example - Here is a graph G2 with 3 vertices and is not bipartite

    Main function

    Testing

    + +

    Definition at line 168 of file is_graph_bipartite.cpp.

    168 {
    -
    169 test(); /// Testing
    +
    169 test();
    170 return 0;
    171}
    -
    static void test()
    Definition is_graph_bipartite.cpp:136
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static void test()
    +
    @@ -221,42 +239,35 @@ Here is the call graph for this function:

    creating graph G2 with 3 vertices

    adding edges to the graphs as per the illustrated example

    checking whether the graphs are bipartite or not

    + +

    Definition at line 136 of file is_graph_bipartite.cpp.

    136 {
    -
    138 5); /// creating graph G1 with 5 vertices
    -
    139 /// adding edges to the graphs as per the illustrated example
    -
    140 G1.addEdge(1, 2);
    +
    138 5);
    +
    140 G1.addEdge(1, 2);
    141 G1.addEdge(1, 3);
    142 G1.addEdge(3, 4);
    143 G1.addEdge(4, 5);
    144
    -
    146 3); /// creating graph G2 with 3 vertices
    -
    147 /// adding edges to the graphs as per the illustrated example
    -
    148 G2.addEdge(1, 2);
    +
    146 3);
    +
    148 G2.addEdge(1, 2);
    149 G2.addEdge(1, 3);
    150 G2.addEdge(2, 3);
    -
    151
    -
    152 /// checking whether the graphs are bipartite or not
    -
    153 if (G1.is_bipartite()) {
    -
    154 std::cout << "The given graph G1 is a bipartite graph\n";
    +
    151
    +
    153 if (G1.is_bipartite()) {
    +
    154 std::cout << "The given graph G1 is a bipartite graph\n";
    155 } else {
    -
    156 std::cout << "The given graph G1 is not a bipartite graph\n";
    +
    156 std::cout << "The given graph G1 is not a bipartite graph\n";
    157 }
    158 if (G2.is_bipartite()) {
    -
    159 std::cout << "The given graph G2 is a bipartite graph\n";
    +
    159 std::cout << "The given graph G2 is a bipartite graph\n";
    160 } else {
    -
    161 std::cout << "The given graph G2 is not a bipartite graph\n";
    +
    161 std::cout << "The given graph G2 is not a bipartite graph\n";
    162 }
    163}
    - -
    Class for representing graph as an adjacency list.
    Definition is_graph_bipartite.cpp:51
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    Class for representing graph as an adjacency list.
    + diff --git a/d6/dd8/is__graph__bipartite_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map b/d6/dd8/is__graph__bipartite_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map deleted file mode 100644 index 1d9fd5f18..000000000 --- a/d6/dd8/is__graph__bipartite_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/d6/dd8/is__graph__bipartite_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 b/d6/dd8/is__graph__bipartite_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 deleted file mode 100644 index b2f9081e6..000000000 --- a/d6/dd8/is__graph__bipartite_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -14b9adb15c2d657b8e1616f5c859a245 \ No newline at end of file diff --git a/d6/dd8/is__graph__bipartite_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg b/d6/dd8/is__graph__bipartite_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg deleted file mode 100644 index 4de458d26..000000000 --- a/d6/dd8/is__graph__bipartite_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg +++ /dev/null @@ -1,103 +0,0 @@ - - - - - - - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -graph::is_graph_bipartite -::Graph::addEdge - - - - - -Node1->Node2 - - - - - - - - -Node4 - - -graph::is_graph_bipartite -::Graph::is_bipartite - - - - - -Node1->Node4 - - - - - - - - -Node3 - - -std::vector::push_back - - - - - -Node2->Node3 - - - - - - - - - - - - - diff --git a/d6/dd8/is__graph__bipartite_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg b/d6/dd8/is__graph__bipartite_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg deleted file mode 100644 index 20b342a44..000000000 --- a/d6/dd8/is__graph__bipartite_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg +++ /dev/null @@ -1,77 +0,0 @@ - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -graph::is_graph_bipartite -::Graph::addEdge - - - - - -Node1->Node2 - - - - - - - - -Node4 - - -graph::is_graph_bipartite -::Graph::is_bipartite - - - - - -Node1->Node4 - - - - - - - - -Node3 - - -std::vector::push_back - - - - - -Node2->Node3 - - - - - - - - diff --git a/d6/dd8/is__graph__bipartite_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d6/dd8/is__graph__bipartite_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index b3af03d5f..000000000 --- a/d6/dd8/is__graph__bipartite_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/d6/dd8/is__graph__bipartite_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d6/dd8/is__graph__bipartite_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index 23a87b6f3..000000000 --- a/d6/dd8/is__graph__bipartite_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -cb226527b5b64e9643b8de208c92faa0 \ No newline at end of file diff --git a/d6/dd8/is__graph__bipartite_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d6/dd8/is__graph__bipartite_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 630a9a8ec..000000000 --- a/d6/dd8/is__graph__bipartite_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,121 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -graph::is_graph_bipartite -::Graph::addEdge - - - - - -Node2->Node3 - - - - - - - - -Node5 - - -graph::is_graph_bipartite -::Graph::is_bipartite - - - - - -Node2->Node5 - - - - - - - - -Node4 - - -std::vector::push_back - - - - - -Node3->Node4 - - - - - - - - - - - - - diff --git a/d6/dd8/is__graph__bipartite_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d6/dd8/is__graph__bipartite_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index e0ac1b600..000000000 --- a/d6/dd8/is__graph__bipartite_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -graph::is_graph_bipartite -::Graph::addEdge - - - - - -Node2->Node3 - - - - - - - - -Node5 - - -graph::is_graph_bipartite -::Graph::is_bipartite - - - - - -Node2->Node5 - - - - - - - - -Node4 - - -std::vector::push_back - - - - - -Node3->Node4 - - - - - - - - diff --git a/d6/dd8/is__graph__bipartite_8cpp_source.html b/d6/dd8/is__graph__bipartite_8cpp_source.html new file mode 100644 index 000000000..96ec90b91 --- /dev/null +++ b/d6/dd8/is__graph__bipartite_8cpp_source.html @@ -0,0 +1,250 @@ + + + + + + + + +TheAlgorithms/C++: graph/is_graph_bipartite.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    +

    Classes

    class  graph::is_graph_bipartite::Graph
    + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + + +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    is_graph_bipartite.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    34#include <iostream>
    +
    35#include <queue>
    +
    36#include <vector>
    +
    37
    +
    42namespace graph {
    +
    47namespace is_graph_bipartite {
    +
    +
    51class Graph {
    +
    52 private:
    +
    53 int n;
    +
    54
    +
    55 std::vector<std::vector<int> >
    + +
    57
    +
    58 std::vector<int> side;
    +
    59
    +
    60 public:
    +
    +
    65 explicit Graph(int size) {
    +
    66 n = size;
    +
    67 adj.resize(n);
    +
    68 side.resize(n, -1);
    +
    69 }
    +
    +
    70
    +
    71 void addEdge(int u, int v);
    +
    72
    +
    73 bool
    +
    74 is_bipartite();
    +
    75};
    +
    +
    76
    +
    +
    83void Graph::addEdge(int u, int v) {
    +
    84 adj[u - 1].push_back(v - 1);
    +
    85 adj[v - 1].push_back(u - 1);
    +
    86}
    +
    +
    87
    +
    + +
    107 bool check = true;
    +
    108 std::queue<int> q;
    +
    109 for (int current_edge = 0; current_edge < n; ++current_edge) {
    +
    110 if (side[current_edge] == -1) {
    +
    111 q.push(current_edge);
    +
    112 side[current_edge] = 0;
    +
    113 while (q.size()) {
    +
    114 int current = q.front();
    +
    115 q.pop();
    +
    116 for (auto neighbour : adj[current]) {
    +
    117 if (side[neighbour] == -1) {
    +
    118 side[neighbour] = (1 ^ side[current]);
    +
    119 q.push(neighbour);
    +
    120 } else {
    +
    121 check &= (side[neighbour] != side[current]);
    +
    122 }
    +
    123 }
    +
    124 }
    +
    125 }
    +
    126 }
    +
    127 return check;
    +
    128}
    +
    +
    129} // namespace is_graph_bipartite
    +
    130} // namespace graph
    +
    131
    +
    +
    136static void test() {
    + +
    138 5);
    +
    140 G1.addEdge(1, 2);
    +
    141 G1.addEdge(1, 3);
    +
    142 G1.addEdge(3, 4);
    +
    143 G1.addEdge(4, 5);
    +
    144
    + +
    146 3);
    +
    148 G2.addEdge(1, 2);
    +
    149 G2.addEdge(1, 3);
    +
    150 G2.addEdge(2, 3);
    +
    151
    +
    153 if (G1.is_bipartite()) {
    +
    154 std::cout << "The given graph G1 is a bipartite graph\n";
    +
    155 } else {
    +
    156 std::cout << "The given graph G1 is not a bipartite graph\n";
    +
    157 }
    +
    158 if (G2.is_bipartite()) {
    +
    159 std::cout << "The given graph G2 is a bipartite graph\n";
    +
    160 } else {
    +
    161 std::cout << "The given graph G2 is not a bipartite graph\n";
    +
    162 }
    +
    163}
    +
    +
    164
    +
    +
    168int main() {
    +
    169 test();
    +
    170 return 0;
    +
    171}
    +
    +
    Class for representing graph as an adjacency list.
    +
    Graph(int size)
    Constructor that initializes the graph on creation.
    +
    void addEdge(int u, int v)
    Function that add an edge between two nodes or vertices of graph.
    +
    std::vector< int > side
    stores the side of the vertex
    +
    std::vector< std::vector< int > > adj
    adj stores the graph as an adjacency list
    +
    bool is_bipartite()
    function to add edges to our graph
    + +
    static void test()
    +
    int main()
    +
    Graph Algorithms.
    +
    Functions for checking whether a graph is bipartite or not.
    +
    +
    + + + + diff --git a/d6/df6/structstd_1_1is__integral_3_01uint128__t_01_4__inherit__graph.map b/d6/df6/structstd_1_1is__integral_3_01uint128__t_01_4__inherit__graph.map index d7dd79417..c595e3dc4 100644 --- a/d6/df6/structstd_1_1is__integral_3_01uint128__t_01_4__inherit__graph.map +++ b/d6/df6/structstd_1_1is__integral_3_01uint128__t_01_4__inherit__graph.map @@ -1,5 +1,5 @@ - + diff --git a/d6/df6/structstd_1_1is__integral_3_01uint128__t_01_4__inherit__graph.md5 b/d6/df6/structstd_1_1is__integral_3_01uint128__t_01_4__inherit__graph.md5 index 02d792f20..10a023df0 100644 --- a/d6/df6/structstd_1_1is__integral_3_01uint128__t_01_4__inherit__graph.md5 +++ b/d6/df6/structstd_1_1is__integral_3_01uint128__t_01_4__inherit__graph.md5 @@ -1 +1 @@ -ae61aae73f537f6171eb63e089015b91 \ No newline at end of file +d8e72a5cac00bd09a7e428aa97dcd5b4 \ No newline at end of file diff --git a/d6/df6/structstd_1_1is__integral_3_01uint128__t_01_4__inherit__graph.svg b/d6/df6/structstd_1_1is__integral_3_01uint128__t_01_4__inherit__graph.svg index e8bf7b111..a60440e80 100644 --- a/d6/df6/structstd_1_1is__integral_3_01uint128__t_01_4__inherit__graph.svg +++ b/d6/df6/structstd_1_1is__integral_3_01uint128__t_01_4__inherit__graph.svg @@ -31,7 +31,7 @@ Node2 - + std::true_type diff --git a/d6/df6/structstd_1_1is__integral_3_01uint128__t_01_4__inherit__graph_org.svg b/d6/df6/structstd_1_1is__integral_3_01uint128__t_01_4__inherit__graph_org.svg index b0db0f467..ad39e9932 100644 --- a/d6/df6/structstd_1_1is__integral_3_01uint128__t_01_4__inherit__graph_org.svg +++ b/d6/df6/structstd_1_1is__integral_3_01uint128__t_01_4__inherit__graph_org.svg @@ -20,7 +20,7 @@ Node2 - + std::true_type diff --git a/d6/df8/classdata__structures_1_1_bitset-members.html b/d6/df8/classdata__structures_1_1_bitset-members.html index fdc93cb29..83e515015 100644 --- a/d6/df8/classdata__structures_1_1_bitset-members.html +++ b/d6/df8/classdata__structures_1_1_bitset-members.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Member List +TheAlgorithms/C++: Member List + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/d7/d00/list__array_8cpp.html b/d7/d00/list__array_8cpp.html index 79d846ee4..a9f7a2358 100644 --- a/d7/d00/list__array_8cpp.html +++ b/d7/d00/list__array_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: data_structures/list_array.cpp File Reference +TheAlgorithms/C++: data_structures/list_array.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + @@ -123,7 +140,9 @@ Include dependency graph for list_array.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -154,6 +173,8 @@ Functions

    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.

    + +

    Definition in file list_array.cpp.

    Function Documentation

    ◆ main()

    @@ -172,17 +193,14 @@ Algorithm

    Main function.

    Returns
    0 on exit
    + +

    Definition at line 260 of file list_array.cpp.

    260 {
    261 test(); // Execute the tests
    262 return 0;
    263}
    -
    static void test()
    Test implementations.
    Definition list_array.cpp:218
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static void test()
    Test implementations.
    + @@ -210,6 +228,8 @@ Here is the call graph for this function:

    Test implementations.

    Returns
    void
    + +

    Definition at line 218 of file list_array.cpp.

    218 {
    220
    @@ -247,17 +267,12 @@ Here is the call graph for this function:
    252 assert(L.search(12) == 2);
    253 assert(L.search(50) == -1); // search for the non-existing element
    254}
    -
    Structure of List with supporting methods.
    Definition list_array.cpp:37
    -
    void show()
    Utility function to print array.
    Definition list_array.cpp:203
    -
    void sort()
    Sort the list.
    Definition list_array.cpp:121
    -
    void remove(const uint64_t &val)
    To remove the element from the list.
    Definition list_array.cpp:183
    -
    void insert(const uint64_t &val)
    Insert the new element in the list.
    Definition list_array.cpp:143
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    Structure of List with supporting methods.
    +
    void show()
    Utility function to print array.
    + +
    void remove(const uint64_t &val)
    To remove the element from the list.
    +
    void insert(const uint64_t &val)
    Insert the new element in the list.
    + diff --git a/d7/d00/list__array_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map b/d7/d00/list__array_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map deleted file mode 100644 index 3d8ed4fe1..000000000 --- a/d7/d00/list__array_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - diff --git a/d7/d00/list__array_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 b/d7/d00/list__array_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 deleted file mode 100644 index fcd96c0a1..000000000 --- a/d7/d00/list__array_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -fb3f8e6e511d96db884e17640088a06a \ No newline at end of file diff --git a/d7/d00/list__array_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg b/d7/d00/list__array_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg deleted file mode 100644 index 9c775735f..000000000 --- a/d7/d00/list__array_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg +++ /dev/null @@ -1,141 +0,0 @@ - - - - - - - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -data_structures::list -_array::list::insert - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -data_structures::list -_array::list::remove - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -data_structures::list -_array::list::show - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -data_structures::list -_array::list::sort - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -std::swap - - - - - -Node5->Node6 - - - - - - - - - - - - - diff --git a/d7/d00/list__array_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg b/d7/d00/list__array_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg deleted file mode 100644 index 2ecd944b2..000000000 --- a/d7/d00/list__array_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg +++ /dev/null @@ -1,115 +0,0 @@ - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -data_structures::list -_array::list::insert - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -data_structures::list -_array::list::remove - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -data_structures::list -_array::list::show - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -data_structures::list -_array::list::sort - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -std::swap - - - - - -Node5->Node6 - - - - - - - - diff --git a/d7/d00/list__array_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d7/d00/list__array_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index d97700340..000000000 --- a/d7/d00/list__array_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/d7/d00/list__array_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d7/d00/list__array_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index d1b0869b4..000000000 --- a/d7/d00/list__array_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -c3a55bec8ac4da41b293c846a45cd754 \ No newline at end of file diff --git a/d7/d00/list__array_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d7/d00/list__array_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index c4e6b2b8c..000000000 --- a/d7/d00/list__array_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,159 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -data_structures::list -_array::list::insert - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -data_structures::list -_array::list::remove - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -data_structures::list -_array::list::show - - - - - -Node2->Node5 - - - - - - - - -Node6 - - -data_structures::list -_array::list::sort - - - - - -Node2->Node6 - - - - - - - - -Node7 - - -std::swap - - - - - -Node6->Node7 - - - - - - - - - - - - - diff --git a/d7/d00/list__array_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d7/d00/list__array_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 2478f46f0..000000000 --- a/d7/d00/list__array_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,133 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -data_structures::list -_array::list::insert - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -data_structures::list -_array::list::remove - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -data_structures::list -_array::list::show - - - - - -Node2->Node5 - - - - - - - - -Node6 - - -data_structures::list -_array::list::sort - - - - - -Node2->Node6 - - - - - - - - -Node7 - - -std::swap - - - - - -Node6->Node7 - - - - - - - - diff --git a/d7/d00/list__array_8cpp_source.html b/d7/d00/list__array_8cpp_source.html new file mode 100644 index 000000000..b3059c32d --- /dev/null +++ b/d7/d00/list__array_8cpp_source.html @@ -0,0 +1,364 @@ + + + + + + + + +TheAlgorithms/C++: data_structures/list_array.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    +

    Classes

    struct  data_structures::list_array::list< N >
    + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + + +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    list_array.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    17#include <array>
    +
    18#include <cassert>
    +
    19#include <cstdint>
    +
    20#include <iostream>
    +
    21
    +
    26namespace data_structures {
    +
    32namespace list_array {
    +
    36template <uint64_t N>
    +
    +
    37struct list {
    +
    38 std::array<uint64_t, N> data{}; // Array that implement list
    +
    39 uint64_t top = 0; // Pointer to the last element
    +
    40 bool isSorted = false; // indicator whether list is sorted or not
    +
    +
    49 uint64_t BinarySearch(const std::array<uint64_t, N> &dataArr,
    +
    50 const uint64_t &first, const uint64_t &last,
    +
    51 const uint64_t &val) {
    +
    52 // If both pointer cross each other means no element present in the list
    +
    53 // which is equal to the val
    +
    54 if (last < first) {
    +
    55 return -1;
    +
    56 }
    +
    57 uint64_t mid = (first + last) / 2;
    +
    58 // check whether current mid pointer value is equal to element or not
    +
    59 if (dataArr[mid] == val)
    +
    60 return mid;
    +
    61 // if current mid value is greater than element we have to search in
    +
    62 // first half
    +
    63 else if (val < dataArr[mid])
    +
    64 return (BinarySearch(dataArr, first, mid - 1, val));
    +
    65 // if current mid value is greater than element we have to search in
    +
    66 // second half
    +
    67 else if (val > dataArr[mid])
    +
    68 return (BinarySearch(dataArr, mid + 1, last, val));
    +
    69
    +
    70 std::cerr << __func__ << ":" << __LINE__ << ": Undefined condition\n";
    +
    71 return -1;
    +
    72 }
    +
    +
    73
    +
    +
    80 uint64_t LinearSearch(const std::array<uint64_t, N> &dataArr,
    +
    81 const uint64_t &val) const {
    +
    82 // Going through each element in the list
    +
    83 for (uint64_t i = 0; i < top; i++) {
    +
    84 if (dataArr[i] == val) {
    +
    85 return i; // element found at ith index
    +
    86 }
    +
    87 }
    +
    88 // element is not present in the list
    +
    89 return -1;
    +
    90 }
    +
    +
    91
    +
    92 /*
    +
    93 * @brief Parent function of binarySearch and linearSearch methods
    +
    94 * @param val element that will be searched
    +
    95 * @return index of element in the list if present else -1
    +
    96 */
    +
    97 uint64_t search(const uint64_t &val) {
    +
    98 uint64_t pos; // pos variable to store index value of element.
    +
    99 // if list is sorted, binary search works efficiently else linear search
    +
    100 // is the only option
    +
    101 if (isSorted) {
    +
    102 pos = BinarySearch(data, 0, top - 1, val);
    +
    103 } else {
    +
    104 pos = LinearSearch(data, val);
    +
    105 }
    +
    106 // if index is equal to -1 means element does not present
    +
    107 // else print the index of that element
    +
    108 if (pos != -1) {
    +
    109 std::cout << "\nElement found at position : " << pos;
    +
    110 } else {
    +
    111 std::cout << "\nElement not found";
    +
    112 }
    +
    113 // return the index of element or -1.
    +
    114 return pos;
    +
    115 }
    +
    116
    +
    +
    121 void sort() {
    +
    122 // Going through each element in the list
    +
    123 for (uint64_t i = 0; i < top; i++) {
    +
    124 uint64_t min_idx = i; // Initialize the min variable
    +
    125 for (uint64_t j = i + 1; j < top; j++) {
    +
    126 // check whether any element less than current min value
    +
    127 if (data[j] < data[min_idx]) {
    +
    128 min_idx = j; // update index accordingly
    +
    129 }
    +
    130 }
    +
    131 // swap min value and element at the ith index
    +
    132 std::swap(data[min_idx], data[i]);
    +
    133 }
    +
    134 // mark isSorted variable as true
    +
    135 isSorted = true;
    +
    136 }
    +
    +
    137
    +
    +
    143 void insert(const uint64_t &val) {
    +
    144 // overflow check
    +
    145 if (top == N) {
    +
    146 std::cout << "\nOverflow";
    +
    147 return;
    +
    148 }
    +
    149 // if list is not sorted, insert at the last
    +
    150 // otherwise place it to correct position
    +
    151 if (!isSorted) {
    +
    152 data[top] = val;
    +
    153 top++;
    +
    154 } else {
    +
    155 uint64_t pos = 0; // Initialize the index variable
    +
    156 // Going through each element and find correct position for element
    +
    157 for (uint64_t i = 0; i < top - 1; i++) {
    +
    158 // check for the correct position
    +
    159 if (data[i] <= val && val <= data[i + 1]) {
    +
    160 pos = i + 1; // assign correct pos to the index var
    +
    161 break; // to get out from the loop
    +
    162 }
    +
    163 }
    +
    164 // if all elements are smaller than the element
    +
    165 if (pos == 0) {
    +
    166 pos = top - 1;
    +
    167 }
    +
    168 // shift all element to make a room for new element
    +
    169 for (uint64_t i = top; i > pos; i--) {
    +
    170 data[i] = data[i - 1];
    +
    171 }
    +
    172 top++; // Increment the value of top.
    +
    173 data[pos] =
    +
    174 val; // Assign the value to the correct index in the array
    +
    175 }
    +
    176 }
    +
    +
    177
    +
    +
    183 void remove(const uint64_t &val) {
    +
    184 uint64_t pos = search(val); // search the index of the value
    +
    185 // if search returns -1, element does not present in the list
    +
    186 if (pos == -1) {
    +
    187 std::cout << "\n Element does not present in the list ";
    +
    188 return;
    +
    189 }
    +
    190 std::cout << "\n"
    +
    191 << data[pos] << " deleted"; // print the appropriate message
    +
    192 // shift all the element 1 left to fill vacant space
    +
    193 for (uint64_t i = pos; i < top; i++) {
    +
    194 data[i] = data[i + 1];
    +
    195 }
    +
    196 top--; // decrement the top variable to maintain last index
    +
    197 }
    +
    +
    198
    +
    +
    203 void show() {
    +
    204 // Going through each element in the list
    +
    205 std::cout << '\n';
    +
    206 for (uint64_t i = 0; i < top; i++) {
    +
    207 std::cout << data[i] << " "; // print the element
    +
    208 }
    +
    209 }
    +
    +
    210}; // structure list
    +
    +
    211} // namespace list_array
    +
    212} // namespace data_structures
    +
    213
    +
    +
    218static void test() {
    + +
    220
    +
    221 // Insert testing
    +
    222 L.insert(11);
    +
    223 L.insert(12);
    +
    224 assert(L.top == 2);
    +
    225 L.insert(15);
    +
    226 L.insert(10);
    +
    227 L.insert(12);
    +
    228 L.insert(20);
    +
    229 L.insert(18);
    +
    230 assert(L.top == 7);
    +
    231 L.show(); // To print the array
    +
    232
    +
    233 // Remove testing
    +
    234 L.remove(12); // Remove Duplicate value in the list
    +
    235 L.remove(15); // Remove the existing value in the list
    +
    236 assert(L.top == 5);
    +
    237 L.remove(50); // Try to remove the non-existing value in the list
    +
    238 assert(L.top == 5);
    +
    239
    +
    240 // LinearSearch testing
    +
    241 assert(L.search(11) == 0); // search for the existing element
    +
    242 assert(L.search(12) == 2);
    +
    243 assert(L.search(50) == -1); // search for the non-existing element
    +
    244
    +
    245 // Sort testing
    +
    246 L.sort();
    +
    247 assert(L.isSorted == true);
    +
    248 L.show();
    +
    249
    +
    250 // BinarySearch testing
    +
    251 assert(L.search(11) == 1); // search for the existing element
    +
    252 assert(L.search(12) == 2);
    +
    253 assert(L.search(50) == -1); // search for the non-existing element
    +
    254}
    +
    +
    255
    +
    +
    260int main() {
    +
    261 test(); // Execute the tests
    +
    262 return 0;
    +
    263}
    +
    +
    int data[MAX]
    test data
    +
    static void test()
    Test implementations.
    +
    int main()
    Main function.
    +
    for IO operations
    +
    Functions for Dynamic Array algorithm.
    +
    for std::assert
    +
    Structure of List with supporting methods.
    +
    void show()
    Utility function to print array.
    + +
    uint64_t BinarySearch(const std::array< uint64_t, N > &dataArr, const uint64_t &first, const uint64_t &last, const uint64_t &val)
    Search an element in the list using binarySearch.
    +
    void remove(const uint64_t &val)
    To remove the element from the list.
    +
    void insert(const uint64_t &val)
    Insert the new element in the list.
    +
    uint64_t LinearSearch(const std::array< uint64_t, N > &dataArr, const uint64_t &val) const
    Search an element using linear search.
    +
    +
    + + + + diff --git a/d7/d07/bidirectional__dijkstra_8cpp.html b/d7/d07/bidirectional__dijkstra_8cpp.html index 46a1d06d7..d3d456ada 100644 --- a/d7/d07/bidirectional__dijkstra_8cpp.html +++ b/d7/d07/bidirectional__dijkstra_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: graph/bidirectional_dijkstra.cpp File Reference +TheAlgorithms/C++: graph/bidirectional_dijkstra.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -126,7 +143,9 @@ Include dependency graph for bidirectional_dijkstra.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -138,13 +157,13 @@ Namespaces

    Namespaces

    namespace  graph
    - + - + - + @@ -156,7 +175,7 @@ Functions

    Functions

    void graph::bidirectional_dijkstra::addEdge (std::vector< std::vector< std::pair< uint64_t, uint64_t > > > *adj1, std::vector< std::vector< std::pair< uint64_t, uint64_t > > > *adj2, uint64_t u, uint64_t v, uint64_t w)
    void graph::bidirectional_dijkstra::addEdge (std::vector< std::vector< std::pair< uint64_t, uint64_t > > > *adj1, std::vector< std::vector< std::pair< uint64_t, uint64_t > > > *adj2, uint64_t u, uint64_t v, uint64_t w)
     Function that add edge between two nodes or vertices of graph.
     
    uint64_t graph::bidirectional_dijkstra::Shortest_Path_Distance (const std::vector< uint64_t > &workset_, const std::vector< std::vector< uint64_t > > &distance_)
    uint64_t graph::bidirectional_dijkstra::Shortest_Path_Distance (const std::vector< uint64_t > &workset_, const std::vector< std::vector< uint64_t > > &distance_)
     This function returns the shortest distance from the source to the target if there is path between vertices 's' and 't'.
     
    int graph::bidirectional_dijkstra::Bidijkstra (std::vector< std::vector< std::pair< uint64_t, uint64_t > > > *adj1, std::vector< std::vector< std::pair< uint64_t, uint64_t > > > *adj2, uint64_t s, uint64_t t)
    int graph::bidirectional_dijkstra::Bidijkstra (std::vector< std::vector< std::pair< uint64_t, uint64_t > > > *adj1, std::vector< std::vector< std::pair< uint64_t, uint64_t > > > *adj2, uint64_t s, uint64_t t)
     Function runs the dijkstra algorithm for some source vertex and target vertex in the graph and returns the shortest distance of target from the source.
     
    static void tests ()
    - +

    Variables

    constexpr int64_t INF = std::numeric_limits<int64_t>::max()
    constexpr int64_t INF = std::numeric_limits<int64_t>::max()
     for assert
     
    @@ -164,6 +183,8 @@ Variables

    [Bidirectional Dijkstra Shortest Path Algorithm] (https://www.coursera.org/learn/algorithms-on-graphs/lecture/7ml18/bidirectional-dijkstra)

    Author
    Marinovksy

    This is basically the same Dijkstra Algorithm but faster because it goes from the source to the target and from target to the source and stops when finding a vertex visited already by the direct search or the reverse one. Here some simulations of it: https://www.youtube.com/watch?v=DINCL5cd_w0&t=24s

    + +

    Definition in file bidirectional_dijkstra.cpp.

    Function Documentation

    ◆ addEdge()

    @@ -174,12 +195,12 @@ Variables void graph::bidirectional_dijkstra::addEdge ( - std::vector< std::vector< std::pair< uint64_t, uint64_t > > > * adj1, + std::vector< std::vector< std::pair< uint64_t, uint64_t > > > * adj1, - std::vector< std::vector< std::pair< uint64_t, uint64_t > > > * adj2, + std::vector< std::vector< std::pair< uint64_t, uint64_t > > > * adj2, @@ -209,18 +230,14 @@ Variables + +

    Definition at line 46 of file bidirectional_dijkstra.cpp.

    48 {
    -
    49 (*adj1)[u - 1].push_back(std::make_pair(v - 1, w));
    -
    50 (*adj2)[v - 1].push_back(std::make_pair(u - 1, w));
    +
    49 (*adj1)[u - 1].push_back(std::make_pair(v - 1, w));
    +
    50 (*adj2)[v - 1].push_back(std::make_pair(u - 1, w));
    51 // (*adj)[v - 1].push_back(std::make_pair(u - 1, w));
    52}
    -
    T make_pair(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    @@ -232,12 +249,12 @@ Here is the call graph for this function: int graph::bidirectional_dijkstra::Bidijkstra ( - std::vector< std::vector< std::pair< uint64_t, uint64_t > > > * adj1, + std::vector< std::vector< std::pair< uint64_t, uint64_t > > > * adj1, - std::vector< std::vector< std::pair< uint64_t, uint64_t > > > * adj2, + std::vector< std::vector< std::pair< uint64_t, uint64_t > > > * adj2, @@ -285,123 +302,87 @@ Here is the call graph for this function:

    for all the reachable vertex from the currently exploring vertex we will try to minimize the distance

    minimizing distances

    check if currentNode has already been visited

    -
    89 {
    -
    90 /// n denotes the number of vertices in graph
    -
    91 uint64_t n = adj1->size();
    -
    92
    -
    93 /// setting all the distances initially to INF
    - -
    95
    -
    96 /// creating a a vector of min heap using priority queue
    -
    97 /// pq[0] contains the min heap for the direct search
    -
    98 /// pq[1] contains the min heap for the reverse search
    -
    99
    -
    100 /// first element of pair contains the distance
    -
    101 /// second element of pair contains the vertex
    - - - - -
    106 pq(2);
    -
    107 /// vector for store the nodes or vertices in the shortest path
    -
    108 std::vector<uint64_t> workset(n);
    -
    109 /// vector for store the nodes or vertices visited
    -
    110 std::vector<bool> visited(n);
    -
    111
    -
    112 /// pushing the source vertex 's' with 0 distance in pq[0] min heap
    -
    113 pq[0].push(std::make_pair(0, s));
    -
    114
    -
    115 /// marking the distance of source as 0
    -
    116 dist[0][s] = 0;
    -
    117
    -
    118 /// pushing the target vertex 't' with 0 distance in pq[1] min heap
    -
    119 pq[1].push(std::make_pair(0, t));
    -
    120
    -
    121 /// marking the distance of target as 0
    -
    122 dist[1][t] = 0;
    + +

    Definition at line 87 of file bidirectional_dijkstra.cpp.

    +
    89 {
    +
    91 uint64_t n = adj1->size();
    +
    92
    +
    94 std::vector<std::vector<uint64_t>> dist(2, std::vector<uint64_t>(n, INF));
    +
    95
    +
    99
    +
    102 std::vector<
    +
    103 std::priority_queue<std::pair<uint64_t, uint64_t>,
    +
    104 std::vector<std::pair<uint64_t, uint64_t>>,
    +
    105 std::greater<std::pair<uint64_t, uint64_t>>>>
    +
    106 pq(2);
    +
    108 std::vector<uint64_t> workset(n);
    +
    110 std::vector<bool> visited(n);
    +
    111
    +
    113 pq[0].push(std::make_pair(0, s));
    +
    114
    +
    116 dist[0][s] = 0;
    +
    117
    +
    119 pq[1].push(std::make_pair(0, t));
    +
    120
    +
    122 dist[1][t] = 0;
    123
    -
    124 while (true) {
    -
    125 /// direct search
    -
    126
    +
    124 while (true) {
    +
    126
    127 // If pq[0].size() is equal to zero then the node/ vertex is not
    128 // reachable from s
    129 if (pq[0].size() == 0) {
    130 break;
    -
    131 }
    -
    132 /// second element of pair denotes the node / vertex
    -
    133 uint64_t currentNode = pq[0].top().second;
    -
    134
    -
    135 /// first element of pair denotes the distance
    -
    136 uint64_t currentDist = pq[0].top().first;
    +
    131 }
    +
    133 uint64_t currentNode = pq[0].top().second;
    +
    134
    +
    136 uint64_t currentDist = pq[0].top().first;
    137
    138 pq[0].pop();
    -
    139
    -
    140 /// for all the reachable vertex from the currently exploring vertex
    -
    141 /// we will try to minimize the distance
    -
    142 for (std::pair<int, int> edge : (*adj1)[currentNode]) {
    -
    143 /// minimizing distances
    -
    144 if (currentDist + edge.second < dist[0][edge.first]) {
    +
    139
    +
    142 for (std::pair<int, int> edge : (*adj1)[currentNode]) {
    +
    144 if (currentDist + edge.second < dist[0][edge.first]) {
    145 dist[0][edge.first] = currentDist + edge.second;
    -
    146 pq[0].push(std::make_pair(dist[0][edge.first], edge.first));
    +
    146 pq[0].push(std::make_pair(dist[0][edge.first], edge.first));
    147 }
    148 }
    149 // store the processed node/ vertex
    150 workset.push_back(currentNode);
    -
    151
    -
    152 /// check if currentNode has already been visited
    -
    153 if (visited[currentNode] == 1) {
    +
    151
    +
    153 if (visited[currentNode] == 1) {
    154 return Shortest_Path_Distance(workset, dist);
    155 }
    -
    156 visited[currentNode] = true;
    -
    157 /// reversed search
    -
    158
    +
    156 visited[currentNode] = true;
    +
    158
    159 // If pq[1].size() is equal to zero then the node/ vertex is not
    160 // reachable from t
    161 if (pq[1].size() == 0) {
    162 break;
    -
    163 }
    -
    164 /// second element of pair denotes the node / vertex
    -
    165 currentNode = pq[1].top().second;
    -
    166
    -
    167 /// first element of pair denotes the distance
    -
    168 currentDist = pq[1].top().first;
    +
    163 }
    +
    165 currentNode = pq[1].top().second;
    +
    166
    +
    168 currentDist = pq[1].top().first;
    169
    170 pq[1].pop();
    -
    171
    -
    172 /// for all the reachable vertex from the currently exploring vertex
    -
    173 /// we will try to minimize the distance
    -
    174 for (std::pair<int, int> edge : (*adj2)[currentNode]) {
    -
    175 /// minimizing distances
    -
    176 if (currentDist + edge.second < dist[1][edge.first]) {
    +
    171
    +
    174 for (std::pair<int, int> edge : (*adj2)[currentNode]) {
    +
    176 if (currentDist + edge.second < dist[1][edge.first]) {
    177 dist[1][edge.first] = currentDist + edge.second;
    -
    178 pq[1].push(std::make_pair(dist[1][edge.first], edge.first));
    +
    178 pq[1].push(std::make_pair(dist[1][edge.first], edge.first));
    179 }
    180 }
    181 // store the processed node/ vertex
    -
    182 workset.push_back(currentNode);
    -
    183
    -
    184 /// check if currentNode has already been visited
    -
    185 if (visited[currentNode] == 1) {
    +
    182 workset.push_back(currentNode);
    +
    183
    +
    185 if (visited[currentNode] == 1) {
    186 return Shortest_Path_Distance(workset, dist);
    187 }
    188 visited[currentNode] = true;
    189 }
    190 return -1;
    191}
    -
    uint64_t Shortest_Path_Distance(const std::vector< uint64_t > &workset_, const std::vector< std::vector< uint64_t > > &distance_)
    This function returns the shortest distance from the source to the target if there is path between ve...
    Definition bidirectional_dijkstra.cpp:62
    -
    constexpr int64_t INF
    for assert
    Definition bidirectional_dijkstra.cpp:24
    - - - -
    T push_back(T... args)
    -
    T size(T... args)
    - -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    uint64_t Shortest_Path_Distance(const std::vector< uint64_t > &workset_, const std::vector< std::vector< uint64_t > > &distance_)
    This function returns the shortest distance from the source to the target if there is path between ve...
    +
    constexpr int64_t INF
    for assert
    +
    @@ -421,64 +402,58 @@ Here is the call graph for this function:

    Main function.

    Returns
    0 on exit
    + +

    Definition at line 249 of file bidirectional_dijkstra.cpp.

    249 {
    250 tests(); // running predefined tests
    251 uint64_t vertices = uint64_t();
    252 uint64_t edges = uint64_t();
    -
    253 std::cout << "Enter the number of vertices : ";
    -
    254 std::cin >> vertices;
    -
    255 std::cout << "Enter the number of edges : ";
    -
    256 std::cin >> edges;
    +
    253 std::cout << "Enter the number of vertices : ";
    +
    254 std::cin >> vertices;
    +
    255 std::cout << "Enter the number of edges : ";
    +
    256 std::cin >> edges;
    257
    - - - - +
    258 std::vector<std::vector<std::pair<uint64_t, uint64_t>>> adj1(
    +
    259 vertices, std::vector<std::pair<uint64_t, uint64_t>>());
    +
    260 std::vector<std::vector<std::pair<uint64_t, uint64_t>>> adj2(
    +
    261 vertices, std::vector<std::pair<uint64_t, uint64_t>>());
    262
    263 uint64_t u = uint64_t(), v = uint64_t(), w = uint64_t();
    -
    264 std::cout << "Enter the edges by three integers in this form: u v w "
    -
    265 << std::endl;
    -
    266 std::cout << "Example: if there is and edge between node 1 and node 4 with "
    +
    264 std::cout << "Enter the edges by three integers in this form: u v w "
    +
    265 << std::endl;
    +
    266 std::cout << "Example: if there is and edge between node 1 and node 4 with "
    267 "weight 7 enter: 1 4 7, and then press enter"
    -
    268 << std::endl;
    +
    268 << std::endl;
    269 while (edges--) {
    -
    270 std::cin >> u >> v >> w;
    +
    270 std::cin >> u >> v >> w;
    271 graph::bidirectional_dijkstra::addEdge(&adj1, &adj2, u, v, w);
    272 if (edges != 0) {
    -
    273 std::cout << "Enter the next edge" << std::endl;
    +
    273 std::cout << "Enter the next edge" << std::endl;
    274 }
    275 }
    276
    277 uint64_t s = uint64_t(), t = uint64_t();
    - +
    278 std::cout
    279 << "Enter the source node and the target node separated by a space"
    -
    280 << std::endl;
    -
    281 std::cout << "Example: If the source node is 5 and the target node is 6 "
    +
    280 << std::endl;
    +
    281 std::cout << "Example: If the source node is 5 and the target node is 6 "
    282 "enter: 5 6 and press enter"
    -
    283 << std::endl;
    -
    284 std::cin >> s >> t;
    +
    283 << std::endl;
    +
    284 std::cin >> s >> t;
    285 int dist =
    286 graph::bidirectional_dijkstra::Bidijkstra(&adj1, &adj2, s - 1, t - 1);
    287 if (dist == -1) {
    -
    288 std::cout << "Target not reachable from source" << std::endl;
    +
    288 std::cout << "Target not reachable from source" << std::endl;
    289 } else {
    -
    290 std::cout << "Shortest Path Distance : " << dist << std::endl;
    +
    290 std::cout << "Shortest Path Distance : " << dist << std::endl;
    291 }
    292
    293 return 0;
    294}
    - - -
    int Bidijkstra(std::vector< std::vector< std::pair< uint64_t, uint64_t > > > *adj1, std::vector< std::vector< std::pair< uint64_t, uint64_t > > > *adj2, uint64_t s, uint64_t t)
    Function runs the dijkstra algorithm for some source vertex and target vertex in the graph and return...
    Definition bidirectional_dijkstra.cpp:87
    -
    static void tests()
    Function to test the provided algorithm above.
    Definition bidirectional_dijkstra.cpp:200
    -
    void addEdge(std::vector< std::vector< std::pair< uint64_t, uint64_t > > > *adj1, std::vector< std::vector< std::pair< uint64_t, uint64_t > > > *adj2, uint64_t u, uint64_t v, uint64_t w)
    Function that add edge between two nodes or vertices of graph.
    Definition bidirectional_dijkstra.cpp:46
    -
    T endl(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    int Bidijkstra(std::vector< std::vector< std::pair< uint64_t, uint64_t > > > *adj1, std::vector< std::vector< std::pair< uint64_t, uint64_t > > > *adj2, uint64_t s, uint64_t t)
    Function runs the dijkstra algorithm for some source vertex and target vertex in the graph and return...
    +
    static void tests()
    Function to test the provided algorithm above.
    +
    void addEdge(std::vector< std::vector< std::pair< uint64_t, uint64_t > > > *adj1, std::vector< std::vector< std::pair< uint64_t, uint64_t > > > *adj2, uint64_t u, uint64_t v, uint64_t w)
    Function that add edge between two nodes or vertices of graph.
    + @@ -490,12 +465,12 @@ Here is the call graph for this function: uint64_t graph::bidirectional_dijkstra::Shortest_Path_Distance ( - const std::vector< uint64_t > & workset_, + const std::vector< uint64_t > & workset_, - const std::vector< std::vector< uint64_t > > & distance_ ) + const std::vector< std::vector< uint64_t > > & distance_ )
    @@ -508,22 +483,18 @@ Here is the call graph for this function:
    + +

    Definition at line 62 of file bidirectional_dijkstra.cpp.

    64 {
    -
    65 int64_t distance = INF;
    +
    65 int64_t distance = INF;
    66 for (uint64_t i : workset_) {
    67 if (distance_[0][i] + distance_[1][i] < distance) {
    -
    68 distance = distance_[0][i] + distance_[1][i];
    +
    68 distance = distance_[0][i] + distance_[1][i];
    69 }
    70 }
    -
    71 return distance;
    +
    71 return distance;
    72}
    -
    T distance(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -551,13 +522,15 @@ Here is the call graph for this function:

    Function to test the provided algorithm above.

    Returns
    void
    + +

    Definition at line 200 of file bidirectional_dijkstra.cpp.

    200 {
    -
    201 std::cout << "Initiatinig Predefined Tests..." << std::endl;
    -
    202 std::cout << "Initiating Test 1..." << std::endl;
    - - - - +
    201 std::cout << "Initiatinig Predefined Tests..." << std::endl;
    +
    202 std::cout << "Initiating Test 1..." << std::endl;
    +
    203 std::vector<std::vector<std::pair<uint64_t, uint64_t>>> adj1_1(
    +
    204 4, std::vector<std::pair<uint64_t, uint64_t>>());
    +
    205 std::vector<std::vector<std::pair<uint64_t, uint64_t>>> adj1_2(
    +
    206 4, std::vector<std::pair<uint64_t, uint64_t>>());
    207 graph::bidirectional_dijkstra::addEdge(&adj1_1, &adj1_2, 1, 2, 1);
    208 graph::bidirectional_dijkstra::addEdge(&adj1_1, &adj1_2, 4, 1, 2);
    209 graph::bidirectional_dijkstra::addEdge(&adj1_1, &adj1_2, 2, 3, 2);
    @@ -566,18 +539,18 @@ Here is the call graph for this function:
    212 uint64_t s = 1, t = 3;
    213 assert(graph::bidirectional_dijkstra::Bidijkstra(&adj1_1, &adj1_2, s - 1,
    214 t - 1) == 3);
    -
    215 std::cout << "Test 1 Passed..." << std::endl;
    +
    215 std::cout << "Test 1 Passed..." << std::endl;
    216
    217 s = 4, t = 3;
    -
    218 std::cout << "Initiating Test 2..." << std::endl;
    +
    218 std::cout << "Initiating Test 2..." << std::endl;
    219 assert(graph::bidirectional_dijkstra::Bidijkstra(&adj1_1, &adj1_2, s - 1,
    220 t - 1) == 5);
    -
    221 std::cout << "Test 2 Passed..." << std::endl;
    +
    221 std::cout << "Test 2 Passed..." << std::endl;
    222
    - - - - +
    223 std::vector<std::vector<std::pair<uint64_t, uint64_t>>> adj2_1(
    +
    224 5, std::vector<std::pair<uint64_t, uint64_t>>());
    +
    225 std::vector<std::vector<std::pair<uint64_t, uint64_t>>> adj2_2(
    +
    226 5, std::vector<std::pair<uint64_t, uint64_t>>());
    227 graph::bidirectional_dijkstra::addEdge(&adj2_1, &adj2_2, 1, 2, 4);
    228 graph::bidirectional_dijkstra::addEdge(&adj2_1, &adj2_2, 1, 3, 2);
    229 graph::bidirectional_dijkstra::addEdge(&adj2_1, &adj2_2, 2, 3, 2);
    @@ -589,18 +562,13 @@ Here is the call graph for this function:
    235 graph::bidirectional_dijkstra::addEdge(&adj2_1, &adj2_2, 3, 4, 4);
    236
    237 s = 1, t = 5;
    -
    238 std::cout << "Initiating Test 3..." << std::endl;
    +
    238 std::cout << "Initiating Test 3..." << std::endl;
    239 assert(graph::bidirectional_dijkstra::Bidijkstra(&adj2_1, &adj2_2, s - 1,
    240 t - 1) == 6);
    -
    241 std::cout << "Test 3 Passed..." << std::endl;
    -
    242 std::cout << "All Test Passed..." << std::endl << std::endl;
    +
    241 std::cout << "Test 3 Passed..." << std::endl;
    +
    242 std::cout << "All Test Passed..." << std::endl << std::endl;
    243}
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +

    Variable Documentation

    @@ -614,7 +582,7 @@ Here is the call graph for this function: - +
    int64_t INF = std::numeric_limits<int64_t>::max()int64_t INF = std::numeric_limits<int64_t>::max()
    @@ -627,6 +595,8 @@ Here is the call graph for this function:

    for assert

    for io operations for variable INF for the priority_queue of distances for make_pair function for store the graph, the distances, and the path

    +

    Definition at line 24 of file bidirectional_dijkstra.cpp.

    + diff --git a/d7/d07/bidirectional__dijkstra_8cpp_a1b2df3d52a403ad46523ab90d3a723c1_cgraph.map b/d7/d07/bidirectional__dijkstra_8cpp_a1b2df3d52a403ad46523ab90d3a723c1_cgraph.map deleted file mode 100644 index a8ba6296d..000000000 --- a/d7/d07/bidirectional__dijkstra_8cpp_a1b2df3d52a403ad46523ab90d3a723c1_cgraph.map +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/d7/d07/bidirectional__dijkstra_8cpp_a1b2df3d52a403ad46523ab90d3a723c1_cgraph.md5 b/d7/d07/bidirectional__dijkstra_8cpp_a1b2df3d52a403ad46523ab90d3a723c1_cgraph.md5 deleted file mode 100644 index 8a97ca726..000000000 --- a/d7/d07/bidirectional__dijkstra_8cpp_a1b2df3d52a403ad46523ab90d3a723c1_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -5fe745616c70ad3a84beb96a1c074a4b \ No newline at end of file diff --git a/d7/d07/bidirectional__dijkstra_8cpp_a1b2df3d52a403ad46523ab90d3a723c1_cgraph.svg b/d7/d07/bidirectional__dijkstra_8cpp_a1b2df3d52a403ad46523ab90d3a723c1_cgraph.svg deleted file mode 100644 index c6363fe85..000000000 --- a/d7/d07/bidirectional__dijkstra_8cpp_a1b2df3d52a403ad46523ab90d3a723c1_cgraph.svg +++ /dev/null @@ -1,122 +0,0 @@ - - - - - - - - - - - - -graph::bidirectional_dijkstra::Bidijkstra - - -Node1 - - -graph::bidirectional -_dijkstra::Bidijkstra - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::make_pair - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::vector::push_back - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -graph::bidirectional -_dijkstra::Shortest_Path -_Distance - - - - - -Node1->Node4 - - - - - - - - -Node4->Node4 - - - - - - - - - - - - - diff --git a/d7/d07/bidirectional__dijkstra_8cpp_a1b2df3d52a403ad46523ab90d3a723c1_cgraph_org.svg b/d7/d07/bidirectional__dijkstra_8cpp_a1b2df3d52a403ad46523ab90d3a723c1_cgraph_org.svg deleted file mode 100644 index 4747f2a8a..000000000 --- a/d7/d07/bidirectional__dijkstra_8cpp_a1b2df3d52a403ad46523ab90d3a723c1_cgraph_org.svg +++ /dev/null @@ -1,96 +0,0 @@ - - - - - - -graph::bidirectional_dijkstra::Bidijkstra - - -Node1 - - -graph::bidirectional -_dijkstra::Bidijkstra - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::make_pair - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::vector::push_back - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -graph::bidirectional -_dijkstra::Shortest_Path -_Distance - - - - - -Node1->Node4 - - - - - - - - -Node4->Node4 - - - - - - - - diff --git a/d7/d07/bidirectional__dijkstra_8cpp_a22f1b7277e1dd4190f25014b48487ce6_cgraph.map b/d7/d07/bidirectional__dijkstra_8cpp_a22f1b7277e1dd4190f25014b48487ce6_cgraph.map deleted file mode 100644 index 0d0c18e10..000000000 --- a/d7/d07/bidirectional__dijkstra_8cpp_a22f1b7277e1dd4190f25014b48487ce6_cgraph.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/d7/d07/bidirectional__dijkstra_8cpp_a22f1b7277e1dd4190f25014b48487ce6_cgraph.md5 b/d7/d07/bidirectional__dijkstra_8cpp_a22f1b7277e1dd4190f25014b48487ce6_cgraph.md5 deleted file mode 100644 index 50011698b..000000000 --- a/d7/d07/bidirectional__dijkstra_8cpp_a22f1b7277e1dd4190f25014b48487ce6_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -a8ebd0a4e86c84fe053726670c672d91 \ No newline at end of file diff --git a/d7/d07/bidirectional__dijkstra_8cpp_a22f1b7277e1dd4190f25014b48487ce6_cgraph.svg b/d7/d07/bidirectional__dijkstra_8cpp_a22f1b7277e1dd4190f25014b48487ce6_cgraph.svg deleted file mode 100644 index f721962e5..000000000 --- a/d7/d07/bidirectional__dijkstra_8cpp_a22f1b7277e1dd4190f25014b48487ce6_cgraph.svg +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - - - - - - - -graph::bidirectional_dijkstra::Shortest_Path_Distance - - -Node1 - - -graph::bidirectional -_dijkstra::Shortest_Path -_Distance - - - - - -Node1->Node1 - - - - - - - - - - - - - diff --git a/d7/d07/bidirectional__dijkstra_8cpp_a22f1b7277e1dd4190f25014b48487ce6_cgraph_org.svg b/d7/d07/bidirectional__dijkstra_8cpp_a22f1b7277e1dd4190f25014b48487ce6_cgraph_org.svg deleted file mode 100644 index 29c2ae911..000000000 --- a/d7/d07/bidirectional__dijkstra_8cpp_a22f1b7277e1dd4190f25014b48487ce6_cgraph_org.svg +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - -graph::bidirectional_dijkstra::Shortest_Path_Distance - - -Node1 - - -graph::bidirectional -_dijkstra::Shortest_Path -_Distance - - - - - -Node1->Node1 - - - - - - - - diff --git a/d7/d07/bidirectional__dijkstra_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.map b/d7/d07/bidirectional__dijkstra_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.map deleted file mode 100644 index 90c7ffe6e..000000000 --- a/d7/d07/bidirectional__dijkstra_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d7/d07/bidirectional__dijkstra_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 b/d7/d07/bidirectional__dijkstra_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 deleted file mode 100644 index 02019e5ee..000000000 --- a/d7/d07/bidirectional__dijkstra_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -c13dbf6a6a6cfdf3af15523329fdd387 \ No newline at end of file diff --git a/d7/d07/bidirectional__dijkstra_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.svg b/d7/d07/bidirectional__dijkstra_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.svg deleted file mode 100644 index e6c8cd8c5..000000000 --- a/d7/d07/bidirectional__dijkstra_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -tests - - -Node1 - - -tests - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d7/d07/bidirectional__dijkstra_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph_org.svg b/d7/d07/bidirectional__dijkstra_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph_org.svg deleted file mode 100644 index dba07e9b1..000000000 --- a/d7/d07/bidirectional__dijkstra_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -tests - - -Node1 - - -tests - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - diff --git a/d7/d07/bidirectional__dijkstra_8cpp_a69172365aebde9be1997157f6f80e0cf_cgraph.map b/d7/d07/bidirectional__dijkstra_8cpp_a69172365aebde9be1997157f6f80e0cf_cgraph.map deleted file mode 100644 index ef6f6fb5a..000000000 --- a/d7/d07/bidirectional__dijkstra_8cpp_a69172365aebde9be1997157f6f80e0cf_cgraph.map +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/d7/d07/bidirectional__dijkstra_8cpp_a69172365aebde9be1997157f6f80e0cf_cgraph.md5 b/d7/d07/bidirectional__dijkstra_8cpp_a69172365aebde9be1997157f6f80e0cf_cgraph.md5 deleted file mode 100644 index 7b61ac721..000000000 --- a/d7/d07/bidirectional__dijkstra_8cpp_a69172365aebde9be1997157f6f80e0cf_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -952ea0752779778358ff71ee6129bd22 \ No newline at end of file diff --git a/d7/d07/bidirectional__dijkstra_8cpp_a69172365aebde9be1997157f6f80e0cf_cgraph.svg b/d7/d07/bidirectional__dijkstra_8cpp_a69172365aebde9be1997157f6f80e0cf_cgraph.svg deleted file mode 100644 index 68ce06336..000000000 --- a/d7/d07/bidirectional__dijkstra_8cpp_a69172365aebde9be1997157f6f80e0cf_cgraph.svg +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - - - - - - - -graph::bidirectional_dijkstra::addEdge - - -Node1 - - -graph::bidirectional -_dijkstra::addEdge - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::make_pair - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d7/d07/bidirectional__dijkstra_8cpp_a69172365aebde9be1997157f6f80e0cf_cgraph_org.svg b/d7/d07/bidirectional__dijkstra_8cpp_a69172365aebde9be1997157f6f80e0cf_cgraph_org.svg deleted file mode 100644 index fa5a159ab..000000000 --- a/d7/d07/bidirectional__dijkstra_8cpp_a69172365aebde9be1997157f6f80e0cf_cgraph_org.svg +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - -graph::bidirectional_dijkstra::addEdge - - -Node1 - - -graph::bidirectional -_dijkstra::addEdge - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::make_pair - - - - - -Node1->Node2 - - - - - - - - diff --git a/d7/d07/bidirectional__dijkstra_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d7/d07/bidirectional__dijkstra_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index ca270708e..000000000 --- a/d7/d07/bidirectional__dijkstra_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/d7/d07/bidirectional__dijkstra_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d7/d07/bidirectional__dijkstra_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index 02cfdf1d6..000000000 --- a/d7/d07/bidirectional__dijkstra_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -4a17190c36fea127cb6c7203d4d6b355 \ No newline at end of file diff --git a/d7/d07/bidirectional__dijkstra_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d7/d07/bidirectional__dijkstra_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index ab747bef2..000000000 --- a/d7/d07/bidirectional__dijkstra_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,92 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -tests - - - - - -Node1->Node3 - - - - - - - - -Node3->Node2 - - - - - - - - - - - - - diff --git a/d7/d07/bidirectional__dijkstra_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d7/d07/bidirectional__dijkstra_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 2283fe3d5..000000000 --- a/d7/d07/bidirectional__dijkstra_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -tests - - - - - -Node1->Node3 - - - - - - - - -Node3->Node2 - - - - - - - - diff --git a/d7/d07/bidirectional__dijkstra_8cpp_source.html b/d7/d07/bidirectional__dijkstra_8cpp_source.html new file mode 100644 index 000000000..8e8e4343f --- /dev/null +++ b/d7/d07/bidirectional__dijkstra_8cpp_source.html @@ -0,0 +1,359 @@ + + + + + + + + +TheAlgorithms/C++: graph/bidirectional_dijkstra.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    bidirectional_dijkstra.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    16#include <cassert>
    +
    17#include <cstdint>
    +
    18#include <iostream>
    +
    19#include <limits>
    +
    20#include <queue>
    +
    21#include <utility>
    +
    22#include <vector>
    +
    23
    +
    24constexpr int64_t INF = std::numeric_limits<int64_t>::max();
    +
    25
    +
    30namespace graph {
    +
    37namespace bidirectional_dijkstra {
    +
    +
    46void addEdge(std::vector<std::vector<std::pair<uint64_t, uint64_t>>> *adj1,
    +
    47 std::vector<std::vector<std::pair<uint64_t, uint64_t>>> *adj2,
    +
    48 uint64_t u, uint64_t v, uint64_t w) {
    +
    49 (*adj1)[u - 1].push_back(std::make_pair(v - 1, w));
    +
    50 (*adj2)[v - 1].push_back(std::make_pair(u - 1, w));
    +
    51 // (*adj)[v - 1].push_back(std::make_pair(u - 1, w));
    +
    52}
    +
    +
    + +
    63 const std::vector<uint64_t> &workset_,
    +
    64 const std::vector<std::vector<uint64_t>> &distance_) {
    +
    65 int64_t distance = INF;
    +
    66 for (uint64_t i : workset_) {
    +
    67 if (distance_[0][i] + distance_[1][i] < distance) {
    +
    68 distance = distance_[0][i] + distance_[1][i];
    +
    69 }
    +
    70 }
    +
    71 return distance;
    +
    72}
    +
    +
    73
    +
    +
    87int Bidijkstra(std::vector<std::vector<std::pair<uint64_t, uint64_t>>> *adj1,
    +
    88 std::vector<std::vector<std::pair<uint64_t, uint64_t>>> *adj2,
    +
    89 uint64_t s, uint64_t t) {
    +
    91 uint64_t n = adj1->size();
    +
    92
    +
    94 std::vector<std::vector<uint64_t>> dist(2, std::vector<uint64_t>(n, INF));
    +
    95
    +
    99
    +
    102 std::vector<
    +
    103 std::priority_queue<std::pair<uint64_t, uint64_t>,
    +
    104 std::vector<std::pair<uint64_t, uint64_t>>,
    +
    105 std::greater<std::pair<uint64_t, uint64_t>>>>
    +
    106 pq(2);
    +
    108 std::vector<uint64_t> workset(n);
    +
    110 std::vector<bool> visited(n);
    +
    111
    +
    113 pq[0].push(std::make_pair(0, s));
    +
    114
    +
    116 dist[0][s] = 0;
    +
    117
    +
    119 pq[1].push(std::make_pair(0, t));
    +
    120
    +
    122 dist[1][t] = 0;
    +
    123
    +
    124 while (true) {
    +
    126
    +
    127 // If pq[0].size() is equal to zero then the node/ vertex is not
    +
    128 // reachable from s
    +
    129 if (pq[0].size() == 0) {
    +
    130 break;
    +
    131 }
    +
    133 uint64_t currentNode = pq[0].top().second;
    +
    134
    +
    136 uint64_t currentDist = pq[0].top().first;
    +
    137
    +
    138 pq[0].pop();
    +
    139
    +
    142 for (std::pair<int, int> edge : (*adj1)[currentNode]) {
    +
    144 if (currentDist + edge.second < dist[0][edge.first]) {
    +
    145 dist[0][edge.first] = currentDist + edge.second;
    +
    146 pq[0].push(std::make_pair(dist[0][edge.first], edge.first));
    +
    147 }
    +
    148 }
    +
    149 // store the processed node/ vertex
    +
    150 workset.push_back(currentNode);
    +
    151
    +
    153 if (visited[currentNode] == 1) {
    +
    154 return Shortest_Path_Distance(workset, dist);
    +
    155 }
    +
    156 visited[currentNode] = true;
    +
    158
    +
    159 // If pq[1].size() is equal to zero then the node/ vertex is not
    +
    160 // reachable from t
    +
    161 if (pq[1].size() == 0) {
    +
    162 break;
    +
    163 }
    +
    165 currentNode = pq[1].top().second;
    +
    166
    +
    168 currentDist = pq[1].top().first;
    +
    169
    +
    170 pq[1].pop();
    +
    171
    +
    174 for (std::pair<int, int> edge : (*adj2)[currentNode]) {
    +
    176 if (currentDist + edge.second < dist[1][edge.first]) {
    +
    177 dist[1][edge.first] = currentDist + edge.second;
    +
    178 pq[1].push(std::make_pair(dist[1][edge.first], edge.first));
    +
    179 }
    +
    180 }
    +
    181 // store the processed node/ vertex
    +
    182 workset.push_back(currentNode);
    +
    183
    +
    185 if (visited[currentNode] == 1) {
    +
    186 return Shortest_Path_Distance(workset, dist);
    +
    187 }
    +
    188 visited[currentNode] = true;
    +
    189 }
    +
    190 return -1;
    +
    191}
    +
    +
    192} // namespace bidirectional_dijkstra
    +
    193} // namespace graph
    +
    194
    +
    +
    200static void tests() {
    +
    201 std::cout << "Initiatinig Predefined Tests..." << std::endl;
    +
    202 std::cout << "Initiating Test 1..." << std::endl;
    +
    203 std::vector<std::vector<std::pair<uint64_t, uint64_t>>> adj1_1(
    +
    204 4, std::vector<std::pair<uint64_t, uint64_t>>());
    +
    205 std::vector<std::vector<std::pair<uint64_t, uint64_t>>> adj1_2(
    +
    206 4, std::vector<std::pair<uint64_t, uint64_t>>());
    +
    207 graph::bidirectional_dijkstra::addEdge(&adj1_1, &adj1_2, 1, 2, 1);
    +
    208 graph::bidirectional_dijkstra::addEdge(&adj1_1, &adj1_2, 4, 1, 2);
    +
    209 graph::bidirectional_dijkstra::addEdge(&adj1_1, &adj1_2, 2, 3, 2);
    +
    210 graph::bidirectional_dijkstra::addEdge(&adj1_1, &adj1_2, 1, 3, 5);
    +
    211
    +
    212 uint64_t s = 1, t = 3;
    +
    213 assert(graph::bidirectional_dijkstra::Bidijkstra(&adj1_1, &adj1_2, s - 1,
    +
    214 t - 1) == 3);
    +
    215 std::cout << "Test 1 Passed..." << std::endl;
    +
    216
    +
    217 s = 4, t = 3;
    +
    218 std::cout << "Initiating Test 2..." << std::endl;
    +
    219 assert(graph::bidirectional_dijkstra::Bidijkstra(&adj1_1, &adj1_2, s - 1,
    +
    220 t - 1) == 5);
    +
    221 std::cout << "Test 2 Passed..." << std::endl;
    +
    222
    +
    223 std::vector<std::vector<std::pair<uint64_t, uint64_t>>> adj2_1(
    +
    224 5, std::vector<std::pair<uint64_t, uint64_t>>());
    +
    225 std::vector<std::vector<std::pair<uint64_t, uint64_t>>> adj2_2(
    +
    226 5, std::vector<std::pair<uint64_t, uint64_t>>());
    +
    227 graph::bidirectional_dijkstra::addEdge(&adj2_1, &adj2_2, 1, 2, 4);
    +
    228 graph::bidirectional_dijkstra::addEdge(&adj2_1, &adj2_2, 1, 3, 2);
    +
    229 graph::bidirectional_dijkstra::addEdge(&adj2_1, &adj2_2, 2, 3, 2);
    +
    230 graph::bidirectional_dijkstra::addEdge(&adj2_1, &adj2_2, 3, 2, 1);
    +
    231 graph::bidirectional_dijkstra::addEdge(&adj2_1, &adj2_2, 2, 4, 2);
    +
    232 graph::bidirectional_dijkstra::addEdge(&adj2_1, &adj2_2, 3, 5, 4);
    +
    233 graph::bidirectional_dijkstra::addEdge(&adj2_1, &adj2_2, 5, 4, 1);
    +
    234 graph::bidirectional_dijkstra::addEdge(&adj2_1, &adj2_2, 2, 5, 3);
    +
    235 graph::bidirectional_dijkstra::addEdge(&adj2_1, &adj2_2, 3, 4, 4);
    +
    236
    +
    237 s = 1, t = 5;
    +
    238 std::cout << "Initiating Test 3..." << std::endl;
    +
    239 assert(graph::bidirectional_dijkstra::Bidijkstra(&adj2_1, &adj2_2, s - 1,
    +
    240 t - 1) == 6);
    +
    241 std::cout << "Test 3 Passed..." << std::endl;
    +
    242 std::cout << "All Test Passed..." << std::endl << std::endl;
    +
    243}
    +
    +
    244
    +
    +
    249int main() {
    +
    250 tests(); // running predefined tests
    +
    251 uint64_t vertices = uint64_t();
    +
    252 uint64_t edges = uint64_t();
    +
    253 std::cout << "Enter the number of vertices : ";
    +
    254 std::cin >> vertices;
    +
    255 std::cout << "Enter the number of edges : ";
    +
    256 std::cin >> edges;
    +
    257
    +
    258 std::vector<std::vector<std::pair<uint64_t, uint64_t>>> adj1(
    +
    259 vertices, std::vector<std::pair<uint64_t, uint64_t>>());
    +
    260 std::vector<std::vector<std::pair<uint64_t, uint64_t>>> adj2(
    +
    261 vertices, std::vector<std::pair<uint64_t, uint64_t>>());
    +
    262
    +
    263 uint64_t u = uint64_t(), v = uint64_t(), w = uint64_t();
    +
    264 std::cout << "Enter the edges by three integers in this form: u v w "
    +
    265 << std::endl;
    +
    266 std::cout << "Example: if there is and edge between node 1 and node 4 with "
    +
    267 "weight 7 enter: 1 4 7, and then press enter"
    +
    268 << std::endl;
    +
    269 while (edges--) {
    +
    270 std::cin >> u >> v >> w;
    +
    271 graph::bidirectional_dijkstra::addEdge(&adj1, &adj2, u, v, w);
    +
    272 if (edges != 0) {
    +
    273 std::cout << "Enter the next edge" << std::endl;
    +
    274 }
    +
    275 }
    +
    276
    +
    277 uint64_t s = uint64_t(), t = uint64_t();
    +
    278 std::cout
    +
    279 << "Enter the source node and the target node separated by a space"
    +
    280 << std::endl;
    +
    281 std::cout << "Example: If the source node is 5 and the target node is 6 "
    +
    282 "enter: 5 6 and press enter"
    +
    283 << std::endl;
    +
    284 std::cin >> s >> t;
    +
    285 int dist =
    +
    286 graph::bidirectional_dijkstra::Bidijkstra(&adj1, &adj2, s - 1, t - 1);
    +
    287 if (dist == -1) {
    +
    288 std::cout << "Target not reachable from source" << std::endl;
    +
    289 } else {
    +
    290 std::cout << "Shortest Path Distance : " << dist << std::endl;
    +
    291 }
    +
    292
    +
    293 return 0;
    +
    294}
    +
    +
    int Bidijkstra(std::vector< std::vector< std::pair< uint64_t, uint64_t > > > *adj1, std::vector< std::vector< std::pair< uint64_t, uint64_t > > > *adj2, uint64_t s, uint64_t t)
    Function runs the dijkstra algorithm for some source vertex and target vertex in the graph and return...
    +
    uint64_t Shortest_Path_Distance(const std::vector< uint64_t > &workset_, const std::vector< std::vector< uint64_t > > &distance_)
    This function returns the shortest distance from the source to the target if there is path between ve...
    +
    constexpr int64_t INF
    for assert
    +
    static void tests()
    Function to test the provided algorithm above.
    +
    void addEdge(std::vector< std::vector< std::pair< uint64_t, uint64_t > > > *adj1, std::vector< std::vector< std::pair< uint64_t, uint64_t > > > *adj2, uint64_t u, uint64_t v, uint64_t w)
    Function that add edge between two nodes or vertices of graph.
    +
    int main()
    Main function.
    +
    Functions for [Bidirectional Dijkstra Shortest Path] (https://www.coursera.org/learn/algorithms-on-gr...
    +
    Graph Algorithms.
    +
    +
    + + + + diff --git a/d7/d08/namespacegraph__coloring.html b/d7/d08/namespacegraph__coloring.html index dbe00a5c5..3abb7ebeb 100644 --- a/d7/d08/namespacegraph__coloring.html +++ b/d7/d08/namespacegraph__coloring.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: graph_coloring Namespace Reference +TheAlgorithms/C++: graph_coloring Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/d7/d0a/namespacetrie__using__hashmap.html b/d7/d0a/namespacetrie__using__hashmap.html index a412c8137..7d6bc8dc5 100644 --- a/d7/d0a/namespacetrie__using__hashmap.html +++ b/d7/d0a/namespacetrie__using__hashmap.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: trie_using_hashmap Namespace Reference +TheAlgorithms/C++: trie_using_hashmap Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/d7/d0b/classdata__structures_1_1_skip_list__coll__graph.map b/d7/d0b/classdata__structures_1_1_skip_list__coll__graph.map index b7592410d..b29e6ccff 100644 --- a/d7/d0b/classdata__structures_1_1_skip_list__coll__graph.map +++ b/d7/d0b/classdata__structures_1_1_skip_list__coll__graph.map @@ -1,8 +1,8 @@ - + - + diff --git a/d7/d0b/classdata__structures_1_1_skip_list__coll__graph.md5 b/d7/d0b/classdata__structures_1_1_skip_list__coll__graph.md5 index 2c8fba603..0a1b1386c 100644 --- a/d7/d0b/classdata__structures_1_1_skip_list__coll__graph.md5 +++ b/d7/d0b/classdata__structures_1_1_skip_list__coll__graph.md5 @@ -1 +1 @@ -7d591c73646989cdb4b5e3b2b2f2f914 \ No newline at end of file +37e3d822cecb05c3a54ba3a940c694c6 \ No newline at end of file diff --git a/d7/d0b/classdata__structures_1_1_skip_list__coll__graph.svg b/d7/d0b/classdata__structures_1_1_skip_list__coll__graph.svg index d298d7729..e2403636c 100644 --- a/d7/d0b/classdata__structures_1_1_skip_list__coll__graph.svg +++ b/d7/d0b/classdata__structures_1_1_skip_list__coll__graph.svg @@ -31,7 +31,7 @@ Node2 - + std::shared_ptr< data _structures::Node > @@ -51,7 +51,7 @@ Node4 - + std::vector< std::shared _ptr< data_structures:: diff --git a/d7/d0b/classdata__structures_1_1_skip_list__coll__graph_org.svg b/d7/d0b/classdata__structures_1_1_skip_list__coll__graph_org.svg index cc32468d9..65d127bfb 100644 --- a/d7/d0b/classdata__structures_1_1_skip_list__coll__graph_org.svg +++ b/d7/d0b/classdata__structures_1_1_skip_list__coll__graph_org.svg @@ -20,7 +20,7 @@ Node2 - + std::shared_ptr< data _structures::Node > @@ -40,7 +40,7 @@ Node4 - + std::vector< std::shared _ptr< data_structures:: diff --git a/d7/d1b/md__r_e_v_i_e_w_e_r___c_o_d_e.html b/d7/d1b/md__r_e_v_i_e_w_e_r___c_o_d_e.html index 47977b51c..82139b747 100644 --- a/d7/d1b/md__r_e_v_i_e_w_e_r___c_o_d_e.html +++ b/d7/d1b/md__r_e_v_i_e_w_e_r___c_o_d_e.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Guidelines for reviewers and maintainers +TheAlgorithms/C++: Guidelines for reviewers and maintainers + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/d7/d21/classstack__linked_list-members.html b/d7/d21/classstack__linked_list-members.html index c74430833..a1ca76968 100644 --- a/d7/d21/classstack__linked_list-members.html +++ b/d7/d21/classstack__linked_list-members.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Member List +TheAlgorithms/C++: Member List + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/d7/d24/nqueen__print__all__solutions_8cpp.html b/d7/d24/nqueen__print__all__solutions_8cpp.html index 85dd75c53..80bd0a160 100644 --- a/d7/d24/nqueen__print__all__solutions_8cpp.html +++ b/d7/d24/nqueen__print__all__solutions_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: backtracking/nqueen_print_all_solutions.cpp File Reference +TheAlgorithms/C++: backtracking/nqueen_print_all_solutions.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + @@ -120,7 +137,9 @@ Include dependency graph for nqueen_print_all_solutions.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -133,15 +152,15 @@ Namespaces - + - + - + @@ -153,6 +172,8 @@ Functions
    Author
    Himani Negi
    David Leal
    + +

    Definition in file nqueen_print_all_solutions.cpp.

    Function Documentation

    ◆ CanIMove()

    @@ -165,7 +186,7 @@ template<size_t n> - + @@ -201,21 +222,20 @@ template<size_t n>

    check in the row

    check the first diagonal

    check the second diagonal

    -
    52 {
    -
    53 /// check in the row
    -
    54 for (int i = 0; i < col; i++) {
    + +

    Definition at line 51 of file nqueen_print_all_solutions.cpp.

    +
    52 {
    +
    54 for (int i = 0; i < col; i++) {
    55 if (board[row][i] == 1) {
    56 return false;
    57 }
    -
    58 }
    -
    59 /// check the first diagonal
    -
    60 for (int i = row, j = col; i >= 0 && j >= 0; i--, j--) {
    +
    58 }
    +
    60 for (int i = row, j = col; i >= 0 && j >= 0; i--, j--) {
    61 if (board[i][j] == 1) {
    62 return false;
    63 }
    -
    64 }
    -
    65 /// check the second diagonal
    -
    66 for (int i = row, j = col; i <= n - 1 && j >= 0; i++, j--) {
    +
    64 }
    +
    66 for (int i = row, j = col; i <= n - 1 && j >= 0; i++, j--) {
    67 if (board[i][j] == 1) {
    68 return false;
    69 }
    @@ -242,14 +262,15 @@ template<size_t n>

    Main function.

    Returns
    0 on exit
    + +

    Definition at line 101 of file nqueen_print_all_solutions.cpp.

    101 {
    102 const int n = 4;
    - +
    103 std::array<std::array<int, n>, n> board{0};
    104
    106}
    - -
    void NQueenSol(std::array< std::array< int, n >, n > board, int col)
    Main function to solve the N Queens problem.
    Definition nqueen_print_all_solutions.cpp:81
    +
    void NQueenSol(std::array< std::array< int, n >, n > board, int col)
    Main function to solve the N Queens problem.
    @@ -264,7 +285,7 @@ template<size_t n> - + @@ -288,6 +309,8 @@ template<size_t n>

    Namespaces

    namespace  backtracking

    Functions

    template<size_t n>
    void backtracking::n_queens_all_solutions::PrintSol (const std::array< std::array< int, n >, n > &board)
    void backtracking::n_queens_all_solutions::PrintSol (const std::array< std::array< int, n >, n > &board)
     Utility function to print matrix.
     
    template<size_t n>
    bool backtracking::n_queens_all_solutions::CanIMove (const std::array< std::array< int, n >, n > &board, int row, int col)
    bool backtracking::n_queens_all_solutions::CanIMove (const std::array< std::array< int, n >, n > &board, int row, int col)
     Check if a queen can be placed on the matrix.
     
    template<size_t n>
    void backtracking::n_queens_all_solutions::NQueenSol (std::array< std::array< int, n >, n > board, int col)
    void backtracking::n_queens_all_solutions::NQueenSol (std::array< std::array< int, n >, n > board, int col)
     Main function to solve the N Queens problem.
     
    int main ()
    bool backtracking::n_queens_all_solutions::CanIMove (const std::array< std::array< int, n >, n > & board, const std::array< std::array< int, n >, n > & board,
    void backtracking::n_queens_all_solutions::NQueenSol (std::array< std::array< int, n >, n > board, std::array< std::array< int, n >, n > board,
    + +

    Definition at line 81 of file nqueen_print_all_solutions.cpp.

    81 {
    82 if (col >= n) {
    83 PrintSol(board);
    @@ -301,9 +324,9 @@ template<size_t n>
    91 }
    92 }
    93}
    -
    void PrintSol(const std::array< std::array< int, n >, n > &board)
    Definition n_queens_all_solution_optimised.cpp:30
    -
    void NQueenSol(std::array< std::array< int, n >, n > board, int col)
    Definition n_queens_all_solution_optimised.cpp:89
    -
    bool CanIMove(const std::array< std::array< int, n >, n > &board, int row, int col)
    Definition n_queens_all_solution_optimised.cpp:59
    +
    void PrintSol(const std::array< std::array< int, n >, n > &board)
    +
    void NQueenSol(std::array< std::array< int, n >, n > board, int col)
    +
    bool CanIMove(const std::array< std::array< int, n >, n > &board, int row, int col)
    @@ -318,7 +341,7 @@ template<size_t n> void backtracking::n_queens_all_solutions::PrintSol ( - const std::array< std::array< int, n >, n > & board) + const std::array< std::array< int, n >, n > & board) @@ -337,23 +360,18 @@ template<size_t n> + +

    Definition at line 31 of file nqueen_print_all_solutions.cpp.

    31 {
    32 for (int i = 0; i < n; i++) {
    33 for (int j = 0; j < n; j++) {
    -
    34 std::cout << board[i][j] << " ";
    +
    34 std::cout << board[i][j] << " ";
    35 }
    - +
    36 std::cout << std::endl;
    37 }
    - +
    38 std::cout << std::endl;
    39}
    - -
    T endl(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + diff --git a/d7/d24/nqueen__print__all__solutions_8cpp_aebd5e11fab6dab282efccfb61beb0bd9_cgraph.map b/d7/d24/nqueen__print__all__solutions_8cpp_aebd5e11fab6dab282efccfb61beb0bd9_cgraph.map deleted file mode 100644 index 20464f214..000000000 --- a/d7/d24/nqueen__print__all__solutions_8cpp_aebd5e11fab6dab282efccfb61beb0bd9_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d7/d24/nqueen__print__all__solutions_8cpp_aebd5e11fab6dab282efccfb61beb0bd9_cgraph.md5 b/d7/d24/nqueen__print__all__solutions_8cpp_aebd5e11fab6dab282efccfb61beb0bd9_cgraph.md5 deleted file mode 100644 index ef322a165..000000000 --- a/d7/d24/nqueen__print__all__solutions_8cpp_aebd5e11fab6dab282efccfb61beb0bd9_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -8a158d3db0024949bfd06cf0c45cd518 \ No newline at end of file diff --git a/d7/d24/nqueen__print__all__solutions_8cpp_aebd5e11fab6dab282efccfb61beb0bd9_cgraph.svg b/d7/d24/nqueen__print__all__solutions_8cpp_aebd5e11fab6dab282efccfb61beb0bd9_cgraph.svg deleted file mode 100644 index a47d07cad..000000000 --- a/d7/d24/nqueen__print__all__solutions_8cpp_aebd5e11fab6dab282efccfb61beb0bd9_cgraph.svg +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - - - - - - - -backtracking::n_queens_all_solutions::PrintSol - - -Node1 - - -backtracking::n_queens -_all_solutions::PrintSol - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d7/d24/nqueen__print__all__solutions_8cpp_aebd5e11fab6dab282efccfb61beb0bd9_cgraph_org.svg b/d7/d24/nqueen__print__all__solutions_8cpp_aebd5e11fab6dab282efccfb61beb0bd9_cgraph_org.svg deleted file mode 100644 index cfb6fdc67..000000000 --- a/d7/d24/nqueen__print__all__solutions_8cpp_aebd5e11fab6dab282efccfb61beb0bd9_cgraph_org.svg +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - -backtracking::n_queens_all_solutions::PrintSol - - -Node1 - - -backtracking::n_queens -_all_solutions::PrintSol - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - diff --git a/d7/d24/nqueen__print__all__solutions_8cpp_source.html b/d7/d24/nqueen__print__all__solutions_8cpp_source.html new file mode 100644 index 000000000..96e00c050 --- /dev/null +++ b/d7/d24/nqueen__print__all__solutions_8cpp_source.html @@ -0,0 +1,209 @@ + + + + + + + + +TheAlgorithms/C++: backtracking/nqueen_print_all_solutions.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    nqueen_print_all_solutions.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    10#include <array>
    +
    11#include <iostream>
    +
    12
    +
    17namespace backtracking {
    +
    24namespace n_queens_all_solutions {
    +
    30template <size_t n>
    +
    +
    31void PrintSol(const std::array<std::array<int, n>, n>& board) {
    +
    32 for (int i = 0; i < n; i++) {
    +
    33 for (int j = 0; j < n; j++) {
    +
    34 std::cout << board[i][j] << " ";
    +
    35 }
    +
    36 std::cout << std::endl;
    +
    37 }
    +
    38 std::cout << std::endl;
    +
    39}
    +
    +
    40
    +
    50template <size_t n>
    +
    +
    51bool CanIMove(const std::array<std::array<int, n>, n>& board, int row,
    +
    52 int col) {
    +
    54 for (int i = 0; i < col; i++) {
    +
    55 if (board[row][i] == 1) {
    +
    56 return false;
    +
    57 }
    +
    58 }
    +
    60 for (int i = row, j = col; i >= 0 && j >= 0; i--, j--) {
    +
    61 if (board[i][j] == 1) {
    +
    62 return false;
    +
    63 }
    +
    64 }
    +
    66 for (int i = row, j = col; i <= n - 1 && j >= 0; i++, j--) {
    +
    67 if (board[i][j] == 1) {
    +
    68 return false;
    +
    69 }
    +
    70 }
    +
    71 return true;
    +
    72}
    +
    +
    73
    +
    80template <size_t n>
    +
    +
    81void NQueenSol(std::array<std::array<int, n>, n> board, int col) {
    +
    82 if (col >= n) {
    +
    83 PrintSol(board);
    +
    84 return;
    +
    85 }
    +
    86 for (int i = 0; i < n; i++) {
    +
    87 if (CanIMove(board, i, col)) {
    +
    88 board[i][col] = 1;
    +
    89 NQueenSol(board, col + 1);
    +
    90 board[i][col] = 0;
    +
    91 }
    +
    92 }
    +
    93}
    +
    +
    94} // namespace n_queens_all_solutions
    +
    95} // namespace backtracking
    +
    96
    +
    +
    101int main() {
    +
    102 const int n = 4;
    +
    103 std::array<std::array<int, n>, n> board{0};
    +
    104
    +
    105 backtracking::n_queens_all_solutions::NQueenSol(board, 0);
    +
    106}
    +
    +
    for vector container
    +
    Functions for the Eight Queens puzzle with all solutions.
    +
    int main()
    Main function.
    +
    +
    + + + + diff --git a/d7/d31/classqueue__coll__graph.map b/d7/d31/classqueue__coll__graph.map index 21224da7d..ac9941ba4 100644 --- a/d7/d31/classqueue__coll__graph.map +++ b/d7/d31/classqueue__coll__graph.map @@ -1,12 +1,10 @@ - - - + + + - + - - diff --git a/d7/d31/classqueue__coll__graph.md5 b/d7/d31/classqueue__coll__graph.md5 index de1800c81..81123d93b 100644 --- a/d7/d31/classqueue__coll__graph.md5 +++ b/d7/d31/classqueue__coll__graph.md5 @@ -1 +1 @@ -539641bb1192127b843f1b74ac2ccde0 \ No newline at end of file +5ec1ceaaeb3e1bd04ad856d677c1e8fd \ No newline at end of file diff --git a/d7/d31/classqueue__coll__graph.svg b/d7/d31/classqueue__coll__graph.svg index cdbce2d38..2089d9575 100644 --- a/d7/d31/classqueue__coll__graph.svg +++ b/d7/d31/classqueue__coll__graph.svg @@ -4,8 +4,8 @@ - + @@ -23,15 +23,15 @@ Node1 - -queue< ValueType > + +queue< ValueType > Node2 - + std::shared_ptr< Node > @@ -41,12 +41,12 @@ Node2->Node1 - - + + - queueFront -queueRear + queueFront +queueRear @@ -80,7 +80,7 @@ Node4 - + std::shared_ptr< Node < ValueType > > @@ -97,25 +97,6 @@ next - - -Node5 - - -std::size_t - - - - - -Node5->Node1 - - - - - - size - diff --git a/d7/d31/classqueue__coll__graph_org.svg b/d7/d31/classqueue__coll__graph_org.svg index e10d95332..2ad7cff43 100644 --- a/d7/d31/classqueue__coll__graph_org.svg +++ b/d7/d31/classqueue__coll__graph_org.svg @@ -4,23 +4,23 @@ - + queue< ValueType > Node1 - -queue< ValueType > + +queue< ValueType > Node2 - + std::shared_ptr< Node > @@ -30,12 +30,12 @@ Node2->Node1 - - + + - queueFront -queueRear + queueFront +queueRear @@ -69,7 +69,7 @@ Node4 - + std::shared_ptr< Node < ValueType > > @@ -86,24 +86,5 @@ next - - -Node5 - - -std::size_t - - - - - -Node5->Node1 - - - - - - size - diff --git a/d7/d35/matrix__exponentiation_8cpp.html b/d7/d35/matrix__exponentiation_8cpp.html index 23d0bfe10..ec16ebae1 100644 --- a/d7/d35/matrix__exponentiation_8cpp.html +++ b/d7/d35/matrix__exponentiation_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: others/matrix_exponentiation.cpp File Reference +TheAlgorithms/C++: others/matrix_exponentiation.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -121,7 +138,9 @@ Include dependency graph for matrix_exponentiation.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -130,15 +149,14 @@ Macros - +

    Macros

    #define ll   int64_t
     
    #define pb   push_back
     
    -#define MOD   1000000007
    #define MOD   1000000007
     
    - + - + @@ -149,10 +167,9 @@ Functions Variables - + - +

    Functions

    vector< vector< ll > > multiply (const vector< vector< ll > > &A, const vector< vector< ll > > &B)
    vector< vector< ll > > multiply (const vector< vector< ll > > &A, const vector< vector< ll > > &B)
     
    vector< vector< ll > > power (const vector< vector< ll > > &A, ll p)
    vector< vector< ll > > power (const vector< vector< ll > > &A, ll p)
     
    ll ans (ll n)
     
    ll mat_size
     
    vector< llfib_b
    vector< llfib_b
     
    -vector< llfib_c
    vector< llfib_c
     

    Detailed Description

    @@ -172,6 +189,8 @@ This way you can find the \(10^{18}\) fibonacci numberMOD. I have given a genera
  • Multiply with F to get the last matrix of size (1 \(\times\)k).
  • The first element of this matrix is the required result.

    + +

    Definition in file matrix_exponentiation.cpp.

    Macro Definition Documentation

    ◆ endl

    @@ -184,7 +203,9 @@ This way you can find the \(10^{18}\) fibonacci numberMOD. I have given a genera
    -

    shorthand definition for std::endl

    +

    shorthand definition for std::endl

    + +

    Definition at line 36 of file matrix_exponentiation.cpp.

    @@ -201,6 +222,24 @@ This way you can find the \(10^{18}\) fibonacci numberMOD. I have given a genera

    shorthand definition for int64_t

    +

    Definition at line 33 of file matrix_exponentiation.cpp.

    + +
    + + +

    ◆ MOD

    + +
    +
    + + + + +
    #define MOD   1000000007
    +
    + +

    Definition at line 40 of file matrix_exponentiation.cpp.

    +
    @@ -216,6 +255,8 @@ This way you can find the \(10^{18}\) fibonacci numberMOD. I have given a genera

    shorthand definition for int64_t

    +

    Definition at line 39 of file matrix_exponentiation.cpp.

    +

    Function Documentation

    @@ -240,17 +281,19 @@ This way you can find the \(10^{18}\) fibonacci numberMOD. I have given a genera
    Returns
    \(n^\text{th}\) Fibonacci number
    + +

    Definition at line 91 of file matrix_exponentiation.cpp.

    91 {
    92 if (n == 0)
    93 return 0;
    94 if (n <= mat_size)
    95 return fib_b[n - 1];
    96 // F1
    -
    97 vector<ll> F1(mat_size + 1);
    +
    97 vector<ll> F1(mat_size + 1);
    98 for (ll i = 1; i <= mat_size; i++) F1[i] = fib_b[i - 1];
    99
    100 // Transpose matrix
    - +
    101 vector<vector<ll>> T(mat_size + 1, vector<ll>(mat_size + 1));
    102 for (ll i = 1; i <= mat_size; i++) {
    103 for (ll j = 1; j <= mat_size; j++) {
    104 if (i < mat_size) {
    @@ -273,16 +316,10 @@ This way you can find the \(10^{18}\) fibonacci numberMOD. I have given a genera
    121 }
    122 return res;
    123}
    -
    vector< ll > fib_b
    Definition matrix_exponentiation.cpp:50
    -
    vector< vector< ll > > power(const vector< vector< ll > > &A, ll p)
    Definition matrix_exponentiation.cpp:76
    -
    ll mat_size
    Definition matrix_exponentiation.cpp:45
    - -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    vector< ll > fib_b
    +
    vector< vector< ll > > power(const vector< vector< ll > > &A, ll p)
    + + @@ -300,32 +337,32 @@ Here is the call graph for this function:

    Main function

    + +

    Definition at line 126 of file matrix_exponentiation.cpp.

    126 {
    -
    127 cin.tie(0);
    -
    128 cout.tie(0);
    +
    127 cin.tie(0);
    +
    128 cout.tie(0);
    129 ll t;
    -
    130 cin >> t;
    +
    130 cin >> t;
    131 ll i, j, x;
    132 while (t--) {
    -
    133 cin >> mat_size;
    +
    133 cin >> mat_size;
    134 for (i = 0; i < mat_size; i++) {
    -
    135 cin >> x;
    +
    135 cin >> x;
    136 fib_b.pb(x);
    137 }
    138 for (i = 0; i < mat_size; i++) {
    -
    139 cin >> x;
    +
    139 cin >> x;
    140 fib_c.pb(x);
    141 }
    -
    142 cin >> x;
    -
    143 cout << ans(x) << endl;
    +
    142 cin >> x;
    +
    143 cout << ans(x) << endl;
    144 fib_b.clear();
    145 fib_c.clear();
    146 }
    147 return 0;
    148}
    - - -
    #define endl
    Definition matrix_exponentiation.cpp:36
    +
    #define endl
    @@ -336,14 +373,14 @@ Here is the call graph for this function:
    - + - + - +
    vector< vector< ll > > multiply vector< vector< ll > > multiply (const vector< vector< ll > > & A, const vector< vector< ll > > & A,
    const vector< vector< ll > > & B )const vector< vector< ll > > & B )
    @@ -357,8 +394,10 @@ Here is the call graph for this function:
    Note
    \(p=n\)
    Returns
    matrix of dimension (m \(\times\)q)
    + +

    Definition at line 57 of file matrix_exponentiation.cpp.

    58 {
    - +
    59 vector<vector<ll>> C(mat_size + 1, vector<ll>(mat_size + 1));
    60 for (ll i = 1; i <= mat_size; i++) {
    61 for (ll j = 1; j <= mat_size; j++) {
    62 for (ll z = 1; z <= mat_size; z++) {
    @@ -378,9 +417,9 @@ Here is the call graph for this function:
    - + - + @@ -398,23 +437,20 @@ Here is the call graph for this function:
    Returns
    matrix of same dimension as A
    + +

    Definition at line 76 of file matrix_exponentiation.cpp.

    76 {
    77 if (p == 1)
    78 return A;
    79 if (p % 2 == 1) {
    80 return multiply(A, power(A, p - 1));
    81 } else {
    -
    82 vector<vector<ll>> X = power(A, p / 2);
    +
    82 vector<vector<ll>> X = power(A, p / 2);
    83 return multiply(X, X);
    84 }
    85}
    -
    vector< vector< ll > > multiply(const vector< vector< ll > > &A, const vector< vector< ll > > &B)
    Definition matrix_exponentiation.cpp:57
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    vector< vector< ll > > multiply(const vector< vector< ll > > &A, const vector< vector< ll > > &B)
    +

    Variable Documentation

    @@ -425,12 +461,30 @@ Here is the call graph for this function:
    vector< vector< ll > > power vector< vector< ll > > power (const vector< vector< ll > > & A, const vector< vector< ll > > & A,
    - +
    vector<ll> fib_bvector<ll> fib_b

    global vector variables used in the ans function.

    Todo
    @stepfencurryxiao add documetnation
    +

    Definition at line 50 of file matrix_exponentiation.cpp.

    + +
    + + +

    ◆ fib_c

    + +
    +
    + + + + +
    vector<ll> fib_c
    +
    + +

    Definition at line 50 of file matrix_exponentiation.cpp.

    +
    @@ -446,6 +500,8 @@ Here is the call graph for this function:

    global variable mat_size

    Todo
    @stepfencurryxiao add documetnation
    +

    Definition at line 45 of file matrix_exponentiation.cpp.

    +
    diff --git a/d7/d35/matrix__exponentiation_8cpp_a702a9fc90e79b05b863cc4efa26ae2ec_cgraph.map b/d7/d35/matrix__exponentiation_8cpp_a702a9fc90e79b05b863cc4efa26ae2ec_cgraph.map deleted file mode 100644 index e01c434b7..000000000 --- a/d7/d35/matrix__exponentiation_8cpp_a702a9fc90e79b05b863cc4efa26ae2ec_cgraph.map +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/d7/d35/matrix__exponentiation_8cpp_a702a9fc90e79b05b863cc4efa26ae2ec_cgraph.md5 b/d7/d35/matrix__exponentiation_8cpp_a702a9fc90e79b05b863cc4efa26ae2ec_cgraph.md5 deleted file mode 100644 index c067cb56d..000000000 --- a/d7/d35/matrix__exponentiation_8cpp_a702a9fc90e79b05b863cc4efa26ae2ec_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -65ddbcc1d4d01a612f5db988fa1562c7 \ No newline at end of file diff --git a/d7/d35/matrix__exponentiation_8cpp_a702a9fc90e79b05b863cc4efa26ae2ec_cgraph.svg b/d7/d35/matrix__exponentiation_8cpp_a702a9fc90e79b05b863cc4efa26ae2ec_cgraph.svg deleted file mode 100644 index a94d6e344..000000000 --- a/d7/d35/matrix__exponentiation_8cpp_a702a9fc90e79b05b863cc4efa26ae2ec_cgraph.svg +++ /dev/null @@ -1,74 +0,0 @@ - - - - - - - - - - - - -power - - -Node1 - - -power - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -multiply - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d7/d35/matrix__exponentiation_8cpp_a702a9fc90e79b05b863cc4efa26ae2ec_cgraph_org.svg b/d7/d35/matrix__exponentiation_8cpp_a702a9fc90e79b05b863cc4efa26ae2ec_cgraph_org.svg deleted file mode 100644 index 1f256d879..000000000 --- a/d7/d35/matrix__exponentiation_8cpp_a702a9fc90e79b05b863cc4efa26ae2ec_cgraph_org.svg +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - -power - - -Node1 - - -power - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -multiply - - - - - -Node1->Node2 - - - - - - - - diff --git a/d7/d35/matrix__exponentiation_8cpp_ad8389ed58fd0ec66df248014775ad1fa_cgraph.map b/d7/d35/matrix__exponentiation_8cpp_ad8389ed58fd0ec66df248014775ad1fa_cgraph.map deleted file mode 100644 index 779bc0003..000000000 --- a/d7/d35/matrix__exponentiation_8cpp_ad8389ed58fd0ec66df248014775ad1fa_cgraph.map +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/d7/d35/matrix__exponentiation_8cpp_ad8389ed58fd0ec66df248014775ad1fa_cgraph.md5 b/d7/d35/matrix__exponentiation_8cpp_ad8389ed58fd0ec66df248014775ad1fa_cgraph.md5 deleted file mode 100644 index 2eac9fefb..000000000 --- a/d7/d35/matrix__exponentiation_8cpp_ad8389ed58fd0ec66df248014775ad1fa_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -3212ee3797216d0e85687aead969692d \ No newline at end of file diff --git a/d7/d35/matrix__exponentiation_8cpp_ad8389ed58fd0ec66df248014775ad1fa_cgraph.svg b/d7/d35/matrix__exponentiation_8cpp_ad8389ed58fd0ec66df248014775ad1fa_cgraph.svg deleted file mode 100644 index 37630d58c..000000000 --- a/d7/d35/matrix__exponentiation_8cpp_ad8389ed58fd0ec66df248014775ad1fa_cgraph.svg +++ /dev/null @@ -1,92 +0,0 @@ - - - - - - - - - - - - -ans - - -Node1 - - -ans - - - - - -Node2 - - -power - - - - - -Node1->Node2 - - - - - - - - -Node2->Node2 - - - - - - - - -Node3 - - -multiply - - - - - -Node2->Node3 - - - - - - - - - - - - - diff --git a/d7/d35/matrix__exponentiation_8cpp_ad8389ed58fd0ec66df248014775ad1fa_cgraph_org.svg b/d7/d35/matrix__exponentiation_8cpp_ad8389ed58fd0ec66df248014775ad1fa_cgraph_org.svg deleted file mode 100644 index aa4516d7f..000000000 --- a/d7/d35/matrix__exponentiation_8cpp_ad8389ed58fd0ec66df248014775ad1fa_cgraph_org.svg +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - -ans - - -Node1 - - -ans - - - - - -Node2 - - -power - - - - - -Node1->Node2 - - - - - - - - -Node2->Node2 - - - - - - - - -Node3 - - -multiply - - - - - -Node2->Node3 - - - - - - - - diff --git a/d7/d35/matrix__exponentiation_8cpp_source.html b/d7/d35/matrix__exponentiation_8cpp_source.html new file mode 100644 index 000000000..0d815283e --- /dev/null +++ b/d7/d35/matrix__exponentiation_8cpp_source.html @@ -0,0 +1,251 @@ + + + + + + + + +TheAlgorithms/C++: others/matrix_exponentiation.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    matrix_exponentiation.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    25#include <iostream>
    +
    26#include <vector>
    +
    27
    +
    28using std::cin;
    +
    29using std::cout;
    +
    30using std::vector;
    +
    31
    +
    33#define ll int64_t
    +
    34
    +
    36#define endl std::endl
    +
    37
    +
    39#define pb push_back
    +
    40#define MOD 1000000007
    +
    41
    + +
    46
    +
    50vector<ll> fib_b, fib_c;
    +
    51
    +
    +
    57vector<vector<ll>> multiply(const vector<vector<ll>> &A,
    +
    58 const vector<vector<ll>> &B) {
    +
    59 vector<vector<ll>> C(mat_size + 1, vector<ll>(mat_size + 1));
    +
    60 for (ll i = 1; i <= mat_size; i++) {
    +
    61 for (ll j = 1; j <= mat_size; j++) {
    +
    62 for (ll z = 1; z <= mat_size; z++) {
    +
    63 C[i][j] = (C[i][j] + (A[i][z] * B[z][j]) % MOD) % MOD;
    +
    64 }
    +
    65 }
    +
    66 }
    +
    67 return C;
    +
    68}
    +
    +
    69
    +
    +
    76vector<vector<ll>> power(const vector<vector<ll>> &A, ll p) {
    +
    77 if (p == 1)
    +
    78 return A;
    +
    79 if (p % 2 == 1) {
    +
    80 return multiply(A, power(A, p - 1));
    +
    81 } else {
    +
    82 vector<vector<ll>> X = power(A, p / 2);
    +
    83 return multiply(X, X);
    +
    84 }
    +
    85}
    +
    +
    86
    +
    +
    91ll ans(ll n) {
    +
    92 if (n == 0)
    +
    93 return 0;
    +
    94 if (n <= mat_size)
    +
    95 return fib_b[n - 1];
    +
    96 // F1
    +
    97 vector<ll> F1(mat_size + 1);
    +
    98 for (ll i = 1; i <= mat_size; i++) F1[i] = fib_b[i - 1];
    +
    99
    +
    100 // Transpose matrix
    +
    101 vector<vector<ll>> T(mat_size + 1, vector<ll>(mat_size + 1));
    +
    102 for (ll i = 1; i <= mat_size; i++) {
    +
    103 for (ll j = 1; j <= mat_size; j++) {
    +
    104 if (i < mat_size) {
    +
    105 if (j == i + 1)
    +
    106 T[i][j] = 1;
    +
    107 else
    +
    108 T[i][j] = 0;
    +
    109 continue;
    +
    110 }
    +
    111 T[i][j] = fib_c[mat_size - j];
    +
    112 }
    +
    113 }
    +
    114 // T^n-1
    +
    115 T = power(T, n - 1);
    +
    116
    +
    117 // T*F1
    +
    118 ll res = 0;
    +
    119 for (ll i = 1; i <= mat_size; i++) {
    +
    120 res = (res + (T[1][i] * F1[i]) % MOD) % MOD;
    +
    121 }
    +
    122 return res;
    +
    123}
    +
    +
    124
    +
    +
    126int main() {
    +
    127 cin.tie(0);
    +
    128 cout.tie(0);
    +
    129 ll t;
    +
    130 cin >> t;
    +
    131 ll i, j, x;
    +
    132 while (t--) {
    +
    133 cin >> mat_size;
    +
    134 for (i = 0; i < mat_size; i++) {
    +
    135 cin >> x;
    +
    136 fib_b.pb(x);
    +
    137 }
    +
    138 for (i = 0; i < mat_size; i++) {
    +
    139 cin >> x;
    +
    140 fib_c.pb(x);
    +
    141 }
    +
    142 cin >> x;
    +
    143 cout << ans(x) << endl;
    +
    144 fib_b.clear();
    +
    145 fib_c.clear();
    +
    146 }
    +
    147 return 0;
    +
    148}
    +
    +
    vector< vector< ll > > multiply(const vector< vector< ll > > &A, const vector< vector< ll > > &B)
    +
    vector< ll > fib_b
    +
    #define endl
    +
    vector< vector< ll > > power(const vector< vector< ll > > &A, ll p)
    + + +
    +
    + + + + diff --git a/d7/d37/magic__sequence_8cpp_source.html b/d7/d37/magic__sequence_8cpp_source.html new file mode 100644 index 000000000..8d0cf8b71 --- /dev/null +++ b/d7/d37/magic__sequence_8cpp_source.html @@ -0,0 +1,237 @@ + + + + + + + + +TheAlgorithms/C++: backtracking/magic_sequence.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    magic_sequence.cpp
    +
    +
    +
    1/*
    +
    2 * @brief [Magic sequence](https://www.csplib.org/Problems/prob019/)
    +
    3 * implementation
    +
    4 *
    +
    5 * @details Solve the magic sequence problem with backtracking
    +
    6 *
    +
    7 * "A magic sequence of length $n$ is a sequence of integers $x_0
    +
    8 * \ldots x_{n-1}$ between $0$ and $n-1$, such that for all $i$
    +
    9 * in $0$ to $n-1$, the number $i$ occurs exactly $x_i$ times in
    +
    10 * the sequence. For instance, $6,2,1,0,0,0,1,0,0,0$ is a magic
    +
    11 * sequence since $0$ occurs $6$ times in it, $1$ occurs twice, etc."
    +
    12 * Quote taken from the [CSPLib](https://www.csplib.org/Problems/prob019/)
    +
    13 * website
    +
    14 *
    +
    15 * @author [Jxtopher](https://github.com/Jxtopher)
    +
    16 */
    +
    17
    +
    18#include <algorithm>
    +
    19#include <cassert>
    +
    20#include <iostream>
    +
    21#include <list>
    +
    22#include <numeric>
    +
    23#include <vector>
    +
    24
    +
    29namespace backtracking {
    +
    35namespace magic_sequence {
    +
    36using sequence_t =
    +
    37 std::vector<unsigned int>;
    +
    42void print(const sequence_t& s) {
    +
    43 for (const auto& item : s) std::cout << item << " ";
    +
    44 std::cout << std::endl;
    +
    45}
    +
    46
    +
    53bool is_magic(const sequence_t& s) {
    +
    54 for (unsigned int i = 0; i < s.size(); i++) {
    +
    55 if (std::count(s.cbegin(), s.cend(), i) != s[i]) {
    +
    56 return false;
    +
    57 }
    +
    58 }
    +
    59 return true;
    +
    60}
    +
    61
    +
    69bool filtering(const sequence_t& s, unsigned int depth) {
    +
    70 return std::accumulate(s.cbegin(), s.cbegin() + depth,
    +
    71 static_cast<unsigned int>(0)) <= s.size();
    +
    72}
    +
    73
    +
    80void solve(sequence_t* s, std::list<sequence_t>* ret, unsigned int depth = 0) {
    +
    81 if (depth == s->size()) {
    +
    82 if (is_magic(*s)) {
    +
    83 ret->push_back(*s);
    +
    84 }
    +
    85 } else {
    +
    86 for (unsigned int i = 0; i < s->size(); i++) {
    +
    87 (*s)[depth] = i;
    +
    88 if (filtering(*s, depth + 1)) {
    +
    89 solve(s, ret, depth + 1);
    +
    90 }
    +
    91 }
    +
    92 }
    +
    93}
    +
    94
    +
    95} // namespace magic_sequence
    +
    96} // namespace backtracking
    +
    97
    +
    102static void test() {
    +
    103 // test a valid magic sequence
    +
    104 backtracking::magic_sequence::sequence_t s_magic = {6, 2, 1, 0, 0,
    +
    105 0, 1, 0, 0, 0};
    +
    106 assert(backtracking::magic_sequence::is_magic(s_magic));
    +
    107
    +
    108 // test a non-valid magic sequence
    +
    109 backtracking::magic_sequence::sequence_t s_not_magic = {5, 2, 1, 0, 0,
    +
    110 0, 1, 0, 0, 0};
    +
    111 assert(!backtracking::magic_sequence::is_magic(s_not_magic));
    +
    112}
    +
    113
    +
    118int main() {
    +
    119 test(); // run self-test implementations
    +
    120
    +
    121 // solve magic sequences of size 2 to 11 and print the solutions
    +
    122 for (unsigned int i = 2; i < 12; i++) {
    +
    123 std::cout << "Solution for n = " << i << std::endl;
    +
    124 // valid magic sequence list
    +
    125 std::list<backtracking::magic_sequence::sequence_t> list_of_solutions;
    +
    126 // initialization of a sequence
    +
    127 backtracking::magic_sequence::sequence_t s1(i, i);
    +
    128 // launch of solving the problem
    +
    129 backtracking::magic_sequence::solve(&s1, &list_of_solutions);
    +
    130 // print solutions
    +
    131 for (const auto& item : list_of_solutions) {
    +
    132 backtracking::magic_sequence::print(item);
    +
    133 }
    +
    134 }
    +
    135 return 0;
    +
    136}
    +
    int main()
    Main function.
    +
    bool solve(int x, int y, int mov, std::array< std::array< int, V >, V > &sol, const std::array< int, V > &xmov, std::array< int, V > &ymov)
    +
    for vector container
    +
    Functions for the Magic sequence implementation.
    +
    +
    + + + + diff --git a/d7/d39/bridge__finding__with__tarjan__algorithm_8cpp_source.html b/d7/d39/bridge__finding__with__tarjan__algorithm_8cpp_source.html new file mode 100644 index 000000000..d7bfd0469 --- /dev/null +++ b/d7/d39/bridge__finding__with__tarjan__algorithm_8cpp_source.html @@ -0,0 +1,224 @@ + + + + + + + + +TheAlgorithms/C++: graph/bridge_finding_with_tarjan_algorithm.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    bridge_finding_with_tarjan_algorithm.cpp
    +
    +
    +
    1/*
    +
    2 * Copyright : 2020 , MIT
    +
    3 * Author : Amit Kumar (offamitkumar)
    +
    4 * Last Modified Date: May 24, 2020
    +
    5 *
    +
    6 */
    +
    7#include <algorithm> // for min & max
    +
    8#include <iostream> // for cout
    +
    9#include <vector> // for std::vector
    +
    10
    +
    +
    11class Solution {
    +
    12 std::vector<std::vector<int>> graph;
    +
    13 std::vector<int> in_time, out_time;
    +
    14 int timer = 0;
    +
    15 std::vector<std::vector<int>> bridge;
    +
    16 std::vector<bool> visited;
    +
    17 void dfs(int current_node, int parent) {
    +
    18 visited.at(current_node) = true;
    +
    19 in_time[current_node] = out_time[current_node] = timer++;
    +
    20 for (auto& itr : graph[current_node]) {
    +
    21 if (itr == parent) {
    +
    22 continue;
    +
    23 }
    +
    24 if (!visited[itr]) {
    +
    25 dfs(itr, current_node);
    +
    26 if (out_time[itr] > in_time[current_node]) {
    +
    27 bridge.push_back({itr, current_node});
    +
    28 }
    +
    29 }
    +
    30 out_time[current_node] =
    +
    31 std::min(out_time[current_node], out_time[itr]);
    +
    32 }
    +
    33 }
    +
    34
    +
    35 public:
    +
    36 std::vector<std::vector<int>> search_bridges(
    +
    37 int n, const std::vector<std::vector<int>>& connections) {
    +
    38 timer = 0;
    +
    39 graph.resize(n);
    +
    40 in_time.assign(n, 0);
    +
    41 visited.assign(n, false);
    +
    42 out_time.assign(n, 0);
    +
    43 for (auto& itr : connections) {
    +
    44 graph.at(itr[0]).push_back(itr[1]);
    +
    45 graph.at(itr[1]).push_back(itr[0]);
    +
    46 }
    +
    47 dfs(0, -1);
    +
    48 return bridge;
    +
    49 }
    +
    50};
    +
    +
    51
    +
    55int main() {
    +
    56 Solution s1;
    +
    57 int number_of_node = 5;
    +
    58 std::vector<std::vector<int>> node;
    +
    59 node.push_back({0, 1});
    +
    60 node.push_back({1, 3});
    +
    61 node.push_back({1, 2});
    +
    62 node.push_back({2, 4});
    +
    63 /*
    +
    64 * 0 <--> 1 <---> 2
    +
    65 * ^ ^
    +
    66 * | |
    +
    67 * | |
    +
    68 * \/ \/
    +
    69 * 3 4
    +
    70 *
    +
    71 * In this graph there are 4 bridges [0,2] , [2,4] , [3,5] , [1,2]
    +
    72 *
    +
    73 * I assumed that the graph is bi-directional and connected.
    +
    74 *
    +
    75 */
    +
    76 std::vector<std::vector<int>> bridges =
    +
    77 s1.search_bridges(number_of_node, node);
    +
    78 std::cout << bridges.size() << " bridges found!\n";
    +
    79 for (auto& itr : bridges) {
    +
    80 std::cout << itr[0] << " --> " << itr[1] << '\n';
    +
    81 }
    +
    82 return 0;
    +
    83}
    +
    struct node { int data; int height; struct node *left; struct node *right;} node
    for std::queue
    Definition avltree.cpp:13
    + +
    int main()
    Main function.
    +
    Graph Algorithms.
    + +
    +
    + + + + diff --git a/d7/d3f/namespacetravelling_salesman__bitmanipulation.html b/d7/d3f/namespacetravelling_salesman__bitmanipulation.html index d61aebefc..bf5da499f 100644 --- a/d7/d3f/namespacetravelling_salesman__bitmanipulation.html +++ b/d7/d3f/namespacetravelling_salesman__bitmanipulation.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: travellingSalesman_bitmanipulation Namespace Reference +TheAlgorithms/C++: travellingSalesman_bitmanipulation Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/d7/d40/class_solution__coll__graph.map b/d7/d40/class_solution__coll__graph.map index 7fb3a5ca3..b15317252 100644 --- a/d7/d40/class_solution__coll__graph.map +++ b/d7/d40/class_solution__coll__graph.map @@ -1,9 +1,9 @@ - + - + - + diff --git a/d7/d40/class_solution__coll__graph.md5 b/d7/d40/class_solution__coll__graph.md5 index 11eb31d24..eda9d2f03 100644 --- a/d7/d40/class_solution__coll__graph.md5 +++ b/d7/d40/class_solution__coll__graph.md5 @@ -1 +1 @@ -296f5ae6bbda45b09b885758cafab953 \ No newline at end of file +c0f21a4686a54bfbb42c01f7b60525c8 \ No newline at end of file diff --git a/d7/d40/class_solution__coll__graph.svg b/d7/d40/class_solution__coll__graph.svg index a88f99bf8..363559927 100644 --- a/d7/d40/class_solution__coll__graph.svg +++ b/d7/d40/class_solution__coll__graph.svg @@ -31,7 +31,7 @@ Node2 - + std::vector< std::vector < int > > @@ -52,7 +52,7 @@ Node3 - + std::vector< int > @@ -72,7 +72,7 @@ Node4 - + std::vector< bool > diff --git a/d7/d40/class_solution__coll__graph_org.svg b/d7/d40/class_solution__coll__graph_org.svg index ea5258087..9ed730a4c 100644 --- a/d7/d40/class_solution__coll__graph_org.svg +++ b/d7/d40/class_solution__coll__graph_org.svg @@ -20,7 +20,7 @@ Node2 - + std::vector< std::vector < int > > @@ -41,7 +41,7 @@ Node3 - + std::vector< int > @@ -61,7 +61,7 @@ Node4 - + std::vector< bool > diff --git a/d7/d43/stack__using__queue_8cpp_source.html b/d7/d43/stack__using__queue_8cpp_source.html new file mode 100644 index 000000000..16b2cc44f --- /dev/null +++ b/d7/d43/stack__using__queue_8cpp_source.html @@ -0,0 +1,222 @@ + + + + + + + + +TheAlgorithms/C++: data_structures/stack_using_queue.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + + +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    stack_using_queue.cpp
    +
    +
    +
    1
    +
    11#include <cassert>
    +
    12#include <cstdint>
    +
    13#include <iostream>
    +
    14#include <queue>
    +
    15
    +
    20namespace data_structures {
    +
    27namespace stack_using_queue {
    +
    +
    31struct Stack {
    +
    32 std::queue<int64_t> main_q;
    +
    33 std::queue<int64_t> auxiliary_q;
    +
    35 uint32_t current_size = 0;
    +
    36
    +
    41 int top() { return main_q.front(); }
    +
    42
    +
    +
    48 void push(int val) {
    +
    49 auxiliary_q.push(val);
    +
    50 while (!main_q.empty()) {
    +
    51 auxiliary_q.push(main_q.front());
    +
    52 main_q.pop();
    +
    53 }
    +
    54 swap(main_q, auxiliary_q);
    + +
    56 }
    +
    +
    57
    +
    +
    62 void pop() {
    +
    63 if (main_q.empty()) {
    +
    64 return;
    +
    65 }
    +
    66 main_q.pop();
    + +
    68 }
    +
    +
    69
    +
    74 int size() { return current_size; }
    +
    75};
    +
    +
    76} // namespace stack_using_queue
    +
    77} // namespace data_structures
    +
    78
    +
    83static void test() {
    + +
    85 s.push(1);
    +
    86 s.push(2);
    +
    87 s.push(3);
    +
    88
    +
    89 assert(s.size() == 3);
    +
    90
    +
    91 assert(s.top() == 3);
    +
    92
    +
    93 s.pop();
    +
    94 assert(s.top() == 2);
    +
    95
    +
    96 s.pop();
    +
    97 assert(s.top() == 1);
    +
    98
    +
    99 s.push(5);
    +
    100 assert(s.top() == 5);
    +
    101
    +
    102 s.pop();
    +
    103 assert(s.top() == 1);
    +
    104
    +
    105 assert(s.size() == 1);
    +
    106}
    +
    107
    +
    116int main() {
    +
    117 test(); // run self-test implementations
    +
    118 return 0;
    +
    119}
    +
    void test()
    +
    int main()
    Main function.
    +
    for IO operations
    +
    Functions for the Stack Using Queue implementation.
    +
    Stack Class implementation for basic methods of Stack Data Structure.
    + + +
    void pop()
    Removes the topmost element from the stack.
    +
    int size()
    Utility function to return the current size of the stack.
    +
    std::queue< int64_t > main_q
    stores the current state of the stack
    +
    void push(int val)
    Inserts an element to the top of the stack.
    +
    uint32_t current_size
    stores the current size of the stack
    +
    +
    + + + + diff --git a/d7/d47/namespace_x_o_r.html b/d7/d47/namespace_x_o_r.html index 07822b330..c150b0463 100644 --- a/d7/d47/namespace_x_o_r.html +++ b/d7/d47/namespace_x_o_r.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: XOR Namespace Reference +TheAlgorithms/C++: XOR Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/d7/d47/structstd_1_1is__integral_3_01uint256__t_01_4.html b/d7/d47/structstd_1_1is__integral_3_01uint256__t_01_4.html index db9e8ec56..9861bd176 100644 --- a/d7/d47/structstd_1_1is__integral_3_01uint256__t_01_4.html +++ b/d7/d47/structstd_1_1is__integral_3_01uint256__t_01_4.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: std::is_integral< uint256_t > Struct Reference +TheAlgorithms/C++: std::is_integral< uint256_t > Struct Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + @@ -117,7 +134,10 @@ Collaboration diagram for std::is_integral< uint256_t >:
    [legend]
    -
    The documentation for this struct was generated from the following file:
      +

      Detailed Description

      +
      +

      Definition at line 21 of file uint256_t.hpp.

      +

      The documentation for this struct was generated from the following file: @@ -125,7 +145,7 @@ Collaboration diagram for std::is_integral< uint256_t >: diff --git a/d7/d48/structgeometry_1_1grahamscan_1_1_point.html b/d7/d48/structgeometry_1_1grahamscan_1_1_point.html index 3205ef5ed..0d31712ff 100644 --- a/d7/d48/structgeometry_1_1grahamscan_1_1_point.html +++ b/d7/d48/structgeometry_1_1grahamscan_1_1_point.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: geometry::grahamscan::Point Struct Reference +TheAlgorithms/C++: geometry::grahamscan::Point Struct Reference + + + @@ -18,14 +24,24 @@ - - + +
      @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + @@ -113,13 +130,47 @@ $(function(){initNavTree('d7/d48/structgeometry_1_1grahamscan_1_1_point.html','.
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    - + - +

    Public Attributes

    -int x
    int x
     
    -int y
    int y
     
    +

    Detailed Description

    +
    +

    Definition at line 64 of file graham_scan_functions.hpp.

    +

    Member Data Documentation

    + +

    ◆ x

    + +
    +
    + + + + +
    int geometry::grahamscan::Point::x
    +
    + +

    Definition at line 65 of file graham_scan_functions.hpp.

    + +
    +
    + +

    ◆ y

    + +
    +
    + + + + +
    int geometry::grahamscan::Point::y
    +
    + +

    Definition at line 65 of file graham_scan_functions.hpp.

    + +
    +

    The documentation for this struct was generated from the following file: diff --git a/d7/d4c/namespacek__nearest__neighbors.html b/d7/d4c/namespacek__nearest__neighbors.html index 1c376fea1..a8609b9c5 100644 --- a/d7/d4c/namespacek__nearest__neighbors.html +++ b/d7/d4c/namespacek__nearest__neighbors.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: k_nearest_neighbors Namespace Reference +TheAlgorithms/C++: k_nearest_neighbors Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/d7/d50/namespacemodular__inverse__fermat.html b/d7/d50/namespacemodular__inverse__fermat.html index b885ae2db..dca14d674 100644 --- a/d7/d50/namespacemodular__inverse__fermat.html +++ b/d7/d50/namespacemodular__inverse__fermat.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: modular_inverse_fermat Namespace Reference +TheAlgorithms/C++: modular_inverse_fermat Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/d7/d56/count__bits__flip_8cpp.html b/d7/d56/count__bits__flip_8cpp.html index 28956595a..ee08bc6e9 100644 --- a/d7/d56/count__bits__flip_8cpp.html +++ b/d7/d56/count__bits__flip_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: bit_manipulation/count_bits_flip.cpp File Reference +TheAlgorithms/C++: bit_manipulation/count_bits_flip.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + @@ -121,7 +138,9 @@ Include dependency graph for count_bits_flip.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -133,7 +152,7 @@ Namespaces

    Namespaces

    namespace  bit_manipulation
    - + @@ -149,6 +168,8 @@ Functions

    Explanation:

    A = 01010 B = 10100 As we can see, the bits of A that need to be flipped are 01010. If we flipthese bits, we get 10100, which is B.

    Worst Case Time Complexity: O(log n) Space complexity: O(1)

    Author
    Yash Raj Singh
    + +

    Definition in file count_bits_flip.cpp.

    Function Documentation

    ◆ countBitsFlip()

    @@ -157,14 +178,14 @@ Functions

    Functions

    std::uint64_t bit_manipulation::count_bits_flip::countBitsFlip (std::int64_t A, std::int64_t B)
    std::uint64_t bit_manipulation::count_bits_flip::countBitsFlip (std::int64_t A, std::int64_t B)
     The main function implements count of bits flip required.
     
    static void test ()
    - + - + - +
    std::uint64_t bit_manipulation::count_bits_flip::countBitsFlip std::uint64_t bit_manipulation::count_bits_flip::countBitsFlip (std::int64_t A, std::int64_t A,
    std::int64_t B )std::int64_t B )
    @@ -178,6 +199,8 @@ Functions
    Returns
    total number of bits needed to be flipped to convert A to B
    + +

    Definition at line 43 of file count_bits_flip.cpp.

    45 { // int64_t is preferred over int so that
    46 // no Overflow can be there.
    47
    @@ -191,12 +214,7 @@ Functions
    55 }
    56 return count;
    57}
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    @@ -216,17 +234,14 @@ Here is the call graph for this function:

    Main function.

    Returns
    0 on exit
    + +

    Definition at line 86 of file count_bits_flip.cpp.

    86 {
    87 test(); // run self-test implementations
    88 return 0;
    89}
    -
    static void test()
    Self-test implementations.
    Definition count_bits_flip.cpp:65
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static void test()
    Self-test implementations.
    + @@ -254,6 +269,8 @@ Here is the call graph for this function:

    Self-test implementations.

    Returns
    void
    + +

    Definition at line 65 of file count_bits_flip.cpp.

    65 {
    66 // A = 10, B = 20 return 4
    67 assert(bit_manipulation::count_bits_flip::countBitsFlip(10, 20) == 4);
    @@ -269,16 +286,9 @@ Here is the call graph for this function:
    77 assert(bit_manipulation::count_bits_flip::countBitsFlip(21, 22) == 2);
    78 // A = 7, B = 786 return 5
    79 assert(bit_manipulation::count_bits_flip::countBitsFlip(7, 786) == 5);
    -
    80 std::cout << "All test cases successfully passed!" << std::endl;
    +
    80 std::cout << "All test cases successfully passed!" << std::endl;
    81}
    - -
    T endl(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + diff --git a/d7/d56/count__bits__flip_8cpp_a2548486b6c3b80101e768562e687ef7b_cgraph.map b/d7/d56/count__bits__flip_8cpp_a2548486b6c3b80101e768562e687ef7b_cgraph.map deleted file mode 100644 index c07f74216..000000000 --- a/d7/d56/count__bits__flip_8cpp_a2548486b6c3b80101e768562e687ef7b_cgraph.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/d7/d56/count__bits__flip_8cpp_a2548486b6c3b80101e768562e687ef7b_cgraph.md5 b/d7/d56/count__bits__flip_8cpp_a2548486b6c3b80101e768562e687ef7b_cgraph.md5 deleted file mode 100644 index b15b11f85..000000000 --- a/d7/d56/count__bits__flip_8cpp_a2548486b6c3b80101e768562e687ef7b_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -66813d089c1440d0037be34f98226a52 \ No newline at end of file diff --git a/d7/d56/count__bits__flip_8cpp_a2548486b6c3b80101e768562e687ef7b_cgraph.svg b/d7/d56/count__bits__flip_8cpp_a2548486b6c3b80101e768562e687ef7b_cgraph.svg deleted file mode 100644 index 6e174479c..000000000 --- a/d7/d56/count__bits__flip_8cpp_a2548486b6c3b80101e768562e687ef7b_cgraph.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - - - - - - - -bit_manipulation::count_bits_flip::countBitsFlip - - -Node1 - - -bit_manipulation::count -_bits_flip::countBitsFlip - - - - - -Node1->Node1 - - - - - - - - - - - - - diff --git a/d7/d56/count__bits__flip_8cpp_a2548486b6c3b80101e768562e687ef7b_cgraph_org.svg b/d7/d56/count__bits__flip_8cpp_a2548486b6c3b80101e768562e687ef7b_cgraph_org.svg deleted file mode 100644 index 24677729f..000000000 --- a/d7/d56/count__bits__flip_8cpp_a2548486b6c3b80101e768562e687ef7b_cgraph_org.svg +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - -bit_manipulation::count_bits_flip::countBitsFlip - - -Node1 - - -bit_manipulation::count -_bits_flip::countBitsFlip - - - - - -Node1->Node1 - - - - - - - - diff --git a/d7/d56/count__bits__flip_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map b/d7/d56/count__bits__flip_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map deleted file mode 100644 index e85e01374..000000000 --- a/d7/d56/count__bits__flip_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d7/d56/count__bits__flip_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 b/d7/d56/count__bits__flip_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 deleted file mode 100644 index 5901bc148..000000000 --- a/d7/d56/count__bits__flip_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -729fb887ee50b6291b0542ba0592a5c7 \ No newline at end of file diff --git a/d7/d56/count__bits__flip_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg b/d7/d56/count__bits__flip_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg deleted file mode 100644 index 2e04695b9..000000000 --- a/d7/d56/count__bits__flip_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d7/d56/count__bits__flip_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg b/d7/d56/count__bits__flip_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg deleted file mode 100644 index 1813bd719..000000000 --- a/d7/d56/count__bits__flip_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - diff --git a/d7/d56/count__bits__flip_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d7/d56/count__bits__flip_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index c872eb384..000000000 --- a/d7/d56/count__bits__flip_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/d7/d56/count__bits__flip_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d7/d56/count__bits__flip_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index 746d5cbe0..000000000 --- a/d7/d56/count__bits__flip_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -f085b71d2214ed21f4991316edd9ddf1 \ No newline at end of file diff --git a/d7/d56/count__bits__flip_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d7/d56/count__bits__flip_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index bf5d999e9..000000000 --- a/d7/d56/count__bits__flip_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node2->Node3 - - - - - - - - - - - - - diff --git a/d7/d56/count__bits__flip_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d7/d56/count__bits__flip_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 7da49c87c..000000000 --- a/d7/d56/count__bits__flip_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node2->Node3 - - - - - - - - diff --git a/d7/d56/count__bits__flip_8cpp_source.html b/d7/d56/count__bits__flip_8cpp_source.html new file mode 100644 index 000000000..b6fb15bb1 --- /dev/null +++ b/d7/d56/count__bits__flip_8cpp_source.html @@ -0,0 +1,193 @@ + + + + + + + + +TheAlgorithms/C++: bit_manipulation/count_bits_flip.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    count_bits_flip.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    22#include <cassert>
    +
    23#include <cstdint>
    +
    24#include <iostream>
    +
    29namespace bit_manipulation {
    +
    36namespace count_bits_flip {
    +
    +
    43std::uint64_t countBitsFlip(
    +
    44 std::int64_t A,
    +
    45 std::int64_t B) { // int64_t is preferred over int so that
    +
    46 // no Overflow can be there.
    +
    47
    +
    48 int count =
    +
    49 0; // "count" variable is used to count number of bits flip of the
    +
    50 // number A to form B in binary representation of number 'n'
    +
    51 A = A ^ B;
    +
    52 while (A) {
    +
    53 A = A & (A - 1);
    +
    54 count++;
    +
    55 }
    +
    56 return count;
    +
    57}
    +
    +
    58} // namespace count_bits_flip
    +
    59} // namespace bit_manipulation
    +
    60
    +
    +
    65static void test() {
    +
    66 // A = 10, B = 20 return 4
    +
    67 assert(bit_manipulation::count_bits_flip::countBitsFlip(10, 20) == 4);
    +
    68 // A = 20, B = 25 return 3
    +
    69 assert(bit_manipulation::count_bits_flip::countBitsFlip(20, 25) == 3);
    +
    70 // A = 7, B = 10 return 3
    +
    71 assert(bit_manipulation::count_bits_flip::countBitsFlip(7, 10) == 3);
    +
    72 // A = 17, B = 25 return 1
    +
    73 assert(bit_manipulation::count_bits_flip::countBitsFlip(17, 25) == 1);
    +
    74 // A = 11, B = 8 return 2
    +
    75 assert(bit_manipulation::count_bits_flip::countBitsFlip(11, 8) == 2);
    +
    76 // A = 21, B = 22 return 2
    +
    77 assert(bit_manipulation::count_bits_flip::countBitsFlip(21, 22) == 2);
    +
    78 // A = 7, B = 786 return 5
    +
    79 assert(bit_manipulation::count_bits_flip::countBitsFlip(7, 786) == 5);
    +
    80 std::cout << "All test cases successfully passed!" << std::endl;
    +
    81}
    +
    +
    +
    86int main() {
    +
    87 test(); // run self-test implementations
    +
    88 return 0;
    +
    89}
    +
    +
    std::uint64_t countBitsFlip(std::int64_t A, std::int64_t B)
    The main function implements count of bits flip required.
    +
    static void test()
    Self-test implementations.
    +
    int main()
    Main function.
    + +
    Functions for the count bits flip implementation.
    +
    +
    + + + + diff --git a/d7/d57/longest__increasing__subsequence_8cpp.html b/d7/d57/longest__increasing__subsequence_8cpp.html index aabae49bd..1941f03e4 100644 --- a/d7/d57/longest__increasing__subsequence_8cpp.html +++ b/d7/d57/longest__increasing__subsequence_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: dynamic_programming/longest_increasing_subsequence.cpp File Reference +TheAlgorithms/C++: dynamic_programming/longest_increasing_subsequence.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -123,7 +140,9 @@ Include dependency graph for longest_increasing_subsequence.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -132,7 +151,7 @@ Namespaces

    Namespaces

    namespace  dynamic_programming
    - + @@ -148,6 +167,8 @@ Functions
    Author
    Krishna Vedala
    David Leal
    + +

    Definition in file longest_increasing_subsequence.cpp.

    Function Documentation

    ◆ main()

    @@ -177,37 +198,30 @@ Functions
    Returns
    0 on exit
    + +

    Definition at line 81 of file longest_increasing_subsequence.cpp.

    81 {
    82 uint32_t n = 0;
    83
    -
    84 std::cout << "Enter size of array: ";
    -
    85 std::cin >> n;
    +
    84 std::cout << "Enter size of array: ";
    +
    85 std::cin >> n;
    86
    - +
    87 std::vector<uint64_t> a(n);
    88
    -
    89 std::cout << "Enter array elements: ";
    +
    89 std::cout << "Enter array elements: ";
    90 for (int i = 0; i < n; ++i) {
    -
    91 std::cin >> a[i];
    +
    91 std::cin >> a[i];
    92 }
    93
    -
    94 std::cout << "\nThe result is: " << dynamic_programming::LIS(a, n)
    -
    95 << std::endl;
    +
    94 std::cout << "\nThe result is: " << dynamic_programming::LIS(a, n)
    +
    95 << std::endl;
    96 test(); // run self-test implementations
    97
    98 return 0;
    99}
    - - -
    T endl(T... args)
    -
    static void test()
    Self-test implementations.
    Definition longest_increasing_subsequence.cpp:64
    -
    uint64_t LIS(const std::vector< uint64_t > &a, const uint32_t &n)
    Calculate the longest increasing subsequence for the specified numbers.
    Definition longest_increasing_subsequence.cpp:40
    - -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static void test()
    Self-test implementations.
    +
    uint64_t LIS(const std::vector< uint64_t > &a, const uint32_t &n)
    Calculate the longest increasing subsequence for the specified numbers.
    + @@ -236,23 +250,20 @@ Here is the call graph for this function:

    Self-test implementations.

    Returns
    void

    < The longest increasing subsequence is {2,3,4,5,8}

    + +

    Definition at line 64 of file longest_increasing_subsequence.cpp.

    64 {
    -
    65 std::vector<uint64_t> a = {15, 21, 2, 3, 4, 5, 8, 4, 1, 1};
    +
    65 std::vector<uint64_t> a = {15, 21, 2, 3, 4, 5, 8, 4, 1, 1};
    66 uint32_t n = a.size();
    67
    68 uint32_t result = dynamic_programming::LIS(a, n);
    69 assert(result ==
    -
    70 5); ///< The longest increasing subsequence is `{2,3,4,5,8}`
    +
    70 5);
    71
    -
    72 std::cout << "Self-test implementations passed!" << std::endl;
    +
    72 std::cout << "Self-test implementations passed!" << std::endl;
    73}
    -
    uint64_t result(uint64_t n)
    Definition fibonacci_sum.cpp:77
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    uint64_t result(uint64_t n)
    + diff --git a/d7/d57/longest__increasing__subsequence_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map b/d7/d57/longest__increasing__subsequence_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map deleted file mode 100644 index d5bb2e587..000000000 --- a/d7/d57/longest__increasing__subsequence_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/d7/d57/longest__increasing__subsequence_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 b/d7/d57/longest__increasing__subsequence_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 deleted file mode 100644 index d6b1c60aa..000000000 --- a/d7/d57/longest__increasing__subsequence_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -7fc0c8af4a0fdd92f31c574e74ea7d82 \ No newline at end of file diff --git a/d7/d57/longest__increasing__subsequence_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg b/d7/d57/longest__increasing__subsequence_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg deleted file mode 100644 index 4b769c0c5..000000000 --- a/d7/d57/longest__increasing__subsequence_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -dynamic_programming::LIS - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::max - - - - - -Node3->Node4 - - - - - - - - - - - - - diff --git a/d7/d57/longest__increasing__subsequence_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg b/d7/d57/longest__increasing__subsequence_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg deleted file mode 100644 index 3b68f070b..000000000 --- a/d7/d57/longest__increasing__subsequence_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -dynamic_programming::LIS - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::max - - - - - -Node3->Node4 - - - - - - - - diff --git a/d7/d57/longest__increasing__subsequence_8cpp_abf9e6b7e6f15df4b525a2e7705ba3089_cgraph.map b/d7/d57/longest__increasing__subsequence_8cpp_abf9e6b7e6f15df4b525a2e7705ba3089_cgraph.map deleted file mode 100644 index 471552392..000000000 --- a/d7/d57/longest__increasing__subsequence_8cpp_abf9e6b7e6f15df4b525a2e7705ba3089_cgraph.map +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - diff --git a/d7/d57/longest__increasing__subsequence_8cpp_abf9e6b7e6f15df4b525a2e7705ba3089_cgraph.md5 b/d7/d57/longest__increasing__subsequence_8cpp_abf9e6b7e6f15df4b525a2e7705ba3089_cgraph.md5 deleted file mode 100644 index 9bb7aecdb..000000000 --- a/d7/d57/longest__increasing__subsequence_8cpp_abf9e6b7e6f15df4b525a2e7705ba3089_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -122c193858cba99297fd0212ba03bb95 \ No newline at end of file diff --git a/d7/d57/longest__increasing__subsequence_8cpp_abf9e6b7e6f15df4b525a2e7705ba3089_cgraph.svg b/d7/d57/longest__increasing__subsequence_8cpp_abf9e6b7e6f15df4b525a2e7705ba3089_cgraph.svg deleted file mode 100644 index 785fd2c13..000000000 --- a/d7/d57/longest__increasing__subsequence_8cpp_abf9e6b7e6f15df4b525a2e7705ba3089_cgraph.svg +++ /dev/null @@ -1,137 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -dynamic_programming::LIS - - - - - -Node1->Node3 - - - - - - - - -Node5 - - -test - - - - - -Node1->Node5 - - - - - - - - -Node4 - - -std::max - - - - - -Node3->Node4 - - - - - - - - -Node5->Node2 - - - - - - - - -Node5->Node3 - - - - - - - - - - - - - diff --git a/d7/d57/longest__increasing__subsequence_8cpp_abf9e6b7e6f15df4b525a2e7705ba3089_cgraph_org.svg b/d7/d57/longest__increasing__subsequence_8cpp_abf9e6b7e6f15df4b525a2e7705ba3089_cgraph_org.svg deleted file mode 100644 index 8cabfaada..000000000 --- a/d7/d57/longest__increasing__subsequence_8cpp_abf9e6b7e6f15df4b525a2e7705ba3089_cgraph_org.svg +++ /dev/null @@ -1,111 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -dynamic_programming::LIS - - - - - -Node1->Node3 - - - - - - - - -Node5 - - -test - - - - - -Node1->Node5 - - - - - - - - -Node4 - - -std::max - - - - - -Node3->Node4 - - - - - - - - -Node5->Node2 - - - - - - - - -Node5->Node3 - - - - - - - - diff --git a/d7/d57/longest__increasing__subsequence_8cpp_source.html b/d7/d57/longest__increasing__subsequence_8cpp_source.html new file mode 100644 index 000000000..4320a1b33 --- /dev/null +++ b/d7/d57/longest__increasing__subsequence_8cpp_source.html @@ -0,0 +1,205 @@ + + + + + + + + +TheAlgorithms/C++: dynamic_programming/longest_increasing_subsequence.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    +

    Functions

    uint64_t dynamic_programming::LIS (const std::vector< uint64_t > &a, const uint32_t &n)
    uint64_t dynamic_programming::LIS (const std::vector< uint64_t > &a, const uint32_t &n)
     Calculate the longest increasing subsequence for the specified numbers.
     
    static void test ()
    + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + + +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    longest_increasing_subsequence.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    22#include <cassert>
    +
    23#include <climits>
    +
    24#include <cstdint>
    +
    25#include <iostream>
    +
    26#include <vector>
    +
    27
    +
    32namespace dynamic_programming {
    +
    +
    40uint64_t LIS(const std::vector<uint64_t> &a, const uint32_t &n) {
    +
    41 std::vector<int> lis(n);
    +
    42 for (int i = 0; i < n; ++i) {
    +
    43 lis[i] = 1;
    +
    44 }
    +
    45 for (int i = 0; i < n; ++i) {
    +
    46 for (int j = 0; j < i; ++j) {
    +
    47 if (a[i] > a[j] && lis[i] < lis[j] + 1) {
    +
    48 lis[i] = lis[j] + 1;
    +
    49 }
    +
    50 }
    +
    51 }
    +
    52 int res = 0;
    +
    53 for (int i = 0; i < n; ++i) {
    +
    54 res = std::max(res, lis[i]);
    +
    55 }
    +
    56 return res;
    +
    57}
    +
    +
    58} // namespace dynamic_programming
    +
    59
    +
    +
    64static void test() {
    +
    65 std::vector<uint64_t> a = {15, 21, 2, 3, 4, 5, 8, 4, 1, 1};
    +
    66 uint32_t n = a.size();
    +
    67
    +
    68 uint32_t result = dynamic_programming::LIS(a, n);
    +
    69 assert(result ==
    +
    70 5);
    +
    71
    +
    72 std::cout << "Self-test implementations passed!" << std::endl;
    +
    73}
    +
    +
    74
    +
    +
    81int main(int argc, char const *argv[]) {
    +
    82 uint32_t n = 0;
    +
    83
    +
    84 std::cout << "Enter size of array: ";
    +
    85 std::cin >> n;
    +
    86
    +
    87 std::vector<uint64_t> a(n);
    +
    88
    +
    89 std::cout << "Enter array elements: ";
    +
    90 for (int i = 0; i < n; ++i) {
    +
    91 std::cin >> a[i];
    +
    92 }
    +
    93
    +
    94 std::cout << "\nThe result is: " << dynamic_programming::LIS(a, n)
    +
    95 << std::endl;
    +
    96 test(); // run self-test implementations
    +
    97
    +
    98 return 0;
    +
    99}
    +
    +
    int main()
    Main function.
    +
    static void test()
    Self-test implementations.
    +
    Dynamic Programming algorithms.
    +
    uint64_t LIS(const std::vector< uint64_t > &a, const uint32_t &n)
    Calculate the longest increasing subsequence for the specified numbers.
    +
    +
    + + + + diff --git a/d7/d59/classmachine__learning_1_1neural__network_1_1_neural_network__coll__graph.map b/d7/d59/classmachine__learning_1_1neural__network_1_1_neural_network__coll__graph.map index 1efdde85d..a4c632c64 100644 --- a/d7/d59/classmachine__learning_1_1neural__network_1_1_neural_network__coll__graph.map +++ b/d7/d59/classmachine__learning_1_1neural__network_1_1_neural_network__coll__graph.map @@ -1,15 +1,15 @@ - + - + - + - + - + diff --git a/d7/d59/classmachine__learning_1_1neural__network_1_1_neural_network__coll__graph.md5 b/d7/d59/classmachine__learning_1_1neural__network_1_1_neural_network__coll__graph.md5 index f5ab0538d..8c63de088 100644 --- a/d7/d59/classmachine__learning_1_1neural__network_1_1_neural_network__coll__graph.md5 +++ b/d7/d59/classmachine__learning_1_1neural__network_1_1_neural_network__coll__graph.md5 @@ -1 +1 @@ -20006dd0f6b9c557dc6aeebc3e6802f1 \ No newline at end of file +54fa7438b8c6179d358f3b202ad8a7b9 \ No newline at end of file diff --git a/d7/d59/classmachine__learning_1_1neural__network_1_1_neural_network__coll__graph.svg b/d7/d59/classmachine__learning_1_1neural__network_1_1_neural_network__coll__graph.svg index 4b200fa6d..29a5f6a69 100644 --- a/d7/d59/classmachine__learning_1_1neural__network_1_1_neural_network__coll__graph.svg +++ b/d7/d59/classmachine__learning_1_1neural__network_1_1_neural_network__coll__graph.svg @@ -32,7 +32,7 @@ Node2 - + std::vector< machine _learning::neural_network @@ -73,7 +73,7 @@ Node4 - + std::string @@ -92,7 +92,7 @@ Node5 - + std::basic_string< Char > @@ -111,7 +111,7 @@ Node6 - + std::vector< std::valarray < double > > @@ -131,7 +131,7 @@ Node7 - + std::valarray< double > diff --git a/d7/d59/classmachine__learning_1_1neural__network_1_1_neural_network__coll__graph_org.svg b/d7/d59/classmachine__learning_1_1neural__network_1_1_neural_network__coll__graph_org.svg index 90f972ddc..4727a6a8f 100644 --- a/d7/d59/classmachine__learning_1_1neural__network_1_1_neural_network__coll__graph_org.svg +++ b/d7/d59/classmachine__learning_1_1neural__network_1_1_neural_network__coll__graph_org.svg @@ -21,7 +21,7 @@ Node2 - + std::vector< machine _learning::neural_network @@ -62,7 +62,7 @@ Node4 - + std::string @@ -81,7 +81,7 @@ Node5 - + std::basic_string< Char > @@ -100,7 +100,7 @@ Node6 - + std::vector< std::valarray < double > > @@ -120,7 +120,7 @@ Node7 - + std::valarray< double > diff --git a/d7/d5e/classdata__structures_1_1linked__list_1_1_node-members.html b/d7/d5e/classdata__structures_1_1linked__list_1_1_node-members.html index bbd542d83..8c22386a5 100644 --- a/d7/d5e/classdata__structures_1_1linked__list_1_1_node-members.html +++ b/d7/d5e/classdata__structures_1_1linked__list_1_1_node-members.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Member List +TheAlgorithms/C++: Member List + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/d7/d61/classdata__structures_1_1tree__234_1_1_node-members.html b/d7/d61/classdata__structures_1_1tree__234_1_1_node-members.html index 122b7cf35..08f4e12a9 100644 --- a/d7/d61/classdata__structures_1_1tree__234_1_1_node-members.html +++ b/d7/d61/classdata__structures_1_1tree__234_1_1_node-members.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Member List +TheAlgorithms/C++: Member List + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/d7/d65/shortest__common__supersequence_8cpp.html b/d7/d65/shortest__common__supersequence_8cpp.html index 2cb6ab4bb..71e8d6a10 100644 --- a/d7/d65/shortest__common__supersequence_8cpp.html +++ b/d7/d65/shortest__common__supersequence_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: dynamic_programming/shortest_common_supersequence.cpp File Reference +TheAlgorithms/C++: dynamic_programming/shortest_common_supersequence.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + @@ -123,7 +140,9 @@ Include dependency graph for shortest_common_supersequence.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -135,7 +154,7 @@ Namespaces

    Namespaces

    namespace  dynamic_programming
    - + @@ -149,6 +168,8 @@ Functions
    See also
    more on SCS
    related problem Leetcode
    + +

    Definition in file shortest_common_supersequence.cpp.

    Function Documentation

    ◆ main()

    @@ -165,33 +186,27 @@ related

    Main function (driver code)

    + +

    Definition at line 164 of file shortest_common_supersequence.cpp.

    164 {
    165 // test for implementation
    166 test();
    167
    168 // user input
    -
    169 std::string s1, s2;
    -
    170 std::cin >> s1;
    -
    171 std::cin >> s2;
    +
    169 std::string s1, s2;
    +
    170 std::cin >> s1;
    +
    171 std::cin >> s2;
    172
    -
    173 std::string ans;
    +
    173 std::string ans;
    174
    175 // user output
    -
    177 std::cout << ans;
    +
    177 std::cout << ans;
    178 return 0;
    179}
    - - - -
    static void test()
    Definition shortest_common_supersequence.cpp:124
    -
    std::string scs(const std::string &str1, const std::string &str2)
    Definition shortest_common_supersequence.cpp:42
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static void test()
    +
    std::string scs(const std::string &str1, const std::string &str2)
    + @@ -201,14 +216,14 @@ Here is the call graph for this function:

    Functions

    std::string dynamic_programming::shortest_common_supersequence::scs (const std::string &str1, const std::string &str2)
    std::string dynamic_programming::shortest_common_supersequence::scs (const std::string &str1, const std::string &str2)
     
    static void test ()
     
    - + - + - +
    std::string dynamic_programming::shortest_common_supersequence::scs std::string dynamic_programming::shortest_common_supersequence::scs (const std::string & str1, const std::string & str1,
    const std::string & str2 )const std::string & str2 )
    @@ -220,30 +235,32 @@ Here is the call graph for this function:
    Returns
    string 'Z', superSequence of X and Y
    + +

    Definition at line 42 of file shortest_common_supersequence.cpp.

    42 {
    43
    44 // Edge cases
    45 // If either str1 or str2 or both are empty
    -
    46 if(str1.empty() && str2.empty()) {
    +
    46 if(str1.empty() && str2.empty()) {
    47 return "";
    48 }
    -
    49 else if(str1.empty()) {
    +
    49 else if(str1.empty()) {
    50 return str2;
    51 }
    -
    52 else if(str2.empty()) {
    +
    52 else if(str2.empty()) {
    53 return str1;
    54 }
    55
    56 // creating lookup table
    -
    57 std::vector <std::vector <int>> lookup(str1.length() + 1, std::vector <int> (str2.length() + 1, 0));
    +
    57 std::vector <std::vector <int>> lookup(str1.length() + 1, std::vector <int> (str2.length() + 1, 0));
    58
    -
    59 for(int i=1; i <= str1.length(); i++) {
    -
    60 for(int j=1; j <= str2.length(); j++) {
    +
    59 for(int i=1; i <= str1.length(); i++) {
    +
    60 for(int j=1; j <= str2.length(); j++) {
    61 if(str1[i-1] == str2[j-1]) {
    62 lookup[i][j] = lookup[i-1][j-1] + 1;
    63 }
    64 else {
    -
    65 lookup[i][j] = std::max(lookup[i-1][j], lookup[i][j-1]);
    +
    65 lookup[i][j] = std::max(lookup[i-1][j], lookup[i][j-1]);
    66 }
    67 }
    68 }
    @@ -251,27 +268,27 @@ Here is the call graph for this function:
    70 // making supersequence
    71 // i and j are initially pointed towards end of strings
    72 // Super-sequence will be constructed backwards
    -
    73 int i=str1.length();
    -
    74 int j=str2.length();
    - +
    73 int i=str1.length();
    +
    74 int j=str2.length();
    +
    75 std::string s;
    76
    77 while(i>0 && j>0) {
    78
    79 // If the characters at i and j of both strings are same
    80 // We only need to add them once in s
    81 if(str1[i-1] == str2[j-1]) {
    -
    82 s.push_back(str1[i-1]);
    +
    82 s.push_back(str1[i-1]);
    83 i--;
    84 j--;
    85 }
    86 // otherwise we check lookup table for recurrences of characters
    87 else {
    88 if(lookup[i-1][j] > lookup[i][j-1]) {
    -
    89 s.push_back(str1[i-1]);
    +
    89 s.push_back(str1[i-1]);
    90 i--;
    91 }
    92 else {
    -
    93 s.push_back(str2[j-1]);
    +
    93 s.push_back(str2[j-1]);
    94 j--;
    95 }
    96 }
    @@ -280,34 +297,22 @@ Here is the call graph for this function:
    99 // copying remaining elements
    100 // if j becomes 0 before i
    101 while(i > 0) {
    -
    102 s.push_back(str1[i-1]);
    +
    102 s.push_back(str1[i-1]);
    103 i--;
    104 }
    105
    106 // if i becomes 0 before j
    107 while(j > 0) {
    -
    108 s.push_back(str2[j-1]);
    +
    108 s.push_back(str2[j-1]);
    109 j--;
    110 }
    111
    112 // As the super sequence is constructd backwards
    113 // reversing the string before returning gives us the correct output
    -
    114 reverse(s.begin(), s.end());
    +
    114 reverse(s.begin(), s.end());
    115 return s;
    116 }
    -
    T begin(T... args)
    -
    T empty(T... args)
    -
    T end(T... args)
    -
    T max(T... args)
    -
    T push_back(T... args)
    -
    T reverse(T... args)
    -
    T length(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -333,6 +338,8 @@ Here is the call graph for this function:

    Test Function

    Returns
    void
    + +

    Definition at line 124 of file shortest_common_supersequence.cpp.

    124 {
    125 // custom input vector
    126 std::vector <std::vector <std::string>> scsStrings {
    @@ -368,7 +375,7 @@ Here is the call graph for this function:
    156 assert(expectedOutput[i] == calculatedOutput[i]);
    157 }
    158
    -
    159 std::cout << "All tests passed successfully!\n";
    +
    159 std::cout << "All tests passed successfully!\n";
    160 return;
    161}
    diff --git a/d7/d65/shortest__common__supersequence_8cpp_ad2ee8d7e67da9f6eb85146b08dad95e6_cgraph.map b/d7/d65/shortest__common__supersequence_8cpp_ad2ee8d7e67da9f6eb85146b08dad95e6_cgraph.map deleted file mode 100644 index cc7a3c9bd..000000000 --- a/d7/d65/shortest__common__supersequence_8cpp_ad2ee8d7e67da9f6eb85146b08dad95e6_cgraph.map +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - - - - - diff --git a/d7/d65/shortest__common__supersequence_8cpp_ad2ee8d7e67da9f6eb85146b08dad95e6_cgraph.md5 b/d7/d65/shortest__common__supersequence_8cpp_ad2ee8d7e67da9f6eb85146b08dad95e6_cgraph.md5 deleted file mode 100644 index 1de80aeeb..000000000 --- a/d7/d65/shortest__common__supersequence_8cpp_ad2ee8d7e67da9f6eb85146b08dad95e6_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -e3820d5e5b4447537a5477ab355fc1bd \ No newline at end of file diff --git a/d7/d65/shortest__common__supersequence_8cpp_ad2ee8d7e67da9f6eb85146b08dad95e6_cgraph.svg b/d7/d65/shortest__common__supersequence_8cpp_ad2ee8d7e67da9f6eb85146b08dad95e6_cgraph.svg deleted file mode 100644 index 3ff68700b..000000000 --- a/d7/d65/shortest__common__supersequence_8cpp_ad2ee8d7e67da9f6eb85146b08dad95e6_cgraph.svg +++ /dev/null @@ -1,165 +0,0 @@ - - - - - - - - - - - - -dynamic_programming::shortest_common_supersequence::scs - - -Node1 - - -dynamic_programming -::shortest_common_supersequence::scs - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::string::begin - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::string::empty - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::string::end - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::string::length - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -std::max - - - - - -Node1->Node6 - - - - - - - - -Node7 - - -std::string::push_back - - - - - -Node1->Node7 - - - - - - - - - - - - - diff --git a/d7/d65/shortest__common__supersequence_8cpp_ad2ee8d7e67da9f6eb85146b08dad95e6_cgraph_org.svg b/d7/d65/shortest__common__supersequence_8cpp_ad2ee8d7e67da9f6eb85146b08dad95e6_cgraph_org.svg deleted file mode 100644 index f0cea9cb0..000000000 --- a/d7/d65/shortest__common__supersequence_8cpp_ad2ee8d7e67da9f6eb85146b08dad95e6_cgraph_org.svg +++ /dev/null @@ -1,139 +0,0 @@ - - - - - - -dynamic_programming::shortest_common_supersequence::scs - - -Node1 - - -dynamic_programming -::shortest_common_supersequence::scs - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::string::begin - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::string::empty - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::string::end - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::string::length - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -std::max - - - - - -Node1->Node6 - - - - - - - - -Node7 - - -std::string::push_back - - - - - -Node1->Node7 - - - - - - - - diff --git a/d7/d65/shortest__common__supersequence_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d7/d65/shortest__common__supersequence_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 177d5eea1..000000000 --- a/d7/d65/shortest__common__supersequence_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d7/d65/shortest__common__supersequence_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d7/d65/shortest__common__supersequence_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index 4a50d40c0..000000000 --- a/d7/d65/shortest__common__supersequence_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -cb9aaf639f146bdb8372270c898051b0 \ No newline at end of file diff --git a/d7/d65/shortest__common__supersequence_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d7/d65/shortest__common__supersequence_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 177d0c4f7..000000000 --- a/d7/d65/shortest__common__supersequence_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d7/d65/shortest__common__supersequence_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d7/d65/shortest__common__supersequence_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 65731a0a3..000000000 --- a/d7/d65/shortest__common__supersequence_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - diff --git a/d7/d65/shortest__common__supersequence_8cpp_source.html b/d7/d65/shortest__common__supersequence_8cpp_source.html new file mode 100644 index 000000000..45fd5703b --- /dev/null +++ b/d7/d65/shortest__common__supersequence_8cpp_source.html @@ -0,0 +1,293 @@ + + + + + + + + +TheAlgorithms/C++: dynamic_programming/shortest_common_supersequence.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    shortest_common_supersequence.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    17// header files
    +
    18#include <iostream>
    +
    19#include <string>
    +
    20#include <vector>
    +
    21#include <algorithm>
    +
    22#include <cassert>
    +
    23
    +
    28namespace dynamic_programming {
    +
    29
    + +
    35
    +
    +
    42 std::string scs(const std::string &str1, const std::string &str2) {
    +
    43
    +
    44 // Edge cases
    +
    45 // If either str1 or str2 or both are empty
    +
    46 if(str1.empty() && str2.empty()) {
    +
    47 return "";
    +
    48 }
    +
    49 else if(str1.empty()) {
    +
    50 return str2;
    +
    51 }
    +
    52 else if(str2.empty()) {
    +
    53 return str1;
    +
    54 }
    +
    55
    +
    56 // creating lookup table
    +
    57 std::vector <std::vector <int>> lookup(str1.length() + 1, std::vector <int> (str2.length() + 1, 0));
    +
    58
    +
    59 for(int i=1; i <= str1.length(); i++) {
    +
    60 for(int j=1; j <= str2.length(); j++) {
    +
    61 if(str1[i-1] == str2[j-1]) {
    +
    62 lookup[i][j] = lookup[i-1][j-1] + 1;
    +
    63 }
    +
    64 else {
    +
    65 lookup[i][j] = std::max(lookup[i-1][j], lookup[i][j-1]);
    +
    66 }
    +
    67 }
    +
    68 }
    +
    69
    +
    70 // making supersequence
    +
    71 // i and j are initially pointed towards end of strings
    +
    72 // Super-sequence will be constructed backwards
    +
    73 int i=str1.length();
    +
    74 int j=str2.length();
    +
    75 std::string s;
    +
    76
    +
    77 while(i>0 && j>0) {
    +
    78
    +
    79 // If the characters at i and j of both strings are same
    +
    80 // We only need to add them once in s
    +
    81 if(str1[i-1] == str2[j-1]) {
    +
    82 s.push_back(str1[i-1]);
    +
    83 i--;
    +
    84 j--;
    +
    85 }
    +
    86 // otherwise we check lookup table for recurrences of characters
    +
    87 else {
    +
    88 if(lookup[i-1][j] > lookup[i][j-1]) {
    +
    89 s.push_back(str1[i-1]);
    +
    90 i--;
    +
    91 }
    +
    92 else {
    +
    93 s.push_back(str2[j-1]);
    +
    94 j--;
    +
    95 }
    +
    96 }
    +
    97 }
    +
    98
    +
    99 // copying remaining elements
    +
    100 // if j becomes 0 before i
    +
    101 while(i > 0) {
    +
    102 s.push_back(str1[i-1]);
    +
    103 i--;
    +
    104 }
    +
    105
    +
    106 // if i becomes 0 before j
    +
    107 while(j > 0) {
    +
    108 s.push_back(str2[j-1]);
    +
    109 j--;
    +
    110 }
    +
    111
    +
    112 // As the super sequence is constructd backwards
    +
    113 // reversing the string before returning gives us the correct output
    +
    114 reverse(s.begin(), s.end());
    +
    115 return s;
    +
    116 }
    +
    +
    117 } // namespace shortest_common_supersequence
    +
    118} // namespace dynamic_programming
    +
    119
    +
    +
    124static void test() {
    +
    125 // custom input vector
    +
    126 std::vector <std::vector <std::string>> scsStrings {
    +
    127 {"ABCXYZ", "ABZ"},
    +
    128 {"ABZ", "ABCXYZ"},
    +
    129 {"AGGTAB", "GXTXAYB"},
    +
    130 {"X", "Y"},
    +
    131 };
    +
    132
    +
    133 // calculated output vector by scs function
    +
    134 std::vector <std::string> calculatedOutput(4, "");
    +
    135 int i=0;
    +
    136 for(auto & scsString : scsStrings) {
    +
    137
    +
    138 calculatedOutput[i] = dynamic_programming::shortest_common_supersequence::scs(
    +
    139 scsString[0], scsString[1]
    +
    140 );
    +
    141 i++;
    +
    142 }
    +
    143
    +
    144 // expected output vector acc to problem statement
    +
    145 std::vector <std::string> expectedOutput {
    +
    146 "ABCXYZ",
    +
    147 "ABCXYZ",
    +
    148 "AGGXTXAYB",
    +
    149 "XY"
    +
    150 };
    +
    151
    +
    152 // Testing implementation via assert function
    +
    153 // It will throw error if any of the expected test fails
    +
    154 // Else it will give nothing
    +
    155 for(int i=0; i < scsStrings.size(); i++) {
    +
    156 assert(expectedOutput[i] == calculatedOutput[i]);
    +
    157 }
    +
    158
    +
    159 std::cout << "All tests passed successfully!\n";
    +
    160 return;
    +
    161}
    +
    +
    162
    +
    +
    164int main() {
    +
    165 // test for implementation
    +
    166 test();
    +
    167
    +
    168 // user input
    +
    169 std::string s1, s2;
    +
    170 std::cin >> s1;
    +
    171 std::cin >> s2;
    +
    172
    +
    173 std::string ans;
    +
    174
    +
    175 // user output
    +
    176 ans = dynamic_programming::shortest_common_supersequence::scs(s1, s2);
    +
    177 std::cout << ans;
    +
    178 return 0;
    +
    179}
    +
    +
    Dynamic Programming algorithms.
    +
    Shortest Common Super Sequence algorithm.
    +
    static void test()
    +
    std::string scs(const std::string &str1, const std::string &str2)
    + +
    +
    + + + + diff --git a/d7/d6a/bisection__method_8cpp.html b/d7/d6a/bisection__method_8cpp.html index a8c85e64c..db9b3a056 100644 --- a/d7/d6a/bisection__method_8cpp.html +++ b/d7/d6a/bisection__method_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: numerical_methods/bisection_method.cpp File Reference +TheAlgorithms/C++: numerical_methods/bisection_method.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -121,14 +138,15 @@ Include dependency graph for bisection_method.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    - - + +

    Macros

    #define EPSILON    1e-6
     
    -#define MAX_ITERATIONS   50000
     Maximum number of iterations to check.
    #define MAX_ITERATIONS   50000
     Maximum number of iterations to check.
     

    @@ -150,6 +168,8 @@ x_{i+1} = \frac{a_i+b_i}{2}

    For the next iteration, the interval is selected as: \([a,x]\) if \(x>0\) or \([x,b]\) if \(x<0\). The Process is continued till a close enough approximation is achieved.

    See also
    newton_raphson_method.cpp, false_position.cpp, secant_method.cpp
    + +

    Definition in file bisection_method.cpp.

    Macro Definition Documentation

    ◆ EPSILON

    @@ -162,9 +182,29 @@ x_{i+1} = \frac{a_i+b_i}{2}
    + +

    Definition at line 20 of file bisection_method.cpp.

    20#define EPSILON \
    21 1e-6 // std::numeric_limits<double>::epsilon() ///< system accuracy limit
    +
    + + +

    ◆ MAX_ITERATIONS

    + +
    +
    + + + + +
    #define MAX_ITERATIONS   50000
    +
    + +

    Maximum number of iterations to check.

    + +

    Definition at line 22 of file bisection_method.cpp.

    +

    Function Documentation

    @@ -191,16 +231,12 @@ x_{i+1} = \frac{a_i+b_i}{2}

    define \(f(x)\) to find root for

    -
    26 {
    -
    27 return (std::pow(i, 3) - (4 * i) - 9); // original equation
    -
    28}
    -
    T pow(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    +

    Definition at line 26 of file bisection_method.cpp.

    +
    26 {
    +
    27 return (std::pow(i, 3) - (4 * i) - 9); // original equation
    +
    28}
    +
    @@ -218,6 +254,8 @@ Here is the call graph for this function:

    main function

    + +

    Definition at line 37 of file bisection_method.cpp.

    37 {
    38 double a = -1, b = 1, x, z;
    39 int i;
    @@ -234,14 +272,14 @@ Here is the call graph for this function:
    50 }
    51 }
    52
    -
    53 std::cout << "\nFirst initial: " << a;
    -
    54 std::cout << "\nSecond initial: " << b;
    +
    53 std::cout << "\nFirst initial: " << a;
    +
    54 std::cout << "\nSecond initial: " << b;
    55
    56 // start iterations
    57 for (i = 0; i < MAX_ITERATIONS; i++) {
    58 x = (a + b) / 2;
    59 z = eq(x);
    -
    60 std::cout << "\n\nz: " << z << "\t[" << a << " , " << b
    +
    60 std::cout << "\n\nz: " << z << "\t[" << a << " , " << b
    61 << " | Bisect: " << x << "]";
    62
    63 if (z < 0) {
    @@ -254,20 +292,13 @@ Here is the call graph for this function:
    70 break;
    71 }
    72
    -
    73 std::cout << "\n\nRoot: " << x << "\t\tSteps: " << i << std::endl;
    +
    73 std::cout << "\n\nRoot: " << x << "\t\tSteps: " << i << std::endl;
    74 return 0;
    75}
    - -
    #define MAX_ITERATIONS
    Maximum number of iterations to check.
    Definition bisection_method.cpp:22
    -
    int sgn(T val)
    Definition bisection_method.cpp:32
    -
    static double eq(double i)
    Definition bisection_method.cpp:26
    -
    T endl(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    #define MAX_ITERATIONS
    Maximum number of iterations to check.
    +
    int sgn(T val)
    +
    static double eq(double i)
    + @@ -287,6 +318,8 @@ template<typename T >

    get the sign of any given number

    + +

    Definition at line 32 of file bisection_method.cpp.

    32 {
    33 return (T(0) < val) - (val < T(0));
    34}
    diff --git a/d7/d6a/bisection__method_8cpp_a2003b5b2dcfff0769b957ab5c968b03d_cgraph.map b/d7/d6a/bisection__method_8cpp_a2003b5b2dcfff0769b957ab5c968b03d_cgraph.map deleted file mode 100644 index cea381859..000000000 --- a/d7/d6a/bisection__method_8cpp_a2003b5b2dcfff0769b957ab5c968b03d_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d7/d6a/bisection__method_8cpp_a2003b5b2dcfff0769b957ab5c968b03d_cgraph.md5 b/d7/d6a/bisection__method_8cpp_a2003b5b2dcfff0769b957ab5c968b03d_cgraph.md5 deleted file mode 100644 index 322f63d1e..000000000 --- a/d7/d6a/bisection__method_8cpp_a2003b5b2dcfff0769b957ab5c968b03d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -4354e7c666481f9ddcf69bc9fb092577 \ No newline at end of file diff --git a/d7/d6a/bisection__method_8cpp_a2003b5b2dcfff0769b957ab5c968b03d_cgraph.svg b/d7/d6a/bisection__method_8cpp_a2003b5b2dcfff0769b957ab5c968b03d_cgraph.svg deleted file mode 100644 index acc81ae0a..000000000 --- a/d7/d6a/bisection__method_8cpp_a2003b5b2dcfff0769b957ab5c968b03d_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -eq - - -Node1 - - -eq - - - - - -Node2 - - -std::pow - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d7/d6a/bisection__method_8cpp_a2003b5b2dcfff0769b957ab5c968b03d_cgraph_org.svg b/d7/d6a/bisection__method_8cpp_a2003b5b2dcfff0769b957ab5c968b03d_cgraph_org.svg deleted file mode 100644 index 573541779..000000000 --- a/d7/d6a/bisection__method_8cpp_a2003b5b2dcfff0769b957ab5c968b03d_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -eq - - -Node1 - - -eq - - - - - -Node2 - - -std::pow - - - - - -Node1->Node2 - - - - - - - - diff --git a/d7/d6a/bisection__method_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d7/d6a/bisection__method_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 9da56e560..000000000 --- a/d7/d6a/bisection__method_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/d7/d6a/bisection__method_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d7/d6a/bisection__method_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index 35b7abc58..000000000 --- a/d7/d6a/bisection__method_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -f99f7015dbfced5e93bbceaa1438ab94 \ No newline at end of file diff --git a/d7/d6a/bisection__method_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d7/d6a/bisection__method_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 89efd9f81..000000000 --- a/d7/d6a/bisection__method_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,119 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -eq - - - - - -Node1->Node3 - - - - - - - - -Node5 - - -sgn - - - - - -Node1->Node5 - - - - - - - - -Node4 - - -std::pow - - - - - -Node3->Node4 - - - - - - - - - - - - - diff --git a/d7/d6a/bisection__method_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d7/d6a/bisection__method_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 0c75051f9..000000000 --- a/d7/d6a/bisection__method_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,93 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -eq - - - - - -Node1->Node3 - - - - - - - - -Node5 - - -sgn - - - - - -Node1->Node5 - - - - - - - - -Node4 - - -std::pow - - - - - -Node3->Node4 - - - - - - - - diff --git a/d7/d6a/bisection__method_8cpp_source.html b/d7/d6a/bisection__method_8cpp_source.html new file mode 100644 index 000000000..51f2c0180 --- /dev/null +++ b/d7/d6a/bisection__method_8cpp_source.html @@ -0,0 +1,204 @@ + + + + + + + + +TheAlgorithms/C++: numerical_methods/bisection_method.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    bisection_method.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    16#include <cmath>
    +
    17#include <iostream>
    +
    18#include <limits>
    +
    19
    +
    20#define EPSILON \
    +
    21 1e-6 // std::numeric_limits<double>::epsilon() ///< system accuracy limit
    +
    22#define MAX_ITERATIONS 50000
    +
    23
    +
    +
    26static double eq(double i) {
    +
    27 return (std::pow(i, 3) - (4 * i) - 9); // original equation
    +
    28}
    +
    +
    29
    +
    31template <typename T>
    +
    +
    32int sgn(T val) {
    +
    33 return (T(0) < val) - (val < T(0));
    +
    34}
    +
    +
    35
    +
    +
    37int main() {
    +
    38 double a = -1, b = 1, x, z;
    +
    39 int i;
    +
    40
    +
    41 // loop to find initial intervals a, b
    +
    42 for (int i = 0; i < MAX_ITERATIONS; i++) {
    +
    43 z = eq(a);
    +
    44 x = eq(b);
    +
    45 if (sgn(z) == sgn(x)) { // same signs, increase interval
    +
    46 b++;
    +
    47 a--;
    +
    48 } else { // if opposite signs, we got our interval
    +
    49 break;
    +
    50 }
    +
    51 }
    +
    52
    +
    53 std::cout << "\nFirst initial: " << a;
    +
    54 std::cout << "\nSecond initial: " << b;
    +
    55
    +
    56 // start iterations
    +
    57 for (i = 0; i < MAX_ITERATIONS; i++) {
    +
    58 x = (a + b) / 2;
    +
    59 z = eq(x);
    +
    60 std::cout << "\n\nz: " << z << "\t[" << a << " , " << b
    +
    61 << " | Bisect: " << x << "]";
    +
    62
    +
    63 if (z < 0) {
    +
    64 a = x;
    +
    65 } else {
    +
    66 b = x;
    +
    67 }
    +
    68
    +
    69 if (std::abs(z) < EPSILON) // stoping criteria
    +
    70 break;
    +
    71 }
    +
    72
    +
    73 std::cout << "\n\nRoot: " << x << "\t\tSteps: " << i << std::endl;
    +
    74 return 0;
    +
    75}
    +
    +
    #define MAX_ITERATIONS
    Maximum number of iterations to check.
    +
    int sgn(T val)
    +
    static double eq(double i)
    +
    int main()
    +
    +
    + + + + diff --git a/d7/d73/abbreviation_8cpp.html b/d7/d73/abbreviation_8cpp.html index fbb34979c..5a8e5da30 100644 --- a/d7/d73/abbreviation_8cpp.html +++ b/d7/d73/abbreviation_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: dynamic_programming/abbreviation.cpp File Reference +TheAlgorithms/C++: dynamic_programming/abbreviation.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -123,7 +140,9 @@ Include dependency graph for abbreviation.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -135,10 +154,10 @@ Namespaces

    Namespaces

    namespace  dynamic_programming
    - + - + @@ -162,6 +181,8 @@ Algorithm
  • If the a[i] is not uppercase, just discard that character, else return false
  • Time Complexity: (O(|a|*|b|)) where |a| => length of string a

    Author
    Ashish Daulatabad
    + +

    Definition in file abbreviation.cpp.

    Function Documentation

    ◆ abbreviation()

    @@ -172,12 +193,12 @@ Algorithm - + - +

    Functions

    bool dynamic_programming::abbreviation::abbreviation_recursion (std::vector< std::vector< bool > > *memo, std::vector< std::vector< bool > > *visited, const std::string &str, const std::string &result, uint32_t str_idx=0, uint32_t result_idx=0)
    bool dynamic_programming::abbreviation::abbreviation_recursion (std::vector< std::vector< bool > > *memo, std::vector< std::vector< bool > > *visited, const std::string &str, const std::string &result, uint32_t str_idx=0, uint32_t result_idx=0)
     Recursive Dynamic Programming function.
     
    bool dynamic_programming::abbreviation::abbreviation (const std::string &str, const std::string &result)
    bool dynamic_programming::abbreviation::abbreviation (const std::string &str, const std::string &result)
     Iterative Dynamic Programming function.
     
    static void test ()
    bool dynamic_programming::abbreviation::abbreviation (const std::string & str, const std::string & str,
    const std::string & result )const std::string & result )
    @@ -193,17 +214,19 @@ Algorithm
    Returns
    false if string str cannot be converted to result
    true if string str can be converted to result
    + +

    Definition at line 119 of file abbreviation.cpp.

    119 {
    - -
    121 str.size() + 1, std::vector<bool>(result.size() + 1, false));
    +
    120 std::vector<std::vector<bool>> memo(
    +
    121 str.size() + 1, std::vector<bool>(result.size() + 1, false));
    122
    -
    123 for (uint32_t i = 0; i <= str.size(); ++i) {
    +
    123 for (uint32_t i = 0; i <= str.size(); ++i) {
    124 memo[i][0] = true;
    125 }
    126 for (uint32_t i = 1; i <= result.size(); ++i) {
    127 memo[0][i] = false;
    128 }
    -
    129 for (uint32_t i = 1; i <= str.size(); ++i) {
    +
    129 for (uint32_t i = 1; i <= str.size(); ++i) {
    130 for (uint32_t j = 1; j <= result.size(); ++j) {
    131 if (str[i - 1] == result[j - 1]) {
    132 memo[i][j] = memo[i - 1][j - 1];
    @@ -220,15 +243,8 @@ Algorithm
    143 }
    144 return memo.back().back();
    145}
    -
    uint64_t result(uint64_t n)
    Definition fibonacci_sum.cpp:77
    -
    T size(T... args)
    - -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    uint64_t result(uint64_t n)
    +
    @@ -240,22 +256,22 @@ Here is the call graph for this function: bool dynamic_programming::abbreviation::abbreviation_recursion ( - std::vector< std::vector< bool > > * memo, + std::vector< std::vector< bool > > * memo, - std::vector< std::vector< bool > > * visited, + std::vector< std::vector< bool > > * visited, - const std::string & str, + const std::string & str, - const std::string & result, + const std::string & result, @@ -289,25 +305,16 @@ Here is the call graph for this function:
  • convert it to capitalized letter and move both to next pointer (i + 1, j + 1)
  • Discard the character (str[i]) and move to next char (i + 1, j)
  • + +

    Definition at line 59 of file abbreviation.cpp.

    62 {
    -
    63 bool ans = memo->at(str_idx).at(result_idx);
    -
    64 if (str_idx == str.size() && result_idx == result.size()) {
    +
    63 bool ans = memo->at(str_idx).at(result_idx);
    +
    64 if (str_idx == str.size() && result_idx == result.size()) {
    65 return true;
    -
    66 } else if (str_idx == str.size() && result_idx != result.size()) {
    +
    66 } else if (str_idx == str.size() && result_idx != result.size()) {
    67 // result `t` is not converted, return false
    68 return false;
    -
    69 } else if (!visited->at(str_idx).at(result_idx)) {
    -
    70 /**
    -
    71 * `(str[i] == result[j])`: if str char at position i is equal to
    -
    72 * `result` char at position j, then s character is a capitalized one,
    -
    73 * move on to next character `str[i] - 32 == result[j]`:
    -
    74 * if `str[i]` character is lowercase of `result[j]` then explore two
    -
    75 * possibilites:
    -
    76 * 1. convert it to capitalized letter and move both to next pointer
    -
    77 * `(i + 1, j + 1)`
    -
    78 * 2. Discard the character `(str[i])` and move to next char `(i + 1,
    -
    79 * j)`
    -
    80 */
    +
    69 } else if (!visited->at(str_idx).at(result_idx)) {
    81 if (str[str_idx] == result[result_idx]) {
    82 ans = abbreviation_recursion(memo, visited, str, result,
    83 str_idx + 1, result_idx + 1);
    @@ -333,14 +340,8 @@ Here is the call graph for this function:
    103 (*visited)[str_idx][result_idx] = true;
    104 return (*memo)[str_idx][result_idx];
    105}
    -
    bool abbreviation_recursion(std::vector< std::vector< bool > > *memo, std::vector< std::vector< bool > > *visited, const std::string &str, const std::string &result, uint32_t str_idx=0, uint32_t result_idx=0)
    Recursive Dynamic Programming function.
    Definition abbreviation.cpp:59
    -
    T at(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    bool abbreviation_recursion(std::vector< std::vector< bool > > *memo, std::vector< std::vector< bool > > *visited, const std::string &str, const std::string &result, uint32_t str_idx=0, uint32_t result_idx=0)
    Recursive Dynamic Programming function.
    + @@ -360,17 +361,14 @@ Here is the call graph for this function:

    Main function.

    Returns
    0 on exit
    + +

    Definition at line 192 of file abbreviation.cpp.

    192 {
    193 test(); // run self-test implementations
    194 return 0;
    195}
    -
    static void test()
    Self test-implementations.
    Definition abbreviation.cpp:153
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static void test()
    Self test-implementations.
    + @@ -398,22 +396,24 @@ Here is the call graph for this function:

    Self test-implementations.

    Returns
    void
    + +

    Definition at line 153 of file abbreviation.cpp.

    153 {
    -
    154 std::string s = "daBcd", t = "ABC";
    - -
    156 std::vector<bool>(t.size() + 1, false)),
    -
    157 visited(s.size() + 1, std::vector<bool>(t.size() + 1, false));
    +
    154 std::string s = "daBcd", t = "ABC";
    +
    155 std::vector<std::vector<bool>> memo(s.size() + 1,
    +
    156 std::vector<bool>(t.size() + 1, false)),
    +
    157 visited(s.size() + 1, std::vector<bool>(t.size() + 1, false));
    158
    159 assert(dynamic_programming::abbreviation::abbreviation_recursion(
    160 &memo, &visited, s, t) == true);
    161 assert(dynamic_programming::abbreviation::abbreviation(s, t) == true);
    162 s = "XXVVnDEFYgYeMXzWINQYHAQKKOZEYgSRCzLZAmUYGUGILjMDET";
    163 t = "XXVVDEFYYMXWINQYHAQKKOZEYSRCLZAUYGUGILMDETQVWU";
    - -
    165 s.size() + 1, std::vector<bool>(t.size() + 1, false));
    +
    164 memo = std::vector<std::vector<bool>>(
    +
    165 s.size() + 1, std::vector<bool>(t.size() + 1, false));
    166
    - -
    168 s.size() + 1, std::vector<bool>(t.size() + 1, false));
    +
    167 visited = std::vector<std::vector<bool>>(
    +
    168 s.size() + 1, std::vector<bool>(t.size() + 1, false));
    169
    170 assert(dynamic_programming::abbreviation::abbreviation_recursion(
    171 &memo, &visited, s, t) == false);
    @@ -422,23 +422,17 @@ Here is the call graph for this function:
    174 s = "DRFNLZZVHLPZWIupjwdmqafmgkg";
    175 t = "DRFNLZZVHLPZWI";
    176
    - -
    178 s.size() + 1, std::vector<bool>(t.size() + 1, false));
    +
    177 memo = std::vector<std::vector<bool>>(
    +
    178 s.size() + 1, std::vector<bool>(t.size() + 1, false));
    179
    - -
    181 s.size() + 1, std::vector<bool>(t.size() + 1, false));
    +
    180 visited = std::vector<std::vector<bool>>(
    +
    181 s.size() + 1, std::vector<bool>(t.size() + 1, false));
    182
    183 assert(dynamic_programming::abbreviation::abbreviation_recursion(
    184 &memo, &visited, s, t) == true);
    185 assert(dynamic_programming::abbreviation::abbreviation(s, t) == true);
    186}
    - -
    -Here is the call graph for this function:
    -
    -
    -
    - + diff --git a/d7/d73/abbreviation_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map b/d7/d73/abbreviation_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map deleted file mode 100644 index 7f06dbcfe..000000000 --- a/d7/d73/abbreviation_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d7/d73/abbreviation_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 b/d7/d73/abbreviation_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 deleted file mode 100644 index b042fbf65..000000000 --- a/d7/d73/abbreviation_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -b574a5ff8b8f7452a2f6ffd940f1e32e \ No newline at end of file diff --git a/d7/d73/abbreviation_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg b/d7/d73/abbreviation_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg deleted file mode 100644 index b68f06796..000000000 --- a/d7/d73/abbreviation_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -std::string::size - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d7/d73/abbreviation_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg b/d7/d73/abbreviation_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg deleted file mode 100644 index a742713ce..000000000 --- a/d7/d73/abbreviation_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -std::string::size - - - - - -Node1->Node2 - - - - - - - - diff --git a/d7/d73/abbreviation_8cpp_add60b8858720bf217df22d992d0fefaa_cgraph.map b/d7/d73/abbreviation_8cpp_add60b8858720bf217df22d992d0fefaa_cgraph.map deleted file mode 100644 index 8260c9a39..000000000 --- a/d7/d73/abbreviation_8cpp_add60b8858720bf217df22d992d0fefaa_cgraph.map +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/d7/d73/abbreviation_8cpp_add60b8858720bf217df22d992d0fefaa_cgraph.md5 b/d7/d73/abbreviation_8cpp_add60b8858720bf217df22d992d0fefaa_cgraph.md5 deleted file mode 100644 index cb8335f61..000000000 --- a/d7/d73/abbreviation_8cpp_add60b8858720bf217df22d992d0fefaa_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -4bfb6a2f89ab4b120b2934429ee6c4cb \ No newline at end of file diff --git a/d7/d73/abbreviation_8cpp_add60b8858720bf217df22d992d0fefaa_cgraph.svg b/d7/d73/abbreviation_8cpp_add60b8858720bf217df22d992d0fefaa_cgraph.svg deleted file mode 100644 index e07ade8f9..000000000 --- a/d7/d73/abbreviation_8cpp_add60b8858720bf217df22d992d0fefaa_cgraph.svg +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - - - - - - - -dynamic_programming::abbreviation::abbreviation_recursion - - -Node1 - - -dynamic_programming -::abbreviation::abbreviation -_recursion - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::vector::at - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::string::size - - - - - -Node1->Node3 - - - - - - - - - - - - - diff --git a/d7/d73/abbreviation_8cpp_add60b8858720bf217df22d992d0fefaa_cgraph_org.svg b/d7/d73/abbreviation_8cpp_add60b8858720bf217df22d992d0fefaa_cgraph_org.svg deleted file mode 100644 index 1e0110ca7..000000000 --- a/d7/d73/abbreviation_8cpp_add60b8858720bf217df22d992d0fefaa_cgraph_org.svg +++ /dev/null @@ -1,68 +0,0 @@ - - - - - - -dynamic_programming::abbreviation::abbreviation_recursion - - -Node1 - - -dynamic_programming -::abbreviation::abbreviation -_recursion - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::vector::at - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::string::size - - - - - -Node1->Node3 - - - - - - - - diff --git a/d7/d73/abbreviation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d7/d73/abbreviation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 17bfa4dda..000000000 --- a/d7/d73/abbreviation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/d7/d73/abbreviation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d7/d73/abbreviation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index 2c3baa1c8..000000000 --- a/d7/d73/abbreviation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -3f0b51ff06250e4e6d4a9db3e611a697 \ No newline at end of file diff --git a/d7/d73/abbreviation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d7/d73/abbreviation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 643e87bd8..000000000 --- a/d7/d73/abbreviation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::string::size - - - - - -Node2->Node3 - - - - - - - - - - - - - diff --git a/d7/d73/abbreviation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d7/d73/abbreviation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index f10521820..000000000 --- a/d7/d73/abbreviation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::string::size - - - - - -Node2->Node3 - - - - - - - - diff --git a/d7/d73/abbreviation_8cpp_af53b2f647bee9c5b75ef8dd9ef685dc8_cgraph.map b/d7/d73/abbreviation_8cpp_af53b2f647bee9c5b75ef8dd9ef685dc8_cgraph.map deleted file mode 100644 index cf81f28e4..000000000 --- a/d7/d73/abbreviation_8cpp_af53b2f647bee9c5b75ef8dd9ef685dc8_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/d7/d73/abbreviation_8cpp_af53b2f647bee9c5b75ef8dd9ef685dc8_cgraph.md5 b/d7/d73/abbreviation_8cpp_af53b2f647bee9c5b75ef8dd9ef685dc8_cgraph.md5 deleted file mode 100644 index d28c9f970..000000000 --- a/d7/d73/abbreviation_8cpp_af53b2f647bee9c5b75ef8dd9ef685dc8_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -2252847d840eeefe5b56eeb6a5e98b3e \ No newline at end of file diff --git a/d7/d73/abbreviation_8cpp_af53b2f647bee9c5b75ef8dd9ef685dc8_cgraph.svg b/d7/d73/abbreviation_8cpp_af53b2f647bee9c5b75ef8dd9ef685dc8_cgraph.svg deleted file mode 100644 index 44c158a15..000000000 --- a/d7/d73/abbreviation_8cpp_af53b2f647bee9c5b75ef8dd9ef685dc8_cgraph.svg +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - - - - - -dynamic_programming::abbreviation::abbreviation - - -Node1 - - -dynamic_programming -::abbreviation::abbreviation - - - - - -Node2 - - -std::vector::back - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::string::size - - - - - -Node1->Node3 - - - - - - - - - - - - - diff --git a/d7/d73/abbreviation_8cpp_af53b2f647bee9c5b75ef8dd9ef685dc8_cgraph_org.svg b/d7/d73/abbreviation_8cpp_af53b2f647bee9c5b75ef8dd9ef685dc8_cgraph_org.svg deleted file mode 100644 index a13973641..000000000 --- a/d7/d73/abbreviation_8cpp_af53b2f647bee9c5b75ef8dd9ef685dc8_cgraph_org.svg +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - -dynamic_programming::abbreviation::abbreviation - - -Node1 - - -dynamic_programming -::abbreviation::abbreviation - - - - - -Node2 - - -std::vector::back - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::string::size - - - - - -Node1->Node3 - - - - - - - - diff --git a/d7/d73/abbreviation_8cpp_source.html b/d7/d73/abbreviation_8cpp_source.html new file mode 100644 index 000000000..3ada3efef --- /dev/null +++ b/d7/d73/abbreviation_8cpp_source.html @@ -0,0 +1,263 @@ + + + + + + + + +TheAlgorithms/C++: dynamic_programming/abbreviation.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    abbreviation.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    26#include <cassert>
    +
    27#include <cstdint>
    +
    28#include <iostream>
    +
    29#include <string>
    +
    30#include <vector>
    +
    35namespace dynamic_programming {
    +
    42namespace abbreviation {
    +
    +
    59bool abbreviation_recursion(std::vector<std::vector<bool>> *memo,
    +
    60 std::vector<std::vector<bool>> *visited,
    +
    61 const std::string &str, const std::string &result,
    +
    62 uint32_t str_idx = 0, uint32_t result_idx = 0) {
    +
    63 bool ans = memo->at(str_idx).at(result_idx);
    +
    64 if (str_idx == str.size() && result_idx == result.size()) {
    +
    65 return true;
    +
    66 } else if (str_idx == str.size() && result_idx != result.size()) {
    +
    67 // result `t` is not converted, return false
    +
    68 return false;
    +
    69 } else if (!visited->at(str_idx).at(result_idx)) {
    +
    81 if (str[str_idx] == result[result_idx]) {
    +
    82 ans = abbreviation_recursion(memo, visited, str, result,
    +
    83 str_idx + 1, result_idx + 1);
    +
    84 } else if (str[str_idx] - 32 == result[result_idx]) {
    +
    85 ans = abbreviation_recursion(memo, visited, str, result,
    +
    86 str_idx + 1, result_idx + 1) ||
    +
    87 abbreviation_recursion(memo, visited, str, result,
    +
    88 str_idx + 1, result_idx);
    +
    89 } else {
    +
    90 // if `str[i]` is uppercase, then cannot be converted, return
    +
    91 // `false`
    +
    92 // else `str[i]` is lowercase, only option is to discard this
    +
    93 // character
    +
    94 if (str[str_idx] >= 'A' && str[str_idx] <= 'Z') {
    +
    95 ans = false;
    +
    96 } else {
    +
    97 ans = abbreviation_recursion(memo, visited, str, result,
    +
    98 str_idx + 1, result_idx);
    +
    99 }
    +
    100 }
    +
    101 }
    +
    102 (*memo)[str_idx][result_idx] = ans;
    +
    103 (*visited)[str_idx][result_idx] = true;
    +
    104 return (*memo)[str_idx][result_idx];
    +
    105}
    +
    +
    +
    119bool abbreviation(const std::string &str, const std::string &result) {
    +
    120 std::vector<std::vector<bool>> memo(
    +
    121 str.size() + 1, std::vector<bool>(result.size() + 1, false));
    +
    122
    +
    123 for (uint32_t i = 0; i <= str.size(); ++i) {
    +
    124 memo[i][0] = true;
    +
    125 }
    +
    126 for (uint32_t i = 1; i <= result.size(); ++i) {
    +
    127 memo[0][i] = false;
    +
    128 }
    +
    129 for (uint32_t i = 1; i <= str.size(); ++i) {
    +
    130 for (uint32_t j = 1; j <= result.size(); ++j) {
    +
    131 if (str[i - 1] == result[j - 1]) {
    +
    132 memo[i][j] = memo[i - 1][j - 1];
    +
    133 } else if (str[i - 1] - 32 == result[j - 1]) {
    +
    134 memo[i][j] = (memo[i - 1][j - 1] || memo[i - 1][j]);
    +
    135 } else {
    +
    136 if (str[i - 1] >= 'A' && str[i - 1] <= 'Z') {
    +
    137 memo[i][j] = false;
    +
    138 } else {
    +
    139 memo[i][j] = memo[i - 1][j];
    +
    140 }
    +
    141 }
    +
    142 }
    +
    143 }
    +
    144 return memo.back().back();
    +
    145}
    +
    +
    146} // namespace abbreviation
    +
    147} // namespace dynamic_programming
    +
    148
    +
    +
    153static void test() {
    +
    154 std::string s = "daBcd", t = "ABC";
    +
    155 std::vector<std::vector<bool>> memo(s.size() + 1,
    +
    156 std::vector<bool>(t.size() + 1, false)),
    +
    157 visited(s.size() + 1, std::vector<bool>(t.size() + 1, false));
    +
    158
    +
    159 assert(dynamic_programming::abbreviation::abbreviation_recursion(
    +
    160 &memo, &visited, s, t) == true);
    +
    161 assert(dynamic_programming::abbreviation::abbreviation(s, t) == true);
    +
    162 s = "XXVVnDEFYgYeMXzWINQYHAQKKOZEYgSRCzLZAmUYGUGILjMDET";
    +
    163 t = "XXVVDEFYYMXWINQYHAQKKOZEYSRCLZAUYGUGILMDETQVWU";
    +
    164 memo = std::vector<std::vector<bool>>(
    +
    165 s.size() + 1, std::vector<bool>(t.size() + 1, false));
    +
    166
    +
    167 visited = std::vector<std::vector<bool>>(
    +
    168 s.size() + 1, std::vector<bool>(t.size() + 1, false));
    +
    169
    +
    170 assert(dynamic_programming::abbreviation::abbreviation_recursion(
    +
    171 &memo, &visited, s, t) == false);
    +
    172 assert(dynamic_programming::abbreviation::abbreviation(s, t) == false);
    +
    173
    +
    174 s = "DRFNLZZVHLPZWIupjwdmqafmgkg";
    +
    175 t = "DRFNLZZVHLPZWI";
    +
    176
    +
    177 memo = std::vector<std::vector<bool>>(
    +
    178 s.size() + 1, std::vector<bool>(t.size() + 1, false));
    +
    179
    +
    180 visited = std::vector<std::vector<bool>>(
    +
    181 s.size() + 1, std::vector<bool>(t.size() + 1, false));
    +
    182
    +
    183 assert(dynamic_programming::abbreviation::abbreviation_recursion(
    +
    184 &memo, &visited, s, t) == true);
    +
    185 assert(dynamic_programming::abbreviation::abbreviation(s, t) == true);
    +
    186}
    +
    +
    187
    +
    +
    192int main() {
    +
    193 test(); // run self-test implementations
    +
    194 return 0;
    +
    195}
    +
    +
    static void test()
    Self test-implementations.
    +
    bool abbreviation_recursion(std::vector< std::vector< bool > > *memo, std::vector< std::vector< bool > > *visited, const std::string &str, const std::string &result, uint32_t str_idx=0, uint32_t result_idx=0)
    Recursive Dynamic Programming function.
    +
    int main()
    Main function.
    +
    Functions for Abbreviation implementation.
    +
    Dynamic Programming algorithms.
    +
    +
    + + + + diff --git a/d7/d75/postfix__evaluation_8cpp.html b/d7/d75/postfix__evaluation_8cpp.html index 5e800ea4f..e3d3515b8 100644 --- a/d7/d75/postfix__evaluation_8cpp.html +++ b/d7/d75/postfix__evaluation_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: others/postfix_evaluation.cpp File Reference +TheAlgorithms/C++: others/postfix_evaluation.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -124,7 +141,9 @@ Include dependency graph for postfix_evaluation.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -148,14 +167,14 @@ Functions - + - + - - + + @@ -172,6 +191,8 @@ Functions

    Evaluation of Postfix Expression

    Author
    Darshana Sarma

    Create a stack to store operands (or values). Scan the given expression and do following for every scanned element. If the element is a number, push it into the stack If the element is a operator, pop operands for the operator from stack. Evaluate the operator and push the result back to the stack When the expression is ended, the number in the stack is the final answer

    + +

    Definition in file postfix_evaluation.cpp.

    Function Documentation

    ◆ evaluate()

    @@ -192,7 +213,7 @@ Functions - + @@ -213,9 +234,11 @@ Functions
    Returns
    none
    + +

    Definition at line 77 of file postfix_evaluation.cpp.

    77 {
    78 float c = 0;
    -
    79 const char *op = operation.c_str();
    +
    79 const char *op = operation.c_str();
    80 switch (*op) {
    81 case '+':
    82 c = a + b; // Addition of numbers
    @@ -238,20 +261,13 @@ Functions
    99 break;
    100
    101 default:
    -
    102 std::cout << "Operator not defined\n";
    +
    102 std::cout << "Operator not defined\n";
    103 break;
    104 }
    105}
    - -
    T c_str(T... args)
    -
    for std::invalid_argument
    Definition stack.hpp:19
    -
    void push(float operand, Stack *stack)
    Pushing operand, also called the number in the array to the stack.
    Definition postfix_evaluation.cpp:44
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    for std::invalid_argument
    Definition stack.hpp:19
    +
    void push(float operand, Stack *stack)
    Pushing operand, also called the number in the array to the stack.
    + @@ -263,7 +279,7 @@ Here is the call graph for this function: - +

    Classes

    class  others::postfix_expression::Stack
    float others::postfix_expression::pop (Stack *stack)
     Popping operand, also called the number from the stack.
     
    bool others::postfix_expression::is_number (const std::string &s)
    bool others::postfix_expression::is_number (const std::string &s)
     Checks if scanned string is a number.
     
    void others::postfix_expression::evaluate (float a, float b, const std::string &operation, Stack *stack)
    void others::postfix_expression::evaluate (float a, float b, const std::string &operation, Stack *stack)
     Evaluate answer using given last two operands from and operation.
     
    template<std::size_t N>
    float others::postfix_expression::postfix_evaluation (std::array< std::string, N > input)
    template<std::size_t N>
    float others::postfix_expression::postfix_evaluation (std::array< std::string, N > input)
     Postfix Evaluation algorithm to compute the value from given input array.
     
    static void test_function_1 ()
    const std::string & operation, const std::string & operation,
    bool others::postfix_expression::is_number (const std::string & s)const std::string & s)
    @@ -277,19 +293,12 @@ Here is the call graph for this function:
    Returns
    bool boolean value if string is number
    -
    65 {
    -
    66 return !s.empty() && std::all_of(s.begin(), s.end(), ::isdigit);
    -
    67}
    -
    T all_of(T... args)
    -
    T begin(T... args)
    -
    T empty(T... args)
    -
    T end(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    +

    Definition at line 65 of file postfix_evaluation.cpp.

    +
    65 {
    +
    66 return !s.empty() && std::all_of(s.begin(), s.end(), ::isdigit);
    +
    67}
    +
    @@ -309,22 +318,19 @@ Here is the call graph for this function:

    Main function.

    Returns
    0 on exit
    + +

    Definition at line 171 of file postfix_evaluation.cpp.

    171 {
    174
    -
    175 std::cout << "\nTest implementations passed!\n";
    +
    175 std::cout << "\nTest implementations passed!\n";
    176
    177 return 0;
    178}
    -
    static void test_function_2()
    Test function 2 with input array {'1', '2', '+', '2', '/', '5', '*', '7', '+'}.
    Definition postfix_evaluation.cpp:159
    -
    static void test_function_1()
    Test function 1 with input array {'2', '3', '1', '*', '+', '9', '-'}.
    Definition postfix_evaluation.cpp:146
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static void test_function_2()
    Test function 2 with input array {'1', '2', '+', '2', '/', '5', '*', '7', '+'}.
    +
    static void test_function_1()
    Test function 1 with input array {'2', '3', '1', '*', '+', '9', '-'}.
    + @@ -350,12 +356,14 @@ Here is the call graph for this function:
    Returns
    operand float on top of stack
    + +

    Definition at line 54 of file postfix_evaluation.cpp.

    54 {
    55 float operand = stack->stack[stack->stackTop];
    56 stack->stackTop--;
    57 return operand;
    58}
    -
    std::shared_ptr< Node< value_type > > stackTop
    Definition stack.hpp:75
    +
    std::shared_ptr< Node< value_type > > stackTop
    Definition stack.hpp:75
    @@ -365,12 +373,12 @@ Here is the call graph for this function:
    -template<std::size_t N>
    +template<std::size_t N>
    - +
    float others::postfix_expression::postfix_evaluation (std::array< std::string, N > input)std::array< std::string, N > input)
    @@ -390,14 +398,16 @@ template<
    Returns
    stack[stackTop] returns the top value from the stack
    + +

    Definition at line 115 of file postfix_evaluation.cpp.

    115 {
    116 Stack stack;
    117 int j = 0;
    118
    119 while (j < N) {
    -
    120 std::string scan = input[j];
    +
    120 std::string scan = input[j];
    121 if (is_number(scan)) {
    -
    122 push(std::stof(scan), &stack);
    +
    122 push(std::stof(scan), &stack);
    123
    124 } else {
    125 float op2 = pop(&stack);
    @@ -408,21 +418,14 @@ template< 130 j++;
    131 }
    132
    -
    133 std::cout << stack.stack[stack.stackTop] << "\n";
    +
    133 std::cout << stack.stack[stack.stackTop] << "\n";
    134
    135 return stack.stack[stack.stackTop];
    136}
    - -
    bool is_number(const T &input)
    Utility function to verify if the given input is a number or not. This is very useful to prevent the ...
    Definition memory_game.cpp:62
    -
    char stack[MAX]
    Definition paranthesis_matching.cpp:20
    -
    void evaluate(float a, float b, const std::string &operation, Stack *stack)
    Evaluate answer using given last two operands from and operation.
    Definition postfix_evaluation.cpp:77
    -
    T stof(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    bool is_number(const T &input)
    Utility function to verify if the given input is a number or not. This is very useful to prevent the ...
    +
    char stack[MAX]
    +
    void evaluate(float a, float b, const std::string &operation, Stack *stack)
    Evaluate answer using given last two operands from and operation.
    + @@ -453,6 +456,8 @@ Here is the call graph for this function:
    Returns
    none
    + +

    Definition at line 44 of file postfix_evaluation.cpp.

    44 {
    45 stack->stackTop++;
    46 stack->stack[stack->stackTop] = operand;
    @@ -485,15 +490,16 @@ Here is the call graph for this function:

    Test function 1 with input array {'2', '3', '1', '*', '+', '9', '-'}.

    Returns
    none
    + +

    Definition at line 146 of file postfix_evaluation.cpp.

    146 {
    -
    147 std::array<std::string, 7> input = {"2", "3", "1", "*", "+", "9", "-"};
    +
    147 std::array<std::string, 7> input = {"2", "3", "1", "*", "+", "9", "-"};
    148
    150
    151 assert(answer == -4);
    152}
    - -
    float postfix_evaluation(std::array< std::string, N > input)
    Postfix Evaluation algorithm to compute the value from given input array.
    Definition postfix_evaluation.cpp:115
    +
    float postfix_evaluation(std::array< std::string, N > input)
    Postfix Evaluation algorithm to compute the value from given input array.
    @@ -522,8 +528,10 @@ Here is the call graph for this function:

    Test function 2 with input array {'1', '2', '+', '2', '/', '5', '*', '7', '+'}.

    Returns
    none
    + +

    Definition at line 159 of file postfix_evaluation.cpp.

    159 {
    -
    160 std::array<std::string, 9> input = {"100", "200", "+", "2", "/",
    +
    160 std::array<std::string, 9> input = {"100", "200", "+", "2", "/",
    161 "5", "*", "7", "+"};
    163
    diff --git a/d7/d75/postfix__evaluation_8cpp_a4c27f949c9d6659be9f5bd2ccbe1360a_cgraph.map b/d7/d75/postfix__evaluation_8cpp_a4c27f949c9d6659be9f5bd2ccbe1360a_cgraph.map deleted file mode 100644 index c7079c29f..000000000 --- a/d7/d75/postfix__evaluation_8cpp_a4c27f949c9d6659be9f5bd2ccbe1360a_cgraph.map +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/d7/d75/postfix__evaluation_8cpp_a4c27f949c9d6659be9f5bd2ccbe1360a_cgraph.md5 b/d7/d75/postfix__evaluation_8cpp_a4c27f949c9d6659be9f5bd2ccbe1360a_cgraph.md5 deleted file mode 100644 index 5ca6fe683..000000000 --- a/d7/d75/postfix__evaluation_8cpp_a4c27f949c9d6659be9f5bd2ccbe1360a_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -ce7e9a48842519322f5c791d0a8962c3 \ No newline at end of file diff --git a/d7/d75/postfix__evaluation_8cpp_a4c27f949c9d6659be9f5bd2ccbe1360a_cgraph.svg b/d7/d75/postfix__evaluation_8cpp_a4c27f949c9d6659be9f5bd2ccbe1360a_cgraph.svg deleted file mode 100644 index 5f64720b1..000000000 --- a/d7/d75/postfix__evaluation_8cpp_a4c27f949c9d6659be9f5bd2ccbe1360a_cgraph.svg +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - - - - - - - -others::postfix_expression::is_number - - -Node1 - - -others::postfix_expression -::is_number - - - - - -Node2 - - -std::all_of - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::string::begin - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::string::empty - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::string::end - - - - - -Node1->Node5 - - - - - - - - - - - - - diff --git a/d7/d75/postfix__evaluation_8cpp_a4c27f949c9d6659be9f5bd2ccbe1360a_cgraph_org.svg b/d7/d75/postfix__evaluation_8cpp_a4c27f949c9d6659be9f5bd2ccbe1360a_cgraph_org.svg deleted file mode 100644 index 58a5b735c..000000000 --- a/d7/d75/postfix__evaluation_8cpp_a4c27f949c9d6659be9f5bd2ccbe1360a_cgraph_org.svg +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - -others::postfix_expression::is_number - - -Node1 - - -others::postfix_expression -::is_number - - - - - -Node2 - - -std::all_of - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::string::begin - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::string::empty - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::string::end - - - - - -Node1->Node5 - - - - - - - - diff --git a/d7/d75/postfix__evaluation_8cpp_a59fd597e0ea394abe027ced4d2ea3338_cgraph.map b/d7/d75/postfix__evaluation_8cpp_a59fd597e0ea394abe027ced4d2ea3338_cgraph.map deleted file mode 100644 index 83cef9976..000000000 --- a/d7/d75/postfix__evaluation_8cpp_a59fd597e0ea394abe027ced4d2ea3338_cgraph.map +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/d7/d75/postfix__evaluation_8cpp_a59fd597e0ea394abe027ced4d2ea3338_cgraph.md5 b/d7/d75/postfix__evaluation_8cpp_a59fd597e0ea394abe027ced4d2ea3338_cgraph.md5 deleted file mode 100644 index 83cc01212..000000000 --- a/d7/d75/postfix__evaluation_8cpp_a59fd597e0ea394abe027ced4d2ea3338_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -5f3522cd4ba9b85bae8ea942d8f6330d \ No newline at end of file diff --git a/d7/d75/postfix__evaluation_8cpp_a59fd597e0ea394abe027ced4d2ea3338_cgraph.svg b/d7/d75/postfix__evaluation_8cpp_a59fd597e0ea394abe027ced4d2ea3338_cgraph.svg deleted file mode 100644 index 85b0b6458..000000000 --- a/d7/d75/postfix__evaluation_8cpp_a59fd597e0ea394abe027ced4d2ea3338_cgraph.svg +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - - - - - - - -others::postfix_expression::evaluate - - -Node1 - - -others::postfix_expression -::evaluate - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::string::c_str - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -others::postfix_expression -::push - - - - - -Node1->Node3 - - - - - - - - - - - - - diff --git a/d7/d75/postfix__evaluation_8cpp_a59fd597e0ea394abe027ced4d2ea3338_cgraph_org.svg b/d7/d75/postfix__evaluation_8cpp_a59fd597e0ea394abe027ced4d2ea3338_cgraph_org.svg deleted file mode 100644 index f53a41548..000000000 --- a/d7/d75/postfix__evaluation_8cpp_a59fd597e0ea394abe027ced4d2ea3338_cgraph_org.svg +++ /dev/null @@ -1,68 +0,0 @@ - - - - - - -others::postfix_expression::evaluate - - -Node1 - - -others::postfix_expression -::evaluate - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::string::c_str - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -others::postfix_expression -::push - - - - - -Node1->Node3 - - - - - - - - diff --git a/d7/d75/postfix__evaluation_8cpp_ae38bd3a177a6d61da3859a281233bbe1_cgraph.map b/d7/d75/postfix__evaluation_8cpp_ae38bd3a177a6d61da3859a281233bbe1_cgraph.map deleted file mode 100644 index e648ebe7a..000000000 --- a/d7/d75/postfix__evaluation_8cpp_ae38bd3a177a6d61da3859a281233bbe1_cgraph.map +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - diff --git a/d7/d75/postfix__evaluation_8cpp_ae38bd3a177a6d61da3859a281233bbe1_cgraph.md5 b/d7/d75/postfix__evaluation_8cpp_ae38bd3a177a6d61da3859a281233bbe1_cgraph.md5 deleted file mode 100644 index d0542c966..000000000 --- a/d7/d75/postfix__evaluation_8cpp_ae38bd3a177a6d61da3859a281233bbe1_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -b5699b9b691e04a5c4f76b43113e0347 \ No newline at end of file diff --git a/d7/d75/postfix__evaluation_8cpp_ae38bd3a177a6d61da3859a281233bbe1_cgraph.svg b/d7/d75/postfix__evaluation_8cpp_ae38bd3a177a6d61da3859a281233bbe1_cgraph.svg deleted file mode 100644 index 782295a96..000000000 --- a/d7/d75/postfix__evaluation_8cpp_ae38bd3a177a6d61da3859a281233bbe1_cgraph.svg +++ /dev/null @@ -1,140 +0,0 @@ - - - - - - - - - - - - -others::postfix_expression::postfix_evaluation - - -Node1 - - -others::postfix_expression -::postfix_evaluation - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -others::postfix_expression -::evaluate - - - - - -Node1->Node2 - - - - - - - - -Node5 - - -std::stof - - - - - -Node1->Node5 - - - - - - - - -Node2->Node2 - - - - - - - - -Node3 - - -std::string::c_str - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -others::postfix_expression -::push - - - - - -Node2->Node4 - - - - - - - - - - - - - diff --git a/d7/d75/postfix__evaluation_8cpp_ae38bd3a177a6d61da3859a281233bbe1_cgraph_org.svg b/d7/d75/postfix__evaluation_8cpp_ae38bd3a177a6d61da3859a281233bbe1_cgraph_org.svg deleted file mode 100644 index 3dc7c18c1..000000000 --- a/d7/d75/postfix__evaluation_8cpp_ae38bd3a177a6d61da3859a281233bbe1_cgraph_org.svg +++ /dev/null @@ -1,114 +0,0 @@ - - - - - - -others::postfix_expression::postfix_evaluation - - -Node1 - - -others::postfix_expression -::postfix_evaluation - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -others::postfix_expression -::evaluate - - - - - -Node1->Node2 - - - - - - - - -Node5 - - -std::stof - - - - - -Node1->Node5 - - - - - - - - -Node2->Node2 - - - - - - - - -Node3 - - -std::string::c_str - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -others::postfix_expression -::push - - - - - -Node2->Node4 - - - - - - - - diff --git a/d7/d75/postfix__evaluation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d7/d75/postfix__evaluation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index ca628e6a0..000000000 --- a/d7/d75/postfix__evaluation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/d7/d75/postfix__evaluation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d7/d75/postfix__evaluation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index e785fa2b1..000000000 --- a/d7/d75/postfix__evaluation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -ec1b874e1bbfb93c22fc88559566af34 \ No newline at end of file diff --git a/d7/d75/postfix__evaluation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d7/d75/postfix__evaluation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 8d017e270..000000000 --- a/d7/d75/postfix__evaluation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test_function_1 - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -test_function_2 - - - - - -Node1->Node3 - - - - - - - - - - - - - diff --git a/d7/d75/postfix__evaluation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d7/d75/postfix__evaluation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index be569ec25..000000000 --- a/d7/d75/postfix__evaluation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test_function_1 - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -test_function_2 - - - - - -Node1->Node3 - - - - - - - - diff --git a/d7/d75/postfix__evaluation_8cpp_source.html b/d7/d75/postfix__evaluation_8cpp_source.html new file mode 100644 index 000000000..d05836ec7 --- /dev/null +++ b/d7/d75/postfix__evaluation_8cpp_source.html @@ -0,0 +1,279 @@ + + + + + + + + +TheAlgorithms/C++: others/postfix_evaluation.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    postfix_evaluation.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    13#include <algorithm> // for all_of
    +
    14#include <array> // for std::array
    +
    15#include <cassert> // for assert
    +
    16#include <iostream> // for io operations
    +
    17#include <string> // for stof
    +
    18
    +
    23namespace others {
    +
    28namespace postfix_expression {
    +
    +
    32class Stack {
    +
    33 public:
    +
    34 std::array<float, 20> stack{};
    +
    35 int stackTop = -1;
    +
    36};
    +
    +
    37
    +
    +
    44void push(float operand, Stack *stack) {
    +
    45 stack->stackTop++;
    +
    46 stack->stack[stack->stackTop] = operand;
    +
    47}
    +
    +
    48
    +
    +
    54float pop(Stack *stack) {
    +
    55 float operand = stack->stack[stack->stackTop];
    +
    56 stack->stackTop--;
    +
    57 return operand;
    +
    58}
    +
    +
    59
    +
    +
    65bool is_number(const std::string &s) {
    +
    66 return !s.empty() && std::all_of(s.begin(), s.end(), ::isdigit);
    +
    67}
    +
    +
    68
    +
    +
    77void evaluate(float a, float b, const std::string &operation, Stack *stack) {
    +
    78 float c = 0;
    +
    79 const char *op = operation.c_str();
    +
    80 switch (*op) {
    +
    81 case '+':
    +
    82 c = a + b; // Addition of numbers
    + +
    84 break;
    +
    85
    +
    86 case '-':
    +
    87 c = a - b; // Subtraction of numbers
    + +
    89 break;
    +
    90
    +
    91 case '*':
    +
    92 c = a * b; // Multiplication of numbers
    + +
    94 break;
    +
    95
    +
    96 case '/':
    +
    97 c = a / b; // Division of numbers
    + +
    99 break;
    +
    100
    +
    101 default:
    +
    102 std::cout << "Operator not defined\n";
    +
    103 break;
    +
    104 }
    +
    105}
    +
    +
    106
    +
    114template <std::size_t N>
    +
    +
    115float postfix_evaluation(std::array<std::string, N> input) {
    +
    116 Stack stack;
    +
    117 int j = 0;
    +
    118
    +
    119 while (j < N) {
    +
    120 std::string scan = input[j];
    +
    121 if (is_number(scan)) {
    +
    122 push(std::stof(scan), &stack);
    +
    123
    +
    124 } else {
    +
    125 float op2 = pop(&stack);
    +
    126 float op1 = pop(&stack);
    +
    127
    +
    128 evaluate(op1, op2, scan, &stack);
    +
    129 }
    +
    130 j++;
    +
    131 }
    +
    132
    +
    133 std::cout << stack.stack[stack.stackTop] << "\n";
    +
    134
    +
    135 return stack.stack[stack.stackTop];
    +
    136}
    +
    +
    137} // namespace postfix_expression
    +
    138} // namespace others
    +
    139
    +
    140
    +
    +
    146static void test_function_1() {
    +
    147 std::array<std::string, 7> input = {"2", "3", "1", "*", "+", "9", "-"};
    +
    148
    +
    149 float answer = others::postfix_expression::postfix_evaluation(input);
    +
    150
    +
    151 assert(answer == -4);
    +
    152}
    +
    +
    153
    +
    +
    159static void test_function_2() {
    +
    160 std::array<std::string, 9> input = {"100", "200", "+", "2", "/",
    +
    161 "5", "*", "7", "+"};
    +
    162 float answer = others::postfix_expression::postfix_evaluation(input);
    +
    163
    +
    164 assert(answer == 757);
    +
    165}
    +
    +
    166
    +
    +
    171int main() {
    + + +
    174
    +
    175 std::cout << "\nTest implementations passed!\n";
    +
    176
    +
    177 return 0;
    +
    178}
    +
    +
    Creates an array to be used as stack for storing values.
    +
    int stackTop
    Represents the index of the last value added to array. -1 means array is empty.
    +
    for std::invalid_argument
    Definition stack.hpp:19
    +
    std::shared_ptr< Node< value_type > > stackTop
    Definition stack.hpp:75
    +
    for vector
    +
    Functions for Postfix Expression algorithm.
    +
    char stack[MAX]
    +
    void evaluate(float a, float b, const std::string &operation, Stack *stack)
    Evaluate answer using given last two operands from and operation.
    +
    static void test_function_2()
    Test function 2 with input array {'1', '2', '+', '2', '/', '5', '*', '7', '+'}.
    +
    static void test_function_1()
    Test function 1 with input array {'2', '3', '1', '*', '+', '9', '-'}.
    +
    void push(float operand, Stack *stack)
    Pushing operand, also called the number in the array to the stack.
    +
    float postfix_evaluation(std::array< std::string, N > input)
    Postfix Evaluation algorithm to compute the value from given input array.
    +
    int main()
    Main function.
    +
    +
    + + + + diff --git a/d7/d75/structstd_1_1is__unsigned_3_01uint256__t_01_4__coll__graph.map b/d7/d75/structstd_1_1is__unsigned_3_01uint256__t_01_4__coll__graph.map index 67a3e00d0..00e444f60 100644 --- a/d7/d75/structstd_1_1is__unsigned_3_01uint256__t_01_4__coll__graph.map +++ b/d7/d75/structstd_1_1is__unsigned_3_01uint256__t_01_4__coll__graph.map @@ -1,5 +1,5 @@ - + diff --git a/d7/d75/structstd_1_1is__unsigned_3_01uint256__t_01_4__coll__graph.md5 b/d7/d75/structstd_1_1is__unsigned_3_01uint256__t_01_4__coll__graph.md5 index 89f87ec0c..6915f6ced 100644 --- a/d7/d75/structstd_1_1is__unsigned_3_01uint256__t_01_4__coll__graph.md5 +++ b/d7/d75/structstd_1_1is__unsigned_3_01uint256__t_01_4__coll__graph.md5 @@ -1 +1 @@ -8a2c8d932f73b2177cbc2496a8096375 \ No newline at end of file +5da2e6ca4e559ac9044af5cacb5a1e60 \ No newline at end of file diff --git a/d7/d75/structstd_1_1is__unsigned_3_01uint256__t_01_4__coll__graph.svg b/d7/d75/structstd_1_1is__unsigned_3_01uint256__t_01_4__coll__graph.svg index b1edadbfb..b6a4e2c94 100644 --- a/d7/d75/structstd_1_1is__unsigned_3_01uint256__t_01_4__coll__graph.svg +++ b/d7/d75/structstd_1_1is__unsigned_3_01uint256__t_01_4__coll__graph.svg @@ -31,7 +31,7 @@ Node2 - + std::true_type diff --git a/d7/d75/structstd_1_1is__unsigned_3_01uint256__t_01_4__coll__graph_org.svg b/d7/d75/structstd_1_1is__unsigned_3_01uint256__t_01_4__coll__graph_org.svg index 6831071f6..906b30612 100644 --- a/d7/d75/structstd_1_1is__unsigned_3_01uint256__t_01_4__coll__graph_org.svg +++ b/d7/d75/structstd_1_1is__unsigned_3_01uint256__t_01_4__coll__graph_org.svg @@ -20,7 +20,7 @@ Node2 - + std::true_type diff --git a/d7/d77/class_edge.html b/d7/d77/class_edge.html index 8811f6a00..e52a9aea0 100644 --- a/d7/d77/class_edge.html +++ b/d7/d77/class_edge.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Edge Struct Reference +TheAlgorithms/C++: Edge Struct Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -131,25 +148,22 @@ Public Member Functions
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    - + - + - + - + - +

    Public Attributes

    -int src
    int src
     
    -int dst
    int dst
     
    -int weight
    int weight
     
    -unsigned int src
    unsigned int src
     
    -unsigned int dest
    unsigned int dest
     

    Detailed Description

    Implementation of non-weighted directed edge of a graph.

    The source vertex of the edge is labelled "src" and destination vertex is labelled "dest".

    + +

    Definition at line 8 of file bellman_ford.cpp.

    Constructor & Destructor Documentation

    ◆ Edge()

    @@ -185,13 +199,96 @@ unsigned int dest + +

    Definition at line 41 of file cycle_check_directed_graph.cpp.

    42 : src(source), dest(destination) {}
    +
    +
    +

    Member Data Documentation

    + +

    ◆ dest

    + +
    +
    + + + + +
    unsigned int Edge::dest
    +
    + +

    Definition at line 27 of file cycle_check_directed_graph.cpp.

    + +
    +
    + +

    ◆ dst

    + +
    +
    + + + + +
    int Edge::dst
    +
    + +

    Definition at line 10 of file bellman_ford.cpp.

    + +
    +
    + +

    ◆ src [1/2]

    + +
    +
    + + + + +
    int Edge::src
    +
    + +

    Definition at line 10 of file bellman_ford.cpp.

    + +
    +
    + +

    ◆ src [2/2]

    + +
    +
    + + + + +
    unsigned int Edge::src
    +
    + +

    Definition at line 26 of file cycle_check_directed_graph.cpp.

    + +
    +
    + +

    ◆ weight

    + +
    +
    + + + + +
    int Edge::weight
    +
    + +

    Definition at line 10 of file bellman_ford.cpp.

    +

    The documentation for this struct was generated from the following files: diff --git a/d7/d7a/namespacebinomial.html b/d7/d7a/namespacebinomial.html index 168fc9afd..42732fa1d 100644 --- a/d7/d7a/namespacebinomial.html +++ b/d7/d7a/namespacebinomial.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: binomial Namespace Reference +TheAlgorithms/C++: binomial Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/d7/d7c/classstatistics_1_1stats__computer1.html b/d7/d7c/classstatistics_1_1stats__computer1.html index ec3e6950a..90e0b0245 100644 --- a/d7/d7c/classstatistics_1_1stats__computer1.html +++ b/d7/d7c/classstatistics_1_1stats__computer1.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: statistics::stats_computer1< T > Class Template Reference +TheAlgorithms/C++: statistics::stats_computer1< T > Class Template Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + @@ -131,27 +148,25 @@ Public Member Functions
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    - + - + - + - +

    Private Attributes

    -unsigned int n = 0
    unsigned int n = 0
     
    -double Ex
    double Ex
     
    -double Ex2
    double Ex2
     
    -T K
    K
     
    - +

    Friends

    std::istreamoperator>> (std::istream &input, stats_computer1 &stat)
    std::istream & operator>> (std::istream &input, stats_computer1 &stat)
     

    Detailed Description

    template<typename T>
    class statistics::stats_computer1< T >

    continuous mean and variance computance using first value as an approximation for the mean. If the first number is much far form the mean, the algorithm becomes very inaccurate to compute variance and standard deviation.

    + +

    Definition at line 27 of file realtime_stats.cpp.

    Member Function Documentation

    ◆ mean()

    @@ -178,6 +193,8 @@ template<typename T >

    return sample mean computed till last sample

    + +

    Definition at line 42 of file realtime_stats.cpp.

    42{ return K + Ex / n; }
    @@ -212,6 +229,8 @@ template<typename T > + +

    Definition at line 32 of file realtime_stats.cpp.

    32 {
    33 if (n == 0)
    34 K = x;
    @@ -248,15 +267,11 @@ template<typename T >

    return sample standard deviation computed till last sample

    -
    48{ return std::sqrt(this->variance()); }
    -
    double variance() const
    Definition realtime_stats.cpp:45
    -
    T sqrt(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    +

    Definition at line 48 of file realtime_stats.cpp.

    +
    48{ return std::sqrt(this->variance()); }
    + +
    @@ -284,6 +299,8 @@ template<typename T >

    return data variance computed till last sample

    + +

    Definition at line 45 of file realtime_stats.cpp.

    45{ return (Ex2 - (Ex * Ex) / n) / (n - 1); }
    @@ -301,9 +318,9 @@ template<typename T > - + - + @@ -318,19 +335,126 @@ template<typename T >
    std::istream & operator>> std::istream & operator>> (std::istream & input, std::istream & input,

    short-hand operator to read new sample from input stream
    - e.g.: std::cin >> stats1;

    + e.g.: std::cin >> stats1;

    + +

    Definition at line 53 of file realtime_stats.cpp.

    54 {
    55 T val;
    56 input >> val;
    57 stat.new_val(val);
    58 return input;
    59 }
    -
    void new_val(T x)
    Definition realtime_stats.cpp:32
    +
    +
    + +

    Member Data Documentation

    + +

    ◆ Ex

    + +
    +
    +
    +template<typename T >
    + + + + + +
    + + + + +
    double statistics::stats_computer1< T >::Ex
    +
    +private
    +
    + +

    Definition at line 63 of file realtime_stats.cpp.

    + +
    +
    + +

    ◆ Ex2

    + +
    +
    +
    +template<typename T >
    + + + + + +
    + + + + +
    double statistics::stats_computer1< T >::Ex2
    +
    +private
    +
    + +

    Definition at line 63 of file realtime_stats.cpp.

    + +
    +
    + +

    ◆ K

    + +
    +
    +
    +template<typename T >
    + + + + + +
    + + + + +
    T statistics::stats_computer1< T >::K
    +
    +private
    +
    + +

    Definition at line 64 of file realtime_stats.cpp.

    + +
    +
    + +

    ◆ n

    + +
    +
    +
    +template<typename T >
    + + + + + +
    + + + + +
    unsigned int statistics::stats_computer1< T >::n = 0
    +
    +private
    +
    + +

    Definition at line 62 of file realtime_stats.cpp.

    +

    The documentation for this class was generated from the following file: diff --git a/d7/d7c/classstatistics_1_1stats__computer1_af57e942d49f4fd70f059f224b4ac07e1_cgraph.map b/d7/d7c/classstatistics_1_1stats__computer1_af57e942d49f4fd70f059f224b4ac07e1_cgraph.map deleted file mode 100644 index d7fef1fe5..000000000 --- a/d7/d7c/classstatistics_1_1stats__computer1_af57e942d49f4fd70f059f224b4ac07e1_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/d7/d7c/classstatistics_1_1stats__computer1_af57e942d49f4fd70f059f224b4ac07e1_cgraph.md5 b/d7/d7c/classstatistics_1_1stats__computer1_af57e942d49f4fd70f059f224b4ac07e1_cgraph.md5 deleted file mode 100644 index 7c5554ebb..000000000 --- a/d7/d7c/classstatistics_1_1stats__computer1_af57e942d49f4fd70f059f224b4ac07e1_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -9c14aaf9182be9dd74a85d574ca80a44 \ No newline at end of file diff --git a/d7/d7c/classstatistics_1_1stats__computer1_af57e942d49f4fd70f059f224b4ac07e1_cgraph.svg b/d7/d7c/classstatistics_1_1stats__computer1_af57e942d49f4fd70f059f224b4ac07e1_cgraph.svg deleted file mode 100644 index 805c0e036..000000000 --- a/d7/d7c/classstatistics_1_1stats__computer1_af57e942d49f4fd70f059f224b4ac07e1_cgraph.svg +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - - - - - -statistics::stats_computer1::std - - -Node1 - - -statistics::stats_computer1::std - - - - - -Node2 - - -std::sqrt - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -statistics::stats_computer1 -::variance - - - - - -Node1->Node3 - - - - - - - - - - - - - diff --git a/d7/d7c/classstatistics_1_1stats__computer1_af57e942d49f4fd70f059f224b4ac07e1_cgraph_org.svg b/d7/d7c/classstatistics_1_1stats__computer1_af57e942d49f4fd70f059f224b4ac07e1_cgraph_org.svg deleted file mode 100644 index 999eb3fac..000000000 --- a/d7/d7c/classstatistics_1_1stats__computer1_af57e942d49f4fd70f059f224b4ac07e1_cgraph_org.svg +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - -statistics::stats_computer1::std - - -Node1 - - -statistics::stats_computer1::std - - - - - -Node2 - - -std::sqrt - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -statistics::stats_computer1 -::variance - - - - - -Node1->Node3 - - - - - - - - diff --git a/d7/d7f/section.html b/d7/d7f/section.html index 3edd76f80..3886aa53f 100644 --- a/d7/d7f/section.html +++ b/d7/d7f/section.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Prime factorization +TheAlgorithms/C++: Prime factorization + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/d7/d81/namespacebit__manipulation.html b/d7/d81/namespacebit__manipulation.html index d5960858e..730c2f478 100644 --- a/d7/d81/namespacebit__manipulation.html +++ b/d7/d81/namespacebit__manipulation.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: bit_manipulation Namespace Reference +TheAlgorithms/C++: bit_manipulation Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + @@ -134,7 +151,7 @@ Functions

    Bit manipulation algorithms

    for io operations

    Bit Manipulation algorithms

    -

    for std::min for IO operations for limits of integral types for std::vector

    +

    for std::min for IO operations for limits of integral types for std::vector

    Bit manipulation algorithms

    Function Documentation

    @@ -160,6 +177,8 @@ Functions
    Returns
    either true or false
    + +

    Definition at line 32 of file power_of_2.cpp.

    32 { // int64_t is preferred over int so that
    33 // no Overflow can be there.
    34
    @@ -197,6 +216,8 @@ Functions
    Returns
    a number
    + +

    Definition at line 33 of file next_higher_number_with_same_number_of_set_bits.cpp.

    33 {
    34 uint64_t rightOne = 0;
    35 uint64_t nextHigherOneBit = 0;
    diff --git a/d7/d83/trie__tree_8cpp.html b/d7/d83/trie__tree_8cpp.html index 7e3bcda55..a9cb93981 100644 --- a/d7/d83/trie__tree_8cpp.html +++ b/d7/d83/trie__tree_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: data_structures/trie_tree.cpp File Reference +TheAlgorithms/C++: data_structures/trie_tree.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + @@ -125,7 +142,9 @@ Include dependency graph for trie_tree.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -154,6 +173,8 @@ FunctionsKrishna Vedala
    Note
    the function ::data_structure::trie::deleteString might be erroneous
    See also
    trie_modern.cpp
    + +

    Definition in file trie_tree.cpp.

    Function Documentation

    ◆ main()

    @@ -172,18 +193,15 @@ Functions

    Main function.

    Returns
    0 on exit
    + +

    Definition at line 205 of file trie_tree.cpp.

    205 {
    206 test();
    207
    208 return 0;
    209}
    -
    static void test()
    Testing function.
    Definition trie_tree.cpp:178
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static void test()
    Testing function.
    + @@ -211,30 +229,31 @@ Here is the call graph for this function:

    Testing function.

    Returns
    void
    + +

    Definition at line 178 of file trie_tree.cpp.

    178 {
    180 root.insert("Hello");
    181 root.insert("World");
    182
    183 assert(!root.search("hello", 0));
    -
    184 std::cout << "hello - " << root.search("hello", 0) << "\n";
    +
    184 std::cout << "hello - " << root.search("hello", 0) << "\n";
    185
    186 assert(root.search("Hello", 0));
    -
    187 std::cout << "Hello - " << root.search("Hello", 0) << "\n";
    +
    187 std::cout << "Hello - " << root.search("Hello", 0) << "\n";
    188
    189 assert(!root.search("Word", 0));
    -
    190 std::cout << "Word - " << root.search("Word", 0) << "\n";
    +
    190 std::cout << "Word - " << root.search("Word", 0) << "\n";
    191
    192 assert(root.search("World", 0));
    -
    193 std::cout << "World - " << root.search("World", 0) << "\n";
    +
    193 std::cout << "World - " << root.search("World", 0) << "\n";
    194
    195 // Following lines of code give erroneous output
    196 // root.deleteString("hello", 0);
    197 // assert(!root.search("hello", 0));
    198 // std::cout << "hello - " << root.search("world", 0) << "\n";
    199}
    - -
    Trie implementation for small-case English alphabets a-z
    Definition trie_tree.cpp:25
    +
    Trie implementation for small-case English alphabets a-z
    Definition trie_tree.cpp:25
    diff --git a/d7/d83/trie__tree_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d7/d83/trie__tree_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 332584363..000000000 --- a/d7/d83/trie__tree_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d7/d83/trie__tree_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d7/d83/trie__tree_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index 705a6fc63..000000000 --- a/d7/d83/trie__tree_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -c722ddbbb1b6583f92df0c2ff57fffc1 \ No newline at end of file diff --git a/d7/d83/trie__tree_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d7/d83/trie__tree_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index ba971ead3..000000000 --- a/d7/d83/trie__tree_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d7/d83/trie__tree_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d7/d83/trie__tree_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 2b0c271f9..000000000 --- a/d7/d83/trie__tree_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - diff --git a/d7/d83/trie__tree_8cpp_source.html b/d7/d83/trie__tree_8cpp_source.html new file mode 100644 index 000000000..c6558d30b --- /dev/null +++ b/d7/d83/trie__tree_8cpp_source.html @@ -0,0 +1,318 @@ + + + + + + + + +TheAlgorithms/C++: data_structures/trie_tree.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    +

    Classes

    class  data_structures::trie
    + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + + +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    trie_tree.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    10#include <array>
    +
    11#include <cassert>
    +
    12#include <iostream>
    +
    13#include <memory>
    +
    14#include <string>
    +
    15#include <vector>
    +
    16
    +
    20namespace data_structures {
    +
    +
    25class trie {
    +
    26 private:
    +
    27 static constexpr uint8_t NUM_CHARS = 26;
    +
    29 std::array<std::shared_ptr<trie>, NUM_CHARS << 1> arr;
    +
    30 bool isEndofWord = false;
    +
    31
    +
    +
    38 uint8_t char_to_int(const char& ch) const {
    +
    39 if (ch >= 'A' && ch <= 'Z') {
    +
    40 return ch - 'A';
    +
    41 } else if (ch >= 'a' && ch <= 'z') {
    +
    42 return ch - 'a' + NUM_CHARS;
    +
    43 }
    +
    44
    +
    45 std::cerr << "Invalid character present. Exiting...";
    +
    46 std::exit(EXIT_FAILURE);
    +
    47 return 0;
    +
    48 }
    +
    +
    49
    +
    +
    56 bool search(const std::shared_ptr<trie>& root, const std::string& str,
    +
    57 int index) {
    +
    58 if (index == str.length()) {
    +
    59 if (!root->isEndofWord) {
    +
    60 return false;
    +
    61 }
    +
    62 return true;
    +
    63 }
    +
    64 int j = char_to_int(str[index]);
    +
    65 if (!root->arr[j]) {
    +
    66 return false;
    +
    67 }
    +
    68 return search(root->arr[j], str, index + 1);
    +
    69 }
    +
    +
    70
    +
    71 public:
    +
    72 trie() = default;
    +
    73
    +
    +
    77 void insert(const std::string& str) {
    +
    78 std::shared_ptr<trie> root(nullptr);
    +
    79
    +
    80 for (const char& ch : str) {
    +
    81 int j = char_to_int(ch);
    +
    82 if (root) {
    +
    83 if (root->arr[j]) {
    +
    84 root = root->arr[j];
    +
    85 } else {
    +
    86 std::shared_ptr<trie> temp(new trie());
    +
    87 root->arr[j] = temp;
    +
    88 root = temp;
    +
    89 }
    +
    90 } else if (arr[j]) {
    +
    91 root = arr[j];
    +
    92 } else {
    +
    93 std::shared_ptr<trie> temp(new trie());
    +
    94 arr[j] = temp;
    +
    95 root = temp;
    +
    96 }
    +
    97 }
    +
    98 root->isEndofWord = true;
    +
    99 }
    +
    +
    100
    +
    +
    107 bool search(const std::string& str, int index) {
    +
    108 if (index == str.length()) {
    +
    109 if (!isEndofWord) {
    +
    110 return false;
    +
    111 }
    +
    112 return true;
    +
    113 }
    +
    114 int j = char_to_int(str[index]);
    +
    115 if (!arr[j]) {
    +
    116 return false;
    +
    117 }
    +
    118 return search(arr[j], str, index + 1);
    +
    119 }
    +
    +
    120
    +
    +
    134 bool deleteString(const std::string& str, int index) {
    +
    135 if (index == str.length()) {
    +
    136 if (!isEndofWord) {
    +
    137 return false;
    +
    138 }
    +
    139 isEndofWord = false;
    +
    140 // following lines - possible source of error?
    +
    141 // for (int i = 0; i < NUM_CHARS; i++)
    +
    142 // if (!arr[i])
    +
    143 // return false;
    +
    144 return true;
    +
    145 }
    +
    146 int j = char_to_int(str[index]);
    +
    147 if (!arr[j]) {
    +
    148 return false;
    +
    149 }
    +
    150 bool var = deleteString(str, index + 1);
    +
    151 if (var) {
    +
    152 arr[j].reset();
    +
    153 if (isEndofWord) {
    +
    154 return false;
    +
    155 } else {
    +
    156 int i = 0;
    +
    157 for (i = 0; i < NUM_CHARS; i++) {
    +
    158 if (arr[i]) {
    +
    159 return false;
    +
    160 }
    +
    161 }
    +
    162 return true;
    +
    163 }
    +
    164 }
    +
    165
    +
    166 /* should not return here */
    +
    167 std::cout << __func__ << ":" << __LINE__
    +
    168 << "Should not reach this line\n";
    +
    169 return false;
    +
    170 }
    +
    +
    171};
    +
    +
    172} // namespace data_structures
    +
    173
    +
    +
    178static void test() {
    + +
    180 root.insert("Hello");
    +
    181 root.insert("World");
    +
    182
    +
    183 assert(!root.search("hello", 0));
    +
    184 std::cout << "hello - " << root.search("hello", 0) << "\n";
    +
    185
    +
    186 assert(root.search("Hello", 0));
    +
    187 std::cout << "Hello - " << root.search("Hello", 0) << "\n";
    +
    188
    +
    189 assert(!root.search("Word", 0));
    +
    190 std::cout << "Word - " << root.search("Word", 0) << "\n";
    +
    191
    +
    192 assert(root.search("World", 0));
    +
    193 std::cout << "World - " << root.search("World", 0) << "\n";
    +
    194
    +
    195 // Following lines of code give erroneous output
    +
    196 // root.deleteString("hello", 0);
    +
    197 // assert(!root.search("hello", 0));
    +
    198 // std::cout << "hello - " << root.search("world", 0) << "\n";
    +
    199}
    +
    +
    200
    +
    +
    205int main() {
    +
    206 test();
    +
    207
    +
    208 return 0;
    +
    209}
    +
    +
    Trie implementation for small-case English alphabets a-z
    Definition trie_tree.cpp:25
    +
    void insert(const std::string &str)
    Definition trie_tree.cpp:77
    +
    std::array< std::shared_ptr< trie >, NUM_CHARS<< 1 > arr
    Recursive tree nodes as an array of shared-pointers.
    Definition trie_tree.cpp:29
    +
    bool search(const std::string &str, int index)
    +
    static constexpr uint8_t NUM_CHARS
    Number of alphabets.
    Definition trie_tree.cpp:27
    +
    bool isEndofWord
    identifier if a node is terminal node
    Definition trie_tree.cpp:30
    +
    trie()=default
    Class default constructor.
    +
    bool search(const std::shared_ptr< trie > &root, const std::string &str, int index)
    Definition trie_tree.cpp:56
    +
    uint8_t char_to_int(const char &ch) const
    Convert a character to integer for indexing.
    Definition trie_tree.cpp:38
    +
    bool deleteString(const std::string &str, int index)
    +
    for IO operations
    +
    for std::assert
    +
    static void test()
    Testing function.
    +
    int main()
    Main function.
    +
    +
    + + + + diff --git a/d7/d85/doubly__linked__list_8cpp_source.html b/d7/d85/doubly__linked__list_8cpp_source.html new file mode 100644 index 000000000..bd86d996a --- /dev/null +++ b/d7/d85/doubly__linked__list_8cpp_source.html @@ -0,0 +1,280 @@ + + + + + + + + +TheAlgorithms/C++: data_structures/doubly_linked_list.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    doubly_linked_list.cpp
    +
    +
    +
    1#include <cstdio>
    +
    2#include <cstdlib>
    +
    3#include <iostream>
    +
    4
    +
    5struct node {
    +
    6 int val;
    +
    7 node *prev;
    +
    8 node *next;
    +
    9} * start;
    +
    10
    +
    + +
    12 public:
    +
    13 double_linked_list() { start = NULL; }
    +
    14 void insert(int x);
    +
    15 void remove(int x);
    +
    16 void search(int x);
    +
    17 void show();
    +
    18 void reverseShow();
    +
    19};
    +
    +
    20
    +
    21void double_linked_list::insert(int x) {
    +
    22 node *t = start;
    +
    23 if (start != NULL) {
    +
    24 while (t->next != NULL) {
    +
    25 t = t->next;
    +
    26 }
    +
    27 node *n = new node;
    +
    28 t->next = n;
    +
    29 n->prev = t;
    +
    30 n->val = x;
    +
    31 n->next = NULL;
    +
    32 } else {
    +
    33 node *n = new node;
    +
    34 n->val = x;
    +
    35 n->prev = NULL;
    +
    36 n->next = NULL;
    +
    37 start = n;
    +
    38 }
    +
    39}
    +
    40
    +
    41void double_linked_list::remove(int x) {
    +
    42 node *t = start;
    +
    43 while (t != NULL && t->val != x) {
    +
    44 t = t->next;
    +
    45 }
    +
    46 if (t == NULL) {
    +
    47 return;
    +
    48 }
    +
    49 if (t->prev == NULL) {
    +
    50 if (t->next == NULL) {
    +
    51 start = NULL;
    +
    52 } else {
    +
    53 start = t->next;
    +
    54 start->prev = NULL;
    +
    55 }
    +
    56 } else if (t->next == NULL) {
    +
    57 t->prev->next = NULL;
    +
    58 } else {
    +
    59 t->prev->next = t->next;
    +
    60 t->next->prev = t->prev;
    +
    61 }
    +
    62 delete t;
    +
    63}
    +
    64
    +
    65void double_linked_list::search(int x) {
    +
    66 node *t = start;
    +
    67 int found = 0;
    +
    68 while (t != NULL) {
    +
    69 if (t->val == x) {
    +
    70 std::cout << "\nFound";
    +
    71 found = 1;
    +
    72 break;
    +
    73 }
    +
    74 t = t->next;
    +
    75 }
    +
    76 if (found == 0) {
    +
    77 std::cout << "\nNot Found";
    +
    78 }
    +
    79}
    +
    80
    +
    81void double_linked_list::show() {
    +
    82 node *t = start;
    +
    83 while (t != NULL) {
    +
    84 std::cout << t->val << "\t";
    +
    85 t = t->next;
    +
    86 }
    +
    87}
    +
    88
    +
    89void double_linked_list::reverseShow() {
    +
    90 node *t = start;
    +
    91 while (t != NULL && t->next != NULL) {
    +
    92 t = t->next;
    +
    93 }
    +
    94 while (t != NULL) {
    +
    95 std::cout << t->val << "\t";
    +
    96 t = t->prev;
    +
    97 }
    +
    98}
    +
    99
    +
    100int main() {
    +
    101 int choice, x;
    + +
    103 do {
    +
    104 std::cout << "\n1. Insert";
    +
    105 std::cout << "\n2. Delete";
    +
    106 std::cout << "\n3. Search";
    +
    107 std::cout << "\n4. Forward print";
    +
    108 std::cout << "\n5. Reverse print";
    +
    109 std::cout << "\n\nEnter you choice : ";
    +
    110 std::cin >> choice;
    +
    111 switch (choice) {
    +
    112 case 1:
    +
    113 std::cout << "\nEnter the element to be inserted : ";
    +
    114 std::cin >> x;
    +
    115 ob.insert(x);
    +
    116 break;
    +
    117 case 2:
    +
    118 std::cout << "\nEnter the element to be removed : ";
    +
    119 std::cin >> x;
    +
    120 ob.remove(x);
    +
    121 break;
    +
    122 case 3:
    +
    123 std::cout << "\nEnter the element to be searched : ";
    +
    124 std::cin >> x;
    +
    125 ob.search(x);
    +
    126 break;
    +
    127 case 4:
    +
    128 ob.show();
    +
    129 break;
    +
    130 case 5:
    +
    131 ob.reverseShow();
    +
    132 break;
    +
    133 }
    +
    134 } while (choice != 0);
    +
    135 return 0;
    +
    136}
    +
    struct node { int data; int height; struct node *left; struct node *right;} node
    for std::queue
    Definition avltree.cpp:13
    + +
    int main()
    Main function.
    +
    for std::assert
    + +
    +
    + + + + diff --git a/d7/d88/namespaceprefix__sum__array.html b/d7/d88/namespaceprefix__sum__array.html index 8fbe6787c..28e10ed9a 100644 --- a/d7/d88/namespaceprefix__sum__array.html +++ b/d7/d88/namespaceprefix__sum__array.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: prefix_sum_array Namespace Reference +TheAlgorithms/C++: prefix_sum_array Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/d7/d89/double__factorial_8cpp.html b/d7/d89/double__factorial_8cpp.html index c3c310167..f716f1258 100644 --- a/d7/d89/double__factorial_8cpp.html +++ b/d7/d89/double__factorial_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: math/double_factorial.cpp File Reference +TheAlgorithms/C++: math/double_factorial.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + @@ -120,7 +137,9 @@ Include dependency graph for double_factorial.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -138,6 +157,8 @@ Functions

    Compute double factorial: \(n!!\).

    Double factorial of a non-negative integer n, is defined as the product of all the integers from 1 to n that have the same parity (odd or even) as n.
    It is also called as semifactorial of a number and is denoted by \(n!!\)

    + +

    Definition in file double_factorial.cpp.

    Function Documentation

    ◆ double_factorial_iterative()

    @@ -154,6 +175,8 @@ It is also called as semifactorial of a number and is denoted by \(n!!\)

    Functions

    uint64_t double_factorial_iterative (uint64_t n)

    Compute double factorial using iterative method

    + +

    Definition at line 18 of file double_factorial.cpp.

    18 {
    19 uint64_t res = 1;
    20 for (uint64_t i = n;; i -= 2) {
    @@ -182,18 +205,15 @@ It is also called as semifactorial of a number and is denoted by \(n!!\)

    Compute double factorial using resursive method.
    Recursion can be costly for large numbers.

    + +

    Definition at line 31 of file double_factorial.cpp.

    31 {
    32 if (n <= 1)
    33 return 1;
    34 return n * double_factorial_recursive(n - 2);
    35}
    -
    uint64_t double_factorial_recursive(uint64_t n)
    Definition double_factorial.cpp:31
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    uint64_t double_factorial_recursive(uint64_t n)
    +
    @@ -211,17 +231,14 @@ Here is the call graph for this function:

    Main function

    + +

    Definition at line 68 of file double_factorial.cpp.

    68 {
    69 tests();
    70 return 0;
    71}
    -
    void tests()
    Definition double_factorial.cpp:51
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    void tests()
    +
    @@ -249,17 +266,14 @@ Here is the call graph for this function: + +

    Definition at line 43 of file double_factorial.cpp.

    43 {
    44 assert(double_factorial_iterative(n) == expected);
    45 assert(double_factorial_recursive(n) == expected);
    46}
    -
    uint64_t double_factorial_iterative(uint64_t n)
    Definition double_factorial.cpp:18
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    uint64_t double_factorial_iterative(uint64_t n)
    + @@ -277,27 +291,23 @@ Here is the call graph for this function:

    Test implementations

    -
    51 {
    -
    52 std::cout << "Test 1:\t n=5\t...";
    -
    53 test(5, 15);
    -
    54 std::cout << "passed\n";
    -
    55
    -
    56 std::cout << "Test 2:\t n=15\t...";
    -
    57 test(15, 2027025);
    -
    58 std::cout << "passed\n";
    -
    59
    -
    60 std::cout << "Test 3:\t n=0\t...";
    -
    61 test(0, 1);
    -
    62 std::cout << "passed\n";
    -
    63}
    - -
    static void test()
    Self-test implementations.
    Definition generate_parentheses.cpp:82
    -
    -Here is the call graph for this function:
    -
    -
    -
    +

    Definition at line 51 of file double_factorial.cpp.

    +
    51 {
    +
    52 std::cout << "Test 1:\t n=5\t...";
    +
    53 test(5, 15);
    +
    54 std::cout << "passed\n";
    +
    55
    +
    56 std::cout << "Test 2:\t n=15\t...";
    +
    57 test(15, 2027025);
    +
    58 std::cout << "passed\n";
    +
    59
    +
    60 std::cout << "Test 3:\t n=0\t...";
    +
    61 test(0, 1);
    +
    62 std::cout << "passed\n";
    +
    63}
    +
    static void test()
    Self-test implementations.
    +
    diff --git a/d7/d89/double__factorial_8cpp_a68ba20fed2ce427f6469c7689437829d_cgraph.map b/d7/d89/double__factorial_8cpp_a68ba20fed2ce427f6469c7689437829d_cgraph.map deleted file mode 100644 index afb999cb0..000000000 --- a/d7/d89/double__factorial_8cpp_a68ba20fed2ce427f6469c7689437829d_cgraph.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/d7/d89/double__factorial_8cpp_a68ba20fed2ce427f6469c7689437829d_cgraph.md5 b/d7/d89/double__factorial_8cpp_a68ba20fed2ce427f6469c7689437829d_cgraph.md5 deleted file mode 100644 index 9d20810b7..000000000 --- a/d7/d89/double__factorial_8cpp_a68ba20fed2ce427f6469c7689437829d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -3d9db50fc4daeede078fdb61e72d3475 \ No newline at end of file diff --git a/d7/d89/double__factorial_8cpp_a68ba20fed2ce427f6469c7689437829d_cgraph.svg b/d7/d89/double__factorial_8cpp_a68ba20fed2ce427f6469c7689437829d_cgraph.svg deleted file mode 100644 index 9f2cc8d02..000000000 --- a/d7/d89/double__factorial_8cpp_a68ba20fed2ce427f6469c7689437829d_cgraph.svg +++ /dev/null @@ -1,56 +0,0 @@ - - - - - - - - - - - - -double_factorial_recursive - - -Node1 - - -double_factorial_recursive - - - - - -Node1->Node1 - - - - - - - - - - - - - diff --git a/d7/d89/double__factorial_8cpp_a68ba20fed2ce427f6469c7689437829d_cgraph_org.svg b/d7/d89/double__factorial_8cpp_a68ba20fed2ce427f6469c7689437829d_cgraph_org.svg deleted file mode 100644 index dff83d8af..000000000 --- a/d7/d89/double__factorial_8cpp_a68ba20fed2ce427f6469c7689437829d_cgraph_org.svg +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - -double_factorial_recursive - - -Node1 - - -double_factorial_recursive - - - - - -Node1->Node1 - - - - - - - - diff --git a/d7/d89/double__factorial_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph.map b/d7/d89/double__factorial_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph.map deleted file mode 100644 index 92e8827f8..000000000 --- a/d7/d89/double__factorial_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph.map +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - - - - - diff --git a/d7/d89/double__factorial_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph.md5 b/d7/d89/double__factorial_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph.md5 deleted file mode 100644 index 358abe236..000000000 --- a/d7/d89/double__factorial_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -4db9dfa12e6b68c027e65f97233b7321 \ No newline at end of file diff --git a/d7/d89/double__factorial_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph.svg b/d7/d89/double__factorial_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph.svg deleted file mode 100644 index 9a748433b..000000000 --- a/d7/d89/double__factorial_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph.svg +++ /dev/null @@ -1,223 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -tests - - -Node1 - - -tests - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -backtracking::generate -_parentheses::generate - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::vector::clear - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -backtracking::generate -_parentheses::makeStrings - - - - - -Node3->Node5 - - - - - - - - -Node5->Node5 - - - - - - - - -Node6 - - -std::string::length - - - - - -Node5->Node6 - - - - - - - - -Node7 - - -std::vector::push_back - - - - - -Node5->Node7 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d7/d89/double__factorial_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph_org.svg b/d7/d89/double__factorial_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph_org.svg deleted file mode 100644 index 3d92f65e9..000000000 --- a/d7/d89/double__factorial_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph_org.svg +++ /dev/null @@ -1,140 +0,0 @@ - - - - - - -tests - - -Node1 - - -tests - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -backtracking::generate -_parentheses::generate - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::vector::clear - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -backtracking::generate -_parentheses::makeStrings - - - - - -Node3->Node5 - - - - - - - - -Node5->Node5 - - - - - - - - -Node6 - - -std::string::length - - - - - -Node5->Node6 - - - - - - - - -Node7 - - -std::vector::push_back - - - - - -Node5->Node7 - - - - - - - - diff --git a/d7/d89/double__factorial_8cpp_abbbcebf3a2d0c67f4c3cfb5511a97981_cgraph.map b/d7/d89/double__factorial_8cpp_abbbcebf3a2d0c67f4c3cfb5511a97981_cgraph.map deleted file mode 100644 index 69cb35328..000000000 --- a/d7/d89/double__factorial_8cpp_abbbcebf3a2d0c67f4c3cfb5511a97981_cgraph.map +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/d7/d89/double__factorial_8cpp_abbbcebf3a2d0c67f4c3cfb5511a97981_cgraph.md5 b/d7/d89/double__factorial_8cpp_abbbcebf3a2d0c67f4c3cfb5511a97981_cgraph.md5 deleted file mode 100644 index 79f63d8f0..000000000 --- a/d7/d89/double__factorial_8cpp_abbbcebf3a2d0c67f4c3cfb5511a97981_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -d5b85b6b81c07b4ab5e9bbc7ddc28765 \ No newline at end of file diff --git a/d7/d89/double__factorial_8cpp_abbbcebf3a2d0c67f4c3cfb5511a97981_cgraph.svg b/d7/d89/double__factorial_8cpp_abbbcebf3a2d0c67f4c3cfb5511a97981_cgraph.svg deleted file mode 100644 index 68c6876bc..000000000 --- a/d7/d89/double__factorial_8cpp_abbbcebf3a2d0c67f4c3cfb5511a97981_cgraph.svg +++ /dev/null @@ -1,92 +0,0 @@ - - - - - - - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -double_factorial_iterative - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -double_factorial_recursive - - - - - -Node1->Node3 - - - - - - - - -Node3->Node3 - - - - - - - - - - - - - diff --git a/d7/d89/double__factorial_8cpp_abbbcebf3a2d0c67f4c3cfb5511a97981_cgraph_org.svg b/d7/d89/double__factorial_8cpp_abbbcebf3a2d0c67f4c3cfb5511a97981_cgraph_org.svg deleted file mode 100644 index ca456ba1a..000000000 --- a/d7/d89/double__factorial_8cpp_abbbcebf3a2d0c67f4c3cfb5511a97981_cgraph_org.svg +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -double_factorial_iterative - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -double_factorial_recursive - - - - - -Node1->Node3 - - - - - - - - -Node3->Node3 - - - - - - - - diff --git a/d7/d89/double__factorial_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d7/d89/double__factorial_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 21936b38f..000000000 --- a/d7/d89/double__factorial_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - - - - - - - - - - diff --git a/d7/d89/double__factorial_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d7/d89/double__factorial_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index d3a106877..000000000 --- a/d7/d89/double__factorial_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -38379ac6f4e4f047c537f9ca6f0d2adc \ No newline at end of file diff --git a/d7/d89/double__factorial_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d7/d89/double__factorial_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 99eb7d8a2..000000000 --- a/d7/d89/double__factorial_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,241 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -tests - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -test - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -backtracking::generate -_parentheses::generate - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -std::vector::clear - - - - - -Node4->Node5 - - - - - - - - -Node6 - - -backtracking::generate -_parentheses::makeStrings - - - - - -Node4->Node6 - - - - - - - - -Node6->Node6 - - - - - - - - -Node7 - - -std::string::length - - - - - -Node6->Node7 - - - - - - - - -Node8 - - -std::vector::push_back - - - - - -Node6->Node8 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d7/d89/double__factorial_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d7/d89/double__factorial_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 64462f984..000000000 --- a/d7/d89/double__factorial_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,158 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -tests - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -test - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -backtracking::generate -_parentheses::generate - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -std::vector::clear - - - - - -Node4->Node5 - - - - - - - - -Node6 - - -backtracking::generate -_parentheses::makeStrings - - - - - -Node4->Node6 - - - - - - - - -Node6->Node6 - - - - - - - - -Node7 - - -std::string::length - - - - - -Node6->Node7 - - - - - - - - -Node8 - - -std::vector::push_back - - - - - -Node6->Node8 - - - - - - - - diff --git a/d7/d89/double__factorial_8cpp_source.html b/d7/d89/double__factorial_8cpp_source.html new file mode 100644 index 000000000..83f8b05f3 --- /dev/null +++ b/d7/d89/double__factorial_8cpp_source.html @@ -0,0 +1,196 @@ + + + + + + + + +TheAlgorithms/C++: math/double_factorial.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    double_factorial.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    12#include <cassert>
    +
    13#include <cstdint>
    +
    14#include <iostream>
    +
    15
    +
    +
    18uint64_t double_factorial_iterative(uint64_t n) {
    +
    19 uint64_t res = 1;
    +
    20 for (uint64_t i = n;; i -= 2) {
    +
    21 if (i == 0 || i == 1)
    +
    22 return res;
    +
    23 res *= i;
    +
    24 }
    +
    25 return res;
    +
    26}
    +
    +
    27
    +
    +
    31uint64_t double_factorial_recursive(uint64_t n) {
    +
    32 if (n <= 1)
    +
    33 return 1;
    +
    34 return n * double_factorial_recursive(n - 2);
    +
    35}
    +
    +
    36
    +
    +
    43void test(uint64_t n, uint64_t expected) {
    +
    44 assert(double_factorial_iterative(n) == expected);
    +
    45 assert(double_factorial_recursive(n) == expected);
    +
    46}
    +
    +
    47
    +
    +
    51void tests() {
    +
    52 std::cout << "Test 1:\t n=5\t...";
    +
    53 test(5, 15);
    +
    54 std::cout << "passed\n";
    +
    55
    +
    56 std::cout << "Test 2:\t n=15\t...";
    +
    57 test(15, 2027025);
    +
    58 std::cout << "passed\n";
    +
    59
    +
    60 std::cout << "Test 3:\t n=0\t...";
    +
    61 test(0, 1);
    +
    62 std::cout << "passed\n";
    +
    63}
    +
    +
    64
    +
    +
    68int main() {
    +
    69 tests();
    +
    70 return 0;
    +
    71}
    +
    +
    uint64_t double_factorial_iterative(uint64_t n)
    +
    uint64_t double_factorial_recursive(uint64_t n)
    +
    void tests()
    +
    int main()
    +
    static void test()
    Self-test implementations.
    +
    +
    + + + + diff --git a/d7/da4/struct_list_node.html b/d7/da4/struct_list_node.html index df36a5d39..830132696 100644 --- a/d7/da4/struct_list_node.html +++ b/d7/da4/struct_list_node.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: ListNode Struct Reference +TheAlgorithms/C++: ListNode Struct Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -126,13 +143,11 @@ Public Member Functions   - - + + - - + +
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    ListNode ()=default
     default constructor
     
    ListNode (int x)
     constructor with value for node->val provided
     ListNode (int x)
     constructor with value for node->val provided
     
    ListNode (int x, ListNode *next)
     constructor with values provided for node->val and node->next
     ListNode (int x, ListNode *next)
     constructor with values provided for node->val and node->next
     

    Detailed Description

    for IO operations

    for assert Definition for singly-linked list.

    -

    Member Data Documentation

    + +

    Definition at line 31 of file median_search2.cpp.

    +

    Constructor & Destructor Documentation

    + +

    ◆ ListNode() [1/2]

    + +
    +
    +

    @@ -147,7 +162,72 @@ Public Attributes

    + + + + +
    + + + + + + + +
    ListNode::ListNode (int x)
    +
    +inlineexplicit
    +
    + +

    constructor with value for node->val provided

    + +

    Definition at line 35 of file median_search2.cpp.

    + +
    + + +

    ◆ ListNode() [2/2]

    + +
    +
    + + + + + +
    + + + + + + + + + + + +
    ListNode::ListNode (int x,
    ListNode * next )
    +
    +inline
    +
    + +

    constructor with values provided for node->val and node->next

    + +

    Definition at line 37 of file median_search2.cpp.

    + +
    +
    +

    Member Data Documentation

    ◆ next

    @@ -161,7 +241,9 @@ Public Attributes

    pointer to the next node

    -
    33{nullptr}; ///< pointer to the next node
    + +

    Definition at line 33 of file median_search2.cpp.

    +
    33{nullptr};
    @@ -178,12 +260,14 @@ Public Attributes

    the value stored in the node

    -
    32{0}; ///< the value stored in the node
    + +

    Definition at line 32 of file median_search2.cpp.

    +
    32{0};

    The documentation for this struct was generated from the following file: diff --git a/d7/da6/eratosthenes_8cpp.html b/d7/da6/eratosthenes_8cpp.html index 73b07a3e9..47c0bb605 100644 --- a/d7/da6/eratosthenes_8cpp.html +++ b/d7/da6/eratosthenes_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: math/eratosthenes.cpp File Reference +TheAlgorithms/C++: math/eratosthenes.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -123,7 +140,9 @@ Include dependency graph for eratosthenes.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -132,11 +151,11 @@ Namespaces

    Namespaces

    namespace  math
    - + - - + + @@ -149,6 +168,8 @@ Functions

    The Sieve of Eratosthenes

    Store an array of booleans where a true value indicates that it's index is prime. For all the values in the array starting from 2 which we know is prime, we walk the array in multiples of the current outer value setting them to not prime. If we remove all multiples of a value as we see it, we'll be left with just primes.

    Pass "print" as a command line arg to see the generated list of primes

    Author
    Keval Kapdee
    + +

    Definition in file eratosthenes.cpp.

    Function Documentation

    ◆ main()

    @@ -178,57 +199,45 @@ Functions
    Returns
    0 on exit
    + +

    Definition at line 87 of file eratosthenes.cpp.

    87 {
    88 test(); // run self-test implementations
    89
    90 // The largest prime we will check for
    -
    91 auto max = 10000;
    +
    91 auto max = 10000;
    92
    93 // Store a boolean for every number which states if that index is prime or
    94 // not
    -
    95 auto primes = std::vector<bool>(max, true);
    +
    95 auto primes = std::vector<bool>(max, true);
    96
    97 // Store the algorithm start time
    - +
    98 auto start = std::chrono::high_resolution_clock::now();
    99
    100 // Run the sieve
    102
    103 // Time difference calculation
    - - - +
    104 auto time = std::chrono::duration_cast<
    +
    105 std::chrono::duration<double, std::ratio<1>>>(
    +
    106 std::chrono::high_resolution_clock::now() - start)
    107 .count();
    108
    109 // Print the primes if we see that "print" was passed as an arg
    -
    110 if (argc > 1 && argv[1] == std::string("print")) {
    +
    110 if (argc > 1 && argv[1] == std::string("print")) {
    112 }
    113
    114 // Print the time taken we found earlier
    -
    115 std::cout << "Time taken: " << time << " seconds" << std::endl;
    +
    115 std::cout << "Time taken: " << time << " seconds" << std::endl;
    116
    117 return 0;
    118}
    - - -
    T duration_cast(T... args)
    - -
    T endl(T... args)
    -
    static void test()
    Self-tests the sieve function for major inconsistencies.
    Definition eratosthenes.cpp:64
    -
    T max(T... args)
    -
    void sieve(std::vector< bool > *vec)
    Performs the sieve.
    Definition eratosthenes.cpp:33
    -
    void print_primes(std::vector< bool > const &primes)
    Prints all the indexes of true values in the passed std::vector.
    Definition eratosthenes.cpp:51
    - -
    std::vector< int > primes(size_t max)
    Definition prime_numbers.cpp:12
    -
    T time(T... args)
    - -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static void test()
    Self-tests the sieve function for major inconsistencies.
    +
    void sieve(std::vector< bool > *vec)
    Performs the sieve.
    +
    void print_primes(std::vector< bool > const &primes)
    Prints all the indexes of true values in the passed std::vector.
    +
    std::vector< int > primes(size_t max)
    + @@ -256,8 +265,10 @@ Here is the call graph for this function:

    Self-tests the sieve function for major inconsistencies.

    Returns
    void
    + +

    Definition at line 64 of file eratosthenes.cpp.

    64 {
    -
    65 auto primes = std::vector<bool>(10, true);
    +
    65 auto primes = std::vector<bool>(10, true);
    67 assert(primes[0] == false);
    68 assert(primes[1] == false);
    @@ -270,14 +281,9 @@ Here is the call graph for this function:
    75 assert(primes[8] == false);
    76 assert(primes[9] == false);
    77
    -
    78 std::cout << "All tests have successfully passed!\n";
    +
    78 std::cout << "All tests have successfully passed!\n";
    79}
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + diff --git a/d7/da6/eratosthenes_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.map b/d7/da6/eratosthenes_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.map deleted file mode 100644 index a00039a8e..000000000 --- a/d7/da6/eratosthenes_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.map +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d7/da6/eratosthenes_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.md5 b/d7/da6/eratosthenes_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.md5 deleted file mode 100644 index 3a9de1a78..000000000 --- a/d7/da6/eratosthenes_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -7c176131606f002ced7b6a8f1b653d2d \ No newline at end of file diff --git a/d7/da6/eratosthenes_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.svg b/d7/da6/eratosthenes_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.svg deleted file mode 100644 index 2a06d1e9e..000000000 --- a/d7/da6/eratosthenes_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.svg +++ /dev/null @@ -1,255 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -std::chrono::duration_cast - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::chrono::high_resolution -_clock::now - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -primes - - - - - -Node1->Node5 - - - - - - - - -Node7 - - -math::print_primes - - - - - -Node1->Node7 - - - - - - - - -Node9 - - -math::sieve - - - - - -Node1->Node9 - - - - - - - - -Node10 - - -test - - - - - -Node1->Node10 - - - - - - - - -Node6 - - -std::vector::emplace_back - - - - - -Node5->Node6 - - - - - - - - -Node7->Node3 - - - - - - - - -Node7->Node5 - - - - - - - - -Node8 - - -std::vector::size - - - - - -Node7->Node8 - - - - - - - - -Node9->Node8 - - - - - - - - -Node10->Node5 - - - - - - - - -Node10->Node9 - - - - - - - - - - - - - diff --git a/d7/da6/eratosthenes_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph_org.svg b/d7/da6/eratosthenes_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph_org.svg deleted file mode 100644 index 8b95e4e6d..000000000 --- a/d7/da6/eratosthenes_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph_org.svg +++ /dev/null @@ -1,229 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -std::chrono::duration_cast - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::chrono::high_resolution -_clock::now - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -primes - - - - - -Node1->Node5 - - - - - - - - -Node7 - - -math::print_primes - - - - - -Node1->Node7 - - - - - - - - -Node9 - - -math::sieve - - - - - -Node1->Node9 - - - - - - - - -Node10 - - -test - - - - - -Node1->Node10 - - - - - - - - -Node6 - - -std::vector::emplace_back - - - - - -Node5->Node6 - - - - - - - - -Node7->Node3 - - - - - - - - -Node7->Node5 - - - - - - - - -Node8 - - -std::vector::size - - - - - -Node7->Node8 - - - - - - - - -Node9->Node8 - - - - - - - - -Node10->Node5 - - - - - - - - -Node10->Node9 - - - - - - - - diff --git a/d7/da6/eratosthenes_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map b/d7/da6/eratosthenes_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map deleted file mode 100644 index a2d5f902a..000000000 --- a/d7/da6/eratosthenes_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/d7/da6/eratosthenes_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 b/d7/da6/eratosthenes_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 deleted file mode 100644 index 52e1dd19d..000000000 --- a/d7/da6/eratosthenes_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -3d9aaa3d42aa82072aacd423e4b1e880 \ No newline at end of file diff --git a/d7/da6/eratosthenes_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg b/d7/da6/eratosthenes_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg deleted file mode 100644 index 773de2bb5..000000000 --- a/d7/da6/eratosthenes_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg +++ /dev/null @@ -1,119 +0,0 @@ - - - - - - - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -primes - - - - - -Node1->Node2 - - - - - - - - -Node4 - - -math::sieve - - - - - -Node1->Node4 - - - - - - - - -Node3 - - -std::vector::emplace_back - - - - - -Node2->Node3 - - - - - - - - -Node5 - - -std::vector::size - - - - - -Node4->Node5 - - - - - - - - - - - - - diff --git a/d7/da6/eratosthenes_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg b/d7/da6/eratosthenes_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg deleted file mode 100644 index 36f78f4b5..000000000 --- a/d7/da6/eratosthenes_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg +++ /dev/null @@ -1,93 +0,0 @@ - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -primes - - - - - -Node1->Node2 - - - - - - - - -Node4 - - -math::sieve - - - - - -Node1->Node4 - - - - - - - - -Node3 - - -std::vector::emplace_back - - - - - -Node2->Node3 - - - - - - - - -Node5 - - -std::vector::size - - - - - -Node4->Node5 - - - - - - - - diff --git a/d7/da6/eratosthenes_8cpp_source.html b/d7/da6/eratosthenes_8cpp_source.html new file mode 100644 index 000000000..ad97d056e --- /dev/null +++ b/d7/da6/eratosthenes_8cpp_source.html @@ -0,0 +1,230 @@ + + + + + + + + +TheAlgorithms/C++: math/eratosthenes.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    +

    Functions

    void math::sieve (std::vector< bool > *vec)
    void math::sieve (std::vector< bool > *vec)
     Performs the sieve.
     
    void math::print_primes (std::vector< bool > const &primes)
     Prints all the indexes of true values in the passed std::vector.
    void math::print_primes (std::vector< bool > const &primes)
     Prints all the indexes of true values in the passed std::vector.
     
    static void test ()
     Self-tests the sieve function for major inconsistencies.
    + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + + +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    eratosthenes.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    16#include <cassert>
    +
    17#include <chrono>
    +
    18#include <iostream>
    +
    19#include <string>
    +
    20#include <vector>
    +
    21
    +
    26namespace math {
    +
    +
    33void sieve(std::vector<bool> *vec) {
    +
    34 (*vec)[0] = false;
    +
    35 (*vec)[1] = false;
    +
    36
    +
    37 // The sieve sets values to false as they are found not prime
    +
    38 for (uint64_t n = 2; n < vec->size(); n++) {
    +
    39 for (uint64_t multiple = n << 1; multiple < vec->size();
    +
    40 multiple += n) {
    +
    41 (*vec)[multiple] = false;
    +
    42 }
    +
    43 }
    +
    44}
    +
    +
    45
    +
    +
    51void print_primes(std::vector<bool> const &primes) {
    +
    52 for (uint64_t i = 0; i < primes.size(); i++) {
    +
    53 if (primes[i]) {
    +
    54 std::cout << i << std::endl;
    +
    55 }
    +
    56 }
    +
    57}
    +
    +
    58} // namespace math
    +
    59
    +
    +
    64static void test() {
    +
    65 auto primes = std::vector<bool>(10, true);
    + +
    67 assert(primes[0] == false);
    +
    68 assert(primes[1] == false);
    +
    69 assert(primes[2] == true);
    +
    70 assert(primes[3] == true);
    +
    71 assert(primes[4] == false);
    +
    72 assert(primes[5] == true);
    +
    73 assert(primes[6] == false);
    +
    74 assert(primes[7] == true);
    +
    75 assert(primes[8] == false);
    +
    76 assert(primes[9] == false);
    +
    77
    +
    78 std::cout << "All tests have successfully passed!\n";
    +
    79}
    +
    +
    80
    +
    +
    87int main(int argc, char *argv[]) {
    +
    88 test(); // run self-test implementations
    +
    89
    +
    90 // The largest prime we will check for
    +
    91 auto max = 10000;
    +
    92
    +
    93 // Store a boolean for every number which states if that index is prime or
    +
    94 // not
    +
    95 auto primes = std::vector<bool>(max, true);
    +
    96
    +
    97 // Store the algorithm start time
    +
    98 auto start = std::chrono::high_resolution_clock::now();
    +
    99
    +
    100 // Run the sieve
    + +
    102
    +
    103 // Time difference calculation
    +
    104 auto time = std::chrono::duration_cast<
    +
    105 std::chrono::duration<double, std::ratio<1>>>(
    +
    106 std::chrono::high_resolution_clock::now() - start)
    +
    107 .count();
    +
    108
    +
    109 // Print the primes if we see that "print" was passed as an arg
    +
    110 if (argc > 1 && argv[1] == std::string("print")) {
    + +
    112 }
    +
    113
    +
    114 // Print the time taken we found earlier
    +
    115 std::cout << "Time taken: " << time << " seconds" << std::endl;
    +
    116
    +
    117 return 0;
    +
    118}
    +
    +
    static void test()
    Self-tests the sieve function for major inconsistencies.
    +
    int main()
    Main function.
    +
    for assert
    +
    void sieve(std::vector< bool > *vec)
    Performs the sieve.
    +
    void print_primes(std::vector< bool > const &primes)
    Prints all the indexes of true values in the passed std::vector.
    +
    std::vector< int > primes(size_t max)
    +
    +
    + + + + diff --git a/d7/dab/get__size__of__linked__list_8cpp_source.html b/d7/dab/get__size__of__linked__list_8cpp_source.html new file mode 100644 index 000000000..b133b6895 --- /dev/null +++ b/d7/dab/get__size__of__linked__list_8cpp_source.html @@ -0,0 +1,191 @@ + + + + + + + + +TheAlgorithms/C++: operations_on_datastructures/get_size_of_linked_list.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    get_size_of_linked_list.cpp
    +
    +
    +
    1#include <iostream>
    +
    2
    +
    3class Node {
    +
    4 public:
    +
    5 int val;
    +
    6 Node *next;
    +
    7
    +
    8 Node(int v, Node *n) : val(v), next(n) {} // Default constructor for Node
    +
    9};
    +
    10
    +
    11int getSize(Node *root) {
    +
    12 if (root == NULL) {
    +
    13 return 0;
    +
    14 }
    +
    15 // Each node will return 1 so the total adds up to be the size
    +
    16 return 1 + getSize(root->next);
    +
    17}
    +
    18
    +
    19/*
    +
    20 * @brief This function dealocates memory related to the given list
    +
    21 * It recursively deletes all of the nodes of the input list.
    +
    22 * @param room the root/head of the input list
    +
    23 * @warning Plese note that the memory for each node has to be alocated using new.
    +
    24 */
    +
    25void deleteList(Node *const root) {
    +
    26 if (root != NULL)
    +
    27 {
    +
    28 deleteList(root->next);
    +
    29 delete root;
    +
    30 }
    +
    31}
    +
    32
    +
    33int main() {
    +
    34 Node *myList = new Node(0, NULL); // Initializes the LinkedList
    +
    35 Node *temp = myList;
    +
    36 // Creates a linked lists of total size 10, numbered 1 - 10
    +
    37 for (int i = 1; i < 10; i++) {
    +
    38 temp->next = new Node(i, NULL);
    +
    39 temp = temp->next;
    +
    40 }
    +
    41 // Creating other lists for checking purposes
    +
    42 Node *secondList = new Node(0, NULL); // List of size 1
    +
    43 Node *thirdList = NULL; // List of size 0
    +
    44
    +
    45 std::cout << getSize(myList) << std::endl
    +
    46 << getSize(secondList) << std::endl
    +
    47 << getSize(thirdList) << std::endl;
    +
    48 deleteList(secondList);
    +
    49 deleteList(myList);
    +
    50
    +
    51 return 0;
    +
    52}
    +
    int main()
    Main function.
    + +
    +
    + + + + diff --git a/d7/dab/structstrings_1_1boyer__moore_1_1pattern-members.html b/d7/dab/structstrings_1_1boyer__moore_1_1pattern-members.html index 41e50e626..888737f0c 100644 --- a/d7/dab/structstrings_1_1boyer__moore_1_1pattern-members.html +++ b/d7/dab/structstrings_1_1boyer__moore_1_1pattern-members.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Member List +TheAlgorithms/C++: Member List + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/d7/dac/structstd_1_1is__integral_3_01uint256__t_01_4__inherit__graph.map b/d7/dac/structstd_1_1is__integral_3_01uint256__t_01_4__inherit__graph.map index ce4dc1d03..4abe656ee 100644 --- a/d7/dac/structstd_1_1is__integral_3_01uint256__t_01_4__inherit__graph.map +++ b/d7/dac/structstd_1_1is__integral_3_01uint256__t_01_4__inherit__graph.map @@ -1,5 +1,5 @@ - + diff --git a/d7/dac/structstd_1_1is__integral_3_01uint256__t_01_4__inherit__graph.md5 b/d7/dac/structstd_1_1is__integral_3_01uint256__t_01_4__inherit__graph.md5 index 788d8c929..1a663bd01 100644 --- a/d7/dac/structstd_1_1is__integral_3_01uint256__t_01_4__inherit__graph.md5 +++ b/d7/dac/structstd_1_1is__integral_3_01uint256__t_01_4__inherit__graph.md5 @@ -1 +1 @@ -a5f53b759dc7234205449bd588ef3a2b \ No newline at end of file +bbaa537b5da9cdc9be75d53307994ca9 \ No newline at end of file diff --git a/d7/dac/structstd_1_1is__integral_3_01uint256__t_01_4__inherit__graph.svg b/d7/dac/structstd_1_1is__integral_3_01uint256__t_01_4__inherit__graph.svg index 3bf5a37da..2b19f7128 100644 --- a/d7/dac/structstd_1_1is__integral_3_01uint256__t_01_4__inherit__graph.svg +++ b/d7/dac/structstd_1_1is__integral_3_01uint256__t_01_4__inherit__graph.svg @@ -31,7 +31,7 @@ Node2 - + std::true_type diff --git a/d7/dac/structstd_1_1is__integral_3_01uint256__t_01_4__inherit__graph_org.svg b/d7/dac/structstd_1_1is__integral_3_01uint256__t_01_4__inherit__graph_org.svg index 8ccc85c37..714929c92 100644 --- a/d7/dac/structstd_1_1is__integral_3_01uint256__t_01_4__inherit__graph_org.svg +++ b/d7/dac/structstd_1_1is__integral_3_01uint256__t_01_4__inherit__graph_org.svg @@ -20,7 +20,7 @@ Node2 - + std::true_type diff --git a/d7/daf/namespace_knapsack.html b/d7/daf/namespace_knapsack.html index 85cb23663..b997a0166 100644 --- a/d7/daf/namespace_knapsack.html +++ b/d7/daf/namespace_knapsack.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Knapsack Namespace Reference +TheAlgorithms/C++: Knapsack Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/d7/db3/classmachine__learning_1_1aystar__search_1_1_ay_star_search__coll__graph.map b/d7/db3/classmachine__learning_1_1aystar__search_1_1_ay_star_search__coll__graph.map index 724fd71e7..717df7f41 100644 --- a/d7/db3/classmachine__learning_1_1aystar__search_1_1_ay_star_search__coll__graph.map +++ b/d7/db3/classmachine__learning_1_1aystar__search_1_1_ay_star_search__coll__graph.map @@ -1,9 +1,9 @@ - + - + diff --git a/d7/db3/classmachine__learning_1_1aystar__search_1_1_ay_star_search__coll__graph.md5 b/d7/db3/classmachine__learning_1_1aystar__search_1_1_ay_star_search__coll__graph.md5 index 58e6f2e95..c9e521a96 100644 --- a/d7/db3/classmachine__learning_1_1aystar__search_1_1_ay_star_search__coll__graph.md5 +++ b/d7/db3/classmachine__learning_1_1aystar__search_1_1_ay_star_search__coll__graph.md5 @@ -1 +1 @@ -fbc1114ae4793053772bde7f6f23e019 \ No newline at end of file +02beabcc096d7e30458add15a675bbb5 \ No newline at end of file diff --git a/d7/db3/classmachine__learning_1_1aystar__search_1_1_ay_star_search__coll__graph.svg b/d7/db3/classmachine__learning_1_1aystar__search_1_1_ay_star_search__coll__graph.svg index 0b9bf0bfd..f9d43a0e8 100644 --- a/d7/db3/classmachine__learning_1_1aystar__search_1_1_ay_star_search__coll__graph.svg +++ b/d7/db3/classmachine__learning_1_1aystar__search_1_1_ay_star_search__coll__graph.svg @@ -33,7 +33,7 @@ Node2 - + std::shared_ptr< machine _learning::aystar_search @@ -76,7 +76,7 @@ Node4 - + std::shared_ptr< Puzzle > diff --git a/d7/db3/classmachine__learning_1_1aystar__search_1_1_ay_star_search__coll__graph_org.svg b/d7/db3/classmachine__learning_1_1aystar__search_1_1_ay_star_search__coll__graph_org.svg index 579445e5d..d284877cd 100644 --- a/d7/db3/classmachine__learning_1_1aystar__search_1_1_ay_star_search__coll__graph_org.svg +++ b/d7/db3/classmachine__learning_1_1aystar__search_1_1_ay_star_search__coll__graph_org.svg @@ -22,7 +22,7 @@ Node2 - + std::shared_ptr< machine _learning::aystar_search @@ -65,7 +65,7 @@ Node4 - + std::shared_ptr< Puzzle > diff --git a/d7/db5/classdata__structures_1_1tree__234_1_1_node__coll__graph.map b/d7/db5/classdata__structures_1_1tree__234_1_1_node__coll__graph.map index a4954784b..a8c0c69d5 100644 --- a/d7/db5/classdata__structures_1_1tree__234_1_1_node__coll__graph.map +++ b/d7/db5/classdata__structures_1_1tree__234_1_1_node__coll__graph.map @@ -1,10 +1,8 @@ - - - - - - - - + + + + + + diff --git a/d7/db5/classdata__structures_1_1tree__234_1_1_node__coll__graph.md5 b/d7/db5/classdata__structures_1_1tree__234_1_1_node__coll__graph.md5 index 0e3ef8957..eb067f618 100644 --- a/d7/db5/classdata__structures_1_1tree__234_1_1_node__coll__graph.md5 +++ b/d7/db5/classdata__structures_1_1tree__234_1_1_node__coll__graph.md5 @@ -1 +1 @@ -d0ab57a73452a09fda8981f4f2bb2970 \ No newline at end of file +165ca197ca187bd3ce3e5b49d9086dd5 \ No newline at end of file diff --git a/d7/db5/classdata__structures_1_1tree__234_1_1_node__coll__graph.svg b/d7/db5/classdata__structures_1_1tree__234_1_1_node__coll__graph.svg index 2b701de95..aa8082a8b 100644 --- a/d7/db5/classdata__structures_1_1tree__234_1_1_node__coll__graph.svg +++ b/d7/db5/classdata__structures_1_1tree__234_1_1_node__coll__graph.svg @@ -4,8 +4,8 @@ - + @@ -17,7 +17,7 @@ ]]> - + data_structures::tree_234::Node @@ -29,20 +29,20 @@ - - -Node4 - + + +Node3 + std::array< data_structures ::tree_234::Node *, 4 > - - -Node1->Node4 - + + +Node1->Node3 + @@ -52,7 +52,7 @@ Node2 - + std::array< int64_t, 3 > @@ -68,29 +68,10 @@ items - - -Node3 - - -std::int64_t - - - - - -Node3->Node2 - - - - - - elements - - - -Node4->Node1 - + + +Node3->Node1 + diff --git a/d7/db5/classdata__structures_1_1tree__234_1_1_node__coll__graph_org.svg b/d7/db5/classdata__structures_1_1tree__234_1_1_node__coll__graph_org.svg index a652e954e..7e7846877 100644 --- a/d7/db5/classdata__structures_1_1tree__234_1_1_node__coll__graph_org.svg +++ b/d7/db5/classdata__structures_1_1tree__234_1_1_node__coll__graph_org.svg @@ -4,9 +4,9 @@ - - + + data_structures::tree_234::Node @@ -18,20 +18,20 @@ - - -Node4 - + + +Node3 + std::array< data_structures ::tree_234::Node *, 4 > - - -Node1->Node4 - + + +Node1->Node3 + @@ -41,7 +41,7 @@ Node2 - + std::array< int64_t, 3 > @@ -57,29 +57,10 @@ items - - -Node3 - - -std::int64_t - - - - - -Node3->Node2 - - - - - - elements - - - -Node4->Node1 - + + +Node3->Node1 + diff --git a/d7/db9/hill__cipher_8cpp.html b/d7/db9/hill__cipher_8cpp.html index 1d05b142e..42a0e2a3a 100644 --- a/d7/db9/hill__cipher_8cpp.html +++ b/d7/db9/hill__cipher_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: ciphers/hill_cipher.cpp File Reference +TheAlgorithms/C++: ciphers/hill_cipher.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + @@ -130,7 +147,9 @@ Include dependency graph for hill_cipher.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -146,12 +165,12 @@ Namespaces - + - + - + @@ -174,6 +193,8 @@ Variables The matrix generation algorithm is very rudimentary and does not guarantee an invertible modulus matrix.
    Todo
    Better matrix generation algorithm.
    Author
    Krishna Vedala
    + +

    Definition in file hill_cipher.cpp.

    Function Documentation

    ◆ main()

    @@ -190,32 +211,24 @@ The matrix generation algorithm is very rudimentary and does not guarantee an in

    Classes

    class  ciphers::HillCipher

    Functions

    template<typename T >
    static std::ostreamoperator<< (std::ostream &out, matrix< T > const &v)
    static std::ostream & operator<< (std::ostream &out, matrix< T > const &v)
     
    void test1 (const std::string &text)
    void test1 (const std::string &text)
     Self test 1 - using 3x3 randomly generated key.
     
    void test2 (const std::string &text)
    void test2 (const std::string &text)
     Self test 2 - using 8x8 randomly generated key.
     
    int main ()

    Main function

    + +

    Definition at line 533 of file hill_cipher.cpp.

    533 {
    -
    534 std::srand(std::time(nullptr));
    -
    535 std::cout << "Key dictionary: (" << std::strlen(ciphers::STRKEY) << ")\n\t"
    +
    534 std::srand(std::time(nullptr));
    +
    535 std::cout << "Key dictionary: (" << std::strlen(ciphers::STRKEY) << ")\n\t"
    536 << ciphers::STRKEY << "\n";
    537
    -
    538 std::string text = "This is a simple text with numb3r5 and exclamat!0n.";
    +
    538 std::string text = "This is a simple text with numb3r5 and exclamat!0n.";
    539
    540 test1(text);
    541 test2(text);
    542
    543 return 0;
    544}
    - - -
    static void test2()
    Self-implementations, 2nd test.
    Definition dsu_path_compression.cpp:187
    -
    static void test1()
    Self-test implementations, 1st test.
    Definition dsu_path_compression.cpp:170
    -
    static const char * STRKEY
    Definition hill_cipher.cpp:74
    -
    T srand(T... args)
    -
    T strlen(T... args)
    -
    T time(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static void test2()
    Self-implementations, 2nd test.
    +
    static void test1()
    Self-test implementations, 1st test.
    +
    static const char * STRKEY
    +
    @@ -230,9 +243,9 @@ template<typename T > - + - + @@ -247,30 +260,22 @@ template<typename T >
    static std::ostream & operator<< static std::ostream & operator<< (std::ostream & out, std::ostream & out,

    operator to print a matrix

    + +

    Definition at line 55 of file hill_cipher.cpp.

    55 {
    56 const int width = 15;
    57 const char separator = ' ';
    58
    -
    59 for (size_t row = 0; row < v.size(); row++) {
    -
    60 for (size_t col = 0; col < v[row].size(); col++)
    -
    61 out << std::left << std::setw(width) << std::setfill(separator)
    +
    59 for (size_t row = 0; row < v.size(); row++) {
    +
    60 for (size_t col = 0; col < v[row].size(); col++)
    +
    61 out << std::left << std::setw(width) << std::setfill(separator)
    62 << v[row][col];
    -
    63 out << std::endl;
    +
    63 out << std::endl;
    64 }
    65
    66 return out;
    67}
    -
    T endl(T... args)
    -
    T left(T... args)
    -
    T setfill(T... args)
    -
    T setw(T... args)
    -
    T size(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    @@ -282,7 +287,7 @@ Here is the call graph for this function: void test1 ( - const std::string & text) + const std::string & text) @@ -295,47 +300,42 @@ Here is the call graph for this function: + +

    Definition at line 471 of file hill_cipher.cpp.

    471 {
    472 // std::string text = "Hello world!";
    -
    473 std::cout << "======Test 1 (3x3 key) ======\nOriginal text:\n\t" << text
    -
    474 << std::endl;
    +
    473 std::cout << "======Test 1 (3x3 key) ======\nOriginal text:\n\t" << text
    +
    474 << std::endl;
    475
    - +
    476 std::pair<matrix<int>, matrix<int>> p =
    -
    478 matrix<int> ekey = p.first;
    -
    479 matrix<int> dkey = p.second;
    +
    478 matrix<int> ekey = p.first;
    +
    479 matrix<int> dkey = p.second;
    480
    481 // matrix<int> ekey = {{22, 28, 25}, {5, 26, 15}, {14, 18, 9}};
    482 // std::cout << "Encryption key: \n" << ekey;
    -
    483 std::string gibberish = ciphers::HillCipher::encrypt_text(text, ekey);
    -
    484 std::cout << "Encrypted text:\n\t" << gibberish << std::endl;
    +
    483 std::string gibberish = ciphers::HillCipher::encrypt_text(text, ekey);
    +
    484 std::cout << "Encrypted text:\n\t" << gibberish << std::endl;
    485
    486 // matrix<int> dkey = ciphers::HillCipher::generate_decryption_key(ekey);
    487 // std::cout << "Decryption key: \n" << dkey;
    -
    488 std::string txt_back = ciphers::HillCipher::decrypt_text(gibberish, dkey);
    -
    489 std::cout << "Reconstruct text:\n\t" << txt_back << std::endl;
    +
    488 std::string txt_back = ciphers::HillCipher::decrypt_text(gibberish, dkey);
    +
    489 std::cout << "Reconstruct text:\n\t" << txt_back << std::endl;
    490
    -
    491 std::ofstream out_file("hill_cipher_test1.txt");
    -
    492 out_file << "Block size: " << ekey.size() << "\n";
    +
    491 std::ofstream out_file("hill_cipher_test1.txt");
    +
    492 out_file << "Block size: " << ekey.size() << "\n";
    493 out_file << "Encryption Key:\n" << ekey;
    494 out_file << "\nDecryption Key:\n" << dkey;
    495 out_file.close();
    496
    497 assert(txt_back == text);
    -
    498 std::cout << "Passed :)\n";
    +
    498 std::cout << "Passed :)\n";
    499}
    - -
    static std::pair< matrix< int >, matrix< int > > generate_keys(size_t size, int limit1=0, int limit2=10)
    Generate encryption and decryption key pair.
    Definition hill_cipher.cpp:425
    -
    static const std::string decrypt_text(const std::string &text, const matrix< int > &decrypt_key)
    Decrypt a given text using a given key.
    Definition hill_cipher.cpp:458
    -
    static const std::string encrypt_text(const std::string &text, const matrix< int > &encrypt_key)
    Encrypt a given text using a given key.
    Definition hill_cipher.cpp:446
    - - -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static std::pair< matrix< int >, matrix< int > > generate_keys(size_t size, int limit1=0, int limit2=10)
    Generate encryption and decryption key pair.
    +
    static const std::string decrypt_text(const std::string &text, const matrix< int > &decrypt_key)
    Decrypt a given text using a given key.
    +
    static const std::string encrypt_text(const std::string &text, const matrix< int > &encrypt_key)
    Encrypt a given text using a given key.
    +
    std::vector< std::valarray< T > > matrix
    + @@ -347,7 +347,7 @@ Here is the call graph for this function: void test2 ( - const std::string & text) + const std::string & text) @@ -360,38 +360,34 @@ Here is the call graph for this function: + +

    Definition at line 506 of file hill_cipher.cpp.

    506 {
    507 // std::string text = "Hello world!";
    -
    508 std::cout << "======Test 2 (8x8 key) ======\nOriginal text:\n\t" << text
    -
    509 << std::endl;
    +
    508 std::cout << "======Test 2 (8x8 key) ======\nOriginal text:\n\t" << text
    +
    509 << std::endl;
    510
    - +
    511 std::pair<matrix<int>, matrix<int>> p =
    -
    513 matrix<int> ekey = p.first;
    -
    514 matrix<int> dkey = p.second;
    +
    513 matrix<int> ekey = p.first;
    +
    514 matrix<int> dkey = p.second;
    515
    -
    516 std::string gibberish = ciphers::HillCipher::encrypt_text(text, ekey);
    -
    517 std::cout << "Encrypted text:\n\t" << gibberish << std::endl;
    +
    516 std::string gibberish = ciphers::HillCipher::encrypt_text(text, ekey);
    +
    517 std::cout << "Encrypted text:\n\t" << gibberish << std::endl;
    518
    -
    519 std::string txt_back = ciphers::HillCipher::decrypt_text(gibberish, dkey);
    -
    520 std::cout << "Reconstruct text:\n\t" << txt_back << std::endl;
    +
    519 std::string txt_back = ciphers::HillCipher::decrypt_text(gibberish, dkey);
    +
    520 std::cout << "Reconstruct text:\n\t" << txt_back << std::endl;
    521
    -
    522 std::ofstream out_file("hill_cipher_test2.txt");
    -
    523 out_file << "Block size: " << ekey.size() << "\n";
    +
    522 std::ofstream out_file("hill_cipher_test2.txt");
    +
    523 out_file << "Block size: " << ekey.size() << "\n";
    524 out_file << "Encryption Key:\n" << ekey;
    525 out_file << "\nDecryption Key:\n" << dkey;
    526 out_file.close();
    527
    -
    528 assert(txt_back.compare(0, text.size(), text) == 0);
    -
    529 std::cout << "Passed :)\n";
    +
    528 assert(txt_back.compare(0, text.size(), text) == 0);
    +
    529 std::cout << "Passed :)\n";
    530}
    -
    T compare(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + diff --git a/d7/db9/hill__cipher_8cpp_a04391124480d2a49f2dec900237b0712_cgraph.map b/d7/db9/hill__cipher_8cpp_a04391124480d2a49f2dec900237b0712_cgraph.map deleted file mode 100644 index cfefd77ec..000000000 --- a/d7/db9/hill__cipher_8cpp_a04391124480d2a49f2dec900237b0712_cgraph.map +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d7/db9/hill__cipher_8cpp_a04391124480d2a49f2dec900237b0712_cgraph.md5 b/d7/db9/hill__cipher_8cpp_a04391124480d2a49f2dec900237b0712_cgraph.md5 deleted file mode 100644 index bd24efd20..000000000 --- a/d7/db9/hill__cipher_8cpp_a04391124480d2a49f2dec900237b0712_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -2dc7ea7923bc4b9d21fa833cff5635b1 \ No newline at end of file diff --git a/d7/db9/hill__cipher_8cpp_a04391124480d2a49f2dec900237b0712_cgraph.svg b/d7/db9/hill__cipher_8cpp_a04391124480d2a49f2dec900237b0712_cgraph.svg deleted file mode 100644 index 0ae47243f..000000000 --- a/d7/db9/hill__cipher_8cpp_a04391124480d2a49f2dec900237b0712_cgraph.svg +++ /dev/null @@ -1,681 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -test2 - - -Node1 - - -test2 - - - - - -Node2 - - -std::ofstream::close - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::string::compare - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -ciphers::HillCipher -::decrypt_text - - - - - -Node1->Node4 - - - - - - - - -Node8 - - -std::string::length - - - - - -Node1->Node8 - - - - - - - - -Node10 - - -std::vector::size - - - - - -Node1->Node10 - - - - - - - - -Node11 - - -ciphers::HillCipher -::encrypt_text - - - - - -Node1->Node11 - - - - - - - - -Node12 - - -std::endl - - - - - -Node1->Node12 - - - - - - - - -Node13 - - -ciphers::HillCipher -::generate_keys - - - - - -Node1->Node13 - - - - - - - - -Node5 - - -ciphers::HillCipher -::codec - - - - - -Node4->Node5 - - - - - - - - -Node6 - - -ciphers::HillCipher -::get_char_idx - - - - - -Node5->Node6 - - - - - - - - -Node5->Node8 - - - - - - - - -Node9 - - -ciphers::HillCipher -::mat_mul - - - - - -Node5->Node9 - - - - - - - - -Node5->Node10 - - - - - - - - -Node7 - - -std::strlen - - - - - -Node6->Node7 - - - - - - - - -Node9->Node7 - - - - - - - - -Node9->Node10 - - - - - - - - -Node11->Node5 - - - - - - - - -Node14 - - -determinant_lu - - - - - -Node13->Node14 - - - - - - - - -Node16 - - -ciphers::HillCipher -::generate_decryption_key - - - - - -Node13->Node16 - - - - - - - - -Node20 - - -ciphers::HillCipher -::generate_encryption_key - - - - - -Node13->Node20 - - - - - - - - -Node26 - - -std::make_pair - - - - - -Node13->Node26 - - - - - - - - -Node14->Node10 - - - - - - - - -Node15 - - -lu_decomposition - - - - - -Node14->Node15 - - - - - - - - -Node15->Node10 - - - - - - - - -Node16->Node7 - - - - - - - - -Node16->Node10 - - - - - - - - -Node16->Node14 - - - - - - - - -Node17 - - -std::exit - - - - - -Node16->Node17 - - - - - - - - -Node18 - - -ciphers::HillCipher -::get_inverse - - - - - -Node16->Node18 - - - - - - - - -Node19 - - -std::round - - - - - -Node16->Node19 - - - - - - - - -Node18->Node10 - - - - - - - - -Node18->Node12 - - - - - - - - -Node20->Node7 - - - - - - - - -Node21 - - -ciphers::HillCipher::gcd - - - - - -Node20->Node21 - - - - - - - - -Node23 - - -std::isfinite - - - - - -Node20->Node23 - - - - - - - - -Node24 - - -ciphers::HillCipher -::rand_range - - - - - -Node20->Node24 - - - - - - - - -Node22 - - -std::swap - - - - - -Node21->Node22 - - - - - - - - -Node25 - - -std::rand - - - - - -Node24->Node25 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d7/db9/hill__cipher_8cpp_a04391124480d2a49f2dec900237b0712_cgraph_org.svg b/d7/db9/hill__cipher_8cpp_a04391124480d2a49f2dec900237b0712_cgraph_org.svg deleted file mode 100644 index 617f217cf..000000000 --- a/d7/db9/hill__cipher_8cpp_a04391124480d2a49f2dec900237b0712_cgraph_org.svg +++ /dev/null @@ -1,598 +0,0 @@ - - - - - - -test2 - - -Node1 - - -test2 - - - - - -Node2 - - -std::ofstream::close - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::string::compare - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -ciphers::HillCipher -::decrypt_text - - - - - -Node1->Node4 - - - - - - - - -Node8 - - -std::string::length - - - - - -Node1->Node8 - - - - - - - - -Node10 - - -std::vector::size - - - - - -Node1->Node10 - - - - - - - - -Node11 - - -ciphers::HillCipher -::encrypt_text - - - - - -Node1->Node11 - - - - - - - - -Node12 - - -std::endl - - - - - -Node1->Node12 - - - - - - - - -Node13 - - -ciphers::HillCipher -::generate_keys - - - - - -Node1->Node13 - - - - - - - - -Node5 - - -ciphers::HillCipher -::codec - - - - - -Node4->Node5 - - - - - - - - -Node6 - - -ciphers::HillCipher -::get_char_idx - - - - - -Node5->Node6 - - - - - - - - -Node5->Node8 - - - - - - - - -Node9 - - -ciphers::HillCipher -::mat_mul - - - - - -Node5->Node9 - - - - - - - - -Node5->Node10 - - - - - - - - -Node7 - - -std::strlen - - - - - -Node6->Node7 - - - - - - - - -Node9->Node7 - - - - - - - - -Node9->Node10 - - - - - - - - -Node11->Node5 - - - - - - - - -Node14 - - -determinant_lu - - - - - -Node13->Node14 - - - - - - - - -Node16 - - -ciphers::HillCipher -::generate_decryption_key - - - - - -Node13->Node16 - - - - - - - - -Node20 - - -ciphers::HillCipher -::generate_encryption_key - - - - - -Node13->Node20 - - - - - - - - -Node26 - - -std::make_pair - - - - - -Node13->Node26 - - - - - - - - -Node14->Node10 - - - - - - - - -Node15 - - -lu_decomposition - - - - - -Node14->Node15 - - - - - - - - -Node15->Node10 - - - - - - - - -Node16->Node7 - - - - - - - - -Node16->Node10 - - - - - - - - -Node16->Node14 - - - - - - - - -Node17 - - -std::exit - - - - - -Node16->Node17 - - - - - - - - -Node18 - - -ciphers::HillCipher -::get_inverse - - - - - -Node16->Node18 - - - - - - - - -Node19 - - -std::round - - - - - -Node16->Node19 - - - - - - - - -Node18->Node10 - - - - - - - - -Node18->Node12 - - - - - - - - -Node20->Node7 - - - - - - - - -Node21 - - -ciphers::HillCipher::gcd - - - - - -Node20->Node21 - - - - - - - - -Node23 - - -std::isfinite - - - - - -Node20->Node23 - - - - - - - - -Node24 - - -ciphers::HillCipher -::rand_range - - - - - -Node20->Node24 - - - - - - - - -Node22 - - -std::swap - - - - - -Node21->Node22 - - - - - - - - -Node25 - - -std::rand - - - - - -Node24->Node25 - - - - - - - - diff --git a/d7/db9/hill__cipher_8cpp_a3147ad576f8a94a2a6b66948672b452b_cgraph.map b/d7/db9/hill__cipher_8cpp_a3147ad576f8a94a2a6b66948672b452b_cgraph.map deleted file mode 100644 index cc0d5e865..000000000 --- a/d7/db9/hill__cipher_8cpp_a3147ad576f8a94a2a6b66948672b452b_cgraph.map +++ /dev/null @@ -1,63 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d7/db9/hill__cipher_8cpp_a3147ad576f8a94a2a6b66948672b452b_cgraph.md5 b/d7/db9/hill__cipher_8cpp_a3147ad576f8a94a2a6b66948672b452b_cgraph.md5 deleted file mode 100644 index 5bdd39fe8..000000000 --- a/d7/db9/hill__cipher_8cpp_a3147ad576f8a94a2a6b66948672b452b_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -8109ef22d7a8c13e895ce78ff7f4d90b \ No newline at end of file diff --git a/d7/db9/hill__cipher_8cpp_a3147ad576f8a94a2a6b66948672b452b_cgraph.svg b/d7/db9/hill__cipher_8cpp_a3147ad576f8a94a2a6b66948672b452b_cgraph.svg deleted file mode 100644 index 7e45dd564..000000000 --- a/d7/db9/hill__cipher_8cpp_a3147ad576f8a94a2a6b66948672b452b_cgraph.svg +++ /dev/null @@ -1,654 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -test1 - - -Node1 - - -test1 - - - - - -Node2 - - -std::ofstream::close - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -ciphers::HillCipher -::decrypt_text - - - - - -Node1->Node3 - - - - - - - - -Node9 - - -std::vector::size - - - - - -Node1->Node9 - - - - - - - - -Node10 - - -ciphers::HillCipher -::encrypt_text - - - - - -Node1->Node10 - - - - - - - - -Node11 - - -std::endl - - - - - -Node1->Node11 - - - - - - - - -Node12 - - -ciphers::HillCipher -::generate_keys - - - - - -Node1->Node12 - - - - - - - - -Node4 - - -ciphers::HillCipher -::codec - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -ciphers::HillCipher -::get_char_idx - - - - - -Node4->Node5 - - - - - - - - -Node7 - - -std::string::length - - - - - -Node4->Node7 - - - - - - - - -Node8 - - -ciphers::HillCipher -::mat_mul - - - - - -Node4->Node8 - - - - - - - - -Node4->Node9 - - - - - - - - -Node6 - - -std::strlen - - - - - -Node5->Node6 - - - - - - - - -Node8->Node6 - - - - - - - - -Node8->Node9 - - - - - - - - -Node10->Node4 - - - - - - - - -Node13 - - -determinant_lu - - - - - -Node12->Node13 - - - - - - - - -Node15 - - -ciphers::HillCipher -::generate_decryption_key - - - - - -Node12->Node15 - - - - - - - - -Node19 - - -ciphers::HillCipher -::generate_encryption_key - - - - - -Node12->Node19 - - - - - - - - -Node25 - - -std::make_pair - - - - - -Node12->Node25 - - - - - - - - -Node13->Node9 - - - - - - - - -Node14 - - -lu_decomposition - - - - - -Node13->Node14 - - - - - - - - -Node14->Node9 - - - - - - - - -Node15->Node6 - - - - - - - - -Node15->Node9 - - - - - - - - -Node15->Node13 - - - - - - - - -Node16 - - -std::exit - - - - - -Node15->Node16 - - - - - - - - -Node17 - - -ciphers::HillCipher -::get_inverse - - - - - -Node15->Node17 - - - - - - - - -Node18 - - -std::round - - - - - -Node15->Node18 - - - - - - - - -Node17->Node9 - - - - - - - - -Node17->Node11 - - - - - - - - -Node19->Node6 - - - - - - - - -Node20 - - -ciphers::HillCipher::gcd - - - - - -Node19->Node20 - - - - - - - - -Node22 - - -std::isfinite - - - - - -Node19->Node22 - - - - - - - - -Node23 - - -ciphers::HillCipher -::rand_range - - - - - -Node19->Node23 - - - - - - - - -Node21 - - -std::swap - - - - - -Node20->Node21 - - - - - - - - -Node24 - - -std::rand - - - - - -Node23->Node24 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d7/db9/hill__cipher_8cpp_a3147ad576f8a94a2a6b66948672b452b_cgraph_org.svg b/d7/db9/hill__cipher_8cpp_a3147ad576f8a94a2a6b66948672b452b_cgraph_org.svg deleted file mode 100644 index 1609543d9..000000000 --- a/d7/db9/hill__cipher_8cpp_a3147ad576f8a94a2a6b66948672b452b_cgraph_org.svg +++ /dev/null @@ -1,571 +0,0 @@ - - - - - - -test1 - - -Node1 - - -test1 - - - - - -Node2 - - -std::ofstream::close - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -ciphers::HillCipher -::decrypt_text - - - - - -Node1->Node3 - - - - - - - - -Node9 - - -std::vector::size - - - - - -Node1->Node9 - - - - - - - - -Node10 - - -ciphers::HillCipher -::encrypt_text - - - - - -Node1->Node10 - - - - - - - - -Node11 - - -std::endl - - - - - -Node1->Node11 - - - - - - - - -Node12 - - -ciphers::HillCipher -::generate_keys - - - - - -Node1->Node12 - - - - - - - - -Node4 - - -ciphers::HillCipher -::codec - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -ciphers::HillCipher -::get_char_idx - - - - - -Node4->Node5 - - - - - - - - -Node7 - - -std::string::length - - - - - -Node4->Node7 - - - - - - - - -Node8 - - -ciphers::HillCipher -::mat_mul - - - - - -Node4->Node8 - - - - - - - - -Node4->Node9 - - - - - - - - -Node6 - - -std::strlen - - - - - -Node5->Node6 - - - - - - - - -Node8->Node6 - - - - - - - - -Node8->Node9 - - - - - - - - -Node10->Node4 - - - - - - - - -Node13 - - -determinant_lu - - - - - -Node12->Node13 - - - - - - - - -Node15 - - -ciphers::HillCipher -::generate_decryption_key - - - - - -Node12->Node15 - - - - - - - - -Node19 - - -ciphers::HillCipher -::generate_encryption_key - - - - - -Node12->Node19 - - - - - - - - -Node25 - - -std::make_pair - - - - - -Node12->Node25 - - - - - - - - -Node13->Node9 - - - - - - - - -Node14 - - -lu_decomposition - - - - - -Node13->Node14 - - - - - - - - -Node14->Node9 - - - - - - - - -Node15->Node6 - - - - - - - - -Node15->Node9 - - - - - - - - -Node15->Node13 - - - - - - - - -Node16 - - -std::exit - - - - - -Node15->Node16 - - - - - - - - -Node17 - - -ciphers::HillCipher -::get_inverse - - - - - -Node15->Node17 - - - - - - - - -Node18 - - -std::round - - - - - -Node15->Node18 - - - - - - - - -Node17->Node9 - - - - - - - - -Node17->Node11 - - - - - - - - -Node19->Node6 - - - - - - - - -Node20 - - -ciphers::HillCipher::gcd - - - - - -Node19->Node20 - - - - - - - - -Node22 - - -std::isfinite - - - - - -Node19->Node22 - - - - - - - - -Node23 - - -ciphers::HillCipher -::rand_range - - - - - -Node19->Node23 - - - - - - - - -Node21 - - -std::swap - - - - - -Node20->Node21 - - - - - - - - -Node24 - - -std::rand - - - - - -Node23->Node24 - - - - - - - - diff --git a/d7/db9/hill__cipher_8cpp_a34bfcd756610834acac501f9eea1e2eb_cgraph.map b/d7/db9/hill__cipher_8cpp_a34bfcd756610834acac501f9eea1e2eb_cgraph.map deleted file mode 100644 index 6f2d94231..000000000 --- a/d7/db9/hill__cipher_8cpp_a34bfcd756610834acac501f9eea1e2eb_cgraph.map +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - diff --git a/d7/db9/hill__cipher_8cpp_a34bfcd756610834acac501f9eea1e2eb_cgraph.md5 b/d7/db9/hill__cipher_8cpp_a34bfcd756610834acac501f9eea1e2eb_cgraph.md5 deleted file mode 100644 index 75081c87e..000000000 --- a/d7/db9/hill__cipher_8cpp_a34bfcd756610834acac501f9eea1e2eb_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -58ca71fcfc592d99f44ef2bc0f19eadc \ No newline at end of file diff --git a/d7/db9/hill__cipher_8cpp_a34bfcd756610834acac501f9eea1e2eb_cgraph.svg b/d7/db9/hill__cipher_8cpp_a34bfcd756610834acac501f9eea1e2eb_cgraph.svg deleted file mode 100644 index bce2b74b3..000000000 --- a/d7/db9/hill__cipher_8cpp_a34bfcd756610834acac501f9eea1e2eb_cgraph.svg +++ /dev/null @@ -1,137 +0,0 @@ - - - - - - - - - - - - -operator<< - - -Node1 - - -operator<< - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::left - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::setfill - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::setw - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -std::vector::size - - - - - -Node1->Node6 - - - - - - - - - - - - - diff --git a/d7/db9/hill__cipher_8cpp_a34bfcd756610834acac501f9eea1e2eb_cgraph_org.svg b/d7/db9/hill__cipher_8cpp_a34bfcd756610834acac501f9eea1e2eb_cgraph_org.svg deleted file mode 100644 index c9968ec45..000000000 --- a/d7/db9/hill__cipher_8cpp_a34bfcd756610834acac501f9eea1e2eb_cgraph_org.svg +++ /dev/null @@ -1,111 +0,0 @@ - - - - - - -operator<< - - -Node1 - - -operator<< - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::left - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::setfill - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::setw - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -std::vector::size - - - - - -Node1->Node6 - - - - - - - - diff --git a/d7/db9/hill__cipher_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d7/db9/hill__cipher_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 5e986514b..000000000 --- a/d7/db9/hill__cipher_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d7/db9/hill__cipher_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d7/db9/hill__cipher_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index 8aa1c2bad..000000000 --- a/d7/db9/hill__cipher_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -c01027a5222d649cdb49750ad242b31b \ No newline at end of file diff --git a/d7/db9/hill__cipher_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d7/db9/hill__cipher_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 8e117d1c4..000000000 --- a/d7/db9/hill__cipher_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,380 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -std::srand - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::strlen - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -test1 - - - - - -Node1->Node4 - - - - - - - - -Node15 - - -test2 - - - - - -Node1->Node15 - - - - - - - - -Node16 - - -std::time - - - - - -Node1->Node16 - - - - - - - - -Node5 - - -dsu::get - - - - - -Node4->Node5 - - - - - - - - -Node10 - - -dsu::UnionSet - - - - - -Node4->Node10 - - - - - - - - -Node6 - - -dsu::get_max - - - - - -Node5->Node6 - - - - - - - - -Node8 - - -dsu::get_min - - - - - -Node5->Node8 - - - - - - - - -Node9 - - -dsu::size - - - - - -Node5->Node9 - - - - - - - - -Node7 - - -dsu::findSet - - - - - -Node6->Node7 - - - - - - - - -Node7->Node7 - - - - - - - - -Node8->Node7 - - - - - - - - -Node9->Node7 - - - - - - - - -Node10->Node7 - - - - - - - - -Node11 - - -dsu::isSame - - - - - -Node10->Node11 - - - - - - - - -Node12 - - -std::max - - - - - -Node10->Node12 - - - - - - - - -Node13 - - -std::min - - - - - -Node10->Node13 - - - - - - - - -Node14 - - -std::swap - - - - - -Node10->Node14 - - - - - - - - -Node11->Node7 - - - - - - - - -Node15->Node5 - - - - - - - - -Node15->Node10 - - - - - - - - - - - - - diff --git a/d7/db9/hill__cipher_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d7/db9/hill__cipher_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 9dbf665b6..000000000 --- a/d7/db9/hill__cipher_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,354 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -std::srand - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::strlen - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -test1 - - - - - -Node1->Node4 - - - - - - - - -Node15 - - -test2 - - - - - -Node1->Node15 - - - - - - - - -Node16 - - -std::time - - - - - -Node1->Node16 - - - - - - - - -Node5 - - -dsu::get - - - - - -Node4->Node5 - - - - - - - - -Node10 - - -dsu::UnionSet - - - - - -Node4->Node10 - - - - - - - - -Node6 - - -dsu::get_max - - - - - -Node5->Node6 - - - - - - - - -Node8 - - -dsu::get_min - - - - - -Node5->Node8 - - - - - - - - -Node9 - - -dsu::size - - - - - -Node5->Node9 - - - - - - - - -Node7 - - -dsu::findSet - - - - - -Node6->Node7 - - - - - - - - -Node7->Node7 - - - - - - - - -Node8->Node7 - - - - - - - - -Node9->Node7 - - - - - - - - -Node10->Node7 - - - - - - - - -Node11 - - -dsu::isSame - - - - - -Node10->Node11 - - - - - - - - -Node12 - - -std::max - - - - - -Node10->Node12 - - - - - - - - -Node13 - - -std::min - - - - - -Node10->Node13 - - - - - - - - -Node14 - - -std::swap - - - - - -Node10->Node14 - - - - - - - - -Node11->Node7 - - - - - - - - -Node15->Node5 - - - - - - - - -Node15->Node10 - - - - - - - - diff --git a/d7/db9/hill__cipher_8cpp_source.html b/d7/db9/hill__cipher_8cpp_source.html new file mode 100644 index 000000000..55537ab44 --- /dev/null +++ b/d7/db9/hill__cipher_8cpp_source.html @@ -0,0 +1,567 @@ + + + + + + + + +TheAlgorithms/C++: ciphers/hill_cipher.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    hill_cipher.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    36#include <cassert>
    +
    37#include <cmath>
    +
    38#include <cstdint>
    +
    39#include <cstring>
    +
    40#include <ctime>
    +
    41#include <fstream>
    +
    42#include <iomanip>
    +
    43#include <iostream>
    +
    44#include <string>
    +
    45#ifdef _OPENMP
    +
    46#include <omp.h>
    +
    47#endif
    +
    48
    + +
    50
    +
    54template <typename T>
    +
    +
    55static std::ostream &operator<<(std::ostream &out, matrix<T> const &v) {
    +
    56 const int width = 15;
    +
    57 const char separator = ' ';
    +
    58
    +
    59 for (size_t row = 0; row < v.size(); row++) {
    +
    60 for (size_t col = 0; col < v[row].size(); col++)
    +
    61 out << std::left << std::setw(width) << std::setfill(separator)
    +
    62 << v[row][col];
    +
    63 out << std::endl;
    +
    64 }
    +
    65
    +
    66 return out;
    +
    67}
    +
    +
    68
    +
    72namespace ciphers {
    +
    74static const char *STRKEY =
    +
    75 "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789~!@#$%^&"
    +
    76 "*()_+`-=[]{}|;':\",./<>?\\\r\n \0";
    +
    77
    +
    + +
    83 private:
    +
    92 template <typename T1, typename T2>
    +
    +
    93 static const T2 rand_range(T1 a, T1 b) {
    +
    94 // generate random number between 0 and 1
    +
    95 long double r = static_cast<long double>(std::rand()) / RAND_MAX;
    +
    96
    +
    97 // scale and return random number as integer
    +
    98 return static_cast<T2>(r * (b - a) + a);
    +
    99 }
    +
    +
    100
    +
    118 template <typename T1, typename T2>
    +
    +
    119 static double rand_range(matrix<T2> *M, T1 a, T1 b) {
    +
    120 for (size_t i = 0; i < M->size(); i++) {
    +
    121 for (size_t j = 0; j < M[0][0].size(); j++) {
    +
    122 M[0][i][j] = rand_range<T1, T2>(a, b);
    +
    123 }
    +
    124 }
    +
    125
    +
    126 return determinant_lu(*M);
    +
    127 }
    +
    +
    128
    +
    138 template <typename T>
    +
    +
    139 static const T gcd(T a, T b) {
    +
    140 if (b > a) // ensure always a < b
    +
    141 std::swap(a, b);
    +
    142
    +
    143 while (b != 0) {
    +
    144 T tmp = b;
    +
    145 b = a % b;
    +
    146 a = tmp;
    +
    147 }
    +
    148
    +
    149 return a;
    +
    150 }
    +
    +
    151
    +
    +
    160 static const std::valarray<uint8_t> mat_mul(
    +
    161 const std::valarray<uint8_t> &vector, const matrix<int> &key) {
    +
    162 std::valarray<uint8_t> out(vector); // make a copy
    +
    163
    +
    164 size_t L = std::strlen(STRKEY);
    +
    165
    +
    166 for (size_t i = 0; i < key.size(); i++) {
    +
    167 int tmp = 0;
    +
    168 for (size_t j = 0; j < vector.size(); j++) {
    +
    169 tmp += key[i][j] * vector[j];
    +
    170 }
    +
    171 out[i] = static_cast<uint8_t>(tmp % L);
    +
    172 }
    +
    173
    +
    174 return out;
    +
    175 }
    +
    +
    176
    +
    183 static inline char get_idx_char(const uint8_t idx) { return STRKEY[idx]; }
    +
    184
    +
    +
    191 static inline uint8_t get_char_idx(const char ch) {
    +
    192 size_t L = std::strlen(STRKEY);
    +
    193
    +
    194 for (size_t idx = 0; idx <= L; idx++)
    +
    195 if (STRKEY[idx] == ch)
    +
    196 return idx;
    +
    197
    +
    198 std::cerr << __func__ << ":" << __LINE__ << ": (" << ch
    +
    199 << ") Should not reach here!\n";
    +
    200 return 0;
    +
    201 }
    +
    +
    202
    +
    +
    211 static const std::string codec(const std::string &text,
    +
    212 const matrix<int> &key) {
    +
    213 size_t text_len = text.length();
    +
    214 size_t key_len = key.size();
    +
    215
    +
    216 // length of output string must be a multiple of key_len
    +
    217 // create output string and initialize with '\0' character
    +
    218 size_t L2 = text_len % key_len == 0
    +
    219 ? text_len
    +
    220 : text_len + key_len - (text_len % key_len);
    +
    221 std::string coded_text(L2, '\0');
    +
    222
    +
    223 // temporary array for batch processing
    +
    224 int i;
    +
    225#ifdef _OPENMP
    +
    226#pragma parallel omp for private(i)
    +
    227#endif
    +
    228 for (i = 0; i < L2 - key_len + 1; i += key_len) {
    +
    229 std::valarray<uint8_t> batch_int(key_len);
    +
    230 for (size_t j = 0; j < key_len; j++) {
    +
    231 batch_int[j] = get_char_idx(text[i + j]);
    +
    232 }
    +
    233
    +
    234 batch_int = mat_mul(batch_int, key);
    +
    235
    +
    236 for (size_t j = 0; j < key_len; j++) {
    +
    237 coded_text[i + j] =
    +
    238 STRKEY[batch_int[j]]; // get character at key
    +
    239 }
    +
    240 }
    +
    241
    +
    242 return coded_text;
    +
    243 }
    +
    +
    244
    +
    250 template <typename T>
    +
    + +
    252 // Assuming A is square matrix
    +
    253 size_t N = A.size();
    +
    254
    +
    255 matrix<double> inverse(N, std::valarray<double>(N));
    +
    256 for (size_t row = 0; row < N; row++) {
    +
    257 for (size_t col = 0; col < N; col++) {
    +
    258 // create identity matrix
    +
    259 inverse[row][col] = (row == col) ? 1.f : 0.f;
    +
    260 }
    +
    261 }
    +
    262
    +
    263 if (A.size() != A[0].size()) {
    +
    264 std::cerr << "A must be a square matrix!" << std::endl;
    +
    265 return inverse;
    +
    266 }
    +
    267
    +
    268 // preallocate a temporary matrix identical to A
    +
    269 matrix<double> temp(N, std::valarray<double>(N));
    +
    270 for (size_t row = 0; row < N; row++) {
    +
    271 for (size_t col = 0; col < N; col++)
    +
    272 temp[row][col] = static_cast<double>(A[row][col]);
    +
    273 }
    +
    274
    +
    275 // start transformations
    +
    276 for (size_t row = 0; row < N; row++) {
    +
    277 for (size_t row2 = row; row2 < N && temp[row][row] == 0; row2++) {
    +
    278 // this to ensure diagonal elements are not 0
    +
    279 temp[row] = temp[row] + temp[row2];
    +
    280 inverse[row] = inverse[row] + inverse[row2];
    +
    281 }
    +
    282
    +
    283 for (size_t col2 = row; col2 < N && temp[row][row] == 0; col2++) {
    +
    284 // this to further ensure diagonal elements are not 0
    +
    285 for (size_t row2 = 0; row2 < N; row2++) {
    +
    286 temp[row2][row] = temp[row2][row] + temp[row2][col2];
    +
    287 inverse[row2][row] =
    +
    288 inverse[row2][row] + inverse[row2][col2];
    +
    289 }
    +
    290 }
    +
    291
    +
    292 if (temp[row][row] == 0) {
    +
    293 // Probably a low-rank matrix and hence singular
    +
    294 std::cerr << "Low-rank matrix, no inverse!" << std::endl;
    +
    295 return inverse;
    +
    296 }
    +
    297
    +
    298 // set diagonal to 1
    +
    299 double divisor = temp[row][row];
    +
    300 temp[row] = temp[row] / divisor;
    +
    301 inverse[row] = inverse[row] / divisor;
    +
    302 // Row transformations
    +
    303 for (size_t row2 = 0; row2 < N; row2++) {
    +
    304 if (row2 == row)
    +
    305 continue;
    +
    306 double factor = temp[row2][row];
    +
    307 temp[row2] = temp[row2] - factor * temp[row];
    +
    308 inverse[row2] = inverse[row2] - factor * inverse[row];
    +
    309 }
    +
    310 }
    +
    311
    +
    312 return inverse;
    +
    313 }
    +
    +
    314
    +
    315 static int modulo(int a, int b) {
    +
    316 int ret = a % b;
    +
    317 if (ret < 0)
    +
    318 ret += b;
    +
    319 return ret;
    +
    320 }
    +
    321
    +
    322 public:
    +
    +
    340 static matrix<int> generate_encryption_key(size_t size, int limit1 = 0,
    +
    341 int limit2 = 10) {
    +
    342 matrix<int> encrypt_key(size, std::valarray<int>(size));
    +
    343 matrix<int> min_mat = encrypt_key;
    +
    344 int mat_determinant = -1; // because matrix has only ints, the
    +
    345 // determinant will also be an int
    +
    346 int L = std::strlen(STRKEY);
    +
    347
    +
    348 double dd;
    +
    349 do {
    +
    350 // keeping the random number range smaller generates better
    +
    351 // defined matrices with more ease of cracking
    +
    352 dd = rand_range(&encrypt_key, limit1, limit2);
    +
    353 mat_determinant = static_cast<int>(dd);
    +
    354
    +
    355 if (mat_determinant < 0)
    +
    356 mat_determinant = (mat_determinant % L);
    +
    357 } while (std::abs(dd) > 1e3 || // while ill-defined
    +
    358 dd < 0.1 || // while singular or negative determinant
    +
    359 !std::isfinite(dd) || // while determinant is not finite
    +
    360 gcd(mat_determinant, L) != 1); // while no common factors
    +
    361 // std::cout <<
    +
    362
    +
    363 return encrypt_key;
    +
    364 }
    +
    +
    365
    +
    + +
    373 size_t size = encrypt_key.size();
    +
    374 int L = std::strlen(STRKEY);
    +
    375
    +
    376 matrix<int> decrypt_key(size, std::valarray<int>(size));
    +
    377 int det_encrypt = static_cast<int>(determinant_lu(encrypt_key));
    +
    378
    +
    379 int mat_determinant = det_encrypt < 0 ? det_encrypt % L : det_encrypt;
    +
    380
    +
    381 matrix<double> tmp_inverse = get_inverse(encrypt_key);
    +
    382 double d2 = determinant_lu(decrypt_key);
    +
    383
    +
    384 // find co-prime factor for inversion
    +
    385 int det_inv = -1;
    +
    386 for (int i = 0; i < L; i++) {
    +
    387 if (modulo(mat_determinant * i, L) == 1) {
    +
    388 det_inv = i;
    +
    389 break;
    +
    390 }
    +
    391 }
    +
    392
    +
    393 if (det_inv == -1) {
    +
    394 std::cerr << "Could not find a co-prime for inversion\n";
    +
    395 std::exit(EXIT_FAILURE);
    +
    396 }
    +
    397
    +
    398 mat_determinant = det_inv * det_encrypt;
    +
    399
    +
    400 // perform modular inverse of encryption matrix
    +
    401 int i;
    +
    402#ifdef _OPENMP
    +
    403#pragma parallel omp for private(i)
    +
    404#endif
    +
    405 for (i = 0; i < size; i++) {
    +
    406 for (int j = 0; j < size; j++) {
    +
    407 int temp = std::round(tmp_inverse[i][j] * mat_determinant);
    +
    408 decrypt_key[i][j] = modulo(temp, L);
    +
    409 }
    +
    410 }
    +
    411 return decrypt_key;
    +
    412 }
    +
    +
    413
    +
    +
    425 static std::pair<matrix<int>, matrix<int>> generate_keys(size_t size,
    +
    426 int limit1 = 0,
    +
    427 int limit2 = 10) {
    +
    428 matrix<int> encrypt_key = generate_encryption_key(size);
    +
    429 matrix<int> decrypt_key = generate_decryption_key(encrypt_key);
    +
    430 double det2 = determinant_lu(decrypt_key);
    +
    431 while (std::abs(det2) < 0.1 || std::abs(det2) > 1e3) {
    +
    432 encrypt_key = generate_encryption_key(size, limit1, limit2);
    +
    433 decrypt_key = generate_decryption_key(encrypt_key);
    +
    434 det2 = determinant_lu(decrypt_key);
    +
    435 }
    +
    436 return std::make_pair(encrypt_key, decrypt_key);
    +
    437 }
    +
    +
    438
    +
    +
    446 static const std::string encrypt_text(const std::string &text,
    +
    447 const matrix<int> &encrypt_key) {
    +
    448 return codec(text, encrypt_key);
    +
    449 }
    +
    +
    450
    +
    +
    458 static const std::string decrypt_text(const std::string &text,
    +
    459 const matrix<int> &decrypt_key) {
    +
    460 return codec(text, decrypt_key);
    +
    461 }
    +
    +
    462};
    +
    +
    463
    +
    464} // namespace ciphers
    +
    465
    +
    +
    471void test1(const std::string &text) {
    +
    472 // std::string text = "Hello world!";
    +
    473 std::cout << "======Test 1 (3x3 key) ======\nOriginal text:\n\t" << text
    +
    474 << std::endl;
    +
    475
    +
    476 std::pair<matrix<int>, matrix<int>> p =
    + +
    478 matrix<int> ekey = p.first;
    +
    479 matrix<int> dkey = p.second;
    +
    480
    +
    481 // matrix<int> ekey = {{22, 28, 25}, {5, 26, 15}, {14, 18, 9}};
    +
    482 // std::cout << "Encryption key: \n" << ekey;
    +
    483 std::string gibberish = ciphers::HillCipher::encrypt_text(text, ekey);
    +
    484 std::cout << "Encrypted text:\n\t" << gibberish << std::endl;
    +
    485
    +
    486 // matrix<int> dkey = ciphers::HillCipher::generate_decryption_key(ekey);
    +
    487 // std::cout << "Decryption key: \n" << dkey;
    +
    488 std::string txt_back = ciphers::HillCipher::decrypt_text(gibberish, dkey);
    +
    489 std::cout << "Reconstruct text:\n\t" << txt_back << std::endl;
    +
    490
    +
    491 std::ofstream out_file("hill_cipher_test1.txt");
    +
    492 out_file << "Block size: " << ekey.size() << "\n";
    +
    493 out_file << "Encryption Key:\n" << ekey;
    +
    494 out_file << "\nDecryption Key:\n" << dkey;
    +
    495 out_file.close();
    +
    496
    +
    497 assert(txt_back == text);
    +
    498 std::cout << "Passed :)\n";
    +
    499}
    +
    +
    500
    +
    +
    506void test2(const std::string &text) {
    +
    507 // std::string text = "Hello world!";
    +
    508 std::cout << "======Test 2 (8x8 key) ======\nOriginal text:\n\t" << text
    +
    509 << std::endl;
    +
    510
    +
    511 std::pair<matrix<int>, matrix<int>> p =
    + +
    513 matrix<int> ekey = p.first;
    +
    514 matrix<int> dkey = p.second;
    +
    515
    +
    516 std::string gibberish = ciphers::HillCipher::encrypt_text(text, ekey);
    +
    517 std::cout << "Encrypted text:\n\t" << gibberish << std::endl;
    +
    518
    +
    519 std::string txt_back = ciphers::HillCipher::decrypt_text(gibberish, dkey);
    +
    520 std::cout << "Reconstruct text:\n\t" << txt_back << std::endl;
    +
    521
    +
    522 std::ofstream out_file("hill_cipher_test2.txt");
    +
    523 out_file << "Block size: " << ekey.size() << "\n";
    +
    524 out_file << "Encryption Key:\n" << ekey;
    +
    525 out_file << "\nDecryption Key:\n" << dkey;
    +
    526 out_file.close();
    +
    527
    +
    528 assert(txt_back.compare(0, text.size(), text) == 0);
    +
    529 std::cout << "Passed :)\n";
    +
    530}
    +
    +
    531
    +
    +
    533int main() {
    +
    534 std::srand(std::time(nullptr));
    +
    535 std::cout << "Key dictionary: (" << std::strlen(ciphers::STRKEY) << ")\n\t"
    +
    536 << ciphers::STRKEY << "\n";
    +
    537
    +
    538 std::string text = "This is a simple text with numb3r5 and exclamat!0n.";
    +
    539
    +
    540 test1(text);
    +
    541 test2(text);
    +
    542
    +
    543 return 0;
    +
    544}
    +
    +
    Implementation of Hill Cipher algorithm.
    +
    static char get_idx_char(const uint8_t idx)
    Get the character at a given index in the STRKEY.
    +
    static matrix< double > get_inverse(matrix< T > const &A)
    +
    static std::pair< matrix< int >, matrix< int > > generate_keys(size_t size, int limit1=0, int limit2=10)
    Generate encryption and decryption key pair.
    +
    static const std::string decrypt_text(const std::string &text, const matrix< int > &decrypt_key)
    Decrypt a given text using a given key.
    +
    static const T2 rand_range(T1 a, T1 b)
    Function to generate a random integer in a given interval.
    +
    static matrix< int > generate_encryption_key(size_t size, int limit1=0, int limit2=10)
    Generate encryption matrix of a given size. Larger size matrices are difficult to generate but provid...
    +
    static double rand_range(matrix< T2 > *M, T1 a, T1 b)
    Function overload to fill a matrix with random integers in a given interval.
    +
    static const T gcd(T a, T b)
    Compute GCD of two integers using Euler's algorithm.
    +
    static const std::string encrypt_text(const std::string &text, const matrix< int > &encrypt_key)
    Encrypt a given text using a given key.
    +
    static matrix< int > generate_decryption_key(matrix< int > const &encrypt_key)
    Generate decryption matrix from an encryption matrix key.
    +
    static const std::valarray< uint8_t > mat_mul(const std::valarray< uint8_t > &vector, const matrix< int > &key)
    helper function to perform vector multiplication with encryption or decryption matrix
    +
    static const std::string codec(const std::string &text, const matrix< int > &key)
    Convenience function to perform block cipher operations. The operations are identical for both encryp...
    +
    static uint8_t get_char_idx(const char ch)
    Get the index of a character in the STRKEY.
    +
    static void test2()
    Self-implementations, 2nd test.
    +
    static void test1()
    Self-test implementations, 1st test.
    +
    static std::ostream & operator<<(std::ostream &out, matrix< T > const &v)
    +
    int main()
    +
    Functions associated with LU Decomposition of a square matrix.
    +
    double determinant_lu(const matrix< T > &A)
    +
    std::vector< std::valarray< T > > matrix
    +
    Algorithms for encryption and decryption.
    +
    static const char * STRKEY
    +
    +
    + + + + diff --git a/d7/dba/cll_8h_source.html b/d7/dba/cll_8h_source.html index e0c5b4379..fb14416bc 100644 --- a/d7/dba/cll_8h_source.html +++ b/d7/dba/cll_8h_source.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: data_structures/cll/cll.h Source File +TheAlgorithms/C++: data_structures/cll/cll.h Source File + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -152,8 +169,8 @@ $(function(){initNavTree('d7/dba/cll_8h_source.html','../../'); initResizable(tr
    42};
    43#endif
    -
    Definition cll.h:17
    -
    Definition binary_search_tree.cpp:11
    +
    Definition cll.h:17
    + diff --git a/d7/dc7/classmachine__learning_1_1k__nearest__neighbors_1_1_knn-members.html b/d7/dc7/classmachine__learning_1_1k__nearest__neighbors_1_1_knn-members.html index 03133e4bc..428657714 100644 --- a/d7/dc7/classmachine__learning_1_1k__nearest__neighbors_1_1_knn-members.html +++ b/d7/dc7/classmachine__learning_1_1k__nearest__neighbors_1_1_knn-members.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Member List +TheAlgorithms/C++: Member List + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/d7/dd6/structstd_1_1is__arithmetic_3_01uint128__t_01_4__coll__graph.map b/d7/dd6/structstd_1_1is__arithmetic_3_01uint128__t_01_4__coll__graph.map index 69161e812..0c51108ff 100644 --- a/d7/dd6/structstd_1_1is__arithmetic_3_01uint128__t_01_4__coll__graph.map +++ b/d7/dd6/structstd_1_1is__arithmetic_3_01uint128__t_01_4__coll__graph.map @@ -1,5 +1,5 @@ - + diff --git a/d7/dd6/structstd_1_1is__arithmetic_3_01uint128__t_01_4__coll__graph.md5 b/d7/dd6/structstd_1_1is__arithmetic_3_01uint128__t_01_4__coll__graph.md5 index b333e0c57..3fc38ad4b 100644 --- a/d7/dd6/structstd_1_1is__arithmetic_3_01uint128__t_01_4__coll__graph.md5 +++ b/d7/dd6/structstd_1_1is__arithmetic_3_01uint128__t_01_4__coll__graph.md5 @@ -1 +1 @@ -0a23f01e10a26977e4eb20ebb42ea582 \ No newline at end of file +3d20965ba8a5558c00e18791af7f0bdd \ No newline at end of file diff --git a/d7/dd6/structstd_1_1is__arithmetic_3_01uint128__t_01_4__coll__graph.svg b/d7/dd6/structstd_1_1is__arithmetic_3_01uint128__t_01_4__coll__graph.svg index 7636272fa..9e9f0734f 100644 --- a/d7/dd6/structstd_1_1is__arithmetic_3_01uint128__t_01_4__coll__graph.svg +++ b/d7/dd6/structstd_1_1is__arithmetic_3_01uint128__t_01_4__coll__graph.svg @@ -32,7 +32,7 @@ Node2 - + std::true_type diff --git a/d7/dd6/structstd_1_1is__arithmetic_3_01uint128__t_01_4__coll__graph_org.svg b/d7/dd6/structstd_1_1is__arithmetic_3_01uint128__t_01_4__coll__graph_org.svg index 64d7e0a9e..0eab6ac6b 100644 --- a/d7/dd6/structstd_1_1is__arithmetic_3_01uint128__t_01_4__coll__graph_org.svg +++ b/d7/dd6/structstd_1_1is__arithmetic_3_01uint128__t_01_4__coll__graph_org.svg @@ -21,7 +21,7 @@ Node2 - + std::true_type diff --git a/d7/ded/queue_8hpp_source.html b/d7/ded/queue_8hpp_source.html index e70b4d184..341568673 100644 --- a/d7/ded/queue_8hpp_source.html +++ b/d7/ded/queue_8hpp_source.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: data_structures/queue.hpp Source File +TheAlgorithms/C++: data_structures/queue.hpp Source File + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + @@ -112,64 +129,44 @@ $(function(){initNavTree('d7/ded/queue_8hpp_source.html','../../'); initResizabl
    3#define DATA_STRUCTURES_QUEUE_HPP_
    4
    5#include "node.hpp"
    -
    6
    -
    7/** Definition of the queue class */
    +
    6
    8template <class ValueType>
    9class queue {
    11
    12 public:
    -
    13 using value_type = ValueType;
    -
    14 /**
    -
    15 * @brief prints the queue into the std::cout
    -
    16 */
    +
    13 using value_type = ValueType;
    17 void display() const {
    -
    18 std::cout << "Front --> ";
    +
    18 std::cout << "Front --> ";
    19 display_all(this->queueFront.get());
    -
    20 std::cout << '\n';
    -
    21 std::cout << "Size of queue: " << size << '\n';
    +
    20 std::cout << '\n';
    +
    21 std::cout << "Size of queue: " << size << '\n';
    22 }
    -
    23
    -
    24 /**
    -
    25 * @brief converts the queue into the std::vector
    -
    26 * @return std::vector containning all of the elements of the queue in the
    -
    27 * same order
    -
    28 */
    +
    23
    - +
    29 std::vector<value_type> toVector() const {
    30 return push_all_to_vector(this->queueFront.get(), this->size);
    31 }
    32
    -
    33 private:
    -
    34 /**
    -
    35 * @brief throws an exception if queue is empty
    -
    36 * @exception std::invalid_argument if queue is empty
    -
    37 */
    +
    33 private:
    38 void ensureNotEmpty() const {
    39 if (isEmptyQueue()) {
    -
    40 throw std::invalid_argument("Queue is empty.");
    +
    40 throw std::invalid_argument("Queue is empty.");
    41 }
    42 }
    43
    -
    44 public:
    -
    45 /**
    -
    46 * @brief checks if the queue has no elements
    -
    47 * @return true if the queue is empty, false otherwise
    -
    48 */
    +
    44 public:
    49 bool isEmptyQueue() const { return (queueFront == nullptr); }
    -
    50
    -
    51 /**
    -
    52 * @brief inserts a new item into the queue
    -
    53 */
    +
    50
    54 void enQueue(const value_type& item) {
    -
    55 auto newNode = std::make_shared<node_type>();
    +
    55 auto newNode = std::make_shared<node_type>();
    56 newNode->data = item;
    57 newNode->next = nullptr;
    58 if (isEmptyQueue()) {
    @@ -182,22 +179,14 @@ $(function(){initNavTree('d7/ded/queue_8hpp_source.html','../../'); initResizabl
    65 ++size;
    66 }
    -
    67
    -
    68 /**
    -
    69 * @return the first element of the queue
    -
    70 * @exception std::invalid_argument if queue is empty
    -
    71 */
    +
    67
    72 value_type front() const {
    74 return queueFront->data;
    75 }
    -
    76
    -
    77 /**
    -
    78 * @brief removes the first element from the queue
    -
    79 * @exception std::invalid_argument if queue is empty
    -
    80 */
    +
    76
    81 void deQueue() {
    @@ -205,10 +194,7 @@ $(function(){initNavTree('d7/ded/queue_8hpp_source.html','../../'); initResizabl
    84 --size;
    85 }
    -
    86
    -
    87 /**
    -
    88 * @brief removes all elements from the queue
    -
    89 */
    +
    86
    90 void clear() {
    91 queueFront = nullptr;
    @@ -219,37 +205,31 @@ $(function(){initNavTree('d7/ded/queue_8hpp_source.html','../../'); initResizabl
    95
    96 private:
    - -
    98 {}; /**< Pointer to the front of the queue */
    +
    97 std::shared_ptr<node_type> queueFront =
    +
    98 {};
    - -
    100 {}; /**< Pointer to the rear of the queue */
    +
    99 std::shared_ptr<node_type> queueRear =
    +
    100 {};
    -
    101 std::size_t size = 0;
    +
    101 std::size_t size = 0;
    102};
    103
    104#endif // DATA_STRUCTURES_QUEUE_HPP_
    - -
    Definition queue.hpp:9
    -
    void display() const
    prints the queue into the std::cout
    Definition queue.hpp:17
    -
    std::vector< value_type > toVector() const
    converts the queue into the std::vector
    Definition queue.hpp:29
    -
    bool isEmptyQueue() const
    checks if the queue has no elements
    Definition queue.hpp:49
    -
    void clear()
    removes all elements from the queue
    Definition queue.hpp:90
    -
    value_type front() const
    Definition queue.hpp:72
    -
    std::shared_ptr< node_type > queueRear
    Definition queue.hpp:99
    -
    void ensureNotEmpty() const
    throws an exception if queue is empty
    Definition queue.hpp:38
    -
    void enQueue(const value_type &item)
    inserts a new item into the queue
    Definition queue.hpp:54
    -
    void deQueue()
    removes the first element from the queue
    Definition queue.hpp:81
    -
    std::shared_ptr< node_type > queueFront
    Definition queue.hpp:97
    - -
    T make_shared(T... args)
    +
    Definition queue.hpp:9
    +
    void display() const
    prints the queue into the std::cout
    Definition queue.hpp:17
    +
    std::vector< value_type > toVector() const
    converts the queue into the std::vector
    Definition queue.hpp:29
    +
    bool isEmptyQueue() const
    checks if the queue has no elements
    Definition queue.hpp:49
    +
    void clear()
    removes all elements from the queue
    Definition queue.hpp:90
    +
    value_type front() const
    Definition queue.hpp:72
    +
    std::shared_ptr< node_type > queueRear
    Definition queue.hpp:99
    +
    void ensureNotEmpty() const
    throws an exception if queue is empty
    Definition queue.hpp:38
    +
    void enQueue(const value_type &item)
    inserts a new item into the queue
    Definition queue.hpp:54
    +
    void deQueue()
    removes the first element from the queue
    Definition queue.hpp:81
    +
    std::shared_ptr< node_type > queueFront
    Definition queue.hpp:97
    Provides Node class and related utilities.
    - - -
    Definition linkedlist_implentation_usingarray.cpp:14
    - +
    diff --git a/d7/def/trie__multiple__search_8cpp.html b/d7/def/trie__multiple__search_8cpp.html index 81e7d6718..d410bb006 100644 --- a/d7/def/trie__multiple__search_8cpp.html +++ b/d7/def/trie__multiple__search_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: operations_on_datastructures/trie_multiple_search.cpp File Reference +TheAlgorithms/C++: operations_on_datastructures/trie_multiple_search.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + @@ -126,7 +143,9 @@ Include dependency graph for trie_multiple_search.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -136,7 +155,7 @@ Classes - + @@ -154,6 +173,8 @@ Functions

    Detailed Description

    Trie datastructure with search variants

    This provides multiple variants of search functions on a trie structure utilizing STL. The trie is valid for only English alphabets.

    Author
    Ghanashyam
    + +

    Definition in file trie_multiple_search.cpp.

    Function Documentation

    ◆ main()

    @@ -183,17 +204,14 @@ Functions
    Returns
    0 on exit
    + +

    Definition at line 466 of file trie_multiple_search.cpp.

    466 {
    467 test(); // run self-test implementations
    468 return 0;
    469}
    -
    static void test()
    Function to test a simple search before and after deleting an entry. And to test out the multiple var...
    Definition trie_multiple_search.cpp:425
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static void test()
    Function to test a simple search before and after deleting an entry. And to test out the multiple var...
    + @@ -220,9 +238,11 @@ Here is the call graph for this function:

    Function to test a simple search before and after deleting an entry. And to test out the multiple variants of search.

    + +

    Definition at line 425 of file trie_multiple_search.cpp.

    425 {
    -
    427 std::vector<std::string> inputs = {
    +
    427 std::vector<std::string> inputs = {
    428 "abcde", "sss", "ssss", "ssst", "sssu", "sssv",
    429 "sst", "ssts", "sstt", "sstu", "tutu", "tutuv",
    430 "tutuu", "tutuvs", "tutus", "tvst", "tvsu", "vvvv"};
    @@ -232,19 +252,19 @@ Here is the call graph for this function:
    434 }
    435 // Search an existing entry
    436 assert(root->SearchPresence("vvvv"));
    -
    437 std::cout << root->SearchPresence("vvvv") << std::endl;
    +
    437 std::cout << root->SearchPresence("vvvv") << std::endl;
    438 // Delete it
    439 root->Delete("vvvv");
    440 // Search for the entry again
    441 assert(!root->SearchPresence("vvvv"));
    -
    442 std::cout << root->SearchPresence("vvvv") << std::endl;
    +
    442 std::cout << root->SearchPresence("vvvv") << std::endl;
    443
    -
    444 std::cout << root->SearchPresence("tutu") << std::endl;
    +
    444 std::cout << root->SearchPresence("tutu") << std::endl;
    445 root->SearchSuggestions("tutu");
    -
    446 std::cout << root->SearchPresence("tutu") << std::endl;
    +
    446 std::cout << root->SearchPresence("tutu") << std::endl;
    447
    448 root->SearchSuggestions("tutuv");
    -
    449 std::cout << root->SearchPresence("tutuv") << std::endl;
    +
    449 std::cout << root->SearchPresence("tutuv") << std::endl;
    450
    451 root->SearchSuggestions("tutuvs");
    452
    @@ -254,16 +274,8 @@ Here is the call graph for this function:
    456 root->SearchSuggestions(
    457 ""); // Empty search to list all the entries in the trie
    458}
    - -
    Class defining the structure of trie node and containing the methods to perform operations on them.
    Definition trie_multiple_search.cpp:37
    -
    T endl(T... args)
    - -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    Class defining the structure of trie node and containing the methods to perform operations on them.
    + diff --git a/d7/def/trie__multiple__search_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map b/d7/def/trie__multiple__search_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map deleted file mode 100644 index 458961180..000000000 --- a/d7/def/trie__multiple__search_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d7/def/trie__multiple__search_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 b/d7/def/trie__multiple__search_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 deleted file mode 100644 index f641e2a1c..000000000 --- a/d7/def/trie__multiple__search_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -71b8792a6b6358b5025d3b8500812b81 \ No newline at end of file diff --git a/d7/def/trie__multiple__search_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg b/d7/def/trie__multiple__search_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg deleted file mode 100644 index 1780d8afe..000000000 --- a/d7/def/trie__multiple__search_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d7/def/trie__multiple__search_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg b/d7/def/trie__multiple__search_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg deleted file mode 100644 index c87dc0832..000000000 --- a/d7/def/trie__multiple__search_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - diff --git a/d7/def/trie__multiple__search_8cpp_abf9e6b7e6f15df4b525a2e7705ba3089_cgraph.map b/d7/def/trie__multiple__search_8cpp_abf9e6b7e6f15df4b525a2e7705ba3089_cgraph.map deleted file mode 100644 index 53dcb6694..000000000 --- a/d7/def/trie__multiple__search_8cpp_abf9e6b7e6f15df4b525a2e7705ba3089_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/d7/def/trie__multiple__search_8cpp_abf9e6b7e6f15df4b525a2e7705ba3089_cgraph.md5 b/d7/def/trie__multiple__search_8cpp_abf9e6b7e6f15df4b525a2e7705ba3089_cgraph.md5 deleted file mode 100644 index 87968ca2c..000000000 --- a/d7/def/trie__multiple__search_8cpp_abf9e6b7e6f15df4b525a2e7705ba3089_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -f4a3bcd6b396976226b4bac7f0d310bb \ No newline at end of file diff --git a/d7/def/trie__multiple__search_8cpp_abf9e6b7e6f15df4b525a2e7705ba3089_cgraph.svg b/d7/def/trie__multiple__search_8cpp_abf9e6b7e6f15df4b525a2e7705ba3089_cgraph.svg deleted file mode 100644 index b62728d89..000000000 --- a/d7/def/trie__multiple__search_8cpp_abf9e6b7e6f15df4b525a2e7705ba3089_cgraph.svg +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node2->Node3 - - - - - - - - - - - - - diff --git a/d7/def/trie__multiple__search_8cpp_abf9e6b7e6f15df4b525a2e7705ba3089_cgraph_org.svg b/d7/def/trie__multiple__search_8cpp_abf9e6b7e6f15df4b525a2e7705ba3089_cgraph_org.svg deleted file mode 100644 index c052f5056..000000000 --- a/d7/def/trie__multiple__search_8cpp_abf9e6b7e6f15df4b525a2e7705ba3089_cgraph_org.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node2->Node3 - - - - - - - - diff --git a/d7/def/trie__multiple__search_8cpp_source.html b/d7/def/trie__multiple__search_8cpp_source.html new file mode 100644 index 000000000..fae580857 --- /dev/null +++ b/d7/def/trie__multiple__search_8cpp_source.html @@ -0,0 +1,545 @@ + + + + + + + + +TheAlgorithms/C++: operations_on_datastructures/trie_multiple_search.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    +

    Classes

    class  operations_on_datastructures::trie_operations::Tnode

    Namespaces

    namespace  operations_on_datastructures
     for std::vector
     for std::vector
     
    namespace  trie_operations
     Functions for Trie datastructure implementation.
    + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + + +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    trie_multiple_search.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    13#include <algorithm>
    +
    14#include <cassert>
    +
    15#include <cctype>
    +
    16#include <cstdint>
    +
    17#include <cstring>
    +
    18#include <iostream>
    +
    19#include <queue>
    +
    20
    + +
    32namespace trie_operations {
    +
    +
    37class Tnode {
    +
    38 private:
    +
    39 static constexpr uint8_t ENGLISH_ALPHABET_SIZE = 26;
    +
    40 // pointers to alphabets
    +
    41 std::vector<Tnode *> english;
    +
    42
    +
    43 // To mark the end of word
    +
    44 bool endOfWord;
    +
    45
    +
    46 // To store the frequency of searches for the word
    +
    47 uint32_t frequency;
    +
    48
    +
    49 public:
    +
    50 Tnode() {
    +
    51 english.resize(ENGLISH_ALPHABET_SIZE, nullptr);
    +
    52 endOfWord = false;
    +
    53 frequency = 0;
    +
    54 }
    +
    55 // Copy Constructor
    +
    56 Tnode(const Tnode &node) {
    +
    57 english = node.english;
    +
    58 endOfWord = node.endOfWord;
    +
    59 frequency = node.frequency;
    +
    60 }
    +
    61
    +
    62 Tnode &operator=(const Tnode &node) = default;
    +
    63
    +
    64 Tnode(Tnode &&) = default;
    +
    65
    +
    66 Tnode &operator=(Tnode &&) = default;
    +
    +
    72 inline uint8_t numberOfChildren(Tnode *node) {
    +
    73 return ENGLISH_ALPHABET_SIZE -
    +
    74 std::count(node->english.begin(), node->english.end(), nullptr);
    +
    75 }
    +
    +
    76
    +
    77 // Functions to perform operations on trie
    +
    78 void Insert(const std::string &entry);
    +
    79 void Delete(std::string entry);
    +
    80 void DeleteFrom(Tnode *delete_from, std::string delete_string,
    +
    81 int remove_index);
    +
    82 bool SearchPresence(const std::string &key);
    +
    83 void SuggestAutocomplete(Tnode *new_root, const std::string &prefix);
    +
    84 void SearchSuggestions(const std::string &key);
    + +
    86 Tnode *new_root, const std::string &prefix,
    +
    87 std::priority_queue<std::pair<int, std::string> > *suggestions);
    +
    88 void SearchFreqSuggestions(const std::string &key);
    +
    89 void SelectionTop_3(
    +
    90 std::priority_queue<std::pair<int, std::string> > *suggestions);
    +
    91
    +
    92 // To free up the dynamically allocated objects
    +
    93 ~Tnode() {
    +
    94 int i = 0;
    +
    95 for (i = 0; i < ENGLISH_ALPHABET_SIZE; i++) {
    +
    96 if (english[i]) {
    +
    97 delete english[i];
    +
    98 }
    +
    99 }
    +
    100 }
    +
    101};
    +
    +
    102
    +
    +
    107void Tnode::Insert(const std::string &entry) {
    +
    108 Tnode *cur_pos = this;
    +
    109 int letter_index = 0;
    +
    110
    +
    111 for (auto &i : entry) {
    +
    112 // To ignore case
    +
    113 letter_index = tolower(i) - 97;
    +
    114
    +
    115 // Allocate a node for each character of entry if not present in the
    +
    116 // trie
    +
    117 if (cur_pos->english[letter_index] == nullptr) {
    +
    118 cur_pos->english[letter_index] = new Tnode();
    +
    119 }
    +
    120
    +
    121 cur_pos = cur_pos->english[letter_index];
    +
    122 }
    +
    123 // cur_pos points to the last char, mark it as end of word
    +
    124 cur_pos->endOfWord = true;
    +
    125}
    +
    +
    126
    +
    +
    137void Tnode::DeleteFrom(Tnode *delete_from, std::string delete_string,
    +
    138 int remove_index) {
    +
    139 if (delete_string.size() == remove_index) {
    +
    140 int letter_index = tolower(delete_string[remove_index]) - 97;
    +
    141
    +
    142 DeleteFrom(delete_from->english[letter_index], delete_string,
    +
    143 remove_index + 1);
    +
    144
    +
    145 delete delete_from;
    +
    146 }
    +
    147}
    +
    +
    148
    +
    +
    153void Tnode::Delete(std::string entry) {
    +
    154 Tnode *cur_pos = this,
    +
    155 *delete_from = this; // Current pointer pointing to root
    +
    156 int letter_index = 0, delete_from_index = 0, i = 0, n = entry.size();
    +
    157
    +
    158 for (i = 0; i < n; i++) {
    +
    159 // To ignore case
    +
    160 letter_index = tolower(entry[i]) - 97;
    +
    161
    +
    162 // Display error message when given entry is not present in the tree
    +
    163 if (cur_pos->english[letter_index] == nullptr) {
    +
    164 std::cout << "Entry not Found" << std::endl;
    +
    165 return;
    +
    166 }
    +
    167 // If the current node is end of word for the current prefix or if it
    +
    168 // has 2 or more branches It cannot be deleted while deleting the
    +
    169 // required entry.
    +
    170 if (numberOfChildren(cur_pos) > 1 || cur_pos->endOfWord) {
    +
    171 delete_from = cur_pos; // denotes the beginning of the shortest
    +
    172 // suffix that is allowed to be deleted
    +
    173 delete_from_index = i - 1; // Beginning index of the suffix
    +
    174 // corresponding to the 'entry'
    +
    175 }
    +
    176
    +
    177 // Traversing through the entry
    +
    178 cur_pos = cur_pos->english[letter_index];
    +
    179 }
    +
    180
    +
    181 // cur_pos now points to the last char of entry. Display message if that
    +
    182 // entry does not exist
    +
    183 if (!cur_pos->endOfWord) {
    +
    184 std::cout << "Entry not Found" << std::endl;
    +
    185 return;
    +
    186 }
    +
    187
    +
    188 // If cur_pos is not a leaf node, unmark end of word and assign 0 to it's
    +
    189 // frequency for deletion
    +
    190 if (numberOfChildren(cur_pos)) {
    +
    191 cur_pos->endOfWord = false;
    +
    192 cur_pos->frequency = 0;
    +
    193 return;
    +
    194 }
    +
    195
    +
    196 // The first character of the suffix to be deleted
    +
    197 letter_index = tolower(entry[delete_from_index + 1]) - 97;
    +
    198 // Point cur_pos to the next node
    +
    199 cur_pos = delete_from->english[letter_index];
    +
    200 // Sever the connection from the main trie
    +
    201 delete_from->english[letter_index] = nullptr;
    +
    202
    +
    203 // If number of characters in the suffix are more than 1, recursively delete
    +
    204 // each character starting from cur_pos using the helper function
    +
    205 if (n > delete_from_index + 2) {
    +
    206 DeleteFrom(cur_pos, entry, delete_from_index + 2);
    +
    207 }
    +
    208 // If the suffix is only 1 char in length
    +
    209 else {
    +
    210 delete cur_pos;
    +
    211 }
    +
    212}
    +
    +
    213
    +
    +
    220bool Tnode::SearchPresence(const std::string &key) {
    +
    221 Tnode *cur_pos = this;
    +
    222 int letter_index = 0;
    +
    223
    +
    224 for (auto &i : key) {
    +
    225 letter_index = tolower(i) - 97;
    +
    226 // If any character in the order of the key is absent, word not found!
    +
    227 if (cur_pos->english[letter_index] == nullptr) {
    +
    228 return false;
    +
    229 }
    +
    230 cur_pos = cur_pos->english[letter_index];
    +
    231 }
    +
    232 // Word is only present in the trie if the key is a valid complete entry and
    +
    233 // not just a prefix.
    +
    234 if (cur_pos->endOfWord) {
    +
    235 (cur_pos->frequency)++;
    +
    236 return true;
    +
    237 } else {
    +
    238 return false;
    +
    239 }
    +
    240}
    +
    +
    241
    +
    +
    249void Tnode::SuggestAutocomplete(Tnode *new_root, const std::string &prefix) {
    +
    250 // Iterate through all 26 nodes as we have to print all strings with the
    +
    251 // given prefix
    +
    252 int i = 0;
    +
    253 for (i = 0; i < ENGLISH_ALPHABET_SIZE; i++) {
    +
    254 if (new_root->english[i] != nullptr) {
    +
    255 // Print the sugestion only if it's a valid complete entry and not
    +
    256 // just a prefix
    +
    257 if (new_root->english[i]->endOfWord) {
    +
    258 std::cout << prefix + char(i + 97) << std::endl;
    +
    259 }
    +
    260
    +
    261 SuggestAutocomplete(new_root->english[i], prefix + char(i + 97));
    +
    262 }
    +
    263 }
    +
    264}
    +
    +
    265
    +
    +
    274void Tnode::SearchSuggestions(const std::string &key) {
    +
    275 Tnode *cur_pos = nullptr, *prev_pos = nullptr;
    +
    276 cur_pos = prev_pos = this; // maintaining 2 pointers, initialized to root
    +
    277 int letter_index = 0;
    +
    278 std::string prefix =
    +
    279 ""; // variable storing the updated value of longest common prefix
    +
    280
    +
    281 for (auto &i : key) {
    +
    282 letter_index = tolower(i) - 97;
    +
    283 prev_pos = cur_pos; // Previous pointer updated to point to the last
    +
    284 // char of the longest common prefix
    +
    285
    +
    286 // When the node for the character does not exist, longest prefix has
    +
    287 // been determined and SuggestAutocomplete is called
    +
    288 if (cur_pos->english[letter_index] == nullptr) {
    +
    289 SuggestAutocomplete(prev_pos, prefix);
    +
    290 std::cout << "- - - - - - - - - - - - - - - - - - - - - - - - - - "
    +
    291 << std::endl;
    +
    292 return;
    +
    293 }
    +
    294 // Updating the longest common prefix
    +
    295 prefix += char(tolower(i));
    +
    296 cur_pos = cur_pos->english[letter_index];
    +
    297 }
    +
    298 // If the key is a valid entry of trie, display it @ top of the suggestions
    +
    299 if (cur_pos->endOfWord) {
    +
    300 std::cout << key << std::endl;
    +
    301 (cur_pos->frequency)++;
    +
    302 }
    +
    303
    +
    304 (void)prev_pos; // Idiom to ignore previous pointer
    +
    305
    +
    306 // Call for suggestions when the search key is present as an entry/a prefix
    +
    307 // in the trie
    +
    308 SuggestAutocomplete(cur_pos, prefix);
    +
    309 std::cout << "- - - - - - - - - - - - - - - - - - - - - - - - - - "
    +
    310 << std::endl;
    +
    311 return;
    +
    312}
    +
    +
    313
    +
    + +
    321 std::priority_queue<std::pair<int, std::string> > *suggestions) {
    +
    322 // Display Either top 3 or total number of suggestions, whichever is smaller
    +
    323 int n = suggestions->size(), Top = 0;
    +
    324 Top = n < 3 ? n : 3;
    +
    325 while (Top--) {
    +
    326 std::cout << suggestions->top().second << std::endl;
    +
    327 suggestions->pop();
    +
    328 }
    +
    329}
    +
    +
    330
    +
    + +
    341 Tnode *new_root, const std::string &prefix,
    +
    342 std::priority_queue<std::pair<int, std::string> > *suggestions) {
    +
    343 int i = 0;
    +
    344 for (i = 0; i < ENGLISH_ALPHABET_SIZE; i++) {
    +
    345 if (new_root->english[i] != nullptr) {
    +
    346 // Add to sugestions only if it's a valid complete entry and not
    +
    347 // just a prefix
    +
    348 if (new_root->english[i]->endOfWord) {
    +
    349 suggestions->push(std::make_pair(
    +
    350 new_root->english[i]->frequency, prefix + char(i + 97)));
    +
    351 }
    +
    352
    +
    353 SuggestFreqAutocomplete(new_root->english[i], prefix + char(i + 97),
    +
    354 suggestions);
    +
    355 }
    +
    356 }
    +
    357}
    +
    +
    358
    +
    +
    368void Tnode::SearchFreqSuggestions(const std::string &key) {
    +
    369 Tnode *cur_pos = nullptr, *prev_pos = nullptr;
    +
    370 cur_pos = prev_pos = this; // maintaining 2 pointers, initialized to root
    +
    371 int letter_index = 0;
    +
    372 std::string prefix =
    +
    373 ""; // variable storing the updated value of longest common prefix
    +
    374 std::priority_queue<std::pair<int, std::string> >
    +
    375 suggestions; // max heap to store (frequency, word) in descending order
    +
    376 // of freq
    +
    377
    +
    378 std::priority_queue<std::pair<int, std::string> > *Suggestions =
    +
    379 &suggestions;
    +
    380
    +
    381 for (auto &i : key) {
    +
    382 letter_index = tolower(i) - 97;
    +
    383 prev_pos = cur_pos; // Previous pointer updated to point to the last
    +
    384 // char of the longest common prefix
    +
    385
    +
    386 // When the node for the character does not exist, longest prefix has
    +
    387 // been determined and SuggestFreqAutocomplete is called
    +
    388 if (cur_pos->english[letter_index] == nullptr) {
    +
    389 SuggestFreqAutocomplete(prev_pos, prefix, Suggestions);
    +
    390 // To display the top 3 results
    +
    391 SelectionTop_3(Suggestions);
    +
    392 std::cout << "- - - - - - - - - - - - - - - - - - - - - - - - - - "
    +
    393 << std::endl;
    +
    394 return;
    +
    395 }
    +
    396 // Updating the longest common prefix
    +
    397 prefix += char(tolower(i));
    +
    398 cur_pos = cur_pos->english[letter_index];
    +
    399 }
    +
    400 // If the key is a valid entry of trie, display it @ top of the suggestions
    +
    401 if (cur_pos->endOfWord) {
    +
    402 (cur_pos->frequency)++;
    +
    403 std::cout << key << std::endl;
    +
    404 }
    +
    405
    +
    406 (void)prev_pos; // Idiom to ignore previous pointer
    +
    407
    +
    408 // Call for Suggestions when the search key is present as an entry/a prefix
    +
    409 // in the trie
    +
    410 SuggestFreqAutocomplete(cur_pos, prefix, Suggestions);
    +
    411 // Display the top 3 results
    +
    412 SelectionTop_3(Suggestions);
    +
    413
    +
    414 std::cout << "- - - - - - - - - - - - - - - - - - - - - - - - - - "
    +
    415 << std::endl;
    +
    416 return;
    +
    417}
    +
    +
    418} // namespace trie_operations
    +
    419} // namespace operations_on_datastructures
    +
    420
    +
    +
    425static void test() {
    + +
    427 std::vector<std::string> inputs = {
    +
    428 "abcde", "sss", "ssss", "ssst", "sssu", "sssv",
    +
    429 "sst", "ssts", "sstt", "sstu", "tutu", "tutuv",
    +
    430 "tutuu", "tutuvs", "tutus", "tvst", "tvsu", "vvvv"};
    +
    431
    +
    432 for (auto &i : inputs) {
    +
    433 root->Insert(i);
    +
    434 }
    +
    435 // Search an existing entry
    +
    436 assert(root->SearchPresence("vvvv"));
    +
    437 std::cout << root->SearchPresence("vvvv") << std::endl;
    +
    438 // Delete it
    +
    439 root->Delete("vvvv");
    +
    440 // Search for the entry again
    +
    441 assert(!root->SearchPresence("vvvv"));
    +
    442 std::cout << root->SearchPresence("vvvv") << std::endl;
    +
    443
    +
    444 std::cout << root->SearchPresence("tutu") << std::endl;
    +
    445 root->SearchSuggestions("tutu");
    +
    446 std::cout << root->SearchPresence("tutu") << std::endl;
    +
    447
    +
    448 root->SearchSuggestions("tutuv");
    +
    449 std::cout << root->SearchPresence("tutuv") << std::endl;
    +
    450
    +
    451 root->SearchSuggestions("tutuvs");
    +
    452
    +
    453 root->SearchFreqSuggestions(
    +
    454 "tu"); // The top 3 frequent entries with prefix tu are tutu, tutuv &
    +
    455 // tutuvs respectively
    +
    456 root->SearchSuggestions(
    +
    457 ""); // Empty search to list all the entries in the trie
    +
    458}
    +
    +
    459
    +
    +
    466int main(int argc, char const *argv[]) {
    +
    467 test(); // run self-test implementations
    +
    468 return 0;
    +
    469}
    +
    +
    Class defining the structure of trie node and containing the methods to perform operations on them.
    +
    void SuggestAutocomplete(Tnode *new_root, const std::string &prefix)
    Recursive function to suggest all the entries of trie which have a given common prefix.
    +
    void SearchSuggestions(const std::string &key)
    Lists out all the words in trie with the longest prefix of the search key that is present in the trie...
    +
    bool SearchPresence(const std::string &key)
    Function to check a word's presence in the trie (Basic)
    +
    void SearchFreqSuggestions(const std::string &key)
    Lists out the most frequent words in trie with the longest prefix of the search key that is present i...
    +
    void Insert(const std::string &entry)
    Function to insert a word in the trie.
    +
    void SuggestFreqAutocomplete(Tnode *new_root, const std::string &prefix, std::priority_queue< std::pair< int, std::string > > *suggestions)
    Recursive function to suggest most frequently searched entries of trie which have a given common pref...
    +
    void SelectionTop_3(std::priority_queue< std::pair< int, std::string > > *suggestions)
    Function to display the 3 suggestions with highest frequency of search hits.
    +
    void DeleteFrom(Tnode *delete_from, std::string delete_string, int remove_index)
    Function recursively deletes the substring character by character iterating through the string to be ...
    +
    void Delete(std::string entry)
    Function to verify presence and hence delete an entry from the trie.
    +
    uint8_t numberOfChildren(Tnode *node)
    Function to count the number of children a node in the trie has.
    +
    int main()
    Main function.
    + +
    Functions for Trie datastructure implementation.
    + +
    static void test()
    Function to test a simple search before and after deleting an entry. And to test out the multiple var...
    +
    +
    + + + + diff --git a/d7/df9/structothers_1_1iterative__tree__traversals_1_1_node-members.html b/d7/df9/structothers_1_1iterative__tree__traversals_1_1_node-members.html index 4e00ad4ff..957a70e9d 100644 --- a/d7/df9/structothers_1_1iterative__tree__traversals_1_1_node-members.html +++ b/d7/df9/structothers_1_1iterative__tree__traversals_1_1_node-members.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Member List +TheAlgorithms/C++: Member List + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/d8/d01/struct_item-members.html b/d8/d01/struct_item-members.html index 9d882092a..283551d65 100644 --- a/d8/d01/struct_item-members.html +++ b/d8/d01/struct_item-members.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Member List +TheAlgorithms/C++: Member List + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/d8/d10/structlist.html b/d8/d10/structlist.html index 420750849..94462894d 100644 --- a/d8/d10/structlist.html +++ b/d8/d10/structlist.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: list Struct Reference +TheAlgorithms/C++: list Struct Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + @@ -118,19 +135,56 @@ Collaboration diagram for list:
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    - - + + - - + +

    Public Attributes

    -int key
     key value for node
    int key
     key value for node
     
    -struct listnext
     pointer to next link in the chain
    struct listnext
     pointer to next link in the chain
     

    Detailed Description

    a one-way linked list

    -

    The documentation for this struct was generated from the following file:

    Member Data Documentation

    + +

    ◆ key

    + +
    +
    + + + + +
    int list::key
    +
    + +

    key value for node

    + +

    Definition at line 30 of file hash_search.cpp.

    + +
    +
    + +

    ◆ next

    + +
    +
    + + + + +
    struct list* list::next
    +
    + +

    pointer to next link in the chain

    + +

    Definition at line 31 of file hash_search.cpp.

    + +
    +
    +
    The documentation for this struct was generated from the following file: diff --git a/d8/d13/bubble__sort_8cpp.html b/d8/d13/bubble__sort_8cpp.html index 7d1ae3908..e797ca825 100644 --- a/d8/d13/bubble__sort_8cpp.html +++ b/d8/d13/bubble__sort_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: sorting/bubble_sort.cpp File Reference +TheAlgorithms/C++: sorting/bubble_sort.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -124,7 +141,9 @@ Include dependency graph for bubble_sort.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -137,7 +156,7 @@ Namespaces - + @@ -171,6 +190,8 @@ Average Case
    Author
    Deepak
    Nguyen Phuc Chuong
    + +

    Definition in file bubble_sort.cpp.

    Function Documentation

    ◆ bubble_sort()

    @@ -181,9 +202,9 @@ Average Case template<typename T >

    Namespaces

    namespace  sorting

    Functions

    template<typename T >
    std::vector< T > sorting::bubble_sort::bubble_sort (std::vector< T > &array)
    std::vector< T > sorting::bubble_sort::bubble_sort (std::vector< T > &array)
     Bubble sort algorithm.
     
    static void test ()
    - + - +
    std::vector< T > sorting::bubble_sort::bubble_sort std::vector< T > sorting::bubble_sort::bubble_sort (std::vector< T > & array)std::vector< T > & array)
    @@ -197,31 +218,26 @@ template<typename T >
    Returns
    The array sorted in ascending order
    + +

    Definition at line 72 of file bubble_sort.cpp.

    72 {
    73 // swap_check flag to terminate the function early
    74 // if there is no swap occurs in one iteration.
    75 bool swap_check = true;
    -
    76 int size = array.size();
    +
    76 int size = array.size();
    77 for (int i = 0; (i < size) && (swap_check); i++) {
    78 swap_check = false;
    79 for (int j = 0; j < size - 1 - i; j++) {
    80 if (array[j] > array[j + 1]) {
    81 swap_check = true;
    -
    82 std::swap(array[j], array[j + 1]);
    +
    82 std::swap(array[j], array[j + 1]);
    83 }
    84 }
    85 }
    86
    87 return array;
    88}
    -
    T size(T... args)
    -
    T swap(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -241,17 +257,14 @@ Here is the call graph for this function:

    Main function.

    Returns
    0 on exit
    + +

    Definition at line 131 of file bubble_sort.cpp.

    131 {
    132 test();
    133 return 0;
    134}
    -
    static void test()
    Self-test implementation.
    Definition bubble_sort.cpp:96
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static void test()
    Self-test implementation.
    + @@ -279,47 +292,40 @@ Here is the call graph for this function:

    Self-test implementation.

    Returns
    void
    -
    96 {
    -
    97 std::vector<int> vec_1 = {3, 1, -9, 0};
    - -
    99
    -
    100 std::vector<int> vec_2 = {3};
    - -
    102
    -
    103 std::vector<int> vec_3 = {10, 10, 10, 10, 10};
    - -
    105
    -
    106 std::vector<float> vec_4 = {1234, -273.1, 23, 150, 1234, 1555.55, -2000};
    - -
    108
    -
    109 std::vector<char> vec_5 = {'z', 'Z', 'a', 'B', ' ', 'c', 'a'};
    - -
    111
    -
    112 std::vector<std::string> vec_6 = {"Hello", "hello", "Helo", "Hi", "hehe"};
    - -
    114
    -
    115 std::vector<std::pair<int, char>> vec_7 = {{10, 'c'}, {2, 'z'}, {10, 'a'}, {0, 'b'}, {-1, 'z'}};
    - -
    117
    -
    118 assert(std::is_sorted(sorted_1.begin(), sorted_1.end()));
    -
    119 assert(std::is_sorted(sorted_2.begin(), sorted_2.end()));
    -
    120 assert(std::is_sorted(sorted_3.begin(), sorted_3.end()));
    -
    121 assert(std::is_sorted(sorted_4.begin(), sorted_4.end()));
    -
    122 assert(std::is_sorted(sorted_5.begin(), sorted_5.end()));
    -
    123 assert(std::is_sorted(sorted_6.begin(), sorted_6.end()));
    -
    124 assert(std::is_sorted(sorted_7.begin(), sorted_7.end()));
    -
    125}
    -
    T begin(T... args)
    -
    std::vector< T > bubble_sort(std::vector< T > &array)
    Bubble sort algorithm.
    Definition bubble_sort.cpp:72
    -
    T end(T... args)
    -
    T is_sorted(T... args)
    - -
    -Here is the call graph for this function:
    -
    -
    -
    +

    Definition at line 96 of file bubble_sort.cpp.

    +
    96 {
    +
    97 std::vector<int> vec_1 = {3, 1, -9, 0};
    +
    98 std::vector<int> sorted_1 = sorting::bubble_sort::bubble_sort(vec_1);
    +
    99
    +
    100 std::vector<int> vec_2 = {3};
    +
    101 std::vector<int> sorted_2 = sorting::bubble_sort::bubble_sort(vec_2);
    +
    102
    +
    103 std::vector<int> vec_3 = {10, 10, 10, 10, 10};
    +
    104 std::vector<int> sorted_3 = sorting::bubble_sort::bubble_sort(vec_3);
    +
    105
    +
    106 std::vector<float> vec_4 = {1234, -273.1, 23, 150, 1234, 1555.55, -2000};
    +
    107 std::vector<float> sorted_4 = sorting::bubble_sort::bubble_sort(vec_4);
    +
    108
    +
    109 std::vector<char> vec_5 = {'z', 'Z', 'a', 'B', ' ', 'c', 'a'};
    +
    110 std::vector<char> sorted_5 = sorting::bubble_sort::bubble_sort(vec_5);
    +
    111
    +
    112 std::vector<std::string> vec_6 = {"Hello", "hello", "Helo", "Hi", "hehe"};
    +
    113 std::vector<std::string> sorted_6 = sorting::bubble_sort::bubble_sort(vec_6);
    +
    114
    +
    115 std::vector<std::pair<int, char>> vec_7 = {{10, 'c'}, {2, 'z'}, {10, 'a'}, {0, 'b'}, {-1, 'z'}};
    +
    116 std::vector<std::pair<int, char>> sorted_7 = sorting::bubble_sort::bubble_sort(vec_7);
    +
    117
    +
    118 assert(std::is_sorted(sorted_1.begin(), sorted_1.end()));
    +
    119 assert(std::is_sorted(sorted_2.begin(), sorted_2.end()));
    +
    120 assert(std::is_sorted(sorted_3.begin(), sorted_3.end()));
    +
    121 assert(std::is_sorted(sorted_4.begin(), sorted_4.end()));
    +
    122 assert(std::is_sorted(sorted_5.begin(), sorted_5.end()));
    +
    123 assert(std::is_sorted(sorted_6.begin(), sorted_6.end()));
    +
    124 assert(std::is_sorted(sorted_7.begin(), sorted_7.end()));
    +
    125}
    +
    std::vector< T > bubble_sort(std::vector< T > &array)
    Bubble sort algorithm.
    +
    diff --git a/d8/d13/bubble__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map b/d8/d13/bubble__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map deleted file mode 100644 index 938b6449b..000000000 --- a/d8/d13/bubble__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/d8/d13/bubble__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 b/d8/d13/bubble__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 deleted file mode 100644 index b7fdd1e93..000000000 --- a/d8/d13/bubble__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -1f0665238e8b4ce357cbffa9f44c2969 \ No newline at end of file diff --git a/d8/d13/bubble__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg b/d8/d13/bubble__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg deleted file mode 100644 index 666f0612f..000000000 --- a/d8/d13/bubble__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -std::vector::begin - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::vector::end - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::is_sorted - - - - - -Node1->Node4 - - - - - - - - - - - - - diff --git a/d8/d13/bubble__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg b/d8/d13/bubble__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg deleted file mode 100644 index a60307d60..000000000 --- a/d8/d13/bubble__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -std::vector::begin - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::vector::end - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::is_sorted - - - - - -Node1->Node4 - - - - - - - - diff --git a/d8/d13/bubble__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d8/d13/bubble__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index ed192c638..000000000 --- a/d8/d13/bubble__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/d8/d13/bubble__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d8/d13/bubble__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index ede8efd19..000000000 --- a/d8/d13/bubble__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -1588fe150392733964f1753e9db1b671 \ No newline at end of file diff --git a/d8/d13/bubble__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d8/d13/bubble__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index f2408f790..000000000 --- a/d8/d13/bubble__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,119 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::vector::begin - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::vector::end - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -std::is_sorted - - - - - -Node2->Node5 - - - - - - - - - - - - - diff --git a/d8/d13/bubble__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d8/d13/bubble__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 8b2237f8e..000000000 --- a/d8/d13/bubble__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,93 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::vector::begin - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::vector::end - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -std::is_sorted - - - - - -Node2->Node5 - - - - - - - - diff --git a/d8/d13/bubble__sort_8cpp_af3b12930a83915712461d53fe9659686_cgraph.map b/d8/d13/bubble__sort_8cpp_af3b12930a83915712461d53fe9659686_cgraph.map deleted file mode 100644 index 9b7a1f1b6..000000000 --- a/d8/d13/bubble__sort_8cpp_af3b12930a83915712461d53fe9659686_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/d8/d13/bubble__sort_8cpp_af3b12930a83915712461d53fe9659686_cgraph.md5 b/d8/d13/bubble__sort_8cpp_af3b12930a83915712461d53fe9659686_cgraph.md5 deleted file mode 100644 index 663bcd847..000000000 --- a/d8/d13/bubble__sort_8cpp_af3b12930a83915712461d53fe9659686_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -7e7a6a12591954597189a98864a1baa8 \ No newline at end of file diff --git a/d8/d13/bubble__sort_8cpp_af3b12930a83915712461d53fe9659686_cgraph.svg b/d8/d13/bubble__sort_8cpp_af3b12930a83915712461d53fe9659686_cgraph.svg deleted file mode 100644 index c62ea1eda..000000000 --- a/d8/d13/bubble__sort_8cpp_af3b12930a83915712461d53fe9659686_cgraph.svg +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - - - - - -sorting::bubble_sort::bubble_sort - - -Node1 - - -sorting::bubble_sort -::bubble_sort - - - - - -Node2 - - -std::vector::size - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::swap - - - - - -Node1->Node3 - - - - - - - - - - - - - diff --git a/d8/d13/bubble__sort_8cpp_af3b12930a83915712461d53fe9659686_cgraph_org.svg b/d8/d13/bubble__sort_8cpp_af3b12930a83915712461d53fe9659686_cgraph_org.svg deleted file mode 100644 index 48685ae93..000000000 --- a/d8/d13/bubble__sort_8cpp_af3b12930a83915712461d53fe9659686_cgraph_org.svg +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - -sorting::bubble_sort::bubble_sort - - -Node1 - - -sorting::bubble_sort -::bubble_sort - - - - - -Node2 - - -std::vector::size - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::swap - - - - - -Node1->Node3 - - - - - - - - diff --git a/d8/d13/bubble__sort_8cpp_source.html b/d8/d13/bubble__sort_8cpp_source.html new file mode 100644 index 000000000..d6079f333 --- /dev/null +++ b/d8/d13/bubble__sort_8cpp_source.html @@ -0,0 +1,213 @@ + + + + + + + + +TheAlgorithms/C++: sorting/bubble_sort.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    bubble_sort.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    49#include <algorithm>
    +
    50#include <cassert>
    +
    51#include <iostream>
    +
    52#include <string>
    +
    53#include <utility>
    +
    54#include <vector>
    +
    55
    +
    60namespace sorting {
    +
    65namespace bubble_sort {
    +
    71template <typename T>
    +
    +
    72std::vector<T> bubble_sort(std::vector<T>& array) {
    +
    73 // swap_check flag to terminate the function early
    +
    74 // if there is no swap occurs in one iteration.
    +
    75 bool swap_check = true;
    +
    76 int size = array.size();
    +
    77 for (int i = 0; (i < size) && (swap_check); i++) {
    +
    78 swap_check = false;
    +
    79 for (int j = 0; j < size - 1 - i; j++) {
    +
    80 if (array[j] > array[j + 1]) {
    +
    81 swap_check = true;
    +
    82 std::swap(array[j], array[j + 1]);
    +
    83 }
    +
    84 }
    +
    85 }
    +
    86
    +
    87 return array;
    +
    88}
    +
    +
    89} // namespace bubble_sort
    +
    90} // namespace sorting
    +
    91
    +
    +
    96static void test() {
    +
    97 std::vector<int> vec_1 = {3, 1, -9, 0};
    +
    98 std::vector<int> sorted_1 = sorting::bubble_sort::bubble_sort(vec_1);
    +
    99
    +
    100 std::vector<int> vec_2 = {3};
    +
    101 std::vector<int> sorted_2 = sorting::bubble_sort::bubble_sort(vec_2);
    +
    102
    +
    103 std::vector<int> vec_3 = {10, 10, 10, 10, 10};
    +
    104 std::vector<int> sorted_3 = sorting::bubble_sort::bubble_sort(vec_3);
    +
    105
    +
    106 std::vector<float> vec_4 = {1234, -273.1, 23, 150, 1234, 1555.55, -2000};
    +
    107 std::vector<float> sorted_4 = sorting::bubble_sort::bubble_sort(vec_4);
    +
    108
    +
    109 std::vector<char> vec_5 = {'z', 'Z', 'a', 'B', ' ', 'c', 'a'};
    +
    110 std::vector<char> sorted_5 = sorting::bubble_sort::bubble_sort(vec_5);
    +
    111
    +
    112 std::vector<std::string> vec_6 = {"Hello", "hello", "Helo", "Hi", "hehe"};
    +
    113 std::vector<std::string> sorted_6 = sorting::bubble_sort::bubble_sort(vec_6);
    +
    114
    +
    115 std::vector<std::pair<int, char>> vec_7 = {{10, 'c'}, {2, 'z'}, {10, 'a'}, {0, 'b'}, {-1, 'z'}};
    +
    116 std::vector<std::pair<int, char>> sorted_7 = sorting::bubble_sort::bubble_sort(vec_7);
    +
    117
    +
    118 assert(std::is_sorted(sorted_1.begin(), sorted_1.end()));
    +
    119 assert(std::is_sorted(sorted_2.begin(), sorted_2.end()));
    +
    120 assert(std::is_sorted(sorted_3.begin(), sorted_3.end()));
    +
    121 assert(std::is_sorted(sorted_4.begin(), sorted_4.end()));
    +
    122 assert(std::is_sorted(sorted_5.begin(), sorted_5.end()));
    +
    123 assert(std::is_sorted(sorted_6.begin(), sorted_6.end()));
    +
    124 assert(std::is_sorted(sorted_7.begin(), sorted_7.end()));
    +
    125}
    +
    +
    126
    +
    +
    131int main() {
    +
    132 test();
    +
    133 return 0;
    +
    134}
    +
    +
    static void test()
    Self-test implementation.
    +
    int main()
    Main function.
    +
    Bubble sort algorithm.
    +
    for working with vectors
    +
    +
    + + + + diff --git a/d8/d14/namespacen__queens__optimized.html b/d8/d14/namespacen__queens__optimized.html index 062943ed9..237cf41bd 100644 --- a/d8/d14/namespacen__queens__optimized.html +++ b/d8/d14/namespacen__queens__optimized.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: n_queens_optimized Namespace Reference +TheAlgorithms/C++: n_queens_optimized Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/d8/d1d/namespacestrand.html b/d8/d1d/namespacestrand.html index f14d638a7..0d7ff976f 100644 --- a/d8/d1d/namespacestrand.html +++ b/d8/d1d/namespacestrand.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: strand Namespace Reference +TheAlgorithms/C++: strand Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/d8/d20/classuint256__t-members.html b/d8/d20/classuint256__t-members.html index baaed8182..d4a51b870 100644 --- a/d8/d20/classuint256__t-members.html +++ b/d8/d20/classuint256__t-members.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Member List +TheAlgorithms/C++: Member List + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/d8/d27/classmachine__learning_1_1neural__network_1_1_neural_network-members.html b/d8/d27/classmachine__learning_1_1neural__network_1_1_neural_network-members.html index 216ca0590..2df795f03 100644 --- a/d8/d27/classmachine__learning_1_1neural__network_1_1_neural_network-members.html +++ b/d8/d27/classmachine__learning_1_1neural__network_1_1_neural_network-members.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Member List +TheAlgorithms/C++: Member List + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/d8/d28/classrange__queries_1_1per_seg_tree.html b/d8/d28/classrange__queries_1_1per_seg_tree.html index b5e4017a6..d29378b34 100644 --- a/d8/d28/classrange__queries_1_1per_seg_tree.html +++ b/d8/d28/classrange__queries_1_1per_seg_tree.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: range_queries::perSegTree Class Reference +TheAlgorithms/C++: range_queries::perSegTree Class Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + @@ -119,7 +136,7 @@ $(function(){initNavTree('d8/d28/classrange__queries_1_1per_seg_tree.html','../.
    Collaboration diagram for range_queries::perSegTree:
    -
    +
    [legend]
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++

    @@ -129,7 +146,7 @@ Classes

    - + @@ -144,35 +161,36 @@ Public Member Functions

    Public Member Functions

    void construct (const std::vector< int64_t > &vec)
    void construct (const std::vector< int64_t > &vec)
     Constructing the segment tree with the values in the passed vector. Returned root pointer is pushed in the pointers vector to have access to the original version if the segment tree is updated.
     
    void update (const uint32_t &l, const uint32_t &r, const int64_t &value)
    - + - + - + - + - +

    Private Member Functions

    std::shared_ptr< NodenewKid (std::shared_ptr< Node > const &curr)
    std::shared_ptr< NodenewKid (std::shared_ptr< Node > const &curr)
     Creating a new node with the same values of curr node.
     
    void lazy (const uint32_t &i, const uint32_t &j, std::shared_ptr< Node > const &curr)
    void lazy (const uint32_t &i, const uint32_t &j, std::shared_ptr< Node > const &curr)
     If there is some value to be propagated to the passed node, value is added to the node and the children of the node, if exist, are copied and the propagated value is also added to them.
     
    std::shared_ptr< Nodeconstruct (const uint32_t &i, const uint32_t &j)
    std::shared_ptr< Nodeconstruct (const uint32_t &i, const uint32_t &j)
     Constructing the segment tree with the early passed vector. Every call creates a node to hold the sum of the given range, set its pointers to the children, and set its value to the sum of the children's values.
     
    std::shared_ptr< Nodeupdate (const uint32_t &i, const uint32_t &j, const uint32_t &l, const uint32_t &r, const int64_t &value, std::shared_ptr< Node > const &curr)
    std::shared_ptr< Nodeupdate (const uint32_t &i, const uint32_t &j, const uint32_t &l, const uint32_t &r, const int64_t &value, std::shared_ptr< Node > const &curr)
     Doing range update, checking at every node if it has some value to be propagated. All nodes affected by the update are copied and propagation value is added to the leaf of them.
     
    int64_t query (const uint32_t &i, const uint32_t &j, const uint32_t &l, const uint32_t &r, std::shared_ptr< Node > const &curr)
    int64_t query (const uint32_t &i, const uint32_t &j, const uint32_t &l, const uint32_t &r, std::shared_ptr< Node > const &curr)
     Querying the range from index l to index r, checking at every node if it has some value to be propagated. Current node's value is returned if its range is completely inside the wanted range, else 0 is returned.
     
    - + - + - +

    Private Attributes

    -uint32_t n = 0
    uint32_t n = 0
     
    std::vector< std::shared_ptr< Node > > ptrs {}
    std::vector< std::shared_ptr< Node > > ptrs {}
     number of elements/leaf nodes in the segment tree
     
    std::vector< int64_t > vec {}
    std::vector< int64_t > vec {}
     

    Detailed Description

    Range query here is range sum, but the code can be modified to make different queries like range max or min.

    + +

    Definition at line 39 of file persistent_seg_tree_lazy_prop.cpp.

    Member Function Documentation

    ◆ construct() [1/2]

    @@ -186,7 +204,7 @@ uint32_t n = 0 void range_queries::perSegTree::construct ( - const std::vector< int64_t > & vec) + const std::vector< int64_t > & vec) @@ -205,27 +223,21 @@ uint32_t n = 0
    Returns
    void
    + +

    Definition at line 197 of file persistent_seg_tree_lazy_prop.cpp.

    200 {
    -
    201 if (vec.empty()) {
    +
    201 if (vec.empty()) {
    202 return;
    203 }
    -
    204 n = vec.size();
    +
    204 n = vec.size();
    205 this->vec = vec;
    206 auto root = construct(0, n - 1);
    -
    207 ptrs.push_back(root);
    +
    207 ptrs.push_back(root);
    208 }
    -
    std::vector< std::shared_ptr< Node > > ptrs
    number of elements/leaf nodes in the segment tree
    Definition persistent_seg_tree_lazy_prop.cpp:54
    -
    std::shared_ptr< Node > construct(const uint32_t &i, const uint32_t &j)
    Constructing the segment tree with the early passed vector. Every call creates a node to hold the sum...
    Definition persistent_seg_tree_lazy_prop.cpp:106
    -
    std::vector< int64_t > vec
    Definition persistent_seg_tree_lazy_prop.cpp:57
    -
    T empty(T... args)
    -
    T push_back(T... args)
    -
    T size(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    std::vector< std::shared_ptr< Node > > ptrs
    number of elements/leaf nodes in the segment tree
    +
    std::shared_ptr< Node > construct(const uint32_t &i, const uint32_t &j)
    Constructing the segment tree with the early passed vector. Every call creates a node to hold the sum...
    + +
    @@ -238,7 +250,7 @@ Here is the call graph for this function: - + @@ -264,29 +276,24 @@ Here is the call graph for this function:
    Returns
    pointer to the newly created node
    + +

    Definition at line 106 of file persistent_seg_tree_lazy_prop.cpp.

    106 {
    -
    107 auto newNode = std::make_shared<Node>(Node());
    +
    107 auto newNode = std::make_shared<Node>(Node());
    108 if (i == j) {
    109 newNode->val = vec[i];
    110 } else {
    111 uint32_t mid = i + (j - i) / 2;
    112 auto leftt = construct(i, mid);
    -
    113 auto right = construct(mid + 1, j);
    -
    114 newNode->val = leftt->val + right->val;
    +
    113 auto right = construct(mid + 1, j);
    +
    114 newNode->val = leftt->val + right->val;
    115 newNode->left = leftt;
    -
    116 newNode->right = right;
    +
    116 newNode->right = right;
    117 }
    118 return newNode;
    119 }
    -
    T right(T... args)
    -
    T make_shared(T... args)
    -
    Definition linkedlist_implentation_usingarray.cpp:14
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + + @@ -311,7 +318,7 @@ Here is the call graph for this function: - +
    std::shared_ptr< Node > range_queries::perSegTree::construct std::shared_ptr< Node > range_queries::perSegTree::construct ( const uint32_t & i,
    std::shared_ptr< Node > const & curr )std::shared_ptr< Node > const & curr )
    @@ -331,6 +338,8 @@ Here is the call graph for this function:
    Returns
    void
    + +

    Definition at line 83 of file persistent_seg_tree_lazy_prop.cpp.

    84 {
    85 if (!curr->prop) {
    86 return;
    @@ -344,13 +353,8 @@ Here is the call graph for this function:
    94 }
    95 curr->prop = 0;
    96 }
    -
    std::shared_ptr< Node > newKid(std::shared_ptr< Node > const &curr)
    Creating a new node with the same values of curr node.
    Definition persistent_seg_tree_lazy_prop.cpp:65
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    std::shared_ptr< Node > newKid(std::shared_ptr< Node > const &curr)
    Creating a new node with the same values of curr node.
    + @@ -363,9 +367,9 @@ Here is the call graph for this function: - + - +
    std::shared_ptr< Node > range_queries::perSegTree::newKid std::shared_ptr< Node > range_queries::perSegTree::newKid (std::shared_ptr< Node > const & curr)std::shared_ptr< Node > const & curr)
    @@ -384,20 +388,17 @@ Here is the call graph for this function:
    Returns
    the new node
    + +

    Definition at line 65 of file persistent_seg_tree_lazy_prop.cpp.

    65 {
    -
    66 auto newNode = std::make_shared<Node>(Node());
    +
    66 auto newNode = std::make_shared<Node>(Node());
    67 newNode->left = curr->left;
    68 newNode->right = curr->right;
    69 newNode->prop = curr->prop;
    70 newNode->val = curr->val;
    71 return newNode;
    72 }
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -432,7 +433,7 @@ Here is the call graph for this function: - std::shared_ptr< Node > const & curr ) + std::shared_ptr< Node > const & curr ) @@ -454,6 +455,8 @@ Here is the call graph for this function:
    Returns
    sum of elements whose index x satisfies l<=x<=r
    + +

    Definition at line 171 of file persistent_seg_tree_lazy_prop.cpp.

    172 {
    173 lazy(i, j, curr);
    174 if (j < l || r < i) {
    @@ -466,14 +469,9 @@ Here is the call graph for this function:
    181 return query(i, mid, l, r, curr->left) +
    182 query(mid + 1, j, l, r, curr->right);
    183 }
    -
    void lazy(const uint32_t &i, const uint32_t &j, std::shared_ptr< Node > const &curr)
    If there is some value to be propagated to the passed node, value is added to the node and the childr...
    Definition persistent_seg_tree_lazy_prop.cpp:83
    -
    int64_t query(const uint32_t &i, const uint32_t &j, const uint32_t &l, const uint32_t &r, std::shared_ptr< Node > const &curr)
    Querying the range from index l to index r, checking at every node if it has some value to be propaga...
    Definition persistent_seg_tree_lazy_prop.cpp:171
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    void lazy(const uint32_t &i, const uint32_t &j, std::shared_ptr< Node > const &curr)
    If there is some value to be propagated to the passed node, value is added to the node and the childr...
    +
    int64_t query(const uint32_t &i, const uint32_t &j, const uint32_t &l, const uint32_t &r, std::shared_ptr< Node > const &curr)
    Querying the range from index l to index r, checking at every node if it has some value to be propaga...
    + @@ -518,15 +516,12 @@ Here is the call graph for this function:
    Returns
    sum of elements whose index x satisfies l<=x<=r
    + +

    Definition at line 241 of file persistent_seg_tree_lazy_prop.cpp.

    246 {
    247 return query(0, n - 1, l, r, ptrs[version]);
    248 }
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -554,15 +549,12 @@ Here is the call graph for this function:

    Getting the number of versions after updates so far which is equal to the size of the pointers vector.

    Returns
    the number of versions
    -
    258 {
    -
    259 return ptrs.size();
    -
    260 }
    -
    -Here is the call graph for this function:
    -
    -
    -
    +

    Definition at line 255 of file persistent_seg_tree_lazy_prop.cpp.

    +
    258 {
    +
    259 return ptrs.size();
    +
    260 }
    +
    @@ -575,7 +567,7 @@ Here is the call graph for this function: - + @@ -602,7 +594,7 @@ Here is the call graph for this function: - +
    std::shared_ptr< Node > range_queries::perSegTree::update std::shared_ptr< Node > range_queries::perSegTree::update ( const uint32_t & i,
    std::shared_ptr< Node > const & curr )std::shared_ptr< Node > const & curr )
    @@ -625,10 +617,12 @@ Here is the call graph for this function:
    Returns
    pointer to the current newly created node
    + +

    Definition at line 135 of file persistent_seg_tree_lazy_prop.cpp.

    138 {
    139 lazy(i, j, curr);
    140 if (i >= l && j <= r) {
    -
    141 std::shared_ptr<Node> newNode = newKid(curr);
    +
    141 std::shared_ptr<Node> newNode = newKid(curr);
    142 newNode->prop += value;
    143 lazy(i, j, newNode);
    144 return newNode;
    @@ -636,21 +630,15 @@ Here is the call graph for this function:
    146 if (i > r || j < l) {
    147 return curr;
    148 }
    -
    149 auto newNode = std::make_shared<Node>(Node());
    +
    149 auto newNode = std::make_shared<Node>(Node());
    150 uint32_t mid = i + (j - i) / 2;
    151 newNode->left = update(i, mid, l, r, value, curr->left);
    152 newNode->right = update(mid + 1, j, l, r, value, curr->right);
    153 newNode->val = newNode->left->val + newNode->right->val;
    154 return newNode;
    155 }
    -
    std::shared_ptr< Node > update(const uint32_t &i, const uint32_t &j, const uint32_t &l, const uint32_t &r, const int64_t &value, std::shared_ptr< Node > const &curr)
    Doing range update, checking at every node if it has some value to be propagated. All nodes affected ...
    Definition persistent_seg_tree_lazy_prop.cpp:135
    - -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    std::shared_ptr< Node > update(const uint32_t &i, const uint32_t &j, const uint32_t &l, const uint32_t &r, const int64_t &value, std::shared_ptr< Node > const &curr)
    Doing range update, checking at every node if it has some value to be propagated. All nodes affected ...
    + @@ -695,21 +683,42 @@ Here is the call graph for this function:
    Returns
    void
    + +

    Definition at line 219 of file persistent_seg_tree_lazy_prop.cpp.

    223 {
    - +
    224 ptrs.push_back(update(
    225 0, n - 1, l, r, value,
    -
    226 ptrs[ptrs.size() -
    +
    226 ptrs[ptrs.size() -
    227 1])); // saving the root pointer to the new segment tree
    228 }
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +

    Member Data Documentation

    + +

    ◆ n

    + +
    +
    + + + + + +
    + + + + +
    uint32_t range_queries::perSegTree::n = 0
    +
    +private
    +
    + +

    Definition at line 52 of file persistent_seg_tree_lazy_prop.cpp.

    + +
    +

    ◆ ptrs

    @@ -720,7 +729,7 @@ Here is the call graph for this function: - +
    std::vector<std::shared_ptr<Node> > range_queries::perSegTree::ptrs {}std::vector<std::shared_ptr<Node> > range_queries::perSegTree::ptrs {}
    @@ -731,7 +740,9 @@ Here is the call graph for this function:

    number of elements/leaf nodes in the segment tree

    -
    54{}; /// ptrs[i] holds a root pointer to the segment tree after the
    + +

    Definition at line 54 of file persistent_seg_tree_lazy_prop.cpp.

    +
    54{};
    @@ -745,7 +756,7 @@ Here is the call graph for this function: - +
    std::vector<int64_t> range_queries::perSegTree::vec {}std::vector<int64_t> range_queries::perSegTree::vec {}
    @@ -755,12 +766,14 @@ Here is the call graph for this function:

    ptrs[i] holds a root pointer to the segment tree after the ith update. ptrs[0] holds a root pointer to the segment tree before any updates

    -
    57{}; /// values of the leaf nodes that the segment
    + +

    Definition at line 57 of file persistent_seg_tree_lazy_prop.cpp.

    +
    57{};

    The documentation for this class was generated from the following file: diff --git a/d8/d28/classrange__queries_1_1per_seg_tree_a0cec4b77d264521717cf9b0482c45817_cgraph.map b/d8/d28/classrange__queries_1_1per_seg_tree_a0cec4b77d264521717cf9b0482c45817_cgraph.map deleted file mode 100644 index 69bde0d45..000000000 --- a/d8/d28/classrange__queries_1_1per_seg_tree_a0cec4b77d264521717cf9b0482c45817_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d8/d28/classrange__queries_1_1per_seg_tree_a0cec4b77d264521717cf9b0482c45817_cgraph.md5 b/d8/d28/classrange__queries_1_1per_seg_tree_a0cec4b77d264521717cf9b0482c45817_cgraph.md5 deleted file mode 100644 index c87dc954f..000000000 --- a/d8/d28/classrange__queries_1_1per_seg_tree_a0cec4b77d264521717cf9b0482c45817_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -5c76faeb25963377f62265034e7eada0 \ No newline at end of file diff --git a/d8/d28/classrange__queries_1_1per_seg_tree_a0cec4b77d264521717cf9b0482c45817_cgraph.svg b/d8/d28/classrange__queries_1_1per_seg_tree_a0cec4b77d264521717cf9b0482c45817_cgraph.svg deleted file mode 100644 index 080fb238f..000000000 --- a/d8/d28/classrange__queries_1_1per_seg_tree_a0cec4b77d264521717cf9b0482c45817_cgraph.svg +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - - - - - - - -range_queries::perSegTree::newKid - - -Node1 - - -range_queries::perSegTree -::newKid - - - - - -Node2 - - -std::make_shared - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d8/d28/classrange__queries_1_1per_seg_tree_a0cec4b77d264521717cf9b0482c45817_cgraph_org.svg b/d8/d28/classrange__queries_1_1per_seg_tree_a0cec4b77d264521717cf9b0482c45817_cgraph_org.svg deleted file mode 100644 index f9bc45c65..000000000 --- a/d8/d28/classrange__queries_1_1per_seg_tree_a0cec4b77d264521717cf9b0482c45817_cgraph_org.svg +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - -range_queries::perSegTree::newKid - - -Node1 - - -range_queries::perSegTree -::newKid - - - - - -Node2 - - -std::make_shared - - - - - -Node1->Node2 - - - - - - - - diff --git a/d8/d28/classrange__queries_1_1per_seg_tree_a0fe4e431f3e09c274ecd7d2d58dcb865_cgraph.map b/d8/d28/classrange__queries_1_1per_seg_tree_a0fe4e431f3e09c274ecd7d2d58dcb865_cgraph.map deleted file mode 100644 index 714ca5166..000000000 --- a/d8/d28/classrange__queries_1_1per_seg_tree_a0fe4e431f3e09c274ecd7d2d58dcb865_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d8/d28/classrange__queries_1_1per_seg_tree_a0fe4e431f3e09c274ecd7d2d58dcb865_cgraph.md5 b/d8/d28/classrange__queries_1_1per_seg_tree_a0fe4e431f3e09c274ecd7d2d58dcb865_cgraph.md5 deleted file mode 100644 index 4235cc0a3..000000000 --- a/d8/d28/classrange__queries_1_1per_seg_tree_a0fe4e431f3e09c274ecd7d2d58dcb865_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -2bb15eacdd647af484c00ea092c5b3f4 \ No newline at end of file diff --git a/d8/d28/classrange__queries_1_1per_seg_tree_a0fe4e431f3e09c274ecd7d2d58dcb865_cgraph.svg b/d8/d28/classrange__queries_1_1per_seg_tree_a0fe4e431f3e09c274ecd7d2d58dcb865_cgraph.svg deleted file mode 100644 index 74e919bc0..000000000 --- a/d8/d28/classrange__queries_1_1per_seg_tree_a0fe4e431f3e09c274ecd7d2d58dcb865_cgraph.svg +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - - - - - - - -range_queries::perSegTree::size - - -Node1 - - -range_queries::perSegTree -::size - - - - - -Node2 - - -std::vector::size - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d8/d28/classrange__queries_1_1per_seg_tree_a0fe4e431f3e09c274ecd7d2d58dcb865_cgraph_org.svg b/d8/d28/classrange__queries_1_1per_seg_tree_a0fe4e431f3e09c274ecd7d2d58dcb865_cgraph_org.svg deleted file mode 100644 index 72a7a85de..000000000 --- a/d8/d28/classrange__queries_1_1per_seg_tree_a0fe4e431f3e09c274ecd7d2d58dcb865_cgraph_org.svg +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - -range_queries::perSegTree::size - - -Node1 - - -range_queries::perSegTree -::size - - - - - -Node2 - - -std::vector::size - - - - - -Node1->Node2 - - - - - - - - diff --git a/d8/d28/classrange__queries_1_1per_seg_tree_a24487eda25123bc4d112e8430821a6c6_cgraph.map b/d8/d28/classrange__queries_1_1per_seg_tree_a24487eda25123bc4d112e8430821a6c6_cgraph.map deleted file mode 100644 index e362c5b60..000000000 --- a/d8/d28/classrange__queries_1_1per_seg_tree_a24487eda25123bc4d112e8430821a6c6_cgraph.map +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - - - diff --git a/d8/d28/classrange__queries_1_1per_seg_tree_a24487eda25123bc4d112e8430821a6c6_cgraph.md5 b/d8/d28/classrange__queries_1_1per_seg_tree_a24487eda25123bc4d112e8430821a6c6_cgraph.md5 deleted file mode 100644 index e50b81ebb..000000000 --- a/d8/d28/classrange__queries_1_1per_seg_tree_a24487eda25123bc4d112e8430821a6c6_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -51e5f27a9e087646c67ce74e273fefd6 \ No newline at end of file diff --git a/d8/d28/classrange__queries_1_1per_seg_tree_a24487eda25123bc4d112e8430821a6c6_cgraph.svg b/d8/d28/classrange__queries_1_1per_seg_tree_a24487eda25123bc4d112e8430821a6c6_cgraph.svg deleted file mode 100644 index 0da8bf2a4..000000000 --- a/d8/d28/classrange__queries_1_1per_seg_tree_a24487eda25123bc4d112e8430821a6c6_cgraph.svg +++ /dev/null @@ -1,188 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -range_queries::perSegTree::update - - -Node1 - - -range_queries::perSegTree -::update - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -range_queries::perSegTree -::lazy - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -range_queries::perSegTree -::newKid - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::make_shared - - - - - -Node1->Node4 - - - - - - - - -Node2->Node3 - - - - - - - - -Node3->Node4 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d8/d28/classrange__queries_1_1per_seg_tree_a24487eda25123bc4d112e8430821a6c6_cgraph_org.svg b/d8/d28/classrange__queries_1_1per_seg_tree_a24487eda25123bc4d112e8430821a6c6_cgraph_org.svg deleted file mode 100644 index 7c62f8c85..000000000 --- a/d8/d28/classrange__queries_1_1per_seg_tree_a24487eda25123bc4d112e8430821a6c6_cgraph_org.svg +++ /dev/null @@ -1,105 +0,0 @@ - - - - - - -range_queries::perSegTree::update - - -Node1 - - -range_queries::perSegTree -::update - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -range_queries::perSegTree -::lazy - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -range_queries::perSegTree -::newKid - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::make_shared - - - - - -Node1->Node4 - - - - - - - - -Node2->Node3 - - - - - - - - -Node3->Node4 - - - - - - - - diff --git a/d8/d28/classrange__queries_1_1per_seg_tree_a6d3f2465a7c5803a1ff16c5378bcc5e4_cgraph.map b/d8/d28/classrange__queries_1_1per_seg_tree_a6d3f2465a7c5803a1ff16c5378bcc5e4_cgraph.map deleted file mode 100644 index eba8087be..000000000 --- a/d8/d28/classrange__queries_1_1per_seg_tree_a6d3f2465a7c5803a1ff16c5378bcc5e4_cgraph.map +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/d8/d28/classrange__queries_1_1per_seg_tree_a6d3f2465a7c5803a1ff16c5378bcc5e4_cgraph.md5 b/d8/d28/classrange__queries_1_1per_seg_tree_a6d3f2465a7c5803a1ff16c5378bcc5e4_cgraph.md5 deleted file mode 100644 index 69b1f107c..000000000 --- a/d8/d28/classrange__queries_1_1per_seg_tree_a6d3f2465a7c5803a1ff16c5378bcc5e4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -88bb5f58349a7d23ae0639305e0eff77 \ No newline at end of file diff --git a/d8/d28/classrange__queries_1_1per_seg_tree_a6d3f2465a7c5803a1ff16c5378bcc5e4_cgraph.svg b/d8/d28/classrange__queries_1_1per_seg_tree_a6d3f2465a7c5803a1ff16c5378bcc5e4_cgraph.svg deleted file mode 100644 index 23e686143..000000000 --- a/d8/d28/classrange__queries_1_1per_seg_tree_a6d3f2465a7c5803a1ff16c5378bcc5e4_cgraph.svg +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - - - - - - - -range_queries::perSegTree::construct - - -Node1 - - -range_queries::perSegTree -::construct - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::make_shared - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d8/d28/classrange__queries_1_1per_seg_tree_a6d3f2465a7c5803a1ff16c5378bcc5e4_cgraph_org.svg b/d8/d28/classrange__queries_1_1per_seg_tree_a6d3f2465a7c5803a1ff16c5378bcc5e4_cgraph_org.svg deleted file mode 100644 index fb621408d..000000000 --- a/d8/d28/classrange__queries_1_1per_seg_tree_a6d3f2465a7c5803a1ff16c5378bcc5e4_cgraph_org.svg +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - -range_queries::perSegTree::construct - - -Node1 - - -range_queries::perSegTree -::construct - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::make_shared - - - - - -Node1->Node2 - - - - - - - - diff --git a/d8/d28/classrange__queries_1_1per_seg_tree_ac83bcabf5a8db8b0d8d156a4c1bcd4c3_cgraph.map b/d8/d28/classrange__queries_1_1per_seg_tree_ac83bcabf5a8db8b0d8d156a4c1bcd4c3_cgraph.map deleted file mode 100644 index 4851cb83c..000000000 --- a/d8/d28/classrange__queries_1_1per_seg_tree_ac83bcabf5a8db8b0d8d156a4c1bcd4c3_cgraph.map +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - - - - - diff --git a/d8/d28/classrange__queries_1_1per_seg_tree_ac83bcabf5a8db8b0d8d156a4c1bcd4c3_cgraph.md5 b/d8/d28/classrange__queries_1_1per_seg_tree_ac83bcabf5a8db8b0d8d156a4c1bcd4c3_cgraph.md5 deleted file mode 100644 index 9e5098224..000000000 --- a/d8/d28/classrange__queries_1_1per_seg_tree_ac83bcabf5a8db8b0d8d156a4c1bcd4c3_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -5304b706a99b2e16f6b9fdbd846ba643 \ No newline at end of file diff --git a/d8/d28/classrange__queries_1_1per_seg_tree_ac83bcabf5a8db8b0d8d156a4c1bcd4c3_cgraph.svg b/d8/d28/classrange__queries_1_1per_seg_tree_ac83bcabf5a8db8b0d8d156a4c1bcd4c3_cgraph.svg deleted file mode 100644 index 38ed7b2a9..000000000 --- a/d8/d28/classrange__queries_1_1per_seg_tree_ac83bcabf5a8db8b0d8d156a4c1bcd4c3_cgraph.svg +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - - - - - - - -range_queries::perSegTree::construct - - -Node1 - - -range_queries::perSegTree -::construct - - - - - -Node2 - - -range_queries::perSegTree -::construct - - - - - -Node1->Node2 - - - - - - - - -Node4 - - -std::vector::empty - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::vector::push_back - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -std::vector::size - - - - - -Node1->Node6 - - - - - - - - -Node2->Node2 - - - - - - - - -Node3 - - -std::make_shared - - - - - -Node2->Node3 - - - - - - - - - - - - - diff --git a/d8/d28/classrange__queries_1_1per_seg_tree_ac83bcabf5a8db8b0d8d156a4c1bcd4c3_cgraph_org.svg b/d8/d28/classrange__queries_1_1per_seg_tree_ac83bcabf5a8db8b0d8d156a4c1bcd4c3_cgraph_org.svg deleted file mode 100644 index 628e4ba60..000000000 --- a/d8/d28/classrange__queries_1_1per_seg_tree_ac83bcabf5a8db8b0d8d156a4c1bcd4c3_cgraph_org.svg +++ /dev/null @@ -1,122 +0,0 @@ - - - - - - -range_queries::perSegTree::construct - - -Node1 - - -range_queries::perSegTree -::construct - - - - - -Node2 - - -range_queries::perSegTree -::construct - - - - - -Node1->Node2 - - - - - - - - -Node4 - - -std::vector::empty - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::vector::push_back - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -std::vector::size - - - - - -Node1->Node6 - - - - - - - - -Node2->Node2 - - - - - - - - -Node3 - - -std::make_shared - - - - - -Node2->Node3 - - - - - - - - diff --git a/d8/d28/classrange__queries_1_1per_seg_tree_ace7f57935b3bb9446f11c239fd89ae79_cgraph.map b/d8/d28/classrange__queries_1_1per_seg_tree_ace7f57935b3bb9446f11c239fd89ae79_cgraph.map deleted file mode 100644 index 339c61cd9..000000000 --- a/d8/d28/classrange__queries_1_1per_seg_tree_ace7f57935b3bb9446f11c239fd89ae79_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/d8/d28/classrange__queries_1_1per_seg_tree_ace7f57935b3bb9446f11c239fd89ae79_cgraph.md5 b/d8/d28/classrange__queries_1_1per_seg_tree_ace7f57935b3bb9446f11c239fd89ae79_cgraph.md5 deleted file mode 100644 index e3ae425c7..000000000 --- a/d8/d28/classrange__queries_1_1per_seg_tree_ace7f57935b3bb9446f11c239fd89ae79_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -66e7a85b26e617502f8845c31cf0a79f \ No newline at end of file diff --git a/d8/d28/classrange__queries_1_1per_seg_tree_ace7f57935b3bb9446f11c239fd89ae79_cgraph.svg b/d8/d28/classrange__queries_1_1per_seg_tree_ace7f57935b3bb9446f11c239fd89ae79_cgraph.svg deleted file mode 100644 index 9a39e705d..000000000 --- a/d8/d28/classrange__queries_1_1per_seg_tree_ace7f57935b3bb9446f11c239fd89ae79_cgraph.svg +++ /dev/null @@ -1,85 +0,0 @@ - - - - - - - - - - - - -range_queries::perSegTree::lazy - - -Node1 - - -range_queries::perSegTree -::lazy - - - - - -Node2 - - -range_queries::perSegTree -::newKid - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::make_shared - - - - - -Node2->Node3 - - - - - - - - - - - - - diff --git a/d8/d28/classrange__queries_1_1per_seg_tree_ace7f57935b3bb9446f11c239fd89ae79_cgraph_org.svg b/d8/d28/classrange__queries_1_1per_seg_tree_ace7f57935b3bb9446f11c239fd89ae79_cgraph_org.svg deleted file mode 100644 index a5b03e754..000000000 --- a/d8/d28/classrange__queries_1_1per_seg_tree_ace7f57935b3bb9446f11c239fd89ae79_cgraph_org.svg +++ /dev/null @@ -1,59 +0,0 @@ - - - - - - -range_queries::perSegTree::lazy - - -Node1 - - -range_queries::perSegTree -::lazy - - - - - -Node2 - - -range_queries::perSegTree -::newKid - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::make_shared - - - - - -Node2->Node3 - - - - - - - - diff --git a/d8/d28/classrange__queries_1_1per_seg_tree_ad484002bcb701820d55f32ea5d525571_cgraph.map b/d8/d28/classrange__queries_1_1per_seg_tree_ad484002bcb701820d55f32ea5d525571_cgraph.map deleted file mode 100644 index be236116e..000000000 --- a/d8/d28/classrange__queries_1_1per_seg_tree_ad484002bcb701820d55f32ea5d525571_cgraph.map +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - - - diff --git a/d8/d28/classrange__queries_1_1per_seg_tree_ad484002bcb701820d55f32ea5d525571_cgraph.md5 b/d8/d28/classrange__queries_1_1per_seg_tree_ad484002bcb701820d55f32ea5d525571_cgraph.md5 deleted file mode 100644 index 7b213f91a..000000000 --- a/d8/d28/classrange__queries_1_1per_seg_tree_ad484002bcb701820d55f32ea5d525571_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -f1a8b9d33a6aa48f41ba95b714426d6b \ No newline at end of file diff --git a/d8/d28/classrange__queries_1_1per_seg_tree_ad484002bcb701820d55f32ea5d525571_cgraph.svg b/d8/d28/classrange__queries_1_1per_seg_tree_ad484002bcb701820d55f32ea5d525571_cgraph.svg deleted file mode 100644 index 981522413..000000000 --- a/d8/d28/classrange__queries_1_1per_seg_tree_ad484002bcb701820d55f32ea5d525571_cgraph.svg +++ /dev/null @@ -1,189 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -range_queries::perSegTree::query - - -Node1 - - -range_queries::perSegTree -::query - - - - - -Node2 - - -range_queries::perSegTree -::query - - - - - -Node1->Node2 - - - - - - - - -Node2->Node2 - - - - - - - - -Node3 - - -range_queries::perSegTree -::lazy - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -range_queries::perSegTree -::newKid - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -std::make_shared - - - - - -Node4->Node5 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d8/d28/classrange__queries_1_1per_seg_tree_ad484002bcb701820d55f32ea5d525571_cgraph_org.svg b/d8/d28/classrange__queries_1_1per_seg_tree_ad484002bcb701820d55f32ea5d525571_cgraph_org.svg deleted file mode 100644 index 0e06a2b94..000000000 --- a/d8/d28/classrange__queries_1_1per_seg_tree_ad484002bcb701820d55f32ea5d525571_cgraph_org.svg +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - -range_queries::perSegTree::query - - -Node1 - - -range_queries::perSegTree -::query - - - - - -Node2 - - -range_queries::perSegTree -::query - - - - - -Node1->Node2 - - - - - - - - -Node2->Node2 - - - - - - - - -Node3 - - -range_queries::perSegTree -::lazy - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -range_queries::perSegTree -::newKid - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -std::make_shared - - - - - -Node4->Node5 - - - - - - - - diff --git a/d8/d28/classrange__queries_1_1per_seg_tree_ae8ae4b1835e5e8aec32f68c5059ed4d4_cgraph.map b/d8/d28/classrange__queries_1_1per_seg_tree_ae8ae4b1835e5e8aec32f68c5059ed4d4_cgraph.map deleted file mode 100644 index 746b3a589..000000000 --- a/d8/d28/classrange__queries_1_1per_seg_tree_ae8ae4b1835e5e8aec32f68c5059ed4d4_cgraph.map +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/d8/d28/classrange__queries_1_1per_seg_tree_ae8ae4b1835e5e8aec32f68c5059ed4d4_cgraph.md5 b/d8/d28/classrange__queries_1_1per_seg_tree_ae8ae4b1835e5e8aec32f68c5059ed4d4_cgraph.md5 deleted file mode 100644 index e9f1ec325..000000000 --- a/d8/d28/classrange__queries_1_1per_seg_tree_ae8ae4b1835e5e8aec32f68c5059ed4d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -0f56b13ce35bed1d273893dd5a30225f \ No newline at end of file diff --git a/d8/d28/classrange__queries_1_1per_seg_tree_ae8ae4b1835e5e8aec32f68c5059ed4d4_cgraph.svg b/d8/d28/classrange__queries_1_1per_seg_tree_ae8ae4b1835e5e8aec32f68c5059ed4d4_cgraph.svg deleted file mode 100644 index 4f6461485..000000000 --- a/d8/d28/classrange__queries_1_1per_seg_tree_ae8ae4b1835e5e8aec32f68c5059ed4d4_cgraph.svg +++ /dev/null @@ -1,170 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -range_queries::perSegTree::query - - -Node1 - - -range_queries::perSegTree -::query - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -range_queries::perSegTree -::lazy - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -range_queries::perSegTree -::newKid - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::make_shared - - - - - -Node3->Node4 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d8/d28/classrange__queries_1_1per_seg_tree_ae8ae4b1835e5e8aec32f68c5059ed4d4_cgraph_org.svg b/d8/d28/classrange__queries_1_1per_seg_tree_ae8ae4b1835e5e8aec32f68c5059ed4d4_cgraph_org.svg deleted file mode 100644 index 9bf29327a..000000000 --- a/d8/d28/classrange__queries_1_1per_seg_tree_ae8ae4b1835e5e8aec32f68c5059ed4d4_cgraph_org.svg +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - -range_queries::perSegTree::query - - -Node1 - - -range_queries::perSegTree -::query - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -range_queries::perSegTree -::lazy - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -range_queries::perSegTree -::newKid - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::make_shared - - - - - -Node3->Node4 - - - - - - - - diff --git a/d8/d28/classrange__queries_1_1per_seg_tree_af87494e6cf012d28c4f5b9d1c15f9c5d_cgraph.map b/d8/d28/classrange__queries_1_1per_seg_tree_af87494e6cf012d28c4f5b9d1c15f9c5d_cgraph.map deleted file mode 100644 index bbb42a7c5..000000000 --- a/d8/d28/classrange__queries_1_1per_seg_tree_af87494e6cf012d28c4f5b9d1c15f9c5d_cgraph.map +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - - - - - - - - - - diff --git a/d8/d28/classrange__queries_1_1per_seg_tree_af87494e6cf012d28c4f5b9d1c15f9c5d_cgraph.md5 b/d8/d28/classrange__queries_1_1per_seg_tree_af87494e6cf012d28c4f5b9d1c15f9c5d_cgraph.md5 deleted file mode 100644 index fec470734..000000000 --- a/d8/d28/classrange__queries_1_1per_seg_tree_af87494e6cf012d28c4f5b9d1c15f9c5d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -f277e769f847dc8fc67d8364c3c69894 \ No newline at end of file diff --git a/d8/d28/classrange__queries_1_1per_seg_tree_af87494e6cf012d28c4f5b9d1c15f9c5d_cgraph.svg b/d8/d28/classrange__queries_1_1per_seg_tree_af87494e6cf012d28c4f5b9d1c15f9c5d_cgraph.svg deleted file mode 100644 index 77db6961a..000000000 --- a/d8/d28/classrange__queries_1_1per_seg_tree_af87494e6cf012d28c4f5b9d1c15f9c5d_cgraph.svg +++ /dev/null @@ -1,243 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -range_queries::perSegTree::update - - -Node1 - - -range_queries::perSegTree -::update - - - - - -Node2 - - -std::vector::push_back - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::vector::size - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -range_queries::perSegTree -::update - - - - - -Node1->Node4 - - - - - - - - -Node4->Node4 - - - - - - - - -Node5 - - -range_queries::perSegTree -::lazy - - - - - -Node4->Node5 - - - - - - - - -Node6 - - -range_queries::perSegTree -::newKid - - - - - -Node4->Node6 - - - - - - - - -Node7 - - -std::make_shared - - - - - -Node4->Node7 - - - - - - - - -Node5->Node6 - - - - - - - - -Node6->Node7 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d8/d28/classrange__queries_1_1per_seg_tree_af87494e6cf012d28c4f5b9d1c15f9c5d_cgraph_org.svg b/d8/d28/classrange__queries_1_1per_seg_tree_af87494e6cf012d28c4f5b9d1c15f9c5d_cgraph_org.svg deleted file mode 100644 index 4249f0fd6..000000000 --- a/d8/d28/classrange__queries_1_1per_seg_tree_af87494e6cf012d28c4f5b9d1c15f9c5d_cgraph_org.svg +++ /dev/null @@ -1,160 +0,0 @@ - - - - - - -range_queries::perSegTree::update - - -Node1 - - -range_queries::perSegTree -::update - - - - - -Node2 - - -std::vector::push_back - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::vector::size - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -range_queries::perSegTree -::update - - - - - -Node1->Node4 - - - - - - - - -Node4->Node4 - - - - - - - - -Node5 - - -range_queries::perSegTree -::lazy - - - - - -Node4->Node5 - - - - - - - - -Node6 - - -range_queries::perSegTree -::newKid - - - - - -Node4->Node6 - - - - - - - - -Node7 - - -std::make_shared - - - - - -Node4->Node7 - - - - - - - - -Node5->Node6 - - - - - - - - -Node6->Node7 - - - - - - - - diff --git a/d8/d2a/namespacea1z26.html b/d8/d2a/namespacea1z26.html index d35f9375d..2b3acc43c 100644 --- a/d8/d2a/namespacea1z26.html +++ b/d8/d2a/namespacea1z26.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: a1z26 Namespace Reference +TheAlgorithms/C++: a1z26 Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache.html b/d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache.html index 224cdb5f2..28edc5e60 100644 --- a/d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache.html +++ b/d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: others::Cache::LRUCache< K, V > Class Template Reference +TheAlgorithms/C++: others::Cache::LRUCache< K, V > Class Template Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + @@ -118,7 +135,7 @@ $(function(){initNavTree('d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache.html','..
    Collaboration diagram for others::Cache::LRUCache< K, V >:
    -
    +
    [legend]
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++

    @@ -159,21 +176,17 @@ Private Member Functions

    - - + + - - + + - - + + - - + +

    Private Attributes

    -CacheNode< K, V > * head
     head of the doubly linked list
    CacheNode< K, V > * head
     head of the doubly linked list
     
    -CacheNode< K, V > * tail
     tail of the doubly linked list
    CacheNode< K, V > * tail
     tail of the doubly linked list
     
    -std::uint32_t _capacity
     maximum capacity of the cache
    std::uint32_t _capacity
     maximum capacity of the cache
     
    -std::unordered_map< K, CacheNode< K, V > * > node_map
     maps the key to the node address
    std::unordered_map< K, CacheNode< K, V > * > node_map
     maps the key to the node address
     

    Detailed Description

    @@ -186,6 +199,8 @@ class others::Cache::LRUCache< K, V >

    Definition at line 61 of file lru_cache2.cpp.

    Constructor & Destructor Documentation

    ◆ LRUCache()

    @@ -219,10 +234,12 @@ template<typename K , typename V > + +

    Definition at line 75 of file lru_cache2.cpp.

    76 : head(nullptr), tail(nullptr), _capacity(_capacity) {}
    -
    CacheNode< K, V > * head
    head of the doubly linked list
    Definition lru_cache2.cpp:62
    -
    CacheNode< K, V > * tail
    tail of the doubly linked list
    Definition lru_cache2.cpp:63
    -
    std::uint32_t _capacity
    maximum capacity of the cache
    Definition lru_cache2.cpp:64
    +
    CacheNode< K, V > * head
    head of the doubly linked list
    +
    CacheNode< K, V > * tail
    tail of the doubly linked list
    +
    std::uint32_t _capacity
    maximum capacity of the cache
    @@ -252,6 +269,8 @@ template<typename K , typename V >

    destructs the cache, iterates on the map and deletes every node present in the cache.

    + +

    Definition at line 205 of file lru_cache2.cpp.

    205 {
    206 auto it = node_map.begin();
    207 while (it != node_map.end()) {
    @@ -259,7 +278,7 @@ template<typename K , typename V >
    209 ++it;
    210 }
    211 }
    -
    std::unordered_map< K, CacheNode< K, V > * > node_map
    maps the key to the node address
    Definition lru_cache2.cpp:67
    +
    std::unordered_map< K, CacheNode< K, V > * > node_map
    maps the key to the node address
    @@ -291,6 +310,8 @@ template<typename K , typename V >

    Returns the total capacity of the cache.

    Returns
    Total capacity of the cache
    + +

    Definition at line 193 of file lru_cache2.cpp.

    193{ return _capacity; }
    @@ -322,6 +343,8 @@ template<typename K , typename V >

    returns whether the cache is empty or not

    Returns
    true if the cache is empty, false otherwise.
    + +

    Definition at line 199 of file lru_cache2.cpp.

    199{ return node_map.empty(); }
    @@ -365,9 +388,11 @@ template<typename K , typename V > + +

    Definition at line 172 of file lru_cache2.cpp.

    172 {
    173 if (!node_map.count(key)) {
    -
    174 throw std::runtime_error("key is not present in the cache");
    +
    174 throw std::runtime_error("key is not present in the cache");
    175 }
    176
    177 // move node to the beginning of the list
    @@ -375,14 +400,8 @@ template<typename K , typename V >
    179 make_recent(node_map[key]);
    180 return value;
    181 }
    -
    void make_recent(CacheNode< K, V > *node_ptr)
    move the existing node in the list to the beginning of the list.
    Definition lru_cache2.cpp:99
    - -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    void make_recent(CacheNode< K, V > *node_ptr)
    move the existing node in the list to the beginning of the list.
    + @@ -417,34 +436,29 @@ template<typename K , typename V > + +

    Definition at line 99 of file lru_cache2.cpp.

    99 {
    100 if (head == node_ptr) {
    101 return;
    102 }
    103
    -
    104 CacheNode<K, V> *prev = node_ptr->prev;
    -
    105 CacheNode<K, V> *next = node_ptr->next;
    +
    104 CacheNode<K, V> *prev = node_ptr->prev;
    +
    105 CacheNode<K, V> *next = node_ptr->next;
    106
    -
    107 prev->next = next;
    +
    107 prev->next = next;
    108 if (next) {
    -
    109 next->prev = prev;
    +
    109 next->prev = prev;
    110 } else {
    -
    111 tail = prev;
    +
    111 tail = prev;
    112 }
    113
    114 node_ptr->prev = nullptr;
    115 node_ptr->next = nullptr;
    116 push_front(node_ptr);
    117 }
    -
    void push_front(CacheNode< K, V > *node_ptr)
    push the node to the front of the linked list.
    Definition lru_cache2.cpp:83
    -
    T next(T... args)
    -
    T prev(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    void push_front(CacheNode< K, V > *node_ptr)
    push the node to the front of the linked list.
    + @@ -473,6 +487,8 @@ template<typename K , typename V >

    pop the last node in the linked list.

    + +

    Definition at line 122 of file lru_cache2.cpp.

    122 {
    123 if (!head) {
    124 return;
    @@ -524,6 +540,8 @@ template<typename K , typename V >
    + +

    Definition at line 83 of file lru_cache2.cpp.

    83 {
    84 if (!head) {
    85 head = node_ptr;
    @@ -575,6 +593,8 @@ template<typename K , typename V >
    + +

    Definition at line 145 of file lru_cache2.cpp.

    145 {
    146 // update the value if key already exists
    147 if (node_map.count(key)) {
    @@ -595,13 +615,8 @@ template<typename K , typename V >
    162 node_map[key] = newNode;
    163 push_front(newNode);
    164 }
    -
    void pop_back()
    pop the last node in the linked list.
    Definition lru_cache2.cpp:122
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    void pop_back()
    pop the last node in the linked list.
    + @@ -631,12 +646,127 @@ template<typename K , typename V >

    Returns the number of items present in the cache.

    Returns
    number of items in the cache
    + +

    Definition at line 187 of file lru_cache2.cpp.

    187{ return node_map.size(); }
    + + +

    Member Data Documentation

    + +

    ◆ _capacity

    + +
    +
    +
    +template<typename K , typename V >
    + + + + + +
    + + + + +
    std::uint32_t others::Cache::LRUCache< K, V >::_capacity
    +
    +private
    +
    + +

    maximum capacity of the cache

    + +

    Definition at line 64 of file lru_cache2.cpp.

    + +
    +
    + +

    ◆ head

    + +
    +
    +
    +template<typename K , typename V >
    + + + + + +
    + + + + +
    CacheNode<K, V>* others::Cache::LRUCache< K, V >::head
    +
    +private
    +
    + +

    head of the doubly linked list

    + +

    Definition at line 62 of file lru_cache2.cpp.

    + +
    +
    + +

    ◆ node_map

    + +
    +
    +
    +template<typename K , typename V >
    + + + + + +
    + + + + +
    std::unordered_map<K, CacheNode<K, V> *> others::Cache::LRUCache< K, V >::node_map
    +
    +private
    +
    + +

    maps the key to the node address

    + +

    Definition at line 67 of file lru_cache2.cpp.

    + +
    +
    + +

    ◆ tail

    + +
    +
    +
    +template<typename K , typename V >
    + + + + + +
    + + + + +
    CacheNode<K, V>* others::Cache::LRUCache< K, V >::tail
    +
    +private
    +
    + +

    tail of the doubly linked list

    + +

    Definition at line 63 of file lru_cache2.cpp.

    +

    The documentation for this class was generated from the following file: diff --git a/d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache_a5ee34fcee480f21bb6f68a34f0f69b45_cgraph.map b/d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache_a5ee34fcee480f21bb6f68a34f0f69b45_cgraph.map deleted file mode 100644 index bcfd66e0a..000000000 --- a/d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache_a5ee34fcee480f21bb6f68a34f0f69b45_cgraph.map +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache_a5ee34fcee480f21bb6f68a34f0f69b45_cgraph.md5 b/d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache_a5ee34fcee480f21bb6f68a34f0f69b45_cgraph.md5 deleted file mode 100644 index 806b8d3a9..000000000 --- a/d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache_a5ee34fcee480f21bb6f68a34f0f69b45_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -e39d6679ed29b64bafd84cc0e32ad7af \ No newline at end of file diff --git a/d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache_a5ee34fcee480f21bb6f68a34f0f69b45_cgraph.svg b/d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache_a5ee34fcee480f21bb6f68a34f0f69b45_cgraph.svg deleted file mode 100644 index 259f4d415..000000000 --- a/d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache_a5ee34fcee480f21bb6f68a34f0f69b45_cgraph.svg +++ /dev/null @@ -1,113 +0,0 @@ - - - - - - - - - - - - -others::Cache::LRUCache::put - - -Node1 - - -others::Cache::LRUCache::put - - - - - -Node2 - - -others::Cache::LRUCache -::make_recent - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -others::Cache::LRUCache -::push_front - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -others::Cache::LRUCache -::pop_back - - - - - -Node1->Node4 - - - - - - - - -Node2->Node3 - - - - - - - - - - - - - diff --git a/d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache_a5ee34fcee480f21bb6f68a34f0f69b45_cgraph_org.svg b/d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache_a5ee34fcee480f21bb6f68a34f0f69b45_cgraph_org.svg deleted file mode 100644 index f847ad875..000000000 --- a/d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache_a5ee34fcee480f21bb6f68a34f0f69b45_cgraph_org.svg +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - -others::Cache::LRUCache::put - - -Node1 - - -others::Cache::LRUCache::put - - - - - -Node2 - - -others::Cache::LRUCache -::make_recent - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -others::Cache::LRUCache -::push_front - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -others::Cache::LRUCache -::pop_back - - - - - -Node1->Node4 - - - - - - - - -Node2->Node3 - - - - - - - - diff --git a/d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache_ac1be0357ecc7c34144f3d9a63c6cb3ea_cgraph.map b/d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache_ac1be0357ecc7c34144f3d9a63c6cb3ea_cgraph.map deleted file mode 100644 index d37fae53a..000000000 --- a/d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache_ac1be0357ecc7c34144f3d9a63c6cb3ea_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache_ac1be0357ecc7c34144f3d9a63c6cb3ea_cgraph.md5 b/d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache_ac1be0357ecc7c34144f3d9a63c6cb3ea_cgraph.md5 deleted file mode 100644 index a2f67752e..000000000 --- a/d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache_ac1be0357ecc7c34144f3d9a63c6cb3ea_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -1fb368e2a63e8485f9982b788e14a41a \ No newline at end of file diff --git a/d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache_ac1be0357ecc7c34144f3d9a63c6cb3ea_cgraph.svg b/d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache_ac1be0357ecc7c34144f3d9a63c6cb3ea_cgraph.svg deleted file mode 100644 index 3fcd61739..000000000 --- a/d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache_ac1be0357ecc7c34144f3d9a63c6cb3ea_cgraph.svg +++ /dev/null @@ -1,85 +0,0 @@ - - - - - - - - - - - - -others::Cache::LRUCache::get - - -Node1 - - -others::Cache::LRUCache::get - - - - - -Node2 - - -others::Cache::LRUCache -::make_recent - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -others::Cache::LRUCache -::push_front - - - - - -Node2->Node3 - - - - - - - - - - - - - diff --git a/d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache_ac1be0357ecc7c34144f3d9a63c6cb3ea_cgraph_org.svg b/d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache_ac1be0357ecc7c34144f3d9a63c6cb3ea_cgraph_org.svg deleted file mode 100644 index 45be5a3ed..000000000 --- a/d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache_ac1be0357ecc7c34144f3d9a63c6cb3ea_cgraph_org.svg +++ /dev/null @@ -1,59 +0,0 @@ - - - - - - -others::Cache::LRUCache::get - - -Node1 - - -others::Cache::LRUCache::get - - - - - -Node2 - - -others::Cache::LRUCache -::make_recent - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -others::Cache::LRUCache -::push_front - - - - - -Node2->Node3 - - - - - - - - diff --git a/d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache_ad022d494b40f82417340b113445e79a4_cgraph.map b/d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache_ad022d494b40f82417340b113445e79a4_cgraph.map deleted file mode 100644 index 59eb6160a..000000000 --- a/d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache_ad022d494b40f82417340b113445e79a4_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache_ad022d494b40f82417340b113445e79a4_cgraph.md5 b/d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache_ad022d494b40f82417340b113445e79a4_cgraph.md5 deleted file mode 100644 index 47e7166c7..000000000 --- a/d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache_ad022d494b40f82417340b113445e79a4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -c62f379001ef2b4ca1c6f7e1af924130 \ No newline at end of file diff --git a/d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache_ad022d494b40f82417340b113445e79a4_cgraph.svg b/d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache_ad022d494b40f82417340b113445e79a4_cgraph.svg deleted file mode 100644 index a1fba2ffe..000000000 --- a/d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache_ad022d494b40f82417340b113445e79a4_cgraph.svg +++ /dev/null @@ -1,67 +0,0 @@ - - - - - - - - - - - - -others::Cache::LRUCache::make_recent - - -Node1 - - -others::Cache::LRUCache -::make_recent - - - - - -Node2 - - -others::Cache::LRUCache -::push_front - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache_ad022d494b40f82417340b113445e79a4_cgraph_org.svg b/d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache_ad022d494b40f82417340b113445e79a4_cgraph_org.svg deleted file mode 100644 index f4df1b958..000000000 --- a/d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache_ad022d494b40f82417340b113445e79a4_cgraph_org.svg +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - -others::Cache::LRUCache::make_recent - - -Node1 - - -others::Cache::LRUCache -::make_recent - - - - - -Node2 - - -others::Cache::LRUCache -::push_front - - - - - -Node1->Node2 - - - - - - - - diff --git a/d8/d30/reverse__a__linked__list__using__recusion_8cpp_source.html b/d8/d30/reverse__a__linked__list__using__recusion_8cpp_source.html new file mode 100644 index 000000000..312aaadd6 --- /dev/null +++ b/d8/d30/reverse__a__linked__list__using__recusion_8cpp_source.html @@ -0,0 +1,204 @@ + + + + + + + + +TheAlgorithms/C++: operations_on_datastructures/reverse_a_linked_list_using_recusion.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    reverse_a_linked_list_using_recusion.cpp
    +
    +
    +
    1#include <iostream>
    +
    2using namespace std;
    +
    3
    +
    4struct node {
    +
    5 int val;
    +
    6 node *next;
    +
    7};
    +
    8
    +
    9node *start;
    +
    10
    +
    11void insert(int x) {
    +
    12 node *t = start;
    +
    13 if (start != NULL) {
    +
    14 while (t->next != NULL) {
    +
    15 t = t->next;
    +
    16 }
    +
    17 node *n = new node;
    +
    18 t->next = n;
    +
    19 n->val = x;
    +
    20 n->next = NULL;
    +
    21 } else {
    +
    22 node *n = new node;
    +
    23 n->val = x;
    +
    24 n->next = NULL;
    +
    25 start = n;
    +
    26 }
    +
    27}
    +
    28
    +
    29void reverse(node *p, node *q) {
    +
    30 if (q->next == NULL) {
    +
    31 q->next = p;
    +
    32 p->next = NULL;
    +
    33 start = q;
    +
    34 return;
    +
    35 } else {
    +
    36 reverse(q, q->next);
    +
    37 q->next = p;
    +
    38 p->next = NULL;
    +
    39 }
    +
    40}
    +
    41
    +
    42void show() {
    +
    43 node *t = start;
    +
    44 while (t != NULL) {
    +
    45 cout << t->val << "\t";
    +
    46 t = t->next;
    +
    47 }
    +
    48}
    +
    49
    +
    50int main() {
    +
    51 insert(1);
    +
    52 insert(2);
    +
    53 insert(3);
    +
    54 insert(4);
    +
    55 insert(5);
    +
    56 insert(6);
    +
    57
    +
    58 reverse(start, start->next);
    +
    59
    +
    60 show();
    +
    61
    +
    62 return 0;
    +
    63}
    +
    node * insert(node *root, int item)
    inserts a new element into AVL tree
    Definition avltree.cpp:92
    +
    struct node { int data; int height; struct node *left; struct node *right;} node
    for std::queue
    Definition avltree.cpp:13
    +
    int main()
    Main function.
    + +
    +
    + + + + diff --git a/d8/d36/namespacecut__rod.html b/d8/d36/namespacecut__rod.html index 02869f20b..9ba5c1690 100644 --- a/d8/d36/namespacecut__rod.html +++ b/d8/d36/namespacecut__rod.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: cut_rod Namespace Reference +TheAlgorithms/C++: cut_rod Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/d8/d38/structquery-members.html b/d8/d38/structquery-members.html index 94f93a50b..bdcdb7eef 100644 --- a/d8/d38/structquery-members.html +++ b/d8/d38/structquery-members.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Member List +TheAlgorithms/C++: Member List + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/d8/d41/classdata__structures_1_1_bloom_filter__coll__graph.map b/d8/d41/classdata__structures_1_1_bloom_filter__coll__graph.map index 27797cea5..2041992f1 100644 --- a/d8/d41/classdata__structures_1_1_bloom_filter__coll__graph.map +++ b/d8/d41/classdata__structures_1_1_bloom_filter__coll__graph.map @@ -1,14 +1,11 @@ - - - - - - - - - - - - + + + + + + + + + diff --git a/d8/d41/classdata__structures_1_1_bloom_filter__coll__graph.md5 b/d8/d41/classdata__structures_1_1_bloom_filter__coll__graph.md5 index e3129d92c..7dba3c0d6 100644 --- a/d8/d41/classdata__structures_1_1_bloom_filter__coll__graph.md5 +++ b/d8/d41/classdata__structures_1_1_bloom_filter__coll__graph.md5 @@ -1 +1 @@ -864119e941297c9ddafe2c5174f0cfc9 \ No newline at end of file +30c8a7f70fab0ac369a46dcfeb7ba0ef \ No newline at end of file diff --git a/d8/d41/classdata__structures_1_1_bloom_filter__coll__graph.svg b/d8/d41/classdata__structures_1_1_bloom_filter__coll__graph.svg index cf86a0fca..b24335751 100644 --- a/d8/d41/classdata__structures_1_1_bloom_filter__coll__graph.svg +++ b/d8/d41/classdata__structures_1_1_bloom_filter__coll__graph.svg @@ -4,8 +4,8 @@ - + @@ -17,14 +17,14 @@ ]]> - + data_structures::BloomFilter< T > Node1 - -data_structures::BloomFilter< T > + +data_structures::BloomFilter< T > @@ -32,8 +32,8 @@ Node2 - -data_structures::Bitset + +data_structures::Bitset @@ -41,18 +41,18 @@ Node2->Node1 - - + + - set + set Node3 - - -std::vector< std::size_t > + + +std::vector< std::size_t > @@ -60,79 +60,50 @@ Node3->Node2 - - + + - data + data Node4 - - -std::size_t + + +std::vector< std::function +< std::size_t(T)> > - - -Node4->Node2 - - - + + +Node4->Node1 + + + - blockSize - - - -Node4->Node3 - - - - - - elements + hashFunks Node5 - - -std::vector< std::function -< std::size_t(T)> > + + +T - - -Node5->Node1 - - - + + +Node5->Node4 + + + - hashFunks - - - -Node6 - - -T - - - - - -Node6->Node5 - - - - - - elements + elements diff --git a/d8/d41/classdata__structures_1_1_bloom_filter__coll__graph_org.svg b/d8/d41/classdata__structures_1_1_bloom_filter__coll__graph_org.svg index cdbf816b3..96d3bba4d 100644 --- a/d8/d41/classdata__structures_1_1_bloom_filter__coll__graph_org.svg +++ b/d8/d41/classdata__structures_1_1_bloom_filter__coll__graph_org.svg @@ -4,16 +4,16 @@ - - + + data_structures::BloomFilter< T > Node1 - -data_structures::BloomFilter< T > + +data_structures::BloomFilter< T > @@ -21,8 +21,8 @@ Node2 - -data_structures::Bitset + +data_structures::Bitset @@ -30,18 +30,18 @@ Node2->Node1 - - + + - set + set Node3 - - -std::vector< std::size_t > + + +std::vector< std::size_t > @@ -49,79 +49,50 @@ Node3->Node2 - - + + - data + data Node4 - - -std::size_t + + +std::vector< std::function +< std::size_t(T)> > - - -Node4->Node2 - - - + + +Node4->Node1 + + + - blockSize - - - -Node4->Node3 - - - - - - elements + hashFunks Node5 - - -std::vector< std::function -< std::size_t(T)> > + + +T - - -Node5->Node1 - - - + + +Node5->Node4 + + + - hashFunks - - - -Node6 - - -T - - - - - -Node6->Node5 - - - - - - elements + elements diff --git a/d8/d41/namespacegames_1_1memory__game.html b/d8/d41/namespacegames_1_1memory__game.html index 875cb7dd5..b6bb352db 100644 --- a/d8/d41/namespacegames_1_1memory__game.html +++ b/d8/d41/namespacegames_1_1memory__game.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: games::memory_game Namespace Reference +TheAlgorithms/C++: games::memory_game Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + @@ -120,27 +137,27 @@ Functions - + - + - + - + - + - +
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
     Utility function to verify if the given input is a number or not. This is very useful to prevent the program being stuck in a loop.
     
    template<typename T >
    void init (std::vector< T > *table)
    void init (std::vector< T > *table)
     Initializes the table with the letters.
     
    template<typename T >
    void print_table (const std::vector< T > &table)
    void print_table (const std::vector< T > &table)
     Utility function to print the table.
     
    template<typename T >
    void reset_data (const std::vector< T > &table, int *answer, int *old_answer, int *memory_count)
    void reset_data (const std::vector< T > &table, int *answer, int *old_answer, int *memory_count)
     Utility function that resets the data if the user enters an invalid value.
     
    template<typename T >
    void ask_data (const std::vector< T > &table, int *answer, int *old_answer, int *memory_count)
    void ask_data (const std::vector< T > &table, int *answer, int *old_answer, int *memory_count)
     Function that asks the user for their input in the table they previously chose.
     
    template<typename T >
    bool match (const std::vector< T > &table, std::vector< T > *table_empty, const int &answer, bool *first_time, int *old_answer, int *memory_count)
    bool match (const std::vector< T > &table, std::vector< T > *table_empty, const int &answer, bool *first_time, int *old_answer, int *memory_count)
     Checks if the two values given by the user match.
     
    template<typename T >
    void assign_results (std::vector< T > *table_empty, std::vector< T > *table, int *answer, bool *first_time, int *old_answer, int *memory_count)
    void assign_results (std::vector< T > *table_empty, std::vector< T > *table, int *answer, bool *first_time, int *old_answer, int *memory_count)
     Function to assign the results to the table.
     
    @@ -158,7 +175,7 @@ template<typename T >
    void games::memory_game::ask_data ( - const std::vector< T > & table, + const std::vector< T > & table, @@ -195,15 +212,17 @@ template<typename T >
    Returns
    void
    + +

    Definition at line 161 of file memory_game.cpp.

    162 {
    163 (*old_answer) = (*answer);
    164 print_table(table);
    165
    -
    166 std::cout << "\n\nType your response here (number index):\n";
    -
    167 std::cin >> (*answer);
    +
    166 std::cout << "\n\nType your response here (number index):\n";
    +
    167 std::cin >> (*answer);
    168
    169 if (!is_number((*answer))) {
    -
    170 std::cout << "\nYou must enter a valid number.\n\n";
    +
    170 std::cout << "\nYou must enter a valid number.\n\n";
    171 reset_data(table, answer, old_answer, memory_count);
    172 }
    173
    @@ -212,13 +231,13 @@ template<typename T >
    176 (*memory_count)++;
    177
    178 if (((*answer) > table.size()) || ((*answer) < 1)) {
    -
    179 std::cout << "\nYou can't check a value that doesn't exist (or an "
    +
    179 std::cout << "\nYou can't check a value that doesn't exist (or an "
    180 "invalid number).\n\n";
    181 reset_data(table, answer, old_answer, memory_count);
    182 }
    183
    184 if ((*old_answer) == (*answer)) {
    -
    185 std::cout << "\nYou can't check the same value twice.\n\n";
    +
    185 std::cout << "\nYou can't check the same value twice.\n\n";
    186 reset_data(table, answer, old_answer, memory_count);
    187 }
    188
    @@ -227,21 +246,14 @@ template<typename T >
    191 // must not allow the user to check the same value twice.
    192 if ((table[(*answer) - 1] != 0) &&
    193 ((table[(*old_answer)] == 0) || (table[(*old_answer)] != 0))) {
    -
    194 std::cout << "\nYou can't check the same value twice.\n\n";
    +
    194 std::cout << "\nYou can't check the same value twice.\n\n";
    195 reset_data(table, answer, old_answer, memory_count);
    196 }
    197}
    - - -
    bool is_number(const T &input)
    Utility function to verify if the given input is a number or not. This is very useful to prevent the ...
    Definition memory_game.cpp:62
    -
    void print_table(const std::vector< T > &table)
    Utility function to print the table.
    Definition memory_game.cpp:123
    -
    void reset_data(const std::vector< T > &, int *, int *, int *)
    Utility function that resets the data if the user enters an invalid value.
    Definition memory_game.cpp:211
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    bool is_number(const T &input)
    Utility function to verify if the given input is a number or not. This is very useful to prevent the ...
    +
    void print_table(const std::vector< T > &table)
    Utility function to print the table.
    +
    void reset_data(const std::vector< T > &, int *, int *, int *)
    Utility function that resets the data if the user enters an invalid value.
    + @@ -255,12 +267,12 @@ template<typename T > void games::memory_game::assign_results ( - std::vector< T > * table_empty, + std::vector< T > * table_empty, - std::vector< T > * table, + std::vector< T > * table, @@ -304,6 +316,8 @@ template<typename T >
    Returns
    void
    + +

    Definition at line 289 of file memory_game.cpp.

    291 {
    292 // Search through the entire table and if the answer matches the index, show
    293 // the value. If it doesn't match, hide both the values. Don't forget to
    @@ -333,12 +347,12 @@ template<typename T >
    317 } else if (i == (*table).size() - 1) {
    318 print_table((*table));
    319
    -
    320 std::cout << "\n\nYou won. Congratulations! Do you want to play "
    +
    320 std::cout << "\n\nYou won. Congratulations! Do you want to play "
    321 "again? (y/n)\n";
    - +
    322 std::cout
    323 << "Size " << (*table).size()
    324 << " will be used. This can be changed by re-running the game.";
    -
    325 std::cin >> try_again;
    +
    325 std::cin >> try_again;
    326 if (try_again == 'y') {
    327 // This is needed when checking if the user has two matches
    328 // already.
    @@ -348,15 +362,15 @@ template<typename T >
    332
    333 init(table);
    334 } else if (try_again == 'n') {
    -
    335 std::cout << "\nThanks for playing the game!\n";
    +
    335 std::cout << "\nThanks for playing the game!\n";
    336 SLEEP(3);
    337
    -
    338 exit(0);
    +
    338 exit(0);
    339 } else {
    -
    340 std::cout << "\nInvalid input (exitting...).\n";
    +
    340 std::cout << "\nInvalid input (exitting...).\n";
    341 SLEEP(3);
    342
    -
    343 exit(0);
    +
    343 exit(0);
    344 }
    345 }
    346 }
    @@ -366,18 +380,12 @@ template<typename T >
    350 assign_results(table_empty, table, answer, first_time, old_answer,
    351 memory_count);
    352}
    -
    T exit(T... args)
    -
    constexpr T SLEEP(T seconds)
    for sleep()
    Definition memory_game.cpp:36
    -
    bool match(const std::vector< T > &table, std::vector< T > *table_empty, const int &answer, bool *first_time, int *old_answer, int *memory_count)
    Checks if the two values given by the user match.
    Definition memory_game.cpp:235
    -
    void assign_results(std::vector< T > *table_empty, std::vector< T > *table, int *answer, bool *first_time, int *old_answer, int *memory_count)
    Function to assign the results to the table.
    Definition memory_game.cpp:289
    -
    void ask_data(const std::vector< T > &table, int *answer, int *old_answer, int *memory_count)
    Function that asks the user for their input in the table they previously chose.
    Definition memory_game.cpp:161
    -
    void init(std::vector< T > *table)
    Initializes the table with the letters.
    Definition memory_game.cpp:80
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    constexpr T SLEEP(T seconds)
    for sleep()
    +
    bool match(const std::vector< T > &table, std::vector< T > *table_empty, const int &answer, bool *first_time, int *old_answer, int *memory_count)
    Checks if the two values given by the user match.
    +
    void assign_results(std::vector< T > *table_empty, std::vector< T > *table, int *answer, bool *first_time, int *old_answer, int *memory_count)
    Function to assign the results to the table.
    +
    void ask_data(const std::vector< T > &table, int *answer, int *old_answer, int *memory_count)
    Function that asks the user for their input in the table they previously chose.
    +
    void init(std::vector< T > *table)
    Initializes the table with the letters.
    + @@ -391,7 +399,7 @@ template<typename T > void games::memory_game::init ( - std::vector< T > * table) + std::vector< T > * table) @@ -411,8 +419,10 @@ template<typename T >
    Returns
    void
    + +

    Definition at line 80 of file memory_game.cpp.

    80 {
    -
    81 std::vector<char> letters(7);
    +
    81 std::vector<char> letters(7);
    82
    83 // Decrease / increase the number of letters depending on the size.
    84 if ((*table).size() == 10) { // 5x2
    @@ -423,42 +433,30 @@ template<typename T >
    89 letters = {'A', 'E', 'Z', 'P', 'D', 'B', 'M'};
    90 }
    91
    - +
    92 std::vector<char> pairs;
    93 for (char letter : letters) {
    -
    94 pairs.push_back(letter);
    -
    95 pairs.push_back(letter);
    +
    94 pairs.push_back(letter);
    +
    95 pairs.push_back(letter);
    96 }
    97
    -
    98 std::shuffle(pairs.begin(), pairs.end(),
    - +
    98 std::shuffle(pairs.begin(), pairs.end(),
    +
    99 std::mt19937(std::random_device()()));
    100
    101 for (int i = 0; i < (*table).size(); i++) {
    102 (*table)[i] = pairs[i];
    103 }
    104
    -
    105 std::cout << "All available types are: ";
    +
    105 std::cout << "All available types are: ";
    106
    107 for (int i = 0; i < letters.size(); i++) {
    108 if (i == letters.size() - 1) {
    -
    109 std::cout << "and " << letters[i] << ".\n\n";
    +
    109 std::cout << "and " << letters[i] << ".\n\n";
    110 } else {
    -
    111 std::cout << letters[i] << ", ";
    +
    111 std::cout << letters[i] << ", ";
    112 }
    113 }
    114}
    -
    T begin(T... args)
    -
    T end(T... args)
    - -
    T push_back(T... args)
    - -
    T shuffle(T... args)
    - -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -494,10 +492,12 @@ template<typename T >
    Returns
    false if the input IS empty or if it contains a non-digit character
    true if the input is NOT empty and if it contains only digit characters
    + +

    Definition at line 62 of file memory_game.cpp.

    62 {
    -
    63 if (std::cin.fail()) {
    -
    64 std::cin.clear();
    -
    65 std::cin.ignore(256, '\n');
    +
    63 if (std::cin.fail()) {
    +
    64 std::cin.clear();
    +
    65 std::cin.ignore(256, '\n');
    66
    67 return false;
    68 }
    @@ -518,12 +518,12 @@ template<typename T >
    bool games::memory_game::match ( - const std::vector< T > & table, + const std::vector< T > & table, - std::vector< T > * table_empty, + std::vector< T > * table_empty, @@ -569,6 +569,8 @@ template<typename T >
    Returns
    true IF the values given by the user match
    false if the values given by the user do NOT match
    + +

    Definition at line 235 of file memory_game.cpp.

    237 {
    238 if ((*first_time) == true) {
    239 return true;
    @@ -585,7 +587,7 @@ false if the values given by the user do NOT match
    250 (*old_answer) = 0;
    251 return true;
    252 } else {
    -
    253 std::cout << "\nNo match (value was " << table[i - 1]
    +
    253 std::cout << "\nNo match (value was " << table[i - 1]
    254 << ", index is " << i << ").\n\n";
    255
    256 (*table_empty)[(*old_answer) - 1] = 0;
    @@ -616,7 +618,7 @@ template<typename T >
    void games::memory_game::print_table ( - const std::vector< T > & table) + const std::vector< T > & table) @@ -636,9 +638,11 @@ template<typename T >
    Returns
    void
    + +

    Definition at line 123 of file memory_game.cpp.

    123 {
    -
    124 std::cout << "| ";
    -
    125 std::vector<T> table_print(table.size());
    +
    124 std::cout << "| ";
    +
    125 std::vector<T> table_print(table.size());
    126
    127 for (int i = 0; i < table.size(); i++) {
    128 table_print[i] = ' ';
    @@ -650,10 +654,10 @@ template<typename T >
    134
    135 for (int i = 0; i < table.size(); i++) {
    136 if (i % 5 == 0 && i != 0) {
    -
    137 std::cout << "\n| ";
    +
    137 std::cout << "\n| ";
    138 }
    139
    -
    140 std::cout << table_print[i] << " | ";
    +
    140 std::cout << table_print[i] << " | ";
    141 }
    142}
    @@ -670,7 +674,7 @@ template<typename T > void games::memory_game::reset_data ( - const std::vector< T > & table, + const std::vector< T > & table, @@ -707,18 +711,15 @@ template<typename T >
    Returns
    void
    + +

    Definition at line 211 of file memory_game.cpp.

    212 {
    213 (*answer) = (*old_answer);
    214 (*memory_count)--;
    215
    216 ask_data(table, answer, old_answer, memory_count);
    217}
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + diff --git a/d8/d41/namespacegames_1_1memory__game_a3ceeea62d8fa6c563e2c66359fd73413_cgraph.map b/d8/d41/namespacegames_1_1memory__game_a3ceeea62d8fa6c563e2c66359fd73413_cgraph.map deleted file mode 100644 index 2fe401bd0..000000000 --- a/d8/d41/namespacegames_1_1memory__game_a3ceeea62d8fa6c563e2c66359fd73413_cgraph.map +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d8/d41/namespacegames_1_1memory__game_a3ceeea62d8fa6c563e2c66359fd73413_cgraph.md5 b/d8/d41/namespacegames_1_1memory__game_a3ceeea62d8fa6c563e2c66359fd73413_cgraph.md5 deleted file mode 100644 index d51b61969..000000000 --- a/d8/d41/namespacegames_1_1memory__game_a3ceeea62d8fa6c563e2c66359fd73413_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -477db5ebb4e3e2ba05b485349a023c27 \ No newline at end of file diff --git a/d8/d41/namespacegames_1_1memory__game_a3ceeea62d8fa6c563e2c66359fd73413_cgraph.svg b/d8/d41/namespacegames_1_1memory__game_a3ceeea62d8fa6c563e2c66359fd73413_cgraph.svg deleted file mode 100644 index 01e9c366e..000000000 --- a/d8/d41/namespacegames_1_1memory__game_a3ceeea62d8fa6c563e2c66359fd73413_cgraph.svg +++ /dev/null @@ -1,297 +0,0 @@ - - - - - - - - - - - - -games::memory_game::assign_results - - -Node1 - - -games::memory_game -::assign_results - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -games::memory_game -::ask_data - - - - - -Node1->Node2 - - - - - - - - -Node4 - - -games::memory_game -::print_table - - - - - -Node1->Node4 - - - - - - - - -Node6 - - -games::memory_game -::init - - - - - -Node1->Node6 - - - - - - - - -Node12 - - -games::memory_game -::match - - - - - -Node1->Node12 - - - - - - - - -Node13 - - -SLEEP - - - - - -Node1->Node13 - - - - - - - - -Node3 - - -games::memory_game -::is_number - - - - - -Node2->Node3 - - - - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -games::memory_game -::reset_data - - - - - -Node2->Node5 - - - - - - - - -Node5->Node2 - - - - - - - - -Node7 - - -std::vector::begin - - - - - -Node6->Node7 - - - - - - - - -Node8 - - -std::vector::end - - - - - -Node6->Node8 - - - - - - - - -Node9 - - -std::vector::push_back - - - - - -Node6->Node9 - - - - - - - - -Node10 - - -std::shuffle - - - - - -Node6->Node10 - - - - - - - - -Node11 - - -std::vector::size - - - - - -Node6->Node11 - - - - - - - - - - - - - diff --git a/d8/d41/namespacegames_1_1memory__game_a3ceeea62d8fa6c563e2c66359fd73413_cgraph_org.svg b/d8/d41/namespacegames_1_1memory__game_a3ceeea62d8fa6c563e2c66359fd73413_cgraph_org.svg deleted file mode 100644 index 18541c263..000000000 --- a/d8/d41/namespacegames_1_1memory__game_a3ceeea62d8fa6c563e2c66359fd73413_cgraph_org.svg +++ /dev/null @@ -1,271 +0,0 @@ - - - - - - -games::memory_game::assign_results - - -Node1 - - -games::memory_game -::assign_results - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -games::memory_game -::ask_data - - - - - -Node1->Node2 - - - - - - - - -Node4 - - -games::memory_game -::print_table - - - - - -Node1->Node4 - - - - - - - - -Node6 - - -games::memory_game -::init - - - - - -Node1->Node6 - - - - - - - - -Node12 - - -games::memory_game -::match - - - - - -Node1->Node12 - - - - - - - - -Node13 - - -SLEEP - - - - - -Node1->Node13 - - - - - - - - -Node3 - - -games::memory_game -::is_number - - - - - -Node2->Node3 - - - - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -games::memory_game -::reset_data - - - - - -Node2->Node5 - - - - - - - - -Node5->Node2 - - - - - - - - -Node7 - - -std::vector::begin - - - - - -Node6->Node7 - - - - - - - - -Node8 - - -std::vector::end - - - - - -Node6->Node8 - - - - - - - - -Node9 - - -std::vector::push_back - - - - - -Node6->Node9 - - - - - - - - -Node10 - - -std::shuffle - - - - - -Node6->Node10 - - - - - - - - -Node11 - - -std::vector::size - - - - - -Node6->Node11 - - - - - - - - diff --git a/d8/d41/namespacegames_1_1memory__game_a5714d97649c0edd57b4fb449799676a3_cgraph.map b/d8/d41/namespacegames_1_1memory__game_a5714d97649c0edd57b4fb449799676a3_cgraph.map deleted file mode 100644 index 39fbc37e5..000000000 --- a/d8/d41/namespacegames_1_1memory__game_a5714d97649c0edd57b4fb449799676a3_cgraph.map +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/d8/d41/namespacegames_1_1memory__game_a5714d97649c0edd57b4fb449799676a3_cgraph.md5 b/d8/d41/namespacegames_1_1memory__game_a5714d97649c0edd57b4fb449799676a3_cgraph.md5 deleted file mode 100644 index 89260bdd5..000000000 --- a/d8/d41/namespacegames_1_1memory__game_a5714d97649c0edd57b4fb449799676a3_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -451a16107d2064575ae2d337b781fe5f \ No newline at end of file diff --git a/d8/d41/namespacegames_1_1memory__game_a5714d97649c0edd57b4fb449799676a3_cgraph.svg b/d8/d41/namespacegames_1_1memory__game_a5714d97649c0edd57b4fb449799676a3_cgraph.svg deleted file mode 100644 index b7589a394..000000000 --- a/d8/d41/namespacegames_1_1memory__game_a5714d97649c0edd57b4fb449799676a3_cgraph.svg +++ /dev/null @@ -1,114 +0,0 @@ - - - - - - - - - - - - -games::memory_game::ask_data - - -Node1 - - -games::memory_game -::ask_data - - - - - -Node2 - - -games::memory_game -::is_number - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -games::memory_game -::print_table - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -games::memory_game -::reset_data - - - - - -Node1->Node4 - - - - - - - - -Node4->Node1 - - - - - - - - - - - - - diff --git a/d8/d41/namespacegames_1_1memory__game_a5714d97649c0edd57b4fb449799676a3_cgraph_org.svg b/d8/d41/namespacegames_1_1memory__game_a5714d97649c0edd57b4fb449799676a3_cgraph_org.svg deleted file mode 100644 index bc5fd1540..000000000 --- a/d8/d41/namespacegames_1_1memory__game_a5714d97649c0edd57b4fb449799676a3_cgraph_org.svg +++ /dev/null @@ -1,88 +0,0 @@ - - - - - - -games::memory_game::ask_data - - -Node1 - - -games::memory_game -::ask_data - - - - - -Node2 - - -games::memory_game -::is_number - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -games::memory_game -::print_table - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -games::memory_game -::reset_data - - - - - -Node1->Node4 - - - - - - - - -Node4->Node1 - - - - - - - - diff --git a/d8/d41/namespacegames_1_1memory__game_ad573c8ae66ab66156d03e5e81bbba214_cgraph.map b/d8/d41/namespacegames_1_1memory__game_ad573c8ae66ab66156d03e5e81bbba214_cgraph.map deleted file mode 100644 index 404715276..000000000 --- a/d8/d41/namespacegames_1_1memory__game_ad573c8ae66ab66156d03e5e81bbba214_cgraph.map +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - diff --git a/d8/d41/namespacegames_1_1memory__game_ad573c8ae66ab66156d03e5e81bbba214_cgraph.md5 b/d8/d41/namespacegames_1_1memory__game_ad573c8ae66ab66156d03e5e81bbba214_cgraph.md5 deleted file mode 100644 index 21528b6a7..000000000 --- a/d8/d41/namespacegames_1_1memory__game_ad573c8ae66ab66156d03e5e81bbba214_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -78293c1a9b92bd6304e5a97e384752e4 \ No newline at end of file diff --git a/d8/d41/namespacegames_1_1memory__game_ad573c8ae66ab66156d03e5e81bbba214_cgraph.svg b/d8/d41/namespacegames_1_1memory__game_ad573c8ae66ab66156d03e5e81bbba214_cgraph.svg deleted file mode 100644 index a241e9b34..000000000 --- a/d8/d41/namespacegames_1_1memory__game_ad573c8ae66ab66156d03e5e81bbba214_cgraph.svg +++ /dev/null @@ -1,138 +0,0 @@ - - - - - - - - - - - - -games::memory_game::init - - -Node1 - - -games::memory_game -::init - - - - - -Node2 - - -std::vector::begin - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::vector::end - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::vector::push_back - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::shuffle - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -std::vector::size - - - - - -Node1->Node6 - - - - - - - - - - - - - diff --git a/d8/d41/namespacegames_1_1memory__game_ad573c8ae66ab66156d03e5e81bbba214_cgraph_org.svg b/d8/d41/namespacegames_1_1memory__game_ad573c8ae66ab66156d03e5e81bbba214_cgraph_org.svg deleted file mode 100644 index 4fbcbce30..000000000 --- a/d8/d41/namespacegames_1_1memory__game_ad573c8ae66ab66156d03e5e81bbba214_cgraph_org.svg +++ /dev/null @@ -1,112 +0,0 @@ - - - - - - -games::memory_game::init - - -Node1 - - -games::memory_game -::init - - - - - -Node2 - - -std::vector::begin - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::vector::end - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::vector::push_back - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::shuffle - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -std::vector::size - - - - - -Node1->Node6 - - - - - - - - diff --git a/d8/d41/namespacegames_1_1memory__game_adc62ebb75853446656e24932bdc6dd6b_cgraph.map b/d8/d41/namespacegames_1_1memory__game_adc62ebb75853446656e24932bdc6dd6b_cgraph.map deleted file mode 100644 index 04aac76f3..000000000 --- a/d8/d41/namespacegames_1_1memory__game_adc62ebb75853446656e24932bdc6dd6b_cgraph.map +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/d8/d41/namespacegames_1_1memory__game_adc62ebb75853446656e24932bdc6dd6b_cgraph.md5 b/d8/d41/namespacegames_1_1memory__game_adc62ebb75853446656e24932bdc6dd6b_cgraph.md5 deleted file mode 100644 index 62c37e8fd..000000000 --- a/d8/d41/namespacegames_1_1memory__game_adc62ebb75853446656e24932bdc6dd6b_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -481fe24a59ab63f100e195c9e694a7e3 \ No newline at end of file diff --git a/d8/d41/namespacegames_1_1memory__game_adc62ebb75853446656e24932bdc6dd6b_cgraph.svg b/d8/d41/namespacegames_1_1memory__game_adc62ebb75853446656e24932bdc6dd6b_cgraph.svg deleted file mode 100644 index f782b1037..000000000 --- a/d8/d41/namespacegames_1_1memory__game_adc62ebb75853446656e24932bdc6dd6b_cgraph.svg +++ /dev/null @@ -1,114 +0,0 @@ - - - - - - - - - - - - -games::memory_game::reset_data - - -Node1 - - -games::memory_game -::reset_data - - - - - -Node2 - - -games::memory_game -::ask_data - - - - - -Node1->Node2 - - - - - - - - -Node2->Node1 - - - - - - - - -Node3 - - -games::memory_game -::is_number - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -games::memory_game -::print_table - - - - - -Node2->Node4 - - - - - - - - - - - - - diff --git a/d8/d41/namespacegames_1_1memory__game_adc62ebb75853446656e24932bdc6dd6b_cgraph_org.svg b/d8/d41/namespacegames_1_1memory__game_adc62ebb75853446656e24932bdc6dd6b_cgraph_org.svg deleted file mode 100644 index ff3ff6d29..000000000 --- a/d8/d41/namespacegames_1_1memory__game_adc62ebb75853446656e24932bdc6dd6b_cgraph_org.svg +++ /dev/null @@ -1,88 +0,0 @@ - - - - - - -games::memory_game::reset_data - - -Node1 - - -games::memory_game -::reset_data - - - - - -Node2 - - -games::memory_game -::ask_data - - - - - -Node1->Node2 - - - - - - - - -Node2->Node1 - - - - - - - - -Node3 - - -games::memory_game -::is_number - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -games::memory_game -::print_table - - - - - -Node2->Node4 - - - - - - - - diff --git a/d8/d53/modular__inverse__fermat__little__theorem_8cpp.html b/d8/d53/modular__inverse__fermat__little__theorem_8cpp.html index 76101c6cb..1611635d5 100644 --- a/d8/d53/modular__inverse__fermat__little__theorem_8cpp.html +++ b/d8/d53/modular__inverse__fermat__little__theorem_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: math/modular_inverse_fermat_little_theorem.cpp File Reference +TheAlgorithms/C++: math/modular_inverse_fermat_little_theorem.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -121,7 +138,9 @@ Include dependency graph for modular_inverse_fermat_little_theorem.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -133,13 +152,13 @@ Namespaces

    Namespaces

    namespace  math
    - + - + - + @@ -180,6 +199,8 @@ Functions
  • \(3^5 \;\text{mod}\; 7 = 243 \;\text{mod}\; 7 = 5\)
    Hence, \(3^{-1} \;\text{mod}\; 7 = 5\) or \(3 \times 5 \;\text{mod}\; 7 = 1 \;\text{mod}\; 7\) (as \(a\times a^{-1} = 1\))
  • + +

    Definition in file modular_inverse_fermat_little_theorem.cpp.

    Function Documentation

    ◆ binExpo()

    @@ -188,19 +209,19 @@ Hence, \(3^{-1} \;\text{mod}\; 7 = 5\) or \(3 \times 5 \;\text{mod}\; 7 = 1 \;\

    Functions

    std::int64_t math::modular_inverse_fermat::binExpo (std::int64_t a, std::int64_t b, std::int64_t m)
    std::int64_t math::modular_inverse_fermat::binExpo (std::int64_t a, std::int64_t b, std::int64_t m)
     Calculate exponent with modulo using binary exponentiation in \(O(\log b)\) time.
     
    bool math::modular_inverse_fermat::isPrime (std::int64_t m)
    bool math::modular_inverse_fermat::isPrime (std::int64_t m)
     Check if an integer is a prime number in \(O(\sqrt{m})\) time.
     
    std::int64_t math::modular_inverse_fermat::modular_inverse (std::int64_t a, std::int64_t m)
    std::int64_t math::modular_inverse_fermat::modular_inverse (std::int64_t a, std::int64_t m)
     calculates the modular inverse.
     
    static void test ()
    - + - + - + - +
    std::int64_t math::modular_inverse_fermat::binExpo std::int64_t math::modular_inverse_fermat::binExpo (std::int64_t a, std::int64_t a,
    std::int64_t b, std::int64_t b,
    std::int64_t m )std::int64_t m )
    @@ -215,9 +236,11 @@ Hence, \(3^{-1} \;\text{mod}\; 7 = 5\) or \(3 \times 5 \;\text{mod}\; 7 = 1 \;\
    Returns
    The result of \(a^{b} % m\)
    + +

    Definition at line 67 of file modular_inverse_fermat_little_theorem.cpp.

    67 {
    68 a %= m;
    -
    69 std::int64_t res = 1;
    +
    69 std::int64_t res = 1;
    70 while (b > 0) {
    71 if (b % 2 != 0) {
    72 res = res * a % m;
    @@ -228,13 +251,7 @@ Hence, \(3^{-1} \;\text{mod}\; 7 = 5\) or \(3 \times 5 \;\text{mod}\; 7 = 1 \;\
    77 }
    78 return res;
    79}
    - -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    @@ -246,7 +263,7 @@ Here is the call graph for this function: bool math::modular_inverse_fermat::isPrime ( - std::int64_t m) + std::int64_t m) @@ -262,23 +279,20 @@ Here is the call graph for this function:
    Returns
    true if the number is prime
    false if the number is not prime
    + +

    Definition at line 86 of file modular_inverse_fermat_little_theorem.cpp.

    86 {
    87 if (m <= 1) {
    88 return false;
    89 }
    -
    90 for (std::int64_t i = 2; i * i <= m; i++) {
    +
    90 for (std::int64_t i = 2; i * i <= m; i++) {
    91 if (m % i == 0) {
    92 return false;
    93 }
    94 }
    95 return true;
    96}
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -298,17 +312,14 @@ Here is the call graph for this function:

    Main function.

    Returns
    0 on exit
    + +

    Definition at line 137 of file modular_inverse_fermat_little_theorem.cpp.

    137 {
    138 test(); // run self-test implementation
    139 return 0;
    140}
    -
    static void test()
    Self-test implementation.
    Definition modular_inverse_fermat_little_theorem.cpp:122
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static void test()
    Self-test implementation.
    + @@ -318,14 +329,14 @@ Here is the call graph for this function:
    - + - + - +
    std::int64_t math::modular_inverse_fermat::modular_inverse std::int64_t math::modular_inverse_fermat::modular_inverse (std::int64_t a, std::int64_t a,
    std::int64_t m )std::int64_t m )
    @@ -339,6 +350,8 @@ Here is the call graph for this function:
    Returns
    The result that is the modular inverse of a modulo m
    + +

    Definition at line 103 of file modular_inverse_fermat_little_theorem.cpp.

    103 {
    104 while (a < 0) {
    105 a += m;
    @@ -351,14 +364,9 @@ Here is the call graph for this function:
    112
    113 return binExpo(a, m - 2, m); // Fermat's Little Theorem
    114}
    -
    int binExpo(int a, int b)
    Definition binary_exponent.cpp:28
    -
    bool isPrime(std::int64_t m)
    Check if an integer is a prime number in time.
    Definition modular_inverse_fermat_little_theorem.cpp:86
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    int binExpo(int a, int b)
    +
    bool isPrime(std::int64_t m)
    Check if an integer is a prime number in time.
    + @@ -386,6 +394,8 @@ Here is the call graph for this function:

    Self-test implementation.

    Returns
    void
    + +

    Definition at line 122 of file modular_inverse_fermat_little_theorem.cpp.

    122 {
    123 assert(math::modular_inverse_fermat::modular_inverse(0, 97) == -1);
    124 assert(math::modular_inverse_fermat::modular_inverse(15, -2) == -1);
    diff --git a/d8/d53/modular__inverse__fermat__little__theorem_8cpp_a1c62a87e79f29b98d8fe5b12eacdd928_cgraph.map b/d8/d53/modular__inverse__fermat__little__theorem_8cpp_a1c62a87e79f29b98d8fe5b12eacdd928_cgraph.map deleted file mode 100644 index 774e09c30..000000000 --- a/d8/d53/modular__inverse__fermat__little__theorem_8cpp_a1c62a87e79f29b98d8fe5b12eacdd928_cgraph.map +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/d8/d53/modular__inverse__fermat__little__theorem_8cpp_a1c62a87e79f29b98d8fe5b12eacdd928_cgraph.md5 b/d8/d53/modular__inverse__fermat__little__theorem_8cpp_a1c62a87e79f29b98d8fe5b12eacdd928_cgraph.md5 deleted file mode 100644 index 955880f8e..000000000 --- a/d8/d53/modular__inverse__fermat__little__theorem_8cpp_a1c62a87e79f29b98d8fe5b12eacdd928_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -ffd05ce4440be176113734b51fcbbe0c \ No newline at end of file diff --git a/d8/d53/modular__inverse__fermat__little__theorem_8cpp_a1c62a87e79f29b98d8fe5b12eacdd928_cgraph.svg b/d8/d53/modular__inverse__fermat__little__theorem_8cpp_a1c62a87e79f29b98d8fe5b12eacdd928_cgraph.svg deleted file mode 100644 index 5a633b0ca..000000000 --- a/d8/d53/modular__inverse__fermat__little__theorem_8cpp_a1c62a87e79f29b98d8fe5b12eacdd928_cgraph.svg +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - - - - - - - -math::modular_inverse_fermat::binExpo - - -Node1 - - -math::modular_inverse -_fermat::binExpo - - - - - -Node2 - - -binExpo - - - - - -Node1->Node2 - - - - - - - - -Node2->Node2 - - - - - - - - - - - - - diff --git a/d8/d53/modular__inverse__fermat__little__theorem_8cpp_a1c62a87e79f29b98d8fe5b12eacdd928_cgraph_org.svg b/d8/d53/modular__inverse__fermat__little__theorem_8cpp_a1c62a87e79f29b98d8fe5b12eacdd928_cgraph_org.svg deleted file mode 100644 index 9516f1cb9..000000000 --- a/d8/d53/modular__inverse__fermat__little__theorem_8cpp_a1c62a87e79f29b98d8fe5b12eacdd928_cgraph_org.svg +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - -math::modular_inverse_fermat::binExpo - - -Node1 - - -math::modular_inverse -_fermat::binExpo - - - - - -Node2 - - -binExpo - - - - - -Node1->Node2 - - - - - - - - -Node2->Node2 - - - - - - - - diff --git a/d8/d53/modular__inverse__fermat__little__theorem_8cpp_aba4929409fee35c3cb559e962a544b3e_cgraph.map b/d8/d53/modular__inverse__fermat__little__theorem_8cpp_aba4929409fee35c3cb559e962a544b3e_cgraph.map deleted file mode 100644 index efc5f5452..000000000 --- a/d8/d53/modular__inverse__fermat__little__theorem_8cpp_aba4929409fee35c3cb559e962a544b3e_cgraph.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/d8/d53/modular__inverse__fermat__little__theorem_8cpp_aba4929409fee35c3cb559e962a544b3e_cgraph.md5 b/d8/d53/modular__inverse__fermat__little__theorem_8cpp_aba4929409fee35c3cb559e962a544b3e_cgraph.md5 deleted file mode 100644 index a15166611..000000000 --- a/d8/d53/modular__inverse__fermat__little__theorem_8cpp_aba4929409fee35c3cb559e962a544b3e_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -6bc11f0296ee2fc351d4f5cb6f0ca359 \ No newline at end of file diff --git a/d8/d53/modular__inverse__fermat__little__theorem_8cpp_aba4929409fee35c3cb559e962a544b3e_cgraph.svg b/d8/d53/modular__inverse__fermat__little__theorem_8cpp_aba4929409fee35c3cb559e962a544b3e_cgraph.svg deleted file mode 100644 index 66becdceb..000000000 --- a/d8/d53/modular__inverse__fermat__little__theorem_8cpp_aba4929409fee35c3cb559e962a544b3e_cgraph.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - - - - - - - -math::modular_inverse_fermat::isPrime - - -Node1 - - -math::modular_inverse -_fermat::isPrime - - - - - -Node1->Node1 - - - - - - - - - - - - - diff --git a/d8/d53/modular__inverse__fermat__little__theorem_8cpp_aba4929409fee35c3cb559e962a544b3e_cgraph_org.svg b/d8/d53/modular__inverse__fermat__little__theorem_8cpp_aba4929409fee35c3cb559e962a544b3e_cgraph_org.svg deleted file mode 100644 index 02a240df9..000000000 --- a/d8/d53/modular__inverse__fermat__little__theorem_8cpp_aba4929409fee35c3cb559e962a544b3e_cgraph_org.svg +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - -math::modular_inverse_fermat::isPrime - - -Node1 - - -math::modular_inverse -_fermat::isPrime - - - - - -Node1->Node1 - - - - - - - - diff --git a/d8/d53/modular__inverse__fermat__little__theorem_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d8/d53/modular__inverse__fermat__little__theorem_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index a62ccb083..000000000 --- a/d8/d53/modular__inverse__fermat__little__theorem_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d8/d53/modular__inverse__fermat__little__theorem_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d8/d53/modular__inverse__fermat__little__theorem_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index 0e95d81d4..000000000 --- a/d8/d53/modular__inverse__fermat__little__theorem_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -7c26bf167d094d5e36710e1d61d5adb7 \ No newline at end of file diff --git a/d8/d53/modular__inverse__fermat__little__theorem_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d8/d53/modular__inverse__fermat__little__theorem_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 3a23c85f7..000000000 --- a/d8/d53/modular__inverse__fermat__little__theorem_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d8/d53/modular__inverse__fermat__little__theorem_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d8/d53/modular__inverse__fermat__little__theorem_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 4e1bcad16..000000000 --- a/d8/d53/modular__inverse__fermat__little__theorem_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - diff --git a/d8/d53/modular__inverse__fermat__little__theorem_8cpp_ae7e807e02c65c6fffd6162b4c66290c2_cgraph.map b/d8/d53/modular__inverse__fermat__little__theorem_8cpp_ae7e807e02c65c6fffd6162b4c66290c2_cgraph.map deleted file mode 100644 index 0177d728b..000000000 --- a/d8/d53/modular__inverse__fermat__little__theorem_8cpp_ae7e807e02c65c6fffd6162b4c66290c2_cgraph.map +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/d8/d53/modular__inverse__fermat__little__theorem_8cpp_ae7e807e02c65c6fffd6162b4c66290c2_cgraph.md5 b/d8/d53/modular__inverse__fermat__little__theorem_8cpp_ae7e807e02c65c6fffd6162b4c66290c2_cgraph.md5 deleted file mode 100644 index ff74585e1..000000000 --- a/d8/d53/modular__inverse__fermat__little__theorem_8cpp_ae7e807e02c65c6fffd6162b4c66290c2_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -cebe99d531236e9949a4458c0aa57b4e \ No newline at end of file diff --git a/d8/d53/modular__inverse__fermat__little__theorem_8cpp_ae7e807e02c65c6fffd6162b4c66290c2_cgraph.svg b/d8/d53/modular__inverse__fermat__little__theorem_8cpp_ae7e807e02c65c6fffd6162b4c66290c2_cgraph.svg deleted file mode 100644 index 35c192184..000000000 --- a/d8/d53/modular__inverse__fermat__little__theorem_8cpp_ae7e807e02c65c6fffd6162b4c66290c2_cgraph.svg +++ /dev/null @@ -1,112 +0,0 @@ - - - - - - - - - - - - -math::modular_inverse_fermat::modular_inverse - - -Node1 - - -math::modular_inverse -_fermat::modular_inverse - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -binExpo - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -math::modular_inverse -_fermat::isPrime - - - - - -Node1->Node3 - - - - - - - - -Node2->Node2 - - - - - - - - -Node3->Node3 - - - - - - - - - - - - - diff --git a/d8/d53/modular__inverse__fermat__little__theorem_8cpp_ae7e807e02c65c6fffd6162b4c66290c2_cgraph_org.svg b/d8/d53/modular__inverse__fermat__little__theorem_8cpp_ae7e807e02c65c6fffd6162b4c66290c2_cgraph_org.svg deleted file mode 100644 index 9ac5aa94f..000000000 --- a/d8/d53/modular__inverse__fermat__little__theorem_8cpp_ae7e807e02c65c6fffd6162b4c66290c2_cgraph_org.svg +++ /dev/null @@ -1,86 +0,0 @@ - - - - - - -math::modular_inverse_fermat::modular_inverse - - -Node1 - - -math::modular_inverse -_fermat::modular_inverse - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -binExpo - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -math::modular_inverse -_fermat::isPrime - - - - - -Node1->Node3 - - - - - - - - -Node2->Node2 - - - - - - - - -Node3->Node3 - - - - - - - - diff --git a/d8/d53/modular__inverse__fermat__little__theorem_8cpp_source.html b/d8/d53/modular__inverse__fermat__little__theorem_8cpp_source.html new file mode 100644 index 000000000..bf9400db2 --- /dev/null +++ b/d8/d53/modular__inverse__fermat__little__theorem_8cpp_source.html @@ -0,0 +1,215 @@ + + + + + + + + +TheAlgorithms/C++: math/modular_inverse_fermat_little_theorem.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    modular_inverse_fermat_little_theorem.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    46#include <cassert>
    +
    47#include <cstdint>
    +
    48#include <iostream>
    +
    49
    +
    54namespace math {
    +
    59namespace modular_inverse_fermat {
    +
    +
    67std::int64_t binExpo(std::int64_t a, std::int64_t b, std::int64_t m) {
    +
    68 a %= m;
    +
    69 std::int64_t res = 1;
    +
    70 while (b > 0) {
    +
    71 if (b % 2 != 0) {
    +
    72 res = res * a % m;
    +
    73 }
    +
    74 a = a * a % m;
    +
    75 // Dividing b by 2 is similar to right shift by 1 bit
    +
    76 b >>= 1;
    +
    77 }
    +
    78 return res;
    +
    79}
    +
    +
    +
    86bool isPrime(std::int64_t m) {
    +
    87 if (m <= 1) {
    +
    88 return false;
    +
    89 }
    +
    90 for (std::int64_t i = 2; i * i <= m; i++) {
    +
    91 if (m % i == 0) {
    +
    92 return false;
    +
    93 }
    +
    94 }
    +
    95 return true;
    +
    96}
    +
    +
    +
    103std::int64_t modular_inverse(std::int64_t a, std::int64_t m) {
    +
    104 while (a < 0) {
    +
    105 a += m;
    +
    106 }
    +
    107
    +
    108 // Check for invalid cases
    +
    109 if (!isPrime(m) || a == 0) {
    +
    110 return -1; // Invalid input
    +
    111 }
    +
    112
    +
    113 return binExpo(a, m - 2, m); // Fermat's Little Theorem
    +
    114}
    +
    +
    115} // namespace modular_inverse_fermat
    +
    116} // namespace math
    +
    117
    +
    +
    122static void test() {
    +
    123 assert(math::modular_inverse_fermat::modular_inverse(0, 97) == -1);
    +
    124 assert(math::modular_inverse_fermat::modular_inverse(15, -2) == -1);
    +
    125 assert(math::modular_inverse_fermat::modular_inverse(3, 10) == -1);
    +
    126 assert(math::modular_inverse_fermat::modular_inverse(3, 7) == 5);
    +
    127 assert(math::modular_inverse_fermat::modular_inverse(1, 101) == 1);
    +
    128 assert(math::modular_inverse_fermat::modular_inverse(-1337, 285179) == 165519);
    +
    129 assert(math::modular_inverse_fermat::modular_inverse(123456789, 998244353) == 25170271);
    +
    130 assert(math::modular_inverse_fermat::modular_inverse(-9876543210, 1000000007) == 784794281);
    +
    131}
    +
    +
    132
    +
    +
    137int main() {
    +
    138 test(); // run self-test implementation
    +
    139 return 0;
    +
    140}
    +
    +
    int binExpo(int a, int b)
    +
    static void test()
    Self-test implementation.
    +
    bool isPrime(std::int64_t m)
    Check if an integer is a prime number in time.
    +
    int main()
    Main function.
    +
    std::int64_t modular_inverse(std::int64_t a, std::int64_t m)
    calculates the modular inverse.
    +
    for assert
    +
    Calculate modular inverse using Fermat's Little Theorem.
    +
    +
    + + + + diff --git a/d8/d55/class_cycle_check-members.html b/d8/d55/class_cycle_check-members.html index bef008453..c4abde651 100644 --- a/d8/d55/class_cycle_check-members.html +++ b/d8/d55/class_cycle_check-members.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Member List +TheAlgorithms/C++: Member List + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/d8/d61/class_trie__coll__graph.map b/d8/d61/class_trie__coll__graph.map index 08280ac42..933d22160 100644 --- a/d8/d61/class_trie__coll__graph.map +++ b/d8/d61/class_trie__coll__graph.map @@ -1,6 +1,6 @@ - + diff --git a/d8/d61/class_trie__coll__graph.md5 b/d8/d61/class_trie__coll__graph.md5 index c6c9a042e..1d75144b5 100644 --- a/d8/d61/class_trie__coll__graph.md5 +++ b/d8/d61/class_trie__coll__graph.md5 @@ -1 +1 @@ -fb8b0cf95ac5b0bb86c6ba0761090a00 \ No newline at end of file +e277bbd8c2b6ceaca7976c279f58b5ad \ No newline at end of file diff --git a/d8/d61/class_trie__coll__graph.svg b/d8/d61/class_trie__coll__graph.svg index 4e786c84e..d45416628 100644 --- a/d8/d61/class_trie__coll__graph.svg +++ b/d8/d61/class_trie__coll__graph.svg @@ -31,7 +31,7 @@ Node2 - + std::shared_ptr< Trie ::TrieNode > diff --git a/d8/d61/class_trie__coll__graph_org.svg b/d8/d61/class_trie__coll__graph_org.svg index c02a8b1e1..e258a9e2c 100644 --- a/d8/d61/class_trie__coll__graph_org.svg +++ b/d8/d61/class_trie__coll__graph_org.svg @@ -20,7 +20,7 @@ Node2 - + std::shared_ptr< Trie ::TrieNode > diff --git a/d8/d61/radix__sort2_8cpp.html b/d8/d61/radix__sort2_8cpp.html index 18a32e4c1..6943c8590 100644 --- a/d8/d61/radix__sort2_8cpp.html +++ b/d8/d61/radix__sort2_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: sorting/radix_sort2.cpp File Reference +TheAlgorithms/C++: sorting/radix_sort2.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + @@ -123,7 +140,9 @@ Include dependency graph for radix_sort2.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -135,10 +154,10 @@ Namespaces

    Namespaces

    namespace  sorting
    - + - + @@ -155,6 +174,8 @@ Functions

    2) 2nd digit place => 123, 432, 332, 234, 143

    3) 3rd digit place => 123, 143, 234, 332, 432

    using count sort at each step, which is stable. stable => already sorted according to previous digits.

    + +

    Definition in file radix_sort2.cpp.

    Function Documentation

    ◆ main()

    @@ -173,17 +194,14 @@ Functions

    Main function.

    Returns
    0 on exit
    + +

    Definition at line 119 of file radix_sort2.cpp.

    119 {
    120 tests(); // execute the tests
    121 return 0;
    122}
    -
    static void tests()
    Function to test the above algorithm.
    Definition radix_sort2.cpp:104
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static void tests()
    Function to test the above algorithm.
    + @@ -193,9 +211,9 @@ Here is the call graph for this function:

    Functions

    std::vector< uint64_t > sorting::radix_sort::step_ith (uint16_t cur_digit, const std::vector< uint64_t > &ar)
    std::vector< uint64_t > sorting::radix_sort::step_ith (uint16_t cur_digit, const std::vector< uint64_t > &ar)
     Function to sort vector according to current digit using stable sorting.
     
    std::vector< uint64_t > sorting::radix_sort::radix (const std::vector< uint64_t > &ar)
    std::vector< uint64_t > sorting::radix_sort::radix (const std::vector< uint64_t > &ar)
     Function to sort vector digit by digit.
     
    static void tests ()
    - + - +
    std::vector< uint64_t > sorting::radix_sort::radix std::vector< uint64_t > sorting::radix_sort::radix (const std::vector< uint64_t > & ar)const std::vector< uint64_t > & ar)
    @@ -209,33 +227,25 @@ Here is the call graph for this function:
    Returns
    sorted vector
    + +

    Definition at line 82 of file radix_sort2.cpp.

    82 {
    83 uint64_t max_ele =
    -
    84 *max_element(ar.begin(), ar.end()); // returns the max element.
    -
    85 std::vector<uint64_t> temp = ar;
    +
    84 *max_element(ar.begin(), ar.end()); // returns the max element.
    +
    85 std::vector<uint64_t> temp = ar;
    86 for (int i = 1; max_ele / i > 0;
    87 i *= 10) { // loop breaks when i > max_ele because no further digits
    88 // left to makes changes in aray.
    89 temp = step_ith(i, temp);
    90 }
    91 for (uint64_t i : temp) {
    -
    92 std::cout << i << " ";
    +
    92 std::cout << i << " ";
    93 }
    -
    94 std::cout << "\n";
    +
    94 std::cout << "\n";
    95 return temp;
    96}
    - -
    T begin(T... args)
    -
    T end(T... args)
    -
    T max_element(T... args)
    -
    std::vector< uint64_t > step_ith(uint16_t cur_digit, const std::vector< uint64_t > &ar)
    Function to sort vector according to current digit using stable sorting.
    Definition radix_sort2.cpp:51
    - -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    std::vector< uint64_t > step_ith(uint16_t cur_digit, const std::vector< uint64_t > &ar)
    Function to sort vector according to current digit using stable sorting.
    +
    @@ -245,14 +255,14 @@ Here is the call graph for this function:
    - + - +
    std::vector< uint64_t > sorting::radix_sort::step_ith std::vector< uint64_t > sorting::radix_sort::step_ith ( uint16_t cur_digit,
    const std::vector< uint64_t > & ar )const std::vector< uint64_t > & ar )
    @@ -265,10 +275,12 @@ Here is the call graph for this function:
    -
    Returns
    std::vector sorted till ith digit
    +
    Returns
    std::vector sorted till ith digit
    + +

    Definition at line 51 of file radix_sort2.cpp.

    53 { // sorting according to current digit.
    -
    54 int n = ar.size();
    -
    55 std::vector<uint32_t> position(10, 0);
    +
    54 int n = ar.size();
    +
    55 std::vector<uint32_t> position(10, 0);
    56 for (int i = 0; i < n; ++i) {
    57 position[(ar[i] / cur_digit) %
    58 10]++; // counting frequency of 0-9 at cur_digit.
    @@ -279,7 +291,7 @@ Here is the call graph for this function:
    63 position[i] = cur; // assingning starting position of 0-9.
    64 cur += a;
    65 }
    - +
    66 std::vector<uint64_t> temp(n);
    67 for (int i = 0; i < n; ++i) {
    68 temp[position[(ar[i] / cur_digit) % 10]] =
    69 ar[i]; // storing ar[i] in ar[i]'s cur_digit expected position of
    @@ -290,13 +302,7 @@ Here is the call graph for this function:
    74 }
    75 return temp;
    76}
    -
    T size(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -326,25 +332,19 @@ Here is the call graph for this function:
    Returns
    none

    Test 1

    Test 2

    -
    104 {
    -
    105 /// Test 1
    -
    106 std::vector<uint64_t> ar1 = {432, 234, 143, 332, 123};
    + +

    Definition at line 104 of file radix_sort2.cpp.

    +
    104 {
    +
    106 std::vector<uint64_t> ar1 = {432, 234, 143, 332, 123};
    -
    108 assert(std::is_sorted(ar1.begin(), ar1.end()));
    -
    109 /// Test 2
    -
    110 std::vector<uint64_t> ar2 = {213, 3214, 123, 111, 112, 142,
    +
    108 assert(std::is_sorted(ar1.begin(), ar1.end()));
    +
    110 std::vector<uint64_t> ar2 = {213, 3214, 123, 111, 112, 142,
    111 133, 132, 32, 12, 113};
    -
    113 assert(std::is_sorted(ar2.begin(), ar2.end()));
    +
    113 assert(std::is_sorted(ar2.begin(), ar2.end()));
    114}
    -
    T is_sorted(T... args)
    -
    std::vector< uint64_t > radix(const std::vector< uint64_t > &ar)
    Function to sort vector digit by digit.
    Definition radix_sort2.cpp:82
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    std::vector< uint64_t > radix(const std::vector< uint64_t > &ar)
    Function to sort vector digit by digit.
    +
    diff --git a/d8/d61/radix__sort2_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.map b/d8/d61/radix__sort2_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.map deleted file mode 100644 index ed7861e81..000000000 --- a/d8/d61/radix__sort2_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.map +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/d8/d61/radix__sort2_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 b/d8/d61/radix__sort2_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 deleted file mode 100644 index a787cf588..000000000 --- a/d8/d61/radix__sort2_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -56027800def1c95f261c062c01382aba \ No newline at end of file diff --git a/d8/d61/radix__sort2_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.svg b/d8/d61/radix__sort2_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.svg deleted file mode 100644 index a325c6fe7..000000000 --- a/d8/d61/radix__sort2_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.svg +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - - - - - - - -tests - - -Node1 - - -tests - - - - - -Node2 - - -std::vector::begin - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::vector::end - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::is_sorted - - - - - -Node1->Node4 - - - - - - - - - - - - - diff --git a/d8/d61/radix__sort2_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph_org.svg b/d8/d61/radix__sort2_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph_org.svg deleted file mode 100644 index 0231f5cf6..000000000 --- a/d8/d61/radix__sort2_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph_org.svg +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - -tests - - -Node1 - - -tests - - - - - -Node2 - - -std::vector::begin - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::vector::end - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::is_sorted - - - - - -Node1->Node4 - - - - - - - - diff --git a/d8/d61/radix__sort2_8cpp_a98ead7d43b11505398daf9a894f122f9_cgraph.map b/d8/d61/radix__sort2_8cpp_a98ead7d43b11505398daf9a894f122f9_cgraph.map deleted file mode 100644 index a86e654ff..000000000 --- a/d8/d61/radix__sort2_8cpp_a98ead7d43b11505398daf9a894f122f9_cgraph.map +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/d8/d61/radix__sort2_8cpp_a98ead7d43b11505398daf9a894f122f9_cgraph.md5 b/d8/d61/radix__sort2_8cpp_a98ead7d43b11505398daf9a894f122f9_cgraph.md5 deleted file mode 100644 index 56260ccf9..000000000 --- a/d8/d61/radix__sort2_8cpp_a98ead7d43b11505398daf9a894f122f9_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -9e62c5300cc4e7d102c1b225096a9f12 \ No newline at end of file diff --git a/d8/d61/radix__sort2_8cpp_a98ead7d43b11505398daf9a894f122f9_cgraph.svg b/d8/d61/radix__sort2_8cpp_a98ead7d43b11505398daf9a894f122f9_cgraph.svg deleted file mode 100644 index 5e9719cd9..000000000 --- a/d8/d61/radix__sort2_8cpp_a98ead7d43b11505398daf9a894f122f9_cgraph.svg +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - - - - - - - -sorting::radix_sort::step_ith - - -Node1 - - -sorting::radix_sort -::step_ith - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::vector::size - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d8/d61/radix__sort2_8cpp_a98ead7d43b11505398daf9a894f122f9_cgraph_org.svg b/d8/d61/radix__sort2_8cpp_a98ead7d43b11505398daf9a894f122f9_cgraph_org.svg deleted file mode 100644 index 0af602add..000000000 --- a/d8/d61/radix__sort2_8cpp_a98ead7d43b11505398daf9a894f122f9_cgraph_org.svg +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - -sorting::radix_sort::step_ith - - -Node1 - - -sorting::radix_sort -::step_ith - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::vector::size - - - - - -Node1->Node2 - - - - - - - - diff --git a/d8/d61/radix__sort2_8cpp_ae0cfd94fa3765b53d4ec7893ffaee5f8_cgraph.map b/d8/d61/radix__sort2_8cpp_ae0cfd94fa3765b53d4ec7893ffaee5f8_cgraph.map deleted file mode 100644 index 7459a5d58..000000000 --- a/d8/d61/radix__sort2_8cpp_ae0cfd94fa3765b53d4ec7893ffaee5f8_cgraph.map +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - diff --git a/d8/d61/radix__sort2_8cpp_ae0cfd94fa3765b53d4ec7893ffaee5f8_cgraph.md5 b/d8/d61/radix__sort2_8cpp_ae0cfd94fa3765b53d4ec7893ffaee5f8_cgraph.md5 deleted file mode 100644 index db693d0e4..000000000 --- a/d8/d61/radix__sort2_8cpp_ae0cfd94fa3765b53d4ec7893ffaee5f8_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -840724ee42e26fbb5ce4268f1a2a59a3 \ No newline at end of file diff --git a/d8/d61/radix__sort2_8cpp_ae0cfd94fa3765b53d4ec7893ffaee5f8_cgraph.svg b/d8/d61/radix__sort2_8cpp_ae0cfd94fa3765b53d4ec7893ffaee5f8_cgraph.svg deleted file mode 100644 index 5e9266256..000000000 --- a/d8/d61/radix__sort2_8cpp_ae0cfd94fa3765b53d4ec7893ffaee5f8_cgraph.svg +++ /dev/null @@ -1,139 +0,0 @@ - - - - - - - - - - - - -sorting::radix_sort::radix - - -Node1 - - -sorting::radix_sort -::radix - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::vector::begin - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::vector::end - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -sorting::radix_sort -::step_ith - - - - - -Node1->Node4 - - - - - - - - -Node4->Node4 - - - - - - - - -Node5 - - -std::vector::size - - - - - -Node4->Node5 - - - - - - - - - - - - - diff --git a/d8/d61/radix__sort2_8cpp_ae0cfd94fa3765b53d4ec7893ffaee5f8_cgraph_org.svg b/d8/d61/radix__sort2_8cpp_ae0cfd94fa3765b53d4ec7893ffaee5f8_cgraph_org.svg deleted file mode 100644 index d4bbddf5c..000000000 --- a/d8/d61/radix__sort2_8cpp_ae0cfd94fa3765b53d4ec7893ffaee5f8_cgraph_org.svg +++ /dev/null @@ -1,113 +0,0 @@ - - - - - - -sorting::radix_sort::radix - - -Node1 - - -sorting::radix_sort -::radix - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::vector::begin - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::vector::end - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -sorting::radix_sort -::step_ith - - - - - -Node1->Node4 - - - - - - - - -Node4->Node4 - - - - - - - - -Node5 - - -std::vector::size - - - - - -Node4->Node5 - - - - - - - - diff --git a/d8/d61/radix__sort2_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d8/d61/radix__sort2_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 374aa53f6..000000000 --- a/d8/d61/radix__sort2_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/d8/d61/radix__sort2_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d8/d61/radix__sort2_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index 140dba9d7..000000000 --- a/d8/d61/radix__sort2_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -2912b09813e12c11098b17af2c57ed52 \ No newline at end of file diff --git a/d8/d61/radix__sort2_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d8/d61/radix__sort2_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 7c116d436..000000000 --- a/d8/d61/radix__sort2_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,119 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -tests - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::vector::begin - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::vector::end - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -std::is_sorted - - - - - -Node2->Node5 - - - - - - - - - - - - - diff --git a/d8/d61/radix__sort2_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d8/d61/radix__sort2_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 0ac12ba21..000000000 --- a/d8/d61/radix__sort2_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,93 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -tests - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::vector::begin - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::vector::end - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -std::is_sorted - - - - - -Node2->Node5 - - - - - - - - diff --git a/d8/d61/radix__sort2_8cpp_source.html b/d8/d61/radix__sort2_8cpp_source.html new file mode 100644 index 000000000..eb5f2f962 --- /dev/null +++ b/d8/d61/radix__sort2_8cpp_source.html @@ -0,0 +1,218 @@ + + + + + + + + +TheAlgorithms/C++: sorting/radix_sort2.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    radix_sort2.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    26
    +
    27#include <algorithm>
    +
    28#include <cassert>
    +
    29#include <cstdint>
    +
    30#include <iostream>
    +
    31#include <vector>
    +
    32
    +
    37namespace sorting {
    +
    43namespace radix_sort {
    +
    +
    51std::vector<uint64_t> step_ith(
    +
    52 uint16_t cur_digit,
    +
    53 const std::vector<uint64_t>& ar) { // sorting according to current digit.
    +
    54 int n = ar.size();
    +
    55 std::vector<uint32_t> position(10, 0);
    +
    56 for (int i = 0; i < n; ++i) {
    +
    57 position[(ar[i] / cur_digit) %
    +
    58 10]++; // counting frequency of 0-9 at cur_digit.
    +
    59 }
    +
    60 int cur = 0;
    +
    61 for (int i = 0; i < 10; ++i) {
    +
    62 int a = position[i];
    +
    63 position[i] = cur; // assingning starting position of 0-9.
    +
    64 cur += a;
    +
    65 }
    +
    66 std::vector<uint64_t> temp(n);
    +
    67 for (int i = 0; i < n; ++i) {
    +
    68 temp[position[(ar[i] / cur_digit) % 10]] =
    +
    69 ar[i]; // storing ar[i] in ar[i]'s cur_digit expected position of
    +
    70 // this step.
    +
    71 position[(ar[i] / cur_digit) %
    +
    72 10]++; // incrementing ar[i]'s cur_digit position by 1, as
    +
    73 // current place used by ar[i].
    +
    74 }
    +
    75 return temp;
    +
    76}
    +
    +
    +
    82std::vector<uint64_t> radix(const std::vector<uint64_t>& ar) {
    +
    83 uint64_t max_ele =
    +
    84 *max_element(ar.begin(), ar.end()); // returns the max element.
    +
    85 std::vector<uint64_t> temp = ar;
    +
    86 for (int i = 1; max_ele / i > 0;
    +
    87 i *= 10) { // loop breaks when i > max_ele because no further digits
    +
    88 // left to makes changes in aray.
    +
    89 temp = step_ith(i, temp);
    +
    90 }
    +
    91 for (uint64_t i : temp) {
    +
    92 std::cout << i << " ";
    +
    93 }
    +
    94 std::cout << "\n";
    +
    95 return temp;
    +
    96}
    +
    +
    97} // namespace radix_sort
    +
    98} // namespace sorting
    +
    99
    +
    +
    104static void tests() {
    +
    106 std::vector<uint64_t> ar1 = {432, 234, 143, 332, 123};
    +
    107 ar1 = sorting::radix_sort::radix(ar1);
    +
    108 assert(std::is_sorted(ar1.begin(), ar1.end()));
    +
    110 std::vector<uint64_t> ar2 = {213, 3214, 123, 111, 112, 142,
    +
    111 133, 132, 32, 12, 113};
    +
    112 ar2 = sorting::radix_sort::radix(ar2);
    +
    113 assert(std::is_sorted(ar2.begin(), ar2.end()));
    +
    114}
    +
    +
    +
    119int main() {
    +
    120 tests(); // execute the tests
    +
    121 return 0;
    +
    122}
    +
    +
    Functions for Radix sort algorithm.
    +
    for working with vectors
    +
    static void tests()
    Function to test the above algorithm.
    +
    std::vector< uint64_t > step_ith(uint16_t cur_digit, const std::vector< uint64_t > &ar)
    Function to sort vector according to current digit using stable sorting.
    +
    std::vector< uint64_t > radix(const std::vector< uint64_t > &ar)
    Function to sort vector digit by digit.
    +
    int main()
    Main function.
    +
    +
    + + + + diff --git a/d8/d64/namespaceboruvkas__minimum__spanning__tree.html b/d8/d64/namespaceboruvkas__minimum__spanning__tree.html index 2910f4bb8..df7fadee2 100644 --- a/d8/d64/namespaceboruvkas__minimum__spanning__tree.html +++ b/d8/d64/namespaceboruvkas__minimum__spanning__tree.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: boruvkas_minimum_spanning_tree Namespace Reference +TheAlgorithms/C++: boruvkas_minimum_spanning_tree Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/d8/d68/dijkstra_8cpp.html b/d8/d68/dijkstra_8cpp.html index f8eae6880..b2d695bf6 100644 --- a/d8/d68/dijkstra_8cpp.html +++ b/d8/d68/dijkstra_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: graph/dijkstra.cpp File Reference +TheAlgorithms/C++: graph/dijkstra.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + @@ -126,7 +143,9 @@ Include dependency graph for dijkstra.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -135,10 +154,10 @@ Namespaces

    Namespaces

    namespace  graph
    - + - + @@ -148,8 +167,7 @@ Functions

    Functions

    void graph::addEdge (std::vector< std::vector< std::pair< int, int > > > *adj, int u, int v, int w)
    void graph::addEdge (std::vector< std::vector< std::pair< int, int > > > *adj, int u, int v, int w)
     Function that add edge between two nodes or vertices of graph.
     
    int graph::dijkstra (std::vector< std::vector< std::pair< int, int > > > *adj, int s, int t)
    int graph::dijkstra (std::vector< std::vector< std::pair< int, int > > > *adj, int s, int t)
     Function runs the dijkstra algorithm for some source vertex and target vertex in the graph and returns the shortest distance of target from the source.
     
    void tests ()
    - +

    Variables

    -constexpr int64_t INF = std::numeric_limits<int64_t>::max()
    constexpr int64_t INF = std::numeric_limits<int64_t>::max()
     

    Detailed Description

    @@ -158,6 +176,8 @@ constexpr int64_t INF

    Dijkstra's Algorithm is used to find the shortest path from a source vertex to all other reachable vertex in the graph. The algorithm initially assumes all the nodes are unreachable from the given source vertex so we mark the distances of all vertices as INF (infinity) from source vertex (INF / infinity denotes unable to reach).

    in similar fashion with BFS we assume the distance of source vertex as 0 and pushes the vertex in a priority queue with it's distance. we maintain the priority queue as a min heap so that we can get the minimum element at the top of heap

    Basically what we do in this algorithm is that we try to minimize the distances of all the reachable vertices from the current vertex, look at the code below to understand in better way.

    + +

    Definition in file dijkstra.cpp.

    Function Documentation

    ◆ main()

    @@ -174,49 +194,41 @@ constexpr int64_t INF

    Main function

    + +

    Definition at line 152 of file dijkstra.cpp.

    152 {
    153 // running predefined tests
    154 tests();
    155
    156 int vertices = int(), edges = int();
    -
    157 std::cout << "Enter the number of vertices : ";
    -
    158 std::cin >> vertices;
    -
    159 std::cout << "Enter the number of edges : ";
    -
    160 std::cin >> edges;
    +
    157 std::cout << "Enter the number of vertices : ";
    +
    158 std::cin >> vertices;
    +
    159 std::cout << "Enter the number of edges : ";
    +
    160 std::cin >> edges;
    161
    - -
    163 vertices, std::vector<std::pair<int, int>>());
    +
    162 std::vector<std::vector<std::pair<int, int>>> adj(
    +
    163 vertices, std::vector<std::pair<int, int>>());
    164
    165 int u = int(), v = int(), w = int();
    166 while (edges--) {
    -
    167 std::cin >> u >> v >> w;
    +
    167 std::cin >> u >> v >> w;
    168 graph::addEdge(&adj, u, v, w);
    169 }
    170
    171 int s = int(), t = int();
    -
    172 std::cin >> s >> t;
    +
    172 std::cin >> s >> t;
    173 int dist = graph::dijkstra(&adj, s - 1, t - 1);
    174 if (dist == -1) {
    -
    175 std::cout << "Target not reachable from source" << std::endl;
    +
    175 std::cout << "Target not reachable from source" << std::endl;
    176 } else {
    -
    177 std::cout << "Shortest Path Distance : " << dist << std::endl;
    +
    177 std::cout << "Shortest Path Distance : " << dist << std::endl;
    178 }
    179 return 0;
    180}
    - - -
    void tests()
    Definition dijkstra.cpp:113
    -
    T endl(T... args)
    -
    void addEdge(std::vector< std::vector< int > > *adj, int u, int v)
    Function that add edge between two nodes or vertices of graph.
    Definition connected_components.cpp:46
    -
    int dijkstra(std::vector< std::vector< std::pair< int, int > > > *adj, int s, int t)
    Function runs the dijkstra algorithm for some source vertex and target vertex in the graph and return...
    Definition dijkstra.cpp:66
    - - -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    void tests()
    Definition dijkstra.cpp:113
    +
    void addEdge(std::vector< std::vector< int > > *adj, int u, int v)
    Function that add edge between two nodes or vertices of graph.
    +
    int dijkstra(std::vector< std::vector< std::pair< int, int > > > *adj, int s, int t)
    Function runs the dijkstra algorithm for some source vertex and target vertex in the graph and return...
    Definition dijkstra.cpp:66
    +
    @@ -234,11 +246,13 @@ Here is the call graph for this function:

    Function to test the Algorithm

    + +

    Definition at line 113 of file dijkstra.cpp.

    113 {
    -
    114 std::cout << "Initiatinig Predefined Tests..." << std::endl;
    -
    115 std::cout << "Initiating Test 1..." << std::endl;
    - - +
    114 std::cout << "Initiatinig Predefined Tests..." << std::endl;
    +
    115 std::cout << "Initiating Test 1..." << std::endl;
    +
    116 std::vector<std::vector<std::pair<int, int>>> adj1(
    +
    117 4, std::vector<std::pair<int, int>>());
    118 graph::addEdge(&adj1, 1, 2, 1);
    119 graph::addEdge(&adj1, 4, 1, 2);
    120 graph::addEdge(&adj1, 2, 3, 2);
    @@ -246,15 +260,15 @@ Here is the call graph for this function:
    122
    123 int s = 1, t = 3;
    124 assert(graph::dijkstra(&adj1, s - 1, t - 1) == 3);
    -
    125 std::cout << "Test 1 Passed..." << std::endl;
    +
    125 std::cout << "Test 1 Passed..." << std::endl;
    126
    127 s = 4, t = 3;
    -
    128 std::cout << "Initiating Test 2..." << std::endl;
    +
    128 std::cout << "Initiating Test 2..." << std::endl;
    129 assert(graph::dijkstra(&adj1, s - 1, t - 1) == 5);
    -
    130 std::cout << "Test 2 Passed..." << std::endl;
    +
    130 std::cout << "Test 2 Passed..." << std::endl;
    131
    - - +
    132 std::vector<std::vector<std::pair<int, int>>> adj2(
    +
    133 5, std::vector<std::pair<int, int>>());
    134 graph::addEdge(&adj2, 1, 2, 4);
    135 graph::addEdge(&adj2, 1, 3, 2);
    136 graph::addEdge(&adj2, 2, 3, 2);
    @@ -266,16 +280,36 @@ Here is the call graph for this function:
    142 graph::addEdge(&adj2, 3, 4, 4);
    143
    144 s = 1, t = 5;
    -
    145 std::cout << "Initiating Test 3..." << std::endl;
    +
    145 std::cout << "Initiating Test 3..." << std::endl;
    146 assert(graph::dijkstra(&adj2, s - 1, t - 1) == 6);
    -
    147 std::cout << "Test 3 Passed..." << std::endl;
    -
    148 std::cout << "All Test Passed..." << std::endl << std::endl;
    +
    147 std::cout << "Test 3 Passed..." << std::endl;
    +
    148 std::cout << "All Test Passed..." << std::endl << std::endl;
    149}
    -
    -Here is the call graph for this function:
    -
    -
    +
    + +

    Variable Documentation

    + +

    ◆ INF

    + +
    +
    + + + + + +
    + + + + +
    int64_t INF = std::numeric_limits<int64_t>::max()
    +
    +constexpr
    +
    + +

    Definition at line 34 of file dijkstra.cpp.

    diff --git a/d8/d68/dijkstra_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph.map b/d8/d68/dijkstra_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph.map deleted file mode 100644 index ff3c5207c..000000000 --- a/d8/d68/dijkstra_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph.map +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - diff --git a/d8/d68/dijkstra_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph.md5 b/d8/d68/dijkstra_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph.md5 deleted file mode 100644 index d1e0cf246..000000000 --- a/d8/d68/dijkstra_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -2221263dd126629f7dc03bda250a317e \ No newline at end of file diff --git a/d8/d68/dijkstra_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph.svg b/d8/d68/dijkstra_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph.svg deleted file mode 100644 index dba976f4e..000000000 --- a/d8/d68/dijkstra_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph.svg +++ /dev/null @@ -1,211 +0,0 @@ - - - - - - - - - - - - -tests - - -Node1 - - -tests - - - - - -Node2 - - -graph::addEdge - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -graph::dijkstra - - - - - -Node1->Node3 - - - - - - - - -Node10 - - -std::endl - - - - - -Node1->Node10 - - - - - - - - -Node4 - - -std::priority_queue -::empty - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -std::make_pair - - - - - -Node3->Node5 - - - - - - - - -Node6 - - -std::priority_queue::pop - - - - - -Node3->Node6 - - - - - - - - -Node7 - - -std::priority_queue -::push - - - - - -Node3->Node7 - - - - - - - - -Node8 - - -std::vector::size - - - - - -Node3->Node8 - - - - - - - - -Node9 - - -std::priority_queue::top - - - - - -Node3->Node9 - - - - - - - - - - - - - diff --git a/d8/d68/dijkstra_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph_org.svg b/d8/d68/dijkstra_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph_org.svg deleted file mode 100644 index 0e8e74545..000000000 --- a/d8/d68/dijkstra_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph_org.svg +++ /dev/null @@ -1,185 +0,0 @@ - - - - - - -tests - - -Node1 - - -tests - - - - - -Node2 - - -graph::addEdge - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -graph::dijkstra - - - - - -Node1->Node3 - - - - - - - - -Node10 - - -std::endl - - - - - -Node1->Node10 - - - - - - - - -Node4 - - -std::priority_queue -::empty - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -std::make_pair - - - - - -Node3->Node5 - - - - - - - - -Node6 - - -std::priority_queue::pop - - - - - -Node3->Node6 - - - - - - - - -Node7 - - -std::priority_queue -::push - - - - - -Node3->Node7 - - - - - - - - -Node8 - - -std::vector::size - - - - - -Node3->Node8 - - - - - - - - -Node9 - - -std::priority_queue::top - - - - - -Node3->Node9 - - - - - - - - diff --git a/d8/d68/dijkstra_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d8/d68/dijkstra_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 330136905..000000000 --- a/d8/d68/dijkstra_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d8/d68/dijkstra_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d8/d68/dijkstra_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index 51e3ca322..000000000 --- a/d8/d68/dijkstra_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -c5330016e17cc7e92c44fc51975fad8f \ No newline at end of file diff --git a/d8/d68/dijkstra_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d8/d68/dijkstra_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 624b05576..000000000 --- a/d8/d68/dijkstra_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,256 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -graph::addEdge - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -graph::dijkstra - - - - - -Node1->Node3 - - - - - - - - -Node10 - - -std::endl - - - - - -Node1->Node10 - - - - - - - - -Node11 - - -tests - - - - - -Node1->Node11 - - - - - - - - -Node4 - - -std::priority_queue -::empty - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -std::make_pair - - - - - -Node3->Node5 - - - - - - - - -Node6 - - -std::priority_queue::pop - - - - - -Node3->Node6 - - - - - - - - -Node7 - - -std::priority_queue -::push - - - - - -Node3->Node7 - - - - - - - - -Node8 - - -std::vector::size - - - - - -Node3->Node8 - - - - - - - - -Node9 - - -std::priority_queue::top - - - - - -Node3->Node9 - - - - - - - - -Node11->Node2 - - - - - - - - -Node11->Node3 - - - - - - - - -Node11->Node10 - - - - - - - - - - - - - diff --git a/d8/d68/dijkstra_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d8/d68/dijkstra_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 04da8bdff..000000000 --- a/d8/d68/dijkstra_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,230 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -graph::addEdge - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -graph::dijkstra - - - - - -Node1->Node3 - - - - - - - - -Node10 - - -std::endl - - - - - -Node1->Node10 - - - - - - - - -Node11 - - -tests - - - - - -Node1->Node11 - - - - - - - - -Node4 - - -std::priority_queue -::empty - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -std::make_pair - - - - - -Node3->Node5 - - - - - - - - -Node6 - - -std::priority_queue::pop - - - - - -Node3->Node6 - - - - - - - - -Node7 - - -std::priority_queue -::push - - - - - -Node3->Node7 - - - - - - - - -Node8 - - -std::vector::size - - - - - -Node3->Node8 - - - - - - - - -Node9 - - -std::priority_queue::top - - - - - -Node3->Node9 - - - - - - - - -Node11->Node2 - - - - - - - - -Node11->Node3 - - - - - - - - -Node11->Node10 - - - - - - - - diff --git a/d8/d68/dijkstra_8cpp_source.html b/d8/d68/dijkstra_8cpp_source.html new file mode 100644 index 000000000..e2d09cb25 --- /dev/null +++ b/d8/d68/dijkstra_8cpp_source.html @@ -0,0 +1,270 @@ + + + + + + + + +TheAlgorithms/C++: graph/dijkstra.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    dijkstra.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    26#include <cassert>
    +
    27#include <iostream>
    +
    28#include <limits>
    +
    29#include <memory>
    +
    30#include <queue>
    +
    31#include <utility>
    +
    32#include <vector>
    +
    33
    +
    34constexpr int64_t INF = std::numeric_limits<int64_t>::max();
    +
    35
    +
    41namespace graph {
    +
    +
    48void addEdge(std::vector<std::vector<std::pair<int, int>>> *adj, int u, int v,
    +
    49 int w) {
    +
    50 (*adj)[u - 1].push_back(std::make_pair(v - 1, w));
    +
    51 // (*adj)[v - 1].push_back(std::make_pair(u - 1, w));
    +
    52}
    +
    +
    53
    +
    +
    66int dijkstra(std::vector<std::vector<std::pair<int, int>>> *adj, int s, int t) {
    +
    68 int n = adj->size();
    +
    69
    +
    71 std::vector<int64_t> dist(n, INF);
    +
    72
    +
    76 std::priority_queue<std::pair<int, int>, std::vector<std::pair<int, int>>,
    +
    77 std::greater<std::pair<int, int>>>
    +
    78 pq;
    +
    79
    +
    81 pq.push(std::make_pair(0, s));
    +
    82
    +
    84 dist[s] = 0;
    +
    85
    +
    86 while (!pq.empty()) {
    +
    88 int currentNode = pq.top().second;
    +
    89
    +
    91 int currentDist = pq.top().first;
    +
    92
    +
    93 pq.pop();
    +
    94
    +
    97 for (std::pair<int, int> edge : (*adj)[currentNode]) {
    +
    99 if (currentDist + edge.second < dist[edge.first]) {
    +
    100 dist[edge.first] = currentDist + edge.second;
    +
    101 pq.push(std::make_pair(dist[edge.first], edge.first));
    +
    102 }
    +
    103 }
    +
    104 }
    +
    105 if (dist[t] != INF) {
    +
    106 return dist[t];
    +
    107 }
    +
    108 return -1;
    +
    109}
    +
    +
    110} // namespace graph
    +
    111
    +
    +
    113void tests() {
    +
    114 std::cout << "Initiatinig Predefined Tests..." << std::endl;
    +
    115 std::cout << "Initiating Test 1..." << std::endl;
    +
    116 std::vector<std::vector<std::pair<int, int>>> adj1(
    +
    117 4, std::vector<std::pair<int, int>>());
    +
    118 graph::addEdge(&adj1, 1, 2, 1);
    +
    119 graph::addEdge(&adj1, 4, 1, 2);
    +
    120 graph::addEdge(&adj1, 2, 3, 2);
    +
    121 graph::addEdge(&adj1, 1, 3, 5);
    +
    122
    +
    123 int s = 1, t = 3;
    +
    124 assert(graph::dijkstra(&adj1, s - 1, t - 1) == 3);
    +
    125 std::cout << "Test 1 Passed..." << std::endl;
    +
    126
    +
    127 s = 4, t = 3;
    +
    128 std::cout << "Initiating Test 2..." << std::endl;
    +
    129 assert(graph::dijkstra(&adj1, s - 1, t - 1) == 5);
    +
    130 std::cout << "Test 2 Passed..." << std::endl;
    +
    131
    +
    132 std::vector<std::vector<std::pair<int, int>>> adj2(
    +
    133 5, std::vector<std::pair<int, int>>());
    +
    134 graph::addEdge(&adj2, 1, 2, 4);
    +
    135 graph::addEdge(&adj2, 1, 3, 2);
    +
    136 graph::addEdge(&adj2, 2, 3, 2);
    +
    137 graph::addEdge(&adj2, 3, 2, 1);
    +
    138 graph::addEdge(&adj2, 2, 4, 2);
    +
    139 graph::addEdge(&adj2, 3, 5, 4);
    +
    140 graph::addEdge(&adj2, 5, 4, 1);
    +
    141 graph::addEdge(&adj2, 2, 5, 3);
    +
    142 graph::addEdge(&adj2, 3, 4, 4);
    +
    143
    +
    144 s = 1, t = 5;
    +
    145 std::cout << "Initiating Test 3..." << std::endl;
    +
    146 assert(graph::dijkstra(&adj2, s - 1, t - 1) == 6);
    +
    147 std::cout << "Test 3 Passed..." << std::endl;
    +
    148 std::cout << "All Test Passed..." << std::endl << std::endl;
    +
    149}
    +
    +
    150
    +
    +
    152int main() {
    +
    153 // running predefined tests
    +
    154 tests();
    +
    155
    +
    156 int vertices = int(), edges = int();
    +
    157 std::cout << "Enter the number of vertices : ";
    +
    158 std::cin >> vertices;
    +
    159 std::cout << "Enter the number of edges : ";
    +
    160 std::cin >> edges;
    +
    161
    +
    162 std::vector<std::vector<std::pair<int, int>>> adj(
    +
    163 vertices, std::vector<std::pair<int, int>>());
    +
    164
    +
    165 int u = int(), v = int(), w = int();
    +
    166 while (edges--) {
    +
    167 std::cin >> u >> v >> w;
    +
    168 graph::addEdge(&adj, u, v, w);
    +
    169 }
    +
    170
    +
    171 int s = int(), t = int();
    +
    172 std::cin >> s >> t;
    +
    173 int dist = graph::dijkstra(&adj, s - 1, t - 1);
    +
    174 if (dist == -1) {
    +
    175 std::cout << "Target not reachable from source" << std::endl;
    +
    176 } else {
    +
    177 std::cout << "Shortest Path Distance : " << dist << std::endl;
    +
    178 }
    +
    179 return 0;
    +
    180}
    +
    +
    constexpr int64_t INF
    for assert
    +
    void tests()
    Definition dijkstra.cpp:113
    +
    int main()
    Definition dijkstra.cpp:152
    +
    Graph Algorithms.
    +
    void addEdge(std::vector< std::vector< int > > *adj, int u, int v)
    Function that add edge between two nodes or vertices of graph.
    +
    int dijkstra(std::vector< std::vector< std::pair< int, int > > > *adj, int s, int t)
    Function runs the dijkstra algorithm for some source vertex and target vertex in the graph and return...
    Definition dijkstra.cpp:66
    +
    +
    + + + + diff --git a/d8/d69/classgraph_1_1_h_k_graph.html b/d8/d69/classgraph_1_1_h_k_graph.html index 8c4f2185d..926f3520f 100644 --- a/d8/d69/classgraph_1_1_h_k_graph.html +++ b/d8/d69/classgraph_1_1_h_k_graph.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: graph::HKGraph Class Reference +TheAlgorithms/C++: graph::HKGraph Class Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -154,25 +171,23 @@ Private Attributes - - + + - - + + - - + + - - + +
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
     
    const int INF {INT_MAX}
     
    -std::vector< std::list< int > > adj
     adj[u] stores adjacents of left side and 0 is used for dummy vertex
    std::vector< std::list< int > > adj
     adj[u] stores adjacents of left side and 0 is used for dummy vertex
     
    -std::vector< int > pair_u
     value of vertex 'u' ranges from 1 to m
    std::vector< int > pair_u
     value of vertex 'u' ranges from 1 to m
     
    -std::vector< int > pair_v
     value of vertex 'v' ranges from 1 to n
    std::vector< int > pair_v
     value of vertex 'v' ranges from 1 to n
     
    -std::vector< int > dist
     dist represents the distance between vertex 'u' and vertex 'v'
    std::vector< int > dist
     dist represents the distance between vertex 'u' and vertex 'v'
     

    Detailed Description

    Represents Bipartite graph for Hopcroft Karp implementation.

    + +

    Definition at line 66 of file hopcroft_karp.cpp.

    Constructor & Destructor Documentation

    ◆ HKGraph()

    @@ -201,15 +216,16 @@ Private Attributes + +

    Definition at line 231 of file hopcroft_karp.cpp.

    231 {
    232 this->m = m;
    233 this->n = n;
    - +
    234 adj = std::vector<std::list<int> >(m + 1);
    235}
    -
    std::vector< std::list< int > > adj
    adj[u] stores adjacents of left side and 0 is used for dummy vertex
    Definition hopcroft_karp.cpp:73
    -
    int m
    m is the number of vertices on left side of Bipartite Graph
    Definition hopcroft_karp.cpp:68
    -
    int n
    n is the number of vertices on right side of Bipartite Graph
    Definition hopcroft_karp.cpp:69
    - +
    std::vector< std::list< int > > adj
    adj[u] stores adjacents of left side and 0 is used for dummy vertex
    +
    int m
    m is the number of vertices on left side of Bipartite Graph
    +
    int n
    n is the number of vertices on right side of Bipartite Graph
    @@ -241,16 +257,12 @@ Private Attributes -
    243{
    -
    244 adj[u].push_back(v); // Add v to u’s list.
    -
    245}
    -
    T push_back(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    +

    Definition at line 242 of file hopcroft_karp.cpp.

    +
    243{
    +
    244 adj[u].push_back(v); // Add v to u’s list.
    +
    245}
    +
    @@ -272,8 +284,10 @@ Here is the call graph for this function:
    Returns
    true if there is an augmenting path available
    false if there is no augmenting path available
    + +

    Definition at line 133 of file hopcroft_karp.cpp.

    134{
    -
    135 std::queue<int> q; // an integer queue for bfs
    +
    135 std::queue<int> q; // an integer queue for bfs
    136
    137 // First layer of vertices (set distance as 0)
    138 for (int u = 1; u <= m; u++)
    @@ -304,7 +318,7 @@ Here is the call graph for this function:
    163 {
    164 // Get all the adjacent vertices of the dequeued vertex u
    165 std::list<int>::iterator it;
    -
    166 for (it = adj[u].begin(); it != adj[u].end(); ++it)
    +
    166 for (it = adj[u].begin(); it != adj[u].end(); ++it)
    167 {
    168 int v = *it;
    169
    @@ -322,18 +336,10 @@ Here is the call graph for this function:
    181
    182 return (dist[NIL] != INF); // If we could come back to NIL using alternating path of distinct vertices then there is an augmenting path available
    183}
    -
    T begin(T... args)
    -
    std::vector< int > dist
    dist represents the distance between vertex 'u' and vertex 'v'
    Definition hopcroft_karp.cpp:77
    -
    std::vector< int > pair_u
    value of vertex 'u' ranges from 1 to m
    Definition hopcroft_karp.cpp:75
    -
    std::vector< int > pair_v
    value of vertex 'v' ranges from 1 to n
    Definition hopcroft_karp.cpp:76
    -
    T end(T... args)
    - -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    std::vector< int > dist
    dist represents the distance between vertex 'u' and vertex 'v'
    +
    std::vector< int > pair_u
    value of vertex 'u' ranges from 1 to m
    +
    std::vector< int > pair_v
    value of vertex 'v' ranges from 1 to n
    + @@ -361,11 +367,13 @@ Here is the call graph for this function:
    Returns
    true if there is an augmenting path beginning with free vertex u
    false if there is no augmenting path beginning with free vertex u
    + +

    Definition at line 191 of file hopcroft_karp.cpp.

    192{
    193 if (u != NIL)
    194 {
    195 std::list<int>::iterator it;
    -
    196 for (it = adj[u].begin(); it != adj[u].end(); ++it)
    +
    196 for (it = adj[u].begin(); it != adj[u].end(); ++it)
    197 {
    198
    199 int v = *it; // Adjacent vertex of u
    @@ -389,13 +397,8 @@ Here is the call graph for this function:
    217 }
    218 return true;
    219}
    -
    bool dfs(int u)
    This functions checks whether an augmenting path is available exists beginning with free vertex u.
    Definition hopcroft_karp.cpp:191
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    bool dfs(int u)
    This functions checks whether an augmenting path is available exists beginning with free vertex u.
    + @@ -415,17 +418,19 @@ Here is the call graph for this function:

    This function counts the number of augmenting paths between left and right sides of the Bipartite graph.

    Returns
    size of maximum matching
    + +

    Definition at line 95 of file hopcroft_karp.cpp.

    96{
    97
    98 // pair_u[u] stores pair of u in matching on left side of Bipartite Graph.
    99 // If u doesn't have any pair, then pair_u[u] is NIL
    -
    100 pair_u = std::vector<int>(m + 1,NIL);
    +
    100 pair_u = std::vector<int>(m + 1,NIL);
    101
    102 // pair_v[v] stores pair of v in matching on right side of Biparite Graph.
    103 // If v doesn't have any pair, then pair_u[v] is NIL
    -
    104 pair_v = std::vector<int>(n + 1,NIL);
    +
    104 pair_v = std::vector<int>(n + 1,NIL);
    105
    -
    106 dist = std::vector<int>(m + 1); // dist[u] stores distance of left side vertices
    +
    106 dist = std::vector<int>(m + 1); // dist[u] stores distance of left side vertices
    107
    108 int result = 0; // Initialize result
    109
    @@ -445,17 +450,64 @@ Here is the call graph for this function:
    123 }
    124 return result;
    125}
    -
    bool bfs()
    This function checks for the possibility of augmented path availability.
    Definition hopcroft_karp.cpp:133
    -
    uint64_t result(uint64_t n)
    Definition fibonacci_sum.cpp:77
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    bool bfs()
    This function checks for the possibility of augmented path availability.
    +
    uint64_t result(uint64_t n)
    +

    Member Data Documentation

    + +

    ◆ adj

    + +
    +
    + + + + + +
    + + + + +
    std::vector<std::list<int> > graph::HKGraph::adj
    +
    +private
    +
    + +

    adj[u] stores adjacents of left side and 0 is used for dummy vertex

    + +

    Definition at line 73 of file hopcroft_karp.cpp.

    + +
    +
    + +

    ◆ dist

    + +
    +
    + + + + + +
    + + + + +
    std::vector<int> graph::HKGraph::dist
    +
    +private
    +
    + +

    dist represents the distance between vertex 'u' and vertex 'v'

    + +

    Definition at line 77 of file hopcroft_karp.cpp.

    + +
    +

    ◆ INF

    @@ -475,6 +527,8 @@ Here is the call graph for this function:
    + +

    Definition at line 71 of file hopcroft_karp.cpp.

    71{INT_MAX};
    @@ -500,7 +554,9 @@ Here is the call graph for this function:

    m is the number of vertices on left side of Bipartite Graph

    -
    68{}; ///< m is the number of vertices on left side of Bipartite Graph
    + +

    Definition at line 68 of file hopcroft_karp.cpp.

    +
    68{};
    @@ -525,7 +581,9 @@ Here is the call graph for this function:

    n is the number of vertices on right side of Bipartite Graph

    -
    69{}; ///< n is the number of vertices on right side of Bipartite Graph
    + +

    Definition at line 69 of file hopcroft_karp.cpp.

    +
    69{};
    @@ -548,12 +606,66 @@ Here is the call graph for this function:
    + +

    Definition at line 70 of file hopcroft_karp.cpp.

    70{0};
    +
    + + +

    ◆ pair_u

    + +
    +
    + + + + + +
    + + + + +
    std::vector<int> graph::HKGraph::pair_u
    +
    +private
    +
    + +

    value of vertex 'u' ranges from 1 to m

    + +

    Definition at line 75 of file hopcroft_karp.cpp.

    + +
    +
    + +

    ◆ pair_v

    + +
    +
    + + + + + +
    + + + + +
    std::vector<int> graph::HKGraph::pair_v
    +
    +private
    +
    + +

    value of vertex 'v' ranges from 1 to n

    + +

    Definition at line 76 of file hopcroft_karp.cpp.

    +

    The documentation for this class was generated from the following file: diff --git a/d8/d69/classgraph_1_1_h_k_graph_a3b49011c09cf90a116ab53bef61cd95a_cgraph.map b/d8/d69/classgraph_1_1_h_k_graph_a3b49011c09cf90a116ab53bef61cd95a_cgraph.map deleted file mode 100644 index 0e883cee5..000000000 --- a/d8/d69/classgraph_1_1_h_k_graph_a3b49011c09cf90a116ab53bef61cd95a_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d8/d69/classgraph_1_1_h_k_graph_a3b49011c09cf90a116ab53bef61cd95a_cgraph.md5 b/d8/d69/classgraph_1_1_h_k_graph_a3b49011c09cf90a116ab53bef61cd95a_cgraph.md5 deleted file mode 100644 index 3622e0392..000000000 --- a/d8/d69/classgraph_1_1_h_k_graph_a3b49011c09cf90a116ab53bef61cd95a_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -cff190e53cf7b5f8c2143472dd7f2e7a \ No newline at end of file diff --git a/d8/d69/classgraph_1_1_h_k_graph_a3b49011c09cf90a116ab53bef61cd95a_cgraph.svg b/d8/d69/classgraph_1_1_h_k_graph_a3b49011c09cf90a116ab53bef61cd95a_cgraph.svg deleted file mode 100644 index 0f52f33ac..000000000 --- a/d8/d69/classgraph_1_1_h_k_graph_a3b49011c09cf90a116ab53bef61cd95a_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -graph::HKGraph::addEdge - - -Node1 - - -graph::HKGraph::addEdge - - - - - -Node2 - - -std::vector::push_back - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d8/d69/classgraph_1_1_h_k_graph_a3b49011c09cf90a116ab53bef61cd95a_cgraph_org.svg b/d8/d69/classgraph_1_1_h_k_graph_a3b49011c09cf90a116ab53bef61cd95a_cgraph_org.svg deleted file mode 100644 index 939434326..000000000 --- a/d8/d69/classgraph_1_1_h_k_graph_a3b49011c09cf90a116ab53bef61cd95a_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -graph::HKGraph::addEdge - - -Node1 - - -graph::HKGraph::addEdge - - - - - -Node2 - - -std::vector::push_back - - - - - -Node1->Node2 - - - - - - - - diff --git a/d8/d69/classgraph_1_1_h_k_graph_a7491add14d9fc04f679114ca6d6f0f93_cgraph.map b/d8/d69/classgraph_1_1_h_k_graph_a7491add14d9fc04f679114ca6d6f0f93_cgraph.map deleted file mode 100644 index 05334e76b..000000000 --- a/d8/d69/classgraph_1_1_h_k_graph_a7491add14d9fc04f679114ca6d6f0f93_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d8/d69/classgraph_1_1_h_k_graph_a7491add14d9fc04f679114ca6d6f0f93_cgraph.md5 b/d8/d69/classgraph_1_1_h_k_graph_a7491add14d9fc04f679114ca6d6f0f93_cgraph.md5 deleted file mode 100644 index 0ce142145..000000000 --- a/d8/d69/classgraph_1_1_h_k_graph_a7491add14d9fc04f679114ca6d6f0f93_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -875d9bf191cb32944bcc8665d77bef8b \ No newline at end of file diff --git a/d8/d69/classgraph_1_1_h_k_graph_a7491add14d9fc04f679114ca6d6f0f93_cgraph.svg b/d8/d69/classgraph_1_1_h_k_graph_a7491add14d9fc04f679114ca6d6f0f93_cgraph.svg deleted file mode 100644 index 8582e40bd..000000000 --- a/d8/d69/classgraph_1_1_h_k_graph_a7491add14d9fc04f679114ca6d6f0f93_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -graph::HKGraph::bfs - - -Node1 - - -graph::HKGraph::bfs - - - - - -Node2 - - -std::vector::end - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d8/d69/classgraph_1_1_h_k_graph_a7491add14d9fc04f679114ca6d6f0f93_cgraph_org.svg b/d8/d69/classgraph_1_1_h_k_graph_a7491add14d9fc04f679114ca6d6f0f93_cgraph_org.svg deleted file mode 100644 index e3668cc28..000000000 --- a/d8/d69/classgraph_1_1_h_k_graph_a7491add14d9fc04f679114ca6d6f0f93_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -graph::HKGraph::bfs - - -Node1 - - -graph::HKGraph::bfs - - - - - -Node2 - - -std::vector::end - - - - - -Node1->Node2 - - - - - - - - diff --git a/d8/d69/classgraph_1_1_h_k_graph_a9dbda80d02bdc26c3e8ff7330c9be75d_cgraph.map b/d8/d69/classgraph_1_1_h_k_graph_a9dbda80d02bdc26c3e8ff7330c9be75d_cgraph.map deleted file mode 100644 index 65752d0ac..000000000 --- a/d8/d69/classgraph_1_1_h_k_graph_a9dbda80d02bdc26c3e8ff7330c9be75d_cgraph.map +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/d8/d69/classgraph_1_1_h_k_graph_a9dbda80d02bdc26c3e8ff7330c9be75d_cgraph.md5 b/d8/d69/classgraph_1_1_h_k_graph_a9dbda80d02bdc26c3e8ff7330c9be75d_cgraph.md5 deleted file mode 100644 index 01c159294..000000000 --- a/d8/d69/classgraph_1_1_h_k_graph_a9dbda80d02bdc26c3e8ff7330c9be75d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -cf6ad5fd506d263df122887a410d5982 \ No newline at end of file diff --git a/d8/d69/classgraph_1_1_h_k_graph_a9dbda80d02bdc26c3e8ff7330c9be75d_cgraph.svg b/d8/d69/classgraph_1_1_h_k_graph_a9dbda80d02bdc26c3e8ff7330c9be75d_cgraph.svg deleted file mode 100644 index 1bc0387ee..000000000 --- a/d8/d69/classgraph_1_1_h_k_graph_a9dbda80d02bdc26c3e8ff7330c9be75d_cgraph.svg +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - - - - - - - -graph::HKGraph::hopcroftKarpAlgorithm - - -Node1 - - -graph::HKGraph::hopcroft -KarpAlgorithm - - - - - -Node2 - - -graph::HKGraph::bfs - - - - - -Node1->Node2 - - - - - - - - -Node4 - - -graph::HKGraph::dfs - - - - - -Node1->Node4 - - - - - - - - -Node3 - - -std::vector::end - - - - - -Node2->Node3 - - - - - - - - -Node4->Node3 - - - - - - - - -Node4->Node4 - - - - - - - - - - - - - diff --git a/d8/d69/classgraph_1_1_h_k_graph_a9dbda80d02bdc26c3e8ff7330c9be75d_cgraph_org.svg b/d8/d69/classgraph_1_1_h_k_graph_a9dbda80d02bdc26c3e8ff7330c9be75d_cgraph_org.svg deleted file mode 100644 index c2cb283d4..000000000 --- a/d8/d69/classgraph_1_1_h_k_graph_a9dbda80d02bdc26c3e8ff7330c9be75d_cgraph_org.svg +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - -graph::HKGraph::hopcroftKarpAlgorithm - - -Node1 - - -graph::HKGraph::hopcroft -KarpAlgorithm - - - - - -Node2 - - -graph::HKGraph::bfs - - - - - -Node1->Node2 - - - - - - - - -Node4 - - -graph::HKGraph::dfs - - - - - -Node1->Node4 - - - - - - - - -Node3 - - -std::vector::end - - - - - -Node2->Node3 - - - - - - - - -Node4->Node3 - - - - - - - - -Node4->Node4 - - - - - - - - diff --git a/d8/d69/classgraph_1_1_h_k_graph_ae794950cb3407b6b47d3dc986cf714c0_cgraph.map b/d8/d69/classgraph_1_1_h_k_graph_ae794950cb3407b6b47d3dc986cf714c0_cgraph.map deleted file mode 100644 index 427773a65..000000000 --- a/d8/d69/classgraph_1_1_h_k_graph_ae794950cb3407b6b47d3dc986cf714c0_cgraph.map +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/d8/d69/classgraph_1_1_h_k_graph_ae794950cb3407b6b47d3dc986cf714c0_cgraph.md5 b/d8/d69/classgraph_1_1_h_k_graph_ae794950cb3407b6b47d3dc986cf714c0_cgraph.md5 deleted file mode 100644 index 4a532a116..000000000 --- a/d8/d69/classgraph_1_1_h_k_graph_ae794950cb3407b6b47d3dc986cf714c0_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -7ec3cd4502b7d7271409d8f4267a1202 \ No newline at end of file diff --git a/d8/d69/classgraph_1_1_h_k_graph_ae794950cb3407b6b47d3dc986cf714c0_cgraph.svg b/d8/d69/classgraph_1_1_h_k_graph_ae794950cb3407b6b47d3dc986cf714c0_cgraph.svg deleted file mode 100644 index 983be0802..000000000 --- a/d8/d69/classgraph_1_1_h_k_graph_ae794950cb3407b6b47d3dc986cf714c0_cgraph.svg +++ /dev/null @@ -1,74 +0,0 @@ - - - - - - - - - - - - -graph::HKGraph::dfs - - -Node1 - - -graph::HKGraph::dfs - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::vector::end - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d8/d69/classgraph_1_1_h_k_graph_ae794950cb3407b6b47d3dc986cf714c0_cgraph_org.svg b/d8/d69/classgraph_1_1_h_k_graph_ae794950cb3407b6b47d3dc986cf714c0_cgraph_org.svg deleted file mode 100644 index 5486d4f10..000000000 --- a/d8/d69/classgraph_1_1_h_k_graph_ae794950cb3407b6b47d3dc986cf714c0_cgraph_org.svg +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - -graph::HKGraph::dfs - - -Node1 - - -graph::HKGraph::dfs - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::vector::end - - - - - -Node1->Node2 - - - - - - - - diff --git a/d8/d6c/line__segment__intersection_8cpp.html b/d8/d6c/line__segment__intersection_8cpp.html index aa4e7b850..5acd0f7d2 100644 --- a/d8/d6c/line__segment__intersection_8cpp.html +++ b/d8/d6c/line__segment__intersection_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: geometry/line_segment_intersection.cpp File Reference +TheAlgorithms/C++: geometry/line_segment_intersection.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -120,7 +137,9 @@ Include dependency graph for line_segment_intersection.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -135,6 +154,8 @@ Functions

    Classes

    struct  Point

    Detailed Description

    check whether two line segments intersect each other or not.

    + +

    Definition in file line_segment_intersection.cpp.

    Function Documentation

    ◆ main()

    @@ -151,32 +172,25 @@ Functions

    This is the main function to test whether the algorithm is working well.

    + +

    Definition at line 92 of file line_segment_intersection.cpp.

    92 {
    93 SegmentIntersection segment;
    94 Point first_point, second_point, third_point, forth_point;
    95
    -
    96 std::cin >> first_point.x >> first_point.y;
    -
    97 std::cin >> second_point.x >> second_point.y;
    -
    98 std::cin >> third_point.x >> third_point.y;
    -
    99 std::cin >> forth_point.x >> forth_point.y;
    +
    96 std::cin >> first_point.x >> first_point.y;
    +
    97 std::cin >> second_point.x >> second_point.y;
    +
    98 std::cin >> third_point.x >> third_point.y;
    +
    99 std::cin >> forth_point.x >> forth_point.y;
    100
    -
    101 printf("%d", segment.intersect(first_point, second_point, third_point,
    +
    101 printf("%d", segment.intersect(first_point, second_point, third_point,
    102 forth_point));
    - +
    103 std::cout << std::endl;
    104}
    - - -
    T endl(T... args)
    -
    T printf(T... args)
    -
    Definition line_segment_intersection.cpp:12
    -
    int y
    Point respect to x coordinate.
    Definition line_segment_intersection.cpp:14
    -
    Definition line_segment_intersection.cpp:22
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + +
    int y
    Point respect to x coordinate.
    + +
    diff --git a/d8/d6c/line__segment__intersection_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d8/d6c/line__segment__intersection_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 490da38cb..000000000 --- a/d8/d6c/line__segment__intersection_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d8/d6c/line__segment__intersection_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d8/d6c/line__segment__intersection_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index 2f2fe09b6..000000000 --- a/d8/d6c/line__segment__intersection_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -fa87532068062fd8189cade55ca11658 \ No newline at end of file diff --git a/d8/d6c/line__segment__intersection_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d8/d6c/line__segment__intersection_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 5c76e5177..000000000 --- a/d8/d6c/line__segment__intersection_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d8/d6c/line__segment__intersection_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d8/d6c/line__segment__intersection_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 575e4300e..000000000 --- a/d8/d6c/line__segment__intersection_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - diff --git a/d8/d6c/line__segment__intersection_8cpp_source.html b/d8/d6c/line__segment__intersection_8cpp_source.html new file mode 100644 index 000000000..103aee0a2 --- /dev/null +++ b/d8/d6c/line__segment__intersection_8cpp_source.html @@ -0,0 +1,228 @@ + + + + + + + + +TheAlgorithms/C++: geometry/line_segment_intersection.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    line_segment_intersection.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    6#include <algorithm>
    +
    7#include <iostream>
    +
    8
    +
    +
    12struct Point {
    +
    13 int x;
    +
    14 int y;
    +
    15};
    +
    +
    16
    +
    + +
    23 inline bool intersect(Point first_point, Point second_point,
    +
    24 Point third_point, Point forth_point) {
    +
    25 int direction1 = direction(third_point, forth_point, first_point);
    +
    26 int direction2 = direction(third_point, forth_point, second_point);
    +
    27 int direction3 = direction(first_point, second_point, third_point);
    +
    28 int direction4 = direction(first_point, second_point, forth_point);
    +
    29
    +
    30 if ((direction1 < 0 || direction2 > 0) &&
    +
    31 (direction3 < 0 || direction4 > 0))
    +
    32 return true;
    +
    33
    +
    34 else if (direction1 == 0 &&
    +
    35 on_segment(third_point, forth_point, first_point))
    +
    36 return true;
    +
    37
    +
    38 else if (direction2 == 0 &&
    +
    39 on_segment(third_point, forth_point, second_point))
    +
    40 return true;
    +
    41
    +
    42 else if (direction3 == 0 &&
    +
    43 on_segment(first_point, second_point, third_point))
    +
    44 return true;
    +
    45
    +
    46 else if (direction3 == 0 &&
    +
    47 on_segment(first_point, second_point, forth_point))
    +
    48 return true;
    +
    49
    +
    50 else
    +
    51 return false;
    +
    52 }
    +
    53
    +
    +
    63 inline int direction(Point first_point, Point second_point,
    +
    64 Point third_point) {
    +
    65 return ((third_point.x - first_point.x) *
    +
    66 (second_point.y - first_point.y)) -
    +
    67 ((second_point.x - first_point.x) *
    +
    68 (third_point.y - first_point.y));
    +
    69 }
    +
    +
    70
    +
    +
    75 inline bool on_segment(Point first_point, Point second_point,
    +
    76 Point third_point) {
    +
    77 if (std::min(first_point.x, second_point.x) <= third_point.x &&
    +
    78 third_point.x <= std::max(first_point.x, second_point.x) &&
    +
    79 std::min(first_point.y, second_point.y) <= third_point.y &&
    +
    80 third_point.y <= std::max(first_point.y, second_point.y))
    +
    81 return true;
    +
    82
    +
    83 else
    +
    84 return false;
    +
    85 }
    +
    +
    86};
    +
    +
    87
    +
    +
    92int main() {
    +
    93 SegmentIntersection segment;
    +
    94 Point first_point, second_point, third_point, forth_point;
    +
    95
    +
    96 std::cin >> first_point.x >> first_point.y;
    +
    97 std::cin >> second_point.x >> second_point.y;
    +
    98 std::cin >> third_point.x >> third_point.y;
    +
    99 std::cin >> forth_point.x >> forth_point.y;
    +
    100
    +
    101 printf("%d", segment.intersect(first_point, second_point, third_point,
    +
    102 forth_point));
    +
    103 std::cout << std::endl;
    +
    104}
    +
    + + +
    int y
    Point respect to x coordinate.
    + +
    bool on_segment(Point first_point, Point second_point, Point third_point)
    +
    int direction(Point first_point, Point second_point, Point third_point)
    +
    +
    + + + + diff --git a/d8/d72/class_r_btree.html b/d8/d72/class_r_btree.html index 568587f23..059741834 100644 --- a/d8/d72/class_r_btree.html +++ b/d8/d72/class_r_btree.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: RBtree Class Reference +TheAlgorithms/C++: RBtree Class Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -142,14 +159,15 @@ Public Member Functions
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    - + - +

    Private Attributes

    -noderoot
    noderoot
     
    -nodeq
    nodeq
     
    -

    Constructor & Destructor Documentation

    +

    Detailed Description

    +
    +

    Definition at line 13 of file rb_tree.cpp.

    +

    Constructor & Destructor Documentation

    ◆ RBtree()

    @@ -172,6 +190,8 @@ Private Attributes
    + +

    Definition at line 18 of file rb_tree.cpp.

    19 {
    20 q = NULL;
    21 root = NULL;
    @@ -194,15 +214,17 @@ Private Attributes
    + +

    Definition at line 135 of file rb_tree.cpp.

    136{
    137 if (root == NULL)
    138 {
    -
    139 cout << "\nEmpty Tree.";
    +
    139 cout << "\nEmpty Tree.";
    140 return;
    141 }
    142 int x;
    -
    143 cout << "\nEnter the key of the node to be deleted: ";
    -
    144 cin >> x;
    +
    143 cout << "\nEnter the key of the node to be deleted: ";
    +
    144 cin >> x;
    145 node *p;
    146 p = root;
    147 node *y = NULL;
    @@ -222,31 +244,31 @@ Private Attributes
    161 }
    162 if (found == 0)
    163 {
    -
    164 cout << "\nElement Not Found.";
    +
    164 cout << "\nElement Not Found.";
    165 return;
    166 }
    167 else
    168 {
    -
    169 cout << "\nDeleted Element: " << p->key;
    -
    170 cout << "\nColour: ";
    +
    169 cout << "\nDeleted Element: " << p->key;
    +
    170 cout << "\nColour: ";
    171 if (p->color == 'b')
    -
    172 cout << "Black\n";
    +
    172 cout << "Black\n";
    173 else
    -
    174 cout << "Red\n";
    +
    174 cout << "Red\n";
    175
    176 if (p->parent != NULL)
    -
    177 cout << "\nParent: " << p->parent->key;
    +
    177 cout << "\nParent: " << p->parent->key;
    178 else
    -
    179 cout << "\nThere is no parent of the node. ";
    +
    179 cout << "\nThere is no parent of the node. ";
    180 if (p->right != NULL)
    -
    181 cout << "\nRight Child: " << p->right->key;
    +
    181 cout << "\nRight Child: " << p->right->key;
    182 else
    -
    183 cout << "\nThere is no right child of the node. ";
    +
    183 cout << "\nThere is no right child of the node. ";
    184 if (p->left != NULL)
    -
    185 cout << "\nLeft Child: " << p->left->key;
    +
    185 cout << "\nLeft Child: " << p->left->key;
    186 else
    -
    187 cout << "\nThere is no left child of the node. ";
    -
    188 cout << "\nNode Deleted.";
    +
    187 cout << "\nThere is no left child of the node. ";
    +
    188 cout << "\nNode Deleted.";
    189 if (p->left == NULL || p->right == NULL)
    190 y = p;
    191 else
    @@ -280,9 +302,7 @@ Private Attributes
    219 delfix(q);
    220 }
    221}
    - - -
    Definition binary_search_tree.cpp:11
    +
    @@ -300,6 +320,8 @@ Private Attributes
    + +

    Definition at line 223 of file rb_tree.cpp.

    224{
    225 node *s;
    226 while (p != root && p->color == 'b')
    @@ -387,6 +409,8 @@ Private Attributes
    + +

    Definition at line 372 of file rb_tree.cpp.

    373{
    374 display(root);
    375}
    @@ -407,51 +431,53 @@ Private Attributes
    + +

    Definition at line 376 of file rb_tree.cpp.

    377{
    378 if (root == NULL)
    379 {
    -
    380 cout << "\nEmpty Tree.";
    +
    380 cout << "\nEmpty Tree.";
    381 return;
    382 }
    383 if (p != NULL)
    384 {
    -
    385 cout << "\n\t NODE: ";
    -
    386 cout << "\n Key: " << p->key;
    -
    387 cout << "\n Colour: ";
    +
    385 cout << "\n\t NODE: ";
    +
    386 cout << "\n Key: " << p->key;
    +
    387 cout << "\n Colour: ";
    388 if (p->color == 'b')
    -
    389 cout << "Black";
    +
    389 cout << "Black";
    390 else
    -
    391 cout << "Red";
    +
    391 cout << "Red";
    392 if (p->parent != NULL)
    -
    393 cout << "\n Parent: " << p->parent->key;
    +
    393 cout << "\n Parent: " << p->parent->key;
    394 else
    -
    395 cout << "\n There is no parent of the node. ";
    +
    395 cout << "\n There is no parent of the node. ";
    396 if (p->right != NULL)
    -
    397 cout << "\n Right Child: " << p->right->key;
    +
    397 cout << "\n Right Child: " << p->right->key;
    398 else
    -
    399 cout << "\n There is no right child of the node. ";
    +
    399 cout << "\n There is no right child of the node. ";
    400 if (p->left != NULL)
    -
    401 cout << "\n Left Child: " << p->left->key;
    +
    401 cout << "\n Left Child: " << p->left->key;
    402 else
    -
    403 cout << "\n There is no left child of the node. ";
    -
    404 cout << endl;
    +
    403 cout << "\n There is no left child of the node. ";
    +
    404 cout << endl;
    405 if (p->left)
    406 {
    -
    407 cout << "\n\nLeft:\n";
    +
    407 cout << "\n\nLeft:\n";
    408 display(p->left);
    409 }
    410 /*else
    411 cout<<"\nNo Left Child.\n";*/
    412 if (p->right)
    413 {
    -
    414 cout << "\n\nRight:\n";
    +
    414 cout << "\n\nRight:\n";
    415 display(p->right);
    416 }
    417 /*else
    418 cout<<"\nNo Right Child.\n"*/
    419 }
    420}
    -
    #define endl
    Definition matrix_exponentiation.cpp:36
    +
    #define endl
    @@ -469,10 +495,12 @@ Private Attributes
    + +

    Definition at line 34 of file rb_tree.cpp.

    35{
    36 int z, i = 0;
    -
    37 cout << "\nEnter key of the node to be inserted: ";
    -
    38 cin >> z;
    +
    37 cout << "\nEnter key of the node to be inserted: ";
    +
    38 cin >> z;
    39 node *p, *q;
    40 node *t = new node;
    41 t->key = z;
    @@ -504,7 +532,7 @@ Private Attributes
    67 }
    68 insertfix(t);
    69}
    -
    struct node { int data; int height; struct node *left; struct node *right;} node
    for std::queue
    Definition avltree.cpp:13
    +
    struct node { int data; int height; struct node *left; struct node *right;} node
    for std::queue
    Definition avltree.cpp:13
    @@ -522,6 +550,8 @@ Private Attributes
    + +

    Definition at line 70 of file rb_tree.cpp.

    71{
    72 node *u;
    73 if (root == t)
    @@ -585,7 +615,7 @@ Private Attributes
    131 root->color = 'b';
    132 }
    133}
    -
    double g(double x)
    Another test function.
    Definition composite_simpson_rule.cpp:115
    +
    double g(double x)
    Another test function.
    @@ -603,6 +633,8 @@ Private Attributes
    + +

    Definition at line 295 of file rb_tree.cpp.

    296{
    297 if (p->right == NULL)
    298 return;
    @@ -648,6 +680,8 @@ Private Attributes
    + +

    Definition at line 324 of file rb_tree.cpp.

    325{
    326 if (p->left == NULL)
    327 return;
    @@ -693,15 +727,17 @@ Private Attributes
    + +

    Definition at line 421 of file rb_tree.cpp.

    422{
    423 if (root == NULL)
    424 {
    -
    425 cout << "\nEmpty Tree\n";
    +
    425 cout << "\nEmpty Tree\n";
    426 return;
    427 }
    428 int x;
    -
    429 cout << "\n Enter key of the node to be searched: ";
    -
    430 cin >> x;
    +
    429 cout << "\n Enter key of the node to be searched: ";
    +
    430 cin >> x;
    431 node *p = root;
    432 int found = 0;
    433 while (p != NULL && found == 0)
    @@ -717,29 +753,29 @@ Private Attributes
    443 }
    444 }
    445 if (found == 0)
    -
    446 cout << "\nElement Not Found.";
    +
    446 cout << "\nElement Not Found.";
    447 else
    448 {
    -
    449 cout << "\n\t FOUND NODE: ";
    -
    450 cout << "\n Key: " << p->key;
    -
    451 cout << "\n Colour: ";
    +
    449 cout << "\n\t FOUND NODE: ";
    +
    450 cout << "\n Key: " << p->key;
    +
    451 cout << "\n Colour: ";
    452 if (p->color == 'b')
    -
    453 cout << "Black";
    +
    453 cout << "Black";
    454 else
    -
    455 cout << "Red";
    +
    455 cout << "Red";
    456 if (p->parent != NULL)
    -
    457 cout << "\n Parent: " << p->parent->key;
    +
    457 cout << "\n Parent: " << p->parent->key;
    458 else
    -
    459 cout << "\n There is no parent of the node. ";
    +
    459 cout << "\n There is no parent of the node. ";
    460 if (p->right != NULL)
    -
    461 cout << "\n Right Child: " << p->right->key;
    +
    461 cout << "\n Right Child: " << p->right->key;
    462 else
    -
    463 cout << "\n There is no right child of the node. ";
    +
    463 cout << "\n There is no right child of the node. ";
    464 if (p->left != NULL)
    -
    465 cout << "\n Left Child: " << p->left->key;
    +
    465 cout << "\n Left Child: " << p->left->key;
    466 else
    -
    467 cout << "\n There is no left child of the node. ";
    -
    468 cout << endl;
    +
    467 cout << "\n There is no left child of the node. ";
    +
    468 cout << endl;
    469
    470 }
    471}
    @@ -760,6 +796,8 @@ Private Attributes
    + +

    Definition at line 354 of file rb_tree.cpp.

    355{
    356 node *y = NULL;
    357 if (p->left != NULL)
    @@ -777,10 +815,59 @@ Private Attributes
    369 return y;
    370}
    +
    +
    +

    Member Data Documentation

    + +

    ◆ q

    + +
    +
    + + + + + +
    + + + + +
    node* RBtree::q
    +
    +private
    +
    + +

    Definition at line 16 of file rb_tree.cpp.

    + +
    +
    + +

    ◆ root

    + +
    +
    + + + + + +
    + + + + +
    node* RBtree::root
    +
    +private
    +
    + +

    Definition at line 15 of file rb_tree.cpp.

    +

    The documentation for this class was generated from the following file:
      -
    • data_structures/rb_tree.cpp
    • +
    • data_structures/rb_tree.cpp
    diff --git a/d8/d76/morse__code_8cpp.html b/d8/d76/morse__code_8cpp.html index 0819dd37a..866d670e4 100644 --- a/d8/d76/morse__code_8cpp.html +++ b/d8/d76/morse__code_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: ciphers/morse_code.cpp File Reference +TheAlgorithms/C++: ciphers/morse_code.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -122,7 +139,9 @@ Include dependency graph for morse_code.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -134,13 +153,13 @@ Namespaces

    Namespaces

    namespace  ciphers
    - + - + - + - + @@ -153,6 +172,8 @@ Functions

    Implementation of [Morse Code] (https://en.wikipedia.org/wiki/Morse_code).

    Author
    Deep Raval

    Morse code is a method used in telecommunication to encode text characters as standardized sequences of two different signal durations, called dots and dashes or dits and dahs. Morse code is named after Samuel Morse, an inventor of the telegraph.

    + +

    Definition in file morse_code.cpp.

    Function Documentation

    ◆ char_to_morse()

    @@ -161,7 +182,7 @@ Functions

    Functions

    std::string ciphers::morse::char_to_morse (const char &c)
    std::string ciphers::morse::char_to_morse (const char &c)
     
    char ciphers::morse::morse_to_char (const std::string &s)
    char ciphers::morse::morse_to_char (const std::string &s)
     
    std::string ciphers::morse::encrypt (const std::string &text)
    std::string ciphers::morse::encrypt (const std::string &text)
     
    std::string ciphers::morse::decrypt (const std::string &text)
    std::string ciphers::morse::decrypt (const std::string &text)
     
    static void test ()
     Function to test above algorithm.
    - + @@ -175,6 +196,8 @@ Functions
    Returns
    morse representation string of character
    + +

    Definition at line 33 of file morse_code.cpp.

    33 {
    34 // return corresponding morse code
    35 switch (c) {
    @@ -251,19 +274,11 @@ Functions
    106 case '0':
    107 return "-----";
    108 default:
    -
    109 std::cerr << "Found invalid character: " << c << ' ' << std::endl;
    -
    110 std::exit(0);
    +
    109 std::cerr << "Found invalid character: " << c << ' ' << std::endl;
    +
    110 std::exit(0);
    111 }
    112}
    - -
    T endl(T... args)
    -
    T exit(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -273,9 +288,9 @@ Here is the call graph for this function:
    std::string ciphers::morse::char_to_morse std::string ciphers::morse::char_to_morse ( const char & c)
    - + - +
    std::string ciphers::morse::decrypt std::string ciphers::morse::decrypt (const std::string & text)const std::string & text)
    @@ -287,41 +302,32 @@ Here is the call graph for this function:
    Returns
    new decrypted text
    + +

    Definition at line 216 of file morse_code.cpp.

    216 {
    217 // Going through each character of text and converting it
    218 // back to normal representation.
    -
    219 std::string decrypted_text = ""; // Empty string to store decrypted text
    +
    219 std::string decrypted_text = ""; // Empty string to store decrypted text
    220 // Spliting string (with delimiter = " ") and storing it
    221 // in vector
    -
    222 std::size_t pos_start = 0, pos_end = 0, delim_len = 1;
    - -
    224 while ((pos_end = text.find(' ', pos_start)) != std::string::npos) {
    -
    225 std::string token = text.substr(pos_start, pos_end - pos_start);
    +
    222 std::size_t pos_start = 0, pos_end = 0, delim_len = 1;
    +
    223 std::vector<std::string> splits;
    +
    224 while ((pos_end = text.find(' ', pos_start)) != std::string::npos) {
    +
    225 std::string token = text.substr(pos_start, pos_end - pos_start);
    226 pos_start = pos_end + delim_len;
    -
    227 splits.push_back(token);
    +
    227 splits.push_back(token);
    228 }
    229
    230 // Traversing through each morse code string
    -
    231 for (const std::string &s : splits) {
    +
    231 for (const std::string &s : splits) {
    232 // Add corresponding character
    233 decrypted_text += ciphers::morse::morse_to_char(s);
    234 }
    235
    236 return decrypted_text; // Returning decrypted text
    237}
    - -
    T find(T... args)
    -
    char morse_to_char(const std::string &s)
    Definition morse_code.cpp:118
    -
    T push_back(T... args)
    - -
    T substr(T... args)
    - -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    char morse_to_char(const std::string &s)
    + @@ -331,9 +337,9 @@ Here is the call graph for this function:
    - + - +
    std::string ciphers::morse::encrypt std::string ciphers::morse::encrypt (const std::string & text)const std::string & text)
    @@ -345,8 +351,10 @@ Here is the call graph for this function:
    Returns
    new encrypted text
    + +

    Definition at line 202 of file morse_code.cpp.

    202 {
    -
    203 std::string encrypted_text = ""; // Empty string to store encrypted text
    +
    203 std::string encrypted_text = ""; // Empty string to store encrypted text
    204 // Going through each character of text and converting it
    205 // to morse representation
    206 for (const char &c : text) {
    @@ -354,13 +362,8 @@ Here is the call graph for this function:
    208 }
    209 return encrypted_text; // Returning encrypted text
    210}
    -
    std::string char_to_morse(const char &c)
    Definition morse_code.cpp:33
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    std::string char_to_morse(const char &c)
    + @@ -380,18 +383,15 @@ Here is the call graph for this function:

    Main function.

    Returns
    0 on exit
    + +

    Definition at line 268 of file morse_code.cpp.

    268 {
    269 // Testing
    270 test();
    271 return 0;
    272}
    -
    static void test()
    Function to test above algorithm.
    Definition morse_code.cpp:245
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static void test()
    Function to test above algorithm.
    + @@ -403,7 +403,7 @@ Here is the call graph for this function: char ciphers::morse::morse_to_char ( - const std::string & s) + const std::string & s) @@ -415,6 +415,8 @@ Here is the call graph for this function:
    Returns
    corresponding character
    + +

    Definition at line 118 of file morse_code.cpp.

    118 {
    119 // return corresponding character
    120 if (s == ".-") {
    @@ -490,16 +492,11 @@ Here is the call graph for this function:
    190 } else if (s == "-----") {
    191 return '0';
    192 } else {
    -
    193 std::cerr << "Found invalid Morse code: " << s << ' ' << std::endl;
    -
    194 std::exit(0);
    +
    193 std::cerr << "Found invalid Morse code: " << s << ' ' << std::endl;
    +
    194 std::exit(0);
    195 }
    196}
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -527,32 +524,29 @@ Here is the call graph for this function:

    Function to test above algorithm.

    Returns
    void
    + +

    Definition at line 245 of file morse_code.cpp.

    245 {
    246 // Test 1
    -
    247 std::string text1 = "01234567890";
    -
    248 std::string encrypted1 = ciphers::morse::encrypt(text1);
    -
    249 std::string decrypted1 = ciphers::morse::decrypt(encrypted1);
    +
    247 std::string text1 = "01234567890";
    +
    248 std::string encrypted1 = ciphers::morse::encrypt(text1);
    +
    249 std::string decrypted1 = ciphers::morse::decrypt(encrypted1);
    250 assert(text1 == decrypted1);
    -
    251 std::cout << "Original text : " << text1 << std::endl;
    -
    252 std::cout << "Encrypted text : " << encrypted1 << std::endl;
    -
    253 std::cout << "Decrypted text : " << decrypted1 << std::endl;
    +
    251 std::cout << "Original text : " << text1 << std::endl;
    +
    252 std::cout << "Encrypted text : " << encrypted1 << std::endl;
    +
    253 std::cout << "Decrypted text : " << decrypted1 << std::endl;
    254 // Test 2
    -
    255 std::string text2 = "abcdefghijklmnopqrstuvwxyz";
    -
    256 std::string encrypted2 = ciphers::morse::encrypt(text2);
    -
    257 std::string decrypted2 = ciphers::morse::decrypt(encrypted2);
    +
    255 std::string text2 = "abcdefghijklmnopqrstuvwxyz";
    +
    256 std::string encrypted2 = ciphers::morse::encrypt(text2);
    +
    257 std::string decrypted2 = ciphers::morse::decrypt(encrypted2);
    258 assert(text2 == decrypted2);
    -
    259 std::cout << "Original text : " << text2 << std::endl;
    -
    260 std::cout << "Encrypted text : " << encrypted2 << std::endl;
    -
    261 std::cout << "Decrypted text : " << decrypted2 << std::endl;
    +
    259 std::cout << "Original text : " << text2 << std::endl;
    +
    260 std::cout << "Encrypted text : " << encrypted2 << std::endl;
    +
    261 std::cout << "Decrypted text : " << decrypted2 << std::endl;
    262}
    -
    std::string encrypt(const std::string &text)
    Definition morse_code.cpp:202
    -
    std::string decrypt(const std::string &text)
    Definition morse_code.cpp:216
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    std::string encrypt(const std::string &text)
    +
    std::string decrypt(const std::string &text)
    + diff --git a/d8/d76/morse__code_8cpp_a0242e458904de8a242fcdaffe9e3ba1a_cgraph.map b/d8/d76/morse__code_8cpp_a0242e458904de8a242fcdaffe9e3ba1a_cgraph.map deleted file mode 100644 index 00fef91e2..000000000 --- a/d8/d76/morse__code_8cpp_a0242e458904de8a242fcdaffe9e3ba1a_cgraph.map +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/d8/d76/morse__code_8cpp_a0242e458904de8a242fcdaffe9e3ba1a_cgraph.md5 b/d8/d76/morse__code_8cpp_a0242e458904de8a242fcdaffe9e3ba1a_cgraph.md5 deleted file mode 100644 index d1bda25e5..000000000 --- a/d8/d76/morse__code_8cpp_a0242e458904de8a242fcdaffe9e3ba1a_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -f610768b235cf32c95c142a3106df957 \ No newline at end of file diff --git a/d8/d76/morse__code_8cpp_a0242e458904de8a242fcdaffe9e3ba1a_cgraph.svg b/d8/d76/morse__code_8cpp_a0242e458904de8a242fcdaffe9e3ba1a_cgraph.svg deleted file mode 100644 index cf91e5c9f..000000000 --- a/d8/d76/morse__code_8cpp_a0242e458904de8a242fcdaffe9e3ba1a_cgraph.svg +++ /dev/null @@ -1,111 +0,0 @@ - - - - - - - - - - - - -ciphers::morse::encrypt - - -Node1 - - -ciphers::morse::encrypt - - - - - -Node2 - - -ciphers::morse::char -_to_morse - - - - - -Node1->Node2 - - - - - - - - -Node2->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::exit - - - - - -Node2->Node4 - - - - - - - - - - - - - diff --git a/d8/d76/morse__code_8cpp_a0242e458904de8a242fcdaffe9e3ba1a_cgraph_org.svg b/d8/d76/morse__code_8cpp_a0242e458904de8a242fcdaffe9e3ba1a_cgraph_org.svg deleted file mode 100644 index f6d042f47..000000000 --- a/d8/d76/morse__code_8cpp_a0242e458904de8a242fcdaffe9e3ba1a_cgraph_org.svg +++ /dev/null @@ -1,85 +0,0 @@ - - - - - - -ciphers::morse::encrypt - - -Node1 - - -ciphers::morse::encrypt - - - - - -Node2 - - -ciphers::morse::char -_to_morse - - - - - -Node1->Node2 - - - - - - - - -Node2->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::exit - - - - - -Node2->Node4 - - - - - - - - diff --git a/d8/d76/morse__code_8cpp_a15c66ec8cf4cef0a35c50cbab86965dc_cgraph.map b/d8/d76/morse__code_8cpp_a15c66ec8cf4cef0a35c50cbab86965dc_cgraph.map deleted file mode 100644 index d03e86e91..000000000 --- a/d8/d76/morse__code_8cpp_a15c66ec8cf4cef0a35c50cbab86965dc_cgraph.map +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - - - - - diff --git a/d8/d76/morse__code_8cpp_a15c66ec8cf4cef0a35c50cbab86965dc_cgraph.md5 b/d8/d76/morse__code_8cpp_a15c66ec8cf4cef0a35c50cbab86965dc_cgraph.md5 deleted file mode 100644 index 4f98f2ac1..000000000 --- a/d8/d76/morse__code_8cpp_a15c66ec8cf4cef0a35c50cbab86965dc_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -c6c0127144aa7b7263a090673540d0a8 \ No newline at end of file diff --git a/d8/d76/morse__code_8cpp_a15c66ec8cf4cef0a35c50cbab86965dc_cgraph.svg b/d8/d76/morse__code_8cpp_a15c66ec8cf4cef0a35c50cbab86965dc_cgraph.svg deleted file mode 100644 index 8f41f5ddb..000000000 --- a/d8/d76/morse__code_8cpp_a15c66ec8cf4cef0a35c50cbab86965dc_cgraph.svg +++ /dev/null @@ -1,165 +0,0 @@ - - - - - - - - - - - - -ciphers::morse::decrypt - - -Node1 - - -ciphers::morse::decrypt - - - - - -Node2 - - -std::string::find - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -ciphers::morse::morse -_to_char - - - - - -Node1->Node3 - - - - - - - - -Node6 - - -std::vector::push_back - - - - - -Node1->Node6 - - - - - - - - -Node7 - - -std::string::substr - - - - - -Node1->Node7 - - - - - - - - -Node3->Node3 - - - - - - - - -Node4 - - -std::endl - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -std::exit - - - - - -Node3->Node5 - - - - - - - - - - - - - diff --git a/d8/d76/morse__code_8cpp_a15c66ec8cf4cef0a35c50cbab86965dc_cgraph_org.svg b/d8/d76/morse__code_8cpp_a15c66ec8cf4cef0a35c50cbab86965dc_cgraph_org.svg deleted file mode 100644 index f61db8453..000000000 --- a/d8/d76/morse__code_8cpp_a15c66ec8cf4cef0a35c50cbab86965dc_cgraph_org.svg +++ /dev/null @@ -1,139 +0,0 @@ - - - - - - -ciphers::morse::decrypt - - -Node1 - - -ciphers::morse::decrypt - - - - - -Node2 - - -std::string::find - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -ciphers::morse::morse -_to_char - - - - - -Node1->Node3 - - - - - - - - -Node6 - - -std::vector::push_back - - - - - -Node1->Node6 - - - - - - - - -Node7 - - -std::string::substr - - - - - -Node1->Node7 - - - - - - - - -Node3->Node3 - - - - - - - - -Node4 - - -std::endl - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -std::exit - - - - - -Node3->Node5 - - - - - - - - diff --git a/d8/d76/morse__code_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map b/d8/d76/morse__code_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map deleted file mode 100644 index 969cbc190..000000000 --- a/d8/d76/morse__code_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d8/d76/morse__code_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 b/d8/d76/morse__code_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 deleted file mode 100644 index 3beec0a15..000000000 --- a/d8/d76/morse__code_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -bfed022ee432c6caf8dedaa8aacf402d \ No newline at end of file diff --git a/d8/d76/morse__code_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg b/d8/d76/morse__code_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg deleted file mode 100644 index 474b95828..000000000 --- a/d8/d76/morse__code_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d8/d76/morse__code_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg b/d8/d76/morse__code_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg deleted file mode 100644 index 21269f1f3..000000000 --- a/d8/d76/morse__code_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - diff --git a/d8/d76/morse__code_8cpp_ab31773fd11555d21f70d6914138d9535_cgraph.map b/d8/d76/morse__code_8cpp_ab31773fd11555d21f70d6914138d9535_cgraph.map deleted file mode 100644 index 7dcc52e2f..000000000 --- a/d8/d76/morse__code_8cpp_ab31773fd11555d21f70d6914138d9535_cgraph.map +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/d8/d76/morse__code_8cpp_ab31773fd11555d21f70d6914138d9535_cgraph.md5 b/d8/d76/morse__code_8cpp_ab31773fd11555d21f70d6914138d9535_cgraph.md5 deleted file mode 100644 index a6d063e70..000000000 --- a/d8/d76/morse__code_8cpp_ab31773fd11555d21f70d6914138d9535_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -bc5277a001565f78f33edb7123b8df13 \ No newline at end of file diff --git a/d8/d76/morse__code_8cpp_ab31773fd11555d21f70d6914138d9535_cgraph.svg b/d8/d76/morse__code_8cpp_ab31773fd11555d21f70d6914138d9535_cgraph.svg deleted file mode 100644 index 413bc14eb..000000000 --- a/d8/d76/morse__code_8cpp_ab31773fd11555d21f70d6914138d9535_cgraph.svg +++ /dev/null @@ -1,93 +0,0 @@ - - - - - - - - - - - - -ciphers::morse::char_to_morse - - -Node1 - - -ciphers::morse::char -_to_morse - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::exit - - - - - -Node1->Node3 - - - - - - - - - - - - - diff --git a/d8/d76/morse__code_8cpp_ab31773fd11555d21f70d6914138d9535_cgraph_org.svg b/d8/d76/morse__code_8cpp_ab31773fd11555d21f70d6914138d9535_cgraph_org.svg deleted file mode 100644 index 61b109248..000000000 --- a/d8/d76/morse__code_8cpp_ab31773fd11555d21f70d6914138d9535_cgraph_org.svg +++ /dev/null @@ -1,67 +0,0 @@ - - - - - - -ciphers::morse::char_to_morse - - -Node1 - - -ciphers::morse::char -_to_morse - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::exit - - - - - -Node1->Node3 - - - - - - - - diff --git a/d8/d76/morse__code_8cpp_ac9f294b0dec08a4a11d477a32f9bd829_cgraph.map b/d8/d76/morse__code_8cpp_ac9f294b0dec08a4a11d477a32f9bd829_cgraph.map deleted file mode 100644 index cfe4647cc..000000000 --- a/d8/d76/morse__code_8cpp_ac9f294b0dec08a4a11d477a32f9bd829_cgraph.map +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/d8/d76/morse__code_8cpp_ac9f294b0dec08a4a11d477a32f9bd829_cgraph.md5 b/d8/d76/morse__code_8cpp_ac9f294b0dec08a4a11d477a32f9bd829_cgraph.md5 deleted file mode 100644 index 0566f9b9d..000000000 --- a/d8/d76/morse__code_8cpp_ac9f294b0dec08a4a11d477a32f9bd829_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -da7edd1916c7e381e043f8f7f3fca0fe \ No newline at end of file diff --git a/d8/d76/morse__code_8cpp_ac9f294b0dec08a4a11d477a32f9bd829_cgraph.svg b/d8/d76/morse__code_8cpp_ac9f294b0dec08a4a11d477a32f9bd829_cgraph.svg deleted file mode 100644 index 546aeb188..000000000 --- a/d8/d76/morse__code_8cpp_ac9f294b0dec08a4a11d477a32f9bd829_cgraph.svg +++ /dev/null @@ -1,93 +0,0 @@ - - - - - - - - - - - - -ciphers::morse::morse_to_char - - -Node1 - - -ciphers::morse::morse -_to_char - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::exit - - - - - -Node1->Node3 - - - - - - - - - - - - - diff --git a/d8/d76/morse__code_8cpp_ac9f294b0dec08a4a11d477a32f9bd829_cgraph_org.svg b/d8/d76/morse__code_8cpp_ac9f294b0dec08a4a11d477a32f9bd829_cgraph_org.svg deleted file mode 100644 index 4fce1c0b7..000000000 --- a/d8/d76/morse__code_8cpp_ac9f294b0dec08a4a11d477a32f9bd829_cgraph_org.svg +++ /dev/null @@ -1,67 +0,0 @@ - - - - - - -ciphers::morse::morse_to_char - - -Node1 - - -ciphers::morse::morse -_to_char - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::exit - - - - - -Node1->Node3 - - - - - - - - diff --git a/d8/d76/morse__code_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d8/d76/morse__code_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 1dc216d1e..000000000 --- a/d8/d76/morse__code_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/d8/d76/morse__code_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d8/d76/morse__code_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index 4ad4e8ce9..000000000 --- a/d8/d76/morse__code_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -5fdcd026390136bcb95624764e729534 \ No newline at end of file diff --git a/d8/d76/morse__code_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d8/d76/morse__code_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index cba56e85b..000000000 --- a/d8/d76/morse__code_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node2->Node3 - - - - - - - - - - - - - diff --git a/d8/d76/morse__code_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d8/d76/morse__code_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 5f6703027..000000000 --- a/d8/d76/morse__code_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node2->Node3 - - - - - - - - diff --git a/d8/d76/morse__code_8cpp_source.html b/d8/d76/morse__code_8cpp_source.html new file mode 100644 index 000000000..9d9b65406 --- /dev/null +++ b/d8/d76/morse__code_8cpp_source.html @@ -0,0 +1,380 @@ + + + + + + + + +TheAlgorithms/C++: ciphers/morse_code.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    morse_code.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    14#include <cassert>
    +
    15#include <iostream>
    +
    16#include <string>
    +
    17#include <vector>
    +
    18
    +
    22namespace ciphers {
    +
    27namespace morse {
    +
    +
    33std::string char_to_morse(const char &c) {
    +
    34 // return corresponding morse code
    +
    35 switch (c) {
    +
    36 case 'a':
    +
    37 return ".-";
    +
    38 case 'b':
    +
    39 return "-...";
    +
    40 case 'c':
    +
    41 return "-.-.";
    +
    42 case 'd':
    +
    43 return "-..";
    +
    44 case 'e':
    +
    45 return ".";
    +
    46 case 'f':
    +
    47 return "..-.";
    +
    48 case 'g':
    +
    49 return "--.";
    +
    50 case 'h':
    +
    51 return "....";
    +
    52 case 'i':
    +
    53 return "..";
    +
    54 case 'j':
    +
    55 return ".---";
    +
    56 case 'k':
    +
    57 return "-.-";
    +
    58 case 'l':
    +
    59 return ".-..";
    +
    60 case 'm':
    +
    61 return "--";
    +
    62 case 'n':
    +
    63 return "-.";
    +
    64 case 'o':
    +
    65 return "---";
    +
    66 case 'p':
    +
    67 return ".--.";
    +
    68 case 'q':
    +
    69 return "--.-";
    +
    70 case 'r':
    +
    71 return ".-.";
    +
    72 case 's':
    +
    73 return "...";
    +
    74 case 't':
    +
    75 return "-";
    +
    76 case 'u':
    +
    77 return "..-";
    +
    78 case 'v':
    +
    79 return "...-";
    +
    80 case 'w':
    +
    81 return ".--";
    +
    82 case 'x':
    +
    83 return "-..-";
    +
    84 case 'y':
    +
    85 return "-.--";
    +
    86 case 'z':
    +
    87 return "--..";
    +
    88 case '1':
    +
    89 return ".----";
    +
    90 case '2':
    +
    91 return "..---";
    +
    92 case '3':
    +
    93 return "...--";
    +
    94 case '4':
    +
    95 return "....-";
    +
    96 case '5':
    +
    97 return ".....";
    +
    98 case '6':
    +
    99 return "-....";
    +
    100 case '7':
    +
    101 return "--...";
    +
    102 case '8':
    +
    103 return "---..";
    +
    104 case '9':
    +
    105 return "----.";
    +
    106 case '0':
    +
    107 return "-----";
    +
    108 default:
    +
    109 std::cerr << "Found invalid character: " << c << ' ' << std::endl;
    +
    110 std::exit(0);
    +
    111 }
    +
    112}
    +
    +
    +
    118char morse_to_char(const std::string &s) {
    +
    119 // return corresponding character
    +
    120 if (s == ".-") {
    +
    121 return 'a';
    +
    122 } else if (s == "-...") {
    +
    123 return 'b';
    +
    124 } else if (s == "-.-.") {
    +
    125 return 'c';
    +
    126 } else if (s == "-..") {
    +
    127 return 'd';
    +
    128 } else if (s == ".") {
    +
    129 return 'e';
    +
    130 } else if (s == "..-.") {
    +
    131 return 'f';
    +
    132 } else if (s == "--.") {
    +
    133 return 'g';
    +
    134 } else if (s == "....") {
    +
    135 return 'h';
    +
    136 } else if (s == "..") {
    +
    137 return 'i';
    +
    138 } else if (s == ".---") {
    +
    139 return 'j';
    +
    140 } else if (s == "-.-") {
    +
    141 return 'k';
    +
    142 } else if (s == ".-..") {
    +
    143 return 'l';
    +
    144 } else if (s == "--") {
    +
    145 return 'm';
    +
    146 } else if (s == "-.") {
    +
    147 return 'n';
    +
    148 } else if (s == "---") {
    +
    149 return 'o';
    +
    150 } else if (s == ".--.") {
    +
    151 return 'p';
    +
    152 } else if (s == "--.-") {
    +
    153 return 'q';
    +
    154 } else if (s == ".-.") {
    +
    155 return 'r';
    +
    156 } else if (s == "...") {
    +
    157 return 's';
    +
    158 } else if (s == "-") {
    +
    159 return 't';
    +
    160 } else if (s == "..-") {
    +
    161 return 'u';
    +
    162 } else if (s == "...-") {
    +
    163 return 'v';
    +
    164 } else if (s == ".--") {
    +
    165 return 'w';
    +
    166 } else if (s == "-..-") {
    +
    167 return 'x';
    +
    168 } else if (s == "-.--") {
    +
    169 return 'y';
    +
    170 } else if (s == "--..") {
    +
    171 return 'z';
    +
    172 } else if (s == ".----") {
    +
    173 return '1';
    +
    174 } else if (s == "..---") {
    +
    175 return '2';
    +
    176 } else if (s == "...--") {
    +
    177 return '3';
    +
    178 } else if (s == "....-") {
    +
    179 return '4';
    +
    180 } else if (s == ".....") {
    +
    181 return '5';
    +
    182 } else if (s == "-....") {
    +
    183 return '6';
    +
    184 } else if (s == "--...") {
    +
    185 return '7';
    +
    186 } else if (s == "---..") {
    +
    187 return '8';
    +
    188 } else if (s == "----.") {
    +
    189 return '9';
    +
    190 } else if (s == "-----") {
    +
    191 return '0';
    +
    192 } else {
    +
    193 std::cerr << "Found invalid Morse code: " << s << ' ' << std::endl;
    +
    194 std::exit(0);
    +
    195 }
    +
    196}
    +
    +
    +
    202std::string encrypt(const std::string &text) {
    +
    203 std::string encrypted_text = ""; // Empty string to store encrypted text
    +
    204 // Going through each character of text and converting it
    +
    205 // to morse representation
    +
    206 for (const char &c : text) {
    +
    207 encrypted_text += ciphers::morse::char_to_morse(c) + " ";
    +
    208 }
    +
    209 return encrypted_text; // Returning encrypted text
    +
    210}
    +
    +
    +
    216std::string decrypt(const std::string &text) {
    +
    217 // Going through each character of text and converting it
    +
    218 // back to normal representation.
    +
    219 std::string decrypted_text = ""; // Empty string to store decrypted text
    +
    220 // Spliting string (with delimiter = " ") and storing it
    +
    221 // in vector
    +
    222 std::size_t pos_start = 0, pos_end = 0, delim_len = 1;
    +
    223 std::vector<std::string> splits;
    +
    224 while ((pos_end = text.find(' ', pos_start)) != std::string::npos) {
    +
    225 std::string token = text.substr(pos_start, pos_end - pos_start);
    +
    226 pos_start = pos_end + delim_len;
    +
    227 splits.push_back(token);
    +
    228 }
    +
    229
    +
    230 // Traversing through each morse code string
    +
    231 for (const std::string &s : splits) {
    +
    232 // Add corresponding character
    +
    233 decrypted_text += ciphers::morse::morse_to_char(s);
    +
    234 }
    +
    235
    +
    236 return decrypted_text; // Returning decrypted text
    +
    237}
    +
    +
    238} // namespace morse
    +
    239} // namespace ciphers
    +
    240
    +
    +
    245static void test() {
    +
    246 // Test 1
    +
    247 std::string text1 = "01234567890";
    +
    248 std::string encrypted1 = ciphers::morse::encrypt(text1);
    +
    249 std::string decrypted1 = ciphers::morse::decrypt(encrypted1);
    +
    250 assert(text1 == decrypted1);
    +
    251 std::cout << "Original text : " << text1 << std::endl;
    +
    252 std::cout << "Encrypted text : " << encrypted1 << std::endl;
    +
    253 std::cout << "Decrypted text : " << decrypted1 << std::endl;
    +
    254 // Test 2
    +
    255 std::string text2 = "abcdefghijklmnopqrstuvwxyz";
    +
    256 std::string encrypted2 = ciphers::morse::encrypt(text2);
    +
    257 std::string decrypted2 = ciphers::morse::decrypt(encrypted2);
    +
    258 assert(text2 == decrypted2);
    +
    259 std::cout << "Original text : " << text2 << std::endl;
    +
    260 std::cout << "Encrypted text : " << encrypted2 << std::endl;
    +
    261 std::cout << "Decrypted text : " << decrypted2 << std::endl;
    +
    262}
    +
    +
    263
    +
    +
    268int main() {
    +
    269 // Testing
    +
    270 test();
    +
    271 return 0;
    +
    272}
    +
    +
    static void test()
    Function to test above algorithm.
    +
    std::string char_to_morse(const char &c)
    +
    char morse_to_char(const std::string &s)
    +
    int main()
    Main function.
    +
    Algorithms for encryption and decryption.
    +
    Functions for [Morse Code] (https://en.wikipedia.org/wiki/Morse_code).
    +
    +
    + + + + diff --git a/d8/d76/namespacetopological__sort.html b/d8/d76/namespacetopological__sort.html index c6889875a..6e2764f3a 100644 --- a/d8/d76/namespacetopological__sort.html +++ b/d8/d76/namespacetopological__sort.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: topological_sort Namespace Reference +TheAlgorithms/C++: topological_sort Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/d8/d77/namespacemachine__learning.html b/d8/d77/namespacemachine__learning.html index 568372972..6904e7b64 100644 --- a/d8/d77/namespacemachine__learning.html +++ b/d8/d77/namespacemachine__learning.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: machine_learning Namespace Reference +TheAlgorithms/C++: machine_learning Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + @@ -122,81 +139,81 @@ Classes
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - +

    Functions

    int save_u_matrix (const char *fname, const std::vector< std::vector< std::valarray< double > > > &W)
    int save_u_matrix (const char *fname, const std::vector< std::vector< std::valarray< double > > > &W)
     
    double update_weights (const std::valarray< double > &X, std::vector< std::vector< std::valarray< double > > > *W, std::vector< std::valarray< double > > *D, double alpha, int R)
    double update_weights (const std::valarray< double > &X, std::vector< std::vector< std::valarray< double > > > *W, std::vector< std::valarray< double > > *D, double alpha, int R)
     
    void kohonen_som (const std::vector< std::valarray< double > > &X, std::vector< std::vector< std::valarray< double > > > *W, double alpha_min)
    void kohonen_som (const std::vector< std::valarray< double > > &X, std::vector< std::vector< std::valarray< double > > > *W, double alpha_min)
     
    void update_weights (const std::valarray< double > &x, std::vector< std::valarray< double > > *W, std::valarray< double > *D, double alpha, int R)
    void update_weights (const std::valarray< double > &x, std::vector< std::valarray< double > > *W, std::valarray< double > *D, double alpha, int R)
     
    void kohonen_som_tracer (const std::vector< std::valarray< double > > &X, std::vector< std::valarray< double > > *W, double alpha_min)
    void kohonen_som_tracer (const std::vector< std::valarray< double > > &X, std::vector< std::valarray< double > > *W, double alpha_min)
     
    template<typename T >
    std::ostreamoperator<< (std::ostream &out, std::vector< std::valarray< T > > const &A)
    std::ostream & operator<< (std::ostream &out, std::vector< std::valarray< T > > const &A)
     
    template<typename T >
    std::ostreamoperator<< (std::ostream &out, const std::pair< T, T > &A)
    std::ostream & operator<< (std::ostream &out, const std::pair< T, T > &A)
     
    template<typename T >
    std::ostreamoperator<< (std::ostream &out, const std::valarray< T > &A)
    std::ostream & operator<< (std::ostream &out, const std::valarray< T > &A)
     
    template<typename T >
    std::valarray< T > insert_element (const std::valarray< T > &A, const T &ele)
    std::valarray< T > insert_element (const std::valarray< T > &A, const T &ele)
     
    template<typename T >
    std::valarray< T > pop_front (const std::valarray< T > &A)
    std::valarray< T > pop_front (const std::valarray< T > &A)
     
    template<typename T >
    std::valarray< T > pop_back (const std::valarray< T > &A)
    std::valarray< T > pop_back (const std::valarray< T > &A)
     
    template<typename T >
    void equal_shuffle (std::vector< std::vector< std::valarray< T > > > &A, std::vector< std::vector< std::valarray< T > > > &B)
    void equal_shuffle (std::vector< std::vector< std::valarray< T > > > &A, std::vector< std::vector< std::valarray< T > > > &B)
     
    template<typename T >
    void uniform_random_initialization (std::vector< std::valarray< T > > &A, const std::pair< size_t, size_t > &shape, const T &low, const T &high)
    void uniform_random_initialization (std::vector< std::valarray< T > > &A, const std::pair< size_t, size_t > &shape, const T &low, const T &high)
     
    template<typename T >
    void unit_matrix_initialization (std::vector< std::valarray< T > > &A, const std::pair< size_t, size_t > &shape)
    void unit_matrix_initialization (std::vector< std::valarray< T > > &A, const std::pair< size_t, size_t > &shape)
     
    template<typename T >
    void zeroes_initialization (std::vector< std::valarray< T > > &A, const std::pair< size_t, size_t > &shape)
    void zeroes_initialization (std::vector< std::valarray< T > > &A, const std::pair< size_t, size_t > &shape)
     
    template<typename T >
    sum (const std::vector< std::valarray< T > > &A)
    sum (const std::vector< std::valarray< T > > &A)
     
    template<typename T >
    std::pair< size_t, size_t > get_shape (const std::vector< std::valarray< T > > &A)
    std::pair< size_t, size_t > get_shape (const std::vector< std::valarray< T > > &A)
     
    template<typename T >
    std::vector< std::vector< std::valarray< T > > > minmax_scaler (const std::vector< std::vector< std::valarray< T > > > &A, const T &low, const T &high)
    std::vector< std::vector< std::valarray< T > > > minmax_scaler (const std::vector< std::vector< std::valarray< T > > > &A, const T &low, const T &high)
     
    template<typename T >
    size_t argmax (const std::vector< std::valarray< T > > &A)
    size_t argmax (const std::vector< std::valarray< T > > &A)
     
    template<typename T >
    std::vector< std::valarray< T > > apply_function (const std::vector< std::valarray< T > > &A, T(*func)(const T &))
    std::vector< std::valarray< T > > apply_function (const std::vector< std::valarray< T > > &A, T(*func)(const T &))
     
    template<typename T >
    std::vector< std::valarray< T > > operator* (const std::vector< std::valarray< T > > &A, const T &val)
    std::vector< std::valarray< T > > operator* (const std::vector< std::valarray< T > > &A, const T &val)
     
    template<typename T >
    std::vector< std::valarray< T > > operator/ (const std::vector< std::valarray< T > > &A, const T &val)
    std::vector< std::valarray< T > > operator/ (const std::vector< std::valarray< T > > &A, const T &val)
     
    template<typename T >
    std::vector< std::valarray< T > > transpose (const std::vector< std::valarray< T > > &A)
    std::vector< std::valarray< T > > transpose (const std::vector< std::valarray< T > > &A)
     
    template<typename T >
    std::vector< std::valarray< T > > operator+ (const std::vector< std::valarray< T > > &A, const std::vector< std::valarray< T > > &B)
    std::vector< std::valarray< T > > operator+ (const std::vector< std::valarray< T > > &A, const std::vector< std::valarray< T > > &B)
     
    template<typename T >
    std::vector< std::valarray< T > > operator- (const std::vector< std::valarray< T > > &A, const std::vector< std::valarray< T > > &B)
    std::vector< std::valarray< T > > operator- (const std::vector< std::valarray< T > > &A, const std::vector< std::valarray< T > > &B)
     
    template<typename T >
    std::vector< std::valarray< T > > multiply (const std::vector< std::valarray< T > > &A, const std::vector< std::valarray< T > > &B)
    std::vector< std::valarray< T > > multiply (const std::vector< std::valarray< T > > &A, const std::vector< std::valarray< T > > &B)
     
    template<typename T >
    std::vector< std::valarray< T > > hadamard_product (const std::vector< std::valarray< T > > &A, const std::vector< std::valarray< T > > &B)
    std::vector< std::valarray< T > > hadamard_product (const std::vector< std::valarray< T > > &A, const std::vector< std::valarray< T > > &B)
     

    Detailed Description

    A* search algorithm

    Machine Learning algorithms.

    -

    for std::vector

    +

    for std::vector

    Machine learning algorithms.

    A* is an informed search algorithm, or a best-first search, meaning that it is formulated in terms of weighted graphs: starting from a specific starting node of a graph (initial state), it aims to find a path to the given goal node having the smallest cost (least distance travelled, shortest time, etc.). It evaluates by maintaining a tree of paths originating at the start node and extending those paths one edge at a time until it reaches the final state. The weighted edges (or cost) is evaluated on two factors, G score (cost required from starting node or initial state to current state) and H score (cost required from current state to final state). The F(state), then is evaluated as: F(state) = G(state) + H(state).

    -

    To solve the given search with shortest cost or path possible is to inspect values having minimum F(state).

    Author
    Ashish Daulatabad for std::reverse function for std::array, representing EightPuzzle board for assert for std::function STL for IO operations for std::map STL for std::shared_ptr for std::set STL for std::vector STL
    +

    To solve the given search with shortest cost or path possible is to inspect values having minimum F(state).

    Author
    Ashish Daulatabad for std::reverse function for std::array, representing EightPuzzle board for assert for std::function STL for IO operations for std::map STL for std::shared_ptr for std::set STL for std::vector STL

    Machine learning algorithms

    -

    for std::transform and std::sort for assert for std::pow and std::sqrt for std::cout for std::accumulate for std::unordered_map

    +

    for std::transform and std::sort for assert for std::pow and std::sqrt for std::cout for std::accumulate for std::unordered_map

    Machine learning algorithms

    Function Documentation

    @@ -224,9 +241,9 @@ Variables template<typename T >

    @@ -207,12 +224,12 @@ Variables

    - + - + @@ -249,15 +266,16 @@ template<typename T >
    Returns
    new resultant vector
    + +

    Definition at line 329 of file vector_ops.hpp.

    330 {
    - +
    331 std::vector<std::valarray<double>> B =
    332 A; // New vector to store resultant vector
    333 for (auto &b : B) { // For every row in vector
    334 b = b.apply(func); // Apply function to that row
    335 }
    336 return B; // Return new resultant 2D vector
    337}
    -
    @@ -272,7 +290,7 @@ template<typename T > - +
    std::vector< std::valarray< T > > machine_learning::apply_function std::vector< std::valarray< T > > machine_learning::apply_function (const std::vector< std::valarray< T > > & A, const std::vector< std::valarray< T > > & A,
    size_t machine_learning::argmax (const std::vector< std::valarray< T > > & A)const std::vector< std::valarray< T > > & A)
    @@ -290,33 +308,23 @@ template<typename T >
    Returns
    index of maximum element
    + +

    Definition at line 307 of file vector_ops.hpp.

    307 {
    308 const auto shape = get_shape(A);
    309 // As this function is used on predicted (or target) vector, shape should be
    310 // (1, X)
    311 if (shape.first != 1) {
    -
    312 std::cerr << "ERROR (" << __func__ << ") : ";
    -
    313 std::cerr << "Supplied vector is ineligible for argmax" << std::endl;
    -
    314 std::exit(EXIT_FAILURE);
    +
    312 std::cerr << "ERROR (" << __func__ << ") : ";
    +
    313 std::cerr << "Supplied vector is ineligible for argmax" << std::endl;
    +
    314 std::exit(EXIT_FAILURE);
    315 }
    316 // Return distance of max element from first element (i.e. index)
    -
    317 return std::distance(std::begin(A[0]),
    -
    318 std::max_element(std::begin(A[0]), std::end(A[0])));
    +
    317 return std::distance(std::begin(A[0]),
    +
    318 std::max_element(std::begin(A[0]), std::end(A[0])));
    319}
    - -
    T begin(T... args)
    -
    T distance(T... args)
    -
    T end(T... args)
    -
    T endl(T... args)
    -
    T exit(T... args)
    -
    T max_element(T... args)
    -
    std::pair< size_t, size_t > get_shape(const std::vector< std::valarray< T > > &A)
    Definition vector_ops.hpp:247
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    std::pair< size_t, size_t > get_shape(const std::vector< std::valarray< T > > &A)
    + @@ -330,12 +338,12 @@ template<typename T > void machine_learning::equal_shuffle ( - std::vector< std::vector< std::valarray< T > > > & A, + std::vector< std::vector< std::valarray< T > > > & A, - std::vector< std::vector< std::valarray< T > > > & B ) + std::vector< std::vector< std::valarray< T > > > & B )
    @@ -352,36 +360,28 @@ template<typename T >
    + +

    Definition at line 136 of file vector_ops.hpp.

    137 {
    138 // If two vectors have different sizes
    -
    139 if (A.size() != B.size()) {
    -
    140 std::cerr << "ERROR (" << __func__ << ") : ";
    - +
    139 if (A.size() != B.size()) {
    +
    140 std::cerr << "ERROR (" << __func__ << ") : ";
    +
    141 std::cerr
    142 << "Can not equally shuffle two vectors with different sizes: ";
    -
    143 std::cerr << A.size() << " and " << B.size() << std::endl;
    -
    144 std::exit(EXIT_FAILURE);
    +
    143 std::cerr << A.size() << " and " << B.size() << std::endl;
    +
    144 std::exit(EXIT_FAILURE);
    145 }
    -
    146 for (size_t i = 0; i < A.size(); i++) { // For every element in A and B
    +
    146 for (size_t i = 0; i < A.size(); i++) { // For every element in A and B
    147 // Genrating random index < size of A and B
    -
    148 std::srand(std::chrono::system_clock::now().time_since_epoch().count());
    -
    149 size_t random_index = std::rand() % A.size();
    +
    148 std::srand(std::chrono::system_clock::now().time_since_epoch().count());
    +
    149 size_t random_index = std::rand() % A.size();
    150 // Swap elements in both A and B with same random index
    -
    151 std::swap(A[i], A[random_index]);
    -
    152 std::swap(B[i], B[random_index]);
    +
    151 std::swap(A[i], A[random_index]);
    +
    152 std::swap(B[i], B[random_index]);
    153 }
    154 return;
    155}
    - -
    T rand(T... args)
    -
    T size(T... args)
    -
    T srand(T... args)
    -
    T swap(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -393,9 +393,9 @@ Here is the call graph for this function: template<typename T > - + - +
    std::pair< size_t, size_t > machine_learning::get_shape std::pair< size_t, size_t > machine_learning::get_shape (const std::vector< std::valarray< T > > & A)const std::vector< std::valarray< T > > & A)
    @@ -413,25 +413,21 @@ template<typename T >
    Returns
    shape as pair
    + +

    Definition at line 247 of file vector_ops.hpp.

    247 {
    -
    248 const size_t sub_size = (*A.begin()).size();
    +
    248 const size_t sub_size = (*A.begin()).size();
    249 for (const auto &a : A) {
    250 // If supplied vector don't have same shape in all rows
    251 if (a.size() != sub_size) {
    -
    252 std::cerr << "ERROR (" << __func__ << ") : ";
    -
    253 std::cerr << "Supplied vector is not 2D Matrix" << std::endl;
    -
    254 std::exit(EXIT_FAILURE);
    +
    252 std::cerr << "ERROR (" << __func__ << ") : ";
    +
    253 std::cerr << "Supplied vector is not 2D Matrix" << std::endl;
    +
    254 std::exit(EXIT_FAILURE);
    255 }
    256 }
    -
    257 return std::make_pair(A.size(), sub_size); // Return shape as pair
    +
    257 return std::make_pair(A.size(), sub_size); // Return shape as pair
    258}
    -
    T make_pair(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -443,14 +439,14 @@ Here is the call graph for this function: template<typename T > - + - + - +
    std::vector< std::valarray< T > > machine_learning::hadamard_product std::vector< std::valarray< T > > machine_learning::hadamard_product (const std::vector< std::valarray< T > > & A, const std::vector< std::valarray< T > > & A,
    const std::vector< std::valarray< T > > & B )const std::vector< std::valarray< T > > & B )
    @@ -468,29 +464,25 @@ template<typename T >
    Returns
    new resultant vector
    + +

    Definition at line 494 of file vector_ops.hpp.

    496 {
    497 const auto shape_a = get_shape(A);
    498 const auto shape_b = get_shape(B);
    499 // If vectors are not eligible for hadamard product
    500 if (shape_a.first != shape_b.first || shape_a.second != shape_b.second) {
    -
    501 std::cerr << "ERROR (" << __func__ << ") : ";
    -
    502 std::cerr << "Vectors have different shapes ";
    -
    503 std::cerr << shape_a << " and " << shape_b << std::endl;
    -
    504 std::exit(EXIT_FAILURE);
    +
    501 std::cerr << "ERROR (" << __func__ << ") : ";
    +
    502 std::cerr << "Vectors have different shapes ";
    +
    503 std::cerr << shape_a << " and " << shape_b << std::endl;
    +
    504 std::exit(EXIT_FAILURE);
    505 }
    -
    506 std::vector<std::valarray<T>> C; // Vector to store result
    -
    507 for (size_t i = 0; i < A.size(); i++) {
    -
    508 C.push_back(A[i] * B[i]); // Elementwise multiplication
    +
    506 std::vector<std::valarray<T>> C; // Vector to store result
    +
    507 for (size_t i = 0; i < A.size(); i++) {
    +
    508 C.push_back(A[i] * B[i]); // Elementwise multiplication
    509 }
    510 return C; // Return new resultant 2D vector
    511}
    -
    T push_back(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -502,9 +494,9 @@ Here is the call graph for this function: template<typename T > - + - + @@ -527,8 +519,10 @@ template<typename T >
    Returns
    new resultant vector
    + +

    Definition at line 85 of file vector_ops.hpp.

    85 {
    -
    86 std::valarray<T> B; // New 1D vector to store resultant vector
    +
    86 std::valarray<T> B; // New 1D vector to store resultant vector
    87 B.resize(A.size() + 1); // Resizing it accordingly
    88 for (size_t i = 0; i < A.size(); i++) { // For every element in A
    89 B[i] = A[i]; // Copy element in B
    @@ -536,7 +530,6 @@ template<typename T >
    91 B[B.size() - 1] = ele; // Inserting new element in last position
    92 return B; // Return resultant vector
    93}
    - @@ -549,12 +542,12 @@ template<typename T > - + - + @@ -572,14 +565,16 @@ template<typename T >
    std::valarray< T > machine_learning::insert_element std::valarray< T > machine_learning::insert_element (const std::valarray< T > & A, const std::valarray< T > & A,
    void machine_learning::kohonen_som (const std::vector< std::valarray< double > > & X, const std::vector< std::valarray< double > > & X,
    std::vector< std::vector< std::valarray< double > > > * W, std::vector< std::vector< std::valarray< double > > > * W,
    + +

    Definition at line 269 of file kohonen_som_topology.cpp.

    271 {
    -
    272 size_t num_samples = X.size(); // number of rows
    +
    272 size_t num_samples = X.size(); // number of rows
    273 // size_t num_features = X[0].size(); // number of columns
    -
    274 size_t num_out = W->size(); // output matrix size
    +
    274 size_t num_out = W->size(); // output matrix size
    275 size_t R = num_out >> 2, iter = 0;
    276 double alpha = 1.f;
    277
    - +
    278 std::vector<std::valarray<double>> D(num_out);
    279 for (int i = 0; i < num_out; i++) D[i] = std::valarray<double>(num_out);
    280
    281 double dmin = 1.f; // average minimum distance of all samples
    @@ -608,19 +603,14 @@ template<typename T >
    304 }
    305 past_dmin = dmin;
    306
    -
    307 std::cout << "iter: " << iter << "\t alpha: " << alpha << "\t R: " << R
    +
    307 std::cout << "iter: " << iter << "\t alpha: " << alpha << "\t R: " << R
    308 << "\t d_min: " << dmin_ratio << "\r";
    309 }
    310
    -
    311 std::cout << "\n";
    +
    311 std::cout << "\n";
    312}
    -
    double update_weights(const std::valarray< double > &X, std::vector< std::vector< std::valarray< double > > > *W, std::vector< std::valarray< double > > *D, double alpha, int R)
    Definition kohonen_som_topology.cpp:200
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    double update_weights(const std::valarray< double > &X, std::vector< std::vector< std::valarray< double > > > *W, std::vector< std::valarray< double > > *D, double alpha, int R)
    + @@ -632,12 +622,12 @@ Here is the call graph for this function: void machine_learning::kohonen_som_tracer ( - const std::vector< std::valarray< double > > & X, + const std::vector< std::valarray< double > > & X, - std::vector< std::valarray< double > > * W, + std::vector< std::valarray< double > > * W, @@ -655,14 +645,16 @@ Here is the call graph for this function: + +

    Definition at line 149 of file kohonen_som_trace.cpp.

    151 {
    -
    152 int num_samples = X.size(); // number of rows
    +
    152 int num_samples = X.size(); // number of rows
    153 // int num_features = X[0].size(); // number of columns
    -
    154 int num_out = W->size(); // number of rows
    +
    154 int num_out = W->size(); // number of rows
    155 int R = num_out >> 2, iter = 0;
    156 double alpha = 1.f;
    157
    -
    158 std::valarray<double> D(num_out);
    +
    158 std::valarray<double> D(num_out);
    159
    160 // Loop alpha from 1 to slpha_min
    161 do {
    @@ -681,12 +673,7 @@ Here is the call graph for this function:
    174 iter++;
    175 } while (alpha > alpha_min);
    176}
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -698,9 +685,9 @@ Here is the call graph for this function: template<typename T > - + - + @@ -729,42 +716,37 @@ template<typename T >
    Returns
    new scaled 3D vector
    + +

    Definition at line 269 of file vector_ops.hpp.

    271 {
    - +
    272 std::vector<std::vector<std::valarray<T>>> B =
    273 A; // Copying into new vector B
    274 const auto shape = get_shape(B[0]); // Storing shape of B's every element
    275 // As this function is used for scaling training data vector should be of
    276 // shape (1, X)
    277 if (shape.first != 1) {
    -
    278 std::cerr << "ERROR (" << __func__ << ") : ";
    - +
    278 std::cerr << "ERROR (" << __func__ << ") : ";
    +
    279 std::cerr
    280 << "Supplied vector is not supported for minmax scaling, shape: ";
    -
    281 std::cerr << shape << std::endl;
    -
    282 std::exit(EXIT_FAILURE);
    +
    281 std::cerr << shape << std::endl;
    +
    282 std::exit(EXIT_FAILURE);
    283 }
    284 for (size_t i = 0; i < shape.second; i++) {
    285 T min = B[0][0][i], max = B[0][0][i];
    -
    286 for (size_t j = 0; j < B.size(); j++) {
    +
    286 for (size_t j = 0; j < B.size(); j++) {
    287 // Updating minimum and maximum values
    -
    288 min = std::min(min, B[j][0][i]);
    -
    289 max = std::max(max, B[j][0][i]);
    +
    288 min = std::min(min, B[j][0][i]);
    +
    289 max = std::max(max, B[j][0][i]);
    290 }
    -
    291 for (size_t j = 0; j < B.size(); j++) {
    +
    291 for (size_t j = 0; j < B.size(); j++) {
    292 // Applying min-max scaler formula
    293 B[j][0][i] =
    -
    294 ((B[j][0][i] - min) / (max - min)) * (high - low) + low;
    +
    294 ((B[j][0][i] - min) / (max - min)) * (high - low) + low;
    295 }
    296 }
    297 return B; // Return new resultant 3D vector
    298}
    -
    T max(T... args)
    -
    T min(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -776,14 +758,14 @@ Here is the call graph for this function: template<typename T >
    std::vector< std::vector< std::valarray< T > > > machine_learning::minmax_scaler std::vector< std::vector< std::valarray< T > > > machine_learning::minmax_scaler (const std::vector< std::vector< std::valarray< T > > > & A, const std::vector< std::vector< std::valarray< T > > > & A,
    - + - + - +
    std::vector< std::valarray< T > > machine_learning::multiply std::vector< std::valarray< T > > machine_learning::multiply (const std::vector< std::valarray< T > > & A, const std::vector< std::valarray< T > > & A,
    const std::vector< std::valarray< T > > & B )const std::vector< std::valarray< T > > & B )
    @@ -801,36 +783,33 @@ template<typename T >
    Returns
    new resultant vector
    + +

    Definition at line 460 of file vector_ops.hpp.

    461 {
    462 const auto shape_a = get_shape(A);
    463 const auto shape_b = get_shape(B);
    464 // If vectors are not eligible for multiplication
    465 if (shape_a.second != shape_b.first) {
    -
    466 std::cerr << "ERROR (" << __func__ << ") : ";
    -
    467 std::cerr << "Vectors are not eligible for multiplication ";
    -
    468 std::cerr << shape_a << " and " << shape_b << std::endl;
    -
    469 std::exit(EXIT_FAILURE);
    +
    466 std::cerr << "ERROR (" << __func__ << ") : ";
    +
    467 std::cerr << "Vectors are not eligible for multiplication ";
    +
    468 std::cerr << shape_a << " and " << shape_b << std::endl;
    +
    469 std::exit(EXIT_FAILURE);
    470 }
    -
    471 std::vector<std::valarray<T>> C; // Vector to store result
    +
    471 std::vector<std::valarray<T>> C; // Vector to store result
    472 // Normal matrix multiplication
    473 for (size_t i = 0; i < shape_a.first; i++) {
    - +
    474 std::valarray<T> row;
    475 row.resize(shape_b.second);
    476 for (size_t j = 0; j < shape_b.second; j++) {
    477 for (size_t k = 0; k < shape_a.second; k++) {
    478 row[j] += A[i][k] * B[k][j];
    479 }
    480 }
    -
    481 C.push_back(row);
    +
    481 C.push_back(row);
    482 }
    483 return C; // Return new resultant 2D vector
    484}
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -842,9 +821,9 @@ Here is the call graph for this function: template<typename T > - + - + @@ -867,8 +846,10 @@ template<typename T >
    Returns
    new resultant vector
    + +

    Definition at line 347 of file vector_ops.hpp.

    348 {
    - +
    349 std::vector<std::valarray<double>> B =
    350 A; // New vector to store resultant vector
    351 for (auto &b : B) { // For every row in vector
    352 b = b * val; // Multiply row with scaler
    @@ -887,14 +868,14 @@ template<typename T >
    template<typename T >
    std::vector< std::valarray< T > > machine_learning::operator* std::vector< std::valarray< T > > machine_learning::operator* (const std::vector< std::valarray< T > > & A, const std::vector< std::valarray< T > > & A,
    - + - + - +
    std::vector< std::valarray< T > > machine_learning::operator+ std::vector< std::valarray< T > > machine_learning::operator+ (const std::vector< std::valarray< T > > & A, const std::vector< std::valarray< T > > & A,
    const std::vector< std::valarray< T > > & B )const std::vector< std::valarray< T > > & B )
    @@ -912,28 +893,25 @@ template<typename T >
    Returns
    new resultant vector
    + +

    Definition at line 406 of file vector_ops.hpp.

    408 {
    409 const auto shape_a = get_shape(A);
    410 const auto shape_b = get_shape(B);
    411 // If vectors don't have equal shape
    412 if (shape_a.first != shape_b.first || shape_a.second != shape_b.second) {
    -
    413 std::cerr << "ERROR (" << __func__ << ") : ";
    -
    414 std::cerr << "Supplied vectors have different shapes ";
    -
    415 std::cerr << shape_a << " and " << shape_b << std::endl;
    -
    416 std::exit(EXIT_FAILURE);
    +
    413 std::cerr << "ERROR (" << __func__ << ") : ";
    +
    414 std::cerr << "Supplied vectors have different shapes ";
    +
    415 std::cerr << shape_a << " and " << shape_b << std::endl;
    +
    416 std::exit(EXIT_FAILURE);
    417 }
    - -
    419 for (size_t i = 0; i < A.size(); i++) { // For every row
    -
    420 C.push_back(A[i] + B[i]); // Elementwise addition
    +
    418 std::vector<std::valarray<T>> C;
    +
    419 for (size_t i = 0; i < A.size(); i++) { // For every row
    +
    420 C.push_back(A[i] + B[i]); // Elementwise addition
    421 }
    422 return C; // Return new resultant 2D vector
    423}
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -945,14 +923,14 @@ Here is the call graph for this function: template<typename T > - + - + - +
    std::vector< std::valarray< T > > machine_learning::operator- std::vector< std::valarray< T > > machine_learning::operator- (const std::vector< std::valarray< T > > & A, const std::vector< std::valarray< T > > & A,
    const std::vector< std::valarray< T > > & B )const std::vector< std::valarray< T > > & B )
    @@ -970,28 +948,25 @@ template<typename T >
    Returns
    new resultant vector
    + +

    Definition at line 433 of file vector_ops.hpp.

    435 {
    436 const auto shape_a = get_shape(A);
    437 const auto shape_b = get_shape(B);
    438 // If vectors don't have equal shape
    439 if (shape_a.first != shape_b.first || shape_a.second != shape_b.second) {
    -
    440 std::cerr << "ERROR (" << __func__ << ") : ";
    -
    441 std::cerr << "Supplied vectors have different shapes ";
    -
    442 std::cerr << shape_a << " and " << shape_b << std::endl;
    -
    443 std::exit(EXIT_FAILURE);
    +
    440 std::cerr << "ERROR (" << __func__ << ") : ";
    +
    441 std::cerr << "Supplied vectors have different shapes ";
    +
    442 std::cerr << shape_a << " and " << shape_b << std::endl;
    +
    443 std::exit(EXIT_FAILURE);
    444 }
    -
    445 std::vector<std::valarray<T>> C; // Vector to store result
    -
    446 for (size_t i = 0; i < A.size(); i++) { // For every row
    -
    447 C.push_back(A[i] - B[i]); // Elementwise substraction
    +
    445 std::vector<std::valarray<T>> C; // Vector to store result
    +
    446 for (size_t i = 0; i < A.size(); i++) { // For every row
    +
    447 C.push_back(A[i] - B[i]); // Elementwise substraction
    448 }
    449 return C; // Return new resultant 2D vector
    450}
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -1003,9 +978,9 @@ Here is the call graph for this function: template<typename T > - + - + @@ -1028,8 +1003,10 @@ template<typename T >
    Returns
    new resultant vector
    + +

    Definition at line 365 of file vector_ops.hpp.

    366 {
    - +
    367 std::vector<std::valarray<double>> B =
    368 A; // New vector to store resultant vector
    369 for (auto &b : B) { // For every row in vector
    370 b = b / val; // Divide row with scaler
    @@ -1048,14 +1025,14 @@ template<typename T >
    template<typename T >
    std::vector< std::valarray< T > > machine_learning::operator/ std::vector< std::valarray< T > > machine_learning::operator/ (const std::vector< std::valarray< T > > & A, const std::vector< std::valarray< T > > & A,
    - + - + - +
    std::ostream & machine_learning::operator<< std::ostream & machine_learning::operator<< (std::ostream & out, std::ostream & out,
    const std::pair< T, T > & A )const std::pair< T, T > & A )
    @@ -1067,25 +1044,21 @@ template<typename T >
    Parameters
    - +
    outstd::ostream to output
    outstd::ostream to output
    APair to be printed
    + +

    Definition at line 52 of file vector_ops.hpp.

    52 {
    53 // Setting output precision to 4 in case of floating point numbers
    -
    54 out.precision(4);
    +
    54 out.precision(4);
    55 // printing pair in the form (p, q)
    -
    56 std::cout << "(" << A.first << ", " << A.second << ")";
    +
    56 std::cout << "(" << A.first << ", " << A.second << ")";
    57 return out;
    58}
    -
    T precision(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -1097,14 +1070,14 @@ Here is the call graph for this function: template<typename T > - + - + - +
    std::ostream & machine_learning::operator<< std::ostream & machine_learning::operator<< (std::ostream & out, std::ostream & out,
    const std::valarray< T > & A )const std::valarray< T > & A )
    @@ -1116,26 +1089,23 @@ template<typename T >
    Parameters
    - +
    outstd::ostream to output
    outstd::ostream to output
    A1D vector to be printed
    + +

    Definition at line 67 of file vector_ops.hpp.

    67 {
    68 // Setting output precision to 4 in case of floating point numbers
    -
    69 out.precision(4);
    +
    69 out.precision(4);
    70 for (const auto &a : A) { // For every element in the vector.
    -
    71 std::cout << a << ' '; // Print element
    +
    71 std::cout << a << ' '; // Print element
    72 }
    - +
    73 std::cout << std::endl;
    74 return out;
    75}
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -1147,14 +1117,14 @@ Here is the call graph for this function: template<typename T > - + - + - +
    std::ostream & machine_learning::operator<< std::ostream & machine_learning::operator<< (std::ostream & out, std::ostream & out,
    std::vector< std::valarray< T > > const & A )std::vector< std::valarray< T > > const & A )
    @@ -1166,28 +1136,25 @@ template<typename T >
    Parameters
    - +
    outstd::ostream to output
    outstd::ostream to output
    A2D vector to be printed
    + +

    Definition at line 32 of file vector_ops.hpp.

    33 {
    34 // Setting output precision to 4 in case of floating point numbers
    -
    35 out.precision(4);
    +
    35 out.precision(4);
    36 for (const auto &a : A) { // For each row in A
    37 for (const auto &x : a) { // For each element in row
    -
    38 std::cout << x << ' '; // print element
    +
    38 std::cout << x << ' '; // print element
    39 }
    - +
    40 std::cout << std::endl;
    41 }
    42 return out;
    43}
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -1199,9 +1166,9 @@ Here is the call graph for this function: template<typename T > - + - +
    std::valarray< T > machine_learning::pop_back std::valarray< T > machine_learning::pop_back (const std::valarray< T > & A)const std::valarray< T > & A)
    @@ -1219,8 +1186,10 @@ template<typename T >
    Returns
    new resultant vector
    + +

    Definition at line 119 of file vector_ops.hpp.

    119 {
    -
    120 std::valarray<T> B; // New 1D vector to store resultant vector
    +
    120 std::valarray<T> B; // New 1D vector to store resultant vector
    121 B.resize(A.size() - 1); // Resizing it accordingly
    122 for (size_t i = 0; i < A.size() - 1;
    123 i++) { // For every (except last) element in A
    @@ -1240,9 +1209,9 @@ template<typename T >
    template<typename T > - + - +
    std::valarray< T > machine_learning::pop_front std::valarray< T > machine_learning::pop_front (const std::valarray< T > & A)const std::valarray< T > & A)
    @@ -1260,8 +1229,10 @@ template<typename T >
    Returns
    new resultant vector
    + +

    Definition at line 102 of file vector_ops.hpp.

    102 {
    -
    103 std::valarray<T> B; // New 1D vector to store resultant vector
    +
    103 std::valarray<T> B; // New 1D vector to store resultant vector
    104 B.resize(A.size() - 1); // Resizing it accordingly
    105 for (size_t i = 1; i < A.size();
    106 i++) { // // For every (except first) element in A
    @@ -1286,7 +1257,7 @@ template<typename T >
    - const std::vector< std::vector< std::valarray< double > > > & W ) + const std::vector< std::vector< std::valarray< double > > > & W )
    @@ -1301,25 +1272,27 @@ template<typename T >
    Returns
    0 if all ok
    -1 if file creation failed
    + +

    Definition at line 142 of file kohonen_som_topology.cpp.

    143 {
    -
    144 std::ofstream fp(fname);
    +
    144 std::ofstream fp(fname);
    145 if (!fp) { // error with fopen
    -
    146 std::cerr << "File error (" << fname << "): " << std::strerror(errno)
    -
    147 << std::endl;
    +
    146 std::cerr << "File error (" << fname << "): " << std::strerror(errno)
    +
    147 << std::endl;
    148 return -1;
    149 }
    150
    151 // neighborhood range
    152 unsigned int R = 1;
    153
    -
    154 for (int i = 0; i < W.size(); i++) { // for each x
    -
    155 for (int j = 0; j < W[0].size(); j++) { // for each y
    +
    154 for (int i = 0; i < W.size(); i++) { // for each x
    +
    155 for (int j = 0; j < W[0].size(); j++) { // for each y
    156 double distance = 0.f;
    157
    -
    158 int from_x = std::max<int>(0, i - R);
    -
    159 int to_x = std::min<int>(W.size(), i + R + 1);
    -
    160 int from_y = std::max<int>(0, j - R);
    -
    161 int to_y = std::min<int>(W[0].size(), j + R + 1);
    +
    158 int from_x = std::max<int>(0, i - R);
    +
    159 int to_x = std::min<int>(W.size(), i + R + 1);
    +
    160 int from_y = std::max<int>(0, j - R);
    +
    161 int to_y = std::min<int>(W[0].size(), j + R + 1);
    162 int l = 0, m = 0;
    163#ifdef _OPENMP
    164#pragma omp parallel for reduction(+ : distance)
    @@ -1327,19 +1300,19 @@ template<typename T >
    166 for (l = from_x; l < to_x; l++) { // scan neighborhoor in x
    167 for (m = from_y; m < to_y; m++) { // scan neighborhood in y
    168 auto d = W[i][j] - W[l][m];
    -
    169 double d2 = std::pow(d, 2).sum();
    -
    170 distance += std::sqrt(d2);
    +
    169 double d2 = std::pow(d, 2).sum();
    +
    170 distance += std::sqrt(d2);
    171 // distance += d2;
    172 }
    173 }
    174
    -
    175 distance /= R * R; // mean distance from neighbors
    -
    176 fp << distance; // print the mean separation
    +
    175 distance /= R * R; // mean distance from neighbors
    +
    176 fp << distance; // print the mean separation
    177 if (j < W[0].size() - 1) { // if not the last column
    178 fp << ','; // suffix comma
    179 }
    180 }
    -
    181 if (i < W.size() - 1) { // if not the last row
    +
    181 if (i < W.size() - 1) { // if not the last row
    182 fp << '\n'; // start a new line
    183 }
    184 }
    @@ -1347,16 +1320,7 @@ template<typename T >
    186 fp.close();
    187 return 0;
    188}
    - -
    T pow(T... args)
    -
    T sqrt(T... args)
    -
    T strerror(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -1370,7 +1334,7 @@ template<typename T > T machine_learning::sum ( - const std::vector< std::valarray< T > > & A) + const std::vector< std::valarray< T > > & A) @@ -1388,6 +1352,8 @@ template<typename T >
    Returns
    returns sum of all elements of 2D vector
    + +

    Definition at line 232 of file vector_ops.hpp.

    232 {
    233 T cur_sum = 0; // Initially sum is zero
    234 for (const auto &a : A) { // For every row in A
    @@ -1407,9 +1373,9 @@ template<typename T >
    template<typename T > - + - +
    std::vector< std::valarray< T > > machine_learning::transpose std::vector< std::valarray< T > > machine_learning::transpose (const std::vector< std::valarray< T > > & A)const std::vector< std::valarray< T > > & A)
    @@ -1427,26 +1393,23 @@ template<typename T >
    Returns
    new resultant vector
    + +

    Definition at line 382 of file vector_ops.hpp.

    383 {
    384 const auto shape = get_shape(A); // Current shape of vector
    -
    385 std::vector<std::valarray<T>> B; // New vector to store result
    +
    385 std::vector<std::valarray<T>> B; // New vector to store result
    386 // Storing transpose values of A in B
    387 for (size_t j = 0; j < shape.second; j++) {
    - +
    388 std::valarray<T> row;
    389 row.resize(shape.first);
    390 for (size_t i = 0; i < shape.first; i++) {
    391 row[i] = A[i][j];
    392 }
    -
    393 B.push_back(row);
    +
    393 B.push_back(row);
    394 }
    395 return B; // Return new resultant 2D vector
    396}
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -1460,12 +1423,12 @@ template<typename T > void machine_learning::uniform_random_initialization ( - std::vector< std::valarray< T > > & A, + std::vector< std::valarray< T > > & A, - const std::pair< size_t, size_t > & shape, + const std::pair< size_t, size_t > & shape, @@ -1494,32 +1457,26 @@ template<typename T > + +

    Definition at line 166 of file vector_ops.hpp.

    168 {
    -
    169 A.clear(); // Making A empty
    +
    169 A.clear(); // Making A empty
    170 // Uniform distribution in range [low, high]
    - -
    172 std::chrono::system_clock::now().time_since_epoch().count());
    -
    173 std::uniform_real_distribution<T> distribution(low, high);
    +
    171 std::default_random_engine generator(
    +
    172 std::chrono::system_clock::now().time_since_epoch().count());
    +
    173 std::uniform_real_distribution<T> distribution(low, high);
    174 for (size_t i = 0; i < shape.first; i++) { // For every row
    - +
    175 std::valarray<T>
    176 row; // Making empty row which will be inserted in vector
    177 row.resize(shape.second);
    178 for (auto &r : row) { // For every element in row
    179 r = distribution(generator); // copy random number
    180 }
    -
    181 A.push_back(row); // Insert new row in vector
    +
    181 A.push_back(row); // Insert new row in vector
    182 }
    183 return;
    184}
    -
    T clear(T... args)
    - - -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -1533,12 +1490,12 @@ template<typename T > void machine_learning::unit_matrix_initialization ( - std::vector< std::valarray< T > > & A, + std::vector< std::valarray< T > > & A, - const std::pair< size_t, size_t > & shape ) + const std::pair< size_t, size_t > & shape )
    @@ -1555,14 +1512,16 @@ template<typename T >
    + +

    Definition at line 193 of file vector_ops.hpp.

    194 {
    -
    195 A.clear(); // Making A empty
    +
    195 A.clear(); // Making A empty
    196 for (size_t i = 0; i < shape.first; i++) {
    - +
    197 std::valarray<T>
    198 row; // Making empty row which will be inserted in vector
    199 row.resize(shape.second);
    200 row[i] = T(1); // Insert 1 at ith position
    -
    201 A.push_back(row); // Insert new row in vector
    +
    201 A.push_back(row); // Insert new row in vector
    202 }
    203 return;
    204}
    @@ -1578,17 +1537,17 @@ template<typename T >
    void machine_learning::update_weights ( - const std::valarray< double > & x, + const std::valarray< double > & x, - std::vector< std::valarray< double > > * W, + std::vector< std::valarray< double > > * W, - std::valarray< double > * D, + std::valarray< double > * D, @@ -1613,9 +1572,11 @@ template<typename T > + +

    Definition at line 103 of file kohonen_som_trace.cpp.

    105 {
    106 int j = 0, k = 0;
    -
    107 int num_out = W->size(); // number of SOM output nodes
    +
    107 int num_out = W->size(); // number of SOM output nodes
    108 // int num_features = x.size(); // number of data features
    109
    110#ifdef _OPENMP
    @@ -1630,13 +1591,13 @@ template<typename T >
    119
    120 // step 2: get closest node i.e., node with snallest Euclidian distance to
    121 // the current pattern
    -
    122 auto result = std::min_element(std::begin(*D), std::end(*D));
    +
    122 auto result = std::min_element(std::begin(*D), std::end(*D));
    123 // double d_min = *result;
    -
    124 int d_min_idx = std::distance(std::begin(*D), result);
    +
    124 int d_min_idx = std::distance(std::begin(*D), result);
    125
    126 // step 3a: get the neighborhood range
    -
    127 int from_node = std::max(0, d_min_idx - R);
    -
    128 int to_node = std::min(num_out, d_min_idx + R + 1);
    +
    127 int from_node = std::max(0, d_min_idx - R);
    +
    128 int to_node = std::min(num_out, d_min_idx + R + 1);
    129
    130 // step 3b: update the weights of nodes in the
    131 // neighborhood
    @@ -1648,14 +1609,8 @@ template<typename T >
    137 (*W)[j] += alpha * (x - (*W)[j]);
    138 }
    139}
    -
    T min_element(T... args)
    -
    T sum(const std::vector< std::valarray< T > > &A)
    Definition vector_ops.hpp:232
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    T sum(const std::vector< std::valarray< T > > &A)
    + @@ -1667,17 +1622,17 @@ Here is the call graph for this function: double machine_learning::update_weights ( - const std::valarray< double > & X, + const std::valarray< double > & X, - std::vector< std::vector< std::valarray< double > > > * W, + std::vector< std::vector< std::valarray< double > > > * W, - std::vector< std::valarray< double > > * D, + std::vector< std::valarray< double > > * D, @@ -1703,10 +1658,12 @@ Here is the call graph for this function:
    Returns
    minimum distance of sample and trained weights
    + +

    Definition at line 200 of file kohonen_som_topology.cpp.

    203 {
    204 int x = 0, y = 0;
    -
    205 int num_out_x = static_cast<int>(W->size()); // output nodes - in X
    -
    206 int num_out_y = static_cast<int>(W[0][0].size()); // output nodes - in Y
    +
    205 int num_out_x = static_cast<int>(W->size()); // output nodes - in X
    +
    206 int num_out_y = static_cast<int>(W[0][0].size()); // output nodes - in Y
    207 // int num_features = static_cast<int>(W[0][0][0].size()); // features =
    208 // in Z
    209 double d_min = 0.f;
    @@ -1722,7 +1679,7 @@ Here is the call graph for this function:
    219 // point from the current sample
    220 auto d = ((*W)[x][y] - X);
    221 (*D)[x][y] = (d * d).sum();
    -
    222 (*D)[x][y] = std::sqrt((*D)[x][y]);
    +
    222 (*D)[x][y] = std::sqrt((*D)[x][y]);
    223 }
    224 }
    225
    @@ -1732,10 +1689,10 @@ Here is the call graph for this function:
    229 get_min_2d(*D, &d_min, &d_min_x, &d_min_y);
    230
    231 // step 3a: get the neighborhood range
    -
    232 int from_x = std::max(0, d_min_x - R);
    -
    233 int to_x = std::min(num_out_x, d_min_x + R + 1);
    -
    234 int from_y = std::max(0, d_min_y - R);
    -
    235 int to_y = std::min(num_out_y, d_min_y + R + 1);
    +
    232 int from_x = std::max(0, d_min_x - R);
    +
    233 int to_x = std::min(num_out_x, d_min_x + R + 1);
    +
    234 int from_y = std::max(0, d_min_y - R);
    +
    235 int to_y = std::min(num_out_y, d_min_y + R + 1);
    236
    237 // step 3b: update the weights of nodes in the
    238 // neighborhood
    @@ -1753,21 +1710,15 @@ Here is the call graph for this function:
    250 current node */
    251 double d2 =
    252 (d_min_x - x) * (d_min_x - x) + (d_min_y - y) * (d_min_y - y);
    -
    253 double scale_factor = std::exp(-d2 / (2.f * alpha * alpha));
    +
    253 double scale_factor = std::exp(-d2 / (2.f * alpha * alpha));
    254
    255 (*W)[x][y] += (X - (*W)[x][y]) * alpha * scale_factor;
    256 }
    257 }
    258 return d_min;
    259}
    -
    T exp(T... args)
    -
    void get_min_2d(const std::vector< std::valarray< double > > &X, double *val, int *x_idx, int *y_idx)
    Definition kohonen_som_topology.cpp:105
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    void get_min_2d(const std::vector< std::valarray< double > > &X, double *val, int *x_idx, int *y_idx)
    + @@ -1781,12 +1732,12 @@ template<typename T > void machine_learning::zeroes_initialization ( - std::vector< std::valarray< T > > & A, + std::vector< std::valarray< T > > & A, - const std::pair< size_t, size_t > & shape ) + const std::pair< size_t, size_t > & shape )
    @@ -1803,13 +1754,15 @@ template<typename T >
    + +

    Definition at line 213 of file vector_ops.hpp.

    214 {
    -
    215 A.clear(); // Making A empty
    +
    215 A.clear(); // Making A empty
    216 for (size_t i = 0; i < shape.first; i++) {
    - +
    217 std::valarray<T>
    218 row; // Making empty row which will be inserted in vector
    219 row.resize(shape.second); // By default all elements are zero
    -
    220 A.push_back(row); // Insert new row in vector
    +
    220 A.push_back(row); // Insert new row in vector
    221 }
    222 return;
    223}
    @@ -1838,6 +1791,8 @@ template<typename T >

    Minimum average distance of image nodes

    +

    Definition at line 129 of file kohonen_som_topology.cpp.

    +
    diff --git a/d8/d77/namespacemachine__learning_a042f435bca0839e721fc1574a61e8da3_cgraph.map b/d8/d77/namespacemachine__learning_a042f435bca0839e721fc1574a61e8da3_cgraph.map deleted file mode 100644 index b096cb158..000000000 --- a/d8/d77/namespacemachine__learning_a042f435bca0839e721fc1574a61e8da3_cgraph.map +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d8/d77/namespacemachine__learning_a042f435bca0839e721fc1574a61e8da3_cgraph.md5 b/d8/d77/namespacemachine__learning_a042f435bca0839e721fc1574a61e8da3_cgraph.md5 deleted file mode 100644 index 432919a85..000000000 --- a/d8/d77/namespacemachine__learning_a042f435bca0839e721fc1574a61e8da3_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -3cc03b906d359c08441aa0384717fbbd \ No newline at end of file diff --git a/d8/d77/namespacemachine__learning_a042f435bca0839e721fc1574a61e8da3_cgraph.svg b/d8/d77/namespacemachine__learning_a042f435bca0839e721fc1574a61e8da3_cgraph.svg deleted file mode 100644 index dca3be13d..000000000 --- a/d8/d77/namespacemachine__learning_a042f435bca0839e721fc1574a61e8da3_cgraph.svg +++ /dev/null @@ -1,304 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -machine_learning::kohonen_som_tracer - - -Node1 - - -machine_learning::kohonen -_som_tracer - - - - - -Node2 - - -machine_learning::update -_weights - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::exp - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -get_min_2d - - - - - -Node2->Node4 - - - - - - - - -Node9 - - -std::max - - - - - -Node2->Node9 - - - - - - - - -Node10 - - -std::min - - - - - -Node2->Node10 - - - - - - - - -Node11 - - -std::sqrt - - - - - -Node2->Node11 - - - - - - - - -Node12 - - -machine_learning::sum - - - - - -Node2->Node12 - - - - - - - - -Node5 - - -std::begin - - - - - -Node4->Node5 - - - - - - - - -Node6 - - -std::distance - - - - - -Node4->Node6 - - - - - - - - -Node7 - - -std::end - - - - - -Node4->Node7 - - - - - - - - -Node8 - - -std::min_element - - - - - -Node4->Node8 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d8/d77/namespacemachine__learning_a042f435bca0839e721fc1574a61e8da3_cgraph_org.svg b/d8/d77/namespacemachine__learning_a042f435bca0839e721fc1574a61e8da3_cgraph_org.svg deleted file mode 100644 index fb1e78473..000000000 --- a/d8/d77/namespacemachine__learning_a042f435bca0839e721fc1574a61e8da3_cgraph_org.svg +++ /dev/null @@ -1,221 +0,0 @@ - - - - - - -machine_learning::kohonen_som_tracer - - -Node1 - - -machine_learning::kohonen -_som_tracer - - - - - -Node2 - - -machine_learning::update -_weights - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::exp - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -get_min_2d - - - - - -Node2->Node4 - - - - - - - - -Node9 - - -std::max - - - - - -Node2->Node9 - - - - - - - - -Node10 - - -std::min - - - - - -Node2->Node10 - - - - - - - - -Node11 - - -std::sqrt - - - - - -Node2->Node11 - - - - - - - - -Node12 - - -machine_learning::sum - - - - - -Node2->Node12 - - - - - - - - -Node5 - - -std::begin - - - - - -Node4->Node5 - - - - - - - - -Node6 - - -std::distance - - - - - -Node4->Node6 - - - - - - - - -Node7 - - -std::end - - - - - -Node4->Node7 - - - - - - - - -Node8 - - -std::min_element - - - - - -Node4->Node8 - - - - - - - - diff --git a/d8/d77/namespacemachine__learning_a0cc29566568e0383dd7d374068cbe6b3_cgraph.map b/d8/d77/namespacemachine__learning_a0cc29566568e0383dd7d374068cbe6b3_cgraph.map deleted file mode 100644 index 91f839cfd..000000000 --- a/d8/d77/namespacemachine__learning_a0cc29566568e0383dd7d374068cbe6b3_cgraph.map +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/d8/d77/namespacemachine__learning_a0cc29566568e0383dd7d374068cbe6b3_cgraph.md5 b/d8/d77/namespacemachine__learning_a0cc29566568e0383dd7d374068cbe6b3_cgraph.md5 deleted file mode 100644 index 64a4caa85..000000000 --- a/d8/d77/namespacemachine__learning_a0cc29566568e0383dd7d374068cbe6b3_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -d8101f5693d09f00309b8cbc40cd3d18 \ No newline at end of file diff --git a/d8/d77/namespacemachine__learning_a0cc29566568e0383dd7d374068cbe6b3_cgraph.svg b/d8/d77/namespacemachine__learning_a0cc29566568e0383dd7d374068cbe6b3_cgraph.svg deleted file mode 100644 index 6c25329f8..000000000 --- a/d8/d77/namespacemachine__learning_a0cc29566568e0383dd7d374068cbe6b3_cgraph.svg +++ /dev/null @@ -1,156 +0,0 @@ - - - - - - - - - - - - -machine_learning::operator- - - -Node1 - - -machine_learning::operator- - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::exit - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -machine_learning::get -_shape - - - - - -Node1->Node4 - - - - - - - - -Node6 - - -std::vector::push_back - - - - - -Node1->Node6 - - - - - - - - -Node4->Node2 - - - - - - - - -Node4->Node3 - - - - - - - - -Node5 - - -std::make_pair - - - - - -Node4->Node5 - - - - - - - - - - - - - diff --git a/d8/d77/namespacemachine__learning_a0cc29566568e0383dd7d374068cbe6b3_cgraph_org.svg b/d8/d77/namespacemachine__learning_a0cc29566568e0383dd7d374068cbe6b3_cgraph_org.svg deleted file mode 100644 index 8e9b471aa..000000000 --- a/d8/d77/namespacemachine__learning_a0cc29566568e0383dd7d374068cbe6b3_cgraph_org.svg +++ /dev/null @@ -1,130 +0,0 @@ - - - - - - -machine_learning::operator- - - -Node1 - - -machine_learning::operator- - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::exit - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -machine_learning::get -_shape - - - - - -Node1->Node4 - - - - - - - - -Node6 - - -std::vector::push_back - - - - - -Node1->Node6 - - - - - - - - -Node4->Node2 - - - - - - - - -Node4->Node3 - - - - - - - - -Node5 - - -std::make_pair - - - - - -Node4->Node5 - - - - - - - - diff --git a/d8/d77/namespacemachine__learning_a2466857dab977a49f117029835b3b6d2_cgraph.map b/d8/d77/namespacemachine__learning_a2466857dab977a49f117029835b3b6d2_cgraph.map deleted file mode 100644 index 17c42373a..000000000 --- a/d8/d77/namespacemachine__learning_a2466857dab977a49f117029835b3b6d2_cgraph.map +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/d8/d77/namespacemachine__learning_a2466857dab977a49f117029835b3b6d2_cgraph.md5 b/d8/d77/namespacemachine__learning_a2466857dab977a49f117029835b3b6d2_cgraph.md5 deleted file mode 100644 index ec6a0aeb2..000000000 --- a/d8/d77/namespacemachine__learning_a2466857dab977a49f117029835b3b6d2_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -247972794eff46f689cd8e19b8ffb11f \ No newline at end of file diff --git a/d8/d77/namespacemachine__learning_a2466857dab977a49f117029835b3b6d2_cgraph.svg b/d8/d77/namespacemachine__learning_a2466857dab977a49f117029835b3b6d2_cgraph.svg deleted file mode 100644 index 884409f74..000000000 --- a/d8/d77/namespacemachine__learning_a2466857dab977a49f117029835b3b6d2_cgraph.svg +++ /dev/null @@ -1,156 +0,0 @@ - - - - - - - - - - - - -machine_learning::operator+ - - -Node1 - - -machine_learning::operator+ - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::exit - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -machine_learning::get -_shape - - - - - -Node1->Node4 - - - - - - - - -Node6 - - -std::vector::push_back - - - - - -Node1->Node6 - - - - - - - - -Node4->Node2 - - - - - - - - -Node4->Node3 - - - - - - - - -Node5 - - -std::make_pair - - - - - -Node4->Node5 - - - - - - - - - - - - - diff --git a/d8/d77/namespacemachine__learning_a2466857dab977a49f117029835b3b6d2_cgraph_org.svg b/d8/d77/namespacemachine__learning_a2466857dab977a49f117029835b3b6d2_cgraph_org.svg deleted file mode 100644 index ebab2fb00..000000000 --- a/d8/d77/namespacemachine__learning_a2466857dab977a49f117029835b3b6d2_cgraph_org.svg +++ /dev/null @@ -1,130 +0,0 @@ - - - - - - -machine_learning::operator+ - - -Node1 - - -machine_learning::operator+ - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::exit - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -machine_learning::get -_shape - - - - - -Node1->Node4 - - - - - - - - -Node6 - - -std::vector::push_back - - - - - -Node1->Node6 - - - - - - - - -Node4->Node2 - - - - - - - - -Node4->Node3 - - - - - - - - -Node5 - - -std::make_pair - - - - - -Node4->Node5 - - - - - - - - diff --git a/d8/d77/namespacemachine__learning_a50480fccfb39de20ca47f1bf51ecb6ec_cgraph.map b/d8/d77/namespacemachine__learning_a50480fccfb39de20ca47f1bf51ecb6ec_cgraph.map deleted file mode 100644 index fbb9c97a1..000000000 --- a/d8/d77/namespacemachine__learning_a50480fccfb39de20ca47f1bf51ecb6ec_cgraph.map +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - diff --git a/d8/d77/namespacemachine__learning_a50480fccfb39de20ca47f1bf51ecb6ec_cgraph.md5 b/d8/d77/namespacemachine__learning_a50480fccfb39de20ca47f1bf51ecb6ec_cgraph.md5 deleted file mode 100644 index 7f3b162a6..000000000 --- a/d8/d77/namespacemachine__learning_a50480fccfb39de20ca47f1bf51ecb6ec_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -cc01112d7d15e496b113c29c21b5e410 \ No newline at end of file diff --git a/d8/d77/namespacemachine__learning_a50480fccfb39de20ca47f1bf51ecb6ec_cgraph.svg b/d8/d77/namespacemachine__learning_a50480fccfb39de20ca47f1bf51ecb6ec_cgraph.svg deleted file mode 100644 index 9b4c0f29d..000000000 --- a/d8/d77/namespacemachine__learning_a50480fccfb39de20ca47f1bf51ecb6ec_cgraph.svg +++ /dev/null @@ -1,210 +0,0 @@ - - - - - - - - - - - - -machine_learning::argmax - - -Node1 - - -machine_learning::argmax - - - - - -Node2 - - -std::begin - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::distance - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::end - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::endl - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -std::exit - - - - - -Node1->Node6 - - - - - - - - -Node7 - - -machine_learning::get -_shape - - - - - -Node1->Node7 - - - - - - - - -Node9 - - -std::max_element - - - - - -Node1->Node9 - - - - - - - - -Node7->Node5 - - - - - - - - -Node7->Node6 - - - - - - - - -Node8 - - -std::make_pair - - - - - -Node7->Node8 - - - - - - - - - - - - - diff --git a/d8/d77/namespacemachine__learning_a50480fccfb39de20ca47f1bf51ecb6ec_cgraph_org.svg b/d8/d77/namespacemachine__learning_a50480fccfb39de20ca47f1bf51ecb6ec_cgraph_org.svg deleted file mode 100644 index 737fe96dc..000000000 --- a/d8/d77/namespacemachine__learning_a50480fccfb39de20ca47f1bf51ecb6ec_cgraph_org.svg +++ /dev/null @@ -1,184 +0,0 @@ - - - - - - -machine_learning::argmax - - -Node1 - - -machine_learning::argmax - - - - - -Node2 - - -std::begin - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::distance - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::end - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::endl - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -std::exit - - - - - -Node1->Node6 - - - - - - - - -Node7 - - -machine_learning::get -_shape - - - - - -Node1->Node7 - - - - - - - - -Node9 - - -std::max_element - - - - - -Node1->Node9 - - - - - - - - -Node7->Node5 - - - - - - - - -Node7->Node6 - - - - - - - - -Node8 - - -std::make_pair - - - - - -Node7->Node8 - - - - - - - - diff --git a/d8/d77/namespacemachine__learning_a5342906d42b80fc6b6b3ad17bf00fcb9_cgraph.map b/d8/d77/namespacemachine__learning_a5342906d42b80fc6b6b3ad17bf00fcb9_cgraph.map deleted file mode 100644 index e1177be47..000000000 --- a/d8/d77/namespacemachine__learning_a5342906d42b80fc6b6b3ad17bf00fcb9_cgraph.map +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/d8/d77/namespacemachine__learning_a5342906d42b80fc6b6b3ad17bf00fcb9_cgraph.md5 b/d8/d77/namespacemachine__learning_a5342906d42b80fc6b6b3ad17bf00fcb9_cgraph.md5 deleted file mode 100644 index 30ff82dd9..000000000 --- a/d8/d77/namespacemachine__learning_a5342906d42b80fc6b6b3ad17bf00fcb9_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -2c193a9d0cd44a157dbaa0205d7ecaca \ No newline at end of file diff --git a/d8/d77/namespacemachine__learning_a5342906d42b80fc6b6b3ad17bf00fcb9_cgraph.svg b/d8/d77/namespacemachine__learning_a5342906d42b80fc6b6b3ad17bf00fcb9_cgraph.svg deleted file mode 100644 index 920728d7f..000000000 --- a/d8/d77/namespacemachine__learning_a5342906d42b80fc6b6b3ad17bf00fcb9_cgraph.svg +++ /dev/null @@ -1,156 +0,0 @@ - - - - - - - - - - - - -machine_learning::multiply - - -Node1 - - -machine_learning::multiply - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::exit - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -machine_learning::get -_shape - - - - - -Node1->Node4 - - - - - - - - -Node6 - - -std::vector::push_back - - - - - -Node1->Node6 - - - - - - - - -Node4->Node2 - - - - - - - - -Node4->Node3 - - - - - - - - -Node5 - - -std::make_pair - - - - - -Node4->Node5 - - - - - - - - - - - - - diff --git a/d8/d77/namespacemachine__learning_a5342906d42b80fc6b6b3ad17bf00fcb9_cgraph_org.svg b/d8/d77/namespacemachine__learning_a5342906d42b80fc6b6b3ad17bf00fcb9_cgraph_org.svg deleted file mode 100644 index 075c9553f..000000000 --- a/d8/d77/namespacemachine__learning_a5342906d42b80fc6b6b3ad17bf00fcb9_cgraph_org.svg +++ /dev/null @@ -1,130 +0,0 @@ - - - - - - -machine_learning::multiply - - -Node1 - - -machine_learning::multiply - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::exit - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -machine_learning::get -_shape - - - - - -Node1->Node4 - - - - - - - - -Node6 - - -std::vector::push_back - - - - - -Node1->Node6 - - - - - - - - -Node4->Node2 - - - - - - - - -Node4->Node3 - - - - - - - - -Node5 - - -std::make_pair - - - - - -Node4->Node5 - - - - - - - - diff --git a/d8/d77/namespacemachine__learning_a54bf1f3c43271a5fc93101f6ae2e6269_cgraph.map b/d8/d77/namespacemachine__learning_a54bf1f3c43271a5fc93101f6ae2e6269_cgraph.map deleted file mode 100644 index 0f6fa6bf6..000000000 --- a/d8/d77/namespacemachine__learning_a54bf1f3c43271a5fc93101f6ae2e6269_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/d8/d77/namespacemachine__learning_a54bf1f3c43271a5fc93101f6ae2e6269_cgraph.md5 b/d8/d77/namespacemachine__learning_a54bf1f3c43271a5fc93101f6ae2e6269_cgraph.md5 deleted file mode 100644 index f958f89d5..000000000 --- a/d8/d77/namespacemachine__learning_a54bf1f3c43271a5fc93101f6ae2e6269_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -5037bc766a84951d786a77f5d204d721 \ No newline at end of file diff --git a/d8/d77/namespacemachine__learning_a54bf1f3c43271a5fc93101f6ae2e6269_cgraph.svg b/d8/d77/namespacemachine__learning_a54bf1f3c43271a5fc93101f6ae2e6269_cgraph.svg deleted file mode 100644 index 00a8bcc40..000000000 --- a/d8/d77/namespacemachine__learning_a54bf1f3c43271a5fc93101f6ae2e6269_cgraph.svg +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - -machine_learning::operator<< - - -Node1 - - -machine_learning::operator<< - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::ostream::precision - - - - - -Node1->Node3 - - - - - - - - - - - - - diff --git a/d8/d77/namespacemachine__learning_a54bf1f3c43271a5fc93101f6ae2e6269_cgraph_org.svg b/d8/d77/namespacemachine__learning_a54bf1f3c43271a5fc93101f6ae2e6269_cgraph_org.svg deleted file mode 100644 index 3026822e9..000000000 --- a/d8/d77/namespacemachine__learning_a54bf1f3c43271a5fc93101f6ae2e6269_cgraph_org.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - -machine_learning::operator<< - - -Node1 - - -machine_learning::operator<< - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::ostream::precision - - - - - -Node1->Node3 - - - - - - - - diff --git a/d8/d77/namespacemachine__learning_a84260cb1be9b63d6e38107000ac4b7e7_cgraph.map b/d8/d77/namespacemachine__learning_a84260cb1be9b63d6e38107000ac4b7e7_cgraph.map deleted file mode 100644 index 0f6fa6bf6..000000000 --- a/d8/d77/namespacemachine__learning_a84260cb1be9b63d6e38107000ac4b7e7_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/d8/d77/namespacemachine__learning_a84260cb1be9b63d6e38107000ac4b7e7_cgraph.md5 b/d8/d77/namespacemachine__learning_a84260cb1be9b63d6e38107000ac4b7e7_cgraph.md5 deleted file mode 100644 index f958f89d5..000000000 --- a/d8/d77/namespacemachine__learning_a84260cb1be9b63d6e38107000ac4b7e7_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -5037bc766a84951d786a77f5d204d721 \ No newline at end of file diff --git a/d8/d77/namespacemachine__learning_a84260cb1be9b63d6e38107000ac4b7e7_cgraph.svg b/d8/d77/namespacemachine__learning_a84260cb1be9b63d6e38107000ac4b7e7_cgraph.svg deleted file mode 100644 index 00a8bcc40..000000000 --- a/d8/d77/namespacemachine__learning_a84260cb1be9b63d6e38107000ac4b7e7_cgraph.svg +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - -machine_learning::operator<< - - -Node1 - - -machine_learning::operator<< - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::ostream::precision - - - - - -Node1->Node3 - - - - - - - - - - - - - diff --git a/d8/d77/namespacemachine__learning_a84260cb1be9b63d6e38107000ac4b7e7_cgraph_org.svg b/d8/d77/namespacemachine__learning_a84260cb1be9b63d6e38107000ac4b7e7_cgraph_org.svg deleted file mode 100644 index 3026822e9..000000000 --- a/d8/d77/namespacemachine__learning_a84260cb1be9b63d6e38107000ac4b7e7_cgraph_org.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - -machine_learning::operator<< - - -Node1 - - -machine_learning::operator<< - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::ostream::precision - - - - - -Node1->Node3 - - - - - - - - diff --git a/d8/d77/namespacemachine__learning_a89fde571b38f9483576594f66572958a_cgraph.map b/d8/d77/namespacemachine__learning_a89fde571b38f9483576594f66572958a_cgraph.map deleted file mode 100644 index 3428c3383..000000000 --- a/d8/d77/namespacemachine__learning_a89fde571b38f9483576594f66572958a_cgraph.map +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - diff --git a/d8/d77/namespacemachine__learning_a89fde571b38f9483576594f66572958a_cgraph.md5 b/d8/d77/namespacemachine__learning_a89fde571b38f9483576594f66572958a_cgraph.md5 deleted file mode 100644 index 44141fbb9..000000000 --- a/d8/d77/namespacemachine__learning_a89fde571b38f9483576594f66572958a_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -6b1ef74efb35731f28bb16be1b0c4d95 \ No newline at end of file diff --git a/d8/d77/namespacemachine__learning_a89fde571b38f9483576594f66572958a_cgraph.svg b/d8/d77/namespacemachine__learning_a89fde571b38f9483576594f66572958a_cgraph.svg deleted file mode 100644 index ec39169c2..000000000 --- a/d8/d77/namespacemachine__learning_a89fde571b38f9483576594f66572958a_cgraph.svg +++ /dev/null @@ -1,138 +0,0 @@ - - - - - - - - - - - - -machine_learning::transpose - - -Node1 - - -machine_learning::transpose - - - - - -Node2 - - -machine_learning::get -_shape - - - - - -Node1->Node2 - - - - - - - - -Node6 - - -std::vector::push_back - - - - - -Node1->Node6 - - - - - - - - -Node3 - - -std::endl - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::exit - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -std::make_pair - - - - - -Node2->Node5 - - - - - - - - - - - - - diff --git a/d8/d77/namespacemachine__learning_a89fde571b38f9483576594f66572958a_cgraph_org.svg b/d8/d77/namespacemachine__learning_a89fde571b38f9483576594f66572958a_cgraph_org.svg deleted file mode 100644 index 4e7d13395..000000000 --- a/d8/d77/namespacemachine__learning_a89fde571b38f9483576594f66572958a_cgraph_org.svg +++ /dev/null @@ -1,112 +0,0 @@ - - - - - - -machine_learning::transpose - - -Node1 - - -machine_learning::transpose - - - - - -Node2 - - -machine_learning::get -_shape - - - - - -Node1->Node2 - - - - - - - - -Node6 - - -std::vector::push_back - - - - - -Node1->Node6 - - - - - - - - -Node3 - - -std::endl - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::exit - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -std::make_pair - - - - - -Node2->Node5 - - - - - - - - diff --git a/d8/d77/namespacemachine__learning_aa4bbf61e65f8cd297255fa94b983d078_cgraph.map b/d8/d77/namespacemachine__learning_aa4bbf61e65f8cd297255fa94b983d078_cgraph.map deleted file mode 100644 index 1dcda80b1..000000000 --- a/d8/d77/namespacemachine__learning_aa4bbf61e65f8cd297255fa94b983d078_cgraph.map +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/d8/d77/namespacemachine__learning_aa4bbf61e65f8cd297255fa94b983d078_cgraph.md5 b/d8/d77/namespacemachine__learning_aa4bbf61e65f8cd297255fa94b983d078_cgraph.md5 deleted file mode 100644 index 5c473caaa..000000000 --- a/d8/d77/namespacemachine__learning_aa4bbf61e65f8cd297255fa94b983d078_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -f38dbca57ad86d19aeaeeb0601eee6bf \ No newline at end of file diff --git a/d8/d77/namespacemachine__learning_aa4bbf61e65f8cd297255fa94b983d078_cgraph.svg b/d8/d77/namespacemachine__learning_aa4bbf61e65f8cd297255fa94b983d078_cgraph.svg deleted file mode 100644 index bb33a07b6..000000000 --- a/d8/d77/namespacemachine__learning_aa4bbf61e65f8cd297255fa94b983d078_cgraph.svg +++ /dev/null @@ -1,102 +0,0 @@ - - - - - - - - - - - - -machine_learning::get_shape - - -Node1 - - -machine_learning::get -_shape - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::exit - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::make_pair - - - - - -Node1->Node4 - - - - - - - - - - - - - diff --git a/d8/d77/namespacemachine__learning_aa4bbf61e65f8cd297255fa94b983d078_cgraph_org.svg b/d8/d77/namespacemachine__learning_aa4bbf61e65f8cd297255fa94b983d078_cgraph_org.svg deleted file mode 100644 index 995cafa2e..000000000 --- a/d8/d77/namespacemachine__learning_aa4bbf61e65f8cd297255fa94b983d078_cgraph_org.svg +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - -machine_learning::get_shape - - -Node1 - - -machine_learning::get -_shape - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::exit - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::make_pair - - - - - -Node1->Node4 - - - - - - - - diff --git a/d8/d77/namespacemachine__learning_aa6aac06ccf128b0a9c55c9ee1a8e5631_cgraph.map b/d8/d77/namespacemachine__learning_aa6aac06ccf128b0a9c55c9ee1a8e5631_cgraph.map deleted file mode 100644 index 4c4adafa6..000000000 --- a/d8/d77/namespacemachine__learning_aa6aac06ccf128b0a9c55c9ee1a8e5631_cgraph.map +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - - - - - diff --git a/d8/d77/namespacemachine__learning_aa6aac06ccf128b0a9c55c9ee1a8e5631_cgraph.md5 b/d8/d77/namespacemachine__learning_aa6aac06ccf128b0a9c55c9ee1a8e5631_cgraph.md5 deleted file mode 100644 index da2dccc50..000000000 --- a/d8/d77/namespacemachine__learning_aa6aac06ccf128b0a9c55c9ee1a8e5631_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -3709bc64978373ca8cd8d9a4c6557055 \ No newline at end of file diff --git a/d8/d77/namespacemachine__learning_aa6aac06ccf128b0a9c55c9ee1a8e5631_cgraph.svg b/d8/d77/namespacemachine__learning_aa6aac06ccf128b0a9c55c9ee1a8e5631_cgraph.svg deleted file mode 100644 index f5bbbdf19..000000000 --- a/d8/d77/namespacemachine__learning_aa6aac06ccf128b0a9c55c9ee1a8e5631_cgraph.svg +++ /dev/null @@ -1,174 +0,0 @@ - - - - - - - - - - - - -machine_learning::update_weights - - -Node1 - - -machine_learning::update -_weights - - - - - -Node2 - - -std::begin - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::distance - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::end - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::max - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -std::min - - - - - -Node1->Node6 - - - - - - - - -Node7 - - -std::min_element - - - - - -Node1->Node7 - - - - - - - - -Node8 - - -machine_learning::sum - - - - - -Node1->Node8 - - - - - - - - - - - - - diff --git a/d8/d77/namespacemachine__learning_aa6aac06ccf128b0a9c55c9ee1a8e5631_cgraph_org.svg b/d8/d77/namespacemachine__learning_aa6aac06ccf128b0a9c55c9ee1a8e5631_cgraph_org.svg deleted file mode 100644 index c1ad69052..000000000 --- a/d8/d77/namespacemachine__learning_aa6aac06ccf128b0a9c55c9ee1a8e5631_cgraph_org.svg +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - -machine_learning::update_weights - - -Node1 - - -machine_learning::update -_weights - - - - - -Node2 - - -std::begin - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::distance - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::end - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::max - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -std::min - - - - - -Node1->Node6 - - - - - - - - -Node7 - - -std::min_element - - - - - -Node1->Node7 - - - - - - - - -Node8 - - -machine_learning::sum - - - - - -Node1->Node8 - - - - - - - - diff --git a/d8/d77/namespacemachine__learning_aa72a53c88203fde278f1fe6c3afe5b07_cgraph.map b/d8/d77/namespacemachine__learning_aa72a53c88203fde278f1fe6c3afe5b07_cgraph.map deleted file mode 100644 index e0ac47463..000000000 --- a/d8/d77/namespacemachine__learning_aa72a53c88203fde278f1fe6c3afe5b07_cgraph.map +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - - - - - diff --git a/d8/d77/namespacemachine__learning_aa72a53c88203fde278f1fe6c3afe5b07_cgraph.md5 b/d8/d77/namespacemachine__learning_aa72a53c88203fde278f1fe6c3afe5b07_cgraph.md5 deleted file mode 100644 index 8b62c9763..000000000 --- a/d8/d77/namespacemachine__learning_aa72a53c88203fde278f1fe6c3afe5b07_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -fb4b98105ab650a59ab2527c12036106 \ No newline at end of file diff --git a/d8/d77/namespacemachine__learning_aa72a53c88203fde278f1fe6c3afe5b07_cgraph.svg b/d8/d77/namespacemachine__learning_aa72a53c88203fde278f1fe6c3afe5b07_cgraph.svg deleted file mode 100644 index c99cf8b50..000000000 --- a/d8/d77/namespacemachine__learning_aa72a53c88203fde278f1fe6c3afe5b07_cgraph.svg +++ /dev/null @@ -1,174 +0,0 @@ - - - - - - - - - - - - -machine_learning::save_u_matrix - - -Node1 - - -machine_learning::save -_u_matrix - - - - - -Node2 - - -std::ofstream::close - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::max - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::min - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -std::pow - - - - - -Node1->Node6 - - - - - - - - -Node7 - - -std::sqrt - - - - - -Node1->Node7 - - - - - - - - -Node8 - - -std::strerror - - - - - -Node1->Node8 - - - - - - - - - - - - - diff --git a/d8/d77/namespacemachine__learning_aa72a53c88203fde278f1fe6c3afe5b07_cgraph_org.svg b/d8/d77/namespacemachine__learning_aa72a53c88203fde278f1fe6c3afe5b07_cgraph_org.svg deleted file mode 100644 index 5739a36f7..000000000 --- a/d8/d77/namespacemachine__learning_aa72a53c88203fde278f1fe6c3afe5b07_cgraph_org.svg +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - -machine_learning::save_u_matrix - - -Node1 - - -machine_learning::save -_u_matrix - - - - - -Node2 - - -std::ofstream::close - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::max - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::min - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -std::pow - - - - - -Node1->Node6 - - - - - - - - -Node7 - - -std::sqrt - - - - - -Node1->Node7 - - - - - - - - -Node8 - - -std::strerror - - - - - -Node1->Node8 - - - - - - - - diff --git a/d8/d77/namespacemachine__learning_abee7b35403af3612222d3b7a53074905_cgraph.map b/d8/d77/namespacemachine__learning_abee7b35403af3612222d3b7a53074905_cgraph.map deleted file mode 100644 index 52dc31cae..000000000 --- a/d8/d77/namespacemachine__learning_abee7b35403af3612222d3b7a53074905_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d8/d77/namespacemachine__learning_abee7b35403af3612222d3b7a53074905_cgraph.md5 b/d8/d77/namespacemachine__learning_abee7b35403af3612222d3b7a53074905_cgraph.md5 deleted file mode 100644 index 252a323c0..000000000 --- a/d8/d77/namespacemachine__learning_abee7b35403af3612222d3b7a53074905_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -b05719588f7d37dc492d839787c0c8c9 \ No newline at end of file diff --git a/d8/d77/namespacemachine__learning_abee7b35403af3612222d3b7a53074905_cgraph.svg b/d8/d77/namespacemachine__learning_abee7b35403af3612222d3b7a53074905_cgraph.svg deleted file mode 100644 index 10990adb9..000000000 --- a/d8/d77/namespacemachine__learning_abee7b35403af3612222d3b7a53074905_cgraph.svg +++ /dev/null @@ -1,67 +0,0 @@ - - - - - - - - - - - - -machine_learning::uniform_random_initialization - - -Node1 - - -machine_learning::uniform -_random_initialization - - - - - -Node2 - - -std::chrono::system -_clock::now - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d8/d77/namespacemachine__learning_abee7b35403af3612222d3b7a53074905_cgraph_org.svg b/d8/d77/namespacemachine__learning_abee7b35403af3612222d3b7a53074905_cgraph_org.svg deleted file mode 100644 index 33580a0ef..000000000 --- a/d8/d77/namespacemachine__learning_abee7b35403af3612222d3b7a53074905_cgraph_org.svg +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - -machine_learning::uniform_random_initialization - - -Node1 - - -machine_learning::uniform -_random_initialization - - - - - -Node2 - - -std::chrono::system -_clock::now - - - - - -Node1->Node2 - - - - - - - - diff --git a/d8/d77/namespacemachine__learning_ac332d152078e96311e43ac5e7183ea26_cgraph.map b/d8/d77/namespacemachine__learning_ac332d152078e96311e43ac5e7183ea26_cgraph.map deleted file mode 100644 index 1778ccefe..000000000 --- a/d8/d77/namespacemachine__learning_ac332d152078e96311e43ac5e7183ea26_cgraph.map +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - - - - - - - - - - diff --git a/d8/d77/namespacemachine__learning_ac332d152078e96311e43ac5e7183ea26_cgraph.md5 b/d8/d77/namespacemachine__learning_ac332d152078e96311e43ac5e7183ea26_cgraph.md5 deleted file mode 100644 index 0f970f1c0..000000000 --- a/d8/d77/namespacemachine__learning_ac332d152078e96311e43ac5e7183ea26_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -c7b154abfc1ecb088a2707bfb74ffc48 \ No newline at end of file diff --git a/d8/d77/namespacemachine__learning_ac332d152078e96311e43ac5e7183ea26_cgraph.svg b/d8/d77/namespacemachine__learning_ac332d152078e96311e43ac5e7183ea26_cgraph.svg deleted file mode 100644 index 12b1dcc3c..000000000 --- a/d8/d77/namespacemachine__learning_ac332d152078e96311e43ac5e7183ea26_cgraph.svg +++ /dev/null @@ -1,193 +0,0 @@ - - - - - - - - - - - - -machine_learning::minmax_scaler - - -Node1 - - -machine_learning::minmax -_scaler - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::exit - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -machine_learning::get -_shape - - - - - -Node1->Node4 - - - - - - - - -Node6 - - -std::max - - - - - -Node1->Node6 - - - - - - - - -Node7 - - -std::min - - - - - -Node1->Node7 - - - - - - - - -Node8 - - -std::vector::size - - - - - -Node1->Node8 - - - - - - - - -Node4->Node2 - - - - - - - - -Node4->Node3 - - - - - - - - -Node5 - - -std::make_pair - - - - - -Node4->Node5 - - - - - - - - - - - - - diff --git a/d8/d77/namespacemachine__learning_ac332d152078e96311e43ac5e7183ea26_cgraph_org.svg b/d8/d77/namespacemachine__learning_ac332d152078e96311e43ac5e7183ea26_cgraph_org.svg deleted file mode 100644 index 0d7e9519f..000000000 --- a/d8/d77/namespacemachine__learning_ac332d152078e96311e43ac5e7183ea26_cgraph_org.svg +++ /dev/null @@ -1,167 +0,0 @@ - - - - - - -machine_learning::minmax_scaler - - -Node1 - - -machine_learning::minmax -_scaler - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::exit - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -machine_learning::get -_shape - - - - - -Node1->Node4 - - - - - - - - -Node6 - - -std::max - - - - - -Node1->Node6 - - - - - - - - -Node7 - - -std::min - - - - - -Node1->Node7 - - - - - - - - -Node8 - - -std::vector::size - - - - - -Node1->Node8 - - - - - - - - -Node4->Node2 - - - - - - - - -Node4->Node3 - - - - - - - - -Node5 - - -std::make_pair - - - - - -Node4->Node5 - - - - - - - - diff --git a/d8/d77/namespacemachine__learning_ac43d294e21a0c4fa33c53757df054576_cgraph.map b/d8/d77/namespacemachine__learning_ac43d294e21a0c4fa33c53757df054576_cgraph.map deleted file mode 100644 index 679d76a67..000000000 --- a/d8/d77/namespacemachine__learning_ac43d294e21a0c4fa33c53757df054576_cgraph.map +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d8/d77/namespacemachine__learning_ac43d294e21a0c4fa33c53757df054576_cgraph.md5 b/d8/d77/namespacemachine__learning_ac43d294e21a0c4fa33c53757df054576_cgraph.md5 deleted file mode 100644 index e6fdbeee6..000000000 --- a/d8/d77/namespacemachine__learning_ac43d294e21a0c4fa33c53757df054576_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -fc4174f43c406273aae7026d0b3b0803 \ No newline at end of file diff --git a/d8/d77/namespacemachine__learning_ac43d294e21a0c4fa33c53757df054576_cgraph.svg b/d8/d77/namespacemachine__learning_ac43d294e21a0c4fa33c53757df054576_cgraph.svg deleted file mode 100644 index 0c8f5981b..000000000 --- a/d8/d77/namespacemachine__learning_ac43d294e21a0c4fa33c53757df054576_cgraph.svg +++ /dev/null @@ -1,303 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -machine_learning::kohonen_som - - -Node1 - - -machine_learning::kohonen_som - - - - - -Node2 - - -machine_learning::update -_weights - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::exp - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -get_min_2d - - - - - -Node2->Node4 - - - - - - - - -Node9 - - -std::max - - - - - -Node2->Node9 - - - - - - - - -Node10 - - -std::min - - - - - -Node2->Node10 - - - - - - - - -Node11 - - -std::sqrt - - - - - -Node2->Node11 - - - - - - - - -Node12 - - -machine_learning::sum - - - - - -Node2->Node12 - - - - - - - - -Node5 - - -std::begin - - - - - -Node4->Node5 - - - - - - - - -Node6 - - -std::distance - - - - - -Node4->Node6 - - - - - - - - -Node7 - - -std::end - - - - - -Node4->Node7 - - - - - - - - -Node8 - - -std::min_element - - - - - -Node4->Node8 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d8/d77/namespacemachine__learning_ac43d294e21a0c4fa33c53757df054576_cgraph_org.svg b/d8/d77/namespacemachine__learning_ac43d294e21a0c4fa33c53757df054576_cgraph_org.svg deleted file mode 100644 index 862bf89b3..000000000 --- a/d8/d77/namespacemachine__learning_ac43d294e21a0c4fa33c53757df054576_cgraph_org.svg +++ /dev/null @@ -1,220 +0,0 @@ - - - - - - -machine_learning::kohonen_som - - -Node1 - - -machine_learning::kohonen_som - - - - - -Node2 - - -machine_learning::update -_weights - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::exp - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -get_min_2d - - - - - -Node2->Node4 - - - - - - - - -Node9 - - -std::max - - - - - -Node2->Node9 - - - - - - - - -Node10 - - -std::min - - - - - -Node2->Node10 - - - - - - - - -Node11 - - -std::sqrt - - - - - -Node2->Node11 - - - - - - - - -Node12 - - -machine_learning::sum - - - - - -Node2->Node12 - - - - - - - - -Node5 - - -std::begin - - - - - -Node4->Node5 - - - - - - - - -Node6 - - -std::distance - - - - - -Node4->Node6 - - - - - - - - -Node7 - - -std::end - - - - - -Node4->Node7 - - - - - - - - -Node8 - - -std::min_element - - - - - -Node4->Node8 - - - - - - - - diff --git a/d8/d77/namespacemachine__learning_acafa3e62b686aebdbad81c4f89913f43_cgraph.map b/d8/d77/namespacemachine__learning_acafa3e62b686aebdbad81c4f89913f43_cgraph.map deleted file mode 100644 index 59d6ba9e9..000000000 --- a/d8/d77/namespacemachine__learning_acafa3e62b686aebdbad81c4f89913f43_cgraph.map +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/d8/d77/namespacemachine__learning_acafa3e62b686aebdbad81c4f89913f43_cgraph.md5 b/d8/d77/namespacemachine__learning_acafa3e62b686aebdbad81c4f89913f43_cgraph.md5 deleted file mode 100644 index 60306942f..000000000 --- a/d8/d77/namespacemachine__learning_acafa3e62b686aebdbad81c4f89913f43_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -9638fe9118e02549742e35346e71ec94 \ No newline at end of file diff --git a/d8/d77/namespacemachine__learning_acafa3e62b686aebdbad81c4f89913f43_cgraph.svg b/d8/d77/namespacemachine__learning_acafa3e62b686aebdbad81c4f89913f43_cgraph.svg deleted file mode 100644 index 6d9f5c50d..000000000 --- a/d8/d77/namespacemachine__learning_acafa3e62b686aebdbad81c4f89913f43_cgraph.svg +++ /dev/null @@ -1,157 +0,0 @@ - - - - - - - - - - - - -machine_learning::hadamard_product - - -Node1 - - -machine_learning::hadamard -_product - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::exit - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -machine_learning::get -_shape - - - - - -Node1->Node4 - - - - - - - - -Node6 - - -std::vector::push_back - - - - - -Node1->Node6 - - - - - - - - -Node4->Node2 - - - - - - - - -Node4->Node3 - - - - - - - - -Node5 - - -std::make_pair - - - - - -Node4->Node5 - - - - - - - - - - - - - diff --git a/d8/d77/namespacemachine__learning_acafa3e62b686aebdbad81c4f89913f43_cgraph_org.svg b/d8/d77/namespacemachine__learning_acafa3e62b686aebdbad81c4f89913f43_cgraph_org.svg deleted file mode 100644 index c16568e33..000000000 --- a/d8/d77/namespacemachine__learning_acafa3e62b686aebdbad81c4f89913f43_cgraph_org.svg +++ /dev/null @@ -1,131 +0,0 @@ - - - - - - -machine_learning::hadamard_product - - -Node1 - - -machine_learning::hadamard -_product - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::exit - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -machine_learning::get -_shape - - - - - -Node1->Node4 - - - - - - - - -Node6 - - -std::vector::push_back - - - - - -Node1->Node6 - - - - - - - - -Node4->Node2 - - - - - - - - -Node4->Node3 - - - - - - - - -Node5 - - -std::make_pair - - - - - -Node4->Node5 - - - - - - - - diff --git a/d8/d77/namespacemachine__learning_ae868ad43698a1d69ba46ea3827d7d2c3_cgraph.map b/d8/d77/namespacemachine__learning_ae868ad43698a1d69ba46ea3827d7d2c3_cgraph.map deleted file mode 100644 index 50839566f..000000000 --- a/d8/d77/namespacemachine__learning_ae868ad43698a1d69ba46ea3827d7d2c3_cgraph.map +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d8/d77/namespacemachine__learning_ae868ad43698a1d69ba46ea3827d7d2c3_cgraph.md5 b/d8/d77/namespacemachine__learning_ae868ad43698a1d69ba46ea3827d7d2c3_cgraph.md5 deleted file mode 100644 index eb9e311f1..000000000 --- a/d8/d77/namespacemachine__learning_ae868ad43698a1d69ba46ea3827d7d2c3_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -73823ce5ba1f01ccb5bf75c23d608df8 \ No newline at end of file diff --git a/d8/d77/namespacemachine__learning_ae868ad43698a1d69ba46ea3827d7d2c3_cgraph.svg b/d8/d77/namespacemachine__learning_ae868ad43698a1d69ba46ea3827d7d2c3_cgraph.svg deleted file mode 100644 index 811d2e614..000000000 --- a/d8/d77/namespacemachine__learning_ae868ad43698a1d69ba46ea3827d7d2c3_cgraph.svg +++ /dev/null @@ -1,228 +0,0 @@ - - - - - - - - - - - - -machine_learning::update_weights - - -Node1 - - -machine_learning::update -_weights - - - - - -Node2 - - -std::exp - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -get_min_2d - - - - - -Node1->Node3 - - - - - - - - -Node8 - - -std::max - - - - - -Node1->Node8 - - - - - - - - -Node9 - - -std::min - - - - - -Node1->Node9 - - - - - - - - -Node10 - - -std::sqrt - - - - - -Node1->Node10 - - - - - - - - -Node11 - - -machine_learning::sum - - - - - -Node1->Node11 - - - - - - - - -Node4 - - -std::begin - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -std::distance - - - - - -Node3->Node5 - - - - - - - - -Node6 - - -std::end - - - - - -Node3->Node6 - - - - - - - - -Node7 - - -std::min_element - - - - - -Node3->Node7 - - - - - - - - - - - - - diff --git a/d8/d77/namespacemachine__learning_ae868ad43698a1d69ba46ea3827d7d2c3_cgraph_org.svg b/d8/d77/namespacemachine__learning_ae868ad43698a1d69ba46ea3827d7d2c3_cgraph_org.svg deleted file mode 100644 index 4ae12cb20..000000000 --- a/d8/d77/namespacemachine__learning_ae868ad43698a1d69ba46ea3827d7d2c3_cgraph_org.svg +++ /dev/null @@ -1,202 +0,0 @@ - - - - - - -machine_learning::update_weights - - -Node1 - - -machine_learning::update -_weights - - - - - -Node2 - - -std::exp - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -get_min_2d - - - - - -Node1->Node3 - - - - - - - - -Node8 - - -std::max - - - - - -Node1->Node8 - - - - - - - - -Node9 - - -std::min - - - - - -Node1->Node9 - - - - - - - - -Node10 - - -std::sqrt - - - - - -Node1->Node10 - - - - - - - - -Node11 - - -machine_learning::sum - - - - - -Node1->Node11 - - - - - - - - -Node4 - - -std::begin - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -std::distance - - - - - -Node3->Node5 - - - - - - - - -Node6 - - -std::end - - - - - -Node3->Node6 - - - - - - - - -Node7 - - -std::min_element - - - - - -Node3->Node7 - - - - - - - - diff --git a/d8/d77/namespacemachine__learning_af4986b23760039711848155739c31b35_cgraph.map b/d8/d77/namespacemachine__learning_af4986b23760039711848155739c31b35_cgraph.map deleted file mode 100644 index 2b247eafd..000000000 --- a/d8/d77/namespacemachine__learning_af4986b23760039711848155739c31b35_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d8/d77/namespacemachine__learning_af4986b23760039711848155739c31b35_cgraph.md5 b/d8/d77/namespacemachine__learning_af4986b23760039711848155739c31b35_cgraph.md5 deleted file mode 100644 index ac89327b0..000000000 --- a/d8/d77/namespacemachine__learning_af4986b23760039711848155739c31b35_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -7f1dc6e9d6cb9a5a6d5f47948242c662 \ No newline at end of file diff --git a/d8/d77/namespacemachine__learning_af4986b23760039711848155739c31b35_cgraph.svg b/d8/d77/namespacemachine__learning_af4986b23760039711848155739c31b35_cgraph.svg deleted file mode 100644 index 1df3fde77..000000000 --- a/d8/d77/namespacemachine__learning_af4986b23760039711848155739c31b35_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -machine_learning::operator<< - - -Node1 - - -machine_learning::operator<< - - - - - -Node2 - - -std::ostream::precision - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d8/d77/namespacemachine__learning_af4986b23760039711848155739c31b35_cgraph_org.svg b/d8/d77/namespacemachine__learning_af4986b23760039711848155739c31b35_cgraph_org.svg deleted file mode 100644 index 50ce0d6c2..000000000 --- a/d8/d77/namespacemachine__learning_af4986b23760039711848155739c31b35_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -machine_learning::operator<< - - -Node1 - - -machine_learning::operator<< - - - - - -Node2 - - -std::ostream::precision - - - - - -Node1->Node2 - - - - - - - - diff --git a/d8/d77/namespacemachine__learning_af801bf30591ca6b2c38ff4fed0ded23f_cgraph.map b/d8/d77/namespacemachine__learning_af801bf30591ca6b2c38ff4fed0ded23f_cgraph.map deleted file mode 100644 index ae93e77c3..000000000 --- a/d8/d77/namespacemachine__learning_af801bf30591ca6b2c38ff4fed0ded23f_cgraph.map +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/d8/d77/namespacemachine__learning_af801bf30591ca6b2c38ff4fed0ded23f_cgraph.md5 b/d8/d77/namespacemachine__learning_af801bf30591ca6b2c38ff4fed0ded23f_cgraph.md5 deleted file mode 100644 index d3c100bfb..000000000 --- a/d8/d77/namespacemachine__learning_af801bf30591ca6b2c38ff4fed0ded23f_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -a8697bb0e2ed276d977370cfd216c387 \ No newline at end of file diff --git a/d8/d77/namespacemachine__learning_af801bf30591ca6b2c38ff4fed0ded23f_cgraph.svg b/d8/d77/namespacemachine__learning_af801bf30591ca6b2c38ff4fed0ded23f_cgraph.svg deleted file mode 100644 index 9fd91990b..000000000 --- a/d8/d77/namespacemachine__learning_af801bf30591ca6b2c38ff4fed0ded23f_cgraph.svg +++ /dev/null @@ -1,157 +0,0 @@ - - - - - - - - - - - - -machine_learning::equal_shuffle - - -Node1 - - -machine_learning::equal -_shuffle - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::exit - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::chrono::system -_clock::now - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::rand - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -std::srand - - - - - -Node1->Node6 - - - - - - - - -Node7 - - -std::swap - - - - - -Node1->Node7 - - - - - - - - - - - - - diff --git a/d8/d77/namespacemachine__learning_af801bf30591ca6b2c38ff4fed0ded23f_cgraph_org.svg b/d8/d77/namespacemachine__learning_af801bf30591ca6b2c38ff4fed0ded23f_cgraph_org.svg deleted file mode 100644 index 08c1b65b6..000000000 --- a/d8/d77/namespacemachine__learning_af801bf30591ca6b2c38ff4fed0ded23f_cgraph_org.svg +++ /dev/null @@ -1,131 +0,0 @@ - - - - - - -machine_learning::equal_shuffle - - -Node1 - - -machine_learning::equal -_shuffle - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::exit - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::chrono::system -_clock::now - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::rand - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -std::srand - - - - - -Node1->Node6 - - - - - - - - -Node7 - - -std::swap - - - - - -Node1->Node7 - - - - - - - - diff --git a/d8/d7a/sha1_8cpp.html b/d8/d7a/sha1_8cpp.html index 43d8777c7..3ba34ab69 100644 --- a/d8/d7a/sha1_8cpp.html +++ b/d8/d7a/sha1_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: hashing/sha1.cpp File Reference +TheAlgorithms/C++: hashing/sha1.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -126,7 +143,9 @@ Include dependency graph for sha1.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -138,16 +157,16 @@ Namespaces

    Namespaces

    namespace  hashing
    - + - + - + @@ -168,6 +187,8 @@ Functions 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.
    + +

    Definition in file sha1.cpp.

    Function Documentation

    ◆ hash()

    @@ -178,7 +199,7 @@ Algorithm - +

    Functions

    uint32_t hashing::sha1::leftRotate32bits (uint32_t n, std::size_t rotate)
    uint32_t hashing::sha1::leftRotate32bits (uint32_t n, std::size_t rotate)
     Rotates the bits of a 32-bit unsigned integer.
     
    std::string hashing::sha1::sig2hex (void *sig)
    std::string hashing::sha1::sig2hex (void *sig)
     Transforms the 160-bit SHA-1 signature into a 40 char hex string.
     
    void * hashing::sha1::hash_bs (const void *input_bs, uint64_t input_size)
     The SHA-1 algorithm itself, taking in a bytestring.
     
    void * hashing::sha1::hash (const std::string &message)
    void * hashing::sha1::hash (const std::string &message)
     Converts the string to bytestring and calls the main algorithm.
     
    static void test ()
    void * hashing::sha1::hash (const std::string & message)const std::string & message)
    @@ -192,17 +213,13 @@ Algorithm
    Returns
    void* Pointer to the SHA-1 signature
    -
    211 {
    -
    212 return hash_bs(&message[0], message.size());
    -
    213}
    -
    void * hash_bs(const void *input_bs, uint64_t input_size)
    The MD5 algorithm itself, taking in a bytestring.
    Definition md5.cpp:139
    -
    T size(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    +

    Definition at line 211 of file sha1.cpp.

    +
    211 {
    +
    212 return hash_bs(&message[0], message.size());
    +
    213}
    +
    void * hash_bs(const void *input_bs, uint64_t input_size)
    The MD5 algorithm itself, taking in a bytestring.
    Definition md5.cpp:139
    +
    @@ -233,6 +250,8 @@ Here is the call graph for this function:
    Returns
    void* Pointer to the 160-bit signature
    + +

    Definition at line 84 of file sha1.cpp.

    84 {
    85 auto* input = static_cast<const uint8_t*>(input_bs);
    86
    @@ -254,10 +273,10 @@ Here is the call graph for this function:
    102 }
    103
    104 // Allocate the memory for the padded message
    -
    105 std::vector<uint8_t> padded_message(padded_message_size);
    +
    105 std::vector<uint8_t> padded_message(padded_message_size);
    106
    107 // Beginning of the padded message is the original message
    -
    108 std::copy(input, input + input_size, padded_message.begin());
    +
    108 std::copy(input, input + input_size, padded_message.begin());
    109
    110 // Afterwards comes a single 1 bit and then only zeroes
    111 padded_message[input_size] = 1 << 7; // 10000000
    @@ -277,7 +296,7 @@ Here is the call graph for this function:
    125 }
    126
    127 // Already allocate memory for blocks
    - +
    128 std::array<uint32_t, 80> blocks{};
    129
    130 // Rounds
    131 for (uint64_t chunk = 0; chunk * 64 < padded_message_size; chunk++) {
    @@ -354,17 +373,9 @@ Here is the call graph for this function:
    202
    203 return sig;
    204}
    - -
    double g(double x)
    Another test function.
    Definition composite_simpson_rule.cpp:115
    -
    T copy(T... args)
    -
    uint32_t leftRotate32bits(uint32_t n, std::size_t rotate)
    Rotates the bits of a 32-bit unsigned integer.
    Definition md5.cpp:67
    - -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    double g(double x)
    Another test function.
    +
    uint32_t leftRotate32bits(uint32_t n, std::size_t rotate)
    Rotates the bits of a 32-bit unsigned integer.
    Definition md5.cpp:67
    + @@ -392,40 +403,31 @@ Here is the call graph for this function:

    Puts user in a loop where inputs can be given and SHA-1 hash will be computed and printed.

    Returns
    void
    + +

    Definition at line 275 of file sha1.cpp.

    275 {
    276 while (true) {
    -
    277 std::string input;
    -
    278 std::cout << "Enter a message to be hashed (Ctrl-C to exit): "
    -
    279 << std::endl;
    -
    280 std::getline(std::cin, input);
    +
    277 std::string input;
    +
    278 std::cout << "Enter a message to be hashed (Ctrl-C to exit): "
    +
    279 << std::endl;
    +
    280 std::getline(std::cin, input);
    281 void* sig = hashing::sha1::hash(input);
    -
    282 std::cout << "Hash is: " << hashing::sha1::sig2hex(sig) << std::endl;
    +
    282 std::cout << "Hash is: " << hashing::sha1::sig2hex(sig) << std::endl;
    283
    284 while (true) {
    -
    285 std::cout << "Want to enter another message? (y/n) ";
    -
    286 std::getline(std::cin, input);
    -
    287 if (input.compare("y") == 0) {
    +
    285 std::cout << "Want to enter another message? (y/n) ";
    +
    286 std::getline(std::cin, input);
    +
    287 if (input.compare("y") == 0) {
    288 break;
    -
    289 } else if (input.compare("n") == 0) {
    +
    289 } else if (input.compare("n") == 0) {
    290 return;
    291 }
    292 }
    293 }
    294}
    - - - -
    T compare(T... args)
    -
    T endl(T... args)
    -
    T getline(T... args)
    -
    void * hash(const std::string &message)
    Converts the string to bytestring and calls the main algorithm.
    Definition sha1.cpp:211
    -
    std::string sig2hex(void *sig)
    Transforms the 160-bit SHA-1 signature into a 40 char hex string.
    Definition sha1.cpp:67
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    void * hash(const std::string &message)
    Converts the string to bytestring and calls the main algorithm.
    Definition sha1.cpp:211
    +
    std::string sig2hex(void *sig)
    Transforms the 160-bit SHA-1 signature into a 40 char hex string.
    Definition sha1.cpp:67
    + @@ -442,7 +444,7 @@ Here is the call graph for this function: - std::size_t rotate ) + std::size_t rotate )
    @@ -456,10 +458,11 @@ Here is the call graph for this function:
    Returns
    uint32_t The rotated integer
    + +

    Definition at line 58 of file sha1.cpp.

    58 {
    -
    59 return (n << rotate) | (n >> (32 - rotate));
    +
    59 return (n << rotate) | (n >> (32 - rotate));
    60}
    -
    T rotate(T... args)
    @@ -480,6 +483,8 @@ Here is the call graph for this function:

    Main function.

    Returns
    0 on exit
    + +

    Definition at line 300 of file sha1.cpp.

    300 {
    301 test(); // run self-test implementations
    302
    @@ -488,14 +493,9 @@ Here is the call graph for this function:
    305 interactive();
    306 return 0;
    307}
    -
    static void test()
    Self-test implementations of well-known SHA-1 hashes.
    Definition sha1.cpp:221
    -
    static void interactive()
    Puts user in a loop where inputs can be given and SHA-1 hash will be computed and printed.
    Definition sha1.cpp:275
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static void test()
    Self-test implementations of well-known SHA-1 hashes.
    Definition sha1.cpp:221
    +
    static void interactive()
    Puts user in a loop where inputs can be given and SHA-1 hash will be computed and printed.
    Definition sha1.cpp:275
    + @@ -505,7 +505,7 @@ Here is the call graph for this function:
    - + @@ -520,18 +520,19 @@ Here is the call graph for this function:
    std::string hashing::sha1::sig2hex std::string hashing::sha1::sig2hex ( void * sig)
    -
    Returns
    std::string The hex signature
    +
    Returns
    std::string The hex signature
    + +

    Definition at line 67 of file sha1.cpp.

    67 {
    68 const char* hexChars = "0123456789abcdef";
    69 auto* intsig = static_cast<uint8_t*>(sig);
    -
    70 std::string hex = "";
    +
    70 std::string hex = "";
    71 for (uint8_t i = 0; i < 20; i++) {
    -
    72 hex.push_back(hexChars[(intsig[i] >> 4) & 0xF]);
    -
    73 hex.push_back(hexChars[(intsig[i]) & 0xF]);
    +
    72 hex.push_back(hexChars[(intsig[i] >> 4) & 0xF]);
    +
    73 hex.push_back(hexChars[(intsig[i]) & 0xF]);
    74 }
    -
    75 return hex;
    +
    75 return hex;
    76}
    -
    T hex(T... args)
    @@ -560,12 +561,14 @@ Here is the call graph for this function:

    Self-test implementations of well-known SHA-1 hashes.

    Returns
    void
    + +

    Definition at line 221 of file sha1.cpp.

    221 {
    222 // Hashes empty string and stores signature
    223 void* sig = hashing::sha1::hash("");
    -
    224 std::cout << "Hashing empty string" << std::endl;
    +
    224 std::cout << "Hashing empty string" << std::endl;
    225 // Prints signature hex representation
    - +
    226 std::cout << hashing::sha1::sig2hex(sig) << std::endl << std::endl;
    227 // Test with cassert wether sig is correct from expected value
    228 assert(hashing::sha1::sig2hex(sig).compare(
    229 "da39a3ee5e6b4b0d3255bfef95601890afd80709") == 0);
    @@ -573,10 +576,10 @@ Here is the call graph for this function:
    231 // Hashes "The quick brown fox jumps over the lazy dog" and stores signature
    232 void* sig2 =
    233 hashing::sha1::hash("The quick brown fox jumps over the lazy dog");
    -
    234 std::cout << "Hashing The quick brown fox jumps over the lazy dog"
    -
    235 << std::endl;
    +
    234 std::cout << "Hashing The quick brown fox jumps over the lazy dog"
    +
    235 << std::endl;
    236 // Prints signature hex representation
    - +
    237 std::cout << hashing::sha1::sig2hex(sig2) << std::endl << std::endl;
    238 // Test with cassert wether sig is correct from expected value
    239 assert(hashing::sha1::sig2hex(sig2).compare(
    240 "2fd4e1c67a2d28fced849ee1bb76e7391b93eb12") == 0);
    @@ -585,11 +588,11 @@ Here is the call graph for this function:
    243 // additional period) and stores signature
    244 void* sig3 =
    245 hashing::sha1::hash("The quick brown fox jumps over the lazy dog.");
    -
    246 std::cout << "Hashing "
    +
    246 std::cout << "Hashing "
    247 "The quick brown fox jumps over the lazy dog."
    -
    248 << std::endl;
    +
    248 << std::endl;
    249 // Prints signature hex representation
    - +
    250 std::cout << hashing::sha1::sig2hex(sig3) << std::endl << std::endl;
    251 // Test with cassert wether sig is correct from expected value
    252 assert(hashing::sha1::sig2hex(sig3).compare(
    253 "408d94384216f890ff7a0c3528e8bed1e0b01621") == 0);
    @@ -598,23 +601,18 @@ Here is the call graph for this function:
    256 // and stores signature
    257 void* sig4 = hashing::sha1::hash(
    258 "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789");
    - +
    259 std::cout
    260 << "Hashing "
    261 "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"
    -
    262 << std::endl;
    +
    262 << std::endl;
    263 // Prints signature hex representation
    - +
    264 std::cout << hashing::sha1::sig2hex(sig4) << std::endl << std::endl;
    265 // Test with cassert wether sig is correct from expected value
    266 assert(hashing::sha1::sig2hex(sig4).compare(
    267 "761c457bf73b14d27e9e9265c46f4b4dda11f940") == 0);
    268}
    -
    int compare(const void *a, const void *b)
    Definition shell_sort2.cpp:87
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    int compare(const void *a, const void *b)
    + diff --git a/d8/d7a/sha1_8cpp_a2397f2444a05e4d1487c67e215410d3c_cgraph.map b/d8/d7a/sha1_8cpp_a2397f2444a05e4d1487c67e215410d3c_cgraph.map deleted file mode 100644 index 01cabcbd4..000000000 --- a/d8/d7a/sha1_8cpp_a2397f2444a05e4d1487c67e215410d3c_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d8/d7a/sha1_8cpp_a2397f2444a05e4d1487c67e215410d3c_cgraph.md5 b/d8/d7a/sha1_8cpp_a2397f2444a05e4d1487c67e215410d3c_cgraph.md5 deleted file mode 100644 index fdccb6b67..000000000 --- a/d8/d7a/sha1_8cpp_a2397f2444a05e4d1487c67e215410d3c_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -94585eb85ce9b2401e5c48df8265008f \ No newline at end of file diff --git a/d8/d7a/sha1_8cpp_a2397f2444a05e4d1487c67e215410d3c_cgraph.svg b/d8/d7a/sha1_8cpp_a2397f2444a05e4d1487c67e215410d3c_cgraph.svg deleted file mode 100644 index 937f7bc10..000000000 --- a/d8/d7a/sha1_8cpp_a2397f2444a05e4d1487c67e215410d3c_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -hashing::sha1::hash - - -Node1 - - -hashing::sha1::hash - - - - - -Node2 - - -std::string::size - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d8/d7a/sha1_8cpp_a2397f2444a05e4d1487c67e215410d3c_cgraph_org.svg b/d8/d7a/sha1_8cpp_a2397f2444a05e4d1487c67e215410d3c_cgraph_org.svg deleted file mode 100644 index 9f33cd925..000000000 --- a/d8/d7a/sha1_8cpp_a2397f2444a05e4d1487c67e215410d3c_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -hashing::sha1::hash - - -Node1 - - -hashing::sha1::hash - - - - - -Node2 - - -std::string::size - - - - - -Node1->Node2 - - - - - - - - diff --git a/d8/d7a/sha1_8cpp_a7be3471f7e489d7d0df42b97a48bf141_cgraph.map b/d8/d7a/sha1_8cpp_a7be3471f7e489d7d0df42b97a48bf141_cgraph.map deleted file mode 100644 index 835ae5098..000000000 --- a/d8/d7a/sha1_8cpp_a7be3471f7e489d7d0df42b97a48bf141_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/d8/d7a/sha1_8cpp_a7be3471f7e489d7d0df42b97a48bf141_cgraph.md5 b/d8/d7a/sha1_8cpp_a7be3471f7e489d7d0df42b97a48bf141_cgraph.md5 deleted file mode 100644 index 43e03d19a..000000000 --- a/d8/d7a/sha1_8cpp_a7be3471f7e489d7d0df42b97a48bf141_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -ac1d6f0c6635ecc64cd0c97ca0b26e99 \ No newline at end of file diff --git a/d8/d7a/sha1_8cpp_a7be3471f7e489d7d0df42b97a48bf141_cgraph.svg b/d8/d7a/sha1_8cpp_a7be3471f7e489d7d0df42b97a48bf141_cgraph.svg deleted file mode 100644 index 1dc5e6447..000000000 --- a/d8/d7a/sha1_8cpp_a7be3471f7e489d7d0df42b97a48bf141_cgraph.svg +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - -hashing::sha1::hash_bs - - -Node1 - - -hashing::sha1::hash_bs - - - - - -Node2 - - -std::vector::begin - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::copy - - - - - -Node1->Node3 - - - - - - - - - - - - - diff --git a/d8/d7a/sha1_8cpp_a7be3471f7e489d7d0df42b97a48bf141_cgraph_org.svg b/d8/d7a/sha1_8cpp_a7be3471f7e489d7d0df42b97a48bf141_cgraph_org.svg deleted file mode 100644 index f80d7fc24..000000000 --- a/d8/d7a/sha1_8cpp_a7be3471f7e489d7d0df42b97a48bf141_cgraph_org.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - -hashing::sha1::hash_bs - - -Node1 - - -hashing::sha1::hash_bs - - - - - -Node2 - - -std::vector::begin - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::copy - - - - - -Node1->Node3 - - - - - - - - diff --git a/d8/d7a/sha1_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map b/d8/d7a/sha1_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map deleted file mode 100644 index 142d335bc..000000000 --- a/d8/d7a/sha1_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/d8/d7a/sha1_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 b/d8/d7a/sha1_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 deleted file mode 100644 index f56a1c7be..000000000 --- a/d8/d7a/sha1_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -051da4281d575e7f47fc60770596a53a \ No newline at end of file diff --git a/d8/d7a/sha1_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg b/d8/d7a/sha1_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg deleted file mode 100644 index cf902c3c0..000000000 --- a/d8/d7a/sha1_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -compare - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node1->Node3 - - - - - - - - - - - - - diff --git a/d8/d7a/sha1_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg b/d8/d7a/sha1_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg deleted file mode 100644 index e47f4c7d4..000000000 --- a/d8/d7a/sha1_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -compare - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node1->Node3 - - - - - - - - diff --git a/d8/d7a/sha1_8cpp_ac9e1a11f44135b890dd10a00e73b5661_cgraph.map b/d8/d7a/sha1_8cpp_ac9e1a11f44135b890dd10a00e73b5661_cgraph.map deleted file mode 100644 index adc68fc80..000000000 --- a/d8/d7a/sha1_8cpp_ac9e1a11f44135b890dd10a00e73b5661_cgraph.map +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/d8/d7a/sha1_8cpp_ac9e1a11f44135b890dd10a00e73b5661_cgraph.md5 b/d8/d7a/sha1_8cpp_ac9e1a11f44135b890dd10a00e73b5661_cgraph.md5 deleted file mode 100644 index eb245d784..000000000 --- a/d8/d7a/sha1_8cpp_ac9e1a11f44135b890dd10a00e73b5661_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -3f52964b6db6d7226cff9de69eafdeb5 \ No newline at end of file diff --git a/d8/d7a/sha1_8cpp_ac9e1a11f44135b890dd10a00e73b5661_cgraph.svg b/d8/d7a/sha1_8cpp_ac9e1a11f44135b890dd10a00e73b5661_cgraph.svg deleted file mode 100644 index 190996f69..000000000 --- a/d8/d7a/sha1_8cpp_ac9e1a11f44135b890dd10a00e73b5661_cgraph.svg +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - - - - - - - -interactive - - -Node1 - - -interactive - - - - - -Node2 - - -std::string::compare - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::getline - - - - - -Node1->Node4 - - - - - - - - - - - - - diff --git a/d8/d7a/sha1_8cpp_ac9e1a11f44135b890dd10a00e73b5661_cgraph_org.svg b/d8/d7a/sha1_8cpp_ac9e1a11f44135b890dd10a00e73b5661_cgraph_org.svg deleted file mode 100644 index af860172f..000000000 --- a/d8/d7a/sha1_8cpp_ac9e1a11f44135b890dd10a00e73b5661_cgraph_org.svg +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - -interactive - - -Node1 - - -interactive - - - - - -Node2 - - -std::string::compare - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::getline - - - - - -Node1->Node4 - - - - - - - - diff --git a/d8/d7a/sha1_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d8/d7a/sha1_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 20b48e459..000000000 --- a/d8/d7a/sha1_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - - - - - diff --git a/d8/d7a/sha1_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d8/d7a/sha1_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index 1b00ff021..000000000 --- a/d8/d7a/sha1_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -0ed0d9463a76665282a5146586435f83 \ No newline at end of file diff --git a/d8/d7a/sha1_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d8/d7a/sha1_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index fcf43f0ec..000000000 --- a/d8/d7a/sha1_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,164 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -interactive - - - - - -Node1->Node2 - - - - - - - - -Node6 - - -test - - - - - -Node1->Node6 - - - - - - - - -Node3 - - -std::string::compare - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::endl - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -std::getline - - - - - -Node2->Node5 - - - - - - - - -Node6->Node4 - - - - - - - - -Node7 - - -compare - - - - - -Node6->Node7 - - - - - - - - - - - - - diff --git a/d8/d7a/sha1_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d8/d7a/sha1_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index da221a0a7..000000000 --- a/d8/d7a/sha1_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,138 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -interactive - - - - - -Node1->Node2 - - - - - - - - -Node6 - - -test - - - - - -Node1->Node6 - - - - - - - - -Node3 - - -std::string::compare - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::endl - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -std::getline - - - - - -Node2->Node5 - - - - - - - - -Node6->Node4 - - - - - - - - -Node7 - - -compare - - - - - -Node6->Node7 - - - - - - - - diff --git a/d8/d7a/sha1_8cpp_source.html b/d8/d7a/sha1_8cpp_source.html new file mode 100644 index 000000000..a4e9cc249 --- /dev/null +++ b/d8/d7a/sha1_8cpp_source.html @@ -0,0 +1,389 @@ + + + + + + + + +TheAlgorithms/C++: hashing/sha1.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    sha1.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    32#include <algorithm>
    +
    33#include <array>
    +
    34#include <cassert>
    +
    35#include <cstdint>
    +
    36#include <cstring>
    +
    37#include <iostream>
    +
    38#include <string>
    +
    39#include <vector>
    +
    40
    +
    45namespace hashing {
    +
    51namespace sha1 {
    +
    +
    58uint32_t leftRotate32bits(uint32_t n, std::size_t rotate) {
    +
    59 return (n << rotate) | (n >> (32 - rotate));
    +
    60}
    +
    +
    61
    +
    +
    67std::string sig2hex(void* sig) {
    +
    68 const char* hexChars = "0123456789abcdef";
    +
    69 auto* intsig = static_cast<uint8_t*>(sig);
    +
    70 std::string hex = "";
    +
    71 for (uint8_t i = 0; i < 20; i++) {
    +
    72 hex.push_back(hexChars[(intsig[i] >> 4) & 0xF]);
    +
    73 hex.push_back(hexChars[(intsig[i]) & 0xF]);
    +
    74 }
    +
    75 return hex;
    +
    76}
    +
    +
    77
    +
    +
    84void* hash_bs(const void* input_bs, uint64_t input_size) {
    +
    85 auto* input = static_cast<const uint8_t*>(input_bs);
    +
    86
    +
    87 // Step 0: The initial 160-bit state
    +
    88 uint32_t h0 = 0x67452301, a = 0;
    +
    89 uint32_t h1 = 0xEFCDAB89, b = 0;
    +
    90 uint32_t h2 = 0x98BADCFE, c = 0;
    +
    91 uint32_t h3 = 0x10325476, d = 0;
    +
    92 uint32_t h4 = 0xC3D2E1F0, e = 0;
    +
    93
    +
    94 // Step 1: Processing the bytestring
    +
    95 // First compute the size the padded message will have
    +
    96 // so it is possible to allocate the right amount of memory
    +
    97 uint64_t padded_message_size = 0;
    +
    98 if (input_size % 64 < 56) {
    +
    99 padded_message_size = input_size + 64 - (input_size % 64);
    +
    100 } else {
    +
    101 padded_message_size = input_size + 128 - (input_size % 64);
    +
    102 }
    +
    103
    +
    104 // Allocate the memory for the padded message
    +
    105 std::vector<uint8_t> padded_message(padded_message_size);
    +
    106
    +
    107 // Beginning of the padded message is the original message
    +
    108 std::copy(input, input + input_size, padded_message.begin());
    +
    109
    +
    110 // Afterwards comes a single 1 bit and then only zeroes
    +
    111 padded_message[input_size] = 1 << 7; // 10000000
    +
    112 for (uint64_t i = input_size; i % 64 != 56; i++) {
    +
    113 if (i == input_size) {
    +
    114 continue; // pass first iteration
    +
    115 }
    +
    116 padded_message[i] = 0;
    +
    117 }
    +
    118
    +
    119 // We then have to add the 64-bit size of the message in bits (hence the
    +
    120 // times 8) in the last 8 bytes
    +
    121 uint64_t input_bitsize = input_size * 8;
    +
    122 for (uint8_t i = 0; i < 8; i++) {
    +
    123 padded_message[padded_message_size - 8 + i] =
    +
    124 (input_bitsize >> (56 - 8 * i)) & 0xFF;
    +
    125 }
    +
    126
    +
    127 // Already allocate memory for blocks
    +
    128 std::array<uint32_t, 80> blocks{};
    +
    129
    +
    130 // Rounds
    +
    131 for (uint64_t chunk = 0; chunk * 64 < padded_message_size; chunk++) {
    +
    132 // First, build 16 32-bits blocks from the chunk
    +
    133 for (uint8_t bid = 0; bid < 16; bid++) {
    +
    134 blocks[bid] = 0;
    +
    135
    +
    136 // Having to build a 32-bit word from 4-bit words
    +
    137 // Add each and shift them to the left
    +
    138 for (uint8_t cid = 0; cid < 4; cid++) {
    +
    139 blocks[bid] = (blocks[bid] << 8) +
    +
    140 padded_message[chunk * 64 + bid * 4 + cid];
    +
    141 }
    +
    142
    +
    143 // Extend the 16 32-bit words into 80 32-bit words
    +
    144 for (uint8_t i = 16; i < 80; i++) {
    +
    145 blocks[i] =
    +
    146 leftRotate32bits(blocks[i - 3] ^ blocks[i - 8] ^
    +
    147 blocks[i - 14] ^ blocks[i - 16],
    +
    148 1);
    +
    149 }
    +
    150 }
    +
    151
    +
    152 a = h0;
    +
    153 b = h1;
    +
    154 c = h2;
    +
    155 d = h3;
    +
    156 e = h4;
    +
    157
    +
    158 // Main "hashing" loop
    +
    159 for (uint8_t i = 0; i < 80; i++) {
    +
    160 uint32_t F = 0, g = 0;
    +
    161 if (i < 20) {
    +
    162 F = (b & c) | ((~b) & d);
    +
    163 g = 0x5A827999;
    +
    164 } else if (i < 40) {
    +
    165 F = b ^ c ^ d;
    +
    166 g = 0x6ED9EBA1;
    +
    167 } else if (i < 60) {
    +
    168 F = (b & c) | (b & d) | (c & d);
    +
    169 g = 0x8F1BBCDC;
    +
    170 } else {
    +
    171 F = b ^ c ^ d;
    +
    172 g = 0xCA62C1D6;
    +
    173 }
    +
    174
    +
    175 // Update the accumulators
    +
    176 uint32_t temp = leftRotate32bits(a, 5) + F + e + g + blocks[i];
    +
    177 e = d;
    +
    178 d = c;
    +
    179 c = leftRotate32bits(b, 30);
    +
    180 b = a;
    +
    181 a = temp;
    +
    182 }
    +
    183 // Update the state with this chunk's hash
    +
    184 h0 += a;
    +
    185 h1 += b;
    +
    186 h2 += c;
    +
    187 h3 += d;
    +
    188 h4 += e;
    +
    189 }
    +
    190
    +
    191 // Build signature from state
    +
    192 // Note, any type could be used for the signature
    +
    193 // uint8_t was used to make the 20 bytes obvious
    +
    194 auto* sig = new uint8_t[20];
    +
    195 for (uint8_t i = 0; i < 4; i++) {
    +
    196 sig[i] = (h0 >> (24 - 8 * i)) & 0xFF;
    +
    197 sig[i + 4] = (h1 >> (24 - 8 * i)) & 0xFF;
    +
    198 sig[i + 8] = (h2 >> (24 - 8 * i)) & 0xFF;
    +
    199 sig[i + 12] = (h3 >> (24 - 8 * i)) & 0xFF;
    +
    200 sig[i + 16] = (h4 >> (24 - 8 * i)) & 0xFF;
    +
    201 }
    +
    202
    +
    203 return sig;
    +
    204}
    +
    +
    205
    +
    +
    211void* hash(const std::string& message) {
    +
    212 return hash_bs(&message[0], message.size());
    +
    213}
    +
    +
    214} // namespace sha1
    +
    215} // namespace hashing
    +
    216
    +
    +
    221static void test() {
    +
    222 // Hashes empty string and stores signature
    +
    223 void* sig = hashing::sha1::hash("");
    +
    224 std::cout << "Hashing empty string" << std::endl;
    +
    225 // Prints signature hex representation
    +
    226 std::cout << hashing::sha1::sig2hex(sig) << std::endl << std::endl;
    +
    227 // Test with cassert wether sig is correct from expected value
    +
    228 assert(hashing::sha1::sig2hex(sig).compare(
    +
    229 "da39a3ee5e6b4b0d3255bfef95601890afd80709") == 0);
    +
    230
    +
    231 // Hashes "The quick brown fox jumps over the lazy dog" and stores signature
    +
    232 void* sig2 =
    +
    233 hashing::sha1::hash("The quick brown fox jumps over the lazy dog");
    +
    234 std::cout << "Hashing The quick brown fox jumps over the lazy dog"
    +
    235 << std::endl;
    +
    236 // Prints signature hex representation
    +
    237 std::cout << hashing::sha1::sig2hex(sig2) << std::endl << std::endl;
    +
    238 // Test with cassert wether sig is correct from expected value
    +
    239 assert(hashing::sha1::sig2hex(sig2).compare(
    +
    240 "2fd4e1c67a2d28fced849ee1bb76e7391b93eb12") == 0);
    +
    241
    +
    242 // Hashes "The quick brown fox jumps over the lazy dog." (notice the
    +
    243 // additional period) and stores signature
    +
    244 void* sig3 =
    +
    245 hashing::sha1::hash("The quick brown fox jumps over the lazy dog.");
    +
    246 std::cout << "Hashing "
    +
    247 "The quick brown fox jumps over the lazy dog."
    +
    248 << std::endl;
    +
    249 // Prints signature hex representation
    +
    250 std::cout << hashing::sha1::sig2hex(sig3) << std::endl << std::endl;
    +
    251 // Test with cassert wether sig is correct from expected value
    +
    252 assert(hashing::sha1::sig2hex(sig3).compare(
    +
    253 "408d94384216f890ff7a0c3528e8bed1e0b01621") == 0);
    +
    254
    +
    255 // Hashes "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"
    +
    256 // and stores signature
    +
    257 void* sig4 = hashing::sha1::hash(
    +
    258 "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789");
    +
    259 std::cout
    +
    260 << "Hashing "
    +
    261 "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"
    +
    262 << std::endl;
    +
    263 // Prints signature hex representation
    +
    264 std::cout << hashing::sha1::sig2hex(sig4) << std::endl << std::endl;
    +
    265 // Test with cassert wether sig is correct from expected value
    +
    266 assert(hashing::sha1::sig2hex(sig4).compare(
    +
    267 "761c457bf73b14d27e9e9265c46f4b4dda11f940") == 0);
    +
    268}
    +
    +
    269
    +
    +
    275static void interactive() {
    +
    276 while (true) {
    +
    277 std::string input;
    +
    278 std::cout << "Enter a message to be hashed (Ctrl-C to exit): "
    +
    279 << std::endl;
    +
    280 std::getline(std::cin, input);
    +
    281 void* sig = hashing::sha1::hash(input);
    +
    282 std::cout << "Hash is: " << hashing::sha1::sig2hex(sig) << std::endl;
    +
    283
    +
    284 while (true) {
    +
    285 std::cout << "Want to enter another message? (y/n) ";
    +
    286 std::getline(std::cin, input);
    +
    287 if (input.compare("y") == 0) {
    +
    288 break;
    +
    289 } else if (input.compare("n") == 0) {
    +
    290 return;
    +
    291 }
    +
    292 }
    +
    293 }
    +
    294}
    +
    +
    295
    +
    +
    300int main() {
    +
    301 test(); // run self-test implementations
    +
    302
    +
    303 // Launch interactive mode where user can input messages and see
    +
    304 // their hash
    +
    305 interactive();
    +
    306 return 0;
    +
    307}
    +
    +
    Used for assert.
    +
    static void test()
    Self-test implementations of well-known SHA-1 hashes.
    Definition sha1.cpp:221
    +
    static void interactive()
    Puts user in a loop where inputs can be given and SHA-1 hash will be computed and printed.
    Definition sha1.cpp:275
    +
    int main()
    Main function.
    Definition sha1.cpp:300
    +
    int compare(const void *a, const void *b)
    +
    +
    + + + + diff --git a/d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list.html b/d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list.html index 80f5dac99..49df0b455 100644 --- a/d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list.html +++ b/d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: operations_on_datastructures::circular_linked_list::CircularLinkedList Class Reference +TheAlgorithms/C++: operations_on_datastructures::circular_linked_list::CircularLinkedList Class Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -142,7 +159,7 @@ Public Member Functions - + @@ -157,18 +174,17 @@ Public Member Functions - - + + - - + +
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
     
    void erase ()
     
    void insert (const std::vector< int64_t > &values)
    void insert (const std::vector< int64_t > &values)
     Inserts all the values from a vector into the Circular Linked List.
     
    void insert (int64_t data)
    void print (Node *root)
     Prints the values of the Circular Linked List, beginning from a given Node to be used as the root.
     
    std::vector< int64_t > values ()
     Returns a std::vector of the values of the Circular Linked List.
    std::vector< int64_t > values ()
     Returns a std::vector of the values of the Circular Linked List.
     
    std::vector< int64_t > values (Node *root)
     Returns a std::vector of the values of the Circular Linked List, beginning from a given Node.
    std::vector< int64_t > values (Node *root)
     Returns a std::vector of the values of the Circular Linked List, beginning from a given Node.
     
    - - + + @@ -176,6 +192,8 @@ Private Attributes

    Private Attributes

    -Noderoot
     Pointer to the root Node.
    Noderoot
     Pointer to the root Node.
     
    Nodeend {}
     Pointer to the last Node.

    Detailed Description

    A class that implements a Circular Linked List.

    + +

    Definition at line 57 of file circular_linked_list.cpp.

    Constructor & Destructor Documentation

    ◆ CircularLinkedList() [1/3]

    @@ -201,12 +219,14 @@ Private Attributes

    Creates an empty CircularLinkedList.

    + +

    Definition at line 66 of file circular_linked_list.cpp.

    66 {
    67 root = nullptr;
    68 end = nullptr;
    69 }
    -
    Node * root
    Pointer to the root Node.
    Definition circular_linked_list.cpp:59
    -
    Node * end
    Pointer to the last Node.
    Definition circular_linked_list.cpp:60
    + +
    @@ -234,26 +254,22 @@ Private Attributes

    Copy constructor for CircularLinkedList.

    + +

    Definition at line 73 of file circular_linked_list.cpp.

    73 {
    74 erase();
    75 root = nullptr;
    -
    76 Node* node = copy.root;
    +
    76 Node* node = copy.root;
    77 while (node != nullptr) {
    78 insert(node->data);
    79 node = node->next;
    80 }
    81 }
    - -
    void insert(const std::vector< int64_t > &values)
    Inserts all the values from a vector into the Circular Linked List.
    Definition circular_linked_list.cpp:146
    -
    T copy(T... args)
    -
    Definition linkedlist_implentation_usingarray.cpp:14
    -
    Definition binary_search_tree.cpp:11
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + +
    void insert(const std::vector< int64_t > &values)
    Inserts all the values from a vector into the Circular Linked List.
    + + +
    @@ -286,6 +302,8 @@ Here is the call graph for this function: + +

    Definition at line 86 of file circular_linked_list.cpp.

    86 {
    87 root = source.root;
    88 end = source.end;
    @@ -319,13 +337,10 @@ Here is the call graph for this function:

    Cleans up memory when destroyed.

    -
    122{ erase(); }
    -
    -Here is the call graph for this function:
    -
    -
    -
    +

    Definition at line 122 of file circular_linked_list.cpp.

    +
    122{ erase(); }
    +

    Member Function Documentation

    @@ -352,6 +367,8 @@ Here is the call graph for this function:

    Iteratively frees each node in the Circular Linked List from the heap

    + +

    Definition at line 126 of file circular_linked_list.cpp.

    126 {
    127 if (root == nullptr) {
    128 return;
    @@ -365,7 +382,7 @@ Here is the call graph for this function:
    136 root = nullptr;
    137 end = nullptr;
    138 }
    -
    struct node { int data; int height; struct node *left; struct node *right;} node
    for std::queue
    Definition avltree.cpp:13
    +
    struct node { int data; int height; struct node *left; struct node *right;} node
    for std::queue
    Definition avltree.cpp:13
    @@ -381,7 +398,7 @@ Here is the call graph for this function: void operations_on_datastructures::circular_linked_list::CircularLinkedList::insert ( - const std::vector< int64_t > & values) + const std::vector< int64_t > & values) @@ -400,18 +417,15 @@ Here is the call graph for this function:
    Returns
    void
    + +

    Definition at line 146 of file circular_linked_list.cpp.

    146 {
    147 for (int64_t value : values) {
    148 insert(value);
    149 }
    150 }
    -
    std::vector< int64_t > values()
    Returns a std::vector of the values of the Circular Linked List.
    Definition circular_linked_list.cpp:214
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    std::vector< int64_t > values()
    Returns a std::vector of the values of the Circular Linked List.
    + @@ -445,17 +459,14 @@ Here is the call graph for this function:
    Returns
    void
    + +

    Definition at line 158 of file circular_linked_list.cpp.

    158 {
    159 Node* node = new Node(data, root);
    160 insert(node);
    161 }
    -
    int data[MAX]
    test data
    Definition hash_search.cpp:24
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    int data[MAX]
    test data
    + @@ -495,18 +506,20 @@ Here is the call graph for this function:

    < Append node to the end

    < Set the next value to the root

    < Make end point to node

    + +

    Definition at line 169 of file circular_linked_list.cpp.

    169 {
    170 if (root == nullptr) {
    -
    171 root = node; ///< Set node as the root
    -
    172 node->next = root; ///< Point node to itself
    -
    173 end = root; ///< Set the end to the root
    +
    171 root = node;
    +
    172 node->next = root;
    +
    173 end = root;
    174 } else {
    -
    175 end->next = node; ///< Append node to the end
    -
    176 node->next = root; ///< Set the next value to the root
    -
    177 end = node; ///< Make end point to node
    +
    175 end->next = node;
    +
    176 node->next = root;
    +
    177 end = node;
    178 }
    179 }
    -
    Node * next
    The Node's successor.
    Definition circular_linked_list.cpp:34
    +
    @@ -541,6 +554,8 @@ Here is the call graph for this function:
    Returns
    Reference to CircularLinkedList
    + +

    Definition at line 112 of file circular_linked_list.cpp.

    112 {
    113 root = other.root;
    114 end = other.end;
    @@ -582,6 +597,8 @@ Here is the call graph for this function:
    Returns
    Reference to CircularLinkedList
    + +

    Definition at line 97 of file circular_linked_list.cpp.

    97 {
    98 erase();
    99 root = nullptr;
    @@ -592,12 +609,7 @@ Here is the call graph for this function:
    104 }
    105 return *this;
    106 }
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -625,14 +637,11 @@ Here is the call graph for this function:

    Prints the values of the Circular Linked List, beginning from the root Node.

    Goes through each Node from the root and prints them out in order

    Returns
    void
    -
    187{ print(root); }
    -
    void print()
    Prints the values of the Circular Linked List, beginning from the root Node.
    Definition circular_linked_list.cpp:187
    -
    -Here is the call graph for this function:
    -
    -
    -
    +

    Definition at line 187 of file circular_linked_list.cpp.

    +
    187{ print(root); }
    +
    void print()
    Prints the values of the Circular Linked List, beginning from the root Node.
    +
    @@ -666,19 +675,20 @@ Here is the call graph for this function:
    Returns
    void
    + +

    Definition at line 196 of file circular_linked_list.cpp.

    196 {
    197 Node* temp = root;
    198 if (root == nullptr) {
    -
    199 std::cout << "Empty List!\n";
    +
    199 std::cout << "Empty List!\n";
    200 return;
    201 }
    202 do {
    -
    203 std::cout << temp->data << " ";
    +
    203 std::cout << temp->data << " ";
    204 temp = temp->next;
    205 } while (temp != root);
    -
    206 std::cout << "\n";
    +
    206 std::cout << "\n";
    207 }
    -
    @@ -692,7 +702,7 @@ Here is the call graph for this function: - + @@ -705,15 +715,12 @@ Here is the call graph for this function:
    std::vector< int64_t > operations_on_datastructures::circular_linked_list::CircularLinkedList::values std::vector< int64_t > operations_on_datastructures::circular_linked_list::CircularLinkedList::values ( )
    -

    Returns a std::vector of the values of the Circular Linked List.

    -

    Starting from the root Node, appends each value of the list to a std::vector and returns it

    Returns
    A std::vector of the list's values
    -
    214{ return values(root); }
    -
    -Here is the call graph for this function:
    -
    -
    -
    +

    Returns a std::vector of the values of the Circular Linked List.

    +

    Starting from the root Node, appends each value of the list to a std::vector and returns it

    Returns
    A std::vector of the list's values
    +

    Definition at line 214 of file circular_linked_list.cpp.

    +
    214{ return values(root); }
    +
    @@ -726,7 +733,7 @@ Here is the call graph for this function: - + @@ -739,35 +746,30 @@ Here is the call graph for this function:
    std::vector< int64_t > operations_on_datastructures::circular_linked_list::CircularLinkedList::values std::vector< int64_t > operations_on_datastructures::circular_linked_list::CircularLinkedList::values ( Node * root)
    -

    Returns a std::vector of the values of the Circular Linked List, beginning from a given Node.

    -

    Starting from a given Node, appends each value of the list to a std::vector and returns it

    Parameters
    +

    Returns a std::vector of the values of the Circular Linked List, beginning from a given Node.

    +

    Starting from a given Node, appends each value of the list to a std::vector and returns it

    Parameters
    rootThe Node to start at
    -
    Returns
    A std::vector of the list's values
    +
    Returns
    A std::vector of the list's values

    < Return empty vector

    + +

    Definition at line 223 of file circular_linked_list.cpp.

    223 {
    - +
    224 std::vector<int64_t> res;
    225 if (root == nullptr) {
    -
    226 return res; ///< Return empty vector
    +
    226 return res;
    227 }
    228 Node* temp = root;
    229 do {
    -
    230 res.push_back(temp->data);
    +
    230 res.push_back(temp->data);
    231 temp = temp->next;
    232 } while (temp != root);
    233 return res;
    234 }
    -
    T push_back(T... args)
    - -
    -Here is the call graph for this function:
    -
    -
    -
    - +

    Member Data Documentation

    @@ -792,12 +794,40 @@ Here is the call graph for this function:

    Pointer to the last Node.

    -
    60{}; ///< Pointer to the last Node
    + +

    Definition at line 60 of file circular_linked_list.cpp.

    +
    60{};
    +
    +
    + +

    ◆ root

    + +
    +
    + + + + + +
    + + + + +
    Node* operations_on_datastructures::circular_linked_list::CircularLinkedList::root
    +
    +private
    +
    + +

    Pointer to the root Node.

    + +

    Definition at line 59 of file circular_linked_list.cpp.

    +

    The documentation for this class was generated from the following file: diff --git a/d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list_a03a896b34d27fda69049827e0c4dab42_cgraph.map b/d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list_a03a896b34d27fda69049827e0c4dab42_cgraph.map deleted file mode 100644 index cd2f4cf3c..000000000 --- a/d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list_a03a896b34d27fda69049827e0c4dab42_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list_a03a896b34d27fda69049827e0c4dab42_cgraph.md5 b/d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list_a03a896b34d27fda69049827e0c4dab42_cgraph.md5 deleted file mode 100644 index 28673311e..000000000 --- a/d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list_a03a896b34d27fda69049827e0c4dab42_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -7dc900717e44606dee5b069c194bc5a1 \ No newline at end of file diff --git a/d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list_a03a896b34d27fda69049827e0c4dab42_cgraph.svg b/d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list_a03a896b34d27fda69049827e0c4dab42_cgraph.svg deleted file mode 100644 index 95d7ece22..000000000 --- a/d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list_a03a896b34d27fda69049827e0c4dab42_cgraph.svg +++ /dev/null @@ -1,67 +0,0 @@ - - - - - - - - - - - - -operations_on_datastructures::circular_linked_list::CircularLinkedList::values - - -Node1 - - -operations_on_datastructures -::circular_linked_list::Circular -LinkedList::values - - - - - -Node2 - - -std::vector::push_back - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list_a03a896b34d27fda69049827e0c4dab42_cgraph_org.svg b/d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list_a03a896b34d27fda69049827e0c4dab42_cgraph_org.svg deleted file mode 100644 index f1f60d52e..000000000 --- a/d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list_a03a896b34d27fda69049827e0c4dab42_cgraph_org.svg +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - -operations_on_datastructures::circular_linked_list::CircularLinkedList::values - - -Node1 - - -operations_on_datastructures -::circular_linked_list::Circular -LinkedList::values - - - - - -Node2 - - -std::vector::push_back - - - - - -Node1->Node2 - - - - - - - - diff --git a/d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list_a142fa439b102c6f86341f421ddcfe0a1_cgraph.map b/d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list_a142fa439b102c6f86341f421ddcfe0a1_cgraph.map deleted file mode 100644 index 01b6cb146..000000000 --- a/d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list_a142fa439b102c6f86341f421ddcfe0a1_cgraph.map +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list_a142fa439b102c6f86341f421ddcfe0a1_cgraph.md5 b/d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list_a142fa439b102c6f86341f421ddcfe0a1_cgraph.md5 deleted file mode 100644 index 518b0effa..000000000 --- a/d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list_a142fa439b102c6f86341f421ddcfe0a1_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -4a818fd93ec43c00cb506e95f060ec9a \ No newline at end of file diff --git a/d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list_a142fa439b102c6f86341f421ddcfe0a1_cgraph.svg b/d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list_a142fa439b102c6f86341f421ddcfe0a1_cgraph.svg deleted file mode 100644 index 486ec610e..000000000 --- a/d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list_a142fa439b102c6f86341f421ddcfe0a1_cgraph.svg +++ /dev/null @@ -1,184 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -operations_on_datastructures::circular_linked_list::CircularLinkedList::CircularLinkedList - - -Node1 - - -operations_on_datastructures -::circular_linked_list::Circular -LinkedList::CircularLinkedList - - - - - -Node2 - - -operations_on_datastructures -::circular_linked_list::Circular -LinkedList::erase - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -operations_on_datastructures -::circular_linked_list::Circular -LinkedList::insert - - - - - -Node1->Node3 - - - - - - - - -Node3->Node3 - - - - - - - - -Node4 - - -operations_on_datastructures -::circular_linked_list::Circular -LinkedList::values - - - - - -Node3->Node4 - - - - - - - - -Node4->Node4 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list_a142fa439b102c6f86341f421ddcfe0a1_cgraph_org.svg b/d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list_a142fa439b102c6f86341f421ddcfe0a1_cgraph_org.svg deleted file mode 100644 index 2af5932e6..000000000 --- a/d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list_a142fa439b102c6f86341f421ddcfe0a1_cgraph_org.svg +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - -operations_on_datastructures::circular_linked_list::CircularLinkedList::CircularLinkedList - - -Node1 - - -operations_on_datastructures -::circular_linked_list::Circular -LinkedList::CircularLinkedList - - - - - -Node2 - - -operations_on_datastructures -::circular_linked_list::Circular -LinkedList::erase - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -operations_on_datastructures -::circular_linked_list::Circular -LinkedList::insert - - - - - -Node1->Node3 - - - - - - - - -Node3->Node3 - - - - - - - - -Node4 - - -operations_on_datastructures -::circular_linked_list::Circular -LinkedList::values - - - - - -Node3->Node4 - - - - - - - - -Node4->Node4 - - - - - - - - diff --git a/d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list_a3b7bbb0918c261bc216aef9e6dd39aa4_cgraph.map b/d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list_a3b7bbb0918c261bc216aef9e6dd39aa4_cgraph.map deleted file mode 100644 index cc5d3be86..000000000 --- a/d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list_a3b7bbb0918c261bc216aef9e6dd39aa4_cgraph.map +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list_a3b7bbb0918c261bc216aef9e6dd39aa4_cgraph.md5 b/d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list_a3b7bbb0918c261bc216aef9e6dd39aa4_cgraph.md5 deleted file mode 100644 index 50a2c107b..000000000 --- a/d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list_a3b7bbb0918c261bc216aef9e6dd39aa4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -f21cadf6b8031afb72fb8510be269e4e \ No newline at end of file diff --git a/d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list_a3b7bbb0918c261bc216aef9e6dd39aa4_cgraph.svg b/d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list_a3b7bbb0918c261bc216aef9e6dd39aa4_cgraph.svg deleted file mode 100644 index 9fc0fcf07..000000000 --- a/d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list_a3b7bbb0918c261bc216aef9e6dd39aa4_cgraph.svg +++ /dev/null @@ -1,164 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -operations_on_datastructures::circular_linked_list::CircularLinkedList::insert - - -Node1 - - -operations_on_datastructures -::circular_linked_list::Circular -LinkedList::insert - - - - - -Node2 - - -operations_on_datastructures -::circular_linked_list::Circular -LinkedList::insert - - - - - -Node1->Node2 - - - - - - - - -Node2->Node2 - - - - - - - - -Node3 - - -operations_on_datastructures -::circular_linked_list::Circular -LinkedList::values - - - - - -Node2->Node3 - - - - - - - - -Node3->Node3 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list_a3b7bbb0918c261bc216aef9e6dd39aa4_cgraph_org.svg b/d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list_a3b7bbb0918c261bc216aef9e6dd39aa4_cgraph_org.svg deleted file mode 100644 index d681fbb62..000000000 --- a/d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list_a3b7bbb0918c261bc216aef9e6dd39aa4_cgraph_org.svg +++ /dev/null @@ -1,81 +0,0 @@ - - - - - - -operations_on_datastructures::circular_linked_list::CircularLinkedList::insert - - -Node1 - - -operations_on_datastructures -::circular_linked_list::Circular -LinkedList::insert - - - - - -Node2 - - -operations_on_datastructures -::circular_linked_list::Circular -LinkedList::insert - - - - - -Node1->Node2 - - - - - - - - -Node2->Node2 - - - - - - - - -Node3 - - -operations_on_datastructures -::circular_linked_list::Circular -LinkedList::values - - - - - -Node2->Node3 - - - - - - - - -Node3->Node3 - - - - - - - - diff --git a/d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list_a46195fcf11b636064c7172cb74b55dd0_cgraph.map b/d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list_a46195fcf11b636064c7172cb74b55dd0_cgraph.map deleted file mode 100644 index c2d253efd..000000000 --- a/d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list_a46195fcf11b636064c7172cb74b55dd0_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list_a46195fcf11b636064c7172cb74b55dd0_cgraph.md5 b/d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list_a46195fcf11b636064c7172cb74b55dd0_cgraph.md5 deleted file mode 100644 index bf066693c..000000000 --- a/d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list_a46195fcf11b636064c7172cb74b55dd0_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -405e3ef92d767f7f12bab784089b81d5 \ No newline at end of file diff --git a/d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list_a46195fcf11b636064c7172cb74b55dd0_cgraph.svg b/d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list_a46195fcf11b636064c7172cb74b55dd0_cgraph.svg deleted file mode 100644 index c3f70c280..000000000 --- a/d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list_a46195fcf11b636064c7172cb74b55dd0_cgraph.svg +++ /dev/null @@ -1,69 +0,0 @@ - - - - - - - - - - - - -operations_on_datastructures::circular_linked_list::CircularLinkedList::~CircularLinkedList - - -Node1 - - -operations_on_datastructures -::circular_linked_list::Circular -LinkedList::~CircularLinkedList - - - - - -Node2 - - -operations_on_datastructures -::circular_linked_list::Circular -LinkedList::erase - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list_a46195fcf11b636064c7172cb74b55dd0_cgraph_org.svg b/d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list_a46195fcf11b636064c7172cb74b55dd0_cgraph_org.svg deleted file mode 100644 index 26d62211d..000000000 --- a/d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list_a46195fcf11b636064c7172cb74b55dd0_cgraph_org.svg +++ /dev/null @@ -1,43 +0,0 @@ - - - - - - -operations_on_datastructures::circular_linked_list::CircularLinkedList::~CircularLinkedList - - -Node1 - - -operations_on_datastructures -::circular_linked_list::Circular -LinkedList::~CircularLinkedList - - - - - -Node2 - - -operations_on_datastructures -::circular_linked_list::Circular -LinkedList::erase - - - - - -Node1->Node2 - - - - - - - - diff --git a/d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list_a53611ec1fef92eeeb875aea1bde1e4de_cgraph.map b/d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list_a53611ec1fef92eeeb875aea1bde1e4de_cgraph.map deleted file mode 100644 index f8d01f5dc..000000000 --- a/d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list_a53611ec1fef92eeeb875aea1bde1e4de_cgraph.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list_a53611ec1fef92eeeb875aea1bde1e4de_cgraph.md5 b/d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list_a53611ec1fef92eeeb875aea1bde1e4de_cgraph.md5 deleted file mode 100644 index 9bc286c85..000000000 --- a/d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list_a53611ec1fef92eeeb875aea1bde1e4de_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -18ca39e3011e7dacddc3b086639c4083 \ No newline at end of file diff --git a/d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list_a53611ec1fef92eeeb875aea1bde1e4de_cgraph.svg b/d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list_a53611ec1fef92eeeb875aea1bde1e4de_cgraph.svg deleted file mode 100644 index c40805240..000000000 --- a/d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list_a53611ec1fef92eeeb875aea1bde1e4de_cgraph.svg +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - - - - - - - -operations_on_datastructures::circular_linked_list::CircularLinkedList::values - - -Node1 - - -operations_on_datastructures -::circular_linked_list::Circular -LinkedList::values - - - - - -Node1->Node1 - - - - - - - - - - - - - diff --git a/d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list_a53611ec1fef92eeeb875aea1bde1e4de_cgraph_org.svg b/d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list_a53611ec1fef92eeeb875aea1bde1e4de_cgraph_org.svg deleted file mode 100644 index 4e295c951..000000000 --- a/d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list_a53611ec1fef92eeeb875aea1bde1e4de_cgraph_org.svg +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - -operations_on_datastructures::circular_linked_list::CircularLinkedList::values - - -Node1 - - -operations_on_datastructures -::circular_linked_list::Circular -LinkedList::values - - - - - -Node1->Node1 - - - - - - - - diff --git a/d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list_a9cc37166f2f73763df39894b675f89c9_cgraph.map b/d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list_a9cc37166f2f73763df39894b675f89c9_cgraph.map deleted file mode 100644 index d9c028fbc..000000000 --- a/d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list_a9cc37166f2f73763df39894b675f89c9_cgraph.map +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list_a9cc37166f2f73763df39894b675f89c9_cgraph.md5 b/d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list_a9cc37166f2f73763df39894b675f89c9_cgraph.md5 deleted file mode 100644 index 7bd4024d9..000000000 --- a/d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list_a9cc37166f2f73763df39894b675f89c9_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -f8828c6a1681865b2e4f4c7e18e4e877 \ No newline at end of file diff --git a/d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list_a9cc37166f2f73763df39894b675f89c9_cgraph.svg b/d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list_a9cc37166f2f73763df39894b675f89c9_cgraph.svg deleted file mode 100644 index afa6be082..000000000 --- a/d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list_a9cc37166f2f73763df39894b675f89c9_cgraph.svg +++ /dev/null @@ -1,184 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -operations_on_datastructures::circular_linked_list::CircularLinkedList::operator= - - -Node1 - - -operations_on_datastructures -::circular_linked_list::Circular -LinkedList::operator= - - - - - -Node2 - - -operations_on_datastructures -::circular_linked_list::Circular -LinkedList::erase - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -operations_on_datastructures -::circular_linked_list::Circular -LinkedList::insert - - - - - -Node1->Node3 - - - - - - - - -Node3->Node3 - - - - - - - - -Node4 - - -operations_on_datastructures -::circular_linked_list::Circular -LinkedList::values - - - - - -Node3->Node4 - - - - - - - - -Node4->Node4 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list_a9cc37166f2f73763df39894b675f89c9_cgraph_org.svg b/d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list_a9cc37166f2f73763df39894b675f89c9_cgraph_org.svg deleted file mode 100644 index 8ff423cd9..000000000 --- a/d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list_a9cc37166f2f73763df39894b675f89c9_cgraph_org.svg +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - -operations_on_datastructures::circular_linked_list::CircularLinkedList::operator= - - -Node1 - - -operations_on_datastructures -::circular_linked_list::Circular -LinkedList::operator= - - - - - -Node2 - - -operations_on_datastructures -::circular_linked_list::Circular -LinkedList::erase - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -operations_on_datastructures -::circular_linked_list::Circular -LinkedList::insert - - - - - -Node1->Node3 - - - - - - - - -Node3->Node3 - - - - - - - - -Node4 - - -operations_on_datastructures -::circular_linked_list::Circular -LinkedList::values - - - - - -Node3->Node4 - - - - - - - - -Node4->Node4 - - - - - - - - diff --git a/d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list_ac341901e926b3fa3a796c64ca572f592_cgraph.map b/d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list_ac341901e926b3fa3a796c64ca572f592_cgraph.map deleted file mode 100644 index adfe386aa..000000000 --- a/d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list_ac341901e926b3fa3a796c64ca572f592_cgraph.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list_ac341901e926b3fa3a796c64ca572f592_cgraph.md5 b/d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list_ac341901e926b3fa3a796c64ca572f592_cgraph.md5 deleted file mode 100644 index 0ed5a9b95..000000000 --- a/d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list_ac341901e926b3fa3a796c64ca572f592_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -e9b40f8e6d7907256263f140155abfad \ No newline at end of file diff --git a/d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list_ac341901e926b3fa3a796c64ca572f592_cgraph.svg b/d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list_ac341901e926b3fa3a796c64ca572f592_cgraph.svg deleted file mode 100644 index 4a27920f2..000000000 --- a/d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list_ac341901e926b3fa3a796c64ca572f592_cgraph.svg +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - - - - - - - -operations_on_datastructures::circular_linked_list::CircularLinkedList::print - - -Node1 - - -operations_on_datastructures -::circular_linked_list::Circular -LinkedList::print - - - - - -Node1->Node1 - - - - - - - - - - - - - diff --git a/d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list_ac341901e926b3fa3a796c64ca572f592_cgraph_org.svg b/d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list_ac341901e926b3fa3a796c64ca572f592_cgraph_org.svg deleted file mode 100644 index 0d7e06384..000000000 --- a/d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list_ac341901e926b3fa3a796c64ca572f592_cgraph_org.svg +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - -operations_on_datastructures::circular_linked_list::CircularLinkedList::print - - -Node1 - - -operations_on_datastructures -::circular_linked_list::Circular -LinkedList::print - - - - - -Node1->Node1 - - - - - - - - diff --git a/d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list_ac38565472a07d07f63ec0d2fd8a69d4d_cgraph.map b/d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list_ac38565472a07d07f63ec0d2fd8a69d4d_cgraph.map deleted file mode 100644 index 0b60d98f2..000000000 --- a/d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list_ac38565472a07d07f63ec0d2fd8a69d4d_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list_ac38565472a07d07f63ec0d2fd8a69d4d_cgraph.md5 b/d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list_ac38565472a07d07f63ec0d2fd8a69d4d_cgraph.md5 deleted file mode 100644 index 113c36c01..000000000 --- a/d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list_ac38565472a07d07f63ec0d2fd8a69d4d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -0d0bc6a3ee6edf0cd5e6842752ecb1e1 \ No newline at end of file diff --git a/d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list_ac38565472a07d07f63ec0d2fd8a69d4d_cgraph.svg b/d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list_ac38565472a07d07f63ec0d2fd8a69d4d_cgraph.svg deleted file mode 100644 index 9bd20b992..000000000 --- a/d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list_ac38565472a07d07f63ec0d2fd8a69d4d_cgraph.svg +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - - - - - - - -operations_on_datastructures::circular_linked_list::CircularLinkedList::insert - - -Node1 - - -operations_on_datastructures -::circular_linked_list::Circular -LinkedList::insert - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -operations_on_datastructures -::circular_linked_list::Circular -LinkedList::values - - - - - -Node1->Node2 - - - - - - - - -Node2->Node2 - - - - - - - - - - - - - diff --git a/d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list_ac38565472a07d07f63ec0d2fd8a69d4d_cgraph_org.svg b/d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list_ac38565472a07d07f63ec0d2fd8a69d4d_cgraph_org.svg deleted file mode 100644 index e88c61a96..000000000 --- a/d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list_ac38565472a07d07f63ec0d2fd8a69d4d_cgraph_org.svg +++ /dev/null @@ -1,61 +0,0 @@ - - - - - - -operations_on_datastructures::circular_linked_list::CircularLinkedList::insert - - -Node1 - - -operations_on_datastructures -::circular_linked_list::Circular -LinkedList::insert - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -operations_on_datastructures -::circular_linked_list::Circular -LinkedList::values - - - - - -Node1->Node2 - - - - - - - - -Node2->Node2 - - - - - - - - diff --git a/d8/d7c/radix__sort_8cpp_source.html b/d8/d7c/radix__sort_8cpp_source.html new file mode 100644 index 000000000..bc3741bf2 --- /dev/null +++ b/d8/d7c/radix__sort_8cpp_source.html @@ -0,0 +1,197 @@ + + + + + + + + +TheAlgorithms/C++: sorting/radix_sort.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    radix_sort.cpp
    +
    +
    +
    1#include <cmath>
    +
    2#include <cstdlib>
    +
    3#include <cstring>
    +
    4#include <iostream>
    +
    5
    +
    6void radixsort(int a[], int n) {
    +
    7 int count[10];
    +
    8 int* output = new int[n];
    +
    9 memset(output, 0, n * sizeof(*output));
    +
    10 memset(count, 0, sizeof(count));
    +
    11 int max = 0;
    +
    12 for (int i = 0; i < n; ++i) {
    +
    13 if (a[i] > max) {
    +
    14 max = a[i];
    +
    15 }
    +
    16 }
    +
    17 int maxdigits = 0;
    +
    18 while (max) {
    +
    19 maxdigits++;
    +
    20 max /= 10;
    +
    21 }
    +
    22 for (int j = 0; j < maxdigits; j++) {
    +
    23 for (int i = 0; i < n; i++) {
    +
    24 int t = std::pow(10, j);
    +
    25 count[(a[i] % (10 * t)) / t]++;
    +
    26 }
    +
    27 int k = 0;
    +
    28 for (int p = 0; p < 10; p++) {
    +
    29 for (int i = 0; i < n; i++) {
    +
    30 int t = std::pow(10, j);
    +
    31 if ((a[i] % (10 * t)) / t == p) {
    +
    32 output[k] = a[i];
    +
    33 k++;
    +
    34 }
    +
    35 }
    +
    36 }
    +
    37 memset(count, 0, sizeof(count));
    +
    38 for (int i = 0; i < n; ++i) {
    +
    39 a[i] = output[i];
    +
    40 }
    +
    41 }
    +
    42 delete[] output;
    +
    43}
    +
    44
    +
    45void print(int a[], int n) {
    +
    46 for (int i = 0; i < n; ++i) {
    +
    47 std::cout << a[i] << " ";
    +
    48 }
    +
    49 std::cout << std::endl;
    +
    50}
    +
    51
    +
    52int main(int argc, char const* argv[]) {
    +
    53 int a[] = {170, 45, 75, 90, 802, 24, 2, 66};
    +
    54 int n = sizeof(a) / sizeof(a[0]);
    +
    55 radixsort(a, n);
    +
    56 print(a, n);
    +
    57 return 0;
    +
    58}
    +
    double k(double x)
    Another test function.
    +
    int main()
    Main function.
    +
    +
    + + + + diff --git a/d8/d7d/kruskals__minimum__spanning__tree_8cpp.html b/d8/d7d/kruskals__minimum__spanning__tree_8cpp.html index 234a85018..59a4df7d4 100644 --- a/d8/d7d/kruskals__minimum__spanning__tree_8cpp.html +++ b/d8/d7d/kruskals__minimum__spanning__tree_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: greedy_algorithms/kruskals_minimum_spanning_tree.cpp File Reference +TheAlgorithms/C++: greedy_algorithms/kruskals_minimum_spanning_tree.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -122,7 +139,9 @@ Include dependency graph for kruskals_minimum_spanning_tree.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -131,8 +150,8 @@ Namespaces

    Namespaces

    namespace  greedy_algorithms
    - - + + @@ -147,6 +166,8 @@ Functions

    Quoted from Simplilearn.

    Kruskal’s algorithm is the concept that is introduced in the graph theory of discrete mathematics. It is used to discover the shortest path between two points in a connected weighted graph. This algorithm converts a given graph into the forest, considering each node as a separate tree. These trees can only link to each other if the edge connecting them has a low value and doesn’t generate a cycle in MST structure.

    Author
    coleman2246
    + +

    Definition in file kruskals_minimum_spanning_tree.cpp.

    Function Documentation

    ◆ main()

    @@ -165,17 +186,14 @@ Functions

    Main function.

    Returns
    0 on exit
    + +

    Definition at line 184 of file kruskals_minimum_spanning_tree.cpp.

    184 {
    185 test(); // run Self-test implementation
    186 return 0;
    187}
    -
    static void test()
    Self-test implementations.
    Definition kruskals_minimum_spanning_tree.cpp:64
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static void test()
    Self-test implementations.
    + @@ -204,21 +222,17 @@ Here is the call graph for this function:

    Self-test implementations.

    Returns
    void

    define a large value for int define a large value for float define a large value for double define a large value for uint32_t

    -
    64 {
    -
    65 /**
    -
    66 * define a large value for int
    -
    67 * define a large value for float
    -
    68 * define a large value for double
    -
    69 * define a large value for uint32_t
    -
    70 */
    -
    71 constexpr int INFINITY_INT = std::numeric_limits<int>::max();
    -
    72 constexpr float INFINITY_FLOAT = std::numeric_limits<float>::max();
    -
    73 constexpr double INFINITY_DOUBLE = std::numeric_limits<double>::max();
    + +

    Definition at line 64 of file kruskals_minimum_spanning_tree.cpp.

    +
    64 {
    +
    71 constexpr int INFINITY_INT = std::numeric_limits<int>::max();
    +
    72 constexpr float INFINITY_FLOAT = std::numeric_limits<float>::max();
    +
    73 constexpr double INFINITY_DOUBLE = std::numeric_limits<double>::max();
    74 constexpr uint32_t INFINITY_UINT32 = UINT32_MAX;
    75
    76 // Test case with integer values
    -
    77 std::cout << "\nTest Case 1 :\n";
    - +
    77 std::cout << "\nTest Case 1 :\n";
    +
    78 std::array<std::array<int, 6>, 6> graph1{
    79 0, 4, 1, 4, INFINITY_INT, INFINITY_INT,
    80 4, 0, 3, 8, 3, INFINITY_INT,
    81 1, 3, 0, INFINITY_INT, 1, INFINITY_INT,
    @@ -228,16 +242,16 @@ Here is the call graph for this function:
    85 greedy_algorithms::findMinimumEdge(INFINITY_INT, graph1);
    86
    87 // Test case with floating values
    -
    88 std::cout << "\nTest Case 2 :\n";
    - +
    88 std::cout << "\nTest Case 2 :\n";
    +
    89 std::array<std::array<float, 3>, 3> graph2{
    90 0.0f, 2.5f, INFINITY_FLOAT,
    91 2.5f, 0.0f, 3.2f,
    92 INFINITY_FLOAT, 3.2f, 0.0f};
    93 greedy_algorithms::findMinimumEdge(INFINITY_FLOAT, graph2);
    94
    95 // Test case with double values
    -
    96 std::cout << "\nTest Case 3 :\n";
    - +
    96 std::cout << "\nTest Case 3 :\n";
    +
    97 std::array<std::array<double, 5>, 5> graph3{
    98 0.0, 10.5, INFINITY_DOUBLE, 6.7, 3.3,
    99 10.5, 0.0, 8.1, 15.4, INFINITY_DOUBLE,
    100 INFINITY_DOUBLE, 8.1, 0.0, INFINITY_DOUBLE, 7.8,
    @@ -246,24 +260,24 @@ Here is the call graph for this function:
    103 greedy_algorithms::findMinimumEdge(INFINITY_DOUBLE, graph3);
    104
    105 // Test Case with negative weights
    -
    106 std::cout << "\nTest Case 4 :\n";
    -
    107 std::array<std::array<int, 3>, 3> graph_neg{
    +
    106 std::cout << "\nTest Case 4 :\n";
    +
    107 std::array<std::array<int, 3>, 3> graph_neg{
    108 0, -2, 4,
    109 -2, 0, 3,
    110 4, 3, 0};
    111 greedy_algorithms::findMinimumEdge(INFINITY_INT, graph_neg);
    112
    113 // Test Case with Self-Loops
    -
    114 std::cout << "\nTest Case 5 :\n";
    -
    115 std::array<std::array<int, 3>, 3> graph_self_loop{
    +
    114 std::cout << "\nTest Case 5 :\n";
    +
    115 std::array<std::array<int, 3>, 3> graph_self_loop{
    116 2, 1, INFINITY_INT,
    117 INFINITY_INT, 0, 4,
    118 INFINITY_INT, 4, 0};
    119 greedy_algorithms::findMinimumEdge(INFINITY_INT, graph_self_loop);
    120
    121 // Test Case with no edges
    -
    122 std::cout << "\nTest Case 6 :\n";
    - +
    122 std::cout << "\nTest Case 6 :\n";
    +
    123 std::array<std::array<int, 4>, 4> no_edges{
    124 0, INFINITY_INT, INFINITY_INT, INFINITY_INT,
    125 INFINITY_INT, 0, INFINITY_INT, INFINITY_INT,
    126 INFINITY_INT, INFINITY_INT, 0, INFINITY_INT,
    @@ -271,8 +285,8 @@ Here is the call graph for this function:
    128 greedy_algorithms::findMinimumEdge(INFINITY_INT, no_edges);
    129
    130 // Test Case with a non-connected graph
    -
    131 std::cout << "\nTest Case 7:\n";
    -
    132 std::array<std::array<int, 4>, 4> partial_graph{
    +
    131 std::cout << "\nTest Case 7:\n";
    +
    132 std::array<std::array<int, 4>, 4> partial_graph{
    133 0, 2, INFINITY_INT, 6,
    134 2, 0, 3, INFINITY_INT,
    135 INFINITY_INT, 3, 0, 4,
    @@ -281,8 +295,8 @@ Here is the call graph for this function:
    138
    139 // Test Case with Directed weighted graph. The Krushkal algorithm does not give
    140 // optimal answer
    -
    141 std::cout << "\nTest Case 8:\n";
    -
    142 std::array<std::array<int, 4>, 4> directed_graph{
    +
    141 std::cout << "\nTest Case 8:\n";
    +
    142 std::array<std::array<int, 4>, 4> directed_graph{
    143 0, 3, 7, INFINITY_INT, // Vertex 0 has edges to Vertex 1 and Vertex 2
    144 INFINITY_INT, 0, 2, 5, // Vertex 1 has edges to Vertex 2 and Vertex 3
    145 INFINITY_INT, INFINITY_INT, 0, 1, // Vertex 2 has an edge to Vertex 3
    @@ -290,16 +304,16 @@ Here is the call graph for this function:
    147 greedy_algorithms::findMinimumEdge(INFINITY_INT, directed_graph);
    148
    149 // Test case with wrong input passed
    -
    150 std::cout << "\nTest Case 9:\n";
    - +
    150 std::cout << "\nTest Case 9:\n";
    +
    151 std::array<std::array<int, 4>, 3> graph9{
    152 0, 5, 5, 5,
    153 5, 0, 5, 5,
    154 5, 5, 5, 5};
    155 greedy_algorithms::findMinimumEdge(INFINITY_INT, graph9);
    156
    157 // Test case with all the same values between every edge
    -
    158 std::cout << "\nTest Case 10:\n";
    - +
    158 std::cout << "\nTest Case 10:\n";
    +
    159 std::array<std::array<int, 5>, 5> graph10{
    160 0, 5, 5, 5, 5,
    161 5, 0, 5, 5, 5,
    162 5, 5, 0, 5, 5,
    @@ -308,26 +322,18 @@ Here is the call graph for this function:
    165 greedy_algorithms::findMinimumEdge(INFINITY_INT, graph10);
    166
    167 // Test Case with uint32_t values
    -
    168 std::cout << "\nTest Case 11 :\n";
    -
    169 std::array<std::array<uint32_t, 4>, 4> graph_uint32{
    +
    168 std::cout << "\nTest Case 11 :\n";
    +
    169 std::array<std::array<uint32_t, 4>, 4> graph_uint32{
    170 0, 5, INFINITY_UINT32, 9,
    171 5, 0, 2, INFINITY_UINT32,
    172 INFINITY_UINT32, 2, 0, 6,
    173 9, INFINITY_UINT32, 6, 0};
    174 greedy_algorithms::findMinimumEdge(INFINITY_UINT32, graph_uint32);
    175
    -
    176 std::cout << "\nAll tests have successfully passed!\n";
    +
    176 std::cout << "\nAll tests have successfully passed!\n";
    177}
    - - -
    T max(T... args)
    -
    void findMinimumEdge(const T &infinity, const std::array< std::array< T, N >, M > &graph)
    Finds the minimum edge of the given graph.
    Definition kruskals_minimum_spanning_tree.cpp:38
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    void findMinimumEdge(const T &infinity, const std::array< std::array< T, N >, M > &graph)
    Finds the minimum edge of the given graph.
    + diff --git a/d8/d7d/kruskals__minimum__spanning__tree_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map b/d8/d7d/kruskals__minimum__spanning__tree_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map deleted file mode 100644 index 5ecbd6dc0..000000000 --- a/d8/d7d/kruskals__minimum__spanning__tree_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/d8/d7d/kruskals__minimum__spanning__tree_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 b/d8/d7d/kruskals__minimum__spanning__tree_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 deleted file mode 100644 index 14d19066b..000000000 --- a/d8/d7d/kruskals__minimum__spanning__tree_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -0b48f8523e7ef0e20c0494ac07eac7ff \ No newline at end of file diff --git a/d8/d7d/kruskals__minimum__spanning__tree_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg b/d8/d7d/kruskals__minimum__spanning__tree_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg deleted file mode 100644 index f1c0ccea5..000000000 --- a/d8/d7d/kruskals__minimum__spanning__tree_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -greedy_algorithms:: -findMinimumEdge - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::numeric_limits::max - - - - - -Node1->Node3 - - - - - - - - - - - - - diff --git a/d8/d7d/kruskals__minimum__spanning__tree_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg b/d8/d7d/kruskals__minimum__spanning__tree_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg deleted file mode 100644 index 22c96dfb1..000000000 --- a/d8/d7d/kruskals__minimum__spanning__tree_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -greedy_algorithms:: -findMinimumEdge - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::numeric_limits::max - - - - - -Node1->Node3 - - - - - - - - diff --git a/d8/d7d/kruskals__minimum__spanning__tree_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d8/d7d/kruskals__minimum__spanning__tree_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 39602a91c..000000000 --- a/d8/d7d/kruskals__minimum__spanning__tree_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/d8/d7d/kruskals__minimum__spanning__tree_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d8/d7d/kruskals__minimum__spanning__tree_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index ac79134c3..000000000 --- a/d8/d7d/kruskals__minimum__spanning__tree_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -44496dfb9d279bfd79c2badbf1ee48f4 \ No newline at end of file diff --git a/d8/d7d/kruskals__minimum__spanning__tree_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d8/d7d/kruskals__minimum__spanning__tree_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 9b68ccfdd..000000000 --- a/d8/d7d/kruskals__minimum__spanning__tree_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,102 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -greedy_algorithms:: -findMinimumEdge - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::numeric_limits::max - - - - - -Node2->Node4 - - - - - - - - - - - - - diff --git a/d8/d7d/kruskals__minimum__spanning__tree_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d8/d7d/kruskals__minimum__spanning__tree_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 08790dddc..000000000 --- a/d8/d7d/kruskals__minimum__spanning__tree_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -greedy_algorithms:: -findMinimumEdge - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::numeric_limits::max - - - - - -Node2->Node4 - - - - - - - - diff --git a/d8/d7d/kruskals__minimum__spanning__tree_8cpp_source.html b/d8/d7d/kruskals__minimum__spanning__tree_8cpp_source.html new file mode 100644 index 000000000..4cc45ac3d --- /dev/null +++ b/d8/d7d/kruskals__minimum__spanning__tree_8cpp_source.html @@ -0,0 +1,292 @@ + + + + + + + + +TheAlgorithms/C++: greedy_algorithms/kruskals_minimum_spanning_tree.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    +

    Functions

    template<typename T , std::size_t N, std::size_t M>
    void greedy_algorithms::findMinimumEdge (const T &infinity, const std::array< std::array< T, N >, M > &graph)
    template<typename T , std::size_t N, std::size_t M>
    void greedy_algorithms::findMinimumEdge (const T &infinity, const std::array< std::array< T, N >, M > &graph)
     Finds the minimum edge of the given graph.
     
    static void test ()
    + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + + +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    kruskals_minimum_spanning_tree.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    21#include <array>
    +
    22#include <iostream>
    +
    23#include <limits>
    +
    24#include <cstdint>
    +
    25
    +
    30namespace greedy_algorithms {
    +
    37template <typename T, std::size_t N, std::size_t M>
    +
    +
    38void findMinimumEdge(const T &infinity,
    +
    39 const std::array<std::array<T, N>, M> &graph) {
    +
    40 if (N != M) {
    +
    41 std::cout << "\nWrong input passed. Provided array has dimensions " << N
    +
    42 << "x" << M << ". Please provide a square matrix.\n";
    +
    43 return;
    +
    44 }
    +
    45 for (int i = 0; i < graph.size(); i++) {
    +
    46 int min = infinity;
    +
    47 int minIndex = 0;
    +
    48 for (int j = 0; j < graph.size(); j++) {
    +
    49 if (i != j && graph[i][j] != 0 && graph[i][j] < min) {
    +
    50 min = graph[i][j];
    +
    51 minIndex = j;
    +
    52 }
    +
    53 }
    +
    54 std::cout << i << " - " << minIndex << "\t" << graph[i][minIndex]
    +
    55 << "\n";
    +
    56 }
    +
    57}
    +
    +
    58} // namespace greedy_algorithms
    +
    59
    +
    +
    64static void test() {
    +
    71 constexpr int INFINITY_INT = std::numeric_limits<int>::max();
    +
    72 constexpr float INFINITY_FLOAT = std::numeric_limits<float>::max();
    +
    73 constexpr double INFINITY_DOUBLE = std::numeric_limits<double>::max();
    +
    74 constexpr uint32_t INFINITY_UINT32 = UINT32_MAX;
    +
    75
    +
    76 // Test case with integer values
    +
    77 std::cout << "\nTest Case 1 :\n";
    +
    78 std::array<std::array<int, 6>, 6> graph1{
    +
    79 0, 4, 1, 4, INFINITY_INT, INFINITY_INT,
    +
    80 4, 0, 3, 8, 3, INFINITY_INT,
    +
    81 1, 3, 0, INFINITY_INT, 1, INFINITY_INT,
    +
    82 4, 8, INFINITY_INT, 0, 5, 7,
    +
    83 INFINITY_INT, 3, 1, 5, 0, INFINITY_INT,
    +
    84 INFINITY_INT, INFINITY_INT, INFINITY_INT, 7, INFINITY_INT, 0};
    +
    85 greedy_algorithms::findMinimumEdge(INFINITY_INT, graph1);
    +
    86
    +
    87 // Test case with floating values
    +
    88 std::cout << "\nTest Case 2 :\n";
    +
    89 std::array<std::array<float, 3>, 3> graph2{
    +
    90 0.0f, 2.5f, INFINITY_FLOAT,
    +
    91 2.5f, 0.0f, 3.2f,
    +
    92 INFINITY_FLOAT, 3.2f, 0.0f};
    +
    93 greedy_algorithms::findMinimumEdge(INFINITY_FLOAT, graph2);
    +
    94
    +
    95 // Test case with double values
    +
    96 std::cout << "\nTest Case 3 :\n";
    +
    97 std::array<std::array<double, 5>, 5> graph3{
    +
    98 0.0, 10.5, INFINITY_DOUBLE, 6.7, 3.3,
    +
    99 10.5, 0.0, 8.1, 15.4, INFINITY_DOUBLE,
    +
    100 INFINITY_DOUBLE, 8.1, 0.0, INFINITY_DOUBLE, 7.8,
    +
    101 6.7, 15.4, INFINITY_DOUBLE, 0.0, 9.9,
    +
    102 3.3, INFINITY_DOUBLE, 7.8, 9.9, 0.0};
    +
    103 greedy_algorithms::findMinimumEdge(INFINITY_DOUBLE, graph3);
    +
    104
    +
    105 // Test Case with negative weights
    +
    106 std::cout << "\nTest Case 4 :\n";
    +
    107 std::array<std::array<int, 3>, 3> graph_neg{
    +
    108 0, -2, 4,
    +
    109 -2, 0, 3,
    +
    110 4, 3, 0};
    +
    111 greedy_algorithms::findMinimumEdge(INFINITY_INT, graph_neg);
    +
    112
    +
    113 // Test Case with Self-Loops
    +
    114 std::cout << "\nTest Case 5 :\n";
    +
    115 std::array<std::array<int, 3>, 3> graph_self_loop{
    +
    116 2, 1, INFINITY_INT,
    +
    117 INFINITY_INT, 0, 4,
    +
    118 INFINITY_INT, 4, 0};
    +
    119 greedy_algorithms::findMinimumEdge(INFINITY_INT, graph_self_loop);
    +
    120
    +
    121 // Test Case with no edges
    +
    122 std::cout << "\nTest Case 6 :\n";
    +
    123 std::array<std::array<int, 4>, 4> no_edges{
    +
    124 0, INFINITY_INT, INFINITY_INT, INFINITY_INT,
    +
    125 INFINITY_INT, 0, INFINITY_INT, INFINITY_INT,
    +
    126 INFINITY_INT, INFINITY_INT, 0, INFINITY_INT,
    +
    127 INFINITY_INT, INFINITY_INT, INFINITY_INT, 0};
    +
    128 greedy_algorithms::findMinimumEdge(INFINITY_INT, no_edges);
    +
    129
    +
    130 // Test Case with a non-connected graph
    +
    131 std::cout << "\nTest Case 7:\n";
    +
    132 std::array<std::array<int, 4>, 4> partial_graph{
    +
    133 0, 2, INFINITY_INT, 6,
    +
    134 2, 0, 3, INFINITY_INT,
    +
    135 INFINITY_INT, 3, 0, 4,
    +
    136 6, INFINITY_INT, 4, 0};
    +
    137 greedy_algorithms::findMinimumEdge(INFINITY_INT, partial_graph);
    +
    138
    +
    139 // Test Case with Directed weighted graph. The Krushkal algorithm does not give
    +
    140 // optimal answer
    +
    141 std::cout << "\nTest Case 8:\n";
    +
    142 std::array<std::array<int, 4>, 4> directed_graph{
    +
    143 0, 3, 7, INFINITY_INT, // Vertex 0 has edges to Vertex 1 and Vertex 2
    +
    144 INFINITY_INT, 0, 2, 5, // Vertex 1 has edges to Vertex 2 and Vertex 3
    +
    145 INFINITY_INT, INFINITY_INT, 0, 1, // Vertex 2 has an edge to Vertex 3
    +
    146 INFINITY_INT, INFINITY_INT, INFINITY_INT, 0}; // Vertex 3 has no outgoing edges
    +
    147 greedy_algorithms::findMinimumEdge(INFINITY_INT, directed_graph);
    +
    148
    +
    149 // Test case with wrong input passed
    +
    150 std::cout << "\nTest Case 9:\n";
    +
    151 std::array<std::array<int, 4>, 3> graph9{
    +
    152 0, 5, 5, 5,
    +
    153 5, 0, 5, 5,
    +
    154 5, 5, 5, 5};
    +
    155 greedy_algorithms::findMinimumEdge(INFINITY_INT, graph9);
    +
    156
    +
    157 // Test case with all the same values between every edge
    +
    158 std::cout << "\nTest Case 10:\n";
    +
    159 std::array<std::array<int, 5>, 5> graph10{
    +
    160 0, 5, 5, 5, 5,
    +
    161 5, 0, 5, 5, 5,
    +
    162 5, 5, 0, 5, 5,
    +
    163 5, 5, 5, 0, 5,
    +
    164 5, 5, 5, 5, 0};
    +
    165 greedy_algorithms::findMinimumEdge(INFINITY_INT, graph10);
    +
    166
    +
    167 // Test Case with uint32_t values
    +
    168 std::cout << "\nTest Case 11 :\n";
    +
    169 std::array<std::array<uint32_t, 4>, 4> graph_uint32{
    +
    170 0, 5, INFINITY_UINT32, 9,
    +
    171 5, 0, 2, INFINITY_UINT32,
    +
    172 INFINITY_UINT32, 2, 0, 6,
    +
    173 9, INFINITY_UINT32, 6, 0};
    +
    174 greedy_algorithms::findMinimumEdge(INFINITY_UINT32, graph_uint32);
    +
    175
    +
    176 std::cout << "\nAll tests have successfully passed!\n";
    +
    177}
    +
    +
    178
    +
    +
    184int main() {
    +
    185 test(); // run Self-test implementation
    +
    186 return 0;
    +
    187}
    +
    +
    188
    +
    static void test()
    Self-test implementations.
    +
    int main()
    Main function.
    +
    Graph Algorithms.
    +
    for string class
    +
    void findMinimumEdge(const T &infinity, const std::array< std::array< T, N >, M > &graph)
    Finds the minimum edge of the given graph.
    +
    +
    + + + + diff --git a/d8/d88/namespaceset_kth_bit.html b/d8/d88/namespaceset_kth_bit.html index f37bd29ae..1cc0ccd75 100644 --- a/d8/d88/namespaceset_kth_bit.html +++ b/d8/d88/namespaceset_kth_bit.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: setKthBit Namespace Reference +TheAlgorithms/C++: setKthBit Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/d8/d89/namespacelinear__probing.html b/d8/d89/namespacelinear__probing.html index e5fb33ac5..782120370 100644 --- a/d8/d89/namespacelinear__probing.html +++ b/d8/d89/namespacelinear__probing.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: linear_probing Namespace Reference +TheAlgorithms/C++: linear_probing Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + @@ -129,7 +146,7 @@ Functions - + @@ -146,23 +163,17 @@ Functions
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    void add (int key)
     
    size_t hashFxn (int key)
     Hash a key. Uses the STL library's std::hash() function.
     Hash a key. Uses the STL library's std::hash() function.
     
    int linearProbe (int key, bool searching)
     
    - + - + - + - + - + - +

    Variables

    -int notPresent
    int notPresent
     
    -std::vector< Entrytable
    std::vector< Entrytable
     
    -int totalSize
    int totalSize
     
    -int tomb = -1
    int tomb = -1
     
    -int size
    int size
     
    -bool rehashing
    bool rehashing
     

    Detailed Description

    @@ -188,6 +199,8 @@ bool rehashing + +

    Definition at line 161 of file linear_probing_hash_table.cpp.

    161 {
    162 int index = linearProbe(key, false);
    163 table[index].key = key;
    @@ -196,13 +209,8 @@ bool rehashing 166 rehash();
    167 }
    168}
    -
    int linearProbe(int key, bool searching)
    Definition linear_probing_hash_table.cpp:55
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    int linearProbe(int key, bool searching)
    + @@ -225,26 +233,21 @@ Here is the call graph for this function: + +

    Definition at line 186 of file linear_probing_hash_table.cpp.

    186 {
    -
    187 std::cout << "Initial table: ";
    +
    187 std::cout << "Initial table: ";
    188 display();
    - -
    190 std::cout << "hash of " << key << " is " << hashFxn(key) << " % "
    +
    189 std::cout << std::endl;
    +
    190 std::cout << "hash of " << key << " is " << hashFxn(key) << " % "
    191 << totalSize << " == " << hashFxn(key) % totalSize;
    - +
    192 std::cout << std::endl;
    193 add(key);
    -
    194 std::cout << "New table: ";
    +
    194 std::cout << "New table: ";
    195 display();
    196}
    - -
    T endl(T... args)
    -
    std::string add(const std::string &first, const std::string &second)
    Adding two string.
    Definition uint128_t.hpp:38
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    std::string add(const std::string &first, const std::string &second)
    Adding two string.
    Definition uint128_t.hpp:38
    + @@ -262,26 +265,23 @@ Here is the call graph for this function:

    Function to displays the table

    Returns
    none
    + +

    Definition at line 120 of file linear_probing_hash_table.cpp.

    120 {
    121 for (int i = 0; i < totalSize; i++) {
    122 if (table[i].key == notPresent) {
    -
    123 std::cout << " Empty ";
    +
    123 std::cout << " Empty ";
    124 } else if (table[i].key == tomb) {
    -
    125 std::cout << " Tomb ";
    +
    125 std::cout << " Tomb ";
    126 } else {
    -
    127 std::cout << " ";
    -
    128 std::cout << table[i].key;
    -
    129 std::cout << " ";
    +
    127 std::cout << " ";
    +
    128 std::cout << table[i].key;
    +
    129 std::cout << " ";
    130 }
    131 }
    - +
    132 std::cout << std::endl;
    133}
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    @@ -299,7 +299,7 @@ Here is the call graph for this function:
    -

    Hash a key. Uses the STL library's std::hash() function.

    +

    Hash a key. Uses the STL library's std::hash() function.

    Parameters
    @@ -307,11 +307,12 @@ Here is the call graph for this function:
    Returns
    hash value of the key
    + +

    Definition at line 46 of file linear_probing_hash_table.cpp.

    46 {
    -
    47 std::hash<int> hash;
    +
    47 std::hash<int> hash;
    48 return hash(key);
    49}
    -
    @@ -340,6 +341,8 @@ Here is the call graph for this function:
    Returns
    hash value of the key
    + +

    Definition at line 55 of file linear_probing_hash_table.cpp.

    55 {
    56 int hash = static_cast<int>(hashFxn(key));
    57 int i = 0;
    @@ -352,40 +355,35 @@ Here is the call graph for this function:
    64 return notPresent;
    65 }
    66 if (searchingProber(entry, key)) {
    -
    67 std::cout << "Found key!" << std::endl;
    +
    67 std::cout << "Found key!" << std::endl;
    68 return index;
    69 }
    -
    70 std::cout << "Found tombstone or equal hash, checking next"
    -
    71 << std::endl;
    +
    70 std::cout << "Found tombstone or equal hash, checking next"
    +
    71 << std::endl;
    72 i++;
    73 } else {
    74 if (putProber(entry, key)) {
    75 if (!rehashing) {
    -
    76 std::cout << "Spot found!" << std::endl;
    +
    76 std::cout << "Spot found!" << std::endl;
    77 }
    78 return index;
    79 }
    80 if (!rehashing) {
    -
    81 std::cout << "Spot taken, looking at next" << std::endl;
    +
    81 std::cout << "Spot taken, looking at next" << std::endl;
    82 }
    83 i++;
    84 }
    85 if (i == totalSize) {
    -
    86 std::cout << "Linear probe failed" << std::endl;
    +
    86 std::cout << "Linear probe failed" << std::endl;
    87 return notPresent;
    88 }
    89 } while (entry.key != notPresent);
    90 return notPresent;
    91}
    -
    bool putProber(const Entry &entry, int key)
    Definition double_hash_hash_table.cpp:120
    -
    Definition linear_probing_hash_table.cpp:35
    -
    int key
    key value
    Definition linear_probing_hash_table.cpp:37
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    bool putProber(const Entry &entry, int key)
    +
    +
    int key
    key value
    + @@ -414,6 +412,8 @@ Here is the call graph for this function:
    Returns
    hash value of the key
    + +

    Definition at line 98 of file linear_probing_hash_table.cpp.

    98 {
    99 if (entry.key == notPresent || entry.key == tomb) {
    100 return true;
    @@ -438,15 +438,17 @@ Here is the call graph for this function:
    keyvalue to hash

    Rehashes the table into a bigger table

    Returns
    None
    + +

    Definition at line 138 of file linear_probing_hash_table.cpp.

    138 {
    139 // Necessary so wall of add info isn't printed all at once
    140 rehashing = true;
    141 int oldSize = totalSize;
    -
    142 std::vector<Entry> oldTable(table);
    +
    142 std::vector<Entry> oldTable(table);
    143 // Really this should use the next prime number greater than totalSize *
    144 // 2
    145 totalSize *= 2;
    -
    146 table = std::vector<Entry>(totalSize);
    +
    146 table = std::vector<Entry>(totalSize);
    147 for (int i = 0; i < oldSize; i++) {
    148 if (oldTable[i].key != -1 && oldTable[i].key != notPresent) {
    149 size--; // Size stays the same (add increments size)
    @@ -455,15 +457,9 @@ Here is the call graph for this function:
    152 }
    153 // delete[] oldTable;
    154 rehashing = false;
    -
    155 std::cout << "Table was rehashed, new size is: " << totalSize << std::endl;
    +
    155 std::cout << "Table was rehashed, new size is: " << totalSize << std::endl;
    156}
    - -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -486,23 +482,20 @@ Here is the call graph for this function: + +

    Definition at line 201 of file linear_probing_hash_table.cpp.

    201 {
    -
    202 std::cout << "Initial table: ";
    +
    202 std::cout << "Initial table: ";
    203 display();
    - -
    205 std::cout << "hash of " << key << " is " << hashFxn(key) << " % "
    +
    204 std::cout << std::endl;
    +
    205 std::cout << "hash of " << key << " is " << hashFxn(key) << " % "
    206 << totalSize << " == " << hashFxn(key) % totalSize;
    - +
    207 std::cout << std::endl;
    208 remove(key);
    -
    209 std::cout << "New table: ";
    +
    209 std::cout << "New table: ";
    210 display();
    211}
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -525,21 +518,18 @@ Here is the call graph for this function: + +

    Definition at line 173 of file linear_probing_hash_table.cpp.

    173 {
    174 int index = linearProbe(key, true);
    175 if (index == notPresent) {
    -
    176 std::cout << "key not found" << std::endl;
    +
    176 std::cout << "key not found" << std::endl;
    177 }
    -
    178 std::cout << "Removal Successful, leaving tomb" << std::endl;
    +
    178 std::cout << "Removal Successful, leaving tomb" << std::endl;
    179 table[index].key = tomb;
    180 size--;
    181}
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -568,6 +558,8 @@ Here is the call graph for this function:
    Returns
    hash value of the key
    + +

    Definition at line 110 of file linear_probing_hash_table.cpp.

    110 {
    111 if (entry.key == key) {
    112 return true;
    @@ -575,6 +567,103 @@ Here is the call graph for this function:
    114 return false;
    115}
    + + +

    Variable Documentation

    + +

    ◆ notPresent

    + +
    +
    + + + + +
    int linear_probing::notPresent
    +
    + +

    Definition at line 27 of file linear_probing_hash_table.cpp.

    + +
    +
    + +

    ◆ rehashing

    + +
    +
    + + + + +
    bool linear_probing::rehashing
    +
    + +

    Definition at line 32 of file linear_probing_hash_table.cpp.

    + +
    +
    + +

    ◆ size

    + +
    +
    + + + + +
    int linear_probing::size
    +
    + +

    Definition at line 31 of file linear_probing_hash_table.cpp.

    + +
    +
    + +

    ◆ table

    + +
    +
    + + + + +
    std::vector<Entry> linear_probing::table
    +
    + +

    Definition at line 28 of file linear_probing_hash_table.cpp.

    + +
    +
    + +

    ◆ tomb

    + +
    +
    + + + + +
    int linear_probing::tomb = -1
    +
    + +

    Definition at line 30 of file linear_probing_hash_table.cpp.

    + +
    +
    + +

    ◆ totalSize

    + +
    +
    + + + + +
    int linear_probing::totalSize
    +
    + +

    Definition at line 29 of file linear_probing_hash_table.cpp.

    +
    diff --git a/d8/d89/namespacelinear__probing_a16680b8a37d442c2f208faa286e33908_cgraph.map b/d8/d89/namespacelinear__probing_a16680b8a37d442c2f208faa286e33908_cgraph.map deleted file mode 100644 index eaa8b97fe..000000000 --- a/d8/d89/namespacelinear__probing_a16680b8a37d442c2f208faa286e33908_cgraph.map +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d8/d89/namespacelinear__probing_a16680b8a37d442c2f208faa286e33908_cgraph.md5 b/d8/d89/namespacelinear__probing_a16680b8a37d442c2f208faa286e33908_cgraph.md5 deleted file mode 100644 index 3eb742e3a..000000000 --- a/d8/d89/namespacelinear__probing_a16680b8a37d442c2f208faa286e33908_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -09f686b1d98287cbd5efea9e138cebc3 \ No newline at end of file diff --git a/d8/d89/namespacelinear__probing_a16680b8a37d442c2f208faa286e33908_cgraph.svg b/d8/d89/namespacelinear__probing_a16680b8a37d442c2f208faa286e33908_cgraph.svg deleted file mode 100644 index 437e55ede..000000000 --- a/d8/d89/namespacelinear__probing_a16680b8a37d442c2f208faa286e33908_cgraph.svg +++ /dev/null @@ -1,294 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -linear_probing::addInfo - - -Node1 - - -linear_probing::addInfo - - - - - -Node2 - - -linear_probing::add - - - - - -Node1->Node2 - - - - - - - - -Node4 - - -std::endl - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -linear_probing::hashFxn - - - - - -Node1->Node5 - - - - - - - - -Node9 - - -linear_probing::display - - - - - -Node1->Node9 - - - - - - - - -Node3 - - -linear_probing::linearProbe - - - - - -Node2->Node3 - - - - - - - - -Node8 - - -linear_probing::rehash - - - - - -Node2->Node8 - - - - - - - - -Node3->Node4 - - - - - - - - -Node3->Node5 - - - - - - - - -Node6 - - -linear_probing::putProber - - - - - -Node3->Node6 - - - - - - - - -Node7 - - -linear_probing::searching -Prober - - - - - -Node3->Node7 - - - - - - - - -Node8->Node2 - - - - - - - - -Node8->Node4 - - - - - - - - -Node9->Node4 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d8/d89/namespacelinear__probing_a16680b8a37d442c2f208faa286e33908_cgraph_org.svg b/d8/d89/namespacelinear__probing_a16680b8a37d442c2f208faa286e33908_cgraph_org.svg deleted file mode 100644 index eb56c891e..000000000 --- a/d8/d89/namespacelinear__probing_a16680b8a37d442c2f208faa286e33908_cgraph_org.svg +++ /dev/null @@ -1,211 +0,0 @@ - - - - - - -linear_probing::addInfo - - -Node1 - - -linear_probing::addInfo - - - - - -Node2 - - -linear_probing::add - - - - - -Node1->Node2 - - - - - - - - -Node4 - - -std::endl - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -linear_probing::hashFxn - - - - - -Node1->Node5 - - - - - - - - -Node9 - - -linear_probing::display - - - - - -Node1->Node9 - - - - - - - - -Node3 - - -linear_probing::linearProbe - - - - - -Node2->Node3 - - - - - - - - -Node8 - - -linear_probing::rehash - - - - - -Node2->Node8 - - - - - - - - -Node3->Node4 - - - - - - - - -Node3->Node5 - - - - - - - - -Node6 - - -linear_probing::putProber - - - - - -Node3->Node6 - - - - - - - - -Node7 - - -linear_probing::searching -Prober - - - - - -Node3->Node7 - - - - - - - - -Node8->Node2 - - - - - - - - -Node8->Node4 - - - - - - - - -Node9->Node4 - - - - - - - - diff --git a/d8/d89/namespacelinear__probing_a16d34fd3511626a83ab00665d7bc34d1_cgraph.map b/d8/d89/namespacelinear__probing_a16d34fd3511626a83ab00665d7bc34d1_cgraph.map deleted file mode 100644 index 472e788d3..000000000 --- a/d8/d89/namespacelinear__probing_a16d34fd3511626a83ab00665d7bc34d1_cgraph.map +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - - - - - diff --git a/d8/d89/namespacelinear__probing_a16d34fd3511626a83ab00665d7bc34d1_cgraph.md5 b/d8/d89/namespacelinear__probing_a16d34fd3511626a83ab00665d7bc34d1_cgraph.md5 deleted file mode 100644 index c4342df24..000000000 --- a/d8/d89/namespacelinear__probing_a16d34fd3511626a83ab00665d7bc34d1_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -1c62423d180772d6d1c20cdd0570e7b9 \ No newline at end of file diff --git a/d8/d89/namespacelinear__probing_a16d34fd3511626a83ab00665d7bc34d1_cgraph.svg b/d8/d89/namespacelinear__probing_a16d34fd3511626a83ab00665d7bc34d1_cgraph.svg deleted file mode 100644 index de484f00e..000000000 --- a/d8/d89/namespacelinear__probing_a16d34fd3511626a83ab00665d7bc34d1_cgraph.svg +++ /dev/null @@ -1,174 +0,0 @@ - - - - - - - - - - - - -linear_probing::add - - -Node1 - - -linear_probing::add - - - - - -Node2 - - -linear_probing::linearProbe - - - - - -Node1->Node2 - - - - - - - - -Node7 - - -linear_probing::rehash - - - - - -Node1->Node7 - - - - - - - - -Node3 - - -std::endl - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -linear_probing::hashFxn - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -linear_probing::putProber - - - - - -Node2->Node5 - - - - - - - - -Node6 - - -linear_probing::searching -Prober - - - - - -Node2->Node6 - - - - - - - - -Node7->Node1 - - - - - - - - -Node7->Node3 - - - - - - - - - - - - - diff --git a/d8/d89/namespacelinear__probing_a16d34fd3511626a83ab00665d7bc34d1_cgraph_org.svg b/d8/d89/namespacelinear__probing_a16d34fd3511626a83ab00665d7bc34d1_cgraph_org.svg deleted file mode 100644 index 906a247a3..000000000 --- a/d8/d89/namespacelinear__probing_a16d34fd3511626a83ab00665d7bc34d1_cgraph_org.svg +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - -linear_probing::add - - -Node1 - - -linear_probing::add - - - - - -Node2 - - -linear_probing::linearProbe - - - - - -Node1->Node2 - - - - - - - - -Node7 - - -linear_probing::rehash - - - - - -Node1->Node7 - - - - - - - - -Node3 - - -std::endl - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -linear_probing::hashFxn - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -linear_probing::putProber - - - - - -Node2->Node5 - - - - - - - - -Node6 - - -linear_probing::searching -Prober - - - - - -Node2->Node6 - - - - - - - - -Node7->Node1 - - - - - - - - -Node7->Node3 - - - - - - - - diff --git a/d8/d89/namespacelinear__probing_a6322209aaa91b7bbf16f96e1cc52b746_cgraph.map b/d8/d89/namespacelinear__probing_a6322209aaa91b7bbf16f96e1cc52b746_cgraph.map deleted file mode 100644 index c977e8d43..000000000 --- a/d8/d89/namespacelinear__probing_a6322209aaa91b7bbf16f96e1cc52b746_cgraph.map +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/d8/d89/namespacelinear__probing_a6322209aaa91b7bbf16f96e1cc52b746_cgraph.md5 b/d8/d89/namespacelinear__probing_a6322209aaa91b7bbf16f96e1cc52b746_cgraph.md5 deleted file mode 100644 index c7c72f700..000000000 --- a/d8/d89/namespacelinear__probing_a6322209aaa91b7bbf16f96e1cc52b746_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -04d5fce2523fa35baf6a324d28862a8c \ No newline at end of file diff --git a/d8/d89/namespacelinear__probing_a6322209aaa91b7bbf16f96e1cc52b746_cgraph.svg b/d8/d89/namespacelinear__probing_a6322209aaa91b7bbf16f96e1cc52b746_cgraph.svg deleted file mode 100644 index 11ab10121..000000000 --- a/d8/d89/namespacelinear__probing_a6322209aaa91b7bbf16f96e1cc52b746_cgraph.svg +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - - - - - - - -linear_probing::linearProbe - - -Node1 - - -linear_probing::linearProbe - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -linear_probing::hashFxn - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -linear_probing::putProber - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -linear_probing::searching -Prober - - - - - -Node1->Node5 - - - - - - - - - - - - - diff --git a/d8/d89/namespacelinear__probing_a6322209aaa91b7bbf16f96e1cc52b746_cgraph_org.svg b/d8/d89/namespacelinear__probing_a6322209aaa91b7bbf16f96e1cc52b746_cgraph_org.svg deleted file mode 100644 index dfce91a1f..000000000 --- a/d8/d89/namespacelinear__probing_a6322209aaa91b7bbf16f96e1cc52b746_cgraph_org.svg +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - -linear_probing::linearProbe - - -Node1 - - -linear_probing::linearProbe - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -linear_probing::hashFxn - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -linear_probing::putProber - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -linear_probing::searching -Prober - - - - - -Node1->Node5 - - - - - - - - diff --git a/d8/d89/namespacelinear__probing_a6a082dc1426a79f866cee6b370df37b0_cgraph.map b/d8/d89/namespacelinear__probing_a6a082dc1426a79f866cee6b370df37b0_cgraph.map deleted file mode 100644 index f45dd8d06..000000000 --- a/d8/d89/namespacelinear__probing_a6a082dc1426a79f866cee6b370df37b0_cgraph.map +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - - - - - diff --git a/d8/d89/namespacelinear__probing_a6a082dc1426a79f866cee6b370df37b0_cgraph.md5 b/d8/d89/namespacelinear__probing_a6a082dc1426a79f866cee6b370df37b0_cgraph.md5 deleted file mode 100644 index 43d1701fb..000000000 --- a/d8/d89/namespacelinear__probing_a6a082dc1426a79f866cee6b370df37b0_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -3db9b09fbbb664204a38c7897edf0abb \ No newline at end of file diff --git a/d8/d89/namespacelinear__probing_a6a082dc1426a79f866cee6b370df37b0_cgraph.svg b/d8/d89/namespacelinear__probing_a6a082dc1426a79f866cee6b370df37b0_cgraph.svg deleted file mode 100644 index e0ba11d97..000000000 --- a/d8/d89/namespacelinear__probing_a6a082dc1426a79f866cee6b370df37b0_cgraph.svg +++ /dev/null @@ -1,231 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -linear_probing::rehash - - -Node1 - - -linear_probing::rehash - - - - - -Node2 - - -linear_probing::add - - - - - -Node1->Node2 - - - - - - - - -Node4 - - -std::endl - - - - - -Node1->Node4 - - - - - - - - -Node2->Node1 - - - - - - - - -Node3 - - -linear_probing::linearProbe - - - - - -Node2->Node3 - - - - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -linear_probing::hashFxn - - - - - -Node3->Node5 - - - - - - - - -Node6 - - -linear_probing::putProber - - - - - -Node3->Node6 - - - - - - - - -Node7 - - -linear_probing::searching -Prober - - - - - -Node3->Node7 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d8/d89/namespacelinear__probing_a6a082dc1426a79f866cee6b370df37b0_cgraph_org.svg b/d8/d89/namespacelinear__probing_a6a082dc1426a79f866cee6b370df37b0_cgraph_org.svg deleted file mode 100644 index 0fba3038d..000000000 --- a/d8/d89/namespacelinear__probing_a6a082dc1426a79f866cee6b370df37b0_cgraph_org.svg +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - -linear_probing::rehash - - -Node1 - - -linear_probing::rehash - - - - - -Node2 - - -linear_probing::add - - - - - -Node1->Node2 - - - - - - - - -Node4 - - -std::endl - - - - - -Node1->Node4 - - - - - - - - -Node2->Node1 - - - - - - - - -Node3 - - -linear_probing::linearProbe - - - - - -Node2->Node3 - - - - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -linear_probing::hashFxn - - - - - -Node3->Node5 - - - - - - - - -Node6 - - -linear_probing::putProber - - - - - -Node3->Node6 - - - - - - - - -Node7 - - -linear_probing::searching -Prober - - - - - -Node3->Node7 - - - - - - - - diff --git a/d8/d89/namespacelinear__probing_a75854f5aa216e61219154c62167ce8f0_cgraph.map b/d8/d89/namespacelinear__probing_a75854f5aa216e61219154c62167ce8f0_cgraph.map deleted file mode 100644 index e72f0ab57..000000000 --- a/d8/d89/namespacelinear__probing_a75854f5aa216e61219154c62167ce8f0_cgraph.map +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - diff --git a/d8/d89/namespacelinear__probing_a75854f5aa216e61219154c62167ce8f0_cgraph.md5 b/d8/d89/namespacelinear__probing_a75854f5aa216e61219154c62167ce8f0_cgraph.md5 deleted file mode 100644 index 1867eadcb..000000000 --- a/d8/d89/namespacelinear__probing_a75854f5aa216e61219154c62167ce8f0_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -bfa83923416995eda4d23ec576cc1c14 \ No newline at end of file diff --git a/d8/d89/namespacelinear__probing_a75854f5aa216e61219154c62167ce8f0_cgraph.svg b/d8/d89/namespacelinear__probing_a75854f5aa216e61219154c62167ce8f0_cgraph.svg deleted file mode 100644 index 4529705c6..000000000 --- a/d8/d89/namespacelinear__probing_a75854f5aa216e61219154c62167ce8f0_cgraph.svg +++ /dev/null @@ -1,267 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -linear_probing::removalInfo - - -Node1 - - -linear_probing::removalInfo - - - - - -Node2 - - -linear_probing::display - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -linear_probing::hashFxn - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -linear_probing::remove - - - - - -Node1->Node5 - - - - - - - - -Node2->Node3 - - - - - - - - -Node5->Node3 - - - - - - - - -Node6 - - -linear_probing::linearProbe - - - - - -Node5->Node6 - - - - - - - - -Node6->Node3 - - - - - - - - -Node6->Node4 - - - - - - - - -Node7 - - -linear_probing::putProber - - - - - -Node6->Node7 - - - - - - - - -Node8 - - -linear_probing::searching -Prober - - - - - -Node6->Node8 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d8/d89/namespacelinear__probing_a75854f5aa216e61219154c62167ce8f0_cgraph_org.svg b/d8/d89/namespacelinear__probing_a75854f5aa216e61219154c62167ce8f0_cgraph_org.svg deleted file mode 100644 index a3010fed3..000000000 --- a/d8/d89/namespacelinear__probing_a75854f5aa216e61219154c62167ce8f0_cgraph_org.svg +++ /dev/null @@ -1,184 +0,0 @@ - - - - - - -linear_probing::removalInfo - - -Node1 - - -linear_probing::removalInfo - - - - - -Node2 - - -linear_probing::display - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -linear_probing::hashFxn - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -linear_probing::remove - - - - - -Node1->Node5 - - - - - - - - -Node2->Node3 - - - - - - - - -Node5->Node3 - - - - - - - - -Node6 - - -linear_probing::linearProbe - - - - - -Node5->Node6 - - - - - - - - -Node6->Node3 - - - - - - - - -Node6->Node4 - - - - - - - - -Node7 - - -linear_probing::putProber - - - - - -Node6->Node7 - - - - - - - - -Node8 - - -linear_probing::searching -Prober - - - - - -Node6->Node8 - - - - - - - - diff --git a/d8/d89/namespacelinear__probing_abcf8d033f8115f39f3c93cfb6cee0b28_cgraph.map b/d8/d89/namespacelinear__probing_abcf8d033f8115f39f3c93cfb6cee0b28_cgraph.map deleted file mode 100644 index 4ed537312..000000000 --- a/d8/d89/namespacelinear__probing_abcf8d033f8115f39f3c93cfb6cee0b28_cgraph.map +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - - - - - diff --git a/d8/d89/namespacelinear__probing_abcf8d033f8115f39f3c93cfb6cee0b28_cgraph.md5 b/d8/d89/namespacelinear__probing_abcf8d033f8115f39f3c93cfb6cee0b28_cgraph.md5 deleted file mode 100644 index fafd56a60..000000000 --- a/d8/d89/namespacelinear__probing_abcf8d033f8115f39f3c93cfb6cee0b28_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -5944bdea6da1e5530557aaa8b261188a \ No newline at end of file diff --git a/d8/d89/namespacelinear__probing_abcf8d033f8115f39f3c93cfb6cee0b28_cgraph.svg b/d8/d89/namespacelinear__probing_abcf8d033f8115f39f3c93cfb6cee0b28_cgraph.svg deleted file mode 100644 index 4601c3be8..000000000 --- a/d8/d89/namespacelinear__probing_abcf8d033f8115f39f3c93cfb6cee0b28_cgraph.svg +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - - - - -linear_probing::remove - - -Node1 - - -linear_probing::remove - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -linear_probing::linearProbe - - - - - -Node1->Node3 - - - - - - - - -Node3->Node2 - - - - - - - - -Node4 - - -linear_probing::hashFxn - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -linear_probing::putProber - - - - - -Node3->Node5 - - - - - - - - -Node6 - - -linear_probing::searching -Prober - - - - - -Node3->Node6 - - - - - - - - - - - - - diff --git a/d8/d89/namespacelinear__probing_abcf8d033f8115f39f3c93cfb6cee0b28_cgraph_org.svg b/d8/d89/namespacelinear__probing_abcf8d033f8115f39f3c93cfb6cee0b28_cgraph_org.svg deleted file mode 100644 index 54f57399d..000000000 --- a/d8/d89/namespacelinear__probing_abcf8d033f8115f39f3c93cfb6cee0b28_cgraph_org.svg +++ /dev/null @@ -1,121 +0,0 @@ - - - - - - -linear_probing::remove - - -Node1 - - -linear_probing::remove - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -linear_probing::linearProbe - - - - - -Node1->Node3 - - - - - - - - -Node3->Node2 - - - - - - - - -Node4 - - -linear_probing::hashFxn - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -linear_probing::putProber - - - - - -Node3->Node5 - - - - - - - - -Node6 - - -linear_probing::searching -Prober - - - - - -Node3->Node6 - - - - - - - - diff --git a/d8/d89/namespacelinear__probing_ad87b71d810901fab69c4ad9d4d0fa635_cgraph.map b/d8/d89/namespacelinear__probing_ad87b71d810901fab69c4ad9d4d0fa635_cgraph.map deleted file mode 100644 index 1fb4be187..000000000 --- a/d8/d89/namespacelinear__probing_ad87b71d810901fab69c4ad9d4d0fa635_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d8/d89/namespacelinear__probing_ad87b71d810901fab69c4ad9d4d0fa635_cgraph.md5 b/d8/d89/namespacelinear__probing_ad87b71d810901fab69c4ad9d4d0fa635_cgraph.md5 deleted file mode 100644 index bf8a7ed9d..000000000 --- a/d8/d89/namespacelinear__probing_ad87b71d810901fab69c4ad9d4d0fa635_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -c7454b3a6a4a9778ae998b92407860ec \ No newline at end of file diff --git a/d8/d89/namespacelinear__probing_ad87b71d810901fab69c4ad9d4d0fa635_cgraph.svg b/d8/d89/namespacelinear__probing_ad87b71d810901fab69c4ad9d4d0fa635_cgraph.svg deleted file mode 100644 index 6fe4c5117..000000000 --- a/d8/d89/namespacelinear__probing_ad87b71d810901fab69c4ad9d4d0fa635_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -linear_probing::display - - -Node1 - - -linear_probing::display - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d8/d89/namespacelinear__probing_ad87b71d810901fab69c4ad9d4d0fa635_cgraph_org.svg b/d8/d89/namespacelinear__probing_ad87b71d810901fab69c4ad9d4d0fa635_cgraph_org.svg deleted file mode 100644 index 8cf28707c..000000000 --- a/d8/d89/namespacelinear__probing_ad87b71d810901fab69c4ad9d4d0fa635_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -linear_probing::display - - -Node1 - - -linear_probing::display - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - diff --git a/d8/d8a/exponential__search_8cpp.html b/d8/d8a/exponential__search_8cpp.html index 42be5eb29..d0b3d4a48 100644 --- a/d8/d8a/exponential__search_8cpp.html +++ b/d8/d8a/exponential__search_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: search/exponential_search.cpp File Reference +TheAlgorithms/C++: search/exponential_search.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -121,7 +138,9 @@ Include dependency graph for exponential_search.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -137,6 +156,8 @@ Functions

    Exponential search algorithm

    The algorithm try to search the range where the key should be. If it has been found we do a binary search there. The range of the search grows by exponential every time. If the key is larger than the last element of array, the start of block(block_front) will be equal to the end of block(block_size) and the algorithm return null ponter, every other cases the algoritm return fom the loop.

    + +

    Definition in file exponential_search.cpp.

    Function Documentation

    ◆ binary_s()

    @@ -182,11 +203,13 @@ template<class Type > nullptr if value not found + +

    Definition at line 34 of file exponential_search.cpp.

    34 {
    35 int32_t lower_index(0), upper_index(size - 1), middle_index;
    36
    37 while (lower_index <= upper_index) {
    -
    38 middle_index = std::floor((lower_index + upper_index) / 2);
    +
    38 middle_index = std::floor((lower_index + upper_index) / 2);
    39
    40 if (*(array + middle_index) < key)
    41 lower_index = (middle_index + 1);
    @@ -198,13 +221,7 @@ template<class Type >
    47
    48 return nullptr;
    49}
    -
    T floor(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -222,6 +239,8 @@ Here is the call graph for this function:

    Functions

    template<class Type >

    Main function

    + +

    Definition at line 74 of file exponential_search.cpp.

    74 {
    75 // TEST CASES
    76 int* sorted_array = new int[7]{7, 10, 15, 23, 70, 105, 203};
    @@ -233,13 +252,8 @@ Here is the call graph for this function:
    82 delete[] sorted_array;
    83 return 0;
    84}
    -
    Type * struzik_search(Type *array, size_t size, Type key)
    Definition exponential_search.cpp:59
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    Type * struzik_search(Type *array, size_t size, Type key)
    + @@ -274,6 +288,8 @@ template<class Type >
  • Space Complexity O(1)
  • Auxiliary Space Complexity O(1)
  • + +

    Definition at line 59 of file exponential_search.cpp.

    59 {
    60 uint32_t block_front(0), block_size = size == 0 ? 0 : 1;
    61 while (block_front != block_size) {
    @@ -287,13 +303,8 @@ template<class Type >
    69 }
    70 return nullptr;
    71}
    -
    Type * binary_s(Type *array, size_t size, Type key)
    Definition exponential_search.cpp:34
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    Type * binary_s(Type *array, size_t size, Type key)
    + diff --git a/d8/d8a/exponential__search_8cpp_ab06cedad209456eae95d37b7cd66acae_cgraph.map b/d8/d8a/exponential__search_8cpp_ab06cedad209456eae95d37b7cd66acae_cgraph.map deleted file mode 100644 index 01abb75c7..000000000 --- a/d8/d8a/exponential__search_8cpp_ab06cedad209456eae95d37b7cd66acae_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d8/d8a/exponential__search_8cpp_ab06cedad209456eae95d37b7cd66acae_cgraph.md5 b/d8/d8a/exponential__search_8cpp_ab06cedad209456eae95d37b7cd66acae_cgraph.md5 deleted file mode 100644 index eb4d7792c..000000000 --- a/d8/d8a/exponential__search_8cpp_ab06cedad209456eae95d37b7cd66acae_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -f90bdf5dda11722fafab50c0b5ad183d \ No newline at end of file diff --git a/d8/d8a/exponential__search_8cpp_ab06cedad209456eae95d37b7cd66acae_cgraph.svg b/d8/d8a/exponential__search_8cpp_ab06cedad209456eae95d37b7cd66acae_cgraph.svg deleted file mode 100644 index 1ee3d108e..000000000 --- a/d8/d8a/exponential__search_8cpp_ab06cedad209456eae95d37b7cd66acae_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -binary_s - - -Node1 - - -binary_s - - - - - -Node2 - - -std::floor - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d8/d8a/exponential__search_8cpp_ab06cedad209456eae95d37b7cd66acae_cgraph_org.svg b/d8/d8a/exponential__search_8cpp_ab06cedad209456eae95d37b7cd66acae_cgraph_org.svg deleted file mode 100644 index 1174f4bbf..000000000 --- a/d8/d8a/exponential__search_8cpp_ab06cedad209456eae95d37b7cd66acae_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -binary_s - - -Node1 - - -binary_s - - - - - -Node2 - - -std::floor - - - - - -Node1->Node2 - - - - - - - - diff --git a/d8/d8a/exponential__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d8/d8a/exponential__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index efd7c869b..000000000 --- a/d8/d8a/exponential__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/d8/d8a/exponential__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d8/d8a/exponential__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index a3845e8fa..000000000 --- a/d8/d8a/exponential__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -8bd0fd7647e850f173ab507a3b0c2fd0 \ No newline at end of file diff --git a/d8/d8a/exponential__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d8/d8a/exponential__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 41d13fc38..000000000 --- a/d8/d8a/exponential__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -struzik_search - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -binary_s - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::floor - - - - - -Node3->Node4 - - - - - - - - - - - - - diff --git a/d8/d8a/exponential__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d8/d8a/exponential__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 752fa227b..000000000 --- a/d8/d8a/exponential__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -struzik_search - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -binary_s - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::floor - - - - - -Node3->Node4 - - - - - - - - diff --git a/d8/d8a/exponential__search_8cpp_af421bf4b7b95f20ac86c233adfdb9208_cgraph.map b/d8/d8a/exponential__search_8cpp_af421bf4b7b95f20ac86c233adfdb9208_cgraph.map deleted file mode 100644 index b6e55ec3e..000000000 --- a/d8/d8a/exponential__search_8cpp_af421bf4b7b95f20ac86c233adfdb9208_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/d8/d8a/exponential__search_8cpp_af421bf4b7b95f20ac86c233adfdb9208_cgraph.md5 b/d8/d8a/exponential__search_8cpp_af421bf4b7b95f20ac86c233adfdb9208_cgraph.md5 deleted file mode 100644 index 661bb9c4a..000000000 --- a/d8/d8a/exponential__search_8cpp_af421bf4b7b95f20ac86c233adfdb9208_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -f8cdcc8009682d51680a49cb18b1d5ca \ No newline at end of file diff --git a/d8/d8a/exponential__search_8cpp_af421bf4b7b95f20ac86c233adfdb9208_cgraph.svg b/d8/d8a/exponential__search_8cpp_af421bf4b7b95f20ac86c233adfdb9208_cgraph.svg deleted file mode 100644 index 637170812..000000000 --- a/d8/d8a/exponential__search_8cpp_af421bf4b7b95f20ac86c233adfdb9208_cgraph.svg +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - -struzik_search - - -Node1 - - -struzik_search - - - - - -Node2 - - -binary_s - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::floor - - - - - -Node2->Node3 - - - - - - - - - - - - - diff --git a/d8/d8a/exponential__search_8cpp_af421bf4b7b95f20ac86c233adfdb9208_cgraph_org.svg b/d8/d8a/exponential__search_8cpp_af421bf4b7b95f20ac86c233adfdb9208_cgraph_org.svg deleted file mode 100644 index 0bef2241a..000000000 --- a/d8/d8a/exponential__search_8cpp_af421bf4b7b95f20ac86c233adfdb9208_cgraph_org.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - -struzik_search - - -Node1 - - -struzik_search - - - - - -Node2 - - -binary_s - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::floor - - - - - -Node2->Node3 - - - - - - - - diff --git a/d8/d8a/exponential__search_8cpp_source.html b/d8/d8a/exponential__search_8cpp_source.html new file mode 100644 index 000000000..e792fd18f --- /dev/null +++ b/d8/d8a/exponential__search_8cpp_source.html @@ -0,0 +1,200 @@ + + + + + + + + +TheAlgorithms/C++: search/exponential_search.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    exponential_search.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    15#include <cassert>
    +
    16#include <cmath>
    +
    17#include <cstdint>
    +
    18#ifdef _MSC_VER
    +
    19#include <string> // use for MS Visual C++
    +
    20#else
    +
    21#include <cstring> // for all other compilers
    +
    22#endif
    +
    23
    +
    33template <class Type>
    +
    +
    34inline Type* binary_s(Type* array, size_t size, Type key) {
    +
    35 int32_t lower_index(0), upper_index(size - 1), middle_index;
    +
    36
    +
    37 while (lower_index <= upper_index) {
    +
    38 middle_index = std::floor((lower_index + upper_index) / 2);
    +
    39
    +
    40 if (*(array + middle_index) < key)
    +
    41 lower_index = (middle_index + 1);
    +
    42 else if (*(array + middle_index) > key)
    +
    43 upper_index = (middle_index - 1);
    +
    44 else
    +
    45 return (array + middle_index);
    +
    46 }
    +
    47
    +
    48 return nullptr;
    +
    49}
    +
    +
    50
    +
    58template <class Type>
    +
    +
    59Type* struzik_search(Type* array, size_t size, Type key) {
    +
    60 uint32_t block_front(0), block_size = size == 0 ? 0 : 1;
    +
    61 while (block_front != block_size) {
    +
    62 if (*(array + block_size - 1) < key) {
    +
    63 block_front = block_size;
    +
    64 (block_size * 2 - 1 < size) ? (block_size *= 2) : block_size = size;
    +
    65 continue;
    +
    66 }
    +
    67 return binary_s<Type>(array + block_front, (block_size - block_front),
    +
    68 key);
    +
    69 }
    +
    70 return nullptr;
    +
    71}
    +
    +
    72
    +
    +
    74int main() {
    +
    75 // TEST CASES
    +
    76 int* sorted_array = new int[7]{7, 10, 15, 23, 70, 105, 203};
    +
    77 assert(struzik_search<int>(sorted_array, 7, 0) == nullptr);
    +
    78 assert(struzik_search<int>(sorted_array, 7, 1000) == nullptr);
    +
    79 assert(struzik_search<int>(sorted_array, 7, 50) == nullptr);
    +
    80 assert(struzik_search<int>(sorted_array, 7, 7) == sorted_array);
    +
    81 // TEST CASES
    +
    82 delete[] sorted_array;
    +
    83 return 0;
    +
    84}
    +
    +
    Type * binary_s(Type *array, size_t size, Type key)
    +
    int main()
    +
    Type * struzik_search(Type *array, size_t size, Type key)
    +
    +
    + + + + diff --git a/d8/d8e/struct_node-members.html b/d8/d8e/struct_node-members.html index bdc6dada5..5b85611a1 100644 --- a/d8/d8e/struct_node-members.html +++ b/d8/d8e/struct_node-members.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Member List +TheAlgorithms/C++: Member List + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/d8/d8f/bitonic__sort_8cpp_source.html b/d8/d8f/bitonic__sort_8cpp_source.html new file mode 100644 index 000000000..85b4f50eb --- /dev/null +++ b/d8/d8f/bitonic__sort_8cpp_source.html @@ -0,0 +1,204 @@ + + + + + + + + +TheAlgorithms/C++: sorting/bitonic_sort.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + + +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    bitonic_sort.cpp
    +
    +
    +
    1// Source : https://www.geeksforgeeks.org/bitonic-sort/
    +
    2
    +
    3/* C++ Program for Bitonic Sort. Note that this program
    +
    4 works only when size of input is a power of 2. */
    +
    5
    +
    6#include <algorithm>
    +
    7#include <iostream>
    +
    8
    +
    9/*The parameter dir indicates the sorting direction, ASCENDING
    +
    10 or DESCENDING; if (a[i] > a[j]) agrees with the direction,
    +
    11 then a[i] and a[j] are interchanged.*/
    +
    12void compAndSwap(int a[], int i, int j, int dir) {
    +
    13 if (dir == (a[i] > a[j]))
    +
    14 std::swap(a[i], a[j]);
    +
    15}
    +
    16
    +
    17/*It recursively sorts a bitonic sequence in ascending order,
    +
    18 if dir = 1, and in descending order otherwise (means dir=0).
    +
    19 The sequence to be sorted starts at index position low,
    +
    20 the parameter cnt is the number of elements to be sorted.*/
    +
    21void bitonicMerge(int a[], int low, int cnt, int dir) {
    +
    22 if (cnt > 1) {
    +
    23 int k = cnt / 2;
    +
    24 for (int i = low; i < low + k; i++) compAndSwap(a, i, i + k, dir);
    +
    25 bitonicMerge(a, low, k, dir);
    +
    26 bitonicMerge(a, low + k, k, dir);
    +
    27 }
    +
    28}
    +
    29
    +
    30/* This function first produces a bitonic sequence by recursively
    +
    31 sorting its two halves in opposite sorting orders, and then
    +
    32 calls bitonicMerge to make them in the same order */
    +
    33void bitonicSort(int a[], int low, int cnt, int dir) {
    +
    34 if (cnt > 1) {
    +
    35 int k = cnt / 2;
    +
    36
    +
    37 // sort in ascending order since dir here is 1
    +
    38 bitonicSort(a, low, k, 1);
    +
    39
    +
    40 // sort in descending order since dir here is 0
    +
    41 bitonicSort(a, low + k, k, 0);
    +
    42
    +
    43 // Will merge wole sequence in ascending order
    +
    44 // since dir=1.
    +
    45 bitonicMerge(a, low, cnt, dir);
    +
    46 }
    +
    47}
    +
    48
    +
    49/* Caller of bitonicSort for sorting the entire array of
    +
    50 length N in ASCENDING order */
    +
    51void sort(int a[], int N, int up) { bitonicSort(a, 0, N, up); }
    +
    52
    +
    53// Driver code
    +
    54int main() {
    +
    55 int a[] = {3, 7, 4, 8, 6, 2, 1, 5};
    +
    56 int N = sizeof(a) / sizeof(a[0]);
    +
    57
    +
    58 int up = 1; // means sort in ascending order
    +
    59 sort(a, N, up);
    +
    60
    +
    61 std::cout << "Sorted array: \n";
    +
    62 for (int i = 0; i < N; i++) std::cout << a[i] << " ";
    +
    63 return 0;
    +
    64}
    +
    double k(double x)
    Another test function.
    +
    int main()
    Main function.
    +
    constexpr uint32_t N
    A struct to represent sparse table for min() as their invariant function, for the given array A....
    +
    +
    + + + + diff --git a/d8/d90/iterative__tree__traversals_8cpp.html b/d8/d90/iterative__tree__traversals_8cpp.html index 405a584f5..8c8b09eba 100644 --- a/d8/d90/iterative__tree__traversals_8cpp.html +++ b/d8/d90/iterative__tree__traversals_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: others/iterative_tree_traversals.cpp File Reference +TheAlgorithms/C++: others/iterative_tree_traversals.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -124,7 +141,9 @@ Include dependency graph for iterative_tree_traversals.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -181,6 +200,8 @@ Iterative 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.

    + +

    Definition in file iterative_tree_traversals.cpp.

    Function Documentation

    ◆ deleteAll()

    @@ -196,9 +217,11 @@ Iterative Inorder Traversal of a tree

    Classes

    struct  others::iterative_tree_traversals::Node
    + +

    Definition at line 183 of file iterative_tree_traversals.cpp.

    183 {
    184 if (root) {
    - +
    185 std::stack<Node *> stack;
    186 stack.push(root);
    187
    188 while (!stack.empty()) {
    @@ -215,13 +238,12 @@ Iterative Inorder Traversal of a tree
    199 }
    200 }
    201}
    -
    for std::invalid_argument
    Definition stack.hpp:19
    -
    void pop()
    Definition stack.hpp:62
    -
    void push(const value_type &item)
    Definition stack.hpp:47
    -
    value_type top() const
    Definition stack.hpp:56
    -
    char stack[MAX]
    Definition paranthesis_matching.cpp:20
    - -
    Definition linkedlist_implentation_usingarray.cpp:14
    +
    for std::invalid_argument
    Definition stack.hpp:19
    +
    void pop()
    Definition stack.hpp:62
    +
    void push(const value_type &item)
    Definition stack.hpp:47
    +
    value_type top() const
    Definition stack.hpp:56
    +
    char stack[MAX]
    +
    @@ -243,6 +265,8 @@ Iterative Inorder Traversal of a tree

    Main function.

    Returns
    0 on exit

    < instace of BinaryTree, used to access its members functions.

    + +

    Definition at line 372 of file iterative_tree_traversals.cpp.

    372 {
    373 // Creating a tree with the following structure,
    374 /*
    @@ -254,23 +278,22 @@ Iterative Inorder Traversal of a tree
    380 */
    381
    -
    383 binaryTree; ///< instace of BinaryTree, used to access its members
    -
    384 ///< functions.
    - +
    383 binaryTree;
    +
    386 root->left = binaryTree.createNewNode(2);
    387 root->right = binaryTree.createNewNode(3);
    388 root->left->left = binaryTree.createNewNode(4);
    389 root->left->right = binaryTree.createNewNode(5);
    390
    -
    391 std::cout << "\n| Tests for positive data value |" << std::endl;
    +
    391 std::cout << "\n| Tests for positive data value |" << std::endl;
    392 test1(binaryTree, root); // run preorder-iterative test
    -
    393 std::cout << "\nPre-order test Passed!" << std::endl;
    +
    393 std::cout << "\nPre-order test Passed!" << std::endl;
    394
    395 test2(binaryTree, root); // run postorder-iterative test
    -
    396 std::cout << "\nPost-order test Passed!" << std::endl;
    +
    396 std::cout << "\nPost-order test Passed!" << std::endl;
    397
    398 test3(binaryTree, root); // run inorder-iterative test
    -
    399 std::cout << "\nIn-order test Passed!" << std::endl;
    +
    399 std::cout << "\nIn-order test Passed!" << std::endl;
    400
    401 // Modifying tree for negative values.
    402 root->data = -1;
    @@ -279,37 +302,30 @@ Iterative Inorder Traversal of a tree
    405 root->left->left->data = -4;
    406 root->left->right->data = -5;
    407
    -
    408 std::cout << "\n| Tests for negative data values |" << std::endl;
    +
    408 std::cout << "\n| Tests for negative data values |" << std::endl;
    409 test4(binaryTree, root); // run preorder-iterative test on negative values
    -
    410 std::cout << "\nPre-order test on-negative value Passed!" << std::endl;
    +
    410 std::cout << "\nPre-order test on-negative value Passed!" << std::endl;
    411
    412 test5(binaryTree, root); // run postorder-iterative test on negative values
    -
    413 std::cout << "\nPost-order test on-negative value Passed!" << std::endl;
    +
    413 std::cout << "\nPost-order test on-negative value Passed!" << std::endl;
    414
    415 test6(binaryTree, root); // run inorder-iterative test on negative values
    -
    416 std::cout << "\nIn-order test on-negative value Passed!" << std::endl;
    +
    416 std::cout << "\nIn-order test on-negative value Passed!" << std::endl;
    417
    418 deleteAll(root);
    419
    420 return 0;
    421}
    - -
    defines the functions associated with the binary tree
    Definition iterative_tree_traversals.cpp:67
    -
    Node * createNewNode(int64_t)
    function that will create new node for insertion.
    Definition iterative_tree_traversals.cpp:88
    -
    static void test2()
    Self-implementations, 2nd test.
    Definition dsu_path_compression.cpp:187
    -
    static void test1()
    Self-test implementations, 1st test.
    Definition dsu_path_compression.cpp:170
    -
    T endl(T... args)
    -
    static void test3()
    Definition hamiltons_cycle.cpp:122
    -
    static void test4(others::iterative_tree_traversals::BinaryTree binaryTree, others::iterative_tree_traversals::Node *root)
    Test the computed preorder with the actual preorder on negative value.
    Definition iterative_tree_traversals.cpp:291
    -
    static void test5(others::iterative_tree_traversals::BinaryTree binaryTree, others::iterative_tree_traversals::Node *root)
    Test the computed postorder with the actual postorder on negative value.
    Definition iterative_tree_traversals.cpp:319
    -
    static void test6(others::iterative_tree_traversals::BinaryTree binaryTree, others::iterative_tree_traversals::Node *root)
    Test the computed inorder with the actual inorder on negative value.
    Definition iterative_tree_traversals.cpp:346
    -
    defines the structure of a node of the tree
    Definition iterative_tree_traversals.cpp:58
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    defines the functions associated with the binary tree
    +
    Node * createNewNode(int64_t)
    function that will create new node for insertion.
    +
    static void test2()
    Self-implementations, 2nd test.
    +
    static void test1()
    Self-test implementations, 1st test.
    +
    static void test3()
    +
    static void test4(others::iterative_tree_traversals::BinaryTree binaryTree, others::iterative_tree_traversals::Node *root)
    Test the computed preorder with the actual preorder on negative value.
    +
    static void test5(others::iterative_tree_traversals::BinaryTree binaryTree, others::iterative_tree_traversals::Node *root)
    Test the computed postorder with the actual postorder on negative value.
    +
    static void test6(others::iterative_tree_traversals::BinaryTree binaryTree, others::iterative_tree_traversals::Node *root)
    Test the computed inorder with the actual inorder on negative value.
    +
    defines the structure of a node of the tree
    + @@ -348,10 +364,12 @@ Here is the call graph for this function:

    < result stores the preorder traversal of the binary tree

    + +

    Definition at line 210 of file iterative_tree_traversals.cpp.

    211 {
    -
    212 std::vector<int64_t> actual_result{1, 2, 4, 5, 3};
    - -
    214 result; ///< result stores the preorder traversal of the binary tree
    +
    212 std::vector<int64_t> actual_result{1, 2, 4, 5, 3};
    +
    213 std::vector<int64_t>
    +
    214 result;
    215
    216 // Calling preOrderIterative() function by passing a root node,
    217 // and storing the preorder traversal in result.
    @@ -363,20 +381,14 @@ Here is the call graph for this function:
    223 }
    224
    225 // Printing the result storing preorder.
    -
    226 std::cout << "\nPreOrder Traversal Is : " << std::endl;
    +
    226 std::cout << "\nPreOrder Traversal Is : " << std::endl;
    227 for (auto i : result) {
    -
    228 std::cout << i << " ";
    +
    228 std::cout << i << " ";
    229 }
    230}
    -
    std::vector< int64_t > preOrderIterative(Node *)
    preOrderIterative() function that will perform the preorder traversal iteratively,...
    Definition iterative_tree_traversals.cpp:102
    -
    uint64_t result(uint64_t n)
    Definition fibonacci_sum.cpp:77
    - -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    std::vector< int64_t > preOrderIterative(Node *)
    preOrderIterative() function that will perform the preorder traversal iteratively,...
    +
    uint64_t result(uint64_t n)
    + @@ -415,10 +427,12 @@ Here is the call graph for this function:

    < result stores the postorder traversal of the binary tree.

    + +

    Definition at line 237 of file iterative_tree_traversals.cpp.

    238 {
    -
    239 std::vector<int64_t> actual_result{4, 5, 2, 3, 1};
    - -
    241 result; ///< result stores the postorder traversal of the binary tree.
    +
    239 std::vector<int64_t> actual_result{4, 5, 2, 3, 1};
    +
    240 std::vector<int64_t>
    +
    241 result;
    242
    243 // Calling postOrderIterative() function by passing a root node,
    244 // and storing the postorder traversal in result.
    @@ -430,18 +444,13 @@ Here is the call graph for this function:
    250 }
    251
    252 // Printing the result storing postorder.
    -
    253 std::cout << "\nPostOrder Traversal Is : " << std::endl;
    +
    253 std::cout << "\nPostOrder Traversal Is : " << std::endl;
    254 for (auto i : result) {
    -
    255 std::cout << i << " ";
    +
    255 std::cout << i << " ";
    256 }
    257}
    -
    std::vector< int64_t > postOrderIterative(Node *)
    postOrderIterative() function that will perform the postorder traversal iteratively,...
    Definition iterative_tree_traversals.cpp:132
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    std::vector< int64_t > postOrderIterative(Node *)
    postOrderIterative() function that will perform the postorder traversal iteratively,...
    + @@ -480,10 +489,12 @@ Here is the call graph for this function:

    < result stores the inorder traversal of the binary tree.

    + +

    Definition at line 264 of file iterative_tree_traversals.cpp.

    265 {
    -
    266 std::vector<int64_t> actual_result{4, 2, 5, 1, 3};
    - -
    268 result; ///< result stores the inorder traversal of the binary tree.
    +
    266 std::vector<int64_t> actual_result{4, 2, 5, 1, 3};
    +
    267 std::vector<int64_t>
    +
    268 result;
    269
    270 // Calling inOrderIterative() function by passing a root node,
    271 // and storing the inorder traversal in result.
    @@ -495,18 +506,13 @@ Here is the call graph for this function:
    277 }
    278
    279 // Printing the result storing inorder.
    -
    280 std::cout << "\nInOrder Traversal Is : " << std::endl;
    +
    280 std::cout << "\nInOrder Traversal Is : " << std::endl;
    281 for (auto i : result) {
    -
    282 std::cout << i << " ";
    +
    282 std::cout << i << " ";
    283 }
    284}
    -
    std::vector< int64_t > inOrderIterative(Node *)
    inOrderIterative() function that will perform the inorder traversal iteratively, and return the resul...
    Definition iterative_tree_traversals.cpp:164
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    std::vector< int64_t > inOrderIterative(Node *)
    inOrderIterative() function that will perform the inorder traversal iteratively, and return the resul...
    + @@ -545,10 +551,12 @@ Here is the call graph for this function:

    < result stores the preorder traversal of the binary tree

    + +

    Definition at line 291 of file iterative_tree_traversals.cpp.

    292 {
    -
    293 std::vector<int64_t> actual_result{-1, -2, -4, -5, -3};
    - -
    295 result; ///< result stores the preorder traversal of the binary tree
    +
    293 std::vector<int64_t> actual_result{-1, -2, -4, -5, -3};
    +
    294 std::vector<int64_t>
    +
    295 result;
    296
    297 // Calling preOrderIterative() function by passing a root node,
    298 // and storing the preorder traversal in result.
    @@ -560,17 +568,12 @@ Here is the call graph for this function:
    304 }
    305
    306 // Printing the result storing preorder.
    -
    307 std::cout << "\nPreOrder Traversal Is : " << std::endl;
    +
    307 std::cout << "\nPreOrder Traversal Is : " << std::endl;
    308 for (auto i : result) {
    -
    309 std::cout << i << " ";
    +
    309 std::cout << i << " ";
    310 }
    311}
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -609,10 +612,12 @@ Here is the call graph for this function:

    < result stores the postorder traversal of the binary tree.

    + +

    Definition at line 319 of file iterative_tree_traversals.cpp.

    320 {
    -
    321 std::vector<int64_t> actual_result{-4, -5, -2, -3, -1};
    - -
    323 result; ///< result stores the postorder traversal of the binary tree.
    +
    321 std::vector<int64_t> actual_result{-4, -5, -2, -3, -1};
    +
    322 std::vector<int64_t>
    +
    323 result;
    324
    325 // Calling postOrderIterative() function by passing a root node,
    326 // and storing the postorder traversal in result.
    @@ -624,17 +629,12 @@ Here is the call graph for this function:
    332 }
    333
    334 // Printing the result storing postorder.
    -
    335 std::cout << "\nPostOrder Traversal Is : " << std::endl;
    +
    335 std::cout << "\nPostOrder Traversal Is : " << std::endl;
    336 for (auto i : result) {
    -
    337 std::cout << i << " ";
    +
    337 std::cout << i << " ";
    338 }
    339}
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -673,10 +673,12 @@ Here is the call graph for this function:

    < result stores the inorder traversal of the binary tree.

    + +

    Definition at line 346 of file iterative_tree_traversals.cpp.

    347 {
    -
    348 std::vector<int64_t> actual_result{-4, -2, -5, -1, -3};
    - -
    350 result; ///< result stores the inorder traversal of the binary tree.
    +
    348 std::vector<int64_t> actual_result{-4, -2, -5, -1, -3};
    +
    349 std::vector<int64_t>
    +
    350 result;
    351
    352 // Calling inOrderIterative() function by passing a root node,
    353 // and storing the inorder traversal in result.
    @@ -688,17 +690,12 @@ Here is the call graph for this function:
    359 }
    360
    361 // Printing the result storing inorder.
    -
    362 std::cout << "\nInOrder Traversal Is : " << std::endl;
    +
    362 std::cout << "\nInOrder Traversal Is : " << std::endl;
    363 for (auto i : result) {
    -
    364 std::cout << i << " ";
    +
    364 std::cout << i << " ";
    365 }
    366}
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + diff --git a/d8/d90/iterative__tree__traversals_8cpp_a038b236fe900f7bb7e57164f5bed66c2_cgraph.map b/d8/d90/iterative__tree__traversals_8cpp_a038b236fe900f7bb7e57164f5bed66c2_cgraph.map deleted file mode 100644 index 5620855f4..000000000 --- a/d8/d90/iterative__tree__traversals_8cpp_a038b236fe900f7bb7e57164f5bed66c2_cgraph.map +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/d8/d90/iterative__tree__traversals_8cpp_a038b236fe900f7bb7e57164f5bed66c2_cgraph.md5 b/d8/d90/iterative__tree__traversals_8cpp_a038b236fe900f7bb7e57164f5bed66c2_cgraph.md5 deleted file mode 100644 index 6ac0e70d0..000000000 --- a/d8/d90/iterative__tree__traversals_8cpp_a038b236fe900f7bb7e57164f5bed66c2_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -a8a81ebb95550f2a1e93130bd20f07ee \ No newline at end of file diff --git a/d8/d90/iterative__tree__traversals_8cpp_a038b236fe900f7bb7e57164f5bed66c2_cgraph.svg b/d8/d90/iterative__tree__traversals_8cpp_a038b236fe900f7bb7e57164f5bed66c2_cgraph.svg deleted file mode 100644 index c0f5c08c3..000000000 --- a/d8/d90/iterative__tree__traversals_8cpp_a038b236fe900f7bb7e57164f5bed66c2_cgraph.svg +++ /dev/null @@ -1,157 +0,0 @@ - - - - - - - - - - - - -test4 - - -Node1 - - -test4 - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -others::iterative_tree -_traversals::BinaryTree -::preOrderIterative - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -stack::pop - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -stack::push - - - - - -Node3->Node5 - - - - - - - - -Node7 - - -stack::top - - - - - -Node3->Node7 - - - - - - - - -Node6 - - -std::make_shared - - - - - -Node5->Node6 - - - - - - - - - - - - - diff --git a/d8/d90/iterative__tree__traversals_8cpp_a038b236fe900f7bb7e57164f5bed66c2_cgraph_org.svg b/d8/d90/iterative__tree__traversals_8cpp_a038b236fe900f7bb7e57164f5bed66c2_cgraph_org.svg deleted file mode 100644 index fa5d9ed44..000000000 --- a/d8/d90/iterative__tree__traversals_8cpp_a038b236fe900f7bb7e57164f5bed66c2_cgraph_org.svg +++ /dev/null @@ -1,131 +0,0 @@ - - - - - - -test4 - - -Node1 - - -test4 - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -others::iterative_tree -_traversals::BinaryTree -::preOrderIterative - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -stack::pop - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -stack::push - - - - - -Node3->Node5 - - - - - - - - -Node7 - - -stack::top - - - - - -Node3->Node7 - - - - - - - - -Node6 - - -std::make_shared - - - - - -Node5->Node6 - - - - - - - - diff --git a/d8/d90/iterative__tree__traversals_8cpp_a21d922dbb5905993960c6a7f0ba71ac0_cgraph.map b/d8/d90/iterative__tree__traversals_8cpp_a21d922dbb5905993960c6a7f0ba71ac0_cgraph.map deleted file mode 100644 index b9663f437..000000000 --- a/d8/d90/iterative__tree__traversals_8cpp_a21d922dbb5905993960c6a7f0ba71ac0_cgraph.map +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/d8/d90/iterative__tree__traversals_8cpp_a21d922dbb5905993960c6a7f0ba71ac0_cgraph.md5 b/d8/d90/iterative__tree__traversals_8cpp_a21d922dbb5905993960c6a7f0ba71ac0_cgraph.md5 deleted file mode 100644 index 055ae0659..000000000 --- a/d8/d90/iterative__tree__traversals_8cpp_a21d922dbb5905993960c6a7f0ba71ac0_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -d99a564cc3292b7e53c5f2c0b156d7e2 \ No newline at end of file diff --git a/d8/d90/iterative__tree__traversals_8cpp_a21d922dbb5905993960c6a7f0ba71ac0_cgraph.svg b/d8/d90/iterative__tree__traversals_8cpp_a21d922dbb5905993960c6a7f0ba71ac0_cgraph.svg deleted file mode 100644 index f337dfed1..000000000 --- a/d8/d90/iterative__tree__traversals_8cpp_a21d922dbb5905993960c6a7f0ba71ac0_cgraph.svg +++ /dev/null @@ -1,157 +0,0 @@ - - - - - - - - - - - - -test1 - - -Node1 - - -test1 - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -others::iterative_tree -_traversals::BinaryTree -::preOrderIterative - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -stack::pop - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -stack::push - - - - - -Node3->Node5 - - - - - - - - -Node7 - - -stack::top - - - - - -Node3->Node7 - - - - - - - - -Node6 - - -std::make_shared - - - - - -Node5->Node6 - - - - - - - - - - - - - diff --git a/d8/d90/iterative__tree__traversals_8cpp_a21d922dbb5905993960c6a7f0ba71ac0_cgraph_org.svg b/d8/d90/iterative__tree__traversals_8cpp_a21d922dbb5905993960c6a7f0ba71ac0_cgraph_org.svg deleted file mode 100644 index c349fdc43..000000000 --- a/d8/d90/iterative__tree__traversals_8cpp_a21d922dbb5905993960c6a7f0ba71ac0_cgraph_org.svg +++ /dev/null @@ -1,131 +0,0 @@ - - - - - - -test1 - - -Node1 - - -test1 - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -others::iterative_tree -_traversals::BinaryTree -::preOrderIterative - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -stack::pop - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -stack::push - - - - - -Node3->Node5 - - - - - - - - -Node7 - - -stack::top - - - - - -Node3->Node7 - - - - - - - - -Node6 - - -std::make_shared - - - - - -Node5->Node6 - - - - - - - - diff --git a/d8/d90/iterative__tree__traversals_8cpp_a425c4c8520991999ee6dbe13d99b87f4_cgraph.map b/d8/d90/iterative__tree__traversals_8cpp_a425c4c8520991999ee6dbe13d99b87f4_cgraph.map deleted file mode 100644 index 1c585864b..000000000 --- a/d8/d90/iterative__tree__traversals_8cpp_a425c4c8520991999ee6dbe13d99b87f4_cgraph.map +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/d8/d90/iterative__tree__traversals_8cpp_a425c4c8520991999ee6dbe13d99b87f4_cgraph.md5 b/d8/d90/iterative__tree__traversals_8cpp_a425c4c8520991999ee6dbe13d99b87f4_cgraph.md5 deleted file mode 100644 index 4f8966162..000000000 --- a/d8/d90/iterative__tree__traversals_8cpp_a425c4c8520991999ee6dbe13d99b87f4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -2eb41ed9bedf8c0c34068490d0340dc4 \ No newline at end of file diff --git a/d8/d90/iterative__tree__traversals_8cpp_a425c4c8520991999ee6dbe13d99b87f4_cgraph.svg b/d8/d90/iterative__tree__traversals_8cpp_a425c4c8520991999ee6dbe13d99b87f4_cgraph.svg deleted file mode 100644 index 838d608df..000000000 --- a/d8/d90/iterative__tree__traversals_8cpp_a425c4c8520991999ee6dbe13d99b87f4_cgraph.svg +++ /dev/null @@ -1,157 +0,0 @@ - - - - - - - - - - - - -test3 - - -Node1 - - -test3 - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -others::iterative_tree -_traversals::BinaryTree -::inOrderIterative - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -stack::pop - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -stack::push - - - - - -Node3->Node5 - - - - - - - - -Node7 - - -stack::top - - - - - -Node3->Node7 - - - - - - - - -Node6 - - -std::make_shared - - - - - -Node5->Node6 - - - - - - - - - - - - - diff --git a/d8/d90/iterative__tree__traversals_8cpp_a425c4c8520991999ee6dbe13d99b87f4_cgraph_org.svg b/d8/d90/iterative__tree__traversals_8cpp_a425c4c8520991999ee6dbe13d99b87f4_cgraph_org.svg deleted file mode 100644 index b9a8d7d32..000000000 --- a/d8/d90/iterative__tree__traversals_8cpp_a425c4c8520991999ee6dbe13d99b87f4_cgraph_org.svg +++ /dev/null @@ -1,131 +0,0 @@ - - - - - - -test3 - - -Node1 - - -test3 - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -others::iterative_tree -_traversals::BinaryTree -::inOrderIterative - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -stack::pop - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -stack::push - - - - - -Node3->Node5 - - - - - - - - -Node7 - - -stack::top - - - - - -Node3->Node7 - - - - - - - - -Node6 - - -std::make_shared - - - - - -Node5->Node6 - - - - - - - - diff --git a/d8/d90/iterative__tree__traversals_8cpp_aa9ef334cd7eb607f4eb8732566ea00b8_cgraph.map b/d8/d90/iterative__tree__traversals_8cpp_aa9ef334cd7eb607f4eb8732566ea00b8_cgraph.map deleted file mode 100644 index 4aea3e424..000000000 --- a/d8/d90/iterative__tree__traversals_8cpp_aa9ef334cd7eb607f4eb8732566ea00b8_cgraph.map +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/d8/d90/iterative__tree__traversals_8cpp_aa9ef334cd7eb607f4eb8732566ea00b8_cgraph.md5 b/d8/d90/iterative__tree__traversals_8cpp_aa9ef334cd7eb607f4eb8732566ea00b8_cgraph.md5 deleted file mode 100644 index 85eb317e0..000000000 --- a/d8/d90/iterative__tree__traversals_8cpp_aa9ef334cd7eb607f4eb8732566ea00b8_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -394b6d2eb9556fd233e71b9ef4731562 \ No newline at end of file diff --git a/d8/d90/iterative__tree__traversals_8cpp_aa9ef334cd7eb607f4eb8732566ea00b8_cgraph.svg b/d8/d90/iterative__tree__traversals_8cpp_aa9ef334cd7eb607f4eb8732566ea00b8_cgraph.svg deleted file mode 100644 index 6bd6f4ef2..000000000 --- a/d8/d90/iterative__tree__traversals_8cpp_aa9ef334cd7eb607f4eb8732566ea00b8_cgraph.svg +++ /dev/null @@ -1,157 +0,0 @@ - - - - - - - - - - - - -test5 - - -Node1 - - -test5 - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -others::iterative_tree -_traversals::BinaryTree -::postOrderIterative - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -stack::pop - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -stack::push - - - - - -Node3->Node5 - - - - - - - - -Node7 - - -stack::top - - - - - -Node3->Node7 - - - - - - - - -Node6 - - -std::make_shared - - - - - -Node5->Node6 - - - - - - - - - - - - - diff --git a/d8/d90/iterative__tree__traversals_8cpp_aa9ef334cd7eb607f4eb8732566ea00b8_cgraph_org.svg b/d8/d90/iterative__tree__traversals_8cpp_aa9ef334cd7eb607f4eb8732566ea00b8_cgraph_org.svg deleted file mode 100644 index e63425be2..000000000 --- a/d8/d90/iterative__tree__traversals_8cpp_aa9ef334cd7eb607f4eb8732566ea00b8_cgraph_org.svg +++ /dev/null @@ -1,131 +0,0 @@ - - - - - - -test5 - - -Node1 - - -test5 - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -others::iterative_tree -_traversals::BinaryTree -::postOrderIterative - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -stack::pop - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -stack::push - - - - - -Node3->Node5 - - - - - - - - -Node7 - - -stack::top - - - - - -Node3->Node7 - - - - - - - - -Node6 - - -std::make_shared - - - - - -Node5->Node6 - - - - - - - - diff --git a/d8/d90/iterative__tree__traversals_8cpp_ac35ae2868441f8a11c965b87b2494f21_cgraph.map b/d8/d90/iterative__tree__traversals_8cpp_ac35ae2868441f8a11c965b87b2494f21_cgraph.map deleted file mode 100644 index 9befedd4b..000000000 --- a/d8/d90/iterative__tree__traversals_8cpp_ac35ae2868441f8a11c965b87b2494f21_cgraph.map +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/d8/d90/iterative__tree__traversals_8cpp_ac35ae2868441f8a11c965b87b2494f21_cgraph.md5 b/d8/d90/iterative__tree__traversals_8cpp_ac35ae2868441f8a11c965b87b2494f21_cgraph.md5 deleted file mode 100644 index d47c4e7b1..000000000 --- a/d8/d90/iterative__tree__traversals_8cpp_ac35ae2868441f8a11c965b87b2494f21_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -a7759c802dfaef4213808b12dd53c9ba \ No newline at end of file diff --git a/d8/d90/iterative__tree__traversals_8cpp_ac35ae2868441f8a11c965b87b2494f21_cgraph.svg b/d8/d90/iterative__tree__traversals_8cpp_ac35ae2868441f8a11c965b87b2494f21_cgraph.svg deleted file mode 100644 index 5b8180a38..000000000 --- a/d8/d90/iterative__tree__traversals_8cpp_ac35ae2868441f8a11c965b87b2494f21_cgraph.svg +++ /dev/null @@ -1,157 +0,0 @@ - - - - - - - - - - - - -test2 - - -Node1 - - -test2 - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -others::iterative_tree -_traversals::BinaryTree -::postOrderIterative - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -stack::pop - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -stack::push - - - - - -Node3->Node5 - - - - - - - - -Node7 - - -stack::top - - - - - -Node3->Node7 - - - - - - - - -Node6 - - -std::make_shared - - - - - -Node5->Node6 - - - - - - - - - - - - - diff --git a/d8/d90/iterative__tree__traversals_8cpp_ac35ae2868441f8a11c965b87b2494f21_cgraph_org.svg b/d8/d90/iterative__tree__traversals_8cpp_ac35ae2868441f8a11c965b87b2494f21_cgraph_org.svg deleted file mode 100644 index a5c6209fc..000000000 --- a/d8/d90/iterative__tree__traversals_8cpp_ac35ae2868441f8a11c965b87b2494f21_cgraph_org.svg +++ /dev/null @@ -1,131 +0,0 @@ - - - - - - -test2 - - -Node1 - - -test2 - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -others::iterative_tree -_traversals::BinaryTree -::postOrderIterative - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -stack::pop - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -stack::push - - - - - -Node3->Node5 - - - - - - - - -Node7 - - -stack::top - - - - - -Node3->Node7 - - - - - - - - -Node6 - - -std::make_shared - - - - - -Node5->Node6 - - - - - - - - diff --git a/d8/d90/iterative__tree__traversals_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d8/d90/iterative__tree__traversals_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 6968e8106..000000000 --- a/d8/d90/iterative__tree__traversals_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,77 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d8/d90/iterative__tree__traversals_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d8/d90/iterative__tree__traversals_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index f97e533ff..000000000 --- a/d8/d90/iterative__tree__traversals_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -8c695ee588fa1b28c9887be084a8a9cf \ No newline at end of file diff --git a/d8/d90/iterative__tree__traversals_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d8/d90/iterative__tree__traversals_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index b59d580bf..000000000 --- a/d8/d90/iterative__tree__traversals_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,778 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -others::iterative_tree -_traversals::BinaryTree -::createNewNode - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -test1 - - - - - -Node1->Node4 - - - - - - - - -Node15 - - -test2 - - - - - -Node1->Node15 - - - - - - - - -Node16 - - -test3 - - - - - -Node1->Node16 - - - - - - - - -Node20 - - -test4 - - - - - -Node1->Node20 - - - - - - - - -Node26 - - -test5 - - - - - -Node1->Node26 - - - - - - - - -Node28 - - -test6 - - - - - -Node1->Node28 - - - - - - - - -Node5 - - -dsu::get - - - - - -Node4->Node5 - - - - - - - - -Node10 - - -dsu::UnionSet - - - - - -Node4->Node10 - - - - - - - - -Node6 - - -dsu::get_max - - - - - -Node5->Node6 - - - - - - - - -Node8 - - -dsu::get_min - - - - - -Node5->Node8 - - - - - - - - -Node9 - - -dsu::size - - - - - -Node5->Node9 - - - - - - - - -Node7 - - -dsu::findSet - - - - - -Node6->Node7 - - - - - - - - -Node7->Node7 - - - - - - - - -Node8->Node7 - - - - - - - - -Node9->Node7 - - - - - - - - -Node10->Node7 - - - - - - - - -Node11 - - -dsu::isSame - - - - - -Node10->Node11 - - - - - - - - -Node12 - - -std::max - - - - - -Node10->Node12 - - - - - - - - -Node13 - - -std::min - - - - - -Node10->Node13 - - - - - - - - -Node14 - - -std::swap - - - - - -Node10->Node14 - - - - - - - - -Node11->Node7 - - - - - - - - -Node15->Node5 - - - - - - - - -Node15->Node10 - - - - - - - - -Node17 - - -hamilton_cycle - - - - - -Node16->Node17 - - - - - - - - -Node18 - - -height - - - - - -Node17->Node18 - - - - - - - - -Node19 - - -std::vector::push_back - - - - - -Node17->Node19 - - - - - - - - -Node18->Node12 - - - - - - - - -Node18->Node18 - - - - - - - - -Node20->Node3 - - - - - - - - -Node21 - - -others::iterative_tree -_traversals::BinaryTree -::preOrderIterative - - - - - -Node20->Node21 - - - - - - - - -Node22 - - -stack::pop - - - - - -Node21->Node22 - - - - - - - - -Node23 - - -stack::push - - - - - -Node21->Node23 - - - - - - - - -Node25 - - -stack::top - - - - - -Node21->Node25 - - - - - - - - -Node24 - - -std::make_shared - - - - - -Node23->Node24 - - - - - - - - -Node26->Node3 - - - - - - - - -Node27 - - -others::iterative_tree -_traversals::BinaryTree -::postOrderIterative - - - - - -Node26->Node27 - - - - - - - - -Node27->Node22 - - - - - - - - -Node27->Node23 - - - - - - - - -Node27->Node25 - - - - - - - - -Node28->Node3 - - - - - - - - -Node29 - - -others::iterative_tree -_traversals::BinaryTree -::inOrderIterative - - - - - -Node28->Node29 - - - - - - - - -Node29->Node22 - - - - - - - - -Node29->Node23 - - - - - - - - -Node29->Node25 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d8/d90/iterative__tree__traversals_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d8/d90/iterative__tree__traversals_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index fc65fb1c5..000000000 --- a/d8/d90/iterative__tree__traversals_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,695 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -others::iterative_tree -_traversals::BinaryTree -::createNewNode - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -test1 - - - - - -Node1->Node4 - - - - - - - - -Node15 - - -test2 - - - - - -Node1->Node15 - - - - - - - - -Node16 - - -test3 - - - - - -Node1->Node16 - - - - - - - - -Node20 - - -test4 - - - - - -Node1->Node20 - - - - - - - - -Node26 - - -test5 - - - - - -Node1->Node26 - - - - - - - - -Node28 - - -test6 - - - - - -Node1->Node28 - - - - - - - - -Node5 - - -dsu::get - - - - - -Node4->Node5 - - - - - - - - -Node10 - - -dsu::UnionSet - - - - - -Node4->Node10 - - - - - - - - -Node6 - - -dsu::get_max - - - - - -Node5->Node6 - - - - - - - - -Node8 - - -dsu::get_min - - - - - -Node5->Node8 - - - - - - - - -Node9 - - -dsu::size - - - - - -Node5->Node9 - - - - - - - - -Node7 - - -dsu::findSet - - - - - -Node6->Node7 - - - - - - - - -Node7->Node7 - - - - - - - - -Node8->Node7 - - - - - - - - -Node9->Node7 - - - - - - - - -Node10->Node7 - - - - - - - - -Node11 - - -dsu::isSame - - - - - -Node10->Node11 - - - - - - - - -Node12 - - -std::max - - - - - -Node10->Node12 - - - - - - - - -Node13 - - -std::min - - - - - -Node10->Node13 - - - - - - - - -Node14 - - -std::swap - - - - - -Node10->Node14 - - - - - - - - -Node11->Node7 - - - - - - - - -Node15->Node5 - - - - - - - - -Node15->Node10 - - - - - - - - -Node17 - - -hamilton_cycle - - - - - -Node16->Node17 - - - - - - - - -Node18 - - -height - - - - - -Node17->Node18 - - - - - - - - -Node19 - - -std::vector::push_back - - - - - -Node17->Node19 - - - - - - - - -Node18->Node12 - - - - - - - - -Node18->Node18 - - - - - - - - -Node20->Node3 - - - - - - - - -Node21 - - -others::iterative_tree -_traversals::BinaryTree -::preOrderIterative - - - - - -Node20->Node21 - - - - - - - - -Node22 - - -stack::pop - - - - - -Node21->Node22 - - - - - - - - -Node23 - - -stack::push - - - - - -Node21->Node23 - - - - - - - - -Node25 - - -stack::top - - - - - -Node21->Node25 - - - - - - - - -Node24 - - -std::make_shared - - - - - -Node23->Node24 - - - - - - - - -Node26->Node3 - - - - - - - - -Node27 - - -others::iterative_tree -_traversals::BinaryTree -::postOrderIterative - - - - - -Node26->Node27 - - - - - - - - -Node27->Node22 - - - - - - - - -Node27->Node23 - - - - - - - - -Node27->Node25 - - - - - - - - -Node28->Node3 - - - - - - - - -Node29 - - -others::iterative_tree -_traversals::BinaryTree -::inOrderIterative - - - - - -Node28->Node29 - - - - - - - - -Node29->Node22 - - - - - - - - -Node29->Node23 - - - - - - - - -Node29->Node25 - - - - - - - - diff --git a/d8/d90/iterative__tree__traversals_8cpp_af727f920064f2b8f484b589b60d49b89_cgraph.map b/d8/d90/iterative__tree__traversals_8cpp_af727f920064f2b8f484b589b60d49b89_cgraph.map deleted file mode 100644 index 8096d3a8e..000000000 --- a/d8/d90/iterative__tree__traversals_8cpp_af727f920064f2b8f484b589b60d49b89_cgraph.map +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/d8/d90/iterative__tree__traversals_8cpp_af727f920064f2b8f484b589b60d49b89_cgraph.md5 b/d8/d90/iterative__tree__traversals_8cpp_af727f920064f2b8f484b589b60d49b89_cgraph.md5 deleted file mode 100644 index a734967f4..000000000 --- a/d8/d90/iterative__tree__traversals_8cpp_af727f920064f2b8f484b589b60d49b89_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -98d29129483fe03c0b27dc32df9bbc26 \ No newline at end of file diff --git a/d8/d90/iterative__tree__traversals_8cpp_af727f920064f2b8f484b589b60d49b89_cgraph.svg b/d8/d90/iterative__tree__traversals_8cpp_af727f920064f2b8f484b589b60d49b89_cgraph.svg deleted file mode 100644 index f05a2db6a..000000000 --- a/d8/d90/iterative__tree__traversals_8cpp_af727f920064f2b8f484b589b60d49b89_cgraph.svg +++ /dev/null @@ -1,157 +0,0 @@ - - - - - - - - - - - - -test6 - - -Node1 - - -test6 - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -others::iterative_tree -_traversals::BinaryTree -::inOrderIterative - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -stack::pop - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -stack::push - - - - - -Node3->Node5 - - - - - - - - -Node7 - - -stack::top - - - - - -Node3->Node7 - - - - - - - - -Node6 - - -std::make_shared - - - - - -Node5->Node6 - - - - - - - - - - - - - diff --git a/d8/d90/iterative__tree__traversals_8cpp_af727f920064f2b8f484b589b60d49b89_cgraph_org.svg b/d8/d90/iterative__tree__traversals_8cpp_af727f920064f2b8f484b589b60d49b89_cgraph_org.svg deleted file mode 100644 index 82f9c4a2f..000000000 --- a/d8/d90/iterative__tree__traversals_8cpp_af727f920064f2b8f484b589b60d49b89_cgraph_org.svg +++ /dev/null @@ -1,131 +0,0 @@ - - - - - - -test6 - - -Node1 - - -test6 - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -others::iterative_tree -_traversals::BinaryTree -::inOrderIterative - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -stack::pop - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -stack::push - - - - - -Node3->Node5 - - - - - - - - -Node7 - - -stack::top - - - - - -Node3->Node7 - - - - - - - - -Node6 - - -std::make_shared - - - - - -Node5->Node6 - - - - - - - - diff --git a/d8/d90/iterative__tree__traversals_8cpp_source.html b/d8/d90/iterative__tree__traversals_8cpp_source.html new file mode 100644 index 000000000..4a9d09c83 --- /dev/null +++ b/d8/d90/iterative__tree__traversals_8cpp_source.html @@ -0,0 +1,493 @@ + + + + + + + + +TheAlgorithms/C++: others/iterative_tree_traversals.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    iterative_tree_traversals.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    38#include <algorithm>
    +
    39#include <cassert>
    +
    40#include <iostream>
    +
    41#include <stack>
    +
    42#include <vector>
    +
    43
    +
    48namespace others {
    + +
    +
    58struct Node {
    +
    59 int64_t data = 0;
    +
    60 struct Node *left{};
    +
    61 struct Node *right{};
    +
    62};
    +
    +
    63
    +
    + +
    68 public:
    + +
    70 int64_t);
    +
    71 std::vector<int64_t> preOrderIterative(
    +
    72 Node *);
    +
    74 std::vector<int64_t> postOrderIterative(
    +
    75 Node *);
    +
    77 std::vector<int64_t> inOrderIterative(
    +
    78 Node *);
    +
    80};
    +
    +
    81
    +
    + +
    89 Node *node = new Node();
    +
    90 node->data = data;
    +
    91 node->left = node->right = nullptr;
    +
    92 return node;
    +
    93}
    +
    +
    94
    +
    +
    102std::vector<int64_t> BinaryTree::preOrderIterative(Node *root) {
    +
    103 std::stack<Node *>
    +
    104 stack;
    +
    105 std::vector<int64_t> result;
    +
    106
    +
    107 stack.push(root);
    +
    108
    +
    109 while (!stack.empty()) {
    +
    110 result.push_back(stack.top()->data);
    +
    111 Node *current = stack.top();
    +
    112 stack.pop();
    +
    113
    +
    114 if (current->right) {
    +
    115 stack.push(current->right);
    +
    116 }
    +
    117 if (current->left) {
    +
    118 stack.push(current->left);
    +
    119 }
    +
    120 }
    +
    121
    +
    122 return result;
    +
    123}
    +
    +
    124
    +
    +
    132std::vector<int64_t> BinaryTree::postOrderIterative(Node *root) {
    +
    133 std::stack<Node *>
    +
    134 stack;
    +
    135 std::vector<int64_t> result;
    +
    136
    +
    137 stack.push(root);
    +
    138
    +
    139 while (!stack.empty()) {
    +
    140 result.push_back(stack.top()->data);
    +
    141 Node *current = stack.top();
    +
    142 stack.pop();
    +
    143
    +
    144 if (current->left) {
    +
    145 stack.push(current->left);
    +
    146 }
    +
    147 if (current->right) {
    +
    148 stack.push(current->right);
    +
    149 }
    +
    150 }
    +
    151
    +
    152 reverse(result.begin(), result.end());
    +
    153
    +
    154 return result;
    +
    155}
    +
    +
    156
    +
    +
    164std::vector<int64_t> BinaryTree::inOrderIterative(Node *root) {
    +
    165 std::stack<Node *>
    +
    166 stack;
    +
    167 std::vector<int64_t> result;
    +
    168
    +
    169 Node *current = root;
    +
    170
    +
    171 while (!stack.empty() || current) {
    +
    172 while (current) {
    +
    173 stack.push(current);
    +
    174 current = current->left;
    +
    175 }
    +
    176 current = stack.top();
    +
    177 stack.pop();
    +
    178 result.push_back(current->data);
    +
    179 current = current->right;
    +
    180 }
    +
    181 return result;
    +
    182}
    +
    +
    183void deleteAll(Node *root) {
    +
    184 if (root) {
    +
    185 std::stack<Node *> stack;
    +
    186 stack.push(root);
    +
    187
    +
    188 while (!stack.empty()) {
    +
    189 const Node *current = stack.top();
    +
    190 stack.pop();
    +
    191
    +
    192 if (current->right) {
    +
    193 stack.push(current->right);
    +
    194 }
    +
    195 if (current->left) {
    +
    196 stack.push(current->left);
    +
    197 }
    +
    198 delete current;
    +
    199 }
    +
    200 }
    +
    201}
    +
    202} // namespace iterative_tree_traversals
    +
    203} // namespace others
    +
    204
    +
    + + +
    212 std::vector<int64_t> actual_result{1, 2, 4, 5, 3};
    +
    213 std::vector<int64_t>
    +
    214 result;
    +
    215
    +
    216 // Calling preOrderIterative() function by passing a root node,
    +
    217 // and storing the preorder traversal in result.
    +
    218 result = binaryTree.preOrderIterative(root);
    +
    219
    +
    220 // Self-testing the result using `assert`
    +
    221 for (int i = 0; i < result.size(); i++) {
    +
    222 assert(actual_result[i] == result[i]);
    +
    223 }
    +
    224
    +
    225 // Printing the result storing preorder.
    +
    226 std::cout << "\nPreOrder Traversal Is : " << std::endl;
    +
    227 for (auto i : result) {
    +
    228 std::cout << i << " ";
    +
    229 }
    +
    230}
    +
    +
    231
    +
    + + +
    239 std::vector<int64_t> actual_result{4, 5, 2, 3, 1};
    +
    240 std::vector<int64_t>
    +
    241 result;
    +
    242
    +
    243 // Calling postOrderIterative() function by passing a root node,
    +
    244 // and storing the postorder traversal in result.
    +
    245 result = binaryTree.postOrderIterative(root);
    +
    246
    +
    247 // Self-testing the result using `assert`
    +
    248 for (int i = 0; i < result.size(); i++) {
    +
    249 assert(actual_result[i] == result[i]);
    +
    250 }
    +
    251
    +
    252 // Printing the result storing postorder.
    +
    253 std::cout << "\nPostOrder Traversal Is : " << std::endl;
    +
    254 for (auto i : result) {
    +
    255 std::cout << i << " ";
    +
    256 }
    +
    257}
    +
    +
    258
    +
    + + +
    266 std::vector<int64_t> actual_result{4, 2, 5, 1, 3};
    +
    267 std::vector<int64_t>
    +
    268 result;
    +
    269
    +
    270 // Calling inOrderIterative() function by passing a root node,
    +
    271 // and storing the inorder traversal in result.
    +
    272 result = binaryTree.inOrderIterative(root);
    +
    273
    +
    274 // Self-testing the result using `assert`
    +
    275 for (int i = 0; i < result.size(); i++) {
    +
    276 assert(actual_result[i] == result[i]);
    +
    277 }
    +
    278
    +
    279 // Printing the result storing inorder.
    +
    280 std::cout << "\nInOrder Traversal Is : " << std::endl;
    +
    281 for (auto i : result) {
    +
    282 std::cout << i << " ";
    +
    283 }
    +
    284}
    +
    +
    285
    +
    + + +
    293 std::vector<int64_t> actual_result{-1, -2, -4, -5, -3};
    +
    294 std::vector<int64_t>
    +
    295 result;
    +
    296
    +
    297 // Calling preOrderIterative() function by passing a root node,
    +
    298 // and storing the preorder traversal in result.
    +
    299 result = binaryTree.preOrderIterative(root);
    +
    300
    +
    301 // Self-testing the result using `assert`
    +
    302 for (int i = 0; i < result.size(); i++) {
    +
    303 assert(actual_result[i] == result[i]);
    +
    304 }
    +
    305
    +
    306 // Printing the result storing preorder.
    +
    307 std::cout << "\nPreOrder Traversal Is : " << std::endl;
    +
    308 for (auto i : result) {
    +
    309 std::cout << i << " ";
    +
    310 }
    +
    311}
    +
    +
    312
    +
    + + +
    321 std::vector<int64_t> actual_result{-4, -5, -2, -3, -1};
    +
    322 std::vector<int64_t>
    +
    323 result;
    +
    324
    +
    325 // Calling postOrderIterative() function by passing a root node,
    +
    326 // and storing the postorder traversal in result.
    +
    327 result = binaryTree.postOrderIterative(root);
    +
    328
    +
    329 // Self-testing the result using `assert`
    +
    330 for (int i = 0; i < result.size(); i++) {
    +
    331 assert(actual_result[i] == result[i]);
    +
    332 }
    +
    333
    +
    334 // Printing the result storing postorder.
    +
    335 std::cout << "\nPostOrder Traversal Is : " << std::endl;
    +
    336 for (auto i : result) {
    +
    337 std::cout << i << " ";
    +
    338 }
    +
    339}
    +
    +
    340
    +
    + + +
    348 std::vector<int64_t> actual_result{-4, -2, -5, -1, -3};
    +
    349 std::vector<int64_t>
    +
    350 result;
    +
    351
    +
    352 // Calling inOrderIterative() function by passing a root node,
    +
    353 // and storing the inorder traversal in result.
    +
    354 result = binaryTree.inOrderIterative(root);
    +
    355
    +
    356 // Self-testing the result using `assert`
    +
    357 for (int i = 0; i < result.size(); i++) {
    +
    358 assert(actual_result[i] == result[i]);
    +
    359 }
    +
    360
    +
    361 // Printing the result storing inorder.
    +
    362 std::cout << "\nInOrder Traversal Is : " << std::endl;
    +
    363 for (auto i : result) {
    +
    364 std::cout << i << " ";
    +
    365 }
    +
    366}
    +
    +
    367
    +
    +
    372int main() {
    +
    373 // Creating a tree with the following structure,
    +
    374 /*
    +
    375 1
    +
    376 / \
    +
    377 2 3
    +
    378 / \
    +
    379 4 5
    +
    380 */
    +
    381
    + +
    383 binaryTree;
    + +
    386 root->left = binaryTree.createNewNode(2);
    +
    387 root->right = binaryTree.createNewNode(3);
    +
    388 root->left->left = binaryTree.createNewNode(4);
    +
    389 root->left->right = binaryTree.createNewNode(5);
    +
    390
    +
    391 std::cout << "\n| Tests for positive data value |" << std::endl;
    +
    392 test1(binaryTree, root); // run preorder-iterative test
    +
    393 std::cout << "\nPre-order test Passed!" << std::endl;
    +
    394
    +
    395 test2(binaryTree, root); // run postorder-iterative test
    +
    396 std::cout << "\nPost-order test Passed!" << std::endl;
    +
    397
    +
    398 test3(binaryTree, root); // run inorder-iterative test
    +
    399 std::cout << "\nIn-order test Passed!" << std::endl;
    +
    400
    +
    401 // Modifying tree for negative values.
    +
    402 root->data = -1;
    +
    403 root->left->data = -2;
    +
    404 root->right->data = -3;
    +
    405 root->left->left->data = -4;
    +
    406 root->left->right->data = -5;
    +
    407
    +
    408 std::cout << "\n| Tests for negative data values |" << std::endl;
    +
    409 test4(binaryTree, root); // run preorder-iterative test on negative values
    +
    410 std::cout << "\nPre-order test on-negative value Passed!" << std::endl;
    +
    411
    +
    412 test5(binaryTree, root); // run postorder-iterative test on negative values
    +
    413 std::cout << "\nPost-order test on-negative value Passed!" << std::endl;
    +
    414
    +
    415 test6(binaryTree, root); // run inorder-iterative test on negative values
    +
    416 std::cout << "\nIn-order test on-negative value Passed!" << std::endl;
    +
    417
    +
    418 deleteAll(root);
    +
    419
    +
    420 return 0;
    +
    421}
    +
    +
    struct node { int data; int height; struct node *left; struct node *right;} node
    for std::queue
    Definition avltree.cpp:13
    +
    defines the functions associated with the binary tree
    +
    std::vector< int64_t > inOrderIterative(Node *)
    inOrderIterative() function that will perform the inorder traversal iteratively, and return the resul...
    +
    Node * createNewNode(int64_t)
    function that will create new node for insertion.
    +
    std::vector< int64_t > postOrderIterative(Node *)
    postOrderIterative() function that will perform the postorder traversal iteratively,...
    +
    std::vector< int64_t > preOrderIterative(Node *)
    preOrderIterative() function that will perform the preorder traversal iteratively,...
    +
    for std::invalid_argument
    Definition stack.hpp:19
    +
    void pop()
    Definition stack.hpp:62
    +
    void push(const value_type &item)
    Definition stack.hpp:47
    +
    value_type top() const
    Definition stack.hpp:56
    +
    static void test2()
    Self-implementations, 2nd test.
    +
    static void test1()
    Self-test implementations, 1st test.
    +
    static void test3()
    +
    int data[MAX]
    test data
    +
    static void test4(others::iterative_tree_traversals::BinaryTree binaryTree, others::iterative_tree_traversals::Node *root)
    Test the computed preorder with the actual preorder on negative value.
    +
    static void test5(others::iterative_tree_traversals::BinaryTree binaryTree, others::iterative_tree_traversals::Node *root)
    Test the computed postorder with the actual postorder on negative value.
    +
    int main()
    Main function.
    +
    static void test6(others::iterative_tree_traversals::BinaryTree binaryTree, others::iterative_tree_traversals::Node *root)
    Test the computed inorder with the actual inorder on negative value.
    +
    Functions for the Traversal of the Tree algorithm.
    +
    for vector
    +
    char stack[MAX]
    + +
    defines the structure of a node of the tree
    +
    struct Node * left
    struct pointer to left subtree.
    + +
    struct Node * right
    struct pointer to right subtree.
    +
    +
    + + + + diff --git a/d8/d93/namespacemagic__sequence.html b/d8/d93/namespacemagic__sequence.html index 326078861..e2bb30bf8 100644 --- a/d8/d93/namespacemagic__sequence.html +++ b/d8/d93/namespacemagic__sequence.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: magic_sequence Namespace Reference +TheAlgorithms/C++: magic_sequence Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/d8/d95/vector__ops_8hpp.html b/d8/d95/vector__ops_8hpp.html index 1a2b6d920..0555cf5f8 100644 --- a/d8/d95/vector__ops_8hpp.html +++ b/d8/d95/vector__ops_8hpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: machine_learning/vector_ops.hpp File Reference +TheAlgorithms/C++: machine_learning/vector_ops.hpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + @@ -141,75 +158,77 @@ Namespaces - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - +
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++

    Functions

    template<typename T >
    std::ostreammachine_learning::operator<< (std::ostream &out, std::vector< std::valarray< T > > const &A)
    std::ostream & machine_learning::operator<< (std::ostream &out, std::vector< std::valarray< T > > const &A)
     
    template<typename T >
    std::ostreammachine_learning::operator<< (std::ostream &out, const std::pair< T, T > &A)
    std::ostream & machine_learning::operator<< (std::ostream &out, const std::pair< T, T > &A)
     
    template<typename T >
    std::ostreammachine_learning::operator<< (std::ostream &out, const std::valarray< T > &A)
    std::ostream & machine_learning::operator<< (std::ostream &out, const std::valarray< T > &A)
     
    template<typename T >
    std::valarray< T > machine_learning::insert_element (const std::valarray< T > &A, const T &ele)
    std::valarray< T > machine_learning::insert_element (const std::valarray< T > &A, const T &ele)
     
    template<typename T >
    std::valarray< T > machine_learning::pop_front (const std::valarray< T > &A)
    std::valarray< T > machine_learning::pop_front (const std::valarray< T > &A)
     
    template<typename T >
    std::valarray< T > machine_learning::pop_back (const std::valarray< T > &A)
    std::valarray< T > machine_learning::pop_back (const std::valarray< T > &A)
     
    template<typename T >
    void machine_learning::equal_shuffle (std::vector< std::vector< std::valarray< T > > > &A, std::vector< std::vector< std::valarray< T > > > &B)
    void machine_learning::equal_shuffle (std::vector< std::vector< std::valarray< T > > > &A, std::vector< std::vector< std::valarray< T > > > &B)
     
    template<typename T >
    void machine_learning::uniform_random_initialization (std::vector< std::valarray< T > > &A, const std::pair< size_t, size_t > &shape, const T &low, const T &high)
    void machine_learning::uniform_random_initialization (std::vector< std::valarray< T > > &A, const std::pair< size_t, size_t > &shape, const T &low, const T &high)
     
    template<typename T >
    void machine_learning::unit_matrix_initialization (std::vector< std::valarray< T > > &A, const std::pair< size_t, size_t > &shape)
    void machine_learning::unit_matrix_initialization (std::vector< std::valarray< T > > &A, const std::pair< size_t, size_t > &shape)
     
    template<typename T >
    void machine_learning::zeroes_initialization (std::vector< std::valarray< T > > &A, const std::pair< size_t, size_t > &shape)
    void machine_learning::zeroes_initialization (std::vector< std::valarray< T > > &A, const std::pair< size_t, size_t > &shape)
     
    template<typename T >
    machine_learning::sum (const std::vector< std::valarray< T > > &A)
    machine_learning::sum (const std::vector< std::valarray< T > > &A)
     
    template<typename T >
    std::pair< size_t, size_t > machine_learning::get_shape (const std::vector< std::valarray< T > > &A)
    std::pair< size_t, size_t > machine_learning::get_shape (const std::vector< std::valarray< T > > &A)
     
    template<typename T >
    std::vector< std::vector< std::valarray< T > > > machine_learning::minmax_scaler (const std::vector< std::vector< std::valarray< T > > > &A, const T &low, const T &high)
    std::vector< std::vector< std::valarray< T > > > machine_learning::minmax_scaler (const std::vector< std::vector< std::valarray< T > > > &A, const T &low, const T &high)
     
    template<typename T >
    size_t machine_learning::argmax (const std::vector< std::valarray< T > > &A)
    size_t machine_learning::argmax (const std::vector< std::valarray< T > > &A)
     
    template<typename T >
    std::vector< std::valarray< T > > machine_learning::apply_function (const std::vector< std::valarray< T > > &A, T(*func)(const T &))
    std::vector< std::valarray< T > > machine_learning::apply_function (const std::vector< std::valarray< T > > &A, T(*func)(const T &))
     
    template<typename T >
    std::vector< std::valarray< T > > machine_learning::operator* (const std::vector< std::valarray< T > > &A, const T &val)
    std::vector< std::valarray< T > > machine_learning::operator* (const std::vector< std::valarray< T > > &A, const T &val)
     
    template<typename T >
    std::vector< std::valarray< T > > machine_learning::operator/ (const std::vector< std::valarray< T > > &A, const T &val)
    std::vector< std::valarray< T > > machine_learning::operator/ (const std::vector< std::valarray< T > > &A, const T &val)
     
    template<typename T >
    std::vector< std::valarray< T > > machine_learning::transpose (const std::vector< std::valarray< T > > &A)
    std::vector< std::valarray< T > > machine_learning::transpose (const std::vector< std::valarray< T > > &A)
     
    template<typename T >
    std::vector< std::valarray< T > > machine_learning::operator+ (const std::vector< std::valarray< T > > &A, const std::vector< std::valarray< T > > &B)
    std::vector< std::valarray< T > > machine_learning::operator+ (const std::vector< std::valarray< T > > &A, const std::vector< std::valarray< T > > &B)
     
    template<typename T >
    std::vector< std::valarray< T > > machine_learning::operator- (const std::vector< std::valarray< T > > &A, const std::vector< std::valarray< T > > &B)
    std::vector< std::valarray< T > > machine_learning::operator- (const std::vector< std::valarray< T > > &A, const std::vector< std::valarray< T > > &B)
     
    template<typename T >
    std::vector< std::valarray< T > > machine_learning::multiply (const std::vector< std::valarray< T > > &A, const std::vector< std::valarray< T > > &B)
    std::vector< std::valarray< T > > machine_learning::multiply (const std::vector< std::valarray< T > > &A, const std::vector< std::valarray< T > > &B)
     
    template<typename T >
    std::vector< std::valarray< T > > machine_learning::hadamard_product (const std::vector< std::valarray< T > > &A, const std::vector< std::valarray< T > > &B)
    std::vector< std::valarray< T > > machine_learning::hadamard_product (const std::vector< std::valarray< T > > &A, const std::vector< std::valarray< T > > &B)
     

    Detailed Description

    Various functions for vectors associated with [NeuralNetwork (aka Multilayer Perceptron)] (https://en.wikipedia.org/wiki/Multilayer_perceptron).

    Author
    Deep Raval
    + +

    Definition in file vector_ops.hpp.

    diff --git a/d8/d95/vector__ops_8hpp_source.html b/d8/d95/vector__ops_8hpp_source.html index d81f7f911..4a480ec84 100644 --- a/d8/d95/vector__ops_8hpp_source.html +++ b/d8/d95/vector__ops_8hpp_source.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: machine_learning/vector_ops.hpp Source File +TheAlgorithms/C++: machine_learning/vector_ops.hpp Source File + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -107,15 +124,7 @@ $(function(){initNavTree('d8/d95/vector__ops_8hpp_source.html','../../'); initRe
    vector_ops.hpp
    -Go to the documentation of this file.
    1/**
    -
    2 * @file vector_ops.hpp
    -
    3 * @author [Deep Raval](https://github.com/imdeep2905)
    -
    4 *
    -
    5 * @brief Various functions for vectors associated with [NeuralNetwork (aka
    -
    6 * Multilayer Perceptron)]
    -
    7 * (https://en.wikipedia.org/wiki/Multilayer_perceptron).
    -
    8 *
    -
    9 */
    +Go to the documentation of this file.
    1
    10#ifndef VECTOR_OPS_FOR_NN
    11#define VECTOR_OPS_FOR_NN
    12
    @@ -125,81 +134,52 @@ $(function(){initNavTree('d8/d95/vector__ops_8hpp_source.html','../../'); initRe
    16#include <random>
    17#include <valarray>
    18#include <vector>
    -
    19
    -
    20/**
    -
    21 * @namespace machine_learning
    -
    22 * @brief Machine Learning algorithms
    -
    23 */
    -
    24namespace machine_learning {
    -
    25/**
    -
    26 * Overloaded operator "<<" to print 2D vector
    -
    27 * @tparam T typename of the vector
    -
    28 * @param out std::ostream to output
    -
    29 * @param A 2D vector to be printed
    -
    30 */
    +
    19
    +
    24namespace machine_learning {
    31template <typename T>
    - -
    33 std::vector<std::valarray<T>> const &A) {
    +
    32std::ostream &operator<<(std::ostream &out,
    +
    33 std::vector<std::valarray<T>> const &A) {
    34 // Setting output precision to 4 in case of floating point numbers
    -
    35 out.precision(4);
    +
    35 out.precision(4);
    36 for (const auto &a : A) { // For each row in A
    37 for (const auto &x : a) { // For each element in row
    -
    38 std::cout << x << ' '; // print element
    +
    38 std::cout << x << ' '; // print element
    39 }
    - +
    40 std::cout << std::endl;
    41 }
    42 return out;
    43}
    -
    44
    -
    45/**
    -
    46 * Overloaded operator "<<" to print a pair
    -
    47 * @tparam T typename of the pair
    -
    48 * @param out std::ostream to output
    -
    49 * @param A Pair to be printed
    -
    50 */
    +
    44
    51template <typename T>
    - +
    52std::ostream &operator<<(std::ostream &out, const std::pair<T, T> &A) {
    53 // Setting output precision to 4 in case of floating point numbers
    -
    54 out.precision(4);
    +
    54 out.precision(4);
    55 // printing pair in the form (p, q)
    -
    56 std::cout << "(" << A.first << ", " << A.second << ")";
    +
    56 std::cout << "(" << A.first << ", " << A.second << ")";
    57 return out;
    58}
    -
    59
    -
    60/**
    -
    61 * Overloaded operator "<<" to print a 1D vector
    -
    62 * @tparam T typename of the vector
    -
    63 * @param out std::ostream to output
    -
    64 * @param A 1D vector to be printed
    -
    65 */
    +
    59
    66template <typename T>
    - +
    67std::ostream &operator<<(std::ostream &out, const std::valarray<T> &A) {
    68 // Setting output precision to 4 in case of floating point numbers
    -
    69 out.precision(4);
    +
    69 out.precision(4);
    70 for (const auto &a : A) { // For every element in the vector.
    -
    71 std::cout << a << ' '; // Print element
    +
    71 std::cout << a << ' '; // Print element
    72 }
    - +
    73 std::cout << std::endl;
    74 return out;
    75}
    -
    76
    -
    77/**
    -
    78 * Function to insert element into 1D vector
    -
    79 * @tparam T typename of the 1D vector and the element
    -
    80 * @param A 1D vector in which element will to be inserted
    -
    81 * @param ele element to be inserted
    -
    82 * @return new resultant vector
    -
    83 */
    +
    76
    84template <typename T>
    - -
    86 std::valarray<T> B; // New 1D vector to store resultant vector
    +
    85std::valarray<T> insert_element(const std::valarray<T> &A, const T &ele) {
    +
    86 std::valarray<T> B; // New 1D vector to store resultant vector
    87 B.resize(A.size() + 1); // Resizing it accordingly
    88 for (size_t i = 0; i < A.size(); i++) { // For every element in A
    89 B[i] = A[i]; // Copy element in B
    @@ -208,17 +188,11 @@ $(function(){initNavTree('d8/d95/vector__ops_8hpp_source.html','../../'); initRe
    92 return B; // Return resultant vector
    93}
    -
    94
    -
    95/**
    -
    96 * Function to remove first element from 1D vector
    -
    97 * @tparam T typename of the vector
    -
    98 * @param A 1D vector from which first element will be removed
    -
    99 * @return new resultant vector
    -
    100 */
    +
    94
    101template <typename T>
    - -
    103 std::valarray<T> B; // New 1D vector to store resultant vector
    +
    102std::valarray<T> pop_front(const std::valarray<T> &A) {
    +
    103 std::valarray<T> B; // New 1D vector to store resultant vector
    104 B.resize(A.size() - 1); // Resizing it accordingly
    105 for (size_t i = 1; i < A.size();
    106 i++) { // // For every (except first) element in A
    @@ -227,17 +201,11 @@ $(function(){initNavTree('d8/d95/vector__ops_8hpp_source.html','../../'); initRe
    109 return B; // Return resultant vector
    110}
    -
    111
    -
    112/**
    -
    113 * Function to remove last element from 1D vector
    -
    114 * @tparam T typename of the vector
    -
    115 * @param A 1D vector from which last element will be removed
    -
    116 * @return new resultant vector
    -
    117 */
    +
    111
    118template <typename T>
    - -
    120 std::valarray<T> B; // New 1D vector to store resultant vector
    +
    119std::valarray<T> pop_back(const std::valarray<T> &A) {
    +
    120 std::valarray<T> B; // New 1D vector to store resultant vector
    121 B.resize(A.size() - 1); // Resizing it accordingly
    122 for (size_t i = 0; i < A.size() - 1;
    123 i++) { // For every (except last) element in A
    @@ -246,57 +214,43 @@ $(function(){initNavTree('d8/d95/vector__ops_8hpp_source.html','../../'); initRe
    126 return B; // Return resultant vector
    127}
    -
    128
    -
    129/**
    -
    130 * Function to equally shuffle two 3D vectors (used for shuffling training data)
    -
    131 * @tparam T typename of the vector
    -
    132 * @param A First 3D vector
    -
    133 * @param B Second 3D vector
    -
    134 */
    +
    128
    135template <typename T>
    - - +
    136void equal_shuffle(std::vector<std::vector<std::valarray<T>>> &A,
    +
    137 std::vector<std::vector<std::valarray<T>>> &B) {
    138 // If two vectors have different sizes
    139 if (A.size() != B.size()) {
    -
    140 std::cerr << "ERROR (" << __func__ << ") : ";
    - +
    140 std::cerr << "ERROR (" << __func__ << ") : ";
    +
    141 std::cerr
    142 << "Can not equally shuffle two vectors with different sizes: ";
    -
    143 std::cerr << A.size() << " and " << B.size() << std::endl;
    -
    144 std::exit(EXIT_FAILURE);
    +
    143 std::cerr << A.size() << " and " << B.size() << std::endl;
    +
    144 std::exit(EXIT_FAILURE);
    145 }
    146 for (size_t i = 0; i < A.size(); i++) { // For every element in A and B
    147 // Genrating random index < size of A and B
    -
    148 std::srand(std::chrono::system_clock::now().time_since_epoch().count());
    -
    149 size_t random_index = std::rand() % A.size();
    +
    148 std::srand(std::chrono::system_clock::now().time_since_epoch().count());
    +
    149 size_t random_index = std::rand() % A.size();
    150 // Swap elements in both A and B with same random index
    -
    151 std::swap(A[i], A[random_index]);
    -
    152 std::swap(B[i], B[random_index]);
    +
    151 std::swap(A[i], A[random_index]);
    +
    152 std::swap(B[i], B[random_index]);
    153 }
    154 return;
    155}
    -
    156
    -
    157/**
    -
    158 * Function to initialize given 2D vector using uniform random initialization
    -
    159 * @tparam T typename of the vector
    -
    160 * @param A 2D vector to be initialized
    -
    161 * @param shape required shape
    -
    162 * @param low lower limit on value
    -
    163 * @param high upper limit on value
    -
    164 */
    +
    156
    165template <typename T>
    - -
    167 const std::pair<size_t, size_t> &shape,
    +
    166void uniform_random_initialization(std::vector<std::valarray<T>> &A,
    +
    167 const std::pair<size_t, size_t> &shape,
    168 const T &low, const T &high) {
    169 A.clear(); // Making A empty
    170 // Uniform distribution in range [low, high]
    - -
    172 std::chrono::system_clock::now().time_since_epoch().count());
    -
    173 std::uniform_real_distribution<T> distribution(low, high);
    +
    171 std::default_random_engine generator(
    +
    172 std::chrono::system_clock::now().time_since_epoch().count());
    +
    173 std::uniform_real_distribution<T> distribution(low, high);
    174 for (size_t i = 0; i < shape.first; i++) { // For every row
    - +
    175 std::valarray<T>
    176 row; // Making empty row which will be inserted in vector
    177 row.resize(shape.second);
    178 for (auto &r : row) { // For every element in row
    @@ -307,20 +261,14 @@ $(function(){initNavTree('d8/d95/vector__ops_8hpp_source.html','../../'); initRe
    183 return;
    184}
    -
    185
    -
    186/**
    -
    187 * Function to Intialize 2D vector as unit matrix
    -
    188 * @tparam T typename of the vector
    -
    189 * @param A 2D vector to be initialized
    -
    190 * @param shape required shape
    -
    191 */
    +
    185
    192template <typename T>
    - -
    194 const std::pair<size_t, size_t> &shape) {
    +
    193void unit_matrix_initialization(std::vector<std::valarray<T>> &A,
    +
    194 const std::pair<size_t, size_t> &shape) {
    195 A.clear(); // Making A empty
    196 for (size_t i = 0; i < shape.first; i++) {
    - +
    197 std::valarray<T>
    198 row; // Making empty row which will be inserted in vector
    199 row.resize(shape.second);
    200 row[i] = T(1); // Insert 1 at ith position
    @@ -329,20 +277,14 @@ $(function(){initNavTree('d8/d95/vector__ops_8hpp_source.html','../../'); initRe
    203 return;
    204}
    -
    205
    -
    206/**
    -
    207 * Function to Intialize 2D vector as zeroes
    -
    208 * @tparam T typename of the vector
    -
    209 * @param A 2D vector to be initialized
    -
    210 * @param shape required shape
    -
    211 */
    +
    205
    212template <typename T>
    - -
    214 const std::pair<size_t, size_t> &shape) {
    +
    213void zeroes_initialization(std::vector<std::valarray<T>> &A,
    +
    214 const std::pair<size_t, size_t> &shape) {
    215 A.clear(); // Making A empty
    216 for (size_t i = 0; i < shape.first; i++) {
    - +
    217 std::valarray<T>
    218 row; // Making empty row which will be inserted in vector
    219 row.resize(shape.second); // By default all elements are zero
    220 A.push_back(row); // Insert new row in vector
    @@ -350,16 +292,10 @@ $(function(){initNavTree('d8/d95/vector__ops_8hpp_source.html','../../'); initRe
    222 return;
    223}
    -
    224
    -
    225/**
    -
    226 * Function to get sum of all elements in 2D vector
    -
    227 * @tparam T typename of the vector
    -
    228 * @param A 2D vector for which sum is required
    -
    229 * @return returns sum of all elements of 2D vector
    -
    230 */
    +
    224
    231template <typename T>
    - +
    232T sum(const std::vector<std::valarray<T>> &A) {
    233 T cur_sum = 0; // Initially sum is zero
    234 for (const auto &a : A) { // For every row in A
    235 cur_sum += a.sum(); // Add sum of that row to current sum
    @@ -367,62 +303,48 @@ $(function(){initNavTree('d8/d95/vector__ops_8hpp_source.html','../../'); initRe
    237 return cur_sum; // Return sum
    238}
    -
    239
    -
    240/**
    -
    241 * Function to get shape of given 2D vector
    -
    242 * @tparam T typename of the vector
    -
    243 * @param A 2D vector for which shape is required
    -
    244 * @return shape as pair
    -
    245 */
    +
    239
    246template <typename T>
    - +
    247std::pair<size_t, size_t> get_shape(const std::vector<std::valarray<T>> &A) {
    248 const size_t sub_size = (*A.begin()).size();
    249 for (const auto &a : A) {
    250 // If supplied vector don't have same shape in all rows
    251 if (a.size() != sub_size) {
    -
    252 std::cerr << "ERROR (" << __func__ << ") : ";
    -
    253 std::cerr << "Supplied vector is not 2D Matrix" << std::endl;
    -
    254 std::exit(EXIT_FAILURE);
    +
    252 std::cerr << "ERROR (" << __func__ << ") : ";
    +
    253 std::cerr << "Supplied vector is not 2D Matrix" << std::endl;
    +
    254 std::exit(EXIT_FAILURE);
    255 }
    256 }
    -
    257 return std::make_pair(A.size(), sub_size); // Return shape as pair
    +
    257 return std::make_pair(A.size(), sub_size); // Return shape as pair
    258}
    -
    259
    -
    260/**
    -
    261 * Function to scale given 3D vector using min-max scaler
    -
    262 * @tparam T typename of the vector
    -
    263 * @param A 3D vector which will be scaled
    -
    264 * @param low new minimum value
    -
    265 * @param high new maximum value
    -
    266 * @return new scaled 3D vector
    -
    267 */
    +
    259
    268template <typename T>
    - -
    270 const std::vector<std::vector<std::valarray<T>>> &A, const T &low,
    +
    269std::vector<std::vector<std::valarray<T>>> minmax_scaler(
    +
    270 const std::vector<std::vector<std::valarray<T>>> &A, const T &low,
    271 const T &high) {
    - +
    272 std::vector<std::vector<std::valarray<T>>> B =
    273 A; // Copying into new vector B
    274 const auto shape = get_shape(B[0]); // Storing shape of B's every element
    275 // As this function is used for scaling training data vector should be of
    276 // shape (1, X)
    277 if (shape.first != 1) {
    -
    278 std::cerr << "ERROR (" << __func__ << ") : ";
    - +
    278 std::cerr << "ERROR (" << __func__ << ") : ";
    +
    279 std::cerr
    280 << "Supplied vector is not supported for minmax scaling, shape: ";
    -
    281 std::cerr << shape << std::endl;
    -
    282 std::exit(EXIT_FAILURE);
    +
    281 std::cerr << shape << std::endl;
    +
    282 std::exit(EXIT_FAILURE);
    283 }
    284 for (size_t i = 0; i < shape.second; i++) {
    285 T min = B[0][0][i], max = B[0][0][i];
    -
    286 for (size_t j = 0; j < B.size(); j++) {
    +
    286 for (size_t j = 0; j < B.size(); j++) {
    287 // Updating minimum and maximum values
    -
    288 min = std::min(min, B[j][0][i]);
    -
    289 max = std::max(max, B[j][0][i]);
    +
    288 min = std::min(min, B[j][0][i]);
    +
    289 max = std::max(max, B[j][0][i]);
    290 }
    -
    291 for (size_t j = 0; j < B.size(); j++) {
    +
    291 for (size_t j = 0; j < B.size(); j++) {
    292 // Applying min-max scaler formula
    293 B[j][0][i] =
    294 ((B[j][0][i] - min) / (max - min)) * (high - low) + low;
    @@ -431,42 +353,29 @@ $(function(){initNavTree('d8/d95/vector__ops_8hpp_source.html','../../'); initRe
    297 return B; // Return new resultant 3D vector
    298}
    -
    299
    -
    300/**
    -
    301 * Function to get index of maximum element in 2D vector
    -
    302 * @tparam T typename of the vector
    -
    303 * @param A 2D vector for which maximum index is required
    -
    304 * @return index of maximum element
    -
    305 */
    +
    299
    306template <typename T>
    - +
    307size_t argmax(const std::vector<std::valarray<T>> &A) {
    308 const auto shape = get_shape(A);
    309 // As this function is used on predicted (or target) vector, shape should be
    310 // (1, X)
    311 if (shape.first != 1) {
    -
    312 std::cerr << "ERROR (" << __func__ << ") : ";
    -
    313 std::cerr << "Supplied vector is ineligible for argmax" << std::endl;
    -
    314 std::exit(EXIT_FAILURE);
    +
    312 std::cerr << "ERROR (" << __func__ << ") : ";
    +
    313 std::cerr << "Supplied vector is ineligible for argmax" << std::endl;
    +
    314 std::exit(EXIT_FAILURE);
    315 }
    316 // Return distance of max element from first element (i.e. index)
    -
    317 return std::distance(std::begin(A[0]),
    -
    318 std::max_element(std::begin(A[0]), std::end(A[0])));
    +
    317 return std::distance(std::begin(A[0]),
    +
    318 std::max_element(std::begin(A[0]), std::end(A[0])));
    319}
    -
    320
    -
    321/**
    -
    322 * Function which applys supplied function to every element of 2D vector
    -
    323 * @tparam T typename of the vector
    -
    324 * @param A 2D vector on which function will be applied
    -
    325 * @param func Function to be applied
    -
    326 * @return new resultant vector
    -
    327 */
    +
    320
    328template <typename T>
    - -
    330 const std::vector<std::valarray<T>> &A, T (*func)(const T &)) {
    - +
    329std::vector<std::valarray<T>> apply_function(
    +
    330 const std::vector<std::valarray<T>> &A, T (*func)(const T &)) {
    +
    331 std::vector<std::valarray<double>> B =
    332 A; // New vector to store resultant vector
    333 for (auto &b : B) { // For every row in vector
    334 b = b.apply(func); // Apply function to that row
    @@ -474,19 +383,12 @@ $(function(){initNavTree('d8/d95/vector__ops_8hpp_source.html','../../'); initRe
    336 return B; // Return new resultant 2D vector
    337}
    -
    338
    -
    339/**
    -
    340 * Overloaded operator "*" to multiply given 2D vector with scaler
    -
    341 * @tparam T typename of both vector and the scaler
    -
    342 * @param A 2D vector to which scaler will be multiplied
    -
    343 * @param val Scaler value which will be multiplied
    -
    344 * @return new resultant vector
    -
    345 */
    +
    338
    346template <typename T>
    - +
    347std::vector<std::valarray<T>> operator*(const std::vector<std::valarray<T>> &A,
    348 const T &val) {
    - +
    349 std::vector<std::valarray<double>> B =
    350 A; // New vector to store resultant vector
    351 for (auto &b : B) { // For every row in vector
    352 b = b * val; // Multiply row with scaler
    @@ -494,19 +396,12 @@ $(function(){initNavTree('d8/d95/vector__ops_8hpp_source.html','../../'); initRe
    354 return B; // Return new resultant 2D vector
    355}
    -
    356
    -
    357/**
    -
    358 * Overloaded operator "/" to divide given 2D vector with scaler
    -
    359 * @tparam T typename of the vector and the scaler
    -
    360 * @param A 2D vector to which scaler will be divided
    -
    361 * @param val Scaler value which will be divided
    -
    362 * @return new resultant vector
    -
    363 */
    +
    356
    364template <typename T>
    - +
    365std::vector<std::valarray<T>> operator/(const std::vector<std::valarray<T>> &A,
    366 const T &val) {
    - +
    367 std::vector<std::valarray<double>> B =
    368 A; // New vector to store resultant vector
    369 for (auto &b : B) { // For every row in vector
    370 b = b / val; // Divide row with scaler
    @@ -514,150 +409,116 @@ $(function(){initNavTree('d8/d95/vector__ops_8hpp_source.html','../../'); initRe
    372 return B; // Return new resultant 2D vector
    373}
    -
    374
    -
    375/**
    -
    376 * Function to get transpose of 2D vector
    -
    377 * @tparam T typename of the vector
    -
    378 * @param A 2D vector which will be transposed
    -
    379 * @return new resultant vector
    -
    380 */
    +
    374
    381template <typename T>
    - -
    383 const std::vector<std::valarray<T>> &A) {
    +
    382std::vector<std::valarray<T>> transpose(
    +
    383 const std::vector<std::valarray<T>> &A) {
    384 const auto shape = get_shape(A); // Current shape of vector
    -
    385 std::vector<std::valarray<T>> B; // New vector to store result
    +
    385 std::vector<std::valarray<T>> B; // New vector to store result
    386 // Storing transpose values of A in B
    387 for (size_t j = 0; j < shape.second; j++) {
    - +
    388 std::valarray<T> row;
    389 row.resize(shape.first);
    390 for (size_t i = 0; i < shape.first; i++) {
    391 row[i] = A[i][j];
    392 }
    -
    393 B.push_back(row);
    +
    393 B.push_back(row);
    394 }
    395 return B; // Return new resultant 2D vector
    396}
    -
    397
    -
    398/**
    -
    399 * Overloaded operator "+" to add two 2D vectors
    -
    400 * @tparam T typename of the vector
    -
    401 * @param A First 2D vector
    -
    402 * @param B Second 2D vector
    -
    403 * @return new resultant vector
    -
    404 */
    +
    397
    405template <typename T>
    - - -
    408 const std::vector<std::valarray<T>> &B) {
    +
    406std::vector<std::valarray<T>> operator+(
    +
    407 const std::vector<std::valarray<T>> &A,
    +
    408 const std::vector<std::valarray<T>> &B) {
    409 const auto shape_a = get_shape(A);
    410 const auto shape_b = get_shape(B);
    411 // If vectors don't have equal shape
    412 if (shape_a.first != shape_b.first || shape_a.second != shape_b.second) {
    -
    413 std::cerr << "ERROR (" << __func__ << ") : ";
    -
    414 std::cerr << "Supplied vectors have different shapes ";
    -
    415 std::cerr << shape_a << " and " << shape_b << std::endl;
    -
    416 std::exit(EXIT_FAILURE);
    +
    413 std::cerr << "ERROR (" << __func__ << ") : ";
    +
    414 std::cerr << "Supplied vectors have different shapes ";
    +
    415 std::cerr << shape_a << " and " << shape_b << std::endl;
    +
    416 std::exit(EXIT_FAILURE);
    417 }
    - +
    418 std::vector<std::valarray<T>> C;
    419 for (size_t i = 0; i < A.size(); i++) { // For every row
    -
    420 C.push_back(A[i] + B[i]); // Elementwise addition
    +
    420 C.push_back(A[i] + B[i]); // Elementwise addition
    421 }
    422 return C; // Return new resultant 2D vector
    423}
    -
    424
    -
    425/**
    -
    426 * Overloaded operator "-" to add subtract 2D vectors
    -
    427 * @tparam T typename of the vector
    -
    428 * @param A First 2D vector
    -
    429 * @param B Second 2D vector
    -
    430 * @return new resultant vector
    -
    431 */
    +
    424
    432template <typename T>
    - - -
    435 const std::vector<std::valarray<T>> &B) {
    +
    433std::vector<std::valarray<T>> operator-(
    +
    434 const std::vector<std::valarray<T>> &A,
    +
    435 const std::vector<std::valarray<T>> &B) {
    436 const auto shape_a = get_shape(A);
    437 const auto shape_b = get_shape(B);
    438 // If vectors don't have equal shape
    439 if (shape_a.first != shape_b.first || shape_a.second != shape_b.second) {
    -
    440 std::cerr << "ERROR (" << __func__ << ") : ";
    -
    441 std::cerr << "Supplied vectors have different shapes ";
    -
    442 std::cerr << shape_a << " and " << shape_b << std::endl;
    -
    443 std::exit(EXIT_FAILURE);
    +
    440 std::cerr << "ERROR (" << __func__ << ") : ";
    +
    441 std::cerr << "Supplied vectors have different shapes ";
    +
    442 std::cerr << shape_a << " and " << shape_b << std::endl;
    +
    443 std::exit(EXIT_FAILURE);
    444 }
    -
    445 std::vector<std::valarray<T>> C; // Vector to store result
    +
    445 std::vector<std::valarray<T>> C; // Vector to store result
    446 for (size_t i = 0; i < A.size(); i++) { // For every row
    -
    447 C.push_back(A[i] - B[i]); // Elementwise substraction
    +
    447 C.push_back(A[i] - B[i]); // Elementwise substraction
    448 }
    449 return C; // Return new resultant 2D vector
    450}
    -
    451
    -
    452/**
    -
    453 * Function to multiply two 2D vectors
    -
    454 * @tparam T typename of the vector
    -
    455 * @param A First 2D vector
    -
    456 * @param B Second 2D vector
    -
    457 * @return new resultant vector
    -
    458 */
    +
    451
    459template <typename T>
    - -
    461 const std::vector<std::valarray<T>> &B) {
    +
    460std::vector<std::valarray<T>> multiply(const std::vector<std::valarray<T>> &A,
    +
    461 const std::vector<std::valarray<T>> &B) {
    462 const auto shape_a = get_shape(A);
    463 const auto shape_b = get_shape(B);
    464 // If vectors are not eligible for multiplication
    465 if (shape_a.second != shape_b.first) {
    -
    466 std::cerr << "ERROR (" << __func__ << ") : ";
    -
    467 std::cerr << "Vectors are not eligible for multiplication ";
    -
    468 std::cerr << shape_a << " and " << shape_b << std::endl;
    -
    469 std::exit(EXIT_FAILURE);
    +
    466 std::cerr << "ERROR (" << __func__ << ") : ";
    +
    467 std::cerr << "Vectors are not eligible for multiplication ";
    +
    468 std::cerr << shape_a << " and " << shape_b << std::endl;
    +
    469 std::exit(EXIT_FAILURE);
    470 }
    -
    471 std::vector<std::valarray<T>> C; // Vector to store result
    +
    471 std::vector<std::valarray<T>> C; // Vector to store result
    472 // Normal matrix multiplication
    473 for (size_t i = 0; i < shape_a.first; i++) {
    - +
    474 std::valarray<T> row;
    475 row.resize(shape_b.second);
    476 for (size_t j = 0; j < shape_b.second; j++) {
    477 for (size_t k = 0; k < shape_a.second; k++) {
    478 row[j] += A[i][k] * B[k][j];
    479 }
    480 }
    -
    481 C.push_back(row);
    +
    481 C.push_back(row);
    482 }
    483 return C; // Return new resultant 2D vector
    484}
    -
    485
    -
    486/**
    -
    487 * Function to get hadamard product of two 2D vectors
    -
    488 * @tparam T typename of the vector
    -
    489 * @param A First 2D vector
    -
    490 * @param B Second 2D vector
    -
    491 * @return new resultant vector
    -
    492 */
    +
    485
    493template <typename T>
    - - -
    496 const std::vector<std::valarray<T>> &B) {
    +
    494std::vector<std::valarray<T>> hadamard_product(
    +
    495 const std::vector<std::valarray<T>> &A,
    +
    496 const std::vector<std::valarray<T>> &B) {
    497 const auto shape_a = get_shape(A);
    498 const auto shape_b = get_shape(B);
    499 // If vectors are not eligible for hadamard product
    500 if (shape_a.first != shape_b.first || shape_a.second != shape_b.second) {
    -
    501 std::cerr << "ERROR (" << __func__ << ") : ";
    -
    502 std::cerr << "Vectors have different shapes ";
    -
    503 std::cerr << shape_a << " and " << shape_b << std::endl;
    -
    504 std::exit(EXIT_FAILURE);
    +
    501 std::cerr << "ERROR (" << __func__ << ") : ";
    +
    502 std::cerr << "Vectors have different shapes ";
    +
    503 std::cerr << shape_a << " and " << shape_b << std::endl;
    +
    504 std::exit(EXIT_FAILURE);
    505 }
    -
    506 std::vector<std::valarray<T>> C; // Vector to store result
    +
    506 std::vector<std::valarray<T>> C; // Vector to store result
    507 for (size_t i = 0; i < A.size(); i++) {
    -
    508 C.push_back(A[i] * B[i]); // Elementwise multiplication
    +
    508 C.push_back(A[i] * B[i]); // Elementwise multiplication
    509 }
    510 return C; // Return new resultant 2D vector
    511}
    @@ -665,49 +526,27 @@ $(function(){initNavTree('d8/d95/vector__ops_8hpp_source.html','../../'); initRe
    512} // namespace machine_learning
    513
    514#endif
    - -
    T begin(T... args)
    -
    T distance(T... args)
    -
    T end(T... args)
    -
    T endl(T... args)
    -
    T exit(T... args)
    -
    T make_pair(T... args)
    -
    T max_element(T... args)
    -
    T max(T... args)
    -
    T min(T... args)
    A* search algorithm
    -
    std::vector< std::valarray< T > > operator-(const std::vector< std::valarray< T > > &A, const std::vector< std::valarray< T > > &B)
    Definition vector_ops.hpp:433
    -
    std::vector< std::valarray< T > > operator*(const std::vector< std::valarray< T > > &A, const T &val)
    Definition vector_ops.hpp:347
    -
    std::vector< std::valarray< T > > operator+(const std::vector< std::valarray< T > > &A, const std::vector< std::valarray< T > > &B)
    Definition vector_ops.hpp:406
    -
    std::valarray< T > insert_element(const std::valarray< T > &A, const T &ele)
    Definition vector_ops.hpp:85
    -
    size_t argmax(const std::vector< std::valarray< T > > &A)
    Definition vector_ops.hpp:307
    -
    std::vector< std::valarray< T > > multiply(const std::vector< std::valarray< T > > &A, const std::vector< std::valarray< T > > &B)
    Definition vector_ops.hpp:460
    -
    T sum(const std::vector< std::valarray< T > > &A)
    Definition vector_ops.hpp:232
    -
    std::ostream & operator<<(std::ostream &out, std::vector< std::valarray< T > > const &A)
    Definition vector_ops.hpp:32
    -
    std::vector< std::valarray< T > > transpose(const std::vector< std::valarray< T > > &A)
    Definition vector_ops.hpp:382
    -
    void unit_matrix_initialization(std::vector< std::valarray< T > > &A, const std::pair< size_t, size_t > &shape)
    Definition vector_ops.hpp:193
    -
    std::valarray< T > pop_front(const std::valarray< T > &A)
    Definition vector_ops.hpp:102
    -
    std::pair< size_t, size_t > get_shape(const std::vector< std::valarray< T > > &A)
    Definition vector_ops.hpp:247
    -
    void uniform_random_initialization(std::vector< std::valarray< T > > &A, const std::pair< size_t, size_t > &shape, const T &low, const T &high)
    Definition vector_ops.hpp:166
    -
    void zeroes_initialization(std::vector< std::valarray< T > > &A, const std::pair< size_t, size_t > &shape)
    Definition vector_ops.hpp:213
    -
    std::vector< std::vector< std::valarray< T > > > minmax_scaler(const std::vector< std::vector< std::valarray< T > > > &A, const T &low, const T &high)
    Definition vector_ops.hpp:269
    -
    std::vector< std::valarray< T > > hadamard_product(const std::vector< std::valarray< T > > &A, const std::vector< std::valarray< T > > &B)
    Definition vector_ops.hpp:494
    -
    std::vector< std::valarray< T > > apply_function(const std::vector< std::valarray< T > > &A, T(*func)(const T &))
    Definition vector_ops.hpp:329
    -
    std::valarray< T > pop_back(const std::valarray< T > &A)
    Definition vector_ops.hpp:119
    -
    std::vector< std::valarray< T > > operator/(const std::vector< std::valarray< T > > &A, const T &val)
    Definition vector_ops.hpp:365
    -
    void equal_shuffle(std::vector< std::vector< std::valarray< T > > > &A, std::vector< std::vector< std::valarray< T > > > &B)
    Definition vector_ops.hpp:136
    - - -
    T precision(T... args)
    -
    T push_back(T... args)
    -
    T rand(T... args)
    - -
    T size(T... args)
    -
    T srand(T... args)
    -
    T swap(T... args)
    - - - +
    std::vector< std::valarray< T > > operator-(const std::vector< std::valarray< T > > &A, const std::vector< std::valarray< T > > &B)
    +
    std::vector< std::valarray< T > > operator*(const std::vector< std::valarray< T > > &A, const T &val)
    +
    std::vector< std::valarray< T > > operator+(const std::vector< std::valarray< T > > &A, const std::vector< std::valarray< T > > &B)
    +
    std::valarray< T > insert_element(const std::valarray< T > &A, const T &ele)
    +
    size_t argmax(const std::vector< std::valarray< T > > &A)
    +
    std::vector< std::valarray< T > > multiply(const std::vector< std::valarray< T > > &A, const std::vector< std::valarray< T > > &B)
    +
    T sum(const std::vector< std::valarray< T > > &A)
    +
    std::ostream & operator<<(std::ostream &out, std::vector< std::valarray< T > > const &A)
    +
    std::vector< std::valarray< T > > transpose(const std::vector< std::valarray< T > > &A)
    +
    void unit_matrix_initialization(std::vector< std::valarray< T > > &A, const std::pair< size_t, size_t > &shape)
    +
    std::valarray< T > pop_front(const std::valarray< T > &A)
    +
    std::pair< size_t, size_t > get_shape(const std::vector< std::valarray< T > > &A)
    +
    void uniform_random_initialization(std::vector< std::valarray< T > > &A, const std::pair< size_t, size_t > &shape, const T &low, const T &high)
    +
    void zeroes_initialization(std::vector< std::valarray< T > > &A, const std::pair< size_t, size_t > &shape)
    +
    std::vector< std::vector< std::valarray< T > > > minmax_scaler(const std::vector< std::vector< std::valarray< T > > > &A, const T &low, const T &high)
    +
    std::vector< std::valarray< T > > hadamard_product(const std::vector< std::valarray< T > > &A, const std::vector< std::valarray< T > > &B)
    +
    std::vector< std::valarray< T > > apply_function(const std::vector< std::valarray< T > > &A, T(*func)(const T &))
    +
    std::valarray< T > pop_back(const std::valarray< T > &A)
    +
    std::vector< std::valarray< T > > operator/(const std::vector< std::valarray< T > > &A, const T &val)
    +
    void equal_shuffle(std::vector< std::vector< std::valarray< T > > > &A, std::vector< std::vector< std::valarray< T > > > &B)
    diff --git a/d8/d96/stack__using__array_8cpp_source.html b/d8/d96/stack__using__array_8cpp_source.html new file mode 100644 index 000000000..271b5e119 --- /dev/null +++ b/d8/d96/stack__using__array_8cpp_source.html @@ -0,0 +1,291 @@ + + + + + + + + +TheAlgorithms/C++: data_structures/stack_using_array.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + + +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    stack_using_array.cpp
    +
    +
    +
    1#include <cassert>
    +
    2#include <iostream>
    +
    3#include <memory>
    +
    4#include <stdexcept>
    +
    5
    +
    10namespace data_structures {
    +
    15template <typename T>
    +
    +
    16class Stack {
    +
    17 private:
    +
    18 std::unique_ptr<T[]> stack;
    + + +
    21
    +
    22 public:
    +
    28 Stack(int size) : stackSize(size), stackIndex(-1), stack(new T[size]) {}
    +
    29
    +
    35 bool full() const { return stackIndex == stackSize - 1; }
    +
    36
    +
    41 bool empty() const { return stackIndex == -1; }
    +
    42
    +
    +
    48 void push(T element) {
    +
    49 if (full()) {
    +
    50 throw std::out_of_range("Stack overflow");
    +
    51 } else {
    +
    52 stack[++stackIndex] = element;
    +
    53 }
    +
    54 }
    +
    +
    55
    +
    +
    62 T pop() {
    +
    63 if (empty()) {
    +
    64 throw std::out_of_range("Stack underflow");
    +
    65 }
    +
    66 return stack[stackIndex--];
    +
    67 }
    +
    +
    68
    +
    +
    72 void show() const {
    +
    73 for (int i = 0; i <= stackIndex; i++) {
    +
    74 std::cout << stack[i] << "\n";
    +
    75 }
    +
    76 }
    +
    +
    77
    +
    +
    84 T topmost() const {
    +
    85 if (empty()) {
    +
    86 throw std::out_of_range("Stack underflow");
    +
    87 }
    +
    88 return stack[stackIndex];
    +
    89 }
    +
    +
    90
    +
    +
    97 T bottom() const {
    +
    98 if (empty()) {
    +
    99 throw std::out_of_range("Stack underflow");
    +
    100 }
    +
    101 return stack[0];
    +
    102 }
    +
    +
    103};
    +
    +
    104} // namespace data_structures
    +
    105
    +
    110static void test() {
    + +
    112
    +
    113 // Test empty and full operations
    +
    114 assert(stack.empty());
    +
    115 assert(!stack.full());
    +
    116
    +
    117 // Test pushing elements and checking topmost
    +
    118 stack.push(10);
    +
    119 assert(stack.topmost() == 10);
    +
    120
    +
    121 stack.push(20);
    +
    122 assert(stack.topmost() == 20);
    +
    123
    +
    124 stack.push(30);
    +
    125 stack.push(40);
    +
    126 stack.push(50);
    +
    127 assert(stack.full());
    +
    128
    +
    129 // Test stack overflow
    +
    130 try {
    +
    131 stack.push(60);
    +
    132 } catch (const std::out_of_range& e) {
    +
    133 assert(std::string(e.what()) == "Stack overflow");
    +
    134 }
    +
    135
    +
    136 // Test popping elements
    +
    137 assert(stack.pop() == 50);
    +
    138 assert(stack.pop() == 40);
    +
    139 assert(stack.pop() == 30);
    +
    140
    +
    141 // Check topmost and bottom elements
    +
    142 assert(stack.topmost() == 20);
    +
    143 assert(stack.bottom() == 10);
    +
    144
    +
    145 assert(stack.pop() == 20);
    +
    146 assert(stack.pop() == 10);
    +
    147
    +
    148 assert(stack.empty());
    +
    149 assert(!stack.full());
    +
    150
    +
    151 // Test stack underflow
    +
    152 try {
    +
    153 stack.pop();
    +
    154 } catch (const std::out_of_range& e) {
    +
    155 assert(std::string(e.what()) == "Stack underflow");
    +
    156 }
    +
    157
    +
    158 try {
    +
    159 stack.topmost();
    +
    160 } catch (const std::out_of_range& e) {
    +
    161 assert(std::string(e.what()) == "Stack underflow");
    +
    162 }
    +
    163
    +
    164 try {
    +
    165 stack.bottom();
    +
    166 } catch (const std::out_of_range& e) {
    +
    167 assert(std::string(e.what()) == "Stack underflow");
    +
    168 }
    +
    169}
    +
    170
    +
    175int main() {
    +
    176 test(); // run self-test implementations
    +
    177 std::cout << "All tests passed!" << std::endl;
    +
    178 return 0;
    +
    179}
    +
    void test()
    +
    Class representation of a stack.
    +
    bool empty() const
    Checks if the stack is empty.
    +
    T bottom() const
    Displays the bottom element of the stack.
    +
    std::unique_ptr< T[]> stack
    Smart pointer to the stack array.
    +
    T topmost() const
    Displays the topmost element of the stack.
    +
    int stackIndex
    Index pointing to the top element of the stack.
    +
    int stackSize
    Maximum size of the stack.
    +
    Stack(int size)
    Constructs a new Stack object.
    +
    bool full() const
    Checks if the stack is full.
    +
    void push(T element)
    Pushes an element onto the stack.
    +
    void show() const
    Displays all elements in the stack.
    +
    T pop()
    Pops an element from the stack.
    +
    for std::invalid_argument
    Definition stack.hpp:19
    +
    void pop()
    Definition stack.hpp:62
    +
    void push(const value_type &item)
    Definition stack.hpp:47
    +
    int main()
    Main function.
    +
    for IO operations
    +
    char stack[MAX]
    +
    +
    + + + + diff --git a/d8/d98/classothers_1_1recursive__tree__traversals_1_1_b_t__coll__graph.map b/d8/d98/classothers_1_1recursive__tree__traversals_1_1_b_t__coll__graph.map index b3ca3cd93..99261823c 100644 --- a/d8/d98/classothers_1_1recursive__tree__traversals_1_1_b_t__coll__graph.map +++ b/d8/d98/classothers_1_1recursive__tree__traversals_1_1_b_t__coll__graph.map @@ -1,7 +1,5 @@ - - - - - + + + diff --git a/d8/d98/classothers_1_1recursive__tree__traversals_1_1_b_t__coll__graph.md5 b/d8/d98/classothers_1_1recursive__tree__traversals_1_1_b_t__coll__graph.md5 index db250a296..fff623e69 100644 --- a/d8/d98/classothers_1_1recursive__tree__traversals_1_1_b_t__coll__graph.md5 +++ b/d8/d98/classothers_1_1recursive__tree__traversals_1_1_b_t__coll__graph.md5 @@ -1 +1 @@ -13d3d40813e2172af70fc2fd9d91ca6b \ No newline at end of file +6781928d931f5d173787adb62d7377c6 \ No newline at end of file diff --git a/d8/d98/classothers_1_1recursive__tree__traversals_1_1_b_t__coll__graph.svg b/d8/d98/classothers_1_1recursive__tree__traversals_1_1_b_t__coll__graph.svg index 82bc9d5b6..0c5f9d3fc 100644 --- a/d8/d98/classothers_1_1recursive__tree__traversals_1_1_b_t__coll__graph.svg +++ b/d8/d98/classothers_1_1recursive__tree__traversals_1_1_b_t__coll__graph.svg @@ -4,8 +4,8 @@ - + @@ -17,7 +17,7 @@ ]]> - + others::recursive_tree_traversals::BT @@ -32,7 +32,7 @@ Node2 - + std::vector< std::uint64_t > @@ -50,25 +50,6 @@ postorder_result preorder_result - - -Node3 - - -std::uint64_t - - - - - -Node3->Node2 - - - - - - elements - diff --git a/d8/d98/classothers_1_1recursive__tree__traversals_1_1_b_t__coll__graph_org.svg b/d8/d98/classothers_1_1recursive__tree__traversals_1_1_b_t__coll__graph_org.svg index 907a8bcfd..97f2e14ac 100644 --- a/d8/d98/classothers_1_1recursive__tree__traversals_1_1_b_t__coll__graph_org.svg +++ b/d8/d98/classothers_1_1recursive__tree__traversals_1_1_b_t__coll__graph_org.svg @@ -4,9 +4,9 @@ - - + + others::recursive_tree_traversals::BT @@ -21,7 +21,7 @@ Node2 - + std::vector< std::uint64_t > @@ -39,24 +39,5 @@ postorder_result preorder_result - - -Node3 - - -std::uint64_t - - - - - -Node3->Node2 - - - - - - elements - diff --git a/d8/d99/connected__components__with__dsu_8cpp.html b/d8/d99/connected__components__with__dsu_8cpp.html index 67801a304..6692cf8d2 100644 --- a/d8/d99/connected__components__with__dsu_8cpp.html +++ b/d8/d99/connected__components__with__dsu_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: graph/connected_components_with_dsu.cpp File Reference +TheAlgorithms/C++: graph/connected_components_with_dsu.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -123,7 +140,9 @@ Include dependency graph for connected_components_with_dsu.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -156,12 +175,11 @@ Functions

    Namespaces

    namespace  graph
    - + - + - +

    Variables

    -uint32_t graph::disjoint_union::number_of_nodes = 0
    uint32_t graph::disjoint_union::number_of_nodes = 0
     
    std::vector< int64_t > graph::disjoint_union::parent {}
    std::vector< int64_t > graph::disjoint_union::parent {}
     
    std::vector< uint32_t > graph::disjoint_union::connected_set_size {}
    std::vector< uint32_t > graph::disjoint_union::connected_set_size {}
     

    Detailed Description

    @@ -176,6 +194,8 @@ Algorithm
    Author
    Unknown author
    Sagar Pandya
    + +

    Definition in file connected_components_with_dsu.cpp.

    Function Documentation

    ◆ find_set()

    @@ -200,6 +220,8 @@ Algorithm
    Returns
    parent of val
    + +

    Definition at line 54 of file connected_components_with_dsu.cpp.

    54 {
    55 while (parent[val] != val) {
    56 parent[val] = parent[parent[val]];
    @@ -207,12 +229,7 @@ Algorithm
    58 }
    59 return val;
    60}
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -232,17 +249,14 @@ Here is the call graph for this function:

    Main function.

    Returns
    0 on exit
    + +

    Definition at line 117 of file connected_components_with_dsu.cpp.

    117 {
    118 test(); // Execute the tests
    119 return 0;
    120}
    -
    static void test()
    Test Implementations.
    Definition connected_components_with_dsu.cpp:97
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static void test()
    Test Implementations.
    + @@ -262,18 +276,15 @@ Here is the call graph for this function:

    function the initialize every node as it's own parent

    Returns
    void
    + +

    Definition at line 43 of file connected_components_with_dsu.cpp.

    43 {
    44 for (uint32_t i = 1; i <= number_of_nodes; i++) {
    45 parent[i] = i;
    46 connected_set_size[i] = 1;
    47 }
    48}
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -293,21 +304,15 @@ Here is the call graph for this function:

    Find total no. of connected components.

    Returns
    Number of connected components
    -
    85 {
    -
    86 std::set<int64_t> temp; // temp set to count number of connected components
    -
    87 for (uint32_t i = 1; i <= number_of_nodes; i++) temp.insert(find_set(i));
    -
    88 return temp.size(); // return the size of temp set
    -
    89}
    -
    int64_t find_set(int64_t val)
    Find the component where following node belongs to.
    Definition connected_components_with_dsu.cpp:54
    -
    T insert(T... args)
    - -
    T size(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    +

    Definition at line 85 of file connected_components_with_dsu.cpp.

    +
    85 {
    +
    86 std::set<int64_t> temp; // temp set to count number of connected components
    +
    87 for (uint32_t i = 1; i <= number_of_nodes; i++) temp.insert(find_set(i));
    +
    88 return temp.size(); // return the size of temp set
    +
    89}
    +
    int64_t find_set(int64_t val)
    Find the component where following node belongs to.
    +
    @@ -335,31 +340,25 @@ Here is the call graph for this function:

    Test Implementations.

    Returns
    void
    + +

    Definition at line 97 of file connected_components_with_dsu.cpp.

    97 {
    98 namespace dsu = graph::disjoint_union;
    -
    99 std::cin >> dsu::number_of_nodes;
    +
    99 std::cin >> dsu::number_of_nodes;
    100 dsu::parent.resize(dsu::number_of_nodes + 1);
    101 dsu::connected_set_size.resize(dsu::number_of_nodes + 1);
    102 dsu::make_set();
    103 uint32_t edges = 0;
    -
    104 std::cin >> edges; // no of edges in the graph
    +
    104 std::cin >> edges; // no of edges in the graph
    105 while (edges--) {
    106 int64_t node_a = 0, node_b = 0;
    -
    107 std::cin >> node_a >> node_b;
    +
    107 std::cin >> node_a >> node_b;
    108 dsu::union_sets(node_a, node_b);
    109 }
    -
    110 std::cout << dsu::no_of_connected_components() << std::endl;
    +
    110 std::cout << dsu::no_of_connected_components() << std::endl;
    111}
    - - -
    Disjoint sets union data structure, class based representation.
    Definition dsu_path_compression.cpp:34
    -
    T endl(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    Disjoint sets union data structure, class based representation.
    + @@ -390,6 +389,8 @@ Here is the call graph for this function:
    Returns
    void
    + +

    Definition at line 67 of file connected_components_with_dsu.cpp.

    67 {
    68 node1 = find_set(node1); // find the parent of node1
    69 node2 = find_set(node2); // find the parent of node2
    @@ -397,20 +398,14 @@ Here is the call graph for this function:
    71 // If parents of both nodes are not same, combine them
    72 if (node1 != node2) {
    73 if (connected_set_size[node1] < connected_set_size[node2]) {
    -
    74 std::swap(node1, node2); // swap both components
    +
    74 std::swap(node1, node2); // swap both components
    75 }
    76 parent[node2] = node1; // make node1 as parent of node2.
    77 connected_set_size[node1] +=
    78 connected_set_size[node2]; // sum the size of both as they combined
    79 }
    80}
    -
    T swap(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +

    Variable Documentation

    @@ -421,12 +416,30 @@ Here is the call graph for this function:
    - +
    std::vector<uint32_t> graph::disjoint_union::connected_set_size {}std::vector<uint32_t> graph::disjoint_union::connected_set_size {}
    + +

    Definition at line 38 of file connected_components_with_dsu.cpp.

    38{}; // size of each set
    +
    + + +

    ◆ number_of_nodes

    + +
    +
    + + + + +
    uint32_t graph::disjoint_union::number_of_nodes = 0
    +
    + +

    Definition at line 36 of file connected_components_with_dsu.cpp.

    +
    @@ -436,10 +449,12 @@ Here is the call graph for this function:
    - +
    std::vector<int64_t> graph::disjoint_union::parent {}std::vector<int64_t> graph::disjoint_union::parent {}
    + +

    Definition at line 37 of file connected_components_with_dsu.cpp.

    37{}; // parent of each node
    diff --git a/d8/d99/connected__components__with__dsu_8cpp_a469384d8a4197a9b24482ce7c321a85e_cgraph.map b/d8/d99/connected__components__with__dsu_8cpp_a469384d8a4197a9b24482ce7c321a85e_cgraph.map deleted file mode 100644 index 4868834a0..000000000 --- a/d8/d99/connected__components__with__dsu_8cpp_a469384d8a4197a9b24482ce7c321a85e_cgraph.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/d8/d99/connected__components__with__dsu_8cpp_a469384d8a4197a9b24482ce7c321a85e_cgraph.md5 b/d8/d99/connected__components__with__dsu_8cpp_a469384d8a4197a9b24482ce7c321a85e_cgraph.md5 deleted file mode 100644 index e35a43908..000000000 --- a/d8/d99/connected__components__with__dsu_8cpp_a469384d8a4197a9b24482ce7c321a85e_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -8fc145ca138758a93ab57ebe884633cb \ No newline at end of file diff --git a/d8/d99/connected__components__with__dsu_8cpp_a469384d8a4197a9b24482ce7c321a85e_cgraph.svg b/d8/d99/connected__components__with__dsu_8cpp_a469384d8a4197a9b24482ce7c321a85e_cgraph.svg deleted file mode 100644 index 2b2842213..000000000 --- a/d8/d99/connected__components__with__dsu_8cpp_a469384d8a4197a9b24482ce7c321a85e_cgraph.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - - - - - - - -graph::disjoint_union::find_set - - -Node1 - - -graph::disjoint_union -::find_set - - - - - -Node1->Node1 - - - - - - - - - - - - - diff --git a/d8/d99/connected__components__with__dsu_8cpp_a469384d8a4197a9b24482ce7c321a85e_cgraph_org.svg b/d8/d99/connected__components__with__dsu_8cpp_a469384d8a4197a9b24482ce7c321a85e_cgraph_org.svg deleted file mode 100644 index 3fd1e2f1d..000000000 --- a/d8/d99/connected__components__with__dsu_8cpp_a469384d8a4197a9b24482ce7c321a85e_cgraph_org.svg +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - -graph::disjoint_union::find_set - - -Node1 - - -graph::disjoint_union -::find_set - - - - - -Node1->Node1 - - - - - - - - diff --git a/d8/d99/connected__components__with__dsu_8cpp_a67cb7472f310a798f555fe45cdf50145_cgraph.map b/d8/d99/connected__components__with__dsu_8cpp_a67cb7472f310a798f555fe45cdf50145_cgraph.map deleted file mode 100644 index 2d762c604..000000000 --- a/d8/d99/connected__components__with__dsu_8cpp_a67cb7472f310a798f555fe45cdf50145_cgraph.map +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/d8/d99/connected__components__with__dsu_8cpp_a67cb7472f310a798f555fe45cdf50145_cgraph.md5 b/d8/d99/connected__components__with__dsu_8cpp_a67cb7472f310a798f555fe45cdf50145_cgraph.md5 deleted file mode 100644 index 1a80d3671..000000000 --- a/d8/d99/connected__components__with__dsu_8cpp_a67cb7472f310a798f555fe45cdf50145_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -9a6aa7ac02a7a09536fb3b21391c211e \ No newline at end of file diff --git a/d8/d99/connected__components__with__dsu_8cpp_a67cb7472f310a798f555fe45cdf50145_cgraph.svg b/d8/d99/connected__components__with__dsu_8cpp_a67cb7472f310a798f555fe45cdf50145_cgraph.svg deleted file mode 100644 index 935c51fa7..000000000 --- a/d8/d99/connected__components__with__dsu_8cpp_a67cb7472f310a798f555fe45cdf50145_cgraph.svg +++ /dev/null @@ -1,103 +0,0 @@ - - - - - - - - - - - - -graph::disjoint_union::union_sets - - -Node1 - - -graph::disjoint_union -::union_sets - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -graph::disjoint_union -::find_set - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::swap - - - - - -Node1->Node3 - - - - - - - - -Node2->Node2 - - - - - - - - - - - - - diff --git a/d8/d99/connected__components__with__dsu_8cpp_a67cb7472f310a798f555fe45cdf50145_cgraph_org.svg b/d8/d99/connected__components__with__dsu_8cpp_a67cb7472f310a798f555fe45cdf50145_cgraph_org.svg deleted file mode 100644 index 5fb30acf8..000000000 --- a/d8/d99/connected__components__with__dsu_8cpp_a67cb7472f310a798f555fe45cdf50145_cgraph_org.svg +++ /dev/null @@ -1,77 +0,0 @@ - - - - - - -graph::disjoint_union::union_sets - - -Node1 - - -graph::disjoint_union -::union_sets - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -graph::disjoint_union -::find_set - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::swap - - - - - -Node1->Node3 - - - - - - - - -Node2->Node2 - - - - - - - - diff --git a/d8/d99/connected__components__with__dsu_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map b/d8/d99/connected__components__with__dsu_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map deleted file mode 100644 index a990b2820..000000000 --- a/d8/d99/connected__components__with__dsu_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d8/d99/connected__components__with__dsu_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 b/d8/d99/connected__components__with__dsu_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 deleted file mode 100644 index f4d209f24..000000000 --- a/d8/d99/connected__components__with__dsu_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -5122934d8a90aefd1d0ba80d21ff0428 \ No newline at end of file diff --git a/d8/d99/connected__components__with__dsu_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg b/d8/d99/connected__components__with__dsu_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg deleted file mode 100644 index 221e9900f..000000000 --- a/d8/d99/connected__components__with__dsu_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d8/d99/connected__components__with__dsu_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg b/d8/d99/connected__components__with__dsu_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg deleted file mode 100644 index db433d2dc..000000000 --- a/d8/d99/connected__components__with__dsu_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - diff --git a/d8/d99/connected__components__with__dsu_8cpp_ac2d6698b71384a352ec4b81b31b13141_cgraph.map b/d8/d99/connected__components__with__dsu_8cpp_ac2d6698b71384a352ec4b81b31b13141_cgraph.map deleted file mode 100644 index fbcca49e3..000000000 --- a/d8/d99/connected__components__with__dsu_8cpp_ac2d6698b71384a352ec4b81b31b13141_cgraph.map +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/d8/d99/connected__components__with__dsu_8cpp_ac2d6698b71384a352ec4b81b31b13141_cgraph.md5 b/d8/d99/connected__components__with__dsu_8cpp_ac2d6698b71384a352ec4b81b31b13141_cgraph.md5 deleted file mode 100644 index c95ee69e5..000000000 --- a/d8/d99/connected__components__with__dsu_8cpp_ac2d6698b71384a352ec4b81b31b13141_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -1fe5c922cfd08398088e852672cd9e7b \ No newline at end of file diff --git a/d8/d99/connected__components__with__dsu_8cpp_ac2d6698b71384a352ec4b81b31b13141_cgraph.svg b/d8/d99/connected__components__with__dsu_8cpp_ac2d6698b71384a352ec4b81b31b13141_cgraph.svg deleted file mode 100644 index 6b8b3ac4e..000000000 --- a/d8/d99/connected__components__with__dsu_8cpp_ac2d6698b71384a352ec4b81b31b13141_cgraph.svg +++ /dev/null @@ -1,121 +0,0 @@ - - - - - - - - - - - - -graph::disjoint_union::no_of_connected_components - - -Node1 - - -graph::disjoint_union -::no_of_connected_components - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -graph::disjoint_union -::find_set - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::set::insert - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::set::size - - - - - -Node1->Node4 - - - - - - - - -Node2->Node2 - - - - - - - - - - - - - diff --git a/d8/d99/connected__components__with__dsu_8cpp_ac2d6698b71384a352ec4b81b31b13141_cgraph_org.svg b/d8/d99/connected__components__with__dsu_8cpp_ac2d6698b71384a352ec4b81b31b13141_cgraph_org.svg deleted file mode 100644 index 1adc36fdc..000000000 --- a/d8/d99/connected__components__with__dsu_8cpp_ac2d6698b71384a352ec4b81b31b13141_cgraph_org.svg +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - -graph::disjoint_union::no_of_connected_components - - -Node1 - - -graph::disjoint_union -::no_of_connected_components - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -graph::disjoint_union -::find_set - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::set::insert - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::set::size - - - - - -Node1->Node4 - - - - - - - - -Node2->Node2 - - - - - - - - diff --git a/d8/d99/connected__components__with__dsu_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d8/d99/connected__components__with__dsu_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index fbad36d72..000000000 --- a/d8/d99/connected__components__with__dsu_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/d8/d99/connected__components__with__dsu_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d8/d99/connected__components__with__dsu_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index 0d4e10a10..000000000 --- a/d8/d99/connected__components__with__dsu_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -c3d087a4c8128a406e23a4de492b9dda \ No newline at end of file diff --git a/d8/d99/connected__components__with__dsu_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d8/d99/connected__components__with__dsu_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 05aec27a7..000000000 --- a/d8/d99/connected__components__with__dsu_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node2->Node3 - - - - - - - - - - - - - diff --git a/d8/d99/connected__components__with__dsu_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d8/d99/connected__components__with__dsu_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index b9f5253fb..000000000 --- a/d8/d99/connected__components__with__dsu_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node2->Node3 - - - - - - - - diff --git a/d8/d99/connected__components__with__dsu_8cpp_ae91ed94113c56191b75fe45f688d6e62_cgraph.map b/d8/d99/connected__components__with__dsu_8cpp_ae91ed94113c56191b75fe45f688d6e62_cgraph.map deleted file mode 100644 index cdb046b44..000000000 --- a/d8/d99/connected__components__with__dsu_8cpp_ae91ed94113c56191b75fe45f688d6e62_cgraph.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/d8/d99/connected__components__with__dsu_8cpp_ae91ed94113c56191b75fe45f688d6e62_cgraph.md5 b/d8/d99/connected__components__with__dsu_8cpp_ae91ed94113c56191b75fe45f688d6e62_cgraph.md5 deleted file mode 100644 index 5d88c2eec..000000000 --- a/d8/d99/connected__components__with__dsu_8cpp_ae91ed94113c56191b75fe45f688d6e62_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -6eafbb650c7f570b7bad1cc37c8e6469 \ No newline at end of file diff --git a/d8/d99/connected__components__with__dsu_8cpp_ae91ed94113c56191b75fe45f688d6e62_cgraph.svg b/d8/d99/connected__components__with__dsu_8cpp_ae91ed94113c56191b75fe45f688d6e62_cgraph.svg deleted file mode 100644 index 62eb521a1..000000000 --- a/d8/d99/connected__components__with__dsu_8cpp_ae91ed94113c56191b75fe45f688d6e62_cgraph.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - - - - - - - -graph::disjoint_union::make_set - - -Node1 - - -graph::disjoint_union -::make_set - - - - - -Node1->Node1 - - - - - - - - - - - - - diff --git a/d8/d99/connected__components__with__dsu_8cpp_ae91ed94113c56191b75fe45f688d6e62_cgraph_org.svg b/d8/d99/connected__components__with__dsu_8cpp_ae91ed94113c56191b75fe45f688d6e62_cgraph_org.svg deleted file mode 100644 index 57d04713a..000000000 --- a/d8/d99/connected__components__with__dsu_8cpp_ae91ed94113c56191b75fe45f688d6e62_cgraph_org.svg +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - -graph::disjoint_union::make_set - - -Node1 - - -graph::disjoint_union -::make_set - - - - - -Node1->Node1 - - - - - - - - diff --git a/d8/d99/connected__components__with__dsu_8cpp_source.html b/d8/d99/connected__components__with__dsu_8cpp_source.html new file mode 100644 index 000000000..de774b76d --- /dev/null +++ b/d8/d99/connected__components__with__dsu_8cpp_source.html @@ -0,0 +1,224 @@ + + + + + + + + +TheAlgorithms/C++: graph/connected_components_with_dsu.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    connected_components_with_dsu.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    20#include <cstdint>
    +
    21#include <iostream>
    +
    22#include <set>
    +
    23#include <vector>
    +
    24
    +
    29namespace graph {
    +
    35namespace disjoint_union {
    +
    36uint32_t number_of_nodes = 0; // denotes number of nodes
    +
    37std::vector<int64_t> parent{}; // parent of each node
    +
    38std::vector<uint32_t> connected_set_size{}; // size of each set
    +
    +
    43void make_set() {
    +
    44 for (uint32_t i = 1; i <= number_of_nodes; i++) {
    +
    45 parent[i] = i;
    +
    46 connected_set_size[i] = 1;
    +
    47 }
    +
    48}
    +
    +
    +
    54int64_t find_set(int64_t val) {
    +
    55 while (parent[val] != val) {
    +
    56 parent[val] = parent[parent[val]];
    +
    57 val = parent[val];
    +
    58 }
    +
    59 return val;
    +
    60}
    +
    +
    +
    67void union_sets(int64_t node1, int64_t node2) {
    +
    68 node1 = find_set(node1); // find the parent of node1
    +
    69 node2 = find_set(node2); // find the parent of node2
    +
    70
    +
    71 // If parents of both nodes are not same, combine them
    +
    72 if (node1 != node2) {
    +
    73 if (connected_set_size[node1] < connected_set_size[node2]) {
    +
    74 std::swap(node1, node2); // swap both components
    +
    75 }
    +
    76 parent[node2] = node1; // make node1 as parent of node2.
    +
    77 connected_set_size[node1] +=
    +
    78 connected_set_size[node2]; // sum the size of both as they combined
    +
    79 }
    +
    80}
    +
    +
    + +
    86 std::set<int64_t> temp; // temp set to count number of connected components
    +
    87 for (uint32_t i = 1; i <= number_of_nodes; i++) temp.insert(find_set(i));
    +
    88 return temp.size(); // return the size of temp set
    +
    89}
    +
    +
    90} // namespace disjoint_union
    +
    91} // namespace graph
    +
    92
    +
    +
    97static void test() {
    +
    98 namespace dsu = graph::disjoint_union;
    +
    99 std::cin >> dsu::number_of_nodes;
    +
    100 dsu::parent.resize(dsu::number_of_nodes + 1);
    +
    101 dsu::connected_set_size.resize(dsu::number_of_nodes + 1);
    +
    102 dsu::make_set();
    +
    103 uint32_t edges = 0;
    +
    104 std::cin >> edges; // no of edges in the graph
    +
    105 while (edges--) {
    +
    106 int64_t node_a = 0, node_b = 0;
    +
    107 std::cin >> node_a >> node_b;
    +
    108 dsu::union_sets(node_a, node_b);
    +
    109 }
    +
    110 std::cout << dsu::no_of_connected_components() << std::endl;
    +
    111}
    +
    +
    112
    +
    +
    117int main() {
    +
    118 test(); // Execute the tests
    +
    119 return 0;
    +
    120}
    +
    +
    Disjoint sets union data structure, class based representation.
    +
    int64_t find_set(int64_t val)
    Find the component where following node belongs to.
    +
    void union_sets(int64_t node1, int64_t node2)
    Merge 2 components to become one.
    +
    static void test()
    Test Implementations.
    +
    uint32_t no_of_connected_components()
    Find total no. of connected components.
    +
    int main()
    Main function.
    +
    void make_set()
    function the initialize every node as it's own parent
    +
    Functions for Disjoint union implementation.
    +
    Graph Algorithms.
    +
    +
    + + + + diff --git a/d8/d9a/fast__fourier__transform_8cpp.html b/d8/d9a/fast__fourier__transform_8cpp.html index f3124e3f7..29cdb20c4 100644 --- a/d8/d9a/fast__fourier__transform_8cpp.html +++ b/d8/d9a/fast__fourier__transform_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: numerical_methods/fast_fourier_transform.cpp File Reference +TheAlgorithms/C++: numerical_methods/fast_fourier_transform.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -124,7 +141,9 @@ Include dependency graph for fast_fourier_transform.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -133,7 +152,7 @@ Namespaces

    Namespaces

    namespace  numerical_methods
    - + @@ -146,6 +165,8 @@ Functions

    Detailed Description

    A fast Fourier transform (FFT) is an algorithm that computes the discrete Fourier transform (DFT) of a sequence, or its inverse (IDFT).

    This algorithm has application in use case scenario where a user wants to find points of a function in a short time by just using the coefficients of the polynomial function. It can be also used to find inverse fourier transform by just switching the value of omega. Time complexity this algorithm computes the DFT in O(nlogn) time in comparison to traditional O(n^2).

    Author
    Ameya Chawla
    + +

    Definition in file fast_fourier_transform.cpp.

    Function Documentation

    ◆ main()

    @@ -175,18 +196,15 @@ Functions
    Returns
    0 on exit
    + +

    Definition at line 163 of file fast_fourier_transform.cpp.

    163 {
    164 test(); // run self-test implementations
    165 // with 2 defined test cases
    166 return 0;
    167}
    -
    static void test()
    Self-test implementations.
    Definition fast_fourier_transform.cpp:105
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static void test()
    Self-test implementations.
    + @@ -222,11 +240,13 @@ Here is the call graph for this function:

    Temporary variable used to delete memory location of o2

    Comparing for both real and imaginary values for test case 1

    Comparing for both real and imaginary values for test case 2

    + +

    Definition at line 105 of file fast_fourier_transform.cpp.

    105 {
    106 /* descriptions of the following test */
    107
    -
    108 auto *t1 = new std::complex<double>[2]; /// Test case 1
    -
    109 auto *t2 = new std::complex<double>[4]; /// Test case 2
    +
    108 auto *t1 = new std::complex<double>[2];
    +
    109 auto *t2 = new std::complex<double>[4];
    110
    111 t1[0] = {1, 0};
    112 t1[1] = {2, 0};
    @@ -237,52 +257,40 @@ Here is the call graph for this function:
    117
    118 uint8_t n1 = 2;
    119 uint8_t n2 = 4;
    - -
    121 {3, 0}, {-1, 0}}; /// True Answer for test case 1
    +
    120 std::vector<std::complex<double>> r1 = {
    +
    121 {3, 0}, {-1, 0}};
    122
    - -
    124 {10, 0}, {-2, -2}, {-2, 0}, {-2, 2}}; /// True Answer for test case 2
    +
    123 std::vector<std::complex<double>> r2 = {
    +
    124 {10, 0}, {-2, -2}, {-2, 0}, {-2, 2}};
    125
    - - -
    128 o1; /// Temporary variable used to delete memory location of o1
    - - -
    131 o2; /// Temporary variable used to delete memory location of o2
    +
    126 std::complex<double> *o1 = numerical_methods::FastFourierTransform(t1, n1);
    +
    127 std::complex<double> *t3 =
    +
    128 o1;
    +
    129 std::complex<double> *o2 = numerical_methods::FastFourierTransform(t2, n2);
    +
    130 std::complex<double> *t4 =
    +
    131 o2;
    132 for (uint8_t i = 0; i < n1; i++) {
    -
    133 assert((r1[i].real() - o1->real() < 0.000000000001) &&
    -
    134 (r1[i].imag() - o1->imag() <
    -
    135 0.000000000001)); /// Comparing for both real and imaginary
    -
    136 /// values for test case 1
    -
    137 o1++;
    +
    133 assert((r1[i].real() - o1->real() < 0.000000000001) &&
    +
    134 (r1[i].imag() - o1->imag() <
    +
    135 0.000000000001));
    +
    137 o1++;
    138 }
    139
    140 for (uint8_t i = 0; i < n2; i++) {
    -
    141 assert((r2[i].real() - o2->real() < 0.000000000001) &&
    -
    142 (r2[i].imag() - o2->imag() <
    -
    143 0.000000000001)); /// Comparing for both real and imaginary
    -
    144 /// values for test case 2
    -
    145 o2++;
    +
    141 assert((r2[i].real() - o2->real() < 0.000000000001) &&
    +
    142 (r2[i].imag() - o2->imag() <
    +
    143 0.000000000001));
    +
    145 o2++;
    146 }
    147
    148 delete[] t1;
    149 delete[] t2;
    150 delete[] t3;
    151 delete[] t4;
    -
    152 std::cout << "All tests have successfully passed!\n";
    +
    152 std::cout << "All tests have successfully passed!\n";
    153}
    - - -
    T imag(T... args)
    -
    std::complex< double > * FastFourierTransform(std::complex< double > *p, uint8_t n)
    FastFourierTransform is a recursive function which returns list of complex numbers.
    Definition fast_fourier_transform.cpp:42
    -
    T real(T... args)
    - -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    std::complex< double > * FastFourierTransform(std::complex< double > *p, uint8_t n)
    FastFourierTransform is a recursive function which returns list of complex numbers.
    + diff --git a/d8/d9a/fast__fourier__transform_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map b/d8/d9a/fast__fourier__transform_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map deleted file mode 100644 index 0dc0e2e63..000000000 --- a/d8/d9a/fast__fourier__transform_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/d8/d9a/fast__fourier__transform_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 b/d8/d9a/fast__fourier__transform_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 deleted file mode 100644 index 3f5e133a8..000000000 --- a/d8/d9a/fast__fourier__transform_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -ddb5c97f4156b72bf6856236bb686e1a \ No newline at end of file diff --git a/d8/d9a/fast__fourier__transform_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg b/d8/d9a/fast__fourier__transform_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg deleted file mode 100644 index a7f66da26..000000000 --- a/d8/d9a/fast__fourier__transform_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg +++ /dev/null @@ -1,111 +0,0 @@ - - - - - - - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -numerical_methods:: -FastFourierTransform - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::complex::imag - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::complex::real - - - - - -Node1->Node4 - - - - - - - - -Node2->Node2 - - - - - - - - - - - - - diff --git a/d8/d9a/fast__fourier__transform_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg b/d8/d9a/fast__fourier__transform_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg deleted file mode 100644 index ca7a605ff..000000000 --- a/d8/d9a/fast__fourier__transform_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg +++ /dev/null @@ -1,85 +0,0 @@ - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -numerical_methods:: -FastFourierTransform - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::complex::imag - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::complex::real - - - - - -Node1->Node4 - - - - - - - - -Node2->Node2 - - - - - - - - diff --git a/d8/d9a/fast__fourier__transform_8cpp_abf9e6b7e6f15df4b525a2e7705ba3089_cgraph.map b/d8/d9a/fast__fourier__transform_8cpp_abf9e6b7e6f15df4b525a2e7705ba3089_cgraph.map deleted file mode 100644 index ee4ce846c..000000000 --- a/d8/d9a/fast__fourier__transform_8cpp_abf9e6b7e6f15df4b525a2e7705ba3089_cgraph.map +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - - - diff --git a/d8/d9a/fast__fourier__transform_8cpp_abf9e6b7e6f15df4b525a2e7705ba3089_cgraph.md5 b/d8/d9a/fast__fourier__transform_8cpp_abf9e6b7e6f15df4b525a2e7705ba3089_cgraph.md5 deleted file mode 100644 index 1fbaadcf9..000000000 --- a/d8/d9a/fast__fourier__transform_8cpp_abf9e6b7e6f15df4b525a2e7705ba3089_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -8de2d4e4d72b217209b5449e673fbff0 \ No newline at end of file diff --git a/d8/d9a/fast__fourier__transform_8cpp_abf9e6b7e6f15df4b525a2e7705ba3089_cgraph.svg b/d8/d9a/fast__fourier__transform_8cpp_abf9e6b7e6f15df4b525a2e7705ba3089_cgraph.svg deleted file mode 100644 index 9a6b8ba96..000000000 --- a/d8/d9a/fast__fourier__transform_8cpp_abf9e6b7e6f15df4b525a2e7705ba3089_cgraph.svg +++ /dev/null @@ -1,129 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -numerical_methods:: -FastFourierTransform - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::complex::imag - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -std::complex::real - - - - - -Node2->Node5 - - - - - - - - -Node3->Node3 - - - - - - - - - - - - - diff --git a/d8/d9a/fast__fourier__transform_8cpp_abf9e6b7e6f15df4b525a2e7705ba3089_cgraph_org.svg b/d8/d9a/fast__fourier__transform_8cpp_abf9e6b7e6f15df4b525a2e7705ba3089_cgraph_org.svg deleted file mode 100644 index 911885206..000000000 --- a/d8/d9a/fast__fourier__transform_8cpp_abf9e6b7e6f15df4b525a2e7705ba3089_cgraph_org.svg +++ /dev/null @@ -1,103 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -numerical_methods:: -FastFourierTransform - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::complex::imag - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -std::complex::real - - - - - -Node2->Node5 - - - - - - - - -Node3->Node3 - - - - - - - - diff --git a/d8/d9a/fast__fourier__transform_8cpp_source.html b/d8/d9a/fast__fourier__transform_8cpp_source.html new file mode 100644 index 000000000..4bbcfa7bc --- /dev/null +++ b/d8/d9a/fast__fourier__transform_8cpp_source.html @@ -0,0 +1,265 @@ + + + + + + + + +TheAlgorithms/C++: numerical_methods/fast_fourier_transform.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    +

    Functions

    std::complex< double > * numerical_methods::FastFourierTransform (std::complex< double > *p, uint8_t n)
    std::complex< double > * numerical_methods::FastFourierTransform (std::complex< double > *p, uint8_t n)
     FastFourierTransform is a recursive function which returns list of complex numbers.
     
    static void test ()
    + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + + +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    fast_fourier_transform.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    22#include <cassert>
    +
    23#include <cmath>
    +
    24#include <complex>
    +
    25#include <cstdint>
    +
    26#include <iostream>
    +
    27#include <vector>
    +
    28
    +
    33namespace numerical_methods {
    +
    +
    42std::complex<double> *FastFourierTransform(std::complex<double> *p, uint8_t n) {
    +
    43 if (n == 1) {
    +
    44 return p;
    +
    45 }
    +
    46
    +
    47 double pi = 2 * asin(1.0);
    +
    48
    +
    49 std::complex<double> om = std::complex<double>(
    +
    50 cos(2 * pi / n), sin(2 * pi / n));
    +
    51
    +
    52 auto *pe = new std::complex<double>[n / 2];
    +
    53
    +
    54 auto *po = new std::complex<double>[n / 2];
    +
    55
    +
    56 int k1 = 0, k2 = 0;
    +
    57 for (int j = 0; j < n; j++) {
    +
    58 if (j % 2 == 0) {
    +
    59 pe[k1++] = p[j];
    +
    60
    +
    61 } else {
    +
    62 po[k2++] = p[j];
    +
    63 }
    +
    64 }
    +
    65
    +
    66 std::complex<double> *ye =
    +
    67 FastFourierTransform(pe, n / 2);
    +
    68
    +
    69 std::complex<double> *yo =
    +
    70 FastFourierTransform(po, n / 2);
    +
    71
    +
    72 auto *y = new std::complex<double>[n];
    +
    73
    +
    74 k1 = 0, k2 = 0;
    +
    75
    +
    76 for (int i = 0; i < n / 2; i++) {
    +
    77 y[i] =
    +
    78 ye[k1] + pow(om, i) * yo[k2];
    +
    79 y[i + n / 2] =
    +
    80 ye[k1] - pow(om, i) * yo[k2];
    +
    81
    +
    82 k1++;
    +
    83 k2++;
    +
    84 }
    +
    85
    +
    86 if (n != 2) {
    +
    87 delete[] pe;
    +
    88 delete[] po;
    +
    89 }
    +
    90
    +
    91 delete[] ye;
    +
    92 delete[] yo;
    +
    93 return y;
    +
    94}
    +
    +
    95
    +
    96} // namespace numerical_methods
    +
    97
    +
    +
    105static void test() {
    +
    106 /* descriptions of the following test */
    +
    107
    +
    108 auto *t1 = new std::complex<double>[2];
    +
    109 auto *t2 = new std::complex<double>[4];
    +
    110
    +
    111 t1[0] = {1, 0};
    +
    112 t1[1] = {2, 0};
    +
    113 t2[0] = {1, 0};
    +
    114 t2[1] = {2, 0};
    +
    115 t2[2] = {3, 0};
    +
    116 t2[3] = {4, 0};
    +
    117
    +
    118 uint8_t n1 = 2;
    +
    119 uint8_t n2 = 4;
    +
    120 std::vector<std::complex<double>> r1 = {
    +
    121 {3, 0}, {-1, 0}};
    +
    122
    +
    123 std::vector<std::complex<double>> r2 = {
    +
    124 {10, 0}, {-2, -2}, {-2, 0}, {-2, 2}};
    +
    125
    +
    126 std::complex<double> *o1 = numerical_methods::FastFourierTransform(t1, n1);
    +
    127 std::complex<double> *t3 =
    +
    128 o1;
    +
    129 std::complex<double> *o2 = numerical_methods::FastFourierTransform(t2, n2);
    +
    130 std::complex<double> *t4 =
    +
    131 o2;
    +
    132 for (uint8_t i = 0; i < n1; i++) {
    +
    133 assert((r1[i].real() - o1->real() < 0.000000000001) &&
    +
    134 (r1[i].imag() - o1->imag() <
    +
    135 0.000000000001));
    +
    137 o1++;
    +
    138 }
    +
    139
    +
    140 for (uint8_t i = 0; i < n2; i++) {
    +
    141 assert((r2[i].real() - o2->real() < 0.000000000001) &&
    +
    142 (r2[i].imag() - o2->imag() <
    +
    143 0.000000000001));
    +
    145 o2++;
    +
    146 }
    +
    147
    +
    148 delete[] t1;
    +
    149 delete[] t2;
    +
    150 delete[] t3;
    +
    151 delete[] t4;
    +
    152 std::cout << "All tests have successfully passed!\n";
    +
    153}
    +
    +
    154
    +
    +
    163int main(int argc, char const *argv[]) {
    +
    164 test(); // run self-test implementations
    +
    165 // with 2 defined test cases
    +
    166 return 0;
    +
    167}
    +
    +
    static void test()
    Self-test implementations.
    +
    int main()
    Main function.
    + +
    std::complex< double > * FastFourierTransform(std::complex< double > *p, uint8_t n)
    FastFourierTransform is a recursive function which returns list of complex numbers.
    +
    +
    + + + + diff --git a/d8/d9c/union__of__two__arrays_8cpp.html b/d8/d9c/union__of__two__arrays_8cpp.html index ddf33eb3b..e484759e1 100644 --- a/d8/d9c/union__of__two__arrays_8cpp.html +++ b/d8/d9c/union__of__two__arrays_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: operations_on_datastructures/union_of_two_arrays.cpp File Reference +TheAlgorithms/C++: operations_on_datastructures/union_of_two_arrays.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -122,11 +139,13 @@ Include dependency graph for union_of_two_arrays.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    - + @@ -134,10 +153,10 @@ Namespaces

    Namespaces

    namespace  operations_on_datastructures
     for std::vector
     for std::vector
     
    namespace  tests
     Testcases to check Union of Two Arrays.
    - + - + @@ -156,7 +175,7 @@ Functions - + @@ -169,6 +188,8 @@ Functions

    Implementation for the Union of two sorted Arrays algorithm.

    The Union of two arrays is the collection of all the unique elements in the first array, combined with all of the unique elements of a second array. This implementation uses ordered arrays, and an algorithm to correctly order them and return the result as a new array (vector).

    See also
    intersection_of_two_arrays.cpp
    Author
    Alvin
    + +

    Definition in file union_of_two_arrays.cpp.

    Function Documentation

    ◆ main()

    @@ -187,17 +208,14 @@ Functions

    main function

    Returns
    0 on exit
    + +

    Definition at line 217 of file union_of_two_arrays.cpp.

    217 {
    218 test(); // run self-test implementations
    219 return 0;
    220}
    -
    static void test()
    Function to test the correctness of get_union() function.
    Definition union_of_two_arrays.cpp:204
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static void test()
    Function to test the correctness of get_union() function.
    + @@ -225,6 +243,8 @@ Here is the call graph for this function:

    Function to test the correctness of get_union() function.

    Returns
    void
    + +

    Definition at line 204 of file union_of_two_arrays.cpp.

    204 {
    205 tests::test1();
    206 tests::test2();
    @@ -233,18 +253,13 @@ Here is the call graph for this function:
    209 tests::test5();
    210 tests::test6();
    211}
    -
    void test1()
    A Test to check an simple case.
    Definition array_left_rotation.cpp:75
    -
    void test4()
    A Test to check a very large input.
    Definition array_left_rotation.cpp:120
    -
    void test3()
    A Test to check an invalid shift value.
    Definition array_left_rotation.cpp:105
    -
    void test6()
    A Test to check correct functionality with an array sorted using std::sort.
    Definition intersection_of_two_arrays.cpp:166
    -
    void test2()
    A Test to check an empty vector.
    Definition array_left_rotation.cpp:90
    -
    void test5()
    A Test to check a shift of zero.
    Definition array_left_rotation.cpp:143
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    void test1()
    A Test to check an simple case.
    +
    void test4()
    A Test to check a very large input.
    +
    void test3()
    A Test to check an invalid shift value.
    +
    void test6()
    A Test to check correct functionality with an array sorted using std::sort.
    +
    void test2()
    A Test to check an empty vector.
    +
    void test5()
    A Test to check a shift of zero.
    + diff --git a/d8/d9c/union__of__two__arrays_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map b/d8/d9c/union__of__two__arrays_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map deleted file mode 100644 index 8703c28c0..000000000 --- a/d8/d9c/union__of__two__arrays_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d8/d9c/union__of__two__arrays_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 b/d8/d9c/union__of__two__arrays_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 deleted file mode 100644 index fb8034549..000000000 --- a/d8/d9c/union__of__two__arrays_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -ec51de2ee5150c88c0701ac471df0639 \ No newline at end of file diff --git a/d8/d9c/union__of__two__arrays_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg b/d8/d9c/union__of__two__arrays_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg deleted file mode 100644 index 88bf2e190..000000000 --- a/d8/d9c/union__of__two__arrays_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg +++ /dev/null @@ -1,227 +0,0 @@ - - - - - - - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -tests::test1 - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -tests::test2 - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -tests::test3 - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -tests::test4 - - - - - -Node1->Node5 - - - - - - - - -Node7 - - -tests::test5 - - - - - -Node1->Node7 - - - - - - - - -Node8 - - -tests::test6 - - - - - -Node1->Node8 - - - - - - - - -Node6 - - -std::vector::push_back - - - - - -Node5->Node6 - - - - - - - - -Node9 - - -std::vector::begin - - - - - -Node8->Node9 - - - - - - - - -Node10 - - -std::vector::end - - - - - -Node8->Node10 - - - - - - - - -Node11 - - -std::sort - - - - - -Node8->Node11 - - - - - - - - - - - - - diff --git a/d8/d9c/union__of__two__arrays_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg b/d8/d9c/union__of__two__arrays_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg deleted file mode 100644 index d7139cbb1..000000000 --- a/d8/d9c/union__of__two__arrays_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg +++ /dev/null @@ -1,201 +0,0 @@ - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -tests::test1 - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -tests::test2 - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -tests::test3 - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -tests::test4 - - - - - -Node1->Node5 - - - - - - - - -Node7 - - -tests::test5 - - - - - -Node1->Node7 - - - - - - - - -Node8 - - -tests::test6 - - - - - -Node1->Node8 - - - - - - - - -Node6 - - -std::vector::push_back - - - - - -Node5->Node6 - - - - - - - - -Node9 - - -std::vector::begin - - - - - -Node8->Node9 - - - - - - - - -Node10 - - -std::vector::end - - - - - -Node8->Node10 - - - - - - - - -Node11 - - -std::sort - - - - - -Node8->Node11 - - - - - - - - diff --git a/d8/d9c/union__of__two__arrays_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d8/d9c/union__of__two__arrays_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 1b5211e53..000000000 --- a/d8/d9c/union__of__two__arrays_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d8/d9c/union__of__two__arrays_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d8/d9c/union__of__two__arrays_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index 5c86e2e06..000000000 --- a/d8/d9c/union__of__two__arrays_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -3b19e58a0fa55b11752155d23f96a95b \ No newline at end of file diff --git a/d8/d9c/union__of__two__arrays_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d8/d9c/union__of__two__arrays_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 4494363bb..000000000 --- a/d8/d9c/union__of__two__arrays_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,245 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -tests::test1 - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -tests::test2 - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -tests::test3 - - - - - -Node2->Node5 - - - - - - - - -Node6 - - -tests::test4 - - - - - -Node2->Node6 - - - - - - - - -Node8 - - -tests::test5 - - - - - -Node2->Node8 - - - - - - - - -Node9 - - -tests::test6 - - - - - -Node2->Node9 - - - - - - - - -Node7 - - -std::vector::push_back - - - - - -Node6->Node7 - - - - - - - - -Node10 - - -std::vector::begin - - - - - -Node9->Node10 - - - - - - - - -Node11 - - -std::vector::end - - - - - -Node9->Node11 - - - - - - - - -Node12 - - -std::sort - - - - - -Node9->Node12 - - - - - - - - - - - - - diff --git a/d8/d9c/union__of__two__arrays_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d8/d9c/union__of__two__arrays_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 75a65c1e1..000000000 --- a/d8/d9c/union__of__two__arrays_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,219 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -tests::test1 - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -tests::test2 - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -tests::test3 - - - - - -Node2->Node5 - - - - - - - - -Node6 - - -tests::test4 - - - - - -Node2->Node6 - - - - - - - - -Node8 - - -tests::test5 - - - - - -Node2->Node8 - - - - - - - - -Node9 - - -tests::test6 - - - - - -Node2->Node9 - - - - - - - - -Node7 - - -std::vector::push_back - - - - - -Node6->Node7 - - - - - - - - -Node10 - - -std::vector::begin - - - - - -Node9->Node10 - - - - - - - - -Node11 - - -std::vector::end - - - - - -Node9->Node11 - - - - - - - - -Node12 - - -std::sort - - - - - -Node9->Node12 - - - - - - - - diff --git a/d8/d9c/union__of__two__arrays_8cpp_source.html b/d8/d9c/union__of__two__arrays_8cpp_source.html new file mode 100644 index 000000000..a1e18984c --- /dev/null +++ b/d8/d9c/union__of__two__arrays_8cpp_source.html @@ -0,0 +1,306 @@ + + + + + + + + +TheAlgorithms/C++: operations_on_datastructures/union_of_two_arrays.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    +

    Functions

    void operations_on_datastructures::print (const std::vector< int32_t > &array)
    void operations_on_datastructures::print (const std::vector< int32_t > &array)
     Prints the values of a vector sequentially, ending with a newline character.
     
    std::vector< int32_t > operations_on_datastructures::get_union (const std::vector< int32_t > &first, const std::vector< int32_t > &second)
    std::vector< int32_t > operations_on_datastructures::get_union (const std::vector< int32_t > &first, const std::vector< int32_t > &second)
     Gets the union of two sorted arrays, and returns them in a vector.
     
    void tests::test1 ()
     A Test to check a shift of zero.
     
    void tests::test6 ()
     A Test to check correct functionality with an array sorted using std::sort.
     A Test to check correct functionality with an array sorted using std::sort.
     
    static void test ()
     Function to test the correctness of get_union() function.
    + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + + +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    union_of_two_arrays.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    14#include <algorithm>
    +
    15#include <cassert>
    +
    16#include <iostream>
    +
    17#include <vector>
    +
    18
    + +
    24
    +
    31void print(const std::vector<int32_t> &array) {
    +
    32 for (int32_t i : array) {
    +
    33 std::cout << i << " ";
    +
    34 }
    +
    35 std::cout << "\n";
    +
    36}
    +
    37
    +
    +
    49std::vector<int32_t> get_union(const std::vector<int32_t> &first,
    +
    50 const std::vector<int32_t> &second) {
    +
    51 std::vector<int32_t> res;
    +
    52 size_t f_index = 0;
    +
    53 size_t s_index = 0;
    +
    54 size_t f_length = first.size();
    +
    55 size_t s_length = second.size();
    +
    56 int32_t next = 0;
    +
    57
    +
    58 while (f_index < f_length && s_index < s_length) {
    +
    59 if (first[f_index] < second[s_index]) {
    +
    60 next = first[f_index];
    +
    61 f_index++;
    +
    62 } else if (first[f_index] > second[s_index]) {
    +
    63 next = second[s_index];
    +
    64 s_index++;
    +
    65 } else {
    +
    66 next = first[f_index];
    +
    67 f_index++;
    +
    68 s_index++;
    +
    69 }
    +
    70 if ((res.size() == 0) || (next != res.back())) {
    +
    71 res.push_back(next);
    +
    72 }
    +
    73 }
    +
    74 while (f_index < f_length) {
    +
    75 next = first[f_index];
    +
    76 if ((res.size() == 0) || (next != res.back())) {
    +
    77 res.push_back(next);
    +
    78 }
    +
    79 f_index++;
    +
    80 }
    +
    81 while (s_index < s_length) {
    +
    82 next = second[s_index];
    +
    83 if ((res.size() == 0) || (next != res.back())) {
    +
    84 res.push_back(next);
    +
    85 }
    +
    86 s_index++;
    +
    87 }
    +
    88 return res;
    +
    89}
    +
    +
    90
    +
    91} // namespace operations_on_datastructures
    +
    92
    +
    97namespace tests {
    + + +
    104void test1() {
    +
    105 std::cout << "TEST CASE 1\n";
    +
    106 std::cout << "Intialized a = {} b = {}\n";
    +
    107 std::cout << "Expected result: {}\n";
    +
    108 std::vector<int32_t> a = {};
    +
    109 std::vector<int32_t> b = {};
    +
    110 std::vector<int32_t> result = get_union(a, b);
    +
    111 assert(result == a);
    +
    112 print(result);
    +
    113 std::cout << "TEST PASSED!\n\n";
    +
    114}
    +
    119void test2() {
    +
    120 std::cout << "TEST CASE 2\n";
    +
    121 std::cout << "Intialized a = {} b = {2, 3}\n";
    +
    122 std::cout << "Expected result: {2, 3}\n";
    +
    123 std::vector<int32_t> a = {};
    +
    124 std::vector<int32_t> b = {2, 3};
    +
    125 std::vector<int32_t> result = get_union(a, b);
    +
    126 assert(result == b);
    +
    127 print(result);
    +
    128 std::cout << "TEST PASSED!\n\n";
    +
    129}
    +
    134void test3() {
    +
    135 std::cout << "TEST CASE 3\n";
    +
    136 std::cout << "Intialized a = {4, 6} b = {2, 3}\n";
    +
    137 std::cout << "Expected result: {2, 3, 4, 6}\n";
    +
    138 std::vector<int32_t> a = {4, 6};
    +
    139 std::vector<int32_t> b = {2, 3};
    +
    140 std::vector<int32_t> result = get_union(a, b);
    +
    141 std::vector<int32_t> expected = {2, 3, 4, 6};
    +
    142 assert(result == expected);
    +
    143 print(result);
    +
    144 std::cout << "TEST PASSED!\n\n";
    +
    145}
    +
    150void test4() {
    +
    151 std::cout << "TEST CASE 4\n";
    +
    152 std::cout << "Intialized a = {4, 6, 6, 7} b = {2, 3, 4}\n";
    +
    153 std::cout << "Expected result: {2, 3, 4, 6, 7}\n";
    +
    154 std::vector<int32_t> a = {4, 6, 6, 7};
    +
    155 std::vector<int32_t> b = {2, 3, 4};
    +
    156 std::vector<int32_t> result = get_union(a, b);
    +
    157 std::vector<int32_t> expected = {2, 3, 4, 6, 7};
    +
    158 assert(result == expected);
    +
    159 print(result);
    +
    160 std::cout << "TEST PASSED!\n\n";
    +
    161}
    +
    166void test5() {
    +
    167 std::cout << "TEST CASE 5\n";
    +
    168 std::cout << "Intialized a = {1, 4, 6, 7, 9} b = {2, 3, 5}\n";
    +
    169 std::cout << "Expected result: {1, 2, 3, 4, 5, 6, 7, 9}\n";
    +
    170 std::vector<int32_t> a = {1, 4, 6, 7, 9};
    +
    171 std::vector<int32_t> b = {2, 3, 5};
    +
    172 std::vector<int32_t> result = get_union(a, b);
    +
    173 std::vector<int32_t> expected = {1, 2, 3, 4, 5, 6, 7, 9};
    +
    174 assert(result == expected);
    +
    175 print(result);
    +
    176 std::cout << "TEST PASSED!\n\n";
    +
    177}
    +
    183void test6() {
    +
    184 std::cout << "TEST CASE 6\n";
    +
    185 std::cout << "Intialized a = {1, 3, 3, 2, 5, 9, 4, 3, 2} ";
    +
    186 std::cout << "b = {11, 3, 7, 8, 6}\n";
    +
    187 std::cout << "Expected result: {1, 2, 3, 4, 5, 6, 7, 8, 9, 11}\n";
    +
    188 std::vector<int32_t> a = {1, 3, 3, 2, 5, 9, 4, 3, 2};
    +
    189 std::vector<int32_t> b = {11, 3, 7, 8, 6};
    +
    190 std::sort(a.begin(), a.end());
    +
    191 std::sort(b.begin(), b.end());
    +
    192 std::vector<int32_t> result = get_union(a, b);
    +
    193 std::vector<int32_t> expected = {1, 2, 3, 4, 5, 6, 7, 8, 9, 11};
    +
    194 assert(result == expected);
    +
    195 print(result);
    +
    196 std::cout << "TEST PASSED!\n\n";
    +
    197}
    +
    198} // namespace tests
    +
    199
    +
    +
    204static void test() {
    +
    205 tests::test1();
    +
    206 tests::test2();
    +
    207 tests::test3();
    +
    208 tests::test4();
    +
    209 tests::test5();
    +
    210 tests::test6();
    +
    211}
    +
    +
    212
    +
    +
    217int main() {
    +
    218 test(); // run self-test implementations
    +
    219 return 0;
    +
    220}
    +
    +
    uint64_t result(uint64_t n)
    + +
    std::vector< int32_t > get_union(const std::vector< int32_t > &first, const std::vector< int32_t > &second)
    Gets the union of two sorted arrays, and returns them in a vector.
    +
    void print(const std::vector< int32_t > &array)
    Prints the values of a vector sequentially, ending with a newline character.
    +
    Testcases to check Union of Two Arrays.
    +
    void test1()
    A Test to check an simple case.
    +
    void test4()
    A Test to check a very large input.
    +
    void test3()
    A Test to check an invalid shift value.
    +
    void test6()
    A Test to check correct functionality with an array sorted using std::sort.
    +
    void test2()
    A Test to check an empty vector.
    +
    void test5()
    A Test to check a shift of zero.
    +
    static void test()
    Function to test the correctness of get_union() function.
    +
    int main()
    main function
    +
    +
    + + + + diff --git a/d8/d9f/namespacesudoku__solver.html b/d8/d9f/namespacesudoku__solver.html index 3d655eb61..0d1d0bb8d 100644 --- a/d8/d9f/namespacesudoku__solver.html +++ b/d8/d9f/namespacesudoku__solver.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: sudoku_solver Namespace Reference +TheAlgorithms/C++: sudoku_solver Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/d8/da6/classothers_1_1lru__cache_1_1_l_r_u_cache__coll__graph.map b/d8/da6/classothers_1_1lru__cache_1_1_l_r_u_cache__coll__graph.map index b38cd61d0..47f8e8940 100644 --- a/d8/da6/classothers_1_1lru__cache_1_1_l_r_u_cache__coll__graph.map +++ b/d8/da6/classothers_1_1lru__cache_1_1_l_r_u_cache__coll__graph.map @@ -1,11 +1,8 @@ - - - - - - - - - + + + + + + diff --git a/d8/da6/classothers_1_1lru__cache_1_1_l_r_u_cache__coll__graph.md5 b/d8/da6/classothers_1_1lru__cache_1_1_l_r_u_cache__coll__graph.md5 index 30f24567a..d26d64b66 100644 --- a/d8/da6/classothers_1_1lru__cache_1_1_l_r_u_cache__coll__graph.md5 +++ b/d8/da6/classothers_1_1lru__cache_1_1_l_r_u_cache__coll__graph.md5 @@ -1 +1 @@ -a3d8e3dd630e72b65cb3157fc1aecb99 \ No newline at end of file +80611d2e827984b41f8e4f112586624a \ No newline at end of file diff --git a/d8/da6/classothers_1_1lru__cache_1_1_l_r_u_cache__coll__graph.svg b/d8/da6/classothers_1_1lru__cache_1_1_l_r_u_cache__coll__graph.svg index 1aa6616ad..c7eb10cf0 100644 --- a/d8/da6/classothers_1_1lru__cache_1_1_l_r_u_cache__coll__graph.svg +++ b/d8/da6/classothers_1_1lru__cache_1_1_l_r_u_cache__coll__graph.svg @@ -4,9 +4,10 @@ - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + others::lru_cache::LRUCache Node1 - -others::lru_cache:: -LRUCache + +others::lru_cache:: +LRUCache Node2 - - -std::list< uint64_t > + + +std::list< uint64_t > @@ -78,95 +42,45 @@ var sectionId = 'dynsection-0'; Node2->Node1 - - + + - cache - - - -Node4 - - -std::unordered_map -< uint64_t, std::list -< uint64_t >::iterator > - - - - - -Node2->Node4 - - - - - - elements + cache Node3 - - -std::uint64_t + + +std::unordered_map +< uint64_t, std::list +< uint64_t >::iterator > - - -Node3->Node2 - - - + + +Node2->Node3 + + + - elements + elements - - -Node3->Node4 - - - + + +Node3->Node1 + + + - keys - - - -Node4->Node1 - - - - - - pageMap + pageMap - - - - - - - - - - - - - - - - - - @@ -5,10 +6,15 @@ -Algorithms_in_C++: depth_first_search Namespace Reference +TheAlgorithms/C++: depth_first_search Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/d8/dab/classstatistics_1_1stats__computer2.html b/d8/dab/classstatistics_1_1stats__computer2.html index 2048d99a1..34ddb4f8c 100644 --- a/d8/dab/classstatistics_1_1stats__computer2.html +++ b/d8/dab/classstatistics_1_1stats__computer2.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: statistics::stats_computer2< T > Class Template Reference +TheAlgorithms/C++: statistics::stats_computer2< T > Class Template Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + @@ -126,27 +143,25 @@ Public Member Functions
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    - + - + - + - +

    Private Attributes

    -unsigned int n = 0
    unsigned int n = 0
     
    -double mu = 0
    double mu = 0
     
    -double var = 0
    double var = 0
     
    -double M = 0
    double M = 0
     
    - +

    Friends

    std::istreamoperator>> (std::istream &input, stats_computer2 &stat)
    std::istream & operator>> (std::istream &input, stats_computer2 &stat)
     

    Detailed Description

    template<typename T>
    class statistics::stats_computer2< T >

    continuous mean and variance computance using Welford's algorithm (very accurate)

    + +

    Definition at line 72 of file realtime_stats.cpp.

    Member Function Documentation

    ◆ mean()

    @@ -173,6 +188,8 @@ template<typename T >

    return sample mean computed till last sample

    + +

    Definition at line 86 of file realtime_stats.cpp.

    86{ return mu; }
    @@ -207,6 +224,8 @@ template<typename T > + +

    Definition at line 77 of file realtime_stats.cpp.

    77 {
    78 n++;
    79 double delta = x - mu;
    @@ -242,15 +261,11 @@ template<typename T >

    return sample standard deviation computed till last sample

    -
    92{ return std::sqrt(this->variance()); }
    -
    double variance() const
    Definition realtime_stats.cpp:89
    -
    T sqrt(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    +

    Definition at line 92 of file realtime_stats.cpp.

    +
    92{ return std::sqrt(this->variance()); }
    + +
    @@ -278,6 +293,8 @@ template<typename T >

    return data variance computed till last sample

    + +

    Definition at line 89 of file realtime_stats.cpp.

    89{ return M / n; }
    @@ -295,9 +312,9 @@ template<typename T > - + - + @@ -312,19 +329,126 @@ template<typename T >
    std::istream & operator>> std::istream & operator>> (std::istream & input, std::istream & input,

    short-hand operator to read new sample from input stream
    - e.g.: std::cin >> stats1;

    + e.g.: std::cin >> stats1;

    + +

    Definition at line 97 of file realtime_stats.cpp.

    98 {
    99 T val;
    100 input >> val;
    101 stat.new_val(val);
    102 return input;
    103 }
    -
    void new_val(T x)
    Definition realtime_stats.cpp:77
    +
    +
    + +

    Member Data Documentation

    + +

    ◆ M

    + +
    +
    +
    +template<typename T >
    + + + + + +
    + + + + +
    double statistics::stats_computer2< T >::M = 0
    +
    +private
    +
    + +

    Definition at line 107 of file realtime_stats.cpp.

    + +
    +
    + +

    ◆ mu

    + +
    +
    +
    +template<typename T >
    + + + + + +
    + + + + +
    double statistics::stats_computer2< T >::mu = 0
    +
    +private
    +
    + +

    Definition at line 107 of file realtime_stats.cpp.

    + +
    +
    + +

    ◆ n

    + +
    +
    +
    +template<typename T >
    + + + + + +
    + + + + +
    unsigned int statistics::stats_computer2< T >::n = 0
    +
    +private
    +
    + +

    Definition at line 106 of file realtime_stats.cpp.

    + +
    +
    + +

    ◆ var

    + +
    +
    +
    +template<typename T >
    + + + + + +
    + + + + +
    double statistics::stats_computer2< T >::var = 0
    +
    +private
    +
    + +

    Definition at line 107 of file realtime_stats.cpp.

    +

    The documentation for this class was generated from the following file: diff --git a/d8/dab/classstatistics_1_1stats__computer2_acf2e84df4fc386bb3295016ef8fd156e_cgraph.map b/d8/dab/classstatistics_1_1stats__computer2_acf2e84df4fc386bb3295016ef8fd156e_cgraph.map deleted file mode 100644 index 715372092..000000000 --- a/d8/dab/classstatistics_1_1stats__computer2_acf2e84df4fc386bb3295016ef8fd156e_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/d8/dab/classstatistics_1_1stats__computer2_acf2e84df4fc386bb3295016ef8fd156e_cgraph.md5 b/d8/dab/classstatistics_1_1stats__computer2_acf2e84df4fc386bb3295016ef8fd156e_cgraph.md5 deleted file mode 100644 index baaabe646..000000000 --- a/d8/dab/classstatistics_1_1stats__computer2_acf2e84df4fc386bb3295016ef8fd156e_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -3638ec273694133aa6a7855251f35eb8 \ No newline at end of file diff --git a/d8/dab/classstatistics_1_1stats__computer2_acf2e84df4fc386bb3295016ef8fd156e_cgraph.svg b/d8/dab/classstatistics_1_1stats__computer2_acf2e84df4fc386bb3295016ef8fd156e_cgraph.svg deleted file mode 100644 index 55b493d1b..000000000 --- a/d8/dab/classstatistics_1_1stats__computer2_acf2e84df4fc386bb3295016ef8fd156e_cgraph.svg +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - - - - - -statistics::stats_computer2::std - - -Node1 - - -statistics::stats_computer2::std - - - - - -Node2 - - -std::sqrt - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -statistics::stats_computer2 -::variance - - - - - -Node1->Node3 - - - - - - - - - - - - - diff --git a/d8/dab/classstatistics_1_1stats__computer2_acf2e84df4fc386bb3295016ef8fd156e_cgraph_org.svg b/d8/dab/classstatistics_1_1stats__computer2_acf2e84df4fc386bb3295016ef8fd156e_cgraph_org.svg deleted file mode 100644 index a98bbb0c6..000000000 --- a/d8/dab/classstatistics_1_1stats__computer2_acf2e84df4fc386bb3295016ef8fd156e_cgraph_org.svg +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - -statistics::stats_computer2::std - - -Node1 - - -statistics::stats_computer2::std - - - - - -Node2 - - -std::sqrt - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -statistics::stats_computer2 -::variance - - - - - -Node1->Node3 - - - - - - - - diff --git a/d8/dab/sparse__table_8cpp.html b/d8/dab/sparse__table_8cpp.html index 05aaed288..22fd21538 100644 --- a/d8/dab/sparse__table_8cpp.html +++ b/d8/dab/sparse__table_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: data_structures/sparse_table.cpp File Reference +TheAlgorithms/C++: data_structures/sparse_table.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -124,7 +141,9 @@ Include dependency graph for sparse_table.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -153,9 +172,8 @@ Variables - - + +

    Classes

    struct  data_structures::sparse_table::Sparse_table
    constexpr uint32_t data_structures::sparse_table::N = 12345
     A struct to represent sparse table for min() as their invariant function, for the given array A. The answer to queries are stored in the array ST.
     
    -constexpr uint8_t data_structures::sparse_table::M = 14
     ceil(log2(N)).
    constexpr uint8_t data_structures::sparse_table::M = 14
     ceil(log2(N)).
     

    Detailed Description

    @@ -175,6 +193,8 @@ constexpr uint8_t data_str
  • Range Query : O(1)
  • + +

    Definition in file sparse_table.cpp.

    Function Documentation

    ◆ main()

    @@ -204,17 +224,14 @@ constexpr uint8_t data_str
    Returns
    0 on exit
    + +

    Definition at line 162 of file sparse_table.cpp.

    162 {
    163 test(); // run self-test implementations
    164 return 0;
    165}
    -
    static void test()
    Self-test implementations.
    Definition sparse_table.cpp:129
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static void test()
    Self-test implementations.
    + @@ -251,48 +268,65 @@ Here is the call graph for this function:

    < as 1 is smallest from 1..9

    < as 2 is smallest from 2..6

    < as 3 is smallest from 3..8

    + +

    Definition at line 129 of file sparse_table.cpp.

    129 {
    130 /* We take an array as an input on which we need to perform the ranged
    131 * minimum queries[RMQ](https://en.wikipedia.org/wiki/Range_minimum_query).
    132 */
    -
    133 std::array<int64_t, 10> testcase = {
    +
    133 std::array<int64_t, 10> testcase = {
    134 1, 2, 3, 4, 5,
    -
    135 6, 7, 8, 9, 10}; ///< array on which RMQ will be performed.
    +
    135 6, 7, 8, 9, 10};
    136 size_t testcase_size =
    -
    137 sizeof(testcase) / sizeof(testcase[0]); ///< size of self test's array
    +
    137 sizeof(testcase) / sizeof(testcase[0]);
    138
    -
    140 st{}; ///< declaring sparse tree
    +
    140 st{};
    141
    -
    142 std::copy(std::begin(testcase), std::end(testcase),
    -
    143 std::begin(st.A)); ///< copying array to the struct
    -
    144 st.n = testcase_size; ///< passing the array's size to the struct
    +
    142 std::copy(std::begin(testcase), std::end(testcase),
    +
    143 std::begin(st.A));
    +
    144 st.n = testcase_size;
    145
    -
    146 st.buildST(); ///< precomputing sparse tree
    +
    146 st.buildST();
    147
    148 // pass queries of the form: [l,r]
    -
    149 assert(st.query(1, 9) == 1); ///< as 1 is smallest from 1..9
    -
    150 assert(st.query(2, 6) == 2); ///< as 2 is smallest from 2..6
    -
    151 assert(st.query(3, 8) == 3); ///< as 3 is smallest from 3..8
    +
    149 assert(st.query(1, 9) == 1);
    +
    150 assert(st.query(2, 6) == 2);
    +
    151 assert(st.query(3, 8) == 3);
    152
    -
    153 std::cout << "Self-test implementations passed!" << std::endl;
    +
    153 std::cout << "Self-test implementations passed!" << std::endl;
    154}
    - - -
    T begin(T... args)
    -
    T copy(T... args)
    -
    T end(T... args)
    -
    T endl(T... args)
    -
    Definition sparse_table.cpp:51
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + +

    Variable Documentation

    + +

    ◆ M

    + +
    +
    + + + + + +
    + + + + +
    uint8_t data_structures::sparse_table::M = 14
    +
    +constexpr
    +
    + +

    ceil(log2(N)).

    + +

    Definition at line 49 of file sparse_table.cpp.

    + +
    +

    ◆ N

    @@ -316,6 +350,8 @@ Here is the call graph for this function:

    A struct to represent sparse table for min() as their invariant function, for the given array A. The answer to queries are stored in the array ST.

    the maximum size of the array.

    +

    Definition at line 48 of file sparse_table.cpp.

    + diff --git a/d8/dab/sparse__table_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.map b/d8/dab/sparse__table_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.map deleted file mode 100644 index 0b8da185b..000000000 --- a/d8/dab/sparse__table_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.map +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - diff --git a/d8/dab/sparse__table_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.md5 b/d8/dab/sparse__table_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.md5 deleted file mode 100644 index 826e7a1ef..000000000 --- a/d8/dab/sparse__table_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -37093734509d96a8fecd4cff3a423f8e \ No newline at end of file diff --git a/d8/dab/sparse__table_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.svg b/d8/dab/sparse__table_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.svg deleted file mode 100644 index 537681c90..000000000 --- a/d8/dab/sparse__table_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.svg +++ /dev/null @@ -1,137 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::begin - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::copy - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -std::end - - - - - -Node2->Node5 - - - - - - - - -Node6 - - -std::endl - - - - - -Node2->Node6 - - - - - - - - - - - - - diff --git a/d8/dab/sparse__table_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph_org.svg b/d8/dab/sparse__table_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph_org.svg deleted file mode 100644 index ac19feb00..000000000 --- a/d8/dab/sparse__table_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph_org.svg +++ /dev/null @@ -1,111 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::begin - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::copy - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -std::end - - - - - -Node2->Node5 - - - - - - - - -Node6 - - -std::endl - - - - - -Node2->Node6 - - - - - - - - diff --git a/d8/dab/sparse__table_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map b/d8/dab/sparse__table_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map deleted file mode 100644 index 1c8bdf40a..000000000 --- a/d8/dab/sparse__table_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/d8/dab/sparse__table_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 b/d8/dab/sparse__table_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 deleted file mode 100644 index 150c62104..000000000 --- a/d8/dab/sparse__table_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -acd42c1201f0e2f16635373df7f51fb9 \ No newline at end of file diff --git a/d8/dab/sparse__table_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg b/d8/dab/sparse__table_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg deleted file mode 100644 index 3fa2bb7bf..000000000 --- a/d8/dab/sparse__table_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg +++ /dev/null @@ -1,119 +0,0 @@ - - - - - - - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -std::begin - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::copy - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::end - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::endl - - - - - -Node1->Node5 - - - - - - - - - - - - - diff --git a/d8/dab/sparse__table_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg b/d8/dab/sparse__table_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg deleted file mode 100644 index 39bb9e9c6..000000000 --- a/d8/dab/sparse__table_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg +++ /dev/null @@ -1,93 +0,0 @@ - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -std::begin - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::copy - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::end - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::endl - - - - - -Node1->Node5 - - - - - - - - diff --git a/d8/dab/sparse__table_8cpp_source.html b/d8/dab/sparse__table_8cpp_source.html new file mode 100644 index 000000000..cb7408a9f --- /dev/null +++ b/d8/dab/sparse__table_8cpp_source.html @@ -0,0 +1,242 @@ + + + + + + + + +TheAlgorithms/C++: data_structures/sparse_table.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    sparse_table.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    25#include <array>
    +
    26#include <cassert>
    +
    27#include <cstdint>
    +
    28#include <iostream>
    +
    29
    +
    34namespace data_structures {
    +
    35
    +
    41namespace sparse_table {
    +
    42
    +
    48constexpr uint32_t N = 12345;
    +
    49constexpr uint8_t M = 14;
    +
    50
    +
    + +
    52 size_t n = 0;
    +
    53
    +
    57 std::array<int64_t, N> A = {};
    +
    58 std::array<std::array<int64_t, N>, M>
    +
    59 ST{};
    +
    60 std::array<int64_t, N> LOG = {};
    +
    61
    +
    69 void buildST() {
    +
    70 LOG[0] = -1;
    +
    71
    +
    72 for (size_t i = 0; i < n; ++i) {
    +
    73 ST[0][i] = static_cast<int64_t>(i);
    +
    74 LOG[i + 1] = LOG[i] + !(i & (i + 1));
    +
    75 }
    +
    76
    +
    77 for (size_t j = 1; static_cast<size_t>(1 << j) <= n; ++j) {
    +
    78 for (size_t i = 0; static_cast<size_t>(i + (1 << j)) <= n; ++i) {
    +
    88 int64_t x = ST[j - 1][i];
    +
    90 int64_t y =
    +
    91 ST[j - 1]
    +
    92 [i + (1 << (j - 1))];
    +
    94
    +
    95 ST[j][i] =
    +
    96 (A[x] <= A[y] ? x : y);
    +
    98 }
    +
    99 }
    +
    100 }
    +
    101
    +
    +
    110 int64_t query(int64_t l, int64_t r) {
    +
    111 int64_t g = LOG[r - l + 1];
    +
    112 int64_t x = ST[g][l];
    +
    114 int64_t y =
    +
    115 ST[g][r - (1 << g) + 1];
    +
    117
    +
    118 return (A[x] <= A[y] ? x : y);
    +
    120 }
    +
    +
    121};
    +
    +
    122} // namespace sparse_table
    +
    123} // namespace data_structures
    +
    124
    +
    +
    129static void test() {
    +
    130 /* We take an array as an input on which we need to perform the ranged
    +
    131 * minimum queries[RMQ](https://en.wikipedia.org/wiki/Range_minimum_query).
    +
    132 */
    +
    133 std::array<int64_t, 10> testcase = {
    +
    134 1, 2, 3, 4, 5,
    +
    135 6, 7, 8, 9, 10};
    +
    136 size_t testcase_size =
    +
    137 sizeof(testcase) / sizeof(testcase[0]);
    +
    138
    + +
    140 st{};
    +
    141
    +
    142 std::copy(std::begin(testcase), std::end(testcase),
    +
    143 std::begin(st.A));
    +
    144 st.n = testcase_size;
    +
    145
    +
    146 st.buildST();
    +
    147
    +
    148 // pass queries of the form: [l,r]
    +
    149 assert(st.query(1, 9) == 1);
    +
    150 assert(st.query(2, 6) == 2);
    +
    151 assert(st.query(3, 8) == 3);
    +
    152
    +
    153 std::cout << "Self-test implementations passed!" << std::endl;
    +
    154}
    +
    +
    155
    +
    +
    162int main(int argc, char *argv[]) {
    +
    163 test(); // run self-test implementations
    +
    164 return 0;
    +
    165}
    +
    +
    int main()
    Main function.
    +
    for IO operations
    +
    Functions for Implementation of Sparse Table
    +
    constexpr uint32_t N
    A struct to represent sparse table for min() as their invariant function, for the given array A....
    +
    static void test()
    Self-test implementations.
    +
    constexpr uint8_t M
    ceil(log2(N)).
    + +
    int64_t query(int64_t l, int64_t r)
    Queries the sparse table for the value of the interval [l, r] (i.e. from l to r inclusive).
    +
    std::array< int64_t, N > LOG
    where floor(log2(i)) are precomputed.
    +
    std::array< int64_t, N > A
    input array to perform RMQ.
    +
    std::array< std::array< int64_t, N >, M > ST
    the sparse table storing min() values for given interval.
    + +
    +
    + + + + diff --git a/d8/db1/binomial__calculate_8cpp.html b/d8/db1/binomial__calculate_8cpp.html index 0b1cdb02d..bf212159a 100644 --- a/d8/db1/binomial__calculate_8cpp.html +++ b/d8/db1/binomial__calculate_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: math/binomial_calculate.cpp File Reference +TheAlgorithms/C++: math/binomial_calculate.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -122,7 +139,9 @@ Include dependency graph for binomial_calculate.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -147,6 +166,8 @@ Functions

    Detailed Description

    Program to calculate Binomial coefficients

    Author
    astronmax
    + +

    Definition in file binomial_calculate.cpp.

    Function Documentation

    ◆ calculate()

    @@ -176,6 +197,8 @@ Functions
    Returns
    binomial coefficient for n and k
    + +

    Definition at line 32 of file binomial_calculate.cpp.

    32 {
    33 // basic cases
    34 if (k > (n / 2))
    @@ -193,14 +216,9 @@ Functions
    46
    47 return result;
    48}
    -
    double k(double x)
    Another test function.
    Definition composite_simpson_rule.cpp:117
    -
    uint64_t result(uint64_t n)
    Definition fibonacci_sum.cpp:77
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    double k(double x)
    Another test function.
    +
    uint64_t result(uint64_t n)
    + @@ -231,31 +249,25 @@ Here is the call graph for this function:
    Returns
    0 on exit
    + +

    Definition at line 79 of file binomial_calculate.cpp.

    79 {
    80 tests(); // run self-test implementations
    81
    82 if (argc < 3) {
    -
    83 std::cout << "Usage ./binomial_calculate {n} {k}" << std::endl;
    +
    83 std::cout << "Usage ./binomial_calculate {n} {k}" << std::endl;
    84 return 0;
    85 }
    86
    -
    87 int32_t n = atoi(argv[1]);
    -
    88 int32_t k = atoi(argv[2]);
    +
    87 int32_t n = atoi(argv[1]);
    +
    88 int32_t k = atoi(argv[2]);
    89
    - +
    90 std::cout << math::binomial::calculate(n, k) << std::endl;
    91 return 0;
    92}
    -
    T atoi(T... args)
    - -
    static void tests()
    Test implementations.
    Definition binomial_calculate.cpp:56
    -
    size_t calculate(int32_t n, int32_t k)
    Function to calculate binomial coefficients.
    Definition binomial_calculate.cpp:32
    -
    T endl(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static void tests()
    Test implementations.
    +
    size_t calculate(int32_t n, int32_t k)
    Function to calculate binomial coefficients.
    + @@ -283,6 +295,8 @@ Here is the call graph for this function:

    Test implementations.

    Returns
    void
    + +

    Definition at line 56 of file binomial_calculate.cpp.

    56 {
    57 // tests for calculate function
    58 assert(math::binomial::calculate(1, 1) == 1);
    @@ -296,15 +310,10 @@ Here is the call graph for this function:
    66 assert(math::binomial::calculate(60, 30) == 118264581564861424);
    67 assert(math::binomial::calculate(62, 31) == 465428353255261088);
    68
    -
    69 std::cout << "[+] Binomial coefficients calculate test completed"
    -
    70 << std::endl;
    +
    69 std::cout << "[+] Binomial coefficients calculate test completed"
    +
    70 << std::endl;
    71}
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + diff --git a/d8/db1/binomial__calculate_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.map b/d8/db1/binomial__calculate_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.map deleted file mode 100644 index 08c636e1a..000000000 --- a/d8/db1/binomial__calculate_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d8/db1/binomial__calculate_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 b/d8/db1/binomial__calculate_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 deleted file mode 100644 index f4d9f359b..000000000 --- a/d8/db1/binomial__calculate_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -a4e2557ea104e2239629762334e2cb58 \ No newline at end of file diff --git a/d8/db1/binomial__calculate_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.svg b/d8/db1/binomial__calculate_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.svg deleted file mode 100644 index af26a8e13..000000000 --- a/d8/db1/binomial__calculate_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -tests - - -Node1 - - -tests - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d8/db1/binomial__calculate_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph_org.svg b/d8/db1/binomial__calculate_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph_org.svg deleted file mode 100644 index 69e4346a3..000000000 --- a/d8/db1/binomial__calculate_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -tests - - -Node1 - - -tests - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - diff --git a/d8/db1/binomial__calculate_8cpp_aae407a2a13362c4c64fbe509ff325978_cgraph.map b/d8/db1/binomial__calculate_8cpp_aae407a2a13362c4c64fbe509ff325978_cgraph.map deleted file mode 100644 index 00c60cf90..000000000 --- a/d8/db1/binomial__calculate_8cpp_aae407a2a13362c4c64fbe509ff325978_cgraph.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/d8/db1/binomial__calculate_8cpp_aae407a2a13362c4c64fbe509ff325978_cgraph.md5 b/d8/db1/binomial__calculate_8cpp_aae407a2a13362c4c64fbe509ff325978_cgraph.md5 deleted file mode 100644 index 15c0581dd..000000000 --- a/d8/db1/binomial__calculate_8cpp_aae407a2a13362c4c64fbe509ff325978_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -acf18c21765344047fafb8a4df920c89 \ No newline at end of file diff --git a/d8/db1/binomial__calculate_8cpp_aae407a2a13362c4c64fbe509ff325978_cgraph.svg b/d8/db1/binomial__calculate_8cpp_aae407a2a13362c4c64fbe509ff325978_cgraph.svg deleted file mode 100644 index 5d68012d5..000000000 --- a/d8/db1/binomial__calculate_8cpp_aae407a2a13362c4c64fbe509ff325978_cgraph.svg +++ /dev/null @@ -1,56 +0,0 @@ - - - - - - - - - - - - -math::binomial::calculate - - -Node1 - - -math::binomial::calculate - - - - - -Node1->Node1 - - - - - - - - - - - - - diff --git a/d8/db1/binomial__calculate_8cpp_aae407a2a13362c4c64fbe509ff325978_cgraph_org.svg b/d8/db1/binomial__calculate_8cpp_aae407a2a13362c4c64fbe509ff325978_cgraph_org.svg deleted file mode 100644 index 7e90cde42..000000000 --- a/d8/db1/binomial__calculate_8cpp_aae407a2a13362c4c64fbe509ff325978_cgraph_org.svg +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - -math::binomial::calculate - - -Node1 - - -math::binomial::calculate - - - - - -Node1->Node1 - - - - - - - - diff --git a/d8/db1/binomial__calculate_8cpp_ac0f2228420376f4db7e1274f2b41667c_cgraph.map b/d8/db1/binomial__calculate_8cpp_ac0f2228420376f4db7e1274f2b41667c_cgraph.map deleted file mode 100644 index e35241007..000000000 --- a/d8/db1/binomial__calculate_8cpp_ac0f2228420376f4db7e1274f2b41667c_cgraph.map +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/d8/db1/binomial__calculate_8cpp_ac0f2228420376f4db7e1274f2b41667c_cgraph.md5 b/d8/db1/binomial__calculate_8cpp_ac0f2228420376f4db7e1274f2b41667c_cgraph.md5 deleted file mode 100644 index 2217c41e8..000000000 --- a/d8/db1/binomial__calculate_8cpp_ac0f2228420376f4db7e1274f2b41667c_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -aa5629c0d4071cf57387ace74ff21a7c \ No newline at end of file diff --git a/d8/db1/binomial__calculate_8cpp_ac0f2228420376f4db7e1274f2b41667c_cgraph.svg b/d8/db1/binomial__calculate_8cpp_ac0f2228420376f4db7e1274f2b41667c_cgraph.svg deleted file mode 100644 index d0e534399..000000000 --- a/d8/db1/binomial__calculate_8cpp_ac0f2228420376f4db7e1274f2b41667c_cgraph.svg +++ /dev/null @@ -1,92 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -tests - - - - - -Node1->Node3 - - - - - - - - -Node3->Node2 - - - - - - - - - - - - - diff --git a/d8/db1/binomial__calculate_8cpp_ac0f2228420376f4db7e1274f2b41667c_cgraph_org.svg b/d8/db1/binomial__calculate_8cpp_ac0f2228420376f4db7e1274f2b41667c_cgraph_org.svg deleted file mode 100644 index 6e6a048f4..000000000 --- a/d8/db1/binomial__calculate_8cpp_ac0f2228420376f4db7e1274f2b41667c_cgraph_org.svg +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -tests - - - - - -Node1->Node3 - - - - - - - - -Node3->Node2 - - - - - - - - diff --git a/d8/db1/binomial__calculate_8cpp_source.html b/d8/db1/binomial__calculate_8cpp_source.html new file mode 100644 index 000000000..7901db1ca --- /dev/null +++ b/d8/db1/binomial__calculate_8cpp_source.html @@ -0,0 +1,207 @@ + + + + + + + + +TheAlgorithms/C++: math/binomial_calculate.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    +

    Namespaces

    namespace  math
    + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + + +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    binomial_calculate.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    9#include <cassert>
    +
    10#include <cstdint>
    +
    11#include <cstdlib>
    +
    12#include <iostream>
    +
    13
    +
    18namespace math {
    +
    25namespace binomial {
    +
    +
    32size_t calculate(int32_t n, int32_t k) {
    +
    33 // basic cases
    +
    34 if (k > (n / 2))
    +
    35 k = n - k;
    +
    36 if (k == 1)
    +
    37 return n;
    +
    38 if (k == 0)
    +
    39 return 1;
    +
    40
    +
    41 size_t result = 1;
    +
    42 for (int32_t i = 1; i <= k; ++i) {
    +
    43 result *= n - k + i;
    +
    44 result /= i;
    +
    45 }
    +
    46
    +
    47 return result;
    +
    48}
    +
    +
    49} // namespace binomial
    +
    50} // namespace math
    +
    51
    +
    +
    56static void tests() {
    +
    57 // tests for calculate function
    +
    58 assert(math::binomial::calculate(1, 1) == 1);
    +
    59 assert(math::binomial::calculate(57, 57) == 1);
    +
    60 assert(math::binomial::calculate(6, 3) == 20);
    +
    61 assert(math::binomial::calculate(10, 5) == 252);
    +
    62 assert(math::binomial::calculate(20, 10) == 184756);
    +
    63 assert(math::binomial::calculate(30, 15) == 155117520);
    +
    64 assert(math::binomial::calculate(40, 20) == 137846528820);
    +
    65 assert(math::binomial::calculate(50, 25) == 126410606437752);
    +
    66 assert(math::binomial::calculate(60, 30) == 118264581564861424);
    +
    67 assert(math::binomial::calculate(62, 31) == 465428353255261088);
    +
    68
    +
    69 std::cout << "[+] Binomial coefficients calculate test completed"
    +
    70 << std::endl;
    +
    71}
    +
    +
    72
    +
    +
    79int main(int argc, const char* argv[]) {
    +
    80 tests(); // run self-test implementations
    +
    81
    +
    82 if (argc < 3) {
    +
    83 std::cout << "Usage ./binomial_calculate {n} {k}" << std::endl;
    +
    84 return 0;
    +
    85 }
    +
    86
    +
    87 int32_t n = atoi(argv[1]);
    +
    88 int32_t k = atoi(argv[2]);
    +
    89
    +
    90 std::cout << math::binomial::calculate(n, k) << std::endl;
    +
    91 return 0;
    +
    92}
    +
    +
    static void tests()
    Test implementations.
    +
    size_t calculate(int32_t n, int32_t k)
    Function to calculate binomial coefficients.
    +
    int main()
    Main function.
    +
    Functions for Binomial coefficients implementation.
    +
    for assert
    +
    +
    + + + + diff --git a/d8/db7/queue__using__linked__list_8cpp_source.html b/d8/db7/queue__using__linked__list_8cpp_source.html new file mode 100644 index 000000000..a6da6c6ee --- /dev/null +++ b/d8/db7/queue__using__linked__list_8cpp_source.html @@ -0,0 +1,210 @@ + + + + + + + + +TheAlgorithms/C++: data_structures/queue_using_linked_list.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    queue_using_linked_list.cpp
    +
    +
    +
    1#include <iostream>
    +
    2using namespace std;
    +
    3
    +
    4struct node {
    +
    5 int val;
    +
    6 node *next;
    +
    7};
    +
    8
    +
    9node *front, *rear;
    +
    10
    +
    11void Enque(int x) {
    +
    12 if (rear == NULL) {
    +
    13 node *n = new node;
    +
    14 n->val = x;
    +
    15 n->next = NULL;
    +
    16 rear = n;
    +
    17 front = n;
    +
    18 }
    +
    19
    +
    20 else {
    +
    21 node *n = new node;
    +
    22 n->val = x;
    +
    23 n->next = NULL;
    +
    24 rear->next = n;
    +
    25 rear = n;
    +
    26 }
    +
    27}
    +
    28
    +
    29void Deque() {
    +
    30 if (rear == NULL && front == NULL) {
    +
    31 cout << "\nUnderflow";
    +
    32 } else {
    +
    33 node *t = front;
    +
    34 cout << "\n" << t->val << " deleted";
    +
    35 front = front->next;
    +
    36 delete t;
    +
    37 if (front == NULL)
    +
    38 rear = NULL;
    +
    39 }
    +
    40}
    +
    41
    +
    42void show() {
    +
    43 node *t = front;
    +
    44 while (t != NULL) {
    +
    45 cout << t->val << "\t";
    +
    46 t = t->next;
    +
    47 }
    +
    48}
    +
    49
    +
    50int main() {
    +
    51 int ch, x;
    +
    52 do {
    +
    53 cout << "\n1. Enque";
    +
    54 cout << "\n2. Deque";
    +
    55 cout << "\n3. Print";
    +
    56 cout << "\nEnter Your Choice : ";
    +
    57 cin >> ch;
    +
    58 if (ch == 1) {
    +
    59 cout << "\nInsert : ";
    +
    60 cin >> x;
    +
    61 Enque(x);
    +
    62 } else if (ch == 2) {
    +
    63 Deque();
    +
    64 } else if (ch == 3) {
    +
    65 show();
    +
    66 }
    +
    67 } while (ch != 0);
    +
    68
    +
    69 return 0;
    +
    70}
    +
    struct node { int data; int height; struct node *left; struct node *right;} node
    for std::queue
    Definition avltree.cpp:13
    +
    int main()
    Main function.
    + +
    +
    + + + + diff --git a/d8/db9/structcompare-members.html b/d8/db9/structcompare-members.html index 3f067fe28..5b8b4d68a 100644 --- a/d8/db9/structcompare-members.html +++ b/d8/db9/structcompare-members.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Member List +TheAlgorithms/C++: Member List + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/d8/db9/topological__sort_8cpp.html b/d8/db9/topological__sort_8cpp.html index 6e55d31b2..6ab8e95cd 100644 --- a/d8/db9/topological__sort_8cpp.html +++ b/d8/db9/topological__sort_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: graph/topological_sort.cpp File Reference +TheAlgorithms/C++: graph/topological_sort.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + @@ -125,7 +142,9 @@ Include dependency graph for topological_sort.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -143,10 +162,10 @@ Namespaces

    Classes

    class  graph::topological_sort::Graph
    - + - + @@ -160,6 +179,8 @@ Functions

    Topological Sort Algorithm

    Topological sorting of a directed graph is a linear ordering or its vertices such that for every directed edge (u,v) from vertex u to vertex v, u comes before v in the oredering.

    A topological sort is possible only in a directed acyclic graph (DAG). This file contains code of finding topological sort using Kahn's Algorithm which involves using Depth First Search technique

    + +

    Definition in file topological_sort.cpp.

    Function Documentation

    ◆ dfs()

    @@ -175,17 +196,17 @@ Functions - + - + - +

    Functions

    void graph::topological_sort::dfs (int v, std::vector< int > &visited, const std::vector< std::vector< int > > &graph, std::stack< int > &s)
    void graph::topological_sort::dfs (int v, std::vector< int > &visited, const std::vector< std::vector< int > > &graph, std::stack< int > &s)
     Function to perform Depth First Search on the graph.
     
    std::vector< int > graph::topological_sort::topologicalSort (const Graph &g)
    std::vector< int > graph::topological_sort::topologicalSort (const Graph &g)
     Function to get the topological sort of the graph.
     
    static void test ()
    std::vector< int > & visited, std::vector< int > & visited,
    const std::vector< std::vector< int > > & graph, const std::vector< std::vector< int > > & graph,
    std::stack< int > & s )std::stack< int > & s )
    @@ -200,6 +221,8 @@ Functions + +

    Definition at line 79 of file topological_sort.cpp.

    80 {
    81 visited[v] = 1;
    82 for (int neighbour : graph[v]) {
    @@ -207,17 +230,11 @@ Functions
    84 dfs(neighbour, visited, graph, s);
    85 }
    86 }
    -
    87 s.push(v);
    +
    87 s.push(v);
    88}
    -
    std::vector< size_t > dfs(const std::vector< std::vector< size_t > > &graph, size_t start)
    Explores the given vertex, exploring a vertex means traversing over all the vertices which are connec...
    Definition depth_first_search_with_stack.cpp:87
    +
    std::vector< size_t > dfs(const std::vector< std::vector< size_t > > &graph, size_t start)
    Explores the given vertex, exploring a vertex means traversing over all the vertices which are connec...
    Graph Algorithms.
    -
    T push(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    @@ -237,17 +254,14 @@ Here is the call graph for this function:

    Main function.

    Returns
    0 on exit
    + +

    Definition at line 186 of file topological_sort.cpp.

    186 {
    187 test(); // run self test implementations
    188 return 0;
    189}
    -
    static void test()
    Self-test implementation.
    Definition topological_sort.cpp:126
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static void test()
    Self-test implementation.
    + @@ -275,9 +289,11 @@ Here is the call graph for this function:

    Self-test implementation.

    Returns
    void
    + +

    Definition at line 126 of file topological_sort.cpp.

    126 {
    127 // Test 1
    -
    128 std::cout << "Testing for graph 1\n";
    +
    128 std::cout << "Testing for graph 1\n";
    129 int n_1 = 6;
    131 graph1.addEdge(4, 0);
    @@ -286,18 +302,18 @@ Here is the call graph for this function:
    134 graph1.addEdge(2, 3);
    135 graph1.addEdge(3, 1);
    136 graph1.addEdge(4, 1);
    - -
    138 std::vector<int> expected_1 = {5, 4, 2, 3, 1, 0};
    -
    139 std::cout << "Topological Sorting Order: ";
    +
    137 std::vector<int> ans_1 = graph::topological_sort::topologicalSort(graph1);
    +
    138 std::vector<int> expected_1 = {5, 4, 2, 3, 1, 0};
    +
    139 std::cout << "Topological Sorting Order: ";
    140 for (int i : ans_1) {
    -
    141 std::cout << i << " ";
    +
    141 std::cout << i << " ";
    142 }
    -
    143 std::cout << '\n';
    +
    143 std::cout << '\n';
    144 assert(ans_1 == expected_1);
    -
    145 std::cout << "Test Passed\n\n";
    +
    145 std::cout << "Test Passed\n\n";
    146
    147 // Test 2
    -
    148 std::cout << "Testing for graph 2\n";
    +
    148 std::cout << "Testing for graph 2\n";
    149 int n_2 = 5;
    151 graph2.addEdge(0, 1);
    @@ -306,18 +322,18 @@ Here is the call graph for this function:
    154 graph2.addEdge(2, 3);
    155 graph2.addEdge(1, 3);
    156 graph2.addEdge(2, 4);
    - -
    158 std::vector<int> expected_2 = {0, 1, 2, 4, 3};
    -
    159 std::cout << "Topological Sorting Order: ";
    +
    157 std::vector<int> ans_2 = graph::topological_sort::topologicalSort(graph2);
    +
    158 std::vector<int> expected_2 = {0, 1, 2, 4, 3};
    +
    159 std::cout << "Topological Sorting Order: ";
    160 for (int i : ans_2) {
    -
    161 std::cout << i << " ";
    +
    161 std::cout << i << " ";
    162 }
    -
    163 std::cout << '\n';
    +
    163 std::cout << '\n';
    164 assert(ans_2 == expected_2);
    -
    165 std::cout << "Test Passed\n\n";
    +
    165 std::cout << "Test Passed\n\n";
    166
    167 // Test 3 - Graph with cycle
    -
    168 std::cout << "Testing for graph 3\n";
    +
    168 std::cout << "Testing for graph 3\n";
    169 int n_3 = 3;
    171 graph3.addEdge(0, 1);
    @@ -325,24 +341,14 @@ Here is the call graph for this function:
    173 graph3.addEdge(2, 0);
    174 try {
    -
    176 } catch (std::invalid_argument& err) {
    -
    177 assert(std::string(err.what()) == "cycle detected in graph");
    +
    176 } catch (std::invalid_argument& err) {
    +
    177 assert(std::string(err.what()) == "cycle detected in graph");
    178 }
    -
    179 std::cout << "Test Passed\n";
    +
    179 std::cout << "Test Passed\n";
    180}
    - - -
    Class that represents a directed graph and provides methods for manipulating the graph.
    Definition topological_sort.cpp:38
    - -
    std::vector< int > topologicalSort(const Graph &g)
    Function to get the topological sort of the graph.
    Definition topological_sort.cpp:95
    - - -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    Class that represents a directed graph and provides methods for manipulating the graph.
    +
    std::vector< int > topologicalSort(const Graph &g)
    Function to get the topological sort of the graph.
    + @@ -352,7 +358,7 @@ Here is the call graph for this function:
    - + @@ -368,11 +374,13 @@ Here is the call graph for this function:
    Returns
    A vector containing the topological order of nodes
    + +

    Definition at line 95 of file topological_sort.cpp.

    95 {
    96 int n = g.getNumNodes();
    97 const auto& adj = g.getAdjacencyList();
    -
    98 std::vector<int> visited(n, 0);
    - +
    98 std::vector<int> visited(n, 0);
    +
    99 std::stack<int> s;
    100
    101 for (int i = 0; i < n; i++) {
    102 if (!visited[i]) {
    @@ -380,29 +388,20 @@ Here is the call graph for this function:
    104 }
    105 }
    106
    - -
    108 while (!s.empty()) {
    -
    109 int elem = s.top();
    -
    110 s.pop();
    +
    107 std::vector<int> ans;
    +
    108 while (!s.empty()) {
    +
    109 int elem = s.top();
    +
    110 s.pop();
    111 ans.push_back(elem);
    112 }
    113
    114 if (ans.size() < n) { // Cycle detected
    -
    115 throw std::invalid_argument("cycle detected in graph");
    +
    115 throw std::invalid_argument("cycle detected in graph");
    116 }
    117 return ans;
    118}
    -
    double g(double x)
    Another test function.
    Definition composite_simpson_rule.cpp:115
    -
    T empty(T... args)
    -
    T pop(T... args)
    - -
    T top(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    double g(double x)
    Another test function.
    + diff --git a/d8/db9/topological__sort_8cpp_a54dc5d7914958dbd24dda2fd862dc41b_cgraph.map b/d8/db9/topological__sort_8cpp_a54dc5d7914958dbd24dda2fd862dc41b_cgraph.map deleted file mode 100644 index 43d3289f1..000000000 --- a/d8/db9/topological__sort_8cpp_a54dc5d7914958dbd24dda2fd862dc41b_cgraph.map +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/d8/db9/topological__sort_8cpp_a54dc5d7914958dbd24dda2fd862dc41b_cgraph.md5 b/d8/db9/topological__sort_8cpp_a54dc5d7914958dbd24dda2fd862dc41b_cgraph.md5 deleted file mode 100644 index fd0fa3fc5..000000000 --- a/d8/db9/topological__sort_8cpp_a54dc5d7914958dbd24dda2fd862dc41b_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -24301cf49b8e2366b08e2093da497fa4 \ No newline at end of file diff --git a/d8/db9/topological__sort_8cpp_a54dc5d7914958dbd24dda2fd862dc41b_cgraph.svg b/d8/db9/topological__sort_8cpp_a54dc5d7914958dbd24dda2fd862dc41b_cgraph.svg deleted file mode 100644 index d063d3deb..000000000 --- a/d8/db9/topological__sort_8cpp_a54dc5d7914958dbd24dda2fd862dc41b_cgraph.svg +++ /dev/null @@ -1,111 +0,0 @@ - - - - - - - - - - - - -graph::topological_sort::topologicalSort - - -Node1 - - -graph::topological -_sort::topologicalSort - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::stack::empty - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::stack::pop - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::stack::top - - - - - -Node1->Node4 - - - - - - - - - - - - - diff --git a/d8/db9/topological__sort_8cpp_a54dc5d7914958dbd24dda2fd862dc41b_cgraph_org.svg b/d8/db9/topological__sort_8cpp_a54dc5d7914958dbd24dda2fd862dc41b_cgraph_org.svg deleted file mode 100644 index 1c2c2259f..000000000 --- a/d8/db9/topological__sort_8cpp_a54dc5d7914958dbd24dda2fd862dc41b_cgraph_org.svg +++ /dev/null @@ -1,85 +0,0 @@ - - - - - - -graph::topological_sort::topologicalSort - - -Node1 - - -graph::topological -_sort::topologicalSort - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::stack::empty - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::stack::pop - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::stack::top - - - - - -Node1->Node4 - - - - - - - - diff --git a/d8/db9/topological__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map b/d8/db9/topological__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map deleted file mode 100644 index f69c51e7a..000000000 --- a/d8/db9/topological__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/d8/db9/topological__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 b/d8/db9/topological__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 deleted file mode 100644 index e5b1fffdc..000000000 --- a/d8/db9/topological__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -f140bb29072388bd284df714025255c3 \ No newline at end of file diff --git a/d8/db9/topological__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg b/d8/db9/topological__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg deleted file mode 100644 index 942a8af00..000000000 --- a/d8/db9/topological__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg +++ /dev/null @@ -1,103 +0,0 @@ - - - - - - - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -graph::topological -_sort::Graph::addEdge - - - - - -Node1->Node2 - - - - - - - - -Node4 - - -std::invalid_argument -::what - - - - - -Node1->Node4 - - - - - - - - -Node3 - - -std::vector::push_back - - - - - -Node2->Node3 - - - - - - - - - - - - - diff --git a/d8/db9/topological__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg b/d8/db9/topological__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg deleted file mode 100644 index a7299442c..000000000 --- a/d8/db9/topological__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg +++ /dev/null @@ -1,77 +0,0 @@ - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -graph::topological -_sort::Graph::addEdge - - - - - -Node1->Node2 - - - - - - - - -Node4 - - -std::invalid_argument -::what - - - - - -Node1->Node4 - - - - - - - - -Node3 - - -std::vector::push_back - - - - - -Node2->Node3 - - - - - - - - diff --git a/d8/db9/topological__sort_8cpp_abcbcaa2bb70af0a11d0c090ea1796aea_cgraph.map b/d8/db9/topological__sort_8cpp_abcbcaa2bb70af0a11d0c090ea1796aea_cgraph.map deleted file mode 100644 index d24be3787..000000000 --- a/d8/db9/topological__sort_8cpp_abcbcaa2bb70af0a11d0c090ea1796aea_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d8/db9/topological__sort_8cpp_abcbcaa2bb70af0a11d0c090ea1796aea_cgraph.md5 b/d8/db9/topological__sort_8cpp_abcbcaa2bb70af0a11d0c090ea1796aea_cgraph.md5 deleted file mode 100644 index dd33f8f26..000000000 --- a/d8/db9/topological__sort_8cpp_abcbcaa2bb70af0a11d0c090ea1796aea_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -cc93c261f53b1ac9b0c3d837e99862f0 \ No newline at end of file diff --git a/d8/db9/topological__sort_8cpp_abcbcaa2bb70af0a11d0c090ea1796aea_cgraph.svg b/d8/db9/topological__sort_8cpp_abcbcaa2bb70af0a11d0c090ea1796aea_cgraph.svg deleted file mode 100644 index e97284538..000000000 --- a/d8/db9/topological__sort_8cpp_abcbcaa2bb70af0a11d0c090ea1796aea_cgraph.svg +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - - - - - - - -graph::topological_sort::dfs - - -Node1 - - -graph::topological -_sort::dfs - - - - - -Node2 - - -std::stack::push - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d8/db9/topological__sort_8cpp_abcbcaa2bb70af0a11d0c090ea1796aea_cgraph_org.svg b/d8/db9/topological__sort_8cpp_abcbcaa2bb70af0a11d0c090ea1796aea_cgraph_org.svg deleted file mode 100644 index 61b366fbe..000000000 --- a/d8/db9/topological__sort_8cpp_abcbcaa2bb70af0a11d0c090ea1796aea_cgraph_org.svg +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - -graph::topological_sort::dfs - - -Node1 - - -graph::topological -_sort::dfs - - - - - -Node2 - - -std::stack::push - - - - - -Node1->Node2 - - - - - - - - diff --git a/d8/db9/topological__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d8/db9/topological__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 4b81e0a30..000000000 --- a/d8/db9/topological__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/d8/db9/topological__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d8/db9/topological__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index eb28a2150..000000000 --- a/d8/db9/topological__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -8460728898871e1e4e3eda289d593379 \ No newline at end of file diff --git a/d8/db9/topological__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d8/db9/topological__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 428de6d5b..000000000 --- a/d8/db9/topological__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,121 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -graph::topological -_sort::Graph::addEdge - - - - - -Node2->Node3 - - - - - - - - -Node5 - - -std::invalid_argument -::what - - - - - -Node2->Node5 - - - - - - - - -Node4 - - -std::vector::push_back - - - - - -Node3->Node4 - - - - - - - - - - - - - diff --git a/d8/db9/topological__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d8/db9/topological__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index ce07057cf..000000000 --- a/d8/db9/topological__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -graph::topological -_sort::Graph::addEdge - - - - - -Node2->Node3 - - - - - - - - -Node5 - - -std::invalid_argument -::what - - - - - -Node2->Node5 - - - - - - - - -Node4 - - -std::vector::push_back - - - - - -Node3->Node4 - - - - - - - - diff --git a/d8/db9/topological__sort_8cpp_source.html b/d8/db9/topological__sort_8cpp_source.html new file mode 100644 index 000000000..34a8e8ee5 --- /dev/null +++ b/d8/db9/topological__sort_8cpp_source.html @@ -0,0 +1,285 @@ + + + + + + + + +TheAlgorithms/C++: graph/topological_sort.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    std::vector< int > graph::topological_sort::topologicalSort std::vector< int > graph::topological_sort::topologicalSort ( const Graph & g)
    + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + + +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    topological_sort.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    15#include <algorithm> // For std::reverse
    +
    16#include <cassert> // For assert
    +
    17#include <iostream> // For IO operations
    +
    18#include <stack> // For std::stack
    +
    19#include <stdexcept> // For std::invalid_argument
    +
    20#include <vector> // For std::vector
    +
    21
    +
    26namespace graph {
    +
    27
    +
    32namespace topological_sort {
    +
    +
    38class Graph {
    +
    39 private:
    +
    40 int n; // Number of nodes
    +
    41 std::vector<std::vector<int>> adj; // Adjacency list representation
    +
    42
    +
    43 public:
    +
    48 Graph(int nodes) : n(nodes), adj(nodes) {}
    +
    49
    +
    55 void addEdge(int u, int v) { adj[u].push_back(v); }
    +
    56
    +
    +
    61 const std::vector<std::vector<int>>& getAdjacencyList() const {
    +
    62 return adj;
    +
    63 }
    +
    +
    64
    +
    69 int getNumNodes() const { return n; }
    +
    70};
    +
    +
    71
    +
    +
    79void dfs(int v, std::vector<int>& visited,
    +
    80 const std::vector<std::vector<int>>& graph, std::stack<int>& s) {
    +
    81 visited[v] = 1;
    +
    82 for (int neighbour : graph[v]) {
    +
    83 if (!visited[neighbour]) {
    +
    84 dfs(neighbour, visited, graph, s);
    +
    85 }
    +
    86 }
    +
    87 s.push(v);
    +
    88}
    +
    +
    89
    +
    +
    95std::vector<int> topologicalSort(const Graph& g) {
    +
    96 int n = g.getNumNodes();
    +
    97 const auto& adj = g.getAdjacencyList();
    +
    98 std::vector<int> visited(n, 0);
    +
    99 std::stack<int> s;
    +
    100
    +
    101 for (int i = 0; i < n; i++) {
    +
    102 if (!visited[i]) {
    +
    103 dfs(i, visited, adj, s);
    +
    104 }
    +
    105 }
    +
    106
    +
    107 std::vector<int> ans;
    +
    108 while (!s.empty()) {
    +
    109 int elem = s.top();
    +
    110 s.pop();
    +
    111 ans.push_back(elem);
    +
    112 }
    +
    113
    +
    114 if (ans.size() < n) { // Cycle detected
    +
    115 throw std::invalid_argument("cycle detected in graph");
    +
    116 }
    +
    117 return ans;
    +
    118}
    +
    +
    119} // namespace topological_sort
    +
    120} // namespace graph
    +
    121
    +
    +
    126static void test() {
    +
    127 // Test 1
    +
    128 std::cout << "Testing for graph 1\n";
    +
    129 int n_1 = 6;
    + +
    131 graph1.addEdge(4, 0);
    +
    132 graph1.addEdge(5, 0);
    +
    133 graph1.addEdge(5, 2);
    +
    134 graph1.addEdge(2, 3);
    +
    135 graph1.addEdge(3, 1);
    +
    136 graph1.addEdge(4, 1);
    +
    137 std::vector<int> ans_1 = graph::topological_sort::topologicalSort(graph1);
    +
    138 std::vector<int> expected_1 = {5, 4, 2, 3, 1, 0};
    +
    139 std::cout << "Topological Sorting Order: ";
    +
    140 for (int i : ans_1) {
    +
    141 std::cout << i << " ";
    +
    142 }
    +
    143 std::cout << '\n';
    +
    144 assert(ans_1 == expected_1);
    +
    145 std::cout << "Test Passed\n\n";
    +
    146
    +
    147 // Test 2
    +
    148 std::cout << "Testing for graph 2\n";
    +
    149 int n_2 = 5;
    + +
    151 graph2.addEdge(0, 1);
    +
    152 graph2.addEdge(0, 2);
    +
    153 graph2.addEdge(1, 2);
    +
    154 graph2.addEdge(2, 3);
    +
    155 graph2.addEdge(1, 3);
    +
    156 graph2.addEdge(2, 4);
    +
    157 std::vector<int> ans_2 = graph::topological_sort::topologicalSort(graph2);
    +
    158 std::vector<int> expected_2 = {0, 1, 2, 4, 3};
    +
    159 std::cout << "Topological Sorting Order: ";
    +
    160 for (int i : ans_2) {
    +
    161 std::cout << i << " ";
    +
    162 }
    +
    163 std::cout << '\n';
    +
    164 assert(ans_2 == expected_2);
    +
    165 std::cout << "Test Passed\n\n";
    +
    166
    +
    167 // Test 3 - Graph with cycle
    +
    168 std::cout << "Testing for graph 3\n";
    +
    169 int n_3 = 3;
    + +
    171 graph3.addEdge(0, 1);
    +
    172 graph3.addEdge(1, 2);
    +
    173 graph3.addEdge(2, 0);
    +
    174 try {
    +
    175 graph::topological_sort::topologicalSort(graph3);
    +
    176 } catch (std::invalid_argument& err) {
    +
    177 assert(std::string(err.what()) == "cycle detected in graph");
    +
    178 }
    +
    179 std::cout << "Test Passed\n";
    +
    180}
    +
    +
    181
    +
    +
    186int main() {
    +
    187 test(); // run self test implementations
    +
    188 return 0;
    +
    189}
    +
    +
    Class that represents a directed graph and provides methods for manipulating the graph.
    +
    void addEdge(int u, int v)
    Function that adds an edge between two nodes or vertices of graph.
    +
    const std::vector< std::vector< int > > & getAdjacencyList() const
    Get the adjacency list of the graph.
    +
    Graph(int nodes)
    Constructor for the Graph class.
    +
    int getNumNodes() const
    Get the number of nodes in the graph.
    +
    Graph Algorithms.
    +
    Topological Sort Algorithm.
    +
    std::vector< int > topologicalSort(const Graph &g)
    Function to get the topological sort of the graph.
    +
    static void test()
    Self-test implementation.
    +
    int main()
    Main function.
    +
    +
    + + + + diff --git a/d8/dba/classdata__structures_1_1queue__using__array_1_1_queue___array-members.html b/d8/dba/classdata__structures_1_1queue__using__array_1_1_queue___array-members.html index e5a1eccbf..0eff9b3a2 100644 --- a/d8/dba/classdata__structures_1_1queue__using__array_1_1_queue___array-members.html +++ b/d8/dba/classdata__structures_1_1queue__using__array_1_1_queue___array-members.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Member List +TheAlgorithms/C++: Member List + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/d8/dc6/namespacemanacher.html b/d8/dc6/namespacemanacher.html index 181a02bb4..6002fc6e0 100644 --- a/d8/dc6/namespacemanacher.html +++ b/d8/dc6/namespacemanacher.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: manacher Namespace Reference +TheAlgorithms/C++: manacher Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/d8/dc8/class_compare-members.html b/d8/dc8/class_compare-members.html index ae7a7ad10..34728ea05 100644 --- a/d8/dc8/class_compare-members.html +++ b/d8/dc8/class_compare-members.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Member List +TheAlgorithms/C++: Member List + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/d8/dc8/struct_point.html b/d8/dc8/struct_point.html index b97f9beb8..9c2c714fb 100644 --- a/d8/dc8/struct_point.html +++ b/d8/dc8/struct_point.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Point Struct Reference +TheAlgorithms/C++: Point Struct Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + @@ -119,12 +136,10 @@ Public Member Functions
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    - + - - + + @@ -134,6 +149,8 @@ int 

    Detailed Description

    Define a Point.

    Define a point

    + +

    Definition at line 12 of file line_segment_intersection.cpp.

    Constructor & Destructor Documentation

    ◆ Point()

    @@ -168,17 +185,35 @@ int 

    Public Attributes

    -int x
    int x
     
    -int y
     Point respect to x coordinate.
    int y
     Point respect to x coordinate.
     
    double x
     
    y
    y
    + +

    Definition at line 23 of file smallest_circle.cpp.

    23 {
    24 x = a;
    25 y = b;
    26 }
    -
    int y
    Point respect to x coordinate.
    Definition line_segment_intersection.cpp:14
    +
    int y
    Point respect to x coordinate.

    Member Data Documentation

    + +

    ◆ x [1/2]

    + +
    +
    + + + + +
    int Point::x
    +
    + +

    Definition at line 13 of file line_segment_intersection.cpp.

    + +
    +
    -

    ◆ x

    +

    ◆ x [2/2]

    @@ -190,10 +225,30 @@ int y

    abscissa

    +

    Definition at line 16 of file smallest_circle.cpp.

    + +
    +
    + +

    ◆ y [1/2]

    + +
    +
    + + + + +
    int Point::y
    +
    + +

    Point respect to x coordinate.

    + +

    Definition at line 14 of file line_segment_intersection.cpp.

    +
    -

    ◆ y

    +

    ◆ y [2/2]

    @@ -205,11 +260,13 @@ int y

    ordinate

    +

    Definition at line 17 of file smallest_circle.cpp.

    +

    The documentation for this struct was generated from the following files: diff --git a/d8/dcc/binary__insertion__sort_8cpp.html b/d8/dcc/binary__insertion__sort_8cpp.html index 0897a2012..591bf0bfb 100644 --- a/d8/dcc/binary__insertion__sort_8cpp.html +++ b/d8/dcc/binary__insertion__sort_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: sorting/binary_insertion_sort.cpp File Reference +TheAlgorithms/C++: sorting/binary_insertion_sort.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -122,7 +139,9 @@ Include dependency graph for binary_insertion_sort.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -132,11 +151,11 @@ Namespaces - + - + @@ -177,6 +196,8 @@ Functions

    + +

    Definition in file binary_insertion_sort.cpp.

    Function Documentation

    ◆ main()

    @@ -195,17 +216,14 @@ Functions

    Main function.

    Returns
    0 on exit.
    + +

    Definition at line 143 of file binary_insertion_sort.cpp.

    143 {
    144 test(); // run self-test implementations
    145 return 0;
    146}
    -
    static void test()
    Self-test implementations.
    Definition binary_insertion_sort.cpp:104
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static void test()
    Self-test implementations.
    + @@ -233,53 +251,44 @@ Here is the call graph for this function:

    Self-test implementations.

    Returns
    void
    + +

    Definition at line 104 of file binary_insertion_sort.cpp.

    104 {
    105 /* descriptions of the following test */
    106 /* 1st test:
    107 [5, -3, -1, -2, 7] returns [-3, -2, -1, 5, 7] */
    -
    108 std::vector<int64_t> arr1({5, -3, -1, -2, 7});
    -
    109 std::cout << "1st test... ";
    +
    108 std::vector<int64_t> arr1({5, -3, -1, -2, 7});
    +
    109 std::cout << "1st test... ";
    -
    111 assert(std::is_sorted(std::begin(arr1), std::end(arr1)));
    -
    112 std::cout << "passed" << std::endl;
    +
    111 assert(std::is_sorted(std::begin(arr1), std::end(arr1)));
    +
    112 std::cout << "passed" << std::endl;
    113
    114 /* 2nd test:
    115 [12, 26, 15, 91, 32, 54, 41] returns [12, 15, 26, 32, 41, 54, 91] */
    -
    116 std::vector<int64_t> arr2({12, 26, 15, 91, 32, 54, 41});
    -
    117 std::cout << "2nd test... ";
    +
    116 std::vector<int64_t> arr2({12, 26, 15, 91, 32, 54, 41});
    +
    117 std::cout << "2nd test... ";
    -
    119 assert(std::is_sorted(std::begin(arr2), std::end(arr2)));
    -
    120 std::cout << "passed" << std::endl;
    +
    119 assert(std::is_sorted(std::begin(arr2), std::end(arr2)));
    +
    120 std::cout << "passed" << std::endl;
    121
    122 /* 3rd test:
    123 [7.1, -2.5, -4.0, -2.1, 5.7] returns [-4.0, -2.5, -2.1, 5.7, 7.1] */
    -
    124 std::vector<float> arr3({7.1, -2.5, -4.0, -2.1, 5.7});
    -
    125 std::cout << "3rd test... ";
    +
    124 std::vector<float> arr3({7.1, -2.5, -4.0, -2.1, 5.7});
    +
    125 std::cout << "3rd test... ";
    -
    127 assert(std::is_sorted(std::begin(arr3), std::end(arr3)));
    -
    128 std::cout << "passed" << std::endl;
    +
    127 assert(std::is_sorted(std::begin(arr3), std::end(arr3)));
    +
    128 std::cout << "passed" << std::endl;
    129
    130 /* 4th test:
    131 [12.8, -3.7, -20.7, -7.1, 2.2] returns [-20.7, -7.1, -3.7, 2.2, 12.8] */
    -
    132 std::vector<float> arr4({12.8, -3.7, -20.7, -7.1, 2.2});
    -
    133 std::cout << "4th test... ";
    +
    132 std::vector<float> arr4({12.8, -3.7, -20.7, -7.1, 2.2});
    +
    133 std::cout << "4th test... ";
    -
    135 assert(std::is_sorted(std::begin(arr4), std::end(arr4)));
    -
    136 std::cout << "passed" << std::endl;
    +
    135 assert(std::is_sorted(std::begin(arr4), std::end(arr4)));
    +
    136 std::cout << "passed" << std::endl;
    137}
    - -
    T begin(T... args)
    -
    T end(T... args)
    -
    T endl(T... args)
    -
    T is_sorted(T... args)
    -
    void insertionSort_binsrch(std::vector< T > &arr)
    Insertion sort function to sort the vector.
    Definition binary_insertion_sort.cpp:84
    - -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    void insertionSort_binsrch(std::vector< T > &arr)
    Insertion sort function to sort the vector.
    + diff --git a/d8/dcc/binary__insertion__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map b/d8/dcc/binary__insertion__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map deleted file mode 100644 index d2a46ff6f..000000000 --- a/d8/dcc/binary__insertion__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - - - - - - - - - - diff --git a/d8/dcc/binary__insertion__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 b/d8/dcc/binary__insertion__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 deleted file mode 100644 index 87faca44d..000000000 --- a/d8/dcc/binary__insertion__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -b81792d9c24c276c977a277424c297fb \ No newline at end of file diff --git a/d8/dcc/binary__insertion__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg b/d8/dcc/binary__insertion__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg deleted file mode 100644 index f2cdc3bc4..000000000 --- a/d8/dcc/binary__insertion__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg +++ /dev/null @@ -1,183 +0,0 @@ - - - - - - - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -std::begin - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::end - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::endl - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -sorting::insertionSort -_binsrch - - - - - -Node1->Node5 - - - - - - - - -Node8 - - -std::is_sorted - - - - - -Node1->Node8 - - - - - - - - -Node6 - - -sorting::binary_search - - - - - -Node5->Node6 - - - - - - - - -Node7 - - -std::vector::size - - - - - -Node5->Node7 - - - - - - - - -Node6->Node6 - - - - - - - - - - - - - diff --git a/d8/dcc/binary__insertion__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg b/d8/dcc/binary__insertion__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg deleted file mode 100644 index e4e59d30f..000000000 --- a/d8/dcc/binary__insertion__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg +++ /dev/null @@ -1,157 +0,0 @@ - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -std::begin - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::end - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::endl - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -sorting::insertionSort -_binsrch - - - - - -Node1->Node5 - - - - - - - - -Node8 - - -std::is_sorted - - - - - -Node1->Node8 - - - - - - - - -Node6 - - -sorting::binary_search - - - - - -Node5->Node6 - - - - - - - - -Node7 - - -std::vector::size - - - - - -Node5->Node7 - - - - - - - - -Node6->Node6 - - - - - - - - diff --git a/d8/dcc/binary__insertion__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d8/dcc/binary__insertion__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 4f4ceeb81..000000000 --- a/d8/dcc/binary__insertion__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - - - - - - - - - - - - - - - diff --git a/d8/dcc/binary__insertion__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d8/dcc/binary__insertion__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index 21b355489..000000000 --- a/d8/dcc/binary__insertion__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -12666ce854669873e2a415ae5a928298 \ No newline at end of file diff --git a/d8/dcc/binary__insertion__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d8/dcc/binary__insertion__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 6bb1f8b7f..000000000 --- a/d8/dcc/binary__insertion__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,201 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::begin - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::end - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -std::endl - - - - - -Node2->Node5 - - - - - - - - -Node6 - - -sorting::insertionSort -_binsrch - - - - - -Node2->Node6 - - - - - - - - -Node9 - - -std::is_sorted - - - - - -Node2->Node9 - - - - - - - - -Node7 - - -sorting::binary_search - - - - - -Node6->Node7 - - - - - - - - -Node8 - - -std::vector::size - - - - - -Node6->Node8 - - - - - - - - -Node7->Node7 - - - - - - - - - - - - - diff --git a/d8/dcc/binary__insertion__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d8/dcc/binary__insertion__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 915d24638..000000000 --- a/d8/dcc/binary__insertion__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,175 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::begin - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::end - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -std::endl - - - - - -Node2->Node5 - - - - - - - - -Node6 - - -sorting::insertionSort -_binsrch - - - - - -Node2->Node6 - - - - - - - - -Node9 - - -std::is_sorted - - - - - -Node2->Node9 - - - - - - - - -Node7 - - -sorting::binary_search - - - - - -Node6->Node7 - - - - - - - - -Node8 - - -std::vector::size - - - - - -Node6->Node8 - - - - - - - - -Node7->Node7 - - - - - - - - diff --git a/d8/dcc/binary__insertion__sort_8cpp_source.html b/d8/dcc/binary__insertion__sort_8cpp_source.html new file mode 100644 index 000000000..a5a35b17b --- /dev/null +++ b/d8/dcc/binary__insertion__sort_8cpp_source.html @@ -0,0 +1,229 @@ + + + + + + + + +TheAlgorithms/C++: sorting/binary_insertion_sort.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    +

    Namespaces

    namespace  sorting

    Functions

    template<class T >
    int64_t sorting::binary_search (std::vector< T > &arr, T val, int64_t low, int64_t high)
    int64_t sorting::binary_search (std::vector< T > &arr, T val, int64_t low, int64_t high)
     Binary search function to find the most suitable pace for an element.
     
    template<typename T >
    void sorting::insertionSort_binsrch (std::vector< T > &arr)
    void sorting::insertionSort_binsrch (std::vector< T > &arr)
     Insertion sort function to sort the vector.
     
    static void test ()
    + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + + +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    binary_insertion_sort.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    42#include <algorithm>
    +
    43#include <cassert>
    +
    44#include <iostream>
    +
    45#include <vector>
    +
    46
    +
    51namespace sorting {
    +
    52
    +
    62template <class T>
    +
    +
    63int64_t binary_search(std::vector<T> &arr, T val, int64_t low, int64_t high) {
    +
    64 if (high <= low) {
    +
    65 return (val > arr[low]) ? (low + 1) : low;
    +
    66 }
    +
    67 int64_t mid = low + (high - low) / 2;
    +
    68 if (arr[mid] > val) {
    +
    69 return binary_search(arr, val, low, mid - 1);
    +
    70 } else if (arr[mid] < val) {
    +
    71 return binary_search(arr, val, mid + 1, high);
    +
    72 } else {
    +
    73 return mid + 1;
    +
    74 }
    +
    75}
    +
    +
    76
    +
    83template <typename T>
    +
    +
    84void insertionSort_binsrch(std::vector<T> &arr) {
    +
    85 int64_t n = arr.size();
    +
    86
    +
    87 for (int64_t i = 1; i < n; i++) {
    +
    88 T key = arr[i];
    +
    89 int64_t j = i - 1;
    +
    90 int64_t loc = sorting::binary_search(arr, key, 0, j);
    +
    91 while (j >= loc) {
    +
    92 arr[j + 1] = arr[j];
    +
    93 j--;
    +
    94 }
    +
    95 arr[j + 1] = key;
    +
    96 }
    +
    97}
    +
    +
    98} // namespace sorting
    +
    99
    +
    +
    104static void test() {
    +
    105 /* descriptions of the following test */
    +
    106 /* 1st test:
    +
    107 [5, -3, -1, -2, 7] returns [-3, -2, -1, 5, 7] */
    +
    108 std::vector<int64_t> arr1({5, -3, -1, -2, 7});
    +
    109 std::cout << "1st test... ";
    + +
    111 assert(std::is_sorted(std::begin(arr1), std::end(arr1)));
    +
    112 std::cout << "passed" << std::endl;
    +
    113
    +
    114 /* 2nd test:
    +
    115 [12, 26, 15, 91, 32, 54, 41] returns [12, 15, 26, 32, 41, 54, 91] */
    +
    116 std::vector<int64_t> arr2({12, 26, 15, 91, 32, 54, 41});
    +
    117 std::cout << "2nd test... ";
    + +
    119 assert(std::is_sorted(std::begin(arr2), std::end(arr2)));
    +
    120 std::cout << "passed" << std::endl;
    +
    121
    +
    122 /* 3rd test:
    +
    123 [7.1, -2.5, -4.0, -2.1, 5.7] returns [-4.0, -2.5, -2.1, 5.7, 7.1] */
    +
    124 std::vector<float> arr3({7.1, -2.5, -4.0, -2.1, 5.7});
    +
    125 std::cout << "3rd test... ";
    + +
    127 assert(std::is_sorted(std::begin(arr3), std::end(arr3)));
    +
    128 std::cout << "passed" << std::endl;
    +
    129
    +
    130 /* 4th test:
    +
    131 [12.8, -3.7, -20.7, -7.1, 2.2] returns [-20.7, -7.1, -3.7, 2.2, 12.8] */
    +
    132 std::vector<float> arr4({12.8, -3.7, -20.7, -7.1, 2.2});
    +
    133 std::cout << "4th test... ";
    + +
    135 assert(std::is_sorted(std::begin(arr4), std::end(arr4)));
    +
    136 std::cout << "passed" << std::endl;
    +
    137}
    +
    +
    138
    +
    +
    143int main() {
    +
    144 test(); // run self-test implementations
    +
    145 return 0;
    +
    146}
    +
    +
    static void test()
    Self-test implementations.
    +
    int main()
    Main function.
    +
    for working with vectors
    +
    int64_t binary_search(std::vector< T > &arr, T val, int64_t low, int64_t high)
    Binary search function to find the most suitable pace for an element.
    +
    void insertionSort_binsrch(std::vector< T > &arr)
    Insertion sort function to sort the vector.
    +
    +
    + + + + diff --git a/d8/dcc/namespacestd.html b/d8/dcc/namespacestd.html deleted file mode 100644 index e280fb6d5..000000000 --- a/d8/dcc/namespacestd.html +++ /dev/null @@ -1,2757 +0,0 @@ - - - - - - - -Algorithms_in_C++: std Namespace Reference - - - - - - - - - - - - - - - - - -
    -
    - - - - - - -
    -
    Algorithms_in_C++ 1.0.0 -
    -
    Set of algorithms implemented in C++.
    -
    -
    - - - - - - - - -
    -
    - -
    -
    -
    - -
    - -
    -
    - - -
    -
    -
    -
    -
    -
    Loading...
    -
    Searching...
    -
    No Matches
    -
    -
    -
    -
    - -
    - -
    std Namespace Reference
    -
    -
    - -

    STL namespace. -More...

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    -Classes

    class  add_const
     
    class  add_cv
     
    class  add_lvalue_reference
     
    class  add_pointer
     
    class  add_rvalue_reference
     
    class  add_volatile
     
    class  adopt_lock_t
     
    class  aligned_storage
     
    class  aligned_union
     
    class  alignment_of
     
    class  allocator
     STL class.
     
    class  allocator_arg_t
     
    class  allocator_traits
     
    class  array
     STL class.
     
    class  atomic
     STL class.
     
    class  atomic_flag
     
    class  atomic_ref
     STL class.
     
    class  auto_ptr
     STL class.
     
    class  back_insert_iterator
     
    class  bad_alloc
     STL class.
     
    class  bad_array_length
     
    class  bad_array_new_length
     
    class  bad_cast
     STL class.
     
    class  bad_exception
     STL class.
     
    class  bad_function_call
     
    class  bad_optional_access
     
    class  bad_typeid
     STL class.
     
    class  bad_weak_ptr
     
    class  basic_filebuf
     
    class  basic_fstream
     STL class.
     
    class  basic_ifstream
     STL class.
     
    class  basic_ios
     STL class.
     
    class  basic_iostream
     STL class.
     
    class  basic_istream
     STL class.
     
    class  basic_istringstream
     STL class.
     
    class  basic_ofstream
     STL class.
     
    class  basic_ostream
     STL class.
     
    class  basic_ostringstream
     STL class.
     
    class  basic_regex
     
    class  basic_streambuf
     
    class  basic_string
     STL class.
     
    class  basic_string_view
     STL class.
     
    class  basic_stringbuf
     
    class  basic_stringstream
     STL class.
     
    class  bernoulli_distribution
     
    class  bidirectional_iterator_tag
     
    class  binary_function
     
    class  binary_negate
     
    class  binomial_distribution
     
    class  bit_and
     
    class  bit_not
     
    class  bit_or
     
    class  bitset
     STL class.
     
    class  cauchy_distribution
     
    class  centi
     
    class  cerr
     
    class  char_traits
     
    class  chi_squared_distribution
     
    class  cin
     
    class  clock_t
     
    class  clog
     
    class  cmatch
     
    class  codecvt
     
    class  codecvt_base
     
    class  codecvt_byname
     
    class  codecvt_utf16
     
    class  codecvt_utf8
     
    class  codecvt_utf8_utf16
     
    class  collate
     
    class  collate_byname
     
    class  common_type
     
    class  complex
     STL class.
     
    class  condition_variable
     
    class  condition_variable_any
     
    class  conditional
     
    class  cout
     
    class  cregex_iterator
     
    class  cregex_token_iterator
     
    class  csub_match
     
    class  ctype
     
    class  ctype_base
     
    class  ctype_byname
     
    class  deca
     
    class  decay
     
    class  deci
     
    class  default_delete
     
    class  default_random_engine
     
    class  defer_lock_t
     
    class  deque
     STL class.
     
    class  discard_block_engine
     
    class  discrete_distribution
     
    class  divides
     
    class  domain_error
     STL class.
     
    class  dynarray
     
    class  enable_if
     
    class  enable_shared_from_this
     
    class  equal_to
     
    class  errc
     
    class  error_category
     STL class.
     
    class  error_code
     STL class.
     
    class  error_condition
     STL class.
     
    class  exa
     
    class  exception
     STL class.
     
    class  exception_ptr
     
    class  exponential_distribution
     
    class  extent
     
    class  extreme_value_distribution
     
    class  false_type
     
    class  femto
     
    class  FILE
     
    class  filebuf
     
    class  fisher_f_distribution
     
    class  forward_iterator_tag
     
    class  forward_list
     STL class.
     
    class  fpos
     
    class  fpos_t
     
    class  front_insert_iterator
     
    class  fstream
     STL class.
     
    class  function
     
    class  future
     
    class  future_error
     
    class  gamma_distribution
     
    class  geometric_distribution
     
    class  giga
     
    class  greater
     
    class  greater_equal
     
    class  has_virtual_destructor
     
    class  hash
     
    class  hecto
     
    class  ifstream
     STL class.
     
    class  independent_bits_engine
     
    class  initializer_list
     
    class  input_iterator_tag
     
    class  insert_iterator
     
    class  int16_t
     
    class  int32_t
     
    class  int64_t
     
    class  int8_t
     
    class  int_fast16_t
     
    class  int_fast32_t
     
    class  int_fast64_t
     
    class  int_fast8_t
     
    class  int_least16_t
     
    class  int_least32_t
     
    class  int_least64_t
     
    class  int_least8_t
     
    class  integer_sequence
     
    class  integral_constant
     
    class  intmax_t
     
    class  intptr_t
     
    class  invalid_argument
     STL class.
     
    class  ios
     STL class.
     
    class  ios_base
     STL class.
     
    class  iostream
     
    class  is_abstract
     
    class  is_arithmetic
     
    struct  is_arithmetic< uint128_t >
     
    struct  is_arithmetic< uint256_t >
     
    class  is_array
     
    class  is_assignable
     
    class  is_base_of
     
    class  is_bind_expression
     
    class  is_class
     
    class  is_compound
     
    class  is_const
     
    class  is_constructible
     
    class  is_convertible
     
    class  is_copy_assignable
     
    class  is_copy_constructible
     
    class  is_default_constructible
     
    class  is_destructible
     
    class  is_empty
     
    class  is_enum
     
    class  is_error_code_enum
     
    class  is_error_condition_enum
     
    class  is_floating_point
     
    class  is_function
     
    class  is_fundamental
     
    class  is_integral
     
    struct  is_integral< uint128_t >
     
    struct  is_integral< uint256_t >
     
    class  is_literal_type
     
    class  is_lvalue_reference
     
    class  is_member_function_pointer
     
    class  is_member_object_pointer
     
    class  is_member_pointer
     
    class  is_move_assignable
     
    class  is_move_constructible
     
    class  is_nothrow_assignable
     
    class  is_nothrow_constructible
     
    class  is_nothrow_copy_assignable
     
    class  is_nothrow_copy_constructible
     
    class  is_nothrow_default_constructible
     
    class  is_nothrow_destructible
     
    class  is_nothrow_move_assignable
     
    class  is_nothrow_move_constructible
     
    class  is_object
     
    class  is_placeholder
     
    class  is_pod
     
    class  is_pointer
     
    class  is_polymorphic
     
    class  is_reference
     
    class  is_rvalue_reference
     
    class  is_same
     
    class  is_scalar
     
    class  is_signed
     
    class  is_standard_layout
     
    class  is_trivial
     
    class  is_trivially_assignable
     
    class  is_trivially_constructible
     
    class  is_trivially_copy_assignable
     
    class  is_trivially_copy_constructible
     
    class  is_trivially_copyable
     
    class  is_trivially_default_constructible
     
    class  is_trivially_destructible
     
    class  is_trivially_move_assignable
     
    class  is_trivially_move_constructible
     
    class  is_union
     
    class  is_unsigned
     
    struct  is_unsigned< uint128_t >
     
    struct  is_unsigned< uint256_t >
     
    class  is_void
     
    class  is_volatile
     
    class  istream
     STL class.
     
    class  istream_iterator
     
    class  istreambuf_iterator
     
    class  istringstream
     STL class.
     
    class  istrstream
     
    class  iterator
     
    class  iterator_traits
     
    class  jmp_buf
     
    class  jthread
     STL class.
     
    class  kilo
     
    class  knuth_b
     
    class  lconv
     
    class  length_error
     STL class.
     
    class  less
     
    class  less_equal
     
    class  linear_congruential_engine
     
    class  list
     STL class.
     
    class  locale
     
    class  lock_guard
     STL class.
     
    class  logic_error
     STL class.
     
    class  logical_and
     
    class  logical_not
     
    class  logical_or
     
    class  lognormal_distribution
     
    class  make_signed
     
    class  make_unsigned
     
    class  map
     STL class.
     
    class  match_results
     
    class  max_align_t
     
    class  mbstate_t
     
    class  mega
     
    class  mersenne_twister_engine
     
    class  messages
     
    class  messages_base
     
    class  messages_byname
     
    class  micro
     
    class  milli
     
    class  minstd_rand
     
    class  minstd_rand0
     
    class  minus
     
    class  modulus
     
    class  money_base
     
    class  money_get
     
    class  money_put
     
    class  moneypunct
     
    class  moneypunct_byname
     
    class  move_iterator
     
    class  mt19937
     
    class  mt19937_64
     
    class  multimap
     STL class.
     
    class  multiplies
     
    class  multiset
     STL class.
     
    class  mutex
     STL class.
     
    class  nano
     
    class  negate
     
    class  negative_binomial_distribution
     
    class  nested_exception
     
    class  new_handler
     
    class  normal_distribution
     
    class  not_equal_to
     
    class  nothrow_t
     
    class  nullptr_t
     
    class  num_get
     
    class  num_put
     
    class  numeric_limits
     
    class  numpunct
     
    class  numpunct_byname
     
    class  ofstream
     STL class.
     
    class  once_flag
     
    class  ostream
     STL class.
     
    class  ostream_iterator
     
    class  ostreambuf_iterator
     
    class  ostringstream
     STL class.
     
    class  ostrstream
     
    class  out_of_range
     STL class.
     
    class  output_iterator_tag
     
    class  overflow_error
     STL class.
     
    class  owner_less
     
    class  packaged_task
     
    class  pair
     STL class.
     
    class  peta
     
    class  pico
     
    class  piecewise_constant_distribution
     
    class  piecewise_construct_t
     
    class  piecewise_linear_distribution
     
    class  placeholders
     
    class  plus
     
    class  pointer_safety
     
    class  pointer_traits
     
    class  poisson_distribution
     
    class  priority_queue
     STL class.
     
    class  promise
     
    class  ptrdiff_t
     
    class  queue
     STL class.
     
    class  random_access_iterator_tag
     
    class  random_device
     
    class  range_error
     STL class.
     
    class  rank
     
    class  ranlux24
     
    class  ranlux24_base
     
    class  ranlux48
     
    class  ranlux48_base
     
    class  ratio
     
    class  ratio_add
     
    class  ratio_divide
     
    class  ratio_equal
     
    class  ratio_greater
     
    class  ratio_greater_equal
     
    class  ratio_less
     
    class  ratio_less_equal
     
    class  ratio_multiply
     
    class  ratio_not_equal
     
    class  ratio_subtract
     
    class  raw_storage_iterator
     
    class  recursive_mutex
     STL class.
     
    class  recursive_timed_mutex
     STL class.
     
    class  reference_wrapper
     
    class  regex
     
    class  regex_error
     
    class  regex_iterator
     
    class  regex_token_iterator
     
    class  regex_traits
     
    class  remove_all_extents
     
    class  remove_const
     
    class  remove_cv
     
    class  remove_extent
     
    class  remove_pointer
     
    class  remove_reference
     
    class  remove_volatile
     
    class  result_of
     
    class  reverse_iterator
     
    class  runtime_error
     STL class.
     
    class  scoped_allocator_adaptor
     
    class  seed_seq
     
    class  set
     STL class.
     
    class  shared_future
     
    class  shared_lock
     STL class.
     
    class  shared_mutex
     STL class.
     
    class  shared_ptr
     STL class.
     
    class  shared_timed_mutex
     STL class.
     
    class  shuffle_order_engine
     
    class  sig_atomic_t
     
    class  size_t
     
    class  smart_ptr
     STL class.
     
    class  smatch
     
    class  span
     STL class.
     
    class  sregex_iterator
     
    class  sregex_token_iterator
     
    class  ssub_match
     
    class  stack
     STL class.
     
    class  streambuf
     
    class  streamoff
     
    class  streampos
     
    class  streamsize
     
    class  string
     STL class.
     
    class  string_view
     STL class.
     
    class  stringbuf
     
    class  stringstream
     STL class.
     
    class  strstream
     
    class  strstreambuf
     
    class  student_t_distribution
     
    class  sub_match
     
    class  subtract_with_carry_engine
     
    class  system_error
     STL class.
     
    class  tera
     
    class  terminate_handler
     
    class  thread
     STL class.
     
    class  time_base
     
    class  time_get
     
    class  time_get_byname
     
    class  time_put
     
    class  time_put_byname
     
    class  time_t
     
    class  timed_mutex
     STL class.
     
    class  tm
     
    class  true_type
     
    class  try_to_lock_t
     
    class  tuple
     
    class  type_index
     
    class  type_info
     
    class  u16streampos
     
    class  u16string
     STL class.
     
    class  u16string_view
     STL class.
     
    class  u32streampos
     
    class  u32string
     STL class.
     
    class  u32string_view
     STL class.
     
    class  u8string
     STL class.
     
    class  u8string_view
     STL class.
     
    class  uint16_t
     
    class  uint32_t
     
    class  uint64_t
     
    class  uint8_t
     
    class  uint_fast16_t
     
    class  uint_fast32_t
     
    class  uint_fast64_t
     
    class  uint_fast8_t
     
    class  uint_least16_t
     
    class  uint_least32_t
     
    class  uint_least64_t
     
    class  uint_least8_t
     
    class  uintmax_t
     
    class  uintptr_t
     
    class  unary_function
     
    class  unary_negate
     
    class  underflow_error
     STL class.
     
    class  underlying_type
     
    class  unexpected_handler
     
    class  uniform_int_distribution
     
    class  uniform_real_distribution
     
    class  unique_lock
     STL class.
     
    class  unique_ptr
     STL class.
     
    class  unordered_map
     STL class.
     
    class  unordered_multimap
     STL class.
     
    class  unordered_multiset
     STL class.
     
    class  unordered_set
     STL class.
     
    class  uses_allocator
     
    class  valarray
     STL class.
     
    class  vector
     STL class.
     
    class  wbuffer_convert
     
    class  wcerr
     
    class  wcin
     
    class  wclog
     
    class  wcmatch
     
    class  wcout
     
    class  wcregex_iterator
     
    class  wcregex_token_iterator
     
    class  wcsub_match
     
    class  weak_ptr
     STL class.
     
    class  weibull_distribution
     
    class  wfilebuf
     
    class  wfstream
     STL class.
     
    class  wifstream
     STL class.
     
    class  wios
     STL class.
     
    class  wiostream
     
    class  wistream
     STL class.
     
    class  wistringstream
     STL class.
     
    class  wofstream
     STL class.
     
    class  wostream
     STL class.
     
    class  wostringstream
     STL class.
     
    class  wregex
     
    class  wsmatch
     
    class  wsregex_iterator
     
    class  wsregex_token_iterator
     
    class  wssub_match
     
    class  wstreambuf
     
    class  wstreampos
     
    class  wstring
     STL class.
     
    class  wstring_convert
     
    class  wstring_view
     STL class.
     
    class  wstringbuf
     
    class  wstringstream
     STL class.
     
    class  yocto
     
    class  yotta
     
    class  zetta
     
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    -Functions

    -T atomic_fetch_and_explicit (T... args)
     
    -T atomic_fetch_xor_explicit (T... args)
     
    -T set_unexpected (T... args)
     
    -T fputs (T... args)
     
    -T modf (T... args)
     
    -T not2 (T... args)
     
    -T strlen (T... args)
     
    -T exp2 (T... args)
     
    -T setiosflags (T... args)
     
    -T adjacent_difference (T... args)
     
    -T cos (T... args)
     
    -T fwscanf (T... args)
     
    -T atomic_init (T... args)
     
    -T forward_as_tuple (T... args)
     
    -T abort (T... args)
     
    -T wcsncmp (T... args)
     
    -T set_intersection (T... args)
     
    -T atomic_signal_fence (T... args)
     
    -T llabs (T... args)
     
    -T make_move_iterator (T... args)
     
    -T scanf (T... args)
     
    -T nextafter (T... args)
     
    -T stol (T... args)
     
    -T strcspn (T... args)
     
    -T ungetwc (T... args)
     
    -T transform (T... args)
     
    -T putc (T... args)
     
    -T iswdigit (T... args)
     
    -T rint (T... args)
     
    -T memset (T... args)
     
    -T isgraph (T... args)
     
    -T replace_copy_if (T... args)
     
    -T scalbn (T... args)
     
    -T partial_sort_copy (T... args)
     
    -T make_exception_ptr (T... args)
     
    -T frexp (T... args)
     
    -T isxdigit (T... args)
     
    -T atomic_exchange_explicit (T... args)
     
    -T wprintf (T... args)
     
    -T fdim (T... args)
     
    -T wctype (T... args)
     
    -T mbrtoc32 (T... args)
     
    -T setw (T... args)
     
    -T get_temporary_buffer (T... args)
     
    -T fmax (T... args)
     
    -T atomic_thread_fence (T... args)
     
    -T atomic_exchange (T... args)
     
    -T fgetwc (T... args)
     
    -T swprintf (T... args)
     
    -T prev_permutation (T... args)
     
    -T max_element (T... args)
     
    -T set_symmetric_difference (T... args)
     
    -T wcscpy (T... args)
     
    -T const_pointer_cast (T... args)
     
    -T minmax_element (T... args)
     
    -T wcstok (T... args)
     
    -T ref (T... args)
     
    -T feupdateenv (T... args)
     
    -T endl (T... args)
     
    -T end (T... args)
     
    -T wmemmove (T... args)
     
    -T fmin (T... args)
     
    -T uninitialized_fill_n (T... args)
     
    -T nouppercase (T... args)
     
    -T noshowpos (T... args)
     
    -T ctime (T... args)
     
    -T wmemset (T... args)
     
    -T iswpunct (T... args)
     
    -T pop_heap (T... args)
     
    -T sprintf (T... args)
     
    -T fixed (T... args)
     
    -T make_shared (T... args)
     
    -T make_heap (T... args)
     
    -T fmod (T... args)
     
    -T atol (T... args)
     
    -T uninitialized_copy (T... args)
     
    -T dynamic_pointer_cast (T... args)
     
    -T set_union (T... args)
     
    -T hexfloat (T... args)
     
    -T vswprintf (T... args)
     
    -T asctime (T... args)
     
    -T iswspace (T... args)
     
    -T nan (T... args)
     
    -T sort (T... args)
     
    -T quick_exit (T... args)
     
    -T log10 (T... args)
     
    -T mbstowcs (T... args)
     
    -T isspace (T... args)
     
    -T strncat (T... args)
     
    -T isinf (T... args)
     
    -T atof (T... args)
     
    -T erf (T... args)
     
    -T is_sorted_until (T... args)
     
    -T cbrt (T... args)
     
    -T log1p (T... args)
     
    -T return_temporary_buffer (T... args)
     
    -T mbsrtowcs (T... args)
     
    -T feraiseexcept (T... args)
     
    -T fseek (T... args)
     
    -T atomic_fetch_or_explicit (T... args)
     
    -T log (T... args)
     
    -T putchar (T... args)
     
    -T make_tuple (T... args)
     
    -T expm1 (T... args)
     
    -T fma (T... args)
     
    -T remove_copy_if (T... args)
     
    -T showpoint (T... args)
     
    -T fscanf (T... args)
     
    -T stable_partition (T... args)
     
    -T fill_n (T... args)
     
    -T remove_copy (T... args)
     
    -T atomic_compare_exchange_strong_explicit (T... args)
     
    -T wctomb (T... args)
     
    -T fgets (T... args)
     
    -T remainder (T... args)
     
    -T allocate_shared (T... args)
     
    -T unique (T... args)
     
    -T includes (T... args)
     
    -T iswalnum (T... args)
     
    -T exit (T... args)
     
    -T put_time (T... args)
     
    -T to_string (T... args)
     
    -T is_heap_until (T... args)
     
    -T wcstold (T... args)
     
    -T stold (T... args)
     
    -T ftell (T... args)
     
    -T copy_backward (T... args)
     
    -T wcstoll (T... args)
     
    -T perror (T... args)
     
    -T vwscanf (T... args)
     
    -T stable_sort (T... args)
     
    -T generic_category (T... args)
     
    -T abs(int) (T... args)
     
    -T fgetws (T... args)
     
    -T showpos (T... args)
     
    -T exp (T... args)
     
    -T fill (T... args)
     
    -T isalpha (T... args)
     
    -T lgamma (T... args)
     
    -T feclearexcept (T... args)
     
    -T wcsncpy (T... args)
     
    -T undeclare_reachable (T... args)
     
    -T oct (T... args)
     
    -T strspn (T... args)
     
    -T realloc (T... args)
     
    -T copy (T... args)
     
    -T binary_search (T... args)
     
    -T system_category (T... args)
     
    -T mbrtowc (T... args)
     
    -T strtof (T... args)
     
    -T mem_fn (T... args)
     
    -T distance (T... args)
     
    -T lock (T... args)
     
    -T strcmp (T... args)
     
    -T tmpfile (T... args)
     
    -T hypot (T... args)
     
    -T getenv (T... args)
     
    -T strrchr (T... args)
     
    -T count (T... args)
     
    -T tan (T... args)
     
    -T strftime (T... args)
     
    -T stod (T... args)
     
    -T towupper (T... args)
     
    -T atoll (T... args)
     
    -T atomic_store (T... args)
     
    -T stoi (T... args)
     
    -T rethrow_exception (T... args)
     
    -T sin (T... args)
     
    -T atomic_fetch_sub_explicit (T... args)
     
    -T unexpected (T... args)
     
    -T mbtowc (T... args)
     
    -T get_time (T... args)
     
    -T partition (T... args)
     
    -T next (T... args)
     
    -T isfinite (T... args)
     
    -T boolalpha (T... args)
     
    -T fetestexcept (T... args)
     
    -T mbrlen (T... args)
     
    -T iswgraph (T... args)
     
    -T time (T... args)
     
    -T atomic_compare_exchange_strong (T... args)
     
    -T wcschr (T... args)
     
    -T uppercase (T... args)
     
    -T lower_bound (T... args)
     
    -T copy_if (T... args)
     
    -T isnan (T... args)
     
    -T has_facet (T... args)
     
    -T kill_dependency (T... args)
     
    -T uninitialized_copy_n (T... args)
     
    -T feholdexcept (T... args)
     
    -T div (T... args)
     
    -T at_quick_exit (T... args)
     
    -T wcspbrk (T... args)
     
    -T search (T... args)
     
    -T find_first_of (T... args)
     
    -T iota (T... args)
     
    -T declare_reachable (T... args)
     
    -T atomic_compare_exchange_weak (T... args)
     
    -T strtod (T... args)
     
    -T accumulate (T... args)
     
    -T wcsrchr (T... args)
     
    -T min_element (T... args)
     
    -T clearerr (T... args)
     
    -T random_shuffle (T... args)
     
    -T iswalpha (T... args)
     
    -T atomic_fetch_and (T... args)
     
    -T wmemchr (T... args)
     
    -T bsearch (T... args)
     
    -T ilogb (T... args)
     
    -T unique_copy (T... args)
     
    -T _Exit (T... args)
     
    -T move (T... args)
     
    -T find_end (T... args)
     
    -T fesetexceptflag (T... args)
     
    -T nth_element (T... args)
     
    -T gets (T... args)
     
    -T lexicographical_compare (T... args)
     
    -T nearbyint (T... args)
     
    -T memcpy (T... args)
     
    -T fwrite (T... args)
     
    -T unitbuf (T... args)
     
    -T iswlower (T... args)
     
    -T mblen (T... args)
     
    -T swscanf (T... args)
     
    -T wcstoimax (T... args)
     
    -T fprintf (T... args)
     
    -T find_if (T... args)
     
    -T strtoimax (T... args)
     
    -T isalnum (T... args)
     
    -T atomic_fetch_add_explicit (T... args)
     
    -T push_heap (T... args)
     
    -T min (T... args)
     
    -T fwprintf (T... args)
     
    -T uncaught_exception (T... args)
     
    -T strtoll (T... args)
     
    -T throw_with_nested (T... args)
     
    -T shuffle (T... args)
     
    -T isprint (T... args)
     
    -T get_new_handler (T... args)
     
    -T call_once (T... args)
     
    -T trunc (T... args)
     
    -T wcscspn (T... args)
     
    -T mbrtoc16 (T... args)
     
    -T lround (T... args)
     
    -T pow (T... args)
     
    -T tgamma (T... args)
     
    -T erfc (T... args)
     
    -T llround (T... args)
     
    -T abs(float) (T... args)
     
    -T asinh (T... args)
     
    -T feof (T... args)
     
    -T noskipws (T... args)
     
    -T find (T... args)
     
    -T atoi (T... args)
     
    -T not1 (T... args)
     
    -T vfscanf (T... args)
     
    -T stof (T... args)
     
    -T regex_search (T... args)
     
    -T rotate_copy (T... args)
     
    -T set_new_handler (T... args)
     
    -T undeclare_no_pointers (T... args)
     
    -T async (T... args)
     
    -T partition_point (T... args)
     
    -T vsscanf (T... args)
     
    -T fesetround (T... args)
     
    -T atomic_is_lock_free (T... args)
     
    -T tanh (T... args)
     
    -T ldiv (T... args)
     
    -T setbase (T... args)
     
    -T remove (T... args)
     
    -T strtol (T... args)
     
    -T strpbrk (T... args)
     
    -T signbit (T... args)
     
    -T wcsncat (T... args)
     
    -T get_money (T... args)
     
    -T set_difference (T... args)
     
    -T cref (T... args)
     
    -T getline (T... args)
     
    -T to_wstring (T... args)
     
    -T system (T... args)
     
    -T static_pointer_cast (T... args)
     
    -T wcstoumax (T... args)
     
    -T memmove (T... args)
     
    -T getwchar (T... args)
     
    -T scientific (T... args)
     
    -T wcsftime (T... args)
     
    -T begin (T... args)
     
    -T ceil (T... args)
     
    -T sinh (T... args)
     
    -T is_permutation (T... args)
     
    -T generate_n (T... args)
     
    -T acosh (T... args)
     
    -T advance (T... args)
     
    -T flush (T... args)
     
    -T atomic_fetch_xor (T... args)
     
    -T ws (T... args)
     
    -T signal (T... args)
     
    -T noshowbase (T... args)
     
    -T generate (T... args)
     
    -T ldexp (T... args)
     
    -T vsnprintf (T... args)
     
    -T remove_if (T... args)
     
    -T stoull (T... args)
     
    -T fegetexceptflag (T... args)
     
    -T find_if_not (T... args)
     
    -T merge (T... args)
     
    -T free (T... args)
     
    -T count_if (T... args)
     
    -T clock (T... args)
     
    -T mktime (T... args)
     
    -T inserter (T... args)
     
    -T puts (T... args)
     
    -T asin (T... args)
     
    -T iscntrl (T... args)
     
    -T difftime (T... args)
     
    -T terminate (T... args)
     
    -T memcmp (T... args)
     
    -T uninitialized_fill (T... args)
     
    -T hex (T... args)
     
    -T tie (T... args)
     
    -T back_inserter (T... args)
     
    -T upper_bound (T... args)
     
    -T adjacent_find (T... args)
     
    -T use_facet (T... args)
     
    -T vfwprintf (T... args)
     
    -T atomic_fetch_add (T... args)
     
    -T fsetpos (T... args)
     
    -T malloc (T... args)
     
    -T localtime (T... args)
     
    -T wcscmp (T... args)
     
    -T c32rtomb (T... args)
     
    -T isupper (T... args)
     
    -T wcstod (T... args)
     
    -T tolower (T... args)
     
    -T sort_heap (T... args)
     
    -T isdigit (T... args)
     
    -T wcslen (T... args)
     
    -T wmemcmp (T... args)
     
    -T move_if_noexcept (T... args)
     
    -T declval (T... args)
     
    -T fpclassify (T... args)
     
    -T iswupper (T... args)
     
    -T rand (T... args)
     
    -T atomic_compare_exchange_weak_explicit (T... args)
     
    -T partial_sort (T... args)
     
    -T llrint (T... args)
     
    -T fclose (T... args)
     
    -T reverse (T... args)
     
    -T partial_sum (T... args)
     
    -T showbase (T... args)
     
    -T vswscanf (T... args)
     
    -T atan (T... args)
     
    -T atanh (T... args)
     
    -T iter_swap (T... args)
     
    -T scalbln (T... args)
     
    -T reverse_copy (T... args)
     
    -T forward (T... args)
     
    -T getc (T... args)
     
    -T equal_range (T... args)
     
    -T atomic_fetch_sub (T... args)
     
    -T is_partitioned (T... args)
     
    -T next_permutation (T... args)
     
    -T isblank (T... args)
     
    -T noshowpoint (T... args)
     
    -T atan2 (T... args)
     
    -T nanf (T... args)
     
    -T towctrans (T... args)
     
    -T right (T... args)
     
    -T fputwc (T... args)
     
    -T strtoul (T... args)
     
    -T is_heap (T... args)
     
    -T fflush (T... args)
     
    -T strtoumax (T... args)
     
    -T nexttoward (T... args)
     
    -T nounitbuf (T... args)
     
    -T ispunct (T... args)
     
    -T noboolalpha (T... args)
     
    -T make_pair (T... args)
     
    -T iswctype (T... args)
     
    -T srand (T... args)
     
    -T replace_copy (T... args)
     
    -T future_category (T... args)
     
    -T resetiosflags (T... args)
     
    -T vprintf (T... args)
     
    -T gmtime (T... args)
     
    -T align (T... args)
     
    -T tuple_cat (T... args)
     
    -T ends (T... args)
     
    -T set_terminate (T... args)
     
    -T lrint (T... args)
     
    -T none_of (T... args)
     
    -T wscanf (T... args)
     
    -T fputc (T... args)
     
    -T dec (T... args)
     
    -T strcat (T... args)
     
    -T raise (T... args)
     
    -T wcsspn (T... args)
     
    -T fabs (T... args)
     
    -T wmemcpy (T... args)
     
    -T copy_n (T... args)
     
    -T rethrow_if_nested (T... args)
     
    -T setlocale (T... args)
     
    -T addressof (T... args)
     
    -T calloc (T... args)
     
    -T strerror (T... args)
     
    -T strcpy (T... args)
     
    -T wcstoull (T... args)
     
    -T c16rtomb (T... args)
     
    -T generate_canonical (T... args)
     
    -T vfprintf (T... args)
     
    -T notify_all_at_thread_exit (T... args)
     
    -T rotate (T... args)
     
    -T current_exception (T... args)
     
    -T strtok (T... args)
     
    -T wcscat (T... args)
     
    -T strncpy (T... args)
     
    -T towlower (T... args)
     
    -T floor (T... args)
     
    -T left (T... args)
     
    -T ferror (T... args)
     
    -T atomic_load_explicit (T... args)
     
    -T swap (T... args)
     
    -T acos (T... args)
     
    -T wcscoll (T... args)
     
    -T sqrt (T... args)
     
    -T mbsinit (T... args)
     
    -T qsort (T... args)
     
    -T stoll (T... args)
     
    -T put_money (T... args)
     
    -T wcstoul (T... args)
     
    -T wcstol (T... args)
     
    -T atexit (T... args)
     
    -T atomic_fetch_or (T... args)
     
    -T rewind (T... args)
     
    -T wcsxfrm (T... args)
     
    -T round (T... args)
     
    -T vwprintf (T... args)
     
    -T all_of (T... args)
     
    -T replace (T... args)
     
    -T remquo (T... args)
     
    -T setbuf (T... args)
     
    -T strncmp (T... args)
     
    -T localeconv (T... args)
     
    -T wctrans (T... args)
     
    -T any_of (T... args)
     
    -T equal (T... args)
     
    -T max (T... args)
     
    -T strxfrm (T... args)
     
    -T iswxdigit (T... args)
     
    -T labs (T... args)
     
    -T regex_match (T... args)
     
    -T fputws (T... args)
     
    -T wcrtomb (T... args)
     
    -T setprecision (T... args)
     
    -T setvbuf (T... args)
     
    -T regex_replace (T... args)
     
    -T freopen (T... args)
     
    -T logb (T... args)
     
    -T wctob (T... args)
     
    -T atomic_load (T... args)
     
    -T search_n (T... args)
     
    -T toupper (T... args)
     
    -T move_backward (T... args)
     
    -T is_sorted (T... args)
     
    -T strtoull (T... args)
     
    -T iswblank (T... args)
     
    -T get_pointer_safety (T... args)
     
    -T get_unexpected (T... args)
     
    -T sscanf (T... args)
     
    -T fesetenv (T... args)
     
    -T atomic_store_explicit (T... args)
     
    -T strtold (T... args)
     
    -T fread (T... args)
     
    -T memchr (T... args)
     
    -T btowc (T... args)
     
    -T replace_if (T... args)
     
    -T strcoll (T... args)
     
    -T vsprintf (T... args)
     
    -T mismatch (T... args)
     
    -T getchar (T... args)
     
    -T islower (T... args)
     
    -T tmpnam (T... args)
     
    -T nanl (T... args)
     
    -T fopen (T... args)
     
    -T for_each (T... args)
     
    -T fegetround (T... args)
     
    -T ungetc (T... args)
     
    -T internal (T... args)
     
    -T vfwscanf (T... args)
     
    -T fgetc (T... args)
     
    -T wcstof (T... args)
     
    -T bind (T... args)
     
    -T skipws (T... args)
     
    -T iswprint (T... args)
     
    -T wcstombs (T... args)
     
    -T inplace_merge (T... args)
     
    -T copysign (T... args)
     
    -T putwchar (T... args)
     
    -T wcsstr (T... args)
     
    -T fegetenv (T... args)
     
    -T longjmp (T... args)
     
    -T iswcntrl (T... args)
     
    -T declare_no_pointers (T... args)
     
    -T isnormal (T... args)
     
    -T swap_ranges (T... args)
     
    -T minmax (T... args)
     
    -T defaultfloat (T... args)
     
    -T rename (T... args)
     
    -T snprintf (T... args)
     
    -T try_lock (T... args)
     
    -T stoul (T... args)
     
    -T fgetpos (T... args)
     
    -T partition_copy (T... args)
     
    -T vscanf (T... args)
     
    -T front_inserter (T... args)
     
    -T get_terminate (T... args)
     
    -T cosh (T... args)
     
    -T prev (T... args)
     
    -T strchr (T... args)
     
    -T strstr (T... args)
     
    -T printf (T... args)
     
    -T setfill (T... args)
     
    -T inner_product (T... args)
     
    -

    Detailed Description

    -

    STL namespace.

    -
    -
    - - - - diff --git a/d8/dcc/namespacestd.js b/d8/dcc/namespacestd.js deleted file mode 100644 index 0bacdb353..000000000 --- a/d8/dcc/namespacestd.js +++ /dev/null @@ -1,552 +0,0 @@ -var namespacestd = -[ - [ "chrono", "http://en.cppreference.com/w/d4/d0c/namespacestd_1_1chrono.html", [ - [ "duration_cast", "http://en.cppreference.com/w/cpp/chrono/duration/duration_cast.html", null ], - [ "time_point_cast", "http://en.cppreference.com/w/cpp/chrono/time_point/time_point_cast.html", null ] - ] ], - [ "experimental", "http://en.cppreference.com/w/de/d97/namespacestd_1_1experimental.html", [ - [ "make_optional", "http://en.cppreference.com/w/cpp/experimental/optional/make_optional.html", null ] - ] ], - [ "regex_constants", "http://en.cppreference.com/w/db/da4/namespacestd_1_1regex__constants.html", null ], - [ "rel_ops", "http://en.cppreference.com/w/da/d42/namespacestd_1_1rel__ops.html", [ - [ "operator!=", "http://en.cppreference.com/w/cpp/utility/rel_ops/operator_cmp.html", null ], - [ "operator<=", "http://en.cppreference.com/w/cpp/utility/rel_ops/operator_cmp.html", null ], - [ "operator>", "http://en.cppreference.com/w/cpp/utility/rel_ops/operator_cmp.html", null ], - [ "operator>=", "http://en.cppreference.com/w/cpp/utility/rel_ops/operator_cmp.html", null ] - ] ], - [ "this_thread", "http://en.cppreference.com/w/d7/dbf/namespacestd_1_1this__thread.html", [ - [ "get_id", "http://en.cppreference.com/w/cpp/thread/get_id.html", null ], - [ "sleep_for", "http://en.cppreference.com/w/cpp/thread/sleep_for.html", null ], - [ "sleep_until", "http://en.cppreference.com/w/cpp/thread/sleep_until.html", null ], - [ "yield", "http://en.cppreference.com/w/cpp/thread/yield.html", null ] - ] ], - [ "is_arithmetic< uint128_t >", "d2/dfc/structstd_1_1is__arithmetic_3_01uint128__t_01_4.html", null ], - [ "is_arithmetic< uint256_t >", "dc/d6d/structstd_1_1is__arithmetic_3_01uint256__t_01_4.html", null ], - [ "is_integral< uint128_t >", "d2/dd4/structstd_1_1is__integral_3_01uint128__t_01_4.html", null ], - [ "is_integral< uint256_t >", "d7/d47/structstd_1_1is__integral_3_01uint256__t_01_4.html", null ], - [ "is_unsigned< uint128_t >", "d5/d25/structstd_1_1is__unsigned_3_01uint128__t_01_4.html", null ], - [ "is_unsigned< uint256_t >", "df/d99/structstd_1_1is__unsigned_3_01uint256__t_01_4.html", null ], - [ "_Exit", "http://en.cppreference.com/w/cpp/utility/program/_Exit.html", null ], - [ "abort", "http://en.cppreference.com/w/cpp/utility/program/abort.html", null ], - [ "abs(float)", "http://en.cppreference.com/w/cpp/numeric/math/fabs.html", null ], - [ "abs(int)", "http://en.cppreference.com/w/cpp/numeric/math/abs.html", null ], - [ "accumulate", "http://en.cppreference.com/w/cpp/algorithm/accumulate.html", null ], - [ "acos", "http://en.cppreference.com/w/cpp/numeric/math/acos.html", null ], - [ "acosh", "http://en.cppreference.com/w/cpp/numeric/math/acosh.html", null ], - [ "addressof", "http://en.cppreference.com/w/cpp/memory/addressof.html", null ], - [ "adjacent_difference", "http://en.cppreference.com/w/cpp/algorithm/adjacent_difference.html", null ], - [ "adjacent_find", "http://en.cppreference.com/w/cpp/algorithm/adjacent_find.html", null ], - [ "advance", "http://en.cppreference.com/w/cpp/iterator/advance.html", null ], - [ "align", "http://en.cppreference.com/w/cpp/memory/align.html", null ], - [ "all_of", "http://en.cppreference.com/w/cpp/algorithm/all_any_none_of.html", null ], - [ "allocate_shared", "http://en.cppreference.com/w/cpp/memory/shared_ptr/allocate_shared.html", null ], - [ "any_of", "http://en.cppreference.com/w/cpp/algorithm/all_any_none_of.html", null ], - [ "asctime", "http://en.cppreference.com/w/cpp/chrono/c/asctime.html", null ], - [ "asin", "http://en.cppreference.com/w/cpp/numeric/math/asin.html", null ], - [ "asinh", "http://en.cppreference.com/w/cpp/numeric/math/asinh.html", null ], - [ "async", "http://en.cppreference.com/w/cpp/thread/async.html", null ], - [ "at_quick_exit", "http://en.cppreference.com/w/cpp/utility/program/at_quick_exit.html", null ], - [ "atan", "http://en.cppreference.com/w/cpp/numeric/math/atan.html", null ], - [ "atan2", "http://en.cppreference.com/w/cpp/numeric/math/atan2.html", null ], - [ "atanh", "http://en.cppreference.com/w/cpp/numeric/math/atanh.html", null ], - [ "atexit", "http://en.cppreference.com/w/cpp/utility/program/atexit.html", null ], - [ "atof", "http://en.cppreference.com/w/cpp/string/byte/atof.html", null ], - [ "atoi", "http://en.cppreference.com/w/cpp/string/byte/atoi.html", null ], - [ "atol", "http://en.cppreference.com/w/cpp/string/byte/atoi.html", null ], - [ "atoll", "http://en.cppreference.com/w/cpp/string/byte/atoi.html", null ], - [ "atomic_compare_exchange_strong", "http://en.cppreference.com/w/cpp/atomic/atomic_compare_exchange.html", null ], - [ "atomic_compare_exchange_strong_explicit", "http://en.cppreference.com/w/cpp/atomic/atomic_compare_exchange.html", null ], - [ "atomic_compare_exchange_weak", "http://en.cppreference.com/w/cpp/atomic/atomic_compare_exchange.html", null ], - [ "atomic_compare_exchange_weak_explicit", "http://en.cppreference.com/w/cpp/atomic/atomic_compare_exchange.html", null ], - [ "atomic_exchange", "http://en.cppreference.com/w/cpp/atomic/atomic_exchange.html", null ], - [ "atomic_exchange_explicit", "http://en.cppreference.com/w/cpp/atomic/atomic_exchange.html", null ], - [ "atomic_fetch_add", "http://en.cppreference.com/w/cpp/atomic/atomic_fetch_add.html", null ], - [ "atomic_fetch_add_explicit", "http://en.cppreference.com/w/cpp/atomic/atomic_fetch_add.html", null ], - [ "atomic_fetch_and", "http://en.cppreference.com/w/cpp/atomic/atomic_fetch_sub.html", null ], - [ "atomic_fetch_and_explicit", "http://en.cppreference.com/w/cpp/atomic/atomic_fetch_sub.html", null ], - [ "atomic_fetch_or", "http://en.cppreference.com/w/cpp/atomic/atomic_fetch_or.html", null ], - [ "atomic_fetch_or_explicit", "http://en.cppreference.com/w/cpp/atomic/atomic_fetch_or.html", null ], - [ "atomic_fetch_sub", "http://en.cppreference.com/w/cpp/atomic/atomic_fetch_sub.html", null ], - [ "atomic_fetch_sub_explicit", "http://en.cppreference.com/w/cpp/atomic/atomic_fetch_sub.html", null ], - [ "atomic_fetch_xor", "http://en.cppreference.com/w/cpp/atomic/atomic_fetch_xor.html", null ], - [ "atomic_fetch_xor_explicit", "http://en.cppreference.com/w/cpp/atomic/atomic_fetch_xor.html", null ], - [ "atomic_init", "http://en.cppreference.com/w/cpp/atomic/atomic_init.html", null ], - [ "atomic_is_lock_free", "http://en.cppreference.com/w/cpp/atomic/atomic_is_lock_free.html", null ], - [ "atomic_load", "http://en.cppreference.com/w/cpp/atomic/atomic_load.html", null ], - [ "atomic_load_explicit", "http://en.cppreference.com/w/cpp/atomic/atomic_load.html", null ], - [ "atomic_signal_fence", "http://en.cppreference.com/w/cpp/atomic/atomic_signal_fence.html", null ], - [ "atomic_store", "http://en.cppreference.com/w/cpp/atomic/atomic_store.html", null ], - [ "atomic_store_explicit", "http://en.cppreference.com/w/cpp/atomic/atomic_store.html", null ], - [ "atomic_thread_fence", "http://en.cppreference.com/w/cpp/atomic/atomic_thread_fence.html", null ], - [ "back_inserter", "http://en.cppreference.com/w/cpp/iterator/back_inserter.html", null ], - [ "begin", "http://en.cppreference.com/w/cpp/iterator/begin.html", null ], - [ "binary_search", "http://en.cppreference.com/w/cpp/algorithm/binary_search.html", null ], - [ "bind", "http://en.cppreference.com/w/cpp/utility/functional/bind.html", null ], - [ "boolalpha", "http://en.cppreference.com/w/cpp/io/manip/boolalpha.html", null ], - [ "bsearch", "http://en.cppreference.com/w/cpp/algorithm/bsearch.html", null ], - [ "btowc", "http://en.cppreference.com/w/cpp/string/multibyte/btowc.html", null ], - [ "c16rtomb", "http://en.cppreference.com/w/cpp/string/multibyte/c16rtomb.html", null ], - [ "c32rtomb", "http://en.cppreference.com/w/cpp/string/multibyte/c32rtomb.html", null ], - [ "call_once", "http://en.cppreference.com/w/cpp/thread/call_once.html", null ], - [ "calloc", "http://en.cppreference.com/w/cpp/memory/c/calloc.html", null ], - [ "cbrt", "http://en.cppreference.com/w/cpp/numeric/math/cbrt.html", null ], - [ "ceil", "http://en.cppreference.com/w/cpp/numeric/math/ceil.html", null ], - [ "clearerr", "http://en.cppreference.com/w/cpp/io/c/clearerr.html", null ], - [ "clock", "http://en.cppreference.com/w/cpp/chrono/c/clock.html", null ], - [ "const_pointer_cast", "http://en.cppreference.com/w/cpp/memory/shared_ptr/pointer_cast.html", null ], - [ "copy", "http://en.cppreference.com/w/cpp/algorithm/copy.html", null ], - [ "copy_backward", "http://en.cppreference.com/w/cpp/algorithm/copy_backward.html", null ], - [ "copy_if", "http://en.cppreference.com/w/cpp/algorithm/copy.html", null ], - [ "copy_n", "http://en.cppreference.com/w/cpp/algorithm/copy_n.html", null ], - [ "copysign", "http://en.cppreference.com/w/cpp/numeric/math/copysign.html", null ], - [ "cos", "http://en.cppreference.com/w/cpp/numeric/math/cos.html", null ], - [ "cosh", "http://en.cppreference.com/w/cpp/numeric/math/cosh.html", null ], - [ "count", "http://en.cppreference.com/w/cpp/algorithm/count.html", null ], - [ "count_if", "http://en.cppreference.com/w/cpp/algorithm/count.html", null ], - [ "cref", "http://en.cppreference.com/w/cpp/utility/functional/ref.html", null ], - [ "ctime", "http://en.cppreference.com/w/cpp/chrono/c/ctime.html", null ], - [ "current_exception", "http://en.cppreference.com/w/cpp/error/current_exception.html", null ], - [ "dec", "http://en.cppreference.com/w/cpp/io/manip/hex.html", null ], - [ "declare_no_pointers", "http://en.cppreference.com/w/cpp/memory/gc/declare_no_pointers.html", null ], - [ "declare_reachable", "http://en.cppreference.com/w/cpp/memory/gc/declare_reachable.html", null ], - [ "declval", "http://en.cppreference.com/w/cpp/utility/declval.html", null ], - [ "defaultfloat", "http://en.cppreference.com/w/cpp/io/manip/fixed.html", null ], - [ "difftime", "http://en.cppreference.com/w/cpp/chrono/c/difftime.html", null ], - [ "distance", "http://en.cppreference.com/w/cpp/iterator/distance.html", null ], - [ "div", "http://en.cppreference.com/w/cpp/numeric/math/div.html", null ], - [ "dynamic_pointer_cast", "http://en.cppreference.com/w/cpp/memory/shared_ptr/pointer_cast.html", null ], - [ "end", "http://en.cppreference.com/w/cpp/iterator/end.html", null ], - [ "endl", "http://en.cppreference.com/w/cpp/io/manip/endl.html", null ], - [ "ends", "http://en.cppreference.com/w/cpp/io/manip/ends.html", null ], - [ "equal", "http://en.cppreference.com/w/cpp/algorithm/equal.html", null ], - [ "equal_range", "http://en.cppreference.com/w/cpp/algorithm/equal_range.html", null ], - [ "erf", "http://en.cppreference.com/w/cpp/numeric/math/erf.html", null ], - [ "erfc", "http://en.cppreference.com/w/cpp/numeric/math/erfc.html", null ], - [ "exit", "http://en.cppreference.com/w/cpp/utility/program/exit.html", null ], - [ "exp", "http://en.cppreference.com/w/cpp/numeric/math/exp.html", null ], - [ "exp2", "http://en.cppreference.com/w/cpp/numeric/math/exp2.html", null ], - [ "expm1", "http://en.cppreference.com/w/cpp/numeric/math/expm1.html", null ], - [ "fabs", "http://en.cppreference.com/w/cpp/numeric/math/fabs.html", null ], - [ "fclose", "http://en.cppreference.com/w/cpp/io/c/fclose.html", null ], - [ "fdim", "http://en.cppreference.com/w/cpp/numeric/math/fdim.html", null ], - [ "feclearexcept", "http://en.cppreference.com/w/cpp/numeric/fenv/feclearexcept.html", null ], - [ "fegetenv", "http://en.cppreference.com/w/cpp/numeric/fenv/feenv.html", null ], - [ "fegetexceptflag", "http://en.cppreference.com/w/cpp/numeric/fenv/feexceptflag.html", null ], - [ "fegetround", "http://en.cppreference.com/w/cpp/numeric/fenv/feround.html", null ], - [ "feholdexcept", "http://en.cppreference.com/w/cpp/numeric/fenv/feholdexcept.html", null ], - [ "feof", "http://en.cppreference.com/w/cpp/io/c/feof.html", null ], - [ "feraiseexcept", "http://en.cppreference.com/w/cpp/numeric/fenv/feraiseexcept.html", null ], - [ "ferror", "http://en.cppreference.com/w/cpp/io/c/ferror.html", null ], - [ "fesetenv", "http://en.cppreference.com/w/cpp/numeric/fenv/feenv.html", null ], - [ "fesetexceptflag", "http://en.cppreference.com/w/cpp/numeric/fenv/feexceptflag.html", null ], - [ "fesetround", "http://en.cppreference.com/w/cpp/numeric/fenv/feround.html", null ], - [ "fetestexcept", "http://en.cppreference.com/w/cpp/numeric/fenv/fetestexcept.html", null ], - [ "feupdateenv", "http://en.cppreference.com/w/cpp/numeric/fenv/feupdateenv.html", null ], - [ "fflush", "http://en.cppreference.com/w/cpp/io/c/fflush.html", null ], - [ "fgetc", "http://en.cppreference.com/w/cpp/io/c/fgetc.html", null ], - [ "fgetpos", "http://en.cppreference.com/w/cpp/io/c/fgetpos.html", null ], - [ "fgets", "http://en.cppreference.com/w/cpp/io/c/fgets.html", null ], - [ "fgetwc", "http://en.cppreference.com/w/cpp/io/c/fgetwc.html", null ], - [ "fgetws", "http://en.cppreference.com/w/cpp/io/c/fgetws.html", null ], - [ "fill", "http://en.cppreference.com/w/cpp/algorithm/fill.html", null ], - [ "fill_n", "http://en.cppreference.com/w/cpp/algorithm/fill_n.html", null ], - [ "find", "http://en.cppreference.com/w/cpp/algorithm/find.html", null ], - [ "find_end", "http://en.cppreference.com/w/cpp/algorithm/find_end.html", null ], - [ "find_first_of", "http://en.cppreference.com/w/cpp/algorithm/find_first_of.html", null ], - [ "find_if", "http://en.cppreference.com/w/cpp/algorithm/find.html", null ], - [ "find_if_not", "http://en.cppreference.com/w/cpp/algorithm/find.html", null ], - [ "fixed", "http://en.cppreference.com/w/cpp/io/manip/fixed.html", null ], - [ "floor", "http://en.cppreference.com/w/cpp/numeric/math/floor.html", null ], - [ "flush", "http://en.cppreference.com/w/cpp/io/manip/flush.html", null ], - [ "fma", "http://en.cppreference.com/w/cpp/numeric/math/fma.html", null ], - [ "fmax", "http://en.cppreference.com/w/cpp/numeric/math/fmax.html", null ], - [ "fmin", "http://en.cppreference.com/w/cpp/numeric/math/fmin.html", null ], - [ "fmod", "http://en.cppreference.com/w/cpp/numeric/math/fmod.html", null ], - [ "fopen", "http://en.cppreference.com/w/cpp/io/c/fopen.html", null ], - [ "for_each", "http://en.cppreference.com/w/cpp/algorithm/for_each.html", null ], - [ "forward", "http://en.cppreference.com/w/cpp/utility/forward.html", null ], - [ "forward_as_tuple", "http://en.cppreference.com/w/cpp/utility/tuple/forward_as_tuple.html", null ], - [ "fpclassify", "http://en.cppreference.com/w/cpp/numeric/math/fpclassify.html", null ], - [ "fprintf", "http://en.cppreference.com/w/cpp/io/c/fprintf.html", null ], - [ "fputc", "http://en.cppreference.com/w/cpp/io/c/fputc.html", null ], - [ "fputs", "http://en.cppreference.com/w/cpp/io/c/fputs.html", null ], - [ "fputwc", "http://en.cppreference.com/w/cpp/io/c/fputwc.html", null ], - [ "fputws", "http://en.cppreference.com/w/cpp/io/c/fputws.html", null ], - [ "fread", "http://en.cppreference.com/w/cpp/io/c/fread.html", null ], - [ "free", "http://en.cppreference.com/w/cpp/memory/c/free.html", null ], - [ "freopen", "http://en.cppreference.com/w/cpp/io/c/freopen.html", null ], - [ "frexp", "http://en.cppreference.com/w/cpp/numeric/math/frexp.html", null ], - [ "front_inserter", "http://en.cppreference.com/w/cpp/iterator/front_inserter.html", null ], - [ "fscanf", "http://en.cppreference.com/w/cpp/io/c/fscanf.html", null ], - [ "fseek", "http://en.cppreference.com/w/cpp/io/c/fseek.html", null ], - [ "fsetpos", "http://en.cppreference.com/w/cpp/io/c/fsetpos.html", null ], - [ "ftell", "http://en.cppreference.com/w/cpp/io/c/ftell.html", null ], - [ "future_category", "http://en.cppreference.com/w/cpp/thread/future/future_category.html", null ], - [ "fwprintf", "http://en.cppreference.com/w/cpp/io/c/fwprintf.html", null ], - [ "fwrite", "http://en.cppreference.com/w/cpp/io/c/fwrite.html", null ], - [ "fwscanf", "http://en.cppreference.com/w/cpp/io/c/fwscanf.html", null ], - [ "generate", "http://en.cppreference.com/w/cpp/algorithm/generate.html", null ], - [ "generate_canonical", "http://en.cppreference.com/w/cpp/numeric/random/generate_canonical.html", null ], - [ "generate_n", "http://en.cppreference.com/w/cpp/algorithm/generate_n.html", null ], - [ "generic_category", "http://en.cppreference.com/w/cpp/error/generic_category.html", null ], - [ "get_money", "http://en.cppreference.com/w/cpp/io/manip/get_money.html", null ], - [ "get_new_handler", "http://en.cppreference.com/w/cpp/memory/new/get_new_handler.html", null ], - [ "get_pointer_safety", "http://en.cppreference.com/w/cpp/memory/gc/get_pointer_safety.html", null ], - [ "get_temporary_buffer", "http://en.cppreference.com/w/cpp/memory/get_temporary_buffer.html", null ], - [ "get_terminate", "http://en.cppreference.com/w/cpp/error/get_terminate.html", null ], - [ "get_time", "http://en.cppreference.com/w/cpp/io/manip/get_time.html", null ], - [ "get_unexpected", "http://en.cppreference.com/w/cpp/error/get_unexpected.html", null ], - [ "getc", "http://en.cppreference.com/w/cpp/io/c/fgetc.html", null ], - [ "getchar", "http://en.cppreference.com/w/cpp/io/c/getchar.html", null ], - [ "getenv", "http://en.cppreference.com/w/cpp/utility/program/getenv.html", null ], - [ "getline", "http://en.cppreference.com/w/cpp/string/basic_string/getline.html", null ], - [ "gets", "http://en.cppreference.com/w/cpp/io/c/gets.html", null ], - [ "getwchar", "http://en.cppreference.com/w/cpp/io/c/getwchar.html", null ], - [ "gmtime", "http://en.cppreference.com/w/cpp/chrono/c/gmtime.html", null ], - [ "has_facet", "http://en.cppreference.com/w/cpp/locale/has_facet.html", null ], - [ "hex", "http://en.cppreference.com/w/cpp/io/manip/hex.html", null ], - [ "hexfloat", "http://en.cppreference.com/w/cpp/io/manip/fixed.html", null ], - [ "hypot", "http://en.cppreference.com/w/cpp/numeric/math/hypot.html", null ], - [ "ilogb", "http://en.cppreference.com/w/cpp/numeric/math/ilogb.html", null ], - [ "includes", "http://en.cppreference.com/w/cpp/algorithm/includes.html", null ], - [ "inner_product", "http://en.cppreference.com/w/cpp/algorithm/inner_product.html", null ], - [ "inplace_merge", "http://en.cppreference.com/w/cpp/algorithm/inplace_merge.html", null ], - [ "inserter", "http://en.cppreference.com/w/cpp/iterator/inserter.html", null ], - [ "internal", "http://en.cppreference.com/w/cpp/io/manip/left.html", null ], - [ "iota", "http://en.cppreference.com/w/cpp/algorithm/iota.html", null ], - [ "is_heap", "http://en.cppreference.com/w/cpp/algorithm/is_heap.html", null ], - [ "is_heap_until", "http://en.cppreference.com/w/cpp/algorithm/is_heap_until.html", null ], - [ "is_partitioned", "http://en.cppreference.com/w/cpp/algorithm/is_partitioned.html", null ], - [ "is_permutation", "http://en.cppreference.com/w/cpp/algorithm/is_permutation.html", null ], - [ "is_sorted", "http://en.cppreference.com/w/cpp/algorithm/is_sorted.html", null ], - [ "is_sorted_until", "http://en.cppreference.com/w/cpp/algorithm/is_sorted_until.html", null ], - [ "isalnum", "http://en.cppreference.com/w/cpp/string/byte/isalnum.html", null ], - [ "isalpha", "http://en.cppreference.com/w/cpp/string/byte/isalpha.html", null ], - [ "isblank", "http://en.cppreference.com/w/cpp/string/byte/isblank.html", null ], - [ "iscntrl", "http://en.cppreference.com/w/cpp/string/byte/iscntrl.html", null ], - [ "isdigit", "http://en.cppreference.com/w/cpp/string/byte/isdigit.html", null ], - [ "isfinite", "http://en.cppreference.com/w/cpp/numeric/math/isfinite.html", null ], - [ "isgraph", "http://en.cppreference.com/w/cpp/string/byte/isgraph.html", null ], - [ "isinf", "http://en.cppreference.com/w/cpp/numeric/math/isinf.html", null ], - [ "islower", "http://en.cppreference.com/w/cpp/string/byte/islower.html", null ], - [ "isnan", "http://en.cppreference.com/w/cpp/numeric/math/isnan.html", null ], - [ "isnormal", "http://en.cppreference.com/w/cpp/numeric/math/isnormal.html", null ], - [ "isprint", "http://en.cppreference.com/w/cpp/string/byte/isprint.html", null ], - [ "ispunct", "http://en.cppreference.com/w/cpp/string/byte/ispunct.html", null ], - [ "isspace", "http://en.cppreference.com/w/cpp/string/byte/isspace.html", null ], - [ "isupper", "http://en.cppreference.com/w/cpp/string/byte/isupper.html", null ], - [ "iswalnum", "http://en.cppreference.com/w/cpp/string/wide/iswalnum.html", null ], - [ "iswalpha", "http://en.cppreference.com/w/cpp/string/wide/iswalpha.html", null ], - [ "iswblank", "http://en.cppreference.com/w/cpp/string/wide/iswblank.html", null ], - [ "iswcntrl", "http://en.cppreference.com/w/cpp/string/wide/iswcntrl.html", null ], - [ "iswctype", "http://en.cppreference.com/w/cpp/string/wide/iswctype.html", null ], - [ "iswdigit", "http://en.cppreference.com/w/cpp/string/wide/iswdigit.html", null ], - [ "iswgraph", "http://en.cppreference.com/w/cpp/string/wide/iswgraph.html", null ], - [ "iswlower", "http://en.cppreference.com/w/cpp/string/wide/iswlower.html", null ], - [ "iswprint", "http://en.cppreference.com/w/cpp/string/wide/iswprint.html", null ], - [ "iswpunct", "http://en.cppreference.com/w/cpp/string/wide/iswpunct.html", null ], - [ "iswspace", "http://en.cppreference.com/w/cpp/string/wide/iswspace.html", null ], - [ "iswupper", "http://en.cppreference.com/w/cpp/string/wide/iswupper.html", null ], - [ "iswxdigit", "http://en.cppreference.com/w/cpp/string/wide/iswxdigit.html", null ], - [ "isxdigit", "http://en.cppreference.com/w/cpp/string/byte/isxdigit.html", null ], - [ "iter_swap", "http://en.cppreference.com/w/cpp/algorithm/iter_swap.html", null ], - [ "kill_dependency", "http://en.cppreference.com/w/cpp/atomic/kill_dependency.html", null ], - [ "labs", "http://en.cppreference.com/w/cpp/numeric/math/abs.html", null ], - [ "ldexp", "http://en.cppreference.com/w/cpp/numeric/math/ldexp.html", null ], - [ "ldiv", "http://en.cppreference.com/w/cpp/numeric/math/div.html", null ], - [ "left", "http://en.cppreference.com/w/cpp/io/manip/left.html", null ], - [ "lexicographical_compare", "http://en.cppreference.com/w/cpp/algorithm/lexicographical_compare.html", null ], - [ "lgamma", "http://en.cppreference.com/w/cpp/numeric/math/lgamma.html", null ], - [ "llabs", "http://en.cppreference.com/w/cpp/numeric/math/abs.html", null ], - [ "llrint", "http://en.cppreference.com/w/cpp/numeric/math/rint.html", null ], - [ "llround", "http://en.cppreference.com/w/cpp/numeric/math/round.html", null ], - [ "localeconv", "http://en.cppreference.com/w/cpp/locale/localeconv.html", null ], - [ "localtime", "http://en.cppreference.com/w/cpp/chrono/c/localtime.html", null ], - [ "lock", "http://en.cppreference.com/w/cpp/thread/lock.html", null ], - [ "log", "http://en.cppreference.com/w/cpp/numeric/math/log.html", null ], - [ "log10", "http://en.cppreference.com/w/cpp/numeric/math/log10.html", null ], - [ "log1p", "http://en.cppreference.com/w/cpp/numeric/math/log1p.html", null ], - [ "logb", "http://en.cppreference.com/w/cpp/numeric/math/logb.html", null ], - [ "longjmp", "http://en.cppreference.com/w/cpp/utility/program/longjmp.html", null ], - [ "lower_bound", "http://en.cppreference.com/w/cpp/algorithm/lower_bound.html", null ], - [ "lrint", "http://en.cppreference.com/w/cpp/numeric/math/rint.html", null ], - [ "lround", "http://en.cppreference.com/w/cpp/numeric/math/round.html", null ], - [ "make_exception_ptr", "http://en.cppreference.com/w/cpp/error/make_exception_ptr.html", null ], - [ "make_heap", "http://en.cppreference.com/w/cpp/algorithm/make_heap.html", null ], - [ "make_move_iterator", "http://en.cppreference.com/w/cpp/iterator/make_move_iterator.html", null ], - [ "make_pair", "http://en.cppreference.com/w/cpp/utility/pair/make_pair.html", null ], - [ "make_shared", "http://en.cppreference.com/w/cpp/memory/shared_ptr/make_shared.html", null ], - [ "make_tuple", "http://en.cppreference.com/w/cpp/utility/tuple/make_tuple.html", null ], - [ "malloc", "http://en.cppreference.com/w/cpp/memory/c/malloc.html", null ], - [ "max", "http://en.cppreference.com/w/cpp/algorithm/max.html", null ], - [ "max_element", "http://en.cppreference.com/w/cpp/algorithm/max_element.html", null ], - [ "mblen", "http://en.cppreference.com/w/cpp/string/multibyte/mblen.html", null ], - [ "mbrlen", "http://en.cppreference.com/w/cpp/string/multibyte/mbrlen.html", null ], - [ "mbrtoc16", "http://en.cppreference.com/w/cpp/string/multibyte/mbrtoc16.html", null ], - [ "mbrtoc32", "http://en.cppreference.com/w/cpp/string/multibyte/mbrtoc32.html", null ], - [ "mbrtowc", "http://en.cppreference.com/w/cpp/string/multibyte/mbrtowc.html", null ], - [ "mbsinit", "http://en.cppreference.com/w/cpp/string/multibyte/mbsinit.html", null ], - [ "mbsrtowcs", "http://en.cppreference.com/w/cpp/string/multibyte/mbsrtowcs.html", null ], - [ "mbstowcs", "http://en.cppreference.com/w/cpp/string/multibyte/mbstowcs.html", null ], - [ "mbtowc", "http://en.cppreference.com/w/cpp/string/multibyte/mbtowc.html", null ], - [ "mem_fn", "http://en.cppreference.com/w/cpp/utility/functional/mem_fn.html", null ], - [ "memchr", "http://en.cppreference.com/w/cpp/string/byte/memchr.html", null ], - [ "memcmp", "http://en.cppreference.com/w/cpp/string/byte/memcmp.html", null ], - [ "memcpy", "http://en.cppreference.com/w/cpp/string/byte/memcpy.html", null ], - [ "memmove", "http://en.cppreference.com/w/cpp/string/byte/memmove.html", null ], - [ "memset", "http://en.cppreference.com/w/cpp/string/byte/memset.html", null ], - [ "merge", "http://en.cppreference.com/w/cpp/algorithm/merge.html", null ], - [ "min", "http://en.cppreference.com/w/cpp/algorithm/min.html", null ], - [ "min_element", "http://en.cppreference.com/w/cpp/algorithm/min_element.html", null ], - [ "minmax", "http://en.cppreference.com/w/cpp/algorithm/minmax.html", null ], - [ "minmax_element", "http://en.cppreference.com/w/cpp/algorithm/minmax_element.html", null ], - [ "mismatch", "http://en.cppreference.com/w/cpp/algorithm/mismatch.html", null ], - [ "mktime", "http://en.cppreference.com/w/cpp/chrono/c/mktime.html", null ], - [ "modf", "http://en.cppreference.com/w/cpp/numeric/math/modf.html", null ], - [ "move", "http://en.cppreference.com/w/cpp/utility/move.html", null ], - [ "move_backward", "http://en.cppreference.com/w/cpp/algorithm/move_backward.html", null ], - [ "move_if_noexcept", "http://en.cppreference.com/w/cpp/utility/move_if_noexcept.html", null ], - [ "nan", "http://en.cppreference.com/w/cpp/numeric/math/nan.html", null ], - [ "nanf", "http://en.cppreference.com/w/cpp/numeric/math/nan.html", null ], - [ "nanl", "http://en.cppreference.com/w/cpp/numeric/math/nan.html", null ], - [ "nearbyint", "http://en.cppreference.com/w/cpp/numeric/math/nearbyint.html", null ], - [ "next", "http://en.cppreference.com/w/cpp/iterator/next.html", null ], - [ "next_permutation", "http://en.cppreference.com/w/cpp/algorithm/next_permutation.html", null ], - [ "nextafter", "http://en.cppreference.com/w/cpp/numeric/math/nextafter.html", null ], - [ "nexttoward", "http://en.cppreference.com/w/cpp/numeric/math/nextafter.html", null ], - [ "noboolalpha", "http://en.cppreference.com/w/cpp/io/manip/boolalpha.html", null ], - [ "none_of", "http://en.cppreference.com/w/cpp/algorithm/all_any_none_of.html", null ], - [ "noshowbase", "http://en.cppreference.com/w/cpp/io/manip/showbase.html", null ], - [ "noshowpoint", "http://en.cppreference.com/w/cpp/io/manip/showpoint.html", null ], - [ "noshowpos", "http://en.cppreference.com/w/cpp/io/manip/showpos.html", null ], - [ "noskipws", "http://en.cppreference.com/w/cpp/io/manip/skipws.html", null ], - [ "not1", "http://en.cppreference.com/w/cpp/utility/functional/not1.html", null ], - [ "not2", "http://en.cppreference.com/w/cpp/utility/functional/not2.html", null ], - [ "notify_all_at_thread_exit", "http://en.cppreference.com/w/cpp/thread/notify_all_at_thread_exit.html", null ], - [ "nounitbuf", "http://en.cppreference.com/w/cpp/io/manip/unitbuf.html", null ], - [ "nouppercase", "http://en.cppreference.com/w/cpp/io/manip/uppercase.html", null ], - [ "nth_element", "http://en.cppreference.com/w/cpp/algorithm/nth_element.html", null ], - [ "oct", "http://en.cppreference.com/w/cpp/io/manip/hex.html", null ], - [ "partial_sort", "http://en.cppreference.com/w/cpp/algorithm/partial_sort.html", null ], - [ "partial_sort_copy", "http://en.cppreference.com/w/cpp/algorithm/partial_sort_copy.html", null ], - [ "partial_sum", "http://en.cppreference.com/w/cpp/algorithm/partial_sum.html", null ], - [ "partition", "http://en.cppreference.com/w/cpp/algorithm/partition.html", null ], - [ "partition_copy", "http://en.cppreference.com/w/cpp/algorithm/partition_copy.html", null ], - [ "partition_point", "http://en.cppreference.com/w/cpp/algorithm/partition_point.html", null ], - [ "perror", "http://en.cppreference.com/w/cpp/io/c/perror.html", null ], - [ "pop_heap", "http://en.cppreference.com/w/cpp/algorithm/pop_heap.html", null ], - [ "pow", "http://en.cppreference.com/w/cpp/numeric/math/pow.html", null ], - [ "prev", "http://en.cppreference.com/w/cpp/iterator/prev.html", null ], - [ "prev_permutation", "http://en.cppreference.com/w/cpp/algorithm/prev_permutation.html", null ], - [ "printf", "http://en.cppreference.com/w/cpp/io/c/fprintf.html", null ], - [ "push_heap", "http://en.cppreference.com/w/cpp/algorithm/push_heap.html", null ], - [ "put_money", "http://en.cppreference.com/w/cpp/io/manip/put_money.html", null ], - [ "put_time", "http://en.cppreference.com/w/cpp/io/manip/put_time.html", null ], - [ "putc", "http://en.cppreference.com/w/cpp/io/c/fputc.html", null ], - [ "putchar", "http://en.cppreference.com/w/cpp/io/c/putchar.html", null ], - [ "puts", "http://en.cppreference.com/w/cpp/io/c/puts.html", null ], - [ "putwchar", "http://en.cppreference.com/w/cpp/io/c/putwchar.html", null ], - [ "qsort", "http://en.cppreference.com/w/cpp/algorithm/qsort.html", null ], - [ "quick_exit", "http://en.cppreference.com/w/cpp/utility/program/quick_exit.html", null ], - [ "raise", "http://en.cppreference.com/w/cpp/utility/program/raise.html", null ], - [ "rand", "http://en.cppreference.com/w/cpp/numeric/random/rand.html", null ], - [ "random_shuffle", "http://en.cppreference.com/w/cpp/algorithm/random_shuffle.html", null ], - [ "realloc", "http://en.cppreference.com/w/cpp/memory/c/realloc.html", null ], - [ "ref", "http://en.cppreference.com/w/cpp/utility/functional/ref.html", null ], - [ "regex_match", "http://en.cppreference.com/w/cpp/regex/regex_match.html", null ], - [ "regex_replace", "http://en.cppreference.com/w/cpp/regex/regex_replace.html", null ], - [ "regex_search", "http://en.cppreference.com/w/cpp/regex/regex_search.html", null ], - [ "remainder", "http://en.cppreference.com/w/cpp/numeric/math/remainder.html", null ], - [ "remove", "http://en.cppreference.com/w/cpp/algorithm/remove.html", null ], - [ "remove_copy", "http://en.cppreference.com/w/cpp/algorithm/remove_copy.html", null ], - [ "remove_copy_if", "http://en.cppreference.com/w/cpp/algorithm/remove_copy.html", null ], - [ "remove_if", "http://en.cppreference.com/w/cpp/algorithm/remove.html", null ], - [ "remquo", "http://en.cppreference.com/w/cpp/numeric/math/remquo.html", null ], - [ "rename", "http://en.cppreference.com/w/cpp/io/c/rename.html", null ], - [ "replace", "http://en.cppreference.com/w/cpp/algorithm/replace.html", null ], - [ "replace_copy", "http://en.cppreference.com/w/cpp/algorithm/replace_copy.html", null ], - [ "replace_copy_if", "http://en.cppreference.com/w/cpp/algorithm/replace_copy.html", null ], - [ "replace_if", "http://en.cppreference.com/w/cpp/algorithm/replace.html", null ], - [ "resetiosflags", "http://en.cppreference.com/w/cpp/io/manip/resetiosflags.html", null ], - [ "rethrow_exception", "http://en.cppreference.com/w/cpp/error/rethrow_exception.html", null ], - [ "rethrow_if_nested", "http://en.cppreference.com/w/cpp/error/rethrow_if_nested.html", null ], - [ "return_temporary_buffer", "http://en.cppreference.com/w/cpp/memory/return_temporary_buffer.html", null ], - [ "reverse", "http://en.cppreference.com/w/cpp/algorithm/reverse.html", null ], - [ "reverse_copy", "http://en.cppreference.com/w/cpp/algorithm/reverse_copy.html", null ], - [ "rewind", "http://en.cppreference.com/w/cpp/io/c/rewind.html", null ], - [ "right", "http://en.cppreference.com/w/cpp/io/manip/left.html", null ], - [ "rint", "http://en.cppreference.com/w/cpp/numeric/math/rint.html", null ], - [ "rotate", "http://en.cppreference.com/w/cpp/algorithm/rotate.html", null ], - [ "rotate_copy", "http://en.cppreference.com/w/cpp/algorithm/rotate_copy.html", null ], - [ "round", "http://en.cppreference.com/w/cpp/numeric/math/round.html", null ], - [ "scalbln", "http://en.cppreference.com/w/cpp/numeric/math/scalbn.html", null ], - [ "scalbn", "http://en.cppreference.com/w/cpp/numeric/math/scalbn.html", null ], - [ "scanf", "http://en.cppreference.com/w/cpp/io/c/fscanf.html", null ], - [ "scientific", "http://en.cppreference.com/w/cpp/io/manip/fixed.html", null ], - [ "search", "http://en.cppreference.com/w/cpp/algorithm/search.html", null ], - [ "search_n", "http://en.cppreference.com/w/cpp/algorithm/search_n.html", null ], - [ "set_difference", "http://en.cppreference.com/w/cpp/algorithm/set_difference.html", null ], - [ "set_intersection", "http://en.cppreference.com/w/cpp/algorithm/set_intersection.html", null ], - [ "set_new_handler", "http://en.cppreference.com/w/cpp/memory/new/set_new_handler.html", null ], - [ "set_symmetric_difference", "http://en.cppreference.com/w/cpp/algorithm/set_symmetric_difference.html", null ], - [ "set_terminate", "http://en.cppreference.com/w/cpp/error/set_terminate.html", null ], - [ "set_unexpected", "http://en.cppreference.com/w/cpp/error/set_unexpected.html", null ], - [ "set_union", "http://en.cppreference.com/w/cpp/algorithm/set_union.html", null ], - [ "setbase", "http://en.cppreference.com/w/cpp/io/manip/setbase.html", null ], - [ "setbuf", "http://en.cppreference.com/w/cpp/io/c/setbuf.html", null ], - [ "setfill", "http://en.cppreference.com/w/cpp/io/manip/setfill.html", null ], - [ "setiosflags", "http://en.cppreference.com/w/cpp/io/manip/setiosflags.html", null ], - [ "setlocale", "http://en.cppreference.com/w/cpp/locale/setlocale.html", null ], - [ "setprecision", "http://en.cppreference.com/w/cpp/io/manip/setprecision.html", null ], - [ "setvbuf", "http://en.cppreference.com/w/cpp/io/c/setvbuf.html", null ], - [ "setw", "http://en.cppreference.com/w/cpp/io/manip/setw.html", null ], - [ "showbase", "http://en.cppreference.com/w/cpp/io/manip/showbase.html", null ], - [ "showpoint", "http://en.cppreference.com/w/cpp/io/manip/showpoint.html", null ], - [ "showpos", "http://en.cppreference.com/w/cpp/io/manip/showpos.html", null ], - [ "shuffle", "http://en.cppreference.com/w/cpp/algorithm/random_shuffle.html", null ], - [ "signal", "http://en.cppreference.com/w/cpp/utility/program/signal.html", null ], - [ "signbit", "http://en.cppreference.com/w/cpp/numeric/math/signbit.html", null ], - [ "sin", "http://en.cppreference.com/w/cpp/numeric/math/sin.html", null ], - [ "sinh", "http://en.cppreference.com/w/cpp/numeric/math/sinh.html", null ], - [ "skipws", "http://en.cppreference.com/w/cpp/io/manip/skipws.html", null ], - [ "snprintf", "http://en.cppreference.com/w/cpp/io/c/fprintf.html", null ], - [ "sort", "http://en.cppreference.com/w/cpp/algorithm/sort.html", null ], - [ "sort_heap", "http://en.cppreference.com/w/cpp/algorithm/sort_heap.html", null ], - [ "sprintf", "http://en.cppreference.com/w/cpp/io/c/fprintf.html", null ], - [ "sqrt", "http://en.cppreference.com/w/cpp/numeric/math/sqrt.html", null ], - [ "srand", "http://en.cppreference.com/w/cpp/numeric/random/srand.html", null ], - [ "sscanf", "http://en.cppreference.com/w/cpp/io/c/fscanf.html", null ], - [ "stable_partition", "http://en.cppreference.com/w/cpp/algorithm/stable_partition.html", null ], - [ "stable_sort", "http://en.cppreference.com/w/cpp/algorithm/stable_sort.html", null ], - [ "static_pointer_cast", "http://en.cppreference.com/w/cpp/memory/shared_ptr/pointer_cast.html", null ], - [ "stod", "http://en.cppreference.com/w/cpp/string/basic_string/stof.html", null ], - [ "stof", "http://en.cppreference.com/w/cpp/string/basic_string/stof.html", null ], - [ "stoi", "http://en.cppreference.com/w/cpp/string/basic_string/stol.html", null ], - [ "stol", "http://en.cppreference.com/w/cpp/string/basic_string/stol.html", null ], - [ "stold", "http://en.cppreference.com/w/cpp/string/basic_string/stof.html", null ], - [ "stoll", "http://en.cppreference.com/w/cpp/string/basic_string/stol.html", null ], - [ "stoul", "http://en.cppreference.com/w/cpp/string/basic_string/stoul.html", null ], - [ "stoull", "http://en.cppreference.com/w/cpp/string/basic_string/stoul.html", null ], - [ "strcat", "http://en.cppreference.com/w/cpp/string/byte/strcat.html", null ], - [ "strchr", "http://en.cppreference.com/w/cpp/string/byte/strchr.html", null ], - [ "strcmp", "http://en.cppreference.com/w/cpp/string/byte/strcmp.html", null ], - [ "strcoll", "http://en.cppreference.com/w/cpp/string/byte/strcoll.html", null ], - [ "strcpy", "http://en.cppreference.com/w/cpp/string/byte/strcpy.html", null ], - [ "strcspn", "http://en.cppreference.com/w/cpp/string/byte/strcspn.html", null ], - [ "strerror", "http://en.cppreference.com/w/cpp/string/byte/strerror.html", null ], - [ "strftime", "http://en.cppreference.com/w/cpp/chrono/c/strftime.html", null ], - [ "strlen", "http://en.cppreference.com/w/cpp/string/byte/strlen.html", null ], - [ "strncat", "http://en.cppreference.com/w/cpp/string/byte/strncat.html", null ], - [ "strncmp", "http://en.cppreference.com/w/cpp/string/byte/strncmp.html", null ], - [ "strncpy", "http://en.cppreference.com/w/cpp/string/byte/strncpy.html", null ], - [ "strpbrk", "http://en.cppreference.com/w/cpp/string/byte/strpbrk.html", null ], - [ "strrchr", "http://en.cppreference.com/w/cpp/string/byte/strrchr.html", null ], - [ "strspn", "http://en.cppreference.com/w/cpp/string/byte/strspn.html", null ], - [ "strstr", "http://en.cppreference.com/w/cpp/string/byte/strstr.html", null ], - [ "strtod", "http://en.cppreference.com/w/cpp/string/byte/strtof.html", null ], - [ "strtof", "http://en.cppreference.com/w/cpp/string/byte/strtof.html", null ], - [ "strtoimax", "http://en.cppreference.com/w/cpp/string/byte/strtoimax.html", null ], - [ "strtok", "http://en.cppreference.com/w/cpp/string/byte/strtok.html", null ], - [ "strtol", "http://en.cppreference.com/w/cpp/string/byte/strtol.html", null ], - [ "strtold", "http://en.cppreference.com/w/cpp/string/byte/strtof.html", null ], - [ "strtoll", "http://en.cppreference.com/w/cpp/string/byte/strtol.html", null ], - [ "strtoul", "http://en.cppreference.com/w/cpp/string/byte/strtoul.html", null ], - [ "strtoull", "http://en.cppreference.com/w/cpp/string/byte/strtoul.html", null ], - [ "strtoumax", "http://en.cppreference.com/w/cpp/string/byte/strtoimax.html", null ], - [ "strxfrm", "http://en.cppreference.com/w/cpp/string/byte/strxfrm.html", null ], - [ "swap", "http://en.cppreference.com/w/cpp/algorithm/swap.html", null ], - [ "swap_ranges", "http://en.cppreference.com/w/cpp/algorithm/swap_ranges.html", null ], - [ "swprintf", "http://en.cppreference.com/w/cpp/io/c/fwprintf.html", null ], - [ "swscanf", "http://en.cppreference.com/w/cpp/io/c/fwscanf.html", null ], - [ "system", "http://en.cppreference.com/w/cpp/utility/program/system.html", null ], - [ "system_category", "http://en.cppreference.com/w/cpp/error/system_category.html", null ], - [ "tan", "http://en.cppreference.com/w/cpp/numeric/math/tan.html", null ], - [ "tanh", "http://en.cppreference.com/w/cpp/numeric/math/tanh.html", null ], - [ "terminate", "http://en.cppreference.com/w/cpp/error/terminate.html", null ], - [ "tgamma", "http://en.cppreference.com/w/cpp/numeric/math/tgamma.html", null ], - [ "throw_with_nested", "http://en.cppreference.com/w/cpp/error/throw_with_nested.html", null ], - [ "tie", "http://en.cppreference.com/w/cpp/utility/tuple/tie.html", null ], - [ "time", "http://en.cppreference.com/w/cpp/chrono/c/time.html", null ], - [ "tmpfile", "http://en.cppreference.com/w/cpp/io/c/tmpfile.html", null ], - [ "tmpnam", "http://en.cppreference.com/w/cpp/io/c/tmpnam.html", null ], - [ "to_string", "http://en.cppreference.com/w/cpp/string/basic_string/to_string.html", null ], - [ "to_wstring", "http://en.cppreference.com/w/cpp/string/basic_string/to_wstring.html", null ], - [ "tolower", "http://en.cppreference.com/w/cpp/string/byte/tolower.html", null ], - [ "toupper", "http://en.cppreference.com/w/cpp/string/byte/toupper.html", null ], - [ "towctrans", "http://en.cppreference.com/w/cpp/string/wide/towctrans.html", null ], - [ "towlower", "http://en.cppreference.com/w/cpp/string/wide/towlower.html", null ], - [ "towupper", "http://en.cppreference.com/w/cpp/string/wide/towupper.html", null ], - [ "transform", "http://en.cppreference.com/w/cpp/algorithm/transform.html", null ], - [ "trunc", "http://en.cppreference.com/w/cpp/numeric/math/trunc.html", null ], - [ "try_lock", "http://en.cppreference.com/w/cpp/thread/try_lock.html", null ], - [ "tuple_cat", "http://en.cppreference.com/w/cpp/utility/tuple/tuple_cat.html", null ], - [ "uncaught_exception", "http://en.cppreference.com/w/cpp/error/uncaught_exception.html", null ], - [ "undeclare_no_pointers", "http://en.cppreference.com/w/cpp/memory/gc/undeclare_no_pointers.html", null ], - [ "undeclare_reachable", "http://en.cppreference.com/w/cpp/memory/gc/undeclare_reachable.html", null ], - [ "unexpected", "http://en.cppreference.com/w/cpp/error/unexpected.html", null ], - [ "ungetc", "http://en.cppreference.com/w/cpp/io/c/ungetc.html", null ], - [ "ungetwc", "http://en.cppreference.com/w/cpp/io/c/ungetwc.html", null ], - [ "uninitialized_copy", "http://en.cppreference.com/w/cpp/memory/uninitialized_copy.html", null ], - [ "uninitialized_copy_n", "http://en.cppreference.com/w/cpp/memory/uninitialized_copy_n.html", null ], - [ "uninitialized_fill", "http://en.cppreference.com/w/cpp/memory/uninitialized_fill.html", null ], - [ "uninitialized_fill_n", "http://en.cppreference.com/w/cpp/memory/uninitialized_fill_n.html", null ], - [ "unique", "http://en.cppreference.com/w/cpp/algorithm/unique.html", null ], - [ "unique_copy", "http://en.cppreference.com/w/cpp/algorithm/unique_copy.html", null ], - [ "unitbuf", "http://en.cppreference.com/w/cpp/io/manip/unitbuf.html", null ], - [ "upper_bound", "http://en.cppreference.com/w/cpp/algorithm/upper_bound.html", null ], - [ "uppercase", "http://en.cppreference.com/w/cpp/io/manip/uppercase.html", null ], - [ "use_facet", "http://en.cppreference.com/w/cpp/locale/use_facet.html", null ], - [ "vfprintf", "http://en.cppreference.com/w/cpp/io/c/vfprintf.html", null ], - [ "vfscanf", "http://en.cppreference.com/w/cpp/io/c/vfscanf.html", null ], - [ "vfwprintf", "http://en.cppreference.com/w/cpp/io/c/vfwprintf.html", null ], - [ "vfwscanf", "http://en.cppreference.com/w/cpp/io/c/vfwscanf.html", null ], - [ "vprintf", "http://en.cppreference.com/w/cpp/io/c/vfprintf.html", null ], - [ "vscanf", "http://en.cppreference.com/w/cpp/io/c/vfscanf.html", null ], - [ "vsnprintf", "http://en.cppreference.com/w/cpp/io/c/vfprintf.html", null ], - [ "vsprintf", "http://en.cppreference.com/w/cpp/io/c/vfprintf.html", null ], - [ "vsscanf", "http://en.cppreference.com/w/cpp/io/c/vfscanf.html", null ], - [ "vswprintf", "http://en.cppreference.com/w/cpp/io/c/vfwprintf.html", null ], - [ "vswscanf", "http://en.cppreference.com/w/cpp/io/c/vfwscanf.html", null ], - [ "vwprintf", "http://en.cppreference.com/w/cpp/io/c/vfwprintf.html", null ], - [ "vwscanf", "http://en.cppreference.com/w/cpp/io/c/vfwscanf.html", null ], - [ "wcrtomb", "http://en.cppreference.com/w/cpp/string/multibyte/wcrtomb.html", null ], - [ "wcscat", "http://en.cppreference.com/w/cpp/string/wide/wcscat.html", null ], - [ "wcschr", "http://en.cppreference.com/w/cpp/string/wide/wcschr.html", null ], - [ "wcscmp", "http://en.cppreference.com/w/cpp/string/wide/wcscmp.html", null ], - [ "wcscoll", "http://en.cppreference.com/w/cpp/string/wide/wcscoll.html", null ], - [ "wcscpy", "http://en.cppreference.com/w/cpp/string/wide/wcscpy.html", null ], - [ "wcscspn", "http://en.cppreference.com/w/cpp/string/wide/wcscspn.html", null ], - [ "wcsftime", "http://en.cppreference.com/w/cpp/chrono/c/wcsftime.html", null ], - [ "wcslen", "http://en.cppreference.com/w/cpp/string/wide/wcslen.html", null ], - [ "wcsncat", "http://en.cppreference.com/w/cpp/string/wide/wcsncat.html", null ], - [ "wcsncmp", "http://en.cppreference.com/w/cpp/string/wide/wcsncmp.html", null ], - [ "wcsncpy", "http://en.cppreference.com/w/cpp/string/wide/wcsncpy.html", null ], - [ "wcspbrk", "http://en.cppreference.com/w/cpp/string/wide/wcspbrk.html", null ], - [ "wcsrchr", "http://en.cppreference.com/w/cpp/string/wide/wcsrchr.html", null ], - [ "wcsspn", "http://en.cppreference.com/w/cpp/string/wide/wcsspn.html", null ], - [ "wcsstr", "http://en.cppreference.com/w/cpp/string/wide/wcsstr.html", null ], - [ "wcstod", "http://en.cppreference.com/w/cpp/string/wide/wcstof.html", null ], - [ "wcstof", "http://en.cppreference.com/w/cpp/string/wide/wcstof.html", null ], - [ "wcstoimax", "http://en.cppreference.com/w/cpp/string/wide/wcstoimax.html", null ], - [ "wcstok", "http://en.cppreference.com/w/cpp/string/wide/wcstok.html", null ], - [ "wcstol", "http://en.cppreference.com/w/cpp/string/wide/wcstol.html", null ], - [ "wcstold", "http://en.cppreference.com/w/cpp/string/wide/wcstof.html", null ], - [ "wcstoll", "http://en.cppreference.com/w/cpp/string/wide/wcstol.html", null ], - [ "wcstombs", "http://en.cppreference.com/w/cpp/string/multibyte/wcstombs.html", null ], - [ "wcstoul", "http://en.cppreference.com/w/cpp/string/wide/wcstoul.html", null ], - [ "wcstoull", "http://en.cppreference.com/w/cpp/string/wide/wcstoul.html", null ], - [ "wcstoumax", "http://en.cppreference.com/w/cpp/string/wide/wcstoimax.html", null ], - [ "wcsxfrm", "http://en.cppreference.com/w/cpp/string/wide/wcsxfrm.html", null ], - [ "wctob", "http://en.cppreference.com/w/cpp/string/multibyte/wctob.html", null ], - [ "wctomb", "http://en.cppreference.com/w/cpp/string/multibyte/wctomb.html", null ], - [ "wctrans", "http://en.cppreference.com/w/cpp/string/wide/wctrans.html", null ], - [ "wctype", "http://en.cppreference.com/w/cpp/string/wide/wctype.html", null ], - [ "wmemchr", "http://en.cppreference.com/w/cpp/string/wide/wmemchr.html", null ], - [ "wmemcmp", "http://en.cppreference.com/w/cpp/string/wide/wmemcmp.html", null ], - [ "wmemcpy", "http://en.cppreference.com/w/cpp/string/wide/wmemcpy.html", null ], - [ "wmemmove", "http://en.cppreference.com/w/cpp/string/wide/wmemmove.html", null ], - [ "wmemset", "http://en.cppreference.com/w/cpp/string/wide/wmemset.html", null ], - [ "wprintf", "http://en.cppreference.com/w/cpp/io/c/fwprintf.html", null ], - [ "ws", "http://en.cppreference.com/w/cpp/io/manip/ws.html", null ], - [ "wscanf", "http://en.cppreference.com/w/cpp/io/c/fwscanf.html", null ] -]; \ No newline at end of file diff --git a/d8/dcd/namespacelru__cache.html b/d8/dcd/namespacelru__cache.html index 78ccc1177..002283d0e 100644 --- a/d8/dcd/namespacelru__cache.html +++ b/d8/dcd/namespacelru__cache.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: lru_cache Namespace Reference +TheAlgorithms/C++: lru_cache Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/d8/dce/test__queue_8cpp_source.html b/d8/dce/test__queue_8cpp_source.html new file mode 100644 index 000000000..52f956f3f --- /dev/null +++ b/d8/dce/test__queue_8cpp_source.html @@ -0,0 +1,238 @@ + + + + + + + + +TheAlgorithms/C++: data_structures/test_queue.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + + +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    test_queue.cpp
    +
    +
    +
    1#include <cassert>
    +
    2#include <iostream>
    +
    3
    +
    4#include "./queue.hpp"
    +
    5
    +
    6template <typename T>
    +
    7void testConstructedQueueIsEmpty() {
    +
    8 const queue<T> curQueue;
    +
    9 assert(curQueue.isEmptyQueue());
    +
    10}
    +
    11
    +
    12void testEnQueue() {
    +
    13 queue<int> curQueue;
    +
    14 curQueue.enQueue(10);
    +
    15 assert(curQueue.toVector() == std::vector<int>({10}));
    +
    16 curQueue.enQueue(20);
    +
    17 assert(curQueue.toVector() == std::vector<int>({10, 20}));
    +
    18 curQueue.enQueue(30);
    +
    19 curQueue.enQueue(40);
    +
    20 assert(curQueue.toVector() == std::vector<int>({10, 20, 30, 40}));
    +
    21}
    +
    22
    +
    23void testDeQueue() {
    +
    24 queue<int> curQueue;
    +
    25 curQueue.enQueue(10);
    +
    26 curQueue.enQueue(20);
    +
    27 curQueue.enQueue(30);
    +
    28
    +
    29 curQueue.deQueue();
    +
    30 assert(curQueue.toVector() == std::vector<int>({20, 30}));
    +
    31
    +
    32 curQueue.deQueue();
    +
    33 assert(curQueue.toVector() == std::vector<int>({30}));
    +
    34
    +
    35 curQueue.deQueue();
    +
    36 assert(curQueue.isEmptyQueue());
    +
    37}
    +
    38
    +
    39void testFront() {
    +
    40 queue<int> curQueue;
    +
    41 curQueue.enQueue(10);
    +
    42 assert(curQueue.front() == 10);
    +
    43 curQueue.enQueue(20);
    +
    44 assert(curQueue.front() == 10);
    +
    45}
    +
    46
    +
    47void testQueueAfterClearIsEmpty() {
    +
    48 queue<int> curQueue;
    +
    49 curQueue.enQueue(10);
    +
    50 curQueue.enQueue(20);
    +
    51 curQueue.enQueue(30);
    +
    52 curQueue.clear();
    +
    53 assert(curQueue.isEmptyQueue());
    +
    54}
    +
    55
    +
    56void testFrontThrowsAnInvalidArgumentWhenQueueEmpty() {
    +
    57 const queue<int> curQueue;
    +
    58 bool wasException = false;
    +
    59 try {
    +
    60 curQueue.front();
    +
    61 } catch (const std::invalid_argument&) {
    +
    62 wasException = true;
    +
    63 }
    +
    64 assert(wasException);
    +
    65}
    +
    66
    +
    67void testDeQueueThrowsAnInvalidArgumentWhenQueueEmpty() {
    +
    68 queue<int> curQueue;
    +
    69 bool wasException = false;
    +
    70 try {
    +
    71 curQueue.deQueue();
    +
    72 } catch (const std::invalid_argument&) {
    +
    73 wasException = true;
    +
    74 }
    +
    75 assert(wasException);
    +
    76}
    +
    77
    +
    78int main() {
    +
    79 testConstructedQueueIsEmpty<int>();
    +
    80 testConstructedQueueIsEmpty<double>();
    +
    81 testConstructedQueueIsEmpty<std::vector<long double>>();
    +
    82
    +
    83 testEnQueue();
    +
    84 testDeQueue();
    +
    85
    +
    86 testQueueAfterClearIsEmpty();
    +
    87
    +
    88 testFrontThrowsAnInvalidArgumentWhenQueueEmpty();
    +
    89 testDeQueueThrowsAnInvalidArgumentWhenQueueEmpty();
    +
    90
    +
    91 std::cout << "All tests pass!\n";
    +
    92 return 0;
    +
    93}
    +
    Definition queue.hpp:9
    +
    std::vector< value_type > toVector() const
    converts the queue into the std::vector
    Definition queue.hpp:29
    +
    bool isEmptyQueue() const
    checks if the queue has no elements
    Definition queue.hpp:49
    +
    void clear()
    removes all elements from the queue
    Definition queue.hpp:90
    +
    value_type front() const
    Definition queue.hpp:72
    +
    void enQueue(const value_type &item)
    inserts a new item into the queue
    Definition queue.hpp:54
    +
    void deQueue()
    removes the first element from the queue
    Definition queue.hpp:81
    +
    int main()
    Main function.
    +
    +
    + + + + diff --git a/d8/dd5/check__factorial_8cpp.html b/d8/dd5/check__factorial_8cpp.html index 0645a568b..9c790fbc3 100644 --- a/d8/dd5/check__factorial_8cpp.html +++ b/d8/dd5/check__factorial_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: math/check_factorial.cpp File Reference +TheAlgorithms/C++: math/check_factorial.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -121,7 +138,9 @@ Include dependency graph for check_factorial.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -146,6 +165,8 @@ Functions
    Author
    Divyajyoti Ukirde
    ewd00010
    + +

    Definition in file check_factorial.cpp.

    Function Documentation

    ◆ main()

    @@ -164,17 +185,14 @@ Functions

    Main function.

    Returns
    0 on exit
    + +

    Definition at line 71 of file check_factorial.cpp.

    71 {
    72 tests(); // run self-test implementations
    73 return 0;
    74}
    -
    static void tests()
    Self-test implementations.
    Definition check_factorial.cpp:56
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static void tests()
    Self-test implementations.
    + @@ -202,6 +220,8 @@ Here is the call graph for this function:

    Self-test implementations.

    Returns
    void
    + +

    Definition at line 56 of file check_factorial.cpp.

    56 {
    57 assert(math::is_factorial(50) == false);
    58 assert(math::is_factorial(720) == true);
    @@ -210,17 +230,10 @@ Here is the call graph for this function:
    61 assert(math::is_factorial(479001600) == true);
    62 assert(math::is_factorial(-24) == false);
    63
    -
    64 std::cout << "All tests have successfully passed!" << std::endl;
    +
    64 std::cout << "All tests have successfully passed!" << std::endl;
    65}
    - -
    T endl(T... args)
    -
    bool is_factorial(uint64_t n)
    Function to check if the given number is factorial of some number or not.
    Definition check_factorial.cpp:28
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    bool is_factorial(uint64_t n)
    Function to check if the given number is factorial of some number or not.
    + diff --git a/d8/dd5/check__factorial_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.map b/d8/dd5/check__factorial_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.map deleted file mode 100644 index d0ff9fc5a..000000000 --- a/d8/dd5/check__factorial_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/d8/dd5/check__factorial_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 b/d8/dd5/check__factorial_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 deleted file mode 100644 index 387afcd38..000000000 --- a/d8/dd5/check__factorial_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -bb4cf106e744478b1acb0488a265292d \ No newline at end of file diff --git a/d8/dd5/check__factorial_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.svg b/d8/dd5/check__factorial_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.svg deleted file mode 100644 index 4de484035..000000000 --- a/d8/dd5/check__factorial_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.svg +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - -tests - - -Node1 - - -tests - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -math::is_factorial - - - - - -Node1->Node3 - - - - - - - - - - - - - diff --git a/d8/dd5/check__factorial_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph_org.svg b/d8/dd5/check__factorial_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph_org.svg deleted file mode 100644 index 8ade3f290..000000000 --- a/d8/dd5/check__factorial_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph_org.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - -tests - - -Node1 - - -tests - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -math::is_factorial - - - - - -Node1->Node3 - - - - - - - - diff --git a/d8/dd5/check__factorial_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d8/dd5/check__factorial_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 25a4d58f0..000000000 --- a/d8/dd5/check__factorial_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/d8/dd5/check__factorial_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d8/dd5/check__factorial_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index 0b2a52b94..000000000 --- a/d8/dd5/check__factorial_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -8a2285fc86ab389758cc0ae7e80009db \ No newline at end of file diff --git a/d8/dd5/check__factorial_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d8/dd5/check__factorial_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 929c0e42f..000000000 --- a/d8/dd5/check__factorial_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -tests - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -math::is_factorial - - - - - -Node2->Node4 - - - - - - - - - - - - - diff --git a/d8/dd5/check__factorial_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d8/dd5/check__factorial_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 1db78476f..000000000 --- a/d8/dd5/check__factorial_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -tests - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -math::is_factorial - - - - - -Node2->Node4 - - - - - - - - diff --git a/d8/dd5/check__factorial_8cpp_source.html b/d8/dd5/check__factorial_8cpp_source.html new file mode 100644 index 000000000..5b7de3469 --- /dev/null +++ b/d8/dd5/check__factorial_8cpp_source.html @@ -0,0 +1,183 @@ + + + + + + + + +TheAlgorithms/C++: math/check_factorial.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    +

    Namespaces

    namespace  math
    + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + + +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    check_factorial.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    12#include <cassert>
    +
    13#include <cstdint>
    +
    14#include <iostream>
    +
    15
    +
    20namespace math {
    +
    +
    28bool is_factorial(uint64_t n) {
    +
    29 if (n <= 0) { // factorial numbers are only ever positive Integers
    +
    30 return false;
    +
    31 }
    +
    32
    +
    38 int i = 2;
    +
    39 while (n % i == 0) {
    +
    40 n = n / i;
    +
    41 i++;
    +
    42 }
    +
    43
    +
    48 return (n == 1);
    +
    49}
    +
    +
    50} // namespace math
    +
    51
    +
    +
    56static void tests() {
    +
    57 assert(math::is_factorial(50) == false);
    +
    58 assert(math::is_factorial(720) == true);
    +
    59 assert(math::is_factorial(0) == false);
    +
    60 assert(math::is_factorial(1) == true);
    +
    61 assert(math::is_factorial(479001600) == true);
    +
    62 assert(math::is_factorial(-24) == false);
    +
    63
    +
    64 std::cout << "All tests have successfully passed!" << std::endl;
    +
    65}
    +
    +
    66
    +
    +
    71int main() {
    +
    72 tests(); // run self-test implementations
    +
    73 return 0;
    +
    74}
    +
    +
    static void tests()
    Self-test implementations.
    +
    int main()
    Main function.
    +
    for assert
    +
    bool is_factorial(uint64_t n)
    Function to check if the given number is factorial of some number or not.
    +
    +
    + + + + diff --git a/d8/ddf/sieve__of__eratosthenes_8cpp.html b/d8/ddf/sieve__of__eratosthenes_8cpp.html index ec6cf1f2d..814e981e0 100644 --- a/d8/ddf/sieve__of__eratosthenes_8cpp.html +++ b/d8/ddf/sieve__of__eratosthenes_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: math/sieve_of_eratosthenes.cpp File Reference +TheAlgorithms/C++: math/sieve_of_eratosthenes.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -122,7 +139,9 @@ Include dependency graph for sieve_of_eratosthenes.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -134,10 +153,10 @@ Namespaces

    Namespaces

    namespace  math
    - + - + @@ -153,6 +172,8 @@ Functions

    Time Complexity : \(O(N \cdot\log \log N)\)
    Space Complexity : \(O(N)\)

    See also
    primes_up_to_billion.cpp prime_numbers.cpp
    + +

    Definition in file sieve_of_eratosthenes.cpp.

    Function Documentation

    ◆ main()

    @@ -171,17 +192,14 @@ Space Complexity : \(O(N)\)

    Main function.

    Returns
    0 on exit
    + +

    Definition at line 119 of file sieve_of_eratosthenes.cpp.

    119 {
    120 tests();
    121 return 0;
    122}
    -
    static void tests()
    Self-test implementations.
    Definition sieve_of_eratosthenes.cpp:81
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static void tests()
    Self-test implementations.
    + @@ -198,7 +216,7 @@ Here is the call graph for this function: - +

    Functions

    std::vector< bool > math::sieve_of_eratosthenes::sieve (uint32_t N)
    std::vector< bool > math::sieve_of_eratosthenes::sieve (uint32_t N)
     Function to sieve out the primes.
     
    void math::sieve_of_eratosthenes::print (uint32_t N, const std::vector< bool > &is_prime)
    void math::sieve_of_eratosthenes::print (uint32_t N, const std::vector< bool > &is_prime)
     Function to print the prime numbers.
     
    static void tests ()
    const std::vector< bool > & is_prime )const std::vector< bool > & is_prime )
    @@ -211,23 +229,18 @@ Here is the call graph for this function:
    + +

    Definition at line 65 of file sieve_of_eratosthenes.cpp.

    65 {
    66 for (uint32_t i = 2; i <= N; i++) {
    67 if (is_prime[i]) {
    -
    68 std::cout << i << ' ';
    +
    68 std::cout << i << ' ';
    69 }
    70 }
    - +
    71 std::cout << std::endl;
    72}
    - -
    T endl(T... args)
    -
    constexpr uint32_t N
    A struct to represent sparse table for min() as their invariant function, for the given array A....
    Definition sparse_table.cpp:48
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    constexpr uint32_t N
    A struct to represent sparse table for min() as their invariant function, for the given array A....
    + @@ -237,7 +250,7 @@ Here is the call graph for this function:
    - + @@ -254,8 +267,10 @@ Here is the call graph for this function:
    Returns
    is_prime a vector of N + 1 booleans identifying if i^th number is a prime or not
    + +

    Definition at line 45 of file sieve_of_eratosthenes.cpp.

    45 {
    -
    46 std::vector<bool> is_prime(N + 1, true); // Initialize all as prime numbers
    +
    46 std::vector<bool> is_prime(N + 1, true); // Initialize all as prime numbers
    47 is_prime[0] = is_prime[1] = false; // 0 and 1 are not prime numbers
    48
    49 for (uint32_t i = 2; i * i <= N; i++) {
    @@ -267,14 +282,8 @@ Here is the call graph for this function:
    55 }
    56 return is_prime;
    57}
    -
    bool is_prime(int64_t num)
    Function to check if the given number is prime or not.
    Definition check_prime.cpp:31
    - -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    bool is_prime(int64_t num)
    Function to check if the given number is prime or not.
    + @@ -302,25 +311,27 @@ Here is the call graph for this function:

    Self-test implementations.

    Returns
    void
    + +

    Definition at line 81 of file sieve_of_eratosthenes.cpp.

    81 {
    -
    82 std::vector<bool> is_prime_1 =
    +
    82 std::vector<bool> is_prime_1 =
    83 math::sieve_of_eratosthenes::sieve(static_cast<uint32_t>(10));
    -
    84 std::vector<bool> is_prime_2 =
    +
    84 std::vector<bool> is_prime_2 =
    85 math::sieve_of_eratosthenes::sieve(static_cast<uint32_t>(20));
    -
    86 std::vector<bool> is_prime_3 =
    +
    86 std::vector<bool> is_prime_3 =
    87 math::sieve_of_eratosthenes::sieve(static_cast<uint32_t>(100));
    88
    -
    89 std::vector<bool> expected_1{false, false, true, true, false, true,
    +
    89 std::vector<bool> expected_1{false, false, true, true, false, true,
    90 false, true, false, false, false};
    91 assert(is_prime_1 == expected_1);
    92
    -
    93 std::vector<bool> expected_2{false, false, true, true, false, true,
    +
    93 std::vector<bool> expected_2{false, false, true, true, false, true,
    94 false, true, false, false, false, true,
    95 false, true, false, false, false, true,
    96 false, true, false};
    97 assert(is_prime_2 == expected_2);
    98
    -
    99 std::vector<bool> expected_3{
    +
    99 std::vector<bool> expected_3{
    100 false, false, true, true, false, true, false, true, false, false,
    101 false, true, false, true, false, false, false, true, false, true,
    102 false, false, false, true, false, false, false, false, false, true,
    @@ -335,7 +346,7 @@ Here is the call graph for this function:
    111 assert(is_prime_3 == expected_3);
    112
    113}
    -
    std::vector< bool > sieve(uint32_t N)
    Function to sieve out the primes.
    Definition sieve_of_eratosthenes.cpp:45
    +
    std::vector< bool > sieve(uint32_t N)
    Function to sieve out the primes.
    diff --git a/d8/ddf/sieve__of__eratosthenes_8cpp_a22be949d160b26361f7e323310f7fa0c_cgraph.map b/d8/ddf/sieve__of__eratosthenes_8cpp_a22be949d160b26361f7e323310f7fa0c_cgraph.map deleted file mode 100644 index dfff2987b..000000000 --- a/d8/ddf/sieve__of__eratosthenes_8cpp_a22be949d160b26361f7e323310f7fa0c_cgraph.map +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/d8/ddf/sieve__of__eratosthenes_8cpp_a22be949d160b26361f7e323310f7fa0c_cgraph.md5 b/d8/ddf/sieve__of__eratosthenes_8cpp_a22be949d160b26361f7e323310f7fa0c_cgraph.md5 deleted file mode 100644 index 65abae766..000000000 --- a/d8/ddf/sieve__of__eratosthenes_8cpp_a22be949d160b26361f7e323310f7fa0c_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -ad9cd93d2518e7fdf126525fd0eaca18 \ No newline at end of file diff --git a/d8/ddf/sieve__of__eratosthenes_8cpp_a22be949d160b26361f7e323310f7fa0c_cgraph.svg b/d8/ddf/sieve__of__eratosthenes_8cpp_a22be949d160b26361f7e323310f7fa0c_cgraph.svg deleted file mode 100644 index 060c3a5db..000000000 --- a/d8/ddf/sieve__of__eratosthenes_8cpp_a22be949d160b26361f7e323310f7fa0c_cgraph.svg +++ /dev/null @@ -1,102 +0,0 @@ - - - - - - - - - - - - -math::sieve_of_eratosthenes::sieve - - -Node1 - - -math::sieve_of_eratosthenes -::sieve - - - - - -Node2 - - -math::is_prime - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -math::sieve - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::vector::size - - - - - -Node3->Node4 - - - - - - - - - - - - - diff --git a/d8/ddf/sieve__of__eratosthenes_8cpp_a22be949d160b26361f7e323310f7fa0c_cgraph_org.svg b/d8/ddf/sieve__of__eratosthenes_8cpp_a22be949d160b26361f7e323310f7fa0c_cgraph_org.svg deleted file mode 100644 index 19d5b1527..000000000 --- a/d8/ddf/sieve__of__eratosthenes_8cpp_a22be949d160b26361f7e323310f7fa0c_cgraph_org.svg +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - -math::sieve_of_eratosthenes::sieve - - -Node1 - - -math::sieve_of_eratosthenes -::sieve - - - - - -Node2 - - -math::is_prime - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -math::sieve - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::vector::size - - - - - -Node3->Node4 - - - - - - - - diff --git a/d8/ddf/sieve__of__eratosthenes_8cpp_a55bc4a221e584d33b79b322432ecc0f3_cgraph.map b/d8/ddf/sieve__of__eratosthenes_8cpp_a55bc4a221e584d33b79b322432ecc0f3_cgraph.map deleted file mode 100644 index 9bbc07f39..000000000 --- a/d8/ddf/sieve__of__eratosthenes_8cpp_a55bc4a221e584d33b79b322432ecc0f3_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/d8/ddf/sieve__of__eratosthenes_8cpp_a55bc4a221e584d33b79b322432ecc0f3_cgraph.md5 b/d8/ddf/sieve__of__eratosthenes_8cpp_a55bc4a221e584d33b79b322432ecc0f3_cgraph.md5 deleted file mode 100644 index 90cbe167b..000000000 --- a/d8/ddf/sieve__of__eratosthenes_8cpp_a55bc4a221e584d33b79b322432ecc0f3_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -50e83aaf6f13e80f6ffb131b53f044e6 \ No newline at end of file diff --git a/d8/ddf/sieve__of__eratosthenes_8cpp_a55bc4a221e584d33b79b322432ecc0f3_cgraph.svg b/d8/ddf/sieve__of__eratosthenes_8cpp_a55bc4a221e584d33b79b322432ecc0f3_cgraph.svg deleted file mode 100644 index 9b9803082..000000000 --- a/d8/ddf/sieve__of__eratosthenes_8cpp_a55bc4a221e584d33b79b322432ecc0f3_cgraph.svg +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - - - - - -math::sieve_of_eratosthenes::print - - -Node1 - - -math::sieve_of_eratosthenes -::print - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -math::is_prime - - - - - -Node1->Node3 - - - - - - - - - - - - - diff --git a/d8/ddf/sieve__of__eratosthenes_8cpp_a55bc4a221e584d33b79b322432ecc0f3_cgraph_org.svg b/d8/ddf/sieve__of__eratosthenes_8cpp_a55bc4a221e584d33b79b322432ecc0f3_cgraph_org.svg deleted file mode 100644 index 3ab529f5a..000000000 --- a/d8/ddf/sieve__of__eratosthenes_8cpp_a55bc4a221e584d33b79b322432ecc0f3_cgraph_org.svg +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - -math::sieve_of_eratosthenes::print - - -Node1 - - -math::sieve_of_eratosthenes -::print - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -math::is_prime - - - - - -Node1->Node3 - - - - - - - - diff --git a/d8/ddf/sieve__of__eratosthenes_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d8/ddf/sieve__of__eratosthenes_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 19f717f6e..000000000 --- a/d8/ddf/sieve__of__eratosthenes_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d8/ddf/sieve__of__eratosthenes_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d8/ddf/sieve__of__eratosthenes_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index c61ebd05f..000000000 --- a/d8/ddf/sieve__of__eratosthenes_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -c469d1fefdc7ac40ec9722e22511cdf2 \ No newline at end of file diff --git a/d8/ddf/sieve__of__eratosthenes_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d8/ddf/sieve__of__eratosthenes_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 90b341e16..000000000 --- a/d8/ddf/sieve__of__eratosthenes_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -tests - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d8/ddf/sieve__of__eratosthenes_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d8/ddf/sieve__of__eratosthenes_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 86c4b950a..000000000 --- a/d8/ddf/sieve__of__eratosthenes_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -tests - - - - - -Node1->Node2 - - - - - - - - diff --git a/d8/ddf/sieve__of__eratosthenes_8cpp_source.html b/d8/ddf/sieve__of__eratosthenes_8cpp_source.html new file mode 100644 index 000000000..aeb18884f --- /dev/null +++ b/d8/ddf/sieve__of__eratosthenes_8cpp_source.html @@ -0,0 +1,223 @@ + + + + + + + + +TheAlgorithms/C++: math/sieve_of_eratosthenes.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    std::vector< bool > math::sieve_of_eratosthenes::sieve std::vector< bool > math::sieve_of_eratosthenes::sieve ( uint32_t N)
    + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + + +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    sieve_of_eratosthenes.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    15#include <cstdint>
    +
    16#include <cassert>
    +
    17#include <iostream>
    +
    18#include <vector>
    +
    19
    +
    24namespace math {
    +
    29namespace sieve_of_eratosthenes {
    +
    +
    45std::vector<bool> sieve(uint32_t N) {
    +
    46 std::vector<bool> is_prime(N + 1, true); // Initialize all as prime numbers
    +
    47 is_prime[0] = is_prime[1] = false; // 0 and 1 are not prime numbers
    +
    48
    +
    49 for (uint32_t i = 2; i * i <= N; i++) {
    +
    50 if (is_prime[i]) {
    +
    51 for (uint32_t j = i * i; j <= N; j += i) {
    +
    52 is_prime[j] = false;
    +
    53 }
    +
    54 }
    +
    55 }
    +
    56 return is_prime;
    +
    57}
    +
    +
    58
    +
    +
    65void print(uint32_t N, const std::vector<bool> &is_prime) {
    +
    66 for (uint32_t i = 2; i <= N; i++) {
    +
    67 if (is_prime[i]) {
    +
    68 std::cout << i << ' ';
    +
    69 }
    +
    70 }
    +
    71 std::cout << std::endl;
    +
    72}
    +
    +
    73
    +
    74} // namespace sieve_of_eratosthenes
    +
    75} // namespace math
    +
    76
    +
    +
    81static void tests() {
    +
    82 std::vector<bool> is_prime_1 =
    +
    83 math::sieve_of_eratosthenes::sieve(static_cast<uint32_t>(10));
    +
    84 std::vector<bool> is_prime_2 =
    +
    85 math::sieve_of_eratosthenes::sieve(static_cast<uint32_t>(20));
    +
    86 std::vector<bool> is_prime_3 =
    +
    87 math::sieve_of_eratosthenes::sieve(static_cast<uint32_t>(100));
    +
    88
    +
    89 std::vector<bool> expected_1{false, false, true, true, false, true,
    +
    90 false, true, false, false, false};
    +
    91 assert(is_prime_1 == expected_1);
    +
    92
    +
    93 std::vector<bool> expected_2{false, false, true, true, false, true,
    +
    94 false, true, false, false, false, true,
    +
    95 false, true, false, false, false, true,
    +
    96 false, true, false};
    +
    97 assert(is_prime_2 == expected_2);
    +
    98
    +
    99 std::vector<bool> expected_3{
    +
    100 false, false, true, true, false, true, false, true, false, false,
    +
    101 false, true, false, true, false, false, false, true, false, true,
    +
    102 false, false, false, true, false, false, false, false, false, true,
    +
    103 false, true, false, false, false, false, false, true, false, false,
    +
    104 false, true, false, true, false, false, false, true, false, false,
    +
    105 false, false, false, true, false, false, false, false, false, true,
    +
    106 false, true, false, false, false, false, false, true, false, false,
    +
    107 false, true, false, true, false, false, false, false, false, true,
    +
    108 false, false, false, true, false, false, false, false, false, true,
    +
    109 false, false, false, false, false, false, false, true, false, false,
    +
    110 false};
    +
    111 assert(is_prime_3 == expected_3);
    +
    112
    +
    113}
    +
    +
    114
    +
    +
    119int main() {
    +
    120 tests();
    +
    121 return 0;
    +
    122}
    +
    +
    for assert
    +
    void sieve(std::vector< bool > *vec)
    Performs the sieve.
    +
    bool is_prime(int64_t num)
    Function to check if the given number is prime or not.
    +
    Functions for finding Prime Numbers using Sieve of Eratosthenes.
    +
    static void tests()
    Self-test implementations.
    +
    int main()
    Main function.
    +
    +
    + + + + diff --git a/d8/dee/avltree_8cpp.html b/d8/dee/avltree_8cpp.html index fe2a234f8..082687901 100644 --- a/d8/dee/avltree_8cpp.html +++ b/d8/dee/avltree_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: data_structures/avltree.cpp File Reference +TheAlgorithms/C++: data_structures/avltree.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -121,11 +138,13 @@ Include dependency graph for avltree.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    - +

    Typedefs

    using node
     for std::queue
     for std::queue
     

    A simple tree implementation using nodes.

    Todo
    update code to use C++ STL library features and OO structure
    Warning
    This program is a poor implementation and does not utilize any of the C++ STL features.
    + +

    Definition in file avltree.cpp.

    Typedef Documentation

    ◆ node

    @@ -181,19 +202,20 @@ Functions
    struct node *left;
    struct node *right;
    }
    -
    int height(node *root)
    Definition avltree.cpp:38
    -
    Definition binary_search_tree.cpp:11
    +
    int height(node *root)
    Definition avltree.cpp:38
    + -

    for std::queue

    -

    for std::max for std::cout

    +

    for std::queue

    +

    for std::max for std::cout

    + +

    Definition at line 13 of file avltree.cpp.

    13 {
    14 int data;
    15 int height;
    16 struct node *left;
    -
    17 struct node *right;
    +
    17 struct node *right;
    18};
    -
    int data[MAX]
    test data
    Definition hash_search.cpp:24
    -
    T right(T... args)
    +
    int data[MAX]
    test data
    @@ -221,6 +243,8 @@ Functions
    Returns
    newly created node
    + +

    Definition at line 25 of file avltree.cpp.

    25 {
    26 node *nn = new node();
    27 nn->data = data;
    @@ -229,7 +253,7 @@ Functions
    30 nn->right = nullptr;
    31 return nn;
    32}
    -
    struct node { int data; int height; struct node *left; struct node *right;} node
    for std::queue
    Definition avltree.cpp:13
    +
    struct node { int data; int height; struct node *left; struct node *right;} node
    for std::queue
    Definition avltree.cpp:13
    @@ -255,6 +279,8 @@ Functions

    @@ -163,6 +182,8 @@ Functions

    + +

    Definition at line 151 of file avltree.cpp.

    151 {
    152 if (root) {
    153 deleteAllNodes(root->left);
    @@ -262,13 +288,8 @@ Functions
    155 delete root;
    156 }
    157}
    -
    void deleteAllNodes(const node *const root)
    calls delete on every node
    Definition avltree.cpp:151
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    void deleteAllNodes(const node *const root)
    calls delete on every node
    Definition avltree.cpp:151
    +
    @@ -299,6 +320,8 @@ Here is the call graph for this function:
    Returns
    root of the updated tree
    + +

    Definition at line 122 of file avltree.cpp.

    122 {
    123 if (root == nullptr) {
    124 return root;
    @@ -323,14 +346,9 @@ Here is the call graph for this function:
    143 // Balancing Tree after deletion
    144 return root;
    145}
    -
    node * minValue(node *root)
    Definition avltree.cpp:79
    -
    node * deleteNode(node *root, int element)
    removes a given element from AVL tree
    Definition avltree.cpp:122
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    node * minValue(node *root)
    Definition avltree.cpp:79
    +
    node * deleteNode(node *root, int element)
    removes a given element from AVL tree
    Definition avltree.cpp:122
    + @@ -354,13 +372,10 @@ Here is the call graph for this function:
    Returns
    difference between height of left and right subtree
    -
    49{ return height(root->left) - height(root->right); }
    -
    -Here is the call graph for this function:
    -
    -
    -
    +

    Definition at line 49 of file avltree.cpp.

    +
    49{ return height(root->left) - height(root->right); }
    +
    @@ -384,19 +399,15 @@ Here is the call graph for this function:
    Returns
    height of tree
    + +

    Definition at line 38 of file avltree.cpp.

    38 {
    39 if (root == nullptr) {
    40 return 0;
    41 }
    -
    42 return 1 + std::max(height(root->left), height(root->right));
    +
    42 return 1 + std::max(height(root->left), height(root->right));
    43}
    -
    T max(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -427,6 +438,8 @@ Here is the call graph for this function:
    Returns
    root of the updated tree
    + +

    Definition at line 92 of file avltree.cpp.

    92 {
    93 if (root == nullptr) {
    94 return createNode(item);
    @@ -450,17 +463,12 @@ Here is the call graph for this function:
    112 }
    113 return root;
    114}
    -
    node * insert(node *root, int item)
    inserts a new element into AVL tree
    Definition avltree.cpp:92
    -
    node * leftRotate(node *root)
    Definition avltree.cpp:67
    -
    node * createNode(int data)
    creates and returns a new node
    Definition avltree.cpp:25
    -
    int getBalance(node *root)
    Definition avltree.cpp:49
    -
    node * rightRotate(node *root)
    Definition avltree.cpp:55
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    node * insert(node *root, int item)
    inserts a new element into AVL tree
    Definition avltree.cpp:92
    +
    node * leftRotate(node *root)
    Definition avltree.cpp:67
    +
    node * createNode(int data)
    creates and returns a new node
    Definition avltree.cpp:25
    +
    int getBalance(node *root)
    Definition avltree.cpp:49
    +
    node * rightRotate(node *root)
    Definition avltree.cpp:55
    + @@ -484,6 +492,8 @@ Here is the call graph for this function:
    Returns
    node after left rotation
    + +

    Definition at line 67 of file avltree.cpp.

    67 {
    68 node *t = root->right;
    69 node *u = t->left;
    @@ -516,12 +526,14 @@ Here is the call graph for this function:
    + +

    Definition at line 163 of file avltree.cpp.

    163 {
    - +
    164 std::queue<node *> q;
    165 q.push(root);
    166 while (!q.empty()) {
    167 root = q.front();
    -
    168 std::cout << root->data << " ";
    +
    168 std::cout << root->data << " ";
    169 q.pop();
    170 if (root->left) {
    171 q.push(root->left);
    @@ -531,8 +543,6 @@ Here is the call graph for this function:
    175 }
    176 }
    177}
    - - @@ -553,29 +563,26 @@ Here is the call graph for this function:

    Main function.

    Returns
    0 on exit
    + +

    Definition at line 183 of file avltree.cpp.

    183 {
    184 // Testing AVL Tree
    185 node *root = nullptr;
    186 int i = 0;
    187 for (i = 1; i <= 7; i++) root = insert(root, i);
    -
    188 std::cout << "LevelOrder: ";
    +
    188 std::cout << "LevelOrder: ";
    189 levelOrder(root);
    190 root = deleteNode(root, 1); // Deleting key with value 1
    -
    191 std::cout << "\nLevelOrder: ";
    +
    191 std::cout << "\nLevelOrder: ";
    192 levelOrder(root);
    193 root = deleteNode(root, 4); // Deletin key with value 4
    -
    194 std::cout << "\nLevelOrder: ";
    +
    194 std::cout << "\nLevelOrder: ";
    195 levelOrder(root);
    196 deleteAllNodes(root);
    197 return 0;
    198}
    -
    void levelOrder(node *root)
    prints given tree in the LevelOrder
    Definition avltree.cpp:163
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    void levelOrder(node *root)
    prints given tree in the LevelOrder
    Definition avltree.cpp:163
    + @@ -599,18 +606,15 @@ Here is the call graph for this function:
    Returns
    node with minimum value in the tree
    + +

    Definition at line 79 of file avltree.cpp.

    79 {
    80 if (root->left == nullptr) {
    81 return root;
    82 }
    83 return minValue(root->left);
    84}
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -634,6 +638,8 @@ Here is the call graph for this function:
    Returns
    node after right rotation
    + +

    Definition at line 55 of file avltree.cpp.

    55 {
    56 node *t = root->left;
    57 node *u = t->right;
    diff --git a/d8/dee/avltree_8cpp_a2473fe7416332495b2678ebe89652e4b_cgraph.map b/d8/dee/avltree_8cpp_a2473fe7416332495b2678ebe89652e4b_cgraph.map deleted file mode 100644 index 10c26e033..000000000 --- a/d8/dee/avltree_8cpp_a2473fe7416332495b2678ebe89652e4b_cgraph.map +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - - - - - diff --git a/d8/dee/avltree_8cpp_a2473fe7416332495b2678ebe89652e4b_cgraph.md5 b/d8/dee/avltree_8cpp_a2473fe7416332495b2678ebe89652e4b_cgraph.md5 deleted file mode 100644 index 60d5b32c4..000000000 --- a/d8/dee/avltree_8cpp_a2473fe7416332495b2678ebe89652e4b_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -87c01be2b9e4ed83ed5c49dacda99fe8 \ No newline at end of file diff --git a/d8/dee/avltree_8cpp_a2473fe7416332495b2678ebe89652e4b_cgraph.svg b/d8/dee/avltree_8cpp_a2473fe7416332495b2678ebe89652e4b_cgraph.svg deleted file mode 100644 index 8d53c17dc..000000000 --- a/d8/dee/avltree_8cpp_a2473fe7416332495b2678ebe89652e4b_cgraph.svg +++ /dev/null @@ -1,173 +0,0 @@ - - - - - - - - - - - - -insert - - -Node1 - - -insert - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -createNode - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -getBalance - - - - - -Node1->Node3 - - - - - - - - -Node6 - - -leftRotate - - - - - -Node1->Node6 - - - - - - - - -Node7 - - -rightRotate - - - - - -Node1->Node7 - - - - - - - - -Node4 - - -height - - - - - -Node3->Node4 - - - - - - - - -Node4->Node4 - - - - - - - - -Node5 - - -std::max - - - - - -Node4->Node5 - - - - - - - - - - - - - diff --git a/d8/dee/avltree_8cpp_a2473fe7416332495b2678ebe89652e4b_cgraph_org.svg b/d8/dee/avltree_8cpp_a2473fe7416332495b2678ebe89652e4b_cgraph_org.svg deleted file mode 100644 index c2eee5a5a..000000000 --- a/d8/dee/avltree_8cpp_a2473fe7416332495b2678ebe89652e4b_cgraph_org.svg +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - -insert - - -Node1 - - -insert - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -createNode - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -getBalance - - - - - -Node1->Node3 - - - - - - - - -Node6 - - -leftRotate - - - - - -Node1->Node6 - - - - - - - - -Node7 - - -rightRotate - - - - - -Node1->Node7 - - - - - - - - -Node4 - - -height - - - - - -Node3->Node4 - - - - - - - - -Node4->Node4 - - - - - - - - -Node5 - - -std::max - - - - - -Node4->Node5 - - - - - - - - diff --git a/d8/dee/avltree_8cpp_a5fa160a678a34dd51c0aea1c0c00ed5e_cgraph.map b/d8/dee/avltree_8cpp_a5fa160a678a34dd51c0aea1c0c00ed5e_cgraph.map deleted file mode 100644 index 472e74fb2..000000000 --- a/d8/dee/avltree_8cpp_a5fa160a678a34dd51c0aea1c0c00ed5e_cgraph.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/d8/dee/avltree_8cpp_a5fa160a678a34dd51c0aea1c0c00ed5e_cgraph.md5 b/d8/dee/avltree_8cpp_a5fa160a678a34dd51c0aea1c0c00ed5e_cgraph.md5 deleted file mode 100644 index 5032a2d5f..000000000 --- a/d8/dee/avltree_8cpp_a5fa160a678a34dd51c0aea1c0c00ed5e_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -136723d6cc3e9cffb41d0c00edadbc59 \ No newline at end of file diff --git a/d8/dee/avltree_8cpp_a5fa160a678a34dd51c0aea1c0c00ed5e_cgraph.svg b/d8/dee/avltree_8cpp_a5fa160a678a34dd51c0aea1c0c00ed5e_cgraph.svg deleted file mode 100644 index d7b5948e9..000000000 --- a/d8/dee/avltree_8cpp_a5fa160a678a34dd51c0aea1c0c00ed5e_cgraph.svg +++ /dev/null @@ -1,56 +0,0 @@ - - - - - - - - - - - - -minValue - - -Node1 - - -minValue - - - - - -Node1->Node1 - - - - - - - - - - - - - diff --git a/d8/dee/avltree_8cpp_a5fa160a678a34dd51c0aea1c0c00ed5e_cgraph_org.svg b/d8/dee/avltree_8cpp_a5fa160a678a34dd51c0aea1c0c00ed5e_cgraph_org.svg deleted file mode 100644 index daf05ce3a..000000000 --- a/d8/dee/avltree_8cpp_a5fa160a678a34dd51c0aea1c0c00ed5e_cgraph_org.svg +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - -minValue - - -Node1 - - -minValue - - - - - -Node1->Node1 - - - - - - - - diff --git a/d8/dee/avltree_8cpp_a82659e9e223e520cf91d7e55c4a3f88c_cgraph.map b/d8/dee/avltree_8cpp_a82659e9e223e520cf91d7e55c4a3f88c_cgraph.map deleted file mode 100644 index 197991065..000000000 --- a/d8/dee/avltree_8cpp_a82659e9e223e520cf91d7e55c4a3f88c_cgraph.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/d8/dee/avltree_8cpp_a82659e9e223e520cf91d7e55c4a3f88c_cgraph.md5 b/d8/dee/avltree_8cpp_a82659e9e223e520cf91d7e55c4a3f88c_cgraph.md5 deleted file mode 100644 index de88ad46d..000000000 --- a/d8/dee/avltree_8cpp_a82659e9e223e520cf91d7e55c4a3f88c_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -7b1fb16cae375f5690e23a870f348033 \ No newline at end of file diff --git a/d8/dee/avltree_8cpp_a82659e9e223e520cf91d7e55c4a3f88c_cgraph.svg b/d8/dee/avltree_8cpp_a82659e9e223e520cf91d7e55c4a3f88c_cgraph.svg deleted file mode 100644 index b419d07ac..000000000 --- a/d8/dee/avltree_8cpp_a82659e9e223e520cf91d7e55c4a3f88c_cgraph.svg +++ /dev/null @@ -1,56 +0,0 @@ - - - - - - - - - - - - -deleteAllNodes - - -Node1 - - -deleteAllNodes - - - - - -Node1->Node1 - - - - - - - - - - - - - diff --git a/d8/dee/avltree_8cpp_a82659e9e223e520cf91d7e55c4a3f88c_cgraph_org.svg b/d8/dee/avltree_8cpp_a82659e9e223e520cf91d7e55c4a3f88c_cgraph_org.svg deleted file mode 100644 index f01b99061..000000000 --- a/d8/dee/avltree_8cpp_a82659e9e223e520cf91d7e55c4a3f88c_cgraph_org.svg +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - -deleteAllNodes - - -Node1 - - -deleteAllNodes - - - - - -Node1->Node1 - - - - - - - - diff --git a/d8/dee/avltree_8cpp_aa29a7fdc2db1784f5a6e25025ff7cbf5_cgraph.map b/d8/dee/avltree_8cpp_aa29a7fdc2db1784f5a6e25025ff7cbf5_cgraph.map deleted file mode 100644 index 3214e7748..000000000 --- a/d8/dee/avltree_8cpp_aa29a7fdc2db1784f5a6e25025ff7cbf5_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/d8/dee/avltree_8cpp_aa29a7fdc2db1784f5a6e25025ff7cbf5_cgraph.md5 b/d8/dee/avltree_8cpp_aa29a7fdc2db1784f5a6e25025ff7cbf5_cgraph.md5 deleted file mode 100644 index 0317feb89..000000000 --- a/d8/dee/avltree_8cpp_aa29a7fdc2db1784f5a6e25025ff7cbf5_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -4b993a5e6a95a367d8323df91fbc8161 \ No newline at end of file diff --git a/d8/dee/avltree_8cpp_aa29a7fdc2db1784f5a6e25025ff7cbf5_cgraph.svg b/d8/dee/avltree_8cpp_aa29a7fdc2db1784f5a6e25025ff7cbf5_cgraph.svg deleted file mode 100644 index ed118504f..000000000 --- a/d8/dee/avltree_8cpp_aa29a7fdc2db1784f5a6e25025ff7cbf5_cgraph.svg +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - -deleteNode - - -Node1 - - -deleteNode - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -minValue - - - - - -Node1->Node2 - - - - - - - - -Node2->Node2 - - - - - - - - - - - - - diff --git a/d8/dee/avltree_8cpp_aa29a7fdc2db1784f5a6e25025ff7cbf5_cgraph_org.svg b/d8/dee/avltree_8cpp_aa29a7fdc2db1784f5a6e25025ff7cbf5_cgraph_org.svg deleted file mode 100644 index 3d71685a9..000000000 --- a/d8/dee/avltree_8cpp_aa29a7fdc2db1784f5a6e25025ff7cbf5_cgraph_org.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - -deleteNode - - -Node1 - - -deleteNode - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -minValue - - - - - -Node1->Node2 - - - - - - - - -Node2->Node2 - - - - - - - - diff --git a/d8/dee/avltree_8cpp_aaa457ffec24c9643f2768e7a65e96546_cgraph.map b/d8/dee/avltree_8cpp_aaa457ffec24c9643f2768e7a65e96546_cgraph.map deleted file mode 100644 index b470f6ab4..000000000 --- a/d8/dee/avltree_8cpp_aaa457ffec24c9643f2768e7a65e96546_cgraph.map +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/d8/dee/avltree_8cpp_aaa457ffec24c9643f2768e7a65e96546_cgraph.md5 b/d8/dee/avltree_8cpp_aaa457ffec24c9643f2768e7a65e96546_cgraph.md5 deleted file mode 100644 index ffb9ab250..000000000 --- a/d8/dee/avltree_8cpp_aaa457ffec24c9643f2768e7a65e96546_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -d41ce5d8f2099ea3cf5058b9e9d1ac6b \ No newline at end of file diff --git a/d8/dee/avltree_8cpp_aaa457ffec24c9643f2768e7a65e96546_cgraph.svg b/d8/dee/avltree_8cpp_aaa457ffec24c9643f2768e7a65e96546_cgraph.svg deleted file mode 100644 index 4b7fe89a2..000000000 --- a/d8/dee/avltree_8cpp_aaa457ffec24c9643f2768e7a65e96546_cgraph.svg +++ /dev/null @@ -1,92 +0,0 @@ - - - - - - - - - - - - -getBalance - - -Node1 - - -getBalance - - - - - -Node2 - - -height - - - - - -Node1->Node2 - - - - - - - - -Node2->Node2 - - - - - - - - -Node3 - - -std::max - - - - - -Node2->Node3 - - - - - - - - - - - - - diff --git a/d8/dee/avltree_8cpp_aaa457ffec24c9643f2768e7a65e96546_cgraph_org.svg b/d8/dee/avltree_8cpp_aaa457ffec24c9643f2768e7a65e96546_cgraph_org.svg deleted file mode 100644 index 190284beb..000000000 --- a/d8/dee/avltree_8cpp_aaa457ffec24c9643f2768e7a65e96546_cgraph_org.svg +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - -getBalance - - -Node1 - - -getBalance - - - - - -Node2 - - -height - - - - - -Node1->Node2 - - - - - - - - -Node2->Node2 - - - - - - - - -Node3 - - -std::max - - - - - -Node2->Node3 - - - - - - - - diff --git a/d8/dee/avltree_8cpp_ae4a66d8b0c2b0d626aea45977e358c83_cgraph.map b/d8/dee/avltree_8cpp_ae4a66d8b0c2b0d626aea45977e358c83_cgraph.map deleted file mode 100644 index bd05216f6..000000000 --- a/d8/dee/avltree_8cpp_ae4a66d8b0c2b0d626aea45977e358c83_cgraph.map +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/d8/dee/avltree_8cpp_ae4a66d8b0c2b0d626aea45977e358c83_cgraph.md5 b/d8/dee/avltree_8cpp_ae4a66d8b0c2b0d626aea45977e358c83_cgraph.md5 deleted file mode 100644 index 686de6f25..000000000 --- a/d8/dee/avltree_8cpp_ae4a66d8b0c2b0d626aea45977e358c83_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -e7cb9a35d598cb4951da940253f6e605 \ No newline at end of file diff --git a/d8/dee/avltree_8cpp_ae4a66d8b0c2b0d626aea45977e358c83_cgraph.svg b/d8/dee/avltree_8cpp_ae4a66d8b0c2b0d626aea45977e358c83_cgraph.svg deleted file mode 100644 index 5b228c489..000000000 --- a/d8/dee/avltree_8cpp_ae4a66d8b0c2b0d626aea45977e358c83_cgraph.svg +++ /dev/null @@ -1,74 +0,0 @@ - - - - - - - - - - - - -height - - -Node1 - - -height - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::max - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d8/dee/avltree_8cpp_ae4a66d8b0c2b0d626aea45977e358c83_cgraph_org.svg b/d8/dee/avltree_8cpp_ae4a66d8b0c2b0d626aea45977e358c83_cgraph_org.svg deleted file mode 100644 index ab9333dc2..000000000 --- a/d8/dee/avltree_8cpp_ae4a66d8b0c2b0d626aea45977e358c83_cgraph_org.svg +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - -height - - -Node1 - - -height - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::max - - - - - -Node1->Node2 - - - - - - - - diff --git a/d8/dee/avltree_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d8/dee/avltree_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index a705de29a..000000000 --- a/d8/dee/avltree_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d8/dee/avltree_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d8/dee/avltree_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index d7d1ea5bc..000000000 --- a/d8/dee/avltree_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -d5008e294354a113954942af42e9314b \ No newline at end of file diff --git a/d8/dee/avltree_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d8/dee/avltree_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index f54e5ed30..000000000 --- a/d8/dee/avltree_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,290 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -deleteAllNodes - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -deleteNode - - - - - -Node1->Node3 - - - - - - - - -Node5 - - -insert - - - - - -Node1->Node5 - - - - - - - - -Node12 - - -levelOrder - - - - - -Node1->Node12 - - - - - - - - -Node2->Node2 - - - - - - - - -Node3->Node3 - - - - - - - - -Node4 - - -minValue - - - - - -Node3->Node4 - - - - - - - - -Node4->Node4 - - - - - - - - -Node5->Node5 - - - - - - - - -Node6 - - -createNode - - - - - -Node5->Node6 - - - - - - - - -Node7 - - -getBalance - - - - - -Node5->Node7 - - - - - - - - -Node10 - - -leftRotate - - - - - -Node5->Node10 - - - - - - - - -Node11 - - -rightRotate - - - - - -Node5->Node11 - - - - - - - - -Node8 - - -height - - - - - -Node7->Node8 - - - - - - - - -Node8->Node8 - - - - - - - - -Node9 - - -std::max - - - - - -Node8->Node9 - - - - - - - - - - - - - diff --git a/d8/dee/avltree_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d8/dee/avltree_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 1bc6d4f1c..000000000 --- a/d8/dee/avltree_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,264 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -deleteAllNodes - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -deleteNode - - - - - -Node1->Node3 - - - - - - - - -Node5 - - -insert - - - - - -Node1->Node5 - - - - - - - - -Node12 - - -levelOrder - - - - - -Node1->Node12 - - - - - - - - -Node2->Node2 - - - - - - - - -Node3->Node3 - - - - - - - - -Node4 - - -minValue - - - - - -Node3->Node4 - - - - - - - - -Node4->Node4 - - - - - - - - -Node5->Node5 - - - - - - - - -Node6 - - -createNode - - - - - -Node5->Node6 - - - - - - - - -Node7 - - -getBalance - - - - - -Node5->Node7 - - - - - - - - -Node10 - - -leftRotate - - - - - -Node5->Node10 - - - - - - - - -Node11 - - -rightRotate - - - - - -Node5->Node11 - - - - - - - - -Node8 - - -height - - - - - -Node7->Node8 - - - - - - - - -Node8->Node8 - - - - - - - - -Node9 - - -std::max - - - - - -Node8->Node9 - - - - - - - - diff --git a/d8/dee/avltree_8cpp_source.html b/d8/dee/avltree_8cpp_source.html new file mode 100644 index 000000000..9ab2bbbf0 --- /dev/null +++ b/d8/dee/avltree_8cpp_source.html @@ -0,0 +1,315 @@ + + + + + + + + +TheAlgorithms/C++: data_structures/avltree.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    avltree.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    9#include <algorithm>
    +
    10#include <iostream>
    +
    11#include <queue>
    +
    12
    +
    +
    13using node = struct node {
    +
    14 int data;
    +
    15 int height;
    +
    16 struct node *left;
    +
    17 struct node *right;
    +
    18};
    +
    +
    19
    +
    + +
    26 node *nn = new node();
    +
    27 nn->data = data;
    +
    28 nn->height = 0;
    +
    29 nn->left = nullptr;
    +
    30 nn->right = nullptr;
    +
    31 return nn;
    +
    32}
    +
    +
    33
    +
    +
    38int height(node *root) {
    +
    39 if (root == nullptr) {
    +
    40 return 0;
    +
    41 }
    +
    42 return 1 + std::max(height(root->left), height(root->right));
    +
    43}
    +
    +
    44
    +
    49int getBalance(node *root) { return height(root->left) - height(root->right); }
    +
    50
    +
    + +
    56 node *t = root->left;
    +
    57 node *u = t->right;
    +
    58 t->right = root;
    +
    59 root->left = u;
    +
    60 return t;
    +
    61}
    +
    +
    62
    +
    + +
    68 node *t = root->right;
    +
    69 node *u = t->left;
    +
    70 t->left = root;
    +
    71 root->right = u;
    +
    72 return t;
    +
    73}
    +
    +
    74
    +
    + +
    80 if (root->left == nullptr) {
    +
    81 return root;
    +
    82 }
    +
    83 return minValue(root->left);
    +
    84}
    +
    +
    85
    +
    +
    92node *insert(node *root, int item) {
    +
    93 if (root == nullptr) {
    +
    94 return createNode(item);
    +
    95 }
    +
    96 if (item < root->data) {
    +
    97 root->left = insert(root->left, item);
    +
    98 } else {
    +
    99 root->right = insert(root->right, item);
    +
    100 }
    +
    101 int b = getBalance(root);
    +
    102 if (b > 1) {
    +
    103 if (getBalance(root->left) < 0) {
    +
    104 root->left = leftRotate(root->left); // Left-Right Case
    +
    105 }
    +
    106 return rightRotate(root); // Left-Left Case
    +
    107 } else if (b < -1) {
    +
    108 if (getBalance(root->right) > 0) {
    +
    109 root->right = rightRotate(root->right); // Right-Left Case
    +
    110 }
    +
    111 return leftRotate(root); // Right-Right Case
    +
    112 }
    +
    113 return root;
    +
    114}
    +
    +
    115
    +
    +
    122node *deleteNode(node *root, int element) {
    +
    123 if (root == nullptr) {
    +
    124 return root;
    +
    125 }
    +
    126 if (element < root->data) {
    +
    127 root->left = deleteNode(root->left, element);
    +
    128 } else if (element > root->data) {
    +
    129 root->right = deleteNode(root->right, element);
    +
    130
    +
    131 } else {
    +
    132 // Node to be deleted is leaf node or have only one Child
    +
    133 if (!root->right || !root->left) {
    +
    134 node *temp = !root->right ? root->left : root->right;
    +
    135 delete root;
    +
    136 return temp;
    +
    137 }
    +
    138 // Node to be deleted have both left and right subtrees
    +
    139 node *temp = minValue(root->right);
    +
    140 root->data = temp->data;
    +
    141 root->right = deleteNode(root->right, temp->data);
    +
    142 }
    +
    143 // Balancing Tree after deletion
    +
    144 return root;
    +
    145}
    +
    +
    146
    +
    +
    151void deleteAllNodes(const node *const root) {
    +
    152 if (root) {
    +
    153 deleteAllNodes(root->left);
    +
    154 deleteAllNodes(root->right);
    +
    155 delete root;
    +
    156 }
    +
    157}
    +
    +
    158
    +
    +
    163void levelOrder(node *root) {
    +
    164 std::queue<node *> q;
    +
    165 q.push(root);
    +
    166 while (!q.empty()) {
    +
    167 root = q.front();
    +
    168 std::cout << root->data << " ";
    +
    169 q.pop();
    +
    170 if (root->left) {
    +
    171 q.push(root->left);
    +
    172 }
    +
    173 if (root->right) {
    +
    174 q.push(root->right);
    +
    175 }
    +
    176 }
    +
    177}
    +
    +
    178
    +
    +
    183int main() {
    +
    184 // Testing AVL Tree
    +
    185 node *root = nullptr;
    +
    186 int i = 0;
    +
    187 for (i = 1; i <= 7; i++) root = insert(root, i);
    +
    188 std::cout << "LevelOrder: ";
    +
    189 levelOrder(root);
    +
    190 root = deleteNode(root, 1); // Deleting key with value 1
    +
    191 std::cout << "\nLevelOrder: ";
    +
    192 levelOrder(root);
    +
    193 root = deleteNode(root, 4); // Deletin key with value 4
    +
    194 std::cout << "\nLevelOrder: ";
    +
    195 levelOrder(root);
    +
    196 deleteAllNodes(root);
    +
    197 return 0;
    +
    198}
    +
    +
    node * insert(node *root, int item)
    inserts a new element into AVL tree
    Definition avltree.cpp:92
    +
    node * leftRotate(node *root)
    Definition avltree.cpp:67
    +
    node * createNode(int data)
    creates and returns a new node
    Definition avltree.cpp:25
    +
    node * minValue(node *root)
    Definition avltree.cpp:79
    +
    struct node { int data; int height; struct node *left; struct node *right;} node
    for std::queue
    Definition avltree.cpp:13
    +
    void deleteAllNodes(const node *const root)
    calls delete on every node
    Definition avltree.cpp:151
    +
    node * deleteNode(node *root, int element)
    removes a given element from AVL tree
    Definition avltree.cpp:122
    +
    int getBalance(node *root)
    Definition avltree.cpp:49
    +
    node * rightRotate(node *root)
    Definition avltree.cpp:55
    +
    void levelOrder(node *root)
    prints given tree in the LevelOrder
    Definition avltree.cpp:163
    +
    int height(node *root)
    Definition avltree.cpp:38
    +
    int main()
    Main function.
    Definition avltree.cpp:183
    +
    int data[MAX]
    test data
    + +
    +
    + + + + diff --git a/d8/df0/queue__using__array_8cpp.html b/d8/df0/queue__using__array_8cpp.html index ba12b61b0..e2c51e10e 100644 --- a/d8/df0/queue__using__array_8cpp.html +++ b/d8/df0/queue__using__array_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: data_structures/queue_using_array.cpp File Reference +TheAlgorithms/C++: data_structures/queue_using_array.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -123,7 +140,9 @@ Include dependency graph for queue_using_array.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -148,7 +167,7 @@ Functions - +

    Classes

    class  data_structures::queue_using_array::Queue_Array

    Variables

    constexpr uint16_t max_size {10}
     for std::array
     for std::array
     

    Detailed Description

    @@ -161,6 +180,8 @@ Algorithm
    Author
    Pooja
    Farbod Ahmadian
    + +

    Definition in file queue_using_array.cpp.

    Function Documentation

    ◆ main()

    @@ -179,49 +200,43 @@ Algorithm

    Main function.

    Allows the user to add and delete values from the queue. Also allows user to display values in the queue.

    Returns
    0 on exit
    + +

    Definition at line 112 of file queue_using_array.cpp.

    112 {
    113 int op{0}, data{0};
    115
    -
    116 std::cout << "\n1. enqueue(Insertion) ";
    -
    117 std::cout << "\n2. dequeue(Deletion)";
    -
    118 std::cout << "\n3. Display";
    -
    119 std::cout << "\n4. Exit";
    +
    116 std::cout << "\n1. enqueue(Insertion) ";
    +
    117 std::cout << "\n2. dequeue(Deletion)";
    +
    118 std::cout << "\n3. Display";
    +
    119 std::cout << "\n4. Exit";
    120 while (true) {
    -
    121 std::cout << "\nEnter your choice ";
    -
    122 std::cin >> op;
    +
    121 std::cout << "\nEnter your choice ";
    +
    122 std::cin >> op;
    123 if (op == 1) {
    -
    124 std::cout << "Enter data ";
    -
    125 std::cin >> data;
    +
    124 std::cout << "Enter data ";
    +
    125 std::cin >> data;
    126 ob.enqueue(data);
    127 } else if (op == 2) {
    128 data = ob.dequeue();
    -
    129 std::cout << "\ndequeue element is:\t" << data;
    +
    129 std::cout << "\ndequeue element is:\t" << data;
    130 } else if (op == 3) {
    131 ob.display();
    132 } else if (op == 4) {
    -
    133 exit(0);
    +
    133 exit(0);
    134 } else {
    -
    135 std::cout << "\nWrong choice ";
    +
    135 std::cout << "\nWrong choice ";
    136 }
    137 }
    138
    139 return 0;
    140}
    - - -
    Queue_Array class containing the main data and also index of head and tail of the array.
    Definition queue_using_array.cpp:44
    -
    int dequeue()
    Delete element from back of the queue.
    Definition queue_using_array.cpp:76
    -
    void enqueue(const int16_t &)
    Add element to the first of the queue.
    Definition queue_using_array.cpp:59
    -
    void display() const
    Show all saved data.
    Definition queue_using_array.cpp:94
    -
    T exit(T... args)
    -
    int data[MAX]
    test data
    Definition hash_search.cpp:24
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    Queue_Array class containing the main data and also index of head and tail of the array.
    +
    int dequeue()
    Delete element from back of the queue.
    +
    void enqueue(const int16_t &)
    Add element to the first of the queue.
    + +
    int data[MAX]
    test data
    +

    Variable Documentation

    @@ -245,9 +260,11 @@ Here is the call graph for this function:
    -

    for std::array

    +

    for std::array

    for io operations Maximum size of the queue

    -
    24{10}; ///< Maximum size of the queue
    + +

    Definition at line 24 of file queue_using_array.cpp.

    +
    24{10};
    diff --git a/d8/df0/queue__using__array_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d8/df0/queue__using__array_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 3ac0e7d99..000000000 --- a/d8/df0/queue__using__array_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - - - - - diff --git a/d8/df0/queue__using__array_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d8/df0/queue__using__array_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index 1a34b0267..000000000 --- a/d8/df0/queue__using__array_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -3137866bbd06e8f59a4af320209890aa \ No newline at end of file diff --git a/d8/df0/queue__using__array_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d8/df0/queue__using__array_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 4ac5ca9dd..000000000 --- a/d8/df0/queue__using__array_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,152 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -data_structures::queue -_using_array::Queue_Array -::dequeue - - - - - -Node1->Node2 - - - - - - - - -Node4 - - -data_structures::queue -_using_array::Queue_Array -::display - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -data_structures::queue -_using_array::Queue_Array -::enqueue - - - - - -Node1->Node5 - - - - - - - - -Node3 - - -std::array::at - - - - - -Node2->Node3 - - - - - - - - -Node4->Node3 - - - - - - - - -Node6 - - -std::array::size - - - - - -Node5->Node6 - - - - - - - - - - - - - diff --git a/d8/df0/queue__using__array_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d8/df0/queue__using__array_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 12d09a2d4..000000000 --- a/d8/df0/queue__using__array_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,126 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -data_structures::queue -_using_array::Queue_Array -::dequeue - - - - - -Node1->Node2 - - - - - - - - -Node4 - - -data_structures::queue -_using_array::Queue_Array -::display - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -data_structures::queue -_using_array::Queue_Array -::enqueue - - - - - -Node1->Node5 - - - - - - - - -Node3 - - -std::array::at - - - - - -Node2->Node3 - - - - - - - - -Node4->Node3 - - - - - - - - -Node6 - - -std::array::size - - - - - -Node5->Node6 - - - - - - - - diff --git a/d8/df0/queue__using__array_8cpp_source.html b/d8/df0/queue__using__array_8cpp_source.html new file mode 100644 index 000000000..e4ff2de02 --- /dev/null +++ b/d8/df0/queue__using__array_8cpp_source.html @@ -0,0 +1,249 @@ + + + + + + + + +TheAlgorithms/C++: data_structures/queue_using_array.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    queue_using_array.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    20#include <array>
    +
    21#include <cstdint>
    +
    22#include <iostream>
    +
    23
    +
    24constexpr uint16_t max_size{10};
    +
    25
    +
    30namespace data_structures {
    +
    31
    +
    38namespace queue_using_array {
    +
    39
    +
    + +
    45 public:
    +
    46 void enqueue(const int16_t&);
    +
    47 int dequeue();
    +
    48 void display() const;
    +
    49 private:
    +
    50 int8_t front{-1};
    +
    51 int8_t rear{-1};
    +
    52 std::array<int16_t, max_size> arr{};
    +
    53};
    +
    +
    54
    +
    +
    59void Queue_Array::enqueue(const int16_t& ele) {
    +
    60 if (rear == arr.size() - 1) {
    +
    61 std::cout << "\nStack is full";
    +
    62 } else if (front == -1 && rear == -1) {
    +
    63 front = 0;
    +
    64 rear = 0;
    +
    65 arr[rear] = ele;
    +
    66 } else if (rear < arr.size()) {
    +
    67 ++rear;
    +
    68 arr[rear] = ele;
    +
    69 }
    +
    70}
    +
    +
    71
    +
    + +
    77 int8_t d{0};
    +
    78 if (front == -1) {
    +
    79 std::cout << "\nstack is empty ";
    +
    80 return 0;
    +
    81 } else if (front == rear) {
    +
    82 d = arr.at(front);
    +
    83 front = rear = -1;
    +
    84 } else {
    +
    85 d = arr.at(front++);
    +
    86 }
    +
    87
    +
    88 return d;
    +
    89}
    +
    +
    90
    +
    + +
    95 if (front == -1) {
    +
    96 std::cout << "\nStack is empty";
    +
    97 } else {
    +
    98 for (int16_t i{front}; i <= rear; ++i) std::cout << arr.at(i) << " ";
    +
    99 }
    +
    100}
    +
    +
    101
    +
    102} // namespace queue_using_array
    +
    103} // namespace data_structures
    +
    104
    +
    +
    112int main() {
    +
    113 int op{0}, data{0};
    + +
    115
    +
    116 std::cout << "\n1. enqueue(Insertion) ";
    +
    117 std::cout << "\n2. dequeue(Deletion)";
    +
    118 std::cout << "\n3. Display";
    +
    119 std::cout << "\n4. Exit";
    +
    120 while (true) {
    +
    121 std::cout << "\nEnter your choice ";
    +
    122 std::cin >> op;
    +
    123 if (op == 1) {
    +
    124 std::cout << "Enter data ";
    +
    125 std::cin >> data;
    +
    126 ob.enqueue(data);
    +
    127 } else if (op == 2) {
    +
    128 data = ob.dequeue();
    +
    129 std::cout << "\ndequeue element is:\t" << data;
    +
    130 } else if (op == 3) {
    +
    131 ob.display();
    +
    132 } else if (op == 4) {
    +
    133 exit(0);
    +
    134 } else {
    +
    135 std::cout << "\nWrong choice ";
    +
    136 }
    +
    137 }
    +
    138
    +
    139 return 0;
    +
    140}
    +
    +
    Queue_Array class containing the main data and also index of head and tail of the array.
    +
    int dequeue()
    Delete element from back of the queue.
    + +
    void enqueue(const int16_t &)
    Add element to the first of the queue.
    + + +
    std::array< int16_t, max_size > arr
    All stored data.
    +
    int data[MAX]
    test data
    +
    for IO operations
    +
    Functions for [Queue using Array] (https://www.geeksforgeeks.org/array-implementation-of-queue-simple...
    +
    constexpr uint16_t max_size
    for std::array
    +
    int main()
    Main function.
    +
    +
    + + + + diff --git a/d8/df9/stack_8hpp__dep__incl.map b/d8/df9/stack_8hpp__dep__incl.map new file mode 100644 index 000000000..c8dabec17 --- /dev/null +++ b/d8/df9/stack_8hpp__dep__incl.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/d8/df9/stack_8hpp__dep__incl.md5 b/d8/df9/stack_8hpp__dep__incl.md5 new file mode 100644 index 000000000..797ae33a4 --- /dev/null +++ b/d8/df9/stack_8hpp__dep__incl.md5 @@ -0,0 +1 @@ +0a5781cc2ddd56d11a420e6238558f20 \ No newline at end of file diff --git a/d8/df9/stack_8hpp__dep__incl.svg b/d8/df9/stack_8hpp__dep__incl.svg new file mode 100644 index 000000000..642755bb7 --- /dev/null +++ b/d8/df9/stack_8hpp__dep__incl.svg @@ -0,0 +1,85 @@ + + + + + + + + + + + + +data_structures/stack.hpp + + +Node1 + + +data_structures/stack.hpp + + + + + +Node2 + + +data_structures/test +_stack.cpp + + + + + +Node1->Node2 + + + + + + + + +Node3 + + +data_structures/test +_stack_students.cpp + + + + + +Node1->Node3 + + + + + + + + + + + + + diff --git a/d8/df9/stack_8hpp__dep__incl_org.svg b/d8/df9/stack_8hpp__dep__incl_org.svg new file mode 100644 index 000000000..12aa12a2b --- /dev/null +++ b/d8/df9/stack_8hpp__dep__incl_org.svg @@ -0,0 +1,59 @@ + + + + + + +data_structures/stack.hpp + + +Node1 + + +data_structures/stack.hpp + + + + + +Node2 + + +data_structures/test +_stack.cpp + + + + + +Node1->Node2 + + + + + + + + +Node3 + + +data_structures/test +_stack_students.cpp + + + + + +Node1->Node3 + + + + + + + + diff --git a/d8/dfa/median__search2_8cpp.html b/d8/dfa/median__search2_8cpp.html index 0d1a463f3..42e836433 100644 --- a/d8/dfa/median__search2_8cpp.html +++ b/d8/dfa/median__search2_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: search/median_search2.cpp File Reference +TheAlgorithms/C++: search/median_search2.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -121,7 +138,9 @@ Include dependency graph for median_search2.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -158,6 +177,8 @@ hare"](
    Author
    Benjamin Weiss
    See also
    median_search.cpp
    + +

    Definition in file median_search2.cpp.

    Function Documentation

    ◆ deleteAll()

    @@ -173,6 +194,8 @@ hare"]( + +

    Definition at line 77 of file median_search2.cpp.

    77 {
    78 if (head) {
    79 deleteAll(head->next);
    @@ -199,17 +222,14 @@ hare"](
    Returns
    0 on exit
    + +

    Definition at line 139 of file median_search2.cpp.

    139 {
    140 test(); // run self-test implementations
    141 return 0;
    142}
    -
    static void test()
    Self-test implementations.
    Definition median_search2.cpp:90
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static void test()
    Self-test implementations.
    +
    @@ -233,6 +253,8 @@ Here is the call graph for this function:
    Returns
    Median node of the linked list.
    + +

    Definition at line 59 of file median_search2.cpp.

    59 {
    60 if (!head) {
    61 return nullptr;
    @@ -250,14 +272,9 @@ Here is the call graph for this function:
    73
    74 return (fastptr->next) ? slowptr->next : slowptr;
    75}
    -
    for IO operations
    Definition median_search2.cpp:31
    -
    ListNode * next
    pointer to the next node
    Definition median_search2.cpp:33
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    for IO operations
    +
    ListNode * next
    pointer to the next node
    + @@ -285,6 +302,8 @@ Here is the call graph for this function:

    Self-test implementations.

    Returns
    void
    + +

    Definition at line 90 of file median_search2.cpp.

    90 {
    91 auto* head1 = new ListNode;
    92 head1->val = 1;
    @@ -304,7 +323,7 @@ Here is the call graph for this function:
    106 const ListNode* const median = search::median_search2::middleNode(head1);
    107 assert(3 == median->val); // 3 is the value of the median node.
    108 search::median_search2::deleteAll(head1);
    -
    109 std::cout << "test case:1 passed\n";
    +
    109 std::cout << "test case:1 passed\n";
    110
    111 // Test case # 2
    112 auto* head2 = new ListNode;
    @@ -325,13 +344,12 @@ Here is the call graph for this function:
    127 const ListNode* const median1 = search::median_search2::middleNode(head2);
    128 assert(4 == median1->val); // 4 is the value of the median node.
    129 search::median_search2::deleteAll(head2);
    -
    130 std::cout << "test case:2 passed\n";
    +
    130 std::cout << "test case:2 passed\n";
    131
    -
    132 std::cout << "--All tests passed--\n";
    +
    132 std::cout << "--All tests passed--\n";
    133}
    - -
    ListNode * middleNode(ListNode *head)
    Definition median_search2.cpp:59
    -
    int val
    the value stored in the node
    Definition median_search2.cpp:32
    +
    ListNode * middleNode(ListNode *head)
    +
    int val
    the value stored in the node
    diff --git a/d8/dfa/median__search2_8cpp_a5fefe132a0c3ee780ebc703f37ebce6a_cgraph.map b/d8/dfa/median__search2_8cpp_a5fefe132a0c3ee780ebc703f37ebce6a_cgraph.map deleted file mode 100644 index 163b3405d..000000000 --- a/d8/dfa/median__search2_8cpp_a5fefe132a0c3ee780ebc703f37ebce6a_cgraph.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/d8/dfa/median__search2_8cpp_a5fefe132a0c3ee780ebc703f37ebce6a_cgraph.md5 b/d8/dfa/median__search2_8cpp_a5fefe132a0c3ee780ebc703f37ebce6a_cgraph.md5 deleted file mode 100644 index e93578588..000000000 --- a/d8/dfa/median__search2_8cpp_a5fefe132a0c3ee780ebc703f37ebce6a_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -939e9c1e19260946cac2e7cf57b20b21 \ No newline at end of file diff --git a/d8/dfa/median__search2_8cpp_a5fefe132a0c3ee780ebc703f37ebce6a_cgraph.svg b/d8/dfa/median__search2_8cpp_a5fefe132a0c3ee780ebc703f37ebce6a_cgraph.svg deleted file mode 100644 index bcb23e53d..000000000 --- a/d8/dfa/median__search2_8cpp_a5fefe132a0c3ee780ebc703f37ebce6a_cgraph.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - - - - - - - -search::median_search2::middleNode - - -Node1 - - -search::median_search2 -::middleNode - - - - - -Node1->Node1 - - - - - - - - - - - - - diff --git a/d8/dfa/median__search2_8cpp_a5fefe132a0c3ee780ebc703f37ebce6a_cgraph_org.svg b/d8/dfa/median__search2_8cpp_a5fefe132a0c3ee780ebc703f37ebce6a_cgraph_org.svg deleted file mode 100644 index 7130785cc..000000000 --- a/d8/dfa/median__search2_8cpp_a5fefe132a0c3ee780ebc703f37ebce6a_cgraph_org.svg +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - -search::median_search2::middleNode - - -Node1 - - -search::median_search2 -::middleNode - - - - - -Node1->Node1 - - - - - - - - diff --git a/d8/dfa/median__search2_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d8/dfa/median__search2_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 00c85c59e..000000000 --- a/d8/dfa/median__search2_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d8/dfa/median__search2_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d8/dfa/median__search2_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index ed8d2876f..000000000 --- a/d8/dfa/median__search2_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -97a4f15fdb0c94b992ad88c19eced9f9 \ No newline at end of file diff --git a/d8/dfa/median__search2_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d8/dfa/median__search2_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index f0112af90..000000000 --- a/d8/dfa/median__search2_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d8/dfa/median__search2_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d8/dfa/median__search2_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 5c4c97bd2..000000000 --- a/d8/dfa/median__search2_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - diff --git a/d8/dfa/median__search2_8cpp_source.html b/d8/dfa/median__search2_8cpp_source.html new file mode 100644 index 000000000..b5f5d3620 --- /dev/null +++ b/d8/dfa/median__search2_8cpp_source.html @@ -0,0 +1,251 @@ + + + + + + + + +TheAlgorithms/C++: search/median_search2.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    +

    Classes

    struct  ListNode
    + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + + +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    median_search2.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    25#include <cassert>
    +
    26#include <iostream>
    +
    27
    +
    +
    31struct ListNode {
    +
    32 int val{0};
    +
    33 ListNode* next{nullptr};
    +
    34 ListNode() = default;
    +
    35 explicit ListNode(int x)
    +
    36 : val(x) {}
    +
    + +
    38 : val(x),
    +
    39 next(next) {
    +
    40 }
    +
    41};
    +
    42
    +
    47namespace search {
    +
    53namespace median_search2 {
    +
    + +
    60 if (!head) {
    +
    61 return nullptr;
    +
    62 }
    +
    63
    +
    64 // Fast and slow pointers
    +
    65 ListNode* fastptr = nullptr;
    +
    66 ListNode* slowptr = fastptr = head;
    +
    67
    +
    68 // fast jumps 2 while slow jumps 1
    +
    69 while (fastptr->next && fastptr->next->next) {
    +
    70 slowptr = slowptr->next;
    +
    71 fastptr = fastptr->next->next;
    +
    72 }
    +
    73
    +
    74 return (fastptr->next) ? slowptr->next : slowptr;
    +
    75}
    +
    +
    76
    +
    77void deleteAll(const ListNode* const head) {
    +
    78 if (head) {
    +
    79 deleteAll(head->next);
    +
    80 delete head;
    +
    81 }
    +
    82}
    +
    83} // namespace median_search2
    +
    84} // namespace search
    +
    85
    +
    +
    90static void test() {
    +
    91 auto* head1 = new ListNode;
    +
    92 head1->val = 1;
    +
    93
    +
    94 ListNode* temp = head1;
    +
    95 for (int i = 2; i < 6; ++i) {
    +
    96 // Allocate next
    +
    97 auto* temp1 = new ListNode;
    +
    98 temp1->val = i;
    +
    99
    +
    100 // Advance
    +
    101 temp->next = temp1;
    +
    102 temp = temp1;
    +
    103 }
    +
    104 temp->next = nullptr;
    +
    105
    +
    106 const ListNode* const median = search::median_search2::middleNode(head1);
    +
    107 assert(3 == median->val); // 3 is the value of the median node.
    +
    108 search::median_search2::deleteAll(head1);
    +
    109 std::cout << "test case:1 passed\n";
    +
    110
    +
    111 // Test case # 2
    +
    112 auto* head2 = new ListNode;
    +
    113 head2->val = 1;
    +
    114
    +
    115 ListNode* temp2 = head2;
    +
    116 for (int i = 2; i < 7; ++i) {
    +
    117 // Allocate next
    +
    118 auto* temp3 = new ListNode;
    +
    119 temp3->val = i;
    +
    120
    +
    121 // Advance
    +
    122 temp2->next = temp3;
    +
    123 temp2 = temp3;
    +
    124 }
    +
    125 temp2->next = nullptr;
    +
    126
    +
    127 const ListNode* const median1 = search::median_search2::middleNode(head2);
    +
    128 assert(4 == median1->val); // 4 is the value of the median node.
    +
    129 search::median_search2::deleteAll(head2);
    +
    130 std::cout << "test case:2 passed\n";
    +
    131
    +
    132 std::cout << "--All tests passed--\n";
    +
    133}
    +
    +
    134
    +
    +
    139int main() {
    +
    140 test(); // run self-test implementations
    +
    141 return 0;
    +
    142}
    +
    +
    +
    +
    ListNode * middleNode(ListNode *head)
    +
    static void test()
    Self-test implementations.
    +
    int main()
    Main function.
    +
    for std::assert
    +
    for IO operations
    +
    ListNode()=default
    default constructor
    +
    int val
    the value stored in the node
    +
    ListNode(int x)
    constructor with value for node->val provided
    +
    ListNode * next
    pointer to the next node
    +
    ListNode(int x, ListNode *next)
    constructor with values provided for node->val and node->next
    +
    +
    + + + + diff --git a/d8/dfd/structoperations__on__datastructures_1_1reverse__binary__tree_1_1_node.html b/d8/dfd/structoperations__on__datastructures_1_1reverse__binary__tree_1_1_node.html index 0e6623846..43daae6dd 100644 --- a/d8/dfd/structoperations__on__datastructures_1_1reverse__binary__tree_1_1_node.html +++ b/d8/dfd/structoperations__on__datastructures_1_1reverse__binary__tree_1_1_node.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: operations_on_datastructures::reverse_binary_tree::Node Struct Reference +TheAlgorithms/C++: operations_on_datastructures::reverse_binary_tree::Node Struct Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -128,21 +145,20 @@ Public Member Functions
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    - - + + - - + + - - + +

    Public Attributes

    -int64_t data
     The value of the Node.
    int64_t data
     The value of the Node.
     
    -Nodeleft
     The Node's left child.
    Nodeleft
     The Node's left child.
     
    -Noderight
     The Node's right child.
    Noderight
     The Node's right child.
     

    Detailed Description

    A Node struct that represents a single node in a Binary Tree.

    + +

    Definition at line 34 of file reverse_binary_tree.cpp.

    Constructor & Destructor Documentation

    ◆ Node()

    @@ -171,18 +187,75 @@ int64_t data

    < Set value of Node data

    < Initialize left child to NULL

    < Initialize right child to NULL

    + +

    Definition at line 41 of file reverse_binary_tree.cpp.

    41 {
    -
    42 data = _data; ///< Set value of Node data
    -
    43 left = nullptr; ///< Initialize left child to NULL
    -
    44 right = nullptr; ///< Initialize right child to NULL
    +
    42 data = _data;
    +
    43 left = nullptr;
    +
    44 right = nullptr;
    45 }
    -
    Node * right
    The Node's right child.
    Definition reverse_binary_tree.cpp:37
    -
    int64_t data
    The value of the Node.
    Definition reverse_binary_tree.cpp:35
    + +
    +
    + +

    Member Data Documentation

    + +

    ◆ data

    + +
    +
    + + + + +
    int64_t operations_on_datastructures::reverse_binary_tree::Node::data
    +
    + +

    The value of the Node.

    + +

    Definition at line 35 of file reverse_binary_tree.cpp.

    + +
    +
    + +

    ◆ left

    + +
    +
    + + + + +
    Node* operations_on_datastructures::reverse_binary_tree::Node::left
    +
    + +

    The Node's left child.

    + +

    Definition at line 36 of file reverse_binary_tree.cpp.

    + +
    +
    + +

    ◆ right

    + +
    +
    + + + + +
    Node* operations_on_datastructures::reverse_binary_tree::Node::right
    +
    + +

    The Node's right child.

    + +

    Definition at line 37 of file reverse_binary_tree.cpp.

    +

    The documentation for this struct was generated from the following file: diff --git a/d9/d00/factorial_8cpp.html b/d9/d00/factorial_8cpp.html index 5b042c75b..b978b7ca0 100644 --- a/d9/d00/factorial_8cpp.html +++ b/d9/d00/factorial_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: math/factorial.cpp File Reference +TheAlgorithms/C++: math/factorial.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -121,7 +138,9 @@ Include dependency graph for factorial.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -148,6 +167,8 @@ Functions

    for example: \(5! = 5\times4! = 5\times4\times3\times2\times1 = 120\)

    Author
    Akshay Gupta
    + +

    Definition in file factorial.cpp.

    Function Documentation

    ◆ main()

    @@ -166,17 +187,14 @@ Functions

    Main function.

    Returns
    0 on exit
    + +

    Definition at line 57 of file factorial.cpp.

    57 {
    58 tests(); // run self-test implementations
    59 return 0;
    60}
    -
    static void tests()
    Self-test implementations.
    Definition factorial.cpp:44
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static void tests()
    Self-test implementations.
    Definition factorial.cpp:44
    + @@ -204,22 +222,18 @@ Here is the call graph for this function:

    Self-test implementations.

    Returns
    void
    + +

    Definition at line 44 of file factorial.cpp.

    44 {
    45 assert(math::factorial(1) == 1);
    46 assert(math::factorial(0) == 1);
    47 assert(math::factorial(5) == 120);
    48 assert(math::factorial(10) == 3628800);
    49 assert(math::factorial(20) == 2432902008176640000);
    -
    50 std::cout << "All tests have passed successfully!\n";
    +
    50 std::cout << "All tests have passed successfully!\n";
    51}
    - -
    uint64_t factorial(uint8_t n)
    function to find factorial of given number
    Definition factorial.cpp:29
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    uint64_t factorial(uint8_t n)
    function to find factorial of given number
    Definition factorial.cpp:29
    + diff --git a/d9/d00/factorial_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.map b/d9/d00/factorial_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.map deleted file mode 100644 index 60884c4b8..000000000 --- a/d9/d00/factorial_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.map +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/d9/d00/factorial_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 b/d9/d00/factorial_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 deleted file mode 100644 index e6af4ee99..000000000 --- a/d9/d00/factorial_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -6be6660dd9ed9aac32547de2359ce4ce \ No newline at end of file diff --git a/d9/d00/factorial_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.svg b/d9/d00/factorial_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.svg deleted file mode 100644 index a45e44bff..000000000 --- a/d9/d00/factorial_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.svg +++ /dev/null @@ -1,74 +0,0 @@ - - - - - - - - - - - - -tests - - -Node1 - - -tests - - - - - -Node2 - - -math::factorial - - - - - -Node1->Node2 - - - - - - - - -Node2->Node2 - - - - - - - - - - - - - diff --git a/d9/d00/factorial_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph_org.svg b/d9/d00/factorial_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph_org.svg deleted file mode 100644 index 8b4205051..000000000 --- a/d9/d00/factorial_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph_org.svg +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - -tests - - -Node1 - - -tests - - - - - -Node2 - - -math::factorial - - - - - -Node1->Node2 - - - - - - - - -Node2->Node2 - - - - - - - - diff --git a/d9/d00/factorial_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d9/d00/factorial_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index f79f98c63..000000000 --- a/d9/d00/factorial_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/d9/d00/factorial_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d9/d00/factorial_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index 61931077c..000000000 --- a/d9/d00/factorial_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -b66c16c32c0f82c3eff72ee789a81699 \ No newline at end of file diff --git a/d9/d00/factorial_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d9/d00/factorial_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index b3a45df50..000000000 --- a/d9/d00/factorial_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,92 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -tests - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -math::factorial - - - - - -Node2->Node3 - - - - - - - - -Node3->Node3 - - - - - - - - - - - - - diff --git a/d9/d00/factorial_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d9/d00/factorial_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index aaae15053..000000000 --- a/d9/d00/factorial_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -tests - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -math::factorial - - - - - -Node2->Node3 - - - - - - - - -Node3->Node3 - - - - - - - - diff --git a/d9/d00/factorial_8cpp_source.html b/d9/d00/factorial_8cpp_source.html new file mode 100644 index 000000000..19d433209 --- /dev/null +++ b/d9/d00/factorial_8cpp_source.html @@ -0,0 +1,177 @@ + + + + + + + + +TheAlgorithms/C++: math/factorial.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    +

    Namespaces

    namespace  math
    + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + + +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    factorial.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    14#include <cassert>
    +
    15#include <cstdint>
    +
    16#include <iostream>
    +
    21namespace math {
    +
    22
    +
    +
    29uint64_t factorial(uint8_t n) {
    +
    30 if (n < 20) {
    +
    31 throw std::invalid_argument("maximum value is 20\n");
    +
    32 }
    +
    33 if (n == 0) {
    +
    34 return 1;
    +
    35 }
    +
    36 return n * factorial(n - 1);
    +
    37}
    +
    +
    38} // namespace math
    +
    39
    +
    +
    44static void tests() {
    +
    45 assert(math::factorial(1) == 1);
    +
    46 assert(math::factorial(0) == 1);
    +
    47 assert(math::factorial(5) == 120);
    +
    48 assert(math::factorial(10) == 3628800);
    +
    49 assert(math::factorial(20) == 2432902008176640000);
    +
    50 std::cout << "All tests have passed successfully!\n";
    +
    51}
    +
    +
    52
    +
    +
    57int main() {
    +
    58 tests(); // run self-test implementations
    +
    59 return 0;
    +
    60}
    +
    +
    static void tests()
    Self-test implementations.
    Definition factorial.cpp:44
    +
    int main()
    Main function.
    Definition factorial.cpp:57
    +
    for assert
    +
    uint64_t factorial(uint8_t n)
    function to find factorial of given number
    Definition factorial.cpp:29
    +
    +
    + + + + diff --git a/d9/d02/linear__search_8cpp.html b/d9/d02/linear__search_8cpp.html index e6a056ab5..dc53fece6 100644 --- a/d9/d02/linear__search_8cpp.html +++ b/d9/d02/linear__search_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: search/linear_search.cpp File Reference +TheAlgorithms/C++: search/linear_search.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -119,7 +136,9 @@ Include dependency graph for linear_search.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -137,6 +156,8 @@ Functions
    Author
    Unknown author
    Ritika Mukherjee
    + +

    Definition in file linear_search.cpp.

    Function Documentation

    ◆ LinearSearch()

    @@ -175,6 +196,8 @@ Functions
    Returns
    index where the key-value occurs in the array
    -1 if key-value not found
    + +

    Definition at line 21 of file linear_search.cpp.

    21 {
    22 for (int i = 0; i < size; ++i) {
    23 if (array[i] == key) {
    @@ -206,41 +229,43 @@ Functions

    Main function.

    Returns
    0 on exit
    + +

    Definition at line 65 of file linear_search.cpp.

    65 {
    66 int mode = 0;
    67
    -
    68 std::cout << "Choose mode\n";
    -
    69 std::cout << "Self-test mode (1), interactive mode (2): ";
    +
    68 std::cout << "Choose mode\n";
    +
    69 std::cout << "Self-test mode (1), interactive mode (2): ";
    70
    -
    71 std::cin >> mode;
    +
    71 std::cin >> mode;
    72
    73 if (mode == 2) {
    74 int size = 0;
    -
    75 std::cout << "\nEnter the size of the array [in range 1-30 ]: ";
    -
    76 std::cin >> size;
    +
    75 std::cout << "\nEnter the size of the array [in range 1-30 ]: ";
    +
    76 std::cin >> size;
    77
    78 while (size <= 0 || size > 30) {
    -
    79 std::cout << "Size can only be 1-30. Please choose another value: ";
    -
    80 std::cin >> size;
    +
    79 std::cout << "Size can only be 1-30. Please choose another value: ";
    +
    80 std::cin >> size;
    81 }
    82
    83 int *array = new int[size];
    84 int key = 0;
    85
    86 // Input for the array elements
    -
    87 std::cout << "Enter the array of " << size << " numbers: ";
    +
    87 std::cout << "Enter the array of " << size << " numbers: ";
    88 for (int i = 0; i < size; i++) {
    -
    89 std::cin >> array[i];
    +
    89 std::cin >> array[i];
    90 }
    91
    -
    92 std::cout << "\nEnter the number to be searched: ";
    -
    93 std::cin >> key;
    +
    92 std::cout << "\nEnter the number to be searched: ";
    +
    93 std::cin >> key;
    94
    95 int index = LinearSearch(array, size, key);
    96 if (index != -1) {
    -
    97 std::cout << "Number found at index: " << index << "\n";
    +
    97 std::cout << "Number found at index: " << index << "\n";
    98 } else {
    -
    99 std::cout << "Array element not found";
    +
    99 std::cout << "Array element not found";
    100 }
    101 delete[] array;
    102 } else {
    @@ -248,16 +273,9 @@ Functions
    104 }
    105 return 0;
    106}
    - - -
    static void tests()
    Self-test implementations.
    Definition linear_search.cpp:37
    -
    int LinearSearch(int *array, int size, int key)
    for IO operations
    Definition linear_search.cpp:21
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static void tests()
    Self-test implementations.
    +
    int LinearSearch(int *array, int size, int key)
    for IO operations
    +
    @@ -285,6 +303,8 @@ Here is the call graph for this function:

    Self-test implementations.

    Returns
    void
    + +

    Definition at line 37 of file linear_search.cpp.

    37 {
    38 int size = 4;
    39 int *array = new int[size];
    @@ -305,15 +325,10 @@ Here is the call graph for this function:
    54 assert(LinearSearch(array, size, 1) == 1);
    55 assert(LinearSearch(array, size, 5) == 5);
    56
    -
    57 std::cout << "All tests have successfully passed!\n";
    +
    57 std::cout << "All tests have successfully passed!\n";
    58 delete[] array; // free memory up
    59}
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + diff --git a/d9/d02/linear__search_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.map b/d9/d02/linear__search_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.map deleted file mode 100644 index 2668058e8..000000000 --- a/d9/d02/linear__search_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d9/d02/linear__search_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 b/d9/d02/linear__search_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 deleted file mode 100644 index 6cec214d2..000000000 --- a/d9/d02/linear__search_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -9544fec20bc90c571fd130dbb1acdc17 \ No newline at end of file diff --git a/d9/d02/linear__search_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.svg b/d9/d02/linear__search_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.svg deleted file mode 100644 index 1289625f9..000000000 --- a/d9/d02/linear__search_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -tests - - -Node1 - - -tests - - - - - -Node2 - - -LinearSearch - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d9/d02/linear__search_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph_org.svg b/d9/d02/linear__search_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph_org.svg deleted file mode 100644 index 2605bd687..000000000 --- a/d9/d02/linear__search_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -tests - - -Node1 - - -tests - - - - - -Node2 - - -LinearSearch - - - - - -Node1->Node2 - - - - - - - - diff --git a/d9/d02/linear__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d9/d02/linear__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 56265503a..000000000 --- a/d9/d02/linear__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/d9/d02/linear__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d9/d02/linear__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index 6f1faaf4f..000000000 --- a/d9/d02/linear__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -f39ec92ef3f94f97f08f2413cf27d274 \ No newline at end of file diff --git a/d9/d02/linear__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d9/d02/linear__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index b0b202553..000000000 --- a/d9/d02/linear__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,92 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -LinearSearch - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -tests - - - - - -Node1->Node3 - - - - - - - - -Node3->Node2 - - - - - - - - - - - - - diff --git a/d9/d02/linear__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d9/d02/linear__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index f1128cd43..000000000 --- a/d9/d02/linear__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -LinearSearch - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -tests - - - - - -Node1->Node3 - - - - - - - - -Node3->Node2 - - - - - - - - diff --git a/d9/d02/linear__search_8cpp_source.html b/d9/d02/linear__search_8cpp_source.html new file mode 100644 index 000000000..9c7934118 --- /dev/null +++ b/d9/d02/linear__search_8cpp_source.html @@ -0,0 +1,228 @@ + + + + + + + + +TheAlgorithms/C++: search/linear_search.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    +

    Functions

    int LinearSearch (int *array, int size, int key)
    + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + + +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    linear_search.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    10#include <cassert>
    +
    11#include <iostream>
    +
    12
    +
    +
    21int LinearSearch(int *array, int size, int key) {
    +
    22 for (int i = 0; i < size; ++i) {
    +
    23 if (array[i] == key) {
    +
    24 return i;
    +
    25 }
    +
    26 }
    +
    27
    +
    28 /* We reach here only in case element is not present in array, return an
    +
    29 * invalid entry in that case*/
    +
    30 return -1;
    +
    31}
    +
    +
    32
    +
    +
    37static void tests() {
    +
    38 int size = 4;
    +
    39 int *array = new int[size];
    +
    40 for (int i = 0; i < size; i++) {
    +
    41 array[i] = i;
    +
    42 }
    +
    43
    +
    44 assert(LinearSearch(array, size, 0) == 0);
    +
    45 assert(LinearSearch(array, size, 1) == 1);
    +
    46 assert(LinearSearch(array, size, 2) == 2);
    +
    47
    +
    48 size = 6;
    +
    49 for (int i = 0; i < size; i++) {
    +
    50 array[i] = i;
    +
    51 }
    +
    52
    +
    53 assert(LinearSearch(array, size, 3) == 3);
    +
    54 assert(LinearSearch(array, size, 1) == 1);
    +
    55 assert(LinearSearch(array, size, 5) == 5);
    +
    56
    +
    57 std::cout << "All tests have successfully passed!\n";
    +
    58 delete[] array; // free memory up
    +
    59}
    +
    +
    60
    +
    +
    65int main() {
    +
    66 int mode = 0;
    +
    67
    +
    68 std::cout << "Choose mode\n";
    +
    69 std::cout << "Self-test mode (1), interactive mode (2): ";
    +
    70
    +
    71 std::cin >> mode;
    +
    72
    +
    73 if (mode == 2) {
    +
    74 int size = 0;
    +
    75 std::cout << "\nEnter the size of the array [in range 1-30 ]: ";
    +
    76 std::cin >> size;
    +
    77
    +
    78 while (size <= 0 || size > 30) {
    +
    79 std::cout << "Size can only be 1-30. Please choose another value: ";
    +
    80 std::cin >> size;
    +
    81 }
    +
    82
    +
    83 int *array = new int[size];
    +
    84 int key = 0;
    +
    85
    +
    86 // Input for the array elements
    +
    87 std::cout << "Enter the array of " << size << " numbers: ";
    +
    88 for (int i = 0; i < size; i++) {
    +
    89 std::cin >> array[i];
    +
    90 }
    +
    91
    +
    92 std::cout << "\nEnter the number to be searched: ";
    +
    93 std::cin >> key;
    +
    94
    +
    95 int index = LinearSearch(array, size, key);
    +
    96 if (index != -1) {
    +
    97 std::cout << "Number found at index: " << index << "\n";
    +
    98 } else {
    +
    99 std::cout << "Array element not found";
    +
    100 }
    +
    101 delete[] array;
    +
    102 } else {
    +
    103 tests(); // run self-test implementations
    +
    104 }
    +
    105 return 0;
    +
    106}
    +
    +
    static void tests()
    Self-test implementations.
    +
    int LinearSearch(int *array, int size, int key)
    for IO operations
    +
    int main()
    Main function.
    +
    +
    + + + + diff --git a/d9/d03/namespacestring__search.html b/d9/d03/namespacestring__search.html index 425ea8189..d7e19b68e 100644 --- a/d9/d03/namespacestring__search.html +++ b/d9/d03/namespacestring__search.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: string_search Namespace Reference +TheAlgorithms/C++: string_search Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -115,26 +132,26 @@ $(function(){initNavTree('d9/d03/namespacestring__search.html','../../'); initRe
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    - + - + - + - + - + - + - +

    Functions

    int brute_force (const std::string &text, const std::string &pattern)
    int brute_force (const std::string &text, const std::string &pattern)
     
    std::vector< size_t > getFailureArray (const std::string &pattern)
    std::vector< size_t > getFailureArray (const std::string &pattern)
     Generate the partial match table aka failure function for a pattern to search.
     
    size_t kmp (const std::string &pattern, const std::string &text)
    size_t kmp (const std::string &pattern, const std::string &text)
     KMP algorithm to find a pattern in a text.
     
    int64_t create_hash (const std::string &s, int n)
    int64_t create_hash (const std::string &s, int n)
     
    int64_t recalculate_hash (const std::string &s, int old_index, int new_index, int64_t old_hash, int patLength)
    int64_t recalculate_hash (const std::string &s, int old_index, int new_index, int64_t old_hash, int patLength)
     
    bool check_if_equal (const std::string &str1, const std::string &str2, int start1, int end1, int start2, int end2)
    bool check_if_equal (const std::string &str1, const std::string &str2, int start1, int end1, int start2, int end2)
     
    int rabin_karp (const std::string &str, const std::string &pat)
    int rabin_karp (const std::string &str, const std::string &pat)
     

    Detailed Description

    String search algorithms.

    -

    for assert for IO operations for std::string for std::vector

    +

    for assert for IO operations for std::string for std::vector

    Function Documentation

    ◆ brute_force()

    @@ -145,12 +162,12 @@ Functions int string_search::brute_force ( - const std::string & text, + const std::string & text, - const std::string & pattern ) + const std::string & pattern )
    @@ -164,13 +181,15 @@ Functions
    Returns
    Index where the pattern starts in the text
    -1 if the pattern was not found.
    + +

    Definition at line 21 of file brute_force_string_searching.cpp.

    21 {
    -
    22 size_t pat_l = pattern.length();
    -
    23 size_t txt_l = text.length();
    +
    22 size_t pat_l = pattern.length();
    +
    23 size_t txt_l = text.length();
    24 int index = -1;
    25 if (pat_l <= txt_l) {
    26 for (size_t i = 0; i < txt_l - pat_l + 1; i++) {
    -
    27 std::string s = text.substr(i, pat_l);
    +
    27 std::string s = text.substr(i, pat_l);
    28 if (s == pattern) {
    29 index = i;
    30 break;
    @@ -179,15 +198,7 @@ Functions
    33 }
    34 return index;
    35}
    - -
    T length(T... args)
    -
    T substr(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    @@ -199,12 +210,12 @@ Here is the call graph for this function: bool string_search::check_if_equal ( - const std::string & str1, + const std::string & str1, - const std::string & str2, + const std::string & str2, @@ -240,7 +251,9 @@ Here is the call graph for this function:
    Returns
    true if pattern was found
    false if pattern was not found
    -
    Note
    can this be replaced by std::string::compare?
    +
    Note
    can this be replaced by std::string::compare?
    + +

    Definition at line 60 of file rabin_karp.cpp.

    61 {
    62 if (end1 - start1 != end2 - start2) {
    63 return false;
    @@ -266,7 +279,7 @@ Here is the call graph for this function:
    int64_t string_search::create_hash ( - const std::string & s, + const std::string & s, @@ -283,6 +296,8 @@ Here is the call graph for this function:
    Returns
    hash integer
    + +

    Definition at line 25 of file rabin_karp.cpp.

    25 {
    26 int64_t result = 0;
    27 for (int i = 0; i < n; ++i) {
    @@ -290,7 +305,7 @@ Here is the call graph for this function:
    29 }
    30 return result;
    31}
    -
    #define PRIME
    Prime modulus for hash functions.
    Definition rabin_karp.cpp:16
    +
    #define PRIME
    Prime modulus for hash functions.
    @@ -301,9 +316,9 @@ Here is the call graph for this function:
    - + - +
    std::vector< size_t > string_search::getFailureArray std::vector< size_t > string_search::getFailureArray (const std::string & pattern)const std::string & pattern)
    @@ -317,9 +332,11 @@ Here is the call graph for this function:
    Returns
    the partial match table as a vector array
    + +

    Definition at line 32 of file knuth_morris_pratt.cpp.

    32 {
    -
    33 size_t pattern_length = pattern.size();
    -
    34 std::vector<size_t> failure(pattern_length + 1);
    +
    33 size_t pattern_length = pattern.size();
    +
    34 std::vector<size_t> failure(pattern_length + 1);
    35 failure[0] = std::string::npos;
    36 size_t j = std::string::npos;
    37 for (int i = 0; i < pattern_length; i++) {
    @@ -330,13 +347,7 @@ Here is the call graph for this function:
    42 }
    43 return failure;
    44}
    - -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -348,12 +359,12 @@ Here is the call graph for this function: size_t string_search::kmp ( - const std::string & pattern, + const std::string & pattern, - const std::string & text ) + const std::string & text )
    @@ -369,13 +380,15 @@ Here is the call graph for this function:
    Returns
    the starting index of the pattern if found
    std::string::npos if not found
    + +

    Definition at line 53 of file knuth_morris_pratt.cpp.

    53 {
    -
    54 if (pattern.empty()) {
    +
    54 if (pattern.empty()) {
    55 return 0;
    56 }
    -
    57 std::vector<size_t> failure = getFailureArray(pattern);
    -
    58 size_t text_length = text.size();
    -
    59 size_t pattern_length = pattern.size();
    +
    57 std::vector<size_t> failure = getFailureArray(pattern);
    +
    58 size_t text_length = text.size();
    +
    59 size_t pattern_length = pattern.size();
    60 size_t k = 0;
    61 for (size_t j = 0; j < text_length; j++) {
    62 while (k != std::string::npos && pattern[k] != text[j]) {
    @@ -387,14 +400,8 @@ Here is the call graph for this function:
    68 }
    69 return std::string::npos;
    70}
    -
    double k(double x)
    Another test function.
    Definition composite_simpson_rule.cpp:117
    -
    T empty(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    double k(double x)
    Another test function.
    + @@ -406,12 +413,12 @@ Here is the call graph for this function: int string_search::rabin_karp ( - const std::string & str, + const std::string & str, - const std::string & pat ) + const std::string & pat )
    @@ -425,30 +432,27 @@ Here is the call graph for this function:
    Returns
    index of first occurrence of pattern
    -1 if pattern not found
    + +

    Definition at line 83 of file rabin_karp.cpp.

    83 {
    -
    84 int64_t pat_hash = create_hash(pat, pat.size());
    -
    85 int64_t str_hash = create_hash(str, pat.size());
    -
    86 for (int i = 0; i <= str.size() - pat.size(); ++i) {
    +
    84 int64_t pat_hash = create_hash(pat, pat.size());
    +
    85 int64_t str_hash = create_hash(str, pat.size());
    +
    86 for (int i = 0; i <= str.size() - pat.size(); ++i) {
    87 if (pat_hash == str_hash &&
    -
    88 check_if_equal(str, pat, i, i + pat.size() - 1, 0,
    -
    89 pat.size() - 1)) {
    +
    88 check_if_equal(str, pat, i, i + pat.size() - 1, 0,
    +
    89 pat.size() - 1)) {
    90 return i;
    91 }
    -
    92 if (i < str.size() - pat.size()) {
    +
    92 if (i < str.size() - pat.size()) {
    93 str_hash =
    -
    94 recalculate_hash(str, i, i + pat.size(), str_hash, pat.size());
    +
    94 recalculate_hash(str, i, i + pat.size(), str_hash, pat.size());
    95 }
    96 }
    97 return -1; // return -1 if given pattern not found
    98}
    -
    int64_t create_hash(const std::string &s, int n)
    Definition rabin_karp.cpp:25
    -
    bool check_if_equal(const std::string &str1, const std::string &str2, int start1, int end1, int start2, int end2)
    Definition rabin_karp.cpp:60
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    int64_t create_hash(const std::string &s, int n)
    +
    bool check_if_equal(const std::string &str1, const std::string &str2, int start1, int end1, int start2, int end2)
    + @@ -460,7 +464,7 @@ Here is the call graph for this function: int64_t string_search::recalculate_hash ( - const std::string & s, + const std::string & s, @@ -495,6 +499,8 @@ Here is the call graph for this function:
    Returns
    new hash integer
    + +

    Definition at line 42 of file rabin_karp.cpp.

    43 {
    44 int64_t new_hash = old_hash - s[old_index];
    45 new_hash /= PRIME;
    diff --git a/d9/d03/namespacestring__search_a1e37af2f023495129cb57338c801209e_cgraph.map b/d9/d03/namespacestring__search_a1e37af2f023495129cb57338c801209e_cgraph.map deleted file mode 100644 index c84cca040..000000000 --- a/d9/d03/namespacestring__search_a1e37af2f023495129cb57338c801209e_cgraph.map +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/d9/d03/namespacestring__search_a1e37af2f023495129cb57338c801209e_cgraph.md5 b/d9/d03/namespacestring__search_a1e37af2f023495129cb57338c801209e_cgraph.md5 deleted file mode 100644 index 235499868..000000000 --- a/d9/d03/namespacestring__search_a1e37af2f023495129cb57338c801209e_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -222ec06baa13708407e37b8b58a6c28e \ No newline at end of file diff --git a/d9/d03/namespacestring__search_a1e37af2f023495129cb57338c801209e_cgraph.svg b/d9/d03/namespacestring__search_a1e37af2f023495129cb57338c801209e_cgraph.svg deleted file mode 100644 index 2ce1363ef..000000000 --- a/d9/d03/namespacestring__search_a1e37af2f023495129cb57338c801209e_cgraph.svg +++ /dev/null @@ -1,111 +0,0 @@ - - - - - - - - - - - - -string_search::kmp - - -Node1 - - -string_search::kmp - - - - - -Node2 - - -std::string::empty - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -string_search::getFailure -Array - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::string::size - - - - - -Node1->Node4 - - - - - - - - -Node3->Node4 - - - - - - - - - - - - - diff --git a/d9/d03/namespacestring__search_a1e37af2f023495129cb57338c801209e_cgraph_org.svg b/d9/d03/namespacestring__search_a1e37af2f023495129cb57338c801209e_cgraph_org.svg deleted file mode 100644 index d26c8db53..000000000 --- a/d9/d03/namespacestring__search_a1e37af2f023495129cb57338c801209e_cgraph_org.svg +++ /dev/null @@ -1,85 +0,0 @@ - - - - - - -string_search::kmp - - -Node1 - - -string_search::kmp - - - - - -Node2 - - -std::string::empty - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -string_search::getFailure -Array - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::string::size - - - - - -Node1->Node4 - - - - - - - - -Node3->Node4 - - - - - - - - diff --git a/d9/d03/namespacestring__search_a21c673d56cbf67b1d2ee4d869185b7d9_cgraph.map b/d9/d03/namespacestring__search_a21c673d56cbf67b1d2ee4d869185b7d9_cgraph.map deleted file mode 100644 index ef33a3b23..000000000 --- a/d9/d03/namespacestring__search_a21c673d56cbf67b1d2ee4d869185b7d9_cgraph.map +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/d9/d03/namespacestring__search_a21c673d56cbf67b1d2ee4d869185b7d9_cgraph.md5 b/d9/d03/namespacestring__search_a21c673d56cbf67b1d2ee4d869185b7d9_cgraph.md5 deleted file mode 100644 index 73cfab894..000000000 --- a/d9/d03/namespacestring__search_a21c673d56cbf67b1d2ee4d869185b7d9_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -9538c590ae7a8eff3db239e5fbb98812 \ No newline at end of file diff --git a/d9/d03/namespacestring__search_a21c673d56cbf67b1d2ee4d869185b7d9_cgraph.svg b/d9/d03/namespacestring__search_a21c673d56cbf67b1d2ee4d869185b7d9_cgraph.svg deleted file mode 100644 index 25bfac6d1..000000000 --- a/d9/d03/namespacestring__search_a21c673d56cbf67b1d2ee4d869185b7d9_cgraph.svg +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - - - - - - - -string_search::rabin_karp - - -Node1 - - -string_search::rabin_karp - - - - - -Node2 - - -string_search::check -_if_equal - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -string_search::create_hash - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -string_search::recalculate_hash - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::string::size - - - - - -Node1->Node5 - - - - - - - - - - - - - diff --git a/d9/d03/namespacestring__search_a21c673d56cbf67b1d2ee4d869185b7d9_cgraph_org.svg b/d9/d03/namespacestring__search_a21c673d56cbf67b1d2ee4d869185b7d9_cgraph_org.svg deleted file mode 100644 index 50b9e03d2..000000000 --- a/d9/d03/namespacestring__search_a21c673d56cbf67b1d2ee4d869185b7d9_cgraph_org.svg +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - -string_search::rabin_karp - - -Node1 - - -string_search::rabin_karp - - - - - -Node2 - - -string_search::check -_if_equal - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -string_search::create_hash - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -string_search::recalculate_hash - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::string::size - - - - - -Node1->Node5 - - - - - - - - diff --git a/d9/d03/namespacestring__search_a83c72ff237cdf623e42d4295e0029bf9_cgraph.map b/d9/d03/namespacestring__search_a83c72ff237cdf623e42d4295e0029bf9_cgraph.map deleted file mode 100644 index 0d78ba139..000000000 --- a/d9/d03/namespacestring__search_a83c72ff237cdf623e42d4295e0029bf9_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d9/d03/namespacestring__search_a83c72ff237cdf623e42d4295e0029bf9_cgraph.md5 b/d9/d03/namespacestring__search_a83c72ff237cdf623e42d4295e0029bf9_cgraph.md5 deleted file mode 100644 index d82d99c53..000000000 --- a/d9/d03/namespacestring__search_a83c72ff237cdf623e42d4295e0029bf9_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -aacc61ad292505fe3ad654744089729c \ No newline at end of file diff --git a/d9/d03/namespacestring__search_a83c72ff237cdf623e42d4295e0029bf9_cgraph.svg b/d9/d03/namespacestring__search_a83c72ff237cdf623e42d4295e0029bf9_cgraph.svg deleted file mode 100644 index 54a9e30e8..000000000 --- a/d9/d03/namespacestring__search_a83c72ff237cdf623e42d4295e0029bf9_cgraph.svg +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - - - - - - - -string_search::getFailureArray - - -Node1 - - -string_search::getFailure -Array - - - - - -Node2 - - -std::string::size - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d9/d03/namespacestring__search_a83c72ff237cdf623e42d4295e0029bf9_cgraph_org.svg b/d9/d03/namespacestring__search_a83c72ff237cdf623e42d4295e0029bf9_cgraph_org.svg deleted file mode 100644 index 2dfb9f9ad..000000000 --- a/d9/d03/namespacestring__search_a83c72ff237cdf623e42d4295e0029bf9_cgraph_org.svg +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - -string_search::getFailureArray - - -Node1 - - -string_search::getFailure -Array - - - - - -Node2 - - -std::string::size - - - - - -Node1->Node2 - - - - - - - - diff --git a/d9/d03/namespacestring__search_aeb2cd81064717aedd62bfb096b1a73d8_cgraph.map b/d9/d03/namespacestring__search_aeb2cd81064717aedd62bfb096b1a73d8_cgraph.map deleted file mode 100644 index f826ee532..000000000 --- a/d9/d03/namespacestring__search_aeb2cd81064717aedd62bfb096b1a73d8_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/d9/d03/namespacestring__search_aeb2cd81064717aedd62bfb096b1a73d8_cgraph.md5 b/d9/d03/namespacestring__search_aeb2cd81064717aedd62bfb096b1a73d8_cgraph.md5 deleted file mode 100644 index deb05fc55..000000000 --- a/d9/d03/namespacestring__search_aeb2cd81064717aedd62bfb096b1a73d8_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -d747828d42ebfb1bf411fadb70cabbc0 \ No newline at end of file diff --git a/d9/d03/namespacestring__search_aeb2cd81064717aedd62bfb096b1a73d8_cgraph.svg b/d9/d03/namespacestring__search_aeb2cd81064717aedd62bfb096b1a73d8_cgraph.svg deleted file mode 100644 index 8ecfa243d..000000000 --- a/d9/d03/namespacestring__search_aeb2cd81064717aedd62bfb096b1a73d8_cgraph.svg +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - - - - - -string_search::brute_force - - -Node1 - - -string_search::brute -_force - - - - - -Node2 - - -std::string::length - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::string::substr - - - - - -Node1->Node3 - - - - - - - - - - - - - diff --git a/d9/d03/namespacestring__search_aeb2cd81064717aedd62bfb096b1a73d8_cgraph_org.svg b/d9/d03/namespacestring__search_aeb2cd81064717aedd62bfb096b1a73d8_cgraph_org.svg deleted file mode 100644 index f80d8c324..000000000 --- a/d9/d03/namespacestring__search_aeb2cd81064717aedd62bfb096b1a73d8_cgraph_org.svg +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - -string_search::brute_force - - -Node1 - - -string_search::brute -_force - - - - - -Node2 - - -std::string::length - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::string::substr - - - - - -Node1->Node3 - - - - - - - - diff --git a/d9/d12/classothers_1_1iterative__tree__traversals_1_1_binary_tree.html b/d9/d12/classothers_1_1iterative__tree__traversals_1_1_binary_tree.html index f719e8ca7..596438569 100644 --- a/d9/d12/classothers_1_1iterative__tree__traversals_1_1_binary_tree.html +++ b/d9/d12/classothers_1_1iterative__tree__traversals_1_1_binary_tree.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: others::iterative_tree_traversals::BinaryTree Class Reference +TheAlgorithms/C++: others::iterative_tree_traversals::BinaryTree Class Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -119,18 +136,20 @@ Public Member Functions - + - + - +
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    NodecreateNewNode (int64_t)
     function that will create new node for insertion.
     
    std::vector< int64_t > preOrderIterative (Node *)
    std::vector< int64_t > preOrderIterative (Node *)
     preOrderIterative() function that will perform the preorder traversal iteratively, and return the result array that contain the preorder traversal of a tree.
     
    std::vector< int64_t > postOrderIterative (Node *)
    std::vector< int64_t > postOrderIterative (Node *)
     postOrderIterative() function that will perform the postorder traversal iteratively, and return the result array that contain the postorder traversal of a tree.
     
    std::vector< int64_t > inOrderIterative (Node *)
    std::vector< int64_t > inOrderIterative (Node *)
     inOrderIterative() function that will perform the inorder traversal iteratively, and return the result array that contain the inorder traversal of a tree.
     

    Detailed Description

    defines the functions associated with the binary tree

    + +

    Definition at line 67 of file iterative_tree_traversals.cpp.

    Member Function Documentation

    ◆ createNewNode()

    @@ -156,16 +175,18 @@ Public Member Functions
    Returns
    pointer to the newly created node with assigned data.
    + +

    Definition at line 88 of file iterative_tree_traversals.cpp.

    88 {
    89 Node *node = new Node();
    90 node->data = data;
    91 node->left = node->right = nullptr;
    92 return node;
    93}
    -
    struct node { int data; int height; struct node *left; struct node *right;} node
    for std::queue
    Definition avltree.cpp:13
    -
    int data[MAX]
    test data
    Definition hash_search.cpp:24
    -
    Definition linkedlist_implentation_usingarray.cpp:14
    -
    Definition binary_search_tree.cpp:11
    +
    struct node { int data; int height; struct node *left; struct node *right;} node
    for std::queue
    Definition avltree.cpp:13
    +
    int data[MAX]
    test data
    + +
    @@ -176,7 +197,7 @@ Public Member Functions
    - + @@ -195,10 +216,12 @@ Public Member Functions
    Returns
    result that is containing the inorder traversal of a tree

    < is used to find and traverse the child nodes.

    < List of values, sorted in in-order.

    + +

    Definition at line 164 of file iterative_tree_traversals.cpp.

    164 {
    - -
    166 stack; ///< is used to find and traverse the child nodes.
    -
    167 std::vector<int64_t> result; ///< List of values, sorted in in-order.
    +
    165 std::stack<Node *>
    +
    166 stack;
    +
    167 std::vector<int64_t> result;
    168
    169 Node *current = root;
    170
    @@ -214,20 +237,13 @@ Public Member Functions
    180 }
    181 return result;
    182}
    -
    for std::invalid_argument
    Definition stack.hpp:19
    -
    void pop()
    Definition stack.hpp:62
    -
    void push(const value_type &item)
    Definition stack.hpp:47
    -
    value_type top() const
    Definition stack.hpp:56
    -
    uint64_t result(uint64_t n)
    Definition fibonacci_sum.cpp:77
    -
    char stack[MAX]
    Definition paranthesis_matching.cpp:20
    - - -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    for std::invalid_argument
    Definition stack.hpp:19
    +
    void pop()
    Definition stack.hpp:62
    +
    void push(const value_type &item)
    Definition stack.hpp:47
    +
    value_type top() const
    Definition stack.hpp:56
    +
    uint64_t result(uint64_t n)
    +
    char stack[MAX]
    + @@ -237,7 +253,7 @@ Here is the call graph for this function:
    std::vector< int64_t > others::iterative_tree_traversals::BinaryTree::inOrderIterative std::vector< int64_t > others::iterative_tree_traversals::BinaryTree::inOrderIterative ( Node * root)
    - + @@ -256,10 +272,12 @@ Here is the call graph for this function:
    Returns
    result that is containing the postorder traversal of a tree

    < is used to find and traverse the child nodes.

    < List of values, sorted in post-order.

    + +

    Definition at line 132 of file iterative_tree_traversals.cpp.

    132 {
    - -
    134 stack; ///< is used to find and traverse the child nodes.
    -
    135 std::vector<int64_t> result; ///< List of values, sorted in post-order.
    +
    133 std::stack<Node *>
    +
    134 stack;
    +
    135 std::vector<int64_t> result;
    136
    137 stack.push(root);
    138
    @@ -276,17 +294,11 @@ Here is the call graph for this function:
    149 }
    150 }
    151
    -
    152 reverse(result.begin(), result.end());
    +
    152 reverse(result.begin(), result.end());
    153
    154 return result;
    155}
    -
    T reverse(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -296,7 +308,7 @@ Here is the call graph for this function:
    std::vector< int64_t > others::iterative_tree_traversals::BinaryTree::postOrderIterative std::vector< int64_t > others::iterative_tree_traversals::BinaryTree::postOrderIterative ( Node * root)
    - + @@ -315,10 +327,12 @@ Here is the call graph for this function:
    Returns
    result that is containing the preorder traversal of a tree

    < is used to find and traverse the child nodes.

    < list of values, sorted in pre-order.

    + +

    Definition at line 102 of file iterative_tree_traversals.cpp.

    102 {
    - -
    104 stack; ///< is used to find and traverse the child nodes.
    -
    105 std::vector<int64_t> result; ///< list of values, sorted in pre-order.
    +
    103 std::stack<Node *>
    +
    104 stack;
    +
    105 std::vector<int64_t> result;
    106
    107 stack.push(root);
    108
    @@ -337,16 +351,11 @@ Here is the call graph for this function:
    121
    122 return result;
    123}
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    The documentation for this class was generated from the following file: diff --git a/d9/d12/classothers_1_1iterative__tree__traversals_1_1_binary_tree_a0c33f2c1a3a3deb486a1c33ee5239499_cgraph.map b/d9/d12/classothers_1_1iterative__tree__traversals_1_1_binary_tree_a0c33f2c1a3a3deb486a1c33ee5239499_cgraph.map deleted file mode 100644 index 701720f52..000000000 --- a/d9/d12/classothers_1_1iterative__tree__traversals_1_1_binary_tree_a0c33f2c1a3a3deb486a1c33ee5239499_cgraph.map +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/d9/d12/classothers_1_1iterative__tree__traversals_1_1_binary_tree_a0c33f2c1a3a3deb486a1c33ee5239499_cgraph.md5 b/d9/d12/classothers_1_1iterative__tree__traversals_1_1_binary_tree_a0c33f2c1a3a3deb486a1c33ee5239499_cgraph.md5 deleted file mode 100644 index f3e23e71e..000000000 --- a/d9/d12/classothers_1_1iterative__tree__traversals_1_1_binary_tree_a0c33f2c1a3a3deb486a1c33ee5239499_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -b8dbc1a894a493b60b207195b7b4faaf \ No newline at end of file diff --git a/d9/d12/classothers_1_1iterative__tree__traversals_1_1_binary_tree_a0c33f2c1a3a3deb486a1c33ee5239499_cgraph.svg b/d9/d12/classothers_1_1iterative__tree__traversals_1_1_binary_tree_a0c33f2c1a3a3deb486a1c33ee5239499_cgraph.svg deleted file mode 100644 index e77c9d7a0..000000000 --- a/d9/d12/classothers_1_1iterative__tree__traversals_1_1_binary_tree_a0c33f2c1a3a3deb486a1c33ee5239499_cgraph.svg +++ /dev/null @@ -1,121 +0,0 @@ - - - - - - - - - - - - -others::iterative_tree_traversals::BinaryTree::inOrderIterative - - -Node1 - - -others::iterative_tree -_traversals::BinaryTree -::inOrderIterative - - - - - -Node2 - - -stack::pop - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -stack::push - - - - - -Node1->Node3 - - - - - - - - -Node5 - - -stack::top - - - - - -Node1->Node5 - - - - - - - - -Node4 - - -std::make_shared - - - - - -Node3->Node4 - - - - - - - - - - - - - diff --git a/d9/d12/classothers_1_1iterative__tree__traversals_1_1_binary_tree_a0c33f2c1a3a3deb486a1c33ee5239499_cgraph_org.svg b/d9/d12/classothers_1_1iterative__tree__traversals_1_1_binary_tree_a0c33f2c1a3a3deb486a1c33ee5239499_cgraph_org.svg deleted file mode 100644 index fefd531cf..000000000 --- a/d9/d12/classothers_1_1iterative__tree__traversals_1_1_binary_tree_a0c33f2c1a3a3deb486a1c33ee5239499_cgraph_org.svg +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - -others::iterative_tree_traversals::BinaryTree::inOrderIterative - - -Node1 - - -others::iterative_tree -_traversals::BinaryTree -::inOrderIterative - - - - - -Node2 - - -stack::pop - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -stack::push - - - - - -Node1->Node3 - - - - - - - - -Node5 - - -stack::top - - - - - -Node1->Node5 - - - - - - - - -Node4 - - -std::make_shared - - - - - -Node3->Node4 - - - - - - - - diff --git a/d9/d12/classothers_1_1iterative__tree__traversals_1_1_binary_tree_a636a07c90b7f312bb86d2ec104efca25_cgraph.map b/d9/d12/classothers_1_1iterative__tree__traversals_1_1_binary_tree_a636a07c90b7f312bb86d2ec104efca25_cgraph.map deleted file mode 100644 index 2db3c0e53..000000000 --- a/d9/d12/classothers_1_1iterative__tree__traversals_1_1_binary_tree_a636a07c90b7f312bb86d2ec104efca25_cgraph.map +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/d9/d12/classothers_1_1iterative__tree__traversals_1_1_binary_tree_a636a07c90b7f312bb86d2ec104efca25_cgraph.md5 b/d9/d12/classothers_1_1iterative__tree__traversals_1_1_binary_tree_a636a07c90b7f312bb86d2ec104efca25_cgraph.md5 deleted file mode 100644 index d6f91ef4a..000000000 --- a/d9/d12/classothers_1_1iterative__tree__traversals_1_1_binary_tree_a636a07c90b7f312bb86d2ec104efca25_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -db2e77b689c612a8b898e403e0432e44 \ No newline at end of file diff --git a/d9/d12/classothers_1_1iterative__tree__traversals_1_1_binary_tree_a636a07c90b7f312bb86d2ec104efca25_cgraph.svg b/d9/d12/classothers_1_1iterative__tree__traversals_1_1_binary_tree_a636a07c90b7f312bb86d2ec104efca25_cgraph.svg deleted file mode 100644 index 189494b20..000000000 --- a/d9/d12/classothers_1_1iterative__tree__traversals_1_1_binary_tree_a636a07c90b7f312bb86d2ec104efca25_cgraph.svg +++ /dev/null @@ -1,121 +0,0 @@ - - - - - - - - - - - - -others::iterative_tree_traversals::BinaryTree::postOrderIterative - - -Node1 - - -others::iterative_tree -_traversals::BinaryTree -::postOrderIterative - - - - - -Node2 - - -stack::pop - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -stack::push - - - - - -Node1->Node3 - - - - - - - - -Node5 - - -stack::top - - - - - -Node1->Node5 - - - - - - - - -Node4 - - -std::make_shared - - - - - -Node3->Node4 - - - - - - - - - - - - - diff --git a/d9/d12/classothers_1_1iterative__tree__traversals_1_1_binary_tree_a636a07c90b7f312bb86d2ec104efca25_cgraph_org.svg b/d9/d12/classothers_1_1iterative__tree__traversals_1_1_binary_tree_a636a07c90b7f312bb86d2ec104efca25_cgraph_org.svg deleted file mode 100644 index 7ad91cd5f..000000000 --- a/d9/d12/classothers_1_1iterative__tree__traversals_1_1_binary_tree_a636a07c90b7f312bb86d2ec104efca25_cgraph_org.svg +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - -others::iterative_tree_traversals::BinaryTree::postOrderIterative - - -Node1 - - -others::iterative_tree -_traversals::BinaryTree -::postOrderIterative - - - - - -Node2 - - -stack::pop - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -stack::push - - - - - -Node1->Node3 - - - - - - - - -Node5 - - -stack::top - - - - - -Node1->Node5 - - - - - - - - -Node4 - - -std::make_shared - - - - - -Node3->Node4 - - - - - - - - diff --git a/d9/d12/classothers_1_1iterative__tree__traversals_1_1_binary_tree_ad4c6a8e67fb8267a65439b035666b5ae_cgraph.map b/d9/d12/classothers_1_1iterative__tree__traversals_1_1_binary_tree_ad4c6a8e67fb8267a65439b035666b5ae_cgraph.map deleted file mode 100644 index f17ce96bc..000000000 --- a/d9/d12/classothers_1_1iterative__tree__traversals_1_1_binary_tree_ad4c6a8e67fb8267a65439b035666b5ae_cgraph.map +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/d9/d12/classothers_1_1iterative__tree__traversals_1_1_binary_tree_ad4c6a8e67fb8267a65439b035666b5ae_cgraph.md5 b/d9/d12/classothers_1_1iterative__tree__traversals_1_1_binary_tree_ad4c6a8e67fb8267a65439b035666b5ae_cgraph.md5 deleted file mode 100644 index 7ddf71ae2..000000000 --- a/d9/d12/classothers_1_1iterative__tree__traversals_1_1_binary_tree_ad4c6a8e67fb8267a65439b035666b5ae_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -5d7b8ec7152d12cc0dc096c2cf9d1012 \ No newline at end of file diff --git a/d9/d12/classothers_1_1iterative__tree__traversals_1_1_binary_tree_ad4c6a8e67fb8267a65439b035666b5ae_cgraph.svg b/d9/d12/classothers_1_1iterative__tree__traversals_1_1_binary_tree_ad4c6a8e67fb8267a65439b035666b5ae_cgraph.svg deleted file mode 100644 index 95fb8aecb..000000000 --- a/d9/d12/classothers_1_1iterative__tree__traversals_1_1_binary_tree_ad4c6a8e67fb8267a65439b035666b5ae_cgraph.svg +++ /dev/null @@ -1,121 +0,0 @@ - - - - - - - - - - - - -others::iterative_tree_traversals::BinaryTree::preOrderIterative - - -Node1 - - -others::iterative_tree -_traversals::BinaryTree -::preOrderIterative - - - - - -Node2 - - -stack::pop - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -stack::push - - - - - -Node1->Node3 - - - - - - - - -Node5 - - -stack::top - - - - - -Node1->Node5 - - - - - - - - -Node4 - - -std::make_shared - - - - - -Node3->Node4 - - - - - - - - - - - - - diff --git a/d9/d12/classothers_1_1iterative__tree__traversals_1_1_binary_tree_ad4c6a8e67fb8267a65439b035666b5ae_cgraph_org.svg b/d9/d12/classothers_1_1iterative__tree__traversals_1_1_binary_tree_ad4c6a8e67fb8267a65439b035666b5ae_cgraph_org.svg deleted file mode 100644 index 8cb7a8b5f..000000000 --- a/d9/d12/classothers_1_1iterative__tree__traversals_1_1_binary_tree_ad4c6a8e67fb8267a65439b035666b5ae_cgraph_org.svg +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - -others::iterative_tree_traversals::BinaryTree::preOrderIterative - - -Node1 - - -others::iterative_tree -_traversals::BinaryTree -::preOrderIterative - - - - - -Node2 - - -stack::pop - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -stack::push - - - - - -Node1->Node3 - - - - - - - - -Node5 - - -stack::top - - - - - -Node1->Node5 - - - - - - - - -Node4 - - -std::make_shared - - - - - -Node3->Node4 - - - - - - - - diff --git a/d9/d13/namespaceinversion.html b/d9/d13/namespaceinversion.html index 832f5f5d6..e77686f26 100644 --- a/d9/d13/namespaceinversion.html +++ b/d9/d13/namespaceinversion.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: inversion Namespace Reference +TheAlgorithms/C++: inversion Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    std::vector< int64_t > others::iterative_tree_traversals::BinaryTree::preOrderIterative std::vector< int64_t > others::iterative_tree_traversals::BinaryTree::preOrderIterative ( Node * root)
    + diff --git a/d9/d14/array__left__rotation_8cpp.html b/d9/d14/array__left__rotation_8cpp.html index 41af34521..eb08dc920 100644 --- a/d9/d14/array__left__rotation_8cpp.html +++ b/d9/d14/array__left__rotation_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: operations_on_datastructures/array_left_rotation.cpp File Reference +TheAlgorithms/C++: operations_on_datastructures/array_left_rotation.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + @@ -121,11 +138,13 @@ Include dependency graph for array_left_rotation.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    - + @@ -133,10 +152,10 @@ Namespaces

    Namespaces

    namespace  operations_on_datastructures
     for std::vector
     for std::vector
     
    namespace  tests
     Testcases to check Union of Two Arrays.
    - + - + @@ -164,6 +183,8 @@ Functions

    Detailed Description

    Implementation for the Array Left Rotation algorithm.

    Shifting an array to the left involves moving each element of the array so that it occupies a position of a certain shift value before its current one. This implementation uses a result vector and does not mutate the input.

    Author
    Alvin
    + +

    Definition in file array_left_rotation.cpp.

    Function Documentation

    ◆ main()

    @@ -182,17 +203,14 @@ Functions

    main function

    Returns
    0 on exit
    + +

    Definition at line 171 of file array_left_rotation.cpp.

    171 {
    172 test(); // run self-test implementations
    173 return 0;
    174}
    -
    static void test()
    Function to test the correctness of shift_left() function.
    Definition array_left_rotation.cpp:159
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static void test()
    Function to test the correctness of shift_left() function.
    + @@ -220,6 +238,8 @@ Here is the call graph for this function:

    Function to test the correctness of shift_left() function.

    Returns
    void
    + +

    Definition at line 159 of file array_left_rotation.cpp.

    159 {
    160 tests::test1();
    161 tests::test2();
    @@ -227,17 +247,12 @@ Here is the call graph for this function:
    163 tests::test4();
    164 tests::test5();
    165}
    -
    void test1()
    A Test to check an simple case.
    Definition array_left_rotation.cpp:75
    -
    void test4()
    A Test to check a very large input.
    Definition array_left_rotation.cpp:120
    -
    void test3()
    A Test to check an invalid shift value.
    Definition array_left_rotation.cpp:105
    -
    void test2()
    A Test to check an empty vector.
    Definition array_left_rotation.cpp:90
    -
    void test5()
    A Test to check a shift of zero.
    Definition array_left_rotation.cpp:143
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    void test1()
    A Test to check an simple case.
    +
    void test4()
    A Test to check a very large input.
    +
    void test3()
    A Test to check an invalid shift value.
    +
    void test2()
    A Test to check an empty vector.
    +
    void test5()
    A Test to check a shift of zero.
    + diff --git a/d9/d14/array__left__rotation_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map b/d9/d14/array__left__rotation_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map deleted file mode 100644 index 65223be45..000000000 --- a/d9/d14/array__left__rotation_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/d9/d14/array__left__rotation_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 b/d9/d14/array__left__rotation_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 deleted file mode 100644 index 459847b98..000000000 --- a/d9/d14/array__left__rotation_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -55e2caeede18d57d590ed623b311979b \ No newline at end of file diff --git a/d9/d14/array__left__rotation_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg b/d9/d14/array__left__rotation_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg deleted file mode 100644 index b5afce01d..000000000 --- a/d9/d14/array__left__rotation_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg +++ /dev/null @@ -1,155 +0,0 @@ - - - - - - - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -tests::test1 - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -tests::test2 - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -tests::test3 - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -tests::test4 - - - - - -Node1->Node5 - - - - - - - - -Node7 - - -tests::test5 - - - - - -Node1->Node7 - - - - - - - - -Node6 - - -std::vector::push_back - - - - - -Node5->Node6 - - - - - - - - - - - - - diff --git a/d9/d14/array__left__rotation_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg b/d9/d14/array__left__rotation_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg deleted file mode 100644 index 59c6efefe..000000000 --- a/d9/d14/array__left__rotation_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg +++ /dev/null @@ -1,129 +0,0 @@ - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -tests::test1 - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -tests::test2 - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -tests::test3 - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -tests::test4 - - - - - -Node1->Node5 - - - - - - - - -Node7 - - -tests::test5 - - - - - -Node1->Node7 - - - - - - - - -Node6 - - -std::vector::push_back - - - - - -Node5->Node6 - - - - - - - - diff --git a/d9/d14/array__left__rotation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d9/d14/array__left__rotation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 8fa9bb1e9..000000000 --- a/d9/d14/array__left__rotation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - - - - - diff --git a/d9/d14/array__left__rotation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d9/d14/array__left__rotation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index 8f824475a..000000000 --- a/d9/d14/array__left__rotation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -ed0af012d52402869a71441710369b5f \ No newline at end of file diff --git a/d9/d14/array__left__rotation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d9/d14/array__left__rotation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 9be3e218d..000000000 --- a/d9/d14/array__left__rotation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,173 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -tests::test1 - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -tests::test2 - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -tests::test3 - - - - - -Node2->Node5 - - - - - - - - -Node6 - - -tests::test4 - - - - - -Node2->Node6 - - - - - - - - -Node8 - - -tests::test5 - - - - - -Node2->Node8 - - - - - - - - -Node7 - - -std::vector::push_back - - - - - -Node6->Node7 - - - - - - - - - - - - - diff --git a/d9/d14/array__left__rotation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d9/d14/array__left__rotation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index f14a5e1cb..000000000 --- a/d9/d14/array__left__rotation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -tests::test1 - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -tests::test2 - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -tests::test3 - - - - - -Node2->Node5 - - - - - - - - -Node6 - - -tests::test4 - - - - - -Node2->Node6 - - - - - - - - -Node8 - - -tests::test5 - - - - - -Node2->Node8 - - - - - - - - -Node7 - - -std::vector::push_back - - - - - -Node6->Node7 - - - - - - - - diff --git a/d9/d14/array__left__rotation_8cpp_source.html b/d9/d14/array__left__rotation_8cpp_source.html new file mode 100644 index 000000000..f71cf3192 --- /dev/null +++ b/d9/d14/array__left__rotation_8cpp_source.html @@ -0,0 +1,277 @@ + + + + + + + + +TheAlgorithms/C++: operations_on_datastructures/array_left_rotation.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    +

    Functions

    void operations_on_datastructures::print (const std::vector< int32_t > &array)
    void operations_on_datastructures::print (const std::vector< int32_t > &array)
     Prints the values of a vector sequentially, ending with a newline character.
     
    std::vector< int32_t > operations_on_datastructures::shift_left (const std::vector< int32_t > &array, size_t shift)
    std::vector< int32_t > operations_on_datastructures::shift_left (const std::vector< int32_t > &array, size_t shift)
     Shifts the given vector to the left by the shift amount and returns a new vector with the result. The original vector is not mutated.
     
    void tests::test1 ()
    + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + + +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    array_left_rotation.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    13#include <cassert>
    +
    14#include <iostream>
    +
    15#include <vector>
    +
    16
    + +
    22
    +
    +
    29void print(const std::vector<int32_t> &array) {
    +
    30 for (int32_t i : array) {
    +
    31 std::cout << i << " ";
    +
    32 }
    +
    33 std::cout << "\n";
    +
    34}
    +
    +
    35
    +
    +
    46std::vector<int32_t> shift_left(const std::vector<int32_t> &array,
    +
    47 size_t shift) {
    +
    48 if (array.size() <= shift) {
    +
    49 return {};
    +
    50 }
    +
    51 std::vector<int32_t> res(array.size());
    +
    52 for (size_t i = shift; i < array.size(); i++) {
    +
    53 res[i - shift] = array[i];
    +
    54 }
    +
    55 for (size_t i = 0; i < shift; i++) {
    +
    56 res[array.size() - shift + i] =
    +
    57 array[i];
    +
    58 }
    +
    59 return res;
    +
    60}
    +
    +
    61
    +
    62} // namespace operations_on_datastructures
    +
    63
    +
    68namespace tests {
    + + +
    +
    75void test1() {
    +
    76 std::cout << "TEST CASE 1\n";
    +
    77 std::cout << "Initialized arr = {1, 2, 3, 4, 5}\n";
    +
    78 std::cout << "Expected result: {3, 4, 5, 1, 2}\n";
    +
    79 std::vector<int32_t> arr = {1, 2, 3, 4, 5};
    +
    80 std::vector<int32_t> res = shift_left(arr, 2);
    +
    81 std::vector<int32_t> expected = {3, 4, 5, 1, 2};
    +
    82 assert(res == expected);
    +
    83 print(res);
    +
    84 std::cout << "TEST PASSED!\n\n";
    +
    85}
    +
    +
    +
    90void test2() {
    +
    91 std::cout << "TEST CASE 2\n";
    +
    92 std::cout << "Initialized arr = {}\n";
    +
    93 std::cout << "Expected result: {}\n";
    +
    94 std::vector<int32_t> arr = {};
    +
    95 std::vector<int32_t> res = shift_left(arr, 2);
    +
    96 std::vector<int32_t> expected = {};
    +
    97 assert(res == expected);
    +
    98 print(res);
    +
    99 std::cout << "TEST PASSED!\n\n";
    +
    100}
    +
    +
    +
    105void test3() {
    +
    106 std::cout << "TEST CASE 3\n";
    +
    107 std::cout << "Initialized arr = {1, 2, 3, 4, 5}\n";
    +
    108 std::cout << "Expected result: {}\n";
    +
    109 std::vector<int32_t> arr = {1, 2, 3, 4, 5};
    +
    110 std::vector<int32_t> res = shift_left(arr, 7);
    +
    111 std::vector<int32_t> expected = {};
    +
    112 assert(res == expected);
    +
    113 print(res);
    +
    114 std::cout << "TEST PASSED!\n\n";
    +
    115}
    +
    +
    +
    120void test4() {
    +
    121 std::cout << "TEST CASE 4\n";
    +
    122 std::cout << "Initialized arr = {2, 4, ..., 420}\n";
    +
    123 std::cout << "Expected result: {4, 6, ..., 420, 2}\n";
    +
    124 std::vector<int32_t> arr;
    +
    125 for (int i = 1; i <= 210; i++) {
    +
    126 arr.push_back(i * 2);
    +
    127 }
    +
    128 print(arr);
    +
    129 std::vector<int32_t> res = shift_left(arr, 1);
    +
    130 std::vector<int32_t> expected;
    +
    131 for (int i = 1; i < 210; i++) {
    +
    132 expected.push_back(arr[i]);
    +
    133 }
    +
    134 expected.push_back(2);
    +
    135 assert(res == expected);
    +
    136 print(res);
    +
    137 std::cout << "TEST PASSED!\n\n";
    +
    138}
    +
    +
    +
    143void test5() {
    +
    144 std::cout << "TEST CASE 5\n";
    +
    145 std::cout << "Initialized arr = {1, 2, 3, 4, 5}\n";
    +
    146 std::cout << "Expected result: {1, 2, 3, 4, 5}\n";
    +
    147 std::vector<int32_t> arr = {1, 2, 3, 4, 5};
    +
    148 std::vector<int32_t> res = shift_left(arr, 0);
    +
    149 assert(res == arr);
    +
    150 print(res);
    +
    151 std::cout << "TEST PASSED!\n\n";
    +
    152}
    +
    +
    153} // namespace tests
    +
    154
    +
    +
    159static void test() {
    +
    160 tests::test1();
    +
    161 tests::test2();
    +
    162 tests::test3();
    +
    163 tests::test4();
    +
    164 tests::test5();
    +
    165}
    +
    +
    166
    +
    +
    171int main() {
    +
    172 test(); // run self-test implementations
    +
    173 return 0;
    +
    174}
    +
    +
    static void test()
    Function to test the correctness of shift_left() function.
    +
    int main()
    main function
    + +
    void print(const std::vector< int32_t > &array)
    Prints the values of a vector sequentially, ending with a newline character.
    +
    std::vector< int32_t > shift_left(const std::vector< int32_t > &array, size_t shift)
    Shifts the given vector to the left by the shift amount and returns a new vector with the result....
    +
    Testcases to check Union of Two Arrays.
    +
    void test1()
    A Test to check an simple case.
    +
    void test4()
    A Test to check a very large input.
    +
    void test3()
    A Test to check an invalid shift value.
    +
    void test2()
    A Test to check an empty vector.
    +
    void test5()
    A Test to check a shift of zero.
    +
    +
    + + + + diff --git a/d9/d1c/kruskal_8cpp_source.html b/d9/d1c/kruskal_8cpp_source.html new file mode 100644 index 000000000..a6f28b51e --- /dev/null +++ b/d9/d1c/kruskal_8cpp_source.html @@ -0,0 +1,203 @@ + + + + + + + + +TheAlgorithms/C++: graph/kruskal.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    kruskal.cpp
    +
    +
    +
    1#include <algorithm>
    +
    2#include <array>
    +
    3#include <iostream>
    +
    4#include <vector>
    +
    5//#include <boost/multiprecision/cpp_int.hpp>
    +
    6// using namespace boost::multiprecision;
    +
    7const int mx = 1e6 + 5;
    +
    8using ll = int64_t;
    +
    9
    +
    10std::array<ll, mx> parent;
    +
    11ll node, edge;
    +
    12std::vector<std::pair<ll, std::pair<ll, ll>>> edges;
    +
    13void initial() {
    +
    14 for (int i = 0; i < node + edge; ++i) {
    +
    15 parent[i] = i;
    +
    16 }
    +
    17}
    +
    18
    +
    19int root(int i) {
    +
    20 while (parent[i] != i) {
    +
    21 parent[i] = parent[parent[i]];
    +
    22 i = parent[i];
    +
    23 }
    +
    24 return i;
    +
    25}
    +
    26
    +
    27void join(int x, int y) {
    +
    28 int root_x = root(x); // Disjoint set union by rank
    +
    29 int root_y = root(y);
    +
    30 parent[root_x] = root_y;
    +
    31}
    +
    32
    +
    33ll kruskal() {
    +
    34 ll mincost = 0;
    +
    35 for (int i = 0; i < edge; ++i) {
    +
    36 ll x = edges[i].second.first;
    +
    37 ll y = edges[i].second.second;
    +
    38 if (root(x) != root(y)) {
    +
    39 mincost += edges[i].first;
    +
    40 join(x, y);
    +
    41 }
    +
    42 }
    +
    43 return mincost;
    +
    44}
    +
    45
    +
    46int main() {
    +
    47 while (true) {
    +
    48 int from = 0, to = 0, cost = 0, totalcost = 0;
    +
    49 std::cin >> node >> edge; // Enter the nodes and edges
    +
    50 if (node == 0 && edge == 0) {
    +
    51 break; // Enter 0 0 to break out
    +
    52 }
    +
    53 initial(); // Initialise the parent array
    +
    54 for (int i = 0; i < edge; ++i) {
    +
    55 std::cin >> from >> to >> cost;
    +
    56 edges.emplace_back(make_pair(cost, std::make_pair(from, to)));
    +
    57 totalcost += cost;
    +
    58 }
    +
    59 sort(edges.begin(), edges.end());
    +
    60 std::cout << kruskal() << std::endl;
    +
    61 edges.clear();
    +
    62 }
    +
    63 return 0;
    +
    64}
    +
    int main()
    Main function.
    + +
    +
    + + + + diff --git a/d9/d1f/binary__addition_8cpp.html b/d9/d1f/binary__addition_8cpp.html index 3c3d34b13..c25bf6990 100644 --- a/d9/d1f/binary__addition_8cpp.html +++ b/d9/d1f/binary__addition_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: greedy_algorithms/binary_addition.cpp File Reference +TheAlgorithms/C++: greedy_algorithms/binary_addition.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -123,7 +140,9 @@ Include dependency graph for binary_addition.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -148,6 +167,8 @@ Functions

    Detailed Description

    Adds two binary numbers and outputs resulting string.

    The algorithm for adding two binary strings works by processing them from right to left, similar to manual addition. It starts by determining the longer string's length to ensure both strings are fully traversed. For each pair of corresponding bits and any carry from the previous addition, it calculates the sum. If the sum exceeds 1, a carry is generated for the next bit. The results for each bit are collected in a result string, which is reversed at the end to present the final binary sum correctly. Additionally, the function validates the input to ensure that only valid binary strings (containing only '0' and '1') are processed. If invalid input is detected, it returns an empty string.

    Author
    Muhammad Junaid Khalid
    + +

    Definition in file binary_addition.cpp.

    Function Documentation

    ◆ main()

    @@ -167,17 +188,14 @@ Functions

    main function

    Returns
    0 on successful exit

    To execute tests

    + +

    Definition at line 116 of file binary_addition.cpp.

    116 {
    -
    117 tests(); /// To execute tests
    +
    117 tests();
    118 return 0;
    119}
    -
    static void tests()
    run self test implementation.
    Definition binary_addition.cpp:86
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static void tests()
    run self test implementation.
    + @@ -205,6 +223,8 @@ Here is the call graph for this function:

    run self test implementation.

    Returns
    void
    + +

    Definition at line 86 of file binary_addition.cpp.

    86 {
    88
    @@ -230,14 +250,9 @@ Here is the call graph for this function:
    108 assert(binaryAddition.addBinary("1x1", "111") == "");
    109 assert(binaryAddition.addBinary("1234", "1101") == "");
    110}
    -
    A class to perform binary addition of two binary strings.
    Definition binary_addition.cpp:31
    -
    std::string addBinary(const std::string &a, const std::string &b)
    Adds two binary strings and returns the result as a binary string.
    Definition binary_addition.cpp:40
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    A class to perform binary addition of two binary strings.
    +
    std::string addBinary(const std::string &a, const std::string &b)
    Adds two binary strings and returns the result as a binary string.
    + diff --git a/d9/d1f/binary__addition_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.map b/d9/d1f/binary__addition_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.map deleted file mode 100644 index b75b3c06f..000000000 --- a/d9/d1f/binary__addition_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.map +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - - - - - - - - - - diff --git a/d9/d1f/binary__addition_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 b/d9/d1f/binary__addition_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 deleted file mode 100644 index fb90959bc..000000000 --- a/d9/d1f/binary__addition_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -63665c0e068421d7d7905880f7257247 \ No newline at end of file diff --git a/d9/d1f/binary__addition_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.svg b/d9/d1f/binary__addition_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.svg deleted file mode 100644 index 91e6a70f4..000000000 --- a/d9/d1f/binary__addition_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.svg +++ /dev/null @@ -1,251 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -tests - - -Node1 - - -tests - - - - - -Node2 - - -greedy_algorithms:: -BinaryAddition::addBinary - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -greedy_algorithms:: -BinaryAddition::isValidBinary -String - - - - - -Node2->Node3 - - - - - - - - -Node7 - - -std::max - - - - - -Node2->Node7 - - - - - - - - -Node8 - - -std::reverse - - - - - -Node2->Node8 - - - - - - - - -Node9 - - -std::string::size - - - - - -Node2->Node9 - - - - - - - - -Node4 - - -std::all_of - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -std::string::begin - - - - - -Node3->Node5 - - - - - - - - -Node6 - - -std::string::end - - - - - -Node3->Node6 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d9/d1f/binary__addition_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph_org.svg b/d9/d1f/binary__addition_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph_org.svg deleted file mode 100644 index ebeb9eb94..000000000 --- a/d9/d1f/binary__addition_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph_org.svg +++ /dev/null @@ -1,168 +0,0 @@ - - - - - - -tests - - -Node1 - - -tests - - - - - -Node2 - - -greedy_algorithms:: -BinaryAddition::addBinary - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -greedy_algorithms:: -BinaryAddition::isValidBinary -String - - - - - -Node2->Node3 - - - - - - - - -Node7 - - -std::max - - - - - -Node2->Node7 - - - - - - - - -Node8 - - -std::reverse - - - - - -Node2->Node8 - - - - - - - - -Node9 - - -std::string::size - - - - - -Node2->Node9 - - - - - - - - -Node4 - - -std::all_of - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -std::string::begin - - - - - -Node3->Node5 - - - - - - - - -Node6 - - -std::string::end - - - - - -Node3->Node6 - - - - - - - - diff --git a/d9/d1f/binary__addition_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d9/d1f/binary__addition_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index a96e554db..000000000 --- a/d9/d1f/binary__addition_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - diff --git a/d9/d1f/binary__addition_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d9/d1f/binary__addition_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index 400ff0139..000000000 --- a/d9/d1f/binary__addition_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -c2e5140f359b81ab1ce769a37f7c6ebb \ No newline at end of file diff --git a/d9/d1f/binary__addition_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d9/d1f/binary__addition_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 9cf68d519..000000000 --- a/d9/d1f/binary__addition_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,269 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -tests - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -greedy_algorithms:: -BinaryAddition::addBinary - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -greedy_algorithms:: -BinaryAddition::isValidBinary -String - - - - - -Node3->Node4 - - - - - - - - -Node8 - - -std::max - - - - - -Node3->Node8 - - - - - - - - -Node9 - - -std::reverse - - - - - -Node3->Node9 - - - - - - - - -Node10 - - -std::string::size - - - - - -Node3->Node10 - - - - - - - - -Node5 - - -std::all_of - - - - - -Node4->Node5 - - - - - - - - -Node6 - - -std::string::begin - - - - - -Node4->Node6 - - - - - - - - -Node7 - - -std::string::end - - - - - -Node4->Node7 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d9/d1f/binary__addition_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d9/d1f/binary__addition_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 3f0480561..000000000 --- a/d9/d1f/binary__addition_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,186 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -tests - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -greedy_algorithms:: -BinaryAddition::addBinary - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -greedy_algorithms:: -BinaryAddition::isValidBinary -String - - - - - -Node3->Node4 - - - - - - - - -Node8 - - -std::max - - - - - -Node3->Node8 - - - - - - - - -Node9 - - -std::reverse - - - - - -Node3->Node9 - - - - - - - - -Node10 - - -std::string::size - - - - - -Node3->Node10 - - - - - - - - -Node5 - - -std::all_of - - - - - -Node4->Node5 - - - - - - - - -Node6 - - -std::string::begin - - - - - -Node4->Node6 - - - - - - - - -Node7 - - -std::string::end - - - - - -Node4->Node7 - - - - - - - - diff --git a/d9/d1f/binary__addition_8cpp_source.html b/d9/d1f/binary__addition_8cpp_source.html new file mode 100644 index 000000000..1ad7e7da3 --- /dev/null +++ b/d9/d1f/binary__addition_8cpp_source.html @@ -0,0 +1,231 @@ + + + + + + + + +TheAlgorithms/C++: greedy_algorithms/binary_addition.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    +

    Classes

    class  greedy_algorithms::BinaryAddition
    + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + + +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    binary_addition.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    18#include <algorithm>
    +
    19#include <cassert>
    +
    20#include <iostream>
    +
    21#include <string>
    +
    22
    +
    + +
    + +
    32 public:
    +
    +
    40 std::string addBinary(const std::string& a, const std::string& b) {
    + +
    42 return ""; // Return empty string if input contains non-binary
    +
    43 // characters
    +
    44 }
    +
    45
    +
    46 std::string result;
    +
    47 int carry = 0;
    +
    48 int maxLength = std::max(a.size(), b.size());
    +
    49
    +
    50 // Traverse both strings from the end to the beginning
    +
    51 for (int i = 0; i < maxLength; ++i) {
    +
    52 // Get the current bits from both strings, if available
    +
    53 int bitA = (i < a.size()) ? (a[a.size() - 1 - i] - '0') : 0;
    +
    54 int bitB = (i < b.size()) ? (b[b.size() - 1 - i] - '0') : 0;
    +
    55
    +
    56 // Calculate the sum of bits and carry
    +
    57 int sum = bitA + bitB + carry;
    +
    58 carry = sum / 2; // Determine the carry for the next bit
    +
    59 result.push_back((sum % 2) +
    +
    60 '0'); // Append the sum's current bit to result
    +
    61 }
    +
    62 if (carry) {
    +
    63 result.push_back('1');
    +
    64 }
    +
    65 std::reverse(result.begin(), result.end());
    +
    66 return result;
    +
    67 }
    +
    +
    68
    +
    69 private:
    +
    +
    75 bool isValidBinaryString(const std::string& str) const {
    +
    76 return std::all_of(str.begin(), str.end(),
    +
    77 [](char c) { return c == '0' || c == '1'; });
    +
    78 }
    +
    +
    79};
    +
    +
    80} // namespace greedy_algorithms
    +
    +
    81
    +
    +
    86static void tests() {
    + +
    88
    +
    89 // Valid binary string tests
    +
    90 assert(binaryAddition.addBinary("1010", "1101") == "10111");
    +
    91 assert(binaryAddition.addBinary("1111", "1111") == "11110");
    +
    92 assert(binaryAddition.addBinary("101", "11") == "1000");
    +
    93 assert(binaryAddition.addBinary("0", "0") == "0");
    +
    94 assert(binaryAddition.addBinary("1111", "1111") == "11110");
    +
    95 assert(binaryAddition.addBinary("0", "10101") == "10101");
    +
    96 assert(binaryAddition.addBinary("10101", "0") == "10101");
    +
    97 assert(binaryAddition.addBinary("101010101010101010101010101010",
    +
    98 "110110110110110110110110110110") ==
    +
    99 "1100001100001100001100001100000");
    +
    100 assert(binaryAddition.addBinary("1", "11111111") == "100000000");
    +
    101 assert(binaryAddition.addBinary("10101010", "01010101") == "11111111");
    +
    102
    +
    103 // Invalid binary string tests (should return empty string)
    +
    104 assert(binaryAddition.addBinary("10102", "1101") == "");
    +
    105 assert(binaryAddition.addBinary("ABC", "1101") == "");
    +
    106 assert(binaryAddition.addBinary("1010", "1102") == "");
    +
    107 assert(binaryAddition.addBinary("111", "1x1") == "");
    +
    108 assert(binaryAddition.addBinary("1x1", "111") == "");
    +
    109 assert(binaryAddition.addBinary("1234", "1101") == "");
    +
    110}
    +
    +
    111
    +
    +
    116int main() {
    +
    117 tests();
    +
    118 return 0;
    +
    119}
    +
    +
    static void tests()
    run self test implementation.
    +
    int main()
    main function
    +
    A class to perform binary addition of two binary strings.
    +
    bool isValidBinaryString(const std::string &str) const
    Validates whether a string contains only binary characters (0 or 1).
    +
    std::string addBinary(const std::string &a, const std::string &b)
    Adds two binary strings and returns the result as a binary string.
    +
    for string class
    +
    +
    + + + + diff --git a/d9/d21/classmachine__learning_1_1adaline-members.html b/d9/d21/classmachine__learning_1_1adaline-members.html index f8890370b..c8ec4727a 100644 --- a/d9/d21/classmachine__learning_1_1adaline-members.html +++ b/d9/d21/classmachine__learning_1_1adaline-members.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Member List +TheAlgorithms/C++: Member List + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/d9/d21/namespacewave__sort.html b/d9/d21/namespacewave__sort.html index df2ecae5c..0206d3583 100644 --- a/d9/d21/namespacewave__sort.html +++ b/d9/d21/namespacewave__sort.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: wave_sort Namespace Reference +TheAlgorithms/C++: wave_sort Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/d9/d23/classgraph_1_1_lowest_common_ancestor.html b/d9/d23/classgraph_1_1_lowest_common_ancestor.html index f4cf9f73e..5f365658a 100644 --- a/d9/d23/classgraph_1_1_lowest_common_ancestor.html +++ b/d9/d23/classgraph_1_1_lowest_common_ancestor.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: graph::LowestCommonAncestor Class Reference +TheAlgorithms/C++: graph::LowestCommonAncestor Class Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + @@ -129,12 +146,10 @@ Public Member Functions
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    - + - - + +

    Public Attributes

    -const RootedTreetree
    const RootedTreetree
     
    -std::vector< std::vector< int > > up
     for every vertex stores a list of its ancestors by powers of two For each vertex, the first element of the corresponding list contains the index of its parent. The i-th element of the list is an index of the (2^i)-th ancestor of the vertex.
    std::vector< std::vector< int > > up
     for every vertex stores a list of its ancestors by powers of two For each vertex, the first element of the corresponding list contains the index of its parent. The i-th element of the list is an index of the (2^i)-th ancestor of the vertex.
     

    @@ -144,6 +159,8 @@ Protected Member Functions

    Detailed Description

    A structure that holds a rooted tree and allow for effecient queries of the lowest common ancestor of two given vertices in the tree.

    + +

    Definition at line 145 of file lowest_common_ancestor.cpp.

    Constructor & Destructor Documentation

    ◆ LowestCommonAncestor()

    @@ -175,16 +192,13 @@ Protected Member Functions + +

    Definition at line 151 of file lowest_common_ancestor.cpp.

    151 : tree(tree_) {
    152 populate_up();
    153 }
    -
    void populate_up()
    Definition lowest_common_ancestor.cpp:212
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + +

    Member Function Documentation

    @@ -224,10 +238,12 @@ Here is the call graph for this function:
    Returns
    index of the vertex which is the lowet common ancestor of u and v
    + +

    Definition at line 164 of file lowest_common_ancestor.cpp.

    164 {
    165 // Ensure u is the deeper (higher level) of the two vertices
    166 if (tree.level[v] > tree.level[u]) {
    -
    167 std::swap(u, v);
    +
    167 std::swap(u, v);
    168 }
    169
    170 // "Lift" u to the same level as v.
    @@ -257,15 +273,9 @@ Here is the call graph for this function:
    194 assert(up[u][0] == up[v][0]);
    195 return up[u][0];
    196 }
    -
    std::vector< std::vector< int > > up
    for every vertex stores a list of its ancestors by powers of two For each vertex, the first element o...
    Definition lowest_common_ancestor.cpp:206
    -
    std::vector< int > level
    Stores the distance from the root.
    Definition lowest_common_ancestor.cpp:106
    -
    T swap(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    std::vector< std::vector< int > > up
    for every vertex stores a list of its ancestors by powers of two For each vertex, the first element o...
    +
    std::vector< int > level
    Stores the distance from the root.
    + @@ -291,34 +301,64 @@ Here is the call graph for this function:

    Populate the "up" structure. See above.

    + +

    Definition at line 212 of file lowest_common_ancestor.cpp.

    212 {
    - +
    213 up.resize(tree.number_of_vertices());
    214 for (int vertex = 0; vertex < tree.number_of_vertices(); ++vertex) {
    -
    215 up[vertex].push_back(tree.parent[vertex]);
    +
    215 up[vertex].push_back(tree.parent[vertex]);
    216 }
    217 for (int level = 0; (1 << level) < tree.number_of_vertices(); ++level) {
    218 for (int vertex = 0; vertex < tree.number_of_vertices(); ++vertex) {
    219 // up[vertex][level + 1] = 2^(level + 1) th ancestor of vertex =
    220 // = 2^level th ancestor of 2^level th ancestor of vertex =
    221 // = 2^level th ancestor of up[vertex][level]
    -
    222 up[vertex].push_back(up[up[vertex][level]][level]);
    +
    222 up[vertex].push_back(up[up[vertex][level]][level]);
    223 }
    224 }
    225 }
    -
    int number_of_vertices() const
    Definition lowest_common_ancestor.cpp:74
    -
    std::vector< int > parent
    Stores parent of every vertex and for root its own index. The root is technically not its own parent,...
    Definition lowest_common_ancestor.cpp:104
    -
    T push_back(T... args)
    -
    T resize(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    +
    int number_of_vertices() const
    +
    std::vector< int > parent
    Stores parent of every vertex and for root its own index. The root is technically not its own parent,...
    +
    + +

    Member Data Documentation

    + +

    ◆ tree

    + +
    +
    + + + + +
    const RootedTree& graph::LowestCommonAncestor::tree
    +
    + +

    Definition at line 199 of file lowest_common_ancestor.cpp.

    + +
    +
    + +

    ◆ up

    + +
    +
    + + + + +
    std::vector<std::vector<int> > graph::LowestCommonAncestor::up
    +
    + +

    for every vertex stores a list of its ancestors by powers of two For each vertex, the first element of the corresponding list contains the index of its parent. The i-th element of the list is an index of the (2^i)-th ancestor of the vertex.

    + +

    Definition at line 206 of file lowest_common_ancestor.cpp.


    The documentation for this class was generated from the following file: diff --git a/d9/d23/classgraph_1_1_lowest_common_ancestor_a42589cc39d6bbff6c997152f1b96e356_cgraph.map b/d9/d23/classgraph_1_1_lowest_common_ancestor_a42589cc39d6bbff6c997152f1b96e356_cgraph.map deleted file mode 100644 index 1b49a5a82..000000000 --- a/d9/d23/classgraph_1_1_lowest_common_ancestor_a42589cc39d6bbff6c997152f1b96e356_cgraph.map +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/d9/d23/classgraph_1_1_lowest_common_ancestor_a42589cc39d6bbff6c997152f1b96e356_cgraph.md5 b/d9/d23/classgraph_1_1_lowest_common_ancestor_a42589cc39d6bbff6c997152f1b96e356_cgraph.md5 deleted file mode 100644 index 1fec9b331..000000000 --- a/d9/d23/classgraph_1_1_lowest_common_ancestor_a42589cc39d6bbff6c997152f1b96e356_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -ce6fc3874db3a1ad01ed682ab86d3244 \ No newline at end of file diff --git a/d9/d23/classgraph_1_1_lowest_common_ancestor_a42589cc39d6bbff6c997152f1b96e356_cgraph.svg b/d9/d23/classgraph_1_1_lowest_common_ancestor_a42589cc39d6bbff6c997152f1b96e356_cgraph.svg deleted file mode 100644 index 94a63a40a..000000000 --- a/d9/d23/classgraph_1_1_lowest_common_ancestor_a42589cc39d6bbff6c997152f1b96e356_cgraph.svg +++ /dev/null @@ -1,121 +0,0 @@ - - - - - - - - - - - - -graph::LowestCommonAncestor::populate_up - - -Node1 - - -graph::LowestCommonAncestor -::populate_up - - - - - -Node2 - - -graph::Graph::number -_of_vertices - - - - - -Node1->Node2 - - - - - - - - -Node4 - - -std::vector::push_back - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::vector::resize - - - - - -Node1->Node5 - - - - - - - - -Node3 - - -std::vector::size - - - - - -Node2->Node3 - - - - - - - - - - - - - diff --git a/d9/d23/classgraph_1_1_lowest_common_ancestor_a42589cc39d6bbff6c997152f1b96e356_cgraph_org.svg b/d9/d23/classgraph_1_1_lowest_common_ancestor_a42589cc39d6bbff6c997152f1b96e356_cgraph_org.svg deleted file mode 100644 index f3b114d16..000000000 --- a/d9/d23/classgraph_1_1_lowest_common_ancestor_a42589cc39d6bbff6c997152f1b96e356_cgraph_org.svg +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - -graph::LowestCommonAncestor::populate_up - - -Node1 - - -graph::LowestCommonAncestor -::populate_up - - - - - -Node2 - - -graph::Graph::number -_of_vertices - - - - - -Node1->Node2 - - - - - - - - -Node4 - - -std::vector::push_back - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::vector::resize - - - - - -Node1->Node5 - - - - - - - - -Node3 - - -std::vector::size - - - - - -Node2->Node3 - - - - - - - - diff --git a/d9/d23/classgraph_1_1_lowest_common_ancestor_a60151e19512b48cc0b14ea121df00488_cgraph.map b/d9/d23/classgraph_1_1_lowest_common_ancestor_a60151e19512b48cc0b14ea121df00488_cgraph.map deleted file mode 100644 index 142917119..000000000 --- a/d9/d23/classgraph_1_1_lowest_common_ancestor_a60151e19512b48cc0b14ea121df00488_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d9/d23/classgraph_1_1_lowest_common_ancestor_a60151e19512b48cc0b14ea121df00488_cgraph.md5 b/d9/d23/classgraph_1_1_lowest_common_ancestor_a60151e19512b48cc0b14ea121df00488_cgraph.md5 deleted file mode 100644 index 4faa02a6f..000000000 --- a/d9/d23/classgraph_1_1_lowest_common_ancestor_a60151e19512b48cc0b14ea121df00488_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -8d1ed7bf69b7670f4b5d369da3aef65a \ No newline at end of file diff --git a/d9/d23/classgraph_1_1_lowest_common_ancestor_a60151e19512b48cc0b14ea121df00488_cgraph.svg b/d9/d23/classgraph_1_1_lowest_common_ancestor_a60151e19512b48cc0b14ea121df00488_cgraph.svg deleted file mode 100644 index fa3b47dc5..000000000 --- a/d9/d23/classgraph_1_1_lowest_common_ancestor_a60151e19512b48cc0b14ea121df00488_cgraph.svg +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - - - - - - - -graph::LowestCommonAncestor::lowest_common_ancestor - - -Node1 - - -graph::LowestCommonAncestor -::lowest_common_ancestor - - - - - -Node2 - - -std::swap - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d9/d23/classgraph_1_1_lowest_common_ancestor_a60151e19512b48cc0b14ea121df00488_cgraph_org.svg b/d9/d23/classgraph_1_1_lowest_common_ancestor_a60151e19512b48cc0b14ea121df00488_cgraph_org.svg deleted file mode 100644 index 369abc717..000000000 --- a/d9/d23/classgraph_1_1_lowest_common_ancestor_a60151e19512b48cc0b14ea121df00488_cgraph_org.svg +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - -graph::LowestCommonAncestor::lowest_common_ancestor - - -Node1 - - -graph::LowestCommonAncestor -::lowest_common_ancestor - - - - - -Node2 - - -std::swap - - - - - -Node1->Node2 - - - - - - - - diff --git a/d9/d23/classgraph_1_1_lowest_common_ancestor_a80825a4fd4c41860b689d253dd2c8e93_cgraph.map b/d9/d23/classgraph_1_1_lowest_common_ancestor_a80825a4fd4c41860b689d253dd2c8e93_cgraph.map deleted file mode 100644 index abc94de1c..000000000 --- a/d9/d23/classgraph_1_1_lowest_common_ancestor_a80825a4fd4c41860b689d253dd2c8e93_cgraph.map +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - diff --git a/d9/d23/classgraph_1_1_lowest_common_ancestor_a80825a4fd4c41860b689d253dd2c8e93_cgraph.md5 b/d9/d23/classgraph_1_1_lowest_common_ancestor_a80825a4fd4c41860b689d253dd2c8e93_cgraph.md5 deleted file mode 100644 index f2cf7a6c0..000000000 --- a/d9/d23/classgraph_1_1_lowest_common_ancestor_a80825a4fd4c41860b689d253dd2c8e93_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -77056b7ec7d9075a5b12df216dc6297a \ No newline at end of file diff --git a/d9/d23/classgraph_1_1_lowest_common_ancestor_a80825a4fd4c41860b689d253dd2c8e93_cgraph.svg b/d9/d23/classgraph_1_1_lowest_common_ancestor_a80825a4fd4c41860b689d253dd2c8e93_cgraph.svg deleted file mode 100644 index 5749f25fa..000000000 --- a/d9/d23/classgraph_1_1_lowest_common_ancestor_a80825a4fd4c41860b689d253dd2c8e93_cgraph.svg +++ /dev/null @@ -1,197 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -graph::LowestCommonAncestor::LowestCommonAncestor - - -Node1 - - -graph::LowestCommonAncestor -::LowestCommonAncestor - - - - - -Node2 - - -graph::LowestCommonAncestor -::populate_up - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -graph::Graph::number -_of_vertices - - - - - -Node2->Node3 - - - - - - - - -Node5 - - -std::vector::push_back - - - - - -Node2->Node5 - - - - - - - - -Node6 - - -std::vector::resize - - - - - -Node2->Node6 - - - - - - - - -Node4 - - -std::vector::size - - - - - -Node3->Node4 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d9/d23/classgraph_1_1_lowest_common_ancestor_a80825a4fd4c41860b689d253dd2c8e93_cgraph_org.svg b/d9/d23/classgraph_1_1_lowest_common_ancestor_a80825a4fd4c41860b689d253dd2c8e93_cgraph_org.svg deleted file mode 100644 index 9c51c46be..000000000 --- a/d9/d23/classgraph_1_1_lowest_common_ancestor_a80825a4fd4c41860b689d253dd2c8e93_cgraph_org.svg +++ /dev/null @@ -1,114 +0,0 @@ - - - - - - -graph::LowestCommonAncestor::LowestCommonAncestor - - -Node1 - - -graph::LowestCommonAncestor -::LowestCommonAncestor - - - - - -Node2 - - -graph::LowestCommonAncestor -::populate_up - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -graph::Graph::number -_of_vertices - - - - - -Node2->Node3 - - - - - - - - -Node5 - - -std::vector::push_back - - - - - -Node2->Node5 - - - - - - - - -Node6 - - -std::vector::resize - - - - - -Node2->Node6 - - - - - - - - -Node4 - - -std::vector::size - - - - - -Node3->Node4 - - - - - - - - diff --git a/d9/d24/poisson__dist_8cpp.html b/d9/d24/poisson__dist_8cpp.html index c805d1e43..d8e19ebf7 100644 --- a/d9/d24/poisson__dist_8cpp.html +++ b/d9/d24/poisson__dist_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: probability/poisson_dist.cpp File Reference +TheAlgorithms/C++: probability/poisson_dist.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -119,7 +136,9 @@ Include dependency graph for poisson_dist.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -138,6 +157,8 @@ Functions

    Detailed Description

    Poisson statistics

    The Poisson distribution counts how many events occur over a set time interval.

    + +

    Definition in file poisson_dist.cpp.

    Function Documentation

    ◆ fact()

    @@ -154,6 +175,8 @@ Functions

    Functions

    double poisson_rate (double events, double timeframe)

    Compute factorial of a given number

    + +

    Definition at line 30 of file poisson_dist.cpp.

    30 {
    31 double x_fact = x;
    32 for (int i = x - 1; i > 0; i--) {
    @@ -183,33 +206,28 @@ Functions

    main function

    + +

    Definition at line 65 of file poisson_dist.cpp.

    65 {
    66 double rate, expected;
    67 rate = poisson_rate(3, 1);
    -
    68 std::cout << "Poisson rate : " << rate << std::endl;
    +
    68 std::cout << "Poisson rate : " << rate << std::endl;
    69
    70 expected = poisson_expected(rate, 2);
    -
    71 std::cout << "Poisson expected : " << expected << std::endl;
    +
    71 std::cout << "Poisson expected : " << expected << std::endl;
    72
    -
    73 std::cout << "Poisson 0 successes : " << poisson_x_successes(expected, 0)
    -
    74 << std::endl;
    -
    75 std::cout << "Poisson 0-8 successes : "
    -
    76 << poisson_range_successes(expected, 0, 8) << std::endl;
    +
    73 std::cout << "Poisson 0 successes : " << poisson_x_successes(expected, 0)
    +
    74 << std::endl;
    +
    75 std::cout << "Poisson 0-8 successes : "
    +
    76 << poisson_range_successes(expected, 0, 8) << std::endl;
    77
    78 return 0;
    79}
    - -
    T endl(T... args)
    -
    double poisson_x_successes(double expected, double x)
    Definition poisson_dist.cpp:46
    -
    double poisson_rate(double events, double timeframe)
    Definition poisson_dist.cpp:17
    -
    double poisson_expected(double rate, double time)
    Definition poisson_dist.cpp:25
    -
    double poisson_range_successes(double expected, double lower, double upper)
    Definition poisson_dist.cpp:54
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    double poisson_x_successes(double expected, double x)
    +
    double poisson_rate(double events, double timeframe)
    +
    double poisson_expected(double rate, double time)
    +
    double poisson_range_successes(double expected, double lower, double upper)
    +
    @@ -231,8 +249,9 @@ Here is the call graph for this function:

    calculate the expected value over a time e.g rate of 2.5 over 10 mins = 2.5 x 10 = 25

    -
    25{ return rate * time; }
    -
    T time(T... args)
    + +

    Definition at line 25 of file poisson_dist.cpp.

    +
    25{ return rate * time; }
    @@ -262,7 +281,9 @@ Here is the call graph for this function:

    probability of a success in range for Poisson dist (inclusive, inclusive)

    \[P = \sum_i p(\mu,i)\]

    -
    54 {
    + +

    Definition at line 54 of file poisson_dist.cpp.

    +
    54 {
    55 double probability = 0;
    56 for (int i = lower; i <= upper; i++) {
    57 probability += poisson_x_successes(expected, i);
    @@ -270,13 +291,8 @@ Here is the call graph for this function:
    59 return probability;
    60}
    Probability algorithms.
    -
    std::string lower(std::string word)
    function to convert a C++ string to lower case
    Definition text_search.cpp:19
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    std::string lower(std::string word)
    function to convert a C++ string to lower case
    + @@ -300,6 +316,8 @@ Here is the call graph for this function:

    poisson rate:
    calculate the events per unit time
    e.g 5 dollars every 2 mins = 5 / 2 = 2.5

    + +

    Definition at line 17 of file poisson_dist.cpp.

    17 {
    18 return events / timeframe;
    19}
    @@ -327,18 +345,13 @@ e.g 5 dollars every 2 mins = 5 / 2 = 2.5

    Find the probability of x successes in a Poisson dist.

    \[p(\mu,x) = \frac{\mu^x e^{-\mu}}{x!}\]

    -
    46 {
    -
    47 return (std::pow(expected, x) * std::exp(-expected)) / fact(x);
    + +

    Definition at line 46 of file poisson_dist.cpp.

    +
    46 {
    +
    47 return (std::pow(expected, x) * std::exp(-expected)) / fact(x);
    48}
    -
    T exp(T... args)
    -
    double fact(double x)
    Definition poisson_dist.cpp:30
    -
    T pow(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    double fact(double x)
    +
    diff --git a/d9/d24/poisson__dist_8cpp_a69a136b32707bdc7950fb9057b5fa1e1_cgraph.map b/d9/d24/poisson__dist_8cpp_a69a136b32707bdc7950fb9057b5fa1e1_cgraph.map deleted file mode 100644 index 73e2b1c96..000000000 --- a/d9/d24/poisson__dist_8cpp_a69a136b32707bdc7950fb9057b5fa1e1_cgraph.map +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/d9/d24/poisson__dist_8cpp_a69a136b32707bdc7950fb9057b5fa1e1_cgraph.md5 b/d9/d24/poisson__dist_8cpp_a69a136b32707bdc7950fb9057b5fa1e1_cgraph.md5 deleted file mode 100644 index 2dc50424b..000000000 --- a/d9/d24/poisson__dist_8cpp_a69a136b32707bdc7950fb9057b5fa1e1_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -81aa8a79eca3acecc0b7f6b852b3f987 \ No newline at end of file diff --git a/d9/d24/poisson__dist_8cpp_a69a136b32707bdc7950fb9057b5fa1e1_cgraph.svg b/d9/d24/poisson__dist_8cpp_a69a136b32707bdc7950fb9057b5fa1e1_cgraph.svg deleted file mode 100644 index 12401ce5d..000000000 --- a/d9/d24/poisson__dist_8cpp_a69a136b32707bdc7950fb9057b5fa1e1_cgraph.svg +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - - - - - - - -poisson_x_successes - - -Node1 - - -poisson_x_successes - - - - - -Node2 - - -std::exp - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -fact - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::pow - - - - - -Node1->Node4 - - - - - - - - - - - - - diff --git a/d9/d24/poisson__dist_8cpp_a69a136b32707bdc7950fb9057b5fa1e1_cgraph_org.svg b/d9/d24/poisson__dist_8cpp_a69a136b32707bdc7950fb9057b5fa1e1_cgraph_org.svg deleted file mode 100644 index cd3579ce3..000000000 --- a/d9/d24/poisson__dist_8cpp_a69a136b32707bdc7950fb9057b5fa1e1_cgraph_org.svg +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - -poisson_x_successes - - -Node1 - - -poisson_x_successes - - - - - -Node2 - - -std::exp - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -fact - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::pow - - - - - -Node1->Node4 - - - - - - - - diff --git a/d9/d24/poisson__dist_8cpp_ad9c9e74079278ca10e3b97a8d5391c9a_cgraph.map b/d9/d24/poisson__dist_8cpp_ad9c9e74079278ca10e3b97a8d5391c9a_cgraph.map deleted file mode 100644 index 0159e96e5..000000000 --- a/d9/d24/poisson__dist_8cpp_ad9c9e74079278ca10e3b97a8d5391c9a_cgraph.map +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/d9/d24/poisson__dist_8cpp_ad9c9e74079278ca10e3b97a8d5391c9a_cgraph.md5 b/d9/d24/poisson__dist_8cpp_ad9c9e74079278ca10e3b97a8d5391c9a_cgraph.md5 deleted file mode 100644 index abae436f9..000000000 --- a/d9/d24/poisson__dist_8cpp_ad9c9e74079278ca10e3b97a8d5391c9a_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -2f1f7861327319d0283ca9a362193a01 \ No newline at end of file diff --git a/d9/d24/poisson__dist_8cpp_ad9c9e74079278ca10e3b97a8d5391c9a_cgraph.svg b/d9/d24/poisson__dist_8cpp_ad9c9e74079278ca10e3b97a8d5391c9a_cgraph.svg deleted file mode 100644 index f1940d4d4..000000000 --- a/d9/d24/poisson__dist_8cpp_ad9c9e74079278ca10e3b97a8d5391c9a_cgraph.svg +++ /dev/null @@ -1,155 +0,0 @@ - - - - - - - - - - - - -poisson_range_successes - - -Node1 - - -poisson_range_successes - - - - - -Node2 - - -lower - - - - - -Node1->Node2 - - - - - - - - -Node4 - - -poisson_x_successes - - - - - -Node1->Node4 - - - - - - - - -Node3 - - -std::string::length - - - - - -Node2->Node3 - - - - - - - - -Node5 - - -std::exp - - - - - -Node4->Node5 - - - - - - - - -Node6 - - -fact - - - - - -Node4->Node6 - - - - - - - - -Node7 - - -std::pow - - - - - -Node4->Node7 - - - - - - - - - - - - - diff --git a/d9/d24/poisson__dist_8cpp_ad9c9e74079278ca10e3b97a8d5391c9a_cgraph_org.svg b/d9/d24/poisson__dist_8cpp_ad9c9e74079278ca10e3b97a8d5391c9a_cgraph_org.svg deleted file mode 100644 index cc84f5bb1..000000000 --- a/d9/d24/poisson__dist_8cpp_ad9c9e74079278ca10e3b97a8d5391c9a_cgraph_org.svg +++ /dev/null @@ -1,129 +0,0 @@ - - - - - - -poisson_range_successes - - -Node1 - - -poisson_range_successes - - - - - -Node2 - - -lower - - - - - -Node1->Node2 - - - - - - - - -Node4 - - -poisson_x_successes - - - - - -Node1->Node4 - - - - - - - - -Node3 - - -std::string::length - - - - - -Node2->Node3 - - - - - - - - -Node5 - - -std::exp - - - - - -Node4->Node5 - - - - - - - - -Node6 - - -fact - - - - - -Node4->Node6 - - - - - - - - -Node7 - - -std::pow - - - - - -Node4->Node7 - - - - - - - - diff --git a/d9/d24/poisson__dist_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d9/d24/poisson__dist_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 7b5bd3d48..000000000 --- a/d9/d24/poisson__dist_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d9/d24/poisson__dist_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d9/d24/poisson__dist_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index fb96ed9b4..000000000 --- a/d9/d24/poisson__dist_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -b5f8315d961b5d6ae325c91772d274fb \ No newline at end of file diff --git a/d9/d24/poisson__dist_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d9/d24/poisson__dist_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 37d620f3b..000000000 --- a/d9/d24/poisson__dist_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,236 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -poisson_expected - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -poisson_range_successes - - - - - -Node1->Node4 - - - - - - - - -Node7 - - -poisson_x_successes - - - - - -Node1->Node7 - - - - - - - - -Node11 - - -poisson_rate - - - - - -Node1->Node11 - - - - - - - - -Node5 - - -lower - - - - - -Node4->Node5 - - - - - - - - -Node4->Node7 - - - - - - - - -Node6 - - -std::string::length - - - - - -Node5->Node6 - - - - - - - - -Node8 - - -std::exp - - - - - -Node7->Node8 - - - - - - - - -Node9 - - -fact - - - - - -Node7->Node9 - - - - - - - - -Node10 - - -std::pow - - - - - -Node7->Node10 - - - - - - - - - - - - - diff --git a/d9/d24/poisson__dist_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d9/d24/poisson__dist_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 32e27ba03..000000000 --- a/d9/d24/poisson__dist_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,210 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -poisson_expected - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -poisson_range_successes - - - - - -Node1->Node4 - - - - - - - - -Node7 - - -poisson_x_successes - - - - - -Node1->Node7 - - - - - - - - -Node11 - - -poisson_rate - - - - - -Node1->Node11 - - - - - - - - -Node5 - - -lower - - - - - -Node4->Node5 - - - - - - - - -Node4->Node7 - - - - - - - - -Node6 - - -std::string::length - - - - - -Node5->Node6 - - - - - - - - -Node8 - - -std::exp - - - - - -Node7->Node8 - - - - - - - - -Node9 - - -fact - - - - - -Node7->Node9 - - - - - - - - -Node10 - - -std::pow - - - - - -Node7->Node10 - - - - - - - - diff --git a/d9/d24/poisson__dist_8cpp_source.html b/d9/d24/poisson__dist_8cpp_source.html new file mode 100644 index 000000000..0b56b30d3 --- /dev/null +++ b/d9/d24/poisson__dist_8cpp_source.html @@ -0,0 +1,204 @@ + + + + + + + + +TheAlgorithms/C++: probability/poisson_dist.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    poisson_dist.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    9#include <cmath>
    +
    10#include <iostream>
    +
    11
    +
    +
    17double poisson_rate(double events, double timeframe) {
    +
    18 return events / timeframe;
    +
    19}
    +
    +
    20
    +
    25double poisson_expected(double rate, double time) { return rate * time; }
    +
    26
    +
    +
    30double fact(double x) {
    +
    31 double x_fact = x;
    +
    32 for (int i = x - 1; i > 0; i--) {
    +
    33 x_fact *= i;
    +
    34 }
    +
    35
    +
    36 if (x_fact <= 0) {
    +
    37 x_fact = 1;
    +
    38 }
    +
    39 return x_fact;
    +
    40}
    +
    +
    41
    +
    +
    46double poisson_x_successes(double expected, double x) {
    +
    47 return (std::pow(expected, x) * std::exp(-expected)) / fact(x);
    +
    48}
    +
    +
    49
    +
    +
    54double poisson_range_successes(double expected, double lower, double upper) {
    +
    55 double probability = 0;
    +
    56 for (int i = lower; i <= upper; i++) {
    +
    57 probability += poisson_x_successes(expected, i);
    +
    58 }
    +
    59 return probability;
    +
    60}
    +
    +
    61
    +
    +
    65int main() {
    +
    66 double rate, expected;
    +
    67 rate = poisson_rate(3, 1);
    +
    68 std::cout << "Poisson rate : " << rate << std::endl;
    +
    69
    +
    70 expected = poisson_expected(rate, 2);
    +
    71 std::cout << "Poisson expected : " << expected << std::endl;
    +
    72
    +
    73 std::cout << "Poisson 0 successes : " << poisson_x_successes(expected, 0)
    +
    74 << std::endl;
    +
    75 std::cout << "Poisson 0-8 successes : "
    +
    76 << poisson_range_successes(expected, 0, 8) << std::endl;
    +
    77
    +
    78 return 0;
    +
    79}
    +
    +
    Probability algorithms.
    +
    double fact(double x)
    +
    double poisson_x_successes(double expected, double x)
    +
    double poisson_rate(double events, double timeframe)
    +
    double poisson_expected(double rate, double time)
    +
    double poisson_range_successes(double expected, double lower, double upper)
    +
    int main()
    +
    std::string lower(std::string word)
    function to convert a C++ string to lower case
    +
    +
    + + + + diff --git a/d9/d27/namespacelist__array.html b/d9/d27/namespacelist__array.html index 098e9495e..cf2a6a09c 100644 --- a/d9/d27/namespacelist__array.html +++ b/d9/d27/namespacelist__array.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: list_array Namespace Reference +TheAlgorithms/C++: list_array Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/d9/d29/ground__to__ground__projectile__motion_8cpp.html b/d9/d29/ground__to__ground__projectile__motion_8cpp.html index 39fc3945b..d49f19d26 100644 --- a/d9/d29/ground__to__ground__projectile__motion_8cpp.html +++ b/d9/d29/ground__to__ground__projectile__motion_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: physics/ground_to_ground_projectile_motion.cpp File Reference +TheAlgorithms/C++: physics/ground_to_ground_projectile_motion.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + @@ -122,7 +139,9 @@ Include dependency graph for ground_to_ground_projectile_motion.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -134,9 +153,8 @@ Namespaces

    Namespaces

    namespace  physics
    - - + +

    Macros

    -#define _USE_MATH_DEFINES
     for assert()
    #define _USE_MATH_DEFINES
     for assert()
     

    Ground to ground projectile motion equation implementations.

    Ground to ground projectile motion is when a projectile's trajectory starts at the ground, reaches the apex, then falls back on the ground.

    Author
    Focusucof
    -

    Function Documentation

    + +

    Definition in file ground_to_ground_projectile_motion.cpp.

    +

    Macro Definition Documentation

    + +

    ◆ _USE_MATH_DEFINES

    + +
    +
    +

    @@ -167,7 +185,28 @@ Functions

    + + + +
    #define _USE_MATH_DEFINES
    +
    + +

    for assert()

    + +

    Definition at line 13 of file ground_to_ground_projectile_motion.cpp.

    + +
    + +

    Function Documentation

    ◆ degrees_to_radians()

    @@ -191,16 +230,13 @@ Functions
    Returns
    Angle in degrees
    + +

    Definition at line 34 of file ground_to_ground_projectile_motion.cpp.

    34 {
    35 double radians = degrees * (M_PI / 180);
    36 return radians;
    37}
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -238,19 +274,14 @@ template<typename T >
    Returns
    Horizontal distance that the projectile travels
    -
    59 {
    -
    60 double Vix = initial_velocity * (std::cos(degrees_to_radians(angle))); // calculate x component of the initial velocity
    -
    61 return Vix * time;
    -
    62}
    -
    T cos(T... args)
    -
    double degrees_to_radians(double degrees)
    Convert radians to degrees.
    Definition ground_to_ground_projectile_motion.cpp:34
    -
    T time(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    +

    Definition at line 59 of file ground_to_ground_projectile_motion.cpp.

    +
    59 {
    +
    60 double Vix = initial_velocity * (std::cos(degrees_to_radians(angle))); // calculate x component of the initial velocity
    +
    61 return Vix * time;
    +
    62}
    +
    double degrees_to_radians(double degrees)
    Convert radians to degrees.
    +
    @@ -270,17 +301,14 @@ Here is the call graph for this function:

    Main function.

    Returns
    0 on exit
    + +

    Definition at line 138 of file ground_to_ground_projectile_motion.cpp.

    138 {
    139 test(); // run self-test implementations
    140 return 0;
    141}
    -
    static void test()
    Self-test implementations.
    Definition ground_to_ground_projectile_motion.cpp:83
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static void test()
    Self-test implementations.
    + @@ -319,18 +347,13 @@ template<typename T >
    Returns
    The max height that the projectile reaches
    -
    72 {
    -
    73 double Viy = initial_velocity * (std::sin(degrees_to_radians(angle))); // calculate y component of the initial velocity
    -
    74 return (std::pow(Viy, 2) / (2.0 * gravity));
    -
    75}
    -
    T pow(T... args)
    -
    T sin(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    +

    Definition at line 72 of file ground_to_ground_projectile_motion.cpp.

    +
    72 {
    +
    73 double Viy = initial_velocity * (std::sin(degrees_to_radians(angle))); // calculate y component of the initial velocity
    +
    74 return (std::pow(Viy, 2) / (2.0 * gravity));
    +
    75}
    +
    @@ -358,6 +381,8 @@ Here is the call graph for this function:

    Self-test implementations.

    Returns
    void
    + +

    Definition at line 83 of file ground_to_ground_projectile_motion.cpp.

    83 {
    84 // initial input variables
    85 double initial_velocity = 5.0; // double initial_velocity input
    @@ -366,57 +391,49 @@ Here is the call graph for this function:
    88 // 1st test
    89 double expected_time_of_flight = 0.655; // expected time output
    90 double flight_time_output =
    -
    91 std::round(physics::ground_to_ground_projectile_motion::time_of_flight(initial_velocity, angle) * 1000.0) /
    +
    91 std::round(physics::ground_to_ground_projectile_motion::time_of_flight(initial_velocity, angle) * 1000.0) /
    92 1000.0; // round output to 3 decimal places
    93
    -
    94 std::cout << "Projectile Flight Time (double)" << std::endl;
    -
    95 std::cout << "Input Initial Velocity: " << initial_velocity << std::endl;
    -
    96 std::cout << "Input Angle: " << angle << std::endl;
    -
    97 std::cout << "Expected Output: " << expected_time_of_flight << std::endl;
    -
    98 std::cout << "Output: " << flight_time_output << std::endl;
    +
    94 std::cout << "Projectile Flight Time (double)" << std::endl;
    +
    95 std::cout << "Input Initial Velocity: " << initial_velocity << std::endl;
    +
    96 std::cout << "Input Angle: " << angle << std::endl;
    +
    97 std::cout << "Expected Output: " << expected_time_of_flight << std::endl;
    +
    98 std::cout << "Output: " << flight_time_output << std::endl;
    99 assert(flight_time_output == expected_time_of_flight);
    -
    100 std::cout << "TEST PASSED" << std::endl << std::endl;
    +
    100 std::cout << "TEST PASSED" << std::endl << std::endl;
    101
    102 // 2nd test
    103 double expected_horizontal_range = 2.51; // expected range output
    104 double horizontal_range_output =
    -
    105 std::round(physics::ground_to_ground_projectile_motion::horizontal_range(initial_velocity, angle,
    +
    105 std::round(physics::ground_to_ground_projectile_motion::horizontal_range(initial_velocity, angle,
    106 flight_time_output) *
    107 100.0) /
    108 100.0; // round output to 2 decimal places
    109
    -
    110 std::cout << "Projectile Horizontal Range (double)" << std::endl;
    -
    111 std::cout << "Input Initial Velocity: " << initial_velocity << std::endl;
    -
    112 std::cout << "Input Angle: " << angle << std::endl;
    -
    113 std::cout << "Input Time Of Flight: " << flight_time_output << std::endl;
    -
    114 std::cout << "Expected Output: " << expected_horizontal_range << std::endl;
    -
    115 std::cout << "Output: " << horizontal_range_output << std::endl;
    +
    110 std::cout << "Projectile Horizontal Range (double)" << std::endl;
    +
    111 std::cout << "Input Initial Velocity: " << initial_velocity << std::endl;
    +
    112 std::cout << "Input Angle: " << angle << std::endl;
    +
    113 std::cout << "Input Time Of Flight: " << flight_time_output << std::endl;
    +
    114 std::cout << "Expected Output: " << expected_horizontal_range << std::endl;
    +
    115 std::cout << "Output: " << horizontal_range_output << std::endl;
    116 assert(horizontal_range_output == expected_horizontal_range);
    -
    117 std::cout << "TEST PASSED" << std::endl << std::endl;
    +
    117 std::cout << "TEST PASSED" << std::endl << std::endl;
    118
    119 // 3rd test
    120 double expected_max_height = 0.526; // expected height output
    121 double max_height_output =
    -
    122 std::round(physics::ground_to_ground_projectile_motion::max_height(initial_velocity, angle) * 1000.0) /
    +
    122 std::round(physics::ground_to_ground_projectile_motion::max_height(initial_velocity, angle) * 1000.0) /
    123 1000.0; // round output to 3 decimal places
    124
    -
    125 std::cout << "Projectile Max Height (double)" << std::endl;
    -
    126 std::cout << "Input Initial Velocity: " << initial_velocity << std::endl;
    -
    127 std::cout << "Input Angle: " << angle << std::endl;
    -
    128 std::cout << "Expected Output: " << expected_max_height << std::endl;
    -
    129 std::cout << "Output: " << max_height_output << std::endl;
    +
    125 std::cout << "Projectile Max Height (double)" << std::endl;
    +
    126 std::cout << "Input Initial Velocity: " << initial_velocity << std::endl;
    +
    127 std::cout << "Input Angle: " << angle << std::endl;
    +
    128 std::cout << "Expected Output: " << expected_max_height << std::endl;
    +
    129 std::cout << "Output: " << max_height_output << std::endl;
    130 assert(max_height_output == expected_max_height);
    -
    131 std::cout << "TEST PASSED" << std::endl << std::endl;
    +
    131 std::cout << "TEST PASSED" << std::endl << std::endl;
    132}
    - -
    T endl(T... args)
    -
    T round(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -455,16 +472,13 @@ template<typename T >
    Returns
    The time that the projectile is in the air for
    + +

    Definition at line 47 of file ground_to_ground_projectile_motion.cpp.

    47 {
    -
    48 double Viy = initial_velocity * (std::sin(degrees_to_radians(angle))); // calculate y component of the initial velocity
    +
    48 double Viy = initial_velocity * (std::sin(degrees_to_radians(angle))); // calculate y component of the initial velocity
    49 return 2.0 * Viy / gravity;
    50}
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + diff --git a/d9/d29/ground__to__ground__projectile__motion_8cpp_a10362eb607d7882bac3a0688504b00ff_cgraph.map b/d9/d29/ground__to__ground__projectile__motion_8cpp_a10362eb607d7882bac3a0688504b00ff_cgraph.map deleted file mode 100644 index 2deeb0288..000000000 --- a/d9/d29/ground__to__ground__projectile__motion_8cpp_a10362eb607d7882bac3a0688504b00ff_cgraph.map +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/d9/d29/ground__to__ground__projectile__motion_8cpp_a10362eb607d7882bac3a0688504b00ff_cgraph.md5 b/d9/d29/ground__to__ground__projectile__motion_8cpp_a10362eb607d7882bac3a0688504b00ff_cgraph.md5 deleted file mode 100644 index 6f4cae0d7..000000000 --- a/d9/d29/ground__to__ground__projectile__motion_8cpp_a10362eb607d7882bac3a0688504b00ff_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -ae33f4067df13366800a3609d085f4c6 \ No newline at end of file diff --git a/d9/d29/ground__to__ground__projectile__motion_8cpp_a10362eb607d7882bac3a0688504b00ff_cgraph.svg b/d9/d29/ground__to__ground__projectile__motion_8cpp_a10362eb607d7882bac3a0688504b00ff_cgraph.svg deleted file mode 100644 index 18d049543..000000000 --- a/d9/d29/ground__to__ground__projectile__motion_8cpp_a10362eb607d7882bac3a0688504b00ff_cgraph.svg +++ /dev/null @@ -1,105 +0,0 @@ - - - - - - - - - - - - -physics::ground_to_ground_projectile_motion::horizontal_range - - -Node1 - - -physics::ground_to -_ground_projectile_motion -::horizontal_range - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::cos - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -physics::ground_to -_ground_projectile_motion -::degrees_to_radians - - - - - -Node1->Node3 - - - - - - - - -Node3->Node3 - - - - - - - - - - - - - diff --git a/d9/d29/ground__to__ground__projectile__motion_8cpp_a10362eb607d7882bac3a0688504b00ff_cgraph_org.svg b/d9/d29/ground__to__ground__projectile__motion_8cpp_a10362eb607d7882bac3a0688504b00ff_cgraph_org.svg deleted file mode 100644 index b47092057..000000000 --- a/d9/d29/ground__to__ground__projectile__motion_8cpp_a10362eb607d7882bac3a0688504b00ff_cgraph_org.svg +++ /dev/null @@ -1,79 +0,0 @@ - - - - - - -physics::ground_to_ground_projectile_motion::horizontal_range - - -Node1 - - -physics::ground_to -_ground_projectile_motion -::horizontal_range - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::cos - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -physics::ground_to -_ground_projectile_motion -::degrees_to_radians - - - - - -Node1->Node3 - - - - - - - - -Node3->Node3 - - - - - - - - diff --git a/d9/d29/ground__to__ground__projectile__motion_8cpp_a563e066975fed1b84750a0a47c3cbb37_cgraph.map b/d9/d29/ground__to__ground__projectile__motion_8cpp_a563e066975fed1b84750a0a47c3cbb37_cgraph.map deleted file mode 100644 index b1c89fb37..000000000 --- a/d9/d29/ground__to__ground__projectile__motion_8cpp_a563e066975fed1b84750a0a47c3cbb37_cgraph.map +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/d9/d29/ground__to__ground__projectile__motion_8cpp_a563e066975fed1b84750a0a47c3cbb37_cgraph.md5 b/d9/d29/ground__to__ground__projectile__motion_8cpp_a563e066975fed1b84750a0a47c3cbb37_cgraph.md5 deleted file mode 100644 index e905eabea..000000000 --- a/d9/d29/ground__to__ground__projectile__motion_8cpp_a563e066975fed1b84750a0a47c3cbb37_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -647d06c9e7ae30931232f8b5be07678d \ No newline at end of file diff --git a/d9/d29/ground__to__ground__projectile__motion_8cpp_a563e066975fed1b84750a0a47c3cbb37_cgraph.svg b/d9/d29/ground__to__ground__projectile__motion_8cpp_a563e066975fed1b84750a0a47c3cbb37_cgraph.svg deleted file mode 100644 index 9a8318806..000000000 --- a/d9/d29/ground__to__ground__projectile__motion_8cpp_a563e066975fed1b84750a0a47c3cbb37_cgraph.svg +++ /dev/null @@ -1,105 +0,0 @@ - - - - - - - - - - - - -physics::ground_to_ground_projectile_motion::time_of_flight - - -Node1 - - -physics::ground_to -_ground_projectile_motion -::time_of_flight - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -physics::ground_to -_ground_projectile_motion -::degrees_to_radians - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::sin - - - - - -Node1->Node3 - - - - - - - - -Node2->Node2 - - - - - - - - - - - - - diff --git a/d9/d29/ground__to__ground__projectile__motion_8cpp_a563e066975fed1b84750a0a47c3cbb37_cgraph_org.svg b/d9/d29/ground__to__ground__projectile__motion_8cpp_a563e066975fed1b84750a0a47c3cbb37_cgraph_org.svg deleted file mode 100644 index 1ff75a4c7..000000000 --- a/d9/d29/ground__to__ground__projectile__motion_8cpp_a563e066975fed1b84750a0a47c3cbb37_cgraph_org.svg +++ /dev/null @@ -1,79 +0,0 @@ - - - - - - -physics::ground_to_ground_projectile_motion::time_of_flight - - -Node1 - - -physics::ground_to -_ground_projectile_motion -::time_of_flight - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -physics::ground_to -_ground_projectile_motion -::degrees_to_radians - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::sin - - - - - -Node1->Node3 - - - - - - - - -Node2->Node2 - - - - - - - - diff --git a/d9/d29/ground__to__ground__projectile__motion_8cpp_aa554429def63077ab7a550c0affbfefa_cgraph.map b/d9/d29/ground__to__ground__projectile__motion_8cpp_aa554429def63077ab7a550c0affbfefa_cgraph.map deleted file mode 100644 index fcdc98c6a..000000000 --- a/d9/d29/ground__to__ground__projectile__motion_8cpp_aa554429def63077ab7a550c0affbfefa_cgraph.map +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/d9/d29/ground__to__ground__projectile__motion_8cpp_aa554429def63077ab7a550c0affbfefa_cgraph.md5 b/d9/d29/ground__to__ground__projectile__motion_8cpp_aa554429def63077ab7a550c0affbfefa_cgraph.md5 deleted file mode 100644 index 8d372318f..000000000 --- a/d9/d29/ground__to__ground__projectile__motion_8cpp_aa554429def63077ab7a550c0affbfefa_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -6a796ceb1612c4c5f78d2ab011cc6d47 \ No newline at end of file diff --git a/d9/d29/ground__to__ground__projectile__motion_8cpp_aa554429def63077ab7a550c0affbfefa_cgraph.svg b/d9/d29/ground__to__ground__projectile__motion_8cpp_aa554429def63077ab7a550c0affbfefa_cgraph.svg deleted file mode 100644 index 6c364931a..000000000 --- a/d9/d29/ground__to__ground__projectile__motion_8cpp_aa554429def63077ab7a550c0affbfefa_cgraph.svg +++ /dev/null @@ -1,123 +0,0 @@ - - - - - - - - - - - - -physics::ground_to_ground_projectile_motion::max_height - - -Node1 - - -physics::ground_to -_ground_projectile_motion -::max_height - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -physics::ground_to -_ground_projectile_motion -::degrees_to_radians - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::pow - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::sin - - - - - -Node1->Node4 - - - - - - - - -Node2->Node2 - - - - - - - - - - - - - diff --git a/d9/d29/ground__to__ground__projectile__motion_8cpp_aa554429def63077ab7a550c0affbfefa_cgraph_org.svg b/d9/d29/ground__to__ground__projectile__motion_8cpp_aa554429def63077ab7a550c0affbfefa_cgraph_org.svg deleted file mode 100644 index a508f73f9..000000000 --- a/d9/d29/ground__to__ground__projectile__motion_8cpp_aa554429def63077ab7a550c0affbfefa_cgraph_org.svg +++ /dev/null @@ -1,97 +0,0 @@ - - - - - - -physics::ground_to_ground_projectile_motion::max_height - - -Node1 - - -physics::ground_to -_ground_projectile_motion -::max_height - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -physics::ground_to -_ground_projectile_motion -::degrees_to_radians - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::pow - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::sin - - - - - -Node1->Node4 - - - - - - - - -Node2->Node2 - - - - - - - - diff --git a/d9/d29/ground__to__ground__projectile__motion_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map b/d9/d29/ground__to__ground__projectile__motion_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map deleted file mode 100644 index cc97a7729..000000000 --- a/d9/d29/ground__to__ground__projectile__motion_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/d9/d29/ground__to__ground__projectile__motion_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 b/d9/d29/ground__to__ground__projectile__motion_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 deleted file mode 100644 index 6d66f15c5..000000000 --- a/d9/d29/ground__to__ground__projectile__motion_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -e439fc7dbca33286c17b90ddce659abc \ No newline at end of file diff --git a/d9/d29/ground__to__ground__projectile__motion_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg b/d9/d29/ground__to__ground__projectile__motion_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg deleted file mode 100644 index 1d456db85..000000000 --- a/d9/d29/ground__to__ground__projectile__motion_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::round - - - - - -Node1->Node3 - - - - - - - - - - - - - diff --git a/d9/d29/ground__to__ground__projectile__motion_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg b/d9/d29/ground__to__ground__projectile__motion_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg deleted file mode 100644 index df2f714e2..000000000 --- a/d9/d29/ground__to__ground__projectile__motion_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::round - - - - - -Node1->Node3 - - - - - - - - diff --git a/d9/d29/ground__to__ground__projectile__motion_8cpp_ab00e9785fb2670f7af99d6f3d636f87c_cgraph.map b/d9/d29/ground__to__ground__projectile__motion_8cpp_ab00e9785fb2670f7af99d6f3d636f87c_cgraph.map deleted file mode 100644 index 04a184b67..000000000 --- a/d9/d29/ground__to__ground__projectile__motion_8cpp_ab00e9785fb2670f7af99d6f3d636f87c_cgraph.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/d9/d29/ground__to__ground__projectile__motion_8cpp_ab00e9785fb2670f7af99d6f3d636f87c_cgraph.md5 b/d9/d29/ground__to__ground__projectile__motion_8cpp_ab00e9785fb2670f7af99d6f3d636f87c_cgraph.md5 deleted file mode 100644 index bb90c237f..000000000 --- a/d9/d29/ground__to__ground__projectile__motion_8cpp_ab00e9785fb2670f7af99d6f3d636f87c_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -eb0c841a213f8fe0467e2b484906dad4 \ No newline at end of file diff --git a/d9/d29/ground__to__ground__projectile__motion_8cpp_ab00e9785fb2670f7af99d6f3d636f87c_cgraph.svg b/d9/d29/ground__to__ground__projectile__motion_8cpp_ab00e9785fb2670f7af99d6f3d636f87c_cgraph.svg deleted file mode 100644 index a21b21f47..000000000 --- a/d9/d29/ground__to__ground__projectile__motion_8cpp_ab00e9785fb2670f7af99d6f3d636f87c_cgraph.svg +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - - - - - - - -physics::ground_to_ground_projectile_motion::degrees_to_radians - - -Node1 - - -physics::ground_to -_ground_projectile_motion -::degrees_to_radians - - - - - -Node1->Node1 - - - - - - - - - - - - - diff --git a/d9/d29/ground__to__ground__projectile__motion_8cpp_ab00e9785fb2670f7af99d6f3d636f87c_cgraph_org.svg b/d9/d29/ground__to__ground__projectile__motion_8cpp_ab00e9785fb2670f7af99d6f3d636f87c_cgraph_org.svg deleted file mode 100644 index 060584907..000000000 --- a/d9/d29/ground__to__ground__projectile__motion_8cpp_ab00e9785fb2670f7af99d6f3d636f87c_cgraph_org.svg +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - -physics::ground_to_ground_projectile_motion::degrees_to_radians - - -Node1 - - -physics::ground_to -_ground_projectile_motion -::degrees_to_radians - - - - - -Node1->Node1 - - - - - - - - diff --git a/d9/d29/ground__to__ground__projectile__motion_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d9/d29/ground__to__ground__projectile__motion_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index cb23a2aca..000000000 --- a/d9/d29/ground__to__ground__projectile__motion_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/d9/d29/ground__to__ground__projectile__motion_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d9/d29/ground__to__ground__projectile__motion_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index 2deb18f2c..000000000 --- a/d9/d29/ground__to__ground__projectile__motion_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -09d97abbbbd350de10db7f92b016a1b2 \ No newline at end of file diff --git a/d9/d29/ground__to__ground__projectile__motion_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d9/d29/ground__to__ground__projectile__motion_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 6c3656c58..000000000 --- a/d9/d29/ground__to__ground__projectile__motion_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::round - - - - - -Node2->Node4 - - - - - - - - - - - - - diff --git a/d9/d29/ground__to__ground__projectile__motion_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d9/d29/ground__to__ground__projectile__motion_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index dc9a69e77..000000000 --- a/d9/d29/ground__to__ground__projectile__motion_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::round - - - - - -Node2->Node4 - - - - - - - - diff --git a/d9/d29/ground__to__ground__projectile__motion_8cpp_source.html b/d9/d29/ground__to__ground__projectile__motion_8cpp_source.html new file mode 100644 index 000000000..e150569a6 --- /dev/null +++ b/d9/d29/ground__to__ground__projectile__motion_8cpp_source.html @@ -0,0 +1,245 @@ + + + + + + + + +TheAlgorithms/C++: physics/ground_to_ground_projectile_motion.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    ground_to_ground_projectile_motion.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    12#include <cassert>
    +
    13#define _USE_MATH_DEFINES
    +
    14#include <cmath>
    +
    15#include <iostream>
    +
    16
    +
    21namespace physics {
    + +
    +
    34double degrees_to_radians(double degrees){
    +
    35 double radians = degrees * (M_PI / 180);
    +
    36 return radians;
    +
    37}
    +
    +
    38
    +
    46template <typename T>
    +
    +
    47T time_of_flight(T initial_velocity, T angle, double gravity = 9.81) {
    +
    48 double Viy = initial_velocity * (std::sin(degrees_to_radians(angle))); // calculate y component of the initial velocity
    +
    49 return 2.0 * Viy / gravity;
    +
    50}
    +
    +
    51
    +
    58template <typename T>
    +
    +
    59T horizontal_range(T initial_velocity, T angle, T time) {
    +
    60 double Vix = initial_velocity * (std::cos(degrees_to_radians(angle))); // calculate x component of the initial velocity
    +
    61 return Vix * time;
    +
    62}
    +
    +
    63
    +
    71template <typename T>
    +
    +
    72T max_height(T initial_velocity, T angle, double gravity = 9.81) {
    +
    73 double Viy = initial_velocity * (std::sin(degrees_to_radians(angle))); // calculate y component of the initial velocity
    +
    74 return (std::pow(Viy, 2) / (2.0 * gravity));
    +
    75}
    +
    +
    76} // namespace ground_to_ground_projectile_motion
    +
    77} // namespace physics
    +
    78
    +
    +
    83static void test() {
    +
    84 // initial input variables
    +
    85 double initial_velocity = 5.0; // double initial_velocity input
    +
    86 double angle = 40.0; // double angle input
    +
    87
    +
    88 // 1st test
    +
    89 double expected_time_of_flight = 0.655; // expected time output
    +
    90 double flight_time_output =
    +
    91 std::round(physics::ground_to_ground_projectile_motion::time_of_flight(initial_velocity, angle) * 1000.0) /
    +
    92 1000.0; // round output to 3 decimal places
    +
    93
    +
    94 std::cout << "Projectile Flight Time (double)" << std::endl;
    +
    95 std::cout << "Input Initial Velocity: " << initial_velocity << std::endl;
    +
    96 std::cout << "Input Angle: " << angle << std::endl;
    +
    97 std::cout << "Expected Output: " << expected_time_of_flight << std::endl;
    +
    98 std::cout << "Output: " << flight_time_output << std::endl;
    +
    99 assert(flight_time_output == expected_time_of_flight);
    +
    100 std::cout << "TEST PASSED" << std::endl << std::endl;
    +
    101
    +
    102 // 2nd test
    +
    103 double expected_horizontal_range = 2.51; // expected range output
    +
    104 double horizontal_range_output =
    +
    105 std::round(physics::ground_to_ground_projectile_motion::horizontal_range(initial_velocity, angle,
    +
    106 flight_time_output) *
    +
    107 100.0) /
    +
    108 100.0; // round output to 2 decimal places
    +
    109
    +
    110 std::cout << "Projectile Horizontal Range (double)" << std::endl;
    +
    111 std::cout << "Input Initial Velocity: " << initial_velocity << std::endl;
    +
    112 std::cout << "Input Angle: " << angle << std::endl;
    +
    113 std::cout << "Input Time Of Flight: " << flight_time_output << std::endl;
    +
    114 std::cout << "Expected Output: " << expected_horizontal_range << std::endl;
    +
    115 std::cout << "Output: " << horizontal_range_output << std::endl;
    +
    116 assert(horizontal_range_output == expected_horizontal_range);
    +
    117 std::cout << "TEST PASSED" << std::endl << std::endl;
    +
    118
    +
    119 // 3rd test
    +
    120 double expected_max_height = 0.526; // expected height output
    +
    121 double max_height_output =
    +
    122 std::round(physics::ground_to_ground_projectile_motion::max_height(initial_velocity, angle) * 1000.0) /
    +
    123 1000.0; // round output to 3 decimal places
    +
    124
    +
    125 std::cout << "Projectile Max Height (double)" << std::endl;
    +
    126 std::cout << "Input Initial Velocity: " << initial_velocity << std::endl;
    +
    127 std::cout << "Input Angle: " << angle << std::endl;
    +
    128 std::cout << "Expected Output: " << expected_max_height << std::endl;
    +
    129 std::cout << "Output: " << max_height_output << std::endl;
    +
    130 assert(max_height_output == expected_max_height);
    +
    131 std::cout << "TEST PASSED" << std::endl << std::endl;
    +
    132}
    +
    +
    133
    +
    +
    138int main() {
    +
    139 test(); // run self-test implementations
    +
    140 return 0;
    +
    141}
    +
    +
    T horizontal_range(T initial_velocity, T angle, T time)
    Calculate the horizontal distance that the projectile travels.
    +
    T time_of_flight(T initial_velocity, T angle, double gravity=9.81)
    Calculate the time of flight.
    +
    T max_height(T initial_velocity, T angle, double gravity=9.81)
    Calculate the max height of the projectile.
    +
    static void test()
    Self-test implementations.
    +
    double degrees_to_radians(double degrees)
    Convert radians to degrees.
    +
    int main()
    Main function.
    +
    Functions for the Ground to ground projectile motion equation.
    +
    for IO operations
    +
    +
    + + + + diff --git a/d9/d2c/class_test_cases-members.html b/d9/d2c/class_test_cases-members.html index 36af68657..2dcdb018c 100644 --- a/d9/d2c/class_test_cases-members.html +++ b/d9/d2c/class_test_cases-members.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Member List +TheAlgorithms/C++: Member List + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/d9/d31/coin__change__topdown_8cpp.html b/d9/d31/coin__change__topdown_8cpp.html index 830e21e80..b9ebdc1be 100644 --- a/d9/d31/coin__change__topdown_8cpp.html +++ b/d9/d31/coin__change__topdown_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: dynamic_programming/coin_change_topdown.cpp File Reference +TheAlgorithms/C++: dynamic_programming/coin_change_topdown.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + @@ -122,7 +139,9 @@ Include dependency graph for coin_change_topdown.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -135,7 +154,7 @@ Namespaces - + @@ -152,6 +171,8 @@ Functions
  • Bottom up appraoch Top down approach involves a vector with all elements initialised to 0. It is based on optimal substructure and overlapping subproblems. Overall time complexity of coin change problem is O(n*t) For example: example 1:- Coins: {1,7,10} Target:15 Therfore minimum number of coins required = 3 of denomination 1,7 and 7.
    Author
    Divyansh Kushwaha
  • + +

    Definition in file coin_change_topdown.cpp.

    Function Documentation

    ◆ main()

    @@ -170,17 +191,14 @@ Functions

    Main function.

    Returns
    0 on exit
    + +

    Definition at line 91 of file coin_change_topdown.cpp.

    91 {
    92 test(); // execute the test
    93 return 0;
    94}
    -
    static void test()
    Test implementations.
    Definition coin_change_topdown.cpp:74
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static void test()
    Test implementations.
    + @@ -199,7 +217,7 @@ template<typename T > - + @@ -209,7 +227,7 @@ template<typename T > - +

    Namespaces

    namespace  dynamic_programming

    Functions

    template<typename T >
    int64_t dynamic_programming::mincoins_topdown::mincoins (const T &n, const std::vector< T > &coins, const int16_t &t, std::vector< T > dp)
    int64_t dynamic_programming::mincoins_topdown::mincoins (const T &n, const std::vector< T > &coins, const int16_t &t, std::vector< T > dp)
     This implementation is for finding minimum number of coins .
     
    static void test ()
    const std::vector< T > & coins, const std::vector< T > & coins,
    std::vector< T > dp )std::vector< T > dp )
    @@ -226,6 +244,8 @@ template<typename T >
    Returns
    minimum number of coins
    + +

    Definition at line 47 of file coin_change_topdown.cpp.

    48 {
    49 if (n == 0) {
    50 return 0;
    @@ -238,21 +258,15 @@ template<typename T >
    57 if (n - coins[i] >= 0) { // if after subtracting the current
    58 // denomination is it greater than 0 or not
    59 int sub = mincoins(n - coins[i], coins, t, dp);
    -
    60 ans = std::min(ans, sub + 1);
    +
    60 ans = std::min(ans, sub + 1);
    61 }
    62 }
    63 dp[n] = ans;
    64 return dp[n]; // returns minimum number of coins
    65}
    -
    int64_t mincoins(const T &n, const std::vector< T > &coins, const int16_t &t, std::vector< T > dp)
    This implementation is for finding minimum number of coins .
    Definition coin_change_topdown.cpp:47
    -
    T min(T... args)
    -
    for std::vector
    Definition partition_problem.cpp:39
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    int64_t mincoins(const T &n, const std::vector< T > &coins, const int16_t &t, std::vector< T > dp)
    This implementation is for finding minimum number of coins .
    +
    for std::vector
    + @@ -280,27 +294,22 @@ Here is the call graph for this function:

    Test implementations.

    Returns
    void
    + +

    Definition at line 74 of file coin_change_topdown.cpp.

    74 {
    75 // example 1: number of coins=3 and minimum coins required=3(7,7,1)
    76 const int64_t n1 = 15;
    77 const int8_t t1 = 3, a1 = 0;
    -
    78 std::cout << "\nTest 1...";
    -
    79 std::vector<int64_t> arr1{1, 7, 10};
    -
    80 std::vector<int64_t> dp1(n1 + 1);
    +
    78 std::cout << "\nTest 1...";
    +
    79 std::vector<int64_t> arr1{1, 7, 10};
    +
    80 std::vector<int64_t> dp1(n1 + 1);
    81 fill(dp1.begin(), dp1.end(), a1);
    82 assert(dynamic_programming::mincoins_topdown::mincoins(n1, arr1, t1, dp1) ==
    83 3);
    -
    84 std::cout << "Passed\n";
    +
    84 std::cout << "Passed\n";
    85}
    - -
    std::string fill(char c, int n)
    Definition decimal_to_roman_numeral.cpp:15
    - -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    std::string fill(char c, int n)
    + diff --git a/d9/d31/coin__change__topdown_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map b/d9/d31/coin__change__topdown_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map deleted file mode 100644 index c9c9d20ae..000000000 --- a/d9/d31/coin__change__topdown_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/d9/d31/coin__change__topdown_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 b/d9/d31/coin__change__topdown_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 deleted file mode 100644 index a59c1473c..000000000 --- a/d9/d31/coin__change__topdown_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -e6d650c0b993c8f60e6b575668c0d58f \ No newline at end of file diff --git a/d9/d31/coin__change__topdown_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg b/d9/d31/coin__change__topdown_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg deleted file mode 100644 index a9745d3b3..000000000 --- a/d9/d31/coin__change__topdown_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -std::vector::begin - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::vector::end - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -fill - - - - - -Node1->Node4 - - - - - - - - - - - - - diff --git a/d9/d31/coin__change__topdown_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg b/d9/d31/coin__change__topdown_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg deleted file mode 100644 index 8cb214869..000000000 --- a/d9/d31/coin__change__topdown_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -std::vector::begin - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::vector::end - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -fill - - - - - -Node1->Node4 - - - - - - - - diff --git a/d9/d31/coin__change__topdown_8cpp_ac816a4ae8a29c156b90377041000929a_cgraph.map b/d9/d31/coin__change__topdown_8cpp_ac816a4ae8a29c156b90377041000929a_cgraph.map deleted file mode 100644 index cd674c2b7..000000000 --- a/d9/d31/coin__change__topdown_8cpp_ac816a4ae8a29c156b90377041000929a_cgraph.map +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/d9/d31/coin__change__topdown_8cpp_ac816a4ae8a29c156b90377041000929a_cgraph.md5 b/d9/d31/coin__change__topdown_8cpp_ac816a4ae8a29c156b90377041000929a_cgraph.md5 deleted file mode 100644 index 5c0c9f67a..000000000 --- a/d9/d31/coin__change__topdown_8cpp_ac816a4ae8a29c156b90377041000929a_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -45f297439154cb4f4d70f0a6c20052fa \ No newline at end of file diff --git a/d9/d31/coin__change__topdown_8cpp_ac816a4ae8a29c156b90377041000929a_cgraph.svg b/d9/d31/coin__change__topdown_8cpp_ac816a4ae8a29c156b90377041000929a_cgraph.svg deleted file mode 100644 index a23bec2b6..000000000 --- a/d9/d31/coin__change__topdown_8cpp_ac816a4ae8a29c156b90377041000929a_cgraph.svg +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - - - - - - - -dynamic_programming::mincoins_topdown::mincoins - - -Node1 - - -dynamic_programming -::mincoins_topdown:: -mincoins - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::min - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d9/d31/coin__change__topdown_8cpp_ac816a4ae8a29c156b90377041000929a_cgraph_org.svg b/d9/d31/coin__change__topdown_8cpp_ac816a4ae8a29c156b90377041000929a_cgraph_org.svg deleted file mode 100644 index d3f85451a..000000000 --- a/d9/d31/coin__change__topdown_8cpp_ac816a4ae8a29c156b90377041000929a_cgraph_org.svg +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - -dynamic_programming::mincoins_topdown::mincoins - - -Node1 - - -dynamic_programming -::mincoins_topdown:: -mincoins - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::min - - - - - -Node1->Node2 - - - - - - - - diff --git a/d9/d31/coin__change__topdown_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d9/d31/coin__change__topdown_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index a79f240db..000000000 --- a/d9/d31/coin__change__topdown_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/d9/d31/coin__change__topdown_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d9/d31/coin__change__topdown_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index 6f387b029..000000000 --- a/d9/d31/coin__change__topdown_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -95788545ce66f46005b7c52ab3e94b86 \ No newline at end of file diff --git a/d9/d31/coin__change__topdown_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d9/d31/coin__change__topdown_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index ac6b968f5..000000000 --- a/d9/d31/coin__change__topdown_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,119 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::vector::begin - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::vector::end - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -fill - - - - - -Node2->Node5 - - - - - - - - - - - - - diff --git a/d9/d31/coin__change__topdown_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d9/d31/coin__change__topdown_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 10494ac83..000000000 --- a/d9/d31/coin__change__topdown_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,93 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::vector::begin - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::vector::end - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -fill - - - - - -Node2->Node5 - - - - - - - - diff --git a/d9/d31/coin__change__topdown_8cpp_source.html b/d9/d31/coin__change__topdown_8cpp_source.html new file mode 100644 index 000000000..14d3cf6f3 --- /dev/null +++ b/d9/d31/coin__change__topdown_8cpp_source.html @@ -0,0 +1,199 @@ + + + + + + + + +TheAlgorithms/C++: dynamic_programming/coin_change_topdown.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    coin_change_topdown.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    21#include <cassert> // for assert
    +
    22#include <climits> // for INT_MAX
    +
    23#include <iostream> // for io operations
    +
    24#include <vector> // for std::vector
    +
    25
    +
    30namespace dynamic_programming {
    +
    36namespace mincoins_topdown {
    +
    46template <typename T>
    +
    +
    47int64_t mincoins(const T &n, const std::vector<T> &coins, const int16_t &t,
    +
    48 std::vector<T> dp) {
    +
    49 if (n == 0) {
    +
    50 return 0;
    +
    51 }
    +
    52 if (dp[n] != 0) {
    +
    53 return dp[n];
    +
    54 }
    +
    55 int ans = INT_MAX; // variable to store min coins
    +
    56 for (int i = 0; i < t; i++) {
    +
    57 if (n - coins[i] >= 0) { // if after subtracting the current
    +
    58 // denomination is it greater than 0 or not
    +
    59 int sub = mincoins(n - coins[i], coins, t, dp);
    +
    60 ans = std::min(ans, sub + 1);
    +
    61 }
    +
    62 }
    +
    63 dp[n] = ans;
    +
    64 return dp[n]; // returns minimum number of coins
    +
    65}
    +
    +
    66
    +
    67} // namespace mincoins_topdown
    +
    68} // namespace dynamic_programming
    +
    69
    +
    +
    74static void test() {
    +
    75 // example 1: number of coins=3 and minimum coins required=3(7,7,1)
    +
    76 const int64_t n1 = 15;
    +
    77 const int8_t t1 = 3, a1 = 0;
    +
    78 std::cout << "\nTest 1...";
    +
    79 std::vector<int64_t> arr1{1, 7, 10};
    +
    80 std::vector<int64_t> dp1(n1 + 1);
    +
    81 fill(dp1.begin(), dp1.end(), a1);
    +
    82 assert(dynamic_programming::mincoins_topdown::mincoins(n1, arr1, t1, dp1) ==
    +
    83 3);
    +
    84 std::cout << "Passed\n";
    +
    85}
    +
    +
    86
    +
    +
    91int main() {
    +
    92 test(); // execute the test
    +
    93 return 0;
    +
    94}
    +
    +
    static void test()
    Test implementations.
    +
    int64_t mincoins(const T &n, const std::vector< T > &coins, const int16_t &t, std::vector< T > dp)
    This implementation is for finding minimum number of coins .
    +
    int main()
    Main function.
    +
    std::string fill(char c, int n)
    +
    for std::vector
    +
    Dynamic Programming algorithms.
    +
    Functions for minimum coin exchange problem.
    +
    +
    + + + + diff --git a/d9/d35/classrange__queries_1_1heavy__light__decomposition_1_1_s_g.html b/d9/d35/classrange__queries_1_1heavy__light__decomposition_1_1_s_g.html index 219e7617a..4050d2e0c 100644 --- a/d9/d35/classrange__queries_1_1heavy__light__decomposition_1_1_s_g.html +++ b/d9/d35/classrange__queries_1_1heavy__light__decomposition_1_1_s_g.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: range_queries::heavy_light_decomposition::SG< X > Class Template Reference +TheAlgorithms/C++: range_queries::heavy_light_decomposition::SG< X > Class Template Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -146,23 +163,20 @@ Private Member Functions
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    - + - - + + - - + +

    Private Attributes

    std::vector< X > s_tree
    std::vector< X > s_tree
     Everything here is private, and can only be accessed through the methods, in the derived class (HLD)
     
    -int s_size
     number of leaves in the segment tree
    int s_size
     number of leaves in the segment tree
     
    -X sret_init = 0
     inital query return value
    sret_init = 0
     inital query return value
     
    - - + +

    Friends

    -template<typename T >
    class HLD
    template<typename T >
    class HLD
     

    Detailed Description

    @@ -174,6 +188,8 @@ class range_queries::heavy_light_decomposition::SG< X >

    Segment + +

    Definition at line 254 of file heavy_light_decomposition.cpp.

    Constructor & Destructor Documentation

    ◆ SG()

    @@ -208,19 +224,15 @@ template<typename X >
    Returns
    void
    + +

    Definition at line 282 of file heavy_light_decomposition.cpp.

    282 {
    283 s_size = size;
    -
    284 s_tree.assign(2 * s_size, 0ll);
    +
    284 s_tree.assign(2 * s_size, 0ll);
    285 }
    -
    T assign(T... args)
    -
    int s_size
    number of leaves in the segment tree
    Definition heavy_light_decomposition.cpp:263
    -
    std::vector< X > s_tree
    Everything here is private, and can only be accessed through the methods, in the derived class (HLD)
    Definition heavy_light_decomposition.cpp:262
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    int s_size
    number of leaves in the segment tree
    +
    std::vector< X > s_tree
    Everything here is private, and can only be accessed through the methods, in the derived class (HLD)
    +

    Member Function Documentation

    @@ -262,6 +274,8 @@ template<typename X >
    Returns
    the combined result
    + +

    Definition at line 274 of file heavy_light_decomposition.cpp.

    274{ return lhs + rhs; }
    @@ -304,6 +318,8 @@ template<typename X >
    Returns
    void
    + +

    Definition at line 305 of file heavy_light_decomposition.cpp.

    305 {
    306 X lhs = sret_init, rhs = sret_init;
    307 for (l += s_size, r += s_size + 1; l < r; l >>= 1, r >>= 1) {
    @@ -316,14 +332,9 @@ template<typename X >
    314 }
    315 return combine(lhs, rhs);
    316 }
    -
    X combine(X lhs, X rhs)
    Function that specifies the type of operation involved when segments are combined.
    Definition heavy_light_decomposition.cpp:274
    -
    X sret_init
    inital query return value
    Definition heavy_light_decomposition.cpp:264
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    X combine(X lhs, X rhs)
    Function that specifies the type of operation involved when segments are combined.
    + + @@ -364,6 +375,8 @@ template<typename X > + +

    Definition at line 329 of file heavy_light_decomposition.cpp.

    329{ sret_init = new_sret_init; }
    @@ -406,15 +419,74 @@ template<typename X >
    Returns
    void
    + +

    Definition at line 293 of file heavy_light_decomposition.cpp.

    293 {
    294 for (p += s_size; p > 0; p >>= 1) {
    295 s_tree[p] += v;
    296 }
    297 }
    + + +

    Friends And Related Symbol Documentation

    + +

    ◆ HLD

    + +
    +
    +
    +template<typename X >
    +
    +template<typename T >
    + + + + + +
    + + + + +
    friend class HLD
    +
    +friend
    +
    + +

    Definition at line 265 of file heavy_light_decomposition.cpp.

    +

    Member Data Documentation

    + +

    ◆ s_size

    + +
    +
    +
    +template<typename X >
    + + + + + +
    + + + + +
    int range_queries::heavy_light_decomposition::SG< X >::s_size
    +
    +private
    +
    + +

    number of leaves in the segment tree

    + +

    Definition at line 263 of file heavy_light_decomposition.cpp.

    + +
    +

    ◆ s_tree

    @@ -427,7 +499,7 @@ template<typename X > - +
    std::vector<X> range_queries::heavy_light_decomposition::SG< X >::s_treestd::vector<X> range_queries::heavy_light_decomposition::SG< X >::s_tree
    @@ -440,10 +512,40 @@ template<typename X >

    Everything here is private, and can only be accessed through the methods, in the derived class (HLD)

    the segment tree, stored as a vector

    +

    Definition at line 262 of file heavy_light_decomposition.cpp.

    + + + + +

    ◆ sret_init

    + +
    +
    +
    +template<typename X >
    + + + + + +
    + + + + +
    X range_queries::heavy_light_decomposition::SG< X >::sret_init = 0
    +
    +private
    +
    + +

    inital query return value

    + +

    Definition at line 264 of file heavy_light_decomposition.cpp.

    +

    The documentation for this class was generated from the following file: diff --git a/d9/d35/classrange__queries_1_1heavy__light__decomposition_1_1_s_g_a1fda852e6e522707fd97f61cdb0a2591_cgraph.map b/d9/d35/classrange__queries_1_1heavy__light__decomposition_1_1_s_g_a1fda852e6e522707fd97f61cdb0a2591_cgraph.map deleted file mode 100644 index 71b529f32..000000000 --- a/d9/d35/classrange__queries_1_1heavy__light__decomposition_1_1_s_g_a1fda852e6e522707fd97f61cdb0a2591_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d9/d35/classrange__queries_1_1heavy__light__decomposition_1_1_s_g_a1fda852e6e522707fd97f61cdb0a2591_cgraph.md5 b/d9/d35/classrange__queries_1_1heavy__light__decomposition_1_1_s_g_a1fda852e6e522707fd97f61cdb0a2591_cgraph.md5 deleted file mode 100644 index c134410ef..000000000 --- a/d9/d35/classrange__queries_1_1heavy__light__decomposition_1_1_s_g_a1fda852e6e522707fd97f61cdb0a2591_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -124b3888245617acacca722a74902b22 \ No newline at end of file diff --git a/d9/d35/classrange__queries_1_1heavy__light__decomposition_1_1_s_g_a1fda852e6e522707fd97f61cdb0a2591_cgraph.svg b/d9/d35/classrange__queries_1_1heavy__light__decomposition_1_1_s_g_a1fda852e6e522707fd97f61cdb0a2591_cgraph.svg deleted file mode 100644 index 253eff034..000000000 --- a/d9/d35/classrange__queries_1_1heavy__light__decomposition_1_1_s_g_a1fda852e6e522707fd97f61cdb0a2591_cgraph.svg +++ /dev/null @@ -1,69 +0,0 @@ - - - - - - - - - - - - -range_queries::heavy_light_decomposition::SG::query - - -Node1 - - -range_queries::heavy -_light_decomposition -::SG::query - - - - - -Node2 - - -range_queries::heavy -_light_decomposition -::SG::combine - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d9/d35/classrange__queries_1_1heavy__light__decomposition_1_1_s_g_a1fda852e6e522707fd97f61cdb0a2591_cgraph_org.svg b/d9/d35/classrange__queries_1_1heavy__light__decomposition_1_1_s_g_a1fda852e6e522707fd97f61cdb0a2591_cgraph_org.svg deleted file mode 100644 index c3c2eef84..000000000 --- a/d9/d35/classrange__queries_1_1heavy__light__decomposition_1_1_s_g_a1fda852e6e522707fd97f61cdb0a2591_cgraph_org.svg +++ /dev/null @@ -1,43 +0,0 @@ - - - - - - -range_queries::heavy_light_decomposition::SG::query - - -Node1 - - -range_queries::heavy -_light_decomposition -::SG::query - - - - - -Node2 - - -range_queries::heavy -_light_decomposition -::SG::combine - - - - - -Node1->Node2 - - - - - - - - diff --git a/d9/d35/classrange__queries_1_1heavy__light__decomposition_1_1_s_g_afba5c1225ba04c0025c7786c09ff28f1_cgraph.map b/d9/d35/classrange__queries_1_1heavy__light__decomposition_1_1_s_g_afba5c1225ba04c0025c7786c09ff28f1_cgraph.map deleted file mode 100644 index 790dd231b..000000000 --- a/d9/d35/classrange__queries_1_1heavy__light__decomposition_1_1_s_g_afba5c1225ba04c0025c7786c09ff28f1_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d9/d35/classrange__queries_1_1heavy__light__decomposition_1_1_s_g_afba5c1225ba04c0025c7786c09ff28f1_cgraph.md5 b/d9/d35/classrange__queries_1_1heavy__light__decomposition_1_1_s_g_afba5c1225ba04c0025c7786c09ff28f1_cgraph.md5 deleted file mode 100644 index 307b9b3a2..000000000 --- a/d9/d35/classrange__queries_1_1heavy__light__decomposition_1_1_s_g_afba5c1225ba04c0025c7786c09ff28f1_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -543b049ad14957c5b49a784277c066dd \ No newline at end of file diff --git a/d9/d35/classrange__queries_1_1heavy__light__decomposition_1_1_s_g_afba5c1225ba04c0025c7786c09ff28f1_cgraph.svg b/d9/d35/classrange__queries_1_1heavy__light__decomposition_1_1_s_g_afba5c1225ba04c0025c7786c09ff28f1_cgraph.svg deleted file mode 100644 index 6492f13b5..000000000 --- a/d9/d35/classrange__queries_1_1heavy__light__decomposition_1_1_s_g_afba5c1225ba04c0025c7786c09ff28f1_cgraph.svg +++ /dev/null @@ -1,67 +0,0 @@ - - - - - - - - - - - - -range_queries::heavy_light_decomposition::SG::SG - - -Node1 - - -range_queries::heavy -_light_decomposition -::SG::SG - - - - - -Node2 - - -std::vector::assign - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d9/d35/classrange__queries_1_1heavy__light__decomposition_1_1_s_g_afba5c1225ba04c0025c7786c09ff28f1_cgraph_org.svg b/d9/d35/classrange__queries_1_1heavy__light__decomposition_1_1_s_g_afba5c1225ba04c0025c7786c09ff28f1_cgraph_org.svg deleted file mode 100644 index 0191d3068..000000000 --- a/d9/d35/classrange__queries_1_1heavy__light__decomposition_1_1_s_g_afba5c1225ba04c0025c7786c09ff28f1_cgraph_org.svg +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - -range_queries::heavy_light_decomposition::SG::SG - - -Node1 - - -range_queries::heavy -_light_decomposition -::SG::SG - - - - - -Node2 - - -std::vector::assign - - - - - -Node1->Node2 - - - - - - - - diff --git a/d9/d37/inverse__fast__fourier__transform_8cpp.html b/d9/d37/inverse__fast__fourier__transform_8cpp.html index c0bee760d..8f83b8aad 100644 --- a/d9/d37/inverse__fast__fourier__transform_8cpp.html +++ b/d9/d37/inverse__fast__fourier__transform_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: numerical_methods/inverse_fast_fourier_transform.cpp File Reference +TheAlgorithms/C++: numerical_methods/inverse_fast_fourier_transform.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -124,7 +141,9 @@ Include dependency graph for inverse_fast_fourier_transform.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -133,7 +152,7 @@ Namespaces

    Namespaces

    namespace  numerical_methods
    - + @@ -146,6 +165,8 @@ Functions

    Detailed Description

    An inverse fast Fourier transform (IFFT) is an algorithm that computes the inverse fourier transform.

    This algorithm has an application in use case scenario where a user wants find coefficients of a function in a short time by just using points generated by DFT. Time complexity this algorithm computes the IDFT in O(nlogn) time in comparison to traditional O(n^2).

    Author
    Ameya Chawla
    + +

    Definition in file inverse_fast_fourier_transform.cpp.

    Function Documentation

    ◆ main()

    @@ -175,18 +196,15 @@ Functions
    Returns
    0 on exit
    + +

    Definition at line 157 of file inverse_fast_fourier_transform.cpp.

    157 {
    158 test(); // run self-test implementations
    159 // with 2 defined test cases
    160 return 0;
    161}
    -
    static void test()
    Self-test implementations.
    Definition inverse_fast_fourier_transform.cpp:101
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static void test()
    Self-test implementations.
    + @@ -220,11 +238,13 @@ Here is the call graph for this function:

    True Answer for test case 2

    Comparing for both real and imaginary values for test case 1

    Comparing for both real and imaginary values for test case 2

    + +

    Definition at line 101 of file inverse_fast_fourier_transform.cpp.

    101 {
    102 /* descriptions of the following test */
    103
    -
    104 auto *t1 = new std::complex<double>[2]; /// Test case 1
    -
    105 auto *t2 = new std::complex<double>[4]; /// Test case 2
    +
    104 auto *t1 = new std::complex<double>[2];
    +
    105 auto *t2 = new std::complex<double>[4];
    106
    107 t1[0] = {3, 0};
    108 t1[1] = {-1, 0};
    @@ -235,48 +255,38 @@ Here is the call graph for this function:
    113
    114 uint8_t n1 = 2;
    115 uint8_t n2 = 4;
    - -
    117 {1, 0}, {2, 0}}; /// True Answer for test case 1
    +
    116 std::vector<std::complex<double>> r1 = {
    +
    117 {1, 0}, {2, 0}};
    118
    - -
    120 {1, 0}, {2, 0}, {3, 0}, {4, 0}}; /// True Answer for test case 2
    +
    119 std::vector<std::complex<double>> r2 = {
    +
    120 {1, 0}, {2, 0}, {3, 0}, {4, 0}};
    121
    - +
    122 std::complex<double> *o1 =
    124
    - +
    125 std::complex<double> *o2 =
    127
    128 for (uint8_t i = 0; i < n1; i++) {
    129 assert((r1[i].real() - o1[i].real() < 0.000000000001) &&
    130 (r1[i].imag() - o1[i].imag() <
    -
    131 0.000000000001)); /// Comparing for both real and imaginary
    -
    132 /// values for test case 1
    -
    133 }
    +
    131 0.000000000001));
    +
    133 }
    134
    135 for (uint8_t i = 0; i < n2; i++) {
    136 assert((r2[i].real() - o2[i].real() < 0.000000000001) &&
    137 (r2[i].imag() - o2[i].imag() <
    -
    138 0.000000000001)); /// Comparing for both real and imaginary
    -
    139 /// values for test case 2
    -
    140 }
    +
    138 0.000000000001));
    +
    140 }
    141
    142 delete[] t1;
    143 delete[] t2;
    144 delete[] o1;
    145 delete[] o2;
    -
    146 std::cout << "All tests have successfully passed!\n";
    +
    146 std::cout << "All tests have successfully passed!\n";
    147}
    - - -
    std::complex< double > * InverseFastFourierTransform(std::complex< double > *p, uint8_t n)
    InverseFastFourierTransform is a recursive function which returns list of complex numbers.
    Definition inverse_fast_fourier_transform.cpp:34
    - -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    std::complex< double > * InverseFastFourierTransform(std::complex< double > *p, uint8_t n)
    InverseFastFourierTransform is a recursive function which returns list of complex numbers.
    + diff --git a/d9/d37/inverse__fast__fourier__transform_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map b/d9/d37/inverse__fast__fourier__transform_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map deleted file mode 100644 index aef04bcae..000000000 --- a/d9/d37/inverse__fast__fourier__transform_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/d9/d37/inverse__fast__fourier__transform_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 b/d9/d37/inverse__fast__fourier__transform_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 deleted file mode 100644 index 000531134..000000000 --- a/d9/d37/inverse__fast__fourier__transform_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -889acf6817b1bdf20755e500bf32d134 \ No newline at end of file diff --git a/d9/d37/inverse__fast__fourier__transform_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg b/d9/d37/inverse__fast__fourier__transform_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg deleted file mode 100644 index fff692fd8..000000000 --- a/d9/d37/inverse__fast__fourier__transform_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg +++ /dev/null @@ -1,111 +0,0 @@ - - - - - - - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -numerical_methods:: -InverseFastFourierTransform - - - - - -Node1->Node2 - - - - - - - - -Node2->Node2 - - - - - - - - -Node3 - - -std::complex::imag - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::complex::real - - - - - -Node2->Node4 - - - - - - - - - - - - - diff --git a/d9/d37/inverse__fast__fourier__transform_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg b/d9/d37/inverse__fast__fourier__transform_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg deleted file mode 100644 index 0104d0c14..000000000 --- a/d9/d37/inverse__fast__fourier__transform_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg +++ /dev/null @@ -1,85 +0,0 @@ - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -numerical_methods:: -InverseFastFourierTransform - - - - - -Node1->Node2 - - - - - - - - -Node2->Node2 - - - - - - - - -Node3 - - -std::complex::imag - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::complex::real - - - - - -Node2->Node4 - - - - - - - - diff --git a/d9/d37/inverse__fast__fourier__transform_8cpp_abf9e6b7e6f15df4b525a2e7705ba3089_cgraph.map b/d9/d37/inverse__fast__fourier__transform_8cpp_abf9e6b7e6f15df4b525a2e7705ba3089_cgraph.map deleted file mode 100644 index 0e6a904df..000000000 --- a/d9/d37/inverse__fast__fourier__transform_8cpp_abf9e6b7e6f15df4b525a2e7705ba3089_cgraph.map +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - - - diff --git a/d9/d37/inverse__fast__fourier__transform_8cpp_abf9e6b7e6f15df4b525a2e7705ba3089_cgraph.md5 b/d9/d37/inverse__fast__fourier__transform_8cpp_abf9e6b7e6f15df4b525a2e7705ba3089_cgraph.md5 deleted file mode 100644 index 29027bcb6..000000000 --- a/d9/d37/inverse__fast__fourier__transform_8cpp_abf9e6b7e6f15df4b525a2e7705ba3089_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -8df90c8a53647cad89043b1f35cc1a32 \ No newline at end of file diff --git a/d9/d37/inverse__fast__fourier__transform_8cpp_abf9e6b7e6f15df4b525a2e7705ba3089_cgraph.svg b/d9/d37/inverse__fast__fourier__transform_8cpp_abf9e6b7e6f15df4b525a2e7705ba3089_cgraph.svg deleted file mode 100644 index b7c66ae68..000000000 --- a/d9/d37/inverse__fast__fourier__transform_8cpp_abf9e6b7e6f15df4b525a2e7705ba3089_cgraph.svg +++ /dev/null @@ -1,129 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -numerical_methods:: -InverseFastFourierTransform - - - - - -Node2->Node3 - - - - - - - - -Node3->Node3 - - - - - - - - -Node4 - - -std::complex::imag - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -std::complex::real - - - - - -Node3->Node5 - - - - - - - - - - - - - diff --git a/d9/d37/inverse__fast__fourier__transform_8cpp_abf9e6b7e6f15df4b525a2e7705ba3089_cgraph_org.svg b/d9/d37/inverse__fast__fourier__transform_8cpp_abf9e6b7e6f15df4b525a2e7705ba3089_cgraph_org.svg deleted file mode 100644 index 8997c855d..000000000 --- a/d9/d37/inverse__fast__fourier__transform_8cpp_abf9e6b7e6f15df4b525a2e7705ba3089_cgraph_org.svg +++ /dev/null @@ -1,103 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -numerical_methods:: -InverseFastFourierTransform - - - - - -Node2->Node3 - - - - - - - - -Node3->Node3 - - - - - - - - -Node4 - - -std::complex::imag - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -std::complex::real - - - - - -Node3->Node5 - - - - - - - - diff --git a/d9/d37/inverse__fast__fourier__transform_8cpp_source.html b/d9/d37/inverse__fast__fourier__transform_8cpp_source.html new file mode 100644 index 000000000..70a7fa6ee --- /dev/null +++ b/d9/d37/inverse__fast__fourier__transform_8cpp_source.html @@ -0,0 +1,267 @@ + + + + + + + + +TheAlgorithms/C++: numerical_methods/inverse_fast_fourier_transform.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    +

    Functions

    std::complex< double > * numerical_methods::InverseFastFourierTransform (std::complex< double > *p, uint8_t n)
    std::complex< double > * numerical_methods::InverseFastFourierTransform (std::complex< double > *p, uint8_t n)
     InverseFastFourierTransform is a recursive function which returns list of complex numbers.
     
    static void test ()
    + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + + +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    inverse_fast_fourier_transform.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    14#include <cassert>
    +
    15#include <cmath>
    +
    16#include <complex>
    +
    17#include <cstdint>
    +
    18#include <iostream>
    +
    19#include <vector>
    +
    20
    +
    25namespace numerical_methods {
    +
    +
    34std::complex<double> *InverseFastFourierTransform(std::complex<double> *p,
    +
    35 uint8_t n) {
    +
    36 if (n == 1) {
    +
    37 return p;
    +
    38 }
    +
    39
    +
    40 double pi = 2 * asin(1.0);
    +
    41
    +
    42 std::complex<double> om = std::complex<double>(
    +
    43 cos(2 * pi / n), sin(2 * pi / n));
    +
    44
    +
    45 om.real(om.real() / n);
    +
    46 om.imag(om.imag() / n);
    +
    47
    +
    48 auto *pe = new std::complex<double>[n / 2];
    +
    49
    +
    50 auto *po = new std::complex<double>[n / 2];
    +
    51
    +
    52 int k1 = 0, k2 = 0;
    +
    53 for (int j = 0; j < n; j++) {
    +
    54 if (j % 2 == 0) {
    +
    55 pe[k1++] = p[j];
    +
    56
    +
    57 } else {
    +
    58 po[k2++] = p[j];
    +
    59 }
    +
    60 }
    +
    61
    +
    62 std::complex<double> *ye =
    + +
    64
    +
    65 std::complex<double> *yo =
    + +
    67
    +
    68 auto *y = new std::complex<double>[n];
    +
    69
    +
    70 k1 = 0, k2 = 0;
    +
    71
    +
    72 for (int i = 0; i < n / 2; i++) {
    +
    73 y[i] =
    +
    74 ye[k1] + pow(om, i) * yo[k2];
    +
    75 y[i + n / 2] =
    +
    76 ye[k1] - pow(om, i) * yo[k2];
    +
    77
    +
    78 k1++;
    +
    79 k2++;
    +
    80 }
    +
    81
    +
    82 if (n != 2) {
    +
    83 delete[] pe;
    +
    84 delete[] po;
    +
    85 }
    +
    86
    +
    87 delete[] ye;
    +
    88 delete[] yo;
    +
    89 return y;
    +
    90}
    +
    +
    91
    +
    92} // namespace numerical_methods
    +
    93
    +
    +
    101static void test() {
    +
    102 /* descriptions of the following test */
    +
    103
    +
    104 auto *t1 = new std::complex<double>[2];
    +
    105 auto *t2 = new std::complex<double>[4];
    +
    106
    +
    107 t1[0] = {3, 0};
    +
    108 t1[1] = {-1, 0};
    +
    109 t2[0] = {10, 0};
    +
    110 t2[1] = {-2, -2};
    +
    111 t2[2] = {-2, 0};
    +
    112 t2[3] = {-2, 2};
    +
    113
    +
    114 uint8_t n1 = 2;
    +
    115 uint8_t n2 = 4;
    +
    116 std::vector<std::complex<double>> r1 = {
    +
    117 {1, 0}, {2, 0}};
    +
    118
    +
    119 std::vector<std::complex<double>> r2 = {
    +
    120 {1, 0}, {2, 0}, {3, 0}, {4, 0}};
    +
    121
    +
    122 std::complex<double> *o1 =
    + +
    124
    +
    125 std::complex<double> *o2 =
    + +
    127
    +
    128 for (uint8_t i = 0; i < n1; i++) {
    +
    129 assert((r1[i].real() - o1[i].real() < 0.000000000001) &&
    +
    130 (r1[i].imag() - o1[i].imag() <
    +
    131 0.000000000001));
    +
    133 }
    +
    134
    +
    135 for (uint8_t i = 0; i < n2; i++) {
    +
    136 assert((r2[i].real() - o2[i].real() < 0.000000000001) &&
    +
    137 (r2[i].imag() - o2[i].imag() <
    +
    138 0.000000000001));
    +
    140 }
    +
    141
    +
    142 delete[] t1;
    +
    143 delete[] t2;
    +
    144 delete[] o1;
    +
    145 delete[] o2;
    +
    146 std::cout << "All tests have successfully passed!\n";
    +
    147}
    +
    +
    148
    +
    +
    157int main(int argc, char const *argv[]) {
    +
    158 test(); // run self-test implementations
    +
    159 // with 2 defined test cases
    +
    160 return 0;
    +
    161}
    +
    +
    int main()
    Main function.
    +
    static void test()
    Self-test implementations.
    + +
    std::complex< double > * InverseFastFourierTransform(std::complex< double > *p, uint8_t n)
    InverseFastFourierTransform is a recursive function which returns list of complex numbers.
    +
    +
    + + + + diff --git a/d9/d44/magic__number_8cpp.html b/d9/d44/magic__number_8cpp.html index d4718dc3f..3650710b2 100644 --- a/d9/d44/magic__number_8cpp.html +++ b/d9/d44/magic__number_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: math/magic_number.cpp File Reference +TheAlgorithms/C++: math/magic_number.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -121,7 +138,9 @@ Include dependency graph for magic_number.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -142,6 +161,8 @@ Functions

    Detailed Description

    A simple program to check if the given number is a magic number or not. A number is said to be a magic number, if the sum of its digits are calculated till a single digit recursively by adding the sum of the digits after every addition. If the single digit comes out to be 1,then the number is a magic number.

    This is a shortcut method to verify Magic Number. On dividing the input by 9, if the remainder is 1 then the number is a magic number else not. The divisibility rule of 9 says that a number is divisible by 9 if the sum of its digits are also divisible by 9. Therefore, if a number is divisible by 9, then, recursively, all the digit sums are also divisible by 9. The final digit sum is always 9. An increase of 1 in the original number will increase the ultimate value by 1, making it 10 and the ultimate sum will be 1, thus verifying that it is a magic number.

    Author
    Neha Hasija
    + +

    Definition in file magic_number.cpp.

    Function Documentation

    ◆ main()

    @@ -160,17 +181,14 @@ Functions

    Main function.

    Returns
    0 on exit
    + +

    Definition at line 78 of file magic_number.cpp.

    78 {
    79 tests(); // execute the tests
    80 return 0;
    81}
    -
    static void tests()
    Test function.
    Definition magic_number.cpp:52
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static void tests()
    Test function.
    + @@ -198,35 +216,31 @@ Here is the call graph for this function:

    Test function.

    Returns
    void
    -
    52 {
    -
    53 std::cout << "Test 1:\t n=60\n";
    -
    54 assert(math::magic_number(60) == false);
    -
    55 std::cout << "passed\n";
    -
    56
    -
    57 std::cout << "Test 2:\t n=730\n";
    -
    58 assert(math::magic_number(730) == true);
    -
    59 std::cout << "passed\n";
    -
    60
    -
    61 std::cout << "Test 3:\t n=0\n";
    -
    62 assert(math::magic_number(0) == false);
    -
    63 std::cout << "passed\n";
    -
    64
    -
    65 std::cout << "Test 4:\t n=479001600\n";
    -
    66 assert(math::magic_number(479001600) == false);
    -
    67 std::cout << "passed\n";
    -
    68
    -
    69 std::cout << "Test 5:\t n=-35\n";
    -
    70 assert(math::magic_number(-35) == false);
    -
    71 std::cout << "passed\n";
    -
    72}
    - -
    bool magic_number(const uint64_t &n)
    Definition magic_number.cpp:33
    -
    -Here is the call graph for this function:
    -
    -
    -
    +

    Definition at line 52 of file magic_number.cpp.

    +
    52 {
    +
    53 std::cout << "Test 1:\t n=60\n";
    +
    54 assert(math::magic_number(60) == false);
    +
    55 std::cout << "passed\n";
    +
    56
    +
    57 std::cout << "Test 2:\t n=730\n";
    +
    58 assert(math::magic_number(730) == true);
    +
    59 std::cout << "passed\n";
    +
    60
    +
    61 std::cout << "Test 3:\t n=0\n";
    +
    62 assert(math::magic_number(0) == false);
    +
    63 std::cout << "passed\n";
    +
    64
    +
    65 std::cout << "Test 4:\t n=479001600\n";
    +
    66 assert(math::magic_number(479001600) == false);
    +
    67 std::cout << "passed\n";
    +
    68
    +
    69 std::cout << "Test 5:\t n=-35\n";
    +
    70 assert(math::magic_number(-35) == false);
    +
    71 std::cout << "passed\n";
    +
    72}
    +
    bool magic_number(const uint64_t &n)
    +
    diff --git a/d9/d44/magic__number_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.map b/d9/d44/magic__number_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.map deleted file mode 100644 index 59a2480f9..000000000 --- a/d9/d44/magic__number_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d9/d44/magic__number_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 b/d9/d44/magic__number_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 deleted file mode 100644 index 5fbe47945..000000000 --- a/d9/d44/magic__number_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -f9a2450f53dad1455b030bddd95bcf41 \ No newline at end of file diff --git a/d9/d44/magic__number_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.svg b/d9/d44/magic__number_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.svg deleted file mode 100644 index ce98cd25a..000000000 --- a/d9/d44/magic__number_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -tests - - -Node1 - - -tests - - - - - -Node2 - - -math::magic_number - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d9/d44/magic__number_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph_org.svg b/d9/d44/magic__number_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph_org.svg deleted file mode 100644 index be7eebb5d..000000000 --- a/d9/d44/magic__number_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -tests - - -Node1 - - -tests - - - - - -Node2 - - -math::magic_number - - - - - -Node1->Node2 - - - - - - - - diff --git a/d9/d44/magic__number_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d9/d44/magic__number_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 0b2bfdf21..000000000 --- a/d9/d44/magic__number_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/d9/d44/magic__number_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d9/d44/magic__number_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index 153ee378d..000000000 --- a/d9/d44/magic__number_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -668b8d343d19e62be2e85c78ca71d52b \ No newline at end of file diff --git a/d9/d44/magic__number_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d9/d44/magic__number_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 9599e8ab8..000000000 --- a/d9/d44/magic__number_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -tests - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -math::magic_number - - - - - -Node2->Node3 - - - - - - - - - - - - - diff --git a/d9/d44/magic__number_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d9/d44/magic__number_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index c18980a91..000000000 --- a/d9/d44/magic__number_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -tests - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -math::magic_number - - - - - -Node2->Node3 - - - - - - - - diff --git a/d9/d44/magic__number_8cpp_source.html b/d9/d44/magic__number_8cpp_source.html new file mode 100644 index 000000000..26249e5a0 --- /dev/null +++ b/d9/d44/magic__number_8cpp_source.html @@ -0,0 +1,194 @@ + + + + + + + + +TheAlgorithms/C++: math/magic_number.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    +

    Namespaces

    namespace  math
    + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + + +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    magic_number.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    19#include <cassert>
    +
    20#include <cstdint>
    +
    21#include <iostream>
    +
    22
    +
    27namespace math {
    +
    +
    33bool magic_number(const uint64_t &n) {
    +
    34 if (n <= 0) {
    +
    35 return false;
    +
    36 }
    +
    37 // result stores the modulus of @param n with 9
    +
    38 uint64_t result = n % 9;
    +
    39 // if result is 1 then the number is a magic number else not
    +
    40 if (result == 1) {
    +
    41 return true;
    +
    42 } else {
    +
    43 return false;
    +
    44 }
    +
    45}
    +
    +
    46} // namespace math
    +
    47
    +
    +
    52static void tests() {
    +
    53 std::cout << "Test 1:\t n=60\n";
    +
    54 assert(math::magic_number(60) == false);
    +
    55 std::cout << "passed\n";
    +
    56
    +
    57 std::cout << "Test 2:\t n=730\n";
    +
    58 assert(math::magic_number(730) == true);
    +
    59 std::cout << "passed\n";
    +
    60
    +
    61 std::cout << "Test 3:\t n=0\n";
    +
    62 assert(math::magic_number(0) == false);
    +
    63 std::cout << "passed\n";
    +
    64
    +
    65 std::cout << "Test 4:\t n=479001600\n";
    +
    66 assert(math::magic_number(479001600) == false);
    +
    67 std::cout << "passed\n";
    +
    68
    +
    69 std::cout << "Test 5:\t n=-35\n";
    +
    70 assert(math::magic_number(-35) == false);
    +
    71 std::cout << "passed\n";
    +
    72}
    +
    +
    73
    +
    +
    78int main() {
    +
    79 tests(); // execute the tests
    +
    80 return 0;
    +
    81}
    +
    +
    static void tests()
    Test function.
    +
    int main()
    Main function.
    +
    for assert
    +
    bool magic_number(const uint64_t &n)
    +
    +
    + + + + diff --git a/d9/d49/kohonen__som__trace_8cpp.html b/d9/d49/kohonen__som__trace_8cpp.html index 17db97c23..2326eb35d 100644 --- a/d9/d49/kohonen__som__trace_8cpp.html +++ b/d9/d49/kohonen__som__trace_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: machine_learning/kohonen_som_trace.cpp File Reference +TheAlgorithms/C++: machine_learning/kohonen_som_trace.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -128,7 +145,9 @@ Include dependency graph for kohonen_som_trace.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -139,21 +158,21 @@ Namespaces Functions - + - + - + - + - + - + @@ -170,6 +189,8 @@ Functions
    The compiled code is much slower when compiled with MS Visual C++ 2019 than with GCC on windows
    See also
    kohonen_som_topology.cpp
    + +

    Definition in file kohonen_som_trace.cpp.

    Function Documentation

    ◆ get_clock_diff()

    @@ -198,6 +219,8 @@ The compiled code is much slower when compiled with MS Visual C++ 2019 than with
    Returns
    time difference in seconds
    + +

    Definition at line 452 of file kohonen_som_trace.cpp.

    452 {
    453 return static_cast<double>(end_t - start_t) / CLOCKS_PER_SEC;
    454}
    @@ -223,53 +246,45 @@ The compiled code is much slower when compiled with MS Visual C++ 2019 than with

    Namespaces

    namespace  machine_learning
    double _random (double a, double b)
     
    int save_nd_data (const char *fname, const std::vector< std::valarray< double > > &X)
    int save_nd_data (const char *fname, const std::vector< std::valarray< double > > &X)
     
    void machine_learning::update_weights (const std::valarray< double > &x, std::vector< std::valarray< double > > *W, std::valarray< double > *D, double alpha, int R)
    void machine_learning::update_weights (const std::valarray< double > &x, std::vector< std::valarray< double > > *W, std::valarray< double > *D, double alpha, int R)
     
    void machine_learning::kohonen_som_tracer (const std::vector< std::valarray< double > > &X, std::vector< std::valarray< double > > *W, double alpha_min)
    void machine_learning::kohonen_som_tracer (const std::vector< std::valarray< double > > &X, std::vector< std::valarray< double > > *W, double alpha_min)
     
    void test_circle (std::vector< std::valarray< double > > *data)
    void test_circle (std::vector< std::valarray< double > > *data)
     
    void test1 ()
     
    void test_lamniscate (std::vector< std::valarray< double > > *data)
    void test_lamniscate (std::vector< std::valarray< double > > *data)
     
    void test2 ()
     
    void test_3d_classes (std::vector< std::valarray< double > > *data)
    void test_3d_classes (std::vector< std::valarray< double > > *data)
     
    void test3 ()
     

    Main function

    + +

    Definition at line 457 of file kohonen_som_trace.cpp.

    457 {
    458#ifdef _OPENMP
    -
    459 std::cout << "Using OpenMP based parallelization\n";
    +
    459 std::cout << "Using OpenMP based parallelization\n";
    460#else
    -
    461 std::cout << "NOT using OpenMP based parallelization\n";
    +
    461 std::cout << "NOT using OpenMP based parallelization\n";
    462#endif
    463
    -
    464 std::srand(std::time(nullptr));
    +
    464 std::srand(std::time(nullptr));
    465
    -
    466 std::clock_t start_clk = std::clock();
    +
    466 std::clock_t start_clk = std::clock();
    467 test1();
    -
    468 auto end_clk = std::clock();
    -
    469 std::cout << "Test 1 completed in " << get_clock_diff(start_clk, end_clk)
    +
    468 auto end_clk = std::clock();
    +
    469 std::cout << "Test 1 completed in " << get_clock_diff(start_clk, end_clk)
    470 << " sec\n";
    471
    -
    472 start_clk = std::clock();
    +
    472 start_clk = std::clock();
    473 test2();
    -
    474 end_clk = std::clock();
    -
    475 std::cout << "Test 2 completed in " << get_clock_diff(start_clk, end_clk)
    +
    474 end_clk = std::clock();
    +
    475 std::cout << "Test 2 completed in " << get_clock_diff(start_clk, end_clk)
    476 << " sec\n";
    477
    -
    478 start_clk = std::clock();
    +
    478 start_clk = std::clock();
    479 test3();
    -
    480 end_clk = std::clock();
    -
    481 std::cout << "Test 3 completed in " << get_clock_diff(start_clk, end_clk)
    +
    480 end_clk = std::clock();
    +
    481 std::cout << "Test 3 completed in " << get_clock_diff(start_clk, end_clk)
    482 << " sec\n";
    483
    - +
    484 std::cout
    485 << "(Note: Calculated times include: creating test sets, training "
    486 "model and writing files to disk.)\n\n";
    487 return 0;
    488}
    - -
    T clock(T... args)
    - -
    void test2()
    Definition kohonen_som_trace.cpp:315
    -
    void test1()
    Definition kohonen_som_trace.cpp:233
    -
    double get_clock_diff(clock_t start_t, clock_t end_t)
    Definition kohonen_som_trace.cpp:452
    -
    void test3()
    Definition kohonen_som_trace.cpp:414
    -
    T srand(T... args)
    -
    T time(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    void test2()
    +
    void test1()
    +
    double get_clock_diff(clock_t start_t, clock_t end_t)
    +
    void test3()
    +
    @@ -297,19 +312,21 @@ Here is the call graph for this function:
    "w12.csv" title "w2"

    Sample execution
    output

    + +

    Definition at line 233 of file kohonen_som_trace.cpp.

    233 {
    234 int j = 0, N = 500;
    235 int features = 2;
    236 int num_out = 50;
    - - -
    239 for (int i = 0; i < std::max(num_out, N); i++) {
    +
    237 std::vector<std::valarray<double>> X(N);
    +
    238 std::vector<std::valarray<double>> W(num_out);
    +
    239 for (int i = 0; i < std::max(num_out, N); i++) {
    240 // loop till max(N, num_out)
    241 if (i < N) { // only add new arrays if i < N
    -
    242 X[i] = std::valarray<double>(features);
    +
    242 X[i] = std::valarray<double>(features);
    243 }
    244 if (i < num_out) { // only add new arrays if i < num_out
    -
    245 W[i] = std::valarray<double>(features);
    +
    245 W[i] = std::valarray<double>(features);
    246
    247#ifdef _OPENMP
    248#pragma omp for
    @@ -327,19 +344,11 @@ Here is the call graph for this function:
    260 kohonen_som_tracer(X, &W, 0.1); // train the SOM
    261 save_nd_data("w12.csv", W); // save the resultant weights
    262}
    -
    int save_nd_data(const char *fname, const std::vector< std::valarray< double > > &X)
    Definition kohonen_som_trace.cpp:58
    -
    double _random(double a, double b)
    Definition kohonen_som_topology.cpp:53
    -
    void test_circle(std::vector< std::valarray< double > > *data)
    Definition kohonen_som_trace.cpp:196
    -
    T max(T... args)
    -
    constexpr uint32_t N
    A struct to represent sparse table for min() as their invariant function, for the given array A....
    Definition sparse_table.cpp:48
    - - -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    int save_nd_data(const char *fname, const std::vector< std::valarray< double > > &X)
    +
    double _random(double a, double b)
    +
    void test_circle(std::vector< std::valarray< double > > *data)
    +
    constexpr uint32_t N
    A struct to represent sparse table for min() as their invariant function, for the given array A....
    + @@ -367,19 +376,21 @@ Here is the call graph for this function:
    "w22.csv" title "w2"

    Sample execution
    output

    + +

    Definition at line 315 of file kohonen_som_trace.cpp.

    315 {
    316 int j = 0, N = 500;
    317 int features = 2;
    318 int num_out = 20;
    - - -
    321 for (int i = 0; i < std::max(num_out, N); i++) {
    +
    319 std::vector<std::valarray<double>> X(N);
    +
    320 std::vector<std::valarray<double>> W(num_out);
    +
    321 for (int i = 0; i < std::max(num_out, N); i++) {
    322 // loop till max(N, num_out)
    323 if (i < N) { // only add new arrays if i < N
    -
    324 X[i] = std::valarray<double>(features);
    +
    324 X[i] = std::valarray<double>(features);
    325 }
    326 if (i < num_out) { // only add new arrays if i < num_out
    -
    327 W[i] = std::valarray<double>(features);
    +
    327 W[i] = std::valarray<double>(features);
    328
    329#ifdef _OPENMP
    330#pragma omp for
    @@ -397,13 +408,8 @@ Here is the call graph for this function:
    342 kohonen_som_tracer(X, &W, 0.01); // train the SOM
    343 save_nd_data("w22.csv", W); // save the resultant weights
    344}
    -
    void test_lamniscate(std::vector< std::valarray< double > > *data)
    Definition kohonen_som_trace.cpp:277
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    void test_lamniscate(std::vector< std::valarray< double > > *data)
    + @@ -431,19 +437,21 @@ Here is the call graph for this function:
    "w32.csv" title "w2"

    Sample execution
    output

    + +

    Definition at line 414 of file kohonen_som_trace.cpp.

    414 {
    415 int j = 0, N = 200;
    416 int features = 3;
    417 int num_out = 20;
    - - -
    420 for (int i = 0; i < std::max(num_out, N); i++) {
    +
    418 std::vector<std::valarray<double>> X(N);
    +
    419 std::vector<std::valarray<double>> W(num_out);
    +
    420 for (int i = 0; i < std::max(num_out, N); i++) {
    421 // loop till max(N, num_out)
    422 if (i < N) { // only add new arrays if i < N
    -
    423 X[i] = std::valarray<double>(features);
    +
    423 X[i] = std::valarray<double>(features);
    424 }
    425 if (i < num_out) { // only add new arrays if i < num_out
    -
    426 W[i] = std::valarray<double>(features);
    +
    426 W[i] = std::valarray<double>(features);
    427
    428#ifdef _OPENMP
    429#pragma omp for
    @@ -461,13 +469,8 @@ Here is the call graph for this function:
    441 kohonen_som_tracer(X, &W, 0.01); // train the SOM
    442 save_nd_data("w32.csv", W); // save the resultant weights
    443}
    -
    void test_3d_classes(std::vector< std::valarray< double > > *data)
    Definition kohonen_som_trace.cpp:359
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    void test_3d_classes(std::vector< std::valarray< double > > *data)
    + @@ -479,7 +482,7 @@ Here is the call graph for this function: void test_3d_classes ( - std::vector< std::valarray< double > > * data) + std::vector< std::valarray< double > > * data) @@ -500,21 +503,23 @@ Here is the call graph for this function: + +

    Definition at line 359 of file kohonen_som_trace.cpp.

    359 {
    360 const int N = data->size();
    361 const double R = 0.1; // radius of cluster
    362 int i = 0;
    363 const int num_classes = 8;
    -
    364 const std::array<const std::array<double, 3>, num_classes> centres = {
    +
    364 const std::array<const std::array<double, 3>, num_classes> centres = {
    365 // centres of each class cluster
    -
    366 std::array<double, 3>({.5, .5, .5}), // centre of class 0
    -
    367 std::array<double, 3>({.5, .5, -.5}), // centre of class 1
    -
    368 std::array<double, 3>({.5, -.5, .5}), // centre of class 2
    -
    369 std::array<double, 3>({.5, -.5, -.5}), // centre of class 3
    -
    370 std::array<double, 3>({-.5, .5, .5}), // centre of class 4
    -
    371 std::array<double, 3>({-.5, .5, -.5}), // centre of class 5
    -
    372 std::array<double, 3>({-.5, -.5, .5}), // centre of class 6
    -
    373 std::array<double, 3>({-.5, -.5, -.5}) // centre of class 7
    +
    366 std::array<double, 3>({.5, .5, .5}), // centre of class 0
    +
    367 std::array<double, 3>({.5, .5, -.5}), // centre of class 1
    +
    368 std::array<double, 3>({.5, -.5, .5}), // centre of class 2
    +
    369 std::array<double, 3>({.5, -.5, -.5}), // centre of class 3
    +
    370 std::array<double, 3>({-.5, .5, .5}), // centre of class 4
    +
    371 std::array<double, 3>({-.5, .5, -.5}), // centre of class 5
    +
    372 std::array<double, 3>({-.5, -.5, .5}), // centre of class 6
    +
    373 std::array<double, 3>({-.5, -.5, -.5}) // centre of class 7
    374 };
    375
    376#ifdef _OPENMP
    @@ -522,7 +527,7 @@ Here is the call graph for this function:
    378#endif
    379 for (i = 0; i < N; i++) {
    380 int cls =
    -
    381 std::rand() % num_classes; // select a random class for the point
    +
    381 std::rand() % num_classes; // select a random class for the point
    382
    383 // create random coordinates (x,y,z) around the centre of the class
    384 data[0][i][0] = _random(centres[cls][0] - R, centres[cls][0] + R);
    @@ -535,15 +540,8 @@ Here is the call graph for this function:
    391 */
    392 }
    393}
    - -
    int data[MAX]
    test data
    Definition hash_search.cpp:24
    -
    T rand(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    int data[MAX]
    test data
    + @@ -555,7 +553,7 @@ Here is the call graph for this function: void test_circle ( - std::vector< std::valarray< double > > * data) + std::vector< std::valarray< double > > * data) @@ -574,6 +572,8 @@ y &=& r\sin\theta + +

    Definition at line 196 of file kohonen_som_trace.cpp.

    196 {
    197 const int N = data->size();
    198 const double R = 0.75, dr = 0.3;
    @@ -587,18 +587,11 @@ y &=& r\sin\theta
    206 for (i = 0; i < N; i++) {
    207 double r = _random(a_r, b_r); // random radius
    208 double theta = _random(a_t, b_t); // random theta
    -
    209 data[0][i][0] = r * cos(theta); // convert from polar to cartesian
    -
    210 data[0][i][1] = r * sin(theta);
    +
    209 data[0][i][0] = r * cos(theta); // convert from polar to cartesian
    +
    210 data[0][i][1] = r * sin(theta);
    211 }
    212}
    -
    T cos(T... args)
    -
    T sin(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -610,7 +603,7 @@ Here is the call graph for this function: void test_lamniscate ( - std::vector< std::valarray< double > > * data) + std::vector< std::valarray< double > > * data) @@ -631,6 +624,8 @@ y &=& \delta y + \frac{\sin(2\theta)}{2} + +

    Definition at line 277 of file kohonen_som_trace.cpp.

    277 {
    278 const int N = data->size();
    279 const double dr = 0.2;
    @@ -643,16 +638,11 @@ y &=& \delta y + \frac{\sin(2\theta)}{2}
    286 double dx = _random(-dr, dr); // random change in x
    287 double dy = _random(-dr, dr); // random change in y
    288 double theta = _random(0, M_PI); // random theta
    -
    289 data[0][i][0] = dx + cos(theta); // convert from polar to cartesian
    -
    290 data[0][i][1] = dy + sin(2. * theta) / 2.f;
    +
    289 data[0][i][0] = dx + cos(theta); // convert from polar to cartesian
    +
    290 data[0][i][1] = dy + sin(2. * theta) / 2.f;
    291 }
    292}
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + diff --git a/d9/d49/kohonen__som__trace_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph.map b/d9/d49/kohonen__som__trace_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph.map deleted file mode 100644 index b6031f997..000000000 --- a/d9/d49/kohonen__som__trace_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph.map +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - - - - - - - - - - - - - - - diff --git a/d9/d49/kohonen__som__trace_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph.md5 b/d9/d49/kohonen__som__trace_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph.md5 deleted file mode 100644 index b9f780c98..000000000 --- a/d9/d49/kohonen__som__trace_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -608b6a6011efe137a682f8defc104fe3 \ No newline at end of file diff --git a/d9/d49/kohonen__som__trace_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph.svg b/d9/d49/kohonen__som__trace_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph.svg deleted file mode 100644 index 3cb014ed1..000000000 --- a/d9/d49/kohonen__som__trace_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph.svg +++ /dev/null @@ -1,200 +0,0 @@ - - - - - - - - - - - - -test2 - - -Node1 - - -test2 - - - - - -Node2 - - -_random - - - - - -Node1->Node2 - - - - - - - - -Node4 - - -std::max - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -save_nd_data - - - - - -Node1->Node5 - - - - - - - - -Node9 - - -test_lamniscate - - - - - -Node1->Node9 - - - - - - - - -Node3 - - -std::rand - - - - - -Node2->Node3 - - - - - - - - -Node6 - - -std::ofstream::close - - - - - -Node5->Node6 - - - - - - - - -Node7 - - -std::ofstream::is_open - - - - - -Node5->Node7 - - - - - - - - -Node8 - - -std::ofstream::open - - - - - -Node5->Node8 - - - - - - - - -Node9->Node2 - - - - - - - - - - - - - diff --git a/d9/d49/kohonen__som__trace_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph_org.svg b/d9/d49/kohonen__som__trace_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph_org.svg deleted file mode 100644 index 893e41cde..000000000 --- a/d9/d49/kohonen__som__trace_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph_org.svg +++ /dev/null @@ -1,174 +0,0 @@ - - - - - - -test2 - - -Node1 - - -test2 - - - - - -Node2 - - -_random - - - - - -Node1->Node2 - - - - - - - - -Node4 - - -std::max - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -save_nd_data - - - - - -Node1->Node5 - - - - - - - - -Node9 - - -test_lamniscate - - - - - -Node1->Node9 - - - - - - - - -Node3 - - -std::rand - - - - - -Node2->Node3 - - - - - - - - -Node6 - - -std::ofstream::close - - - - - -Node5->Node6 - - - - - - - - -Node7 - - -std::ofstream::is_open - - - - - -Node5->Node7 - - - - - - - - -Node8 - - -std::ofstream::open - - - - - -Node5->Node8 - - - - - - - - -Node9->Node2 - - - - - - - - diff --git a/d9/d49/kohonen__som__trace_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph.map b/d9/d49/kohonen__som__trace_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph.map deleted file mode 100644 index 1e10e865e..000000000 --- a/d9/d49/kohonen__som__trace_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph.map +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - - - - - - - - - - - - - - - diff --git a/d9/d49/kohonen__som__trace_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph.md5 b/d9/d49/kohonen__som__trace_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph.md5 deleted file mode 100644 index b808b1371..000000000 --- a/d9/d49/kohonen__som__trace_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -5612101c0c563c91e0b4fa6658ed303d \ No newline at end of file diff --git a/d9/d49/kohonen__som__trace_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph.svg b/d9/d49/kohonen__som__trace_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph.svg deleted file mode 100644 index a27926e7e..000000000 --- a/d9/d49/kohonen__som__trace_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph.svg +++ /dev/null @@ -1,200 +0,0 @@ - - - - - - - - - - - - -test1 - - -Node1 - - -test1 - - - - - -Node2 - - -_random - - - - - -Node1->Node2 - - - - - - - - -Node4 - - -std::max - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -save_nd_data - - - - - -Node1->Node5 - - - - - - - - -Node9 - - -test_circle - - - - - -Node1->Node9 - - - - - - - - -Node3 - - -std::rand - - - - - -Node2->Node3 - - - - - - - - -Node6 - - -std::ofstream::close - - - - - -Node5->Node6 - - - - - - - - -Node7 - - -std::ofstream::is_open - - - - - -Node5->Node7 - - - - - - - - -Node8 - - -std::ofstream::open - - - - - -Node5->Node8 - - - - - - - - -Node9->Node2 - - - - - - - - - - - - - diff --git a/d9/d49/kohonen__som__trace_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph_org.svg b/d9/d49/kohonen__som__trace_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph_org.svg deleted file mode 100644 index e9e96053a..000000000 --- a/d9/d49/kohonen__som__trace_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph_org.svg +++ /dev/null @@ -1,174 +0,0 @@ - - - - - - -test1 - - -Node1 - - -test1 - - - - - -Node2 - - -_random - - - - - -Node1->Node2 - - - - - - - - -Node4 - - -std::max - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -save_nd_data - - - - - -Node1->Node5 - - - - - - - - -Node9 - - -test_circle - - - - - -Node1->Node9 - - - - - - - - -Node3 - - -std::rand - - - - - -Node2->Node3 - - - - - - - - -Node6 - - -std::ofstream::close - - - - - -Node5->Node6 - - - - - - - - -Node7 - - -std::ofstream::is_open - - - - - -Node5->Node7 - - - - - - - - -Node8 - - -std::ofstream::open - - - - - -Node5->Node8 - - - - - - - - -Node9->Node2 - - - - - - - - diff --git a/d9/d49/kohonen__som__trace_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph.map b/d9/d49/kohonen__som__trace_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph.map deleted file mode 100644 index 100703460..000000000 --- a/d9/d49/kohonen__som__trace_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph.map +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d9/d49/kohonen__som__trace_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph.md5 b/d9/d49/kohonen__som__trace_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph.md5 deleted file mode 100644 index 0290b8842..000000000 --- a/d9/d49/kohonen__som__trace_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -c145e37d64c3e2de4b67c82076d95557 \ No newline at end of file diff --git a/d9/d49/kohonen__som__trace_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph.svg b/d9/d49/kohonen__som__trace_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph.svg deleted file mode 100644 index 4779c2b70..000000000 --- a/d9/d49/kohonen__som__trace_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph.svg +++ /dev/null @@ -1,500 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -std::clock - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -get_clock_diff - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::srand - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -test1 - - - - - -Node1->Node5 - - - - - - - - -Node14 - - -test2 - - - - - -Node1->Node14 - - - - - - - - -Node16 - - -test3 - - - - - -Node1->Node16 - - - - - - - - -Node18 - - -std::time - - - - - -Node1->Node18 - - - - - - - - -Node6 - - -_random - - - - - -Node5->Node6 - - - - - - - - -Node8 - - -std::max - - - - - -Node5->Node8 - - - - - - - - -Node9 - - -save_nd_data - - - - - -Node5->Node9 - - - - - - - - -Node13 - - -test_circle - - - - - -Node5->Node13 - - - - - - - - -Node7 - - -std::rand - - - - - -Node6->Node7 - - - - - - - - -Node10 - - -std::ofstream::close - - - - - -Node9->Node10 - - - - - - - - -Node11 - - -std::ofstream::is_open - - - - - -Node9->Node11 - - - - - - - - -Node12 - - -std::ofstream::open - - - - - -Node9->Node12 - - - - - - - - -Node13->Node6 - - - - - - - - -Node14->Node6 - - - - - - - - -Node14->Node8 - - - - - - - - -Node14->Node9 - - - - - - - - -Node15 - - -test_lamniscate - - - - - -Node14->Node15 - - - - - - - - -Node15->Node6 - - - - - - - - -Node16->Node6 - - - - - - - - -Node16->Node8 - - - - - - - - -Node16->Node9 - - - - - - - - -Node17 - - -test_3d_classes - - - - - -Node16->Node17 - - - - - - - - -Node17->Node6 - - - - - - - - -Node17->Node7 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d9/d49/kohonen__som__trace_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph_org.svg b/d9/d49/kohonen__som__trace_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph_org.svg deleted file mode 100644 index 8b543e55c..000000000 --- a/d9/d49/kohonen__som__trace_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph_org.svg +++ /dev/null @@ -1,417 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -std::clock - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -get_clock_diff - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::srand - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -test1 - - - - - -Node1->Node5 - - - - - - - - -Node14 - - -test2 - - - - - -Node1->Node14 - - - - - - - - -Node16 - - -test3 - - - - - -Node1->Node16 - - - - - - - - -Node18 - - -std::time - - - - - -Node1->Node18 - - - - - - - - -Node6 - - -_random - - - - - -Node5->Node6 - - - - - - - - -Node8 - - -std::max - - - - - -Node5->Node8 - - - - - - - - -Node9 - - -save_nd_data - - - - - -Node5->Node9 - - - - - - - - -Node13 - - -test_circle - - - - - -Node5->Node13 - - - - - - - - -Node7 - - -std::rand - - - - - -Node6->Node7 - - - - - - - - -Node10 - - -std::ofstream::close - - - - - -Node9->Node10 - - - - - - - - -Node11 - - -std::ofstream::is_open - - - - - -Node9->Node11 - - - - - - - - -Node12 - - -std::ofstream::open - - - - - -Node9->Node12 - - - - - - - - -Node13->Node6 - - - - - - - - -Node14->Node6 - - - - - - - - -Node14->Node8 - - - - - - - - -Node14->Node9 - - - - - - - - -Node15 - - -test_lamniscate - - - - - -Node14->Node15 - - - - - - - - -Node15->Node6 - - - - - - - - -Node16->Node6 - - - - - - - - -Node16->Node8 - - - - - - - - -Node16->Node9 - - - - - - - - -Node17 - - -test_3d_classes - - - - - -Node16->Node17 - - - - - - - - -Node17->Node6 - - - - - - - - -Node17->Node7 - - - - - - - - diff --git a/d9/d49/kohonen__som__trace_8cpp_a53082f2e5bacec40266499da4547309a_cgraph.map b/d9/d49/kohonen__som__trace_8cpp_a53082f2e5bacec40266499da4547309a_cgraph.map deleted file mode 100644 index 78f1e3d54..000000000 --- a/d9/d49/kohonen__som__trace_8cpp_a53082f2e5bacec40266499da4547309a_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/d9/d49/kohonen__som__trace_8cpp_a53082f2e5bacec40266499da4547309a_cgraph.md5 b/d9/d49/kohonen__som__trace_8cpp_a53082f2e5bacec40266499da4547309a_cgraph.md5 deleted file mode 100644 index 7e9a664fd..000000000 --- a/d9/d49/kohonen__som__trace_8cpp_a53082f2e5bacec40266499da4547309a_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -9516689ac595d061a1bbe931aa701a38 \ No newline at end of file diff --git a/d9/d49/kohonen__som__trace_8cpp_a53082f2e5bacec40266499da4547309a_cgraph.svg b/d9/d49/kohonen__som__trace_8cpp_a53082f2e5bacec40266499da4547309a_cgraph.svg deleted file mode 100644 index 37c96c462..000000000 --- a/d9/d49/kohonen__som__trace_8cpp_a53082f2e5bacec40266499da4547309a_cgraph.svg +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - -test_lamniscate - - -Node1 - - -test_lamniscate - - - - - -Node2 - - -_random - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::rand - - - - - -Node2->Node3 - - - - - - - - - - - - - diff --git a/d9/d49/kohonen__som__trace_8cpp_a53082f2e5bacec40266499da4547309a_cgraph_org.svg b/d9/d49/kohonen__som__trace_8cpp_a53082f2e5bacec40266499da4547309a_cgraph_org.svg deleted file mode 100644 index 7e76b2877..000000000 --- a/d9/d49/kohonen__som__trace_8cpp_a53082f2e5bacec40266499da4547309a_cgraph_org.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - -test_lamniscate - - -Node1 - - -test_lamniscate - - - - - -Node2 - - -_random - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::rand - - - - - -Node2->Node3 - - - - - - - - diff --git a/d9/d49/kohonen__som__trace_8cpp_a6d0455dd5c30adda100e95f0423c786e_cgraph.map b/d9/d49/kohonen__som__trace_8cpp_a6d0455dd5c30adda100e95f0423c786e_cgraph.map deleted file mode 100644 index 027e8088a..000000000 --- a/d9/d49/kohonen__som__trace_8cpp_a6d0455dd5c30adda100e95f0423c786e_cgraph.map +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - diff --git a/d9/d49/kohonen__som__trace_8cpp_a6d0455dd5c30adda100e95f0423c786e_cgraph.md5 b/d9/d49/kohonen__som__trace_8cpp_a6d0455dd5c30adda100e95f0423c786e_cgraph.md5 deleted file mode 100644 index 6007e63f7..000000000 --- a/d9/d49/kohonen__som__trace_8cpp_a6d0455dd5c30adda100e95f0423c786e_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -fbb5b48a9b38136985e26334df885cb7 \ No newline at end of file diff --git a/d9/d49/kohonen__som__trace_8cpp_a6d0455dd5c30adda100e95f0423c786e_cgraph.svg b/d9/d49/kohonen__som__trace_8cpp_a6d0455dd5c30adda100e95f0423c786e_cgraph.svg deleted file mode 100644 index 571da60f0..000000000 --- a/d9/d49/kohonen__som__trace_8cpp_a6d0455dd5c30adda100e95f0423c786e_cgraph.svg +++ /dev/null @@ -1,209 +0,0 @@ - - - - - - - - - - - - -test3 - - -Node1 - - -test3 - - - - - -Node2 - - -_random - - - - - -Node1->Node2 - - - - - - - - -Node4 - - -std::max - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -save_nd_data - - - - - -Node1->Node5 - - - - - - - - -Node9 - - -test_3d_classes - - - - - -Node1->Node9 - - - - - - - - -Node3 - - -std::rand - - - - - -Node2->Node3 - - - - - - - - -Node6 - - -std::ofstream::close - - - - - -Node5->Node6 - - - - - - - - -Node7 - - -std::ofstream::is_open - - - - - -Node5->Node7 - - - - - - - - -Node8 - - -std::ofstream::open - - - - - -Node5->Node8 - - - - - - - - -Node9->Node2 - - - - - - - - -Node9->Node3 - - - - - - - - - - - - - diff --git a/d9/d49/kohonen__som__trace_8cpp_a6d0455dd5c30adda100e95f0423c786e_cgraph_org.svg b/d9/d49/kohonen__som__trace_8cpp_a6d0455dd5c30adda100e95f0423c786e_cgraph_org.svg deleted file mode 100644 index dbd148ae2..000000000 --- a/d9/d49/kohonen__som__trace_8cpp_a6d0455dd5c30adda100e95f0423c786e_cgraph_org.svg +++ /dev/null @@ -1,183 +0,0 @@ - - - - - - -test3 - - -Node1 - - -test3 - - - - - -Node2 - - -_random - - - - - -Node1->Node2 - - - - - - - - -Node4 - - -std::max - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -save_nd_data - - - - - -Node1->Node5 - - - - - - - - -Node9 - - -test_3d_classes - - - - - -Node1->Node9 - - - - - - - - -Node3 - - -std::rand - - - - - -Node2->Node3 - - - - - - - - -Node6 - - -std::ofstream::close - - - - - -Node5->Node6 - - - - - - - - -Node7 - - -std::ofstream::is_open - - - - - -Node5->Node7 - - - - - - - - -Node8 - - -std::ofstream::open - - - - - -Node5->Node8 - - - - - - - - -Node9->Node2 - - - - - - - - -Node9->Node3 - - - - - - - - diff --git a/d9/d49/kohonen__som__trace_8cpp_a7154fe319e6033485a8a6cd6f0d8932d_cgraph.map b/d9/d49/kohonen__som__trace_8cpp_a7154fe319e6033485a8a6cd6f0d8932d_cgraph.map deleted file mode 100644 index ff907d846..000000000 --- a/d9/d49/kohonen__som__trace_8cpp_a7154fe319e6033485a8a6cd6f0d8932d_cgraph.map +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/d9/d49/kohonen__som__trace_8cpp_a7154fe319e6033485a8a6cd6f0d8932d_cgraph.md5 b/d9/d49/kohonen__som__trace_8cpp_a7154fe319e6033485a8a6cd6f0d8932d_cgraph.md5 deleted file mode 100644 index a21722631..000000000 --- a/d9/d49/kohonen__som__trace_8cpp_a7154fe319e6033485a8a6cd6f0d8932d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -681ddc8c679d36dfed9380e87d77df6e \ No newline at end of file diff --git a/d9/d49/kohonen__som__trace_8cpp_a7154fe319e6033485a8a6cd6f0d8932d_cgraph.svg b/d9/d49/kohonen__som__trace_8cpp_a7154fe319e6033485a8a6cd6f0d8932d_cgraph.svg deleted file mode 100644 index 03f3c658f..000000000 --- a/d9/d49/kohonen__som__trace_8cpp_a7154fe319e6033485a8a6cd6f0d8932d_cgraph.svg +++ /dev/null @@ -1,92 +0,0 @@ - - - - - - - - - - - - -test_3d_classes - - -Node1 - - -test_3d_classes - - - - - -Node2 - - -_random - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::rand - - - - - -Node1->Node3 - - - - - - - - -Node2->Node3 - - - - - - - - - - - - - diff --git a/d9/d49/kohonen__som__trace_8cpp_a7154fe319e6033485a8a6cd6f0d8932d_cgraph_org.svg b/d9/d49/kohonen__som__trace_8cpp_a7154fe319e6033485a8a6cd6f0d8932d_cgraph_org.svg deleted file mode 100644 index 0eda4c172..000000000 --- a/d9/d49/kohonen__som__trace_8cpp_a7154fe319e6033485a8a6cd6f0d8932d_cgraph_org.svg +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - -test_3d_classes - - -Node1 - - -test_3d_classes - - - - - -Node2 - - -_random - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::rand - - - - - -Node1->Node3 - - - - - - - - -Node2->Node3 - - - - - - - - diff --git a/d9/d49/kohonen__som__trace_8cpp_ae571600aa42a81bc14a4a602ea5ff00d_cgraph.map b/d9/d49/kohonen__som__trace_8cpp_ae571600aa42a81bc14a4a602ea5ff00d_cgraph.map deleted file mode 100644 index 7d5c7ff29..000000000 --- a/d9/d49/kohonen__som__trace_8cpp_ae571600aa42a81bc14a4a602ea5ff00d_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/d9/d49/kohonen__som__trace_8cpp_ae571600aa42a81bc14a4a602ea5ff00d_cgraph.md5 b/d9/d49/kohonen__som__trace_8cpp_ae571600aa42a81bc14a4a602ea5ff00d_cgraph.md5 deleted file mode 100644 index 558bf8cff..000000000 --- a/d9/d49/kohonen__som__trace_8cpp_ae571600aa42a81bc14a4a602ea5ff00d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -22dabedce2b6f4fb17b45ed8043d5b09 \ No newline at end of file diff --git a/d9/d49/kohonen__som__trace_8cpp_ae571600aa42a81bc14a4a602ea5ff00d_cgraph.svg b/d9/d49/kohonen__som__trace_8cpp_ae571600aa42a81bc14a4a602ea5ff00d_cgraph.svg deleted file mode 100644 index bef52ef8a..000000000 --- a/d9/d49/kohonen__som__trace_8cpp_ae571600aa42a81bc14a4a602ea5ff00d_cgraph.svg +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - -test_circle - - -Node1 - - -test_circle - - - - - -Node2 - - -_random - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::rand - - - - - -Node2->Node3 - - - - - - - - - - - - - diff --git a/d9/d49/kohonen__som__trace_8cpp_ae571600aa42a81bc14a4a602ea5ff00d_cgraph_org.svg b/d9/d49/kohonen__som__trace_8cpp_ae571600aa42a81bc14a4a602ea5ff00d_cgraph_org.svg deleted file mode 100644 index 028bf975b..000000000 --- a/d9/d49/kohonen__som__trace_8cpp_ae571600aa42a81bc14a4a602ea5ff00d_cgraph_org.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - -test_circle - - -Node1 - - -test_circle - - - - - -Node2 - - -_random - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::rand - - - - - -Node2->Node3 - - - - - - - - diff --git a/d9/d49/kohonen__som__trace_8cpp_source.html b/d9/d49/kohonen__som__trace_8cpp_source.html new file mode 100644 index 000000000..0e171943f --- /dev/null +++ b/d9/d49/kohonen__som__trace_8cpp_source.html @@ -0,0 +1,497 @@ + + + + + + + + +TheAlgorithms/C++: machine_learning/kohonen_som_trace.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    kohonen_som_trace.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    21#define _USE_MATH_DEFINES // required for MS Visual C++
    +
    22#include <algorithm>
    +
    23#include <array>
    +
    24#include <cmath>
    +
    25#include <cstdlib>
    +
    26#include <ctime>
    +
    27#include <fstream>
    +
    28#include <iostream>
    +
    29#include <valarray>
    +
    30#include <vector>
    +
    31#ifdef _OPENMP // check if OpenMP based parallellization is available
    +
    32#include <omp.h>
    +
    33#endif
    +
    34
    +
    46double _random(double a, double b) {
    +
    47 return ((b - a) * (std::rand() % 100) / 100.f) + a;
    +
    48}
    +
    49
    +
    +
    58int save_nd_data(const char *fname,
    +
    59 const std::vector<std::valarray<double>> &X) {
    +
    60 size_t num_points = X.size(); // number of rows
    +
    61 size_t num_features = X[0].size(); // number of columns
    +
    62
    +
    63 std::ofstream fp;
    +
    64 fp.open(fname);
    +
    65 if (!fp.is_open()) {
    +
    66 // error with opening file to write
    +
    67 std::cerr << "Error opening file " << fname << "\n";
    +
    68 return -1;
    +
    69 }
    +
    70
    +
    71 // for each point in the array
    +
    72 for (int i = 0; i < num_points; i++) {
    +
    73 // for each feature in the array
    +
    74 for (int j = 0; j < num_features; j++) {
    +
    75 fp << X[i][j]; // print the feature value
    +
    76 if (j < num_features - 1) { // if not the last feature
    +
    77 fp << ","; // suffix comma
    +
    78 }
    +
    79 }
    +
    80 if (i < num_points - 1) { // if not the last row
    +
    81 fp << "\n"; // start a new line
    +
    82 }
    +
    83 }
    +
    84
    +
    85 fp.close();
    +
    86 return 0;
    +
    87}
    +
    +
    88
    +
    92namespace machine_learning {
    +
    93
    +
    +
    103void update_weights(const std::valarray<double> &x,
    +
    104 std::vector<std::valarray<double>> *W,
    +
    105 std::valarray<double> *D, double alpha, int R) {
    +
    106 int j = 0, k = 0;
    +
    107 int num_out = W->size(); // number of SOM output nodes
    +
    108 // int num_features = x.size(); // number of data features
    +
    109
    +
    110#ifdef _OPENMP
    +
    111#pragma omp for
    +
    112#endif
    +
    113 // step 1: for each output point
    +
    114 for (j = 0; j < num_out; j++) {
    +
    115 // compute Euclidian distance of each output
    +
    116 // point from the current sample
    +
    117 (*D)[j] = (((*W)[j] - x) * ((*W)[j] - x)).sum();
    +
    118 }
    +
    119
    +
    120 // step 2: get closest node i.e., node with snallest Euclidian distance to
    +
    121 // the current pattern
    +
    122 auto result = std::min_element(std::begin(*D), std::end(*D));
    +
    123 // double d_min = *result;
    +
    124 int d_min_idx = std::distance(std::begin(*D), result);
    +
    125
    +
    126 // step 3a: get the neighborhood range
    +
    127 int from_node = std::max(0, d_min_idx - R);
    +
    128 int to_node = std::min(num_out, d_min_idx + R + 1);
    +
    129
    +
    130 // step 3b: update the weights of nodes in the
    +
    131 // neighborhood
    +
    132#ifdef _OPENMP
    +
    133#pragma omp for
    +
    134#endif
    +
    135 for (j = from_node; j < to_node; j++) {
    +
    136 // update weights of nodes in the neighborhood
    +
    137 (*W)[j] += alpha * (x - (*W)[j]);
    +
    138 }
    +
    139}
    +
    +
    140
    +
    +
    149void kohonen_som_tracer(const std::vector<std::valarray<double>> &X,
    +
    150 std::vector<std::valarray<double>> *W,
    +
    151 double alpha_min) {
    +
    152 int num_samples = X.size(); // number of rows
    +
    153 // int num_features = X[0].size(); // number of columns
    +
    154 int num_out = W->size(); // number of rows
    +
    155 int R = num_out >> 2, iter = 0;
    +
    156 double alpha = 1.f;
    +
    157
    +
    158 std::valarray<double> D(num_out);
    +
    159
    +
    160 // Loop alpha from 1 to slpha_min
    +
    161 do {
    +
    162 // Loop for each sample pattern in the data set
    +
    163 for (int sample = 0; sample < num_samples; sample++) {
    +
    164 // update weights for the current input pattern sample
    +
    165 update_weights(X[sample], W, &D, alpha, R);
    +
    166 }
    +
    167
    +
    168 // every 10th iteration, reduce the neighborhood range
    +
    169 if (iter % 10 == 0 && R > 1) {
    +
    170 R--;
    +
    171 }
    +
    172
    +
    173 alpha -= 0.01;
    +
    174 iter++;
    +
    175 } while (alpha > alpha_min);
    +
    176}
    +
    +
    177
    +
    178} // namespace machine_learning
    +
    179
    + +
    183
    +
    +
    196void test_circle(std::vector<std::valarray<double>> *data) {
    +
    197 const int N = data->size();
    +
    198 const double R = 0.75, dr = 0.3;
    +
    199 double a_t = 0., b_t = 2.f * M_PI; // theta random between 0 and 2*pi
    +
    200 double a_r = R - dr, b_r = R + dr; // radius random between R-dr and R+dr
    +
    201 int i = 0;
    +
    202
    +
    203#ifdef _OPENMP
    +
    204#pragma omp for
    +
    205#endif
    +
    206 for (i = 0; i < N; i++) {
    +
    207 double r = _random(a_r, b_r); // random radius
    +
    208 double theta = _random(a_t, b_t); // random theta
    +
    209 data[0][i][0] = r * cos(theta); // convert from polar to cartesian
    +
    210 data[0][i][1] = r * sin(theta);
    +
    211 }
    +
    212}
    +
    +
    213
    +
    +
    233void test1() {
    +
    234 int j = 0, N = 500;
    +
    235 int features = 2;
    +
    236 int num_out = 50;
    +
    237 std::vector<std::valarray<double>> X(N);
    +
    238 std::vector<std::valarray<double>> W(num_out);
    +
    239 for (int i = 0; i < std::max(num_out, N); i++) {
    +
    240 // loop till max(N, num_out)
    +
    241 if (i < N) { // only add new arrays if i < N
    +
    242 X[i] = std::valarray<double>(features);
    +
    243 }
    +
    244 if (i < num_out) { // only add new arrays if i < num_out
    +
    245 W[i] = std::valarray<double>(features);
    +
    246
    +
    247#ifdef _OPENMP
    +
    248#pragma omp for
    +
    249#endif
    +
    250 for (j = 0; j < features; j++) {
    +
    251 // preallocate with random initial weights
    +
    252 W[i][j] = _random(-1, 1);
    +
    253 }
    +
    254 }
    +
    255 }
    +
    256
    +
    257 test_circle(&X); // create test data around circumference of a circle
    +
    258 save_nd_data("test1.csv", X); // save test data points
    +
    259 save_nd_data("w11.csv", W); // save initial random weights
    +
    260 kohonen_som_tracer(X, &W, 0.1); // train the SOM
    +
    261 save_nd_data("w12.csv", W); // save the resultant weights
    +
    262}
    +
    +
    263
    +
    +
    277void test_lamniscate(std::vector<std::valarray<double>> *data) {
    +
    278 const int N = data->size();
    +
    279 const double dr = 0.2;
    +
    280 int i = 0;
    +
    281
    +
    282#ifdef _OPENMP
    +
    283#pragma omp for
    +
    284#endif
    +
    285 for (i = 0; i < N; i++) {
    +
    286 double dx = _random(-dr, dr); // random change in x
    +
    287 double dy = _random(-dr, dr); // random change in y
    +
    288 double theta = _random(0, M_PI); // random theta
    +
    289 data[0][i][0] = dx + cos(theta); // convert from polar to cartesian
    +
    290 data[0][i][1] = dy + sin(2. * theta) / 2.f;
    +
    291 }
    +
    292}
    +
    +
    293
    +
    +
    315void test2() {
    +
    316 int j = 0, N = 500;
    +
    317 int features = 2;
    +
    318 int num_out = 20;
    +
    319 std::vector<std::valarray<double>> X(N);
    +
    320 std::vector<std::valarray<double>> W(num_out);
    +
    321 for (int i = 0; i < std::max(num_out, N); i++) {
    +
    322 // loop till max(N, num_out)
    +
    323 if (i < N) { // only add new arrays if i < N
    +
    324 X[i] = std::valarray<double>(features);
    +
    325 }
    +
    326 if (i < num_out) { // only add new arrays if i < num_out
    +
    327 W[i] = std::valarray<double>(features);
    +
    328
    +
    329#ifdef _OPENMP
    +
    330#pragma omp for
    +
    331#endif
    +
    332 for (j = 0; j < features; j++) {
    +
    333 // preallocate with random initial weights
    +
    334 W[i][j] = _random(-1, 1);
    +
    335 }
    +
    336 }
    +
    337 }
    +
    338
    +
    339 test_lamniscate(&X); // create test data around the lamniscate
    +
    340 save_nd_data("test2.csv", X); // save test data points
    +
    341 save_nd_data("w21.csv", W); // save initial random weights
    +
    342 kohonen_som_tracer(X, &W, 0.01); // train the SOM
    +
    343 save_nd_data("w22.csv", W); // save the resultant weights
    +
    344}
    +
    +
    345
    +
    +
    359void test_3d_classes(std::vector<std::valarray<double>> *data) {
    +
    360 const int N = data->size();
    +
    361 const double R = 0.1; // radius of cluster
    +
    362 int i = 0;
    +
    363 const int num_classes = 8;
    +
    364 const std::array<const std::array<double, 3>, num_classes> centres = {
    +
    365 // centres of each class cluster
    +
    366 std::array<double, 3>({.5, .5, .5}), // centre of class 0
    +
    367 std::array<double, 3>({.5, .5, -.5}), // centre of class 1
    +
    368 std::array<double, 3>({.5, -.5, .5}), // centre of class 2
    +
    369 std::array<double, 3>({.5, -.5, -.5}), // centre of class 3
    +
    370 std::array<double, 3>({-.5, .5, .5}), // centre of class 4
    +
    371 std::array<double, 3>({-.5, .5, -.5}), // centre of class 5
    +
    372 std::array<double, 3>({-.5, -.5, .5}), // centre of class 6
    +
    373 std::array<double, 3>({-.5, -.5, -.5}) // centre of class 7
    +
    374 };
    +
    375
    +
    376#ifdef _OPENMP
    +
    377#pragma omp for
    +
    378#endif
    +
    379 for (i = 0; i < N; i++) {
    +
    380 int cls =
    +
    381 std::rand() % num_classes; // select a random class for the point
    +
    382
    +
    383 // create random coordinates (x,y,z) around the centre of the class
    +
    384 data[0][i][0] = _random(centres[cls][0] - R, centres[cls][0] + R);
    +
    385 data[0][i][1] = _random(centres[cls][1] - R, centres[cls][1] + R);
    +
    386 data[0][i][2] = _random(centres[cls][2] - R, centres[cls][2] + R);
    +
    387
    +
    388 /* The follosing can also be used
    +
    389 for (int j = 0; j < 3; j++)
    +
    390 data[0][i][j] = _random(centres[cls][j] - R, centres[cls][j] + R);
    +
    391 */
    +
    392 }
    +
    393}
    +
    +
    394
    +
    +
    414void test3() {
    +
    415 int j = 0, N = 200;
    +
    416 int features = 3;
    +
    417 int num_out = 20;
    +
    418 std::vector<std::valarray<double>> X(N);
    +
    419 std::vector<std::valarray<double>> W(num_out);
    +
    420 for (int i = 0; i < std::max(num_out, N); i++) {
    +
    421 // loop till max(N, num_out)
    +
    422 if (i < N) { // only add new arrays if i < N
    +
    423 X[i] = std::valarray<double>(features);
    +
    424 }
    +
    425 if (i < num_out) { // only add new arrays if i < num_out
    +
    426 W[i] = std::valarray<double>(features);
    +
    427
    +
    428#ifdef _OPENMP
    +
    429#pragma omp for
    +
    430#endif
    +
    431 for (j = 0; j < features; j++) {
    +
    432 // preallocate with random initial weights
    +
    433 W[i][j] = _random(-1, 1);
    +
    434 }
    +
    435 }
    +
    436 }
    +
    437
    +
    438 test_3d_classes(&X); // create test data around the lamniscate
    +
    439 save_nd_data("test3.csv", X); // save test data points
    +
    440 save_nd_data("w31.csv", W); // save initial random weights
    +
    441 kohonen_som_tracer(X, &W, 0.01); // train the SOM
    +
    442 save_nd_data("w32.csv", W); // save the resultant weights
    +
    443}
    +
    +
    444
    +
    +
    452double get_clock_diff(clock_t start_t, clock_t end_t) {
    +
    453 return static_cast<double>(end_t - start_t) / CLOCKS_PER_SEC;
    +
    454}
    +
    +
    455
    +
    +
    457int main(int argc, char **argv) {
    +
    458#ifdef _OPENMP
    +
    459 std::cout << "Using OpenMP based parallelization\n";
    +
    460#else
    +
    461 std::cout << "NOT using OpenMP based parallelization\n";
    +
    462#endif
    +
    463
    +
    464 std::srand(std::time(nullptr));
    +
    465
    +
    466 std::clock_t start_clk = std::clock();
    +
    467 test1();
    +
    468 auto end_clk = std::clock();
    +
    469 std::cout << "Test 1 completed in " << get_clock_diff(start_clk, end_clk)
    +
    470 << " sec\n";
    +
    471
    +
    472 start_clk = std::clock();
    +
    473 test2();
    +
    474 end_clk = std::clock();
    +
    475 std::cout << "Test 2 completed in " << get_clock_diff(start_clk, end_clk)
    +
    476 << " sec\n";
    +
    477
    +
    478 start_clk = std::clock();
    +
    479 test3();
    +
    480 end_clk = std::clock();
    +
    481 std::cout << "Test 3 completed in " << get_clock_diff(start_clk, end_clk)
    +
    482 << " sec\n";
    +
    483
    +
    484 std::cout
    +
    485 << "(Note: Calculated times include: creating test sets, training "
    +
    486 "model and writing files to disk.)\n\n";
    +
    487 return 0;
    +
    488}
    +
    +
    int main()
    Main function.
    +
    int save_nd_data(const char *fname, const std::vector< std::valarray< double > > &X)
    +
    double _random(double a, double b)
    +
    int data[MAX]
    test data
    +
    void test2()
    +
    void test1()
    +
    double get_clock_diff(clock_t start_t, clock_t end_t)
    +
    void test_lamniscate(std::vector< std::valarray< double > > *data)
    +
    void test3()
    +
    void test_3d_classes(std::vector< std::valarray< double > > *data)
    +
    void test_circle(std::vector< std::valarray< double > > *data)
    +
    A* search algorithm
    +
    void kohonen_som_tracer(const std::vector< std::valarray< double > > &X, std::vector< std::valarray< double > > *W, double alpha_min)
    +
    T sum(const std::vector< std::valarray< T > > &A)
    +
    double update_weights(const std::valarray< double > &X, std::vector< std::vector< std::valarray< double > > > *W, std::vector< std::valarray< double > > *D, double alpha, int R)
    +
    +
    + + + + diff --git a/d9/d49/structdata__structures_1_1_node.html b/d9/d49/structdata__structures_1_1_node.html index 78f02912b..56a2668d9 100644 --- a/d9/d49/structdata__structures_1_1_node.html +++ b/d9/d49/structdata__structures_1_1_node.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: data_structures::Node Struct Reference +TheAlgorithms/C++: data_structures::Node Struct Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -124,21 +141,20 @@ Public Member Functions
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    - - + + - - + + - - + +

    Public Attributes

    -int key
     key integer
    int key
     key integer
     
    -void * value
     pointer of value
    void * value
     pointer of value
     
    -std::vector< std::shared_ptr< Node > > forward
     nodes of the given one in all levels
    std::vector< std::shared_ptr< Node > > forward
     nodes of the given one in all levels
     

    Detailed Description

    Node structure [Key][Node*, Node*...]

    + +

    Definition at line 33 of file skip_list.cpp.

    Constructor & Destructor Documentation

    ◆ Node()

    @@ -178,26 +194,77 @@ void * value + +

    Definition at line 44 of file skip_list.cpp.

    44 : key(key), value(value) {
    45 // Initialization of forward vector
    46 for (int i = 0; i < (level + 1); i++) {
    -
    47 forward.push_back(nullptr);
    +
    47 forward.push_back(nullptr);
    48 }
    49 }
    -
    T push_back(T... args)
    -
    void * value
    pointer of value
    Definition skip_list.cpp:35
    -
    int key
    key integer
    Definition skip_list.cpp:34
    -
    std::vector< std::shared_ptr< Node > > forward
    nodes of the given one in all levels
    Definition skip_list.cpp:37
    -
    -Here is the call graph for this function:
    -
    -
    +
    void * value
    pointer of value
    Definition skip_list.cpp:35
    +
    int key
    key integer
    Definition skip_list.cpp:34
    +
    std::vector< std::shared_ptr< Node > > forward
    nodes of the given one in all levels
    Definition skip_list.cpp:37
    +
    + +

    Member Data Documentation

    + +

    ◆ forward

    + +
    +
    + + + + +
    std::vector<std::shared_ptr<Node> > data_structures::Node::forward
    +
    + +

    nodes of the given one in all levels

    + +

    Definition at line 37 of file skip_list.cpp.

    + +
    +
    + +

    ◆ key

    + +
    +
    + + + + +
    int data_structures::Node::key
    +
    + +

    key integer

    + +

    Definition at line 34 of file skip_list.cpp.

    + +
    +
    + +

    ◆ value

    + +
    +
    + + + + +
    void* data_structures::Node::value
    +
    + +

    pointer of value

    + +

    Definition at line 35 of file skip_list.cpp.


    The documentation for this struct was generated from the following file: diff --git a/d9/d49/structdata__structures_1_1_node_a54a6777e72b639c3ee6446a541db8e78_cgraph.map b/d9/d49/structdata__structures_1_1_node_a54a6777e72b639c3ee6446a541db8e78_cgraph.map deleted file mode 100644 index 50d9f47f3..000000000 --- a/d9/d49/structdata__structures_1_1_node_a54a6777e72b639c3ee6446a541db8e78_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d9/d49/structdata__structures_1_1_node_a54a6777e72b639c3ee6446a541db8e78_cgraph.md5 b/d9/d49/structdata__structures_1_1_node_a54a6777e72b639c3ee6446a541db8e78_cgraph.md5 deleted file mode 100644 index 65847ca47..000000000 --- a/d9/d49/structdata__structures_1_1_node_a54a6777e72b639c3ee6446a541db8e78_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -a075920971ec4f39455af34ec8870c34 \ No newline at end of file diff --git a/d9/d49/structdata__structures_1_1_node_a54a6777e72b639c3ee6446a541db8e78_cgraph.svg b/d9/d49/structdata__structures_1_1_node_a54a6777e72b639c3ee6446a541db8e78_cgraph.svg deleted file mode 100644 index 3d2c2254a..000000000 --- a/d9/d49/structdata__structures_1_1_node_a54a6777e72b639c3ee6446a541db8e78_cgraph.svg +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - - - - - - - -data_structures::Node::Node - - -Node1 - - -data_structures::Node -::Node - - - - - -Node2 - - -std::vector::push_back - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d9/d49/structdata__structures_1_1_node_a54a6777e72b639c3ee6446a541db8e78_cgraph_org.svg b/d9/d49/structdata__structures_1_1_node_a54a6777e72b639c3ee6446a541db8e78_cgraph_org.svg deleted file mode 100644 index 2f428dc7d..000000000 --- a/d9/d49/structdata__structures_1_1_node_a54a6777e72b639c3ee6446a541db8e78_cgraph_org.svg +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - -data_structures::Node::Node - - -Node1 - - -data_structures::Node -::Node - - - - - -Node2 - - -std::vector::push_back - - - - - -Node1->Node2 - - - - - - - - diff --git a/d9/d4e/classrange__queries_1_1heavy__light__decomposition_1_1_tree-members.html b/d9/d4e/classrange__queries_1_1heavy__light__decomposition_1_1_tree-members.html index 3a53488dd..3cad68d2e 100644 --- a/d9/d4e/classrange__queries_1_1heavy__light__decomposition_1_1_tree-members.html +++ b/d9/d4e/classrange__queries_1_1heavy__light__decomposition_1_1_tree-members.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Member List +TheAlgorithms/C++: Member List + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/d9/d55/namespacesparse__table.html b/d9/d55/namespacesparse__table.html index bdce100d9..956c38c51 100644 --- a/d9/d55/namespacesparse__table.html +++ b/d9/d55/namespacesparse__table.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: sparse_table Namespace Reference +TheAlgorithms/C++: sparse_table Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/d9/d58/classdata__structures_1_1linked__list_1_1list-members.html b/d9/d58/classdata__structures_1_1linked__list_1_1list-members.html index ef8923a2b..31e91e6df 100644 --- a/d9/d58/classdata__structures_1_1linked__list_1_1list-members.html +++ b/d9/d58/classdata__structures_1_1linked__list_1_1list-members.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Member List +TheAlgorithms/C++: Member List + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/d9/d5a/structgeometry_1_1jarvis_1_1_point.html b/d9/d5a/structgeometry_1_1jarvis_1_1_point.html index 30bf565ea..bd620cff3 100644 --- a/d9/d5a/structgeometry_1_1jarvis_1_1_point.html +++ b/d9/d5a/structgeometry_1_1jarvis_1_1_point.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: geometry::jarvis::Point Struct Reference +TheAlgorithms/C++: geometry::jarvis::Point Struct Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + @@ -113,17 +130,50 @@ $(function(){initNavTree('d9/d5a/structgeometry_1_1jarvis_1_1_point.html','../..
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    - + - +

    Public Attributes

    -int x
    int x
     
    -int y
    int y
     

    Detailed Description

    Structure defining the x and y co-ordinates of the given point in space

    -

    The documentation for this struct was generated from the following file:

    Member Data Documentation

    + +

    ◆ x

    + +
    +
    + + + + +
    int geometry::jarvis::Point::x
    +
    + +

    Definition at line 48 of file jarvis_algorithm.cpp.

    + +
    +
    + +

    ◆ y

    + +
    +
    + + + + +
    int geometry::jarvis::Point::y
    +
    + +

    Definition at line 48 of file jarvis_algorithm.cpp.

    + +
    +
    +
    The documentation for this struct was generated from the following file: diff --git a/d9/d5d/extended__euclid__algorithm_8cpp.html b/d9/d5d/extended__euclid__algorithm_8cpp.html index 5c8479829..a6568e2a4 100644 --- a/d9/d5d/extended__euclid__algorithm_8cpp.html +++ b/d9/d5d/extended__euclid__algorithm_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: math/extended_euclid_algorithm.cpp File Reference +TheAlgorithms/C++: math/extended_euclid_algorithm.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -120,7 +137,9 @@ Include dependency graph for extended_euclid_algorithm.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -142,6 +161,8 @@ Functions \[\text{gcd}(a, b) = a \times x + b \times y \]

    This is also used in finding Modular multiplicative inverse of a number. (A * B)M == 1 Here B is the MMI of A for given M, so extendedEuclid (A, M) gives B.

    + +

    Definition in file extended_euclid_algorithm.cpp.

    Function Documentation

    ◆ extendedEuclid()

    @@ -189,9 +210,11 @@ template<typename T , typename T2 >

    Functions

    template<typename T , typename T2 >
    + +

    Definition at line 71 of file extended_euclid_algorithm.cpp.

    71 {
    72 if (B > A)
    -
    73 std::swap(A, B); // Ensure that A >= B
    +
    73 std::swap(A, B); // Ensure that A >= B
    74
    75 if (B == 0) {
    76 *GCD = A;
    @@ -204,14 +227,8 @@ template<typename T , typename T2 >
    83 *y = temp - (A / B) * (*y);
    84 }
    85}
    -
    void extendedEuclid(T A, T B, T *GCD, T2 *x, T2 *y)
    Definition extended_euclid_algorithm.cpp:71
    -
    T swap(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    void extendedEuclid(T A, T B, T *GCD, T2 *x, T2 *y)
    + @@ -260,9 +277,11 @@ template<typename T1 , typename T2 > + +

    Definition at line 42 of file extended_euclid_algorithm.cpp.

    42 {
    43 if (B > A)
    -
    44 std::swap(A, B); // Ensure that A >= B
    +
    44 std::swap(A, B); // Ensure that A >= B
    45
    46 T2 s = 0, s0 = 1;
    47 T2 t = 1, t0 = 0;
    @@ -278,13 +297,8 @@ template<typename T1 , typename T2 >
    57 *x = s0;
    58 *y = t0;
    59}
    -
    void update_step(T *r, T *r0, const T2 quotient)
    Definition extended_euclid_algorithm.cpp:25
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    void update_step(T *r, T *r0, const T2 quotient)
    + @@ -303,27 +317,21 @@ Here is the call graph for this function:

    Main function.

    + +

    Definition at line 88 of file extended_euclid_algorithm.cpp.

    88 {
    89 uint32_t a, b, gcd;
    90 int32_t x, y;
    -
    91 std::cin >> a >> b;
    +
    91 std::cin >> a >> b;
    92 extendedEuclid(a, b, &gcd, &x, &y);
    -
    93 std::cout << gcd << " " << x << " " << y << std::endl;
    +
    93 std::cout << gcd << " " << x << " " << y << std::endl;
    94 extendedEuclid_1(a, b, &gcd, &x, &y);
    -
    95 std::cout << gcd << " " << x << " " << y << std::endl;
    +
    95 std::cout << gcd << " " << x << " " << y << std::endl;
    96 return 0;
    97}
    - - -
    T endl(T... args)
    -
    void extendedEuclid_1(T1 A, T1 B, T1 *GCD, T2 *x, T2 *y)
    Definition extended_euclid_algorithm.cpp:42
    -
    int gcd(int num1, int num2)
    Definition gcd_iterative_euclidean.cpp:15
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    void extendedEuclid_1(T1 A, T1 B, T1 *GCD, T2 *x, T2 *y)
    +
    int gcd(int num1, int num2)
    +
    @@ -370,6 +378,8 @@ template<typename T , typename T2 > + +

    Definition at line 25 of file extended_euclid_algorithm.cpp.

    25 {
    26 T temp = *r;
    27 *r = *r0 - (quotient * temp);
    diff --git a/d9/d5d/extended__euclid__algorithm_8cpp_a1792ac7c33aaf26b860ab55f5652ab25_cgraph.map b/d9/d5d/extended__euclid__algorithm_8cpp_a1792ac7c33aaf26b860ab55f5652ab25_cgraph.map deleted file mode 100644 index 15a688e65..000000000 --- a/d9/d5d/extended__euclid__algorithm_8cpp_a1792ac7c33aaf26b860ab55f5652ab25_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/d9/d5d/extended__euclid__algorithm_8cpp_a1792ac7c33aaf26b860ab55f5652ab25_cgraph.md5 b/d9/d5d/extended__euclid__algorithm_8cpp_a1792ac7c33aaf26b860ab55f5652ab25_cgraph.md5 deleted file mode 100644 index 6f09c2097..000000000 --- a/d9/d5d/extended__euclid__algorithm_8cpp_a1792ac7c33aaf26b860ab55f5652ab25_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -92b09c3b11e8e9a13f8eab606611e039 \ No newline at end of file diff --git a/d9/d5d/extended__euclid__algorithm_8cpp_a1792ac7c33aaf26b860ab55f5652ab25_cgraph.svg b/d9/d5d/extended__euclid__algorithm_8cpp_a1792ac7c33aaf26b860ab55f5652ab25_cgraph.svg deleted file mode 100644 index e6c286522..000000000 --- a/d9/d5d/extended__euclid__algorithm_8cpp_a1792ac7c33aaf26b860ab55f5652ab25_cgraph.svg +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - -extendedEuclid_1 - - -Node1 - - -extendedEuclid_1 - - - - - -Node2 - - -std::swap - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -update_step - - - - - -Node1->Node3 - - - - - - - - - - - - - diff --git a/d9/d5d/extended__euclid__algorithm_8cpp_a1792ac7c33aaf26b860ab55f5652ab25_cgraph_org.svg b/d9/d5d/extended__euclid__algorithm_8cpp_a1792ac7c33aaf26b860ab55f5652ab25_cgraph_org.svg deleted file mode 100644 index f98af8e63..000000000 --- a/d9/d5d/extended__euclid__algorithm_8cpp_a1792ac7c33aaf26b860ab55f5652ab25_cgraph_org.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - -extendedEuclid_1 - - -Node1 - - -extendedEuclid_1 - - - - - -Node2 - - -std::swap - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -update_step - - - - - -Node1->Node3 - - - - - - - - diff --git a/d9/d5d/extended__euclid__algorithm_8cpp_acba15ca55b3e7dcb91f3c65d72ba052d_cgraph.map b/d9/d5d/extended__euclid__algorithm_8cpp_acba15ca55b3e7dcb91f3c65d72ba052d_cgraph.map deleted file mode 100644 index dc5b557a1..000000000 --- a/d9/d5d/extended__euclid__algorithm_8cpp_acba15ca55b3e7dcb91f3c65d72ba052d_cgraph.map +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/d9/d5d/extended__euclid__algorithm_8cpp_acba15ca55b3e7dcb91f3c65d72ba052d_cgraph.md5 b/d9/d5d/extended__euclid__algorithm_8cpp_acba15ca55b3e7dcb91f3c65d72ba052d_cgraph.md5 deleted file mode 100644 index af2da43fd..000000000 --- a/d9/d5d/extended__euclid__algorithm_8cpp_acba15ca55b3e7dcb91f3c65d72ba052d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -bdef777219e8c49f73405d7bfc7f9672 \ No newline at end of file diff --git a/d9/d5d/extended__euclid__algorithm_8cpp_acba15ca55b3e7dcb91f3c65d72ba052d_cgraph.svg b/d9/d5d/extended__euclid__algorithm_8cpp_acba15ca55b3e7dcb91f3c65d72ba052d_cgraph.svg deleted file mode 100644 index 8052bceca..000000000 --- a/d9/d5d/extended__euclid__algorithm_8cpp_acba15ca55b3e7dcb91f3c65d72ba052d_cgraph.svg +++ /dev/null @@ -1,74 +0,0 @@ - - - - - - - - - - - - -extendedEuclid - - -Node1 - - -extendedEuclid - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::swap - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d9/d5d/extended__euclid__algorithm_8cpp_acba15ca55b3e7dcb91f3c65d72ba052d_cgraph_org.svg b/d9/d5d/extended__euclid__algorithm_8cpp_acba15ca55b3e7dcb91f3c65d72ba052d_cgraph_org.svg deleted file mode 100644 index a0c4161eb..000000000 --- a/d9/d5d/extended__euclid__algorithm_8cpp_acba15ca55b3e7dcb91f3c65d72ba052d_cgraph_org.svg +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - -extendedEuclid - - -Node1 - - -extendedEuclid - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::swap - - - - - -Node1->Node2 - - - - - - - - diff --git a/d9/d5d/extended__euclid__algorithm_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d9/d5d/extended__euclid__algorithm_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 912c7c4a0..000000000 --- a/d9/d5d/extended__euclid__algorithm_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - - - - - diff --git a/d9/d5d/extended__euclid__algorithm_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d9/d5d/extended__euclid__algorithm_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index 5d0fbd248..000000000 --- a/d9/d5d/extended__euclid__algorithm_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -5bb5160c0682b45290f898f68cd662c7 \ No newline at end of file diff --git a/d9/d5d/extended__euclid__algorithm_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d9/d5d/extended__euclid__algorithm_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index f53fa8a1e..000000000 --- a/d9/d5d/extended__euclid__algorithm_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,173 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -extendedEuclid - - - - - -Node1->Node3 - - - - - - - - -Node5 - - -extendedEuclid_1 - - - - - -Node1->Node5 - - - - - - - - -Node7 - - -gcd - - - - - -Node1->Node7 - - - - - - - - -Node3->Node3 - - - - - - - - -Node4 - - -std::swap - - - - - -Node3->Node4 - - - - - - - - -Node5->Node4 - - - - - - - - -Node6 - - -update_step - - - - - -Node5->Node6 - - - - - - - - - - - - - diff --git a/d9/d5d/extended__euclid__algorithm_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d9/d5d/extended__euclid__algorithm_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 31c95b404..000000000 --- a/d9/d5d/extended__euclid__algorithm_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -extendedEuclid - - - - - -Node1->Node3 - - - - - - - - -Node5 - - -extendedEuclid_1 - - - - - -Node1->Node5 - - - - - - - - -Node7 - - -gcd - - - - - -Node1->Node7 - - - - - - - - -Node3->Node3 - - - - - - - - -Node4 - - -std::swap - - - - - -Node3->Node4 - - - - - - - - -Node5->Node4 - - - - - - - - -Node6 - - -update_step - - - - - -Node5->Node6 - - - - - - - - diff --git a/d9/d5d/extended__euclid__algorithm_8cpp_source.html b/d9/d5d/extended__euclid__algorithm_8cpp_source.html new file mode 100644 index 000000000..9c88e408d --- /dev/null +++ b/d9/d5d/extended__euclid__algorithm_8cpp_source.html @@ -0,0 +1,209 @@ + + + + + + + + +TheAlgorithms/C++: math/extended_euclid_algorithm.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    extended_euclid_algorithm.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    12#include <algorithm> // for swap function
    +
    13#include <iostream>
    +
    14#include <cstdint>
    +
    15
    +
    24template <typename T, typename T2>
    +
    +
    25inline void update_step(T *r, T *r0, const T2 quotient) {
    +
    26 T temp = *r;
    +
    27 *r = *r0 - (quotient * temp);
    +
    28 *r0 = temp;
    +
    29}
    +
    +
    30
    +
    41template <typename T1, typename T2>
    +
    +
    42void extendedEuclid_1(T1 A, T1 B, T1 *GCD, T2 *x, T2 *y) {
    +
    43 if (B > A)
    +
    44 std::swap(A, B); // Ensure that A >= B
    +
    45
    +
    46 T2 s = 0, s0 = 1;
    +
    47 T2 t = 1, t0 = 0;
    +
    48 T1 r = B, r0 = A;
    +
    49
    +
    50 while (r != 0) {
    +
    51 T1 quotient = r0 / r;
    +
    52 update_step(&r, &r0, quotient);
    +
    53 update_step(&s, &s0, quotient);
    +
    54 update_step(&t, &t0, quotient);
    +
    55 }
    +
    56 *GCD = r0;
    +
    57 *x = s0;
    +
    58 *y = t0;
    +
    59}
    +
    +
    60
    +
    70template <typename T, typename T2>
    +
    +
    71void extendedEuclid(T A, T B, T *GCD, T2 *x, T2 *y) {
    +
    72 if (B > A)
    +
    73 std::swap(A, B); // Ensure that A >= B
    +
    74
    +
    75 if (B == 0) {
    +
    76 *GCD = A;
    +
    77 *x = 1;
    +
    78 *y = 0;
    +
    79 } else {
    +
    80 extendedEuclid(B, A % B, GCD, x, y);
    +
    81 T2 temp = *x;
    +
    82 *x = *y;
    +
    83 *y = temp - (A / B) * (*y);
    +
    84 }
    +
    85}
    +
    +
    86
    +
    +
    88int main() {
    +
    89 uint32_t a, b, gcd;
    +
    90 int32_t x, y;
    +
    91 std::cin >> a >> b;
    +
    92 extendedEuclid(a, b, &gcd, &x, &y);
    +
    93 std::cout << gcd << " " << x << " " << y << std::endl;
    +
    94 extendedEuclid_1(a, b, &gcd, &x, &y);
    +
    95 std::cout << gcd << " " << x << " " << y << std::endl;
    +
    96 return 0;
    +
    97}
    +
    +
    void extendedEuclid_1(T1 A, T1 B, T1 *GCD, T2 *x, T2 *y)
    +
    void update_step(T *r, T *r0, const T2 quotient)
    +
    void extendedEuclid(T A, T B, T *GCD, T2 *x, T2 *y)
    +
    int main()
    Main function.
    +
    int gcd(int num1, int num2)
    +
    +
    + + + + diff --git a/d9/d5f/longest__increasing__subsequence__using__binary__search_8cpp.html b/d9/d5f/longest__increasing__subsequence__using__binary__search_8cpp.html index 5c2858460..3a3b791f7 100644 --- a/d9/d5f/longest__increasing__subsequence__using__binary__search_8cpp.html +++ b/d9/d5f/longest__increasing__subsequence__using__binary__search_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: search/longest_increasing_subsequence_using_binary_search.cpp File Reference +TheAlgorithms/C++: search/longest_increasing_subsequence_using_binary_search.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -122,12 +139,14 @@ Include dependency graph for longest_increasing_subsequence_using_binary_search.
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    - - + + @@ -151,6 +170,8 @@ Functions

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

    This approach consider Most optimal Approach for solving this problem

    Author
    Naman Jain
    + +

    Definition in file longest_increasing_subsequence_using_binary_search.cpp.

    Function Documentation

    ◆ longest_increasing_subsequence_using_binary_search()

    @@ -161,16 +182,16 @@ Functions template<typename T >

    Functions

    template<typename T >
    std::uint32_t longest_increasing_subsequence_using_binary_search (std::vector< T > &nums)
     for std::uint32_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.
    - + - +
    std::uint32_t longest_increasing_subsequence_using_binary_search std::uint32_t longest_increasing_subsequence_using_binary_search (std::vector< T > & nums)std::vector< T > & nums)
    -

    for std::uint32_t

    -

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

    +

    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
    @@ -184,33 +205,24 @@ template<typename T >
    Returns
    The length of the longest increasing subsequence
    + +

    Definition at line 65 of file longest_increasing_subsequence_using_binary_search.cpp.

    65 {
    -
    66 if (nums.empty()) return 0;
    +
    66 if (nums.empty()) return 0;
    67
    - +
    68 std::vector<T> ans;
    69 ans.push_back(nums[0]);
    -
    70 for (std::size_t i = 1; i < nums.size(); i++) {
    +
    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();
    +
    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());
    +
    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:
    -
    -
    -
    - + @@ -230,17 +242,14 @@ Here is the call graph for this function:

    Main function to run tests.

    Returns
    0 on exit
    + +

    Definition at line 114 of file longest_increasing_subsequence_using_binary_search.cpp.

    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:
    -
    -
    -
    - +
    static void tests()
    Test cases for Longest Increasing Subsequence function.
    + @@ -268,38 +277,34 @@ Here is the call graph for this function:

    Test cases for Longest Increasing Subsequence function.

    Returns
    void
    + +

    Definition at line 85 of file longest_increasing_subsequence_using_binary_search.cpp.

    85 {
    -
    86 std::vector<int> arr = {10, 9, 2, 5, 3, 7, 101, 18};
    +
    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};
    +
    89 std::vector<int> arr2 = {0, 1, 0, 3, 2, 3};
    91
    -
    92 std::vector<int> arr3 = {7, 7, 7, 7, 7, 7, 7};
    +
    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};
    +
    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};
    +
    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'};
    +
    101 std::vector<char> arr6 = {'a', 'b', 'c', 'a', 'd'};
    103
    -
    104 std::vector<int> arr7 = {};
    +
    104 std::vector<int> arr7 = {};
    106
    -
    107 std::cout << "All tests have successfully passed!\n";
    +
    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:
    -
    -
    -
    - +
    std::uint32_t longest_increasing_subsequence_using_binary_search(std::vector< T > &nums)
    for std::uint32_t
    + diff --git a/d9/d5f/longest__increasing__subsequence__using__binary__search_8cpp_a313539d9a97fc6e121ce496873ba892e_cgraph.map b/d9/d5f/longest__increasing__subsequence__using__binary__search_8cpp_a313539d9a97fc6e121ce496873ba892e_cgraph.map deleted file mode 100644 index 2df4e6691..000000000 --- a/d9/d5f/longest__increasing__subsequence__using__binary__search_8cpp_a313539d9a97fc6e121ce496873ba892e_cgraph.map +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/d9/d5f/longest__increasing__subsequence__using__binary__search_8cpp_a313539d9a97fc6e121ce496873ba892e_cgraph.md5 b/d9/d5f/longest__increasing__subsequence__using__binary__search_8cpp_a313539d9a97fc6e121ce496873ba892e_cgraph.md5 deleted file mode 100644 index 568b5267e..000000000 --- a/d9/d5f/longest__increasing__subsequence__using__binary__search_8cpp_a313539d9a97fc6e121ce496873ba892e_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -d5964ace614cf3e3a1424d09c566ea55 \ No newline at end of file diff --git a/d9/d5f/longest__increasing__subsequence__using__binary__search_8cpp_a313539d9a97fc6e121ce496873ba892e_cgraph.svg b/d9/d5f/longest__increasing__subsequence__using__binary__search_8cpp_a313539d9a97fc6e121ce496873ba892e_cgraph.svg deleted file mode 100644 index 05f4c6e4a..000000000 --- a/d9/d5f/longest__increasing__subsequence__using__binary__search_8cpp_a313539d9a97fc6e121ce496873ba892e_cgraph.svg +++ /dev/null @@ -1,103 +0,0 @@ - - - - - - - - - - - - -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/d9/d5f/longest__increasing__subsequence__using__binary__search_8cpp_a313539d9a97fc6e121ce496873ba892e_cgraph_org.svg b/d9/d5f/longest__increasing__subsequence__using__binary__search_8cpp_a313539d9a97fc6e121ce496873ba892e_cgraph_org.svg deleted file mode 100644 index d3de937ed..000000000 --- a/d9/d5f/longest__increasing__subsequence__using__binary__search_8cpp_a313539d9a97fc6e121ce496873ba892e_cgraph_org.svg +++ /dev/null @@ -1,77 +0,0 @@ - - - - - - -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/d9/d5f/longest__increasing__subsequence__using__binary__search_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.map b/d9/d5f/longest__increasing__subsequence__using__binary__search_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.map deleted file mode 100644 index f1cce9138..000000000 --- a/d9/d5f/longest__increasing__subsequence__using__binary__search_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.map +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/d9/d5f/longest__increasing__subsequence__using__binary__search_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 b/d9/d5f/longest__increasing__subsequence__using__binary__search_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 deleted file mode 100644 index d45c93ffd..000000000 --- a/d9/d5f/longest__increasing__subsequence__using__binary__search_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -e8baaeea10ef15115946c4a0db45636a \ No newline at end of file diff --git a/d9/d5f/longest__increasing__subsequence__using__binary__search_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.svg b/d9/d5f/longest__increasing__subsequence__using__binary__search_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.svg deleted file mode 100644 index 8506b9b2f..000000000 --- a/d9/d5f/longest__increasing__subsequence__using__binary__search_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.svg +++ /dev/null @@ -1,121 +0,0 @@ - - - - - - - - - - - - -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/d9/d5f/longest__increasing__subsequence__using__binary__search_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph_org.svg b/d9/d5f/longest__increasing__subsequence__using__binary__search_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph_org.svg deleted file mode 100644 index 40db0fbc2..000000000 --- a/d9/d5f/longest__increasing__subsequence__using__binary__search_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph_org.svg +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - -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/d9/d5f/longest__increasing__subsequence__using__binary__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d9/d5f/longest__increasing__subsequence__using__binary__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 391adda95..000000000 --- a/d9/d5f/longest__increasing__subsequence__using__binary__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - diff --git a/d9/d5f/longest__increasing__subsequence__using__binary__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d9/d5f/longest__increasing__subsequence__using__binary__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index e1cb617a8..000000000 --- a/d9/d5f/longest__increasing__subsequence__using__binary__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -94853bf41b0075f98002cffdeb057c5e \ No newline at end of file diff --git a/d9/d5f/longest__increasing__subsequence__using__binary__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d9/d5f/longest__increasing__subsequence__using__binary__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 94a8d150f..000000000 --- a/d9/d5f/longest__increasing__subsequence__using__binary__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,139 +0,0 @@ - - - - - - - - - - - - -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/d9/d5f/longest__increasing__subsequence__using__binary__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d9/d5f/longest__increasing__subsequence__using__binary__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index a5ae750b5..000000000 --- a/d9/d5f/longest__increasing__subsequence__using__binary__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,113 +0,0 @@ - - - - - - -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/d9/d5f/longest__increasing__subsequence__using__binary__search_8cpp_source.html b/d9/d5f/longest__increasing__subsequence__using__binary__search_8cpp_source.html new file mode 100644 index 000000000..9e59ef5b9 --- /dev/null +++ b/d9/d5f/longest__increasing__subsequence__using__binary__search_8cpp_source.html @@ -0,0 +1,199 @@ + + + + + + + + +TheAlgorithms/C++: search/longest_increasing_subsequence_using_binary_search.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    TThe type of the elements in the input vector
    + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    longest_increasing_subsequence_using_binary_search.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    51#include <cassert>
    +
    52#include <iostream>
    +
    53#include <vector>
    +
    54#include <algorithm>
    +
    55#include <cstdint>
    +
    56
    +
    64template <typename T>
    +
    +
    65std::uint32_t longest_increasing_subsequence_using_binary_search(std::vector<T>& nums) {
    +
    66 if (nums.empty()) return 0;
    +
    67
    +
    68 std::vector<T> ans;
    +
    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}
    +
    +
    80
    +
    +
    85static void tests() {
    +
    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}
    +
    +
    109
    +
    +
    114int main() {
    +
    115 tests(); // run self test implementation
    +
    116 return 0;
    +
    117}
    +
    +
    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.
    +
    +
    + + + + diff --git a/d9/d60/namespacerat__maze.html b/d9/d60/namespacerat__maze.html index 892ba6d08..98ba0a5c1 100644 --- a/d9/d60/namespacerat__maze.html +++ b/d9/d60/namespacerat__maze.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: rat_maze Namespace Reference +TheAlgorithms/C++: rat_maze Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/d9/d65/lfu__cache_8cpp.html b/d9/d65/lfu__cache_8cpp.html index 23c47ab36..aacd6683b 100644 --- a/d9/d65/lfu__cache_8cpp.html +++ b/d9/d65/lfu__cache_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: others/lfu_cache.cpp File Reference +TheAlgorithms/C++: others/lfu_cache.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + @@ -123,7 +140,9 @@ Include dependency graph for lfu_cache.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -144,9 +163,8 @@ Namespaces

    Classes

    class  others::Cache::D_Node< T >
    - - + +

    Typedefs

    -template<typename K , typename V >
    using others::Cache::CacheNode = D_Node<std::pair<K, V>>
    template<typename K , typename V >
    using others::Cache::CacheNode = D_Node<std::pair<K, V>>
     
    Returns
    random number in the range \([a,b]\)
    -
    53 {
    -
    54 return ((b - a) * (std::rand() % 100) / 100.f) + a;
    -
    55}
    -
    T rand(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    +

    Definition at line 53 of file kohonen_som_topology.cpp.

    +
    53 {
    +
    54 return ((b - a) * (std::rand() % 100) / 100.f) + a;
    +
    55}
    +
    @@ -203,7 +249,7 @@ Here is the call graph for this function: - + @@ -232,14 +278,16 @@ Here is the call graph for this function:

    @@ -165,6 +183,8 @@ map).

    Hashmap maps the key to the address of the node of the linked list and its current usage frequency. If the element is accessed the element is removed from the linked list of the current frequency and added to the linked list of incremented frequency.

    When the cache is full, the last element in the minimum frequency linked list is popped.

    Author
    Karan Sharma
    + +

    Definition in file lfu_cache.cpp.

    Function Documentation

    ◆ main()

    @@ -183,17 +203,14 @@ map).

    main function

    Returns
    0 on exit
    + +

    Definition at line 301 of file lfu_cache.cpp.

    301 {
    302 test(); // run the self test implementation
    303 return 0;
    304}
    -
    static void test()
    self test implementation
    Definition lfu_cache.cpp:250
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static void test()
    self test implementation
    + @@ -221,6 +238,8 @@ Here is the call graph for this function:

    self test implementation

    Returns
    void
    + +

    Definition at line 250 of file lfu_cache.cpp.

    250 {
    252
    @@ -265,16 +284,10 @@ Here is the call graph for this function:
    291 assert(cache.get(5) == -50);
    292 assert(cache.get(6) == 60);
    293
    -
    294 std::cout << "test - passed\n";
    +
    294 std::cout << "test - passed\n";
    295}
    - -
    LFUCache.
    Definition lfu_cache.cpp:64
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + + diff --git a/d9/d65/lfu__cache_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map b/d9/d65/lfu__cache_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map deleted file mode 100644 index baedf2a3c..000000000 --- a/d9/d65/lfu__cache_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - diff --git a/d9/d65/lfu__cache_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 b/d9/d65/lfu__cache_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 deleted file mode 100644 index a4e7f9181..000000000 --- a/d9/d65/lfu__cache_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -0591dc07f3e2271183514438a924765e \ No newline at end of file diff --git a/d9/d65/lfu__cache_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg b/d9/d65/lfu__cache_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg deleted file mode 100644 index 5792f04ce..000000000 --- a/d9/d65/lfu__cache_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg +++ /dev/null @@ -1,271 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -others::Cache::LFUCache -::capacity - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -others::Cache::LFUCache -::empty - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -others::Cache::LFUCache::get - - - - - -Node1->Node4 - - - - - - - - -Node7 - - -others::Cache::LFUCache::put - - - - - -Node1->Node7 - - - - - - - - -Node9 - - -others::Cache::LFUCache -::size - - - - - -Node1->Node9 - - - - - - - - -Node5 - - -others::Cache::LFUCache -::increase_frequency - - - - - -Node4->Node5 - - - - - - - - -Node6 - - -others::Cache::LFUCache -::push - - - - - -Node5->Node6 - - - - - - - - -Node7->Node5 - - - - - - - - -Node7->Node6 - - - - - - - - -Node8 - - -others::Cache::LFUCache::pop - - - - - -Node7->Node8 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d9/d65/lfu__cache_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg b/d9/d65/lfu__cache_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg deleted file mode 100644 index 2ece4a362..000000000 --- a/d9/d65/lfu__cache_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg +++ /dev/null @@ -1,188 +0,0 @@ - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -others::Cache::LFUCache -::capacity - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -others::Cache::LFUCache -::empty - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -others::Cache::LFUCache::get - - - - - -Node1->Node4 - - - - - - - - -Node7 - - -others::Cache::LFUCache::put - - - - - -Node1->Node7 - - - - - - - - -Node9 - - -others::Cache::LFUCache -::size - - - - - -Node1->Node9 - - - - - - - - -Node5 - - -others::Cache::LFUCache -::increase_frequency - - - - - -Node4->Node5 - - - - - - - - -Node6 - - -others::Cache::LFUCache -::push - - - - - -Node5->Node6 - - - - - - - - -Node7->Node5 - - - - - - - - -Node7->Node6 - - - - - - - - -Node8 - - -others::Cache::LFUCache::pop - - - - - -Node7->Node8 - - - - - - - - diff --git a/d9/d65/lfu__cache_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d9/d65/lfu__cache_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index bc9db1e6c..000000000 --- a/d9/d65/lfu__cache_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d9/d65/lfu__cache_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d9/d65/lfu__cache_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index 9641dce67..000000000 --- a/d9/d65/lfu__cache_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -d353b232a9a0af8fc1835fc904dbe96e \ No newline at end of file diff --git a/d9/d65/lfu__cache_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d9/d65/lfu__cache_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index d212d090a..000000000 --- a/d9/d65/lfu__cache_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,289 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -others::Cache::LFUCache -::capacity - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -others::Cache::LFUCache -::empty - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -others::Cache::LFUCache::get - - - - - -Node2->Node5 - - - - - - - - -Node8 - - -others::Cache::LFUCache::put - - - - - -Node2->Node8 - - - - - - - - -Node10 - - -others::Cache::LFUCache -::size - - - - - -Node2->Node10 - - - - - - - - -Node6 - - -others::Cache::LFUCache -::increase_frequency - - - - - -Node5->Node6 - - - - - - - - -Node7 - - -others::Cache::LFUCache -::push - - - - - -Node6->Node7 - - - - - - - - -Node8->Node6 - - - - - - - - -Node8->Node7 - - - - - - - - -Node9 - - -others::Cache::LFUCache::pop - - - - - -Node8->Node9 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d9/d65/lfu__cache_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d9/d65/lfu__cache_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 26e01d9e0..000000000 --- a/d9/d65/lfu__cache_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,206 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -others::Cache::LFUCache -::capacity - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -others::Cache::LFUCache -::empty - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -others::Cache::LFUCache::get - - - - - -Node2->Node5 - - - - - - - - -Node8 - - -others::Cache::LFUCache::put - - - - - -Node2->Node8 - - - - - - - - -Node10 - - -others::Cache::LFUCache -::size - - - - - -Node2->Node10 - - - - - - - - -Node6 - - -others::Cache::LFUCache -::increase_frequency - - - - - -Node5->Node6 - - - - - - - - -Node7 - - -others::Cache::LFUCache -::push - - - - - -Node6->Node7 - - - - - - - - -Node8->Node6 - - - - - - - - -Node8->Node7 - - - - - - - - -Node9 - - -others::Cache::LFUCache::pop - - - - - -Node8->Node9 - - - - - - - - diff --git a/d9/d65/lfu__cache_8cpp_source.html b/d9/d65/lfu__cache_8cpp_source.html new file mode 100644 index 000000000..5e8ab5681 --- /dev/null +++ b/d9/d65/lfu__cache_8cpp_source.html @@ -0,0 +1,392 @@ + + + + + + + + +TheAlgorithms/C++: others/lfu_cache.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    lfu_cache.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    23#include <cassert> // for assert
    +
    24#include <iostream> // for std::cout
    +
    25#include <unordered_map> // for std::unordered_map
    +
    26
    +
    31namespace others {
    +
    32
    +
    +
    37namespace Cache {
    +
    38
    +
    44template <typename T>
    +
    45class D_Node {
    +
    46 public:
    +
    47 T data;
    + + +
    50
    +
    51 explicit D_Node(T data) : data(data), prev(nullptr), next(nullptr) {}
    +
    52};
    +
    53
    +
    54template <typename K, typename V>
    +
    55using CacheNode = D_Node<std::pair<K, V>>;
    +
    56
    +
    63template <typename K, typename V>
    +
    +
    64class LFUCache {
    +
    65 std::unordered_map<K, std::pair<CacheNode<K, V> *, int>>
    + +
    67 std::unordered_map<int, std::pair<CacheNode<K, V> *, CacheNode<K, V> *>>
    + +
    69
    +
    70 int minFreq;
    + +
    72
    +
    73 public:
    + +
    79
    +
    80 private:
    +
    +
    88 void push(int freq, CacheNode<K, V> *node) {
    +
    89 // if freq is not present, then make a new list with node as the head as
    +
    90 // well as tail.
    +
    91 if (!freq_map.count(freq)) {
    +
    92 freq_map[freq] = {node, node};
    +
    93 return;
    +
    94 }
    +
    95
    +
    96 std::pair<CacheNode<K, V> *, CacheNode<K, V> *> &p = freq_map[freq];
    +
    97
    +
    98 // insert the node at the beginning of the linked list and update the
    +
    99 // head.
    +
    100 p.first->prev = node;
    +
    101 node->next = p.first;
    +
    102 p.first = node;
    +
    103 }
    +
    +
    104
    +
    +
    109 void increase_frequency(std::pair<CacheNode<K, V> *, int> &p_node) {
    +
    110 CacheNode<K, V> *node = p_node.first;
    +
    111 int freq = p_node.second;
    +
    112
    +
    113 std::pair<CacheNode<K, V> *, CacheNode<K, V> *> &p = freq_map[freq];
    +
    114
    +
    115 // if the given node is the only node in the list,
    +
    116 // then erase the frequency from map
    +
    117 // and increase minFreq by 1.
    +
    118 if (p.first == node && p.second == node) {
    +
    119 freq_map.erase(freq);
    +
    120 if (minFreq == freq) {
    +
    121 minFreq = freq + 1;
    +
    122 }
    +
    123 } else {
    +
    124 // remove the given node from current freq linked list
    +
    125 CacheNode<K, V> *prev = node->prev;
    +
    126 CacheNode<K, V> *next = node->next;
    +
    127 node->prev = nullptr;
    +
    128 node->next = nullptr;
    +
    129
    +
    130 if (prev) {
    +
    131 prev->next = next;
    +
    132 } else {
    +
    133 p.first = next;
    +
    134 }
    +
    135
    +
    136 if (next) {
    +
    137 next->prev = prev;
    +
    138 } else {
    +
    139 p.second = prev;
    +
    140 }
    +
    141 }
    +
    142 push(freq + 1, node);
    +
    143 ++p_node.second;
    +
    144 }
    +
    +
    145
    +
    +
    149 void pop() {
    +
    150 std::pair<CacheNode<K, V> *, CacheNode<K, V> *> &p = freq_map[minFreq];
    +
    151
    +
    152 // if there is only one node
    +
    153 // remove the node and erase
    +
    154 // the frequency from freq_map
    +
    155 if (p.first == p.second) {
    +
    156 delete p.first;
    +
    157 freq_map.erase(minFreq);
    +
    158 return;
    +
    159 }
    +
    160
    +
    161 // remove the last node in the linked list
    +
    162 CacheNode<K, V> *temp = p.second;
    +
    163 p.second = temp->prev;
    +
    164 p.second->next = nullptr;
    +
    165 delete temp;
    +
    166 }
    +
    +
    167
    +
    168 public:
    +
    +
    174 void put(K key, V value) {
    +
    175 // update the value if key already exists
    +
    176 if (node_map.count(key)) {
    +
    177 node_map[key].first->data.second = value;
    + +
    179 return;
    +
    180 }
    +
    181
    +
    182 // if the cache is full
    +
    183 // remove the least frequently used item
    +
    184 if (node_map.size() == _capacity) {
    +
    185 node_map.erase(freq_map[minFreq].second->data.first);
    +
    186 pop();
    +
    187 }
    +
    188
    +
    189 // insert the new node and set minFreq to 1
    +
    190 CacheNode<K, V> *node = new CacheNode<K, V>({key, value});
    +
    191 node_map[key] = {node, 1};
    +
    192 minFreq = 1;
    +
    193 push(1, node);
    +
    194 }
    +
    +
    195
    +
    +
    202 V get(K key) {
    +
    203 if (!node_map.count(key)) {
    +
    204 throw std::runtime_error("key is not present in the cache");
    +
    205 }
    +
    206
    +
    207 // increase the frequency and return the value
    +
    208 V value = node_map[key].first->data.second;
    + +
    210 return value;
    +
    211 }
    +
    +
    212
    +
    217 int size() const { return node_map.size(); }
    +
    218
    +
    223 int capacity() const { return _capacity; }
    +
    224
    +
    229 bool empty() const { return node_map.empty(); }
    +
    230
    +
    + +
    236 auto it = node_map.begin();
    +
    237 while (it != node_map.end()) {
    +
    238 delete it->second.first;
    +
    239 ++it;
    +
    240 }
    +
    241 }
    +
    +
    242};
    +
    +
    243} // namespace Cache
    +
    +
    244} // namespace others
    +
    245
    +
    +
    250static void test() {
    + +
    252
    +
    253 // test the initial state of the cache
    +
    254 assert(cache.size() == 0);
    +
    255 assert(cache.capacity() == 5);
    +
    256 assert(cache.empty());
    +
    257
    +
    258 // test insertion in the cache
    +
    259 cache.put(1, 10);
    +
    260 cache.put(-2, 20);
    +
    261
    +
    262 // test the state of cache after inserting some items
    +
    263 assert(cache.size() == 2);
    +
    264 assert(cache.capacity() == 5);
    +
    265 assert(!cache.empty());
    +
    266
    +
    267 // test getting items from the cache
    +
    268 assert(cache.get(1) == 10);
    +
    269 assert(cache.get(-2) == 20);
    +
    270
    +
    271 cache.put(-3, -30);
    +
    272 cache.put(4, 40);
    +
    273 cache.put(5, -50);
    +
    274 cache.put(6, 60);
    +
    275
    +
    276 // test the state after inserting more items than the capacity
    +
    277 assert(cache.size() == 5);
    +
    278 assert(cache.capacity() == 5);
    +
    279 assert(!cache.empty());
    +
    280
    +
    281 // test retrieval of all items in the cache
    +
    282 assert(cache.get(1) == 10);
    +
    283 assert(cache.get(-2) == 20);
    +
    284
    +
    285 // fetching -3 throws runtime_error
    +
    286 // as -3 was evicted being the least frequently used
    +
    287 // when 6 was added
    +
    288 // assert(cache.get(-3) == -30);
    +
    289
    +
    290 assert(cache.get(4) == 40);
    +
    291 assert(cache.get(5) == -50);
    +
    292 assert(cache.get(6) == 60);
    +
    293
    +
    294 std::cout << "test - passed\n";
    +
    295}
    +
    +
    296
    +
    +
    301int main() {
    +
    302 test(); // run the self test implementation
    +
    303 return 0;
    +
    304}
    +
    +
    struct node { int data; int height; struct node *left; struct node *right;} node
    for std::queue
    Definition avltree.cpp:13
    +
    Node for a doubly linked list with data, prev and next pointers.
    +
    D_Node< T > * next
    next node in the doubly linked list
    Definition lfu_cache.cpp:49
    +
    D_Node< T > * prev
    previous node in the doubly linked list
    Definition lfu_cache.cpp:48
    +
    T data
    data of the node
    Definition lfu_cache.cpp:47
    + +
    void increase_frequency(std::pair< CacheNode< K, V > *, int > &p_node)
    increase the frequency of node and push it in the respective list.
    +
    int _capacity
    maximum capacity of the cache
    Definition lfu_cache.cpp:71
    +
    V get(K key)
    get the value of the key-value pair if exists
    +
    bool empty() const
    returns true if the cache is empty, false otherwise.
    +
    int minFreq
    minimum frequency in the cache
    Definition lfu_cache.cpp:70
    +
    ~LFUCache()
    destructs the cache, iterates on the map and deletes every node present in the cache.
    +
    void pop()
    pop the last node in the least frequently used linked list
    +
    std::unordered_map< int, std::pair< CacheNode< K, V > *, CacheNode< K, V > * > > freq_map
    maps the frequency to doubly linked list
    Definition lfu_cache.cpp:68
    +
    int capacity() const
    Returns the total capacity of the cache.
    +
    std::unordered_map< K, std::pair< CacheNode< K, V > *, int > > node_map
    maps the key to the node address and frequency
    Definition lfu_cache.cpp:66
    +
    void push(int freq, CacheNode< K, V > *node)
    push the node at first position in the linked list of given frequency
    Definition lfu_cache.cpp:88
    +
    int size() const
    Returns the number of items present in the cache.
    +
    void put(K key, V value)
    upsert a key-value pair
    +
    LFUCache(int _capacity)
    Constructor, Initialize with minFreq and _capacity.
    Definition lfu_cache.cpp:78
    +
    static void test()
    self test implementation
    +
    int main()
    main function
    +
    for vector
    + +
    +
    + + + + diff --git a/d9/d66/group__machine__learning.html b/d9/d66/group__machine__learning.html index 43d2bd834..099c5032f 100644 --- a/d9/d66/group__machine__learning.html +++ b/d9/d66/group__machine__learning.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Machine Learning Algorithms +TheAlgorithms/C++: Machine Learning Algorithms + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -136,11 +153,11 @@ Namespaces Functions - + - + - +
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    double _random (double a, double b)
     
    int save_2d_data (const char *fname, const std::vector< std::valarray< double > > &X)
    int save_2d_data (const char *fname, const std::vector< std::valarray< double > > &X)
     
    void get_min_2d (const std::vector< std::valarray< double > > &X, double *val, int *x_idx, int *y_idx)
    void get_min_2d (const std::vector< std::valarray< double > > &X, double *val, int *x_idx, int *y_idx)
     
    int save_nd_data (const char *fname, const std::vector< std::valarray< double > > &X)
    int save_nd_data (const char *fname, const std::vector< std::valarray< double > > &X)
     

    @@ -149,6 +166,39 @@ Variables

     

    Detailed Description

    +

    Macro Definition Documentation

    + +

    ◆ _USE_MATH_DEFINES [1/2]

    + +
    +
    + + + + +
    #define _USE_MATH_DEFINES
    +
    + +

    Definition at line 26 of file kohonen_som_topology.cpp.

    + +
    +
    + +

    ◆ _USE_MATH_DEFINES [2/2]

    + +
    +
    + + + + +
    #define _USE_MATH_DEFINES
    +
    + +

    Definition at line 21 of file kohonen_som_trace.cpp.

    + +
    +

    Function Documentation

    ◆ _random()

    @@ -182,16 +232,12 @@ Variables
    void get_min_2d (const std::vector< std::valarray< double > > & X, const std::vector< std::valarray< double > > & X,
    + +

    Definition at line 105 of file kohonen_som_topology.cpp.

    106 {
    107 val[0] = INFINITY; // initial min value
    -
    108 size_t N = X.size();
    +
    108 size_t N = X.size();
    109
    110 for (int i = 0; i < N; i++) { // traverse each x-index
    -
    111 auto result = std::min_element(std::begin(X[i]), std::end(X[i]));
    +
    111 auto result = std::min_element(std::begin(X[i]), std::end(X[i]));
    112 double d_min = *result;
    -
    113 std::ptrdiff_t j = std::distance(std::begin(X[i]), result);
    +
    113 std::ptrdiff_t j = std::distance(std::begin(X[i]), result);
    114
    115 if (d_min < val[0]) { // if a lower value is found
    116 // save the value and its index
    @@ -249,18 +297,7 @@ Here is the call graph for this function:
    120 }
    121 }
    122}
    -
    T begin(T... args)
    -
    T distance(T... args)
    -
    T end(T... args)
    -
    T min_element(T... args)
    - -
    T size(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -277,7 +314,7 @@ Here is the call graph for this function: - const std::vector< std::valarray< double > > & X ) + const std::vector< std::valarray< double > > & X )
    @@ -292,16 +329,18 @@ Here is the call graph for this function:
    Returns
    0 if all ok
    -1 if file creation failed
    + +

    Definition at line 65 of file kohonen_som_topology.cpp.

    66 {
    -
    67 size_t num_points = X.size(); // number of rows
    -
    68 size_t num_features = X[0].size(); // number of columns
    +
    67 size_t num_points = X.size(); // number of rows
    +
    68 size_t num_features = X[0].size(); // number of columns
    69
    - -
    71 fp.open(fname);
    -
    72 if (!fp.is_open()) {
    +
    70 std::ofstream fp;
    +
    71 fp.open(fname);
    +
    72 if (!fp.is_open()) {
    73 // error with opening file to write
    -
    74 std::cerr << "Error opening file " << fname << ": "
    -
    75 << std::strerror(errno) << "\n";
    +
    74 std::cerr << "Error opening file " << fname << ": "
    +
    75 << std::strerror(errno) << "\n";
    76 return -1;
    77 }
    78
    @@ -319,21 +358,10 @@ Here is the call graph for this function:
    90 }
    91 }
    92
    -
    93 fp.close();
    +
    93 fp.close();
    94 return 0;
    95}
    - - -
    T close(T... args)
    -
    T is_open(T... args)
    -
    T open(T... args)
    -
    T strerror(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -350,7 +378,7 @@ Here is the call graph for this function: - const std::vector< std::valarray< double > > & X ) + const std::vector< std::valarray< double > > & X )
    @@ -365,15 +393,17 @@ Here is the call graph for this function:
    Returns
    0 if all ok
    -1 if file creation failed
    + +

    Definition at line 58 of file kohonen_som_trace.cpp.

    59 {
    -
    60 size_t num_points = X.size(); // number of rows
    -
    61 size_t num_features = X[0].size(); // number of columns
    +
    60 size_t num_points = X.size(); // number of rows
    +
    61 size_t num_features = X[0].size(); // number of columns
    62
    - -
    64 fp.open(fname);
    -
    65 if (!fp.is_open()) {
    +
    63 std::ofstream fp;
    +
    64 fp.open(fname);
    +
    65 if (!fp.is_open()) {
    66 // error with opening file to write
    -
    67 std::cerr << "Error opening file " << fname << "\n";
    +
    67 std::cerr << "Error opening file " << fname << "\n";
    68 return -1;
    69 }
    70
    @@ -391,15 +421,10 @@ Here is the call graph for this function:
    82 }
    83 }
    84
    -
    85 fp.close();
    +
    85 fp.close();
    86 return 0;
    87}
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +

    Variable Documentation

    @@ -424,6 +449,8 @@ Here is the call graph for this function:

    Maximum number of iterations to learn

    +

    Definition at line 40 of file adaline_learning.cpp.

    +
    diff --git a/d9/d66/group__machine__learning_ga60f9186ccb682724a8792a2bf81e9b9e_cgraph.map b/d9/d66/group__machine__learning_ga60f9186ccb682724a8792a2bf81e9b9e_cgraph.map deleted file mode 100644 index 8bcefe58b..000000000 --- a/d9/d66/group__machine__learning_ga60f9186ccb682724a8792a2bf81e9b9e_cgraph.map +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/d9/d66/group__machine__learning_ga60f9186ccb682724a8792a2bf81e9b9e_cgraph.md5 b/d9/d66/group__machine__learning_ga60f9186ccb682724a8792a2bf81e9b9e_cgraph.md5 deleted file mode 100644 index 3ba742091..000000000 --- a/d9/d66/group__machine__learning_ga60f9186ccb682724a8792a2bf81e9b9e_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -23593b8f6c50add3f5754c44b15661ee \ No newline at end of file diff --git a/d9/d66/group__machine__learning_ga60f9186ccb682724a8792a2bf81e9b9e_cgraph.svg b/d9/d66/group__machine__learning_ga60f9186ccb682724a8792a2bf81e9b9e_cgraph.svg deleted file mode 100644 index 87edb7a76..000000000 --- a/d9/d66/group__machine__learning_ga60f9186ccb682724a8792a2bf81e9b9e_cgraph.svg +++ /dev/null @@ -1,119 +0,0 @@ - - - - - - - - - - - - -get_min_2d - - -Node1 - - -get_min_2d - - - - - -Node2 - - -std::begin - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::distance - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::end - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::min_element - - - - - -Node1->Node5 - - - - - - - - - - - - - diff --git a/d9/d66/group__machine__learning_ga60f9186ccb682724a8792a2bf81e9b9e_cgraph_org.svg b/d9/d66/group__machine__learning_ga60f9186ccb682724a8792a2bf81e9b9e_cgraph_org.svg deleted file mode 100644 index e38e794ac..000000000 --- a/d9/d66/group__machine__learning_ga60f9186ccb682724a8792a2bf81e9b9e_cgraph_org.svg +++ /dev/null @@ -1,93 +0,0 @@ - - - - - - -get_min_2d - - -Node1 - - -get_min_2d - - - - - -Node2 - - -std::begin - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::distance - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::end - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::min_element - - - - - -Node1->Node5 - - - - - - - - diff --git a/d9/d66/group__machine__learning_gabc90175770bf0d5853c466e14993a08c_cgraph.map b/d9/d66/group__machine__learning_gabc90175770bf0d5853c466e14993a08c_cgraph.map deleted file mode 100644 index d95f798e4..000000000 --- a/d9/d66/group__machine__learning_gabc90175770bf0d5853c466e14993a08c_cgraph.map +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/d9/d66/group__machine__learning_gabc90175770bf0d5853c466e14993a08c_cgraph.md5 b/d9/d66/group__machine__learning_gabc90175770bf0d5853c466e14993a08c_cgraph.md5 deleted file mode 100644 index 1c7772232..000000000 --- a/d9/d66/group__machine__learning_gabc90175770bf0d5853c466e14993a08c_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -6b0b738779bd2ef2ce664cfb36a2a0c0 \ No newline at end of file diff --git a/d9/d66/group__machine__learning_gabc90175770bf0d5853c466e14993a08c_cgraph.svg b/d9/d66/group__machine__learning_gabc90175770bf0d5853c466e14993a08c_cgraph.svg deleted file mode 100644 index 694048a64..000000000 --- a/d9/d66/group__machine__learning_gabc90175770bf0d5853c466e14993a08c_cgraph.svg +++ /dev/null @@ -1,119 +0,0 @@ - - - - - - - - - - - - -save_2d_data - - -Node1 - - -save_2d_data - - - - - -Node2 - - -std::ofstream::close - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::ofstream::is_open - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::ofstream::open - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::strerror - - - - - -Node1->Node5 - - - - - - - - - - - - - diff --git a/d9/d66/group__machine__learning_gabc90175770bf0d5853c466e14993a08c_cgraph_org.svg b/d9/d66/group__machine__learning_gabc90175770bf0d5853c466e14993a08c_cgraph_org.svg deleted file mode 100644 index 63f9239eb..000000000 --- a/d9/d66/group__machine__learning_gabc90175770bf0d5853c466e14993a08c_cgraph_org.svg +++ /dev/null @@ -1,93 +0,0 @@ - - - - - - -save_2d_data - - -Node1 - - -save_2d_data - - - - - -Node2 - - -std::ofstream::close - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::ofstream::is_open - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::ofstream::open - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::strerror - - - - - -Node1->Node5 - - - - - - - - diff --git a/d9/d66/group__machine__learning_gae0208548f8b393528e5db01717e88e67_cgraph.map b/d9/d66/group__machine__learning_gae0208548f8b393528e5db01717e88e67_cgraph.map deleted file mode 100644 index ef4dfd0b9..000000000 --- a/d9/d66/group__machine__learning_gae0208548f8b393528e5db01717e88e67_cgraph.map +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/d9/d66/group__machine__learning_gae0208548f8b393528e5db01717e88e67_cgraph.md5 b/d9/d66/group__machine__learning_gae0208548f8b393528e5db01717e88e67_cgraph.md5 deleted file mode 100644 index d1eafb87c..000000000 --- a/d9/d66/group__machine__learning_gae0208548f8b393528e5db01717e88e67_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -f888672822fa70ef785ca1531af7cfa8 \ No newline at end of file diff --git a/d9/d66/group__machine__learning_gae0208548f8b393528e5db01717e88e67_cgraph.svg b/d9/d66/group__machine__learning_gae0208548f8b393528e5db01717e88e67_cgraph.svg deleted file mode 100644 index 61cd18a41..000000000 --- a/d9/d66/group__machine__learning_gae0208548f8b393528e5db01717e88e67_cgraph.svg +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - - - - - - - -save_nd_data - - -Node1 - - -save_nd_data - - - - - -Node2 - - -std::ofstream::close - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::ofstream::is_open - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::ofstream::open - - - - - -Node1->Node4 - - - - - - - - - - - - - diff --git a/d9/d66/group__machine__learning_gae0208548f8b393528e5db01717e88e67_cgraph_org.svg b/d9/d66/group__machine__learning_gae0208548f8b393528e5db01717e88e67_cgraph_org.svg deleted file mode 100644 index ba3d011d7..000000000 --- a/d9/d66/group__machine__learning_gae0208548f8b393528e5db01717e88e67_cgraph_org.svg +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - -save_nd_data - - -Node1 - - -save_nd_data - - - - - -Node2 - - -std::ofstream::close - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::ofstream::is_open - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::ofstream::open - - - - - -Node1->Node4 - - - - - - - - diff --git a/d9/d66/group__machine__learning_gaf5ce14f026d6d231bef29161bac2b485_cgraph.map b/d9/d66/group__machine__learning_gaf5ce14f026d6d231bef29161bac2b485_cgraph.map deleted file mode 100644 index ca40de314..000000000 --- a/d9/d66/group__machine__learning_gaf5ce14f026d6d231bef29161bac2b485_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d9/d66/group__machine__learning_gaf5ce14f026d6d231bef29161bac2b485_cgraph.md5 b/d9/d66/group__machine__learning_gaf5ce14f026d6d231bef29161bac2b485_cgraph.md5 deleted file mode 100644 index b9f58c43f..000000000 --- a/d9/d66/group__machine__learning_gaf5ce14f026d6d231bef29161bac2b485_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -d70e8a4be5dea77e98acc8099b037caf \ No newline at end of file diff --git a/d9/d66/group__machine__learning_gaf5ce14f026d6d231bef29161bac2b485_cgraph.svg b/d9/d66/group__machine__learning_gaf5ce14f026d6d231bef29161bac2b485_cgraph.svg deleted file mode 100644 index 6ffa667c1..000000000 --- a/d9/d66/group__machine__learning_gaf5ce14f026d6d231bef29161bac2b485_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -_random - - -Node1 - - -_random - - - - - -Node2 - - -std::rand - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d9/d66/group__machine__learning_gaf5ce14f026d6d231bef29161bac2b485_cgraph_org.svg b/d9/d66/group__machine__learning_gaf5ce14f026d6d231bef29161bac2b485_cgraph_org.svg deleted file mode 100644 index d7ccee0e0..000000000 --- a/d9/d66/group__machine__learning_gaf5ce14f026d6d231bef29161bac2b485_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -_random - - -Node1 - - -_random - - - - - -Node2 - - -std::rand - - - - - -Node1->Node2 - - - - - - - - diff --git a/d9/d69/median__search_8cpp.html b/d9/d69/median__search_8cpp.html index 36138e6f6..9a28085b8 100644 --- a/d9/d69/median__search_8cpp.html +++ b/d9/d69/median__search_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: search/median_search.cpp File Reference +TheAlgorithms/C++: search/median_search.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -122,7 +139,9 @@ Include dependency graph for median_search.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -134,7 +153,7 @@ Namespaces

    Namespaces

    namespace  search
    - + @@ -149,6 +168,8 @@ Functions
    Author
    Unknown author
    Sushil Kumar
    + +

    Definition in file median_search.cpp.

    Function Documentation

    ◆ main()

    @@ -165,44 +186,38 @@ Functions

    Functions

    int search::median_search::median_of_medians (const std::vector< int > &A, const int &idx)
    int search::median_search::median_of_medians (const std::vector< int > &A, const int &idx)
     
    void test ()
     

    Main function

    + +

    Definition at line 128 of file median_search.cpp.

    129{
    130 test();
    131 int n = 0;
    -
    132 std::cout << "Enter Size of Array: ";
    -
    133 std::cin >> n;
    -
    134 std::vector<int> a(n);
    -
    135 std::cout << "Enter Array: ";
    +
    132 std::cout << "Enter Size of Array: ";
    +
    133 std::cin >> n;
    +
    134 std::vector<int> a(n);
    +
    135 std::cout << "Enter Array: ";
    136 for(int i = 0; i < n; i++){
    -
    137 std::cin >> a[i];
    +
    137 std::cin >> a[i];
    138 }
    -
    139 std::cout << "Median: "; // Median defination: https://en.wikipedia.org/wiki/Median
    +
    139 std::cout << "Median: "; // Median defination: https://en.wikipedia.org/wiki/Median
    140 int x = search::median_search::median_of_medians(a, (n - 1) / 2);
    141 if(n % 2 == 0){
    -
    143 std::cout << (float(x) + float(y))/2.0;
    +
    143 std::cout << (float(x) + float(y))/2.0;
    144 }
    145 else{
    -
    146 std::cout << x;
    +
    146 std::cout << x;
    147 }
    -
    148 std::cout << "\nTo find i-th smallest element ";
    -
    149 std::cout << "\nEnter i: ";
    +
    148 std::cout << "\nTo find i-th smallest element ";
    +
    149 std::cout << "\nEnter i: ";
    150 int idx = 0;
    -
    151 std::cin >> idx;
    +
    151 std::cin >> idx;
    152 idx--;
    -
    153 std::cout << idx + 1<< "-th smallest element: " << search::median_search::median_of_medians(a, idx) << '\n';
    +
    153 std::cout << idx + 1<< "-th smallest element: " << search::median_search::median_of_medians(a, idx) << '\n';
    154 return 0;
    155}
    - - -
    int median_of_medians(const std::vector< int > &A, const int &idx)
    Definition median_search.cpp:62
    -
    void test()
    Definition median_search.cpp:107
    - -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    int median_of_medians(const std::vector< int > &A, const int &idx)
    +
    void test()
    +
    @@ -214,7 +229,7 @@ Here is the call graph for this function: int search::median_search::median_of_medians ( - const std::vector< int > & A, + const std::vector< int > & A, @@ -231,35 +246,37 @@ Here is the call graph for this function:
    Returns
    corresponding element which we want to search.
    + +

    Definition at line 62 of file median_search.cpp.

    62 {
    63 int pivot = 0; // initialized with zero
    -
    64 std::vector<int> a(A.begin(), A.end());
    - +
    64 std::vector<int> a(A.begin(), A.end());
    +
    65 std::vector<int> m;
    66 int r = a.size();
    67 for(int i = 0; i < r; i += 5){
    -
    68 std::sort(a.begin() + i, a.begin() + std::min(r, i + 5));
    -
    69 int mid = (i + std::min(r, i + 5)) / 2;
    -
    70 m.push_back(a[mid]);
    +
    68 std::sort(a.begin() + i, a.begin() + std::min(r, i + 5));
    +
    69 int mid = (i + std::min(r, i + 5)) / 2;
    +
    70 m.push_back(a[mid]);
    71 }
    -
    72 int sz = int(m.size());
    +
    72 int sz = int(m.size());
    73 if(sz <= 5){
    -
    74 std::sort(m.begin(), m.end());
    +
    74 std::sort(m.begin(), m.end());
    75 pivot = m[(sz- 1) / 2];
    76 }
    77 else{
    78 pivot = median_of_medians(m, idx);
    79 }
    - - +
    80 std::vector<int> low;
    +
    81 std::vector<int> high;
    82 for(int i = 0; i < r; i++){
    83 if(a[i] < pivot){
    -
    84 low.push_back(a[i]);
    +
    84 low.push_back(a[i]);
    85 }
    86 else if(a[i] > pivot){
    -
    87 high.push_back(a[i]);
    +
    87 high.push_back(a[i]);
    88 }
    89 }
    -
    90 int k = int(low.size());
    +
    90 int k = int(low.size());
    91 if(idx < k){
    92 return median_of_medians(low, idx);
    93 }
    @@ -270,19 +287,8 @@ Here is the call graph for this function:
    98 return pivot;
    99 }
    100}
    -
    T begin(T... args)
    -
    double k(double x)
    Another test function.
    Definition composite_simpson_rule.cpp:117
    -
    T end(T... args)
    -
    T min(T... args)
    -
    T push_back(T... args)
    -
    T size(T... args)
    -
    T sort(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    double k(double x)
    Another test function.
    + @@ -300,22 +306,24 @@ Here is the call graph for this function:

    Function to test above algorithm

    + +

    Definition at line 107 of file median_search.cpp.

    107 {
    -
    108 std::vector<int> A{25,21,98,100,76,22,43,60,89,87};
    +
    108 std::vector<int> A{25,21,98,100,76,22,43,60,89,87};
    109 int i = 3;
    110 assert(A[6] == search::median_search::median_of_medians(A, i)); // A[6] = 43, is the fourth smallest element.
    -
    111 std::cout << "test case:1 passed\n";
    +
    111 std::cout << "test case:1 passed\n";
    112
    -
    113 std::vector<int> B{1,2,3,4,5,6};
    +
    113 std::vector<int> B{1,2,3,4,5,6};
    114 int j = 4;
    115 assert(B[4] == search::median_search::median_of_medians(B, j)); // B[4] = 5, is the fifth smallest element.
    -
    116 std::cout << "test case:2 passed\n";
    +
    116 std::cout << "test case:2 passed\n";
    117
    -
    118 std::vector<int> C{1,2,3,4,5,1000,8,9,99};
    +
    118 std::vector<int> C{1,2,3,4,5,1000,8,9,99};
    119 int k = 3;
    120 assert(C[3] == search::median_search::median_of_medians(C, k)); // C[3] = 4, is the fourth smallest element.
    -
    121 std::cout << "test case:3 passed\n";
    -
    122 std::cout << "--All tests passed--\n";
    +
    121 std::cout << "test case:3 passed\n";
    +
    122 std::cout << "--All tests passed--\n";
    123}
    diff --git a/d9/d69/median__search_8cpp_a868847218f694e78bf433a0ff7648bae_cgraph.map b/d9/d69/median__search_8cpp_a868847218f694e78bf433a0ff7648bae_cgraph.map deleted file mode 100644 index f593e99f2..000000000 --- a/d9/d69/median__search_8cpp_a868847218f694e78bf433a0ff7648bae_cgraph.map +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - - - - - diff --git a/d9/d69/median__search_8cpp_a868847218f694e78bf433a0ff7648bae_cgraph.md5 b/d9/d69/median__search_8cpp_a868847218f694e78bf433a0ff7648bae_cgraph.md5 deleted file mode 100644 index fcf2c656e..000000000 --- a/d9/d69/median__search_8cpp_a868847218f694e78bf433a0ff7648bae_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -a04aca9f360b8cda8c4eed31461764de \ No newline at end of file diff --git a/d9/d69/median__search_8cpp_a868847218f694e78bf433a0ff7648bae_cgraph.svg b/d9/d69/median__search_8cpp_a868847218f694e78bf433a0ff7648bae_cgraph.svg deleted file mode 100644 index 2f2331eb9..000000000 --- a/d9/d69/median__search_8cpp_a868847218f694e78bf433a0ff7648bae_cgraph.svg +++ /dev/null @@ -1,165 +0,0 @@ - - - - - - - - - - - - -search::median_search::median_of_medians - - -Node1 - - -search::median_search -::median_of_medians - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::vector::begin - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::vector::end - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::min - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::vector::push_back - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -std::vector::size - - - - - -Node1->Node6 - - - - - - - - -Node7 - - -std::sort - - - - - -Node1->Node7 - - - - - - - - - - - - - diff --git a/d9/d69/median__search_8cpp_a868847218f694e78bf433a0ff7648bae_cgraph_org.svg b/d9/d69/median__search_8cpp_a868847218f694e78bf433a0ff7648bae_cgraph_org.svg deleted file mode 100644 index 2ad482332..000000000 --- a/d9/d69/median__search_8cpp_a868847218f694e78bf433a0ff7648bae_cgraph_org.svg +++ /dev/null @@ -1,139 +0,0 @@ - - - - - - -search::median_search::median_of_medians - - -Node1 - - -search::median_search -::median_of_medians - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::vector::begin - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::vector::end - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::min - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::vector::push_back - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -std::vector::size - - - - - -Node1->Node6 - - - - - - - - -Node7 - - -std::sort - - - - - -Node1->Node7 - - - - - - - - diff --git a/d9/d69/median__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d9/d69/median__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 506641a27..000000000 --- a/d9/d69/median__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d9/d69/median__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d9/d69/median__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index f524bb217..000000000 --- a/d9/d69/median__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -d3e392789b36ef8a470c82b495ed242d \ No newline at end of file diff --git a/d9/d69/median__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d9/d69/median__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 0e6ddfb1b..000000000 --- a/d9/d69/median__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d9/d69/median__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d9/d69/median__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 0c8afdd3b..000000000 --- a/d9/d69/median__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - diff --git a/d9/d69/median__search_8cpp_source.html b/d9/d69/median__search_8cpp_source.html new file mode 100644 index 000000000..907df1f8d --- /dev/null +++ b/d9/d69/median__search_8cpp_source.html @@ -0,0 +1,245 @@ + + + + + + + + +TheAlgorithms/C++: search/median_search.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    median_search.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    41#include <iostream>
    +
    42#include <algorithm>
    +
    43#include <vector>
    +
    44#include <cassert>
    +
    45
    +
    50namespace search {
    +
    55namespace median_search {
    +
    +
    62int median_of_medians(const std::vector<int>& A, const int& idx) {
    +
    63 int pivot = 0; // initialized with zero
    +
    64 std::vector<int> a(A.begin(), A.end());
    +
    65 std::vector<int> m;
    +
    66 int r = a.size();
    +
    67 for(int i = 0; i < r; i += 5){
    +
    68 std::sort(a.begin() + i, a.begin() + std::min(r, i + 5));
    +
    69 int mid = (i + std::min(r, i + 5)) / 2;
    +
    70 m.push_back(a[mid]);
    +
    71 }
    +
    72 int sz = int(m.size());
    +
    73 if(sz <= 5){
    +
    74 std::sort(m.begin(), m.end());
    +
    75 pivot = m[(sz- 1) / 2];
    +
    76 }
    +
    77 else{
    +
    78 pivot = median_of_medians(m, idx);
    +
    79 }
    +
    80 std::vector<int> low;
    +
    81 std::vector<int> high;
    +
    82 for(int i = 0; i < r; i++){
    +
    83 if(a[i] < pivot){
    +
    84 low.push_back(a[i]);
    +
    85 }
    +
    86 else if(a[i] > pivot){
    +
    87 high.push_back(a[i]);
    +
    88 }
    +
    89 }
    +
    90 int k = int(low.size());
    +
    91 if(idx < k){
    +
    92 return median_of_medians(low, idx);
    +
    93 }
    +
    94 else if(idx > k){
    +
    95 return median_of_medians(high, idx-k-1);
    +
    96 }
    +
    97 else{
    +
    98 return pivot;
    +
    99 }
    +
    100}
    +
    +
    101} // namespace median_search
    +
    102} // namespace search
    +
    103
    +
    +
    107void test(){
    +
    108 std::vector<int> A{25,21,98,100,76,22,43,60,89,87};
    +
    109 int i = 3;
    +
    110 assert(A[6] == search::median_search::median_of_medians(A, i)); // A[6] = 43, is the fourth smallest element.
    +
    111 std::cout << "test case:1 passed\n";
    +
    112
    +
    113 std::vector<int> B{1,2,3,4,5,6};
    +
    114 int j = 4;
    +
    115 assert(B[4] == search::median_search::median_of_medians(B, j)); // B[4] = 5, is the fifth smallest element.
    +
    116 std::cout << "test case:2 passed\n";
    +
    117
    +
    118 std::vector<int> C{1,2,3,4,5,1000,8,9,99};
    +
    119 int k = 3;
    +
    120 assert(C[3] == search::median_search::median_of_medians(C, k)); // C[3] = 4, is the fourth smallest element.
    +
    121 std::cout << "test case:3 passed\n";
    +
    122 std::cout << "--All tests passed--\n";
    +
    123}
    +
    +
    124
    +
    +
    128int main()
    +
    129{
    +
    130 test();
    +
    131 int n = 0;
    +
    132 std::cout << "Enter Size of Array: ";
    +
    133 std::cin >> n;
    +
    134 std::vector<int> a(n);
    +
    135 std::cout << "Enter Array: ";
    +
    136 for(int i = 0; i < n; i++){
    +
    137 std::cin >> a[i];
    +
    138 }
    +
    139 std::cout << "Median: "; // Median defination: https://en.wikipedia.org/wiki/Median
    +
    140 int x = search::median_search::median_of_medians(a, (n - 1) / 2);
    +
    141 if(n % 2 == 0){
    +
    142 int y = search::median_search::median_of_medians(a, n / 2);
    +
    143 std::cout << (float(x) + float(y))/2.0;
    +
    144 }
    +
    145 else{
    +
    146 std::cout << x;
    +
    147 }
    +
    148 std::cout << "\nTo find i-th smallest element ";
    +
    149 std::cout << "\nEnter i: ";
    +
    150 int idx = 0;
    +
    151 std::cin >> idx;
    +
    152 idx--;
    +
    153 std::cout << idx + 1<< "-th smallest element: " << search::median_search::median_of_medians(a, idx) << '\n';
    +
    154 return 0;
    +
    155}
    +
    +
    156
    +
    int median_of_medians(const std::vector< int > &A, const int &idx)
    +
    void test()
    +
    int main()
    +
    Functions for Median search algorithm.
    +
    for std::assert
    +
    +
    + + + + diff --git a/d9/d6b/coin__change_8cpp_source.html b/d9/d6b/coin__change_8cpp_source.html new file mode 100644 index 000000000..4a531d4c2 --- /dev/null +++ b/d9/d6b/coin__change_8cpp_source.html @@ -0,0 +1,189 @@ + + + + + + + + +TheAlgorithms/C++: dynamic_programming/coin_change.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    coin_change.cpp
    +
    +
    +
    1#include <climits>
    +
    2#include <iostream>
    +
    3#include <vector>
    +
    4using namespace std;
    +
    5
    +
    6// Function to find the Minimum number of coins required to get Sum S
    +
    7int findMinCoins(int arr[], int n, int N) {
    +
    8 // dp[i] = no of coins required to get a total of i
    +
    9 std::vector<int> dp(N + 1);
    +
    10
    +
    11 // 0 coins are needed for 0 sum
    +
    12
    +
    13 dp[0] = 0;
    +
    14
    +
    15 for (int i = 1; i <= N; i++) {
    +
    16 // initialize minimum number of coins needed to infinity
    +
    17 dp[i] = INT_MAX;
    +
    18 int res = INT_MAX;
    +
    19
    +
    20 // do for each coin
    +
    21 for (int c = 0; c < n; c++) {
    +
    22 if (i - arr[c] >=
    +
    23 0) // check if coins doesn't become negative by including it
    +
    24 res = dp[i - arr[c]];
    +
    25
    +
    26 // if total can be reached by including current coin c,
    +
    27 // update minimum number of coins needed dp[i]
    +
    28 if (res != INT_MAX)
    +
    29 dp[i] = min(dp[i], res + 1);
    +
    30 }
    +
    31 }
    +
    32
    +
    33 // The Minimum No of Coins Required for N = dp[N]
    +
    34 return dp[N];
    +
    35}
    +
    36
    +
    37int main() {
    +
    38 // No of Coins We Have
    +
    39 int arr[] = {1, 2, 3, 4};
    +
    40 int n = sizeof(arr) / sizeof(arr[0]);
    +
    41
    +
    42 // Total Change Required
    +
    43 int N = 15;
    +
    44
    +
    45 cout << "Minimum Number of Coins Required " << findMinCoins(arr, n, N)
    +
    46 << "\n";
    +
    47
    +
    48 return 0;
    +
    49}
    +
    int main()
    Main function.
    +
    for std::vector
    +
    constexpr uint32_t N
    A struct to represent sparse table for min() as their invariant function, for the given array A....
    +
    +
    + + + + diff --git a/d9/d70/namespacequeue__using__array.html b/d9/d70/namespacequeue__using__array.html index 29e97df19..5f7935884 100644 --- a/d9/d70/namespacequeue__using__array.html +++ b/d9/d70/namespacequeue__using__array.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: queue_using_array Namespace Reference +TheAlgorithms/C++: queue_using_array Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/d9/d75/namespacednf__sort.html b/d9/d75/namespacednf__sort.html index ed1bd9c7b..a2b684d4c 100644 --- a/d9/d75/namespacednf__sort.html +++ b/d9/d75/namespacednf__sort.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: dnf_sort Namespace Reference +TheAlgorithms/C++: dnf_sort Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/d9/d80/trapped__rainwater_8cpp.html b/d9/d80/trapped__rainwater_8cpp.html index 9d6eca16f..7d73dc35f 100644 --- a/d9/d80/trapped__rainwater_8cpp.html +++ b/d9/d80/trapped__rainwater_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: dynamic_programming/trapped_rainwater.cpp File Reference +TheAlgorithms/C++: dynamic_programming/trapped_rainwater.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + @@ -123,7 +140,9 @@ Include dependency graph for trapped_rainwater.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -132,7 +151,7 @@ Namespaces

    Namespaces

    namespace  dynamic_programming
    - + @@ -145,6 +164,8 @@ Functions

    Detailed Description

    Implementation of the Trapped Rainwater Problem

    This implementation calculates the amount of rainwater that can be trapped between walls represented by an array of heights.

    Author
    SOZEL
    + +

    Definition in file trapped_rainwater.cpp.

    Function Documentation

    ◆ main()

    @@ -163,17 +184,14 @@ Functions

    Main function.

    Returns
    0 on exit
    + +

    Definition at line 101 of file trapped_rainwater.cpp.

    101 {
    102 test(); // run self-test implementations
    103 return 0;
    104}
    -
    static void test()
    Self-test implementations.
    Definition trapped_rainwater.cpp:62
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static void test()
    Self-test implementations.
    + @@ -201,48 +219,44 @@ Here is the call graph for this function:

    Self-test implementations.

    Returns
    void
    + +

    Definition at line 62 of file trapped_rainwater.cpp.

    62 {
    -
    63 std::vector<uint32_t> test_basic = {0, 1, 0, 2, 1, 0, 1, 3, 2, 1, 2, 1};
    +
    63 std::vector<uint32_t> test_basic = {0, 1, 0, 2, 1, 0, 1, 3, 2, 1, 2, 1};
    64 assert(dynamic_programming::trappedRainwater(test_basic) == 6);
    65
    -
    66 std::vector<uint32_t> test_peak_under_water = {3, 0, 2, 0, 4};
    +
    66 std::vector<uint32_t> test_peak_under_water = {3, 0, 2, 0, 4};
    67 assert(dynamic_programming::trappedRainwater(test_peak_under_water) == 7);
    68
    -
    69 std::vector<uint32_t> test_bucket = {5, 1, 5};
    +
    69 std::vector<uint32_t> test_bucket = {5, 1, 5};
    70 assert(dynamic_programming::trappedRainwater(test_bucket) == 4);
    71
    -
    72 std::vector<uint32_t> test_skewed_bucket = {4, 1, 5};
    +
    72 std::vector<uint32_t> test_skewed_bucket = {4, 1, 5};
    73 assert(dynamic_programming::trappedRainwater(test_skewed_bucket) == 3);
    74
    -
    75 std::vector<uint32_t> test_empty = {};
    +
    75 std::vector<uint32_t> test_empty = {};
    76 assert(dynamic_programming::trappedRainwater(test_empty) == 0);
    77
    -
    78 std::vector<uint32_t> test_flat = {0, 0, 0, 0, 0};
    +
    78 std::vector<uint32_t> test_flat = {0, 0, 0, 0, 0};
    79 assert(dynamic_programming::trappedRainwater(test_flat) == 0);
    80
    -
    81 std::vector<uint32_t> test_no_trapped_water = {1, 1, 2, 4, 0, 0, 0};
    +
    81 std::vector<uint32_t> test_no_trapped_water = {1, 1, 2, 4, 0, 0, 0};
    82 assert(dynamic_programming::trappedRainwater(test_no_trapped_water) == 0);
    83
    -
    84 std::vector<uint32_t> test_single_elevation = {5};
    +
    84 std::vector<uint32_t> test_single_elevation = {5};
    85 assert(dynamic_programming::trappedRainwater(test_single_elevation) == 0);
    86
    -
    87 std::vector<uint32_t> test_two_point_elevation = {5, 1};
    +
    87 std::vector<uint32_t> test_two_point_elevation = {5, 1};
    88 assert(dynamic_programming::trappedRainwater(test_two_point_elevation) ==
    89 0);
    90
    -
    91 std::vector<uint32_t> test_large_elevation_map_difference = {5, 1, 6, 1,
    +
    91 std::vector<uint32_t> test_large_elevation_map_difference = {5, 1, 6, 1,
    92 7, 1, 8};
    94 test_large_elevation_map_difference) == 15);
    95}
    -
    uint32_t trappedRainwater(const std::vector< uint32_t > &heights)
    Function to calculate the trapped rainwater.
    Definition trapped_rainwater.cpp:27
    - -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    uint32_t trappedRainwater(const std::vector< uint32_t > &heights)
    Function to calculate the trapped rainwater.
    + diff --git a/d9/d80/trapped__rainwater_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map b/d9/d80/trapped__rainwater_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map deleted file mode 100644 index f8ab413f7..000000000 --- a/d9/d80/trapped__rainwater_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/d9/d80/trapped__rainwater_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 b/d9/d80/trapped__rainwater_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 deleted file mode 100644 index 9e81044d7..000000000 --- a/d9/d80/trapped__rainwater_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -24ed3c31a50a8e646f51ce7bd657d22a \ No newline at end of file diff --git a/d9/d80/trapped__rainwater_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg b/d9/d80/trapped__rainwater_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg deleted file mode 100644 index f66c1d927..000000000 --- a/d9/d80/trapped__rainwater_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -dynamic_programming -::trappedRainwater - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::max - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::min - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -std::vector::size - - - - - -Node2->Node5 - - - - - - - - - - - - - diff --git a/d9/d80/trapped__rainwater_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg b/d9/d80/trapped__rainwater_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg deleted file mode 100644 index 1c3504ec8..000000000 --- a/d9/d80/trapped__rainwater_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -dynamic_programming -::trappedRainwater - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::max - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::min - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -std::vector::size - - - - - -Node2->Node5 - - - - - - - - diff --git a/d9/d80/trapped__rainwater_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d9/d80/trapped__rainwater_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 22d23d3bb..000000000 --- a/d9/d80/trapped__rainwater_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - diff --git a/d9/d80/trapped__rainwater_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d9/d80/trapped__rainwater_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index f5adb3637..000000000 --- a/d9/d80/trapped__rainwater_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -9d9b9a28bb3fd483ee9089311f8f072a \ No newline at end of file diff --git a/d9/d80/trapped__rainwater_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d9/d80/trapped__rainwater_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index b7d112921..000000000 --- a/d9/d80/trapped__rainwater_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,138 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -dynamic_programming -::trappedRainwater - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::max - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -std::min - - - - - -Node3->Node5 - - - - - - - - -Node6 - - -std::vector::size - - - - - -Node3->Node6 - - - - - - - - - - - - - diff --git a/d9/d80/trapped__rainwater_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d9/d80/trapped__rainwater_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 9aa728d9b..000000000 --- a/d9/d80/trapped__rainwater_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,112 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -dynamic_programming -::trappedRainwater - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::max - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -std::min - - - - - -Node3->Node5 - - - - - - - - -Node6 - - -std::vector::size - - - - - -Node3->Node6 - - - - - - - - diff --git a/d9/d80/trapped__rainwater_8cpp_source.html b/d9/d80/trapped__rainwater_8cpp_source.html new file mode 100644 index 000000000..0ed1fc0d2 --- /dev/null +++ b/d9/d80/trapped__rainwater_8cpp_source.html @@ -0,0 +1,229 @@ + + + + + + + + +TheAlgorithms/C++: dynamic_programming/trapped_rainwater.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    +

    Functions

    uint32_t dynamic_programming::trappedRainwater (const std::vector< uint32_t > &heights)
    uint32_t dynamic_programming::trappedRainwater (const std::vector< uint32_t > &heights)
     Function to calculate the trapped rainwater.
     
    static void test ()
    + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + + +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    trapped_rainwater.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    11#include <algorithm>
    +
    12#include <cassert>
    +
    13#include <cstddef>
    +
    14#include <cstdint>
    +
    15#include <vector>
    +
    16
    +
    17/*
    +
    18 * @namespace
    +
    19 * @brief Dynamic Programming Algorithms
    +
    20 */
    +
    21namespace dynamic_programming {
    +
    +
    27uint32_t trappedRainwater(const std::vector<uint32_t>& heights) {
    +
    28 std::size_t n = heights.size();
    +
    29 if (n <= 2)
    +
    30 return 0; // No water can be trapped with less than 3 walls
    +
    31
    +
    32 std::vector<uint32_t> leftMax(n), rightMax(n);
    +
    33
    +
    34 // Calculate the maximum height of wall to the left of each wall
    +
    35 leftMax[0] = heights[0];
    +
    36 for (std::size_t i = 1; i < n; ++i) {
    +
    37 leftMax[i] = std::max(leftMax[i - 1], heights[i]);
    +
    38 }
    +
    39
    +
    40 // Calculate the maximum height of wall to the right of each wall
    +
    41 rightMax[n - 1] = heights[n - 1];
    +
    42 for (std::size_t i = n - 2; i < n; --i) {
    +
    43 rightMax[i] = std::max(rightMax[i + 1], heights[i]);
    +
    44 }
    +
    45
    +
    46 // Calculate the trapped rainwater between walls
    +
    47 uint32_t trappedWater = 0;
    +
    48 for (std::size_t i = 0; i < n; ++i) {
    +
    49 trappedWater +=
    +
    50 std::max(0u, std::min(leftMax[i], rightMax[i]) - heights[i]);
    +
    51 }
    +
    52
    +
    53 return trappedWater;
    +
    54}
    +
    +
    55
    +
    56} // namespace dynamic_programming
    +
    57
    +
    +
    62static void test() {
    +
    63 std::vector<uint32_t> test_basic = {0, 1, 0, 2, 1, 0, 1, 3, 2, 1, 2, 1};
    +
    64 assert(dynamic_programming::trappedRainwater(test_basic) == 6);
    +
    65
    +
    66 std::vector<uint32_t> test_peak_under_water = {3, 0, 2, 0, 4};
    +
    67 assert(dynamic_programming::trappedRainwater(test_peak_under_water) == 7);
    +
    68
    +
    69 std::vector<uint32_t> test_bucket = {5, 1, 5};
    +
    70 assert(dynamic_programming::trappedRainwater(test_bucket) == 4);
    +
    71
    +
    72 std::vector<uint32_t> test_skewed_bucket = {4, 1, 5};
    +
    73 assert(dynamic_programming::trappedRainwater(test_skewed_bucket) == 3);
    +
    74
    +
    75 std::vector<uint32_t> test_empty = {};
    +
    76 assert(dynamic_programming::trappedRainwater(test_empty) == 0);
    +
    77
    +
    78 std::vector<uint32_t> test_flat = {0, 0, 0, 0, 0};
    +
    79 assert(dynamic_programming::trappedRainwater(test_flat) == 0);
    +
    80
    +
    81 std::vector<uint32_t> test_no_trapped_water = {1, 1, 2, 4, 0, 0, 0};
    +
    82 assert(dynamic_programming::trappedRainwater(test_no_trapped_water) == 0);
    +
    83
    +
    84 std::vector<uint32_t> test_single_elevation = {5};
    +
    85 assert(dynamic_programming::trappedRainwater(test_single_elevation) == 0);
    +
    86
    +
    87 std::vector<uint32_t> test_two_point_elevation = {5, 1};
    +
    88 assert(dynamic_programming::trappedRainwater(test_two_point_elevation) ==
    +
    89 0);
    +
    90
    +
    91 std::vector<uint32_t> test_large_elevation_map_difference = {5, 1, 6, 1,
    +
    92 7, 1, 8};
    + +
    94 test_large_elevation_map_difference) == 15);
    +
    95}
    +
    +
    96
    +
    +
    101int main() {
    +
    102 test(); // run self-test implementations
    +
    103 return 0;
    +
    104}
    +
    +
    Dynamic Programming algorithms.
    +
    uint32_t trappedRainwater(const std::vector< uint32_t > &heights)
    Function to calculate the trapped rainwater.
    +
    static void test()
    Self-test implementations.
    +
    int main()
    Main function.
    +
    +
    + + + + diff --git a/d9/d85/selection__sort__iterative_8cpp_source.html b/d9/d85/selection__sort__iterative_8cpp_source.html new file mode 100644 index 000000000..a85934aef --- /dev/null +++ b/d9/d85/selection__sort__iterative_8cpp_source.html @@ -0,0 +1,267 @@ + + + + + + + + +TheAlgorithms/C++: sorting/selection_sort_iterative.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    selection_sort_iterative.cpp
    +
    +
    +
    1/******************************************************************************
    +
    2 * @file
    +
    3 * @brief Implementation of the [Selection
    +
    4 * sort](https://en.wikipedia.org/wiki/Selection_sort) implementation using
    +
    5 * swapping
    +
    6 * @details
    +
    7 * The selection sort algorithm divides the input vector into two parts: a
    +
    8 * sorted subvector of items which is built up from left to right at the front
    +
    9 * (left) of the vector, and a subvector of the remaining unsorted items that
    +
    10 * occupy the rest of the vector. Initially, the sorted subvector is empty, and
    +
    11 * the unsorted subvector is the entire input vector. The algorithm proceeds by
    +
    12 * finding the smallest (or largest, depending on the sorting order) element in
    +
    13 * the unsorted subvector, exchanging (swapping) it with the leftmost unsorted
    +
    14 * element (putting it in sorted order), and moving the subvector boundaries one
    +
    15 * element to the right.
    +
    16 *
    +
    17 * ### Implementation
    +
    18 *
    +
    19 * SelectionSort
    +
    20 * The algorithm divides the input vector into two parts: the subvector of items
    +
    21 * already sorted, which is built up from left to right. Initially, the sorted
    +
    22 * subvector is empty and the unsorted subvector is the entire input vector. The
    +
    23 * algorithm proceeds by finding the smallest element in the unsorted subvector,
    +
    24 * exchanging (swapping) it with the leftmost unsorted element (putting it in
    +
    25 * sorted order), and moving the subvector boundaries one element to the right.
    +
    26 *
    +
    27 * @author [Lajat Manekar](https://github.com/Lazeeez)
    +
    28 * @author Unknown author
    +
    29 *******************************************************************************/
    +
    30#include <algorithm>
    +
    31#include <cassert>
    +
    32#include <cstdint>
    +
    33#include <iostream>
    +
    34#include <vector>
    +
    35
    +
    36/******************************************************************************
    +
    37 * @namespace sorting
    +
    38 * @brief Sorting algorithms
    +
    39 *******************************************************************************/
    +
    40namespace sorting {
    +
    41/******************************************************************************
    +
    42 * @brief The main function which implements Selection sort
    +
    43 * @param arr vector to be sorted
    +
    44 * @param len length of vector to be sorted
    +
    45 * @returns @param array resultant sorted vector
    +
    46 *******************************************************************************/
    +
    47
    +
    48std::vector<uint64_t> selectionSort(const std::vector<uint64_t> &arr,
    +
    49 uint64_t len) {
    +
    50 std::vector<uint64_t> array(
    +
    51 arr.begin(),
    +
    52 arr.end()); // declare a vector in which result will be stored
    +
    53 for (uint64_t it = 0; it < len; ++it) {
    +
    54 uint64_t min = it; // set min value
    +
    55 for (uint64_t it2 = it + 1; it2 < len; ++it2) {
    +
    56 if (array[it2] < array[min]) { // check which element is smaller
    +
    57 min = it2; // store index of smallest element to min
    +
    58 }
    +
    59 }
    +
    60
    +
    61 if (min != it) { // swap if min does not match to i
    +
    62 uint64_t tmp = array[min];
    +
    63 array[min] = array[it];
    +
    64 array[it] = tmp;
    +
    65 }
    +
    66 }
    +
    67
    +
    68 return array; // return sorted vector
    +
    69}
    +
    70} // namespace sorting
    +
    71
    +
    72/*******************************************************************************
    +
    73 * @brief Self-test implementations
    +
    74 * @returns void
    +
    75 *******************************************************************************/
    +
    76static void test() {
    +
    77 // testcase #1
    +
    78 // [1, 0, 0, 1, 1, 0, 2, 1] returns [0, 0, 0, 1, 1, 1, 1, 2]
    +
    79 std::vector<uint64_t> vector1 = {1, 0, 0, 1, 1, 0, 2, 1};
    +
    80 uint64_t vector1size = vector1.size();
    +
    81 std::cout << "1st test... ";
    +
    82 std::vector<uint64_t> result_test1;
    +
    83 result_test1 = sorting::selectionSort(vector1, vector1size);
    +
    84 assert(std::is_sorted(result_test1.begin(), result_test1.end()));
    +
    85 std::cout << "Passed" << std::endl;
    +
    86
    +
    87 // testcase #2
    +
    88 // [19, 22, 540, 241, 156, 140, 12, 1] returns [1, 12, 19, 22, 140, 156,
    +
    89 // 241,540]
    +
    90 std::vector<uint64_t> vector2 = {19, 22, 540, 241, 156, 140, 12, 1};
    +
    91 uint64_t vector2size = vector2.size();
    +
    92 std::cout << "2nd test... ";
    +
    93 std::vector<uint64_t> result_test2;
    +
    94 result_test2 = sorting::selectionSort(vector2, vector2size);
    +
    95 assert(std::is_sorted(result_test2.begin(), result_test2.end()));
    +
    96 std::cout << "Passed" << std::endl;
    +
    97
    +
    98 // testcase #3
    +
    99 // [11, 20, 30, 41, 15, 60, 82, 15] returns [11, 15, 15, 20, 30, 41, 60, 82]
    +
    100 std::vector<uint64_t> vector3 = {11, 20, 30, 41, 15, 60, 82, 15};
    +
    101 uint64_t vector3size = vector3.size();
    +
    102 std::cout << "3rd test... ";
    +
    103 std::vector<uint64_t> result_test3;
    +
    104 result_test3 = sorting::selectionSort(vector3, vector3size);
    +
    105 assert(std::is_sorted(result_test3.begin(), result_test3.end()));
    +
    106 std::cout << "Passed" << std::endl;
    +
    107
    +
    108 // testcase #4
    +
    109 // [1, 9, 11, 546, 26, 65, 212, 14, -11] returns [-11, 1, 9, 11, 14, 26, 65,
    +
    110 // 212, 546]
    +
    111 std::vector<uint64_t> vector4 = {1, 9, 11, 546, 26, 65, 212, 14};
    +
    112 uint64_t vector4size = vector2.size();
    +
    113 std::cout << "4th test... ";
    +
    114 std::vector<uint64_t> result_test4;
    +
    115 result_test4 = sorting::selectionSort(vector4, vector4size);
    +
    116 assert(std::is_sorted(result_test4.begin(), result_test4.end()));
    +
    117 std::cout << "Passed" << std::endl;
    +
    118}
    +
    119
    +
    120/*******************************************************************************
    +
    121 * @brief Main function
    +
    122 * @returns 0 on exit
    +
    123 *******************************************************************************/
    +
    124int main() {
    +
    125 test(); // run self-test implementations
    +
    126 return 0;
    +
    127}
    +
    void test()
    +
    int main()
    Main function.
    +
    for working with vectors
    +
    +
    + + + + diff --git a/d9/d85/structstd_1_1is__unsigned_3_01uint128__t_01_4__inherit__graph.map b/d9/d85/structstd_1_1is__unsigned_3_01uint128__t_01_4__inherit__graph.map index 37a7c2e4c..a34b2b0ed 100644 --- a/d9/d85/structstd_1_1is__unsigned_3_01uint128__t_01_4__inherit__graph.map +++ b/d9/d85/structstd_1_1is__unsigned_3_01uint128__t_01_4__inherit__graph.map @@ -1,5 +1,5 @@ - + diff --git a/d9/d85/structstd_1_1is__unsigned_3_01uint128__t_01_4__inherit__graph.md5 b/d9/d85/structstd_1_1is__unsigned_3_01uint128__t_01_4__inherit__graph.md5 index 443f973ea..a5d3325c5 100644 --- a/d9/d85/structstd_1_1is__unsigned_3_01uint128__t_01_4__inherit__graph.md5 +++ b/d9/d85/structstd_1_1is__unsigned_3_01uint128__t_01_4__inherit__graph.md5 @@ -1 +1 @@ -a18170162392886a96741c2eb8222654 \ No newline at end of file +a8f7d2e6c774fe67f34c2f81999b394c \ No newline at end of file diff --git a/d9/d85/structstd_1_1is__unsigned_3_01uint128__t_01_4__inherit__graph.svg b/d9/d85/structstd_1_1is__unsigned_3_01uint128__t_01_4__inherit__graph.svg index c817ebd59..dc67d8b81 100644 --- a/d9/d85/structstd_1_1is__unsigned_3_01uint128__t_01_4__inherit__graph.svg +++ b/d9/d85/structstd_1_1is__unsigned_3_01uint128__t_01_4__inherit__graph.svg @@ -31,7 +31,7 @@ Node2 - + std::true_type diff --git a/d9/d85/structstd_1_1is__unsigned_3_01uint128__t_01_4__inherit__graph_org.svg b/d9/d85/structstd_1_1is__unsigned_3_01uint128__t_01_4__inherit__graph_org.svg index 91dcbf896..9a8e4ed1b 100644 --- a/d9/d85/structstd_1_1is__unsigned_3_01uint128__t_01_4__inherit__graph_org.svg +++ b/d9/d85/structstd_1_1is__unsigned_3_01uint128__t_01_4__inherit__graph_org.svg @@ -20,7 +20,7 @@ Node2 - + std::true_type diff --git a/d9/d89/fibonacci_8cpp.html b/d9/d89/fibonacci_8cpp.html index c2156b90e..31a0a49d5 100644 --- a/d9/d89/fibonacci_8cpp.html +++ b/d9/d89/fibonacci_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: math/fibonacci.cpp File Reference +TheAlgorithms/C++: math/fibonacci.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -121,7 +138,9 @@ Include dependency graph for fibonacci.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -149,6 +168,8 @@ Functions \[\text{fib}(n) = \text{fib}(n-1) + \text{fib}(n-2)\]

    See also
    fibonacci_large.cpp, fibonacci_fast.cpp, string_fibonacci.cpp
    + +

    Definition in file fibonacci.cpp.

    Function Documentation

    ◆ fibonacci()

    @@ -173,6 +194,8 @@ Functions
    Returns
    n-th element of the Fibonacci's sequence
    + +

    Definition at line 32 of file fibonacci.cpp.

    32 {
    33 // If the input is 0 or 1 just return the same (Base Case)
    34 // This will set the first 2 values of the sequence
    @@ -204,17 +227,14 @@ Functions

    Main function.

    Returns
    0 on exit
    + +

    Definition at line 64 of file fibonacci.cpp.

    64 {
    65 test(); // run self-test implementations
    66 return 0;
    67}
    -
    static void test()
    Self-test implementation.
    Definition fibonacci.cpp:49
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static void test()
    Self-test implementation.
    Definition fibonacci.cpp:49
    +
    @@ -242,6 +262,8 @@ Here is the call graph for this function:

    Self-test implementation.

    Returns
    void
    + +

    Definition at line 49 of file fibonacci.cpp.

    49 {
    50 assert(math::fibonacci::fibonacci(0) == 0);
    51 assert(math::fibonacci::fibonacci(1) == 1);
    @@ -250,9 +272,8 @@ Here is the call graph for this function:
    54 assert(math::fibonacci::fibonacci(4) == 3);
    55 assert(math::fibonacci::fibonacci(15) == 610);
    56 assert(math::fibonacci::fibonacci(20) == 6765);
    -
    57 std::cout << "All tests have passed successfully!\n";
    +
    57 std::cout << "All tests have passed successfully!\n";
    58}
    - diff --git a/d9/d89/fibonacci_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d9/d89/fibonacci_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 19c086a36..000000000 --- a/d9/d89/fibonacci_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d9/d89/fibonacci_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d9/d89/fibonacci_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index 1d8bd50d5..000000000 --- a/d9/d89/fibonacci_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -f7fe1edb2eb3a1db4663c8809409b97f \ No newline at end of file diff --git a/d9/d89/fibonacci_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d9/d89/fibonacci_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 66dd17b5e..000000000 --- a/d9/d89/fibonacci_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d9/d89/fibonacci_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d9/d89/fibonacci_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index abff14eec..000000000 --- a/d9/d89/fibonacci_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - diff --git a/d9/d89/fibonacci_8cpp_source.html b/d9/d89/fibonacci_8cpp_source.html new file mode 100644 index 000000000..3ed6b12c0 --- /dev/null +++ b/d9/d89/fibonacci_8cpp_source.html @@ -0,0 +1,182 @@ + + + + + + + + +TheAlgorithms/C++: math/fibonacci.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    +

    Namespaces

    namespace  math
    + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + + +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    fibonacci.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    13#include <cstdint>
    +
    14#include <cassert>
    +
    15#include <iostream>
    +
    16
    +
    21namespace math {
    +
    26namespace fibonacci {
    +
    +
    32uint64_t fibonacci(uint64_t n) {
    +
    33 // If the input is 0 or 1 just return the same (Base Case)
    +
    34 // This will set the first 2 values of the sequence
    +
    35 if (n <= 1) {
    +
    36 return n;
    +
    37 }
    +
    38
    +
    39 // Add the preceding 2 values of the sequence to get next
    +
    40 return fibonacci(n - 1) + fibonacci(n - 2);
    +
    41}
    +
    +
    42} // namespace fibonacci
    +
    43} // namespace math
    +
    44
    +
    +
    49static void test() {
    +
    50 assert(math::fibonacci::fibonacci(0) == 0);
    +
    51 assert(math::fibonacci::fibonacci(1) == 1);
    +
    52 assert(math::fibonacci::fibonacci(2) == 1);
    +
    53 assert(math::fibonacci::fibonacci(3) == 2);
    +
    54 assert(math::fibonacci::fibonacci(4) == 3);
    +
    55 assert(math::fibonacci::fibonacci(15) == 610);
    +
    56 assert(math::fibonacci::fibonacci(20) == 6765);
    +
    57 std::cout << "All tests have passed successfully!\n";
    +
    58}
    +
    +
    59
    +
    +
    64int main() {
    +
    65 test(); // run self-test implementations
    +
    66 return 0;
    +
    67}
    +
    +
    static void test()
    Self-test implementation.
    Definition fibonacci.cpp:49
    +
    int main()
    Main function.
    Definition fibonacci.cpp:64
    +
    Functions for Fibonacci sequence.
    +
    for assert
    +
    +
    + + + + diff --git a/d9/d90/struct_btree.html b/d9/d90/struct_btree.html index 5b85fc211..4cb0e0d74 100644 --- a/d9/d90/struct_btree.html +++ b/d9/d90/struct_btree.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Btree Struct Reference +TheAlgorithms/C++: Btree Struct Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -118,18 +135,67 @@ Collaboration diagram for Btree:
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    - + - + - +

    Public Attributes

    -int data
    int data
     
    -struct Btreeleft
    struct Btreeleft
     
    -struct Btreeright
    struct Btreeright
     
    +

    Detailed Description

    +
    +

    Definition at line 10 of file morrisinorder.cpp.

    +

    Member Data Documentation

    + +

    ◆ data

    + +
    +
    + + + + +
    int Btree::data
    +
    + +

    Definition at line 11 of file morrisinorder.cpp.

    + +
    +
    + +

    ◆ left

    + +
    +
    + + + + +
    struct Btree* Btree::left
    +
    + +

    Definition at line 12 of file morrisinorder.cpp.

    + +
    +
    + +

    ◆ right

    + +
    +
    + + + + +
    struct Btree* Btree::right
    +
    + +

    Definition at line 13 of file morrisinorder.cpp.

    + +
    +

    The documentation for this struct was generated from the following file:
    diff --git a/d9/d92/chaining_8cpp.html b/d9/d92/chaining_8cpp.html index 6b4da2bc8..5603f140b 100644 --- a/d9/d92/chaining_8cpp.html +++ b/d9/d92/chaining_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: hashing/chaining.cpp File Reference +TheAlgorithms/C++: hashing/chaining.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -122,7 +139,9 @@ Include dependency graph for chaining.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -139,6 +158,8 @@ Functions
    Author
    vasutomar
    Krishna Vedala
    + +

    Definition in file chaining.cpp.

    Function Documentation

    ◆ main()

    @@ -155,42 +176,44 @@ Functions

    Classes

    class  hash_chain

    Main function

    Returns
    0 always
    + +

    Definition at line 133 of file chaining.cpp.

    133 {
    134 int c = 0, x = 0, mod = 0, h = 0;
    -
    135 std::cout << "Enter the size of Hash Table. = " << std::endl;
    -
    136 std::cin >> mod;
    +
    135 std::cout << "Enter the size of Hash Table. = " << std::endl;
    +
    136 std::cin >> mod;
    137
    138 hash_chain mychain(mod);
    139
    140 bool loop = true;
    141 while (loop) {
    - -
    143 std::cout << "PLEASE CHOOSE -" << std::endl;
    -
    144 std::cout << "1. Add element." << std::endl;
    -
    145 std::cout << "2. Find element." << std::endl;
    -
    146 std::cout << "3. Generate Hash." << std::endl;
    -
    147 std::cout << "4. Display Hash table." << std::endl;
    -
    148 std::cout << "5. Exit." << std::endl;
    -
    149 std::cin >> c;
    +
    142 std::cout << std::endl;
    +
    143 std::cout << "PLEASE CHOOSE -" << std::endl;
    +
    144 std::cout << "1. Add element." << std::endl;
    +
    145 std::cout << "2. Find element." << std::endl;
    +
    146 std::cout << "3. Generate Hash." << std::endl;
    +
    147 std::cout << "4. Display Hash table." << std::endl;
    +
    148 std::cout << "5. Exit." << std::endl;
    +
    149 std::cin >> c;
    150 switch (c) {
    151 case 1:
    -
    152 std::cout << "Enter element to add = " << std::endl;
    -
    153 std::cin >> x;
    +
    152 std::cout << "Enter element to add = " << std::endl;
    +
    153 std::cin >> x;
    154 h = mychain.hash(x);
    155 h = std::abs(h);
    156 mychain.add(x, h);
    157 break;
    158 case 2:
    -
    159 std::cout << "Enter element to search = " << std::endl;
    -
    160 std::cin >> x;
    +
    159 std::cout << "Enter element to search = " << std::endl;
    +
    160 std::cin >> x;
    161 h = mychain.hash(x);
    162 mychain.find(x, h);
    163 break;
    164 case 3:
    -
    165 std::cout << "Enter element to generate hash = " << std::endl;
    -
    166 std::cin >> x;
    -
    167 std::cout << "Hash of " << x << " is = " << mychain.hash(x)
    -
    168 << std::endl;
    +
    165 std::cout << "Enter element to generate hash = " << std::endl;
    +
    166 std::cin >> x;
    +
    167 std::cout << "Hash of " << x << " is = " << mychain.hash(x)
    +
    168 << std::endl;
    169 break;
    170 case 4:
    171 mychain.display();
    @@ -199,7 +222,7 @@ Functions
    174 loop = false;
    175 break;
    176 }
    - +
    177 std::cout << std::endl;
    178 }
    179 /*add(1,&head1);
    180 add(2,&head1);
    @@ -209,17 +232,9 @@ Functions
    184 display(&head2);*/
    185 return 0;
    186}
    - - -
    Chain class with a given modulus.
    Definition chaining.cpp:16
    -
    T endl(T... args)
    -
    int h(int key)
    Definition hash_search.cpp:45
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    Chain class with a given modulus.
    Definition chaining.cpp:16
    +
    int h(int key)
    +
    diff --git a/d9/d92/chaining_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d9/d92/chaining_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 63e92e518..000000000 --- a/d9/d92/chaining_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - - - - - - - - - - diff --git a/d9/d92/chaining_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d9/d92/chaining_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index bb4df6bb2..000000000 --- a/d9/d92/chaining_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -16475ee34d82480eae3c7aa7e1475989 \ No newline at end of file diff --git a/d9/d92/chaining_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d9/d92/chaining_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index ae4161d5f..000000000 --- a/d9/d92/chaining_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,191 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -hash_chain::add - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -h - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -hash_chain::display - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::endl - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -hash_chain::find - - - - - -Node1->Node6 - - - - - - - - -Node7 - - -hash_chain::hash - - - - - -Node1->Node7 - - - - - - - - -Node2->Node3 - - - - - - - - -Node4->Node5 - - - - - - - - -Node6->Node3 - - - - - - - - -Node6->Node5 - - - - - - - - - - - - - diff --git a/d9/d92/chaining_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d9/d92/chaining_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 395a2cc44..000000000 --- a/d9/d92/chaining_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,165 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -hash_chain::add - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -h - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -hash_chain::display - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::endl - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -hash_chain::find - - - - - -Node1->Node6 - - - - - - - - -Node7 - - -hash_chain::hash - - - - - -Node1->Node7 - - - - - - - - -Node2->Node3 - - - - - - - - -Node4->Node5 - - - - - - - - -Node6->Node3 - - - - - - - - -Node6->Node5 - - - - - - - - diff --git a/d9/d92/chaining_8cpp_source.html b/d9/d92/chaining_8cpp_source.html new file mode 100644 index 000000000..e53fb2429 --- /dev/null +++ b/d9/d92/chaining_8cpp_source.html @@ -0,0 +1,303 @@ + + + + + + + + +TheAlgorithms/C++: hashing/chaining.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    chaining.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    8#include <cmath>
    +
    9#include <iostream>
    +
    10#include <memory>
    +
    11#include <vector>
    +
    12
    +
    + +
    17 private:
    +
    +
    21 using Node = struct Node {
    +
    22 int data{};
    +
    23 std::shared_ptr<struct Node> next;
    +
    24 };
    +
    +
    25
    +
    26 std::vector<std::shared_ptr<Node>> head;
    +
    27 int _mod;
    +
    28
    +
    29 public:
    +
    +
    35 explicit hash_chain(int mod) : _mod(mod) {
    +
    36 while (mod--) head.push_back(nullptr);
    +
    37 }
    +
    +
    38
    +
    +
    45 void add(int x, int h) {
    +
    46 std::shared_ptr<Node> curr;
    +
    47 std::shared_ptr<Node> temp(new Node);
    +
    48 temp->data = x;
    +
    49 temp->next = nullptr;
    +
    50 if (!head[h]) {
    +
    51 head[h] = temp;
    +
    52 curr = head[h];
    +
    53 } else {
    +
    54 curr = head[h];
    +
    55 while (curr->next) curr = curr->next;
    +
    56 curr->next = temp;
    +
    57 }
    +
    58 }
    +
    +
    59
    +
    +
    63 void display() {
    +
    64 std::shared_ptr<Node> temp = nullptr;
    +
    65 int i = 0;
    +
    66 for (i = 0; i < _mod; i++) {
    +
    67 if (!head[i]) {
    +
    68 std::cout << "Key " << i << " is empty" << std::endl;
    +
    69 } else {
    +
    70 std::cout << "Key " << i << " has values = " << std::endl;
    +
    71 temp = head[i];
    +
    72 while (temp->next) {
    +
    73 std::cout << temp->data << " " << std::endl;
    +
    74 temp = temp->next;
    +
    75 }
    +
    76 std::cout << temp->data;
    +
    77 std::cout << std::endl;
    +
    78 }
    +
    79 }
    +
    80 }
    +
    +
    81
    +
    91 virtual int hash(int x) const { return x % _mod; }
    +
    92
    +
    +
    101 bool find(int x, int h) const {
    +
    102 std::shared_ptr<Node> temp = head[h];
    +
    103 if (!head[h]) {
    +
    104 // index does not exist!
    +
    105 std::cout << "Element not found" << std::endl;
    +
    106 return false;
    +
    107 }
    +
    108
    +
    109 // scan for data value
    +
    110 while (temp->data != x && temp->next) temp = temp->next;
    +
    111
    +
    112 if (temp->next) {
    +
    113 std::cout << "Element found" << std::endl;
    +
    114 return true;
    +
    115 }
    +
    116
    +
    117 // implicit else condition
    +
    118 // i.e., temp->next == nullptr
    +
    119 if (temp->data == x) {
    +
    120 std::cout << "Element found" << std::endl;
    +
    121 return true;
    +
    122 }
    +
    123
    +
    124 // further implicit else condition
    +
    125 std::cout << "Element not found" << std::endl;
    +
    126 return false;
    +
    127 }
    +
    +
    128};
    +
    +
    129
    +
    +
    133int main() {
    +
    134 int c = 0, x = 0, mod = 0, h = 0;
    +
    135 std::cout << "Enter the size of Hash Table. = " << std::endl;
    +
    136 std::cin >> mod;
    +
    137
    +
    138 hash_chain mychain(mod);
    +
    139
    +
    140 bool loop = true;
    +
    141 while (loop) {
    +
    142 std::cout << std::endl;
    +
    143 std::cout << "PLEASE CHOOSE -" << std::endl;
    +
    144 std::cout << "1. Add element." << std::endl;
    +
    145 std::cout << "2. Find element." << std::endl;
    +
    146 std::cout << "3. Generate Hash." << std::endl;
    +
    147 std::cout << "4. Display Hash table." << std::endl;
    +
    148 std::cout << "5. Exit." << std::endl;
    +
    149 std::cin >> c;
    +
    150 switch (c) {
    +
    151 case 1:
    +
    152 std::cout << "Enter element to add = " << std::endl;
    +
    153 std::cin >> x;
    +
    154 h = mychain.hash(x);
    +
    155 h = std::abs(h);
    +
    156 mychain.add(x, h);
    +
    157 break;
    +
    158 case 2:
    +
    159 std::cout << "Enter element to search = " << std::endl;
    +
    160 std::cin >> x;
    +
    161 h = mychain.hash(x);
    +
    162 mychain.find(x, h);
    +
    163 break;
    +
    164 case 3:
    +
    165 std::cout << "Enter element to generate hash = " << std::endl;
    +
    166 std::cin >> x;
    +
    167 std::cout << "Hash of " << x << " is = " << mychain.hash(x)
    +
    168 << std::endl;
    +
    169 break;
    +
    170 case 4:
    +
    171 mychain.display();
    +
    172 break;
    +
    173 default:
    +
    174 loop = false;
    +
    175 break;
    +
    176 }
    +
    177 std::cout << std::endl;
    +
    178 }
    +
    179 /*add(1,&head1);
    +
    180 add(2,&head1);
    +
    181 add(3,&head2);
    +
    182 add(5,&head1);
    +
    183 display(&head1);
    +
    184 display(&head2);*/
    +
    185 return 0;
    +
    186}
    +
    +
    int main()
    Definition chaining.cpp:133
    +
    Chain class with a given modulus.
    Definition chaining.cpp:16
    +
    bool find(int x, int h) const
    Find if a value and corresponding hash exist.
    Definition chaining.cpp:101
    +
    void add(int x, int h)
    create and add a new node with a give value and at a given height
    Definition chaining.cpp:45
    +
    void display()
    Display the chain.
    Definition chaining.cpp:63
    +
    hash_chain(int mod)
    Construct a new chain object.
    Definition chaining.cpp:35
    +
    virtual int hash(int x) const
    Compute the hash of a value for current chain.
    Definition chaining.cpp:91
    +
    std::vector< std::shared_ptr< Node > > head
    array of nodes
    Definition chaining.cpp:26
    +
    int _mod
    modulus of the class
    Definition chaining.cpp:27
    +
    int h(int key)
    +
    int data[MAX]
    test data
    + +
    +
    + + + + diff --git a/d9/da2/exponential__dist_8cpp.html b/d9/da2/exponential__dist_8cpp.html index 5fa751c9e..5699d86a0 100644 --- a/d9/da2/exponential__dist_8cpp.html +++ b/d9/da2/exponential__dist_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: probability/exponential_dist.cpp File Reference +TheAlgorithms/C++: probability/exponential_dist.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -123,7 +140,9 @@ Include dependency graph for exponential_dist.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -158,6 +177,8 @@ Functions \[P(x, \lambda) = \lambda e^{-\lambda x}\]

    Summary of variables used: \(\lambda\) : rate parameter

    + +

    Definition in file exponential_dist.cpp.

    Function Documentation

    ◆ exponential_expected()

    @@ -179,19 +200,15 @@ Functions \[\mu = \frac{1}{\lambda}\]

    + +

    Definition at line 37 of file exponential_dist.cpp.

    37 {
    38 if (lambda <= 0) {
    -
    39 throw std::invalid_argument("lambda must be greater than 0");
    +
    39 throw std::invalid_argument("lambda must be greater than 0");
    40 }
    41 return 1 / lambda;
    42}
    - -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -214,18 +231,15 @@ Here is the call graph for this function: \[\sigma = \frac{1}{\lambda}\]

    + +

    Definition at line 59 of file exponential_dist.cpp.

    59 {
    60 if (lambda <= 0) {
    -
    61 throw std::invalid_argument("lambda must be greater than 0");
    +
    61 throw std::invalid_argument("lambda must be greater than 0");
    62 }
    63 return 1 / lambda;
    64}
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -248,19 +262,15 @@ Here is the call graph for this function: \[\sigma^2 = \frac{1}{\lambda^2}\]

    + +

    Definition at line 48 of file exponential_dist.cpp.

    48 {
    49 if (lambda <= 0) {
    -
    50 throw std::invalid_argument("lambda must be greater than 0");
    +
    50 throw std::invalid_argument("lambda must be greater than 0");
    51 }
    -
    52 return 1 / pow(lambda, 2);
    +
    52 return 1 / pow(lambda, 2);
    53}
    -
    T pow(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -280,17 +290,14 @@ Here is the call graph for this function:

    Main function.

    Returns
    0 on exit
    + +

    Definition at line 148 of file exponential_dist.cpp.

    148 {
    149 test(); // Self test implementation
    150 return 0;
    151}
    -
    static void test()
    Self-test implementations.
    Definition exponential_dist.cpp:72
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static void test()
    Self-test implementations.
    + @@ -318,6 +325,8 @@ Here is the call graph for this function:

    Self-test implementations.

    Returns
    void
    + +

    Definition at line 72 of file exponential_dist.cpp.

    72 {
    73 double lambda_1 = 1;
    74 double expected_1 = 1;
    @@ -339,7 +348,7 @@ Here is the call graph for this function:
    90
    91 const float threshold = 1e-3f;
    92
    -
    93 std::cout << "Test for lambda = 1 \n";
    +
    93 std::cout << "Test for lambda = 1 \n";
    94 assert(
    95 std::abs(expected_1 - probability::geometric_dist::exponential_expected(
    96 lambda_1)) < threshold);
    @@ -347,9 +356,9 @@ Here is the call graph for this function:
    98 lambda_1)) < threshold);
    99 assert(std::abs(std_1 - probability::geometric_dist::exponential_std(
    100 lambda_1)) < threshold);
    -
    101 std::cout << "ALL TEST PASSED\n\n";
    +
    101 std::cout << "ALL TEST PASSED\n\n";
    102
    -
    103 std::cout << "Test for lambda = 2 \n";
    +
    103 std::cout << "Test for lambda = 2 \n";
    104 assert(
    105 std::abs(expected_2 - probability::geometric_dist::exponential_expected(
    106 lambda_2)) < threshold);
    @@ -357,9 +366,9 @@ Here is the call graph for this function:
    108 lambda_2)) < threshold);
    109 assert(std::abs(std_2 - probability::geometric_dist::exponential_std(
    110 lambda_2)) < threshold);
    -
    111 std::cout << "ALL TEST PASSED\n\n";
    +
    111 std::cout << "ALL TEST PASSED\n\n";
    112
    -
    113 std::cout << "Test for lambda = 3 \n";
    +
    113 std::cout << "Test for lambda = 3 \n";
    114 assert(
    115 std::abs(expected_3 - probability::geometric_dist::exponential_expected(
    116 lambda_3)) < threshold);
    @@ -367,40 +376,32 @@ Here is the call graph for this function:
    118 lambda_3)) < threshold);
    119 assert(std::abs(std_3 - probability::geometric_dist::exponential_std(
    120 lambda_3)) < threshold);
    -
    121 std::cout << "ALL TEST PASSED\n\n";
    +
    121 std::cout << "ALL TEST PASSED\n\n";
    122
    -
    123 std::cout << "Test for lambda = 0 \n";
    +
    123 std::cout << "Test for lambda = 0 \n";
    124 try {
    -
    128 } catch (std::invalid_argument& err) {
    -
    129 assert(std::string(err.what()) == "lambda must be greater than 0");
    +
    128 } catch (std::invalid_argument& err) {
    +
    129 assert(std::string(err.what()) == "lambda must be greater than 0");
    130 }
    -
    131 std::cout << "ALL TEST PASSED\n\n";
    +
    131 std::cout << "ALL TEST PASSED\n\n";
    132
    -
    133 std::cout << "Test for lambda = -2.3 \n";
    +
    133 std::cout << "Test for lambda = -2.3 \n";
    134 try {
    -
    138 } catch (std::invalid_argument& err) {
    -
    139 assert(std::string(err.what()) == "lambda must be greater than 0");
    +
    138 } catch (std::invalid_argument& err) {
    +
    139 assert(std::string(err.what()) == "lambda must be greater than 0");
    140 }
    -
    141 std::cout << "ALL TEST PASSED\n\n";
    +
    141 std::cout << "ALL TEST PASSED\n\n";
    142}
    - - -
    double exponential_expected(double lambda)
    the expected value of the exponential distribution
    Definition exponential_dist.cpp:37
    -
    double exponential_std(double lambda)
    the standard deviation of the exponential distribution
    Definition exponential_dist.cpp:59
    -
    double exponential_var(double lambda)
    the variance of the exponential distribution
    Definition exponential_dist.cpp:48
    - -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    double exponential_expected(double lambda)
    the expected value of the exponential distribution
    +
    double exponential_std(double lambda)
    the standard deviation of the exponential distribution
    +
    double exponential_var(double lambda)
    the variance of the exponential distribution
    + diff --git a/d9/da2/exponential__dist_8cpp_a1c8b6e787f72a209ef96c096eedf7afc_cgraph.map b/d9/da2/exponential__dist_8cpp_a1c8b6e787f72a209ef96c096eedf7afc_cgraph.map deleted file mode 100644 index 23ef02301..000000000 --- a/d9/da2/exponential__dist_8cpp_a1c8b6e787f72a209ef96c096eedf7afc_cgraph.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/d9/da2/exponential__dist_8cpp_a1c8b6e787f72a209ef96c096eedf7afc_cgraph.md5 b/d9/da2/exponential__dist_8cpp_a1c8b6e787f72a209ef96c096eedf7afc_cgraph.md5 deleted file mode 100644 index 0878c2308..000000000 --- a/d9/da2/exponential__dist_8cpp_a1c8b6e787f72a209ef96c096eedf7afc_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -ff895a711de292f98636438a15f73b2a \ No newline at end of file diff --git a/d9/da2/exponential__dist_8cpp_a1c8b6e787f72a209ef96c096eedf7afc_cgraph.svg b/d9/da2/exponential__dist_8cpp_a1c8b6e787f72a209ef96c096eedf7afc_cgraph.svg deleted file mode 100644 index b4ffdb0ac..000000000 --- a/d9/da2/exponential__dist_8cpp_a1c8b6e787f72a209ef96c096eedf7afc_cgraph.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - - - - - - - -probability::geometric_dist::exponential_expected - - -Node1 - - -probability::geometric -_dist::exponential_expected - - - - - -Node1->Node1 - - - - - - - - - - - - - diff --git a/d9/da2/exponential__dist_8cpp_a1c8b6e787f72a209ef96c096eedf7afc_cgraph_org.svg b/d9/da2/exponential__dist_8cpp_a1c8b6e787f72a209ef96c096eedf7afc_cgraph_org.svg deleted file mode 100644 index c114f1346..000000000 --- a/d9/da2/exponential__dist_8cpp_a1c8b6e787f72a209ef96c096eedf7afc_cgraph_org.svg +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - -probability::geometric_dist::exponential_expected - - -Node1 - - -probability::geometric -_dist::exponential_expected - - - - - -Node1->Node1 - - - - - - - - diff --git a/d9/da2/exponential__dist_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map b/d9/da2/exponential__dist_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map deleted file mode 100644 index 319918ba1..000000000 --- a/d9/da2/exponential__dist_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d9/da2/exponential__dist_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 b/d9/da2/exponential__dist_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 deleted file mode 100644 index 0cf23edce..000000000 --- a/d9/da2/exponential__dist_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -fd0ca36cc9d6dc3ed3c6004e7bb148ad \ No newline at end of file diff --git a/d9/da2/exponential__dist_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg b/d9/da2/exponential__dist_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg deleted file mode 100644 index 32da2a1d3..000000000 --- a/d9/da2/exponential__dist_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -std::invalid_argument -::what - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d9/da2/exponential__dist_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg b/d9/da2/exponential__dist_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg deleted file mode 100644 index 1b2ea8af7..000000000 --- a/d9/da2/exponential__dist_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -std::invalid_argument -::what - - - - - -Node1->Node2 - - - - - - - - diff --git a/d9/da2/exponential__dist_8cpp_ac7b0091e17479d47438a281fefc2549a_cgraph.map b/d9/da2/exponential__dist_8cpp_ac7b0091e17479d47438a281fefc2549a_cgraph.map deleted file mode 100644 index 9ceef43ee..000000000 --- a/d9/da2/exponential__dist_8cpp_ac7b0091e17479d47438a281fefc2549a_cgraph.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/d9/da2/exponential__dist_8cpp_ac7b0091e17479d47438a281fefc2549a_cgraph.md5 b/d9/da2/exponential__dist_8cpp_ac7b0091e17479d47438a281fefc2549a_cgraph.md5 deleted file mode 100644 index a99ab7935..000000000 --- a/d9/da2/exponential__dist_8cpp_ac7b0091e17479d47438a281fefc2549a_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -ed79ee4d1ea4c9c4877f1a08548d4d28 \ No newline at end of file diff --git a/d9/da2/exponential__dist_8cpp_ac7b0091e17479d47438a281fefc2549a_cgraph.svg b/d9/da2/exponential__dist_8cpp_ac7b0091e17479d47438a281fefc2549a_cgraph.svg deleted file mode 100644 index bf0bf1245..000000000 --- a/d9/da2/exponential__dist_8cpp_ac7b0091e17479d47438a281fefc2549a_cgraph.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - - - - - - - -probability::geometric_dist::exponential_std - - -Node1 - - -probability::geometric -_dist::exponential_std - - - - - -Node1->Node1 - - - - - - - - - - - - - diff --git a/d9/da2/exponential__dist_8cpp_ac7b0091e17479d47438a281fefc2549a_cgraph_org.svg b/d9/da2/exponential__dist_8cpp_ac7b0091e17479d47438a281fefc2549a_cgraph_org.svg deleted file mode 100644 index ed5223480..000000000 --- a/d9/da2/exponential__dist_8cpp_ac7b0091e17479d47438a281fefc2549a_cgraph_org.svg +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - -probability::geometric_dist::exponential_std - - -Node1 - - -probability::geometric -_dist::exponential_std - - - - - -Node1->Node1 - - - - - - - - diff --git a/d9/da2/exponential__dist_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d9/da2/exponential__dist_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 154dabe33..000000000 --- a/d9/da2/exponential__dist_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/d9/da2/exponential__dist_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d9/da2/exponential__dist_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index 957fc6fd8..000000000 --- a/d9/da2/exponential__dist_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -18e1a9230f6e6404a44726440b39cecd \ No newline at end of file diff --git a/d9/da2/exponential__dist_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d9/da2/exponential__dist_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 252af272a..000000000 --- a/d9/da2/exponential__dist_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::invalid_argument -::what - - - - - -Node2->Node3 - - - - - - - - - - - - - diff --git a/d9/da2/exponential__dist_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d9/da2/exponential__dist_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 458d78b5d..000000000 --- a/d9/da2/exponential__dist_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::invalid_argument -::what - - - - - -Node2->Node3 - - - - - - - - diff --git a/d9/da2/exponential__dist_8cpp_af435dbeb43a05c8c7785f53bf4ce1df1_cgraph.map b/d9/da2/exponential__dist_8cpp_af435dbeb43a05c8c7785f53bf4ce1df1_cgraph.map deleted file mode 100644 index 899fc7b12..000000000 --- a/d9/da2/exponential__dist_8cpp_af435dbeb43a05c8c7785f53bf4ce1df1_cgraph.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/d9/da2/exponential__dist_8cpp_af435dbeb43a05c8c7785f53bf4ce1df1_cgraph.md5 b/d9/da2/exponential__dist_8cpp_af435dbeb43a05c8c7785f53bf4ce1df1_cgraph.md5 deleted file mode 100644 index 724449b40..000000000 --- a/d9/da2/exponential__dist_8cpp_af435dbeb43a05c8c7785f53bf4ce1df1_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -1856649fa4105093a554c1732bd6e8a1 \ No newline at end of file diff --git a/d9/da2/exponential__dist_8cpp_af435dbeb43a05c8c7785f53bf4ce1df1_cgraph.svg b/d9/da2/exponential__dist_8cpp_af435dbeb43a05c8c7785f53bf4ce1df1_cgraph.svg deleted file mode 100644 index d23ca819a..000000000 --- a/d9/da2/exponential__dist_8cpp_af435dbeb43a05c8c7785f53bf4ce1df1_cgraph.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - - - - - - - -probability::geometric_dist::exponential_var - - -Node1 - - -probability::geometric -_dist::exponential_var - - - - - -Node1->Node1 - - - - - - - - - - - - - diff --git a/d9/da2/exponential__dist_8cpp_af435dbeb43a05c8c7785f53bf4ce1df1_cgraph_org.svg b/d9/da2/exponential__dist_8cpp_af435dbeb43a05c8c7785f53bf4ce1df1_cgraph_org.svg deleted file mode 100644 index fb1ba5ed3..000000000 --- a/d9/da2/exponential__dist_8cpp_af435dbeb43a05c8c7785f53bf4ce1df1_cgraph_org.svg +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - -probability::geometric_dist::exponential_var - - -Node1 - - -probability::geometric -_dist::exponential_var - - - - - -Node1->Node1 - - - - - - - - diff --git a/d9/da2/exponential__dist_8cpp_source.html b/d9/da2/exponential__dist_8cpp_source.html new file mode 100644 index 000000000..fa7c92ec6 --- /dev/null +++ b/d9/da2/exponential__dist_8cpp_source.html @@ -0,0 +1,262 @@ + + + + + + + + +TheAlgorithms/C++: probability/exponential_dist.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    +

    Namespaces

    namespace  probability
    + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + + +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    exponential_dist.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    15#include <cassert> // For assert
    +
    16#include <cmath> // For std::pow
    +
    17#include <iostream> // For I/O operation
    +
    18#include <stdexcept> // For std::invalid_argument
    +
    19#include <string> // For std::string
    +
    20
    +
    25namespace probability {
    +
    32namespace geometric_dist {
    +
    +
    37double exponential_expected(double lambda) {
    +
    38 if (lambda <= 0) {
    +
    39 throw std::invalid_argument("lambda must be greater than 0");
    +
    40 }
    +
    41 return 1 / lambda;
    +
    42}
    +
    +
    43
    +
    +
    48double exponential_var(double lambda) {
    +
    49 if (lambda <= 0) {
    +
    50 throw std::invalid_argument("lambda must be greater than 0");
    +
    51 }
    +
    52 return 1 / pow(lambda, 2);
    +
    53}
    +
    +
    54
    +
    +
    59double exponential_std(double lambda) {
    +
    60 if (lambda <= 0) {
    +
    61 throw std::invalid_argument("lambda must be greater than 0");
    +
    62 }
    +
    63 return 1 / lambda;
    +
    64}
    +
    +
    65} // namespace geometric_dist
    +
    66} // namespace probability
    +
    67
    +
    +
    72static void test() {
    +
    73 double lambda_1 = 1;
    +
    74 double expected_1 = 1;
    +
    75 double var_1 = 1;
    +
    76 double std_1 = 1;
    +
    77
    +
    78 double lambda_2 = 2;
    +
    79 double expected_2 = 0.5;
    +
    80 double var_2 = 0.25;
    +
    81 double std_2 = 0.5;
    +
    82
    +
    83 double lambda_3 = 3;
    +
    84 double expected_3 = 0.333333;
    +
    85 double var_3 = 0.111111;
    +
    86 double std_3 = 0.333333;
    +
    87
    +
    88 double lambda_4 = 0; // Test 0
    +
    89 double lambda_5 = -2.3; // Test negative value
    +
    90
    +
    91 const float threshold = 1e-3f;
    +
    92
    +
    93 std::cout << "Test for lambda = 1 \n";
    +
    94 assert(
    +
    95 std::abs(expected_1 - probability::geometric_dist::exponential_expected(
    +
    96 lambda_1)) < threshold);
    +
    97 assert(std::abs(var_1 - probability::geometric_dist::exponential_var(
    +
    98 lambda_1)) < threshold);
    +
    99 assert(std::abs(std_1 - probability::geometric_dist::exponential_std(
    +
    100 lambda_1)) < threshold);
    +
    101 std::cout << "ALL TEST PASSED\n\n";
    +
    102
    +
    103 std::cout << "Test for lambda = 2 \n";
    +
    104 assert(
    +
    105 std::abs(expected_2 - probability::geometric_dist::exponential_expected(
    +
    106 lambda_2)) < threshold);
    +
    107 assert(std::abs(var_2 - probability::geometric_dist::exponential_var(
    +
    108 lambda_2)) < threshold);
    +
    109 assert(std::abs(std_2 - probability::geometric_dist::exponential_std(
    +
    110 lambda_2)) < threshold);
    +
    111 std::cout << "ALL TEST PASSED\n\n";
    +
    112
    +
    113 std::cout << "Test for lambda = 3 \n";
    +
    114 assert(
    +
    115 std::abs(expected_3 - probability::geometric_dist::exponential_expected(
    +
    116 lambda_3)) < threshold);
    +
    117 assert(std::abs(var_3 - probability::geometric_dist::exponential_var(
    +
    118 lambda_3)) < threshold);
    +
    119 assert(std::abs(std_3 - probability::geometric_dist::exponential_std(
    +
    120 lambda_3)) < threshold);
    +
    121 std::cout << "ALL TEST PASSED\n\n";
    +
    122
    +
    123 std::cout << "Test for lambda = 0 \n";
    +
    124 try {
    +
    125 probability::geometric_dist::exponential_expected(lambda_4);
    +
    126 probability::geometric_dist::exponential_var(lambda_4);
    +
    127 probability::geometric_dist::exponential_std(lambda_4);
    +
    128 } catch (std::invalid_argument& err) {
    +
    129 assert(std::string(err.what()) == "lambda must be greater than 0");
    +
    130 }
    +
    131 std::cout << "ALL TEST PASSED\n\n";
    +
    132
    +
    133 std::cout << "Test for lambda = -2.3 \n";
    +
    134 try {
    +
    135 probability::geometric_dist::exponential_expected(lambda_5);
    +
    136 probability::geometric_dist::exponential_var(lambda_5);
    +
    137 probability::geometric_dist::exponential_std(lambda_5);
    +
    138 } catch (std::invalid_argument& err) {
    +
    139 assert(std::string(err.what()) == "lambda must be greater than 0");
    +
    140 }
    +
    141 std::cout << "ALL TEST PASSED\n\n";
    +
    142}
    +
    +
    143
    +
    +
    148int main() {
    +
    149 test(); // Self test implementation
    +
    150 return 0;
    +
    151}
    +
    +
    double exponential_expected(double lambda)
    the expected value of the exponential distribution
    +
    static void test()
    Self-test implementations.
    +
    double exponential_std(double lambda)
    the standard deviation of the exponential distribution
    +
    int main()
    Main function.
    +
    double exponential_var(double lambda)
    the variance of the exponential distribution
    +
    Functions for the Geometric Distribution algorithm implementation.
    +
    Probability algorithms.
    +
    +
    + + + + diff --git a/d9/daa/namespacemidpoint__rule.html b/d9/daa/namespacemidpoint__rule.html index 0b4431fbf..d9d7fc574 100644 --- a/d9/daa/namespacemidpoint__rule.html +++ b/d9/daa/namespacemidpoint__rule.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: midpoint_rule Namespace Reference +TheAlgorithms/C++: midpoint_rule Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/d9/dab/bloom__filter_8cpp.html b/d9/dab/bloom__filter_8cpp.html index 109286afa..605d4411d 100644 --- a/d9/dab/bloom__filter_8cpp.html +++ b/d9/dab/bloom__filter_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: data_structures/bloom_filter.cpp File Reference +TheAlgorithms/C++: data_structures/bloom_filter.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + @@ -125,7 +142,9 @@ Include dependency graph for bloom_filter.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -143,16 +162,16 @@ Namespaces

    Classes

    class  data_structures::Bitset
    - + - + - + - + @@ -176,6 +195,8 @@ Functions operation"

    Very good use case example

    Basic bloom filter doesn't support deleting of elements, so we don't need to implement deletion in bloom filter and bitset in our case.

    Author
    DanArmor
    + +

    Definition in file bloom_filter.cpp.

    Function Documentation

    ◆ main()

    @@ -194,6 +215,8 @@ operation"

    Main function.

    Returns
    0 on exit
    + +

    Definition at line 282 of file bloom_filter.cpp.

    282 {
    283 // run self-test implementations
    284
    @@ -201,19 +224,13 @@ operation"

    288
    -
    289 std::cout << "All tests have successfully passed!\n";
    +
    289 std::cout << "All tests have successfully passed!\n";
    290 return 0;
    291}
    - -
    static void test_bloom_filter_int()
    Test for bloom filter with int as generic type.
    Definition bloom_filter.cpp:246
    -
    static void test_bitset()
    Test for bitset.
    Definition bloom_filter.cpp:267
    -
    static void test_bloom_filter_string()
    Test for bloom filter with string as generic type.
    Definition bloom_filter.cpp:226
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static void test_bloom_filter_int()
    Test for bloom filter with int as generic type.
    +
    static void test_bitset()
    Test for bitset.
    +
    static void test_bloom_filter_string()
    Test for bloom filter with string as generic type.
    + @@ -241,9 +258,11 @@ Here is the call graph for this function:

    Test for bitset.

    Returns
    void
    + +

    Definition at line 267 of file bloom_filter.cpp.

    267 {
    -
    269 std::vector<std::size_t> toCheck{0, 1, 5, 8, 63, 64, 67, 127};
    +
    269 std::vector<std::size_t> toCheck{0, 1, 5, 8, 63, 64, 67, 127};
    270 for (auto x : toCheck) {
    271 set.add(x);
    272 assert(set.contains(x));
    @@ -251,14 +270,8 @@ Here is the call graph for this function:
    274 assert(set.contains(128) == false);
    275 assert(set.contains(256) == false);
    276}
    -
    Simple bitset implementation for bloom filter.
    Definition bloom_filter.cpp:40
    - -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    Simple bitset implementation for bloom filter.
    + @@ -286,11 +299,13 @@ Here is the call graph for this function:

    Test for bloom filter with int as generic type.

    Returns
    void
    + +

    Definition at line 246 of file bloom_filter.cpp.

    246 {
    -
    249 std::vector<int> toCheck{100, 200, 300, 50};
    -
    250 std::vector<int> toFalse{1, 2, 3, 4, 5, 6, 7, 8};
    +
    249 std::vector<int> toCheck{100, 200, 300, 50};
    +
    250 std::vector<int> toFalse{1, 2, 3, 4, 5, 6, 7, 8};
    251 for (int x : toCheck) {
    252 filter.add(x);
    253 }
    @@ -301,15 +316,10 @@ Here is the call graph for this function:
    258 assert(filter.contains(x));
    259 }
    260}
    -
    Bloom filter template class.
    Definition bloom_filter.cpp:99
    -
    std::size_t hashInt_2(int x)
    Hash function for test
    Definition bloom_filter.cpp:213
    -
    std::size_t hashInt_1(int x)
    Hash function for test
    Definition bloom_filter.cpp:199
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    Bloom filter template class.
    +
    std::size_t hashInt_2(int x)
    Hash function for test
    +
    std::size_t hashInt_1(int x)
    Hash function for test
    + @@ -337,11 +347,13 @@ Here is the call graph for this function:

    Test for bloom filter with string as generic type.

    Returns
    void
    + +

    Definition at line 226 of file bloom_filter.cpp.

    226 {
    -
    229 std::vector<std::string> toCheck{"hello", "world", "!"};
    -
    230 std::vector<std::string> toFalse{"false", "world2", "!!!"};
    +
    229 std::vector<std::string> toCheck{"hello", "world", "!"};
    +
    230 std::vector<std::string> toFalse{"false", "world2", "!!!"};
    231 for (const auto& x : toCheck) {
    232 filter.add(x);
    233 }
    @@ -352,14 +364,9 @@ Here is the call graph for this function:
    238 assert(filter.contains(x));
    239 }
    240}
    -
    static std::size_t hashDJB2(std::string const &s)
    Function djb2 to get hash for the given string.
    Definition bloom_filter.cpp:166
    -
    static std::size_t hashStr(std::string const &s)
    Hash function, to get hash for the given string.
    Definition bloom_filter.cpp:182
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static std::size_t hashDJB2(std::string const &s)
    Function djb2 to get hash for the given string.
    +
    static std::size_t hashStr(std::string const &s)
    Hash function, to get hash for the given string.
    + diff --git a/d9/dab/bloom__filter_8cpp_a30edc0d2bb59c185baec81d69d20ed3b_cgraph.map b/d9/dab/bloom__filter_8cpp_a30edc0d2bb59c185baec81d69d20ed3b_cgraph.map deleted file mode 100644 index 5fa7e0ede..000000000 --- a/d9/dab/bloom__filter_8cpp_a30edc0d2bb59c185baec81d69d20ed3b_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/d9/dab/bloom__filter_8cpp_a30edc0d2bb59c185baec81d69d20ed3b_cgraph.md5 b/d9/dab/bloom__filter_8cpp_a30edc0d2bb59c185baec81d69d20ed3b_cgraph.md5 deleted file mode 100644 index c108f4ab0..000000000 --- a/d9/dab/bloom__filter_8cpp_a30edc0d2bb59c185baec81d69d20ed3b_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -95678864bffe5469b795193a7ca1813c \ No newline at end of file diff --git a/d9/dab/bloom__filter_8cpp_a30edc0d2bb59c185baec81d69d20ed3b_cgraph.svg b/d9/dab/bloom__filter_8cpp_a30edc0d2bb59c185baec81d69d20ed3b_cgraph.svg deleted file mode 100644 index 1c3abc9da..000000000 --- a/d9/dab/bloom__filter_8cpp_a30edc0d2bb59c185baec81d69d20ed3b_cgraph.svg +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - -test_bloom_filter_int - - -Node1 - - -test_bloom_filter_int - - - - - -Node2 - - -data_structures::hashInt_1 - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -data_structures::hashInt_2 - - - - - -Node1->Node3 - - - - - - - - - - - - - diff --git a/d9/dab/bloom__filter_8cpp_a30edc0d2bb59c185baec81d69d20ed3b_cgraph_org.svg b/d9/dab/bloom__filter_8cpp_a30edc0d2bb59c185baec81d69d20ed3b_cgraph_org.svg deleted file mode 100644 index e9d62c487..000000000 --- a/d9/dab/bloom__filter_8cpp_a30edc0d2bb59c185baec81d69d20ed3b_cgraph_org.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - -test_bloom_filter_int - - -Node1 - - -test_bloom_filter_int - - - - - -Node2 - - -data_structures::hashInt_1 - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -data_structures::hashInt_2 - - - - - -Node1->Node3 - - - - - - - - diff --git a/d9/dab/bloom__filter_8cpp_a6e509afe40db07681f676ad8da4fb905_cgraph.map b/d9/dab/bloom__filter_8cpp_a6e509afe40db07681f676ad8da4fb905_cgraph.map deleted file mode 100644 index ef1172f6b..000000000 --- a/d9/dab/bloom__filter_8cpp_a6e509afe40db07681f676ad8da4fb905_cgraph.map +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - - - diff --git a/d9/dab/bloom__filter_8cpp_a6e509afe40db07681f676ad8da4fb905_cgraph.md5 b/d9/dab/bloom__filter_8cpp_a6e509afe40db07681f676ad8da4fb905_cgraph.md5 deleted file mode 100644 index 3ada70321..000000000 --- a/d9/dab/bloom__filter_8cpp_a6e509afe40db07681f676ad8da4fb905_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -43ef84589b9ea60c15838ac3109a0df1 \ No newline at end of file diff --git a/d9/dab/bloom__filter_8cpp_a6e509afe40db07681f676ad8da4fb905_cgraph.svg b/d9/dab/bloom__filter_8cpp_a6e509afe40db07681f676ad8da4fb905_cgraph.svg deleted file mode 100644 index 09547b632..000000000 --- a/d9/dab/bloom__filter_8cpp_a6e509afe40db07681f676ad8da4fb905_cgraph.svg +++ /dev/null @@ -1,129 +0,0 @@ - - - - - - - - - - - - -test_bitset - - -Node1 - - -test_bitset - - - - - -Node2 - - -data_structures::Bitset::add - - - - - -Node1->Node2 - - - - - - - - -Node5 - - -data_structures::Bitset -::contains - - - - - -Node1->Node5 - - - - - - - - -Node3 - - -std::vector::resize - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::vector::size - - - - - -Node2->Node4 - - - - - - - - -Node5->Node4 - - - - - - - - - - - - - diff --git a/d9/dab/bloom__filter_8cpp_a6e509afe40db07681f676ad8da4fb905_cgraph_org.svg b/d9/dab/bloom__filter_8cpp_a6e509afe40db07681f676ad8da4fb905_cgraph_org.svg deleted file mode 100644 index 790c4e93d..000000000 --- a/d9/dab/bloom__filter_8cpp_a6e509afe40db07681f676ad8da4fb905_cgraph_org.svg +++ /dev/null @@ -1,103 +0,0 @@ - - - - - - -test_bitset - - -Node1 - - -test_bitset - - - - - -Node2 - - -data_structures::Bitset::add - - - - - -Node1->Node2 - - - - - - - - -Node5 - - -data_structures::Bitset -::contains - - - - - -Node1->Node5 - - - - - - - - -Node3 - - -std::vector::resize - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::vector::size - - - - - -Node2->Node4 - - - - - - - - -Node5->Node4 - - - - - - - - diff --git a/d9/dab/bloom__filter_8cpp_a71f57bf262fe55db928b19dc124cc0d8_cgraph.map b/d9/dab/bloom__filter_8cpp_a71f57bf262fe55db928b19dc124cc0d8_cgraph.map deleted file mode 100644 index 23693d7be..000000000 --- a/d9/dab/bloom__filter_8cpp_a71f57bf262fe55db928b19dc124cc0d8_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/d9/dab/bloom__filter_8cpp_a71f57bf262fe55db928b19dc124cc0d8_cgraph.md5 b/d9/dab/bloom__filter_8cpp_a71f57bf262fe55db928b19dc124cc0d8_cgraph.md5 deleted file mode 100644 index 2bf3910e4..000000000 --- a/d9/dab/bloom__filter_8cpp_a71f57bf262fe55db928b19dc124cc0d8_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -9cbc3192e3b54282f4b1dee905d36b41 \ No newline at end of file diff --git a/d9/dab/bloom__filter_8cpp_a71f57bf262fe55db928b19dc124cc0d8_cgraph.svg b/d9/dab/bloom__filter_8cpp_a71f57bf262fe55db928b19dc124cc0d8_cgraph.svg deleted file mode 100644 index 0d366bead..000000000 --- a/d9/dab/bloom__filter_8cpp_a71f57bf262fe55db928b19dc124cc0d8_cgraph.svg +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - -test_bloom_filter_string - - -Node1 - - -test_bloom_filter_string - - - - - -Node2 - - -data_structures::hashDJB2 - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -data_structures::hashStr - - - - - -Node1->Node3 - - - - - - - - - - - - - diff --git a/d9/dab/bloom__filter_8cpp_a71f57bf262fe55db928b19dc124cc0d8_cgraph_org.svg b/d9/dab/bloom__filter_8cpp_a71f57bf262fe55db928b19dc124cc0d8_cgraph_org.svg deleted file mode 100644 index 267837718..000000000 --- a/d9/dab/bloom__filter_8cpp_a71f57bf262fe55db928b19dc124cc0d8_cgraph_org.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - -test_bloom_filter_string - - -Node1 - - -test_bloom_filter_string - - - - - -Node2 - - -data_structures::hashDJB2 - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -data_structures::hashStr - - - - - -Node1->Node3 - - - - - - - - diff --git a/d9/dab/bloom__filter_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d9/dab/bloom__filter_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index e66961475..000000000 --- a/d9/dab/bloom__filter_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d9/dab/bloom__filter_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d9/dab/bloom__filter_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index ac248f00f..000000000 --- a/d9/dab/bloom__filter_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -5c79e0962469f629e0521f0766d4fe82 \ No newline at end of file diff --git a/d9/dab/bloom__filter_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d9/dab/bloom__filter_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 97b2c12cb..000000000 --- a/d9/dab/bloom__filter_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,312 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test_bitset - - - - - -Node1->Node2 - - - - - - - - -Node7 - - -test_bloom_filter_int - - - - - -Node1->Node7 - - - - - - - - -Node10 - - -test_bloom_filter_string - - - - - -Node1->Node10 - - - - - - - - -Node3 - - -data_structures::Bitset::add - - - - - -Node2->Node3 - - - - - - - - -Node6 - - -data_structures::Bitset -::contains - - - - - -Node2->Node6 - - - - - - - - -Node4 - - -std::vector::resize - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -std::vector::size - - - - - -Node3->Node5 - - - - - - - - -Node6->Node5 - - - - - - - - -Node8 - - -data_structures::hashInt_1 - - - - - -Node7->Node8 - - - - - - - - -Node9 - - -data_structures::hashInt_2 - - - - - -Node7->Node9 - - - - - - - - -Node11 - - -data_structures::hashDJB2 - - - - - -Node10->Node11 - - - - - - - - -Node12 - - -data_structures::hashStr - - - - - -Node10->Node12 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d9/dab/bloom__filter_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d9/dab/bloom__filter_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 34a766236..000000000 --- a/d9/dab/bloom__filter_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,229 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test_bitset - - - - - -Node1->Node2 - - - - - - - - -Node7 - - -test_bloom_filter_int - - - - - -Node1->Node7 - - - - - - - - -Node10 - - -test_bloom_filter_string - - - - - -Node1->Node10 - - - - - - - - -Node3 - - -data_structures::Bitset::add - - - - - -Node2->Node3 - - - - - - - - -Node6 - - -data_structures::Bitset -::contains - - - - - -Node2->Node6 - - - - - - - - -Node4 - - -std::vector::resize - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -std::vector::size - - - - - -Node3->Node5 - - - - - - - - -Node6->Node5 - - - - - - - - -Node8 - - -data_structures::hashInt_1 - - - - - -Node7->Node8 - - - - - - - - -Node9 - - -data_structures::hashInt_2 - - - - - -Node7->Node9 - - - - - - - - -Node11 - - -data_structures::hashDJB2 - - - - - -Node10->Node11 - - - - - - - - -Node12 - - -data_structures::hashStr - - - - - -Node10->Node12 - - - - - - - - diff --git a/d9/dab/bloom__filter_8cpp_source.html b/d9/dab/bloom__filter_8cpp_source.html new file mode 100644 index 000000000..bd6af5da5 --- /dev/null +++ b/d9/dab/bloom__filter_8cpp_source.html @@ -0,0 +1,356 @@ + + + + + + + + +TheAlgorithms/C++: data_structures/bloom_filter.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    +

    Functions

    static std::size_t data_structures::hashDJB2 (std::string const &s)
    static std::size_t data_structures::hashDJB2 (std::string const &s)
     Function djb2 to get hash for the given string.
     
    static std::size_t data_structures::hashStr (std::string const &s)
    static std::size_t data_structures::hashStr (std::string const &s)
     Hash function, to get hash for the given string.
     
    std::size_t data_structures::hashInt_1 (int x)
    std::size_t data_structures::hashInt_1 (int x)
     Hash function for test
     
    std::size_t data_structures::hashInt_2 (int x)
    std::size_t data_structures::hashInt_2 (int x)
     Hash function for test
     
    static void test_bloom_filter_string ()
    + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + + +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    bloom_filter.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    25#include <cassert>
    +
    26#include <functional>
    +
    27#include <initializer_list>
    +
    28#include <string>
    +
    29#include <vector>
    +
    30#include <iostream>
    +
    31
    +
    36namespace data_structures {
    +
    +
    40class Bitset {
    +
    41 private:
    +
    42 std::vector<std::size_t> data;
    +
    43 static const std::size_t blockSize =
    +
    44 sizeof(std::size_t);
    +
    46 public:
    +
    47 explicit Bitset(std::size_t);
    +
    48 std::size_t size();
    +
    49 void add(std::size_t);
    +
    50 bool contains(std::size_t);
    +
    51};
    +
    +
    52
    +
    57std::size_t Bitset::size() { return data.size(); }
    +
    58
    +
    63Bitset::Bitset(std::size_t initSize) : data(initSize) {}
    +
    64
    +
    +
    71void Bitset::add(std::size_t x) {
    +
    72 std::size_t blockIndex = x / blockSize;
    +
    73 if (blockIndex >= data.size()) {
    +
    74 data.resize(blockIndex + 1);
    +
    75 }
    +
    76 data[blockIndex] |= 1 << (x % blockSize);
    +
    77}
    +
    +
    78
    +
    +
    86bool Bitset::contains(std::size_t x) {
    +
    87 std::size_t blockIndex = x / blockSize;
    +
    88 if (blockIndex >= data.size()) {
    +
    89 return false;
    +
    90 }
    +
    91 return data[blockIndex] & (1 << (x % blockSize));
    +
    92}
    +
    +
    93
    +
    98template <typename T>
    +
    + +
    100 private:
    + +
    102 std::vector<std::function<std::size_t(T)>>
    + +
    104
    +
    105 public:
    +
    106 BloomFilter(std::size_t,
    +
    107 std::initializer_list<std::function<std::size_t(T)>>);
    +
    108 void add(T);
    +
    109 bool contains(T);
    +
    110};
    +
    +
    111
    +
    120template <typename T>
    +
    + +
    122 std::size_t size,
    +
    123 std::initializer_list<std::function<std::size_t(T)>> funks)
    +
    124 : set(size), hashFunks(funks) {}
    +
    +
    125
    +
    133template <typename T>
    +
    + +
    135 for (std::size_t i = 0; i < hashFunks.size(); i++) {
    +
    136 set.add(hashFunks[i](x) % (sizeof(std::size_t) * set.size()));
    +
    137 }
    +
    138}
    +
    +
    139
    +
    148template <typename T>
    +
    + +
    150 for (std::size_t i = 0; i < hashFunks.size(); i++) {
    +
    151 if (set.contains(hashFunks[i](x) %
    +
    152 (sizeof(std::size_t) * set.size())) == false) {
    +
    153 return false;
    +
    154 }
    +
    155 }
    +
    156 return true;
    +
    157}
    +
    +
    158
    +
    +
    166static std::size_t hashDJB2(std::string const& s) {
    +
    167 std::size_t hash = 5381;
    +
    168 for (char c : s) {
    +
    169 hash = ((hash << 5) + hash) + c;
    +
    170 }
    +
    171 return hash;
    +
    172}
    +
    +
    173
    +
    +
    182static std::size_t hashStr(std::string const& s) {
    +
    183 std::size_t hash = 37;
    +
    184 std::size_t primeNum1 = 54059;
    +
    185 std::size_t primeNum2 = 76963;
    +
    186 for (char c : s) {
    +
    187 hash = (hash * primeNum1) ^ (c * primeNum2);
    +
    188 }
    +
    189 return hash;
    +
    190}
    +
    +
    191
    +
    +
    199std::size_t hashInt_1(int x) {
    +
    200 x = ((x >> 16) ^ x) * 0x45d9f3b;
    +
    201 x = ((x >> 16) ^ x) * 0x45d9f3b;
    +
    202 x = (x >> 16) ^ x;
    +
    203 return x;
    +
    204}
    +
    +
    205
    +
    +
    213std::size_t hashInt_2(int x) {
    +
    214 auto y = static_cast<std::size_t>(x);
    +
    215 y = (y ^ (y >> 30)) * static_cast<std::size_t>(0xbf58476d1ce4e5b9);
    +
    216 y = (y ^ (y >> 27)) * static_cast<std::size_t>(0x94d049bb133111eb);
    +
    217 y = y ^ (y >> 31);
    +
    218 return y;
    +
    219}
    +
    +
    220} // namespace data_structures
    +
    221
    +
    + + + +
    229 std::vector<std::string> toCheck{"hello", "world", "!"};
    +
    230 std::vector<std::string> toFalse{"false", "world2", "!!!"};
    +
    231 for (const auto& x : toCheck) {
    +
    232 filter.add(x);
    +
    233 }
    +
    234 for (const auto& x : toFalse) {
    +
    235 assert(filter.contains(x) == false);
    +
    236 }
    +
    237 for (const auto& x : toCheck) {
    +
    238 assert(filter.contains(x));
    +
    239 }
    +
    240}
    +
    +
    241
    +
    + + + +
    249 std::vector<int> toCheck{100, 200, 300, 50};
    +
    250 std::vector<int> toFalse{1, 2, 3, 4, 5, 6, 7, 8};
    +
    251 for (int x : toCheck) {
    +
    252 filter.add(x);
    +
    253 }
    +
    254 for (int x : toFalse) {
    +
    255 assert(filter.contains(x) == false);
    +
    256 }
    +
    257 for (int x : toCheck) {
    +
    258 assert(filter.contains(x));
    +
    259 }
    +
    260}
    +
    +
    261
    +
    +
    267static void test_bitset() {
    + +
    269 std::vector<std::size_t> toCheck{0, 1, 5, 8, 63, 64, 67, 127};
    +
    270 for (auto x : toCheck) {
    +
    271 set.add(x);
    +
    272 assert(set.contains(x));
    +
    273 }
    +
    274 assert(set.contains(128) == false);
    +
    275 assert(set.contains(256) == false);
    +
    276}
    +
    +
    277
    +
    +
    282int main() {
    +
    283 // run self-test implementations
    +
    284
    +
    285 test_bitset(); // run test for bitset, because bloom filter is depending on it
    + + +
    288
    +
    289 std::cout << "All tests have successfully passed!\n";
    +
    290 return 0;
    +
    291}
    +
    +
    static void test_bloom_filter_int()
    Test for bloom filter with int as generic type.
    +
    static void test_bitset()
    Test for bitset.
    +
    static void test_bloom_filter_string()
    Test for bloom filter with string as generic type.
    +
    int main()
    Main function.
    +
    Simple bitset implementation for bloom filter.
    +
    Bitset(std::size_t)
    BitSet class constructor.
    +
    void add(std::size_t)
    Turn bit on position x to 1s.
    +
    std::size_t size()
    Utility function to return the size of the inner array.
    +
    bool contains(std::size_t)
    Doest bitset contains element x.
    +
    static const std::size_t blockSize
    +
    std::vector< std::size_t > data
    short info of this variable
    +
    Bloom filter template class.
    +
    bool contains(T)
    Check element function for Bloom filter.
    +
    std::vector< std::function< std::size_t(T)> > hashFunks
    hash functions for T type
    +
    void add(T)
    Add function for Bloom filter.
    +
    BloomFilter(std::size_t, std::initializer_list< std::function< std::size_t(T)> >)
    Constructor for Bloom filter.
    +
    Bitset set
    inner bitset for elements
    +
    int data[MAX]
    test data
    +
    for IO operations
    +
    static std::size_t hashDJB2(std::string const &s)
    Function djb2 to get hash for the given string.
    +
    static std::size_t hashStr(std::string const &s)
    Hash function, to get hash for the given string.
    +
    std::size_t hashInt_2(int x)
    Hash function for test
    +
    std::size_t hashInt_1(int x)
    Hash function for test
    +
    +
    + + + + diff --git a/d9/dad/rb__tree_8cpp_source.html b/d9/dad/rb__tree_8cpp_source.html new file mode 100644 index 000000000..a9cd66aa6 --- /dev/null +++ b/d9/dad/rb__tree_8cpp_source.html @@ -0,0 +1,651 @@ + + + + + + + + +TheAlgorithms/C++: data_structures/rb_tree.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    rb_tree.cpp
    +
    +
    +
    1#include<iostream>
    +
    2
    +
    3using namespace std;
    +
    4
    +
    5struct node
    +
    6{
    +
    7 int key;
    +
    8 node *parent;
    +
    9 char color;
    +
    10 node *left;
    +
    11 node *right;
    +
    12};
    +
    +
    13class RBtree
    +
    14{
    +
    15 node *root;
    +
    16 node *q;
    +
    17public:
    +
    18 RBtree()
    +
    19 {
    +
    20 q = NULL;
    +
    21 root = NULL;
    +
    22 }
    +
    23 void insert();
    +
    24 void insertfix(node *);
    +
    25 void leftrotate(node *);
    +
    26 void rightrotate(node *);
    +
    27 void del();
    +
    28 node* successor(node *);
    +
    29 void delfix(node *);
    +
    30 void disp();
    +
    31 void display(node *);
    +
    32 void search();
    +
    33};
    +
    +
    34void RBtree::insert()
    +
    35{
    +
    36 int z, i = 0;
    +
    37 cout << "\nEnter key of the node to be inserted: ";
    +
    38 cin >> z;
    +
    39 node *p, *q;
    +
    40 node *t = new node;
    +
    41 t->key = z;
    +
    42 t->left = NULL;
    +
    43 t->right = NULL;
    +
    44 t->color = 'r';
    +
    45 p = root;
    +
    46 q = NULL;
    +
    47 if (root == NULL)
    +
    48 {
    +
    49 root = t;
    +
    50 t->parent = NULL;
    +
    51 }
    +
    52 else
    +
    53 {
    +
    54 while (p != NULL)
    +
    55 {
    +
    56 q = p;
    +
    57 if (p->key < t->key)
    +
    58 p = p->right;
    +
    59 else
    +
    60 p = p->left;
    +
    61 }
    +
    62 t->parent = q;
    +
    63 if (q->key < t->key)
    +
    64 q->right = t;
    +
    65 else
    +
    66 q->left = t;
    +
    67 }
    +
    68 insertfix(t);
    +
    69}
    +
    70void RBtree::insertfix(node *t)
    +
    71{
    +
    72 node *u;
    +
    73 if (root == t)
    +
    74 {
    +
    75 t->color = 'b';
    +
    76 return;
    +
    77 }
    +
    78 while (t->parent != NULL && t->parent->color == 'r')
    +
    79 {
    +
    80 node *g = t->parent->parent;
    +
    81 if (g->left == t->parent)
    +
    82 {
    +
    83 if (g->right != NULL)
    +
    84 {
    +
    85 u = g->right;
    +
    86 if (u->color == 'r')
    +
    87 {
    +
    88 t->parent->color = 'b';
    +
    89 u->color = 'b';
    +
    90 g->color = 'r';
    +
    91 t = g;
    +
    92 }
    +
    93 }
    +
    94 else
    +
    95 {
    +
    96 if (t->parent->right == t)
    +
    97 {
    +
    98 t = t->parent;
    +
    99 leftrotate(t);
    +
    100 }
    +
    101 t->parent->color = 'b';
    +
    102 g->color = 'r';
    +
    103 rightrotate(g);
    +
    104 }
    +
    105 }
    +
    106 else
    +
    107 {
    +
    108 if (g->left != NULL)
    +
    109 {
    +
    110 u = g->left;
    +
    111 if (u->color == 'r')
    +
    112 {
    +
    113 t->parent->color = 'b';
    +
    114 u->color = 'b';
    +
    115 g->color = 'r';
    +
    116 t = g;
    +
    117 }
    +
    118 }
    +
    119 else
    +
    120 {
    +
    121 if (t->parent->left == t)
    +
    122 {
    +
    123 t = t->parent;
    +
    124 rightrotate(t);
    +
    125 }
    +
    126 t->parent->color = 'b';
    +
    127 g->color = 'r';
    +
    128 leftrotate(g);
    +
    129 }
    +
    130 }
    +
    131 root->color = 'b';
    +
    132 }
    +
    133}
    +
    134
    +
    135void RBtree::del()
    +
    136{
    +
    137 if (root == NULL)
    +
    138 {
    +
    139 cout << "\nEmpty Tree.";
    +
    140 return;
    +
    141 }
    +
    142 int x;
    +
    143 cout << "\nEnter the key of the node to be deleted: ";
    +
    144 cin >> x;
    +
    145 node *p;
    +
    146 p = root;
    +
    147 node *y = NULL;
    +
    148 node *q = NULL;
    +
    149 int found = 0;
    +
    150 while (p != NULL && found == 0)
    +
    151 {
    +
    152 if (p->key == x)
    +
    153 found = 1;
    +
    154 if (found == 0)
    +
    155 {
    +
    156 if (p->key < x)
    +
    157 p = p->right;
    +
    158 else
    +
    159 p = p->left;
    +
    160 }
    +
    161 }
    +
    162 if (found == 0)
    +
    163 {
    +
    164 cout << "\nElement Not Found.";
    +
    165 return;
    +
    166 }
    +
    167 else
    +
    168 {
    +
    169 cout << "\nDeleted Element: " << p->key;
    +
    170 cout << "\nColour: ";
    +
    171 if (p->color == 'b')
    +
    172 cout << "Black\n";
    +
    173 else
    +
    174 cout << "Red\n";
    +
    175
    +
    176 if (p->parent != NULL)
    +
    177 cout << "\nParent: " << p->parent->key;
    +
    178 else
    +
    179 cout << "\nThere is no parent of the node. ";
    +
    180 if (p->right != NULL)
    +
    181 cout << "\nRight Child: " << p->right->key;
    +
    182 else
    +
    183 cout << "\nThere is no right child of the node. ";
    +
    184 if (p->left != NULL)
    +
    185 cout << "\nLeft Child: " << p->left->key;
    +
    186 else
    +
    187 cout << "\nThere is no left child of the node. ";
    +
    188 cout << "\nNode Deleted.";
    +
    189 if (p->left == NULL || p->right == NULL)
    +
    190 y = p;
    +
    191 else
    +
    192 y = successor(p);
    +
    193 if (y->left != NULL)
    +
    194 q = y->left;
    +
    195 else
    +
    196 {
    +
    197 if (y->right != NULL)
    +
    198 q = y->right;
    +
    199 else
    +
    200 q = NULL;
    +
    201 }
    +
    202 if (q != NULL)
    +
    203 q->parent = y->parent;
    +
    204 if (y->parent == NULL)
    +
    205 root = q;
    +
    206 else
    +
    207 {
    +
    208 if (y == y->parent->left)
    +
    209 y->parent->left = q;
    +
    210 else
    +
    211 y->parent->right = q;
    +
    212 }
    +
    213 if (y != p)
    +
    214 {
    +
    215 p->color = y->color;
    +
    216 p->key = y->key;
    +
    217 }
    +
    218 if (y->color == 'b')
    +
    219 delfix(q);
    +
    220 }
    +
    221}
    +
    222
    +
    223void RBtree::delfix(node *p)
    +
    224{
    +
    225 node *s;
    +
    226 while (p != root && p->color == 'b')
    +
    227 {
    +
    228 if (p->parent->left == p)
    +
    229 {
    +
    230 s = p->parent->right;
    +
    231 if (s->color == 'r')
    +
    232 {
    +
    233 s->color = 'b';
    +
    234 p->parent->color = 'r';
    +
    235 leftrotate(p->parent);
    +
    236 s = p->parent->right;
    +
    237 }
    +
    238 if (s->right->color == 'b'&&s->left->color == 'b')
    +
    239 {
    +
    240 s->color = 'r';
    +
    241 p = p->parent;
    +
    242 }
    +
    243 else
    +
    244 {
    +
    245 if (s->right->color == 'b')
    +
    246 {
    +
    247 s->left->color = 'b';
    +
    248 s->color = 'r';
    +
    249 rightrotate(s);
    +
    250 s = p->parent->right;
    +
    251 }
    +
    252 s->color = p->parent->color;
    +
    253 p->parent->color = 'b';
    +
    254 s->right->color = 'b';
    +
    255 leftrotate(p->parent);
    +
    256 p = root;
    +
    257 }
    +
    258 }
    +
    259 else
    +
    260 {
    +
    261 s = p->parent->left;
    +
    262 if (s->color == 'r')
    +
    263 {
    +
    264 s->color = 'b';
    +
    265 p->parent->color = 'r';
    +
    266 rightrotate(p->parent);
    +
    267 s = p->parent->left;
    +
    268 }
    +
    269 if (s->left->color == 'b'&&s->right->color == 'b')
    +
    270 {
    +
    271 s->color = 'r';
    +
    272 p = p->parent;
    +
    273 }
    +
    274 else
    +
    275 {
    +
    276 if (s->left->color == 'b')
    +
    277 {
    +
    278 s->right->color = 'b';
    +
    279 s->color = 'r';
    +
    280 leftrotate(s);
    +
    281 s = p->parent->left;
    +
    282 }
    +
    283 s->color = p->parent->color;
    +
    284 p->parent->color = 'b';
    +
    285 s->left->color = 'b';
    +
    286 rightrotate(p->parent);
    +
    287 p = root;
    +
    288 }
    +
    289 }
    +
    290 p->color = 'b';
    +
    291 root->color = 'b';
    +
    292 }
    +
    293}
    +
    294
    +
    295void RBtree::leftrotate(node *p)
    +
    296{
    +
    297 if (p->right == NULL)
    +
    298 return;
    +
    299 else
    +
    300 {
    +
    301 node *y = p->right;
    +
    302 if (y->left != NULL)
    +
    303 {
    +
    304 p->right = y->left;
    +
    305 y->left->parent = p;
    +
    306 }
    +
    307 else
    +
    308 p->right = NULL;
    +
    309 if (p->parent != NULL)
    +
    310 y->parent = p->parent;
    +
    311 if (p->parent == NULL)
    +
    312 root = y;
    +
    313 else
    +
    314 {
    +
    315 if (p == p->parent->left)
    +
    316 p->parent->left = y;
    +
    317 else
    +
    318 p->parent->right = y;
    +
    319 }
    +
    320 y->left = p;
    +
    321 p->parent = y;
    +
    322 }
    +
    323}
    +
    324void RBtree::rightrotate(node *p)
    +
    325{
    +
    326 if (p->left == NULL)
    +
    327 return;
    +
    328 else
    +
    329 {
    +
    330 node *y = p->left;
    +
    331 if (y->right != NULL)
    +
    332 {
    +
    333 p->left = y->right;
    +
    334 y->right->parent = p;
    +
    335 }
    +
    336 else
    +
    337 p->left = NULL;
    +
    338 if (p->parent != NULL)
    +
    339 y->parent = p->parent;
    +
    340 if (p->parent == NULL)
    +
    341 root = y;
    +
    342 else
    +
    343 {
    +
    344 if (p == p->parent->left)
    +
    345 p->parent->left = y;
    +
    346 else
    +
    347 p->parent->right = y;
    +
    348 }
    +
    349 y->right = p;
    +
    350 p->parent = y;
    +
    351 }
    +
    352}
    +
    353
    +
    354node* RBtree::successor(node *p)
    +
    355{
    +
    356 node *y = NULL;
    +
    357 if (p->left != NULL)
    +
    358 {
    +
    359 y = p->left;
    +
    360 while (y->right != NULL)
    +
    361 y = y->right;
    +
    362 }
    +
    363 else
    +
    364 {
    +
    365 y = p->right;
    +
    366 while (y->left != NULL)
    +
    367 y = y->left;
    +
    368 }
    +
    369 return y;
    +
    370}
    +
    371
    +
    372void RBtree::disp()
    +
    373{
    +
    374 display(root);
    +
    375}
    +
    376void RBtree::display(node *p)
    +
    377{
    +
    378 if (root == NULL)
    +
    379 {
    +
    380 cout << "\nEmpty Tree.";
    +
    381 return;
    +
    382 }
    +
    383 if (p != NULL)
    +
    384 {
    +
    385 cout << "\n\t NODE: ";
    +
    386 cout << "\n Key: " << p->key;
    +
    387 cout << "\n Colour: ";
    +
    388 if (p->color == 'b')
    +
    389 cout << "Black";
    +
    390 else
    +
    391 cout << "Red";
    +
    392 if (p->parent != NULL)
    +
    393 cout << "\n Parent: " << p->parent->key;
    +
    394 else
    +
    395 cout << "\n There is no parent of the node. ";
    +
    396 if (p->right != NULL)
    +
    397 cout << "\n Right Child: " << p->right->key;
    +
    398 else
    +
    399 cout << "\n There is no right child of the node. ";
    +
    400 if (p->left != NULL)
    +
    401 cout << "\n Left Child: " << p->left->key;
    +
    402 else
    +
    403 cout << "\n There is no left child of the node. ";
    +
    404 cout << endl;
    +
    405 if (p->left)
    +
    406 {
    +
    407 cout << "\n\nLeft:\n";
    +
    408 display(p->left);
    +
    409 }
    +
    410 /*else
    +
    411 cout<<"\nNo Left Child.\n";*/
    +
    412 if (p->right)
    +
    413 {
    +
    414 cout << "\n\nRight:\n";
    +
    415 display(p->right);
    +
    416 }
    +
    417 /*else
    +
    418 cout<<"\nNo Right Child.\n"*/
    +
    419 }
    +
    420}
    +
    421void RBtree::search()
    +
    422{
    +
    423 if (root == NULL)
    +
    424 {
    +
    425 cout << "\nEmpty Tree\n";
    +
    426 return;
    +
    427 }
    +
    428 int x;
    +
    429 cout << "\n Enter key of the node to be searched: ";
    +
    430 cin >> x;
    +
    431 node *p = root;
    +
    432 int found = 0;
    +
    433 while (p != NULL && found == 0)
    +
    434 {
    +
    435 if (p->key == x)
    +
    436 found = 1;
    +
    437 if (found == 0)
    +
    438 {
    +
    439 if (p->key < x)
    +
    440 p = p->right;
    +
    441 else
    +
    442 p = p->left;
    +
    443 }
    +
    444 }
    +
    445 if (found == 0)
    +
    446 cout << "\nElement Not Found.";
    +
    447 else
    +
    448 {
    +
    449 cout << "\n\t FOUND NODE: ";
    +
    450 cout << "\n Key: " << p->key;
    +
    451 cout << "\n Colour: ";
    +
    452 if (p->color == 'b')
    +
    453 cout << "Black";
    +
    454 else
    +
    455 cout << "Red";
    +
    456 if (p->parent != NULL)
    +
    457 cout << "\n Parent: " << p->parent->key;
    +
    458 else
    +
    459 cout << "\n There is no parent of the node. ";
    +
    460 if (p->right != NULL)
    +
    461 cout << "\n Right Child: " << p->right->key;
    +
    462 else
    +
    463 cout << "\n There is no right child of the node. ";
    +
    464 if (p->left != NULL)
    +
    465 cout << "\n Left Child: " << p->left->key;
    +
    466 else
    +
    467 cout << "\n There is no left child of the node. ";
    +
    468 cout << endl;
    +
    469
    +
    470 }
    +
    471}
    +
    472int main()
    +
    473{
    +
    474 int ch, y = 0;
    +
    475 RBtree obj;
    +
    476 do
    +
    477 {
    +
    478 cout << "\n\t RED BLACK TREE ";
    +
    479 cout << "\n 1. Insert in the tree ";
    +
    480 cout << "\n 2. Delete a node from the tree";
    +
    481 cout << "\n 3. Search for an element in the tree";
    +
    482 cout << "\n 4. Display the tree ";
    +
    483 cout << "\n 5. Exit ";
    +
    484 cout << "\nEnter Your Choice: ";
    +
    485 cin >> ch;
    +
    486 switch (ch)
    +
    487 {
    +
    488 case 1: obj.insert();
    +
    489 cout << "\nNode Inserted.\n";
    +
    490 break;
    +
    491 case 2: obj.del();
    +
    492 break;
    +
    493 case 3: obj.search();
    +
    494 break;
    +
    495 case 4: obj.disp();
    +
    496 break;
    +
    497 case 5: y = 1;
    +
    498 break;
    +
    499 default: cout << "\nEnter a Valid Choice.";
    +
    500 }
    +
    501 cout << endl;
    +
    502
    +
    503 } while (y != 1);
    +
    504 return 1;
    +
    505}
    +
    struct node { int data; int height; struct node *left; struct node *right;} node
    for std::queue
    Definition avltree.cpp:13
    + +
    double g(double x)
    Another test function.
    +
    int main()
    Main function.
    +
    #define endl
    +
    for std::assert
    + +
    +
    + + + + diff --git a/d9/dae/classdata__structures_1_1_bitset.html b/d9/dae/classdata__structures_1_1_bitset.html index accfde954..6d560bdd6 100644 --- a/d9/dae/classdata__structures_1_1_bitset.html +++ b/d9/dae/classdata__structures_1_1_bitset.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: data_structures::Bitset Class Reference +TheAlgorithms/C++: data_structures::Bitset Class Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -118,38 +135,39 @@ $(function(){initNavTree('d9/dae/classdata__structures_1_1_bitset.html','../../'
    Collaboration diagram for data_structures::Bitset:
    -
    +
    [legend]
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    - + - + - + - +

    Public Member Functions

     Bitset (std::size_t)
     Bitset (std::size_t)
     BitSet class constructor.
     
    std::size_t size ()
    std::size_t size ()
     Utility function to return the size of the inner array.
     
    void add (std::size_t)
    void add (std::size_t)
     Turn bit on position x to 1s.
     
    bool contains (std::size_t)
    bool contains (std::size_t)
     Doest bitset contains element x.
     
    - - + +

    Private Attributes

    -std::vector< std::size_tdata
     short info of this variable
    std::vector< std::size_t > data
     short info of this variable
     
    - +

    Static Private Attributes

    static const std::size_t blockSize
    static const std::size_t blockSize
     

    Detailed Description

    Simple bitset implementation for bloom filter.

    + +

    Definition at line 40 of file bloom_filter.cpp.

    Constructor & Destructor Documentation

    ◆ Bitset()

    @@ -163,7 +181,7 @@ Static Private Attributes data_structures::Bitset::Bitset ( - std::size_t initSize) + std::size_t initSize) @@ -181,8 +199,10 @@ Static Private Attributes + +

    Definition at line 63 of file bloom_filter.cpp.

    63: data(initSize) {}
    -
    std::vector< std::size_t > data
    short info of this variable
    Definition bloom_filter.cpp:42
    +
    std::vector< std::size_t > data
    short info of this variable
    @@ -196,7 +216,7 @@ Static Private Attributes void data_structures::Bitset::add ( - std::size_t x) + std::size_t x) @@ -210,23 +230,17 @@ Static Private Attributes
    Returns
    void
    + +

    Definition at line 71 of file bloom_filter.cpp.

    71 {
    -
    72 std::size_t blockIndex = x / blockSize;
    -
    73 if (blockIndex >= data.size()) {
    -
    74 data.resize(blockIndex + 1);
    +
    72 std::size_t blockIndex = x / blockSize;
    +
    73 if (blockIndex >= data.size()) {
    +
    74 data.resize(blockIndex + 1);
    75 }
    76 data[blockIndex] |= 1 << (x % blockSize);
    77}
    -
    static const std::size_t blockSize
    Definition bloom_filter.cpp:43
    -
    T resize(T... args)
    -
    T size(T... args)
    - -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static const std::size_t blockSize
    + @@ -238,7 +252,7 @@ Here is the call graph for this function: bool data_structures::Bitset::contains ( - std::size_t x) + std::size_t x) @@ -254,19 +268,16 @@ Here is the call graph for this function:
    Returns
    true if bit position x is 1
    false if bit position x is 0
    + +

    Definition at line 86 of file bloom_filter.cpp.

    86 {
    -
    87 std::size_t blockIndex = x / blockSize;
    -
    88 if (blockIndex >= data.size()) {
    +
    87 std::size_t blockIndex = x / blockSize;
    +
    88 if (blockIndex >= data.size()) {
    89 return false;
    90 }
    91 return data[blockIndex] & (1 << (x % blockSize));
    92}
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -276,7 +287,7 @@ Here is the call graph for this function:
    - + @@ -286,13 +297,10 @@ Here is the call graph for this function:

    Utility function to return the size of the inner array.

    Returns
    the size of inner array
    -
    57{ return data.size(); }
    -
    -Here is the call graph for this function:
    -
    -
    -
    +

    Definition at line 57 of file bloom_filter.cpp.

    +
    57{ return data.size(); }
    +

    Member Data Documentation

    @@ -306,7 +314,7 @@ Here is the call graph for this function: @@ -316,13 +324,41 @@ Here is the call graph for this function:
    std::size_t data_structures::Bitset::size std::size_t data_structures::Bitset::size ( ) - +
    const std::size_t data_structures::Bitset::blockSizeconst std::size_t data_structures::Bitset::blockSize
    Initial value:
    =
    -
    sizeof(std::size_t)
    +
    sizeof(std::size_t)

    size of integer type, that we are using in our bitset

    +

    Definition at line 43 of file bloom_filter.cpp.

    + +
    + + +

    ◆ data

    + +
    +
    + + + + + +
    + + + + +
    std::vector<std::size_t> data_structures::Bitset::data
    +
    +private
    +
    + +

    short info of this variable

    + +

    Definition at line 42 of file bloom_filter.cpp.

    +

    The documentation for this class was generated from the following file: diff --git a/d9/dae/classdata__structures_1_1_bitset_a17dbe1b1d559302312e8091f82f7499c_cgraph.map b/d9/dae/classdata__structures_1_1_bitset_a17dbe1b1d559302312e8091f82f7499c_cgraph.map deleted file mode 100644 index af4df28b9..000000000 --- a/d9/dae/classdata__structures_1_1_bitset_a17dbe1b1d559302312e8091f82f7499c_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/d9/dae/classdata__structures_1_1_bitset_a17dbe1b1d559302312e8091f82f7499c_cgraph.md5 b/d9/dae/classdata__structures_1_1_bitset_a17dbe1b1d559302312e8091f82f7499c_cgraph.md5 deleted file mode 100644 index 5d4144b52..000000000 --- a/d9/dae/classdata__structures_1_1_bitset_a17dbe1b1d559302312e8091f82f7499c_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -79822147814108bbb07d1b97c44ef400 \ No newline at end of file diff --git a/d9/dae/classdata__structures_1_1_bitset_a17dbe1b1d559302312e8091f82f7499c_cgraph.svg b/d9/dae/classdata__structures_1_1_bitset_a17dbe1b1d559302312e8091f82f7499c_cgraph.svg deleted file mode 100644 index 9080b54d5..000000000 --- a/d9/dae/classdata__structures_1_1_bitset_a17dbe1b1d559302312e8091f82f7499c_cgraph.svg +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - -data_structures::Bitset::add - - -Node1 - - -data_structures::Bitset::add - - - - - -Node2 - - -std::vector::resize - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::vector::size - - - - - -Node1->Node3 - - - - - - - - - - - - - diff --git a/d9/dae/classdata__structures_1_1_bitset_a17dbe1b1d559302312e8091f82f7499c_cgraph_org.svg b/d9/dae/classdata__structures_1_1_bitset_a17dbe1b1d559302312e8091f82f7499c_cgraph_org.svg deleted file mode 100644 index acf9d04b1..000000000 --- a/d9/dae/classdata__structures_1_1_bitset_a17dbe1b1d559302312e8091f82f7499c_cgraph_org.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - -data_structures::Bitset::add - - -Node1 - - -data_structures::Bitset::add - - - - - -Node2 - - -std::vector::resize - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::vector::size - - - - - -Node1->Node3 - - - - - - - - diff --git a/d9/dae/classdata__structures_1_1_bitset_a2f1f44d6a12b0de4aaf242872b1c7b54_cgraph.map b/d9/dae/classdata__structures_1_1_bitset_a2f1f44d6a12b0de4aaf242872b1c7b54_cgraph.map deleted file mode 100644 index e8f34c1f1..000000000 --- a/d9/dae/classdata__structures_1_1_bitset_a2f1f44d6a12b0de4aaf242872b1c7b54_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d9/dae/classdata__structures_1_1_bitset_a2f1f44d6a12b0de4aaf242872b1c7b54_cgraph.md5 b/d9/dae/classdata__structures_1_1_bitset_a2f1f44d6a12b0de4aaf242872b1c7b54_cgraph.md5 deleted file mode 100644 index 79a11a945..000000000 --- a/d9/dae/classdata__structures_1_1_bitset_a2f1f44d6a12b0de4aaf242872b1c7b54_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -b67f3fde07367f4b6a1e39ba01df95c5 \ No newline at end of file diff --git a/d9/dae/classdata__structures_1_1_bitset_a2f1f44d6a12b0de4aaf242872b1c7b54_cgraph.svg b/d9/dae/classdata__structures_1_1_bitset_a2f1f44d6a12b0de4aaf242872b1c7b54_cgraph.svg deleted file mode 100644 index 994d7f2b4..000000000 --- a/d9/dae/classdata__structures_1_1_bitset_a2f1f44d6a12b0de4aaf242872b1c7b54_cgraph.svg +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - - - - - - - -data_structures::Bitset::size - - -Node1 - - -data_structures::Bitset -::size - - - - - -Node2 - - -std::vector::size - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d9/dae/classdata__structures_1_1_bitset_a2f1f44d6a12b0de4aaf242872b1c7b54_cgraph_org.svg b/d9/dae/classdata__structures_1_1_bitset_a2f1f44d6a12b0de4aaf242872b1c7b54_cgraph_org.svg deleted file mode 100644 index cfce5ae2d..000000000 --- a/d9/dae/classdata__structures_1_1_bitset_a2f1f44d6a12b0de4aaf242872b1c7b54_cgraph_org.svg +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - -data_structures::Bitset::size - - -Node1 - - -data_structures::Bitset -::size - - - - - -Node2 - - -std::vector::size - - - - - -Node1->Node2 - - - - - - - - diff --git a/d9/dae/classdata__structures_1_1_bitset_a9ef54c7c3f6494b36ead3ae2e5cf43ac_cgraph.map b/d9/dae/classdata__structures_1_1_bitset_a9ef54c7c3f6494b36ead3ae2e5cf43ac_cgraph.map deleted file mode 100644 index 79d210c9b..000000000 --- a/d9/dae/classdata__structures_1_1_bitset_a9ef54c7c3f6494b36ead3ae2e5cf43ac_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d9/dae/classdata__structures_1_1_bitset_a9ef54c7c3f6494b36ead3ae2e5cf43ac_cgraph.md5 b/d9/dae/classdata__structures_1_1_bitset_a9ef54c7c3f6494b36ead3ae2e5cf43ac_cgraph.md5 deleted file mode 100644 index c3a6839a3..000000000 --- a/d9/dae/classdata__structures_1_1_bitset_a9ef54c7c3f6494b36ead3ae2e5cf43ac_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -31a0fb7cf25529d882b01d763b26d476 \ No newline at end of file diff --git a/d9/dae/classdata__structures_1_1_bitset_a9ef54c7c3f6494b36ead3ae2e5cf43ac_cgraph.svg b/d9/dae/classdata__structures_1_1_bitset_a9ef54c7c3f6494b36ead3ae2e5cf43ac_cgraph.svg deleted file mode 100644 index 16137307c..000000000 --- a/d9/dae/classdata__structures_1_1_bitset_a9ef54c7c3f6494b36ead3ae2e5cf43ac_cgraph.svg +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - - - - - - - -data_structures::Bitset::contains - - -Node1 - - -data_structures::Bitset -::contains - - - - - -Node2 - - -std::vector::size - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d9/dae/classdata__structures_1_1_bitset_a9ef54c7c3f6494b36ead3ae2e5cf43ac_cgraph_org.svg b/d9/dae/classdata__structures_1_1_bitset_a9ef54c7c3f6494b36ead3ae2e5cf43ac_cgraph_org.svg deleted file mode 100644 index 4e301d533..000000000 --- a/d9/dae/classdata__structures_1_1_bitset_a9ef54c7c3f6494b36ead3ae2e5cf43ac_cgraph_org.svg +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - -data_structures::Bitset::contains - - -Node1 - - -data_structures::Bitset -::contains - - - - - -Node2 - - -std::vector::size - - - - - -Node1->Node2 - - - - - - - - diff --git a/d9/db6/classgreedy__algorithms_1_1dijkstra_1_1_graph-members.html b/d9/db6/classgreedy__algorithms_1_1dijkstra_1_1_graph-members.html index 7d64ecda4..e2f6d0e25 100644 --- a/d9/db6/classgreedy__algorithms_1_1dijkstra_1_1_graph-members.html +++ b/d9/db6/classgreedy__algorithms_1_1dijkstra_1_1_graph-members.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Member List +TheAlgorithms/C++: Member List + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/d9/dbf/test__stack_8cpp_source.html b/d9/dbf/test__stack_8cpp_source.html new file mode 100644 index 000000000..0fc2254ad --- /dev/null +++ b/d9/dbf/test__stack_8cpp_source.html @@ -0,0 +1,348 @@ + + + + + + + + +TheAlgorithms/C++: data_structures/test_stack.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + + +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    test_stack.cpp
    +
    +
    +
    1#include <cassert>
    +
    2#include <iostream>
    +
    3#include <stdexcept>
    +
    4#include <vector>
    +
    5
    +
    6#include "./stack.hpp"
    +
    7
    +
    8template <typename T>
    +
    9void testConstructedStackIsEmpty() {
    +
    10 const stack<T> curStack;
    +
    11 assert(curStack.isEmptyStack());
    +
    12}
    +
    13
    +
    14void testPush() {
    +
    15 using valueType = int;
    +
    16 stack<valueType> curStack;
    +
    17 curStack.push(10);
    +
    18 curStack.push(20);
    +
    19 curStack.push(30);
    +
    20 curStack.push(40);
    +
    21 const auto expectedData = std::vector<valueType>({40, 30, 20, 10});
    +
    22 assert(curStack.toVector() == expectedData);
    +
    23}
    +
    24
    +
    25void testTop() {
    +
    26 using valueType = unsigned;
    +
    27 stack<valueType> curStack;
    +
    28 curStack.push(1);
    +
    29 curStack.push(2);
    +
    30 curStack.push(3);
    +
    31 curStack.push(4);
    +
    32 assert(curStack.top() == static_cast<valueType>(4));
    +
    33}
    +
    34
    +
    35void testPop() {
    +
    36 using valueType = int;
    +
    37 stack<valueType> curStack;
    +
    38 curStack.push(100);
    +
    39 curStack.push(200);
    +
    40 curStack.push(300);
    +
    41
    +
    42 assert(curStack.top() == static_cast<valueType>(300));
    +
    43 curStack.pop();
    +
    44 assert(curStack.top() == static_cast<valueType>(200));
    +
    45 curStack.pop();
    +
    46 assert(curStack.top() == static_cast<valueType>(100));
    +
    47 curStack.pop();
    +
    48 assert(curStack.isEmptyStack());
    +
    49}
    +
    50
    +
    51void testClear() {
    +
    52 stack<int> curStack;
    +
    53 curStack.push(1000);
    +
    54 curStack.push(2000);
    +
    55 curStack.clear();
    +
    56 assert(curStack.isEmptyStack());
    +
    57}
    +
    58
    +
    59void testCopyOfStackHasSameData() {
    +
    60 stack<int> stackA;
    +
    61 stackA.push(10);
    +
    62 stackA.push(200);
    +
    63 stackA.push(3000);
    +
    64 const auto stackB(stackA);
    +
    65 assert(stackA.toVector() == stackB.toVector());
    +
    66}
    +
    67
    +
    68void testPushingToCopyDoesNotChangeOriginal() {
    +
    69 using valueType = int;
    +
    70 stack<valueType> stackA;
    +
    71 stackA.push(10);
    +
    72 stackA.push(20);
    +
    73 stackA.push(30);
    +
    74 auto stackB(stackA);
    +
    75 stackB.push(40);
    +
    76
    +
    77 const auto expectedDataA = std::vector<valueType>({30, 20, 10});
    +
    78 const auto expectedDataB = std::vector<valueType>({40, 30, 20, 10});
    +
    79
    +
    80 assert(stackA.toVector() == expectedDataA);
    +
    81 assert(stackB.toVector() == expectedDataB);
    +
    82}
    +
    83
    +
    84void testPoppingFromCopyDoesNotChangeOriginal() {
    +
    85 using valueType = int;
    +
    86 stack<valueType> stackA;
    +
    87 stackA.push(10);
    +
    88 stackA.push(20);
    +
    89 stackA.push(30);
    +
    90 auto stackB(stackA);
    +
    91 stackB.pop();
    +
    92
    +
    93 const auto expectedDataA = std::vector<valueType>({30, 20, 10});
    +
    94 const auto expectedDataB = std::vector<valueType>({20, 10});
    +
    95
    +
    96 assert(stackA.toVector() == expectedDataA);
    +
    97 assert(stackB.toVector() == expectedDataB);
    +
    98}
    +
    99
    +
    100void testPushingToOrginalDoesNotChangeCopy() {
    +
    101 using valueType = int;
    +
    102 stack<valueType> stackA;
    +
    103 stackA.push(10);
    +
    104 stackA.push(20);
    +
    105 stackA.push(30);
    +
    106 const auto stackB(stackA);
    +
    107 stackA.push(40);
    +
    108
    +
    109 const auto expectedDataA = std::vector<valueType>({40, 30, 20, 10});
    +
    110 const auto expectedDataB = std::vector<valueType>({30, 20, 10});
    +
    111
    +
    112 assert(stackA.toVector() == expectedDataA);
    +
    113 assert(stackB.toVector() == expectedDataB);
    +
    114}
    +
    115
    +
    116void testPoppingFromOrginalDoesNotChangeCopy() {
    +
    117 using valueType = int;
    +
    118 stack<valueType> stackA;
    +
    119 stackA.push(10);
    +
    120 stackA.push(20);
    +
    121 stackA.push(30);
    +
    122 const auto stackB(stackA);
    +
    123 stackA.pop();
    +
    124
    +
    125 const auto expectedDataA = std::vector<valueType>({20, 10});
    +
    126 const auto expectedDataB = std::vector<valueType>({30, 20, 10});
    +
    127
    +
    128 assert(stackA.toVector() == expectedDataA);
    +
    129 assert(stackB.toVector() == expectedDataB);
    +
    130}
    +
    131
    +
    132void testAssign() {
    +
    133 using valueType = int;
    +
    134 stack<valueType> stackA;
    +
    135 stackA.push(10);
    +
    136 stackA.push(20);
    +
    137 stackA.push(30);
    +
    138 stack<valueType> stackB = stackA;
    +
    139 stackA.pop();
    +
    140 stackB.push(40);
    +
    141
    +
    142 const auto expectedDataA = std::vector<valueType>({20, 10});
    +
    143 const auto expectedDataB = std::vector<valueType>({40, 30, 20, 10});
    +
    144
    +
    145 assert(stackA.toVector() == expectedDataA);
    +
    146 assert(stackB.toVector() == expectedDataB);
    +
    147
    +
    148 stackB = stackA;
    +
    149 stackA.pop();
    +
    150 stackB.push(5);
    +
    151 stackB.push(6);
    +
    152
    +
    153 const auto otherExpectedDataA = std::vector<valueType>({10});
    +
    154 const auto otherExpectedDataB = std::vector<valueType>({6, 5, 20, 10});
    +
    155
    +
    156 assert(stackA.toVector() == otherExpectedDataA);
    +
    157 assert(stackB.toVector() == otherExpectedDataB);
    +
    158}
    +
    159
    +
    160void testTopThrowsAnInvalidArgumentWhenStackEmpty() {
    +
    161 const stack<long double> curStack;
    +
    162 bool wasException = false;
    +
    163 try {
    +
    164 curStack.top();
    +
    165 } catch (const std::invalid_argument&) {
    +
    166 wasException = true;
    +
    167 }
    +
    168 assert(wasException);
    +
    169}
    +
    170
    +
    171void testPopThrowsAnInvalidArgumentWhenStackEmpty() {
    +
    172 stack<bool> curStack;
    +
    173 bool wasException = false;
    +
    174 try {
    +
    175 curStack.pop();
    +
    176 } catch (const std::invalid_argument&) {
    +
    177 wasException = true;
    +
    178 }
    +
    179 assert(wasException);
    +
    180}
    +
    181
    +
    182int main() {
    +
    183 testConstructedStackIsEmpty<int>();
    +
    184 testConstructedStackIsEmpty<char>();
    +
    185
    +
    186 testPush();
    +
    187 testPop();
    +
    188 testClear();
    +
    189
    +
    190 testCopyOfStackHasSameData();
    +
    191 testPushingToCopyDoesNotChangeOriginal();
    +
    192 testPoppingFromCopyDoesNotChangeOriginal();
    +
    193 testPushingToOrginalDoesNotChangeCopy();
    +
    194 testPoppingFromOrginalDoesNotChangeCopy();
    +
    195
    +
    196 testAssign();
    +
    197
    +
    198 testTopThrowsAnInvalidArgumentWhenStackEmpty();
    +
    199 testPopThrowsAnInvalidArgumentWhenStackEmpty();
    +
    200
    +
    201 std::cout << "All tests pass!\n";
    +
    202 return 0;
    +
    203}
    +
    for std::invalid_argument
    Definition stack.hpp:19
    +
    bool isEmptyStack() const
    Definition stack.hpp:44
    +
    void pop()
    Definition stack.hpp:62
    +
    void clear()
    Definition stack.hpp:69
    +
    void push(const value_type &item)
    Definition stack.hpp:47
    +
    value_type top() const
    Definition stack.hpp:56
    +
    int main()
    Main function.
    +
    This class specifies the basic operation on a stack as a linked list.
    +
    +
    + + + + diff --git a/d9/dc9/namespacebase64__encoding.html b/d9/dc9/namespacebase64__encoding.html index f66c56052..862435823 100644 --- a/d9/dc9/namespacebase64__encoding.html +++ b/d9/dc9/namespacebase64__encoding.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: base64_encoding Namespace Reference +TheAlgorithms/C++: base64_encoding Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/d9/dca/namespacesearch.html b/d9/dca/namespacesearch.html index 3bcdcb52e..25bcec117 100644 --- a/d9/dca/namespacesearch.html +++ b/d9/dca/namespacesearch.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: search Namespace Reference +TheAlgorithms/C++: search Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + @@ -114,12 +131,12 @@ $(function(){initNavTree('d9/dca/namespacesearch.html','../../'); initResizable(

    for std::assert

    Search algorithms.

    for assert

    -

    for std::sort function for IO operations for std::vector

    -

    for IO operations for std::vector

    +

    for std::sort function for IO operations for std::vector

    +

    for IO operations for std::vector

    Search algorithms

    -

    for io operations, and std::pair for std::vector

    +

    for io operations, and std::pair for std::vector

    Algorithms for searching

    -

    for IO operations for std::vector

    +

    for IO operations for std::vector

    Searching algorithms

    diff --git a/d9/dcc/selectionsortlinkedlist_8cpp_source.html b/d9/dcc/selectionsortlinkedlist_8cpp_source.html new file mode 100644 index 000000000..a9c8335b2 --- /dev/null +++ b/d9/dcc/selectionsortlinkedlist_8cpp_source.html @@ -0,0 +1,315 @@ + + + + + + + + +TheAlgorithms/C++: operations_on_datastructures/selectionsortlinkedlist.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + + +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    selectionsortlinkedlist.cpp
    +
    +
    +
    1#include <iostream>
    +
    2using namespace std;
    +
    3
    +
    4// node defined
    +
    5class node {
    +
    6 public:
    +
    7 int data;
    +
    8 node *link;
    +
    9 node(int d) {
    +
    10 data = d;
    +
    11 link = NULL;
    +
    12 }
    +
    13};
    +
    14
    +
    15// printing the linked list
    +
    16void print(node *head) {
    +
    17 node *current = head;
    +
    18 while (current != NULL) {
    +
    19 cout << current->data << " ";
    +
    20 current = current->link;
    +
    21 }
    +
    22 cout << endl;
    +
    23}
    +
    24
    +
    25// creating the linked list with 'n' nodes
    +
    26node *createlist(int n) {
    +
    27 node *head = NULL;
    +
    28 node *t = NULL;
    +
    29 for (int i = 0; i < n; i++) {
    +
    30 node *temp = NULL;
    +
    31 int num;
    +
    32 cin >> num;
    +
    33 temp = new node(num);
    +
    34 if (head == NULL) {
    +
    35 head = temp;
    +
    36 t = temp;
    +
    37 continue;
    +
    38 }
    +
    39 if (t->link == NULL)
    +
    40 t->link = temp;
    +
    41 t = temp;
    +
    42 }
    +
    43 return head;
    +
    44}
    +
    45
    +
    46// performing selection sort on the linked list in an iterative manner
    +
    47void my_selection_sort_linked_list(node *&head) {
    +
    48 node *min = head; // throughout the algorithm 'min' is used to denote the
    +
    49 // node with min value out of all the nodes left for
    +
    50 // scanning while scanning if we find a node 'X' with
    +
    51 // value lesser than min, then we update the pointers in
    +
    52 // such a way that 'X' becomes the predecessor of 'min'
    +
    53 node *current =
    +
    54 min->link; // 'current' refers to the current node we are scanning
    +
    55 node *previous = min; //'previous' refers to the node that is previous to
    +
    56 // the current node
    +
    57 node *temp =
    +
    58 NULL; // 'temp' in this algo is used to point to the last node of the
    +
    59 // sorted part of the linked list.
    +
    60 // eg. If at any time instance the state of the linked list is
    +
    61 // suppose 1->2->5->3->8->NULL then, we see that "1->2" is the
    +
    62 // sorted part of the LL, and therefore temp will be pointing to
    +
    63 // the last node of the sorted part,i.e,'2' We keep on arranging
    +
    64 // the Linked list in such a way that after each iteration the
    +
    65 // node with 'min' value is placed at its correct position. Eg.
    +
    66 // Let suppose initially we have 5->4->1->3->2->NULL After 1st
    +
    67 // iteration : 1->4->5->3->2->NULL and so on
    +
    68
    +
    69 while (
    +
    70 min->link !=
    +
    71 NULL) // so that all the nodes are scanned or until there exists a node
    +
    72 {
    +
    73 // pick the first node from the unsorted part and assume that it is the
    +
    74 // minimum and then start scanning from the next node
    +
    75
    +
    76 while (current != NULL) // suppose you choose the min node to be X,
    +
    77 // then scan starts from the (X+1)th node until
    +
    78 // its NULL. current = (X+1)th node and min = X
    +
    79 {
    +
    80 if (current->data < min->data) // if the current node is smaller
    +
    81 // than the presumed node 'min'
    +
    82 {
    +
    83 if (temp == NULL) // temp stays null for the first iteration,
    +
    84 // therefore it symbolizes that we are
    +
    85 // scanning for the first time
    +
    86 {
    +
    87 if (previous ==
    +
    88 min) // if the 'previous' is pointing to the 'min' node
    +
    89 {
    +
    90 // Update the pointers
    +
    91 head = current; // update the head pointer with the
    +
    92 // current node
    +
    93 min->link = current->link;
    +
    94 current->link = previous;
    +
    95 min = current;
    +
    96 current = previous->link;
    +
    97 } else // if the 'previous' is not pointing to the 'min'
    +
    98 // node
    +
    99 {
    +
    100 // Update the pointers
    +
    101 head = current; // update the head pointer with the
    +
    102 // current node
    +
    103 previous->link = current->link;
    +
    104 current->link = min;
    +
    105 min = current;
    +
    106 current = previous->link;
    +
    107 }
    +
    108 } else // if 'temp' is not NULL, i.e., its not the 1st
    +
    109 // iteration
    +
    110 {
    +
    111 temp->link = current;
    +
    112 previous->link = current->link;
    +
    113 current->link = min;
    +
    114 min = current;
    +
    115 current = previous->link;
    +
    116 }
    +
    117 } else // if the current node is greater than min, just move the
    +
    118 // previous and the current pointer a step further
    +
    119 {
    +
    120 previous = previous->link;
    +
    121 current = current->link;
    +
    122 }
    +
    123 }
    +
    124
    +
    125 // update the pointers. Set 'temp' to the last node in the sorted part.
    +
    126 // Make 'min' move a step further so that 'min' points to the 1st node
    +
    127 // of the unsorted part start the iteration again
    +
    128 temp = min;
    +
    129 min = min->link;
    +
    130 previous = min;
    +
    131 current = min->link;
    +
    132 }
    +
    133}
    +
    134
    +
    135// Test cases:
    +
    136
    +
    137// enter the no. of nodes : 5
    +
    138// 8 9 3 1 4
    +
    139// original list is : 8 9 3 1 4
    +
    140// sorted list is : 1 3 4 8 9
    +
    141
    +
    142// enter the no. of nodes : 3
    +
    143// -1 -2 -3
    +
    144// original list is : -1 -2 -3
    +
    145// sorted list is : -3 -2 -1
    +
    146
    +
    147// enter the no. of nodes : 8
    +
    148// 8 7 6 5 4 3 2 1
    +
    149// original list is : 8 7 6 5 4 3 2 1
    +
    150// sorted list is : 1 2 3 4 5 6 7 8
    +
    151
    +
    152// enter the no. of nodes : 6
    +
    153// 5 3 4 1 -2 -4
    +
    154// original list is : 5 3 4 1 -2 -4
    +
    155// sorted list is : -4 -2 1 3 4 5
    +
    156
    +
    157int main() {
    +
    158 node *head = NULL;
    +
    159 int n;
    +
    160 cout << "enter the no. of nodes : "; // taking input from user about the
    +
    161 // number of nodes in linked list
    +
    162 cin >> n;
    +
    163 if (n == 0)
    +
    164 return 0;
    +
    165 head = createlist(n); // creating the list
    +
    166 cout << "original list is : ";
    +
    167 print(head); // printing the original linked list
    +
    168 my_selection_sort_linked_list(head); // applying selection sort
    +
    169 cout << "sorted list is : ";
    +
    170 print(head); // printing the sorted linked list
    +
    171 return 0;
    +
    172}
    +
    struct node { int data; int height; struct node *left; struct node *right;} node
    for std::queue
    Definition avltree.cpp:13
    +
    int main()
    Main function.
    +
    int data[MAX]
    test data
    +
    struct list * link
    pointer to nodes
    +
    #define endl
    + +
    +
    + + + + diff --git a/d9/dd1/namespacelinear__recurrence__matrix.html b/d9/dd1/namespacelinear__recurrence__matrix.html index 84d404f1b..f9127b624 100644 --- a/d9/dd1/namespacelinear__recurrence__matrix.html +++ b/d9/dd1/namespacelinear__recurrence__matrix.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: linear_recurrence_matrix Namespace Reference +TheAlgorithms/C++: linear_recurrence_matrix Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/d9/dd2/cocktail__selection__sort_8cpp_source.html b/d9/dd2/cocktail__selection__sort_8cpp_source.html new file mode 100644 index 000000000..ae8f170ce --- /dev/null +++ b/d9/dd2/cocktail__selection__sort_8cpp_source.html @@ -0,0 +1,240 @@ + + + + + + + + +TheAlgorithms/C++: sorting/cocktail_selection_sort.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + + +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    cocktail_selection_sort.cpp
    +
    +
    +
    1// Returns Sorted elements after performing Cocktail Selection Sort
    +
    2// It is a Sorting algorithm which chooses the minimum and maximum element in an
    +
    3// array simultaneously, and swaps it with the lowest and highest available
    +
    4// position iteratively or recursively
    +
    5
    +
    6#include <algorithm>
    +
    7#include <iostream>
    +
    8#include <vector>
    +
    9
    +
    10// Iterative Version
    +
    11
    +
    12void CocktailSelectionSort(std::vector<int> *vec, int low, int high) {
    +
    13 while (low <= high) {
    +
    14 int minimum = (*vec)[low];
    +
    15 int minimumindex = low;
    +
    16 int maximum = (*vec)[high];
    +
    17 int maximumindex = high;
    +
    18
    +
    19 for (int i = low; i <= high; i++) {
    +
    20 if ((*vec)[i] >= maximum) {
    +
    21 maximum = (*vec)[i];
    +
    22 maximumindex = i;
    +
    23 }
    +
    24 if ((*vec)[i] <= minimum) {
    +
    25 minimum = (*vec)[i];
    +
    26 minimumindex = i;
    +
    27 }
    +
    28 }
    +
    29 if (low != maximumindex || high != minimumindex) {
    +
    30 std::swap((*vec)[low], (*vec)[minimumindex]);
    +
    31 std::swap((*vec)[high], (*vec)[maximumindex]);
    +
    32 } else {
    +
    33 std::swap((*vec)[low], (*vec)[high]);
    +
    34 }
    +
    35
    +
    36 low++;
    +
    37 high--;
    +
    38 }
    +
    39}
    +
    40
    +
    41// Recursive Version
    +
    42
    +
    43void CocktailSelectionSort_v2(std::vector<int> *vec, int low, int high) {
    +
    44 if (low >= high)
    +
    45 return;
    +
    46
    +
    47 int minimum = (*vec)[low];
    +
    48 int minimumindex = low;
    +
    49 int maximum = (*vec)[high];
    +
    50 int maximumindex = high;
    +
    51
    +
    52 for (int i = low; i <= high; i++) {
    +
    53 if ((*vec)[i] >= maximum) {
    +
    54 maximum = (*vec)[i];
    +
    55 maximumindex = i;
    +
    56 }
    +
    57 if ((*vec)[i] <= minimum) {
    +
    58 minimum = (*vec)[i];
    +
    59 minimumindex = i;
    +
    60 }
    +
    61 }
    +
    62 if (low != maximumindex || high != minimumindex) {
    +
    63 std::swap((*vec)[low], (*vec)[minimumindex]);
    +
    64 std::swap((*vec)[high], (*vec)[maximumindex]);
    +
    65 } else {
    +
    66 std::swap((*vec)[low], (*vec)[high]);
    +
    67 }
    +
    68
    +
    69 CocktailSelectionSort(vec, low + 1, high - 1);
    +
    70}
    +
    71
    +
    72// main function, select any one of iterative or recursive version
    +
    73
    +
    74int main() {
    +
    75 int n;
    +
    76 std::cout << "Enter number of elements\n";
    +
    77 std::cin >> n;
    +
    78 std::vector<int> v(n);
    +
    79 std::cout << "Enter all the elements\n";
    +
    80 for (int i = 0; i < n; ++i) {
    +
    81 std::cin >> v[i];
    +
    82 }
    +
    83
    +
    84 int method;
    +
    85 std::cout << "Enter method: \n\t0: iterative\n\t1: recursive:\t";
    +
    86 std::cin >> method;
    +
    87
    +
    88 if (method == 0) {
    +
    89 CocktailSelectionSort(&v, 0, n - 1);
    +
    90 } else if (method == 1) {
    +
    91 CocktailSelectionSort_v2(&v, 0, n - 1);
    +
    92 } else {
    +
    93 std::cerr << "Unknown method" << std::endl;
    +
    94 return -1;
    +
    95 }
    +
    96 std::cout << "Sorted elements are\n";
    +
    97 for (int i = 0; i < n; ++i) {
    +
    98 std::cout << v[i] << " ";
    +
    99 }
    +
    100
    +
    101 return 0;
    +
    102}
    +
    int main()
    Main function.
    +
    +
    + + + + diff --git a/d9/dd7/interpolation__search_8cpp_source.html b/d9/dd7/interpolation__search_8cpp_source.html new file mode 100644 index 000000000..59e9c2b96 --- /dev/null +++ b/d9/dd7/interpolation__search_8cpp_source.html @@ -0,0 +1,265 @@ + + + + + + + + +TheAlgorithms/C++: search/interpolation_search.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    interpolation_search.cpp
    +
    +
    +
    1
    +
    2/******************************************************************************
    +
    3 * @file
    +
    4 * @brief [Interpolation search
    +
    5 * algorithm](https://en.wikipedia.org/wiki/interpolation_search)
    +
    6 *
    +
    7 * @details
    +
    8 * interpolation search resembles the method by which people search a telephone
    +
    9 * directory for a name (the key value by which the book's entries are ordered):
    +
    10 * in each step the algorithm calculates where in the remaining search space
    +
    11 * the sought item might be, based on the key values at the bounds of the search
    +
    12 * space and the value of the sought key, usually via a linear interpolation.
    +
    13 * The key value actually found at this estimated position is then compared to
    +
    14 * the key value being sought. If it is not equal, then depending on the
    +
    15 * comparison, the remaining search space is reduced to the part before or
    +
    16 * after the estimated position. This method will only work if calculations
    +
    17 * on the size of differences between key values are sensible.
    +
    18
    +
    19 * ### Complexities
    +
    20 *
    +
    21 * //n is the number of element in the array.
    +
    22 *
    +
    23 * Worst-case time complexity O(n) (when items are distributed
    +
    24 exponentially)
    +
    25 * Average time complexity O(log2(log2 n))
    +
    26 * space complexity 0(1)
    +
    27 *
    +
    28 * @author [Lajat Manekar](https://github.com/Lazeeez)
    +
    29 * @author Unknown author
    +
    30 *******************************************************************************/
    +
    31
    +
    32#include <algorithm>
    +
    33#include <cassert>
    +
    34#include <cstdint>
    +
    35#include <iostream>
    +
    36#include <vector>
    +
    37
    +
    38/******************************************************************************
    +
    39 * @namespace search
    +
    40 * @brief Searching algorithms
    +
    41 *******************************************************************************/
    +
    42namespace search {
    +
    43
    +
    44/******************************************************************************
    +
    45 * @namespace interpolation_search
    +
    46 * @brief Functions for the [Interpolation
    +
    47 *Search](https://en.wikipedia.org/wiki/interpolation_search) algorithm
    +
    48 *implementation
    +
    49 *******************************************************************************/
    +
    50namespace interpolation_search {
    +
    51
    +
    52/******************************************************************************
    +
    53 * @brief The main function which implements interpolation search
    +
    54 * @param arr vector to be searched in
    +
    55 * @param number value to be searched
    +
    56 * @returns integer index of `number` in vector `arr`
    +
    57 *******************************************************************************/
    +
    58uint64_t interpolationSearch(const std::vector<uint64_t> &arr,
    +
    59 uint64_t number) {
    +
    60 uint64_t size = arr.size();
    +
    61 uint64_t low = 0, high = (size - 1);
    +
    62
    +
    63 // Since vector is sorted, an element present in array must be in range
    +
    64 // defined by corner
    +
    65 while (low <= high && number >= arr[low] && number <= arr[high]) {
    +
    66 if (low == high) {
    +
    67 if (arr[low] == number) {
    +
    68 return low;
    +
    69 }
    +
    70 return -1;
    +
    71 }
    +
    72 // Probing the position with keeping uniform distribution in mind.
    +
    73 uint64_t pos =
    +
    74 low +
    +
    75 ((static_cast<uint64_t>(high - low) / (arr[high] - arr[low])) *
    +
    76 (number - arr[low]));
    +
    77
    +
    78 if (arr[pos] == number) {
    +
    79 return pos; // Condition of target found
    +
    80 }
    +
    81
    +
    82 if (arr[pos] < number) {
    +
    83 low = pos + 1; // If x is larger, x is in upper part
    +
    84 }
    +
    85
    +
    86 else {
    +
    87 high = pos - 1; // If x is smaller, x is in the lower part
    +
    88 }
    +
    89 }
    +
    90 return -1;
    +
    91}
    +
    92
    +
    93} // namespace interpolation_search
    +
    94
    +
    95} // namespace search
    +
    96
    +
    97/*******************************************************************************
    +
    98 * @brief Self-test implementation
    +
    99 * @returns void
    +
    100 *******************************************************************************/
    +
    101static void tests() {
    +
    102 // testcase
    +
    103 // array = [10, 12, 13, 16, 18, 19, 20, 21, 1, 2, 3, 4, 22, 23, 24, 33, 35,
    +
    104 // 42, 47] , Value = 33 should return 15
    +
    105 std::vector<uint64_t> arr = {{10, 12, 13, 16, 18, 19, 20, 21, 1, 2, 3, 4,
    +
    106 22, 23, 24, 33, 35, 42, 47}};
    +
    107 sort(arr.begin(), arr.end());
    +
    108 uint64_t number = 33; // Element to be searched
    +
    109 uint64_t expected_answer = 15;
    +
    110 uint64_t derived_answer =
    +
    111 search::interpolation_search::interpolationSearch(arr, number);
    +
    112 std::cout << "Testcase: ";
    +
    113 assert(derived_answer == expected_answer);
    +
    114 std::cout << "Passed!\n";
    +
    115}
    +
    116
    +
    117/*******************************************************************************
    +
    118 * @brief Main function
    +
    119 * @returns 0 on exit
    +
    120 *******************************************************************************/
    +
    121int main() {
    +
    122 tests(); // run self-test implementations
    +
    123 return 0;
    +
    124}
    +
    int main()
    Main function.
    +
    Functions for the Recursive version of Inorder, Preorder, and Postorder Traversal of the Tree algorit...
    +
    for std::assert
    +
    Testcases to check Union of Two Arrays.
    +
    +
    + + + + diff --git a/d9/dde/classbinary__search__tree.html b/d9/dde/classbinary__search__tree.html index 2707dec1b..d251b5daa 100644 --- a/d9/dde/classbinary__search__tree.html +++ b/d9/dde/classbinary__search__tree.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: binary_search_tree< T > Class Template Reference +TheAlgorithms/C++: binary_search_tree< T > Class Template Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -119,7 +136,7 @@ $(function(){initNavTree('d9/dde/classbinary__search__tree.html','../../'); init
    Collaboration diagram for binary_search_tree< T >:
    -
    +
    [legend]
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    - + - + - + - +

    @@ -148,51 +165,51 @@ Public Member Functions

    bool find_max (T &ret_value)
     Find the largest value in the BST.
     
    std::size_t size ()
    std::size_t size ()
     Get the number of values in the BST.
     
    std::vector< T > get_elements_inorder ()
    std::vector< T > get_elements_inorder ()
     Get all values of the BST in in-order order.
     
    std::vector< T > get_elements_preorder ()
    std::vector< T > get_elements_preorder ()
     Get all values of the BST in pre-order order.
     
    std::vector< T > get_elements_postorder ()
    std::vector< T > get_elements_postorder ()
     Get all values of the BST in post-order order.
     
    - + - + - + - + - + - + - + - +

    Private Member Functions

    bool find_max (std::unique_ptr< bst_node > &node, T &ret_value)
    bool find_max (std::unique_ptr< bst_node > &node, T &ret_value)
     Recursive function to find the maximum value in the BST.
     
    bool find_min (std::unique_ptr< bst_node > &node, T &ret_value)
    bool find_min (std::unique_ptr< bst_node > &node, T &ret_value)
     Recursive function to find the minimum value in the BST.
     
    bool insert (std::unique_ptr< bst_node > &node, T new_value)
    bool insert (std::unique_ptr< bst_node > &node, T new_value)
     Recursive function to insert a value into the BST.
     
    bool remove (std::unique_ptr< bst_node > &parent, std::unique_ptr< bst_node > &node, T rm_value)
    bool remove (std::unique_ptr< bst_node > &parent, std::unique_ptr< bst_node > &node, T rm_value)
     Recursive function to remove a value from the BST.
     
    bool contains (std::unique_ptr< bst_node > &node, T value)
    bool contains (std::unique_ptr< bst_node > &node, T value)
     Recursive function to check if a value is in the BST.
     
    void traverse_inorder (std::function< void(T)> callback, std::unique_ptr< bst_node > &node)
    void traverse_inorder (std::function< void(T)> callback, std::unique_ptr< bst_node > &node)
     Recursive function to traverse the tree in in-order order.
     
    void traverse_preorder (std::function< void(T)> callback, std::unique_ptr< bst_node > &node)
    void traverse_preorder (std::function< void(T)> callback, std::unique_ptr< bst_node > &node)
     Recursive function to traverse the tree in pre-order order.
     
    void traverse_postorder (std::function< void(T)> callback, std::unique_ptr< bst_node > &node)
    void traverse_postorder (std::function< void(T)> callback, std::unique_ptr< bst_node > &node)
     Recursive function to traverse the tree in post-order order.
     
    - + - +

    Private Attributes

    std::unique_ptr< bst_noderoot_
    std::unique_ptr< bst_noderoot_
     
    std::size_t size_ = 0
    std::size_t size_ = 0
     

    Detailed Description

    @@ -204,6 +221,8 @@ class binary_search_tree< T >

    The Binary Search Tree class.

    + +

    Definition at line 20 of file binary_search_tree2.cpp.

    Constructor & Destructor Documentation

    ◆ binary_search_tree()

    @@ -231,12 +250,14 @@ template<class T >

    Construct a new Binary Search Tree object.

    + +

    Definition at line 247 of file binary_search_tree2.cpp.

    247 {
    248 root_ = nullptr;
    249 size_ = 0;
    250 }
    -
    std::size_t size_
    Definition binary_search_tree2.cpp:43
    -
    std::unique_ptr< bst_node > root_
    Definition binary_search_tree2.cpp:42
    + +
    std::unique_ptr< bst_node > root_
    @@ -255,7 +276,7 @@ template<class T > bool binary_search_tree< T >::contains ( - std::unique_ptr< bst_node > & node, + std::unique_ptr< bst_node > & node, @@ -281,6 +302,8 @@ template<class T >
    Returns
    true If the value was found in the BST.
    false Otherwise.
    + +

    Definition at line 177 of file binary_search_tree2.cpp.

    177 {
    178 if (!node) {
    179 return false;
    @@ -294,14 +317,9 @@ false Otherwise.
    187 return true;
    188 }
    189 }
    -
    bool contains(std::unique_ptr< bst_node > &node, T value)
    Recursive function to check if a value is in the BST.
    Definition binary_search_tree2.cpp:177
    -
    Definition binary_search_tree.cpp:11
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    bool contains(std::unique_ptr< bst_node > &node, T value)
    Recursive function to check if a value is in the BST.
    + + @@ -339,13 +357,10 @@ template<class T >
    Returns
    true If value is in the BST.
    false Otherwise.
    -
    289{ return contains(root_, value); }
    -
    -Here is the call graph for this function:
    -
    -
    -
    +

    Definition at line 289 of file binary_search_tree2.cpp.

    +
    289{ return contains(root_, value); }
    +
    @@ -362,7 +377,7 @@ template<class T > bool binary_search_tree< T >::find_max ( - std::unique_ptr< bst_node > & node, + std::unique_ptr< bst_node > & node, @@ -388,6 +403,8 @@ template<class T >
    Returns
    true If the maximum value was successfully found.
    false Otherwise.
    + +

    Definition at line 53 of file binary_search_tree2.cpp.

    53 {
    54 if (!node) {
    55 return false;
    @@ -397,13 +414,8 @@ false Otherwise.
    59 }
    60 return find_max(node->right, ret_value);
    61 }
    -
    bool find_max(std::unique_ptr< bst_node > &node, T &ret_value)
    Recursive function to find the maximum value in the BST.
    Definition binary_search_tree2.cpp:53
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    bool find_max(std::unique_ptr< bst_node > &node, T &ret_value)
    Recursive function to find the maximum value in the BST.
    + @@ -441,13 +453,10 @@ template<class T >
    Returns
    true If maximum value was successfully found.
    false Otherwise.
    -
    307{ return find_max(root_, ret_value); }
    -
    -Here is the call graph for this function:
    -
    -
    -
    +

    Definition at line 307 of file binary_search_tree2.cpp.

    +
    307{ return find_max(root_, ret_value); }
    +
    @@ -464,7 +473,7 @@ template<class T > bool binary_search_tree< T >::find_min ( - std::unique_ptr< bst_node > & node, + std::unique_ptr< bst_node > & node, @@ -490,6 +499,8 @@ template<class T >
    Returns
    true If the minimum value was successfully found.
    false Otherwise.
    + +

    Definition at line 71 of file binary_search_tree2.cpp.

    71 {
    72 if (!node) {
    73 return false;
    @@ -500,13 +511,8 @@ false Otherwise.
    78
    79 return find_min(node->left, ret_value);
    80 }
    -
    bool find_min(std::unique_ptr< bst_node > &node, T &ret_value)
    Recursive function to find the minimum value in the BST.
    Definition binary_search_tree2.cpp:71
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    bool find_min(std::unique_ptr< bst_node > &node, T &ret_value)
    Recursive function to find the minimum value in the BST.
    + @@ -544,13 +550,10 @@ template<class T >
    Returns
    true If minimum value was successfully found.
    false Otherwise.
    -
    298{ return find_min(root_, ret_value); }
    -
    -Here is the call graph for this function:
    -
    -
    -
    +

    Definition at line 298 of file binary_search_tree2.cpp.

    +
    298{ return find_min(root_, ret_value); }
    +
    @@ -565,7 +568,7 @@ template<class T > - + @@ -580,21 +583,17 @@ template<class T >

    Get all values of the BST in in-order order.

    Returns
    std::vector<T> List of values, sorted in in-order order.
    + +

    Definition at line 321 of file binary_search_tree2.cpp.

    321 {
    - +
    322 std::vector<T> result;
    323 traverse_inorder([&](T node_value) { result.push_back(node_value); },
    324 root_);
    325 return result;
    326 }
    -
    void traverse_inorder(std::function< void(T)> callback, std::unique_ptr< bst_node > &node)
    Recursive function to traverse the tree in in-order order.
    Definition binary_search_tree2.cpp:197
    -
    uint64_t result(uint64_t n)
    Definition fibonacci_sum.cpp:77
    - -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    void traverse_inorder(std::function< void(T)> callback, std::unique_ptr< bst_node > &node)
    Recursive function to traverse the tree in in-order order.
    +
    uint64_t result(uint64_t n)
    + @@ -609,7 +608,7 @@ template<class T > @@ -1076,6 +1054,8 @@ template<class T >
    std::vector< T > binary_search_tree< T >::get_elements_inorder std::vector< T > binary_search_tree< T >::get_elements_inorder ( ) - + @@ -624,19 +623,16 @@ template<class T >

    Get all values of the BST in post-order order.

    Returns
    std::vector<T> List of values, sorted in post-order order.
    + +

    Definition at line 345 of file binary_search_tree2.cpp.

    345 {
    - +
    346 std::vector<T> result;
    347 traverse_postorder([&](T node_value) { result.push_back(node_value); },
    348 root_);
    349 return result;
    350 }
    -
    void traverse_postorder(std::function< void(T)> callback, std::unique_ptr< bst_node > &node)
    Recursive function to traverse the tree in post-order order.
    Definition binary_search_tree2.cpp:231
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    void traverse_postorder(std::function< void(T)> callback, std::unique_ptr< bst_node > &node)
    Recursive function to traverse the tree in post-order order.
    + @@ -651,7 +647,7 @@ template<class T > - + - +
    std::vector< T > binary_search_tree< T >::get_elements_postorder std::vector< T > binary_search_tree< T >::get_elements_postorder ( ) - + @@ -666,19 +662,16 @@ template<class T >

    Get all values of the BST in pre-order order.

    Returns
    std::vector<T> List of values, sorted in pre-order order.
    + +

    Definition at line 333 of file binary_search_tree2.cpp.

    333 {
    - +
    334 std::vector<T> result;
    335 traverse_preorder([&](T node_value) { result.push_back(node_value); },
    336 root_);
    337 return result;
    338 }
    -
    void traverse_preorder(std::function< void(T)> callback, std::unique_ptr< bst_node > &node)
    Recursive function to traverse the tree in pre-order order.
    Definition binary_search_tree2.cpp:214
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    void traverse_preorder(std::function< void(T)> callback, std::unique_ptr< bst_node > &node)
    Recursive function to traverse the tree in pre-order order.
    + @@ -695,7 +688,7 @@ template<class T > - + @@ -721,15 +714,17 @@ template<class T >
    Returns
    true If the insert operation was successful.
    false Otherwise.
    + +

    Definition at line 90 of file binary_search_tree2.cpp.

    90 {
    91 if (root_ == node && !root_) {
    -
    92 root_ = std::unique_ptr<bst_node>(new bst_node(new_value));
    +
    92 root_ = std::unique_ptr<bst_node>(new bst_node(new_value));
    93 return true;
    94 }
    95
    96 if (new_value < node->value) {
    97 if (!node->left) {
    -
    98 node->left = std::unique_ptr<bst_node>(new bst_node(new_value));
    +
    98 node->left = std::unique_ptr<bst_node>(new bst_node(new_value));
    99 return true;
    100 } else {
    101 return insert(node->left, new_value);
    @@ -737,7 +732,7 @@ false Otherwise.
    103 } else if (new_value > node->value) {
    104 if (!node->right) {
    105 node->right =
    -
    106 std::unique_ptr<bst_node>(new bst_node(new_value));
    +
    106 std::unique_ptr<bst_node>(new bst_node(new_value));
    107 return true;
    108 } else {
    109 return insert(node->right, new_value);
    @@ -746,14 +741,8 @@ false Otherwise.
    112 return false;
    113 }
    114 }
    -
    bool insert(std::unique_ptr< bst_node > &node, T new_value)
    Recursive function to insert a value into the BST.
    Definition binary_search_tree2.cpp:90
    - -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    bool insert(std::unique_ptr< bst_node > &node, T new_value)
    Recursive function to insert a value into the BST.
    + @@ -791,6 +780,8 @@ template<class T >
    Returns
    true If the insertion was successful.
    false Otherwise.
    + +

    Definition at line 259 of file binary_search_tree2.cpp.

    259 {
    260 bool result = insert(root_, new_value);
    261 if (result) {
    @@ -798,12 +789,7 @@ false Otherwise.
    263 }
    264 return result;
    265 }
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -820,12 +806,12 @@ template<class T > - + - + @@ -852,6 +838,8 @@ template<class T >
    Returns
    true If the removal operation was successful.
    false Otherwise.
    + +

    Definition at line 125 of file binary_search_tree2.cpp.

    126 {
    127 if (!node) {
    128 return false;
    @@ -865,15 +853,15 @@ false Otherwise.
    136 node->value = successor_node_value;
    137 return true;
    138 } else if (node->left || node->right) {
    -
    139 std::unique_ptr<bst_node>& non_null =
    +
    139 std::unique_ptr<bst_node>& non_null =
    140 (node->left ? node->left : node->right);
    141
    142 if (node == root_) {
    -
    143 root_ = std::move(non_null);
    +
    143 root_ = std::move(non_null);
    144 } else if (rm_value < parent->value) {
    -
    145 parent->left = std::move(non_null);
    +
    145 parent->left = std::move(non_null);
    146 } else {
    -
    147 parent->right = std::move(non_null);
    +
    147 parent->right = std::move(non_null);
    148 }
    149
    150 return true;
    @@ -894,14 +882,8 @@ false Otherwise.
    165 return remove(node, node->right, rm_value);
    166 }
    167 }
    -
    bool remove(std::unique_ptr< bst_node > &parent, std::unique_ptr< bst_node > &node, T rm_value)
    Recursive function to remove a value from the BST.
    Definition binary_search_tree2.cpp:125
    -
    T move(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    bool remove(std::unique_ptr< bst_node > &parent, std::unique_ptr< bst_node > &node, T rm_value)
    Recursive function to remove a value from the BST.
    + @@ -939,6 +921,8 @@ template<class T >
    Returns
    true If the removal was successful.
    false Otherwise.
    + +

    Definition at line 274 of file binary_search_tree2.cpp.

    274 {
    275 bool result = remove(root_, root_, rm_value);
    276 if (result) {
    @@ -946,12 +930,7 @@ false Otherwise.
    278 }
    279 return result;
    280 }
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -966,7 +945,7 @@ template<class T > @@ -1022,6 +1003,8 @@ template<class T >
    std::vector< T > binary_search_tree< T >::get_elements_preorder std::vector< T > binary_search_tree< T >::get_elements_preorder ( )
    bool binary_search_tree< T >::insert (std::unique_ptr< bst_node > & node, std::unique_ptr< bst_node > & node,
    bool binary_search_tree< T >::remove (std::unique_ptr< bst_node > & parent, std::unique_ptr< bst_node > & parent,
    std::unique_ptr< bst_node > & node, std::unique_ptr< bst_node > & node,
    - + @@ -980,7 +959,9 @@ template<class T >

    Get the number of values in the BST.

    -
    Returns
    std::size_t Number of values in the BST.
    +
    Returns
    std::size_t Number of values in the BST.
    + +

    Definition at line 314 of file binary_search_tree2.cpp.

    314{ return size_; }
    @@ -999,12 +980,12 @@ template<class T > - + - +
    std::size_t binary_search_tree< T >::size std::size_t binary_search_tree< T >::size ( )
    void binary_search_tree< T >::traverse_inorder (std::function< void(T)> callback, std::function< void(T)> callback,
    std::unique_ptr< bst_node > & node )std::unique_ptr< bst_node > & node )
    + +

    Definition at line 197 of file binary_search_tree2.cpp.

    198 {
    199 if (!node) {
    200 return;
    @@ -1031,12 +1014,7 @@ template<class T >
    204 callback(node->value);
    205 traverse_inorder(callback, node->right);
    206 }
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -1053,12 +1031,12 @@ template<class T >
    void binary_search_tree< T >::traverse_postorder (std::function< void(T)> callback, std::function< void(T)> callback,
    std::unique_ptr< bst_node > & node )std::unique_ptr< bst_node > & node )
    + +

    Definition at line 231 of file binary_search_tree2.cpp.

    232 {
    233 if (!node) {
    234 return;
    @@ -1085,12 +1065,7 @@ template<class T >
    238 traverse_postorder(callback, node->right);
    239 callback(node->value);
    240 }
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -1107,12 +1082,12 @@ template<class T > void binary_search_tree< T >::traverse_preorder ( - std::function< void(T)> callback, + std::function< void(T)> callback, - std::unique_ptr< bst_node > & node ) + std::unique_ptr< bst_node > & node ) @@ -1130,6 +1105,8 @@ template<class T > + +

    Definition at line 214 of file binary_search_tree2.cpp.

    215 {
    216 if (!node) {
    217 return;
    @@ -1139,12 +1116,7 @@ template<class T >
    221 traverse_preorder(callback, node->left);
    222 traverse_preorder(callback, node->right);
    223 }
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +

    Member Data Documentation

    @@ -1160,7 +1132,7 @@ template<class T > - +
    std::unique_ptr<bst_node> binary_search_tree< T >::root_std::unique_ptr<bst_node> binary_search_tree< T >::root_
    @@ -1171,6 +1143,8 @@ template<class T >

    Pointer to the root of the BST.

    +

    Definition at line 42 of file binary_search_tree2.cpp.

    +
    @@ -1185,7 +1159,7 @@ template<class T > - +
    std::size_t binary_search_tree< T >::size_ = 0std::size_t binary_search_tree< T >::size_ = 0
    @@ -1196,10 +1170,12 @@ template<class T >

    Number of elements/nodes in the BST.

    +

    Definition at line 43 of file binary_search_tree2.cpp.

    +

    The documentation for this class was generated from the following file: diff --git a/d9/dde/classbinary__search__tree_a1f23830316204664514f396a4eb5275a_cgraph.map b/d9/dde/classbinary__search__tree_a1f23830316204664514f396a4eb5275a_cgraph.map deleted file mode 100644 index 2505196cf..000000000 --- a/d9/dde/classbinary__search__tree_a1f23830316204664514f396a4eb5275a_cgraph.map +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/d9/dde/classbinary__search__tree_a1f23830316204664514f396a4eb5275a_cgraph.md5 b/d9/dde/classbinary__search__tree_a1f23830316204664514f396a4eb5275a_cgraph.md5 deleted file mode 100644 index 60a97f5a3..000000000 --- a/d9/dde/classbinary__search__tree_a1f23830316204664514f396a4eb5275a_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -a5a3d5f581caced7886143e2b98bc0d1 \ No newline at end of file diff --git a/d9/dde/classbinary__search__tree_a1f23830316204664514f396a4eb5275a_cgraph.svg b/d9/dde/classbinary__search__tree_a1f23830316204664514f396a4eb5275a_cgraph.svg deleted file mode 100644 index 93892dafc..000000000 --- a/d9/dde/classbinary__search__tree_a1f23830316204664514f396a4eb5275a_cgraph.svg +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - - - - - - - -binary_search_tree::get_elements_inorder - - -Node1 - - -binary_search_tree -::get_elements_inorder - - - - - -Node2 - - -binary_search_tree -::traverse_inorder - - - - - -Node1->Node2 - - - - - - - - -Node2->Node2 - - - - - - - - - - - - - diff --git a/d9/dde/classbinary__search__tree_a1f23830316204664514f396a4eb5275a_cgraph_org.svg b/d9/dde/classbinary__search__tree_a1f23830316204664514f396a4eb5275a_cgraph_org.svg deleted file mode 100644 index 2180a472c..000000000 --- a/d9/dde/classbinary__search__tree_a1f23830316204664514f396a4eb5275a_cgraph_org.svg +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - -binary_search_tree::get_elements_inorder - - -Node1 - - -binary_search_tree -::get_elements_inorder - - - - - -Node2 - - -binary_search_tree -::traverse_inorder - - - - - -Node1->Node2 - - - - - - - - -Node2->Node2 - - - - - - - - diff --git a/d9/dde/classbinary__search__tree_a2fcf37549bd002c174a45b0b4203c2bd_cgraph.map b/d9/dde/classbinary__search__tree_a2fcf37549bd002c174a45b0b4203c2bd_cgraph.map deleted file mode 100644 index 984e5bcb1..000000000 --- a/d9/dde/classbinary__search__tree_a2fcf37549bd002c174a45b0b4203c2bd_cgraph.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/d9/dde/classbinary__search__tree_a2fcf37549bd002c174a45b0b4203c2bd_cgraph.md5 b/d9/dde/classbinary__search__tree_a2fcf37549bd002c174a45b0b4203c2bd_cgraph.md5 deleted file mode 100644 index 4ba8699f7..000000000 --- a/d9/dde/classbinary__search__tree_a2fcf37549bd002c174a45b0b4203c2bd_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -69b581b1f66e8723358f5796f63c8def \ No newline at end of file diff --git a/d9/dde/classbinary__search__tree_a2fcf37549bd002c174a45b0b4203c2bd_cgraph.svg b/d9/dde/classbinary__search__tree_a2fcf37549bd002c174a45b0b4203c2bd_cgraph.svg deleted file mode 100644 index d663e726d..000000000 --- a/d9/dde/classbinary__search__tree_a2fcf37549bd002c174a45b0b4203c2bd_cgraph.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - - - - - - - -binary_search_tree::traverse_inorder - - -Node1 - - -binary_search_tree -::traverse_inorder - - - - - -Node1->Node1 - - - - - - - - - - - - - diff --git a/d9/dde/classbinary__search__tree_a2fcf37549bd002c174a45b0b4203c2bd_cgraph_org.svg b/d9/dde/classbinary__search__tree_a2fcf37549bd002c174a45b0b4203c2bd_cgraph_org.svg deleted file mode 100644 index 30d8a7d20..000000000 --- a/d9/dde/classbinary__search__tree_a2fcf37549bd002c174a45b0b4203c2bd_cgraph_org.svg +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - -binary_search_tree::traverse_inorder - - -Node1 - - -binary_search_tree -::traverse_inorder - - - - - -Node1->Node1 - - - - - - - - diff --git a/d9/dde/classbinary__search__tree_a42b16f26928b5e994925100594a167a0_cgraph.map b/d9/dde/classbinary__search__tree_a42b16f26928b5e994925100594a167a0_cgraph.map deleted file mode 100644 index 6db5294e2..000000000 --- a/d9/dde/classbinary__search__tree_a42b16f26928b5e994925100594a167a0_cgraph.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/d9/dde/classbinary__search__tree_a42b16f26928b5e994925100594a167a0_cgraph.md5 b/d9/dde/classbinary__search__tree_a42b16f26928b5e994925100594a167a0_cgraph.md5 deleted file mode 100644 index 92a66fcb3..000000000 --- a/d9/dde/classbinary__search__tree_a42b16f26928b5e994925100594a167a0_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -4ca8a999839ead2cbdf7c7164fd64bad \ No newline at end of file diff --git a/d9/dde/classbinary__search__tree_a42b16f26928b5e994925100594a167a0_cgraph.svg b/d9/dde/classbinary__search__tree_a42b16f26928b5e994925100594a167a0_cgraph.svg deleted file mode 100644 index 67c232bd8..000000000 --- a/d9/dde/classbinary__search__tree_a42b16f26928b5e994925100594a167a0_cgraph.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - - - - - - - -binary_search_tree::find_max - - -Node1 - - -binary_search_tree -::find_max - - - - - -Node1->Node1 - - - - - - - - - - - - - diff --git a/d9/dde/classbinary__search__tree_a42b16f26928b5e994925100594a167a0_cgraph_org.svg b/d9/dde/classbinary__search__tree_a42b16f26928b5e994925100594a167a0_cgraph_org.svg deleted file mode 100644 index 9315c5197..000000000 --- a/d9/dde/classbinary__search__tree_a42b16f26928b5e994925100594a167a0_cgraph_org.svg +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - -binary_search_tree::find_max - - -Node1 - - -binary_search_tree -::find_max - - - - - -Node1->Node1 - - - - - - - - diff --git a/d9/dde/classbinary__search__tree_a5764c1cf848f84a5b77462036a6d8c13_cgraph.map b/d9/dde/classbinary__search__tree_a5764c1cf848f84a5b77462036a6d8c13_cgraph.map deleted file mode 100644 index a3b81c52a..000000000 --- a/d9/dde/classbinary__search__tree_a5764c1cf848f84a5b77462036a6d8c13_cgraph.map +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/d9/dde/classbinary__search__tree_a5764c1cf848f84a5b77462036a6d8c13_cgraph.md5 b/d9/dde/classbinary__search__tree_a5764c1cf848f84a5b77462036a6d8c13_cgraph.md5 deleted file mode 100644 index efee099f9..000000000 --- a/d9/dde/classbinary__search__tree_a5764c1cf848f84a5b77462036a6d8c13_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -33a023938c7c97af165b7458f2853978 \ No newline at end of file diff --git a/d9/dde/classbinary__search__tree_a5764c1cf848f84a5b77462036a6d8c13_cgraph.svg b/d9/dde/classbinary__search__tree_a5764c1cf848f84a5b77462036a6d8c13_cgraph.svg deleted file mode 100644 index b7db75f42..000000000 --- a/d9/dde/classbinary__search__tree_a5764c1cf848f84a5b77462036a6d8c13_cgraph.svg +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - - - - - - - -binary_search_tree::get_elements_preorder - - -Node1 - - -binary_search_tree -::get_elements_preorder - - - - - -Node2 - - -binary_search_tree -::traverse_preorder - - - - - -Node1->Node2 - - - - - - - - -Node2->Node2 - - - - - - - - - - - - - diff --git a/d9/dde/classbinary__search__tree_a5764c1cf848f84a5b77462036a6d8c13_cgraph_org.svg b/d9/dde/classbinary__search__tree_a5764c1cf848f84a5b77462036a6d8c13_cgraph_org.svg deleted file mode 100644 index b16eb574d..000000000 --- a/d9/dde/classbinary__search__tree_a5764c1cf848f84a5b77462036a6d8c13_cgraph_org.svg +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - -binary_search_tree::get_elements_preorder - - -Node1 - - -binary_search_tree -::get_elements_preorder - - - - - -Node2 - - -binary_search_tree -::traverse_preorder - - - - - -Node1->Node2 - - - - - - - - -Node2->Node2 - - - - - - - - diff --git a/d9/dde/classbinary__search__tree_a5c011e1b0863d79c3a7c11a0426bdcff_cgraph.map b/d9/dde/classbinary__search__tree_a5c011e1b0863d79c3a7c11a0426bdcff_cgraph.map deleted file mode 100644 index 1c44fd3e1..000000000 --- a/d9/dde/classbinary__search__tree_a5c011e1b0863d79c3a7c11a0426bdcff_cgraph.map +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/d9/dde/classbinary__search__tree_a5c011e1b0863d79c3a7c11a0426bdcff_cgraph.md5 b/d9/dde/classbinary__search__tree_a5c011e1b0863d79c3a7c11a0426bdcff_cgraph.md5 deleted file mode 100644 index f595a33c4..000000000 --- a/d9/dde/classbinary__search__tree_a5c011e1b0863d79c3a7c11a0426bdcff_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -eeafe46063f867880c85af66dd8628d4 \ No newline at end of file diff --git a/d9/dde/classbinary__search__tree_a5c011e1b0863d79c3a7c11a0426bdcff_cgraph.svg b/d9/dde/classbinary__search__tree_a5c011e1b0863d79c3a7c11a0426bdcff_cgraph.svg deleted file mode 100644 index 43132eec7..000000000 --- a/d9/dde/classbinary__search__tree_a5c011e1b0863d79c3a7c11a0426bdcff_cgraph.svg +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - - - - - - - -binary_search_tree::get_elements_postorder - - -Node1 - - -binary_search_tree -::get_elements_postorder - - - - - -Node2 - - -binary_search_tree -::traverse_postorder - - - - - -Node1->Node2 - - - - - - - - -Node2->Node2 - - - - - - - - - - - - - diff --git a/d9/dde/classbinary__search__tree_a5c011e1b0863d79c3a7c11a0426bdcff_cgraph_org.svg b/d9/dde/classbinary__search__tree_a5c011e1b0863d79c3a7c11a0426bdcff_cgraph_org.svg deleted file mode 100644 index cd851e1f8..000000000 --- a/d9/dde/classbinary__search__tree_a5c011e1b0863d79c3a7c11a0426bdcff_cgraph_org.svg +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - -binary_search_tree::get_elements_postorder - - -Node1 - - -binary_search_tree -::get_elements_postorder - - - - - -Node2 - - -binary_search_tree -::traverse_postorder - - - - - -Node1->Node2 - - - - - - - - -Node2->Node2 - - - - - - - - diff --git a/d9/dde/classbinary__search__tree_a6bf5b410299df2320ddf2709dda61f63_cgraph.map b/d9/dde/classbinary__search__tree_a6bf5b410299df2320ddf2709dda61f63_cgraph.map deleted file mode 100644 index 849fde14b..000000000 --- a/d9/dde/classbinary__search__tree_a6bf5b410299df2320ddf2709dda61f63_cgraph.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/d9/dde/classbinary__search__tree_a6bf5b410299df2320ddf2709dda61f63_cgraph.md5 b/d9/dde/classbinary__search__tree_a6bf5b410299df2320ddf2709dda61f63_cgraph.md5 deleted file mode 100644 index 9f91a5d3c..000000000 --- a/d9/dde/classbinary__search__tree_a6bf5b410299df2320ddf2709dda61f63_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -28674d48e1c2e722423b179c61936ff5 \ No newline at end of file diff --git a/d9/dde/classbinary__search__tree_a6bf5b410299df2320ddf2709dda61f63_cgraph.svg b/d9/dde/classbinary__search__tree_a6bf5b410299df2320ddf2709dda61f63_cgraph.svg deleted file mode 100644 index 2f61e9c40..000000000 --- a/d9/dde/classbinary__search__tree_a6bf5b410299df2320ddf2709dda61f63_cgraph.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - - - - - - - -binary_search_tree::contains - - -Node1 - - -binary_search_tree -::contains - - - - - -Node1->Node1 - - - - - - - - - - - - - diff --git a/d9/dde/classbinary__search__tree_a6bf5b410299df2320ddf2709dda61f63_cgraph_org.svg b/d9/dde/classbinary__search__tree_a6bf5b410299df2320ddf2709dda61f63_cgraph_org.svg deleted file mode 100644 index 7cb6a0533..000000000 --- a/d9/dde/classbinary__search__tree_a6bf5b410299df2320ddf2709dda61f63_cgraph_org.svg +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - -binary_search_tree::contains - - -Node1 - - -binary_search_tree -::contains - - - - - -Node1->Node1 - - - - - - - - diff --git a/d9/dde/classbinary__search__tree_a75f897af6aa732a9901454401c869bcb_cgraph.map b/d9/dde/classbinary__search__tree_a75f897af6aa732a9901454401c869bcb_cgraph.map deleted file mode 100644 index 15d6bc032..000000000 --- a/d9/dde/classbinary__search__tree_a75f897af6aa732a9901454401c869bcb_cgraph.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/d9/dde/classbinary__search__tree_a75f897af6aa732a9901454401c869bcb_cgraph.md5 b/d9/dde/classbinary__search__tree_a75f897af6aa732a9901454401c869bcb_cgraph.md5 deleted file mode 100644 index fb6580a2f..000000000 --- a/d9/dde/classbinary__search__tree_a75f897af6aa732a9901454401c869bcb_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -8ffc926120dd3bf299ef6bde45a3269a \ No newline at end of file diff --git a/d9/dde/classbinary__search__tree_a75f897af6aa732a9901454401c869bcb_cgraph.svg b/d9/dde/classbinary__search__tree_a75f897af6aa732a9901454401c869bcb_cgraph.svg deleted file mode 100644 index b31dd3318..000000000 --- a/d9/dde/classbinary__search__tree_a75f897af6aa732a9901454401c869bcb_cgraph.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - - - - - - - -binary_search_tree::find_max - - -Node1 - - -binary_search_tree -::find_max - - - - - -Node1->Node1 - - - - - - - - - - - - - diff --git a/d9/dde/classbinary__search__tree_a75f897af6aa732a9901454401c869bcb_cgraph_org.svg b/d9/dde/classbinary__search__tree_a75f897af6aa732a9901454401c869bcb_cgraph_org.svg deleted file mode 100644 index 95f84f52d..000000000 --- a/d9/dde/classbinary__search__tree_a75f897af6aa732a9901454401c869bcb_cgraph_org.svg +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - -binary_search_tree::find_max - - -Node1 - - -binary_search_tree -::find_max - - - - - -Node1->Node1 - - - - - - - - diff --git a/d9/dde/classbinary__search__tree_a8168edf29316f2b436eac1fc416c52e0_cgraph.map b/d9/dde/classbinary__search__tree_a8168edf29316f2b436eac1fc416c52e0_cgraph.map deleted file mode 100644 index 4da834697..000000000 --- a/d9/dde/classbinary__search__tree_a8168edf29316f2b436eac1fc416c52e0_cgraph.map +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/d9/dde/classbinary__search__tree_a8168edf29316f2b436eac1fc416c52e0_cgraph.md5 b/d9/dde/classbinary__search__tree_a8168edf29316f2b436eac1fc416c52e0_cgraph.md5 deleted file mode 100644 index 6959a4896..000000000 --- a/d9/dde/classbinary__search__tree_a8168edf29316f2b436eac1fc416c52e0_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -080e7b67ba287b77252c55e83a217f60 \ No newline at end of file diff --git a/d9/dde/classbinary__search__tree_a8168edf29316f2b436eac1fc416c52e0_cgraph.svg b/d9/dde/classbinary__search__tree_a8168edf29316f2b436eac1fc416c52e0_cgraph.svg deleted file mode 100644 index 7e6dde691..000000000 --- a/d9/dde/classbinary__search__tree_a8168edf29316f2b436eac1fc416c52e0_cgraph.svg +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - - - - - - - -binary_search_tree::insert - - -Node1 - - -binary_search_tree -::insert - - - - - -Node2 - - -binary_search_tree -::insert - - - - - -Node1->Node2 - - - - - - - - -Node2->Node2 - - - - - - - - - - - - - diff --git a/d9/dde/classbinary__search__tree_a8168edf29316f2b436eac1fc416c52e0_cgraph_org.svg b/d9/dde/classbinary__search__tree_a8168edf29316f2b436eac1fc416c52e0_cgraph_org.svg deleted file mode 100644 index 36c5208c9..000000000 --- a/d9/dde/classbinary__search__tree_a8168edf29316f2b436eac1fc416c52e0_cgraph_org.svg +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - -binary_search_tree::insert - - -Node1 - - -binary_search_tree -::insert - - - - - -Node2 - - -binary_search_tree -::insert - - - - - -Node1->Node2 - - - - - - - - -Node2->Node2 - - - - - - - - diff --git a/d9/dde/classbinary__search__tree_a87c0a35845d27e0f6fc1f4eaa0333362_cgraph.map b/d9/dde/classbinary__search__tree_a87c0a35845d27e0f6fc1f4eaa0333362_cgraph.map deleted file mode 100644 index d20c05ea2..000000000 --- a/d9/dde/classbinary__search__tree_a87c0a35845d27e0f6fc1f4eaa0333362_cgraph.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/d9/dde/classbinary__search__tree_a87c0a35845d27e0f6fc1f4eaa0333362_cgraph.md5 b/d9/dde/classbinary__search__tree_a87c0a35845d27e0f6fc1f4eaa0333362_cgraph.md5 deleted file mode 100644 index 34891a516..000000000 --- a/d9/dde/classbinary__search__tree_a87c0a35845d27e0f6fc1f4eaa0333362_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -6cb06dd2e2f53fad3f0f8f3b20452652 \ No newline at end of file diff --git a/d9/dde/classbinary__search__tree_a87c0a35845d27e0f6fc1f4eaa0333362_cgraph.svg b/d9/dde/classbinary__search__tree_a87c0a35845d27e0f6fc1f4eaa0333362_cgraph.svg deleted file mode 100644 index 39cce735b..000000000 --- a/d9/dde/classbinary__search__tree_a87c0a35845d27e0f6fc1f4eaa0333362_cgraph.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - - - - - - - -binary_search_tree::traverse_postorder - - -Node1 - - -binary_search_tree -::traverse_postorder - - - - - -Node1->Node1 - - - - - - - - - - - - - diff --git a/d9/dde/classbinary__search__tree_a87c0a35845d27e0f6fc1f4eaa0333362_cgraph_org.svg b/d9/dde/classbinary__search__tree_a87c0a35845d27e0f6fc1f4eaa0333362_cgraph_org.svg deleted file mode 100644 index f2ad138db..000000000 --- a/d9/dde/classbinary__search__tree_a87c0a35845d27e0f6fc1f4eaa0333362_cgraph_org.svg +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - -binary_search_tree::traverse_postorder - - -Node1 - - -binary_search_tree -::traverse_postorder - - - - - -Node1->Node1 - - - - - - - - diff --git a/d9/dde/classbinary__search__tree_a99771c2e1353e8ddfd4bb9d30b7a98fb_cgraph.map b/d9/dde/classbinary__search__tree_a99771c2e1353e8ddfd4bb9d30b7a98fb_cgraph.map deleted file mode 100644 index 40f88b60c..000000000 --- a/d9/dde/classbinary__search__tree_a99771c2e1353e8ddfd4bb9d30b7a98fb_cgraph.map +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/d9/dde/classbinary__search__tree_a99771c2e1353e8ddfd4bb9d30b7a98fb_cgraph.md5 b/d9/dde/classbinary__search__tree_a99771c2e1353e8ddfd4bb9d30b7a98fb_cgraph.md5 deleted file mode 100644 index c491ea24e..000000000 --- a/d9/dde/classbinary__search__tree_a99771c2e1353e8ddfd4bb9d30b7a98fb_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -57246ae55ac34f923eacdd7a9b26c28d \ No newline at end of file diff --git a/d9/dde/classbinary__search__tree_a99771c2e1353e8ddfd4bb9d30b7a98fb_cgraph.svg b/d9/dde/classbinary__search__tree_a99771c2e1353e8ddfd4bb9d30b7a98fb_cgraph.svg deleted file mode 100644 index 53c98e3fc..000000000 --- a/d9/dde/classbinary__search__tree_a99771c2e1353e8ddfd4bb9d30b7a98fb_cgraph.svg +++ /dev/null @@ -1,122 +0,0 @@ - - - - - - - - - - - - -binary_search_tree::remove - - -Node1 - - -binary_search_tree -::remove - - - - - -Node2 - - -binary_search_tree -::remove - - - - - -Node1->Node2 - - - - - - - - -Node2->Node2 - - - - - - - - -Node3 - - -binary_search_tree -::find_max - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::move - - - - - -Node2->Node4 - - - - - - - - -Node3->Node3 - - - - - - - - - - - - - diff --git a/d9/dde/classbinary__search__tree_a99771c2e1353e8ddfd4bb9d30b7a98fb_cgraph_org.svg b/d9/dde/classbinary__search__tree_a99771c2e1353e8ddfd4bb9d30b7a98fb_cgraph_org.svg deleted file mode 100644 index 2be4809c1..000000000 --- a/d9/dde/classbinary__search__tree_a99771c2e1353e8ddfd4bb9d30b7a98fb_cgraph_org.svg +++ /dev/null @@ -1,96 +0,0 @@ - - - - - - -binary_search_tree::remove - - -Node1 - - -binary_search_tree -::remove - - - - - -Node2 - - -binary_search_tree -::remove - - - - - -Node1->Node2 - - - - - - - - -Node2->Node2 - - - - - - - - -Node3 - - -binary_search_tree -::find_max - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::move - - - - - -Node2->Node4 - - - - - - - - -Node3->Node3 - - - - - - - - diff --git a/d9/dde/classbinary__search__tree_a9d1e7e10efa74d741bf48cf032df3778_cgraph.map b/d9/dde/classbinary__search__tree_a9d1e7e10efa74d741bf48cf032df3778_cgraph.map deleted file mode 100644 index 7bf449b9e..000000000 --- a/d9/dde/classbinary__search__tree_a9d1e7e10efa74d741bf48cf032df3778_cgraph.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/d9/dde/classbinary__search__tree_a9d1e7e10efa74d741bf48cf032df3778_cgraph.md5 b/d9/dde/classbinary__search__tree_a9d1e7e10efa74d741bf48cf032df3778_cgraph.md5 deleted file mode 100644 index 288355a36..000000000 --- a/d9/dde/classbinary__search__tree_a9d1e7e10efa74d741bf48cf032df3778_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -a2b315f8c7f44346f4bd6c9569afa64c \ No newline at end of file diff --git a/d9/dde/classbinary__search__tree_a9d1e7e10efa74d741bf48cf032df3778_cgraph.svg b/d9/dde/classbinary__search__tree_a9d1e7e10efa74d741bf48cf032df3778_cgraph.svg deleted file mode 100644 index 0920bddd5..000000000 --- a/d9/dde/classbinary__search__tree_a9d1e7e10efa74d741bf48cf032df3778_cgraph.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - - - - - - - -binary_search_tree::insert - - -Node1 - - -binary_search_tree -::insert - - - - - -Node1->Node1 - - - - - - - - - - - - - diff --git a/d9/dde/classbinary__search__tree_a9d1e7e10efa74d741bf48cf032df3778_cgraph_org.svg b/d9/dde/classbinary__search__tree_a9d1e7e10efa74d741bf48cf032df3778_cgraph_org.svg deleted file mode 100644 index 493378c9b..000000000 --- a/d9/dde/classbinary__search__tree_a9d1e7e10efa74d741bf48cf032df3778_cgraph_org.svg +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - -binary_search_tree::insert - - -Node1 - - -binary_search_tree -::insert - - - - - -Node1->Node1 - - - - - - - - diff --git a/d9/dde/classbinary__search__tree_aa4f84b2eec9b9201af1840868ddb5fb2_cgraph.map b/d9/dde/classbinary__search__tree_aa4f84b2eec9b9201af1840868ddb5fb2_cgraph.map deleted file mode 100644 index 41dd6d2b6..000000000 --- a/d9/dde/classbinary__search__tree_aa4f84b2eec9b9201af1840868ddb5fb2_cgraph.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/d9/dde/classbinary__search__tree_aa4f84b2eec9b9201af1840868ddb5fb2_cgraph.md5 b/d9/dde/classbinary__search__tree_aa4f84b2eec9b9201af1840868ddb5fb2_cgraph.md5 deleted file mode 100644 index 28e6b2c2e..000000000 --- a/d9/dde/classbinary__search__tree_aa4f84b2eec9b9201af1840868ddb5fb2_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -653e50a907d5cc12636be440c9003711 \ No newline at end of file diff --git a/d9/dde/classbinary__search__tree_aa4f84b2eec9b9201af1840868ddb5fb2_cgraph.svg b/d9/dde/classbinary__search__tree_aa4f84b2eec9b9201af1840868ddb5fb2_cgraph.svg deleted file mode 100644 index 9466d6036..000000000 --- a/d9/dde/classbinary__search__tree_aa4f84b2eec9b9201af1840868ddb5fb2_cgraph.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - - - - - - - -binary_search_tree::contains - - -Node1 - - -binary_search_tree -::contains - - - - - -Node1->Node1 - - - - - - - - - - - - - diff --git a/d9/dde/classbinary__search__tree_aa4f84b2eec9b9201af1840868ddb5fb2_cgraph_org.svg b/d9/dde/classbinary__search__tree_aa4f84b2eec9b9201af1840868ddb5fb2_cgraph_org.svg deleted file mode 100644 index 8fdd23b00..000000000 --- a/d9/dde/classbinary__search__tree_aa4f84b2eec9b9201af1840868ddb5fb2_cgraph_org.svg +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - -binary_search_tree::contains - - -Node1 - - -binary_search_tree -::contains - - - - - -Node1->Node1 - - - - - - - - diff --git a/d9/dde/classbinary__search__tree_ab81edd415324d372632c42dc7dbcb9e1_cgraph.map b/d9/dde/classbinary__search__tree_ab81edd415324d372632c42dc7dbcb9e1_cgraph.map deleted file mode 100644 index 6e43fc8a4..000000000 --- a/d9/dde/classbinary__search__tree_ab81edd415324d372632c42dc7dbcb9e1_cgraph.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/d9/dde/classbinary__search__tree_ab81edd415324d372632c42dc7dbcb9e1_cgraph.md5 b/d9/dde/classbinary__search__tree_ab81edd415324d372632c42dc7dbcb9e1_cgraph.md5 deleted file mode 100644 index a0b0b0ee6..000000000 --- a/d9/dde/classbinary__search__tree_ab81edd415324d372632c42dc7dbcb9e1_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -a3a9f2348cd097efdd9727e6a854905b \ No newline at end of file diff --git a/d9/dde/classbinary__search__tree_ab81edd415324d372632c42dc7dbcb9e1_cgraph.svg b/d9/dde/classbinary__search__tree_ab81edd415324d372632c42dc7dbcb9e1_cgraph.svg deleted file mode 100644 index c77c08599..000000000 --- a/d9/dde/classbinary__search__tree_ab81edd415324d372632c42dc7dbcb9e1_cgraph.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - - - - - - - -binary_search_tree::traverse_preorder - - -Node1 - - -binary_search_tree -::traverse_preorder - - - - - -Node1->Node1 - - - - - - - - - - - - - diff --git a/d9/dde/classbinary__search__tree_ab81edd415324d372632c42dc7dbcb9e1_cgraph_org.svg b/d9/dde/classbinary__search__tree_ab81edd415324d372632c42dc7dbcb9e1_cgraph_org.svg deleted file mode 100644 index 13dce6c9a..000000000 --- a/d9/dde/classbinary__search__tree_ab81edd415324d372632c42dc7dbcb9e1_cgraph_org.svg +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - -binary_search_tree::traverse_preorder - - -Node1 - - -binary_search_tree -::traverse_preorder - - - - - -Node1->Node1 - - - - - - - - diff --git a/d9/dde/classbinary__search__tree_ad9912e8574538e86f9bd2c38e7e63d03_cgraph.map b/d9/dde/classbinary__search__tree_ad9912e8574538e86f9bd2c38e7e63d03_cgraph.map deleted file mode 100644 index 1d66ec6cd..000000000 --- a/d9/dde/classbinary__search__tree_ad9912e8574538e86f9bd2c38e7e63d03_cgraph.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/d9/dde/classbinary__search__tree_ad9912e8574538e86f9bd2c38e7e63d03_cgraph.md5 b/d9/dde/classbinary__search__tree_ad9912e8574538e86f9bd2c38e7e63d03_cgraph.md5 deleted file mode 100644 index 3422914f9..000000000 --- a/d9/dde/classbinary__search__tree_ad9912e8574538e86f9bd2c38e7e63d03_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -2fbc10be889a7c7f43f67501e4067ad9 \ No newline at end of file diff --git a/d9/dde/classbinary__search__tree_ad9912e8574538e86f9bd2c38e7e63d03_cgraph.svg b/d9/dde/classbinary__search__tree_ad9912e8574538e86f9bd2c38e7e63d03_cgraph.svg deleted file mode 100644 index 2a4474821..000000000 --- a/d9/dde/classbinary__search__tree_ad9912e8574538e86f9bd2c38e7e63d03_cgraph.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - - - - - - - -binary_search_tree::find_min - - -Node1 - - -binary_search_tree -::find_min - - - - - -Node1->Node1 - - - - - - - - - - - - - diff --git a/d9/dde/classbinary__search__tree_ad9912e8574538e86f9bd2c38e7e63d03_cgraph_org.svg b/d9/dde/classbinary__search__tree_ad9912e8574538e86f9bd2c38e7e63d03_cgraph_org.svg deleted file mode 100644 index 111f09d29..000000000 --- a/d9/dde/classbinary__search__tree_ad9912e8574538e86f9bd2c38e7e63d03_cgraph_org.svg +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - -binary_search_tree::find_min - - -Node1 - - -binary_search_tree -::find_min - - - - - -Node1->Node1 - - - - - - - - diff --git a/d9/dde/classbinary__search__tree_af4a865ce5244608819b169fc78a41153_cgraph.map b/d9/dde/classbinary__search__tree_af4a865ce5244608819b169fc78a41153_cgraph.map deleted file mode 100644 index 714195c8c..000000000 --- a/d9/dde/classbinary__search__tree_af4a865ce5244608819b169fc78a41153_cgraph.map +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/d9/dde/classbinary__search__tree_af4a865ce5244608819b169fc78a41153_cgraph.md5 b/d9/dde/classbinary__search__tree_af4a865ce5244608819b169fc78a41153_cgraph.md5 deleted file mode 100644 index 34ce69c97..000000000 --- a/d9/dde/classbinary__search__tree_af4a865ce5244608819b169fc78a41153_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -755986238065a3a12feb3908e83fef59 \ No newline at end of file diff --git a/d9/dde/classbinary__search__tree_af4a865ce5244608819b169fc78a41153_cgraph.svg b/d9/dde/classbinary__search__tree_af4a865ce5244608819b169fc78a41153_cgraph.svg deleted file mode 100644 index b7b159587..000000000 --- a/d9/dde/classbinary__search__tree_af4a865ce5244608819b169fc78a41153_cgraph.svg +++ /dev/null @@ -1,103 +0,0 @@ - - - - - - - - - - - - -binary_search_tree::remove - - -Node1 - - -binary_search_tree -::remove - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -binary_search_tree -::find_max - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::move - - - - - -Node1->Node3 - - - - - - - - -Node2->Node2 - - - - - - - - - - - - - diff --git a/d9/dde/classbinary__search__tree_af4a865ce5244608819b169fc78a41153_cgraph_org.svg b/d9/dde/classbinary__search__tree_af4a865ce5244608819b169fc78a41153_cgraph_org.svg deleted file mode 100644 index 9179b4206..000000000 --- a/d9/dde/classbinary__search__tree_af4a865ce5244608819b169fc78a41153_cgraph_org.svg +++ /dev/null @@ -1,77 +0,0 @@ - - - - - - -binary_search_tree::remove - - -Node1 - - -binary_search_tree -::remove - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -binary_search_tree -::find_max - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::move - - - - - -Node1->Node3 - - - - - - - - -Node2->Node2 - - - - - - - - diff --git a/d9/dde/classbinary__search__tree_af9a2c7c187a7ca3142c77ce342ef3153_cgraph.map b/d9/dde/classbinary__search__tree_af9a2c7c187a7ca3142c77ce342ef3153_cgraph.map deleted file mode 100644 index 4f021515a..000000000 --- a/d9/dde/classbinary__search__tree_af9a2c7c187a7ca3142c77ce342ef3153_cgraph.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/d9/dde/classbinary__search__tree_af9a2c7c187a7ca3142c77ce342ef3153_cgraph.md5 b/d9/dde/classbinary__search__tree_af9a2c7c187a7ca3142c77ce342ef3153_cgraph.md5 deleted file mode 100644 index cfe9794ea..000000000 --- a/d9/dde/classbinary__search__tree_af9a2c7c187a7ca3142c77ce342ef3153_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -b1e8a77cfcc4494204bfe90be1f5755e \ No newline at end of file diff --git a/d9/dde/classbinary__search__tree_af9a2c7c187a7ca3142c77ce342ef3153_cgraph.svg b/d9/dde/classbinary__search__tree_af9a2c7c187a7ca3142c77ce342ef3153_cgraph.svg deleted file mode 100644 index 4bfb56ca1..000000000 --- a/d9/dde/classbinary__search__tree_af9a2c7c187a7ca3142c77ce342ef3153_cgraph.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - - - - - - - -binary_search_tree::find_min - - -Node1 - - -binary_search_tree -::find_min - - - - - -Node1->Node1 - - - - - - - - - - - - - diff --git a/d9/dde/classbinary__search__tree_af9a2c7c187a7ca3142c77ce342ef3153_cgraph_org.svg b/d9/dde/classbinary__search__tree_af9a2c7c187a7ca3142c77ce342ef3153_cgraph_org.svg deleted file mode 100644 index c70a95680..000000000 --- a/d9/dde/classbinary__search__tree_af9a2c7c187a7ca3142c77ce342ef3153_cgraph_org.svg +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - -binary_search_tree::find_min - - -Node1 - - -binary_search_tree -::find_min - - - - - -Node1->Node1 - - - - - - - - diff --git a/d9/dde/structdouble__hashing_1_1_entry.html b/d9/dde/structdouble__hashing_1_1_entry.html index 461f1475e..87957b041 100644 --- a/d9/dde/structdouble__hashing_1_1_entry.html +++ b/d9/dde/structdouble__hashing_1_1_entry.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: double_hashing::Entry Struct Reference +TheAlgorithms/C++: double_hashing::Entry Struct Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -114,22 +131,71 @@ $(function(){initNavTree('d9/dde/structdouble__hashing_1_1_entry.html','../../')
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    - - + +

    Public Member Functions

    Entry (int key=notPresent)
     constructor
     Entry (int key=notPresent)
     constructor
     
    - - + +

    Public Attributes

    -int key
     key value
    int key
     key value
     

    Detailed Description

    Node object that holds key

    -

    The documentation for this struct was generated from the following file:

    Constructor & Destructor Documentation

    + +

    ◆ Entry()

    + +
    +
    + + + + + +
    + + + + + + + +
    double_hashing::Entry::Entry (int key = notPresent)
    +
    +inlineexplicit
    +
    + +

    constructor

    + +

    Definition at line 37 of file double_hash_hash_table.cpp.

    + +
    +
    +

    Member Data Documentation

    + +

    ◆ key

    + +
    +
    + + + + +
    int double_hashing::Entry::key
    +
    + +

    key value

    + +

    Definition at line 38 of file double_hash_hash_table.cpp.

    + +
    +
    +
    The documentation for this struct was generated from the following file: diff --git a/d9/dec/unbounded__0__1__knapsack_8cpp.html b/d9/dec/unbounded__0__1__knapsack_8cpp.html index 9eb9230a2..25d9cc8d5 100644 --- a/d9/dec/unbounded__0__1__knapsack_8cpp.html +++ b/d9/dec/unbounded__0__1__knapsack_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: dynamic_programming/unbounded_0_1_knapsack.cpp File Reference +TheAlgorithms/C++: dynamic_programming/unbounded_0_1_knapsack.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -122,7 +139,9 @@ Include dependency graph for unbounded_0_1_knapsack.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -134,10 +153,10 @@ Namespaces

    Namespaces

    namespace  dynamic_programming
    - + - + @@ -157,6 +176,8 @@ Algorithm

    The approach uses dynamic programming to build a solution iteratively. A 2D array is used for memoization to store intermediate results, allowing the function to avoid redundant calculations.

    Author
    Sanskruti Yeole
    See also
    dynamic_programming/0_1_knapsack.cpp
    + +

    Definition in file unbounded_0_1_knapsack.cpp.

    Function Documentation

    ◆ KnapSackFilling()

    @@ -165,29 +186,29 @@ Algorithm

    Functions

    std::uint16_t dynamic_programming::unbounded_knapsack::KnapSackFilling (std::uint16_t i, std::uint16_t W, const std::vector< std::uint16_t > &val, const std::vector< std::uint16_t > &wt, std::vector< std::vector< int > > &dp)
    std::uint16_t dynamic_programming::unbounded_knapsack::KnapSackFilling (std::uint16_t i, std::uint16_t W, const std::vector< std::uint16_t > &val, const std::vector< std::uint16_t > &wt, std::vector< std::vector< int > > &dp)
     Recursive function to calculate the maximum value obtainable using an unbounded knapsack approach.
     
    std::uint16_t dynamic_programming::unbounded_knapsack::unboundedKnapsack (std::uint16_t N, std::uint16_t W, const std::vector< std::uint16_t > &val, const std::vector< std::uint16_t > &wt)
    std::uint16_t dynamic_programming::unbounded_knapsack::unboundedKnapsack (std::uint16_t N, std::uint16_t W, const std::vector< std::uint16_t > &val, const std::vector< std::uint16_t > &wt)
     Wrapper function to initiate the unbounded knapsack calculation.
     
    static void tests ()
    - + - + - + - + - + - +
    std::uint16_t dynamic_programming::unbounded_knapsack::KnapSackFilling std::uint16_t dynamic_programming::unbounded_knapsack::KnapSackFilling (std::uint16_t i, std::uint16_t i,
    std::uint16_t W, std::uint16_t W,
    const std::vector< std::uint16_t > & val, const std::vector< std::uint16_t > & val,
    const std::vector< std::uint16_t > & wt, const std::vector< std::uint16_t > & wt,
    std::vector< std::vector< int > > & dp )std::vector< std::vector< int > > & dp )
    @@ -216,6 +237,8 @@ Algorithm
    Returns
    The maximum value that can be obtained for the given index and capacity.
    + +

    Definition at line 58 of file unbounded_0_1_knapsack.cpp.

    61 {
    62 if (i == 0) {
    63 if (wt[0] <= W) {
    @@ -236,17 +259,11 @@ Algorithm
    78 dp); // Value taking item i
    79 }
    80 return dp[i][W] =
    -
    81 std::max(take, nottake); // Store and return the maximum value
    +
    81 std::max(take, nottake); // Store and return the maximum value
    82}
    -
    T max(T... args)
    -
    for std::vector
    Definition partition_problem.cpp:39
    -
    std::uint16_t KnapSackFilling(std::uint16_t i, std::uint16_t W, const std::vector< std::uint16_t > &val, const std::vector< std::uint16_t > &wt, std::vector< std::vector< int > > &dp)
    Recursive function to calculate the maximum value obtainable using an unbounded knapsack approach.
    Definition unbounded_0_1_knapsack.cpp:58
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    for std::vector
    +
    std::uint16_t KnapSackFilling(std::uint16_t i, std::uint16_t W, const std::vector< std::uint16_t > &val, const std::vector< std::uint16_t > &wt, std::vector< std::vector< int > > &dp)
    Recursive function to calculate the maximum value obtainable using an unbounded knapsack approach.
    +
    @@ -266,17 +283,14 @@ Here is the call graph for this function:

    main function

    Returns
    0 on successful exit
    + +

    Definition at line 170 of file unbounded_0_1_knapsack.cpp.

    170 {
    171 tests(); // Run self test implementation
    172 return 0;
    173}
    -
    static void tests()
    self test implementation
    Definition unbounded_0_1_knapsack.cpp:111
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static void tests()
    self test implementation
    + @@ -304,71 +318,64 @@ Here is the call graph for this function:

    self test implementation

    Returns
    void
    + +

    Definition at line 111 of file unbounded_0_1_knapsack.cpp.

    111 {
    112 // Test Case 1
    -
    113 std::uint16_t N1 = 4; // Number of items
    -
    114 std::vector<std::uint16_t> wt1 = {1, 3, 4, 5}; // Weights of the items
    -
    115 std::vector<std::uint16_t> val1 = {6, 1, 7, 7}; // Values of the items
    -
    116 std::uint16_t W1 = 8; // Maximum capacity of the knapsack
    +
    113 std::uint16_t N1 = 4; // Number of items
    +
    114 std::vector<std::uint16_t> wt1 = {1, 3, 4, 5}; // Weights of the items
    +
    115 std::vector<std::uint16_t> val1 = {6, 1, 7, 7}; // Values of the items
    +
    116 std::uint16_t W1 = 8; // Maximum capacity of the knapsack
    117 // Test the function and assert the expected output
    118 assert(dynamic_programming::unbounded_knapsack::unboundedKnapsack(
    119 N1, W1, val1, wt1) == 48);
    -
    120 std::cout << "Maximum Knapsack value "
    +
    120 std::cout << "Maximum Knapsack value "
    122 N1, W1, val1, wt1)
    -
    123 << std::endl;
    +
    123 << std::endl;
    124
    125 // Test Case 2
    -
    126 std::uint16_t N2 = 3; // Number of items
    -
    127 std::vector<std::uint16_t> wt2 = {10, 20, 30}; // Weights of the items
    -
    128 std::vector<std::uint16_t> val2 = {60, 100, 120}; // Values of the items
    -
    129 std::uint16_t W2 = 5; // Maximum capacity of the knapsack
    +
    126 std::uint16_t N2 = 3; // Number of items
    +
    127 std::vector<std::uint16_t> wt2 = {10, 20, 30}; // Weights of the items
    +
    128 std::vector<std::uint16_t> val2 = {60, 100, 120}; // Values of the items
    +
    129 std::uint16_t W2 = 5; // Maximum capacity of the knapsack
    130 // Test the function and assert the expected output
    131 assert(dynamic_programming::unbounded_knapsack::unboundedKnapsack(
    132 N2, W2, val2, wt2) == 0);
    -
    133 std::cout << "Maximum Knapsack value "
    +
    133 std::cout << "Maximum Knapsack value "
    135 N2, W2, val2, wt2)
    -
    136 << std::endl;
    +
    136 << std::endl;
    137
    138 // Test Case 3
    -
    139 std::uint16_t N3 = 3; // Number of items
    -
    140 std::vector<std::uint16_t> wt3 = {2, 4, 6}; // Weights of the items
    -
    141 std::vector<std::uint16_t> val3 = {5, 11, 13}; // Values of the items
    -
    142 std::uint16_t W3 = 27; // Maximum capacity of the knapsack
    +
    139 std::uint16_t N3 = 3; // Number of items
    +
    140 std::vector<std::uint16_t> wt3 = {2, 4, 6}; // Weights of the items
    +
    141 std::vector<std::uint16_t> val3 = {5, 11, 13}; // Values of the items
    +
    142 std::uint16_t W3 = 27; // Maximum capacity of the knapsack
    143 // Test the function and assert the expected output
    144 assert(dynamic_programming::unbounded_knapsack::unboundedKnapsack(
    145 N3, W3, val3, wt3) == 27);
    -
    146 std::cout << "Maximum Knapsack value "
    +
    146 std::cout << "Maximum Knapsack value "
    148 N3, W3, val3, wt3)
    -
    149 << std::endl;
    +
    149 << std::endl;
    150
    151 // Test Case 4
    -
    152 std::uint16_t N4 = 0; // Number of items
    -
    153 std::vector<std::uint16_t> wt4 = {}; // Weights of the items
    -
    154 std::vector<std::uint16_t> val4 = {}; // Values of the items
    -
    155 std::uint16_t W4 = 10; // Maximum capacity of the knapsack
    +
    152 std::uint16_t N4 = 0; // Number of items
    +
    153 std::vector<std::uint16_t> wt4 = {}; // Weights of the items
    +
    154 std::vector<std::uint16_t> val4 = {}; // Values of the items
    +
    155 std::uint16_t W4 = 10; // Maximum capacity of the knapsack
    156 assert(dynamic_programming::unbounded_knapsack::unboundedKnapsack(
    157 N4, W4, val4, wt4) == 0);
    -
    158 std::cout << "Maximum Knapsack value for empty arrays: "
    +
    158 std::cout << "Maximum Knapsack value for empty arrays: "
    160 N4, W4, val4, wt4)
    -
    161 << std::endl;
    +
    161 << std::endl;
    162
    -
    163 std::cout << "All test cases passed!" << std::endl;
    +
    163 std::cout << "All test cases passed!" << std::endl;
    164}
    - -
    T endl(T... args)
    - -
    std::uint16_t unboundedKnapsack(std::uint16_t N, std::uint16_t W, const std::vector< std::uint16_t > &val, const std::vector< std::uint16_t > &wt)
    Wrapper function to initiate the unbounded knapsack calculation.
    Definition unbounded_0_1_knapsack.cpp:93
    - -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    std::uint16_t unboundedKnapsack(std::uint16_t N, std::uint16_t W, const std::vector< std::uint16_t > &val, const std::vector< std::uint16_t > &wt)
    Wrapper function to initiate the unbounded knapsack calculation.
    + @@ -378,24 +385,24 @@ Here is the call graph for this function:
    - + - + - + - + - +
    std::uint16_t dynamic_programming::unbounded_knapsack::unboundedKnapsack std::uint16_t dynamic_programming::unbounded_knapsack::unboundedKnapsack (std::uint16_t N, std::uint16_t N,
    std::uint16_t W, std::uint16_t W,
    const std::vector< std::uint16_t > & val, const std::vector< std::uint16_t > & val,
    const std::vector< std::uint16_t > & wt )const std::vector< std::uint16_t > & wt )
    @@ -411,19 +418,16 @@ Here is the call graph for this function:
    Returns
    The maximum value that can be obtained for the given capacity.
    + +

    Definition at line 93 of file unbounded_0_1_knapsack.cpp.

    95 {
    96 if (N == 0)
    97 return 0; // Expect 0 since no items
    - -
    99 N, std::vector<int>(W + 1, -1)); // Initialize memoization table
    +
    98 std::vector<std::vector<int>> dp(
    +
    99 N, std::vector<int>(W + 1, -1)); // Initialize memoization table
    100 return KnapSackFilling(N - 1, W, val, wt, dp); // Start the calculation
    101}
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + diff --git a/d9/dec/unbounded__0__1__knapsack_8cpp_a1bcff7f76de48fa7f629480f8f18b5ef_cgraph.map b/d9/dec/unbounded__0__1__knapsack_8cpp_a1bcff7f76de48fa7f629480f8f18b5ef_cgraph.map deleted file mode 100644 index 6e36ba40b..000000000 --- a/d9/dec/unbounded__0__1__knapsack_8cpp_a1bcff7f76de48fa7f629480f8f18b5ef_cgraph.map +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/d9/dec/unbounded__0__1__knapsack_8cpp_a1bcff7f76de48fa7f629480f8f18b5ef_cgraph.md5 b/d9/dec/unbounded__0__1__knapsack_8cpp_a1bcff7f76de48fa7f629480f8f18b5ef_cgraph.md5 deleted file mode 100644 index b66d8f293..000000000 --- a/d9/dec/unbounded__0__1__knapsack_8cpp_a1bcff7f76de48fa7f629480f8f18b5ef_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -2ea70cc9a7326aa2107dae6f120e7207 \ No newline at end of file diff --git a/d9/dec/unbounded__0__1__knapsack_8cpp_a1bcff7f76de48fa7f629480f8f18b5ef_cgraph.svg b/d9/dec/unbounded__0__1__knapsack_8cpp_a1bcff7f76de48fa7f629480f8f18b5ef_cgraph.svg deleted file mode 100644 index c30a9ddf2..000000000 --- a/d9/dec/unbounded__0__1__knapsack_8cpp_a1bcff7f76de48fa7f629480f8f18b5ef_cgraph.svg +++ /dev/null @@ -1,105 +0,0 @@ - - - - - - - - - - - - -dynamic_programming::unbounded_knapsack::unboundedKnapsack - - -Node1 - - -dynamic_programming -::unbounded_knapsack -::unboundedKnapsack - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -dynamic_programming -::unbounded_knapsack -::KnapSackFilling - - - - - -Node1->Node2 - - - - - - - - -Node2->Node2 - - - - - - - - -Node3 - - -std::max - - - - - -Node2->Node3 - - - - - - - - - - - - - diff --git a/d9/dec/unbounded__0__1__knapsack_8cpp_a1bcff7f76de48fa7f629480f8f18b5ef_cgraph_org.svg b/d9/dec/unbounded__0__1__knapsack_8cpp_a1bcff7f76de48fa7f629480f8f18b5ef_cgraph_org.svg deleted file mode 100644 index 7e215eb74..000000000 --- a/d9/dec/unbounded__0__1__knapsack_8cpp_a1bcff7f76de48fa7f629480f8f18b5ef_cgraph_org.svg +++ /dev/null @@ -1,79 +0,0 @@ - - - - - - -dynamic_programming::unbounded_knapsack::unboundedKnapsack - - -Node1 - - -dynamic_programming -::unbounded_knapsack -::unboundedKnapsack - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -dynamic_programming -::unbounded_knapsack -::KnapSackFilling - - - - - -Node1->Node2 - - - - - - - - -Node2->Node2 - - - - - - - - -Node3 - - -std::max - - - - - -Node2->Node3 - - - - - - - - diff --git a/d9/dec/unbounded__0__1__knapsack_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.map b/d9/dec/unbounded__0__1__knapsack_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.map deleted file mode 100644 index 055db682b..000000000 --- a/d9/dec/unbounded__0__1__knapsack_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d9/dec/unbounded__0__1__knapsack_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 b/d9/dec/unbounded__0__1__knapsack_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 deleted file mode 100644 index d839b38cd..000000000 --- a/d9/dec/unbounded__0__1__knapsack_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -3f7143541dfbea83ed597655d04aca76 \ No newline at end of file diff --git a/d9/dec/unbounded__0__1__knapsack_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.svg b/d9/dec/unbounded__0__1__knapsack_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.svg deleted file mode 100644 index a5ceda360..000000000 --- a/d9/dec/unbounded__0__1__knapsack_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -tests - - -Node1 - - -tests - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d9/dec/unbounded__0__1__knapsack_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph_org.svg b/d9/dec/unbounded__0__1__knapsack_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph_org.svg deleted file mode 100644 index da3bbee87..000000000 --- a/d9/dec/unbounded__0__1__knapsack_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -tests - - -Node1 - - -tests - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - diff --git a/d9/dec/unbounded__0__1__knapsack_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d9/dec/unbounded__0__1__knapsack_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index fa4375fe4..000000000 --- a/d9/dec/unbounded__0__1__knapsack_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/d9/dec/unbounded__0__1__knapsack_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d9/dec/unbounded__0__1__knapsack_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index f6f66b098..000000000 --- a/d9/dec/unbounded__0__1__knapsack_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -c409a1a966c43cec22ad0eeaf0d32ac0 \ No newline at end of file diff --git a/d9/dec/unbounded__0__1__knapsack_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d9/dec/unbounded__0__1__knapsack_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 023b5a468..000000000 --- a/d9/dec/unbounded__0__1__knapsack_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -tests - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node2->Node3 - - - - - - - - - - - - - diff --git a/d9/dec/unbounded__0__1__knapsack_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d9/dec/unbounded__0__1__knapsack_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 384adff5d..000000000 --- a/d9/dec/unbounded__0__1__knapsack_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -tests - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node2->Node3 - - - - - - - - diff --git a/d9/dec/unbounded__0__1__knapsack_8cpp_afe447a5979582174908695952c8a079c_cgraph.map b/d9/dec/unbounded__0__1__knapsack_8cpp_afe447a5979582174908695952c8a079c_cgraph.map deleted file mode 100644 index 0d1c61feb..000000000 --- a/d9/dec/unbounded__0__1__knapsack_8cpp_afe447a5979582174908695952c8a079c_cgraph.map +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/d9/dec/unbounded__0__1__knapsack_8cpp_afe447a5979582174908695952c8a079c_cgraph.md5 b/d9/dec/unbounded__0__1__knapsack_8cpp_afe447a5979582174908695952c8a079c_cgraph.md5 deleted file mode 100644 index 5e2afbee1..000000000 --- a/d9/dec/unbounded__0__1__knapsack_8cpp_afe447a5979582174908695952c8a079c_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -8aff1469cd7bc4ca5af477bfb3eef1a3 \ No newline at end of file diff --git a/d9/dec/unbounded__0__1__knapsack_8cpp_afe447a5979582174908695952c8a079c_cgraph.svg b/d9/dec/unbounded__0__1__knapsack_8cpp_afe447a5979582174908695952c8a079c_cgraph.svg deleted file mode 100644 index 83c7de1ea..000000000 --- a/d9/dec/unbounded__0__1__knapsack_8cpp_afe447a5979582174908695952c8a079c_cgraph.svg +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - - - - - - - -dynamic_programming::unbounded_knapsack::KnapSackFilling - - -Node1 - - -dynamic_programming -::unbounded_knapsack -::KnapSackFilling - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::max - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d9/dec/unbounded__0__1__knapsack_8cpp_afe447a5979582174908695952c8a079c_cgraph_org.svg b/d9/dec/unbounded__0__1__knapsack_8cpp_afe447a5979582174908695952c8a079c_cgraph_org.svg deleted file mode 100644 index cf654eff0..000000000 --- a/d9/dec/unbounded__0__1__knapsack_8cpp_afe447a5979582174908695952c8a079c_cgraph_org.svg +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - -dynamic_programming::unbounded_knapsack::KnapSackFilling - - -Node1 - - -dynamic_programming -::unbounded_knapsack -::KnapSackFilling - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::max - - - - - -Node1->Node2 - - - - - - - - diff --git a/d9/dec/unbounded__0__1__knapsack_8cpp_source.html b/d9/dec/unbounded__0__1__knapsack_8cpp_source.html new file mode 100644 index 000000000..1501c03e5 --- /dev/null +++ b/d9/dec/unbounded__0__1__knapsack_8cpp_source.html @@ -0,0 +1,260 @@ + + + + + + + + +TheAlgorithms/C++: dynamic_programming/unbounded_0_1_knapsack.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    unbounded_0_1_knapsack.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    27#include <cassert> // For using assert function to validate test cases
    +
    28#include <cstdint> // For fixed-width integer types like std::uint16_t
    +
    29#include <iostream> // Standard input-output stream
    +
    30#include <vector> // Standard library for using dynamic arrays (vectors)
    +
    31
    +
    36namespace dynamic_programming {
    +
    37
    +
    42namespace unbounded_knapsack {
    +
    43
    +
    +
    58std::uint16_t KnapSackFilling(std::uint16_t i, std::uint16_t W,
    +
    59 const std::vector<std::uint16_t>& val,
    +
    60 const std::vector<std::uint16_t>& wt,
    +
    61 std::vector<std::vector<int>>& dp) {
    +
    62 if (i == 0) {
    +
    63 if (wt[0] <= W) {
    +
    64 return (W / wt[0]) *
    +
    65 val[0]; // Take as many of the first item as possible
    +
    66 } else {
    +
    67 return 0; // Can't take the first item
    +
    68 }
    +
    69 }
    +
    70 if (dp[i][W] != -1)
    +
    71 return dp[i][W]; // Return result if available
    +
    72
    +
    73 int nottake =
    +
    74 KnapSackFilling(i - 1, W, val, wt, dp); // Value without taking item i
    +
    75 int take = 0;
    +
    76 if (W >= wt[i]) {
    +
    77 take = val[i] + KnapSackFilling(i, W - wt[i], val, wt,
    +
    78 dp); // Value taking item i
    +
    79 }
    +
    80 return dp[i][W] =
    +
    81 std::max(take, nottake); // Store and return the maximum value
    +
    82}
    +
    +
    83
    +
    +
    93std::uint16_t unboundedKnapsack(std::uint16_t N, std::uint16_t W,
    +
    94 const std::vector<std::uint16_t>& val,
    +
    95 const std::vector<std::uint16_t>& wt) {
    +
    96 if (N == 0)
    +
    97 return 0; // Expect 0 since no items
    +
    98 std::vector<std::vector<int>> dp(
    +
    99 N, std::vector<int>(W + 1, -1)); // Initialize memoization table
    +
    100 return KnapSackFilling(N - 1, W, val, wt, dp); // Start the calculation
    +
    101}
    +
    +
    102
    +
    103} // namespace unbounded_knapsack
    +
    104
    +
    105} // namespace dynamic_programming
    +
    106
    +
    +
    111static void tests() {
    +
    112 // Test Case 1
    +
    113 std::uint16_t N1 = 4; // Number of items
    +
    114 std::vector<std::uint16_t> wt1 = {1, 3, 4, 5}; // Weights of the items
    +
    115 std::vector<std::uint16_t> val1 = {6, 1, 7, 7}; // Values of the items
    +
    116 std::uint16_t W1 = 8; // Maximum capacity of the knapsack
    +
    117 // Test the function and assert the expected output
    +
    118 assert(dynamic_programming::unbounded_knapsack::unboundedKnapsack(
    +
    119 N1, W1, val1, wt1) == 48);
    +
    120 std::cout << "Maximum Knapsack value "
    +
    121 << dynamic_programming::unbounded_knapsack::unboundedKnapsack(
    +
    122 N1, W1, val1, wt1)
    +
    123 << std::endl;
    +
    124
    +
    125 // Test Case 2
    +
    126 std::uint16_t N2 = 3; // Number of items
    +
    127 std::vector<std::uint16_t> wt2 = {10, 20, 30}; // Weights of the items
    +
    128 std::vector<std::uint16_t> val2 = {60, 100, 120}; // Values of the items
    +
    129 std::uint16_t W2 = 5; // Maximum capacity of the knapsack
    +
    130 // Test the function and assert the expected output
    +
    131 assert(dynamic_programming::unbounded_knapsack::unboundedKnapsack(
    +
    132 N2, W2, val2, wt2) == 0);
    +
    133 std::cout << "Maximum Knapsack value "
    +
    134 << dynamic_programming::unbounded_knapsack::unboundedKnapsack(
    +
    135 N2, W2, val2, wt2)
    +
    136 << std::endl;
    +
    137
    +
    138 // Test Case 3
    +
    139 std::uint16_t N3 = 3; // Number of items
    +
    140 std::vector<std::uint16_t> wt3 = {2, 4, 6}; // Weights of the items
    +
    141 std::vector<std::uint16_t> val3 = {5, 11, 13}; // Values of the items
    +
    142 std::uint16_t W3 = 27; // Maximum capacity of the knapsack
    +
    143 // Test the function and assert the expected output
    +
    144 assert(dynamic_programming::unbounded_knapsack::unboundedKnapsack(
    +
    145 N3, W3, val3, wt3) == 27);
    +
    146 std::cout << "Maximum Knapsack value "
    +
    147 << dynamic_programming::unbounded_knapsack::unboundedKnapsack(
    +
    148 N3, W3, val3, wt3)
    +
    149 << std::endl;
    +
    150
    +
    151 // Test Case 4
    +
    152 std::uint16_t N4 = 0; // Number of items
    +
    153 std::vector<std::uint16_t> wt4 = {}; // Weights of the items
    +
    154 std::vector<std::uint16_t> val4 = {}; // Values of the items
    +
    155 std::uint16_t W4 = 10; // Maximum capacity of the knapsack
    +
    156 assert(dynamic_programming::unbounded_knapsack::unboundedKnapsack(
    +
    157 N4, W4, val4, wt4) == 0);
    +
    158 std::cout << "Maximum Knapsack value for empty arrays: "
    +
    159 << dynamic_programming::unbounded_knapsack::unboundedKnapsack(
    +
    160 N4, W4, val4, wt4)
    +
    161 << std::endl;
    +
    162
    +
    163 std::cout << "All test cases passed!" << std::endl;
    +
    164}
    +
    +
    165
    +
    +
    170int main() {
    +
    171 tests(); // Run self test implementation
    +
    172 return 0;
    +
    173}
    +
    +
    for std::vector
    +
    Dynamic Programming algorithms.
    +
    std::uint16_t unboundedKnapsack(std::uint16_t N, std::uint16_t W, const std::vector< std::uint16_t > &val, const std::vector< std::uint16_t > &wt)
    Wrapper function to initiate the unbounded knapsack calculation.
    +
    static void tests()
    self test implementation
    +
    int main()
    main function
    +
    std::uint16_t KnapSackFilling(std::uint16_t i, std::uint16_t W, const std::vector< std::uint16_t > &val, const std::vector< std::uint16_t > &wt, std::vector< std::vector< int > > &dp)
    Recursive function to calculate the maximum value obtainable using an unbounded knapsack approach.
    +
    +
    + + + + diff --git a/d9/dee/classdouble__linked__list.html b/d9/dee/classdouble__linked__list.html index 12e71a01b..26c296027 100644 --- a/d9/dee/classdouble__linked__list.html +++ b/d9/dee/classdouble__linked__list.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: double_linked_list Class Reference +TheAlgorithms/C++: double_linked_list Class Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -124,7 +141,10 @@ Public Member Functions
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    void reverseShow ()
     
    -

    Constructor & Destructor Documentation

    +

    Detailed Description

    +
    +

    Definition at line 11 of file doubly_linked_list.cpp.

    +

    Constructor & Destructor Documentation

    ◆ double_linked_list()

    @@ -147,6 +167,8 @@ Public Member Functions
    + +

    Definition at line 13 of file doubly_linked_list.cpp.

    13{ start = NULL; }
    @@ -166,6 +188,8 @@ Public Member Functions
    + +

    Definition at line 21 of file doubly_linked_list.cpp.

    21 {
    22 node *t = start;
    23 if (start != NULL) {
    @@ -185,8 +209,8 @@ Public Member Functions
    37 start = n;
    38 }
    39}
    -
    struct node { int data; int height; struct node *left; struct node *right;} node
    for std::queue
    Definition avltree.cpp:13
    -
    Definition binary_search_tree.cpp:11
    +
    struct node { int data; int height; struct node *left; struct node *right;} node
    for std::queue
    Definition avltree.cpp:13
    +
    @@ -204,6 +228,8 @@ Public Member Functions
    + +

    Definition at line 41 of file doubly_linked_list.cpp.

    41 {
    42 node *t = start;
    43 while (t != NULL && t->val != x) {
    @@ -244,17 +270,18 @@ Public Member Functions
    + +

    Definition at line 89 of file doubly_linked_list.cpp.

    89 {
    90 node *t = start;
    91 while (t != NULL && t->next != NULL) {
    92 t = t->next;
    93 }
    94 while (t != NULL) {
    -
    95 std::cout << t->val << "\t";
    +
    95 std::cout << t->val << "\t";
    96 t = t->prev;
    97 }
    98}
    -
    @@ -272,19 +299,21 @@ Public Member Functions
    + +

    Definition at line 65 of file doubly_linked_list.cpp.

    65 {
    66 node *t = start;
    67 int found = 0;
    68 while (t != NULL) {
    69 if (t->val == x) {
    -
    70 std::cout << "\nFound";
    +
    70 std::cout << "\nFound";
    71 found = 1;
    72 break;
    73 }
    74 t = t->next;
    75 }
    76 if (found == 0) {
    -
    77 std::cout << "\nNot Found";
    +
    77 std::cout << "\nNot Found";
    78 }
    79}
    @@ -304,10 +333,12 @@ Public Member Functions
    + +

    Definition at line 81 of file doubly_linked_list.cpp.

    81 {
    82 node *t = start;
    83 while (t != NULL) {
    -
    84 std::cout << t->val << "\t";
    +
    84 std::cout << t->val << "\t";
    85 t = t->next;
    86 }
    87}
    @@ -315,7 +346,7 @@ Public Member Functions

    The documentation for this class was generated from the following file: diff --git a/d9/def/namespacesublist__search.html b/d9/def/namespacesublist__search.html index 8304ebb82..7256aed09 100644 --- a/d9/def/namespacesublist__search.html +++ b/d9/def/namespacesublist__search.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: sublist_search Namespace Reference +TheAlgorithms/C++: sublist_search Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/d9/df0/fast__integer__input_8cpp.html b/d9/df0/fast__integer__input_8cpp.html index f9b828528..4752e1e4c 100644 --- a/d9/df0/fast__integer__input_8cpp.html +++ b/d9/df0/fast__integer__input_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: others/fast_integer_input.cpp File Reference +TheAlgorithms/C++: others/fast_integer_input.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + @@ -118,7 +135,9 @@ Include dependency graph for fast_integer_input.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -128,6 +147,8 @@ Functions

    Functions

    void fastinput (int *number)

    Detailed Description

    Read integers from stdin continuously as they are entered without waiting for the \n character.

    + +

    Definition in file fast_integer_input.cpp.

    Function Documentation

    ◆ fastinput()

    @@ -144,6 +165,8 @@ Functions

    Function to read the number from stdin. The function reads input until a non numeric character is entered.

    + +

    Definition at line 11 of file fast_integer_input.cpp.

    11 {
    12 // variable to indicate sign of input integer
    13 bool negative = false;
    @@ -151,18 +174,18 @@ Functions
    15 *number = 0;
    16
    17 // extract current character from buffer
    -
    18 c = std::getchar();
    +
    18 c = std::getchar();
    19 if (c == '-') {
    20 // number is negative
    21 negative = true;
    22
    23 // extract the next character from the buffer
    -
    24 c = std::getchar();
    +
    24 c = std::getchar();
    25 }
    26
    27 // Keep on extracting characters if they are integers
    28 // i.e ASCII Value lies from '0'(48) to '9' (57)
    -
    29 for (; (c > 47 && c < 58); c = std::getchar())
    +
    29 for (; (c > 47 && c < 58); c = std::getchar())
    30 *number = *number * 10 + c - 48;
    31
    32 // if scanned input has a negative sign, negate the
    @@ -170,13 +193,7 @@ Functions
    34 if (negative)
    35 *(number) *= -1;
    36}
    -
    T getchar(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    @@ -194,21 +211,16 @@ Here is the call graph for this function:

    Main function

    + +

    Definition at line 39 of file fast_integer_input.cpp.

    39 {
    40 int number;
    41 fastinput(&number);
    -
    42 std::cout << number << std::endl;
    +
    42 std::cout << number << std::endl;
    43 return 0;
    44}
    - -
    T endl(T... args)
    -
    void fastinput(int *number)
    Definition fast_integer_input.cpp:11
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    void fastinput(int *number)
    +
    diff --git a/d9/df0/fast__integer__input_8cpp_a4e097ac8509b717bdc8ab09ecd86ae82_cgraph.map b/d9/df0/fast__integer__input_8cpp_a4e097ac8509b717bdc8ab09ecd86ae82_cgraph.map deleted file mode 100644 index f365c26de..000000000 --- a/d9/df0/fast__integer__input_8cpp_a4e097ac8509b717bdc8ab09ecd86ae82_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d9/df0/fast__integer__input_8cpp_a4e097ac8509b717bdc8ab09ecd86ae82_cgraph.md5 b/d9/df0/fast__integer__input_8cpp_a4e097ac8509b717bdc8ab09ecd86ae82_cgraph.md5 deleted file mode 100644 index 102712e5a..000000000 --- a/d9/df0/fast__integer__input_8cpp_a4e097ac8509b717bdc8ab09ecd86ae82_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -d2341f2fa5df99a5903201d51df122a4 \ No newline at end of file diff --git a/d9/df0/fast__integer__input_8cpp_a4e097ac8509b717bdc8ab09ecd86ae82_cgraph.svg b/d9/df0/fast__integer__input_8cpp_a4e097ac8509b717bdc8ab09ecd86ae82_cgraph.svg deleted file mode 100644 index 9ce35961c..000000000 --- a/d9/df0/fast__integer__input_8cpp_a4e097ac8509b717bdc8ab09ecd86ae82_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -fastinput - - -Node1 - - -fastinput - - - - - -Node2 - - -std::getchar - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d9/df0/fast__integer__input_8cpp_a4e097ac8509b717bdc8ab09ecd86ae82_cgraph_org.svg b/d9/df0/fast__integer__input_8cpp_a4e097ac8509b717bdc8ab09ecd86ae82_cgraph_org.svg deleted file mode 100644 index 70db42c3f..000000000 --- a/d9/df0/fast__integer__input_8cpp_a4e097ac8509b717bdc8ab09ecd86ae82_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -fastinput - - -Node1 - - -fastinput - - - - - -Node2 - - -std::getchar - - - - - -Node1->Node2 - - - - - - - - diff --git a/d9/df0/fast__integer__input_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d9/df0/fast__integer__input_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index b91bafd33..000000000 --- a/d9/df0/fast__integer__input_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/d9/df0/fast__integer__input_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d9/df0/fast__integer__input_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index 883159d57..000000000 --- a/d9/df0/fast__integer__input_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -8a8c9283dbb876eb717474de7a6e1ef6 \ No newline at end of file diff --git a/d9/df0/fast__integer__input_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d9/df0/fast__integer__input_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index ac607c704..000000000 --- a/d9/df0/fast__integer__input_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -fastinput - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::getchar - - - - - -Node3->Node4 - - - - - - - - - - - - - diff --git a/d9/df0/fast__integer__input_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d9/df0/fast__integer__input_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 5cec30340..000000000 --- a/d9/df0/fast__integer__input_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -fastinput - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::getchar - - - - - -Node3->Node4 - - - - - - - - diff --git a/d9/df0/fast__integer__input_8cpp_source.html b/d9/df0/fast__integer__input_8cpp_source.html new file mode 100644 index 000000000..507a351f5 --- /dev/null +++ b/d9/df0/fast__integer__input_8cpp_source.html @@ -0,0 +1,179 @@ + + + + + + + + +TheAlgorithms/C++: others/fast_integer_input.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    fast_integer_input.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    6#include <iostream>
    +
    7
    +
    +
    11void fastinput(int *number) {
    +
    12 // variable to indicate sign of input integer
    +
    13 bool negative = false;
    +
    14 int c;
    +
    15 *number = 0;
    +
    16
    +
    17 // extract current character from buffer
    +
    18 c = std::getchar();
    +
    19 if (c == '-') {
    +
    20 // number is negative
    +
    21 negative = true;
    +
    22
    +
    23 // extract the next character from the buffer
    +
    24 c = std::getchar();
    +
    25 }
    +
    26
    +
    27 // Keep on extracting characters if they are integers
    +
    28 // i.e ASCII Value lies from '0'(48) to '9' (57)
    +
    29 for (; (c > 47 && c < 58); c = std::getchar())
    +
    30 *number = *number * 10 + c - 48;
    +
    31
    +
    32 // if scanned input has a negative sign, negate the
    +
    33 // value of the input number
    +
    34 if (negative)
    +
    35 *(number) *= -1;
    +
    36}
    +
    +
    37
    +
    +
    39int main() {
    +
    40 int number;
    +
    41 fastinput(&number);
    +
    42 std::cout << number << std::endl;
    +
    43 return 0;
    +
    44}
    +
    +
    void fastinput(int *number)
    +
    int main()
    +
    +
    + + + + diff --git a/d9/df4/namespacetests.html b/d9/df4/namespacetests.html index 7c9cc243b..264d9c30a 100644 --- a/d9/df4/namespacetests.html +++ b/d9/df4/namespacetests.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: tests Namespace Reference +TheAlgorithms/C++: tests Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -131,7 +148,7 @@ Functions - +
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
     A Test to check a shift of zero.
     
    void test6 ()
     A Test to check correct functionality with an array sorted using std::sort.
     A Test to check correct functionality with an array sorted using std::sort.
     

    Detailed Description

    @@ -178,19 +195,19 @@ Functions

    < Check if both elements are same

    < Check if result is empty

    < Should only print newline

    + +

    Definition at line 75 of file array_left_rotation.cpp.

    75 {
    -
    76 std::cout << "TEST CASE 1\n";
    -
    77 std::cout << "Initialized arr = {1, 2, 3, 4, 5}\n";
    -
    78 std::cout << "Expected result: {3, 4, 5, 1, 2}\n";
    -
    79 std::vector<int32_t> arr = {1, 2, 3, 4, 5};
    -
    80 std::vector<int32_t> res = shift_left(arr, 2);
    -
    81 std::vector<int32_t> expected = {3, 4, 5, 1, 2};
    +
    76 std::cout << "TEST CASE 1\n";
    +
    77 std::cout << "Initialized arr = {1, 2, 3, 4, 5}\n";
    +
    78 std::cout << "Expected result: {3, 4, 5, 1, 2}\n";
    +
    79 std::vector<int32_t> arr = {1, 2, 3, 4, 5};
    +
    80 std::vector<int32_t> res = shift_left(arr, 2);
    +
    81 std::vector<int32_t> expected = {3, 4, 5, 1, 2};
    82 assert(res == expected);
    -
    83 print(res); ///< Should print 3 4 5 1 2
    -
    84 std::cout << "TEST PASSED!\n\n";
    +
    83 print(res);
    +
    84 std::cout << "TEST PASSED!\n\n";
    85}
    - -
    @@ -229,16 +246,18 @@ Functions

    < Ensure that there is only one element

    < Check if result is equal to b

    < Should print 2 3

    + +

    Definition at line 90 of file array_left_rotation.cpp.

    90 {
    -
    91 std::cout << "TEST CASE 2\n";
    -
    92 std::cout << "Initialized arr = {}\n";
    -
    93 std::cout << "Expected result: {}\n";
    -
    94 std::vector<int32_t> arr = {};
    -
    95 std::vector<int32_t> res = shift_left(arr, 2);
    -
    96 std::vector<int32_t> expected = {};
    +
    91 std::cout << "TEST CASE 2\n";
    +
    92 std::cout << "Initialized arr = {}\n";
    +
    93 std::cout << "Expected result: {}\n";
    +
    94 std::vector<int32_t> arr = {};
    +
    95 std::vector<int32_t> res = shift_left(arr, 2);
    +
    96 std::vector<int32_t> expected = {};
    97 assert(res == expected);
    -
    98 print(res); ///< Should print empty newline
    -
    99 std::cout << "TEST PASSED!\n\n";
    +
    98 print(res);
    +
    99 std::cout << "TEST PASSED!\n\n";
    100}
    @@ -281,16 +300,18 @@ Functions

    < Check for equality

    < Check if result is correct

    < Should print 2 3 4 6

    + +

    Definition at line 105 of file array_left_rotation.cpp.

    105 {
    -
    106 std::cout << "TEST CASE 3\n";
    -
    107 std::cout << "Initialized arr = {1, 2, 3, 4, 5}\n";
    -
    108 std::cout << "Expected result: {}\n";
    -
    109 std::vector<int32_t> arr = {1, 2, 3, 4, 5};
    -
    110 std::vector<int32_t> res = shift_left(arr, 7); ///< 7 > 5
    -
    111 std::vector<int32_t> expected = {};
    +
    106 std::cout << "TEST CASE 3\n";
    +
    107 std::cout << "Initialized arr = {1, 2, 3, 4, 5}\n";
    +
    108 std::cout << "Expected result: {}\n";
    +
    109 std::vector<int32_t> arr = {1, 2, 3, 4, 5};
    +
    110 std::vector<int32_t> res = shift_left(arr, 7);
    +
    111 std::vector<int32_t> expected = {};
    112 assert(res == expected);
    -
    113 print(res); ///< Should print empty newline
    -
    114 std::cout << "TEST PASSED!\n\n";
    +
    113 print(res);
    +
    114 std::cout << "TEST PASSED!\n\n";
    115}
    @@ -327,32 +348,28 @@ Functions

    < Should print 4 6

    < Check if result is correct

    < Should print 2 3 4 6 7

    + +

    Definition at line 120 of file array_left_rotation.cpp.

    120 {
    -
    121 std::cout << "TEST CASE 4\n";
    -
    122 std::cout << "Initialized arr = {2, 4, ..., 420}\n";
    -
    123 std::cout << "Expected result: {4, 6, ..., 420, 2}\n";
    - +
    121 std::cout << "TEST CASE 4\n";
    +
    122 std::cout << "Initialized arr = {2, 4, ..., 420}\n";
    +
    123 std::cout << "Expected result: {4, 6, ..., 420, 2}\n";
    +
    124 std::vector<int32_t> arr;
    125 for (int i = 1; i <= 210; i++) {
    -
    126 arr.push_back(i * 2);
    +
    126 arr.push_back(i * 2);
    127 }
    128 print(arr);
    -
    129 std::vector<int32_t> res = shift_left(arr, 1);
    -
    130 std::vector<int32_t> expected;
    +
    129 std::vector<int32_t> res = shift_left(arr, 1);
    +
    130 std::vector<int32_t> expected;
    131 for (int i = 1; i < 210; i++) {
    -
    132 expected.push_back(arr[i]);
    +
    132 expected.push_back(arr[i]);
    133 }
    -
    134 expected.push_back(2);
    +
    134 expected.push_back(2);
    135 assert(res == expected);
    -
    136 print(res); ///< Should print {4, 6, ..., 420, 2}
    -
    137 std::cout << "TEST PASSED!\n\n";
    +
    136 print(res);
    +
    137 std::cout << "TEST PASSED!\n\n";
    138}
    -
    T push_back(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -385,15 +402,17 @@ Here is the call graph for this function:

    < Should print 2 3 4

    < Check if result is correct

    < Should print 1 2 3 4 5 6 7 9

    + +

    Definition at line 143 of file array_left_rotation.cpp.

    143 {
    -
    144 std::cout << "TEST CASE 5\n";
    -
    145 std::cout << "Initialized arr = {1, 2, 3, 4, 5}\n";
    -
    146 std::cout << "Expected result: {1, 2, 3, 4, 5}\n";
    -
    147 std::vector<int32_t> arr = {1, 2, 3, 4, 5};
    -
    148 std::vector<int32_t> res = shift_left(arr, 0);
    +
    144 std::cout << "TEST CASE 5\n";
    +
    145 std::cout << "Initialized arr = {1, 2, 3, 4, 5}\n";
    +
    146 std::cout << "Expected result: {1, 2, 3, 4, 5}\n";
    +
    147 std::vector<int32_t> arr = {1, 2, 3, 4, 5};
    +
    148 std::vector<int32_t> res = shift_left(arr, 0);
    149 assert(res == arr);
    -
    150 print(res); ///< Should print 1 2 3 4 5
    -
    151 std::cout << "TEST PASSED!\n\n";
    +
    150 print(res);
    +
    151 std::cout << "TEST PASSED!\n\n";
    152}
    @@ -413,7 +432,7 @@ Here is the call graph for this function:
    -

    A Test to check correct functionality with an array sorted using std::sort.

    +

    A Test to check correct functionality with an array sorted using std::sort.

    Returns
    void

    < Sort vector a

    < Sort vector b

    @@ -427,31 +446,25 @@ Here is the call graph for this function:

    < Sort vector b

    < Check if result is correct

    < Should print 1 2 3 4 5 6 7 8 9 11

    -
    166 {
    -
    167 std::cout << "TEST CASE 6\n";
    -
    168 std::cout << "Intialized a = {1, 3, 3, 2, 5, 9, 4, 7, 3, 2} ";
    -
    169 std::cout << "b = {11, 3, 7, 8, 6}\n";
    -
    170 std::cout << "Expected result: {3, 7}\n";
    -
    171 std::vector<int32_t> a = {1, 3, 3, 2, 5, 9, 4, 7, 3, 2};
    -
    172 std::vector<int32_t> b = {11, 3, 7, 8, 6};
    -
    173 std::sort(a.begin(), a.end()); ///< Sort vector a
    -
    174 std::sort(b.begin(), b.end()); ///< Sort vector b
    -
    175 std::vector<int32_t> result = get_intersection(a, b);
    -
    176 std::vector<int32_t> expected = {3, 7};
    -
    177 assert(result == expected); ///< Check if result is correct
    -
    178 print(result); ///< Should print 3 7
    -
    179 std::cout << "TEST PASSED!\n\n";
    -
    180}
    -
    T begin(T... args)
    -
    T end(T... args)
    -
    uint64_t result(uint64_t n)
    Definition fibonacci_sum.cpp:77
    -
    T sort(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    +

    Definition at line 166 of file intersection_of_two_arrays.cpp.

    +
    166 {
    +
    167 std::cout << "TEST CASE 6\n";
    +
    168 std::cout << "Intialized a = {1, 3, 3, 2, 5, 9, 4, 7, 3, 2} ";
    +
    169 std::cout << "b = {11, 3, 7, 8, 6}\n";
    +
    170 std::cout << "Expected result: {3, 7}\n";
    +
    171 std::vector<int32_t> a = {1, 3, 3, 2, 5, 9, 4, 7, 3, 2};
    +
    172 std::vector<int32_t> b = {11, 3, 7, 8, 6};
    +
    173 std::sort(a.begin(), a.end());
    +
    174 std::sort(b.begin(), b.end());
    +
    175 std::vector<int32_t> result = get_intersection(a, b);
    +
    176 std::vector<int32_t> expected = {3, 7};
    +
    177 assert(result == expected);
    +
    178 print(result);
    +
    179 std::cout << "TEST PASSED!\n\n";
    +
    180}
    +
    uint64_t result(uint64_t n)
    +
    diff --git a/d9/df4/namespacetests_a2b9769e44683dcb67fe1083ad91e134d_cgraph.map b/d9/df4/namespacetests_a2b9769e44683dcb67fe1083ad91e134d_cgraph.map deleted file mode 100644 index 99c98e7fc..000000000 --- a/d9/df4/namespacetests_a2b9769e44683dcb67fe1083ad91e134d_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d9/df4/namespacetests_a2b9769e44683dcb67fe1083ad91e134d_cgraph.md5 b/d9/df4/namespacetests_a2b9769e44683dcb67fe1083ad91e134d_cgraph.md5 deleted file mode 100644 index 5de416b93..000000000 --- a/d9/df4/namespacetests_a2b9769e44683dcb67fe1083ad91e134d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -45c6e33c9a201dccdc24b76ad6666258 \ No newline at end of file diff --git a/d9/df4/namespacetests_a2b9769e44683dcb67fe1083ad91e134d_cgraph.svg b/d9/df4/namespacetests_a2b9769e44683dcb67fe1083ad91e134d_cgraph.svg deleted file mode 100644 index 7d5302885..000000000 --- a/d9/df4/namespacetests_a2b9769e44683dcb67fe1083ad91e134d_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -tests::test4 - - -Node1 - - -tests::test4 - - - - - -Node2 - - -std::vector::push_back - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d9/df4/namespacetests_a2b9769e44683dcb67fe1083ad91e134d_cgraph_org.svg b/d9/df4/namespacetests_a2b9769e44683dcb67fe1083ad91e134d_cgraph_org.svg deleted file mode 100644 index 987fce65f..000000000 --- a/d9/df4/namespacetests_a2b9769e44683dcb67fe1083ad91e134d_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -tests::test4 - - -Node1 - - -tests::test4 - - - - - -Node2 - - -std::vector::push_back - - - - - -Node1->Node2 - - - - - - - - diff --git a/d9/df4/namespacetests_aacafde185abd8670abee51157f273dc2_cgraph.map b/d9/df4/namespacetests_aacafde185abd8670abee51157f273dc2_cgraph.map deleted file mode 100644 index 52ef48ee0..000000000 --- a/d9/df4/namespacetests_aacafde185abd8670abee51157f273dc2_cgraph.map +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/d9/df4/namespacetests_aacafde185abd8670abee51157f273dc2_cgraph.md5 b/d9/df4/namespacetests_aacafde185abd8670abee51157f273dc2_cgraph.md5 deleted file mode 100644 index 1e4f2c853..000000000 --- a/d9/df4/namespacetests_aacafde185abd8670abee51157f273dc2_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -29fa5ae27623c67806a3df3d9ccdfa63 \ No newline at end of file diff --git a/d9/df4/namespacetests_aacafde185abd8670abee51157f273dc2_cgraph.svg b/d9/df4/namespacetests_aacafde185abd8670abee51157f273dc2_cgraph.svg deleted file mode 100644 index 536205df2..000000000 --- a/d9/df4/namespacetests_aacafde185abd8670abee51157f273dc2_cgraph.svg +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - - - - - - - -tests::test6 - - -Node1 - - -tests::test6 - - - - - -Node2 - - -std::vector::begin - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::vector::end - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::sort - - - - - -Node1->Node4 - - - - - - - - - - - - - diff --git a/d9/df4/namespacetests_aacafde185abd8670abee51157f273dc2_cgraph_org.svg b/d9/df4/namespacetests_aacafde185abd8670abee51157f273dc2_cgraph_org.svg deleted file mode 100644 index 7467631c8..000000000 --- a/d9/df4/namespacetests_aacafde185abd8670abee51157f273dc2_cgraph_org.svg +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - -tests::test6 - - -Node1 - - -tests::test6 - - - - - -Node2 - - -std::vector::begin - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::vector::end - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::sort - - - - - -Node1->Node4 - - - - - - - - diff --git a/d9/df7/structothers_1_1recursive__tree__traversals_1_1_node.html b/d9/df7/structothers_1_1recursive__tree__traversals_1_1_node.html index 7633b8f76..fe1e75be0 100644 --- a/d9/df7/structothers_1_1recursive__tree__traversals_1_1_node.html +++ b/d9/df7/structothers_1_1recursive__tree__traversals_1_1_node.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: others::recursive_tree_traversals::Node Struct Reference +TheAlgorithms/C++: others::recursive_tree_traversals::Node Struct Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -116,14 +133,13 @@ $(function(){initNavTree('d9/df7/structothers_1_1recursive__tree__traversals_1_1
    Collaboration diagram for others::recursive_tree_traversals::Node:
    -
    +
    [legend]
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    - - + + @@ -142,7 +158,27 @@ Public Attributes

    Public Attributes

    -std::uint64_t data = 0
     The value/key of the node.
    std::uint64_t data = 0
     The value/key of the node.
     
    struct Nodeleft {}
     struct pointer to left subtree.
    + +

    Definition at line 79 of file recursive_tree_traversal.cpp.

    Member Data Documentation

    + +

    ◆ data

    + +
    +
    + + + + +
    std::uint64_t others::recursive_tree_traversals::Node::data = 0
    +
    + +

    The value/key of the node.

    + +

    Definition at line 80 of file recursive_tree_traversal.cpp.

    + +
    +

    ◆ left

    @@ -156,7 +192,9 @@ Public Attributes

    struct pointer to left subtree.

    -
    81{}; ///< struct pointer to left subtree.
    + +

    Definition at line 81 of file recursive_tree_traversal.cpp.

    +
    81{};
    @@ -173,12 +211,14 @@ Public Attributes

    struct pointer to right subtree.

    -
    82{}; ///< struct pointer to right subtree.
    + +

    Definition at line 82 of file recursive_tree_traversal.cpp.

    +
    82{};

    The documentation for this struct was generated from the following file: diff --git a/d9/dfd/circular__queue__using__linked__list_8cpp_source.html b/d9/dfd/circular__queue__using__linked__list_8cpp_source.html new file mode 100644 index 000000000..bba86cc31 --- /dev/null +++ b/d9/dfd/circular__queue__using__linked__list_8cpp_source.html @@ -0,0 +1,223 @@ + + + + + + + + +TheAlgorithms/C++: data_structures/circular_queue_using_linked_list.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    circular_queue_using_linked_list.cpp
    +
    +
    +
    1#include <iostream>
    +
    2
    +
    3struct node {
    +
    4 int data;
    +
    5 struct node* next;
    +
    6};
    +
    7class Queue {
    +
    8 node* front = nullptr;
    +
    9 node* rear = nullptr;
    +
    10
    +
    11 Queue(const Queue&) = delete;
    +
    12 Queue& operator=(const Queue&) = delete;
    +
    13
    +
    14 public:
    +
    15 Queue() = default;
    +
    16 ~Queue() {
    +
    17 while (front) {
    +
    18 dequeue();
    +
    19 }
    +
    20 }
    +
    21
    +
    22 private:
    +
    23 void createNode(int val) {
    +
    24 auto* nn = new node;
    +
    25 nn->data = val;
    +
    26 nn->next = nullptr;
    +
    27 front = nn;
    +
    28 rear = nn;
    +
    29 }
    +
    30
    +
    31 public:
    +
    32 void enqueue(int val) {
    +
    33 if (front == nullptr || rear == nullptr) {
    +
    34 createNode(val);
    +
    35 } else {
    +
    36 node* nn = new node;
    +
    37 nn->data = val;
    +
    38 rear->next = nn;
    +
    39 nn->next = front;
    +
    40 rear = nn;
    +
    41 }
    +
    42 }
    +
    43 void dequeue() {
    +
    44 if (front == nullptr) {
    +
    45 return;
    +
    46 }
    +
    47 const node* const n = front;
    +
    48 if (front == rear) {
    +
    49 front = nullptr;
    +
    50 rear = nullptr;
    +
    51 } else {
    +
    52 front = front->next;
    +
    53 rear->next = front;
    +
    54 }
    +
    55 delete n;
    +
    56 }
    +
    57 void traverse() {
    +
    58 if (front == nullptr) {
    +
    59 return;
    +
    60 }
    +
    61 const node* ptr = front;
    +
    62 do {
    +
    63 std::cout << ptr->data << ' ';
    +
    64 ptr = ptr->next;
    +
    65 } while (ptr != front);
    +
    66 std::cout << '\n';
    +
    67 }
    +
    68};
    +
    69int main(void) {
    +
    70 Queue q;
    +
    71 q.enqueue(10);
    +
    72 q.enqueue(20);
    +
    73 q.enqueue(30);
    +
    74 q.enqueue(40);
    +
    75 q.enqueue(50);
    +
    76 q.enqueue(60);
    +
    77 q.enqueue(70);
    +
    78 q.traverse();
    +
    79 q.dequeue();
    +
    80 q.traverse();
    +
    81 return 0;
    +
    82}
    +
    struct node { int data; int height; struct node *left; struct node *right;} node
    for std::queue
    Definition avltree.cpp:13
    +
    int main()
    Main function.
    + + +
    +
    + + + + diff --git a/d9/dfd/comb__sort_8cpp.html b/d9/dfd/comb__sort_8cpp.html index 29398506e..c6b5a9ee6 100644 --- a/d9/dfd/comb__sort_8cpp.html +++ b/d9/dfd/comb__sort_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: sorting/comb_sort.cpp File Reference +TheAlgorithms/C++: sorting/comb_sort.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -120,7 +137,9 @@ Include dependency graph for comb_sort.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -140,6 +159,8 @@ Functions
  • Bubble sort compares adjacent values whereas comb sort uses gap larger than 1
  • Best case Time complexity O(n) Worst case Time complexity O(n^2)
  • + +

    Definition in file comb_sort.cpp.

    Function Documentation

    ◆ CombSort()

    @@ -178,44 +199,28 @@ Functions

    Keep running until gap = 1 or none elements were swapped

    Find next gap

    Compare all elements with current gap

    -
    42 {
    -
    43 /**
    -
    44 *
    -
    45 * initial gap will be maximum and the maximum possible value is
    -
    46 * the size of the array that is n and which is equal to r in this
    -
    47 * case so to avoid passing an extra parameter n that is the size of
    -
    48 * the array we are using r to initialize the initial gap.
    -
    49 *
    -
    50 */
    + +

    Definition at line 42 of file comb_sort.cpp.

    +
    42 {
    51 int gap = r;
    -
    52
    -
    53 /// Initialize swapped as true to make sure that loop runs
    -
    54 bool swapped = true;
    -
    55
    -
    56 /// Keep running until gap = 1 or none elements were swapped
    -
    57 while (gap != 1 || swapped) {
    -
    58 /// Find next gap
    -
    59 gap = FindNextGap(gap);
    +
    52
    +
    54 bool swapped = true;
    +
    55
    +
    57 while (gap != 1 || swapped) {
    +
    59 gap = FindNextGap(gap);
    60
    61 swapped = false;
    -
    62
    -
    63 /// Compare all elements with current gap
    -
    64 for (int i = l; i < r - gap; ++i) {
    +
    62
    +
    64 for (int i = l; i < r - gap; ++i) {
    65 if (arr[i] > arr[i + gap]) {
    -
    66 std::swap(arr[i], arr[i + gap]);
    +
    66 std::swap(arr[i], arr[i + gap]);
    67 swapped = true;
    68 }
    69 }
    70 }
    71}
    -
    int FindNextGap(int gap)
    Definition comb_sort.cpp:29
    -
    T swap(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    int FindNextGap(int gap)
    Definition comb_sort.cpp:29
    +
    @@ -239,18 +244,14 @@ Here is the call graph for this function:
    Returns
    new gap
    + +

    Definition at line 29 of file comb_sort.cpp.

    29 {
    30 gap = (gap * 10) / 13;
    31
    -
    32 return std::max(1, gap);
    +
    32 return std::max(1, gap);
    33}
    -
    T max(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -270,30 +271,23 @@ Here is the call graph for this function:

    Main function

    Running predefined tests

    For user interaction

    -
    88 {
    -
    89 /// Running predefined tests
    -
    90 tests();
    -
    91
    -
    92 /// For user interaction
    -
    93 int n;
    -
    94 std::cin >> n;
    + +

    Definition at line 88 of file comb_sort.cpp.

    +
    88 {
    +
    90 tests();
    +
    91
    +
    93 int n;
    +
    94 std::cin >> n;
    95 int *arr = new int[n];
    96 for (int i = 0; i < n; ++i) std::cin >> arr[i];
    97 CombSort(arr, 0, n);
    -
    98 for (int i = 0; i < n; ++i) std::cout << arr[i] << ' ';
    +
    98 for (int i = 0; i < n; ++i) std::cout << arr[i] << ' ';
    99 delete[] arr;
    100 return 0;
    101}
    - - -
    void CombSort(int *arr, int l, int r)
    Definition comb_sort.cpp:42
    -
    void tests()
    Definition comb_sort.cpp:73
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    void CombSort(int *arr, int l, int r)
    Definition comb_sort.cpp:42
    +
    void tests()
    Definition comb_sort.cpp:73
    +
    @@ -312,26 +306,20 @@ Here is the call graph for this function:

    Test 1

    Test 2

    -
    73 {
    -
    74 /// Test 1
    -
    75 int arr1[10] = {34, 56, 6, 23, 76, 34, 76, 343, 4, 76};
    -
    76 CombSort(arr1, 0, 10);
    -
    77 assert(std::is_sorted(arr1, arr1 + 10));
    -
    78 std::cout << "Test 1 passed\n";
    -
    79
    -
    80 /// Test 2
    -
    81 int arr2[8] = {-6, 56, -45, 56, 0, -1, 8, 8};
    -
    82 CombSort(arr2, 0, 8);
    -
    83 assert(std::is_sorted(arr2, arr2 + 8));
    -
    84 std::cout << "Test 2 Passed\n";
    -
    85}
    -
    T is_sorted(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    +

    Definition at line 73 of file comb_sort.cpp.

    +
    73 {
    +
    75 int arr1[10] = {34, 56, 6, 23, 76, 34, 76, 343, 4, 76};
    +
    76 CombSort(arr1, 0, 10);
    +
    77 assert(std::is_sorted(arr1, arr1 + 10));
    +
    78 std::cout << "Test 1 passed\n";
    +
    79
    +
    81 int arr2[8] = {-6, 56, -45, 56, 0, -1, 8, 8};
    +
    82 CombSort(arr2, 0, 8);
    +
    83 assert(std::is_sorted(arr2, arr2 + 8));
    +
    84 std::cout << "Test 2 Passed\n";
    +
    85}
    +
    diff --git a/d9/dfd/comb__sort_8cpp_a0f4e7569090083fb53d5cdeaf0e2974f_cgraph.map b/d9/dfd/comb__sort_8cpp_a0f4e7569090083fb53d5cdeaf0e2974f_cgraph.map deleted file mode 100644 index c12925bcd..000000000 --- a/d9/dfd/comb__sort_8cpp_a0f4e7569090083fb53d5cdeaf0e2974f_cgraph.map +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/d9/dfd/comb__sort_8cpp_a0f4e7569090083fb53d5cdeaf0e2974f_cgraph.md5 b/d9/dfd/comb__sort_8cpp_a0f4e7569090083fb53d5cdeaf0e2974f_cgraph.md5 deleted file mode 100644 index 91d7359fa..000000000 --- a/d9/dfd/comb__sort_8cpp_a0f4e7569090083fb53d5cdeaf0e2974f_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -2fb382b5d6eb2628fed0dc75145acb0a \ No newline at end of file diff --git a/d9/dfd/comb__sort_8cpp_a0f4e7569090083fb53d5cdeaf0e2974f_cgraph.svg b/d9/dfd/comb__sort_8cpp_a0f4e7569090083fb53d5cdeaf0e2974f_cgraph.svg deleted file mode 100644 index c3fa5dc9a..000000000 --- a/d9/dfd/comb__sort_8cpp_a0f4e7569090083fb53d5cdeaf0e2974f_cgraph.svg +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - - - - - - - -CombSort - - -Node1 - - -CombSort - - - - - -Node2 - - -FindNextGap - - - - - -Node1->Node2 - - - - - - - - -Node4 - - -std::swap - - - - - -Node1->Node4 - - - - - - - - -Node3 - - -std::max - - - - - -Node2->Node3 - - - - - - - - - - - - - diff --git a/d9/dfd/comb__sort_8cpp_a0f4e7569090083fb53d5cdeaf0e2974f_cgraph_org.svg b/d9/dfd/comb__sort_8cpp_a0f4e7569090083fb53d5cdeaf0e2974f_cgraph_org.svg deleted file mode 100644 index 9a6a505f3..000000000 --- a/d9/dfd/comb__sort_8cpp_a0f4e7569090083fb53d5cdeaf0e2974f_cgraph_org.svg +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - -CombSort - - -Node1 - - -CombSort - - - - - -Node2 - - -FindNextGap - - - - - -Node1->Node2 - - - - - - - - -Node4 - - -std::swap - - - - - -Node1->Node4 - - - - - - - - -Node3 - - -std::max - - - - - -Node2->Node3 - - - - - - - - diff --git a/d9/dfd/comb__sort_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph.map b/d9/dfd/comb__sort_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph.map deleted file mode 100644 index a44e476e1..000000000 --- a/d9/dfd/comb__sort_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph.map +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - diff --git a/d9/dfd/comb__sort_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph.md5 b/d9/dfd/comb__sort_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph.md5 deleted file mode 100644 index 6c4e3eab5..000000000 --- a/d9/dfd/comb__sort_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -c05509b64ef95b927f374e50acb19725 \ No newline at end of file diff --git a/d9/dfd/comb__sort_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph.svg b/d9/dfd/comb__sort_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph.svg deleted file mode 100644 index e0109a9a7..000000000 --- a/d9/dfd/comb__sort_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph.svg +++ /dev/null @@ -1,137 +0,0 @@ - - - - - - - - - - - - -tests - - -Node1 - - -tests - - - - - -Node2 - - -CombSort - - - - - -Node1->Node2 - - - - - - - - -Node6 - - -std::is_sorted - - - - - -Node1->Node6 - - - - - - - - -Node3 - - -FindNextGap - - - - - -Node2->Node3 - - - - - - - - -Node5 - - -std::swap - - - - - -Node2->Node5 - - - - - - - - -Node4 - - -std::max - - - - - -Node3->Node4 - - - - - - - - - - - - - diff --git a/d9/dfd/comb__sort_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph_org.svg b/d9/dfd/comb__sort_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph_org.svg deleted file mode 100644 index 0ccfce282..000000000 --- a/d9/dfd/comb__sort_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph_org.svg +++ /dev/null @@ -1,111 +0,0 @@ - - - - - - -tests - - -Node1 - - -tests - - - - - -Node2 - - -CombSort - - - - - -Node1->Node2 - - - - - - - - -Node6 - - -std::is_sorted - - - - - -Node1->Node6 - - - - - - - - -Node3 - - -FindNextGap - - - - - -Node2->Node3 - - - - - - - - -Node5 - - -std::swap - - - - - -Node2->Node5 - - - - - - - - -Node4 - - -std::max - - - - - -Node3->Node4 - - - - - - - - diff --git a/d9/dfd/comb__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d9/dfd/comb__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 34789cde6..000000000 --- a/d9/dfd/comb__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - - - - - diff --git a/d9/dfd/comb__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d9/dfd/comb__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index 45f3d8dd5..000000000 --- a/d9/dfd/comb__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -d853dd5d86dd38a2eb0183a30d70a063 \ No newline at end of file diff --git a/d9/dfd/comb__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d9/dfd/comb__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 9abf5fbb6..000000000 --- a/d9/dfd/comb__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,164 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -CombSort - - - - - -Node1->Node2 - - - - - - - - -Node6 - - -tests - - - - - -Node1->Node6 - - - - - - - - -Node3 - - -FindNextGap - - - - - -Node2->Node3 - - - - - - - - -Node5 - - -std::swap - - - - - -Node2->Node5 - - - - - - - - -Node4 - - -std::max - - - - - -Node3->Node4 - - - - - - - - -Node6->Node2 - - - - - - - - -Node7 - - -std::is_sorted - - - - - -Node6->Node7 - - - - - - - - - - - - - diff --git a/d9/dfd/comb__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d9/dfd/comb__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 6ffc2ae37..000000000 --- a/d9/dfd/comb__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,138 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -CombSort - - - - - -Node1->Node2 - - - - - - - - -Node6 - - -tests - - - - - -Node1->Node6 - - - - - - - - -Node3 - - -FindNextGap - - - - - -Node2->Node3 - - - - - - - - -Node5 - - -std::swap - - - - - -Node2->Node5 - - - - - - - - -Node4 - - -std::max - - - - - -Node3->Node4 - - - - - - - - -Node6->Node2 - - - - - - - - -Node7 - - -std::is_sorted - - - - - -Node6->Node7 - - - - - - - - diff --git a/d9/dfd/comb__sort_8cpp_aede08143e63105faba10e9ee8e745fd5_cgraph.map b/d9/dfd/comb__sort_8cpp_aede08143e63105faba10e9ee8e745fd5_cgraph.map deleted file mode 100644 index e51ffbd42..000000000 --- a/d9/dfd/comb__sort_8cpp_aede08143e63105faba10e9ee8e745fd5_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/d9/dfd/comb__sort_8cpp_aede08143e63105faba10e9ee8e745fd5_cgraph.md5 b/d9/dfd/comb__sort_8cpp_aede08143e63105faba10e9ee8e745fd5_cgraph.md5 deleted file mode 100644 index 90785ffbd..000000000 --- a/d9/dfd/comb__sort_8cpp_aede08143e63105faba10e9ee8e745fd5_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -36bbfc1e45d8b0056a034365daf170b5 \ No newline at end of file diff --git a/d9/dfd/comb__sort_8cpp_aede08143e63105faba10e9ee8e745fd5_cgraph.svg b/d9/dfd/comb__sort_8cpp_aede08143e63105faba10e9ee8e745fd5_cgraph.svg deleted file mode 100644 index ebb72f4e7..000000000 --- a/d9/dfd/comb__sort_8cpp_aede08143e63105faba10e9ee8e745fd5_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -FindNextGap - - -Node1 - - -FindNextGap - - - - - -Node2 - - -std::max - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/d9/dfd/comb__sort_8cpp_aede08143e63105faba10e9ee8e745fd5_cgraph_org.svg b/d9/dfd/comb__sort_8cpp_aede08143e63105faba10e9ee8e745fd5_cgraph_org.svg deleted file mode 100644 index 813dd3be8..000000000 --- a/d9/dfd/comb__sort_8cpp_aede08143e63105faba10e9ee8e745fd5_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -FindNextGap - - -Node1 - - -FindNextGap - - - - - -Node2 - - -std::max - - - - - -Node1->Node2 - - - - - - - - diff --git a/d9/dfd/comb__sort_8cpp_source.html b/d9/dfd/comb__sort_8cpp_source.html new file mode 100644 index 000000000..86eee6da8 --- /dev/null +++ b/d9/dfd/comb__sort_8cpp_source.html @@ -0,0 +1,203 @@ + + + + + + + + +TheAlgorithms/C++: sorting/comb_sort.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    +

    Functions

    int FindNextGap (int gap)
    + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + + +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    comb_sort.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    18#include <algorithm>
    +
    19#include <cassert>
    +
    20#include <iostream>
    +
    21
    +
    +
    29int FindNextGap(int gap) {
    +
    30 gap = (gap * 10) / 13;
    +
    31
    +
    32 return std::max(1, gap);
    +
    33}
    +
    +
    34
    +
    +
    42void CombSort(int *arr, int l, int r) {
    +
    51 int gap = r;
    +
    52
    +
    54 bool swapped = true;
    +
    55
    +
    57 while (gap != 1 || swapped) {
    +
    59 gap = FindNextGap(gap);
    +
    60
    +
    61 swapped = false;
    +
    62
    +
    64 for (int i = l; i < r - gap; ++i) {
    +
    65 if (arr[i] > arr[i + gap]) {
    +
    66 std::swap(arr[i], arr[i + gap]);
    +
    67 swapped = true;
    +
    68 }
    +
    69 }
    +
    70 }
    +
    71}
    +
    +
    72
    +
    +
    73void tests() {
    +
    75 int arr1[10] = {34, 56, 6, 23, 76, 34, 76, 343, 4, 76};
    +
    76 CombSort(arr1, 0, 10);
    +
    77 assert(std::is_sorted(arr1, arr1 + 10));
    +
    78 std::cout << "Test 1 passed\n";
    +
    79
    +
    81 int arr2[8] = {-6, 56, -45, 56, 0, -1, 8, 8};
    +
    82 CombSort(arr2, 0, 8);
    +
    83 assert(std::is_sorted(arr2, arr2 + 8));
    +
    84 std::cout << "Test 2 Passed\n";
    +
    85}
    +
    +
    86
    +
    +
    88int main() {
    +
    90 tests();
    +
    91
    +
    93 int n;
    +
    94 std::cin >> n;
    +
    95 int *arr = new int[n];
    +
    96 for (int i = 0; i < n; ++i) std::cin >> arr[i];
    +
    97 CombSort(arr, 0, n);
    +
    98 for (int i = 0; i < n; ++i) std::cout << arr[i] << ' ';
    +
    99 delete[] arr;
    +
    100 return 0;
    +
    101}
    +
    +
    void CombSort(int *arr, int l, int r)
    Definition comb_sort.cpp:42
    +
    void tests()
    Definition comb_sort.cpp:73
    +
    int main()
    Definition comb_sort.cpp:88
    +
    int FindNextGap(int gap)
    Definition comb_sort.cpp:29
    +
    +
    + + + + diff --git a/da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search.html b/da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search.html index 888c0d6af..283b08bbb 100644 --- a/da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search.html +++ b/da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: machine_learning::aystar_search::AyStarSearch< Puzzle > Class Template Reference +TheAlgorithms/C++: machine_learning::aystar_search::AyStarSearch< Puzzle > Class Template Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -146,10 +163,10 @@ Public Member Functions - + - +
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
     AyStarSearch (const Puzzle &initial, const Puzzle &final)
     Parameterized constructor for AyStarSearch.
     
    std::vector< Puzzle > Solution (std::shared_ptr< Info > FinalState, const MapOfPuzzleInfoWithPuzzleInfo &parent_of)
    std::vector< Puzzle > Solution (std::shared_ptr< Info > FinalState, const MapOfPuzzleInfoWithPuzzleInfo &parent_of)
     A helper solution: launches when a solution for AyStarSearch is found.
     
    std::vector< Puzzle > a_star_search (const std::function< uint32_t(const Puzzle &, const Puzzle &)> &dist, const uint32_t permissible_depth=30)
    std::vector< Puzzle > a_star_search (const std::function< uint32_t(const Puzzle &, const Puzzle &)> &dist, const uint32_t permissible_depth=30)
     

    @@ -161,11 +178,9 @@ typedef struct machine_learning::aystar_search::AyStarSearch::Info 

    - + - +

    Private Attributes

    -std::shared_ptr< InfoInitial
    std::shared_ptr< InfoInitial
     
    -std::shared_ptr< InfoFinal
    std::shared_ptr< InfoFinal
     

    Detailed Description

    @@ -181,6 +196,8 @@ class machine_learning::aystar_search::AyStarSearch< Puzzle >

    A cl

  • For AyStarSearch to work, the definitions for template Puzzle is compulsory. a. Comparison operator for template Puzzle (<, ==, and <=) b. generate_possible_moves()
  • + +

    Definition at line 288 of file a_star_search.cpp.

    Member Typedef Documentation

    ◆ MapOfPuzzleInfoWithInteger

    @@ -196,9 +213,10 @@ template<typename Puzzle >
    Initial value:
    -
    std::map<std::shared_ptr<Info>, uint32_t, comparison_operator>
    - +
    std::map<std::shared_ptr<Info>, uint32_t, comparison_operator>
    +

    Definition at line 382 of file a_star_search.cpp.

    +
    @@ -215,10 +233,11 @@ template<typename Puzzle >
    Initial value:
    - +
    std::map<std::shared_ptr<Info>, std::shared_ptr<Info>,
    comparison_operator>
    -
    +

    Definition at line 378 of file a_star_search.cpp.

    +
    @@ -235,9 +254,10 @@ template<typename Puzzle >
    Initial value:
    -
    std::set<std::shared_ptr<Info>, comparison_operator>
    - +
    std::set<std::shared_ptr<Info>, comparison_operator>
    +

    Definition at line 385 of file a_star_search.cpp.

    +

    Constructor & Destructor Documentation

    @@ -278,17 +298,13 @@ template<typename Puzzle > -
    392 {
    -
    393 Initial = std::make_shared<Info>(initial);
    -
    394 Final = std::make_shared<Info>(final);
    -
    395 }
    -
    T make_shared(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    +

    Definition at line 392 of file a_star_search.cpp.

    +
    392 {
    +
    393 Initial = std::make_shared<Info>(initial);
    +
    394 Final = std::make_shared<Info>(final);
    +
    395 }
    +

    Member Function Documentation

    @@ -304,9 +320,9 @@ template<typename Puzzle > - + - + @@ -332,12 +348,14 @@ template<typename Puzzle >

    Stores the g_score

    Stores the list to explore

    Stores the list that are explored

    + +

    Definition at line 429 of file a_star_search.cpp.

    431 {
    432 MapOfPuzzleInfoWithPuzzleInfo
    -
    433 parent_of; /// Stores the parent of the states
    -
    434 MapOfPuzzleInfoWithInteger g_score; /// Stores the g_score
    -
    435 SetOfPuzzleInfo open_list; /// Stores the list to explore
    -
    436 SetOfPuzzleInfo closed_list; /// Stores the list that are explored
    +
    433 parent_of;
    +
    434 MapOfPuzzleInfoWithInteger g_score;
    +
    435 SetOfPuzzleInfo open_list;
    +
    436 SetOfPuzzleInfo closed_list;
    437
    438 // Before starting the AyStartSearch, initialize the set and maps
    439 open_list.emplace(Initial);
    @@ -360,7 +378,7 @@ template<typename Puzzle >
    456 }
    457
    458 // current_state, stores lowest f score so far for this state.
    -
    459 std::shared_ptr<Info> current_state = *it_low_f_score;
    +
    459 std::shared_ptr<Info> current_state = *it_low_f_score;
    460
    461 // if this current state is equal to final, return
    462 if (*(current_state->state) == *(Final->state)) {
    @@ -375,13 +393,13 @@ template<typename Puzzle >
    471 }
    472 // Generate all possible moves (neighbors) given the current
    473 // state
    -
    474 std::vector<Puzzle> total_possible_moves =
    +
    474 std::vector<Puzzle> total_possible_moves =
    475 current_state->state->generate_possible_moves();
    476
    477 for (Puzzle &neighbor : total_possible_moves) {
    478 // calculate score of neighbors with respect to
    479 // current_state
    - +
    480 std::shared_ptr<Info> Neighbor = std::make_shared<Info>(
    481 neighbor, dist(neighbor, *(Final->state)),
    482 current_state->depth + 1U);
    483 uint32_t temp_g_score = Neighbor->depth;
    @@ -425,16 +443,10 @@ template<typename Puzzle >
    521 closed_list.emplace(current_state);
    522 }
    523 // Cannot find the solution, return empty vector
    -
    524 return std::vector<Puzzle>(0);
    +
    524 return std::vector<Puzzle>(0);
    525 }
    -
    std::vector< Puzzle > Solution(std::shared_ptr< Info > FinalState, const MapOfPuzzleInfoWithPuzzleInfo &parent_of)
    A helper solution: launches when a solution for AyStarSearch is found.
    Definition a_star_search.cpp:405
    - -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    std::vector< Puzzle > Solution(std::shared_ptr< Info > FinalState, const MapOfPuzzleInfoWithPuzzleInfo &parent_of)
    A helper solution: launches when a solution for AyStarSearch is found.
    + @@ -449,14 +461,14 @@ template<typename Puzzle > @@ -475,6 +487,8 @@ template<typename Puzzle >
    Returns
    the list of moves denoting moves from final state to initial state (in reverse)
    + +

    Definition at line 405 of file a_star_search.cpp.

    407 {
    408 // Useful for traversing from final state to current state.
    409 auto current_state = FinalState;
    @@ -482,24 +496,71 @@ template<typename Puzzle >
    411 * For storing the solution tree starting from initial state to
    412 * final state
    413 */
    -
    414 std::vector<Puzzle> answer;
    +
    414 std::vector<Puzzle> answer;
    415 while (current_state != nullptr) {
    -
    416 answer.emplace_back(*current_state->state);
    +
    416 answer.emplace_back(*current_state->state);
    417 current_state = parent_of.find(current_state)->second;
    418 }
    419 return answer;
    420 }
    -
    T emplace_back(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    +
    + +

    Member Data Documentation

    + +

    ◆ Final

    + +
    +
    +
    +template<typename Puzzle >
    +
    std::vector< Puzzle > machine_learning::aystar_search::AyStarSearch< Puzzle >::a_star_search std::vector< Puzzle > machine_learning::aystar_search::AyStarSearch< Puzzle >::a_star_search (const std::function< uint32_t(const Puzzle &, const Puzzle &)> & dist, const std::function< uint32_t(const Puzzle &, const Puzzle &)> & dist,
    - + - + - +
    std::vector< Puzzle > machine_learning::aystar_search::AyStarSearch< Puzzle >::Solution std::vector< Puzzle > machine_learning::aystar_search::AyStarSearch< Puzzle >::Solution (std::shared_ptr< Info > FinalState, std::shared_ptr< Info > FinalState,
    const MapOfPuzzleInfoWithPuzzleInfo & parent_of )const MapOfPuzzleInfoWithPuzzleInfo & parent_of )
    + + + + +
    + + + + +
    std::shared_ptr<Info> machine_learning::aystar_search::AyStarSearch< Puzzle >::Final
    +
    +private
    +
    + +

    Definition at line 366 of file a_star_search.cpp.

    + +
    + + +

    ◆ Initial

    + +
    +
    +
    +template<typename Puzzle >
    + + + + + +
    + + + + +
    std::shared_ptr<Info> machine_learning::aystar_search::AyStarSearch< Puzzle >::Initial
    +
    +private
    +
    + +

    Definition at line 365 of file a_star_search.cpp.


    The documentation for this class was generated from the following file: diff --git a/da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search_a0a26aa9ad3d73707370d9fe83707aca4_cgraph.map b/da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search_a0a26aa9ad3d73707370d9fe83707aca4_cgraph.map deleted file mode 100644 index 61407a9e7..000000000 --- a/da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search_a0a26aa9ad3d73707370d9fe83707aca4_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search_a0a26aa9ad3d73707370d9fe83707aca4_cgraph.md5 b/da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search_a0a26aa9ad3d73707370d9fe83707aca4_cgraph.md5 deleted file mode 100644 index aaa6ee913..000000000 --- a/da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search_a0a26aa9ad3d73707370d9fe83707aca4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -bddf2fcadc95f9d9711dde24e4a40d79 \ No newline at end of file diff --git a/da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search_a0a26aa9ad3d73707370d9fe83707aca4_cgraph.svg b/da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search_a0a26aa9ad3d73707370d9fe83707aca4_cgraph.svg deleted file mode 100644 index 5cbcb23e1..000000000 --- a/da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search_a0a26aa9ad3d73707370d9fe83707aca4_cgraph.svg +++ /dev/null @@ -1,85 +0,0 @@ - - - - - - - - - - - - -machine_learning::aystar_search::AyStarSearch::Solution - - -Node1 - - -machine_learning::aystar -_search::AyStarSearch:: -Solution - - - - - -Node2 - - -std::vector::emplace_back - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::map::find - - - - - -Node1->Node3 - - - - - - - - - - - - - diff --git a/da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search_a0a26aa9ad3d73707370d9fe83707aca4_cgraph_org.svg b/da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search_a0a26aa9ad3d73707370d9fe83707aca4_cgraph_org.svg deleted file mode 100644 index 26db34c38..000000000 --- a/da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search_a0a26aa9ad3d73707370d9fe83707aca4_cgraph_org.svg +++ /dev/null @@ -1,59 +0,0 @@ - - - - - - -machine_learning::aystar_search::AyStarSearch::Solution - - -Node1 - - -machine_learning::aystar -_search::AyStarSearch:: -Solution - - - - - -Node2 - - -std::vector::emplace_back - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::map::find - - - - - -Node1->Node3 - - - - - - - - diff --git a/da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search_a48284e156fdd48fd0c41008c7e48f201_cgraph.map b/da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search_a48284e156fdd48fd0c41008c7e48f201_cgraph.map deleted file mode 100644 index deac0209a..000000000 --- a/da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search_a48284e156fdd48fd0c41008c7e48f201_cgraph.map +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search_a48284e156fdd48fd0c41008c7e48f201_cgraph.md5 b/da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search_a48284e156fdd48fd0c41008c7e48f201_cgraph.md5 deleted file mode 100644 index a7a53e0ee..000000000 --- a/da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search_a48284e156fdd48fd0c41008c7e48f201_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -ea9374a8cfdd69dbb408d5db342f7f0e \ No newline at end of file diff --git a/da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search_a48284e156fdd48fd0c41008c7e48f201_cgraph.svg b/da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search_a48284e156fdd48fd0c41008c7e48f201_cgraph.svg deleted file mode 100644 index 46e5d9112..000000000 --- a/da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search_a48284e156fdd48fd0c41008c7e48f201_cgraph.svg +++ /dev/null @@ -1,258 +0,0 @@ - - - - - - - - - - - - -machine_learning::aystar_search::AyStarSearch::a_star_search - - -Node1 - - -machine_learning::aystar -_search::AyStarSearch:: -a_star_search - - - - - -Node2 - - -std::set::begin - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::set::emplace - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::set::empty - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::map::end - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -std::set::end - - - - - -Node1->Node6 - - - - - - - - -Node7 - - -std::set::erase - - - - - -Node1->Node7 - - - - - - - - -Node8 - - -std::map::find - - - - - -Node1->Node8 - - - - - - - - -Node9 - - -std::set::find - - - - - -Node1->Node9 - - - - - - - - -Node10 - - -std::make_shared - - - - - -Node1->Node10 - - - - - - - - -Node11 - - -machine_learning::aystar -_search::AyStarSearch:: -Solution - - - - - -Node1->Node11 - - - - - - - - -Node11->Node8 - - - - - - - - -Node12 - - -std::vector::emplace_back - - - - - -Node11->Node12 - - - - - - - - - - - - - diff --git a/da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search_a48284e156fdd48fd0c41008c7e48f201_cgraph_org.svg b/da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search_a48284e156fdd48fd0c41008c7e48f201_cgraph_org.svg deleted file mode 100644 index 50cc372ea..000000000 --- a/da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search_a48284e156fdd48fd0c41008c7e48f201_cgraph_org.svg +++ /dev/null @@ -1,232 +0,0 @@ - - - - - - -machine_learning::aystar_search::AyStarSearch::a_star_search - - -Node1 - - -machine_learning::aystar -_search::AyStarSearch:: -a_star_search - - - - - -Node2 - - -std::set::begin - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::set::emplace - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::set::empty - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::map::end - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -std::set::end - - - - - -Node1->Node6 - - - - - - - - -Node7 - - -std::set::erase - - - - - -Node1->Node7 - - - - - - - - -Node8 - - -std::map::find - - - - - -Node1->Node8 - - - - - - - - -Node9 - - -std::set::find - - - - - -Node1->Node9 - - - - - - - - -Node10 - - -std::make_shared - - - - - -Node1->Node10 - - - - - - - - -Node11 - - -machine_learning::aystar -_search::AyStarSearch:: -Solution - - - - - -Node1->Node11 - - - - - - - - -Node11->Node8 - - - - - - - - -Node12 - - -std::vector::emplace_back - - - - - -Node11->Node12 - - - - - - - - diff --git a/da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search_abaff2ea6d309e1133fd95bbd1e39946e_cgraph.map b/da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search_abaff2ea6d309e1133fd95bbd1e39946e_cgraph.map deleted file mode 100644 index fe25dbea2..000000000 --- a/da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search_abaff2ea6d309e1133fd95bbd1e39946e_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search_abaff2ea6d309e1133fd95bbd1e39946e_cgraph.md5 b/da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search_abaff2ea6d309e1133fd95bbd1e39946e_cgraph.md5 deleted file mode 100644 index aba8b815b..000000000 --- a/da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search_abaff2ea6d309e1133fd95bbd1e39946e_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -d14d5243e43435e5f283d3393ac918e5 \ No newline at end of file diff --git a/da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search_abaff2ea6d309e1133fd95bbd1e39946e_cgraph.svg b/da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search_abaff2ea6d309e1133fd95bbd1e39946e_cgraph.svg deleted file mode 100644 index 11482b8cd..000000000 --- a/da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search_abaff2ea6d309e1133fd95bbd1e39946e_cgraph.svg +++ /dev/null @@ -1,67 +0,0 @@ - - - - - - - - - - - - -machine_learning::aystar_search::AyStarSearch::AyStarSearch - - -Node1 - - -machine_learning::aystar -_search::AyStarSearch:: -AyStarSearch - - - - - -Node2 - - -std::make_shared - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search_abaff2ea6d309e1133fd95bbd1e39946e_cgraph_org.svg b/da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search_abaff2ea6d309e1133fd95bbd1e39946e_cgraph_org.svg deleted file mode 100644 index d4bc10daf..000000000 --- a/da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search_abaff2ea6d309e1133fd95bbd1e39946e_cgraph_org.svg +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - -machine_learning::aystar_search::AyStarSearch::AyStarSearch - - -Node1 - - -machine_learning::aystar -_search::AyStarSearch:: -AyStarSearch - - - - - -Node2 - - -std::make_shared - - - - - -Node1->Node2 - - - - - - - - diff --git a/da/d0d/longest__common__string_8cpp.html b/da/d0d/longest__common__string_8cpp.html index 5967c64cc..1329e1255 100644 --- a/da/d0d/longest__common__string_8cpp.html +++ b/da/d0d/longest__common__string_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: dynamic_programming/longest_common_string.cpp File Reference +TheAlgorithms/C++: dynamic_programming/longest_common_string.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -123,7 +140,9 @@ Include dependency graph for longest_common_string.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -132,10 +151,10 @@ Classes

    Classes

    struct  TestCase
    - + - + @@ -145,7 +164,7 @@ Functions - + @@ -165,6 +184,8 @@ Functions
    Author
    Nikhil Arora
    Piotr Idzik
    + +

    Definition in file longest_common_string.cpp.

    Function Documentation

    ◆ get_test_cases()

    @@ -173,7 +194,7 @@ Functions

    Functions

    std::size_t longest_common_string_length (const std::string &string_a, const std::string &string_b)
    std::size_t longest_common_string_length (const std::string &string_a, const std::string &string_b)
     computes the length of the longest common string created from input strings
     
    std::vector< TestCaseget_test_cases ()
    std::vector< TestCaseget_test_cases ()
     
    template<typename TestCases >
    static void test_longest_common_string_length (const TestCases &test_cases)
    static void test_longest_common_string_length_is_symmetric (const TestCases &test_cases)
     checks if the function longest_common_string_length returns the same result when its argument are flipped
     
    std::string reverse_str (const std::string &in_str)
    std::string reverse_str (const std::string &in_str)
     reverses a given string
     
    template<typename TestCases >
    - + @@ -181,6 +202,8 @@ Functions
    std::vector< TestCase > get_test_cases std::vector< TestCase > get_test_cases ( )
    Returns
    example data used in the tests of longest_common_string_length
    + +

    Definition at line 69 of file longest_common_string.cpp.

    69 {
    70 return {TestCase("", "", 0),
    71 TestCase("ab", "ab", 2),
    @@ -196,7 +219,7 @@ Functions
    81 TestCase("x1x2x3x", "123", 3),
    82 TestCase("x12x3x", "123", 3)};
    83}
    -
    represents single example inputs and expected output of the function longest_common_string_length
    Definition longest_common_string.cpp:54
    +
    represents single example inputs and expected output of the function longest_common_string_length
    @@ -207,20 +230,20 @@ Functions
    - + - + - +
    std::size_t longest_common_string_length std::size_t longest_common_string_length (const std::string & string_a, const std::string & string_a,
    const std::string & string_b )const std::string & string_b )

    computes the length of the longest common string created from input strings

    -

    for assert for std::cout for std::string for std::move for std::vector

    +

    for assert for std::cout for std::string for std::move for std::vector

    has O(str_a.size()*str_b.size()) time and memory complexity

    Parameters
    @@ -229,19 +252,21 @@ Functions
    Returns
    the length of the longest common string which can be strated from str_a and str_b
    + +

    Definition at line 28 of file longest_common_string.cpp.

    29 {
    -
    30 const auto size_a = string_a.size();
    -
    31 const auto size_b = string_b.size();
    - -
    33 size_a + 1, std::vector<std::size_t>(size_b + 1, 0));
    +
    30 const auto size_a = string_a.size();
    +
    31 const auto size_b = string_b.size();
    +
    32 std::vector<std::vector<std::size_t>> sub_sols(
    +
    33 size_a + 1, std::vector<std::size_t>(size_b + 1, 0));
    34
    -
    35 const auto limit = static_cast<std::size_t>(-1);
    -
    36 for (std::size_t pos_a = size_a - 1; pos_a != limit; --pos_a) {
    -
    37 for (std::size_t pos_b = size_b - 1; pos_b != limit; --pos_b) {
    +
    35 const auto limit = static_cast<std::size_t>(-1);
    +
    36 for (std::size_t pos_a = size_a - 1; pos_a != limit; --pos_a) {
    +
    37 for (std::size_t pos_b = size_b - 1; pos_b != limit; --pos_b) {
    38 if (string_a[pos_a] == string_b[pos_b]) {
    39 sub_sols[pos_a][pos_b] = 1 + sub_sols[pos_a + 1][pos_b + 1];
    40 } else {
    -
    41 sub_sols[pos_a][pos_b] = std::max(sub_sols[pos_a + 1][pos_b],
    +
    41 sub_sols[pos_a][pos_b] = std::max(sub_sols[pos_a + 1][pos_b],
    42 sub_sols[pos_a][pos_b + 1]);
    43 }
    44 }
    @@ -249,16 +274,7 @@ Functions
    46
    47 return sub_sols[0][0];
    48}
    -
    T max(T... args)
    -
    T size(T... args)
    - - -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -278,17 +294,14 @@ Here is the call graph for this function:

    Main function.

    Returns
    0 on exit
    + +

    Definition at line 156 of file longest_common_string.cpp.

    156 {
    157 tests();
    158 return 0;
    159}
    -
    static void tests()
    runs all tests for longest_common_string_length funcion
    Definition longest_common_string.cpp:142
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static void tests()
    runs all tests for longest_common_string_length funcion
    + @@ -298,9 +311,9 @@ Here is the call graph for this function:
    string_afirst input string
    - + - +
    std::string reverse_str std::string reverse_str (const std::string & in_str)const std::string & in_str)
    @@ -314,17 +327,12 @@ Here is the call graph for this function:
    Returns
    the string in which the characters appear in the reversed order as in in_str
    -
    119 {
    -
    120 return {in_str.rbegin(), in_str.rend()};
    -
    121}
    -
    T rbegin(T... args)
    -
    T rend(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    +

    Definition at line 119 of file longest_common_string.cpp.

    +
    119 {
    +
    120 return {in_str.rbegin(), in_str.rend()};
    +
    121}
    +
    @@ -365,19 +373,16 @@ template<typename Tes + +

    Definition at line 91 of file longest_common_string.cpp.

    91 {
    92 for (const auto& cur_tc : test_cases) {
    93 assert(longest_common_string_length(cur_tc.string_a, cur_tc.string_b) ==
    94 cur_tc.common_string_len);
    95 }
    96}
    -
    std::size_t longest_common_string_length(const std::string &string_a, const std::string &string_b)
    computes the length of the longest common string created from input strings
    Definition longest_common_string.cpp:28
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    std::size_t longest_common_string_length(const std::string &string_a, const std::string &string_b)
    computes the length of the longest common string created from input strings
    + @@ -418,6 +423,8 @@ template<typename Tes + +

    Definition at line 130 of file longest_common_string.cpp.

    131 {
    132 for (const auto& cur_tc : test_cases) {
    133 assert(longest_common_string_length(reverse_str(cur_tc.string_a),
    @@ -425,13 +432,8 @@ template<typename Tes
    135 cur_tc.common_string_len);
    136 }
    137}
    -
    std::string reverse_str(const std::string &in_str)
    reverses a given string
    Definition longest_common_string.cpp:119
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    std::string reverse_str(const std::string &in_str)
    reverses a given string
    + @@ -472,18 +474,15 @@ template<typename Tes + +

    Definition at line 105 of file longest_common_string.cpp.

    106 {
    107 for (const auto& cur_tc : test_cases) {
    108 assert(longest_common_string_length(cur_tc.string_b, cur_tc.string_a) ==
    109 cur_tc.common_string_len);
    110 }
    111}
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -510,6 +509,8 @@ Here is the call graph for this function:

    runs all tests for longest_common_string_length funcion

    + +

    Definition at line 142 of file longest_common_string.cpp.

    142 {
    143 const auto test_cases = get_test_cases();
    144 assert(test_cases.size() > 0);
    @@ -517,19 +518,13 @@ Here is the call graph for this function:
    148
    -
    149 std::cout << "All tests have successfully passed!\n";
    +
    149 std::cout << "All tests have successfully passed!\n";
    150}
    - -
    static void test_longest_common_string_length_for_reversed_inputs(const TestCases &test_cases)
    checks if the function longest_common_string_length returns the same result when its inputs are rever...
    Definition longest_common_string.cpp:130
    -
    std::vector< TestCase > get_test_cases()
    Definition longest_common_string.cpp:69
    -
    static void test_longest_common_string_length(const TestCases &test_cases)
    checks the function longest_common_string_length agains example data
    Definition longest_common_string.cpp:91
    -
    static void test_longest_common_string_length_is_symmetric(const TestCases &test_cases)
    checks if the function longest_common_string_length returns the same result when its argument are fli...
    Definition longest_common_string.cpp:105
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static void test_longest_common_string_length_for_reversed_inputs(const TestCases &test_cases)
    checks if the function longest_common_string_length returns the same result when its inputs are rever...
    +
    std::vector< TestCase > get_test_cases()
    +
    static void test_longest_common_string_length(const TestCases &test_cases)
    checks the function longest_common_string_length agains example data
    +
    static void test_longest_common_string_length_is_symmetric(const TestCases &test_cases)
    checks if the function longest_common_string_length returns the same result when its argument are fli...
    + diff --git a/da/d0d/longest__common__string_8cpp_a23ab67b0d9600697695fc8679462d8fe_cgraph.map b/da/d0d/longest__common__string_8cpp_a23ab67b0d9600697695fc8679462d8fe_cgraph.map deleted file mode 100644 index 88437e457..000000000 --- a/da/d0d/longest__common__string_8cpp_a23ab67b0d9600697695fc8679462d8fe_cgraph.map +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/da/d0d/longest__common__string_8cpp_a23ab67b0d9600697695fc8679462d8fe_cgraph.md5 b/da/d0d/longest__common__string_8cpp_a23ab67b0d9600697695fc8679462d8fe_cgraph.md5 deleted file mode 100644 index a2e1d74b6..000000000 --- a/da/d0d/longest__common__string_8cpp_a23ab67b0d9600697695fc8679462d8fe_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -316158dbc79b6fd882f0a06cff88034a \ No newline at end of file diff --git a/da/d0d/longest__common__string_8cpp_a23ab67b0d9600697695fc8679462d8fe_cgraph.svg b/da/d0d/longest__common__string_8cpp_a23ab67b0d9600697695fc8679462d8fe_cgraph.svg deleted file mode 100644 index 4b271d117..000000000 --- a/da/d0d/longest__common__string_8cpp_a23ab67b0d9600697695fc8679462d8fe_cgraph.svg +++ /dev/null @@ -1,158 +0,0 @@ - - - - - - - - - - - - -test_longest_common_string_length_for_reversed_inputs - - -Node1 - - -test_longest_common -_string_length_for_reversed -_inputs - - - - - -Node2 - - -longest_common_string -_length - - - - - -Node1->Node2 - - - - - - - - -Node5 - - -reverse_str - - - - - -Node1->Node5 - - - - - - - - -Node3 - - -std::max - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::string::size - - - - - -Node2->Node4 - - - - - - - - -Node6 - - -std::string::rbegin - - - - - -Node5->Node6 - - - - - - - - -Node7 - - -std::string::rend - - - - - -Node5->Node7 - - - - - - - - - - - - - diff --git a/da/d0d/longest__common__string_8cpp_a23ab67b0d9600697695fc8679462d8fe_cgraph_org.svg b/da/d0d/longest__common__string_8cpp_a23ab67b0d9600697695fc8679462d8fe_cgraph_org.svg deleted file mode 100644 index 5d493cee0..000000000 --- a/da/d0d/longest__common__string_8cpp_a23ab67b0d9600697695fc8679462d8fe_cgraph_org.svg +++ /dev/null @@ -1,132 +0,0 @@ - - - - - - -test_longest_common_string_length_for_reversed_inputs - - -Node1 - - -test_longest_common -_string_length_for_reversed -_inputs - - - - - -Node2 - - -longest_common_string -_length - - - - - -Node1->Node2 - - - - - - - - -Node5 - - -reverse_str - - - - - -Node1->Node5 - - - - - - - - -Node3 - - -std::max - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::string::size - - - - - -Node2->Node4 - - - - - - - - -Node6 - - -std::string::rbegin - - - - - -Node5->Node6 - - - - - - - - -Node7 - - -std::string::rend - - - - - -Node5->Node7 - - - - - - - - diff --git a/da/d0d/longest__common__string_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.map b/da/d0d/longest__common__string_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.map deleted file mode 100644 index e239e213d..000000000 --- a/da/d0d/longest__common__string_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.map +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/da/d0d/longest__common__string_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 b/da/d0d/longest__common__string_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 deleted file mode 100644 index 182c16f46..000000000 --- a/da/d0d/longest__common__string_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -ad88c3fa0cc0641fbc18f2e1421bf422 \ No newline at end of file diff --git a/da/d0d/longest__common__string_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.svg b/da/d0d/longest__common__string_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.svg deleted file mode 100644 index a00cf4175..000000000 --- a/da/d0d/longest__common__string_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.svg +++ /dev/null @@ -1,307 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -tests - - -Node1 - - -tests - - - - - -Node2 - - -get_test_cases - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -test_longest_common -_string_length - - - - - -Node1->Node3 - - - - - - - - -Node7 - - -test_longest_common -_string_length_for_reversed -_inputs - - - - - -Node1->Node7 - - - - - - - - -Node11 - - -test_longest_common -_string_length_is_symmetric - - - - - -Node1->Node11 - - - - - - - - -Node4 - - -longest_common_string -_length - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -std::max - - - - - -Node4->Node5 - - - - - - - - -Node6 - - -std::string::size - - - - - -Node4->Node6 - - - - - - - - -Node7->Node4 - - - - - - - - -Node8 - - -reverse_str - - - - - -Node7->Node8 - - - - - - - - -Node9 - - -std::string::rbegin - - - - - -Node8->Node9 - - - - - - - - -Node10 - - -std::string::rend - - - - - -Node8->Node10 - - - - - - - - -Node11->Node4 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/da/d0d/longest__common__string_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph_org.svg b/da/d0d/longest__common__string_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph_org.svg deleted file mode 100644 index 8630b401e..000000000 --- a/da/d0d/longest__common__string_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph_org.svg +++ /dev/null @@ -1,224 +0,0 @@ - - - - - - -tests - - -Node1 - - -tests - - - - - -Node2 - - -get_test_cases - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -test_longest_common -_string_length - - - - - -Node1->Node3 - - - - - - - - -Node7 - - -test_longest_common -_string_length_for_reversed -_inputs - - - - - -Node1->Node7 - - - - - - - - -Node11 - - -test_longest_common -_string_length_is_symmetric - - - - - -Node1->Node11 - - - - - - - - -Node4 - - -longest_common_string -_length - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -std::max - - - - - -Node4->Node5 - - - - - - - - -Node6 - - -std::string::size - - - - - -Node4->Node6 - - - - - - - - -Node7->Node4 - - - - - - - - -Node8 - - -reverse_str - - - - - -Node7->Node8 - - - - - - - - -Node9 - - -std::string::rbegin - - - - - -Node8->Node9 - - - - - - - - -Node10 - - -std::string::rend - - - - - -Node8->Node10 - - - - - - - - -Node11->Node4 - - - - - - - - diff --git a/da/d0d/longest__common__string_8cpp_a9b229daad982a186a4d8d90aa8f38561_cgraph.map b/da/d0d/longest__common__string_8cpp_a9b229daad982a186a4d8d90aa8f38561_cgraph.map deleted file mode 100644 index d07415c48..000000000 --- a/da/d0d/longest__common__string_8cpp_a9b229daad982a186a4d8d90aa8f38561_cgraph.map +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/da/d0d/longest__common__string_8cpp_a9b229daad982a186a4d8d90aa8f38561_cgraph.md5 b/da/d0d/longest__common__string_8cpp_a9b229daad982a186a4d8d90aa8f38561_cgraph.md5 deleted file mode 100644 index 179d49a6d..000000000 --- a/da/d0d/longest__common__string_8cpp_a9b229daad982a186a4d8d90aa8f38561_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -7f4356d3190259fe9e0fd366dfe76683 \ No newline at end of file diff --git a/da/d0d/longest__common__string_8cpp_a9b229daad982a186a4d8d90aa8f38561_cgraph.svg b/da/d0d/longest__common__string_8cpp_a9b229daad982a186a4d8d90aa8f38561_cgraph.svg deleted file mode 100644 index d3e80236b..000000000 --- a/da/d0d/longest__common__string_8cpp_a9b229daad982a186a4d8d90aa8f38561_cgraph.svg +++ /dev/null @@ -1,103 +0,0 @@ - - - - - - - - - - - - -test_longest_common_string_length - - -Node1 - - -test_longest_common -_string_length - - - - - -Node2 - - -longest_common_string -_length - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::max - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::string::size - - - - - -Node2->Node4 - - - - - - - - - - - - - diff --git a/da/d0d/longest__common__string_8cpp_a9b229daad982a186a4d8d90aa8f38561_cgraph_org.svg b/da/d0d/longest__common__string_8cpp_a9b229daad982a186a4d8d90aa8f38561_cgraph_org.svg deleted file mode 100644 index d585a5606..000000000 --- a/da/d0d/longest__common__string_8cpp_a9b229daad982a186a4d8d90aa8f38561_cgraph_org.svg +++ /dev/null @@ -1,77 +0,0 @@ - - - - - - -test_longest_common_string_length - - -Node1 - - -test_longest_common -_string_length - - - - - -Node2 - - -longest_common_string -_length - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::max - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::string::size - - - - - -Node2->Node4 - - - - - - - - diff --git a/da/d0d/longest__common__string_8cpp_aa38b6b17bc5d46ed88acdd8414e18fa5_cgraph.map b/da/d0d/longest__common__string_8cpp_aa38b6b17bc5d46ed88acdd8414e18fa5_cgraph.map deleted file mode 100644 index eb5d4579f..000000000 --- a/da/d0d/longest__common__string_8cpp_aa38b6b17bc5d46ed88acdd8414e18fa5_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/da/d0d/longest__common__string_8cpp_aa38b6b17bc5d46ed88acdd8414e18fa5_cgraph.md5 b/da/d0d/longest__common__string_8cpp_aa38b6b17bc5d46ed88acdd8414e18fa5_cgraph.md5 deleted file mode 100644 index 434dffc38..000000000 --- a/da/d0d/longest__common__string_8cpp_aa38b6b17bc5d46ed88acdd8414e18fa5_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -3b0ce34bb9fe0c659936838ea1287939 \ No newline at end of file diff --git a/da/d0d/longest__common__string_8cpp_aa38b6b17bc5d46ed88acdd8414e18fa5_cgraph.svg b/da/d0d/longest__common__string_8cpp_aa38b6b17bc5d46ed88acdd8414e18fa5_cgraph.svg deleted file mode 100644 index 3e05a3f4c..000000000 --- a/da/d0d/longest__common__string_8cpp_aa38b6b17bc5d46ed88acdd8414e18fa5_cgraph.svg +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - - - - - -longest_common_string_length - - -Node1 - - -longest_common_string -_length - - - - - -Node2 - - -std::max - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::string::size - - - - - -Node1->Node3 - - - - - - - - - - - - - diff --git a/da/d0d/longest__common__string_8cpp_aa38b6b17bc5d46ed88acdd8414e18fa5_cgraph_org.svg b/da/d0d/longest__common__string_8cpp_aa38b6b17bc5d46ed88acdd8414e18fa5_cgraph_org.svg deleted file mode 100644 index 4f42c61d3..000000000 --- a/da/d0d/longest__common__string_8cpp_aa38b6b17bc5d46ed88acdd8414e18fa5_cgraph_org.svg +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - -longest_common_string_length - - -Node1 - - -longest_common_string -_length - - - - - -Node2 - - -std::max - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::string::size - - - - - -Node1->Node3 - - - - - - - - diff --git a/da/d0d/longest__common__string_8cpp_acb03dbbcee6d607db471021168be8541_cgraph.map b/da/d0d/longest__common__string_8cpp_acb03dbbcee6d607db471021168be8541_cgraph.map deleted file mode 100644 index bbc9a1311..000000000 --- a/da/d0d/longest__common__string_8cpp_acb03dbbcee6d607db471021168be8541_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/da/d0d/longest__common__string_8cpp_acb03dbbcee6d607db471021168be8541_cgraph.md5 b/da/d0d/longest__common__string_8cpp_acb03dbbcee6d607db471021168be8541_cgraph.md5 deleted file mode 100644 index cf9e0ce50..000000000 --- a/da/d0d/longest__common__string_8cpp_acb03dbbcee6d607db471021168be8541_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -62bba1e3ba4c0f13c529cdd88132faa3 \ No newline at end of file diff --git a/da/d0d/longest__common__string_8cpp_acb03dbbcee6d607db471021168be8541_cgraph.svg b/da/d0d/longest__common__string_8cpp_acb03dbbcee6d607db471021168be8541_cgraph.svg deleted file mode 100644 index e653c3558..000000000 --- a/da/d0d/longest__common__string_8cpp_acb03dbbcee6d607db471021168be8541_cgraph.svg +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - -reverse_str - - -Node1 - - -reverse_str - - - - - -Node2 - - -std::string::rbegin - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::string::rend - - - - - -Node1->Node3 - - - - - - - - - - - - - diff --git a/da/d0d/longest__common__string_8cpp_acb03dbbcee6d607db471021168be8541_cgraph_org.svg b/da/d0d/longest__common__string_8cpp_acb03dbbcee6d607db471021168be8541_cgraph_org.svg deleted file mode 100644 index 449863109..000000000 --- a/da/d0d/longest__common__string_8cpp_acb03dbbcee6d607db471021168be8541_cgraph_org.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - -reverse_str - - -Node1 - - -reverse_str - - - - - -Node2 - - -std::string::rbegin - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::string::rend - - - - - -Node1->Node3 - - - - - - - - diff --git a/da/d0d/longest__common__string_8cpp_ad1e613c1b85cc04ed931b6c745fec155_cgraph.map b/da/d0d/longest__common__string_8cpp_ad1e613c1b85cc04ed931b6c745fec155_cgraph.map deleted file mode 100644 index cfb59f936..000000000 --- a/da/d0d/longest__common__string_8cpp_ad1e613c1b85cc04ed931b6c745fec155_cgraph.map +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/da/d0d/longest__common__string_8cpp_ad1e613c1b85cc04ed931b6c745fec155_cgraph.md5 b/da/d0d/longest__common__string_8cpp_ad1e613c1b85cc04ed931b6c745fec155_cgraph.md5 deleted file mode 100644 index 1ad744a14..000000000 --- a/da/d0d/longest__common__string_8cpp_ad1e613c1b85cc04ed931b6c745fec155_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -b7f32fb6e59c474b34416734a72f7567 \ No newline at end of file diff --git a/da/d0d/longest__common__string_8cpp_ad1e613c1b85cc04ed931b6c745fec155_cgraph.svg b/da/d0d/longest__common__string_8cpp_ad1e613c1b85cc04ed931b6c745fec155_cgraph.svg deleted file mode 100644 index dffb67ee0..000000000 --- a/da/d0d/longest__common__string_8cpp_ad1e613c1b85cc04ed931b6c745fec155_cgraph.svg +++ /dev/null @@ -1,103 +0,0 @@ - - - - - - - - - - - - -test_longest_common_string_length_is_symmetric - - -Node1 - - -test_longest_common -_string_length_is_symmetric - - - - - -Node2 - - -longest_common_string -_length - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::max - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::string::size - - - - - -Node2->Node4 - - - - - - - - - - - - - diff --git a/da/d0d/longest__common__string_8cpp_ad1e613c1b85cc04ed931b6c745fec155_cgraph_org.svg b/da/d0d/longest__common__string_8cpp_ad1e613c1b85cc04ed931b6c745fec155_cgraph_org.svg deleted file mode 100644 index 854b7f66f..000000000 --- a/da/d0d/longest__common__string_8cpp_ad1e613c1b85cc04ed931b6c745fec155_cgraph_org.svg +++ /dev/null @@ -1,77 +0,0 @@ - - - - - - -test_longest_common_string_length_is_symmetric - - -Node1 - - -test_longest_common -_string_length_is_symmetric - - - - - -Node2 - - -longest_common_string -_length - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::max - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::string::size - - - - - -Node2->Node4 - - - - - - - - diff --git a/da/d0d/longest__common__string_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/da/d0d/longest__common__string_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 0e8eadc1a..000000000 --- a/da/d0d/longest__common__string_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,27 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/da/d0d/longest__common__string_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/da/d0d/longest__common__string_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index ed02e69d0..000000000 --- a/da/d0d/longest__common__string_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -75251397415c32038149e763c090b8e0 \ No newline at end of file diff --git a/da/d0d/longest__common__string_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/da/d0d/longest__common__string_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 2a9205b95..000000000 --- a/da/d0d/longest__common__string_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,325 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -tests - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -get_test_cases - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -test_longest_common -_string_length - - - - - -Node2->Node4 - - - - - - - - -Node8 - - -test_longest_common -_string_length_for_reversed -_inputs - - - - - -Node2->Node8 - - - - - - - - -Node12 - - -test_longest_common -_string_length_is_symmetric - - - - - -Node2->Node12 - - - - - - - - -Node5 - - -longest_common_string -_length - - - - - -Node4->Node5 - - - - - - - - -Node6 - - -std::max - - - - - -Node5->Node6 - - - - - - - - -Node7 - - -std::string::size - - - - - -Node5->Node7 - - - - - - - - -Node8->Node5 - - - - - - - - -Node9 - - -reverse_str - - - - - -Node8->Node9 - - - - - - - - -Node10 - - -std::string::rbegin - - - - - -Node9->Node10 - - - - - - - - -Node11 - - -std::string::rend - - - - - -Node9->Node11 - - - - - - - - -Node12->Node5 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/da/d0d/longest__common__string_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/da/d0d/longest__common__string_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index e11268c8f..000000000 --- a/da/d0d/longest__common__string_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,242 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -tests - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -get_test_cases - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -test_longest_common -_string_length - - - - - -Node2->Node4 - - - - - - - - -Node8 - - -test_longest_common -_string_length_for_reversed -_inputs - - - - - -Node2->Node8 - - - - - - - - -Node12 - - -test_longest_common -_string_length_is_symmetric - - - - - -Node2->Node12 - - - - - - - - -Node5 - - -longest_common_string -_length - - - - - -Node4->Node5 - - - - - - - - -Node6 - - -std::max - - - - - -Node5->Node6 - - - - - - - - -Node7 - - -std::string::size - - - - - -Node5->Node7 - - - - - - - - -Node8->Node5 - - - - - - - - -Node9 - - -reverse_str - - - - - -Node8->Node9 - - - - - - - - -Node10 - - -std::string::rbegin - - - - - -Node9->Node10 - - - - - - - - -Node11 - - -std::string::rend - - - - - -Node9->Node11 - - - - - - - - -Node12->Node5 - - - - - - - - diff --git a/da/d0d/longest__common__string_8cpp_source.html b/da/d0d/longest__common__string_8cpp_source.html new file mode 100644 index 000000000..60270bbd7 --- /dev/null +++ b/da/d0d/longest__common__string_8cpp_source.html @@ -0,0 +1,267 @@ + + + + + + + + +TheAlgorithms/C++: dynamic_programming/longest_common_string.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    longest_common_string.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    13#include <cassert>
    +
    14#include <iostream>
    +
    15#include <string>
    +
    16#include <utility>
    +
    17#include <vector>
    +
    18
    +
    +
    28std::size_t longest_common_string_length(const std::string& string_a,
    +
    29 const std::string& string_b) {
    +
    30 const auto size_a = string_a.size();
    +
    31 const auto size_b = string_b.size();
    +
    32 std::vector<std::vector<std::size_t>> sub_sols(
    +
    33 size_a + 1, std::vector<std::size_t>(size_b + 1, 0));
    +
    34
    +
    35 const auto limit = static_cast<std::size_t>(-1);
    +
    36 for (std::size_t pos_a = size_a - 1; pos_a != limit; --pos_a) {
    +
    37 for (std::size_t pos_b = size_b - 1; pos_b != limit; --pos_b) {
    +
    38 if (string_a[pos_a] == string_b[pos_b]) {
    +
    39 sub_sols[pos_a][pos_b] = 1 + sub_sols[pos_a + 1][pos_b + 1];
    +
    40 } else {
    +
    41 sub_sols[pos_a][pos_b] = std::max(sub_sols[pos_a + 1][pos_b],
    +
    42 sub_sols[pos_a][pos_b + 1]);
    +
    43 }
    +
    44 }
    +
    45 }
    +
    46
    +
    47 return sub_sols[0][0];
    +
    48}
    +
    +
    49
    +
    +
    54struct TestCase {
    +
    55 const std::string string_a;
    +
    56 const std::string string_b;
    +
    57 const std::size_t common_string_len;
    +
    58
    +
    59 TestCase(std::string string_a, std::string string_b,
    +
    60 const std::size_t in_common_string_len)
    +
    61 : string_a(std::move(string_a)),
    +
    62 string_b(std::move(string_b)),
    +
    63 common_string_len(in_common_string_len) {}
    +
    64};
    +
    +
    65
    +
    +
    69std::vector<TestCase> get_test_cases() {
    +
    70 return {TestCase("", "", 0),
    +
    71 TestCase("ab", "ab", 2),
    +
    72 TestCase("ab", "ba", 1),
    +
    73 TestCase("", "xyz", 0),
    +
    74 TestCase("abcde", "ace", 3),
    +
    75 TestCase("BADANA", "ANADA", 3),
    +
    76 TestCase("BADANA", "CANADAS", 3),
    +
    77 TestCase("a1a234a5aaaa6", "A1AAAA234AAA56AAAAA", 6),
    +
    78 TestCase("123x", "123", 3),
    +
    79 TestCase("12x3x", "123", 3),
    +
    80 TestCase("1x2x3x", "123", 3),
    +
    81 TestCase("x1x2x3x", "123", 3),
    +
    82 TestCase("x12x3x", "123", 3)};
    +
    83}
    +
    +
    84
    +
    90template <typename TestCases>
    +
    +
    91static void test_longest_common_string_length(const TestCases& test_cases) {
    +
    92 for (const auto& cur_tc : test_cases) {
    +
    93 assert(longest_common_string_length(cur_tc.string_a, cur_tc.string_b) ==
    +
    94 cur_tc.common_string_len);
    +
    95 }
    +
    96}
    +
    +
    97
    +
    104template <typename TestCases>
    +
    + +
    106 const TestCases& test_cases) {
    +
    107 for (const auto& cur_tc : test_cases) {
    +
    108 assert(longest_common_string_length(cur_tc.string_b, cur_tc.string_a) ==
    +
    109 cur_tc.common_string_len);
    +
    110 }
    +
    111}
    +
    +
    112
    +
    +
    119std::string reverse_str(const std::string& in_str) {
    +
    120 return {in_str.rbegin(), in_str.rend()};
    +
    121}
    +
    +
    122
    +
    129template <typename TestCases>
    +
    + +
    131 const TestCases& test_cases) {
    +
    132 for (const auto& cur_tc : test_cases) {
    +
    133 assert(longest_common_string_length(reverse_str(cur_tc.string_a),
    +
    134 reverse_str(cur_tc.string_b)) ==
    +
    135 cur_tc.common_string_len);
    +
    136 }
    +
    137}
    +
    +
    138
    +
    +
    142static void tests() {
    +
    143 const auto test_cases = get_test_cases();
    +
    144 assert(test_cases.size() > 0);
    + + + +
    148
    +
    149 std::cout << "All tests have successfully passed!\n";
    +
    150}
    +
    +
    151
    +
    +
    156int main() {
    +
    157 tests();
    +
    158 return 0;
    +
    159}
    +
    +
    class encapsulating the necessary test cases
    +
    static void test_longest_common_string_length_for_reversed_inputs(const TestCases &test_cases)
    checks if the function longest_common_string_length returns the same result when its inputs are rever...
    +
    static void tests()
    runs all tests for longest_common_string_length funcion
    +
    std::vector< TestCase > get_test_cases()
    +
    static void test_longest_common_string_length(const TestCases &test_cases)
    checks the function longest_common_string_length agains example data
    +
    std::size_t longest_common_string_length(const std::string &string_a, const std::string &string_b)
    computes the length of the longest common string created from input strings
    +
    std::string reverse_str(const std::string &in_str)
    reverses a given string
    +
    static void test_longest_common_string_length_is_symmetric(const TestCases &test_cases)
    checks if the function longest_common_string_length returns the same result when its argument are fli...
    +
    int main()
    Main function.
    +
    represents single example inputs and expected output of the function longest_common_string_length
    +
    +
    + + + + diff --git a/da/d15/classgraph_1_1topological__sort_1_1_graph__coll__graph.map b/da/d15/classgraph_1_1topological__sort_1_1_graph__coll__graph.map index fb8468ced..693945efd 100644 --- a/da/d15/classgraph_1_1topological__sort_1_1_graph__coll__graph.map +++ b/da/d15/classgraph_1_1topological__sort_1_1_graph__coll__graph.map @@ -1,5 +1,5 @@ - + diff --git a/da/d15/classgraph_1_1topological__sort_1_1_graph__coll__graph.md5 b/da/d15/classgraph_1_1topological__sort_1_1_graph__coll__graph.md5 index f75483b46..59ce320bf 100644 --- a/da/d15/classgraph_1_1topological__sort_1_1_graph__coll__graph.md5 +++ b/da/d15/classgraph_1_1topological__sort_1_1_graph__coll__graph.md5 @@ -1 +1 @@ -3b2e9757bc23370a01bb8ca8c6dedc02 \ No newline at end of file +466577473fd3a5b5fe23a1908abe3a45 \ No newline at end of file diff --git a/da/d15/classgraph_1_1topological__sort_1_1_graph__coll__graph.svg b/da/d15/classgraph_1_1topological__sort_1_1_graph__coll__graph.svg index 21658eeeb..f8d49376d 100644 --- a/da/d15/classgraph_1_1topological__sort_1_1_graph__coll__graph.svg +++ b/da/d15/classgraph_1_1topological__sort_1_1_graph__coll__graph.svg @@ -32,7 +32,7 @@ Node2 - + std::vector< std::vector < int > > diff --git a/da/d15/classgraph_1_1topological__sort_1_1_graph__coll__graph_org.svg b/da/d15/classgraph_1_1topological__sort_1_1_graph__coll__graph_org.svg index 37678e7c7..4aa982765 100644 --- a/da/d15/classgraph_1_1topological__sort_1_1_graph__coll__graph_org.svg +++ b/da/d15/classgraph_1_1topological__sort_1_1_graph__coll__graph_org.svg @@ -21,7 +21,7 @@ Node2 - + std::vector< std::vector < int > > diff --git a/da/d16/structoperations__on__datastructures_1_1circular__linked__list_1_1_node.html b/da/d16/structoperations__on__datastructures_1_1circular__linked__list_1_1_node.html index 10d09f233..b67930e0d 100644 --- a/da/d16/structoperations__on__datastructures_1_1circular__linked__list_1_1_node.html +++ b/da/d16/structoperations__on__datastructures_1_1circular__linked__list_1_1_node.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: operations_on_datastructures::circular_linked_list::Node Struct Reference +TheAlgorithms/C++: operations_on_datastructures::circular_linked_list::Node Struct Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -131,17 +148,17 @@ Public Member Functions
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    - - + + - - + +

    Public Attributes

    -int64_t data
     The value of the Node.
    int64_t data
     The value of the Node.
     
    -Nodenext
     The Node's successor.
    Nodenext
     The Node's successor.
     

    Detailed Description

    A Node struct that represents a single Node in a Binary Tree.

    + +

    Definition at line 32 of file circular_linked_list.cpp.

    Constructor & Destructor Documentation

    ◆ Node() [1/2]

    @@ -175,12 +192,14 @@ int64_t data

    < Set value of Node data

    < Initialize successor

    + +

    Definition at line 39 of file circular_linked_list.cpp.

    39 {
    -
    40 data = _data; ///< Set value of Node data
    -
    41 next = nullptr; ///< Initialize successor
    +
    40 data = _data;
    +
    41 next = nullptr;
    42 }
    -
    int64_t data
    The value of the Node.
    Definition circular_linked_list.cpp:33
    -
    Node * next
    The Node's successor.
    Definition circular_linked_list.cpp:34
    + +
    @@ -221,15 +240,54 @@ int64_t data

    < Set value of Node data

    < Initialize successor

    + +

    Definition at line 48 of file circular_linked_list.cpp.

    48 {
    -
    49 data = _data; ///< Set value of Node data
    -
    50 next = _next; ///< Initialize successor
    +
    49 data = _data;
    +
    50 next = _next;
    51 }
    + + +

    Member Data Documentation

    + +

    ◆ data

    + +
    +
    + + + + +
    int64_t operations_on_datastructures::circular_linked_list::Node::data
    +
    + +

    The value of the Node.

    + +

    Definition at line 33 of file circular_linked_list.cpp.

    + +
    +
    + +

    ◆ next

    + +
    +
    + + + + +
    Node* operations_on_datastructures::circular_linked_list::Node::next
    +
    + +

    The Node's successor.

    + +

    Definition at line 34 of file circular_linked_list.cpp.

    +

    The documentation for this struct was generated from the following file: diff --git a/da/d18/quadratic__equations__complex__numbers_8cpp.html b/da/d18/quadratic__equations__complex__numbers_8cpp.html index 58f45d219..31c105210 100644 --- a/da/d18/quadratic__equations__complex__numbers_8cpp.html +++ b/da/d18/quadratic__equations__complex__numbers_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: math/quadratic_equations_complex_numbers.cpp File Reference +TheAlgorithms/C++: math/quadratic_equations_complex_numbers.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -125,7 +142,9 @@ Include dependency graph for quadratic_equations_complex_numbers.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -134,10 +153,10 @@ Namespaces

    Namespaces

    namespace  math
    - + - + @@ -152,6 +171,8 @@ Functions
    Author
    Renjian-buchai

    @description Calculates any quadratic equation in form ax^2 + bx + c.

    Quadratic equation: x = (-b +/- sqrt(b^2 - 4ac)) / 2a

    + +

    Definition in file quadratic_equations_complex_numbers.cpp.

    Function Documentation

    ◆ assertArray()

    @@ -162,12 +183,12 @@ Functions - + - + @@ -186,30 +207,25 @@ Functions

    Functions

    std::array< std::complex< long double >, 2 > math::quadraticEquation (long double a, long double b, long double c)
    std::array< std::complex< long double >, 2 > math::quadraticEquation (long double a, long double b, long double c)
     Quadratic equation calculator.
     
    void assertArray (std::array< std::complex< long double >, 2 > input, std::array< std::complex< long double >, 2 > expected, size_t precision=10)
    void assertArray (std::array< std::complex< long double >, 2 > input, std::array< std::complex< long double >, 2 > expected, size_t precision=10)
     Asserts an array of complex numbers.
     
    static void test ()
    void assertArray (std::array< std::complex< long double >, 2 > input, std::array< std::complex< long double >, 2 > input,
    std::array< std::complex< long double >, 2 > expected, std::array< std::complex< long double >, 2 > expected,
    -
    Examples
    /Users/runner/work/C-Plus-Plus/C-Plus-Plus/math/quadratic_equations_complex_numbers.cpp.
    +
    Examples
    /Users/runner/work/C-Plus-Plus/C-Plus-Plus/math/quadratic_equations_complex_numbers.cpp.
    + +

    Definition at line 100 of file quadratic_equations_complex_numbers.cpp.

    102 {
    -
    103 long double exponent = std::pow(10, precision);
    -
    104 input[0].real(std::round(input[0].real() * exponent));
    -
    105 input[1].real(std::round(input[1].real() * exponent));
    -
    106 input[0].imag(std::round(input[0].imag() * exponent));
    -
    107 input[1].imag(std::round(input[1].imag() * exponent));
    +
    103 long double exponent = std::pow(10, precision);
    +
    104 input[0].real(std::round(input[0].real() * exponent));
    +
    105 input[1].real(std::round(input[1].real() * exponent));
    +
    106 input[0].imag(std::round(input[0].imag() * exponent));
    +
    107 input[1].imag(std::round(input[1].imag() * exponent));
    108
    -
    109 expected[0].real(std::round(expected[0].real() * exponent));
    -
    110 expected[1].real(std::round(expected[1].real() * exponent));
    -
    111 expected[0].imag(std::round(expected[0].imag() * exponent));
    -
    112 expected[1].imag(std::round(expected[1].imag() * exponent));
    +
    109 expected[0].real(std::round(expected[0].real() * exponent));
    +
    110 expected[1].real(std::round(expected[1].real() * exponent));
    +
    111 expected[0].imag(std::round(expected[0].imag() * exponent));
    +
    112 expected[1].imag(std::round(expected[1].imag() * exponent));
    113
    114 assert(input == expected);
    115}
    -
    T pow(T... args)
    -
    T round(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    @@ -229,17 +245,14 @@ Here is the call graph for this function:

    Main function.

    Returns
    0 on exit
    + +

    Definition at line 186 of file quadratic_equations_complex_numbers.cpp.

    186 {
    187 test(); // Run self-test implementation.
    188 return 0;
    189}
    -
    static void test()
    Self-test implementations to test quadraticEquation function.
    Definition quadratic_equations_complex_numbers.cpp:122
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static void test()
    Self-test implementations to test quadraticEquation function.
    + @@ -267,54 +280,56 @@ Here is the call graph for this function:

    Self-test implementations to test quadraticEquation function.

    Note
    There are 4 different types of solutions: Real and equal, real, complex, complex and equal.
    + +

    Definition at line 122 of file quadratic_equations_complex_numbers.cpp.

    122 {
    123 // Values are equal and real.
    -
    124 std::cout << "Input: \n"
    +
    124 std::cout << "Input: \n"
    125 "a=1 \n"
    126 "b=-2 \n"
    127 "c=1 \n"
    128 "Expected output: \n"
    129 "(1, 0), (1, 0)\n\n";
    - - +
    130 std::array<std::complex<long double>, 2> equalCase{
    +
    131 std::complex<long double>{1, 0}, std::complex<long double>{1, 0}};
    132 assert(math::quadraticEquation(1, -2, 1) == equalCase);
    133
    134 // Values are equal and complex.
    -
    135 std::cout << "Input: \n"
    +
    135 std::cout << "Input: \n"
    136 "a=1 \n"
    137 "b=4 \n"
    138 "c=5 \n"
    139 "Expected output: \n"
    140 "(-2, -1), (-2, 1)\n\n";
    - - +
    141 std::array<std::complex<long double>, 2> complexCase{
    +
    142 std::complex<long double>{-2, -1}, std::complex<long double>{-2, 1}};
    143 assert(math::quadraticEquation(1, 4, 5) == complexCase);
    144
    145 // Values are real.
    -
    146 std::cout << "Input: \n"
    +
    146 std::cout << "Input: \n"
    147 "a=1 \n"
    148 "b=5 \n"
    149 "c=1 \n"
    150 "Expected output: \n"
    151 "(-4.7912878475, 0), (-0.2087121525, 0)\n\n";
    - -
    153 std::complex<long double>{-4.7912878475, 0},
    -
    154 std::complex<long double>{-0.2087121525, 0}};
    +
    152 std::array<std::complex<long double>, 2> floatCase{
    +
    153 std::complex<long double>{-4.7912878475, 0},
    +
    154 std::complex<long double>{-0.2087121525, 0}};
    155 assertArray(math::quadraticEquation(1, 5, 1), floatCase);
    156
    157 // Values are complex.
    -
    158 std::cout << "Input: \n"
    +
    158 std::cout << "Input: \n"
    159 "a=1 \n"
    160 "b=1 \n"
    161 "c=1 \n"
    162 "Expected output: \n"
    163 "(-0.5, -0.8660254038), (-0.5, 0.8660254038)\n\n";
    - -
    165 std::complex<long double>{-0.5, -0.8660254038},
    -
    166 std::complex<long double>{-0.5, 0.8660254038}};
    +
    164 std::array<std::complex<long double>, 2> ifloatCase{
    +
    165 std::complex<long double>{-0.5, -0.8660254038},
    +
    166 std::complex<long double>{-0.5, 0.8660254038}};
    167 assertArray(math::quadraticEquation(1, 1, 1), ifloatCase);
    168
    -
    169 std::cout << "Exception test: \n"
    +
    169 std::cout << "Exception test: \n"
    170 "Input: \n"
    171 "a=0 \n"
    172 "b=0 \n"
    @@ -322,22 +337,13 @@ Here is the call graph for this function:
    174 "Expected output: Exception thrown \n";
    175 try {
    -
    177 } catch (std::invalid_argument& e) {
    -
    178 std::cout << "Exception thrown successfully \n";
    +
    177 } catch (std::invalid_argument& e) {
    +
    178 std::cout << "Exception thrown successfully \n";
    179 }
    180}
    - - - - -
    std::array< std::complex< long double >, 2 > quadraticEquation(long double a, long double b, long double c)
    Quadratic equation calculator.
    Definition quadratic_equations_complex_numbers.cpp:53
    -
    void assertArray(std::array< std::complex< long double >, 2 > input, std::array< std::complex< long double >, 2 > expected, size_t precision=10)
    Asserts an array of complex numbers.
    Definition quadratic_equations_complex_numbers.cpp:100
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    std::array< std::complex< long double >, 2 > quadraticEquation(long double a, long double b, long double c)
    Quadratic equation calculator.
    +
    void assertArray(std::array< std::complex< long double >, 2 > input, std::array< std::complex< long double >, 2 > expected, size_t precision=10)
    Asserts an array of complex numbers.
    + diff --git a/da/d18/quadratic__equations__complex__numbers_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map b/da/d18/quadratic__equations__complex__numbers_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map deleted file mode 100644 index dacbd1887..000000000 --- a/da/d18/quadratic__equations__complex__numbers_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - diff --git a/da/d18/quadratic__equations__complex__numbers_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 b/da/d18/quadratic__equations__complex__numbers_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 deleted file mode 100644 index 0bb9434a2..000000000 --- a/da/d18/quadratic__equations__complex__numbers_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -81c188ff2f592b92e23e34e76cf709ca \ No newline at end of file diff --git a/da/d18/quadratic__equations__complex__numbers_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg b/da/d18/quadratic__equations__complex__numbers_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg deleted file mode 100644 index e396e7633..000000000 --- a/da/d18/quadratic__equations__complex__numbers_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg +++ /dev/null @@ -1,137 +0,0 @@ - - - - - - - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -assertArray - - - - - -Node1->Node2 - - - - - - - - -Node5 - - -math::quadraticEquation - - - - - -Node1->Node5 - - - - - - - - -Node3 - - -std::pow - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::round - - - - - -Node2->Node4 - - - - - - - - -Node6 - - -std::sqrt - - - - - -Node5->Node6 - - - - - - - - - - - - - diff --git a/da/d18/quadratic__equations__complex__numbers_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg b/da/d18/quadratic__equations__complex__numbers_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg deleted file mode 100644 index 606b164aa..000000000 --- a/da/d18/quadratic__equations__complex__numbers_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg +++ /dev/null @@ -1,111 +0,0 @@ - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -assertArray - - - - - -Node1->Node2 - - - - - - - - -Node5 - - -math::quadraticEquation - - - - - -Node1->Node5 - - - - - - - - -Node3 - - -std::pow - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::round - - - - - -Node2->Node4 - - - - - - - - -Node6 - - -std::sqrt - - - - - -Node5->Node6 - - - - - - - - diff --git a/da/d18/quadratic__equations__complex__numbers_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/da/d18/quadratic__equations__complex__numbers_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index aecf35bd5..000000000 --- a/da/d18/quadratic__equations__complex__numbers_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/da/d18/quadratic__equations__complex__numbers_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/da/d18/quadratic__equations__complex__numbers_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index c9d1fffba..000000000 --- a/da/d18/quadratic__equations__complex__numbers_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -8d2e05b1ca520a908b5034e87cf75519 \ No newline at end of file diff --git a/da/d18/quadratic__equations__complex__numbers_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/da/d18/quadratic__equations__complex__numbers_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 7b8875b7c..000000000 --- a/da/d18/quadratic__equations__complex__numbers_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,155 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -assertArray - - - - - -Node2->Node3 - - - - - - - - -Node6 - - -math::quadraticEquation - - - - - -Node2->Node6 - - - - - - - - -Node4 - - -std::pow - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -std::round - - - - - -Node3->Node5 - - - - - - - - -Node7 - - -std::sqrt - - - - - -Node6->Node7 - - - - - - - - - - - - - diff --git a/da/d18/quadratic__equations__complex__numbers_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/da/d18/quadratic__equations__complex__numbers_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 2e3eccee1..000000000 --- a/da/d18/quadratic__equations__complex__numbers_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,129 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -assertArray - - - - - -Node2->Node3 - - - - - - - - -Node6 - - -math::quadraticEquation - - - - - -Node2->Node6 - - - - - - - - -Node4 - - -std::pow - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -std::round - - - - - -Node3->Node5 - - - - - - - - -Node7 - - -std::sqrt - - - - - -Node6->Node7 - - - - - - - - diff --git a/da/d18/quadratic__equations__complex__numbers_8cpp_af7a6d4e3dc85a6288c8f1f7094830c5a_cgraph.map b/da/d18/quadratic__equations__complex__numbers_8cpp_af7a6d4e3dc85a6288c8f1f7094830c5a_cgraph.map deleted file mode 100644 index 0db66ea46..000000000 --- a/da/d18/quadratic__equations__complex__numbers_8cpp_af7a6d4e3dc85a6288c8f1f7094830c5a_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/da/d18/quadratic__equations__complex__numbers_8cpp_af7a6d4e3dc85a6288c8f1f7094830c5a_cgraph.md5 b/da/d18/quadratic__equations__complex__numbers_8cpp_af7a6d4e3dc85a6288c8f1f7094830c5a_cgraph.md5 deleted file mode 100644 index ab0573fb8..000000000 --- a/da/d18/quadratic__equations__complex__numbers_8cpp_af7a6d4e3dc85a6288c8f1f7094830c5a_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -d002d0d09ff524a2c7a6d99a07d8b6b5 \ No newline at end of file diff --git a/da/d18/quadratic__equations__complex__numbers_8cpp_af7a6d4e3dc85a6288c8f1f7094830c5a_cgraph.svg b/da/d18/quadratic__equations__complex__numbers_8cpp_af7a6d4e3dc85a6288c8f1f7094830c5a_cgraph.svg deleted file mode 100644 index b0a898964..000000000 --- a/da/d18/quadratic__equations__complex__numbers_8cpp_af7a6d4e3dc85a6288c8f1f7094830c5a_cgraph.svg +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - -assertArray - - -Node1 - - -assertArray - - - - - -Node2 - - -std::pow - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::round - - - - - -Node1->Node3 - - - - - - - - - - - - - diff --git a/da/d18/quadratic__equations__complex__numbers_8cpp_af7a6d4e3dc85a6288c8f1f7094830c5a_cgraph_org.svg b/da/d18/quadratic__equations__complex__numbers_8cpp_af7a6d4e3dc85a6288c8f1f7094830c5a_cgraph_org.svg deleted file mode 100644 index 74fbba007..000000000 --- a/da/d18/quadratic__equations__complex__numbers_8cpp_af7a6d4e3dc85a6288c8f1f7094830c5a_cgraph_org.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - -assertArray - - -Node1 - - -assertArray - - - - - -Node2 - - -std::pow - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::round - - - - - -Node1->Node3 - - - - - - - - diff --git a/da/d18/quadratic__equations__complex__numbers_8cpp_source.html b/da/d18/quadratic__equations__complex__numbers_8cpp_source.html new file mode 100644 index 000000000..96c4e2078 --- /dev/null +++ b/da/d18/quadratic__equations__complex__numbers_8cpp_source.html @@ -0,0 +1,283 @@ + + + + + + + + +TheAlgorithms/C++: math/quadratic_equations_complex_numbers.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    quadratic_equations_complex_numbers.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    31#include <array>
    +
    32#include <cassert>
    +
    33#include <cmath>
    +
    34#include <complex>
    +
    35#include <exception>
    +
    36#include <iomanip>
    +
    37#include <iostream>
    +
    38
    +
    43namespace math {
    +
    44
    +
    +
    53std::array<std::complex<long double>, 2> quadraticEquation(long double a,
    +
    54 long double b,
    +
    55 long double c) {
    +
    56 if (a == 0) {
    +
    57 throw std::invalid_argument("quadratic coefficient cannot be 0");
    +
    58 }
    +
    59
    +
    60 long double discriminant = b * b - 4 * a * c;
    +
    61 std::array<std::complex<long double>, 2> solutions{0, 0};
    +
    62
    +
    63 if (discriminant == 0) {
    +
    64 solutions[0] = -b * 0.5 / a;
    +
    65 solutions[1] = -b * 0.5 / a;
    +
    66 return solutions;
    +
    67 }
    +
    68
    +
    69 // Complex root (discriminant < 0)
    +
    70 // Note that the left term (-b / 2a) is always real. The imaginary part
    +
    71 // appears when b^2 - 4ac < 0, so sqrt(b^2 - 4ac) has no real roots. So,
    +
    72 // the imaginary component is i * (+/-)sqrt(abs(b^2 - 4ac)) / 2a.
    +
    73 if (discriminant > 0) {
    +
    74 // Since discriminant > 0, there are only real roots. Therefore,
    +
    75 // imaginary component = 0.
    +
    76 solutions[0] = std::complex<long double>{
    +
    77 (-b - std::sqrt(discriminant)) * 0.5 / a, 0};
    +
    78 solutions[1] = std::complex<long double>{
    +
    79 (-b + std::sqrt(discriminant)) * 0.5 / a, 0};
    +
    80 return solutions;
    +
    81 }
    +
    82 // Since b^2 - 4ac is < 0, for faster computation, -discriminant is
    +
    83 // enough to make it positive.
    +
    84 solutions[0] = std::complex<long double>{
    +
    85 -b * 0.5 / a, -std::sqrt(-discriminant) * 0.5 / a};
    +
    86 solutions[1] = std::complex<long double>{
    +
    87 -b * 0.5 / a, std::sqrt(-discriminant) * 0.5 / a};
    +
    88
    +
    89 return solutions;
    +
    90}
    +
    +
    91
    +
    92} // namespace math
    +
    93
    +
    +
    100void assertArray(std::array<std::complex<long double>, 2> input,
    +
    101 std::array<std::complex<long double>, 2> expected,
    +
    102 size_t precision = 10) {
    +
    103 long double exponent = std::pow(10, precision);
    +
    104 input[0].real(std::round(input[0].real() * exponent));
    +
    105 input[1].real(std::round(input[1].real() * exponent));
    +
    106 input[0].imag(std::round(input[0].imag() * exponent));
    +
    107 input[1].imag(std::round(input[1].imag() * exponent));
    +
    108
    +
    109 expected[0].real(std::round(expected[0].real() * exponent));
    +
    110 expected[1].real(std::round(expected[1].real() * exponent));
    +
    111 expected[0].imag(std::round(expected[0].imag() * exponent));
    +
    112 expected[1].imag(std::round(expected[1].imag() * exponent));
    +
    113
    +
    114 assert(input == expected);
    +
    115}
    +
    +
    116
    +
    +
    122static void test() {
    +
    123 // Values are equal and real.
    +
    124 std::cout << "Input: \n"
    +
    125 "a=1 \n"
    +
    126 "b=-2 \n"
    +
    127 "c=1 \n"
    +
    128 "Expected output: \n"
    +
    129 "(1, 0), (1, 0)\n\n";
    +
    130 std::array<std::complex<long double>, 2> equalCase{
    +
    131 std::complex<long double>{1, 0}, std::complex<long double>{1, 0}};
    +
    132 assert(math::quadraticEquation(1, -2, 1) == equalCase);
    +
    133
    +
    134 // Values are equal and complex.
    +
    135 std::cout << "Input: \n"
    +
    136 "a=1 \n"
    +
    137 "b=4 \n"
    +
    138 "c=5 \n"
    +
    139 "Expected output: \n"
    +
    140 "(-2, -1), (-2, 1)\n\n";
    +
    141 std::array<std::complex<long double>, 2> complexCase{
    +
    142 std::complex<long double>{-2, -1}, std::complex<long double>{-2, 1}};
    +
    143 assert(math::quadraticEquation(1, 4, 5) == complexCase);
    +
    144
    +
    145 // Values are real.
    +
    146 std::cout << "Input: \n"
    +
    147 "a=1 \n"
    +
    148 "b=5 \n"
    +
    149 "c=1 \n"
    +
    150 "Expected output: \n"
    +
    151 "(-4.7912878475, 0), (-0.2087121525, 0)\n\n";
    +
    152 std::array<std::complex<long double>, 2> floatCase{
    +
    153 std::complex<long double>{-4.7912878475, 0},
    +
    154 std::complex<long double>{-0.2087121525, 0}};
    +
    155 assertArray(math::quadraticEquation(1, 5, 1), floatCase);
    +
    156
    +
    157 // Values are complex.
    +
    158 std::cout << "Input: \n"
    +
    159 "a=1 \n"
    +
    160 "b=1 \n"
    +
    161 "c=1 \n"
    +
    162 "Expected output: \n"
    +
    163 "(-0.5, -0.8660254038), (-0.5, 0.8660254038)\n\n";
    +
    164 std::array<std::complex<long double>, 2> ifloatCase{
    +
    165 std::complex<long double>{-0.5, -0.8660254038},
    +
    166 std::complex<long double>{-0.5, 0.8660254038}};
    +
    167 assertArray(math::quadraticEquation(1, 1, 1), ifloatCase);
    +
    168
    +
    169 std::cout << "Exception test: \n"
    +
    170 "Input: \n"
    +
    171 "a=0 \n"
    +
    172 "b=0 \n"
    +
    173 "c=0\n"
    +
    174 "Expected output: Exception thrown \n";
    +
    175 try {
    + +
    177 } catch (std::invalid_argument& e) {
    +
    178 std::cout << "Exception thrown successfully \n";
    +
    179 }
    +
    180}
    +
    +
    181
    +
    +
    186int main() {
    +
    187 test(); // Run self-test implementation.
    +
    188 return 0;
    +
    189}
    +
    +
    for assert
    +
    std::array< std::complex< long double >, 2 > quadraticEquation(long double a, long double b, long double c)
    Quadratic equation calculator.
    +
    static void test()
    Self-test implementations to test quadraticEquation function.
    +
    int main()
    Main function.
    +
    void assertArray(std::array< std::complex< long double >, 2 > input, std::array< std::complex< long double >, 2 > expected, size_t precision=10)
    Asserts an array of complex numbers.
    +
    +
    + + + + diff --git a/da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution.html b/da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution.html index 0c158e3c5..d8258c83d 100644 --- a/da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution.html +++ b/da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: probability::geometric_dist::geometric_distribution Class Reference +TheAlgorithms/C++: probability::geometric_dist::geometric_distribution Class Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -141,19 +158,20 @@ Public Member Functions - +
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    uint32_t draw_sample () const
     Generates a (discrete) sample according to the geometrical distribution.
     
    float range_tries (const uint32_t &min_tries=1, const uint32_t &max_tries=std::numeric_limits< uint32_t >::max()) const
    float range_tries (const uint32_t &min_tries=1, const uint32_t &max_tries=std::numeric_limits< uint32_t >::max()) const
     This function computes the probability to have success in a given range of tries.
     
    - - + +

    Private Attributes

    -float p
     The succes probability p.
    float p
     The succes probability p.
     

    Detailed Description

    A class to model the geometric distribution.

    + +

    Definition at line 55 of file geometric_dist.cpp.

    Constructor & Destructor Documentation

    ◆ geometric_distribution()

    @@ -185,8 +203,10 @@ float p + +

    Definition at line 64 of file geometric_dist.cpp.

    64: p(p) {}
    -
    float p
    The succes probability p.
    Definition geometric_dist.cpp:57
    +
    @@ -222,16 +242,12 @@ float p
    Returns
    The probability to have success within k trials
    -
    104 {
    -
    105 return 1.0f - std::pow((1.0f - p), static_cast<float>(k));
    -
    106 }
    -
    T pow(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    +

    Definition at line 104 of file geometric_dist.cpp.

    +
    104 {
    +
    105 return 1.0f - std::pow((1.0f - p), static_cast<float>(k));
    +
    106 }
    +
    @@ -259,20 +275,17 @@ Here is the call graph for this function:

    Generates a (discrete) sample according to the geometrical distribution.

    Returns
    A geometrically distributed number in [1,\infty)
    + +

    Definition at line 125 of file geometric_dist.cpp.

    125 {
    126 float uniform_sample = generate_uniform();
    127 return static_cast<uint32_t>(
    128 inverse_cumulative_distribution(uniform_sample)) +
    129 1;
    130 }
    -
    float inverse_cumulative_distribution(const float &cdf) const
    The inverse cumulative distribution function.
    Definition geometric_dist.cpp:116
    -
    float generate_uniform()
    Returns a random number between [0,1].
    Definition geometric_dist.cpp:48
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    float inverse_cumulative_distribution(const float &cdf) const
    The inverse cumulative distribution function.
    +
    float generate_uniform()
    Returns a random number between [0,1].
    + @@ -300,6 +313,8 @@ Here is the call graph for this function:

    The expected value of a geometrically distributed random variable X.

    Returns
    E[X] = 1/p
    + +

    Definition at line 71 of file geometric_dist.cpp.

    71{ return 1.0f / p; }
    @@ -335,16 +350,12 @@ Here is the call graph for this function:
    Returns
    The number of (exact) trials.
    -
    116 {
    -
    117 return std::log(1.0f - cdf) / std::log(1.0f - p);
    -
    118 }
    -
    T log(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    +

    Definition at line 116 of file geometric_dist.cpp.

    +
    116 {
    +
    117 return std::log(1.0f - cdf) / std::log(1.0f - p);
    +
    118 }
    +
    @@ -378,15 +389,12 @@ Here is the call graph for this function:
    Returns
    A number between [0,1] according to p * (1-p)^{k-1}
    -
    93 {
    -
    94 return std::pow((1.0f - p), static_cast<float>(k - 1)) * p;
    -
    95 }
    -
    -Here is the call graph for this function:
    -
    -
    -
    +

    Definition at line 93 of file geometric_dist.cpp.

    +
    93 {
    +
    94 return std::pow((1.0f - p), static_cast<float>(k - 1)) * p;
    +
    95 }
    +
    @@ -406,7 +414,7 @@ Here is the call graph for this function: - const uint32_t & max_tries = std::numeric_limits<uint32_t>::max() ) const + const uint32_t & max_tries = std::numeric_limits<uint32_t>::max() ) const @@ -425,21 +433,17 @@ Here is the call graph for this function:
    Returns
    The probability of having success within a range of tries [min_tries, max_tries]
    + +

    Definition at line 145 of file geometric_dist.cpp.

    147 {
    148 float cdf_lower = cumulative_distribution(min_tries - 1);
    -
    149 float cdf_upper = max_tries == std::numeric_limits<uint32_t>::max()
    +
    149 float cdf_upper = max_tries == std::numeric_limits<uint32_t>::max()
    150 ? 1.0f
    151 : cumulative_distribution(max_tries);
    152 return cdf_upper - cdf_lower;
    153 }
    -
    float cumulative_distribution(const uint32_t &k) const
    The cumulative distribution function.
    Definition geometric_dist.cpp:104
    -
    T max(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    float cumulative_distribution(const uint32_t &k) const
    The cumulative distribution function.
    + @@ -467,15 +471,11 @@ Here is the call graph for this function:

    The standard deviation of a geometrically distributed random variable X.

    Returns
    \sigma = \sqrt{V[X]}
    -
    84{ return std::sqrt(variance()); }
    -
    float variance() const
    The variance of a geometrically distributed random variable X.
    Definition geometric_dist.cpp:77
    -
    T sqrt(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    +

    Definition at line 84 of file geometric_dist.cpp.

    +
    84{ return std::sqrt(variance()); }
    +
    float variance() const
    The variance of a geometrically distributed random variable X.
    +
    @@ -503,12 +503,41 @@ Here is the call graph for this function:

    The variance of a geometrically distributed random variable X.

    Returns
    V[X] = (1 - p) / p^2
    + +

    Definition at line 77 of file geometric_dist.cpp.

    77{ return (1.0f - p) / (p * p); }
    + + +

    Member Data Documentation

    + +

    ◆ p

    + +
    +
    + + + + + +
    + + + + +
    float probability::geometric_dist::geometric_distribution::p
    +
    +private
    +
    + +

    The succes probability p.

    + +

    Definition at line 57 of file geometric_dist.cpp.

    +

    The documentation for this class was generated from the following file: diff --git a/da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution_a08328dc7d62188427111f176b56a105a_cgraph.map b/da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution_a08328dc7d62188427111f176b56a105a_cgraph.map deleted file mode 100644 index 67483171d..000000000 --- a/da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution_a08328dc7d62188427111f176b56a105a_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution_a08328dc7d62188427111f176b56a105a_cgraph.md5 b/da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution_a08328dc7d62188427111f176b56a105a_cgraph.md5 deleted file mode 100644 index d49ceea5b..000000000 --- a/da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution_a08328dc7d62188427111f176b56a105a_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -2649ff52598a11edb7b2a7d82d116400 \ No newline at end of file diff --git a/da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution_a08328dc7d62188427111f176b56a105a_cgraph.svg b/da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution_a08328dc7d62188427111f176b56a105a_cgraph.svg deleted file mode 100644 index 27c3d0224..000000000 --- a/da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution_a08328dc7d62188427111f176b56a105a_cgraph.svg +++ /dev/null @@ -1,67 +0,0 @@ - - - - - - - - - - - - -probability::geometric_dist::geometric_distribution::cumulative_distribution - - -Node1 - - -probability::geometric -_dist::geometric_distribution -::cumulative_distribution - - - - - -Node2 - - -std::pow - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution_a08328dc7d62188427111f176b56a105a_cgraph_org.svg b/da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution_a08328dc7d62188427111f176b56a105a_cgraph_org.svg deleted file mode 100644 index 1f66313f2..000000000 --- a/da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution_a08328dc7d62188427111f176b56a105a_cgraph_org.svg +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - -probability::geometric_dist::geometric_distribution::cumulative_distribution - - -Node1 - - -probability::geometric -_dist::geometric_distribution -::cumulative_distribution - - - - - -Node2 - - -std::pow - - - - - -Node1->Node2 - - - - - - - - diff --git a/da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution_a0a10c512e13dd3a052e1c6d7f4d6f0f2_cgraph.map b/da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution_a0a10c512e13dd3a052e1c6d7f4d6f0f2_cgraph.map deleted file mode 100644 index 2a4d88260..000000000 --- a/da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution_a0a10c512e13dd3a052e1c6d7f4d6f0f2_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution_a0a10c512e13dd3a052e1c6d7f4d6f0f2_cgraph.md5 b/da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution_a0a10c512e13dd3a052e1c6d7f4d6f0f2_cgraph.md5 deleted file mode 100644 index 33f0dcfdb..000000000 --- a/da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution_a0a10c512e13dd3a052e1c6d7f4d6f0f2_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -6c40e6c02844b196b425b9cdfa20cf0f \ No newline at end of file diff --git a/da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution_a0a10c512e13dd3a052e1c6d7f4d6f0f2_cgraph.svg b/da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution_a0a10c512e13dd3a052e1c6d7f4d6f0f2_cgraph.svg deleted file mode 100644 index 138c163c7..000000000 --- a/da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution_a0a10c512e13dd3a052e1c6d7f4d6f0f2_cgraph.svg +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - - - - - - - -probability::geometric_dist::geometric_distribution::standard_deviation - - -Node1 - - -probability::geometric -_dist::geometric_distribution -::standard_deviation - - - - - -Node2 - - -std::sqrt - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -probability::geometric -_dist::geometric_distribution -::variance - - - - - -Node1->Node3 - - - - - - - - - - - - - diff --git a/da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution_a0a10c512e13dd3a052e1c6d7f4d6f0f2_cgraph_org.svg b/da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution_a0a10c512e13dd3a052e1c6d7f4d6f0f2_cgraph_org.svg deleted file mode 100644 index 7b57bb52c..000000000 --- a/da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution_a0a10c512e13dd3a052e1c6d7f4d6f0f2_cgraph_org.svg +++ /dev/null @@ -1,61 +0,0 @@ - - - - - - -probability::geometric_dist::geometric_distribution::standard_deviation - - -Node1 - - -probability::geometric -_dist::geometric_distribution -::standard_deviation - - - - - -Node2 - - -std::sqrt - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -probability::geometric -_dist::geometric_distribution -::variance - - - - - -Node1->Node3 - - - - - - - - diff --git a/da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution_a4620163a196709484225774d87de6d69_cgraph.map b/da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution_a4620163a196709484225774d87de6d69_cgraph.map deleted file mode 100644 index 99c5e4f4c..000000000 --- a/da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution_a4620163a196709484225774d87de6d69_cgraph.map +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution_a4620163a196709484225774d87de6d69_cgraph.md5 b/da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution_a4620163a196709484225774d87de6d69_cgraph.md5 deleted file mode 100644 index c0e7fd540..000000000 --- a/da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution_a4620163a196709484225774d87de6d69_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -cf801f9a45e9b64e9067e20b4eda3b23 \ No newline at end of file diff --git a/da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution_a4620163a196709484225774d87de6d69_cgraph.svg b/da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution_a4620163a196709484225774d87de6d69_cgraph.svg deleted file mode 100644 index b54409600..000000000 --- a/da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution_a4620163a196709484225774d87de6d69_cgraph.svg +++ /dev/null @@ -1,105 +0,0 @@ - - - - - - - - - - - - -probability::geometric_dist::geometric_distribution::range_tries - - -Node1 - - -probability::geometric -_dist::geometric_distribution -::range_tries - - - - - -Node2 - - -probability::geometric -_dist::geometric_distribution -::cumulative_distribution - - - - - -Node1->Node2 - - - - - - - - -Node4 - - -std::numeric_limits::max - - - - - -Node1->Node4 - - - - - - - - -Node3 - - -std::pow - - - - - -Node2->Node3 - - - - - - - - - - - - - diff --git a/da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution_a4620163a196709484225774d87de6d69_cgraph_org.svg b/da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution_a4620163a196709484225774d87de6d69_cgraph_org.svg deleted file mode 100644 index f4a6f8ae6..000000000 --- a/da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution_a4620163a196709484225774d87de6d69_cgraph_org.svg +++ /dev/null @@ -1,79 +0,0 @@ - - - - - - -probability::geometric_dist::geometric_distribution::range_tries - - -Node1 - - -probability::geometric -_dist::geometric_distribution -::range_tries - - - - - -Node2 - - -probability::geometric -_dist::geometric_distribution -::cumulative_distribution - - - - - -Node1->Node2 - - - - - - - - -Node4 - - -std::numeric_limits::max - - - - - -Node1->Node4 - - - - - - - - -Node3 - - -std::pow - - - - - -Node2->Node3 - - - - - - - - diff --git a/da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution_a8aae1cebcf42ed2332f1c7217c401aa3_cgraph.map b/da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution_a8aae1cebcf42ed2332f1c7217c401aa3_cgraph.map deleted file mode 100644 index 88c8fed89..000000000 --- a/da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution_a8aae1cebcf42ed2332f1c7217c401aa3_cgraph.map +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution_a8aae1cebcf42ed2332f1c7217c401aa3_cgraph.md5 b/da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution_a8aae1cebcf42ed2332f1c7217c401aa3_cgraph.md5 deleted file mode 100644 index 6b93d7c06..000000000 --- a/da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution_a8aae1cebcf42ed2332f1c7217c401aa3_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -b69f35135fc18fbb6342ed383a572b27 \ No newline at end of file diff --git a/da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution_a8aae1cebcf42ed2332f1c7217c401aa3_cgraph.svg b/da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution_a8aae1cebcf42ed2332f1c7217c401aa3_cgraph.svg deleted file mode 100644 index fbdb81f0a..000000000 --- a/da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution_a8aae1cebcf42ed2332f1c7217c401aa3_cgraph.svg +++ /dev/null @@ -1,115 +0,0 @@ - - - - - - - - - - - - -probability::geometric_dist::geometric_distribution::draw_sample - - -Node1 - - -probability::geometric -_dist::geometric_distribution -::draw_sample - - - - - -Node2 - - -probability::geometric -_dist::generate_uniform - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -probability::geometric -_dist::geometric_distribution -::inverse_cumulative_distribution - - - - - -Node1->Node3 - - - - - - - - -Node2->Node2 - - - - - - - - -Node4 - - -std::log - - - - - -Node3->Node4 - - - - - - - - - - - - - diff --git a/da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution_a8aae1cebcf42ed2332f1c7217c401aa3_cgraph_org.svg b/da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution_a8aae1cebcf42ed2332f1c7217c401aa3_cgraph_org.svg deleted file mode 100644 index 226a17448..000000000 --- a/da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution_a8aae1cebcf42ed2332f1c7217c401aa3_cgraph_org.svg +++ /dev/null @@ -1,89 +0,0 @@ - - - - - - -probability::geometric_dist::geometric_distribution::draw_sample - - -Node1 - - -probability::geometric -_dist::geometric_distribution -::draw_sample - - - - - -Node2 - - -probability::geometric -_dist::generate_uniform - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -probability::geometric -_dist::geometric_distribution -::inverse_cumulative_distribution - - - - - -Node1->Node3 - - - - - - - - -Node2->Node2 - - - - - - - - -Node4 - - -std::log - - - - - -Node3->Node4 - - - - - - - - diff --git a/da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution_aaf762e88c66918d7afda4234f28a7ddf_cgraph.map b/da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution_aaf762e88c66918d7afda4234f28a7ddf_cgraph.map deleted file mode 100644 index 84ba822ce..000000000 --- a/da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution_aaf762e88c66918d7afda4234f28a7ddf_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution_aaf762e88c66918d7afda4234f28a7ddf_cgraph.md5 b/da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution_aaf762e88c66918d7afda4234f28a7ddf_cgraph.md5 deleted file mode 100644 index d14e9882e..000000000 --- a/da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution_aaf762e88c66918d7afda4234f28a7ddf_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -6d4d47ff40518a661c301b3ef7c0c094 \ No newline at end of file diff --git a/da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution_aaf762e88c66918d7afda4234f28a7ddf_cgraph.svg b/da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution_aaf762e88c66918d7afda4234f28a7ddf_cgraph.svg deleted file mode 100644 index 0fa69a2f8..000000000 --- a/da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution_aaf762e88c66918d7afda4234f28a7ddf_cgraph.svg +++ /dev/null @@ -1,67 +0,0 @@ - - - - - - - - - - - - -probability::geometric_dist::geometric_distribution::inverse_cumulative_distribution - - -Node1 - - -probability::geometric -_dist::geometric_distribution -::inverse_cumulative_distribution - - - - - -Node2 - - -std::log - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution_aaf762e88c66918d7afda4234f28a7ddf_cgraph_org.svg b/da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution_aaf762e88c66918d7afda4234f28a7ddf_cgraph_org.svg deleted file mode 100644 index b40f9d12d..000000000 --- a/da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution_aaf762e88c66918d7afda4234f28a7ddf_cgraph_org.svg +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - -probability::geometric_dist::geometric_distribution::inverse_cumulative_distribution - - -Node1 - - -probability::geometric -_dist::geometric_distribution -::inverse_cumulative_distribution - - - - - -Node2 - - -std::log - - - - - -Node1->Node2 - - - - - - - - diff --git a/da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution_aee973db9f0435e0cb4cc70f8eb3447a1_cgraph.map b/da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution_aee973db9f0435e0cb4cc70f8eb3447a1_cgraph.map deleted file mode 100644 index 3001d83fa..000000000 --- a/da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution_aee973db9f0435e0cb4cc70f8eb3447a1_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution_aee973db9f0435e0cb4cc70f8eb3447a1_cgraph.md5 b/da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution_aee973db9f0435e0cb4cc70f8eb3447a1_cgraph.md5 deleted file mode 100644 index b582660e0..000000000 --- a/da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution_aee973db9f0435e0cb4cc70f8eb3447a1_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -102ba1d75f61cf033978633641c716f4 \ No newline at end of file diff --git a/da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution_aee973db9f0435e0cb4cc70f8eb3447a1_cgraph.svg b/da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution_aee973db9f0435e0cb4cc70f8eb3447a1_cgraph.svg deleted file mode 100644 index 5b2f67cb1..000000000 --- a/da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution_aee973db9f0435e0cb4cc70f8eb3447a1_cgraph.svg +++ /dev/null @@ -1,67 +0,0 @@ - - - - - - - - - - - - -probability::geometric_dist::geometric_distribution::probability_density - - -Node1 - - -probability::geometric -_dist::geometric_distribution -::probability_density - - - - - -Node2 - - -std::pow - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution_aee973db9f0435e0cb4cc70f8eb3447a1_cgraph_org.svg b/da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution_aee973db9f0435e0cb4cc70f8eb3447a1_cgraph_org.svg deleted file mode 100644 index a608e7356..000000000 --- a/da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution_aee973db9f0435e0cb4cc70f8eb3447a1_cgraph_org.svg +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - -probability::geometric_dist::geometric_distribution::probability_density - - -Node1 - - -probability::geometric -_dist::geometric_distribution -::probability_density - - - - - -Node2 - - -std::pow - - - - - -Node1->Node2 - - - - - - - - diff --git a/da/d21/class_longest___substring.html b/da/d21/class_longest___substring.html index 3da1e2f6b..6f0079185 100644 --- a/da/d21/class_longest___substring.html +++ b/da/d21/class_longest___substring.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Longest_Substring Class Reference +TheAlgorithms/C++: Longest_Substring Class Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -116,12 +133,14 @@ $(function(){initNavTree('da/d21/class_longest___substring.html','../../'); init
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    - +

    Public Member Functions

    int lengthOfLongestSubstring (std::string s)
    int lengthOfLongestSubstring (std::string s)
     Function to find the length of the longest substring without repeating characters.
     

    Detailed Description

    Class that solves the Longest Substring Without Repeating Characters problem.

    + +

    Definition at line 37 of file longest_substring_without_repeating_characters.cpp.

    Member Function Documentation

    ◆ lengthOfLongestSubstring()

    @@ -135,7 +154,7 @@ Public Member Functions int Longest_Substring::lengthOfLongestSubstring ( - std::string s) + std::string s) @@ -154,17 +173,19 @@ Public Member Functions
    Returns
    Length of the longest substring.
    + +

    Definition at line 44 of file longest_substring_without_repeating_characters.cpp.

    44 {
    45 // If the size of string is 1, then it will be the answer.
    -
    46 if (s.size() == 1) return 1;
    +
    46 if (s.size() == 1) return 1;
    47
    48 // Map used to store the character frequency.
    - -
    50 int n = s.length();
    +
    49 std::unordered_map<char, int> m;
    +
    50 int n = s.length();
    51
    52 // Deque to remove from back if repeating characters are present.
    - - +
    53 std::deque<char> temp;
    +
    54 std::deque<char> res;
    55 int i, j;
    56
    57 // Sliding window approach using two pointers.
    @@ -173,44 +194,34 @@ Public Member Functions
    60
    61 // If repeating character found, update result and remove from the front.
    62 if (m[s[j]] > 1) {
    -
    63 if (temp.size() > res.size()) {
    +
    63 if (temp.size() > res.size()) {
    64 res = temp;
    65 }
    66
    67 while (m[s[j]] > 1) {
    -
    68 temp.pop_front();
    +
    68 temp.pop_front();
    69 m[s[i]]--;
    70 i++;
    71 }
    72 }
    73
    74 // Add the current character to the deque.
    -
    75 temp.push_back(s[j]);
    +
    75 temp.push_back(s[j]);
    76 j++;
    77 }
    78
    79 // Final check to update result.
    -
    80 if (temp.size() > res.size()) {
    +
    80 if (temp.size() > res.size()) {
    81 res = temp;
    82 }
    83
    -
    84 return res.size(); // Return the length of the longest substring.
    +
    84 return res.size(); // Return the length of the longest substring.
    85 }
    - -
    T pop_front(T... args)
    -
    T push_back(T... args)
    -
    T size(T... args)
    - -
    -Here is the call graph for this function:
    -
    -
    -
    - +

    The documentation for this class was generated from the following file: diff --git a/da/d21/class_longest___substring_af8a3672bc8d95e7da4f9a45e5e2e387d_cgraph.map b/da/d21/class_longest___substring_af8a3672bc8d95e7da4f9a45e5e2e387d_cgraph.map deleted file mode 100644 index 7673d2053..000000000 --- a/da/d21/class_longest___substring_af8a3672bc8d95e7da4f9a45e5e2e387d_cgraph.map +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - - - diff --git a/da/d21/class_longest___substring_af8a3672bc8d95e7da4f9a45e5e2e387d_cgraph.md5 b/da/d21/class_longest___substring_af8a3672bc8d95e7da4f9a45e5e2e387d_cgraph.md5 deleted file mode 100644 index f844eac89..000000000 --- a/da/d21/class_longest___substring_af8a3672bc8d95e7da4f9a45e5e2e387d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -5ded94fdecb46e5c02f228d958402fa6 \ No newline at end of file diff --git a/da/d21/class_longest___substring_af8a3672bc8d95e7da4f9a45e5e2e387d_cgraph.svg b/da/d21/class_longest___substring_af8a3672bc8d95e7da4f9a45e5e2e387d_cgraph.svg deleted file mode 100644 index 6356599ca..000000000 --- a/da/d21/class_longest___substring_af8a3672bc8d95e7da4f9a45e5e2e387d_cgraph.svg +++ /dev/null @@ -1,129 +0,0 @@ - - - - - - - - - - - - -Longest_Substring::lengthOfLongestSubstring - - -Node1 - - -Longest_Substring:: -lengthOfLongestSubstring - - - - - -Node2 - - -std::string::length - - - - - -Node1->Node2 - - - - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::deque::pop_front - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::deque::push_back - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::deque::size - - - - - -Node1->Node5 - - - - - - - - - - - - - diff --git a/da/d21/class_longest___substring_af8a3672bc8d95e7da4f9a45e5e2e387d_cgraph_org.svg b/da/d21/class_longest___substring_af8a3672bc8d95e7da4f9a45e5e2e387d_cgraph_org.svg deleted file mode 100644 index 26167f772..000000000 --- a/da/d21/class_longest___substring_af8a3672bc8d95e7da4f9a45e5e2e387d_cgraph_org.svg +++ /dev/null @@ -1,103 +0,0 @@ - - - - - - -Longest_Substring::lengthOfLongestSubstring - - -Node1 - - -Longest_Substring:: -lengthOfLongestSubstring - - - - - -Node2 - - -std::string::length - - - - - -Node1->Node2 - - - - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::deque::pop_front - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::deque::push_back - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::deque::size - - - - - -Node1->Node5 - - - - - - - - diff --git a/da/d23/eulers__totient__function_8cpp.html b/da/d23/eulers__totient__function_8cpp.html index 7ec181b22..71d69abe3 100644 --- a/da/d23/eulers__totient__function_8cpp.html +++ b/da/d23/eulers__totient__function_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: math/eulers_totient_function.cpp File Reference +TheAlgorithms/C++: math/eulers_totient_function.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -121,7 +138,9 @@ Include dependency graph for eulers_totient_function.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -164,6 +183,8 @@ Some known values are:

    + +

    Definition in file eulers_totient_function.cpp.

    Function Documentation

    ◆ main()

    @@ -193,17 +214,14 @@ Some known values are:

      Returns
      0 on exit
      + +

      Definition at line 79 of file eulers_totient_function.cpp.

      79 {
      80 test();
      81 return 0;
      82}
      -
      static void test()
      Self-test implementations.
      Definition eulers_totient_function.cpp:61
      -
      -Here is the call graph for this function:
      -
      -
      -
      - +
      static void test()
      Self-test implementations.
      + @@ -231,6 +249,8 @@ Here is the call graph for this function:

      Self-test implementations.

      Returns
      void
      + +

      Definition at line 61 of file eulers_totient_function.cpp.

      61 {
      62 assert(math::phiFunction(1) == 1);
      63 assert(math::phiFunction(2) == 1);
      @@ -240,16 +260,10 @@ Here is the call graph for this function:
      67 assert(math::phiFunction(3141592) == 1570792);
      68 assert(math::phiFunction(27182818) == 12545904);
      69
      -
      70 std::cout << "All tests have successfully passed!\n";
      +
      70 std::cout << "All tests have successfully passed!\n";
      71}
      - -
      uint64_t phiFunction(uint64_t n)
      Function to calculate Euler's Totient.
      Definition eulers_totient_function.cpp:41
      -
      -Here is the call graph for this function:
      -
      -
      -
      - +
      uint64_t phiFunction(uint64_t n)
      Function to calculate Euler's Totient.
      + diff --git a/da/d23/eulers__totient__function_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.map b/da/d23/eulers__totient__function_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.map deleted file mode 100644 index 9e330990e..000000000 --- a/da/d23/eulers__totient__function_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/da/d23/eulers__totient__function_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.md5 b/da/d23/eulers__totient__function_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.md5 deleted file mode 100644 index feaead9ef..000000000 --- a/da/d23/eulers__totient__function_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -c3b94c08587cbbf03e58caf02caed5da \ No newline at end of file diff --git a/da/d23/eulers__totient__function_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.svg b/da/d23/eulers__totient__function_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.svg deleted file mode 100644 index a6b700a21..000000000 --- a/da/d23/eulers__totient__function_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.svg +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -math::phiFunction - - - - - -Node2->Node3 - - - - - - - - - - - - - diff --git a/da/d23/eulers__totient__function_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph_org.svg b/da/d23/eulers__totient__function_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph_org.svg deleted file mode 100644 index 670c169b3..000000000 --- a/da/d23/eulers__totient__function_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph_org.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -math::phiFunction - - - - - -Node2->Node3 - - - - - - - - diff --git a/da/d23/eulers__totient__function_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map b/da/d23/eulers__totient__function_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map deleted file mode 100644 index 354d09e7a..000000000 --- a/da/d23/eulers__totient__function_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/da/d23/eulers__totient__function_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 b/da/d23/eulers__totient__function_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 deleted file mode 100644 index 854b7f8a5..000000000 --- a/da/d23/eulers__totient__function_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -a85efb899b9c875ea79147a97c66607a \ No newline at end of file diff --git a/da/d23/eulers__totient__function_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg b/da/d23/eulers__totient__function_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg deleted file mode 100644 index f4497983e..000000000 --- a/da/d23/eulers__totient__function_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -math::phiFunction - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/da/d23/eulers__totient__function_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg b/da/d23/eulers__totient__function_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg deleted file mode 100644 index 303f51433..000000000 --- a/da/d23/eulers__totient__function_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -math::phiFunction - - - - - -Node1->Node2 - - - - - - - - diff --git a/da/d23/eulers__totient__function_8cpp_source.html b/da/d23/eulers__totient__function_8cpp_source.html new file mode 100644 index 000000000..0e8b65229 --- /dev/null +++ b/da/d23/eulers__totient__function_8cpp_source.html @@ -0,0 +1,185 @@ + + + + + + + + +TheAlgorithms/C++: math/eulers_totient_function.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
      +
      +

    Namespaces

    namespace  math
    + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + + +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    eulers_totient_function.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    28#include <cassert>
    +
    29#include <cstdint>
    +
    30#include <iostream>
    +
    31
    +
    36namespace math {
    +
    +
    41uint64_t phiFunction(uint64_t n) {
    +
    42 uint64_t result = n;
    +
    43 for (uint64_t i = 2; i * i <= n; i++) {
    +
    44 if (n % i != 0)
    +
    45 continue;
    +
    46 while (n % i == 0) n /= i;
    +
    47
    +
    48 result -= result / i;
    +
    49 }
    +
    50 if (n > 1)
    +
    51 result -= result / n;
    +
    52
    +
    53 return result;
    +
    54}
    +
    +
    55} // namespace math
    +
    56
    +
    +
    61static void test() {
    +
    62 assert(math::phiFunction(1) == 1);
    +
    63 assert(math::phiFunction(2) == 1);
    +
    64 assert(math::phiFunction(10) == 4);
    +
    65 assert(math::phiFunction(123456) == 41088);
    +
    66 assert(math::phiFunction(808017424794) == 263582333856);
    +
    67 assert(math::phiFunction(3141592) == 1570792);
    +
    68 assert(math::phiFunction(27182818) == 12545904);
    +
    69
    +
    70 std::cout << "All tests have successfully passed!\n";
    +
    71}
    +
    +
    72
    +
    +
    79int main(int argc, char *argv[]) {
    +
    80 test();
    +
    81 return 0;
    +
    82}
    +
    +
    static void test()
    Self-test implementations.
    +
    int main()
    Main function.
    +
    for assert
    +
    uint64_t phiFunction(uint64_t n)
    Function to calculate Euler's Totient.
    +
    +
    + + + + diff --git a/da/d24/sqrt__double_8cpp.html b/da/d24/sqrt__double_8cpp.html index ff8afe600..2b34ae27a 100644 --- a/da/d24/sqrt__double_8cpp.html +++ b/da/d24/sqrt__double_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: math/sqrt_double.cpp File Reference +TheAlgorithms/C++: math/sqrt_double.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -120,7 +137,9 @@ Include dependency graph for sqrt_double.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -132,6 +151,8 @@ Functions

    Calculate the square root of any positive real number in \(O(\log N)\) time, with precision fixed using bisection method of root-finding.

    See also
    Can be implemented using faster and better algorithms like newton_raphson_method.cpp and false_position.cpp
    + +

    Definition in file sqrt_double.cpp.

    Function Documentation

    ◆ main()

    @@ -148,24 +169,18 @@ N)\) time, with precision fixed using

    main function

    + +

    Definition at line 42 of file sqrt_double.cpp.

    42 {
    43 double n{};
    -
    44 std::cin >> n;
    +
    44 std::cin >> n;
    45 assert(n >= 0);
    46 // Change this line for a better precision
    -
    47 std::cout.precision(12);
    -
    48 std::cout << std::fixed << Sqrt(n);
    +
    47 std::cout.precision(12);
    +
    48 std::cout << std::fixed << Sqrt(n);
    49}
    - - -
    T fixed(T... args)
    -
    double Sqrt(double a)
    Definition sqrt_double.cpp:16
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    double Sqrt(double a)
    + @@ -183,6 +198,8 @@ Here is the call graph for this function:

    Functions

    double Sqrt (double a)

    Bisection method implemented for the function \(x^2-a=0\) whose roots are \(\pm\sqrt{a}\) and only the positive root is returned.

    + +

    Definition at line 16 of file sqrt_double.cpp.

    16 {
    17 if (a > 0 && a < 1) {
    18 return 1 / Sqrt(1 / a);
    @@ -207,13 +224,8 @@ Here is the call graph for this function:
    37 }
    38 return -1;
    39}
    -
    double l(double x)
    Another test function.
    Definition composite_simpson_rule.cpp:119
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    double l(double x)
    Another test function.
    + diff --git a/da/d24/sqrt__double_8cpp_ae662282ad0740d2063ac404ca3bd74fc_cgraph.map b/da/d24/sqrt__double_8cpp_ae662282ad0740d2063ac404ca3bd74fc_cgraph.map deleted file mode 100644 index a3921abc4..000000000 --- a/da/d24/sqrt__double_8cpp_ae662282ad0740d2063ac404ca3bd74fc_cgraph.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/da/d24/sqrt__double_8cpp_ae662282ad0740d2063ac404ca3bd74fc_cgraph.md5 b/da/d24/sqrt__double_8cpp_ae662282ad0740d2063ac404ca3bd74fc_cgraph.md5 deleted file mode 100644 index 846442f2e..000000000 --- a/da/d24/sqrt__double_8cpp_ae662282ad0740d2063ac404ca3bd74fc_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -e24fc689d3e03dedf2ba0b8016c64b1e \ No newline at end of file diff --git a/da/d24/sqrt__double_8cpp_ae662282ad0740d2063ac404ca3bd74fc_cgraph.svg b/da/d24/sqrt__double_8cpp_ae662282ad0740d2063ac404ca3bd74fc_cgraph.svg deleted file mode 100644 index 14262c124..000000000 --- a/da/d24/sqrt__double_8cpp_ae662282ad0740d2063ac404ca3bd74fc_cgraph.svg +++ /dev/null @@ -1,56 +0,0 @@ - - - - - - - - - - - - -Sqrt - - -Node1 - - -Sqrt - - - - - -Node1->Node1 - - - - - - - - - - - - - diff --git a/da/d24/sqrt__double_8cpp_ae662282ad0740d2063ac404ca3bd74fc_cgraph_org.svg b/da/d24/sqrt__double_8cpp_ae662282ad0740d2063ac404ca3bd74fc_cgraph_org.svg deleted file mode 100644 index 2e0f95257..000000000 --- a/da/d24/sqrt__double_8cpp_ae662282ad0740d2063ac404ca3bd74fc_cgraph_org.svg +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - -Sqrt - - -Node1 - - -Sqrt - - - - - -Node1->Node1 - - - - - - - - diff --git a/da/d24/sqrt__double_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/da/d24/sqrt__double_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 8efa667af..000000000 --- a/da/d24/sqrt__double_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/da/d24/sqrt__double_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/da/d24/sqrt__double_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index 9ce4773a0..000000000 --- a/da/d24/sqrt__double_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -da54cbb2722c22289ed68982a49d9ce0 \ No newline at end of file diff --git a/da/d24/sqrt__double_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/da/d24/sqrt__double_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 104d301fa..000000000 --- a/da/d24/sqrt__double_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,92 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -std::fixed - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -Sqrt - - - - - -Node1->Node3 - - - - - - - - -Node3->Node3 - - - - - - - - - - - - - diff --git a/da/d24/sqrt__double_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/da/d24/sqrt__double_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 4bef32b10..000000000 --- a/da/d24/sqrt__double_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -std::fixed - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -Sqrt - - - - - -Node1->Node3 - - - - - - - - -Node3->Node3 - - - - - - - - diff --git a/da/d24/sqrt__double_8cpp_source.html b/da/d24/sqrt__double_8cpp_source.html new file mode 100644 index 000000000..84921b756 --- /dev/null +++ b/da/d24/sqrt__double_8cpp_source.html @@ -0,0 +1,180 @@ + + + + + + + + +TheAlgorithms/C++: math/sqrt_double.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    sqrt_double.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    10#include <cassert>
    +
    11#include <iostream>
    +
    12
    +
    +
    16double Sqrt(double a) {
    +
    17 if (a > 0 && a < 1) {
    +
    18 return 1 / Sqrt(1 / a);
    +
    19 }
    +
    20 double l = 0, r = a;
    +
    21 /* Epsilon is the precision.
    +
    22 A great precision is
    +
    23 between 1e-7 and 1e-12.
    +
    24 double epsilon = 1e-12;
    +
    25 */
    +
    26 double epsilon = 1e-12;
    +
    27 while (l <= r) {
    +
    28 double mid = (l + r) / 2;
    +
    29 if (mid * mid > a) {
    +
    30 r = mid;
    +
    31 } else {
    +
    32 if (a - mid * mid < epsilon) {
    +
    33 return mid;
    +
    34 }
    +
    35 l = mid;
    +
    36 }
    +
    37 }
    +
    38 return -1;
    +
    39}
    +
    +
    40
    +
    +
    42int main() {
    +
    43 double n{};
    +
    44 std::cin >> n;
    +
    45 assert(n >= 0);
    +
    46 // Change this line for a better precision
    +
    47 std::cout.precision(12);
    +
    48 std::cout << std::fixed << Sqrt(n);
    +
    49}
    +
    +
    double Sqrt(double a)
    +
    int main()
    +
    +
    + + + + diff --git a/da/d27/prim_8cpp_source.html b/da/d27/prim_8cpp_source.html new file mode 100644 index 000000000..c5be67f0a --- /dev/null +++ b/da/d27/prim_8cpp_source.html @@ -0,0 +1,196 @@ + + + + + + + + +TheAlgorithms/C++: graph/prim.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    prim.cpp
    +
    +
    +
    1// C++ program to implement Prim's Algorithm
    +
    2#include <iostream>
    +
    3#include <queue>
    +
    4#include <vector>
    +
    5
    +
    6using PII = std::pair<int, int>;
    +
    7
    +
    8int prim(int x, const std::vector<std::vector<PII> > &graph) {
    +
    9 // priority queue to maintain edges with respect to weights
    +
    10 std::priority_queue<PII, std::vector<PII>, std::greater<PII> > Q;
    +
    11 std::vector<bool> marked(graph.size(), false);
    +
    12 int minimum_cost = 0;
    +
    13
    +
    14 Q.push(std::make_pair(0, x));
    +
    15 while (!Q.empty()) {
    +
    16 // Select the edge with minimum weight
    +
    17 PII p = Q.top();
    +
    18 Q.pop();
    +
    19 x = p.second;
    +
    20 // Checking for cycle
    +
    21 if (marked[x] == true) {
    +
    22 continue;
    +
    23 }
    +
    24 minimum_cost += p.first;
    +
    25 marked[x] = true;
    +
    26 for (const PII &neighbor : graph[x]) {
    +
    27 int y = neighbor.second;
    +
    28 if (marked[y] == false) {
    +
    29 Q.push(neighbor);
    +
    30 }
    +
    31 }
    +
    32 }
    +
    33 return minimum_cost;
    +
    34}
    +
    35
    +
    36int main() {
    +
    37 int nodes = 0, edges = 0;
    +
    38 std::cin >> nodes >> edges; // number of nodes & edges in graph
    +
    39 if (nodes == 0 || edges == 0) {
    +
    40 return 0;
    +
    41 }
    +
    42
    +
    43 std::vector<std::vector<PII> > graph(nodes);
    +
    44
    +
    45 // Edges with their nodes & weight
    +
    46 for (int i = 0; i < edges; ++i) {
    +
    47 int x = 0, y = 0, weight = 0;
    +
    48 std::cin >> x >> y >> weight;
    +
    49 graph[x].push_back(std::make_pair(weight, y));
    +
    50 graph[y].push_back(std::make_pair(weight, x));
    +
    51 }
    +
    52
    +
    53 // Selecting 1 as the starting node
    +
    54 int minimum_cost = prim(1, graph);
    +
    55 std::cout << minimum_cost << std::endl;
    +
    56 return 0;
    +
    57}
    +
    int main()
    Main function.
    +
    Graph Algorithms.
    +
    +
    + + + + diff --git a/da/d32/classdata__structures_1_1trie__using__hashmap_1_1_trie__coll__graph.map b/da/d32/classdata__structures_1_1trie__using__hashmap_1_1_trie__coll__graph.map index 0df715ad5..e8a02954e 100644 --- a/da/d32/classdata__structures_1_1trie__using__hashmap_1_1_trie__coll__graph.map +++ b/da/d32/classdata__structures_1_1trie__using__hashmap_1_1_trie__coll__graph.map @@ -1,8 +1,8 @@ - + - + diff --git a/da/d32/classdata__structures_1_1trie__using__hashmap_1_1_trie__coll__graph.md5 b/da/d32/classdata__structures_1_1trie__using__hashmap_1_1_trie__coll__graph.md5 index a1b041ada..00c18e602 100644 --- a/da/d32/classdata__structures_1_1trie__using__hashmap_1_1_trie__coll__graph.md5 +++ b/da/d32/classdata__structures_1_1trie__using__hashmap_1_1_trie__coll__graph.md5 @@ -1 +1 @@ -446e1ad803da03d2ddb723938022620b \ No newline at end of file +1335981d0644c15d1eb8fffc40fac314 \ No newline at end of file diff --git a/da/d32/classdata__structures_1_1trie__using__hashmap_1_1_trie__coll__graph.svg b/da/d32/classdata__structures_1_1trie__using__hashmap_1_1_trie__coll__graph.svg index 2023bbf50..d23928394 100644 --- a/da/d32/classdata__structures_1_1trie__using__hashmap_1_1_trie__coll__graph.svg +++ b/da/d32/classdata__structures_1_1trie__using__hashmap_1_1_trie__coll__graph.svg @@ -68,7 +68,7 @@ var sectionId = 'dynsection-0'; Node2 - + std::shared_ptr< data _structures::trie_using @@ -89,7 +89,7 @@ var sectionId = 'dynsection-0'; Node4 - + std::unordered_map < char16_t, std::shared diff --git a/da/d32/classdata__structures_1_1trie__using__hashmap_1_1_trie__coll__graph_org.svg b/da/d32/classdata__structures_1_1trie__using__hashmap_1_1_trie__coll__graph_org.svg index 38adf8ac0..65c929e12 100644 --- a/da/d32/classdata__structures_1_1trie__using__hashmap_1_1_trie__coll__graph_org.svg +++ b/da/d32/classdata__structures_1_1trie__using__hashmap_1_1_trie__coll__graph_org.svg @@ -21,7 +21,7 @@ Node2 - + std::shared_ptr< data _structures::trie_using @@ -42,7 +42,7 @@ Node4 - + std::unordered_map < char16_t, std::shared diff --git a/da/d37/structdata__structures_1_1sparse__table_1_1_sparse__table.html b/da/d37/structdata__structures_1_1sparse__table_1_1_sparse__table.html index 875b0eaf8..e8488a47c 100644 --- a/da/d37/structdata__structures_1_1sparse__table_1_1_sparse__table.html +++ b/da/d37/structdata__structures_1_1sparse__table_1_1_sparse__table.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: data_structures::sparse_table::Sparse_table Struct Reference +TheAlgorithms/C++: data_structures::sparse_table::Sparse_table Struct Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -114,7 +131,7 @@ $(function(){initNavTree('da/d37/structdata__structures_1_1sparse__table_1_1_spa
    Collaboration diagram for data_structures::sparse_table::Sparse_table:
    -
    +
    [legend]
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++

    @@ -125,21 +142,23 @@ Public Member Functions

    - - + + - + - + - +

    Public Attributes

    -size_t n = 0
     size of input array.
    size_t n = 0
     size of input array.
     
    std::array< int64_t, NA = {}
    std::array< int64_t, NA = {}
     input array to perform RMQ.
     
    std::array< std::array< int64_t, N >, MST {}
    std::array< std::array< int64_t, N >, MST {}
     the sparse table storing min() values for given interval.
     
    std::array< int64_t, NLOG = {}
    std::array< int64_t, NLOG = {}
     where floor(log2(i)) are precomputed.
     
    -

    Member Function Documentation

    +

    Detailed Description

    +
    +

    Definition at line 51 of file sparse_table.cpp.

    +

    Member Function Documentation

    ◆ query()

    @@ -180,22 +199,21 @@ size_t n = 0

    < represents minimum value over the range [g,l]

    < represents minimum value over the range [g, r - pow(2,g) + 1]

    < represents minimum value over the whole range [l,r]

    + +

    Definition at line 110 of file sparse_table.cpp.

    110 {
    -
    111 int64_t g = LOG[r - l + 1]; ///< smallest power of 2 covering [l,r]
    -
    112 int64_t x = ST[g][l]; ///< represents minimum value over the range
    -
    113 ///< [g,l]
    -
    114 int64_t y =
    -
    115 ST[g][r - (1 << g) + 1]; ///< represents minimum value over the
    -
    116 ///< range [g, r - pow(2,g) + 1]
    -
    117
    -
    118 return (A[x] <= A[y] ? x : y); ///< represents minimum value over
    -
    119 ///< the whole range [l,r]
    -
    120 }
    -
    double g(double x)
    Another test function.
    Definition composite_simpson_rule.cpp:115
    -
    double l(double x)
    Another test function.
    Definition composite_simpson_rule.cpp:119
    -
    std::array< int64_t, N > LOG
    where floor(log2(i)) are precomputed.
    Definition sparse_table.cpp:60
    -
    std::array< int64_t, N > A
    input array to perform RMQ.
    Definition sparse_table.cpp:57
    -
    std::array< std::array< int64_t, N >, M > ST
    the sparse table storing min() values for given interval.
    Definition sparse_table.cpp:59
    +
    111 int64_t g = LOG[r - l + 1];
    +
    112 int64_t x = ST[g][l];
    +
    114 int64_t y =
    +
    115 ST[g][r - (1 << g) + 1];
    +
    117
    +
    118 return (A[x] <= A[y] ? x : y);
    +
    120 }
    +
    double g(double x)
    Another test function.
    +
    double l(double x)
    Another test function.
    +
    std::array< int64_t, N > LOG
    where floor(log2(i)) are precomputed.
    +
    std::array< int64_t, N > A
    input array to perform RMQ.
    +
    std::array< std::array< int64_t, N >, M > ST
    the sparse table storing min() values for given interval.
    @@ -207,14 +225,16 @@ size_t n = 0
    - +
    std::array<int64_t, N> data_structures::sparse_table::Sparse_table::A = {}std::array<int64_t, N> data_structures::sparse_table::Sparse_table::A = {}

    input array to perform RMQ.

    Warning
    check if N is not less than n. if so, manually increase the value of N
    -
    57{}; ///< input array to perform RMQ.
    + +

    Definition at line 57 of file sparse_table.cpp.

    +
    57{};
    @@ -225,14 +245,34 @@ size_t n = 0
    - +
    std::array<int64_t, N> data_structures::sparse_table::Sparse_table::LOG = {}std::array<int64_t, N> data_structures::sparse_table::Sparse_table::LOG = {}

    where floor(log2(i)) are precomputed.

    -
    60{}; ///< where floor(log2(i)) are precomputed.
    + +

    Definition at line 60 of file sparse_table.cpp.

    +
    60{};
    +
    +
    + +

    ◆ n

    + +
    +
    + + + + +
    size_t data_structures::sparse_table::Sparse_table::n = 0
    +
    + +

    size of input array.

    + +

    Definition at line 52 of file sparse_table.cpp.

    +
    @@ -242,18 +282,20 @@ size_t n = 0
    - +
    std::array<std::array<int64_t, N>, M> data_structures::sparse_table::Sparse_table::ST {}std::array<std::array<int64_t, N>, M> data_structures::sparse_table::Sparse_table::ST {}

    the sparse table storing min() values for given interval.

    -
    59{}; ///< the sparse table storing `min()` values for given interval.
    + +

    Definition at line 59 of file sparse_table.cpp.

    +
    59{};

    The documentation for this struct was generated from the following file: diff --git a/da/d39/volume_8cpp.html b/da/d39/volume_8cpp.html index 0b8987a93..1f0d27469 100644 --- a/da/d39/volume_8cpp.html +++ b/da/d39/volume_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: math/volume.cpp File Reference +TheAlgorithms/C++: math/volume.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -122,7 +139,9 @@ Include dependency graph for volume.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -170,6 +189,8 @@ Functions

    Implmentations for the volume of various 3D shapes.

    The volume of a 3D shape is the amount of 3D space that the shape takes up. All shapes have a formula to get the volume of any given shape. These implementations support multiple return types.

    Author
    Focusucof
    + +

    Definition in file volume.cpp.

    Function Documentation

    ◆ main()

    @@ -188,17 +209,14 @@ Functions

    Main function.

    Returns
    0 on exit
    + +

    Definition at line 235 of file volume.cpp.

    235 {
    236 test(); // run self-test implementations
    237 return 0;
    238}
    -
    static void test()
    Self-test implementations.
    Definition volume.cpp:112
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static void test()
    Self-test implementations.
    Definition volume.cpp:112
    + @@ -226,6 +244,8 @@ Here is the call graph for this function:

    Self-test implementations.

    Returns
    void
    + +

    Definition at line 112 of file volume.cpp.

    112 {
    113 // Input variables
    114 uint32_t int_length = 0; // 32 bit integer length input
    @@ -249,12 +269,12 @@ Here is the call graph for this function:
    132 int_expected = 125;
    133 int_volume = math::cube_volume(int_length);
    134
    -
    135 std::cout << "VOLUME OF A CUBE" << std::endl;
    -
    136 std::cout << "Input Length: " << int_length << std::endl;
    -
    137 std::cout << "Expected Output: " << int_expected << std::endl;
    -
    138 std::cout << "Output: " << int_volume << std::endl;
    +
    135 std::cout << "VOLUME OF A CUBE" << std::endl;
    +
    136 std::cout << "Input Length: " << int_length << std::endl;
    +
    137 std::cout << "Expected Output: " << int_expected << std::endl;
    +
    138 std::cout << "Output: " << int_volume << std::endl;
    139 assert(int_volume == int_expected);
    -
    140 std::cout << "TEST PASSED" << std::endl << std::endl;
    +
    140 std::cout << "TEST PASSED" << std::endl << std::endl;
    141
    142 // 2nd test
    143 int_length = 4;
    @@ -263,14 +283,14 @@ Here is the call graph for this function:
    146 int_expected = 60;
    147 int_volume = math::rect_prism_volume(int_length, int_width, int_height);
    148
    -
    149 std::cout << "VOLUME OF A RECTANGULAR PRISM" << std::endl;
    -
    150 std::cout << "Input Length: " << int_length << std::endl;
    -
    151 std::cout << "Input Width: " << int_width << std::endl;
    -
    152 std::cout << "Input Height: " << int_height << std::endl;
    -
    153 std::cout << "Expected Output: " << int_expected << std::endl;
    -
    154 std::cout << "Output: " << int_volume << std::endl;
    +
    149 std::cout << "VOLUME OF A RECTANGULAR PRISM" << std::endl;
    +
    150 std::cout << "Input Length: " << int_length << std::endl;
    +
    151 std::cout << "Input Width: " << int_width << std::endl;
    +
    152 std::cout << "Input Height: " << int_height << std::endl;
    +
    153 std::cout << "Expected Output: " << int_expected << std::endl;
    +
    154 std::cout << "Output: " << int_volume << std::endl;
    155 assert(int_volume == int_expected);
    -
    156 std::cout << "TEST PASSED" << std::endl << std::endl;
    +
    156 std::cout << "TEST PASSED" << std::endl << std::endl;
    157
    158 // 3rd test
    159 double_radius = 5;
    @@ -278,13 +298,13 @@ Here is the call graph for this function:
    161 double_expected = 183.16666666666666; // truncated to 14 decimal places
    162 double_volume = math::cone_volume(double_radius, double_height);
    163
    -
    164 std::cout << "VOLUME OF A CONE" << std::endl;
    -
    165 std::cout << "Input Radius: " << double_radius << std::endl;
    -
    166 std::cout << "Input Height: " << double_height << std::endl;
    -
    167 std::cout << "Expected Output: " << double_expected << std::endl;
    -
    168 std::cout << "Output: " << double_volume << std::endl;
    +
    164 std::cout << "VOLUME OF A CONE" << std::endl;
    +
    165 std::cout << "Input Radius: " << double_radius << std::endl;
    +
    166 std::cout << "Input Height: " << double_height << std::endl;
    +
    167 std::cout << "Expected Output: " << double_expected << std::endl;
    +
    168 std::cout << "Output: " << double_volume << std::endl;
    169 assert(double_volume == double_expected);
    -
    170 std::cout << "TEST PASSED" << std::endl << std::endl;
    +
    170 std::cout << "TEST PASSED" << std::endl << std::endl;
    171
    172 // 4th test
    173 int_base = 3;
    @@ -293,14 +313,14 @@ Here is the call graph for this function:
    176 int_expected = 30;
    177 int_volume = math::triangle_prism_volume(int_base, int_height, int_depth);
    178
    -
    179 std::cout << "VOLUME OF A TRIANGULAR PRISM" << std::endl;
    -
    180 std::cout << "Input Base: " << int_base << std::endl;
    -
    181 std::cout << "Input Height: " << int_height << std::endl;
    -
    182 std::cout << "Input Depth: " << int_depth << std::endl;
    -
    183 std::cout << "Expected Output: " << int_expected << std::endl;
    -
    184 std::cout << "Output: " << int_volume << std::endl;
    +
    179 std::cout << "VOLUME OF A TRIANGULAR PRISM" << std::endl;
    +
    180 std::cout << "Input Base: " << int_base << std::endl;
    +
    181 std::cout << "Input Height: " << int_height << std::endl;
    +
    182 std::cout << "Input Depth: " << int_depth << std::endl;
    +
    183 std::cout << "Expected Output: " << int_expected << std::endl;
    +
    184 std::cout << "Output: " << int_volume << std::endl;
    185 assert(int_volume == int_expected);
    -
    186 std::cout << "TEST PASSED" << std::endl << std::endl;
    +
    186 std::cout << "TEST PASSED" << std::endl << std::endl;
    187
    188 // 5th test
    189 int_length = 10;
    @@ -309,26 +329,26 @@ Here is the call graph for this function:
    192 int_expected = 50;
    193 int_volume = math::pyramid_volume(int_length, int_width, int_height);
    194
    -
    195 std::cout << "VOLUME OF A PYRAMID" << std::endl;
    -
    196 std::cout << "Input Length: " << int_length << std::endl;
    -
    197 std::cout << "Input Width: " << int_width << std::endl;
    -
    198 std::cout << "Input Height: " << int_height << std::endl;
    -
    199 std::cout << "Expected Output: " << int_expected << std::endl;
    -
    200 std::cout << "Output: " << int_volume << std::endl;
    +
    195 std::cout << "VOLUME OF A PYRAMID" << std::endl;
    +
    196 std::cout << "Input Length: " << int_length << std::endl;
    +
    197 std::cout << "Input Width: " << int_width << std::endl;
    +
    198 std::cout << "Input Height: " << int_height << std::endl;
    +
    199 std::cout << "Expected Output: " << int_expected << std::endl;
    +
    200 std::cout << "Output: " << int_volume << std::endl;
    201 assert(int_volume == int_expected);
    -
    202 std::cout << "TEST PASSED" << std::endl << std::endl;
    +
    202 std::cout << "TEST PASSED" << std::endl << std::endl;
    203
    204 // 6th test
    205 double_radius = 3;
    206 double_expected = 113.04;
    207 double_volume = math::sphere_volume(double_radius);
    208
    -
    209 std::cout << "VOLUME OF A SPHERE" << std::endl;
    -
    210 std::cout << "Input Radius: " << double_radius << std::endl;
    -
    211 std::cout << "Expected Output: " << double_expected << std::endl;
    -
    212 std::cout << "Output: " << double_volume << std::endl;
    +
    209 std::cout << "VOLUME OF A SPHERE" << std::endl;
    +
    210 std::cout << "Input Radius: " << double_radius << std::endl;
    +
    211 std::cout << "Expected Output: " << double_expected << std::endl;
    +
    212 std::cout << "Output: " << double_volume << std::endl;
    213 assert(double_volume == double_expected);
    -
    214 std::cout << "TEST PASSED" << std::endl << std::endl;
    +
    214 std::cout << "TEST PASSED" << std::endl << std::endl;
    215
    216 // 7th test
    217 double_radius = 5;
    @@ -336,29 +356,22 @@ Here is the call graph for this function:
    219 double_expected = 157;
    220 double_volume = math::cylinder_volume(double_radius, double_height);
    221
    -
    222 std::cout << "VOLUME OF A CYLINDER" << std::endl;
    -
    223 std::cout << "Input Radius: " << double_radius << std::endl;
    -
    224 std::cout << "Input Height: " << double_height << std::endl;
    -
    225 std::cout << "Expected Output: " << double_expected << std::endl;
    -
    226 std::cout << "Output: " << double_volume << std::endl;
    +
    222 std::cout << "VOLUME OF A CYLINDER" << std::endl;
    +
    223 std::cout << "Input Radius: " << double_radius << std::endl;
    +
    224 std::cout << "Input Height: " << double_height << std::endl;
    +
    225 std::cout << "Expected Output: " << double_expected << std::endl;
    +
    226 std::cout << "Output: " << double_volume << std::endl;
    227 assert(double_volume == double_expected);
    -
    228 std::cout << "TEST PASSED" << std::endl << std::endl;
    +
    228 std::cout << "TEST PASSED" << std::endl << std::endl;
    229}
    - -
    T endl(T... args)
    -
    T triangle_prism_volume(T base, T height, T depth)
    The volume of a triangular prism.
    Definition volume.cpp:67
    -
    T sphere_volume(T radius, double PI=3.14)
    The volume of a sphere
    Definition volume.cpp:91
    -
    T rect_prism_volume(T length, T width, T height)
    The volume of a rectangular prism.
    Definition volume.cpp:41
    -
    T cone_volume(T radius, T height, double PI=3.14)
    The volume of a cone
    Definition volume.cpp:53
    -
    T pyramid_volume(T length, T width, T height)
    The volume of a pyramid
    Definition volume.cpp:80
    -
    T cylinder_volume(T radius, T height, double PI=3.14)
    The volume of a cylinder
    Definition volume.cpp:103
    -
    T cube_volume(T length)
    The volume of a cube
    Definition volume.cpp:28
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    T triangle_prism_volume(T base, T height, T depth)
    The volume of a triangular prism.
    Definition volume.cpp:67
    +
    T sphere_volume(T radius, double PI=3.14)
    The volume of a sphere
    Definition volume.cpp:91
    +
    T rect_prism_volume(T length, T width, T height)
    The volume of a rectangular prism.
    Definition volume.cpp:41
    +
    T cone_volume(T radius, T height, double PI=3.14)
    The volume of a cone
    Definition volume.cpp:53
    +
    T pyramid_volume(T length, T width, T height)
    The volume of a pyramid
    Definition volume.cpp:80
    +
    T cylinder_volume(T radius, T height, double PI=3.14)
    The volume of a cylinder
    Definition volume.cpp:103
    +
    T cube_volume(T length)
    The volume of a cube
    Definition volume.cpp:28
    + diff --git a/da/d39/volume_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map b/da/d39/volume_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map deleted file mode 100644 index 0b850235a..000000000 --- a/da/d39/volume_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map +++ /dev/null @@ -1,33 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/da/d39/volume_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 b/da/d39/volume_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 deleted file mode 100644 index 0fef6ee3b..000000000 --- a/da/d39/volume_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -a2042f44422579dc6741441ab872465c \ No newline at end of file diff --git a/da/d39/volume_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg b/da/d39/volume_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg deleted file mode 100644 index 0a1b21557..000000000 --- a/da/d39/volume_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg +++ /dev/null @@ -1,318 +0,0 @@ - - - - - - - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -math::cone_volume - - - - - -Node1->Node2 - - - - - - - - -Node6 - - -math::cube_volume - - - - - -Node1->Node6 - - - - - - - - -Node7 - - -math::cylinder_volume - - - - - -Node1->Node7 - - - - - - - - -Node8 - - -std::endl - - - - - -Node1->Node8 - - - - - - - - -Node9 - - -math::pyramid_volume - - - - - -Node1->Node9 - - - - - - - - -Node10 - - -math::rect_prism_volume - - - - - -Node1->Node10 - - - - - - - - -Node11 - - -math::sphere_volume - - - - - -Node1->Node11 - - - - - - - - -Node12 - - -math::triangle_prism -_volume - - - - - -Node1->Node12 - - - - - - - - -Node3 - - -height - - - - - -Node2->Node3 - - - - - - - - -Node5 - - -std::pow - - - - - -Node2->Node5 - - - - - - - - -Node3->Node3 - - - - - - - - -Node4 - - -std::max - - - - - -Node3->Node4 - - - - - - - - -Node6->Node5 - - - - - - - - -Node7->Node3 - - - - - - - - -Node7->Node5 - - - - - - - - -Node9->Node3 - - - - - - - - -Node10->Node3 - - - - - - - - -Node11->Node5 - - - - - - - - -Node12->Node3 - - - - - - - - - - - - - diff --git a/da/d39/volume_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg b/da/d39/volume_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg deleted file mode 100644 index 9b26ead22..000000000 --- a/da/d39/volume_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg +++ /dev/null @@ -1,292 +0,0 @@ - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -math::cone_volume - - - - - -Node1->Node2 - - - - - - - - -Node6 - - -math::cube_volume - - - - - -Node1->Node6 - - - - - - - - -Node7 - - -math::cylinder_volume - - - - - -Node1->Node7 - - - - - - - - -Node8 - - -std::endl - - - - - -Node1->Node8 - - - - - - - - -Node9 - - -math::pyramid_volume - - - - - -Node1->Node9 - - - - - - - - -Node10 - - -math::rect_prism_volume - - - - - -Node1->Node10 - - - - - - - - -Node11 - - -math::sphere_volume - - - - - -Node1->Node11 - - - - - - - - -Node12 - - -math::triangle_prism -_volume - - - - - -Node1->Node12 - - - - - - - - -Node3 - - -height - - - - - -Node2->Node3 - - - - - - - - -Node5 - - -std::pow - - - - - -Node2->Node5 - - - - - - - - -Node3->Node3 - - - - - - - - -Node4 - - -std::max - - - - - -Node3->Node4 - - - - - - - - -Node6->Node5 - - - - - - - - -Node7->Node3 - - - - - - - - -Node7->Node5 - - - - - - - - -Node9->Node3 - - - - - - - - -Node10->Node3 - - - - - - - - -Node11->Node5 - - - - - - - - -Node12->Node3 - - - - - - - - diff --git a/da/d39/volume_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/da/d39/volume_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index c959fc4dc..000000000 --- a/da/d39/volume_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,35 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/da/d39/volume_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/da/d39/volume_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index ed37e25d6..000000000 --- a/da/d39/volume_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -61f18d2a4263c96e3cb9bdb9e010288d \ No newline at end of file diff --git a/da/d39/volume_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/da/d39/volume_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index fc43891dc..000000000 --- a/da/d39/volume_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,336 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -math::cone_volume - - - - - -Node2->Node3 - - - - - - - - -Node7 - - -math::cube_volume - - - - - -Node2->Node7 - - - - - - - - -Node8 - - -math::cylinder_volume - - - - - -Node2->Node8 - - - - - - - - -Node9 - - -std::endl - - - - - -Node2->Node9 - - - - - - - - -Node10 - - -math::pyramid_volume - - - - - -Node2->Node10 - - - - - - - - -Node11 - - -math::rect_prism_volume - - - - - -Node2->Node11 - - - - - - - - -Node12 - - -math::sphere_volume - - - - - -Node2->Node12 - - - - - - - - -Node13 - - -math::triangle_prism -_volume - - - - - -Node2->Node13 - - - - - - - - -Node4 - - -height - - - - - -Node3->Node4 - - - - - - - - -Node6 - - -std::pow - - - - - -Node3->Node6 - - - - - - - - -Node4->Node4 - - - - - - - - -Node5 - - -std::max - - - - - -Node4->Node5 - - - - - - - - -Node7->Node6 - - - - - - - - -Node8->Node4 - - - - - - - - -Node8->Node6 - - - - - - - - -Node10->Node4 - - - - - - - - -Node11->Node4 - - - - - - - - -Node12->Node6 - - - - - - - - -Node13->Node4 - - - - - - - - - - - - - diff --git a/da/d39/volume_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/da/d39/volume_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 26dd50053..000000000 --- a/da/d39/volume_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,310 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -math::cone_volume - - - - - -Node2->Node3 - - - - - - - - -Node7 - - -math::cube_volume - - - - - -Node2->Node7 - - - - - - - - -Node8 - - -math::cylinder_volume - - - - - -Node2->Node8 - - - - - - - - -Node9 - - -std::endl - - - - - -Node2->Node9 - - - - - - - - -Node10 - - -math::pyramid_volume - - - - - -Node2->Node10 - - - - - - - - -Node11 - - -math::rect_prism_volume - - - - - -Node2->Node11 - - - - - - - - -Node12 - - -math::sphere_volume - - - - - -Node2->Node12 - - - - - - - - -Node13 - - -math::triangle_prism -_volume - - - - - -Node2->Node13 - - - - - - - - -Node4 - - -height - - - - - -Node3->Node4 - - - - - - - - -Node6 - - -std::pow - - - - - -Node3->Node6 - - - - - - - - -Node4->Node4 - - - - - - - - -Node5 - - -std::max - - - - - -Node4->Node5 - - - - - - - - -Node7->Node6 - - - - - - - - -Node8->Node4 - - - - - - - - -Node8->Node6 - - - - - - - - -Node10->Node4 - - - - - - - - -Node11->Node4 - - - - - - - - -Node12->Node6 - - - - - - - - -Node13->Node4 - - - - - - - - diff --git a/da/d39/volume_8cpp_source.html b/da/d39/volume_8cpp_source.html new file mode 100644 index 000000000..6c1221c07 --- /dev/null +++ b/da/d39/volume_8cpp_source.html @@ -0,0 +1,332 @@ + + + + + + + + +TheAlgorithms/C++: math/volume.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    +

    Namespaces

    namespace  math
    + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + + +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    volume.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    12#include <cassert>
    +
    13#include <cmath>
    +
    14#include <cstdint>
    +
    15#include <iostream>
    +
    16
    +
    21namespace math {
    +
    27template <typename T>
    +
    +
    28T cube_volume(T length) {
    +
    29 return std::pow(length, 3);
    +
    30}
    +
    +
    31
    +
    40template <typename T>
    +
    +
    41T rect_prism_volume(T length, T width, T height) {
    +
    42 return length * width * height;
    +
    43}
    +
    +
    44
    +
    52template <typename T>
    +
    +
    53T cone_volume(T radius, T height, double PI = 3.14) {
    +
    54 return std::pow(radius, 2) * PI * height / 3;
    +
    55}
    +
    +
    56
    +
    66template <typename T>
    +
    +
    67T triangle_prism_volume(T base, T height, T depth) {
    +
    68 return base * height * depth / 2;
    +
    69}
    +
    +
    70
    +
    79template <typename T>
    +
    +
    80T pyramid_volume(T length, T width, T height) {
    +
    81 return length * width * height / 3;
    +
    82}
    +
    +
    83
    +
    90template <typename T>
    +
    +
    91T sphere_volume(T radius, double PI = 3.14) {
    +
    92 return PI * std::pow(radius, 3) * 4 / 3;
    +
    93}
    +
    +
    94
    +
    102template <typename T>
    +
    +
    103T cylinder_volume(T radius, T height, double PI = 3.14) {
    +
    104 return PI * std::pow(radius, 2) * height;
    +
    105}
    +
    +
    106} // namespace math
    +
    107
    +
    +
    112static void test() {
    +
    113 // Input variables
    +
    114 uint32_t int_length = 0; // 32 bit integer length input
    +
    115 uint32_t int_width = 0; // 32 bit integer width input
    +
    116 uint32_t int_base = 0; // 32 bit integer base input
    +
    117 uint32_t int_height = 0; // 32 bit integer height input
    +
    118 uint32_t int_depth = 0; // 32 bit integer depth input
    +
    119
    +
    120 double double_radius = NAN; // double radius input
    +
    121 double double_height = NAN; // double height input
    +
    122
    +
    123 // Output variables
    +
    124 uint32_t int_expected = 0; // 32 bit integer expected output
    +
    125 uint32_t int_volume = 0; // 32 bit integer output
    +
    126
    +
    127 double double_expected = NAN; // double expected output
    +
    128 double double_volume = NAN; // double output
    +
    129
    +
    130 // 1st test
    +
    131 int_length = 5;
    +
    132 int_expected = 125;
    +
    133 int_volume = math::cube_volume(int_length);
    +
    134
    +
    135 std::cout << "VOLUME OF A CUBE" << std::endl;
    +
    136 std::cout << "Input Length: " << int_length << std::endl;
    +
    137 std::cout << "Expected Output: " << int_expected << std::endl;
    +
    138 std::cout << "Output: " << int_volume << std::endl;
    +
    139 assert(int_volume == int_expected);
    +
    140 std::cout << "TEST PASSED" << std::endl << std::endl;
    +
    141
    +
    142 // 2nd test
    +
    143 int_length = 4;
    +
    144 int_width = 3;
    +
    145 int_height = 5;
    +
    146 int_expected = 60;
    +
    147 int_volume = math::rect_prism_volume(int_length, int_width, int_height);
    +
    148
    +
    149 std::cout << "VOLUME OF A RECTANGULAR PRISM" << std::endl;
    +
    150 std::cout << "Input Length: " << int_length << std::endl;
    +
    151 std::cout << "Input Width: " << int_width << std::endl;
    +
    152 std::cout << "Input Height: " << int_height << std::endl;
    +
    153 std::cout << "Expected Output: " << int_expected << std::endl;
    +
    154 std::cout << "Output: " << int_volume << std::endl;
    +
    155 assert(int_volume == int_expected);
    +
    156 std::cout << "TEST PASSED" << std::endl << std::endl;
    +
    157
    +
    158 // 3rd test
    +
    159 double_radius = 5;
    +
    160 double_height = 7;
    +
    161 double_expected = 183.16666666666666; // truncated to 14 decimal places
    +
    162 double_volume = math::cone_volume(double_radius, double_height);
    +
    163
    +
    164 std::cout << "VOLUME OF A CONE" << std::endl;
    +
    165 std::cout << "Input Radius: " << double_radius << std::endl;
    +
    166 std::cout << "Input Height: " << double_height << std::endl;
    +
    167 std::cout << "Expected Output: " << double_expected << std::endl;
    +
    168 std::cout << "Output: " << double_volume << std::endl;
    +
    169 assert(double_volume == double_expected);
    +
    170 std::cout << "TEST PASSED" << std::endl << std::endl;
    +
    171
    +
    172 // 4th test
    +
    173 int_base = 3;
    +
    174 int_height = 4;
    +
    175 int_depth = 5;
    +
    176 int_expected = 30;
    +
    177 int_volume = math::triangle_prism_volume(int_base, int_height, int_depth);
    +
    178
    +
    179 std::cout << "VOLUME OF A TRIANGULAR PRISM" << std::endl;
    +
    180 std::cout << "Input Base: " << int_base << std::endl;
    +
    181 std::cout << "Input Height: " << int_height << std::endl;
    +
    182 std::cout << "Input Depth: " << int_depth << std::endl;
    +
    183 std::cout << "Expected Output: " << int_expected << std::endl;
    +
    184 std::cout << "Output: " << int_volume << std::endl;
    +
    185 assert(int_volume == int_expected);
    +
    186 std::cout << "TEST PASSED" << std::endl << std::endl;
    +
    187
    +
    188 // 5th test
    +
    189 int_length = 10;
    +
    190 int_width = 3;
    +
    191 int_height = 5;
    +
    192 int_expected = 50;
    +
    193 int_volume = math::pyramid_volume(int_length, int_width, int_height);
    +
    194
    +
    195 std::cout << "VOLUME OF A PYRAMID" << std::endl;
    +
    196 std::cout << "Input Length: " << int_length << std::endl;
    +
    197 std::cout << "Input Width: " << int_width << std::endl;
    +
    198 std::cout << "Input Height: " << int_height << std::endl;
    +
    199 std::cout << "Expected Output: " << int_expected << std::endl;
    +
    200 std::cout << "Output: " << int_volume << std::endl;
    +
    201 assert(int_volume == int_expected);
    +
    202 std::cout << "TEST PASSED" << std::endl << std::endl;
    +
    203
    +
    204 // 6th test
    +
    205 double_radius = 3;
    +
    206 double_expected = 113.04;
    +
    207 double_volume = math::sphere_volume(double_radius);
    +
    208
    +
    209 std::cout << "VOLUME OF A SPHERE" << std::endl;
    +
    210 std::cout << "Input Radius: " << double_radius << std::endl;
    +
    211 std::cout << "Expected Output: " << double_expected << std::endl;
    +
    212 std::cout << "Output: " << double_volume << std::endl;
    +
    213 assert(double_volume == double_expected);
    +
    214 std::cout << "TEST PASSED" << std::endl << std::endl;
    +
    215
    +
    216 // 7th test
    +
    217 double_radius = 5;
    +
    218 double_height = 2;
    +
    219 double_expected = 157;
    +
    220 double_volume = math::cylinder_volume(double_radius, double_height);
    +
    221
    +
    222 std::cout << "VOLUME OF A CYLINDER" << std::endl;
    +
    223 std::cout << "Input Radius: " << double_radius << std::endl;
    +
    224 std::cout << "Input Height: " << double_height << std::endl;
    +
    225 std::cout << "Expected Output: " << double_expected << std::endl;
    +
    226 std::cout << "Output: " << double_volume << std::endl;
    +
    227 assert(double_volume == double_expected);
    +
    228 std::cout << "TEST PASSED" << std::endl << std::endl;
    +
    229}
    +
    +
    230
    +
    +
    235int main() {
    +
    236 test(); // run self-test implementations
    +
    237 return 0;
    +
    238}
    +
    +
    int height(node *root)
    Definition avltree.cpp:38
    +
    for assert
    +
    T triangle_prism_volume(T base, T height, T depth)
    The volume of a triangular prism.
    Definition volume.cpp:67
    +
    T sphere_volume(T radius, double PI=3.14)
    The volume of a sphere
    Definition volume.cpp:91
    +
    T rect_prism_volume(T length, T width, T height)
    The volume of a rectangular prism.
    Definition volume.cpp:41
    +
    T cone_volume(T radius, T height, double PI=3.14)
    The volume of a cone
    Definition volume.cpp:53
    +
    T pyramid_volume(T length, T width, T height)
    The volume of a pyramid
    Definition volume.cpp:80
    +
    T cylinder_volume(T radius, T height, double PI=3.14)
    The volume of a cylinder
    Definition volume.cpp:103
    +
    T cube_volume(T length)
    The volume of a cube
    Definition volume.cpp:28
    +
    static void test()
    Self-test implementations.
    Definition volume.cpp:112
    +
    int main()
    Main function.
    Definition volume.cpp:235
    +
    +
    + + + + diff --git a/da/d41/uint128__t_8hpp.html b/da/d41/uint128__t_8hpp.html index 4be03fba3..5e1a6e0e3 100644 --- a/da/d41/uint128__t_8hpp.html +++ b/da/d41/uint128__t_8hpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: ciphers/uint128_t.hpp File Reference +TheAlgorithms/C++: ciphers/uint128_t.hpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -144,12 +161,12 @@ Classes - +
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++

    Macros

    #define CIPHERS_UINT128_T_HPP_
     for std::reverse and other operations
     for std::reverse and other operations
     
    - + @@ -204,6 +221,8 @@ Functions

    Detailed Description

    Implementation of 128-bit unsigned integers.

    Note
    The implementation can be flagged as not completed. This header is used with enough operations as a part of bigger integer types 256-bit integer.
    Author
    Ashish Daulatabad
    + +

    Definition in file uint128_t.hpp.

    Macro Definition Documentation

    ◆ CIPHERS_UINT128_T_HPP_

    @@ -217,8 +236,10 @@ Functions

    Functions

    std::string add (const std::string &first, const std::string &second)
    std::string add (const std::string &first, const std::string &second)
     Adding two string.
     
    template<typename T , typename = typename std::enable_if< std::is_integral<T>::value, T>::type>
    -

    for std::reverse and other operations

    -

    for std::cout overload for std::string for std::pair library

    +

    for std::reverse and other operations

    +

    for std::cout overload for std::string for std::pair library

    + +

    Definition at line 21 of file uint128_t.hpp.

    @@ -230,14 +251,14 @@ Functions
    - + - + - +
    std::string add std::string add (const std::string & first, const std::string & first,
    const std::string & second )const std::string & second )
    @@ -251,37 +272,28 @@ Functions
    Returns
    string denoting the addition of both the strings
    + +

    Definition at line 38 of file uint128_t.hpp.

    38 {
    -
    39 std::string third;
    +
    39 std::string third;
    40 int16_t sum = 0, carry = 0;
    -
    41 for (int32_t i = static_cast<int32_t>(first.size()) - 1,
    -
    42 j = static_cast<int32_t>(second.size()) - 1;
    +
    41 for (int32_t i = static_cast<int32_t>(first.size()) - 1,
    +
    42 j = static_cast<int32_t>(second.size()) - 1;
    43 i >= 0 || j >= 0; --i, --j) {
    44 sum = ((i >= 0 ? first[i] - '0' : 0) + (j >= 0 ? second[j] - '0' : 0) +
    45 carry);
    46 carry = sum / 10;
    47 sum %= 10;
    -
    48 third.push_back(sum + '0');
    +
    48 third.push_back(sum + '0');
    49 }
    50 if (carry) {
    -
    51 third.push_back('1');
    +
    51 third.push_back('1');
    52 }
    -
    53 std::reverse(third.begin(), third.end());
    +
    53 std::reverse(third.begin(), third.end());
    54 return third;
    55}
    - -
    T begin(T... args)
    -
    T end(T... args)
    -
    T sum(const std::vector< std::valarray< T > > &A)
    Definition vector_ops.hpp:232
    -
    T push_back(T... args)
    -
    T reverse(T... args)
    -
    T size(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    T sum(const std::vector< std::valarray< T > > &A)
    +
    @@ -312,10 +324,12 @@ template<typename T , typename = typename std::enable_if<
    + +

    Definition at line 1079 of file uint128_t.hpp.

    1079 {
    1080 return uint128_t(p) != q;
    1081}
    -
    class for 128-bit unsigned integer
    Definition uint128_t.hpp:60
    +
    class for 128-bit unsigned integer
    Definition uint128_t.hpp:60
    @@ -347,6 +361,8 @@ template<typename T , typename = typename std::enable_if<
    + +

    Definition at line 1034 of file uint128_t.hpp.

    1034 {
    1035 return uint128_t(p) % q;
    1036}
    @@ -381,6 +397,8 @@ template<typename T , typename = typename std::enable_if<
    + +

    Definition at line 1041 of file uint128_t.hpp.

    1041 {
    1042 return uint128_t(p) & q;
    1043}
    @@ -415,6 +433,8 @@ template<typename T , typename = typename std::enable_if<
    + +

    Definition at line 1060 of file uint128_t.hpp.

    1060 {
    1061 return uint128_t(p) && q;
    1062}
    @@ -449,6 +469,8 @@ template<typename T , typename = typename std::enable_if<
    + +

    Definition at line 1022 of file uint128_t.hpp.

    1022 {
    1023 return uint128_t(p) * q;
    1024}
    @@ -483,6 +505,8 @@ template<typename T , typename = typename std::enable_if<
    + +

    Definition at line 1010 of file uint128_t.hpp.

    1010 {
    1011 return uint128_t(p) + q;
    1012}
    @@ -517,6 +541,8 @@ template<typename T , typename = typename std::enable_if<
    + +

    Definition at line 1016 of file uint128_t.hpp.

    1016 {
    1017 return uint128_t(p) - q;
    1018}
    @@ -551,6 +577,8 @@ template<typename T , typename = typename std::enable_if<
    + +

    Definition at line 1028 of file uint128_t.hpp.

    1028 {
    1029 return uint128_t(p) / q;
    1030}
    @@ -585,6 +613,8 @@ template<typename T , typename = typename std::enable_if<
    + +

    Definition at line 1085 of file uint128_t.hpp.

    1085 {
    1086 return uint128_t(p) < q;
    1087}
    @@ -619,6 +649,8 @@ template<typename T , typename = typename std::enable_if<
    + +

    Definition at line 1091 of file uint128_t.hpp.

    1091 {
    1092 return uint128_t(p) <= q;
    1093}
    @@ -653,6 +685,8 @@ template<typename T , typename = typename std::enable_if<
    + +

    Definition at line 1073 of file uint128_t.hpp.

    1073 {
    1074 return uint128_t(p) == q;
    1075}
    @@ -687,6 +721,8 @@ template<typename T , typename = typename std::enable_if<
    + +

    Definition at line 1097 of file uint128_t.hpp.

    1097 {
    1098 return uint128_t(p) > q;
    1099}
    @@ -721,6 +757,8 @@ template<typename T , typename = typename std::enable_if<
    + +

    Definition at line 1103 of file uint128_t.hpp.

    1103 {
    1104 return uint128_t(p) >= q;
    1105}
    @@ -755,6 +793,8 @@ template<typename T , typename = typename std::enable_if<
    + +

    Definition at line 1053 of file uint128_t.hpp.

    1053 {
    1054 return uint128_t(p) ^ q;
    1055}
    @@ -789,6 +829,8 @@ template<typename T , typename = typename std::enable_if<
    + +

    Definition at line 1047 of file uint128_t.hpp.

    1047 {
    1048 return uint128_t(p) | q;
    1049}
    @@ -823,6 +865,8 @@ template<typename T , typename = typename std::enable_if<
    + +

    Definition at line 1066 of file uint128_t.hpp.

    1066 {
    1067 return uint128_t(p) || q;
    1068}
    diff --git a/da/d41/uint128__t_8hpp_a3ff77262ffd6743df5b808d41382a6f3_cgraph.map b/da/d41/uint128__t_8hpp_a3ff77262ffd6743df5b808d41382a6f3_cgraph.map deleted file mode 100644 index 3e355ba96..000000000 --- a/da/d41/uint128__t_8hpp_a3ff77262ffd6743df5b808d41382a6f3_cgraph.map +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - diff --git a/da/d41/uint128__t_8hpp_a3ff77262ffd6743df5b808d41382a6f3_cgraph.md5 b/da/d41/uint128__t_8hpp_a3ff77262ffd6743df5b808d41382a6f3_cgraph.md5 deleted file mode 100644 index 051eda6f3..000000000 --- a/da/d41/uint128__t_8hpp_a3ff77262ffd6743df5b808d41382a6f3_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -6ada718eb7b3ebc6ce96449c7f4694a3 \ No newline at end of file diff --git a/da/d41/uint128__t_8hpp_a3ff77262ffd6743df5b808d41382a6f3_cgraph.svg b/da/d41/uint128__t_8hpp_a3ff77262ffd6743df5b808d41382a6f3_cgraph.svg deleted file mode 100644 index 90bf52e1b..000000000 --- a/da/d41/uint128__t_8hpp_a3ff77262ffd6743df5b808d41382a6f3_cgraph.svg +++ /dev/null @@ -1,137 +0,0 @@ - - - - - - - - - - - - -add - - -Node1 - - -add - - - - - -Node2 - - -std::string::begin - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::string::end - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::string::push_back - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::reverse - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -std::string::size - - - - - -Node1->Node6 - - - - - - - - - - - - - diff --git a/da/d41/uint128__t_8hpp_a3ff77262ffd6743df5b808d41382a6f3_cgraph_org.svg b/da/d41/uint128__t_8hpp_a3ff77262ffd6743df5b808d41382a6f3_cgraph_org.svg deleted file mode 100644 index 7cfe1abce..000000000 --- a/da/d41/uint128__t_8hpp_a3ff77262ffd6743df5b808d41382a6f3_cgraph_org.svg +++ /dev/null @@ -1,111 +0,0 @@ - - - - - - -add - - -Node1 - - -add - - - - - -Node2 - - -std::string::begin - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::string::end - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::string::push_back - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::reverse - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -std::string::size - - - - - -Node1->Node6 - - - - - - - - diff --git a/da/d41/uint128__t_8hpp_source.html b/da/d41/uint128__t_8hpp_source.html index 92f4e0686..bec3b034f 100644 --- a/da/d41/uint128__t_8hpp_source.html +++ b/da/d41/uint128__t_8hpp_source.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: ciphers/uint128_t.hpp Source File +TheAlgorithms/C++: ciphers/uint128_t.hpp Source File + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -107,23 +124,15 @@ $(function(){initNavTree('da/d41/uint128__t_8hpp_source.html','../../'); initRes
    uint128_t.hpp
    -Go to the documentation of this file.
    1/**
    -
    2 * @file
    -
    3 *
    -
    4 * @details Implementation of 128-bit unsigned integers.
    -
    5 * @note The implementation can be flagged as not completed. This header is used
    -
    6 * with enough operations as a part of bigger integer types 256-bit integer.
    -
    7 * @author [Ashish Daulatabad](https://github.com/AshishYUO)
    -
    8 */
    -
    9
    -
    10#include <algorithm> /// for `std::reverse` and other operations
    +Go to the documentation of this file.
    1
    +
    10#include <algorithm>
    11#include <cstdint>
    -
    12#include <ostream> /// for `std::cout` overload
    -
    13#include <string> /// for `std::string`
    -
    14#include <utility> /// for `std::pair` library
    +
    12#include <ostream>
    +
    13#include <string>
    +
    14#include <utility>
    15
    16#ifdef _MSC_VER
    -
    17#include <intrin.h> /// for _BitScanForward64 and __BitScanReverse64 operation
    +
    17#include <intrin.h>
    18#endif
    19
    20#ifndef CIPHERS_UINT128_T_HPP_
    @@ -131,59 +140,41 @@ $(function(){initNavTree('da/d41/uint128__t_8hpp_source.html','../../'); initRes
    22class uint128_t;
    23
    24template <>
    - +
    25struct std::is_integral<uint128_t> : std::true_type {};
    26template <>
    - +
    27struct std::is_arithmetic<uint128_t> : std::true_type {};
    28template <>
    - -
    30
    -
    31/**
    -
    32 * @brief Adding two string
    -
    33 * @details Adds two long integer, only used for printing numbers
    -
    34 * @param first First integer string
    -
    35 * @param second Second integer string
    -
    36 * @returns string denoting the addition of both the strings
    -
    37 */
    +
    29struct std::is_unsigned<uint128_t> : std::true_type {};
    +
    30
    -
    38std::string add(const std::string &first, const std::string &second) {
    -
    39 std::string third;
    +
    38std::string add(const std::string &first, const std::string &second) {
    +
    39 std::string third;
    40 int16_t sum = 0, carry = 0;
    -
    41 for (int32_t i = static_cast<int32_t>(first.size()) - 1,
    -
    42 j = static_cast<int32_t>(second.size()) - 1;
    +
    41 for (int32_t i = static_cast<int32_t>(first.size()) - 1,
    +
    42 j = static_cast<int32_t>(second.size()) - 1;
    43 i >= 0 || j >= 0; --i, --j) {
    44 sum = ((i >= 0 ? first[i] - '0' : 0) + (j >= 0 ? second[j] - '0' : 0) +
    45 carry);
    46 carry = sum / 10;
    47 sum %= 10;
    -
    48 third.push_back(sum + '0');
    +
    48 third.push_back(sum + '0');
    49 }
    50 if (carry) {
    -
    51 third.push_back('1');
    +
    51 third.push_back('1');
    52 }
    -
    53 std::reverse(third.begin(), third.end());
    +
    53 std::reverse(third.begin(), third.end());
    54 return third;
    -
    55}
    +
    55}
    -
    56/**
    -
    57 * @class uint128_t
    -
    58 * @brief class for 128-bit unsigned integer
    -
    59 */
    60class uint128_t {
    -
    61 uint64_t f{}, s{}; /// First and second half of 128 bit number
    -
    62
    -
    63 /**
    -
    64 * @brief Get integer from given string.
    -
    65 * @details Create an integer from a given string
    -
    66 * @param str integer string, can be hexadecimal (starting on 0x... or
    -
    67 * number)
    -
    68 * @returns void
    -
    69 */
    +
    61 uint64_t f{}, s{};
    +
    62
    - +
    70 void __get_integer_from_string(const std::string &str) {
    71 this->f = this->s = 0;
    -
    72 if (str.size() > 1 && str[1] == 'x') { // if hexadecimal
    -
    73 for (auto i = 2; i < str.size(); ++i) {
    +
    72 if (str.size() > 1 && str[1] == 'x') { // if hexadecimal
    +
    73 for (auto i = 2; i < str.size(); ++i) {
    74 *this *= 16LL;
    75 if (str[i] >= '0' && str[i] <= '9') {
    76 *this += (str[i] - '0');
    @@ -204,55 +195,25 @@ $(function(){initNavTree('da/d41/uint128__t_8hpp_source.html','../../'); initRes
    90
    91 public:
    92 uint128_t() = default;
    -
    93
    -
    94 /**
    -
    95 * @brief Parameterized constructor
    -
    96 * @tparam T integral type
    -
    97 * @param low lower part 8-bit unisgned integer
    -
    98 */
    -
    99 template <typename T, typename = typename std::enable_if<
    - +
    93
    +
    99 template <typename T, typename = typename std::enable_if<
    +
    100 std::is_integral<T>::value, T>::type>
    101 explicit uint128_t(T low) : s(low) {}
    -
    102
    -
    103 /**
    -
    104 * @brief Parameterized constructor
    -
    105 * @param str Integer string (hexadecimal starting with 0x.. or decimal)
    -
    106 */
    +
    102
    -
    107 explicit uint128_t(const std::string &str) {
    +
    107 explicit uint128_t(const std::string &str) {
    109 }
    -
    110
    -
    111 /**
    -
    112 * @brief Parameterized constructor
    -
    113 * @param high higher part 64-bit unsigned integer
    -
    114 * @param low lower part 64-bit unsigned integer
    -
    115 */
    +
    110
    116 uint128_t(const uint64_t high, const uint64_t low) : f(high), s(low) {}
    -
    117
    -
    118 /**
    -
    119 * @brief Copy constructor
    -
    120 * @param num 128-bit unsigned integer
    -
    121 */
    +
    117
    122 uint128_t(const uint128_t &num) = default;
    -
    123
    -
    124 /**
    -
    125 * @brief Move constructor
    -
    126 * @param num 128-bit unsigned integer
    -
    127 */
    +
    123
    128 uint128_t(uint128_t &&num) noexcept : f(num.f), s(num.s) {}
    -
    129
    -
    130 /**
    -
    131 * @brief Destructor for uint128_t
    -
    132 */
    +
    129
    133 ~uint128_t() = default;
    -
    134
    -
    135 /**
    -
    136 * @brief Leading zeroes in binary
    -
    137 * @details Calculates leading zeros in 128-bit integer
    -
    138 * @returns Integer denoting leading zeroes
    -
    139 */
    +
    134
    140 inline uint32_t _lez() {
    141#ifndef _MSC_VER
    @@ -272,12 +233,7 @@ $(function(){initNavTree('da/d41/uint128__t_8hpp_source.html','../../'); initRes
    155#endif
    156 }
    -
    157
    -
    158 /**
    -
    159 * @brief Trailing zeroes in binary
    -
    160 * @details Calculates leading zeros in 128-bit integer
    -
    161 * @returns Integer denoting Trailing zeroes
    -
    162 */
    +
    157
    163 inline uint32_t _trz() {
    164#ifndef _MSC_VER
    @@ -297,110 +253,57 @@ $(function(){initNavTree('da/d41/uint128__t_8hpp_source.html','../../'); initRes
    178#endif
    179 }
    -
    180
    -
    181 /**
    -
    182 * @brief casting operator to boolean value
    -
    183 * @returns true if value of this is non-zero, else false
    -
    184 */
    +
    180
    185 inline explicit operator bool() const { return (f || s); }
    -
    186
    -
    187 /**
    -
    188 * @brief casting operator to any integer valu
    -
    189 * @tparam T any integer type
    -
    190 * @returns integer value casted to mentioned type
    -
    191 */
    -
    192 template <typename T, typename = typename std::enable_if<
    - +
    186
    +
    192 template <typename T, typename = typename std::enable_if<
    +
    193 std::is_integral<T>::value, T>::type>
    194 inline explicit operator T() const {
    195 return static_cast<T>(s);
    196 }
    -
    197
    -
    198 /**
    -
    199 * @brief returns lower 64-bit integer part
    -
    200 * @returns returns lower 64-bit integer part
    -
    201 */
    +
    197
    202 inline uint64_t lower() const { return s; }
    -
    203
    -
    204 /**
    -
    205 * @brief returns upper 64-bit integer part
    -
    206 * @returns returns upper 64-bit integer part
    -
    207 */
    +
    203
    208 inline uint64_t upper() const { return f; }
    -
    209
    -
    210 /**
    -
    211 * @brief operator = for other types
    -
    212 * @tparam T denoting any integer type
    -
    213 * @param p an integer to assign it's value
    -
    214 * @returns this pointer with it's value equal to `p`
    -
    215 */
    -
    216 template <typename T, typename = typename std::enable_if<
    - +
    209
    +
    216 template <typename T, typename = typename std::enable_if<
    +
    217 std::is_integral<T>::value, T>::type>
    218 inline uint128_t &operator=(const T &p) {
    219 this->s = p;
    220 return *this;
    221 }
    -
    222
    -
    223 /**
    -
    224 * @brief operator = for type string
    -
    225 * @param p a string to assign it's value to equivalent integer
    -
    226 * @returns this pointer with it's value equal to `p`
    -
    227 */
    +
    222
    -
    228 inline uint128_t &operator=(const std::string &p) {
    +
    228 inline uint128_t &operator=(const std::string &p) {
    230 return *this;
    231 }
    -
    232
    -
    233 /**
    -
    234 * @brief operator = for uint128_t
    -
    235 * @param p an 128-bit integer to assign it's value
    -
    236 * @returns this pointer with it's value equal to `p`
    -
    237 */
    +
    232
    238 inline uint128_t &operator=(const uint128_t &p) = default;
    -
    239
    -
    240 /**
    -
    241 * @brief Move assignment operator
    -
    242 */
    +
    239
    243 inline uint128_t &operator=(uint128_t &&p) = default;
    -
    244
    -
    245 /**
    -
    246 * @brief operator + for uint128_t and other integer types.
    -
    247 * @tparam T denoting integral type
    -
    248 * @param p a type of integer variable
    -
    249 * @returns addition of this and p, returning uint128_t integer
    -
    250 */
    -
    251 template <typename T, typename = typename std::enable_if<
    - +
    244
    +
    251 template <typename T, typename = typename std::enable_if<
    +
    252 std::is_integral<T>::value, T>::type>
    253 inline uint128_t operator+(const T p) {
    254 return uint128_t(f + (p + s < s), p + s);
    255 }
    -
    256
    -
    257 /**
    -
    258 * @brief operator + for uint128_t and other integer types.
    -
    259 * @param p 128-bit unsigned integer
    -
    260 * @returns addition of this and p, returning uint128_t integer
    -
    261 */
    +
    256
    262 inline uint128_t operator+(const uint128_t &p) {
    263 return uint128_t(f + (p.s + s < s) + p.f, p.s + s);
    264 }
    -
    265
    -
    266 /**
    -
    267 * @brief operator += for uint128_t and other integer types.
    -
    268 * @tparam T denoting integral type
    -
    269 * @param p a type of integer variable
    -
    270 * @returns addition of this and p, returning this
    -
    271 */
    -
    272 template <typename T, typename = typename std::enable_if<
    - +
    265
    +
    272 template <typename T, typename = typename std::enable_if<
    +
    273 std::is_integral<T>::value, T>::type>
    274 inline uint128_t &operator+=(const T p) {
    275 bool app = p + s < s;
    @@ -409,12 +312,7 @@ $(function(){initNavTree('da/d41/uint128__t_8hpp_source.html','../../'); initRes
    278 return *this;
    279 }
    -
    280
    -
    281 /**
    -
    282 * @brief operator += for uint128_t
    -
    283 * @param p 128-bit unsigned integer
    -
    284 * @returns addition of this and p, returning this
    -
    285 */
    +
    280
    287 bool app = p.s + s < s;
    @@ -423,92 +321,55 @@ $(function(){initNavTree('da/d41/uint128__t_8hpp_source.html','../../'); initRes
    290 return *this;
    291 }
    -
    292
    -
    293 /**
    -
    294 * @brief pre-increment operator
    -
    295 * @returns incremented value of this.
    -
    296 */
    +
    292
    298 *this += 1;
    299 return *this;
    300 }
    -
    301
    -
    302 /**
    -
    303 * @brief post-increment operator
    -
    304 * @returns incremented value of this.
    -
    305 */
    +
    301
    306 inline uint128_t operator++(int) {
    307 ++*this;
    308 return *this;
    309 }
    -
    310
    -
    311 /**
    -
    312 * @brief operator - for uint128_t and other integer types.
    -
    313 * @tparam T denoting integral type
    -
    314 * @param p a type of integer variable
    -
    315 * @returns subtraction of this and p, returning uint128_t integer
    -
    316 */
    -
    317 template <typename T, typename = typename std::enable_if<
    - +
    310
    +
    317 template <typename T, typename = typename std::enable_if<
    +
    318 std::is_integral<T>::value, T>::type>
    319 inline uint128_t operator-(const T &p) {
    320 bool app = p > s;
    321 return uint128_t(f - app, s - p);
    322 }
    -
    323
    -
    324 /**
    -
    325 * @brief operator - for uint128_t
    -
    326 * @param p a type of integer variable
    -
    327 * @returns subtraction of this and p, returning uint128_t integer
    -
    328 */
    +
    323
    329 inline uint128_t operator-(const uint128_t &p) {
    330 bool app = p.s > s;
    331 return uint128_t(f - p.f - app, s - p.s);
    332 }
    -
    333
    -
    334 /**
    -
    335 * @brief operator - using twos complement
    -
    336 * @returns 2's complement of this.
    -
    337 */
    +
    333
    338 inline uint128_t operator-() { return ~*this + uint128_t(1); }
    -
    339
    -
    340 /**
    -
    341 * @brief operator -- (pre-decrement)
    -
    342 * @returns decremented value of this
    -
    343 */
    +
    339
    345 *this -= 1;
    346 return *this;
    347 }
    -
    348
    -
    349 /**
    -
    350 * @brief operator -- (post-decrement)
    -
    351 * @returns decremented value of this
    -
    352 */
    +
    348
    353 inline uint128_t operator--(int p) {
    354 --*this;
    355 return *this;
    356 }
    -
    357
    -
    358 /**
    -
    359 * @brief operator -= for uint128_t and other integer types.
    -
    360 * @tparam T denoting integral type
    -
    361 * @param p a type of integer variable
    -
    362 * @returns subtraction of this and p, returning this
    -
    363 */
    -
    364 template <typename T, typename = typename std::enable_if<
    - +
    357
    +
    364 template <typename T, typename = typename std::enable_if<
    +
    365 std::is_integral<T>::value, T>::type>
    366 uint128_t &operator-=(const T &p) {
    367 bool app = p > s;
    @@ -517,12 +378,7 @@ $(function(){initNavTree('da/d41/uint128__t_8hpp_source.html','../../'); initRes
    370 return *this;
    371 }
    -
    372
    -
    373 /**
    -
    374 * @brief operator -= for uint128_t
    -
    375 * @param p 128-bit unsigned integer
    -
    376 * @returns subtraction of this and p, returning this
    -
    377 */
    +
    372
    379 bool app = p.s > s;
    @@ -531,26 +387,15 @@ $(function(){initNavTree('da/d41/uint128__t_8hpp_source.html','../../'); initRes
    382 return *this;
    383 }
    -
    384
    -
    385 /**
    -
    386 * @brief operator * for uint128_t and other integer types.
    -
    387 * @tparam T denoting integral type
    -
    388 * @param p a type of integer variable
    -
    389 * @returns multiplication of this and p, returning uint128_t integer
    -
    390 */
    -
    391 template <typename T, typename = typename std::enable_if<
    - +
    384
    +
    391 template <typename T, typename = typename std::enable_if<
    +
    392 std::is_integral<T>::value, T>::type>
    393 inline uint128_t operator*(const T p) {
    394 return *this * uint128_t(p);
    395 }
    -
    396
    -
    397 /**
    -
    398 * @brief operator * for uint128_t and other integer types.
    -
    399 * @param p 128-bit unsigned integer
    -
    400 * @returns multiplication of this and p, returning uint128_t integer
    -
    401 */
    +
    396
    403 uint64_t f_first = s >> 32, f_second = s & 0xFFFFFFFF,
    @@ -566,27 +411,16 @@ $(function(){initNavTree('da/d41/uint128__t_8hpp_source.html','../../'); initRes
    413 return uint128_t(this->f * p.s + this->s * p.f + carry + cc, tmp + fo);
    414 }
    -
    415
    -
    416 /**
    -
    417 * @brief operator *= for uint128_t and other integer types.
    -
    418 * @tparam T denoting integral type
    -
    419 * @param p a type of integer variable
    -
    420 * @returns multiplication of this and p, returning this
    -
    421 */
    -
    422 template <typename T, typename = typename std::enable_if<
    - +
    415
    +
    422 template <typename T, typename = typename std::enable_if<
    +
    423 std::is_integral<T>::value, T>::type>
    424 inline uint128_t &operator*=(const T p) {
    425 *this *= uint128_t(p);
    426 return *this;
    427 }
    -
    428
    -
    429 /**
    -
    430 * @brief operator *= for uint128_t and other integer types.
    -
    431 * @param p 128-bit unsigned integer
    -
    432 * @returns multiplication of this and p, returning this
    -
    433 */
    +
    428
    435 uint64_t f_first = s >> 32, f_second = s & 0xFFFFFFFF,
    @@ -603,15 +437,9 @@ $(function(){initNavTree('da/d41/uint128__t_8hpp_source.html','../../'); initRes
    446 return *this;
    447 }
    -
    448
    -
    449 /**
    -
    450 * @brief divide function for uint128_t and other integer types.
    -
    451 * @details divide this value and
    -
    452 * @param p 128-bit unsigned integer
    -
    453 * @returns pair denoting quotient and remainder.
    -
    454 */
    +
    448
    - +
    455 std::pair<uint128_t, uint128_t> divide(const uint128_t &p) {
    456 if (*this < p) { // if this is less than divisor
    457 return {uint128_t(0), *this};
    458 } else if (*this == p) { // if this is equal to divisor
    @@ -640,22 +468,11 @@ $(function(){initNavTree('da/d41/uint128__t_8hpp_source.html','../../'); initRes
    481 return {quotient << left, tmp2};
    482 }
    -
    483
    -
    484 /**
    -
    485 * @brief operator / for uint128_t and other integer types.
    -
    486 * @param p 128-bit unsigned integer
    -
    487 * @returns unsigned 128-bit quotient.
    -
    488 */
    +
    483
    489 inline uint128_t operator/(const uint128_t &p) { return divide(p).first; }
    -
    490
    -
    491 /**
    -
    492 * @brief operator / for uint128_t and other integer types.
    -
    493 * @tparam T denoting integral type
    -
    494 * @param p a type of integer variable
    -
    495 * @returns unsigned 128-bit quotient.
    -
    496 */
    -
    497 template <typename T, typename = typename std::enable_if<
    - +
    490
    +
    497 template <typename T, typename = typename std::enable_if<
    +
    498 std::is_integral<T>::value, T>::type>
    499 inline uint128_t operator/(const T p) {
    500 uint128_t tmp = *this;
    @@ -663,309 +480,169 @@ $(function(){initNavTree('da/d41/uint128__t_8hpp_source.html','../../'); initRes
    502 return tmp;
    503 }
    -
    504
    -
    505 /**
    -
    506 * @brief operator /= for uint128_t
    -
    507 * @param p 128-bit unsigned integer
    -
    508 * @returns this set as unsigned 128-bit quotient.
    -
    509 */
    +
    504
    510 inline uint128_t &operator/=(const uint128_t &p) {
    511 *this = divide(p).first;
    512 return *this;
    513 }
    -
    514
    -
    515 /**
    -
    516 * @brief operator /= for uint128_t and other integer types.
    -
    517 * @tparam T denoting integral type
    -
    518 * @param p a type of integer variable
    -
    519 * @returns this set as unsigned 128-bit quotient.
    -
    520 */
    -
    521 template <typename T, typename = typename std::enable_if<
    - +
    514
    +
    521 template <typename T, typename = typename std::enable_if<
    +
    522 std::is_integral<T>::value, T>::type>
    523 inline uint128_t &operator/=(const T p) {
    524 *this /= uint128_t(0, p);
    525 return *this;
    526 }
    -
    527
    -
    528 /**
    -
    529 * @brief operator % for uint128_t
    -
    530 * @param p 128-bit unsigned integer
    -
    531 * @returns unsigned 128-bit remainder.
    -
    532 */
    +
    527
    533 inline uint128_t operator%(const uint128_t &p) { return divide(p).second; }
    -
    534
    -
    535 /**
    -
    536 * @brief operator % for uint128_t and other integer types.
    -
    537 * @tparam T denoting integral type
    -
    538 * @param p a type of integer variable
    -
    539 * @returns unsigned 128-bit remainder.
    -
    540 */
    -
    541 template <typename T, typename = typename std::enable_if<
    - +
    534
    +
    541 template <typename T, typename = typename std::enable_if<
    +
    542 std::is_integral<T>::value, T>::type>
    543 inline uint128_t operator%(const T &p) {
    544 return *this % uint128_t(p);
    545 }
    -
    546
    -
    547 /**
    -
    548 * @brief operator %= for uint128_t
    -
    549 * @param p 128-bit unsigned integer
    -
    550 * @returns this set as unsigned 128-bit remainder.
    -
    551 */
    +
    546
    552 inline uint128_t &operator%=(const uint128_t &p) {
    553 *this = divide(p).second;
    554 return *this;
    555 }
    -
    556
    -
    557 /**
    -
    558 * @brief operator %= for uint128_t
    -
    559 * @tparam T denoting integral type
    -
    560 * @param p a type of integer variable
    -
    561 * @returns this set as unsigned 128-bit remainder.
    -
    562 */
    -
    563 template <typename T, typename = typename std::enable_if<
    - +
    556
    +
    563 template <typename T, typename = typename std::enable_if<
    +
    564 std::is_integral<T>::value, T>::type>
    565 inline uint128_t &operator%=(const T &p) {
    566 *this %= uint128_t(p);
    567 return *this;
    568 }
    -
    569
    -
    570 /**
    -
    571 * @brief operator < for uint128_t
    -
    572 * @param other number to be compared with this
    -
    573 * @returns true if this is less than other, else false
    -
    574 */
    +
    569
    575 inline bool operator<(const uint128_t &other) {
    576 return f < other.f || (f == other.f && s < other.s);
    577 }
    -
    578
    -
    579 /**
    -
    580 * @brief operator <= for uint128_t
    -
    581 * @param other number to be compared with this
    -
    582 * @returns true if this is less than or equal to other, else false
    -
    583 */
    +
    578
    584 inline bool operator<=(const uint128_t &other) {
    585 return f < other.f || (f == other.f && s <= other.s);
    586 }
    -
    587
    -
    588 /**
    -
    589 * @brief operator > for uint128_t
    -
    590 * @param other number to be compared with this
    -
    591 * @returns true if this is greater than other, else false
    -
    592 */
    +
    587
    593 inline bool operator>(const uint128_t &other) {
    594 return f > other.f || (f == other.f && s > other.s);
    595 }
    -
    596
    -
    597 /**
    -
    598 * @brief operator >= for uint128_t
    -
    599 * @param other number to be compared with this
    -
    600 * @returns true if this is greater than or equal than other, else false
    -
    601 */
    +
    596
    602 inline bool operator>=(const uint128_t &other) {
    603 return (f > other.f) || (f == other.f && s >= other.s);
    604 }
    -
    605
    -
    606 /**
    -
    607 * @brief operator == for uint128_t
    -
    608 * @param other number to be compared with this
    -
    609 * @returns true if this is equal than other, else false
    -
    610 */
    +
    605
    611 inline bool operator==(const uint128_t &other) {
    612 return f == other.f && s == other.s;
    613 }
    -
    614
    -
    615 /**
    -
    616 * @brief operator != for uint128_t
    -
    617 * @param other number to be compared with this
    -
    618 * @returns true if this is not equal than other, else false
    -
    619 */
    +
    614
    620 inline bool operator!=(const uint128_t &other) {
    621 return f != other.f || s != other.s;
    622 }
    -
    623
    -
    624 /**
    -
    625 * @brief operator ! for uint128_t
    -
    626 * @returns true if this has zero value, else false
    -
    627 */
    +
    623
    628 inline bool operator!() { return !f && !s; }
    -
    629
    -
    630 /**
    -
    631 * @brief operator && for uint128_t
    -
    632 * @param b number to be compared with this
    -
    633 * @returns true if both of the values are not zero, else false
    -
    634 */
    +
    629
    635 inline bool operator&&(const uint128_t &b) {
    636 return (s || f) && (b.s || b.f);
    637 }
    -
    638
    -
    639 /**
    -
    640 * @brief operator || for uint128_t
    -
    641 * @param b number to be compared with this
    -
    642 * @returns true if one of the values are not zero, else false
    -
    643 */
    +
    638
    644 inline bool operator||(const uint128_t &b) {
    645 return (s || f) || (b.s || b.f);
    646 }
    -
    647
    -
    648 /**
    -
    649 * @brief operator () for uint128_t
    -
    650 * @returns true if this value is non-zero, else false
    -
    651 */
    +
    647
    652 inline bool operator()() { return s || f; }
    -
    653
    -
    654 /**
    -
    655 * @brief operator < for other types
    -
    656 * @tparam T integral type
    -
    657 * @param other number to be compared with this
    -
    658 * @returns true if this is less than other, else false
    -
    659 */
    -
    660 template <typename T, typename = typename std::enable_if<
    - +
    653
    +
    660 template <typename T, typename = typename std::enable_if<
    +
    661 std::is_integral<T>::value, T>::type>
    662 inline bool operator<(const T other) {
    663 return *this < uint128_t(other);
    664 }
    -
    665
    -
    666 /**
    -
    667 * @brief operator <= for other types
    -
    668 * @tparam T integral type
    -
    669 * @param other number to be compared with this
    -
    670 * @returns true if this is less than or equal to other, else false
    -
    671 */
    -
    672 template <typename T, typename = typename std::enable_if<
    - +
    665
    +
    672 template <typename T, typename = typename std::enable_if<
    +
    673 std::is_integral<T>::value, T>::type>
    674 inline bool operator<=(const T other) {
    675 return *this <= uint128_t(other);
    676 }
    -
    677
    -
    678 /**
    -
    679 * @brief operator > for other types
    -
    680 * @tparam T integral type
    -
    681 * @param other number to be compared with this
    -
    682 * @returns true if this is greater than other, else false
    -
    683 */
    -
    684 template <typename T, typename = typename std::enable_if<
    - +
    677
    +
    684 template <typename T, typename = typename std::enable_if<
    +
    685 std::is_integral<T>::value, T>::type>
    686 inline bool operator>(const T other) {
    687 return *this > uint128_t(other);
    688 }
    -
    689
    -
    690 /**
    -
    691 * @brief operator >= for other types
    -
    692 * @tparam T integral type
    -
    693 * @param other number to be compared with this
    -
    694 * @returns true if this is greater than or equal other, else false
    -
    695 */
    -
    696 template <typename T, typename = typename std::enable_if<
    - +
    689
    +
    696 template <typename T, typename = typename std::enable_if<
    +
    697 std::is_integral<T>::value, T>::type>
    698 inline bool operator>=(const T other) {
    699 return *this >= uint128_t(other);
    700 }
    -
    701
    -
    702 /**
    -
    703 * @brief operator == for other types
    -
    704 * @tparam T integral type
    -
    705 * @param other number to be compared with this
    -
    706 * @returns true if this is equal to other, else false
    -
    707 */
    -
    708 template <typename T, typename = typename std::enable_if<
    - +
    701
    +
    708 template <typename T, typename = typename std::enable_if<
    +
    709 std::is_integral<T>::value, T>::type>
    710 inline bool operator==(const T other) {
    711 return *this == uint128_t(other);
    712 }
    -
    713
    -
    714 /**
    -
    715 * @brief operator != for other types
    -
    716 * @tparam T integral type
    -
    717 * @param other number to be compared with this
    -
    718 * @returns true if this is not equal to other, else false
    -
    719 */
    -
    720 template <typename T, typename = typename std::enable_if<
    - +
    713
    +
    720 template <typename T, typename = typename std::enable_if<
    +
    721 std::is_integral<T>::value, T>::type>
    722 inline bool operator!=(const T other) {
    723 return *this != uint128_t(other);
    724 }
    -
    725
    -
    726 /**
    -
    727 * @brief operator && for other types
    -
    728 * @tparam T integral type
    -
    729 * @param other number to be compared with this
    -
    730 * @returns true if this is both values are non-zero, else false
    -
    731 */
    -
    732 template <typename T, typename = typename std::enable_if<
    - +
    725
    +
    732 template <typename T, typename = typename std::enable_if<
    +
    733 std::is_integral<T>::value, T>::type>
    734 inline bool operator&&(const T b) {
    735 return (f || s) && b;
    736 }
    -
    737
    -
    738 /**
    -
    739 * @brief operator || for other types
    -
    740 * @tparam T integral type
    -
    741 * @param other number to be compared with this
    -
    742 * @returns true if this is either one of the values are non-zero, else
    -
    743 * false
    -
    744 */
    -
    745 template <typename T, typename = typename std::enable_if<
    - +
    737
    +
    745 template <typename T, typename = typename std::enable_if<
    +
    746 std::is_integral<T>::value, T>::type>
    747 inline bool operator||(const T b) {
    748 return (f || s) || b;
    749 }
    -
    750
    -
    751 /**
    -
    752 * @brief operator ~ for uint128_t
    -
    753 * @returns 1's complement of this number
    -
    754 */
    +
    750
    755 uint128_t operator~() { return uint128_t(~this->f, ~this->s); }
    -
    756
    -
    757 /**
    -
    758 * @brief operator << for uint128_t
    -
    759 * @tparam T integral type
    -
    760 * @param p number denoting number of shifts
    -
    761 * @returns value of this shifted by p to left
    -
    762 */
    -
    763 template <typename T, typename = typename std::enable_if<
    - +
    756
    +
    763 template <typename T, typename = typename std::enable_if<
    +
    764 std::is_integral<T>::value, T>::type>
    766 if (!p) {
    @@ -979,15 +656,9 @@ $(function(){initNavTree('da/d41/uint128__t_8hpp_source.html','../../'); initRes
    774 return uint128_t(0);
    775 }
    -
    776
    -
    777 /**
    -
    778 * @brief operator <<= for uint128_t
    -
    779 * @tparam T integral type
    -
    780 * @param p number denoting number of shifts
    -
    781 * @returns this shifted by p to left
    -
    782 */
    -
    783 template <typename T, typename = typename std::enable_if<
    - +
    776
    +
    783 template <typename T, typename = typename std::enable_if<
    +
    784 std::is_integral<T>::value, T>::type>
    785 uint128_t &operator<<=(const T p) {
    786 if (p) {
    @@ -1002,15 +673,9 @@ $(function(){initNavTree('da/d41/uint128__t_8hpp_source.html','../../'); initRes
    795 return *this;
    796 }
    -
    797
    -
    798 /**
    -
    799 * @brief operator >> for uint128_t
    -
    800 * @tparam T integral type
    -
    801 * @param p number denoting number of shifts
    -
    802 * @returns value of this shifted by p to right
    -
    803 */
    -
    804 template <typename T, typename = typename std::enable_if<
    - +
    797
    +
    804 template <typename T, typename = typename std::enable_if<
    +
    805 std::is_integral<T>::value, T>::type>
    807 if (!p) {
    @@ -1024,15 +689,9 @@ $(function(){initNavTree('da/d41/uint128__t_8hpp_source.html','../../'); initRes
    815 return uint128_t(0);
    816 }
    -
    817
    -
    818 /**
    -
    819 * @brief operator >>= for uint128_t
    -
    820 * @tparam T integral type
    -
    821 * @param p number denoting number of shifts
    -
    822 * @returns this shifted by p to right
    -
    823 */
    -
    824 template <typename T, typename = typename std::enable_if<
    - +
    817
    +
    824 template <typename T, typename = typename std::enable_if<
    +
    825 std::is_integral<T>::value, T>::type>
    826 uint128_t &operator>>=(const T p) {
    827 if (p) {
    @@ -1047,38 +706,22 @@ $(function(){initNavTree('da/d41/uint128__t_8hpp_source.html','../../'); initRes
    836 return *this;
    837 }
    -
    838
    -
    839 /**
    -
    840 * @brief operator & for uint128_t (bitwise operator)
    -
    841 * @param p number to be operated
    -
    842 * @returns value of this & p (& is bit-wise operator)
    -
    843 */
    +
    838
    844 inline uint128_t operator&(const uint128_t &p) {
    845 return uint128_t(this->f & p.f, this->s & p.s);
    846 }
    -
    847
    -
    848 /**
    -
    849 * @brief operator & for other types (bitwise operator)
    -
    850 * @tparam T integral type
    -
    851 * @param p number to be operated
    -
    852 * @returns value of this & p (& is bit-wise operator)
    -
    853 */
    -
    854 template <typename T, typename = typename std::enable_if<
    - +
    847
    +
    854 template <typename T, typename = typename std::enable_if<
    +
    855 std::is_integral<T>::value, T>::type>
    856 uint128_t operator&(const T p) {
    857 uint128_t tmp = *this;
    858 return tmp & uint128_t(p);
    859 }
    -
    860
    -
    861 /**
    -
    862 * @brief operator &= for uint128_t (bitwise operator)
    -
    863 * @param p number to be operated
    -
    864 * @returns this = this & p (& is bit-wise operator)
    -
    865 */
    +
    860
    867 this->f &= p.f;
    @@ -1086,52 +729,30 @@ $(function(){initNavTree('da/d41/uint128__t_8hpp_source.html','../../'); initRes
    869 return *this;
    870 }
    -
    871
    -
    872 /**
    -
    873 * @brief operator &= for other types (bitwise operator)
    -
    874 * @tparam T integral type
    -
    875 * @param p number to be operated
    -
    876 * @returns this = this & p (& is bit-wise operator)
    -
    877 */
    -
    878 template <typename T, typename = typename std::enable_if<
    - +
    871
    +
    878 template <typename T, typename = typename std::enable_if<
    +
    879 std::is_integral<T>::value, T>::type>
    880 uint128_t &operator&=(const T p) {
    881 *this &= uint128_t(p);
    882 return *this;
    883 }
    -
    884
    -
    885 /**
    -
    886 * @brief operator | for other types (bitwise operator)
    -
    887 * @tparam T integral type
    -
    888 * @param p number to be operated
    -
    889 * @returns value of this | p (| is bit-wise operator)
    -
    890 */
    -
    891 template <typename T, typename = typename std::enable_if<
    - +
    884
    +
    891 template <typename T, typename = typename std::enable_if<
    +
    892 std::is_integral<T>::value, T>::type>
    893 inline uint128_t operator|(const T p) {
    894 return uint128_t(p | s);
    895 }
    -
    896
    -
    897 /**
    -
    898 * @brief operator | for uint128_t (bitwise operator)
    -
    899 * @param p number to be operated
    -
    900 * @returns value of this | p (| is bit-wise OR operator)
    -
    901 */
    +
    896
    902 inline uint128_t operator|(const uint128_t &p) {
    903 return uint128_t(this->f | p.f, this->s | p.s);
    904 }
    -
    905
    -
    906 /**
    -
    907 * @brief operator |= for uint128_t (bitwise operator)
    -
    908 * @param p number to be operated
    -
    909 * @returns this = this | p (| is bit-wise OR operator)
    -
    910 */
    +
    905
    912 f |= p.f;
    @@ -1139,52 +760,30 @@ $(function(){initNavTree('da/d41/uint128__t_8hpp_source.html','../../'); initRes
    914 return *this;
    915 }
    -
    916
    -
    917 /**
    -
    918 * @brief operator |= for other types (bitwise operator)
    -
    919 * @tparam T integral type
    -
    920 * @param p number to be operated
    -
    921 * @returns this = this | p (| is bit-wise OR operator)
    -
    922 */
    -
    923 template <typename T, typename = typename std::enable_if<
    - +
    916
    +
    923 template <typename T, typename = typename std::enable_if<
    +
    924 std::is_integral<T>::value, T>::type>
    925 inline uint128_t &operator|=(const T p) {
    926 s |= p.s;
    927 return *this;
    928 }
    -
    929
    -
    930 /**
    -
    931 * @brief operator ^ for other types (bitwise operator)
    -
    932 * @tparam T integral type
    -
    933 * @param p number to be operated
    -
    934 * @returns value of this ^ p (^ is bit-wise XOR operator)
    -
    935 */
    -
    936 template <typename T, typename = typename std::enable_if<
    - +
    929
    +
    936 template <typename T, typename = typename std::enable_if<
    +
    937 std::is_integral<T>::value, T>::type>
    938 inline uint128_t operator^(const T p) {
    939 return uint128_t(this->f, this->s ^ p);
    940 }
    -
    941
    -
    942 /**
    -
    943 * @brief operator ^ for uint128_t (bitwise operator)
    -
    944 * @param p number to be operated
    -
    945 * @returns value of this ^ p (^ is bit-wise XOR operator)
    -
    946 */
    +
    941
    947 inline uint128_t operator^(const uint128_t &p) {
    948 return uint128_t(this->f ^ p.f, this->s ^ p.s);
    949 }
    -
    950
    -
    951 /**
    -
    952 * @brief operator ^= for uint128_t (bitwise operator)
    -
    953 * @param p number to be operated
    -
    954 * @returns this = this ^ p (^ is bit-wise XOR operator)
    -
    955 */
    +
    950
    957 f ^= p.f;
    @@ -1192,37 +791,22 @@ $(function(){initNavTree('da/d41/uint128__t_8hpp_source.html','../../'); initRes
    959 return *this;
    960 }
    -
    961
    -
    962 /**
    -
    963 * @brief operator ^= for other types (bitwise operator)
    -
    964 * @tparam T integral type
    -
    965 * @param p number to be operated
    -
    966 * @returns this = this ^ p (^ is bit-wise XOR operator)
    -
    967 */
    -
    968 template <typename T, typename = typename std::enable_if<
    - +
    961
    +
    968 template <typename T, typename = typename std::enable_if<
    +
    969 std::is_integral<T>::value, T>::type>
    970 inline uint128_t &operator^=(const T &p) {
    971 s ^= p;
    972 return *this;
    973 }
    -
    974
    -
    975 /**
    -
    976 * @brief operator << for printing uint128_t integer
    -
    977 * @details Prints the uint128_t integer in decimal form
    -
    978 * @note Note that this operator is costly since it uses strings to print
    -
    979 * the value
    -
    980 * @param op ostream object
    -
    981 * @param p 128-bit integer
    -
    982 * @returns op, ostream object.
    -
    983 */
    +
    974
    - +
    984 friend std::ostream &operator<<(std::ostream &op, const uint128_t &p) {
    985 if (!p.f) {
    986 op << p.s;
    987 } else {
    -
    988 std::string out = "0", p_2 = "1";
    +
    988 std::string out = "0", p_2 = "1";
    989 for (int i = 0; i < 64; ++i) {
    990 if (p.s & (1LL << i)) {
    991 out = add(out, p_2);
    @@ -1244,199 +828,185 @@ $(function(){initNavTree('da/d41/uint128__t_8hpp_source.html','../../'); initRes
    1006
    1007// Arithmetic operators
    -
    1008template <typename T, typename = typename std::enable_if<
    - +
    1008template <typename T, typename = typename std::enable_if<
    +
    1009 std::is_integral<T>::value, T>::type>
    1010inline uint128_t operator+(const T &p, const uint128_t &q) {
    1011 return uint128_t(p) + q;
    1012}
    1013
    -
    1014template <typename T, typename = typename std::enable_if<
    - +
    1014template <typename T, typename = typename std::enable_if<
    +
    1015 std::is_integral<T>::value, T>::type>
    1016inline uint128_t operator-(const T p, const uint128_t &q) {
    1017 return uint128_t(p) - q;
    1018}
    1019
    -
    1020template <typename T, typename = typename std::enable_if<
    - +
    1020template <typename T, typename = typename std::enable_if<
    +
    1021 std::is_integral<T>::value, T>::type>
    1022inline uint128_t operator*(const T p, const uint128_t &q) {
    1023 return uint128_t(p) * q;
    1024}
    1025
    -
    1026template <typename T, typename = typename std::enable_if<
    - +
    1026template <typename T, typename = typename std::enable_if<
    +
    1027 std::is_integral<T>::value, T>::type>
    1028inline uint128_t operator/(const T p, const uint128_t &q) {
    1029 return uint128_t(p) / q;
    1030}
    1031
    -
    1032template <typename T, typename = typename std::enable_if<
    - +
    1032template <typename T, typename = typename std::enable_if<
    +
    1033 std::is_integral<T>::value, T>::type>
    1034inline uint128_t operator%(const T p, const uint128_t &q) {
    1035 return uint128_t(p) % q;
    1036}
    1037
    1038// Bitwise operators
    -
    1039template <typename T, typename = typename std::enable_if<
    - +
    1039template <typename T, typename = typename std::enable_if<
    +
    1040 std::is_integral<T>::value, T>::type>
    1041inline uint128_t operator&(const T &p, const uint128_t &q) {
    1042 return uint128_t(p) & q;
    1043}
    1044
    -
    1045template <typename T, typename = typename std::enable_if<
    - +
    1045template <typename T, typename = typename std::enable_if<
    +
    1046 std::is_integral<T>::value, T>::type>
    1047inline uint128_t operator|(const T p, const uint128_t &q) {
    1048 return uint128_t(p) | q;
    1049}
    1050
    -
    1051template <typename T, typename = typename std::enable_if<
    - +
    1051template <typename T, typename = typename std::enable_if<
    +
    1052 std::is_integral<T>::value, T>::type>
    1053inline uint128_t operator^(const T p, const uint128_t &q) {
    1054 return uint128_t(p) ^ q;
    1055}
    1056
    1057// Boolean operators
    -
    1058template <typename T, typename = typename std::enable_if<
    - +
    1058template <typename T, typename = typename std::enable_if<
    +
    1059 std::is_integral<T>::value, T>::type>
    1060inline bool operator&&(const T p, const uint128_t &q) {
    1061 return uint128_t(p) && q;
    1062}
    1063
    -
    1064template <typename T, typename = typename std::enable_if<
    - +
    1064template <typename T, typename = typename std::enable_if<
    +
    1065 std::is_integral<T>::value, T>::type>
    1066inline bool operator||(const T p, const uint128_t &q) {
    1067 return uint128_t(p) || q;
    1068}
    1069
    1070// Comparison operators
    -
    1071template <typename T, typename = typename std::enable_if<
    - +
    1071template <typename T, typename = typename std::enable_if<
    +
    1072 std::is_integral<T>::value, T>::type>
    1073inline bool operator==(const T p, const uint128_t &q) {
    1074 return uint128_t(p) == q;
    1075}
    1076
    -
    1077template <typename T, typename = typename std::enable_if<
    - -
    1079inline bool operator!=(const T p, const uint128_t &q) {
    +
    1077template <typename T, typename = typename std::enable_if<
    +
    1078 std::is_integral<T>::value, T>::type>
    +
    1079inline bool operator!=(const T p, const uint128_t &q) {
    1080 return uint128_t(p) != q;
    1081}
    1082
    -
    1083template <typename T, typename = typename std::enable_if<
    - +
    1083template <typename T, typename = typename std::enable_if<
    +
    1084 std::is_integral<T>::value, T>::type>
    1085inline bool operator<(const T p, const uint128_t &q) {
    1086 return uint128_t(p) < q;
    1087}
    1088
    -
    1089template <typename T, typename = typename std::enable_if<
    - -
    1091inline bool operator<=(const T p, const uint128_t &q) {
    +
    1089template <typename T, typename = typename std::enable_if<
    +
    1090 std::is_integral<T>::value, T>::type>
    +
    1091inline bool operator<=(const T p, const uint128_t &q) {
    1092 return uint128_t(p) <= q;
    1093}
    1094
    -
    1095template <typename T, typename = typename std::enable_if<
    - -
    1097inline bool operator>(const T p, const uint128_t &q) {
    +
    1095template <typename T, typename = typename std::enable_if<
    +
    1096 std::is_integral<T>::value, T>::type>
    +
    1097inline bool operator>(const T p, const uint128_t &q) {
    1098 return uint128_t(p) > q;
    1099}
    1100
    -
    1101template <typename T, typename = typename std::enable_if<
    - -
    1103inline bool operator>=(const T p, const uint128_t &q) {
    +
    1101template <typename T, typename = typename std::enable_if<
    +
    1102 std::is_integral<T>::value, T>::type>
    +
    1103inline bool operator>=(const T p, const uint128_t &q) {
    1104 return uint128_t(p) >= q;
    1105}
    1106
    1107#endif // CIPHERS_UINT128_T_HPP_
    - - -
    T begin(T... args)
    -
    class for 128-bit unsigned integer
    Definition uint128_t.hpp:60
    -
    uint128_t & operator%=(const T &p)
    operator %= for uint128_t
    Definition uint128_t.hpp:565
    -
    uint128_t operator-()
    operator - using twos complement
    Definition uint128_t.hpp:338
    -
    uint128_t & operator-=(const T &p)
    operator -= for uint128_t and other integer types.
    Definition uint128_t.hpp:366
    -
    bool operator&&(const T b)
    operator && for other types
    Definition uint128_t.hpp:734
    -
    uint128_t & operator>>=(const T p)
    operator >>= for uint128_t
    Definition uint128_t.hpp:826
    -
    uint128_t(const std::string &str)
    Parameterized constructor.
    Definition uint128_t.hpp:107
    -
    uint128_t operator+(const uint128_t &p)
    operator + for uint128_t and other integer types.
    Definition uint128_t.hpp:262
    -
    uint128_t operator<<(const T p)
    operator << for uint128_t
    Definition uint128_t.hpp:765
    -
    bool operator<=(const uint128_t &other)
    operator <= for uint128_t
    Definition uint128_t.hpp:584
    -
    uint128_t & operator--()
    operator – (pre-decrement)
    Definition uint128_t.hpp:344
    -
    uint64_t upper() const
    returns upper 64-bit integer part
    Definition uint128_t.hpp:208
    -
    uint128_t & operator&=(const T p)
    operator &= for other types (bitwise operator)
    Definition uint128_t.hpp:880
    -
    uint128_t & operator%=(const uint128_t &p)
    operator %= for uint128_t
    Definition uint128_t.hpp:552
    -
    bool operator>(const uint128_t &other)
    operator > for uint128_t
    Definition uint128_t.hpp:593
    -
    uint128_t operator--(int p)
    operator – (post-decrement)
    Definition uint128_t.hpp:353
    -
    uint128_t operator|(const uint128_t &p)
    operator | for uint128_t (bitwise operator)
    Definition uint128_t.hpp:902
    -
    uint128_t & operator/=(const uint128_t &p)
    operator /= for uint128_t
    Definition uint128_t.hpp:510
    -
    uint128_t & operator*=(const T p)
    operator *= for uint128_t and other integer types.
    Definition uint128_t.hpp:424
    -
    uint128_t operator/(const uint128_t &p)
    operator / for uint128_t and other integer types.
    Definition uint128_t.hpp:489
    -
    bool operator||(const uint128_t &b)
    operator || for uint128_t
    Definition uint128_t.hpp:644
    -
    bool operator>=(const T other)
    operator >= for other types
    Definition uint128_t.hpp:698
    +
    class for 128-bit unsigned integer
    Definition uint128_t.hpp:60
    +
    uint128_t & operator%=(const T &p)
    operator %= for uint128_t
    +
    uint128_t operator-()
    operator - using twos complement
    +
    uint128_t & operator-=(const T &p)
    operator -= for uint128_t and other integer types.
    +
    bool operator&&(const T b)
    operator && for other types
    +
    uint128_t & operator>>=(const T p)
    operator >>= for uint128_t
    +
    uint128_t(const std::string &str)
    Parameterized constructor.
    +
    uint128_t operator+(const uint128_t &p)
    operator + for uint128_t and other integer types.
    +
    uint128_t operator<<(const T p)
    operator << for uint128_t
    +
    bool operator<=(const uint128_t &other)
    operator <= for uint128_t
    +
    uint128_t & operator--()
    operator – (pre-decrement)
    +
    uint64_t upper() const
    returns upper 64-bit integer part
    +
    uint128_t & operator&=(const T p)
    operator &= for other types (bitwise operator)
    +
    uint128_t & operator%=(const uint128_t &p)
    operator %= for uint128_t
    +
    bool operator>(const uint128_t &other)
    operator > for uint128_t
    +
    uint128_t operator--(int p)
    operator – (post-decrement)
    +
    uint128_t operator|(const uint128_t &p)
    operator | for uint128_t (bitwise operator)
    +
    uint128_t & operator/=(const uint128_t &p)
    operator /= for uint128_t
    +
    uint128_t & operator*=(const T p)
    operator *= for uint128_t and other integer types.
    +
    uint128_t operator/(const uint128_t &p)
    operator / for uint128_t and other integer types.
    +
    bool operator||(const uint128_t &b)
    operator || for uint128_t
    +
    bool operator>=(const T other)
    operator >= for other types
    uint128_t & operator=(uint128_t &&p)=default
    Move assignment operator.
    -
    uint128_t operator|(const T p)
    operator | for other types (bitwise operator)
    Definition uint128_t.hpp:893
    +
    uint128_t operator|(const T p)
    operator | for other types (bitwise operator)
    ~uint128_t()=default
    Destructor for uint128_t.
    -
    uint128_t operator~()
    operator ~ for uint128_t
    Definition uint128_t.hpp:755
    -
    uint128_t operator*(const uint128_t &p)
    operator * for uint128_t and other integer types.
    Definition uint128_t.hpp:402
    -
    uint128_t & operator^=(const T &p)
    operator ^= for other types (bitwise operator)
    Definition uint128_t.hpp:970
    -
    bool operator<=(const T other)
    operator <= for other types
    Definition uint128_t.hpp:674
    -
    uint128_t operator*(const T p)
    operator * for uint128_t and other integer types.
    Definition uint128_t.hpp:393
    -
    uint128_t operator+(const T p)
    operator + for uint128_t and other integer types.
    Definition uint128_t.hpp:253
    -
    uint128_t & operator+=(const T p)
    operator += for uint128_t and other integer types.
    Definition uint128_t.hpp:274
    -
    bool operator<(const T other)
    operator < for other types
    Definition uint128_t.hpp:662
    -
    friend std::ostream & operator<<(std::ostream &op, const uint128_t &p)
    operator << for printing uint128_t integer
    Definition uint128_t.hpp:984
    +
    uint128_t operator~()
    operator ~ for uint128_t
    +
    uint128_t operator*(const uint128_t &p)
    operator * for uint128_t and other integer types.
    +
    uint128_t & operator^=(const T &p)
    operator ^= for other types (bitwise operator)
    +
    bool operator<=(const T other)
    operator <= for other types
    +
    uint128_t operator*(const T p)
    operator * for uint128_t and other integer types.
    +
    uint128_t operator+(const T p)
    operator + for uint128_t and other integer types.
    +
    uint128_t & operator+=(const T p)
    operator += for uint128_t and other integer types.
    +
    bool operator<(const T other)
    operator < for other types
    +
    friend std::ostream & operator<<(std::ostream &op, const uint128_t &p)
    operator << for printing uint128_t integer
    uint128_t(const uint128_t &num)=default
    Copy constructor.
    -
    uint128_t & operator|=(const T p)
    operator |= for other types (bitwise operator)
    Definition uint128_t.hpp:925
    -
    uint128_t operator-(const T &p)
    operator - for uint128_t and other integer types.
    Definition uint128_t.hpp:319
    -
    uint128_t operator>>(const T p)
    operator >> for uint128_t
    Definition uint128_t.hpp:806
    -
    bool operator!=(const T other)
    operator != for other types
    Definition uint128_t.hpp:722
    -
    bool operator==(const T other)
    operator == for other types
    Definition uint128_t.hpp:710
    -
    bool operator==(const uint128_t &other)
    operator == for uint128_t
    Definition uint128_t.hpp:611
    -
    uint32_t _trz()
    Trailing zeroes in binary.
    Definition uint128_t.hpp:163
    -
    uint128_t(uint128_t &&num) noexcept
    Move constructor.
    Definition uint128_t.hpp:128
    -
    bool operator||(const T b)
    operator || for other types
    Definition uint128_t.hpp:747
    -
    uint128_t operator-(const uint128_t &p)
    operator - for uint128_t
    Definition uint128_t.hpp:329
    -
    bool operator>(const T other)
    operator > for other types
    Definition uint128_t.hpp:686
    -
    void __get_integer_from_string(const std::string &str)
    First and second half of 128 bit number.
    Definition uint128_t.hpp:70
    -
    std::pair< uint128_t, uint128_t > divide(const uint128_t &p)
    divide function for uint128_t and other integer types.
    Definition uint128_t.hpp:455
    -
    uint128_t operator^(const uint128_t &p)
    operator ^ for uint128_t (bitwise operator)
    Definition uint128_t.hpp:947
    -
    uint128_t(const uint64_t high, const uint64_t low)
    Parameterized constructor.
    Definition uint128_t.hpp:116
    -
    uint128_t & operator*=(const uint128_t &p)
    operator *= for uint128_t and other integer types.
    Definition uint128_t.hpp:434
    -
    uint128_t & operator+=(const uint128_t &p)
    operator += for uint128_t
    Definition uint128_t.hpp:286
    -
    uint128_t operator&(const T p)
    operator & for other types (bitwise operator)
    Definition uint128_t.hpp:856
    -
    uint128_t & operator<<=(const T p)
    operator <<= for uint128_t
    Definition uint128_t.hpp:785
    -
    uint64_t lower() const
    returns lower 64-bit integer part
    Definition uint128_t.hpp:202
    -
    uint128_t & operator/=(const T p)
    operator /= for uint128_t and other integer types.
    Definition uint128_t.hpp:523
    -
    uint128_t operator^(const T p)
    operator ^ for other types (bitwise operator)
    Definition uint128_t.hpp:938
    -
    bool operator&&(const uint128_t &b)
    operator && for uint128_t
    Definition uint128_t.hpp:635
    -
    bool operator!=(const uint128_t &other)
    operator != for uint128_t
    Definition uint128_t.hpp:620
    +
    uint128_t & operator|=(const T p)
    operator |= for other types (bitwise operator)
    +
    uint128_t operator-(const T &p)
    operator - for uint128_t and other integer types.
    +
    uint128_t operator>>(const T p)
    operator >> for uint128_t
    +
    bool operator!=(const T other)
    operator != for other types
    +
    bool operator==(const T other)
    operator == for other types
    +
    bool operator==(const uint128_t &other)
    operator == for uint128_t
    +
    uint32_t _trz()
    Trailing zeroes in binary.
    +
    uint128_t(uint128_t &&num) noexcept
    Move constructor.
    +
    bool operator||(const T b)
    operator || for other types
    +
    uint128_t operator-(const uint128_t &p)
    operator - for uint128_t
    +
    bool operator>(const T other)
    operator > for other types
    +
    void __get_integer_from_string(const std::string &str)
    First and second half of 128 bit number.
    Definition uint128_t.hpp:70
    +
    std::pair< uint128_t, uint128_t > divide(const uint128_t &p)
    divide function for uint128_t and other integer types.
    +
    uint128_t operator^(const uint128_t &p)
    operator ^ for uint128_t (bitwise operator)
    +
    uint128_t(const uint64_t high, const uint64_t low)
    Parameterized constructor.
    +
    uint128_t & operator*=(const uint128_t &p)
    operator *= for uint128_t and other integer types.
    +
    uint128_t & operator+=(const uint128_t &p)
    operator += for uint128_t
    +
    uint128_t operator&(const T p)
    operator & for other types (bitwise operator)
    +
    uint128_t & operator<<=(const T p)
    operator <<= for uint128_t
    +
    uint64_t lower() const
    returns lower 64-bit integer part
    +
    uint128_t & operator/=(const T p)
    operator /= for uint128_t and other integer types.
    +
    uint128_t operator^(const T p)
    operator ^ for other types (bitwise operator)
    +
    bool operator&&(const uint128_t &b)
    operator && for uint128_t
    +
    bool operator!=(const uint128_t &other)
    operator != for uint128_t
    uint128_t & operator=(const uint128_t &p)=default
    operator = for uint128_t
    -
    uint128_t & operator|=(const uint128_t &p)
    operator |= for uint128_t (bitwise operator)
    Definition uint128_t.hpp:911
    -
    uint128_t & operator=(const std::string &p)
    operator = for type string
    Definition uint128_t.hpp:228
    -
    uint128_t & operator-=(const uint128_t &p)
    operator -= for uint128_t
    Definition uint128_t.hpp:378
    -
    uint128_t operator%(const uint128_t &p)
    operator % for uint128_t
    Definition uint128_t.hpp:533
    -
    uint128_t & operator&=(const uint128_t &p)
    operator &= for uint128_t (bitwise operator)
    Definition uint128_t.hpp:866
    -
    uint128_t & operator++()
    pre-increment operator
    Definition uint128_t.hpp:297
    -
    uint128_t & operator=(const T &p)
    operator = for other types
    Definition uint128_t.hpp:218
    -
    bool operator<(const uint128_t &other)
    operator < for uint128_t
    Definition uint128_t.hpp:575
    -
    uint128_t operator&(const uint128_t &p)
    operator & for uint128_t (bitwise operator)
    Definition uint128_t.hpp:844
    -
    bool operator!()
    operator ! for uint128_t
    Definition uint128_t.hpp:628
    -
    uint128_t(T low)
    Parameterized constructor.
    Definition uint128_t.hpp:101
    -
    uint128_t operator%(const T &p)
    operator % for uint128_t and other integer types.
    Definition uint128_t.hpp:543
    -
    uint128_t & operator^=(const uint128_t &p)
    operator ^= for uint128_t (bitwise operator)
    Definition uint128_t.hpp:956
    -
    bool operator>=(const uint128_t &other)
    operator >= for uint128_t
    Definition uint128_t.hpp:602
    -
    uint128_t operator/(const T p)
    operator / for uint128_t and other integer types.
    Definition uint128_t.hpp:499
    -
    uint32_t _lez()
    Leading zeroes in binary.
    Definition uint128_t.hpp:140
    -
    bool operator()()
    operator () for uint128_t
    Definition uint128_t.hpp:652
    -
    uint128_t operator++(int)
    post-increment operator
    Definition uint128_t.hpp:306
    - -
    T end(T... args)
    - - - - -
    T operator!=(T... args)
    - -
    T push_back(T... args)
    -
    T reverse(T... args)
    -
    T size(T... args)
    -
    std::string add(const std::string &first, const std::string &second)
    Adding two string.
    Definition uint128_t.hpp:38
    +
    uint128_t & operator|=(const uint128_t &p)
    operator |= for uint128_t (bitwise operator)
    +
    uint128_t & operator=(const std::string &p)
    operator = for type string
    +
    uint128_t & operator-=(const uint128_t &p)
    operator -= for uint128_t
    +
    uint128_t operator%(const uint128_t &p)
    operator % for uint128_t
    +
    uint128_t & operator&=(const uint128_t &p)
    operator &= for uint128_t (bitwise operator)
    +
    uint128_t & operator++()
    pre-increment operator
    +
    uint128_t & operator=(const T &p)
    operator = for other types
    +
    bool operator<(const uint128_t &other)
    operator < for uint128_t
    +
    uint128_t operator&(const uint128_t &p)
    operator & for uint128_t (bitwise operator)
    +
    bool operator!()
    operator ! for uint128_t
    +
    uint128_t(T low)
    Parameterized constructor.
    +
    uint128_t operator%(const T &p)
    operator % for uint128_t and other integer types.
    +
    uint128_t & operator^=(const uint128_t &p)
    operator ^= for uint128_t (bitwise operator)
    +
    bool operator>=(const uint128_t &other)
    operator >= for uint128_t
    +
    uint128_t operator/(const T p)
    operator / for uint128_t and other integer types.
    +
    uint32_t _lez()
    Leading zeroes in binary.
    +
    bool operator()()
    operator () for uint128_t
    +
    uint128_t operator++(int)
    post-increment operator
    +
    std::string add(const std::string &first, const std::string &second)
    Adding two string.
    Definition uint128_t.hpp:38
    diff --git a/da/d49/classgreedy__algorithms_1_1_digit_separation.html b/da/d49/classgreedy__algorithms_1_1_digit_separation.html index 2c007897a..3f834dcbc 100644 --- a/da/d49/classgreedy__algorithms_1_1_digit_separation.html +++ b/da/d49/classgreedy__algorithms_1_1_digit_separation.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: greedy_algorithms::DigitSeparation Class Reference +TheAlgorithms/C++: greedy_algorithms::DigitSeparation Class Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + @@ -119,15 +136,17 @@ Public Member Functions - + - +
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
     DigitSeparation ()
     Default constructor for the DigitSeparation class.
     
    std::vector< std::int64_tdigitSeparationReverseOrder (std::int64_t largeNumber) const
    std::vector< std::int64_t > digitSeparationReverseOrder (std::int64_t largeNumber) const
     Implementation of digitSeparationReverseOrder method.
     
    std::vector< std::int64_tdigitSeparationForwardOrder (std::int64_t largeNumber) const
    std::vector< std::int64_t > digitSeparationForwardOrder (std::int64_t largeNumber) const
     Implementation of digitSeparationForwardOrder method.
     

    Detailed Description

    A class that provides methods to separate the digits of a large positive number.

    + +

    Definition at line 35 of file digit_separation.cpp.

    Constructor & Destructor Documentation

    ◆ DigitSeparation()

    @@ -153,6 +172,8 @@ Public Member Functions

    Default constructor for the DigitSeparation class.

    + +

    Definition at line 40 of file digit_separation.cpp.

    40{}
    @@ -168,9 +189,9 @@ Public Member Functions - + - +
    std::vector< std::int64_t > greedy_algorithms::DigitSeparation::digitSeparationForwardOrder std::vector< std::int64_t > greedy_algorithms::DigitSeparation::digitSeparationForwardOrder (std::int64_t largeNumber)std::int64_t largeNumber) const
    @@ -189,22 +210,17 @@ Public Member Functions
    Returns
    A vector of digits in forward order.
    + +

    Definition at line 68 of file digit_separation.cpp.

    69 {
    - +
    70 std::vector<std::int64_t> result =
    71 digitSeparationReverseOrder(largeNumber);
    -
    72 std::reverse(result.begin(), result.end());
    +
    72 std::reverse(result.begin(), result.end());
    73 return result;
    74 }
    -
    std::vector< std::int64_t > digitSeparationReverseOrder(std::int64_t largeNumber) const
    Implementation of digitSeparationReverseOrder method.
    Definition digit_separation.cpp:48
    -
    uint64_t result(uint64_t n)
    Definition fibonacci_sum.cpp:77
    -
    T reverse(T... args)
    - -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    std::vector< std::int64_t > digitSeparationReverseOrder(std::int64_t largeNumber) const
    Implementation of digitSeparationReverseOrder method.
    +
    uint64_t result(uint64_t n)
    +
    @@ -217,9 +233,9 @@ Here is the call graph for this function:
    - + - +
    std::vector< std::int64_t > greedy_algorithms::DigitSeparation::digitSeparationReverseOrder std::vector< std::int64_t > greedy_algorithms::DigitSeparation::digitSeparationReverseOrder (std::int64_t largeNumber)std::int64_t largeNumber) const
    @@ -238,8 +254,10 @@ Here is the call graph for this function:
    Returns
    A vector of digits in reverse order.
    + +

    Definition at line 48 of file digit_separation.cpp.

    49 {
    - +
    50 std::vector<std::int64_t> result;
    51 if (largeNumber != 0) {
    52 while (largeNumber != 0) {
    53 result.push_back(std::abs(largeNumber % 10));
    @@ -254,7 +272,7 @@ Here is the call graph for this function:

    The documentation for this class was generated from the following file:
    diff --git a/da/d49/classgreedy__algorithms_1_1_digit_separation_a1809ae6828223999374bde5b197a59c8_cgraph.map b/da/d49/classgreedy__algorithms_1_1_digit_separation_a1809ae6828223999374bde5b197a59c8_cgraph.map deleted file mode 100644 index edb494389..000000000 --- a/da/d49/classgreedy__algorithms_1_1_digit_separation_a1809ae6828223999374bde5b197a59c8_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/da/d49/classgreedy__algorithms_1_1_digit_separation_a1809ae6828223999374bde5b197a59c8_cgraph.md5 b/da/d49/classgreedy__algorithms_1_1_digit_separation_a1809ae6828223999374bde5b197a59c8_cgraph.md5 deleted file mode 100644 index c33953a26..000000000 --- a/da/d49/classgreedy__algorithms_1_1_digit_separation_a1809ae6828223999374bde5b197a59c8_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -c6f4b15afebce0a61636f63d76449450 \ No newline at end of file diff --git a/da/d49/classgreedy__algorithms_1_1_digit_separation_a1809ae6828223999374bde5b197a59c8_cgraph.svg b/da/d49/classgreedy__algorithms_1_1_digit_separation_a1809ae6828223999374bde5b197a59c8_cgraph.svg deleted file mode 100644 index 15e02d776..000000000 --- a/da/d49/classgreedy__algorithms_1_1_digit_separation_a1809ae6828223999374bde5b197a59c8_cgraph.svg +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - - - - - - - -greedy_algorithms::DigitSeparation::digitSeparationForwardOrder - - -Node1 - - -greedy_algorithms:: -DigitSeparation::digitSeparation -ForwardOrder - - - - - -Node2 - - -greedy_algorithms:: -DigitSeparation::digitSeparation -ReverseOrder - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::reverse - - - - - -Node1->Node3 - - - - - - - - - - - - - diff --git a/da/d49/classgreedy__algorithms_1_1_digit_separation_a1809ae6828223999374bde5b197a59c8_cgraph_org.svg b/da/d49/classgreedy__algorithms_1_1_digit_separation_a1809ae6828223999374bde5b197a59c8_cgraph_org.svg deleted file mode 100644 index 36e90de00..000000000 --- a/da/d49/classgreedy__algorithms_1_1_digit_separation_a1809ae6828223999374bde5b197a59c8_cgraph_org.svg +++ /dev/null @@ -1,61 +0,0 @@ - - - - - - -greedy_algorithms::DigitSeparation::digitSeparationForwardOrder - - -Node1 - - -greedy_algorithms:: -DigitSeparation::digitSeparation -ForwardOrder - - - - - -Node2 - - -greedy_algorithms:: -DigitSeparation::digitSeparation -ReverseOrder - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::reverse - - - - - -Node1->Node3 - - - - - - - - diff --git a/da/d4b/depth__first__search__with__stack_8cpp.html b/da/d4b/depth__first__search__with__stack_8cpp.html index 366b73573..521eb5ede 100644 --- a/da/d4b/depth__first__search__with__stack_8cpp.html +++ b/da/d4b/depth__first__search__with__stack_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: graph/depth_first_search_with_stack.cpp File Reference +TheAlgorithms/C++: graph/depth_first_search_with_stack.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -124,7 +141,9 @@ Include dependency graph for depth_first_search_with_stack.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -136,10 +155,10 @@ Namespaces

    Namespaces

    namespace  graph
    - + - + @@ -152,17 +171,14 @@ Functions Variables - - + + - - + + - - + +

    Functions

    void graph::depth_first_search::addEdge (std::vector< std::vector< size_t > > *adj, size_t u, size_t v)
    void graph::depth_first_search::addEdge (std::vector< std::vector< size_t > > *adj, size_t u, size_t v)
     Adds and edge between two vertices of graph say u and v in this case.
     
    std::vector< size_t > graph::depth_first_search::dfs (const std::vector< std::vector< size_t > > &graph, size_t start)
    std::vector< size_t > graph::depth_first_search::dfs (const std::vector< std::vector< size_t > > &graph, size_t start)
     Explores the given vertex, exploring a vertex means traversing over all the vertices which are connected to the vertex that is currently being explored and push it onto the stack.
     
    static void tests ()
    constexpr int WHITE = 0
     
    -constexpr int GREY = 1
     indicates the node hasn't been explored
    constexpr int GREY = 1
     indicates the node hasn't been explored
     
    -constexpr int BLACK = 2
     indicates node is in stack waiting to be explored
    constexpr int BLACK = 2
     indicates node is in stack waiting to be explored
     
    -constexpr int64_t INF = std::numeric_limits<int16_t>::max()
     indicates node has already been explored
    constexpr int64_t INF = std::numeric_limits<int16_t>::max()
     indicates node has already been explored
     

    Detailed Description

    @@ -188,6 +204,8 @@ constexpr int64_t INF
  • Push all its neighbours which are not coloured BLACK.
  • Repeat steps 4 and 5 until the stack is empty.
  • + +

    Definition in file depth_first_search_with_stack.cpp.

    Function Documentation

    ◆ addEdge()

    @@ -198,7 +216,7 @@ constexpr int64_t INF void graph::depth_first_search::addEdge ( - std::vector< std::vector< size_t > > * adj, + std::vector< std::vector< size_t > > * adj, @@ -222,6 +240,8 @@ constexpr int64_t INF + +

    Definition at line 64 of file depth_first_search_with_stack.cpp.

    64 {
    65 /*
    66 *
    @@ -242,9 +262,9 @@ constexpr int64_t INF
    - + - + @@ -268,53 +288,43 @@ constexpr int64_t 
    std::vector< size_t > graph::depth_first_search::dfs std::vector< size_t > graph::depth_first_search::dfs (const std::vector< std::vector< size_t > > & graph, const std::vector< std::vector< size_t > > & graph,
    INF

    push the node to the final result vector

    exploring the neighbours of the current node

    Node has been explored

    -
    87 {
    -
    88 /// checked[i] stores the status of each node
    -
    89 std::vector<size_t> checked(graph.size(), WHITE), traversed_path;
    + +

    Definition at line 87 of file depth_first_search_with_stack.cpp.

    +
    87 {
    +
    89 std::vector<size_t> checked(graph.size(), WHITE), traversed_path;
    90
    91 checked[start] = GREY;
    - +
    92 std::stack<size_t> stack;
    93 stack.push(start);
    -
    94
    -
    95 /// while stack is not empty we keep exploring the node on top of stack
    -
    96 while (!stack.empty()) {
    +
    94
    +
    96 while (!stack.empty()) {
    97 int act = stack.top();
    98 stack.pop();
    99
    -
    100 if (checked[act] == GREY) {
    -
    101 /// push the node to the final result vector
    -
    102 traversed_path.push_back(act + 1);
    -
    103
    -
    104 /// exploring the neighbours of the current node
    -
    105 for (auto it : graph[act]) {
    +
    100 if (checked[act] == GREY) {
    +
    102 traversed_path.push_back(act + 1);
    +
    103
    +
    105 for (auto it : graph[act]) {
    106 stack.push(it);
    107 if (checked[it] != BLACK) {
    108 checked[it] = GREY;
    109 }
    110 }
    -
    111 checked[act] = BLACK; /// Node has been explored
    +
    111 checked[act] = BLACK;
    112 }
    113 }
    114 return traversed_path;
    115}
    -
    for std::invalid_argument
    Definition stack.hpp:19
    -
    void pop()
    Definition stack.hpp:62
    -
    void push(const value_type &item)
    Definition stack.hpp:47
    -
    value_type top() const
    Definition stack.hpp:56
    -
    constexpr int GREY
    indicates the node hasn't been explored
    Definition depth_first_search_with_stack.cpp:39
    -
    constexpr int BLACK
    indicates node is in stack waiting to be explored
    Definition depth_first_search_with_stack.cpp:40
    -
    constexpr int WHITE
    Definition depth_first_search_with_stack.cpp:38
    +
    for std::invalid_argument
    Definition stack.hpp:19
    +
    void pop()
    Definition stack.hpp:62
    +
    void push(const value_type &item)
    Definition stack.hpp:47
    +
    value_type top() const
    Definition stack.hpp:56
    +
    constexpr int GREY
    indicates the node hasn't been explored
    +
    constexpr int BLACK
    indicates node is in stack waiting to be explored
    +
    constexpr int WHITE
    Graph Algorithms.
    -
    char stack[MAX]
    Definition paranthesis_matching.cpp:20
    -
    T push_back(T... args)
    - - -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    char stack[MAX]
    +
    @@ -338,53 +348,43 @@ Here is the call graph for this function:

    taking input for the edges

    taking input for the starting position

    Printing the order of traversal

    + +

    Definition at line 173 of file depth_first_search_with_stack.cpp.

    173 {
    174 tests(); // execute the tests
    175
    176 size_t vertices = 0, edges = 0, start_pos = 1;
    -
    177 std::vector<size_t> traversal;
    +
    177 std::vector<size_t> traversal;
    178
    -
    179 std::cout << "Enter the Vertices : ";
    -
    180 std::cin >> vertices;
    -
    181 std::cout << "Enter the Edges : ";
    -
    182 std::cin >> edges;
    -
    183
    -
    184 /// creating a graph
    - -
    186
    -
    187 /// taking input for the edges
    -
    188 std::cout << "Enter the vertices which have edges between them : " << std::endl;
    +
    179 std::cout << "Enter the Vertices : ";
    +
    180 std::cin >> vertices;
    +
    181 std::cout << "Enter the Edges : ";
    +
    182 std::cin >> edges;
    +
    183
    +
    185 std::vector<std::vector<size_t> > adj(vertices, std::vector<size_t>());
    +
    186
    +
    188 std::cout << "Enter the vertices which have edges between them : " << std::endl;
    189 while (edges--) {
    190 size_t u = 0, v = 0;
    -
    191 std::cin >> u >> v;
    +
    191 std::cin >> u >> v;
    193 }
    -
    194
    -
    195 /// taking input for the starting position
    -
    196 std::cout << "Enter the starting vertex [1,n]: " << std::endl;
    -
    197 std::cin >> start_pos;
    +
    194
    +
    196 std::cout << "Enter the starting vertex [1,n]: " << std::endl;
    +
    197 std::cin >> start_pos;
    198 start_pos -= 1;
    199 traversal = graph::depth_first_search::dfs(adj, start_pos);
    -
    200
    -
    201 /// Printing the order of traversal
    -
    202 for (auto x : traversal) {
    -
    203 std::cout << x << ' ';
    +
    200
    +
    202 for (auto x : traversal) {
    +
    203 std::cout << x << ' ';
    204 }
    205
    206 return 0;
    207}
    - - -
    static void tests()
    Definition depth_first_search_with_stack.cpp:123
    -
    std::vector< size_t > dfs(const std::vector< std::vector< size_t > > &graph, size_t start)
    Explores the given vertex, exploring a vertex means traversing over all the vertices which are connec...
    Definition depth_first_search_with_stack.cpp:87
    -
    void addEdge(std::vector< std::vector< size_t > > *adj, size_t u, size_t v)
    Adds and edge between two vertices of graph say u and v in this case.
    Definition depth_first_search_with_stack.cpp:64
    -
    T endl(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static void tests()
    +
    std::vector< size_t > dfs(const std::vector< std::vector< size_t > > &graph, size_t start)
    Explores the given vertex, exploring a vertex means traversing over all the vertices which are connec...
    +
    void addEdge(std::vector< std::vector< size_t > > *adj, size_t u, size_t v)
    Adds and edge between two vertices of graph say u and v in this case.
    + @@ -416,60 +416,132 @@ Here is the call graph for this function:

    for the above sample data, this is the expected output

    Test 3

    for the above sample data, this is the expected output

    + +

    Definition at line 123 of file depth_first_search_with_stack.cpp.

    123 {
    124 size_t start_pos;
    -
    125
    -
    126 /// Test 1
    -
    127 std::cout << "Case 1: " << std::endl;
    +
    125
    +
    127 std::cout << "Case 1: " << std::endl;
    128 start_pos = 1;
    - +
    129 std::vector<std::vector<size_t> > g1(3, std::vector<size_t>());
    130
    134
    -
    135 std::vector<size_t> expected1 {1, 2, 3}; /// for the above sample data, this is the expected output
    +
    135 std::vector<size_t> expected1 {1, 2, 3};
    136 assert(graph::depth_first_search::dfs(g1, start_pos - 1) == expected1);
    -
    137 std::cout << "Passed" << std::endl;
    -
    138
    -
    139 /// Test 2
    -
    140 std::cout << "Case 2: " << std::endl;
    +
    137 std::cout << "Passed" << std::endl;
    +
    138
    +
    140 std::cout << "Case 2: " << std::endl;
    141 start_pos = 1;
    - +
    142 std::vector<std::vector<size_t> > g2(4, std::vector<size_t>());
    143
    148
    -
    149 std::vector<size_t> expected2 {1, 3, 2, 4}; /// for the above sample data, this is the expected output
    +
    149 std::vector<size_t> expected2 {1, 3, 2, 4};
    150 assert(graph::depth_first_search::dfs(g2, start_pos - 1) == expected2);
    -
    151 std::cout << "Passed" << std::endl;
    -
    152
    -
    153 /// Test 3
    -
    154 std::cout << "Case 3: " << std::endl;
    +
    151 std::cout << "Passed" << std::endl;
    +
    152
    +
    154 std::cout << "Case 3: " << std::endl;
    155 start_pos = 2;
    - +
    156 std::vector<std::vector<size_t> > g3(4, std::vector<size_t>());
    157
    162
    -
    163 std::vector<size_t> expected3 {2, 4, 1, 3}; /// for the above sample data, this is the expected output
    +
    163 std::vector<size_t> expected3 {2, 4, 1, 3};
    164 assert(graph::depth_first_search::dfs(g3, start_pos - 1) == expected3);
    -
    165 std::cout << "Passed" << std::endl;
    +
    165 std::cout << "Passed" << std::endl;
    166
    167}
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +

    Variable Documentation

    + +

    ◆ BLACK

    + +
    +
    + + + + + +
    + + + + +
    int BLACK = 2
    +
    +constexpr
    +
    + +

    indicates node is in stack waiting to be explored

    + +

    Definition at line 40 of file depth_first_search_with_stack.cpp.

    + +
    +
    + +

    ◆ GREY

    + +
    +
    + + + + + +
    + + + + +
    int GREY = 1
    +
    +constexpr
    +
    + +

    indicates the node hasn't been explored

    + +

    Definition at line 39 of file depth_first_search_with_stack.cpp.

    + +
    +
    + +

    ◆ INF

    + +
    +
    + + + + + +
    + + + + +
    int64_t INF = std::numeric_limits<int16_t>::max()
    +
    +constexpr
    +
    + +

    indicates node has already been explored

    + +

    Definition at line 41 of file depth_first_search_with_stack.cpp.

    + +
    +

    ◆ WHITE

    @@ -489,7 +561,9 @@ Here is the call graph for this function:
    -

    for IO operations header for std::stack header for std::vector header for preprocessor macro assert() header for limits of integral types

    +

    for IO operations header for std::stack header for std::vector header for preprocessor macro assert() header for limits of integral types

    + +

    Definition at line 38 of file depth_first_search_with_stack.cpp.

    diff --git a/da/d4b/depth__first__search__with__stack_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.map b/da/d4b/depth__first__search__with__stack_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.map deleted file mode 100644 index 7cc6e6992..000000000 --- a/da/d4b/depth__first__search__with__stack_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/da/d4b/depth__first__search__with__stack_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 b/da/d4b/depth__first__search__with__stack_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 deleted file mode 100644 index 52a7413c5..000000000 --- a/da/d4b/depth__first__search__with__stack_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -53c50817a16c14e9053dbcf470acfa9d \ No newline at end of file diff --git a/da/d4b/depth__first__search__with__stack_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.svg b/da/d4b/depth__first__search__with__stack_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.svg deleted file mode 100644 index b4e2a7999..000000000 --- a/da/d4b/depth__first__search__with__stack_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -tests - - -Node1 - - -tests - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/da/d4b/depth__first__search__with__stack_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph_org.svg b/da/d4b/depth__first__search__with__stack_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph_org.svg deleted file mode 100644 index 42f72b633..000000000 --- a/da/d4b/depth__first__search__with__stack_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -tests - - -Node1 - - -tests - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - diff --git a/da/d4b/depth__first__search__with__stack_8cpp_a5738da9f508f6a9e87f123c9fb6f2ea9_cgraph.map b/da/d4b/depth__first__search__with__stack_8cpp_a5738da9f508f6a9e87f123c9fb6f2ea9_cgraph.map deleted file mode 100644 index a6a61d01f..000000000 --- a/da/d4b/depth__first__search__with__stack_8cpp_a5738da9f508f6a9e87f123c9fb6f2ea9_cgraph.map +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - - - - - diff --git a/da/d4b/depth__first__search__with__stack_8cpp_a5738da9f508f6a9e87f123c9fb6f2ea9_cgraph.md5 b/da/d4b/depth__first__search__with__stack_8cpp_a5738da9f508f6a9e87f123c9fb6f2ea9_cgraph.md5 deleted file mode 100644 index 8ad4f9558..000000000 --- a/da/d4b/depth__first__search__with__stack_8cpp_a5738da9f508f6a9e87f123c9fb6f2ea9_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -d93bebf7695f3d516651f57455a0725f \ No newline at end of file diff --git a/da/d4b/depth__first__search__with__stack_8cpp_a5738da9f508f6a9e87f123c9fb6f2ea9_cgraph.svg b/da/d4b/depth__first__search__with__stack_8cpp_a5738da9f508f6a9e87f123c9fb6f2ea9_cgraph.svg deleted file mode 100644 index 37cee60b4..000000000 --- a/da/d4b/depth__first__search__with__stack_8cpp_a5738da9f508f6a9e87f123c9fb6f2ea9_cgraph.svg +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - - - - -graph::depth_first_search::dfs - - -Node1 - - -graph::depth_first -_search::dfs - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -stack::pop - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -stack::push - - - - - -Node1->Node3 - - - - - - - - -Node5 - - -std::vector::push_back - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -stack::top - - - - - -Node1->Node6 - - - - - - - - -Node4 - - -std::make_shared - - - - - -Node3->Node4 - - - - - - - - - - - - - diff --git a/da/d4b/depth__first__search__with__stack_8cpp_a5738da9f508f6a9e87f123c9fb6f2ea9_cgraph_org.svg b/da/d4b/depth__first__search__with__stack_8cpp_a5738da9f508f6a9e87f123c9fb6f2ea9_cgraph_org.svg deleted file mode 100644 index 9d8b3ac07..000000000 --- a/da/d4b/depth__first__search__with__stack_8cpp_a5738da9f508f6a9e87f123c9fb6f2ea9_cgraph_org.svg +++ /dev/null @@ -1,121 +0,0 @@ - - - - - - -graph::depth_first_search::dfs - - -Node1 - - -graph::depth_first -_search::dfs - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -stack::pop - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -stack::push - - - - - -Node1->Node3 - - - - - - - - -Node5 - - -std::vector::push_back - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -stack::top - - - - - -Node1->Node6 - - - - - - - - -Node4 - - -std::make_shared - - - - - -Node3->Node4 - - - - - - - - diff --git a/da/d4b/depth__first__search__with__stack_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/da/d4b/depth__first__search__with__stack_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index b1955b46c..000000000 --- a/da/d4b/depth__first__search__with__stack_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/da/d4b/depth__first__search__with__stack_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/da/d4b/depth__first__search__with__stack_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index e2dbb74e0..000000000 --- a/da/d4b/depth__first__search__with__stack_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -15ecf0d64cad19021d9762e4126fcb9b \ No newline at end of file diff --git a/da/d4b/depth__first__search__with__stack_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/da/d4b/depth__first__search__with__stack_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index e4fd629c7..000000000 --- a/da/d4b/depth__first__search__with__stack_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,92 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -tests - - - - - -Node1->Node3 - - - - - - - - -Node3->Node2 - - - - - - - - - - - - - diff --git a/da/d4b/depth__first__search__with__stack_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/da/d4b/depth__first__search__with__stack_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index ed965abb0..000000000 --- a/da/d4b/depth__first__search__with__stack_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -tests - - - - - -Node1->Node3 - - - - - - - - -Node3->Node2 - - - - - - - - diff --git a/da/d4b/depth__first__search__with__stack_8cpp_source.html b/da/d4b/depth__first__search__with__stack_8cpp_source.html new file mode 100644 index 000000000..4603da922 --- /dev/null +++ b/da/d4b/depth__first__search__with__stack_8cpp_source.html @@ -0,0 +1,287 @@ + + + + + + + + +TheAlgorithms/C++: graph/depth_first_search_with_stack.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    depth_first_search_with_stack.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    32#include <iostream>
    +
    33#include <stack>
    +
    34#include <vector>
    +
    35#include <cassert>
    +
    36#include <limits>
    +
    37
    +
    38constexpr int WHITE = 0;
    +
    39constexpr int GREY = 1;
    +
    40constexpr int BLACK = 2;
    +
    41constexpr int64_t INF = std::numeric_limits<int16_t>::max();
    +
    42
    +
    43
    +
    48namespace graph {
    +
    53namespace depth_first_search {
    +
    +
    64void addEdge(std::vector<std::vector<size_t>> *adj, size_t u, size_t v) {
    +
    65 /*
    +
    66 *
    +
    67 * Here we are considering undirected graph that's the
    +
    68 * reason we are adding v to the adjacency list representation of u
    +
    69 * and also adding u to the adjacency list representation of v
    +
    70 *
    +
    71 */
    +
    72 (*adj)[u - 1].push_back(v - 1);
    +
    73}
    +
    +
    74
    +
    +
    87std::vector<size_t> dfs(const std::vector<std::vector<size_t> > &graph, size_t start) {
    +
    89 std::vector<size_t> checked(graph.size(), WHITE), traversed_path;
    +
    90
    +
    91 checked[start] = GREY;
    +
    92 std::stack<size_t> stack;
    +
    93 stack.push(start);
    +
    94
    +
    96 while (!stack.empty()) {
    +
    97 int act = stack.top();
    +
    98 stack.pop();
    +
    99
    +
    100 if (checked[act] == GREY) {
    +
    102 traversed_path.push_back(act + 1);
    +
    103
    +
    105 for (auto it : graph[act]) {
    +
    106 stack.push(it);
    +
    107 if (checked[it] != BLACK) {
    +
    108 checked[it] = GREY;
    +
    109 }
    +
    110 }
    +
    111 checked[act] = BLACK;
    +
    112 }
    +
    113 }
    +
    114 return traversed_path;
    +
    115}
    +
    +
    116} // namespace depth_first_search
    +
    117} // namespace graph
    +
    118
    +
    +
    123static void tests() {
    +
    124 size_t start_pos;
    +
    125
    +
    127 std::cout << "Case 1: " << std::endl;
    +
    128 start_pos = 1;
    +
    129 std::vector<std::vector<size_t> > g1(3, std::vector<size_t>());
    +
    130
    +
    131 graph::depth_first_search::addEdge(&g1, 1, 2);
    +
    132 graph::depth_first_search::addEdge(&g1, 2, 3);
    +
    133 graph::depth_first_search::addEdge(&g1, 3, 1);
    +
    134
    +
    135 std::vector<size_t> expected1 {1, 2, 3};
    +
    136 assert(graph::depth_first_search::dfs(g1, start_pos - 1) == expected1);
    +
    137 std::cout << "Passed" << std::endl;
    +
    138
    +
    140 std::cout << "Case 2: " << std::endl;
    +
    141 start_pos = 1;
    +
    142 std::vector<std::vector<size_t> > g2(4, std::vector<size_t>());
    +
    143
    +
    144 graph::depth_first_search::addEdge(&g2, 1, 2);
    +
    145 graph::depth_first_search::addEdge(&g2, 1, 3);
    +
    146 graph::depth_first_search::addEdge(&g2, 2, 4);
    +
    147 graph::depth_first_search::addEdge(&g2, 4, 1);
    +
    148
    +
    149 std::vector<size_t> expected2 {1, 3, 2, 4};
    +
    150 assert(graph::depth_first_search::dfs(g2, start_pos - 1) == expected2);
    +
    151 std::cout << "Passed" << std::endl;
    +
    152
    +
    154 std::cout << "Case 3: " << std::endl;
    +
    155 start_pos = 2;
    +
    156 std::vector<std::vector<size_t> > g3(4, std::vector<size_t>());
    +
    157
    +
    158 graph::depth_first_search::addEdge(&g3, 1, 2);
    +
    159 graph::depth_first_search::addEdge(&g3, 1, 3);
    +
    160 graph::depth_first_search::addEdge(&g3, 2, 4);
    +
    161 graph::depth_first_search::addEdge(&g3, 4, 1);
    +
    162
    +
    163 std::vector<size_t> expected3 {2, 4, 1, 3};
    +
    164 assert(graph::depth_first_search::dfs(g3, start_pos - 1) == expected3);
    +
    165 std::cout << "Passed" << std::endl;
    +
    166
    +
    167}
    +
    +
    168
    +
    +
    173int main() {
    +
    174 tests(); // execute the tests
    +
    175
    +
    176 size_t vertices = 0, edges = 0, start_pos = 1;
    +
    177 std::vector<size_t> traversal;
    +
    178
    +
    179 std::cout << "Enter the Vertices : ";
    +
    180 std::cin >> vertices;
    +
    181 std::cout << "Enter the Edges : ";
    +
    182 std::cin >> edges;
    +
    183
    +
    185 std::vector<std::vector<size_t> > adj(vertices, std::vector<size_t>());
    +
    186
    +
    188 std::cout << "Enter the vertices which have edges between them : " << std::endl;
    +
    189 while (edges--) {
    +
    190 size_t u = 0, v = 0;
    +
    191 std::cin >> u >> v;
    +
    192 graph::depth_first_search::addEdge(&adj, u, v);
    +
    193 }
    +
    194
    +
    196 std::cout << "Enter the starting vertex [1,n]: " << std::endl;
    +
    197 std::cin >> start_pos;
    +
    198 start_pos -= 1;
    +
    199 traversal = graph::depth_first_search::dfs(adj, start_pos);
    +
    200
    +
    202 for (auto x : traversal) {
    +
    203 std::cout << x << ' ';
    +
    204 }
    +
    205
    +
    206 return 0;
    +
    207}
    +
    +
    for std::invalid_argument
    Definition stack.hpp:19
    +
    void pop()
    Definition stack.hpp:62
    +
    void push(const value_type &item)
    Definition stack.hpp:47
    +
    value_type top() const
    Definition stack.hpp:56
    +
    constexpr int64_t INF
    indicates node has already been explored
    +
    constexpr int GREY
    indicates the node hasn't been explored
    +
    static void tests()
    +
    std::vector< size_t > dfs(const std::vector< std::vector< size_t > > &graph, size_t start)
    Explores the given vertex, exploring a vertex means traversing over all the vertices which are connec...
    +
    constexpr int BLACK
    indicates node is in stack waiting to be explored
    +
    int main()
    Main function.
    +
    constexpr int WHITE
    +
    Functions for Depth First Search algorithm.
    +
    Graph Algorithms.
    +
    char stack[MAX]
    +
    +
    + + + + diff --git a/da/d50/count__of__trailing__ciphers__in__factorial__n_8cpp.html b/da/d50/count__of__trailing__ciphers__in__factorial__n_8cpp.html index 9df44571a..a93014625 100644 --- a/da/d50/count__of__trailing__ciphers__in__factorial__n_8cpp.html +++ b/da/d50/count__of__trailing__ciphers__in__factorial__n_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: bit_manipulation/count_of_trailing_ciphers_in_factorial_n.cpp File Reference +TheAlgorithms/C++: bit_manipulation/count_of_trailing_ciphers_in_factorial_n.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -121,7 +138,9 @@ Include dependency graph for count_of_trailing_ciphers_in_factorial_n.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -147,6 +166,8 @@ Functions

    Count the number of ciphers in n! implementation

    Given an integer number as input. The goal is to find the number of trailing zeroes in the factorial calculated for that number. A factorial of a number N is a product of all numbers in the range [1, N].

    We know that we get a trailing zero only if the number is multiple of 10 or has a factor pair (2,5). In all factorials of any number greater than 5, we have many 2s more than 5s in the prime factorization of that number. Dividing a number by powers of 5 will give us the count of 5s in its factors. So, the number of 5s will tell us the number of trailing zeroes.

    Author
    Swastika Gupta
    + +

    Definition in file count_of_trailing_ciphers_in_factorial_n.cpp.

    Function Documentation

    ◆ main()

    @@ -165,17 +186,14 @@ Functions

    Main function.

    Returns
    0 on exit
    + +

    Definition at line 96 of file count_of_trailing_ciphers_in_factorial_n.cpp.

    96 {
    97 test(); // run self-test implementations
    98 return 0;
    99}
    -
    static void test()
    Self-test implementations.
    Definition count_of_trailing_ciphers_in_factorial_n.cpp:60
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static void test()
    Self-test implementations.
    + @@ -201,6 +219,8 @@ Here is the call graph for this function:
    Returns
    count, Number of ciphers in n!.
    + +

    Definition at line 41 of file count_of_trailing_ciphers_in_factorial_n.cpp.

    41 {
    42 // count is to store the number of 5's in factorial(n)
    43 uint64_t count = 0;
    @@ -213,12 +233,7 @@ Here is the call graph for this function:
    50
    51 return count;
    52}
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -246,46 +261,41 @@ Here is the call graph for this function:

    Self-test implementations.

    Returns
    void
    + +

    Definition at line 60 of file count_of_trailing_ciphers_in_factorial_n.cpp.

    60 {
    61 // 1st test
    -
    62 std::cout << "1st test ";
    +
    62 std::cout << "1st test ";
    63 assert(bit_manipulation::count_of_trailing_ciphers_in_factorial_n::
    -
    65 std::cout << "passed" << std::endl;
    +
    65 std::cout << "passed" << std::endl;
    66
    67 // 2nd test
    -
    68 std::cout << "2nd test ";
    +
    68 std::cout << "2nd test ";
    69 assert(bit_manipulation::count_of_trailing_ciphers_in_factorial_n::
    70 numberOfCiphersInFactorialN(977) == 242);
    -
    71 std::cout << "passed" << std::endl;
    +
    71 std::cout << "passed" << std::endl;
    72
    73 // 3rd test
    -
    74 std::cout << "3rd test ";
    +
    74 std::cout << "3rd test ";
    75 assert(bit_manipulation::count_of_trailing_ciphers_in_factorial_n::
    76 numberOfCiphersInFactorialN(871) == 215);
    -
    77 std::cout << "passed" << std::endl;
    +
    77 std::cout << "passed" << std::endl;
    78
    79 // 4th test
    -
    80 std::cout << "4th test ";
    +
    80 std::cout << "4th test ";
    81 assert(bit_manipulation::count_of_trailing_ciphers_in_factorial_n::
    -
    83 std::cout << "passed" << std::endl;
    +
    83 std::cout << "passed" << std::endl;
    84
    85 // 5th test
    -
    86 std::cout << "5th test ";
    +
    86 std::cout << "5th test ";
    87 assert(bit_manipulation::count_of_trailing_ciphers_in_factorial_n::
    -
    89 std::cout << "passed" << std::endl;
    +
    89 std::cout << "passed" << std::endl;
    90}
    - -
    uint64_t numberOfCiphersInFactorialN(uint64_t n)
    Function to count the number of the trailing ciphers.
    Definition count_of_trailing_ciphers_in_factorial_n.cpp:41
    -
    T endl(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    uint64_t numberOfCiphersInFactorialN(uint64_t n)
    Function to count the number of the trailing ciphers.
    + diff --git a/da/d50/count__of__trailing__ciphers__in__factorial__n_8cpp_a0d5e1d651d0d30bd682f176d8f2b83d0_cgraph.map b/da/d50/count__of__trailing__ciphers__in__factorial__n_8cpp_a0d5e1d651d0d30bd682f176d8f2b83d0_cgraph.map deleted file mode 100644 index e196cd4f3..000000000 --- a/da/d50/count__of__trailing__ciphers__in__factorial__n_8cpp_a0d5e1d651d0d30bd682f176d8f2b83d0_cgraph.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/da/d50/count__of__trailing__ciphers__in__factorial__n_8cpp_a0d5e1d651d0d30bd682f176d8f2b83d0_cgraph.md5 b/da/d50/count__of__trailing__ciphers__in__factorial__n_8cpp_a0d5e1d651d0d30bd682f176d8f2b83d0_cgraph.md5 deleted file mode 100644 index 7b8930fa6..000000000 --- a/da/d50/count__of__trailing__ciphers__in__factorial__n_8cpp_a0d5e1d651d0d30bd682f176d8f2b83d0_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -8db6bce5b538bde6d9d3203e9dd41c61 \ No newline at end of file diff --git a/da/d50/count__of__trailing__ciphers__in__factorial__n_8cpp_a0d5e1d651d0d30bd682f176d8f2b83d0_cgraph.svg b/da/d50/count__of__trailing__ciphers__in__factorial__n_8cpp_a0d5e1d651d0d30bd682f176d8f2b83d0_cgraph.svg deleted file mode 100644 index 4df1ad3e6..000000000 --- a/da/d50/count__of__trailing__ciphers__in__factorial__n_8cpp_a0d5e1d651d0d30bd682f176d8f2b83d0_cgraph.svg +++ /dev/null @@ -1,59 +0,0 @@ - - - - - - - - - - - - -bit_manipulation::count_of_trailing_ciphers_in_factorial_n::numberOfCiphersInFactorialN - - -Node1 - - -bit_manipulation::count -_of_trailing_ciphers_in -_factorial_n::numberOfCiphersIn -FactorialN - - - - - -Node1->Node1 - - - - - - - - - - - - - diff --git a/da/d50/count__of__trailing__ciphers__in__factorial__n_8cpp_a0d5e1d651d0d30bd682f176d8f2b83d0_cgraph_org.svg b/da/d50/count__of__trailing__ciphers__in__factorial__n_8cpp_a0d5e1d651d0d30bd682f176d8f2b83d0_cgraph_org.svg deleted file mode 100644 index d0f267436..000000000 --- a/da/d50/count__of__trailing__ciphers__in__factorial__n_8cpp_a0d5e1d651d0d30bd682f176d8f2b83d0_cgraph_org.svg +++ /dev/null @@ -1,33 +0,0 @@ - - - - - - -bit_manipulation::count_of_trailing_ciphers_in_factorial_n::numberOfCiphersInFactorialN - - -Node1 - - -bit_manipulation::count -_of_trailing_ciphers_in -_factorial_n::numberOfCiphersIn -FactorialN - - - - - -Node1->Node1 - - - - - - - - diff --git a/da/d50/count__of__trailing__ciphers__in__factorial__n_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map b/da/d50/count__of__trailing__ciphers__in__factorial__n_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map deleted file mode 100644 index e85e01374..000000000 --- a/da/d50/count__of__trailing__ciphers__in__factorial__n_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/da/d50/count__of__trailing__ciphers__in__factorial__n_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 b/da/d50/count__of__trailing__ciphers__in__factorial__n_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 deleted file mode 100644 index 5901bc148..000000000 --- a/da/d50/count__of__trailing__ciphers__in__factorial__n_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -729fb887ee50b6291b0542ba0592a5c7 \ No newline at end of file diff --git a/da/d50/count__of__trailing__ciphers__in__factorial__n_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg b/da/d50/count__of__trailing__ciphers__in__factorial__n_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg deleted file mode 100644 index 2e04695b9..000000000 --- a/da/d50/count__of__trailing__ciphers__in__factorial__n_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/da/d50/count__of__trailing__ciphers__in__factorial__n_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg b/da/d50/count__of__trailing__ciphers__in__factorial__n_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg deleted file mode 100644 index 1813bd719..000000000 --- a/da/d50/count__of__trailing__ciphers__in__factorial__n_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - diff --git a/da/d50/count__of__trailing__ciphers__in__factorial__n_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/da/d50/count__of__trailing__ciphers__in__factorial__n_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index e86b23286..000000000 --- a/da/d50/count__of__trailing__ciphers__in__factorial__n_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/da/d50/count__of__trailing__ciphers__in__factorial__n_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/da/d50/count__of__trailing__ciphers__in__factorial__n_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index b8b4ca676..000000000 --- a/da/d50/count__of__trailing__ciphers__in__factorial__n_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -afaa3670dacf841e2a13de1f642a9142 \ No newline at end of file diff --git a/da/d50/count__of__trailing__ciphers__in__factorial__n_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/da/d50/count__of__trailing__ciphers__in__factorial__n_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 258e1aa1e..000000000 --- a/da/d50/count__of__trailing__ciphers__in__factorial__n_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node2->Node3 - - - - - - - - - - - - - diff --git a/da/d50/count__of__trailing__ciphers__in__factorial__n_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/da/d50/count__of__trailing__ciphers__in__factorial__n_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 51cfa4382..000000000 --- a/da/d50/count__of__trailing__ciphers__in__factorial__n_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node2->Node3 - - - - - - - - diff --git a/da/d50/count__of__trailing__ciphers__in__factorial__n_8cpp_source.html b/da/d50/count__of__trailing__ciphers__in__factorial__n_8cpp_source.html new file mode 100644 index 000000000..d953f5a72 --- /dev/null +++ b/da/d50/count__of__trailing__ciphers__in__factorial__n_8cpp_source.html @@ -0,0 +1,206 @@ + + + + + + + + +TheAlgorithms/C++: bit_manipulation/count_of_trailing_ciphers_in_factorial_n.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    +

    Namespaces

    namespace  bit_manipulation
    + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    count_of_trailing_ciphers_in_factorial_n.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    20#include <cassert>
    +
    21#include <cstdint>
    +
    22#include <iostream>
    +
    23
    +
    28namespace bit_manipulation {
    + +
    +
    41uint64_t numberOfCiphersInFactorialN(uint64_t n) {
    +
    42 // count is to store the number of 5's in factorial(n)
    +
    43 uint64_t count = 0;
    +
    44
    +
    45 // Keep dividing n by powers of
    +
    46 // 5 and update count
    +
    47 for (uint64_t i = 5; n / i >= 1; i *= 5) {
    +
    48 count += static_cast<uint64_t>(n) / i;
    +
    49 }
    +
    50
    +
    51 return count;
    +
    52}
    +
    +
    53} // namespace count_of_trailing_ciphers_in_factorial_n
    +
    54} // namespace bit_manipulation
    +
    55
    +
    +
    60static void test() {
    +
    61 // 1st test
    +
    62 std::cout << "1st test ";
    +
    63 assert(bit_manipulation::count_of_trailing_ciphers_in_factorial_n::
    +
    64 numberOfCiphersInFactorialN(395) == 97);
    +
    65 std::cout << "passed" << std::endl;
    +
    66
    +
    67 // 2nd test
    +
    68 std::cout << "2nd test ";
    +
    69 assert(bit_manipulation::count_of_trailing_ciphers_in_factorial_n::
    +
    70 numberOfCiphersInFactorialN(977) == 242);
    +
    71 std::cout << "passed" << std::endl;
    +
    72
    +
    73 // 3rd test
    +
    74 std::cout << "3rd test ";
    +
    75 assert(bit_manipulation::count_of_trailing_ciphers_in_factorial_n::
    +
    76 numberOfCiphersInFactorialN(871) == 215);
    +
    77 std::cout << "passed" << std::endl;
    +
    78
    +
    79 // 4th test
    +
    80 std::cout << "4th test ";
    +
    81 assert(bit_manipulation::count_of_trailing_ciphers_in_factorial_n::
    +
    82 numberOfCiphersInFactorialN(239) == 57);
    +
    83 std::cout << "passed" << std::endl;
    +
    84
    +
    85 // 5th test
    +
    86 std::cout << "5th test ";
    +
    87 assert(bit_manipulation::count_of_trailing_ciphers_in_factorial_n::
    +
    88 numberOfCiphersInFactorialN(0) == 0);
    +
    89 std::cout << "passed" << std::endl;
    +
    90}
    +
    +
    91
    +
    +
    96int main() {
    +
    97 test(); // run self-test implementations
    +
    98 return 0;
    +
    99}
    +
    +
    uint64_t numberOfCiphersInFactorialN(uint64_t n)
    Function to count the number of the trailing ciphers.
    +
    static void test()
    Self-test implementations.
    +
    int main()
    Main function.
    + +
    Functions for the Count the number of ciphers in n! implementation.
    +
    +
    + + + + diff --git a/da/d52/minimum__edit__distance_8cpp.html b/da/d52/minimum__edit__distance_8cpp.html index ab93f648d..af2bea271 100644 --- a/da/d52/minimum__edit__distance_8cpp.html +++ b/da/d52/minimum__edit__distance_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: dynamic_programming/minimum_edit_distance.cpp File Reference +TheAlgorithms/C++: dynamic_programming/minimum_edit_distance.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -122,7 +139,9 @@ Include dependency graph for minimum_edit_distance.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -137,7 +156,7 @@ Functions - + @@ -157,6 +176,8 @@ Algorithm
  • Else, (If last characters are not the same), we will consider all three operations (Insert, Remove, Replace) on the last character of the first string and compute the minimum cost for all three operations and take the minimum of three values in the DP array. For Insert: Recur for m and n-1 For Remove: Recur for for m-1 and n For Replace: Recur for for m-1 and n-1
  • Author
    Nirjas Jakilim
    + +

    Definition in file minimum_edit_distance.cpp.

    Function Documentation

    ◆ editDistDP()

    @@ -167,12 +188,12 @@ Algorithm - + - + @@ -209,51 +230,40 @@ Algorithm

    If last characters are same, ignore last char and recur for remaining string

    If the last character is different, consider all possibilities and find the minimum

    returning the minimum cost of operations needed to convert str1 to str2

    -
    93 {
    -
    94 /// Create a table to store results of subproblems
    - + +

    Definition at line 92 of file minimum_edit_distance.cpp.

    +
    93 {
    +
    95 std::vector<std::vector<uint64_t>> dp(
    96 m + 1,
    - +
    97 std::vector<uint64_t>(
    98 n +
    -
    99 1)); /// creasting 2D vector dp to store the results of subproblems
    -
    100
    -
    101 /// Fill d[][] in bottom up manner
    -
    102 for (uint64_t i = 0; i <= m; i++) {
    -
    103 for (uint64_t j = 0; j <= n; j++) {
    -
    104 /// If first string is empty, only option is to
    -
    105 /// insert all characters of second string
    -
    106 if (i == 0) {
    -
    107 dp[i][j] = j; /// Minimum operations = j
    +
    99 1));
    +
    100
    +
    102 for (uint64_t i = 0; i <= m; i++) {
    +
    103 for (uint64_t j = 0; j <= n; j++) {
    +
    106 if (i == 0) {
    +
    107 dp[i][j] = j;
    108 }
    -
    109
    -
    110 /// If second string is empty, only option is to
    -
    111 /// remove all characters of second string
    -
    112 else if (j == 0) {
    -
    113 dp[i][j] = i; /// Minimum operations = i
    +
    109
    +
    112 else if (j == 0) {
    +
    113 dp[i][j] = i;
    114 }
    -
    115
    -
    116 /// If last characters are same, ignore last char
    -
    117 /// and recur for remaining string
    -
    118 else if (str1[i - 1] == str2[j - 1]) {
    +
    115
    +
    118 else if (str1[i - 1] == str2[j - 1]) {
    119 dp[i][j] = dp[i - 1][j - 1];
    120 }
    -
    121
    -
    122 /// If the last character is different, consider all
    -
    123 /// possibilities and find the minimum
    -
    124 else {
    -
    125 dp[i][j] = 1 + min(dp[i][j - 1], // Insert
    +
    121
    +
    124 else {
    +
    125 dp[i][j] = 1 + min(dp[i][j - 1], // Insert
    126 dp[i - 1][j], // Remove
    127 dp[i - 1][j - 1]); // Replace
    128 }
    129 }
    130 }
    131
    -
    132 return dp[m][n]; /// returning the minimum cost of operations needed to
    -
    133 /// convert str1 to str2
    -
    134}
    -
    T min(T... args)
    -
    for std::vector
    Definition partition_problem.cpp:39
    - +
    132 return dp[m][n];
    +
    134}
    +
    for std::vector
    @@ -285,17 +295,14 @@ Algorithm
    Returns
    0 on exit
    + +

    Definition at line 173 of file minimum_edit_distance.cpp.

    173 {
    174 test(); // run self-test implementations
    175 return 0;
    176}
    -
    static void test()
    Self-test implementations.
    Definition minimum_edit_distance.cpp:142
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static void test()
    Self-test implementations.
    + @@ -339,14 +346,16 @@ z if z is the minimum value

    returns x, if x is the minimum value

    returns y, if y is the minimum value

    returns z if z is the minimum value

    + +

    Definition at line 68 of file minimum_edit_distance.cpp.

    68 {
    69 if (x <= y && x <= z) {
    -
    70 return x; /// returns x, if x is the minimum value
    +
    70 return x;
    71 }
    72 if (y <= x && y <= z) {
    -
    73 return y; /// returns y, if y is the minimum value
    +
    73 return y;
    74 } else {
    -
    75 return z; /// returns z if z is the minimum value
    +
    75 return z;
    76 }
    77}
    @@ -377,41 +386,34 @@ z if z is the minimum value

    Self-test implementations.

    Returns
    void
    + +

    Definition at line 142 of file minimum_edit_distance.cpp.

    142 {
    143 // 1st test
    -
    144 std::string str1 = "INTENTION"; // Sample input of 1st string
    -
    145 std::string str2 = "EXECUTION"; // Sample input of 2nd string
    +
    144 std::string str1 = "INTENTION"; // Sample input of 1st string
    +
    145 std::string str2 = "EXECUTION"; // Sample input of 2nd string
    146 uint64_t expected_output1 = 5; // Expected minimum cost
    -
    148 str1, str2, str1.length(),
    -
    149 str2.length()); // calling the editDistDP function and storing the
    +
    148 str1, str2, str1.length(),
    +
    149 str2.length()); // calling the editDistDP function and storing the
    150 // result on output1
    151 assert(output1 ==
    152 expected_output1); // comparing the output with the expected output
    -
    153 std::cout << "Minimum Number of Operations Required: " << output1
    -
    154 << std::endl;
    +
    153 std::cout << "Minimum Number of Operations Required: " << output1
    +
    154 << std::endl;
    155
    156 // 2nd test
    -
    157 std::string str3 = "SATURDAY";
    -
    158 std::string str4 = "SUNDAY";
    +
    157 std::string str3 = "SATURDAY";
    +
    158 std::string str4 = "SUNDAY";
    159 uint64_t expected_output2 = 3;
    -
    161 str3, str4, str3.length(), str4.length());
    +
    161 str3, str4, str3.length(), str4.length());
    162 assert(output2 == expected_output2);
    -
    163 std::cout << "Minimum Number of Operations Required: " << output2
    -
    164 << std::endl;
    +
    163 std::cout << "Minimum Number of Operations Required: " << output2
    +
    164 << std::endl;
    165}
    - - -
    T endl(T... args)
    -
    uint64_t editDistDP(std::string str1, std::string str2, uint64_t m, uint64_t n)
    Calculates and stores the result of all the sub-problems, so that we don't have to recur to compute t...
    Definition minimum_edit_distance.cpp:92
    -
    T length(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    uint64_t editDistDP(std::string str1, std::string str2, uint64_t m, uint64_t n)
    Calculates and stores the result of all the sub-problems, so that we don't have to recur to compute t...
    + diff --git a/da/d52/minimum__edit__distance_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.map b/da/d52/minimum__edit__distance_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.map deleted file mode 100644 index 2c3b1278e..000000000 --- a/da/d52/minimum__edit__distance_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.map +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/da/d52/minimum__edit__distance_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.md5 b/da/d52/minimum__edit__distance_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.md5 deleted file mode 100644 index b16a52379..000000000 --- a/da/d52/minimum__edit__distance_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -47edd03b069725b7fec56bef0e6b0ab5 \ No newline at end of file diff --git a/da/d52/minimum__edit__distance_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.svg b/da/d52/minimum__edit__distance_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.svg deleted file mode 100644 index 9caf27590..000000000 --- a/da/d52/minimum__edit__distance_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.svg +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::string::length - - - - - -Node2->Node4 - - - - - - - - - - - - - diff --git a/da/d52/minimum__edit__distance_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph_org.svg b/da/d52/minimum__edit__distance_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph_org.svg deleted file mode 100644 index 2e146d002..000000000 --- a/da/d52/minimum__edit__distance_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph_org.svg +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::string::length - - - - - -Node2->Node4 - - - - - - - - diff --git a/da/d52/minimum__edit__distance_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map b/da/d52/minimum__edit__distance_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map deleted file mode 100644 index d5ce8fa7e..000000000 --- a/da/d52/minimum__edit__distance_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/da/d52/minimum__edit__distance_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 b/da/d52/minimum__edit__distance_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 deleted file mode 100644 index 151083193..000000000 --- a/da/d52/minimum__edit__distance_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -07b428c2c3526928ee1215ab64993828 \ No newline at end of file diff --git a/da/d52/minimum__edit__distance_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg b/da/d52/minimum__edit__distance_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg deleted file mode 100644 index 7c2650efd..000000000 --- a/da/d52/minimum__edit__distance_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::string::length - - - - - -Node1->Node3 - - - - - - - - - - - - - diff --git a/da/d52/minimum__edit__distance_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg b/da/d52/minimum__edit__distance_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg deleted file mode 100644 index 2cdd692e6..000000000 --- a/da/d52/minimum__edit__distance_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::string::length - - - - - -Node1->Node3 - - - - - - - - diff --git a/da/d52/minimum__edit__distance_8cpp_source.html b/da/d52/minimum__edit__distance_8cpp_source.html new file mode 100644 index 000000000..1beaca2e7 --- /dev/null +++ b/da/d52/minimum__edit__distance_8cpp_source.html @@ -0,0 +1,234 @@ + + + + + + + + +TheAlgorithms/C++: dynamic_programming/minimum_edit_distance.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    +

    Namespaces

    namespace  dynamic_programming
    uint64_t dynamic_programming::minimum_edit_distance::min (uint64_t x, uint64_t y, uint64_t z)
     Takes input of the cost of three operations: Insert, Replace and Delete and return the minimum cost among them.
     
    uint64_t dynamic_programming::minimum_edit_distance::editDistDP (std::string str1, std::string str2, uint64_t m, uint64_t n)
    uint64_t dynamic_programming::minimum_edit_distance::editDistDP (std::string str1, std::string str2, uint64_t m, uint64_t n)
     Calculates and stores the result of all the sub-problems, so that we don't have to recur to compute the minimum cost of a particular operation if it is already computed and stored in the dp vector.
     
    static void test ()
    uint64_t dynamic_programming::minimum_edit_distance::editDistDP (std::string str1, std::string str1,
    std::string str2, std::string str2,
    + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    minimum_edit_distance.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    37#include <cassert>
    +
    38#include <cstdint>
    +
    39#include <iostream>
    +
    40#include <vector>
    +
    41
    +
    47namespace dynamic_programming {
    +
    48
    +
    55namespace minimum_edit_distance {
    +
    56
    +
    +
    68uint64_t min(uint64_t x, uint64_t y, uint64_t z) {
    +
    69 if (x <= y && x <= z) {
    +
    70 return x;
    +
    71 }
    +
    72 if (y <= x && y <= z) {
    +
    73 return y;
    +
    74 } else {
    +
    75 return z;
    +
    76 }
    +
    77}
    +
    +
    78
    +
    +
    92uint64_t editDistDP(std::string str1, std::string str2, uint64_t m,
    +
    93 uint64_t n) {
    +
    95 std::vector<std::vector<uint64_t>> dp(
    +
    96 m + 1,
    +
    97 std::vector<uint64_t>(
    +
    98 n +
    +
    99 1));
    +
    100
    +
    102 for (uint64_t i = 0; i <= m; i++) {
    +
    103 for (uint64_t j = 0; j <= n; j++) {
    +
    106 if (i == 0) {
    +
    107 dp[i][j] = j;
    +
    108 }
    +
    109
    +
    112 else if (j == 0) {
    +
    113 dp[i][j] = i;
    +
    114 }
    +
    115
    +
    118 else if (str1[i - 1] == str2[j - 1]) {
    +
    119 dp[i][j] = dp[i - 1][j - 1];
    +
    120 }
    +
    121
    +
    124 else {
    +
    125 dp[i][j] = 1 + min(dp[i][j - 1], // Insert
    +
    126 dp[i - 1][j], // Remove
    +
    127 dp[i - 1][j - 1]); // Replace
    +
    128 }
    +
    129 }
    +
    130 }
    +
    131
    +
    132 return dp[m][n];
    +
    134}
    +
    +
    135} // namespace minimum_edit_distance
    +
    136} // namespace dynamic_programming
    +
    137
    +
    +
    142static void test() {
    +
    143 // 1st test
    +
    144 std::string str1 = "INTENTION"; // Sample input of 1st string
    +
    145 std::string str2 = "EXECUTION"; // Sample input of 2nd string
    +
    146 uint64_t expected_output1 = 5; // Expected minimum cost
    +
    147 uint64_t output1 = dynamic_programming::minimum_edit_distance::editDistDP(
    +
    148 str1, str2, str1.length(),
    +
    149 str2.length()); // calling the editDistDP function and storing the
    +
    150 // result on output1
    +
    151 assert(output1 ==
    +
    152 expected_output1); // comparing the output with the expected output
    +
    153 std::cout << "Minimum Number of Operations Required: " << output1
    +
    154 << std::endl;
    +
    155
    +
    156 // 2nd test
    +
    157 std::string str3 = "SATURDAY";
    +
    158 std::string str4 = "SUNDAY";
    +
    159 uint64_t expected_output2 = 3;
    +
    160 uint64_t output2 = dynamic_programming::minimum_edit_distance::editDistDP(
    +
    161 str3, str4, str3.length(), str4.length());
    +
    162 assert(output2 == expected_output2);
    +
    163 std::cout << "Minimum Number of Operations Required: " << output2
    +
    164 << std::endl;
    +
    165}
    +
    +
    166
    +
    +
    173int main(int argc, char *argv[]) {
    +
    174 test(); // run self-test implementations
    +
    175 return 0;
    +
    176}
    +
    +
    int main()
    Main function.
    +
    static void test()
    Self-test implementations.
    +
    for std::vector
    +
    Dynamic Programming algorithms.
    +
    +
    + + + + diff --git a/da/d5a/class_complex.html b/da/d5a/class_complex.html index 3b48dec90..095eed762 100644 --- a/da/d5a/class_complex.html +++ b/da/d5a/class_complex.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Complex Class Reference +TheAlgorithms/C++: Complex Class Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -156,15 +173,15 @@ Public Member Functions
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    - + - +

    Private Attributes

    -double re
    double re
     
    -double im
    double im
     

    Detailed Description

    Class Complex to represent complex numbers as a field.

    + +

    Definition at line 20 of file complex_numbers.cpp.

    Constructor & Destructor Documentation

    ◆ Complex() [1/2]

    @@ -207,6 +224,8 @@ double im + +

    Definition at line 43 of file complex_numbers.cpp.

    43 {
    44 if (!is_polar) {
    45 re = x;
    @@ -214,17 +233,10 @@ double im
    47 return;
    48 }
    49
    -
    50 re = x * std::cos(y);
    -
    51 im = x * std::sin(y);
    +
    50 re = x * std::cos(y);
    +
    51 im = x * std::sin(y);
    52 }
    -
    T cos(T... args)
    -
    T sin(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    @@ -257,9 +269,11 @@ Here is the call graph for this function:
    + +

    Definition at line 58 of file complex_numbers.cpp.

    58: re(other.real()), im(other.imag()) {}
    -
    double real() const
    Member function to get real value of our complex number. Member function (getter) to access the class...
    Definition complex_numbers.cpp:64
    -
    double imag() const
    Member function to get imaginary value of our complex number. Member function (getter) to access the ...
    Definition complex_numbers.cpp:70
    +
    double real() const
    Member function to get real value of our complex number. Member function (getter) to access the class...
    +
    double imag() const
    Member function to get imaginary value of our complex number. Member function (getter) to access the ...
    @@ -289,16 +303,12 @@ Here is the call graph for this function:

    Member function to give the modulus of our complex number. Member function to which gives the absolute value (modulus) of our complex number.

    Returns
    \( \sqrt{z \bar{z}} \) where \( z \) is our complex number.
    -
    79 {
    -
    80 return std::sqrt(this->re * this->re + this->im * this->im);
    -
    81 }
    -
    T sqrt(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    +

    Definition at line 79 of file complex_numbers.cpp.

    +
    79 {
    +
    80 return std::sqrt(this->re * this->re + this->im * this->im);
    +
    81 }
    +
    @@ -326,14 +336,10 @@ Here is the call graph for this function:

    Member function to give the argument of our complex number.

    Returns
    Argument of our Complex number in radians.
    -
    87{ return std::atan2(this->im, this->re); }
    -
    T atan2(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    +

    Definition at line 87 of file complex_numbers.cpp.

    +
    87{ return std::atan2(this->im, this->re); }
    +
    @@ -360,6 +366,8 @@ Here is the call graph for this function:

    Member function to get imaginary value of our complex number. Member function (getter) to access the class' im value.

    + +

    Definition at line 70 of file complex_numbers.cpp.

    70{ return this->im; }
    @@ -395,13 +403,15 @@ Here is the call graph for this function:
    Returns
    result current number times other number.
    + +

    Definition at line 117 of file complex_numbers.cpp.

    117 {
    118 Complex result(this->re * other.re - this->im * other.im,
    119 this->re * other.im + this->im * other.re);
    120 return result;
    121 }
    -
    Class Complex to represent complex numbers as a field.
    Definition complex_numbers.cpp:20
    -
    uint64_t result(uint64_t n)
    Definition fibonacci_sum.cpp:77
    +
    Class Complex to represent complex numbers as a field.
    +
    uint64_t result(uint64_t n)
    @@ -436,6 +446,8 @@ Here is the call graph for this function:
    Returns
    result current number plus other number
    + +

    Definition at line 95 of file complex_numbers.cpp.

    95 {
    96 Complex result(this->re + other.re, this->im + other.im);
    97 return result;
    @@ -474,6 +486,8 @@ Here is the call graph for this function:
    Returns
    result current number subtract other number
    + +

    Definition at line 106 of file complex_numbers.cpp.

    106 {
    107 Complex result(this->re - other.re, this->im - other.im);
    108 return result;
    @@ -512,6 +526,8 @@ Here is the call graph for this function:
    Returns
    result Current number divided by other number.
    + +

    Definition at line 142 of file complex_numbers.cpp.

    142 {
    143 Complex result = *this * ~other;
    144 double denominator =
    @@ -521,17 +537,11 @@ Here is the call graph for this function:
    148 result.imag() / denominator);
    149 return result;
    150 } else {
    -
    151 throw std::invalid_argument("Undefined Value");
    +
    151 throw std::invalid_argument("Undefined Value");
    152 }
    153 }
    -
    Complex(double x=0.f, double y=0.f, bool is_polar=false)
    Complex Constructor which initialises our complex number.
    Definition complex_numbers.cpp:43
    - -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    Complex(double x=0.f, double y=0.f, bool is_polar=false)
    Complex Constructor which initialises our complex number.
    + @@ -558,17 +568,14 @@ Here is the call graph for this function:

    Operator overload of '=' on Complex class. Operator overload to be able to copy RHS instance of Complex to LHS instance of Complex.

    + +

    Definition at line 160 of file complex_numbers.cpp.

    160 {
    161 this->re = other.real();
    162 this->im = other.imag();
    163 return *this;
    164 }
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    @@ -596,6 +603,8 @@ Here is the call graph for this function:

    Operator overload of '~' on Complex class. Operator overload of the BITWISE NOT which gives us the conjugate of our complex number. NOTE: This is overloading the BITWISE operator but its not a BITWISE operation in this definition.

    Returns
    result The conjugate of our complex number.
    + +

    Definition at line 130 of file complex_numbers.cpp.

    130 {
    131 Complex result(this->re, -(this->im));
    132 return result;
    @@ -627,12 +636,63 @@ Here is the call graph for this function:

    Member function to get real value of our complex number. Member function (getter) to access the class' re value.

    + +

    Definition at line 64 of file complex_numbers.cpp.

    64{ return this->re; }
    +
    + +

    Member Data Documentation

    + +

    ◆ im

    + +
    +
    + + + + + +
    + + + + +
    double Complex::im
    +
    +private
    +
    + +

    Definition at line 24 of file complex_numbers.cpp.

    + +
    +
    + +

    ◆ re

    + +
    +
    + + + + + +
    + + + + +
    double Complex::re
    +
    +private
    +
    + +

    Definition at line 22 of file complex_numbers.cpp.

    +

    The documentation for this class was generated from the following file: diff --git a/da/d5a/class_complex_a3cfc522c782726f49ee20af17b77f867_cgraph.map b/da/d5a/class_complex_a3cfc522c782726f49ee20af17b77f867_cgraph.map deleted file mode 100644 index db120e262..000000000 --- a/da/d5a/class_complex_a3cfc522c782726f49ee20af17b77f867_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/da/d5a/class_complex_a3cfc522c782726f49ee20af17b77f867_cgraph.md5 b/da/d5a/class_complex_a3cfc522c782726f49ee20af17b77f867_cgraph.md5 deleted file mode 100644 index 28863f2a0..000000000 --- a/da/d5a/class_complex_a3cfc522c782726f49ee20af17b77f867_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -571e1e55ea1d94b80bc88c0850dfcc0d \ No newline at end of file diff --git a/da/d5a/class_complex_a3cfc522c782726f49ee20af17b77f867_cgraph.svg b/da/d5a/class_complex_a3cfc522c782726f49ee20af17b77f867_cgraph.svg deleted file mode 100644 index 71bda5f90..000000000 --- a/da/d5a/class_complex_a3cfc522c782726f49ee20af17b77f867_cgraph.svg +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - -Complex::Complex - - -Node1 - - -Complex::Complex - - - - - -Node2 - - -std::cos - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::sin - - - - - -Node1->Node3 - - - - - - - - - - - - - diff --git a/da/d5a/class_complex_a3cfc522c782726f49ee20af17b77f867_cgraph_org.svg b/da/d5a/class_complex_a3cfc522c782726f49ee20af17b77f867_cgraph_org.svg deleted file mode 100644 index 29d52e342..000000000 --- a/da/d5a/class_complex_a3cfc522c782726f49ee20af17b77f867_cgraph_org.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - -Complex::Complex - - -Node1 - - -Complex::Complex - - - - - -Node2 - - -std::cos - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::sin - - - - - -Node1->Node3 - - - - - - - - diff --git a/da/d5a/class_complex_a4ac9f529d54cacf2969f2c7179b4c4ac_cgraph.map b/da/d5a/class_complex_a4ac9f529d54cacf2969f2c7179b4c4ac_cgraph.map deleted file mode 100644 index aed876afc..000000000 --- a/da/d5a/class_complex_a4ac9f529d54cacf2969f2c7179b4c4ac_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/da/d5a/class_complex_a4ac9f529d54cacf2969f2c7179b4c4ac_cgraph.md5 b/da/d5a/class_complex_a4ac9f529d54cacf2969f2c7179b4c4ac_cgraph.md5 deleted file mode 100644 index 0e0b009a6..000000000 --- a/da/d5a/class_complex_a4ac9f529d54cacf2969f2c7179b4c4ac_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -ff61a61696db9f9b0fc1179437dfa7ff \ No newline at end of file diff --git a/da/d5a/class_complex_a4ac9f529d54cacf2969f2c7179b4c4ac_cgraph.svg b/da/d5a/class_complex_a4ac9f529d54cacf2969f2c7179b4c4ac_cgraph.svg deleted file mode 100644 index 3c3ef5b70..000000000 --- a/da/d5a/class_complex_a4ac9f529d54cacf2969f2c7179b4c4ac_cgraph.svg +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - -Complex::operator= - - -Node1 - - -Complex::operator= - - - - - -Node2 - - -Complex::imag - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -Complex::real - - - - - -Node1->Node3 - - - - - - - - - - - - - diff --git a/da/d5a/class_complex_a4ac9f529d54cacf2969f2c7179b4c4ac_cgraph_org.svg b/da/d5a/class_complex_a4ac9f529d54cacf2969f2c7179b4c4ac_cgraph_org.svg deleted file mode 100644 index f61d5a01b..000000000 --- a/da/d5a/class_complex_a4ac9f529d54cacf2969f2c7179b4c4ac_cgraph_org.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - -Complex::operator= - - -Node1 - - -Complex::operator= - - - - - -Node2 - - -Complex::imag - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -Complex::real - - - - - -Node1->Node3 - - - - - - - - diff --git a/da/d5a/class_complex_ac38437c10eb798f176c384a695171b90_cgraph.map b/da/d5a/class_complex_ac38437c10eb798f176c384a695171b90_cgraph.map deleted file mode 100644 index e60303da3..000000000 --- a/da/d5a/class_complex_ac38437c10eb798f176c384a695171b90_cgraph.map +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - diff --git a/da/d5a/class_complex_ac38437c10eb798f176c384a695171b90_cgraph.md5 b/da/d5a/class_complex_ac38437c10eb798f176c384a695171b90_cgraph.md5 deleted file mode 100644 index e9b20ae6b..000000000 --- a/da/d5a/class_complex_ac38437c10eb798f176c384a695171b90_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -1df6004932b22273f0110421ebe6a226 \ No newline at end of file diff --git a/da/d5a/class_complex_ac38437c10eb798f176c384a695171b90_cgraph.svg b/da/d5a/class_complex_ac38437c10eb798f176c384a695171b90_cgraph.svg deleted file mode 100644 index c4f90ae65..000000000 --- a/da/d5a/class_complex_ac38437c10eb798f176c384a695171b90_cgraph.svg +++ /dev/null @@ -1,137 +0,0 @@ - - - - - - - - - - - - -Complex::operator/ - - -Node1 - - -Complex::operator/ - - - - - -Node2 - - -Complex::Complex - - - - - -Node1->Node2 - - - - - - - - -Node5 - - -Complex::imag - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -Complex::real - - - - - -Node1->Node6 - - - - - - - - -Node3 - - -std::cos - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::sin - - - - - -Node2->Node4 - - - - - - - - - - - - - diff --git a/da/d5a/class_complex_ac38437c10eb798f176c384a695171b90_cgraph_org.svg b/da/d5a/class_complex_ac38437c10eb798f176c384a695171b90_cgraph_org.svg deleted file mode 100644 index a14f05fd5..000000000 --- a/da/d5a/class_complex_ac38437c10eb798f176c384a695171b90_cgraph_org.svg +++ /dev/null @@ -1,111 +0,0 @@ - - - - - - -Complex::operator/ - - -Node1 - - -Complex::operator/ - - - - - -Node2 - - -Complex::Complex - - - - - -Node1->Node2 - - - - - - - - -Node5 - - -Complex::imag - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -Complex::real - - - - - -Node1->Node6 - - - - - - - - -Node3 - - -std::cos - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::sin - - - - - -Node2->Node4 - - - - - - - - diff --git a/da/d5a/class_complex_ae1e03712837450549e0c9b4017533a41_cgraph.map b/da/d5a/class_complex_ae1e03712837450549e0c9b4017533a41_cgraph.map deleted file mode 100644 index 7182de923..000000000 --- a/da/d5a/class_complex_ae1e03712837450549e0c9b4017533a41_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/da/d5a/class_complex_ae1e03712837450549e0c9b4017533a41_cgraph.md5 b/da/d5a/class_complex_ae1e03712837450549e0c9b4017533a41_cgraph.md5 deleted file mode 100644 index 1d60b2bc3..000000000 --- a/da/d5a/class_complex_ae1e03712837450549e0c9b4017533a41_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -9cadaab83bd3ebd66498947b3d283e1c \ No newline at end of file diff --git a/da/d5a/class_complex_ae1e03712837450549e0c9b4017533a41_cgraph.svg b/da/d5a/class_complex_ae1e03712837450549e0c9b4017533a41_cgraph.svg deleted file mode 100644 index 1b591ebc5..000000000 --- a/da/d5a/class_complex_ae1e03712837450549e0c9b4017533a41_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -Complex::arg - - -Node1 - - -Complex::arg - - - - - -Node2 - - -std::atan2 - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/da/d5a/class_complex_ae1e03712837450549e0c9b4017533a41_cgraph_org.svg b/da/d5a/class_complex_ae1e03712837450549e0c9b4017533a41_cgraph_org.svg deleted file mode 100644 index 0e002bbb0..000000000 --- a/da/d5a/class_complex_ae1e03712837450549e0c9b4017533a41_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -Complex::arg - - -Node1 - - -Complex::arg - - - - - -Node2 - - -std::atan2 - - - - - -Node1->Node2 - - - - - - - - diff --git a/da/d5a/class_complex_ae5b51b749ea4964104b9527af9d8f556_cgraph.map b/da/d5a/class_complex_ae5b51b749ea4964104b9527af9d8f556_cgraph.map deleted file mode 100644 index 17a470699..000000000 --- a/da/d5a/class_complex_ae5b51b749ea4964104b9527af9d8f556_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/da/d5a/class_complex_ae5b51b749ea4964104b9527af9d8f556_cgraph.md5 b/da/d5a/class_complex_ae5b51b749ea4964104b9527af9d8f556_cgraph.md5 deleted file mode 100644 index 32f90666f..000000000 --- a/da/d5a/class_complex_ae5b51b749ea4964104b9527af9d8f556_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -3128a983ad80f5c14d79b6d27940928b \ No newline at end of file diff --git a/da/d5a/class_complex_ae5b51b749ea4964104b9527af9d8f556_cgraph.svg b/da/d5a/class_complex_ae5b51b749ea4964104b9527af9d8f556_cgraph.svg deleted file mode 100644 index ab73b8068..000000000 --- a/da/d5a/class_complex_ae5b51b749ea4964104b9527af9d8f556_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -Complex::abs - - -Node1 - - -Complex::abs - - - - - -Node2 - - -std::sqrt - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/da/d5a/class_complex_ae5b51b749ea4964104b9527af9d8f556_cgraph_org.svg b/da/d5a/class_complex_ae5b51b749ea4964104b9527af9d8f556_cgraph_org.svg deleted file mode 100644 index 52d8710da..000000000 --- a/da/d5a/class_complex_ae5b51b749ea4964104b9527af9d8f556_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -Complex::abs - - -Node1 - - -Complex::abs - - - - - -Node2 - - -std::sqrt - - - - - -Node1->Node2 - - - - - - - - diff --git a/da/d61/structsearch_1_1sublist__search_1_1_node.html b/da/d61/structsearch_1_1sublist__search_1_1_node.html index 57d016c89..00dc4bc9d 100644 --- a/da/d61/structsearch_1_1sublist__search_1_1_node.html +++ b/da/d61/structsearch_1_1sublist__search_1_1_node.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: search::sublist_search::Node Struct Reference +TheAlgorithms/C++: search::sublist_search::Node Struct Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -121,9 +138,8 @@ Collaboration diagram for search::sublist_search::Node:
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    - - + + @@ -131,7 +147,27 @@ uint32_t 

    Public Attributes

    -uint32_t data = 0
     the key/value of the node
    uint32_t data = 0
     the key/value of the node
     
    Nodenext {}
     pointer to the next node
    data = 0

    Detailed Description

    A Node structure representing a single link Node in a linked list.

    + +

    Definition at line 48 of file sublist_search.cpp.

    Member Data Documentation

    + +

    ◆ data

    + +
    +
    + + + + +
    uint32_t search::sublist_search::Node::data = 0
    +
    + +

    the key/value of the node

    + +

    Definition at line 49 of file sublist_search.cpp.

    + +
    +

    ◆ next

    @@ -145,12 +181,14 @@ uint32_t data = 0

    pointer to the next node

    -
    50{}; ///< pointer to the next node
    + +

    Definition at line 50 of file sublist_search.cpp.

    +
    50{};

    The documentation for this struct was generated from the following file: diff --git a/da/d66/classrange__queries_1_1per_seg_tree-members.html b/da/d66/classrange__queries_1_1per_seg_tree-members.html index 441d767ea..60c514711 100644 --- a/da/d66/classrange__queries_1_1per_seg_tree-members.html +++ b/da/d66/classrange__queries_1_1per_seg_tree-members.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Member List +TheAlgorithms/C++: Member List + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/da/d68/searching__of__element__in__dynamic__array_8cpp_source.html b/da/d68/searching__of__element__in__dynamic__array_8cpp_source.html new file mode 100644 index 000000000..5bfbf3023 --- /dev/null +++ b/da/d68/searching__of__element__in__dynamic__array_8cpp_source.html @@ -0,0 +1,218 @@ + + + + + + + + +TheAlgorithms/C++: dynamic_programming/searching_of_element_in_dynamic_array.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + + +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    searching_of_element_in_dynamic_array.cpp
    +
    +
    +
    1/*
    +
    2 *this program is use to find any elemet in any row with variable array size
    +
    3 *aplication of pointer is use in it
    +
    4 *important point start from here to:
    +
    5 *the index value of array can be go to 1 to 100000
    +
    6 *check till array[1000]
    +
    7 *end here
    +
    8 *how to work example:
    +
    9 **Question:
    +
    10 ***number of array 2
    +
    11 ***quarry 3
    +
    12 ***array 1 is {1 2 3 4 5}
    +
    13 ***array 2 is {6 7}
    +
    14 ****i) what is 2nd element in 1st array
    +
    15 ****ii) what is 1st element in 2nd array
    +
    16 ****iii) what is 5th element in 1st array
    +
    17 *****output:
    +
    18 *****Enter Number of array you want to Store : 2
    +
    19 *****Enter Number of Question or Quary you want to do Related to Array : 3
    +
    20 *****Enter number of element in 1 rows : 5
    +
    21 *****Enter the element of Array 1 2 3 4 5
    +
    22 *****Enter number of element in 2 rows : 2
    +
    23 *****Enter the element of Array 6 7
    +
    24 *****enter the number of row which element You want to find : 1
    +
    25 *****enter the position of element which You want to find : 2
    +
    26 *****The element is 2
    +
    27 *****enter the number of row which element You want to find : 2
    +
    28 *****enter the position of element which You want to find : 1
    +
    29 *****The element is 6
    +
    30 *****enter the number of row which element You want to find : 1
    +
    31 *****enter the position of element which You want to find : 5
    +
    32 *****The element is 5
    +
    33 */
    +
    34#include <iostream>
    +
    35
    +
    36// this is main fuction
    +
    37// ***
    +
    38int main() {
    +
    39 int64_t r, mr = 0, x, q, i, z;
    +
    40 std::cout << "Enter Number of array you want to Store :";
    +
    41 std::cin >> x;
    +
    42 std::cout << "Enter Number of ";
    +
    43 std::cout << "Question or Quary you ";
    +
    44 std::cout << "want to do Related to Array :";
    +
    45 std::cin >> q;
    +
    46 // create a Array in run time because use can
    +
    47 // change the size of each array which he/she is going to store
    +
    48 // create a 2D array
    +
    49 int** ar = new int*[x]();
    +
    50 // this for loop is use for entering different variable size array
    +
    51 // ***
    +
    52 for (r = 0; r < x; r++) {
    +
    53 std::cout << "Enter number of element in " << r + 1 << " rows :";
    +
    54 std::cin >> mr;
    +
    55 // creating a 1D array
    +
    56 int* ac = new int[mr]();
    +
    57 std::cout << "Enter the element of Array ";
    +
    58 // this for loop is use for storing values in array
    +
    59 // ***
    +
    60 for (i = 0; i < mr; i++) {
    +
    61 // entering the value of rows in array in Horizontal
    +
    62 std::cin >> ac[i];
    +
    63 }
    +
    64 // Change the position of Array so that new arrays entery will be done
    +
    65 ar[r] = ac;
    +
    66 }
    +
    67 // this for loop is use for display result of querry
    +
    68 // ***
    +
    69 for (z = 0; z < q; z++) {
    +
    70 int64_t r1 = 0, q1 = 0;
    +
    71 std::cout << "enter the number of row which element you want to find :";
    +
    72 std::cin >> r1;
    +
    73 r1 = r1 - 1;
    +
    74 std::cout << "enter the position of element which you want to find :";
    +
    75 std::cin >> q1;
    +
    76 q1 = q1 - 1;
    +
    77 // use this to find desire position of element in desire array
    +
    78 std::cout << "The element is " << ar[r1][q1] << std::endl;
    +
    79 }
    +
    80}
    +
    int main()
    Main function.
    +
    +
    + + + + diff --git a/da/d6d/namespaceoperations__on__datastructures.html b/da/d6d/namespaceoperations__on__datastructures.html index 9d978466c..5acb23c23 100644 --- a/da/d6d/namespaceoperations__on__datastructures.html +++ b/da/d6d/namespaceoperations__on__datastructures.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: operations_on_datastructures Namespace Reference +TheAlgorithms/C++: operations_on_datastructures Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -110,40 +127,40 @@ $(function(){initNavTree('da/d6d/namespaceoperations__on__datastructures.html','
    -

    for std::vector +

    for std::vector More...

    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    - + - + - + - + - +

    Functions

    void print (const std::vector< int32_t > &array)
    void print (const std::vector< int32_t > &array)
     Prints the values of a vector sequentially, ending with a newline character.
     
    std::vector< int32_t > shift_left (const std::vector< int32_t > &array, size_t shift)
    std::vector< int32_t > shift_left (const std::vector< int32_t > &array, size_t shift)
     Shifts the given vector to the left by the shift amount and returns a new vector with the result. The original vector is not mutated.
     
    std::vector< int32_t > shift_right (const std::vector< int32_t > &array, size_t shift)
    std::vector< int32_t > shift_right (const std::vector< int32_t > &array, size_t shift)
     Shifts the given vector to the right by the shift amount and returns a new vector with the result. The original vector is not mutated.
     
    std::vector< int32_t > get_intersection (const std::vector< int32_t > &first, const std::vector< int32_t > &second)
    std::vector< int32_t > get_intersection (const std::vector< int32_t > &first, const std::vector< int32_t > &second)
     Gets the intersection of two sorted arrays, and returns them in a vector.
     
    std::vector< int32_t > get_union (const std::vector< int32_t > &first, const std::vector< int32_t > &second)
    std::vector< int32_t > get_union (const std::vector< int32_t > &first, const std::vector< int32_t > &second)
     Gets the union of two sorted arrays, and returns them in a vector.
     

    Detailed Description

    -

    for std::vector

    -

    for std::priority_queue

    -

    For std::vector.

    +

    for std::vector

    +

    for std::priority_queue

    +

    For std::vector.

    for assert for IO operations

    Operations on Data Structures

    for assert for IO Operations

    Operations on data structures

    -

    for std::sort for assert for IO operations

    +

    for std::sort for assert for IO operations

    Operations on Data Structures

    -

    For assert For IO operations For std::queue

    +

    For assert For IO operations For std::queue

    Operations on Data Structures

    -

    for std::count for assert for tolower for std::uint32_t for string operations for IO Operations

    +

    for std::count for assert for tolower for std::uint32_t for string operations for IO Operations

    Operations on data structures

    Function Documentation

    @@ -153,14 +170,14 @@ Functions
    - + - + - +
    std::vector< int32_t > operations_on_datastructures::get_intersection std::vector< int32_t > operations_on_datastructures::get_intersection (const std::vector< int32_t > & first, const std::vector< int32_t > & first,
    const std::vector< int32_t > & second )const std::vector< int32_t > & second )
    @@ -168,12 +185,12 @@ Functions

    Gets the intersection of two sorted arrays, and returns them in a vector.

    An algorithm is used that compares the elements of the two vectors, incrementing the index of the smaller of the two. If the elements are the same, the element is appended to the result array to be returned.

    Parameters
    - - + +
    firstA std::vector of sorted integer values
    secondA std::vector of sorted integer values
    firstA std::vector of sorted integer values
    secondA std::vector of sorted integer values
    -
    Returns
    A std::vector of the intersection of the two arrays, in ascending order
    +
    Returns
    A std::vector of the intersection of the two arrays, in ascending order

    < Vector to hold the intersection

    < Index for the first array

    < Index for the second array

    @@ -184,39 +201,32 @@ Functions

    < Add the element if it is unique

    < Increment index of first array

    < Increment index of second array too

    + +

    Definition at line 49 of file intersection_of_two_arrays.cpp.

    50 {
    -
    51 std::vector<int32_t> res; ///< Vector to hold the intersection
    -
    52 size_t f_index = 0; ///< Index for the first array
    -
    53 size_t s_index = 0; ///< Index for the second array
    -
    54 size_t f_length = first.size(); ///< Length of first array
    -
    55 size_t s_length = second.size(); ///< Length of second array
    +
    51 std::vector<int32_t> res;
    +
    52 size_t f_index = 0;
    +
    53 size_t s_index = 0;
    +
    54 size_t f_length = first.size();
    +
    55 size_t s_length = second.size();
    56
    57 while (f_index < f_length && s_index < s_length) {
    58 if (first[f_index] < second[s_index]) {
    -
    59 f_index++; ///< Increment index of second array
    +
    59 f_index++;
    60 } else if (first[f_index] > second[s_index]) {
    -
    61 s_index++; ///< Increment index of second array
    +
    61 s_index++;
    62 } else {
    -
    63 if ((res.size() == 0) || (first[f_index] != res.back())) {
    -
    64 res.push_back(
    -
    65 first[f_index]); ///< Add the element if it is unique
    +
    63 if ((res.size() == 0) || (first[f_index] != res.back())) {
    +
    64 res.push_back(
    +
    65 first[f_index]);
    66 }
    -
    67 f_index++; ///< Increment index of first array
    -
    68 s_index++; ///< Increment index of second array too
    +
    67 f_index++;
    +
    68 s_index++;
    69 }
    70 }
    71 return res;
    72}
    -
    T back(T... args)
    -
    T push_back(T... args)
    -
    T size(T... args)
    - -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    @@ -226,14 +236,14 @@ Here is the call graph for this function:
    - + - + - +
    std::vector< int32_t > operations_on_datastructures::get_union std::vector< int32_t > operations_on_datastructures::get_union (const std::vector< int32_t > & first, const std::vector< int32_t > & first,
    const std::vector< int32_t > & second )const std::vector< int32_t > & second )
    @@ -241,12 +251,12 @@ Here is the call graph for this function:

    Gets the union of two sorted arrays, and returns them in a vector.

    An algorithm is used that compares the elements of the two vectors, appending the one that has a lower value, and incrementing the index for that array. If one of the arrays reaches its end, all the elements of the other are appended to the resultant vector.

    Parameters
    - - + +
    firstA std::vector of sorted integer values
    secondA std::vector of sorted integer values
    firstA std::vector of sorted integer values
    secondA std::vector of sorted integer values
    -
    Returns
    A std::vector of the union of the two arrays, in ascending order
    +
    Returns
    A std::vector of the union of the two arrays, in ascending order

    < Vector to hold the union

    < Index for the first array

    < Index for the second array

    @@ -265,53 +275,49 @@ Here is the call graph for this function:

    < Add the element if it is unique

    < Add remaining elements

    < Add the element if it is unique

    + +

    Definition at line 49 of file union_of_two_arrays.cpp.

    50 {
    -
    51 std::vector<int32_t> res; ///< Vector to hold the union
    -
    52 size_t f_index = 0; ///< Index for the first array
    -
    53 size_t s_index = 0; ///< Index for the second array
    -
    54 size_t f_length = first.size(); ///< Length of first array
    -
    55 size_t s_length = second.size(); ///< Length of second array
    -
    56 int32_t next = 0; ///< Integer to store value of the next element
    +
    51 std::vector<int32_t> res;
    +
    52 size_t f_index = 0;
    +
    53 size_t s_index = 0;
    +
    54 size_t f_length = first.size();
    +
    55 size_t s_length = second.size();
    +
    56 int32_t next = 0;
    57
    58 while (f_index < f_length && s_index < s_length) {
    59 if (first[f_index] < second[s_index]) {
    -
    60 next = first[f_index]; ///< Append from first array
    -
    61 f_index++; ///< Increment index of second array
    +
    60 next = first[f_index];
    +
    61 f_index++;
    62 } else if (first[f_index] > second[s_index]) {
    -
    63 next = second[s_index]; ///< Append from second array
    -
    64 s_index++; ///< Increment index of second array
    +
    63 next = second[s_index];
    +
    64 s_index++;
    65 } else {
    -
    66 next = first[f_index]; ///< Element is the same in both
    -
    67 f_index++; ///< Increment index of first array
    -
    68 s_index++; ///< Increment index of second array too
    +
    66 next = first[f_index];
    +
    67 f_index++;
    +
    68 s_index++;
    69 }
    -
    70 if ((res.size() == 0) || (next != res.back())) {
    -
    71 res.push_back(next); ///< Add the element if it is unique
    +
    70 if ((res.size() == 0) || (next != res.back())) {
    +
    71 res.push_back(next);
    72 }
    73 }
    74 while (f_index < f_length) {
    -
    75 next = first[f_index]; ///< Add remaining elements
    -
    76 if ((res.size() == 0) || (next != res.back())) {
    -
    77 res.push_back(next); ///< Add the element if it is unique
    +
    75 next = first[f_index];
    +
    76 if ((res.size() == 0) || (next != res.back())) {
    +
    77 res.push_back(next);
    78 }
    79 f_index++;
    80 }
    81 while (s_index < s_length) {
    -
    82 next = second[s_index]; ///< Add remaining elements
    -
    83 if ((res.size() == 0) || (next != res.back())) {
    -
    84 res.push_back(next); ///< Add the element if it is unique
    +
    82 next = second[s_index];
    +
    83 if ((res.size() == 0) || (next != res.back())) {
    +
    84 res.push_back(next);
    85 }
    86 s_index++;
    87 }
    88 return res;
    89}
    -
    T next(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -323,7 +329,7 @@ Here is the call graph for this function: void operations_on_datastructures::print ( - const std::vector< int32_t > & array) + const std::vector< int32_t > & array) @@ -351,13 +357,14 @@ Here is the call graph for this function:

    Print newline

    Print each value in the array

    Print newline

    + +

    Definition at line 29 of file array_left_rotation.cpp.

    29 {
    30 for (int32_t i : array) {
    -
    31 std::cout << i << " "; /// Print each value in the array
    +
    31 std::cout << i << " ";
    32 }
    -
    33 std::cout << "\n"; /// Print newline
    +
    33 std::cout << "\n";
    34}
    -
    @@ -368,9 +375,9 @@ Here is the call graph for this function:
    - + - + @@ -383,36 +390,33 @@ Here is the call graph for this function:

    Shifts the given vector to the left by the shift amount and returns a new vector with the result. The original vector is not mutated.

    Shifts the values of the vector, by creating a new vector and adding values from the shift index to the end, then appending the rest of the elements from the start of the vector.

    Parameters
    std::vector< int32_t > operations_on_datastructures::shift_left std::vector< int32_t > operations_on_datastructures::shift_left (const std::vector< int32_t > & array, const std::vector< int32_t > & array,
    - +
    arrayA reference to the input std::vector
    arrayA reference to the input std::vector
    shiftThe amount to be shifted to the left
    -
    Returns
    A std::vector with the shifted values
    +
    Returns
    A std::vector with the shifted values

    < We got an invalid shift, return empty array

    < Result array

    < Add values after the shift index

    < Add the values from the start

    + +

    Definition at line 46 of file array_left_rotation.cpp.

    47 {
    -
    48 if (array.size() <= shift) {
    -
    49 return {}; ///< We got an invalid shift, return empty array
    +
    48 if (array.size() <= shift) {
    +
    49 return {};
    50 }
    -
    51 std::vector<int32_t> res(array.size()); ///< Result array
    -
    52 for (size_t i = shift; i < array.size(); i++) {
    -
    53 res[i - shift] = array[i]; ///< Add values after the shift index
    +
    51 std::vector<int32_t> res(array.size());
    +
    52 for (size_t i = shift; i < array.size(); i++) {
    +
    53 res[i - shift] = array[i];
    54 }
    55 for (size_t i = 0; i < shift; i++) {
    -
    56 res[array.size() - shift + i] =
    -
    57 array[i]; ///< Add the values from the start
    +
    56 res[array.size() - shift + i] =
    +
    57 array[i];
    58 }
    59 return res;
    60}
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    @@ -422,9 +426,9 @@ Here is the call graph for this function:
    - + - + @@ -437,36 +441,33 @@ Here is the call graph for this function:

    Shifts the given vector to the right by the shift amount and returns a new vector with the result. The original vector is not mutated.

    Shifts the values of the vector, by creating a new vector and adding values from the shift index to the end, then appending the rest of the elements to the start of the vector.

    Parameters
    std::vector< int32_t > operations_on_datastructures::shift_right std::vector< int32_t > operations_on_datastructures::shift_right (const std::vector< int32_t > & array, const std::vector< int32_t > & array,
    - +
    arrayA reference to the input std::vector
    arrayA reference to the input std::vector
    shiftThe amount to be shifted to the right
    -
    Returns
    A std::vector with the shifted values
    +
    Returns
    A std::vector with the shifted values

    < We got an invalid shift, return empty array

    < Result array

    < Add values after the shift index

    < Add the values from the start

    + +

    Definition at line 47 of file array_right_rotation.cpp.

    48 {
    -
    49 if (array.size() <= shift) {
    -
    50 return {}; ///< We got an invalid shift, return empty array
    +
    49 if (array.size() <= shift) {
    +
    50 return {};
    51 }
    -
    52 std::vector<int32_t> res(array.size()); ///< Result array
    -
    53 for (size_t i = shift; i < array.size(); i++) {
    -
    54 res[i] = array[i - shift]; ///< Add values after the shift index
    +
    52 std::vector<int32_t> res(array.size());
    +
    53 for (size_t i = shift; i < array.size(); i++) {
    +
    54 res[i] = array[i - shift];
    55 }
    56 for (size_t i = 0; i < shift; i++) {
    57 res[i] =
    -
    58 array[array.size() - shift + i]; ///< Add the values from the start
    +
    58 array[array.size() - shift + i];
    59 }
    60 return res;
    61}
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    diff --git a/da/d6d/namespaceoperations__on__datastructures_a1bfb8711f49e591eb168ccaa3df6fb86_cgraph.map b/da/d6d/namespaceoperations__on__datastructures_a1bfb8711f49e591eb168ccaa3df6fb86_cgraph.map deleted file mode 100644 index c3f2f1fd7..000000000 --- a/da/d6d/namespaceoperations__on__datastructures_a1bfb8711f49e591eb168ccaa3df6fb86_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/da/d6d/namespaceoperations__on__datastructures_a1bfb8711f49e591eb168ccaa3df6fb86_cgraph.md5 b/da/d6d/namespaceoperations__on__datastructures_a1bfb8711f49e591eb168ccaa3df6fb86_cgraph.md5 deleted file mode 100644 index 488896de4..000000000 --- a/da/d6d/namespaceoperations__on__datastructures_a1bfb8711f49e591eb168ccaa3df6fb86_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -f5e25a3ff024932c5a51b7b1efdd2a05 \ No newline at end of file diff --git a/da/d6d/namespaceoperations__on__datastructures_a1bfb8711f49e591eb168ccaa3df6fb86_cgraph.svg b/da/d6d/namespaceoperations__on__datastructures_a1bfb8711f49e591eb168ccaa3df6fb86_cgraph.svg deleted file mode 100644 index cecab8559..000000000 --- a/da/d6d/namespaceoperations__on__datastructures_a1bfb8711f49e591eb168ccaa3df6fb86_cgraph.svg +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - - - - - - - -operations_on_datastructures::shift_right - - -Node1 - - -operations_on_datastructures -::shift_right - - - - - -Node2 - - -std::vector::size - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/da/d6d/namespaceoperations__on__datastructures_a1bfb8711f49e591eb168ccaa3df6fb86_cgraph_org.svg b/da/d6d/namespaceoperations__on__datastructures_a1bfb8711f49e591eb168ccaa3df6fb86_cgraph_org.svg deleted file mode 100644 index 8dbdb2427..000000000 --- a/da/d6d/namespaceoperations__on__datastructures_a1bfb8711f49e591eb168ccaa3df6fb86_cgraph_org.svg +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - -operations_on_datastructures::shift_right - - -Node1 - - -operations_on_datastructures -::shift_right - - - - - -Node2 - - -std::vector::size - - - - - -Node1->Node2 - - - - - - - - diff --git a/da/d6d/namespaceoperations__on__datastructures_a2b8ff06a84b041457873840bf82e2d74_cgraph.map b/da/d6d/namespaceoperations__on__datastructures_a2b8ff06a84b041457873840bf82e2d74_cgraph.map deleted file mode 100644 index aaddbadd6..000000000 --- a/da/d6d/namespaceoperations__on__datastructures_a2b8ff06a84b041457873840bf82e2d74_cgraph.map +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/da/d6d/namespaceoperations__on__datastructures_a2b8ff06a84b041457873840bf82e2d74_cgraph.md5 b/da/d6d/namespaceoperations__on__datastructures_a2b8ff06a84b041457873840bf82e2d74_cgraph.md5 deleted file mode 100644 index 108aa866d..000000000 --- a/da/d6d/namespaceoperations__on__datastructures_a2b8ff06a84b041457873840bf82e2d74_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -bcd05b03e4b3054b424c6943fd327030 \ No newline at end of file diff --git a/da/d6d/namespaceoperations__on__datastructures_a2b8ff06a84b041457873840bf82e2d74_cgraph.svg b/da/d6d/namespaceoperations__on__datastructures_a2b8ff06a84b041457873840bf82e2d74_cgraph.svg deleted file mode 100644 index 6291ccf69..000000000 --- a/da/d6d/namespaceoperations__on__datastructures_a2b8ff06a84b041457873840bf82e2d74_cgraph.svg +++ /dev/null @@ -1,102 +0,0 @@ - - - - - - - - - - - - -operations_on_datastructures::get_union - - -Node1 - - -operations_on_datastructures -::get_union - - - - - -Node2 - - -std::vector::back - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::vector::push_back - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::vector::size - - - - - -Node1->Node4 - - - - - - - - - - - - - diff --git a/da/d6d/namespaceoperations__on__datastructures_a2b8ff06a84b041457873840bf82e2d74_cgraph_org.svg b/da/d6d/namespaceoperations__on__datastructures_a2b8ff06a84b041457873840bf82e2d74_cgraph_org.svg deleted file mode 100644 index a18f2ac09..000000000 --- a/da/d6d/namespaceoperations__on__datastructures_a2b8ff06a84b041457873840bf82e2d74_cgraph_org.svg +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - -operations_on_datastructures::get_union - - -Node1 - - -operations_on_datastructures -::get_union - - - - - -Node2 - - -std::vector::back - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::vector::push_back - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::vector::size - - - - - -Node1->Node4 - - - - - - - - diff --git a/da/d6d/namespaceoperations__on__datastructures_adaf9a06f0c236c2d95c97e441ea2d12e_cgraph.map b/da/d6d/namespaceoperations__on__datastructures_adaf9a06f0c236c2d95c97e441ea2d12e_cgraph.map deleted file mode 100644 index 600fed6c4..000000000 --- a/da/d6d/namespaceoperations__on__datastructures_adaf9a06f0c236c2d95c97e441ea2d12e_cgraph.map +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/da/d6d/namespaceoperations__on__datastructures_adaf9a06f0c236c2d95c97e441ea2d12e_cgraph.md5 b/da/d6d/namespaceoperations__on__datastructures_adaf9a06f0c236c2d95c97e441ea2d12e_cgraph.md5 deleted file mode 100644 index 39e81ed39..000000000 --- a/da/d6d/namespaceoperations__on__datastructures_adaf9a06f0c236c2d95c97e441ea2d12e_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -2f60d246ed68f9e25d3c25cb94b3090a \ No newline at end of file diff --git a/da/d6d/namespaceoperations__on__datastructures_adaf9a06f0c236c2d95c97e441ea2d12e_cgraph.svg b/da/d6d/namespaceoperations__on__datastructures_adaf9a06f0c236c2d95c97e441ea2d12e_cgraph.svg deleted file mode 100644 index 0818fbf21..000000000 --- a/da/d6d/namespaceoperations__on__datastructures_adaf9a06f0c236c2d95c97e441ea2d12e_cgraph.svg +++ /dev/null @@ -1,102 +0,0 @@ - - - - - - - - - - - - -operations_on_datastructures::get_intersection - - -Node1 - - -operations_on_datastructures -::get_intersection - - - - - -Node2 - - -std::vector::back - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::vector::push_back - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::vector::size - - - - - -Node1->Node4 - - - - - - - - - - - - - diff --git a/da/d6d/namespaceoperations__on__datastructures_adaf9a06f0c236c2d95c97e441ea2d12e_cgraph_org.svg b/da/d6d/namespaceoperations__on__datastructures_adaf9a06f0c236c2d95c97e441ea2d12e_cgraph_org.svg deleted file mode 100644 index 17d5f03a9..000000000 --- a/da/d6d/namespaceoperations__on__datastructures_adaf9a06f0c236c2d95c97e441ea2d12e_cgraph_org.svg +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - -operations_on_datastructures::get_intersection - - -Node1 - - -operations_on_datastructures -::get_intersection - - - - - -Node2 - - -std::vector::back - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::vector::push_back - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::vector::size - - - - - -Node1->Node4 - - - - - - - - diff --git a/da/d6d/namespaceoperations__on__datastructures_afce39cf843989a39811a49ebe29dd6d8_cgraph.map b/da/d6d/namespaceoperations__on__datastructures_afce39cf843989a39811a49ebe29dd6d8_cgraph.map deleted file mode 100644 index 2f6937d45..000000000 --- a/da/d6d/namespaceoperations__on__datastructures_afce39cf843989a39811a49ebe29dd6d8_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/da/d6d/namespaceoperations__on__datastructures_afce39cf843989a39811a49ebe29dd6d8_cgraph.md5 b/da/d6d/namespaceoperations__on__datastructures_afce39cf843989a39811a49ebe29dd6d8_cgraph.md5 deleted file mode 100644 index 12ef778e0..000000000 --- a/da/d6d/namespaceoperations__on__datastructures_afce39cf843989a39811a49ebe29dd6d8_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -14dc21fcd42b7e6eab77f4df2162358f \ No newline at end of file diff --git a/da/d6d/namespaceoperations__on__datastructures_afce39cf843989a39811a49ebe29dd6d8_cgraph.svg b/da/d6d/namespaceoperations__on__datastructures_afce39cf843989a39811a49ebe29dd6d8_cgraph.svg deleted file mode 100644 index d10286ab3..000000000 --- a/da/d6d/namespaceoperations__on__datastructures_afce39cf843989a39811a49ebe29dd6d8_cgraph.svg +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - - - - - - - -operations_on_datastructures::shift_left - - -Node1 - - -operations_on_datastructures -::shift_left - - - - - -Node2 - - -std::vector::size - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/da/d6d/namespaceoperations__on__datastructures_afce39cf843989a39811a49ebe29dd6d8_cgraph_org.svg b/da/d6d/namespaceoperations__on__datastructures_afce39cf843989a39811a49ebe29dd6d8_cgraph_org.svg deleted file mode 100644 index 7789d8deb..000000000 --- a/da/d6d/namespaceoperations__on__datastructures_afce39cf843989a39811a49ebe29dd6d8_cgraph_org.svg +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - -operations_on_datastructures::shift_left - - -Node1 - - -operations_on_datastructures -::shift_left - - - - - -Node2 - - -std::vector::size - - - - - -Node1->Node2 - - - - - - - - diff --git a/da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html b/da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html index d85bb12ac..70370dcf2 100644 --- a/da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html +++ b/da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: machine_learning::aystar_search::AyStarSearch< Puzzle >::Info Struct Reference +TheAlgorithms/C++: machine_learning::aystar_search::AyStarSearch< Puzzle >::Info Struct Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -150,21 +167,20 @@ Public Member Functions
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    - + - - + + - - + +

    Public Attributes

    -std::shared_ptr< Puzzle > state
    std::shared_ptr< Puzzle > state
     
    -size_t heuristic_value = 0
     Holds the current state.
    size_t heuristic_value = 0
     Holds the current state.
     
    -size_t depth = 0
     stores h score
    size_t depth = 0
     stores h score
     

    Detailed Description

    template<typename Puzzle>
    struct machine_learning::aystar_search::AyStarSearch< Puzzle >::Info

    Struct that handles all the information related to the current state.

    + +

    Definition at line 293 of file a_star_search.cpp.

    Constructor & Destructor Documentation

    ◆ Info() [1/5]

    @@ -228,8 +244,9 @@ template<typename Puzzle >
    -
    307: state(std::make_shared<Puzzle>(A)) {}
    -
    T make_shared(T... args)
    + +

    Definition at line 307 of file a_star_search.cpp.

    +
    307: state(std::make_shared<Puzzle>(A)) {}
    @@ -276,11 +293,13 @@ template<typename Puzzle > -
    316 : state(std::make_shared<Puzzle>(A)),
    + +

    Definition at line 315 of file a_star_search.cpp.

    +
    316 : state(std::make_shared<Puzzle>(A)),
    317 heuristic_value(h_value),
    318 depth(d) {}
    -
    size_t depth
    stores h score
    Definition a_star_search.cpp:296
    -
    size_t heuristic_value
    Holds the current state.
    Definition a_star_search.cpp:295
    + +
    @@ -316,7 +335,9 @@ template<typename Puzzle > -
    325 : state(std::make_shared<Puzzle>(A.state)),
    + +

    Definition at line 324 of file a_star_search.cpp.

    +
    325 : state(std::make_shared<Puzzle>(A.state)),
    326 heuristic_value(A.heuristic_value),
    327 depth(A.depth) {}
    @@ -354,10 +375,11 @@ template<typename Puzzle >
    -
    334 : state(std::make_shared<Puzzle>(std::move(A.state))),
    -
    335 heuristic_value(std::move(A.heuristic_value)),
    -
    336 depth(std::move(A.depth)) {}
    -
    T move(T... args)
    + +

    Definition at line 333 of file a_star_search.cpp.

    +
    334 : state(std::make_shared<Puzzle>(std::move(A.state))),
    +
    335 heuristic_value(std::move(A.heuristic_value)),
    +
    336 depth(std::move(A.depth)) {}
    @@ -394,6 +416,8 @@ template<typename Puzzle > + +

    Definition at line 342 of file a_star_search.cpp.

    342 {
    343 state = A.state;
    344 heuristic_value = A.heuristic_value;
    @@ -435,22 +459,78 @@ template<typename Puzzle >
    + +

    Definition at line 353 of file a_star_search.cpp.

    353 {
    -
    354 state = std::move(A.state);
    -
    355 heuristic_value = std::move(A.heuristic_value);
    -
    356 depth = std::move(A.depth);
    +
    354 state = std::move(A.state);
    +
    355 heuristic_value = std::move(A.heuristic_value);
    +
    356 depth = std::move(A.depth);
    357 return *this;
    358 }
    -
    -Here is the call graph for this function:
    -
    -
    +
    + +

    Member Data Documentation

    + +

    ◆ depth

    + +
    +
    +
    +template<typename Puzzle >
    + + + + +
    size_t machine_learning::aystar_search::AyStarSearch< Puzzle >::Info::depth = 0
    +
    + +

    stores h score

    + +

    Definition at line 296 of file a_star_search.cpp.

    + +
    +
    + +

    ◆ heuristic_value

    + +
    +
    +
    +template<typename Puzzle >
    + + + + +
    size_t machine_learning::aystar_search::AyStarSearch< Puzzle >::Info::heuristic_value = 0
    +
    + +

    Holds the current state.

    + +

    Definition at line 295 of file a_star_search.cpp.

    + +
    +
    + +

    ◆ state

    + +
    +
    +
    +template<typename Puzzle >
    + + + + +
    std::shared_ptr<Puzzle> machine_learning::aystar_search::AyStarSearch< Puzzle >::Info::state
    +
    + +

    Definition at line 294 of file a_star_search.cpp.


    The documentation for this struct was generated from the following file: diff --git a/da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info_ad3993dbca9c5b3ef9ac361dc7f62ce57_cgraph.map b/da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info_ad3993dbca9c5b3ef9ac361dc7f62ce57_cgraph.map deleted file mode 100644 index dc01d1742..000000000 --- a/da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info_ad3993dbca9c5b3ef9ac361dc7f62ce57_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info_ad3993dbca9c5b3ef9ac361dc7f62ce57_cgraph.md5 b/da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info_ad3993dbca9c5b3ef9ac361dc7f62ce57_cgraph.md5 deleted file mode 100644 index b037e6acc..000000000 --- a/da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info_ad3993dbca9c5b3ef9ac361dc7f62ce57_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -abb8ff5f41185534f4a7823585ff7ae8 \ No newline at end of file diff --git a/da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info_ad3993dbca9c5b3ef9ac361dc7f62ce57_cgraph.svg b/da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info_ad3993dbca9c5b3ef9ac361dc7f62ce57_cgraph.svg deleted file mode 100644 index 13624b23a..000000000 --- a/da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info_ad3993dbca9c5b3ef9ac361dc7f62ce57_cgraph.svg +++ /dev/null @@ -1,67 +0,0 @@ - - - - - - - - - - - - -machine_learning::aystar_search::AyStarSearch::Info::operator= - - -Node1 - - -machine_learning::aystar -_search::AyStarSearch:: -Info::operator= - - - - - -Node2 - - -std::move - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info_ad3993dbca9c5b3ef9ac361dc7f62ce57_cgraph_org.svg b/da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info_ad3993dbca9c5b3ef9ac361dc7f62ce57_cgraph_org.svg deleted file mode 100644 index 9ad66f12f..000000000 --- a/da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info_ad3993dbca9c5b3ef9ac361dc7f62ce57_cgraph_org.svg +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - -machine_learning::aystar_search::AyStarSearch::Info::operator= - - -Node1 - - -machine_learning::aystar -_search::AyStarSearch:: -Info::operator= - - - - - -Node2 - - -std::move - - - - - -Node1->Node2 - - - - - - - - diff --git a/da/d73/classgraph_1_1_lowest_common_ancestor-members.html b/da/d73/classgraph_1_1_lowest_common_ancestor-members.html index fc33dd9e3..b6ba2bb3e 100644 --- a/da/d73/classgraph_1_1_lowest_common_ancestor-members.html +++ b/da/d73/classgraph_1_1_lowest_common_ancestor-members.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Member List +TheAlgorithms/C++: Member List + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/da/d74/structstrings_1_1boyer__moore_1_1pattern__coll__graph.map b/da/d74/structstrings_1_1boyer__moore_1_1pattern__coll__graph.map index e458a21a2..b4d76942f 100644 --- a/da/d74/structstrings_1_1boyer__moore_1_1pattern__coll__graph.map +++ b/da/d74/structstrings_1_1boyer__moore_1_1pattern__coll__graph.map @@ -1,11 +1,9 @@ - - - - - - - - - + + + + + + + diff --git a/da/d74/structstrings_1_1boyer__moore_1_1pattern__coll__graph.md5 b/da/d74/structstrings_1_1boyer__moore_1_1pattern__coll__graph.md5 index ace466e06..5b8d06bb7 100644 --- a/da/d74/structstrings_1_1boyer__moore_1_1pattern__coll__graph.md5 +++ b/da/d74/structstrings_1_1boyer__moore_1_1pattern__coll__graph.md5 @@ -1 +1 @@ -a8a3d83907b4a330504f55723ba112d4 \ No newline at end of file +8397fb0fedfe483208ae3bf4cb72d014 \ No newline at end of file diff --git a/da/d74/structstrings_1_1boyer__moore_1_1pattern__coll__graph.svg b/da/d74/structstrings_1_1boyer__moore_1_1pattern__coll__graph.svg index 15b408bdb..f7cb310f7 100644 --- a/da/d74/structstrings_1_1boyer__moore_1_1pattern__coll__graph.svg +++ b/da/d74/structstrings_1_1boyer__moore_1_1pattern__coll__graph.svg @@ -4,8 +4,8 @@ - + @@ -17,22 +17,22 @@ ]]> - + strings::boyer_moore::pattern Node1 - -strings::boyer_moore -::pattern + +strings::boyer_moore +::pattern Node2 - + std::string @@ -42,19 +42,19 @@ Node2->Node1 - - + + - pat + pat Node3 - - -std::basic_string< - Char > + + +std::basic_string< + Char > @@ -62,15 +62,15 @@ Node3->Node2 - - + + Node4 - + std::vector< size_t > @@ -80,31 +80,12 @@ Node4->Node1 - - + + - bad_char -good_suffix - - - -Node5 - - -std::size_t - - - - - -Node5->Node4 - - - - - - elements + bad_char +good_suffix diff --git a/da/d74/structstrings_1_1boyer__moore_1_1pattern__coll__graph_org.svg b/da/d74/structstrings_1_1boyer__moore_1_1pattern__coll__graph_org.svg index 22b93d1e4..fbee08020 100644 --- a/da/d74/structstrings_1_1boyer__moore_1_1pattern__coll__graph_org.svg +++ b/da/d74/structstrings_1_1boyer__moore_1_1pattern__coll__graph_org.svg @@ -4,24 +4,24 @@ - - + + strings::boyer_moore::pattern Node1 - -strings::boyer_moore -::pattern + +strings::boyer_moore +::pattern Node2 - + std::string @@ -31,19 +31,19 @@ Node2->Node1 - - + + - pat + pat Node3 - - -std::basic_string< - Char > + + +std::basic_string< + Char > @@ -51,15 +51,15 @@ Node3->Node2 - - + + Node4 - + std::vector< size_t > @@ -69,31 +69,12 @@ Node4->Node1 - - + + - bad_char -good_suffix - - - -Node5 - - -std::size_t - - - - - -Node5->Node4 - - - - - - elements + bad_char +good_suffix diff --git a/da/d77/spirograph_8cpp.html b/da/d77/spirograph_8cpp.html index 30b246209..b00b8495a 100644 --- a/da/d77/spirograph_8cpp.html +++ b/da/d77/spirograph_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: graphics/spirograph.cpp File Reference +TheAlgorithms/C++: graphics/spirograph.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + @@ -127,7 +144,9 @@ Include dependency graph for spirograph.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -140,8 +159,8 @@ Macros

    Namespaces

    namespace  spirograph
    - - + + @@ -154,6 +173,8 @@ Functions
    Author
    Krishna Vedala

    Implementation of the program is based on the geometry shown in the figure below:

    Spirograph geometry from Wikipedia

    + +

    Definition in file spirograph.cpp.

    Macro Definition Documentation

    ◆ _USE_MATH_DEFINES

    @@ -168,6 +189,8 @@ Functions

    required for MSVC compiler

    +

    Definition at line 23 of file spirograph.cpp.

    +

    Function Documentation

    @@ -190,6 +213,8 @@ Functions

    Functions

    template<std::size_t N>
    void spirograph::spirograph (std::array< std::pair< double, double >, N > *points, double l, double k, double rot)
    template<std::size_t N>
    void spirograph::spirograph (std::array< std::pair< double, double >, N > *points, double l, double k, double rot)
     
    void spirograph::test ()
     Test function to save resulting points to a CSV file.

    Main function

    + +

    Definition at line 268 of file spirograph.cpp.

    268 {
    270
    @@ -207,13 +232,8 @@ Functions
    282
    283 return 0;
    284}
    -
    void test()
    Test function to save resulting points to a CSV file.
    Definition spirograph.cpp:93
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    void test()
    Test function to save resulting points to a CSV file.
    +
    diff --git a/da/d77/spirograph_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph.map b/da/d77/spirograph_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph.map deleted file mode 100644 index 15882bc9b..000000000 --- a/da/d77/spirograph_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph.map +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - diff --git a/da/d77/spirograph_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph.md5 b/da/d77/spirograph_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph.md5 deleted file mode 100644 index 316f9a719..000000000 --- a/da/d77/spirograph_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -e4a41e74615008325e45e5d6d3f87018 \ No newline at end of file diff --git a/da/d77/spirograph_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph.svg b/da/d77/spirograph_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph.svg deleted file mode 100644 index 6ef3159b3..000000000 --- a/da/d77/spirograph_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph.svg +++ /dev/null @@ -1,137 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -spirograph::test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::ofstream::close - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::ofstream::is_open - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -std::setw - - - - - -Node2->Node5 - - - - - - - - -Node6 - - -std::stringstream::str - - - - - -Node2->Node6 - - - - - - - - - - - - - diff --git a/da/d77/spirograph_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph_org.svg b/da/d77/spirograph_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph_org.svg deleted file mode 100644 index 95ecaec7a..000000000 --- a/da/d77/spirograph_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph_org.svg +++ /dev/null @@ -1,111 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -spirograph::test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::ofstream::close - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::ofstream::is_open - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -std::setw - - - - - -Node2->Node5 - - - - - - - - -Node6 - - -std::stringstream::str - - - - - -Node2->Node6 - - - - - - - - diff --git a/da/d77/spirograph_8cpp_source.html b/da/d77/spirograph_8cpp_source.html new file mode 100644 index 000000000..5f69d50d7 --- /dev/null +++ b/da/d77/spirograph_8cpp_source.html @@ -0,0 +1,355 @@ + + + + + + + + +TheAlgorithms/C++: graphics/spirograph.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    spirograph.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    16#ifdef USE_GLUT
    +
    17#ifdef __APPLE__
    +
    18#include <GLUT/glut.h> // include path on Macs is different
    +
    19#else
    +
    20#include <GL/glut.h>
    +
    21#endif // __APPLE__
    +
    22#endif
    +
    23#define _USE_MATH_DEFINES
    +
    24#include <array>
    +
    25#include <cmath>
    +
    26#include <cstdlib>
    +
    27#include <ctime>
    +
    28#include <fstream>
    +
    29#include <iomanip>
    +
    30#include <iostream>
    +
    31#include <sstream>
    +
    32#ifdef _OPENMP
    +
    33#include <omp.h>
    +
    34#endif
    +
    35
    +
    39namespace spirograph {
    +
    69template <std::size_t N>
    +
    +
    70void spirograph(std::array<std::pair<double, double>, N> *points, double l,
    +
    71 double k, double rot) {
    +
    72 double dt = rot * 2.f * M_PI / N;
    +
    73 double R = 1.f;
    +
    74 const double k1 = 1.f - k;
    +
    75 int32_t step = 0;
    +
    76
    +
    77#ifdef _OPENMP
    +
    78#pragma omp for
    +
    79#endif
    +
    80 for (step = 0; step < N; step++) {
    +
    81 double t = dt * step;
    +
    82 double first = R * (k1 * std::cos(t) + l * k * std::cos(k1 * t / k));
    +
    83 double second = R * (k1 * std::sin(t) - l * k * std::sin(k1 * t / k));
    +
    84 points[0][step].first = first;
    +
    85 points[0][step].second = second;
    +
    86 }
    +
    87}
    +
    +
    88
    +
    +
    93void test() {
    +
    94 const size_t N = 500;
    +
    95 double l = 0.3, k = 0.75, rot = 10.;
    +
    96 std::stringstream fname;
    +
    97 fname << std::setw(3) << "spirograph_" << l << "_" << k << "_" << rot
    +
    98 << ".csv";
    +
    99 std::ofstream fp(fname.str());
    +
    100 if (!fp.is_open()) {
    +
    101 perror(fname.str().c_str());
    +
    102 exit(EXIT_FAILURE);
    +
    103 }
    +
    104
    +
    105 std::array<std::pair<double, double>, N> points;
    +
    106
    +
    107 spirograph(&points, l, k, rot);
    +
    108
    +
    109 for (size_t i = 0; i < N; i++) {
    +
    110 fp << points[i].first << "," << points[i].first;
    +
    111 if (i < N - 1) {
    +
    112 fp << '\n';
    +
    113 }
    +
    114 }
    +
    115
    +
    116 fp.close();
    +
    117}
    +
    +
    118
    +
    119#ifdef USE_GLUT
    +
    120static bool paused = 0;
    +
    121static const int animation_speed = 25;
    +
    123static const double step = 0.01;
    +
    124static double l_ratio = step * 10;
    +
    125static double k_ratio = step;
    +
    126static const double num_rot = 20.;
    +
    130static inline void glutBitmapString(void *font, char *message) {
    +
    131 for (char *ch = message; *ch != '\0'; ch++) glutBitmapCharacter(font, *ch);
    +
    132}
    +
    133
    +
    144template <size_t N>
    +
    145void display_graph(const std::array<std::pair<double, double>, N> &points,
    +
    146 double l, double k) {
    +
    147 glClearColor(1.0f, 1.0f, 1.0f,
    +
    148 0.0f); // Set background color to white and opaque
    +
    149 glClear(GL_COLOR_BUFFER_BIT); // Clear the color buffer (background)
    +
    150
    +
    151 glBegin(GL_LINES); // draw line segments
    +
    152 glColor3f(0.f, 0.f, 1.f); // blue
    +
    153 glPointSize(2.f); // point size in pixels
    +
    154
    +
    155 for (size_t i = 1; i < N; i++) {
    +
    156 glVertex2f(points[i - 1].first, points[i - 1].second); // line from
    +
    157 glVertex2f(points[i].first, points[i].second); // line to
    +
    158 }
    +
    159 glEnd();
    +
    160
    +
    161 glColor3f(0.f, 0.f, 0.f);
    +
    162 std::stringstream buffer;
    +
    163 buffer << std::setw(3) << "l = " << l;
    +
    164 glRasterPos2f(-.85, .85);
    +
    165 glutBitmapString(GLUT_BITMAP_TIMES_ROMAN_24,
    +
    166 const_cast<char *>(buffer.str().c_str()));
    +
    167 buffer.str("");
    +
    168 buffer.clear();
    +
    169 buffer << std::setw(3) << "k = " << k;
    +
    170 glRasterPos2f(-.85, .70);
    +
    171 glutBitmapString(GLUT_BITMAP_TIMES_ROMAN_24,
    +
    172 const_cast<char *>(buffer.str().c_str()));
    +
    173
    +
    174 glutSwapBuffers();
    +
    175}
    +
    176
    +
    181void test2() {
    +
    182 const size_t N = 5000; // number of samples
    +
    183
    +
    184 static bool direction1 = true; // increment if true, otherwise decrement
    +
    185 static bool direction2 = true; // increment if true, otherwise decrement
    +
    186
    +
    187 std::array<std::pair<double, double>, N> points;
    +
    188
    +
    189 spirograph(&points, l_ratio, k_ratio, num_rot);
    +
    190 display_graph(points, l_ratio, k_ratio);
    +
    191
    +
    192 if (paused)
    +
    193 // if paused, do not update l_ratio and k_ratio
    +
    194 return;
    +
    195
    +
    196 if (direction1) { // increment k_ratio
    +
    197 if (k_ratio >= (1.f - step)) // maximum limit
    +
    198 direction1 = false; // reverse direction of k_ratio
    +
    199 else
    +
    200 k_ratio += step;
    +
    201 } else { // decrement k_ratio
    +
    202 if (k_ratio <= step) { // minimum limit
    +
    203 direction1 = true; // reverse direction of k_ratio
    +
    204
    +
    205 if (direction2) { // increment l_ratio
    +
    206 if (l_ratio >= (1.f - step)) // max limit of l_ratio
    +
    207 direction2 = false; // reverse direction of l_ratio
    +
    208 else
    +
    209 l_ratio += step;
    +
    210 } else { // decrement l_ratio
    +
    211 if (l_ratio <= step) // minimum limit of l_ratio
    +
    212 direction2 = true; // reverse direction of l_ratio
    +
    213 else
    +
    214 l_ratio -= step;
    +
    215 }
    +
    216 } else { // no min limit of k_ratio
    +
    217 k_ratio -= step;
    +
    218 }
    +
    219 }
    +
    220}
    +
    221
    +
    225void timer_cb(int t) {
    +
    226 glutTimerFunc(animation_speed, timer_cb, 0);
    +
    227 glutPostRedisplay();
    +
    228}
    +
    229
    +
    237void keyboard_cb(unsigned char key, int x, int y) {
    +
    238 switch (key) {
    +
    239 case ' ': // spacebar toggles pause
    +
    240 paused = !paused; // toggle
    +
    241 break;
    +
    242 case GLUT_KEY_UP:
    +
    243 case '+': // up arrow key
    +
    244 k_ratio += step;
    +
    245 break;
    +
    246 case GLUT_KEY_DOWN:
    +
    247 case '_': // down arrow key
    +
    248 k_ratio -= step;
    +
    249 break;
    +
    250 case GLUT_KEY_RIGHT:
    +
    251 case '=': // left arrow key
    +
    252 l_ratio += step;
    +
    253 break;
    +
    254 case GLUT_KEY_LEFT:
    +
    255 case '-': // right arrow key
    +
    256 l_ratio -= step;
    +
    257 break;
    +
    258 case 0x1B: // escape key exits
    +
    259 exit(EXIT_SUCCESS);
    +
    260 default:
    +
    261 return;
    +
    262 }
    +
    263}
    +
    264#endif
    +
    265} // namespace spirograph
    +
    266
    +
    +
    268int main(int argc, char **argv) {
    + +
    270
    +
    271#ifdef USE_GLUT
    +
    272 glutInit(&argc, argv);
    +
    273 glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE);
    +
    274 glutCreateWindow("Spirograph");
    +
    275 glutInitWindowSize(400, 400);
    +
    276 // glutIdleFunc(glutPostRedisplay);
    +
    277 glutTimerFunc(spirograph::animation_speed, spirograph::timer_cb, 0);
    +
    278 glutKeyboardFunc(spirograph::keyboard_cb);
    +
    279 glutDisplayFunc(spirograph::test2);
    +
    280 glutMainLoop();
    +
    281#endif
    +
    282
    +
    283 return 0;
    +
    284}
    +
    +
    double k(double x)
    Another test function.
    +
    double l(double x)
    Another test function.
    +
    static void test2()
    Self-implementations, 2nd test.
    +
    int main()
    Main function.
    + +
    void test()
    Test function to save resulting points to a CSV file.
    +
    constexpr uint32_t N
    A struct to represent sparse table for min() as their invariant function, for the given array A....
    +
    +
    + + + + diff --git a/da/d7b/primality__test_8cpp.html b/da/d7b/primality__test_8cpp.html index daba8d91e..6ebe62d32 100644 --- a/da/d7b/primality__test_8cpp.html +++ b/da/d7b/primality__test_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: others/primality_test.cpp File Reference +TheAlgorithms/C++: others/primality_test.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -118,7 +135,9 @@ Include dependency graph for primality_test.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -131,6 +150,8 @@ Functions

    A simple and efficient implementation of a function to test if a number is prime, based on the fact that

    ‍Every Prime number, except 2 and 3, are of the form \(6k\pm1\) for integer values of k. This gives a 3x speed improvement.

    + +

    Definition in file primality_test.cpp.

    Function Documentation

    ◆ IsPrime()

    @@ -153,6 +174,8 @@ Functions
    Returns
    true if prime else false
    + +

    Definition at line 18 of file primality_test.cpp.

    18 {
    19 if (((!(number & 1)) && number != 2) || (number < 2) ||
    20 (number % 3 == 0 && number != 3))
    @@ -164,7 +187,7 @@ Functions
    26 }
    27 return true;
    28}
    -
    double k(double x)
    Another test function.
    Definition composite_simpson_rule.cpp:117
    +
    double k(double x)
    Another test function.
    @@ -183,28 +206,22 @@ Functions

    Functions

    bool IsPrime (int number)

    main function

    + +

    Definition at line 31 of file primality_test.cpp.

    31 {
    32 // Main Function
    -
    33 std::cout << "Enter the value of n to check if Prime\n";
    +
    33 std::cout << "Enter the value of n to check if Prime\n";
    34 int n;
    -
    35 std::cin >> n;
    +
    35 std::cin >> n;
    36 if (IsPrime(n))
    -
    37 std::cout << n << " is Prime" << std::endl;
    +
    37 std::cout << n << " is Prime" << std::endl;
    38 else
    -
    39 std::cout << n << " is not Prime" << std::endl;
    +
    39 std::cout << n << " is not Prime" << std::endl;
    40
    41 return 0;
    42}
    - - -
    T endl(T... args)
    -
    bool IsPrime(int number)
    Definition primality_test.cpp:18
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    bool IsPrime(int number)
    +
    diff --git a/da/d7b/primality__test_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/da/d7b/primality__test_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index d6bc66dc5..000000000 --- a/da/d7b/primality__test_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/da/d7b/primality__test_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/da/d7b/primality__test_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index ded039669..000000000 --- a/da/d7b/primality__test_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -b459915509cfdc75e7cc6514758d9634 \ No newline at end of file diff --git a/da/d7b/primality__test_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/da/d7b/primality__test_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 0d81a81b5..000000000 --- a/da/d7b/primality__test_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -IsPrime - - - - - -Node1->Node3 - - - - - - - - - - - - - diff --git a/da/d7b/primality__test_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/da/d7b/primality__test_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 0652bc5bc..000000000 --- a/da/d7b/primality__test_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -IsPrime - - - - - -Node1->Node3 - - - - - - - - diff --git a/da/d7b/primality__test_8cpp_source.html b/da/d7b/primality__test_8cpp_source.html new file mode 100644 index 000000000..f8ce43899 --- /dev/null +++ b/da/d7b/primality__test_8cpp_source.html @@ -0,0 +1,170 @@ + + + + + + + + +TheAlgorithms/C++: others/primality_test.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    primality_test.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    12#include <iostream>
    +
    13
    +
    +
    18bool IsPrime(int number) {
    +
    19 if (((!(number & 1)) && number != 2) || (number < 2) ||
    +
    20 (number % 3 == 0 && number != 3))
    +
    21 return false;
    +
    22
    +
    23 for (int k = 1; 36 * k * k - 12 * k < number; ++k) {
    +
    24 if ((number % (6 * k + 1) == 0) || (number % (6 * k - 1) == 0))
    +
    25 return false;
    +
    26 }
    +
    27 return true;
    +
    28}
    +
    +
    29
    +
    +
    31int main() {
    +
    32 // Main Function
    +
    33 std::cout << "Enter the value of n to check if Prime\n";
    +
    34 int n;
    +
    35 std::cin >> n;
    +
    36 if (IsPrime(n))
    +
    37 std::cout << n << " is Prime" << std::endl;
    +
    38 else
    +
    39 std::cout << n << " is not Prime" << std::endl;
    +
    40
    +
    41 return 0;
    +
    42}
    +
    +
    bool IsPrime(int number)
    +
    int main()
    +
    +
    + + + + diff --git a/da/d82/namespacecycle__detection.html b/da/d82/namespacecycle__detection.html index 8418e7d2d..9a9bbb9d3 100644 --- a/da/d82/namespacecycle__detection.html +++ b/da/d82/namespacecycle__detection.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: cycle_detection Namespace Reference +TheAlgorithms/C++: cycle_detection Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/da/d83/kosaraju_8cpp_source.html b/da/d83/kosaraju_8cpp_source.html new file mode 100644 index 000000000..2f223b6b1 --- /dev/null +++ b/da/d83/kosaraju_8cpp_source.html @@ -0,0 +1,238 @@ + + + + + + + + +TheAlgorithms/C++: graph/kosaraju.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + + +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    kosaraju.cpp
    +
    +
    +
    1/* Implementation of Kosaraju's Algorithm to find out the strongly connected
    +
    2 components (SCCs) in a graph. Author:Anirban166
    +
    3*/
    +
    4
    +
    5#include <iostream>
    +
    6#include <stack>
    +
    7#include <vector>
    +
    8
    +
    15void print(const std::vector<std::vector<int> > &a, int V) {
    +
    16 for (int i = 0; i < V; i++) {
    +
    17 if (!a[i].empty()) {
    +
    18 std::cout << "i=" << i << "-->";
    +
    19 }
    +
    20 for (int j : a[i]) {
    +
    21 std::cout << j << " ";
    +
    22 }
    +
    23 if (!a[i].empty()) {
    +
    24 std::cout << std::endl;
    +
    25 }
    +
    26 }
    +
    27}
    +
    28
    +
    37void push_vertex(int v, std::stack<int> *st, std::vector<bool> *vis,
    +
    38 const std::vector<std::vector<int> > &adj) {
    +
    39 (*vis)[v] = true;
    +
    40 for (auto i = adj[v].begin(); i != adj[v].end(); i++) {
    +
    41 if ((*vis)[*i] == false) {
    +
    42 push_vertex(*i, st, vis, adj);
    +
    43 }
    +
    44 }
    +
    45 st->push(v);
    +
    46}
    +
    47
    +
    55void dfs(int v, std::vector<bool> *vis,
    +
    56 const std::vector<std::vector<int> > &grev) {
    +
    57 (*vis)[v] = true;
    +
    58 // cout<<v<<" ";
    +
    59 for (auto i = grev[v].begin(); i != grev[v].end(); i++) {
    +
    60 if ((*vis)[*i] == false) {
    +
    61 dfs(*i, vis, grev);
    +
    62 }
    +
    63 }
    +
    64}
    +
    65
    +
    66// function/method to implement Kosaraju's Algorithm:
    +
    76int kosaraju(int V, const std::vector<std::vector<int> > &adj) {
    +
    77 std::vector<bool> vis(V, false);
    +
    78 std::stack<int> st;
    +
    79 for (int v = 0; v < V; v++) {
    +
    80 if (vis[v] == false) {
    +
    81 push_vertex(v, &st, &vis, adj);
    +
    82 }
    +
    83 }
    +
    84 // making new graph (grev) with reverse edges as in adj[]:
    +
    85 std::vector<std::vector<int> > grev(V);
    +
    86 for (int i = 0; i < V + 1; i++) {
    +
    87 for (auto j = adj[i].begin(); j != adj[i].end(); j++) {
    +
    88 grev[*j].push_back(i);
    +
    89 }
    +
    90 }
    +
    91 // cout<<"grev="<<endl; ->debug statement
    +
    92 // print(grev,V); ->debug statement
    +
    93 // reinitialise visited to 0
    +
    94 for (int i = 0; i < V; i++) vis[i] = false;
    +
    95 int count_scc = 0;
    +
    96 while (!st.empty()) {
    +
    97 int t = st.top();
    +
    98 st.pop();
    +
    99 if (vis[t] == false) {
    +
    100 dfs(t, &vis, grev);
    +
    101 count_scc++;
    +
    102 }
    +
    103 }
    +
    104 // cout<<"count_scc="<<count_scc<<endl; //in case you want to print here
    +
    105 // itself, uncomment & change return type of function to void.
    +
    106 return count_scc;
    +
    107}
    +
    108
    +
    109// All critical/corner cases have been taken care of.
    +
    110// Input your required values: (not hardcoded)
    +
    111int main() {
    +
    112 int t = 0;
    +
    113 std::cin >> t;
    +
    114 while (t--) {
    +
    115 int a = 0, b = 0; // a->number of nodes, b->directed edges.
    +
    116 std::cin >> a >> b;
    +
    117 int m = 0, n = 0;
    +
    118 std::vector<std::vector<int> > adj(a + 1);
    +
    119 for (int i = 0; i < b; i++) // take total b inputs of 2 vertices each
    +
    120 // required to form an edge.
    +
    121 {
    +
    122 std::cin >> m >> n; // take input m,n denoting edge from m->n.
    +
    123 adj[m].push_back(n);
    +
    124 }
    +
    125 // pass number of nodes and adjacency array as parameters to function:
    +
    126 std::cout << kosaraju(a, adj) << std::endl;
    +
    127 }
    +
    128 return 0;
    +
    129}
    +
    std::vector< size_t > dfs(const std::vector< std::vector< size_t > > &graph, size_t start)
    Explores the given vertex, exploring a vertex means traversing over all the vertices which are connec...
    +
    int main()
    Main function.
    +
    +
    + + + + diff --git a/da/d85/classdata__structures_1_1tree__234_1_1_tree234__coll__graph.map b/da/d85/classdata__structures_1_1tree__234_1_1_tree234__coll__graph.map index ebc53d664..e038a3919 100644 --- a/da/d85/classdata__structures_1_1tree__234_1_1_tree234__coll__graph.map +++ b/da/d85/classdata__structures_1_1tree__234_1_1_tree234__coll__graph.map @@ -1,12 +1,10 @@ - - - - - - - - - - + + + + + + + + diff --git a/da/d85/classdata__structures_1_1tree__234_1_1_tree234__coll__graph.md5 b/da/d85/classdata__structures_1_1tree__234_1_1_tree234__coll__graph.md5 index adee3327d..311c24f06 100644 --- a/da/d85/classdata__structures_1_1tree__234_1_1_tree234__coll__graph.md5 +++ b/da/d85/classdata__structures_1_1tree__234_1_1_tree234__coll__graph.md5 @@ -1 +1 @@ -6aa4e88ecd3e95cdd753db2a6dffe59c \ No newline at end of file +294e39635514ac7ee87ad9b79e3c803e \ No newline at end of file diff --git a/da/d85/classdata__structures_1_1tree__234_1_1_tree234__coll__graph.svg b/da/d85/classdata__structures_1_1tree__234_1_1_tree234__coll__graph.svg index 0afcf7892..6d58a848a 100644 --- a/da/d85/classdata__structures_1_1tree__234_1_1_tree234__coll__graph.svg +++ b/da/d85/classdata__structures_1_1tree__234_1_1_tree234__coll__graph.svg @@ -4,8 +4,8 @@ - + @@ -17,7 +17,7 @@ ]]> - + data_structures::tree_234::Tree234 @@ -49,20 +49,20 @@ root_ - - -Node5 - + + +Node4 + std::array< data_structures ::tree_234::Node *, 4 > - - -Node2->Node5 - + + +Node2->Node4 + @@ -72,7 +72,7 @@ Node3 - + std::array< int64_t, 3 > @@ -88,29 +88,10 @@ items - - -Node4 - - -std::int64_t - - - - - -Node4->Node3 - - - - - - elements - - - -Node5->Node2 - + + +Node4->Node2 + diff --git a/da/d85/classdata__structures_1_1tree__234_1_1_tree234__coll__graph_org.svg b/da/d85/classdata__structures_1_1tree__234_1_1_tree234__coll__graph_org.svg index 7694d1e0d..ccf4753ee 100644 --- a/da/d85/classdata__structures_1_1tree__234_1_1_tree234__coll__graph_org.svg +++ b/da/d85/classdata__structures_1_1tree__234_1_1_tree234__coll__graph_org.svg @@ -4,9 +4,9 @@ - - + + data_structures::tree_234::Tree234 @@ -38,20 +38,20 @@ root_ - - -Node5 - + + +Node4 + std::array< data_structures ::tree_234::Node *, 4 > - - -Node2->Node5 - + + +Node2->Node4 + @@ -61,7 +61,7 @@ Node3 - + std::array< int64_t, 3 > @@ -77,29 +77,10 @@ items - - -Node4 - - -std::int64_t - - - - - -Node4->Node3 - - - - - - elements - - - -Node5->Node2 - + + +Node4->Node2 + diff --git a/da/d86/struct_test_case.html b/da/d86/struct_test_case.html index 64b81736c..6256bb5ce 100644 --- a/da/d86/struct_test_case.html +++ b/da/d86/struct_test_case.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: TestCase Struct Reference +TheAlgorithms/C++: TestCase Struct Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -117,28 +134,27 @@ $(function(){initNavTree('da/d86/struct_test_case.html','../../'); initResizable
    Collaboration diagram for TestCase:
    -
    +
    [legend]
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    - +

    Public Member Functions

     TestCase (std::string string_a, std::string string_b, const std::size_t in_common_string_len)
     TestCase (std::string string_a, std::string string_b, const std::size_t in_common_string_len)
     
    - + - + - +

    Public Attributes

    -const std::string string_a
    const std::string string_a
     
    -const std::string string_b
    const std::string string_b
     
    -const std::size_t common_string_len
    const std::size_t common_string_len
     

    Detailed Description

    represents single example inputs and expected output of the function longest_common_string_length

    + +

    Definition at line 54 of file longest_common_string.cpp.

    Constructor & Destructor Documentation

    ◆ TestCase()

    @@ -152,17 +168,17 @@ const TestCase::TestCase ( - std::string string_a, + std::string string_a, - std::string string_b, + std::string string_b, - const std::size_t in_common_string_len ) + const std::size_t in_common_string_len ) @@ -171,15 +187,65 @@ const -
    -
    62 string_b(std::move(string_b)),
    + +

    Definition at line 59 of file longest_common_string.cpp.

    +
    61 : string_a(std::move(string_a)),
    +
    62 string_b(std::move(string_b)),
    63 common_string_len(in_common_string_len) {}
    -
    T move(T... args)
    +
    +
    +

    Member Data Documentation

    + +

    ◆ common_string_len

    + +
    +
    + + + + +
    const std::size_t TestCase::common_string_len
    +
    + +

    Definition at line 57 of file longest_common_string.cpp.

    + +
    +
    + +

    ◆ string_a

    + +
    +
    + + + + +
    const std::string TestCase::string_a
    +
    + +

    Definition at line 55 of file longest_common_string.cpp.

    + +
    +
    + +

    ◆ string_b

    + +
    +
    + + + + +
    const std::string TestCase::string_b
    +
    + +

    Definition at line 56 of file longest_common_string.cpp.

    +

    The documentation for this struct was generated from the following file: diff --git a/da/d8d/depth__first__search_8cpp.html b/da/d8d/depth__first__search_8cpp.html index 8fba9e89f..98ca03fb4 100644 --- a/da/d8d/depth__first__search_8cpp.html +++ b/da/d8d/depth__first__search_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: graph/depth_first_search.cpp File Reference +TheAlgorithms/C++: graph/depth_first_search.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -121,7 +138,9 @@ Include dependency graph for depth_first_search.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -130,13 +149,13 @@ Namespaces

    Namespaces

    namespace  graph
    - + - + - + @@ -163,6 +182,8 @@ Functions

    While exploring vertex we mark the vertex as visited and start exploring the vertices connected to this vertex in recursive way.

    + +

    Definition in file depth_first_search.cpp.

    Function Documentation

    ◆ main()

    @@ -182,43 +203,33 @@ Functions

    creating graph

    taking input for edges

    running depth first search over graph

    + +

    Definition at line 109 of file depth_first_search.cpp.

    109 {
    110 size_t vertices = 0, edges = 0;
    -
    111 std::cout << "Enter the Vertices : ";
    -
    112 std::cin >> vertices;
    -
    113 std::cout << "Enter the Edges : ";
    -
    114 std::cin >> edges;
    -
    115
    -
    116 /// creating graph
    - -
    118
    -
    119 /// taking input for edges
    -
    120 std::cout << "Enter the vertices which have edges between them : "
    -
    121 << std::endl;
    +
    111 std::cout << "Enter the Vertices : ";
    +
    112 std::cin >> vertices;
    +
    113 std::cout << "Enter the Edges : ";
    +
    114 std::cin >> edges;
    +
    115
    +
    117 std::vector<std::vector<size_t>> adj(vertices, std::vector<size_t>());
    +
    118
    +
    120 std::cout << "Enter the vertices which have edges between them : "
    +
    121 << std::endl;
    122 while (edges--) {
    123 size_t u = 0, v = 0;
    -
    124 std::cin >> u >> v;
    +
    124 std::cin >> u >> v;
    125 graph::addEdge(&adj, u, v);
    126 }
    -
    127
    -
    128 /// running depth first search over graph
    - +
    127
    +
    130
    - +
    131 std::cout << std::endl;
    132 return 0;
    133}
    - - -
    T endl(T... args)
    -
    void addEdge(std::vector< std::vector< int > > *adj, int u, int v)
    Function that add edge between two nodes or vertices of graph.
    Definition connected_components.cpp:46
    -
    void depth_first_search(const std::vector< std::vector< size_t > > &adj, size_t start)
    initiates depth first search algorithm.
    Definition depth_first_search.cpp:99
    - -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    void addEdge(std::vector< std::vector< int > > *adj, int u, int v)
    Function that add edge between two nodes or vertices of graph.
    +
    void depth_first_search(const std::vector< std::vector< size_t > > &adj, size_t start)
    initiates depth first search algorithm.
    + diff --git a/da/d8d/depth__first__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/da/d8d/depth__first__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 7111b2a51..000000000 --- a/da/d8d/depth__first__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/da/d8d/depth__first__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/da/d8d/depth__first__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index 2420af21a..000000000 --- a/da/d8d/depth__first__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -0e7fe15bc79d406e69de6413255cad89 \ No newline at end of file diff --git a/da/d8d/depth__first__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/da/d8d/depth__first__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 2a070a166..000000000 --- a/da/d8d/depth__first__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -graph::addEdge - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node1->Node3 - - - - - - - - - - - - - diff --git a/da/d8d/depth__first__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/da/d8d/depth__first__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 2703ee19f..000000000 --- a/da/d8d/depth__first__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -graph::addEdge - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node1->Node3 - - - - - - - - diff --git a/da/d8d/depth__first__search_8cpp_source.html b/da/d8d/depth__first__search_8cpp_source.html new file mode 100644 index 000000000..efc4d9666 --- /dev/null +++ b/da/d8d/depth__first__search_8cpp_source.html @@ -0,0 +1,210 @@ + + + + + + + + +TheAlgorithms/C++: graph/depth_first_search.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    +

    Functions

    void graph::addEdge (std::vector< std::vector< size_t > > *adj, size_t u, size_t v)
    void graph::addEdge (std::vector< std::vector< size_t > > *adj, size_t u, size_t v)
     Adds and edge between two vertices of graph say u and v in this case.
     
    void graph::explore (const std::vector< std::vector< size_t > > &adj, size_t v, std::vector< bool > *visited)
    void graph::explore (const std::vector< std::vector< size_t > > &adj, size_t v, std::vector< bool > *visited)
     Explores the given vertex, exploring a vertex means traversing over all the vertices which are connected to the vertex that is currently being explored.
     
    void graph::depth_first_search (const std::vector< std::vector< size_t > > &adj, size_t start)
    void graph::depth_first_search (const std::vector< std::vector< size_t > > &adj, size_t start)
     initiates depth first search algorithm.
     
    int main ()
    + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + + +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    depth_first_search.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    35#include <algorithm>
    +
    36#include <iostream>
    +
    37#include <vector>
    +
    38
    +
    45namespace graph {
    +
    +
    56void addEdge(std::vector<std::vector<size_t>> *adj, size_t u, size_t v) {
    +
    57 /*
    +
    58 *
    +
    59 * Here we are considering undirected graph that's the
    +
    60 * reason we are adding v to the adjacency list representation of u
    +
    61 * and also adding u to the adjacency list representation of v
    +
    62 *
    +
    63 */
    +
    64 (*adj)[u - 1].push_back(v - 1);
    +
    65 (*adj)[v - 1].push_back(u - 1);
    +
    66}
    +
    +
    67
    +
    +
    80void explore(const std::vector<std::vector<size_t>> &adj, size_t v,
    +
    81 std::vector<bool> *visited) {
    +
    82 std::cout << v + 1 << " ";
    +
    83 (*visited)[v] = true;
    +
    84 for (auto x : adj[v]) {
    +
    85 if (!(*visited)[x]) {
    +
    86 explore(adj, x, visited);
    +
    87 }
    +
    88 }
    +
    89}
    +
    +
    90
    +
    +
    99void depth_first_search(const std::vector<std::vector<size_t>> &adj,
    +
    100 size_t start) {
    +
    101 size_t vertices = adj.size();
    +
    102
    +
    103 std::vector<bool> visited(vertices, false);
    +
    104 explore(adj, start, &visited);
    +
    105}
    +
    +
    106} // namespace graph
    +
    107
    +
    +
    109int main() {
    +
    110 size_t vertices = 0, edges = 0;
    +
    111 std::cout << "Enter the Vertices : ";
    +
    112 std::cin >> vertices;
    +
    113 std::cout << "Enter the Edges : ";
    +
    114 std::cin >> edges;
    +
    115
    +
    117 std::vector<std::vector<size_t>> adj(vertices, std::vector<size_t>());
    +
    118
    +
    120 std::cout << "Enter the vertices which have edges between them : "
    +
    121 << std::endl;
    +
    122 while (edges--) {
    +
    123 size_t u = 0, v = 0;
    +
    124 std::cin >> u >> v;
    +
    125 graph::addEdge(&adj, u, v);
    +
    126 }
    +
    127
    +
    129 graph::depth_first_search(adj, 2);
    +
    130
    +
    131 std::cout << std::endl;
    +
    132 return 0;
    +
    133}
    +
    +
    int main()
    +
    Functions for Depth First Search algorithm.
    +
    Graph Algorithms.
    +
    void explore(const std::vector< std::vector< int > > *adj, int u, std::vector< bool > *visited)
    Utility function for depth first seach algorithm this function explores the vertex which is passed in...
    +
    void addEdge(std::vector< std::vector< int > > *adj, int u, int v)
    Function that add edge between two nodes or vertices of graph.
    +
    +
    + + + + diff --git a/da/d94/classmachine__learning_1_1k__nearest__neighbors_1_1_knn.html b/da/d94/classmachine__learning_1_1k__nearest__neighbors_1_1_knn.html index 2e6c99cf4..250fed87e 100644 --- a/da/d94/classmachine__learning_1_1k__nearest__neighbors_1_1_knn.html +++ b/da/d94/classmachine__learning_1_1k__nearest__neighbors_1_1_knn.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: machine_learning::k_nearest_neighbors::Knn Class Reference +TheAlgorithms/C++: machine_learning::k_nearest_neighbors::Knn Class Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -122,7 +139,7 @@ Collaboration diagram for machine_learning::k_nearest_neighbors::Knn:
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    - + @@ -137,21 +154,23 @@ Public Member Functions   - +

    Public Member Functions

     Knn (std::vector< std::vector< double > > &X, std::vector< int > &Y)
     Knn (std::vector< std::vector< double > > &X, std::vector< int > &Y)
     Construct a new Knn object.
     
     Knn (const Knn &model)=default
    ~Knn ()=default
     Destroy the Knn object.
     
    int predict (std::vector< double > &sample, int k)
    int predict (std::vector< double > &sample, int k)
     Classify sample.
     
    - + - +

    Private Attributes

    std::vector< std::vector< double > > X_ {}
    std::vector< std::vector< double > > X_ {}
     attributes vector
     
    std::vector< int > Y_ {}
    std::vector< int > Y_ {}
     labels vector
     

    Detailed Description

    K-Nearest Neighbors (Knn) class using Euclidean distance as distance metric.

    + +

    Definition at line 55 of file k_nearest_neighbors.cpp.

    Constructor & Destructor Documentation

    ◆ Knn() [1/3]

    @@ -165,12 +184,12 @@ Private Attributes machine_learning::k_nearest_neighbors::Knn::Knn ( - std::vector< std::vector< double > > & X, + std::vector< std::vector< double > > & X, - std::vector< int > & Y ) + std::vector< int > & Y ) @@ -188,9 +207,11 @@ Private Attributes + +

    Definition at line 67 of file k_nearest_neighbors.cpp.

    68 : X_(X), Y_(Y){};
    -
    std::vector< std::vector< double > > X_
    attributes vector
    Definition k_nearest_neighbors.cpp:57
    -
    std::vector< int > Y_
    labels vector
    Definition k_nearest_neighbors.cpp:58
    +
    std::vector< std::vector< double > > X_
    attributes vector
    +
    @@ -317,7 +338,7 @@ Private Attributes int machine_learning::k_nearest_neighbors::Knn::predict ( - std::vector< double > & sample, + std::vector< double > & sample, @@ -341,25 +362,27 @@ Private Attributes
    Returns
    int label of most frequent neighbors
    + +

    Definition at line 103 of file k_nearest_neighbors.cpp.

    103 {
    -
    104 std::vector<int> neighbors;
    - -
    106 for (size_t i = 0; i < this->X_.size(); ++i) {
    -
    107 auto current = this->X_.at(i);
    -
    108 auto label = this->Y_.at(i);
    -
    109 auto distance = euclidean_distance(current, sample);
    -
    110 distances.emplace_back(distance, label);
    +
    104 std::vector<int> neighbors;
    +
    105 std::vector<std::pair<double, int>> distances;
    +
    106 for (size_t i = 0; i < this->X_.size(); ++i) {
    +
    107 auto current = this->X_.at(i);
    +
    108 auto label = this->Y_.at(i);
    +
    109 auto distance = euclidean_distance(current, sample);
    +
    110 distances.emplace_back(distance, label);
    111 }
    -
    112 std::sort(distances.begin(), distances.end());
    +
    112 std::sort(distances.begin(), distances.end());
    113 for (int i = 0; i < k; i++) {
    -
    114 auto label = distances.at(i).second;
    -
    115 neighbors.push_back(label);
    +
    114 auto label = distances.at(i).second;
    +
    115 neighbors.push_back(label);
    116 }
    - +
    117 std::unordered_map<int, int> frequency;
    118 for (auto neighbor : neighbors) {
    119 ++frequency[neighbor];
    120 }
    -
    121 std::pair<int, int> predicted;
    +
    121 std::pair<int, int> predicted;
    122 predicted.first = -1;
    123 predicted.second = -1;
    124 for (auto& kv : frequency) {
    @@ -370,25 +393,9 @@ Private Attributes
    129 }
    130 return predicted.first;
    131 }
    -
    T at(T... args)
    -
    T begin(T... args)
    -
    double k(double x)
    Another test function.
    Definition composite_simpson_rule.cpp:117
    -
    T distance(T... args)
    -
    T emplace_back(T... args)
    -
    T end(T... args)
    -
    double euclidean_distance(const std::vector< T > &a, const std::vector< T > &b)
    Compute the Euclidean distance between two vectors.
    Definition k_nearest_neighbors.cpp:43
    - -
    T push_back(T... args)
    -
    T size(T... args)
    -
    T sort(T... args)
    - - -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    double k(double x)
    Another test function.
    +
    double euclidean_distance(const std::vector< T > &a, const std::vector< T > &b)
    Compute the Euclidean distance between two vectors.
    +

    Member Data Documentation

    @@ -402,7 +409,7 @@ Here is the call graph for this function: - +
    std::vector<std::vector<double> > machine_learning::k_nearest_neighbors::Knn::X_ {}std::vector<std::vector<double> > machine_learning::k_nearest_neighbors::Knn::X_ {}
    @@ -413,7 +420,9 @@ Here is the call graph for this function:

    attributes vector

    -
    57{}; ///< attributes vector
    + +

    Definition at line 57 of file k_nearest_neighbors.cpp.

    +
    57{};
    @@ -427,7 +436,7 @@ Here is the call graph for this function: - +
    std::vector<int> machine_learning::k_nearest_neighbors::Knn::Y_ {}std::vector<int> machine_learning::k_nearest_neighbors::Knn::Y_ {}
    @@ -438,12 +447,14 @@ Here is the call graph for this function:

    labels vector

    -
    58{}; ///< labels vector
    + +

    Definition at line 58 of file k_nearest_neighbors.cpp.

    +
    58{};

    The documentation for this class was generated from the following file: diff --git a/da/d94/classmachine__learning_1_1k__nearest__neighbors_1_1_knn_a62e152db014cd4de675fa906e5ef2861_cgraph.map b/da/d94/classmachine__learning_1_1k__nearest__neighbors_1_1_knn_a62e152db014cd4de675fa906e5ef2861_cgraph.map deleted file mode 100644 index 2a907e1bc..000000000 --- a/da/d94/classmachine__learning_1_1k__nearest__neighbors_1_1_knn_a62e152db014cd4de675fa906e5ef2861_cgraph.map +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/da/d94/classmachine__learning_1_1k__nearest__neighbors_1_1_knn_a62e152db014cd4de675fa906e5ef2861_cgraph.md5 b/da/d94/classmachine__learning_1_1k__nearest__neighbors_1_1_knn_a62e152db014cd4de675fa906e5ef2861_cgraph.md5 deleted file mode 100644 index 86133a5f5..000000000 --- a/da/d94/classmachine__learning_1_1k__nearest__neighbors_1_1_knn_a62e152db014cd4de675fa906e5ef2861_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -20827012b237e163d463f2ea102bfeda \ No newline at end of file diff --git a/da/d94/classmachine__learning_1_1k__nearest__neighbors_1_1_knn_a62e152db014cd4de675fa906e5ef2861_cgraph.svg b/da/d94/classmachine__learning_1_1k__nearest__neighbors_1_1_knn_a62e152db014cd4de675fa906e5ef2861_cgraph.svg deleted file mode 100644 index dd09e0ba9..000000000 --- a/da/d94/classmachine__learning_1_1k__nearest__neighbors_1_1_knn_a62e152db014cd4de675fa906e5ef2861_cgraph.svg +++ /dev/null @@ -1,313 +0,0 @@ - - - - - - - - - - - - -machine_learning::k_nearest_neighbors::Knn::predict - - -Node1 - - -machine_learning::k -_nearest_neighbors:: -Knn::predict - - - - - -Node2 - - -std::vector::at - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::vector::begin - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::vector::emplace_back - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::vector::end - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -machine_learning::k -_nearest_neighbors:: -euclidean_distance - - - - - -Node1->Node6 - - - - - - - - -Node12 - - -std::vector::push_back - - - - - -Node1->Node12 - - - - - - - - -Node13 - - -std::vector::size - - - - - -Node1->Node13 - - - - - - - - -Node14 - - -std::sort - - - - - -Node1->Node14 - - - - - - - - -Node6->Node3 - - - - - - - - -Node6->Node5 - - - - - - - - -Node6->Node6 - - - - - - - - -Node7 - - -std::accumulate - - - - - -Node6->Node7 - - - - - - - - -Node8 - - -std::back_inserter - - - - - -Node6->Node8 - - - - - - - - -Node9 - - -std::vector::shrink -_to_fit - - - - - -Node6->Node9 - - - - - - - - -Node10 - - -std::sqrt - - - - - -Node6->Node10 - - - - - - - - -Node11 - - -std::transform - - - - - -Node6->Node11 - - - - - - - - - - - - - diff --git a/da/d94/classmachine__learning_1_1k__nearest__neighbors_1_1_knn_a62e152db014cd4de675fa906e5ef2861_cgraph_org.svg b/da/d94/classmachine__learning_1_1k__nearest__neighbors_1_1_knn_a62e152db014cd4de675fa906e5ef2861_cgraph_org.svg deleted file mode 100644 index 66373cce4..000000000 --- a/da/d94/classmachine__learning_1_1k__nearest__neighbors_1_1_knn_a62e152db014cd4de675fa906e5ef2861_cgraph_org.svg +++ /dev/null @@ -1,287 +0,0 @@ - - - - - - -machine_learning::k_nearest_neighbors::Knn::predict - - -Node1 - - -machine_learning::k -_nearest_neighbors:: -Knn::predict - - - - - -Node2 - - -std::vector::at - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::vector::begin - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::vector::emplace_back - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::vector::end - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -machine_learning::k -_nearest_neighbors:: -euclidean_distance - - - - - -Node1->Node6 - - - - - - - - -Node12 - - -std::vector::push_back - - - - - -Node1->Node12 - - - - - - - - -Node13 - - -std::vector::size - - - - - -Node1->Node13 - - - - - - - - -Node14 - - -std::sort - - - - - -Node1->Node14 - - - - - - - - -Node6->Node3 - - - - - - - - -Node6->Node5 - - - - - - - - -Node6->Node6 - - - - - - - - -Node7 - - -std::accumulate - - - - - -Node6->Node7 - - - - - - - - -Node8 - - -std::back_inserter - - - - - -Node6->Node8 - - - - - - - - -Node9 - - -std::vector::shrink -_to_fit - - - - - -Node6->Node9 - - - - - - - - -Node10 - - -std::sqrt - - - - - -Node6->Node10 - - - - - - - - -Node11 - - -std::transform - - - - - -Node6->Node11 - - - - - - - - diff --git a/da/d9a/class_graph.html b/da/d9a/class_graph.html index 928d7d046..fe63a0ecc 100644 --- a/da/d9a/class_graph.html +++ b/da/d9a/class_graph.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Graph Class Reference +TheAlgorithms/C++: Graph Class Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -141,13 +158,13 @@ Public Member Functions - + - + - + - + @@ -166,17 +183,13 @@ Public Member Functions
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    Graphoperator= (Graph const &)=default
     
     Graph (unsigned int vertices, AdjList adjList)
     Graph (unsigned int vertices, AdjList adjList)
     
     Graph (unsigned int vertices, AdjList &&adjList)
     Graph (unsigned int vertices, AdjList &&adjList)
     
     Graph (unsigned int vertices, std::vector< Edge > const &edges)
     Graph (unsigned int vertices, std::vector< Edge > const &edges)
     
    std::remove_reference< AdjList >::type const & getAdjList () const
    std::remove_reference< AdjList >::type const & getAdjList () const
     
    unsigned int getVertices () const
     
    - + - + - + - +

    Public Attributes

    -int vertexNum
    int vertexNum
     
    -int edgeNum
    int edgeNum
     
    -std::vector< Edgeedges
    std::vector< Edgeedges
     
    -int ** edges
    int ** edges
     

    @@ -186,46 +199,36 @@ Private Member Functions

    - + - + - + - + - + - + - + - + - + - + - + - +

    Private Attributes

    -unsigned int m_vertices = 0
    unsigned int m_vertices = 0
     
    -AdjList m_adjList
    AdjList m_adjList
     
    -std::vector< std::vector< int > > residual_capacity
    std::vector< std::vector< int > > residual_capacity
     
    -std::vector< std::vector< int > > capacity
    std::vector< std::vector< int > > capacity
     
    -int total_nodes = 0
    int total_nodes = 0
     
    -int total_edges = 0
    int total_edges = 0
     
    -int source = 0
    int source = 0
     
    -int sink = 0
    int sink = 0
     
    -std::vector< int > parent
    std::vector< int > parent
     
    -std::vector< std::tuple< int, int, int > > edge_participated
    std::vector< std::tuple< int, int, int > > edge_participated
     
    -std::bitset< MAXN > visited
    std::bitset< MAXN > visited
     
    -int max_flow = 0
    int max_flow = 0
     

    Detailed Description

    Implementation of graph class.

    The graph will be represented using Adjacency List representation. This class contains 2 data members "m_vertices" & "m_adjList" used to represent the number of vertices and adjacency list of the graph respectively. The vertices are labelled 0 - (m_vertices - 1).

    + +

    Definition at line 14 of file bellman_ford.cpp.

    Constructor & Destructor Documentation

    ◆ Graph() [1/6]

    @@ -253,12 +256,13 @@ int max_flow = 0<
    + +

    Definition at line 20 of file bellman_ford.cpp.

    20 {
    21 this->vertexNum = V;
    22 this->edgeNum = E;
    -
    23 this->edges.reserve(E);
    +
    23 this->edges.reserve(E);
    24 }
    -
    T reserve(T... args)
    @@ -284,6 +288,8 @@ int max_flow = 0<
    + +

    Definition at line 17 of file floyd_warshall.cpp.

    17 {
    18 this->vertexNum = V;
    19 this->edges = new int *[V];
    @@ -318,6 +324,8 @@ int max_flow = 0<
    + +

    Definition at line 27 of file floyd_warshall.cpp.

    27 {
    28 for (int i = 0; i < vertexNum; i++) {
    29 delete[] edges[i];
    @@ -349,6 +357,8 @@ int max_flow = 0<
    + +

    Definition at line 57 of file cycle_check_directed_graph.cpp.

    57: m_adjList({}) {}
    @@ -370,7 +380,7 @@ int max_flow = 0< - AdjList adjList ) + AdjList adjList ) @@ -387,8 +397,9 @@ int max_flow = 0< -
    70 : m_vertices(vertices), m_adjList(std::move(adjList)) {}
    -
    T move(T... args)
    + +

    Definition at line 69 of file cycle_check_directed_graph.cpp.

    +
    70 : m_vertices(vertices), m_adjList(std::move(adjList)) {}
    @@ -409,7 +420,7 @@ int max_flow = 0< - AdjList && adjList ) + AdjList && adjList ) @@ -426,7 +437,9 @@ int max_flow = 0< -
    78 : m_vertices(vertices), m_adjList(std::move(adjList)) {}
    + +

    Definition at line 77 of file cycle_check_directed_graph.cpp.

    +
    78 : m_vertices(vertices), m_adjList(std::move(adjList)) {}
    @@ -447,7 +460,7 @@ int max_flow = 0< - std::vector< Edge > const & edges ) + std::vector< Edge > const & edges ) @@ -465,16 +478,17 @@ int max_flow = 0< + +

    Definition at line 89 of file cycle_check_directed_graph.cpp.

    90 : m_vertices(vertices) {
    91 for (auto const& edge : edges) {
    92 if (edge.src >= vertices || edge.dest >= vertices) {
    -
    93 throw std::range_error(
    +
    93 throw std::range_error(
    94 "Either src or dest of edge out of range");
    95 }
    96 m_adjList[edge.src].emplace_back(edge.dest);
    97 }
    98 }
    -
    @@ -508,9 +522,11 @@ int max_flow = 0< + +

    Definition at line 125 of file cycle_check_directed_graph.cpp.

    125 {
    126 if (edge.src >= m_vertices || edge.dest >= m_vertices) {
    -
    127 throw std::range_error("Either src or dest of edge out of range");
    +
    127 throw std::range_error("Either src or dest of edge out of range");
    128 }
    129 m_adjList[edge.src].emplace_back(edge.dest);
    130 }
    @@ -548,6 +564,8 @@ int max_flow = 0<
    + +

    Definition at line 27 of file bellman_ford.cpp.

    27 {
    28 static int edgeInd = 0;
    29 if (edgeInd < this->edgeNum) {
    @@ -558,7 +576,7 @@ int max_flow = 0<
    34 this->edges[edgeInd++] = newEdge;
    35 }
    36 }
    -
    Definition bellman_ford.cpp:8
    +
    @@ -593,6 +611,8 @@ int max_flow = 0<
    + +

    Definition at line 35 of file floyd_warshall.cpp.

    35 {
    36 this->edges[src][dst] = weight;
    37 }
    @@ -633,9 +653,11 @@ int max_flow = 0< + +

    Definition at line 137 of file cycle_check_directed_graph.cpp.

    137 {
    138 if (source >= m_vertices || destination >= m_vertices) {
    -
    139 throw std::range_error(
    +
    139 throw std::range_error(
    140 "Either source or destination of edge out of range");
    141 }
    142 m_adjList[source].emplace_back(destination);
    @@ -672,6 +694,8 @@ int max_flow = 0< + +

    Definition at line 119 of file cycle_check_directed_graph.cpp.

    119{ m_vertices += num; }
    @@ -702,18 +726,20 @@ int max_flow = 0<
    + +

    Definition at line 26 of file max_flow_with_ford_fulkerson_and_edmond_karp_algo.cpp.

    26 { // to find the augmented - path
    -
    27 visited.reset();
    - +
    27 visited.reset();
    +
    28 std::queue<int> q;
    29 q.push(source);
    30 bool is_path_found = false;
    31 while (q.empty() == false && is_path_found == false) {
    32 int current_node = q.front();
    -
    33 visited.set(current_node);
    +
    33 visited.set(current_node);
    34 q.pop();
    35 for (int i = 0; i < total_nodes; ++i) {
    36 if (residual_capacity[current_node][i] > 0 && !visited[i]) {
    -
    37 visited.set(i);
    +
    37 visited.set(i);
    38 parent[i] = current_node;
    39 if (i == sink) {
    40 return true;
    @@ -724,9 +750,6 @@ int max_flow = 0<
    45 }
    46 return false;
    47 }
    - -
    T reset(T... args)
    -
    T set(T... args)
    @@ -752,13 +775,15 @@ int max_flow = 0<
    + +

    Definition at line 62 of file max_flow_with_ford_fulkerson_and_edmond_karp_algo.cpp.

    62 {
    63 while (bfs(source, sink)) {
    64 int current_node = sink;
    - +
    65 int flow = std::numeric_limits<int>::max();
    66 while (current_node != source) {
    67 int parent_ = parent[current_node];
    -
    68 flow = std::min(flow, residual_capacity[parent_][current_node]);
    +
    68 flow = std::min(flow, residual_capacity[parent_][current_node]);
    69 current_node = parent_;
    70 }
    71 current_node = sink;
    @@ -771,8 +796,6 @@ int max_flow = 0<
    78 }
    79 }
    80 }
    -
    T max(T... args)
    -
    T min(T... args)
    @@ -786,7 +809,7 @@ int max_flow = 0< - + @@ -800,6 +823,8 @@ int <

    Return a const reference of the adjacency list.

    Returns
    const reference to the adjacency list
    + +

    Definition at line 104 of file cycle_check_directed_graph.cpp.

    104 {
    105 return m_adjList;
    106 }
    @@ -829,6 +854,8 @@ int 
    <
    std::remove_reference< AdjList >::type const & Graph::getAdjList std::remove_reference< AdjList >::type const & Graph::getAdjList ( ) constmax_flow = 0max_flow = 0
    Returns
    number of vertices in the graph.
    + +

    Definition at line 111 of file cycle_check_directed_graph.cpp.

    111{ return m_vertices; }
    @@ -855,32 +882,29 @@ int max_flow = 0<
    + +

    Definition at line 81 of file max_flow_with_ford_fulkerson_and_edmond_karp_algo.cpp.

    81 {
    82 for (int i = 0; i < total_nodes; ++i) {
    83 for (int j = 0; j < total_nodes; ++j) {
    84 if (capacity[i][j] &&
    85 residual_capacity[i][j] < capacity[i][j]) {
    -
    86 edge_participated.emplace_back(std::make_tuple(
    +
    86 edge_participated.emplace_back(std::make_tuple(
    87 i, j, capacity[i][j] - residual_capacity[i][j]));
    88 }
    89 }
    90 }
    -
    91 std::cout << "\nNodes : " << total_nodes << "\nMax flow: " << max_flow
    -
    92 << "\nEdge present in flow: " << edge_participated.size()
    +
    91 std::cout << "\nNodes : " << total_nodes << "\nMax flow: " << max_flow
    +
    92 << "\nEdge present in flow: " << edge_participated.size()
    93 << '\n';
    -
    94 std::cout << "\nSource\tDestination\tCapacity\total_nodes";
    +
    94 std::cout << "\nSource\tDestination\tCapacity\total_nodes";
    95 for (auto& edge_data : edge_participated) {
    96 int source = 0, destination = 0, capacity_ = 0;
    -
    97 std::tie(source, destination, capacity_) = edge_data;
    -
    98 std::cout << source << "\t" << destination << "\t\t" << capacity_
    +
    97 std::tie(source, destination, capacity_) = edge_data;
    +
    98 std::cout << source << "\t" << destination << "\t\t" << capacity_
    99 << '\t';
    100 }
    101 }
    - -
    T emplace_back(T... args)
    -
    T make_tuple(T... args)
    -
    T size(T... args)
    -
    T tie(T... args)
    @@ -906,28 +930,381 @@ int max_flow = 0<
    + +

    Definition at line 50 of file max_flow_with_ford_fulkerson_and_edmond_karp_algo.cpp.

    50 {
    -
    51 std::cin >> total_nodes >> total_edges >> source >> sink;
    -
    52 parent = std::vector<int>(total_nodes, -1);
    -
    53 capacity = residual_capacity = std::vector<std::vector<int> >(
    -
    54 total_nodes, std::vector<int>(total_nodes));
    +
    51 std::cin >> total_nodes >> total_edges >> source >> sink;
    +
    52 parent = std::vector<int>(total_nodes, -1);
    +
    53 capacity = residual_capacity = std::vector<std::vector<int> >(
    +
    54 total_nodes, std::vector<int>(total_nodes));
    55 for (int start = 0, destination = 0, capacity_ = 0, i = 0;
    56 i < total_edges; ++i) {
    -
    57 std::cin >> start >> destination >> capacity_;
    +
    57 std::cin >> start >> destination >> capacity_;
    58 residual_capacity[start][destination] = capacity_;
    59 capacity[start][destination] = capacity_;
    60 }
    61 }
    - -
    +
    + +

    Member Data Documentation

    + +

    ◆ capacity

    + +
    +
    + + + + + +
    + + + + +
    std::vector<std::vector<int> > Graph::capacity
    +
    +private
    +
    + +

    Definition at line 19 of file max_flow_with_ford_fulkerson_and_edmond_karp_algo.cpp.

    + +
    +
    + +

    ◆ edge_participated

    + +
    +
    + + + + + +
    + + + + +
    std::vector<std::tuple<int, int, int> > Graph::edge_participated
    +
    +private
    +
    + +

    Definition at line 23 of file max_flow_with_ford_fulkerson_and_edmond_karp_algo.cpp.

    + +
    +
    + +

    ◆ edgeNum

    + +
    +
    + + + + +
    int Graph::edgeNum
    +
    + +

    Definition at line 16 of file bellman_ford.cpp.

    + +
    +
    + +

    ◆ edges [1/2]

    + +
    +
    + + + + +
    std::vector<Edge> Graph::edges
    +
    + +

    Definition at line 17 of file bellman_ford.cpp.

    + +
    +
    + +

    ◆ edges [2/2]

    + +
    +
    + + + + +
    int** Graph::edges
    +
    + +

    Definition at line 14 of file floyd_warshall.cpp.

    + +
    +
    + +

    ◆ m_adjList

    + +
    +
    + + + + + +
    + + + + +
    AdjList Graph::m_adjList
    +
    +private
    +
    + +

    Definition at line 147 of file cycle_check_directed_graph.cpp.

    + +
    +
    + +

    ◆ m_vertices

    + +
    +
    + + + + + +
    + + + + +
    unsigned int Graph::m_vertices = 0
    +
    +private
    +
    + +

    Definition at line 146 of file cycle_check_directed_graph.cpp.

    + +
    +
    + +

    ◆ max_flow

    + +
    +
    + + + + + +
    + + + + +
    int Graph::max_flow = 0
    +
    +private
    +
    + +

    Definition at line 25 of file max_flow_with_ford_fulkerson_and_edmond_karp_algo.cpp.

    + +
    +
    + +

    ◆ parent

    + +
    +
    + + + + + +
    + + + + +
    std::vector<int> Graph::parent
    +
    +private
    +
    + +

    Definition at line 22 of file max_flow_with_ford_fulkerson_and_edmond_karp_algo.cpp.

    + +
    +
    + +

    ◆ residual_capacity

    + +
    +
    + + + + + +
    + + + + +
    std::vector<std::vector<int> > Graph::residual_capacity
    +
    +private
    +
    + +

    Definition at line 19 of file max_flow_with_ford_fulkerson_and_edmond_karp_algo.cpp.

    + +
    +
    + +

    ◆ sink

    + +
    +
    + + + + + +
    + + + + +
    int Graph::sink = 0
    +
    +private
    +
    + +

    Definition at line 21 of file max_flow_with_ford_fulkerson_and_edmond_karp_algo.cpp.

    + +
    +
    + +

    ◆ source

    + +
    +
    + + + + + +
    + + + + +
    int Graph::source = 0
    +
    +private
    +
    + +

    Definition at line 21 of file max_flow_with_ford_fulkerson_and_edmond_karp_algo.cpp.

    + +
    +
    + +

    ◆ total_edges

    + +
    +
    + + + + + +
    + + + + +
    int Graph::total_edges = 0
    +
    +private
    +
    + +

    Definition at line 21 of file max_flow_with_ford_fulkerson_and_edmond_karp_algo.cpp.

    + +
    +
    + +

    ◆ total_nodes

    + +
    +
    + + + + + +
    + + + + +
    int Graph::total_nodes = 0
    +
    +private
    +
    + +

    Definition at line 20 of file max_flow_with_ford_fulkerson_and_edmond_karp_algo.cpp.

    + +
    +
    + +

    ◆ vertexNum

    + +
    +
    + + + + +
    int Graph::vertexNum
    +
    + +

    Definition at line 16 of file bellman_ford.cpp.

    + +
    +
    + +

    ◆ visited

    + +
    +
    + + + + + +
    + + + + +
    std::bitset<MAXN> Graph::visited
    +
    +private
    +

    The documentation for this class was generated from the following files: diff --git a/da/d9a/palindrome__of__number_8cpp.html b/da/d9a/palindrome__of__number_8cpp.html index 85860e5c1..fcff7acbd 100644 --- a/da/d9a/palindrome__of__number_8cpp.html +++ b/da/d9a/palindrome__of__number_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: others/palindrome_of_number.cpp File Reference +TheAlgorithms/C++: others/palindrome_of_number.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -120,7 +137,9 @@ Include dependency graph for palindrome_of_number.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -128,7 +147,9 @@ Functions

    Functions

    int main ()

    Detailed Description

    Check if a number is palindrome or not.

    -

    This program cheats by using the STL library's std::reverse function.

    +

    This program cheats by using the STL library's std::reverse function.

    + +

    Definition in file palindrome_of_number.cpp.

    Function Documentation

    ◆ main()

    @@ -145,36 +166,26 @@ Functions

    Main function

    + +

    Definition at line 19 of file palindrome_of_number.cpp.

    19 {
    20 int num;
    -
    21 std::cout << "Enter number = ";
    -
    22 std::cin >> num;
    +
    21 std::cout << "Enter number = ";
    +
    22 std::cin >> num;
    23
    -
    24 std::string s1 = std::to_string(num); // convert number to string
    -
    25 std::string s2 = s1;
    +
    24 std::string s1 = std::to_string(num); // convert number to string
    +
    25 std::string s2 = s1;
    26
    -
    27 std::reverse(s1.begin(), s1.end()); // reverse the string
    +
    27 std::reverse(s1.begin(), s1.end()); // reverse the string
    28
    29 if (s1 == s2) // check if reverse and original string are identical
    -
    30 std::cout << "true";
    +
    30 std::cout << "true";
    31 else
    -
    32 std::cout << "false";
    +
    32 std::cout << "false";
    33
    34 return 0;
    35}
    - - - -
    T begin(T... args)
    -
    T end(T... args)
    -
    T reverse(T... args)
    -
    T to_string(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    diff --git a/da/d9a/palindrome__of__number_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/da/d9a/palindrome__of__number_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 709731982..000000000 --- a/da/d9a/palindrome__of__number_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/da/d9a/palindrome__of__number_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/da/d9a/palindrome__of__number_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index 0c77e9a30..000000000 --- a/da/d9a/palindrome__of__number_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -8b3ffd359f6b81b12f68efabfaba789a \ No newline at end of file diff --git a/da/d9a/palindrome__of__number_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/da/d9a/palindrome__of__number_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 146337fbf..000000000 --- a/da/d9a/palindrome__of__number_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,119 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -std::string::begin - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::string::end - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::reverse - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::to_string - - - - - -Node1->Node5 - - - - - - - - - - - - - diff --git a/da/d9a/palindrome__of__number_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/da/d9a/palindrome__of__number_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 1cff1499a..000000000 --- a/da/d9a/palindrome__of__number_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,93 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -std::string::begin - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::string::end - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::reverse - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::to_string - - - - - -Node1->Node5 - - - - - - - - diff --git a/da/d9a/palindrome__of__number_8cpp_source.html b/da/d9a/palindrome__of__number_8cpp_source.html new file mode 100644 index 000000000..6cee17be6 --- /dev/null +++ b/da/d9a/palindrome__of__number_8cpp_source.html @@ -0,0 +1,168 @@ + + + + + + + + +TheAlgorithms/C++: others/palindrome_of_number.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    palindrome_of_number.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    8#include <algorithm>
    +
    9#include <iostream>
    +
    10
    +
    11#ifdef _MSC_VER
    +
    12// Required to compile std::toString function using MSVC
    +
    13#include <string>
    +
    14#else
    +
    15#include <cstring>
    +
    16#endif
    +
    17
    +
    +
    19int main() {
    +
    20 int num;
    +
    21 std::cout << "Enter number = ";
    +
    22 std::cin >> num;
    +
    23
    +
    24 std::string s1 = std::to_string(num); // convert number to string
    +
    25 std::string s2 = s1;
    +
    26
    +
    27 std::reverse(s1.begin(), s1.end()); // reverse the string
    +
    28
    +
    29 if (s1 == s2) // check if reverse and original string are identical
    +
    30 std::cout << "true";
    +
    31 else
    +
    32 std::cout << "false";
    +
    33
    +
    34 return 0;
    +
    35}
    +
    +
    int main()
    +
    +
    + + + + diff --git a/da/d9c/namespacegames.html b/da/d9c/namespacegames.html index 02cc8d4af..27b29c779 100644 --- a/da/d9c/namespacegames.html +++ b/da/d9c/namespacegames.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: games Namespace Reference +TheAlgorithms/C++: games Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/da/da2/node_8hpp__dep__incl.map b/da/da2/node_8hpp__dep__incl.map index abe573173..4d56083f4 100644 --- a/da/da2/node_8hpp__dep__incl.map +++ b/da/da2/node_8hpp__dep__incl.map @@ -2,6 +2,12 @@ - - + + + + + + + + diff --git a/da/da2/node_8hpp__dep__incl.md5 b/da/da2/node_8hpp__dep__incl.md5 index 58897071a..661f618c3 100644 --- a/da/da2/node_8hpp__dep__incl.md5 +++ b/da/da2/node_8hpp__dep__incl.md5 @@ -1 +1 @@ -79e3f55fe94bb7ad05ca1e929505dbca \ No newline at end of file +9b10195edfcc8863bd26549b2ef7edbe \ No newline at end of file diff --git a/da/da2/node_8hpp__dep__incl.svg b/da/da2/node_8hpp__dep__incl.svg index 756f18d19..5ae3f5b0d 100644 --- a/da/da2/node_8hpp__dep__incl.svg +++ b/da/da2/node_8hpp__dep__incl.svg @@ -4,8 +4,8 @@ - + @@ -17,14 +17,14 @@ ]]> - + data_structures/node.hpp Node1 - -data_structures/node.hpp + +data_structures/node.hpp @@ -32,8 +32,8 @@ Node2 - -data_structures/queue.hpp + +data_structures/queue.hpp @@ -41,26 +41,83 @@ Node1->Node2 - - + + + + + + + +Node4 + + +data_structures/stack.hpp + + + + + +Node1->Node4 + + + Node3 - - -data_structures/stack.hpp + + +data_structures/test +_queue.cpp - - -Node1->Node3 - - - + + +Node2->Node3 + + + + + + + + +Node5 + + +data_structures/test +_stack.cpp + + + + + +Node4->Node5 + + + + + + + + +Node6 + + +data_structures/test +_stack_students.cpp + + + + + +Node4->Node6 + + + diff --git a/da/da2/node_8hpp__dep__incl_org.svg b/da/da2/node_8hpp__dep__incl_org.svg index fa9779e6c..46ec185d5 100644 --- a/da/da2/node_8hpp__dep__incl_org.svg +++ b/da/da2/node_8hpp__dep__incl_org.svg @@ -4,16 +4,16 @@ - - + + data_structures/node.hpp Node1 - -data_structures/node.hpp + +data_structures/node.hpp @@ -21,8 +21,8 @@ Node2 - -data_structures/queue.hpp + +data_structures/queue.hpp @@ -30,26 +30,83 @@ Node1->Node2 - - + + + + + + + +Node4 + + +data_structures/stack.hpp + + + + + +Node1->Node4 + + + Node3 - - -data_structures/stack.hpp + + +data_structures/test +_queue.cpp - - -Node1->Node3 - - - + + +Node2->Node3 + + + + + + + + +Node5 + + +data_structures/test +_stack.cpp + + + + + +Node4->Node5 + + + + + + + + +Node6 + + +data_structures/test +_stack_students.cpp + + + + + +Node4->Node6 + + + diff --git a/da/da3/uint256__t_8hpp.html b/da/da3/uint256__t_8hpp.html index 21f23f8bc..555f2b6d0 100644 --- a/da/da3/uint256__t_8hpp.html +++ b/da/da3/uint256__t_8hpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: ciphers/uint256_t.hpp File Reference +TheAlgorithms/C++: ciphers/uint256_t.hpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + @@ -142,7 +159,7 @@ Classes - +
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++

    Macros

    #define CIPHERS_UINT256_T_HPP_
     for std::pair library
     for std::pair library
     

    Detailed Description

    Implementation of 256-bit unsigned integers.

    Note
    The implementation can be flagged as not completed. This header is used with enough operations to demonstrate the usage of ECDH (Elliptic Curve Diffie-Hellman) Key exchange.
    Author
    Ashish Daulatabad
    + +

    Definition in file uint256_t.hpp.

    Macro Definition Documentation

    ◆ CIPHERS_UINT256_T_HPP_

    @@ -212,8 +231,10 @@ Functions

    @@ -199,6 +216,8 @@ Functions

    -

    for std::pair library

    -

    for std::string for uint128_t integer

    +

    for std::pair library

    +

    for std::string for uint128_t integer

    + +

    Definition at line 16 of file uint256_t.hpp.

    @@ -246,10 +267,12 @@ template<typename T , typename = typename std::enable_if<
    + +

    Definition at line 1046 of file uint256_t.hpp.

    1046 {
    1047 return uint256_t(p) != q;
    1048}
    -
    class for 256-bit unsigned integer
    Definition uint256_t.hpp:33
    +
    class for 256-bit unsigned integer
    Definition uint256_t.hpp:33
    @@ -281,6 +304,8 @@ template<typename T , typename = typename std::enable_if<
    + +

    Definition at line 1001 of file uint256_t.hpp.

    1001 {
    1002 return uint256_t(p) % q;
    1003}
    @@ -315,6 +340,8 @@ template<typename T , typename = typename std::enable_if<
    + +

    Definition at line 1008 of file uint256_t.hpp.

    1008 {
    1009 return uint256_t(p) & q;
    1010}
    @@ -349,6 +376,8 @@ template<typename T , typename = typename std::enable_if<
    + +

    Definition at line 1027 of file uint256_t.hpp.

    1027 {
    1028 return uint256_t(p) && q;
    1029}
    @@ -383,6 +412,8 @@ template<typename T , typename = typename std::enable_if<
    + +

    Definition at line 989 of file uint256_t.hpp.

    989 {
    990 return uint256_t(p) * q;
    991}
    @@ -417,6 +448,8 @@ template<typename T , typename = typename std::enable_if<
    + +

    Definition at line 977 of file uint256_t.hpp.

    977 {
    978 return uint256_t(p) + q;
    979}
    @@ -451,6 +484,8 @@ template<typename T , typename = typename std::enable_if<
    + +

    Definition at line 983 of file uint256_t.hpp.

    983 {
    984 return (uint256_t(p) - q);
    985}
    @@ -485,6 +520,8 @@ template<typename T , typename = typename std::enable_if<
    + +

    Definition at line 995 of file uint256_t.hpp.

    995 {
    996 return uint256_t(p) / q;
    997}
    @@ -519,6 +556,8 @@ template<typename T , typename = typename std::enable_if<
    + +

    Definition at line 1052 of file uint256_t.hpp.

    1052 {
    1053 return uint256_t(p) < q;
    1054}
    @@ -553,6 +592,8 @@ template<typename T , typename = typename std::enable_if<
    + +

    Definition at line 1058 of file uint256_t.hpp.

    1058 {
    1059 return uint256_t(p) <= q;
    1060}
    @@ -587,6 +628,8 @@ template<typename T , typename = typename std::enable_if<
    + +

    Definition at line 1040 of file uint256_t.hpp.

    1040 {
    1041 return uint256_t(p) == q;
    1042}
    @@ -621,6 +664,8 @@ template<typename T , typename = typename std::enable_if<
    + +

    Definition at line 1064 of file uint256_t.hpp.

    1064 {
    1065 return uint256_t(p) > q;
    1066}
    @@ -655,6 +700,8 @@ template<typename T , typename = typename std::enable_if<
    + +

    Definition at line 1070 of file uint256_t.hpp.

    1070 {
    1071 return uint256_t(p) >= q;
    1072}
    @@ -689,6 +736,8 @@ template<typename T , typename = typename std::enable_if<
    + +

    Definition at line 1020 of file uint256_t.hpp.

    1020 {
    1021 return uint256_t(p) ^ q;
    1022}
    @@ -723,6 +772,8 @@ template<typename T , typename = typename std::enable_if<
    + +

    Definition at line 1014 of file uint256_t.hpp.

    1014 {
    1015 return uint256_t(p) | q;
    1016}
    @@ -757,6 +808,8 @@ template<typename T , typename = typename std::enable_if<
    + +

    Definition at line 1033 of file uint256_t.hpp.

    1033 {
    1034 return uint256_t(p) || q;
    1035}
    diff --git a/da/da3/uint256__t_8hpp_source.html b/da/da3/uint256__t_8hpp_source.html index c1a161f4c..eb4b26bb9 100644 --- a/da/da3/uint256__t_8hpp_source.html +++ b/da/da3/uint256__t_8hpp_source.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: ciphers/uint256_t.hpp Source File +TheAlgorithms/C++: ciphers/uint256_t.hpp Source File + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -107,19 +124,11 @@ $(function(){initNavTree('da/da3/uint256__t_8hpp_source.html','../../'); initRes
    uint256_t.hpp
    -Go to the documentation of this file.
    1/**
    -
    2 * @file
    -
    3 *
    -
    4 * @details Implementation of 256-bit unsigned integers.
    -
    5 * @note The implementation can be flagged as not completed. This header is used
    -
    6 * with enough operations to demonstrate the usage of ECDH (Elliptic Curve
    -
    7 * Diffie-Hellman) Key exchange.
    -
    8 * @author [Ashish Daulatabad](https://github.com/AshishYUO)
    -
    9 */
    -
    10#include <string> /// for `std::string`
    -
    11#include <utility> /// for `std::pair` library
    +Go to the documentation of this file.
    1
    +
    10#include <string>
    +
    11#include <utility>
    12
    -
    13#include "uint128_t.hpp" /// for uint128_t integer
    +
    13#include "uint128_t.hpp"
    14
    15#ifndef CIPHERS_UINT256_T_HPP_
    16#define CIPHERS_UINT256_T_HPP_
    @@ -127,34 +136,23 @@ $(function(){initNavTree('da/da3/uint256__t_8hpp_source.html','../../'); initRes
    18class uint256_t;
    19
    20template <>
    - +
    21struct std::is_integral<uint256_t> : std::true_type {};
    22
    23template <>
    - +
    24struct std::is_arithmetic<uint256_t> : std::true_type {};
    25
    26template <>
    - -
    28
    -
    29/**
    -
    30 * @class uint256_t
    -
    31 * @brief class for 256-bit unsigned integer
    -
    32 */
    +
    27struct std::is_unsigned<uint256_t> : std::true_type {};
    +
    28
    33class uint256_t {
    -
    34 uint128_t f{}, s{}; /// First and second half of 256 bit number
    -
    35
    -
    36 /**
    -
    37 * @brief Get integer from given string.
    -
    38 * @details Create an integer from a given string
    -
    39 * @param str integer string, can be hexadecimal (starting on 0x... or
    -
    40 * number)
    -
    41 * @returns void
    -
    42 */
    +
    34 uint128_t f{}, s{};
    +
    35
    - +
    43 void __get_integer_from_string(const std::string &str) {
    44 this->f = this->s = uint128_t(0);
    -
    45 if (str.size() > 1 && str[1] == 'x') {
    -
    46 for (auto i = 2; i < str.size(); ++i) {
    +
    45 if (str.size() > 1 && str[1] == 'x') {
    +
    46 for (auto i = 2; i < str.size(); ++i) {
    47 *this *= 16LL;
    48 if (str[i] >= '0' && str[i] <= '9') {
    49 *this += (str[i] - '0');
    @@ -176,68 +174,33 @@ $(function(){initNavTree('da/da3/uint256__t_8hpp_source.html','../../'); initRes
    64 public:
    65 // Constructors
    66 uint256_t() = default;
    -
    67
    -
    68 /**
    -
    69 * @brief Parameterized constructor
    -
    70 * @tparam T template for integer types
    -
    71 * @param low Integer denoting lower 128-bits
    -
    72 */
    -
    73 template <typename T, typename = typename std::enable_if<
    - +
    67
    +
    73 template <typename T, typename = typename std::enable_if<
    +
    74 std::is_integral<T>::value, T>::type>
    75 explicit uint256_t(T low) : s(low), f(0) {}
    -
    76
    -
    77 /**
    -
    78 * @brief Parameterized constructor
    -
    79 * @param str Integer string (hexadecimal starting with 0x.. or decimal)
    -
    80 */
    +
    76
    -
    81 explicit uint256_t(const std::string &str) {
    +
    81 explicit uint256_t(const std::string &str) {
    83 }
    -
    84
    -
    85 /**
    -
    86 * @brief Copy constructor
    -
    87 * @param num 256-bit unsigned integer
    -
    88 */
    +
    84
    89 uint256_t(const uint256_t &num) = default;
    -
    90
    -
    91 /**
    -
    92 * @brief Move constructor
    -
    93 * @param num 256-bit unsigned integer
    -
    94 */
    +
    90
    95 uint256_t(uint256_t &&num) noexcept
    -
    96 : f(std::move(num.f)), s(std::move(num.s)) {}
    +
    96 : f(std::move(num.f)), s(std::move(num.s)) {}
    -
    97
    -
    98 /**
    -
    99 * @brief Parameterized constructor
    -
    100 * @param high higher part 128-bit unsigned integer
    -
    101 * @param low lower part 128-bit unsigned integer
    -
    102 */
    +
    97
    -
    104 : f(std::move(high)), s(std::move(low)) {}
    +
    104 : f(std::move(high)), s(std::move(low)) {}
    -
    105
    -
    106 /**
    -
    107 * @brief Parameterized constructor
    -
    108 * @param high higher part 64-bit unsigned integer
    -
    109 * @param low lower part 64-bit unsigned integer
    -
    110 */
    +
    105
    111 uint256_t(const uint64_t high, const uint64_t low) : f(high), s(low) {}
    -
    112
    -
    113 /**
    -
    114 * @brief Destructor for uint256_t
    -
    115 */
    +
    112
    116 ~uint256_t() = default;
    -
    117
    -
    118 /**
    -
    119 * @brief Leading zeroes in binary
    -
    120 * @details Calculates leading zeros in 256-bit integer
    -
    121 * @returns Integer denoting leading zeroes
    -
    122 */
    +
    117
    123 inline uint32_t _lez() {
    124 if (f) {
    @@ -246,12 +209,7 @@ $(function(){initNavTree('da/da3/uint256__t_8hpp_source.html','../../'); initRes
    127 return 128 + s._lez();
    128 }
    -
    129
    -
    130 /**
    -
    131 * @brief Trailing zeroes in binary
    -
    132 * @details Calculates leading zeros in 256-bit integer
    -
    133 * @returns Integer denoting Trailing zeroes
    -
    134 */
    +
    129
    135 inline uint32_t _trz() {
    136 if (s) {
    @@ -260,118 +218,61 @@ $(function(){initNavTree('da/da3/uint256__t_8hpp_source.html','../../'); initRes
    139 return 128 + f._trz();
    140 }
    -
    141
    -
    142 /**
    -
    143 * @brief casting operator to boolean value
    -
    144 * @returns true if value of this is non-zero, else false
    -
    145 */
    +
    141
    146 inline explicit operator bool() const { return f || s; }
    -
    147
    -
    148 /**
    -
    149 * @brief casting operator to any integer value
    -
    150 * @tparam T any integer type
    -
    151 * @returns integer value casted to mentioned type
    -
    152 */
    -
    153 template <typename T, typename = typename std::enable_if<
    - +
    147
    +
    153 template <typename T, typename = typename std::enable_if<
    +
    154 std::is_integral<T>::value, T>::type>
    155 inline explicit operator T() const {
    156 return static_cast<T>(s);
    157 }
    -
    158
    -
    159 /**
    -
    160 * @brief casting operator to uint128_t
    -
    161 * @returns returns lower 128-bit integer part
    -
    162 */
    +
    158
    163 inline explicit operator uint128_t() const { return s; }
    -
    164
    -
    165 /**
    -
    166 * @brief returns lower 128-bit integer part
    -
    167 * @returns returns lower 128-bit integer part
    -
    168 */
    +
    164
    169 inline uint128_t lower() const { return s; }
    -
    170
    -
    171 /**
    -
    172 * @brief returns upper 128-bit integer part
    -
    173 * @returns returns upper 128-bit integer part
    -
    174 */
    +
    170
    175 inline uint128_t upper() const { return f; }
    -
    176
    -
    177 /**
    -
    178 * @brief operator = for uint256_t
    -
    179 * @param p an 256-bit integer to assign it's value
    -
    180 * @returns this pointer with it's value equal to `p`
    -
    181 */
    +
    176
    182 inline uint256_t &operator=(const uint256_t &p) = default;
    -
    183
    -
    184 /**
    -
    185 * @brief operator = for other types
    -
    186 * @tparam T denoting any integer type
    -
    187 * @param p an integer to assign it's value
    -
    188 * @returns this pointer with it's value equal to `p`
    -
    189 */
    -
    190 template <typename T, typename = typename std::enable_if<
    - +
    183
    +
    190 template <typename T, typename = typename std::enable_if<
    +
    191 std::is_integral<T>::value, T>::type>
    192 inline uint256_t &operator=(const T &p) {
    193 this->s = p;
    194 return *this;
    195 }
    -
    196
    -
    197 /**
    -
    198 * @brief operator = for type string
    -
    199 * @param p a string to assign it's value to equivalent integer
    -
    200 * @returns this pointer with it's value equal to `p`
    -
    201 */
    +
    196
    -
    202 inline uint256_t &operator=(const std::string &p) {
    +
    202 inline uint256_t &operator=(const std::string &p) {
    204 return *this;
    205 }
    -
    206
    -
    207 /**
    -
    208 * @brief Move assignment operator
    -
    209 */
    +
    206
    210 inline uint256_t &operator=(uint256_t &&p) = default;
    -
    211
    -
    212 /**
    -
    213 * @brief operator + for uint256_t and other integer types.
    -
    214 * @tparam T denoting integral type
    -
    215 * @param p a type of integer variable
    -
    216 * @returns addition of this and p, returning uint256_t integer
    -
    217 */
    -
    218 template <typename T, typename = typename std::enable_if<
    - +
    211
    +
    218 template <typename T, typename = typename std::enable_if<
    +
    219 std::is_integral<T>::value, T>::type>
    220 inline uint256_t operator+(const T &p) {
    221 bool app = s + p < s;
    222 return uint256_t(f + app, s + p);
    223 }
    -
    224
    -
    225 /**
    -
    226 * @brief operator + for uint256_t and other integer types.
    -
    227 * @param p 256-bit unsigned integer
    -
    228 * @returns addition of this and p, returning uint256_t integer
    -
    229 */
    +
    224
    230 inline uint256_t operator+(const uint256_t &p) {
    231 bool app = (s + p.s < s);
    232 return {f + app + p.f, s + p.s};
    233 }
    -
    234
    -
    235 /**
    -
    236 * @brief operator += for uint256_t and other integer types.
    -
    237 * @tparam T denoting integral type
    -
    238 * @param p a type of integer variable
    -
    239 * @returns addition of this and p, returning this
    -
    240 */
    -
    241 template <typename T, typename = typename std::enable_if<
    - +
    234
    +
    241 template <typename T, typename = typename std::enable_if<
    +
    242 std::is_integral<T>::value, T>::type>
    243 inline uint256_t &operator+=(const T &p) {
    244 bool app = (p + s < s);
    @@ -380,12 +281,7 @@ $(function(){initNavTree('da/da3/uint256__t_8hpp_source.html','../../'); initRes
    247 return *this;
    248 }
    -
    249
    -
    250 /**
    -
    251 * @brief operator += for uint256_t
    -
    252 * @param p 256-bit unsigned integer
    -
    253 * @returns addition of this and p, returning this
    -
    254 */
    +
    249
    255 inline uint256_t &operator+=(const uint256_t &p) {
    256 bool app = (s + p.s < s);
    @@ -394,92 +290,55 @@ $(function(){initNavTree('da/da3/uint256__t_8hpp_source.html','../../'); initRes
    259 return *this;
    260 }
    -
    261
    -
    262 /**
    -
    263 * @brief pre-increment operator
    -
    264 * @returns incremented value of this.
    -
    265 */
    +
    261
    267 *this += 1;
    268 return *this;
    269 }
    -
    270
    -
    271 /**
    -
    272 * @brief post-increment operator
    -
    273 * @returns incremented value of this.
    -
    274 */
    +
    270
    275 inline uint256_t operator++(int) {
    276 ++*this;
    277 return *this;
    278 }
    -
    279
    -
    280 /**
    -
    281 * @brief operator - for uint256_t and other integer types.
    -
    282 * @tparam T denoting integral type
    -
    283 * @param p a type of integer variable
    -
    284 * @returns subtraction of this and p, returning uint256_t integer
    -
    285 */
    -
    286 template <typename T, typename = typename std::enable_if<
    - +
    279
    +
    286 template <typename T, typename = typename std::enable_if<
    +
    287 std::is_integral<T>::value, T>::type>
    288 inline uint256_t operator-(const T &p) {
    289 bool app = (p > s);
    290 return uint256_t(f - app, s - p);
    291 }
    -
    292
    -
    293 /**
    -
    294 * @brief operator - for uint256_t
    -
    295 * @param p a type of integer variable
    -
    296 * @returns subtraction of this and p, returning uint256_t integer
    -
    297 */
    +
    292
    298 inline uint256_t operator-(const uint256_t &p) {
    299 bool app = s < p.s;
    300 return {f - p.f - app, s - p.s};
    301 }
    -
    302
    -
    303 /**
    -
    304 * @brief operator - using twos complement
    -
    305 * @returns 2's complement of this.
    -
    306 */
    +
    302
    307 inline uint256_t operator-() { return ~*this + uint256_t(1); }
    -
    308
    -
    309 /**
    -
    310 * @brief operator -- (pre-decrement)
    -
    311 * @returns decremented value of this
    -
    312 */
    +
    308
    314 *this -= 1;
    315 return *this;
    316 }
    -
    317
    -
    318 /**
    -
    319 * @brief operator -- (post-decrement)
    -
    320 * @returns decremented value of this
    -
    321 */
    +
    317
    322 inline uint256_t operator--(int p) {
    323 --*this;
    324 return *this;
    325 }
    -
    326
    -
    327 /**
    -
    328 * @brief operator -= for uint256_t and other integer types.
    -
    329 * @tparam T denoting integral type
    -
    330 * @param p a type of integer variable
    -
    331 * @returns subtraction of this and p, returning this
    -
    332 */
    -
    333 template <typename T, typename = typename std::enable_if<
    - +
    326
    +
    333 template <typename T, typename = typename std::enable_if<
    +
    334 std::is_integral<T>::value, T>::type>
    335 inline uint256_t operator-=(const T p) {
    336 bool app = (p > s);
    @@ -488,12 +347,7 @@ $(function(){initNavTree('da/da3/uint256__t_8hpp_source.html','../../'); initRes
    339 return *this;
    340 }
    -
    341
    -
    342 /**
    -
    343 * @brief operator -= for uint256_t
    -
    344 * @param p 256-bit unsigned integer
    -
    345 * @returns subtraction of this and p, returning this
    -
    346 */
    +
    341
    347 inline uint256_t &operator-=(const uint256_t &p) {
    348 bool app = s < p.s;
    @@ -502,26 +356,15 @@ $(function(){initNavTree('da/da3/uint256__t_8hpp_source.html','../../'); initRes
    351 return *this;
    352 }
    -
    353
    -
    354 /**
    -
    355 * @brief operator * for uint256_t and other integer types.
    -
    356 * @tparam T denoting integral type
    -
    357 * @param p a type of integer variable
    -
    358 * @returns multiplication of this and p, returning uint256_t integer
    -
    359 */
    -
    360 template <typename T, typename = typename std::enable_if<
    - +
    353
    +
    360 template <typename T, typename = typename std::enable_if<
    +
    361 std::is_integral<T>::value, T>::type>
    362 inline uint256_t operator*(const T &p) {
    363 return *this * uint256_t(p);
    364 }
    -
    365
    -
    366 /**
    -
    367 * @brief operator * for uint256_t and other integer types.
    -
    368 * @param p 256-bit unsigned integer
    -
    369 * @returns multiplication of this and p, returning uint256_t integer
    -
    370 */
    +
    365
    372 uint128_t f_first(s.upper()), f_second(s.lower()), s_first(p.s.upper()),
    @@ -536,26 +379,15 @@ $(function(){initNavTree('da/da3/uint256__t_8hpp_source.html','../../'); initRes
    381 tmp + fo};
    382 }
    -
    383
    -
    384 /**
    -
    385 * @brief operator *= for uint256_t and other integer types.
    -
    386 * @tparam T denoting integral type
    -
    387 * @param p a type of integer variable
    -
    388 * @returns multiplication of this and p, returning this
    -
    389 */
    -
    390 template <typename T, typename = typename std::enable_if<
    - +
    383
    +
    390 template <typename T, typename = typename std::enable_if<
    +
    391 std::is_integral<T>::value, T>::type>
    392 inline uint256_t &operator*=(const T &p) {
    393 return (*this *= uint256_t(p));
    394 }
    -
    395
    -
    396 /**
    -
    397 * @brief operator *= for uint256_t and other integer types.
    -
    398 * @param p 256-bit unsigned integer
    -
    399 * @returns multiplication of this and p, returning this
    -
    400 */
    +
    395
    402 uint128_t f_first(s.upper()), f_second(s.lower()), s_first(p.s.upper()),
    @@ -571,15 +403,9 @@ $(function(){initNavTree('da/da3/uint256__t_8hpp_source.html','../../'); initRes
    412 return *this;
    413 }
    -
    414
    -
    415 /**
    -
    416 * @brief divide function for uint256_t and other integer types.
    -
    417 * @details divide this value and
    -
    418 * @param p 256-bit unsigned integer
    -
    419 * @returns pair denoting quotient and remainder.
    -
    420 */
    +
    414
    - +
    421 std::pair<uint256_t, uint256_t> divide(const uint256_t &p) {
    422 if (*this < p) { // if this is less than divisor
    423 return {uint256_t(0), *this};
    424 } else if (*this == p) { // if this is equal to divisor
    @@ -608,15 +434,9 @@ $(function(){initNavTree('da/da3/uint256__t_8hpp_source.html','../../'); initRes
    447 return {quotient << left, tmp2};
    448 }
    -
    449
    -
    450 /**
    -
    451 * @brief operator / for uint256_t and other integer types.
    -
    452 * @tparam T denoting integral type
    -
    453 * @param p a type of integer variable
    -
    454 * @returns unsigned 256-bit quotient.
    -
    455 */
    -
    456 template <typename T, typename = typename std::enable_if<
    - +
    449
    +
    456 template <typename T, typename = typename std::enable_if<
    +
    457 std::is_integral<T>::value, T>::type>
    458 inline uint256_t operator/(const T &p) {
    459 uint256_t tmp = *this;
    @@ -624,56 +444,29 @@ $(function(){initNavTree('da/da3/uint256__t_8hpp_source.html','../../'); initRes
    461 return tmp;
    462 }
    -
    463
    -
    464 /**
    -
    465 * @brief operator / for uint256_t and other integer types.
    -
    466 * @param p 256-bit unsigned integer
    -
    467 * @returns unsigned 256-bit quotient.
    -
    468 */
    +
    463
    469 inline uint256_t operator/(const uint256_t &p) { return divide(p).first; }
    -
    470
    -
    471 /**
    -
    472 * @brief operator /= for uint256_t
    -
    473 * @param p 256-bit unsigned integer
    -
    474 * @returns this set as unsigned 256-bit quotient.
    -
    475 */
    +
    470
    476 inline uint256_t &operator/=(const uint256_t &p) {
    477 *this = divide(p).first;
    478 return *this;
    479 }
    -
    480
    -
    481 /**
    -
    482 * @brief operator /= for uint256_t and other integer types.
    -
    483 * @tparam T denoting integral type
    -
    484 * @param p a type of integer variable
    -
    485 * @returns this set as unsigned 256-bit quotient.
    -
    486 */
    -
    487 template <typename T, typename = typename std::enable_if<
    - +
    480
    +
    487 template <typename T, typename = typename std::enable_if<
    +
    488 std::is_integral<T>::value, T>::type>
    489 inline uint256_t &operator/=(const T &p) {
    490 *this /= uint256_t(p);
    491 return *this;
    492 }
    -
    493
    -
    494 /**
    -
    495 * @brief operator % for uint256_t
    -
    496 * @param p 256-bit unsigned integer
    -
    497 * @returns unsigned 256-bit remainder.
    -
    498 */
    +
    493
    499 inline uint256_t operator%(const uint256_t &p) { return divide(p).second; }
    -
    500
    -
    501 /**
    -
    502 * @brief operator % for uint256_t and other integer types.
    -
    503 * @tparam T denoting integral type
    -
    504 * @param p a type of integer variable
    -
    505 * @returns unsigned 256-bit remainder.
    -
    506 */
    -
    507 template <typename T, typename = typename std::enable_if<
    - +
    500
    +
    507 template <typename T, typename = typename std::enable_if<
    +
    508 std::is_integral<T>::value, T>::type>
    509 inline uint256_t operator%(const T &p) {
    510 uint256_t tmp = *this;
    @@ -681,261 +474,143 @@ $(function(){initNavTree('da/da3/uint256__t_8hpp_source.html','../../'); initRes
    512 return tmp;
    513 }
    -
    514
    -
    515 /**
    -
    516 * @brief operator %= for uint256_t
    -
    517 * @param p 256-bit unsigned integer
    -
    518 * @returns this set as unsigned 256-bit remainder.
    -
    519 */
    +
    514
    520 inline uint256_t &operator%=(const uint256_t &p) {
    521 *this = divide(p).second;
    522 return *this;
    523 }
    -
    524
    -
    525 /**
    -
    526 * @brief operator %= for uint256_t
    -
    527 * @tparam T denoting integral type
    -
    528 * @param p a type of integer variable
    -
    529 * @returns this set as unsigned 256-bit remainder.
    -
    530 */
    -
    531 template <typename T, typename = typename std::enable_if<
    - +
    524
    +
    531 template <typename T, typename = typename std::enable_if<
    +
    532 std::is_integral<T>::value, T>::type>
    533 inline uint256_t &operator%=(const T &p) {
    534 *this %= uint256_t(p);
    535 return *this;
    536 }
    -
    537
    -
    538 /**
    -
    539 * @brief operator < for uint256_t
    -
    540 * @param other number to be compared with this
    -
    541 * @returns true if this is less than other, else false
    -
    542 */
    +
    537
    543 inline bool operator<(const uint256_t &other) {
    544 return f < other.f || (f == other.f && s < other.s);
    545 }
    -
    546
    -
    547 /**
    -
    548 * @brief operator <= for uint256_t
    -
    549 * @param other number to be compared with this
    -
    550 * @returns true if this is less than or equal to other, else false
    -
    551 */
    +
    546
    552 inline bool operator<=(const uint256_t &other) {
    553 return f < other.f || (f == other.f && s <= other.s);
    554 }
    -
    555
    -
    556 /**
    -
    557 * @brief operator > for uint256_t
    -
    558 * @param other number to be compared with this
    -
    559 * @returns true if this is greater than other, else false
    -
    560 */
    +
    555
    561 inline bool operator>(const uint256_t &other) {
    562 return f > other.f || (f == other.f && s > other.s);
    563 }
    -
    564
    -
    565 /**
    -
    566 * @brief operator >= for uint256_t
    -
    567 * @param other number to be compared with this
    -
    568 * @returns true if this is greater than or equal than other, else false
    -
    569 */
    +
    564
    570 inline bool operator>=(const uint256_t &other) {
    571 return (f > other.f) || (f == other.f && s >= other.s);
    572 }
    -
    573
    -
    574 /**
    -
    575 * @brief operator == for uint256_t
    -
    576 * @param other number to be compared with this
    -
    577 * @returns true if this is equal than other, else false
    -
    578 */
    +
    573
    579 inline bool operator==(const uint256_t &other) {
    580 return f == other.f && s == other.s;
    581 }
    -
    582
    -
    583 /**
    -
    584 * @brief operator != for uint256_t
    -
    585 * @param other number to be compared with this
    -
    586 * @returns true if this is not equal than other, else false
    -
    587 */
    +
    582
    588 inline bool operator!=(const uint256_t &other) {
    589 return !((*this) == other);
    590 }
    -
    591
    -
    592 /**
    -
    593 * @brief operator ! for uint256_t
    -
    594 * @returns true if this has zero value, else false
    -
    595 */
    +
    591
    596 inline bool operator!() { return !f && !s; }
    -
    597
    -
    598 /**
    -
    599 * @brief operator && for uint256_t
    -
    600 * @param b number to be compared with this
    -
    601 * @returns true if both of the values are not zero, else false
    -
    602 */
    +
    597
    603 inline bool operator&&(const uint256_t &b) {
    604 return (s || f) && (b.s || b.f);
    605 }
    -
    606
    -
    607 /**
    -
    608 * @brief operator || for uint256_t
    -
    609 * @param b number to be compared with this
    -
    610 * @returns true if one of the values are not zero, else false
    -
    611 */
    +
    606
    612 inline bool operator||(const uint256_t &b) {
    613 return (s || f) || (b.s || b.f);
    614 }
    -
    615
    -
    616 /**
    -
    617 * @brief operator () for uint256_t
    -
    618 * @returns true if this value is non-zero, else false
    -
    619 */
    +
    615
    620 inline bool operator()() { return s || f; }
    -
    621
    -
    622 /**
    -
    623 * @brief operator < for other types
    -
    624 * @tparam T integral type
    -
    625 * @param other number to be compared with this
    -
    626 * @returns true if this is less than other, else false
    -
    627 */
    -
    628 template <typename T, typename = typename std::enable_if<
    - +
    621
    +
    628 template <typename T, typename = typename std::enable_if<
    +
    629 std::is_integral<T>::value, T>::type>
    630 bool operator<(const T &other) {
    631 return *this < uint256_t(other);
    632 }
    -
    633
    -
    634 /**
    -
    635 * @brief operator <= for other types
    -
    636 * @tparam T integral type
    -
    637 * @param other number to be compared with this
    -
    638 * @returns true if this is less than or equal to other, else false
    -
    639 */
    -
    640 template <typename T, typename = typename std::enable_if<
    - +
    633
    +
    640 template <typename T, typename = typename std::enable_if<
    +
    641 std::is_integral<T>::value, T>::type>
    642 bool operator<=(const T &other) {
    643 return *this <= uint256_t(other);
    644 }
    -
    645
    -
    646 /**
    -
    647 * @brief operator > for other types
    -
    648 * @tparam T integral type
    -
    649 * @param other number to be compared with this
    -
    650 * @returns true if this is greater than other, else false
    -
    651 */
    -
    652 template <typename T, typename = typename std::enable_if<
    - +
    645
    +
    652 template <typename T, typename = typename std::enable_if<
    +
    653 std::is_integral<T>::value, T>::type>
    654 bool operator>(const T &other) {
    655 return *this > uint256_t(other);
    656 }
    -
    657
    -
    658 /**
    -
    659 * @brief operator >= for other types
    -
    660 * @tparam T integral type
    -
    661 * @param other number to be compared with this
    -
    662 * @returns true if this is greater than or equal other, else false
    -
    663 */
    -
    664 template <typename T, typename = typename std::enable_if<
    - +
    657
    +
    664 template <typename T, typename = typename std::enable_if<
    +
    665 std::is_integral<T>::value, T>::type>
    666 bool operator>=(const T &other) {
    667 return *this >= uint256_t(other);
    668 }
    -
    669
    -
    670 /**
    -
    671 * @brief operator == for other types
    -
    672 * @tparam T integral type
    -
    673 * @param other number to be compared with this
    -
    674 * @returns true if this is equal to other, else false
    -
    675 */
    -
    676 template <typename T, typename = typename std::enable_if<
    - +
    669
    +
    676 template <typename T, typename = typename std::enable_if<
    +
    677 std::is_integral<T>::value, T>::type>
    678 bool operator==(const T &other) {
    679 return *this == uint256_t(other);
    680 }
    -
    681
    -
    682 /**
    -
    683 * @brief operator != for other types
    -
    684 * @tparam T integral type
    -
    685 * @param other number to be compared with this
    -
    686 * @returns true if this is not equal to other, else false
    -
    687 */
    -
    688 template <typename T, typename = typename std::enable_if<
    - +
    681
    +
    688 template <typename T, typename = typename std::enable_if<
    +
    689 std::is_integral<T>::value, T>::type>
    690 bool operator!=(const T &other) {
    691 return *this != uint256_t(other);
    692 }
    -
    693
    -
    694 /**
    -
    695 * @brief operator && for other types
    -
    696 * @tparam T integral type
    -
    697 * @param other number to be compared with this
    -
    698 * @returns true if this is both values are non-zero, else false
    -
    699 */
    -
    700 template <typename T, typename = typename std::enable_if<
    - +
    693
    +
    700 template <typename T, typename = typename std::enable_if<
    +
    701 std::is_integral<T>::value, T>::type>
    702 inline bool operator&&(const T &b) {
    703 return (s || f) && (b);
    704 }
    -
    705
    -
    706 /**
    -
    707 * @brief operator || for other types
    -
    708 * @tparam T integral type
    -
    709 * @param other number to be compared with this
    -
    710 * @returns true if this is either one of the values are non-zero, else
    -
    711 * false
    -
    712 */
    -
    713 template <typename T, typename = typename std::enable_if<
    - +
    705
    +
    713 template <typename T, typename = typename std::enable_if<
    +
    714 std::is_integral<T>::value, T>::type>
    715 inline bool operator||(const T &b) {
    716 return (s || f) || (b);
    717 }
    -
    718
    -
    719 /**
    -
    720 * @brief operator ~ for uint256_t
    -
    721 * @returns 1's complement of this number
    -
    722 */
    +
    718
    723 inline uint256_t operator~() { return {~f, ~s}; }
    -
    724
    -
    725 /**
    -
    726 * @brief operator << for uint256_t
    -
    727 * @tparam T integral type
    -
    728 * @param p number denoting number of shifts
    -
    729 * @returns value of this shifted by p to left
    -
    730 */
    -
    731 template <typename T, typename = typename std::enable_if<
    - +
    724
    +
    731 template <typename T, typename = typename std::enable_if<
    +
    732 std::is_integral<T>::value, T>::type>
    733 uint256_t operator<<(const T &p) {
    734 if (!p) {
    @@ -947,15 +622,9 @@ $(function(){initNavTree('da/da3/uint256__t_8hpp_source.html','../../'); initRes
    740 (this->s << p));
    741 }
    -
    742
    -
    743 /**
    -
    744 * @brief operator <<= for uint256_t
    -
    745 * @tparam T integral type
    -
    746 * @param p number denoting number of shifts
    -
    747 * @returns this shifted by p to left
    -
    748 */
    -
    749 template <typename T, typename = typename std::enable_if<
    - +
    742
    +
    749 template <typename T, typename = typename std::enable_if<
    +
    750 std::is_integral<T>::value, T>::type>
    751 uint256_t &operator<<=(const T &p) {
    752 if (p) {
    @@ -970,15 +639,9 @@ $(function(){initNavTree('da/da3/uint256__t_8hpp_source.html','../../'); initRes
    761 return *this;
    762 }
    -
    763
    -
    764 /**
    -
    765 * @brief operator >> for uint256_t
    -
    766 * @tparam T integral type
    -
    767 * @param p number denoting number of shifts
    -
    768 * @returns value of this shifted by p to right
    -
    769 */
    -
    770 template <typename T, typename = typename std::enable_if<
    - +
    763
    +
    770 template <typename T, typename = typename std::enable_if<
    +
    771 std::is_integral<T>::value, T>::type>
    772 uint256_t operator>>(const T &p) {
    773 if (!p) {
    @@ -990,15 +653,9 @@ $(function(){initNavTree('da/da3/uint256__t_8hpp_source.html','../../'); initRes
    779 (this->s >> p) + (this->f << (128 - p)));
    780 }
    -
    781
    -
    782 /**
    -
    783 * @brief operator >>= for uint256_t
    -
    784 * @tparam T integral type
    -
    785 * @param p number denoting number of shifts
    -
    786 * @returns this shifted by p to right
    -
    787 */
    -
    788 template <typename T, typename = typename std::enable_if<
    - +
    781
    +
    788 template <typename T, typename = typename std::enable_if<
    +
    789 std::is_integral<T>::value, T>::type>
    790 uint256_t &operator>>=(const T &p) {
    791 if (p) {
    @@ -1013,37 +670,21 @@ $(function(){initNavTree('da/da3/uint256__t_8hpp_source.html','../../'); initRes
    800 return *this;
    801 }
    -
    802
    -
    803 /**
    -
    804 * @brief operator & for other types (bitwise operator)
    -
    805 * @tparam T integral type
    -
    806 * @param p number to be operated
    -
    807 * @returns value of this & p (& is bit-wise operator)
    -
    808 */
    -
    809 template <typename T, typename = typename std::enable_if<
    - +
    802
    +
    809 template <typename T, typename = typename std::enable_if<
    +
    810 std::is_integral<T>::value, T>::type>
    811 inline uint256_t operator&(const T &p) {
    812 return *this & uint256_t(p);
    813 }
    -
    814
    -
    815 /**
    -
    816 * @brief operator & for uint256_t (bitwise operator)
    -
    817 * @param p number to be operated
    -
    818 * @returns value of this & p (& is bit-wise operator)
    -
    819 */
    +
    814
    820 inline uint256_t operator&(const uint256_t &p) {
    821 return {f & p.f, s & p.s};
    822 }
    -
    823
    -
    824 /**
    -
    825 * @brief operator &= for uint256_t (bitwise operator)
    -
    826 * @param p number to be operated
    -
    827 * @returns this = this & p (& is bit-wise operator)
    -
    828 */
    +
    823
    829 inline uint256_t &operator&=(const uint256_t &p) {
    830 f &= p.f;
    @@ -1051,67 +692,39 @@ $(function(){initNavTree('da/da3/uint256__t_8hpp_source.html','../../'); initRes
    832 return *this;
    833 }
    -
    834
    -
    835 /**
    -
    836 * @brief operator &= for other types (bitwise operator)
    -
    837 * @tparam T integral type
    -
    838 * @param p number to be operated
    -
    839 * @returns this = this & p (& is bit-wise operator)
    -
    840 */
    -
    841 template <typename T, typename = typename std::enable_if<
    - +
    834
    +
    841 template <typename T, typename = typename std::enable_if<
    +
    842 std::is_integral<T>::value, T>::type>
    843 inline uint256_t &operator&=(const T p) {
    844 s &= p.s;
    845 return *this;
    846 }
    -
    847
    -
    848 /**
    -
    849 * @brief operator | for other types (bitwise operator)
    -
    850 * @tparam T integral type
    -
    851 * @param p number to be operated
    -
    852 * @returns value of this | p (| is bit-wise operator)
    -
    853 */
    -
    854 template <typename T, typename = typename std::enable_if<
    - +
    847
    +
    854 template <typename T, typename = typename std::enable_if<
    +
    855 std::is_integral<T>::value, T>::type>
    856 inline uint256_t operator|(const T &p) {
    857 return *this | uint256_t(p);
    858 }
    -
    859
    -
    860 /**
    -
    861 * @brief operator | for uint256_t (bitwise operator)
    -
    862 * @param p number to be operated
    -
    863 * @returns value of this | p (| is bit-wise OR operator)
    -
    864 */
    +
    859
    865 inline uint256_t operator|(const uint256_t &p) {
    866 return {this->f | p.f, this->s | p.s};
    867 }
    -
    868
    -
    869 /**
    -
    870 * @brief operator |= for other types (bitwise operator)
    -
    871 * @tparam T integral type
    -
    872 * @param p number to be operated
    -
    873 * @returns this = this | p (| is bit-wise OR operator)
    -
    874 */
    -
    875 template <typename T, typename = typename std::enable_if<
    - +
    868
    +
    875 template <typename T, typename = typename std::enable_if<
    +
    876 std::is_integral<T>::value, T>::type>
    877 inline uint256_t &operator|=(const T &p) {
    878 s |= p;
    879 return *this;
    880 }
    -
    881
    -
    882 /**
    -
    883 * @brief operator |= for uint256_t (bitwise operator)
    -
    884 * @param p number to be operated
    -
    885 * @returns this = this | p (| is bit-wise OR operator)
    -
    886 */
    +
    881
    887 inline uint256_t &operator|=(const uint256_t &p) {
    888 f |= p.f;
    @@ -1119,37 +732,21 @@ $(function(){initNavTree('da/da3/uint256__t_8hpp_source.html','../../'); initRes
    890 return *this;
    891 }
    -
    892
    -
    893 /**
    -
    894 * @brief operator ^ for other types (bitwise operator)
    -
    895 * @tparam T integral type
    -
    896 * @param p number to be operated
    -
    897 * @returns value of this ^ p (^ is bit-wise XOR operator)
    -
    898 */
    -
    899 template <typename T, typename = typename std::enable_if<
    - +
    892
    +
    899 template <typename T, typename = typename std::enable_if<
    +
    900 std::is_integral<T>::value, T>::type>
    901 inline uint256_t operator^(const T &p) {
    902 return uint256_t(f, s ^ p);
    903 }
    -
    904
    -
    905 /**
    -
    906 * @brief operator ^ for uint256_t (bitwise operator)
    -
    907 * @param p number to be operated
    -
    908 * @returns value of this ^ p (^ is bit-wise XOR operator)
    -
    909 */
    +
    904
    910 inline uint256_t operator^(const uint256_t &p) {
    911 return {this->f ^ p.f, this->s ^ p.s};
    912 }
    -
    913
    -
    914 /**
    -
    915 * @brief operator ^= for uint256_t (bitwise operator)
    -
    916 * @param p number to be operated
    -
    917 * @returns this = this ^ p (^ is bit-wise XOR operator)
    -
    918 */
    +
    913
    919 inline uint256_t &operator^=(const uint256_t &p) {
    920 f ^= p.f;
    @@ -1157,37 +754,22 @@ $(function(){initNavTree('da/da3/uint256__t_8hpp_source.html','../../'); initRes
    922 return *this;
    923 }
    -
    924
    -
    925 /**
    -
    926 * @brief operator ^= for other types (bitwise operator)
    -
    927 * @tparam T integral type
    -
    928 * @param p number to be operated
    -
    929 * @returns this = this ^ p (^ is bit-wise XOR operator)
    -
    930 */
    -
    931 template <typename T, typename = typename std::enable_if<
    - +
    924
    +
    931 template <typename T, typename = typename std::enable_if<
    +
    932 std::is_integral<T>::value, T>::type>
    933 inline uint256_t &operator^=(const T &p) {
    934 s ^= p;
    935 return *this;
    936 }
    -
    937
    -
    938 /**
    -
    939 * @brief operator << for printing uint256_t integer
    -
    940 * @details Prints the uint256_t integer in decimal form
    -
    941 * @note Note that this operator is costly since it uses strings to print
    -
    942 * the value
    -
    943 * @param op ostream object
    -
    944 * @param p 256-bit integer
    -
    945 * @returns op, ostream object.
    -
    946 */
    +
    937
    - +
    947 friend std::ostream &operator<<(std::ostream &op, uint256_t p) {
    948 if (!p.f) {
    949 op << p.s;
    950 } else {
    -
    951 std::string out = "0", p_2 = "1";
    +
    951 std::string out = "0", p_2 = "1";
    952 uint128_t L(1);
    953 for (uint64_t i = 0; i < 128; ++i) {
    954 if ((p.s & L)) {
    @@ -1213,204 +795,192 @@ $(function(){initNavTree('da/da3/uint256__t_8hpp_source.html','../../'); initRes
    973
    974// Artihmetic
    -
    975template <typename T, typename = typename std::enable_if<
    - +
    975template <typename T, typename = typename std::enable_if<
    +
    976 std::is_integral<T>::value, T>::type>
    977inline uint256_t operator+(const T p, const uint256_t &q) {
    978 return uint256_t(p) + q;
    979}
    980
    -
    981template <typename T, typename = typename std::enable_if<
    - +
    981template <typename T, typename = typename std::enable_if<
    +
    982 std::is_integral<T>::value, T>::type>
    983inline uint256_t operator-(const T p, const uint256_t &q) {
    984 return (uint256_t(p) - q);
    985}
    986
    -
    987template <typename T, typename = typename std::enable_if<
    - +
    987template <typename T, typename = typename std::enable_if<
    +
    988 std::is_integral<T>::value, T>::type>
    989inline uint256_t operator*(const T p, const uint256_t &q) {
    990 return uint256_t(p) * q;
    991}
    992
    -
    993template <typename T, typename = typename std::enable_if<
    - +
    993template <typename T, typename = typename std::enable_if<
    +
    994 std::is_integral<T>::value, T>::type>
    995inline uint256_t operator/(const T p, const uint256_t &q) {
    996 return uint256_t(p) / q;
    997}
    998
    -
    999template <typename T, typename = typename std::enable_if<
    - +
    999template <typename T, typename = typename std::enable_if<
    +
    1000 std::is_integral<T>::value, T>::type>
    1001inline uint256_t operator%(const T p, const uint256_t &q) {
    1002 return uint256_t(p) % q;
    1003}
    1004
    1005// Bitwise operators
    -
    1006template <typename T, typename = typename std::enable_if<
    - +
    1006template <typename T, typename = typename std::enable_if<
    +
    1007 std::is_integral<T>::value, T>::type>
    1008inline uint256_t operator&(const T &p, const uint256_t &q) {
    1009 return uint256_t(p) & q;
    1010}
    1011
    -
    1012template <typename T, typename = typename std::enable_if<
    - +
    1012template <typename T, typename = typename std::enable_if<
    +
    1013 std::is_integral<T>::value, T>::type>
    1014inline uint256_t operator|(const T p, const uint256_t &q) {
    1015 return uint256_t(p) | q;
    1016}
    1017
    -
    1018template <typename T, typename = typename std::enable_if<
    - +
    1018template <typename T, typename = typename std::enable_if<
    +
    1019 std::is_integral<T>::value, T>::type>
    1020inline uint256_t operator^(const T p, const uint256_t &q) {
    1021 return uint256_t(p) ^ q;
    1022}
    1023
    1024// Boolean operators
    -
    1025template <typename T, typename = typename std::enable_if<
    - +
    1025template <typename T, typename = typename std::enable_if<
    +
    1026 std::is_integral<T>::value, T>::type>
    1027inline bool operator&&(const T p, const uint256_t &q) {
    1028 return uint256_t(p) && q;
    1029}
    1030
    -
    1031template <typename T, typename = typename std::enable_if<
    - +
    1031template <typename T, typename = typename std::enable_if<
    +
    1032 std::is_integral<T>::value, T>::type>
    1033inline bool operator||(const T p, const uint256_t &q) {
    1034 return uint256_t(p) || q;
    1035}
    1036
    1037// Comparison operators
    -
    1038template <typename T, typename = typename std::enable_if<
    - +
    1038template <typename T, typename = typename std::enable_if<
    +
    1039 std::is_integral<T>::value, T>::type>
    1040inline bool operator==(const T p, const uint256_t &q) {
    1041 return uint256_t(p) == q;
    1042}
    1043
    -
    1044template <typename T, typename = typename std::enable_if<
    - -
    1046inline bool operator!=(const T p, const uint256_t &q) {
    +
    1044template <typename T, typename = typename std::enable_if<
    +
    1045 std::is_integral<T>::value, T>::type>
    +
    1046inline bool operator!=(const T p, const uint256_t &q) {
    1047 return uint256_t(p) != q;
    1048}
    1049
    -
    1050template <typename T, typename = typename std::enable_if<
    - +
    1050template <typename T, typename = typename std::enable_if<
    +
    1051 std::is_integral<T>::value, T>::type>
    1052inline bool operator<(const T p, const uint256_t &q) {
    1053 return uint256_t(p) < q;
    1054}
    1055
    -
    1056template <typename T, typename = typename std::enable_if<
    - -
    1058inline bool operator<=(const T p, const uint256_t &q) {
    +
    1056template <typename T, typename = typename std::enable_if<
    +
    1057 std::is_integral<T>::value, T>::type>
    +
    1058inline bool operator<=(const T p, const uint256_t &q) {
    1059 return uint256_t(p) <= q;
    1060}
    1061
    -
    1062template <typename T, typename = typename std::enable_if<
    - -
    1064inline bool operator>(const T p, const uint256_t &q) {
    +
    1062template <typename T, typename = typename std::enable_if<
    +
    1063 std::is_integral<T>::value, T>::type>
    +
    1064inline bool operator>(const T p, const uint256_t &q) {
    1065 return uint256_t(p) > q;
    1066}
    1067
    -
    1068template <typename T, typename = typename std::enable_if<
    - -
    1070inline bool operator>=(const T p, const uint256_t &q) {
    +
    1068template <typename T, typename = typename std::enable_if<
    +
    1069 std::is_integral<T>::value, T>::type>
    +
    1070inline bool operator>=(const T p, const uint256_t &q) {
    1071 return uint256_t(p) >= q;
    1072}
    1073
    1074#endif // CIPHERS_UINT256_T_HPP_
    - - -
    class for 128-bit unsigned integer
    Definition uint128_t.hpp:60
    -
    uint64_t upper() const
    returns upper 64-bit integer part
    Definition uint128_t.hpp:208
    -
    uint32_t _trz()
    Trailing zeroes in binary.
    Definition uint128_t.hpp:163
    -
    uint64_t lower() const
    returns lower 64-bit integer part
    Definition uint128_t.hpp:202
    -
    uint32_t _lez()
    Leading zeroes in binary.
    Definition uint128_t.hpp:140
    -
    class for 256-bit unsigned integer
    Definition uint256_t.hpp:33
    -
    uint256_t(uint128_t high, uint128_t low)
    Parameterized constructor.
    Definition uint256_t.hpp:103
    -
    bool operator!()
    operator ! for uint256_t
    Definition uint256_t.hpp:596
    -
    uint32_t _lez()
    Leading zeroes in binary.
    Definition uint256_t.hpp:123
    -
    uint256_t(uint256_t &&num) noexcept
    Move constructor.
    Definition uint256_t.hpp:95
    -
    uint256_t & operator<<=(const T &p)
    operator <<= for uint256_t
    Definition uint256_t.hpp:751
    -
    bool operator<=(const uint256_t &other)
    operator <= for uint256_t
    Definition uint256_t.hpp:552
    -
    uint256_t(const std::string &str)
    Parameterized constructor.
    Definition uint256_t.hpp:81
    -
    bool operator<=(const T &other)
    operator <= for other types
    Definition uint256_t.hpp:642
    -
    uint256_t operator+(const T &p)
    operator + for uint256_t and other integer types.
    Definition uint256_t.hpp:220
    -
    uint256_t operator--(int p)
    operator – (post-decrement)
    Definition uint256_t.hpp:322
    -
    uint256_t(const uint64_t high, const uint64_t low)
    Parameterized constructor.
    Definition uint256_t.hpp:111
    -
    uint256_t & operator%=(const uint256_t &p)
    operator %= for uint256_t
    Definition uint256_t.hpp:520
    -
    uint256_t operator|(const uint256_t &p)
    operator | for uint256_t (bitwise operator)
    Definition uint256_t.hpp:865
    -
    bool operator&&(const T &b)
    operator && for other types
    Definition uint256_t.hpp:702
    -
    uint256_t & operator&=(const uint256_t &p)
    operator &= for uint256_t (bitwise operator)
    Definition uint256_t.hpp:829
    -
    uint256_t & operator^=(const T &p)
    operator ^= for other types (bitwise operator)
    Definition uint256_t.hpp:933
    +
    class for 128-bit unsigned integer
    Definition uint128_t.hpp:60
    +
    uint64_t upper() const
    returns upper 64-bit integer part
    +
    uint32_t _trz()
    Trailing zeroes in binary.
    +
    uint64_t lower() const
    returns lower 64-bit integer part
    +
    uint32_t _lez()
    Leading zeroes in binary.
    +
    class for 256-bit unsigned integer
    Definition uint256_t.hpp:33
    +
    uint256_t(uint128_t high, uint128_t low)
    Parameterized constructor.
    +
    bool operator!()
    operator ! for uint256_t
    +
    uint32_t _lez()
    Leading zeroes in binary.
    +
    uint256_t(uint256_t &&num) noexcept
    Move constructor.
    Definition uint256_t.hpp:95
    +
    uint256_t & operator<<=(const T &p)
    operator <<= for uint256_t
    +
    bool operator<=(const uint256_t &other)
    operator <= for uint256_t
    +
    uint256_t(const std::string &str)
    Parameterized constructor.
    Definition uint256_t.hpp:81
    +
    bool operator<=(const T &other)
    operator <= for other types
    +
    uint256_t operator+(const T &p)
    operator + for uint256_t and other integer types.
    +
    uint256_t operator--(int p)
    operator – (post-decrement)
    +
    uint256_t(const uint64_t high, const uint64_t low)
    Parameterized constructor.
    +
    uint256_t & operator%=(const uint256_t &p)
    operator %= for uint256_t
    +
    uint256_t operator|(const uint256_t &p)
    operator | for uint256_t (bitwise operator)
    +
    bool operator&&(const T &b)
    operator && for other types
    +
    uint256_t & operator&=(const uint256_t &p)
    operator &= for uint256_t (bitwise operator)
    +
    uint256_t & operator^=(const T &p)
    operator ^= for other types (bitwise operator)
    ~uint256_t()=default
    Destructor for uint256_t.
    -
    uint256_t operator-()
    operator - using twos complement
    Definition uint256_t.hpp:307
    -
    bool operator||(const uint256_t &b)
    operator || for uint256_t
    Definition uint256_t.hpp:612
    +
    uint256_t operator-()
    operator - using twos complement
    +
    bool operator||(const uint256_t &b)
    operator || for uint256_t
    uint256_t(const uint256_t &num)=default
    Copy constructor.
    -
    uint256_t & operator*=(const uint256_t &p)
    operator *= for uint256_t and other integer types.
    Definition uint256_t.hpp:401
    -
    uint256_t operator>>(const T &p)
    operator >> for uint256_t
    Definition uint256_t.hpp:772
    -
    uint256_t operator<<(const T &p)
    operator << for uint256_t
    Definition uint256_t.hpp:733
    -
    bool operator||(const T &b)
    operator || for other types
    Definition uint256_t.hpp:715
    +
    uint256_t & operator*=(const uint256_t &p)
    operator *= for uint256_t and other integer types.
    +
    uint256_t operator>>(const T &p)
    operator >> for uint256_t
    +
    uint256_t operator<<(const T &p)
    operator << for uint256_t
    +
    bool operator||(const T &b)
    operator || for other types
    uint256_t & operator=(const uint256_t &p)=default
    operator = for uint256_t
    -
    uint256_t operator/(const uint256_t &p)
    operator / for uint256_t and other integer types.
    Definition uint256_t.hpp:469
    -
    uint256_t & operator+=(const T &p)
    operator += for uint256_t and other integer types.
    Definition uint256_t.hpp:243
    -
    uint256_t & operator-=(const uint256_t &p)
    operator -= for uint256_t
    Definition uint256_t.hpp:347
    +
    uint256_t operator/(const uint256_t &p)
    operator / for uint256_t and other integer types.
    +
    uint256_t & operator+=(const T &p)
    operator += for uint256_t and other integer types.
    +
    uint256_t & operator-=(const uint256_t &p)
    operator -= for uint256_t
    uint256_t & operator=(uint256_t &&p)=default
    Move assignment operator.
    -
    uint256_t operator&(const T &p)
    operator & for other types (bitwise operator)
    Definition uint256_t.hpp:811
    -
    uint256_t operator~()
    operator ~ for uint256_t
    Definition uint256_t.hpp:723
    -
    uint256_t operator^(const uint256_t &p)
    operator ^ for uint256_t (bitwise operator)
    Definition uint256_t.hpp:910
    -
    uint256_t & operator%=(const T &p)
    operator %= for uint256_t
    Definition uint256_t.hpp:533
    -
    bool operator()()
    operator () for uint256_t
    Definition uint256_t.hpp:620
    -
    uint256_t operator++(int)
    post-increment operator
    Definition uint256_t.hpp:275
    -
    uint256_t operator%(const T &p)
    operator % for uint256_t and other integer types.
    Definition uint256_t.hpp:509
    -
    std::pair< uint256_t, uint256_t > divide(const uint256_t &p)
    divide function for uint256_t and other integer types.
    Definition uint256_t.hpp:421
    -
    uint256_t & operator=(const std::string &p)
    operator = for type string
    Definition uint256_t.hpp:202
    -
    uint256_t operator-(const T &p)
    operator - for uint256_t and other integer types.
    Definition uint256_t.hpp:288
    -
    bool operator!=(const T &other)
    operator != for other types
    Definition uint256_t.hpp:690
    -
    bool operator==(const uint256_t &other)
    operator == for uint256_t
    Definition uint256_t.hpp:579
    -
    friend std::ostream & operator<<(std::ostream &op, uint256_t p)
    operator << for printing uint256_t integer
    Definition uint256_t.hpp:947
    -
    bool operator==(const T &other)
    operator == for other types
    Definition uint256_t.hpp:678
    -
    uint256_t operator&(const uint256_t &p)
    operator & for uint256_t (bitwise operator)
    Definition uint256_t.hpp:820
    -
    uint32_t _trz()
    Trailing zeroes in binary.
    Definition uint256_t.hpp:135
    -
    uint256_t & operator--()
    operator – (pre-decrement)
    Definition uint256_t.hpp:313
    -
    bool operator&&(const uint256_t &b)
    operator && for uint256_t
    Definition uint256_t.hpp:603
    -
    uint256_t & operator|=(const uint256_t &p)
    operator |= for uint256_t (bitwise operator)
    Definition uint256_t.hpp:887
    -
    uint128_t lower() const
    returns lower 128-bit integer part
    Definition uint256_t.hpp:169
    -
    uint256_t operator*(const uint256_t &p)
    operator * for uint256_t and other integer types.
    Definition uint256_t.hpp:371
    -
    uint256_t operator*(const T &p)
    operator * for uint256_t and other integer types.
    Definition uint256_t.hpp:362
    -
    bool operator!=(const uint256_t &other)
    operator != for uint256_t
    Definition uint256_t.hpp:588
    -
    uint256_t operator-(const uint256_t &p)
    operator - for uint256_t
    Definition uint256_t.hpp:298
    -
    uint256_t & operator/=(const T &p)
    operator /= for uint256_t and other integer types.
    Definition uint256_t.hpp:489
    -
    uint256_t & operator/=(const uint256_t &p)
    operator /= for uint256_t
    Definition uint256_t.hpp:476
    -
    bool operator<(const T &other)
    operator < for other types
    Definition uint256_t.hpp:630
    -
    uint256_t & operator+=(const uint256_t &p)
    operator += for uint256_t
    Definition uint256_t.hpp:255
    -
    uint256_t & operator^=(const uint256_t &p)
    operator ^= for uint256_t (bitwise operator)
    Definition uint256_t.hpp:919
    -
    uint256_t operator/(const T &p)
    operator / for uint256_t and other integer types.
    Definition uint256_t.hpp:458
    -
    bool operator>(const uint256_t &other)
    operator > for uint256_t
    Definition uint256_t.hpp:561
    -
    uint256_t operator^(const T &p)
    operator ^ for other types (bitwise operator)
    Definition uint256_t.hpp:901
    -
    uint256_t operator-=(const T p)
    operator -= for uint256_t and other integer types.
    Definition uint256_t.hpp:335
    -
    uint256_t operator|(const T &p)
    operator | for other types (bitwise operator)
    Definition uint256_t.hpp:856
    -
    uint256_t operator%(const uint256_t &p)
    operator % for uint256_t
    Definition uint256_t.hpp:499
    -
    bool operator>(const T &other)
    operator > for other types
    Definition uint256_t.hpp:654
    -
    uint256_t & operator>>=(const T &p)
    operator >>= for uint256_t
    Definition uint256_t.hpp:790
    -
    uint256_t & operator=(const T &p)
    operator = for other types
    Definition uint256_t.hpp:192
    -
    bool operator>=(const uint256_t &other)
    operator >= for uint256_t
    Definition uint256_t.hpp:570
    -
    uint128_t upper() const
    returns upper 128-bit integer part
    Definition uint256_t.hpp:175
    -
    uint256_t(T low)
    Parameterized constructor.
    Definition uint256_t.hpp:75
    -
    uint256_t & operator|=(const T &p)
    operator |= for other types (bitwise operator)
    Definition uint256_t.hpp:877
    -
    uint256_t & operator++()
    pre-increment operator
    Definition uint256_t.hpp:266
    -
    uint256_t operator+(const uint256_t &p)
    operator + for uint256_t and other integer types.
    Definition uint256_t.hpp:230
    -
    uint256_t & operator*=(const T &p)
    operator *= for uint256_t and other integer types.
    Definition uint256_t.hpp:392
    -
    uint256_t & operator&=(const T p)
    operator &= for other types (bitwise operator)
    Definition uint256_t.hpp:843
    -
    bool operator<(const uint256_t &other)
    operator < for uint256_t
    Definition uint256_t.hpp:543
    -
    void __get_integer_from_string(const std::string &str)
    First and second half of 256 bit number.
    Definition uint256_t.hpp:43
    -
    bool operator>=(const T &other)
    operator >= for other types
    Definition uint256_t.hpp:666
    - - - - - -
    T move(T... args)
    -
    STL namespace.
    -
    T operator!=(T... args)
    - -
    T size(T... args)
    +
    uint256_t operator&(const T &p)
    operator & for other types (bitwise operator)
    +
    uint256_t operator~()
    operator ~ for uint256_t
    +
    uint256_t operator^(const uint256_t &p)
    operator ^ for uint256_t (bitwise operator)
    +
    uint256_t & operator%=(const T &p)
    operator %= for uint256_t
    +
    bool operator()()
    operator () for uint256_t
    +
    uint256_t operator++(int)
    post-increment operator
    +
    uint256_t operator%(const T &p)
    operator % for uint256_t and other integer types.
    +
    std::pair< uint256_t, uint256_t > divide(const uint256_t &p)
    divide function for uint256_t and other integer types.
    +
    uint256_t & operator=(const std::string &p)
    operator = for type string
    +
    uint256_t operator-(const T &p)
    operator - for uint256_t and other integer types.
    +
    bool operator!=(const T &other)
    operator != for other types
    +
    bool operator==(const uint256_t &other)
    operator == for uint256_t
    +
    friend std::ostream & operator<<(std::ostream &op, uint256_t p)
    operator << for printing uint256_t integer
    +
    bool operator==(const T &other)
    operator == for other types
    +
    uint256_t operator&(const uint256_t &p)
    operator & for uint256_t (bitwise operator)
    +
    uint32_t _trz()
    Trailing zeroes in binary.
    +
    uint256_t & operator--()
    operator – (pre-decrement)
    +
    bool operator&&(const uint256_t &b)
    operator && for uint256_t
    +
    uint256_t & operator|=(const uint256_t &p)
    operator |= for uint256_t (bitwise operator)
    +
    uint128_t lower() const
    returns lower 128-bit integer part
    +
    uint256_t operator*(const uint256_t &p)
    operator * for uint256_t and other integer types.
    +
    uint256_t operator*(const T &p)
    operator * for uint256_t and other integer types.
    +
    bool operator!=(const uint256_t &other)
    operator != for uint256_t
    +
    uint256_t operator-(const uint256_t &p)
    operator - for uint256_t
    +
    uint256_t & operator/=(const T &p)
    operator /= for uint256_t and other integer types.
    +
    uint256_t & operator/=(const uint256_t &p)
    operator /= for uint256_t
    +
    bool operator<(const T &other)
    operator < for other types
    +
    uint256_t & operator+=(const uint256_t &p)
    operator += for uint256_t
    +
    uint256_t & operator^=(const uint256_t &p)
    operator ^= for uint256_t (bitwise operator)
    +
    uint256_t operator/(const T &p)
    operator / for uint256_t and other integer types.
    +
    bool operator>(const uint256_t &other)
    operator > for uint256_t
    +
    uint256_t operator^(const T &p)
    operator ^ for other types (bitwise operator)
    +
    uint256_t operator-=(const T p)
    operator -= for uint256_t and other integer types.
    +
    uint256_t operator|(const T &p)
    operator | for other types (bitwise operator)
    +
    uint256_t operator%(const uint256_t &p)
    operator % for uint256_t
    +
    bool operator>(const T &other)
    operator > for other types
    +
    uint256_t & operator>>=(const T &p)
    operator >>= for uint256_t
    +
    uint256_t & operator=(const T &p)
    operator = for other types
    +
    bool operator>=(const uint256_t &other)
    operator >= for uint256_t
    +
    uint128_t upper() const
    returns upper 128-bit integer part
    +
    uint256_t(T low)
    Parameterized constructor.
    Definition uint256_t.hpp:75
    +
    uint256_t & operator|=(const T &p)
    operator |= for other types (bitwise operator)
    +
    uint256_t & operator++()
    pre-increment operator
    +
    uint256_t operator+(const uint256_t &p)
    operator + for uint256_t and other integer types.
    +
    uint256_t & operator*=(const T &p)
    operator *= for uint256_t and other integer types.
    +
    uint256_t & operator&=(const T p)
    operator &= for other types (bitwise operator)
    +
    bool operator<(const uint256_t &other)
    operator < for uint256_t
    +
    void __get_integer_from_string(const std::string &str)
    First and second half of 256 bit number.
    Definition uint256_t.hpp:43
    +
    bool operator>=(const T &other)
    operator >= for other types
    -
    std::string add(const std::string &first, const std::string &second)
    Adding two string.
    Definition uint128_t.hpp:38
    +
    std::string add(const std::string &first, const std::string &second)
    Adding two string.
    Definition uint128_t.hpp:38
    diff --git a/da/da4/structoperations__on__datastructures_1_1circular__linked__list_1_1_node-members.html b/da/da4/structoperations__on__datastructures_1_1circular__linked__list_1_1_node-members.html index 465dfc4b4..260d277cb 100644 --- a/da/da4/structoperations__on__datastructures_1_1circular__linked__list_1_1_node-members.html +++ b/da/da4/structoperations__on__datastructures_1_1circular__linked__list_1_1_node-members.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Member List +TheAlgorithms/C++: Member List + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/da/dac/classdata__structures_1_1_segment_tree-members.html b/da/dac/classdata__structures_1_1_segment_tree-members.html index dd070faa6..8c56e9d1e 100644 --- a/da/dac/classdata__structures_1_1_segment_tree-members.html +++ b/da/dac/classdata__structures_1_1_segment_tree-members.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Member List +TheAlgorithms/C++: Member List + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/da/dac/n__queens__all__solution__optimised_8cpp.html b/da/dac/n__queens__all__solution__optimised_8cpp.html index 6e7344720..6634f6f92 100644 --- a/da/dac/n__queens__all__solution__optimised_8cpp.html +++ b/da/dac/n__queens__all__solution__optimised_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: backtracking/n_queens_all_solution_optimised.cpp File Reference +TheAlgorithms/C++: backtracking/n_queens_all_solution_optimised.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + @@ -120,7 +137,9 @@ Include dependency graph for n_queens_all_solution_optimised.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -133,13 +152,13 @@ Namespaces - + - + - + @@ -150,6 +169,8 @@ Functions
    Author
    Sombit Bose
    David Leal
    + +

    Definition in file n_queens_all_solution_optimised.cpp.

    Function Documentation

    ◆ CanIMove()

    @@ -162,7 +183,7 @@ template<size_t n> - + @@ -196,33 +217,27 @@ template<size_t n>

    check in the row

    check the first diagonal

    check the second diagonal

    -
    60 {
    -
    61 /// check in the row
    -
    62 for (int i = 0; i <= col; i++) {
    + +

    Definition at line 59 of file n_queens_all_solution_optimised.cpp.

    +
    60 {
    +
    62 for (int i = 0; i <= col; i++) {
    63 if (board[row][i] == 1) {
    64 return false;
    65 }
    -
    66 }
    -
    67 /// check the first diagonal
    -
    68 for (int i = row, j = col; i >= 0 && j >= 0; i--, j--) {
    +
    66 }
    +
    68 for (int i = row, j = col; i >= 0 && j >= 0; i--, j--) {
    69 if (board[i][j] == 1) {
    70 return false;
    71 }
    -
    72 }
    -
    73 /// check the second diagonal
    -
    74 for (int i = row, j = col; i <= n - 1 && j >= 0; i++, j--) {
    +
    72 }
    +
    74 for (int i = row, j = col; i <= n - 1 && j >= 0; i++, j--) {
    75 if (board[i][j] == 1) {
    76 return false;
    77 }
    78 }
    79 return true;
    80}
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    @@ -242,9 +257,11 @@ Here is the call graph for this function:

    Main function.

    Returns
    0 on exit
    + +

    Definition at line 109 of file n_queens_all_solution_optimised.cpp.

    109 {
    110 const int n = 4;
    - +
    111 std::array<std::array<int, n>, n> board{};
    112
    113 if (n % 2 == 0) {
    114 for (int i = 0; i <= n / 2 - 1; i++) {
    @@ -265,8 +282,7 @@ Here is the call graph for this function:
    129 }
    130 return 0;
    131}
    - -
    void NQueenSol(std::array< std::array< int, n >, n > board, int col)
    Definition n_queens_all_solution_optimised.cpp:89
    +
    void NQueenSol(std::array< std::array< int, n >, n > board, int col)
    @@ -281,7 +297,7 @@ template<size_t n> - + @@ -303,6 +319,8 @@ template<size_t n>

    Namespaces

    namespace  backtracking

    Functions

    template<size_t n>
    void backtracking::n_queens_optimized::PrintSol (const std::array< std::array< int, n >, n > &board)
    void backtracking::n_queens_optimized::PrintSol (const std::array< std::array< int, n >, n > &board)
     
    template<size_t n>
    bool backtracking::n_queens_optimized::CanIMove (const std::array< std::array< int, n >, n > &board, int row, int col)
    bool backtracking::n_queens_optimized::CanIMove (const std::array< std::array< int, n >, n > &board, int row, int col)
     
    template<size_t n>
    void backtracking::n_queens_optimized::NQueenSol (std::array< std::array< int, n >, n > board, int col)
    void backtracking::n_queens_optimized::NQueenSol (std::array< std::array< int, n >, n > board, int col)
     
    int main ()
     Main function.
    bool backtracking::n_queens_optimized::CanIMove (const std::array< std::array< int, n >, n > & board, const std::array< std::array< int, n >, n > & board,
    void backtracking::n_queens_optimized::NQueenSol (std::array< std::array< int, n >, n > board, std::array< std::array< int, n >, n > board,
    + +

    Definition at line 89 of file n_queens_all_solution_optimised.cpp.

    89 {
    90 if (col >= n) {
    91 PrintSol<n>(board);
    @@ -316,12 +334,7 @@ template<size_t n>
    99 }
    100 }
    101}
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    @@ -335,7 +348,7 @@ template<size_t n>
    void backtracking::n_queens_optimized::PrintSol ( - const std::array< std::array< int, n >, n > & board) + const std::array< std::array< int, n >, n > & board) @@ -352,32 +365,27 @@ template<size_t n>
    + +

    Definition at line 30 of file n_queens_all_solution_optimised.cpp.

    30 {
    31 for (int i = 0; i < n; i++) {
    32 for (int j = 0; j < n; j++) {
    -
    33 std::cout << board[i][j] << " ";
    +
    33 std::cout << board[i][j] << " ";
    34 }
    - +
    35 std::cout << std::endl;
    36 }
    - +
    37 std::cout << std::endl;
    38 if (n % 2 == 0 || (n % 2 == 1 && board[n / 2 + 1][0] != 1)) {
    39 for (int i = 0; i < n; i++) {
    40 for (int j = 0; j < n; j++) {
    -
    41 std::cout << board[j][i] << " ";
    +
    41 std::cout << board[j][i] << " ";
    42 }
    - +
    43 std::cout << std::endl;
    44 }
    - +
    45 std::cout << std::endl;
    46 }
    47}
    - -
    T endl(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    diff --git a/da/dac/n__queens__all__solution__optimised_8cpp_a04090463be4942a69ea91fe7386da905_cgraph.map b/da/dac/n__queens__all__solution__optimised_8cpp_a04090463be4942a69ea91fe7386da905_cgraph.map deleted file mode 100644 index b4e9af8ff..000000000 --- a/da/dac/n__queens__all__solution__optimised_8cpp_a04090463be4942a69ea91fe7386da905_cgraph.map +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/da/dac/n__queens__all__solution__optimised_8cpp_a04090463be4942a69ea91fe7386da905_cgraph.md5 b/da/dac/n__queens__all__solution__optimised_8cpp_a04090463be4942a69ea91fe7386da905_cgraph.md5 deleted file mode 100644 index ab6aa498b..000000000 --- a/da/dac/n__queens__all__solution__optimised_8cpp_a04090463be4942a69ea91fe7386da905_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -288600765dfd88c7ef660613ae7027d5 \ No newline at end of file diff --git a/da/dac/n__queens__all__solution__optimised_8cpp_a04090463be4942a69ea91fe7386da905_cgraph.svg b/da/dac/n__queens__all__solution__optimised_8cpp_a04090463be4942a69ea91fe7386da905_cgraph.svg deleted file mode 100644 index 2e30d91ed..000000000 --- a/da/dac/n__queens__all__solution__optimised_8cpp_a04090463be4942a69ea91fe7386da905_cgraph.svg +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - - - - - - - -backtracking::n_queens_optimized::PrintSol - - -Node1 - - -backtracking::n_queens -_optimized::PrintSol - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/da/dac/n__queens__all__solution__optimised_8cpp_a04090463be4942a69ea91fe7386da905_cgraph_org.svg b/da/dac/n__queens__all__solution__optimised_8cpp_a04090463be4942a69ea91fe7386da905_cgraph_org.svg deleted file mode 100644 index e13036fe4..000000000 --- a/da/dac/n__queens__all__solution__optimised_8cpp_a04090463be4942a69ea91fe7386da905_cgraph_org.svg +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - -backtracking::n_queens_optimized::PrintSol - - -Node1 - - -backtracking::n_queens -_optimized::PrintSol - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - diff --git a/da/dac/n__queens__all__solution__optimised_8cpp_a23c0547e4fd1708e6fb643b08327a60f_cgraph.map b/da/dac/n__queens__all__solution__optimised_8cpp_a23c0547e4fd1708e6fb643b08327a60f_cgraph.map deleted file mode 100644 index d1ca41f46..000000000 --- a/da/dac/n__queens__all__solution__optimised_8cpp_a23c0547e4fd1708e6fb643b08327a60f_cgraph.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/da/dac/n__queens__all__solution__optimised_8cpp_a23c0547e4fd1708e6fb643b08327a60f_cgraph.md5 b/da/dac/n__queens__all__solution__optimised_8cpp_a23c0547e4fd1708e6fb643b08327a60f_cgraph.md5 deleted file mode 100644 index bc1de13a0..000000000 --- a/da/dac/n__queens__all__solution__optimised_8cpp_a23c0547e4fd1708e6fb643b08327a60f_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -427717707d61a559f4ad8ba32e8d6df1 \ No newline at end of file diff --git a/da/dac/n__queens__all__solution__optimised_8cpp_a23c0547e4fd1708e6fb643b08327a60f_cgraph.svg b/da/dac/n__queens__all__solution__optimised_8cpp_a23c0547e4fd1708e6fb643b08327a60f_cgraph.svg deleted file mode 100644 index 66518a940..000000000 --- a/da/dac/n__queens__all__solution__optimised_8cpp_a23c0547e4fd1708e6fb643b08327a60f_cgraph.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - - - - - - - -backtracking::n_queens_optimized::NQueenSol - - -Node1 - - -backtracking::n_queens -_optimized::NQueenSol - - - - - -Node1->Node1 - - - - - - - - - - - - - diff --git a/da/dac/n__queens__all__solution__optimised_8cpp_a23c0547e4fd1708e6fb643b08327a60f_cgraph_org.svg b/da/dac/n__queens__all__solution__optimised_8cpp_a23c0547e4fd1708e6fb643b08327a60f_cgraph_org.svg deleted file mode 100644 index c2448cb15..000000000 --- a/da/dac/n__queens__all__solution__optimised_8cpp_a23c0547e4fd1708e6fb643b08327a60f_cgraph_org.svg +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - -backtracking::n_queens_optimized::NQueenSol - - -Node1 - - -backtracking::n_queens -_optimized::NQueenSol - - - - - -Node1->Node1 - - - - - - - - diff --git a/da/dac/n__queens__all__solution__optimised_8cpp_a9e48455584a4faa33e83dd1891efd9b9_cgraph.map b/da/dac/n__queens__all__solution__optimised_8cpp_a9e48455584a4faa33e83dd1891efd9b9_cgraph.map deleted file mode 100644 index 97da12603..000000000 --- a/da/dac/n__queens__all__solution__optimised_8cpp_a9e48455584a4faa33e83dd1891efd9b9_cgraph.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/da/dac/n__queens__all__solution__optimised_8cpp_a9e48455584a4faa33e83dd1891efd9b9_cgraph.md5 b/da/dac/n__queens__all__solution__optimised_8cpp_a9e48455584a4faa33e83dd1891efd9b9_cgraph.md5 deleted file mode 100644 index 96afab673..000000000 --- a/da/dac/n__queens__all__solution__optimised_8cpp_a9e48455584a4faa33e83dd1891efd9b9_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -67cf7f4ed7be596a3b1a8a8b5b73fb1d \ No newline at end of file diff --git a/da/dac/n__queens__all__solution__optimised_8cpp_a9e48455584a4faa33e83dd1891efd9b9_cgraph.svg b/da/dac/n__queens__all__solution__optimised_8cpp_a9e48455584a4faa33e83dd1891efd9b9_cgraph.svg deleted file mode 100644 index a7dfa4105..000000000 --- a/da/dac/n__queens__all__solution__optimised_8cpp_a9e48455584a4faa33e83dd1891efd9b9_cgraph.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - - - - - - - -backtracking::n_queens_optimized::CanIMove - - -Node1 - - -backtracking::n_queens -_optimized::CanIMove - - - - - -Node1->Node1 - - - - - - - - - - - - - diff --git a/da/dac/n__queens__all__solution__optimised_8cpp_a9e48455584a4faa33e83dd1891efd9b9_cgraph_org.svg b/da/dac/n__queens__all__solution__optimised_8cpp_a9e48455584a4faa33e83dd1891efd9b9_cgraph_org.svg deleted file mode 100644 index 4c5533a77..000000000 --- a/da/dac/n__queens__all__solution__optimised_8cpp_a9e48455584a4faa33e83dd1891efd9b9_cgraph_org.svg +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - -backtracking::n_queens_optimized::CanIMove - - -Node1 - - -backtracking::n_queens -_optimized::CanIMove - - - - - -Node1->Node1 - - - - - - - - diff --git a/da/dac/n__queens__all__solution__optimised_8cpp_source.html b/da/dac/n__queens__all__solution__optimised_8cpp_source.html new file mode 100644 index 000000000..25017e64c --- /dev/null +++ b/da/dac/n__queens__all__solution__optimised_8cpp_source.html @@ -0,0 +1,238 @@ + + + + + + + + +TheAlgorithms/C++: backtracking/n_queens_all_solution_optimised.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    n_queens_all_solution_optimised.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    10#include <array>
    +
    11#include <iostream>
    +
    12
    +
    17namespace backtracking {
    +
    23namespace n_queens_optimized {
    +
    29template <size_t n>
    +
    +
    30void PrintSol(const std::array<std::array<int, n>, n> &board) {
    +
    31 for (int i = 0; i < n; i++) {
    +
    32 for (int j = 0; j < n; j++) {
    +
    33 std::cout << board[i][j] << " ";
    +
    34 }
    +
    35 std::cout << std::endl;
    +
    36 }
    +
    37 std::cout << std::endl;
    +
    38 if (n % 2 == 0 || (n % 2 == 1 && board[n / 2 + 1][0] != 1)) {
    +
    39 for (int i = 0; i < n; i++) {
    +
    40 for (int j = 0; j < n; j++) {
    +
    41 std::cout << board[j][i] << " ";
    +
    42 }
    +
    43 std::cout << std::endl;
    +
    44 }
    +
    45 std::cout << std::endl;
    +
    46 }
    +
    47}
    +
    +
    48
    +
    58template <size_t n>
    +
    +
    59bool CanIMove(const std::array<std::array<int, n>, n> &board, int row,
    +
    60 int col) {
    +
    62 for (int i = 0; i <= col; i++) {
    +
    63 if (board[row][i] == 1) {
    +
    64 return false;
    +
    65 }
    +
    66 }
    +
    68 for (int i = row, j = col; i >= 0 && j >= 0; i--, j--) {
    +
    69 if (board[i][j] == 1) {
    +
    70 return false;
    +
    71 }
    +
    72 }
    +
    74 for (int i = row, j = col; i <= n - 1 && j >= 0; i++, j--) {
    +
    75 if (board[i][j] == 1) {
    +
    76 return false;
    +
    77 }
    +
    78 }
    +
    79 return true;
    +
    80}
    +
    +
    81
    +
    88template <size_t n>
    +
    +
    89void NQueenSol(std::array<std::array<int, n>, n> board, int col) {
    +
    90 if (col >= n) {
    +
    91 PrintSol<n>(board);
    +
    92 return;
    +
    93 }
    +
    94 for (int i = 0; i < n; i++) {
    +
    95 if (CanIMove<n>(board, i, col)) {
    +
    96 board[i][col] = 1;
    +
    97 NQueenSol<n>(board, col + 1);
    +
    98 board[i][col] = 0;
    +
    99 }
    +
    100 }
    +
    101}
    +
    +
    102} // namespace n_queens_optimized
    +
    103} // namespace backtracking
    +
    104
    +
    +
    109int main() {
    +
    110 const int n = 4;
    +
    111 std::array<std::array<int, n>, n> board{};
    +
    112
    +
    113 if (n % 2 == 0) {
    +
    114 for (int i = 0; i <= n / 2 - 1; i++) {
    +
    115 if (backtracking::n_queens_optimized::CanIMove(board, i, 0)) {
    +
    116 board[i][0] = 1;
    +
    117 backtracking::n_queens_optimized::NQueenSol(board, 1);
    +
    118 board[i][0] = 0;
    +
    119 }
    +
    120 }
    +
    121 } else {
    +
    122 for (int i = 0; i <= n / 2; i++) {
    +
    123 if (backtracking::n_queens_optimized::CanIMove(board, i, 0)) {
    +
    124 board[i][0] = 1;
    +
    125 backtracking::n_queens_optimized::NQueenSol(board, 1);
    +
    126 board[i][0] = 0;
    +
    127 }
    +
    128 }
    +
    129 }
    +
    130 return 0;
    +
    131}
    +
    +
    void PrintSol(const std::array< std::array< int, n >, n > &board)
    +
    void NQueenSol(std::array< std::array< int, n >, n > board, int col)
    +
    bool CanIMove(const std::array< std::array< int, n >, n > &board, int row, int col)
    +
    int main()
    Main function.
    +
    for vector container
    +
    Functions for Eight Queens puzzle optimized.
    +
    +
    + + + + diff --git a/da/db8/count__of__set__bits_8cpp.html b/da/db8/count__of__set__bits_8cpp.html index 81a32e205..e0e32fd2a 100644 --- a/da/db8/count__of__set__bits_8cpp.html +++ b/da/db8/count__of__set__bits_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: bit_manipulation/count_of_set_bits.cpp File Reference +TheAlgorithms/C++: bit_manipulation/count_of_set_bits.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -121,7 +138,9 @@ Include dependency graph for count_of_set_bits.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -133,7 +152,7 @@ Namespaces

    Namespaces

    namespace  bit_manipulation
    - + @@ -148,6 +167,8 @@ Functions

    A binary number consists of two digits. They are 0 & 1. Digit 1 is known as set bit in computer terms. Worst Case Time Complexity: O(log n) Space complexity: O(1)

    Author
    Swastika Gupta
    Prashant Thakur
    + +

    Definition in file count_of_set_bits.cpp.

    Function Documentation

    ◆ countSetBits()

    @@ -156,7 +177,7 @@ Functions

    Functions

    std::uint64_t bit_manipulation::count_of_set_bits::countSetBits (std ::int64_t n)
    std::uint64_t bit_manipulation::count_of_set_bits::countSetBits (std ::int64_t n)
     The main function implements set bit count.
     
    static void test ()
    - + @@ -172,6 +193,8 @@ Functions
    Returns
    total number of set-bits in the binary representation of number n
    + +

    Definition at line 38 of file count_of_set_bits.cpp.

    39 { // int64_t is preferred over int so that
    40 // no Overflow can be there.
    41
    @@ -187,12 +210,7 @@ Functions
    51 // set-bits in it. Means if my number is having "3" set bits, then this
    52 // while loop will run only "3" times!!
    53}
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -212,6 +230,8 @@ Here is the call graph for this function:

    Main function.

    Returns
    0 on exit
    + +

    Definition at line 80 of file count_of_set_bits.cpp.

    80 {
    81 test(); // run self-test implementations
    82 return 0;
    @@ -241,6 +261,8 @@ Here is the call graph for this function:
    std::uint64_t bit_manipulation::count_of_set_bits::countSetBits std::uint64_t bit_manipulation::count_of_set_bits::countSetBits ( std ::int64_t n)
    + +

    Definition at line 57 of file count_of_set_bits.cpp.

    57 {
    58 // n = 4 return 1
    59 assert(bit_manipulation::count_of_set_bits::countSetBits(4) == 1);
    @@ -258,10 +280,8 @@ Here is the call graph for this function:
    71 assert(bit_manipulation::count_of_set_bits::countSetBits(97) == 3);
    72 // n = 31 return 5
    73 assert(bit_manipulation::count_of_set_bits::countSetBits(31) == 5);
    -
    74 std::cout << "All test cases successfully passed!" << std::endl;
    +
    74 std::cout << "All test cases successfully passed!" << std::endl;
    75}
    - -
    T endl(T... args)
    diff --git a/da/db8/count__of__set__bits_8cpp_a86c98dc299e4db28b73e08309d977e62_cgraph.map b/da/db8/count__of__set__bits_8cpp_a86c98dc299e4db28b73e08309d977e62_cgraph.map deleted file mode 100644 index c4440c820..000000000 --- a/da/db8/count__of__set__bits_8cpp_a86c98dc299e4db28b73e08309d977e62_cgraph.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/da/db8/count__of__set__bits_8cpp_a86c98dc299e4db28b73e08309d977e62_cgraph.md5 b/da/db8/count__of__set__bits_8cpp_a86c98dc299e4db28b73e08309d977e62_cgraph.md5 deleted file mode 100644 index 2cfc0e1ab..000000000 --- a/da/db8/count__of__set__bits_8cpp_a86c98dc299e4db28b73e08309d977e62_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -a371fd3fbac51fe7453dcf76db9829e2 \ No newline at end of file diff --git a/da/db8/count__of__set__bits_8cpp_a86c98dc299e4db28b73e08309d977e62_cgraph.svg b/da/db8/count__of__set__bits_8cpp_a86c98dc299e4db28b73e08309d977e62_cgraph.svg deleted file mode 100644 index 701871f2f..000000000 --- a/da/db8/count__of__set__bits_8cpp_a86c98dc299e4db28b73e08309d977e62_cgraph.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - - - - - - - -bit_manipulation::count_of_set_bits::countSetBits - - -Node1 - - -bit_manipulation::count -_of_set_bits::countSetBits - - - - - -Node1->Node1 - - - - - - - - - - - - - diff --git a/da/db8/count__of__set__bits_8cpp_a86c98dc299e4db28b73e08309d977e62_cgraph_org.svg b/da/db8/count__of__set__bits_8cpp_a86c98dc299e4db28b73e08309d977e62_cgraph_org.svg deleted file mode 100644 index 0e23e5945..000000000 --- a/da/db8/count__of__set__bits_8cpp_a86c98dc299e4db28b73e08309d977e62_cgraph_org.svg +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - -bit_manipulation::count_of_set_bits::countSetBits - - -Node1 - - -bit_manipulation::count -_of_set_bits::countSetBits - - - - - -Node1->Node1 - - - - - - - - diff --git a/da/db8/count__of__set__bits_8cpp_source.html b/da/db8/count__of__set__bits_8cpp_source.html new file mode 100644 index 000000000..d1f91b0c7 --- /dev/null +++ b/da/db8/count__of__set__bits_8cpp_source.html @@ -0,0 +1,193 @@ + + + + + + + + +TheAlgorithms/C++: bit_manipulation/count_of_set_bits.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    count_of_set_bits.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    18#include <cassert>
    +
    19#include <cstdint>
    +
    20#include <iostream>
    +
    25namespace bit_manipulation {
    +
    32namespace count_of_set_bits {
    +
    +
    38std::uint64_t countSetBits(
    +
    39 std ::int64_t n) { // int64_t is preferred over int so that
    +
    40 // no Overflow can be there.
    +
    41
    +
    42 int count = 0; // "count" variable is used to count number of set-bits('1')
    +
    43 // in binary representation of number 'n'
    +
    44 while (n != 0) {
    +
    45 ++count;
    +
    46 n = (n & (n - 1));
    +
    47 }
    +
    48 return count;
    +
    49 // Why this algorithm is better than the standard one?
    +
    50 // Because this algorithm runs the same number of times as the number of
    +
    51 // set-bits in it. Means if my number is having "3" set bits, then this
    +
    52 // while loop will run only "3" times!!
    +
    53}
    +
    +
    54} // namespace count_of_set_bits
    +
    55} // namespace bit_manipulation
    +
    56
    +
    57static void test() {
    +
    58 // n = 4 return 1
    +
    59 assert(bit_manipulation::count_of_set_bits::countSetBits(4) == 1);
    +
    60 // n = 6 return 2
    +
    61 assert(bit_manipulation::count_of_set_bits::countSetBits(6) == 2);
    +
    62 // n = 13 return 3
    +
    63 assert(bit_manipulation::count_of_set_bits::countSetBits(13) == 3);
    +
    64 // n = 9 return 2
    +
    65 assert(bit_manipulation::count_of_set_bits::countSetBits(9) == 2);
    +
    66 // n = 15 return 4
    +
    67 assert(bit_manipulation::count_of_set_bits::countSetBits(15) == 4);
    +
    68 // n = 25 return 3
    +
    69 assert(bit_manipulation::count_of_set_bits::countSetBits(25) == 3);
    +
    70 // n = 97 return 3
    +
    71 assert(bit_manipulation::count_of_set_bits::countSetBits(97) == 3);
    +
    72 // n = 31 return 5
    +
    73 assert(bit_manipulation::count_of_set_bits::countSetBits(31) == 5);
    +
    74 std::cout << "All test cases successfully passed!" << std::endl;
    +
    75}
    +
    +
    80int main() {
    +
    81 test(); // run self-test implementations
    +
    82 return 0;
    +
    83}
    +
    +
    std::uint64_t countSetBits(std ::int64_t n)
    The main function implements set bit count.
    +
    int main()
    Main function.
    + +
    Functions for the count sets bits implementation.
    +
    +
    + + + + diff --git a/da/dc1/structstd_1_1is__unsigned_3_01uint128__t_01_4__coll__graph.map b/da/dc1/structstd_1_1is__unsigned_3_01uint128__t_01_4__coll__graph.map index 37a7c2e4c..a34b2b0ed 100644 --- a/da/dc1/structstd_1_1is__unsigned_3_01uint128__t_01_4__coll__graph.map +++ b/da/dc1/structstd_1_1is__unsigned_3_01uint128__t_01_4__coll__graph.map @@ -1,5 +1,5 @@ - + diff --git a/da/dc1/structstd_1_1is__unsigned_3_01uint128__t_01_4__coll__graph.md5 b/da/dc1/structstd_1_1is__unsigned_3_01uint128__t_01_4__coll__graph.md5 index 443f973ea..a5d3325c5 100644 --- a/da/dc1/structstd_1_1is__unsigned_3_01uint128__t_01_4__coll__graph.md5 +++ b/da/dc1/structstd_1_1is__unsigned_3_01uint128__t_01_4__coll__graph.md5 @@ -1 +1 @@ -a18170162392886a96741c2eb8222654 \ No newline at end of file +a8f7d2e6c774fe67f34c2f81999b394c \ No newline at end of file diff --git a/da/dc1/structstd_1_1is__unsigned_3_01uint128__t_01_4__coll__graph.svg b/da/dc1/structstd_1_1is__unsigned_3_01uint128__t_01_4__coll__graph.svg index c817ebd59..dc67d8b81 100644 --- a/da/dc1/structstd_1_1is__unsigned_3_01uint128__t_01_4__coll__graph.svg +++ b/da/dc1/structstd_1_1is__unsigned_3_01uint128__t_01_4__coll__graph.svg @@ -31,7 +31,7 @@ Node2 - + std::true_type diff --git a/da/dc1/structstd_1_1is__unsigned_3_01uint128__t_01_4__coll__graph_org.svg b/da/dc1/structstd_1_1is__unsigned_3_01uint128__t_01_4__coll__graph_org.svg index 91dcbf896..9a8e4ed1b 100644 --- a/da/dc1/structstd_1_1is__unsigned_3_01uint128__t_01_4__coll__graph_org.svg +++ b/da/dc1/structstd_1_1is__unsigned_3_01uint128__t_01_4__coll__graph_org.svg @@ -20,7 +20,7 @@ Node2 - + std::true_type diff --git a/da/dc3/linked__list_8cpp.html b/da/dc3/linked__list_8cpp.html index d3557b65a..5220f72ca 100644 --- a/da/dc3/linked__list_8cpp.html +++ b/da/dc3/linked__list_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: data_structures/linked_list.cpp File Reference +TheAlgorithms/C++: data_structures/linked_list.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -122,7 +139,9 @@ Include dependency graph for linked_list.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -141,7 +160,7 @@ Namespaces

    Classes

    class  data_structures::linked_list::link
    - + @@ -154,6 +173,8 @@ 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.

    Values can be removed by also iterating through the list. When the node containing the value is found, the node pointing to the current node is made to point to the node that the current node is pointing to, and then returning the current node to heap store.

    + +

    Definition in file linked_list.cpp.

    Function Documentation

    ◆ isDigit()

    @@ -164,7 +185,7 @@ the pointers) starting from the first link. Whichever link points to null is - +

    Functions

    bool data_structures::linked_list::isDigit (const std::string &s)
    bool data_structures::linked_list::isDigit (const std::string &s)
     
    int main ()
     
    bool data_structures::linked_list::isDigit (const std::string & s)const std::string & s)
    @@ -178,22 +199,18 @@ the pointers) starting from the first link. Whichever link points to null is
    Returns
    true if there are only digits present in the string
    false if any other character is found
    + +

    Definition at line 40 of file linked_list.cpp.

    40 {
    41 // function statements here
    42 for (char i : s) {
    -
    43 if (!isdigit(i)) {
    +
    43 if (!isdigit(i)) {
    44 return false;
    45 }
    46 }
    47 return true;
    48}
    -
    T isdigit(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    @@ -211,80 +228,71 @@ Here is the call graph for this function:

    Main function: Allows the user add and delete values from the list. Also allows user to search for and display values in the list.

    Returns
    0 on exit
    + +

    Definition at line 222 of file linked_list.cpp.

    222 {
    224 int choice = 0;
    225 int x = 0;
    -
    226 std::string s;
    +
    226 std::string s;
    227 do {
    -
    228 std::cout << "\n1. Insert";
    -
    229 std::cout << "\n2. Delete";
    -
    230 std::cout << "\n3. Search";
    -
    231 std::cout << "\n4. Print";
    -
    232 std::cout << "\n0. Exit";
    -
    233 std::cout << "\n\nEnter you choice : ";
    -
    234 std::cin >> choice;
    +
    228 std::cout << "\n1. Insert";
    +
    229 std::cout << "\n2. Delete";
    +
    230 std::cout << "\n3. Search";
    +
    231 std::cout << "\n4. Print";
    +
    232 std::cout << "\n0. Exit";
    +
    233 std::cout << "\n\nEnter you choice : ";
    +
    234 std::cin >> choice;
    235 switch (choice) {
    236 case 0:
    -
    237 std::cout << "\nQuitting the program...\n";
    +
    237 std::cout << "\nQuitting the program...\n";
    238 break;
    239 case 1:
    -
    240 std::cout << "\nEnter the element to be inserted : ";
    -
    241 std::cin >> s;
    +
    240 std::cout << "\nEnter the element to be inserted : ";
    +
    241 std::cin >> s;
    242
    243 if (data_structures::linked_list::isDigit(s)) {
    -
    244 x = std::stoi(s);
    +
    244 x = std::stoi(s);
    245 l.push_back(x);
    246 } else {
    -
    247 std::cout << "Wrong Input!\n";
    +
    247 std::cout << "Wrong Input!\n";
    248 }
    249 break;
    250 case 2:
    -
    251 std::cout << "\nEnter the element to be removed : ";
    -
    252 std::cin >> s;
    +
    251 std::cout << "\nEnter the element to be removed : ";
    +
    252 std::cin >> s;
    253 if (data_structures::linked_list::isDigit(s)) {
    -
    254 x = std::stoi(s);
    +
    254 x = std::stoi(s);
    255 l.erase(x);
    256 } else {
    -
    257 std::cout << "Wrong Input!\n";
    +
    257 std::cout << "Wrong Input!\n";
    258 }
    259 break;
    260 case 3:
    -
    261 std::cout << "\nEnter the element to be searched : ";
    -
    262 std::cin >> s;
    +
    261 std::cout << "\nEnter the element to be searched : ";
    +
    262 std::cin >> s;
    263 if (data_structures::linked_list::isDigit(s)) {
    -
    264 x = std::stoi(s);
    - +
    264 x = std::stoi(s);
    +
    265 std::shared_ptr<data_structures::linked_list::link> found =
    266 l.search(x);
    267 } else {
    -
    268 std::cout << "Wrong Input!\n";
    +
    268 std::cout << "Wrong Input!\n";
    269 }
    270 break;
    271 case 4:
    272 l.display();
    -
    273 std::cout << "\n";
    +
    273 std::cout << "\n";
    274 break;
    275 default:
    -
    276 std::cout << "Invalid Input\n" << std::endl;
    +
    276 std::cout << "Invalid Input\n" << std::endl;
    277 break;
    278 }
    279 } while (choice != 0);
    280 return 0;
    281}
    - - - -
    Definition reverse_a_linked_list.cpp:68
    -
    double l(double x)
    Another test function.
    Definition composite_simpson_rule.cpp:119
    -
    T endl(T... args)
    - -
    T stoi(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + +
    double l(double x)
    Another test function.
    +
    diff --git a/da/dc3/linked__list_8cpp_ab1a372fe1e605bc0e0987dcdd7361180_cgraph.map b/da/dc3/linked__list_8cpp_ab1a372fe1e605bc0e0987dcdd7361180_cgraph.map deleted file mode 100644 index 03ccc890f..000000000 --- a/da/dc3/linked__list_8cpp_ab1a372fe1e605bc0e0987dcdd7361180_cgraph.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/da/dc3/linked__list_8cpp_ab1a372fe1e605bc0e0987dcdd7361180_cgraph.md5 b/da/dc3/linked__list_8cpp_ab1a372fe1e605bc0e0987dcdd7361180_cgraph.md5 deleted file mode 100644 index edd046da9..000000000 --- a/da/dc3/linked__list_8cpp_ab1a372fe1e605bc0e0987dcdd7361180_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -9c384d21fdacc398d943f956d6300ac8 \ No newline at end of file diff --git a/da/dc3/linked__list_8cpp_ab1a372fe1e605bc0e0987dcdd7361180_cgraph.svg b/da/dc3/linked__list_8cpp_ab1a372fe1e605bc0e0987dcdd7361180_cgraph.svg deleted file mode 100644 index fa3dfda2a..000000000 --- a/da/dc3/linked__list_8cpp_ab1a372fe1e605bc0e0987dcdd7361180_cgraph.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - - - - - - - -data_structures::linked_list::isDigit - - -Node1 - - -data_structures::linked -_list::isDigit - - - - - -Node1->Node1 - - - - - - - - - - - - - diff --git a/da/dc3/linked__list_8cpp_ab1a372fe1e605bc0e0987dcdd7361180_cgraph_org.svg b/da/dc3/linked__list_8cpp_ab1a372fe1e605bc0e0987dcdd7361180_cgraph_org.svg deleted file mode 100644 index 536df65b8..000000000 --- a/da/dc3/linked__list_8cpp_ab1a372fe1e605bc0e0987dcdd7361180_cgraph_org.svg +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - -data_structures::linked_list::isDigit - - -Node1 - - -data_structures::linked -_list::isDigit - - - - - -Node1->Node1 - - - - - - - - diff --git a/da/dc3/linked__list_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/da/dc3/linked__list_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 816c662ea..000000000 --- a/da/dc3/linked__list_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/da/dc3/linked__list_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/da/dc3/linked__list_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index 17f05a85b..000000000 --- a/da/dc3/linked__list_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -c603039fabf0cb12a3b6f966237503b1 \ No newline at end of file diff --git a/da/dc3/linked__list_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/da/dc3/linked__list_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index e11f30717..000000000 --- a/da/dc3/linked__list_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::stoi - - - - - -Node1->Node3 - - - - - - - - - - - - - diff --git a/da/dc3/linked__list_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/da/dc3/linked__list_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 698f753d8..000000000 --- a/da/dc3/linked__list_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::stoi - - - - - -Node1->Node3 - - - - - - - - diff --git a/da/dc3/linked__list_8cpp_source.html b/da/dc3/linked__list_8cpp_source.html new file mode 100644 index 000000000..66df0e049 --- /dev/null +++ b/da/dc3/linked__list_8cpp_source.html @@ -0,0 +1,378 @@ + + + + + + + + +TheAlgorithms/C++: data_structures/linked_list.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    linked_list.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    17#include <iostream>
    +
    18#include <memory>
    +
    19#include <string>
    +
    20
    +
    25namespace data_structures {
    +
    26
    +
    31namespace linked_list {
    +
    32
    +
    +
    40bool isDigit(const std::string& s) {
    +
    41 // function statements here
    +
    42 for (char i : s) {
    +
    43 if (!isdigit(i)) {
    +
    44 return false;
    +
    45 }
    +
    46 }
    +
    47 return true;
    +
    48}
    +
    +
    49
    +
    +
    53class link {
    +
    54 private:
    +
    55 int pvalue;
    +
    56 std::shared_ptr<link> psucc;
    +
    57
    +
    58 public:
    +
    63 int val() { return pvalue; }
    +
    64
    +
    69 std::shared_ptr<link>& succ() { return psucc; }
    +
    70
    +
    75 explicit link(int value = 0) : pvalue(value), psucc(nullptr) {}
    +
    76};
    +
    +
    77
    +
    81class list {
    +
    82 private:
    +
    83 std::shared_ptr<link> first;
    +
    84 std::shared_ptr<link> last;
    +
    85 public:
    +
    +
    89 list() {
    +
    90 // Initialize the first link
    +
    91 first = std::make_shared<link>();
    +
    92 // Initialize the last link with the first link
    +
    93 last = nullptr;
    +
    94 }
    +
    +
    95
    +
    96 bool isEmpty();
    +
    97
    +
    98 void push_back(int new_elem);
    +
    99 void push_front(int new_elem);
    +
    100 void erase(int old_elem);
    +
    101 void display();
    +
    102 std::shared_ptr<link> search(int find_elem);
    +
    103 void reverse();
    +
    104};
    +
    105
    +
    + +
    112 if (last == nullptr) {
    +
    113 return true;
    +
    114 } else {
    +
    115 return false;
    +
    116 }
    +
    117}
    +
    +
    118
    +
    +
    123void list::push_back(int new_elem) {
    +
    124 if (isEmpty()) {
    +
    125 first->succ() = std::make_shared<link>(new_elem);
    +
    126 last = first->succ();
    +
    127 } else {
    +
    128 last->succ() = std::make_shared<link>(new_elem);
    +
    129 last = last->succ();
    +
    130 }
    +
    131}
    +
    +
    132
    +
    +
    137void list::push_front(int new_elem) {
    +
    138 if (isEmpty()) {
    +
    139 first->succ() = std::make_shared<link>(new_elem);
    +
    140 last = first->succ();
    +
    141 } else {
    +
    142 std::shared_ptr<link> t = std::make_shared<link>(new_elem);
    +
    143 t->succ() = first->succ();
    +
    144 first->succ() = t;
    +
    145 }
    +
    146}
    +
    +
    147
    +
    +
    152void list::erase(int old_elem) {
    +
    153 if (isEmpty()) {
    +
    154 std::cout << "List is Empty!";
    +
    155 return;
    +
    156 }
    +
    157 std::shared_ptr<link> t = first;
    +
    158 std::shared_ptr<link> to_be_removed = nullptr;
    +
    159 while (t != last && t->succ()->val() != old_elem) {
    +
    160 t = t->succ();
    +
    161 }
    +
    162 if (t == last) {
    +
    163 std::cout << "Element not found\n";
    +
    164 return;
    +
    165 }
    +
    166 to_be_removed = t->succ();
    +
    167 t->succ() = t->succ()->succ();
    +
    168 to_be_removed.reset();
    +
    169 if (t->succ() == nullptr) {
    +
    170 last = t;
    +
    171 }
    +
    172 if (first == last){
    +
    173 last = nullptr;
    +
    174 }
    +
    175}
    +
    +
    176
    +
    + +
    182 if (isEmpty()) {
    +
    183 std::cout << "List is Empty!";
    +
    184 return;
    +
    185 }
    +
    186 std::shared_ptr<link> t = first;
    +
    187 while (t->succ() != nullptr) {
    +
    188 std::cout << t->succ()->val() << "\t";
    +
    189 t = t->succ();
    +
    190 }
    +
    191}
    +
    +
    192
    +
    +
    197std::shared_ptr<link> list::search(int find_elem) {
    +
    198 if (isEmpty()) {
    +
    199 std::cout << "List is Empty!";
    +
    200 return nullptr;
    +
    201 }
    +
    202 std::shared_ptr<link> t = first;
    +
    203 while (t != last && t->succ()->val() != find_elem) {
    +
    204 t = t->succ();
    +
    205 }
    +
    206 if (t == last) {
    +
    207 std::cout << "Element not found\n";
    +
    208 return nullptr;
    +
    209 }
    +
    210 std::cout << "Element was found\n";
    +
    211 return t->succ();
    +
    212}
    +
    +
    213} // namespace linked_list
    +
    214} // namespace data_structures
    +
    215
    +
    +
    222int main() {
    + +
    224 int choice = 0;
    +
    225 int x = 0;
    +
    226 std::string s;
    +
    227 do {
    +
    228 std::cout << "\n1. Insert";
    +
    229 std::cout << "\n2. Delete";
    +
    230 std::cout << "\n3. Search";
    +
    231 std::cout << "\n4. Print";
    +
    232 std::cout << "\n0. Exit";
    +
    233 std::cout << "\n\nEnter you choice : ";
    +
    234 std::cin >> choice;
    +
    235 switch (choice) {
    +
    236 case 0:
    +
    237 std::cout << "\nQuitting the program...\n";
    +
    238 break;
    +
    239 case 1:
    +
    240 std::cout << "\nEnter the element to be inserted : ";
    +
    241 std::cin >> s;
    +
    242
    +
    243 if (data_structures::linked_list::isDigit(s)) {
    +
    244 x = std::stoi(s);
    +
    245 l.push_back(x);
    +
    246 } else {
    +
    247 std::cout << "Wrong Input!\n";
    +
    248 }
    +
    249 break;
    +
    250 case 2:
    +
    251 std::cout << "\nEnter the element to be removed : ";
    +
    252 std::cin >> s;
    +
    253 if (data_structures::linked_list::isDigit(s)) {
    +
    254 x = std::stoi(s);
    +
    255 l.erase(x);
    +
    256 } else {
    +
    257 std::cout << "Wrong Input!\n";
    +
    258 }
    +
    259 break;
    +
    260 case 3:
    +
    261 std::cout << "\nEnter the element to be searched : ";
    +
    262 std::cin >> s;
    +
    263 if (data_structures::linked_list::isDigit(s)) {
    +
    264 x = std::stoi(s);
    +
    265 std::shared_ptr<data_structures::linked_list::link> found =
    +
    266 l.search(x);
    +
    267 } else {
    +
    268 std::cout << "Wrong Input!\n";
    +
    269 }
    +
    270 break;
    +
    271 case 4:
    +
    272 l.display();
    +
    273 std::cout << "\n";
    +
    274 break;
    +
    275 default:
    +
    276 std::cout << "Invalid Input\n" << std::endl;
    +
    277 break;
    +
    278 }
    +
    279 } while (choice != 0);
    +
    280 return 0;
    +
    281}
    +
    + + + + + + + + + + + + + +
    std::shared_ptr< link > first
    link before the actual first element
    +
    std::shared_ptr< link > search(int find_elem)
    +
    std::shared_ptr< link > last
    last link on the list
    +
    bool isDigit(const std::string &s)
    +
    int main()
    +
    for IO operations
    +
    Functions for singly linked list algorithm.
    +
    for std::assert
    + +
    +
    + + + + diff --git a/da/dc9/fibonacci__matrix__exponentiation_8cpp.html b/da/dc9/fibonacci__matrix__exponentiation_8cpp.html index 6e08ab355..5923b6d80 100644 --- a/da/dc9/fibonacci__matrix__exponentiation_8cpp.html +++ b/da/dc9/fibonacci__matrix__exponentiation_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: math/fibonacci_matrix_exponentiation.cpp File Reference +TheAlgorithms/C++: math/fibonacci_matrix_exponentiation.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -121,7 +138,9 @@ Include dependency graph for fibonacci_matrix_exponentiation.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -138,6 +157,8 @@ Functions
    [unknown author]()
    See also
    fibonacci.cpp, fibonacci_fast.cpp, string_fibonacci.cpp, fibonacci_large.cpp
    + +

    Definition in file fibonacci_matrix_exponentiation.cpp.

    Function Documentation

    ◆ fibo()

    @@ -164,11 +185,13 @@ Functions

    Functions

    uint64_t fibo (uint64_t n, uint64_t mod)
    + +

    Definition at line 25 of file fibonacci_matrix_exponentiation.cpp.

    25 {
    - - - - +
    26 std::vector<uint64_t> result(2, 0);
    +
    27 std::vector<std::vector<uint64_t>> transition(2,
    +
    28 std::vector<uint64_t>(2, 0));
    +
    29 std::vector<std::vector<uint64_t>> Identity(2, std::vector<uint64_t>(2, 0));
    30 n--;
    31 result[0] = 1, result[1] = 1;
    32 Identity[0][0] = 1;
    @@ -181,8 +204,8 @@ Functions
    39
    40 while (n) {
    41 if (n % 2) {
    - - +
    42 std::vector<std::vector<uint64_t>> res(2,
    +
    43 std::vector<uint64_t>(2, 0));
    44 for (int i = 0; i < 2; i++) {
    45 for (int j = 0; j < 2; j++) {
    46 for (int k = 0; k < 2; k++) {
    @@ -201,8 +224,8 @@ Functions
    59 }
    60 n--;
    61 } else {
    - -
    63 2, std::vector<uint64_t>(2, 0));
    +
    62 std::vector<std::vector<uint64_t>> res1(
    +
    63 2, std::vector<uint64_t>(2, 0));
    64 for (int i = 0; i < 2; i++) {
    65 for (int j = 0; j < 2; j++) {
    66 for (int k = 0; k < 2; k++) {
    @@ -226,9 +249,8 @@ Functions
    84 (result[1] % mod * Identity[1][0] % mod) % mod) %
    85 mod;
    86}
    -
    double k(double x)
    Another test function.
    Definition composite_simpson_rule.cpp:117
    -
    uint64_t result(uint64_t n)
    Definition fibonacci_sum.cpp:77
    - +
    double k(double x)
    Another test function.
    +
    uint64_t result(uint64_t n)
    @@ -247,26 +269,20 @@ Functions

    Main function

    + +

    Definition at line 108 of file fibonacci_matrix_exponentiation.cpp.

    108 {
    109 test();
    110 uint64_t mod = 1000000007;
    -
    111 std::cout << "Enter the value of N: ";
    +
    111 std::cout << "Enter the value of N: ";
    112 uint64_t n = 0;
    -
    113 std::cin >> n;
    -
    114 std::cout << n << "th Fibonacci number in modulo " << mod << ": "
    -
    115 << fibo(n, mod) << std::endl;
    +
    113 std::cin >> n;
    +
    114 std::cout << n << "th Fibonacci number in modulo " << mod << ": "
    +
    115 << fibo(n, mod) << std::endl;
    116}
    - - -
    T endl(T... args)
    -
    static void test()
    Definition fibonacci_matrix_exponentiation.cpp:91
    -
    uint64_t fibo(uint64_t n, uint64_t mod)
    Definition fibonacci_matrix_exponentiation.cpp:25
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static void test()
    +
    uint64_t fibo(uint64_t n, uint64_t mod)
    +
    @@ -292,25 +308,22 @@ Here is the call graph for this function:

    Function to test above algorithm

    + +

    Definition at line 91 of file fibonacci_matrix_exponentiation.cpp.

    91 {
    92 assert(fibo(6, 1000000007) == 8);
    -
    93 std::cout << "test case:1 passed\n";
    +
    93 std::cout << "test case:1 passed\n";
    94 assert(fibo(5, 1000000007) == 5);
    -
    95 std::cout << "test case:2 passed\n";
    +
    95 std::cout << "test case:2 passed\n";
    96 assert(fibo(10, 1000000007) == 55);
    -
    97 std::cout << "test case:3 passed\n";
    +
    97 std::cout << "test case:3 passed\n";
    98 assert(fibo(500, 100) == 25);
    -
    99 std::cout << "test case:3 passed\n";
    +
    99 std::cout << "test case:3 passed\n";
    100 assert(fibo(500, 10000) == 4125);
    -
    101 std::cout << "test case:3 passed\n";
    -
    102 std::cout << "--All tests passed--\n";
    +
    101 std::cout << "test case:3 passed\n";
    +
    102 std::cout << "--All tests passed--\n";
    103}
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    diff --git a/da/dc9/fibonacci__matrix__exponentiation_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map b/da/dc9/fibonacci__matrix__exponentiation_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map deleted file mode 100644 index f2b5921ab..000000000 --- a/da/dc9/fibonacci__matrix__exponentiation_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/da/dc9/fibonacci__matrix__exponentiation_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 b/da/dc9/fibonacci__matrix__exponentiation_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 deleted file mode 100644 index 5ab3a8404..000000000 --- a/da/dc9/fibonacci__matrix__exponentiation_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -c0358d380b74354cb3e6590922b97ff7 \ No newline at end of file diff --git a/da/dc9/fibonacci__matrix__exponentiation_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg b/da/dc9/fibonacci__matrix__exponentiation_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg deleted file mode 100644 index a906498ef..000000000 --- a/da/dc9/fibonacci__matrix__exponentiation_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -fibo - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/da/dc9/fibonacci__matrix__exponentiation_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg b/da/dc9/fibonacci__matrix__exponentiation_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg deleted file mode 100644 index db1d386b6..000000000 --- a/da/dc9/fibonacci__matrix__exponentiation_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -fibo - - - - - -Node1->Node2 - - - - - - - - diff --git a/da/dc9/fibonacci__matrix__exponentiation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/da/dc9/fibonacci__matrix__exponentiation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 6e181a731..000000000 --- a/da/dc9/fibonacci__matrix__exponentiation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/da/dc9/fibonacci__matrix__exponentiation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/da/dc9/fibonacci__matrix__exponentiation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index faaa4c9dd..000000000 --- a/da/dc9/fibonacci__matrix__exponentiation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -0b4e69227131474b2c14d2ac8d188dfc \ No newline at end of file diff --git a/da/dc9/fibonacci__matrix__exponentiation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/da/dc9/fibonacci__matrix__exponentiation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 6be1219af..000000000 --- a/da/dc9/fibonacci__matrix__exponentiation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,110 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -fibo - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -test - - - - - -Node1->Node4 - - - - - - - - -Node4->Node3 - - - - - - - - - - - - - diff --git a/da/dc9/fibonacci__matrix__exponentiation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/da/dc9/fibonacci__matrix__exponentiation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 2fad053d3..000000000 --- a/da/dc9/fibonacci__matrix__exponentiation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -fibo - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -test - - - - - -Node1->Node4 - - - - - - - - -Node4->Node3 - - - - - - - - diff --git a/da/dc9/fibonacci__matrix__exponentiation_8cpp_source.html b/da/dc9/fibonacci__matrix__exponentiation_8cpp_source.html new file mode 100644 index 000000000..9eec26f8d --- /dev/null +++ b/da/dc9/fibonacci__matrix__exponentiation_8cpp_source.html @@ -0,0 +1,238 @@ + + + + + + + + +TheAlgorithms/C++: math/fibonacci_matrix_exponentiation.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    fibonacci_matrix_exponentiation.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    15#include <cassert>
    +
    16#include <cstdint>
    +
    17#include <iostream>
    +
    18#include <vector>
    +
    19
    +
    +
    25uint64_t fibo(uint64_t n, uint64_t mod) {
    +
    26 std::vector<uint64_t> result(2, 0);
    +
    27 std::vector<std::vector<uint64_t>> transition(2,
    +
    28 std::vector<uint64_t>(2, 0));
    +
    29 std::vector<std::vector<uint64_t>> Identity(2, std::vector<uint64_t>(2, 0));
    +
    30 n--;
    +
    31 result[0] = 1, result[1] = 1;
    +
    32 Identity[0][0] = 1;
    +
    33 Identity[0][1] = 0;
    +
    34 Identity[1][0] = 0;
    +
    35 Identity[1][1] = 1;
    +
    36
    +
    37 transition[0][0] = 0;
    +
    38 transition[1][0] = transition[1][1] = transition[0][1] = 1;
    +
    39
    +
    40 while (n) {
    +
    41 if (n % 2) {
    +
    42 std::vector<std::vector<uint64_t>> res(2,
    +
    43 std::vector<uint64_t>(2, 0));
    +
    44 for (int i = 0; i < 2; i++) {
    +
    45 for (int j = 0; j < 2; j++) {
    +
    46 for (int k = 0; k < 2; k++) {
    +
    47 res[i][j] =
    +
    48 (res[i][j] % mod +
    +
    49 ((Identity[i][k] % mod * transition[k][j] % mod)) %
    +
    50 mod) %
    +
    51 mod;
    +
    52 }
    +
    53 }
    +
    54 }
    +
    55 for (int i = 0; i < 2; i++) {
    +
    56 for (int j = 0; j < 2; j++) {
    +
    57 Identity[i][j] = res[i][j];
    +
    58 }
    +
    59 }
    +
    60 n--;
    +
    61 } else {
    +
    62 std::vector<std::vector<uint64_t>> res1(
    +
    63 2, std::vector<uint64_t>(2, 0));
    +
    64 for (int i = 0; i < 2; i++) {
    +
    65 for (int j = 0; j < 2; j++) {
    +
    66 for (int k = 0; k < 2; k++) {
    +
    67 res1[i][j] =
    +
    68 (res1[i][j] % mod + ((transition[i][k] % mod *
    +
    69 transition[k][j] % mod)) %
    +
    70 mod) %
    +
    71 mod;
    +
    72 }
    +
    73 }
    +
    74 }
    +
    75 for (int i = 0; i < 2; i++) {
    +
    76 for (int j = 0; j < 2; j++) {
    +
    77 transition[i][j] = res1[i][j];
    +
    78 }
    +
    79 }
    +
    80 n = n / 2;
    +
    81 }
    +
    82 }
    +
    83 return ((result[0] % mod * Identity[0][0] % mod) % mod +
    +
    84 (result[1] % mod * Identity[1][0] % mod) % mod) %
    +
    85 mod;
    +
    86}
    +
    +
    87
    +
    +
    91static void test() {
    +
    92 assert(fibo(6, 1000000007) == 8);
    +
    93 std::cout << "test case:1 passed\n";
    +
    94 assert(fibo(5, 1000000007) == 5);
    +
    95 std::cout << "test case:2 passed\n";
    +
    96 assert(fibo(10, 1000000007) == 55);
    +
    97 std::cout << "test case:3 passed\n";
    +
    98 assert(fibo(500, 100) == 25);
    +
    99 std::cout << "test case:3 passed\n";
    +
    100 assert(fibo(500, 10000) == 4125);
    +
    101 std::cout << "test case:3 passed\n";
    +
    102 std::cout << "--All tests passed--\n";
    +
    103}
    +
    +
    104
    +
    +
    108int main() {
    +
    109 test();
    +
    110 uint64_t mod = 1000000007;
    +
    111 std::cout << "Enter the value of N: ";
    +
    112 uint64_t n = 0;
    +
    113 std::cin >> n;
    +
    114 std::cout << n << "th Fibonacci number in modulo " << mod << ": "
    +
    115 << fibo(n, mod) << std::endl;
    +
    116}
    +
    +
    static void test()
    +
    uint64_t fibo(uint64_t n, uint64_t mod)
    + +
    +
    + + + + diff --git a/da/dd1/structquadratic__probing_1_1_entry.html b/da/dd1/structquadratic__probing_1_1_entry.html index 4a459f70d..844c6d4ea 100644 --- a/da/dd1/structquadratic__probing_1_1_entry.html +++ b/da/dd1/structquadratic__probing_1_1_entry.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: quadratic_probing::Entry Struct Reference +TheAlgorithms/C++: quadratic_probing::Entry Struct Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -114,22 +131,71 @@ $(function(){initNavTree('da/dd1/structquadratic__probing_1_1_entry.html','../..
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    - - + +

    Public Member Functions

    Entry (int key=notPresent)
     constructor
     Entry (int key=notPresent)
     constructor
     
    - - + +

    Public Attributes

    -int key
     key value
    int key
     key value
     

    Detailed Description

    Node that holds key

    -

    The documentation for this struct was generated from the following file:

    Constructor & Destructor Documentation

    + +

    ◆ Entry()

    + +
    +
    + + + + + +
    + + + + + + + +
    quadratic_probing::Entry::Entry (int key = notPresent)
    +
    +inlineexplicit
    +
    + +

    constructor

    + +

    Definition at line 38 of file quadratic_probing_hash_table.cpp.

    + +
    +
    +

    Member Data Documentation

    + +

    ◆ key

    + +
    +
    + + + + +
    int quadratic_probing::Entry::key
    +
    + +

    key value

    + +

    Definition at line 39 of file quadratic_probing_hash_table.cpp.

    + +
    +
    +
    The documentation for this struct was generated from the following file: diff --git a/da/dd3/classmachine__learning_1_1adaline__coll__graph.map b/da/dd3/classmachine__learning_1_1adaline__coll__graph.map index ecfe1c5b2..7f9116bc5 100644 --- a/da/dd3/classmachine__learning_1_1adaline__coll__graph.map +++ b/da/dd3/classmachine__learning_1_1adaline__coll__graph.map @@ -1,5 +1,5 @@ - + diff --git a/da/dd3/classmachine__learning_1_1adaline__coll__graph.md5 b/da/dd3/classmachine__learning_1_1adaline__coll__graph.md5 index 7adf979eb..defc46e9e 100644 --- a/da/dd3/classmachine__learning_1_1adaline__coll__graph.md5 +++ b/da/dd3/classmachine__learning_1_1adaline__coll__graph.md5 @@ -1 +1 @@ -bf28e6affa6d7d482f9836ce87321f78 \ No newline at end of file +51c5feecf8fa742ba289f67074bdf6f5 \ No newline at end of file diff --git a/da/dd3/classmachine__learning_1_1adaline__coll__graph.svg b/da/dd3/classmachine__learning_1_1adaline__coll__graph.svg index b7600d3d6..7a94f723c 100644 --- a/da/dd3/classmachine__learning_1_1adaline__coll__graph.svg +++ b/da/dd3/classmachine__learning_1_1adaline__coll__graph.svg @@ -31,7 +31,7 @@ Node2 - + std::vector< double > diff --git a/da/dd3/classmachine__learning_1_1adaline__coll__graph_org.svg b/da/dd3/classmachine__learning_1_1adaline__coll__graph_org.svg index cf550a142..bcd5fd430 100644 --- a/da/dd3/classmachine__learning_1_1adaline__coll__graph_org.svg +++ b/da/dd3/classmachine__learning_1_1adaline__coll__graph_org.svg @@ -20,7 +20,7 @@ Node2 - + std::vector< double > diff --git a/da/dd3/karatsuba__algorithm__for__fast__multiplication_8cpp.html b/da/dd3/karatsuba__algorithm__for__fast__multiplication_8cpp.html index 186c30f05..41b8ac6e2 100644 --- a/da/dd3/karatsuba__algorithm__for__fast__multiplication_8cpp.html +++ b/da/dd3/karatsuba__algorithm__for__fast__multiplication_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: divide_and_conquer/karatsuba_algorithm_for_fast_multiplication.cpp File Reference +TheAlgorithms/C++: divide_and_conquer/karatsuba_algorithm_for_fast_multiplication.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -122,11 +139,13 @@ Include dependency graph for karatsuba_algorithm_for_fast_multiplication.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    - + @@ -134,13 +153,13 @@ Namespaces

    Namespaces

    namespace  divide_and_conquer
     for std::vector
     for std::vector
     
    namespace  karatsuba_algorithm
     Functions for the Karatsuba algorithm for fast multiplication implementation.
    - + - + - + @@ -155,6 +174,8 @@ Functions

    Given two strings in binary notation we want to multiply them and return the value. Simple approach is to multiply bits one by one which will give the time complexity of around O(n^2). To make it more efficient we will be using Karatsuba algorithm to find the product which will solve the problem O(nlogn) of time.

    Author
    Swastika Gupta
    Ameer Carlo Lubang
    + +

    Definition in file karatsuba_algorithm_for_fast_multiplication.cpp.

    Function Documentation

    ◆ add_strings()

    @@ -163,14 +184,14 @@ Functions

    Functions

    std::string divide_and_conquer::karatsuba_algorithm::add_strings (std::string first, std::string second)
    std::string divide_and_conquer::karatsuba_algorithm::add_strings (std::string first, std::string second)
     Binary addition.
     
    std::string divide_and_conquer::karatsuba_algorithm::safe_substr (const std::string &str, int64_t x1, int64_t x2, int64_t n)
    std::string divide_and_conquer::karatsuba_algorithm::safe_substr (const std::string &str, int64_t x1, int64_t x2, int64_t n)
     Wrapper function for substr that considers leading zeros.
     
    int64_t divide_and_conquer::karatsuba_algorithm::karatsuba_algorithm (std::string str1, std::string str2)
    int64_t divide_and_conquer::karatsuba_algorithm::karatsuba_algorithm (std::string str1, std::string str2)
     The main function implements Karatsuba's algorithm for fast multiplication.
     
    static void test ()
    - + - + - +
    std::string divide_and_conquer::karatsuba_algorithm::add_strings std::string divide_and_conquer::karatsuba_algorithm::add_strings (std::string first, std::string first,
    std::string second )std::string second )
    @@ -184,13 +205,15 @@ Functions
    Returns
    the sum binary string
    + +

    Definition at line 37 of file karatsuba_algorithm_for_fast_multiplication.cpp.

    37 {
    -
    38 std::string result; // to store the resulting sum bits
    +
    38 std::string result; // to store the resulting sum bits
    39
    40 // make the string lengths equal
    -
    41 int64_t len1 = first.size();
    -
    42 int64_t len2 = second.size();
    -
    43 std::string zero = "0";
    +
    41 int64_t len1 = first.size();
    +
    42 int64_t len2 = second.size();
    +
    43 std::string zero = "0";
    44 if (len1 < len2) {
    45 for (int64_t i = 0; i < len2 - len1; i++) {
    46 zero += first;
    @@ -205,11 +228,11 @@ Functions
    55 }
    56 }
    57
    -
    58 int64_t length = std::max(len1, len2);
    +
    58 int64_t length = std::max(len1, len2);
    59 int64_t carry = 0;
    60 for (int64_t i = length - 1; i >= 0; i--) {
    -
    61 int64_t firstBit = first.at(i) - '0';
    -
    62 int64_t secondBit = second.at(i) - '0';
    +
    61 int64_t firstBit = first.at(i) - '0';
    +
    62 int64_t secondBit = second.at(i) - '0';
    63
    64 int64_t sum = (char(firstBit ^ secondBit ^ carry)) + '0'; // sum of 3 bits
    65 result.insert(result.begin(), sum);
    @@ -223,18 +246,9 @@ Functions
    73 }
    74 return result;
    75}
    -
    T at(T... args)
    - -
    uint64_t result(uint64_t n)
    Definition fibonacci_sum.cpp:77
    -
    T max(T... args)
    -
    T sum(const std::vector< std::valarray< T > > &A)
    Definition vector_ops.hpp:232
    -
    T size(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    uint64_t result(uint64_t n)
    +
    T sum(const std::vector< std::valarray< T > > &A)
    +
    @@ -246,12 +260,12 @@ Here is the call graph for this function: int64_t divide_and_conquer::karatsuba_algorithm::karatsuba_algorithm ( - std::string str1, + std::string str1, - std::string str2 ) + std::string str2 )
    @@ -265,10 +279,12 @@ Here is the call graph for this function:
    Returns
    the product number value
    + +

    Definition at line 112 of file karatsuba_algorithm_for_fast_multiplication.cpp.

    112 {
    -
    113 int64_t len1 = str1.size();
    -
    114 int64_t len2 = str2.size();
    -
    115 int64_t n = std::max(len1, len2);
    +
    113 int64_t len1 = str1.size();
    +
    114 int64_t len2 = str2.size();
    +
    115 int64_t n = std::max(len1, len2);
    116
    117 if (n == 0) {
    118 return 0;
    @@ -280,11 +296,11 @@ Here is the call graph for this function:
    124 int64_t fh = n / 2; // first half of string
    125 int64_t sh = n - fh; // second half of string
    126
    -
    127 std::string Xl = divide_and_conquer::karatsuba_algorithm::safe_substr(str1, 0, fh, n); // first half of first string
    -
    128 std::string Xr = divide_and_conquer::karatsuba_algorithm::safe_substr(str1, fh, sh, n); // second half of first string
    +
    127 std::string Xl = divide_and_conquer::karatsuba_algorithm::safe_substr(str1, 0, fh, n); // first half of first string
    +
    128 std::string Xr = divide_and_conquer::karatsuba_algorithm::safe_substr(str1, fh, sh, n); // second half of first string
    129
    -
    130 std::string Yl = divide_and_conquer::karatsuba_algorithm::safe_substr(str2, 0, fh, n); // first half of second string
    -
    131 std::string Yr = divide_and_conquer::karatsuba_algorithm::safe_substr(str2, fh, sh, n); // second half of second string
    +
    130 std::string Yl = divide_and_conquer::karatsuba_algorithm::safe_substr(str2, 0, fh, n); // first half of second string
    +
    131 std::string Yr = divide_and_conquer::karatsuba_algorithm::safe_substr(str2, fh, sh, n); // second half of second string
    132
    133 // calculating the three products of inputs of size n/2 recursively
    134 int64_t product1 = karatsuba_algorithm(Xl, Yl);
    @@ -297,14 +313,9 @@ Here is the call graph for this function:
    141 (product3 - product1 - product2) * (1 << sh) +
    142 product2; // combining the three products to get the final result.
    143}
    -
    std::string safe_substr(const std::string &str, int64_t x1, int64_t x2, int64_t n)
    Wrapper function for substr that considers leading zeros.
    Definition karatsuba_algorithm_for_fast_multiplication.cpp:86
    +
    std::string safe_substr(const std::string &str, int64_t x1, int64_t x2, int64_t n)
    Wrapper function for substr that considers leading zeros.
    Functions for the Karatsuba algorithm for fast multiplication implementation.
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -324,17 +335,14 @@ Here is the call graph for this function:

    Main function.

    Returns
    0 on exit
    + +

    Definition at line 181 of file karatsuba_algorithm_for_fast_multiplication.cpp.

    181 {
    182 test(); // run self-test implementations
    183 return 0;
    184}
    -
    static void test()
    Self-test implementations.
    Definition karatsuba_algorithm_for_fast_multiplication.cpp:151
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static void test()
    Self-test implementations.
    + @@ -344,9 +352,9 @@ Here is the call graph for this function:
    - + - + @@ -379,11 +387,13 @@ Here is the call graph for this function:
    Returns
    the "safe" substring for the algorithm without leading zeros
    "0" if substring spans to leading zeros only
    + +

    Definition at line 86 of file karatsuba_algorithm_for_fast_multiplication.cpp.

    86 {
    -
    87 int64_t len = str.size();
    +
    87 int64_t len = str.size();
    88
    89 if (len >= n) {
    -
    90 return str.substr(x1, x2);
    +
    90 return str.substr(x1, x2);
    91 }
    92
    93 int64_t y1 = x1 - (n - len); // index in str of first char of substring of "whole" string
    @@ -392,18 +402,12 @@ Here is the call graph for this function:
    96 if (y2 < 0) {
    97 return "0";
    98 } else if (y1 < 0) {
    -
    99 return str.substr(0, y2 + 1);
    +
    99 return str.substr(0, y2 + 1);
    100 } else {
    -
    101 return str.substr(y1, x2);
    +
    101 return str.substr(y1, x2);
    102 }
    103}
    -
    T substr(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -431,39 +435,34 @@ Here is the call graph for this function:

    Self-test implementations.

    Returns
    void
    + +

    Definition at line 151 of file karatsuba_algorithm_for_fast_multiplication.cpp.

    151 {
    152 // 1st test
    -
    153 std::string s11 = "1"; // 1
    -
    154 std::string s12 = "1010"; // 10
    -
    155 std::cout << "1st test... ";
    +
    153 std::string s11 = "1"; // 1
    +
    154 std::string s12 = "1010"; // 10
    +
    155 std::cout << "1st test... ";
    156 assert(divide_and_conquer::karatsuba_algorithm::karatsuba_algorithm(
    157 s11, s12) == 10);
    -
    158 std::cout << "passed" << std::endl;
    +
    158 std::cout << "passed" << std::endl;
    159
    160 // 2nd test
    -
    161 std::string s21 = "11"; // 3
    -
    162 std::string s22 = "1010"; // 10
    -
    163 std::cout << "2nd test... ";
    +
    161 std::string s21 = "11"; // 3
    +
    162 std::string s22 = "1010"; // 10
    +
    163 std::cout << "2nd test... ";
    164 assert(divide_and_conquer::karatsuba_algorithm::karatsuba_algorithm(
    165 s21, s22) == 30);
    -
    166 std::cout << "passed" << std::endl;
    +
    166 std::cout << "passed" << std::endl;
    167
    168 // 3rd test
    -
    169 std::string s31 = "110"; // 6
    -
    170 std::string s32 = "1010"; // 10
    -
    171 std::cout << "3rd test... ";
    +
    169 std::string s31 = "110"; // 6
    +
    170 std::string s32 = "1010"; // 10
    +
    171 std::cout << "3rd test... ";
    172 assert(divide_and_conquer::karatsuba_algorithm::karatsuba_algorithm(
    173 s31, s32) == 60);
    -
    174 std::cout << "passed" << std::endl;
    +
    174 std::cout << "passed" << std::endl;
    175}
    - -
    T endl(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + diff --git a/da/dd3/karatsuba__algorithm__for__fast__multiplication_8cpp_a7a890d2f26855ada3b9f1d43aec70a86_cgraph.map b/da/dd3/karatsuba__algorithm__for__fast__multiplication_8cpp_a7a890d2f26855ada3b9f1d43aec70a86_cgraph.map deleted file mode 100644 index 18279119c..000000000 --- a/da/dd3/karatsuba__algorithm__for__fast__multiplication_8cpp_a7a890d2f26855ada3b9f1d43aec70a86_cgraph.map +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - - - - - - - - - - - - - - - diff --git a/da/dd3/karatsuba__algorithm__for__fast__multiplication_8cpp_a7a890d2f26855ada3b9f1d43aec70a86_cgraph.md5 b/da/dd3/karatsuba__algorithm__for__fast__multiplication_8cpp_a7a890d2f26855ada3b9f1d43aec70a86_cgraph.md5 deleted file mode 100644 index 43884c46c..000000000 --- a/da/dd3/karatsuba__algorithm__for__fast__multiplication_8cpp_a7a890d2f26855ada3b9f1d43aec70a86_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -bced3e05197fe4dd73769f724c42a7e4 \ No newline at end of file diff --git a/da/dd3/karatsuba__algorithm__for__fast__multiplication_8cpp_a7a890d2f26855ada3b9f1d43aec70a86_cgraph.svg b/da/dd3/karatsuba__algorithm__for__fast__multiplication_8cpp_a7a890d2f26855ada3b9f1d43aec70a86_cgraph.svg deleted file mode 100644 index 943dbda31..000000000 --- a/da/dd3/karatsuba__algorithm__for__fast__multiplication_8cpp_a7a890d2f26855ada3b9f1d43aec70a86_cgraph.svg +++ /dev/null @@ -1,206 +0,0 @@ - - - - - - - - - - - - -divide_and_conquer::karatsuba_algorithm::karatsuba_algorithm - - -Node1 - - -divide_and_conquer -::karatsuba_algorithm -::karatsuba_algorithm - - - - - -Node2 - - -divide_and_conquer -::karatsuba_algorithm -::add_strings - - - - - -Node1->Node2 - - - - - - - - -Node4 - - -std::max - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::string::size - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -divide_and_conquer -::karatsuba_algorithm -::safe_substr - - - - - -Node1->Node6 - - - - - - - - -Node2->Node2 - - - - - - - - -Node3 - - -std::string::at - - - - - -Node2->Node3 - - - - - - - - -Node2->Node4 - - - - - - - - -Node2->Node5 - - - - - - - - -Node6->Node5 - - - - - - - - -Node6->Node6 - - - - - - - - -Node7 - - -std::string::substr - - - - - -Node6->Node7 - - - - - - - - - - - - - diff --git a/da/dd3/karatsuba__algorithm__for__fast__multiplication_8cpp_a7a890d2f26855ada3b9f1d43aec70a86_cgraph_org.svg b/da/dd3/karatsuba__algorithm__for__fast__multiplication_8cpp_a7a890d2f26855ada3b9f1d43aec70a86_cgraph_org.svg deleted file mode 100644 index 6689abe61..000000000 --- a/da/dd3/karatsuba__algorithm__for__fast__multiplication_8cpp_a7a890d2f26855ada3b9f1d43aec70a86_cgraph_org.svg +++ /dev/null @@ -1,180 +0,0 @@ - - - - - - -divide_and_conquer::karatsuba_algorithm::karatsuba_algorithm - - -Node1 - - -divide_and_conquer -::karatsuba_algorithm -::karatsuba_algorithm - - - - - -Node2 - - -divide_and_conquer -::karatsuba_algorithm -::add_strings - - - - - -Node1->Node2 - - - - - - - - -Node4 - - -std::max - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::string::size - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -divide_and_conquer -::karatsuba_algorithm -::safe_substr - - - - - -Node1->Node6 - - - - - - - - -Node2->Node2 - - - - - - - - -Node3 - - -std::string::at - - - - - -Node2->Node3 - - - - - - - - -Node2->Node4 - - - - - - - - -Node2->Node5 - - - - - - - - -Node6->Node5 - - - - - - - - -Node6->Node6 - - - - - - - - -Node7 - - -std::string::substr - - - - - -Node6->Node7 - - - - - - - - diff --git a/da/dd3/karatsuba__algorithm__for__fast__multiplication_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map b/da/dd3/karatsuba__algorithm__for__fast__multiplication_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map deleted file mode 100644 index e85e01374..000000000 --- a/da/dd3/karatsuba__algorithm__for__fast__multiplication_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/da/dd3/karatsuba__algorithm__for__fast__multiplication_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 b/da/dd3/karatsuba__algorithm__for__fast__multiplication_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 deleted file mode 100644 index 5901bc148..000000000 --- a/da/dd3/karatsuba__algorithm__for__fast__multiplication_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -729fb887ee50b6291b0542ba0592a5c7 \ No newline at end of file diff --git a/da/dd3/karatsuba__algorithm__for__fast__multiplication_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg b/da/dd3/karatsuba__algorithm__for__fast__multiplication_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg deleted file mode 100644 index 2e04695b9..000000000 --- a/da/dd3/karatsuba__algorithm__for__fast__multiplication_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/da/dd3/karatsuba__algorithm__for__fast__multiplication_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg b/da/dd3/karatsuba__algorithm__for__fast__multiplication_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg deleted file mode 100644 index 1813bd719..000000000 --- a/da/dd3/karatsuba__algorithm__for__fast__multiplication_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - diff --git a/da/dd3/karatsuba__algorithm__for__fast__multiplication_8cpp_aad9e3edfe156b59fc06a5585403fe0d6_cgraph.map b/da/dd3/karatsuba__algorithm__for__fast__multiplication_8cpp_aad9e3edfe156b59fc06a5585403fe0d6_cgraph.map deleted file mode 100644 index f0a7bb232..000000000 --- a/da/dd3/karatsuba__algorithm__for__fast__multiplication_8cpp_aad9e3edfe156b59fc06a5585403fe0d6_cgraph.map +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/da/dd3/karatsuba__algorithm__for__fast__multiplication_8cpp_aad9e3edfe156b59fc06a5585403fe0d6_cgraph.md5 b/da/dd3/karatsuba__algorithm__for__fast__multiplication_8cpp_aad9e3edfe156b59fc06a5585403fe0d6_cgraph.md5 deleted file mode 100644 index 6f3ab137a..000000000 --- a/da/dd3/karatsuba__algorithm__for__fast__multiplication_8cpp_aad9e3edfe156b59fc06a5585403fe0d6_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -48242cc278b84067e30ad8d69ae80b5e \ No newline at end of file diff --git a/da/dd3/karatsuba__algorithm__for__fast__multiplication_8cpp_aad9e3edfe156b59fc06a5585403fe0d6_cgraph.svg b/da/dd3/karatsuba__algorithm__for__fast__multiplication_8cpp_aad9e3edfe156b59fc06a5585403fe0d6_cgraph.svg deleted file mode 100644 index 4c303732d..000000000 --- a/da/dd3/karatsuba__algorithm__for__fast__multiplication_8cpp_aad9e3edfe156b59fc06a5585403fe0d6_cgraph.svg +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - - - - - - - -divide_and_conquer::karatsuba_algorithm::safe_substr - - -Node1 - - -divide_and_conquer -::karatsuba_algorithm -::safe_substr - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::string::size - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::string::substr - - - - - -Node1->Node3 - - - - - - - - - - - - - diff --git a/da/dd3/karatsuba__algorithm__for__fast__multiplication_8cpp_aad9e3edfe156b59fc06a5585403fe0d6_cgraph_org.svg b/da/dd3/karatsuba__algorithm__for__fast__multiplication_8cpp_aad9e3edfe156b59fc06a5585403fe0d6_cgraph_org.svg deleted file mode 100644 index c08304349..000000000 --- a/da/dd3/karatsuba__algorithm__for__fast__multiplication_8cpp_aad9e3edfe156b59fc06a5585403fe0d6_cgraph_org.svg +++ /dev/null @@ -1,68 +0,0 @@ - - - - - - -divide_and_conquer::karatsuba_algorithm::safe_substr - - -Node1 - - -divide_and_conquer -::karatsuba_algorithm -::safe_substr - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::string::size - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::string::substr - - - - - -Node1->Node3 - - - - - - - - diff --git a/da/dd3/karatsuba__algorithm__for__fast__multiplication_8cpp_ad76f5cac3ef8dc034f6abb99b64c2b20_cgraph.map b/da/dd3/karatsuba__algorithm__for__fast__multiplication_8cpp_ad76f5cac3ef8dc034f6abb99b64c2b20_cgraph.map deleted file mode 100644 index beff60c2d..000000000 --- a/da/dd3/karatsuba__algorithm__for__fast__multiplication_8cpp_ad76f5cac3ef8dc034f6abb99b64c2b20_cgraph.map +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/da/dd3/karatsuba__algorithm__for__fast__multiplication_8cpp_ad76f5cac3ef8dc034f6abb99b64c2b20_cgraph.md5 b/da/dd3/karatsuba__algorithm__for__fast__multiplication_8cpp_ad76f5cac3ef8dc034f6abb99b64c2b20_cgraph.md5 deleted file mode 100644 index 7ebbead74..000000000 --- a/da/dd3/karatsuba__algorithm__for__fast__multiplication_8cpp_ad76f5cac3ef8dc034f6abb99b64c2b20_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -61f8de8d022fa5bb94f1c73fff53e984 \ No newline at end of file diff --git a/da/dd3/karatsuba__algorithm__for__fast__multiplication_8cpp_ad76f5cac3ef8dc034f6abb99b64c2b20_cgraph.svg b/da/dd3/karatsuba__algorithm__for__fast__multiplication_8cpp_ad76f5cac3ef8dc034f6abb99b64c2b20_cgraph.svg deleted file mode 100644 index de98ffaf4..000000000 --- a/da/dd3/karatsuba__algorithm__for__fast__multiplication_8cpp_ad76f5cac3ef8dc034f6abb99b64c2b20_cgraph.svg +++ /dev/null @@ -1,112 +0,0 @@ - - - - - - - - - - - - -divide_and_conquer::karatsuba_algorithm::add_strings - - -Node1 - - -divide_and_conquer -::karatsuba_algorithm -::add_strings - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::string::at - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::max - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::string::size - - - - - -Node1->Node4 - - - - - - - - - - - - - diff --git a/da/dd3/karatsuba__algorithm__for__fast__multiplication_8cpp_ad76f5cac3ef8dc034f6abb99b64c2b20_cgraph_org.svg b/da/dd3/karatsuba__algorithm__for__fast__multiplication_8cpp_ad76f5cac3ef8dc034f6abb99b64c2b20_cgraph_org.svg deleted file mode 100644 index b8638ca46..000000000 --- a/da/dd3/karatsuba__algorithm__for__fast__multiplication_8cpp_ad76f5cac3ef8dc034f6abb99b64c2b20_cgraph_org.svg +++ /dev/null @@ -1,86 +0,0 @@ - - - - - - -divide_and_conquer::karatsuba_algorithm::add_strings - - -Node1 - - -divide_and_conquer -::karatsuba_algorithm -::add_strings - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::string::at - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::max - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::string::size - - - - - -Node1->Node4 - - - - - - - - diff --git a/da/dd3/karatsuba__algorithm__for__fast__multiplication_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/da/dd3/karatsuba__algorithm__for__fast__multiplication_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index add648d10..000000000 --- a/da/dd3/karatsuba__algorithm__for__fast__multiplication_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/da/dd3/karatsuba__algorithm__for__fast__multiplication_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/da/dd3/karatsuba__algorithm__for__fast__multiplication_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index 0d0215923..000000000 --- a/da/dd3/karatsuba__algorithm__for__fast__multiplication_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -2ca630194e4c5928111e41d3b7c2c2d9 \ No newline at end of file diff --git a/da/dd3/karatsuba__algorithm__for__fast__multiplication_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/da/dd3/karatsuba__algorithm__for__fast__multiplication_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 2b031f97c..000000000 --- a/da/dd3/karatsuba__algorithm__for__fast__multiplication_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node2->Node3 - - - - - - - - - - - - - diff --git a/da/dd3/karatsuba__algorithm__for__fast__multiplication_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/da/dd3/karatsuba__algorithm__for__fast__multiplication_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 9f9799b8e..000000000 --- a/da/dd3/karatsuba__algorithm__for__fast__multiplication_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node2->Node3 - - - - - - - - diff --git a/da/dd3/karatsuba__algorithm__for__fast__multiplication_8cpp_source.html b/da/dd3/karatsuba__algorithm__for__fast__multiplication_8cpp_source.html new file mode 100644 index 000000000..47cbe7562 --- /dev/null +++ b/da/dd3/karatsuba__algorithm__for__fast__multiplication_8cpp_source.html @@ -0,0 +1,285 @@ + + + + + + + + +TheAlgorithms/C++: divide_and_conquer/karatsuba_algorithm_for_fast_multiplication.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    std::string divide_and_conquer::karatsuba_algorithm::safe_substr std::string divide_and_conquer::karatsuba_algorithm::safe_substr (const std::string & str, const std::string & str,
    + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + + +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    karatsuba_algorithm_for_fast_multiplication.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    15#include <cassert>
    +
    16#include <cstring>
    +
    17#include <iostream>
    +
    18#include <vector>
    +
    19
    +
    24namespace divide_and_conquer {
    +
    30namespace karatsuba_algorithm {
    +
    +
    37std::string add_strings(std::string first, std::string second) {
    +
    38 std::string result; // to store the resulting sum bits
    +
    39
    +
    40 // make the string lengths equal
    +
    41 int64_t len1 = first.size();
    +
    42 int64_t len2 = second.size();
    +
    43 std::string zero = "0";
    +
    44 if (len1 < len2) {
    +
    45 for (int64_t i = 0; i < len2 - len1; i++) {
    +
    46 zero += first;
    +
    47 first = zero;
    +
    48 zero = "0"; // Prevents CI from failing
    +
    49 }
    +
    50 } else if (len1 > len2) {
    +
    51 for (int64_t i = 0; i < len1 - len2; i++) {
    +
    52 zero += second;
    +
    53 second = zero;
    +
    54 zero = "0"; // Prevents CI from failing
    +
    55 }
    +
    56 }
    +
    57
    +
    58 int64_t length = std::max(len1, len2);
    +
    59 int64_t carry = 0;
    +
    60 for (int64_t i = length - 1; i >= 0; i--) {
    +
    61 int64_t firstBit = first.at(i) - '0';
    +
    62 int64_t secondBit = second.at(i) - '0';
    +
    63
    +
    64 int64_t sum = (char(firstBit ^ secondBit ^ carry)) + '0'; // sum of 3 bits
    +
    65 result.insert(result.begin(), sum);
    +
    66
    +
    67 carry = char((firstBit & secondBit) | (secondBit & carry) |
    +
    68 (firstBit & carry)); // sum of 3 bits
    +
    69 }
    +
    70
    +
    71 if (carry) {
    +
    72 result.insert(result.begin(), '1'); // adding 1 incase of overflow
    +
    73 }
    +
    74 return result;
    +
    75}
    +
    +
    76
    +
    +
    86std::string safe_substr(const std::string &str, int64_t x1, int64_t x2, int64_t n) {
    +
    87 int64_t len = str.size();
    +
    88
    +
    89 if (len >= n) {
    +
    90 return str.substr(x1, x2);
    +
    91 }
    +
    92
    +
    93 int64_t y1 = x1 - (n - len); // index in str of first char of substring of "whole" string
    +
    94 int64_t y2 = (x1 + x2 - 1) - (n - len); // index in str of last char of substring of "whole" string
    +
    95
    +
    96 if (y2 < 0) {
    +
    97 return "0";
    +
    98 } else if (y1 < 0) {
    +
    99 return str.substr(0, y2 + 1);
    +
    100 } else {
    +
    101 return str.substr(y1, x2);
    +
    102 }
    +
    103}
    +
    +
    104
    +
    +
    112int64_t karatsuba_algorithm(std::string str1, std::string str2) {
    +
    113 int64_t len1 = str1.size();
    +
    114 int64_t len2 = str2.size();
    +
    115 int64_t n = std::max(len1, len2);
    +
    116
    +
    117 if (n == 0) {
    +
    118 return 0;
    +
    119 }
    +
    120 if (n == 1) {
    +
    121 return (str1[0] - '0') * (str2[0] - '0');
    +
    122 }
    +
    123
    +
    124 int64_t fh = n / 2; // first half of string
    +
    125 int64_t sh = n - fh; // second half of string
    +
    126
    +
    127 std::string Xl = divide_and_conquer::karatsuba_algorithm::safe_substr(str1, 0, fh, n); // first half of first string
    +
    128 std::string Xr = divide_and_conquer::karatsuba_algorithm::safe_substr(str1, fh, sh, n); // second half of first string
    +
    129
    +
    130 std::string Yl = divide_and_conquer::karatsuba_algorithm::safe_substr(str2, 0, fh, n); // first half of second string
    +
    131 std::string Yr = divide_and_conquer::karatsuba_algorithm::safe_substr(str2, fh, sh, n); // second half of second string
    +
    132
    +
    133 // calculating the three products of inputs of size n/2 recursively
    +
    134 int64_t product1 = karatsuba_algorithm(Xl, Yl);
    +
    135 int64_t product2 = karatsuba_algorithm(Xr, Yr);
    +
    136 int64_t product3 = karatsuba_algorithm(
    + + +
    139
    +
    140 return product1 * (1 << (2 * sh)) +
    +
    141 (product3 - product1 - product2) * (1 << sh) +
    +
    142 product2; // combining the three products to get the final result.
    +
    143}
    +
    +
    144} // namespace karatsuba_algorithm
    +
    145} // namespace divide_and_conquer
    +
    146
    +
    +
    151static void test() {
    +
    152 // 1st test
    +
    153 std::string s11 = "1"; // 1
    +
    154 std::string s12 = "1010"; // 10
    +
    155 std::cout << "1st test... ";
    +
    156 assert(divide_and_conquer::karatsuba_algorithm::karatsuba_algorithm(
    +
    157 s11, s12) == 10);
    +
    158 std::cout << "passed" << std::endl;
    +
    159
    +
    160 // 2nd test
    +
    161 std::string s21 = "11"; // 3
    +
    162 std::string s22 = "1010"; // 10
    +
    163 std::cout << "2nd test... ";
    +
    164 assert(divide_and_conquer::karatsuba_algorithm::karatsuba_algorithm(
    +
    165 s21, s22) == 30);
    +
    166 std::cout << "passed" << std::endl;
    +
    167
    +
    168 // 3rd test
    +
    169 std::string s31 = "110"; // 6
    +
    170 std::string s32 = "1010"; // 10
    +
    171 std::cout << "3rd test... ";
    +
    172 assert(divide_and_conquer::karatsuba_algorithm::karatsuba_algorithm(
    +
    173 s31, s32) == 60);
    +
    174 std::cout << "passed" << std::endl;
    +
    175}
    +
    +
    176
    +
    +
    181int main() {
    +
    182 test(); // run self-test implementations
    +
    183 return 0;
    +
    184}
    +
    +
    static void test()
    Self-test implementations.
    +
    std::string safe_substr(const std::string &str, int64_t x1, int64_t x2, int64_t n)
    Wrapper function for substr that considers leading zeros.
    +
    std::string add_strings(std::string first, std::string second)
    Binary addition.
    + +
    for std::vector
    +
    Functions for the Karatsuba algorithm for fast multiplication implementation.
    +
    +
    + + + + diff --git a/da/dd3/namespacespirograph.html b/da/dd3/namespacespirograph.html index a13f69456..259faddc6 100644 --- a/da/dd3/namespacespirograph.html +++ b/da/dd3/namespacespirograph.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: spirograph Namespace Reference +TheAlgorithms/C++: spirograph Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -112,8 +129,8 @@ $(function(){initNavTree('da/dd3/namespacespirograph.html','../../'); initResiza
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    - - + + @@ -128,12 +145,12 @@ Functions
    -template<std::size_t N>
    +template<std::size_t N>

    Functions

    template<std::size_t N>
    void spirograph (std::array< std::pair< double, double >, N > *points, double l, double k, double rot)
    template<std::size_t N>
    void spirograph (std::array< std::pair< double, double >, N > *points, double l, double k, double rot)
     
    void test ()
     Test function to save resulting points to a CSV file.
    - + @@ -177,13 +194,15 @@ y &=& R\left[ (1-k) \sin (t) - l\cdot k\cdot\sin \left(\frac{1-k}{k}t\ri
    Parameters
    void spirograph::spirograph (std::array< std::pair< double, double >, N > * points, std::array< std::pair< double, double >, N > * points,
    - +
    [out]pointsArray of 2D points represented as std::pair
    [out]pointsArray of 2D points represented as std::pair
    lthe relative distance of marker from the centre of inner circle and \(0\le l\le1\)
    kthe ratio of radius of inner circle to outer circle and \(0<k<1\)
    rotthe number of rotations to perform (can be fractional value)
    + +

    Definition at line 70 of file spirograph.cpp.

    71 {
    72 double dt = rot * 2.f * M_PI / N;
    73 double R = 1.f;
    @@ -195,20 +214,13 @@ y &=& R\left[ (1-k) \sin (t) - l\cdot k\cdot\sin \left(\frac{1-k}{k}t\ri
    79#endif
    80 for (step = 0; step < N; step++) {
    81 double t = dt * step;
    -
    82 double first = R * (k1 * std::cos(t) + l * k * std::cos(k1 * t / k));
    -
    83 double second = R * (k1 * std::sin(t) - l * k * std::sin(k1 * t / k));
    +
    82 double first = R * (k1 * std::cos(t) + l * k * std::cos(k1 * t / k));
    +
    83 double second = R * (k1 * std::sin(t) - l * k * std::sin(k1 * t / k));
    84 points[0][step].first = first;
    85 points[0][step].second = second;
    86 }
    87}
    -
    T cos(T... args)
    -
    T sin(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    @@ -227,19 +239,21 @@ Here is the call graph for this function:

    Test function to save resulting points to a CSV file.

    + +

    Definition at line 93 of file spirograph.cpp.

    93 {
    94 const size_t N = 500;
    95 double l = 0.3, k = 0.75, rot = 10.;
    - -
    97 fname << std::setw(3) << "spirograph_" << l << "_" << k << "_" << rot
    +
    96 std::stringstream fname;
    +
    97 fname << std::setw(3) << "spirograph_" << l << "_" << k << "_" << rot
    98 << ".csv";
    -
    99 std::ofstream fp(fname.str());
    +
    99 std::ofstream fp(fname.str());
    100 if (!fp.is_open()) {
    -
    101 perror(fname.str().c_str());
    +
    101 perror(fname.str().c_str());
    102 exit(EXIT_FAILURE);
    103 }
    104
    - +
    105 std::array<std::pair<double, double>, N> points;
    106
    107 spirograph(&points, l, k, rot);
    108
    @@ -252,18 +266,8 @@ Here is the call graph for this function:
    115
    116 fp.close();
    117}
    - - - -
    T setw(T... args)
    -
    T str(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + diff --git a/da/dd3/namespacespirograph_a8e83a64e8443fff1e5ffdc1c299c1e99_cgraph.map b/da/dd3/namespacespirograph_a8e83a64e8443fff1e5ffdc1c299c1e99_cgraph.map deleted file mode 100644 index 2f31c74f3..000000000 --- a/da/dd3/namespacespirograph_a8e83a64e8443fff1e5ffdc1c299c1e99_cgraph.map +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/da/dd3/namespacespirograph_a8e83a64e8443fff1e5ffdc1c299c1e99_cgraph.md5 b/da/dd3/namespacespirograph_a8e83a64e8443fff1e5ffdc1c299c1e99_cgraph.md5 deleted file mode 100644 index d2e5fbaa4..000000000 --- a/da/dd3/namespacespirograph_a8e83a64e8443fff1e5ffdc1c299c1e99_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -bbddb3e33b1c20b2af3fb7bbd3570179 \ No newline at end of file diff --git a/da/dd3/namespacespirograph_a8e83a64e8443fff1e5ffdc1c299c1e99_cgraph.svg b/da/dd3/namespacespirograph_a8e83a64e8443fff1e5ffdc1c299c1e99_cgraph.svg deleted file mode 100644 index 83c3811a2..000000000 --- a/da/dd3/namespacespirograph_a8e83a64e8443fff1e5ffdc1c299c1e99_cgraph.svg +++ /dev/null @@ -1,119 +0,0 @@ - - - - - - - - - - - - -spirograph::test - - -Node1 - - -spirograph::test - - - - - -Node2 - - -std::ofstream::close - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::ofstream::is_open - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::setw - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::stringstream::str - - - - - -Node1->Node5 - - - - - - - - - - - - - diff --git a/da/dd3/namespacespirograph_a8e83a64e8443fff1e5ffdc1c299c1e99_cgraph_org.svg b/da/dd3/namespacespirograph_a8e83a64e8443fff1e5ffdc1c299c1e99_cgraph_org.svg deleted file mode 100644 index 287e3b0e9..000000000 --- a/da/dd3/namespacespirograph_a8e83a64e8443fff1e5ffdc1c299c1e99_cgraph_org.svg +++ /dev/null @@ -1,93 +0,0 @@ - - - - - - -spirograph::test - - -Node1 - - -spirograph::test - - - - - -Node2 - - -std::ofstream::close - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::ofstream::is_open - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::setw - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::stringstream::str - - - - - -Node1->Node5 - - - - - - - - diff --git a/da/dd3/namespacespirograph_aeca22dbe4563358960e907a40cd3e1ac_cgraph.map b/da/dd3/namespacespirograph_aeca22dbe4563358960e907a40cd3e1ac_cgraph.map deleted file mode 100644 index 7cff0a0b7..000000000 --- a/da/dd3/namespacespirograph_aeca22dbe4563358960e907a40cd3e1ac_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/da/dd3/namespacespirograph_aeca22dbe4563358960e907a40cd3e1ac_cgraph.md5 b/da/dd3/namespacespirograph_aeca22dbe4563358960e907a40cd3e1ac_cgraph.md5 deleted file mode 100644 index 7f904ed20..000000000 --- a/da/dd3/namespacespirograph_aeca22dbe4563358960e907a40cd3e1ac_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -b842218c4ccc3ef0692aeef90d31b548 \ No newline at end of file diff --git a/da/dd3/namespacespirograph_aeca22dbe4563358960e907a40cd3e1ac_cgraph.svg b/da/dd3/namespacespirograph_aeca22dbe4563358960e907a40cd3e1ac_cgraph.svg deleted file mode 100644 index 3eac4e393..000000000 --- a/da/dd3/namespacespirograph_aeca22dbe4563358960e907a40cd3e1ac_cgraph.svg +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - -spirograph::spirograph - - -Node1 - - -spirograph::spirograph - - - - - -Node2 - - -std::cos - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::sin - - - - - -Node1->Node3 - - - - - - - - - - - - - diff --git a/da/dd3/namespacespirograph_aeca22dbe4563358960e907a40cd3e1ac_cgraph_org.svg b/da/dd3/namespacespirograph_aeca22dbe4563358960e907a40cd3e1ac_cgraph_org.svg deleted file mode 100644 index d3918651e..000000000 --- a/da/dd3/namespacespirograph_aeca22dbe4563358960e907a40cd3e1ac_cgraph_org.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - -spirograph::spirograph - - -Node1 - - -spirograph::spirograph - - - - - -Node2 - - -std::cos - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::sin - - - - - -Node1->Node3 - - - - - - - - diff --git a/da/dd4/namespacemedian__search.html b/da/dd4/namespacemedian__search.html index c880a1496..ea35eae4b 100644 --- a/da/dd4/namespacemedian__search.html +++ b/da/dd4/namespacemedian__search.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: median_search Namespace Reference +TheAlgorithms/C++: median_search Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/da/dda/namespaceradix__sort.html b/da/dda/namespaceradix__sort.html index 8d2f6d706..b955aed0f 100644 --- a/da/dda/namespaceradix__sort.html +++ b/da/dda/namespaceradix__sort.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: radix_sort Namespace Reference +TheAlgorithms/C++: radix_sort Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/da/de7/decimal__to__hexadecimal_8cpp.html b/da/de7/decimal__to__hexadecimal_8cpp.html index c013ff104..b552b8ebe 100644 --- a/da/de7/decimal__to__hexadecimal_8cpp.html +++ b/da/de7/decimal__to__hexadecimal_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: others/decimal_to_hexadecimal.cpp File Reference +TheAlgorithms/C++: others/decimal_to_hexadecimal.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + @@ -118,7 +135,9 @@ Include dependency graph for decimal_to_hexadecimal.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -126,6 +145,8 @@ Functions

    Functions

    int main (void)

    Detailed Description

    Convert decimal number to hexadecimal representation.

    + +

    Definition in file decimal_to_hexadecimal.cpp.

    Function Documentation

    ◆ main()

    @@ -142,15 +163,17 @@ Functions

    Main program

    + +

    Definition at line 11 of file decimal_to_hexadecimal.cpp.

    11 {
    12 int valueToConvert = 0; // Holds user input
    13 int hexArray[8]; // Contains hex values backwards
    14 int i = 0; // counter
    15 char HexValues[] = "0123456789ABCDEF";
    16
    -
    17 std::cout << "Enter a Decimal Value"
    -
    18 << std::endl; // Displays request to stdout
    -
    19 std::cin >>
    +
    17 std::cout << "Enter a Decimal Value"
    +
    18 << std::endl; // Displays request to stdout
    +
    19 std::cin >>
    20 valueToConvert; // Stores value into valueToConvert via user input
    21
    22 while (valueToConvert > 15) { // Dec to Hex Algorithm
    @@ -160,21 +183,13 @@ Functions
    26 }
    27 hexArray[i] = valueToConvert; // Gets last value
    28
    -
    29 std::cout << "Hex Value: ";
    -
    30 while (i >= 0) std::cout << HexValues[hexArray[i--]];
    +
    29 std::cout << "Hex Value: ";
    +
    30 while (i >= 0) std::cout << HexValues[hexArray[i--]];
    31
    - +
    32 std::cout << std::endl;
    33 return 0;
    34}
    - - -
    T endl(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    diff --git a/da/de7/decimal__to__hexadecimal_8cpp_a840291bc02cba5474a4cb46a9b9566fe_cgraph.map b/da/de7/decimal__to__hexadecimal_8cpp_a840291bc02cba5474a4cb46a9b9566fe_cgraph.map deleted file mode 100644 index 490da38cb..000000000 --- a/da/de7/decimal__to__hexadecimal_8cpp_a840291bc02cba5474a4cb46a9b9566fe_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/da/de7/decimal__to__hexadecimal_8cpp_a840291bc02cba5474a4cb46a9b9566fe_cgraph.md5 b/da/de7/decimal__to__hexadecimal_8cpp_a840291bc02cba5474a4cb46a9b9566fe_cgraph.md5 deleted file mode 100644 index 2f2fe09b6..000000000 --- a/da/de7/decimal__to__hexadecimal_8cpp_a840291bc02cba5474a4cb46a9b9566fe_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -fa87532068062fd8189cade55ca11658 \ No newline at end of file diff --git a/da/de7/decimal__to__hexadecimal_8cpp_a840291bc02cba5474a4cb46a9b9566fe_cgraph.svg b/da/de7/decimal__to__hexadecimal_8cpp_a840291bc02cba5474a4cb46a9b9566fe_cgraph.svg deleted file mode 100644 index 5c76e5177..000000000 --- a/da/de7/decimal__to__hexadecimal_8cpp_a840291bc02cba5474a4cb46a9b9566fe_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/da/de7/decimal__to__hexadecimal_8cpp_a840291bc02cba5474a4cb46a9b9566fe_cgraph_org.svg b/da/de7/decimal__to__hexadecimal_8cpp_a840291bc02cba5474a4cb46a9b9566fe_cgraph_org.svg deleted file mode 100644 index 575e4300e..000000000 --- a/da/de7/decimal__to__hexadecimal_8cpp_a840291bc02cba5474a4cb46a9b9566fe_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - diff --git a/da/de7/decimal__to__hexadecimal_8cpp_source.html b/da/de7/decimal__to__hexadecimal_8cpp_source.html new file mode 100644 index 000000000..e3ce0a10e --- /dev/null +++ b/da/de7/decimal__to__hexadecimal_8cpp_source.html @@ -0,0 +1,167 @@ + + + + + + + + +TheAlgorithms/C++: others/decimal_to_hexadecimal.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    decimal_to_hexadecimal.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    6#include <iostream>
    +
    7
    +
    +
    11int main(void) {
    +
    12 int valueToConvert = 0; // Holds user input
    +
    13 int hexArray[8]; // Contains hex values backwards
    +
    14 int i = 0; // counter
    +
    15 char HexValues[] = "0123456789ABCDEF";
    +
    16
    +
    17 std::cout << "Enter a Decimal Value"
    +
    18 << std::endl; // Displays request to stdout
    +
    19 std::cin >>
    +
    20 valueToConvert; // Stores value into valueToConvert via user input
    +
    21
    +
    22 while (valueToConvert > 15) { // Dec to Hex Algorithm
    +
    23 hexArray[i++] = valueToConvert % 16; // Gets remainder
    +
    24 valueToConvert /= 16;
    +
    25 // valueToConvert >>= 4; // This will divide by 2^4=16 and is faster
    +
    26 }
    +
    27 hexArray[i] = valueToConvert; // Gets last value
    +
    28
    +
    29 std::cout << "Hex Value: ";
    +
    30 while (i >= 0) std::cout << HexValues[hexArray[i--]];
    +
    31
    +
    32 std::cout << std::endl;
    +
    33 return 0;
    +
    34}
    +
    +
    int main(void)
    +
    +
    + + + + diff --git a/da/de8/dijkstra__greedy_8cpp.html b/da/de8/dijkstra__greedy_8cpp.html index ec8a46731..cfbe6471b 100644 --- a/da/de8/dijkstra__greedy_8cpp.html +++ b/da/de8/dijkstra__greedy_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: greedy_algorithms/dijkstra_greedy.cpp File Reference +TheAlgorithms/C++: greedy_algorithms/dijkstra_greedy.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -123,7 +140,9 @@ Include dependency graph for dijkstra_greedy.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -141,10 +160,10 @@ Namespaces

    Classes

    class  greedy_algorithms::dijkstra::Graph
    - + - + @@ -164,6 +183,8 @@ Functions
    Author
    David Leal
    Arpan Jain
    + +

    Definition in file dijkstra_greedy.cpp.

    Function Documentation

    ◆ main()

    @@ -182,17 +203,14 @@ Functions

    Main function.

    Returns
    0 on exit
    + +

    Definition at line 199 of file dijkstra_greedy.cpp.

    199 {
    200 tests(); // run self-test implementations
    201 return 0;
    202}
    -
    static void tests()
    Self-test implementations.
    Definition dijkstra_greedy.cpp:160
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static void tests()
    Self-test implementations.
    + @@ -220,6 +238,8 @@ Here is the call graph for this function:

    Self-test implementations.

    Returns
    void
    + +

    Definition at line 160 of file dijkstra_greedy.cpp.

    160 {
    162
    @@ -252,10 +272,9 @@ Here is the call graph for this function:
    189
    190 assert(graph.edges[1][3] == 3);
    191
    -
    192 std::cout << "All tests have successfully passed!\n";
    +
    192 std::cout << "All tests have successfully passed!\n";
    193}
    - -
    Wrapper class for storing a graph.
    Definition dijkstra_greedy.cpp:35
    +
    Wrapper class for storing a graph.
    Graph Algorithms.
    diff --git a/da/de8/dijkstra__greedy_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/da/de8/dijkstra__greedy_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 2ab19cd06..000000000 --- a/da/de8/dijkstra__greedy_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/da/de8/dijkstra__greedy_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/da/de8/dijkstra__greedy_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index a4288c571..000000000 --- a/da/de8/dijkstra__greedy_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -ed234f3308411cd94ef89d2c5e550bb7 \ No newline at end of file diff --git a/da/de8/dijkstra__greedy_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/da/de8/dijkstra__greedy_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index fe8a2402e..000000000 --- a/da/de8/dijkstra__greedy_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -tests - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/da/de8/dijkstra__greedy_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/da/de8/dijkstra__greedy_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 45d98052a..000000000 --- a/da/de8/dijkstra__greedy_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -tests - - - - - -Node1->Node2 - - - - - - - - diff --git a/da/de8/dijkstra__greedy_8cpp_source.html b/da/de8/dijkstra__greedy_8cpp_source.html new file mode 100644 index 000000000..e3cb5cb00 --- /dev/null +++ b/da/de8/dijkstra__greedy_8cpp_source.html @@ -0,0 +1,294 @@ + + + + + + + + +TheAlgorithms/C++: greedy_algorithms/dijkstra_greedy.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    +

    Functions

    int greedy_algorithms::dijkstra::minimum_distance (std::vector< int > mdist, std::vector< bool > vset, int V)
    int greedy_algorithms::dijkstra::minimum_distance (std::vector< int > mdist, std::vector< bool > vset, int V)
     Utility function that finds the vertex with the minimum distance in mdist.
     
    void greedy_algorithms::dijkstra::print (std::vector< int > dist, int V)
    void greedy_algorithms::dijkstra::print (std::vector< int > dist, int V)
     Utility function to print the distances to vertices.
     
    void greedy_algorithms::dijkstra::dijkstra (Graph graph, int src)
    + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + + +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    dijkstra_greedy.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    17#include <cassert>
    +
    18#include <climits>
    +
    19#include <iostream>
    +
    20#include <vector>
    +
    21
    +
    26namespace greedy_algorithms {
    +
    +
    31namespace dijkstra {
    +
    +
    35class Graph {
    +
    36 public:
    +
    37 int vertexNum = 0;
    +
    38 std::vector<std::vector<int>> edges{};
    +
    39
    +
    +
    44 explicit Graph(const int V) {
    +
    45 // Initialize the array edges
    +
    46 this->edges = std::vector<std::vector<int>>(V, std::vector<int>(V, 0));
    +
    47 for (int i = 0; i < V; i++) {
    +
    48 edges[i] = std::vector<int>(V, 0);
    +
    49 }
    +
    50
    +
    51 // Fills the array with zeros
    +
    52 for (int i = 0; i < V; i++) {
    +
    53 for (int j = 0; j < V; j++) {
    +
    54 edges[i][j] = 0;
    +
    55 }
    +
    56 }
    +
    57
    +
    58 this->vertexNum = V;
    +
    59 }
    +
    +
    60
    +
    +
    68 void add_edge(int src, int dst, int weight) {
    +
    69 this->edges[src][dst] = weight;
    +
    70 }
    +
    +
    71};
    +
    +
    72
    +
    +
    82int minimum_distance(std::vector<int> mdist, std::vector<bool> vset, int V) {
    +
    83 int minVal = INT_MAX, minInd = 0;
    +
    84 for (int i = 0; i < V; i++) {
    +
    85 if (!vset[i] && (mdist[i] < minVal)) {
    +
    86 minVal = mdist[i];
    +
    87 minInd = i;
    +
    88 }
    +
    89 }
    +
    90
    +
    91 return minInd;
    +
    92}
    +
    +
    93
    +
    +
    104void print(std::vector<int> dist, int V) {
    +
    105 std::cout << "\nVertex Distance\n";
    +
    106 for (int i = 0; i < V; i++) {
    +
    107 if (dist[i] < INT_MAX) {
    +
    108 std::cout << i << "\t" << dist[i] << "\n";
    +
    109 }
    +
    110 else {
    +
    111 std::cout << i << "\tINF" << "\n";
    +
    112 }
    +
    113 }
    +
    114}
    +
    +
    115
    +
    +
    124void dijkstra(Graph graph, int src) {
    +
    125 int V = graph.vertexNum;
    +
    126 std::vector<int> mdist{}; // Stores updated distances to the vertex
    +
    127 std::vector<bool> vset{}; // `vset[i]` is true if the vertex `i` is included in the shortest path tree
    +
    128
    +
    129 // Initialize `mdist and `vset`. Set the distance of the source as zero
    +
    130 for (int i = 0; i < V; i++) {
    +
    131 mdist[i] = INT_MAX;
    +
    132 vset[i] = false;
    +
    133 }
    +
    134
    +
    135 mdist[src] = 0;
    +
    136
    +
    137 // iterate to find the shortest path
    +
    138 for (int count = 0; count < V - 1; count++) {
    +
    139 int u = minimum_distance(mdist, vset, V);
    +
    140
    +
    141 vset[u] = true;
    +
    142
    +
    143 for (int v = 0; v < V; v++) {
    +
    144 if (!vset[v] && graph.edges[u][v] &&
    +
    145 mdist[u] + graph.edges[u][v] < mdist[v]) {
    +
    146 mdist[v] = mdist[u] + graph.edges[u][v];
    +
    147 }
    +
    148 }
    +
    149 }
    +
    150
    +
    151 print(mdist, V);
    +
    152}
    +
    +
    153} // namespace dijkstra
    +
    +
    154} // namespace greedy_algorithms
    +
    155
    +
    +
    160static void tests() {
    + +
    162
    +
    163 // 1st test.
    +
    164 graph.add_edge(6, 2, 4);
    +
    165 graph.add_edge(2, 6, 4);
    +
    166
    +
    167 assert(graph.edges[6][2] == 4);
    +
    168
    +
    169 // 2nd test.
    +
    170 graph.add_edge(0, 1, 1);
    +
    171 graph.add_edge(1, 0, 1);
    +
    172
    +
    173 assert(graph.edges[0][1] == 1);
    +
    174
    +
    175 // 3rd test.
    +
    176 graph.add_edge(0, 2, 7);
    +
    177 graph.add_edge(2, 0, 7);
    +
    178 graph.add_edge(1, 2, 1);
    +
    179 graph.add_edge(2, 1, 1);
    +
    180
    +
    181 assert(graph.edges[0][2] == 7);
    +
    182
    +
    183 // 4th test.
    +
    184 graph.add_edge(1, 3, 3);
    +
    185 graph.add_edge(3, 1, 3);
    +
    186 graph.add_edge(1, 4, 2);
    +
    187 graph.add_edge(4, 1, 2);
    +
    188 graph.add_edge(2, 3, 2);
    +
    189
    +
    190 assert(graph.edges[1][3] == 3);
    +
    191
    +
    192 std::cout << "All tests have successfully passed!\n";
    +
    193}
    +
    +
    194
    +
    +
    199int main() {
    +
    200 tests(); // run self-test implementations
    +
    201 return 0;
    +
    202}
    +
    +
    Wrapper class for storing a graph.
    +
    void add_edge(int src, int dst, int weight)
    Adds an edge to the graph.
    +
    Graph(const int V)
    Constructs a graph.
    +
    static void tests()
    Self-test implementations.
    +
    int main()
    Main function.
    +
    Graph Algorithms.
    +
    void print(std::vector< int > dist, int V)
    Utility function to print the distances to vertices.
    +
    int minimum_distance(std::vector< int > mdist, std::vector< bool > vset, int V)
    Utility function that finds the vertex with the minimum distance in mdist.
    +
    for string class
    +
    +
    + + + + diff --git a/da/df2/durand__kerner__roots_8cpp.html b/da/df2/durand__kerner__roots_8cpp.html index 7dae5de80..cc5b0b0bd 100644 --- a/da/df2/durand__kerner__roots_8cpp.html +++ b/da/df2/durand__kerner__roots_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: numerical_methods/durand_kerner_roots.cpp File Reference +TheAlgorithms/C++: numerical_methods/durand_kerner_roots.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -128,7 +145,9 @@ Include dependency graph for durand_kerner_roots.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -139,13 +158,13 @@ Macros

    Macros

    #define ACCURACY   1e-10
    - + - + - + @@ -170,6 +189,8 @@ Functions iteration." style="pointer-events: none;" width="400" class="inline"/> Roots evolution - shows the initial approximation of the
    roots and their convergence to a final approximation along with the iterative
    approximations

    + +

    Definition in file durand_kerner_roots.cpp.

    Macro Definition Documentation

    ◆ ACCURACY

    @@ -184,6 +205,8 @@ Functions

    maximum accuracy limit

    +

    Definition at line 46 of file durand_kerner_roots.cpp.

    +

    Function Documentation

    @@ -210,6 +233,8 @@ Functions
    Returns
    false if termination not reached
    true if termination reached
    + +

    Definition at line 92 of file durand_kerner_roots.cpp.

    92 {
    93 static long double past_delta = INFINITY;
    94 if (std::abs(past_delta - delta) <= ACCURACY || delta < ACCURACY)
    @@ -217,7 +242,7 @@ Functions
    96 past_delta = delta;
    97 return false;
    98}
    -
    #define ACCURACY
    Definition durand_kerner_roots.cpp:46
    +
    #define ACCURACY
    @@ -230,7 +255,7 @@ Functions - +

    Functions

    std::complex< double > poly_function (const std::valarray< double > &coeffs, std::complex< double > x)
    std::complex< double > poly_function (const std::valarray< double > &coeffs, std::complex< double > x)
     
    const char * complex_str (const std::complex< double > &x)
    const char * complex_str (const std::complex< double > &x)
     
    bool check_termination (long double delta)
     
    std::pair< uint32_t, double > durand_kerner_algo (const std::valarray< double > &coeffs, std::valarray< std::complex< double > > *roots, bool write_log=false)
    std::pair< uint32_t, double > durand_kerner_algo (const std::valarray< double > &coeffs, std::valarray< std::complex< double > > *roots, bool write_log=false)
     
    void test1 ()
     
    const char * complex_str (const std::complex< double > & x)const std::complex< double > & x)
    @@ -242,23 +267,17 @@ Functions
    Returns
    pointer to converted string
    + +

    Definition at line 77 of file durand_kerner_roots.cpp.

    77 {
    78#define MAX_BUFF_SIZE 50
    79 static char msg[MAX_BUFF_SIZE];
    80
    -
    81 std::snprintf(msg, MAX_BUFF_SIZE, "% 7.04g%+7.04gj", x.real(), x.imag());
    +
    81 std::snprintf(msg, MAX_BUFF_SIZE, "% 7.04g%+7.04gj", x.real(), x.imag());
    82
    83 return msg;
    84}
    -
    T snprintf(T... args)
    -
    T imag(T... args)
    -
    T real(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    @@ -268,14 +287,14 @@ Here is the call graph for this function:
    - + - + - + @@ -294,20 +313,22 @@ Here is the call graph for this function:
    Returns
    pair of values - number of iterations taken and final accuracy achieved
    + +

    Definition at line 110 of file durand_kerner_roots.cpp.

    112 {
    113 long double tol_condition = 1;
    114 uint32_t iter = 0;
    115 int n;
    -
    116 std::ofstream log_file;
    +
    116 std::ofstream log_file;
    117
    118 if (write_log) {
    119 /*
    120 * store intermediate values to a CSV file
    121 */
    -
    122 log_file.open("durand_kerner.log.csv");
    -
    123 if (!log_file.is_open()) {
    -
    124 perror("Unable to create a storage log file!");
    -
    125 std::exit(EXIT_FAILURE);
    +
    122 log_file.open("durand_kerner.log.csv");
    +
    123 if (!log_file.is_open()) {
    +
    124 perror("Unable to create a storage log file!");
    +
    125 std::exit(EXIT_FAILURE);
    126 }
    127 log_file << "iter#,";
    128
    @@ -326,7 +347,7 @@ Here is the call graph for this function:
    141 iter++;
    142 break_loop = false;
    143
    -
    144 if (log_file.is_open())
    +
    144 if (log_file.is_open())
    145 log_file << "\n" << iter << ",";
    146
    147#ifdef _OPENMP
    @@ -336,17 +357,17 @@ Here is the call graph for this function:
    151 if (break_loop)
    152 continue;
    153
    -
    154 std::complex<double> numerator, denominator;
    +
    154 std::complex<double> numerator, denominator;
    155 numerator = poly_function(coeffs, (*roots)[n]);
    156 denominator = 1.0;
    157 for (int i = 0; i < roots->size(); i++)
    158 if (i != n)
    159 denominator *= (*roots)[n] - (*roots)[i];
    160
    -
    161 std::complex<long double> delta = numerator / denominator;
    +
    161 std::complex<long double> delta = numerator / denominator;
    162
    -
    163 if (std::isnan(std::abs(delta)) || std::isinf(std::abs(delta))) {
    -
    164 std::cerr << "\n\nOverflow/underrun error - got value = "
    +
    163 if (std::isnan(std::abs(delta)) || std::isinf(std::abs(delta))) {
    +
    164 std::cerr << "\n\nOverflow/underrun error - got value = "
    165 << std::abs(delta) << "\n";
    166 // return std::pair<uint32_t, double>(iter, tol_condition);
    167 break_loop = true;
    @@ -357,54 +378,38 @@ Here is the call graph for this function:
    172#ifdef _OPENMP
    173#pragma omp critical
    174#endif
    -
    175 tol_condition = std::max(tol_condition, std::abs(std::abs(delta)));
    +
    175 tol_condition = std::max(tol_condition, std::abs(std::abs(delta)));
    176 }
    177 // tol_condition /= (degree - 1);
    178
    179 if (break_loop)
    180 break;
    181
    -
    182 if (log_file.is_open()) {
    +
    182 if (log_file.is_open()) {
    183 for (n = 0; n < roots->size(); n++)
    184 log_file << complex_str((*roots)[n]) << ",";
    185 }
    186
    187#if defined(DEBUG) || !defined(NDEBUG)
    188 if (iter % 500 == 0) {
    -
    189 std::cout << "Iter: " << iter << "\t";
    +
    189 std::cout << "Iter: " << iter << "\t";
    190 for (n = 0; n < roots->size(); n++)
    -
    191 std::cout << "\t" << complex_str((*roots)[n]);
    -
    192 std::cout << "\t\tabsolute average change: " << tol_condition
    +
    191 std::cout << "\t" << complex_str((*roots)[n]);
    +
    192 std::cout << "\t\tabsolute average change: " << tol_condition
    193 << "\n";
    194 }
    195#endif
    196
    -
    197 if (log_file.is_open())
    +
    197 if (log_file.is_open())
    198 log_file << tol_condition;
    199 }
    200
    -
    201 return std::pair<uint32_t, long double>(iter, tol_condition);
    +
    201 return std::pair<uint32_t, long double>(iter, tol_condition);
    202}
    - - - -
    bool check_termination(long double delta)
    Definition durand_kerner_roots.cpp:92
    -
    const char * complex_str(const std::complex< double > &x)
    Definition durand_kerner_roots.cpp:77
    -
    std::complex< double > poly_function(const std::valarray< double > &coeffs, std::complex< double > x)
    Definition durand_kerner_roots.cpp:54
    -
    T exit(T... args)
    -
    T is_open(T... args)
    -
    T isinf(T... args)
    -
    T isnan(T... args)
    -
    T max(T... args)
    -
    T open(T... args)
    - -
    T perror(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    bool check_termination(long double delta)
    +
    const char * complex_str(const std::complex< double > &x)
    +
    std::complex< double > poly_function(const std::valarray< double > &coeffs, std::complex< double > x)
    + @@ -425,37 +430,39 @@ Here is the call graph for this function:
    std::pair< uint32_t, double > durand_kerner_algo std::pair< uint32_t, double > durand_kerner_algo (const std::valarray< double > & coeffs, const std::valarray< double > & coeffs,
    std::valarray< std::complex< double > > * roots, std::valarray< std::complex< double > > * roots,
    + +

    Definition at line 284 of file durand_kerner_roots.cpp.

    284 {
    285 /* initialize random seed: */
    -
    286 std::srand(std::time(nullptr));
    +
    286 std::srand(std::time(nullptr));
    287
    288 if (argc < 2) {
    289 test1(); // run tests when no input is provided
    290 test2(); // and skip tests when input polynomial is provided
    -
    291 std::cout << "Please pass the coefficients of the polynomial as "
    +
    291 std::cout << "Please pass the coefficients of the polynomial as "
    292 "commandline "
    293 "arguments.\n";
    294 return 0;
    295 }
    296
    297 int n, degree = argc - 1; // detected polynomial degree
    -
    298 std::valarray<double> coeffs(degree); // create coefficiencts array
    +
    298 std::valarray<double> coeffs(degree); // create coefficiencts array
    299
    300 // number of roots = degree - 1
    - +
    301 std::valarray<std::complex<double>> s0(degree - 1);
    302
    -
    303 std::cout << "Computing the roots for:\n\t";
    +
    303 std::cout << "Computing the roots for:\n\t";
    304 for (n = 0; n < degree; n++) {
    -
    305 coeffs[n] = strtod(argv[n + 1], nullptr);
    +
    305 coeffs[n] = strtod(argv[n + 1], nullptr);
    306 if (n < degree - 1 && coeffs[n] != 0)
    -
    307 std::cout << "(" << coeffs[n] << ") x^" << degree - n - 1 << " + ";
    +
    307 std::cout << "(" << coeffs[n] << ") x^" << degree - n - 1 << " + ";
    308 else if (coeffs[n] != 0)
    -
    309 std::cout << "(" << coeffs[n] << ") x^" << degree - n - 1
    +
    309 std::cout << "(" << coeffs[n] << ") x^" << degree - n - 1
    310 << " = 0\n";
    311
    312 /* initialize root approximations with random values */
    313 if (n < degree - 1) {
    -
    314 s0[n] = std::complex<double>(std::rand() % 100, std::rand() % 100);
    +
    314 s0[n] = std::complex<double>(std::rand() % 100, std::rand() % 100);
    315 s0[n] -= 50.f;
    316 s0[n] /= 50.f;
    317 }
    @@ -468,30 +475,24 @@ Here is the call graph for this function:
    324 coeffs /= tmp;
    325 }
    326
    -
    327 clock_t end_time, start_time = clock();
    +
    327 clock_t end_time, start_time = clock();
    328 auto result = durand_kerner_algo(coeffs, &s0, true);
    -
    329 end_time = clock();
    +
    329 end_time = clock();
    330
    -
    331 std::cout << "\nIterations: " << result.first << "\n";
    +
    331 std::cout << "\nIterations: " << result.first << "\n";
    332 for (n = 0; n < degree - 1; n++)
    -
    333 std::cout << "\t" << complex_str(s0[n]) << "\n";
    -
    334 std::cout << "absolute average change: " << result.second << "\n";
    -
    335 std::cout << "Time taken: "
    +
    333 std::cout << "\t" << complex_str(s0[n]) << "\n";
    +
    334 std::cout << "absolute average change: " << result.second << "\n";
    +
    335 std::cout << "Time taken: "
    336 << static_cast<double>(end_time - start_time) / CLOCKS_PER_SEC
    337 << " sec\n";
    338
    339 return 0;
    340}
    -
    T clock(T... args)
    -
    void test2()
    Definition durand_kerner_roots.cpp:243
    -
    void test1()
    Definition durand_kerner_roots.cpp:208
    -
    std::pair< uint32_t, double > durand_kerner_algo(const std::valarray< double > &coeffs, std::valarray< std::complex< double > > *roots, bool write_log=false)
    Definition durand_kerner_roots.cpp:110
    -
    uint64_t result(uint64_t n)
    Definition fibonacci_sum.cpp:77
    -
    T rand(T... args)
    -
    T srand(T... args)
    -
    T strtod(T... args)
    -
    T time(T... args)
    - +
    void test2()
    +
    void test1()
    +
    std::pair< uint32_t, double > durand_kerner_algo(const std::valarray< double > &coeffs, std::valarray< std::complex< double > > *roots, bool write_log=false)
    +
    uint64_t result(uint64_t n)
    @@ -502,14 +503,14 @@ Here is the call graph for this function:
    - + - + - +
    std::complex< double > poly_function std::complex< double > poly_function (const std::valarray< double > & coeffs, const std::valarray< double > & coeffs,
    std::complex< double > x )std::complex< double > x )
    @@ -521,6 +522,8 @@ Here is the call graph for this function:
    Returns
    \(f(x)\)
    + +

    Definition at line 54 of file durand_kerner_roots.cpp.

    55 {
    56 double real = 0.f, imag = 0.f;
    57 int n;
    @@ -529,21 +532,15 @@ Here is the call graph for this function:
    60 // #pragma omp target teams distribute reduction(+ : real, imag)
    61 // #endif
    62 for (n = 0; n < coeffs.size(); n++) {
    - -
    64 coeffs[n] * std::pow(x, coeffs.size() - n - 1);
    -
    65 real += tmp.real();
    -
    66 imag += tmp.imag();
    +
    63 std::complex<double> tmp =
    +
    64 coeffs[n] * std::pow(x, coeffs.size() - n - 1);
    +
    65 real += tmp.real();
    +
    66 imag += tmp.imag();
    67 }
    68
    -
    69 return std::complex<double>(real, imag);
    +
    69 return std::complex<double>(real, imag);
    70}
    -
    T pow(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -561,17 +558,19 @@ Here is the call graph for this function:

    Self test the algorithm by checking the roots for \(x^2+4=0\) to which the roots are \(0 \pm 2i\)

    + +

    Definition at line 208 of file durand_kerner_roots.cpp.

    208 {
    -
    209 const std::valarray<double> coeffs = {1, 0, 4}; // x^2 - 2 = 0
    - - -
    212 std::complex<double>(0., 2.),
    -
    213 std::complex<double>(0., -2.) // known expected roots
    +
    209 const std::valarray<double> coeffs = {1, 0, 4}; // x^2 - 2 = 0
    +
    210 std::valarray<std::complex<double>> roots(2);
    +
    211 std::valarray<std::complex<double>> expected = {
    +
    212 std::complex<double>(0., 2.),
    +
    213 std::complex<double>(0., -2.) // known expected roots
    214 };
    215
    216 /* initialize root approximations with random values */
    217 for (int n = 0; n < roots.size(); n++) {
    -
    218 roots[n] = std::complex<double>(std::rand() % 100, std::rand() % 100);
    +
    218 roots[n] = std::complex<double>(std::rand() % 100, std::rand() % 100);
    219 roots[n] -= 50.f;
    220 roots[n] /= 25.f;
    221 }
    @@ -587,16 +586,11 @@ Here is the call graph for this function:
    231 assert(err1);
    232 }
    233
    -
    234 std::cout << "Test 1 passed! - " << result.first << " iterations, "
    +
    234 std::cout << "Test 1 passed! - " << result.first << " iterations, "
    235 << result.second << " accuracy"
    236 << "\n";
    237}
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -614,18 +608,20 @@ Here is the call graph for this function:

    Self test the algorithm by checking the roots for \(0.015625x^3-1=0\) to which the roots are \((4+0i),\,(-2\pm3.464i)\)

    + +

    Definition at line 243 of file durand_kerner_roots.cpp.

    243 {
    -
    244 const std::valarray<double> coeffs = {// 0.015625 x^3 - 1 = 0
    +
    244 const std::valarray<double> coeffs = {// 0.015625 x^3 - 1 = 0
    245 1. / 64., 0., 0., -1.};
    - -
    247 const std::valarray<std::complex<double>> expected = {
    -
    248 std::complex<double>(4., 0.), std::complex<double>(-2., 3.46410162),
    -
    249 std::complex<double>(-2., -3.46410162) // known expected roots
    +
    246 std::valarray<std::complex<double>> roots(3);
    +
    247 const std::valarray<std::complex<double>> expected = {
    +
    248 std::complex<double>(4., 0.), std::complex<double>(-2., 3.46410162),
    +
    249 std::complex<double>(-2., -3.46410162) // known expected roots
    250 };
    251
    252 /* initialize root approximations with random values */
    253 for (int n = 0; n < roots.size(); n++) {
    -
    254 roots[n] = std::complex<double>(std::rand() % 100, std::rand() % 100);
    +
    254 roots[n] = std::complex<double>(std::rand() % 100, std::rand() % 100);
    255 roots[n] -= 50.f;
    256 roots[n] /= 25.f;
    257 }
    @@ -641,16 +637,11 @@ Here is the call graph for this function:
    267 assert(err1);
    268 }
    269
    -
    270 std::cout << "Test 2 passed! - " << result.first << " iterations, "
    +
    270 std::cout << "Test 2 passed! - " << result.first << " iterations, "
    271 << result.second << " accuracy"
    272 << "\n";
    273}
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + diff --git a/da/df2/durand__kerner__roots_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph.map b/da/df2/durand__kerner__roots_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph.map deleted file mode 100644 index d98a695b1..000000000 --- a/da/df2/durand__kerner__roots_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph.map +++ /dev/null @@ -1,35 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/da/df2/durand__kerner__roots_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph.md5 b/da/df2/durand__kerner__roots_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph.md5 deleted file mode 100644 index a6c79582a..000000000 --- a/da/df2/durand__kerner__roots_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -9497ddabf33a67575cb55954b5500841 \ No newline at end of file diff --git a/da/df2/durand__kerner__roots_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph.svg b/da/df2/durand__kerner__roots_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph.svg deleted file mode 100644 index 82c58f396..000000000 --- a/da/df2/durand__kerner__roots_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph.svg +++ /dev/null @@ -1,335 +0,0 @@ - - - - - - - - - - - - -test2 - - -Node1 - - -test2 - - - - - -Node2 - - -durand_kerner_algo - - - - - -Node1->Node2 - - - - - - - - -Node16 - - -std::rand - - - - - -Node1->Node16 - - - - - - - - -Node3 - - -check_termination - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -complex_str - - - - - -Node2->Node4 - - - - - - - - -Node8 - - -std::exit - - - - - -Node2->Node8 - - - - - - - - -Node9 - - -std::ofstream::is_open - - - - - -Node2->Node9 - - - - - - - - -Node10 - - -std::isinf - - - - - -Node2->Node10 - - - - - - - - -Node11 - - -std::isnan - - - - - -Node2->Node11 - - - - - - - - -Node12 - - -std::max - - - - - -Node2->Node12 - - - - - - - - -Node13 - - -std::ofstream::open - - - - - -Node2->Node13 - - - - - - - - -Node14 - - -poly_function - - - - - -Node2->Node14 - - - - - - - - -Node5 - - -std::complex::imag - - - - - -Node4->Node5 - - - - - - - - -Node6 - - -std::complex::real - - - - - -Node4->Node6 - - - - - - - - -Node7 - - -std::snprintf - - - - - -Node4->Node7 - - - - - - - - -Node14->Node5 - - - - - - - - -Node14->Node6 - - - - - - - - -Node15 - - -std::pow - - - - - -Node14->Node15 - - - - - - - - - - - - - diff --git a/da/df2/durand__kerner__roots_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph_org.svg b/da/df2/durand__kerner__roots_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph_org.svg deleted file mode 100644 index 0664c7cf2..000000000 --- a/da/df2/durand__kerner__roots_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph_org.svg +++ /dev/null @@ -1,309 +0,0 @@ - - - - - - -test2 - - -Node1 - - -test2 - - - - - -Node2 - - -durand_kerner_algo - - - - - -Node1->Node2 - - - - - - - - -Node16 - - -std::rand - - - - - -Node1->Node16 - - - - - - - - -Node3 - - -check_termination - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -complex_str - - - - - -Node2->Node4 - - - - - - - - -Node8 - - -std::exit - - - - - -Node2->Node8 - - - - - - - - -Node9 - - -std::ofstream::is_open - - - - - -Node2->Node9 - - - - - - - - -Node10 - - -std::isinf - - - - - -Node2->Node10 - - - - - - - - -Node11 - - -std::isnan - - - - - -Node2->Node11 - - - - - - - - -Node12 - - -std::max - - - - - -Node2->Node12 - - - - - - - - -Node13 - - -std::ofstream::open - - - - - -Node2->Node13 - - - - - - - - -Node14 - - -poly_function - - - - - -Node2->Node14 - - - - - - - - -Node5 - - -std::complex::imag - - - - - -Node4->Node5 - - - - - - - - -Node6 - - -std::complex::real - - - - - -Node4->Node6 - - - - - - - - -Node7 - - -std::snprintf - - - - - -Node4->Node7 - - - - - - - - -Node14->Node5 - - - - - - - - -Node14->Node6 - - - - - - - - -Node15 - - -std::pow - - - - - -Node14->Node15 - - - - - - - - diff --git a/da/df2/durand__kerner__roots_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph.map b/da/df2/durand__kerner__roots_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph.map deleted file mode 100644 index 5fd7b4301..000000000 --- a/da/df2/durand__kerner__roots_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph.map +++ /dev/null @@ -1,35 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/da/df2/durand__kerner__roots_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph.md5 b/da/df2/durand__kerner__roots_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph.md5 deleted file mode 100644 index 1ae57325b..000000000 --- a/da/df2/durand__kerner__roots_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -85d293a7a159a1a01ba132fccd4cc405 \ No newline at end of file diff --git a/da/df2/durand__kerner__roots_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph.svg b/da/df2/durand__kerner__roots_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph.svg deleted file mode 100644 index 92143fcaf..000000000 --- a/da/df2/durand__kerner__roots_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph.svg +++ /dev/null @@ -1,335 +0,0 @@ - - - - - - - - - - - - -test1 - - -Node1 - - -test1 - - - - - -Node2 - - -durand_kerner_algo - - - - - -Node1->Node2 - - - - - - - - -Node16 - - -std::rand - - - - - -Node1->Node16 - - - - - - - - -Node3 - - -check_termination - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -complex_str - - - - - -Node2->Node4 - - - - - - - - -Node8 - - -std::exit - - - - - -Node2->Node8 - - - - - - - - -Node9 - - -std::ofstream::is_open - - - - - -Node2->Node9 - - - - - - - - -Node10 - - -std::isinf - - - - - -Node2->Node10 - - - - - - - - -Node11 - - -std::isnan - - - - - -Node2->Node11 - - - - - - - - -Node12 - - -std::max - - - - - -Node2->Node12 - - - - - - - - -Node13 - - -std::ofstream::open - - - - - -Node2->Node13 - - - - - - - - -Node14 - - -poly_function - - - - - -Node2->Node14 - - - - - - - - -Node5 - - -std::complex::imag - - - - - -Node4->Node5 - - - - - - - - -Node6 - - -std::complex::real - - - - - -Node4->Node6 - - - - - - - - -Node7 - - -std::snprintf - - - - - -Node4->Node7 - - - - - - - - -Node14->Node5 - - - - - - - - -Node14->Node6 - - - - - - - - -Node15 - - -std::pow - - - - - -Node14->Node15 - - - - - - - - - - - - - diff --git a/da/df2/durand__kerner__roots_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph_org.svg b/da/df2/durand__kerner__roots_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph_org.svg deleted file mode 100644 index cbcedd04a..000000000 --- a/da/df2/durand__kerner__roots_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph_org.svg +++ /dev/null @@ -1,309 +0,0 @@ - - - - - - -test1 - - -Node1 - - -test1 - - - - - -Node2 - - -durand_kerner_algo - - - - - -Node1->Node2 - - - - - - - - -Node16 - - -std::rand - - - - - -Node1->Node16 - - - - - - - - -Node3 - - -check_termination - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -complex_str - - - - - -Node2->Node4 - - - - - - - - -Node8 - - -std::exit - - - - - -Node2->Node8 - - - - - - - - -Node9 - - -std::ofstream::is_open - - - - - -Node2->Node9 - - - - - - - - -Node10 - - -std::isinf - - - - - -Node2->Node10 - - - - - - - - -Node11 - - -std::isnan - - - - - -Node2->Node11 - - - - - - - - -Node12 - - -std::max - - - - - -Node2->Node12 - - - - - - - - -Node13 - - -std::ofstream::open - - - - - -Node2->Node13 - - - - - - - - -Node14 - - -poly_function - - - - - -Node2->Node14 - - - - - - - - -Node5 - - -std::complex::imag - - - - - -Node4->Node5 - - - - - - - - -Node6 - - -std::complex::real - - - - - -Node4->Node6 - - - - - - - - -Node7 - - -std::snprintf - - - - - -Node4->Node7 - - - - - - - - -Node14->Node5 - - - - - - - - -Node14->Node6 - - - - - - - - -Node15 - - -std::pow - - - - - -Node14->Node15 - - - - - - - - diff --git a/da/df2/durand__kerner__roots_8cpp_a2c35b320ace8677f9b331faf94f8b2fd_cgraph.map b/da/df2/durand__kerner__roots_8cpp_a2c35b320ace8677f9b331faf94f8b2fd_cgraph.map deleted file mode 100644 index dfb4af796..000000000 --- a/da/df2/durand__kerner__roots_8cpp_a2c35b320ace8677f9b331faf94f8b2fd_cgraph.map +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/da/df2/durand__kerner__roots_8cpp_a2c35b320ace8677f9b331faf94f8b2fd_cgraph.md5 b/da/df2/durand__kerner__roots_8cpp_a2c35b320ace8677f9b331faf94f8b2fd_cgraph.md5 deleted file mode 100644 index fa7657413..000000000 --- a/da/df2/durand__kerner__roots_8cpp_a2c35b320ace8677f9b331faf94f8b2fd_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -afa3f355444f9d2c3d14fd5a354be2c2 \ No newline at end of file diff --git a/da/df2/durand__kerner__roots_8cpp_a2c35b320ace8677f9b331faf94f8b2fd_cgraph.svg b/da/df2/durand__kerner__roots_8cpp_a2c35b320ace8677f9b331faf94f8b2fd_cgraph.svg deleted file mode 100644 index b49c6aa8d..000000000 --- a/da/df2/durand__kerner__roots_8cpp_a2c35b320ace8677f9b331faf94f8b2fd_cgraph.svg +++ /dev/null @@ -1,299 +0,0 @@ - - - - - - - - - - - - -durand_kerner_algo - - -Node1 - - -durand_kerner_algo - - - - - -Node2 - - -check_termination - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -complex_str - - - - - -Node1->Node3 - - - - - - - - -Node7 - - -std::exit - - - - - -Node1->Node7 - - - - - - - - -Node8 - - -std::ofstream::is_open - - - - - -Node1->Node8 - - - - - - - - -Node9 - - -std::isinf - - - - - -Node1->Node9 - - - - - - - - -Node10 - - -std::isnan - - - - - -Node1->Node10 - - - - - - - - -Node11 - - -std::max - - - - - -Node1->Node11 - - - - - - - - -Node12 - - -std::ofstream::open - - - - - -Node1->Node12 - - - - - - - - -Node13 - - -poly_function - - - - - -Node1->Node13 - - - - - - - - -Node4 - - -std::complex::imag - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -std::complex::real - - - - - -Node3->Node5 - - - - - - - - -Node6 - - -std::snprintf - - - - - -Node3->Node6 - - - - - - - - -Node13->Node4 - - - - - - - - -Node13->Node5 - - - - - - - - -Node14 - - -std::pow - - - - - -Node13->Node14 - - - - - - - - - - - - - diff --git a/da/df2/durand__kerner__roots_8cpp_a2c35b320ace8677f9b331faf94f8b2fd_cgraph_org.svg b/da/df2/durand__kerner__roots_8cpp_a2c35b320ace8677f9b331faf94f8b2fd_cgraph_org.svg deleted file mode 100644 index 1722d6205..000000000 --- a/da/df2/durand__kerner__roots_8cpp_a2c35b320ace8677f9b331faf94f8b2fd_cgraph_org.svg +++ /dev/null @@ -1,273 +0,0 @@ - - - - - - -durand_kerner_algo - - -Node1 - - -durand_kerner_algo - - - - - -Node2 - - -check_termination - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -complex_str - - - - - -Node1->Node3 - - - - - - - - -Node7 - - -std::exit - - - - - -Node1->Node7 - - - - - - - - -Node8 - - -std::ofstream::is_open - - - - - -Node1->Node8 - - - - - - - - -Node9 - - -std::isinf - - - - - -Node1->Node9 - - - - - - - - -Node10 - - -std::isnan - - - - - -Node1->Node10 - - - - - - - - -Node11 - - -std::max - - - - - -Node1->Node11 - - - - - - - - -Node12 - - -std::ofstream::open - - - - - -Node1->Node12 - - - - - - - - -Node13 - - -poly_function - - - - - -Node1->Node13 - - - - - - - - -Node4 - - -std::complex::imag - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -std::complex::real - - - - - -Node3->Node5 - - - - - - - - -Node6 - - -std::snprintf - - - - - -Node3->Node6 - - - - - - - - -Node13->Node4 - - - - - - - - -Node13->Node5 - - - - - - - - -Node14 - - -std::pow - - - - - -Node13->Node14 - - - - - - - - diff --git a/da/df2/durand__kerner__roots_8cpp_a90219e35062007d1f1b68e9af071ab5c_cgraph.map b/da/df2/durand__kerner__roots_8cpp_a90219e35062007d1f1b68e9af071ab5c_cgraph.map deleted file mode 100644 index 522e7b1b0..000000000 --- a/da/df2/durand__kerner__roots_8cpp_a90219e35062007d1f1b68e9af071ab5c_cgraph.map +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/da/df2/durand__kerner__roots_8cpp_a90219e35062007d1f1b68e9af071ab5c_cgraph.md5 b/da/df2/durand__kerner__roots_8cpp_a90219e35062007d1f1b68e9af071ab5c_cgraph.md5 deleted file mode 100644 index 6ed29590b..000000000 --- a/da/df2/durand__kerner__roots_8cpp_a90219e35062007d1f1b68e9af071ab5c_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -f1267f9382e77cf4a9fe57de44e5a034 \ No newline at end of file diff --git a/da/df2/durand__kerner__roots_8cpp_a90219e35062007d1f1b68e9af071ab5c_cgraph.svg b/da/df2/durand__kerner__roots_8cpp_a90219e35062007d1f1b68e9af071ab5c_cgraph.svg deleted file mode 100644 index c51096ec1..000000000 --- a/da/df2/durand__kerner__roots_8cpp_a90219e35062007d1f1b68e9af071ab5c_cgraph.svg +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - - - - - - - -complex_str - - -Node1 - - -complex_str - - - - - -Node2 - - -std::complex::imag - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::complex::real - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::snprintf - - - - - -Node1->Node4 - - - - - - - - - - - - - diff --git a/da/df2/durand__kerner__roots_8cpp_a90219e35062007d1f1b68e9af071ab5c_cgraph_org.svg b/da/df2/durand__kerner__roots_8cpp_a90219e35062007d1f1b68e9af071ab5c_cgraph_org.svg deleted file mode 100644 index edc16d877..000000000 --- a/da/df2/durand__kerner__roots_8cpp_a90219e35062007d1f1b68e9af071ab5c_cgraph_org.svg +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - -complex_str - - -Node1 - - -complex_str - - - - - -Node2 - - -std::complex::imag - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::complex::real - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::snprintf - - - - - -Node1->Node4 - - - - - - - - diff --git a/da/df2/durand__kerner__roots_8cpp_ae2ab49ba1969d7a5988f9bc2c8924569_cgraph.map b/da/df2/durand__kerner__roots_8cpp_ae2ab49ba1969d7a5988f9bc2c8924569_cgraph.map deleted file mode 100644 index 4c14e683c..000000000 --- a/da/df2/durand__kerner__roots_8cpp_ae2ab49ba1969d7a5988f9bc2c8924569_cgraph.map +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/da/df2/durand__kerner__roots_8cpp_ae2ab49ba1969d7a5988f9bc2c8924569_cgraph.md5 b/da/df2/durand__kerner__roots_8cpp_ae2ab49ba1969d7a5988f9bc2c8924569_cgraph.md5 deleted file mode 100644 index d77f1e2ab..000000000 --- a/da/df2/durand__kerner__roots_8cpp_ae2ab49ba1969d7a5988f9bc2c8924569_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -8bea26c55137a2a13f922232ef4bcd7c \ No newline at end of file diff --git a/da/df2/durand__kerner__roots_8cpp_ae2ab49ba1969d7a5988f9bc2c8924569_cgraph.svg b/da/df2/durand__kerner__roots_8cpp_ae2ab49ba1969d7a5988f9bc2c8924569_cgraph.svg deleted file mode 100644 index fd7228aaa..000000000 --- a/da/df2/durand__kerner__roots_8cpp_ae2ab49ba1969d7a5988f9bc2c8924569_cgraph.svg +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - - - - - - - -poly_function - - -Node1 - - -poly_function - - - - - -Node2 - - -std::complex::imag - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::pow - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::complex::real - - - - - -Node1->Node4 - - - - - - - - - - - - - diff --git a/da/df2/durand__kerner__roots_8cpp_ae2ab49ba1969d7a5988f9bc2c8924569_cgraph_org.svg b/da/df2/durand__kerner__roots_8cpp_ae2ab49ba1969d7a5988f9bc2c8924569_cgraph_org.svg deleted file mode 100644 index 1094f8a1c..000000000 --- a/da/df2/durand__kerner__roots_8cpp_ae2ab49ba1969d7a5988f9bc2c8924569_cgraph_org.svg +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - -poly_function - - -Node1 - - -poly_function - - - - - -Node2 - - -std::complex::imag - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::pow - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::complex::real - - - - - -Node1->Node4 - - - - - - - - diff --git a/da/df2/durand__kerner__roots_8cpp_source.html b/da/df2/durand__kerner__roots_8cpp_source.html new file mode 100644 index 000000000..d99e97508 --- /dev/null +++ b/da/df2/durand__kerner__roots_8cpp_source.html @@ -0,0 +1,432 @@ + + + + + + + + +TheAlgorithms/C++: numerical_methods/durand_kerner_roots.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    durand_kerner_roots.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    32#include <algorithm>
    +
    33#include <cassert>
    +
    34#include <cmath>
    +
    35#include <complex>
    +
    36#include <cstdint>
    +
    37#include <cstdlib>
    +
    38#include <ctime>
    +
    39#include <fstream>
    +
    40#include <iostream>
    +
    41#include <valarray>
    +
    42#ifdef _OPENMP
    +
    43#include <omp.h>
    +
    44#endif
    +
    45
    +
    46#define ACCURACY 1e-10
    +
    +
    54std::complex<double> poly_function(const std::valarray<double> &coeffs,
    +
    55 std::complex<double> x) {
    +
    56 double real = 0.f, imag = 0.f;
    +
    57 int n;
    +
    58
    +
    59 // #ifdef _OPENMP
    +
    60 // #pragma omp target teams distribute reduction(+ : real, imag)
    +
    61 // #endif
    +
    62 for (n = 0; n < coeffs.size(); n++) {
    +
    63 std::complex<double> tmp =
    +
    64 coeffs[n] * std::pow(x, coeffs.size() - n - 1);
    +
    65 real += tmp.real();
    +
    66 imag += tmp.imag();
    +
    67 }
    +
    68
    +
    69 return std::complex<double>(real, imag);
    +
    70}
    +
    +
    71
    +
    +
    77const char *complex_str(const std::complex<double> &x) {
    +
    78#define MAX_BUFF_SIZE 50
    +
    79 static char msg[MAX_BUFF_SIZE];
    +
    80
    +
    81 std::snprintf(msg, MAX_BUFF_SIZE, "% 7.04g%+7.04gj", x.real(), x.imag());
    +
    82
    +
    83 return msg;
    +
    84}
    +
    +
    85
    +
    +
    92bool check_termination(long double delta) {
    +
    93 static long double past_delta = INFINITY;
    +
    94 if (std::abs(past_delta - delta) <= ACCURACY || delta < ACCURACY)
    +
    95 return true;
    +
    96 past_delta = delta;
    +
    97 return false;
    +
    98}
    +
    +
    99
    +
    +
    110std::pair<uint32_t, double> durand_kerner_algo(
    +
    111 const std::valarray<double> &coeffs,
    +
    112 std::valarray<std::complex<double>> *roots, bool write_log = false) {
    +
    113 long double tol_condition = 1;
    +
    114 uint32_t iter = 0;
    +
    115 int n;
    +
    116 std::ofstream log_file;
    +
    117
    +
    118 if (write_log) {
    +
    119 /*
    +
    120 * store intermediate values to a CSV file
    +
    121 */
    +
    122 log_file.open("durand_kerner.log.csv");
    +
    123 if (!log_file.is_open()) {
    +
    124 perror("Unable to create a storage log file!");
    +
    125 std::exit(EXIT_FAILURE);
    +
    126 }
    +
    127 log_file << "iter#,";
    +
    128
    +
    129 for (n = 0; n < roots->size(); n++) log_file << "root_" << n << ",";
    +
    130
    +
    131 log_file << "avg. correction";
    +
    132 log_file << "\n0,";
    +
    133 for (n = 0; n < roots->size(); n++)
    +
    134 log_file << complex_str((*roots)[n]) << ",";
    +
    135 }
    +
    136
    +
    137 bool break_loop = false;
    +
    138 while (!check_termination(tol_condition) && iter < INT16_MAX &&
    +
    139 !break_loop) {
    +
    140 tol_condition = 0;
    +
    141 iter++;
    +
    142 break_loop = false;
    +
    143
    +
    144 if (log_file.is_open())
    +
    145 log_file << "\n" << iter << ",";
    +
    146
    +
    147#ifdef _OPENMP
    +
    148#pragma omp parallel for shared(break_loop, tol_condition)
    +
    149#endif
    +
    150 for (n = 0; n < roots->size(); n++) {
    +
    151 if (break_loop)
    +
    152 continue;
    +
    153
    +
    154 std::complex<double> numerator, denominator;
    +
    155 numerator = poly_function(coeffs, (*roots)[n]);
    +
    156 denominator = 1.0;
    +
    157 for (int i = 0; i < roots->size(); i++)
    +
    158 if (i != n)
    +
    159 denominator *= (*roots)[n] - (*roots)[i];
    +
    160
    +
    161 std::complex<long double> delta = numerator / denominator;
    +
    162
    +
    163 if (std::isnan(std::abs(delta)) || std::isinf(std::abs(delta))) {
    +
    164 std::cerr << "\n\nOverflow/underrun error - got value = "
    +
    165 << std::abs(delta) << "\n";
    +
    166 // return std::pair<uint32_t, double>(iter, tol_condition);
    +
    167 break_loop = true;
    +
    168 }
    +
    169
    +
    170 (*roots)[n] -= delta;
    +
    171
    +
    172#ifdef _OPENMP
    +
    173#pragma omp critical
    +
    174#endif
    +
    175 tol_condition = std::max(tol_condition, std::abs(std::abs(delta)));
    +
    176 }
    +
    177 // tol_condition /= (degree - 1);
    +
    178
    +
    179 if (break_loop)
    +
    180 break;
    +
    181
    +
    182 if (log_file.is_open()) {
    +
    183 for (n = 0; n < roots->size(); n++)
    +
    184 log_file << complex_str((*roots)[n]) << ",";
    +
    185 }
    +
    186
    +
    187#if defined(DEBUG) || !defined(NDEBUG)
    +
    188 if (iter % 500 == 0) {
    +
    189 std::cout << "Iter: " << iter << "\t";
    +
    190 for (n = 0; n < roots->size(); n++)
    +
    191 std::cout << "\t" << complex_str((*roots)[n]);
    +
    192 std::cout << "\t\tabsolute average change: " << tol_condition
    +
    193 << "\n";
    +
    194 }
    +
    195#endif
    +
    196
    +
    197 if (log_file.is_open())
    +
    198 log_file << tol_condition;
    +
    199 }
    +
    200
    +
    201 return std::pair<uint32_t, long double>(iter, tol_condition);
    +
    202}
    +
    +
    203
    +
    +
    208void test1() {
    +
    209 const std::valarray<double> coeffs = {1, 0, 4}; // x^2 - 2 = 0
    +
    210 std::valarray<std::complex<double>> roots(2);
    +
    211 std::valarray<std::complex<double>> expected = {
    +
    212 std::complex<double>(0., 2.),
    +
    213 std::complex<double>(0., -2.) // known expected roots
    +
    214 };
    +
    215
    +
    216 /* initialize root approximations with random values */
    +
    217 for (int n = 0; n < roots.size(); n++) {
    +
    218 roots[n] = std::complex<double>(std::rand() % 100, std::rand() % 100);
    +
    219 roots[n] -= 50.f;
    +
    220 roots[n] /= 25.f;
    +
    221 }
    +
    222
    +
    223 auto result = durand_kerner_algo(coeffs, &roots, false);
    +
    224
    +
    225 for (int i = 0; i < roots.size(); i++) {
    +
    226 // check if approximations are have < 0.1% error with one of the
    +
    227 // expected roots
    +
    228 bool err1 = false;
    +
    229 for (int j = 0; j < roots.size(); j++)
    +
    230 err1 |= std::abs(std::abs(roots[i] - expected[j])) < 1e-3;
    +
    231 assert(err1);
    +
    232 }
    +
    233
    +
    234 std::cout << "Test 1 passed! - " << result.first << " iterations, "
    +
    235 << result.second << " accuracy"
    +
    236 << "\n";
    +
    237}
    +
    +
    238
    +
    +
    243void test2() {
    +
    244 const std::valarray<double> coeffs = {// 0.015625 x^3 - 1 = 0
    +
    245 1. / 64., 0., 0., -1.};
    +
    246 std::valarray<std::complex<double>> roots(3);
    +
    247 const std::valarray<std::complex<double>> expected = {
    +
    248 std::complex<double>(4., 0.), std::complex<double>(-2., 3.46410162),
    +
    249 std::complex<double>(-2., -3.46410162) // known expected roots
    +
    250 };
    +
    251
    +
    252 /* initialize root approximations with random values */
    +
    253 for (int n = 0; n < roots.size(); n++) {
    +
    254 roots[n] = std::complex<double>(std::rand() % 100, std::rand() % 100);
    +
    255 roots[n] -= 50.f;
    +
    256 roots[n] /= 25.f;
    +
    257 }
    +
    258
    +
    259 auto result = durand_kerner_algo(coeffs, &roots, false);
    +
    260
    +
    261 for (int i = 0; i < roots.size(); i++) {
    +
    262 // check if approximations are have < 0.1% error with one of the
    +
    263 // expected roots
    +
    264 bool err1 = false;
    +
    265 for (int j = 0; j < roots.size(); j++)
    +
    266 err1 |= std::abs(std::abs(roots[i] - expected[j])) < 1e-3;
    +
    267 assert(err1);
    +
    268 }
    +
    269
    +
    270 std::cout << "Test 2 passed! - " << result.first << " iterations, "
    +
    271 << result.second << " accuracy"
    +
    272 << "\n";
    +
    273}
    +
    +
    274
    +
    275/***
    +
    276 * Main function.
    +
    277 * The comandline input arguments are taken as coeffiecients of a
    +
    278 *polynomial. For example, this command
    +
    279 * ```sh
    +
    280 * ./durand_kerner_roots 1 0 -4
    +
    281 * ```
    +
    282 * will find roots of the polynomial \f$1\cdot x^2 + 0\cdot x^1 + (-4)=0\f$
    +
    283 **/
    +
    284int main(int argc, char **argv) {
    +
    285 /* initialize random seed: */
    +
    286 std::srand(std::time(nullptr));
    +
    287
    +
    288 if (argc < 2) {
    +
    289 test1(); // run tests when no input is provided
    +
    290 test2(); // and skip tests when input polynomial is provided
    +
    291 std::cout << "Please pass the coefficients of the polynomial as "
    +
    292 "commandline "
    +
    293 "arguments.\n";
    +
    294 return 0;
    +
    295 }
    +
    296
    +
    297 int n, degree = argc - 1; // detected polynomial degree
    +
    298 std::valarray<double> coeffs(degree); // create coefficiencts array
    +
    299
    +
    300 // number of roots = degree - 1
    +
    301 std::valarray<std::complex<double>> s0(degree - 1);
    +
    302
    +
    303 std::cout << "Computing the roots for:\n\t";
    +
    304 for (n = 0; n < degree; n++) {
    +
    305 coeffs[n] = strtod(argv[n + 1], nullptr);
    +
    306 if (n < degree - 1 && coeffs[n] != 0)
    +
    307 std::cout << "(" << coeffs[n] << ") x^" << degree - n - 1 << " + ";
    +
    308 else if (coeffs[n] != 0)
    +
    309 std::cout << "(" << coeffs[n] << ") x^" << degree - n - 1
    +
    310 << " = 0\n";
    +
    311
    +
    312 /* initialize root approximations with random values */
    +
    313 if (n < degree - 1) {
    +
    314 s0[n] = std::complex<double>(std::rand() % 100, std::rand() % 100);
    +
    315 s0[n] -= 50.f;
    +
    316 s0[n] /= 50.f;
    +
    317 }
    +
    318 }
    +
    319
    +
    320 // numerical errors less when the first coefficient is "1"
    +
    321 // hence, we normalize the first coefficient
    +
    322 {
    +
    323 double tmp = coeffs[0];
    +
    324 coeffs /= tmp;
    +
    325 }
    +
    326
    +
    327 clock_t end_time, start_time = clock();
    +
    328 auto result = durand_kerner_algo(coeffs, &s0, true);
    +
    329 end_time = clock();
    +
    330
    +
    331 std::cout << "\nIterations: " << result.first << "\n";
    +
    332 for (n = 0; n < degree - 1; n++)
    +
    333 std::cout << "\t" << complex_str(s0[n]) << "\n";
    +
    334 std::cout << "absolute average change: " << result.second << "\n";
    +
    335 std::cout << "Time taken: "
    +
    336 << static_cast<double>(end_time - start_time) / CLOCKS_PER_SEC
    +
    337 << " sec\n";
    +
    338
    +
    339 return 0;
    +
    340}
    +
    bool check_termination(long double delta)
    +
    void test2()
    +
    void test1()
    +
    std::pair< uint32_t, double > durand_kerner_algo(const std::valarray< double > &coeffs, std::valarray< std::complex< double > > *roots, bool write_log=false)
    +
    const char * complex_str(const std::complex< double > &x)
    +
    std::complex< double > poly_function(const std::valarray< double > &coeffs, std::complex< double > x)
    +
    #define ACCURACY
    +
    uint64_t result(uint64_t n)
    +
    int main()
    Main function.
    +
    +
    + + + + diff --git a/da/df3/classmachine__learning_1_1aystar__search_1_1_ay_star_search-members.html b/da/df3/classmachine__learning_1_1aystar__search_1_1_ay_star_search-members.html index 8fbff1dce..b66ee3581 100644 --- a/da/df3/classmachine__learning_1_1aystar__search_1_1_ay_star_search-members.html +++ b/da/df3/classmachine__learning_1_1aystar__search_1_1_ay_star_search-members.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Member List +TheAlgorithms/C++: Member List + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/da/dfa/structbinary__search__tree_1_1bst__node-members.html b/da/dfa/structbinary__search__tree_1_1bst__node-members.html index 56f9f175f..b1cfcce84 100644 --- a/da/dfa/structbinary__search__tree_1_1bst__node-members.html +++ b/da/dfa/structbinary__search__tree_1_1bst__node-members.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Member List +TheAlgorithms/C++: Member List + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/db/d01/brent__method__extrema_8cpp.html b/db/d01/brent__method__extrema_8cpp.html index 21df81c9b..775607b2b 100644 --- a/db/d01/brent__method__extrema_8cpp.html +++ b/db/d01/brent__method__extrema_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: numerical_methods/brent_method_extrema.cpp File Reference +TheAlgorithms/C++: numerical_methods/brent_method_extrema.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + @@ -124,12 +141,13 @@ Include dependency graph for brent_method_extrema.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    - - + + @@ -137,7 +155,7 @@ Macros

    Macros

    -#define _USE_MATH_DEFINES
     required for MS Visual C++
    #define _USE_MATH_DEFINES
     required for MS Visual C++
     
    #define EPSILON
     system accuracy limit
    - + @@ -162,7 +180,27 @@ Functions
    See also
    golden_search_extrema.cpp
    Author
    Krishna Vedala
    + +

    Definition in file brent_method_extrema.cpp.

    Macro Definition Documentation

    + +

    ◆ _USE_MATH_DEFINES

    + +
    +
    +

    Functions

    double get_minima (const std::function< double(double)> &f, double lim_a, double lim_b)
    double get_minima (const std::function< double(double)> &f, double lim_a, double lim_b)
     Get the real root of a function in the given interval.
     
    void test1 ()
    + + + +
    #define _USE_MATH_DEFINES
    +
    + +

    required for MS Visual C++

    + +

    Definition at line 16 of file brent_method_extrema.cpp.

    + +
    +

    ◆ EPSILON

    @@ -174,15 +212,15 @@ Functions
    -Value:
    - - -
    T sqrt(T... args)
    +Value:
    std::sqrt( \
    +
    std::numeric_limits<double>::epsilon())

    system accuracy limit

    + +

    Definition at line 24 of file brent_method_extrema.cpp.

    24#define EPSILON \
    25 std::sqrt( \
    -
    26 std::numeric_limits<double>::epsilon()) ///< system accuracy limit
    +
    26 std::numeric_limits<double>::epsilon())
    @@ -196,7 +234,7 @@ Functions double get_minima ( - const std::function< double(double)> & f, + const std::function< double(double)> & f, @@ -221,18 +259,20 @@ Functions
    Returns
    root found in the interval
    + +

    Definition at line 36 of file brent_method_extrema.cpp.

    37 {
    38 uint32_t iters = 0;
    39
    40 if (lim_a > lim_b) {
    -
    41 std::swap(lim_a, lim_b);
    +
    41 std::swap(lim_a, lim_b);
    42 } else if (std::abs(lim_a - lim_b) <= EPSILON) {
    -
    43 std::cerr << "Search range must be greater than " << EPSILON << "\n";
    +
    43 std::cerr << "Search range must be greater than " << EPSILON << "\n";
    44 return lim_a;
    45 }
    46
    47 // golden ratio value
    -
    48 const double M_GOLDEN_RATIO = (3.f - std::sqrt(5.f)) / 2.f;
    +
    48 const double M_GOLDEN_RATIO = (3.f - std::sqrt(5.f)) / 2.f;
    49
    50 double v = lim_a + M_GOLDEN_RATIO * (lim_b - lim_a);
    51 double u, w = v, x = v;
    @@ -317,20 +357,13 @@ Functions
    130 iters++;
    131 } while (std::abs(x - mid_point) > (tolerance - (lim_b - lim_a) / 2.f));
    132
    -
    133 std::cout << " (iters: " << iters << ") ";
    +
    133 std::cout << " (iters: " << iters << ") ";
    134
    135 return x;
    136}
    - -
    #define EPSILON
    system accuracy limit
    Definition brent_method_extrema.cpp:24
    -
    double f(double x)
    A function f(x) that will be used to test the method.
    Definition composite_simpson_rule.cpp:113
    -
    T swap(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    #define EPSILON
    system accuracy limit
    +
    double f(double x)
    A function f(x) that will be used to test the method.
    + @@ -348,10 +381,12 @@ Here is the call graph for this function:

    Main function

    + +

    Definition at line 205 of file brent_method_extrema.cpp.

    205 {
    -
    206 std::cout.precision(18);
    +
    206 std::cout.precision(18);
    207
    -
    208 std::cout << "Computations performed with machine epsilon: " << EPSILON
    +
    208 std::cout << "Computations performed with machine epsilon: " << EPSILON
    209 << "\n";
    210
    211 test1();
    @@ -360,15 +395,10 @@ Here is the call graph for this function:
    214
    215 return 0;
    216}
    -
    void test2()
    Test function to find root for the function in the interval Expected result: .
    Definition brent_method_extrema.cpp:166
    -
    void test1()
    Test function to find root for the function in the interval Expected result = 2.
    Definition brent_method_extrema.cpp:144
    -
    void test3()
    Test function to find maxima for the function in the interval Expected result: .
    Definition brent_method_extrema.cpp:189
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    void test2()
    Test function to find root for the function in the interval Expected result: .
    +
    void test1()
    Test function to find root for the function in the interval Expected result = 2.
    +
    void test3()
    Test function to find maxima for the function in the interval Expected result: .
    + @@ -388,29 +418,25 @@ Here is the call graph for this function:

    Test function to find root for the function \(f(x)= (x-2)^2\) in the interval \([1,5]\)
    Expected result = 2.

    + +

    Definition at line 144 of file brent_method_extrema.cpp.

    144 {
    145 // define the function to minimize as a lambda function
    -
    146 std::function<double(double)> f1 = [](double x) {
    +
    146 std::function<double(double)> f1 = [](double x) {
    147 return (x - 2) * (x - 2);
    148 };
    149
    -
    150 std::cout << "Test 1.... ";
    +
    150 std::cout << "Test 1.... ";
    151
    152 double minima = get_minima(f1, -1, 5);
    153
    -
    154 std::cout << minima << "...";
    +
    154 std::cout << minima << "...";
    155
    156 assert(std::abs(minima - 2) < EPSILON);
    -
    157 std::cout << "passed\n";
    +
    157 std::cout << "passed\n";
    158}
    -
    double get_minima(const std::function< double(double)> &f, double lim_a, double lim_b)
    Get the real root of a function in the given interval.
    Definition brent_method_extrema.cpp:36
    - -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    double get_minima(const std::function< double(double)> &f, double lim_a, double lim_b)
    Get the real root of a function in the given interval.
    + @@ -430,29 +456,25 @@ Here is the call graph for this function:

    Test function to find root for the function \(f(x)= x^{\frac{1}{x}}\) in the interval \([-2,10]\)
    Expected result: \(e\approx 2.71828182845904509\).

    + +

    Definition at line 166 of file brent_method_extrema.cpp.

    166 {
    167 // define the function to maximize as a lambda function
    168 // since we are maximixing, we negated the function return value
    -
    169 std::function<double(double)> func = [](double x) {
    -
    170 return -std::pow(x, 1.f / x);
    +
    169 std::function<double(double)> func = [](double x) {
    +
    170 return -std::pow(x, 1.f / x);
    171 };
    172
    -
    173 std::cout << "Test 2.... ";
    +
    173 std::cout << "Test 2.... ";
    174
    175 double minima = get_minima(func, -2, 5);
    176
    -
    177 std::cout << minima << " (" << M_E << ")...";
    +
    177 std::cout << minima << " (" << M_E << ")...";
    178
    179 assert(std::abs(minima - M_E) < EPSILON);
    -
    180 std::cout << "passed\n";
    +
    180 std::cout << "passed\n";
    181}
    -
    T pow(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -472,27 +494,23 @@ Here is the call graph for this function:

    Test function to find maxima for the function \(f(x)= \cos x\) in the interval \([0,12]\)
    Expected result: \(\pi\approx 3.14159265358979312\).

    + +

    Definition at line 189 of file brent_method_extrema.cpp.

    189 {
    190 // define the function to maximize as a lambda function
    191 // since we are maximixing, we negated the function return value
    -
    192 std::function<double(double)> func = [](double x) { return std::cos(x); };
    +
    192 std::function<double(double)> func = [](double x) { return std::cos(x); };
    193
    -
    194 std::cout << "Test 3.... ";
    +
    194 std::cout << "Test 3.... ";
    195
    196 double minima = get_minima(func, -4, 12);
    197
    -
    198 std::cout << minima << " (" << M_PI << ")...";
    +
    198 std::cout << minima << " (" << M_PI << ")...";
    199
    200 assert(std::abs(minima - M_PI) < EPSILON);
    -
    201 std::cout << "passed\n";
    +
    201 std::cout << "passed\n";
    202}
    -
    T cos(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + diff --git a/db/d01/brent__method__extrema_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph.map b/db/d01/brent__method__extrema_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph.map deleted file mode 100644 index 7e32e2f1d..000000000 --- a/db/d01/brent__method__extrema_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph.map +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/db/d01/brent__method__extrema_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph.md5 b/db/d01/brent__method__extrema_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph.md5 deleted file mode 100644 index 65c2860d3..000000000 --- a/db/d01/brent__method__extrema_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -14652a9c98011545eb5be58cdcf902f5 \ No newline at end of file diff --git a/db/d01/brent__method__extrema_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph.svg b/db/d01/brent__method__extrema_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph.svg deleted file mode 100644 index 57c8dde16..000000000 --- a/db/d01/brent__method__extrema_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph.svg +++ /dev/null @@ -1,119 +0,0 @@ - - - - - - - - - - - - -test2 - - -Node1 - - -test2 - - - - - -Node2 - - -get_minima - - - - - -Node1->Node2 - - - - - - - - -Node5 - - -std::pow - - - - - -Node1->Node5 - - - - - - - - -Node3 - - -std::sqrt - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::swap - - - - - -Node2->Node4 - - - - - - - - - - - - - diff --git a/db/d01/brent__method__extrema_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph_org.svg b/db/d01/brent__method__extrema_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph_org.svg deleted file mode 100644 index 885443500..000000000 --- a/db/d01/brent__method__extrema_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph_org.svg +++ /dev/null @@ -1,93 +0,0 @@ - - - - - - -test2 - - -Node1 - - -test2 - - - - - -Node2 - - -get_minima - - - - - -Node1->Node2 - - - - - - - - -Node5 - - -std::pow - - - - - -Node1->Node5 - - - - - - - - -Node3 - - -std::sqrt - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::swap - - - - - -Node2->Node4 - - - - - - - - diff --git a/db/d01/brent__method__extrema_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph.map b/db/d01/brent__method__extrema_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph.map deleted file mode 100644 index ab594fba1..000000000 --- a/db/d01/brent__method__extrema_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph.map +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/db/d01/brent__method__extrema_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph.md5 b/db/d01/brent__method__extrema_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph.md5 deleted file mode 100644 index 24851deed..000000000 --- a/db/d01/brent__method__extrema_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -ffef50ce6fc5d161d5b0ebd97455b9f6 \ No newline at end of file diff --git a/db/d01/brent__method__extrema_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph.svg b/db/d01/brent__method__extrema_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph.svg deleted file mode 100644 index 0398184be..000000000 --- a/db/d01/brent__method__extrema_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph.svg +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - - - - - - - -test1 - - -Node1 - - -test1 - - - - - -Node2 - - -get_minima - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::sqrt - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::swap - - - - - -Node2->Node4 - - - - - - - - - - - - - diff --git a/db/d01/brent__method__extrema_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph_org.svg b/db/d01/brent__method__extrema_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph_org.svg deleted file mode 100644 index 5d5c98851..000000000 --- a/db/d01/brent__method__extrema_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph_org.svg +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - -test1 - - -Node1 - - -test1 - - - - - -Node2 - - -get_minima - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::sqrt - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::swap - - - - - -Node2->Node4 - - - - - - - - diff --git a/db/d01/brent__method__extrema_8cpp_a1aa76a6d5fd4d333f9072beff1dc486b_cgraph.map b/db/d01/brent__method__extrema_8cpp_a1aa76a6d5fd4d333f9072beff1dc486b_cgraph.map deleted file mode 100644 index 7ffb59a75..000000000 --- a/db/d01/brent__method__extrema_8cpp_a1aa76a6d5fd4d333f9072beff1dc486b_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/db/d01/brent__method__extrema_8cpp_a1aa76a6d5fd4d333f9072beff1dc486b_cgraph.md5 b/db/d01/brent__method__extrema_8cpp_a1aa76a6d5fd4d333f9072beff1dc486b_cgraph.md5 deleted file mode 100644 index c8f7e0220..000000000 --- a/db/d01/brent__method__extrema_8cpp_a1aa76a6d5fd4d333f9072beff1dc486b_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -e288b36e24f716f01f00988b97207f0f \ No newline at end of file diff --git a/db/d01/brent__method__extrema_8cpp_a1aa76a6d5fd4d333f9072beff1dc486b_cgraph.svg b/db/d01/brent__method__extrema_8cpp_a1aa76a6d5fd4d333f9072beff1dc486b_cgraph.svg deleted file mode 100644 index ad82b50fd..000000000 --- a/db/d01/brent__method__extrema_8cpp_a1aa76a6d5fd4d333f9072beff1dc486b_cgraph.svg +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - -get_minima - - -Node1 - - -get_minima - - - - - -Node2 - - -std::sqrt - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::swap - - - - - -Node1->Node3 - - - - - - - - - - - - - diff --git a/db/d01/brent__method__extrema_8cpp_a1aa76a6d5fd4d333f9072beff1dc486b_cgraph_org.svg b/db/d01/brent__method__extrema_8cpp_a1aa76a6d5fd4d333f9072beff1dc486b_cgraph_org.svg deleted file mode 100644 index 509f2e6a3..000000000 --- a/db/d01/brent__method__extrema_8cpp_a1aa76a6d5fd4d333f9072beff1dc486b_cgraph_org.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - -get_minima - - -Node1 - - -get_minima - - - - - -Node2 - - -std::sqrt - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::swap - - - - - -Node1->Node3 - - - - - - - - diff --git a/db/d01/brent__method__extrema_8cpp_a6d0455dd5c30adda100e95f0423c786e_cgraph.map b/db/d01/brent__method__extrema_8cpp_a6d0455dd5c30adda100e95f0423c786e_cgraph.map deleted file mode 100644 index 3729d62f0..000000000 --- a/db/d01/brent__method__extrema_8cpp_a6d0455dd5c30adda100e95f0423c786e_cgraph.map +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/db/d01/brent__method__extrema_8cpp_a6d0455dd5c30adda100e95f0423c786e_cgraph.md5 b/db/d01/brent__method__extrema_8cpp_a6d0455dd5c30adda100e95f0423c786e_cgraph.md5 deleted file mode 100644 index b35101b71..000000000 --- a/db/d01/brent__method__extrema_8cpp_a6d0455dd5c30adda100e95f0423c786e_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -f82f41e8556c3934fb11596d63fe5970 \ No newline at end of file diff --git a/db/d01/brent__method__extrema_8cpp_a6d0455dd5c30adda100e95f0423c786e_cgraph.svg b/db/d01/brent__method__extrema_8cpp_a6d0455dd5c30adda100e95f0423c786e_cgraph.svg deleted file mode 100644 index 4e59866dc..000000000 --- a/db/d01/brent__method__extrema_8cpp_a6d0455dd5c30adda100e95f0423c786e_cgraph.svg +++ /dev/null @@ -1,119 +0,0 @@ - - - - - - - - - - - - -test3 - - -Node1 - - -test3 - - - - - -Node2 - - -std::cos - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -get_minima - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::sqrt - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -std::swap - - - - - -Node3->Node5 - - - - - - - - - - - - - diff --git a/db/d01/brent__method__extrema_8cpp_a6d0455dd5c30adda100e95f0423c786e_cgraph_org.svg b/db/d01/brent__method__extrema_8cpp_a6d0455dd5c30adda100e95f0423c786e_cgraph_org.svg deleted file mode 100644 index 371a23385..000000000 --- a/db/d01/brent__method__extrema_8cpp_a6d0455dd5c30adda100e95f0423c786e_cgraph_org.svg +++ /dev/null @@ -1,93 +0,0 @@ - - - - - - -test3 - - -Node1 - - -test3 - - - - - -Node2 - - -std::cos - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -get_minima - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::sqrt - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -std::swap - - - - - -Node3->Node5 - - - - - - - - diff --git a/db/d01/brent__method__extrema_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/db/d01/brent__method__extrema_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 7c55f87ed..000000000 --- a/db/d01/brent__method__extrema_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - diff --git a/db/d01/brent__method__extrema_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/db/d01/brent__method__extrema_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index c1f6bb369..000000000 --- a/db/d01/brent__method__extrema_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -0e4ba6442127a29c9d76da28e5277598 \ No newline at end of file diff --git a/db/d01/brent__method__extrema_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/db/d01/brent__method__extrema_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 865dc4ac6..000000000 --- a/db/d01/brent__method__extrema_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,209 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test1 - - - - - -Node1->Node2 - - - - - - - - -Node6 - - -test2 - - - - - -Node1->Node6 - - - - - - - - -Node8 - - -test3 - - - - - -Node1->Node8 - - - - - - - - -Node3 - - -get_minima - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::sqrt - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -std::swap - - - - - -Node3->Node5 - - - - - - - - -Node6->Node3 - - - - - - - - -Node7 - - -std::pow - - - - - -Node6->Node7 - - - - - - - - -Node8->Node3 - - - - - - - - -Node9 - - -std::cos - - - - - -Node8->Node9 - - - - - - - - - - - - - diff --git a/db/d01/brent__method__extrema_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/db/d01/brent__method__extrema_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index b117ef0c9..000000000 --- a/db/d01/brent__method__extrema_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,183 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test1 - - - - - -Node1->Node2 - - - - - - - - -Node6 - - -test2 - - - - - -Node1->Node6 - - - - - - - - -Node8 - - -test3 - - - - - -Node1->Node8 - - - - - - - - -Node3 - - -get_minima - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::sqrt - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -std::swap - - - - - -Node3->Node5 - - - - - - - - -Node6->Node3 - - - - - - - - -Node7 - - -std::pow - - - - - -Node6->Node7 - - - - - - - - -Node8->Node3 - - - - - - - - -Node9 - - -std::cos - - - - - -Node8->Node9 - - - - - - - - diff --git a/db/d01/brent__method__extrema_8cpp_source.html b/db/d01/brent__method__extrema_8cpp_source.html new file mode 100644 index 000000000..c4ebe9b27 --- /dev/null +++ b/db/d01/brent__method__extrema_8cpp_source.html @@ -0,0 +1,330 @@ + + + + + + + + +TheAlgorithms/C++: numerical_methods/brent_method_extrema.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    brent_method_extrema.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    16#define _USE_MATH_DEFINES
    +
    17#include <cassert>
    +
    18#include <cmath>
    +
    19#include <cstdint>
    +
    20#include <functional>
    +
    21#include <iostream>
    +
    22#include <limits>
    +
    23
    +
    +
    24#define EPSILON \
    +
    25 std::sqrt( \
    +
    26 std::numeric_limits<double>::epsilon())
    +
    +
    27
    +
    +
    36double get_minima(const std::function<double(double)> &f, double lim_a,
    +
    37 double lim_b) {
    +
    38 uint32_t iters = 0;
    +
    39
    +
    40 if (lim_a > lim_b) {
    +
    41 std::swap(lim_a, lim_b);
    +
    42 } else if (std::abs(lim_a - lim_b) <= EPSILON) {
    +
    43 std::cerr << "Search range must be greater than " << EPSILON << "\n";
    +
    44 return lim_a;
    +
    45 }
    +
    46
    +
    47 // golden ratio value
    +
    48 const double M_GOLDEN_RATIO = (3.f - std::sqrt(5.f)) / 2.f;
    +
    49
    +
    50 double v = lim_a + M_GOLDEN_RATIO * (lim_b - lim_a);
    +
    51 double u, w = v, x = v;
    +
    52 double fu, fv = f(v);
    +
    53 double fw = fv, fx = fv;
    +
    54
    +
    55 double mid_point = (lim_a + lim_b) / 2.f;
    +
    56 double p = 0, q = 0, r = 0;
    +
    57
    +
    58 double d, e = 0;
    +
    59 double tolerance, tolerance2;
    +
    60
    +
    61 do {
    +
    62 mid_point = (lim_a + lim_b) / 2.f;
    +
    63 tolerance = EPSILON * std::abs(x);
    +
    64 tolerance2 = 2 * tolerance;
    +
    65
    +
    66 if (std::abs(e) > tolerance2) {
    +
    67 // fit parabola
    +
    68 r = (x - w) * (fx - fv);
    +
    69 q = (x - v) * (fx - fw);
    +
    70 p = (x - v) * q - (x - w) * r;
    +
    71 q = 2.f * (q - r);
    +
    72 if (q > 0)
    +
    73 p = -p;
    +
    74 else
    +
    75 q = -q;
    +
    76 r = e;
    +
    77 e = d;
    +
    78 }
    +
    79
    +
    80 if (std::abs(p) < std::abs(0.5 * q * r) && p < q * (lim_b - x)) {
    +
    81 // parabolic interpolation step
    +
    82 d = p / q;
    +
    83 u = x + d;
    +
    84 if (u - lim_a < tolerance2 || lim_b - u < tolerance2)
    +
    85 d = x < mid_point ? tolerance : -tolerance;
    +
    86 } else {
    +
    87 // golden section interpolation step
    +
    88 e = (x < mid_point ? lim_b : lim_a) - x;
    +
    89 d = M_GOLDEN_RATIO * e;
    +
    90 }
    +
    91
    +
    92 // evaluate not too close to x
    +
    93 if (std::abs(d) >= tolerance)
    +
    94 u = d;
    +
    95 else if (d > 0)
    +
    96 u = tolerance;
    +
    97 else
    +
    98 u = -tolerance;
    +
    99 u += x;
    +
    100 fu = f(u);
    +
    101
    +
    102 // update variables
    +
    103 if (fu <= fx) {
    +
    104 if (u < x)
    +
    105 lim_b = x;
    +
    106 else
    +
    107 lim_a = x;
    +
    108 v = w;
    +
    109 fv = fw;
    +
    110 w = x;
    +
    111 fw = fx;
    +
    112 x = u;
    +
    113 fx = fu;
    +
    114 } else {
    +
    115 if (u < x)
    +
    116 lim_a = u;
    +
    117 else
    +
    118 lim_b = u;
    +
    119 if (fu <= fw || x == w) {
    +
    120 v = w;
    +
    121 fv = fw;
    +
    122 w = u;
    +
    123 fw = fu;
    +
    124 } else if (fu <= fv || v == x || v == w) {
    +
    125 v = u;
    +
    126 fv = fu;
    +
    127 }
    +
    128 }
    +
    129
    +
    130 iters++;
    +
    131 } while (std::abs(x - mid_point) > (tolerance - (lim_b - lim_a) / 2.f));
    +
    132
    +
    133 std::cout << " (iters: " << iters << ") ";
    +
    134
    +
    135 return x;
    +
    136}
    +
    +
    137
    +
    +
    144void test1() {
    +
    145 // define the function to minimize as a lambda function
    +
    146 std::function<double(double)> f1 = [](double x) {
    +
    147 return (x - 2) * (x - 2);
    +
    148 };
    +
    149
    +
    150 std::cout << "Test 1.... ";
    +
    151
    +
    152 double minima = get_minima(f1, -1, 5);
    +
    153
    +
    154 std::cout << minima << "...";
    +
    155
    +
    156 assert(std::abs(minima - 2) < EPSILON);
    +
    157 std::cout << "passed\n";
    +
    158}
    +
    +
    159
    +
    +
    166void test2() {
    +
    167 // define the function to maximize as a lambda function
    +
    168 // since we are maximixing, we negated the function return value
    +
    169 std::function<double(double)> func = [](double x) {
    +
    170 return -std::pow(x, 1.f / x);
    +
    171 };
    +
    172
    +
    173 std::cout << "Test 2.... ";
    +
    174
    +
    175 double minima = get_minima(func, -2, 5);
    +
    176
    +
    177 std::cout << minima << " (" << M_E << ")...";
    +
    178
    +
    179 assert(std::abs(minima - M_E) < EPSILON);
    +
    180 std::cout << "passed\n";
    +
    181}
    +
    +
    182
    +
    +
    189void test3() {
    +
    190 // define the function to maximize as a lambda function
    +
    191 // since we are maximixing, we negated the function return value
    +
    192 std::function<double(double)> func = [](double x) { return std::cos(x); };
    +
    193
    +
    194 std::cout << "Test 3.... ";
    +
    195
    +
    196 double minima = get_minima(func, -4, 12);
    +
    197
    +
    198 std::cout << minima << " (" << M_PI << ")...";
    +
    199
    +
    200 assert(std::abs(minima - M_PI) < EPSILON);
    +
    201 std::cout << "passed\n";
    +
    202}
    +
    +
    203
    +
    +
    205int main() {
    +
    206 std::cout.precision(18);
    +
    207
    +
    208 std::cout << "Computations performed with machine epsilon: " << EPSILON
    +
    209 << "\n";
    +
    210
    +
    211 test1();
    +
    212 test2();
    +
    213 test3();
    +
    214
    +
    215 return 0;
    +
    216}
    +
    +
    #define EPSILON
    system accuracy limit
    +
    void test2()
    Test function to find root for the function in the interval Expected result: .
    +
    void test1()
    Test function to find root for the function in the interval Expected result = 2.
    +
    double get_minima(const std::function< double(double)> &f, double lim_a, double lim_b)
    Get the real root of a function in the given interval.
    +
    void test3()
    Test function to find maxima for the function in the interval Expected result: .
    + +
    +
    + + + + diff --git a/db/d03/_s_t-example.html b/db/d03/_s_t-example.html index 8b94c22dd..aa904fd33 100644 --- a/db/d03/_s_t-example.html +++ b/db/d03/_s_t-example.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: ST +TheAlgorithms/C++: ST + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/db/d03/namespacewildcard__matching.html b/db/d03/namespacewildcard__matching.html index ebb9d0486..98043f097 100644 --- a/db/d03/namespacewildcard__matching.html +++ b/db/d03/namespacewildcard__matching.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: wildcard_matching Namespace Reference +TheAlgorithms/C++: wildcard_matching Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/db/d07/spiral__print_8cpp.html b/db/d07/spiral__print_8cpp.html index 93f1e9524..40c570d5a 100644 --- a/db/d07/spiral__print_8cpp.html +++ b/db/d07/spiral__print_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: others/spiral_print.cpp File Reference +TheAlgorithms/C++: others/spiral_print.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + @@ -118,7 +135,9 @@ Include dependency graph for spiral_print.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -130,6 +149,8 @@ Functions

    Functions

    void genArray (int **a, int r, int c)

    Detailed Description

    Print the elements of a matrix traversing it spirally.

    + +

    Definition in file spiral_print.cpp.

    Function Documentation

    ◆ genArray()

    @@ -162,25 +183,20 @@ Functions + +

    Definition at line 12 of file spiral_print.cpp.

    12 {
    13 int value = 1;
    14 for (int i = 0; i < r; i++) {
    15 for (int j = 0; j < c; j++) {
    16 a[i][j] = value;
    -
    17 std::cout << a[i][j] << " ";
    +
    17 std::cout << a[i][j] << " ";
    18 value++;
    19 }
    - +
    20 std::cout << std::endl;
    21 }
    22}
    - -
    T endl(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    @@ -198,9 +214,11 @@ Here is the call graph for this function:

    main function

    + +

    Definition at line 69 of file spiral_print.cpp.

    69 {
    70 int r, c;
    -
    71 std::cin >> r >> c;
    +
    71 std::cin >> r >> c;
    72 int **a = new int *[r];
    73 for (int i = 0; i < r; i++) a[i] = new int[c];
    74
    @@ -211,15 +229,9 @@ Here is the call graph for this function:
    79 delete[] a;
    80 return 0;
    81}
    - -
    void spiralPrint(int **a, int r, int c)
    Definition spiral_print.cpp:29
    -
    void genArray(int **a, int r, int c)
    Definition spiral_print.cpp:12
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    void spiralPrint(int **a, int r, int c)
    +
    void genArray(int **a, int r, int c)
    + @@ -257,40 +269,38 @@ Here is the call graph for this function:

    Print the end col

    Print the end row

    Print the start Col

    + +

    Definition at line 29 of file spiral_print.cpp.

    29 {
    30 int startRow = 0, endRow = r - 1;
    31 int startCol = 0, endCol = c - 1;
    32 int cnt = 0;
    33
    -
    34 while (startRow <= endRow && startCol <= endCol) {
    -
    35 /// Print start row
    -
    36 for (int i = startCol; i <= endCol; i++, cnt++) {
    -
    37 std::cout << a[startRow][i] << " ";
    +
    34 while (startRow <= endRow && startCol <= endCol) {
    +
    36 for (int i = startCol; i <= endCol; i++, cnt++) {
    +
    37 std::cout << a[startRow][i] << " ";
    38 }
    39 startRow++;
    -
    40
    -
    41 /// Print the end col
    -
    42 for (int i = startRow; i <= endRow; i++, cnt++) {
    -
    43 std::cout << a[i][endCol] << " ";
    +
    40
    +
    42 for (int i = startRow; i <= endRow; i++, cnt++) {
    +
    43 std::cout << a[i][endCol] << " ";
    44 }
    45 endCol--;
    -
    46
    -
    47 /// Print the end row
    -
    48 if (cnt == r * c) {
    +
    46
    +
    48 if (cnt == r * c) {
    49 break;
    50 }
    51
    52 for (int i = endCol; i >= startCol; i--, cnt++) {
    -
    53 std::cout << a[endRow][i] << " ";
    +
    53 std::cout << a[endRow][i] << " ";
    54 }
    55 endRow--;
    -
    56
    -
    57 /// Print the start Col
    -
    58 if (cnt == r * c) {
    +
    56
    +
    58 if (cnt == r * c) {
    59 break;
    60 }
    61 for (int i = endRow; i >= startRow; i--, cnt++) {
    -
    62 std::cout << a[i][startCol] << " ";
    +
    62 std::cout << a[i][startCol] << " ";
    63 }
    64 startCol++;
    65 }
    diff --git a/db/d07/spiral__print_8cpp_acfff36db81326fb990a643ab198ee8a5_cgraph.map b/db/d07/spiral__print_8cpp_acfff36db81326fb990a643ab198ee8a5_cgraph.map deleted file mode 100644 index ddac5d486..000000000 --- a/db/d07/spiral__print_8cpp_acfff36db81326fb990a643ab198ee8a5_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/db/d07/spiral__print_8cpp_acfff36db81326fb990a643ab198ee8a5_cgraph.md5 b/db/d07/spiral__print_8cpp_acfff36db81326fb990a643ab198ee8a5_cgraph.md5 deleted file mode 100644 index 7d12c8118..000000000 --- a/db/d07/spiral__print_8cpp_acfff36db81326fb990a643ab198ee8a5_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -0745b8351029a14007dd28cec18e0ea4 \ No newline at end of file diff --git a/db/d07/spiral__print_8cpp_acfff36db81326fb990a643ab198ee8a5_cgraph.svg b/db/d07/spiral__print_8cpp_acfff36db81326fb990a643ab198ee8a5_cgraph.svg deleted file mode 100644 index 7355164e5..000000000 --- a/db/d07/spiral__print_8cpp_acfff36db81326fb990a643ab198ee8a5_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -genArray - - -Node1 - - -genArray - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/db/d07/spiral__print_8cpp_acfff36db81326fb990a643ab198ee8a5_cgraph_org.svg b/db/d07/spiral__print_8cpp_acfff36db81326fb990a643ab198ee8a5_cgraph_org.svg deleted file mode 100644 index c9cf7cb47..000000000 --- a/db/d07/spiral__print_8cpp_acfff36db81326fb990a643ab198ee8a5_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -genArray - - -Node1 - - -genArray - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - diff --git a/db/d07/spiral__print_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/db/d07/spiral__print_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 17ebc9048..000000000 --- a/db/d07/spiral__print_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/db/d07/spiral__print_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/db/d07/spiral__print_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index 2f259b43f..000000000 --- a/db/d07/spiral__print_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -33dbc1238b07ac885e0fd308009680f2 \ No newline at end of file diff --git a/db/d07/spiral__print_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/db/d07/spiral__print_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index caa5e8fbd..000000000 --- a/db/d07/spiral__print_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -genArray - - - - - -Node1->Node2 - - - - - - - - -Node4 - - -spiralPrint - - - - - -Node1->Node4 - - - - - - - - -Node3 - - -std::endl - - - - - -Node2->Node3 - - - - - - - - - - - - - diff --git a/db/d07/spiral__print_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/db/d07/spiral__print_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 95e77144a..000000000 --- a/db/d07/spiral__print_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -genArray - - - - - -Node1->Node2 - - - - - - - - -Node4 - - -spiralPrint - - - - - -Node1->Node4 - - - - - - - - -Node3 - - -std::endl - - - - - -Node2->Node3 - - - - - - - - diff --git a/db/d07/spiral__print_8cpp_source.html b/db/d07/spiral__print_8cpp_source.html new file mode 100644 index 000000000..3bf2afb3c --- /dev/null +++ b/db/d07/spiral__print_8cpp_source.html @@ -0,0 +1,209 @@ + + + + + + + + +TheAlgorithms/C++: others/spiral_print.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    spiral_print.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    5#include <iostream>
    +
    6
    +
    +
    12void genArray(int **a, int r, int c) {
    +
    13 int value = 1;
    +
    14 for (int i = 0; i < r; i++) {
    +
    15 for (int j = 0; j < c; j++) {
    +
    16 a[i][j] = value;
    +
    17 std::cout << a[i][j] << " ";
    +
    18 value++;
    +
    19 }
    +
    20 std::cout << std::endl;
    +
    21 }
    +
    22}
    +
    +
    23
    +
    +
    29void spiralPrint(int **a, int r, int c) {
    +
    30 int startRow = 0, endRow = r - 1;
    +
    31 int startCol = 0, endCol = c - 1;
    +
    32 int cnt = 0;
    +
    33
    +
    34 while (startRow <= endRow && startCol <= endCol) {
    +
    36 for (int i = startCol; i <= endCol; i++, cnt++) {
    +
    37 std::cout << a[startRow][i] << " ";
    +
    38 }
    +
    39 startRow++;
    +
    40
    +
    42 for (int i = startRow; i <= endRow; i++, cnt++) {
    +
    43 std::cout << a[i][endCol] << " ";
    +
    44 }
    +
    45 endCol--;
    +
    46
    +
    48 if (cnt == r * c) {
    +
    49 break;
    +
    50 }
    +
    51
    +
    52 for (int i = endCol; i >= startCol; i--, cnt++) {
    +
    53 std::cout << a[endRow][i] << " ";
    +
    54 }
    +
    55 endRow--;
    +
    56
    +
    58 if (cnt == r * c) {
    +
    59 break;
    +
    60 }
    +
    61 for (int i = endRow; i >= startRow; i--, cnt++) {
    +
    62 std::cout << a[i][startCol] << " ";
    +
    63 }
    +
    64 startCol++;
    +
    65 }
    +
    66}
    +
    +
    67
    +
    +
    69int main() {
    +
    70 int r, c;
    +
    71 std::cin >> r >> c;
    +
    72 int **a = new int *[r];
    +
    73 for (int i = 0; i < r; i++) a[i] = new int[c];
    +
    74
    +
    75 genArray(a, r, c);
    +
    76 spiralPrint(a, r, c);
    +
    77
    +
    78 for (int i = 0; i < r; i++) delete[] a[i];
    +
    79 delete[] a;
    +
    80 return 0;
    +
    81}
    +
    +
    void spiralPrint(int **a, int r, int c)
    +
    void genArray(int **a, int r, int c)
    +
    int main()
    +
    +
    + + + + diff --git a/db/d09/duval_8cpp.html b/db/d09/duval_8cpp.html index 291310b08..75404e29c 100644 --- a/db/d09/duval_8cpp.html +++ b/db/d09/duval_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: strings/duval.cpp File Reference +TheAlgorithms/C++: strings/duval.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -125,7 +142,9 @@ Include dependency graph for duval.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -151,6 +170,8 @@ Functions

    Duval's algorithm works by iterating over the string and finding the smallest rotation of the string that is a Lyndon word. This is done by comparing the string with its suffixes and finding the smallest suffix that is lexicographically smaller than the string. This suffix is then added to the result and the process is repeated with the remaining string. The algorithm has a time complexity of O(n) where n is the length of the string.

    Note
    While Lyndon words are described in the context of strings, Duval's algorithm can be used to find the lexicographically smallest cyclic shift of any sequence of comparable elements.
    Author
    Amine Ghoussaini
    + +

    Definition in file duval.cpp.

    Function Documentation

    ◆ main()

    @@ -169,17 +190,14 @@ Functions

    main function

    Returns
    0 on exit
    + +

    Definition at line 115 of file duval.cpp.

    115 {
    116 test(); // run self test implementations
    117 return 0;
    118}
    -
    static void test()
    self test implementation returns void
    Definition duval.cpp:77
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static void test()
    self test implementation returns void
    Definition duval.cpp:77
    + @@ -206,53 +224,44 @@ Here is the call graph for this function:

    self test implementation returns void

    + +

    Definition at line 77 of file duval.cpp.

    77 {
    78 using namespace string;
    79
    80 // Test 1
    -
    81 std::string s1 = "abcab";
    +
    81 std::string s1 = "abcab";
    82 assert(duval(s1) == 3);
    83
    84 // Test 2
    -
    85 std::string s2 = "011100";
    +
    85 std::string s2 = "011100";
    86 assert(duval(s2) == 4);
    87
    88 // Test 3
    -
    89 std::vector<int> v = {5, 2, 1, 3, 4};
    +
    89 std::vector<int> v = {5, 2, 1, 3, 4};
    90 assert(duval(v) == 2);
    91
    92 // Test 4
    -
    93 std::array<int, 5> a = {1, 2, 3, 4, 5};
    +
    93 std::array<int, 5> a = {1, 2, 3, 4, 5};
    94 assert(duval(a) == 0);
    95
    96 // Test 5
    -
    97 std::deque<char> d = {'a', 'z', 'c', 'a', 'b'};
    +
    97 std::deque<char> d = {'a', 'z', 'c', 'a', 'b'};
    98 assert(duval(d) == 3);
    99
    100 // Test 6
    -
    101 std::string s3;
    +
    101 std::string s3;
    102 assert(duval(s3) == 0);
    103
    104 // Test 7
    -
    105 std::vector<int> v2 = {5, 2, 1, 3, -4};
    +
    105 std::vector<int> v2 = {5, 2, 1, 3, -4};
    106 assert(duval(v2) == 4);
    107
    -
    108 std::cout << "All tests passed!" << std::endl;
    +
    108 std::cout << "All tests passed!" << std::endl;
    109}
    - - - - -
    T endl(T... args)
    -
    string manipulation algorithms
    Definition duval.cpp:41
    -
    size_t duval(const T &s)
    Find the lexicographically smallest cyclic shift of a sequence.
    Definition duval.cpp:49
    - -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    string manipulation algorithms
    Definition duval.cpp:41
    +
    size_t duval(const T &s)
    Find the lexicographically smallest cyclic shift of a sequence.
    Definition duval.cpp:49
    +
    diff --git a/db/d09/duval_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map b/db/d09/duval_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map deleted file mode 100644 index 1853db70f..000000000 --- a/db/d09/duval_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/db/d09/duval_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 b/db/d09/duval_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 deleted file mode 100644 index 79b328cc0..000000000 --- a/db/d09/duval_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -0f712e92fb452db1f16641cf4d4a41f1 \ No newline at end of file diff --git a/db/d09/duval_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg b/db/d09/duval_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg deleted file mode 100644 index d6192d460..000000000 --- a/db/d09/duval_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/db/d09/duval_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg b/db/d09/duval_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg deleted file mode 100644 index 8a4cb2e79..000000000 --- a/db/d09/duval_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - diff --git a/db/d09/duval_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/db/d09/duval_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 13647bb3b..000000000 --- a/db/d09/duval_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/db/d09/duval_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/db/d09/duval_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index 1b359626b..000000000 --- a/db/d09/duval_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -01a04610bd48d17509f81817a2e9ea57 \ No newline at end of file diff --git a/db/d09/duval_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/db/d09/duval_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 8d6df03ed..000000000 --- a/db/d09/duval_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node2->Node3 - - - - - - - - - - - - - diff --git a/db/d09/duval_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/db/d09/duval_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 77c7d8040..000000000 --- a/db/d09/duval_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node2->Node3 - - - - - - - - diff --git a/db/d09/duval_8cpp_source.html b/db/d09/duval_8cpp_source.html new file mode 100644 index 000000000..a08a72ed6 --- /dev/null +++ b/db/d09/duval_8cpp_source.html @@ -0,0 +1,222 @@ + + + + + + + + +TheAlgorithms/C++: strings/duval.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    +

    Namespaces

    namespace  string
    + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    duval.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    29#include <array>
    +
    30#include <cassert>
    +
    31#include <cstddef>
    +
    32#include <deque>
    +
    33#include <iostream>
    +
    34#include <string>
    +
    35#include <vector>
    +
    36
    +
    +
    41namespace string {
    +
    48template <typename T>
    +
    +
    49size_t duval(const T& s) {
    +
    50 size_t n = s.size();
    +
    51 size_t i = 0, ans = 0;
    +
    52 while (i < n) {
    +
    53 ans = i;
    +
    54 size_t j = i + 1, k = i;
    +
    55 while (j < (n + n) && s[j % n] >= s[k % n]) {
    +
    56 if (s[k % n] < s[j % n]) {
    +
    57 k = i;
    +
    58 } else {
    +
    59 k++;
    +
    60 }
    +
    61 j++;
    +
    62 }
    +
    63 while (i <= k) {
    +
    64 i += j - k;
    +
    65 }
    +
    66 }
    +
    67 return ans;
    +
    68 // returns 0-indexed position of the least cyclic shift
    +
    69}
    +
    +
    70
    +
    71} // namespace string
    +
    +
    72
    +
    +
    77static void test() {
    +
    78 using namespace string;
    +
    79
    +
    80 // Test 1
    +
    81 std::string s1 = "abcab";
    +
    82 assert(duval(s1) == 3);
    +
    83
    +
    84 // Test 2
    +
    85 std::string s2 = "011100";
    +
    86 assert(duval(s2) == 4);
    +
    87
    +
    88 // Test 3
    +
    89 std::vector<int> v = {5, 2, 1, 3, 4};
    +
    90 assert(duval(v) == 2);
    +
    91
    +
    92 // Test 4
    +
    93 std::array<int, 5> a = {1, 2, 3, 4, 5};
    +
    94 assert(duval(a) == 0);
    +
    95
    +
    96 // Test 5
    +
    97 std::deque<char> d = {'a', 'z', 'c', 'a', 'b'};
    +
    98 assert(duval(d) == 3);
    +
    99
    +
    100 // Test 6
    +
    101 std::string s3;
    +
    102 assert(duval(s3) == 0);
    +
    103
    +
    104 // Test 7
    +
    105 std::vector<int> v2 = {5, 2, 1, 3, -4};
    +
    106 assert(duval(v2) == 4);
    +
    107
    +
    108 std::cout << "All tests passed!" << std::endl;
    +
    109}
    +
    +
    110
    +
    +
    115int main() {
    +
    116 test(); // run self test implementations
    +
    117 return 0;
    +
    118}
    +
    +
    static void test()
    self test implementation returns void
    Definition duval.cpp:77
    +
    int main()
    main function
    Definition duval.cpp:115
    +
    string manipulation algorithms
    Definition duval.cpp:41
    +
    size_t duval(const T &s)
    Find the lexicographically smallest cyclic shift of a sequence.
    Definition duval.cpp:49
    +
    +
    + + + + diff --git a/db/d0d/prime__factorization_8cpp.html b/db/d0d/prime__factorization_8cpp.html index 1e1c98482..59a1b63af 100644 --- a/db/d0d/prime__factorization_8cpp.html +++ b/db/d0d/prime__factorization_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: math/prime_factorization.cpp File Reference +TheAlgorithms/C++: math/prime_factorization.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -122,7 +139,9 @@ Include dependency graph for prime_factorization.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -136,13 +155,15 @@ Functions Variables - + - +

    Functions

    void SieveOfEratosthenes (int N)
    bool isprime [1000006]
     
    std::vector< int > prime_numbers
    std::vector< int > prime_numbers
     
    std::vector< std::pair< int, int > > factors
    std::vector< std::pair< int, int > > factors
     

    Detailed Description

    Prime factorization of positive integers.

    + +

    Definition in file prime_factorization.cpp.

    Function Documentation

    ◆ main()

    @@ -159,11 +180,13 @@ Variables

    Main program

    + +

    Definition at line 62 of file prime_factorization.cpp.

    62 {
    63 int num;
    -
    64 std::cout << "\t\tComputes the prime factorization\n\n";
    -
    65 std::cout << "Type in a number: ";
    -
    66 std::cin >> num;
    +
    64 std::cout << "\t\tComputes the prime factorization\n\n";
    +
    65 std::cout << "Type in a number: ";
    +
    66 std::cin >> num;
    67
    69
    @@ -171,23 +194,15 @@ Variables
    71
    72 // Prime factors with their powers in the given number in new line
    73 for (auto it : factors) {
    -
    74 std::cout << it.first << " " << it.second << std::endl;
    +
    74 std::cout << it.first << " " << it.second << std::endl;
    75 }
    76
    77 return 0;
    78}
    - - -
    T endl(T... args)
    -
    void prime_factorization(int num)
    Definition prime_factorization.cpp:40
    -
    std::vector< std::pair< int, int > > factors
    Definition prime_factorization.cpp:19
    -
    void SieveOfEratosthenes(int N)
    Definition prime_factorization.cpp:23
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    void prime_factorization(int num)
    +
    std::vector< std::pair< int, int > > factors
    +
    void SieveOfEratosthenes(int N)
    +
    @@ -205,6 +220,8 @@ Here is the call graph for this function:

    Prime factorization of a number

    + +

    Definition at line 40 of file prime_factorization.cpp.

    40 {
    41 int number = num;
    42
    @@ -222,17 +239,11 @@ Here is the call graph for this function:
    54 }
    55
    56 if (count)
    -
    57 factors.push_back(std::make_pair(prime_numbers[i], count));
    +
    57 factors.push_back(std::make_pair(prime_numbers[i], count));
    58 }
    59}
    -
    T make_pair(T... args)
    -
    std::vector< int > prime_numbers
    Definition prime_factorization.cpp:16
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    std::vector< int > prime_numbers
    + @@ -250,9 +261,11 @@ Here is the call graph for this function:

    Calculating prime number upto a given range

    + +

    Definition at line 23 of file prime_factorization.cpp.

    23 {
    24 // initializes the array isprime
    -
    25 memset(isprime, true, sizeof isprime);
    +
    25 memset(isprime, true, sizeof isprime);
    26
    27 for (int i = 2; i <= N; i++) {
    28 if (isprime[i]) {
    @@ -262,19 +275,12 @@ Here is the call graph for this function:
    32
    33 for (int i = 2; i <= N; i++) {
    34 if (isprime[i])
    - +
    35 prime_numbers.push_back(i);
    36 }
    37}
    -
    T memset(T... args)
    -
    bool isprime[1000006]
    Definition prime_factorization.cpp:13
    -
    T push_back(T... args)
    -
    constexpr uint32_t N
    A struct to represent sparse table for min() as their invariant function, for the given array A....
    Definition sparse_table.cpp:48
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    bool isprime[1000006]
    +
    constexpr uint32_t N
    A struct to represent sparse table for min() as their invariant function, for the given array A....
    +

    Variable Documentation

    @@ -285,12 +291,14 @@ Here is the call graph for this function:
    - +
    std::vector<std::pair<int, int> > factorsstd::vector<std::pair<int, int> > factors

    list of prime factor-pairs

    +

    Definition at line 19 of file prime_factorization.cpp.

    +
    @@ -306,6 +314,8 @@ Here is the call graph for this function:

    Declaring variables for maintaing prime numbers and to check whether a number is prime or not

    +

    Definition at line 13 of file prime_factorization.cpp.

    +
    @@ -315,12 +325,14 @@ Here is the call graph for this function:
    - +
    std::vector<int> prime_numbersstd::vector<int> prime_numbers

    list of prime numbers

    +

    Definition at line 16 of file prime_factorization.cpp.

    +
    diff --git a/db/d0d/prime__factorization_8cpp_a0ece0145fb29a5cf48378c23dde2da46_cgraph.map b/db/d0d/prime__factorization_8cpp_a0ece0145fb29a5cf48378c23dde2da46_cgraph.map deleted file mode 100644 index 11779fb82..000000000 --- a/db/d0d/prime__factorization_8cpp_a0ece0145fb29a5cf48378c23dde2da46_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/db/d0d/prime__factorization_8cpp_a0ece0145fb29a5cf48378c23dde2da46_cgraph.md5 b/db/d0d/prime__factorization_8cpp_a0ece0145fb29a5cf48378c23dde2da46_cgraph.md5 deleted file mode 100644 index dba3c0665..000000000 --- a/db/d0d/prime__factorization_8cpp_a0ece0145fb29a5cf48378c23dde2da46_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -39463249eda957912050e25fa5b14204 \ No newline at end of file diff --git a/db/d0d/prime__factorization_8cpp_a0ece0145fb29a5cf48378c23dde2da46_cgraph.svg b/db/d0d/prime__factorization_8cpp_a0ece0145fb29a5cf48378c23dde2da46_cgraph.svg deleted file mode 100644 index 39ef96ac5..000000000 --- a/db/d0d/prime__factorization_8cpp_a0ece0145fb29a5cf48378c23dde2da46_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -prime_factorization - - -Node1 - - -prime_factorization - - - - - -Node2 - - -std::make_pair - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/db/d0d/prime__factorization_8cpp_a0ece0145fb29a5cf48378c23dde2da46_cgraph_org.svg b/db/d0d/prime__factorization_8cpp_a0ece0145fb29a5cf48378c23dde2da46_cgraph_org.svg deleted file mode 100644 index 82dccc3d6..000000000 --- a/db/d0d/prime__factorization_8cpp_a0ece0145fb29a5cf48378c23dde2da46_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -prime_factorization - - -Node1 - - -prime_factorization - - - - - -Node2 - - -std::make_pair - - - - - -Node1->Node2 - - - - - - - - diff --git a/db/d0d/prime__factorization_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/db/d0d/prime__factorization_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index a81e81a96..000000000 --- a/db/d0d/prime__factorization_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - diff --git a/db/d0d/prime__factorization_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/db/d0d/prime__factorization_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index b80f4f7c7..000000000 --- a/db/d0d/prime__factorization_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -a678cdb0c261d5929793570d49f4c22a \ No newline at end of file diff --git a/db/d0d/prime__factorization_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/db/d0d/prime__factorization_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index c78c6957f..000000000 --- a/db/d0d/prime__factorization_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,137 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -prime_factorization - - - - - -Node1->Node3 - - - - - - - - -Node5 - - -SieveOfEratosthenes - - - - - -Node1->Node5 - - - - - - - - -Node4 - - -std::make_pair - - - - - -Node3->Node4 - - - - - - - - -Node6 - - -std::vector::push_back - - - - - -Node5->Node6 - - - - - - - - - - - - - diff --git a/db/d0d/prime__factorization_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/db/d0d/prime__factorization_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 29ce4d945..000000000 --- a/db/d0d/prime__factorization_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,111 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -prime_factorization - - - - - -Node1->Node3 - - - - - - - - -Node5 - - -SieveOfEratosthenes - - - - - -Node1->Node5 - - - - - - - - -Node4 - - -std::make_pair - - - - - -Node3->Node4 - - - - - - - - -Node6 - - -std::vector::push_back - - - - - -Node5->Node6 - - - - - - - - diff --git a/db/d0d/prime__factorization_8cpp_affe577b9bce8f604f5e2f861c63c7099_cgraph.map b/db/d0d/prime__factorization_8cpp_affe577b9bce8f604f5e2f861c63c7099_cgraph.map deleted file mode 100644 index 012fe26d4..000000000 --- a/db/d0d/prime__factorization_8cpp_affe577b9bce8f604f5e2f861c63c7099_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/db/d0d/prime__factorization_8cpp_affe577b9bce8f604f5e2f861c63c7099_cgraph.md5 b/db/d0d/prime__factorization_8cpp_affe577b9bce8f604f5e2f861c63c7099_cgraph.md5 deleted file mode 100644 index 5e595e59d..000000000 --- a/db/d0d/prime__factorization_8cpp_affe577b9bce8f604f5e2f861c63c7099_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -a0cdbe92287bf56c25c5b7ac7c1c3dec \ No newline at end of file diff --git a/db/d0d/prime__factorization_8cpp_affe577b9bce8f604f5e2f861c63c7099_cgraph.svg b/db/d0d/prime__factorization_8cpp_affe577b9bce8f604f5e2f861c63c7099_cgraph.svg deleted file mode 100644 index 13007e494..000000000 --- a/db/d0d/prime__factorization_8cpp_affe577b9bce8f604f5e2f861c63c7099_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -SieveOfEratosthenes - - -Node1 - - -SieveOfEratosthenes - - - - - -Node2 - - -std::vector::push_back - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/db/d0d/prime__factorization_8cpp_affe577b9bce8f604f5e2f861c63c7099_cgraph_org.svg b/db/d0d/prime__factorization_8cpp_affe577b9bce8f604f5e2f861c63c7099_cgraph_org.svg deleted file mode 100644 index d91433ddb..000000000 --- a/db/d0d/prime__factorization_8cpp_affe577b9bce8f604f5e2f861c63c7099_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -SieveOfEratosthenes - - -Node1 - - -SieveOfEratosthenes - - - - - -Node2 - - -std::vector::push_back - - - - - -Node1->Node2 - - - - - - - - diff --git a/db/d0d/prime__factorization_8cpp_source.html b/db/d0d/prime__factorization_8cpp_source.html new file mode 100644 index 000000000..0f26607c7 --- /dev/null +++ b/db/d0d/prime__factorization_8cpp_source.html @@ -0,0 +1,215 @@ + + + + + + + + +TheAlgorithms/C++: math/prime_factorization.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    prime_factorization.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    5#include <algorithm>
    +
    6#include <cstring>
    +
    7#include <iostream>
    +
    8#include <vector>
    +
    9
    +
    13bool isprime[1000006];
    +
    14
    +
    16std::vector<int> prime_numbers;
    +
    17
    +
    19std::vector<std::pair<int, int>> factors;
    +
    20
    +
    + +
    24 // initializes the array isprime
    +
    25 memset(isprime, true, sizeof isprime);
    +
    26
    +
    27 for (int i = 2; i <= N; i++) {
    +
    28 if (isprime[i]) {
    +
    29 for (int j = 2 * i; j <= N; j += i) isprime[j] = false;
    +
    30 }
    +
    31 }
    +
    32
    +
    33 for (int i = 2; i <= N; i++) {
    +
    34 if (isprime[i])
    +
    35 prime_numbers.push_back(i);
    +
    36 }
    +
    37}
    +
    +
    38
    +
    +
    40void prime_factorization(int num) {
    +
    41 int number = num;
    +
    42
    +
    43 for (int i = 0; prime_numbers[i] <= num; i++) {
    +
    44 int count = 0;
    +
    45
    +
    46 // termination condition
    +
    47 if (number == 1) {
    +
    48 break;
    +
    49 }
    +
    50
    +
    51 while (number % prime_numbers[i] == 0) {
    +
    52 count++;
    +
    53 number = number / prime_numbers[i];
    +
    54 }
    +
    55
    +
    56 if (count)
    +
    57 factors.push_back(std::make_pair(prime_numbers[i], count));
    +
    58 }
    +
    59}
    +
    +
    60
    +
    +
    62int main() {
    +
    63 int num;
    +
    64 std::cout << "\t\tComputes the prime factorization\n\n";
    +
    65 std::cout << "Type in a number: ";
    +
    66 std::cin >> num;
    +
    67
    + +
    69
    + +
    71
    +
    72 // Prime factors with their powers in the given number in new line
    +
    73 for (auto it : factors) {
    +
    74 std::cout << it.first << " " << it.second << std::endl;
    +
    75 }
    +
    76
    +
    77 return 0;
    +
    78}
    +
    +
    void prime_factorization(int num)
    +
    bool isprime[1000006]
    +
    std::vector< std::pair< int, int > > factors
    +
    int main()
    +
    std::vector< int > prime_numbers
    +
    void SieveOfEratosthenes(int N)
    +
    +
    + + + + diff --git a/db/d0f/classdata__structures_1_1queue__using__array_1_1_queue___array__coll__graph.map b/db/d0f/classdata__structures_1_1queue__using__array_1_1_queue___array__coll__graph.map index 98a1020ff..29dbfdc0f 100644 --- a/db/d0f/classdata__structures_1_1queue__using__array_1_1_queue___array__coll__graph.map +++ b/db/d0f/classdata__structures_1_1queue__using__array_1_1_queue___array__coll__graph.map @@ -1,7 +1,5 @@ - - - - - + + + diff --git a/db/d0f/classdata__structures_1_1queue__using__array_1_1_queue___array__coll__graph.md5 b/db/d0f/classdata__structures_1_1queue__using__array_1_1_queue___array__coll__graph.md5 index 8461d1c84..5095286a1 100644 --- a/db/d0f/classdata__structures_1_1queue__using__array_1_1_queue___array__coll__graph.md5 +++ b/db/d0f/classdata__structures_1_1queue__using__array_1_1_queue___array__coll__graph.md5 @@ -1 +1 @@ -c6fff7c9babad1e1e9b77c000b8dc3f1 \ No newline at end of file +c911091842386f47fd5ab4f5193056dc \ No newline at end of file diff --git a/db/d0f/classdata__structures_1_1queue__using__array_1_1_queue___array__coll__graph.svg b/db/d0f/classdata__structures_1_1queue__using__array_1_1_queue___array__coll__graph.svg index edd1c3be5..fc80b789a 100644 --- a/db/d0f/classdata__structures_1_1queue__using__array_1_1_queue___array__coll__graph.svg +++ b/db/d0f/classdata__structures_1_1queue__using__array_1_1_queue___array__coll__graph.svg @@ -4,8 +4,8 @@ - + @@ -17,7 +17,7 @@ ]]> - + data_structures::queue_using_array::Queue_Array @@ -32,7 +32,7 @@ Node2 - + std::array< int16_t, max_size > @@ -49,25 +49,6 @@ arr - - -Node3 - - -std::int16_t - - - - - -Node3->Node2 - - - - - - elements - diff --git a/db/d0f/classdata__structures_1_1queue__using__array_1_1_queue___array__coll__graph_org.svg b/db/d0f/classdata__structures_1_1queue__using__array_1_1_queue___array__coll__graph_org.svg index d8545abd2..003a88b14 100644 --- a/db/d0f/classdata__structures_1_1queue__using__array_1_1_queue___array__coll__graph_org.svg +++ b/db/d0f/classdata__structures_1_1queue__using__array_1_1_queue___array__coll__graph_org.svg @@ -4,9 +4,9 @@ - - + + data_structures::queue_using_array::Queue_Array @@ -21,7 +21,7 @@ Node2 - + std::array< int16_t, max_size > @@ -38,24 +38,5 @@ arr - - -Node3 - - -std::int16_t - - - - - -Node3->Node2 - - - - - - elements - diff --git a/db/d10/classdsu__coll__graph.map b/db/d10/classdsu__coll__graph.map deleted file mode 100644 index 52e8e1508..000000000 --- a/db/d10/classdsu__coll__graph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/db/d10/classdsu__coll__graph.md5 b/db/d10/classdsu__coll__graph.md5 deleted file mode 100644 index cb468c547..000000000 --- a/db/d10/classdsu__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -6e4f85876f6fd169bd7520fe9ea2e678 \ No newline at end of file diff --git a/db/d10/classdsu__coll__graph.svg b/db/d10/classdsu__coll__graph.svg deleted file mode 100644 index 3ab17a602..000000000 --- a/db/d10/classdsu__coll__graph.svg +++ /dev/null @@ -1,89 +0,0 @@ - - - - - - - - - - - - -dsu - - -Node1 - - -dsu - - - - - -Node2 - - -std::vector< uint64_t > - - - - - -Node2->Node1 - - - - - - depth -maxElement -minElement -p -setSize - - - -Node3 - - -std::uint64_t - - - - - -Node3->Node2 - - - - - - elements - - - - - - - - diff --git a/db/d10/classdsu__coll__graph_org.svg b/db/d10/classdsu__coll__graph_org.svg deleted file mode 100644 index 15ef269d8..000000000 --- a/db/d10/classdsu__coll__graph_org.svg +++ /dev/null @@ -1,63 +0,0 @@ - - - - - - -dsu - - -Node1 - - -dsu - - - - - -Node2 - - -std::vector< uint64_t > - - - - - -Node2->Node1 - - - - - - depth -maxElement -minElement -p -setSize - - - -Node3 - - -std::uint64_t - - - - - -Node3->Node2 - - - - - - elements - - - diff --git a/db/d16/0__1__knapsack_8cpp.html b/db/d16/0__1__knapsack_8cpp.html index 54422754f..7690552ec 100644 --- a/db/d16/0__1__knapsack_8cpp.html +++ b/db/d16/0__1__knapsack_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: dynamic_programming/0_1_knapsack.cpp File Reference +TheAlgorithms/C++: dynamic_programming/0_1_knapsack.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -122,7 +139,9 @@ Include dependency graph for 0_1_knapsack.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -135,7 +154,7 @@ Namespaces - + @@ -154,6 +173,8 @@ Algorithm
    Author
    Anmol
    Pardeep
    + +

    Definition in file 0_1_knapsack.cpp.

    Function Documentation

    ◆ main()

    @@ -172,18 +193,15 @@ Algorithm

    Main function.

    Returns
    0 on exit
    + +

    Definition at line 126 of file 0_1_knapsack.cpp.

    126 {
    127 // Testing
    128 test();
    129 return 0;
    130}
    -
    static void test()
    Function to test the above algorithm.
    Definition 0_1_knapsack.cpp:96
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static void test()
    Function to test the above algorithm.
    + @@ -202,12 +220,12 @@ template<size_t n> - + - +

    Namespaces

    namespace  dynamic_programming

    Functions

    template<size_t n>
    int dynamic_programming::knapsack::maxKnapsackValue (const int capacity, const std::array< int, n > &weight, const std::array< int, n > &value)
    int dynamic_programming::knapsack::maxKnapsackValue (const int capacity, const std::array< int, n > &weight, const std::array< int, n > &value)
     Picking up all those items whose combined weight is below the given capacity and calculating the value of those picked items. Trying all possible combinations will yield the maximum knapsack value.
     
    static void test ()
    const std::array< int, n > & weight, const std::array< int, n > & weight,
    const std::array< int, n > & value )const std::array< int, n > & value )
    @@ -228,9 +246,11 @@ template<size_t n>
    Returns
    maximum value obtainable with a given capacity.
    + +

    Definition at line 51 of file 0_1_knapsack.cpp.

    52 {
    -
    53 std::vector<std::vector<int> > maxValue(n + 1,
    -
    54 std::vector<int>(capacity + 1, 0));
    +
    53 std::vector<std::vector<int> > maxValue(n + 1,
    +
    54 std::vector<int>(capacity + 1, 0));
    55 // outer loop will select no of items allowed
    56 // inner loop will select the capacity of the knapsack bag
    57 int items = sizeof(weight) / sizeof(weight[0]);
    @@ -253,7 +273,7 @@ template<size_t n>
    74 // not picking the current item
    75 int profit2 = maxValue[i - 1][j];
    76
    -
    77 maxValue[i][j] = std::max(profit1, profit2);
    +
    77 maxValue[i][j] = std::max(profit1, profit2);
    78 } else {
    79 // as the weight of the current item is greater than the allowed weight, so
    80 // maxProfit will be profit obtained by excluding the current item.
    @@ -265,14 +285,7 @@ template<size_t n>
    86 // returning maximum value
    87 return maxValue[items][capacity];
    88}
    -
    T max(T... args)
    - -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -300,41 +313,35 @@ Here is the call graph for this function:

    Function to test the above algorithm.

    Returns
    void
    + +

    Definition at line 96 of file 0_1_knapsack.cpp.

    96 {
    97 // Test 1
    98 const int n1 = 3; // number of items
    -
    99 std::array<int, n1> weight1 = {10, 20, 30}; // weight of each item
    -
    100 std::array<int, n1> value1 = {60, 100, 120}; // value of each item
    +
    99 std::array<int, n1> weight1 = {10, 20, 30}; // weight of each item
    +
    100 std::array<int, n1> value1 = {60, 100, 120}; // value of each item
    101 const int capacity1 = 50; // capacity of carrying bag
    103 capacity1, weight1, value1);
    104 const int expected_max_value1 = 220;
    105 assert(max_value1 == expected_max_value1);
    -
    106 std::cout << "Maximum Knapsack value with " << n1 << " items is "
    -
    107 << max_value1 << std::endl;
    +
    106 std::cout << "Maximum Knapsack value with " << n1 << " items is "
    +
    107 << max_value1 << std::endl;
    108
    109 // Test 2
    110 const int n2 = 4; // number of items
    -
    111 std::array<int, n2> weight2 = {24, 10, 10, 7}; // weight of each item
    -
    112 std::array<int, n2> value2 = {24, 18, 18, 10}; // value of each item
    +
    111 std::array<int, n2> weight2 = {24, 10, 10, 7}; // weight of each item
    +
    112 std::array<int, n2> value2 = {24, 18, 18, 10}; // value of each item
    113 const int capacity2 = 25; // capacity of carrying bag
    115 capacity2, weight2, value2);
    116 const int expected_max_value2 = 36;
    117 assert(max_value2 == expected_max_value2);
    -
    118 std::cout << "Maximum Knapsack value with " << n2 << " items is "
    -
    119 << max_value2 << std::endl;
    +
    118 std::cout << "Maximum Knapsack value with " << n2 << " items is "
    +
    119 << max_value2 << std::endl;
    120}
    -
    int maxKnapsackValue(const int capacity, const std::array< int, n > &weight, const std::array< int, n > &value)
    Picking up all those items whose combined weight is below the given capacity and calculating the valu...
    Definition 0_1_knapsack.cpp:51
    - - -
    T endl(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    int maxKnapsackValue(const int capacity, const std::array< int, n > &weight, const std::array< int, n > &value)
    Picking up all those items whose combined weight is below the given capacity and calculating the valu...
    + diff --git a/db/d16/0__1__knapsack_8cpp_a15edf30f336885e5b851f6b7199c6cd1_cgraph.map b/db/d16/0__1__knapsack_8cpp_a15edf30f336885e5b851f6b7199c6cd1_cgraph.map deleted file mode 100644 index 671a24d22..000000000 --- a/db/d16/0__1__knapsack_8cpp_a15edf30f336885e5b851f6b7199c6cd1_cgraph.map +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/db/d16/0__1__knapsack_8cpp_a15edf30f336885e5b851f6b7199c6cd1_cgraph.md5 b/db/d16/0__1__knapsack_8cpp_a15edf30f336885e5b851f6b7199c6cd1_cgraph.md5 deleted file mode 100644 index 8ee64cddd..000000000 --- a/db/d16/0__1__knapsack_8cpp_a15edf30f336885e5b851f6b7199c6cd1_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -e1576fe66a7ae64b1010e4a706d93963 \ No newline at end of file diff --git a/db/d16/0__1__knapsack_8cpp_a15edf30f336885e5b851f6b7199c6cd1_cgraph.svg b/db/d16/0__1__knapsack_8cpp_a15edf30f336885e5b851f6b7199c6cd1_cgraph.svg deleted file mode 100644 index 33c0a973a..000000000 --- a/db/d16/0__1__knapsack_8cpp_a15edf30f336885e5b851f6b7199c6cd1_cgraph.svg +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - - - - - - - -dynamic_programming::knapsack::maxKnapsackValue - - -Node1 - - -dynamic_programming -::knapsack::maxKnapsackValue - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::max - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/db/d16/0__1__knapsack_8cpp_a15edf30f336885e5b851f6b7199c6cd1_cgraph_org.svg b/db/d16/0__1__knapsack_8cpp_a15edf30f336885e5b851f6b7199c6cd1_cgraph_org.svg deleted file mode 100644 index ad75a6046..000000000 --- a/db/d16/0__1__knapsack_8cpp_a15edf30f336885e5b851f6b7199c6cd1_cgraph_org.svg +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - -dynamic_programming::knapsack::maxKnapsackValue - - -Node1 - - -dynamic_programming -::knapsack::maxKnapsackValue - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::max - - - - - -Node1->Node2 - - - - - - - - diff --git a/db/d16/0__1__knapsack_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map b/db/d16/0__1__knapsack_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map deleted file mode 100644 index 819c3a10b..000000000 --- a/db/d16/0__1__knapsack_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/db/d16/0__1__knapsack_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 b/db/d16/0__1__knapsack_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 deleted file mode 100644 index 50d9243aa..000000000 --- a/db/d16/0__1__knapsack_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -ce9c02b54a55a52c5e6f99142cae3be1 \ No newline at end of file diff --git a/db/d16/0__1__knapsack_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg b/db/d16/0__1__knapsack_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg deleted file mode 100644 index 8a3b2b1dd..000000000 --- a/db/d16/0__1__knapsack_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/db/d16/0__1__knapsack_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg b/db/d16/0__1__knapsack_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg deleted file mode 100644 index 9a36b29f4..000000000 --- a/db/d16/0__1__knapsack_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - diff --git a/db/d16/0__1__knapsack_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/db/d16/0__1__knapsack_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index a0f601d7c..000000000 --- a/db/d16/0__1__knapsack_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/db/d16/0__1__knapsack_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/db/d16/0__1__knapsack_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index c356f959e..000000000 --- a/db/d16/0__1__knapsack_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -59a49c93f2f2012e2b8144d02e4f7bd1 \ No newline at end of file diff --git a/db/d16/0__1__knapsack_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/db/d16/0__1__knapsack_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 45c850912..000000000 --- a/db/d16/0__1__knapsack_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node2->Node3 - - - - - - - - - - - - - diff --git a/db/d16/0__1__knapsack_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/db/d16/0__1__knapsack_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 285eae49b..000000000 --- a/db/d16/0__1__knapsack_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node2->Node3 - - - - - - - - diff --git a/db/d16/0__1__knapsack_8cpp_source.html b/db/d16/0__1__knapsack_8cpp_source.html new file mode 100644 index 000000000..8885d37c1 --- /dev/null +++ b/db/d16/0__1__knapsack_8cpp_source.html @@ -0,0 +1,228 @@ + + + + + + + + +TheAlgorithms/C++: dynamic_programming/0_1_knapsack.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    0_1_knapsack.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    25#include <array>
    +
    26#include <cassert>
    +
    27#include <iostream>
    +
    28#include <vector>
    +
    29
    +
    34namespace dynamic_programming {
    +
    39namespace knapsack {
    +
    50template <size_t n>
    +
    +
    51int maxKnapsackValue(const int capacity, const std::array<int, n> &weight,
    +
    52 const std::array<int, n> &value) {
    +
    53 std::vector<std::vector<int> > maxValue(n + 1,
    +
    54 std::vector<int>(capacity + 1, 0));
    +
    55 // outer loop will select no of items allowed
    +
    56 // inner loop will select the capacity of the knapsack bag
    +
    57 int items = sizeof(weight) / sizeof(weight[0]);
    +
    58 for (size_t i = 0; i < items + 1; ++i) {
    +
    59 for (size_t j = 0; j < capacity + 1; ++j) {
    +
    60 if (i == 0 || j == 0) {
    +
    61 // if no of items is zero or capacity is zero, then maxValue
    +
    62 // will be zero
    +
    63 maxValue[i][j] = 0;
    +
    64 } else if (weight[i - 1] <= j) {
    +
    65 // if the ith item's weight(in the actual array it will be at i-1)
    +
    66 // is less than or equal to the allowed weight i.e. j then we
    +
    67 // can pick that item for our knapsack. maxValue will be the
    +
    68 // obtained either by picking the current item or by not picking
    +
    69 // current item
    +
    70
    +
    71 // picking the current item
    +
    72 int profit1 = value[i - 1] + maxValue[i - 1][j - weight[i - 1]];
    +
    73
    +
    74 // not picking the current item
    +
    75 int profit2 = maxValue[i - 1][j];
    +
    76
    +
    77 maxValue[i][j] = std::max(profit1, profit2);
    +
    78 } else {
    +
    79 // as the weight of the current item is greater than the allowed weight, so
    +
    80 // maxProfit will be profit obtained by excluding the current item.
    +
    81 maxValue[i][j] = maxValue[i - 1][j];
    +
    82 }
    +
    83 }
    +
    84 }
    +
    85
    +
    86 // returning maximum value
    +
    87 return maxValue[items][capacity];
    +
    88}
    +
    +
    89} // namespace knapsack
    +
    90} // namespace dynamic_programming
    +
    91
    +
    +
    96static void test() {
    +
    97 // Test 1
    +
    98 const int n1 = 3; // number of items
    +
    99 std::array<int, n1> weight1 = {10, 20, 30}; // weight of each item
    +
    100 std::array<int, n1> value1 = {60, 100, 120}; // value of each item
    +
    101 const int capacity1 = 50; // capacity of carrying bag
    +
    102 const int max_value1 = dynamic_programming::knapsack::maxKnapsackValue(
    +
    103 capacity1, weight1, value1);
    +
    104 const int expected_max_value1 = 220;
    +
    105 assert(max_value1 == expected_max_value1);
    +
    106 std::cout << "Maximum Knapsack value with " << n1 << " items is "
    +
    107 << max_value1 << std::endl;
    +
    108
    +
    109 // Test 2
    +
    110 const int n2 = 4; // number of items
    +
    111 std::array<int, n2> weight2 = {24, 10, 10, 7}; // weight of each item
    +
    112 std::array<int, n2> value2 = {24, 18, 18, 10}; // value of each item
    +
    113 const int capacity2 = 25; // capacity of carrying bag
    +
    114 const int max_value2 = dynamic_programming::knapsack::maxKnapsackValue(
    +
    115 capacity2, weight2, value2);
    +
    116 const int expected_max_value2 = 36;
    +
    117 assert(max_value2 == expected_max_value2);
    +
    118 std::cout << "Maximum Knapsack value with " << n2 << " items is "
    +
    119 << max_value2 << std::endl;
    +
    120}
    +
    +
    121
    +
    +
    126int main() {
    +
    127 // Testing
    +
    128 test();
    +
    129 return 0;
    +
    130}
    +
    +
    int maxKnapsackValue(const int capacity, const std::array< int, n > &weight, const std::array< int, n > &value)
    Picking up all those items whose combined weight is below the given capacity and calculating the valu...
    +
    static void test()
    Function to test the above algorithm.
    +
    int main()
    Main function.
    +
    Dynamic Programming algorithms.
    +
    +
    + + + + diff --git a/db/d19/structlinear__probing_1_1_entry.html b/db/d19/structlinear__probing_1_1_entry.html index b6a6bf239..346cc2c27 100644 --- a/db/d19/structlinear__probing_1_1_entry.html +++ b/db/d19/structlinear__probing_1_1_entry.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: linear_probing::Entry Struct Reference +TheAlgorithms/C++: linear_probing::Entry Struct Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -114,22 +131,71 @@ $(function(){initNavTree('db/d19/structlinear__probing_1_1_entry.html','../../')
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    - - + +

    Public Member Functions

    Entry (int key=notPresent)
     constructor
     Entry (int key=notPresent)
     constructor
     
    - - + +

    Public Attributes

    -int key
     key value
    int key
     key value
     

    Detailed Description

    Node object that holds key

    -

    The documentation for this struct was generated from the following file:

    Constructor & Destructor Documentation

    + +

    ◆ Entry()

    + +
    +
    + + + + + +
    + + + + + + + +
    linear_probing::Entry::Entry (int key = notPresent)
    +
    +inlineexplicit
    +
    + +

    constructor

    + +

    Definition at line 36 of file linear_probing_hash_table.cpp.

    + +
    +
    +

    Member Data Documentation

    + +

    ◆ key

    + +
    +
    + + + + +
    int linear_probing::Entry::key
    +
    + +

    key value

    + +

    Definition at line 37 of file linear_probing_hash_table.cpp.

    + +
    +
    +
    The documentation for this struct was generated from the following file: diff --git a/db/d1e/classgraph_1_1_graph-members.html b/db/d1e/classgraph_1_1_graph-members.html index b06522797..35b434886 100644 --- a/db/d1e/classgraph_1_1_graph-members.html +++ b/db/d1e/classgraph_1_1_graph-members.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Member List +TheAlgorithms/C++: Member List + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/db/d27/n__bonacci_8cpp.html b/db/d27/n__bonacci_8cpp.html index fb3dc7759..930794e6e 100644 --- a/db/d27/n__bonacci_8cpp.html +++ b/db/d27/n__bonacci_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: math/n_bonacci.cpp File Reference +TheAlgorithms/C++: math/n_bonacci.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + @@ -122,7 +139,9 @@ Include dependency graph for n_bonacci.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -134,7 +153,7 @@ Namespaces

    Namespaces

    namespace  math
    - + @@ -149,6 +168,8 @@ Functions

    In general, in N-bonacci sequence, we generate sum of preceding N numbers from the next term.

    For example, a 3-bonacci sequence is the following: 0, 0, 1, 1, 2, 4, 7, 13, 24, 44, 81 In this code we take N and M as input where M is the number of terms to be printed of the N-bonacci series

    Author
    Swastika Gupta
    + +

    Definition in file n_bonacci.cpp.

    Function Documentation

    ◆ main()

    @@ -167,17 +188,14 @@ Functions

    Main function.

    Returns
    0 on exit
    + +

    Definition at line 104 of file n_bonacci.cpp.

    104 {
    105 test(); // run self-test implementations
    106 return 0;
    107}
    -
    static void test()
    Self-test implementations.
    Definition n_bonacci.cpp:69
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static void test()
    Self-test implementations.
    Definition n_bonacci.cpp:69
    + @@ -187,7 +205,7 @@ Here is the call graph for this function:

    Functions

    std::vector< uint64_t > math::n_bonacci::N_bonacci (const uint64_t &n, const uint64_t &m)
    std::vector< uint64_t > math::n_bonacci::N_bonacci (const uint64_t &n, const uint64_t &m)
     Finds the N-Bonacci series for the n parameter value and m parameter terms.
     
    static void test ()
    - + @@ -210,21 +228,21 @@ Here is the call graph for this function:
    Returns
    the n-bonacci sequence as vector array

    we initialise the (n-1)th term as 1 which is the sum of preceding N zeros

    similarily the sum of preceding N zeros and the (N+1)th 1 is also 1

    + +

    Definition at line 40 of file n_bonacci.cpp.

    40 {
    - +
    41 std::vector<uint64_t> a(
    42 m, 0); // we create an array of size m filled with zeros
    43 if (m < n || n == 0) {
    44 return a;
    45 }
    46
    -
    47 a[n - 1] = 1; /// we initialise the (n-1)th term as 1 which is the sum of
    -
    48 /// preceding N zeros
    -
    49 if (n == m) {
    +
    47 a[n - 1] = 1;
    +
    49 if (n == m) {
    50 return a;
    51 }
    -
    52 a[n] = 1; /// similarily the sum of preceding N zeros and the (N+1)th 1 is
    -
    53 /// also 1
    -
    54 for (uint64_t i = n + 1; i < m; i++) {
    +
    52 a[n] = 1;
    +
    54 for (uint64_t i = n + 1; i < m; i++) {
    55 // this is an optimized solution that works in O(M) time and takes O(M)
    56 // extra space here we use the concept of the sliding window the current
    57 // term can be computed using the given formula
    @@ -232,13 +250,7 @@ Here is the call graph for this function:
    59 }
    60 return a;
    61}
    - -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -266,18 +278,20 @@ Here is the call graph for this function:

    Self-test implementations.

    Returns
    void
    + +

    Definition at line 69 of file n_bonacci.cpp.

    69 {
    70 struct TestCase {
    71 const uint64_t n;
    72 const uint64_t m;
    -
    73 const std::vector<uint64_t> expected;
    +
    73 const std::vector<uint64_t> expected;
    74 TestCase(const uint64_t in_n, const uint64_t in_m,
    - +
    75 std::initializer_list<uint64_t> data)
    76 : n(in_n), m(in_m), expected(data) {
    77 assert(data.size() == m);
    78 }
    79 };
    -
    80 const std::vector<TestCase> test_cases = {
    +
    80 const std::vector<TestCase> test_cases = {
    81 TestCase(0, 0, {}),
    82 TestCase(0, 1, {0}),
    83 TestCase(0, 2, {0, 0}),
    @@ -294,19 +308,11 @@ Here is the call graph for this function:
    94 for (const auto &tc : test_cases) {
    95 assert(math::n_bonacci::N_bonacci(tc.n, tc.m) == tc.expected);
    96 }
    -
    97 std::cout << "passed" << std::endl;
    +
    97 std::cout << "passed" << std::endl;
    98}
    - -
    T endl(T... args)
    -
    int data[MAX]
    test data
    Definition hash_search.cpp:24
    - -
    represents single example inputs and expected output of the function longest_common_string_length
    Definition longest_common_string.cpp:54
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    int data[MAX]
    test data
    +
    represents single example inputs and expected output of the function longest_common_string_length
    + diff --git a/db/d27/n__bonacci_8cpp_a6849b68f760be628d5975ab3eddec63d_cgraph.map b/db/d27/n__bonacci_8cpp_a6849b68f760be628d5975ab3eddec63d_cgraph.map deleted file mode 100644 index ad11b0d1f..000000000 --- a/db/d27/n__bonacci_8cpp_a6849b68f760be628d5975ab3eddec63d_cgraph.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/db/d27/n__bonacci_8cpp_a6849b68f760be628d5975ab3eddec63d_cgraph.md5 b/db/d27/n__bonacci_8cpp_a6849b68f760be628d5975ab3eddec63d_cgraph.md5 deleted file mode 100644 index 614f4f0a5..000000000 --- a/db/d27/n__bonacci_8cpp_a6849b68f760be628d5975ab3eddec63d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -b6ff78d7080b73cedbf2649a41899071 \ No newline at end of file diff --git a/db/d27/n__bonacci_8cpp_a6849b68f760be628d5975ab3eddec63d_cgraph.svg b/db/d27/n__bonacci_8cpp_a6849b68f760be628d5975ab3eddec63d_cgraph.svg deleted file mode 100644 index 6e09d721e..000000000 --- a/db/d27/n__bonacci_8cpp_a6849b68f760be628d5975ab3eddec63d_cgraph.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - - - - - - - -math::n_bonacci::N_bonacci - - -Node1 - - -math::n_bonacci::N -_bonacci - - - - - -Node1->Node1 - - - - - - - - - - - - - diff --git a/db/d27/n__bonacci_8cpp_a6849b68f760be628d5975ab3eddec63d_cgraph_org.svg b/db/d27/n__bonacci_8cpp_a6849b68f760be628d5975ab3eddec63d_cgraph_org.svg deleted file mode 100644 index 0a180ea64..000000000 --- a/db/d27/n__bonacci_8cpp_a6849b68f760be628d5975ab3eddec63d_cgraph_org.svg +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - -math::n_bonacci::N_bonacci - - -Node1 - - -math::n_bonacci::N -_bonacci - - - - - -Node1->Node1 - - - - - - - - diff --git a/db/d27/n__bonacci_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map b/db/d27/n__bonacci_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map deleted file mode 100644 index e85e01374..000000000 --- a/db/d27/n__bonacci_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/db/d27/n__bonacci_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 b/db/d27/n__bonacci_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 deleted file mode 100644 index 5901bc148..000000000 --- a/db/d27/n__bonacci_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -729fb887ee50b6291b0542ba0592a5c7 \ No newline at end of file diff --git a/db/d27/n__bonacci_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg b/db/d27/n__bonacci_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg deleted file mode 100644 index 2e04695b9..000000000 --- a/db/d27/n__bonacci_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/db/d27/n__bonacci_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg b/db/d27/n__bonacci_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg deleted file mode 100644 index 1813bd719..000000000 --- a/db/d27/n__bonacci_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - diff --git a/db/d27/n__bonacci_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/db/d27/n__bonacci_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index da56e458a..000000000 --- a/db/d27/n__bonacci_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/db/d27/n__bonacci_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/db/d27/n__bonacci_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index c00724f15..000000000 --- a/db/d27/n__bonacci_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -328ccd935b56d7c2448667538e9698ab \ No newline at end of file diff --git a/db/d27/n__bonacci_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/db/d27/n__bonacci_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index cf86c3101..000000000 --- a/db/d27/n__bonacci_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node2->Node3 - - - - - - - - - - - - - diff --git a/db/d27/n__bonacci_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/db/d27/n__bonacci_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index ccf6c00a8..000000000 --- a/db/d27/n__bonacci_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node2->Node3 - - - - - - - - diff --git a/db/d27/n__bonacci_8cpp_source.html b/db/d27/n__bonacci_8cpp_source.html new file mode 100644 index 000000000..2755eaffb --- /dev/null +++ b/db/d27/n__bonacci_8cpp_source.html @@ -0,0 +1,215 @@ + + + + + + + + +TheAlgorithms/C++: math/n_bonacci.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    std::vector< uint64_t > math::n_bonacci::N_bonacci std::vector< uint64_t > math::n_bonacci::N_bonacci ( const uint64_t & n,
    + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + + +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    n_bonacci.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    18#include <cassert>
    +
    19#include <cstdint>
    +
    20#include <iostream>
    +
    21#include <vector>
    +
    26namespace math {
    +
    32namespace n_bonacci {
    +
    +
    40std::vector<uint64_t> N_bonacci(const uint64_t &n, const uint64_t &m) {
    +
    41 std::vector<uint64_t> a(
    +
    42 m, 0); // we create an array of size m filled with zeros
    +
    43 if (m < n || n == 0) {
    +
    44 return a;
    +
    45 }
    +
    46
    +
    47 a[n - 1] = 1;
    +
    49 if (n == m) {
    +
    50 return a;
    +
    51 }
    +
    52 a[n] = 1;
    +
    54 for (uint64_t i = n + 1; i < m; i++) {
    +
    55 // this is an optimized solution that works in O(M) time and takes O(M)
    +
    56 // extra space here we use the concept of the sliding window the current
    +
    57 // term can be computed using the given formula
    +
    58 a[i] = 2 * a[i - 1] - a[i - 1 - n];
    +
    59 }
    +
    60 return a;
    +
    61}
    +
    +
    62} // namespace n_bonacci
    +
    63} // namespace math
    +
    64
    +
    +
    69static void test() {
    +
    70 struct TestCase {
    +
    71 const uint64_t n;
    +
    72 const uint64_t m;
    +
    73 const std::vector<uint64_t> expected;
    +
    74 TestCase(const uint64_t in_n, const uint64_t in_m,
    +
    75 std::initializer_list<uint64_t> data)
    +
    76 : n(in_n), m(in_m), expected(data) {
    +
    77 assert(data.size() == m);
    +
    78 }
    +
    79 };
    +
    80 const std::vector<TestCase> test_cases = {
    +
    81 TestCase(0, 0, {}),
    +
    82 TestCase(0, 1, {0}),
    +
    83 TestCase(0, 2, {0, 0}),
    +
    84 TestCase(1, 0, {}),
    +
    85 TestCase(1, 1, {1}),
    +
    86 TestCase(1, 2, {1, 1}),
    +
    87 TestCase(1, 3, {1, 1, 1}),
    +
    88 TestCase(5, 15, {0, 0, 0, 0, 1, 1, 2, 4, 8, 16, 31, 61, 120, 236, 464}),
    + +
    90 6, 17,
    +
    91 {0, 0, 0, 0, 0, 1, 1, 2, 4, 8, 16, 32, 63, 125, 248, 492, 976}),
    +
    92 TestCase(56, 15, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0})};
    +
    93
    +
    94 for (const auto &tc : test_cases) {
    +
    95 assert(math::n_bonacci::N_bonacci(tc.n, tc.m) == tc.expected);
    +
    96 }
    +
    97 std::cout << "passed" << std::endl;
    +
    98}
    +
    +
    99
    +
    +
    104int main() {
    +
    105 test(); // run self-test implementations
    +
    106 return 0;
    +
    107}
    +
    +
    int data[MAX]
    test data
    +
    std::vector< uint64_t > N_bonacci(const uint64_t &n, const uint64_t &m)
    Finds the N-Bonacci series for the n parameter value and m parameter terms.
    Definition n_bonacci.cpp:40
    +
    static void test()
    Self-test implementations.
    Definition n_bonacci.cpp:69
    +
    int main()
    Main function.
    +
    for assert
    +
    Functions for the N-bonacci implementation.
    +
    represents single example inputs and expected output of the function longest_common_string_length
    +
    +
    + + + + diff --git a/db/d29/classgeometry_1_1jarvis_1_1_convexhull__coll__graph.map b/db/d29/classgeometry_1_1jarvis_1_1_convexhull__coll__graph.map index 1c290bf5a..8ef3ab8ac 100644 --- a/db/d29/classgeometry_1_1jarvis_1_1_convexhull__coll__graph.map +++ b/db/d29/classgeometry_1_1jarvis_1_1_convexhull__coll__graph.map @@ -1,6 +1,6 @@ - + diff --git a/db/d29/classgeometry_1_1jarvis_1_1_convexhull__coll__graph.md5 b/db/d29/classgeometry_1_1jarvis_1_1_convexhull__coll__graph.md5 index b353428b0..a9132d370 100644 --- a/db/d29/classgeometry_1_1jarvis_1_1_convexhull__coll__graph.md5 +++ b/db/d29/classgeometry_1_1jarvis_1_1_convexhull__coll__graph.md5 @@ -1 +1 @@ -c3bbb9056e2668f7667acc9eeec8fd5c \ No newline at end of file +1a39b8de8effcdc40a56a17c1d88e784 \ No newline at end of file diff --git a/db/d29/classgeometry_1_1jarvis_1_1_convexhull__coll__graph.svg b/db/d29/classgeometry_1_1jarvis_1_1_convexhull__coll__graph.svg index 512ba3059..c2d763e79 100644 --- a/db/d29/classgeometry_1_1jarvis_1_1_convexhull__coll__graph.svg +++ b/db/d29/classgeometry_1_1jarvis_1_1_convexhull__coll__graph.svg @@ -31,7 +31,7 @@ Node2 - + std::vector< geometry ::jarvis::Point > diff --git a/db/d29/classgeometry_1_1jarvis_1_1_convexhull__coll__graph_org.svg b/db/d29/classgeometry_1_1jarvis_1_1_convexhull__coll__graph_org.svg index 4249a8ec1..3d7c3a11d 100644 --- a/db/d29/classgeometry_1_1jarvis_1_1_convexhull__coll__graph_org.svg +++ b/db/d29/classgeometry_1_1jarvis_1_1_convexhull__coll__graph_org.svg @@ -20,7 +20,7 @@ Node2 - + std::vector< geometry ::jarvis::Point > diff --git a/db/d32/structdata__structures_1_1sparse__table_1_1_sparse__table-members.html b/db/d32/structdata__structures_1_1sparse__table_1_1_sparse__table-members.html index f74239542..61cbe5130 100644 --- a/db/d32/structdata__structures_1_1sparse__table_1_1_sparse__table-members.html +++ b/db/d32/structdata__structures_1_1sparse__table_1_1_sparse__table-members.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Member List +TheAlgorithms/C++: Member List + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/db/d36/classothers_1_1_cache_1_1_l_f_u_cache-members.html b/db/d36/classothers_1_1_cache_1_1_l_f_u_cache-members.html index afafec019..ae7d1968e 100644 --- a/db/d36/classothers_1_1_cache_1_1_l_f_u_cache-members.html +++ b/db/d36/classothers_1_1_cache_1_1_l_f_u_cache-members.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Member List +TheAlgorithms/C++: Member List + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/db/d3c/tower__of__hanoi_8cpp.html b/db/d3c/tower__of__hanoi_8cpp.html index cca65956d..779dcf472 100644 --- a/db/d3c/tower__of__hanoi_8cpp.html +++ b/db/d3c/tower__of__hanoi_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: others/tower_of_hanoi.cpp File Reference +TheAlgorithms/C++: others/tower_of_hanoi.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + @@ -119,7 +136,9 @@ Include dependency graph for tower_of_hanoi.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -138,6 +157,8 @@ Functions

    Classes

    struct  tower

    Detailed Description

    Solve the Tower of Hanoi problem.

    + +

    Definition in file tower_of_hanoi.cpp.

    Function Documentation

    ◆ main()

    @@ -154,6 +175,8 @@ Functions

    Main function

    + +

    Definition at line 65 of file tower_of_hanoi.cpp.

    65 {
    66 struct tower F, U, T;
    67
    @@ -163,8 +186,8 @@ Functions
    71
    72 int no;
    73
    -
    74 std::cout << "\nEnter number of discs : ";
    -
    75 std::cin >> no;
    +
    74 std::cout << "\nEnter number of discs : ";
    +
    75 std::cin >> no;
    76
    77 for (int i = no; i > 0; i--) {
    78 F.values[F.top++] = i;
    @@ -175,17 +198,10 @@ Functions
    83
    84 return 0;
    85}
    - - -
    Definition tower_of_hanoi.cpp:11
    -
    int top
    top tower ID
    Definition tower_of_hanoi.cpp:15
    -
    void TH(int n, tower *From, tower *Using, tower *To)
    Definition tower_of_hanoi.cpp:52
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + +
    int top
    top tower ID
    +
    void TH(int n, tower *From, tower *Using, tower *To)
    +
    @@ -213,12 +229,14 @@ Here is the call graph for this function: + +

    Definition at line 39 of file tower_of_hanoi.cpp.

    39 {
    40 --From->top;
    41 To->values[To->top] = From->values[From->top];
    42 ++To->top;
    43}
    -
    int values[10]
    Values in the tower.
    Definition tower_of_hanoi.cpp:13
    +
    int values[10]
    Values in the tower.
    @@ -246,18 +264,20 @@ Here is the call graph for this function:

    Display the towers

    + +

    Definition at line 19 of file tower_of_hanoi.cpp.

    20 {
    -
    21 std::cout << "\n\n\tF : ";
    +
    21 std::cout << "\n\n\tF : ";
    22 for (int i = 0; i < F->top; i++) {
    -
    23 std::cout << F->values[i] << "\t";
    +
    23 std::cout << F->values[i] << "\t";
    24 }
    -
    25 std::cout << "\n\tU : ";
    +
    25 std::cout << "\n\tU : ";
    26 for (int i = 0; i < U->top; i++) {
    -
    27 std::cout << U->values[i] << "\t";
    +
    27 std::cout << U->values[i] << "\t";
    28 }
    -
    29 std::cout << "\n\tT : ";
    +
    29 std::cout << "\n\tT : ";
    30 for (int i = 0; i < T->top; i++) {
    -
    31 std::cout << T->values[i] << "\t";
    +
    31 std::cout << T->values[i] << "\t";
    32 }
    33}
    @@ -300,6 +320,8 @@ Here is the call graph for this function:
    + +

    Definition at line 52 of file tower_of_hanoi.cpp.

    52 {
    53 if (n == 1) {
    54 mov(From, To);
    @@ -311,13 +333,8 @@ Here is the call graph for this function:
    60 TH(n - 1, Using, From, To);
    61 }
    62}
    -
    void mov(tower *From, tower *To)
    Definition tower_of_hanoi.cpp:39
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    void mov(tower *From, tower *To)
    + diff --git a/db/d3c/tower__of__hanoi_8cpp_ab037f72a5eac476535a6cfbbcb965417_cgraph.map b/db/d3c/tower__of__hanoi_8cpp_ab037f72a5eac476535a6cfbbcb965417_cgraph.map deleted file mode 100644 index d5ee63c9d..000000000 --- a/db/d3c/tower__of__hanoi_8cpp_ab037f72a5eac476535a6cfbbcb965417_cgraph.map +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/db/d3c/tower__of__hanoi_8cpp_ab037f72a5eac476535a6cfbbcb965417_cgraph.md5 b/db/d3c/tower__of__hanoi_8cpp_ab037f72a5eac476535a6cfbbcb965417_cgraph.md5 deleted file mode 100644 index 4c0af01bf..000000000 --- a/db/d3c/tower__of__hanoi_8cpp_ab037f72a5eac476535a6cfbbcb965417_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -e1d2841de77893c347fd45e19112d7cd \ No newline at end of file diff --git a/db/d3c/tower__of__hanoi_8cpp_ab037f72a5eac476535a6cfbbcb965417_cgraph.svg b/db/d3c/tower__of__hanoi_8cpp_ab037f72a5eac476535a6cfbbcb965417_cgraph.svg deleted file mode 100644 index d42a01eb0..000000000 --- a/db/d3c/tower__of__hanoi_8cpp_ab037f72a5eac476535a6cfbbcb965417_cgraph.svg +++ /dev/null @@ -1,74 +0,0 @@ - - - - - - - - - - - - -TH - - -Node1 - - -TH - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -mov - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/db/d3c/tower__of__hanoi_8cpp_ab037f72a5eac476535a6cfbbcb965417_cgraph_org.svg b/db/d3c/tower__of__hanoi_8cpp_ab037f72a5eac476535a6cfbbcb965417_cgraph_org.svg deleted file mode 100644 index b6e7feb48..000000000 --- a/db/d3c/tower__of__hanoi_8cpp_ab037f72a5eac476535a6cfbbcb965417_cgraph_org.svg +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - -TH - - -Node1 - - -TH - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -mov - - - - - -Node1->Node2 - - - - - - - - diff --git a/db/d3c/tower__of__hanoi_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/db/d3c/tower__of__hanoi_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index ccd9b9a12..000000000 --- a/db/d3c/tower__of__hanoi_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/db/d3c/tower__of__hanoi_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/db/d3c/tower__of__hanoi_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index e870b30b2..000000000 --- a/db/d3c/tower__of__hanoi_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -5f6bef9872d26ff27dd079913699ca9b \ No newline at end of file diff --git a/db/d3c/tower__of__hanoi_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/db/d3c/tower__of__hanoi_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 01523fdef..000000000 --- a/db/d3c/tower__of__hanoi_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,92 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -TH - - - - - -Node1->Node2 - - - - - - - - -Node2->Node2 - - - - - - - - -Node3 - - -mov - - - - - -Node2->Node3 - - - - - - - - - - - - - diff --git a/db/d3c/tower__of__hanoi_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/db/d3c/tower__of__hanoi_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 1ddbc2cb1..000000000 --- a/db/d3c/tower__of__hanoi_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -TH - - - - - -Node1->Node2 - - - - - - - - -Node2->Node2 - - - - - - - - -Node3 - - -mov - - - - - -Node2->Node3 - - - - - - - - diff --git a/db/d3c/tower__of__hanoi_8cpp_source.html b/db/d3c/tower__of__hanoi_8cpp_source.html new file mode 100644 index 000000000..0dbce8d36 --- /dev/null +++ b/db/d3c/tower__of__hanoi_8cpp_source.html @@ -0,0 +1,216 @@ + + + + + + + + +TheAlgorithms/C++: others/tower_of_hanoi.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    tower_of_hanoi.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    6#include <iostream>
    +
    7
    +
    +
    11struct tower {
    +
    13 int values[10];
    +
    15 int top;
    +
    16};
    +
    +
    17
    +
    +
    19void show(const struct tower *const F, const struct tower *const T,
    +
    20 const struct tower *const U) {
    +
    21 std::cout << "\n\n\tF : ";
    +
    22 for (int i = 0; i < F->top; i++) {
    +
    23 std::cout << F->values[i] << "\t";
    +
    24 }
    +
    25 std::cout << "\n\tU : ";
    +
    26 for (int i = 0; i < U->top; i++) {
    +
    27 std::cout << U->values[i] << "\t";
    +
    28 }
    +
    29 std::cout << "\n\tT : ";
    +
    30 for (int i = 0; i < T->top; i++) {
    +
    31 std::cout << T->values[i] << "\t";
    +
    32 }
    +
    33}
    +
    +
    34
    +
    +
    39void mov(tower *From, tower *To) {
    +
    40 --From->top;
    +
    41 To->values[To->top] = From->values[From->top];
    +
    42 ++To->top;
    +
    43}
    +
    +
    44
    +
    +
    52void TH(int n, tower *From, tower *Using, tower *To) {
    +
    53 if (n == 1) {
    +
    54 mov(From, To);
    +
    55 show(From, To, Using);
    +
    56 } else {
    +
    57 TH(n - 1, From, To, Using);
    +
    58 mov(From, To);
    +
    59 show(From, To, Using);
    +
    60 TH(n - 1, Using, From, To);
    +
    61 }
    +
    62}
    +
    +
    63
    +
    +
    65int main() {
    +
    66 struct tower F, U, T;
    +
    67
    +
    68 F.top = 0;
    +
    69 U.top = 0;
    +
    70 T.top = 0;
    +
    71
    +
    72 int no;
    +
    73
    +
    74 std::cout << "\nEnter number of discs : ";
    +
    75 std::cin >> no;
    +
    76
    +
    77 for (int i = no; i > 0; i--) {
    +
    78 F.values[F.top++] = i;
    +
    79 }
    +
    80
    +
    81 show(&F, &T, &U);
    +
    82 TH(no, &F, &U, &T);
    +
    83
    +
    84 return 0;
    +
    85}
    +
    + +
    int values[10]
    Values in the tower.
    +
    int top
    top tower ID
    +
    void TH(int n, tower *From, tower *Using, tower *To)
    +
    int main()
    +
    void mov(tower *From, tower *To)
    +
    +
    + + + + diff --git a/db/d3f/wave__sort_8cpp.html b/db/d3f/wave__sort_8cpp.html index ee9f15e63..9d67e7969 100644 --- a/db/d3f/wave__sort_8cpp.html +++ b/db/d3f/wave__sort_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: sorting/wave_sort.cpp File Reference +TheAlgorithms/C++: sorting/wave_sort.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -122,7 +139,9 @@ Include dependency graph for wave_sort.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -135,7 +154,7 @@ Namespaces - + @@ -148,6 +167,8 @@ Functions

    Detailed Description

    Implementation of the Wave sort algorithm.

    Wave Sort is a sorting algorithm that works in \(O(nlogn)\) time assuming the sort function used works in \(O(nlogn)\) time.

    Author
    Swastika Gupta
    + +

    Definition in file wave_sort.cpp.

    Function Documentation

    ◆ main()

    @@ -166,17 +187,14 @@ Functions

    Main function.

    Returns
    0 on exit
    + +

    Definition at line 91 of file wave_sort.cpp.

    91 {
    92 test(); // run self-test implementations
    93 return 0;
    94}
    -
    static void test()
    Self-test implementations.
    Definition wave_sort.cpp:53
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static void test()
    Self-test implementations.
    Definition wave_sort.cpp:53
    + @@ -204,49 +222,43 @@ Here is the call graph for this function:

    Self-test implementations.

    Returns
    void
    + +

    Definition at line 53 of file wave_sort.cpp.

    53 {
    54 // [10, 90, 49, 2, 1, 5, 23] return [2, 1, 10, 5, 49, 23, 90]
    -
    55 std::vector<int64_t> array1 = {10, 90, 49, 2, 1, 5, 23};
    -
    56 std::cout << "Test 1... ";
    - -
    58 const std::vector<int64_t> o1 = {2, 1, 10, 5, 49, 23, 90};
    +
    55 std::vector<int64_t> array1 = {10, 90, 49, 2, 1, 5, 23};
    +
    56 std::cout << "Test 1... ";
    +
    57 std::vector<int64_t> arr1 = sorting::wave_sort::waveSort(array1, 7);
    +
    58 const std::vector<int64_t> o1 = {2, 1, 10, 5, 49, 23, 90};
    59 assert(arr1 == o1);
    -
    60 std::cout << "passed" << std::endl;
    +
    60 std::cout << "passed" << std::endl;
    61
    62 // [1, 3, 4, 2, 7, 8] return [2, 1, 4, 3, 8, 7]
    -
    63 std::vector<int64_t> array2 = {1, 3, 4, 2, 7, 8};
    -
    64 std::cout << "Test 2... ";
    - -
    66 const std::vector<int64_t> o2 = {2, 1, 4, 3, 8, 7};
    +
    63 std::vector<int64_t> array2 = {1, 3, 4, 2, 7, 8};
    +
    64 std::cout << "Test 2... ";
    +
    65 std::vector<int64_t> arr2 = sorting::wave_sort::waveSort(array2, 6);
    +
    66 const std::vector<int64_t> o2 = {2, 1, 4, 3, 8, 7};
    67 assert(arr2 == o2);
    -
    68 std::cout << "passed" << std::endl;
    +
    68 std::cout << "passed" << std::endl;
    69
    70 // [3, 3, 3, 3] return [3, 3, 3, 3]
    -
    71 std::vector<int64_t> array3 = {3, 3, 3, 3};
    -
    72 std::cout << "Test 3... ";
    - -
    74 const std::vector<int64_t> o3 = {3, 3, 3, 3};
    +
    71 std::vector<int64_t> array3 = {3, 3, 3, 3};
    +
    72 std::cout << "Test 3... ";
    +
    73 std::vector<int64_t> arr3 = sorting::wave_sort::waveSort(array3, 4);
    +
    74 const std::vector<int64_t> o3 = {3, 3, 3, 3};
    75 assert(arr3 == o3);
    -
    76 std::cout << "passed" << std::endl;
    +
    76 std::cout << "passed" << std::endl;
    77
    78 // [9, 4, 6, 8, 14, 3] return [4, 3, 8, 6, 14, 9]
    -
    79 std::vector<int64_t> array4 = {9, 4, 6, 8, 14, 3};
    -
    80 std::cout << "Test 4... ";
    - -
    82 const std::vector<int64_t> o4 = {4, 3, 8, 6, 14, 9};
    +
    79 std::vector<int64_t> array4 = {9, 4, 6, 8, 14, 3};
    +
    80 std::cout << "Test 4... ";
    +
    81 std::vector<int64_t> arr4 = sorting::wave_sort::waveSort(array4, 6);
    +
    82 const std::vector<int64_t> o4 = {4, 3, 8, 6, 14, 9};
    83 assert(arr4 == o4);
    -
    84 std::cout << "passed" << std::endl;
    +
    84 std::cout << "passed" << std::endl;
    85}
    - -
    T endl(T... args)
    - -
    std::vector< T > waveSort(const std::vector< T > &in_arr, int64_t n)
    The main function implements that implements the Wave Sort algorithm.
    Definition wave_sort.cpp:34
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    std::vector< T > waveSort(const std::vector< T > &in_arr, int64_t n)
    The main function implements that implements the Wave Sort algorithm.
    Definition wave_sort.cpp:34
    + @@ -258,9 +270,9 @@ Here is the call graph for this function: template<typename T >

    Namespaces

    namespace  sorting

    Functions

    template<typename T >
    std::vector< T > sorting::wave_sort::waveSort (const std::vector< T > &in_arr, int64_t n)
    std::vector< T > sorting::wave_sort::waveSort (const std::vector< T > &in_arr, int64_t n)
     The main function implements that implements the Wave Sort algorithm.
     
    static void test ()
    - + - + @@ -284,26 +296,21 @@ template<typename T >
    Returns
    arr the wave sorted array
    + +

    Definition at line 34 of file wave_sort.cpp.

    34 {
    -
    35 std::vector<T> arr(in_arr);
    +
    35 std::vector<T> arr(in_arr);
    36
    37 for (int64_t i = 0; i < n; i++) {
    38 arr[i] = in_arr[i];
    39 }
    -
    40 std::sort(arr.begin(), arr.end());
    +
    40 std::sort(arr.begin(), arr.end());
    41 for (int64_t i = 0; i < n - 1; i += 2) { // swap all the adjacent elements
    -
    42 std::swap(arr[i], arr[i + 1]);
    +
    42 std::swap(arr[i], arr[i + 1]);
    43 }
    44 return arr;
    45}
    -
    T sort(T... args)
    -
    T swap(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + diff --git a/db/d3f/wave__sort_8cpp_a7d4f243b9dc13ace4ef77e30dbc56f12_cgraph.map b/db/d3f/wave__sort_8cpp_a7d4f243b9dc13ace4ef77e30dbc56f12_cgraph.map deleted file mode 100644 index db00b49d7..000000000 --- a/db/d3f/wave__sort_8cpp_a7d4f243b9dc13ace4ef77e30dbc56f12_cgraph.map +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - - - diff --git a/db/d3f/wave__sort_8cpp_a7d4f243b9dc13ace4ef77e30dbc56f12_cgraph.md5 b/db/d3f/wave__sort_8cpp_a7d4f243b9dc13ace4ef77e30dbc56f12_cgraph.md5 deleted file mode 100644 index ebfc56fd0..000000000 --- a/db/d3f/wave__sort_8cpp_a7d4f243b9dc13ace4ef77e30dbc56f12_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -20434bc02d440749d5295199c47a2167 \ No newline at end of file diff --git a/db/d3f/wave__sort_8cpp_a7d4f243b9dc13ace4ef77e30dbc56f12_cgraph.svg b/db/d3f/wave__sort_8cpp_a7d4f243b9dc13ace4ef77e30dbc56f12_cgraph.svg deleted file mode 100644 index 3f3bfeedb..000000000 --- a/db/d3f/wave__sort_8cpp_a7d4f243b9dc13ace4ef77e30dbc56f12_cgraph.svg +++ /dev/null @@ -1,129 +0,0 @@ - - - - - - - - - - - - -sorting::wave_sort::waveSort - - -Node1 - - -sorting::wave_sort -::waveSort - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::vector::begin - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::vector::end - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::sort - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::swap - - - - - -Node1->Node5 - - - - - - - - - - - - - diff --git a/db/d3f/wave__sort_8cpp_a7d4f243b9dc13ace4ef77e30dbc56f12_cgraph_org.svg b/db/d3f/wave__sort_8cpp_a7d4f243b9dc13ace4ef77e30dbc56f12_cgraph_org.svg deleted file mode 100644 index c122cddd2..000000000 --- a/db/d3f/wave__sort_8cpp_a7d4f243b9dc13ace4ef77e30dbc56f12_cgraph_org.svg +++ /dev/null @@ -1,103 +0,0 @@ - - - - - - -sorting::wave_sort::waveSort - - -Node1 - - -sorting::wave_sort -::waveSort - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::vector::begin - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::vector::end - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::sort - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::swap - - - - - -Node1->Node5 - - - - - - - - diff --git a/db/d3f/wave__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map b/db/d3f/wave__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map deleted file mode 100644 index e85e01374..000000000 --- a/db/d3f/wave__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/db/d3f/wave__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 b/db/d3f/wave__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 deleted file mode 100644 index 5901bc148..000000000 --- a/db/d3f/wave__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -729fb887ee50b6291b0542ba0592a5c7 \ No newline at end of file diff --git a/db/d3f/wave__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg b/db/d3f/wave__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg deleted file mode 100644 index 2e04695b9..000000000 --- a/db/d3f/wave__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/db/d3f/wave__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg b/db/d3f/wave__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg deleted file mode 100644 index 1813bd719..000000000 --- a/db/d3f/wave__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - diff --git a/db/d3f/wave__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/db/d3f/wave__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index d5310dcf3..000000000 --- a/db/d3f/wave__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/db/d3f/wave__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/db/d3f/wave__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index 735d21a00..000000000 --- a/db/d3f/wave__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -f178a9d2df622c57e88a156f01513741 \ No newline at end of file diff --git a/db/d3f/wave__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/db/d3f/wave__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 704f255b3..000000000 --- a/db/d3f/wave__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node2->Node3 - - - - - - - - - - - - - diff --git a/db/d3f/wave__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/db/d3f/wave__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 3cfb496bb..000000000 --- a/db/d3f/wave__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node2->Node3 - - - - - - - - diff --git a/db/d3f/wave__sort_8cpp_source.html b/db/d3f/wave__sort_8cpp_source.html new file mode 100644 index 000000000..f5adfcff5 --- /dev/null +++ b/db/d3f/wave__sort_8cpp_source.html @@ -0,0 +1,210 @@ + + + + + + + + +TheAlgorithms/C++: sorting/wave_sort.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    std::vector< T > sorting::wave_sort::waveSort std::vector< T > sorting::wave_sort::waveSort (const std::vector< T > & in_arr, const std::vector< T > & in_arr,
    + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + + +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    wave_sort.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    11#include <algorithm>
    +
    12#include <cassert>
    +
    13#include <iostream>
    +
    14#include <vector>
    +
    15
    +
    20namespace sorting {
    +
    26namespace wave_sort {
    +
    33template <typename T>
    +
    +
    34std::vector<T> waveSort(const std::vector<T> &in_arr, int64_t n) {
    +
    35 std::vector<T> arr(in_arr);
    +
    36
    +
    37 for (int64_t i = 0; i < n; i++) {
    +
    38 arr[i] = in_arr[i];
    +
    39 }
    +
    40 std::sort(arr.begin(), arr.end());
    +
    41 for (int64_t i = 0; i < n - 1; i += 2) { // swap all the adjacent elements
    +
    42 std::swap(arr[i], arr[i + 1]);
    +
    43 }
    +
    44 return arr;
    +
    45}
    +
    +
    46} // namespace wave_sort
    +
    47} // namespace sorting
    +
    48
    +
    +
    53static void test() {
    +
    54 // [10, 90, 49, 2, 1, 5, 23] return [2, 1, 10, 5, 49, 23, 90]
    +
    55 std::vector<int64_t> array1 = {10, 90, 49, 2, 1, 5, 23};
    +
    56 std::cout << "Test 1... ";
    +
    57 std::vector<int64_t> arr1 = sorting::wave_sort::waveSort(array1, 7);
    +
    58 const std::vector<int64_t> o1 = {2, 1, 10, 5, 49, 23, 90};
    +
    59 assert(arr1 == o1);
    +
    60 std::cout << "passed" << std::endl;
    +
    61
    +
    62 // [1, 3, 4, 2, 7, 8] return [2, 1, 4, 3, 8, 7]
    +
    63 std::vector<int64_t> array2 = {1, 3, 4, 2, 7, 8};
    +
    64 std::cout << "Test 2... ";
    +
    65 std::vector<int64_t> arr2 = sorting::wave_sort::waveSort(array2, 6);
    +
    66 const std::vector<int64_t> o2 = {2, 1, 4, 3, 8, 7};
    +
    67 assert(arr2 == o2);
    +
    68 std::cout << "passed" << std::endl;
    +
    69
    +
    70 // [3, 3, 3, 3] return [3, 3, 3, 3]
    +
    71 std::vector<int64_t> array3 = {3, 3, 3, 3};
    +
    72 std::cout << "Test 3... ";
    +
    73 std::vector<int64_t> arr3 = sorting::wave_sort::waveSort(array3, 4);
    +
    74 const std::vector<int64_t> o3 = {3, 3, 3, 3};
    +
    75 assert(arr3 == o3);
    +
    76 std::cout << "passed" << std::endl;
    +
    77
    +
    78 // [9, 4, 6, 8, 14, 3] return [4, 3, 8, 6, 14, 9]
    +
    79 std::vector<int64_t> array4 = {9, 4, 6, 8, 14, 3};
    +
    80 std::cout << "Test 4... ";
    +
    81 std::vector<int64_t> arr4 = sorting::wave_sort::waveSort(array4, 6);
    +
    82 const std::vector<int64_t> o4 = {4, 3, 8, 6, 14, 9};
    +
    83 assert(arr4 == o4);
    +
    84 std::cout << "passed" << std::endl;
    +
    85}
    +
    +
    86
    +
    +
    91int main() {
    +
    92 test(); // run self-test implementations
    +
    93 return 0;
    +
    94}
    +
    +
    for working with vectors
    +
    Functions for the Wave sort implementation.
    +
    std::vector< T > waveSort(const std::vector< T > &in_arr, int64_t n)
    The main function implements that implements the Wave Sort algorithm.
    Definition wave_sort.cpp:34
    +
    static void test()
    Self-test implementations.
    Definition wave_sort.cpp:53
    +
    int main()
    Main function.
    Definition wave_sort.cpp:91
    +
    +
    + + + + diff --git a/db/d40/integral__approximation2_8cpp.html b/db/d40/integral__approximation2_8cpp.html index ef1a45ab2..62939cdca 100644 --- a/db/d40/integral__approximation2_8cpp.html +++ b/db/d40/integral__approximation2_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: math/integral_approximation2.cpp File Reference +TheAlgorithms/C++: math/integral_approximation2.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -127,7 +144,9 @@ Include dependency graph for integral_approximation2.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -144,10 +163,10 @@ Typedefs

    Namespaces

    namespace  math
    - + - + @@ -162,7 +181,26 @@ Functions

    In mathematics, Monte Carlo integration is a technique for numerical integration using random numbers. It is a particular Monte Carlo method that numerically computes a definite integral. While other algorithms usually evaluate the integrand at a regular grid, Monte Carlo randomly chooses points at which the integrand is evaluated. This method is particularly useful for higher-dimensional integrals.

    This implementation supports arbitrary pdfs. These pdfs are sampled using the Metropolis-Hastings algorithm. This can be swapped out by every other sampling techniques for example the inverse method. Metropolis-Hastings was chosen because it is the most general and can also be extended for a higher dimensional sampling space.

    Author
    Domenic Zingsheim
    -

    Typedef Documentation

    + +

    Definition in file integral_approximation2.cpp.

    +

    Macro Definition Documentation

    + +

    ◆ _USE_MATH_DEFINES

    + +
    +
    +

    Functions

    std::vector< double > math::monte_carlo::generate_samples (const double &start_point, const Function &pdf, const uint32_t &num_samples, const uint32_t &discard=100000)
    std::vector< double > math::monte_carlo::generate_samples (const double &start_point, const Function &pdf, const uint32_t &num_samples, const uint32_t &discard=100000)
     short-hand for std::functions used in this implementation
     
    double math::monte_carlo::integral_monte_carlo (const double &start_point, const Function &function, const Function &pdf, const uint32_t &num_samples=1000000)
    double math::monte_carlo::integral_monte_carlo (const double &start_point, const Function &function, const Function &pdf, const uint32_t &num_samples=1000000)
     Compute an approximation of an integral using Monte Carlo integration.
     
    static void test ()
    + + + +
    #define _USE_MATH_DEFINES
    +
    + +

    Definition at line 24 of file integral_approximation2.cpp.

    + +
    + +

    Typedef Documentation

    ◆ Function

    @@ -170,14 +208,15 @@ Functions
    - +
    using math::monte_carlo::Functionusing math::monte_carlo::Function
    -Initial value:
    std::function<double(
    +Initial value:
    std::function<double(
    double&)>
    -
    +

    Definition at line 46 of file integral_approximation2.cpp.

    +

    Function Documentation

    @@ -188,14 +227,14 @@ Functions
    - + - + @@ -222,22 +261,24 @@ Functions
    Returns
    A vector of size num_samples with samples distributed according to the pdf
    + +

    Definition at line 64 of file integral_approximation2.cpp.

    67 {
    -
    68 std::vector<double> samples;
    -
    69 samples.reserve(num_samples);
    +
    68 std::vector<double> samples;
    +
    69 samples.reserve(num_samples);
    70
    71 double x_t = start_point;
    72
    - - -
    75 std::normal_distribution<double> normal(0.0, 1.0);
    -
    76 generator.seed(time(nullptr));
    +
    73 std::default_random_engine generator;
    +
    74 std::uniform_real_distribution<double> uniform(0.0, 1.0);
    +
    75 std::normal_distribution<double> normal(0.0, 1.0);
    +
    76 generator.seed(time(nullptr));
    77
    78 for (uint32_t t = 0; t < num_samples + discard; ++t) {
    79 // Generate a new proposal according to some mutation strategy.
    80 // This is arbitrary and can be swapped.
    81 double x_dash = normal(generator) + x_t;
    -
    82 double acceptance_probability = std::min(pdf(x_dash) / pdf(x_t), 1.0);
    +
    82 double acceptance_probability = std::min(pdf(x_dash) / pdf(x_t), 1.0);
    83 double u = uniform(generator);
    84
    85 // Accept "new state" according to the acceptance_probability
    @@ -246,26 +287,13 @@ Functions
    88 }
    89
    90 if (t >= discard) {
    -
    91 samples.push_back(x_t);
    +
    91 samples.push_back(x_t);
    92 }
    93 }
    94
    95 return samples;
    96}
    -
    T min(T... args)
    - -
    T push_back(T... args)
    - -
    T reserve(T... args)
    -
    T time(T... args)
    - - -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -282,12 +310,12 @@ Here is the call graph for this function: - + - + @@ -308,9 +336,11 @@ Here is the call graph for this function:
    Returns
    The approximation of the integral according to 1/N \sum_{i}^N f(x_i) / p(x_i)
    + +

    Definition at line 112 of file integral_approximation2.cpp.

    114 {
    115 double integral = 0.0;
    -
    116 std::vector<double> samples =
    +
    116 std::vector<double> samples =
    117 generate_samples(start_point, pdf, num_samples);
    118
    119 for (double sample : samples) {
    @@ -319,13 +349,8 @@ Here is the call graph for this function:
    122
    123 return integral / static_cast<double>(samples.size());
    124}
    -
    std::vector< double > generate_samples(const double &start_point, const Function &pdf, const uint32_t &num_samples, const uint32_t &discard=100000)
    short-hand for std::functions used in this implementation
    Definition integral_approximation2.cpp:64
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    std::vector< double > generate_samples(const double &start_point, const Function &pdf, const uint32_t &num_samples, const uint32_t &discard=100000)
    short-hand for std::functions used in this implementation
    + @@ -345,17 +370,14 @@ Here is the call graph for this function:

    Main function.

    Returns
    0 on exit
    + +

    Definition at line 215 of file integral_approximation2.cpp.

    215 {
    216 test(); // run self-test implementations
    217 return 0;
    218}
    -
    static void test()
    Self-test implementations.
    Definition integral_approximation2.cpp:133
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static void test()
    Self-test implementations.
    + @@ -383,25 +405,27 @@ Here is the call graph for this function:

    Self-test implementations.

    Returns
    void
    + +

    Definition at line 133 of file integral_approximation2.cpp.

    133 {
    -
    134 std::cout << "Disclaimer: Because this is a randomized algorithm,"
    -
    135 << std::endl;
    - +
    134 std::cout << "Disclaimer: Because this is a randomized algorithm,"
    +
    135 << std::endl;
    +
    136 std::cout
    137 << "it may happen that singular samples deviate from the true result."
    -
    138 << std::endl
    -
    139 << std::endl;
    +
    138 << std::endl
    +
    139 << std::endl;
    140 ;
    141
    - - +
    142 math::monte_carlo::Function f;
    +
    143 math::monte_carlo::Function pdf;
    144 double integral = 0;
    -
    145 double lower_bound = 0, upper_bound = 0;
    +
    145 double lower_bound = 0, upper_bound = 0;
    146
    147 /* \int_{-2}^{2} -x^2 + 4 dx */
    148 f = [&](double& x) { return -x * x + 4.0; };
    149
    -
    150 lower_bound = -2.0;
    -
    151 upper_bound = 2.0;
    +
    150 lower_bound = -2.0;
    +
    151 upper_bound = 2.0;
    152 pdf = [&](double& x) {
    153 if (x >= lower_bound && x <= -1.0) {
    154 return 0.1;
    @@ -418,14 +442,14 @@ Here is the call graph for this function:
    166 (upper_bound - lower_bound) / 2.0, f, pdf);
    167
    -
    168 std::cout << "This number should be close to 10.666666: " << integral
    -
    169 << std::endl;
    +
    168 std::cout << "This number should be close to 10.666666: " << integral
    +
    169 << std::endl;
    170
    171 /* \int_{0}^{1} e^x dx */
    -
    172 f = [&](double& x) { return std::exp(x); };
    +
    172 f = [&](double& x) { return std::exp(x); };
    173
    -
    174 lower_bound = 0.0;
    -
    175 upper_bound = 1.0;
    +
    174 lower_bound = 0.0;
    +
    175 upper_bound = 1.0;
    176 pdf = [&](double& x) {
    177 if (x >= lower_bound && x <= 0.2) {
    178 return 0.1;
    @@ -442,39 +466,27 @@ Here is the call graph for this function:
    190 (upper_bound - lower_bound) / 2.0, f, pdf);
    191
    -
    192 std::cout << "This number should be close to 1.7182818: " << integral
    -
    193 << std::endl;
    +
    192 std::cout << "This number should be close to 1.7182818: " << integral
    +
    193 << std::endl;
    194
    195 /* \int_{-\infty}^{\infty} sinc(x) dx, sinc(x) = sin(pi * x) / (pi * x)
    196 This is a difficult integral because of its infinite domain.
    197 Therefore, it may deviate largely from the expected result.
    198 */
    -
    199 f = [&](double& x) { return std::sin(M_PI * x) / (M_PI * x); };
    +
    199 f = [&](double& x) { return std::sin(M_PI * x) / (M_PI * x); };
    200
    201 pdf = [&](double& x) {
    -
    202 return 1.0 / std::sqrt(2.0 * M_PI) * std::exp(-x * x / 2.0);
    +
    202 return 1.0 / std::sqrt(2.0 * M_PI) * std::exp(-x * x / 2.0);
    203 };
    204
    205 integral = math::monte_carlo::integral_monte_carlo(0.0, f, pdf, 10000000);
    206
    -
    207 std::cout << "This number should be close to 1.0: " << integral
    -
    208 << std::endl;
    +
    207 std::cout << "This number should be close to 1.0: " << integral
    +
    208 << std::endl;
    209}
    - -
    double f(double x)
    A function f(x) that will be used to test the method.
    Definition composite_simpson_rule.cpp:113
    -
    T endl(T... args)
    -
    T exp(T... args)
    -
    double integral_monte_carlo(const double &start_point, const Function &function, const Function &pdf, const uint32_t &num_samples=1000000)
    Compute an approximation of an integral using Monte Carlo integration.
    Definition integral_approximation2.cpp:112
    -
    T lower_bound(T... args)
    -
    T sin(T... args)
    -
    T sqrt(T... args)
    -
    T upper_bound(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    double f(double x)
    A function f(x) that will be used to test the method.
    +
    double integral_monte_carlo(const double &start_point, const Function &function, const Function &pdf, const uint32_t &num_samples=1000000)
    Compute an approximation of an integral using Monte Carlo integration.
    + diff --git a/db/d40/integral__approximation2_8cpp_a71249ee535f16f8ed2e9cc8f0199a2cf_cgraph.map b/db/d40/integral__approximation2_8cpp_a71249ee535f16f8ed2e9cc8f0199a2cf_cgraph.map deleted file mode 100644 index c526bfe93..000000000 --- a/db/d40/integral__approximation2_8cpp_a71249ee535f16f8ed2e9cc8f0199a2cf_cgraph.map +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/db/d40/integral__approximation2_8cpp_a71249ee535f16f8ed2e9cc8f0199a2cf_cgraph.md5 b/db/d40/integral__approximation2_8cpp_a71249ee535f16f8ed2e9cc8f0199a2cf_cgraph.md5 deleted file mode 100644 index 9bc382ed5..000000000 --- a/db/d40/integral__approximation2_8cpp_a71249ee535f16f8ed2e9cc8f0199a2cf_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -6e59671e4799cabb0ddcc6bb203b23ff \ No newline at end of file diff --git a/db/d40/integral__approximation2_8cpp_a71249ee535f16f8ed2e9cc8f0199a2cf_cgraph.svg b/db/d40/integral__approximation2_8cpp_a71249ee535f16f8ed2e9cc8f0199a2cf_cgraph.svg deleted file mode 100644 index 66686ce84..000000000 --- a/db/d40/integral__approximation2_8cpp_a71249ee535f16f8ed2e9cc8f0199a2cf_cgraph.svg +++ /dev/null @@ -1,111 +0,0 @@ - - - - - - - - - - - - -math::monte_carlo::generate_samples - - -Node1 - - -math::monte_carlo:: -generate_samples - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::min - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::vector::push_back - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::vector::reserve - - - - - -Node1->Node4 - - - - - - - - - - - - - diff --git a/db/d40/integral__approximation2_8cpp_a71249ee535f16f8ed2e9cc8f0199a2cf_cgraph_org.svg b/db/d40/integral__approximation2_8cpp_a71249ee535f16f8ed2e9cc8f0199a2cf_cgraph_org.svg deleted file mode 100644 index b3bfae277..000000000 --- a/db/d40/integral__approximation2_8cpp_a71249ee535f16f8ed2e9cc8f0199a2cf_cgraph_org.svg +++ /dev/null @@ -1,85 +0,0 @@ - - - - - - -math::monte_carlo::generate_samples - - -Node1 - - -math::monte_carlo:: -generate_samples - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::min - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::vector::push_back - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::vector::reserve - - - - - -Node1->Node4 - - - - - - - - diff --git a/db/d40/integral__approximation2_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map b/db/d40/integral__approximation2_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map deleted file mode 100644 index e890aa115..000000000 --- a/db/d40/integral__approximation2_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/db/d40/integral__approximation2_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 b/db/d40/integral__approximation2_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 deleted file mode 100644 index 1a52531fc..000000000 --- a/db/d40/integral__approximation2_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -f7c52ce989430da0ad39e012eb8f3633 \ No newline at end of file diff --git a/db/d40/integral__approximation2_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg b/db/d40/integral__approximation2_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg deleted file mode 100644 index 5c54917e4..000000000 --- a/db/d40/integral__approximation2_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg +++ /dev/null @@ -1,119 +0,0 @@ - - - - - - - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::exp - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::sin - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::sqrt - - - - - -Node1->Node5 - - - - - - - - - - - - - diff --git a/db/d40/integral__approximation2_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg b/db/d40/integral__approximation2_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg deleted file mode 100644 index 4d6786e1a..000000000 --- a/db/d40/integral__approximation2_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg +++ /dev/null @@ -1,93 +0,0 @@ - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::exp - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::sin - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::sqrt - - - - - -Node1->Node5 - - - - - - - - diff --git a/db/d40/integral__approximation2_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/db/d40/integral__approximation2_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 110429a02..000000000 --- a/db/d40/integral__approximation2_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - diff --git a/db/d40/integral__approximation2_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/db/d40/integral__approximation2_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index 14e03729a..000000000 --- a/db/d40/integral__approximation2_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -99eced2e92c4878ee05448ada282565d \ No newline at end of file diff --git a/db/d40/integral__approximation2_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/db/d40/integral__approximation2_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index f409a0fc2..000000000 --- a/db/d40/integral__approximation2_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,137 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::exp - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -std::sin - - - - - -Node2->Node5 - - - - - - - - -Node6 - - -std::sqrt - - - - - -Node2->Node6 - - - - - - - - - - - - - diff --git a/db/d40/integral__approximation2_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/db/d40/integral__approximation2_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index cf4030745..000000000 --- a/db/d40/integral__approximation2_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,111 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::exp - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -std::sin - - - - - -Node2->Node5 - - - - - - - - -Node6 - - -std::sqrt - - - - - -Node2->Node6 - - - - - - - - diff --git a/db/d40/integral__approximation2_8cpp_af7da9ba8932f1f48b9bbc2d80471af51_cgraph.map b/db/d40/integral__approximation2_8cpp_af7da9ba8932f1f48b9bbc2d80471af51_cgraph.map deleted file mode 100644 index 1031a1269..000000000 --- a/db/d40/integral__approximation2_8cpp_af7da9ba8932f1f48b9bbc2d80471af51_cgraph.map +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/db/d40/integral__approximation2_8cpp_af7da9ba8932f1f48b9bbc2d80471af51_cgraph.md5 b/db/d40/integral__approximation2_8cpp_af7da9ba8932f1f48b9bbc2d80471af51_cgraph.md5 deleted file mode 100644 index 38a10defe..000000000 --- a/db/d40/integral__approximation2_8cpp_af7da9ba8932f1f48b9bbc2d80471af51_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -0483166e6298ee719c0e4bfa270c14d8 \ No newline at end of file diff --git a/db/d40/integral__approximation2_8cpp_af7da9ba8932f1f48b9bbc2d80471af51_cgraph.svg b/db/d40/integral__approximation2_8cpp_af7da9ba8932f1f48b9bbc2d80471af51_cgraph.svg deleted file mode 100644 index c77597fef..000000000 --- a/db/d40/integral__approximation2_8cpp_af7da9ba8932f1f48b9bbc2d80471af51_cgraph.svg +++ /dev/null @@ -1,157 +0,0 @@ - - - - - - - - - - - - -math::monte_carlo::integral_monte_carlo - - -Node1 - - -math::monte_carlo:: -integral_monte_carlo - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -math::monte_carlo:: -generate_samples - - - - - -Node1->Node2 - - - - - - - - -Node6 - - -std::vector::size - - - - - -Node1->Node6 - - - - - - - - -Node2->Node2 - - - - - - - - -Node3 - - -std::min - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::vector::push_back - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -std::vector::reserve - - - - - -Node2->Node5 - - - - - - - - - - - - - diff --git a/db/d40/integral__approximation2_8cpp_af7da9ba8932f1f48b9bbc2d80471af51_cgraph_org.svg b/db/d40/integral__approximation2_8cpp_af7da9ba8932f1f48b9bbc2d80471af51_cgraph_org.svg deleted file mode 100644 index a1328e500..000000000 --- a/db/d40/integral__approximation2_8cpp_af7da9ba8932f1f48b9bbc2d80471af51_cgraph_org.svg +++ /dev/null @@ -1,131 +0,0 @@ - - - - - - -math::monte_carlo::integral_monte_carlo - - -Node1 - - -math::monte_carlo:: -integral_monte_carlo - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -math::monte_carlo:: -generate_samples - - - - - -Node1->Node2 - - - - - - - - -Node6 - - -std::vector::size - - - - - -Node1->Node6 - - - - - - - - -Node2->Node2 - - - - - - - - -Node3 - - -std::min - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::vector::push_back - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -std::vector::reserve - - - - - -Node2->Node5 - - - - - - - - diff --git a/db/d40/integral__approximation2_8cpp_source.html b/db/d40/integral__approximation2_8cpp_source.html new file mode 100644 index 000000000..fecbd878f --- /dev/null +++ b/db/d40/integral__approximation2_8cpp_source.html @@ -0,0 +1,300 @@ + + + + + + + + +TheAlgorithms/C++: math/integral_approximation2.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    std::vector< double > math::monte_carlo::generate_samples std::vector< double > math::monte_carlo::generate_samples ( const double & start_point,
    const Function & pdf, const Function & pdf,
    const Function & function, const Function & function,
    const Function & pdf, const Function & pdf,
    + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + + +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    integral_approximation2.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    24#define _USE_MATH_DEFINES
    +
    25#include <cmath>
    +
    26#include <cstdint>
    +
    27#include <ctime>
    +
    28#include <functional>
    +
    29#include <iostream>
    +
    30#include <random>
    +
    31#include <vector>
    +
    32
    +
    37namespace math {
    +
    44namespace monte_carlo {
    +
    45
    +
    46using Function = std::function<double(
    +
    47 double&)>;
    +
    48
    +
    +
    64std::vector<double> generate_samples(const double& start_point,
    +
    65 const Function& pdf,
    +
    66 const uint32_t& num_samples,
    +
    67 const uint32_t& discard = 100000) {
    +
    68 std::vector<double> samples;
    +
    69 samples.reserve(num_samples);
    +
    70
    +
    71 double x_t = start_point;
    +
    72
    +
    73 std::default_random_engine generator;
    +
    74 std::uniform_real_distribution<double> uniform(0.0, 1.0);
    +
    75 std::normal_distribution<double> normal(0.0, 1.0);
    +
    76 generator.seed(time(nullptr));
    +
    77
    +
    78 for (uint32_t t = 0; t < num_samples + discard; ++t) {
    +
    79 // Generate a new proposal according to some mutation strategy.
    +
    80 // This is arbitrary and can be swapped.
    +
    81 double x_dash = normal(generator) + x_t;
    +
    82 double acceptance_probability = std::min(pdf(x_dash) / pdf(x_t), 1.0);
    +
    83 double u = uniform(generator);
    +
    84
    +
    85 // Accept "new state" according to the acceptance_probability
    +
    86 if (u <= acceptance_probability) {
    +
    87 x_t = x_dash;
    +
    88 }
    +
    89
    +
    90 if (t >= discard) {
    +
    91 samples.push_back(x_t);
    +
    92 }
    +
    93 }
    +
    94
    +
    95 return samples;
    +
    96}
    +
    +
    97
    +
    +
    112double integral_monte_carlo(const double& start_point, const Function& function,
    +
    113 const Function& pdf,
    +
    114 const uint32_t& num_samples = 1000000) {
    +
    115 double integral = 0.0;
    +
    116 std::vector<double> samples =
    +
    117 generate_samples(start_point, pdf, num_samples);
    +
    118
    +
    119 for (double sample : samples) {
    +
    120 integral += function(sample) / pdf(sample);
    +
    121 }
    +
    122
    +
    123 return integral / static_cast<double>(samples.size());
    +
    124}
    +
    +
    125
    +
    126} // namespace monte_carlo
    +
    127} // namespace math
    +
    128
    +
    +
    133static void test() {
    +
    134 std::cout << "Disclaimer: Because this is a randomized algorithm,"
    +
    135 << std::endl;
    +
    136 std::cout
    +
    137 << "it may happen that singular samples deviate from the true result."
    +
    138 << std::endl
    +
    139 << std::endl;
    +
    140 ;
    +
    141
    +
    142 math::monte_carlo::Function f;
    +
    143 math::monte_carlo::Function pdf;
    +
    144 double integral = 0;
    +
    145 double lower_bound = 0, upper_bound = 0;
    +
    146
    +
    147 /* \int_{-2}^{2} -x^2 + 4 dx */
    +
    148 f = [&](double& x) { return -x * x + 4.0; };
    +
    149
    +
    150 lower_bound = -2.0;
    +
    151 upper_bound = 2.0;
    +
    152 pdf = [&](double& x) {
    +
    153 if (x >= lower_bound && x <= -1.0) {
    +
    154 return 0.1;
    +
    155 }
    +
    156 if (x <= upper_bound && x >= 1.0) {
    +
    157 return 0.1;
    +
    158 }
    +
    159 if (x > -1.0 && x < 1.0) {
    +
    160 return 0.4;
    +
    161 }
    +
    162 return 0.0;
    +
    163 };
    +
    164
    +
    165 integral = math::monte_carlo::integral_monte_carlo(
    +
    166 (upper_bound - lower_bound) / 2.0, f, pdf);
    +
    167
    +
    168 std::cout << "This number should be close to 10.666666: " << integral
    +
    169 << std::endl;
    +
    170
    +
    171 /* \int_{0}^{1} e^x dx */
    +
    172 f = [&](double& x) { return std::exp(x); };
    +
    173
    +
    174 lower_bound = 0.0;
    +
    175 upper_bound = 1.0;
    +
    176 pdf = [&](double& x) {
    +
    177 if (x >= lower_bound && x <= 0.2) {
    +
    178 return 0.1;
    +
    179 }
    +
    180 if (x > 0.2 && x <= 0.4) {
    +
    181 return 0.4;
    +
    182 }
    +
    183 if (x > 0.4 && x < upper_bound) {
    +
    184 return 1.5;
    +
    185 }
    +
    186 return 0.0;
    +
    187 };
    +
    188
    +
    189 integral = math::monte_carlo::integral_monte_carlo(
    +
    190 (upper_bound - lower_bound) / 2.0, f, pdf);
    +
    191
    +
    192 std::cout << "This number should be close to 1.7182818: " << integral
    +
    193 << std::endl;
    +
    194
    +
    195 /* \int_{-\infty}^{\infty} sinc(x) dx, sinc(x) = sin(pi * x) / (pi * x)
    +
    196 This is a difficult integral because of its infinite domain.
    +
    197 Therefore, it may deviate largely from the expected result.
    +
    198 */
    +
    199 f = [&](double& x) { return std::sin(M_PI * x) / (M_PI * x); };
    +
    200
    +
    201 pdf = [&](double& x) {
    +
    202 return 1.0 / std::sqrt(2.0 * M_PI) * std::exp(-x * x / 2.0);
    +
    203 };
    +
    204
    +
    205 integral = math::monte_carlo::integral_monte_carlo(0.0, f, pdf, 10000000);
    +
    206
    +
    207 std::cout << "This number should be close to 1.0: " << integral
    +
    208 << std::endl;
    +
    209}
    +
    +
    210
    +
    +
    215int main() {
    +
    216 test(); // run self-test implementations
    +
    217 return 0;
    +
    218}
    +
    +
    std::vector< double > generate_samples(const double &start_point, const Function &pdf, const uint32_t &num_samples, const uint32_t &discard=100000)
    short-hand for std::functions used in this implementation
    +
    static void test()
    Self-test implementations.
    +
    int main()
    Main function.
    +
    double integral_monte_carlo(const double &start_point, const Function &function, const Function &pdf, const uint32_t &num_samples=1000000)
    Compute an approximation of an integral using Monte Carlo integration.
    +
    for assert
    +
    Functions for the Monte Carlo Integration implementation.
    +
    +
    + + + + diff --git a/db/d5b/structdata__structures_1_1stack__using__queue_1_1_stack.html b/db/d5b/structdata__structures_1_1stack__using__queue_1_1_stack.html index e05df6efa..d90abd52c 100644 --- a/db/d5b/structdata__structures_1_1stack__using__queue_1_1_stack.html +++ b/db/d5b/structdata__structures_1_1stack__using__queue_1_1_stack.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: data_structures::stack_using_queue::Stack Struct Reference +TheAlgorithms/C++: data_structures::stack_using_queue::Stack Struct Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -117,7 +134,7 @@ $(function(){initNavTree('db/d5b/structdata__structures_1_1stack__using__queue_1
    Collaboration diagram for data_structures::stack_using_queue::Stack:
    -
    +
    [legend]
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++

    @@ -136,19 +153,19 @@ Public Member Functions

    - - + + - + - - + +

    Public Attributes

    -std::queue< int64_t > main_q
     stores the current state of the stack
    std::queue< int64_t > main_q
     stores the current state of the stack
     
    std::queue< int64_t > auxiliary_q
    std::queue< int64_t > auxiliary_q
     
    -uint32_t current_size = 0
     stores the current size of the stack
    uint32_t current_size = 0
     stores the current size of the stack
     

    Detailed Description

    Stack Class implementation for basic methods of Stack Data Structure.

    + +

    Definition at line 31 of file stack_using_queue.cpp.

    Member Function Documentation

    ◆ pop()

    @@ -175,23 +192,18 @@ uint32_t current_size

    Removes the topmost element from the stack.

    Returns
    void
    + +

    Definition at line 62 of file stack_using_queue.cpp.

    62 {
    -
    63 if (main_q.empty()) {
    +
    63 if (main_q.empty()) {
    64 return;
    65 }
    -
    66 main_q.pop();
    +
    66 main_q.pop();
    68 }
    -
    T empty(T... args)
    -
    T pop(T... args)
    -
    std::queue< int64_t > main_q
    stores the current state of the stack
    Definition stack_using_queue.cpp:32
    -
    uint32_t current_size
    stores the current size of the stack
    Definition stack_using_queue.cpp:35
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    std::queue< int64_t > main_q
    stores the current state of the stack
    +
    uint32_t current_size
    stores the current size of the stack
    +
    @@ -225,25 +237,19 @@ Here is the call graph for this function:
    Returns
    void
    + +

    Definition at line 48 of file stack_using_queue.cpp.

    48 {
    -
    49 auxiliary_q.push(val);
    -
    50 while (!main_q.empty()) {
    - -
    52 main_q.pop();
    +
    49 auxiliary_q.push(val);
    +
    50 while (!main_q.empty()) {
    +
    51 auxiliary_q.push(main_q.front());
    +
    52 main_q.pop();
    53 }
    - +
    54 swap(main_q, auxiliary_q);
    56 }
    -
    T front(T... args)
    -
    T push(T... args)
    -
    std::queue< int64_t > auxiliary_q
    Definition stack_using_queue.cpp:33
    -
    T swap(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + + @@ -271,6 +277,8 @@ Here is the call graph for this function:

    Utility function to return the current size of the stack.

    Returns
    current size of stack
    + +

    Definition at line 74 of file stack_using_queue.cpp.

    74{ return current_size; }
    @@ -298,13 +306,10 @@ Here is the call graph for this function:

    Returns the top most element of the stack

    Returns
    top element of the queue
    -
    41{ return main_q.front(); }
    -
    -Here is the call graph for this function:
    -
    -
    -
    +

    Definition at line 41 of file stack_using_queue.cpp.

    +
    41{ return main_q.front(); }
    +

    Member Data Documentation

    @@ -315,16 +320,54 @@ Here is the call graph for this function:
    - +
    std::queue<int64_t> data_structures::stack_using_queue::Stack::auxiliary_qstd::queue<int64_t> data_structures::stack_using_queue::Stack::auxiliary_q

    used to carry out intermediate operations to implement stack

    +

    Definition at line 33 of file stack_using_queue.cpp.

    + +
    + + +

    ◆ current_size

    + +
    +
    + + + + +
    uint32_t data_structures::stack_using_queue::Stack::current_size = 0
    +
    + +

    stores the current size of the stack

    + +

    Definition at line 35 of file stack_using_queue.cpp.

    + +
    +
    + +

    ◆ main_q

    + +
    +
    + + + + +
    std::queue<int64_t> data_structures::stack_using_queue::Stack::main_q
    +
    + +

    stores the current state of the stack

    + +

    Definition at line 32 of file stack_using_queue.cpp.

    +

    The documentation for this struct was generated from the following file: diff --git a/db/d5b/structdata__structures_1_1stack__using__queue_1_1_stack_a5540434e1b41245205eee86f664906f7_cgraph.map b/db/d5b/structdata__structures_1_1stack__using__queue_1_1_stack_a5540434e1b41245205eee86f664906f7_cgraph.map deleted file mode 100644 index 5eb6712f1..000000000 --- a/db/d5b/structdata__structures_1_1stack__using__queue_1_1_stack_a5540434e1b41245205eee86f664906f7_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/db/d5b/structdata__structures_1_1stack__using__queue_1_1_stack_a5540434e1b41245205eee86f664906f7_cgraph.md5 b/db/d5b/structdata__structures_1_1stack__using__queue_1_1_stack_a5540434e1b41245205eee86f664906f7_cgraph.md5 deleted file mode 100644 index 2d7418b63..000000000 --- a/db/d5b/structdata__structures_1_1stack__using__queue_1_1_stack_a5540434e1b41245205eee86f664906f7_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -b68e250986a42b2152ab3bae5043d846 \ No newline at end of file diff --git a/db/d5b/structdata__structures_1_1stack__using__queue_1_1_stack_a5540434e1b41245205eee86f664906f7_cgraph.svg b/db/d5b/structdata__structures_1_1stack__using__queue_1_1_stack_a5540434e1b41245205eee86f664906f7_cgraph.svg deleted file mode 100644 index 1ac120b05..000000000 --- a/db/d5b/structdata__structures_1_1stack__using__queue_1_1_stack_a5540434e1b41245205eee86f664906f7_cgraph.svg +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - - - - - - - -data_structures::stack_using_queue::Stack::top - - -Node1 - - -data_structures::stack -_using_queue::Stack::top - - - - - -Node2 - - -std::queue::front - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/db/d5b/structdata__structures_1_1stack__using__queue_1_1_stack_a5540434e1b41245205eee86f664906f7_cgraph_org.svg b/db/d5b/structdata__structures_1_1stack__using__queue_1_1_stack_a5540434e1b41245205eee86f664906f7_cgraph_org.svg deleted file mode 100644 index eeb96e0bd..000000000 --- a/db/d5b/structdata__structures_1_1stack__using__queue_1_1_stack_a5540434e1b41245205eee86f664906f7_cgraph_org.svg +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - -data_structures::stack_using_queue::Stack::top - - -Node1 - - -data_structures::stack -_using_queue::Stack::top - - - - - -Node2 - - -std::queue::front - - - - - -Node1->Node2 - - - - - - - - diff --git a/db/d5b/structdata__structures_1_1stack__using__queue_1_1_stack_abdd461689df4983a3ad3b05d853cf5eb_cgraph.map b/db/d5b/structdata__structures_1_1stack__using__queue_1_1_stack_abdd461689df4983a3ad3b05d853cf5eb_cgraph.map deleted file mode 100644 index f6c95915c..000000000 --- a/db/d5b/structdata__structures_1_1stack__using__queue_1_1_stack_abdd461689df4983a3ad3b05d853cf5eb_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/db/d5b/structdata__structures_1_1stack__using__queue_1_1_stack_abdd461689df4983a3ad3b05d853cf5eb_cgraph.md5 b/db/d5b/structdata__structures_1_1stack__using__queue_1_1_stack_abdd461689df4983a3ad3b05d853cf5eb_cgraph.md5 deleted file mode 100644 index c658d3ce4..000000000 --- a/db/d5b/structdata__structures_1_1stack__using__queue_1_1_stack_abdd461689df4983a3ad3b05d853cf5eb_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -63f182dc7bc5944d594bac16a59bedfc \ No newline at end of file diff --git a/db/d5b/structdata__structures_1_1stack__using__queue_1_1_stack_abdd461689df4983a3ad3b05d853cf5eb_cgraph.svg b/db/d5b/structdata__structures_1_1stack__using__queue_1_1_stack_abdd461689df4983a3ad3b05d853cf5eb_cgraph.svg deleted file mode 100644 index 67e856582..000000000 --- a/db/d5b/structdata__structures_1_1stack__using__queue_1_1_stack_abdd461689df4983a3ad3b05d853cf5eb_cgraph.svg +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - - - - - -data_structures::stack_using_queue::Stack::pop - - -Node1 - - -data_structures::stack -_using_queue::Stack::pop - - - - - -Node2 - - -std::queue::empty - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::queue::pop - - - - - -Node1->Node3 - - - - - - - - - - - - - diff --git a/db/d5b/structdata__structures_1_1stack__using__queue_1_1_stack_abdd461689df4983a3ad3b05d853cf5eb_cgraph_org.svg b/db/d5b/structdata__structures_1_1stack__using__queue_1_1_stack_abdd461689df4983a3ad3b05d853cf5eb_cgraph_org.svg deleted file mode 100644 index df49f0e03..000000000 --- a/db/d5b/structdata__structures_1_1stack__using__queue_1_1_stack_abdd461689df4983a3ad3b05d853cf5eb_cgraph_org.svg +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - -data_structures::stack_using_queue::Stack::pop - - -Node1 - - -data_structures::stack -_using_queue::Stack::pop - - - - - -Node2 - - -std::queue::empty - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::queue::pop - - - - - -Node1->Node3 - - - - - - - - diff --git a/db/d5b/structdata__structures_1_1stack__using__queue_1_1_stack_af04a8f3536a52d8c9916086b656eefc2_cgraph.map b/db/d5b/structdata__structures_1_1stack__using__queue_1_1_stack_af04a8f3536a52d8c9916086b656eefc2_cgraph.map deleted file mode 100644 index c712febed..000000000 --- a/db/d5b/structdata__structures_1_1stack__using__queue_1_1_stack_af04a8f3536a52d8c9916086b656eefc2_cgraph.map +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/db/d5b/structdata__structures_1_1stack__using__queue_1_1_stack_af04a8f3536a52d8c9916086b656eefc2_cgraph.md5 b/db/d5b/structdata__structures_1_1stack__using__queue_1_1_stack_af04a8f3536a52d8c9916086b656eefc2_cgraph.md5 deleted file mode 100644 index 5ef981c30..000000000 --- a/db/d5b/structdata__structures_1_1stack__using__queue_1_1_stack_af04a8f3536a52d8c9916086b656eefc2_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -cc8bb8efb3ddbc23ab8df81cc7854e37 \ No newline at end of file diff --git a/db/d5b/structdata__structures_1_1stack__using__queue_1_1_stack_af04a8f3536a52d8c9916086b656eefc2_cgraph.svg b/db/d5b/structdata__structures_1_1stack__using__queue_1_1_stack_af04a8f3536a52d8c9916086b656eefc2_cgraph.svg deleted file mode 100644 index af3d8d9ef..000000000 --- a/db/d5b/structdata__structures_1_1stack__using__queue_1_1_stack_af04a8f3536a52d8c9916086b656eefc2_cgraph.svg +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - - - - - - - -data_structures::stack_using_queue::Stack::push - - -Node1 - - -data_structures::stack -_using_queue::Stack::push - - - - - -Node2 - - -std::queue::empty - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::queue::front - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::queue::pop - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::queue::push - - - - - -Node1->Node5 - - - - - - - - - - - - - diff --git a/db/d5b/structdata__structures_1_1stack__using__queue_1_1_stack_af04a8f3536a52d8c9916086b656eefc2_cgraph_org.svg b/db/d5b/structdata__structures_1_1stack__using__queue_1_1_stack_af04a8f3536a52d8c9916086b656eefc2_cgraph_org.svg deleted file mode 100644 index 237110b67..000000000 --- a/db/d5b/structdata__structures_1_1stack__using__queue_1_1_stack_af04a8f3536a52d8c9916086b656eefc2_cgraph_org.svg +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - -data_structures::stack_using_queue::Stack::push - - -Node1 - - -data_structures::stack -_using_queue::Stack::push - - - - - -Node2 - - -std::queue::empty - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::queue::front - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::queue::pop - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::queue::push - - - - - -Node1->Node5 - - - - - - - - diff --git a/db/d62/class_easter_year_month_day-members.html b/db/d62/class_easter_year_month_day-members.html index 88b7e7f82..81459a566 100644 --- a/db/d62/class_easter_year_month_day-members.html +++ b/db/d62/class_easter_year_month_day-members.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Member List +TheAlgorithms/C++: Member List + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/db/d66/classmath_1_1ncr__modulo__p_1_1_n_c_r_modulo_p__coll__graph.map b/db/d66/classmath_1_1ncr__modulo__p_1_1_n_c_r_modulo_p__coll__graph.map index 9fe7ce4e4..3b30a0950 100644 --- a/db/d66/classmath_1_1ncr__modulo__p_1_1_n_c_r_modulo_p__coll__graph.map +++ b/db/d66/classmath_1_1ncr__modulo__p_1_1_n_c_r_modulo_p__coll__graph.map @@ -1,7 +1,5 @@ - - - - - + + + diff --git a/db/d66/classmath_1_1ncr__modulo__p_1_1_n_c_r_modulo_p__coll__graph.md5 b/db/d66/classmath_1_1ncr__modulo__p_1_1_n_c_r_modulo_p__coll__graph.md5 index dd23966a2..0d27973da 100644 --- a/db/d66/classmath_1_1ncr__modulo__p_1_1_n_c_r_modulo_p__coll__graph.md5 +++ b/db/d66/classmath_1_1ncr__modulo__p_1_1_n_c_r_modulo_p__coll__graph.md5 @@ -1 +1 @@ -a4f915c326bfb68f957e0df8cc1226e7 \ No newline at end of file +a7f650c577dde9d58c7239a706f0ce3c \ No newline at end of file diff --git a/db/d66/classmath_1_1ncr__modulo__p_1_1_n_c_r_modulo_p__coll__graph.svg b/db/d66/classmath_1_1ncr__modulo__p_1_1_n_c_r_modulo_p__coll__graph.svg index d9de30083..cd1a99965 100644 --- a/db/d66/classmath_1_1ncr__modulo__p_1_1_n_c_r_modulo_p__coll__graph.svg +++ b/db/d66/classmath_1_1ncr__modulo__p_1_1_n_c_r_modulo_p__coll__graph.svg @@ -4,8 +4,8 @@ - + @@ -17,7 +17,7 @@ ]]> - + math::ncr_modulo_p::NCRModuloP @@ -32,7 +32,7 @@ Node2 - + std::vector< int64_t > @@ -48,25 +48,6 @@ fac - - -Node3 - - -std::int64_t - - - - - -Node3->Node2 - - - - - - elements - diff --git a/db/d66/classmath_1_1ncr__modulo__p_1_1_n_c_r_modulo_p__coll__graph_org.svg b/db/d66/classmath_1_1ncr__modulo__p_1_1_n_c_r_modulo_p__coll__graph_org.svg index 5c2bf6d7b..b676f1517 100644 --- a/db/d66/classmath_1_1ncr__modulo__p_1_1_n_c_r_modulo_p__coll__graph_org.svg +++ b/db/d66/classmath_1_1ncr__modulo__p_1_1_n_c_r_modulo_p__coll__graph_org.svg @@ -4,9 +4,9 @@ - - + + math::ncr_modulo_p::NCRModuloP @@ -21,7 +21,7 @@ Node2 - + std::vector< int64_t > @@ -37,24 +37,5 @@ fac - - -Node3 - - -std::int64_t - - - - - -Node3->Node2 - - - - - - elements - diff --git a/db/d66/struct_item.html b/db/d66/struct_item.html index 4884cecb3..800540f2e 100644 --- a/db/d66/struct_item.html +++ b/db/d66/struct_item.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Item Struct Reference +TheAlgorithms/C++: Item Struct Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + @@ -113,15 +130,49 @@ $(function(){initNavTree('db/d66/struct_item.html','../../'); initResizable(true
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    - + - +

    Public Attributes

    -int weight
    int weight
     
    -int profit
    int profit
     
    +

    Detailed Description

    +
    +

    Definition at line 4 of file knapsack.cpp.

    +

    Member Data Documentation

    + +

    ◆ profit

    + +
    +
    + + + + +
    int Item::profit
    +
    + +

    Definition at line 6 of file knapsack.cpp.

    + +
    +
    + +

    ◆ weight

    + +
    +
    + + + + +
    int Item::weight
    +
    + +

    Definition at line 5 of file knapsack.cpp.

    + +
    +

    The documentation for this struct was generated from the following file:
      -
    • greedy_algorithms/knapsack.cpp
    • +
    • greedy_algorithms/knapsack.cpp
    diff --git a/db/d68/structothers_1_1recursive__tree__traversals_1_1_node__coll__graph.map b/db/d68/structothers_1_1recursive__tree__traversals_1_1_node__coll__graph.map index 395f85cd7..310a4980d 100644 --- a/db/d68/structothers_1_1recursive__tree__traversals_1_1_node__coll__graph.map +++ b/db/d68/structothers_1_1recursive__tree__traversals_1_1_node__coll__graph.map @@ -1,6 +1,4 @@ - - - - + + diff --git a/db/d68/structothers_1_1recursive__tree__traversals_1_1_node__coll__graph.md5 b/db/d68/structothers_1_1recursive__tree__traversals_1_1_node__coll__graph.md5 index 54ad8b67b..ad24b7c0e 100644 --- a/db/d68/structothers_1_1recursive__tree__traversals_1_1_node__coll__graph.md5 +++ b/db/d68/structothers_1_1recursive__tree__traversals_1_1_node__coll__graph.md5 @@ -1 +1 @@ -7fea014a1b03b545b163375d893501b6 \ No newline at end of file +497fc4849cb44b66f75cc66ee5812524 \ No newline at end of file diff --git a/db/d68/structothers_1_1recursive__tree__traversals_1_1_node__coll__graph.svg b/db/d68/structothers_1_1recursive__tree__traversals_1_1_node__coll__graph.svg index a0d14f4f2..89101252d 100644 --- a/db/d68/structothers_1_1recursive__tree__traversals_1_1_node__coll__graph.svg +++ b/db/d68/structothers_1_1recursive__tree__traversals_1_1_node__coll__graph.svg @@ -4,8 +4,8 @@ - + @@ -17,7 +17,7 @@ ]]> - + others::recursive_tree_traversals::Node @@ -30,35 +30,16 @@ - + Node1->Node1 - - - + + + left right - - -Node2 - - -std::uint64_t - - - - - -Node2->Node1 - - - - - - data - diff --git a/db/d68/structothers_1_1recursive__tree__traversals_1_1_node__coll__graph_org.svg b/db/d68/structothers_1_1recursive__tree__traversals_1_1_node__coll__graph_org.svg index 6e4274dc8..78688f8c1 100644 --- a/db/d68/structothers_1_1recursive__tree__traversals_1_1_node__coll__graph_org.svg +++ b/db/d68/structothers_1_1recursive__tree__traversals_1_1_node__coll__graph_org.svg @@ -4,9 +4,9 @@ - - + + others::recursive_tree_traversals::Node @@ -19,34 +19,15 @@ - + Node1->Node1 - - - + + + left right - - -Node2 - - -std::uint64_t - - - - - -Node2->Node1 - - - - - - data - diff --git a/db/d6b/kelvin__to__celsius_8cpp.html b/db/d6b/kelvin__to__celsius_8cpp.html index 0a33c3c8c..9e21f52df 100644 --- a/db/d6b/kelvin__to__celsius_8cpp.html +++ b/db/d6b/kelvin__to__celsius_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: others/kelvin_to_celsius.cpp File Reference +TheAlgorithms/C++: others/kelvin_to_celsius.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -121,7 +138,9 @@ Include dependency graph for kelvin_to_celsius.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -153,6 +172,8 @@ Functions
  • K is the Kelvin temperature
  • Check out Kelvin and Celsius on Wikipedia for more information about their story, how do they work, when and why they should be used, etc..

    Author
    David Leal
    + +

    Definition in file kelvin_to_celsius.cpp.

    Function Documentation

    ◆ main()

    @@ -171,17 +192,14 @@ Functions

    Main function.

    Returns
    0 on exit
    + +

    Definition at line 78 of file kelvin_to_celsius.cpp.

    78 {
    79 tests(); // run self-test implementations
    80 return 0;
    81}
    -
    static void tests()
    Self-test implementations.
    Definition kelvin_to_celsius.cpp:62
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static void tests()
    Self-test implementations.
    + @@ -209,6 +227,8 @@ Here is the call graph for this function:

    Self-test implementations.

    Returns
    void
    + +

    Definition at line 62 of file kelvin_to_celsius.cpp.

    62 {
    @@ -218,17 +238,11 @@ Here is the call graph for this function:
    70
    -
    71 std::cout << "All tests have successfully passed!\n";
    +
    71 std::cout << "All tests have successfully passed!\n";
    72}
    - -
    double kelvin_to_celsius(double temperature_in_k)
    Conversion from Kelvin to Celsius algorithm.
    Definition kelvin_to_celsius.cpp:49
    -
    bool are_almost_equal(double a, double b, double absolute_tolerance=0.0001)
    Compare two floating point numbers with a certain tolerance. This is needed as with some values,...
    Definition kelvin_to_celsius.cpp:40
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    double kelvin_to_celsius(double temperature_in_k)
    Conversion from Kelvin to Celsius algorithm.
    +
    bool are_almost_equal(double a, double b, double absolute_tolerance=0.0001)
    Compare two floating point numbers with a certain tolerance. This is needed as with some values,...
    + diff --git a/db/d6b/kelvin__to__celsius_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.map b/db/d6b/kelvin__to__celsius_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.map deleted file mode 100644 index b29426624..000000000 --- a/db/d6b/kelvin__to__celsius_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/db/d6b/kelvin__to__celsius_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 b/db/d6b/kelvin__to__celsius_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 deleted file mode 100644 index 5d0c314c7..000000000 --- a/db/d6b/kelvin__to__celsius_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -1651ce05cf87a2a5228515f0aeef2511 \ No newline at end of file diff --git a/db/d6b/kelvin__to__celsius_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.svg b/db/d6b/kelvin__to__celsius_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.svg deleted file mode 100644 index 3bc7993a3..000000000 --- a/db/d6b/kelvin__to__celsius_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.svg +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - - - - - -tests - - -Node1 - - -tests - - - - - -Node2 - - -others::are_almost -_equal - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -others::kelvin_to_celsius - - - - - -Node1->Node3 - - - - - - - - - - - - - diff --git a/db/d6b/kelvin__to__celsius_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph_org.svg b/db/d6b/kelvin__to__celsius_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph_org.svg deleted file mode 100644 index 476ff9dab..000000000 --- a/db/d6b/kelvin__to__celsius_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph_org.svg +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - -tests - - -Node1 - - -tests - - - - - -Node2 - - -others::are_almost -_equal - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -others::kelvin_to_celsius - - - - - -Node1->Node3 - - - - - - - - diff --git a/db/d6b/kelvin__to__celsius_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/db/d6b/kelvin__to__celsius_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 954e1a44e..000000000 --- a/db/d6b/kelvin__to__celsius_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/db/d6b/kelvin__to__celsius_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/db/d6b/kelvin__to__celsius_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index 10a3d2875..000000000 --- a/db/d6b/kelvin__to__celsius_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -05d85dfcdfa22a24c32e461e74b14c5a \ No newline at end of file diff --git a/db/d6b/kelvin__to__celsius_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/db/d6b/kelvin__to__celsius_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 59d93832e..000000000 --- a/db/d6b/kelvin__to__celsius_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,102 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -tests - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -others::are_almost -_equal - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -others::kelvin_to_celsius - - - - - -Node2->Node4 - - - - - - - - - - - - - diff --git a/db/d6b/kelvin__to__celsius_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/db/d6b/kelvin__to__celsius_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 114ea74ea..000000000 --- a/db/d6b/kelvin__to__celsius_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -tests - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -others::are_almost -_equal - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -others::kelvin_to_celsius - - - - - -Node2->Node4 - - - - - - - - diff --git a/db/d6b/kelvin__to__celsius_8cpp_source.html b/db/d6b/kelvin__to__celsius_8cpp_source.html new file mode 100644 index 000000000..3d06464a1 --- /dev/null +++ b/db/d6b/kelvin__to__celsius_8cpp_source.html @@ -0,0 +1,185 @@ + + + + + + + + +TheAlgorithms/C++: others/kelvin_to_celsius.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    +

    Namespaces

    namespace  others
    + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + + +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    kelvin_to_celsius.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    20#include <cassert>
    +
    21#include <cmath>
    +
    22#include <iostream>
    +
    23
    +
    28namespace others {
    +
    +
    40bool are_almost_equal(double a, double b, double absolute_tolerance = 0.0001) {
    +
    41 return std::abs(a - b) < absolute_tolerance;
    +
    42}
    +
    +
    43
    +
    +
    49double kelvin_to_celsius(double temperature_in_k) {
    +
    50 const double absolute_zero_in_c = -273.15;
    +
    51 if (temperature_in_k < absolute_zero_in_c) {
    +
    52 throw std::invalid_argument("input temperature below absolute zero");
    +
    53 }
    +
    54 return temperature_in_k + absolute_zero_in_c;
    +
    55}
    +
    +
    56} // namespace others
    +
    57
    +
    +
    62static void tests() {
    + + + + + + + +
    70
    +
    71 std::cout << "All tests have successfully passed!\n";
    +
    72}
    +
    +
    73
    +
    +
    78int main() {
    +
    79 tests(); // run self-test implementations
    +
    80 return 0;
    +
    81}
    +
    +
    static void tests()
    Self-test implementations.
    +
    int main()
    Main function.
    +
    for vector
    +
    double kelvin_to_celsius(double temperature_in_k)
    Conversion from Kelvin to Celsius algorithm.
    +
    bool are_almost_equal(double a, double b, double absolute_tolerance=0.0001)
    Compare two floating point numbers with a certain tolerance. This is needed as with some values,...
    +
    +
    + + + + diff --git a/db/d6d/structstd_1_1is__unsigned_3_01uint256__t_01_4__inherit__graph.map b/db/d6d/structstd_1_1is__unsigned_3_01uint256__t_01_4__inherit__graph.map index 67a3e00d0..00e444f60 100644 --- a/db/d6d/structstd_1_1is__unsigned_3_01uint256__t_01_4__inherit__graph.map +++ b/db/d6d/structstd_1_1is__unsigned_3_01uint256__t_01_4__inherit__graph.map @@ -1,5 +1,5 @@ - + diff --git a/db/d6d/structstd_1_1is__unsigned_3_01uint256__t_01_4__inherit__graph.md5 b/db/d6d/structstd_1_1is__unsigned_3_01uint256__t_01_4__inherit__graph.md5 index 89f87ec0c..6915f6ced 100644 --- a/db/d6d/structstd_1_1is__unsigned_3_01uint256__t_01_4__inherit__graph.md5 +++ b/db/d6d/structstd_1_1is__unsigned_3_01uint256__t_01_4__inherit__graph.md5 @@ -1 +1 @@ -8a2c8d932f73b2177cbc2496a8096375 \ No newline at end of file +5da2e6ca4e559ac9044af5cacb5a1e60 \ No newline at end of file diff --git a/db/d6d/structstd_1_1is__unsigned_3_01uint256__t_01_4__inherit__graph.svg b/db/d6d/structstd_1_1is__unsigned_3_01uint256__t_01_4__inherit__graph.svg index b1edadbfb..b6a4e2c94 100644 --- a/db/d6d/structstd_1_1is__unsigned_3_01uint256__t_01_4__inherit__graph.svg +++ b/db/d6d/structstd_1_1is__unsigned_3_01uint256__t_01_4__inherit__graph.svg @@ -31,7 +31,7 @@ Node2 - + std::true_type diff --git a/db/d6d/structstd_1_1is__unsigned_3_01uint256__t_01_4__inherit__graph_org.svg b/db/d6d/structstd_1_1is__unsigned_3_01uint256__t_01_4__inherit__graph_org.svg index 6831071f6..906b30612 100644 --- a/db/d6d/structstd_1_1is__unsigned_3_01uint256__t_01_4__inherit__graph_org.svg +++ b/db/d6d/structstd_1_1is__unsigned_3_01uint256__t_01_4__inherit__graph_org.svg @@ -20,7 +20,7 @@ Node2 - + std::true_type diff --git a/db/d6f/namespaceheavy__light__decomposition.html b/db/d6f/namespaceheavy__light__decomposition.html index f85307edd..84f278c7b 100644 --- a/db/d6f/namespaceheavy__light__decomposition.html +++ b/db/d6f/namespaceheavy__light__decomposition.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: heavy_light_decomposition Namespace Reference +TheAlgorithms/C++: heavy_light_decomposition Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/db/d71/quadratic__probing__hash__table_8cpp.html b/db/d71/quadratic__probing__hash__table_8cpp.html index 83ef9e0b1..6caab37bb 100644 --- a/db/d71/quadratic__probing__hash__table_8cpp.html +++ b/db/d71/quadratic__probing__hash__table_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: hashing/quadratic_probing_hash_table.cpp File Reference +TheAlgorithms/C++: hashing/quadratic_probing_hash_table.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + @@ -123,7 +140,9 @@ Include dependency graph for quadratic_probing_hash_table.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -164,23 +183,17 @@ Functions

    Classes

    struct  quadratic_probing::Entry
    - + - + - + - + - + - +

    Variables

    -int quadratic_probing::notPresent
    int quadratic_probing::notPresent
     
    -std::vector< Entryquadratic_probing::table
    std::vector< Entryquadratic_probing::table
     
    -int quadratic_probing::totalSize
    int quadratic_probing::totalSize
     
    -int quadratic_probing::tomb = -1
    int quadratic_probing::tomb = -1
     
    -int quadratic_probing::size
    int quadratic_probing::size
     
    -bool quadratic_probing::rehashing
    bool quadratic_probing::rehashing
     

    Detailed Description

    @@ -189,6 +202,8 @@ bool quadratic_probing::re
    Krishna Vedala
    Note
    The implementation can be optimized by using OOP style.
    + +

    Definition in file quadratic_probing_hash_table.cpp.

    Function Documentation

    ◆ main()

    @@ -205,48 +220,50 @@ bool quadratic_probing::re

    Main function

    Returns
    None
    + +

    Definition at line 246 of file quadratic_probing_hash_table.cpp.

    246 {
    247 int cmd = 0, hash = 0, key = 0;
    -
    248 std::cout << "Enter the initial size of Hash Table. = ";
    -
    249 std::cin >> totalSize;
    -
    250 table = std::vector<Entry>(totalSize);
    +
    248 std::cout << "Enter the initial size of Hash Table. = ";
    +
    249 std::cin >> totalSize;
    +
    250 table = std::vector<Entry>(totalSize);
    251 bool loop = true;
    252 while (loop) {
    - -
    254 std::cout << "PLEASE CHOOSE -" << std::endl;
    -
    255 std::cout << "1. Add key. (Numeric only)" << std::endl;
    -
    256 std::cout << "2. Remove key." << std::endl;
    -
    257 std::cout << "3. Find key." << std::endl;
    -
    258 std::cout << "4. Generate Hash. (Numeric only)" << std::endl;
    -
    259 std::cout << "5. Display Hash table." << std::endl;
    -
    260 std::cout << "6. Exit." << std::endl;
    -
    261 std::cin >> cmd;
    +
    253 std::cout << std::endl;
    +
    254 std::cout << "PLEASE CHOOSE -" << std::endl;
    +
    255 std::cout << "1. Add key. (Numeric only)" << std::endl;
    +
    256 std::cout << "2. Remove key." << std::endl;
    +
    257 std::cout << "3. Find key." << std::endl;
    +
    258 std::cout << "4. Generate Hash. (Numeric only)" << std::endl;
    +
    259 std::cout << "5. Display Hash table." << std::endl;
    +
    260 std::cout << "6. Exit." << std::endl;
    +
    261 std::cin >> cmd;
    262 switch (cmd) {
    263 case 1:
    -
    264 std::cout << "Enter key to add = ";
    -
    265 std::cin >> key;
    +
    264 std::cout << "Enter key to add = ";
    +
    265 std::cin >> key;
    267 break;
    268 case 2:
    -
    269 std::cout << "Enter key to remove = ";
    -
    270 std::cin >> key;
    +
    269 std::cout << "Enter key to remove = ";
    +
    270 std::cin >> key;
    272 break;
    273 case 3: {
    -
    274 std::cout << "Enter key to search = ";
    -
    275 std::cin >> key;
    +
    274 std::cout << "Enter key to search = ";
    +
    275 std::cin >> key;
    277 quadratic_probing::table[quadratic_probing::quadraticProbe(
    278 key, true)];
    279 if (entry.key == quadratic_probing::notPresent) {
    -
    280 std::cout << "Key not present";
    +
    280 std::cout << "Key not present";
    281 }
    282 break;
    283 }
    284 case 4:
    -
    285 std::cout << "Enter element to generate hash = ";
    -
    286 std::cin >> key;
    -
    287 std::cout << "Hash of " << key
    +
    285 std::cout << "Enter element to generate hash = ";
    +
    286 std::cin >> key;
    +
    287 std::cout << "Hash of " << key
    288 << " is = " << quadratic_probing::hashFxn(key);
    289 break;
    290 case 5:
    @@ -257,28 +274,19 @@ bool quadratic_probing::re
    295 break;
    296 // delete[] table;
    297 }
    - +
    298 std::cout << std::endl;
    299 }
    300 return 0;
    301}
    - - -
    T endl(T... args)
    -
    void * hash(const std::string &message)
    Converts the string to bytestring and calls the main algorithm.
    Definition md5.cpp:288
    -
    size_t hashFxn(int key)
    Definition quadratic_probing_hash_table.cpp:46
    -
    void addInfo(int key)
    Definition quadratic_probing_hash_table.cpp:207
    -
    void display()
    Definition quadratic_probing_hash_table.cpp:142
    -
    void removalInfo(int key)
    Definition quadratic_probing_hash_table.cpp:222
    -
    int quadraticProbe(int key, bool searching)
    Definition quadratic_probing_hash_table.cpp:56
    -
    Definition quadratic_probing_hash_table.cpp:37
    -
    int key
    key value
    Definition quadratic_probing_hash_table.cpp:39
    - -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    void * hash(const std::string &message)
    Converts the string to bytestring and calls the main algorithm.
    Definition md5.cpp:288
    + + + + +
    int quadraticProbe(int key, bool searching)
    +
    +
    int key
    key value
    +
    diff --git a/db/d71/quadratic__probing__hash__table_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/db/d71/quadratic__probing__hash__table_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 8652e3a55..000000000 --- a/db/d71/quadratic__probing__hash__table_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,43 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/db/d71/quadratic__probing__hash__table_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/db/d71/quadratic__probing__hash__table_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index c0a742986..000000000 --- a/db/d71/quadratic__probing__hash__table_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -1e05e731ad82cf8a3f7a7d53c6fc0457 \ No newline at end of file diff --git a/db/d71/quadratic__probing__hash__table_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/db/d71/quadratic__probing__hash__table_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 3375ca3c2..000000000 --- a/db/d71/quadratic__probing__hash__table_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,473 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -quadratic_probing:: -addInfo - - - - - -Node1->Node2 - - - - - - - - -Node4 - - -quadratic_probing:: -quadraticProbe - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::endl - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -quadratic_probing:: -hashFxn - - - - - -Node1->Node6 - - - - - - - - -Node12 - - -quadratic_probing:: -display - - - - - -Node1->Node12 - - - - - - - - -Node13 - - -quadratic_probing:: -removalInfo - - - - - -Node1->Node13 - - - - - - - - -Node3 - - -quadratic_probing::add - - - - - -Node2->Node3 - - - - - - - - -Node2->Node5 - - - - - - - - -Node2->Node6 - - - - - - - - -Node2->Node12 - - - - - - - - -Node3->Node4 - - - - - - - - -Node11 - - -quadratic_probing:: -rehash - - - - - -Node3->Node11 - - - - - - - - -Node4->Node5 - - - - - - - - -Node4->Node6 - - - - - - - - -Node7 - - -std::pow - - - - - -Node4->Node7 - - - - - - - - -Node8 - - -quadratic_probing:: -putProber - - - - - -Node4->Node8 - - - - - - - - -Node9 - - -std::round - - - - - -Node4->Node9 - - - - - - - - -Node10 - - -quadratic_probing:: -searchingProber - - - - - -Node4->Node10 - - - - - - - - -Node11->Node3 - - - - - - - - -Node11->Node5 - - - - - - - - -Node12->Node5 - - - - - - - - -Node13->Node5 - - - - - - - - -Node13->Node6 - - - - - - - - -Node13->Node12 - - - - - - - - -Node14 - - -quadratic_probing:: -remove - - - - - -Node13->Node14 - - - - - - - - -Node14->Node4 - - - - - - - - -Node14->Node5 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/db/d71/quadratic__probing__hash__table_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/db/d71/quadratic__probing__hash__table_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 4c46edda7..000000000 --- a/db/d71/quadratic__probing__hash__table_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,390 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -quadratic_probing:: -addInfo - - - - - -Node1->Node2 - - - - - - - - -Node4 - - -quadratic_probing:: -quadraticProbe - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::endl - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -quadratic_probing:: -hashFxn - - - - - -Node1->Node6 - - - - - - - - -Node12 - - -quadratic_probing:: -display - - - - - -Node1->Node12 - - - - - - - - -Node13 - - -quadratic_probing:: -removalInfo - - - - - -Node1->Node13 - - - - - - - - -Node3 - - -quadratic_probing::add - - - - - -Node2->Node3 - - - - - - - - -Node2->Node5 - - - - - - - - -Node2->Node6 - - - - - - - - -Node2->Node12 - - - - - - - - -Node3->Node4 - - - - - - - - -Node11 - - -quadratic_probing:: -rehash - - - - - -Node3->Node11 - - - - - - - - -Node4->Node5 - - - - - - - - -Node4->Node6 - - - - - - - - -Node7 - - -std::pow - - - - - -Node4->Node7 - - - - - - - - -Node8 - - -quadratic_probing:: -putProber - - - - - -Node4->Node8 - - - - - - - - -Node9 - - -std::round - - - - - -Node4->Node9 - - - - - - - - -Node10 - - -quadratic_probing:: -searchingProber - - - - - -Node4->Node10 - - - - - - - - -Node11->Node3 - - - - - - - - -Node11->Node5 - - - - - - - - -Node12->Node5 - - - - - - - - -Node13->Node5 - - - - - - - - -Node13->Node6 - - - - - - - - -Node13->Node12 - - - - - - - - -Node14 - - -quadratic_probing:: -remove - - - - - -Node13->Node14 - - - - - - - - -Node14->Node4 - - - - - - - - -Node14->Node5 - - - - - - - - diff --git a/db/d71/quadratic__probing__hash__table_8cpp_source.html b/db/d71/quadratic__probing__hash__table_8cpp_source.html new file mode 100644 index 000000000..2043089e1 --- /dev/null +++ b/db/d71/quadratic__probing__hash__table_8cpp_source.html @@ -0,0 +1,415 @@ + + + + + + + + +TheAlgorithms/C++: hashing/quadratic_probing_hash_table.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    quadratic_probing_hash_table.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    9#include <cmath>
    +
    10#include <iostream>
    +
    11#include <vector>
    +
    12
    +
    20namespace quadratic_probing {
    +
    21// fwd declarations
    +
    22using Entry = struct Entry;
    +
    23bool putProber(const Entry& entry, int key);
    +
    24bool searchingProber(const Entry& entry, int key);
    +
    25void add(int key);
    +
    26
    +
    27// globals
    +
    28int notPresent;
    +
    29std::vector<Entry> table;
    +
    30int totalSize;
    +
    31int tomb = -1;
    +
    32int size;
    +
    33bool rehashing;
    +
    34
    +
    +
    37struct Entry {
    +
    38 explicit Entry(int key = notPresent) : key(key) {}
    +
    +
    39 int key;
    +
    40};
    +
    41
    +
    +
    46size_t hashFxn(int key) {
    +
    47 std::hash<int> hash;
    +
    48 return hash(key);
    +
    49}
    +
    +
    50
    +
    +
    56int quadraticProbe(int key, bool searching) {
    +
    57 int hash = static_cast<int>(hashFxn(key));
    +
    58 int i = 0;
    +
    59 Entry entry;
    +
    60 do {
    +
    61 size_t index =
    +
    62 (hash + static_cast<size_t>(std::round(std::pow(i, 2)))) %
    +
    63 totalSize;
    +
    64 entry = table[index];
    +
    65 if (searching) {
    +
    66 if (entry.key == notPresent) {
    +
    67 return notPresent;
    +
    68 }
    +
    69 if (searchingProber(entry, key)) {
    +
    70 std::cout << "Found key!" << std::endl;
    +
    71 return index;
    +
    72 }
    +
    73 std::cout << "Found tombstone or equal hash, checking next"
    +
    74 << std::endl;
    +
    75 i++;
    +
    76 } else {
    +
    77 if (putProber(entry, key)) {
    +
    78 if (!rehashing) {
    +
    79 std::cout << "Spot found!" << std::endl;
    +
    80 }
    +
    81 return index;
    +
    82 }
    +
    83 if (!rehashing) {
    +
    84 std::cout << "Spot taken, looking at next (next index = "
    +
    85 << (hash + static_cast<size_t>(
    +
    86 std::round(std::pow(i + 1, 2)))) %
    +
    87 totalSize
    +
    88 << std::endl;
    +
    89 }
    +
    90 i++;
    +
    91 }
    +
    92 if (i == totalSize * 100) {
    +
    93 std::cout << "Quadratic probe failed (infinite loop)" << std::endl;
    +
    94 return notPresent;
    +
    95 }
    +
    96 } while (entry.key != notPresent);
    +
    97 return notPresent;
    +
    98}
    +
    +
    99
    +
    +
    106bool putProber(const Entry& entry, int key) {
    +
    107 if (entry.key == notPresent || entry.key == tomb) {
    +
    108 return true;
    +
    109 }
    +
    110 return false;
    +
    111}
    +
    +
    112
    +
    +
    119bool searchingProber(const Entry& entry, int key) {
    +
    120 if (entry.key == key) {
    +
    121 return true;
    +
    122 }
    +
    123 return false;
    +
    124}
    +
    +
    125
    +
    +
    131Entry find(int key) {
    +
    132 int index = quadraticProbe(key, true);
    +
    133 if (index == notPresent) {
    +
    134 return Entry();
    +
    135 }
    +
    136 return table[index];
    +
    137}
    +
    +
    138
    +
    +
    142void display() {
    +
    143 for (int i = 0; i < totalSize; i++) {
    +
    144 if (table[i].key == notPresent) {
    +
    145 std::cout << " Empty ";
    +
    146 } else if (table[i].key == tomb) {
    +
    147 std::cout << " Tomb ";
    +
    148 } else {
    +
    149 std::cout << " ";
    +
    150 std::cout << table[i].key;
    +
    151 std::cout << " ";
    +
    152 }
    +
    153 }
    +
    154 std::cout << std::endl;
    +
    155}
    +
    +
    156
    +
    +
    160void rehash() {
    +
    161 // Necessary so wall of add info isn't printed all at once
    +
    162 rehashing = true;
    +
    163 int oldSize = totalSize;
    +
    164 std::vector<Entry> oldTable(table);
    +
    165 // Really this should use the next prime number greater than totalSize * 2
    +
    166 totalSize *= 2;
    +
    167 table = std::vector<Entry>(totalSize);
    +
    168 for (int i = 0; i < oldSize; i++) {
    +
    169 if (oldTable[i].key != -1 && oldTable[i].key != notPresent) {
    +
    170 size--; // Size stays the same (add increments size)
    +
    171 add(oldTable[i].key);
    +
    172 }
    +
    173 }
    +
    174 // delete[] oldTable;
    +
    175 rehashing = false;
    +
    176 std::cout << "Table was rehashed, new size is: " << totalSize << std::endl;
    +
    177}
    +
    +
    178
    +
    +
    182void add(int key) {
    +
    183 int index = quadraticProbe(key, false);
    +
    184 table[index].key = key;
    +
    185 // Load factor greater than 0.5 causes resizing
    +
    186 if (++size / static_cast<double>(totalSize) >= 0.5) {
    +
    187 rehash();
    +
    188 }
    +
    189}
    +
    +
    190
    +
    +
    194void remove(int key) {
    +
    195 int index = quadraticProbe(key, true);
    +
    196 if (index == notPresent) {
    +
    197 std::cout << "key not found" << std::endl;
    +
    198 }
    +
    199 table[index].key = tomb;
    +
    200 std::cout << "Removal successful, leaving tombstone" << std::endl;
    +
    201 size--;
    +
    202}
    +
    +
    203
    +
    +
    207void addInfo(int key) {
    +
    208 std::cout << "Initial table: ";
    +
    209 display();
    +
    210 std::cout << std::endl;
    +
    211 std::cout << "hash of " << key << " is " << hashFxn(key) << " % "
    +
    212 << totalSize << " == " << hashFxn(key) % totalSize;
    +
    213 std::cout << std::endl;
    +
    214 add(key);
    +
    215 std::cout << "New table: ";
    +
    216 display();
    +
    217}
    +
    +
    218
    +
    +
    222void removalInfo(int key) {
    +
    223 std::cout << "Initial table: ";
    +
    224 display();
    +
    225 std::cout << std::endl;
    +
    226 std::cout << "hash of " << key << " is " << hashFxn(key) << " % "
    +
    227 << totalSize << " == " << hashFxn(key) % totalSize;
    +
    228 std::cout << std::endl;
    +
    229 remove(key);
    +
    230 std::cout << "New table: ";
    +
    231 display();
    +
    232}
    +
    +
    233
    +
    234} // namespace quadratic_probing
    + +
    240using quadratic_probing::table;
    +
    241using quadratic_probing::totalSize;
    +
    242
    +
    +
    246int main() {
    +
    247 int cmd = 0, hash = 0, key = 0;
    +
    248 std::cout << "Enter the initial size of Hash Table. = ";
    +
    249 std::cin >> totalSize;
    +
    250 table = std::vector<Entry>(totalSize);
    +
    251 bool loop = true;
    +
    252 while (loop) {
    +
    253 std::cout << std::endl;
    +
    254 std::cout << "PLEASE CHOOSE -" << std::endl;
    +
    255 std::cout << "1. Add key. (Numeric only)" << std::endl;
    +
    256 std::cout << "2. Remove key." << std::endl;
    +
    257 std::cout << "3. Find key." << std::endl;
    +
    258 std::cout << "4. Generate Hash. (Numeric only)" << std::endl;
    +
    259 std::cout << "5. Display Hash table." << std::endl;
    +
    260 std::cout << "6. Exit." << std::endl;
    +
    261 std::cin >> cmd;
    +
    262 switch (cmd) {
    +
    263 case 1:
    +
    264 std::cout << "Enter key to add = ";
    +
    265 std::cin >> key;
    + +
    267 break;
    +
    268 case 2:
    +
    269 std::cout << "Enter key to remove = ";
    +
    270 std::cin >> key;
    + +
    272 break;
    +
    273 case 3: {
    +
    274 std::cout << "Enter key to search = ";
    +
    275 std::cin >> key;
    + +
    277 quadratic_probing::table[quadratic_probing::quadraticProbe(
    +
    278 key, true)];
    +
    279 if (entry.key == quadratic_probing::notPresent) {
    +
    280 std::cout << "Key not present";
    +
    281 }
    +
    282 break;
    +
    283 }
    +
    284 case 4:
    +
    285 std::cout << "Enter element to generate hash = ";
    +
    286 std::cin >> key;
    +
    287 std::cout << "Hash of " << key
    +
    288 << " is = " << quadratic_probing::hashFxn(key);
    +
    289 break;
    +
    290 case 5:
    + +
    292 break;
    +
    293 default:
    +
    294 loop = false;
    +
    295 break;
    +
    296 // delete[] table;
    +
    297 }
    +
    298 std::cout << std::endl;
    +
    299 }
    +
    300 return 0;
    +
    301}
    +
    +
    +
    +
    An implementation of hash table using quadratic probing algorithm.
    + + + + + + + +
    int quadraticProbe(int key, bool searching)
    + +
    bool putProber(const Entry &entry, int key)
    +
    bool searchingProber(const Entry &entry, int key)
    + +
    +
    int key
    key value
    +
    Entry(int key=notPresent)
    constructor
    +
    +
    + + + + diff --git a/db/d7e/structstd_1_1is__arithmetic_3_01uint128__t_01_4__inherit__graph.map b/db/d7e/structstd_1_1is__arithmetic_3_01uint128__t_01_4__inherit__graph.map index 69161e812..0c51108ff 100644 --- a/db/d7e/structstd_1_1is__arithmetic_3_01uint128__t_01_4__inherit__graph.map +++ b/db/d7e/structstd_1_1is__arithmetic_3_01uint128__t_01_4__inherit__graph.map @@ -1,5 +1,5 @@ - + diff --git a/db/d7e/structstd_1_1is__arithmetic_3_01uint128__t_01_4__inherit__graph.md5 b/db/d7e/structstd_1_1is__arithmetic_3_01uint128__t_01_4__inherit__graph.md5 index b333e0c57..3fc38ad4b 100644 --- a/db/d7e/structstd_1_1is__arithmetic_3_01uint128__t_01_4__inherit__graph.md5 +++ b/db/d7e/structstd_1_1is__arithmetic_3_01uint128__t_01_4__inherit__graph.md5 @@ -1 +1 @@ -0a23f01e10a26977e4eb20ebb42ea582 \ No newline at end of file +3d20965ba8a5558c00e18791af7f0bdd \ No newline at end of file diff --git a/db/d7e/structstd_1_1is__arithmetic_3_01uint128__t_01_4__inherit__graph.svg b/db/d7e/structstd_1_1is__arithmetic_3_01uint128__t_01_4__inherit__graph.svg index 7636272fa..9e9f0734f 100644 --- a/db/d7e/structstd_1_1is__arithmetic_3_01uint128__t_01_4__inherit__graph.svg +++ b/db/d7e/structstd_1_1is__arithmetic_3_01uint128__t_01_4__inherit__graph.svg @@ -32,7 +32,7 @@ Node2 - + std::true_type diff --git a/db/d7e/structstd_1_1is__arithmetic_3_01uint128__t_01_4__inherit__graph_org.svg b/db/d7e/structstd_1_1is__arithmetic_3_01uint128__t_01_4__inherit__graph_org.svg index 64d7e0a9e..0eab6ac6b 100644 --- a/db/d7e/structstd_1_1is__arithmetic_3_01uint128__t_01_4__inherit__graph_org.svg +++ b/db/d7e/structstd_1_1is__arithmetic_3_01uint128__t_01_4__inherit__graph_org.svg @@ -21,7 +21,7 @@ Node2 - + std::true_type diff --git a/db/d80/gale__shapley_8cpp.html b/db/d80/gale__shapley_8cpp.html index 21b64e28b..27ade4da3 100644 --- a/db/d80/gale__shapley_8cpp.html +++ b/db/d80/gale__shapley_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: greedy_algorithms/gale_shapley.cpp File Reference +TheAlgorithms/C++: greedy_algorithms/gale_shapley.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -122,7 +139,9 @@ Include dependency graph for gale_shapley.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -134,7 +153,7 @@ Namespaces

    Namespaces

    namespace  greedy_algorithms
    - + @@ -150,6 +169,8 @@ Functions

    Gale Shapley Algorithm aims to find a stable matching between two equally sized sets of elements given an ordinal preference for each element. The algorithm was introduced by David Gale and Lloyd Shapley in 1962.

    Reference: Wikipedia Wikipedia

    Author
    B Karthik
    + +

    Definition in file gale_shapley.cpp.

    Function Documentation

    ◆ main()

    @@ -168,17 +189,14 @@ Functions

    Main function.

    Returns
    0 on exit
    + +

    Definition at line 152 of file gale_shapley.cpp.

    152 {
    153 tests(); // Run self-test implementations
    154 return 0;
    155}
    -
    static void tests()
    Self-test implementations.
    Definition gale_shapley.cpp:114
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static void tests()
    Self-test implementations.
    + @@ -206,15 +224,17 @@ Here is the call graph for this function:

    Self-test implementations.

    Returns
    void
    + +

    Definition at line 114 of file gale_shapley.cpp.

    114 {
    115 // Test Case 1
    -
    116 std::vector<std::vector<std::uint32_t>> primary_preferences = {
    +
    116 std::vector<std::vector<std::uint32_t>> primary_preferences = {
    117 {0, 1, 2, 3}, {2, 1, 3, 0}, {1, 2, 0, 3}, {3, 0, 1, 2}};
    -
    118 std::vector<std::vector<std::uint32_t>> secondary_preferences = {
    +
    118 std::vector<std::vector<std::uint32_t>> secondary_preferences = {
    119 {1, 0, 2, 3}, {3, 0, 1, 2}, {0, 2, 1, 3}, {1, 2, 0, 3}};
    121 secondary_preferences, primary_preferences) ==
    -
    122 std::vector<std::uint32_t>({0, 2, 1, 3}));
    +
    122 std::vector<std::uint32_t>({0, 2, 1, 3}));
    123
    124 // Test Case 2
    125 primary_preferences = {
    @@ -223,30 +243,24 @@ Here is the call graph for this function:
    128 {1, 0, 2, 3}, {3, 0, 1, 2}, {0, 2, 1, 3}, {1, 2, 0, 3}};
    130 secondary_preferences, primary_preferences) ==
    -
    131 std::vector<std::uint32_t>({0, 3, 1, 2}));
    +
    131 std::vector<std::uint32_t>({0, 3, 1, 2}));
    132
    133 // Test Case 3
    134 primary_preferences = {{0, 1, 2}, {2, 1, 0}, {1, 2, 0}};
    135 secondary_preferences = {{1, 0, 2}, {2, 0, 1}, {0, 2, 1}};
    137 secondary_preferences, primary_preferences) ==
    -
    138 std::vector<std::uint32_t>({0, 2, 1}));
    +
    138 std::vector<std::uint32_t>({0, 2, 1}));
    139
    140 // Test Case 4
    141 primary_preferences = {};
    142 secondary_preferences = {};
    144 secondary_preferences, primary_preferences) ==
    - +
    145 std::vector<std::uint32_t>({}));
    146}
    -
    std::vector< std::uint32_t > gale_shapley(const std::vector< std::vector< std::uint32_t > > &secondary_preferences, const std::vector< std::vector< std::uint32_t > > &primary_preferences)
    The main function that finds the stable matching between two sets of elements using the Gale-Shapley ...
    Definition gale_shapley.cpp:46
    - -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    std::vector< std::uint32_t > gale_shapley(const std::vector< std::vector< std::uint32_t > > &secondary_preferences, const std::vector< std::vector< std::uint32_t > > &primary_preferences)
    The main function that finds the stable matching between two sets of elements using the Gale-Shapley ...
    + diff --git a/db/d80/gale__shapley_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.map b/db/d80/gale__shapley_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.map deleted file mode 100644 index ff6f9b14b..000000000 --- a/db/d80/gale__shapley_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/db/d80/gale__shapley_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 b/db/d80/gale__shapley_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 deleted file mode 100644 index 2402d847e..000000000 --- a/db/d80/gale__shapley_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -10eb6585cdd9e9d606f67df39451ea7a \ No newline at end of file diff --git a/db/d80/gale__shapley_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.svg b/db/d80/gale__shapley_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.svg deleted file mode 100644 index 4b6ae1610..000000000 --- a/db/d80/gale__shapley_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.svg +++ /dev/null @@ -1,85 +0,0 @@ - - - - - - - - - - - - -tests - - -Node1 - - -tests - - - - - -Node2 - - -greedy_algorithms:: -stable_matching::gale -_shapley - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::find - - - - - -Node2->Node3 - - - - - - - - - - - - - diff --git a/db/d80/gale__shapley_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph_org.svg b/db/d80/gale__shapley_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph_org.svg deleted file mode 100644 index 877b871db..000000000 --- a/db/d80/gale__shapley_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph_org.svg +++ /dev/null @@ -1,59 +0,0 @@ - - - - - - -tests - - -Node1 - - -tests - - - - - -Node2 - - -greedy_algorithms:: -stable_matching::gale -_shapley - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::find - - - - - -Node2->Node3 - - - - - - - - diff --git a/db/d80/gale__shapley_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/db/d80/gale__shapley_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 436cb36a7..000000000 --- a/db/d80/gale__shapley_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/db/d80/gale__shapley_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/db/d80/gale__shapley_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index 4dcf2c6b0..000000000 --- a/db/d80/gale__shapley_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -57ab2bbadab7072265c0260236c9486c \ No newline at end of file diff --git a/db/d80/gale__shapley_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/db/d80/gale__shapley_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 85a475d51..000000000 --- a/db/d80/gale__shapley_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,103 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -tests - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -greedy_algorithms:: -stable_matching::gale -_shapley - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::find - - - - - -Node3->Node4 - - - - - - - - - - - - - diff --git a/db/d80/gale__shapley_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/db/d80/gale__shapley_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 58dd6c5f7..000000000 --- a/db/d80/gale__shapley_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,77 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -tests - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -greedy_algorithms:: -stable_matching::gale -_shapley - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::find - - - - - -Node3->Node4 - - - - - - - - diff --git a/db/d80/gale__shapley_8cpp_source.html b/db/d80/gale__shapley_8cpp_source.html new file mode 100644 index 000000000..767964f4d --- /dev/null +++ b/db/d80/gale__shapley_8cpp_source.html @@ -0,0 +1,259 @@ + + + + + + + + +TheAlgorithms/C++: greedy_algorithms/gale_shapley.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    +

    Functions

    std::vector< std::uint32_tgreedy_algorithms::stable_matching::gale_shapley (const std::vector< std::vector< std::uint32_t > > &secondary_preferences, const std::vector< std::vector< std::uint32_t > > &primary_preferences)
    std::vector< std::uint32_t > greedy_algorithms::stable_matching::gale_shapley (const std::vector< std::vector< std::uint32_t > > &secondary_preferences, const std::vector< std::vector< std::uint32_t > > &primary_preferences)
     The main function that finds the stable matching between two sets of elements using the Gale-Shapley Algorithm.
     
    static void tests ()
    + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + + +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    gale_shapley.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    20#include <algorithm>
    +
    21#include <cassert>
    +
    22#include <cstdint>
    +
    23#include <vector>
    +
    24
    +
    29namespace greedy_algorithms {
    +
    +
    34namespace stable_matching {
    +
    +
    46std::vector<std::uint32_t> gale_shapley(
    +
    47 const std::vector<std::vector<std::uint32_t>>& secondary_preferences,
    +
    48 const std::vector<std::vector<std::uint32_t>>& primary_preferences) {
    +
    49 std::uint32_t num_elements = secondary_preferences.size();
    +
    50 std::vector<std::uint32_t> matches(num_elements, -1);
    +
    51 std::vector<bool> is_free_primary(num_elements, true);
    +
    52 std::vector<std::uint32_t> proposal_index(
    +
    53 num_elements,
    +
    54 0); // Tracks the next secondary to propose for each primary
    +
    55
    +
    56 while (true) {
    +
    57 int free_primary_index = -1;
    +
    58
    +
    59 // Find the next free primary
    +
    60 for (std::uint32_t i = 0; i < num_elements; i++) {
    +
    61 if (is_free_primary[i]) {
    +
    62 free_primary_index = i;
    +
    63 break;
    +
    64 }
    +
    65 }
    +
    66
    +
    67 // If no free primary is found, break the loop
    +
    68 if (free_primary_index == -1)
    +
    69 break;
    +
    70
    +
    71 // Get the next secondary to propose
    +
    72 std::uint32_t secondary_to_propose =
    +
    73 primary_preferences[free_primary_index]
    +
    74 [proposal_index[free_primary_index]];
    +
    75 proposal_index[free_primary_index]++;
    +
    76
    +
    77 // Get the current match of the secondary
    +
    78 std::uint32_t current_match = matches[secondary_to_propose];
    +
    79
    +
    80 // If the secondary is free, match them
    +
    81 if (current_match == -1) {
    +
    82 matches[secondary_to_propose] = free_primary_index;
    +
    83 is_free_primary[free_primary_index] = false;
    +
    84 } else {
    +
    85 // Determine if the current match should be replaced
    +
    86 auto new_proposer_rank =
    +
    87 std::find(secondary_preferences[secondary_to_propose].begin(),
    +
    88 secondary_preferences[secondary_to_propose].end(),
    +
    89 free_primary_index);
    +
    90 auto current_match_rank =
    +
    91 std::find(secondary_preferences[secondary_to_propose].begin(),
    +
    92 secondary_preferences[secondary_to_propose].end(),
    +
    93 current_match);
    +
    94
    +
    95 // If the new proposer is preferred over the current match
    +
    96 if (new_proposer_rank < current_match_rank) {
    +
    97 matches[secondary_to_propose] = free_primary_index;
    +
    98 is_free_primary[free_primary_index] = false;
    +
    99 is_free_primary[current_match] =
    +
    100 true; // Current match is now free
    +
    101 }
    +
    102 }
    +
    103 }
    +
    104
    +
    105 return matches;
    +
    106}
    +
    +
    107} // namespace stable_matching
    +
    +
    108} // namespace greedy_algorithms
    +
    109
    +
    +
    114static void tests() {
    +
    115 // Test Case 1
    +
    116 std::vector<std::vector<std::uint32_t>> primary_preferences = {
    +
    117 {0, 1, 2, 3}, {2, 1, 3, 0}, {1, 2, 0, 3}, {3, 0, 1, 2}};
    +
    118 std::vector<std::vector<std::uint32_t>> secondary_preferences = {
    +
    119 {1, 0, 2, 3}, {3, 0, 1, 2}, {0, 2, 1, 3}, {1, 2, 0, 3}};
    + +
    121 secondary_preferences, primary_preferences) ==
    +
    122 std::vector<std::uint32_t>({0, 2, 1, 3}));
    +
    123
    +
    124 // Test Case 2
    +
    125 primary_preferences = {
    +
    126 {0, 2, 1, 3}, {2, 3, 0, 1}, {3, 1, 2, 0}, {2, 1, 0, 3}};
    +
    127 secondary_preferences = {
    +
    128 {1, 0, 2, 3}, {3, 0, 1, 2}, {0, 2, 1, 3}, {1, 2, 0, 3}};
    + +
    130 secondary_preferences, primary_preferences) ==
    +
    131 std::vector<std::uint32_t>({0, 3, 1, 2}));
    +
    132
    +
    133 // Test Case 3
    +
    134 primary_preferences = {{0, 1, 2}, {2, 1, 0}, {1, 2, 0}};
    +
    135 secondary_preferences = {{1, 0, 2}, {2, 0, 1}, {0, 2, 1}};
    + +
    137 secondary_preferences, primary_preferences) ==
    +
    138 std::vector<std::uint32_t>({0, 2, 1}));
    +
    139
    +
    140 // Test Case 4
    +
    141 primary_preferences = {};
    +
    142 secondary_preferences = {};
    + +
    144 secondary_preferences, primary_preferences) ==
    +
    145 std::vector<std::uint32_t>({}));
    +
    146}
    +
    +
    147
    +
    +
    152int main() {
    +
    153 tests(); // Run self-test implementations
    +
    154 return 0;
    +
    155}
    +
    +
    static void tests()
    Self-test implementations.
    +
    int main()
    Main function.
    +
    std::vector< std::uint32_t > gale_shapley(const std::vector< std::vector< std::uint32_t > > &secondary_preferences, const std::vector< std::vector< std::uint32_t > > &primary_preferences)
    The main function that finds the stable matching between two sets of elements using the Gale-Shapley ...
    +
    for string class
    +
    +
    + + + + diff --git a/db/d82/classlarge__number.html b/db/d82/classlarge__number.html index b36fcc303..8d9a2d09e 100644 --- a/db/d82/classlarge__number.html +++ b/db/d82/classlarge__number.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: large_number Class Reference +TheAlgorithms/C++: large_number Class Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -130,7 +147,7 @@ Public Member Functions - + @@ -171,12 +188,12 @@ Private Member Functions
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
     
     large_number (const large_number &a)
     
     large_number (std::vector< unsigned char > &vec)
     large_number (std::vector< unsigned char > &vec)
     
     large_number (char const *number_str)
     
    - +

    Private Attributes

    std::vector< unsigned char > _digits
    std::vector< unsigned char > _digits
     
    - + @@ -188,6 +205,8 @@ Friends

    Friends

    std::ostreamoperator<< (std::ostream &out, const large_number &a)
    std::ostream & operator<< (std::ostream &out, const large_number &a)
     
    bool operator== (large_number const &a, large_number const &b)
     

    Detailed Description

    Store large unsigned numbers as a C++ vector The class provides convenience functions to add a digit to the number, perform multiplication of large number with long unsigned integers.

    + +

    Definition at line 24 of file large_number.h.

    Constructor & Destructor Documentation

    ◆ large_number() [1/5]

    @@ -212,15 +231,11 @@ Friends

    < initializer with value = 1

    -
    27{ _digits.push_back(1); }
    -
    std::vector< unsigned char > _digits
    Definition large_number.h:285
    -
    T push_back(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    +

    Definition at line 27 of file large_number.h.

    +
    27{ _digits.push_back(1); }
    +
    std::vector< unsigned char > _digits
    +
    @@ -246,11 +261,8 @@ Here is the call graph for this function:

    < initializer from an integer < initializer from an integer initializer from another large_number

    -
    -Here is the call graph for this function:
    -
    -
    -
    + +

    Definition at line 39 of file large_number.h.

    @@ -278,6 +290,8 @@ Here is the call graph for this function:

    initializer from a vector

    +

    Definition at line 48 of file large_number.h.

    +
    @@ -292,7 +306,7 @@ Here is the call graph for this function: large_number::large_number ( - std::vector< unsigned char > & vec) + std::vector< unsigned char > & vec) @@ -304,6 +318,8 @@ Here is the call graph for this function:

    initializer from a string

    +

    Definition at line 51 of file large_number.h.

    +
    @@ -328,14 +344,15 @@ Here is the call graph for this function:
    + +

    Definition at line 54 of file large_number.h.

    54 {
    -
    55 for (size_t i = strlen(number_str); i > 0; i--) {
    +
    55 for (size_t i = strlen(number_str); i > 0; i--) {
    56 char a = number_str[i - 1] - '0';
    57 if (a >= 0 && a <= 9)
    - +
    58 _digits.push_back(a);
    59 }
    60 }
    -
    T strlen(T... args)
    @@ -363,22 +380,17 @@ Here is the call graph for this function:

    add a digit at MSB to the large number

    + +

    Definition at line 118 of file large_number.h.

    118 {
    119 if (value > 9) {
    -
    120 std::cerr << "digit > 9!!\n";
    -
    121 exit(EXIT_FAILURE);
    +
    120 std::cerr << "digit > 9!!\n";
    +
    121 exit(EXIT_FAILURE);
    122 }
    123
    -
    124 _digits.push_back(value);
    +
    124 _digits.push_back(value);
    125 }
    - -
    T exit(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    @@ -404,16 +416,13 @@ Here is the call graph for this function:

    returns i^th digit as an ASCII character

    + +

    Definition at line 248 of file large_number.h.

    248 {
    249 return _digits[num_digits() - i - 1] + '0';
    250 }
    -
    size_t num_digits() const
    Definition large_number.h:130
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    size_t num_digits() const
    +
    @@ -441,8 +450,10 @@ template<class T >

    multiply large number with another integer and store the result in the same large number

    + +

    Definition at line 258 of file large_number.h.

    258 {
    -
    259 static_assert(std::is_integral<T>::value,
    +
    259 static_assert(std::is_integral<T>::value,
    260 "Can only have integer types.");
    261 // assert(!(std::is_signed<T>::value)); //, "Implemented only for
    262 // unsigned integer types.");
    @@ -466,14 +477,8 @@ template<class T >
    280 carry /= 10;
    281 }
    282 }
    -
    void add_digit(unsigned int value)
    Definition large_number.h:118
    - -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    void add_digit(unsigned int value)
    + @@ -499,14 +504,10 @@ Here is the call graph for this function:

    Get number of digits in the number

    -
    130{ return _digits.size(); }
    -
    T size(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    +

    Definition at line 130 of file large_number.h.

    +
    130{ return _digits.size(); }
    +
    @@ -534,19 +535,16 @@ template<class T >

    operator overload to increment

    + +

    Definition at line 238 of file large_number.h.

    238 {
    -
    239 static_assert(std::is_integral<T>::value,
    +
    239 static_assert(std::is_integral<T>::value,
    240 "Must be integer addition unsigned integer types.");
    241 this->multiply(n);
    242 return *this;
    243 }
    -
    void multiply(const T n)
    Definition large_number.h:258
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    void multiply(const T n)
    +
    @@ -572,6 +570,8 @@ Here is the call graph for this function:

    operator overload to increment (prefix)

    + +

    Definition at line 175 of file large_number.h.

    175 {
    176 (*this) += 1;
    177 return *this;
    @@ -602,12 +602,14 @@ Here is the call graph for this function:

    operator overload to increment (postfix)

    + +

    Definition at line 183 of file large_number.h.

    183 {
    184 static large_number tmp(_digits);
    185 ++(*this);
    186 return tmp;
    187 }
    -
    Definition large_number.h:24
    +
    @@ -633,8 +635,10 @@ Here is the call graph for this function:
    + +

    Definition at line 212 of file large_number.h.

    212{ return (*this) += large_number(n); }
    -
    large_number()
    Definition large_number.h:27
    +
    @@ -661,10 +665,12 @@ Here is the call graph for this function:

    operator overload to add

    + +

    Definition at line 192 of file large_number.h.

    192 {
    193 // if adding with another large_number
    194 large_number *b = reinterpret_cast<large_number *>(&n);
    -
    195 const size_t max_L = std::max(this->num_digits(), b->num_digits());
    +
    195 const size_t max_L = std::max(this->num_digits(), b->num_digits());
    196 unsigned int carry = 0;
    197 size_t i;
    198 for (i = 0; i < max_L || carry != 0; i++) {
    @@ -680,13 +686,7 @@ Here is the call graph for this function:
    208 }
    209 return *this;
    210 }
    -
    T max(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -712,6 +712,8 @@ Here is the call graph for this function:

    assignment operator

    + +

    Definition at line 229 of file large_number.h.

    229 {
    230 this->_digits = b._digits;
    231 return *this;
    @@ -742,6 +744,8 @@ Here is the call graph for this function:

    operator over load to access the i^th digit conveniently and also assign value to it

    + +

    Definition at line 137 of file large_number.h.

    137{ return this->_digits[n]; }
    @@ -768,6 +772,8 @@ Here is the call graph for this function:
    + +

    Definition at line 139 of file large_number.h.

    139 {
    140 return this->_digits[n];
    141 }
    @@ -797,62 +803,58 @@ Here is the call graph for this function:

    Function to check implementation

    + +

    Definition at line 65 of file large_number.h.

    65 {
    -
    66 std::cout << "------ Checking `large_number` class implementations\t"
    -
    67 << std::endl;
    +
    66 std::cout << "------ Checking `large_number` class implementations\t"
    +
    67 << std::endl;
    68 large_number a(40);
    69 // 1. test multiplication
    70 a *= 10;
    71 if (a != large_number(400)) {
    -
    72 std::cerr << "\tFailed 1/6 (" << a << "!=400)" << std::endl;
    +
    72 std::cerr << "\tFailed 1/6 (" << a << "!=400)" << std::endl;
    73 return false;
    74 }
    -
    75 std::cout << "\tPassed 1/6...";
    +
    75 std::cout << "\tPassed 1/6...";
    76 // 2. test compound addition with integer
    77 a += 120;
    78 if (a != large_number(520)) {
    -
    79 std::cerr << "\tFailed 2/6 (" << a << "!=520)" << std::endl;
    +
    79 std::cerr << "\tFailed 2/6 (" << a << "!=520)" << std::endl;
    80 return false;
    81 }
    -
    82 std::cout << "\tPassed 2/6...";
    +
    82 std::cout << "\tPassed 2/6...";
    83 // 3. test compound multiplication again
    84 a *= 10;
    85 if (a != large_number(5200)) {
    -
    86 std::cerr << "\tFailed 3/6 (" << a << "!=5200)" << std::endl;
    +
    86 std::cerr << "\tFailed 3/6 (" << a << "!=5200)" << std::endl;
    87 return false;
    88 }
    -
    89 std::cout << "\tPassed 3/6...";
    +
    89 std::cout << "\tPassed 3/6...";
    90 // 4. test increment (prefix)
    91 ++a;
    92 if (a != large_number(5201)) {
    -
    93 std::cerr << "\tFailed 4/6 (" << a << "!=5201)" << std::endl;
    +
    93 std::cerr << "\tFailed 4/6 (" << a << "!=5201)" << std::endl;
    94 return false;
    95 }
    -
    96 std::cout << "\tPassed 4/6...";
    +
    96 std::cout << "\tPassed 4/6...";
    97 // 5. test increment (postfix)
    98 a++;
    99 if (a != large_number(5202)) {
    -
    100 std::cerr << "\tFailed 5/6 (" << a << "!=5202)" << std::endl;
    +
    100 std::cerr << "\tFailed 5/6 (" << a << "!=5202)" << std::endl;
    101 return false;
    102 }
    -
    103 std::cout << "\tPassed 5/6...";
    +
    103 std::cout << "\tPassed 5/6...";
    104 // 6. test addition with another large number
    105 a = a + large_number("7000000000000000000000000000000");
    106 if (a != large_number("7000000000000000000000000005202")) {
    -
    107 std::cerr << "\tFailed 6/6 (" << a
    -
    108 << "!=7000000000000000000000000005202)" << std::endl;
    +
    107 std::cerr << "\tFailed 6/6 (" << a
    +
    108 << "!=7000000000000000000000000005202)" << std::endl;
    109 return false;
    110 }
    -
    111 std::cout << "\tPassed 6/6..." << std::endl;
    +
    111 std::cout << "\tPassed 6/6..." << std::endl;
    112 return true;
    113 }
    -
    T endl(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +

    Friends And Related Symbol Documentation

    @@ -883,6 +885,8 @@ Here is the call graph for this function:

    operator overload to compare two numbers

    + +

    Definition at line 168 of file large_number.h.

    168 {
    169 return !(a == b);
    170 }
    @@ -918,6 +922,8 @@ template<class T >

    operator overload to perform addition

    + +

    Definition at line 220 of file large_number.h.

    220 {
    221 static large_number c = a;
    222 c += b;
    @@ -936,9 +942,9 @@ template<class T >
    - + - + @@ -953,6 +959,8 @@ template<class T >
    std::ostream & operator<< std::ostream & operator<< (std::ostream & out, std::ostream & out,

    operator overload to compare two numbers

    + +

    Definition at line 146 of file large_number.h.

    146 {
    147 for (size_t i = a.num_digits(); i > 0; i--)
    148 out << static_cast<int>(a[i - 1]);
    @@ -988,6 +996,8 @@ template<class T >

    operator overload to compare two numbers

    + +

    Definition at line 155 of file large_number.h.

    155 {
    156 size_t N = a.num_digits();
    157 if (N != b.num_digits())
    @@ -997,7 +1007,7 @@ template<class T >
    161 return false;
    162 return true;
    163 }
    -
    constexpr uint32_t N
    A struct to represent sparse table for min() as their invariant function, for the given array A....
    Definition sparse_table.cpp:48
    +
    constexpr uint32_t N
    A struct to represent sparse table for min() as their invariant function, for the given array A....
    @@ -1012,7 +1022,7 @@ template<class T > - +
    std::vector<unsigned char> large_number::_digitsstd::vector<unsigned char> large_number::_digits
    @@ -1023,6 +1033,8 @@ template<class T >

    where individual digits are stored

    +

    Definition at line 285 of file large_number.h.

    +

    The documentation for this class was generated from the following file:
      diff --git a/db/d82/classlarge__number_a10119a83839e65962621b73df46a5337_cgraph.map b/db/d82/classlarge__number_a10119a83839e65962621b73df46a5337_cgraph.map deleted file mode 100644 index 2102bf426..000000000 --- a/db/d82/classlarge__number_a10119a83839e65962621b73df46a5337_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/db/d82/classlarge__number_a10119a83839e65962621b73df46a5337_cgraph.md5 b/db/d82/classlarge__number_a10119a83839e65962621b73df46a5337_cgraph.md5 deleted file mode 100644 index b093cff88..000000000 --- a/db/d82/classlarge__number_a10119a83839e65962621b73df46a5337_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -8c538e4a2cfead881160513e0433f9c8 \ No newline at end of file diff --git a/db/d82/classlarge__number_a10119a83839e65962621b73df46a5337_cgraph.svg b/db/d82/classlarge__number_a10119a83839e65962621b73df46a5337_cgraph.svg deleted file mode 100644 index 3788d22d3..000000000 --- a/db/d82/classlarge__number_a10119a83839e65962621b73df46a5337_cgraph.svg +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - - - - - - - -large_number::large_number - - -Node1 - - -large_number::large -_number - - - - - -Node2 - - -std::vector::push_back - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/db/d82/classlarge__number_a10119a83839e65962621b73df46a5337_cgraph_org.svg b/db/d82/classlarge__number_a10119a83839e65962621b73df46a5337_cgraph_org.svg deleted file mode 100644 index ca57b4306..000000000 --- a/db/d82/classlarge__number_a10119a83839e65962621b73df46a5337_cgraph_org.svg +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - -large_number::large_number - - -Node1 - - -large_number::large -_number - - - - - -Node2 - - -std::vector::push_back - - - - - -Node1->Node2 - - - - - - - - diff --git a/db/d82/classlarge__number_a2f5571e66305cf68bb8283e4aeda58bc_cgraph.map b/db/d82/classlarge__number_a2f5571e66305cf68bb8283e4aeda58bc_cgraph.map deleted file mode 100644 index ef25d6e9e..000000000 --- a/db/d82/classlarge__number_a2f5571e66305cf68bb8283e4aeda58bc_cgraph.map +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/db/d82/classlarge__number_a2f5571e66305cf68bb8283e4aeda58bc_cgraph.md5 b/db/d82/classlarge__number_a2f5571e66305cf68bb8283e4aeda58bc_cgraph.md5 deleted file mode 100644 index 170f6a489..000000000 --- a/db/d82/classlarge__number_a2f5571e66305cf68bb8283e4aeda58bc_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -fa0b778045388a6447a1c26c3d44a435 \ No newline at end of file diff --git a/db/d82/classlarge__number_a2f5571e66305cf68bb8283e4aeda58bc_cgraph.svg b/db/d82/classlarge__number_a2f5571e66305cf68bb8283e4aeda58bc_cgraph.svg deleted file mode 100644 index 8c78dea60..000000000 --- a/db/d82/classlarge__number_a2f5571e66305cf68bb8283e4aeda58bc_cgraph.svg +++ /dev/null @@ -1,119 +0,0 @@ - - - - - - - - - - - - -large_number::multiply - - -Node1 - - -large_number::multiply - - - - - -Node2 - - -large_number::add_digit - - - - - -Node1->Node2 - - - - - - - - -Node4 - - -large_number::num_digits - - - - - -Node1->Node4 - - - - - - - - -Node3 - - -std::vector::push_back - - - - - -Node2->Node3 - - - - - - - - -Node5 - - -std::vector::size - - - - - -Node4->Node5 - - - - - - - - - - - - - diff --git a/db/d82/classlarge__number_a2f5571e66305cf68bb8283e4aeda58bc_cgraph_org.svg b/db/d82/classlarge__number_a2f5571e66305cf68bb8283e4aeda58bc_cgraph_org.svg deleted file mode 100644 index d083feaec..000000000 --- a/db/d82/classlarge__number_a2f5571e66305cf68bb8283e4aeda58bc_cgraph_org.svg +++ /dev/null @@ -1,93 +0,0 @@ - - - - - - -large_number::multiply - - -Node1 - - -large_number::multiply - - - - - -Node2 - - -large_number::add_digit - - - - - -Node1->Node2 - - - - - - - - -Node4 - - -large_number::num_digits - - - - - -Node1->Node4 - - - - - - - - -Node3 - - -std::vector::push_back - - - - - -Node2->Node3 - - - - - - - - -Node5 - - -std::vector::size - - - - - -Node4->Node5 - - - - - - - - diff --git a/db/d82/classlarge__number_a60c436d1a1c5e3795d6177d3815ad615_cgraph.map b/db/d82/classlarge__number_a60c436d1a1c5e3795d6177d3815ad615_cgraph.map deleted file mode 100644 index d6890f228..000000000 --- a/db/d82/classlarge__number_a60c436d1a1c5e3795d6177d3815ad615_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/db/d82/classlarge__number_a60c436d1a1c5e3795d6177d3815ad615_cgraph.md5 b/db/d82/classlarge__number_a60c436d1a1c5e3795d6177d3815ad615_cgraph.md5 deleted file mode 100644 index f921c833f..000000000 --- a/db/d82/classlarge__number_a60c436d1a1c5e3795d6177d3815ad615_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -b6b0a094e2d9c0c260cadf8038202948 \ No newline at end of file diff --git a/db/d82/classlarge__number_a60c436d1a1c5e3795d6177d3815ad615_cgraph.svg b/db/d82/classlarge__number_a60c436d1a1c5e3795d6177d3815ad615_cgraph.svg deleted file mode 100644 index 0a9925e83..000000000 --- a/db/d82/classlarge__number_a60c436d1a1c5e3795d6177d3815ad615_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -large_number::add_digit - - -Node1 - - -large_number::add_digit - - - - - -Node2 - - -std::vector::push_back - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/db/d82/classlarge__number_a60c436d1a1c5e3795d6177d3815ad615_cgraph_org.svg b/db/d82/classlarge__number_a60c436d1a1c5e3795d6177d3815ad615_cgraph_org.svg deleted file mode 100644 index 78bc1aaee..000000000 --- a/db/d82/classlarge__number_a60c436d1a1c5e3795d6177d3815ad615_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -large_number::add_digit - - -Node1 - - -large_number::add_digit - - - - - -Node2 - - -std::vector::push_back - - - - - -Node1->Node2 - - - - - - - - diff --git a/db/d82/classlarge__number_a771e9b28cfddf1ad94668566e396e350_cgraph.map b/db/d82/classlarge__number_a771e9b28cfddf1ad94668566e396e350_cgraph.map deleted file mode 100644 index 931f76938..000000000 --- a/db/d82/classlarge__number_a771e9b28cfddf1ad94668566e396e350_cgraph.map +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - diff --git a/db/d82/classlarge__number_a771e9b28cfddf1ad94668566e396e350_cgraph.md5 b/db/d82/classlarge__number_a771e9b28cfddf1ad94668566e396e350_cgraph.md5 deleted file mode 100644 index c8e724f9a..000000000 --- a/db/d82/classlarge__number_a771e9b28cfddf1ad94668566e396e350_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -91396755b0819878bcb0c7854c3430e0 \ No newline at end of file diff --git a/db/d82/classlarge__number_a771e9b28cfddf1ad94668566e396e350_cgraph.svg b/db/d82/classlarge__number_a771e9b28cfddf1ad94668566e396e350_cgraph.svg deleted file mode 100644 index 3794b0c36..000000000 --- a/db/d82/classlarge__number_a771e9b28cfddf1ad94668566e396e350_cgraph.svg +++ /dev/null @@ -1,194 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -large_number::operator*= - - -Node1 - - -large_number::operator*= - - - - - -Node2 - - -large_number::multiply - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -large_number::add_digit - - - - - -Node2->Node3 - - - - - - - - -Node5 - - -large_number::num_digits - - - - - -Node2->Node5 - - - - - - - - -Node4 - - -std::vector::push_back - - - - - -Node3->Node4 - - - - - - - - -Node6 - - -std::vector::size - - - - - -Node5->Node6 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/db/d82/classlarge__number_a771e9b28cfddf1ad94668566e396e350_cgraph_org.svg b/db/d82/classlarge__number_a771e9b28cfddf1ad94668566e396e350_cgraph_org.svg deleted file mode 100644 index 33d8283f1..000000000 --- a/db/d82/classlarge__number_a771e9b28cfddf1ad94668566e396e350_cgraph_org.svg +++ /dev/null @@ -1,111 +0,0 @@ - - - - - - -large_number::operator*= - - -Node1 - - -large_number::operator*= - - - - - -Node2 - - -large_number::multiply - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -large_number::add_digit - - - - - -Node2->Node3 - - - - - - - - -Node5 - - -large_number::num_digits - - - - - -Node2->Node5 - - - - - - - - -Node4 - - -std::vector::push_back - - - - - -Node3->Node4 - - - - - - - - -Node6 - - -std::vector::size - - - - - -Node5->Node6 - - - - - - - - diff --git a/db/d82/classlarge__number_a959c5c1a982949bbf98e1ea0f9afe6a9_cgraph.map b/db/d82/classlarge__number_a959c5c1a982949bbf98e1ea0f9afe6a9_cgraph.map deleted file mode 100644 index fc162dc33..000000000 --- a/db/d82/classlarge__number_a959c5c1a982949bbf98e1ea0f9afe6a9_cgraph.map +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/db/d82/classlarge__number_a959c5c1a982949bbf98e1ea0f9afe6a9_cgraph.md5 b/db/d82/classlarge__number_a959c5c1a982949bbf98e1ea0f9afe6a9_cgraph.md5 deleted file mode 100644 index 9d92cdc86..000000000 --- a/db/d82/classlarge__number_a959c5c1a982949bbf98e1ea0f9afe6a9_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -49746fddd58445ebd7346624a9176212 \ No newline at end of file diff --git a/db/d82/classlarge__number_a959c5c1a982949bbf98e1ea0f9afe6a9_cgraph.svg b/db/d82/classlarge__number_a959c5c1a982949bbf98e1ea0f9afe6a9_cgraph.svg deleted file mode 100644 index a6d62e70f..000000000 --- a/db/d82/classlarge__number_a959c5c1a982949bbf98e1ea0f9afe6a9_cgraph.svg +++ /dev/null @@ -1,102 +0,0 @@ - - - - - - - - - - - - -large_number::test - - -Node1 - - -large_number::test - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -large_number::large -_number - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::vector::push_back - - - - - -Node3->Node4 - - - - - - - - - - - - - diff --git a/db/d82/classlarge__number_a959c5c1a982949bbf98e1ea0f9afe6a9_cgraph_org.svg b/db/d82/classlarge__number_a959c5c1a982949bbf98e1ea0f9afe6a9_cgraph_org.svg deleted file mode 100644 index ccdf6dc7a..000000000 --- a/db/d82/classlarge__number_a959c5c1a982949bbf98e1ea0f9afe6a9_cgraph_org.svg +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - -large_number::test - - -Node1 - - -large_number::test - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -large_number::large -_number - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::vector::push_back - - - - - -Node3->Node4 - - - - - - - - diff --git a/db/d82/classlarge__number_aab5644405094740e34983cedfecb36cf_cgraph.map b/db/d82/classlarge__number_aab5644405094740e34983cedfecb36cf_cgraph.map deleted file mode 100644 index efe8ac1a8..000000000 --- a/db/d82/classlarge__number_aab5644405094740e34983cedfecb36cf_cgraph.map +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - diff --git a/db/d82/classlarge__number_aab5644405094740e34983cedfecb36cf_cgraph.md5 b/db/d82/classlarge__number_aab5644405094740e34983cedfecb36cf_cgraph.md5 deleted file mode 100644 index e9c755cb7..000000000 --- a/db/d82/classlarge__number_aab5644405094740e34983cedfecb36cf_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -4433ac250640efe22c4e70de0905656e \ No newline at end of file diff --git a/db/d82/classlarge__number_aab5644405094740e34983cedfecb36cf_cgraph.svg b/db/d82/classlarge__number_aab5644405094740e34983cedfecb36cf_cgraph.svg deleted file mode 100644 index 868cc540c..000000000 --- a/db/d82/classlarge__number_aab5644405094740e34983cedfecb36cf_cgraph.svg +++ /dev/null @@ -1,137 +0,0 @@ - - - - - - - - - - - - -large_number::operator+= - - -Node1 - - -large_number::operator+= - - - - - -Node2 - - -large_number::add_digit - - - - - -Node1->Node2 - - - - - - - - -Node4 - - -std::max - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -large_number::num_digits - - - - - -Node1->Node5 - - - - - - - - -Node3 - - -std::vector::push_back - - - - - -Node2->Node3 - - - - - - - - -Node6 - - -std::vector::size - - - - - -Node5->Node6 - - - - - - - - - - - - - diff --git a/db/d82/classlarge__number_aab5644405094740e34983cedfecb36cf_cgraph_org.svg b/db/d82/classlarge__number_aab5644405094740e34983cedfecb36cf_cgraph_org.svg deleted file mode 100644 index d8e726770..000000000 --- a/db/d82/classlarge__number_aab5644405094740e34983cedfecb36cf_cgraph_org.svg +++ /dev/null @@ -1,111 +0,0 @@ - - - - - - -large_number::operator+= - - -Node1 - - -large_number::operator+= - - - - - -Node2 - - -large_number::add_digit - - - - - -Node1->Node2 - - - - - - - - -Node4 - - -std::max - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -large_number::num_digits - - - - - -Node1->Node5 - - - - - - - - -Node3 - - -std::vector::push_back - - - - - -Node2->Node3 - - - - - - - - -Node6 - - -std::vector::size - - - - - -Node5->Node6 - - - - - - - - diff --git a/db/d82/classlarge__number_ac09a05ec4aafb4d9e0b4440d6f0e2a93_cgraph.map b/db/d82/classlarge__number_ac09a05ec4aafb4d9e0b4440d6f0e2a93_cgraph.map deleted file mode 100644 index 5705a49b9..000000000 --- a/db/d82/classlarge__number_ac09a05ec4aafb4d9e0b4440d6f0e2a93_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/db/d82/classlarge__number_ac09a05ec4aafb4d9e0b4440d6f0e2a93_cgraph.md5 b/db/d82/classlarge__number_ac09a05ec4aafb4d9e0b4440d6f0e2a93_cgraph.md5 deleted file mode 100644 index 26971f850..000000000 --- a/db/d82/classlarge__number_ac09a05ec4aafb4d9e0b4440d6f0e2a93_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -ac258cd0e7a40303d6135022b6aed846 \ No newline at end of file diff --git a/db/d82/classlarge__number_ac09a05ec4aafb4d9e0b4440d6f0e2a93_cgraph.svg b/db/d82/classlarge__number_ac09a05ec4aafb4d9e0b4440d6f0e2a93_cgraph.svg deleted file mode 100644 index c3ecc69c6..000000000 --- a/db/d82/classlarge__number_ac09a05ec4aafb4d9e0b4440d6f0e2a93_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -large_number::num_digits - - -Node1 - - -large_number::num_digits - - - - - -Node2 - - -std::vector::size - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/db/d82/classlarge__number_ac09a05ec4aafb4d9e0b4440d6f0e2a93_cgraph_org.svg b/db/d82/classlarge__number_ac09a05ec4aafb4d9e0b4440d6f0e2a93_cgraph_org.svg deleted file mode 100644 index a354425f5..000000000 --- a/db/d82/classlarge__number_ac09a05ec4aafb4d9e0b4440d6f0e2a93_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -large_number::num_digits - - -Node1 - - -large_number::num_digits - - - - - -Node2 - - -std::vector::size - - - - - -Node1->Node2 - - - - - - - - diff --git a/db/d82/classlarge__number_ae35a55607cf52c0b0d485f2129bd39ac_cgraph.map b/db/d82/classlarge__number_ae35a55607cf52c0b0d485f2129bd39ac_cgraph.map deleted file mode 100644 index 4ffb757b2..000000000 --- a/db/d82/classlarge__number_ae35a55607cf52c0b0d485f2129bd39ac_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/db/d82/classlarge__number_ae35a55607cf52c0b0d485f2129bd39ac_cgraph.md5 b/db/d82/classlarge__number_ae35a55607cf52c0b0d485f2129bd39ac_cgraph.md5 deleted file mode 100644 index 023b5c397..000000000 --- a/db/d82/classlarge__number_ae35a55607cf52c0b0d485f2129bd39ac_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -c797a29c819be3760ae8821b138d6dd0 \ No newline at end of file diff --git a/db/d82/classlarge__number_ae35a55607cf52c0b0d485f2129bd39ac_cgraph.svg b/db/d82/classlarge__number_ae35a55607cf52c0b0d485f2129bd39ac_cgraph.svg deleted file mode 100644 index b2d163700..000000000 --- a/db/d82/classlarge__number_ae35a55607cf52c0b0d485f2129bd39ac_cgraph.svg +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - -large_number::digit_char - - -Node1 - - -large_number::digit_char - - - - - -Node2 - - -large_number::num_digits - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::vector::size - - - - - -Node2->Node3 - - - - - - - - - - - - - diff --git a/db/d82/classlarge__number_ae35a55607cf52c0b0d485f2129bd39ac_cgraph_org.svg b/db/d82/classlarge__number_ae35a55607cf52c0b0d485f2129bd39ac_cgraph_org.svg deleted file mode 100644 index e3f042e76..000000000 --- a/db/d82/classlarge__number_ae35a55607cf52c0b0d485f2129bd39ac_cgraph_org.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - -large_number::digit_char - - -Node1 - - -large_number::digit_char - - - - - -Node2 - - -large_number::num_digits - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::vector::size - - - - - -Node2->Node3 - - - - - - - - diff --git a/db/d82/classlarge__number_af4598f1f2794b5e17e10c25e0501e41a_cgraph.map b/db/d82/classlarge__number_af4598f1f2794b5e17e10c25e0501e41a_cgraph.map deleted file mode 100644 index 8a9a03fea..000000000 --- a/db/d82/classlarge__number_af4598f1f2794b5e17e10c25e0501e41a_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/db/d82/classlarge__number_af4598f1f2794b5e17e10c25e0501e41a_cgraph.md5 b/db/d82/classlarge__number_af4598f1f2794b5e17e10c25e0501e41a_cgraph.md5 deleted file mode 100644 index 0317314ea..000000000 --- a/db/d82/classlarge__number_af4598f1f2794b5e17e10c25e0501e41a_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -b8a48d1866f18f63e0be3f4e7b25b411 \ No newline at end of file diff --git a/db/d82/classlarge__number_af4598f1f2794b5e17e10c25e0501e41a_cgraph.svg b/db/d82/classlarge__number_af4598f1f2794b5e17e10c25e0501e41a_cgraph.svg deleted file mode 100644 index 721dc9e27..000000000 --- a/db/d82/classlarge__number_af4598f1f2794b5e17e10c25e0501e41a_cgraph.svg +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - - - - - -large_number::large_number - - -Node1 - - -large_number::large -_number - - - - - -Node2 - - -large_number::add_digit - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::vector::push_back - - - - - -Node2->Node3 - - - - - - - - - - - - - diff --git a/db/d82/classlarge__number_af4598f1f2794b5e17e10c25e0501e41a_cgraph_org.svg b/db/d82/classlarge__number_af4598f1f2794b5e17e10c25e0501e41a_cgraph_org.svg deleted file mode 100644 index c64ec3261..000000000 --- a/db/d82/classlarge__number_af4598f1f2794b5e17e10c25e0501e41a_cgraph_org.svg +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - -large_number::large_number - - -Node1 - - -large_number::large -_number - - - - - -Node2 - - -large_number::add_digit - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::vector::push_back - - - - - -Node2->Node3 - - - - - - - - diff --git a/db/d8b/struct_node.html b/db/d8b/struct_node.html index 8efa9602f..fecc07dc4 100644 --- a/db/d8b/struct_node.html +++ b/db/d8b/struct_node.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Node< ValueType > Class Template Reference +TheAlgorithms/C++: Node< ValueType > Class Template Reference + + + @@ -18,14 +24,24 @@ - - + +
      @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -122,8 +139,7 @@ Collaboration diagram for Node< ValueType >:
      -
      Algorithms_in_C++ 1.0.0 +
      TheAlgorithms/C++ 1.0.0
      -
      Set of algorithms implemented in C++.
      +
      All the algorithms implemented in C++
      - +

      Public Types

      -using value_type = ValueType
      using value_type = ValueType
       

      @@ -133,32 +149,49 @@ Public Member Functions

      - + - + - + - + - +

      Public Attributes

      -int data
      int data
       
      -int next
      int next
       
      ValueType data = {}
       
      std::shared_ptr< Node< ValueType > > next = {}
      std::shared_ptr< Node< ValueType > > next = {}
       
      -int val
      int val
       
      -Nodenext
      Nodenext
       

      Detailed Description

      template<class ValueType>
      -class Node< ValueType >

      for std::cout for std::shared_ptr for std::vector Definition of the node as a linked-list

      Template Parameters
      +class Node< ValueType >

      for std::cout for std::shared_ptr for std::vector Definition of the node as a linked-list

      Template Parameters
      ValueTypetype of data nodes of the linked list should contain
      -

      Constructor & Destructor Documentation

      + +

      Definition at line 14 of file linkedlist_implentation_usingarray.cpp.

      +

      Member Typedef Documentation

      + +

      ◆ value_type

      + +
      +
      +
      +template<class ValueType >
      + + + + +
      using Node< ValueType >::value_type = ValueType
      +
      + +

      Definition at line 17 of file node.hpp.

      + +
      +
      +

      Constructor & Destructor Documentation

      ◆ Node()

      @@ -187,13 +220,33 @@ template<class ValueType >
      + +

      Definition at line 8 of file get_size_of_linked_list.cpp.

      8: val(v), next(n) {} // Default constructor for Node

      Member Data Documentation

      + +

      ◆ data [1/2]

      + +
      +
      +
      +template<class ValueType >
      + + + + +
      int Node< ValueType >::data
      +
      + +

      Definition at line 15 of file linkedlist_implentation_usingarray.cpp.

      + +
      +
      -

      ◆ data

      +

      ◆ data [2/2]

      @@ -205,12 +258,14 @@ template<class ValueType >
      + +

      Definition at line 18 of file node.hpp.

      18{};
      - -

      ◆ next

      + +

      ◆ next [1/3]

      @@ -218,18 +273,74 @@ template<class ValueType >
      template<class ValueType >
      - +
      std::shared_ptr<Node<ValueType> > Node< ValueType >::next = {}int Node< ValueType >::next
      + +

      Definition at line 16 of file linkedlist_implentation_usingarray.cpp.

      + +
      + + +

      ◆ next [2/3]

      + +
      +
      +
      +template<class ValueType >
      + + + + +
      std::shared_ptr<Node<ValueType> > Node< ValueType >::next = {}
      +
      + +

      Definition at line 19 of file node.hpp.

      19{};
      +
      +
      + +

      ◆ next [3/3]

      + +
      +
      +
      +template<class ValueType >
      + + + + +
      Node* Node< ValueType >::next
      +
      + +

      Definition at line 6 of file get_size_of_linked_list.cpp.

      + +
      +
      + +

      ◆ val

      + +
      +
      +
      +template<class ValueType >
      + + + + +
      int Node< ValueType >::val
      +
      + +

      Definition at line 5 of file get_size_of_linked_list.cpp.

      +

      The documentation for this class was generated from the following files: diff --git a/db/d93/check__prime_8cpp.html b/db/d93/check__prime_8cpp.html index 3a5ddd593..084124f87 100644 --- a/db/d93/check__prime_8cpp.html +++ b/db/d93/check__prime_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: math/check_prime.cpp File Reference +TheAlgorithms/C++: math/check_prime.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
      @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -120,7 +137,9 @@ Include dependency graph for check_prime.cpp:
      -
      -
      Algorithms_in_C++ 1.0.0 +
      TheAlgorithms/C++ 1.0.0
      -
      Set of algorithms implemented in C++.
      +
      All the algorithms implemented in C++
      + +

      Go to the source code of this file.

      +
      @@ -144,6 +163,8 @@ Functions

      A prime number is any number that can be divided only by itself and 1. It must be positive and a whole number, therefore any prime number is part of the set of natural numbers. The majority of prime numbers are even numbers, with the exception of 2. This algorithm finds prime numbers using this information. additional ways to solve the prime check problem: https://cp-algorithms.com/algebra/primality_tests.html#practice-problems

      Author
      Omkar Langhe
      ewd00010
      + +

      Definition in file check_prime.cpp.

      Function Documentation

      ◆ main()

      @@ -162,17 +183,14 @@ Functions

      Main function.

      Returns
      0 on exit
      + +

      Definition at line 81 of file check_prime.cpp.

      81 {
      82 tests(); // perform self-tests implementations
      83 return 0;
      84}
      -
      static void tests()
      Self-test implementations.
      Definition check_prime.cpp:62
      -
      -Here is the call graph for this function:
      -
      -
      -
      - +
      static void tests()
      Self-test implementations.
      + @@ -200,6 +218,8 @@ Here is the call graph for this function:

      Self-test implementations.

      Returns
      void
      + +

      Definition at line 62 of file check_prime.cpp.

      62 {
      63 assert(math::is_prime(1) == false);
      64 assert(math::is_prime(2) == true);
      @@ -212,17 +232,10 @@ Here is the call graph for this function:
      71 assert(math::is_prime(50) == false);
      72 assert(math::is_prime(115249) == true);
      73
      -
      74 std::cout << "All tests have successfully passed!" << std::endl;
      +
      74 std::cout << "All tests have successfully passed!" << std::endl;
      75}
      - -
      T endl(T... args)
      -
      bool is_prime(int64_t num)
      Function to check if the given number is prime or not.
      Definition check_prime.cpp:31
      -
      -Here is the call graph for this function:
      -
      -
      -
      - +
      bool is_prime(int64_t num)
      Function to check if the given number is prime or not.
      + diff --git a/db/d93/check__prime_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.map b/db/d93/check__prime_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.map deleted file mode 100644 index 9952e4656..000000000 --- a/db/d93/check__prime_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/db/d93/check__prime_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 b/db/d93/check__prime_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 deleted file mode 100644 index 1e06485d5..000000000 --- a/db/d93/check__prime_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -9c5a2a03b8386cbd80dfb8b3134f2e02 \ No newline at end of file diff --git a/db/d93/check__prime_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.svg b/db/d93/check__prime_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.svg deleted file mode 100644 index 98c101fcc..000000000 --- a/db/d93/check__prime_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.svg +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - -tests - - -Node1 - - -tests - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -math::is_prime - - - - - -Node1->Node3 - - - - - - - - - - - - - diff --git a/db/d93/check__prime_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph_org.svg b/db/d93/check__prime_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph_org.svg deleted file mode 100644 index fe9f27cca..000000000 --- a/db/d93/check__prime_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph_org.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - -tests - - -Node1 - - -tests - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -math::is_prime - - - - - -Node1->Node3 - - - - - - - - diff --git a/db/d93/check__prime_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/db/d93/check__prime_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 99453d500..000000000 --- a/db/d93/check__prime_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/db/d93/check__prime_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/db/d93/check__prime_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index 830cc3234..000000000 --- a/db/d93/check__prime_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -ecc3356383182ba366fc14e7f9dd3ffe \ No newline at end of file diff --git a/db/d93/check__prime_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/db/d93/check__prime_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 811b4f310..000000000 --- a/db/d93/check__prime_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -tests - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -math::is_prime - - - - - -Node2->Node4 - - - - - - - - - - - - - diff --git a/db/d93/check__prime_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/db/d93/check__prime_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 93a12c257..000000000 --- a/db/d93/check__prime_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -tests - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -math::is_prime - - - - - -Node2->Node4 - - - - - - - - diff --git a/db/d93/check__prime_8cpp_source.html b/db/d93/check__prime_8cpp_source.html new file mode 100644 index 000000000..c005ae9ac --- /dev/null +++ b/db/d93/check__prime_8cpp_source.html @@ -0,0 +1,189 @@ + + + + + + + + +TheAlgorithms/C++: math/check_prime.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
      +
      +

      Namespaces

      namespace  math
      + + + + + + +
      +
      TheAlgorithms/C++ 1.0.0 +
      +
      All the algorithms implemented in C++
      +
      +
      + + + + + + + + + +
      + +
      +
      +
      + +
      + +
      +
      + + +
      +
      +
      +
      +
      +
      Loading...
      +
      Searching...
      +
      No Matches
      +
      +
      +
      +
      + +
      +
      check_prime.cpp
      +
      +
      +Go to the documentation of this file.
      1
      +
      17#include <cassert>
      +
      18#include <iostream>
      +
      19
      +
      24namespace math {
      +
      +
      31bool is_prime(int64_t num) {
      +
      41 if (num <= 1) {
      +
      42 return false;
      +
      43 } else if (num == 2 || num == 3) {
      +
      44 return true;
      +
      45 } else if (num % 2 == 0 || num % 3 == 0) {
      +
      46 return false;
      +
      47 } else {
      +
      48 for (int64_t i = 5; i * i <= num; i = i + 6) {
      +
      49 if (num % i == 0 || num % (i + 2) == 0) {
      +
      50 return false;
      +
      51 }
      +
      52 }
      +
      53 }
      +
      54 return true;
      +
      55}
      +
      +
      56} // namespace math
      +
      57
      +
      +
      62static void tests() {
      +
      63 assert(math::is_prime(1) == false);
      +
      64 assert(math::is_prime(2) == true);
      +
      65 assert(math::is_prime(3) == true);
      +
      66 assert(math::is_prime(4) == false);
      +
      67 assert(math::is_prime(-4) == false);
      +
      68 assert(math::is_prime(7) == true);
      +
      69 assert(math::is_prime(-7) == false);
      +
      70 assert(math::is_prime(19) == true);
      +
      71 assert(math::is_prime(50) == false);
      +
      72 assert(math::is_prime(115249) == true);
      +
      73
      +
      74 std::cout << "All tests have successfully passed!" << std::endl;
      +
      75}
      +
      +
      76
      +
      +
      81int main() {
      +
      82 tests(); // perform self-tests implementations
      +
      83 return 0;
      +
      84}
      +
      +
      static void tests()
      Self-test implementations.
      +
      int main()
      Main function.
      +
      for assert
      +
      bool is_prime(int64_t num)
      Function to check if the given number is prime or not.
      +
      +
      + + + + diff --git a/db/d9a/classuint128__t.html b/db/d9a/classuint128__t.html index dc5f9ab5d..423d5cd98 100644 --- a/db/d9a/classuint128__t.html +++ b/db/d9a/classuint128__t.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: uint128_t Class Reference +TheAlgorithms/C++: uint128_t Class Reference + + + @@ -18,14 +24,24 @@ - - + +
      @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -125,7 +142,7 @@ Public Member Functions - + @@ -164,7 +181,7 @@ Public Member Functions - + @@ -231,7 +248,7 @@ Public Member Functions - + @@ -388,7 +405,7 @@ Public Member Functions
      -
      Algorithms_in_C++ 1.0.0 +
      TheAlgorithms/C++ 1.0.0
      -
      Set of algorithms implemented in C++.
      +
      All the algorithms implemented in C++
       uint128_t (T low)
       Parameterized constructor.
       
       uint128_t (const std::string &str)
       uint128_t (const std::string &str)
       Parameterized constructor.
       
       uint128_t (const uint64_t high, const uint64_t low)
      uint128_toperator= (const T &p)
       operator = for other types
       
      uint128_toperator= (const std::string &p)
      uint128_toperator= (const std::string &p)
       operator = for type string
       
      uint128_toperator= (const uint128_t &p)=default
      uint128_toperator*= (const uint128_t &p)
       operator *= for uint128_t and other integer types.
       
      std::pair< uint128_t, uint128_tdivide (const uint128_t &p)
      std::pair< uint128_t, uint128_tdivide (const uint128_t &p)
       divide function for uint128_t and other integer types.
       
      uint128_t operator/ (const uint128_t &p)
      - +

      Private Member Functions

      void __get_integer_from_string (const std::string &str)
      void __get_integer_from_string (const std::string &str)
       First and second half of 128 bit number.
       
      @@ -401,12 +418,14 @@ Private Attributes
      - +

      Friends

      std::ostreamoperator<< (std::ostream &op, const uint128_t &p)
      std::ostream & operator<< (std::ostream &op, const uint128_t &p)
       operator << for printing uint128_t integer
       

      Detailed Description

      class for 128-bit unsigned integer

      + +

      Definition at line 60 of file uint128_t.hpp.

      Constructor & Destructor Documentation

      ◆ uint128_t() [1/5]

      @@ -446,6 +465,8 @@ template<typename T , typename = typename std::enable_if< + +

      Definition at line 101 of file uint128_t.hpp.

      101: s(low) {}
      @@ -462,7 +483,7 @@ template<typename T , typename = typename std::enable_if< uint128_t::uint128_t ( - const std::string & str) + const std::string & str) @@ -480,16 +501,13 @@ template<typename T , typename = typename std::enable_if< + +

      Definition at line 107 of file uint128_t.hpp.

      107 {
      109 }
      -
      void __get_integer_from_string(const std::string &str)
      First and second half of 128 bit number.
      Definition uint128_t.hpp:70
      -
      -Here is the call graph for this function:
      -
      -
      -
      - +
      void __get_integer_from_string(const std::string &str)
      First and second half of 128 bit number.
      Definition uint128_t.hpp:70
      + @@ -527,6 +545,8 @@ Here is the call graph for this function: + +

      Definition at line 116 of file uint128_t.hpp.

      116: f(high), s(low) {}
      @@ -594,6 +614,8 @@ Here is the call graph for this function: + +

      Definition at line 128 of file uint128_t.hpp.

      128: f(num.f), s(num.s) {}
      @@ -611,7 +633,7 @@ Here is the call graph for this function: void uint128_t::__get_integer_from_string ( - const std::string & str) + const std::string & str) @@ -631,10 +653,12 @@ Here is the call graph for this function:
      Returns
      void
      + +

      Definition at line 70 of file uint128_t.hpp.

      70 {
      71 this->f = this->s = 0;
      -
      72 if (str.size() > 1 && str[1] == 'x') { // if hexadecimal
      -
      73 for (auto i = 2; i < str.size(); ++i) {
      +
      72 if (str.size() > 1 && str[1] == 'x') { // if hexadecimal
      +
      73 for (auto i = 2; i < str.size(); ++i) {
      74 *this *= 16LL;
      75 if (str[i] >= '0' && str[i] <= '9') {
      76 *this += (str[i] - '0');
      @@ -651,13 +675,7 @@ Here is the call graph for this function:
      87 }
      88 }
      89 }
      -
      T size(T... args)
      -
      -Here is the call graph for this function:
      -
      -
      -
      - + @@ -685,6 +703,8 @@ Here is the call graph for this function:

      Leading zeroes in binary.

      Calculates leading zeros in 128-bit integer

      Returns
      Integer denoting leading zeroes
      + +

      Definition at line 140 of file uint128_t.hpp.

      140 {
      141#ifndef _MSC_VER
      142 if (f) {
      @@ -702,7 +722,7 @@ Here is the call graph for this function:
      154 return r;
      155#endif
      156 }
      -
      double l(double x)
      Another test function.
      Definition composite_simpson_rule.cpp:119
      +
      double l(double x)
      Another test function.
      @@ -731,6 +751,8 @@ Here is the call graph for this function:

      Trailing zeroes in binary.

      Calculates leading zeros in 128-bit integer

      Returns
      Integer denoting Trailing zeroes
      + +

      Definition at line 163 of file uint128_t.hpp.

      163 {
      164#ifndef _MSC_VER
      165 if (f) {
      @@ -761,7 +783,7 @@ Here is the call graph for this function:
      - + @@ -782,6 +804,8 @@ Here is the call graph for this function:
      Returns
      pair denoting quotient and remainder.
      + +

      Definition at line 455 of file uint128_t.hpp.

      455 {
      456 if (*this < p) { // if this is less than divisor
      457 return {uint128_t(0), *this};
      @@ -810,14 +834,9 @@ Here is the call graph for this function:
      480 }
      481 return {quotient << left, tmp2};
      482 }
      -
      class for 128-bit unsigned integer
      Definition uint128_t.hpp:60
      -
      uint32_t _lez()
      Leading zeroes in binary.
      Definition uint128_t.hpp:140
      -
      -Here is the call graph for this function:
      -
      -
      -
      - +
      class for 128-bit unsigned integer
      Definition uint128_t.hpp:60
      +
      uint32_t _lez()
      Leading zeroes in binary.
      + @@ -845,6 +864,8 @@ Here is the call graph for this function:

      returns lower 64-bit integer part

      Returns
      returns lower 64-bit integer part
      + +

      Definition at line 202 of file uint128_t.hpp.

      202{ return s; }
      @@ -874,6 +895,8 @@ Here is the call graph for this function:

      casting operator to boolean value

      Returns
      true if value of this is non-zero, else false
      + +

      Definition at line 185 of file uint128_t.hpp.

      185{ return (f || s); }
      @@ -911,6 +934,8 @@ template<typename T , typename = typename std::enable_if<
      Returns
      integer value casted to mentioned type
      + +

      Definition at line 194 of file uint128_t.hpp.

      194 {
      195 return static_cast<T>(s);
      196 }
      @@ -942,6 +967,8 @@ template<typename T , typename = typename std::enable_if<

      operator ! for uint128_t

      Returns
      true if this has zero value, else false
      + +

      Definition at line 628 of file uint128_t.hpp.

      628{ return !f && !s; }
      @@ -985,6 +1012,8 @@ template<typename T , typename = typename std::enable_if<
      Returns
      true if this is not equal to other, else false
      + +

      Definition at line 722 of file uint128_t.hpp.

      722 {
      723 return *this != uint128_t(other);
      724 }
      @@ -1022,6 +1051,8 @@ template<typename T , typename = typename std::enable_if<
      Returns
      true if this is not equal than other, else false
      + +

      Definition at line 620 of file uint128_t.hpp.

      620 {
      621 return f != other.f || s != other.s;
      622 }
      @@ -1067,6 +1098,8 @@ template<typename T , typename = typename std::enable_if<
      Returns
      unsigned 128-bit remainder.
      + +

      Definition at line 543 of file uint128_t.hpp.

      543 {
      544 return *this % uint128_t(p);
      545 }
      @@ -1104,14 +1137,11 @@ template<typename T , typename = typename std::enable_if<
      Returns
      unsigned 128-bit remainder.
      -
      533{ return divide(p).second; }
      -
      std::pair< uint128_t, uint128_t > divide(const uint128_t &p)
      divide function for uint128_t and other integer types.
      Definition uint128_t.hpp:455
      -
      -Here is the call graph for this function:
      -
      -
      -
      +

      Definition at line 533 of file uint128_t.hpp.

      +
      533{ return divide(p).second; }
      +
      std::pair< uint128_t, uint128_t > divide(const uint128_t &p)
      divide function for uint128_t and other integer types.
      +
      @@ -1153,6 +1183,8 @@ template<typename T , typename = typename std::enable_if<
      Returns
      this set as unsigned 128-bit remainder.
      + +

      Definition at line 565 of file uint128_t.hpp.

      565 {
      566 *this %= uint128_t(p);
      567 return *this;
      @@ -1191,16 +1223,13 @@ template<typename T , typename = typename std::enable_if<
      Returns
      this set as unsigned 128-bit remainder.
      + +

      Definition at line 552 of file uint128_t.hpp.

      552 {
      553 *this = divide(p).second;
      554 return *this;
      555 }
      -
      -Here is the call graph for this function:
      -
      -
      -
      - +
      @@ -1242,6 +1271,8 @@ template<typename T , typename = typename std::enable_if<
      Returns
      value of this & p (& is bit-wise operator)
      + +

      Definition at line 856 of file uint128_t.hpp.

      856 {
      857 uint128_t tmp = *this;
      858 return tmp & uint128_t(p);
      @@ -1280,6 +1311,8 @@ template<typename T , typename = typename std::enable_if<
      Returns
      value of this & p (& is bit-wise operator)
      + +

      Definition at line 844 of file uint128_t.hpp.

      844 {
      845 return uint128_t(this->f & p.f, this->s & p.s);
      846 }
      @@ -1325,6 +1358,8 @@ template<typename T , typename = typename std::enable_if<
      Returns
      true if this is both values are non-zero, else false
      + +

      Definition at line 734 of file uint128_t.hpp.

      734 {
      735 return (f || s) && b;
      736 }
      @@ -1362,6 +1397,8 @@ template<typename T , typename = typename std::enable_if<
      Returns
      true if both of the values are not zero, else false
      + +

      Definition at line 635 of file uint128_t.hpp.

      635 {
      636 return (s || f) && (b.s || b.f);
      637 }
      @@ -1407,6 +1444,8 @@ template<typename T , typename = typename std::enable_if<
      Returns
      this = this & p (& is bit-wise operator)
      + +

      Definition at line 880 of file uint128_t.hpp.

      880 {
      881 *this &= uint128_t(p);
      882 return *this;
      @@ -1445,6 +1484,8 @@ template<typename T , typename = typename std::enable_if<
      Returns
      this = this & p (& is bit-wise operator)
      + +

      Definition at line 866 of file uint128_t.hpp.

      866 {
      867 this->f &= p.f;
      868 this->s &= p.s;
      @@ -1478,6 +1519,8 @@ template<typename T , typename = typename std::enable_if<

      operator () for uint128_t

      Returns
      true if this value is non-zero, else false
      + +

      Definition at line 652 of file uint128_t.hpp.

      652{ return s || f; }
      @@ -1521,6 +1564,8 @@ template<typename T , typename = typename std::enable_if<
      Returns
      multiplication of this and p, returning uint128_t integer
      + +

      Definition at line 393 of file uint128_t.hpp.

      393 {
      394 return *this * uint128_t(p);
      395 }
      @@ -1558,6 +1603,8 @@ template<typename T , typename = typename std::enable_if<
      Returns
      multiplication of this and p, returning uint128_t integer
      + +

      Definition at line 402 of file uint128_t.hpp.

      402 {
      403 uint64_t f_first = s >> 32, f_second = s & 0xFFFFFFFF,
      404 s_first = p.s >> 32, s_second = p.s & 0xFFFFFFFF;
      @@ -1613,6 +1660,8 @@ template<typename T , typename = typename std::enable_if<
      Returns
      multiplication of this and p, returning this
      + +

      Definition at line 424 of file uint128_t.hpp.

      424 {
      425 *this *= uint128_t(p);
      426 return *this;
      @@ -1651,6 +1700,8 @@ template<typename T , typename = typename std::enable_if<
      Returns
      multiplication of this and p, returning this
      + +

      Definition at line 434 of file uint128_t.hpp.

      434 {
      435 uint64_t f_first = s >> 32, f_second = s & 0xFFFFFFFF,
      436 s_first = p.s >> 32, s_second = p.s & 0xFFFFFFFF;
      @@ -1707,6 +1758,8 @@ template<typename T , typename = typename std::enable_if<
      Returns
      addition of this and p, returning uint128_t integer
      + +

      Definition at line 253 of file uint128_t.hpp.

      253 {
      254 return uint128_t(f + (p + s < s), p + s);
      255 }
      @@ -1744,6 +1797,8 @@ template<typename T , typename = typename std::enable_if<
      Returns
      addition of this and p, returning uint128_t integer
      + +

      Definition at line 262 of file uint128_t.hpp.

      262 {
      263 return uint128_t(f + (p.s + s < s) + p.f, p.s + s);
      264 }
      @@ -1775,6 +1830,8 @@ template<typename T , typename = typename std::enable_if<

      pre-increment operator

      Returns
      incremented value of this.
      + +

      Definition at line 297 of file uint128_t.hpp.

      297 {
      298 *this += 1;
      299 return *this;
      @@ -1807,6 +1864,8 @@ template<typename T , typename = typename std::enable_if<

      post-increment operator

      Returns
      incremented value of this.
      + +

      Definition at line 306 of file uint128_t.hpp.

      306 {
      307 ++*this;
      308 return *this;
      @@ -1853,6 +1912,8 @@ template<typename T , typename = typename std::enable_if<
      Returns
      addition of this and p, returning this
      + +

      Definition at line 274 of file uint128_t.hpp.

      274 {
      275 bool app = p + s < s;
      276 this->f += app;
      @@ -1893,6 +1954,8 @@ template<typename T , typename = typename std::enable_if<
      Returns
      addition of this and p, returning this
      + +

      Definition at line 286 of file uint128_t.hpp.

      286 {
      287 bool app = p.s + s < s;
      288 f = f + app + p.f;
      @@ -1927,6 +1990,8 @@ template<typename T , typename = typename std::enable_if<

      operator - using twos complement

      Returns
      2's complement of this.
      + +

      Definition at line 338 of file uint128_t.hpp.

      338{ return ~*this + uint128_t(1); }
      @@ -1970,6 +2035,8 @@ template<typename T , typename = typename std::enable_if<
      Returns
      subtraction of this and p, returning uint128_t integer
      + +

      Definition at line 319 of file uint128_t.hpp.

      319 {
      320 bool app = p > s;
      321 return uint128_t(f - app, s - p);
      @@ -2008,6 +2075,8 @@ template<typename T , typename = typename std::enable_if<
      Returns
      subtraction of this and p, returning uint128_t integer
      + +

      Definition at line 329 of file uint128_t.hpp.

      329 {
      330 bool app = p.s > s;
      331 return uint128_t(f - p.f - app, s - p.s);
      @@ -2040,6 +2109,8 @@ template<typename T , typename = typename std::enable_if<

      operator – (pre-decrement)

      Returns
      decremented value of this
      + +

      Definition at line 344 of file uint128_t.hpp.

      344 {
      345 *this -= 1;
      346 return *this;
      @@ -2072,6 +2143,8 @@ template<typename T , typename = typename std::enable_if<

      operator – (post-decrement)

      Returns
      decremented value of this
      + +

      Definition at line 353 of file uint128_t.hpp.

      353 {
      354 --*this;
      355 return *this;
      @@ -2118,6 +2191,8 @@ template<typename T , typename = typename std::enable_if<
      Returns
      subtraction of this and p, returning this
      + +

      Definition at line 366 of file uint128_t.hpp.

      366 {
      367 bool app = p > s;
      368 f -= app;
      @@ -2158,6 +2233,8 @@ template<typename T , typename = typename std::enable_if<
      Returns
      subtraction of this and p, returning this
      + +

      Definition at line 378 of file uint128_t.hpp.

      378 {
      379 bool app = p.s > s;
      380 f = f - p.f - app;
      @@ -2206,6 +2283,8 @@ template<typename T , typename = typename std::enable_if<
      Returns
      unsigned 128-bit quotient.
      + +

      Definition at line 499 of file uint128_t.hpp.

      499 {
      500 uint128_t tmp = *this;
      501 tmp /= uint128_t(0, p);
      @@ -2245,13 +2324,10 @@ template<typename T , typename = typename std::enable_if<
      Returns
      unsigned 128-bit quotient.
      -
      489{ return divide(p).first; }
      -
      -Here is the call graph for this function:
      -
      -
      -
      +

      Definition at line 489 of file uint128_t.hpp.

      +
      489{ return divide(p).first; }
      +
      @@ -2293,6 +2369,8 @@ template<typename T , typename = typename std::enable_if<
      Returns
      this set as unsigned 128-bit quotient.
      + +

      Definition at line 523 of file uint128_t.hpp.

      523 {
      524 *this /= uint128_t(0, p);
      525 return *this;
      @@ -2331,16 +2409,13 @@ template<typename T , typename = typename std::enable_if<
      Returns
      this set as unsigned 128-bit quotient.
      + +

      Definition at line 510 of file uint128_t.hpp.

      510 {
      511 *this = divide(p).first;
      512 return *this;
      513 }
      -
      -Here is the call graph for this function:
      -
      -
      -
      - +
      @@ -2382,6 +2457,8 @@ template<typename T , typename = typename std::enable_if<
      Returns
      true if this is less than other, else false
      + +

      Definition at line 662 of file uint128_t.hpp.

      662 {
      663 return *this < uint128_t(other);
      664 }
      @@ -2419,6 +2496,8 @@ template<typename T , typename = typename std::enable_if<
      Returns
      true if this is less than other, else false
      + +

      Definition at line 575 of file uint128_t.hpp.

      575 {
      576 return f < other.f || (f == other.f && s < other.s);
      577 }
      @@ -2464,6 +2543,8 @@ template<typename T , typename = typename std::enable_if<
      Returns
      value of this shifted by p to left
      + +

      Definition at line 765 of file uint128_t.hpp.

      765 {
      766 if (!p) {
      767 return uint128_t(f, s);
      @@ -2517,6 +2598,8 @@ template<typename T , typename = typename std::enable_if<
      Returns
      this shifted by p to left
      + +

      Definition at line 785 of file uint128_t.hpp.

      785 {
      786 if (p) {
      787 if (p >= 64 && p <= 128) {
      @@ -2571,6 +2654,8 @@ template<typename T , typename = typename std::enable_if<
      Returns
      true if this is less than or equal to other, else false
      + +

      Definition at line 674 of file uint128_t.hpp.

      674 {
      675 return *this <= uint128_t(other);
      676 }
      @@ -2608,6 +2693,8 @@ template<typename T , typename = typename std::enable_if<
      Returns
      true if this is less than or equal to other, else false
      + +

      Definition at line 584 of file uint128_t.hpp.

      584 {
      585 return f < other.f || (f == other.f && s <= other.s);
      586 }
      @@ -2626,7 +2713,7 @@ template<typename T , typename = typename std::enable_if<
      - +
      std::pair< uint128_t, uint128_t > uint128_t::divide std::pair< uint128_t, uint128_t > uint128_t::divide ( const uint128_t & p)
      uint128_t & uint128_t::operator= (const std::string & p)const std::string & p)
      @@ -2645,16 +2732,13 @@ template<typename T , typename = typename std::enable_if<
      Returns
      this pointer with it's value equal to p
      + +

      Definition at line 228 of file uint128_t.hpp.

      228 {
      230 return *this;
      231 }
      -
      -Here is the call graph for this function:
      -
      -
      -
      - + @@ -2696,6 +2780,8 @@ template<typename T , typename = typename std::enable_if<
      Returns
      this pointer with it's value equal to p
      + +

      Definition at line 218 of file uint128_t.hpp.

      218 {
      219 this->s = p;
      220 return *this;
      @@ -2776,6 +2862,8 @@ template<typename T , typename = typename std::enable_if<
      Returns
      true if this is equal to other, else false
      + +

      Definition at line 710 of file uint128_t.hpp.

      710 {
      711 return *this == uint128_t(other);
      712 }
      @@ -2813,6 +2901,8 @@ template<typename T , typename = typename std::enable_if<
      Returns
      true if this is equal than other, else false
      + +

      Definition at line 611 of file uint128_t.hpp.

      611 {
      612 return f == other.f && s == other.s;
      613 }
      @@ -2858,6 +2948,8 @@ template<typename T , typename = typename std::enable_if<
      Returns
      true if this is greater than other, else false
      + +

      Definition at line 686 of file uint128_t.hpp.

      686 {
      687 return *this > uint128_t(other);
      688 }
      @@ -2895,6 +2987,8 @@ template<typename T , typename = typename std::enable_if<
      Returns
      true if this is greater than other, else false
      + +

      Definition at line 593 of file uint128_t.hpp.

      593 {
      594 return f > other.f || (f == other.f && s > other.s);
      595 }
      @@ -2940,6 +3034,8 @@ template<typename T , typename = typename std::enable_if<
      Returns
      true if this is greater than or equal other, else false
      + +

      Definition at line 698 of file uint128_t.hpp.

      698 {
      699 return *this >= uint128_t(other);
      700 }
      @@ -2977,6 +3073,8 @@ template<typename T , typename = typename std::enable_if<
      Returns
      true if this is greater than or equal than other, else false
      + +

      Definition at line 602 of file uint128_t.hpp.

      602 {
      603 return (f > other.f) || (f == other.f && s >= other.s);
      604 }
      @@ -3022,6 +3120,8 @@ template<typename T , typename = typename std::enable_if<
      Returns
      value of this shifted by p to right
      + +

      Definition at line 806 of file uint128_t.hpp.

      806 {
      807 if (!p) {
      808 return uint128_t(this->f, this->s);
      @@ -3075,6 +3175,8 @@ template<typename T , typename = typename std::enable_if<
      Returns
      this shifted by p to right
      + +

      Definition at line 826 of file uint128_t.hpp.

      826 {
      827 if (p) {
      828 if (p >= 64) {
      @@ -3129,6 +3231,8 @@ template<typename T , typename = typename std::enable_if<
      Returns
      value of this ^ p (^ is bit-wise XOR operator)
      + +

      Definition at line 938 of file uint128_t.hpp.

      938 {
      939 return uint128_t(this->f, this->s ^ p);
      940 }
      @@ -3166,6 +3270,8 @@ template<typename T , typename = typename std::enable_if<
      Returns
      value of this ^ p (^ is bit-wise XOR operator)
      + +

      Definition at line 947 of file uint128_t.hpp.

      947 {
      948 return uint128_t(this->f ^ p.f, this->s ^ p.s);
      949 }
      @@ -3211,6 +3317,8 @@ template<typename T , typename = typename std::enable_if<
      Returns
      this = this ^ p (^ is bit-wise XOR operator)
      + +

      Definition at line 970 of file uint128_t.hpp.

      970 {
      971 s ^= p;
      972 return *this;
      @@ -3249,6 +3357,8 @@ template<typename T , typename = typename std::enable_if<
      Returns
      this = this ^ p (^ is bit-wise XOR operator)
      + +

      Definition at line 956 of file uint128_t.hpp.

      956 {
      957 f ^= p.f;
      958 s ^= p.s;
      @@ -3296,6 +3406,8 @@ template<typename T , typename = typename std::enable_if<
      Returns
      value of this | p (| is bit-wise operator)
      + +

      Definition at line 893 of file uint128_t.hpp.

      893 {
      894 return uint128_t(p | s);
      895 }
      @@ -3333,6 +3445,8 @@ template<typename T , typename = typename std::enable_if<
      Returns
      value of this | p (| is bit-wise OR operator)
      + +

      Definition at line 902 of file uint128_t.hpp.

      902 {
      903 return uint128_t(this->f | p.f, this->s | p.s);
      904 }
      @@ -3378,6 +3492,8 @@ template<typename T , typename = typename std::enable_if<
      Returns
      this = this | p (| is bit-wise OR operator)
      + +

      Definition at line 925 of file uint128_t.hpp.

      925 {
      926 s |= p.s;
      927 return *this;
      @@ -3416,6 +3532,8 @@ template<typename T , typename = typename std::enable_if<
      Returns
      this = this | p (| is bit-wise OR operator)
      + +

      Definition at line 911 of file uint128_t.hpp.

      911 {
      912 f |= p.f;
      913 s |= p.s;
      @@ -3463,6 +3581,8 @@ template<typename T , typename = typename std::enable_if<
      Returns
      true if this is either one of the values are non-zero, else false
      + +

      Definition at line 747 of file uint128_t.hpp.

      747 {
      748 return (f || s) || b;
      749 }
      @@ -3500,6 +3620,8 @@ template<typename T , typename = typename std::enable_if<
      Returns
      true if one of the values are not zero, else false
      + +

      Definition at line 644 of file uint128_t.hpp.

      644 {
      645 return (s || f) || (b.s || b.f);
      646 }
      @@ -3531,6 +3653,8 @@ template<typename T , typename = typename std::enable_if<

      operator ~ for uint128_t

      Returns
      1's complement of this number
      + +

      Definition at line 755 of file uint128_t.hpp.

      755{ return uint128_t(~this->f, ~this->s); }
      @@ -3560,6 +3684,8 @@ template<typename T , typename = typename std::enable_if<

      returns upper 64-bit integer part

      Returns
      returns upper 64-bit integer part
      + +

      Definition at line 208 of file uint128_t.hpp.

      208{ return f; }
      @@ -3575,9 +3701,9 @@ template<typename T , typename = typename std::enable_if< - + - + @@ -3602,11 +3728,13 @@ template<typename T , typename = typename std::enable_if<
      Returns
      op, ostream object.
      + +

      Definition at line 984 of file uint128_t.hpp.

      984 {
      985 if (!p.f) {
      986 op << p.s;
      987 } else {
      -
      988 std::string out = "0", p_2 = "1";
      +
      988 std::string out = "0", p_2 = "1";
      989 for (int i = 0; i < 64; ++i) {
      990 if (p.s & (1LL << i)) {
      991 out = add(out, p_2);
      @@ -3623,8 +3751,7 @@ template<typename T , typename = typename std::enable_if<
      1002 }
      1003 return op;
      1004 }
      - -
      std::string add(const std::string &first, const std::string &second)
      Adding two string.
      Definition uint128_t.hpp:38
      +
      std::string add(const std::string &first, const std::string &second)
      Adding two string.
      Definition uint128_t.hpp:38
      @@ -3648,7 +3775,9 @@ template<typename T , typename = typename std::enable_if<
      std::ostream & operator<< std::ostream & operator<< (std::ostream & op, std::ostream & op,
      -
      61{}, s{}; /// First and second half of 128 bit number
      + +

      Definition at line 61 of file uint128_t.hpp.

      +
      61{}, s{};
      @@ -3671,7 +3800,9 @@ template<typename T , typename = typename std::enable_if<
      -
      61{}, s{}; /// First and second half of 128 bit number
      + +

      Definition at line 61 of file uint128_t.hpp.

      +
      61{}, s{};
      diff --git a/db/d9a/classuint128__t_a0b6612186d8f678452e011d08ee1f5ac_cgraph.map b/db/d9a/classuint128__t_a0b6612186d8f678452e011d08ee1f5ac_cgraph.map deleted file mode 100644 index 094e3fc87..000000000 --- a/db/d9a/classuint128__t_a0b6612186d8f678452e011d08ee1f5ac_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/db/d9a/classuint128__t_a0b6612186d8f678452e011d08ee1f5ac_cgraph.md5 b/db/d9a/classuint128__t_a0b6612186d8f678452e011d08ee1f5ac_cgraph.md5 deleted file mode 100644 index 2bbb5d8f4..000000000 --- a/db/d9a/classuint128__t_a0b6612186d8f678452e011d08ee1f5ac_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -559d8724022306e924159e9450c1769b \ No newline at end of file diff --git a/db/d9a/classuint128__t_a0b6612186d8f678452e011d08ee1f5ac_cgraph.svg b/db/d9a/classuint128__t_a0b6612186d8f678452e011d08ee1f5ac_cgraph.svg deleted file mode 100644 index c56645964..000000000 --- a/db/d9a/classuint128__t_a0b6612186d8f678452e011d08ee1f5ac_cgraph.svg +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - - - - - -uint128_t::uint128_t - - -Node1 - - -uint128_t::uint128_t - - - - - -Node2 - - -uint128_t::__get_integer -_from_string - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::string::size - - - - - -Node2->Node3 - - - - - - - - - - - - - diff --git a/db/d9a/classuint128__t_a0b6612186d8f678452e011d08ee1f5ac_cgraph_org.svg b/db/d9a/classuint128__t_a0b6612186d8f678452e011d08ee1f5ac_cgraph_org.svg deleted file mode 100644 index b3c32b25c..000000000 --- a/db/d9a/classuint128__t_a0b6612186d8f678452e011d08ee1f5ac_cgraph_org.svg +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - -uint128_t::uint128_t - - -Node1 - - -uint128_t::uint128_t - - - - - -Node2 - - -uint128_t::__get_integer -_from_string - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::string::size - - - - - -Node2->Node3 - - - - - - - - diff --git a/db/d9a/classuint128__t_a279209a184db20a7ffc8e687fdb05be2_cgraph.map b/db/d9a/classuint128__t_a279209a184db20a7ffc8e687fdb05be2_cgraph.map deleted file mode 100644 index 1540753a4..000000000 --- a/db/d9a/classuint128__t_a279209a184db20a7ffc8e687fdb05be2_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/db/d9a/classuint128__t_a279209a184db20a7ffc8e687fdb05be2_cgraph.md5 b/db/d9a/classuint128__t_a279209a184db20a7ffc8e687fdb05be2_cgraph.md5 deleted file mode 100644 index 2be24dd17..000000000 --- a/db/d9a/classuint128__t_a279209a184db20a7ffc8e687fdb05be2_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -95e3a7d0f132f32c8d0ef82f04aedfc1 \ No newline at end of file diff --git a/db/d9a/classuint128__t_a279209a184db20a7ffc8e687fdb05be2_cgraph.svg b/db/d9a/classuint128__t_a279209a184db20a7ffc8e687fdb05be2_cgraph.svg deleted file mode 100644 index f9709bd62..000000000 --- a/db/d9a/classuint128__t_a279209a184db20a7ffc8e687fdb05be2_cgraph.svg +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - -uint128_t::operator%= - - -Node1 - - -uint128_t::operator%= - - - - - -Node2 - - -uint128_t::divide - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -uint128_t::_lez - - - - - -Node2->Node3 - - - - - - - - - - - - - diff --git a/db/d9a/classuint128__t_a279209a184db20a7ffc8e687fdb05be2_cgraph_org.svg b/db/d9a/classuint128__t_a279209a184db20a7ffc8e687fdb05be2_cgraph_org.svg deleted file mode 100644 index 973eb4d12..000000000 --- a/db/d9a/classuint128__t_a279209a184db20a7ffc8e687fdb05be2_cgraph_org.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - -uint128_t::operator%= - - -Node1 - - -uint128_t::operator%= - - - - - -Node2 - - -uint128_t::divide - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -uint128_t::_lez - - - - - -Node2->Node3 - - - - - - - - diff --git a/db/d9a/classuint128__t_a300ed88fe2054788cc6e0b6a8fdf66db_cgraph.map b/db/d9a/classuint128__t_a300ed88fe2054788cc6e0b6a8fdf66db_cgraph.map deleted file mode 100644 index daf097f72..000000000 --- a/db/d9a/classuint128__t_a300ed88fe2054788cc6e0b6a8fdf66db_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/db/d9a/classuint128__t_a300ed88fe2054788cc6e0b6a8fdf66db_cgraph.md5 b/db/d9a/classuint128__t_a300ed88fe2054788cc6e0b6a8fdf66db_cgraph.md5 deleted file mode 100644 index 1046dc902..000000000 --- a/db/d9a/classuint128__t_a300ed88fe2054788cc6e0b6a8fdf66db_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -2e2e6ec35aff8c9b4afb2c10105f9723 \ No newline at end of file diff --git a/db/d9a/classuint128__t_a300ed88fe2054788cc6e0b6a8fdf66db_cgraph.svg b/db/d9a/classuint128__t_a300ed88fe2054788cc6e0b6a8fdf66db_cgraph.svg deleted file mode 100644 index f6a2e4cdb..000000000 --- a/db/d9a/classuint128__t_a300ed88fe2054788cc6e0b6a8fdf66db_cgraph.svg +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - -uint128_t::operator/= - - -Node1 - - -uint128_t::operator/= - - - - - -Node2 - - -uint128_t::divide - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -uint128_t::_lez - - - - - -Node2->Node3 - - - - - - - - - - - - - diff --git a/db/d9a/classuint128__t_a300ed88fe2054788cc6e0b6a8fdf66db_cgraph_org.svg b/db/d9a/classuint128__t_a300ed88fe2054788cc6e0b6a8fdf66db_cgraph_org.svg deleted file mode 100644 index 6c2bc3e72..000000000 --- a/db/d9a/classuint128__t_a300ed88fe2054788cc6e0b6a8fdf66db_cgraph_org.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - -uint128_t::operator/= - - -Node1 - - -uint128_t::operator/= - - - - - -Node2 - - -uint128_t::divide - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -uint128_t::_lez - - - - - -Node2->Node3 - - - - - - - - diff --git a/db/d9a/classuint128__t_a3072a7e43da3600c345c81bc80c957ee_cgraph.map b/db/d9a/classuint128__t_a3072a7e43da3600c345c81bc80c957ee_cgraph.map deleted file mode 100644 index 40d6cdc91..000000000 --- a/db/d9a/classuint128__t_a3072a7e43da3600c345c81bc80c957ee_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/db/d9a/classuint128__t_a3072a7e43da3600c345c81bc80c957ee_cgraph.md5 b/db/d9a/classuint128__t_a3072a7e43da3600c345c81bc80c957ee_cgraph.md5 deleted file mode 100644 index 28d1df709..000000000 --- a/db/d9a/classuint128__t_a3072a7e43da3600c345c81bc80c957ee_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -735cdd359a4e511098736659a1a10bec \ No newline at end of file diff --git a/db/d9a/classuint128__t_a3072a7e43da3600c345c81bc80c957ee_cgraph.svg b/db/d9a/classuint128__t_a3072a7e43da3600c345c81bc80c957ee_cgraph.svg deleted file mode 100644 index 6c4085c32..000000000 --- a/db/d9a/classuint128__t_a3072a7e43da3600c345c81bc80c957ee_cgraph.svg +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - -uint128_t::operator/ - - -Node1 - - -uint128_t::operator/ - - - - - -Node2 - - -uint128_t::divide - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -uint128_t::_lez - - - - - -Node2->Node3 - - - - - - - - - - - - - diff --git a/db/d9a/classuint128__t_a3072a7e43da3600c345c81bc80c957ee_cgraph_org.svg b/db/d9a/classuint128__t_a3072a7e43da3600c345c81bc80c957ee_cgraph_org.svg deleted file mode 100644 index e24aa321a..000000000 --- a/db/d9a/classuint128__t_a3072a7e43da3600c345c81bc80c957ee_cgraph_org.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - -uint128_t::operator/ - - -Node1 - - -uint128_t::operator/ - - - - - -Node2 - - -uint128_t::divide - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -uint128_t::_lez - - - - - -Node2->Node3 - - - - - - - - diff --git a/db/d9a/classuint128__t_a857a3c69c1e775a1bd3935c2bfbb02df_cgraph.map b/db/d9a/classuint128__t_a857a3c69c1e775a1bd3935c2bfbb02df_cgraph.map deleted file mode 100644 index d1b54f538..000000000 --- a/db/d9a/classuint128__t_a857a3c69c1e775a1bd3935c2bfbb02df_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/db/d9a/classuint128__t_a857a3c69c1e775a1bd3935c2bfbb02df_cgraph.md5 b/db/d9a/classuint128__t_a857a3c69c1e775a1bd3935c2bfbb02df_cgraph.md5 deleted file mode 100644 index c7644a5b9..000000000 --- a/db/d9a/classuint128__t_a857a3c69c1e775a1bd3935c2bfbb02df_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -2d956d26fd0f3b98d652243334a86705 \ No newline at end of file diff --git a/db/d9a/classuint128__t_a857a3c69c1e775a1bd3935c2bfbb02df_cgraph.svg b/db/d9a/classuint128__t_a857a3c69c1e775a1bd3935c2bfbb02df_cgraph.svg deleted file mode 100644 index 8006582ab..000000000 --- a/db/d9a/classuint128__t_a857a3c69c1e775a1bd3935c2bfbb02df_cgraph.svg +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - - - - - - - -uint128_t::__get_integer_from_string - - -Node1 - - -uint128_t::__get_integer -_from_string - - - - - -Node2 - - -std::string::size - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/db/d9a/classuint128__t_a857a3c69c1e775a1bd3935c2bfbb02df_cgraph_org.svg b/db/d9a/classuint128__t_a857a3c69c1e775a1bd3935c2bfbb02df_cgraph_org.svg deleted file mode 100644 index 14e640109..000000000 --- a/db/d9a/classuint128__t_a857a3c69c1e775a1bd3935c2bfbb02df_cgraph_org.svg +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - -uint128_t::__get_integer_from_string - - -Node1 - - -uint128_t::__get_integer -_from_string - - - - - -Node2 - - -std::string::size - - - - - -Node1->Node2 - - - - - - - - diff --git a/db/d9a/classuint128__t_a8bf81f7f5f5c98f197822ec88e106c6c_cgraph.map b/db/d9a/classuint128__t_a8bf81f7f5f5c98f197822ec88e106c6c_cgraph.map deleted file mode 100644 index adf223b5f..000000000 --- a/db/d9a/classuint128__t_a8bf81f7f5f5c98f197822ec88e106c6c_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/db/d9a/classuint128__t_a8bf81f7f5f5c98f197822ec88e106c6c_cgraph.md5 b/db/d9a/classuint128__t_a8bf81f7f5f5c98f197822ec88e106c6c_cgraph.md5 deleted file mode 100644 index ecc17e8f4..000000000 --- a/db/d9a/classuint128__t_a8bf81f7f5f5c98f197822ec88e106c6c_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -ca3ca2f06d893ef1e8abdbbdb9ea3e8d \ No newline at end of file diff --git a/db/d9a/classuint128__t_a8bf81f7f5f5c98f197822ec88e106c6c_cgraph.svg b/db/d9a/classuint128__t_a8bf81f7f5f5c98f197822ec88e106c6c_cgraph.svg deleted file mode 100644 index f8f8c8f99..000000000 --- a/db/d9a/classuint128__t_a8bf81f7f5f5c98f197822ec88e106c6c_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -uint128_t::divide - - -Node1 - - -uint128_t::divide - - - - - -Node2 - - -uint128_t::_lez - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/db/d9a/classuint128__t_a8bf81f7f5f5c98f197822ec88e106c6c_cgraph_org.svg b/db/d9a/classuint128__t_a8bf81f7f5f5c98f197822ec88e106c6c_cgraph_org.svg deleted file mode 100644 index d02e6632a..000000000 --- a/db/d9a/classuint128__t_a8bf81f7f5f5c98f197822ec88e106c6c_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -uint128_t::divide - - -Node1 - - -uint128_t::divide - - - - - -Node2 - - -uint128_t::_lez - - - - - -Node1->Node2 - - - - - - - - diff --git a/db/d9a/classuint128__t_abae08ef3c1d6dc512edd68ca68327f74_cgraph.map b/db/d9a/classuint128__t_abae08ef3c1d6dc512edd68ca68327f74_cgraph.map deleted file mode 100644 index fffa4e03a..000000000 --- a/db/d9a/classuint128__t_abae08ef3c1d6dc512edd68ca68327f74_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/db/d9a/classuint128__t_abae08ef3c1d6dc512edd68ca68327f74_cgraph.md5 b/db/d9a/classuint128__t_abae08ef3c1d6dc512edd68ca68327f74_cgraph.md5 deleted file mode 100644 index 8519dc53a..000000000 --- a/db/d9a/classuint128__t_abae08ef3c1d6dc512edd68ca68327f74_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -d288b3d1496c1a831fa01a743a84b488 \ No newline at end of file diff --git a/db/d9a/classuint128__t_abae08ef3c1d6dc512edd68ca68327f74_cgraph.svg b/db/d9a/classuint128__t_abae08ef3c1d6dc512edd68ca68327f74_cgraph.svg deleted file mode 100644 index dbd11363a..000000000 --- a/db/d9a/classuint128__t_abae08ef3c1d6dc512edd68ca68327f74_cgraph.svg +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - - - - - -uint128_t::operator= - - -Node1 - - -uint128_t::operator= - - - - - -Node2 - - -uint128_t::__get_integer -_from_string - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::string::size - - - - - -Node2->Node3 - - - - - - - - - - - - - diff --git a/db/d9a/classuint128__t_abae08ef3c1d6dc512edd68ca68327f74_cgraph_org.svg b/db/d9a/classuint128__t_abae08ef3c1d6dc512edd68ca68327f74_cgraph_org.svg deleted file mode 100644 index 105cced73..000000000 --- a/db/d9a/classuint128__t_abae08ef3c1d6dc512edd68ca68327f74_cgraph_org.svg +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - -uint128_t::operator= - - -Node1 - - -uint128_t::operator= - - - - - -Node2 - - -uint128_t::__get_integer -_from_string - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::string::size - - - - - -Node2->Node3 - - - - - - - - diff --git a/db/d9a/classuint128__t_abfc6a8765039cacc829a5cd386b5a066_cgraph.map b/db/d9a/classuint128__t_abfc6a8765039cacc829a5cd386b5a066_cgraph.map deleted file mode 100644 index 6f6428478..000000000 --- a/db/d9a/classuint128__t_abfc6a8765039cacc829a5cd386b5a066_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/db/d9a/classuint128__t_abfc6a8765039cacc829a5cd386b5a066_cgraph.md5 b/db/d9a/classuint128__t_abfc6a8765039cacc829a5cd386b5a066_cgraph.md5 deleted file mode 100644 index 5f51449df..000000000 --- a/db/d9a/classuint128__t_abfc6a8765039cacc829a5cd386b5a066_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -7923655ffb2c58a2ec0947aa2ae1f731 \ No newline at end of file diff --git a/db/d9a/classuint128__t_abfc6a8765039cacc829a5cd386b5a066_cgraph.svg b/db/d9a/classuint128__t_abfc6a8765039cacc829a5cd386b5a066_cgraph.svg deleted file mode 100644 index e1e327b6a..000000000 --- a/db/d9a/classuint128__t_abfc6a8765039cacc829a5cd386b5a066_cgraph.svg +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - -uint128_t::operator% - - -Node1 - - -uint128_t::operator% - - - - - -Node2 - - -uint128_t::divide - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -uint128_t::_lez - - - - - -Node2->Node3 - - - - - - - - - - - - - diff --git a/db/d9a/classuint128__t_abfc6a8765039cacc829a5cd386b5a066_cgraph_org.svg b/db/d9a/classuint128__t_abfc6a8765039cacc829a5cd386b5a066_cgraph_org.svg deleted file mode 100644 index 9a3bd6ffa..000000000 --- a/db/d9a/classuint128__t_abfc6a8765039cacc829a5cd386b5a066_cgraph_org.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - -uint128_t::operator% - - -Node1 - - -uint128_t::operator% - - - - - -Node2 - - -uint128_t::divide - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -uint128_t::_lez - - - - - -Node2->Node3 - - - - - - - - diff --git a/db/d9f/iterative__factorial_8cpp.html b/db/d9f/iterative__factorial_8cpp.html index 9818a29b4..515ff874f 100644 --- a/db/d9f/iterative__factorial_8cpp.html +++ b/db/d9f/iterative__factorial_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: math/iterative_factorial.cpp File Reference +TheAlgorithms/C++: math/iterative_factorial.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
      @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -122,7 +139,9 @@ Include dependency graph for iterative_factorial.cpp:
      -
      -
      Algorithms_in_C++ 1.0.0 +
      TheAlgorithms/C++ 1.0.0
      -
      Set of algorithms implemented in C++.
      +
      All the algorithms implemented in C++
      + +

      Go to the source code of this file.

      +
      @@ -149,6 +168,8 @@ Functions = n\times(n-1)!\]

      for example: \(4! = 4\times3! = 4\times3\times2\times1 = 24\)

      + +

      Definition in file iterative_factorial.cpp.

      Function Documentation

      ◆ main()

      @@ -167,17 +188,14 @@ Functions

      Main function.

      Returns
      0 on exit
      + +

      Definition at line 120 of file iterative_factorial.cpp.

      120 {
      121 test(); // Run self-test implementation
      122 return 0;
      123}
      -
      static void test()
      Self-test implementations to test iterativeFactorial function.
      Definition iterative_factorial.cpp:69
      -
      -Here is the call graph for this function:
      -
      -
      -
      - +
      static void test()
      Self-test implementations to test iterativeFactorial function.
      + @@ -205,61 +223,56 @@ Here is the call graph for this function:

      Self-test implementations to test iterativeFactorial function.

      Note
      There is 1 special case: 0! = 1.
      + +

      Definition at line 69 of file iterative_factorial.cpp.

      69 {
      70 // Special case test
      -
      71 std::cout << "Exception case test \n"
      +
      71 std::cout << "Exception case test \n"
      72 "Input: 0 \n"
      73 "Expected output: 1 \n\n";
      74 assert(math::iterativeFactorial(0) == 1);
      75
      76 // Base case
      -
      77 std::cout << "Base case test \n"
      +
      77 std::cout << "Base case test \n"
      78 "Input: 1 \n"
      79 "Expected output: 1 \n\n";
      80 assert(math::iterativeFactorial(1) == 1);
      81
      82 // Small case
      -
      83 std::cout << "Small number case test \n"
      +
      83 std::cout << "Small number case test \n"
      84 "Input: 5 \n"
      85 "Expected output: 120 \n\n";
      86 assert(math::iterativeFactorial(5) == 120);
      87
      88 // Medium case
      -
      89 std::cout << "Medium number case test \n"
      +
      89 std::cout << "Medium number case test \n"
      90 "Input: 10 \n"
      91 "Expected output: 3628800 \n\n";
      92 assert(math::iterativeFactorial(10) == 3628800);
      93
      94 // Maximum case
      -
      95 std::cout << "Maximum case test \n"
      +
      95 std::cout << "Maximum case test \n"
      96 "Input: 20 \n"
      97 "Expected output: 2432902008176640000\n\n";
      98 assert(math::iterativeFactorial(20) == 2432902008176640000);
      99
      100 // Exception test
      -
      101 std::cout << "Exception test \n"
      +
      101 std::cout << "Exception test \n"
      102 "Input: 21 \n"
      103 "Expected output: Exception thrown \n";
      104
      105 bool wasExceptionThrown = false;
      106 try {
      -
      108 } catch (const std::invalid_argument&) {
      +
      108 } catch (const std::invalid_argument&) {
      109 wasExceptionThrown = true;
      110 }
      111 assert(wasExceptionThrown);
      112
      -
      113 std::cout << "All tests have passed successfully.\n";
      +
      113 std::cout << "All tests have passed successfully.\n";
      114}
      - - -
      uint64_t iterativeFactorial(uint8_t n)
      Calculates the factorial iteratively.
      Definition iterative_factorial.cpp:47
      -
      -Here is the call graph for this function:
      -
      -
      -
      - +
      uint64_t iterativeFactorial(uint8_t n)
      Calculates the factorial iteratively.
      + diff --git a/db/d9f/iterative__factorial_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map b/db/d9f/iterative__factorial_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map deleted file mode 100644 index a3ccd6a0a..000000000 --- a/db/d9f/iterative__factorial_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/db/d9f/iterative__factorial_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 b/db/d9f/iterative__factorial_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 deleted file mode 100644 index 316f0398c..000000000 --- a/db/d9f/iterative__factorial_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -0cce5031cae04071fc3753df9a39a4f7 \ No newline at end of file diff --git a/db/d9f/iterative__factorial_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg b/db/d9f/iterative__factorial_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg deleted file mode 100644 index b8d11b889..000000000 --- a/db/d9f/iterative__factorial_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -math::iterativeFactorial - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/db/d9f/iterative__factorial_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg b/db/d9f/iterative__factorial_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg deleted file mode 100644 index 1b5ef5236..000000000 --- a/db/d9f/iterative__factorial_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -math::iterativeFactorial - - - - - -Node1->Node2 - - - - - - - - diff --git a/db/d9f/iterative__factorial_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/db/d9f/iterative__factorial_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index b75d3dc63..000000000 --- a/db/d9f/iterative__factorial_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/db/d9f/iterative__factorial_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/db/d9f/iterative__factorial_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index ff9ef3d38..000000000 --- a/db/d9f/iterative__factorial_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -93ed276ab8cae16f8df792181c059f11 \ No newline at end of file diff --git a/db/d9f/iterative__factorial_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/db/d9f/iterative__factorial_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index fe143edc1..000000000 --- a/db/d9f/iterative__factorial_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -math::iterativeFactorial - - - - - -Node2->Node3 - - - - - - - - - - - - - diff --git a/db/d9f/iterative__factorial_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/db/d9f/iterative__factorial_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 42b2cfb31..000000000 --- a/db/d9f/iterative__factorial_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -math::iterativeFactorial - - - - - -Node2->Node3 - - - - - - - - diff --git a/db/d9f/iterative__factorial_8cpp_source.html b/db/d9f/iterative__factorial_8cpp_source.html new file mode 100644 index 000000000..f85b183e2 --- /dev/null +++ b/db/d9f/iterative__factorial_8cpp_source.html @@ -0,0 +1,224 @@ + + + + + + + + +TheAlgorithms/C++: math/iterative_factorial.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
      +
      +

      Namespaces

      namespace  math
      + + + + + + +
      +
      TheAlgorithms/C++ 1.0.0 +
      +
      All the algorithms implemented in C++
      +
      +
      + + + + + + + + +
      +
      + +
      +
      +
      + +
      + +
      +
      + + +
      +
      +
      +
      +
      +
      Loading...
      +
      Searching...
      +
      No Matches
      +
      +
      +
      +
      + +
      +
      iterative_factorial.cpp
      +
      +
      +Go to the documentation of this file.
      1
      +
      28#include <cassert>
      +
      29#include <cstdint>
      +
      30#include <exception>
      +
      31#include <iostream>
      +
      32
      +
      37namespace math {
      +
      38
      +
      +
      47uint64_t iterativeFactorial(uint8_t n) {
      +
      48 if (n > 20) {
      +
      49 throw std::invalid_argument("Maximum n value is 20");
      +
      50 }
      +
      51
      +
      52 // 1 because it is the identity number of multiplication.
      +
      53 uint64_t accumulator = 1;
      +
      54
      +
      55 while (n > 1) {
      +
      56 accumulator *= n;
      +
      57 --n;
      +
      58 }
      +
      59
      +
      60 return accumulator;
      +
      61}
      +
      +
      62
      +
      63} // namespace math
      +
      64
      +
      +
      69static void test() {
      +
      70 // Special case test
      +
      71 std::cout << "Exception case test \n"
      +
      72 "Input: 0 \n"
      +
      73 "Expected output: 1 \n\n";
      +
      74 assert(math::iterativeFactorial(0) == 1);
      +
      75
      +
      76 // Base case
      +
      77 std::cout << "Base case test \n"
      +
      78 "Input: 1 \n"
      +
      79 "Expected output: 1 \n\n";
      +
      80 assert(math::iterativeFactorial(1) == 1);
      +
      81
      +
      82 // Small case
      +
      83 std::cout << "Small number case test \n"
      +
      84 "Input: 5 \n"
      +
      85 "Expected output: 120 \n\n";
      +
      86 assert(math::iterativeFactorial(5) == 120);
      +
      87
      +
      88 // Medium case
      +
      89 std::cout << "Medium number case test \n"
      +
      90 "Input: 10 \n"
      +
      91 "Expected output: 3628800 \n\n";
      +
      92 assert(math::iterativeFactorial(10) == 3628800);
      +
      93
      +
      94 // Maximum case
      +
      95 std::cout << "Maximum case test \n"
      +
      96 "Input: 20 \n"
      +
      97 "Expected output: 2432902008176640000\n\n";
      +
      98 assert(math::iterativeFactorial(20) == 2432902008176640000);
      +
      99
      +
      100 // Exception test
      +
      101 std::cout << "Exception test \n"
      +
      102 "Input: 21 \n"
      +
      103 "Expected output: Exception thrown \n";
      +
      104
      +
      105 bool wasExceptionThrown = false;
      +
      106 try {
      + +
      108 } catch (const std::invalid_argument&) {
      +
      109 wasExceptionThrown = true;
      +
      110 }
      +
      111 assert(wasExceptionThrown);
      +
      112
      +
      113 std::cout << "All tests have passed successfully.\n";
      +
      114}
      +
      +
      115
      +
      +
      120int main() {
      +
      121 test(); // Run self-test implementation
      +
      122 return 0;
      +
      123}
      +
      +
      static void test()
      Self-test implementations to test iterativeFactorial function.
      +
      int main()
      Main function.
      +
      for assert
      +
      uint64_t iterativeFactorial(uint8_t n)
      Calculates the factorial iteratively.
      +
      +
      + + + + diff --git a/db/da9/classqueue.html b/db/da9/classqueue.html index adecdac0b..dd775366c 100644 --- a/db/da9/classqueue.html +++ b/db/da9/classqueue.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: queue< ValueType > Class Template Reference +TheAlgorithms/C++: queue< ValueType > Class Template Reference + + + @@ -18,14 +24,24 @@ - - + +
      @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -119,22 +136,21 @@ $(function(){initNavTree('db/da9/classqueue.html','../../'); initResizable(true)
      Collaboration diagram for queue< ValueType >:
      -
      +
      [legend]
      -
      Algorithms_in_C++ 1.0.0 +
      TheAlgorithms/C++ 1.0.0
      -
      Set of algorithms implemented in C++.
      +
      All the algorithms implemented in C++
      - +

      Public Types

      -using value_type = ValueType
      using value_type = ValueType
       
      - + - - + + @@ -153,8 +169,7 @@ Public Member Functions

      Public Member Functions

      void display () const
       prints the queue into the std::cout
       prints the queue into the std::cout
       
      std::vector< value_type > toVector () const
       converts the queue into the std::vector
      std::vector< value_type > toVector () const
       converts the queue into the std::vector
       
      bool isEmptyQueue () const
       checks if the queue has no elements
      - +

      Private Types

      -using node_type = Node<ValueType>
      using node_type = Node<ValueType>
       

      @@ -165,18 +180,64 @@ Private Member Functions

      - + - + - +

      Private Attributes

      std::shared_ptr< node_typequeueFront
      std::shared_ptr< node_typequeueFront
       
      std::shared_ptr< node_typequeueRear
      std::shared_ptr< node_typequeueRear
       
      -std::size_t size = 0
      std::size_t size = 0
       

      Detailed Description

      template<class ValueType>
      class queue< ValueType >

      Definition of the queue class

      -

      Member Function Documentation

      + +

      Definition at line 9 of file queue.hpp.

      +

      Member Typedef Documentation

      + +

      ◆ node_type

      + +
      +
      +
      +template<class ValueType >
      + + + + + +
      + + + + +
      using queue< ValueType >::node_type = Node<ValueType>
      +
      +private
      +
      + +

      Definition at line 10 of file queue.hpp.

      + +
      +
      + +

      ◆ value_type

      + +
      +
      +
      +template<class ValueType >
      + + + + +
      using queue< ValueType >::value_type = ValueType
      +
      + +

      Definition at line 13 of file queue.hpp.

      + +
      +
      +

      Member Function Documentation

      ◆ clear()

      @@ -203,13 +264,15 @@ template<class ValueType >

      removes all elements from the queue

      + +

      Definition at line 90 of file queue.hpp.

      90 {
      91 queueFront = nullptr;
      92 queueRear = nullptr;
      93 size = 0;
      94 }
      -
      std::shared_ptr< node_type > queueRear
      Definition queue.hpp:99
      -
      std::shared_ptr< node_type > queueFront
      Definition queue.hpp:97
      +
      std::shared_ptr< node_type > queueRear
      Definition queue.hpp:99
      +
      std::shared_ptr< node_type > queueFront
      Definition queue.hpp:97
      @@ -241,22 +304,19 @@ template<class ValueType >

      removes the first element from the queue

      Exceptions
      - +
      std::invalid_argumentif queue is empty
      std::invalid_argumentif queue is empty
      + +

      Definition at line 81 of file queue.hpp.

      81 {
      83 queueFront = queueFront->next;
      84 --size;
      85 }
      -
      void ensureNotEmpty() const
      throws an exception if queue is empty
      Definition queue.hpp:38
      -
      -Here is the call graph for this function:
      -
      -
      -
      - +
      void ensureNotEmpty() const
      throws an exception if queue is empty
      Definition queue.hpp:38
      +
      @@ -284,14 +344,15 @@ template<class ValueType >
      -

      prints the queue into the std::cout

      +

      prints the queue into the std::cout

      + +

      Definition at line 17 of file queue.hpp.

      17 {
      -
      18 std::cout << "Front --> ";
      +
      18 std::cout << "Front --> ";
      19 display_all(this->queueFront.get());
      -
      20 std::cout << '\n';
      -
      21 std::cout << "Size of queue: " << size << '\n';
      +
      20 std::cout << '\n';
      +
      21 std::cout << "Size of queue: " << size << '\n';
      22 }
      -
      @@ -321,8 +382,10 @@ template<class ValueType >

      inserts a new item into the queue

      + +

      Definition at line 54 of file queue.hpp.

      54 {
      -
      55 auto newNode = std::make_shared<node_type>();
      +
      55 auto newNode = std::make_shared<node_type>();
      56 newNode->data = item;
      57 newNode->next = nullptr;
      58 if (isEmptyQueue()) {
      @@ -334,14 +397,8 @@ template<class ValueType >
      64 }
      65 ++size;
      66 }
      -
      bool isEmptyQueue() const
      checks if the queue has no elements
      Definition queue.hpp:49
      -
      T make_shared(T... args)
      -
      -Here is the call graph for this function:
      -
      -
      -
      - +
      bool isEmptyQueue() const
      checks if the queue has no elements
      Definition queue.hpp:49
      +
      @@ -372,22 +429,18 @@ template<class ValueType >

      throws an exception if queue is empty

      Exceptions
      - +
      std::invalid_argumentif queue is empty
      std::invalid_argumentif queue is empty
      + +

      Definition at line 38 of file queue.hpp.

      38 {
      39 if (isEmptyQueue()) {
      -
      40 throw std::invalid_argument("Queue is empty.");
      +
      40 throw std::invalid_argument("Queue is empty.");
      41 }
      42 }
      - -
      -Here is the call graph for this function:
      -
      -
      -
      - + @@ -417,20 +470,17 @@ template<class ValueType >
      Returns
      the first element of the queue
      Exceptions
      - +
      std::invalid_argumentif queue is empty
      std::invalid_argumentif queue is empty
      + +

      Definition at line 72 of file queue.hpp.

      72 {
      74 return queueFront->data;
      75 }
      -
      -Here is the call graph for this function:
      -
      -
      -
      - + @@ -460,6 +510,8 @@ template<class ValueType >

      checks if the queue has no elements

      Returns
      true if the queue is empty, false otherwise
      + +

      Definition at line 49 of file queue.hpp.

      49{ return (queueFront == nullptr); }
      @@ -476,7 +528,7 @@ template<class ValueType > - + @@ -489,8 +541,10 @@ template<class ValueType >
      std::vector< value_type > queue< ValueType >::toVector std::vector< value_type > queue< ValueType >::toVector ( ) const
      -

      converts the queue into the std::vector

      -
      Returns
      std::vector containning all of the elements of the queue in the same order
      +

      converts the queue into the std::vector

      +
      Returns
      std::vector containning all of the elements of the queue in the same order
      + +

      Definition at line 29 of file queue.hpp.

      29 {
      30 return push_all_to_vector(this->queueFront.get(), this->size);
      31 }
      @@ -510,7 +564,7 @@ template<class ValueType >
      - +
      std::shared_ptr<node_type> queue< ValueType >::queueFrontstd::shared_ptr<node_type> queue< ValueType >::queueFront
      @@ -522,7 +576,9 @@ template<class ValueType >
      Initial value:
      =
      {}

      Pointer to the front of the queue

      -
      98 {}; /**< Pointer to the front of the queue */
      + +

      Definition at line 97 of file queue.hpp.

      +
      98 {};
      @@ -538,7 +594,7 @@ template<class ValueType > - +
      std::shared_ptr<node_type> queue< ValueType >::queueRearstd::shared_ptr<node_type> queue< ValueType >::queueRear
      @@ -551,8 +607,36 @@ template<class ValueType >
      {}

      Pointer to the rear of the queue

      -
      100 {}; /**< Pointer to the rear of the queue */
      + +

      Definition at line 99 of file queue.hpp.

      +
      100 {};
      +
      + + +

      ◆ size

      + +
      +
      +
      +template<class ValueType >
      + + + + + +
      + + + + +
      std::size_t queue< ValueType >::size = 0
      +
      +private
      +
      + +

      Definition at line 101 of file queue.hpp.

      +

      The documentation for this class was generated from the following file:
        diff --git a/db/da9/classqueue_a75e231798bc706b8b0773a07f78713e7_cgraph.map b/db/da9/classqueue_a75e231798bc706b8b0773a07f78713e7_cgraph.map deleted file mode 100644 index 34e52f502..000000000 --- a/db/da9/classqueue_a75e231798bc706b8b0773a07f78713e7_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/db/da9/classqueue_a75e231798bc706b8b0773a07f78713e7_cgraph.md5 b/db/da9/classqueue_a75e231798bc706b8b0773a07f78713e7_cgraph.md5 deleted file mode 100644 index bb521a6bf..000000000 --- a/db/da9/classqueue_a75e231798bc706b8b0773a07f78713e7_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -42d364e23137d9bd8d645f3d20254653 \ No newline at end of file diff --git a/db/da9/classqueue_a75e231798bc706b8b0773a07f78713e7_cgraph.svg b/db/da9/classqueue_a75e231798bc706b8b0773a07f78713e7_cgraph.svg deleted file mode 100644 index d5cbdd8a8..000000000 --- a/db/da9/classqueue_a75e231798bc706b8b0773a07f78713e7_cgraph.svg +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - -queue::front - - -Node1 - - -queue::front - - - - - -Node2 - - -queue::ensureNotEmpty - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -queue::isEmptyQueue - - - - - -Node2->Node3 - - - - - - - - - - - - - diff --git a/db/da9/classqueue_a75e231798bc706b8b0773a07f78713e7_cgraph_org.svg b/db/da9/classqueue_a75e231798bc706b8b0773a07f78713e7_cgraph_org.svg deleted file mode 100644 index 679d64981..000000000 --- a/db/da9/classqueue_a75e231798bc706b8b0773a07f78713e7_cgraph_org.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - -queue::front - - -Node1 - - -queue::front - - - - - -Node2 - - -queue::ensureNotEmpty - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -queue::isEmptyQueue - - - - - -Node2->Node3 - - - - - - - - diff --git a/db/da9/classqueue_ac08ebdd38cb4ad74fc0a3f51888da604_cgraph.map b/db/da9/classqueue_ac08ebdd38cb4ad74fc0a3f51888da604_cgraph.map deleted file mode 100644 index e7f284ea9..000000000 --- a/db/da9/classqueue_ac08ebdd38cb4ad74fc0a3f51888da604_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/db/da9/classqueue_ac08ebdd38cb4ad74fc0a3f51888da604_cgraph.md5 b/db/da9/classqueue_ac08ebdd38cb4ad74fc0a3f51888da604_cgraph.md5 deleted file mode 100644 index 6ed4a7766..000000000 --- a/db/da9/classqueue_ac08ebdd38cb4ad74fc0a3f51888da604_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -5a4a625cdfd2f8f12b75980e0f5e9945 \ No newline at end of file diff --git a/db/da9/classqueue_ac08ebdd38cb4ad74fc0a3f51888da604_cgraph.svg b/db/da9/classqueue_ac08ebdd38cb4ad74fc0a3f51888da604_cgraph.svg deleted file mode 100644 index 969eb6be7..000000000 --- a/db/da9/classqueue_ac08ebdd38cb4ad74fc0a3f51888da604_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -queue::ensureNotEmpty - - -Node1 - - -queue::ensureNotEmpty - - - - - -Node2 - - -queue::isEmptyQueue - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/db/da9/classqueue_ac08ebdd38cb4ad74fc0a3f51888da604_cgraph_org.svg b/db/da9/classqueue_ac08ebdd38cb4ad74fc0a3f51888da604_cgraph_org.svg deleted file mode 100644 index 19168e6c3..000000000 --- a/db/da9/classqueue_ac08ebdd38cb4ad74fc0a3f51888da604_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -queue::ensureNotEmpty - - -Node1 - - -queue::ensureNotEmpty - - - - - -Node2 - - -queue::isEmptyQueue - - - - - -Node1->Node2 - - - - - - - - diff --git a/db/da9/classqueue_ada88d0c1f34946d66386b7a11bee4e4d_cgraph.map b/db/da9/classqueue_ada88d0c1f34946d66386b7a11bee4e4d_cgraph.map deleted file mode 100644 index c3f6544e6..000000000 --- a/db/da9/classqueue_ada88d0c1f34946d66386b7a11bee4e4d_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/db/da9/classqueue_ada88d0c1f34946d66386b7a11bee4e4d_cgraph.md5 b/db/da9/classqueue_ada88d0c1f34946d66386b7a11bee4e4d_cgraph.md5 deleted file mode 100644 index 993d03d85..000000000 --- a/db/da9/classqueue_ada88d0c1f34946d66386b7a11bee4e4d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -d3f453739f446945095205a5437a8b7b \ No newline at end of file diff --git a/db/da9/classqueue_ada88d0c1f34946d66386b7a11bee4e4d_cgraph.svg b/db/da9/classqueue_ada88d0c1f34946d66386b7a11bee4e4d_cgraph.svg deleted file mode 100644 index 2d8df534e..000000000 --- a/db/da9/classqueue_ada88d0c1f34946d66386b7a11bee4e4d_cgraph.svg +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - -queue::enQueue - - -Node1 - - -queue::enQueue - - - - - -Node2 - - -queue::isEmptyQueue - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::make_shared - - - - - -Node1->Node3 - - - - - - - - - - - - - diff --git a/db/da9/classqueue_ada88d0c1f34946d66386b7a11bee4e4d_cgraph_org.svg b/db/da9/classqueue_ada88d0c1f34946d66386b7a11bee4e4d_cgraph_org.svg deleted file mode 100644 index 87704e6b2..000000000 --- a/db/da9/classqueue_ada88d0c1f34946d66386b7a11bee4e4d_cgraph_org.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - -queue::enQueue - - -Node1 - - -queue::enQueue - - - - - -Node2 - - -queue::isEmptyQueue - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::make_shared - - - - - -Node1->Node3 - - - - - - - - diff --git a/db/da9/classqueue_af27dbb72fb63f58f817a88550d7faa85_cgraph.map b/db/da9/classqueue_af27dbb72fb63f58f817a88550d7faa85_cgraph.map deleted file mode 100644 index d687ba3a0..000000000 --- a/db/da9/classqueue_af27dbb72fb63f58f817a88550d7faa85_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/db/da9/classqueue_af27dbb72fb63f58f817a88550d7faa85_cgraph.md5 b/db/da9/classqueue_af27dbb72fb63f58f817a88550d7faa85_cgraph.md5 deleted file mode 100644 index 5c980bad8..000000000 --- a/db/da9/classqueue_af27dbb72fb63f58f817a88550d7faa85_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -3477881256f23be0473b9d7b7ae11d21 \ No newline at end of file diff --git a/db/da9/classqueue_af27dbb72fb63f58f817a88550d7faa85_cgraph.svg b/db/da9/classqueue_af27dbb72fb63f58f817a88550d7faa85_cgraph.svg deleted file mode 100644 index 062db8d7a..000000000 --- a/db/da9/classqueue_af27dbb72fb63f58f817a88550d7faa85_cgraph.svg +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - -queue::deQueue - - -Node1 - - -queue::deQueue - - - - - -Node2 - - -queue::ensureNotEmpty - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -queue::isEmptyQueue - - - - - -Node2->Node3 - - - - - - - - - - - - - diff --git a/db/da9/classqueue_af27dbb72fb63f58f817a88550d7faa85_cgraph_org.svg b/db/da9/classqueue_af27dbb72fb63f58f817a88550d7faa85_cgraph_org.svg deleted file mode 100644 index 44951284d..000000000 --- a/db/da9/classqueue_af27dbb72fb63f58f817a88550d7faa85_cgraph_org.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - -queue::deQueue - - -Node1 - - -queue::deQueue - - - - - -Node2 - - -queue::ensureNotEmpty - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -queue::isEmptyQueue - - - - - -Node2->Node3 - - - - - - - - diff --git a/db/db2/counting__sort__string_8cpp_source.html b/db/db2/counting__sort__string_8cpp_source.html new file mode 100644 index 000000000..9dd74c435 --- /dev/null +++ b/db/db2/counting__sort__string_8cpp_source.html @@ -0,0 +1,171 @@ + + + + + + + + +TheAlgorithms/C++: sorting/counting_sort_string.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
        +
        + + + + + + + +
        +
        TheAlgorithms/C++ 1.0.0 +
        +
        All the algorithms implemented in C++
        +
        +
        + + + + + + + + +
        +
        + +
        +
        +
        + +
        + +
        +
        + + +
        +
        +
        +
        +
        +
        Loading...
        +
        Searching...
        +
        No Matches
        +
        +
        +
        +
        + +
        +
        counting_sort_string.cpp
        +
        +
        +
        1// C++ Program for counting sort
        +
        2#include <iostream>
        +
        3
        +
        4using namespace std;
        +
        5
        +
        6void countSort(string arr) {
        +
        7 string output;
        +
        8
        +
        9 int count[256], i;
        +
        10 for (int i = 0; i < 256; i++) count[i] = 0;
        +
        11
        +
        12 for (i = 0; arr[i]; ++i) ++count[arr[i]];
        +
        13
        +
        14 for (i = 1; i < 256; ++i) count[i] += count[i - 1];
        +
        15
        +
        16 for (i = 0; arr[i]; ++i) {
        +
        17 output[count[arr[i]] - 1] = arr[i];
        +
        18 --count[arr[i]];
        +
        19 }
        +
        20
        +
        21 for (i = 0; arr[i]; ++i) arr[i] = output[i];
        +
        22
        +
        23 cout << "Sorted character array is " << arr;
        +
        24}
        +
        25
        +
        26int main() {
        +
        27 string arr;
        +
        28 cin >> arr;
        +
        29
        +
        30 countSort(arr);
        +
        31
        +
        32 return 0;
        +
        33}
        +
        int main()
        Main function.
        +
        +
        + + + + diff --git a/db/db5/slow__sort_8cpp_source.html b/db/db5/slow__sort_8cpp_source.html new file mode 100644 index 000000000..557cbab73 --- /dev/null +++ b/db/db5/slow__sort_8cpp_source.html @@ -0,0 +1,194 @@ + + + + + + + + +TheAlgorithms/C++: sorting/slow_sort.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
        +
        + + + + + + + +
        +
        TheAlgorithms/C++ 1.0.0 +
        +
        All the algorithms implemented in C++
        +
        +
        + + + + + + + + +
        +
        + +
        +
        +
        + +
        + +
        +
        + + +
        +
        +
        +
        +
        +
        Loading...
        +
        Searching...
        +
        No Matches
        +
        +
        +
        +
        + +
        +
        slow_sort.cpp
        +
        +
        +
        1// Returns the sorted vector after performing SlowSort
        +
        2// It is a sorting algorithm that is of humorous nature and not useful.
        +
        3// It's based on the principle of multiply and surrender, a tongue-in-cheek joke
        +
        4// of divide and conquer. It was published in 1986 by Andrei Broder and Jorge
        +
        5// Stolfi in their paper Pessimal Algorithms and Simplexity Analysis. This
        +
        6// algorithm multiplies a single problem into multiple subproblems It is
        +
        7// interesting because it is provably the least efficient sorting algorithm that
        +
        8// can be built asymptotically, and with the restriction that such an algorithm,
        +
        9// while being slow, must still all the time be working towards a result.
        +
        10
        +
        11#include <iostream>
        +
        12
        +
        13void SlowSort(int a[], int i, int j) {
        +
        14 if (i >= j)
        +
        15 return;
        +
        16 int m = i + (j - i) / 2; // midpoint, implemented this way to avoid
        +
        17 // overflow
        +
        18 int temp;
        +
        19 SlowSort(a, i, m);
        +
        20 SlowSort(a, m + 1, j);
        +
        21 if (a[j] < a[m]) {
        +
        22 temp = a[j]; // swapping a[j] & a[m]
        +
        23 a[j] = a[m];
        +
        24 a[m] = temp;
        +
        25 }
        +
        26 SlowSort(a, i, j - 1);
        +
        27}
        +
        28
        +
        29// Sample Main function
        +
        30
        +
        31int main() {
        +
        32 int size;
        +
        33 std::cout << "\nEnter the number of elements : ";
        +
        34
        +
        35 std::cin >> size;
        +
        36
        +
        37 int *arr = new int[size];
        +
        38
        +
        39 std::cout << "\nEnter the unsorted elements : ";
        +
        40
        +
        41 for (int i = 0; i < size; ++i) {
        +
        42 std::cout << "\n";
        +
        43 std::cin >> arr[i];
        +
        44 }
        +
        45
        +
        46 SlowSort(arr, 0, size);
        +
        47
        +
        48 std::cout << "Sorted array\n";
        +
        49
        +
        50 for (int i = 0; i < size; ++i) {
        +
        51 std::cout << arr[i] << " ";
        +
        52 }
        +
        53
        +
        54 delete[] arr;
        +
        55 return 0;
        +
        56}
        +
        int main()
        Main function.
        +
        +
        + + + + diff --git a/db/dbc/tree__234_8cpp.html b/db/dbc/tree__234_8cpp.html index 491fe1c62..1b80bc9d0 100644 --- a/db/dbc/tree__234_8cpp.html +++ b/db/dbc/tree__234_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: data_structures/tree_234.cpp File Reference +TheAlgorithms/C++: data_structures/tree_234.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
        @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -126,7 +143,9 @@ Include dependency graph for tree_234.cpp:
        -
        -
        Algorithms_in_C++ 1.0.0 +
        TheAlgorithms/C++ 1.0.0
        -
        Set of algorithms implemented in C++.
        +
        All the algorithms implemented in C++
        + +

        Go to the source code of this file.

        +
        @@ -160,6 +179,8 @@ Functions

        Detailed Description

        A demo 2-3-4 tree implementation.

        2–3–4 tree is a self-balancing data structure that is an isometry of red–black trees. Though we seldom use them in practice, we study them to understand the theory behind Red-Black tree. Please read following links for more infomation. 2–3–4 tree 2-3-4 Trees: A Visual Introduction We Only implement some basic and complicated operations in this demo. Other operations should be easy to be added.

        Author
        liuhuan
        + +

        Definition in file tree_234.cpp.

        Function Documentation

        ◆ main()

        @@ -189,24 +210,20 @@ Functions
        Returns
        0 on exit
        + +

        Definition at line 1298 of file tree_234.cpp.

        1298 {
        1299 if (argc < 2) {
        1300 test1(); // execute 1st test
        1301 } else {
        -
        1302 test2(std::stoi(argv[1])); // execute 2nd test
        +
        1302 test2(std::stoi(argv[1])); // execute 2nd test
        1303 }
        1304
        1305 return 0;
        1306}
        -
        static void test2()
        Self-implementations, 2nd test.
        Definition dsu_path_compression.cpp:187
        -
        T stoi(T... args)
        -
        static void test1()
        simple test to insert a given array and delete some item, and print the tree
        Definition tree_234.cpp:1263
        -
        -Here is the call graph for this function:
        -
        -
        -
        - +
        static void test2()
        Self-implementations, 2nd test.
        +
        static void test1()
        simple test to insert a given array and delete some item, and print the tree
        + @@ -233,8 +250,10 @@ Here is the call graph for this function:

        simple test to insert a given array and delete some item, and print the tree

        + +

        Definition at line 1263 of file tree_234.cpp.

        1263 {
        -
        1264 std::array<int16_t, 13> arr = {3, 1, 5, 4, 2, 9, 10, 8, 7, 6, 16, 13, 14};
        +
        1264 std::array<int16_t, 13> arr = {3, 1, 5, 4, 2, 9, 10, 8, 7, 6, 16, 13, 14};
        1266
        1267 for (auto i : arr) {
        @@ -245,17 +264,11 @@ Here is the call graph for this function:
        1272 tree.Remove(5);
        1273 tree.Print();
        1274}
        - -
        2-3-4 tree class
        Definition tree_234.cpp:323
        -
        void Print(const char *file_name=nullptr)
        Print tree into a dot file.
        Definition tree_234.cpp:1131
        -
        bool Remove(int64_t item)
        Remove item from tree.
        Definition tree_234.cpp:929
        -
        void Insert(int64_t item)
        Insert item to tree.
        Definition tree_234.cpp:655
        -
        -Here is the call graph for this function:
        -
        -
        -
        - + +
        void Print(const char *file_name=nullptr)
        Print tree into a dot file.
        +
        bool Remove(int64_t item)
        Remove item from tree.
        Definition tree_234.cpp:929
        +
        void Insert(int64_t item)
        Insert item to tree.
        Definition tree_234.cpp:655
        + @@ -288,6 +301,8 @@ Here is the call graph for this function:

        Classes

        class  data_structures::tree_234::Node
        + +

        Definition at line 1281 of file tree_234.cpp.

        1281 {
        1283
        @@ -296,16 +311,10 @@ Here is the call graph for this function:
        1286 }
        1287
        1288 tree.Traverse();
        -
        1289 tree.Print((std::to_string(n) + ".dot").c_str());
        +
        1289 tree.Print((std::to_string(n) + ".dot").c_str());
        1290}
        -
        void Traverse()
        In-order traverse.
        Definition tree_234.cpp:562
        -
        T to_string(T... args)
        -
        -Here is the call graph for this function:
        -
        -
        -
        - +
        void Traverse()
        In-order traverse.
        Definition tree_234.cpp:562
        + diff --git a/db/dbc/tree__234_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.map b/db/dbc/tree__234_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.map deleted file mode 100644 index 9b45b2ca2..000000000 --- a/db/dbc/tree__234_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.map +++ /dev/null @@ -1,109 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/db/dbc/tree__234_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.md5 b/db/dbc/tree__234_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.md5 deleted file mode 100644 index d8f6f4a62..000000000 --- a/db/dbc/tree__234_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -9ffc7dea6f08afce5288878e136fb1d7 \ No newline at end of file diff --git a/db/dbc/tree__234_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.svg b/db/dbc/tree__234_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.svg deleted file mode 100644 index 3bb917159..000000000 --- a/db/dbc/tree__234_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.svg +++ /dev/null @@ -1,1088 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -std::stoi - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -test1 - - - - - -Node1->Node3 - - - - - - - - -Node38 - - -test2 - - - - - -Node1->Node38 - - - - - - - - -Node4 - - -data_structures::tree -_234::Tree234::Insert - - - - - -Node3->Node4 - - - - - - - - -Node14 - - -data_structures::tree -_234::Tree234::Print - - - - - -Node3->Node14 - - - - - - - - -Node19 - - -data_structures::tree -_234::Tree234::Remove - - - - - -Node3->Node19 - - - - - - - - -Node5 - - -data_structures::tree -_234::Tree234::InsertPreSplit - - - - - -Node4->Node5 - - - - - - - - -Node6 - - -std::unique_ptr::get - - - - - -Node5->Node6 - - - - - - - - -Node7 - - -data_structures::tree -_234::Tree234::MergeNodeNotFull - - - - - -Node5->Node7 - - - - - - - - -Node13 - - -data_structures::tree -_234::Tree234::SplitNode - - - - - -Node5->Node13 - - - - - - - - -Node8 - - -data_structures::tree -_234::Node::InsertItem - - - - - -Node7->Node8 - - - - - - - - -Node11 - - -data_structures::tree -_234::Node::IsFull - - - - - -Node7->Node11 - - - - - - - - -Node12 - - -data_structures::tree -_234::Node::SetChild - - - - - -Node7->Node12 - - - - - - - - -Node9 - - -data_structures::tree -_234::Node::Contains - - - - - -Node8->Node9 - - - - - - - - -Node10 - - -data_structures::tree -_234::Node::InsertItemByIndex - - - - - -Node8->Node10 - - - - - - - - -Node8->Node11 - - - - - - - - -Node15 - - -std::ofstream::close - - - - - -Node14->Node15 - - - - - - - - -Node16 - - -std::endl - - - - - -Node14->Node16 - - - - - - - - -Node17 - - -std::ofstream::open - - - - - -Node14->Node17 - - - - - - - - -Node18 - - -data_structures::tree -_234::Tree234::PrintNode - - - - - -Node14->Node18 - - - - - - - - -Node20 - - -data_structures::tree -_234::Tree234::RemovePreMerge - - - - - -Node19->Node20 - - - - - - - - -Node21 - - -data_structures::tree -_234::Tree234::GetTreeMaxItem - - - - - -Node20->Node21 - - - - - - - - -Node24 - - -data_structures::tree -_234::Tree234::GetTreeMinItem - - - - - -Node20->Node24 - - - - - - - - -Node27 - - -data_structures::tree -_234::Node::Is2Node - - - - - -Node20->Node27 - - - - - - - - -Node28 - - -data_structures::tree -_234::Node::Is34Node - - - - - -Node20->Node28 - - - - - - - - -Node29 - - -data_structures::tree -_234::Tree234::LeftRotate - - - - - -Node20->Node29 - - - - - - - - -Node30 - - -data_structures::tree -_234::Tree234::Merge - - - - - -Node20->Node30 - - - - - - - - -Node35 - - -data_structures::tree -_234::Tree234::RightRotate - - - - - -Node20->Node35 - - - - - - - - -Node36 - - -data_structures::tree -_234::Tree234::TryLeftRotate - - - - - -Node20->Node36 - - - - - - - - -Node37 - - -data_structures::tree -_234::Tree234::TryRightRotate - - - - - -Node20->Node37 - - - - - - - - -Node22 - - -data_structures::tree -_234::Node::GetMaxItem - - - - - -Node21->Node22 - - - - - - - - -Node23 - - -data_structures::tree -_234::Node::GetRightmostChild - - - - - -Node21->Node23 - - - - - - - - -Node25 - - -data_structures::tree -_234::Node::GetLeftmostChild - - - - - -Node24->Node25 - - - - - - - - -Node26 - - -data_structures::tree -_234::Node::GetMinItem - - - - - -Node24->Node26 - - - - - - - - -Node30->Node12 - - - - - - - - -Node30->Node27 - - - - - - - - -Node31 - - -data_structures::tree -_234::Node::GetChild - - - - - -Node30->Node31 - - - - - - - - -Node32 - - -data_structures::tree -_234::Node::GetItem - - - - - -Node30->Node32 - - - - - - - - -Node33 - - -data_structures::tree -_234::Node::SetCount - - - - - -Node30->Node33 - - - - - - - - -Node34 - - -data_structures::tree -_234::Node::SetItem - - - - - -Node30->Node34 - - - - - - - - -Node36->Node27 - - - - - - - - -Node36->Node29 - - - - - - - - -Node37->Node27 - - - - - - - - -Node37->Node35 - - - - - - - - -Node39 - - -dsu::get - - - - - -Node38->Node39 - - - - - - - - -Node44 - - -dsu::UnionSet - - - - - -Node38->Node44 - - - - - - - - -Node40 - - -dsu::get_max - - - - - -Node39->Node40 - - - - - - - - -Node42 - - -dsu::get_min - - - - - -Node39->Node42 - - - - - - - - -Node43 - - -dsu::size - - - - - -Node39->Node43 - - - - - - - - -Node41 - - -dsu::findSet - - - - - -Node40->Node41 - - - - - - - - -Node41->Node41 - - - - - - - - -Node42->Node41 - - - - - - - - -Node43->Node41 - - - - - - - - -Node44->Node41 - - - - - - - - -Node45 - - -dsu::isSame - - - - - -Node44->Node45 - - - - - - - - -Node46 - - -std::max - - - - - -Node44->Node46 - - - - - - - - -Node47 - - -std::min - - - - - -Node44->Node47 - - - - - - - - -Node48 - - -std::swap - - - - - -Node44->Node48 - - - - - - - - -Node45->Node41 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/db/dbc/tree__234_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph_org.svg b/db/dbc/tree__234_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph_org.svg deleted file mode 100644 index 46164d365..000000000 --- a/db/dbc/tree__234_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph_org.svg +++ /dev/null @@ -1,1005 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -std::stoi - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -test1 - - - - - -Node1->Node3 - - - - - - - - -Node38 - - -test2 - - - - - -Node1->Node38 - - - - - - - - -Node4 - - -data_structures::tree -_234::Tree234::Insert - - - - - -Node3->Node4 - - - - - - - - -Node14 - - -data_structures::tree -_234::Tree234::Print - - - - - -Node3->Node14 - - - - - - - - -Node19 - - -data_structures::tree -_234::Tree234::Remove - - - - - -Node3->Node19 - - - - - - - - -Node5 - - -data_structures::tree -_234::Tree234::InsertPreSplit - - - - - -Node4->Node5 - - - - - - - - -Node6 - - -std::unique_ptr::get - - - - - -Node5->Node6 - - - - - - - - -Node7 - - -data_structures::tree -_234::Tree234::MergeNodeNotFull - - - - - -Node5->Node7 - - - - - - - - -Node13 - - -data_structures::tree -_234::Tree234::SplitNode - - - - - -Node5->Node13 - - - - - - - - -Node8 - - -data_structures::tree -_234::Node::InsertItem - - - - - -Node7->Node8 - - - - - - - - -Node11 - - -data_structures::tree -_234::Node::IsFull - - - - - -Node7->Node11 - - - - - - - - -Node12 - - -data_structures::tree -_234::Node::SetChild - - - - - -Node7->Node12 - - - - - - - - -Node9 - - -data_structures::tree -_234::Node::Contains - - - - - -Node8->Node9 - - - - - - - - -Node10 - - -data_structures::tree -_234::Node::InsertItemByIndex - - - - - -Node8->Node10 - - - - - - - - -Node8->Node11 - - - - - - - - -Node15 - - -std::ofstream::close - - - - - -Node14->Node15 - - - - - - - - -Node16 - - -std::endl - - - - - -Node14->Node16 - - - - - - - - -Node17 - - -std::ofstream::open - - - - - -Node14->Node17 - - - - - - - - -Node18 - - -data_structures::tree -_234::Tree234::PrintNode - - - - - -Node14->Node18 - - - - - - - - -Node20 - - -data_structures::tree -_234::Tree234::RemovePreMerge - - - - - -Node19->Node20 - - - - - - - - -Node21 - - -data_structures::tree -_234::Tree234::GetTreeMaxItem - - - - - -Node20->Node21 - - - - - - - - -Node24 - - -data_structures::tree -_234::Tree234::GetTreeMinItem - - - - - -Node20->Node24 - - - - - - - - -Node27 - - -data_structures::tree -_234::Node::Is2Node - - - - - -Node20->Node27 - - - - - - - - -Node28 - - -data_structures::tree -_234::Node::Is34Node - - - - - -Node20->Node28 - - - - - - - - -Node29 - - -data_structures::tree -_234::Tree234::LeftRotate - - - - - -Node20->Node29 - - - - - - - - -Node30 - - -data_structures::tree -_234::Tree234::Merge - - - - - -Node20->Node30 - - - - - - - - -Node35 - - -data_structures::tree -_234::Tree234::RightRotate - - - - - -Node20->Node35 - - - - - - - - -Node36 - - -data_structures::tree -_234::Tree234::TryLeftRotate - - - - - -Node20->Node36 - - - - - - - - -Node37 - - -data_structures::tree -_234::Tree234::TryRightRotate - - - - - -Node20->Node37 - - - - - - - - -Node22 - - -data_structures::tree -_234::Node::GetMaxItem - - - - - -Node21->Node22 - - - - - - - - -Node23 - - -data_structures::tree -_234::Node::GetRightmostChild - - - - - -Node21->Node23 - - - - - - - - -Node25 - - -data_structures::tree -_234::Node::GetLeftmostChild - - - - - -Node24->Node25 - - - - - - - - -Node26 - - -data_structures::tree -_234::Node::GetMinItem - - - - - -Node24->Node26 - - - - - - - - -Node30->Node12 - - - - - - - - -Node30->Node27 - - - - - - - - -Node31 - - -data_structures::tree -_234::Node::GetChild - - - - - -Node30->Node31 - - - - - - - - -Node32 - - -data_structures::tree -_234::Node::GetItem - - - - - -Node30->Node32 - - - - - - - - -Node33 - - -data_structures::tree -_234::Node::SetCount - - - - - -Node30->Node33 - - - - - - - - -Node34 - - -data_structures::tree -_234::Node::SetItem - - - - - -Node30->Node34 - - - - - - - - -Node36->Node27 - - - - - - - - -Node36->Node29 - - - - - - - - -Node37->Node27 - - - - - - - - -Node37->Node35 - - - - - - - - -Node39 - - -dsu::get - - - - - -Node38->Node39 - - - - - - - - -Node44 - - -dsu::UnionSet - - - - - -Node38->Node44 - - - - - - - - -Node40 - - -dsu::get_max - - - - - -Node39->Node40 - - - - - - - - -Node42 - - -dsu::get_min - - - - - -Node39->Node42 - - - - - - - - -Node43 - - -dsu::size - - - - - -Node39->Node43 - - - - - - - - -Node41 - - -dsu::findSet - - - - - -Node40->Node41 - - - - - - - - -Node41->Node41 - - - - - - - - -Node42->Node41 - - - - - - - - -Node43->Node41 - - - - - - - - -Node44->Node41 - - - - - - - - -Node45 - - -dsu::isSame - - - - - -Node44->Node45 - - - - - - - - -Node46 - - -std::max - - - - - -Node44->Node46 - - - - - - - - -Node47 - - -std::min - - - - - -Node44->Node47 - - - - - - - - -Node48 - - -std::swap - - - - - -Node44->Node48 - - - - - - - - -Node45->Node41 - - - - - - - - diff --git a/db/dbc/tree__234_8cpp_ae7880ce913f3058a35ff106d5be9e243_cgraph.map b/db/dbc/tree__234_8cpp_ae7880ce913f3058a35ff106d5be9e243_cgraph.map deleted file mode 100644 index 025179928..000000000 --- a/db/dbc/tree__234_8cpp_ae7880ce913f3058a35ff106d5be9e243_cgraph.map +++ /dev/null @@ -1,78 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/db/dbc/tree__234_8cpp_ae7880ce913f3058a35ff106d5be9e243_cgraph.md5 b/db/dbc/tree__234_8cpp_ae7880ce913f3058a35ff106d5be9e243_cgraph.md5 deleted file mode 100644 index 635736f14..000000000 --- a/db/dbc/tree__234_8cpp_ae7880ce913f3058a35ff106d5be9e243_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -f2f8fe8ce19bdf913b946f0833d90053 \ No newline at end of file diff --git a/db/dbc/tree__234_8cpp_ae7880ce913f3058a35ff106d5be9e243_cgraph.svg b/db/dbc/tree__234_8cpp_ae7880ce913f3058a35ff106d5be9e243_cgraph.svg deleted file mode 100644 index 347003604..000000000 --- a/db/dbc/tree__234_8cpp_ae7880ce913f3058a35ff106d5be9e243_cgraph.svg +++ /dev/null @@ -1,809 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -test1 - - -Node1 - - -test1 - - - - - -Node2 - - -data_structures::tree -_234::Tree234::Insert - - - - - -Node1->Node2 - - - - - - - - -Node12 - - -data_structures::tree -_234::Tree234::Print - - - - - -Node1->Node12 - - - - - - - - -Node17 - - -data_structures::tree -_234::Tree234::Remove - - - - - -Node1->Node17 - - - - - - - - -Node3 - - -data_structures::tree -_234::Tree234::InsertPreSplit - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::unique_ptr::get - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -data_structures::tree -_234::Tree234::MergeNodeNotFull - - - - - -Node3->Node5 - - - - - - - - -Node11 - - -data_structures::tree -_234::Tree234::SplitNode - - - - - -Node3->Node11 - - - - - - - - -Node6 - - -data_structures::tree -_234::Node::InsertItem - - - - - -Node5->Node6 - - - - - - - - -Node9 - - -data_structures::tree -_234::Node::IsFull - - - - - -Node5->Node9 - - - - - - - - -Node10 - - -data_structures::tree -_234::Node::SetChild - - - - - -Node5->Node10 - - - - - - - - -Node7 - - -data_structures::tree -_234::Node::Contains - - - - - -Node6->Node7 - - - - - - - - -Node8 - - -data_structures::tree -_234::Node::InsertItemByIndex - - - - - -Node6->Node8 - - - - - - - - -Node6->Node9 - - - - - - - - -Node13 - - -std::ofstream::close - - - - - -Node12->Node13 - - - - - - - - -Node14 - - -std::endl - - - - - -Node12->Node14 - - - - - - - - -Node15 - - -std::ofstream::open - - - - - -Node12->Node15 - - - - - - - - -Node16 - - -data_structures::tree -_234::Tree234::PrintNode - - - - - -Node12->Node16 - - - - - - - - -Node18 - - -data_structures::tree -_234::Tree234::RemovePreMerge - - - - - -Node17->Node18 - - - - - - - - -Node19 - - -data_structures::tree -_234::Tree234::GetTreeMaxItem - - - - - -Node18->Node19 - - - - - - - - -Node22 - - -data_structures::tree -_234::Tree234::GetTreeMinItem - - - - - -Node18->Node22 - - - - - - - - -Node25 - - -data_structures::tree -_234::Node::Is2Node - - - - - -Node18->Node25 - - - - - - - - -Node26 - - -data_structures::tree -_234::Node::Is34Node - - - - - -Node18->Node26 - - - - - - - - -Node27 - - -data_structures::tree -_234::Tree234::LeftRotate - - - - - -Node18->Node27 - - - - - - - - -Node28 - - -data_structures::tree -_234::Tree234::Merge - - - - - -Node18->Node28 - - - - - - - - -Node33 - - -data_structures::tree -_234::Tree234::RightRotate - - - - - -Node18->Node33 - - - - - - - - -Node34 - - -data_structures::tree -_234::Tree234::TryLeftRotate - - - - - -Node18->Node34 - - - - - - - - -Node35 - - -data_structures::tree -_234::Tree234::TryRightRotate - - - - - -Node18->Node35 - - - - - - - - -Node20 - - -data_structures::tree -_234::Node::GetMaxItem - - - - - -Node19->Node20 - - - - - - - - -Node21 - - -data_structures::tree -_234::Node::GetRightmostChild - - - - - -Node19->Node21 - - - - - - - - -Node23 - - -data_structures::tree -_234::Node::GetLeftmostChild - - - - - -Node22->Node23 - - - - - - - - -Node24 - - -data_structures::tree -_234::Node::GetMinItem - - - - - -Node22->Node24 - - - - - - - - -Node28->Node10 - - - - - - - - -Node28->Node25 - - - - - - - - -Node29 - - -data_structures::tree -_234::Node::GetChild - - - - - -Node28->Node29 - - - - - - - - -Node30 - - -data_structures::tree -_234::Node::GetItem - - - - - -Node28->Node30 - - - - - - - - -Node31 - - -data_structures::tree -_234::Node::SetCount - - - - - -Node28->Node31 - - - - - - - - -Node32 - - -data_structures::tree -_234::Node::SetItem - - - - - -Node28->Node32 - - - - - - - - -Node34->Node25 - - - - - - - - -Node34->Node27 - - - - - - - - -Node35->Node25 - - - - - - - - -Node35->Node33 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/db/dbc/tree__234_8cpp_ae7880ce913f3058a35ff106d5be9e243_cgraph_org.svg b/db/dbc/tree__234_8cpp_ae7880ce913f3058a35ff106d5be9e243_cgraph_org.svg deleted file mode 100644 index d8f3a569a..000000000 --- a/db/dbc/tree__234_8cpp_ae7880ce913f3058a35ff106d5be9e243_cgraph_org.svg +++ /dev/null @@ -1,726 +0,0 @@ - - - - - - -test1 - - -Node1 - - -test1 - - - - - -Node2 - - -data_structures::tree -_234::Tree234::Insert - - - - - -Node1->Node2 - - - - - - - - -Node12 - - -data_structures::tree -_234::Tree234::Print - - - - - -Node1->Node12 - - - - - - - - -Node17 - - -data_structures::tree -_234::Tree234::Remove - - - - - -Node1->Node17 - - - - - - - - -Node3 - - -data_structures::tree -_234::Tree234::InsertPreSplit - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::unique_ptr::get - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -data_structures::tree -_234::Tree234::MergeNodeNotFull - - - - - -Node3->Node5 - - - - - - - - -Node11 - - -data_structures::tree -_234::Tree234::SplitNode - - - - - -Node3->Node11 - - - - - - - - -Node6 - - -data_structures::tree -_234::Node::InsertItem - - - - - -Node5->Node6 - - - - - - - - -Node9 - - -data_structures::tree -_234::Node::IsFull - - - - - -Node5->Node9 - - - - - - - - -Node10 - - -data_structures::tree -_234::Node::SetChild - - - - - -Node5->Node10 - - - - - - - - -Node7 - - -data_structures::tree -_234::Node::Contains - - - - - -Node6->Node7 - - - - - - - - -Node8 - - -data_structures::tree -_234::Node::InsertItemByIndex - - - - - -Node6->Node8 - - - - - - - - -Node6->Node9 - - - - - - - - -Node13 - - -std::ofstream::close - - - - - -Node12->Node13 - - - - - - - - -Node14 - - -std::endl - - - - - -Node12->Node14 - - - - - - - - -Node15 - - -std::ofstream::open - - - - - -Node12->Node15 - - - - - - - - -Node16 - - -data_structures::tree -_234::Tree234::PrintNode - - - - - -Node12->Node16 - - - - - - - - -Node18 - - -data_structures::tree -_234::Tree234::RemovePreMerge - - - - - -Node17->Node18 - - - - - - - - -Node19 - - -data_structures::tree -_234::Tree234::GetTreeMaxItem - - - - - -Node18->Node19 - - - - - - - - -Node22 - - -data_structures::tree -_234::Tree234::GetTreeMinItem - - - - - -Node18->Node22 - - - - - - - - -Node25 - - -data_structures::tree -_234::Node::Is2Node - - - - - -Node18->Node25 - - - - - - - - -Node26 - - -data_structures::tree -_234::Node::Is34Node - - - - - -Node18->Node26 - - - - - - - - -Node27 - - -data_structures::tree -_234::Tree234::LeftRotate - - - - - -Node18->Node27 - - - - - - - - -Node28 - - -data_structures::tree -_234::Tree234::Merge - - - - - -Node18->Node28 - - - - - - - - -Node33 - - -data_structures::tree -_234::Tree234::RightRotate - - - - - -Node18->Node33 - - - - - - - - -Node34 - - -data_structures::tree -_234::Tree234::TryLeftRotate - - - - - -Node18->Node34 - - - - - - - - -Node35 - - -data_structures::tree -_234::Tree234::TryRightRotate - - - - - -Node18->Node35 - - - - - - - - -Node20 - - -data_structures::tree -_234::Node::GetMaxItem - - - - - -Node19->Node20 - - - - - - - - -Node21 - - -data_structures::tree -_234::Node::GetRightmostChild - - - - - -Node19->Node21 - - - - - - - - -Node23 - - -data_structures::tree -_234::Node::GetLeftmostChild - - - - - -Node22->Node23 - - - - - - - - -Node24 - - -data_structures::tree -_234::Node::GetMinItem - - - - - -Node22->Node24 - - - - - - - - -Node28->Node10 - - - - - - - - -Node28->Node25 - - - - - - - - -Node29 - - -data_structures::tree -_234::Node::GetChild - - - - - -Node28->Node29 - - - - - - - - -Node30 - - -data_structures::tree -_234::Node::GetItem - - - - - -Node28->Node30 - - - - - - - - -Node31 - - -data_structures::tree -_234::Node::SetCount - - - - - -Node28->Node31 - - - - - - - - -Node32 - - -data_structures::tree -_234::Node::SetItem - - - - - -Node28->Node32 - - - - - - - - -Node34->Node25 - - - - - - - - -Node34->Node27 - - - - - - - - -Node35->Node25 - - - - - - - - -Node35->Node33 - - - - - - - - diff --git a/db/dbc/tree__234_8cpp_af1ac73779b0fcfbbdce3976c0ca57342_cgraph.map b/db/dbc/tree__234_8cpp_af1ac73779b0fcfbbdce3976c0ca57342_cgraph.map deleted file mode 100644 index 9a666ede3..000000000 --- a/db/dbc/tree__234_8cpp_af1ac73779b0fcfbbdce3976c0ca57342_cgraph.map +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/db/dbc/tree__234_8cpp_af1ac73779b0fcfbbdce3976c0ca57342_cgraph.md5 b/db/dbc/tree__234_8cpp_af1ac73779b0fcfbbdce3976c0ca57342_cgraph.md5 deleted file mode 100644 index 0cd947ff0..000000000 --- a/db/dbc/tree__234_8cpp_af1ac73779b0fcfbbdce3976c0ca57342_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -fcb93fa38292e69d097b5fdfd7987bb8 \ No newline at end of file diff --git a/db/dbc/tree__234_8cpp_af1ac73779b0fcfbbdce3976c0ca57342_cgraph.svg b/db/dbc/tree__234_8cpp_af1ac73779b0fcfbbdce3976c0ca57342_cgraph.svg deleted file mode 100644 index 84093d829..000000000 --- a/db/dbc/tree__234_8cpp_af1ac73779b0fcfbbdce3976c0ca57342_cgraph.svg +++ /dev/null @@ -1,449 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -test2 - - -Node1 - - -test2 - - - - - -Node2 - - -data_structures::tree -_234::Tree234::Insert - - - - - -Node1->Node2 - - - - - - - - -Node12 - - -data_structures::tree -_234::Tree234::Print - - - - - -Node1->Node12 - - - - - - - - -Node17 - - -std::to_string - - - - - -Node1->Node17 - - - - - - - - -Node18 - - -data_structures::tree -_234::Tree234::Traverse - - - - - -Node1->Node18 - - - - - - - - -Node3 - - -data_structures::tree -_234::Tree234::InsertPreSplit - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::unique_ptr::get - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -data_structures::tree -_234::Tree234::MergeNodeNotFull - - - - - -Node3->Node5 - - - - - - - - -Node11 - - -data_structures::tree -_234::Tree234::SplitNode - - - - - -Node3->Node11 - - - - - - - - -Node6 - - -data_structures::tree -_234::Node::InsertItem - - - - - -Node5->Node6 - - - - - - - - -Node9 - - -data_structures::tree -_234::Node::IsFull - - - - - -Node5->Node9 - - - - - - - - -Node10 - - -data_structures::tree -_234::Node::SetChild - - - - - -Node5->Node10 - - - - - - - - -Node7 - - -data_structures::tree -_234::Node::Contains - - - - - -Node6->Node7 - - - - - - - - -Node8 - - -data_structures::tree -_234::Node::InsertItemByIndex - - - - - -Node6->Node8 - - - - - - - - -Node6->Node9 - - - - - - - - -Node13 - - -std::ofstream::close - - - - - -Node12->Node13 - - - - - - - - -Node14 - - -std::endl - - - - - -Node12->Node14 - - - - - - - - -Node15 - - -std::ofstream::open - - - - - -Node12->Node15 - - - - - - - - -Node16 - - -data_structures::tree -_234::Tree234::PrintNode - - - - - -Node12->Node16 - - - - - - - - -Node18->Node14 - - - - - - - - -Node18->Node18 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/db/dbc/tree__234_8cpp_af1ac73779b0fcfbbdce3976c0ca57342_cgraph_org.svg b/db/dbc/tree__234_8cpp_af1ac73779b0fcfbbdce3976c0ca57342_cgraph_org.svg deleted file mode 100644 index 053daa720..000000000 --- a/db/dbc/tree__234_8cpp_af1ac73779b0fcfbbdce3976c0ca57342_cgraph_org.svg +++ /dev/null @@ -1,366 +0,0 @@ - - - - - - -test2 - - -Node1 - - -test2 - - - - - -Node2 - - -data_structures::tree -_234::Tree234::Insert - - - - - -Node1->Node2 - - - - - - - - -Node12 - - -data_structures::tree -_234::Tree234::Print - - - - - -Node1->Node12 - - - - - - - - -Node17 - - -std::to_string - - - - - -Node1->Node17 - - - - - - - - -Node18 - - -data_structures::tree -_234::Tree234::Traverse - - - - - -Node1->Node18 - - - - - - - - -Node3 - - -data_structures::tree -_234::Tree234::InsertPreSplit - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::unique_ptr::get - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -data_structures::tree -_234::Tree234::MergeNodeNotFull - - - - - -Node3->Node5 - - - - - - - - -Node11 - - -data_structures::tree -_234::Tree234::SplitNode - - - - - -Node3->Node11 - - - - - - - - -Node6 - - -data_structures::tree -_234::Node::InsertItem - - - - - -Node5->Node6 - - - - - - - - -Node9 - - -data_structures::tree -_234::Node::IsFull - - - - - -Node5->Node9 - - - - - - - - -Node10 - - -data_structures::tree -_234::Node::SetChild - - - - - -Node5->Node10 - - - - - - - - -Node7 - - -data_structures::tree -_234::Node::Contains - - - - - -Node6->Node7 - - - - - - - - -Node8 - - -data_structures::tree -_234::Node::InsertItemByIndex - - - - - -Node6->Node8 - - - - - - - - -Node6->Node9 - - - - - - - - -Node13 - - -std::ofstream::close - - - - - -Node12->Node13 - - - - - - - - -Node14 - - -std::endl - - - - - -Node12->Node14 - - - - - - - - -Node15 - - -std::ofstream::open - - - - - -Node12->Node15 - - - - - - - - -Node16 - - -data_structures::tree -_234::Tree234::PrintNode - - - - - -Node12->Node16 - - - - - - - - -Node18->Node14 - - - - - - - - -Node18->Node18 - - - - - - - - diff --git a/db/dbc/tree__234_8cpp_source.html b/db/dbc/tree__234_8cpp_source.html new file mode 100644 index 000000000..bdf9816ba --- /dev/null +++ b/db/dbc/tree__234_8cpp_source.html @@ -0,0 +1,1077 @@ + + + + + + + + +TheAlgorithms/C++: data_structures/tree_234.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
        +
        + + + + + + + +
        +
        TheAlgorithms/C++ 1.0.0 +
        +
        All the algorithms implemented in C++
        +
        +
        + + + + + + + + +
        +
        + +
        +
        +
        + +
        + +
        +
        + + +
        +
        +
        +
        +
        +
        Loading...
        +
        Searching...
        +
        No Matches
        +
        +
        +
        +
        + +
        +
        tree_234.cpp
        +
        +
        +Go to the documentation of this file.
        1
        +
        16#include <array>
        +
        17#include <cassert>
        +
        18#include <fstream>
        +
        19#include <iostream>
        +
        20#include <memory>
        +
        21#include <queue>
        +
        22#include <string>
        +
        23
        +
        28namespace data_structures {
        +
        33namespace tree_234 {
        +
        +
        35class Node {
        +
        36 public:
        +
        +
        41 explicit Node(int64_t item)
        +
        42 : count(1),
        +
        43 items({{item, 0, 0}}),
        +
        44 children({{nullptr, nullptr, nullptr, nullptr}}) {}
        +
        +
        45
        +
        50 int8_t GetCount() { return count; }
        +
        51
        +
        61 void SetCount(int8_t c) { count = c; }
        +
        62
        +
        67 bool IsLeaf() { return children[0] == nullptr; }
        +
        68
        +
        73 bool IsFull() { return count == 3; }
        +
        74
        +
        79 bool Is2Node() { return count == 1; }
        +
        80
        +
        85 bool Is34Node() { return count == 2 || count == 3; }
        +
        86
        +
        +
        92 bool Contains(int64_t item) {
        +
        93 for (int8_t i = 0; i < count; i++) {
        +
        94 if (item == items[i]) {
        +
        95 return true;
        +
        96 }
        +
        97 }
        +
        98 return false;
        +
        99 }
        +
        +
        100
        +
        +
        107 int8_t GetItemIndex(int64_t item) {
        +
        108 for (int8_t i = 0; i < count; i++) {
        +
        109 if (items[i] == item) {
        +
        110 return i;
        +
        111 }
        +
        112 }
        +
        113 return -1;
        +
        114 }
        +
        +
        115
        +
        120 int64_t GetMaxItem() { return items[count - 1]; }
        +
        121
        +
        126 int64_t GetMinItem() { return items[0]; }
        +
        127
        +
        133 int64_t GetItem(int8_t index) { return items[index]; }
        +
        134
        +
        +
        140 void SetItem(int8_t index, int64_t new_item) {
        +
        141 assert(index >= 0 && index <= 2);
        +
        142
        +
        143 items[index] = new_item;
        +
        144 }
        +
        +
        145
        +
        +
        163 int InsertItem(int item) {
        +
        164 assert(!IsFull());
        +
        165
        +
        166 if (Contains(item)) {
        +
        167 return -1;
        +
        168 }
        +
        169
        +
        170 int8_t i = 0;
        +
        171 for (i = 0; i < count; i++) {
        +
        172 if (items[i] > item) {
        +
        173 break;
        +
        174 }
        +
        175 }
        +
        176
        +
        177 InsertItemByIndex(i, item, nullptr, true);
        +
        178 return i;
        +
        179 }
        +
        +
        180
        +
        +
        189 void InsertItemByIndex(int8_t index, int64_t item, Node *with_child,
        +
        190 bool to_left = true) {
        +
        191 assert(count < 3 && index >= 0 && index < 3);
        +
        192
        +
        193 for (int8_t i = count - 1; i >= index; i--) {
        +
        194 items[i + 1] = items[i];
        +
        195 }
        +
        196
        +
        197 items[index] = item;
        +
        198
        +
        199 int8_t start_index = to_left ? index : index + 1;
        +
        200
        +
        201 for (int8_t i = count; i >= start_index; i--) {
        +
        202 children[i + 1] = children[i];
        +
        203 }
        +
        204
        +
        205 children[start_index] = with_child;
        +
        206
        +
        207 count++;
        +
        208 }
        +
        +
        209
        +
        +
        217 Node *RemoveItemByIndex(int8_t index, bool keep_left) {
        +
        218 assert(index >= 0 && index < count);
        +
        219 Node *removed_child = keep_left ? children[index + 1] : children[index];
        +
        220 for (int8_t i = index; i < count - 1; i++) {
        +
        221 items[i] = items[i + 1];
        +
        222 }
        +
        223
        +
        224 for (int8_t i = keep_left ? index + 1 : index; i < count; i++) {
        +
        225 children[i] = children[i + 1];
        +
        226 }
        +
        227
        +
        228 count--;
        +
        229 return removed_child;
        +
        230 }
        +
        +
        231
        +
        +
        237 int8_t GetChildIndex(Node *child) {
        +
        238 for (int8_t i = 0; i < count + 1; i++) {
        +
        239 if (children[i] == child) {
        +
        240 return i;
        +
        241 }
        +
        242 }
        +
        243
        +
        244 return -1;
        +
        245 }
        +
        +
        246
        +
        252 Node *GetChild(int8_t index) { return children[index]; }
        +
        253
        +
        259 void SetChild(int8_t index, Node *child) { children[index] = child; }
        +
        260
        + +
        266
        + +
        272
        +
        +
        278 Node *GetItemLeftChild(int8_t item_index) {
        +
        279 if (item_index < 0 || item_index > count - 1) {
        +
        280 return nullptr;
        +
        281 }
        +
        282
        +
        283 return children[item_index];
        +
        284 }
        +
        +
        285
        +
        +
        291 Node *GetItemRightChild(int8_t item_index) {
        +
        292 if (item_index < 0 || item_index > count - 1) {
        +
        293 return nullptr;
        +
        294 }
        +
        295
        +
        296 return children[item_index + 1];
        +
        297 }
        +
        +
        298
        +
        +
        304 Node *GetNextPossibleChild(int64_t item) {
        +
        305 int i = 0;
        +
        306 for (i = 0; i < count; i++) {
        +
        307 if (items[i] > item) {
        +
        308 break;
        +
        309 }
        +
        310 }
        +
        311 return children[i];
        +
        312 }
        +
        +
        313
        +
        314 private:
        +
        315 std::array<int64_t, 3> items;
        +
        316
        +
        317 std::array<Node *, 4> children;
        +
        318
        +
        319 int8_t count = 0;
        +
        320};
        +
        +
        321
        +
        +
        323class Tree234 {
        +
        324 public:
        +
        325 Tree234() = default;
        +
        326 Tree234(const Tree234 &) = delete;
        +
        327 Tree234(const Tree234 &&) = delete;
        +
        328 Tree234 &operator=(const Tree234 &) = delete;
        +
        329 Tree234 &operator=(const Tree234 &&) = delete;
        +
        330
        +
        331 ~Tree234();
        +
        332
        +
        337 void Insert(int64_t item);
        +
        338
        +
        344 bool Remove(int64_t item);
        +
        345
        +
        347 void Traverse();
        +
        348
        +
        354 void Print(const char *file_name = nullptr);
        +
        355
        +
        356 private:
        +
        361 void InsertPreSplit(int64_t item);
        +
        362
        +
        367 void InsertPostMerge(int64_t item);
        +
        368
        +
        375 Node *Insert(Node *tree, int64_t item);
        +
        376
        +
        390 Node *MergeNode(Node *dst_node, Node *node);
        +
        391
        +
        402 void MergeNodeNotFull(Node *dst_node, Node *node);
        +
        403
        + +
        411
        +
        417 int64_t GetTreeMaxItem(Node *tree);
        +
        418
        +
        424 int64_t GetTreeMinItem(Node *tree);
        +
        425
        +
        441 bool TryLeftRotate(Node *parent, Node *to_child);
        +
        442
        +
        458 bool TryRightRotate(Node *parent, Node *to_child);
        +
        459
        +
        472 void RightRotate(Node *parent, int8_t index);
        +
        473
        +
        485 void LeftRotate(Node *parent, int8_t index);
        +
        486
        +
        493 bool RemovePreMerge(Node *node, int64_t item);
        +
        494
        +
        508 Node *Merge(Node *parent, int8_t index);
        +
        509
        +
        514 void DeleteNode(Node *tree);
        +
        515
        +
        520 void Traverse(Node *tree);
        +
        521
        +
        535 void PrintNode(std::ofstream &ofs, Node *node, int64_t parent_index,
        +
        536 int64_t index, int8_t parent_child_index);
        +
        537
        +
        538 Node *root_{nullptr};
        +
        539};
        +
        +
        540
        +
        541Tree234::~Tree234() { DeleteNode(root_); }
        +
        542
        +
        + +
        548 if (!tree) {
        +
        549 return;
        +
        550 }
        +
        551 for (int8_t i = 0; i <= tree->GetCount(); i++) {
        +
        552 DeleteNode(tree->GetChild(i));
        +
        553 }
        +
        554
        +
        555 delete tree;
        +
        556}
        +
        +
        557
        +
        + + +
        564 std::cout << std::endl;
        +
        565}
        +
        +
        566
        +
        + +
        568 if (!node) {
        +
        569 return;
        +
        570 }
        +
        571
        +
        572 int8_t i = 0;
        +
        573 for (i = 0; i < node->GetCount(); i++) {
        +
        574 Traverse(node->GetChild(i));
        +
        575 std::cout << node->GetItem(i) << ", ";
        +
        576 }
        +
        577
        +
        578 Traverse(node->GetChild(i));
        +
        579}
        +
        +
        580
        +
        +
        585void Tree234::InsertPreSplit(int64_t item) {
        +
        586 if (!root_) {
        +
        587 root_ = new Node(item);
        +
        588 return;
        +
        589 }
        +
        590
        +
        591 Node *parent = nullptr;
        +
        592 Node *node = root_;
        +
        593
        +
        594 while (true) {
        +
        595 if (!node) {
        +
        596 std::unique_ptr<Node> tmp(new Node(item));
        +
        597 MergeNodeNotFull(parent, tmp.get());
        +
        598 return;
        +
        599 }
        +
        600
        +
        601 if (node->Contains(item)) {
        +
        602 return;
        +
        603 }
        +
        604
        +
        605 if (node->IsFull()) {
        + +
        607
        +
        608 Node *cur_node = nullptr;
        +
        609
        +
        610 if (item < node->GetItem(0)) {
        +
        611 cur_node = node->GetChild(0);
        +
        612 } else {
        +
        613 cur_node = node->GetChild(1);
        +
        614 }
        +
        615
        +
        616 if (!parent) {
        +
        617 // for the root node parent is nullptr, we simply assign the
        +
        618 // split parent to root_
        +
        619 root_ = node;
        +
        620 } else {
        +
        621 // merge the split parent to its origin parent
        +
        622 MergeNodeNotFull(parent, node);
        +
        623 }
        +
        624
        +
        625 node = cur_node;
        +
        626 }
        +
        627
        +
        628 parent = node;
        +
        629 node = parent->GetNextPossibleChild(item);
        +
        630 }
        +
        631}
        +
        +
        632
        +
        +
        637void Tree234::InsertPostMerge(int64_t item) {
        +
        638 if (!root_) {
        +
        639 root_ = new Node(item);
        +
        640 return;
        +
        641 }
        +
        642
        +
        643 Node *split_node = Insert(root_, item);
        +
        644
        +
        645 // if root has split, then update root_
        +
        646 if (split_node) {
        +
        647 root_ = split_node;
        +
        648 }
        +
        649}
        +
        +
        650
        +
        655void Tree234::Insert(int64_t item) { InsertPreSplit(item); }
        +
        656
        +
        +
        663Node *Tree234::Insert(Node *tree, int64_t item) {
        +
        664 assert(tree != nullptr);
        +
        665
        +
        666 std::unique_ptr<Node> split_node;
        +
        667
        +
        668 if (tree->Contains(item)) {
        +
        669 // return nullptr indicate current node not overflow
        +
        670 return nullptr;
        +
        671 }
        +
        672
        +
        673 Node *next_node = tree->GetNextPossibleChild(item);
        +
        674 if (next_node) {
        +
        675 split_node.reset(Insert(next_node, item));
        +
        676 } else {
        +
        677 split_node.reset(new Node(item));
        +
        678 }
        +
        679
        +
        680 if (split_node) {
        +
        681 return MergeNode(tree, split_node.get());
        +
        682 }
        +
        683
        +
        684 return nullptr;
        +
        685}
        +
        +
        686
        +
        + +
        701 assert(dst_node != nullptr && node != nullptr);
        +
        702
        +
        703 if (!dst_node->IsFull()) {
        +
        704 MergeNodeNotFull(dst_node, node);
        +
        705 return nullptr;
        +
        706 }
        +
        707
        +
        708 dst_node = SplitNode(dst_node);
        +
        709
        +
        710 if (node->GetItem(0) < dst_node->GetItem(0)) {
        +
        711 MergeNodeNotFull(dst_node->GetChild(0), node);
        +
        712
        +
        713 } else {
        +
        714 MergeNodeNotFull(dst_node->GetChild(1), node);
        +
        715 }
        +
        716
        +
        717 return dst_node;
        +
        718}
        +
        +
        719
        +
        + +
        731 assert(dst_node && node && !dst_node->IsFull() && node->Is2Node());
        +
        732
        +
        733 int8_t i = dst_node->InsertItem(node->GetItem(0));
        +
        734
        +
        735 dst_node->SetChild(i, node->GetChild(0));
        +
        736 dst_node->SetChild(i + 1, node->GetChild(1));
        +
        737}
        +
        +
        738
        +
        + +
        746 assert(node->GetCount() == 3);
        +
        747
        +
        748 Node *left = node;
        +
        749
        +
        750 Node *right = new Node(node->GetItem(2));
        +
        751 right->SetChild(0, node->GetChild(2));
        +
        752 right->SetChild(1, node->GetChild(3));
        +
        753
        +
        754 Node *parent = new Node(node->GetItem(1));
        +
        755 parent->SetChild(0, left);
        +
        756 parent->SetChild(1, right);
        +
        757
        +
        758 left->SetCount(1);
        +
        759
        +
        760 return parent;
        +
        761}
        +
        +
        762
        +
        +
        778bool Tree234::TryLeftRotate(Node *parent, Node *to_child) {
        +
        779 int to_child_index = parent->GetChildIndex(to_child);
        +
        780
        +
        781 // child is right most, can not do left rotate to it
        +
        782 if (to_child_index >= parent->GetCount()) {
        +
        783 return false;
        +
        784 }
        +
        785
        +
        786 Node *right_sibling = parent->GetChild(to_child_index + 1);
        +
        787
        +
        788 // right sibling is 2-node. can not do left rotate.
        +
        789 if (right_sibling->Is2Node()) {
        +
        790 return false;
        +
        791 }
        +
        792
        +
        793 LeftRotate(parent, to_child_index);
        +
        794
        +
        795 return true;
        +
        796}
        +
        +
        797
        +
        +
        813bool Tree234::TryRightRotate(Node *parent, Node *to_child) {
        +
        814 int8_t to_child_index = parent->GetChildIndex(to_child);
        +
        815
        +
        816 // child is left most, can not do right rotate to it
        +
        817 if (to_child_index <= 0) {
        +
        818 return false;
        +
        819 }
        +
        820
        +
        821 Node *left_sibling = parent->GetChild(to_child_index - 1);
        +
        822
        +
        823 // right sibling is 2-node. can not do left rotate.
        +
        824 if (left_sibling->Is2Node()) {
        +
        825 return false;
        +
        826 }
        +
        827
        +
        828 RightRotate(parent, to_child_index - 1);
        +
        829
        +
        830 return true;
        +
        831}
        +
        +
        832
        +
        +
        845void Tree234::RightRotate(Node *parent, int8_t index) {
        +
        846 Node *left = parent->GetItemLeftChild(index);
        +
        847 Node *right = parent->GetItemRightChild(index);
        +
        848
        +
        849 assert(left && left->Is34Node());
        +
        850 assert(right && right->Is2Node());
        +
        851
        +
        852 right->InsertItemByIndex(0, parent->GetItem(index),
        +
        853 left->GetRightmostChild(), true);
        +
        854 parent->SetItem(index, left->GetMaxItem());
        +
        855 left->RemoveItemByIndex(left->GetCount() - 1, true);
        +
        856}
        +
        +
        857
        +
        +
        869void Tree234::LeftRotate(Node *parent, int8_t index) {
        +
        870 Node *left = parent->GetItemLeftChild(index);
        +
        871 Node *right = parent->GetItemRightChild(index);
        +
        872
        +
        873 assert(right && right->Is34Node());
        +
        874 assert(left && left->Is2Node());
        +
        875
        +
        876 left->InsertItemByIndex(left->GetCount(), parent->GetItem(index),
        +
        877 right->GetLeftmostChild(), false);
        +
        878 parent->SetItem(index, right->GetMinItem());
        +
        879 right->RemoveItemByIndex(0, false);
        +
        880}
        +
        +
        881
        +
        +
        895Node *Tree234::Merge(Node *parent, int8_t index) {
        +
        896 assert(parent);
        +
        897
        +
        898 // bool is_parent_2node = parent->Is2Node();
        +
        899
        +
        900 Node *left_child = parent->GetItemLeftChild(index);
        +
        901 Node *right_child = parent->GetItemRightChild(index);
        +
        902
        +
        903 assert(left_child->Is2Node() && right_child->Is2Node());
        +
        904
        +
        905 int64_t item = parent->GetItem(index);
        +
        906
        +
        907 // 1. merge parent's item and right child to left child
        +
        908 left_child->SetItem(1, item);
        +
        909 left_child->SetItem(2, right_child->GetItem(0));
        +
        910 left_child->SetChild(2, right_child->GetChild(0));
        +
        911 left_child->SetChild(3, right_child->GetChild(1));
        +
        912
        +
        913 left_child->SetCount(3);
        +
        914
        +
        915 // 2. remove the parent's item
        +
        916 parent->RemoveItemByIndex(index, true);
        +
        917
        +
        918 // 3. delete the unused right child
        +
        919 delete right_child;
        +
        920
        +
        921 return left_child;
        +
        922}
        +
        +
        923
        +
        929bool Tree234::Remove(int64_t item) { return RemovePreMerge(root_, item); }
        +
        930
        +
        +
        937bool Tree234::RemovePreMerge(Node *node, int64_t item) {
        +
        938 while (node) {
        +
        939 if (node->IsLeaf()) {
        +
        940 if (node->Contains(item)) {
        +
        941 if (node->Is2Node()) {
        +
        942 // node must be root
        +
        943 delete node;
        +
        944 root_ = nullptr;
        +
        945 } else {
        +
        946 node->RemoveItemByIndex(node->GetItemIndex(item), true);
        +
        947 }
        +
        948 return true;
        +
        949 }
        +
        950 return false;
        +
        951 }
        +
        952
        +
        953 // node is internal
        +
        954 if (node->Contains(item)) {
        +
        955 int8_t index = node->GetItemIndex(item);
        +
        956
        +
        957 // Here is important!!! What we do next depend on its children's
        +
        958 // state. Why?
        +
        959 Node *left_child = node->GetItemLeftChild(index);
        +
        960 Node *right_child = node->GetItemRightChild(index);
        +
        961 assert(left_child && right_child);
        +
        962
        +
        963 if (left_child->Is2Node() && right_child->Is2Node()) {
        +
        964 // both left and right child are 2-node,we should not modify
        +
        965 // current node in this situation. Because we are going to do
        +
        966 // merge with its children which will move target item to next
        +
        967 // layer. so if we replace the item with successor or
        +
        968 // predecessor now, when we do the recursive remove with
        +
        969 // successor or predecessor, we will result in removing the just
        +
        970 // replaced one in the merged node. That's not what we want.
        +
        971
        +
        972 // we need to convert the child 2-node to 3-node or 4-node
        +
        973 // first. First we try to see if any of them can convert to
        +
        974 // 3-node by rotate. By using rotate we keep the empty house for
        +
        975 // the future insertion which will be more efficient than merge.
        +
        976 //
        +
        977 // | ? | node | ? |
        +
        978 // / | | \
        +
        979 // / | | \
        +
        980 // / | | \
        +
        981 // / | | \
        +
        982 // / | | \
        +
        983 // / | | \
        +
        984 // ? left_child right_child ?
        +
        985 //
        +
        986
        +
        987 // node must be the root
        +
        988 if (node->Is2Node()) {
        +
        989 // this means we can't avoid merging the target item into
        +
        990 // next layer, and this will cause us do different process
        +
        991 // compared with other cases
        +
        992 Node *new_root = Merge(node, index);
        +
        993 delete root_;
        +
        994 root_ = new_root;
        +
        995 node = root_;
        +
        996
        +
        997 // now node point to the
        +
        998 continue;
        +
        999 }
        +
        1000
        +
        1001 // here means we can avoid merging the target item into next
        +
        1002 // layer. So we convert one of its left or right child to 3-node
        +
        1003 // and then do the successor or predecessor swap and recursive
        +
        1004 // remove the next layer will successor or predecessor.
        +
        1005 do {
        +
        1006 if (index > 0) {
        +
        1007 // left_child has left-sibling, we check if we can do a
        +
        1008 // rotate
        +
        1009 Node *left_sibling = node->GetItemLeftChild(index - 1);
        +
        1010 if (left_sibling->Is34Node()) {
        +
        1011 RightRotate(node, index - 1);
        +
        1012 break;
        +
        1013 }
        +
        1014 }
        +
        1015
        +
        1016 if (index < node->GetCount() - 1) {
        +
        1017 // right_child has right-sibling, we check if we can do
        +
        1018 // a rotate
        +
        1019 Node *right_sibling =
        +
        1020 node->GetItemRightChild(index + 1);
        +
        1021 if (right_sibling->Is34Node()) {
        +
        1022 LeftRotate(node, index + 1);
        +
        1023 break;
        +
        1024 }
        +
        1025 }
        +
        1026
        +
        1027 // we do a merge. We avoid merging the target item, which
        +
        1028 // may trigger another merge in the recursion process.
        +
        1029 if (index > 0) {
        +
        1030 Merge(node, index - 1);
        +
        1031 break;
        +
        1032 }
        +
        1033
        +
        1034 Merge(node, index + 1);
        +
        1035
        +
        1036 } while (false);
        +
        1037 }
        +
        1038
        +
        1039 // refresh the left_child and right_child since they may be invalid
        +
        1040 // because of merge
        +
        1041 left_child = node->GetItemLeftChild(index);
        +
        1042 right_child = node->GetItemRightChild(index);
        +
        1043
        +
        1044 if (left_child->Is34Node()) {
        +
        1045 int64_t predecessor_item = GetTreeMaxItem(left_child);
        +
        1046 node->SetItem(node->GetItemIndex(item), predecessor_item);
        +
        1047
        +
        1048 node = left_child;
        +
        1049 item = predecessor_item;
        +
        1050 continue;
        +
        1051 }
        +
        1052
        +
        1053 if (right_child->Is34Node()) {
        +
        1054 int64_t successor_item = GetTreeMinItem(right_child);
        +
        1055 node->SetItem(node->GetItemIndex(item), successor_item);
        +
        1056 node = right_child;
        +
        1057 item = successor_item;
        +
        1058 continue;
        +
        1059 }
        +
        1060 }
        +
        1061
        +
        1062 Node *next_node = node->GetNextPossibleChild(item);
        +
        1063
        +
        1064 if (next_node->Is34Node()) {
        +
        1065 node = next_node;
        +
        1066 continue;
        +
        1067 }
        +
        1068
        +
        1069 if (TryRightRotate(node, next_node)) {
        +
        1070 node = next_node;
        +
        1071 continue;
        +
        1072 }
        +
        1073
        +
        1074 if (TryLeftRotate(node, next_node)) {
        +
        1075 node = next_node;
        +
        1076 continue;
        +
        1077 }
        +
        1078
        +
        1079 // get here means both left sibling and right sibling of next_node is
        +
        1080 // 2-node, so we do merge
        +
        1081 int8_t child_index = node->GetChildIndex(next_node);
        +
        1082 if (child_index > 0) {
        +
        1083 node = Merge(node, child_index - 1);
        +
        1084 } else {
        +
        1085 node = Merge(node, child_index);
        +
        1086 }
        +
        1087
        +
        1088 } // while
        +
        1089
        +
        1090 return false;
        +
        1091}
        +
        +
        1092
        +
        + +
        1099 assert(tree);
        +
        1100 int64_t max = 0;
        +
        1101
        +
        1102 while (tree) {
        +
        1103 max = tree->GetMaxItem();
        +
        1104 tree = tree->GetRightmostChild();
        +
        1105 }
        +
        1106
        +
        1107 return max;
        +
        1108}
        +
        +
        1109
        +
        + +
        1116 assert(tree);
        +
        1117 int64_t min = 0;
        +
        1118
        +
        1119 while (tree) {
        +
        1120 min = tree->GetMinItem();
        +
        1121 tree = tree->GetLeftmostChild();
        +
        1122 }
        +
        1123
        +
        1124 return min;
        +
        1125}
        +
        +
        1126
        +
        +
        1131void Tree234::Print(const char *file_name) {
        +
        1132 if (!file_name) {
        +
        1133 file_name = "out.dot";
        +
        1134 }
        +
        1135
        +
        1136 std::ofstream ofs;
        +
        1137
        +
        1138 ofs.open(file_name);
        +
        1139 if (!ofs) {
        +
        1140 std::cout << "create tree dot file failed, " << file_name << std::endl;
        +
        1141 return;
        +
        1142 }
        +
        1143
        +
        1144 ofs << "digraph G {\n";
        +
        1145 ofs << "node [shape=record]\n";
        +
        1146
        +
        1147 int64_t index = 0;
        +
        1148
        +
        1151 struct NodeInfo {
        +
        1152 Node *node;
        +
        1153 int64_t index;
        +
        1155 };
        +
        1156
        +
        1157 std::queue<NodeInfo> q;
        +
        1158
        +
        1159 if (root_) {
        +
        1160 // print root node
        +
        1161 PrintNode(ofs, root_, -1, index, 0);
        +
        1162
        +
        1163 NodeInfo ni{};
        +
        1164 ni.node = root_;
        +
        1165 ni.index = index;
        +
        1166
        +
        1167 q.push(ni);
        +
        1168
        +
        1169 while (!q.empty()) {
        +
        1170 NodeInfo node_info = q.front();
        +
        1171 q.pop();
        +
        1172
        +
        1173 assert(node_info.node->GetCount() > 0);
        +
        1174
        +
        1175 if (!node_info.node->IsLeaf()) {
        +
        1176 if (node_info.node->GetCount() > 0) {
        +
        1177 PrintNode(ofs, node_info.node->GetChild(0), node_info.index,
        +
        1178 ++index, 0);
        +
        1179 ni.node = node_info.node->GetChild(0);
        +
        1180 ni.index = index;
        +
        1181 q.push(ni);
        +
        1182
        +
        1183 PrintNode(ofs, node_info.node->GetChild(1), node_info.index,
        +
        1184 ++index, 1);
        +
        1185 ni.node = node_info.node->GetChild(1);
        +
        1186 ni.index = index;
        +
        1187 q.push(ni);
        +
        1188 }
        +
        1189
        +
        1190 if (node_info.node->GetCount() > 1) {
        +
        1191 PrintNode(ofs, node_info.node->GetChild(2), node_info.index,
        +
        1192 ++index, 2);
        +
        1193 ni.node = node_info.node->GetChild(2);
        +
        1194 ni.index = index;
        +
        1195 q.push(ni);
        +
        1196 }
        +
        1197
        +
        1198 if (node_info.node->GetCount() > 2) {
        +
        1199 PrintNode(ofs, node_info.node->GetChild(3), node_info.index,
        +
        1200 ++index, 3);
        +
        1201 ni.node = node_info.node->GetChild(3);
        +
        1202 ni.index = index;
        +
        1203 q.push(ni);
        +
        1204 }
        +
        1205 }
        +
        1206 }
        +
        1207 }
        +
        1208
        +
        1209 ofs << "}\n";
        +
        1210 ofs.close();
        +
        1211}
        +
        +
        1212
        +
        +
        1226void Tree234::PrintNode(std::ofstream &ofs, Node *node, int64_t parent_index,
        +
        1227 int64_t index, int8_t parent_child_index) {
        +
        1228 assert(node);
        +
        1229
        +
        1230 switch (node->GetCount()) {
        +
        1231 case 1:
        +
        1232 ofs << "node_" << index << " [label=\"<f0> " << node->GetItem(0)
        +
        1233 << "\"]\n";
        +
        1234 break;
        +
        1235 case 2:
        +
        1236 ofs << "node_" << index << " [label=\"<f0> " << node->GetItem(0)
        +
        1237 << " | <f1> " << node->GetItem(1) << "\"]\n";
        +
        1238 break;
        +
        1239 case 3:
        +
        1240 ofs << "node_" << index << " [label=\"<f0> " << node->GetItem(0)
        +
        1241 << " | <f1> " << node->GetItem(1) << "| <f2> "
        +
        1242 << node->GetItem(2) << "\"]\n";
        +
        1243 break;
        +
        1244
        +
        1245 default:
        +
        1246 break;
        +
        1247 }
        +
        1248
        +
        1249 // draw the edge
        +
        1250 if (parent_index >= 0) {
        +
        1251 ofs << "node_" << parent_index << ":f"
        +
        1252 << (parent_child_index == 0 ? 0 : parent_child_index - 1) << ":"
        +
        1253 << (parent_child_index == 0 ? "sw" : "se") << " -> node_" << index
        +
        1254 << "\n";
        +
        1255 }
        +
        1256}
        +
        +
        1257} // namespace tree_234
        +
        1258} // namespace data_structures
        +
        1259
        +
        1260
        +
        +
        1263static void test1() {
        +
        1264 std::array<int16_t, 13> arr = {3, 1, 5, 4, 2, 9, 10, 8, 7, 6, 16, 13, 14};
        + +
        1266
        +
        1267 for (auto i : arr) {
        +
        1268 tree.Insert(i);
        +
        1269 }
        +
        1270
        +
        1271 // tree.Remove(10);
        +
        1272 tree.Remove(5);
        +
        1273 tree.Print();
        +
        1274}
        +
        +
        1275
        +
        +
        1281static void test2(int64_t n) {
        + +
        1283
        +
        1284 for (int64_t i = 0; i < n; i++) {
        +
        1285 tree.Insert(i);
        +
        1286 }
        +
        1287
        +
        1288 tree.Traverse();
        +
        1289 tree.Print((std::to_string(n) + ".dot").c_str());
        +
        1290}
        +
        +
        1291
        +
        +
        1298int main(int argc, char *argv[]) {
        +
        1299 if (argc < 2) {
        +
        1300 test1(); // execute 1st test
        +
        1301 } else {
        +
        1302 test2(std::stoi(argv[1])); // execute 2nd test
        +
        1303 }
        +
        1304
        +
        1305 return 0;
        +
        1306}
        +
        +
        struct node { int data; int height; struct node *left; struct node *right;} node
        for std::queue
        Definition avltree.cpp:13
        +
        2-3-4 tree node class
        Definition tree_234.cpp:35
        +
        Node * GetChild(int8_t index)
        Get the child pointer at position of index.
        Definition tree_234.cpp:252
        +
        bool Contains(int64_t item)
        Check if item is in the node.
        Definition tree_234.cpp:92
        +
        int64_t GetMaxItem()
        Get max item (rightmost) in the current node.
        Definition tree_234.cpp:120
        +
        Node * RemoveItemByIndex(int8_t index, bool keep_left)
        Insert a value to the index position.
        Definition tree_234.cpp:217
        +
        void InsertItemByIndex(int8_t index, int64_t item, Node *with_child, bool to_left=true)
        Insert a value to the index position.
        Definition tree_234.cpp:189
        +
        Node * GetItemRightChild(int8_t item_index)
        Get right child of item at item_index.
        Definition tree_234.cpp:291
        +
        int64_t GetItem(int8_t index)
        Get item of the \index index.
        Definition tree_234.cpp:133
        +
        bool IsFull()
        Check if node is a full (4-node)
        Definition tree_234.cpp:73
        +
        int64_t GetMinItem()
        get min item (leftmost) in the current node
        Definition tree_234.cpp:126
        +
        bool IsLeaf()
        Check if node is a leaf.
        Definition tree_234.cpp:67
        +
        int8_t GetItemIndex(int64_t item)
        Get the index of the item in the node, 0-based.
        Definition tree_234.cpp:107
        +
        bool Is34Node()
        Check if node is a 3-node or 4-node, this is useful when we delete item from 2-3-4 tree.
        Definition tree_234.cpp:85
        +
        Node * GetRightmostChild()
        Get rightmose child of the current node.
        Definition tree_234.cpp:265
        +
        std::array< int64_t, 3 > items
        store items
        Definition tree_234.cpp:315
        +
        int InsertItem(int item)
        Insert item to the proper position of the node and return the position index.
        Definition tree_234.cpp:163
        +
        Node * GetNextPossibleChild(int64_t item)
        Get next node which is possibly contains item.
        Definition tree_234.cpp:304
        +
        int8_t count
        track the current item count
        Definition tree_234.cpp:319
        +
        void SetItem(int8_t index, int64_t new_item)
        Set item value at position of index.
        Definition tree_234.cpp:140
        +
        int8_t GetCount()
        Get the item count that current saved in the node.
        Definition tree_234.cpp:50
        +
        void SetChild(int8_t index, Node *child)
        Set child pointer to the position of index.
        Definition tree_234.cpp:259
        +
        Node * GetItemLeftChild(int8_t item_index)
        Get left child of item at item_index.
        Definition tree_234.cpp:278
        +
        Node * GetLeftmostChild()
        Get leftmose child of the current node.
        Definition tree_234.cpp:271
        +
        Node(int64_t item)
        Node constructor.
        Definition tree_234.cpp:41
        +
        std::array< Node *, 4 > children
        store the children pointers
        Definition tree_234.cpp:317
        +
        int8_t GetChildIndex(Node *child)
        Get the child's index of the children array.
        Definition tree_234.cpp:237
        +
        void SetCount(int8_t c)
        Set the item count of the node.
        Definition tree_234.cpp:61
        +
        bool Is2Node()
        Check if node is a 2-node.
        Definition tree_234.cpp:79
        + +
        void InsertPreSplit(int64_t item)
        A insert implementation of pre-split.
        Definition tree_234.cpp:585
        +
        Node * MergeNode(Node *dst_node, Node *node)
        A helper function used during post-merge insert.
        Definition tree_234.cpp:700
        +
        void DeleteNode(Node *tree)
        Recursive release the tree.
        Definition tree_234.cpp:547
        +
        void Print(const char *file_name=nullptr)
        Print tree into a dot file.
        +
        Node * root_
        root node of the tree
        Definition tree_234.cpp:538
        +
        Node * Merge(Node *parent, int8_t index)
        Merge the item at index of the parent node, and its left and right child.
        Definition tree_234.cpp:895
        +
        Node * SplitNode(Node *node)
        Split a 4-node to 1 parent and 2 children, and return the parent node.
        Definition tree_234.cpp:745
        +
        bool Remove(int64_t item)
        Remove item from tree.
        Definition tree_234.cpp:929
        +
        bool RemovePreMerge(Node *node, int64_t item)
        Main function implement the pre-merge remove operation.
        Definition tree_234.cpp:937
        +
        int64_t GetTreeMinItem(Node *tree)
        Get the min item of the tree.
        +
        void Insert(int64_t item)
        Insert item to tree.
        Definition tree_234.cpp:655
        +
        void Traverse()
        In-order traverse.
        Definition tree_234.cpp:562
        +
        void InsertPostMerge(int64_t item)
        A insert implementation of post-merge.
        Definition tree_234.cpp:637
        +
        bool TryLeftRotate(Node *parent, Node *to_child)
        A handy function to try if we can do a left rotate to the target node.
        Definition tree_234.cpp:778
        +
        int64_t GetTreeMaxItem(Node *tree)
        Get the max item of the tree.
        +
        void MergeNodeNotFull(Node *dst_node, Node *node)
        Merge node to a not-full target node.
        Definition tree_234.cpp:730
        +
        void LeftRotate(Node *parent, int8_t index)
        Do the actual left rotate operation.
        Definition tree_234.cpp:869
        +
        void RightRotate(Node *parent, int8_t index)
        Do the actual right rotate operation.
        Definition tree_234.cpp:845
        +
        bool TryRightRotate(Node *parent, Node *to_child)
        A handy function to try if we can do a right rotate to the target node.
        Definition tree_234.cpp:813
        +
        void PrintNode(std::ofstream &ofs, Node *node, int64_t parent_index, int64_t index, int8_t parent_child_index)
        Print the tree to a dot file. You can convert it to picture with graphviz.
        +
        static void test2()
        Self-implementations, 2nd test.
        +
        int main()
        Main function.
        +
        for IO operations
        +
        Functions for 2–3–4 tree
        + +
        static void test1()
        simple test to insert a given array and delete some item, and print the tree
        +
        +
        + + + + diff --git a/db/dbd/test__stack__students_8cpp_source.html b/db/dbd/test__stack__students_8cpp_source.html new file mode 100644 index 000000000..9f14f2b12 --- /dev/null +++ b/db/dbd/test__stack__students_8cpp_source.html @@ -0,0 +1,198 @@ + + + + + + + + +TheAlgorithms/C++: data_structures/test_stack_students.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
        +
        + + + + + + + +
        +
        TheAlgorithms/C++ 1.0.0 +
        +
        All the algorithms implemented in C++
        +
        +
        + + + + + + + + +
        +
        + +
        +
        +
        + +
        + +
        +
        + + +
        +
        +
        +
        +
        +
        Loading...
        +
        Searching...
        +
        No Matches
        +
        +
        +
        +
        + +
        +
        test_stack_students.cpp
        +
        +
        +
        1/*
        +
        2 * This program reads a data file consisting of students' GPAs
        +
        3 * followed by their names. The program then prints the highest
        +
        4 * GPA and the names of the students with the highest GPA.
        +
        5 * It uses stack to store the names of the students
        +
        6 * Run:
        +
        7 * make all
        +
        8 * ./main student.txt
        +
        9 ************************************************************
        +
        10 * */
        +
        11#include <cassert>
        +
        12#include <cmath>
        +
        13#include <fstream>
        +
        14#include <iomanip>
        +
        15#include <iostream>
        +
        16#include <string>
        +
        17
        +
        18#include "./stack.hpp"
        +
        19
        +
        20int main(int argc, char* argv[]) {
        +
        21 double GPA = NAN;
        +
        22 double highestGPA = NAN;
        +
        23 std::string name;
        +
        24
        +
        25 assert(argc == 2);
        +
        26 std::ifstream infile;
        + +
        28
        +
        29 infile.open(argv[1]);
        +
        30 std::cout << std::fixed << std::showpoint;
        +
        31 std::cout << std::setprecision(2);
        +
        32 infile >> GPA >> name;
        +
        33 highestGPA = GPA;
        +
        34
        +
        35 while (infile) {
        +
        36 if (GPA > highestGPA) {
        +
        37 stk.clear();
        +
        38 stk.push(name);
        +
        39 highestGPA = GPA;
        +
        40 } else if (GPA == highestGPA) {
        +
        41 stk.push(name);
        +
        42 }
        +
        43 infile >> GPA >> name;
        +
        44 }
        +
        45 std::cout << "Highest GPA: " << highestGPA << std::endl;
        +
        46 std::cout << "Students the highest GPA are: " << std::endl;
        +
        47 while (!stk.isEmptyStack()) {
        +
        48 std::cout << stk.top() << std::endl;
        +
        49 stk.pop();
        +
        50 }
        +
        51 std::cout << std::endl;
        +
        52 return 0;
        +
        53}
        +
        for std::invalid_argument
        Definition stack.hpp:19
        +
        bool isEmptyStack() const
        Definition stack.hpp:44
        +
        void pop()
        Definition stack.hpp:62
        +
        void clear()
        Definition stack.hpp:69
        +
        void push(const value_type &item)
        Definition stack.hpp:47
        +
        value_type top() const
        Definition stack.hpp:56
        +
        int main()
        Main function.
        +
        This class specifies the basic operation on a stack as a linked list.
        +
        +
        + + + + diff --git a/db/dc0/namespacebacktracking.html b/db/dc0/namespacebacktracking.html index c6aee77a8..1a582da7e 100644 --- a/db/dc0/namespacebacktracking.html +++ b/db/dc0/namespacebacktracking.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: backtracking Namespace Reference +TheAlgorithms/C++: backtracking Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
        @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -123,7 +140,7 @@ Classes - +
        -
        Algorithms_in_C++ 1.0.0 +
        TheAlgorithms/C++ 1.0.0
        -
        Set of algorithms implemented in C++.
        +
        All the algorithms implemented in C++

        Functions

        template<size_t T>
        int minimax (int depth, int node_index, bool is_max, const std::array< int, T > &scores, double height)
        int minimax (int depth, int node_index, bool is_max, const std::array< int, T > &scores, double height)
         Check which is the maximum/minimum number in the array.
         
        @@ -132,21 +149,21 @@ Functions

        for assert

        Backtracking algorithms.

        for IO operations

        -

        for std::vector

        +

        for std::vector

        for assert for I/O operation

        Backtracking algorithms

        -

        for std::array for IO operations

        +

        for std::array for IO operations

        Backtracking algorithms

        -

        for std::array

        +

        for std::array

        Backtracking algorithms

        -

        for std::count for assert for IO operations for std::list for std::accumulate for std::vector

        -

        for std::max, std::min for std::array for log2

        +

        for std::count for assert for IO operations for std::list for std::accumulate for std::vector

        +

        for std::max, std::min for std::array for log2

        Backtracking algorithms

        -

        for std::array for assert

        +

        for std::array for assert

        Backtracking algorithms

        -

        for IO operations for unordered_map for std::vector

        +

        for IO operations for unordered_map for std::vector

        Backtracking algorithms

        -

        for IO operations for std::vector

        +

        for IO operations for std::vector

        Backtracking algorithms

        for assert

        Backtracking algorithms

        @@ -177,7 +194,7 @@ template<size_t T>
        - const std::array< int, T > & scores, + const std::array< int, T > & scores, @@ -199,6 +216,8 @@ template<size_t T>
        Returns
        the maximum or minimum number
        + +

        Definition at line 39 of file minimax.cpp.

        40 {
        41 if (depth == height) {
        42 return scores[node_index];
        @@ -207,17 +226,10 @@ template<size_t T>
        45 int v1 = minimax(depth + 1, node_index * 2, !is_max, scores, height);
        46 int v2 = minimax(depth + 1, node_index * 2 + 1, !is_max, scores, height);
        47
        -
        48 return is_max ? std::max(v1, v2) : std::min(v1, v2);
        +
        48 return is_max ? std::max(v1, v2) : std::min(v1, v2);
        49}
        -
        int height(node *root)
        Definition avltree.cpp:38
        -
        T max(T... args)
        -
        STL namespace.
        -
        -Here is the call graph for this function:
        -
        -
        -
        - +
        int height(node *root)
        Definition avltree.cpp:38
        + diff --git a/db/dc0/namespacebacktracking_a78540bcb5ef3473b2348cbc34748ec50_cgraph.map b/db/dc0/namespacebacktracking_a78540bcb5ef3473b2348cbc34748ec50_cgraph.map deleted file mode 100644 index 5f1256fd2..000000000 --- a/db/dc0/namespacebacktracking_a78540bcb5ef3473b2348cbc34748ec50_cgraph.map +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - - - diff --git a/db/dc0/namespacebacktracking_a78540bcb5ef3473b2348cbc34748ec50_cgraph.md5 b/db/dc0/namespacebacktracking_a78540bcb5ef3473b2348cbc34748ec50_cgraph.md5 deleted file mode 100644 index ba550b848..000000000 --- a/db/dc0/namespacebacktracking_a78540bcb5ef3473b2348cbc34748ec50_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -c8b7a04cbe2bf55b877010b7c942dac6 \ No newline at end of file diff --git a/db/dc0/namespacebacktracking_a78540bcb5ef3473b2348cbc34748ec50_cgraph.svg b/db/dc0/namespacebacktracking_a78540bcb5ef3473b2348cbc34748ec50_cgraph.svg deleted file mode 100644 index 2b71ec169..000000000 --- a/db/dc0/namespacebacktracking_a78540bcb5ef3473b2348cbc34748ec50_cgraph.svg +++ /dev/null @@ -1,128 +0,0 @@ - - - - - - - - - - - - -backtracking::minimax - - -Node1 - - -backtracking::minimax - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -height - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::max - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::min - - - - - -Node1->Node4 - - - - - - - - -Node2->Node2 - - - - - - - - -Node2->Node3 - - - - - - - - - - - - - diff --git a/db/dc0/namespacebacktracking_a78540bcb5ef3473b2348cbc34748ec50_cgraph_org.svg b/db/dc0/namespacebacktracking_a78540bcb5ef3473b2348cbc34748ec50_cgraph_org.svg deleted file mode 100644 index a0df8631c..000000000 --- a/db/dc0/namespacebacktracking_a78540bcb5ef3473b2348cbc34748ec50_cgraph_org.svg +++ /dev/null @@ -1,102 +0,0 @@ - - - - - - -backtracking::minimax - - -Node1 - - -backtracking::minimax - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -height - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::max - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::min - - - - - -Node1->Node4 - - - - - - - - -Node2->Node2 - - - - - - - - -Node2->Node3 - - - - - - - - diff --git a/db/dc4/floyd__cycle__detection__algo_8cpp.html b/db/dc4/floyd__cycle__detection__algo_8cpp.html index 57d15f71f..29e4b42c8 100644 --- a/db/dc4/floyd__cycle__detection__algo_8cpp.html +++ b/db/dc4/floyd__cycle__detection__algo_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: search/floyd_cycle_detection_algo.cpp File Reference +TheAlgorithms/C++: search/floyd_cycle_detection_algo.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
        @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -122,7 +139,9 @@ Include dependency graph for floyd_cycle_detection_algo.cpp:
        -
        -
        Algorithms_in_C++ 1.0.0 +
        TheAlgorithms/C++ 1.0.0
        -
        Set of algorithms implemented in C++.
        +
        All the algorithms implemented in C++
        + +

        Go to the source code of this file.

        +
        @@ -135,7 +154,7 @@ Namespaces - + @@ -148,6 +167,8 @@ Functions

        Detailed Description

        Implementation of Floyd's Cycle Detection algorithm.

        Given an array of integers containing 'n + 1' integers, where each integer is in the range [1, n] inclusive. If there is only one duplicate number in the input array, this algorithm returns the duplicate number in O(1) space and the time complexity is less than O(n^2) without modifying the original array, otherwise, it returns -1.

        Author
        Swastika Gupta
        + +

        Definition in file floyd_cycle_detection_algo.cpp.

        Function Documentation

        ◆ duplicateNumber()

        @@ -160,7 +181,7 @@ template<typename T > - + @@ -185,6 +206,8 @@ template<typename T >
        Returns
        the duplicate number
        + +

        Definition at line 37 of file floyd_cycle_detection_algo.cpp.

        37 {
        38 if (n == 0 ||
        39 n == 1) { // to find duplicate in an array its size should be atleast 2
        @@ -205,12 +228,7 @@ template<typename T >
        54 }
        55 return tortoise;
        56}
        -
        -Here is the call graph for this function:
        -
        -
        -
        - + @@ -230,17 +248,14 @@ Here is the call graph for this function:

        Main function.

        Returns
        0 on exit
        + +

        Definition at line 95 of file floyd_cycle_detection_algo.cpp.

        95 {
        96 test(); // run self-test implementations
        97 return 0;
        98}
        -
        static void test()
        Self-test implementations.
        Definition floyd_cycle_detection_algo.cpp:64
        -
        -Here is the call graph for this function:
        -
        -
        -
        - +
        static void test()
        Self-test implementations.
        + @@ -268,42 +283,35 @@ Here is the call graph for this function:

        Self-test implementations.

        Returns
        void
        + +

        Definition at line 64 of file floyd_cycle_detection_algo.cpp.

        64 {
        65 // 1st test
        66 // [3, 4, 8, 5, 9, 1, 2, 6, 7, 4] return 4
        -
        67 std::vector<uint32_t> array1 = {3, 4, 8, 5, 9, 1, 2, 6, 7, 4};
        -
        68 std::cout << "Test 1... ";
        -
        69 assert(search::cycle_detection::duplicateNumber(array1, array1.size()) ==
        +
        67 std::vector<uint32_t> array1 = {3, 4, 8, 5, 9, 1, 2, 6, 7, 4};
        +
        68 std::cout << "Test 1... ";
        +
        69 assert(search::cycle_detection::duplicateNumber(array1, array1.size()) ==
        70 4); // here the duplicate number is 4
        -
        71 std::cout << "passed" << std::endl;
        +
        71 std::cout << "passed" << std::endl;
        72
        73 // 2nd test
        74 // [1, 2, 3, 4, 2] return 2
        -
        75 std::vector<uint32_t> array2 = {1, 2, 3, 4, 2};
        -
        76 std::cout << "Test 2... ";
        -
        77 assert(search::cycle_detection::duplicateNumber(array2, array2.size()) ==
        +
        75 std::vector<uint32_t> array2 = {1, 2, 3, 4, 2};
        +
        76 std::cout << "Test 2... ";
        +
        77 assert(search::cycle_detection::duplicateNumber(array2, array2.size()) ==
        78 2); // here the duplicate number is 2
        -
        79 std::cout << "passed" << std::endl;
        +
        79 std::cout << "passed" << std::endl;
        80
        81 // 3rd test
        82 // [] return -1
        -
        83 std::vector<uint32_t> array3 = {};
        -
        84 std::cout << "Test 3... ";
        -
        85 assert(search::cycle_detection::duplicateNumber(array3, array3.size()) ==
        +
        83 std::vector<uint32_t> array3 = {};
        +
        84 std::cout << "Test 3... ";
        +
        85 assert(search::cycle_detection::duplicateNumber(array3, array3.size()) ==
        86 -1); // since the input array is empty no duplicate number exists in
        87 // this case
        -
        88 std::cout << "passed" << std::endl;
        +
        88 std::cout << "passed" << std::endl;
        89}
        - -
        T endl(T... args)
        -
        T size(T... args)
        - -
        -Here is the call graph for this function:
        -
        -
        -
        - + diff --git a/db/dc4/floyd__cycle__detection__algo_8cpp_a81ffc7a2c6bf530c8a496864e7a3ad88_cgraph.map b/db/dc4/floyd__cycle__detection__algo_8cpp_a81ffc7a2c6bf530c8a496864e7a3ad88_cgraph.map deleted file mode 100644 index 14d9ac85d..000000000 --- a/db/dc4/floyd__cycle__detection__algo_8cpp_a81ffc7a2c6bf530c8a496864e7a3ad88_cgraph.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/db/dc4/floyd__cycle__detection__algo_8cpp_a81ffc7a2c6bf530c8a496864e7a3ad88_cgraph.md5 b/db/dc4/floyd__cycle__detection__algo_8cpp_a81ffc7a2c6bf530c8a496864e7a3ad88_cgraph.md5 deleted file mode 100644 index 34bb0f05f..000000000 --- a/db/dc4/floyd__cycle__detection__algo_8cpp_a81ffc7a2c6bf530c8a496864e7a3ad88_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -45abc3a77e4b8e859d64946412573aa5 \ No newline at end of file diff --git a/db/dc4/floyd__cycle__detection__algo_8cpp_a81ffc7a2c6bf530c8a496864e7a3ad88_cgraph.svg b/db/dc4/floyd__cycle__detection__algo_8cpp_a81ffc7a2c6bf530c8a496864e7a3ad88_cgraph.svg deleted file mode 100644 index 6a76d56b9..000000000 --- a/db/dc4/floyd__cycle__detection__algo_8cpp_a81ffc7a2c6bf530c8a496864e7a3ad88_cgraph.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - - - - - - - -search::cycle_detection::duplicateNumber - - -Node1 - - -search::cycle_detection -::duplicateNumber - - - - - -Node1->Node1 - - - - - - - - - - - - - diff --git a/db/dc4/floyd__cycle__detection__algo_8cpp_a81ffc7a2c6bf530c8a496864e7a3ad88_cgraph_org.svg b/db/dc4/floyd__cycle__detection__algo_8cpp_a81ffc7a2c6bf530c8a496864e7a3ad88_cgraph_org.svg deleted file mode 100644 index 21ddadd94..000000000 --- a/db/dc4/floyd__cycle__detection__algo_8cpp_a81ffc7a2c6bf530c8a496864e7a3ad88_cgraph_org.svg +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - -search::cycle_detection::duplicateNumber - - -Node1 - - -search::cycle_detection -::duplicateNumber - - - - - -Node1->Node1 - - - - - - - - diff --git a/db/dc4/floyd__cycle__detection__algo_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map b/db/dc4/floyd__cycle__detection__algo_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map deleted file mode 100644 index b91b36709..000000000 --- a/db/dc4/floyd__cycle__detection__algo_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/db/dc4/floyd__cycle__detection__algo_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 b/db/dc4/floyd__cycle__detection__algo_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 deleted file mode 100644 index 32293e2cd..000000000 --- a/db/dc4/floyd__cycle__detection__algo_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -9ede37fefc7d80f72bb03b7e9e2bb88e \ No newline at end of file diff --git a/db/dc4/floyd__cycle__detection__algo_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg b/db/dc4/floyd__cycle__detection__algo_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg deleted file mode 100644 index d0d037cc6..000000000 --- a/db/dc4/floyd__cycle__detection__algo_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::vector::size - - - - - -Node1->Node3 - - - - - - - - - - - - - diff --git a/db/dc4/floyd__cycle__detection__algo_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg b/db/dc4/floyd__cycle__detection__algo_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg deleted file mode 100644 index 4c2518914..000000000 --- a/db/dc4/floyd__cycle__detection__algo_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::vector::size - - - - - -Node1->Node3 - - - - - - - - diff --git a/db/dc4/floyd__cycle__detection__algo_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/db/dc4/floyd__cycle__detection__algo_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 1a02e0e80..000000000 --- a/db/dc4/floyd__cycle__detection__algo_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/db/dc4/floyd__cycle__detection__algo_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/db/dc4/floyd__cycle__detection__algo_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index 7472ccf18..000000000 --- a/db/dc4/floyd__cycle__detection__algo_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -6a8d5f7a7c985fe869dd7b69e305c106 \ No newline at end of file diff --git a/db/dc4/floyd__cycle__detection__algo_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/db/dc4/floyd__cycle__detection__algo_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 174a1407a..000000000 --- a/db/dc4/floyd__cycle__detection__algo_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::vector::size - - - - - -Node2->Node4 - - - - - - - - - - - - - diff --git a/db/dc4/floyd__cycle__detection__algo_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/db/dc4/floyd__cycle__detection__algo_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 4c4c2c56f..000000000 --- a/db/dc4/floyd__cycle__detection__algo_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::vector::size - - - - - -Node2->Node4 - - - - - - - - diff --git a/db/dc4/floyd__cycle__detection__algo_8cpp_source.html b/db/dc4/floyd__cycle__detection__algo_8cpp_source.html new file mode 100644 index 000000000..ee1c4dc1d --- /dev/null +++ b/db/dc4/floyd__cycle__detection__algo_8cpp_source.html @@ -0,0 +1,210 @@ + + + + + + + + +TheAlgorithms/C++: search/floyd_cycle_detection_algo.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
        +
        +

        Namespaces

        namespace  search

        Functions

        template<typename T >
        int32_t search::cycle_detection::duplicateNumber (const std::vector< T > &in_arr, const uint32_t &n)
        int32_t search::cycle_detection::duplicateNumber (const std::vector< T > &in_arr, const uint32_t &n)
         The main function implements search algorithm.
         
        static void test ()
        int32_t search::cycle_detection::duplicateNumber (const std::vector< T > & in_arr, const std::vector< T > & in_arr,
        + + + + + + +
        +
        TheAlgorithms/C++ 1.0.0 +
        +
        All the algorithms implemented in C++
        +
        +
        + + + + + + + + + +
        + +
        +
        +
        + +
        + +
        +
        + + +
        +
        +
        +
        +
        +
        Loading...
        +
        Searching...
        +
        No Matches
        +
        +
        +
        +
        + +
        +
        floyd_cycle_detection_algo.cpp
        +
        +
        +Go to the documentation of this file.
        1
        +
        14#include <cassert>
        +
        15#include <cstdint>
        +
        16#include <iostream>
        +
        17#include <vector>
        +
        22namespace search {
        +
        28namespace cycle_detection {
        +
        36template <typename T>
        +
        +
        37int32_t duplicateNumber(const std::vector<T> &in_arr, const uint32_t &n) {
        +
        38 if (n == 0 ||
        +
        39 n == 1) { // to find duplicate in an array its size should be atleast 2
        +
        40 return -1;
        +
        41 }
        +
        42 uint32_t tortoise = in_arr[0]; // variable tortoise is used for the longer
        +
        43 // jumps in the array
        +
        44 uint32_t hare =
        +
        45 in_arr[0]; // variable hare is used for shorter jumps in the array
        +
        46 do {
        +
        47 tortoise = in_arr[tortoise];
        +
        48 hare = in_arr[in_arr[hare]];
        +
        49 } while (tortoise != hare);
        +
        50 tortoise = in_arr[0];
        +
        51 while (tortoise != hare) {
        +
        52 tortoise = in_arr[tortoise];
        +
        53 hare = in_arr[hare];
        +
        54 }
        +
        55 return tortoise;
        +
        56}
        +
        +
        57} // namespace cycle_detection
        +
        58} // namespace search
        +
        59
        +
        +
        64static void test() {
        +
        65 // 1st test
        +
        66 // [3, 4, 8, 5, 9, 1, 2, 6, 7, 4] return 4
        +
        67 std::vector<uint32_t> array1 = {3, 4, 8, 5, 9, 1, 2, 6, 7, 4};
        +
        68 std::cout << "Test 1... ";
        +
        69 assert(search::cycle_detection::duplicateNumber(array1, array1.size()) ==
        +
        70 4); // here the duplicate number is 4
        +
        71 std::cout << "passed" << std::endl;
        +
        72
        +
        73 // 2nd test
        +
        74 // [1, 2, 3, 4, 2] return 2
        +
        75 std::vector<uint32_t> array2 = {1, 2, 3, 4, 2};
        +
        76 std::cout << "Test 2... ";
        +
        77 assert(search::cycle_detection::duplicateNumber(array2, array2.size()) ==
        +
        78 2); // here the duplicate number is 2
        +
        79 std::cout << "passed" << std::endl;
        +
        80
        +
        81 // 3rd test
        +
        82 // [] return -1
        +
        83 std::vector<uint32_t> array3 = {};
        +
        84 std::cout << "Test 3... ";
        +
        85 assert(search::cycle_detection::duplicateNumber(array3, array3.size()) ==
        +
        86 -1); // since the input array is empty no duplicate number exists in
        +
        87 // this case
        +
        88 std::cout << "passed" << std::endl;
        +
        89}
        +
        +
        90
        +
        +
        95int main() {
        +
        96 test(); // run self-test implementations
        +
        97 return 0;
        +
        98}
        +
        +
        int32_t duplicateNumber(const std::vector< T > &in_arr, const uint32_t &n)
        The main function implements search algorithm.
        +
        static void test()
        Self-test implementations.
        +
        int main()
        Main function.
        +
        Functions for the Floyd's Cycle Detection algorithm.
        +
        for std::assert
        +
        +
        + + + + diff --git a/db/dd3/ode__forward__euler_8cpp.html b/db/dd3/ode__forward__euler_8cpp.html index 2159946f1..e1bdc2c9a 100644 --- a/db/dd3/ode__forward__euler_8cpp.html +++ b/db/dd3/ode__forward__euler_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: numerical_methods/ode_forward_euler.cpp File Reference +TheAlgorithms/C++: numerical_methods/ode_forward_euler.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
        @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -122,22 +139,24 @@ Include dependency graph for ode_forward_euler.cpp:
        -
        -
        Algorithms_in_C++ 1.0.0 +
        TheAlgorithms/C++ 1.0.0
        -
        Set of algorithms implemented in C++.
        +
        All the algorithms implemented in C++
        + +

        Go to the source code of this file.

        +
        - + - + - + - + - + @@ -164,6 +183,8 @@ Functions
        dy[0] = y[1];
        dy[1] = mu * (1.f - y[0] * y[0]) * y[1] - y[0];
        See also
        ode_midpoint_euler.cpp, ode_semi_implicit_euler.cpp
        + +

        Definition in file ode_forward_euler.cpp.

        Function Documentation

        ◆ exact_solution()

        @@ -179,7 +200,7 @@ Functions - +

        Functions

        void problem (const double &x, std::valarray< double > *y, std::valarray< double > *dy)
        void problem (const double &x, std::valarray< double > *y, std::valarray< double > *dy)
         Problem statement for a system with first-order differential equations. Updates the system differential variables.
         
        void exact_solution (const double &x, std::valarray< double > *y)
        void exact_solution (const double &x, std::valarray< double > *y)
         Exact solution of the problem. Used for solution comparison.
         
        void forward_euler_step (const double dx, const double x, std::valarray< double > *y, std::valarray< double > *dy)
        void forward_euler_step (const double dx, const double x, std::valarray< double > *y, std::valarray< double > *dy)
         Compute next step approximation using the forward-Euler method.
         
        double forward_euler (double dx, double x0, double x_max, std::valarray< double > *y, bool save_to_file=false)
        double forward_euler (double dx, double x0, double x_max, std::valarray< double > *y, bool save_to_file=false)
         Compute approximation using the forward-Euler method in the given limits.
         
        void save_exact_solution (const double &X0, const double &X_MAX, const double &step_size, const std::valarray< double > &Y0)
        void save_exact_solution (const double &X0, const double &X_MAX, const double &step_size, const std::valarray< double > &Y0)
         
        int main (int argc, char *argv[])
         
        std::valarray< double > * y )std::valarray< double > * y )
        @@ -192,18 +213,13 @@ Functions -
        67 {
        -
        68 y[0][0] = std::cos(x);
        -
        69 y[0][1] = -std::sin(x);
        -
        70}
        -
        T cos(T... args)
        -
        T sin(T... args)
        -
        -Here is the call graph for this function:
        -
        -
        -
        +

        Definition at line 67 of file ode_forward_euler.cpp.

        +
        67 {
        +
        68 y[0][0] = std::cos(x);
        +
        69 y[0][1] = -std::sin(x);
        +
        70}
        +
        @@ -225,41 +241,34 @@ Here is the call graph for this function:

        Main Function

        + +

        Definition at line 189 of file ode_forward_euler.cpp.

        189 {
        190 double X0 = 0.f; /* initial value of x0 */
        191 double X_MAX = 10.F; /* upper limit of integration */
        -
        192 std::valarray<double> Y0{1.f, 0.f}; /* initial value Y = y(x = x_0) */
        +
        192 std::valarray<double> Y0{1.f, 0.f}; /* initial value Y = y(x = x_0) */
        193 double step_size = NAN;
        194
        195 if (argc == 1) {
        -
        196 std::cout << "\nEnter the step size: ";
        -
        197 std::cin >> step_size;
        +
        196 std::cout << "\nEnter the step size: ";
        +
        197 std::cin >> step_size;
        198 } else {
        199 // use commandline argument as independent variable step size
        -
        200 step_size = std::atof(argv[1]);
        +
        200 step_size = std::atof(argv[1]);
        201 }
        202
        203 // get approximate solution
        204 double total_time = forward_euler(step_size, X0, X_MAX, &Y0, true);
        -
        205 std::cout << "\tTime = " << total_time << " ms\n";
        +
        205 std::cout << "\tTime = " << total_time << " ms\n";
        206
        207 /* compute exact solution for comparion */
        208 save_exact_solution(X0, X_MAX, step_size, Y0);
        209
        210 return 0;
        211}
        -
        T atof(T... args)
        - - -
        double forward_euler(double dx, double x0, double x_max, std::valarray< double > *y, bool save_to_file=false)
        Compute approximation using the forward-Euler method in the given limits.
        Definition ode_forward_euler.cpp:102
        -
        void save_exact_solution(const double &X0, const double &X_MAX, const double &step_size, const std::valarray< double > &Y0)
        Definition ode_forward_euler.cpp:153
        - -
        -Here is the call graph for this function:
        -
        -
        -
        - +
        double forward_euler(double dx, double x0, double x_max, std::valarray< double > *y, bool save_to_file=false)
        Compute approximation using the forward-Euler method in the given limits.
        +
        void save_exact_solution(const double &X0, const double &X_MAX, const double &step_size, const std::valarray< double > &Y0)
        +
        @@ -276,12 +285,12 @@ Here is the call graph for this function: - std::valarray< double > * y, + std::valarray< double > * y, - std::valarray< double > * dy ) + std::valarray< double > * dy )
        @@ -296,6 +305,8 @@ Here is the call graph for this function:
        + +

        Definition at line 54 of file ode_forward_euler.cpp.

        55 {
        56 const double omega = 1.F; // some const for the problem
        57 (*dy)[0] = (*y)[1]; // x dot // NOLINT
        @@ -328,7 +339,7 @@ Here is the call graph for this function:
        - const std::valarray< double > & Y0 ) + const std::valarray< double > & Y0 )
        @@ -342,18 +353,20 @@ Here is the call graph for this function:
        + +

        Definition at line 153 of file ode_forward_euler.cpp.

        155 {
        156 double x = X0;
        - +
        157 std::valarray<double> y(Y0);
        158
        -
        159 std::ofstream fp("exact.csv", std::ostream::out);
        +
        159 std::ofstream fp("exact.csv", std::ostream::out);
        160 if (!fp.is_open()) {
        -
        161 std::perror("Error! ");
        +
        161 std::perror("Error! ");
        162 return;
        163 }
        -
        164 std::cout << "Finding exact solution\n";
        +
        164 std::cout << "Finding exact solution\n";
        165
        - +
        166 std::clock_t t1 = std::clock();
        167 do {
        168 fp << x << ",";
        169 for (int i = 0; i < y.size() - 1; i++) {
        @@ -366,23 +379,14 @@ Here is the call graph for this function:
        176 x += step_size;
        177 } while (x <= X_MAX);
        178
        - +
        179 std::clock_t t2 = std::clock();
        180 double total_time = static_cast<double>(t2 - t1) / CLOCKS_PER_SEC;
        -
        181 std::cout << "\tTime = " << total_time << " ms\n";
        +
        181 std::cout << "\tTime = " << total_time << " ms\n";
        182
        183 fp.close();
        184}
        - -
        T clock(T... args)
        - -
        void exact_solution(const double &x, std::valarray< double > *y)
        Exact solution of the problem. Used for solution comparison.
        Definition ode_forward_euler.cpp:67
        -
        T perror(T... args)
        -
        -Here is the call graph for this function:
        -
        -
        -
        - +
        void exact_solution(const double &x, std::valarray< double > *y)
        Exact solution of the problem. Used for solution comparison.
        + diff --git a/db/dd3/ode__forward__euler_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.map b/db/dd3/ode__forward__euler_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.map deleted file mode 100644 index ac5a9fc60..000000000 --- a/db/dd3/ode__forward__euler_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.map +++ /dev/null @@ -1,33 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/db/dd3/ode__forward__euler_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.md5 b/db/dd3/ode__forward__euler_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.md5 deleted file mode 100644 index a340b3c3a..000000000 --- a/db/dd3/ode__forward__euler_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -8c25254ae2a11884d140ade79e6a902c \ No newline at end of file diff --git a/db/dd3/ode__forward__euler_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.svg b/db/dd3/ode__forward__euler_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.svg deleted file mode 100644 index 55b37b0bb..000000000 --- a/db/dd3/ode__forward__euler_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.svg +++ /dev/null @@ -1,317 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -std::atof - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -forward_euler - - - - - -Node1->Node3 - - - - - - - - -Node11 - - -save_exact_solution - - - - - -Node1->Node11 - - - - - - - - -Node4 - - -std::clock - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -std::ofstream::close - - - - - -Node3->Node5 - - - - - - - - -Node6 - - -forward_euler_step - - - - - -Node3->Node6 - - - - - - - - -Node8 - - -std::ofstream::is_open - - - - - -Node3->Node8 - - - - - - - - -Node9 - - -std::ofstream::open - - - - - -Node3->Node9 - - - - - - - - -Node10 - - -std::perror - - - - - -Node3->Node10 - - - - - - - - -Node7 - - -problem - - - - - -Node6->Node7 - - - - - - - - -Node11->Node4 - - - - - - - - -Node11->Node5 - - - - - - - - -Node11->Node8 - - - - - - - - -Node11->Node10 - - - - - - - - -Node12 - - -exact_solution - - - - - -Node11->Node12 - - - - - - - - -Node13 - - -std::cos - - - - - -Node12->Node13 - - - - - - - - -Node14 - - -std::sin - - - - - -Node12->Node14 - - - - - - - - - - - - - diff --git a/db/dd3/ode__forward__euler_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph_org.svg b/db/dd3/ode__forward__euler_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph_org.svg deleted file mode 100644 index e3f6e8a2d..000000000 --- a/db/dd3/ode__forward__euler_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph_org.svg +++ /dev/null @@ -1,291 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -std::atof - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -forward_euler - - - - - -Node1->Node3 - - - - - - - - -Node11 - - -save_exact_solution - - - - - -Node1->Node11 - - - - - - - - -Node4 - - -std::clock - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -std::ofstream::close - - - - - -Node3->Node5 - - - - - - - - -Node6 - - -forward_euler_step - - - - - -Node3->Node6 - - - - - - - - -Node8 - - -std::ofstream::is_open - - - - - -Node3->Node8 - - - - - - - - -Node9 - - -std::ofstream::open - - - - - -Node3->Node9 - - - - - - - - -Node10 - - -std::perror - - - - - -Node3->Node10 - - - - - - - - -Node7 - - -problem - - - - - -Node6->Node7 - - - - - - - - -Node11->Node4 - - - - - - - - -Node11->Node5 - - - - - - - - -Node11->Node8 - - - - - - - - -Node11->Node10 - - - - - - - - -Node12 - - -exact_solution - - - - - -Node11->Node12 - - - - - - - - -Node13 - - -std::cos - - - - - -Node12->Node13 - - - - - - - - -Node14 - - -std::sin - - - - - -Node12->Node14 - - - - - - - - diff --git a/db/dd3/ode__forward__euler_8cpp_aa13517b8e5de1b75592052db7f7e237f_cgraph.map b/db/dd3/ode__forward__euler_8cpp_aa13517b8e5de1b75592052db7f7e237f_cgraph.map deleted file mode 100644 index 1d0fbfec4..000000000 --- a/db/dd3/ode__forward__euler_8cpp_aa13517b8e5de1b75592052db7f7e237f_cgraph.map +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - - - - - diff --git a/db/dd3/ode__forward__euler_8cpp_aa13517b8e5de1b75592052db7f7e237f_cgraph.md5 b/db/dd3/ode__forward__euler_8cpp_aa13517b8e5de1b75592052db7f7e237f_cgraph.md5 deleted file mode 100644 index 75b45e807..000000000 --- a/db/dd3/ode__forward__euler_8cpp_aa13517b8e5de1b75592052db7f7e237f_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -06ba2372c65249339fc942bfa3a5055a \ No newline at end of file diff --git a/db/dd3/ode__forward__euler_8cpp_aa13517b8e5de1b75592052db7f7e237f_cgraph.svg b/db/dd3/ode__forward__euler_8cpp_aa13517b8e5de1b75592052db7f7e237f_cgraph.svg deleted file mode 100644 index a6716ec7e..000000000 --- a/db/dd3/ode__forward__euler_8cpp_aa13517b8e5de1b75592052db7f7e237f_cgraph.svg +++ /dev/null @@ -1,173 +0,0 @@ - - - - - - - - - - - - -save_exact_solution - - -Node1 - - -save_exact_solution - - - - - -Node2 - - -std::clock - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::ofstream::close - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -exact_solution - - - - - -Node1->Node4 - - - - - - - - -Node7 - - -std::ofstream::is_open - - - - - -Node1->Node7 - - - - - - - - -Node8 - - -std::perror - - - - - -Node1->Node8 - - - - - - - - -Node5 - - -std::cos - - - - - -Node4->Node5 - - - - - - - - -Node6 - - -std::sin - - - - - -Node4->Node6 - - - - - - - - - - - - - diff --git a/db/dd3/ode__forward__euler_8cpp_aa13517b8e5de1b75592052db7f7e237f_cgraph_org.svg b/db/dd3/ode__forward__euler_8cpp_aa13517b8e5de1b75592052db7f7e237f_cgraph_org.svg deleted file mode 100644 index fa38b1c3e..000000000 --- a/db/dd3/ode__forward__euler_8cpp_aa13517b8e5de1b75592052db7f7e237f_cgraph_org.svg +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - -save_exact_solution - - -Node1 - - -save_exact_solution - - - - - -Node2 - - -std::clock - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::ofstream::close - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -exact_solution - - - - - -Node1->Node4 - - - - - - - - -Node7 - - -std::ofstream::is_open - - - - - -Node1->Node7 - - - - - - - - -Node8 - - -std::perror - - - - - -Node1->Node8 - - - - - - - - -Node5 - - -std::cos - - - - - -Node4->Node5 - - - - - - - - -Node6 - - -std::sin - - - - - -Node4->Node6 - - - - - - - - diff --git a/db/dd3/ode__forward__euler_8cpp_af3adf7b092a87868917ee5fb4255192b_cgraph.map b/db/dd3/ode__forward__euler_8cpp_af3adf7b092a87868917ee5fb4255192b_cgraph.map deleted file mode 100644 index 20ef8b76a..000000000 --- a/db/dd3/ode__forward__euler_8cpp_af3adf7b092a87868917ee5fb4255192b_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/db/dd3/ode__forward__euler_8cpp_af3adf7b092a87868917ee5fb4255192b_cgraph.md5 b/db/dd3/ode__forward__euler_8cpp_af3adf7b092a87868917ee5fb4255192b_cgraph.md5 deleted file mode 100644 index bfa5784f3..000000000 --- a/db/dd3/ode__forward__euler_8cpp_af3adf7b092a87868917ee5fb4255192b_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -775f69ca4eafdff6467315705aafdd17 \ No newline at end of file diff --git a/db/dd3/ode__forward__euler_8cpp_af3adf7b092a87868917ee5fb4255192b_cgraph.svg b/db/dd3/ode__forward__euler_8cpp_af3adf7b092a87868917ee5fb4255192b_cgraph.svg deleted file mode 100644 index 85206d2ac..000000000 --- a/db/dd3/ode__forward__euler_8cpp_af3adf7b092a87868917ee5fb4255192b_cgraph.svg +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - -exact_solution - - -Node1 - - -exact_solution - - - - - -Node2 - - -std::cos - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::sin - - - - - -Node1->Node3 - - - - - - - - - - - - - diff --git a/db/dd3/ode__forward__euler_8cpp_af3adf7b092a87868917ee5fb4255192b_cgraph_org.svg b/db/dd3/ode__forward__euler_8cpp_af3adf7b092a87868917ee5fb4255192b_cgraph_org.svg deleted file mode 100644 index b49865b04..000000000 --- a/db/dd3/ode__forward__euler_8cpp_af3adf7b092a87868917ee5fb4255192b_cgraph_org.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - -exact_solution - - -Node1 - - -exact_solution - - - - - -Node2 - - -std::cos - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::sin - - - - - -Node1->Node3 - - - - - - - - diff --git a/db/dd3/ode__forward__euler_8cpp_source.html b/db/dd3/ode__forward__euler_8cpp_source.html new file mode 100644 index 000000000..410e7b43a --- /dev/null +++ b/db/dd3/ode__forward__euler_8cpp_source.html @@ -0,0 +1,277 @@ + + + + + + + + +TheAlgorithms/C++: numerical_methods/ode_forward_euler.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
        +
        + + + + + + + +
        +
        TheAlgorithms/C++ 1.0.0 +
        +
        All the algorithms implemented in C++
        +
        +
        + + + + + + + + +
        +
        + +
        +
        +
        + +
        + +
        +
        + + +
        +
        +
        +
        +
        +
        Loading...
        +
        Searching...
        +
        No Matches
        +
        +
        +
        +
        + +
        +
        ode_forward_euler.cpp
        +
        +
        +Go to the documentation of this file.
        1
        +
        39#include <cmath>
        +
        40#include <ctime>
        +
        41#include <fstream>
        +
        42#include <iostream>
        +
        43#include <valarray>
        +
        44
        +
        +
        54void problem(const double &x, std::valarray<double> *y,
        +
        55 std::valarray<double> *dy) {
        +
        56 const double omega = 1.F; // some const for the problem
        +
        57 (*dy)[0] = (*y)[1]; // x dot // NOLINT
        +
        58 (*dy)[1] = -omega * omega * (*y)[0]; // y dot // NOLINT
        +
        59}
        +
        +
        60
        +
        +
        67void exact_solution(const double &x, std::valarray<double> *y) {
        +
        68 y[0][0] = std::cos(x);
        +
        69 y[0][1] = -std::sin(x);
        +
        70}
        +
        +
        71
        +
        +
        86void forward_euler_step(const double dx, const double x,
        +
        87 std::valarray<double> *y, std::valarray<double> *dy) {
        +
        88 problem(x, y, dy);
        +
        89 *y += *dy * dx;
        +
        90}
        +
        +
        91
        +
        +
        102double forward_euler(double dx, double x0, double x_max,
        +
        103 std::valarray<double> *y, bool save_to_file = false) {
        +
        104 std::valarray<double> dy = *y;
        +
        105
        +
        106 std::ofstream fp;
        +
        107 if (save_to_file) {
        +
        108 fp.open("forward_euler.csv", std::ofstream::out);
        +
        109 if (!fp.is_open()) {
        +
        110 std::perror("Error! ");
        +
        111 }
        +
        112 }
        +
        113
        +
        114 std::size_t L = y->size();
        +
        115
        +
        116 /* start integration */
        +
        117 std::clock_t t1 = std::clock();
        +
        118 double x = x0;
        +
        119
        +
        120 do { // iterate for each step of independent variable
        +
        121 if (save_to_file && fp.is_open()) {
        +
        122 // write to file
        +
        123 fp << x << ",";
        +
        124 for (int i = 0; i < L - 1; i++) {
        +
        125 fp << y[0][i] << ","; // NOLINT
        +
        126 }
        +
        127 fp << y[0][L - 1] << "\n"; // NOLINT
        +
        128 }
        +
        129
        +
        130 forward_euler_step(dx, x, y, &dy); // perform integration
        +
        131 x += dx; // update step
        +
        132 } while (x <= x_max); // till upper limit of independent variable
        +
        133 /* end of integration */
        +
        134 std::clock_t t2 = std::clock();
        +
        135
        +
        136 if (fp.is_open()) {
        +
        137 fp.close();
        +
        138 }
        +
        139
        +
        140 return static_cast<double>(t2 - t1) / CLOCKS_PER_SEC;
        +
        141}
        +
        +
        142
        +
        +
        153void save_exact_solution(const double &X0, const double &X_MAX,
        +
        154 const double &step_size,
        +
        155 const std::valarray<double> &Y0) {
        +
        156 double x = X0;
        +
        157 std::valarray<double> y(Y0);
        +
        158
        +
        159 std::ofstream fp("exact.csv", std::ostream::out);
        +
        160 if (!fp.is_open()) {
        +
        161 std::perror("Error! ");
        +
        162 return;
        +
        163 }
        +
        164 std::cout << "Finding exact solution\n";
        +
        165
        +
        166 std::clock_t t1 = std::clock();
        +
        167 do {
        +
        168 fp << x << ",";
        +
        169 for (int i = 0; i < y.size() - 1; i++) {
        +
        170 fp << y[i] << ","; // NOLINT
        +
        171 }
        +
        172 fp << y[y.size() - 1] << "\n"; // NOLINT
        +
        173
        +
        174 exact_solution(x, &y);
        +
        175
        +
        176 x += step_size;
        +
        177 } while (x <= X_MAX);
        +
        178
        +
        179 std::clock_t t2 = std::clock();
        +
        180 double total_time = static_cast<double>(t2 - t1) / CLOCKS_PER_SEC;
        +
        181 std::cout << "\tTime = " << total_time << " ms\n";
        +
        182
        +
        183 fp.close();
        +
        184}
        +
        +
        185
        +
        +
        189int main(int argc, char *argv[]) {
        +
        190 double X0 = 0.f; /* initial value of x0 */
        +
        191 double X_MAX = 10.F; /* upper limit of integration */
        +
        192 std::valarray<double> Y0{1.f, 0.f}; /* initial value Y = y(x = x_0) */
        +
        193 double step_size = NAN;
        +
        194
        +
        195 if (argc == 1) {
        +
        196 std::cout << "\nEnter the step size: ";
        +
        197 std::cin >> step_size;
        +
        198 } else {
        +
        199 // use commandline argument as independent variable step size
        +
        200 step_size = std::atof(argv[1]);
        +
        201 }
        +
        202
        +
        203 // get approximate solution
        +
        204 double total_time = forward_euler(step_size, X0, X_MAX, &Y0, true);
        +
        205 std::cout << "\tTime = " << total_time << " ms\n";
        +
        206
        +
        207 /* compute exact solution for comparion */
        +
        208 save_exact_solution(X0, X_MAX, step_size, Y0);
        +
        209
        +
        210 return 0;
        +
        211}
        +
        +
        int main()
        Main function.
        +
        void forward_euler_step(const double dx, const double x, std::valarray< double > *y, std::valarray< double > *dy)
        Compute next step approximation using the forward-Euler method.
        +
        double forward_euler(double dx, double x0, double x_max, std::valarray< double > *y, bool save_to_file=false)
        Compute approximation using the forward-Euler method in the given limits.
        +
        void save_exact_solution(const double &X0, const double &X_MAX, const double &step_size, const std::valarray< double > &Y0)
        +
        void problem(const double &x, std::valarray< double > *y, std::valarray< double > *dy)
        Problem statement for a system with first-order differential equations. Updates the system differenti...
        +
        void exact_solution(const double &x, std::valarray< double > *y)
        Exact solution of the problem. Used for solution comparison.
        +
        +
        + + + + diff --git a/db/ddb/classhash__chain__coll__graph.map b/db/ddb/classhash__chain__coll__graph.map index 510ddd67e..651d010f9 100644 --- a/db/ddb/classhash__chain__coll__graph.map +++ b/db/ddb/classhash__chain__coll__graph.map @@ -1,12 +1,12 @@ - + - + - + diff --git a/db/ddb/classhash__chain__coll__graph.md5 b/db/ddb/classhash__chain__coll__graph.md5 index 0eb30c00c..e28b49fcf 100644 --- a/db/ddb/classhash__chain__coll__graph.md5 +++ b/db/ddb/classhash__chain__coll__graph.md5 @@ -1 +1 @@ -9a0469be3e837a0deef3b2d63f7ffd80 \ No newline at end of file +f169a0514c6ffc2d25ca3e3354118a1c \ No newline at end of file diff --git a/db/ddb/classhash__chain__coll__graph.svg b/db/ddb/classhash__chain__coll__graph.svg index 350e6b7f5..daa4e4144 100644 --- a/db/ddb/classhash__chain__coll__graph.svg +++ b/db/ddb/classhash__chain__coll__graph.svg @@ -31,7 +31,7 @@ Node2 - + std::vector< std::shared _ptr< Node > > @@ -51,7 +51,7 @@ Node3 - + std::shared_ptr< Node > @@ -99,7 +99,7 @@ Node5 - + std::shared_ptr< Node < ValueType > > diff --git a/db/ddb/classhash__chain__coll__graph_org.svg b/db/ddb/classhash__chain__coll__graph_org.svg index 8ecda0205..eded5de43 100644 --- a/db/ddb/classhash__chain__coll__graph_org.svg +++ b/db/ddb/classhash__chain__coll__graph_org.svg @@ -20,7 +20,7 @@ Node2 - + std::vector< std::shared _ptr< Node > > @@ -40,7 +40,7 @@ Node3 - + std::shared_ptr< Node > @@ -88,7 +88,7 @@ Node5 - + std::shared_ptr< Node < ValueType > > diff --git a/db/ddc/namespaceaystar__search.html b/db/ddc/namespaceaystar__search.html index ce08b6424..d6de35a39 100644 --- a/db/ddc/namespaceaystar__search.html +++ b/db/ddc/namespaceaystar__search.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: aystar_search Namespace Reference +TheAlgorithms/C++: aystar_search Namespace Reference + + + @@ -18,14 +24,24 @@ - - + + +

        Typedef Documentation

        + +

        ◆ CacheNode

        + +
        +
        +
        +template<typename K , typename V >
        + + + + +
        using others::Cache::CacheNode = D_Node<std::pair<K, V>>
        +
        + +

        Definition at line 55 of file lfu_cache.cpp.

        + +
        +
        +

        Checks if a decimal number is a happy number

        Returns
        true if happy else false
        + +

        Definition at line 14 of file happy_number.cpp.

        14 {
        15 T s = 0; // stores sum of digits
        16 while (n > 9) { // while number is > 9, there are more than 1 digit
        @@ -178,27 +201,21 @@ template<typename T >

        Main function

        + +

        Definition at line 29 of file happy_number.cpp.

        29 {
        30 int n;
        -
        31 std::cout << "Enter a number:";
        -
        32 std::cin >> n;
        +
        31 std::cout << "Enter a number:";
        +
        32 std::cin >> n;
        33
        34 if (is_happy(n))
        -
        35 std::cout << n << " is a happy number" << std::endl;
        +
        35 std::cout << n << " is a happy number" << std::endl;
        36 else
        -
        37 std::cout << n << " is not a happy number" << std::endl;
        +
        37 std::cout << n << " is not a happy number" << std::endl;
        38 return 0;
        39}
        - - -
        T endl(T... args)
        -
        bool is_happy(T n)
        Definition happy_number.cpp:14
        -
        -Here is the call graph for this function:
        -
        -
        -
        - +
        bool is_happy(T n)
        +
        diff --git a/db/df3/happy__number_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/db/df3/happy__number_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 09f472ea5..000000000 --- a/db/df3/happy__number_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/db/df3/happy__number_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/db/df3/happy__number_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index e11919944..000000000 --- a/db/df3/happy__number_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -91232e8f6a0d2d2021cd5e316ba02c56 \ No newline at end of file diff --git a/db/df3/happy__number_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/db/df3/happy__number_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 96efb4db8..000000000 --- a/db/df3/happy__number_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -is_happy - - - - - -Node1->Node3 - - - - - - - - - - - - - diff --git a/db/df3/happy__number_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/db/df3/happy__number_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 09cbbd577..000000000 --- a/db/df3/happy__number_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -is_happy - - - - - -Node1->Node3 - - - - - - - - diff --git a/db/df3/happy__number_8cpp_source.html b/db/df3/happy__number_8cpp_source.html new file mode 100644 index 000000000..fb1691d3b --- /dev/null +++ b/db/df3/happy__number_8cpp_source.html @@ -0,0 +1,172 @@ + + + + + + + + +TheAlgorithms/C++: others/happy_number.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
        +
        + + + + + + + +
        +
        TheAlgorithms/C++ 1.0.0 +
        +
        All the algorithms implemented in C++
        +
        +
        + + + + + + + + +
        +
        + +
        +
        +
        + +
        + +
        +
        + + +
        +
        +
        +
        +
        +
        Loading...
        +
        Searching...
        +
        No Matches
        +
        +
        +
        +
        + +
        +
        happy_number.cpp
        +
        +
        +Go to the documentation of this file.
        1
        +
        7#include <iostream>
        +
        8
        +
        13template <typename T>
        +
        +
        14bool is_happy(T n) {
        +
        15 T s = 0; // stores sum of digits
        +
        16 while (n > 9) { // while number is > 9, there are more than 1 digit
        +
        17 while (n != 0) { // get digit
        +
        18 T d = n % 10;
        +
        19 s += d;
        +
        20 n /= 10;
        +
        21 }
        +
        22 n = s;
        +
        23 s = 0;
        +
        24 }
        +
        25 return (n == 1) ? true : false; // true if k == 1
        +
        26}
        +
        +
        27
        +
        +
        29int main() {
        +
        30 int n;
        +
        31 std::cout << "Enter a number:";
        +
        32 std::cin >> n;
        +
        33
        +
        34 if (is_happy(n))
        +
        35 std::cout << n << " is a happy number" << std::endl;
        +
        36 else
        +
        37 std::cout << n << " is not a happy number" << std::endl;
        +
        38 return 0;
        +
        39}
        +
        +
        bool is_happy(T n)
        +
        int main()
        +
        +
        + + + + diff --git a/db/dfb/maximum__circular__subarray_8cpp.html b/db/dfb/maximum__circular__subarray_8cpp.html index 0919611be..d1ea386c9 100644 --- a/db/dfb/maximum__circular__subarray_8cpp.html +++ b/db/dfb/maximum__circular__subarray_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: dynamic_programming/maximum_circular_subarray.cpp File Reference +TheAlgorithms/C++: dynamic_programming/maximum_circular_subarray.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
        @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -121,7 +138,9 @@ Include dependency graph for maximum_circular_subarray.cpp:
        -
        -
        Algorithms_in_C++ 1.0.0 +
        TheAlgorithms/C++ 1.0.0
        -
        Set of algorithms implemented in C++.
        +
        All the algorithms implemented in C++
        + +

        Go to the source code of this file.

        +
        @@ -130,7 +149,7 @@ Namespaces

        Namespaces

        namespace  dynamic_programming
        - + @@ -143,6 +162,8 @@ Functions

        Detailed Description

        C++ program for maximum contiguous circular sum problem using Kadane's Algorithm

        The idea is to modify Kadane’s algorithm to find a minimum contiguous subarray sum and the maximum contiguous subarray sum, then check for the maximum value between the max_value and the value left after subtracting min_value from the total sum. For more information, check Geeks For Geeks explanation page.

        + +

        Definition in file maximum_circular_subarray.cpp.

        Function Documentation

        ◆ main()

        @@ -172,17 +193,14 @@ Functions
        Returns
        0 on exit
        + +

        Definition at line 87 of file maximum_circular_subarray.cpp.

        87 {
        88 test(); // run self-test implementations
        89 return 0;
        90}
        -
        static void test()
        Self-test implementation.
        Definition maximum_circular_subarray.cpp:64
        -
        -Here is the call graph for this function:
        -
        -
        -
        - +
        static void test()
        Self-test implementation.
        + @@ -210,6 +228,8 @@ Here is the call graph for this function:

        Self-test implementation.

        Returns
        void
        + +

        Definition at line 64 of file maximum_circular_subarray.cpp.

        64 {
        65 // Description of the test
        66 // Input: arr[] = {8, -8, 9, -9, 10, -11, 12}
        @@ -217,23 +237,16 @@ Here is the call graph for this function:
        68 // Explanation: Subarray 12, 8, -8, 9, -9, 10 gives the maximum sum, that is 22.
        69
        70 int n = 7; // size of the array
        -
        71 std::vector<int> arr = {8, -8, 9, -9, 10, -11, 12};
        +
        71 std::vector<int> arr = {8, -8, 9, -9, 10, -11, 12};
        72 assert(dynamic_programming::maxCircularSum(arr) == 22); // this ensures that the algorithm works as expected
        73
        74 arr = {8, -8, 10, -9, 10, -11, 12};
        75 assert(dynamic_programming::maxCircularSum(arr) == 23);
        76
        -
        77 std::cout << "All tests have successfully passed!\n";
        +
        77 std::cout << "All tests have successfully passed!\n";
        78}
        - -
        int maxCircularSum(std::vector< int > &arr)
        returns the maximum contiguous circular sum of an array
        Definition maximum_circular_subarray.cpp:26
        - -
        -Here is the call graph for this function:
        -
        -
        -
        - +
        int maxCircularSum(std::vector< int > &arr)
        returns the maximum contiguous circular sum of an array
        + diff --git a/db/dfb/maximum__circular__subarray_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.map b/db/dfb/maximum__circular__subarray_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.map deleted file mode 100644 index ec6aca280..000000000 --- a/db/dfb/maximum__circular__subarray_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.map +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - diff --git a/db/dfb/maximum__circular__subarray_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.md5 b/db/dfb/maximum__circular__subarray_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.md5 deleted file mode 100644 index 5fefad8d0..000000000 --- a/db/dfb/maximum__circular__subarray_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -d91566c02b05353fba3f861bd0e57682 \ No newline at end of file diff --git a/db/dfb/maximum__circular__subarray_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.svg b/db/dfb/maximum__circular__subarray_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.svg deleted file mode 100644 index 60aa6e85d..000000000 --- a/db/dfb/maximum__circular__subarray_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.svg +++ /dev/null @@ -1,138 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -dynamic_programming -::maxCircularSum - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::max - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -std::min - - - - - -Node3->Node5 - - - - - - - - -Node6 - - -std::vector::size - - - - - -Node3->Node6 - - - - - - - - - - - - - diff --git a/db/dfb/maximum__circular__subarray_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph_org.svg b/db/dfb/maximum__circular__subarray_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph_org.svg deleted file mode 100644 index 308574533..000000000 --- a/db/dfb/maximum__circular__subarray_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph_org.svg +++ /dev/null @@ -1,112 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -dynamic_programming -::maxCircularSum - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::max - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -std::min - - - - - -Node3->Node5 - - - - - - - - -Node6 - - -std::vector::size - - - - - -Node3->Node6 - - - - - - - - diff --git a/db/dfb/maximum__circular__subarray_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map b/db/dfb/maximum__circular__subarray_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map deleted file mode 100644 index 9107d179a..000000000 --- a/db/dfb/maximum__circular__subarray_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/db/dfb/maximum__circular__subarray_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 b/db/dfb/maximum__circular__subarray_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 deleted file mode 100644 index 6feb92e1b..000000000 --- a/db/dfb/maximum__circular__subarray_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -51fd8019e496a8cfa3f4560491e87b8f \ No newline at end of file diff --git a/db/dfb/maximum__circular__subarray_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg b/db/dfb/maximum__circular__subarray_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg deleted file mode 100644 index c3e091c4f..000000000 --- a/db/dfb/maximum__circular__subarray_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -dynamic_programming -::maxCircularSum - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::max - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::min - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -std::vector::size - - - - - -Node2->Node5 - - - - - - - - - - - - - diff --git a/db/dfb/maximum__circular__subarray_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg b/db/dfb/maximum__circular__subarray_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg deleted file mode 100644 index 868b2c516..000000000 --- a/db/dfb/maximum__circular__subarray_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -dynamic_programming -::maxCircularSum - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::max - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::min - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -std::vector::size - - - - - -Node2->Node5 - - - - - - - - diff --git a/db/dfb/maximum__circular__subarray_8cpp_source.html b/db/dfb/maximum__circular__subarray_8cpp_source.html new file mode 100644 index 000000000..b9dbe9910 --- /dev/null +++ b/db/dfb/maximum__circular__subarray_8cpp_source.html @@ -0,0 +1,209 @@ + + + + + + + + +TheAlgorithms/C++: dynamic_programming/maximum_circular_subarray.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
        +
        +

        Functions

        int dynamic_programming::maxCircularSum (std::vector< int > &arr)
        int dynamic_programming::maxCircularSum (std::vector< int > &arr)
         returns the maximum contiguous circular sum of an array
         
        static void test ()
        + + + + + + +
        +
        TheAlgorithms/C++ 1.0.0 +
        +
        All the algorithms implemented in C++
        +
        +
        + + + + + + + + + +
        + +
        +
        +
        + +
        + +
        +
        + + +
        +
        +
        +
        +
        +
        Loading...
        +
        Searching...
        +
        No Matches
        +
        +
        +
        +
        + +
        +
        maximum_circular_subarray.cpp
        +
        +
        +Go to the documentation of this file.
        1
        +
        10#include <cassert>
        +
        11#include <iostream>
        +
        12#include <vector>
        +
        13
        +
        14
        +
        19namespace dynamic_programming {
        +
        +
        26int maxCircularSum(std::vector<int>& arr)
        +
        27{
        +
        28 // Edge Case
        +
        29 if (arr.size() == 1)
        +
        30 return arr[0];
        +
        31
        +
        32 // Sum variable which stores total sum of the array.
        +
        33 int sum = 0;
        +
        34 for (int i = 0; i < arr.size(); i++) {
        +
        35 sum += arr[i];
        +
        36 }
        +
        37
        +
        38 // Every variable stores first value of the array.
        +
        39 int current_max = arr[0], max_so_far = arr[0], current_min = arr[0], min_so_far = arr[0];
        +
        40
        +
        41 // Concept of Kadane's Algorithm
        +
        42 for (int i = 1; i < arr.size(); i++) {
        +
        43 // Kadane's Algorithm to find Maximum subarray sum.
        +
        44 current_max = std::max(current_max + arr[i], arr[i]);
        +
        45 max_so_far = std::max(max_so_far, current_max);
        +
        46
        +
        47 // Kadane's Algorithm to find Minimum subarray sum.
        +
        48 current_min = std::min(current_min + arr[i], arr[i]);
        +
        49 min_so_far = std::min(min_so_far, current_min);
        +
        50 }
        +
        51
        +
        52 if (min_so_far == sum)
        +
        53 return max_so_far;
        +
        54
        +
        55 // Return the maximum value
        +
        56 return std::max(max_so_far, sum - min_so_far);
        +
        57}
        +
        +
        58} // namespace dynamic_programming
        +
        59
        +
        +
        64static void test() {
        +
        65 // Description of the test
        +
        66 // Input: arr[] = {8, -8, 9, -9, 10, -11, 12}
        +
        67 // Output: 22
        +
        68 // Explanation: Subarray 12, 8, -8, 9, -9, 10 gives the maximum sum, that is 22.
        +
        69
        +
        70 int n = 7; // size of the array
        +
        71 std::vector<int> arr = {8, -8, 9, -9, 10, -11, 12};
        +
        72 assert(dynamic_programming::maxCircularSum(arr) == 22); // this ensures that the algorithm works as expected
        +
        73
        +
        74 arr = {8, -8, 10, -9, 10, -11, 12};
        +
        75 assert(dynamic_programming::maxCircularSum(arr) == 23);
        +
        76
        +
        77 std::cout << "All tests have successfully passed!\n";
        +
        78}
        +
        +
        79
        +
        80
        +
        +
        87int main(int argc, char *argv[]) {
        +
        88 test(); // run self-test implementations
        +
        89 return 0;
        +
        90}
        +
        +
        int main()
        Main function.
        +
        static void test()
        Self-test implementation.
        +
        Dynamic Programming algorithms.
        +
        int maxCircularSum(std::vector< int > &arr)
        returns the maximum contiguous circular sum of an array
        +
        +
        + + + + diff --git a/dc/d13/classdata__structures_1_1tree__234_1_1_tree234-members.html b/dc/d13/classdata__structures_1_1tree__234_1_1_tree234-members.html index 51d8181e1..a830d6ab2 100644 --- a/dc/d13/classdata__structures_1_1tree__234_1_1_tree234-members.html +++ b/dc/d13/classdata__structures_1_1tree__234_1_1_tree234-members.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Member List +TheAlgorithms/C++: Member List + + + @@ -18,14 +24,24 @@ - - + +
        @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix.html b/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix.html index 4409fac74..dadc94af4 100644 --- a/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix.html +++ b/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: divide_and_conquer::strassens_multiplication::Matrix< T, typename > Class Template Reference +TheAlgorithms/C++: divide_and_conquer::strassens_multiplication::Matrix< T, typename > Class Template Reference + + + @@ -18,14 +24,24 @@ - - + +
        @@ -33,10 +49,11 @@ MathJax.Hub.Config({
        -
        Algorithms_in_C++ 1.0.0 +
        TheAlgorithms/C++ 1.0.0
        -
        Set of algorithms implemented in C++.
        +
        All the algorithms implemented in C++
        + @@ -131,11 +148,11 @@ Public Member Functions - + - + @@ -191,18 +208,19 @@ Public Member Functions
        -
        Algorithms_in_C++ 1.0.0 +
        TheAlgorithms/C++ 1.0.0
        -
        Set of algorithms implemented in C++.
        +
        All the algorithms implemented in C++
         Matrix (const Integer rows, const Integer cols)
         Constructor.
         
        std::pair< size_t, size_t > size () const
        std::pair< size_t, size_t > size () const
         Get the matrix shape.
         
        template<typename Integer , typename = typename std::enable_if< std::is_integral<Integer>::value, Integer>::type>
        std::vector< T > & operator[] (const Integer index)
        std::vector< T > & operator[] (const Integer index)
         returns the address of the element at ith place (here ith row of the matrix)
         
        Matrix slice (const size_t row_start, const size_t row_end=MAX_SIZE, const size_t col_start=MAX_SIZE, const size_t col_end=MAX_SIZE) const
        - +

        Private Attributes

        -std::vector< std::vector< T > > _mat
        std::vector< std::vector< T > > _mat
         
        - +

        Friends

        std::ostreamoperator<< (std::ostream &out, const Matrix< T > &mat)
        std::ostream & operator<< (std::ostream &out, const Matrix< T > &mat)
         

        Detailed Description

        template<typename T, typename = typename std::enable_if< std::is_integral<T>::value || std::is_floating_point<T>::value, bool>::type>
        class divide_and_conquer::strassens_multiplication::Matrix< T, typename >

        Matrix class.

        + +

        Definition at line 40 of file strassen_matrix_multiplication.cpp.

        Constructor & Destructor Documentation

        ◆ Matrix() [1/2]

        @@ -244,20 +262,15 @@ template<typename Integer , typename = typename std::enable_if< + +

        Definition at line 53 of file strassen_matrix_multiplication.cpp.

        53 {
        54 for (size_t i = 0; i < size; ++i) {
        - +
        55 _mat.emplace_back(std::vector<T>(size, 0));
        56 }
        57 }
        -
        std::pair< size_t, size_t > size() const
        Get the matrix shape.
        Definition strassen_matrix_multiplication.cpp:79
        -
        T emplace_back(T... args)
        - -
        -Here is the call graph for this function:
        -
        -
        -
        - +
        std::pair< size_t, size_t > size() const
        Get the matrix shape.
        +
        @@ -305,17 +318,14 @@ template<typename Integer , typename = typename std::enable_if< + +

        Definition at line 69 of file strassen_matrix_multiplication.cpp.

        69 {
        70 for (size_t i = 0; i < rows; ++i) {
        -
        71 _mat.emplace_back(std::vector<T>(cols, 0));
        +
        71 _mat.emplace_back(std::vector<T>(cols, 0));
        72 }
        73 }
        -
        -Here is the call graph for this function:
        -
        -
        -
        - +

        Member Function Documentation

        @@ -360,22 +370,17 @@ template<typename Number , typename = typename std::enable_if<
        Returns
        void, but modifies the current array
        + +

        Definition at line 134 of file strassen_matrix_multiplication.cpp.

        134 {
        -
        135 assert(_mat.size() == other._mat.size());
        +
        135 assert(_mat.size() == other._mat.size());
        136 for (size_t i = 0; i < other._mat.size(); ++i) {
        137 for (size_t j = 0; j < other._mat[i].size(); ++j) {
        -
        138 _mat[i].push_back(other._mat[i][j]);
        +
        138 _mat[i].push_back(other._mat[i][j]);
        139 }
        140 }
        141 }
        -
        T push_back(T... args)
        -
        T size(T... args)
        -
        -Here is the call graph for this function:
        -
        -
        -
        - + @@ -419,11 +424,13 @@ template<typename Number , typename = typename std::enable_if<
        Returns
        new matrix
        + +

        Definition at line 316 of file strassen_matrix_multiplication.cpp.

        316 {
        -
        317 Matrix C = Matrix<Number>(_mat.size(), other._mat[0].size());
        +
        317 Matrix C = Matrix<Number>(_mat.size(), other._mat[0].size());
        318
        -
        319 for (size_t i = 0; i < _mat.size(); ++i) {
        -
        320 for (size_t k = 0; k < _mat[0].size(); ++k) {
        +
        319 for (size_t i = 0; i < _mat.size(); ++i) {
        +
        320 for (size_t k = 0; k < _mat[0].size(); ++k) {
        321 for (size_t j = 0; j < other._mat[0].size(); ++j) {
        322 C._mat[i][j] += _mat[i][k] * other._mat[k][j];
        323 }
        @@ -431,14 +438,9 @@ template<typename Number , typename = typename std::enable_if<
        325 }
        326 return C;
        327 }
        -
        Matrix(const Integer size)
        Constructor.
        Definition strassen_matrix_multiplication.cpp:53
        -
        double k(double x)
        Another test function.
        Definition composite_simpson_rule.cpp:117
        -
        -Here is the call graph for this function:
        -
        -
        -
        - + +
        double k(double x)
        Another test function.
        + @@ -482,6 +484,8 @@ template<typename Number , typename = typename std::enable_if<
        Returns
        new matrix
        + +

        Definition at line 255 of file strassen_matrix_multiplication.cpp.

        255 {
        256 assert(_mat[0].size() == other._mat.size());
        257 auto size = this->size();
        @@ -493,14 +497,9 @@ template<typename Number , typename = typename std::enable_if<
        263 ? this->strassens_multiplication(other)
        264 : this->naive_multiplication(other);
        265 }
        -
        Matrix naive_multiplication(const Matrix< Number > &other) const
        Naive multiplication performed on this.
        Definition strassen_matrix_multiplication.cpp:316
        +
        Matrix naive_multiplication(const Matrix< Number > &other) const
        Naive multiplication performed on this.
        Namespace for performing strassen's multiplication.
        -
        -Here is the call graph for this function:
        -
        -
        -
        - + @@ -544,21 +543,18 @@ template<typename Number , typename = typename std::enable_if<
        Returns
        new matrix
        + +

        Definition at line 277 of file strassen_matrix_multiplication.cpp.

        277 {
        -
        278 Matrix C = Matrix<Number>(_mat.size(), _mat[0].size());
        -
        279 for (size_t i = 0; i < _mat.size(); ++i) {
        -
        280 for (size_t j = 0; j < _mat[i].size(); ++j) {
        +
        278 Matrix C = Matrix<Number>(_mat.size(), _mat[0].size());
        +
        279 for (size_t i = 0; i < _mat.size(); ++i) {
        +
        280 for (size_t j = 0; j < _mat[i].size(); ++j) {
        281 C._mat[i][j] = _mat[i][j] * other;
        282 }
        283 }
        284 return C;
        285 }
        -
        -Here is the call graph for this function:
        -
        -
        -
        - + @@ -602,20 +598,17 @@ template<typename Number , typename = typename std::enable_if<
        Returns
        reference of current matrix
        + +

        Definition at line 297 of file strassen_matrix_multiplication.cpp.

        297 {
        -
        298 for (size_t i = 0; i < _mat.size(); ++i) {
        -
        299 for (size_t j = 0; j < _mat[i].size(); ++j) {
        +
        298 for (size_t i = 0; i < _mat.size(); ++i) {
        +
        299 for (size_t j = 0; j < _mat[i].size(); ++j) {
        300 _mat[i][j] *= other;
        301 }
        302 }
        303 return this;
        304 }
        -
        -Here is the call graph for this function:
        -
        -
        -
        - + @@ -659,22 +652,19 @@ template<typename Number , typename = typename std::enable_if<
        Returns
        new matrix
        + +

        Definition at line 173 of file strassen_matrix_multiplication.cpp.

        173 {
        174 assert(this->size() == other.size());
        -
        175 Matrix C = Matrix<Number>(_mat.size(), _mat[0].size());
        -
        176 for (size_t i = 0; i < _mat.size(); ++i) {
        -
        177 for (size_t j = 0; j < _mat[i].size(); ++j) {
        +
        175 Matrix C = Matrix<Number>(_mat.size(), _mat[0].size());
        +
        176 for (size_t i = 0; i < _mat.size(); ++i) {
        +
        177 for (size_t j = 0; j < _mat[i].size(); ++j) {
        178 C._mat[i][j] = _mat[i][j] + other._mat[i][j];
        179 }
        180 }
        181 return C;
        182 }
        -
        -Here is the call graph for this function:
        -
        -
        -
        - + @@ -718,21 +708,18 @@ template<typename Number , typename = typename std::enable_if<
        Returns
        reference of current matrix
        + +

        Definition at line 194 of file strassen_matrix_multiplication.cpp.

        194 {
        195 assert(this->size() == other.size());
        -
        196 for (size_t i = 0; i < _mat.size(); ++i) {
        -
        197 for (size_t j = 0; j < _mat[i].size(); ++j) {
        +
        196 for (size_t i = 0; i < _mat.size(); ++i) {
        +
        197 for (size_t j = 0; j < _mat[i].size(); ++j) {
        198 _mat[i][j] += other._mat[i][j];
        199 }
        200 }
        201 return this;
        202 }
        -
        -Here is the call graph for this function:
        -
        -
        -
        - + @@ -776,22 +763,19 @@ template<typename Number , typename = typename std::enable_if<
        Returns
        new matrix
        + +

        Definition at line 214 of file strassen_matrix_multiplication.cpp.

        214 {
        215 assert(this->size() == other.size());
        -
        216 Matrix C = Matrix<Number>(_mat.size(), _mat[0].size());
        -
        217 for (size_t i = 0; i < _mat.size(); ++i) {
        -
        218 for (size_t j = 0; j < _mat[i].size(); ++j) {
        +
        216 Matrix C = Matrix<Number>(_mat.size(), _mat[0].size());
        +
        217 for (size_t i = 0; i < _mat.size(); ++i) {
        +
        218 for (size_t j = 0; j < _mat[i].size(); ++j) {
        219 C._mat[i][j] = _mat[i][j] - other._mat[i][j];
        220 }
        221 }
        222 return C;
        223 }
        -
        -Here is the call graph for this function:
        -
        -
        -
        - + @@ -835,21 +819,18 @@ template<typename Number , typename = typename std::enable_if<
        Returns
        reference of current matrix
        + +

        Definition at line 235 of file strassen_matrix_multiplication.cpp.

        235 {
        236 assert(this->size() == other.size());
        -
        237 for (size_t i = 0; i < _mat.size(); ++i) {
        -
        238 for (size_t j = 0; j < _mat[i].size(); ++j) {
        +
        237 for (size_t i = 0; i < _mat.size(); ++i) {
        +
        238 for (size_t j = 0; j < _mat[i].size(); ++j) {
        239 _mat[i][j] -= other._mat[i][j];
        240 }
        241 }
        242 return this;
        243 }
        -
        -Here is the call graph for this function:
        -
        -
        -
        - + @@ -885,13 +866,15 @@ template<typename T , typename = typename std::enable_if< st
        Returns
        whether they are equal or not
        + +

        Definition at line 393 of file strassen_matrix_multiplication.cpp.

        393 {
        -
        394 if (_mat.size() != other._mat.size() ||
        +
        394 if (_mat.size() != other._mat.size() ||
        395 _mat[0].size() != other._mat[0].size()) {
        396 return false;
        397 }
        -
        398 for (size_t i = 0; i < _mat.size(); ++i) {
        -
        399 for (size_t j = 0; j < _mat[i].size(); ++j) {
        +
        398 for (size_t i = 0; i < _mat.size(); ++i) {
        +
        399 for (size_t j = 0; j < _mat[i].size(); ++j) {
        400 if (_mat[i][j] != other._mat[i][j]) {
        401 return false;
        402 }
        @@ -899,12 +882,7 @@ template<typename T , typename = typename std::enable_if< st
        404 }
        405 return true;
        406 }
        -
        -Here is the call graph for this function:
        -
        -
        -
        - + @@ -921,7 +899,7 @@ template<typename Integer , typename = typename std::enable_if< - + @@ -948,6 +926,8 @@ template<typename Integer , typename = typename std::enable_if<
        Returns
        the address of the element (here ith row or array)
        + +

        Definition at line 93 of file strassen_matrix_multiplication.cpp.

        93 {
        94 return _mat[index];
        95 }
        @@ -966,7 +946,7 @@ template<typename T , typename = typename std::enable_if< st
        std::vector< T > & divide_and_conquer::strassens_multiplication::Matrix< T, typename >::operator[] std::vector< T > & divide_and_conquer::strassens_multiplication::Matrix< T, typename >::operator[] ( const Integer index) - + @@ -981,15 +961,12 @@ template<typename T , typename = typename std::enable_if< st

        Get the matrix shape.

        Returns
        pair of integer denoting total rows and columns
        -
        79 {
        -
        80 return {_mat.size(), _mat[0].size()};
        -
        81 }
        -
        -Here is the call graph for this function:
        -
        -
        -
        +

        Definition at line 79 of file strassen_matrix_multiplication.cpp.

        +
        79 {
        +
        80 return {_mat.size(), _mat[0].size()};
        +
        81 }
        +
        @@ -1042,10 +1019,12 @@ template<typename T , typename = typename std::enable_if< st
        Returns
        A slice of (row_end - row_start) x (col_end - col_start) size of array starting from row_start row and col_start column
        + +

        Definition at line 106 of file strassen_matrix_multiplication.cpp.

        108 {
        109 const size_t h_size =
        -
        110 (row_end != MAX_SIZE ? row_end : _mat.size()) - row_start;
        -
        111 const size_t v_size = (col_end != MAX_SIZE ? col_end : _mat[0].size()) -
        +
        110 (row_end != MAX_SIZE ? row_end : _mat.size()) - row_start;
        +
        111 const size_t v_size = (col_end != MAX_SIZE ? col_end : _mat[0].size()) -
        112 (col_start != MAX_SIZE ? col_start : 0);
        113 Matrix result = Matrix<T>(h_size, v_size);
        114
        @@ -1057,13 +1036,8 @@ template<typename T , typename = typename std::enable_if< st
        120 }
        121 return result;
        122 }
        -
        uint64_t result(uint64_t n)
        Definition fibonacci_sum.cpp:77
        -
        -Here is the call graph for this function:
        -
        -
        -
        - +
        uint64_t result(uint64_t n)
        + @@ -1107,8 +1081,10 @@ template<typename Number , typename = typename std::enable_if<
        Returns
        new matrix
        + +

        Definition at line 340 of file strassen_matrix_multiplication.cpp.

        340 {
        -
        341 const size_t size = _mat.size();
        +
        341 const size_t size = _mat.size();
        342 // Base case: when a matrix is small enough for faster naive
        343 // multiplication, or the matrix is of odd size, then go with the naive
        344 // multiplication route;
        @@ -1154,14 +1130,9 @@ template<typename Number , typename = typename std::enable_if<
        384 return C11;
        385 }
        386 }
        -
        Matrix slice(const size_t row_start, const size_t row_end=MAX_SIZE, const size_t col_start=MAX_SIZE, const size_t col_end=MAX_SIZE) const
        Creates a new matrix and returns a part of it.
        Definition strassen_matrix_multiplication.cpp:106
        -
        Matrix strassens_multiplication(const Matrix< Number > &other) const
        Strassens method of multiplying two matrices References: https://en.wikipedia.org/wiki/Strassen_algor...
        Definition strassen_matrix_multiplication.cpp:340
        -
        -Here is the call graph for this function:
        -
        -
        -
        - +
        Matrix slice(const size_t row_start, const size_t row_end=MAX_SIZE, const size_t col_start=MAX_SIZE, const size_t col_end=MAX_SIZE) const
        Creates a new matrix and returns a part of it.
        +
        Matrix strassens_multiplication(const Matrix< Number > &other) const
        Strassens method of multiplying two matrices References: https://en.wikipedia.org/wiki/Strassen_algor...
        + @@ -1205,22 +1176,18 @@ template<typename Number , typename = typename std::enable_if<
        Returns
        void, but modifies the current array
        + +

        Definition at line 153 of file strassen_matrix_multiplication.cpp.

        153 {
        154 assert(_mat[0].size() == other._mat[0].size());
        155 for (size_t i = 0; i < other._mat.size(); ++i) {
        -
        156 _mat.emplace_back(std::vector<T>(other._mat[i].size()));
        +
        156 _mat.emplace_back(std::vector<T>(other._mat[i].size()));
        157 for (size_t j = 0; j < other._mat[i].size(); ++j) {
        -
        158 _mat.back()[j] = other._mat[i][j];
        +
        158 _mat.back()[j] = other._mat[i][j];
        159 }
        160 }
        161 }
        -
        T back(T... args)
        -
        -Here is the call graph for this function:
        -
        -
        -
        - +

        Friends And Related Symbol Documentation

        @@ -1236,9 +1203,9 @@ template<typename T , typename = typename std::enable_if< st

        Main function.

        Returns
        0 on exit
        + +

        Definition at line 153 of file wildcard_matching.cpp.

        153 {
        154 test(); // run self-test implementations
        155 return 0;
        156}
        -
        static void test()
        Self-test implementations.
        Definition wildcard_matching.cpp:102
        -
        -Here is the call graph for this function:
        -
        -
        -
        - +
        static void test()
        Self-test implementations.
        + @@ -209,61 +256,55 @@ Here is the call graph for this function:

        Self-test implementations.

        Returns
        void
        + +

        Definition at line 102 of file wildcard_matching.cpp.

        102 {
        103 // 1st test
        -
        104 std::cout << "1st test ";
        -
        105 std::string matching1 = "baaabab";
        -
        106 std::string pattern1 = "*****ba*****ab";
        +
        104 std::cout << "1st test ";
        +
        105 std::string matching1 = "baaabab";
        +
        106 std::string pattern1 = "*****ba*****ab";
        107 assert(backtracking::wildcard_matching::wildcard_matching(matching1,
        108 pattern1, 0, 0) ==
        109 1); // here the pattern matches with given string
        -
        110 std::cout << "passed" << std::endl;
        +
        110 std::cout << "passed" << std::endl;
        111
        112 // 2nd test
        -
        113 std::cout << "2nd test ";
        -
        114 std::string matching2 = "baaabab";
        -
        115 std::string pattern2 = "ba*****ab";
        +
        113 std::cout << "2nd test ";
        +
        114 std::string matching2 = "baaabab";
        +
        115 std::string pattern2 = "ba*****ab";
        116 assert(backtracking::wildcard_matching::wildcard_matching(matching2,
        117 pattern2, 0, 0) ==
        118 1); // here the pattern matches with given string
        -
        119 std::cout << "passed" << std::endl;
        +
        119 std::cout << "passed" << std::endl;
        120
        121 // 3rd test
        -
        122 std::cout << "3rd test ";
        -
        123 std::string matching3 = "baaabab";
        -
        124 std::string pattern3 = "ba*ab";
        +
        122 std::cout << "3rd test ";
        +
        123 std::string matching3 = "baaabab";
        +
        124 std::string pattern3 = "ba*ab";
        125 assert(backtracking::wildcard_matching::wildcard_matching(matching3,
        126 pattern3, 0, 0) ==
        127 1); // here the pattern matches with given string
        -
        128 std::cout << "passed" << std::endl;
        +
        128 std::cout << "passed" << std::endl;
        129
        130 // 4th test
        -
        131 std::cout << "4th test ";
        -
        132 std::string matching4 = "baaabab";
        -
        133 std::string pattern4 = "a*ab";
        +
        131 std::cout << "4th test ";
        +
        132 std::string matching4 = "baaabab";
        +
        133 std::string pattern4 = "a*ab";
        134 assert(backtracking::wildcard_matching::wildcard_matching(matching4,
        135 pattern4, 0, 0) ==
        136 1); // here the pattern matches with given string
        -
        137 std::cout << "passed" << std::endl;
        +
        137 std::cout << "passed" << std::endl;
        138
        139 // 5th test
        -
        140 std::cout << "5th test ";
        -
        141 std::string matching5 = "baaabab";
        -
        142 std::string pattern5 = "aa?ab";
        +
        140 std::cout << "5th test ";
        +
        141 std::string matching5 = "baaabab";
        +
        142 std::string pattern5 = "aa?ab";
        143 assert(backtracking::wildcard_matching::wildcard_matching(matching5,
        144 pattern5, 0, 0) ==
        145 1); // here the pattern matches with given string
        -
        146 std::cout << "passed" << std::endl;
        +
        146 std::cout << "passed" << std::endl;
        147}
        - - -
        T endl(T... args)
        -
        -Here is the call graph for this function:
        -
        -
        -
        - + @@ -275,12 +316,12 @@ Here is the call graph for this function: - + - + @@ -294,9 +335,11 @@ Here is the call graph for this function:
        std::pair< size_t, size_t > divide_and_conquer::strassens_multiplication::Matrix< T, typename >::size std::pair< size_t, size_t > divide_and_conquer::strassens_multiplication::Matrix< T, typename >::size ( ) const - + - + @@ -1252,6 +1219,8 @@ template<typename T , typename = typename std::enable_if< st
        std::ostream & operator<< std::ostream & operator<< (std::ostream & out, std::ostream & out,
        + +

        Definition at line 408 of file strassen_matrix_multiplication.cpp.

        408 {
        409 for (auto &row : mat._mat) {
        410 for (auto &elem : row) {
        @@ -1262,10 +1231,37 @@ template<typename T , typename = typename std::enable_if< st
        415 return out << "\n";
        416 }
        +
        + +

        Member Data Documentation

        + +

        ◆ _mat

        + +
        +
        +
        +template<typename T , typename = typename std::enable_if< std::is_integral<T>::value || std::is_floating_point<T>::value, bool>::type>
        + + + + + +
        + + + + +
        std::vector<std::vector<T> > divide_and_conquer::strassens_multiplication::Matrix< T, typename >::_mat
        +
        +private
        +
        + +

        Definition at line 41 of file strassen_matrix_multiplication.cpp.

        +

        The documentation for this class was generated from the following file: diff --git a/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a01f3a05cf5abdc5d63999ef1bf9f9256_cgraph.map b/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a01f3a05cf5abdc5d63999ef1bf9f9256_cgraph.map deleted file mode 100644 index eed350172..000000000 --- a/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a01f3a05cf5abdc5d63999ef1bf9f9256_cgraph.map +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a01f3a05cf5abdc5d63999ef1bf9f9256_cgraph.md5 b/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a01f3a05cf5abdc5d63999ef1bf9f9256_cgraph.md5 deleted file mode 100644 index 5b20305a5..000000000 --- a/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a01f3a05cf5abdc5d63999ef1bf9f9256_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -a1746ef09f2275fdfcdaaa84508b875b \ No newline at end of file diff --git a/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a01f3a05cf5abdc5d63999ef1bf9f9256_cgraph.svg b/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a01f3a05cf5abdc5d63999ef1bf9f9256_cgraph.svg deleted file mode 100644 index 9bdd6131b..000000000 --- a/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a01f3a05cf5abdc5d63999ef1bf9f9256_cgraph.svg +++ /dev/null @@ -1,105 +0,0 @@ - - - - - - - - - - - - -divide_and_conquer::strassens_multiplication::Matrix::Matrix - - -Node1 - - -divide_and_conquer -::strassens_multiplication -::Matrix::Matrix - - - - - -Node2 - - -std::vector::emplace_back - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -divide_and_conquer -::strassens_multiplication -::Matrix::size - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::vector::size - - - - - -Node3->Node4 - - - - - - - - - - - - - diff --git a/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a01f3a05cf5abdc5d63999ef1bf9f9256_cgraph_org.svg b/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a01f3a05cf5abdc5d63999ef1bf9f9256_cgraph_org.svg deleted file mode 100644 index 38c6ef622..000000000 --- a/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a01f3a05cf5abdc5d63999ef1bf9f9256_cgraph_org.svg +++ /dev/null @@ -1,79 +0,0 @@ - - - - - - -divide_and_conquer::strassens_multiplication::Matrix::Matrix - - -Node1 - - -divide_and_conquer -::strassens_multiplication -::Matrix::Matrix - - - - - -Node2 - - -std::vector::emplace_back - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -divide_and_conquer -::strassens_multiplication -::Matrix::size - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::vector::size - - - - - -Node3->Node4 - - - - - - - - diff --git a/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a1fcb7db9bdeabd874712ec4f00483d17_cgraph.map b/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a1fcb7db9bdeabd874712ec4f00483d17_cgraph.map deleted file mode 100644 index 15763cb8c..000000000 --- a/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a1fcb7db9bdeabd874712ec4f00483d17_cgraph.map +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - - - diff --git a/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a1fcb7db9bdeabd874712ec4f00483d17_cgraph.md5 b/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a1fcb7db9bdeabd874712ec4f00483d17_cgraph.md5 deleted file mode 100644 index 672d72b0a..000000000 --- a/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a1fcb7db9bdeabd874712ec4f00483d17_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -060a78a61693724aaa996a3074b2613d \ No newline at end of file diff --git a/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a1fcb7db9bdeabd874712ec4f00483d17_cgraph.svg b/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a1fcb7db9bdeabd874712ec4f00483d17_cgraph.svg deleted file mode 100644 index 9dddb734e..000000000 --- a/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a1fcb7db9bdeabd874712ec4f00483d17_cgraph.svg +++ /dev/null @@ -1,191 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -divide_and_conquer::strassens_multiplication::Matrix::slice - - -Node1 - - -divide_and_conquer -::strassens_multiplication -::Matrix::slice - - - - - -Node2 - - -divide_and_conquer -::strassens_multiplication -::Matrix::Matrix - - - - - -Node1->Node2 - - - - - - - - -Node5 - - -std::vector::size - - - - - -Node1->Node5 - - - - - - - - -Node3 - - -std::vector::emplace_back - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -divide_and_conquer -::strassens_multiplication -::Matrix::size - - - - - -Node2->Node4 - - - - - - - - -Node4->Node5 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a1fcb7db9bdeabd874712ec4f00483d17_cgraph_org.svg b/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a1fcb7db9bdeabd874712ec4f00483d17_cgraph_org.svg deleted file mode 100644 index b0fc6cefa..000000000 --- a/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a1fcb7db9bdeabd874712ec4f00483d17_cgraph_org.svg +++ /dev/null @@ -1,108 +0,0 @@ - - - - - - -divide_and_conquer::strassens_multiplication::Matrix::slice - - -Node1 - - -divide_and_conquer -::strassens_multiplication -::Matrix::slice - - - - - -Node2 - - -divide_and_conquer -::strassens_multiplication -::Matrix::Matrix - - - - - -Node1->Node2 - - - - - - - - -Node5 - - -std::vector::size - - - - - -Node1->Node5 - - - - - - - - -Node3 - - -std::vector::emplace_back - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -divide_and_conquer -::strassens_multiplication -::Matrix::size - - - - - -Node2->Node4 - - - - - - - - -Node4->Node5 - - - - - - - - diff --git a/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a42c986fb57b74fe1b7c5953cb1922c3d_cgraph.map b/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a42c986fb57b74fe1b7c5953cb1922c3d_cgraph.map deleted file mode 100644 index 24a99b515..000000000 --- a/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a42c986fb57b74fe1b7c5953cb1922c3d_cgraph.map +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a42c986fb57b74fe1b7c5953cb1922c3d_cgraph.md5 b/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a42c986fb57b74fe1b7c5953cb1922c3d_cgraph.md5 deleted file mode 100644 index daef94b6e..000000000 --- a/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a42c986fb57b74fe1b7c5953cb1922c3d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -4ede00c0f99a61d89bac7c3976e2d6bc \ No newline at end of file diff --git a/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a42c986fb57b74fe1b7c5953cb1922c3d_cgraph.svg b/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a42c986fb57b74fe1b7c5953cb1922c3d_cgraph.svg deleted file mode 100644 index ec61fa6af..000000000 --- a/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a42c986fb57b74fe1b7c5953cb1922c3d_cgraph.svg +++ /dev/null @@ -1,96 +0,0 @@ - - - - - - - - - - - - -divide_and_conquer::strassens_multiplication::Matrix::operator-= - - -Node1 - - -divide_and_conquer -::strassens_multiplication -::Matrix::operator-= - - - - - -Node2 - - -divide_and_conquer -::strassens_multiplication -::Matrix::size - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::vector::size - - - - - -Node1->Node3 - - - - - - - - -Node2->Node3 - - - - - - - - - - - - - diff --git a/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a42c986fb57b74fe1b7c5953cb1922c3d_cgraph_org.svg b/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a42c986fb57b74fe1b7c5953cb1922c3d_cgraph_org.svg deleted file mode 100644 index 95f8ab3d8..000000000 --- a/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a42c986fb57b74fe1b7c5953cb1922c3d_cgraph_org.svg +++ /dev/null @@ -1,70 +0,0 @@ - - - - - - -divide_and_conquer::strassens_multiplication::Matrix::operator-= - - -Node1 - - -divide_and_conquer -::strassens_multiplication -::Matrix::operator-= - - - - - -Node2 - - -divide_and_conquer -::strassens_multiplication -::Matrix::size - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::vector::size - - - - - -Node1->Node3 - - - - - - - - -Node2->Node3 - - - - - - - - diff --git a/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a4aa49765cce39ce48b9241e993e0cfb9_cgraph.map b/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a4aa49765cce39ce48b9241e993e0cfb9_cgraph.map deleted file mode 100644 index e49c87710..000000000 --- a/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a4aa49765cce39ce48b9241e993e0cfb9_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a4aa49765cce39ce48b9241e993e0cfb9_cgraph.md5 b/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a4aa49765cce39ce48b9241e993e0cfb9_cgraph.md5 deleted file mode 100644 index 4472e2593..000000000 --- a/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a4aa49765cce39ce48b9241e993e0cfb9_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -49b8d0956d6aa938cac027d8080eec4d \ No newline at end of file diff --git a/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a4aa49765cce39ce48b9241e993e0cfb9_cgraph.svg b/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a4aa49765cce39ce48b9241e993e0cfb9_cgraph.svg deleted file mode 100644 index f87b9b2d9..000000000 --- a/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a4aa49765cce39ce48b9241e993e0cfb9_cgraph.svg +++ /dev/null @@ -1,67 +0,0 @@ - - - - - - - - - - - - -divide_and_conquer::strassens_multiplication::Matrix::Matrix - - -Node1 - - -divide_and_conquer -::strassens_multiplication -::Matrix::Matrix - - - - - -Node2 - - -std::vector::emplace_back - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a4aa49765cce39ce48b9241e993e0cfb9_cgraph_org.svg b/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a4aa49765cce39ce48b9241e993e0cfb9_cgraph_org.svg deleted file mode 100644 index a0c73a692..000000000 --- a/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a4aa49765cce39ce48b9241e993e0cfb9_cgraph_org.svg +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - -divide_and_conquer::strassens_multiplication::Matrix::Matrix - - -Node1 - - -divide_and_conquer -::strassens_multiplication -::Matrix::Matrix - - - - - -Node2 - - -std::vector::emplace_back - - - - - -Node1->Node2 - - - - - - - - diff --git a/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a562faa16a4b4ed5d4804823c56f99c9c_cgraph.map b/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a562faa16a4b4ed5d4804823c56f99c9c_cgraph.map deleted file mode 100644 index 74428f3d3..000000000 --- a/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a562faa16a4b4ed5d4804823c56f99c9c_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a562faa16a4b4ed5d4804823c56f99c9c_cgraph.md5 b/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a562faa16a4b4ed5d4804823c56f99c9c_cgraph.md5 deleted file mode 100644 index 1739bf35d..000000000 --- a/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a562faa16a4b4ed5d4804823c56f99c9c_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -5dedaf7a81bf2cb08cccb380001cd0b7 \ No newline at end of file diff --git a/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a562faa16a4b4ed5d4804823c56f99c9c_cgraph.svg b/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a562faa16a4b4ed5d4804823c56f99c9c_cgraph.svg deleted file mode 100644 index 6e6e824cd..000000000 --- a/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a562faa16a4b4ed5d4804823c56f99c9c_cgraph.svg +++ /dev/null @@ -1,67 +0,0 @@ - - - - - - - - - - - - -divide_and_conquer::strassens_multiplication::Matrix::operator== - - -Node1 - - -divide_and_conquer -::strassens_multiplication -::Matrix::operator== - - - - - -Node2 - - -std::vector::size - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a562faa16a4b4ed5d4804823c56f99c9c_cgraph_org.svg b/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a562faa16a4b4ed5d4804823c56f99c9c_cgraph_org.svg deleted file mode 100644 index 943c31a21..000000000 --- a/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a562faa16a4b4ed5d4804823c56f99c9c_cgraph_org.svg +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - -divide_and_conquer::strassens_multiplication::Matrix::operator== - - -Node1 - - -divide_and_conquer -::strassens_multiplication -::Matrix::operator== - - - - - -Node2 - - -std::vector::size - - - - - -Node1->Node2 - - - - - - - - diff --git a/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a5d8eb669b37a27224376b08515b4ee50_cgraph.map b/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a5d8eb669b37a27224376b08515b4ee50_cgraph.map deleted file mode 100644 index 774169251..000000000 --- a/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a5d8eb669b37a27224376b08515b4ee50_cgraph.map +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - - - diff --git a/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a5d8eb669b37a27224376b08515b4ee50_cgraph.md5 b/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a5d8eb669b37a27224376b08515b4ee50_cgraph.md5 deleted file mode 100644 index 4a217688e..000000000 --- a/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a5d8eb669b37a27224376b08515b4ee50_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -e4fbf0787a2e5c44e3488431e0f7f350 \ No newline at end of file diff --git a/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a5d8eb669b37a27224376b08515b4ee50_cgraph.svg b/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a5d8eb669b37a27224376b08515b4ee50_cgraph.svg deleted file mode 100644 index 01e8a0d24..000000000 --- a/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a5d8eb669b37a27224376b08515b4ee50_cgraph.svg +++ /dev/null @@ -1,191 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -divide_and_conquer::strassens_multiplication::Matrix::naive_multiplication - - -Node1 - - -divide_and_conquer -::strassens_multiplication -::Matrix::naive_multiplication - - - - - -Node2 - - -divide_and_conquer -::strassens_multiplication -::Matrix::Matrix - - - - - -Node1->Node2 - - - - - - - - -Node5 - - -std::vector::size - - - - - -Node1->Node5 - - - - - - - - -Node3 - - -std::vector::emplace_back - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -divide_and_conquer -::strassens_multiplication -::Matrix::size - - - - - -Node2->Node4 - - - - - - - - -Node4->Node5 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a5d8eb669b37a27224376b08515b4ee50_cgraph_org.svg b/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a5d8eb669b37a27224376b08515b4ee50_cgraph_org.svg deleted file mode 100644 index 62ca5eb7c..000000000 --- a/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a5d8eb669b37a27224376b08515b4ee50_cgraph_org.svg +++ /dev/null @@ -1,108 +0,0 @@ - - - - - - -divide_and_conquer::strassens_multiplication::Matrix::naive_multiplication - - -Node1 - - -divide_and_conquer -::strassens_multiplication -::Matrix::naive_multiplication - - - - - -Node2 - - -divide_and_conquer -::strassens_multiplication -::Matrix::Matrix - - - - - -Node1->Node2 - - - - - - - - -Node5 - - -std::vector::size - - - - - -Node1->Node5 - - - - - - - - -Node3 - - -std::vector::emplace_back - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -divide_and_conquer -::strassens_multiplication -::Matrix::size - - - - - -Node2->Node4 - - - - - - - - -Node4->Node5 - - - - - - - - diff --git a/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a60599668b56001cef4bb59d4cb5c6c6c_cgraph.map b/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a60599668b56001cef4bb59d4cb5c6c6c_cgraph.map deleted file mode 100644 index 4027b66e5..000000000 --- a/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a60599668b56001cef4bb59d4cb5c6c6c_cgraph.map +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - - - - - diff --git a/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a60599668b56001cef4bb59d4cb5c6c6c_cgraph.md5 b/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a60599668b56001cef4bb59d4cb5c6c6c_cgraph.md5 deleted file mode 100644 index 6e360d2a9..000000000 --- a/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a60599668b56001cef4bb59d4cb5c6c6c_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -6062d2046567a5d267e8249e8aa8e655 \ No newline at end of file diff --git a/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a60599668b56001cef4bb59d4cb5c6c6c_cgraph.svg b/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a60599668b56001cef4bb59d4cb5c6c6c_cgraph.svg deleted file mode 100644 index 89b4d8964..000000000 --- a/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a60599668b56001cef4bb59d4cb5c6c6c_cgraph.svg +++ /dev/null @@ -1,229 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -divide_and_conquer::strassens_multiplication::Matrix::operator* - - -Node1 - - -divide_and_conquer -::strassens_multiplication -::Matrix::operator* - - - - - -Node2 - - -divide_and_conquer -::strassens_multiplication -::Matrix::naive_multiplication - - - - - -Node1->Node2 - - - - - - - - -Node5 - - -divide_and_conquer -::strassens_multiplication -::Matrix::size - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -std::vector::size - - - - - -Node1->Node6 - - - - - - - - -Node3 - - -divide_and_conquer -::strassens_multiplication -::Matrix::Matrix - - - - - -Node2->Node3 - - - - - - - - -Node2->Node6 - - - - - - - - -Node4 - - -std::vector::emplace_back - - - - - -Node3->Node4 - - - - - - - - -Node3->Node5 - - - - - - - - -Node5->Node6 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a60599668b56001cef4bb59d4cb5c6c6c_cgraph_org.svg b/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a60599668b56001cef4bb59d4cb5c6c6c_cgraph_org.svg deleted file mode 100644 index 3cf846ae9..000000000 --- a/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a60599668b56001cef4bb59d4cb5c6c6c_cgraph_org.svg +++ /dev/null @@ -1,146 +0,0 @@ - - - - - - -divide_and_conquer::strassens_multiplication::Matrix::operator* - - -Node1 - - -divide_and_conquer -::strassens_multiplication -::Matrix::operator* - - - - - -Node2 - - -divide_and_conquer -::strassens_multiplication -::Matrix::naive_multiplication - - - - - -Node1->Node2 - - - - - - - - -Node5 - - -divide_and_conquer -::strassens_multiplication -::Matrix::size - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -std::vector::size - - - - - -Node1->Node6 - - - - - - - - -Node3 - - -divide_and_conquer -::strassens_multiplication -::Matrix::Matrix - - - - - -Node2->Node3 - - - - - - - - -Node2->Node6 - - - - - - - - -Node4 - - -std::vector::emplace_back - - - - - -Node3->Node4 - - - - - - - - -Node3->Node5 - - - - - - - - -Node5->Node6 - - - - - - - - diff --git a/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a678681c9f6266a8219bd6bee6972d70e_cgraph.map b/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a678681c9f6266a8219bd6bee6972d70e_cgraph.map deleted file mode 100644 index 0e5e65752..000000000 --- a/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a678681c9f6266a8219bd6bee6972d70e_cgraph.map +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - diff --git a/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a678681c9f6266a8219bd6bee6972d70e_cgraph.md5 b/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a678681c9f6266a8219bd6bee6972d70e_cgraph.md5 deleted file mode 100644 index f3ab91671..000000000 --- a/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a678681c9f6266a8219bd6bee6972d70e_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -f2244dc240742a43aecb36954657cc3c \ No newline at end of file diff --git a/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a678681c9f6266a8219bd6bee6972d70e_cgraph.svg b/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a678681c9f6266a8219bd6bee6972d70e_cgraph.svg deleted file mode 100644 index 8badd5859..000000000 --- a/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a678681c9f6266a8219bd6bee6972d70e_cgraph.svg +++ /dev/null @@ -1,200 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -divide_and_conquer::strassens_multiplication::Matrix::operator- - - -Node1 - - -divide_and_conquer -::strassens_multiplication -::Matrix::operator- - - - - - -Node2 - - -divide_and_conquer -::strassens_multiplication -::Matrix::Matrix - - - - - -Node1->Node2 - - - - - - - - -Node4 - - -divide_and_conquer -::strassens_multiplication -::Matrix::size - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::vector::size - - - - - -Node1->Node5 - - - - - - - - -Node3 - - -std::vector::emplace_back - - - - - -Node2->Node3 - - - - - - - - -Node2->Node4 - - - - - - - - -Node4->Node5 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a678681c9f6266a8219bd6bee6972d70e_cgraph_org.svg b/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a678681c9f6266a8219bd6bee6972d70e_cgraph_org.svg deleted file mode 100644 index e74f84bb5..000000000 --- a/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a678681c9f6266a8219bd6bee6972d70e_cgraph_org.svg +++ /dev/null @@ -1,117 +0,0 @@ - - - - - - -divide_and_conquer::strassens_multiplication::Matrix::operator- - - -Node1 - - -divide_and_conquer -::strassens_multiplication -::Matrix::operator- - - - - - -Node2 - - -divide_and_conquer -::strassens_multiplication -::Matrix::Matrix - - - - - -Node1->Node2 - - - - - - - - -Node4 - - -divide_and_conquer -::strassens_multiplication -::Matrix::size - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::vector::size - - - - - -Node1->Node5 - - - - - - - - -Node3 - - -std::vector::emplace_back - - - - - -Node2->Node3 - - - - - - - - -Node2->Node4 - - - - - - - - -Node4->Node5 - - - - - - - - diff --git a/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a87c2ed8f19bda2ad21ee4cbed32c394a_cgraph.map b/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a87c2ed8f19bda2ad21ee4cbed32c394a_cgraph.map deleted file mode 100644 index cc694ce69..000000000 --- a/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a87c2ed8f19bda2ad21ee4cbed32c394a_cgraph.map +++ /dev/null @@ -1,33 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a87c2ed8f19bda2ad21ee4cbed32c394a_cgraph.md5 b/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a87c2ed8f19bda2ad21ee4cbed32c394a_cgraph.md5 deleted file mode 100644 index f8f58b2c1..000000000 --- a/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a87c2ed8f19bda2ad21ee4cbed32c394a_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -df23fcc52ef2ac5c01b6e9d86488406e \ No newline at end of file diff --git a/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a87c2ed8f19bda2ad21ee4cbed32c394a_cgraph.svg b/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a87c2ed8f19bda2ad21ee4cbed32c394a_cgraph.svg deleted file mode 100644 index 111f4a65d..000000000 --- a/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a87c2ed8f19bda2ad21ee4cbed32c394a_cgraph.svg +++ /dev/null @@ -1,388 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -divide_and_conquer::strassens_multiplication::Matrix::strassens_multiplication - - -Node1 - - -divide_and_conquer -::strassens_multiplication -::Matrix::strassens_multiplication - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -divide_and_conquer -::strassens_multiplication -::Matrix::h_stack - - - - - -Node1->Node2 - - - - - - - - -Node4 - - -std::vector::size - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -divide_and_conquer -::strassens_multiplication -::Matrix::naive_multiplication - - - - - -Node1->Node5 - - - - - - - - -Node8 - - -divide_and_conquer -::strassens_multiplication -::Matrix::size - - - - - -Node1->Node8 - - - - - - - - -Node9 - - -divide_and_conquer -::strassens_multiplication -::Matrix::slice - - - - - -Node1->Node9 - - - - - - - - -Node10 - - -divide_and_conquer -::strassens_multiplication -::Matrix::v_stack - - - - - -Node1->Node10 - - - - - - - - -Node3 - - -std::vector::push_back - - - - - -Node2->Node3 - - - - - - - - -Node2->Node4 - - - - - - - - -Node5->Node4 - - - - - - - - -Node6 - - -divide_and_conquer -::strassens_multiplication -::Matrix::Matrix - - - - - -Node5->Node6 - - - - - - - - -Node7 - - -std::vector::emplace_back - - - - - -Node6->Node7 - - - - - - - - -Node6->Node8 - - - - - - - - -Node8->Node4 - - - - - - - - -Node9->Node4 - - - - - - - - -Node9->Node6 - - - - - - - - -Node10->Node4 - - - - - - - - -Node10->Node7 - - - - - - - - -Node10->Node8 - - - - - - - - -Node11 - - -std::vector::back - - - - - -Node10->Node11 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a87c2ed8f19bda2ad21ee4cbed32c394a_cgraph_org.svg b/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a87c2ed8f19bda2ad21ee4cbed32c394a_cgraph_org.svg deleted file mode 100644 index 8fc0489c3..000000000 --- a/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a87c2ed8f19bda2ad21ee4cbed32c394a_cgraph_org.svg +++ /dev/null @@ -1,305 +0,0 @@ - - - - - - -divide_and_conquer::strassens_multiplication::Matrix::strassens_multiplication - - -Node1 - - -divide_and_conquer -::strassens_multiplication -::Matrix::strassens_multiplication - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -divide_and_conquer -::strassens_multiplication -::Matrix::h_stack - - - - - -Node1->Node2 - - - - - - - - -Node4 - - -std::vector::size - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -divide_and_conquer -::strassens_multiplication -::Matrix::naive_multiplication - - - - - -Node1->Node5 - - - - - - - - -Node8 - - -divide_and_conquer -::strassens_multiplication -::Matrix::size - - - - - -Node1->Node8 - - - - - - - - -Node9 - - -divide_and_conquer -::strassens_multiplication -::Matrix::slice - - - - - -Node1->Node9 - - - - - - - - -Node10 - - -divide_and_conquer -::strassens_multiplication -::Matrix::v_stack - - - - - -Node1->Node10 - - - - - - - - -Node3 - - -std::vector::push_back - - - - - -Node2->Node3 - - - - - - - - -Node2->Node4 - - - - - - - - -Node5->Node4 - - - - - - - - -Node6 - - -divide_and_conquer -::strassens_multiplication -::Matrix::Matrix - - - - - -Node5->Node6 - - - - - - - - -Node7 - - -std::vector::emplace_back - - - - - -Node6->Node7 - - - - - - - - -Node6->Node8 - - - - - - - - -Node8->Node4 - - - - - - - - -Node9->Node4 - - - - - - - - -Node9->Node6 - - - - - - - - -Node10->Node4 - - - - - - - - -Node10->Node7 - - - - - - - - -Node10->Node8 - - - - - - - - -Node11 - - -std::vector::back - - - - - -Node10->Node11 - - - - - - - - diff --git a/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_ab6534125643a02c114bd4cddba9bc17f_cgraph.map b/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_ab6534125643a02c114bd4cddba9bc17f_cgraph.map deleted file mode 100644 index 71e0a3dac..000000000 --- a/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_ab6534125643a02c114bd4cddba9bc17f_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_ab6534125643a02c114bd4cddba9bc17f_cgraph.md5 b/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_ab6534125643a02c114bd4cddba9bc17f_cgraph.md5 deleted file mode 100644 index 74c8b5b8e..000000000 --- a/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_ab6534125643a02c114bd4cddba9bc17f_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -16297cbdc23338e4fd78efabeee4e403 \ No newline at end of file diff --git a/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_ab6534125643a02c114bd4cddba9bc17f_cgraph.svg b/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_ab6534125643a02c114bd4cddba9bc17f_cgraph.svg deleted file mode 100644 index bd4c213a7..000000000 --- a/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_ab6534125643a02c114bd4cddba9bc17f_cgraph.svg +++ /dev/null @@ -1,85 +0,0 @@ - - - - - - - - - - - - -divide_and_conquer::strassens_multiplication::Matrix::h_stack - - -Node1 - - -divide_and_conquer -::strassens_multiplication -::Matrix::h_stack - - - - - -Node2 - - -std::vector::push_back - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::vector::size - - - - - -Node1->Node3 - - - - - - - - - - - - - diff --git a/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_ab6534125643a02c114bd4cddba9bc17f_cgraph_org.svg b/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_ab6534125643a02c114bd4cddba9bc17f_cgraph_org.svg deleted file mode 100644 index 5b1701af0..000000000 --- a/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_ab6534125643a02c114bd4cddba9bc17f_cgraph_org.svg +++ /dev/null @@ -1,59 +0,0 @@ - - - - - - -divide_and_conquer::strassens_multiplication::Matrix::h_stack - - -Node1 - - -divide_and_conquer -::strassens_multiplication -::Matrix::h_stack - - - - - -Node2 - - -std::vector::push_back - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::vector::size - - - - - -Node1->Node3 - - - - - - - - diff --git a/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_ad36ec1f1a97298e49de605384e5f8211_cgraph.map b/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_ad36ec1f1a97298e49de605384e5f8211_cgraph.map deleted file mode 100644 index 46f620f3e..000000000 --- a/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_ad36ec1f1a97298e49de605384e5f8211_cgraph.map +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - diff --git a/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_ad36ec1f1a97298e49de605384e5f8211_cgraph.md5 b/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_ad36ec1f1a97298e49de605384e5f8211_cgraph.md5 deleted file mode 100644 index c075c6fdf..000000000 --- a/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_ad36ec1f1a97298e49de605384e5f8211_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -b2658242ff5225fc688d8e0fc30ec5a4 \ No newline at end of file diff --git a/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_ad36ec1f1a97298e49de605384e5f8211_cgraph.svg b/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_ad36ec1f1a97298e49de605384e5f8211_cgraph.svg deleted file mode 100644 index e001dfe5b..000000000 --- a/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_ad36ec1f1a97298e49de605384e5f8211_cgraph.svg +++ /dev/null @@ -1,200 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -divide_and_conquer::strassens_multiplication::Matrix::operator+ - - -Node1 - - -divide_and_conquer -::strassens_multiplication -::Matrix::operator+ - - - - - -Node2 - - -divide_and_conquer -::strassens_multiplication -::Matrix::Matrix - - - - - -Node1->Node2 - - - - - - - - -Node4 - - -divide_and_conquer -::strassens_multiplication -::Matrix::size - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::vector::size - - - - - -Node1->Node5 - - - - - - - - -Node3 - - -std::vector::emplace_back - - - - - -Node2->Node3 - - - - - - - - -Node2->Node4 - - - - - - - - -Node4->Node5 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_ad36ec1f1a97298e49de605384e5f8211_cgraph_org.svg b/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_ad36ec1f1a97298e49de605384e5f8211_cgraph_org.svg deleted file mode 100644 index 03214484b..000000000 --- a/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_ad36ec1f1a97298e49de605384e5f8211_cgraph_org.svg +++ /dev/null @@ -1,117 +0,0 @@ - - - - - - -divide_and_conquer::strassens_multiplication::Matrix::operator+ - - -Node1 - - -divide_and_conquer -::strassens_multiplication -::Matrix::operator+ - - - - - -Node2 - - -divide_and_conquer -::strassens_multiplication -::Matrix::Matrix - - - - - -Node1->Node2 - - - - - - - - -Node4 - - -divide_and_conquer -::strassens_multiplication -::Matrix::size - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::vector::size - - - - - -Node1->Node5 - - - - - - - - -Node3 - - -std::vector::emplace_back - - - - - -Node2->Node3 - - - - - - - - -Node2->Node4 - - - - - - - - -Node4->Node5 - - - - - - - - diff --git a/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_ae190115f8d4d31e47d7290e0b6871391_cgraph.map b/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_ae190115f8d4d31e47d7290e0b6871391_cgraph.map deleted file mode 100644 index c58ca02ac..000000000 --- a/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_ae190115f8d4d31e47d7290e0b6871391_cgraph.map +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_ae190115f8d4d31e47d7290e0b6871391_cgraph.md5 b/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_ae190115f8d4d31e47d7290e0b6871391_cgraph.md5 deleted file mode 100644 index 934501a58..000000000 --- a/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_ae190115f8d4d31e47d7290e0b6871391_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -30de88b6e08e77819ba87aa02950623f \ No newline at end of file diff --git a/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_ae190115f8d4d31e47d7290e0b6871391_cgraph.svg b/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_ae190115f8d4d31e47d7290e0b6871391_cgraph.svg deleted file mode 100644 index 7ef7c6835..000000000 --- a/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_ae190115f8d4d31e47d7290e0b6871391_cgraph.svg +++ /dev/null @@ -1,96 +0,0 @@ - - - - - - - - - - - - -divide_and_conquer::strassens_multiplication::Matrix::operator+= - - -Node1 - - -divide_and_conquer -::strassens_multiplication -::Matrix::operator+= - - - - - -Node2 - - -divide_and_conquer -::strassens_multiplication -::Matrix::size - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::vector::size - - - - - -Node1->Node3 - - - - - - - - -Node2->Node3 - - - - - - - - - - - - - diff --git a/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_ae190115f8d4d31e47d7290e0b6871391_cgraph_org.svg b/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_ae190115f8d4d31e47d7290e0b6871391_cgraph_org.svg deleted file mode 100644 index 7b40c458a..000000000 --- a/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_ae190115f8d4d31e47d7290e0b6871391_cgraph_org.svg +++ /dev/null @@ -1,70 +0,0 @@ - - - - - - -divide_and_conquer::strassens_multiplication::Matrix::operator+= - - -Node1 - - -divide_and_conquer -::strassens_multiplication -::Matrix::operator+= - - - - - -Node2 - - -divide_and_conquer -::strassens_multiplication -::Matrix::size - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::vector::size - - - - - -Node1->Node3 - - - - - - - - -Node2->Node3 - - - - - - - - diff --git a/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_ae4e183ec8eab778cb243e4ae0b22a0f1_cgraph.map b/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_ae4e183ec8eab778cb243e4ae0b22a0f1_cgraph.map deleted file mode 100644 index 8bf2a70f9..000000000 --- a/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_ae4e183ec8eab778cb243e4ae0b22a0f1_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_ae4e183ec8eab778cb243e4ae0b22a0f1_cgraph.md5 b/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_ae4e183ec8eab778cb243e4ae0b22a0f1_cgraph.md5 deleted file mode 100644 index fca17491b..000000000 --- a/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_ae4e183ec8eab778cb243e4ae0b22a0f1_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -51a825bc533130d63fae5e558c31e3f9 \ No newline at end of file diff --git a/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_ae4e183ec8eab778cb243e4ae0b22a0f1_cgraph.svg b/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_ae4e183ec8eab778cb243e4ae0b22a0f1_cgraph.svg deleted file mode 100644 index bb99ca9ae..000000000 --- a/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_ae4e183ec8eab778cb243e4ae0b22a0f1_cgraph.svg +++ /dev/null @@ -1,67 +0,0 @@ - - - - - - - - - - - - -divide_and_conquer::strassens_multiplication::Matrix::size - - -Node1 - - -divide_and_conquer -::strassens_multiplication -::Matrix::size - - - - - -Node2 - - -std::vector::size - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_ae4e183ec8eab778cb243e4ae0b22a0f1_cgraph_org.svg b/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_ae4e183ec8eab778cb243e4ae0b22a0f1_cgraph_org.svg deleted file mode 100644 index b6ecfee54..000000000 --- a/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_ae4e183ec8eab778cb243e4ae0b22a0f1_cgraph_org.svg +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - -divide_and_conquer::strassens_multiplication::Matrix::size - - -Node1 - - -divide_and_conquer -::strassens_multiplication -::Matrix::size - - - - - -Node2 - - -std::vector::size - - - - - -Node1->Node2 - - - - - - - - diff --git a/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_aedbe01e48a96fefa0b393ec577b0f19e_cgraph.map b/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_aedbe01e48a96fefa0b393ec577b0f19e_cgraph.map deleted file mode 100644 index 843ed44ed..000000000 --- a/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_aedbe01e48a96fefa0b393ec577b0f19e_cgraph.map +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - - - diff --git a/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_aedbe01e48a96fefa0b393ec577b0f19e_cgraph.md5 b/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_aedbe01e48a96fefa0b393ec577b0f19e_cgraph.md5 deleted file mode 100644 index 5c9b83eaa..000000000 --- a/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_aedbe01e48a96fefa0b393ec577b0f19e_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -7d1271ad80e8b97c9d3f0ad517afc336 \ No newline at end of file diff --git a/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_aedbe01e48a96fefa0b393ec577b0f19e_cgraph.svg b/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_aedbe01e48a96fefa0b393ec577b0f19e_cgraph.svg deleted file mode 100644 index c8fd1551e..000000000 --- a/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_aedbe01e48a96fefa0b393ec577b0f19e_cgraph.svg +++ /dev/null @@ -1,191 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -divide_and_conquer::strassens_multiplication::Matrix::operator* - - -Node1 - - -divide_and_conquer -::strassens_multiplication -::Matrix::operator* - - - - - -Node2 - - -divide_and_conquer -::strassens_multiplication -::Matrix::Matrix - - - - - -Node1->Node2 - - - - - - - - -Node5 - - -std::vector::size - - - - - -Node1->Node5 - - - - - - - - -Node3 - - -std::vector::emplace_back - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -divide_and_conquer -::strassens_multiplication -::Matrix::size - - - - - -Node2->Node4 - - - - - - - - -Node4->Node5 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_aedbe01e48a96fefa0b393ec577b0f19e_cgraph_org.svg b/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_aedbe01e48a96fefa0b393ec577b0f19e_cgraph_org.svg deleted file mode 100644 index 57f071b3e..000000000 --- a/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_aedbe01e48a96fefa0b393ec577b0f19e_cgraph_org.svg +++ /dev/null @@ -1,108 +0,0 @@ - - - - - - -divide_and_conquer::strassens_multiplication::Matrix::operator* - - -Node1 - - -divide_and_conquer -::strassens_multiplication -::Matrix::operator* - - - - - -Node2 - - -divide_and_conquer -::strassens_multiplication -::Matrix::Matrix - - - - - -Node1->Node2 - - - - - - - - -Node5 - - -std::vector::size - - - - - -Node1->Node5 - - - - - - - - -Node3 - - -std::vector::emplace_back - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -divide_and_conquer -::strassens_multiplication -::Matrix::size - - - - - -Node2->Node4 - - - - - - - - -Node4->Node5 - - - - - - - - diff --git a/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_af09566a6a59d30875434c140e18e0a12_cgraph.map b/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_af09566a6a59d30875434c140e18e0a12_cgraph.map deleted file mode 100644 index a8e5680f0..000000000 --- a/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_af09566a6a59d30875434c140e18e0a12_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_af09566a6a59d30875434c140e18e0a12_cgraph.md5 b/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_af09566a6a59d30875434c140e18e0a12_cgraph.md5 deleted file mode 100644 index 615d853c9..000000000 --- a/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_af09566a6a59d30875434c140e18e0a12_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -66e89f41c71306a7f6df61c9f42774a5 \ No newline at end of file diff --git a/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_af09566a6a59d30875434c140e18e0a12_cgraph.svg b/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_af09566a6a59d30875434c140e18e0a12_cgraph.svg deleted file mode 100644 index 8efcbd672..000000000 --- a/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_af09566a6a59d30875434c140e18e0a12_cgraph.svg +++ /dev/null @@ -1,67 +0,0 @@ - - - - - - - - - - - - -divide_and_conquer::strassens_multiplication::Matrix::operator*= - - -Node1 - - -divide_and_conquer -::strassens_multiplication -::Matrix::operator*= - - - - - -Node2 - - -std::vector::size - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_af09566a6a59d30875434c140e18e0a12_cgraph_org.svg b/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_af09566a6a59d30875434c140e18e0a12_cgraph_org.svg deleted file mode 100644 index 61c6f3956..000000000 --- a/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_af09566a6a59d30875434c140e18e0a12_cgraph_org.svg +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - -divide_and_conquer::strassens_multiplication::Matrix::operator*= - - -Node1 - - -divide_and_conquer -::strassens_multiplication -::Matrix::operator*= - - - - - -Node2 - - -std::vector::size - - - - - -Node1->Node2 - - - - - - - - diff --git a/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_af12ceffdc07cc87eca8a4a8ac87d60fe_cgraph.map b/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_af12ceffdc07cc87eca8a4a8ac87d60fe_cgraph.map deleted file mode 100644 index efa78f87f..000000000 --- a/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_af12ceffdc07cc87eca8a4a8ac87d60fe_cgraph.map +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - - - diff --git a/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_af12ceffdc07cc87eca8a4a8ac87d60fe_cgraph.md5 b/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_af12ceffdc07cc87eca8a4a8ac87d60fe_cgraph.md5 deleted file mode 100644 index a37533a45..000000000 --- a/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_af12ceffdc07cc87eca8a4a8ac87d60fe_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -21b8910f84b4ab224f58a7b9e96dbcac \ No newline at end of file diff --git a/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_af12ceffdc07cc87eca8a4a8ac87d60fe_cgraph.svg b/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_af12ceffdc07cc87eca8a4a8ac87d60fe_cgraph.svg deleted file mode 100644 index 4b9d6e9d0..000000000 --- a/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_af12ceffdc07cc87eca8a4a8ac87d60fe_cgraph.svg +++ /dev/null @@ -1,132 +0,0 @@ - - - - - - - - - - - - -divide_and_conquer::strassens_multiplication::Matrix::v_stack - - -Node1 - - -divide_and_conquer -::strassens_multiplication -::Matrix::v_stack - - - - - -Node2 - - -std::vector::back - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::vector::emplace_back - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -divide_and_conquer -::strassens_multiplication -::Matrix::size - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::vector::size - - - - - -Node1->Node5 - - - - - - - - -Node4->Node5 - - - - - - - - - - - - - diff --git a/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_af12ceffdc07cc87eca8a4a8ac87d60fe_cgraph_org.svg b/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_af12ceffdc07cc87eca8a4a8ac87d60fe_cgraph_org.svg deleted file mode 100644 index 498c75a55..000000000 --- a/dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_af12ceffdc07cc87eca8a4a8ac87d60fe_cgraph_org.svg +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - -divide_and_conquer::strassens_multiplication::Matrix::v_stack - - -Node1 - - -divide_and_conquer -::strassens_multiplication -::Matrix::v_stack - - - - - -Node2 - - -std::vector::back - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::vector::emplace_back - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -divide_and_conquer -::strassens_multiplication -::Matrix::size - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::vector::size - - - - - -Node1->Node5 - - - - - - - - -Node4->Node5 - - - - - - - - diff --git a/dc/d14/wildcard__matching_8cpp.html b/dc/d14/wildcard__matching_8cpp.html index a66509009..96ba07cdf 100644 --- a/dc/d14/wildcard__matching_8cpp.html +++ b/dc/d14/wildcard__matching_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: backtracking/wildcard_matching.cpp File Reference +TheAlgorithms/C++: backtracking/wildcard_matching.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
        @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -106,8 +123,7 @@ $(function(){initNavTree('dc/d14/wildcard__matching_8cpp.html','../../'); initRe
        wildcard_matching.cpp File Reference
        @@ -123,7 +139,9 @@ Include dependency graph for wildcard_matching.cpp:
        -
        -
        Algorithms_in_C++ 1.0.0 +
        TheAlgorithms/C++ 1.0.0
        -
        Set of algorithms implemented in C++.
        +
        All the algorithms implemented in C++
        + +

        Go to the source code of this file.

        +
        @@ -135,7 +153,10 @@ Namespaces

        Namespaces

        namespace  backtracking
        - + + + + @@ -143,17 +164,46 @@ Functions -

        Functions

        bool backtracking::wildcard_matching::wildcard_matching (std::string s, std::string p, uint32_t pos1, uint32_t pos2)
        std::vector< std::vector< int64_t > > backtracking::wildcard_matching::dpTable (1000, std::vector< int64_t >(1000, -1))
         The main function implements if pattern can be matched with given string.
         
        bool backtracking::wildcard_matching::wildcard_matching (std::string s, std::string p, uint32_t pos1, uint32_t pos2)
         
        static void test ()
         Self-test implementations.
        int main ()
         Main function.
         
        - - - -

        -Variables

        std::vector< std::vector< int64_t > > backtracking::wildcard_matching::dpTable (1000, std::vector< int64_t >(1000, -1))
         The main function implements if pattern can be matched with given string.
         

        Detailed Description

        Implementation of the Wildcard Matching problem.

        Given a matching string and a pattern, implement wildcard pattern matching with support for ? and *. ? matches any single character. * matches any sequence of characters (including the empty sequence). The matching should cover the entire matching string (not partial). The task is to determine if the pattern matches with the matching string

        Author
        Swastika Gupta
        + +

        Definition in file wildcard_matching.cpp.

        Function Documentation

        + +

        ◆ dpTable()

        + +
        +
        + + + + + + + + + + + +
        std::vector< std::vector< int64_t > > backtracking::wildcard_matching::dpTable (1000 ,
        std::vector< int64_t > 1000, -1 )
        +
        + +

        The main function implements if pattern can be matched with given string.

        +
        Parameters
        + + + + + +
        sis the given matching string
        pis the given pattern
        pos1is the starting index
        pos2is the last index
        +
        +
        +
        Returns
        1 if pattern matches with matching string otherwise 0
        + +
        +

        ◆ main()

        @@ -171,17 +221,14 @@ Variables
        bool backtracking::wildcard_matching::wildcard_matching (std::string s, std::string s,
        std::string p, std::string p,
        + +

        Definition at line 40 of file wildcard_matching.cpp.

        41 {
        -
        42 uint32_t n = s.length();
        -
        43 uint32_t m = p.length();
        +
        42 uint32_t n = s.length();
        +
        43 uint32_t m = p.length();
        44 // matching is successfull if both strings are done
        45 if (pos1 == n && pos2 == m) {
        46 return true;
        @@ -320,71 +363,36 @@ Here is the call graph for this function:
        64
        65 // if already calculted for these positions
        66 if (dpTable[pos1][pos2] != -1) {
        -
        67 return dpTable[pos1][pos2];
        +
        67 return dpTable[pos1][pos2];
        68 }
        69
        70 // if the characters are same just go ahead in both the string
        71 if (s[pos1] == p[pos2]) {
        -
        72 return dpTable[pos1][pos2] =
        +
        72 return dpTable[pos1][pos2] =
        73 wildcard_matching(s, p, pos1 + 1, pos2 + 1);
        74 }
        75
        76 else {
        77 // can only single character
        78 if (p[pos2] == '?') {
        -
        79 return dpTable[pos1][pos2] =
        +
        79 return dpTable[pos1][pos2] =
        80 wildcard_matching(s, p, pos1 + 1, pos2 + 1);
        81 }
        82 // have choice either to match one or more charcters
        83 else if (p[pos2] == '*') {
        -
        84 return dpTable[pos1][pos2] =
        +
        84 return dpTable[pos1][pos2] =
        85 wildcard_matching(s, p, pos1, pos2 + 1) ||
        86 wildcard_matching(s, p, pos1 + 1, pos2);
        87 }
        88 // not possible to match
        89 else {
        -
        90 return dpTable[pos1][pos2] = 0;
        +
        90 return dpTable[pos1][pos2] = 0;
        91 }
        92 }
        93}
        Functions for the Wildcard Matching problem.
        -
        T length(T... args)
        -
        std::vector< std::vector< int64_t > > dpTable(1000, std::vector< int64_t >(1000, -1))
        The main function implements if pattern can be matched with given string.
        +
        std::vector< std::vector< int64_t > > dpTable(1000, std::vector< int64_t >(1000, -1))
        The main function implements if pattern can be matched with given string.
        - - -

        Variable Documentation

        - -

        ◆ dpTable

        - -
        -
        - - - - - - - - - - - -
        std::vector< std::vector< int64_t > > backtracking::wildcard_matching::dpTable(1000, std::vector< int64_t >(1000, -1)) (1000 ,
        std::vector< int64_t > 1000, -1 )
        -
        - -

        The main function implements if pattern can be matched with given string.

        -
        Parameters
        - - - - - -
        sis the given matching string
        pis the given pattern
        pos1is the starting index
        pos2is the last index
        -
        -
        -
        Returns
        1 if pattern matches with matching string otherwise 0
        -
        diff --git a/dc/d14/wildcard__matching_8cpp.js b/dc/d14/wildcard__matching_8cpp.js index 675b8340b..cc9c032a3 100644 --- a/dc/d14/wildcard__matching_8cpp.js +++ b/dc/d14/wildcard__matching_8cpp.js @@ -1,6 +1,6 @@ var wildcard__matching_8cpp = [ + [ "dpTable", "dc/d14/wildcard__matching_8cpp.html#a1f8c260cf0d7e22c666b85f1f71ee4a7", null ], [ "main", "dc/d14/wildcard__matching_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4", null ], - [ "test", "dc/d14/wildcard__matching_8cpp.html#aa8dca7b867074164d5f45b0f3851269d", null ], - [ "dpTable", "dc/d14/wildcard__matching_8cpp.html#a4a5b107f93db24e424b12899fa692c5a", null ] + [ "test", "dc/d14/wildcard__matching_8cpp.html#aa8dca7b867074164d5f45b0f3851269d", null ] ]; \ No newline at end of file diff --git a/dc/d14/wildcard__matching_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map b/dc/d14/wildcard__matching_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map deleted file mode 100644 index e85e01374..000000000 --- a/dc/d14/wildcard__matching_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/dc/d14/wildcard__matching_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 b/dc/d14/wildcard__matching_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 deleted file mode 100644 index 5901bc148..000000000 --- a/dc/d14/wildcard__matching_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -729fb887ee50b6291b0542ba0592a5c7 \ No newline at end of file diff --git a/dc/d14/wildcard__matching_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg b/dc/d14/wildcard__matching_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg deleted file mode 100644 index 2e04695b9..000000000 --- a/dc/d14/wildcard__matching_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/dc/d14/wildcard__matching_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg b/dc/d14/wildcard__matching_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg deleted file mode 100644 index 1813bd719..000000000 --- a/dc/d14/wildcard__matching_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - diff --git a/dc/d14/wildcard__matching_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/dc/d14/wildcard__matching_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 6dbcc050a..000000000 --- a/dc/d14/wildcard__matching_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/dc/d14/wildcard__matching_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/dc/d14/wildcard__matching_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index dd5854796..000000000 --- a/dc/d14/wildcard__matching_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -3283a141aed910c97967257457151478 \ No newline at end of file diff --git a/dc/d14/wildcard__matching_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/dc/d14/wildcard__matching_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index cdd9e23ce..000000000 --- a/dc/d14/wildcard__matching_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node2->Node3 - - - - - - - - - - - - - diff --git a/dc/d14/wildcard__matching_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/dc/d14/wildcard__matching_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index e726a4815..000000000 --- a/dc/d14/wildcard__matching_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node2->Node3 - - - - - - - - diff --git a/dc/d14/wildcard__matching_8cpp_source.html b/dc/d14/wildcard__matching_8cpp_source.html new file mode 100644 index 000000000..ca5163cd7 --- /dev/null +++ b/dc/d14/wildcard__matching_8cpp_source.html @@ -0,0 +1,264 @@ + + + + + + + + +TheAlgorithms/C++: backtracking/wildcard_matching.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
        +
        + + + + + + + +
        +
        TheAlgorithms/C++ 1.0.0 +
        +
        All the algorithms implemented in C++
        +
        +
        + + + + + + + + +
        +
        + +
        +
        +
        + +
        + +
        +
        + + +
        +
        +
        +
        +
        +
        Loading...
        +
        Searching...
        +
        No Matches
        +
        +
        +
        +
        + +
        +
        wildcard_matching.cpp
        +
        +
        +Go to the documentation of this file.
        1
        +
        14#include <cassert>
        +
        15#include <cstdint>
        +
        16#include <iostream>
        +
        17#include <vector>
        +
        18
        +
        23namespace backtracking {
        +
        29namespace wildcard_matching {
        +
        39std::vector<std::vector<int64_t>> dpTable(1000, std::vector<int64_t>(1000, -1));
        +
        40bool wildcard_matching(std::string s, std::string p, uint32_t pos1,
        +
        41 uint32_t pos2) {
        +
        42 uint32_t n = s.length();
        +
        43 uint32_t m = p.length();
        +
        44 // matching is successfull if both strings are done
        +
        45 if (pos1 == n && pos2 == m) {
        +
        46 return true;
        +
        47 }
        +
        48
        +
        49 // matching is unsuccessfull if pattern is not finished but matching string
        +
        50 // is
        +
        51 if (pos1 != n && pos2 == m) {
        +
        52 return false;
        +
        53 }
        +
        54
        +
        55 // all the remaining characters of patterns must be * inorder to match with
        +
        56 // finished string
        +
        57 if (pos1 == n && pos2 != m) {
        +
        58 while (pos2 < m && p[pos2] == '*') {
        +
        59 pos2++;
        +
        60 }
        +
        61
        +
        62 return pos2 == m;
        +
        63 }
        +
        64
        +
        65 // if already calculted for these positions
        +
        66 if (dpTable[pos1][pos2] != -1) {
        +
        67 return dpTable[pos1][pos2];
        +
        68 }
        +
        69
        +
        70 // if the characters are same just go ahead in both the string
        +
        71 if (s[pos1] == p[pos2]) {
        +
        72 return dpTable[pos1][pos2] =
        +
        73 wildcard_matching(s, p, pos1 + 1, pos2 + 1);
        +
        74 }
        +
        75
        +
        76 else {
        +
        77 // can only single character
        +
        78 if (p[pos2] == '?') {
        +
        79 return dpTable[pos1][pos2] =
        +
        80 wildcard_matching(s, p, pos1 + 1, pos2 + 1);
        +
        81 }
        +
        82 // have choice either to match one or more charcters
        +
        83 else if (p[pos2] == '*') {
        +
        84 return dpTable[pos1][pos2] =
        +
        85 wildcard_matching(s, p, pos1, pos2 + 1) ||
        +
        86 wildcard_matching(s, p, pos1 + 1, pos2);
        +
        87 }
        +
        88 // not possible to match
        +
        89 else {
        +
        90 return dpTable[pos1][pos2] = 0;
        +
        91 }
        +
        92 }
        +
        93}
        +
        94
        +
        95} // namespace wildcard_matching
        +
        96} // namespace backtracking
        +
        97
        +
        +
        102static void test() {
        +
        103 // 1st test
        +
        104 std::cout << "1st test ";
        +
        105 std::string matching1 = "baaabab";
        +
        106 std::string pattern1 = "*****ba*****ab";
        +
        107 assert(backtracking::wildcard_matching::wildcard_matching(matching1,
        +
        108 pattern1, 0, 0) ==
        +
        109 1); // here the pattern matches with given string
        +
        110 std::cout << "passed" << std::endl;
        +
        111
        +
        112 // 2nd test
        +
        113 std::cout << "2nd test ";
        +
        114 std::string matching2 = "baaabab";
        +
        115 std::string pattern2 = "ba*****ab";
        +
        116 assert(backtracking::wildcard_matching::wildcard_matching(matching2,
        +
        117 pattern2, 0, 0) ==
        +
        118 1); // here the pattern matches with given string
        +
        119 std::cout << "passed" << std::endl;
        +
        120
        +
        121 // 3rd test
        +
        122 std::cout << "3rd test ";
        +
        123 std::string matching3 = "baaabab";
        +
        124 std::string pattern3 = "ba*ab";
        +
        125 assert(backtracking::wildcard_matching::wildcard_matching(matching3,
        +
        126 pattern3, 0, 0) ==
        +
        127 1); // here the pattern matches with given string
        +
        128 std::cout << "passed" << std::endl;
        +
        129
        +
        130 // 4th test
        +
        131 std::cout << "4th test ";
        +
        132 std::string matching4 = "baaabab";
        +
        133 std::string pattern4 = "a*ab";
        +
        134 assert(backtracking::wildcard_matching::wildcard_matching(matching4,
        +
        135 pattern4, 0, 0) ==
        +
        136 1); // here the pattern matches with given string
        +
        137 std::cout << "passed" << std::endl;
        +
        138
        +
        139 // 5th test
        +
        140 std::cout << "5th test ";
        +
        141 std::string matching5 = "baaabab";
        +
        142 std::string pattern5 = "aa?ab";
        +
        143 assert(backtracking::wildcard_matching::wildcard_matching(matching5,
        +
        144 pattern5, 0, 0) ==
        +
        145 1); // here the pattern matches with given string
        +
        146 std::cout << "passed" << std::endl;
        +
        147}
        +
        +
        148
        +
        +
        153int main() {
        +
        154 test(); // run self-test implementations
        +
        155 return 0;
        +
        156}
        +
        +
        for vector container
        +
        Functions for the Wildcard Matching problem.
        +
        std::vector< std::vector< int64_t > > dpTable(1000, std::vector< int64_t >(1000, -1))
        The main function implements if pattern can be matched with given string.
        +
        static void test()
        Self-test implementations.
        +
        int main()
        Main function.
        +
        +
        + + + + diff --git a/dc/d1a/pascal__triangle_8cpp.html b/dc/d1a/pascal__triangle_8cpp.html index 02fba7d32..573f8e9a0 100644 --- a/dc/d1a/pascal__triangle_8cpp.html +++ b/dc/d1a/pascal__triangle_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: others/pascal_triangle.cpp File Reference +TheAlgorithms/C++: others/pascal_triangle.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
        @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -120,7 +137,9 @@ Include dependency graph for pascal_triangle.cpp:
        -
        -
        Algorithms_in_C++ 1.0.0 +
        TheAlgorithms/C++ 1.0.0
        -
        Set of algorithms implemented in C++.
        +
        All the algorithms implemented in C++
        + +

        Go to the source code of this file.

        +
        @@ -132,6 +151,8 @@ Functions

        Functions

        void show_pascal (int **arr, int n)

        Detailed Description

        Pascal's triangle implementation.

        + +

        Definition in file pascal_triangle.cpp.

        Function Documentation

        ◆ main()

        @@ -148,17 +169,19 @@ Functions

        main function

        + +

        Definition at line 52 of file pascal_triangle.cpp.

        52 {
        53 int n = 0;
        54
        -
        55 std::cout << "Set Pascal's Triangle Height" << std::endl;
        -
        56 std::cin >> n;
        +
        55 std::cout << "Set Pascal's Triangle Height" << std::endl;
        +
        56 std::cin >> n;
        57
        58 // memory allocation (Assign two-dimensional array to store Pascal triangle)
        59 int **arr = new int *[n];
        60 for (int i = 0; i < n; ++i) {
        61 arr[i] = new int[2 * n - 1];
        -
        62 memset(arr[i], 0, sizeof(int) * (2 * n - 1));
        +
        62 memset(arr[i], 0, sizeof(int) * (2 * n - 1));
        63 }
        64
        65 pascal_triangle(arr, n);
        @@ -172,18 +195,9 @@ Functions
        73
        74 return 0;
        75}
        - - -
        T endl(T... args)
        -
        T memset(T... args)
        -
        int ** pascal_triangle(int **arr, int n)
        Definition pascal_triangle.cpp:36
        -
        void show_pascal(int **arr, int n)
        Definition pascal_triangle.cpp:18
        -
        -Here is the call graph for this function:
        -
        -
        -
        - +
        int ** pascal_triangle(int **arr, int n)
        +
        void show_pascal(int **arr, int n)
        +
        @@ -212,6 +226,8 @@ Here is the call graph for this function:
        Returns
        arr pointer returned
        + +

        Definition at line 36 of file pascal_triangle.cpp.

        36 {
        37 for (int i = 0; i < n; ++i) {
        38 for (int j = n - i - 1; j < n + i; ++j) {
        @@ -252,24 +268,20 @@ Here is the call graph for this function:
        + +

        Definition at line 18 of file pascal_triangle.cpp.

        18 {
        19 for (int i = 0; i < n; ++i) {
        20 for (int j = 0; j < n + i; ++j) {
        21 if (arr[i][j] == 0)
        -
        22 std::cout << std::setw(4) << " ";
        +
        22 std::cout << std::setw(4) << " ";
        23 else
        -
        24 std::cout << std::setw(4) << arr[i][j];
        +
        24 std::cout << std::setw(4) << arr[i][j];
        25 }
        - +
        26 std::cout << std::endl;
        27 }
        28}
        -
        T setw(T... args)
        -
        -Here is the call graph for this function:
        -
        -
        -
        - + diff --git a/dc/d1a/pascal__triangle_8cpp_ad7a31d9cb2818d21b1ba12aead7f4c5c_cgraph.map b/dc/d1a/pascal__triangle_8cpp_ad7a31d9cb2818d21b1ba12aead7f4c5c_cgraph.map deleted file mode 100644 index 05fb1193a..000000000 --- a/dc/d1a/pascal__triangle_8cpp_ad7a31d9cb2818d21b1ba12aead7f4c5c_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/dc/d1a/pascal__triangle_8cpp_ad7a31d9cb2818d21b1ba12aead7f4c5c_cgraph.md5 b/dc/d1a/pascal__triangle_8cpp_ad7a31d9cb2818d21b1ba12aead7f4c5c_cgraph.md5 deleted file mode 100644 index 59a934d2a..000000000 --- a/dc/d1a/pascal__triangle_8cpp_ad7a31d9cb2818d21b1ba12aead7f4c5c_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -7c8349747a5578c003687329179f0ab8 \ No newline at end of file diff --git a/dc/d1a/pascal__triangle_8cpp_ad7a31d9cb2818d21b1ba12aead7f4c5c_cgraph.svg b/dc/d1a/pascal__triangle_8cpp_ad7a31d9cb2818d21b1ba12aead7f4c5c_cgraph.svg deleted file mode 100644 index 3b4e7a271..000000000 --- a/dc/d1a/pascal__triangle_8cpp_ad7a31d9cb2818d21b1ba12aead7f4c5c_cgraph.svg +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - -show_pascal - - -Node1 - - -show_pascal - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::setw - - - - - -Node1->Node3 - - - - - - - - - - - - - diff --git a/dc/d1a/pascal__triangle_8cpp_ad7a31d9cb2818d21b1ba12aead7f4c5c_cgraph_org.svg b/dc/d1a/pascal__triangle_8cpp_ad7a31d9cb2818d21b1ba12aead7f4c5c_cgraph_org.svg deleted file mode 100644 index 808703ee4..000000000 --- a/dc/d1a/pascal__triangle_8cpp_ad7a31d9cb2818d21b1ba12aead7f4c5c_cgraph_org.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - -show_pascal - - -Node1 - - -show_pascal - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::setw - - - - - -Node1->Node3 - - - - - - - - diff --git a/dc/d1a/pascal__triangle_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/dc/d1a/pascal__triangle_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 65c03ecaf..000000000 --- a/dc/d1a/pascal__triangle_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - - - diff --git a/dc/d1a/pascal__triangle_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/dc/d1a/pascal__triangle_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index c5e465ba1..000000000 --- a/dc/d1a/pascal__triangle_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -3829063c1c0c993562428e517950010f \ No newline at end of file diff --git a/dc/d1a/pascal__triangle_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/dc/d1a/pascal__triangle_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index f23c1b90d..000000000 --- a/dc/d1a/pascal__triangle_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,128 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -pascal_triangle - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -show_pascal - - - - - -Node1->Node4 - - - - - - - - -Node4->Node2 - - - - - - - - -Node5 - - -std::setw - - - - - -Node4->Node5 - - - - - - - - - - - - - diff --git a/dc/d1a/pascal__triangle_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/dc/d1a/pascal__triangle_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 9277f55cf..000000000 --- a/dc/d1a/pascal__triangle_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,102 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -pascal_triangle - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -show_pascal - - - - - -Node1->Node4 - - - - - - - - -Node4->Node2 - - - - - - - - -Node5 - - -std::setw - - - - - -Node4->Node5 - - - - - - - - diff --git a/dc/d1a/pascal__triangle_8cpp_source.html b/dc/d1a/pascal__triangle_8cpp_source.html new file mode 100644 index 000000000..54d17173a --- /dev/null +++ b/dc/d1a/pascal__triangle_8cpp_source.html @@ -0,0 +1,204 @@ + + + + + + + + +TheAlgorithms/C++: others/pascal_triangle.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
        +
        + + + + + + + +
        +
        TheAlgorithms/C++ 1.0.0 +
        +
        All the algorithms implemented in C++
        +
        +
        + + + + + + + + +
        +
        + +
        +
        +
        + +
        + +
        +
        + + +
        +
        +
        +
        +
        +
        Loading...
        +
        Searching...
        +
        No Matches
        +
        +
        +
        +
        + +
        +
        pascal_triangle.cpp
        +
        +
        +Go to the documentation of this file.
        1
        +
        5#ifdef _MSC_VER
        +
        6#include <string> // required for Visual C
        +
        7#else
        +
        8#include <cstring>
        +
        9#endif
        +
        10#include <iomanip>
        +
        11#include <iostream>
        +
        12
        +
        +
        18void show_pascal(int **arr, int n) {
        +
        19 for (int i = 0; i < n; ++i) {
        +
        20 for (int j = 0; j < n + i; ++j) {
        +
        21 if (arr[i][j] == 0)
        +
        22 std::cout << std::setw(4) << " ";
        +
        23 else
        +
        24 std::cout << std::setw(4) << arr[i][j];
        +
        25 }
        +
        26 std::cout << std::endl;
        +
        27 }
        +
        28}
        +
        +
        29
        +
        +
        36int **pascal_triangle(int **arr, int n) {
        +
        37 for (int i = 0; i < n; ++i) {
        +
        38 for (int j = n - i - 1; j < n + i; ++j) {
        +
        39 if (j == n - i - 1 || j == n + i - 1)
        +
        40 arr[i][j] = 1; // The edge of the Pascal triangle goes in 1
        +
        41 else
        +
        42 arr[i][j] = arr[i - 1][j - 1] + arr[i - 1][j + 1];
        +
        43 }
        +
        44 }
        +
        45
        +
        46 return arr;
        +
        47}
        +
        +
        48
        +
        +
        52int main() {
        +
        53 int n = 0;
        +
        54
        +
        55 std::cout << "Set Pascal's Triangle Height" << std::endl;
        +
        56 std::cin >> n;
        +
        57
        +
        58 // memory allocation (Assign two-dimensional array to store Pascal triangle)
        +
        59 int **arr = new int *[n];
        +
        60 for (int i = 0; i < n; ++i) {
        +
        61 arr[i] = new int[2 * n - 1];
        +
        62 memset(arr[i], 0, sizeof(int) * (2 * n - 1));
        +
        63 }
        +
        64
        +
        65 pascal_triangle(arr, n);
        +
        66 show_pascal(arr, n);
        +
        67
        +
        68 // deallocation
        +
        69 for (int i = 0; i < n; ++i) {
        +
        70 delete[] arr[i];
        +
        71 }
        +
        72 delete[] arr;
        +
        73
        +
        74 return 0;
        +
        75}
        +
        +
        int ** pascal_triangle(int **arr, int n)
        +
        void show_pascal(int **arr, int n)
        +
        int main()
        +
        +
        + + + + diff --git a/dc/d1f/classcatalan__numbers.html b/dc/d1f/classcatalan__numbers.html index 65521e00d..ed4a055a8 100644 --- a/dc/d1f/classcatalan__numbers.html +++ b/dc/d1f/classcatalan__numbers.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: catalan_numbers Class Reference +TheAlgorithms/C++: catalan_numbers Class Reference + + + @@ -18,14 +24,24 @@ - - + +
        @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -119,37 +136,63 @@ $(function(){initNavTree('dc/d1f/classcatalan__numbers.html','../../'); initResi
        Collaboration diagram for catalan_numbers:
        -
        +
        [legend]
        -
        Algorithms_in_C++ 1.0.0 +
        TheAlgorithms/C++ 1.0.0
        -
        Set of algorithms implemented in C++.
        +
        All the algorithms implemented in C++
        - +

        Public Member Functions

        value_type get (std::size_t n)
        value_type get (std::size_t n)
         computes the n-th Catalan number and updates the cache.
         
        - +

        Private Types

        -using value_type = std::uint64_t
        using value_type = std::uint64_t
         
        - +

        Private Member Functions

        value_type compute_next ()
        value_type compute_next ()
         
        void add ()
         
        - +

        Private Attributes

        std::vector< value_typeknown {1, 1}
        std::vector< value_type > known {1, 1}
         

        Detailed Description

        computes and caches Catalan numbers

        -

        for assert for std::uint64_t for std::size_t for std::plus & std::multiplies for std::transform_reduce for std::vector

        -

        Member Function Documentation

        +

        for assert for std::uint64_t for std::size_t for std::plus & std::multiplies for std::transform_reduce for std::vector

        + +

        Definition at line 22 of file catalan_numbers.cpp.

        +

        Member Typedef Documentation

        + +

        ◆ value_type

        + +
        +
        + + + + + +
        + + + + +
        using catalan_numbers::value_type = std::uint64_t
        +
        +private
        +
        + +

        Definition at line 23 of file catalan_numbers.cpp.

        + +
        +
        +

        Member Function Documentation

        ◆ add()

        @@ -172,6 +215,8 @@ Private Attributes
        + +

        Definition at line 32 of file catalan_numbers.cpp.

        32{ known.push_back(this->compute_next()); }
        @@ -186,7 +231,7 @@ Private Attributes - + @@ -198,13 +243,13 @@ Private Attributes
        value_type catalan_numbers::compute_next value_type catalan_numbers::compute_next ( )
        + +

        Definition at line 26 of file catalan_numbers.cpp.

        26 {
        27 return std::transform_reduce(known.begin(), known.end(), known.rbegin(),
        -
        28 static_cast<value_type>(0), std::plus<>(),
        - +
        28 static_cast<value_type>(0), std::plus<>(),
        +
        29 std::multiplies<>());
        30 }
        - -
        @@ -218,9 +263,9 @@ Private Attributes - + - +
        value_type catalan_numbers::get value_type catalan_numbers::get (std::size_t n)std::size_t n)
        @@ -233,6 +278,8 @@ Private Attributes

        computes the n-th Catalan number and updates the cache.

        Returns
        the n-th Catalan number
        + +

        Definition at line 39 of file catalan_numbers.cpp.

        39 {
        40 while (known.size() <= n) {
        41 this->add();
        @@ -253,7 +300,7 @@ Private Attributes - +
        std::vector<value_type> catalan_numbers::known {1, 1}std::vector<value_type> catalan_numbers::known {1, 1}
        @@ -262,12 +309,14 @@ Private Attributes
        + +

        Definition at line 24 of file catalan_numbers.cpp.

        24{1, 1};

        The documentation for this class was generated from the following file: diff --git a/dc/d25/structdata__structures_1_1_node-members.html b/dc/d25/structdata__structures_1_1_node-members.html index 97f47ffb5..d2799770d 100644 --- a/dc/d25/structdata__structures_1_1_node-members.html +++ b/dc/d25/structdata__structures_1_1_node-members.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Member List +TheAlgorithms/C++: Member List + + + @@ -18,14 +24,24 @@ - - + +
        @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/dc/d2f/namespacecount__of__trailing__ciphers__in__factorial__n.html b/dc/d2f/namespacecount__of__trailing__ciphers__in__factorial__n.html index 42a450d5d..64532eccf 100644 --- a/dc/d2f/namespacecount__of__trailing__ciphers__in__factorial__n.html +++ b/dc/d2f/namespacecount__of__trailing__ciphers__in__factorial__n.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: count_of_trailing_ciphers_in_factorial_n Namespace Reference +TheAlgorithms/C++: count_of_trailing_ciphers_in_factorial_n Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
        @@ -33,10 +49,11 @@ MathJax.Hub.Config({
        -
        Algorithms_in_C++ 1.0.0 +
        TheAlgorithms/C++ 1.0.0
        -
        Set of algorithms implemented in C++.
        +
        All the algorithms implemented in C++
        + diff --git a/dc/d38/ordinary__least__squares__regressor_8cpp.html b/dc/d38/ordinary__least__squares__regressor_8cpp.html index 2f6739bed..4fd085484 100644 --- a/dc/d38/ordinary__least__squares__regressor_8cpp.html +++ b/dc/d38/ordinary__least__squares__regressor_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: machine_learning/ordinary_least_squares_regressor.cpp File Reference +TheAlgorithms/C++: machine_learning/ordinary_least_squares_regressor.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
        @@ -33,10 +49,11 @@ MathJax.Hub.Config({
        -
        Algorithms_in_C++ 1.0.0 +
        TheAlgorithms/C++ 1.0.0
        -
        Set of algorithms implemented in C++.
        +
        All the algorithms implemented in C++
        + @@ -122,50 +139,52 @@ Include dependency graph for ordinary_least_squares_regressor.cpp:
        -
        -
        Algorithms_in_C++ 1.0.0 +
        TheAlgorithms/C++ 1.0.0
        -
        Set of algorithms implemented in C++.
        +
        All the algorithms implemented in C++
        + +

        Go to the source code of this file.

        +
        - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -176,6 +195,8 @@ Functions

        Linear regression example using Ordinary least squares

        Program that gets the number of data samples and number of features per sample along with output per sample. It applies OLS regression to compute the regression output for additional test data samples.

        Author
        Krishna Vedala
        + +

        Definition in file ordinary_least_squares_regressor.cpp.

        Function Documentation

        ◆ fit_OLS_regressor()

        @@ -186,14 +207,14 @@ Functions template<typename T >

        Functions

        template<typename T >
        std::ostreamoperator<< (std::ostream &out, std::vector< std::vector< T > > const &v)
        std::ostream & operator<< (std::ostream &out, std::vector< std::vector< T > > const &v)
         
        template<typename T >
        std::ostreamoperator<< (std::ostream &out, std::vector< T > const &v)
        std::ostream & operator<< (std::ostream &out, std::vector< T > const &v)
         
        template<typename T >
        bool is_square (std::vector< std::vector< T > > const &A)
        bool is_square (std::vector< std::vector< T > > const &A)
         
        template<typename T >
        std::vector< std::vector< T > > operator* (std::vector< std::vector< T > > const &A, std::vector< std::vector< T > > const &B)
        std::vector< std::vector< T > > operator* (std::vector< std::vector< T > > const &A, std::vector< std::vector< T > > const &B)
         
        template<typename T >
        std::vector< T > operator* (std::vector< std::vector< T > > const &A, std::vector< T > const &B)
        std::vector< T > operator* (std::vector< std::vector< T > > const &A, std::vector< T > const &B)
         
        template<typename T >
        std::vector< float > operator* (float const scalar, std::vector< T > const &A)
        std::vector< float > operator* (float const scalar, std::vector< T > const &A)
         
        template<typename T >
        std::vector< float > operator* (std::vector< T > const &A, float const scalar)
        std::vector< float > operator* (std::vector< T > const &A, float const scalar)
         
        template<typename T >
        std::vector< float > operator/ (std::vector< T > const &A, float const scalar)
        std::vector< float > operator/ (std::vector< T > const &A, float const scalar)
         
        template<typename T >
        std::vector< T > operator- (std::vector< T > const &A, std::vector< T > const &B)
        std::vector< T > operator- (std::vector< T > const &A, std::vector< T > const &B)
         
        template<typename T >
        std::vector< T > operator+ (std::vector< T > const &A, std::vector< T > const &B)
        std::vector< T > operator+ (std::vector< T > const &A, std::vector< T > const &B)
         
        template<typename T >
        std::vector< std::vector< float > > get_inverse (std::vector< std::vector< T > > const &A)
        std::vector< std::vector< float > > get_inverse (std::vector< std::vector< T > > const &A)
         
        template<typename T >
        std::vector< std::vector< T > > get_transpose (std::vector< std::vector< T > > const &A)
        std::vector< std::vector< T > > get_transpose (std::vector< std::vector< T > > const &A)
         
        template<typename T >
        std::vector< float > fit_OLS_regressor (std::vector< std::vector< T > > const &X, std::vector< T > const &Y)
        std::vector< float > fit_OLS_regressor (std::vector< std::vector< T > > const &X, std::vector< T > const &Y)
         
        template<typename T >
        std::vector< float > predict_OLS_regressor (std::vector< std::vector< T > > const &X, std::vector< float > const &beta)
        std::vector< float > predict_OLS_regressor (std::vector< std::vector< T > > const &X, std::vector< float > const &beta)
         
        void ols_test ()
         
        - + - + - +
        std::vector< float > fit_OLS_regressor std::vector< float > fit_OLS_regressor (std::vector< std::vector< T > > const & X, std::vector< std::vector< T > > const & X,
        std::vector< T > const & Y )std::vector< T > const & Y )
        @@ -208,36 +229,30 @@ template<typename T >
        Returns
        fitted regression model polynomial coefficients
        + +

        Definition at line 321 of file ordinary_least_squares_regressor.cpp.

        322 {
        323 // NxF
        - -
        325 for (size_t i = 0; i < X2.size(); i++) {
        +
        324 std::vector<std::vector<T>> X2 = X;
        +
        325 for (size_t i = 0; i < X2.size(); i++) {
        326 // add Y-intercept -> Nx(F+1)
        -
        327 X2[i].push_back(1);
        +
        327 X2[i].push_back(1);
        328 }
        329 // (F+1)xN
        - +
        330 std::vector<std::vector<T>> Xt = get_transpose(X2);
        331 // (F+1)x(F+1)
        - +
        332 std::vector<std::vector<T>> tmp = get_inverse(Xt * X2);
        333 // (F+1)xN
        -
        334 std::vector<std::vector<float>> out = tmp * Xt;
        +
        334 std::vector<std::vector<float>> out = tmp * Xt;
        335 // cout << endl
        336 // << "Projection matrix: " << X2 * out << endl;
        337
        338 // Fx1,1 -> (F+1)^th element is the independent constant
        339 return out * Y;
        340}
        -
        std::vector< std::vector< T > > get_transpose(std::vector< std::vector< T > > const &A)
        Definition ordinary_least_squares_regressor.cpp:300
        -
        std::vector< std::vector< float > > get_inverse(std::vector< std::vector< T > > const &A)
        Definition ordinary_least_squares_regressor.cpp:226
        -
        T push_back(T... args)
        -
        T size(T... args)
        - -
        -Here is the call graph for this function:
        -
        -
        -
        - +
        std::vector< std::vector< T > > get_transpose(std::vector< std::vector< T > > const &A)
        +
        std::vector< std::vector< float > > get_inverse(std::vector< std::vector< T > > const &A)
        + @@ -249,36 +264,38 @@ Here is the call graph for this function: template<typename T > - + - +
        std::vector< std::vector< float > > get_inverse std::vector< std::vector< float > > get_inverse (std::vector< std::vector< T > > const & A)std::vector< std::vector< T > > const & A)

        Get matrix inverse using Row-trasnformations. Given matrix must be a square and non-singular.

        Returns
        inverse matrix
        + +

        Definition at line 226 of file ordinary_least_squares_regressor.cpp.

        227 {
        228 // Assuming A is square matrix
        -
        229 size_t N = A.size();
        +
        229 size_t N = A.size();
        230
        - +
        231 std::vector<std::vector<float>> inverse(N);
        232 for (size_t row = 0; row < N; row++) {
        233 // preallocatae a resultant identity matrix
        -
        234 inverse[row] = std::vector<float>(N);
        +
        234 inverse[row] = std::vector<float>(N);
        235 for (size_t col = 0; col < N; col++) {
        236 inverse[row][col] = (row == col) ? 1.f : 0.f;
        237 }
        238 }
        239
        240 if (!is_square(A)) {
        -
        241 std::cerr << "A must be a square matrix!" << std::endl;
        +
        241 std::cerr << "A must be a square matrix!" << std::endl;
        242 return inverse;
        243 }
        244
        245 // preallocatae a temporary matrix identical to A
        - +
        246 std::vector<std::vector<float>> temp(N);
        247 for (size_t row = 0; row < N; row++) {
        - +
        248 std::vector<float> v(N);
        249 for (size_t col = 0; col < N; col++) {
        250 v[col] = static_cast<float>(A[row][col]);
        251 }
        @@ -303,7 +320,7 @@ template<typename T >
        270
        271 if (temp[row][row] == 0) {
        272 // Probably a low-rank matrix and hence singular
        -
        273 std::cerr << "Low-rank matrix, no inverse!" << std::endl;
        +
        273 std::cerr << "Low-rank matrix, no inverse!" << std::endl;
        274 return inverse;
        275 }
        276
        @@ -324,16 +341,9 @@ template<typename T >
        291
        292 return inverse;
        293}
        - -
        T endl(T... args)
        -
        bool is_square(std::vector< std::vector< T > > const &A)
        Definition ordinary_least_squares_regressor.cpp:59
        -
        constexpr uint32_t N
        A struct to represent sparse table for min() as their invariant function, for the given array A....
        Definition sparse_table.cpp:48
        -
        -Here is the call graph for this function:
        -
        -
        -
        - +
        bool is_square(std::vector< std::vector< T > > const &A)
        +
        constexpr uint32_t N
        A struct to represent sparse table for min() as their invariant function, for the given array A....
        + @@ -345,26 +355,28 @@ Here is the call graph for this function: template<typename T > - + - +
        std::vector< std::vector< T > > get_transpose std::vector< std::vector< T > > get_transpose (std::vector< std::vector< T > > const & A)std::vector< std::vector< T > > const & A)

        matrix transpose

        Returns
        resultant matrix
        + +

        Definition at line 300 of file ordinary_least_squares_regressor.cpp.

        301 {
        - +
        302 std::vector<std::vector<T>> result(A[0].size());
        303
        -
        304 for (size_t row = 0; row < A[0].size(); row++) {
        -
        305 std::vector<T> v(A.size());
        -
        306 for (size_t col = 0; col < A.size(); col++) v[col] = A[col][row];
        +
        304 for (size_t row = 0; row < A[0].size(); row++) {
        +
        305 std::vector<T> v(A.size());
        +
        306 for (size_t col = 0; col < A.size(); col++) v[col] = A[col][row];
        307
        308 result[row] = v;
        309 }
        310 return result;
        311}
        -
        uint64_t result(uint64_t n)
        Definition fibonacci_sum.cpp:77
        +
        uint64_t result(uint64_t n)
        @@ -382,7 +394,7 @@ template<typename T > bool is_square ( - std::vector< std::vector< T > > const & A) + std::vector< std::vector< T > > const & A) @@ -393,9 +405,11 @@ template<typename T >

        function to check if given matrix is a square matrix

        Returns
        1 if true, 0 if false
        + +

        Definition at line 59 of file ordinary_least_squares_regressor.cpp.

        59 {
        60 // Assuming A is square matrix
        -
        61 size_t N = A.size();
        +
        61 size_t N = A.size();
        62 for (size_t i = 0; i < N; i++) {
        63 if (A[i].size() != N) {
        64 return false;
        @@ -421,70 +435,66 @@ template<typename T >

        main function

        + +

        Definition at line 423 of file ordinary_least_squares_regressor.cpp.

        423 {
        424 ols_test();
        425
        426 size_t N = 0, F = 0;
        427
        -
        428 std::cout << "Enter number of features: ";
        +
        428 std::cout << "Enter number of features: ";
        429 // number of features = columns
        -
        430 std::cin >> F;
        -
        431 std::cout << "Enter number of samples: ";
        +
        430 std::cin >> F;
        +
        431 std::cout << "Enter number of samples: ";
        432 // number of samples = rows
        -
        433 std::cin >> N;
        +
        433 std::cin >> N;
        434
        - - +
        435 std::vector<std::vector<float>> data(N);
        +
        436 std::vector<float> Y(N);
        437
        - +
        438 std::cout
        439 << "Enter training data. Per sample, provide features and one output."
        -
        440 << std::endl;
        +
        440 << std::endl;
        441
        442 for (size_t rows = 0; rows < N; rows++) {
        - -
        444 std::cout << "Sample# " << rows + 1 << ": ";
        +
        443 std::vector<float> v(F);
        +
        444 std::cout << "Sample# " << rows + 1 << ": ";
        445 for (size_t cols = 0; cols < F; cols++) {
        446 // get the F features
        -
        447 std::cin >> v[cols];
        +
        447 std::cin >> v[cols];
        448 }
        449 data[rows] = v;
        450 // get the corresponding output
        -
        451 std::cin >> Y[rows];
        +
        451 std::cin >> Y[rows];
        452 }
        453
        - -
        455 std::cout << std::endl << std::endl << "beta:" << beta << std::endl;
        +
        454 std::vector<float> beta = fit_OLS_regressor(data, Y);
        +
        455 std::cout << std::endl << std::endl << "beta:" << beta << std::endl;
        456
        457 size_t T = 0;
        -
        458 std::cout << "Enter number of test samples: ";
        +
        458 std::cout << "Enter number of test samples: ";
        459 // number of test sample inputs
        -
        460 std::cin >> T;
        - +
        460 std::cin >> T;
        +
        461 std::vector<std::vector<float>> data2(T);
        462 // vector<float> Y2(T);
        463
        464 for (size_t rows = 0; rows < T; rows++) {
        -
        465 std::cout << "Sample# " << rows + 1 << ": ";
        - +
        465 std::cout << "Sample# " << rows + 1 << ": ";
        +
        466 std::vector<float> v(F);
        467 for (size_t cols = 0; cols < F; cols++) std::cin >> v[cols];
        468 data2[rows] = v;
        469 }
        470
        -
        471 std::vector<float> out = predict_OLS_regressor(data2, beta);
        -
        472 for (size_t rows = 0; rows < T; rows++) std::cout << out[rows] << std::endl;
        +
        471 std::vector<float> out = predict_OLS_regressor(data2, beta);
        +
        472 for (size_t rows = 0; rows < T; rows++) std::cout << out[rows] << std::endl;
        473
        474 return 0;
        475}
        - -
        int data[MAX]
        test data
        Definition hash_search.cpp:24
        -
        void ols_test()
        Definition ordinary_least_squares_regressor.cpp:369
        -
        std::vector< float > fit_OLS_regressor(std::vector< std::vector< T > > const &X, std::vector< T > const &Y)
        Definition ordinary_least_squares_regressor.cpp:321
        -
        std::vector< float > predict_OLS_regressor(std::vector< std::vector< T > > const &X, std::vector< float > const &beta)
        Definition ordinary_least_squares_regressor.cpp:352
        -
        -Here is the call graph for this function:
        -
        -
        -
        - +
        int data[MAX]
        test data
        + +
        std::vector< float > fit_OLS_regressor(std::vector< std::vector< T > > const &X, std::vector< T > const &Y)
        +
        std::vector< float > predict_OLS_regressor(std::vector< std::vector< T > > const &X, std::vector< float > const &beta)
        +
        @@ -502,62 +512,59 @@ Here is the call graph for this function:

        Self test checks

        + +

        Definition at line 369 of file ordinary_least_squares_regressor.cpp.

        369 {
        370 int F = 3, N = 5;
        371
        372 /* test function = x^2 -5 */
        -
        373 std::cout << "Test 1 (quadratic function)....";
        +
        373 std::cout << "Test 1 (quadratic function)....";
        374 // create training data set with features = x, x^2, x^3
        - +
        375 std::vector<std::vector<float>> data1(
        376 {{-5, 25, -125}, {-1, 1, -1}, {0, 0, 0}, {1, 1, 1}, {6, 36, 216}});
        377 // create corresponding outputs
        -
        378 std::vector<float> Y1({20, -4, -5, -4, 31});
        +
        378 std::vector<float> Y1({20, -4, -5, -4, 31});
        379 // perform regression modelling
        -
        380 std::vector<float> beta1 = fit_OLS_regressor(data1, Y1);
        +
        380 std::vector<float> beta1 = fit_OLS_regressor(data1, Y1);
        381 // create test data set with same features = x, x^2, x^3
        - +
        382 std::vector<std::vector<float>> test_data1(
        383 {{-2, 4, -8}, {2, 4, 8}, {-10, 100, -1000}, {10, 100, 1000}});
        384 // expected regression outputs
        -
        385 std::vector<float> expected1({-1, -1, 95, 95});
        +
        385 std::vector<float> expected1({-1, -1, 95, 95});
        386 // predicted regression outputs
        -
        387 std::vector<float> out1 = predict_OLS_regressor(test_data1, beta1);
        +
        387 std::vector<float> out1 = predict_OLS_regressor(test_data1, beta1);
        388 // compare predicted results are within +-0.01 limit of expected
        -
        389 for (size_t rows = 0; rows < out1.size(); rows++) {
        +
        389 for (size_t rows = 0; rows < out1.size(); rows++) {
        390 assert(std::abs(out1[rows] - expected1[rows]) < 0.01);
        391 }
        -
        392 std::cout << "passed\n";
        +
        392 std::cout << "passed\n";
        393
        394 /* test function = x^3 + x^2 - 100 */
        -
        395 std::cout << "Test 2 (cubic function)....";
        +
        395 std::cout << "Test 2 (cubic function)....";
        396 // create training data set with features = x, x^2, x^3
        - +
        397 std::vector<std::vector<float>> data2(
        398 {{-5, 25, -125}, {-1, 1, -1}, {0, 0, 0}, {1, 1, 1}, {6, 36, 216}});
        399 // create corresponding outputs
        -
        400 std::vector<float> Y2({-200, -100, -100, 98, 152});
        +
        400 std::vector<float> Y2({-200, -100, -100, 98, 152});
        401 // perform regression modelling
        -
        402 std::vector<float> beta2 = fit_OLS_regressor(data2, Y2);
        +
        402 std::vector<float> beta2 = fit_OLS_regressor(data2, Y2);
        403 // create test data set with same features = x, x^2, x^3
        - +
        404 std::vector<std::vector<float>> test_data2(
        405 {{-2, 4, -8}, {2, 4, 8}, {-10, 100, -1000}, {10, 100, 1000}});
        406 // expected regression outputs
        -
        407 std::vector<float> expected2({-104, -88, -1000, 1000});
        +
        407 std::vector<float> expected2({-104, -88, -1000, 1000});
        408 // predicted regression outputs
        -
        409 std::vector<float> out2 = predict_OLS_regressor(test_data2, beta2);
        +
        409 std::vector<float> out2 = predict_OLS_regressor(test_data2, beta2);
        410 // compare predicted results are within +-0.01 limit of expected
        -
        411 for (size_t rows = 0; rows < out2.size(); rows++) {
        +
        411 for (size_t rows = 0; rows < out2.size(); rows++) {
        412 assert(std::abs(out2[rows] - expected2[rows]) < 0.01);
        413 }
        -
        414 std::cout << "passed\n";
        +
        414 std::cout << "passed\n";
        415
        -
        416 std::cout << std::endl; // ensure test results are displayed on screen
        +
        416 std::cout << std::endl; // ensure test results are displayed on screen
        417 // (flush stdout)
        418}
        -
        -Here is the call graph for this function:
        -
        -
        -
        - +
        @@ -569,23 +576,25 @@ Here is the call graph for this function: template<typename T > - + - +
        std::vector< float > operator* std::vector< float > operator* ( float const scalar,
        std::vector< T > const & A )std::vector< T > const & A )

        pre-multiplication of a vector by a scalar

        Returns
        resultant vector
        + +

        Definition at line 138 of file ordinary_least_squares_regressor.cpp.

        138 {
        139 // Number of rows in A
        -
        140 size_t N_A = A.size();
        +
        140 size_t N_A = A.size();
        141
        - +
        142 std::vector<float> result(N_A);
        143
        144 for (size_t row = 0; row < N_A; row++) {
        145 result[row] += A[row] * static_cast<float>(scalar);
        @@ -593,12 +602,7 @@ template<typename T >
        147
        148 return result;
        149}
        -
        -Here is the call graph for this function:
        -
        -
        -
        - + @@ -610,38 +614,40 @@ Here is the call graph for this function: template<typename T > - + - + - +
        std::vector< std::vector< T > > operator* std::vector< std::vector< T > > operator* (std::vector< std::vector< T > > const & A, std::vector< std::vector< T > > const & A,
        std::vector< std::vector< T > > const & B )std::vector< std::vector< T > > const & B )

        Matrix multiplication such that if A is size (mxn) and B is of size (pxq) then the multiplication is defined only when n = p and the resultant matrix is of size (mxq)

        Returns
        resultant matrix
        + +

        Definition at line 78 of file ordinary_least_squares_regressor.cpp.

        79 {
        80 // Number of rows in A
        -
        81 size_t N_A = A.size();
        +
        81 size_t N_A = A.size();
        82 // Number of columns in B
        -
        83 size_t N_B = B[0].size();
        +
        83 size_t N_B = B[0].size();
        84
        - +
        85 std::vector<std::vector<T>> result(N_A);
        86
        -
        87 if (A[0].size() != B.size()) {
        -
        88 std::cerr << "Number of columns in A != Number of rows in B ("
        -
        89 << A[0].size() << ", " << B.size() << ")" << std::endl;
        +
        87 if (A[0].size() != B.size()) {
        +
        88 std::cerr << "Number of columns in A != Number of rows in B ("
        +
        89 << A[0].size() << ", " << B.size() << ")" << std::endl;
        90 return result;
        91 }
        92
        93 for (size_t row = 0; row < N_A; row++) {
        -
        94 std::vector<T> v(N_B);
        +
        94 std::vector<T> v(N_B);
        95 for (size_t col = 0; col < N_B; col++) {
        96 v[col] = static_cast<T>(0);
        -
        97 for (size_t j = 0; j < B.size(); j++) {
        +
        97 for (size_t j = 0; j < B.size(); j++) {
        98 v[col] += A[row][j] * B[j][col];
        99 }
        100 }
        @@ -650,12 +656,7 @@ template<typename T >
        103
        104 return result;
        105}
        -
        -Here is the call graph for this function:
        -
        -
        -
        - + @@ -667,43 +668,40 @@ Here is the call graph for this function: template<typename T > - + - + - +
        std::vector< T > operator* std::vector< T > operator* (std::vector< std::vector< T > > const & A, std::vector< std::vector< T > > const & A,
        std::vector< T > const & B )std::vector< T > const & B )

        multiplication of a matrix with a column vector

        Returns
        resultant vector
        + +

        Definition at line 112 of file ordinary_least_squares_regressor.cpp.

        113 {
        114 // Number of rows in A
        -
        115 size_t N_A = A.size();
        +
        115 size_t N_A = A.size();
        116
        - +
        117 std::vector<T> result(N_A);
        118
        -
        119 if (A[0].size() != B.size()) {
        -
        120 std::cerr << "Number of columns in A != Number of rows in B ("
        -
        121 << A[0].size() << ", " << B.size() << ")" << std::endl;
        +
        119 if (A[0].size() != B.size()) {
        +
        120 std::cerr << "Number of columns in A != Number of rows in B ("
        +
        121 << A[0].size() << ", " << B.size() << ")" << std::endl;
        122 return result;
        123 }
        124
        125 for (size_t row = 0; row < N_A; row++) {
        126 result[row] = static_cast<T>(0);
        -
        127 for (size_t j = 0; j < B.size(); j++) result[row] += A[row][j] * B[j];
        +
        127 for (size_t j = 0; j < B.size(); j++) result[row] += A[row][j] * B[j];
        128 }
        129
        130 return result;
        131}
        -
        -Here is the call graph for this function:
        -
        -
        -
        - +
        @@ -715,9 +713,9 @@ Here is the call graph for this function: template<typename T > - + - + @@ -727,11 +725,13 @@ template<typename T >
        std::vector< float > operator* std::vector< float > operator* (std::vector< T > const & A, std::vector< T > const & A,

        post-multiplication of a vector by a scalar

        Returns
        resultant vector
        + +

        Definition at line 156 of file ordinary_least_squares_regressor.cpp.

        156 {
        157 // Number of rows in A
        -
        158 size_t N_A = A.size();
        +
        158 size_t N_A = A.size();
        159
        - +
        160 std::vector<float> result(N_A);
        161
        162 for (size_t row = 0; row < N_A; row++) {
        163 result[row] = A[row] * static_cast<float>(scalar);
        @@ -739,12 +739,7 @@ template<typename T >
        165
        166 return result;
        167}
        -
        -Here is the call graph for this function:
        -
        -
        -
        - + @@ -756,26 +751,28 @@ Here is the call graph for this function: template<typename T > - + - + - +
        std::vector< T > operator+ std::vector< T > operator+ (std::vector< T > const & A, std::vector< T > const & A,
        std::vector< T > const & B )std::vector< T > const & B )

        addition of two vectors of identical lengths

        Returns
        resultant vector
        + +

        Definition at line 204 of file ordinary_least_squares_regressor.cpp.

        204 {
        205 // Number of rows in A
        -
        206 size_t N = A.size();
        +
        206 size_t N = A.size();
        207
        - +
        208 std::vector<T> result(N);
        209
        -
        210 if (B.size() != N) {
        -
        211 std::cerr << "Vector dimensions shouldbe identical!" << std::endl;
        +
        210 if (B.size() != N) {
        +
        211 std::cerr << "Vector dimensions shouldbe identical!" << std::endl;
        212 return A;
        213 }
        214
        @@ -783,12 +780,7 @@ template<typename T >
        216
        217 return result;
        218}
        -
        -Here is the call graph for this function:
        -
        -
        -
        - + @@ -800,26 +792,28 @@ Here is the call graph for this function: template<typename T > - + - + - +
        std::vector< T > operator- std::vector< T > operator- (std::vector< T > const & A, std::vector< T > const & A,
        std::vector< T > const & B )std::vector< T > const & B )

        subtraction of two vectors of identical lengths

        Returns
        resultant vector
        + +

        Definition at line 183 of file ordinary_least_squares_regressor.cpp.

        183 {
        184 // Number of rows in A
        -
        185 size_t N = A.size();
        +
        185 size_t N = A.size();
        186
        - +
        187 std::vector<T> result(N);
        188
        -
        189 if (B.size() != N) {
        -
        190 std::cerr << "Vector dimensions shouldbe identical!" << std::endl;
        +
        189 if (B.size() != N) {
        +
        190 std::cerr << "Vector dimensions shouldbe identical!" << std::endl;
        191 return A;
        192 }
        193
        @@ -827,12 +821,7 @@ template<typename T >
        195
        196 return result;
        197}
        -
        -Here is the call graph for this function:
        -
        -
        -
        - + @@ -844,9 +833,9 @@ Here is the call graph for this function: template<typename T > - + - + @@ -856,6 +845,8 @@ template<typename T >
        std::vector< float > operator/ std::vector< float > operator/ (std::vector< T > const & A, std::vector< T > const & A,

        division of a vector by a scalar

        Returns
        resultant vector
        + +

        Definition at line 174 of file ordinary_least_squares_regressor.cpp.

        174 {
        175 return (1.f / scalar) * A;
        176}
        @@ -871,41 +862,35 @@ template<typename T >
        template<typename T >
        - + - + - +
        std::ostream & operator<< std::ostream & operator<< (std::ostream & out, std::ostream & out,
        std::vector< std::vector< T > > const & v )std::vector< std::vector< T > > const & v )

        operator to print a matrix

        + +

        Definition at line 22 of file ordinary_least_squares_regressor.cpp.

        23 {
        24 const int width = 10;
        25 const char separator = ' ';
        26
        -
        27 for (size_t row = 0; row < v.size(); row++) {
        -
        28 for (size_t col = 0; col < v[row].size(); col++) {
        -
        29 out << std::left << std::setw(width) << std::setfill(separator)
        +
        27 for (size_t row = 0; row < v.size(); row++) {
        +
        28 for (size_t col = 0; col < v[row].size(); col++) {
        +
        29 out << std::left << std::setw(width) << std::setfill(separator)
        30 << v[row][col];
        31 }
        -
        32 out << std::endl;
        +
        32 out << std::endl;
        33 }
        34
        35 return out;
        36}
        -
        T left(T... args)
        -
        T setfill(T... args)
        -
        T setw(T... args)
        -
        -Here is the call graph for this function:
        -
        -
        -
        - +
        @@ -917,35 +902,32 @@ Here is the call graph for this function: template<typename T > - + - + - +
        std::ostream & operator<< std::ostream & operator<< (std::ostream & out, std::ostream & out,
        std::vector< T > const & v )std::vector< T > const & v )

        operator to print a vector

        + +

        Definition at line 42 of file ordinary_least_squares_regressor.cpp.

        42 {
        43 const int width = 15;
        44 const char separator = ' ';
        45
        -
        46 for (size_t row = 0; row < v.size(); row++) {
        -
        47 out << std::left << std::setw(width) << std::setfill(separator)
        +
        46 for (size_t row = 0; row < v.size(); row++) {
        +
        47 out << std::left << std::setw(width) << std::setfill(separator)
        48 << v[row];
        49 }
        50
        51 return out;
        52}
        -
        -Here is the call graph for this function:
        -
        -
        -
        - +
        @@ -957,14 +939,14 @@ Here is the call graph for this function: template<typename T > - + - + - +
        std::vector< float > predict_OLS_regressor std::vector< float > predict_OLS_regressor (std::vector< std::vector< T > > const & X, std::vector< std::vector< T > > const & X,
        std::vector< float > const & beta )std::vector< float > const & beta )
        @@ -979,12 +961,14 @@ template<typename T >
        Returns
        vector with regression values for each sample
        + +

        Definition at line 352 of file ordinary_least_squares_regressor.cpp.

        354 {
        - +
        355 std::vector<float> result(X.size());
        356
        -
        357 for (size_t rows = 0; rows < X.size(); rows++) {
        +
        357 for (size_t rows = 0; rows < X.size(); rows++) {
        358 // -> start with constant term
        -
        359 result[rows] = beta[X[0].size()];
        +
        359 result[rows] = beta[X[0].size()];
        360 for (size_t cols = 0; cols < X[0].size(); cols++) {
        361 result[rows] += beta[cols] * X[rows][cols];
        362 }
        diff --git a/dc/d38/ordinary__least__squares__regressor_8cpp_a01e6c7bf2b09272578b9c5819ce0f36f_cgraph.map b/dc/d38/ordinary__least__squares__regressor_8cpp_a01e6c7bf2b09272578b9c5819ce0f36f_cgraph.map deleted file mode 100644 index 44da26679..000000000 --- a/dc/d38/ordinary__least__squares__regressor_8cpp_a01e6c7bf2b09272578b9c5819ce0f36f_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/dc/d38/ordinary__least__squares__regressor_8cpp_a01e6c7bf2b09272578b9c5819ce0f36f_cgraph.md5 b/dc/d38/ordinary__least__squares__regressor_8cpp_a01e6c7bf2b09272578b9c5819ce0f36f_cgraph.md5 deleted file mode 100644 index c9109bc4d..000000000 --- a/dc/d38/ordinary__least__squares__regressor_8cpp_a01e6c7bf2b09272578b9c5819ce0f36f_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -78c374734de8da60ccff84ff93b6bebe \ No newline at end of file diff --git a/dc/d38/ordinary__least__squares__regressor_8cpp_a01e6c7bf2b09272578b9c5819ce0f36f_cgraph.svg b/dc/d38/ordinary__least__squares__regressor_8cpp_a01e6c7bf2b09272578b9c5819ce0f36f_cgraph.svg deleted file mode 100644 index 86c9b514e..000000000 --- a/dc/d38/ordinary__least__squares__regressor_8cpp_a01e6c7bf2b09272578b9c5819ce0f36f_cgraph.svg +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - -operator+ - - -Node1 - - -operator+ - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::vector::size - - - - - -Node1->Node3 - - - - - - - - - - - - - diff --git a/dc/d38/ordinary__least__squares__regressor_8cpp_a01e6c7bf2b09272578b9c5819ce0f36f_cgraph_org.svg b/dc/d38/ordinary__least__squares__regressor_8cpp_a01e6c7bf2b09272578b9c5819ce0f36f_cgraph_org.svg deleted file mode 100644 index bec6e9b84..000000000 --- a/dc/d38/ordinary__least__squares__regressor_8cpp_a01e6c7bf2b09272578b9c5819ce0f36f_cgraph_org.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - -operator+ - - -Node1 - - -operator+ - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::vector::size - - - - - -Node1->Node3 - - - - - - - - diff --git a/dc/d38/ordinary__least__squares__regressor_8cpp_a207b3a99fd5974d3117e0b0ac0aad234_cgraph.map b/dc/d38/ordinary__least__squares__regressor_8cpp_a207b3a99fd5974d3117e0b0ac0aad234_cgraph.map deleted file mode 100644 index 4d91e4150..000000000 --- a/dc/d38/ordinary__least__squares__regressor_8cpp_a207b3a99fd5974d3117e0b0ac0aad234_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/dc/d38/ordinary__least__squares__regressor_8cpp_a207b3a99fd5974d3117e0b0ac0aad234_cgraph.md5 b/dc/d38/ordinary__least__squares__regressor_8cpp_a207b3a99fd5974d3117e0b0ac0aad234_cgraph.md5 deleted file mode 100644 index 2241f725c..000000000 --- a/dc/d38/ordinary__least__squares__regressor_8cpp_a207b3a99fd5974d3117e0b0ac0aad234_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -03ad54c8850908bd0b0e6375326db5cd \ No newline at end of file diff --git a/dc/d38/ordinary__least__squares__regressor_8cpp_a207b3a99fd5974d3117e0b0ac0aad234_cgraph.svg b/dc/d38/ordinary__least__squares__regressor_8cpp_a207b3a99fd5974d3117e0b0ac0aad234_cgraph.svg deleted file mode 100644 index 659092d03..000000000 --- a/dc/d38/ordinary__least__squares__regressor_8cpp_a207b3a99fd5974d3117e0b0ac0aad234_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -operator* - - -Node1 - - -operator* - - - - - -Node2 - - -std::vector::size - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/dc/d38/ordinary__least__squares__regressor_8cpp_a207b3a99fd5974d3117e0b0ac0aad234_cgraph_org.svg b/dc/d38/ordinary__least__squares__regressor_8cpp_a207b3a99fd5974d3117e0b0ac0aad234_cgraph_org.svg deleted file mode 100644 index dac3b9b1a..000000000 --- a/dc/d38/ordinary__least__squares__regressor_8cpp_a207b3a99fd5974d3117e0b0ac0aad234_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -operator* - - -Node1 - - -operator* - - - - - -Node2 - - -std::vector::size - - - - - -Node1->Node2 - - - - - - - - diff --git a/dc/d38/ordinary__least__squares__regressor_8cpp_a42535e20e97d85aa61271e0894cc0359_cgraph.map b/dc/d38/ordinary__least__squares__regressor_8cpp_a42535e20e97d85aa61271e0894cc0359_cgraph.map deleted file mode 100644 index 4d91e4150..000000000 --- a/dc/d38/ordinary__least__squares__regressor_8cpp_a42535e20e97d85aa61271e0894cc0359_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/dc/d38/ordinary__least__squares__regressor_8cpp_a42535e20e97d85aa61271e0894cc0359_cgraph.md5 b/dc/d38/ordinary__least__squares__regressor_8cpp_a42535e20e97d85aa61271e0894cc0359_cgraph.md5 deleted file mode 100644 index 2241f725c..000000000 --- a/dc/d38/ordinary__least__squares__regressor_8cpp_a42535e20e97d85aa61271e0894cc0359_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -03ad54c8850908bd0b0e6375326db5cd \ No newline at end of file diff --git a/dc/d38/ordinary__least__squares__regressor_8cpp_a42535e20e97d85aa61271e0894cc0359_cgraph.svg b/dc/d38/ordinary__least__squares__regressor_8cpp_a42535e20e97d85aa61271e0894cc0359_cgraph.svg deleted file mode 100644 index 659092d03..000000000 --- a/dc/d38/ordinary__least__squares__regressor_8cpp_a42535e20e97d85aa61271e0894cc0359_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -operator* - - -Node1 - - -operator* - - - - - -Node2 - - -std::vector::size - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/dc/d38/ordinary__least__squares__regressor_8cpp_a42535e20e97d85aa61271e0894cc0359_cgraph_org.svg b/dc/d38/ordinary__least__squares__regressor_8cpp_a42535e20e97d85aa61271e0894cc0359_cgraph_org.svg deleted file mode 100644 index dac3b9b1a..000000000 --- a/dc/d38/ordinary__least__squares__regressor_8cpp_a42535e20e97d85aa61271e0894cc0359_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -operator* - - -Node1 - - -operator* - - - - - -Node2 - - -std::vector::size - - - - - -Node1->Node2 - - - - - - - - diff --git a/dc/d38/ordinary__least__squares__regressor_8cpp_a4261f3c3c3dfdb86f3004eb8aaffea8d_cgraph.map b/dc/d38/ordinary__least__squares__regressor_8cpp_a4261f3c3c3dfdb86f3004eb8aaffea8d_cgraph.map deleted file mode 100644 index c9bb91f03..000000000 --- a/dc/d38/ordinary__least__squares__regressor_8cpp_a4261f3c3c3dfdb86f3004eb8aaffea8d_cgraph.map +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - diff --git a/dc/d38/ordinary__least__squares__regressor_8cpp_a4261f3c3c3dfdb86f3004eb8aaffea8d_cgraph.md5 b/dc/d38/ordinary__least__squares__regressor_8cpp_a4261f3c3c3dfdb86f3004eb8aaffea8d_cgraph.md5 deleted file mode 100644 index 40a01e38a..000000000 --- a/dc/d38/ordinary__least__squares__regressor_8cpp_a4261f3c3c3dfdb86f3004eb8aaffea8d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -753ed9bf9459c68b9469efd72207d875 \ No newline at end of file diff --git a/dc/d38/ordinary__least__squares__regressor_8cpp_a4261f3c3c3dfdb86f3004eb8aaffea8d_cgraph.svg b/dc/d38/ordinary__least__squares__regressor_8cpp_a4261f3c3c3dfdb86f3004eb8aaffea8d_cgraph.svg deleted file mode 100644 index 36548fe2a..000000000 --- a/dc/d38/ordinary__least__squares__regressor_8cpp_a4261f3c3c3dfdb86f3004eb8aaffea8d_cgraph.svg +++ /dev/null @@ -1,209 +0,0 @@ - - - - - - - - - - - - -ols_test - - -Node1 - - -ols_test - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -fit_OLS_regressor - - - - - -Node1->Node3 - - - - - - - - -Node8 - - -std::vector::size - - - - - -Node1->Node8 - - - - - - - - -Node9 - - -predict_OLS_regressor - - - - - -Node1->Node9 - - - - - - - - -Node4 - - -get_inverse - - - - - -Node3->Node4 - - - - - - - - -Node6 - - -get_transpose - - - - - -Node3->Node6 - - - - - - - - -Node7 - - -std::vector::push_back - - - - - -Node3->Node7 - - - - - - - - -Node3->Node8 - - - - - - - - -Node4->Node2 - - - - - - - - -Node5 - - -is_square - - - - - -Node4->Node5 - - - - - - - - - - - - - diff --git a/dc/d38/ordinary__least__squares__regressor_8cpp_a4261f3c3c3dfdb86f3004eb8aaffea8d_cgraph_org.svg b/dc/d38/ordinary__least__squares__regressor_8cpp_a4261f3c3c3dfdb86f3004eb8aaffea8d_cgraph_org.svg deleted file mode 100644 index d28e29641..000000000 --- a/dc/d38/ordinary__least__squares__regressor_8cpp_a4261f3c3c3dfdb86f3004eb8aaffea8d_cgraph_org.svg +++ /dev/null @@ -1,183 +0,0 @@ - - - - - - -ols_test - - -Node1 - - -ols_test - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -fit_OLS_regressor - - - - - -Node1->Node3 - - - - - - - - -Node8 - - -std::vector::size - - - - - -Node1->Node8 - - - - - - - - -Node9 - - -predict_OLS_regressor - - - - - -Node1->Node9 - - - - - - - - -Node4 - - -get_inverse - - - - - -Node3->Node4 - - - - - - - - -Node6 - - -get_transpose - - - - - -Node3->Node6 - - - - - - - - -Node7 - - -std::vector::push_back - - - - - -Node3->Node7 - - - - - - - - -Node3->Node8 - - - - - - - - -Node4->Node2 - - - - - - - - -Node5 - - -is_square - - - - - -Node4->Node5 - - - - - - - - diff --git a/dc/d38/ordinary__least__squares__regressor_8cpp_a4a6a560dbdd0177633783b72db37dc19_cgraph.map b/dc/d38/ordinary__least__squares__regressor_8cpp_a4a6a560dbdd0177633783b72db37dc19_cgraph.map deleted file mode 100644 index 6a4774ea0..000000000 --- a/dc/d38/ordinary__least__squares__regressor_8cpp_a4a6a560dbdd0177633783b72db37dc19_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/dc/d38/ordinary__least__squares__regressor_8cpp_a4a6a560dbdd0177633783b72db37dc19_cgraph.md5 b/dc/d38/ordinary__least__squares__regressor_8cpp_a4a6a560dbdd0177633783b72db37dc19_cgraph.md5 deleted file mode 100644 index 084673190..000000000 --- a/dc/d38/ordinary__least__squares__regressor_8cpp_a4a6a560dbdd0177633783b72db37dc19_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -34451b471e4528e6e03268102c5aed38 \ No newline at end of file diff --git a/dc/d38/ordinary__least__squares__regressor_8cpp_a4a6a560dbdd0177633783b72db37dc19_cgraph.svg b/dc/d38/ordinary__least__squares__regressor_8cpp_a4a6a560dbdd0177633783b72db37dc19_cgraph.svg deleted file mode 100644 index 904681355..000000000 --- a/dc/d38/ordinary__least__squares__regressor_8cpp_a4a6a560dbdd0177633783b72db37dc19_cgraph.svg +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - -operator- - - -Node1 - - -operator- - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::vector::size - - - - - -Node1->Node3 - - - - - - - - - - - - - diff --git a/dc/d38/ordinary__least__squares__regressor_8cpp_a4a6a560dbdd0177633783b72db37dc19_cgraph_org.svg b/dc/d38/ordinary__least__squares__regressor_8cpp_a4a6a560dbdd0177633783b72db37dc19_cgraph_org.svg deleted file mode 100644 index fd1604235..000000000 --- a/dc/d38/ordinary__least__squares__regressor_8cpp_a4a6a560dbdd0177633783b72db37dc19_cgraph_org.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - -operator- - - -Node1 - - -operator- - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::vector::size - - - - - -Node1->Node3 - - - - - - - - diff --git a/dc/d38/ordinary__least__squares__regressor_8cpp_a7075a0fccad9b2d79be0275bfe8948d4_cgraph.map b/dc/d38/ordinary__least__squares__regressor_8cpp_a7075a0fccad9b2d79be0275bfe8948d4_cgraph.map deleted file mode 100644 index 0fd4f56df..000000000 --- a/dc/d38/ordinary__least__squares__regressor_8cpp_a7075a0fccad9b2d79be0275bfe8948d4_cgraph.map +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/dc/d38/ordinary__least__squares__regressor_8cpp_a7075a0fccad9b2d79be0275bfe8948d4_cgraph.md5 b/dc/d38/ordinary__least__squares__regressor_8cpp_a7075a0fccad9b2d79be0275bfe8948d4_cgraph.md5 deleted file mode 100644 index f8675eaba..000000000 --- a/dc/d38/ordinary__least__squares__regressor_8cpp_a7075a0fccad9b2d79be0275bfe8948d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -eac8ef03d8b3ab0a2780b787ebecf913 \ No newline at end of file diff --git a/dc/d38/ordinary__least__squares__regressor_8cpp_a7075a0fccad9b2d79be0275bfe8948d4_cgraph.svg b/dc/d38/ordinary__least__squares__regressor_8cpp_a7075a0fccad9b2d79be0275bfe8948d4_cgraph.svg deleted file mode 100644 index ca175d9a5..000000000 --- a/dc/d38/ordinary__least__squares__regressor_8cpp_a7075a0fccad9b2d79be0275bfe8948d4_cgraph.svg +++ /dev/null @@ -1,119 +0,0 @@ - - - - - - - - - - - - -operator<< - - -Node1 - - -operator<< - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::left - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::setfill - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::setw - - - - - -Node1->Node5 - - - - - - - - - - - - - diff --git a/dc/d38/ordinary__least__squares__regressor_8cpp_a7075a0fccad9b2d79be0275bfe8948d4_cgraph_org.svg b/dc/d38/ordinary__least__squares__regressor_8cpp_a7075a0fccad9b2d79be0275bfe8948d4_cgraph_org.svg deleted file mode 100644 index 2c2e32be6..000000000 --- a/dc/d38/ordinary__least__squares__regressor_8cpp_a7075a0fccad9b2d79be0275bfe8948d4_cgraph_org.svg +++ /dev/null @@ -1,93 +0,0 @@ - - - - - - -operator<< - - -Node1 - - -operator<< - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::left - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::setfill - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::setw - - - - - -Node1->Node5 - - - - - - - - diff --git a/dc/d38/ordinary__least__squares__regressor_8cpp_a865e8d26a01962cc93aca66e71346f37_cgraph.map b/dc/d38/ordinary__least__squares__regressor_8cpp_a865e8d26a01962cc93aca66e71346f37_cgraph.map deleted file mode 100644 index 51f741983..000000000 --- a/dc/d38/ordinary__least__squares__regressor_8cpp_a865e8d26a01962cc93aca66e71346f37_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/dc/d38/ordinary__least__squares__regressor_8cpp_a865e8d26a01962cc93aca66e71346f37_cgraph.md5 b/dc/d38/ordinary__least__squares__regressor_8cpp_a865e8d26a01962cc93aca66e71346f37_cgraph.md5 deleted file mode 100644 index 9054a0617..000000000 --- a/dc/d38/ordinary__least__squares__regressor_8cpp_a865e8d26a01962cc93aca66e71346f37_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -4202127763e28c663e8b04654b218f50 \ No newline at end of file diff --git a/dc/d38/ordinary__least__squares__regressor_8cpp_a865e8d26a01962cc93aca66e71346f37_cgraph.svg b/dc/d38/ordinary__least__squares__regressor_8cpp_a865e8d26a01962cc93aca66e71346f37_cgraph.svg deleted file mode 100644 index 127e778b1..000000000 --- a/dc/d38/ordinary__least__squares__regressor_8cpp_a865e8d26a01962cc93aca66e71346f37_cgraph.svg +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - -operator* - - -Node1 - - -operator* - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::vector::size - - - - - -Node1->Node3 - - - - - - - - - - - - - diff --git a/dc/d38/ordinary__least__squares__regressor_8cpp_a865e8d26a01962cc93aca66e71346f37_cgraph_org.svg b/dc/d38/ordinary__least__squares__regressor_8cpp_a865e8d26a01962cc93aca66e71346f37_cgraph_org.svg deleted file mode 100644 index 785e82c37..000000000 --- a/dc/d38/ordinary__least__squares__regressor_8cpp_a865e8d26a01962cc93aca66e71346f37_cgraph_org.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - -operator* - - -Node1 - - -operator* - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::vector::size - - - - - -Node1->Node3 - - - - - - - - diff --git a/dc/d38/ordinary__least__squares__regressor_8cpp_aaddc683af581b51351e1023d2a01ef3b_cgraph.map b/dc/d38/ordinary__least__squares__regressor_8cpp_aaddc683af581b51351e1023d2a01ef3b_cgraph.map deleted file mode 100644 index cc732e1f2..000000000 --- a/dc/d38/ordinary__least__squares__regressor_8cpp_aaddc683af581b51351e1023d2a01ef3b_cgraph.map +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/dc/d38/ordinary__least__squares__regressor_8cpp_aaddc683af581b51351e1023d2a01ef3b_cgraph.md5 b/dc/d38/ordinary__least__squares__regressor_8cpp_aaddc683af581b51351e1023d2a01ef3b_cgraph.md5 deleted file mode 100644 index 5872c0cca..000000000 --- a/dc/d38/ordinary__least__squares__regressor_8cpp_aaddc683af581b51351e1023d2a01ef3b_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -42af8713398975929fd19aba79c9cc7f \ No newline at end of file diff --git a/dc/d38/ordinary__least__squares__regressor_8cpp_aaddc683af581b51351e1023d2a01ef3b_cgraph.svg b/dc/d38/ordinary__least__squares__regressor_8cpp_aaddc683af581b51351e1023d2a01ef3b_cgraph.svg deleted file mode 100644 index fb42de1ea..000000000 --- a/dc/d38/ordinary__least__squares__regressor_8cpp_aaddc683af581b51351e1023d2a01ef3b_cgraph.svg +++ /dev/null @@ -1,155 +0,0 @@ - - - - - - - - - - - - -fit_OLS_regressor - - -Node1 - - -fit_OLS_regressor - - - - - -Node2 - - -get_inverse - - - - - -Node1->Node2 - - - - - - - - -Node5 - - -get_transpose - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -std::vector::push_back - - - - - -Node1->Node6 - - - - - - - - -Node7 - - -std::vector::size - - - - - -Node1->Node7 - - - - - - - - -Node3 - - -std::endl - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -is_square - - - - - -Node2->Node4 - - - - - - - - - - - - - diff --git a/dc/d38/ordinary__least__squares__regressor_8cpp_aaddc683af581b51351e1023d2a01ef3b_cgraph_org.svg b/dc/d38/ordinary__least__squares__regressor_8cpp_aaddc683af581b51351e1023d2a01ef3b_cgraph_org.svg deleted file mode 100644 index 1536beb18..000000000 --- a/dc/d38/ordinary__least__squares__regressor_8cpp_aaddc683af581b51351e1023d2a01ef3b_cgraph_org.svg +++ /dev/null @@ -1,129 +0,0 @@ - - - - - - -fit_OLS_regressor - - -Node1 - - -fit_OLS_regressor - - - - - -Node2 - - -get_inverse - - - - - -Node1->Node2 - - - - - - - - -Node5 - - -get_transpose - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -std::vector::push_back - - - - - -Node1->Node6 - - - - - - - - -Node7 - - -std::vector::size - - - - - -Node1->Node7 - - - - - - - - -Node3 - - -std::endl - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -is_square - - - - - -Node2->Node4 - - - - - - - - diff --git a/dc/d38/ordinary__least__squares__regressor_8cpp_ab1ad727903d7817c2758d25bcb52cbc8_cgraph.map b/dc/d38/ordinary__least__squares__regressor_8cpp_ab1ad727903d7817c2758d25bcb52cbc8_cgraph.map deleted file mode 100644 index b2bf54785..000000000 --- a/dc/d38/ordinary__least__squares__regressor_8cpp_ab1ad727903d7817c2758d25bcb52cbc8_cgraph.map +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/dc/d38/ordinary__least__squares__regressor_8cpp_ab1ad727903d7817c2758d25bcb52cbc8_cgraph.md5 b/dc/d38/ordinary__least__squares__regressor_8cpp_ab1ad727903d7817c2758d25bcb52cbc8_cgraph.md5 deleted file mode 100644 index 8dd7d0ae6..000000000 --- a/dc/d38/ordinary__least__squares__regressor_8cpp_ab1ad727903d7817c2758d25bcb52cbc8_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -bd440d320ba1184573c82b845d6b33d4 \ No newline at end of file diff --git a/dc/d38/ordinary__least__squares__regressor_8cpp_ab1ad727903d7817c2758d25bcb52cbc8_cgraph.svg b/dc/d38/ordinary__least__squares__regressor_8cpp_ab1ad727903d7817c2758d25bcb52cbc8_cgraph.svg deleted file mode 100644 index 17e334844..000000000 --- a/dc/d38/ordinary__least__squares__regressor_8cpp_ab1ad727903d7817c2758d25bcb52cbc8_cgraph.svg +++ /dev/null @@ -1,119 +0,0 @@ - - - - - - - - - - - - -operator<< - - -Node1 - - -operator<< - - - - - -Node2 - - -std::left - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::setfill - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::setw - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::vector::size - - - - - -Node1->Node5 - - - - - - - - - - - - - diff --git a/dc/d38/ordinary__least__squares__regressor_8cpp_ab1ad727903d7817c2758d25bcb52cbc8_cgraph_org.svg b/dc/d38/ordinary__least__squares__regressor_8cpp_ab1ad727903d7817c2758d25bcb52cbc8_cgraph_org.svg deleted file mode 100644 index e08035472..000000000 --- a/dc/d38/ordinary__least__squares__regressor_8cpp_ab1ad727903d7817c2758d25bcb52cbc8_cgraph_org.svg +++ /dev/null @@ -1,93 +0,0 @@ - - - - - - -operator<< - - -Node1 - - -operator<< - - - - - -Node2 - - -std::left - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::setfill - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::setw - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::vector::size - - - - - -Node1->Node5 - - - - - - - - diff --git a/dc/d38/ordinary__least__squares__regressor_8cpp_ae2edd40354a1ca7aeaee3d1e3589e713_cgraph.map b/dc/d38/ordinary__least__squares__regressor_8cpp_ae2edd40354a1ca7aeaee3d1e3589e713_cgraph.map deleted file mode 100644 index 51f741983..000000000 --- a/dc/d38/ordinary__least__squares__regressor_8cpp_ae2edd40354a1ca7aeaee3d1e3589e713_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/dc/d38/ordinary__least__squares__regressor_8cpp_ae2edd40354a1ca7aeaee3d1e3589e713_cgraph.md5 b/dc/d38/ordinary__least__squares__regressor_8cpp_ae2edd40354a1ca7aeaee3d1e3589e713_cgraph.md5 deleted file mode 100644 index 9054a0617..000000000 --- a/dc/d38/ordinary__least__squares__regressor_8cpp_ae2edd40354a1ca7aeaee3d1e3589e713_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -4202127763e28c663e8b04654b218f50 \ No newline at end of file diff --git a/dc/d38/ordinary__least__squares__regressor_8cpp_ae2edd40354a1ca7aeaee3d1e3589e713_cgraph.svg b/dc/d38/ordinary__least__squares__regressor_8cpp_ae2edd40354a1ca7aeaee3d1e3589e713_cgraph.svg deleted file mode 100644 index 127e778b1..000000000 --- a/dc/d38/ordinary__least__squares__regressor_8cpp_ae2edd40354a1ca7aeaee3d1e3589e713_cgraph.svg +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - -operator* - - -Node1 - - -operator* - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::vector::size - - - - - -Node1->Node3 - - - - - - - - - - - - - diff --git a/dc/d38/ordinary__least__squares__regressor_8cpp_ae2edd40354a1ca7aeaee3d1e3589e713_cgraph_org.svg b/dc/d38/ordinary__least__squares__regressor_8cpp_ae2edd40354a1ca7aeaee3d1e3589e713_cgraph_org.svg deleted file mode 100644 index 785e82c37..000000000 --- a/dc/d38/ordinary__least__squares__regressor_8cpp_ae2edd40354a1ca7aeaee3d1e3589e713_cgraph_org.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - -operator* - - -Node1 - - -operator* - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::vector::size - - - - - -Node1->Node3 - - - - - - - - diff --git a/dc/d38/ordinary__least__squares__regressor_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/dc/d38/ordinary__least__squares__regressor_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 5578525e4..000000000 --- a/dc/d38/ordinary__least__squares__regressor_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/dc/d38/ordinary__least__squares__regressor_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/dc/d38/ordinary__least__squares__regressor_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index 253e16dc4..000000000 --- a/dc/d38/ordinary__least__squares__regressor_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -bf05edd71443d2f905eaa04a0c16b406 \ No newline at end of file diff --git a/dc/d38/ordinary__least__squares__regressor_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/dc/d38/ordinary__least__squares__regressor_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 0d3c5d537..000000000 --- a/dc/d38/ordinary__least__squares__regressor_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,311 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -fit_OLS_regressor - - - - - -Node1->Node3 - - - - - - - - -Node9 - - -ols_test - - - - - -Node1->Node9 - - - - - - - - -Node10 - - -predict_OLS_regressor - - - - - -Node1->Node10 - - - - - - - - -Node4 - - -get_inverse - - - - - -Node3->Node4 - - - - - - - - -Node6 - - -get_transpose - - - - - -Node3->Node6 - - - - - - - - -Node7 - - -std::vector::push_back - - - - - -Node3->Node7 - - - - - - - - -Node8 - - -std::vector::size - - - - - -Node3->Node8 - - - - - - - - -Node4->Node2 - - - - - - - - -Node5 - - -is_square - - - - - -Node4->Node5 - - - - - - - - -Node9->Node2 - - - - - - - - -Node9->Node3 - - - - - - - - -Node9->Node8 - - - - - - - - -Node9->Node10 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/dc/d38/ordinary__least__squares__regressor_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/dc/d38/ordinary__least__squares__regressor_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 277c11a18..000000000 --- a/dc/d38/ordinary__least__squares__regressor_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,228 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -fit_OLS_regressor - - - - - -Node1->Node3 - - - - - - - - -Node9 - - -ols_test - - - - - -Node1->Node9 - - - - - - - - -Node10 - - -predict_OLS_regressor - - - - - -Node1->Node10 - - - - - - - - -Node4 - - -get_inverse - - - - - -Node3->Node4 - - - - - - - - -Node6 - - -get_transpose - - - - - -Node3->Node6 - - - - - - - - -Node7 - - -std::vector::push_back - - - - - -Node3->Node7 - - - - - - - - -Node8 - - -std::vector::size - - - - - -Node3->Node8 - - - - - - - - -Node4->Node2 - - - - - - - - -Node5 - - -is_square - - - - - -Node4->Node5 - - - - - - - - -Node9->Node2 - - - - - - - - -Node9->Node3 - - - - - - - - -Node9->Node8 - - - - - - - - -Node9->Node10 - - - - - - - - diff --git a/dc/d38/ordinary__least__squares__regressor_8cpp_af7243bdc6ae3c7169f01b85bb226e66a_cgraph.map b/dc/d38/ordinary__least__squares__regressor_8cpp_af7243bdc6ae3c7169f01b85bb226e66a_cgraph.map deleted file mode 100644 index 276b9e636..000000000 --- a/dc/d38/ordinary__least__squares__regressor_8cpp_af7243bdc6ae3c7169f01b85bb226e66a_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/dc/d38/ordinary__least__squares__regressor_8cpp_af7243bdc6ae3c7169f01b85bb226e66a_cgraph.md5 b/dc/d38/ordinary__least__squares__regressor_8cpp_af7243bdc6ae3c7169f01b85bb226e66a_cgraph.md5 deleted file mode 100644 index 1b69ad802..000000000 --- a/dc/d38/ordinary__least__squares__regressor_8cpp_af7243bdc6ae3c7169f01b85bb226e66a_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -b463b7a7b41c9b267f1e8bac800a7e3c \ No newline at end of file diff --git a/dc/d38/ordinary__least__squares__regressor_8cpp_af7243bdc6ae3c7169f01b85bb226e66a_cgraph.svg b/dc/d38/ordinary__least__squares__regressor_8cpp_af7243bdc6ae3c7169f01b85bb226e66a_cgraph.svg deleted file mode 100644 index 99268a940..000000000 --- a/dc/d38/ordinary__least__squares__regressor_8cpp_af7243bdc6ae3c7169f01b85bb226e66a_cgraph.svg +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - -get_inverse - - -Node1 - - -get_inverse - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -is_square - - - - - -Node1->Node3 - - - - - - - - - - - - - diff --git a/dc/d38/ordinary__least__squares__regressor_8cpp_af7243bdc6ae3c7169f01b85bb226e66a_cgraph_org.svg b/dc/d38/ordinary__least__squares__regressor_8cpp_af7243bdc6ae3c7169f01b85bb226e66a_cgraph_org.svg deleted file mode 100644 index 57e63d336..000000000 --- a/dc/d38/ordinary__least__squares__regressor_8cpp_af7243bdc6ae3c7169f01b85bb226e66a_cgraph_org.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - -get_inverse - - -Node1 - - -get_inverse - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -is_square - - - - - -Node1->Node3 - - - - - - - - diff --git a/dc/d38/ordinary__least__squares__regressor_8cpp_source.html b/dc/d38/ordinary__least__squares__regressor_8cpp_source.html new file mode 100644 index 000000000..844fc2f55 --- /dev/null +++ b/dc/d38/ordinary__least__squares__regressor_8cpp_source.html @@ -0,0 +1,577 @@ + + + + + + + + +TheAlgorithms/C++: machine_learning/ordinary_least_squares_regressor.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
        +
        + + + + + + + +
        +
        TheAlgorithms/C++ 1.0.0 +
        +
        All the algorithms implemented in C++
        +
        +
        + + + + + + + + +
        +
        + +
        +
        +
        + +
        + +
        +
        + + +
        +
        +
        +
        +
        +
        Loading...
        +
        Searching...
        +
        No Matches
        +
        +
        +
        +
        + +
        +
        ordinary_least_squares_regressor.cpp
        +
        +
        +Go to the documentation of this file.
        1
        +
        12#include <cassert>
        +
        13#include <cmath> // for std::abs
        +
        14#include <iomanip> // for print formatting
        +
        15#include <iostream>
        +
        16#include <vector>
        +
        17
        +
        21template <typename T>
        +
        +
        22std::ostream &operator<<(std::ostream &out,
        +
        23 std::vector<std::vector<T>> const &v) {
        +
        24 const int width = 10;
        +
        25 const char separator = ' ';
        +
        26
        +
        27 for (size_t row = 0; row < v.size(); row++) {
        +
        28 for (size_t col = 0; col < v[row].size(); col++) {
        +
        29 out << std::left << std::setw(width) << std::setfill(separator)
        +
        30 << v[row][col];
        +
        31 }
        +
        32 out << std::endl;
        +
        33 }
        +
        34
        +
        35 return out;
        +
        36}
        +
        +
        37
        +
        41template <typename T>
        +
        +
        42std::ostream &operator<<(std::ostream &out, std::vector<T> const &v) {
        +
        43 const int width = 15;
        +
        44 const char separator = ' ';
        +
        45
        +
        46 for (size_t row = 0; row < v.size(); row++) {
        +
        47 out << std::left << std::setw(width) << std::setfill(separator)
        +
        48 << v[row];
        +
        49 }
        +
        50
        +
        51 return out;
        +
        52}
        +
        +
        53
        +
        58template <typename T>
        +
        +
        59inline bool is_square(std::vector<std::vector<T>> const &A) {
        +
        60 // Assuming A is square matrix
        +
        61 size_t N = A.size();
        +
        62 for (size_t i = 0; i < N; i++) {
        +
        63 if (A[i].size() != N) {
        +
        64 return false;
        +
        65 }
        +
        66 }
        +
        67 return true;
        +
        68}
        +
        +
        69
        +
        77template <typename T>
        +
        +
        78std::vector<std::vector<T>> operator*(std::vector<std::vector<T>> const &A,
        +
        79 std::vector<std::vector<T>> const &B) {
        +
        80 // Number of rows in A
        +
        81 size_t N_A = A.size();
        +
        82 // Number of columns in B
        +
        83 size_t N_B = B[0].size();
        +
        84
        +
        85 std::vector<std::vector<T>> result(N_A);
        +
        86
        +
        87 if (A[0].size() != B.size()) {
        +
        88 std::cerr << "Number of columns in A != Number of rows in B ("
        +
        89 << A[0].size() << ", " << B.size() << ")" << std::endl;
        +
        90 return result;
        +
        91 }
        +
        92
        +
        93 for (size_t row = 0; row < N_A; row++) {
        +
        94 std::vector<T> v(N_B);
        +
        95 for (size_t col = 0; col < N_B; col++) {
        +
        96 v[col] = static_cast<T>(0);
        +
        97 for (size_t j = 0; j < B.size(); j++) {
        +
        98 v[col] += A[row][j] * B[j][col];
        +
        99 }
        +
        100 }
        +
        101 result[row] = v;
        +
        102 }
        +
        103
        +
        104 return result;
        +
        105}
        +
        +
        106
        +
        111template <typename T>
        +
        +
        112std::vector<T> operator*(std::vector<std::vector<T>> const &A,
        +
        113 std::vector<T> const &B) {
        +
        114 // Number of rows in A
        +
        115 size_t N_A = A.size();
        +
        116
        +
        117 std::vector<T> result(N_A);
        +
        118
        +
        119 if (A[0].size() != B.size()) {
        +
        120 std::cerr << "Number of columns in A != Number of rows in B ("
        +
        121 << A[0].size() << ", " << B.size() << ")" << std::endl;
        +
        122 return result;
        +
        123 }
        +
        124
        +
        125 for (size_t row = 0; row < N_A; row++) {
        +
        126 result[row] = static_cast<T>(0);
        +
        127 for (size_t j = 0; j < B.size(); j++) result[row] += A[row][j] * B[j];
        +
        128 }
        +
        129
        +
        130 return result;
        +
        131}
        +
        +
        132
        +
        137template <typename T>
        +
        +
        138std::vector<float> operator*(float const scalar, std::vector<T> const &A) {
        +
        139 // Number of rows in A
        +
        140 size_t N_A = A.size();
        +
        141
        +
        142 std::vector<float> result(N_A);
        +
        143
        +
        144 for (size_t row = 0; row < N_A; row++) {
        +
        145 result[row] += A[row] * static_cast<float>(scalar);
        +
        146 }
        +
        147
        +
        148 return result;
        +
        149}
        +
        +
        150
        +
        155template <typename T>
        +
        +
        156std::vector<float> operator*(std::vector<T> const &A, float const scalar) {
        +
        157 // Number of rows in A
        +
        158 size_t N_A = A.size();
        +
        159
        +
        160 std::vector<float> result(N_A);
        +
        161
        +
        162 for (size_t row = 0; row < N_A; row++) {
        +
        163 result[row] = A[row] * static_cast<float>(scalar);
        +
        164 }
        +
        165
        +
        166 return result;
        +
        167}
        +
        +
        168
        +
        173template <typename T>
        +
        +
        174std::vector<float> operator/(std::vector<T> const &A, float const scalar) {
        +
        175 return (1.f / scalar) * A;
        +
        176}
        +
        +
        177
        +
        182template <typename T>
        +
        +
        183std::vector<T> operator-(std::vector<T> const &A, std::vector<T> const &B) {
        +
        184 // Number of rows in A
        +
        185 size_t N = A.size();
        +
        186
        +
        187 std::vector<T> result(N);
        +
        188
        +
        189 if (B.size() != N) {
        +
        190 std::cerr << "Vector dimensions shouldbe identical!" << std::endl;
        +
        191 return A;
        +
        192 }
        +
        193
        +
        194 for (size_t row = 0; row < N; row++) result[row] = A[row] - B[row];
        +
        195
        +
        196 return result;
        +
        197}
        +
        +
        198
        +
        203template <typename T>
        +
        +
        204std::vector<T> operator+(std::vector<T> const &A, std::vector<T> const &B) {
        +
        205 // Number of rows in A
        +
        206 size_t N = A.size();
        +
        207
        +
        208 std::vector<T> result(N);
        +
        209
        +
        210 if (B.size() != N) {
        +
        211 std::cerr << "Vector dimensions shouldbe identical!" << std::endl;
        +
        212 return A;
        +
        213 }
        +
        214
        +
        215 for (size_t row = 0; row < N; row++) result[row] = A[row] + B[row];
        +
        216
        +
        217 return result;
        +
        218}
        +
        +
        219
        +
        225template <typename T>
        +
        +
        226std::vector<std::vector<float>> get_inverse(
        +
        227 std::vector<std::vector<T>> const &A) {
        +
        228 // Assuming A is square matrix
        +
        229 size_t N = A.size();
        +
        230
        +
        231 std::vector<std::vector<float>> inverse(N);
        +
        232 for (size_t row = 0; row < N; row++) {
        +
        233 // preallocatae a resultant identity matrix
        +
        234 inverse[row] = std::vector<float>(N);
        +
        235 for (size_t col = 0; col < N; col++) {
        +
        236 inverse[row][col] = (row == col) ? 1.f : 0.f;
        +
        237 }
        +
        238 }
        +
        239
        +
        240 if (!is_square(A)) {
        +
        241 std::cerr << "A must be a square matrix!" << std::endl;
        +
        242 return inverse;
        +
        243 }
        +
        244
        +
        245 // preallocatae a temporary matrix identical to A
        +
        246 std::vector<std::vector<float>> temp(N);
        +
        247 for (size_t row = 0; row < N; row++) {
        +
        248 std::vector<float> v(N);
        +
        249 for (size_t col = 0; col < N; col++) {
        +
        250 v[col] = static_cast<float>(A[row][col]);
        +
        251 }
        +
        252 temp[row] = v;
        +
        253 }
        +
        254
        +
        255 // start transformations
        +
        256 for (size_t row = 0; row < N; row++) {
        +
        257 for (size_t row2 = row; row2 < N && temp[row][row] == 0; row2++) {
        +
        258 // this to ensure diagonal elements are not 0
        +
        259 temp[row] = temp[row] + temp[row2];
        +
        260 inverse[row] = inverse[row] + inverse[row2];
        +
        261 }
        +
        262
        +
        263 for (size_t col2 = row; col2 < N && temp[row][row] == 0; col2++) {
        +
        264 // this to further ensure diagonal elements are not 0
        +
        265 for (size_t row2 = 0; row2 < N; row2++) {
        +
        266 temp[row2][row] = temp[row2][row] + temp[row2][col2];
        +
        267 inverse[row2][row] = inverse[row2][row] + inverse[row2][col2];
        +
        268 }
        +
        269 }
        +
        270
        +
        271 if (temp[row][row] == 0) {
        +
        272 // Probably a low-rank matrix and hence singular
        +
        273 std::cerr << "Low-rank matrix, no inverse!" << std::endl;
        +
        274 return inverse;
        +
        275 }
        +
        276
        +
        277 // set diagonal to 1
        +
        278 auto divisor = static_cast<float>(temp[row][row]);
        +
        279 temp[row] = temp[row] / divisor;
        +
        280 inverse[row] = inverse[row] / divisor;
        +
        281 // Row transformations
        +
        282 for (size_t row2 = 0; row2 < N; row2++) {
        +
        283 if (row2 == row) {
        +
        284 continue;
        +
        285 }
        +
        286 float factor = temp[row2][row];
        +
        287 temp[row2] = temp[row2] - factor * temp[row];
        +
        288 inverse[row2] = inverse[row2] - factor * inverse[row];
        +
        289 }
        +
        290 }
        +
        291
        +
        292 return inverse;
        +
        293}
        +
        +
        294
        +
        299template <typename T>
        +
        +
        300std::vector<std::vector<T>> get_transpose(
        +
        301 std::vector<std::vector<T>> const &A) {
        +
        302 std::vector<std::vector<T>> result(A[0].size());
        +
        303
        +
        304 for (size_t row = 0; row < A[0].size(); row++) {
        +
        305 std::vector<T> v(A.size());
        +
        306 for (size_t col = 0; col < A.size(); col++) v[col] = A[col][row];
        +
        307
        +
        308 result[row] = v;
        +
        309 }
        +
        310 return result;
        +
        311}
        +
        +
        312
        +
        320template <typename T>
        +
        +
        321std::vector<float> fit_OLS_regressor(std::vector<std::vector<T>> const &X,
        +
        322 std::vector<T> const &Y) {
        +
        323 // NxF
        +
        324 std::vector<std::vector<T>> X2 = X;
        +
        325 for (size_t i = 0; i < X2.size(); i++) {
        +
        326 // add Y-intercept -> Nx(F+1)
        +
        327 X2[i].push_back(1);
        +
        328 }
        +
        329 // (F+1)xN
        +
        330 std::vector<std::vector<T>> Xt = get_transpose(X2);
        +
        331 // (F+1)x(F+1)
        +
        332 std::vector<std::vector<T>> tmp = get_inverse(Xt * X2);
        +
        333 // (F+1)xN
        +
        334 std::vector<std::vector<float>> out = tmp * Xt;
        +
        335 // cout << endl
        +
        336 // << "Projection matrix: " << X2 * out << endl;
        +
        337
        +
        338 // Fx1,1 -> (F+1)^th element is the independent constant
        +
        339 return out * Y;
        +
        340}
        +
        +
        341
        +
        351template <typename T>
        +
        +
        352std::vector<float> predict_OLS_regressor(std::vector<std::vector<T>> const &X,
        +
        353 std::vector<float> const &beta
        +
        354) {
        +
        355 std::vector<float> result(X.size());
        +
        356
        +
        357 for (size_t rows = 0; rows < X.size(); rows++) {
        +
        358 // -> start with constant term
        +
        359 result[rows] = beta[X[0].size()];
        +
        360 for (size_t cols = 0; cols < X[0].size(); cols++) {
        +
        361 result[rows] += beta[cols] * X[rows][cols];
        +
        362 }
        +
        363 }
        +
        364 // Nx1
        +
        365 return result;
        +
        366}
        +
        +
        367
        +
        +
        369void ols_test() {
        +
        370 int F = 3, N = 5;
        +
        371
        +
        372 /* test function = x^2 -5 */
        +
        373 std::cout << "Test 1 (quadratic function)....";
        +
        374 // create training data set with features = x, x^2, x^3
        +
        375 std::vector<std::vector<float>> data1(
        +
        376 {{-5, 25, -125}, {-1, 1, -1}, {0, 0, 0}, {1, 1, 1}, {6, 36, 216}});
        +
        377 // create corresponding outputs
        +
        378 std::vector<float> Y1({20, -4, -5, -4, 31});
        +
        379 // perform regression modelling
        +
        380 std::vector<float> beta1 = fit_OLS_regressor(data1, Y1);
        +
        381 // create test data set with same features = x, x^2, x^3
        +
        382 std::vector<std::vector<float>> test_data1(
        +
        383 {{-2, 4, -8}, {2, 4, 8}, {-10, 100, -1000}, {10, 100, 1000}});
        +
        384 // expected regression outputs
        +
        385 std::vector<float> expected1({-1, -1, 95, 95});
        +
        386 // predicted regression outputs
        +
        387 std::vector<float> out1 = predict_OLS_regressor(test_data1, beta1);
        +
        388 // compare predicted results are within +-0.01 limit of expected
        +
        389 for (size_t rows = 0; rows < out1.size(); rows++) {
        +
        390 assert(std::abs(out1[rows] - expected1[rows]) < 0.01);
        +
        391 }
        +
        392 std::cout << "passed\n";
        +
        393
        +
        394 /* test function = x^3 + x^2 - 100 */
        +
        395 std::cout << "Test 2 (cubic function)....";
        +
        396 // create training data set with features = x, x^2, x^3
        +
        397 std::vector<std::vector<float>> data2(
        +
        398 {{-5, 25, -125}, {-1, 1, -1}, {0, 0, 0}, {1, 1, 1}, {6, 36, 216}});
        +
        399 // create corresponding outputs
        +
        400 std::vector<float> Y2({-200, -100, -100, 98, 152});
        +
        401 // perform regression modelling
        +
        402 std::vector<float> beta2 = fit_OLS_regressor(data2, Y2);
        +
        403 // create test data set with same features = x, x^2, x^3
        +
        404 std::vector<std::vector<float>> test_data2(
        +
        405 {{-2, 4, -8}, {2, 4, 8}, {-10, 100, -1000}, {10, 100, 1000}});
        +
        406 // expected regression outputs
        +
        407 std::vector<float> expected2({-104, -88, -1000, 1000});
        +
        408 // predicted regression outputs
        +
        409 std::vector<float> out2 = predict_OLS_regressor(test_data2, beta2);
        +
        410 // compare predicted results are within +-0.01 limit of expected
        +
        411 for (size_t rows = 0; rows < out2.size(); rows++) {
        +
        412 assert(std::abs(out2[rows] - expected2[rows]) < 0.01);
        +
        413 }
        +
        414 std::cout << "passed\n";
        +
        415
        +
        416 std::cout << std::endl; // ensure test results are displayed on screen
        +
        417 // (flush stdout)
        +
        418}
        +
        +
        419
        +
        +
        423int main() {
        +
        424 ols_test();
        +
        425
        +
        426 size_t N = 0, F = 0;
        +
        427
        +
        428 std::cout << "Enter number of features: ";
        +
        429 // number of features = columns
        +
        430 std::cin >> F;
        +
        431 std::cout << "Enter number of samples: ";
        +
        432 // number of samples = rows
        +
        433 std::cin >> N;
        +
        434
        +
        435 std::vector<std::vector<float>> data(N);
        +
        436 std::vector<float> Y(N);
        +
        437
        +
        438 std::cout
        +
        439 << "Enter training data. Per sample, provide features and one output."
        +
        440 << std::endl;
        +
        441
        +
        442 for (size_t rows = 0; rows < N; rows++) {
        +
        443 std::vector<float> v(F);
        +
        444 std::cout << "Sample# " << rows + 1 << ": ";
        +
        445 for (size_t cols = 0; cols < F; cols++) {
        +
        446 // get the F features
        +
        447 std::cin >> v[cols];
        +
        448 }
        +
        449 data[rows] = v;
        +
        450 // get the corresponding output
        +
        451 std::cin >> Y[rows];
        +
        452 }
        +
        453
        +
        454 std::vector<float> beta = fit_OLS_regressor(data, Y);
        +
        455 std::cout << std::endl << std::endl << "beta:" << beta << std::endl;
        +
        456
        +
        457 size_t T = 0;
        +
        458 std::cout << "Enter number of test samples: ";
        +
        459 // number of test sample inputs
        +
        460 std::cin >> T;
        +
        461 std::vector<std::vector<float>> data2(T);
        +
        462 // vector<float> Y2(T);
        +
        463
        +
        464 for (size_t rows = 0; rows < T; rows++) {
        +
        465 std::cout << "Sample# " << rows + 1 << ": ";
        +
        466 std::vector<float> v(F);
        +
        467 for (size_t cols = 0; cols < F; cols++) std::cin >> v[cols];
        +
        468 data2[rows] = v;
        +
        469 }
        +
        470
        +
        471 std::vector<float> out = predict_OLS_regressor(data2, beta);
        +
        472 for (size_t rows = 0; rows < T; rows++) std::cout << out[rows] << std::endl;
        +
        473
        +
        474 return 0;
        +
        475}
        +
        +
        int data[MAX]
        test data
        +
        std::vector< T > operator+(std::vector< T > const &A, std::vector< T > const &B)
        +
        std::vector< std::vector< T > > get_transpose(std::vector< std::vector< T > > const &A)
        + +
        std::vector< T > operator-(std::vector< T > const &A, std::vector< T > const &B)
        +
        std::ostream & operator<<(std::ostream &out, std::vector< std::vector< T > > const &v)
        +
        std::vector< float > operator/(std::vector< T > const &A, float const scalar)
        +
        bool is_square(std::vector< std::vector< T > > const &A)
        +
        std::vector< float > fit_OLS_regressor(std::vector< std::vector< T > > const &X, std::vector< T > const &Y)
        +
        std::vector< float > predict_OLS_regressor(std::vector< std::vector< T > > const &X, std::vector< float > const &beta)
        +
        std::vector< std::vector< T > > operator*(std::vector< std::vector< T > > const &A, std::vector< std::vector< T > > const &B)
        + +
        std::vector< std::vector< float > > get_inverse(std::vector< std::vector< T > > const &A)
        +
        +
        + + + + diff --git a/dc/d3a/namespacesubset__sum.html b/dc/d3a/namespacesubset__sum.html index 15abc068f..b26818d5a 100644 --- a/dc/d3a/namespacesubset__sum.html +++ b/dc/d3a/namespacesubset__sum.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: subset_sum Namespace Reference +TheAlgorithms/C++: subset_sum Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
        @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/dc/d52/linear__recurrence__matrix_8cpp_source.html b/dc/d52/linear__recurrence__matrix_8cpp_source.html new file mode 100644 index 000000000..2b33edc35 --- /dev/null +++ b/dc/d52/linear__recurrence__matrix_8cpp_source.html @@ -0,0 +1,409 @@ + + + + + + + + +TheAlgorithms/C++: math/linear_recurrence_matrix.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
        +
        +
        -
        Algorithms_in_C++ 1.0.0 +
        TheAlgorithms/C++ 1.0.0
        -
        Set of algorithms implemented in C++.
        +
        All the algorithms implemented in C++
        + + + + + + +
        +
        TheAlgorithms/C++ 1.0.0 +
        +
        All the algorithms implemented in C++
        +
        +
        + + + + + + + + +
        +
        + +
        +
        +
        + +
        + +
        +
        + + +
        +
        +
        +
        +
        +
        Loading...
        +
        Searching...
        +
        No Matches
        +
        +
        +
        +
        + +
        +
        linear_recurrence_matrix.cpp
        +
        +
        +
        1
        +
        20#include <cassert>
        +
        21#include <cstdint>
        +
        22#include <iostream>
        +
        23#include <vector>
        +
        24
        +
        29namespace math {
        + +
        50template <typename T = int64_t>
        +
        51std::vector<std::vector<T>> matrix_multiplication(
        +
        52 const std::vector<std::vector<T>>& _mat_a,
        +
        53 const std::vector<std::vector<T>>& _mat_b, const int64_t mod = 1000000007) {
        +
        54 // assert that columns in `_mat_a` and rows in `_mat_b` are equal
        +
        55 assert(_mat_a[0].size() == _mat_b.size());
        +
        56 std::vector<std::vector<T>> _mat_c(_mat_a.size(),
        +
        57 std::vector<T>(_mat_b[0].size(), 0));
        +
        61 for (uint32_t i = 0; i < _mat_a.size(); ++i) {
        +
        62 for (uint32_t j = 0; j < _mat_b[0].size(); ++j) {
        +
        63 for (uint32_t k = 0; k < _mat_b.size(); ++k) {
        +
        64 _mat_c[i][j] =
        +
        65 (_mat_c[i][j] % mod +
        +
        66 (_mat_a[i][k] % mod * _mat_b[k][j] % mod) % mod) %
        +
        67 mod;
        +
        68 }
        +
        69 }
        +
        70 }
        +
        71 return _mat_c;
        +
        72}
        +
        81template <typename T = int64_t>
        +
        82bool is_zero_matrix(const std::vector<std::vector<T>>& _mat) {
        +
        83 for (uint32_t i = 0; i < _mat.size(); ++i) {
        +
        84 for (uint32_t j = 0; j < _mat[i].size(); ++j) {
        +
        85 if (_mat[i][j] != 0) {
        +
        86 return false;
        +
        87 }
        +
        88 }
        +
        89 }
        +
        90 return true;
        +
        91}
        +
        92
        +
        103template <typename T = int64_t>
        +
        104std::vector<std::vector<T>> matrix_exponentiation(
        +
        105 std::vector<std::vector<T>> _mat, uint64_t power,
        +
        106 const int64_t mod = 1000000007) {
        +
        112 if (is_zero_matrix(_mat)) {
        +
        113 return _mat;
        +
        114 }
        +
        115
        +
        116 std::vector<std::vector<T>> _mat_answer(_mat.size(),
        +
        117 std::vector<T>(_mat.size(), 0));
        +
        118
        +
        119 for (uint32_t i = 0; i < _mat.size(); ++i) {
        +
        120 _mat_answer[i][i] = 1;
        +
        121 }
        +
        122 // exponentiation algorithm here.
        +
        123 while (power > 0) {
        +
        124 if (power & 1) {
        +
        125 _mat_answer = matrix_multiplication(_mat_answer, _mat, mod);
        +
        126 }
        +
        127 power >>= 1;
        +
        128 _mat = matrix_multiplication(_mat, _mat, mod);
        +
        129 }
        +
        130
        +
        131 return _mat_answer;
        +
        132}
        +
        133
        +
        154template <typename T = int64_t>
        +
        155T get_nth_term_of_recurrence_series(
        +
        156 const std::vector<std::vector<T>>& _mat,
        +
        157 const std::vector<std::vector<T>>& _base_cases, uint64_t nth_term,
        +
        158 bool constant_or_sum_included = false) {
        +
        159 assert(_mat.size() == _base_cases.back().size());
        +
        160
        +
        165 if (nth_term < _base_cases.back().size() - constant_or_sum_included) {
        +
        166 return _base_cases.back()[nth_term - constant_or_sum_included];
        +
        167 } else {
        +
        172 std::vector<std::vector<T>> _res_matrix =
        +
        173 matrix_exponentiation(_mat, nth_term - _base_cases.back().size() +
        +
        174 1 + constant_or_sum_included);
        +
        175
        +
        180 std::vector<std::vector<T>> _res =
        +
        181 matrix_multiplication(_base_cases, _res_matrix);
        +
        182
        +
        183 return _res.back().back();
        +
        184 }
        +
        185}
        +
        186} // namespace linear_recurrence_matrix
        +
        187} // namespace math
        +
        188
        +
        193static void test() {
        +
        194 /*
        +
        195 * Example 1: [Fibonacci
        +
        196 * series](https://en.wikipedia.org/wiki/Fibonacci_number);
        +
        197 *
        +
        198 * [fn-2 fn-1] [0 1] == [fn-1 (fn-2 + fn-1)] => [fn-1 fn]
        +
        199 * [1 1]
        +
        200 *
        +
        201 * Let A = [fn-2 fn-1], and B = [0 1]
        +
        202 * [1 1],
        +
        203 *
        +
        204 * Since, A.B....(n-1 times) = [fn-1 fn]
        +
        205 * we can multiply B with itself n-1 times to obtain the required value
        +
        206 */
        +
        207 std::vector<std::vector<int64_t>> fibonacci_matrix = {{0, 1}, {1, 1}},
        +
        208 fib_base_case = {{0, 1}};
        +
        209
        +
        210 assert(math::linear_recurrence_matrix::get_nth_term_of_recurrence_series(
        +
        211 fibonacci_matrix, fib_base_case, 11) == 89LL);
        +
        212 assert(math::linear_recurrence_matrix::get_nth_term_of_recurrence_series(
        +
        213 fibonacci_matrix, fib_base_case, 39) == 63245986LL);
        +
        214 /*
        +
        215 * Example 2: [Tribonacci series](https://oeis.org/A000073)
        +
        216 * [0 0 1]
        +
        217 * [fn-3 fn-2 fn-1] [1 0 1] = [(fn-2) (fn-1) (fn-3 + fn-2 + fn-1)]
        +
        218 * [0 1 1]
        +
        219 * => [fn-2 fn-1 fn]
        +
        220 *
        +
        221 * [0 0 1]
        +
        222 * Let A = [fn-3 fn-2 fn-1], and B = [1 0 1]
        +
        223 * [0 1 1]
        +
        224 *
        +
        225 * Since, A.B....(n-2 times) = [fn-2 fn-1 fn]
        +
        226 * we will have multiply B with itself n-2 times to obtain the required
        +
        227 * value ()
        +
        228 */
        +
        229
        +
        230 std::vector<std::vector<int64_t>> tribonacci = {{0, 0, 1},
        +
        231 {1, 0, 1},
        +
        232 {0, 1, 1}},
        +
        233 trib_base_case = {
        +
        234 {0, 0, 1}}; // f0 = 0, f1 = 0, f2 = 1
        +
        235
        +
        236 assert(math::linear_recurrence_matrix::get_nth_term_of_recurrence_series(
        +
        237 tribonacci, trib_base_case, 11) == 149LL);
        +
        238 assert(math::linear_recurrence_matrix::get_nth_term_of_recurrence_series(
        +
        239 tribonacci, trib_base_case, 36) == 615693474LL);
        +
        240
        +
        241 /*
        +
        242 * Example 3: [Pell numbers](https://oeis.org/A000129)
        +
        243 * `f(n) = 2* f(n-1) + f(n-2); f(0) = f(1) = 2`
        +
        244 *
        +
        245 * [fn-2 fn-1] [0 1] = [(fn-1) fn-2 + 2*fn-1)]
        +
        246 * [1 2]
        +
        247 * => [fn-1 fn]
        +
        248 *
        +
        249 * Let A = [fn-2 fn-1], and B = [0 1]
        +
        250 * [1 2]
        +
        251 */
        +
        252
        +
        253 std::vector<std::vector<int64_t>> pell_recurrence = {{0, 1}, {1, 2}},
        +
        254 pell_base_case = {
        +
        255 {2, 2}}; // `f0 = 2, f1 = 2`
        +
        256
        +
        257 assert(math::linear_recurrence_matrix::get_nth_term_of_recurrence_series(
        +
        258 pell_recurrence, pell_base_case, 15) == 551614LL);
        +
        259 assert(math::linear_recurrence_matrix::get_nth_term_of_recurrence_series(
        +
        260 pell_recurrence, pell_base_case, 23) == 636562078LL);
        +
        261
        +
        262 /*
        +
        263 * Example 4: Custom recurrence relation:
        +
        264 * Now the recurrence is of the form `a*f(n-1) + b*(fn-2) + ... + c`
        +
        265 * where `c` is the constant
        +
        266 * `f(n) = 2* f(n-1) + f(n-2) + 7; f(0) = f(1) = 2, c = 7`
        +
        267 *
        +
        268 * [1 0 1]
        +
        269 * [7, fn-2, fn-1] [0 0 1]
        +
        270 * [0 1 2]
        +
        271 * = [7, (fn-1), fn-2 + 2*fn-1) + 7]
        +
        272 *
        +
        273 * => [7, fn-1, fn]
        +
        274 * :: Series will be 2, 2, 13, 35, 90, 222, 541, 1311, 3170, 7658, 18493,
        +
        275 * 44651, 107802, 260262, 628333, 1516935, 362210, 8841362, 21344941,
        +
        276 * 51531251
        +
        277 *
        +
        278 * Let A = [7, fn-2, fn-1], and B = [1 0 1]
        +
        279 * [0 0 1]
        +
        280 * [0 1 2]
        +
        281 */
        +
        282
        +
        283 std::vector<std::vector<int64_t>>
        +
        284 custom_recurrence = {{1, 0, 1}, {0, 0, 1}, {0, 1, 2}},
        +
        285 custom_base_case = {{7, 2, 2}}; // `c = 7, f0 = 2, f1 = 2`
        +
        286
        +
        287 assert(math::linear_recurrence_matrix::get_nth_term_of_recurrence_series(
        +
        288 custom_recurrence, custom_base_case, 10, 1) == 18493LL);
        +
        289 assert(math::linear_recurrence_matrix::get_nth_term_of_recurrence_series(
        +
        290 custom_recurrence, custom_base_case, 19, 1) == 51531251LL);
        +
        291
        +
        292 /*
        +
        293 * Example 5: Sum fibonacci sequence
        +
        294 * The following matrix evaluates the sum of first n fibonacci terms in
        +
        295 * O(27. log2(n)) time.
        +
        296 * `f(n) = f(n-1) + f(n-2); f(0) = 0, f(1) = 1`
        +
        297 *
        +
        298 * [1 0 0]
        +
        299 * [s(f, n-1), fn-2, fn-1] [1 0 1]
        +
        300 * [1 1 1]
        +
        301 * => [(s(f, n-1)+f(n-2)+f(n-1)), (fn-1), f(n-2)+f(n-1)]
        +
        302 *
        +
        303 * => [s(f, n-1)+f(n), fn-1, fn]
        +
        304 *
        +
        305 * => [s(f, n), fn-1, fn]
        +
        306 *
        +
        307 * Sum of first 20 fibonacci series:
        +
        308 * 0, 1, 2, 4, 7, 12, 20, 33, 54, 88, 143, 232, 376, 609, 986, 1596, 2583,
        +
        309 * 4180, 6764
        +
        310 * f0 f1 s(f,1)
        +
        311 * Let A = [0 1 1], and B = [0 1 1]
        +
        312 * [1 1 1]
        +
        313 * [0 0 1]
        +
        314 */
        +
        315
        +
        316 std::vector<std::vector<int64_t>> sum_fibo_recurrence = {{0, 1, 1},
        +
        317 {1, 1, 1},
        +
        318 {0, 0, 1}},
        +
        319 sum_fibo_base_case = {
        +
        320 {0, 1, 1}}; // `f0 = 0, f1 = 1`
        +
        321
        +
        322 assert(math::linear_recurrence_matrix::get_nth_term_of_recurrence_series(
        +
        323 sum_fibo_recurrence, sum_fibo_base_case, 13, 1) == 609LL);
        +
        324 assert(math::linear_recurrence_matrix::get_nth_term_of_recurrence_series(
        +
        325 sum_fibo_recurrence, sum_fibo_base_case, 16, 1) == 2583LL);
        +
        326 /*
        +
        327 * Example 6: [Tribonacci sum series](https://oeis.org/A000073)
        +
        328 * [0 0 1 1]
        +
        329 * [fn-3 fn-2 fn-1 s(f, n-1)] [1 0 1 1]
        +
        330 * [0 1 1 1]
        +
        331 * [0 0 0 1]
        +
        332 *
        +
        333 * = [fn-2, fn-1, fn-3 + fn-2 + fn-1, (fn-3 + fn-2 + fn-1 + s(f, n-1))]
        +
        334 *
        +
        335 * => [fn-2, fn-1, fn, fn + s(f, n-1)]
        +
        336 *
        +
        337 * => [fn-2, fn-1, fn, s(f, n)]
        +
        338 *
        +
        339 * Sum of the series is: 0, 0, 1, 2, 4, 8, 15, 28, 52, 96, 177, 326, 600,
        +
        340 * 1104, 2031, 3736, 6872, 12640, 23249, 42762
        +
        341 *
        +
        342 * Let A = [fn-3 fn-2 fn-1 s(f, n-1)], and
        +
        343 * [0 0 1 1]
        +
        344 * B = [1 0 1 1]
        +
        345 * [0 1 1 1]
        +
        346 * [0 0 0 1]
        +
        347 *
        +
        348 * Since, A.B....(n-2 times) = [fn-2 fn-1 fn]
        +
        349 * we will have multiply B with itself n-2 times to obtain the required
        +
        350 * value
        +
        351 */
        +
        352
        +
        353 std::vector<std::vector<int64_t>> tribonacci_sum = {{0, 0, 1, 1},
        +
        354 {1, 0, 1, 1},
        +
        355 {0, 1, 1, 1},
        +
        356 {0, 0, 0, 1}},
        +
        357 trib_sum_base_case = {{0, 0, 1, 1}};
        +
        358 // `f0 = 0, f1 = 0, f2 = 1, s = 1`
        +
        359
        +
        360 assert(math::linear_recurrence_matrix::get_nth_term_of_recurrence_series(
        +
        361 tribonacci_sum, trib_sum_base_case, 18, 1) == 23249LL);
        +
        362 assert(math::linear_recurrence_matrix::get_nth_term_of_recurrence_series(
        +
        363 tribonacci_sum, trib_sum_base_case, 19, 1) == 42762LL);
        +
        364}
        +
        365
        +
        370int main() {
        +
        371 test(); // run self-test implementations
        +
        372 return 0;
        +
        373}
        +
        void test()
        +
        double k(double x)
        Another test function.
        +
        int main()
        Main function.
        +
        Functions for Linear Recurrence Matrix implementation.
        +
        for assert
        +
        uint64_t power(uint64_t a, uint64_t b, uint64_t c)
        This function calculates a raised to exponent b under modulo c using modular exponentiation.
        +
        +
        + + + + diff --git a/dc/d55/structstd_1_1is__integral_3_01uint256__t_01_4__coll__graph.map b/dc/d55/structstd_1_1is__integral_3_01uint256__t_01_4__coll__graph.map index ce4dc1d03..4abe656ee 100644 --- a/dc/d55/structstd_1_1is__integral_3_01uint256__t_01_4__coll__graph.map +++ b/dc/d55/structstd_1_1is__integral_3_01uint256__t_01_4__coll__graph.map @@ -1,5 +1,5 @@ - + diff --git a/dc/d55/structstd_1_1is__integral_3_01uint256__t_01_4__coll__graph.md5 b/dc/d55/structstd_1_1is__integral_3_01uint256__t_01_4__coll__graph.md5 index 788d8c929..1a663bd01 100644 --- a/dc/d55/structstd_1_1is__integral_3_01uint256__t_01_4__coll__graph.md5 +++ b/dc/d55/structstd_1_1is__integral_3_01uint256__t_01_4__coll__graph.md5 @@ -1 +1 @@ -a5f53b759dc7234205449bd588ef3a2b \ No newline at end of file +bbaa537b5da9cdc9be75d53307994ca9 \ No newline at end of file diff --git a/dc/d55/structstd_1_1is__integral_3_01uint256__t_01_4__coll__graph.svg b/dc/d55/structstd_1_1is__integral_3_01uint256__t_01_4__coll__graph.svg index 3bf5a37da..2b19f7128 100644 --- a/dc/d55/structstd_1_1is__integral_3_01uint256__t_01_4__coll__graph.svg +++ b/dc/d55/structstd_1_1is__integral_3_01uint256__t_01_4__coll__graph.svg @@ -31,7 +31,7 @@ Node2 - + std::true_type diff --git a/dc/d55/structstd_1_1is__integral_3_01uint256__t_01_4__coll__graph_org.svg b/dc/d55/structstd_1_1is__integral_3_01uint256__t_01_4__coll__graph_org.svg index 8ccc85c37..714929c92 100644 --- a/dc/d55/structstd_1_1is__integral_3_01uint256__t_01_4__coll__graph_org.svg +++ b/dc/d55/structstd_1_1is__integral_3_01uint256__t_01_4__coll__graph_org.svg @@ -20,7 +20,7 @@ Node2 - + std::true_type diff --git a/dc/d5a/rat__maze_8cpp.html b/dc/d5a/rat__maze_8cpp.html index 12dad7407..930a5b07f 100644 --- a/dc/d5a/rat__maze_8cpp.html +++ b/dc/d5a/rat__maze_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: backtracking/rat_maze.cpp File Reference +TheAlgorithms/C++: backtracking/rat_maze.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
        @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -122,7 +139,9 @@ Include dependency graph for rat_maze.cpp:
        -
        -
        Algorithms_in_C++ 1.0.0 +
        TheAlgorithms/C++ 1.0.0
        -
        Set of algorithms implemented in C++.
        +
        All the algorithms implemented in C++
        + +

        Go to the source code of this file.

        +
        @@ -136,7 +155,7 @@ solve-a-rat-in-a-maze-c-java-pytho/" target="_blank">Rat in a Maze algorithm - + @@ -153,6 +172,8 @@ solve-a-rat-in-a-maze-c-java-pytho/" target="_blank">Rat in a Maze algorithm
        Author
        Vaibhav Thakkar
        David Leal
        + +

        Definition in file rat_maze.cpp.

        Function Documentation

        ◆ main()

        @@ -171,17 +192,14 @@ solve-a-rat-in-a-maze-c-java-pytho/" target="_blank">Rat in a Maze algorithm

        Main function.

        Returns
        0 on exit
        + +

        Definition at line 112 of file rat_maze.cpp.

        112 {
        113 test(); // run self-test implementations
        114 return 0;
        115}
        -
        static void test()
        Self-test implementations.
        Definition rat_maze.cpp:86
        -
        -Here is the call graph for this function:
        -
        -
        -
        - +
        static void test()
        Self-test implementations.
        Definition rat_maze.cpp:86
        + @@ -205,12 +223,12 @@ template<size_t size> - + - +

        Namespaces

        namespace  backtracking

        Functions

        template<size_t size>
        bool backtracking::rat_maze::solveMaze (int currposrow, int currposcol, const std::array< std::array< int, size >, size > &maze, std::array< std::array< int, size >, size > soln)
        bool backtracking::rat_maze::solveMaze (int currposrow, int currposcol, const std::array< std::array< int, size >, size > &maze, std::array< std::array< int, size >, size > soln)
         Solve rat maze problem.
         
        static void test ()
        const std::array< std::array< int, size >, size > & maze, const std::array< std::array< int, size >, size > & maze,
        std::array< std::array< int, size >, size > soln )std::array< std::array< int, size >, size > soln )
        @@ -234,14 +252,16 @@ template<size_t size>
        Returns
        true if there exists a solution to move one step ahead in a column or in a row
        false for the backtracking part
        + +

        Definition at line 47 of file rat_maze.cpp.

        49 {
        50 if ((currposrow == size - 1) && (currposcol == size - 1)) {
        51 soln[currposrow][currposcol] = 1;
        52 for (int i = 0; i < size; ++i) {
        53 for (int j = 0; j < size; ++j) {
        -
        54 std::cout << soln[i][j] << " ";
        +
        54 std::cout << soln[i][j] << " ";
        55 }
        - +
        56 std::cout << std::endl;
        57 }
        58 return true;
        59 } else {
        @@ -264,15 +284,8 @@ template<size_t size>
        76 return false;
        77 }
        78}
        - -
        T endl(T... args)
        -
        bool solveMaze(int currposrow, int currposcol, const std::array< std::array< int, size >, size > &maze, std::array< std::array< int, size >, size > soln)
        Solve rat maze problem.
        Definition rat_maze.cpp:47
        -
        -Here is the call graph for this function:
        -
        -
        -
        - +
        bool solveMaze(int currposrow, int currposcol, const std::array< std::array< int, size >, size > &maze, std::array< std::array< int, size >, size > soln)
        Solve rat maze problem.
        Definition rat_maze.cpp:47
        + @@ -300,13 +313,15 @@ Here is the call graph for this function:

        Self-test implementations.

        Returns
        void
        + +

        Definition at line 86 of file rat_maze.cpp.

        86 {
        87 const int size = 4;
        - -
        89 std::array<int, size>{1, 0, 1, 0}, std::array<int, size>{1, 0, 1, 1},
        -
        90 std::array<int, size>{1, 0, 0, 1}, std::array<int, size>{1, 1, 1, 1}};
        +
        88 std::array<std::array<int, size>, size> maze = {
        +
        89 std::array<int, size>{1, 0, 1, 0}, std::array<int, size>{1, 0, 1, 1},
        +
        90 std::array<int, size>{1, 0, 0, 1}, std::array<int, size>{1, 1, 1, 1}};
        91
        - +
        92 std::array<std::array<int, size>, size> soln{};
        93
        94 // Backtracking: setup matrix solution to zero
        95 for (int i = 0; i < size; ++i) {
        @@ -321,7 +336,6 @@ Here is the call graph for this function:
        104 assert(backtracking::rat_maze::solveMaze<size>(currposrow, currposcol, maze,
        105 soln) == 1);
        106}
        - diff --git a/dc/d5a/rat__maze_8cpp_ab99107bfb4c6934cd4691868c66c0aa3_cgraph.map b/dc/d5a/rat__maze_8cpp_ab99107bfb4c6934cd4691868c66c0aa3_cgraph.map deleted file mode 100644 index d7c02b35f..000000000 --- a/dc/d5a/rat__maze_8cpp_ab99107bfb4c6934cd4691868c66c0aa3_cgraph.map +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/dc/d5a/rat__maze_8cpp_ab99107bfb4c6934cd4691868c66c0aa3_cgraph.md5 b/dc/d5a/rat__maze_8cpp_ab99107bfb4c6934cd4691868c66c0aa3_cgraph.md5 deleted file mode 100644 index 9b6ef8f9d..000000000 --- a/dc/d5a/rat__maze_8cpp_ab99107bfb4c6934cd4691868c66c0aa3_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -417f5ed0082aff55f2cf33e3a0e01ef5 \ No newline at end of file diff --git a/dc/d5a/rat__maze_8cpp_ab99107bfb4c6934cd4691868c66c0aa3_cgraph.svg b/dc/d5a/rat__maze_8cpp_ab99107bfb4c6934cd4691868c66c0aa3_cgraph.svg deleted file mode 100644 index ecc7ce2dc..000000000 --- a/dc/d5a/rat__maze_8cpp_ab99107bfb4c6934cd4691868c66c0aa3_cgraph.svg +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - - - - - - - -backtracking::rat_maze::solveMaze - - -Node1 - - -backtracking::rat_maze -::solveMaze - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/dc/d5a/rat__maze_8cpp_ab99107bfb4c6934cd4691868c66c0aa3_cgraph_org.svg b/dc/d5a/rat__maze_8cpp_ab99107bfb4c6934cd4691868c66c0aa3_cgraph_org.svg deleted file mode 100644 index 9ef021a3d..000000000 --- a/dc/d5a/rat__maze_8cpp_ab99107bfb4c6934cd4691868c66c0aa3_cgraph_org.svg +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - -backtracking::rat_maze::solveMaze - - -Node1 - - -backtracking::rat_maze -::solveMaze - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - diff --git a/dc/d5a/rat__maze_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/dc/d5a/rat__maze_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 48795a95e..000000000 --- a/dc/d5a/rat__maze_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/dc/d5a/rat__maze_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/dc/d5a/rat__maze_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index 313fd0723..000000000 --- a/dc/d5a/rat__maze_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -063aab01af0db7f9b281c08f6379a222 \ No newline at end of file diff --git a/dc/d5a/rat__maze_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/dc/d5a/rat__maze_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index beec8185c..000000000 --- a/dc/d5a/rat__maze_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/dc/d5a/rat__maze_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/dc/d5a/rat__maze_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 615faebca..000000000 --- a/dc/d5a/rat__maze_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - diff --git a/dc/d5a/rat__maze_8cpp_source.html b/dc/d5a/rat__maze_8cpp_source.html new file mode 100644 index 000000000..f4af08bb9 --- /dev/null +++ b/dc/d5a/rat__maze_8cpp_source.html @@ -0,0 +1,217 @@ + + + + + + + + +TheAlgorithms/C++: backtracking/rat_maze.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
        +
        + + + + + + + +
        +
        TheAlgorithms/C++ 1.0.0 +
        +
        All the algorithms implemented in C++
        +
        +
        + + + + + + + + +
        +
        + +
        +
        +
        + +
        + +
        +
        + + +
        +
        +
        +
        +
        +
        Loading...
        +
        Searching...
        +
        No Matches
        +
        +
        +
        +
        + +
        +
        rat_maze.cpp
        +
        +
        +Go to the documentation of this file.
        1
        +
        19#include <array>
        +
        20#include <cassert>
        +
        21#include <iostream>
        +
        22
        +
        27namespace backtracking {
        +
        34namespace rat_maze {
        +
        46template <size_t size>
        +
        +
        47bool solveMaze(int currposrow, int currposcol,
        +
        48 const std::array<std::array<int, size>, size> &maze,
        +
        49 std::array<std::array<int, size>, size> soln) {
        +
        50 if ((currposrow == size - 1) && (currposcol == size - 1)) {
        +
        51 soln[currposrow][currposcol] = 1;
        +
        52 for (int i = 0; i < size; ++i) {
        +
        53 for (int j = 0; j < size; ++j) {
        +
        54 std::cout << soln[i][j] << " ";
        +
        55 }
        +
        56 std::cout << std::endl;
        +
        57 }
        +
        58 return true;
        +
        59 } else {
        +
        60 soln[currposrow][currposcol] = 1;
        +
        61
        +
        62 // if there exist a solution by moving one step ahead in a column
        +
        63 if ((currposcol < size - 1) && maze[currposrow][currposcol + 1] == 1 &&
        +
        64 solveMaze(currposrow, currposcol + 1, maze, soln)) {
        +
        65 return true;
        +
        66 }
        +
        67
        +
        68 // if there exists a solution by moving one step ahead in a row
        +
        69 if ((currposrow < size - 1) && maze[currposrow + 1][currposcol] == 1 &&
        +
        70 solveMaze(currposrow + 1, currposcol, maze, soln)) {
        +
        71 return true;
        +
        72 }
        +
        73
        +
        74 // the backtracking part
        +
        75 soln[currposrow][currposcol] = 0;
        +
        76 return false;
        +
        77 }
        +
        78}
        +
        +
        79} // namespace rat_maze
        +
        80} // namespace backtracking
        +
        81
        +
        +
        86static void test() {
        +
        87 const int size = 4;
        +
        88 std::array<std::array<int, size>, size> maze = {
        +
        89 std::array<int, size>{1, 0, 1, 0}, std::array<int, size>{1, 0, 1, 1},
        +
        90 std::array<int, size>{1, 0, 0, 1}, std::array<int, size>{1, 1, 1, 1}};
        +
        91
        +
        92 std::array<std::array<int, size>, size> soln{};
        +
        93
        +
        94 // Backtracking: setup matrix solution to zero
        +
        95 for (int i = 0; i < size; ++i) {
        +
        96 for (int j = 0; j < size; ++j) {
        +
        97 soln[i][j] = 0;
        +
        98 }
        +
        99 }
        +
        100
        +
        101 int currposrow = 0; // Current position in the rows
        +
        102 int currposcol = 0; // Current position in the columns
        +
        103
        +
        104 assert(backtracking::rat_maze::solveMaze<size>(currposrow, currposcol, maze,
        +
        105 soln) == 1);
        +
        106}
        +
        +
        107
        +
        +
        112int main() {
        +
        113 test(); // run self-test implementations
        +
        114 return 0;
        +
        115}
        +
        +
        for vector container
        +
        Functions for Rat in a Maze algorithm.
        +
        static void test()
        Self-test implementations.
        Definition rat_maze.cpp:86
        +
        bool solveMaze(int currposrow, int currposcol, const std::array< std::array< int, size >, size > &maze, std::array< std::array< int, size >, size > soln)
        Solve rat maze problem.
        Definition rat_maze.cpp:47
        +
        int main()
        Main function.
        Definition rat_maze.cpp:112
        +
        +
        + + + + diff --git a/dc/d5a/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info-members.html b/dc/d5a/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info-members.html index 1bc478eea..23ca952b9 100644 --- a/dc/d5a/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info-members.html +++ b/dc/d5a/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info-members.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Member List +TheAlgorithms/C++: Member List + + + @@ -18,14 +24,24 @@ - - + +
        @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/dc/d5f/classothers_1_1recursive__tree__traversals_1_1_b_t-members.html b/dc/d5f/classothers_1_1recursive__tree__traversals_1_1_b_t-members.html index ea735f53b..f5dbdad4d 100644 --- a/dc/d5f/classothers_1_1recursive__tree__traversals_1_1_b_t-members.html +++ b/dc/d5f/classothers_1_1recursive__tree__traversals_1_1_b_t-members.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Member List +TheAlgorithms/C++: Member List + + + @@ -18,14 +24,24 @@ - - + +
        @@ -33,10 +49,11 @@ MathJax.Hub.Config({
        -
        Algorithms_in_C++ 1.0.0 +
        TheAlgorithms/C++ 1.0.0
        -
        Set of algorithms implemented in C++.
        +
        All the algorithms implemented in C++
        + diff --git a/dc/d61/classgraph_1_1_graph.html b/dc/d61/classgraph_1_1_graph.html index a6c49f1da..87315ce5e 100644 --- a/dc/d61/classgraph_1_1_graph.html +++ b/dc/d61/classgraph_1_1_graph.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: graph::Graph< T > Class Template Reference +TheAlgorithms/C++: graph::Graph< T > Class Template Reference + + + @@ -18,14 +24,24 @@ - - + +
        @@ -33,10 +49,11 @@ MathJax.Hub.Config({
        -
        Algorithms_in_C++ 1.0.0 +
        TheAlgorithms/C++ 1.0.0
        -
        Set of algorithms implemented in C++.
        +
        All the algorithms implemented in C++
        + @@ -127,9 +144,9 @@ Collaboration diagram for graph::Graph< T >: Public Member Functions - + - + @@ -137,19 +154,20 @@ Public Member Functions
        -
        Algorithms_in_C++ 1.0.0 +
        TheAlgorithms/C++ 1.0.0
        -
        Set of algorithms implemented in C++.
        +
        All the algorithms implemented in C++
        void add_edge (T u, T v, bool bidir=true)
         
        std::map< T, bool > breadth_first_search (T src)
        std::map< T, bool > breadth_first_search (T src)
         
         Graph (size_t N, const std::vector< std::pair< int, int > > &undirected_edges)
         Graph (size_t N, const std::vector< std::pair< int, int > > &undirected_edges)
         Populate the adjacency list for each vertex in the graph. Assumes that evey edge is a pair of valid vertex indices.
         
        int number_of_vertices () const
        - - + +

        Public Attributes

        -std::vector< std::vector< int > > neighbors
         for each vertex it stores a list indicies of its neighbors
        std::vector< std::vector< int > > neighbors
         for each vertex it stores a list indicies of its neighbors
         
        - +

        Private Attributes

        std::map< T, std::list< T > > adjacency_list
        std::map< T, std::list< T > > adjacency_list
         

        Detailed Description

        template<typename T>
        class graph::Graph< T >

        Class for representing a graph as an adjacency list. Its vertices are indexed 0, 1, ..., N - 1.

        + +

        Definition at line 53 of file lowest_common_ancestor.cpp.

        Constructor & Destructor Documentation

        ◆ Graph()

        @@ -170,7 +188,7 @@ template<typename T >
        - const std::vector< std::pair< int, int > > & undirected_edges ) + const std::vector< std::pair< int, int > > & undirected_edges ) @@ -188,22 +206,17 @@ template<typename T > + +

        Definition at line 62 of file lowest_common_ancestor.cpp.

        62 {
        - +
        63 neighbors.resize(N);
        64 for (auto &edge : undirected_edges) {
        -
        65 neighbors[edge.first].push_back(edge.second);
        -
        66 neighbors[edge.second].push_back(edge.first);
        +
        65 neighbors[edge.first].push_back(edge.second);
        +
        66 neighbors[edge.second].push_back(edge.first);
        67 }
        68 }
        -
        std::vector< std::vector< int > > neighbors
        for each vertex it stores a list indicies of its neighbors
        Definition lowest_common_ancestor.cpp:77
        -
        T push_back(T... args)
        -
        T resize(T... args)
        -
        -Here is the call graph for this function:
        -
        -
        -
        - +
        std::vector< std::vector< int > > neighbors
        for each vertex it stores a list indicies of its neighbors
        +

        Member Function Documentation

        @@ -242,23 +255,16 @@ template<typename T >

        add_edge(u,v,bidir) is used to add an edge between node u and node v by default , bidir is made true , i.e graph is bidirectional . It means if edge(u,v) is added then u-->v and v-->u both edges exist.

        to make the graph unidirectional pass the third parameter of add_edge as false which will

        -
        74 {
        -
        75 /**
        -
        76 * add_edge(u,v,bidir) is used to add an edge between node u and
        -
        77 * node v by default , bidir is made true , i.e graph is
        -
        78 * bidirectional . It means if edge(u,v) is added then u-->v and
        -
        79 * v-->u both edges exist.
        -
        80 *
        -
        81 * to make the graph unidirectional pass the third parameter of
        -
        82 * add_edge as false which will
        -
        83 */
        + +

        Definition at line 74 of file breadth_first_search.cpp.

        +
        74 {
        84 adjacency_list[u].push_back(v); // u-->v edge added
        85 if (bidir == true) {
        86 // if graph is bidirectional
        87 adjacency_list[v].push_back(u); // v-->u edge added
        88 }
        89 }
        -
        std::map< T, std::list< T > > adjacency_list
        Definition breadth_first_search.cpp:69
        +
        std::map< T, std::list< T > > adjacency_list
        @@ -274,7 +280,7 @@ template<typename T > - + @@ -297,58 +303,36 @@ template<typename T >

        check every vertex connected to the node which are still unvisited

        if the neighbour is unvisited , push it into the queue

        mark the neighbour as visited

        -
        96 {
        -
        97 /// mapping to keep track of all visited nodes
        -
        98 std::map<T, bool> visited;
        -
        99 /// initialise every possible vertex to map to false
        -
        100 /// initially none of the vertices are unvisited
        -
        101 for (auto const &adjlist : adjacency_list) {
        + +

        Definition at line 96 of file breadth_first_search.cpp.

        +
        96 {
        +
        98 std::map<T, bool> visited;
        +
        101 for (auto const &adjlist : adjacency_list) {
        102 visited[adjlist.first] = false;
        103 for (auto const &node : adjacency_list[adjlist.first]) {
        104 visited[node] = false;
        105 }
        106 }
        -
        107
        -
        108 /// queue to store the nodes which are yet to be traversed
        -
        109 std::queue<T> tracker;
        -
        110
        -
        111 /// push the source vertex to queue to begin traversing
        -
        112 tracker.push(src);
        -
        113 /// mark the source vertex as visited
        -
        114 visited[src] = true;
        -
        115 while (!tracker.empty()) {
        -
        116 /// traverse the graph till no connected vertex are left
        -
        117 /// extract a node from queue for further traversal
        -
        118 T node = tracker.front();
        -
        119 /// remove the node from the queue
        -
        120 tracker.pop();
        -
        121 for (T const &neighbour : adjacency_list[node]) {
        -
        122 /// check every vertex connected to the node which are still
        -
        123 /// unvisited
        -
        124 if (!visited[neighbour]) {
        -
        125 /// if the neighbour is unvisited , push it into the queue
        -
        126 tracker.push(neighbour);
        -
        127 /// mark the neighbour as visited
        -
        128 visited[neighbour] = true;
        +
        107
        +
        109 std::queue<T> tracker;
        +
        110
        +
        112 tracker.push(src);
        +
        114 visited[src] = true;
        +
        115 while (!tracker.empty()) {
        +
        118 T node = tracker.front();
        +
        120 tracker.pop();
        +
        121 for (T const &neighbour : adjacency_list[node]) {
        +
        124 if (!visited[neighbour]) {
        +
        126 tracker.push(neighbour);
        +
        128 visited[neighbour] = true;
        129 }
        130 }
        131 }
        132 return visited;
        133 }
        -
        struct node { int data; int height; struct node *left; struct node *right;} node
        for std::queue
        Definition avltree.cpp:13
        -
        T empty(T... args)
        -
        T front(T... args)
        - -
        T pop(T... args)
        -
        T push(T... args)
        - -
        Definition binary_search_tree.cpp:11
        -
        -Here is the call graph for this function:
        -
        -
        -
        - +
        struct node { int data; int height; struct node *left; struct node *right;} node
        for std::queue
        Definition avltree.cpp:13
        + +
        @@ -376,14 +360,10 @@ template<typename T >
        std::map< T, bool > graph::Graph< T >::breadth_first_search std::map< T, bool > graph::Graph< T >::breadth_first_search ( T src)

        Function to get the number of vertices in the graph

        Returns
        the number of vertices in the graph.
        -
        74{ return neighbors.size(); }
        -
        T size(T... args)
        -
        -Here is the call graph for this function:
        -
        -
        -
        +

        Definition at line 74 of file lowest_common_ancestor.cpp.

        +
        74{ return neighbors.size(); }
        +

        Member Data Documentation

        @@ -399,7 +379,7 @@ template<typename T > - +
        std::map<T, std::list<T> > graph::Graph< T >::adjacency_liststd::map<T, std::list<T> > graph::Graph< T >::adjacency_list
        @@ -410,11 +390,33 @@ template<typename T >

        adjacency_list maps every vertex to the list of its neighbours in the order in which they are added.

        +

        Definition at line 69 of file breadth_first_search.cpp.

        + +
        + + +

        ◆ neighbors

        + +
        +
        +
        +template<typename T >
        + + + + +
        std::vector<std::vector<int> > graph::Graph< T >::neighbors
        +
        + +

        for each vertex it stores a list indicies of its neighbors

        + +

        Definition at line 77 of file lowest_common_ancestor.cpp.

        +

        The documentation for this class was generated from the following files: diff --git a/dc/d61/classgraph_1_1_graph_a3755ec9e6a842238c7f4aac10b661981_cgraph.map b/dc/d61/classgraph_1_1_graph_a3755ec9e6a842238c7f4aac10b661981_cgraph.map deleted file mode 100644 index 7d4a87901..000000000 --- a/dc/d61/classgraph_1_1_graph_a3755ec9e6a842238c7f4aac10b661981_cgraph.map +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/dc/d61/classgraph_1_1_graph_a3755ec9e6a842238c7f4aac10b661981_cgraph.md5 b/dc/d61/classgraph_1_1_graph_a3755ec9e6a842238c7f4aac10b661981_cgraph.md5 deleted file mode 100644 index 945a57c38..000000000 --- a/dc/d61/classgraph_1_1_graph_a3755ec9e6a842238c7f4aac10b661981_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -72fd6bfe4f58fdc714b274117190f07f \ No newline at end of file diff --git a/dc/d61/classgraph_1_1_graph_a3755ec9e6a842238c7f4aac10b661981_cgraph.svg b/dc/d61/classgraph_1_1_graph_a3755ec9e6a842238c7f4aac10b661981_cgraph.svg deleted file mode 100644 index 1bf5ebf34..000000000 --- a/dc/d61/classgraph_1_1_graph_a3755ec9e6a842238c7f4aac10b661981_cgraph.svg +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - - - - - - - -graph::Graph::breadth_first_search - - -Node1 - - -graph::Graph::breadth -_first_search - - - - - -Node2 - - -std::queue::empty - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::queue::front - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::queue::pop - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::queue::push - - - - - -Node1->Node5 - - - - - - - - - - - - - diff --git a/dc/d61/classgraph_1_1_graph_a3755ec9e6a842238c7f4aac10b661981_cgraph_org.svg b/dc/d61/classgraph_1_1_graph_a3755ec9e6a842238c7f4aac10b661981_cgraph_org.svg deleted file mode 100644 index 85f3e327a..000000000 --- a/dc/d61/classgraph_1_1_graph_a3755ec9e6a842238c7f4aac10b661981_cgraph_org.svg +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - -graph::Graph::breadth_first_search - - -Node1 - - -graph::Graph::breadth -_first_search - - - - - -Node2 - - -std::queue::empty - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::queue::front - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::queue::pop - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::queue::push - - - - - -Node1->Node5 - - - - - - - - diff --git a/dc/d61/classgraph_1_1_graph_a8839fa14bff19d2deab4a618447c13e5_cgraph.map b/dc/d61/classgraph_1_1_graph_a8839fa14bff19d2deab4a618447c13e5_cgraph.map deleted file mode 100644 index 6ea318f87..000000000 --- a/dc/d61/classgraph_1_1_graph_a8839fa14bff19d2deab4a618447c13e5_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/dc/d61/classgraph_1_1_graph_a8839fa14bff19d2deab4a618447c13e5_cgraph.md5 b/dc/d61/classgraph_1_1_graph_a8839fa14bff19d2deab4a618447c13e5_cgraph.md5 deleted file mode 100644 index 179dee4f0..000000000 --- a/dc/d61/classgraph_1_1_graph_a8839fa14bff19d2deab4a618447c13e5_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -b3404b8298248750e7d63ff98fed400e \ No newline at end of file diff --git a/dc/d61/classgraph_1_1_graph_a8839fa14bff19d2deab4a618447c13e5_cgraph.svg b/dc/d61/classgraph_1_1_graph_a8839fa14bff19d2deab4a618447c13e5_cgraph.svg deleted file mode 100644 index 5932b3dbd..000000000 --- a/dc/d61/classgraph_1_1_graph_a8839fa14bff19d2deab4a618447c13e5_cgraph.svg +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - -graph::Graph::Graph - - -Node1 - - -graph::Graph::Graph - - - - - -Node2 - - -std::vector::push_back - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::vector::resize - - - - - -Node1->Node3 - - - - - - - - - - - - - diff --git a/dc/d61/classgraph_1_1_graph_a8839fa14bff19d2deab4a618447c13e5_cgraph_org.svg b/dc/d61/classgraph_1_1_graph_a8839fa14bff19d2deab4a618447c13e5_cgraph_org.svg deleted file mode 100644 index 93f382302..000000000 --- a/dc/d61/classgraph_1_1_graph_a8839fa14bff19d2deab4a618447c13e5_cgraph_org.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - -graph::Graph::Graph - - -Node1 - - -graph::Graph::Graph - - - - - -Node2 - - -std::vector::push_back - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::vector::resize - - - - - -Node1->Node3 - - - - - - - - diff --git a/dc/d61/classgraph_1_1_graph_a8930d1470d132b19e430d1c71f94c904_cgraph.map b/dc/d61/classgraph_1_1_graph_a8930d1470d132b19e430d1c71f94c904_cgraph.map deleted file mode 100644 index cf6ecbb92..000000000 --- a/dc/d61/classgraph_1_1_graph_a8930d1470d132b19e430d1c71f94c904_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/dc/d61/classgraph_1_1_graph_a8930d1470d132b19e430d1c71f94c904_cgraph.md5 b/dc/d61/classgraph_1_1_graph_a8930d1470d132b19e430d1c71f94c904_cgraph.md5 deleted file mode 100644 index 0909b2e79..000000000 --- a/dc/d61/classgraph_1_1_graph_a8930d1470d132b19e430d1c71f94c904_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -0b9a81d88142bf13d03c7b09b0b3eb88 \ No newline at end of file diff --git a/dc/d61/classgraph_1_1_graph_a8930d1470d132b19e430d1c71f94c904_cgraph.svg b/dc/d61/classgraph_1_1_graph_a8930d1470d132b19e430d1c71f94c904_cgraph.svg deleted file mode 100644 index b31cff6a8..000000000 --- a/dc/d61/classgraph_1_1_graph_a8930d1470d132b19e430d1c71f94c904_cgraph.svg +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - - - - - - - -graph::Graph::number_of_vertices - - -Node1 - - -graph::Graph::number -_of_vertices - - - - - -Node2 - - -std::vector::size - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/dc/d61/classgraph_1_1_graph_a8930d1470d132b19e430d1c71f94c904_cgraph_org.svg b/dc/d61/classgraph_1_1_graph_a8930d1470d132b19e430d1c71f94c904_cgraph_org.svg deleted file mode 100644 index 548e86f5f..000000000 --- a/dc/d61/classgraph_1_1_graph_a8930d1470d132b19e430d1c71f94c904_cgraph_org.svg +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - -graph::Graph::number_of_vertices - - -Node1 - - -graph::Graph::number -_of_vertices - - - - - -Node2 - - -std::vector::size - - - - - -Node1->Node2 - - - - - - - - diff --git a/dc/d64/md__coding_guidelines.html b/dc/d64/md__coding_guidelines.html index c60d4341d..08a188ccd 100644 --- a/dc/d64/md__coding_guidelines.html +++ b/dc/d64/md__coding_guidelines.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Code style convention +TheAlgorithms/C++: Code style convention + + + @@ -18,14 +24,24 @@ - - + +
        @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/dc/d67/classgraph_1_1is__graph__bipartite_1_1_graph-members.html b/dc/d67/classgraph_1_1is__graph__bipartite_1_1_graph-members.html index 9ac0dbc4a..275bb25ca 100644 --- a/dc/d67/classgraph_1_1is__graph__bipartite_1_1_graph-members.html +++ b/dc/d67/classgraph_1_1is__graph__bipartite_1_1_graph-members.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Member List +TheAlgorithms/C++: Member List + + + @@ -18,14 +24,24 @@ - - + +
        @@ -33,10 +49,11 @@ MathJax.Hub.Config({
        -
        Algorithms_in_C++ 1.0.0 +
        TheAlgorithms/C++ 1.0.0
        -
        Set of algorithms implemented in C++.
        +
        All the algorithms implemented in C++
        + diff --git a/dc/d67/subset__sum__dynamic_8cpp.html b/dc/d67/subset__sum__dynamic_8cpp.html index f84fd6890..bd860a2b3 100644 --- a/dc/d67/subset__sum__dynamic_8cpp.html +++ b/dc/d67/subset__sum__dynamic_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: dynamic_programming/subset_sum_dynamic.cpp File Reference +TheAlgorithms/C++: dynamic_programming/subset_sum_dynamic.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
        @@ -33,10 +49,11 @@ MathJax.Hub.Config({
        -
        Algorithms_in_C++ 1.0.0 +
        TheAlgorithms/C++ 1.0.0
        -
        Set of algorithms implemented in C++.
        +
        All the algorithms implemented in C++
        + @@ -122,7 +139,9 @@ Include dependency graph for subset_sum_dynamic.cpp:
        -
        -
        Algorithms_in_C++ 1.0.0 +
        TheAlgorithms/C++ 1.0.0
        -
        Set of algorithms implemented in C++.
        +
        All the algorithms implemented in C++
        + +

        Go to the source code of this file.

        +
        @@ -134,9 +153,9 @@ Namespaces

        Namespaces

        namespace  dynamic_programming
        - + - + @@ -148,6 +167,8 @@ Functions

        Detailed Description

        Implements [Sub-set sum problem] (https://en.wikipedia.org/wiki/Subset_sum_problem) algorithm, which tells whether a subset with target sum exists or not.

        In this problem, we use dynamic programming to find if we can pull out a subset from an array whose sum is equal to a given target sum. The overall time complexity of the problem is O(n * targetSum) where n is the size of the array. For example, array = [1, -10, 2, 31, -6], targetSum = -14. Output: true => We can pick subset [-10, 2, -6] with sum as (-10) + 2 + (-6) = -14.

        Author
        KillerAV
        + +

        Definition in file subset_sum_dynamic.cpp.

        Function Documentation

        ◆ main()

        @@ -166,17 +187,14 @@ Functions

        Main function.

        Returns
        0 on exit
        + +

        Definition at line 120 of file subset_sum_dynamic.cpp.

        120 {
        121 test(); // execute the test
        122 return 0;
        123}
        -
        static void test()
        Test Function.
        Definition subset_sum_dynamic.cpp:82
        -
        -Here is the call graph for this function:
        -
        -
        -
        - +
        static void test()
        Test Function.
        + @@ -188,7 +206,7 @@ Here is the call graph for this function: - + @@ -205,21 +223,16 @@ Here is the call graph for this function:
        Returns
        true/false based on if the target sum subset exists or not.
        + +

        Definition at line 70 of file subset_sum_dynamic.cpp.

        70 {
        -
        71 size_t n = arr.size();
        - +
        71 size_t n = arr.size();
        +
        72 std::vector<std::unordered_map<int, bool>> dp(n);
        73 return subset_sum_recursion(arr, targetSum, &dp);
        74}
        -
        for std::vector
        Definition partition_problem.cpp:39
        -
        T size(T... args)
        -
        bool subset_sum_recursion(const std::vector< int > &arr, int targetSum, std::vector< std::unordered_map< int, bool > > *dp, int index=0)
        Definition subset_sum_dynamic.cpp:43
        - -
        -Here is the call graph for this function:
        -
        -
        -
        - +
        for std::vector
        +
        bool subset_sum_recursion(const std::vector< int > &arr, int targetSum, std::vector< std::unordered_map< int, bool > > *dp, int index=0)
        + @@ -231,7 +244,7 @@ Here is the call graph for this function: - + @@ -241,7 +254,7 @@ Here is the call graph for this function: - + @@ -259,11 +272,13 @@ Here is the call graph for this function:
        Returns
        true/false based on if the target sum subset exists or not.
        + +

        Definition at line 43 of file subset_sum_dynamic.cpp.

        45 {
        46 if (targetSum == 0) { // Found a valid subset with required sum.
        47 return true;
        48 }
        -
        49 if (index == arr.size()) { // End of array
        +
        49 if (index == arr.size()) { // End of array
        50 return false;
        51 }
        52
        @@ -277,12 +292,7 @@ Here is the call graph for this function:
        60 (*dp)[index][targetSum] = ans; // Save ans in dp map.
        61 return ans;
        62}
        -
        -Here is the call graph for this function:
        -
        -
        -
        - + @@ -310,20 +320,22 @@ Here is the call graph for this function:

        Test Function.

        Returns
        void
        + +

        Definition at line 82 of file subset_sum_dynamic.cpp.

        82 {
        83 // custom input vector
        -
        84 std::vector<std::vector<int>> custom_input_arr(3);
        -
        85 custom_input_arr[0] = std::vector<int>{1, -10, 2, 31, -6};
        -
        86 custom_input_arr[1] = std::vector<int>{2, 3, 4};
        -
        87 custom_input_arr[2] = std::vector<int>{0, 1, 0, 1, 0};
        +
        84 std::vector<std::vector<int>> custom_input_arr(3);
        +
        85 custom_input_arr[0] = std::vector<int>{1, -10, 2, 31, -6};
        +
        86 custom_input_arr[1] = std::vector<int>{2, 3, 4};
        +
        87 custom_input_arr[2] = std::vector<int>{0, 1, 0, 1, 0};
        88
        -
        89 std::vector<int> custom_input_target_sum(3);
        +
        89 std::vector<int> custom_input_target_sum(3);
        90 custom_input_target_sum[0] = -14;
        91 custom_input_target_sum[1] = 10;
        92 custom_input_target_sum[2] = 2;
        93
        94 // calculated output vector by pal_part Function
        -
        95 std::vector<int> calculated_output(3);
        +
        95 std::vector<int> calculated_output(3);
        96
        97 for (int i = 0; i < 3; i++) {
        98 calculated_output[i] =
        @@ -332,7 +344,7 @@ Here is the call graph for this function:
        101 }
        102
        103 // expected output vector
        -
        104 std::vector<bool> expected_output{true, false, true};
        +
        104 std::vector<bool> expected_output{true, false, true};
        105
        106 // Testing implementation via assert function
        107 // It will throw error if any of the expected test fails
        @@ -341,10 +353,9 @@ Here is the call graph for this function:
        110 assert(expected_output[i] == calculated_output[i]);
        111 }
        112
        -
        113 std::cout << "All tests passed successfully!\n";
        +
        113 std::cout << "All tests passed successfully!\n";
        114}
        - -
        bool subset_sum_problem(const std::vector< int > &arr, const int targetSum)
        Definition subset_sum_dynamic.cpp:70
        +
        bool subset_sum_problem(const std::vector< int > &arr, const int targetSum)
        diff --git a/dc/d67/subset__sum__dynamic_8cpp_a280fcfb2f6fe49a31c4da572e7032607_cgraph.map b/dc/d67/subset__sum__dynamic_8cpp_a280fcfb2f6fe49a31c4da572e7032607_cgraph.map deleted file mode 100644 index 05187c296..000000000 --- a/dc/d67/subset__sum__dynamic_8cpp_a280fcfb2f6fe49a31c4da572e7032607_cgraph.map +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/dc/d67/subset__sum__dynamic_8cpp_a280fcfb2f6fe49a31c4da572e7032607_cgraph.md5 b/dc/d67/subset__sum__dynamic_8cpp_a280fcfb2f6fe49a31c4da572e7032607_cgraph.md5 deleted file mode 100644 index 647a7d33e..000000000 --- a/dc/d67/subset__sum__dynamic_8cpp_a280fcfb2f6fe49a31c4da572e7032607_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -5397729e96e04f8af03e081b7077d247 \ No newline at end of file diff --git a/dc/d67/subset__sum__dynamic_8cpp_a280fcfb2f6fe49a31c4da572e7032607_cgraph.svg b/dc/d67/subset__sum__dynamic_8cpp_a280fcfb2f6fe49a31c4da572e7032607_cgraph.svg deleted file mode 100644 index f22723308..000000000 --- a/dc/d67/subset__sum__dynamic_8cpp_a280fcfb2f6fe49a31c4da572e7032607_cgraph.svg +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - - - - - - - -dynamic_programming::subset_sum::subset_sum_recursion - - -Node1 - - -dynamic_programming -::subset_sum::subset -_sum_recursion - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::vector::size - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/dc/d67/subset__sum__dynamic_8cpp_a280fcfb2f6fe49a31c4da572e7032607_cgraph_org.svg b/dc/d67/subset__sum__dynamic_8cpp_a280fcfb2f6fe49a31c4da572e7032607_cgraph_org.svg deleted file mode 100644 index f8942225c..000000000 --- a/dc/d67/subset__sum__dynamic_8cpp_a280fcfb2f6fe49a31c4da572e7032607_cgraph_org.svg +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - -dynamic_programming::subset_sum::subset_sum_recursion - - -Node1 - - -dynamic_programming -::subset_sum::subset -_sum_recursion - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::vector::size - - - - - -Node1->Node2 - - - - - - - - diff --git a/dc/d67/subset__sum__dynamic_8cpp_ac94e6c0dee11278ac0a5491f1b9a4a50_cgraph.map b/dc/d67/subset__sum__dynamic_8cpp_ac94e6c0dee11278ac0a5491f1b9a4a50_cgraph.map deleted file mode 100644 index 60ac19097..000000000 --- a/dc/d67/subset__sum__dynamic_8cpp_ac94e6c0dee11278ac0a5491f1b9a4a50_cgraph.map +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/dc/d67/subset__sum__dynamic_8cpp_ac94e6c0dee11278ac0a5491f1b9a4a50_cgraph.md5 b/dc/d67/subset__sum__dynamic_8cpp_ac94e6c0dee11278ac0a5491f1b9a4a50_cgraph.md5 deleted file mode 100644 index 52c04bf00..000000000 --- a/dc/d67/subset__sum__dynamic_8cpp_ac94e6c0dee11278ac0a5491f1b9a4a50_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -a799c8350acde7e0a640460bc007eeb6 \ No newline at end of file diff --git a/dc/d67/subset__sum__dynamic_8cpp_ac94e6c0dee11278ac0a5491f1b9a4a50_cgraph.svg b/dc/d67/subset__sum__dynamic_8cpp_ac94e6c0dee11278ac0a5491f1b9a4a50_cgraph.svg deleted file mode 100644 index 936c98fe2..000000000 --- a/dc/d67/subset__sum__dynamic_8cpp_ac94e6c0dee11278ac0a5491f1b9a4a50_cgraph.svg +++ /dev/null @@ -1,114 +0,0 @@ - - - - - - - - - - - - -dynamic_programming::subset_sum::subset_sum_problem - - -Node1 - - -dynamic_programming -::subset_sum::subset -_sum_problem - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::vector::size - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -dynamic_programming -::subset_sum::subset -_sum_recursion - - - - - -Node1->Node3 - - - - - - - - -Node3->Node2 - - - - - - - - -Node3->Node3 - - - - - - - - - - - - - diff --git a/dc/d67/subset__sum__dynamic_8cpp_ac94e6c0dee11278ac0a5491f1b9a4a50_cgraph_org.svg b/dc/d67/subset__sum__dynamic_8cpp_ac94e6c0dee11278ac0a5491f1b9a4a50_cgraph_org.svg deleted file mode 100644 index f6f0417e6..000000000 --- a/dc/d67/subset__sum__dynamic_8cpp_ac94e6c0dee11278ac0a5491f1b9a4a50_cgraph_org.svg +++ /dev/null @@ -1,88 +0,0 @@ - - - - - - -dynamic_programming::subset_sum::subset_sum_problem - - -Node1 - - -dynamic_programming -::subset_sum::subset -_sum_problem - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::vector::size - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -dynamic_programming -::subset_sum::subset -_sum_recursion - - - - - -Node1->Node3 - - - - - - - - -Node3->Node2 - - - - - - - - -Node3->Node3 - - - - - - - - diff --git a/dc/d67/subset__sum__dynamic_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/dc/d67/subset__sum__dynamic_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index d11a560f0..000000000 --- a/dc/d67/subset__sum__dynamic_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/dc/d67/subset__sum__dynamic_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/dc/d67/subset__sum__dynamic_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index 88eb0782b..000000000 --- a/dc/d67/subset__sum__dynamic_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -b99b125d4f3d2e424b8c91b3bc18eff5 \ No newline at end of file diff --git a/dc/d67/subset__sum__dynamic_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/dc/d67/subset__sum__dynamic_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 1ea8536db..000000000 --- a/dc/d67/subset__sum__dynamic_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/dc/d67/subset__sum__dynamic_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/dc/d67/subset__sum__dynamic_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 10e106712..000000000 --- a/dc/d67/subset__sum__dynamic_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - diff --git a/dc/d67/subset__sum__dynamic_8cpp_source.html b/dc/d67/subset__sum__dynamic_8cpp_source.html new file mode 100644 index 000000000..58ae7ddf7 --- /dev/null +++ b/dc/d67/subset__sum__dynamic_8cpp_source.html @@ -0,0 +1,229 @@ + + + + + + + + +TheAlgorithms/C++: dynamic_programming/subset_sum_dynamic.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
        +
        +

        Functions

        bool dynamic_programming::subset_sum::subset_sum_recursion (const std::vector< int > &arr, int targetSum, std::vector< std::unordered_map< int, bool > > *dp, int index=0)
        bool dynamic_programming::subset_sum::subset_sum_recursion (const std::vector< int > &arr, int targetSum, std::vector< std::unordered_map< int, bool > > *dp, int index=0)
         
        bool dynamic_programming::subset_sum::subset_sum_problem (const std::vector< int > &arr, const int targetSum)
        bool dynamic_programming::subset_sum::subset_sum_problem (const std::vector< int > &arr, const int targetSum)
         
        static void test ()
         Test Function.
        bool dynamic_programming::subset_sum::subset_sum_problem (const std::vector< int > & arr, const std::vector< int > & arr,
        bool dynamic_programming::subset_sum::subset_sum_recursion (const std::vector< int > & arr, const std::vector< int > & arr,
        std::vector< std::unordered_map< int, bool > > * dp, std::vector< std::unordered_map< int, bool > > * dp,
        + + + + + + +
        +
        TheAlgorithms/C++ 1.0.0 +
        +
        All the algorithms implemented in C++
        +
        +
        + + + + + + + + + +
        + +
        +
        +
        + +
        + +
        +
        + + +
        +
        +
        +
        +
        +
        Loading...
        +
        Searching...
        +
        No Matches
        +
        +
        +
        +
        + +
        +
        subset_sum_dynamic.cpp
        +
        +
        +Go to the documentation of this file.
        1
        +
        17#include <cassert>
        +
        18#include <iostream>
        +
        19#include <unordered_map>
        +
        20#include <vector>
        +
        21
        +
        26namespace dynamic_programming {
        +
        27
        +
        33namespace subset_sum {
        +
        34
        +
        +
        43bool subset_sum_recursion(const std::vector<int> &arr, int targetSum,
        +
        44 std::vector<std::unordered_map<int, bool>> *dp,
        +
        45 int index = 0) {
        +
        46 if (targetSum == 0) { // Found a valid subset with required sum.
        +
        47 return true;
        +
        48 }
        +
        49 if (index == arr.size()) { // End of array
        +
        50 return false;
        +
        51 }
        +
        52
        +
        53 if ((*dp)[index].count(targetSum)) { // Answer already present in map
        +
        54 return (*dp)[index][targetSum];
        +
        55 }
        +
        56
        +
        57 bool ans =
        +
        58 subset_sum_recursion(arr, targetSum - arr[index], dp, index + 1) ||
        +
        59 subset_sum_recursion(arr, targetSum, dp, index + 1);
        +
        60 (*dp)[index][targetSum] = ans; // Save ans in dp map.
        +
        61 return ans;
        +
        62}
        +
        +
        63
        +
        +
        70bool subset_sum_problem(const std::vector<int> &arr, const int targetSum) {
        +
        71 size_t n = arr.size();
        +
        72 std::vector<std::unordered_map<int, bool>> dp(n);
        +
        73 return subset_sum_recursion(arr, targetSum, &dp);
        +
        74}
        +
        +
        75} // namespace subset_sum
        +
        76} // namespace dynamic_programming
        +
        77
        +
        +
        82static void test() {
        +
        83 // custom input vector
        +
        84 std::vector<std::vector<int>> custom_input_arr(3);
        +
        85 custom_input_arr[0] = std::vector<int>{1, -10, 2, 31, -6};
        +
        86 custom_input_arr[1] = std::vector<int>{2, 3, 4};
        +
        87 custom_input_arr[2] = std::vector<int>{0, 1, 0, 1, 0};
        +
        88
        +
        89 std::vector<int> custom_input_target_sum(3);
        +
        90 custom_input_target_sum[0] = -14;
        +
        91 custom_input_target_sum[1] = 10;
        +
        92 custom_input_target_sum[2] = 2;
        +
        93
        +
        94 // calculated output vector by pal_part Function
        +
        95 std::vector<int> calculated_output(3);
        +
        96
        +
        97 for (int i = 0; i < 3; i++) {
        +
        98 calculated_output[i] =
        +
        99 dynamic_programming::subset_sum::subset_sum_problem(
        +
        100 custom_input_arr[i], custom_input_target_sum[i]);
        +
        101 }
        +
        102
        +
        103 // expected output vector
        +
        104 std::vector<bool> expected_output{true, false, true};
        +
        105
        +
        106 // Testing implementation via assert function
        +
        107 // It will throw error if any of the expected test fails
        +
        108 // Else it will give nothing
        +
        109 for (int i = 0; i < 3; i++) {
        +
        110 assert(expected_output[i] == calculated_output[i]);
        +
        111 }
        +
        112
        +
        113 std::cout << "All tests passed successfully!\n";
        +
        114}
        +
        +
        115
        +
        +
        120int main() {
        +
        121 test(); // execute the test
        +
        122 return 0;
        +
        123}
        +
        +
        for std::vector
        +
        Dynamic Programming algorithms.
        +
        Functions for [Sub-set sum problem] (https://en.wikipedia.org/wiki/Subset_sum_problem) algorithm.
        +
        bool subset_sum_recursion(const std::vector< int > &arr, int targetSum, std::vector< std::unordered_map< int, bool > > *dp, int index=0)
        +
        static void test()
        Test Function.
        +
        bool subset_sum_problem(const std::vector< int > &arr, const int targetSum)
        +
        int main()
        Main function.
        +
        +
        + + + + diff --git a/dc/d6d/power__of__2_8cpp.html b/dc/d6d/power__of__2_8cpp.html index 0670ad26d..3d512744e 100644 --- a/dc/d6d/power__of__2_8cpp.html +++ b/dc/d6d/power__of__2_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: bit_manipulation/power_of_2.cpp File Reference +TheAlgorithms/C++: bit_manipulation/power_of_2.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
        @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -121,7 +138,9 @@ Include dependency graph for power_of_2.cpp:
        -
        -
        Algorithms_in_C++ 1.0.0 +
        TheAlgorithms/C++ 1.0.0
        -
        Set of algorithms implemented in C++.
        +
        All the algorithms implemented in C++
        + +

        Go to the source code of this file.

        +
        @@ -144,6 +163,8 @@ Functions

        [Find whether a given number is power of 2] (https://www.geeksforgeeks.org/program-to-find-whether-a-given-number-is-power-of-2/) implementation

        We are given a positive integer number. We need to check whether the number is power of 2 or not.

        A binary number consists of two digits. They are 0 & 1. Digit 1 is known as set bit in computer terms. Worst Case Time Complexity: O(1) Space complexity: O(1)

        Author
        Prafful Gupta
        + +

        Definition in file power_of_2.cpp.

        Function Documentation

        ◆ main()

        @@ -162,17 +183,14 @@ Functions

        Main function.

        Returns
        0 on exit
        + +

        Definition at line 72 of file power_of_2.cpp.

        72 {
        73 test(); // run self-test implementations
        74 return 0;
        75}
        -
        static void test()
        Self-test implementations.
        Definition power_of_2.cpp:49
        -
        -Here is the call graph for this function:
        -
        -
        -
        - +
        static void test()
        Self-test implementations.
        + @@ -200,6 +218,8 @@ Here is the call graph for this function:

        Self-test implementations.

        Returns
        void
        + +

        Definition at line 49 of file power_of_2.cpp.

        49 {
        50 // n = 4 return true
        51 assert(bit_manipulation::isPowerOfTwo(4) == true);
        @@ -217,17 +237,10 @@ Here is the call graph for this function:
        63 assert(bit_manipulation::isPowerOfTwo(97) == false);
        64 // n = 1024 return true
        65 assert(bit_manipulation::isPowerOfTwo(1024) == true);
        -
        66 std::cout << "All test cases successfully passed!" << std::endl;
        +
        66 std::cout << "All test cases successfully passed!" << std::endl;
        67}
        - -
        T endl(T... args)
        -
        bool isPowerOfTwo(std ::int64_t n)
        The main function implements check for power of 2.
        Definition power_of_2.cpp:32
        -
        -Here is the call graph for this function:
        -
        -
        -
        - +
        bool isPowerOfTwo(std ::int64_t n)
        The main function implements check for power of 2.
        + diff --git a/dc/d6d/power__of__2_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map b/dc/d6d/power__of__2_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map deleted file mode 100644 index fce074506..000000000 --- a/dc/d6d/power__of__2_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/dc/d6d/power__of__2_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 b/dc/d6d/power__of__2_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 deleted file mode 100644 index c44462b45..000000000 --- a/dc/d6d/power__of__2_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -e93e6ad494026c8e7ae0a9ddff77eb2d \ No newline at end of file diff --git a/dc/d6d/power__of__2_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg b/dc/d6d/power__of__2_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg deleted file mode 100644 index 0e957865f..000000000 --- a/dc/d6d/power__of__2_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -bit_manipulation::isPower -OfTwo - - - - - -Node1->Node3 - - - - - - - - - - - - - diff --git a/dc/d6d/power__of__2_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg b/dc/d6d/power__of__2_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg deleted file mode 100644 index 3fa7848e7..000000000 --- a/dc/d6d/power__of__2_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -bit_manipulation::isPower -OfTwo - - - - - -Node1->Node3 - - - - - - - - diff --git a/dc/d6d/power__of__2_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/dc/d6d/power__of__2_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 6ebb67c75..000000000 --- a/dc/d6d/power__of__2_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/dc/d6d/power__of__2_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/dc/d6d/power__of__2_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index 1ad4e467b..000000000 --- a/dc/d6d/power__of__2_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -1b85088c747a5d8cf79183d934a359f1 \ No newline at end of file diff --git a/dc/d6d/power__of__2_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/dc/d6d/power__of__2_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 53320ae63..000000000 --- a/dc/d6d/power__of__2_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,102 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -bit_manipulation::isPower -OfTwo - - - - - -Node2->Node4 - - - - - - - - - - - - - diff --git a/dc/d6d/power__of__2_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/dc/d6d/power__of__2_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index b447111c8..000000000 --- a/dc/d6d/power__of__2_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -bit_manipulation::isPower -OfTwo - - - - - -Node2->Node4 - - - - - - - - diff --git a/dc/d6d/power__of__2_8cpp_source.html b/dc/d6d/power__of__2_8cpp_source.html new file mode 100644 index 000000000..e9d344ef9 --- /dev/null +++ b/dc/d6d/power__of__2_8cpp_source.html @@ -0,0 +1,189 @@ + + + + + + + + +TheAlgorithms/C++: bit_manipulation/power_of_2.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
        +
        +

        Namespaces

        namespace  bit_manipulation
        + + + + + + +
        +
        TheAlgorithms/C++ 1.0.0 +
        +
        All the algorithms implemented in C++
        +
        +
        + + + + + + + + + +
        + +
        +
        +
        + +
        + +
        +
        + + +
        +
        +
        +
        +
        +
        Loading...
        +
        Searching...
        +
        No Matches
        +
        +
        +
        +
        + +
        +
        power_of_2.cpp
        +
        +
        +Go to the documentation of this file.
        1
        +
        18#include <cassert>
        +
        19#include <cstdint>
        +
        20#include <iostream>
        +
        21
        +
        26namespace bit_manipulation {
        +
        +
        32bool isPowerOfTwo(std ::int64_t n) { // int64_t is preferred over int so that
        +
        33 // no Overflow can be there.
        +
        34
        +
        35 return n > 0 && !(n & n - 1); // If we subtract a power of 2 numbers by 1
        +
        36 // then all unset bits after the only set bit become set; and the set bit
        +
        37 // becomes unset.
        +
        38
        +
        39 // If a number n is a power of 2 then bitwise and of n-1 and n will be zero.
        +
        40 // The expression n&(n-1) will not work when n is 0.
        +
        41 // To handle this case also, our expression will become n& (!n&(n-1))
        +
        42}
        +
        +
        43} // namespace bit_manipulation
        +
        44
        +
        +
        49static void test() {
        +
        50 // n = 4 return true
        +
        51 assert(bit_manipulation::isPowerOfTwo(4) == true);
        +
        52 // n = 6 return false
        +
        53 assert(bit_manipulation::isPowerOfTwo(6) == false);
        +
        54 // n = 13 return false
        +
        55 assert(bit_manipulation::isPowerOfTwo(13) == false);
        +
        56 // n = 64 return true
        +
        57 assert(bit_manipulation::isPowerOfTwo(64) == true);
        +
        58 // n = 15 return false
        +
        59 assert(bit_manipulation::isPowerOfTwo(15) == false);
        +
        60 // n = 32 return true
        +
        61 assert(bit_manipulation::isPowerOfTwo(32) == true);
        +
        62 // n = 97 return false
        +
        63 assert(bit_manipulation::isPowerOfTwo(97) == false);
        +
        64 // n = 1024 return true
        +
        65 assert(bit_manipulation::isPowerOfTwo(1024) == true);
        +
        66 std::cout << "All test cases successfully passed!" << std::endl;
        +
        67}
        +
        +
        +
        72int main() {
        +
        73 test(); // run self-test implementations
        +
        74 return 0;
        +
        75}
        +
        + +
        bool isPowerOfTwo(std ::int64_t n)
        The main function implements check for power of 2.
        +
        static void test()
        Self-test implementations.
        +
        int main()
        Main function.
        +
        +
        + + + + diff --git a/dc/d6d/structstd_1_1is__arithmetic_3_01uint256__t_01_4.html b/dc/d6d/structstd_1_1is__arithmetic_3_01uint256__t_01_4.html index 97f0c0e1b..14a6d9827 100644 --- a/dc/d6d/structstd_1_1is__arithmetic_3_01uint256__t_01_4.html +++ b/dc/d6d/structstd_1_1is__arithmetic_3_01uint256__t_01_4.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: std::is_arithmetic< uint256_t > Struct Reference +TheAlgorithms/C++: std::is_arithmetic< uint256_t > Struct Reference + + + @@ -18,14 +24,24 @@ - - + +
        @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -117,7 +134,10 @@ Collaboration diagram for std::is_arithmetic< uint256_t >:
        [legend]
        -
        The documentation for this struct was generated from the following file:
          +

          Detailed Description

          +
          +

          Definition at line 24 of file uint256_t.hpp.

          +

          The documentation for this struct was generated from the following file: @@ -125,7 +145,7 @@ Collaboration diagram for std::is_arithmetic< uint256_t >: diff --git a/dc/d82/area_8cpp.html b/dc/d82/area_8cpp.html index 3c202715f..23b76509f 100644 --- a/dc/d82/area_8cpp.html +++ b/dc/d82/area_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: math/area.cpp File Reference +TheAlgorithms/C++: math/area.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
          @@ -33,10 +49,11 @@ MathJax.Hub.Config({
        -
        Algorithms_in_C++ 1.0.0 +
        TheAlgorithms/C++ 1.0.0
        -
        Set of algorithms implemented in C++.
        +
        All the algorithms implemented in C++
        + @@ -123,7 +140,9 @@ Include dependency graph for area.cpp:
        -
        -
        Algorithms_in_C++ 1.0.0 +
        TheAlgorithms/C++ 1.0.0
        -
        Set of algorithms implemented in C++.
        +
        All the algorithms implemented in C++
        + +

        Go to the source code of this file.

        +
        @@ -179,7 +198,26 @@ Functions

        Implementations for the area of various shapes.

        The area of a shape is the amount of 2D space it takes up. All shapes have a formula to get the area of any given shape. These implementations support multiple return types.

        Author
        Focusucof
        -

        Function Documentation

        + +

        Definition in file area.cpp.

        +

        Macro Definition Documentation

        + +

        ◆ _USE_MATH_DEFINES

        + +
        +
        +

        Namespaces

        namespace  math
        + + + +
        #define _USE_MATH_DEFINES
        +
        + +

        Definition at line 11 of file area.cpp.

        + +
        + +

        Function Documentation

        ◆ main()

        @@ -197,17 +235,14 @@ Functions

        Main function.

        Returns
        0 on exit
        + +

        Definition at line 300 of file area.cpp.

        300 {
        301 test(); // run self-test implementations
        302 return 0;
        303}
        -
        static void test()
        Self-test implementations.
        Definition area.cpp:130
        -
        -Here is the call graph for this function:
        -
        -
        -
        - +
        static void test()
        Self-test implementations.
        Definition area.cpp:130
        + @@ -235,6 +270,8 @@ Here is the call graph for this function:

        Self-test implementations.

        Returns
        void
        + +

        Definition at line 130 of file area.cpp.

        130 {
        131 // I/O variables for testing
        132 uint16_t int_length = 0; // 16 bit integer length input
        @@ -260,24 +297,24 @@ Here is the call graph for this function:
        152 int_expected = 25;
        153 int_area = math::square_area(int_length);
        154
        -
        155 std::cout << "AREA OF A SQUARE (int)" << std::endl;
        -
        156 std::cout << "Input Length: " << int_length << std::endl;
        -
        157 std::cout << "Expected Output: " << int_expected << std::endl;
        -
        158 std::cout << "Output: " << int_area << std::endl;
        +
        155 std::cout << "AREA OF A SQUARE (int)" << std::endl;
        +
        156 std::cout << "Input Length: " << int_length << std::endl;
        +
        157 std::cout << "Expected Output: " << int_expected << std::endl;
        +
        158 std::cout << "Output: " << int_area << std::endl;
        159 assert(int_area == int_expected);
        -
        160 std::cout << "TEST PASSED" << std::endl << std::endl;
        +
        160 std::cout << "TEST PASSED" << std::endl << std::endl;
        161
        162 // 2nd test
        163 float_length = 2.5;
        164 float_expected = 6.25;
        165 float_area = math::square_area(float_length);
        166
        -
        167 std::cout << "AREA OF A SQUARE (float)" << std::endl;
        -
        168 std::cout << "Input Length: " << float_length << std::endl;
        -
        169 std::cout << "Expected Output: " << float_expected << std::endl;
        -
        170 std::cout << "Output: " << float_area << std::endl;
        +
        167 std::cout << "AREA OF A SQUARE (float)" << std::endl;
        +
        168 std::cout << "Input Length: " << float_length << std::endl;
        +
        169 std::cout << "Expected Output: " << float_expected << std::endl;
        +
        170 std::cout << "Output: " << float_area << std::endl;
        171 assert(float_area == float_expected);
        -
        172 std::cout << "TEST PASSED" << std::endl << std::endl;
        +
        172 std::cout << "TEST PASSED" << std::endl << std::endl;
        173
        174 // 3rd test
        175 int_length = 4;
        @@ -285,13 +322,13 @@ Here is the call graph for this function:
        177 int_expected = 28;
        178 int_area = math::rect_area(int_length, int_width);
        179
        -
        180 std::cout << "AREA OF A RECTANGLE (int)" << std::endl;
        -
        181 std::cout << "Input Length: " << int_length << std::endl;
        -
        182 std::cout << "Input Width: " << int_width << std::endl;
        -
        183 std::cout << "Expected Output: " << int_expected << std::endl;
        -
        184 std::cout << "Output: " << int_area << std::endl;
        +
        180 std::cout << "AREA OF A RECTANGLE (int)" << std::endl;
        +
        181 std::cout << "Input Length: " << int_length << std::endl;
        +
        182 std::cout << "Input Width: " << int_width << std::endl;
        +
        183 std::cout << "Expected Output: " << int_expected << std::endl;
        +
        184 std::cout << "Output: " << int_area << std::endl;
        185 assert(int_area == int_expected);
        -
        186 std::cout << "TEST PASSED" << std::endl << std::endl;
        +
        186 std::cout << "TEST PASSED" << std::endl << std::endl;
        187
        188 // 4th test
        189 double_length = 2.5;
        @@ -299,13 +336,13 @@ Here is the call graph for this function:
        191 double_expected = 14.25;
        192 double_area = math::rect_area(double_length, double_width);
        193
        -
        194 std::cout << "AREA OF A RECTANGLE (double)" << std::endl;
        -
        195 std::cout << "Input Length: " << double_length << std::endl;
        -
        196 std::cout << "Input Width: " << double_width << std::endl;
        -
        197 std::cout << "Expected Output: " << double_expected << std::endl;
        -
        198 std::cout << "Output: " << double_area << std::endl;
        +
        194 std::cout << "AREA OF A RECTANGLE (double)" << std::endl;
        +
        195 std::cout << "Input Length: " << double_length << std::endl;
        +
        196 std::cout << "Input Width: " << double_width << std::endl;
        +
        197 std::cout << "Expected Output: " << double_expected << std::endl;
        +
        198 std::cout << "Output: " << double_area << std::endl;
        199 assert(double_area == double_expected);
        -
        200 std::cout << "TEST PASSED" << std::endl << std::endl;
        +
        200 std::cout << "TEST PASSED" << std::endl << std::endl;
        201
        202 // 5th test
        203 int_base = 10;
        @@ -313,13 +350,13 @@ Here is the call graph for this function:
        205 int_expected = 15;
        206 int_area = math::triangle_area(int_base, int_height);
        207
        -
        208 std::cout << "AREA OF A TRIANGLE" << std::endl;
        -
        209 std::cout << "Input Base: " << int_base << std::endl;
        -
        210 std::cout << "Input Height: " << int_height << std::endl;
        -
        211 std::cout << "Expected Output: " << int_expected << std::endl;
        -
        212 std::cout << "Output: " << int_area << std::endl;
        +
        208 std::cout << "AREA OF A TRIANGLE" << std::endl;
        +
        209 std::cout << "Input Base: " << int_base << std::endl;
        +
        210 std::cout << "Input Height: " << int_height << std::endl;
        +
        211 std::cout << "Expected Output: " << int_expected << std::endl;
        +
        212 std::cout << "Output: " << int_area << std::endl;
        213 assert(int_area == int_expected);
        -
        214 std::cout << "TEST PASSED" << std::endl << std::endl;
        +
        214 std::cout << "TEST PASSED" << std::endl << std::endl;
        215
        216 // 6th test
        217 double_radius = 6;
        @@ -328,12 +365,12 @@ Here is the call graph for this function:
        220 // truncates after 14 decimal places
        221 double_area = math::circle_area(double_radius);
        222
        -
        223 std::cout << "AREA OF A CIRCLE" << std::endl;
        -
        224 std::cout << "Input Radius: " << double_radius << std::endl;
        -
        225 std::cout << "Expected Output: " << double_expected << std::endl;
        -
        226 std::cout << "Output: " << double_area << std::endl;
        +
        223 std::cout << "AREA OF A CIRCLE" << std::endl;
        +
        224 std::cout << "Input Radius: " << double_radius << std::endl;
        +
        225 std::cout << "Expected Output: " << double_expected << std::endl;
        +
        226 std::cout << "Output: " << double_area << std::endl;
        227 assert(double_area == double_expected);
        -
        228 std::cout << "TEST PASSED" << std::endl << std::endl;
        +
        228 std::cout << "TEST PASSED" << std::endl << std::endl;
        229
        230 // 7th test
        231 int_base = 6;
        @@ -341,25 +378,25 @@ Here is the call graph for this function:
        233 int_expected = 42;
        234 int_area = math::parallelogram_area(int_base, int_height);
        235
        -
        236 std::cout << "AREA OF A PARALLELOGRAM" << std::endl;
        -
        237 std::cout << "Input Base: " << int_base << std::endl;
        -
        238 std::cout << "Input Height: " << int_height << std::endl;
        -
        239 std::cout << "Expected Output: " << int_expected << std::endl;
        -
        240 std::cout << "Output: " << int_area << std::endl;
        +
        236 std::cout << "AREA OF A PARALLELOGRAM" << std::endl;
        +
        237 std::cout << "Input Base: " << int_base << std::endl;
        +
        238 std::cout << "Input Height: " << int_height << std::endl;
        +
        239 std::cout << "Expected Output: " << int_expected << std::endl;
        +
        240 std::cout << "Output: " << int_area << std::endl;
        241 assert(int_area == int_expected);
        -
        242 std::cout << "TEST PASSED" << std::endl << std::endl;
        +
        242 std::cout << "TEST PASSED" << std::endl << std::endl;
        243
        244 // 8th test
        245 double_length = 5.5;
        246 double_expected = 181.5;
        247 double_area = math::cube_surface_area(double_length);
        248
        -
        249 std::cout << "SURFACE AREA OF A CUBE" << std::endl;
        -
        250 std::cout << "Input Length: " << double_length << std::endl;
        -
        251 std::cout << "Expected Output: " << double_expected << std::endl;
        -
        252 std::cout << "Output: " << double_area << std::endl;
        +
        249 std::cout << "SURFACE AREA OF A CUBE" << std::endl;
        +
        250 std::cout << "Input Length: " << double_length << std::endl;
        +
        251 std::cout << "Expected Output: " << double_expected << std::endl;
        +
        252 std::cout << "Output: " << double_area << std::endl;
        253 assert(double_area == double_expected);
        -
        254 std::cout << "TEST PASSED" << std::endl << std::endl;
        +
        254 std::cout << "TEST PASSED" << std::endl << std::endl;
        255
        256 // 9th test
        257 double_radius = 10.0;
        @@ -367,12 +404,12 @@ Here is the call graph for this function:
        259 // value gets truncated
        260 double_area = math::sphere_surface_area(double_radius);
        261
        -
        262 std::cout << "SURFACE AREA OF A SPHERE" << std::endl;
        -
        263 std::cout << "Input Radius: " << double_radius << std::endl;
        -
        264 std::cout << "Expected Output: " << double_expected << std::endl;
        -
        265 std::cout << "Output: " << double_area << std::endl;
        +
        262 std::cout << "SURFACE AREA OF A SPHERE" << std::endl;
        +
        263 std::cout << "Input Radius: " << double_radius << std::endl;
        +
        264 std::cout << "Expected Output: " << double_expected << std::endl;
        +
        265 std::cout << "Output: " << double_area << std::endl;
        266 assert(double_area == double_expected);
        -
        267 std::cout << "TEST PASSED" << std::endl << std::endl;
        +
        267 std::cout << "TEST PASSED" << std::endl << std::endl;
        268
        269 // 10th test
        270 double_radius = 4.0;
        @@ -380,43 +417,36 @@ Here is the call graph for this function:
        272 double_expected = 276.46015351590177;
        273 double_area = math::cylinder_surface_area(double_radius, double_height);
        274
        -
        275 std::cout << "SURFACE AREA OF A CYLINDER" << std::endl;
        -
        276 std::cout << "Input Radius: " << double_radius << std::endl;
        -
        277 std::cout << "Input Height: " << double_height << std::endl;
        -
        278 std::cout << "Expected Output: " << double_expected << std::endl;
        -
        279 std::cout << "Output: " << double_area << std::endl;
        +
        275 std::cout << "SURFACE AREA OF A CYLINDER" << std::endl;
        +
        276 std::cout << "Input Radius: " << double_radius << std::endl;
        +
        277 std::cout << "Input Height: " << double_height << std::endl;
        +
        278 std::cout << "Expected Output: " << double_expected << std::endl;
        +
        279 std::cout << "Output: " << double_area << std::endl;
        280 assert(double_area == double_expected);
        -
        281 std::cout << "TEST PASSED" << std::endl << std::endl;
        +
        281 std::cout << "TEST PASSED" << std::endl << std::endl;
        282
        283 // 11th test
        284 double_radius = 10.0;
        285 double_expected = 942.4777960769379;
        286 double_area = math::hemi_sphere_surface_area(double_radius);
        287
        -
        288 std::cout << "SURFACE AREA OF A HEMI-SPHERE" << std::endl;
        -
        289 std::cout << "Input Radius: " << double_radius << std::endl;
        -
        290 std::cout << "Expected Output: " << double_expected << std::endl;
        -
        291 std::cout << "Output: " << double_area << std::endl;
        +
        288 std::cout << "SURFACE AREA OF A HEMI-SPHERE" << std::endl;
        +
        289 std::cout << "Input Radius: " << double_radius << std::endl;
        +
        290 std::cout << "Expected Output: " << double_expected << std::endl;
        +
        291 std::cout << "Output: " << double_area << std::endl;
        292 assert(double_area == double_expected);
        -
        293 std::cout << "TEST PASSED" << std::endl << std::endl;
        +
        293 std::cout << "TEST PASSED" << std::endl << std::endl;
        294}
        - -
        T endl(T... args)
        -
        T hemi_sphere_surface_area(T radius)
        surface area of a hemi-sphere ( 3 * pi * r^2)
        Definition area.cpp:121
        -
        T circle_area(T radius)
        area of a circle (pi
        Definition area.cpp:63
        -
        T parallelogram_area(T base, T height)
        area of a parallelogram (b * h)
        Definition area.cpp:75
        -
        T square_area(T length)
        area of a square (l * l)
        Definition area.cpp:29
        -
        T rect_area(T length, T width)
        area of a rectangle (l * w)
        Definition area.cpp:40
        -
        T triangle_area(T base, T height)
        area of a triangle (b * h / 2)
        Definition area.cpp:52
        -
        T sphere_surface_area(T radius)
        surface area of a sphere ( 4 * pi * r^2)
        Definition area.cpp:97
        -
        T cube_surface_area(T length)
        surface area of a cube ( 6 * (l
        Definition area.cpp:86
        -
        T cylinder_surface_area(T radius, T height)
        surface area of a cylinder (2 * pi * r * h + 2 * pi * r^2)
        Definition area.cpp:109
        -
        -Here is the call graph for this function:
        -
        -
        -
        - +
        T hemi_sphere_surface_area(T radius)
        surface area of a hemi-sphere ( 3 * pi * r^2)
        Definition area.cpp:121
        +
        T circle_area(T radius)
        area of a circle (pi
        Definition area.cpp:63
        +
        T parallelogram_area(T base, T height)
        area of a parallelogram (b * h)
        Definition area.cpp:75
        +
        T square_area(T length)
        area of a square (l * l)
        Definition area.cpp:29
        +
        T rect_area(T length, T width)
        area of a rectangle (l * w)
        Definition area.cpp:40
        +
        T triangle_area(T base, T height)
        area of a triangle (b * h / 2)
        Definition area.cpp:52
        +
        T sphere_surface_area(T radius)
        surface area of a sphere ( 4 * pi * r^2)
        Definition area.cpp:97
        +
        T cube_surface_area(T length)
        surface area of a cube ( 6 * (l
        Definition area.cpp:86
        +
        T cylinder_surface_area(T radius, T height)
        surface area of a cylinder (2 * pi * r * h + 2 * pi * r^2)
        Definition area.cpp:109
        + diff --git a/dc/d82/area_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map b/dc/d82/area_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map deleted file mode 100644 index a6b19b0f2..000000000 --- a/dc/d82/area_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/dc/d82/area_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 b/dc/d82/area_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 deleted file mode 100644 index a04292752..000000000 --- a/dc/d82/area_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -1e1de9672f73bb85eb30c13febc5363d \ No newline at end of file diff --git a/dc/d82/area_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg b/dc/d82/area_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg deleted file mode 100644 index d750fb30a..000000000 --- a/dc/d82/area_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg +++ /dev/null @@ -1,290 +0,0 @@ - - - - - - - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -math::circle_area - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -math::cube_surface_area - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -math::cylinder_surface_area - - - - - -Node1->Node4 - - - - - - - - -Node7 - - -std::endl - - - - - -Node1->Node7 - - - - - - - - -Node8 - - -math::hemi_sphere_surface_area - - - - - -Node1->Node8 - - - - - - - - -Node9 - - -math::parallelogram_area - - - - - -Node1->Node9 - - - - - - - - -Node10 - - -math::rect_area - - - - - -Node1->Node10 - - - - - - - - -Node11 - - -math::sphere_surface_area - - - - - -Node1->Node11 - - - - - - - - -Node12 - - -math::square_area - - - - - -Node1->Node12 - - - - - - - - -Node13 - - -math::triangle_area - - - - - -Node1->Node13 - - - - - - - - -Node5 - - -height - - - - - -Node4->Node5 - - - - - - - - -Node5->Node5 - - - - - - - - -Node6 - - -std::max - - - - - -Node5->Node6 - - - - - - - - -Node9->Node5 - - - - - - - - -Node13->Node5 - - - - - - - - - - - - - diff --git a/dc/d82/area_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg b/dc/d82/area_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg deleted file mode 100644 index 04139022c..000000000 --- a/dc/d82/area_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg +++ /dev/null @@ -1,264 +0,0 @@ - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -math::circle_area - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -math::cube_surface_area - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -math::cylinder_surface_area - - - - - -Node1->Node4 - - - - - - - - -Node7 - - -std::endl - - - - - -Node1->Node7 - - - - - - - - -Node8 - - -math::hemi_sphere_surface_area - - - - - -Node1->Node8 - - - - - - - - -Node9 - - -math::parallelogram_area - - - - - -Node1->Node9 - - - - - - - - -Node10 - - -math::rect_area - - - - - -Node1->Node10 - - - - - - - - -Node11 - - -math::sphere_surface_area - - - - - -Node1->Node11 - - - - - - - - -Node12 - - -math::square_area - - - - - -Node1->Node12 - - - - - - - - -Node13 - - -math::triangle_area - - - - - -Node1->Node13 - - - - - - - - -Node5 - - -height - - - - - -Node4->Node5 - - - - - - - - -Node5->Node5 - - - - - - - - -Node6 - - -std::max - - - - - -Node5->Node6 - - - - - - - - -Node9->Node5 - - - - - - - - -Node13->Node5 - - - - - - - - diff --git a/dc/d82/area_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/dc/d82/area_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 6256f17c7..000000000 --- a/dc/d82/area_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/dc/d82/area_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/dc/d82/area_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index 5ad2fa7f8..000000000 --- a/dc/d82/area_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -4a744117c6941c5796e6d1ca5cf59e82 \ No newline at end of file diff --git a/dc/d82/area_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/dc/d82/area_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index abf27df6a..000000000 --- a/dc/d82/area_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,308 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -math::circle_area - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -math::cube_surface_area - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -math::cylinder_surface_area - - - - - -Node2->Node5 - - - - - - - - -Node8 - - -std::endl - - - - - -Node2->Node8 - - - - - - - - -Node9 - - -math::hemi_sphere_surface_area - - - - - -Node2->Node9 - - - - - - - - -Node10 - - -math::parallelogram_area - - - - - -Node2->Node10 - - - - - - - - -Node11 - - -math::rect_area - - - - - -Node2->Node11 - - - - - - - - -Node12 - - -math::sphere_surface_area - - - - - -Node2->Node12 - - - - - - - - -Node13 - - -math::square_area - - - - - -Node2->Node13 - - - - - - - - -Node14 - - -math::triangle_area - - - - - -Node2->Node14 - - - - - - - - -Node6 - - -height - - - - - -Node5->Node6 - - - - - - - - -Node6->Node6 - - - - - - - - -Node7 - - -std::max - - - - - -Node6->Node7 - - - - - - - - -Node10->Node6 - - - - - - - - -Node14->Node6 - - - - - - - - - - - - - diff --git a/dc/d82/area_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/dc/d82/area_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 35c7dd4ce..000000000 --- a/dc/d82/area_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,282 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -math::circle_area - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -math::cube_surface_area - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -math::cylinder_surface_area - - - - - -Node2->Node5 - - - - - - - - -Node8 - - -std::endl - - - - - -Node2->Node8 - - - - - - - - -Node9 - - -math::hemi_sphere_surface_area - - - - - -Node2->Node9 - - - - - - - - -Node10 - - -math::parallelogram_area - - - - - -Node2->Node10 - - - - - - - - -Node11 - - -math::rect_area - - - - - -Node2->Node11 - - - - - - - - -Node12 - - -math::sphere_surface_area - - - - - -Node2->Node12 - - - - - - - - -Node13 - - -math::square_area - - - - - -Node2->Node13 - - - - - - - - -Node14 - - -math::triangle_area - - - - - -Node2->Node14 - - - - - - - - -Node6 - - -height - - - - - -Node5->Node6 - - - - - - - - -Node6->Node6 - - - - - - - - -Node7 - - -std::max - - - - - -Node6->Node7 - - - - - - - - -Node10->Node6 - - - - - - - - -Node14->Node6 - - - - - - - - diff --git a/dc/d82/area_8cpp_source.html b/dc/d82/area_8cpp_source.html new file mode 100644 index 000000000..7d575c9a9 --- /dev/null +++ b/dc/d82/area_8cpp_source.html @@ -0,0 +1,397 @@ + + + + + + + + +TheAlgorithms/C++: math/area.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
        +
        + + + + + + + +
        +
        TheAlgorithms/C++ 1.0.0 +
        +
        All the algorithms implemented in C++
        +
        +
        + + + + + + + + +
        +
        + +
        +
        +
        + +
        + +
        +
        + + +
        +
        +
        +
        +
        +
        Loading...
        +
        Searching...
        +
        No Matches
        +
        +
        +
        +
        + +
        +
        area.cpp
        +
        +
        +Go to the documentation of this file.
        1
        +
        11#define _USE_MATH_DEFINES
        +
        12#include <cassert>
        +
        13#include <cmath>
        +
        14#include <cmath>
        +
        15#include <cstdint>
        +
        16#include <iostream>
        +
        17
        +
        22namespace math {
        +
        28template <typename T>
        +
        +
        29T square_area(T length) {
        +
        30 return length * length;
        +
        31}
        +
        +
        32
        +
        39template <typename T>
        +
        +
        40T rect_area(T length, T width) {
        +
        41 return length * width;
        +
        42}
        +
        +
        43
        +
        51template <typename T>
        +
        +
        52T triangle_area(T base, T height) {
        +
        53 return base * height / 2;
        +
        54}
        +
        +
        55
        +
        62template <typename T>
        +
        +
        63T circle_area(T radius) {
        +
        64 return M_PI * pow(radius, 2);
        +
        65}
        +
        +
        66
        +
        74template <typename T>
        +
        + +
        76 return base * height;
        +
        77}
        +
        +
        78
        +
        85template <typename T>
        +
        +
        86T cube_surface_area(T length) {
        +
        87 return 6 * length * length;
        +
        88}
        +
        +
        89
        +
        96template <typename T>
        +
        + +
        98 return 4 * M_PI * pow(radius, 2);
        +
        99}
        +
        +
        100
        +
        108template <typename T>
        +
        + +
        110 return 2 * M_PI * radius * height + 2 * M_PI * pow(radius, 2);
        +
        111}
        +
        +
        112
        +
        120template <typename T>
        +
        + +
        122 return 3 * M_PI * pow(radius, 2);
        +
        123}
        +
        +
        124} // namespace math
        +
        125
        +
        +
        130static void test() {
        +
        131 // I/O variables for testing
        +
        132 uint16_t int_length = 0; // 16 bit integer length input
        +
        133 uint16_t int_width = 0; // 16 bit integer width input
        +
        134 uint16_t int_base = 0; // 16 bit integer base input
        +
        135 uint16_t int_height = 0; // 16 bit integer height input
        +
        136 uint16_t int_expected = 0; // 16 bit integer expected output
        +
        137 uint16_t int_area = 0; // 16 bit integer output
        +
        138
        +
        139 float float_length = NAN; // float length input
        +
        140 float float_expected = NAN; // float expected output
        +
        141 float float_area = NAN; // float output
        +
        142
        +
        143 double double_length = NAN; // double length input
        +
        144 double double_width = NAN; // double width input
        +
        145 double double_radius = NAN; // double radius input
        +
        146 double double_height = NAN; // double height input
        +
        147 double double_expected = NAN; // double expected output
        +
        148 double double_area = NAN; // double output
        +
        149
        +
        150 // 1st test
        +
        151 int_length = 5;
        +
        152 int_expected = 25;
        +
        153 int_area = math::square_area(int_length);
        +
        154
        +
        155 std::cout << "AREA OF A SQUARE (int)" << std::endl;
        +
        156 std::cout << "Input Length: " << int_length << std::endl;
        +
        157 std::cout << "Expected Output: " << int_expected << std::endl;
        +
        158 std::cout << "Output: " << int_area << std::endl;
        +
        159 assert(int_area == int_expected);
        +
        160 std::cout << "TEST PASSED" << std::endl << std::endl;
        +
        161
        +
        162 // 2nd test
        +
        163 float_length = 2.5;
        +
        164 float_expected = 6.25;
        +
        165 float_area = math::square_area(float_length);
        +
        166
        +
        167 std::cout << "AREA OF A SQUARE (float)" << std::endl;
        +
        168 std::cout << "Input Length: " << float_length << std::endl;
        +
        169 std::cout << "Expected Output: " << float_expected << std::endl;
        +
        170 std::cout << "Output: " << float_area << std::endl;
        +
        171 assert(float_area == float_expected);
        +
        172 std::cout << "TEST PASSED" << std::endl << std::endl;
        +
        173
        +
        174 // 3rd test
        +
        175 int_length = 4;
        +
        176 int_width = 7;
        +
        177 int_expected = 28;
        +
        178 int_area = math::rect_area(int_length, int_width);
        +
        179
        +
        180 std::cout << "AREA OF A RECTANGLE (int)" << std::endl;
        +
        181 std::cout << "Input Length: " << int_length << std::endl;
        +
        182 std::cout << "Input Width: " << int_width << std::endl;
        +
        183 std::cout << "Expected Output: " << int_expected << std::endl;
        +
        184 std::cout << "Output: " << int_area << std::endl;
        +
        185 assert(int_area == int_expected);
        +
        186 std::cout << "TEST PASSED" << std::endl << std::endl;
        +
        187
        +
        188 // 4th test
        +
        189 double_length = 2.5;
        +
        190 double_width = 5.7;
        +
        191 double_expected = 14.25;
        +
        192 double_area = math::rect_area(double_length, double_width);
        +
        193
        +
        194 std::cout << "AREA OF A RECTANGLE (double)" << std::endl;
        +
        195 std::cout << "Input Length: " << double_length << std::endl;
        +
        196 std::cout << "Input Width: " << double_width << std::endl;
        +
        197 std::cout << "Expected Output: " << double_expected << std::endl;
        +
        198 std::cout << "Output: " << double_area << std::endl;
        +
        199 assert(double_area == double_expected);
        +
        200 std::cout << "TEST PASSED" << std::endl << std::endl;
        +
        201
        +
        202 // 5th test
        +
        203 int_base = 10;
        +
        204 int_height = 3;
        +
        205 int_expected = 15;
        +
        206 int_area = math::triangle_area(int_base, int_height);
        +
        207
        +
        208 std::cout << "AREA OF A TRIANGLE" << std::endl;
        +
        209 std::cout << "Input Base: " << int_base << std::endl;
        +
        210 std::cout << "Input Height: " << int_height << std::endl;
        +
        211 std::cout << "Expected Output: " << int_expected << std::endl;
        +
        212 std::cout << "Output: " << int_area << std::endl;
        +
        213 assert(int_area == int_expected);
        +
        214 std::cout << "TEST PASSED" << std::endl << std::endl;
        +
        215
        +
        216 // 6th test
        +
        217 double_radius = 6;
        +
        218 double_expected =
        +
        219 113.09733552923255; // rounded down because the double datatype
        +
        220 // truncates after 14 decimal places
        +
        221 double_area = math::circle_area(double_radius);
        +
        222
        +
        223 std::cout << "AREA OF A CIRCLE" << std::endl;
        +
        224 std::cout << "Input Radius: " << double_radius << std::endl;
        +
        225 std::cout << "Expected Output: " << double_expected << std::endl;
        +
        226 std::cout << "Output: " << double_area << std::endl;
        +
        227 assert(double_area == double_expected);
        +
        228 std::cout << "TEST PASSED" << std::endl << std::endl;
        +
        229
        +
        230 // 7th test
        +
        231 int_base = 6;
        +
        232 int_height = 7;
        +
        233 int_expected = 42;
        +
        234 int_area = math::parallelogram_area(int_base, int_height);
        +
        235
        +
        236 std::cout << "AREA OF A PARALLELOGRAM" << std::endl;
        +
        237 std::cout << "Input Base: " << int_base << std::endl;
        +
        238 std::cout << "Input Height: " << int_height << std::endl;
        +
        239 std::cout << "Expected Output: " << int_expected << std::endl;
        +
        240 std::cout << "Output: " << int_area << std::endl;
        +
        241 assert(int_area == int_expected);
        +
        242 std::cout << "TEST PASSED" << std::endl << std::endl;
        +
        243
        +
        244 // 8th test
        +
        245 double_length = 5.5;
        +
        246 double_expected = 181.5;
        +
        247 double_area = math::cube_surface_area(double_length);
        +
        248
        +
        249 std::cout << "SURFACE AREA OF A CUBE" << std::endl;
        +
        250 std::cout << "Input Length: " << double_length << std::endl;
        +
        251 std::cout << "Expected Output: " << double_expected << std::endl;
        +
        252 std::cout << "Output: " << double_area << std::endl;
        +
        253 assert(double_area == double_expected);
        +
        254 std::cout << "TEST PASSED" << std::endl << std::endl;
        +
        255
        +
        256 // 9th test
        +
        257 double_radius = 10.0;
        +
        258 double_expected = 1256.6370614359172; // rounded down because the whole
        +
        259 // value gets truncated
        +
        260 double_area = math::sphere_surface_area(double_radius);
        +
        261
        +
        262 std::cout << "SURFACE AREA OF A SPHERE" << std::endl;
        +
        263 std::cout << "Input Radius: " << double_radius << std::endl;
        +
        264 std::cout << "Expected Output: " << double_expected << std::endl;
        +
        265 std::cout << "Output: " << double_area << std::endl;
        +
        266 assert(double_area == double_expected);
        +
        267 std::cout << "TEST PASSED" << std::endl << std::endl;
        +
        268
        +
        269 // 10th test
        +
        270 double_radius = 4.0;
        +
        271 double_height = 7.0;
        +
        272 double_expected = 276.46015351590177;
        +
        273 double_area = math::cylinder_surface_area(double_radius, double_height);
        +
        274
        +
        275 std::cout << "SURFACE AREA OF A CYLINDER" << std::endl;
        +
        276 std::cout << "Input Radius: " << double_radius << std::endl;
        +
        277 std::cout << "Input Height: " << double_height << std::endl;
        +
        278 std::cout << "Expected Output: " << double_expected << std::endl;
        +
        279 std::cout << "Output: " << double_area << std::endl;
        +
        280 assert(double_area == double_expected);
        +
        281 std::cout << "TEST PASSED" << std::endl << std::endl;
        +
        282
        +
        283 // 11th test
        +
        284 double_radius = 10.0;
        +
        285 double_expected = 942.4777960769379;
        +
        286 double_area = math::hemi_sphere_surface_area(double_radius);
        +
        287
        +
        288 std::cout << "SURFACE AREA OF A HEMI-SPHERE" << std::endl;
        +
        289 std::cout << "Input Radius: " << double_radius << std::endl;
        +
        290 std::cout << "Expected Output: " << double_expected << std::endl;
        +
        291 std::cout << "Output: " << double_area << std::endl;
        +
        292 assert(double_area == double_expected);
        +
        293 std::cout << "TEST PASSED" << std::endl << std::endl;
        +
        294}
        +
        +
        295
        +
        +
        300int main() {
        +
        301 test(); // run self-test implementations
        +
        302 return 0;
        +
        303}
        +
        +
        static void test()
        Self-test implementations.
        Definition area.cpp:130
        +
        int main()
        Main function.
        Definition area.cpp:300
        +
        int height(node *root)
        Definition avltree.cpp:38
        +
        for assert
        +
        T hemi_sphere_surface_area(T radius)
        surface area of a hemi-sphere ( 3 * pi * r^2)
        Definition area.cpp:121
        +
        T circle_area(T radius)
        area of a circle (pi
        Definition area.cpp:63
        +
        T parallelogram_area(T base, T height)
        area of a parallelogram (b * h)
        Definition area.cpp:75
        +
        T square_area(T length)
        area of a square (l * l)
        Definition area.cpp:29
        +
        T rect_area(T length, T width)
        area of a rectangle (l * w)
        Definition area.cpp:40
        +
        T triangle_area(T base, T height)
        area of a triangle (b * h / 2)
        Definition area.cpp:52
        +
        T sphere_surface_area(T radius)
        surface area of a sphere ( 4 * pi * r^2)
        Definition area.cpp:97
        +
        T cube_surface_area(T length)
        surface area of a cube ( 6 * (l
        Definition area.cpp:86
        +
        T cylinder_surface_area(T radius, T height)
        surface area of a cylinder (2 * pi * r * h + 2 * pi * r^2)
        Definition area.cpp:109
        +
        +
        + + + + diff --git a/dc/d93/classmachine__learning_1_1neural__network_1_1layers_1_1_dense_layer.html b/dc/d93/classmachine__learning_1_1neural__network_1_1layers_1_1_dense_layer.html index e53ae4c53..9105a5630 100644 --- a/dc/d93/classmachine__learning_1_1neural__network_1_1layers_1_1_dense_layer.html +++ b/dc/d93/classmachine__learning_1_1neural__network_1_1layers_1_1_dense_layer.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: machine_learning::neural_network::layers::DenseLayer Class Reference +TheAlgorithms/C++: machine_learning::neural_network::layers::DenseLayer Class Reference + + + @@ -18,14 +24,24 @@ - - + +
        @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -119,9 +136,9 @@ Collaboration diagram for machine_learning::neural_network::layers::DenseLayer:<
        -
        Algorithms_in_C++ 1.0.0 +
        TheAlgorithms/C++ 1.0.0
        -
        Set of algorithms implemented in C++.
        +
        All the algorithms implemented in C++
        - + - + @@ -136,24 +153,21 @@ Public Member Functions

        Public Member Functions

         DenseLayer (const int &neurons, const std::string &activation, const std::pair< size_t, size_t > &kernel_shape, const bool &random_kernel)
         DenseLayer (const int &neurons, const std::string &activation, const std::pair< size_t, size_t > &kernel_shape, const bool &random_kernel)
         
         DenseLayer (const int &neurons, const std::string &activation, const std::vector< std::valarray< double > > &kernel)
         DenseLayer (const int &neurons, const std::string &activation, const std::vector< std::valarray< double > > &kernel)
         
         DenseLayer (const DenseLayer &layer)=default
         
        - + - + - + - + - +

        Public Attributes

        -double(* activation_function )(const double &)
        double(* activation_function )(const double &)
         
        -double(* dactivation_function )(const double &)
        double(* dactivation_function )(const double &)
         
        -int neurons
        int neurons
         
        -std::string activation
        std::string activation
         
        -std::vector< std::valarray< double > > kernel
        std::vector< std::valarray< double > > kernel
         

        Detailed Description

        neural_network::layers::DenseLayer class is used to store all necessary information about the layers (i.e. neurons, activation and kernel). This class is used by NeuralNetwork class to store layers.

        + +

        Definition at line 125 of file neural_network.cpp.

        Constructor & Destructor Documentation

        ◆ DenseLayer() [1/4]

        @@ -172,12 +186,12 @@ int neurons - const std::string & activation, + const std::string & activation, - const std::pair< size_t, size_t > & kernel_shape, + const std::pair< size_t, size_t > & kernel_shape, @@ -200,6 +214,8 @@ int neurons + +

        Definition at line 141 of file neural_network.cpp.

        143 {
        144 // Choosing activation (and it's derivative)
        145 if (activation == "sigmoid") {
        @@ -219,11 +235,11 @@ int neurons
        159 neural_network::util_functions::identity_function;
        160 } else {
        161 // If supplied activation is invalid
        -
        162 std::cerr << "ERROR (" << __func__ << ") : ";
        -
        163 std::cerr << "Invalid argument. Expected {none, sigmoid, relu, "
        +
        162 std::cerr << "ERROR (" << __func__ << ") : ";
        +
        163 std::cerr << "Invalid argument. Expected {none, sigmoid, relu, "
        164 "tanh} got ";
        -
        165 std::cerr << activation << std::endl;
        -
        166 std::exit(EXIT_FAILURE);
        +
        165 std::cerr << activation << std::endl;
        +
        166 std::exit(EXIT_FAILURE);
        167 }
        168 this->activation = activation; // Setting activation name
        169 this->neurons = neurons; // Setting number of neurons
        @@ -234,17 +250,9 @@ int neurons
        174 unit_matrix_initialization(kernel, kernel_shape);
        175 }
        176 }
        - -
        T endl(T... args)
        -
        T exit(T... args)
        -
        void unit_matrix_initialization(std::vector< std::valarray< T > > &A, const std::pair< size_t, size_t > &shape)
        Definition vector_ops.hpp:193
        -
        void uniform_random_initialization(std::vector< std::valarray< T > > &A, const std::pair< size_t, size_t > &shape, const T &low, const T &high)
        Definition vector_ops.hpp:166
        -
        -Here is the call graph for this function:
        -
        -
        -
        - +
        void unit_matrix_initialization(std::vector< std::valarray< T > > &A, const std::pair< size_t, size_t > &shape)
        +
        void uniform_random_initialization(std::vector< std::valarray< T > > &A, const std::pair< size_t, size_t > &shape, const T &low, const T &high)
        +
        @@ -264,12 +272,12 @@ Here is the call graph for this function: - const std::string & activation, + const std::string & activation, - const std::vector< std::valarray< double > > & kernel ) + const std::vector< std::valarray< double > > & kernel ) @@ -286,6 +294,8 @@ Here is the call graph for this function: + +

        Definition at line 183 of file neural_network.cpp.

        184 {
        185 // Choosing activation (and it's derivative)
        186 if (activation == "sigmoid") {
        @@ -305,22 +315,17 @@ Here is the call graph for this function:
        200 neural_network::util_functions::identity_function;
        201 } else {
        202 // If supplied activation is invalid
        -
        203 std::cerr << "ERROR (" << __func__ << ") : ";
        -
        204 std::cerr << "Invalid argument. Expected {none, sigmoid, relu, "
        +
        203 std::cerr << "ERROR (" << __func__ << ") : ";
        +
        204 std::cerr << "Invalid argument. Expected {none, sigmoid, relu, "
        205 "tanh} got ";
        -
        206 std::cerr << activation << std::endl;
        -
        207 std::exit(EXIT_FAILURE);
        +
        206 std::cerr << activation << std::endl;
        +
        207 std::exit(EXIT_FAILURE);
        208 }
        209 this->activation = activation; // Setting activation name
        210 this->neurons = neurons; // Setting number of neurons
        211 this->kernel = kernel; // Setting supplied kernel values
        212 }
        -
        -Here is the call graph for this function:
        -
        -
        -
        - + @@ -458,10 +463,91 @@ Here is the call graph for this function:

        Move assignment operator for class DenseLayer

        +
        + +

        Member Data Documentation

        + +

        ◆ activation

        + +
        +
        + + + + +
        std::string machine_learning::neural_network::layers::DenseLayer::activation
        +
        + +

        Definition at line 131 of file neural_network.cpp.

        + +
        +
        + +

        ◆ activation_function

        + +
        +
        + + + + +
        double(* machine_learning::neural_network::layers::DenseLayer::activation_function) (const double &)
        +
        + +

        Definition at line 128 of file neural_network.cpp.

        + +
        +
        + +

        ◆ dactivation_function

        + +
        +
        + + + + +
        double(* machine_learning::neural_network::layers::DenseLayer::dactivation_function) (const double &)
        +
        + +

        Definition at line 129 of file neural_network.cpp.

        + +
        +
        + +

        ◆ kernel

        + +
        +
        + + + + +
        std::vector<std::valarray<double> > machine_learning::neural_network::layers::DenseLayer::kernel
        +
        + +

        Definition at line 132 of file neural_network.cpp.

        + +
        +
        + +

        ◆ neurons

        + +
        +
        + + + + +
        int machine_learning::neural_network::layers::DenseLayer::neurons
        +
        + +

        Definition at line 130 of file neural_network.cpp.

        +

        The documentation for this class was generated from the following file: diff --git a/dc/d93/classmachine__learning_1_1neural__network_1_1layers_1_1_dense_layer_a11046825be0b6dbb73fbe834aa49200e_cgraph.map b/dc/d93/classmachine__learning_1_1neural__network_1_1layers_1_1_dense_layer_a11046825be0b6dbb73fbe834aa49200e_cgraph.map deleted file mode 100644 index 5f55f1cd8..000000000 --- a/dc/d93/classmachine__learning_1_1neural__network_1_1layers_1_1_dense_layer_a11046825be0b6dbb73fbe834aa49200e_cgraph.map +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - diff --git a/dc/d93/classmachine__learning_1_1neural__network_1_1layers_1_1_dense_layer_a11046825be0b6dbb73fbe834aa49200e_cgraph.md5 b/dc/d93/classmachine__learning_1_1neural__network_1_1layers_1_1_dense_layer_a11046825be0b6dbb73fbe834aa49200e_cgraph.md5 deleted file mode 100644 index 9a64bd44a..000000000 --- a/dc/d93/classmachine__learning_1_1neural__network_1_1layers_1_1_dense_layer_a11046825be0b6dbb73fbe834aa49200e_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -3f8eac50ed35e01634832b436c1a78fb \ No newline at end of file diff --git a/dc/d93/classmachine__learning_1_1neural__network_1_1layers_1_1_dense_layer_a11046825be0b6dbb73fbe834aa49200e_cgraph.svg b/dc/d93/classmachine__learning_1_1neural__network_1_1layers_1_1_dense_layer_a11046825be0b6dbb73fbe834aa49200e_cgraph.svg deleted file mode 100644 index 65abc5ce8..000000000 --- a/dc/d93/classmachine__learning_1_1neural__network_1_1layers_1_1_dense_layer_a11046825be0b6dbb73fbe834aa49200e_cgraph.svg +++ /dev/null @@ -1,142 +0,0 @@ - - - - - - - - - - - - -machine_learning::neural_network::layers::DenseLayer::DenseLayer - - -Node1 - - -machine_learning::neural -_network::layers::DenseLayer -::DenseLayer - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::exit - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -machine_learning::uniform -_random_initialization - - - - - -Node1->Node4 - - - - - - - - -Node6 - - -machine_learning::unit -_matrix_initialization - - - - - -Node1->Node6 - - - - - - - - -Node5 - - -std::chrono::system -_clock::now - - - - - -Node4->Node5 - - - - - - - - - - - - - diff --git a/dc/d93/classmachine__learning_1_1neural__network_1_1layers_1_1_dense_layer_a11046825be0b6dbb73fbe834aa49200e_cgraph_org.svg b/dc/d93/classmachine__learning_1_1neural__network_1_1layers_1_1_dense_layer_a11046825be0b6dbb73fbe834aa49200e_cgraph_org.svg deleted file mode 100644 index 9068f7317..000000000 --- a/dc/d93/classmachine__learning_1_1neural__network_1_1layers_1_1_dense_layer_a11046825be0b6dbb73fbe834aa49200e_cgraph_org.svg +++ /dev/null @@ -1,116 +0,0 @@ - - - - - - -machine_learning::neural_network::layers::DenseLayer::DenseLayer - - -Node1 - - -machine_learning::neural -_network::layers::DenseLayer -::DenseLayer - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::exit - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -machine_learning::uniform -_random_initialization - - - - - -Node1->Node4 - - - - - - - - -Node6 - - -machine_learning::unit -_matrix_initialization - - - - - -Node1->Node6 - - - - - - - - -Node5 - - -std::chrono::system -_clock::now - - - - - -Node4->Node5 - - - - - - - - diff --git a/dc/d93/classmachine__learning_1_1neural__network_1_1layers_1_1_dense_layer_af136ec31dbd35b1be2eb9a057677c704_cgraph.map b/dc/d93/classmachine__learning_1_1neural__network_1_1layers_1_1_dense_layer_af136ec31dbd35b1be2eb9a057677c704_cgraph.map deleted file mode 100644 index 815537876..000000000 --- a/dc/d93/classmachine__learning_1_1neural__network_1_1layers_1_1_dense_layer_af136ec31dbd35b1be2eb9a057677c704_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/dc/d93/classmachine__learning_1_1neural__network_1_1layers_1_1_dense_layer_af136ec31dbd35b1be2eb9a057677c704_cgraph.md5 b/dc/d93/classmachine__learning_1_1neural__network_1_1layers_1_1_dense_layer_af136ec31dbd35b1be2eb9a057677c704_cgraph.md5 deleted file mode 100644 index 15d9db229..000000000 --- a/dc/d93/classmachine__learning_1_1neural__network_1_1layers_1_1_dense_layer_af136ec31dbd35b1be2eb9a057677c704_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -b7c485bdb59296533ce7b5ecebd6ed89 \ No newline at end of file diff --git a/dc/d93/classmachine__learning_1_1neural__network_1_1layers_1_1_dense_layer_af136ec31dbd35b1be2eb9a057677c704_cgraph.svg b/dc/d93/classmachine__learning_1_1neural__network_1_1layers_1_1_dense_layer_af136ec31dbd35b1be2eb9a057677c704_cgraph.svg deleted file mode 100644 index 5dc5fe80e..000000000 --- a/dc/d93/classmachine__learning_1_1neural__network_1_1layers_1_1_dense_layer_af136ec31dbd35b1be2eb9a057677c704_cgraph.svg +++ /dev/null @@ -1,85 +0,0 @@ - - - - - - - - - - - - -machine_learning::neural_network::layers::DenseLayer::DenseLayer - - -Node1 - - -machine_learning::neural -_network::layers::DenseLayer -::DenseLayer - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::exit - - - - - -Node1->Node3 - - - - - - - - - - - - - diff --git a/dc/d93/classmachine__learning_1_1neural__network_1_1layers_1_1_dense_layer_af136ec31dbd35b1be2eb9a057677c704_cgraph_org.svg b/dc/d93/classmachine__learning_1_1neural__network_1_1layers_1_1_dense_layer_af136ec31dbd35b1be2eb9a057677c704_cgraph_org.svg deleted file mode 100644 index f151ab652..000000000 --- a/dc/d93/classmachine__learning_1_1neural__network_1_1layers_1_1_dense_layer_af136ec31dbd35b1be2eb9a057677c704_cgraph_org.svg +++ /dev/null @@ -1,59 +0,0 @@ - - - - - - -machine_learning::neural_network::layers::DenseLayer::DenseLayer - - -Node1 - - -machine_learning::neural -_network::layers::DenseLayer -::DenseLayer - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::exit - - - - - -Node1->Node3 - - - - - - - - diff --git a/dc/d93/trie__modern_8cpp.html b/dc/d93/trie__modern_8cpp.html index c4cad8915..da2115251 100644 --- a/dc/d93/trie__modern_8cpp.html +++ b/dc/d93/trie__modern_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: data_structures/trie_modern.cpp File Reference +TheAlgorithms/C++: data_structures/trie_modern.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
        @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -121,7 +138,9 @@ Include dependency graph for trie_modern.cpp:
        -
        -
        Algorithms_in_C++ 1.0.0 +
        TheAlgorithms/C++ 1.0.0
        -
        Set of algorithms implemented in C++.
        +
        All the algorithms implemented in C++
        + +

        Go to the source code of this file.

        +
        @@ -137,6 +156,8 @@ Functions

        Detailed Description

        A basic implementation of trie class to store only lower-case strings.

        Author
        Anmol3299
        + +

        Definition in file trie_modern.cpp.

        Function Documentation

        ◆ main()

        @@ -153,25 +174,21 @@ Functions

        Classes

        class  Trie

        Main function

        + +

        Definition at line 160 of file trie_modern.cpp.

        160 {
        161 Trie trie;
        162 trie.insert("hel");
        163 trie.insert("hello");
        164 trie.removeWord("hel");
        -
        165 std::cout << trie.search("hello") << '\n';
        +
        165 std::cout << trie.search("hello") << '\n';
        166
        167 return 0;
        168}
        - -
        Definition trie_modern.cpp:16
        -
        bool search(const std::string &word)
        Definition trie_modern.cpp:132
        -
        void insert(const std::string &word)
        Definition trie_modern.cpp:109
        -
        -Here is the call graph for this function:
        -
        -
        -
        - + +
        bool search(const std::string &word)
        +
        void insert(const std::string &word)
        +
        diff --git a/dc/d93/trie__modern_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/dc/d93/trie__modern_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index dd7c625da..000000000 --- a/dc/d93/trie__modern_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/dc/d93/trie__modern_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/dc/d93/trie__modern_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index 4247893ef..000000000 --- a/dc/d93/trie__modern_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -9e24b772d0d22cd0d15b08eb19071602 \ No newline at end of file diff --git a/dc/d93/trie__modern_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/dc/d93/trie__modern_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 1af22ad94..000000000 --- a/dc/d93/trie__modern_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -Trie::insert - - - - - -Node1->Node2 - - - - - - - - -Node4 - - -Trie::search - - - - - -Node1->Node4 - - - - - - - - -Node3 - - -std::make_shared - - - - - -Node2->Node3 - - - - - - - - - - - - - diff --git a/dc/d93/trie__modern_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/dc/d93/trie__modern_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 1c2dfc640..000000000 --- a/dc/d93/trie__modern_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -Trie::insert - - - - - -Node1->Node2 - - - - - - - - -Node4 - - -Trie::search - - - - - -Node1->Node4 - - - - - - - - -Node3 - - -std::make_shared - - - - - -Node2->Node3 - - - - - - - - diff --git a/dc/d93/trie__modern_8cpp_source.html b/dc/d93/trie__modern_8cpp_source.html new file mode 100644 index 000000000..ae5eb972d --- /dev/null +++ b/dc/d93/trie__modern_8cpp_source.html @@ -0,0 +1,276 @@ + + + + + + + + +TheAlgorithms/C++: data_structures/trie_modern.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
        +
        + + + + + + + +
        +
        TheAlgorithms/C++ 1.0.0 +
        +
        All the algorithms implemented in C++
        +
        +
        + + + + + + + + +
        +
        + +
        +
        +
        + +
        + +
        +
        + + +
        +
        +
        +
        +
        +
        Loading...
        +
        Searching...
        +
        No Matches
        +
        +
        +
        +
        + +
        +
        trie_modern.cpp
        +
        +
        +Go to the documentation of this file.
        1
        +
        7#include <iostream> // for io operations
        +
        8#include <memory> // for std::shared_ptr<>
        +
        9#include <string> // for std::string class
        +
        10
        +
        +
        16class Trie {
        +
        17 private:
        +
        18 static constexpr size_t ALPHABETS = 26;
        +
        19
        +
        +
        26 struct TrieNode {
        +
        27 // An array of pointers of size 26 which tells if a character of word is
        +
        28 // present or not.
        +
        29 std::shared_ptr<TrieNode> character[ALPHABETS]{nullptr};
        +
        30
        +
        31 bool isEndOfWord{false};
        +
        32 };
        +
        +
        33
        +
        +
        41 inline static bool hasChildren(std::shared_ptr<TrieNode> node) {
        +
        42 for (size_t i = 0; i < ALPHABETS; i++) {
        +
        43 if (node->character[i]) {
        +
        44 return true;
        +
        45 }
        +
        46 }
        +
        47 return false;
        +
        48 }
        +
        +
        49
        +
        +
        64 std::shared_ptr<TrieNode> removeWordHelper(const std::string& word,
        +
        65 std::shared_ptr<TrieNode> curr,
        +
        66 size_t index) {
        +
        67 if (word.size() == index) {
        +
        68 if (curr->isEndOfWord) {
        +
        69 curr->isEndOfWord = false;
        +
        70 }
        +
        71 if (hasChildren(curr)) {
        +
        72 return curr;
        +
        73 }
        +
        74 return nullptr;
        +
        75 }
        +
        76
        +
        77 size_t idx = word[index] - 'a';
        +
        78
        +
        79 // Throw a runtime error in case the user enters a word which is not
        +
        80 // present in the trie.
        +
        81 if (!curr->character[idx]) {
        +
        82 throw std::runtime_error(std::move(std::string("Word not found.")));
        +
        83 }
        +
        84
        +
        85 curr->character[idx] =
        +
        86 removeWordHelper(word, curr->character[idx], index + 1);
        +
        87
        +
        88 // This if condition checks if the node has some childern.
        +
        89 // The 1st if check, i.e. (curr->character[idx]) is checked specifically
        +
        90 // because if the older string is a prefix of some other string, then,
        +
        91 // there would be no need to check all 26 characters. Example- str1 =
        +
        92 // abbey, str2 = abbex and we want to delete string "abbey", then in
        +
        93 // this case, there would be no need to check all characters for the
        +
        94 // chars a,b,b.
        +
        95 if (curr->character[idx] || hasChildren(curr)) {
        +
        96 return curr;
        +
        97 }
        +
        98 return nullptr;
        +
        99 }
        +
        +
        100
        +
        101 public:
        +
        103 Trie() : m_root(std::make_shared<TrieNode>()) {}
        +
        104
        +
        +
        109 void insert(const std::string& word) {
        +
        110 auto curr = m_root;
        +
        111 for (char ch : word) {
        +
        112 size_t index = ch - 'a';
        +
        113
        +
        114 // if a node for current word is not already present in trie, create
        +
        115 // a new node for it.
        +
        116 if (!curr->character[index]) {
        +
        117 curr->character[index] = std::make_shared<TrieNode>();
        +
        118 }
        +
        119
        +
        120 curr = curr->character[index];
        +
        121 }
        +
        122 curr->isEndOfWord = true;
        +
        123 }
        +
        +
        124
        +
        +
        132 bool search(const std::string& word) {
        +
        133 auto curr = m_root;
        +
        134 for (char ch : word) {
        +
        135 size_t index = ch - 'a';
        +
        136
        +
        137 // if any node for a character is not found, then return that the
        +
        138 // word cannot be formed.
        +
        139 if (!curr->character[index]) {
        +
        140 return false;
        +
        141 }
        +
        142 curr = curr->character[index];
        +
        143 }
        +
        144 return curr->isEndOfWord;
        +
        145 }
        +
        +
        146
        +
        147 // Function to remove the word which calls the helper function.
        +
        148 void removeWord(const std::string& word) {
        +
        149 m_root = removeWordHelper(word, m_root, 0);
        +
        150 }
        +
        151
        +
        152 private:
        +
        153 // data member to store the root of the trie.
        +
        154 std::shared_ptr<TrieNode> m_root;
        +
        155};
        +
        +
        156
        +
        +
        160int main() {
        +
        161 Trie trie;
        +
        162 trie.insert("hel");
        +
        163 trie.insert("hello");
        +
        164 trie.removeWord("hel");
        +
        165 std::cout << trie.search("hello") << '\n';
        +
        166
        +
        167 return 0;
        +
        168}
        +
        + +
        std::shared_ptr< TrieNode > removeWordHelper(const std::string &word, std::shared_ptr< TrieNode > curr, size_t index)
        +
        bool search(const std::string &word)
        +
        Trie()
        constructor to initialise the root of the trie.
        +
        static bool hasChildren(std::shared_ptr< TrieNode > node)
        +
        void insert(const std::string &word)
        + + +
        int main()
        +
        +
        + + + + diff --git a/dc/d9c/babylonian__method_8cpp.html b/dc/d9c/babylonian__method_8cpp.html index 64cf5c37f..b5035c8fb 100644 --- a/dc/d9c/babylonian__method_8cpp.html +++ b/dc/d9c/babylonian__method_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: numerical_methods/babylonian_method.cpp File Reference +TheAlgorithms/C++: numerical_methods/babylonian_method.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
        @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -121,7 +138,9 @@ Include dependency graph for babylonian_method.cpp:
        -
        -
        Algorithms_in_C++ 1.0.0 +
        TheAlgorithms/C++ 1.0.0
        -
        Set of algorithms implemented in C++.
        +
        All the algorithms implemented in C++
        + +

        Go to the source code of this file.

        +
        @@ -143,6 +162,8 @@ Functions

        Detailed Description

        A babylonian method (BM) is an algorithm that computes the square root.

        This algorithm has an application in use case scenario where a user wants find accurate square roots of large numbers

        Author
        Ameya Chawla
        + +

        Definition in file babylonian_method.cpp.

        Function Documentation

        ◆ main()

        @@ -172,18 +193,15 @@ Functions
        Returns
        0 on exit
        + +

        Definition at line 96 of file babylonian_method.cpp.

        96 {
        97 test(); // run self-test implementations
        98 // with 2 defined test cases
        99 return 0;
        100}
        -
        static void test()
        Self-test implementations.
        Definition babylonian_method.cpp:62
        -
        -Here is the call graph for this function:
        -
        -
        -
        - +
        static void test()
        Self-test implementations.
        + @@ -219,41 +237,31 @@ Here is the call graph for this function:

        Test result for testcase 2

        Testing for test Case 1

        Testing for test Case 2

        + +

        Definition at line 62 of file babylonian_method.cpp.

        62 {
        63 /* descriptions of the following test */
        64
        -
        65 auto testcase1 = 125348; /// Testcase 1
        -
        66 auto testcase2 = 752080; /// Testcase 2
        +
        65 auto testcase1 = 125348;
        +
        66 auto testcase2 = 752080;
        67
        -
        68 auto real_output1 = 354.045194855; /// Real Output 1
        -
        69 auto real_output2 = 867.225460881; /// Real Output 2
        +
        68 auto real_output1 = 354.045194855;
        +
        69 auto real_output2 = 867.225460881;
        70
        -
        71 auto test_result1 = numerical_methods::babylonian_method(testcase1);
        -
        72 /// Test result for testcase 1
        -
        73 auto test_result2 = numerical_methods::babylonian_method(testcase2);
        -
        74 /// Test result for testcase 2
        -
        75
        -
        76 assert(std::max(test_result1, real_output1) -
        -
        77 std::min(test_result1, real_output1) <
        -
        78 0.0001);
        -
        79 /// Testing for test Case 1
        -
        80 assert(std::max(test_result2, real_output2) -
        -
        81 std::min(test_result2, real_output2) <
        -
        82 0.0001);
        -
        83 /// Testing for test Case 2
        -
        84
        -
        85 std::cout << "All tests have successfully passed!\n";
        +
        71 auto test_result1 = numerical_methods::babylonian_method(testcase1);
        +
        73 auto test_result2 = numerical_methods::babylonian_method(testcase2);
        +
        75
        +
        76 assert(std::max(test_result1, real_output1) -
        +
        77 std::min(test_result1, real_output1) <
        +
        78 0.0001);
        +
        80 assert(std::max(test_result2, real_output2) -
        +
        81 std::min(test_result2, real_output2) <
        +
        82 0.0001);
        +
        84
        +
        85 std::cout << "All tests have successfully passed!\n";
        86}
        - -
        T max(T... args)
        -
        T min(T... args)
        -
        double babylonian_method(double radicand)
        Babylonian methods is an iterative function which returns square root of radicand.
        Definition babylonian_method.cpp:30
        -
        -Here is the call graph for this function:
        -
        -
        -
        - +
        double babylonian_method(double radicand)
        Babylonian methods is an iterative function which returns square root of radicand.
        + diff --git a/dc/d9c/babylonian__method_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map b/dc/d9c/babylonian__method_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map deleted file mode 100644 index 0fd1af567..000000000 --- a/dc/d9c/babylonian__method_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/dc/d9c/babylonian__method_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 b/dc/d9c/babylonian__method_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 deleted file mode 100644 index 233e405c9..000000000 --- a/dc/d9c/babylonian__method_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -950f0521fee49507c3f1f74806aa3175 \ No newline at end of file diff --git a/dc/d9c/babylonian__method_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg b/dc/d9c/babylonian__method_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg deleted file mode 100644 index 198d42539..000000000 --- a/dc/d9c/babylonian__method_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -numerical_methods:: -babylonian_method - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::max - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::min - - - - - -Node1->Node4 - - - - - - - - -Node2->Node3 - - - - - - - - -Node2->Node4 - - - - - - - - - - - - - diff --git a/dc/d9c/babylonian__method_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg b/dc/d9c/babylonian__method_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg deleted file mode 100644 index 2ab0f1156..000000000 --- a/dc/d9c/babylonian__method_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -numerical_methods:: -babylonian_method - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::max - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::min - - - - - -Node1->Node4 - - - - - - - - -Node2->Node3 - - - - - - - - -Node2->Node4 - - - - - - - - diff --git a/dc/d9c/babylonian__method_8cpp_abf9e6b7e6f15df4b525a2e7705ba3089_cgraph.map b/dc/d9c/babylonian__method_8cpp_abf9e6b7e6f15df4b525a2e7705ba3089_cgraph.map deleted file mode 100644 index c82446a6c..000000000 --- a/dc/d9c/babylonian__method_8cpp_abf9e6b7e6f15df4b525a2e7705ba3089_cgraph.map +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - diff --git a/dc/d9c/babylonian__method_8cpp_abf9e6b7e6f15df4b525a2e7705ba3089_cgraph.md5 b/dc/d9c/babylonian__method_8cpp_abf9e6b7e6f15df4b525a2e7705ba3089_cgraph.md5 deleted file mode 100644 index 51b98d44a..000000000 --- a/dc/d9c/babylonian__method_8cpp_abf9e6b7e6f15df4b525a2e7705ba3089_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -46be0b0c238595f958fed6afd4898473 \ No newline at end of file diff --git a/dc/d9c/babylonian__method_8cpp_abf9e6b7e6f15df4b525a2e7705ba3089_cgraph.svg b/dc/d9c/babylonian__method_8cpp_abf9e6b7e6f15df4b525a2e7705ba3089_cgraph.svg deleted file mode 100644 index 2f61bc824..000000000 --- a/dc/d9c/babylonian__method_8cpp_abf9e6b7e6f15df4b525a2e7705ba3089_cgraph.svg +++ /dev/null @@ -1,138 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -numerical_methods:: -babylonian_method - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::max - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -std::min - - - - - -Node2->Node5 - - - - - - - - -Node3->Node4 - - - - - - - - -Node3->Node5 - - - - - - - - - - - - - diff --git a/dc/d9c/babylonian__method_8cpp_abf9e6b7e6f15df4b525a2e7705ba3089_cgraph_org.svg b/dc/d9c/babylonian__method_8cpp_abf9e6b7e6f15df4b525a2e7705ba3089_cgraph_org.svg deleted file mode 100644 index e6266af82..000000000 --- a/dc/d9c/babylonian__method_8cpp_abf9e6b7e6f15df4b525a2e7705ba3089_cgraph_org.svg +++ /dev/null @@ -1,112 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -numerical_methods:: -babylonian_method - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::max - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -std::min - - - - - -Node2->Node5 - - - - - - - - -Node3->Node4 - - - - - - - - -Node3->Node5 - - - - - - - - diff --git a/dc/d9c/babylonian__method_8cpp_source.html b/dc/d9c/babylonian__method_8cpp_source.html new file mode 100644 index 000000000..213ceea96 --- /dev/null +++ b/dc/d9c/babylonian__method_8cpp_source.html @@ -0,0 +1,206 @@ + + + + + + + + +TheAlgorithms/C++: numerical_methods/babylonian_method.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
        +
        +

        Namespaces

        namespace  numerical_methods
        + + + + + + +
        +
        TheAlgorithms/C++ 1.0.0 +
        +
        All the algorithms implemented in C++
        +
        +
        + + + + + + + + + +
        + +
        +
        +
        + +
        + +
        +
        + + +
        +
        +
        +
        +
        +
        Loading...
        +
        Searching...
        +
        No Matches
        +
        +
        +
        +
        + +
        +
        babylonian_method.cpp
        +
        +
        +Go to the documentation of this file.
        1
        +
        12#include <cassert>
        +
        13#include <cmath>
        +
        14#include <iostream>
        +
        15
        +
        21namespace numerical_methods {
        +
        22
        +
        +
        30double babylonian_method(double radicand) {
        +
        31 int i = 1;
        +
        32
        +
        33 while (i * i <= radicand) {
        +
        34 i++;
        +
        35 }
        +
        36
        +
        37 i--;
        +
        38
        +
        39 double x0 = i;
        +
        40 double x1 =
        +
        41 (radicand / x0 + x0) / 2;
        +
        42 double temp = NAN;
        +
        43
        +
        44 while (std::max(x0, x1) - std::min(x0, x1) < 0.0001) {
        +
        45 temp = (radicand / x1 + x1) / 2;
        +
        46 x0 = x1;
        +
        47 x1 = temp;
        +
        48 }
        +
        49
        +
        50 return x1;
        +
        51}
        +
        +
        52
        +
        53} // namespace numerical_methods
        +
        54
        +
        +
        62static void test() {
        +
        63 /* descriptions of the following test */
        +
        64
        +
        65 auto testcase1 = 125348;
        +
        66 auto testcase2 = 752080;
        +
        67
        +
        68 auto real_output1 = 354.045194855;
        +
        69 auto real_output2 = 867.225460881;
        +
        70
        +
        71 auto test_result1 = numerical_methods::babylonian_method(testcase1);
        +
        73 auto test_result2 = numerical_methods::babylonian_method(testcase2);
        +
        75
        +
        76 assert(std::max(test_result1, real_output1) -
        +
        77 std::min(test_result1, real_output1) <
        +
        78 0.0001);
        +
        80 assert(std::max(test_result2, real_output2) -
        +
        81 std::min(test_result2, real_output2) <
        +
        82 0.0001);
        +
        84
        +
        85 std::cout << "All tests have successfully passed!\n";
        +
        86}
        +
        +
        87
        +
        +
        96int main(int argc, char const *argv[]) {
        +
        97 test(); // run self-test implementations
        +
        98 // with 2 defined test cases
        +
        99 return 0;
        +
        100}
        +
        +
        static void test()
        Self-test implementations.
        +
        int main()
        Main function.
        + +
        double babylonian_method(double radicand)
        Babylonian methods is an iterative function which returns square root of radicand.
        +
        +
        + + + + diff --git a/dc/d9f/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list-members.html b/dc/d9f/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list-members.html index 8bb334f6a..f85d79629 100644 --- a/dc/d9f/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list-members.html +++ b/dc/d9f/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list-members.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Member List +TheAlgorithms/C++: Member List + + + @@ -18,14 +24,24 @@ - - + +
        @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/dc/daa/lru__cache2_8cpp.html b/dc/daa/lru__cache2_8cpp.html index b9cbdbc14..79d3eed6b 100644 --- a/dc/daa/lru__cache2_8cpp.html +++ b/dc/daa/lru__cache2_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: others/lru_cache2.cpp File Reference +TheAlgorithms/C++: others/lru_cache2.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
        @@ -33,10 +49,11 @@ MathJax.Hub.Config({
        -
        Algorithms_in_C++ 1.0.0 +
        TheAlgorithms/C++ 1.0.0
        -
        Set of algorithms implemented in C++.
        +
        All the algorithms implemented in C++
        + @@ -123,7 +140,9 @@ Include dependency graph for lru_cache2.cpp:
        -
        -
        Algorithms_in_C++ 1.0.0 +
        TheAlgorithms/C++ 1.0.0
        -
        Set of algorithms implemented in C++.
        +
        All the algorithms implemented in C++
        + +

        Go to the source code of this file.

        +
        @@ -157,6 +176,8 @@ Functions

        unordered_map maps the key to the address of the node of the linked list. If the element is accessed, the element is moved to the beginning of the linked list.

        When the cache is full, the last element in the linked list is popped.

        Author
        Karan Sharma
        + +

        Definition in file lru_cache2.cpp.

        Function Documentation

        ◆ main()

        @@ -175,17 +196,14 @@ Functions

        main function

        Returns
        0 on exit
        + +

        Definition at line 274 of file lru_cache2.cpp.

        274 {
        275 test(); // run the self test implementation
        276 return 0;
        277}
        -
        static void test()
        self test implementations
        Definition lru_cache2.cpp:220
        -
        -Here is the call graph for this function:
        -
        -
        -
        - +
        static void test()
        self test implementations
        + @@ -213,6 +231,8 @@ Here is the call graph for this function:

        self test implementations

        Returns
        void
        + +

        Definition at line 220 of file lru_cache2.cpp.

        220 {
        222
        @@ -249,8 +269,8 @@ Here is the call graph for this function:
        253 // when 6 was added
        254 try {
        255 cache.get(1);
        -
        256 } catch (const std::runtime_error &e) {
        -
        257 assert(std::string(e.what()) == "key is not present in the cache");
        +
        256 } catch (const std::runtime_error &e) {
        +
        257 assert(std::string(e.what()) == "key is not present in the cache");
        258 }
        259
        260 // test retrieval of all items in the cache
        @@ -260,19 +280,10 @@ Here is the call graph for this function:
        264 assert(cache.get(5) == -50);
        265 assert(cache.get(6) == 60);
        266
        -
        267 std::cout << "test - passed\n";
        +
        267 std::cout << "test - passed\n";
        268}
        - - -
        LRUCache.
        Definition lru_cache2.cpp:61
        - -
        T what(T... args)
        -
        -Here is the call graph for this function:
        -
        -
        -
        - + + diff --git a/dc/daa/lru__cache2_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map b/dc/daa/lru__cache2_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map deleted file mode 100644 index ef772fbcd..000000000 --- a/dc/daa/lru__cache2_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/dc/daa/lru__cache2_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 b/dc/daa/lru__cache2_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 deleted file mode 100644 index 39bfb0596..000000000 --- a/dc/daa/lru__cache2_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -97c1ae9df20c10d14b9ce242561c8cd9 \ No newline at end of file diff --git a/dc/daa/lru__cache2_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg b/dc/daa/lru__cache2_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg deleted file mode 100644 index 3ef1f5837..000000000 --- a/dc/daa/lru__cache2_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg +++ /dev/null @@ -1,291 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -others::Cache::LRUCache -::capacity - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -others::Cache::LRUCache -::empty - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -others::Cache::LRUCache::get - - - - - -Node1->Node4 - - - - - - - - -Node7 - - -others::Cache::LRUCache::put - - - - - -Node1->Node7 - - - - - - - - -Node9 - - -others::Cache::LRUCache -::size - - - - - -Node1->Node9 - - - - - - - - -Node10 - - -std::runtime_error -::what - - - - - -Node1->Node10 - - - - - - - - -Node5 - - -others::Cache::LRUCache -::make_recent - - - - - -Node4->Node5 - - - - - - - - -Node6 - - -others::Cache::LRUCache -::push_front - - - - - -Node5->Node6 - - - - - - - - -Node7->Node5 - - - - - - - - -Node7->Node6 - - - - - - - - -Node8 - - -others::Cache::LRUCache -::pop_back - - - - - -Node7->Node8 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/dc/daa/lru__cache2_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg b/dc/daa/lru__cache2_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg deleted file mode 100644 index 2dbd8436e..000000000 --- a/dc/daa/lru__cache2_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg +++ /dev/null @@ -1,208 +0,0 @@ - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -others::Cache::LRUCache -::capacity - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -others::Cache::LRUCache -::empty - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -others::Cache::LRUCache::get - - - - - -Node1->Node4 - - - - - - - - -Node7 - - -others::Cache::LRUCache::put - - - - - -Node1->Node7 - - - - - - - - -Node9 - - -others::Cache::LRUCache -::size - - - - - -Node1->Node9 - - - - - - - - -Node10 - - -std::runtime_error -::what - - - - - -Node1->Node10 - - - - - - - - -Node5 - - -others::Cache::LRUCache -::make_recent - - - - - -Node4->Node5 - - - - - - - - -Node6 - - -others::Cache::LRUCache -::push_front - - - - - -Node5->Node6 - - - - - - - - -Node7->Node5 - - - - - - - - -Node7->Node6 - - - - - - - - -Node8 - - -others::Cache::LRUCache -::pop_back - - - - - -Node7->Node8 - - - - - - - - diff --git a/dc/daa/lru__cache2_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/dc/daa/lru__cache2_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index f5add5a10..000000000 --- a/dc/daa/lru__cache2_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/dc/daa/lru__cache2_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/dc/daa/lru__cache2_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index 20f438740..000000000 --- a/dc/daa/lru__cache2_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -70630744275453827fd653376a53c592 \ No newline at end of file diff --git a/dc/daa/lru__cache2_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/dc/daa/lru__cache2_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index f809cad02..000000000 --- a/dc/daa/lru__cache2_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,309 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -others::Cache::LRUCache -::capacity - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -others::Cache::LRUCache -::empty - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -others::Cache::LRUCache::get - - - - - -Node2->Node5 - - - - - - - - -Node8 - - -others::Cache::LRUCache::put - - - - - -Node2->Node8 - - - - - - - - -Node10 - - -others::Cache::LRUCache -::size - - - - - -Node2->Node10 - - - - - - - - -Node11 - - -std::runtime_error -::what - - - - - -Node2->Node11 - - - - - - - - -Node6 - - -others::Cache::LRUCache -::make_recent - - - - - -Node5->Node6 - - - - - - - - -Node7 - - -others::Cache::LRUCache -::push_front - - - - - -Node6->Node7 - - - - - - - - -Node8->Node6 - - - - - - - - -Node8->Node7 - - - - - - - - -Node9 - - -others::Cache::LRUCache -::pop_back - - - - - -Node8->Node9 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/dc/daa/lru__cache2_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/dc/daa/lru__cache2_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index aab4efffc..000000000 --- a/dc/daa/lru__cache2_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,226 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -others::Cache::LRUCache -::capacity - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -others::Cache::LRUCache -::empty - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -others::Cache::LRUCache::get - - - - - -Node2->Node5 - - - - - - - - -Node8 - - -others::Cache::LRUCache::put - - - - - -Node2->Node8 - - - - - - - - -Node10 - - -others::Cache::LRUCache -::size - - - - - -Node2->Node10 - - - - - - - - -Node11 - - -std::runtime_error -::what - - - - - -Node2->Node11 - - - - - - - - -Node6 - - -others::Cache::LRUCache -::make_recent - - - - - -Node5->Node6 - - - - - - - - -Node7 - - -others::Cache::LRUCache -::push_front - - - - - -Node6->Node7 - - - - - - - - -Node8->Node6 - - - - - - - - -Node8->Node7 - - - - - - - - -Node9 - - -others::Cache::LRUCache -::pop_back - - - - - -Node8->Node9 - - - - - - - - diff --git a/dc/daa/lru__cache2_8cpp_source.html b/dc/daa/lru__cache2_8cpp_source.html new file mode 100644 index 000000000..bd5ad732c --- /dev/null +++ b/dc/daa/lru__cache2_8cpp_source.html @@ -0,0 +1,371 @@ + + + + + + + + +TheAlgorithms/C++: others/lru_cache2.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
        +
        +

        Classes

        class  others::Cache::D_Node< T >
        + + + + + + +
        +
        TheAlgorithms/C++ 1.0.0 +
        +
        All the algorithms implemented in C++
        +
        +
        + + + + + + + + + +
        + +
        +
        +
        + +
        + +
        +
        + + +
        +
        +
        +
        +
        +
        Loading...
        +
        Searching...
        +
        No Matches
        +
        +
        +
        +
        + +
        +
        lru_cache2.cpp
        +
        +
        +Go to the documentation of this file.
        1
        +
        19#include <cassert> // for assert
        +
        20#include <cstdint> // for std::uint32_t
        +
        21#include <iostream> // for std::cout
        +
        22#include <unordered_map> // for std::unordered_map
        +
        23
        +
        28namespace others {
        +
        29
        +
        34namespace Cache {
        +
        35
        +
        41template <typename T>
        +
        +
        42class D_Node {
        +
        43 public:
        +
        44 T data;
        + + +
        47
        +
        48 explicit D_Node(T data) : data(data), prev(nullptr), next(nullptr) {}
        +
        49};
        +
        +
        50
        +
        51template <typename K, typename V>
        + +
        53
        +
        60template <typename K, typename V>
        +
        +
        61class LRUCache {
        + + +
        64 std::uint32_t _capacity;
        +
        65
        +
        66 std::unordered_map<K, CacheNode<K, V> *>
        + +
        68
        +
        69 public:
        +
        +
        75 explicit LRUCache(int _capacity)
        +
        76 : head(nullptr), tail(nullptr), _capacity(_capacity) {}
        +
        +
        77
        +
        78 private:
        +
        +
        83 void push_front(CacheNode<K, V> *node_ptr) {
        +
        84 if (!head) {
        +
        85 head = node_ptr;
        +
        86 tail = node_ptr;
        +
        87 return;
        +
        88 }
        +
        89
        +
        90 node_ptr->next = head;
        +
        91 head->prev = node_ptr;
        +
        92 head = node_ptr;
        +
        93 }
        +
        +
        94
        +
        +
        99 void make_recent(CacheNode<K, V> *node_ptr) {
        +
        100 if (head == node_ptr) {
        +
        101 return;
        +
        102 }
        +
        103
        +
        104 CacheNode<K, V> *prev = node_ptr->prev;
        +
        105 CacheNode<K, V> *next = node_ptr->next;
        +
        106
        +
        107 prev->next = next;
        +
        108 if (next) {
        +
        109 next->prev = prev;
        +
        110 } else {
        +
        111 tail = prev;
        +
        112 }
        +
        113
        +
        114 node_ptr->prev = nullptr;
        +
        115 node_ptr->next = nullptr;
        +
        116 push_front(node_ptr);
        +
        117 }
        +
        +
        118
        +
        +
        122 void pop_back() {
        +
        123 if (!head) {
        +
        124 return;
        +
        125 }
        +
        126 if (head == tail) {
        +
        127 delete head;
        +
        128 head = nullptr;
        +
        129 tail = nullptr;
        +
        130 return;
        +
        131 }
        +
        132
        +
        133 CacheNode<K, V> *temp = tail;
        +
        134 tail = tail->prev;
        +
        135 tail->next = nullptr;
        +
        136 delete temp;
        +
        137 }
        +
        +
        138
        +
        139 public:
        +
        +
        145 void put(K key, V value) {
        +
        146 // update the value if key already exists
        +
        147 if (node_map.count(key)) {
        +
        148 node_map[key]->data.second = value;
        +
        149 make_recent(node_map[key]);
        +
        150 return;
        +
        151 }
        +
        152
        +
        153 // if the cache is full
        +
        154 // remove the least recently used item
        +
        155 if (node_map.size() == _capacity) {
        +
        156 node_map.erase(tail->data.first);
        +
        157 pop_back();
        +
        158 }
        +
        159
        +
        160 CacheNode<K, V> *newNode = new CacheNode<K, V>({key, value});
        +
        161
        +
        162 node_map[key] = newNode;
        +
        163 push_front(newNode);
        +
        164 }
        +
        +
        165
        +
        +
        172 V get(K key) {
        +
        173 if (!node_map.count(key)) {
        +
        174 throw std::runtime_error("key is not present in the cache");
        +
        175 }
        +
        176
        +
        177 // move node to the beginning of the list
        +
        178 V value = node_map[key]->data.second;
        +
        179 make_recent(node_map[key]);
        +
        180 return value;
        +
        181 }
        +
        +
        182
        +
        187 int size() const { return node_map.size(); }
        +
        188
        +
        193 int capacity() const { return _capacity; }
        +
        194
        +
        199 bool empty() const { return node_map.empty(); }
        +
        200
        +
        + +
        206 auto it = node_map.begin();
        +
        207 while (it != node_map.end()) {
        +
        208 delete it->second;
        +
        209 ++it;
        +
        210 }
        +
        211 }
        +
        +
        212};
        +
        +
        213} // namespace Cache
        +
        214} // namespace others
        +
        215
        +
        +
        220static void test() {
        + +
        222
        +
        223 // test the initial state of the cache
        +
        224 assert(cache.size() == 0);
        +
        225 assert(cache.capacity() == 5);
        +
        226 assert(cache.empty());
        +
        227
        +
        228 // test insertion in the cache
        +
        229 cache.put(1, 10);
        +
        230 cache.put(-2, 20);
        +
        231
        +
        232 // test the state of cache after inserting some items
        +
        233 assert(cache.size() == 2);
        +
        234 assert(cache.capacity() == 5);
        +
        235 assert(!cache.empty());
        +
        236
        +
        237 // test getting items from the cache
        +
        238 assert(cache.get(1) == 10);
        +
        239 assert(cache.get(-2) == 20);
        +
        240
        +
        241 cache.put(-3, -30);
        +
        242 cache.put(4, 40);
        +
        243 cache.put(5, -50);
        +
        244 cache.put(6, 60);
        +
        245
        +
        246 // test the state after inserting more items than the capacity
        +
        247 assert(cache.size() == 5);
        +
        248 assert(cache.capacity() == 5);
        +
        249 assert(!cache.empty());
        +
        250
        +
        251 // fetching 1 throws runtime_error
        +
        252 // as 1 was evicted being the least recently used
        +
        253 // when 6 was added
        +
        254 try {
        +
        255 cache.get(1);
        +
        256 } catch (const std::runtime_error &e) {
        +
        257 assert(std::string(e.what()) == "key is not present in the cache");
        +
        258 }
        +
        259
        +
        260 // test retrieval of all items in the cache
        +
        261 assert(cache.get(-2) == 20);
        +
        262 assert(cache.get(-3) == -30);
        +
        263 assert(cache.get(4) == 40);
        +
        264 assert(cache.get(5) == -50);
        +
        265 assert(cache.get(6) == 60);
        +
        266
        +
        267 std::cout << "test - passed\n";
        +
        268}
        +
        +
        269
        +
        +
        274int main() {
        +
        275 test(); // run the self test implementation
        +
        276 return 0;
        +
        277}
        +
        +
        Node for a doubly linked list with data, prev and next pointers.
        +
        D_Node< T > * next
        next node in the doubly linked list
        Definition lfu_cache.cpp:49
        +
        D_Node< T > * prev
        previous node in the doubly linked list
        Definition lfu_cache.cpp:48
        +
        T data
        data of the node
        Definition lfu_cache.cpp:47
        + +
        CacheNode< K, V > * head
        head of the doubly linked list
        +
        int size() const
        Returns the number of items present in the cache.
        +
        void push_front(CacheNode< K, V > *node_ptr)
        push the node to the front of the linked list.
        +
        CacheNode< K, V > * tail
        tail of the doubly linked list
        +
        void put(K key, V value)
        upsert a key-value pair
        +
        ~LRUCache()
        destructs the cache, iterates on the map and deletes every node present in the cache.
        +
        LRUCache(int _capacity)
        Constructor, Initialize the head and tail pointers to nullptr and initialize the _capacity of the cac...
        +
        std::unordered_map< K, CacheNode< K, V > * > node_map
        maps the key to the node address
        +
        void pop_back()
        pop the last node in the linked list.
        +
        bool empty() const
        returns whether the cache is empty or not
        +
        V get(K key)
        get the value of the key-value pair if exists
        +
        void make_recent(CacheNode< K, V > *node_ptr)
        move the existing node in the list to the beginning of the list.
        +
        std::uint32_t _capacity
        maximum capacity of the cache
        +
        int capacity() const
        Returns the total capacity of the cache.
        +
        static void test()
        self test implementations
        +
        int main()
        main function
        +
        for vector
        +
        +
        + + + + diff --git a/dc/db5/struct_queue.html b/dc/db5/struct_queue.html index 31590eee5..7a17f1332 100644 --- a/dc/db5/struct_queue.html +++ b/dc/db5/struct_queue.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Queue Class Reference +TheAlgorithms/C++: Queue Class Reference + + + @@ -18,14 +24,24 @@ - - + +
        @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -130,14 +147,11 @@ Public Member Functions
        -
        Algorithms_in_C++ 1.0.0 +
        TheAlgorithms/C++ 1.0.0
        -
        Set of algorithms implemented in C++.
        +
        All the algorithms implemented in C++
        - + - + - +

        Public Attributes

        -nodet [100]
        nodet [100]
         
        -int front
        int front
         
        -int rear
        int rear
         

        @@ -153,14 +167,15 @@ Private Member Functions

        - + - +

        Private Attributes

        -nodefront = nullptr
        nodefront = nullptr
         
        -noderear = nullptr
        noderear = nullptr
         
        -

        Constructor & Destructor Documentation

        +

        Detailed Description

        +
        +

        Definition at line 17 of file binary_search_tree.cpp.

        +

        Constructor & Destructor Documentation

        ◆ ~Queue()

        @@ -183,6 +198,8 @@ Private Attributes
        + +

        Definition at line 16 of file circular_queue_using_linked_list.cpp.

        16 {
        17 while (front) {
        18 dequeue();
        @@ -214,6 +231,8 @@ Private Attributes
        + +

        Definition at line 23 of file circular_queue_using_linked_list.cpp.

        23 {
        24 auto* nn = new node;
        25 nn->data = val;
        @@ -221,7 +240,7 @@ Private Attributes
        27 front = nn;
        28 rear = nn;
        29 }
        -
        struct node { int data; int height; struct node *left; struct node *right;} node
        for std::queue
        Definition avltree.cpp:13
        +
        struct node { int data; int height; struct node *left; struct node *right;} node
        for std::queue
        Definition avltree.cpp:13
        @@ -247,6 +266,8 @@ Private Attributes
        + +

        Definition at line 43 of file circular_queue_using_linked_list.cpp.

        43 {
        44 if (front == nullptr) {
        45 return;
        @@ -261,7 +282,7 @@ Private Attributes
        54 }
        55 delete n;
        56 }
        -
        Definition binary_search_tree.cpp:11
        +
        @@ -287,6 +308,8 @@ Private Attributes
        + +

        Definition at line 32 of file circular_queue_using_linked_list.cpp.

        32 {
        33 if (front == nullptr || rear == nullptr) {
        34 createNode(val);
        @@ -323,24 +346,122 @@ Private Attributes
        + +

        Definition at line 57 of file circular_queue_using_linked_list.cpp.

        57 {
        58 if (front == nullptr) {
        59 return;
        60 }
        61 const node* ptr = front;
        62 do {
        -
        63 std::cout << ptr->data << ' ';
        +
        63 std::cout << ptr->data << ' ';
        64 ptr = ptr->next;
        65 } while (ptr != front);
        -
        66 std::cout << '\n';
        +
        66 std::cout << '\n';
        67 }
        -
        +
        +
        +

        Member Data Documentation

        + +

        ◆ front [1/2]

        + +
        +
        + + + + +
        int Queue::front
        +
        + +

        Definition at line 19 of file binary_search_tree.cpp.

        + +
        +
        + +

        ◆ front [2/2]

        + +
        +
        + + + + + +
        + + + + +
        node* Queue::front = nullptr
        +
        +private
        +
        + +

        Definition at line 8 of file circular_queue_using_linked_list.cpp.

        + +
        +
        + +

        ◆ rear [1/2]

        + +
        +
        + + + + +
        int Queue::rear
        +
        + +

        Definition at line 20 of file binary_search_tree.cpp.

        + +
        +
        + +

        ◆ rear [2/2]

        + +
        +
        + + + + + +
        + + + + +
        node* Queue::rear = nullptr
        +
        +private
        +
        + +

        Definition at line 9 of file circular_queue_using_linked_list.cpp.

        + +
        +
        + +

        ◆ t

        + +
        +
        + + + + +
        node* Queue::t[100]
        +
        + +

        Definition at line 18 of file binary_search_tree.cpp.

        +

        The documentation for this class was generated from the following files: diff --git a/dc/db5/text__search_8cpp.html b/dc/db5/text__search_8cpp.html index 6b0d603ca..2294f5db0 100644 --- a/dc/db5/text__search_8cpp.html +++ b/dc/db5/text__search_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: search/text_search.cpp File Reference +TheAlgorithms/C++: search/text_search.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
        @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -121,10 +138,12 @@ Include dependency graph for text_search.cpp:
        -
        -
        Algorithms_in_C++ 1.0.0 +
        TheAlgorithms/C++ 1.0.0
        -
        Set of algorithms implemented in C++.
        +
        All the algorithms implemented in C++
        + +

        Go to the source code of this file.

        +
        - + @@ -136,6 +155,8 @@ Functions

        Functions

        std::string lower (std::string word)
        std::string lower (std::string word)
         function to convert a C++ string to lower case
         
        static void test ()

        Detailed Description

        Search for words in a long textual paragraph.

        + +

        Definition in file text_search.cpp.

        Function Documentation

        ◆ lower()

        @@ -144,9 +165,9 @@ Functions
        - + - +
        std::string lower std::string lower (std::string word)std::string word)
        @@ -155,30 +176,24 @@ Functions

        function to convert a C++ string to lower case

        Parameters
        - +
        wordtakes an std::string as input
        wordtakes an std::string as input
        -
        Returns
        std::string
        +
        Returns
        std::string
        + +

        Definition at line 19 of file text_search.cpp.

        19 {
        -
        20 int length = word.length();
        -
        21 std::string lc = "";
        +
        20 int length = word.length();
        +
        21 std::string lc = "";
        22
        23 for (int i = 0; i < length; i++) {
        -
        24 lc += tolower(word[i]);
        +
        24 lc += tolower(word[i]);
        25 }
        26
        27 return lc;
        28}
        - -
        T length(T... args)
        -
        T tolower(T... args)
        -
        -Here is the call graph for this function:
        -
        -
        -
        - +
        @@ -198,75 +213,66 @@ Here is the call graph for this function:

        Main function.

        Returns
        0 on exit
        + +

        Definition at line 44 of file text_search.cpp.

        44 {
        45 test(); // run self-test implementations
        -
        46 std::string paragraph;
        -
        47 std::cout << "Please enter your paragraph: \n";
        -
        48 std::getline(std::cin, paragraph);
        -
        49 std::cout << "\nHello, your paragraph is:\n " << paragraph << "!\n";
        -
        50 std::cout << "\nThe size of your paragraph = " << paragraph.size()
        +
        46 std::string paragraph;
        +
        47 std::cout << "Please enter your paragraph: \n";
        +
        48 std::getline(std::cin, paragraph);
        +
        49 std::cout << "\nHello, your paragraph is:\n " << paragraph << "!\n";
        +
        50 std::cout << "\nThe size of your paragraph = " << paragraph.size()
        51 << " characters. \n\n";
        52
        -
        53 if (paragraph.empty()) {
        -
        54 std::cout << "\nThe paragraph is empty" << std::endl;
        +
        53 if (paragraph.empty()) {
        +
        54 std::cout << "\nThe paragraph is empty" << std::endl;
        55 } else {
        56 int ch = 0;
        57 while (true) {
        -
        58 std::string word;
        -
        59 std::cout << "Please enter the word you are searching for: ";
        - -
        61 std::cout << "Ignore case-sensitive? 1 = Yes, 0 = No" << std::endl;
        -
        62 std::cin >> ch;
        +
        58 std::string word;
        +
        59 std::cout << "Please enter the word you are searching for: ";
        +
        60 std::getline(std::cin, word);
        +
        61 std::cout << "Ignore case-sensitive? 1 = Yes, 0 = No" << std::endl;
        +
        62 std::cin >> ch;
        63 if (ch == 1) {
        -
        64 std::string lowerCase = lower(
        +
        64 std::string lowerCase = lower(
        65 paragraph); // convert std::string paragraph to lowercase
        66 // and store it in std::string lowerCase
        -
        67 std::string lowerCaseWord =
        +
        67 std::string lowerCaseWord =
        68 lower(word); // convert std::string paragraph to lowercase
        69 // and store it in std::string lowerCase
        70
        -
        71 std::cout << "Hello, your word is " << word << "!\n";
        -
        72 if (lowerCase.find(lowerCaseWord) == std::string::npos) {
        -
        73 std::cout << word << " does not exist in the sentence"
        -
        74 << std::endl;
        +
        71 std::cout << "Hello, your word is " << word << "!\n";
        +
        72 if (lowerCase.find(lowerCaseWord) == std::string::npos) {
        +
        73 std::cout << word << " does not exist in the sentence"
        +
        74 << std::endl;
        75 } else {
        -
        76 std::cout << "The word " << word
        +
        76 std::cout << "The word " << word
        77 << " is now found at location "
        -
        78 << lowerCase.find(lowerCaseWord) << std::endl
        -
        79 << std::endl;
        +
        78 << lowerCase.find(lowerCaseWord) << std::endl
        +
        79 << std::endl;
        80 }
        81 } else {
        -
        82 std::cout << "Hello, your word is " << word << "!\n";
        -
        83 if (paragraph.find(word) == std::string::npos) {
        -
        84 std::cout << word << " does not exist in the sentence"
        -
        85 << std::endl;
        +
        82 std::cout << "Hello, your word is " << word << "!\n";
        +
        83 if (paragraph.find(word) == std::string::npos) {
        +
        84 std::cout << word << " does not exist in the sentence"
        +
        85 << std::endl;
        86 } else {
        -
        87 std::cout << "The word " << word
        +
        87 std::cout << "The word " << word
        88 << " is now found at location "
        -
        89 << paragraph.find(word) << std::endl
        -
        90 << std::endl;
        +
        89 << paragraph.find(word) << std::endl
        +
        90 << std::endl;
        91 }
        92 }
        -
        93 std::cout << "\nPress Ctrl + C to exit the program.\n\n";
        -
        94 std::cin.get();
        +
        93 std::cout << "\nPress Ctrl + C to exit the program.\n\n";
        +
        94 std::cin.get();
        95 }
        96 }
        97 return 0;
        98}
        - - -
        T empty(T... args)
        -
        T endl(T... args)
        -
        T find(T... args)
        -
        T getline(T... args)
        -
        std::string lower(std::string word)
        function to convert a C++ string to lower case
        Definition text_search.cpp:19
        -
        static void test()
        Self-test implementations.
        Definition text_search.cpp:34
        -
        -Here is the call graph for this function:
        -
        -
        -
        - +
        std::string lower(std::string word)
        function to convert a C++ string to lower case
        +
        static void test()
        Self-test implementations.
        + @@ -294,18 +300,15 @@ Here is the call graph for this function:

        Self-test implementations.

        Returns
        void
        + +

        Definition at line 34 of file text_search.cpp.

        34 {
        35 assert(lower("abcd").compare("abcd") == 0);
        36 assert(lower("abc").compare("abcd") == -1);
        37 assert(lower("abcd").compare("abc") == 1);
        38}
        -
        int compare(const void *a, const void *b)
        Definition shell_sort2.cpp:87
        -
        -Here is the call graph for this function:
        -
        -
        -
        - +
        int compare(const void *a, const void *b)
        + diff --git a/dc/db5/text__search_8cpp_a3f8975d227cd0e58f298b380c5dac0d9_cgraph.map b/dc/db5/text__search_8cpp_a3f8975d227cd0e58f298b380c5dac0d9_cgraph.map deleted file mode 100644 index fd3daee91..000000000 --- a/dc/db5/text__search_8cpp_a3f8975d227cd0e58f298b380c5dac0d9_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/dc/db5/text__search_8cpp_a3f8975d227cd0e58f298b380c5dac0d9_cgraph.md5 b/dc/db5/text__search_8cpp_a3f8975d227cd0e58f298b380c5dac0d9_cgraph.md5 deleted file mode 100644 index 764c0b5de..000000000 --- a/dc/db5/text__search_8cpp_a3f8975d227cd0e58f298b380c5dac0d9_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -69f9d30126316fc42193e6e7dd5f8c11 \ No newline at end of file diff --git a/dc/db5/text__search_8cpp_a3f8975d227cd0e58f298b380c5dac0d9_cgraph.svg b/dc/db5/text__search_8cpp_a3f8975d227cd0e58f298b380c5dac0d9_cgraph.svg deleted file mode 100644 index 219682bd1..000000000 --- a/dc/db5/text__search_8cpp_a3f8975d227cd0e58f298b380c5dac0d9_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -lower - - -Node1 - - -lower - - - - - -Node2 - - -std::string::length - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/dc/db5/text__search_8cpp_a3f8975d227cd0e58f298b380c5dac0d9_cgraph_org.svg b/dc/db5/text__search_8cpp_a3f8975d227cd0e58f298b380c5dac0d9_cgraph_org.svg deleted file mode 100644 index 0a8d66854..000000000 --- a/dc/db5/text__search_8cpp_a3f8975d227cd0e58f298b380c5dac0d9_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -lower - - -Node1 - - -lower - - - - - -Node2 - - -std::string::length - - - - - -Node1->Node2 - - - - - - - - diff --git a/dc/db5/text__search_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map b/dc/db5/text__search_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map deleted file mode 100644 index 3857bd14e..000000000 --- a/dc/db5/text__search_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/dc/db5/text__search_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 b/dc/db5/text__search_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 deleted file mode 100644 index 60ca06e45..000000000 --- a/dc/db5/text__search_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -6b4278fdd33c5f75e74ed9504dd15152 \ No newline at end of file diff --git a/dc/db5/text__search_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg b/dc/db5/text__search_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg deleted file mode 100644 index cd93813e6..000000000 --- a/dc/db5/text__search_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -compare - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -lower - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::string::length - - - - - -Node3->Node4 - - - - - - - - - - - - - diff --git a/dc/db5/text__search_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg b/dc/db5/text__search_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg deleted file mode 100644 index 579993f57..000000000 --- a/dc/db5/text__search_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -compare - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -lower - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::string::length - - - - - -Node3->Node4 - - - - - - - - diff --git a/dc/db5/text__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/dc/db5/text__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index df1e26330..000000000 --- a/dc/db5/text__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - diff --git a/dc/db5/text__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/dc/db5/text__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index fafee452b..000000000 --- a/dc/db5/text__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -f3306c3c2fde2db7bad014c639d54f71 \ No newline at end of file diff --git a/dc/db5/text__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/dc/db5/text__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index c887dda6a..000000000 --- a/dc/db5/text__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,209 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -std::string::empty - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::string::find - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::getline - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -lower - - - - - -Node1->Node6 - - - - - - - - -Node7 - - -std::string::length - - - - - -Node1->Node7 - - - - - - - - -Node8 - - -test - - - - - -Node1->Node8 - - - - - - - - -Node6->Node7 - - - - - - - - -Node8->Node6 - - - - - - - - -Node9 - - -compare - - - - - -Node8->Node9 - - - - - - - - - - - - - diff --git a/dc/db5/text__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/dc/db5/text__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index b8ea09b6a..000000000 --- a/dc/db5/text__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,183 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -std::string::empty - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::string::find - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::getline - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -lower - - - - - -Node1->Node6 - - - - - - - - -Node7 - - -std::string::length - - - - - -Node1->Node7 - - - - - - - - -Node8 - - -test - - - - - -Node1->Node8 - - - - - - - - -Node6->Node7 - - - - - - - - -Node8->Node6 - - - - - - - - -Node9 - - -compare - - - - - -Node8->Node9 - - - - - - - - diff --git a/dc/db5/text__search_8cpp_source.html b/dc/db5/text__search_8cpp_source.html new file mode 100644 index 000000000..1c3d37e29 --- /dev/null +++ b/dc/db5/text__search_8cpp_source.html @@ -0,0 +1,229 @@ + + + + + + + + +TheAlgorithms/C++: search/text_search.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
        +
        + + + + + + + +
        +
        TheAlgorithms/C++ 1.0.0 +
        +
        All the algorithms implemented in C++
        +
        +
        + + + + + + + + +
        +
        + +
        +
        +
        + +
        + +
        +
        + + +
        +
        +
        +
        +
        +
        Loading...
        +
        Searching...
        +
        No Matches
        +
        +
        +
        +
        + +
        +
        text_search.cpp
        +
        +
        +Go to the documentation of this file.
        1
        +
        5#include <cassert>
        +
        6#include <cstdlib>
        +
        7#include <iostream>
        +
        8#ifdef _MSC_VER
        +
        9#include <string> // required for MS Visual C++
        +
        10#else
        +
        11#include <cstring>
        +
        12#endif
        +
        13
        +
        +
        19std::string lower(std::string word) {
        +
        20 int length = word.length();
        +
        21 std::string lc = "";
        +
        22
        +
        23 for (int i = 0; i < length; i++) {
        +
        24 lc += tolower(word[i]);
        +
        25 }
        +
        26
        +
        27 return lc;
        +
        28}
        +
        +
        29
        +
        +
        34static void test() {
        +
        35 assert(lower("abcd").compare("abcd") == 0);
        +
        36 assert(lower("abc").compare("abcd") == -1);
        +
        37 assert(lower("abcd").compare("abc") == 1);
        +
        38}
        +
        +
        39
        +
        +
        44int main() {
        +
        45 test(); // run self-test implementations
        +
        46 std::string paragraph;
        +
        47 std::cout << "Please enter your paragraph: \n";
        +
        48 std::getline(std::cin, paragraph);
        +
        49 std::cout << "\nHello, your paragraph is:\n " << paragraph << "!\n";
        +
        50 std::cout << "\nThe size of your paragraph = " << paragraph.size()
        +
        51 << " characters. \n\n";
        +
        52
        +
        53 if (paragraph.empty()) {
        +
        54 std::cout << "\nThe paragraph is empty" << std::endl;
        +
        55 } else {
        +
        56 int ch = 0;
        +
        57 while (true) {
        +
        58 std::string word;
        +
        59 std::cout << "Please enter the word you are searching for: ";
        +
        60 std::getline(std::cin, word);
        +
        61 std::cout << "Ignore case-sensitive? 1 = Yes, 0 = No" << std::endl;
        +
        62 std::cin >> ch;
        +
        63 if (ch == 1) {
        +
        64 std::string lowerCase = lower(
        +
        65 paragraph); // convert std::string paragraph to lowercase
        +
        66 // and store it in std::string lowerCase
        +
        67 std::string lowerCaseWord =
        +
        68 lower(word); // convert std::string paragraph to lowercase
        +
        69 // and store it in std::string lowerCase
        +
        70
        +
        71 std::cout << "Hello, your word is " << word << "!\n";
        +
        72 if (lowerCase.find(lowerCaseWord) == std::string::npos) {
        +
        73 std::cout << word << " does not exist in the sentence"
        +
        74 << std::endl;
        +
        75 } else {
        +
        76 std::cout << "The word " << word
        +
        77 << " is now found at location "
        +
        78 << lowerCase.find(lowerCaseWord) << std::endl
        +
        79 << std::endl;
        +
        80 }
        +
        81 } else {
        +
        82 std::cout << "Hello, your word is " << word << "!\n";
        +
        83 if (paragraph.find(word) == std::string::npos) {
        +
        84 std::cout << word << " does not exist in the sentence"
        +
        85 << std::endl;
        +
        86 } else {
        +
        87 std::cout << "The word " << word
        +
        88 << " is now found at location "
        +
        89 << paragraph.find(word) << std::endl
        +
        90 << std::endl;
        +
        91 }
        +
        92 }
        +
        93 std::cout << "\nPress Ctrl + C to exit the program.\n\n";
        +
        94 std::cin.get();
        +
        95 }
        +
        96 }
        +
        97 return 0;
        +
        98}
        +
        +
        int compare(const void *a, const void *b)
        +
        std::string lower(std::string word)
        function to convert a C++ string to lower case
        +
        static void test()
        Self-test implementations.
        +
        int main()
        Main function.
        +
        +
        + + + + diff --git a/dc/dc4/_2_users_2runner_2work_2_c-_plus-_plus_2_c-_plus-_plus_2numerical_methods_2rungekutta_8cpp-example.html b/dc/dc4/_2_users_2runner_2work_2_c-_plus-_plus_2_c-_plus-_plus_2numerical_methods_2rungekutta_8cpp-example.html index 0cfc4b4cc..1a72a3a70 100644 --- a/dc/dc4/_2_users_2runner_2work_2_c-_plus-_plus_2_c-_plus-_plus_2numerical_methods_2rungekutta_8cpp-example.html +++ b/dc/dc4/_2_users_2runner_2work_2_c-_plus-_plus_2_c-_plus-_plus_2numerical_methods_2rungekutta_8cpp-example.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: /Users/runner/work/C-Plus-Plus/C-Plus-Plus/numerical_methods/rungekutta.cpp +TheAlgorithms/C++: /Users/runner/work/C-Plus-Plus/C-Plus-Plus/numerical_methods/rungekutta.cpp + + + @@ -18,14 +24,24 @@ - - + +
        @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -108,62 +125,15 @@ $(function(){initNavTree('dc/dc4/_2_users_2runner_2work_2_c-_plus-_plus_2_c-_plu

        it solves \frac{\mathrm{d} y}{\mathrm{d} x}= \frac{\left ( x-y \right )}{2} given x for given initial conditions There can be many such equations

        -
        /**
        -
        * @{
        -
        * \file
        -
        * \brief [Runge Kutta fourth
        -
        * order](https://en.wikipedia.org/wiki/Runge%E2%80%93Kutta_methods) method
        -
        * implementation
        -
        *
        -
        * \author [Rudra Prasad Das](http://github.com/rudra697)
        -
        *
        -
        * \details
        -
        * It solves the unknown value of y
        -
        * for a given value of x
        -
        * only first order differential equations
        -
        * can be solved
        -
        * \example
        -
        * it solves \frac{\mathrm{d} y}{\mathrm{d} x}= \frac{\left ( x-y \right )}{2}
        -
        * given x for given initial
        -
        * conditions
        -
        * There can be many such equations
        -
        */
        -
        #include <cassert> /// asserting the test functions
        +
        +
        #include <cassert>
        #include <cstdint>
        -
        #include <iostream> /// for io operations
        -
        #include <vector> /// for using the vector container
        -
        /**
        -
        * @brief The change() function is used
        -
        * to return the updated iterative value corresponding
        -
        * to the given function
        -
        * @param x is the value corresponding to the x coordinate
        -
        * @param y is the value corresponding to the y coordinate
        -
        * @returns the computed function value at that call
        -
        */
        +
        #include <iostream>
        +
        #include <vector>
        static double change(double x, double y) { return ((x - y) / 2.0); }
        -
        -
        /**
        -
        * @namespace numerical_methods
        -
        * @brief Numerical Methods
        -
        */
        -
        namespace numerical_methods {
        -
        /**
        -
        * @namespace runge_kutta
        -
        * @brief Functions for [Runge Kutta fourth
        -
        * order](https://en.wikipedia.org/wiki/Runge%E2%80%93Kutta_methods) method
        -
        */
        -
        namespace runge_kutta {
        -
        /**
        -
        * @brief the Runge Kutta method finds the value of integration of a function in
        -
        * the given limits. the lower limit of integration as the initial value and the
        -
        * upper limit is the given x
        -
        * @param init_x is the value of initial x and is updated after each call
        -
        * @param init_y is the value of initial x and is updated after each call
        -
        * @param x is current iteration at which the function needs to be evaluated
        -
        * @param h is the step value
        -
        * @returns the value of y at thr required value of x from the initial
        -
        * conditions
        -
        */
        +
        +
        namespace numerical_methods {
        +
        namespace runge_kutta {
        double rungeKutta(double init_x, const double &init_y, const double &x,
        const double &h) {
        // Count number of iterations
        @@ -176,7 +146,7 @@ $(function(){initNavTree('dc/dc4/_2_users_2runner_2work_2_c-_plus-_plus_2_c-_plu
        auto n = static_cast<uint64_t>((x - init_x) / h);
        // used a vector container for the variables
        - +
        std::vector<double> k(4, 0.0);
        // Iterate for number of iterations
        @@ -202,54 +172,44 @@ $(function(){initNavTree('dc/dc4/_2_users_2runner_2work_2_c-_plus-_plus_2_c-_plu
        }
        } // namespace runge_kutta
        } // namespace numerical_methods
        -
        -
        /**
        -
        * @brief Tests to check algorithm implementation.
        -
        * @returns void
        -
        */
        -
        static void test() {
        -
        std::cout << "The Runge Kutta function will be tested on the basis of "
        +
        +
        static void test() {
        +
        std::cout << "The Runge Kutta function will be tested on the basis of "
        "precomputed values\n";
        -
        std::cout << "Test 1...."
        +
        std::cout << "Test 1...."
        << "\n";
        2, 3, 4, 0.2); // Tests the function with pre calculated values
        assert(valfirst == 3.10363932323749570);
        -
        std::cout << "Passed Test 1\n";
        +
        std::cout << "Passed Test 1\n";
        -
        std::cout << "Test 2...."
        +
        std::cout << "Test 2...."
        << "\n";
        1, 2, 5, 0.1); // The value of step changed
        assert(valsec == 3.40600589380261409);
        -
        std::cout << "Passed Test 2\n";
        +
        std::cout << "Passed Test 2\n";
        -
        std::cout << "Test 3...."
        +
        std::cout << "Test 3...."
        << "\n";
        -1, 3, 4, 0.1); // Tested with negative value
        assert(valthird == 2.49251005860244268);
        -
        std::cout << "Passed Test 3\n";
        +
        std::cout << "Passed Test 3\n";
        }
        -
        -
        /**
        -
        * @brief Main function
        -
        * @returns 0 on exit
        -
        */
        -
        int main() {
        +
        +
        int main() {
        test(); // Execute the tests
        return 0;
        }
        - -
        static void test()
        Self-test implementations.
        Definition generate_parentheses.cpp:82
        -
        int main()
        Main function.
        Definition generate_parentheses.cpp:110
        -
        int h(int key)
        Definition hash_search.cpp:45
        +
        static void test()
        Self-test implementations.
        +
        int main()
        Main function.
        +
        int h(int key)
        Functions for Runge Kutta fourth order method.
        -
        static double change(double x, double y)
        asserting the test functions
        Definition rungekutta.cpp:33
        -
        double rungeKutta(double init_x, const double &init_y, const double &x, const double &h)
        the Runge Kutta method finds the value of integration of a function in the given limits....
        Definition rungekutta.cpp:57
        - +
        static double change(double x, double y)
        asserting the test functions
        +
        double rungeKutta(double init_x, const double &init_y, const double &x, const double &h)
        the Runge Kutta method finds the value of integration of a function in the given limits....
        diff --git a/dc/dc5/namespacereverse__binary__tree.html b/dc/dc5/namespacereverse__binary__tree.html index 7889bcce5..88955764c 100644 --- a/dc/dc5/namespacereverse__binary__tree.html +++ b/dc/dc5/namespacereverse__binary__tree.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: reverse_binary_tree Namespace Reference +TheAlgorithms/C++: reverse_binary_tree Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
        @@ -33,10 +49,11 @@ MathJax.Hub.Config({
        -
        Algorithms_in_C++ 1.0.0 +
        TheAlgorithms/C++ 1.0.0
        -
        Set of algorithms implemented in C++.
        +
        All the algorithms implemented in C++
        + diff --git a/dc/dc5/paranthesis__matching_8cpp.html b/dc/dc5/paranthesis__matching_8cpp.html index c709668ce..3e593719d 100644 --- a/dc/dc5/paranthesis__matching_8cpp.html +++ b/dc/dc5/paranthesis__matching_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: others/paranthesis_matching.cpp File Reference +TheAlgorithms/C++: others/paranthesis_matching.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
        @@ -33,10 +49,11 @@ MathJax.Hub.Config({
        -
        Algorithms_in_C++ 1.0.0 +
        TheAlgorithms/C++ 1.0.0
        -
        Set of algorithms implemented in C++.
        +
        All the algorithms implemented in C++
        + @@ -120,7 +137,9 @@ Include dependency graph for paranthesis_matching.cpp:
        -
        -
        Algorithms_in_C++ 1.0.0 +
        TheAlgorithms/C++ 1.0.0
        -
        Set of algorithms implemented in C++.
        +
        All the algorithms implemented in C++
        + +

        Go to the source code of this file.

        +
        @@ -134,9 +153,8 @@ Functions - - + + @@ -151,6 +169,8 @@ int  Implementation is C-type and does not utilize the C++ constructs
        Todo
        implement as a C++ class
        + +

        Definition in file paranthesis_matching.cpp.

        Macro Definition Documentation

        ◆ MAX

        @@ -165,6 +185,8 @@ Implementation is C-type and does not utilize the C++ constructs

        check number

        +

        Definition at line 16 of file paranthesis_matching.cpp.

        +

        Function Documentation

        @@ -182,13 +204,15 @@ Implementation is C-type and does not utilize the C++ constructs

        Macros

        #define MAX   100
         
        char stack [MAX]
         
        -int stack_idx = -1
         pointer to track stack index
        int stack_idx = -1
         pointer to track stack index
         
        void push (char ch)
         push byte to stack variable
        stack_idx = -1
        + +

        Definition at line 50 of file paranthesis_matching.cpp.

        50 {
        - +
        51 std::string exp;
        52 int valid = 1, i = 0;
        -
        53 std::cout << "Enter The Expression : ";
        -
        54 std::cin >> exp;
        +
        53 std::cout << "Enter The Expression : ";
        +
        54 std::cin >> exp;
        55
        -
        56 while (valid == 1 && i < exp.length()) {
        +
        56 while (valid == 1 && i < exp.length()) {
        57 if (exp[i] == '(' || exp[i] == '{' || exp[i] == '[' || exp[i] == '<') {
        58 push(exp[i]);
        59 } else if (stack_idx >= 0 && stack[stack_idx] == opening(exp[i])) {
        @@ -201,22 +225,19 @@ Implementation is C-type and does not utilize the C++ constructs
        66
        67 // makes sure the stack is empty after processsing (above)
        68 if (valid == 1 && stack_idx == -1) {
        -
        69 std::cout << "\nCorrect Expression";
        +
        69 std::cout << "\nCorrect Expression";
        70 } else {
        -
        71 std::cout << "\nWrong Expression";
        +
        71 std::cout << "\nWrong Expression";
        72 }
        73
        74 return 0;
        75}
        - - - -
        for std::invalid_argument
        Definition stack.hpp:19
        -
        T exp(T... args)
        -
        char pop()
        pop a byte out of stack variable
        Definition paranthesis_matching.cpp:29
        -
        void push(char ch)
        push byte to stack variable
        Definition paranthesis_matching.cpp:26
        -
        char opening(char ch)
        Definition paranthesis_matching.cpp:36
        -
        int stack_idx
        pointer to track stack index
        Definition paranthesis_matching.cpp:23
        +
        for std::invalid_argument
        Definition stack.hpp:19
        +
        uint256_t exp(uint256_t number, uint256_t power, const uint256_t &mod)
        This function calculates number raised to exponent power under modulo mod using Modular Exponentiatio...
        +
        char pop()
        pop a byte out of stack variable
        +
        void push(char ch)
        push byte to stack variable
        +
        char opening(char ch)
        +
        int stack_idx
        pointer to track stack index
        @@ -240,6 +261,8 @@ Implementation is C-type and does not utilize the C++ constructs + +

        Definition at line 36 of file paranthesis_matching.cpp.

        36 {
        37 switch (ch) {
        38 case '}':
        @@ -272,6 +295,8 @@ Implementation is C-type and does not utilize the C++ constructs

        pop a byte out of stack variable

        + +

        Definition at line 29 of file paranthesis_matching.cpp.

        29{ return stack[stack_idx--]; }
        @@ -292,6 +317,8 @@ Implementation is C-type and does not utilize the C++ constructs

        push byte to stack variable

        + +

        Definition at line 26 of file paranthesis_matching.cpp.

        26{ stack[++stack_idx] = ch; }
        @@ -310,6 +337,26 @@ Implementation is C-type and does not utilize the C++ constructs

        -----------— stack -----------— global stack

        +

        Definition at line 20 of file paranthesis_matching.cpp.

        + +
        + + +

        ◆ stack_idx

        + +
        +
        + + + + +
        int stack_idx = -1
        +
        + +

        pointer to track stack index

        + +

        Definition at line 23 of file paranthesis_matching.cpp.

        +
        diff --git a/dc/dc5/paranthesis__matching_8cpp_source.html b/dc/dc5/paranthesis__matching_8cpp_source.html new file mode 100644 index 000000000..5d88492b2 --- /dev/null +++ b/dc/dc5/paranthesis__matching_8cpp_source.html @@ -0,0 +1,206 @@ + + + + + + + + +TheAlgorithms/C++: others/paranthesis_matching.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
        +
        + + + + + + + +
        +
        TheAlgorithms/C++ 1.0.0 +
        +
        All the algorithms implemented in C++
        +
        +
        + + + + + + + + +
        +
        + +
        +
        +
        + +
        + +
        +
        + + +
        +
        +
        +
        +
        +
        Loading...
        +
        Searching...
        +
        No Matches
        +
        +
        +
        +
        + +
        +
        paranthesis_matching.cpp
        +
        +
        +Go to the documentation of this file.
        1
        +
        8#include <iostream>
        +
        9#ifdef _MSC_VER
        +
        10#include <string> // Visual Studio C requires this include
        +
        11#else
        +
        12#include <cstring>
        +
        13#endif
        +
        14
        +
        16#define MAX 100
        +
        17
        +
        20char stack[MAX];
        +
        21
        +
        23int stack_idx = -1;
        +
        24
        +
        26void push(char ch) { stack[++stack_idx] = ch; }
        +
        27
        +
        29char pop() { return stack[stack_idx--]; }
        +
        30
        +
        32
        +
        +
        36char opening(char ch) {
        +
        37 switch (ch) {
        +
        38 case '}':
        +
        39 return '{';
        +
        40 case ']':
        +
        41 return '[';
        +
        42 case ')':
        +
        43 return '(';
        +
        44 case '>':
        +
        45 return '<';
        +
        46 }
        +
        47 return '\0';
        +
        48}
        +
        +
        49
        +
        50int main() {
        +
        51 std::string exp;
        +
        52 int valid = 1, i = 0;
        +
        53 std::cout << "Enter The Expression : ";
        +
        54 std::cin >> exp;
        +
        55
        +
        56 while (valid == 1 && i < exp.length()) {
        +
        57 if (exp[i] == '(' || exp[i] == '{' || exp[i] == '[' || exp[i] == '<') {
        +
        58 push(exp[i]);
        +
        59 } else if (stack_idx >= 0 && stack[stack_idx] == opening(exp[i])) {
        +
        60 pop();
        +
        61 } else {
        +
        62 valid = 0;
        +
        63 }
        +
        64 i++;
        +
        65 }
        +
        66
        +
        67 // makes sure the stack is empty after processsing (above)
        +
        68 if (valid == 1 && stack_idx == -1) {
        +
        69 std::cout << "\nCorrect Expression";
        +
        70 } else {
        +
        71 std::cout << "\nWrong Expression";
        +
        72 }
        +
        73
        +
        74 return 0;
        +
        75}
        +
        for std::invalid_argument
        Definition stack.hpp:19
        +
        int main()
        Main function.
        +
        uint256_t exp(uint256_t number, uint256_t power, const uint256_t &mod)
        This function calculates number raised to exponent power under modulo mod using Modular Exponentiatio...
        +
        #define MAX
        +
        char pop()
        pop a byte out of stack variable
        +
        void push(char ch)
        push byte to stack variable
        +
        char opening(char ch)
        +
        int stack_idx
        pointer to track stack index
        +
        +
        + + + + diff --git a/dc/dd3/classbacktracking_1_1generate__parentheses-members.html b/dc/dd3/classbacktracking_1_1generate__parentheses-members.html index 31cebcd0b..f7ebda787 100644 --- a/dc/dd3/classbacktracking_1_1generate__parentheses-members.html +++ b/dc/dd3/classbacktracking_1_1generate__parentheses-members.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Member List +TheAlgorithms/C++: Member List + + + @@ -18,14 +24,24 @@ - - + +
        @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/dc/dd4/classdata__structures_1_1_bloom_filter.html b/dc/dd4/classdata__structures_1_1_bloom_filter.html index fb1527864..5e33b2c9d 100644 --- a/dc/dd4/classdata__structures_1_1_bloom_filter.html +++ b/dc/dd4/classdata__structures_1_1_bloom_filter.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: data_structures::BloomFilter< T > Class Template Reference +TheAlgorithms/C++: data_structures::BloomFilter< T > Class Template Reference + + + @@ -18,14 +24,24 @@ - - + +
        @@ -33,10 +49,11 @@ MathJax.Hub.Config({
        -
        Algorithms_in_C++ 1.0.0 +
        TheAlgorithms/C++ 1.0.0
        -
        Set of algorithms implemented in C++.
        +
        All the algorithms implemented in C++
        + @@ -117,12 +134,12 @@ $(function(){initNavTree('dc/dd4/classdata__structures_1_1_bloom_filter.html','.
        Collaboration diagram for data_structures::BloomFilter< T >:
        -
        +
        [legend]
        -
        Algorithms_in_C++ 1.0.0 +
        TheAlgorithms/C++ 1.0.0
        -
        Set of algorithms implemented in C++.
        +
        All the algorithms implemented in C++
        - + @@ -134,13 +151,11 @@ Public Member Functions

        Public Member Functions

         BloomFilter (std::size_t, std::initializer_list< std::function< std::size_t(T)> >)
         BloomFilter (std::size_t, std::initializer_list< std::function< std::size_t(T)> >)
         Constructor for Bloom filter.
         
        void add (T)
        - - + + - - + +

        Private Attributes

        -Bitset set
         inner bitset for elements
        Bitset set
         inner bitset for elements
         
        -std::vector< std::function< std::size_t(T)> > hashFunks
         hash functions for T type
        std::vector< std::function< std::size_t(T)> > hashFunks
         hash functions for T type
         

        Detailed Description

        @@ -152,6 +167,8 @@ class data_structures::BloomFilter< T >

        Bloom filter template clas + +

        Definition at line 99 of file bloom_filter.cpp.

        Constructor & Destructor Documentation

        ◆ BloomFilter()

        @@ -164,12 +181,12 @@ template<typename T > data_structures::BloomFilter< T >::BloomFilter ( - std::size_t size, + std::size_t size, - std::initializer_list< std::function< std::size_t(T)> > funks ) + std::initializer_list< std::function< std::size_t(T)> > funks )
        @@ -189,9 +206,11 @@ template<typename T >
        Returns
        none
        + +

        Definition at line 121 of file bloom_filter.cpp.

        124 : set(size), hashFunks(funks) {}
        -
        std::vector< std::function< std::size_t(T)> > hashFunks
        hash functions for T type
        Definition bloom_filter.cpp:103
        -
        Bitset set
        inner bitset for elements
        Definition bloom_filter.cpp:101
        +
        std::vector< std::function< std::size_t(T)> > hashFunks
        hash functions for T type
        +
        Bitset set
        inner bitset for elements
        @@ -227,21 +246,16 @@ template<typename T >
        Returns
        void
        + +

        Definition at line 134 of file bloom_filter.cpp.

        134 {
        -
        135 for (std::size_t i = 0; i < hashFunks.size(); i++) {
        -
        136 set.add(hashFunks[i](x) % (sizeof(std::size_t) * set.size()));
        +
        135 for (std::size_t i = 0; i < hashFunks.size(); i++) {
        +
        136 set.add(hashFunks[i](x) % (sizeof(std::size_t) * set.size()));
        137 }
        138}
        -
        void add(std::size_t)
        Turn bit on position x to 1s.
        Definition bloom_filter.cpp:71
        -
        std::size_t size()
        Utility function to return the size of the inner array.
        Definition bloom_filter.cpp:57
        -
        T size(T... args)
        - -
        -Here is the call graph for this function:
        -
        -
        -
        - +
        void add(std::size_t)
        Turn bit on position x to 1s.
        +
        std::size_t size()
        Utility function to return the size of the inner array.
        + @@ -277,26 +291,80 @@ template<typename T >
        Returns
        true if the element probably appears in the filter
        false if the element certainly does not appear in the filter
        + +

        Definition at line 149 of file bloom_filter.cpp.

        149 {
        -
        150 for (std::size_t i = 0; i < hashFunks.size(); i++) {
        +
        150 for (std::size_t i = 0; i < hashFunks.size(); i++) {
        151 if (set.contains(hashFunks[i](x) %
        -
        152 (sizeof(std::size_t) * set.size())) == false) {
        +
        152 (sizeof(std::size_t) * set.size())) == false) {
        153 return false;
        154 }
        155 }
        156 return true;
        157}
        -
        bool contains(std::size_t)
        Doest bitset contains element x.
        Definition bloom_filter.cpp:86
        -
        -Here is the call graph for this function:
        -
        -
        +
        bool contains(std::size_t)
        Doest bitset contains element x.
        +
        + +

        Member Data Documentation

        + +

        ◆ hashFunks

        + +
        +
        +
        +template<typename T >
        + + + + + +
        + + + + +
        std::vector<std::function<std::size_t(T)> > data_structures::BloomFilter< T >::hashFunks
        +
        +private
        +
        + +

        hash functions for T type

        + +

        Definition at line 103 of file bloom_filter.cpp.

        + +
        +
        + +

        ◆ set

        + +
        +
        +
        +template<typename T >
        + + + + + +
        + + + + +
        Bitset data_structures::BloomFilter< T >::set
        +
        +private
        +
        + +

        inner bitset for elements

        + +

        Definition at line 101 of file bloom_filter.cpp.


        The documentation for this class was generated from the following file: diff --git a/dc/dd4/classdata__structures_1_1_bloom_filter_a576db259488dbfb67624a9652a5ab08b_cgraph.map b/dc/dd4/classdata__structures_1_1_bloom_filter_a576db259488dbfb67624a9652a5ab08b_cgraph.map deleted file mode 100644 index 7a97016f4..000000000 --- a/dc/dd4/classdata__structures_1_1_bloom_filter_a576db259488dbfb67624a9652a5ab08b_cgraph.map +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/dc/dd4/classdata__structures_1_1_bloom_filter_a576db259488dbfb67624a9652a5ab08b_cgraph.md5 b/dc/dd4/classdata__structures_1_1_bloom_filter_a576db259488dbfb67624a9652a5ab08b_cgraph.md5 deleted file mode 100644 index 01f353a8c..000000000 --- a/dc/dd4/classdata__structures_1_1_bloom_filter_a576db259488dbfb67624a9652a5ab08b_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -1fd72c5f472c4f2c77bd2889767e840d \ No newline at end of file diff --git a/dc/dd4/classdata__structures_1_1_bloom_filter_a576db259488dbfb67624a9652a5ab08b_cgraph.svg b/dc/dd4/classdata__structures_1_1_bloom_filter_a576db259488dbfb67624a9652a5ab08b_cgraph.svg deleted file mode 100644 index 5eca9310f..000000000 --- a/dc/dd4/classdata__structures_1_1_bloom_filter_a576db259488dbfb67624a9652a5ab08b_cgraph.svg +++ /dev/null @@ -1,113 +0,0 @@ - - - - - - - - - - - - -data_structures::BloomFilter::contains - - -Node1 - - -data_structures::BloomFilter -::contains - - - - - -Node2 - - -data_structures::Bitset -::contains - - - - - -Node1->Node2 - - - - - - - - -Node4 - - -data_structures::Bitset -::size - - - - - -Node1->Node4 - - - - - - - - -Node3 - - -std::vector::size - - - - - -Node2->Node3 - - - - - - - - -Node4->Node3 - - - - - - - - - - - - - diff --git a/dc/dd4/classdata__structures_1_1_bloom_filter_a576db259488dbfb67624a9652a5ab08b_cgraph_org.svg b/dc/dd4/classdata__structures_1_1_bloom_filter_a576db259488dbfb67624a9652a5ab08b_cgraph_org.svg deleted file mode 100644 index d56e72d91..000000000 --- a/dc/dd4/classdata__structures_1_1_bloom_filter_a576db259488dbfb67624a9652a5ab08b_cgraph_org.svg +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - -data_structures::BloomFilter::contains - - -Node1 - - -data_structures::BloomFilter -::contains - - - - - -Node2 - - -data_structures::Bitset -::contains - - - - - -Node1->Node2 - - - - - - - - -Node4 - - -data_structures::Bitset -::size - - - - - -Node1->Node4 - - - - - - - - -Node3 - - -std::vector::size - - - - - -Node2->Node3 - - - - - - - - -Node4->Node3 - - - - - - - - diff --git a/dc/dd4/classdata__structures_1_1_bloom_filter_a67bed8ef62fcb1f33b6c72df47dcf840_cgraph.map b/dc/dd4/classdata__structures_1_1_bloom_filter_a67bed8ef62fcb1f33b6c72df47dcf840_cgraph.map deleted file mode 100644 index 2df4dcb72..000000000 --- a/dc/dd4/classdata__structures_1_1_bloom_filter_a67bed8ef62fcb1f33b6c72df47dcf840_cgraph.map +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - - - diff --git a/dc/dd4/classdata__structures_1_1_bloom_filter_a67bed8ef62fcb1f33b6c72df47dcf840_cgraph.md5 b/dc/dd4/classdata__structures_1_1_bloom_filter_a67bed8ef62fcb1f33b6c72df47dcf840_cgraph.md5 deleted file mode 100644 index 9dee41268..000000000 --- a/dc/dd4/classdata__structures_1_1_bloom_filter_a67bed8ef62fcb1f33b6c72df47dcf840_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -1a81d441b95580fb05d3d501a0c621fc \ No newline at end of file diff --git a/dc/dd4/classdata__structures_1_1_bloom_filter_a67bed8ef62fcb1f33b6c72df47dcf840_cgraph.svg b/dc/dd4/classdata__structures_1_1_bloom_filter_a67bed8ef62fcb1f33b6c72df47dcf840_cgraph.svg deleted file mode 100644 index c8aa4ea84..000000000 --- a/dc/dd4/classdata__structures_1_1_bloom_filter_a67bed8ef62fcb1f33b6c72df47dcf840_cgraph.svg +++ /dev/null @@ -1,129 +0,0 @@ - - - - - - - - - - - - -data_structures::BloomFilter::add - - -Node1 - - -data_structures::BloomFilter::add - - - - - -Node2 - - -data_structures::Bitset::add - - - - - -Node1->Node2 - - - - - - - - -Node5 - - -data_structures::Bitset -::size - - - - - -Node1->Node5 - - - - - - - - -Node3 - - -std::vector::resize - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::vector::size - - - - - -Node2->Node4 - - - - - - - - -Node5->Node4 - - - - - - - - - - - - - diff --git a/dc/dd4/classdata__structures_1_1_bloom_filter_a67bed8ef62fcb1f33b6c72df47dcf840_cgraph_org.svg b/dc/dd4/classdata__structures_1_1_bloom_filter_a67bed8ef62fcb1f33b6c72df47dcf840_cgraph_org.svg deleted file mode 100644 index 4e9131c43..000000000 --- a/dc/dd4/classdata__structures_1_1_bloom_filter_a67bed8ef62fcb1f33b6c72df47dcf840_cgraph_org.svg +++ /dev/null @@ -1,103 +0,0 @@ - - - - - - -data_structures::BloomFilter::add - - -Node1 - - -data_structures::BloomFilter::add - - - - - -Node2 - - -data_structures::Bitset::add - - - - - -Node1->Node2 - - - - - - - - -Node5 - - -data_structures::Bitset -::size - - - - - -Node1->Node5 - - - - - - - - -Node3 - - -std::vector::resize - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::vector::size - - - - - -Node2->Node4 - - - - - - - - -Node5->Node4 - - - - - - - - diff --git a/dc/dd5/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1comparison__operator-members.html b/dc/dd5/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1comparison__operator-members.html index 55d38a6b4..e66453665 100644 --- a/dc/dd5/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1comparison__operator-members.html +++ b/dc/dd5/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1comparison__operator-members.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Member List +TheAlgorithms/C++: Member List + + + @@ -18,14 +24,24 @@ - - + +
        @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/dc/dd9/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d__coll__graph.map b/dc/dd9/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d__coll__graph.map index 4be6d3275..e190a2c7e 100644 --- a/dc/dd9/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d__coll__graph.map +++ b/dc/dd9/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d__coll__graph.map @@ -2,16 +2,16 @@ - + - + - + - + - + diff --git a/dc/dd9/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d__coll__graph.md5 b/dc/dd9/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d__coll__graph.md5 index 96f9a0200..5f7e79f08 100644 --- a/dc/dd9/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d__coll__graph.md5 +++ b/dc/dd9/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d__coll__graph.md5 @@ -1 +1 @@ -0ee87fdfa58b1fe4068700440b2354a4 \ No newline at end of file +a058c329bef3dfdc2d4f959567541189 \ No newline at end of file diff --git a/dc/dd9/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d__coll__graph.svg b/dc/dd9/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d__coll__graph.svg index 06abca7b2..7f9ff16d4 100644 --- a/dc/dd9/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d__coll__graph.svg +++ b/dc/dd9/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d__coll__graph.svg @@ -89,7 +89,7 @@ var sectionId = 'dynsection-1'; Node3 - + std::vector< std::list < int > > @@ -109,7 +109,7 @@ var sectionId = 'dynsection-1'; Node4 - + std::list< int > @@ -128,7 +128,7 @@ var sectionId = 'dynsection-1'; Node5 - + std::vector< std::vector < int > > @@ -148,7 +148,7 @@ var sectionId = 'dynsection-1'; Node6 - + std::vector< int > @@ -180,7 +180,7 @@ var sectionId = 'dynsection-1'; Node7 - + std::vector< X > diff --git a/dc/dd9/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d__coll__graph_org.svg b/dc/dd9/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d__coll__graph_org.svg index 7236c6390..193823b5f 100644 --- a/dc/dd9/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d__coll__graph_org.svg +++ b/dc/dd9/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d__coll__graph_org.svg @@ -42,7 +42,7 @@ Node3 - + std::vector< std::list < int > > @@ -62,7 +62,7 @@ Node4 - + std::list< int > @@ -81,7 +81,7 @@ Node5 - + std::vector< std::vector < int > > @@ -101,7 +101,7 @@ Node6 - + std::vector< int > @@ -133,7 +133,7 @@ Node7 - + std::vector< X > diff --git a/dc/dd9/strand__sort_8cpp.html b/dc/dd9/strand__sort_8cpp.html index 59d18f05a..f19925213 100644 --- a/dc/dd9/strand__sort_8cpp.html +++ b/dc/dd9/strand__sort_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: sorting/strand_sort.cpp File Reference +TheAlgorithms/C++: sorting/strand_sort.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
        @@ -33,10 +49,11 @@ MathJax.Hub.Config({
        -
        Algorithms_in_C++ 1.0.0 +
        TheAlgorithms/C++ 1.0.0
        -
        Set of algorithms implemented in C++.
        +
        All the algorithms implemented in C++
        + @@ -120,7 +137,9 @@ Include dependency graph for strand_sort.cpp:
        -
        -
        Algorithms_in_C++ 1.0.0 +
        TheAlgorithms/C++ 1.0.0
        -
        Set of algorithms implemented in C++.
        +
        All the algorithms implemented in C++
        + +

        Go to the source code of this file.

        +
        @@ -133,7 +152,7 @@ Namespaces - + @@ -148,6 +167,8 @@ Functions

        Strand Sort is a sorting algorithm that works in \(O(n)\) time if list is already sorted and works in \(O(n^2)\) in worst case.

        It is passed over the array to be sorted once and the ascending (sequential) numbers are taken. After the first iteration, the sequential sub-array is put on the empty sorted array. The main sequence is passed over again and a new sub-sequence is created in order. Now that the sorted array is not empty, the newly extracted substring is merged with the sorted array. Repeat types 3 and 4 until the sub-sequence and main sequence are empty.

        Author
        Mertcan Davulcu
        + +

        Definition in file strand_sort.cpp.

        Function Documentation

        ◆ main()

        @@ -166,17 +187,14 @@ Functions

        Main function.

        Returns
        0 on exit
        + +

        Definition at line 84 of file strand_sort.cpp.

        84 {
        85 test();
        86 return 0;
        87}
        -
        static void test()
        Function for testing.
        Definition strand_sort.cpp:64
        -
        -Here is the call graph for this function:
        -
        -
        -
        - +
        static void test()
        Function for testing.
        + @@ -188,9 +206,9 @@ Here is the call graph for this function: template<typename T >

        Namespaces

        namespace  sorting

        Functions

        template<typename T >
        std::list< T > sorting::strand::strand_sort (std::list< T > lst)
        std::list< T > sorting::strand::strand_sort (std::list< T > lst)
         Apply sorting.
         
        static void test ()
        - + - +
        std::list< T > sorting::strand::strand_sort std::list< T > sorting::strand::strand_sort (std::list< T > lst)std::list< T > lst)
        @@ -210,19 +228,21 @@ template<typename T >
        Returns
        Sorted list<T> instance
        + +

        Definition at line 36 of file strand_sort.cpp.

        36 {
        -
        37 if (lst.size() < 2) { // Returns list if empty or contains only one element
        +
        37 if (lst.size() < 2) { // Returns list if empty or contains only one element
        38 return lst; // Returns list
        39 }
        -
        40 std::list<T> result; // Define new "result" named list instance.
        -
        41 std::list<T> sorted; // Define new "sorted" named list instance.
        -
        42 while(!lst.empty()) /* if lst is not empty */ {
        -
        43 sorted.push_back(lst.front()); // Adds the first element of "lst" list to the bottom of the "sorted" list.
        -
        44 lst.pop_front(); // Remove first element of "lst" list.
        -
        45 for (auto it = lst.begin(); it != lst.end(); ) { // Return the loop as long as the current iterator is not equal to the last literator of the "lst" list.
        -
        46 if (sorted.back() <= *it) { // If the last reference of the "sorted" list is less than or equal to the current iterator reference.
        -
        47 sorted.push_back(*it); // Adds the iterator retrieved in the loop under the "sorted" list.
        -
        48 it = lst.erase(it); // Deletes the element with the current iterator and assigns the deleted element to the iterator.
        +
        40 std::list<T> result; // Define new "result" named list instance.
        +
        41 std::list<T> sorted; // Define new "sorted" named list instance.
        +
        42 while(!lst.empty()) /* if lst is not empty */ {
        +
        43 sorted.push_back(lst.front()); // Adds the first element of "lst" list to the bottom of the "sorted" list.
        +
        44 lst.pop_front(); // Remove first element of "lst" list.
        +
        45 for (auto it = lst.begin(); it != lst.end(); ) { // Return the loop as long as the current iterator is not equal to the last literator of the "lst" list.
        +
        46 if (sorted.back() <= *it) { // If the last reference of the "sorted" list is less than or equal to the current iterator reference.
        +
        47 sorted.push_back(*it); // Adds the iterator retrieved in the loop under the "sorted" list.
        +
        48 it = lst.erase(it); // Deletes the element with the current iterator and assigns the deleted element to the iterator.
        49 } else {
        50 it++; // Next iterator.
        51 }
        @@ -231,23 +251,8 @@ template<typename T >
        54 }
        55 return result; // Returns sorted list
        56 }
        -
        T back(T... args)
        -
        T begin(T... args)
        -
        T empty(T... args)
        -
        T end(T... args)
        -
        T erase(T... args)
        -
        uint64_t result(uint64_t n)
        Definition fibonacci_sum.cpp:77
        -
        T front(T... args)
        - -
        T pop_front(T... args)
        -
        T push_back(T... args)
        -
        T size(T... args)
        -
        -Here is the call graph for this function:
        -
        -
        -
        - +
        uint64_t result(uint64_t n)
        + @@ -275,23 +280,24 @@ Here is the call graph for this function:

        Function for testing.

        Returns
        N/A
        + +

        Definition at line 64 of file strand_sort.cpp.

        64 {
        -
        65 std::list<int> lst = { -333, 525, 1, 0, 94, 52, 33 };
        +
        65 std::list<int> lst = { -333, 525, 1, 0, 94, 52, 33 };
        66
        -
        67 std::cout << "Before: ";
        +
        67 std::cout << "Before: ";
        68 for(auto item: lst) {
        -
        69 std::cout << item << " ";
        +
        69 std::cout << item << " ";
        70 }
        71
        72 lst = sorting::strand::strand_sort(lst); // Sort list.
        73
        -
        74 std::cout << "\nAfter: ";
        +
        74 std::cout << "\nAfter: ";
        75 for(auto item: lst) {
        -
        76 std::cout << item << " ";
        +
        76 std::cout << item << " ";
        77 }
        78}
        - -
        std::list< T > strand_sort(std::list< T > lst)
        Apply sorting.
        Definition strand_sort.cpp:36
        +
        std::list< T > strand_sort(std::list< T > lst)
        Apply sorting.
        diff --git a/dc/dd9/strand__sort_8cpp_a2bea2fe5dd38ed63610fdeaddf5785cd_cgraph.map b/dc/dd9/strand__sort_8cpp_a2bea2fe5dd38ed63610fdeaddf5785cd_cgraph.map deleted file mode 100644 index 9c85f861f..000000000 --- a/dc/dd9/strand__sort_8cpp_a2bea2fe5dd38ed63610fdeaddf5785cd_cgraph.map +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - diff --git a/dc/dd9/strand__sort_8cpp_a2bea2fe5dd38ed63610fdeaddf5785cd_cgraph.md5 b/dc/dd9/strand__sort_8cpp_a2bea2fe5dd38ed63610fdeaddf5785cd_cgraph.md5 deleted file mode 100644 index d38d36d8d..000000000 --- a/dc/dd9/strand__sort_8cpp_a2bea2fe5dd38ed63610fdeaddf5785cd_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -0f963b2d71a52e3a5673609bd0d6f301 \ No newline at end of file diff --git a/dc/dd9/strand__sort_8cpp_a2bea2fe5dd38ed63610fdeaddf5785cd_cgraph.svg b/dc/dd9/strand__sort_8cpp_a2bea2fe5dd38ed63610fdeaddf5785cd_cgraph.svg deleted file mode 100644 index be0a5d4fc..000000000 --- a/dc/dd9/strand__sort_8cpp_a2bea2fe5dd38ed63610fdeaddf5785cd_cgraph.svg +++ /dev/null @@ -1,218 +0,0 @@ - - - - - - - - - - - - -sorting::strand::strand_sort - - -Node1 - - -sorting::strand::strand_sort - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::list::back - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::list::begin - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::list::empty - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::list::end - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -std::list::erase - - - - - -Node1->Node6 - - - - - - - - -Node7 - - -std::list::front - - - - - -Node1->Node7 - - - - - - - - -Node8 - - -std::list::pop_front - - - - - -Node1->Node8 - - - - - - - - -Node9 - - -std::list::push_back - - - - - -Node1->Node9 - - - - - - - - -Node10 - - -std::list::size - - - - - -Node1->Node10 - - - - - - - - - - - - - diff --git a/dc/dd9/strand__sort_8cpp_a2bea2fe5dd38ed63610fdeaddf5785cd_cgraph_org.svg b/dc/dd9/strand__sort_8cpp_a2bea2fe5dd38ed63610fdeaddf5785cd_cgraph_org.svg deleted file mode 100644 index 0aa6274f1..000000000 --- a/dc/dd9/strand__sort_8cpp_a2bea2fe5dd38ed63610fdeaddf5785cd_cgraph_org.svg +++ /dev/null @@ -1,192 +0,0 @@ - - - - - - -sorting::strand::strand_sort - - -Node1 - - -sorting::strand::strand_sort - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::list::back - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::list::begin - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::list::empty - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::list::end - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -std::list::erase - - - - - -Node1->Node6 - - - - - - - - -Node7 - - -std::list::front - - - - - -Node1->Node7 - - - - - - - - -Node8 - - -std::list::pop_front - - - - - -Node1->Node8 - - - - - - - - -Node9 - - -std::list::push_back - - - - - -Node1->Node9 - - - - - - - - -Node10 - - -std::list::size - - - - - -Node1->Node10 - - - - - - - - diff --git a/dc/dd9/strand__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/dc/dd9/strand__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 953d4a3c5..000000000 --- a/dc/dd9/strand__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/dc/dd9/strand__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/dc/dd9/strand__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index 56069c328..000000000 --- a/dc/dd9/strand__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -5c8673df21a9c29f35d36c032bb053d8 \ No newline at end of file diff --git a/dc/dd9/strand__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/dc/dd9/strand__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 9f35eef9c..000000000 --- a/dc/dd9/strand__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/dc/dd9/strand__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/dc/dd9/strand__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 26a9b4781..000000000 --- a/dc/dd9/strand__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - diff --git a/dc/dd9/strand__sort_8cpp_source.html b/dc/dd9/strand__sort_8cpp_source.html new file mode 100644 index 000000000..aa2d266ef --- /dev/null +++ b/dc/dd9/strand__sort_8cpp_source.html @@ -0,0 +1,199 @@ + + + + + + + + +TheAlgorithms/C++: sorting/strand_sort.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
        +
        + + + + + + + +
        +
        TheAlgorithms/C++ 1.0.0 +
        +
        All the algorithms implemented in C++
        +
        +
        + + + + + + + + +
        +
        + +
        +
        +
        + +
        + +
        +
        + + +
        +
        +
        +
        +
        +
        Loading...
        +
        Searching...
        +
        No Matches
        +
        +
        +
        +
        + +
        +
        strand_sort.cpp
        +
        +
        +Go to the documentation of this file.
        1
        +
        16#include <iostream>
        +
        17#include <list>
        +
        18
        +
        23namespace sorting {
        +
        28 namespace strand {
        +
        35 template <typename T>
        +
        +
        36 std::list<T> strand_sort(std::list<T> lst) {
        +
        37 if (lst.size() < 2) { // Returns list if empty or contains only one element
        +
        38 return lst; // Returns list
        +
        39 }
        +
        40 std::list<T> result; // Define new "result" named list instance.
        +
        41 std::list<T> sorted; // Define new "sorted" named list instance.
        +
        42 while(!lst.empty()) /* if lst is not empty */ {
        +
        43 sorted.push_back(lst.front()); // Adds the first element of "lst" list to the bottom of the "sorted" list.
        +
        44 lst.pop_front(); // Remove first element of "lst" list.
        +
        45 for (auto it = lst.begin(); it != lst.end(); ) { // Return the loop as long as the current iterator is not equal to the last literator of the "lst" list.
        +
        46 if (sorted.back() <= *it) { // If the last reference of the "sorted" list is less than or equal to the current iterator reference.
        +
        47 sorted.push_back(*it); // Adds the iterator retrieved in the loop under the "sorted" list.
        +
        48 it = lst.erase(it); // Deletes the element with the current iterator and assigns the deleted element to the iterator.
        +
        49 } else {
        +
        50 it++; // Next iterator.
        +
        51 }
        +
        52 }
        +
        53 result.merge(sorted); // Merge "result" list with "sorted" list.
        +
        54 }
        +
        55 return result; // Returns sorted list
        +
        56 }
        +
        +
        57 } // namespace strand
        +
        58} // namespace sorting
        +
        59
        +
        +
        64static void test() {
        +
        65 std::list<int> lst = { -333, 525, 1, 0, 94, 52, 33 };
        +
        66
        +
        67 std::cout << "Before: ";
        +
        68 for(auto item: lst) {
        +
        69 std::cout << item << " ";
        +
        70 }
        +
        71
        +
        72 lst = sorting::strand::strand_sort(lst); // Sort list.
        +
        73
        +
        74 std::cout << "\nAfter: ";
        +
        75 for(auto item: lst) {
        +
        76 std::cout << item << " ";
        +
        77 }
        +
        78}
        +
        +
        79
        +
        +
        84int main() {
        +
        85 test();
        +
        86 return 0;
        +
        87}
        +
        +
        for working with vectors
        +
        Functions for Strand Sort algorithm.
        +
        std::list< T > strand_sort(std::list< T > lst)
        Apply sorting.
        +
        static void test()
        Function for testing.
        +
        int main()
        Main function.
        +
        +
        + + + + diff --git a/dc/de0/structdata__structures_1_1stack__using__queue_1_1_stack-members.html b/dc/de0/structdata__structures_1_1stack__using__queue_1_1_stack-members.html index 2548a82b2..1e1ff3da0 100644 --- a/dc/de0/structdata__structures_1_1stack__using__queue_1_1_stack-members.html +++ b/dc/de0/structdata__structures_1_1stack__using__queue_1_1_stack-members.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Member List +TheAlgorithms/C++: Member List + + + @@ -18,14 +24,24 @@ - - + +
        @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/dc/de1/recursive__tree__traversal_8cpp.html b/dc/de1/recursive__tree__traversal_8cpp.html index d72d0a804..5618133a7 100644 --- a/dc/de1/recursive__tree__traversal_8cpp.html +++ b/dc/de1/recursive__tree__traversal_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: others/recursive_tree_traversal.cpp File Reference +TheAlgorithms/C++: others/recursive_tree_traversal.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
        @@ -33,10 +49,11 @@ MathJax.Hub.Config({
        -
        Algorithms_in_C++ 1.0.0 +
        TheAlgorithms/C++ 1.0.0
        -
        Set of algorithms implemented in C++.
        +
        All the algorithms implemented in C++
        + @@ -123,7 +140,9 @@ Include dependency graph for recursive_tree_traversal.cpp:
        -
        -
        Algorithms_in_C++ 1.0.0 +
        TheAlgorithms/C++ 1.0.0
        -
        Set of algorithms implemented in C++.
        +
        All the algorithms implemented in C++
        + +

        Go to the source code of this file.

        +
        @@ -180,6 +199,8 @@ Iterative Postorder Traversal of a tree

        (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.

        In normal postorder 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 postorder traversal.

        Author
        Lajat Manekar
        + +

        Definition in file recursive_tree_traversal.cpp.

        Function Documentation

        ◆ deleteAll()

        @@ -195,6 +216,8 @@ Iterative Postorder Traversal of a tree

        Classes

        struct  others::recursive_tree_traversals::Node
        + +

        Definition at line 185 of file recursive_tree_traversal.cpp.

        185 {
        186 if (root) {
        187 deleteAll(root->left);
        @@ -222,17 +245,14 @@ Iterative Postorder Traversal of a tree

        Main function.

        Returns
        0 on exit
        + +

        Definition at line 398 of file recursive_tree_traversal.cpp.

        398 {
        399 tests(); // run self-test implementations
        400 return 0;
        401}
        -
        static void tests()
        Self-test implementations.
        Definition recursive_tree_traversal.cpp:386
        -
        -Here is the call graph for this function:
        -
        -
        -
        - +
        static void tests()
        Self-test implementations.
        +
        @@ -255,6 +275,8 @@ Here is the call graph for this function:

        < result stores the inorder traversal of the binary tree

        < result stores the preorder traversal of the binary tree

        < result stores the postorder traversal of the binary tree

        + +

        Definition at line 201 of file recursive_tree_traversal.cpp.

        201 {
        @@ -267,69 +289,57 @@ Here is the call graph for this function:
        210 root->left->right->right = obj1.createNewNode(11);
        211 root->right->right->left = obj1.createNewNode(4);
        212
        -
        213 std::vector<std::uint64_t> actual_result_inorder{2, 7, 5, 6, 11,
        +
        213 std::vector<std::uint64_t> actual_result_inorder{2, 7, 5, 6, 11,
        214 2, 5, 4, 9};
        -
        215 std::vector<std::uint64_t> actual_result_preorder{2, 7, 2, 6, 5,
        +
        215 std::vector<std::uint64_t> actual_result_preorder{2, 7, 2, 6, 5,
        216 11, 5, 9, 4};
        -
        217 std::vector<std::uint64_t> actual_result_postorder{2, 5, 11, 6, 7,
        +
        217 std::vector<std::uint64_t> actual_result_postorder{2, 5, 11, 6, 7,
        218 4, 9, 5, 2};
        - -
        220 result_inorder; ///< result stores the inorder
        -
        221 ///< traversal of the binary tree
        - -
        223 result_preorder; ///< result stores the preorder
        -
        224 ///< traversal of the binary tree
        - -
        226 result_postorder; ///< result stores the postorder
        -
        227 ///< traversal of the binary tree
        -
        228
        -
        229 std::uint64_t size = actual_result_inorder.size();
        +
        219 std::vector<std::uint64_t>
        +
        220 result_inorder;
        +
        222 std::vector<std::uint64_t>
        +
        223 result_preorder;
        +
        225 std::vector<std::uint64_t>
        +
        226 result_postorder;
        +
        228
        +
        229 std::uint64_t size = actual_result_inorder.size();
        230
        231 // Calling inorder() function by passing a root node,
        232 // and storing the inorder traversal in result_inorder.
        233 result_inorder = obj1.inorder(root);
        -
        234 std::cout << "Testcase #1: Inorder Traversal...";
        +
        234 std::cout << "Testcase #1: Inorder Traversal...";
        235 for (auto i = 0; i < size; ++i) {
        236 assert(actual_result_inorder[i] == result_inorder[i]);
        237 }
        -
        238 std::cout << "Passed!" << std::endl;
        +
        238 std::cout << "Passed!" << std::endl;
        239
        240 // Calling preorder() function by passing a root node,
        241 // and storing the preorder traversal in result_preorder.
        242 result_preorder = obj1.preorder(root);
        -
        243 std::cout << "Testcase #1: Preorder Traversal...";
        +
        243 std::cout << "Testcase #1: Preorder Traversal...";
        244 for (auto i = 0; i < size; ++i) {
        245 assert(actual_result_preorder[i] == result_preorder[i]);
        246 }
        -
        247 std::cout << "Passed!" << std::endl;
        +
        247 std::cout << "Passed!" << std::endl;
        248
        249 // Calling postorder() function by passing a root node,
        250 // and storing the postorder traversal in result_postorder.
        251 result_postorder = obj1.postorder(root);
        -
        252 std::cout << "Testcase #1: Postorder Traversal...";
        +
        252 std::cout << "Testcase #1: Postorder Traversal...";
        253 for (auto i = 0; i < size; ++i) {
        254 assert(actual_result_postorder[i] == result_postorder[i]);
        255 }
        -
        256 std::cout << "Passed!" << std::endl;
        +
        256 std::cout << "Passed!" << std::endl;
        257
        - +
        258 std::cout << std::endl;
        259 deleteAll(root);
        260}
        - -
        BT used to make the entire structure of the binary tree and the functions associated with the binary ...
        Definition recursive_tree_traversal.cpp:88
        -
        std::vector< std::uint64_t > preorder(Node *)
        preorder function that will perform the preorder traversal recursively, and return the resultant vect...
        Definition recursive_tree_traversal.cpp:152
        -
        std::vector< std::uint64_t > postorder(Node *)
        postorder function that will perform the postorder traversal recursively, and return the result vecto...
        Definition recursive_tree_traversal.cpp:172
        -
        Node * createNewNode(std::uint64_t)
        will allocate the memory for a node and, along the data and return the node.
        Definition recursive_tree_traversal.cpp:118
        -
        T endl(T... args)
        - -
        The structure to hold Nodes of the tree.
        Definition recursive_tree_traversal.cpp:79
        - -
        -Here is the call graph for this function:
        -
        -
        -
        - +
        BT used to make the entire structure of the binary tree and the functions associated with the binary ...
        +
        std::vector< std::uint64_t > preorder(Node *)
        preorder function that will perform the preorder traversal recursively, and return the resultant vect...
        +
        std::vector< std::uint64_t > postorder(Node *)
        postorder function that will perform the postorder traversal recursively, and return the result vecto...
        +
        Node * createNewNode(std::uint64_t)
        will allocate the memory for a node and, along the data and return the node.
        +
        The structure to hold Nodes of the tree.
        + @@ -352,6 +362,8 @@ Here is the call graph for this function:

        < result stores the inorder traversal of the binary tree

        < result stores the preorder traversal of the binary tree

        < result stores the postorder traversal of the binary tree

        + +

        Definition at line 266 of file recursive_tree_traversal.cpp.

        266 {
        @@ -363,57 +375,49 @@ Here is the call graph for this function:
        274 root->right->left->left = obj2.createNewNode(7);
        275 root->right->left->right = obj2.createNewNode(8);
        276
        -
        277 std::vector<std::uint64_t> actual_result_inorder{4, 2, 1, 7, 5, 8, 3, 6};
        -
        278 std::vector<std::uint64_t> actual_result_preorder{1, 2, 4, 3, 5, 7, 8, 6};
        -
        279 std::vector<std::uint64_t> actual_result_postorder{4, 2, 7, 8, 5, 6, 3, 1};
        - -
        281 result_inorder; ///< result stores the inorder
        -
        282 ///< traversal of the binary tree
        - -
        284 result_preorder; ///< result stores the preorder
        -
        285 ///< traversal of the binary tree
        - -
        287 result_postorder; ///< result stores the postorder
        -
        288 ///< traversal of the binary tree
        -
        289
        -
        290 std::uint64_t size = actual_result_inorder.size();
        +
        277 std::vector<std::uint64_t> actual_result_inorder{4, 2, 1, 7, 5, 8, 3, 6};
        +
        278 std::vector<std::uint64_t> actual_result_preorder{1, 2, 4, 3, 5, 7, 8, 6};
        +
        279 std::vector<std::uint64_t> actual_result_postorder{4, 2, 7, 8, 5, 6, 3, 1};
        +
        280 std::vector<std::uint64_t>
        +
        281 result_inorder;
        +
        283 std::vector<std::uint64_t>
        +
        284 result_preorder;
        +
        286 std::vector<std::uint64_t>
        +
        287 result_postorder;
        +
        289
        +
        290 std::uint64_t size = actual_result_inorder.size();
        291
        292 // Calling inorder() function by passing a root node,
        293 // and storing the inorder traversal in result_inorder.
        294 result_inorder = obj2.inorder(root);
        -
        295 std::cout << "Testcase #2: Inorder Traversal...";
        +
        295 std::cout << "Testcase #2: Inorder Traversal...";
        296 for (auto i = 0; i < size; ++i) {
        297 assert(actual_result_inorder[i] == result_inorder[i]);
        298 }
        -
        299 std::cout << "Passed!" << std::endl;
        +
        299 std::cout << "Passed!" << std::endl;
        300
        301 // Calling preorder() function by passing a root node,
        302 // and storing the preorder traversal in result_preorder.
        303 result_preorder = obj2.preorder(root);
        -
        304 std::cout << "Testcase #2: Preorder Traversal...";
        +
        304 std::cout << "Testcase #2: Preorder Traversal...";
        305 for (auto i = 0; i < size; ++i) {
        306 assert(actual_result_preorder[i] == result_preorder[i]);
        307 }
        -
        308 std::cout << "Passed!" << std::endl;
        +
        308 std::cout << "Passed!" << std::endl;
        309
        310 // Calling postorder() function by passing a root node,
        311 // and storing the postorder traversal in result_postorder.
        312 result_postorder = obj2.postorder(root);
        -
        313 std::cout << "Testcase #2: Postorder Traversal...";
        +
        313 std::cout << "Testcase #2: Postorder Traversal...";
        314 for (auto i = 0; i < size; ++i) {
        315 assert(actual_result_postorder[i] == result_postorder[i]);
        316 }
        -
        317 std::cout << "Passed!" << std::endl;
        +
        317 std::cout << "Passed!" << std::endl;
        318
        - +
        319 std::cout << std::endl;
        320 deleteAll(root);
        321}
        -
        -Here is the call graph for this function:
        -
        -
        -
        - + @@ -436,6 +440,8 @@ Here is the call graph for this function:

        < result stores the inorder traversal of the binary tree

        < result stores the preorder traversal of the binary tree

        < result stores the postorder traversal of the binary tree

        + +

        Definition at line 327 of file recursive_tree_traversal.cpp.

        327 {
        @@ -444,58 +450,50 @@ Here is the call graph for this function:
        332 root->left->left = obj3.createNewNode(4);
        333 root->left->right = obj3.createNewNode(5);
        334
        -
        335 std::vector<std::uint64_t> actual_result_inorder{4, 2, 5, 1, 3};
        -
        336 std::vector<std::uint64_t> actual_result_preorder{1, 2, 4, 5, 3};
        -
        337 std::vector<std::uint64_t> actual_result_postorder{4, 5, 2, 3, 1};
        - -
        339 result_inorder; ///< result stores the inorder
        -
        340 ///< traversal of the binary tree
        - -
        342 result_preorder; ///< result stores the preorder
        -
        343 ///< traversal of the binary tree
        - -
        345 result_postorder; ///< result stores the postorder
        -
        346 ///< traversal of the binary tree
        -
        347
        -
        348 std::uint64_t size = actual_result_inorder.size();
        +
        335 std::vector<std::uint64_t> actual_result_inorder{4, 2, 5, 1, 3};
        +
        336 std::vector<std::uint64_t> actual_result_preorder{1, 2, 4, 5, 3};
        +
        337 std::vector<std::uint64_t> actual_result_postorder{4, 5, 2, 3, 1};
        +
        338 std::vector<std::uint64_t>
        +
        339 result_inorder;
        +
        341 std::vector<std::uint64_t>
        +
        342 result_preorder;
        +
        344 std::vector<std::uint64_t>
        +
        345 result_postorder;
        +
        347
        +
        348 std::uint64_t size = actual_result_inorder.size();
        349
        350 // Calling inorder() function by passing a root node,
        351 // and storing the inorder traversal in result_inorder.
        352
        353 result_inorder = obj3.inorder(root);
        -
        354 std::cout << "Testcase #3: Inorder Traversal...";
        +
        354 std::cout << "Testcase #3: Inorder Traversal...";
        355 for (auto i = 0; i < size; ++i) {
        356 assert(actual_result_inorder[i] == result_inorder[i]);
        357 }
        -
        358 std::cout << "Passed!" << std::endl;
        +
        358 std::cout << "Passed!" << std::endl;
        359
        360 // Calling preorder() function by passing a root node,
        361 // and storing the preorder traversal in result_preorder.
        362 result_preorder = obj3.preorder(root);
        -
        363 std::cout << "Testcase #3: Preorder Traversal...";
        +
        363 std::cout << "Testcase #3: Preorder Traversal...";
        364 for (auto i = 0; i < size; ++i) {
        365 assert(actual_result_preorder[i] == result_preorder[i]);
        366 }
        -
        367 std::cout << "Passed!" << std::endl;
        +
        367 std::cout << "Passed!" << std::endl;
        368
        369 // Calling postorder() function by passing a root node,
        370 // and storing the postorder traversal in result_postorder.
        371 result_postorder = obj3.postorder(root);
        -
        372 std::cout << "Testcase #3: Postorder Traversal...";
        +
        372 std::cout << "Testcase #3: Postorder Traversal...";
        373 for (auto i = 0; i < size; ++i) {
        374 assert(actual_result_postorder[i] == result_postorder[i]);
        375 }
        -
        376 std::cout << "Passed!" << std::endl;
        +
        376 std::cout << "Passed!" << std::endl;
        377
        - +
        378 std::cout << std::endl;
        379 deleteAll(root);
        380}
        -
        -Here is the call graph for this function:
        -
        -
        -
        - + @@ -523,23 +521,20 @@ Here is the call graph for this function:

        Self-test implementations.

        Returns
        void
        + +

        Definition at line 386 of file recursive_tree_traversal.cpp.

        386 {
        -
        387 std::cout << "1st test-case" << std::endl;
        +
        387 std::cout << "1st test-case" << std::endl;
        388 test1(); // run 1st test-case
        -
        389 std::cout << "2nd test-case" << std::endl;
        +
        389 std::cout << "2nd test-case" << std::endl;
        390 test2(); // run 2nd test-case
        -
        391 std::cout << "3rd test-case" << std::endl;
        +
        391 std::cout << "3rd test-case" << std::endl;
        392 test3(); // run 3rd test-case
        393}
        -
        void test2()
        2nd test-case
        Definition recursive_tree_traversal.cpp:266
        -
        void test1()
        1st test-case
        Definition recursive_tree_traversal.cpp:201
        -
        void test3()
        3rd test-case
        Definition recursive_tree_traversal.cpp:327
        -
        -Here is the call graph for this function:
        -
        -
        -
        - +
        void test2()
        2nd test-case
        +
        void test1()
        1st test-case
        +
        void test3()
        3rd test-case
        + diff --git a/dc/de1/recursive__tree__traversal_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph.map b/dc/de1/recursive__tree__traversal_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph.map deleted file mode 100644 index 20f9eb75b..000000000 --- a/dc/de1/recursive__tree__traversal_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph.map +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/dc/de1/recursive__tree__traversal_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph.md5 b/dc/de1/recursive__tree__traversal_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph.md5 deleted file mode 100644 index 907d214db..000000000 --- a/dc/de1/recursive__tree__traversal_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -c7072df08cb5f99034991db3e499a77f \ No newline at end of file diff --git a/dc/de1/recursive__tree__traversal_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph.svg b/dc/de1/recursive__tree__traversal_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph.svg deleted file mode 100644 index 98e5662d1..000000000 --- a/dc/de1/recursive__tree__traversal_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph.svg +++ /dev/null @@ -1,158 +0,0 @@ - - - - - - - - - - - - -test2 - - -Node1 - - -test2 - - - - - -Node2 - - -others::recursive_tree -_traversals::BT::createNewNode - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -others::recursive_tree -_traversals::BT::postorder - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -others::recursive_tree -_traversals::BT::preorder - - - - - -Node1->Node5 - - - - - - - - -Node4->Node4 - - - - - - - - -Node5->Node5 - - - - - - - - -Node6 - - -std::vector::push_back - - - - - -Node5->Node6 - - - - - - - - - - - - - diff --git a/dc/de1/recursive__tree__traversal_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph_org.svg b/dc/de1/recursive__tree__traversal_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph_org.svg deleted file mode 100644 index 70d42e219..000000000 --- a/dc/de1/recursive__tree__traversal_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph_org.svg +++ /dev/null @@ -1,132 +0,0 @@ - - - - - - -test2 - - -Node1 - - -test2 - - - - - -Node2 - - -others::recursive_tree -_traversals::BT::createNewNode - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -others::recursive_tree -_traversals::BT::postorder - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -others::recursive_tree -_traversals::BT::preorder - - - - - -Node1->Node5 - - - - - - - - -Node4->Node4 - - - - - - - - -Node5->Node5 - - - - - - - - -Node6 - - -std::vector::push_back - - - - - -Node5->Node6 - - - - - - - - diff --git a/dc/de1/recursive__tree__traversal_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph.map b/dc/de1/recursive__tree__traversal_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph.map deleted file mode 100644 index a6eb006c1..000000000 --- a/dc/de1/recursive__tree__traversal_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph.map +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/dc/de1/recursive__tree__traversal_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph.md5 b/dc/de1/recursive__tree__traversal_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph.md5 deleted file mode 100644 index ada41932b..000000000 --- a/dc/de1/recursive__tree__traversal_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -1b5ce80b47cd8b7f1d354d18b309e180 \ No newline at end of file diff --git a/dc/de1/recursive__tree__traversal_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph.svg b/dc/de1/recursive__tree__traversal_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph.svg deleted file mode 100644 index 599ae618e..000000000 --- a/dc/de1/recursive__tree__traversal_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph.svg +++ /dev/null @@ -1,158 +0,0 @@ - - - - - - - - - - - - -test1 - - -Node1 - - -test1 - - - - - -Node2 - - -others::recursive_tree -_traversals::BT::createNewNode - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -others::recursive_tree -_traversals::BT::postorder - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -others::recursive_tree -_traversals::BT::preorder - - - - - -Node1->Node5 - - - - - - - - -Node4->Node4 - - - - - - - - -Node5->Node5 - - - - - - - - -Node6 - - -std::vector::push_back - - - - - -Node5->Node6 - - - - - - - - - - - - - diff --git a/dc/de1/recursive__tree__traversal_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph_org.svg b/dc/de1/recursive__tree__traversal_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph_org.svg deleted file mode 100644 index ca318f02e..000000000 --- a/dc/de1/recursive__tree__traversal_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph_org.svg +++ /dev/null @@ -1,132 +0,0 @@ - - - - - - -test1 - - -Node1 - - -test1 - - - - - -Node2 - - -others::recursive_tree -_traversals::BT::createNewNode - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -others::recursive_tree -_traversals::BT::postorder - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -others::recursive_tree -_traversals::BT::preorder - - - - - -Node1->Node5 - - - - - - - - -Node4->Node4 - - - - - - - - -Node5->Node5 - - - - - - - - -Node6 - - -std::vector::push_back - - - - - -Node5->Node6 - - - - - - - - diff --git a/dc/de1/recursive__tree__traversal_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.map b/dc/de1/recursive__tree__traversal_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.map deleted file mode 100644 index 8d9dc0ecb..000000000 --- a/dc/de1/recursive__tree__traversal_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.map +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/dc/de1/recursive__tree__traversal_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 b/dc/de1/recursive__tree__traversal_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 deleted file mode 100644 index 0a8194218..000000000 --- a/dc/de1/recursive__tree__traversal_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -d7adf2d125e93032f623b2d5accdde46 \ No newline at end of file diff --git a/dc/de1/recursive__tree__traversal_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.svg b/dc/de1/recursive__tree__traversal_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.svg deleted file mode 100644 index 33d1944f1..000000000 --- a/dc/de1/recursive__tree__traversal_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.svg +++ /dev/null @@ -1,293 +0,0 @@ - - - - - - - - - - - - -tests - - -Node1 - - -tests - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -test1 - - - - - -Node1->Node3 - - - - - - - - -Node8 - - -test2 - - - - - -Node1->Node8 - - - - - - - - -Node9 - - -test3 - - - - - -Node1->Node9 - - - - - - - - -Node3->Node2 - - - - - - - - -Node4 - - -others::recursive_tree -_traversals::BT::createNewNode - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -others::recursive_tree -_traversals::BT::postorder - - - - - -Node3->Node5 - - - - - - - - -Node6 - - -others::recursive_tree -_traversals::BT::preorder - - - - - -Node3->Node6 - - - - - - - - -Node5->Node5 - - - - - - - - -Node6->Node6 - - - - - - - - -Node7 - - -std::vector::push_back - - - - - -Node6->Node7 - - - - - - - - -Node8->Node2 - - - - - - - - -Node8->Node4 - - - - - - - - -Node8->Node5 - - - - - - - - -Node8->Node6 - - - - - - - - -Node9->Node2 - - - - - - - - -Node9->Node4 - - - - - - - - -Node9->Node5 - - - - - - - - -Node9->Node6 - - - - - - - - - - - - - diff --git a/dc/de1/recursive__tree__traversal_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph_org.svg b/dc/de1/recursive__tree__traversal_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph_org.svg deleted file mode 100644 index edea096de..000000000 --- a/dc/de1/recursive__tree__traversal_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph_org.svg +++ /dev/null @@ -1,267 +0,0 @@ - - - - - - -tests - - -Node1 - - -tests - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -test1 - - - - - -Node1->Node3 - - - - - - - - -Node8 - - -test2 - - - - - -Node1->Node8 - - - - - - - - -Node9 - - -test3 - - - - - -Node1->Node9 - - - - - - - - -Node3->Node2 - - - - - - - - -Node4 - - -others::recursive_tree -_traversals::BT::createNewNode - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -others::recursive_tree -_traversals::BT::postorder - - - - - -Node3->Node5 - - - - - - - - -Node6 - - -others::recursive_tree -_traversals::BT::preorder - - - - - -Node3->Node6 - - - - - - - - -Node5->Node5 - - - - - - - - -Node6->Node6 - - - - - - - - -Node7 - - -std::vector::push_back - - - - - -Node6->Node7 - - - - - - - - -Node8->Node2 - - - - - - - - -Node8->Node4 - - - - - - - - -Node8->Node5 - - - - - - - - -Node8->Node6 - - - - - - - - -Node9->Node2 - - - - - - - - -Node9->Node4 - - - - - - - - -Node9->Node5 - - - - - - - - -Node9->Node6 - - - - - - - - diff --git a/dc/de1/recursive__tree__traversal_8cpp_a6d0455dd5c30adda100e95f0423c786e_cgraph.map b/dc/de1/recursive__tree__traversal_8cpp_a6d0455dd5c30adda100e95f0423c786e_cgraph.map deleted file mode 100644 index ec28e293e..000000000 --- a/dc/de1/recursive__tree__traversal_8cpp_a6d0455dd5c30adda100e95f0423c786e_cgraph.map +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/dc/de1/recursive__tree__traversal_8cpp_a6d0455dd5c30adda100e95f0423c786e_cgraph.md5 b/dc/de1/recursive__tree__traversal_8cpp_a6d0455dd5c30adda100e95f0423c786e_cgraph.md5 deleted file mode 100644 index 0b62cf031..000000000 --- a/dc/de1/recursive__tree__traversal_8cpp_a6d0455dd5c30adda100e95f0423c786e_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -17089c21be1c8ab9e9937872bbc0da11 \ No newline at end of file diff --git a/dc/de1/recursive__tree__traversal_8cpp_a6d0455dd5c30adda100e95f0423c786e_cgraph.svg b/dc/de1/recursive__tree__traversal_8cpp_a6d0455dd5c30adda100e95f0423c786e_cgraph.svg deleted file mode 100644 index a483eac39..000000000 --- a/dc/de1/recursive__tree__traversal_8cpp_a6d0455dd5c30adda100e95f0423c786e_cgraph.svg +++ /dev/null @@ -1,158 +0,0 @@ - - - - - - - - - - - - -test3 - - -Node1 - - -test3 - - - - - -Node2 - - -others::recursive_tree -_traversals::BT::createNewNode - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -others::recursive_tree -_traversals::BT::postorder - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -others::recursive_tree -_traversals::BT::preorder - - - - - -Node1->Node5 - - - - - - - - -Node4->Node4 - - - - - - - - -Node5->Node5 - - - - - - - - -Node6 - - -std::vector::push_back - - - - - -Node5->Node6 - - - - - - - - - - - - - diff --git a/dc/de1/recursive__tree__traversal_8cpp_a6d0455dd5c30adda100e95f0423c786e_cgraph_org.svg b/dc/de1/recursive__tree__traversal_8cpp_a6d0455dd5c30adda100e95f0423c786e_cgraph_org.svg deleted file mode 100644 index 1d734eed9..000000000 --- a/dc/de1/recursive__tree__traversal_8cpp_a6d0455dd5c30adda100e95f0423c786e_cgraph_org.svg +++ /dev/null @@ -1,132 +0,0 @@ - - - - - - -test3 - - -Node1 - - -test3 - - - - - -Node2 - - -others::recursive_tree -_traversals::BT::createNewNode - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -others::recursive_tree -_traversals::BT::postorder - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -others::recursive_tree -_traversals::BT::preorder - - - - - -Node1->Node5 - - - - - - - - -Node4->Node4 - - - - - - - - -Node5->Node5 - - - - - - - - -Node6 - - -std::vector::push_back - - - - - -Node5->Node6 - - - - - - - - diff --git a/dc/de1/recursive__tree__traversal_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/dc/de1/recursive__tree__traversal_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 5b53668a4..000000000 --- a/dc/de1/recursive__tree__traversal_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/dc/de1/recursive__tree__traversal_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/dc/de1/recursive__tree__traversal_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index 90514afb1..000000000 --- a/dc/de1/recursive__tree__traversal_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -6eae5e53b0353c094f1a38ef294ecd52 \ No newline at end of file diff --git a/dc/de1/recursive__tree__traversal_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/dc/de1/recursive__tree__traversal_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 44bed1e55..000000000 --- a/dc/de1/recursive__tree__traversal_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,368 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -tests - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -test1 - - - - - -Node2->Node4 - - - - - - - - -Node9 - - -test2 - - - - - -Node2->Node9 - - - - - - - - -Node10 - - -test3 - - - - - -Node2->Node10 - - - - - - - - -Node4->Node3 - - - - - - - - -Node5 - - -others::recursive_tree -_traversals::BT::createNewNode - - - - - -Node4->Node5 - - - - - - - - -Node6 - - -others::recursive_tree -_traversals::BT::postorder - - - - - -Node4->Node6 - - - - - - - - -Node7 - - -others::recursive_tree -_traversals::BT::preorder - - - - - -Node4->Node7 - - - - - - - - -Node6->Node6 - - - - - - - - -Node7->Node7 - - - - - - - - -Node8 - - -std::vector::push_back - - - - - -Node7->Node8 - - - - - - - - -Node9->Node3 - - - - - - - - -Node9->Node5 - - - - - - - - -Node9->Node6 - - - - - - - - -Node9->Node7 - - - - - - - - -Node10->Node3 - - - - - - - - -Node10->Node5 - - - - - - - - -Node10->Node6 - - - - - - - - -Node10->Node7 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/dc/de1/recursive__tree__traversal_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/dc/de1/recursive__tree__traversal_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 2ce44cace..000000000 --- a/dc/de1/recursive__tree__traversal_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,285 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -tests - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -test1 - - - - - -Node2->Node4 - - - - - - - - -Node9 - - -test2 - - - - - -Node2->Node9 - - - - - - - - -Node10 - - -test3 - - - - - -Node2->Node10 - - - - - - - - -Node4->Node3 - - - - - - - - -Node5 - - -others::recursive_tree -_traversals::BT::createNewNode - - - - - -Node4->Node5 - - - - - - - - -Node6 - - -others::recursive_tree -_traversals::BT::postorder - - - - - -Node4->Node6 - - - - - - - - -Node7 - - -others::recursive_tree -_traversals::BT::preorder - - - - - -Node4->Node7 - - - - - - - - -Node6->Node6 - - - - - - - - -Node7->Node7 - - - - - - - - -Node8 - - -std::vector::push_back - - - - - -Node7->Node8 - - - - - - - - -Node9->Node3 - - - - - - - - -Node9->Node5 - - - - - - - - -Node9->Node6 - - - - - - - - -Node9->Node7 - - - - - - - - -Node10->Node3 - - - - - - - - -Node10->Node5 - - - - - - - - -Node10->Node6 - - - - - - - - -Node10->Node7 - - - - - - - - diff --git a/dc/de1/recursive__tree__traversal_8cpp_source.html b/dc/de1/recursive__tree__traversal_8cpp_source.html new file mode 100644 index 000000000..e0d11ac55 --- /dev/null +++ b/dc/de1/recursive__tree__traversal_8cpp_source.html @@ -0,0 +1,453 @@ + + + + + + + + +TheAlgorithms/C++: others/recursive_tree_traversal.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
        +
        + + + + + + + +
        +
        TheAlgorithms/C++ 1.0.0 +
        +
        All the algorithms implemented in C++
        +
        +
        + + + + + + + + +
        +
        + +
        +
        +
        + +
        + +
        +
        + + +
        +
        +
        +
        +
        +
        Loading...
        +
        Searching...
        +
        No Matches
        +
        +
        +
        +
        + +
        +
        recursive_tree_traversal.cpp
        +
        +
        +Go to the documentation of this file.
        1
        +
        54#include <cassert>
        +
        55#include <cstdint>
        +
        56#include <iostream>
        +
        57#include <vector>
        +
        58
        +
        63namespace others {
        +
        64
        +
        71namespace recursive_tree_traversals {
        +
        72
        +
        +
        79struct Node {
        +
        80 std::uint64_t data = 0;
        +
        81 struct Node *left{};
        +
        82 struct Node *right{};
        +
        83};
        +
        +
        +
        88class BT {
        +
        89 public:
        +
        90 std::vector<std::uint64_t>
        +
        91 inorder_result; // vector to store the inorder traversal of the tree.
        +
        92 std::vector<std::uint64_t>
        +
        93 preorder_result; // vector to store the preorder traversal of the tree.
        +
        94 std::vector<std::uint64_t>
        +
        95 postorder_result; // vector to store the preorder
        +
        96 // traversal of the tree.
        +
        97
        + +
        99 std::uint64_t); // function that will create new node for insertion.
        +
        100
        +
        101 std::vector<std::uint64_t> inorder(
        +
        102 Node *); // function that takes root of the tree as an argument and
        +
        103 // returns its inorder traversal.
        +
        104 std::vector<std::uint64_t> preorder(
        +
        105 Node *); // function that takes root of the tree as an argument and
        +
        106 // returns its preorder traversal.
        +
        107 std::vector<std::uint64_t> postorder(
        +
        108 Node *); // function that takes root of the tree as an argument and
        +
        109 // returns its postorder traversal.
        +
        110};
        +
        +
        111
        +
        +
        118Node *BT::createNewNode(std::uint64_t data) {
        +
        119 Node *node = new Node();
        +
        120 node->data = data;
        +
        121 node->left = node->right = nullptr;
        +
        122 return node;
        +
        123}
        +
        +
        124
        +
        125/*
        +
        126 * @brief inorder() function that will perform the inorder traversal
        +
        127 * recursively, and return the resultant vector that contain the inorder
        +
        128 * traversal of a tree.
        +
        129 * @param root head/root node of a tree
        +
        130 * @return result that is containing the inorder traversal of a tree
        +
        131 **/
        +
        132std::vector<std::uint64_t> BT::inorder(Node *root) {
        +
        133 if (root == nullptr) { // return if the current node is empty
        +
        134 return {};
        +
        135 }
        +
        136
        +
        137 inorder(root->left); // Traverse the left subtree
        +
        138 BT::inorder_result.push_back(
        +
        139 root->data); // Display the data part of the root (or current node)
        +
        140 inorder(root->right); // Traverse the right subtree
        +
        141
        +
        142 return inorder_result;
        +
        143}
        +
        144
        +
        +
        152std::vector<std::uint64_t> BT::preorder(Node *root) {
        +
        153 if (root == nullptr) { // if the current node is empty
        +
        154 return {};
        +
        155 }
        +
        156
        +
        157 BT::preorder_result.push_back(
        +
        158 root->data); // Display the data part of the root (or current node)
        +
        159 preorder(root->left); // Traverse the left subtree
        +
        160 preorder(root->right); // Traverse the right subtree
        +
        161
        +
        162 return preorder_result;
        +
        163}
        +
        +
        164
        +
        +
        172std::vector<std::uint64_t> BT::postorder(Node *root) {
        +
        173 if (root == nullptr) { // if the current node is empty
        +
        174 return {};
        +
        175 }
        +
        176
        +
        177 postorder(root->left); // Traverse the left subtree
        +
        178 postorder(root->right); // Traverse the right subtree
        +
        179 BT::postorder_result.push_back(
        +
        180 root->data); // Display the data part of the root (or current node)
        +
        181
        +
        182 return postorder_result;
        +
        183}
        +
        +
        184
        +
        185void deleteAll(const Node *const root) {
        +
        186 if (root) {
        +
        187 deleteAll(root->left);
        +
        188 deleteAll(root->right);
        +
        189 delete root;
        +
        190 }
        +
        191}
        +
        192
        +
        193} // namespace recursive_tree_traversals
        +
        194
        +
        195} // namespace others
        +
        196
        +
        +
        201void test1() {
        + + +
        204 root->left = obj1.createNewNode(7);
        +
        205 root->right = obj1.createNewNode(5);
        +
        206 root->left->left = obj1.createNewNode(2);
        +
        207 root->left->right = obj1.createNewNode(6);
        +
        208 root->right->right = obj1.createNewNode(9);
        +
        209 root->left->right->left = obj1.createNewNode(5);
        +
        210 root->left->right->right = obj1.createNewNode(11);
        +
        211 root->right->right->left = obj1.createNewNode(4);
        +
        212
        +
        213 std::vector<std::uint64_t> actual_result_inorder{2, 7, 5, 6, 11,
        +
        214 2, 5, 4, 9};
        +
        215 std::vector<std::uint64_t> actual_result_preorder{2, 7, 2, 6, 5,
        +
        216 11, 5, 9, 4};
        +
        217 std::vector<std::uint64_t> actual_result_postorder{2, 5, 11, 6, 7,
        +
        218 4, 9, 5, 2};
        +
        219 std::vector<std::uint64_t>
        +
        220 result_inorder;
        +
        222 std::vector<std::uint64_t>
        +
        223 result_preorder;
        +
        225 std::vector<std::uint64_t>
        +
        226 result_postorder;
        +
        228
        +
        229 std::uint64_t size = actual_result_inorder.size();
        +
        230
        +
        231 // Calling inorder() function by passing a root node,
        +
        232 // and storing the inorder traversal in result_inorder.
        +
        233 result_inorder = obj1.inorder(root);
        +
        234 std::cout << "Testcase #1: Inorder Traversal...";
        +
        235 for (auto i = 0; i < size; ++i) {
        +
        236 assert(actual_result_inorder[i] == result_inorder[i]);
        +
        237 }
        +
        238 std::cout << "Passed!" << std::endl;
        +
        239
        +
        240 // Calling preorder() function by passing a root node,
        +
        241 // and storing the preorder traversal in result_preorder.
        +
        242 result_preorder = obj1.preorder(root);
        +
        243 std::cout << "Testcase #1: Preorder Traversal...";
        +
        244 for (auto i = 0; i < size; ++i) {
        +
        245 assert(actual_result_preorder[i] == result_preorder[i]);
        +
        246 }
        +
        247 std::cout << "Passed!" << std::endl;
        +
        248
        +
        249 // Calling postorder() function by passing a root node,
        +
        250 // and storing the postorder traversal in result_postorder.
        +
        251 result_postorder = obj1.postorder(root);
        +
        252 std::cout << "Testcase #1: Postorder Traversal...";
        +
        253 for (auto i = 0; i < size; ++i) {
        +
        254 assert(actual_result_postorder[i] == result_postorder[i]);
        +
        255 }
        +
        256 std::cout << "Passed!" << std::endl;
        +
        257
        +
        258 std::cout << std::endl;
        +
        259 deleteAll(root);
        +
        260}
        +
        +
        261
        +
        +
        266void test2() {
        + + +
        269 root->left = obj2.createNewNode(2);
        +
        270 root->right = obj2.createNewNode(3);
        +
        271 root->left->left = obj2.createNewNode(4);
        +
        272 root->right->left = obj2.createNewNode(5);
        +
        273 root->right->right = obj2.createNewNode(6);
        +
        274 root->right->left->left = obj2.createNewNode(7);
        +
        275 root->right->left->right = obj2.createNewNode(8);
        +
        276
        +
        277 std::vector<std::uint64_t> actual_result_inorder{4, 2, 1, 7, 5, 8, 3, 6};
        +
        278 std::vector<std::uint64_t> actual_result_preorder{1, 2, 4, 3, 5, 7, 8, 6};
        +
        279 std::vector<std::uint64_t> actual_result_postorder{4, 2, 7, 8, 5, 6, 3, 1};
        +
        280 std::vector<std::uint64_t>
        +
        281 result_inorder;
        +
        283 std::vector<std::uint64_t>
        +
        284 result_preorder;
        +
        286 std::vector<std::uint64_t>
        +
        287 result_postorder;
        +
        289
        +
        290 std::uint64_t size = actual_result_inorder.size();
        +
        291
        +
        292 // Calling inorder() function by passing a root node,
        +
        293 // and storing the inorder traversal in result_inorder.
        +
        294 result_inorder = obj2.inorder(root);
        +
        295 std::cout << "Testcase #2: Inorder Traversal...";
        +
        296 for (auto i = 0; i < size; ++i) {
        +
        297 assert(actual_result_inorder[i] == result_inorder[i]);
        +
        298 }
        +
        299 std::cout << "Passed!" << std::endl;
        +
        300
        +
        301 // Calling preorder() function by passing a root node,
        +
        302 // and storing the preorder traversal in result_preorder.
        +
        303 result_preorder = obj2.preorder(root);
        +
        304 std::cout << "Testcase #2: Preorder Traversal...";
        +
        305 for (auto i = 0; i < size; ++i) {
        +
        306 assert(actual_result_preorder[i] == result_preorder[i]);
        +
        307 }
        +
        308 std::cout << "Passed!" << std::endl;
        +
        309
        +
        310 // Calling postorder() function by passing a root node,
        +
        311 // and storing the postorder traversal in result_postorder.
        +
        312 result_postorder = obj2.postorder(root);
        +
        313 std::cout << "Testcase #2: Postorder Traversal...";
        +
        314 for (auto i = 0; i < size; ++i) {
        +
        315 assert(actual_result_postorder[i] == result_postorder[i]);
        +
        316 }
        +
        317 std::cout << "Passed!" << std::endl;
        +
        318
        +
        319 std::cout << std::endl;
        +
        320 deleteAll(root);
        +
        321}
        +
        +
        322
        +
        +
        327void test3() {
        + + +
        330 root->left = obj3.createNewNode(2);
        +
        331 root->right = obj3.createNewNode(3);
        +
        332 root->left->left = obj3.createNewNode(4);
        +
        333 root->left->right = obj3.createNewNode(5);
        +
        334
        +
        335 std::vector<std::uint64_t> actual_result_inorder{4, 2, 5, 1, 3};
        +
        336 std::vector<std::uint64_t> actual_result_preorder{1, 2, 4, 5, 3};
        +
        337 std::vector<std::uint64_t> actual_result_postorder{4, 5, 2, 3, 1};
        +
        338 std::vector<std::uint64_t>
        +
        339 result_inorder;
        +
        341 std::vector<std::uint64_t>
        +
        342 result_preorder;
        +
        344 std::vector<std::uint64_t>
        +
        345 result_postorder;
        +
        347
        +
        348 std::uint64_t size = actual_result_inorder.size();
        +
        349
        +
        350 // Calling inorder() function by passing a root node,
        +
        351 // and storing the inorder traversal in result_inorder.
        +
        352
        +
        353 result_inorder = obj3.inorder(root);
        +
        354 std::cout << "Testcase #3: Inorder Traversal...";
        +
        355 for (auto i = 0; i < size; ++i) {
        +
        356 assert(actual_result_inorder[i] == result_inorder[i]);
        +
        357 }
        +
        358 std::cout << "Passed!" << std::endl;
        +
        359
        +
        360 // Calling preorder() function by passing a root node,
        +
        361 // and storing the preorder traversal in result_preorder.
        +
        362 result_preorder = obj3.preorder(root);
        +
        363 std::cout << "Testcase #3: Preorder Traversal...";
        +
        364 for (auto i = 0; i < size; ++i) {
        +
        365 assert(actual_result_preorder[i] == result_preorder[i]);
        +
        366 }
        +
        367 std::cout << "Passed!" << std::endl;
        +
        368
        +
        369 // Calling postorder() function by passing a root node,
        +
        370 // and storing the postorder traversal in result_postorder.
        +
        371 result_postorder = obj3.postorder(root);
        +
        372 std::cout << "Testcase #3: Postorder Traversal...";
        +
        373 for (auto i = 0; i < size; ++i) {
        +
        374 assert(actual_result_postorder[i] == result_postorder[i]);
        +
        375 }
        +
        376 std::cout << "Passed!" << std::endl;
        +
        377
        +
        378 std::cout << std::endl;
        +
        379 deleteAll(root);
        +
        380}
        +
        +
        381
        +
        +
        386static void tests() {
        +
        387 std::cout << "1st test-case" << std::endl;
        +
        388 test1(); // run 1st test-case
        +
        389 std::cout << "2nd test-case" << std::endl;
        +
        390 test2(); // run 2nd test-case
        +
        391 std::cout << "3rd test-case" << std::endl;
        +
        392 test3(); // run 3rd test-case
        +
        393}
        +
        +
        +
        398int main() {
        +
        399 tests(); // run self-test implementations
        +
        400 return 0;
        +
        401}
        +
        +
        struct node { int data; int height; struct node *left; struct node *right;} node
        for std::queue
        Definition avltree.cpp:13
        +
        BT used to make the entire structure of the binary tree and the functions associated with the binary ...
        +
        std::vector< std::uint64_t > preorder(Node *)
        preorder function that will perform the preorder traversal recursively, and return the resultant vect...
        +
        std::vector< std::uint64_t > postorder(Node *)
        postorder function that will perform the postorder traversal recursively, and return the result vecto...
        +
        Node * createNewNode(std::uint64_t)
        will allocate the memory for a node and, along the data and return the node.
        +
        int data[MAX]
        test data
        +
        for vector
        +
        void test2()
        2nd test-case
        +
        void test1()
        1st test-case
        +
        static void tests()
        Self-test implementations.
        +
        void test3()
        3rd test-case
        +
        int main()
        Main function.
        + +
        The structure to hold Nodes of the tree.
        +
        std::uint64_t data
        The value/key of the node.
        +
        struct Node * right
        struct pointer to right subtree.
        +
        +
        + + + + diff --git a/dc/dea/classgraph_1_1_h_k_graph-members.html b/dc/dea/classgraph_1_1_h_k_graph-members.html index da552e4b8..db21235f1 100644 --- a/dc/dea/classgraph_1_1_h_k_graph-members.html +++ b/dc/dea/classgraph_1_1_h_k_graph-members.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Member List +TheAlgorithms/C++: Member List + + + @@ -18,14 +24,24 @@ - - + +
        @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/dc/dec/struct_list_node-members.html b/dc/dec/struct_list_node-members.html index 9b6f9b983..d51a5bed2 100644 --- a/dc/dec/struct_list_node-members.html +++ b/dc/dec/struct_list_node-members.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Member List +TheAlgorithms/C++: Member List + + + @@ -18,14 +24,24 @@ - - + +
        @@ -33,10 +49,11 @@ MathJax.Hub.Config({
        -
        Algorithms_in_C++ 1.0.0 +
        TheAlgorithms/C++ 1.0.0
        -
        Set of algorithms implemented in C++.
        +
        All the algorithms implemented in C++
        + diff --git a/dc/df6/classoperations__on__datastructures_1_1trie__operations_1_1_tnode__coll__graph.map b/dc/df6/classoperations__on__datastructures_1_1trie__operations_1_1_tnode__coll__graph.map index 5266c594c..c357d3407 100644 --- a/dc/df6/classoperations__on__datastructures_1_1trie__operations_1_1_tnode__coll__graph.map +++ b/dc/df6/classoperations__on__datastructures_1_1trie__operations_1_1_tnode__coll__graph.map @@ -1,6 +1,6 @@ - + diff --git a/dc/df6/classoperations__on__datastructures_1_1trie__operations_1_1_tnode__coll__graph.md5 b/dc/df6/classoperations__on__datastructures_1_1trie__operations_1_1_tnode__coll__graph.md5 index 91c461b0f..4d0fe9674 100644 --- a/dc/df6/classoperations__on__datastructures_1_1trie__operations_1_1_tnode__coll__graph.md5 +++ b/dc/df6/classoperations__on__datastructures_1_1trie__operations_1_1_tnode__coll__graph.md5 @@ -1 +1 @@ -0b22e31cb6b97bf760f578806996fb5f \ No newline at end of file +b1cba3296a852d258ece914986939533 \ No newline at end of file diff --git a/dc/df6/classoperations__on__datastructures_1_1trie__operations_1_1_tnode__coll__graph.svg b/dc/df6/classoperations__on__datastructures_1_1trie__operations_1_1_tnode__coll__graph.svg index 98e2c6914..051927574 100644 --- a/dc/df6/classoperations__on__datastructures_1_1trie__operations_1_1_tnode__coll__graph.svg +++ b/dc/df6/classoperations__on__datastructures_1_1trie__operations_1_1_tnode__coll__graph.svg @@ -32,7 +32,7 @@ Node2 - + std::vector< operations _on_datastructures::trie diff --git a/dc/df6/classoperations__on__datastructures_1_1trie__operations_1_1_tnode__coll__graph_org.svg b/dc/df6/classoperations__on__datastructures_1_1trie__operations_1_1_tnode__coll__graph_org.svg index 5b4bb8497..3275770fa 100644 --- a/dc/df6/classoperations__on__datastructures_1_1trie__operations_1_1_tnode__coll__graph_org.svg +++ b/dc/df6/classoperations__on__datastructures_1_1trie__operations_1_1_tnode__coll__graph_org.svg @@ -21,7 +21,7 @@ Node2 - + std::vector< operations _on_datastructures::trie diff --git a/dc/dfb/atbash__cipher_8cpp.html b/dc/dfb/atbash__cipher_8cpp.html index e6e48286e..a60ed54a9 100644 --- a/dc/dfb/atbash__cipher_8cpp.html +++ b/dc/dfb/atbash__cipher_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: ciphers/atbash_cipher.cpp File Reference +TheAlgorithms/C++: ciphers/atbash_cipher.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
        @@ -33,10 +49,11 @@ MathJax.Hub.Config({
        -
        Algorithms_in_C++ 1.0.0 +
        TheAlgorithms/C++ 1.0.0
        -
        Set of algorithms implemented in C++.
        +
        All the algorithms implemented in C++
        + @@ -123,7 +140,9 @@ Include dependency graph for atbash_cipher.cpp:
        -
        -
        Algorithms_in_C++ 1.0.0 +
        TheAlgorithms/C++ 1.0.0
        -
        Set of algorithms implemented in C++.
        +
        All the algorithms implemented in C++
        + +

        Go to the source code of this file.

        +
        @@ -135,7 +154,7 @@ Namespaces

        Namespaces

        namespace  ciphers
        - + @@ -147,7 +166,7 @@ Functions

        Functions

        std::string ciphers::atbash::atbash_cipher (const std::string &text)
        std::string ciphers::atbash::atbash_cipher (const std::string &text)
         atbash cipher encryption and decryption
         
        static void test ()
        - +

        Variables

        std::map< char, char > ciphers::atbash::atbash_cipher_map
        std::map< char, char > ciphers::atbash::atbash_cipher_map
         

        Detailed Description

        @@ -157,6 +176,8 @@ Variables Algorithm

        The algorithm takes a string, and looks up the corresponding reversed letter for each letter in the word and replaces it. Spaces are ignored and case is preserved.

        Author
        Focusucof
        + +

        Definition in file atbash_cipher.cpp.

        Function Documentation

        ◆ atbash_cipher()

        @@ -165,9 +186,9 @@ Algorithm
        - + - +
        std::string ciphers::atbash::atbash_cipher std::string ciphers::atbash::atbash_cipher (const std::string & text)const std::string & text)
        @@ -181,21 +202,17 @@ Algorithm
        Returns
        encoded or decoded string
        + +

        Definition at line 47 of file atbash_cipher.cpp.

        47 {
        - +
        48 std::string result;
        49 for (char letter : text) {
        50 result += atbash_cipher_map[letter];
        51 }
        52 return result;
        53}
        - -
        uint64_t result(uint64_t n)
        Definition fibonacci_sum.cpp:77
        -
        -Here is the call graph for this function:
        -
        -
        -
        - +
        uint64_t result(uint64_t n)
        +
        @@ -215,17 +232,14 @@ Here is the call graph for this function:

        Main function.

        Returns
        0 on exit
        + +

        Definition at line 81 of file atbash_cipher.cpp.

        81 {
        82 test(); // run self-test implementations
        83 return 0;
        84}
        -
        static void test()
        Self-test implementations.
        Definition atbash_cipher.cpp:62
        -
        -Here is the call graph for this function:
        -
        -
        -
        - +
        static void test()
        Self-test implementations.
        + @@ -253,29 +267,24 @@ Here is the call graph for this function:

        Self-test implementations.

        Returns
        void
        + +

        Definition at line 62 of file atbash_cipher.cpp.

        62 {
        63 // 1st test
        -
        64 std::string text = "Hello World";
        -
        65 std::string expected = "Svool Dliow";
        -
        66 std::string encrypted_text = ciphers::atbash::atbash_cipher(text);
        -
        67 std::string decrypted_text = ciphers::atbash::atbash_cipher(encrypted_text);
        +
        64 std::string text = "Hello World";
        +
        65 std::string expected = "Svool Dliow";
        +
        66 std::string encrypted_text = ciphers::atbash::atbash_cipher(text);
        +
        67 std::string decrypted_text = ciphers::atbash::atbash_cipher(encrypted_text);
        68 assert(expected == encrypted_text);
        69 assert(text == decrypted_text);
        -
        70 std::cout << "Original text: " << text << std::endl;
        -
        71 std::cout << ", Expected text: " << expected << std::endl;
        -
        72 std::cout << ", Encrypted text: " << encrypted_text << std::endl;
        -
        73 std::cout << ", Decrypted text: " << decrypted_text << std::endl;
        -
        74 std::cout << "\nAll tests have successfully passed!\n";
        +
        70 std::cout << "Original text: " << text << std::endl;
        +
        71 std::cout << ", Expected text: " << expected << std::endl;
        +
        72 std::cout << ", Encrypted text: " << encrypted_text << std::endl;
        +
        73 std::cout << ", Decrypted text: " << decrypted_text << std::endl;
        +
        74 std::cout << "\nAll tests have successfully passed!\n";
        75}
        -
        std::string atbash_cipher(const std::string &text)
        atbash cipher encryption and decryption
        Definition atbash_cipher.cpp:47
        - -
        T endl(T... args)
        -
        -Here is the call graph for this function:
        -
        -
        -
        - +
        std::string atbash_cipher(const std::string &text)
        atbash cipher encryption and decryption
        +

        Variable Documentation

        @@ -286,7 +295,7 @@ Here is the call graph for this function:
        - +
        std::map<char, char> ciphers::atbash::atbash_cipher_mapstd::map<char, char> ciphers::atbash::atbash_cipher_map
        @@ -302,7 +311,9 @@ Here is the call graph for this function:
        {'W', 'D'}, {'X', 'C'}, {'Y', 'B'}, {'Z', 'A'}, {' ', ' '}
        }
        -
        29 {
        +
        +

        Definition at line 29 of file atbash_cipher.cpp.

        +
        29 {
        30 {'a', 'z'}, {'b', 'y'}, {'c', 'x'}, {'d', 'w'}, {'e', 'v'}, {'f', 'u'},
        31 {'g', 't'}, {'h', 's'}, {'i', 'r'}, {'j', 'q'}, {'k', 'p'}, {'l', 'o'},
        32 {'m', 'n'}, {'n', 'm'}, {'o', 'l'}, {'p', 'k'}, {'q', 'j'}, {'r', 'i'},
        diff --git a/dc/dfb/atbash__cipher_8cpp_a8f7dd4dcd3df7c512c20482afc2dbb9d_cgraph.map b/dc/dfb/atbash__cipher_8cpp_a8f7dd4dcd3df7c512c20482afc2dbb9d_cgraph.map deleted file mode 100644 index 05b779459..000000000 --- a/dc/dfb/atbash__cipher_8cpp_a8f7dd4dcd3df7c512c20482afc2dbb9d_cgraph.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/dc/dfb/atbash__cipher_8cpp_a8f7dd4dcd3df7c512c20482afc2dbb9d_cgraph.md5 b/dc/dfb/atbash__cipher_8cpp_a8f7dd4dcd3df7c512c20482afc2dbb9d_cgraph.md5 deleted file mode 100644 index 0a58953cd..000000000 --- a/dc/dfb/atbash__cipher_8cpp_a8f7dd4dcd3df7c512c20482afc2dbb9d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -793dbef620ac4b3562e620747f01cee6 \ No newline at end of file diff --git a/dc/dfb/atbash__cipher_8cpp_a8f7dd4dcd3df7c512c20482afc2dbb9d_cgraph.svg b/dc/dfb/atbash__cipher_8cpp_a8f7dd4dcd3df7c512c20482afc2dbb9d_cgraph.svg deleted file mode 100644 index 3a579e3c1..000000000 --- a/dc/dfb/atbash__cipher_8cpp_a8f7dd4dcd3df7c512c20482afc2dbb9d_cgraph.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - - - - - - - -ciphers::atbash::atbash_cipher - - -Node1 - - -ciphers::atbash::atbash -_cipher - - - - - -Node1->Node1 - - - - - - - - - - - - - diff --git a/dc/dfb/atbash__cipher_8cpp_a8f7dd4dcd3df7c512c20482afc2dbb9d_cgraph_org.svg b/dc/dfb/atbash__cipher_8cpp_a8f7dd4dcd3df7c512c20482afc2dbb9d_cgraph_org.svg deleted file mode 100644 index 8177dc858..000000000 --- a/dc/dfb/atbash__cipher_8cpp_a8f7dd4dcd3df7c512c20482afc2dbb9d_cgraph_org.svg +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - -ciphers::atbash::atbash_cipher - - -Node1 - - -ciphers::atbash::atbash -_cipher - - - - - -Node1->Node1 - - - - - - - - diff --git a/dc/dfb/atbash__cipher_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map b/dc/dfb/atbash__cipher_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map deleted file mode 100644 index e85e01374..000000000 --- a/dc/dfb/atbash__cipher_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/dc/dfb/atbash__cipher_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 b/dc/dfb/atbash__cipher_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 deleted file mode 100644 index 5901bc148..000000000 --- a/dc/dfb/atbash__cipher_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -729fb887ee50b6291b0542ba0592a5c7 \ No newline at end of file diff --git a/dc/dfb/atbash__cipher_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg b/dc/dfb/atbash__cipher_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg deleted file mode 100644 index 2e04695b9..000000000 --- a/dc/dfb/atbash__cipher_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/dc/dfb/atbash__cipher_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg b/dc/dfb/atbash__cipher_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg deleted file mode 100644 index 1813bd719..000000000 --- a/dc/dfb/atbash__cipher_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - diff --git a/dc/dfb/atbash__cipher_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/dc/dfb/atbash__cipher_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 1107c2a18..000000000 --- a/dc/dfb/atbash__cipher_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/dc/dfb/atbash__cipher_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/dc/dfb/atbash__cipher_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index 3ba6bad7f..000000000 --- a/dc/dfb/atbash__cipher_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -212406f11f9329f1b7673902689aeafc \ No newline at end of file diff --git a/dc/dfb/atbash__cipher_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/dc/dfb/atbash__cipher_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 44d3c7109..000000000 --- a/dc/dfb/atbash__cipher_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node2->Node3 - - - - - - - - - - - - - diff --git a/dc/dfb/atbash__cipher_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/dc/dfb/atbash__cipher_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 58b67a608..000000000 --- a/dc/dfb/atbash__cipher_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node2->Node3 - - - - - - - - diff --git a/dc/dfb/atbash__cipher_8cpp_source.html b/dc/dfb/atbash__cipher_8cpp_source.html new file mode 100644 index 000000000..84c9bff6e --- /dev/null +++ b/dc/dfb/atbash__cipher_8cpp_source.html @@ -0,0 +1,199 @@ + + + + + + + + +TheAlgorithms/C++: ciphers/atbash_cipher.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
        +
        + + + + + + + +
        +
        TheAlgorithms/C++ 1.0.0 +
        +
        All the algorithms implemented in C++
        +
        +
        + + + + + + + + +
        +
        + +
        +
        +
        + +
        + +
        +
        + + +
        +
        +
        +
        +
        +
        Loading...
        +
        Searching...
        +
        No Matches
        +
        +
        +
        +
        + +
        +
        atbash_cipher.cpp
        +
        +
        +Go to the documentation of this file.
        1
        +
        15#include <cassert>
        +
        16#include <iostream>
        +
        17#include <map>
        +
        18#include <string>
        +
        19
        +
        23namespace ciphers {
        +
        28namespace atbash {
        +
        29std::map<char, char> atbash_cipher_map = {
        +
        30 {'a', 'z'}, {'b', 'y'}, {'c', 'x'}, {'d', 'w'}, {'e', 'v'}, {'f', 'u'},
        +
        31 {'g', 't'}, {'h', 's'}, {'i', 'r'}, {'j', 'q'}, {'k', 'p'}, {'l', 'o'},
        +
        32 {'m', 'n'}, {'n', 'm'}, {'o', 'l'}, {'p', 'k'}, {'q', 'j'}, {'r', 'i'},
        +
        33 {'s', 'h'}, {'t', 'g'}, {'u', 'f'}, {'v', 'e'}, {'w', 'd'}, {'x', 'c'},
        +
        34 {'y', 'b'}, {'z', 'a'}, {'A', 'Z'}, {'B', 'Y'}, {'C', 'X'}, {'D', 'W'},
        +
        35 {'E', 'V'}, {'F', 'U'}, {'G', 'T'}, {'H', 'S'}, {'I', 'R'}, {'J', 'Q'},
        +
        36 {'K', 'P'}, {'L', 'O'}, {'M', 'N'}, {'N', 'M'}, {'O', 'L'}, {'P', 'K'},
        +
        37 {'Q', 'J'}, {'R', 'I'}, {'S', 'H'}, {'T', 'G'}, {'U', 'F'}, {'V', 'E'},
        +
        38 {'W', 'D'}, {'X', 'C'}, {'Y', 'B'}, {'Z', 'A'}, {' ', ' '}
        +
        39
        +
        40};
        +
        41
        +
        +
        47std::string atbash_cipher(const std::string& text) {
        +
        48 std::string result;
        +
        49 for (char letter : text) {
        +
        50 result += atbash_cipher_map[letter];
        +
        51 }
        +
        52 return result;
        +
        53}
        +
        +
        54
        +
        55} // namespace atbash
        +
        56} // namespace ciphers
        +
        57
        +
        +
        62static void test() {
        +
        63 // 1st test
        +
        64 std::string text = "Hello World";
        +
        65 std::string expected = "Svool Dliow";
        +
        66 std::string encrypted_text = ciphers::atbash::atbash_cipher(text);
        +
        67 std::string decrypted_text = ciphers::atbash::atbash_cipher(encrypted_text);
        +
        68 assert(expected == encrypted_text);
        +
        69 assert(text == decrypted_text);
        +
        70 std::cout << "Original text: " << text << std::endl;
        +
        71 std::cout << ", Expected text: " << expected << std::endl;
        +
        72 std::cout << ", Encrypted text: " << encrypted_text << std::endl;
        +
        73 std::cout << ", Decrypted text: " << decrypted_text << std::endl;
        +
        74 std::cout << "\nAll tests have successfully passed!\n";
        +
        75}
        +
        +
        76
        +
        +
        81int main() {
        +
        82 test(); // run self-test implementations
        +
        83 return 0;
        +
        84}
        +
        +
        std::string atbash_cipher(const std::string &text)
        atbash cipher encryption and decryption
        +
        static void test()
        Self-test implementations.
        +
        int main()
        Main function.
        +
        Functions for the Atbash Cipher implementation.
        +
        Algorithms for encryption and decryption.
        +
        +
        + + + + diff --git a/dc/dfe/ternary__search_8cpp.html b/dc/dfe/ternary__search_8cpp.html index 1a9df6c06..fa4dd1685 100644 --- a/dc/dfe/ternary__search_8cpp.html +++ b/dc/dfe/ternary__search_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: search/ternary_search.cpp File Reference +TheAlgorithms/C++: search/ternary_search.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
        @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -119,16 +136,17 @@ Include dependency graph for ternary_search.cpp:
        -
        -
        Algorithms_in_C++ 1.0.0 +
        TheAlgorithms/C++ 1.0.0
        -
        Set of algorithms implemented in C++.
        +
        All the algorithms implemented in C++
        + +

        Go to the source code of this file.

        +
        - - + +

        Macros

        #define absolutePrecision   10
         
        #define _target   10
         
        -#define MAX   10000000
         Maximum length of array.
        #define MAX   10000000
         Maximum length of array.
         
      • Time Complexity : O(log3 n)
      • Space Complexity : O(1) (without the array)
      • + +

        Definition in file ternary_search.cpp.

        Macro Definition Documentation

        ◆ _target

        @@ -165,6 +185,8 @@ Functions

        The value of _target should be decided or can be decided later by using the variable of the function.

        +

        Definition at line 27 of file ternary_search.cpp.

        +
        @@ -180,6 +202,26 @@ Functions

        The absolutePrecision can be modified to fit preference but it is recommended to not go lower than 10 due to errors that may occur.

        +

        Definition at line 22 of file ternary_search.cpp.

        + +
        + + +

        ◆ MAX

        + +
        +
        +

        @@ -151,6 +169,8 @@ Functions

        + + + +
        #define MAX   10000000
        +
        + +

        Maximum length of array.

        + +

        Definition at line 29 of file ternary_search.cpp.

        +

        Function Documentation

        @@ -198,6 +240,8 @@ Functions

        get_input function is to receive input from standard IO

        Todo
        @christianbender Get input from STDIO or write input to memory as done above.
        + +

        Definition at line 36 of file ternary_search.cpp.

        36{}
        @@ -242,19 +286,21 @@ Functions
        Returns
        index where the target value was found
        -1 if target value not found
        + +

        Definition at line 48 of file ternary_search.cpp.

        48 {
        49 while (1) {
        50 if (left < right) {
        51 if (right - left < absolutePrecision) {
        -
        52 for (int i = left; i <= right; i++)
        +
        52 for (int i = left; i <= right; i++)
        53 if (A[i] == target)
        54 return i;
        55
        56 return -1;
        57 }
        58
        -
        59 int oneThird = (left + right) / 3 + 1;
        -
        60 int twoThird = (left + right) * 2 / 3 + 1;
        +
        59 int oneThird = (left + right) / 3 + 1;
        +
        60 int twoThird = (left + right) * 2 / 3 + 1;
        61
        62 if (A[oneThird] == target)
        63 return oneThird;
        @@ -264,17 +310,16 @@ Functions
        67 else if (target > A[twoThird])
        68 left = twoThird + 1;
        69 else if (target < A[oneThird])
        -
        70 right = oneThird - 1;
        +
        70 right = oneThird - 1;
        71
        72 else
        -
        73 left = oneThird + 1, right = twoThird - 1;
        +
        73 left = oneThird + 1, right = twoThird - 1;
        74 } else {
        75 return -1;
        76 }
        77 }
        78}
        -
        T right(T... args)
        -
        #define absolutePrecision
        Definition ternary_search.cpp:22
        +
        #define absolutePrecision
        @@ -293,6 +338,8 @@ Functions

        Main function

        + +

        Definition at line 134 of file ternary_search.cpp.

        134 {
        135 int N = 21;
        136 int A[] = {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, 4, 10};
        @@ -300,16 +347,11 @@ Functions
        138 ternary_search(N, A, _target);
        139 return 0;
        140}
        -
        constexpr uint32_t N
        A struct to represent sparse table for min() as their invariant function, for the given array A....
        Definition sparse_table.cpp:48
        -
        #define _target
        Definition ternary_search.cpp:27
        -
        void get_input()
        Definition ternary_search.cpp:36
        -
        void ternary_search(int N, int A[], int target)
        Definition ternary_search.cpp:127
        -
        -Here is the call graph for this function:
        -
        -
        -
        - +
        constexpr uint32_t N
        A struct to represent sparse table for min() as their invariant function, for the given array A....
        +
        #define _target
        +
        void get_input()
        +
        void ternary_search(int N, int A[], int target)
        +
        @@ -352,18 +394,20 @@ Here is the call graph for this function:
        Returns
        index where the target value was found
        -1 if target value not found
        + +

        Definition at line 90 of file ternary_search.cpp.

        90 {
        91 if (left < right) {
        92 if (right - left < absolutePrecision) {
        -
        93 for (int i = left; i <= right; i++)
        +
        93 for (int i = left; i <= right; i++)
        94 if (A[i] == target)
        95 return i;
        96
        97 return -1;
        98 }
        99
        -
        100 int oneThird = (left + right) / 3 + 1;
        -
        101 int twoThird = (left + right) * 2 / 3 + 1;
        +
        100 int oneThird = (left + right) / 3 + 1;
        +
        101 int twoThird = (left + right) * 2 / 3 + 1;
        102
        103 if (A[oneThird] == target)
        104 return oneThird;
        @@ -380,13 +424,8 @@ Here is the call graph for this function:
        115 return -1;
        116 }
        117}
        -
        int rec_ternary_search(int left, int right, int A[], int target)
        Definition ternary_search.cpp:90
        -
        -Here is the call graph for this function:
        -
        -
        -
        - +
        int rec_ternary_search(int left, int right, int A[], int target)
        + @@ -420,20 +459,15 @@ Here is the call graph for this function: -
        127 {
        -
        128 std::cout << it_ternary_search(0, N - 1, A, target) << '\t';
        -
        129 std::cout << rec_ternary_search(0, N - 1, A, target) << '\t';
        - -
        131}
        - -
        T endl(T... args)
        -
        int it_ternary_search(int left, int right, int A[], int target)
        Definition ternary_search.cpp:48
        -
        -Here is the call graph for this function:
        -
        -
        -
        +

        Definition at line 127 of file ternary_search.cpp.

        +
        127 {
        +
        128 std::cout << it_ternary_search(0, N - 1, A, target) << '\t';
        +
        129 std::cout << rec_ternary_search(0, N - 1, A, target) << '\t';
        +
        130 std::cout << std::endl;
        +
        131}
        +
        int it_ternary_search(int left, int right, int A[], int target)
        +
        diff --git a/dc/dfe/ternary__search_8cpp_a93d0099db95022f1eb90ddfd68f73ead_cgraph.map b/dc/dfe/ternary__search_8cpp_a93d0099db95022f1eb90ddfd68f73ead_cgraph.map deleted file mode 100644 index f8574c3fd..000000000 --- a/dc/dfe/ternary__search_8cpp_a93d0099db95022f1eb90ddfd68f73ead_cgraph.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/dc/dfe/ternary__search_8cpp_a93d0099db95022f1eb90ddfd68f73ead_cgraph.md5 b/dc/dfe/ternary__search_8cpp_a93d0099db95022f1eb90ddfd68f73ead_cgraph.md5 deleted file mode 100644 index 3d7bea2f6..000000000 --- a/dc/dfe/ternary__search_8cpp_a93d0099db95022f1eb90ddfd68f73ead_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -7fd6829086ef617e0ba95a7bc778a9dd \ No newline at end of file diff --git a/dc/dfe/ternary__search_8cpp_a93d0099db95022f1eb90ddfd68f73ead_cgraph.svg b/dc/dfe/ternary__search_8cpp_a93d0099db95022f1eb90ddfd68f73ead_cgraph.svg deleted file mode 100644 index 4342ddb45..000000000 --- a/dc/dfe/ternary__search_8cpp_a93d0099db95022f1eb90ddfd68f73ead_cgraph.svg +++ /dev/null @@ -1,56 +0,0 @@ - - - - - - - - - - - - -rec_ternary_search - - -Node1 - - -rec_ternary_search - - - - - -Node1->Node1 - - - - - - - - - - - - - diff --git a/dc/dfe/ternary__search_8cpp_a93d0099db95022f1eb90ddfd68f73ead_cgraph_org.svg b/dc/dfe/ternary__search_8cpp_a93d0099db95022f1eb90ddfd68f73ead_cgraph_org.svg deleted file mode 100644 index 6dd653a60..000000000 --- a/dc/dfe/ternary__search_8cpp_a93d0099db95022f1eb90ddfd68f73ead_cgraph_org.svg +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - -rec_ternary_search - - -Node1 - - -rec_ternary_search - - - - - -Node1->Node1 - - - - - - - - diff --git a/dc/dfe/ternary__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/dc/dfe/ternary__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index f2d6ee3ee..000000000 --- a/dc/dfe/ternary__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - - - - - diff --git a/dc/dfe/ternary__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/dc/dfe/ternary__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index 563f9782b..000000000 --- a/dc/dfe/ternary__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -a521a4f13bc3b81eafa8e5b79cfe7324 \ No newline at end of file diff --git a/dc/dfe/ternary__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/dc/dfe/ternary__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 48f8b1e86..000000000 --- a/dc/dfe/ternary__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,146 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -get_input - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -ternary_search - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::endl - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -it_ternary_search - - - - - -Node3->Node5 - - - - - - - - -Node6 - - -rec_ternary_search - - - - - -Node3->Node6 - - - - - - - - -Node6->Node6 - - - - - - - - - - - - - diff --git a/dc/dfe/ternary__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/dc/dfe/ternary__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 5d5f1694a..000000000 --- a/dc/dfe/ternary__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -get_input - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -ternary_search - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::endl - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -it_ternary_search - - - - - -Node3->Node5 - - - - - - - - -Node6 - - -rec_ternary_search - - - - - -Node3->Node6 - - - - - - - - -Node6->Node6 - - - - - - - - diff --git a/dc/dfe/ternary__search_8cpp_aef655a27eb82efa299bf9d0becf6e9c8_cgraph.map b/dc/dfe/ternary__search_8cpp_aef655a27eb82efa299bf9d0becf6e9c8_cgraph.map deleted file mode 100644 index 0cf33064d..000000000 --- a/dc/dfe/ternary__search_8cpp_aef655a27eb82efa299bf9d0becf6e9c8_cgraph.map +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/dc/dfe/ternary__search_8cpp_aef655a27eb82efa299bf9d0becf6e9c8_cgraph.md5 b/dc/dfe/ternary__search_8cpp_aef655a27eb82efa299bf9d0becf6e9c8_cgraph.md5 deleted file mode 100644 index c169cb3b8..000000000 --- a/dc/dfe/ternary__search_8cpp_aef655a27eb82efa299bf9d0becf6e9c8_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -bed8573e13424ad534d51985174303a1 \ No newline at end of file diff --git a/dc/dfe/ternary__search_8cpp_aef655a27eb82efa299bf9d0becf6e9c8_cgraph.svg b/dc/dfe/ternary__search_8cpp_aef655a27eb82efa299bf9d0becf6e9c8_cgraph.svg deleted file mode 100644 index 535ae15e8..000000000 --- a/dc/dfe/ternary__search_8cpp_aef655a27eb82efa299bf9d0becf6e9c8_cgraph.svg +++ /dev/null @@ -1,110 +0,0 @@ - - - - - - - - - - - - -ternary_search - - -Node1 - - -ternary_search - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -it_ternary_search - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -rec_ternary_search - - - - - -Node1->Node4 - - - - - - - - -Node4->Node4 - - - - - - - - - - - - - diff --git a/dc/dfe/ternary__search_8cpp_aef655a27eb82efa299bf9d0becf6e9c8_cgraph_org.svg b/dc/dfe/ternary__search_8cpp_aef655a27eb82efa299bf9d0becf6e9c8_cgraph_org.svg deleted file mode 100644 index 16a8b261c..000000000 --- a/dc/dfe/ternary__search_8cpp_aef655a27eb82efa299bf9d0becf6e9c8_cgraph_org.svg +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - -ternary_search - - -Node1 - - -ternary_search - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -it_ternary_search - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -rec_ternary_search - - - - - -Node1->Node4 - - - - - - - - -Node4->Node4 - - - - - - - - diff --git a/dc/dfe/ternary__search_8cpp_source.html b/dc/dfe/ternary__search_8cpp_source.html new file mode 100644 index 000000000..61cef3c6f --- /dev/null +++ b/dc/dfe/ternary__search_8cpp_source.html @@ -0,0 +1,236 @@ + + + + + + + + +TheAlgorithms/C++: search/ternary_search.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
        +
        + + + + + + + +
        +
        TheAlgorithms/C++ 1.0.0 +
        +
        All the algorithms implemented in C++
        +
        +
        + + + + + + + + +
        +
        + +
        +
        +
        + +
        + +
        +
        + + +
        +
        +
        +
        +
        +
        Loading...
        +
        Searching...
        +
        No Matches
        +
        +
        +
        +
        + +
        +
        ternary_search.cpp
        +
        +
        +Go to the documentation of this file.
        1
        +
        15#include <iostream>
        +
        16
        +
        22#define absolutePrecision 10
        +
        27#define _target 10
        +
        28
        +
        29#define MAX 10000000
        +
        30
        +
        36void get_input() {}
        +
        37
        +
        +
        48int it_ternary_search(int left, int right, int A[], int target) {
        +
        49 while (1) {
        +
        50 if (left < right) {
        +
        51 if (right - left < absolutePrecision) {
        +
        52 for (int i = left; i <= right; i++)
        +
        53 if (A[i] == target)
        +
        54 return i;
        +
        55
        +
        56 return -1;
        +
        57 }
        +
        58
        +
        59 int oneThird = (left + right) / 3 + 1;
        +
        60 int twoThird = (left + right) * 2 / 3 + 1;
        +
        61
        +
        62 if (A[oneThird] == target)
        +
        63 return oneThird;
        +
        64 else if (A[twoThird] == target)
        +
        65 return twoThird;
        +
        66
        +
        67 else if (target > A[twoThird])
        +
        68 left = twoThird + 1;
        +
        69 else if (target < A[oneThird])
        +
        70 right = oneThird - 1;
        +
        71
        +
        72 else
        +
        73 left = oneThird + 1, right = twoThird - 1;
        +
        74 } else {
        +
        75 return -1;
        +
        76 }
        +
        77 }
        +
        78}
        +
        +
        79
        +
        +
        90int rec_ternary_search(int left, int right, int A[], int target) {
        +
        91 if (left < right) {
        +
        92 if (right - left < absolutePrecision) {
        +
        93 for (int i = left; i <= right; i++)
        +
        94 if (A[i] == target)
        +
        95 return i;
        +
        96
        +
        97 return -1;
        +
        98 }
        +
        99
        +
        100 int oneThird = (left + right) / 3 + 1;
        +
        101 int twoThird = (left + right) * 2 / 3 + 1;
        +
        102
        +
        103 if (A[oneThird] == target)
        +
        104 return oneThird;
        +
        105 if (A[twoThird] == target)
        +
        106 return twoThird;
        +
        107
        +
        108 if (target < A[oneThird])
        +
        109 return rec_ternary_search(left, oneThird - 1, A, target);
        +
        110 if (target > A[twoThird])
        +
        111 return rec_ternary_search(twoThird + 1, right, A, target);
        +
        112
        +
        113 return rec_ternary_search(oneThird + 1, twoThird - 1, A, target);
        +
        114 } else {
        +
        115 return -1;
        +
        116 }
        +
        117}
        +
        +
        118
        +
        +
        127void ternary_search(int N, int A[], int target) {
        +
        128 std::cout << it_ternary_search(0, N - 1, A, target) << '\t';
        +
        129 std::cout << rec_ternary_search(0, N - 1, A, target) << '\t';
        +
        130 std::cout << std::endl;
        +
        131}
        +
        +
        132
        +
        +
        134int main() {
        +
        135 int N = 21;
        +
        136 int A[] = {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, 4, 10};
        +
        137 get_input();
        +
        138 ternary_search(N, A, _target);
        +
        139 return 0;
        +
        140}
        +
        +
        #define _target
        +
        void get_input()
        +
        int rec_ternary_search(int left, int right, int A[], int target)
        +
        #define absolutePrecision
        +
        int it_ternary_search(int left, int right, int A[], int target)
        +
        int main()
        +
        void ternary_search(int N, int A[], int target)
        +
        +
        + + + + diff --git a/dd/d03/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree-members.html b/dd/d03/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree-members.html index 8c90ef006..76ac8bb99 100644 --- a/dd/d03/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree-members.html +++ b/dd/d03/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree-members.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Member List +TheAlgorithms/C++: Member List + + + @@ -18,14 +24,24 @@ - - + +
        @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/dd/d0c/hamiltons__cycle_8cpp.html b/dd/d0c/hamiltons__cycle_8cpp.html index 1b5c4bd58..31bf59db2 100644 --- a/dd/d0c/hamiltons__cycle_8cpp.html +++ b/dd/d0c/hamiltons__cycle_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: graph/hamiltons_cycle.cpp File Reference +TheAlgorithms/C++: graph/hamiltons_cycle.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
        @@ -33,10 +49,11 @@ MathJax.Hub.Config({
        -
        Algorithms_in_C++ 1.0.0 +
        TheAlgorithms/C++ 1.0.0
        -
        Set of algorithms implemented in C++.
        +
        All the algorithms implemented in C++
        + @@ -120,10 +137,12 @@ Include dependency graph for hamiltons_cycle.cpp:
        -
        -
        Algorithms_in_C++ 1.0.0 +
        TheAlgorithms/C++ 1.0.0
        -
        Set of algorithms implemented in C++.
        +
        All the algorithms implemented in C++
        + +

        Go to the source code of this file.

        +
        - + @@ -141,6 +160,8 @@ Functions
        Author
        vakhokoto
        Krishna Vedala
        + +

        Definition in file hamiltons_cycle.cpp.

        Function Documentation

        ◆ hamilton_cycle()

        @@ -151,7 +172,7 @@ Functions - +

        Functions

        bool hamilton_cycle (const std::vector< std::vector< bool > > &routes)
        bool hamilton_cycle (const std::vector< std::vector< bool > > &routes)
         
        static void test1 ()
         
        bool hamilton_cycle (const std::vector< std::vector< bool > > & routes)const std::vector< std::vector< bool > > & routes)
        @@ -166,24 +187,26 @@ Functions
        Returns
        true if there is Hamiltonian cycle in the graph
        false if there is no Hamiltonian cycle in the graph
        + +

        Definition at line 30 of file hamiltons_cycle.cpp.

        30 {
        -
        31 const size_t n = routes.size();
        +
        31 const size_t n = routes.size();
        32 // height of dp array which is 2^n
        33 const size_t height = 1 << n;
        - +
        34 std::vector<std::vector<bool>> dp(height, std::vector<bool>(n, false));
        35
        36 // to fill in the [2^i, i] cells with true
        37 for (size_t i = 0; i < n; ++i) {
        38 dp[1 << i][i] = true;
        39 }
        40 for (size_t i = 1; i < height; i++) {
        -
        41 std::vector<size_t> zeros, ones;
        +
        41 std::vector<size_t> zeros, ones;
        42 // finding positions with 1s and 0s and separate them
        43 for (size_t pos = 0; pos < n; ++pos) {
        44 if ((1 << pos) & i) {
        -
        45 ones.push_back(pos);
        +
        45 ones.push_back(pos);
        46 } else {
        -
        47 zeros.push_back(pos);
        +
        47 zeros.push_back(pos);
        48 }
        49 }
        50
        @@ -211,17 +234,9 @@ Functions
        72 }
        73 return is_cycle;
        74}
        -
        int height(node *root)
        Definition avltree.cpp:38
        -
        for std::vector
        Definition partition_problem.cpp:39
        -
        T push_back(T... args)
        -
        T size(T... args)
        - -
        -Here is the call graph for this function:
        -
        -
        -
        - +
        int height(node *root)
        Definition avltree.cpp:38
        +
        for std::vector
        +
        @@ -250,21 +265,18 @@ Here is the call graph for this function: + +

        Definition at line 142 of file hamiltons_cycle.cpp.

        142 {
        143 test1();
        144 test2();
        145 test3();
        146 return 0;
        147}
        -
        static void test3()
        Definition hamiltons_cycle.cpp:122
        -
        static void test2()
        Definition hamiltons_cycle.cpp:103
        -
        static void test1()
        Definition hamiltons_cycle.cpp:81
        -
        -Here is the call graph for this function:
        -
        -
        -
        - +
        static void test3()
        +
        static void test2()
        +
        static void test1()
        + @@ -290,26 +302,22 @@ Here is the call graph for this function:

        this test is testing if hamilton_cycle returns true for graph: 1 -> 2 -> 3 -> 4

        Returns
        None
        + +

        Definition at line 81 of file hamiltons_cycle.cpp.

        81 {
        - -
        83 std::vector<bool>({true, true, false, false}),
        -
        84 std::vector<bool>({false, true, true, false}),
        -
        85 std::vector<bool>({false, false, true, true}),
        -
        86 std::vector<bool>({false, false, false, true})};
        +
        82 std::vector<std::vector<bool>> arr{
        +
        83 std::vector<bool>({true, true, false, false}),
        +
        84 std::vector<bool>({false, true, true, false}),
        +
        85 std::vector<bool>({false, false, true, true}),
        +
        86 std::vector<bool>({false, false, false, true})};
        87
        88 bool ans = hamilton_cycle(arr);
        -
        89 std::cout << "Test 1... ";
        +
        89 std::cout << "Test 1... ";
        90 assert(ans);
        -
        91 std::cout << "passed\n";
        +
        91 std::cout << "passed\n";
        92}
        - -
        bool hamilton_cycle(const std::vector< std::vector< bool > > &routes)
        Definition hamiltons_cycle.cpp:30
        -
        -Here is the call graph for this function:
        -
        -
        -
        - +
        bool hamilton_cycle(const std::vector< std::vector< bool > > &routes)
        +
        @@ -340,25 +348,22 @@ Here is the call graph for this function: | V 4
        Returns
        None
        + +

        Definition at line 103 of file hamiltons_cycle.cpp.

        103 {
        - -
        105 std::vector<bool>({true, true, false, false}),
        -
        106 std::vector<bool>({false, true, true, true}),
        -
        107 std::vector<bool>({false, false, true, false}),
        -
        108 std::vector<bool>({false, false, false, true})};
        +
        104 std::vector<std::vector<bool>> arr{
        +
        105 std::vector<bool>({true, true, false, false}),
        +
        106 std::vector<bool>({false, true, true, true}),
        +
        107 std::vector<bool>({false, false, true, false}),
        +
        108 std::vector<bool>({false, false, false, true})};
        109
        110 bool ans = hamilton_cycle(arr);
        111
        -
        112 std::cout << "Test 2... ";
        +
        112 std::cout << "Test 2... ";
        113 assert(!ans); // not a cycle
        -
        114 std::cout << "passed\n";
        +
        114 std::cout << "passed\n";
        115}
        -
        -Here is the call graph for this function:
        -
        -
        -
        - + @@ -384,25 +389,22 @@ Here is the call graph for this function:

        this test is testing if hamilton_cycle returns true for clique with 4 vertices

        Returns
        None
        + +

        Definition at line 122 of file hamiltons_cycle.cpp.

        122 {
        - -
        124 std::vector<bool>({true, true, true, true}),
        -
        125 std::vector<bool>({true, true, true, true}),
        -
        126 std::vector<bool>({true, true, true, true}),
        -
        127 std::vector<bool>({true, true, true, true})};
        +
        123 std::vector<std::vector<bool>> arr{
        +
        124 std::vector<bool>({true, true, true, true}),
        +
        125 std::vector<bool>({true, true, true, true}),
        +
        126 std::vector<bool>({true, true, true, true}),
        +
        127 std::vector<bool>({true, true, true, true})};
        128
        129 bool ans = hamilton_cycle(arr);
        130
        -
        131 std::cout << "Test 3... ";
        +
        131 std::cout << "Test 3... ";
        132 assert(ans);
        -
        133 std::cout << "passed\n";
        +
        133 std::cout << "passed\n";
        134}
        -
        -Here is the call graph for this function:
        -
        -
        -
        - +
        diff --git a/dd/d0c/hamiltons__cycle_8cpp_a0cc94918b6831f308d4fe4fa27f08299_cgraph.map b/dd/d0c/hamiltons__cycle_8cpp_a0cc94918b6831f308d4fe4fa27f08299_cgraph.map deleted file mode 100644 index ba0f1d6f1..000000000 --- a/dd/d0c/hamiltons__cycle_8cpp_a0cc94918b6831f308d4fe4fa27f08299_cgraph.map +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - - - diff --git a/dd/d0c/hamiltons__cycle_8cpp_a0cc94918b6831f308d4fe4fa27f08299_cgraph.md5 b/dd/d0c/hamiltons__cycle_8cpp_a0cc94918b6831f308d4fe4fa27f08299_cgraph.md5 deleted file mode 100644 index 76b512b67..000000000 --- a/dd/d0c/hamiltons__cycle_8cpp_a0cc94918b6831f308d4fe4fa27f08299_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -054d18d4c71b0dfd606db7a2a6cd588b \ No newline at end of file diff --git a/dd/d0c/hamiltons__cycle_8cpp_a0cc94918b6831f308d4fe4fa27f08299_cgraph.svg b/dd/d0c/hamiltons__cycle_8cpp_a0cc94918b6831f308d4fe4fa27f08299_cgraph.svg deleted file mode 100644 index 8e9a7436f..000000000 --- a/dd/d0c/hamiltons__cycle_8cpp_a0cc94918b6831f308d4fe4fa27f08299_cgraph.svg +++ /dev/null @@ -1,128 +0,0 @@ - - - - - - - - - - - - -test3 - - -Node1 - - -test3 - - - - - -Node2 - - -hamilton_cycle - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -height - - - - - -Node2->Node3 - - - - - - - - -Node5 - - -std::vector::push_back - - - - - -Node2->Node5 - - - - - - - - -Node3->Node3 - - - - - - - - -Node4 - - -std::max - - - - - -Node3->Node4 - - - - - - - - - - - - - diff --git a/dd/d0c/hamiltons__cycle_8cpp_a0cc94918b6831f308d4fe4fa27f08299_cgraph_org.svg b/dd/d0c/hamiltons__cycle_8cpp_a0cc94918b6831f308d4fe4fa27f08299_cgraph_org.svg deleted file mode 100644 index 91f3a673b..000000000 --- a/dd/d0c/hamiltons__cycle_8cpp_a0cc94918b6831f308d4fe4fa27f08299_cgraph_org.svg +++ /dev/null @@ -1,102 +0,0 @@ - - - - - - -test3 - - -Node1 - - -test3 - - - - - -Node2 - - -hamilton_cycle - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -height - - - - - -Node2->Node3 - - - - - - - - -Node5 - - -std::vector::push_back - - - - - -Node2->Node5 - - - - - - - - -Node3->Node3 - - - - - - - - -Node4 - - -std::max - - - - - -Node3->Node4 - - - - - - - - diff --git a/dd/d0c/hamiltons__cycle_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph.map b/dd/d0c/hamiltons__cycle_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph.map deleted file mode 100644 index f7b1e8398..000000000 --- a/dd/d0c/hamiltons__cycle_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph.map +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - - - - - - - - - - - - - - - diff --git a/dd/d0c/hamiltons__cycle_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph.md5 b/dd/d0c/hamiltons__cycle_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph.md5 deleted file mode 100644 index ea42e5c26..000000000 --- a/dd/d0c/hamiltons__cycle_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -6ecb8d665924611cb13dd8de8254c8fd \ No newline at end of file diff --git a/dd/d0c/hamiltons__cycle_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph.svg b/dd/d0c/hamiltons__cycle_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph.svg deleted file mode 100644 index dea3e1030..000000000 --- a/dd/d0c/hamiltons__cycle_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph.svg +++ /dev/null @@ -1,200 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test1 - - - - - -Node1->Node2 - - - - - - - - -Node7 - - -test2 - - - - - -Node1->Node7 - - - - - - - - -Node8 - - -test3 - - - - - -Node1->Node8 - - - - - - - - -Node3 - - -hamilton_cycle - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -height - - - - - -Node3->Node4 - - - - - - - - -Node6 - - -std::vector::push_back - - - - - -Node3->Node6 - - - - - - - - -Node4->Node4 - - - - - - - - -Node5 - - -std::max - - - - - -Node4->Node5 - - - - - - - - -Node7->Node3 - - - - - - - - -Node8->Node3 - - - - - - - - - - - - - diff --git a/dd/d0c/hamiltons__cycle_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph_org.svg b/dd/d0c/hamiltons__cycle_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph_org.svg deleted file mode 100644 index a46f87052..000000000 --- a/dd/d0c/hamiltons__cycle_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph_org.svg +++ /dev/null @@ -1,174 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test1 - - - - - -Node1->Node2 - - - - - - - - -Node7 - - -test2 - - - - - -Node1->Node7 - - - - - - - - -Node8 - - -test3 - - - - - -Node1->Node8 - - - - - - - - -Node3 - - -hamilton_cycle - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -height - - - - - -Node3->Node4 - - - - - - - - -Node6 - - -std::vector::push_back - - - - - -Node3->Node6 - - - - - - - - -Node4->Node4 - - - - - - - - -Node5 - - -std::max - - - - - -Node4->Node5 - - - - - - - - -Node7->Node3 - - - - - - - - -Node8->Node3 - - - - - - - - diff --git a/dd/d0c/hamiltons__cycle_8cpp_a45d94ead4cf4e1ff9f87c38bc99f59ae_cgraph.map b/dd/d0c/hamiltons__cycle_8cpp_a45d94ead4cf4e1ff9f87c38bc99f59ae_cgraph.map deleted file mode 100644 index 8d65af493..000000000 --- a/dd/d0c/hamiltons__cycle_8cpp_a45d94ead4cf4e1ff9f87c38bc99f59ae_cgraph.map +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - - - diff --git a/dd/d0c/hamiltons__cycle_8cpp_a45d94ead4cf4e1ff9f87c38bc99f59ae_cgraph.md5 b/dd/d0c/hamiltons__cycle_8cpp_a45d94ead4cf4e1ff9f87c38bc99f59ae_cgraph.md5 deleted file mode 100644 index 60504ad39..000000000 --- a/dd/d0c/hamiltons__cycle_8cpp_a45d94ead4cf4e1ff9f87c38bc99f59ae_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -c73242ba7c328de880477ec7115b6673 \ No newline at end of file diff --git a/dd/d0c/hamiltons__cycle_8cpp_a45d94ead4cf4e1ff9f87c38bc99f59ae_cgraph.svg b/dd/d0c/hamiltons__cycle_8cpp_a45d94ead4cf4e1ff9f87c38bc99f59ae_cgraph.svg deleted file mode 100644 index 20d8e2dba..000000000 --- a/dd/d0c/hamiltons__cycle_8cpp_a45d94ead4cf4e1ff9f87c38bc99f59ae_cgraph.svg +++ /dev/null @@ -1,128 +0,0 @@ - - - - - - - - - - - - -test2 - - -Node1 - - -test2 - - - - - -Node2 - - -hamilton_cycle - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -height - - - - - -Node2->Node3 - - - - - - - - -Node5 - - -std::vector::push_back - - - - - -Node2->Node5 - - - - - - - - -Node3->Node3 - - - - - - - - -Node4 - - -std::max - - - - - -Node3->Node4 - - - - - - - - - - - - - diff --git a/dd/d0c/hamiltons__cycle_8cpp_a45d94ead4cf4e1ff9f87c38bc99f59ae_cgraph_org.svg b/dd/d0c/hamiltons__cycle_8cpp_a45d94ead4cf4e1ff9f87c38bc99f59ae_cgraph_org.svg deleted file mode 100644 index 3ce50f85a..000000000 --- a/dd/d0c/hamiltons__cycle_8cpp_a45d94ead4cf4e1ff9f87c38bc99f59ae_cgraph_org.svg +++ /dev/null @@ -1,102 +0,0 @@ - - - - - - -test2 - - -Node1 - - -test2 - - - - - -Node2 - - -hamilton_cycle - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -height - - - - - -Node2->Node3 - - - - - - - - -Node5 - - -std::vector::push_back - - - - - -Node2->Node5 - - - - - - - - -Node3->Node3 - - - - - - - - -Node4 - - -std::max - - - - - -Node3->Node4 - - - - - - - - diff --git a/dd/d0c/hamiltons__cycle_8cpp_abcf824e347eecfeeb69ea0280f34f3e4_cgraph.map b/dd/d0c/hamiltons__cycle_8cpp_abcf824e347eecfeeb69ea0280f34f3e4_cgraph.map deleted file mode 100644 index 2b6fdaa61..000000000 --- a/dd/d0c/hamiltons__cycle_8cpp_abcf824e347eecfeeb69ea0280f34f3e4_cgraph.map +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/dd/d0c/hamiltons__cycle_8cpp_abcf824e347eecfeeb69ea0280f34f3e4_cgraph.md5 b/dd/d0c/hamiltons__cycle_8cpp_abcf824e347eecfeeb69ea0280f34f3e4_cgraph.md5 deleted file mode 100644 index 5ef745784..000000000 --- a/dd/d0c/hamiltons__cycle_8cpp_abcf824e347eecfeeb69ea0280f34f3e4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -79190585701eca9074f0e0ae40b0bfd8 \ No newline at end of file diff --git a/dd/d0c/hamiltons__cycle_8cpp_abcf824e347eecfeeb69ea0280f34f3e4_cgraph.svg b/dd/d0c/hamiltons__cycle_8cpp_abcf824e347eecfeeb69ea0280f34f3e4_cgraph.svg deleted file mode 100644 index 0abb4cebe..000000000 --- a/dd/d0c/hamiltons__cycle_8cpp_abcf824e347eecfeeb69ea0280f34f3e4_cgraph.svg +++ /dev/null @@ -1,110 +0,0 @@ - - - - - - - - - - - - -hamilton_cycle - - -Node1 - - -hamilton_cycle - - - - - -Node2 - - -height - - - - - -Node1->Node2 - - - - - - - - -Node4 - - -std::vector::push_back - - - - - -Node1->Node4 - - - - - - - - -Node2->Node2 - - - - - - - - -Node3 - - -std::max - - - - - -Node2->Node3 - - - - - - - - - - - - - diff --git a/dd/d0c/hamiltons__cycle_8cpp_abcf824e347eecfeeb69ea0280f34f3e4_cgraph_org.svg b/dd/d0c/hamiltons__cycle_8cpp_abcf824e347eecfeeb69ea0280f34f3e4_cgraph_org.svg deleted file mode 100644 index 8cb37b622..000000000 --- a/dd/d0c/hamiltons__cycle_8cpp_abcf824e347eecfeeb69ea0280f34f3e4_cgraph_org.svg +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - -hamilton_cycle - - -Node1 - - -hamilton_cycle - - - - - -Node2 - - -height - - - - - -Node1->Node2 - - - - - - - - -Node4 - - -std::vector::push_back - - - - - -Node1->Node4 - - - - - - - - -Node2->Node2 - - - - - - - - -Node3 - - -std::max - - - - - -Node2->Node3 - - - - - - - - diff --git a/dd/d0c/hamiltons__cycle_8cpp_ae7880ce913f3058a35ff106d5be9e243_cgraph.map b/dd/d0c/hamiltons__cycle_8cpp_ae7880ce913f3058a35ff106d5be9e243_cgraph.map deleted file mode 100644 index 0e6c5a593..000000000 --- a/dd/d0c/hamiltons__cycle_8cpp_ae7880ce913f3058a35ff106d5be9e243_cgraph.map +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - - - diff --git a/dd/d0c/hamiltons__cycle_8cpp_ae7880ce913f3058a35ff106d5be9e243_cgraph.md5 b/dd/d0c/hamiltons__cycle_8cpp_ae7880ce913f3058a35ff106d5be9e243_cgraph.md5 deleted file mode 100644 index fb79b3886..000000000 --- a/dd/d0c/hamiltons__cycle_8cpp_ae7880ce913f3058a35ff106d5be9e243_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -457fcc21c15ac4cb4775f4f00aa99945 \ No newline at end of file diff --git a/dd/d0c/hamiltons__cycle_8cpp_ae7880ce913f3058a35ff106d5be9e243_cgraph.svg b/dd/d0c/hamiltons__cycle_8cpp_ae7880ce913f3058a35ff106d5be9e243_cgraph.svg deleted file mode 100644 index bc9668b9c..000000000 --- a/dd/d0c/hamiltons__cycle_8cpp_ae7880ce913f3058a35ff106d5be9e243_cgraph.svg +++ /dev/null @@ -1,128 +0,0 @@ - - - - - - - - - - - - -test1 - - -Node1 - - -test1 - - - - - -Node2 - - -hamilton_cycle - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -height - - - - - -Node2->Node3 - - - - - - - - -Node5 - - -std::vector::push_back - - - - - -Node2->Node5 - - - - - - - - -Node3->Node3 - - - - - - - - -Node4 - - -std::max - - - - - -Node3->Node4 - - - - - - - - - - - - - diff --git a/dd/d0c/hamiltons__cycle_8cpp_ae7880ce913f3058a35ff106d5be9e243_cgraph_org.svg b/dd/d0c/hamiltons__cycle_8cpp_ae7880ce913f3058a35ff106d5be9e243_cgraph_org.svg deleted file mode 100644 index 1eb35c41f..000000000 --- a/dd/d0c/hamiltons__cycle_8cpp_ae7880ce913f3058a35ff106d5be9e243_cgraph_org.svg +++ /dev/null @@ -1,102 +0,0 @@ - - - - - - -test1 - - -Node1 - - -test1 - - - - - -Node2 - - -hamilton_cycle - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -height - - - - - -Node2->Node3 - - - - - - - - -Node5 - - -std::vector::push_back - - - - - -Node2->Node5 - - - - - - - - -Node3->Node3 - - - - - - - - -Node4 - - -std::max - - - - - -Node3->Node4 - - - - - - - - diff --git a/dd/d0c/hamiltons__cycle_8cpp_source.html b/dd/d0c/hamiltons__cycle_8cpp_source.html new file mode 100644 index 000000000..83b08e874 --- /dev/null +++ b/dd/d0c/hamiltons__cycle_8cpp_source.html @@ -0,0 +1,252 @@ + + + + + + + + +TheAlgorithms/C++: graph/hamiltons_cycle.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
        +
        + + + + + + + +
        +
        TheAlgorithms/C++ 1.0.0 +
        +
        All the algorithms implemented in C++
        +
        +
        + + + + + + + + +
        +
        + +
        +
        +
        + +
        + +
        +
        + + +
        +
        +
        +
        +
        +
        Loading...
        +
        Searching...
        +
        No Matches
        +
        +
        +
        +
        + +
        +
        hamiltons_cycle.cpp
        +
        +
        +Go to the documentation of this file.
        1
        +
        18#include <cassert>
        +
        19#include <iostream>
        +
        20#include <vector>
        +
        21
        +
        +
        30bool hamilton_cycle(const std::vector<std::vector<bool>> &routes) {
        +
        31 const size_t n = routes.size();
        +
        32 // height of dp array which is 2^n
        +
        33 const size_t height = 1 << n;
        +
        34 std::vector<std::vector<bool>> dp(height, std::vector<bool>(n, false));
        +
        35
        +
        36 // to fill in the [2^i, i] cells with true
        +
        37 for (size_t i = 0; i < n; ++i) {
        +
        38 dp[1 << i][i] = true;
        +
        39 }
        +
        40 for (size_t i = 1; i < height; i++) {
        +
        41 std::vector<size_t> zeros, ones;
        +
        42 // finding positions with 1s and 0s and separate them
        +
        43 for (size_t pos = 0; pos < n; ++pos) {
        +
        44 if ((1 << pos) & i) {
        +
        45 ones.push_back(pos);
        +
        46 } else {
        +
        47 zeros.push_back(pos);
        +
        48 }
        +
        49 }
        +
        50
        +
        51 for (auto &o : ones) {
        +
        52 if (!dp[i][o]) {
        +
        53 continue;
        +
        54 }
        +
        55
        +
        56 for (auto &z : zeros) {
        +
        57 if (!routes[o][z]) {
        +
        58 continue;
        +
        59 }
        +
        60 dp[i + (1 << z)][z] = true;
        +
        61 }
        +
        62 }
        +
        63 }
        +
        64
        +
        65 bool is_cycle = false;
        +
        66 for (size_t i = 0; i < n; i++) {
        +
        67 is_cycle |= dp[height - 1][i];
        +
        68 if (is_cycle) { // if true, all subsequent loop will be true. hence
        +
        69 // break
        +
        70 break;
        +
        71 }
        +
        72 }
        +
        73 return is_cycle;
        +
        74}
        +
        +
        75
        +
        +
        81static void test1() {
        +
        82 std::vector<std::vector<bool>> arr{
        +
        83 std::vector<bool>({true, true, false, false}),
        +
        84 std::vector<bool>({false, true, true, false}),
        +
        85 std::vector<bool>({false, false, true, true}),
        +
        86 std::vector<bool>({false, false, false, true})};
        +
        87
        +
        88 bool ans = hamilton_cycle(arr);
        +
        89 std::cout << "Test 1... ";
        +
        90 assert(ans);
        +
        91 std::cout << "passed\n";
        +
        92}
        +
        +
        93
        +
        +
        103static void test2() {
        +
        104 std::vector<std::vector<bool>> arr{
        +
        105 std::vector<bool>({true, true, false, false}),
        +
        106 std::vector<bool>({false, true, true, true}),
        +
        107 std::vector<bool>({false, false, true, false}),
        +
        108 std::vector<bool>({false, false, false, true})};
        +
        109
        +
        110 bool ans = hamilton_cycle(arr);
        +
        111
        +
        112 std::cout << "Test 2... ";
        +
        113 assert(!ans); // not a cycle
        +
        114 std::cout << "passed\n";
        +
        115}
        +
        +
        116
        +
        +
        122static void test3() {
        +
        123 std::vector<std::vector<bool>> arr{
        +
        124 std::vector<bool>({true, true, true, true}),
        +
        125 std::vector<bool>({true, true, true, true}),
        +
        126 std::vector<bool>({true, true, true, true}),
        +
        127 std::vector<bool>({true, true, true, true})};
        +
        128
        +
        129 bool ans = hamilton_cycle(arr);
        +
        130
        +
        131 std::cout << "Test 3... ";
        +
        132 assert(ans);
        +
        133 std::cout << "passed\n";
        +
        134}
        +
        +
        135
        +
        +
        142int main(int argc, char **argv) {
        +
        143 test1();
        +
        144 test2();
        +
        145 test3();
        +
        146 return 0;
        +
        147}
        +
        +
        int height(node *root)
        Definition avltree.cpp:38
        +
        int main()
        Main function.
        +
        static void test3()
        +
        static void test2()
        +
        bool hamilton_cycle(const std::vector< std::vector< bool > > &routes)
        +
        static void test1()
        +
        for std::vector
        +
        +
        + + + + diff --git a/dd/d0d/insertion__sort_8cpp.html b/dd/d0d/insertion__sort_8cpp.html index 2178c72eb..4a420a389 100644 --- a/dd/d0d/insertion__sort_8cpp.html +++ b/dd/d0d/insertion__sort_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: sorting/insertion_sort.cpp File Reference +TheAlgorithms/C++: sorting/insertion_sort.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
        @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -122,7 +139,9 @@ Include dependency graph for insertion_sort.cpp:
        -
        -
        Algorithms_in_C++ 1.0.0 +
        TheAlgorithms/C++ 1.0.0
        -
        Set of algorithms implemented in C++.
        +
        All the algorithms implemented in C++
        + +

        Go to the source code of this file.

        +
        @@ -136,7 +155,7 @@ Functions - + @@ -176,6 +195,8 @@ Functions

        + +

        Definition in file insertion_sort.cpp.

        Function Documentation

        ◆ create_random_array()

        @@ -220,20 +241,16 @@ template<typename T >

        Namespaces

        namespace  sorting
         Insertion Sort Function.
         
        template<typename T >
        void sorting::insertionSort (std::vector< T > *arr)
        void sorting::insertionSort (std::vector< T > *arr)
         Insertion Sort for a vector.
         
        template<typename T >
        + +

        Definition at line 101 of file insertion_sort.cpp.

        101 {
        102 while (N--) {
        -
        103 double r = (std::rand() % 10000 - 5000) / 100.f;
        +
        103 double r = (std::rand() % 10000 - 5000) / 100.f;
        104 arr[N] = static_cast<T>(r);
        105 }
        106}
        -
        T rand(T... args)
        -
        constexpr uint32_t N
        A struct to represent sparse table for min() as their invariant function, for the given array A....
        Definition sparse_table.cpp:48
        -
        -Here is the call graph for this function:
        -
        -
        -
        - +
        constexpr uint32_t N
        A struct to represent sparse table for min() as their invariant function, for the given array A....
        +
        @@ -253,47 +270,39 @@ Here is the call graph for this function:

        Main Function

        Running predefined tests to test algorithm

        For user insteraction

        -
        150 {
        -
        151 /// Running predefined tests to test algorithm
        -
        152 tests();
        -
        153
        -
        154 /// For user insteraction
        -
        155 size_t n;
        -
        156 std::cout << "Enter the length of your array (0 to exit): ";
        -
        157 std::cin >> n;
        + +

        Definition at line 150 of file insertion_sort.cpp.

        +
        150 {
        +
        152 tests();
        +
        153
        +
        155 size_t n;
        +
        156 std::cout << "Enter the length of your array (0 to exit): ";
        +
        157 std::cin >> n;
        158 if (n == 0) {
        159 return 0;
        160 }
        161
        162 int *arr = new int[n];
        -
        163 std::cout << "Enter any " << n << " Numbers for Unsorted Array : ";
        +
        163 std::cout << "Enter any " << n << " Numbers for Unsorted Array : ";
        164
        165 for (int i = 0; i < n; i++) {
        -
        166 std::cin >> arr[i];
        +
        166 std::cin >> arr[i];
        167 }
        168
        170
        -
        171 std::cout << "\nSorted Array : ";
        +
        171 std::cout << "\nSorted Array : ";
        172 for (int i = 0; i < n; i++) {
        -
        173 std::cout << arr[i] << " ";
        +
        173 std::cout << arr[i] << " ";
        174 }
        175
        - +
        176 std::cout << std::endl;
        177 delete[] arr;
        178 return 0;
        179}
        - - -
        T endl(T... args)
        -
        void tests()
        Definition insertion_sort.cpp:109
        -
        void insertionSort(T *arr, int n)
        Insertion Sort Function.
        Definition insertion_sort.cpp:59
        -
        -Here is the call graph for this function:
        -
        -
        -
        - +
        void tests()
        +
        void insertionSort(T *arr, int n)
        Insertion Sort Function.
        +
        @@ -311,56 +320,49 @@ Here is the call graph for this function:

        Test Cases to test algorithm

        + +

        Definition at line 109 of file insertion_sort.cpp.

        109 {
        110 int arr1[10] = {78, 34, 35, 6, 34, 56, 3, 56, 2, 4};
        -
        111 std::cout << "Test 1... ";
        +
        111 std::cout << "Test 1... ";
        112 sorting::insertionSort(arr1, 10);
        -
        113 assert(std::is_sorted(arr1, arr1 + 10));
        -
        114 std::cout << "passed" << std::endl;
        +
        113 assert(std::is_sorted(arr1, arr1 + 10));
        +
        114 std::cout << "passed" << std::endl;
        115
        116 int arr2[5] = {5, -3, 7, -2, 1};
        -
        117 std::cout << "Test 2... ";
        +
        117 std::cout << "Test 2... ";
        118 sorting::insertionSort(arr2, 5);
        -
        119 assert(std::is_sorted(arr2, arr2 + 5));
        -
        120 std::cout << "passed" << std::endl;
        +
        119 assert(std::is_sorted(arr2, arr2 + 5));
        +
        120 std::cout << "passed" << std::endl;
        121
        122 float arr3[5] = {5.6, -3.1, -3.0, -2.1, 1.8};
        -
        123 std::cout << "Test 3... ";
        +
        123 std::cout << "Test 3... ";
        124 sorting::insertionSort(arr3, 5);
        -
        125 assert(std::is_sorted(arr3, arr3 + 5));
        -
        126 std::cout << "passed" << std::endl;
        +
        125 assert(std::is_sorted(arr3, arr3 + 5));
        +
        126 std::cout << "passed" << std::endl;
        127
        -
        128 std::vector<float> arr4({5.6, -3.1, -3.0, -2.1, 1.8});
        -
        129 std::cout << "Test 4... ";
        +
        128 std::vector<float> arr4({5.6, -3.1, -3.0, -2.1, 1.8});
        +
        129 std::cout << "Test 4... ";
        -
        131 assert(std::is_sorted(std::begin(arr4), std::end(arr4)));
        -
        132 std::cout << "passed" << std::endl;
        +
        131 assert(std::is_sorted(std::begin(arr4), std::end(arr4)));
        +
        132 std::cout << "passed" << std::endl;
        133
        134 int arr5[50];
        -
        135 std::cout << "Test 5... ";
        +
        135 std::cout << "Test 5... ";
        136 create_random_array(arr5, 50);
        137 sorting::insertionSort(arr5, 50);
        -
        138 assert(std::is_sorted(arr5, arr5 + 50));
        -
        139 std::cout << "passed" << std::endl;
        +
        138 assert(std::is_sorted(arr5, arr5 + 50));
        +
        139 std::cout << "passed" << std::endl;
        140
        141 float arr6[50];
        -
        142 std::cout << "Test 6... ";
        +
        142 std::cout << "Test 6... ";
        143 create_random_array(arr6, 50);
        144 sorting::insertionSort(arr6, 50);
        -
        145 assert(std::is_sorted(arr6, arr6 + 50));
        -
        146 std::cout << "passed" << std::endl;
        +
        145 assert(std::is_sorted(arr6, arr6 + 50));
        +
        146 std::cout << "passed" << std::endl;
        147}
        -
        T begin(T... args)
        -
        T end(T... args)
        -
        static void create_random_array(T *arr, int N)
        Create a random array objecthelper function to create a random array.
        Definition insertion_sort.cpp:101
        -
        T is_sorted(T... args)
        - -
        -Here is the call graph for this function:
        -
        -
        -
        - +
        static void create_random_array(T *arr, int N)
        Create a random array objecthelper function to create a random array.
        +
        diff --git a/dd/d0d/insertion__sort_8cpp_a59914553f24088342c139645a02a8a49_cgraph.map b/dd/d0d/insertion__sort_8cpp_a59914553f24088342c139645a02a8a49_cgraph.map deleted file mode 100644 index b24186b4e..000000000 --- a/dd/d0d/insertion__sort_8cpp_a59914553f24088342c139645a02a8a49_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/dd/d0d/insertion__sort_8cpp_a59914553f24088342c139645a02a8a49_cgraph.md5 b/dd/d0d/insertion__sort_8cpp_a59914553f24088342c139645a02a8a49_cgraph.md5 deleted file mode 100644 index d9fa7ac34..000000000 --- a/dd/d0d/insertion__sort_8cpp_a59914553f24088342c139645a02a8a49_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -76565e22602573ce2de0ad3c26638d06 \ No newline at end of file diff --git a/dd/d0d/insertion__sort_8cpp_a59914553f24088342c139645a02a8a49_cgraph.svg b/dd/d0d/insertion__sort_8cpp_a59914553f24088342c139645a02a8a49_cgraph.svg deleted file mode 100644 index 7ef465701..000000000 --- a/dd/d0d/insertion__sort_8cpp_a59914553f24088342c139645a02a8a49_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -create_random_array - - -Node1 - - -create_random_array - - - - - -Node2 - - -std::rand - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/dd/d0d/insertion__sort_8cpp_a59914553f24088342c139645a02a8a49_cgraph_org.svg b/dd/d0d/insertion__sort_8cpp_a59914553f24088342c139645a02a8a49_cgraph_org.svg deleted file mode 100644 index db5c81379..000000000 --- a/dd/d0d/insertion__sort_8cpp_a59914553f24088342c139645a02a8a49_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -create_random_array - - -Node1 - - -create_random_array - - - - - -Node2 - - -std::rand - - - - - -Node1->Node2 - - - - - - - - diff --git a/dd/d0d/insertion__sort_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph.map b/dd/d0d/insertion__sort_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph.map deleted file mode 100644 index bcaa8b928..000000000 --- a/dd/d0d/insertion__sort_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph.map +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - - - - - diff --git a/dd/d0d/insertion__sort_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph.md5 b/dd/d0d/insertion__sort_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph.md5 deleted file mode 100644 index 5dcf8cee7..000000000 --- a/dd/d0d/insertion__sort_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -252984e0254e9e3c2290237fd35b7787 \ No newline at end of file diff --git a/dd/d0d/insertion__sort_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph.svg b/dd/d0d/insertion__sort_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph.svg deleted file mode 100644 index aa5c8a783..000000000 --- a/dd/d0d/insertion__sort_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph.svg +++ /dev/null @@ -1,173 +0,0 @@ - - - - - - - - - - - - -tests - - -Node1 - - -tests - - - - - -Node2 - - -std::begin - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -create_random_array - - - - - -Node1->Node3 - - - - - - - - -Node5 - - -std::end - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -std::endl - - - - - -Node1->Node6 - - - - - - - - -Node7 - - -sorting::insertionSort - - - - - -Node1->Node7 - - - - - - - - -Node8 - - -std::is_sorted - - - - - -Node1->Node8 - - - - - - - - -Node4 - - -std::rand - - - - - -Node3->Node4 - - - - - - - - - - - - - diff --git a/dd/d0d/insertion__sort_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph_org.svg b/dd/d0d/insertion__sort_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph_org.svg deleted file mode 100644 index d7ccaa899..000000000 --- a/dd/d0d/insertion__sort_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph_org.svg +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - -tests - - -Node1 - - -tests - - - - - -Node2 - - -std::begin - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -create_random_array - - - - - -Node1->Node3 - - - - - - - - -Node5 - - -std::end - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -std::endl - - - - - -Node1->Node6 - - - - - - - - -Node7 - - -sorting::insertionSort - - - - - -Node1->Node7 - - - - - - - - -Node8 - - -std::is_sorted - - - - - -Node1->Node8 - - - - - - - - -Node4 - - -std::rand - - - - - -Node3->Node4 - - - - - - - - diff --git a/dd/d0d/insertion__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/dd/d0d/insertion__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 9f694bf55..000000000 --- a/dd/d0d/insertion__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - diff --git a/dd/d0d/insertion__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/dd/d0d/insertion__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index 88a15befe..000000000 --- a/dd/d0d/insertion__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -b02fc14ea678a3ee818e69ac2c0ba031 \ No newline at end of file diff --git a/dd/d0d/insertion__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/dd/d0d/insertion__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 7cac6d3d6..000000000 --- a/dd/d0d/insertion__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,209 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -sorting::insertionSort - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -tests - - - - - -Node1->Node4 - - - - - - - - -Node4->Node2 - - - - - - - - -Node4->Node3 - - - - - - - - -Node5 - - -std::begin - - - - - -Node4->Node5 - - - - - - - - -Node6 - - -create_random_array - - - - - -Node4->Node6 - - - - - - - - -Node8 - - -std::end - - - - - -Node4->Node8 - - - - - - - - -Node9 - - -std::is_sorted - - - - - -Node4->Node9 - - - - - - - - -Node7 - - -std::rand - - - - - -Node6->Node7 - - - - - - - - - - - - - diff --git a/dd/d0d/insertion__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/dd/d0d/insertion__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 5d89f9d0d..000000000 --- a/dd/d0d/insertion__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,183 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -sorting::insertionSort - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -tests - - - - - -Node1->Node4 - - - - - - - - -Node4->Node2 - - - - - - - - -Node4->Node3 - - - - - - - - -Node5 - - -std::begin - - - - - -Node4->Node5 - - - - - - - - -Node6 - - -create_random_array - - - - - -Node4->Node6 - - - - - - - - -Node8 - - -std::end - - - - - -Node4->Node8 - - - - - - - - -Node9 - - -std::is_sorted - - - - - -Node4->Node9 - - - - - - - - -Node7 - - -std::rand - - - - - -Node6->Node7 - - - - - - - - diff --git a/dd/d0d/insertion__sort_8cpp_source.html b/dd/d0d/insertion__sort_8cpp_source.html new file mode 100644 index 000000000..2cd0087bd --- /dev/null +++ b/dd/d0d/insertion__sort_8cpp_source.html @@ -0,0 +1,265 @@ + + + + + + + + +TheAlgorithms/C++: sorting/insertion_sort.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
        +
        + + + + + + + +
        +
        TheAlgorithms/C++ 1.0.0 +
        +
        All the algorithms implemented in C++
        +
        +
        + + + + + + + + +
        +
        + +
        +
        +
        + +
        + +
        +
        + + +
        +
        +
        +
        +
        +
        Loading...
        +
        Searching...
        +
        No Matches
        +
        +
        +
        +
        + +
        +
        insertion_sort.cpp
        +
        +
        +Go to the documentation of this file.
        1
        +
        42#include <algorithm>
        +
        43#include <cassert>
        +
        44#include <iostream>
        +
        45#include <vector>
        +
        46
        +
        50namespace sorting {
        +
        58template <typename T>
        +
        +
        59void insertionSort(T *arr, int n) {
        +
        60 for (int i = 1; i < n; i++) {
        +
        61 T temp = arr[i];
        +
        62 int j = i - 1;
        +
        63 while (j >= 0 && temp < arr[j]) {
        +
        64 arr[j + 1] = arr[j];
        +
        65 j--;
        +
        66 }
        +
        67 arr[j + 1] = temp;
        +
        68 }
        +
        69}
        +
        +
        70
        +
        76template <typename T>
        +
        +
        77void insertionSort(std::vector<T> *arr) {
        +
        78 size_t n = arr->size();
        +
        79
        +
        80 for (size_t i = 1; i < n; i++) {
        +
        81 T temp = arr[0][i];
        +
        82 int32_t j = i - 1;
        +
        83 while (j >= 0 && temp < arr[0][j]) {
        +
        84 arr[0][j + 1] = arr[0][j];
        +
        85 j--;
        +
        86 }
        +
        87 arr[0][j + 1] = temp;
        +
        88 }
        +
        89}
        +
        +
        90
        +
        91} // namespace sorting
        +
        92
        +
        100template <typename T>
        +
        +
        101static void create_random_array(T *arr, int N) {
        +
        102 while (N--) {
        +
        103 double r = (std::rand() % 10000 - 5000) / 100.f;
        +
        104 arr[N] = static_cast<T>(r);
        +
        105 }
        +
        106}
        +
        +
        107
        +
        +
        109void tests() {
        +
        110 int arr1[10] = {78, 34, 35, 6, 34, 56, 3, 56, 2, 4};
        +
        111 std::cout << "Test 1... ";
        +
        112 sorting::insertionSort(arr1, 10);
        +
        113 assert(std::is_sorted(arr1, arr1 + 10));
        +
        114 std::cout << "passed" << std::endl;
        +
        115
        +
        116 int arr2[5] = {5, -3, 7, -2, 1};
        +
        117 std::cout << "Test 2... ";
        +
        118 sorting::insertionSort(arr2, 5);
        +
        119 assert(std::is_sorted(arr2, arr2 + 5));
        +
        120 std::cout << "passed" << std::endl;
        +
        121
        +
        122 float arr3[5] = {5.6, -3.1, -3.0, -2.1, 1.8};
        +
        123 std::cout << "Test 3... ";
        +
        124 sorting::insertionSort(arr3, 5);
        +
        125 assert(std::is_sorted(arr3, arr3 + 5));
        +
        126 std::cout << "passed" << std::endl;
        +
        127
        +
        128 std::vector<float> arr4({5.6, -3.1, -3.0, -2.1, 1.8});
        +
        129 std::cout << "Test 4... ";
        + +
        131 assert(std::is_sorted(std::begin(arr4), std::end(arr4)));
        +
        132 std::cout << "passed" << std::endl;
        +
        133
        +
        134 int arr5[50];
        +
        135 std::cout << "Test 5... ";
        +
        136 create_random_array(arr5, 50);
        +
        137 sorting::insertionSort(arr5, 50);
        +
        138 assert(std::is_sorted(arr5, arr5 + 50));
        +
        139 std::cout << "passed" << std::endl;
        +
        140
        +
        141 float arr6[50];
        +
        142 std::cout << "Test 6... ";
        +
        143 create_random_array(arr6, 50);
        +
        144 sorting::insertionSort(arr6, 50);
        +
        145 assert(std::is_sorted(arr6, arr6 + 50));
        +
        146 std::cout << "passed" << std::endl;
        +
        147}
        +
        +
        148
        +
        +
        150int main() {
        +
        152 tests();
        +
        153
        +
        155 size_t n;
        +
        156 std::cout << "Enter the length of your array (0 to exit): ";
        +
        157 std::cin >> n;
        +
        158 if (n == 0) {
        +
        159 return 0;
        +
        160 }
        +
        161
        +
        162 int *arr = new int[n];
        +
        163 std::cout << "Enter any " << n << " Numbers for Unsorted Array : ";
        +
        164
        +
        165 for (int i = 0; i < n; i++) {
        +
        166 std::cin >> arr[i];
        +
        167 }
        +
        168
        + +
        170
        +
        171 std::cout << "\nSorted Array : ";
        +
        172 for (int i = 0; i < n; i++) {
        +
        173 std::cout << arr[i] << " ";
        +
        174 }
        +
        175
        +
        176 std::cout << std::endl;
        +
        177 delete[] arr;
        +
        178 return 0;
        +
        179}
        +
        +
        static void create_random_array(T *arr, int N)
        Create a random array objecthelper function to create a random array.
        +
        void tests()
        +
        int main()
        +
        for working with vectors
        +
        void insertionSort(T *arr, int n)
        Insertion Sort Function.
        +
        +
        + + + + diff --git a/dd/d12/vigenere__cipher_8cpp.html b/dd/d12/vigenere__cipher_8cpp.html index 8abe586e5..25bb74170 100644 --- a/dd/d12/vigenere__cipher_8cpp.html +++ b/dd/d12/vigenere__cipher_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: ciphers/vigenere_cipher.cpp File Reference +TheAlgorithms/C++: ciphers/vigenere_cipher.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
        @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -121,7 +138,9 @@ Include dependency graph for vigenere_cipher.cpp:
        -
        -
        Algorithms_in_C++ 1.0.0 +
        TheAlgorithms/C++ 1.0.0
        -
        Set of algorithms implemented in C++.
        +
        All the algorithms implemented in C++
        + +

        Go to the source code of this file.

        +
        @@ -133,9 +152,9 @@ Namespaces

        Namespaces

        namespace  ciphers
        - + - + @@ -161,6 +180,8 @@ Algorithm
        This program implements Vigenère cipher for only uppercase English alphabet characters (i.e. A-Z).
        Author
        Deep Raval
        + +

        Definition in file vigenere_cipher.cpp.

        Function Documentation

        ◆ decrypt()

        @@ -169,14 +190,14 @@ This program implements Vigenère cipher for only uppercase English alphabet cha

        Functions

        std::string ciphers::vigenere::encrypt (const std::string &text, const std::string &key)
        std::string ciphers::vigenere::encrypt (const std::string &text, const std::string &key)
         
        std::string ciphers::vigenere::decrypt (const std::string &text, const std::string &key)
        std::string ciphers::vigenere::decrypt (const std::string &text, const std::string &key)
         
        void test ()
         
        - + - + - +
        std::string ciphers::vigenere::decrypt std::string ciphers::vigenere::decrypt (const std::string & text, const std::string & text,
        const std::string & key )const std::string & key )
        @@ -188,11 +209,13 @@ This program implements Vigenère cipher for only uppercase English alphabet cha
        Returns
        new decrypted text
        + +

        Definition at line 92 of file vigenere_cipher.cpp.

        92 {
        93 // Going through each character of text and key
        94 // Note that key is visited in circular way hence j = (j + 1) % |key|
        -
        95 std::string decrypted_text = ""; // Empty string to store decrypted text
        -
        96 for(size_t i = 0, j = 0; i < text.length(); i++, j = (j + 1) % key.length()) {
        +
        95 std::string decrypted_text = ""; // Empty string to store decrypted text
        +
        96 for(size_t i = 0, j = 0; i < text.length(); i++, j = (j + 1) % key.length()) {
        97 int place_value_text = get_value(text[i]); // Getting value of character in text
        98 int place_value_key = get_value(key[j]); // Getting value of character in key
        99 place_value_text = (place_value_text - place_value_key + 26) % 26; // Applying decryption
        @@ -201,15 +224,8 @@ This program implements Vigenère cipher for only uppercase English alphabet cha
        102 }
        103 return decrypted_text; // Returning decrypted text
        104 }
        - -
        char get_char(const std::string &input, std::size_t pos)
        Returns the character at pos after the input is padded.
        Definition sha256.cpp:170
        -
        T length(T... args)
        -
        -Here is the call graph for this function:
        -
        -
        -
        - +
        char get_char(const std::string &input, std::size_t pos)
        Returns the character at pos after the input is padded.
        Definition sha256.cpp:170
        +
        @@ -219,14 +235,14 @@ Here is the call graph for this function:
        - + - + - +
        std::string ciphers::vigenere::encrypt std::string ciphers::vigenere::encrypt (const std::string & text, const std::string & text,
        const std::string & key )const std::string & key )
        @@ -238,11 +254,13 @@ Here is the call graph for this function:
        Returns
        new encrypted text
        + +

        Definition at line 73 of file vigenere_cipher.cpp.

        73 {
        -
        74 std::string encrypted_text = ""; // Empty string to store encrypted text
        +
        74 std::string encrypted_text = ""; // Empty string to store encrypted text
        75 // Going through each character of text and key
        76 // Note that key is visited in circular way hence j = (j + 1) % |key|
        -
        77 for(size_t i = 0, j = 0; i < text.length(); i++, j = (j + 1) % key.length()) {
        +
        77 for(size_t i = 0, j = 0; i < text.length(); i++, j = (j + 1) % key.length()) {
        78 int place_value_text = get_value(text[i]); // Getting value of character in text
        79 int place_value_key = get_value(key[j]); // Getting value of character in key
        80 place_value_text = (place_value_text + place_value_key) % 26; // Applying encryption
        @@ -251,12 +269,7 @@ Here is the call graph for this function:
        83 }
        84 return encrypted_text; // Returning encrypted text
        85 }
        -
        -Here is the call graph for this function:
        -
        -
        -
        - + @@ -274,18 +287,15 @@ Here is the call graph for this function:

        Driver Code

        + +

        Definition at line 131 of file vigenere_cipher.cpp.

        131 {
        132 // Testing
        133 test();
        134 return 0;
        135}
        -
        void test()
        Definition vigenere_cipher.cpp:111
        -
        -Here is the call graph for this function:
        -
        -
        -
        - +
        void test()
        +
        @@ -303,34 +313,29 @@ Here is the call graph for this function:

        Function to test above algorithm

        + +

        Definition at line 111 of file vigenere_cipher.cpp.

        111 {
        112 // Test 1
        -
        113 std::string text1 = "NIKOLATESLA";
        -
        114 std::string encrypted1 = ciphers::vigenere::encrypt(text1, "TESLA");
        -
        115 std::string decrypted1 = ciphers::vigenere::decrypt(encrypted1, "TESLA");
        +
        113 std::string text1 = "NIKOLATESLA";
        +
        114 std::string encrypted1 = ciphers::vigenere::encrypt(text1, "TESLA");
        +
        115 std::string decrypted1 = ciphers::vigenere::decrypt(encrypted1, "TESLA");
        116 assert(text1 == decrypted1);
        -
        117 std::cout << "Original text : " << text1;
        -
        118 std::cout << " , Encrypted text (with key = TESLA) : " << encrypted1;
        -
        119 std::cout << " , Decrypted text : "<< decrypted1 << std::endl;
        +
        117 std::cout << "Original text : " << text1;
        +
        118 std::cout << " , Encrypted text (with key = TESLA) : " << encrypted1;
        +
        119 std::cout << " , Decrypted text : "<< decrypted1 << std::endl;
        120 // Test 2
        -
        121 std::string text2 = "GOOGLEIT";
        -
        122 std::string encrypted2 = ciphers::vigenere::encrypt(text2, "REALLY");
        -
        123 std::string decrypted2 = ciphers::vigenere::decrypt(encrypted2, "REALLY");
        +
        121 std::string text2 = "GOOGLEIT";
        +
        122 std::string encrypted2 = ciphers::vigenere::encrypt(text2, "REALLY");
        +
        123 std::string decrypted2 = ciphers::vigenere::decrypt(encrypted2, "REALLY");
        124 assert(text2 == decrypted2);
        -
        125 std::cout << "Original text : " << text2;
        -
        126 std::cout << " , Encrypted text (with key = REALLY) : " << encrypted2;
        -
        127 std::cout << " , Decrypted text : "<< decrypted2 << std::endl;
        +
        125 std::cout << "Original text : " << text2;
        +
        126 std::cout << " , Encrypted text (with key = REALLY) : " << encrypted2;
        +
        127 std::cout << " , Decrypted text : "<< decrypted2 << std::endl;
        128}
        - -
        T endl(T... args)
        -
        std::string decrypt(const std::string &text, const std::string &key)
        Definition vigenere_cipher.cpp:92
        -
        std::string encrypt(const std::string &text, const std::string &key)
        Definition vigenere_cipher.cpp:73
        -
        -Here is the call graph for this function:
        -
        -
        -
        - +
        std::string decrypt(const std::string &text, const std::string &key)
        +
        std::string encrypt(const std::string &text, const std::string &key)
        +
        diff --git a/dd/d12/vigenere__cipher_8cpp_a3cfc3f9b20a0f230a2fcefd31dc6848e_cgraph.map b/dd/d12/vigenere__cipher_8cpp_a3cfc3f9b20a0f230a2fcefd31dc6848e_cgraph.map deleted file mode 100644 index 0a896b64c..000000000 --- a/dd/d12/vigenere__cipher_8cpp_a3cfc3f9b20a0f230a2fcefd31dc6848e_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/dd/d12/vigenere__cipher_8cpp_a3cfc3f9b20a0f230a2fcefd31dc6848e_cgraph.md5 b/dd/d12/vigenere__cipher_8cpp_a3cfc3f9b20a0f230a2fcefd31dc6848e_cgraph.md5 deleted file mode 100644 index 9baceb1a2..000000000 --- a/dd/d12/vigenere__cipher_8cpp_a3cfc3f9b20a0f230a2fcefd31dc6848e_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -a2deeff134f53dcac3a781678dc55888 \ No newline at end of file diff --git a/dd/d12/vigenere__cipher_8cpp_a3cfc3f9b20a0f230a2fcefd31dc6848e_cgraph.svg b/dd/d12/vigenere__cipher_8cpp_a3cfc3f9b20a0f230a2fcefd31dc6848e_cgraph.svg deleted file mode 100644 index 735d731bc..000000000 --- a/dd/d12/vigenere__cipher_8cpp_a3cfc3f9b20a0f230a2fcefd31dc6848e_cgraph.svg +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - - - - - - - -ciphers::vigenere::decrypt - - -Node1 - - -ciphers::vigenere:: -decrypt - - - - - -Node2 - - -std::string::length - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/dd/d12/vigenere__cipher_8cpp_a3cfc3f9b20a0f230a2fcefd31dc6848e_cgraph_org.svg b/dd/d12/vigenere__cipher_8cpp_a3cfc3f9b20a0f230a2fcefd31dc6848e_cgraph_org.svg deleted file mode 100644 index 0c09c4345..000000000 --- a/dd/d12/vigenere__cipher_8cpp_a3cfc3f9b20a0f230a2fcefd31dc6848e_cgraph_org.svg +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - -ciphers::vigenere::decrypt - - -Node1 - - -ciphers::vigenere:: -decrypt - - - - - -Node2 - - -std::string::length - - - - - -Node1->Node2 - - - - - - - - diff --git a/dd/d12/vigenere__cipher_8cpp_a6bd3880ea6820c232c1eddf47553c257_cgraph.map b/dd/d12/vigenere__cipher_8cpp_a6bd3880ea6820c232c1eddf47553c257_cgraph.map deleted file mode 100644 index 1b1ca4670..000000000 --- a/dd/d12/vigenere__cipher_8cpp_a6bd3880ea6820c232c1eddf47553c257_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/dd/d12/vigenere__cipher_8cpp_a6bd3880ea6820c232c1eddf47553c257_cgraph.md5 b/dd/d12/vigenere__cipher_8cpp_a6bd3880ea6820c232c1eddf47553c257_cgraph.md5 deleted file mode 100644 index fb2c37f42..000000000 --- a/dd/d12/vigenere__cipher_8cpp_a6bd3880ea6820c232c1eddf47553c257_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -20f2de320edf52399a68d29c18c43fb5 \ No newline at end of file diff --git a/dd/d12/vigenere__cipher_8cpp_a6bd3880ea6820c232c1eddf47553c257_cgraph.svg b/dd/d12/vigenere__cipher_8cpp_a6bd3880ea6820c232c1eddf47553c257_cgraph.svg deleted file mode 100644 index b64c5faf6..000000000 --- a/dd/d12/vigenere__cipher_8cpp_a6bd3880ea6820c232c1eddf47553c257_cgraph.svg +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - - - - - - - -ciphers::vigenere::encrypt - - -Node1 - - -ciphers::vigenere:: -encrypt - - - - - -Node2 - - -std::string::length - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/dd/d12/vigenere__cipher_8cpp_a6bd3880ea6820c232c1eddf47553c257_cgraph_org.svg b/dd/d12/vigenere__cipher_8cpp_a6bd3880ea6820c232c1eddf47553c257_cgraph_org.svg deleted file mode 100644 index 72c7b9fef..000000000 --- a/dd/d12/vigenere__cipher_8cpp_a6bd3880ea6820c232c1eddf47553c257_cgraph_org.svg +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - -ciphers::vigenere::encrypt - - -Node1 - - -ciphers::vigenere:: -encrypt - - - - - -Node2 - - -std::string::length - - - - - -Node1->Node2 - - - - - - - - diff --git a/dd/d12/vigenere__cipher_8cpp_ae1a3968e7947464bee7714f6d43b7002_cgraph.map b/dd/d12/vigenere__cipher_8cpp_ae1a3968e7947464bee7714f6d43b7002_cgraph.map deleted file mode 100644 index ab849b4e9..000000000 --- a/dd/d12/vigenere__cipher_8cpp_ae1a3968e7947464bee7714f6d43b7002_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/dd/d12/vigenere__cipher_8cpp_ae1a3968e7947464bee7714f6d43b7002_cgraph.md5 b/dd/d12/vigenere__cipher_8cpp_ae1a3968e7947464bee7714f6d43b7002_cgraph.md5 deleted file mode 100644 index 027bb45f5..000000000 --- a/dd/d12/vigenere__cipher_8cpp_ae1a3968e7947464bee7714f6d43b7002_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -a1d13d80069df469bd6cb7baa71c0ea1 \ No newline at end of file diff --git a/dd/d12/vigenere__cipher_8cpp_ae1a3968e7947464bee7714f6d43b7002_cgraph.svg b/dd/d12/vigenere__cipher_8cpp_ae1a3968e7947464bee7714f6d43b7002_cgraph.svg deleted file mode 100644 index 74b7e7dc5..000000000 --- a/dd/d12/vigenere__cipher_8cpp_ae1a3968e7947464bee7714f6d43b7002_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/dd/d12/vigenere__cipher_8cpp_ae1a3968e7947464bee7714f6d43b7002_cgraph_org.svg b/dd/d12/vigenere__cipher_8cpp_ae1a3968e7947464bee7714f6d43b7002_cgraph_org.svg deleted file mode 100644 index b7b979de9..000000000 --- a/dd/d12/vigenere__cipher_8cpp_ae1a3968e7947464bee7714f6d43b7002_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - diff --git a/dd/d12/vigenere__cipher_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/dd/d12/vigenere__cipher_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 24e5814bf..000000000 --- a/dd/d12/vigenere__cipher_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/dd/d12/vigenere__cipher_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/dd/d12/vigenere__cipher_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index e401ef9a3..000000000 --- a/dd/d12/vigenere__cipher_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -848b060ceaf6a5919a9f3aafe969c3c2 \ No newline at end of file diff --git a/dd/d12/vigenere__cipher_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/dd/d12/vigenere__cipher_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 0760b6b51..000000000 --- a/dd/d12/vigenere__cipher_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node2->Node3 - - - - - - - - - - - - - diff --git a/dd/d12/vigenere__cipher_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/dd/d12/vigenere__cipher_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index a80dea578..000000000 --- a/dd/d12/vigenere__cipher_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node2->Node3 - - - - - - - - diff --git a/dd/d12/vigenere__cipher_8cpp_source.html b/dd/d12/vigenere__cipher_8cpp_source.html new file mode 100644 index 000000000..14996d7a3 --- /dev/null +++ b/dd/d12/vigenere__cipher_8cpp_source.html @@ -0,0 +1,222 @@ + + + + + + + + +TheAlgorithms/C++: ciphers/vigenere_cipher.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
        +
        + + + + + + + +
        +
        TheAlgorithms/C++ 1.0.0 +
        +
        All the algorithms implemented in C++
        +
        +
        + + + + + + + + +
        +
        + +
        +
        +
        + +
        + +
        +
        + + +
        +
        +
        +
        +
        +
        Loading...
        +
        Searching...
        +
        No Matches
        +
        +
        +
        +
        + +
        +
        vigenere_cipher.cpp
        +
        +
        +Go to the documentation of this file.
        1
        +
        33#include <iostream>
        +
        34#include <string>
        +
        35#include <cassert>
        +
        36
        +
        40namespace ciphers {
        +
        44 namespace vigenere {
        +
        45 namespace {
        +
        51 inline char get_char(const int x) {
        +
        52 // By adding 65 we are scaling 0-25 to 65-90.
        +
        53 // Which are in fact ASCII values of A-Z.
        +
        54 return char(x + 65);
        +
        55 }
        +
        61 inline int get_value(const char c) {
        +
        62 // A-Z have ASCII values in range 65-90.
        +
        63 // Hence subtracting 65 will scale them to 0-25.
        +
        64 return int(c - 65);
        +
        65 }
        +
        66 } // Unnamed namespace
        +
        +
        73 std::string encrypt (const std::string &text, const std::string &key) {
        +
        74 std::string encrypted_text = ""; // Empty string to store encrypted text
        +
        75 // Going through each character of text and key
        +
        76 // Note that key is visited in circular way hence j = (j + 1) % |key|
        +
        77 for(size_t i = 0, j = 0; i < text.length(); i++, j = (j + 1) % key.length()) {
        +
        78 int place_value_text = get_value(text[i]); // Getting value of character in text
        +
        79 int place_value_key = get_value(key[j]); // Getting value of character in key
        +
        80 place_value_text = (place_value_text + place_value_key) % 26; // Applying encryption
        +
        81 char encrypted_char = get_char(place_value_text); // Getting new character from encrypted value
        +
        82 encrypted_text += encrypted_char; // Appending encrypted character
        +
        83 }
        +
        84 return encrypted_text; // Returning encrypted text
        +
        85 }
        +
        +
        +
        92 std::string decrypt (const std::string &text, const std::string &key) {
        +
        93 // Going through each character of text and key
        +
        94 // Note that key is visited in circular way hence j = (j + 1) % |key|
        +
        95 std::string decrypted_text = ""; // Empty string to store decrypted text
        +
        96 for(size_t i = 0, j = 0; i < text.length(); i++, j = (j + 1) % key.length()) {
        +
        97 int place_value_text = get_value(text[i]); // Getting value of character in text
        +
        98 int place_value_key = get_value(key[j]); // Getting value of character in key
        +
        99 place_value_text = (place_value_text - place_value_key + 26) % 26; // Applying decryption
        +
        100 char decrypted_char = get_char(place_value_text); // Getting new character from decrypted value
        +
        101 decrypted_text += decrypted_char; // Appending decrypted character
        +
        102 }
        +
        103 return decrypted_text; // Returning decrypted text
        +
        104 }
        +
        +
        105 } // namespace vigenere
        +
        106} // namespace ciphers
        +
        107
        +
        +
        111void test() {
        +
        112 // Test 1
        +
        113 std::string text1 = "NIKOLATESLA";
        +
        114 std::string encrypted1 = ciphers::vigenere::encrypt(text1, "TESLA");
        +
        115 std::string decrypted1 = ciphers::vigenere::decrypt(encrypted1, "TESLA");
        +
        116 assert(text1 == decrypted1);
        +
        117 std::cout << "Original text : " << text1;
        +
        118 std::cout << " , Encrypted text (with key = TESLA) : " << encrypted1;
        +
        119 std::cout << " , Decrypted text : "<< decrypted1 << std::endl;
        +
        120 // Test 2
        +
        121 std::string text2 = "GOOGLEIT";
        +
        122 std::string encrypted2 = ciphers::vigenere::encrypt(text2, "REALLY");
        +
        123 std::string decrypted2 = ciphers::vigenere::decrypt(encrypted2, "REALLY");
        +
        124 assert(text2 == decrypted2);
        +
        125 std::cout << "Original text : " << text2;
        +
        126 std::cout << " , Encrypted text (with key = REALLY) : " << encrypted2;
        +
        127 std::cout << " , Decrypted text : "<< decrypted2 << std::endl;
        +
        128}
        +
        +
        129
        +
        +
        131int main() {
        +
        132 // Testing
        +
        133 test();
        +
        134 return 0;
        +
        135}
        +
        +
        Algorithms for encryption and decryption.
        +
        Functions for vigenère cipher algorithm.
        +
        char get_char(const std::string &input, std::size_t pos)
        Returns the character at pos after the input is padded.
        Definition sha256.cpp:170
        +
        void test()
        +
        int main()
        +
        +
        + + + + diff --git a/dd/d1b/structquery.html b/dd/d1b/structquery.html index 6d8439752..e6509cfc0 100644 --- a/dd/d1b/structquery.html +++ b/dd/d1b/structquery.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: query Struct Reference +TheAlgorithms/C++: query Struct Reference + + + @@ -18,14 +24,24 @@ - - + +
        @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -113,18 +130,67 @@ $(function(){initNavTree('dd/d1b/structquery.html','../../'); initResizable(true
        -
        Algorithms_in_C++ 1.0.0 +
        TheAlgorithms/C++ 1.0.0
        -
        Set of algorithms implemented in C++.
        +
        All the algorithms implemented in C++
        - + - + - +

        Public Attributes

        -int l
        int l
         
        -int r
        int r
         
        -int i
        int i
         
        +

        Detailed Description

        +
        +

        Definition at line 9 of file mo.cpp.

        +

        Member Data Documentation

        + +

        ◆ i

        + +
        +
        + + + + +
        int query::i
        +
        + +

        Definition at line 10 of file mo.cpp.

        + +
        +
        + +

        ◆ l

        + +
        +
        + + + + +
        int query::l
        +
        + +

        Definition at line 10 of file mo.cpp.

        + +
        +
        + +

        ◆ r

        + +
        +
        + + + + +
        int query::r
        +
        + +

        Definition at line 10 of file mo.cpp.

        + +
        +

        The documentation for this struct was generated from the following file:
          -
        • range_queries/mo.cpp
        • +
        • range_queries/mo.cpp
        diff --git a/dd/d1c/classhash__chain.html b/dd/d1c/classhash__chain.html index dca0bbcdd..bdd2f9764 100644 --- a/dd/d1c/classhash__chain.html +++ b/dd/d1c/classhash__chain.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: hash_chain Class Reference +TheAlgorithms/C++: hash_chain Class Reference + + + @@ -18,14 +24,24 @@ - - + +
        @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -147,17 +164,17 @@ Private Types
        -
        Algorithms_in_C++ 1.0.0 +
        TheAlgorithms/C++ 1.0.0
        -
        Set of algorithms implemented in C++.
        +
        All the algorithms implemented in C++
        - - + + - - + +

        Private Attributes

        -std::vector< std::shared_ptr< Node > > head
         array of nodes
        std::vector< std::shared_ptr< Node > > head
         array of nodes
         
        -int _mod
         modulus of the class
        int _mod
         modulus of the class
         

        Detailed Description

        Chain class with a given modulus.

        + +

        Definition at line 16 of file chaining.cpp.

        Member Typedef Documentation

        ◆ Node

        @@ -180,18 +197,18 @@ int _mod
        Initial value:
        struct Node {
        int data{};
        - +
        std::shared_ptr<struct Node> next;
        }
        -
        int data[MAX]
        test data
        Definition hash_search.cpp:24
        - -
        Definition linkedlist_implentation_usingarray.cpp:14
        +
        int data[MAX]
        test data
        +

        Define a linked node.

        + +

        Definition at line 21 of file chaining.cpp.

        21 {
        -
        22 int data{}; ///< data stored in the node
        -
        23 std::shared_ptr<struct Node> next; ///< pointer to the next node
        +
        22 int data{};
        +
        23 std::shared_ptr<struct Node> next;
        24 };
        -
        T next(T... args)
        @@ -226,18 +243,14 @@ int _mod -
        35 : _mod(mod) {
        -
        36 while (mod--) head.push_back(nullptr);
        -
        37 }
        -
        std::vector< std::shared_ptr< Node > > head
        array of nodes
        Definition chaining.cpp:26
        -
        int _mod
        modulus of the class
        Definition chaining.cpp:27
        -
        T push_back(T... args)
        -
        -Here is the call graph for this function:
        -
        -
        -
        +

        Definition at line 35 of file chaining.cpp.

        +
        35 : _mod(mod) {
        +
        36 while (mod--) head.push_back(nullptr);
        +
        37 }
        +
        std::vector< std::shared_ptr< Node > > head
        array of nodes
        Definition chaining.cpp:26
        +
        int _mod
        modulus of the class
        Definition chaining.cpp:27
        +

        Member Function Documentation

        @@ -276,9 +289,11 @@ Here is the call graph for this function: + +

        Definition at line 45 of file chaining.cpp.

        45 {
        - - +
        46 std::shared_ptr<Node> curr;
        +
        47 std::shared_ptr<Node> temp(new Node);
        48 temp->data = x;
        49 temp->next = nullptr;
        50 if (!head[h]) {
        @@ -290,13 +305,8 @@ Here is the call graph for this function:
        56 curr->next = temp;
        57 }
        58 }
        -
        int h(int key)
        Definition hash_search.cpp:45
        -
        -Here is the call graph for this function:
        -
        -
        -
        - +
        int h(int key)
        + @@ -323,32 +333,27 @@ Here is the call graph for this function:

        Display the chain.

        + +

        Definition at line 63 of file chaining.cpp.

        63 {
        -
        64 std::shared_ptr<Node> temp = nullptr;
        +
        64 std::shared_ptr<Node> temp = nullptr;
        65 int i = 0;
        66 for (i = 0; i < _mod; i++) {
        67 if (!head[i]) {
        -
        68 std::cout << "Key " << i << " is empty" << std::endl;
        +
        68 std::cout << "Key " << i << " is empty" << std::endl;
        69 } else {
        -
        70 std::cout << "Key " << i << " has values = " << std::endl;
        +
        70 std::cout << "Key " << i << " has values = " << std::endl;
        71 temp = head[i];
        72 while (temp->next) {
        -
        73 std::cout << temp->data << " " << std::endl;
        +
        73 std::cout << temp->data << " " << std::endl;
        74 temp = temp->next;
        75 }
        -
        76 std::cout << temp->data;
        - +
        76 std::cout << temp->data;
        +
        77 std::cout << std::endl;
        78 }
        79 }
        80 }
        - -
        T endl(T... args)
        -
        -Here is the call graph for this function:
        -
        -
        -
        - +
        @@ -389,11 +394,13 @@ Here is the call graph for this function:
        Returns
        true if element found
        false if element not found
        + +

        Definition at line 101 of file chaining.cpp.

        101 {
        - +
        102 std::shared_ptr<Node> temp = head[h];
        103 if (!head[h]) {
        104 // index does not exist!
        -
        105 std::cout << "Element not found" << std::endl;
        +
        105 std::cout << "Element not found" << std::endl;
        106 return false;
        107 }
        108
        @@ -401,27 +408,22 @@ Here is the call graph for this function:
        110 while (temp->data != x && temp->next) temp = temp->next;
        111
        112 if (temp->next) {
        -
        113 std::cout << "Element found" << std::endl;
        +
        113 std::cout << "Element found" << std::endl;
        114 return true;
        115 }
        116
        117 // implicit else condition
        118 // i.e., temp->next == nullptr
        119 if (temp->data == x) {
        -
        120 std::cout << "Element found" << std::endl;
        +
        120 std::cout << "Element found" << std::endl;
        121 return true;
        122 }
        123
        124 // further implicit else condition
        -
        125 std::cout << "Element not found" << std::endl;
        +
        125 std::cout << "Element not found" << std::endl;
        126 return false;
        127 }
        -
        -Here is the call graph for this function:
        -
        -
        -
        - + @@ -456,12 +458,67 @@ Here is the call graph for this function:
        Returns
        modulus of x
        Note
        declared as a virtual so that custom implementations of the class can modify the hash function.
        + +

        Definition at line 91 of file chaining.cpp.

        91{ return x % _mod; }
        + + +

        Member Data Documentation

        + +

        ◆ _mod

        + +
        +
        + + + + + +
        + + + + +
        int hash_chain::_mod
        +
        +private
        +
        + +

        modulus of the class

        + +

        Definition at line 27 of file chaining.cpp.

        + +
        +
        + +

        ◆ head

        + +
        +
        + + + + + +
        + + + + +
        std::vector<std::shared_ptr<Node> > hash_chain::head
        +
        +private
        +
        + +

        array of nodes

        + +

        Definition at line 26 of file chaining.cpp.

        +

        The documentation for this class was generated from the following file: diff --git a/dd/d1c/classhash__chain_a55aa5c6753cb8853152d469c375d946a_cgraph.map b/dd/d1c/classhash__chain_a55aa5c6753cb8853152d469c375d946a_cgraph.map deleted file mode 100644 index 71f830ad0..000000000 --- a/dd/d1c/classhash__chain_a55aa5c6753cb8853152d469c375d946a_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/dd/d1c/classhash__chain_a55aa5c6753cb8853152d469c375d946a_cgraph.md5 b/dd/d1c/classhash__chain_a55aa5c6753cb8853152d469c375d946a_cgraph.md5 deleted file mode 100644 index e83b49afd..000000000 --- a/dd/d1c/classhash__chain_a55aa5c6753cb8853152d469c375d946a_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -6c653cf80702cfefbcf7a9cce3cdd9ad \ No newline at end of file diff --git a/dd/d1c/classhash__chain_a55aa5c6753cb8853152d469c375d946a_cgraph.svg b/dd/d1c/classhash__chain_a55aa5c6753cb8853152d469c375d946a_cgraph.svg deleted file mode 100644 index 8f3df0d9d..000000000 --- a/dd/d1c/classhash__chain_a55aa5c6753cb8853152d469c375d946a_cgraph.svg +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - -hash_chain::find - - -Node1 - - -hash_chain::find - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -h - - - - - -Node1->Node3 - - - - - - - - - - - - - diff --git a/dd/d1c/classhash__chain_a55aa5c6753cb8853152d469c375d946a_cgraph_org.svg b/dd/d1c/classhash__chain_a55aa5c6753cb8853152d469c375d946a_cgraph_org.svg deleted file mode 100644 index 9c93146bd..000000000 --- a/dd/d1c/classhash__chain_a55aa5c6753cb8853152d469c375d946a_cgraph_org.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - -hash_chain::find - - -Node1 - - -hash_chain::find - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -h - - - - - -Node1->Node3 - - - - - - - - diff --git a/dd/d1c/classhash__chain_a6b4b4de1a8c96f98a63a77f650a9dcff_cgraph.map b/dd/d1c/classhash__chain_a6b4b4de1a8c96f98a63a77f650a9dcff_cgraph.map deleted file mode 100644 index 2311ce82b..000000000 --- a/dd/d1c/classhash__chain_a6b4b4de1a8c96f98a63a77f650a9dcff_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/dd/d1c/classhash__chain_a6b4b4de1a8c96f98a63a77f650a9dcff_cgraph.md5 b/dd/d1c/classhash__chain_a6b4b4de1a8c96f98a63a77f650a9dcff_cgraph.md5 deleted file mode 100644 index 20b46f66d..000000000 --- a/dd/d1c/classhash__chain_a6b4b4de1a8c96f98a63a77f650a9dcff_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -b39816d75a314789f7fb4571a8185008 \ No newline at end of file diff --git a/dd/d1c/classhash__chain_a6b4b4de1a8c96f98a63a77f650a9dcff_cgraph.svg b/dd/d1c/classhash__chain_a6b4b4de1a8c96f98a63a77f650a9dcff_cgraph.svg deleted file mode 100644 index 37a7c5a71..000000000 --- a/dd/d1c/classhash__chain_a6b4b4de1a8c96f98a63a77f650a9dcff_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -hash_chain::add - - -Node1 - - -hash_chain::add - - - - - -Node2 - - -h - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/dd/d1c/classhash__chain_a6b4b4de1a8c96f98a63a77f650a9dcff_cgraph_org.svg b/dd/d1c/classhash__chain_a6b4b4de1a8c96f98a63a77f650a9dcff_cgraph_org.svg deleted file mode 100644 index c516af5db..000000000 --- a/dd/d1c/classhash__chain_a6b4b4de1a8c96f98a63a77f650a9dcff_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -hash_chain::add - - -Node1 - - -hash_chain::add - - - - - -Node2 - - -h - - - - - -Node1->Node2 - - - - - - - - diff --git a/dd/d1c/classhash__chain_a706964ad13587fc9a8b3fe8381d410ed_cgraph.map b/dd/d1c/classhash__chain_a706964ad13587fc9a8b3fe8381d410ed_cgraph.map deleted file mode 100644 index 44cfce58b..000000000 --- a/dd/d1c/classhash__chain_a706964ad13587fc9a8b3fe8381d410ed_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/dd/d1c/classhash__chain_a706964ad13587fc9a8b3fe8381d410ed_cgraph.md5 b/dd/d1c/classhash__chain_a706964ad13587fc9a8b3fe8381d410ed_cgraph.md5 deleted file mode 100644 index 7bcb90769..000000000 --- a/dd/d1c/classhash__chain_a706964ad13587fc9a8b3fe8381d410ed_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -c0155828a315f36ceffe66a9b86a1e71 \ No newline at end of file diff --git a/dd/d1c/classhash__chain_a706964ad13587fc9a8b3fe8381d410ed_cgraph.svg b/dd/d1c/classhash__chain_a706964ad13587fc9a8b3fe8381d410ed_cgraph.svg deleted file mode 100644 index 1c19a724a..000000000 --- a/dd/d1c/classhash__chain_a706964ad13587fc9a8b3fe8381d410ed_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -hash_chain::display - - -Node1 - - -hash_chain::display - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/dd/d1c/classhash__chain_a706964ad13587fc9a8b3fe8381d410ed_cgraph_org.svg b/dd/d1c/classhash__chain_a706964ad13587fc9a8b3fe8381d410ed_cgraph_org.svg deleted file mode 100644 index a8dbf5700..000000000 --- a/dd/d1c/classhash__chain_a706964ad13587fc9a8b3fe8381d410ed_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -hash_chain::display - - -Node1 - - -hash_chain::display - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - diff --git a/dd/d1c/classhash__chain_a80c8b902a15b4fd062ed727ecf8f3595_cgraph.map b/dd/d1c/classhash__chain_a80c8b902a15b4fd062ed727ecf8f3595_cgraph.map deleted file mode 100644 index 47a50c260..000000000 --- a/dd/d1c/classhash__chain_a80c8b902a15b4fd062ed727ecf8f3595_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/dd/d1c/classhash__chain_a80c8b902a15b4fd062ed727ecf8f3595_cgraph.md5 b/dd/d1c/classhash__chain_a80c8b902a15b4fd062ed727ecf8f3595_cgraph.md5 deleted file mode 100644 index a0c34fdea..000000000 --- a/dd/d1c/classhash__chain_a80c8b902a15b4fd062ed727ecf8f3595_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -05cd548697a684428f5285d292ad3503 \ No newline at end of file diff --git a/dd/d1c/classhash__chain_a80c8b902a15b4fd062ed727ecf8f3595_cgraph.svg b/dd/d1c/classhash__chain_a80c8b902a15b4fd062ed727ecf8f3595_cgraph.svg deleted file mode 100644 index 6cca1455f..000000000 --- a/dd/d1c/classhash__chain_a80c8b902a15b4fd062ed727ecf8f3595_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -hash_chain::hash_chain - - -Node1 - - -hash_chain::hash_chain - - - - - -Node2 - - -std::vector::push_back - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/dd/d1c/classhash__chain_a80c8b902a15b4fd062ed727ecf8f3595_cgraph_org.svg b/dd/d1c/classhash__chain_a80c8b902a15b4fd062ed727ecf8f3595_cgraph_org.svg deleted file mode 100644 index d10c6bdaa..000000000 --- a/dd/d1c/classhash__chain_a80c8b902a15b4fd062ed727ecf8f3595_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -hash_chain::hash_chain - - -Node1 - - -hash_chain::hash_chain - - - - - -Node2 - - -std::vector::push_back - - - - - -Node1->Node2 - - - - - - - - diff --git a/dd/d1e/generate__parentheses_8cpp.html b/dd/d1e/generate__parentheses_8cpp.html index 2499d08df..22a6db25d 100644 --- a/dd/d1e/generate__parentheses_8cpp.html +++ b/dd/d1e/generate__parentheses_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: backtracking/generate_parentheses.cpp File Reference +TheAlgorithms/C++: backtracking/generate_parentheses.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
        @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -122,7 +139,9 @@ Include dependency graph for generate_parentheses.cpp:
        -
        -
        Algorithms_in_C++ 1.0.0 +
        TheAlgorithms/C++ 1.0.0
        -
        Set of algorithms implemented in C++.
        +
        All the algorithms implemented in C++
        + +

        Go to the source code of this file.

        +
        @@ -148,6 +167,8 @@ Functions

        Well-formed Generated Parentheses with all combinations.

        a sequence of parentheses is well-formed if each opening parentheses has a corresponding closing parenthesis and the closing parentheses are correctly ordered

        Author
        Giuseppe Coco
        + +

        Definition in file generate_parentheses.cpp.

        Function Documentation

        ◆ main()

        @@ -167,19 +188,16 @@ Functions

        Main function.

        Returns
        0 on exit

        Driver Code

        -
        Examples
        /Users/runner/work/C-Plus-Plus/C-Plus-Plus/math/iterative_factorial.cpp, /Users/runner/work/C-Plus-Plus/C-Plus-Plus/math/quadratic_equations_complex_numbers.cpp, /Users/runner/work/C-Plus-Plus/C-Plus-Plus/numerical_methods/rungekutta.cpp, and /Users/runner/work/C-Plus-Plus/C-Plus-Plus/sorting/wiggle_sort.cpp.
        +
        Examples
        /Users/runner/work/C-Plus-Plus/C-Plus-Plus/math/iterative_factorial.cpp, /Users/runner/work/C-Plus-Plus/C-Plus-Plus/math/quadratic_equations_complex_numbers.cpp, /Users/runner/work/C-Plus-Plus/C-Plus-Plus/numerical_methods/rungekutta.cpp, and /Users/runner/work/C-Plus-Plus/C-Plus-Plus/sorting/wiggle_sort.cpp.
        + +

        Definition at line 110 of file generate_parentheses.cpp.

        110 {
        111 test(); // run self-test implementations
        112 return 0;
        113}
        -
        static void test()
        Self-test implementations.
        Definition generate_parentheses.cpp:82
        -
        -Here is the call graph for this function:
        -
        -
        -
        - +
        static void test()
        Self-test implementations.
        + @@ -207,11 +225,13 @@ Here is the call graph for this function:

        Self-test implementations.

        Returns
        void
        -
        Examples
        /Users/runner/work/C-Plus-Plus/C-Plus-Plus/math/iterative_factorial.cpp, /Users/runner/work/C-Plus-Plus/C-Plus-Plus/math/quadratic_equations_complex_numbers.cpp, /Users/runner/work/C-Plus-Plus/C-Plus-Plus/numerical_methods/rungekutta.cpp, and /Users/runner/work/C-Plus-Plus/C-Plus-Plus/sorting/wiggle_sort.cpp.
        +
        Examples
        /Users/runner/work/C-Plus-Plus/C-Plus-Plus/math/iterative_factorial.cpp, /Users/runner/work/C-Plus-Plus/C-Plus-Plus/math/quadratic_equations_complex_numbers.cpp, /Users/runner/work/C-Plus-Plus/C-Plus-Plus/numerical_methods/rungekutta.cpp, and /Users/runner/work/C-Plus-Plus/C-Plus-Plus/sorting/wiggle_sort.cpp.
        + +

        Definition at line 82 of file generate_parentheses.cpp.

        82 {
        83 int n = 0;
        - +
        84 std::vector<std::string> patterns;
        86
        87 n = 1;
        @@ -230,18 +250,11 @@ Here is the call graph for this function:
        100 {"((()()))"}, {"(((())))"}};
        101 assert(p.generate(n) == patterns);
        102
        -
        103 std::cout << "All tests passed\n";
        +
        103 std::cout << "All tests passed\n";
        104}
        - -
        generate_parentheses class
        Definition generate_parentheses.cpp:26
        -
        std::vector< std::string > generate(int n)
        wrapper interface
        Definition generate_parentheses.cpp:70
        - -
        -Here is the call graph for this function:
        -
        -
        -
        - + +
        std::vector< std::string > generate(int n)
        wrapper interface
        + diff --git a/dd/d1e/generate__parentheses_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map b/dd/d1e/generate__parentheses_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map deleted file mode 100644 index c3dc6ebc4..000000000 --- a/dd/d1e/generate__parentheses_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - - - - - diff --git a/dd/d1e/generate__parentheses_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 b/dd/d1e/generate__parentheses_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 deleted file mode 100644 index 945c6e1f5..000000000 --- a/dd/d1e/generate__parentheses_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -ae0d522f38ae40c327069818e4acb44a \ No newline at end of file diff --git a/dd/d1e/generate__parentheses_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg b/dd/d1e/generate__parentheses_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg deleted file mode 100644 index 2a28449c3..000000000 --- a/dd/d1e/generate__parentheses_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg +++ /dev/null @@ -1,205 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -backtracking::generate -_parentheses::generate - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::vector::clear - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -backtracking::generate -_parentheses::makeStrings - - - - - -Node2->Node4 - - - - - - - - -Node4->Node4 - - - - - - - - -Node5 - - -std::string::length - - - - - -Node4->Node5 - - - - - - - - -Node6 - - -std::vector::push_back - - - - - -Node4->Node6 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/dd/d1e/generate__parentheses_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg b/dd/d1e/generate__parentheses_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg deleted file mode 100644 index 48a3d2d68..000000000 --- a/dd/d1e/generate__parentheses_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg +++ /dev/null @@ -1,122 +0,0 @@ - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -backtracking::generate -_parentheses::generate - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::vector::clear - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -backtracking::generate -_parentheses::makeStrings - - - - - -Node2->Node4 - - - - - - - - -Node4->Node4 - - - - - - - - -Node5 - - -std::string::length - - - - - -Node4->Node5 - - - - - - - - -Node6 - - -std::vector::push_back - - - - - -Node4->Node6 - - - - - - - - diff --git a/dd/d1e/generate__parentheses_8cpp_gae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/dd/d1e/generate__parentheses_8cpp_gae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index d96e0e390..000000000 --- a/dd/d1e/generate__parentheses_8cpp_gae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - - - - - diff --git a/dd/d1e/generate__parentheses_8cpp_gae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/dd/d1e/generate__parentheses_8cpp_gae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index 9bc4719fb..000000000 --- a/dd/d1e/generate__parentheses_8cpp_gae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -351b45865712bd536eaa59b6088c5639 \ No newline at end of file diff --git a/dd/d1e/generate__parentheses_8cpp_gae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/dd/d1e/generate__parentheses_8cpp_gae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index f0c22a184..000000000 --- a/dd/d1e/generate__parentheses_8cpp_gae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,223 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -backtracking::generate -_parentheses::generate - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::vector::clear - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -backtracking::generate -_parentheses::makeStrings - - - - - -Node3->Node5 - - - - - - - - -Node5->Node5 - - - - - - - - -Node6 - - -std::string::length - - - - - -Node5->Node6 - - - - - - - - -Node7 - - -std::vector::push_back - - - - - -Node5->Node7 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/dd/d1e/generate__parentheses_8cpp_gae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/dd/d1e/generate__parentheses_8cpp_gae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index baf2afd91..000000000 --- a/dd/d1e/generate__parentheses_8cpp_gae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,140 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -backtracking::generate -_parentheses::generate - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::vector::clear - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -backtracking::generate -_parentheses::makeStrings - - - - - -Node3->Node5 - - - - - - - - -Node5->Node5 - - - - - - - - -Node6 - - -std::string::length - - - - - -Node5->Node6 - - - - - - - - -Node7 - - -std::vector::push_back - - - - - -Node5->Node7 - - - - - - - - diff --git a/dd/d1e/generate__parentheses_8cpp_source.html b/dd/d1e/generate__parentheses_8cpp_source.html new file mode 100644 index 000000000..f892ae419 --- /dev/null +++ b/dd/d1e/generate__parentheses_8cpp_source.html @@ -0,0 +1,225 @@ + + + + + + + + +TheAlgorithms/C++: backtracking/generate_parentheses.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
        +
        +

        Classes

        class  backtracking::generate_parentheses
        + + + + + + +
        +
        TheAlgorithms/C++ 1.0.0 +
        +
        All the algorithms implemented in C++
        +
        +
        + + + + + + + + + +
        + +
        +
        +
        + +
        + +
        +
        + + +
        +
        +
        +
        +
        +
        Loading...
        +
        Searching...
        +
        No Matches
        +
        +
        +
        +
        + +
        +
        generate_parentheses.cpp
        +
        +
        +Go to the documentation of this file.
        1
        +
        14#include <cassert>
        +
        15#include <iostream>
        +
        16#include <vector>
        +
        17
        +
        22namespace backtracking {
        +
        + +
        27 private:
        +
        28 std::vector<std::string> res;
        +
        29
        +
        30 void makeStrings(std::string str, int n, int closed, int open);
        +
        31
        +
        32 public:
        +
        33 std::vector<std::string> generate(int n);
        +
        34};
        +
        +
        35
        +
        +
        45void generate_parentheses::makeStrings(std::string str, int n,
        +
        46 int closed, int open) {
        +
        47 if (closed > open) // We can never have more closed than open
        +
        48 return;
        +
        49
        +
        50 if ((str.length() == 2 * n) &&
        +
        51 (closed != open)) { // closed and open must be the same
        +
        52 return;
        +
        53 }
        +
        54
        +
        55 if (str.length() == 2 * n) {
        +
        56 res.push_back(str);
        +
        57 return;
        +
        58 }
        +
        59
        +
        60 makeStrings(str + ')', n, closed + 1, open);
        +
        61 makeStrings(str + '(', n, closed, open + 1);
        +
        62}
        +
        +
        63
        +
        +
        70std::vector<std::string> generate_parentheses::generate(int n) {
        + +
        72 std::string str = "(";
        + +
        74 return res;
        +
        75}
        +
        +
        76} // namespace backtracking
        +
        77
        +
        +
        82static void test() {
        +
        83 int n = 0;
        +
        84 std::vector<std::string> patterns;
        + +
        86
        +
        87 n = 1;
        +
        88 patterns = {{"()"}};
        +
        89 assert(p.generate(n) == patterns);
        +
        90
        +
        91 n = 3;
        +
        92 patterns = {{"()()()"}, {"()(())"}, {"(())()"}, {"(()())"}, {"((()))"}};
        +
        93
        +
        94 assert(p.generate(n) == patterns);
        +
        95
        +
        96 n = 4;
        +
        97 patterns = {{"()()()()"}, {"()()(())"}, {"()(())()"}, {"()(()())"},
        +
        98 {"()((()))"}, {"(())()()"}, {"(())(())"}, {"(()())()"},
        +
        99 {"(()()())"}, {"(()(()))"}, {"((()))()"}, {"((())())"},
        +
        100 {"((()()))"}, {"(((())))"}};
        +
        101 assert(p.generate(n) == patterns);
        +
        102
        +
        103 std::cout << "All tests passed\n";
        +
        104}
        +
        +
        105
        +
        +
        110int main() {
        +
        111 test(); // run self-test implementations
        +
        112 return 0;
        +
        113}
        +
        + +
        std::vector< std::string > res
        Contains all possible valid patterns.
        +
        void makeStrings(std::string str, int n, int closed, int open)
        function that adds parenthesis to the string.
        +
        std::vector< std::string > generate(int n)
        wrapper interface
        +
        static void test()
        Self-test implementations.
        +
        int main()
        Main function.
        +
        for vector container
        +
        +
        + + + + diff --git a/dd/d1f/classdsu.html b/dd/d1f/classdsu.html index 40c3c57b1..c7abbdb2d 100644 --- a/dd/d1f/classdsu.html +++ b/dd/d1f/classdsu.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: dsu Class Reference +TheAlgorithms/C++: dsu Class Reference + + + @@ -18,14 +24,24 @@ - - + +
        @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -114,11 +131,6 @@ $(function(){initNavTree('dd/d1f/classdsu.html','../../'); initResizable(true);

        Disjoint sets union data structure, class based representation. More...

        -
        -Collaboration diagram for dsu:
        -
        -
        -
        [legend]
        -
        Algorithms_in_C++ 1.0.0 +
        TheAlgorithms/C++ 1.0.0
        -
        Set of algorithms implemented in C++.
        +
        All the algorithms implemented in C++
        @@ -134,7 +146,7 @@ Public Member Functions - + @@ -158,31 +170,26 @@ Public Member Functions - +

        Public Member Functions

        bool isSame (uint64_t i, uint64_t j)
         A utility function which check whether i and j belongs to same set or not.
         
        vector< uint64_t > get (uint64_t i)
        vector< uint64_t > get (uint64_t i)
         prints the minimum, maximum and size of the set to which i belongs to
         
        uint64_t size (uint64_t i)
        bool isSame (uint64_t i, uint64_t j)
         A utility function which check whether i and j belongs to same set or not.
         
        vector< uint64_t > getParents (uint64_t i)
        vector< uint64_t > getParents (uint64_t i)
         Method to print all the parents of i, or the path from i to representative.
         
        - - + + - - + + - - + + - - + + - - + +

        Private Attributes

        -vector< uint64_t > p
         keeps track of the parent of ith element
        vector< uint64_t > p
         keeps track of the parent of ith element
         
        -vector< uint64_t > depth
         tracks the depth(rank) of i in the tree
        vector< uint64_t > depth
         tracks the depth(rank) of i in the tree
         
        -vector< uint64_t > setSize
         size of each chunk(set)
        vector< uint64_t > setSize
         size of each chunk(set)
         
        -vector< uint64_t > maxElement
         maximum of each set to which i belongs to
        vector< uint64_t > maxElement
         maximum of each set to which i belongs to
         
        -vector< uint64_t > minElement
         minimum of each set to which i belongs to
        vector< uint64_t > minElement
         minimum of each set to which i belongs to
         

        Detailed Description

        @@ -193,6 +200,8 @@ Private Attributes + +

        Definition at line 34 of file dsu_path_compression.cpp.

        Constructor & Destructor Documentation

        ◆ dsu() [1/2]

        @@ -227,14 +236,14 @@ Private Attributes

        initially, all of them are their own parents

        initially all have depth are equals to zero

        initially set size will be equals to one

        + +

        Definition at line 46 of file dsu_path_compression.cpp.

        46 {
        -
        47 p.assign(n, 0);
        -
        48 /// initially, all of them are their own parents
        -
        49 for (uint64_t i = 0; i < n; i++) {
        +
        47 p.assign(n, 0);
        +
        49 for (uint64_t i = 0; i < n; i++) {
        50 p[i] = i;
        -
        51 }
        -
        52 /// initially all have depth are equals to zero
        -
        53 depth.assign(n, 0);
        +
        51 }
        +
        53 depth.assign(n, 0);
        54 maxElement.assign(n, 0);
        55 minElement.assign(n, 0);
        56 for (uint64_t i = 0; i < n; i++) {
        @@ -242,17 +251,16 @@ Private Attributes
        58 maxElement[i] = i;
        59 minElement[i] = i;
        60 }
        -
        61 setSize.assign(n, 0);
        -
        62 /// initially set size will be equals to one
        -
        63 for (uint64_t i = 0; i < n; i++) {
        +
        61 setSize.assign(n, 0);
        +
        63 for (uint64_t i = 0; i < n; i++) {
        64 setSize[i] = 1;
        65 }
        66 }
        -
        vector< uint64_t > minElement
        minimum of each set to which i belongs to
        Definition dsu_path_compression.cpp:40
        -
        vector< uint64_t > p
        keeps track of the parent of ith element
        Definition dsu_path_compression.cpp:36
        -
        vector< uint64_t > maxElement
        maximum of each set to which i belongs to
        Definition dsu_path_compression.cpp:39
        -
        vector< uint64_t > depth
        tracks the depth(rank) of i in the tree
        Definition dsu_path_compression.cpp:37
        -
        vector< uint64_t > setSize
        size of each chunk(set)
        Definition dsu_path_compression.cpp:38
        +
        vector< uint64_t > minElement
        minimum of each set to which i belongs to
        +
        vector< uint64_t > p
        keeps track of the parent of ith element
        +
        vector< uint64_t > maxElement
        maximum of each set to which i belongs to
        +
        vector< uint64_t > depth
        tracks the depth(rank) of i in the tree
        +
        vector< uint64_t > setSize
        size of each chunk(set)
        @@ -287,10 +295,11 @@ Private Attributes

        initially all of them are their own parents

        + +

        Definition at line 45 of file dsu_union_rank.cpp.

        45 {
        -
        46 p.assign(n, 0);
        -
        47 /// initially all of them are their own parents
        -
        48 depth.assign(n, 0);
        +
        46 p.assign(n, 0);
        +
        48 depth.assign(n, 0);
        49 setSize.assign(n, 0);
        50 for (uint64_t i = 0; i < n; i++) {
        51 p[i] = i;
        @@ -334,20 +343,16 @@ Private Attributes
        Returns
        representative of the set to which i belongs to.

        using path compression

        -
        74 {
        -
        75 /// using path compression
        -
        76 if (p[i] == i) {
        + +

        Definition at line 74 of file dsu_path_compression.cpp.

        +
        74 {
        +
        76 if (p[i] == i) {
        77 return i;
        78 }
        79 return (p[i] = findSet(p[i]));
        80 }
        -
        uint64_t findSet(uint64_t i)
        Method to find the representative of the set to which i belongs to, T(n) = O(1)
        Definition dsu_path_compression.cpp:74
        -
        -Here is the call graph for this function:
        -
        -
        -
        - +
        uint64_t findSet(uint64_t i)
        Method to find the representative of the set to which i belongs to, T(n) = O(1)
        +
        @@ -382,9 +387,10 @@ Here is the call graph for this function:
        Returns
        representative of the set to which i belongs to

        using union-rank

        -
        62 {
        -
        63 /// using union-rank
        -
        64 while (i != p[i]) {
        + +

        Definition at line 62 of file dsu_union_rank.cpp.

        +
        62 {
        +
        64 while (i != p[i]) {
        65 i = p[i];
        66 }
        67 return i;
        @@ -402,7 +408,7 @@ Here is the call graph for this function:
        - + @@ -423,23 +429,19 @@ Here is the call graph for this function:
        Returns
        void
        + +

        Definition at line 136 of file dsu_path_compression.cpp.

        136 {
        - +
        137 vector<uint64_t> ans;
        138 ans.push_back(get_min(i));
        139 ans.push_back(get_max(i));
        140 ans.push_back(size(i));
        141 return ans;
        142 }
        -
        uint64_t size(uint64_t i)
        A utility function that returns the size of the set to which i belongs to.
        Definition dsu_path_compression.cpp:149
        -
        uint64_t get_max(uint64_t i)
        A utility function that returns the max element of the set to which i belongs to.
        Definition dsu_path_compression.cpp:156
        -
        uint64_t get_min(uint64_t i)
        A utility function that returns the min element of the set to which i belongs to.
        Definition dsu_path_compression.cpp:163
        - -
        -Here is the call graph for this function:
        -
        -
        -
        - +
        uint64_t size(uint64_t i)
        A utility function that returns the size of the set to which i belongs to.
        +
        uint64_t get_max(uint64_t i)
        A utility function that returns the max element of the set to which i belongs to.
        +
        uint64_t get_min(uint64_t i)
        A utility function that returns the min element of the set to which i belongs to.
        + @@ -473,13 +475,10 @@ Here is the call graph for this function:
        Returns
        maximum of the set to which i belongs to
        -
        156{ return maxElement[findSet(i)]; }
        -
        -Here is the call graph for this function:
        -
        -
        -
        +

        Definition at line 156 of file dsu_path_compression.cpp.

        +
        156{ return maxElement[findSet(i)]; }
        +
        @@ -513,13 +512,10 @@ Here is the call graph for this function:
        Returns
        minimum of the set to which i belongs to
        -
        163{ return minElement[findSet(i)]; }
        -
        -Here is the call graph for this function:
        -
        -
        -
        +

        Definition at line 163 of file dsu_path_compression.cpp.

        +
        163{ return minElement[findSet(i)]; }
        +
        @@ -532,7 +528,7 @@ Here is the call graph for this function:

        Dynamic Programming algorithms.

        Dynamic programming algorithms.

        Namespace for dynamic programming algorithms.

        -

        For std::vector.

        -

        for std::vector

        +

        For std::vector.

        +

        for std::vector

        Dynamic Programming algorithm.

        for IO operations

        Dynamic Programming Algorithms.

        -

        for assert for std::uint32_t for IO operations for std::string library for std::vector STL library

        -

        for assert for std::pow

        +

        for assert for std::uint32_t for IO operations for std::string library for std::vector STL library

        +

        for assert for std::pow

        Dynamic Programming algorithms

        -

        for assert for std::max for std::uint32_t for io operations

        +

        for assert for std::max for std::uint32_t for io operations

        Dynamic Programming algorithms

        -

        for assert for std::max for std::uint64_t for IO operations

        +

        for assert for std::max for std::uint64_t for IO operations

        Dynamic Programming algorithms

        -

        for assert for std::string for std::vector

        +

        for assert for std::string for std::vector

        for assert for IO operations

        Dynamic Programming algorithms

        -

        for assert for std::uint64_t for IO operations

        +

        for assert for std::uint64_t for IO operations

        Dynamic Programming algorithms

        for std::assert for IO operations for unordered map

        Dynamic Programming algorithms

        -

        For std::min and std::max For assert For std::size_t

        +

        For std::min and std::max For assert For std::size_t

        Function Documentation

        ◆ is_armstrong()

        @@ -184,6 +201,8 @@ template<typename T >
        Returns
        false if the given number is NOT armstrong
        true if the given number IS armstrong
        + +

        Definition at line 39 of file armstrong_number_templated.cpp.

        39 {
        40 int count = 0, temp = number, result = 0, rem = 0;
        41
        @@ -200,7 +219,7 @@ true if the given number IS armstrong
        52 temp = number;
        53 while (temp != 0) {
        54 rem = temp % 10;
        -
        55 result += static_cast<T>(std::pow(rem, count));
        +
        55 result += static_cast<T>(std::pow(rem, count));
        56 temp /= 10;
        57 }
        58
        @@ -210,13 +229,7 @@ true if the given number IS armstrong
        62 return false;
        63 }
        64}
        -
        T pow(T... args)
        -
        -Here is the call graph for this function:
        -
        -
        -
        - + @@ -228,7 +241,7 @@ Here is the call graph for this function: - + @@ -247,8 +260,10 @@ Here is the call graph for this function:
        Returns
        the length of the longest increasing subsequence in the a array of size n
        + +

        Definition at line 40 of file longest_increasing_subsequence.cpp.

        40 {
        -
        41 std::vector<int> lis(n);
        +
        41 std::vector<int> lis(n);
        42 for (int i = 0; i < n; ++i) {
        43 lis[i] = 1;
        44 }
        @@ -261,18 +276,11 @@ Here is the call graph for this function:
        51 }
        52 int res = 0;
        53 for (int i = 0; i < n; ++i) {
        -
        54 res = std::max(res, lis[i]);
        +
        54 res = std::max(res, lis[i]);
        55 }
        56 return res;
        57}
        -
        T max(T... args)
        - -
        -Here is the call graph for this function:
        -
        -
        -
        - + @@ -282,9 +290,9 @@ Here is the call graph for this function:
        vector< uint64_t > dsu::get vector< uint64_t > dsu::get ( uint64_t i) - + @@ -553,8 +549,10 @@ Here is the call graph for this function:
        Returns
        void
        + +

        Definition at line 120 of file dsu_union_rank.cpp.

        120 {
        - +
        121 vector<uint64_t> ans;
        122 while (p[i] != i) {
        123 ans.push_back(i);
        124 i = p[i];
        @@ -603,18 +601,15 @@ Here is the call graph for this function:
        Returns
        true if element i and j ARE in the same set
        false if element i and j are NOT in same set
        + +

        Definition at line 124 of file dsu_path_compression.cpp.

        124 {
        125 if (findSet(i) == findSet(j)) {
        126 return true;
        127 }
        128 return false;
        129 }
        -
        -Here is the call graph for this function:
        -
        -
        -
        - + @@ -655,18 +650,15 @@ Here is the call graph for this function:
        Returns
        true if element i and j are in same set
        false if element i and j are not in same set
        + +

        Definition at line 108 of file dsu_union_rank.cpp.

        108 {
        109 if (findSet(i) == findSet(j)) {
        110 return true;
        111 }
        112 return false;
        113 }
        -
        -Here is the call graph for this function:
        -
        -
        -
        - + @@ -700,13 +692,10 @@ Here is the call graph for this function:
        Returns
        size of the set to which i belongs to
        -
        149{ return setSize[findSet(i)]; }
        -
        -Here is the call graph for this function:
        -
        -
        -
        +

        Definition at line 149 of file dsu_path_compression.cpp.

        +
        149{ return setSize[findSet(i)]; }
        +
        @@ -751,44 +740,31 @@ Here is the call graph for this function:

        if same depth, then increase one's depth

        total size of the resultant set

        changing the maximum elements

        -
        88 {
        -
        89 /// check if both belongs to the same set or not
        -
        90 if (isSame(i, j)) {
        + +

        Definition at line 88 of file dsu_path_compression.cpp.

        +
        88 {
        +
        90 if (isSame(i, j)) {
        91 return;
        92 }
        93
        94 // we find the representative of the i and j
        95 uint64_t x = findSet(i);
        96 uint64_t y = findSet(j);
        -
        97
        -
        98 /// always keeping the min as x
        -
        99 /// shallow tree
        -
        100 if (depth[x] > depth[y]) {
        -
        101 std::swap(x, y);
        -
        102 }
        -
        103 /// making the shallower root's parent the deeper root
        -
        104 p[x] = y;
        -
        105
        -
        106 /// if same depth, then increase one's depth
        -
        107 if (depth[x] == depth[y]) {
        +
        97
        +
        100 if (depth[x] > depth[y]) {
        +
        101 std::swap(x, y);
        +
        102 }
        +
        104 p[x] = y;
        +
        105
        +
        107 if (depth[x] == depth[y]) {
        108 depth[y]++;
        -
        109 }
        -
        110 /// total size of the resultant set
        -
        111 setSize[y] += setSize[x];
        -
        112 /// changing the maximum elements
        - - +
        109 }
        +
        111 setSize[y] += setSize[x];
        +
        113 maxElement[y] = std::max(maxElement[x], maxElement[y]);
        +
        114 minElement[y] = std::min(minElement[x], minElement[y]);
        115 }
        -
        bool isSame(uint64_t i, uint64_t j)
        A utility function which check whether i and j belongs to same set or not.
        Definition dsu_path_compression.cpp:124
        -
        T max(T... args)
        -
        T min(T... args)
        -
        T swap(T... args)
        -
        -Here is the call graph for this function:
        -
        -
        -
        - +
        bool isSame(uint64_t i, uint64_t j)
        A utility function which check whether i and j belongs to same set or not.
        +
        @@ -833,41 +809,162 @@ Here is the call graph for this function:

        making the shallower tree, root parent of the deeper root

        if same depth, then increase one's depth

        total size of the resultant set

        -
        76 {
        -
        77 /// checks if both belongs to same set or not
        -
        78 if (isSame(i, j)) {
        + +

        Definition at line 76 of file dsu_union_rank.cpp.

        +
        76 {
        +
        78 if (isSame(i, j)) {
        79 return;
        -
        80 }
        -
        81 /// we find representative of the i and j
        -
        82 uint64_t x = findSet(i);
        +
        80 }
        +
        82 uint64_t x = findSet(i);
        83 uint64_t y = findSet(j);
        -
        84
        -
        85 /// always keeping the min as x
        -
        86 /// in order to create a shallow tree
        -
        87 if (depth[x] > depth[y]) {
        -
        88 std::swap(x, y);
        -
        89 }
        -
        90 /// making the shallower tree, root parent of the deeper root
        -
        91 p[x] = y;
        -
        92
        -
        93 /// if same depth, then increase one's depth
        -
        94 if (depth[x] == depth[y]) {
        +
        84
        +
        87 if (depth[x] > depth[y]) {
        +
        88 std::swap(x, y);
        +
        89 }
        +
        91 p[x] = y;
        +
        92
        +
        94 if (depth[x] == depth[y]) {
        95 depth[y]++;
        -
        96 }
        -
        97 /// total size of the resultant set
        -
        98 setSize[y] += setSize[x];
        +
        96 }
        +
        98 setSize[y] += setSize[x];
        99 }
        -
        -Here is the call graph for this function:
        -
        -
        +
        + +

        Member Data Documentation

        + +

        ◆ depth

        + +
        +
        +
        vector< uint64_t > dsu::getParents vector< uint64_t > dsu::getParents ( uint64_t i)
        + + + + +
        + + + + +
        vector< uint64_t > dsu::depth
        +
        +private
        +
        + +

        tracks the depth(rank) of i in the tree

        + +

        Definition at line 37 of file dsu_path_compression.cpp.

        + +
        + + +

        ◆ maxElement

        + +
        +
        + + + + + +
        + + + + +
        vector<uint64_t> dsu::maxElement
        +
        +private
        +
        + +

        maximum of each set to which i belongs to

        + +

        Definition at line 39 of file dsu_path_compression.cpp.

        + +
        +
        + +

        ◆ minElement

        + +
        +
        + + + + + +
        + + + + +
        vector<uint64_t> dsu::minElement
        +
        +private
        +
        + +

        minimum of each set to which i belongs to

        + +

        Definition at line 40 of file dsu_path_compression.cpp.

        + +
        +
        + +

        ◆ p

        + +
        +
        + + + + + +
        + + + + +
        vector< uint64_t > dsu::p
        +
        +private
        +
        + +

        keeps track of the parent of ith element

        + +

        Definition at line 36 of file dsu_path_compression.cpp.

        + +
        +
        + +

        ◆ setSize

        + +
        +
        + + + + + +
        + + + + +
        vector< uint64_t > dsu::setSize
        +
        +private
        +
        + +

        size of each chunk(set)

        + +

        Definition at line 38 of file dsu_path_compression.cpp.


        The documentation for this class was generated from the following files: diff --git a/dd/d1f/classdsu_a0ce2672c570f4235eafddb0c9a58115a_cgraph.map b/dd/d1f/classdsu_a0ce2672c570f4235eafddb0c9a58115a_cgraph.map deleted file mode 100644 index 6fd022642..000000000 --- a/dd/d1f/classdsu_a0ce2672c570f4235eafddb0c9a58115a_cgraph.map +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - - - - - diff --git a/dd/d1f/classdsu_a0ce2672c570f4235eafddb0c9a58115a_cgraph.md5 b/dd/d1f/classdsu_a0ce2672c570f4235eafddb0c9a58115a_cgraph.md5 deleted file mode 100644 index bd44c8f59..000000000 --- a/dd/d1f/classdsu_a0ce2672c570f4235eafddb0c9a58115a_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -ecb112358bf89c80c3535513e0b1e5b8 \ No newline at end of file diff --git a/dd/d1f/classdsu_a0ce2672c570f4235eafddb0c9a58115a_cgraph.svg b/dd/d1f/classdsu_a0ce2672c570f4235eafddb0c9a58115a_cgraph.svg deleted file mode 100644 index 83ca73ef7..000000000 --- a/dd/d1f/classdsu_a0ce2672c570f4235eafddb0c9a58115a_cgraph.svg +++ /dev/null @@ -1,146 +0,0 @@ - - - - - - - - - - - - -dsu::get - - -Node1 - - -dsu::get - - - - - -Node2 - - -dsu::get_max - - - - - -Node1->Node2 - - - - - - - - -Node4 - - -dsu::get_min - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -dsu::size - - - - - -Node1->Node5 - - - - - - - - -Node3 - - -dsu::findSet - - - - - -Node2->Node3 - - - - - - - - -Node3->Node3 - - - - - - - - -Node4->Node3 - - - - - - - - -Node5->Node3 - - - - - - - - - - - - - diff --git a/dd/d1f/classdsu_a0ce2672c570f4235eafddb0c9a58115a_cgraph_org.svg b/dd/d1f/classdsu_a0ce2672c570f4235eafddb0c9a58115a_cgraph_org.svg deleted file mode 100644 index c3930aa44..000000000 --- a/dd/d1f/classdsu_a0ce2672c570f4235eafddb0c9a58115a_cgraph_org.svg +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - -dsu::get - - -Node1 - - -dsu::get - - - - - -Node2 - - -dsu::get_max - - - - - -Node1->Node2 - - - - - - - - -Node4 - - -dsu::get_min - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -dsu::size - - - - - -Node1->Node5 - - - - - - - - -Node3 - - -dsu::findSet - - - - - -Node2->Node3 - - - - - - - - -Node3->Node3 - - - - - - - - -Node4->Node3 - - - - - - - - -Node5->Node3 - - - - - - - - diff --git a/dd/d1f/classdsu_a16851f78fe390fc1430905c83d6a2f1c_cgraph.map b/dd/d1f/classdsu_a16851f78fe390fc1430905c83d6a2f1c_cgraph.map deleted file mode 100644 index 1742a4546..000000000 --- a/dd/d1f/classdsu_a16851f78fe390fc1430905c83d6a2f1c_cgraph.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/dd/d1f/classdsu_a16851f78fe390fc1430905c83d6a2f1c_cgraph.md5 b/dd/d1f/classdsu_a16851f78fe390fc1430905c83d6a2f1c_cgraph.md5 deleted file mode 100644 index f31cb8b49..000000000 --- a/dd/d1f/classdsu_a16851f78fe390fc1430905c83d6a2f1c_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -844008cc5c3ff1a351b40792d8df08f2 \ No newline at end of file diff --git a/dd/d1f/classdsu_a16851f78fe390fc1430905c83d6a2f1c_cgraph.svg b/dd/d1f/classdsu_a16851f78fe390fc1430905c83d6a2f1c_cgraph.svg deleted file mode 100644 index 10ca0717f..000000000 --- a/dd/d1f/classdsu_a16851f78fe390fc1430905c83d6a2f1c_cgraph.svg +++ /dev/null @@ -1,56 +0,0 @@ - - - - - - - - - - - - -dsu::findSet - - -Node1 - - -dsu::findSet - - - - - -Node1->Node1 - - - - - - - - - - - - - diff --git a/dd/d1f/classdsu_a16851f78fe390fc1430905c83d6a2f1c_cgraph_org.svg b/dd/d1f/classdsu_a16851f78fe390fc1430905c83d6a2f1c_cgraph_org.svg deleted file mode 100644 index b55464c52..000000000 --- a/dd/d1f/classdsu_a16851f78fe390fc1430905c83d6a2f1c_cgraph_org.svg +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - -dsu::findSet - - -Node1 - - -dsu::findSet - - - - - -Node1->Node1 - - - - - - - - diff --git a/dd/d1f/classdsu_a1c24228b0f2f49220133fb8c3566a55c_cgraph.map b/dd/d1f/classdsu_a1c24228b0f2f49220133fb8c3566a55c_cgraph.map deleted file mode 100644 index d61f421a8..000000000 --- a/dd/d1f/classdsu_a1c24228b0f2f49220133fb8c3566a55c_cgraph.map +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/dd/d1f/classdsu_a1c24228b0f2f49220133fb8c3566a55c_cgraph.md5 b/dd/d1f/classdsu_a1c24228b0f2f49220133fb8c3566a55c_cgraph.md5 deleted file mode 100644 index 9b7fd4123..000000000 --- a/dd/d1f/classdsu_a1c24228b0f2f49220133fb8c3566a55c_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -fddaaa2fd0ab91aae41f0dd6e4080af0 \ No newline at end of file diff --git a/dd/d1f/classdsu_a1c24228b0f2f49220133fb8c3566a55c_cgraph.svg b/dd/d1f/classdsu_a1c24228b0f2f49220133fb8c3566a55c_cgraph.svg deleted file mode 100644 index f0c8e7eec..000000000 --- a/dd/d1f/classdsu_a1c24228b0f2f49220133fb8c3566a55c_cgraph.svg +++ /dev/null @@ -1,74 +0,0 @@ - - - - - - - - - - - - -dsu::size - - -Node1 - - -dsu::size - - - - - -Node2 - - -dsu::findSet - - - - - -Node1->Node2 - - - - - - - - -Node2->Node2 - - - - - - - - - - - - - diff --git a/dd/d1f/classdsu_a1c24228b0f2f49220133fb8c3566a55c_cgraph_org.svg b/dd/d1f/classdsu_a1c24228b0f2f49220133fb8c3566a55c_cgraph_org.svg deleted file mode 100644 index 4f933a364..000000000 --- a/dd/d1f/classdsu_a1c24228b0f2f49220133fb8c3566a55c_cgraph_org.svg +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - -dsu::size - - -Node1 - - -dsu::size - - - - - -Node2 - - -dsu::findSet - - - - - -Node1->Node2 - - - - - - - - -Node2->Node2 - - - - - - - - diff --git a/dd/d1f/classdsu_a64d25c5986742f7c234ed449b2ff7303_cgraph.map b/dd/d1f/classdsu_a64d25c5986742f7c234ed449b2ff7303_cgraph.map deleted file mode 100644 index 4f77f6ebe..000000000 --- a/dd/d1f/classdsu_a64d25c5986742f7c234ed449b2ff7303_cgraph.map +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/dd/d1f/classdsu_a64d25c5986742f7c234ed449b2ff7303_cgraph.md5 b/dd/d1f/classdsu_a64d25c5986742f7c234ed449b2ff7303_cgraph.md5 deleted file mode 100644 index a9910d044..000000000 --- a/dd/d1f/classdsu_a64d25c5986742f7c234ed449b2ff7303_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -9666ab5a7ac9febc21b685702c528011 \ No newline at end of file diff --git a/dd/d1f/classdsu_a64d25c5986742f7c234ed449b2ff7303_cgraph.svg b/dd/d1f/classdsu_a64d25c5986742f7c234ed449b2ff7303_cgraph.svg deleted file mode 100644 index 1065a538f..000000000 --- a/dd/d1f/classdsu_a64d25c5986742f7c234ed449b2ff7303_cgraph.svg +++ /dev/null @@ -1,74 +0,0 @@ - - - - - - - - - - - - -dsu::isSame - - -Node1 - - -dsu::isSame - - - - - -Node2 - - -dsu::findSet - - - - - -Node1->Node2 - - - - - - - - -Node2->Node2 - - - - - - - - - - - - - diff --git a/dd/d1f/classdsu_a64d25c5986742f7c234ed449b2ff7303_cgraph_org.svg b/dd/d1f/classdsu_a64d25c5986742f7c234ed449b2ff7303_cgraph_org.svg deleted file mode 100644 index c02e230e5..000000000 --- a/dd/d1f/classdsu_a64d25c5986742f7c234ed449b2ff7303_cgraph_org.svg +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - -dsu::isSame - - -Node1 - - -dsu::isSame - - - - - -Node2 - - -dsu::findSet - - - - - -Node1->Node2 - - - - - - - - -Node2->Node2 - - - - - - - - diff --git a/dd/d1f/classdsu_a696141b8b092466767f4bfe1c5e46cde_cgraph.map b/dd/d1f/classdsu_a696141b8b092466767f4bfe1c5e46cde_cgraph.map deleted file mode 100644 index a31ebf5de..000000000 --- a/dd/d1f/classdsu_a696141b8b092466767f4bfe1c5e46cde_cgraph.map +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/dd/d1f/classdsu_a696141b8b092466767f4bfe1c5e46cde_cgraph.md5 b/dd/d1f/classdsu_a696141b8b092466767f4bfe1c5e46cde_cgraph.md5 deleted file mode 100644 index f80912697..000000000 --- a/dd/d1f/classdsu_a696141b8b092466767f4bfe1c5e46cde_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -b202e13bbe60d0a6124f632d19878899 \ No newline at end of file diff --git a/dd/d1f/classdsu_a696141b8b092466767f4bfe1c5e46cde_cgraph.svg b/dd/d1f/classdsu_a696141b8b092466767f4bfe1c5e46cde_cgraph.svg deleted file mode 100644 index 8692f5120..000000000 --- a/dd/d1f/classdsu_a696141b8b092466767f4bfe1c5e46cde_cgraph.svg +++ /dev/null @@ -1,74 +0,0 @@ - - - - - - - - - - - - -dsu::get_max - - -Node1 - - -dsu::get_max - - - - - -Node2 - - -dsu::findSet - - - - - -Node1->Node2 - - - - - - - - -Node2->Node2 - - - - - - - - - - - - - diff --git a/dd/d1f/classdsu_a696141b8b092466767f4bfe1c5e46cde_cgraph_org.svg b/dd/d1f/classdsu_a696141b8b092466767f4bfe1c5e46cde_cgraph_org.svg deleted file mode 100644 index 70d64fafd..000000000 --- a/dd/d1f/classdsu_a696141b8b092466767f4bfe1c5e46cde_cgraph_org.svg +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - -dsu::get_max - - -Node1 - - -dsu::get_max - - - - - -Node2 - - -dsu::findSet - - - - - -Node1->Node2 - - - - - - - - -Node2->Node2 - - - - - - - - diff --git a/dd/d1f/classdsu_a6ac30c07abca2aaa3b291504c25c3559_cgraph.map b/dd/d1f/classdsu_a6ac30c07abca2aaa3b291504c25c3559_cgraph.map deleted file mode 100644 index c29a6c0a3..000000000 --- a/dd/d1f/classdsu_a6ac30c07abca2aaa3b291504c25c3559_cgraph.map +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/dd/d1f/classdsu_a6ac30c07abca2aaa3b291504c25c3559_cgraph.md5 b/dd/d1f/classdsu_a6ac30c07abca2aaa3b291504c25c3559_cgraph.md5 deleted file mode 100644 index 578309684..000000000 --- a/dd/d1f/classdsu_a6ac30c07abca2aaa3b291504c25c3559_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -f3d61cc72c3fa249c8e5781e906f1d12 \ No newline at end of file diff --git a/dd/d1f/classdsu_a6ac30c07abca2aaa3b291504c25c3559_cgraph.svg b/dd/d1f/classdsu_a6ac30c07abca2aaa3b291504c25c3559_cgraph.svg deleted file mode 100644 index c278a63c2..000000000 --- a/dd/d1f/classdsu_a6ac30c07abca2aaa3b291504c25c3559_cgraph.svg +++ /dev/null @@ -1,155 +0,0 @@ - - - - - - - - - - - - -dsu::UnionSet - - -Node1 - - -dsu::UnionSet - - - - - -Node2 - - -dsu::findSet - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -dsu::isSame - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::max - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::min - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -std::swap - - - - - -Node1->Node6 - - - - - - - - -Node2->Node2 - - - - - - - - -Node3->Node2 - - - - - - - - - - - - - diff --git a/dd/d1f/classdsu_a6ac30c07abca2aaa3b291504c25c3559_cgraph_org.svg b/dd/d1f/classdsu_a6ac30c07abca2aaa3b291504c25c3559_cgraph_org.svg deleted file mode 100644 index 5d08dd7cd..000000000 --- a/dd/d1f/classdsu_a6ac30c07abca2aaa3b291504c25c3559_cgraph_org.svg +++ /dev/null @@ -1,129 +0,0 @@ - - - - - - -dsu::UnionSet - - -Node1 - - -dsu::UnionSet - - - - - -Node2 - - -dsu::findSet - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -dsu::isSame - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::max - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::min - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -std::swap - - - - - -Node1->Node6 - - - - - - - - -Node2->Node2 - - - - - - - - -Node3->Node2 - - - - - - - - diff --git a/dd/d1f/classdsu_a81897528bdb53fd5e796d75d7dbc430f_cgraph.map b/dd/d1f/classdsu_a81897528bdb53fd5e796d75d7dbc430f_cgraph.map deleted file mode 100644 index 57f73a521..000000000 --- a/dd/d1f/classdsu_a81897528bdb53fd5e796d75d7dbc430f_cgraph.map +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/dd/d1f/classdsu_a81897528bdb53fd5e796d75d7dbc430f_cgraph.md5 b/dd/d1f/classdsu_a81897528bdb53fd5e796d75d7dbc430f_cgraph.md5 deleted file mode 100644 index 376bfeed5..000000000 --- a/dd/d1f/classdsu_a81897528bdb53fd5e796d75d7dbc430f_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -12638e1e2f578259269ef23760cb896f \ No newline at end of file diff --git a/dd/d1f/classdsu_a81897528bdb53fd5e796d75d7dbc430f_cgraph.svg b/dd/d1f/classdsu_a81897528bdb53fd5e796d75d7dbc430f_cgraph.svg deleted file mode 100644 index 2668fc8fe..000000000 --- a/dd/d1f/classdsu_a81897528bdb53fd5e796d75d7dbc430f_cgraph.svg +++ /dev/null @@ -1,119 +0,0 @@ - - - - - - - - - - - - -dsu::unionSet - - -Node1 - - -dsu::unionSet - - - - - -Node2 - - -dsu::findSet - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -dsu::isSame - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::swap - - - - - -Node1->Node4 - - - - - - - - -Node2->Node2 - - - - - - - - -Node3->Node2 - - - - - - - - - - - - - diff --git a/dd/d1f/classdsu_a81897528bdb53fd5e796d75d7dbc430f_cgraph_org.svg b/dd/d1f/classdsu_a81897528bdb53fd5e796d75d7dbc430f_cgraph_org.svg deleted file mode 100644 index 39c963728..000000000 --- a/dd/d1f/classdsu_a81897528bdb53fd5e796d75d7dbc430f_cgraph_org.svg +++ /dev/null @@ -1,93 +0,0 @@ - - - - - - -dsu::unionSet - - -Node1 - - -dsu::unionSet - - - - - -Node2 - - -dsu::findSet - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -dsu::isSame - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::swap - - - - - -Node1->Node4 - - - - - - - - -Node2->Node2 - - - - - - - - -Node3->Node2 - - - - - - - - diff --git a/dd/d1f/classdsu_ac713a5b496d0405c82e2808a85e58415_cgraph.map b/dd/d1f/classdsu_ac713a5b496d0405c82e2808a85e58415_cgraph.map deleted file mode 100644 index 424c0fae4..000000000 --- a/dd/d1f/classdsu_ac713a5b496d0405c82e2808a85e58415_cgraph.map +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/dd/d1f/classdsu_ac713a5b496d0405c82e2808a85e58415_cgraph.md5 b/dd/d1f/classdsu_ac713a5b496d0405c82e2808a85e58415_cgraph.md5 deleted file mode 100644 index 4070ab206..000000000 --- a/dd/d1f/classdsu_ac713a5b496d0405c82e2808a85e58415_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -cb0bc437891d05cd2ad23fe1a8e2bbff \ No newline at end of file diff --git a/dd/d1f/classdsu_ac713a5b496d0405c82e2808a85e58415_cgraph.svg b/dd/d1f/classdsu_ac713a5b496d0405c82e2808a85e58415_cgraph.svg deleted file mode 100644 index bc8751030..000000000 --- a/dd/d1f/classdsu_ac713a5b496d0405c82e2808a85e58415_cgraph.svg +++ /dev/null @@ -1,74 +0,0 @@ - - - - - - - - - - - - -dsu::get_min - - -Node1 - - -dsu::get_min - - - - - -Node2 - - -dsu::findSet - - - - - -Node1->Node2 - - - - - - - - -Node2->Node2 - - - - - - - - - - - - - diff --git a/dd/d1f/classdsu_ac713a5b496d0405c82e2808a85e58415_cgraph_org.svg b/dd/d1f/classdsu_ac713a5b496d0405c82e2808a85e58415_cgraph_org.svg deleted file mode 100644 index 498e1aba3..000000000 --- a/dd/d1f/classdsu_ac713a5b496d0405c82e2808a85e58415_cgraph_org.svg +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - -dsu::get_min - - -Node1 - - -dsu::get_min - - - - - -Node2 - - -dsu::findSet - - - - - -Node1->Node2 - - - - - - - - -Node2->Node2 - - - - - - - - diff --git a/dd/d21/namespacewindowed__median.html b/dd/d21/namespacewindowed__median.html index 9a6ba1ffe..7bd7a77bf 100644 --- a/dd/d21/namespacewindowed__median.html +++ b/dd/d21/namespacewindowed__median.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: windowed_median Namespace Reference +TheAlgorithms/C++: windowed_median Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
        @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/dd/d24/namespacedynamic__programming.html b/dd/d24/namespacedynamic__programming.html index addbc6dcb..a92bb746a 100644 --- a/dd/d24/namespacedynamic__programming.html +++ b/dd/d24/namespacedynamic__programming.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: dynamic_programming Namespace Reference +TheAlgorithms/C++: dynamic_programming Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
        @@ -33,10 +49,11 @@ MathJax.Hub.Config({
        -
        Algorithms_in_C++ 1.0.0 +
        TheAlgorithms/C++ 1.0.0
        -
        Set of algorithms implemented in C++.
        +
        All the algorithms implemented in C++
        + @@ -119,16 +136,16 @@ Functions - + - + - + - +
        -
        Algorithms_in_C++ 1.0.0 +
        TheAlgorithms/C++ 1.0.0
        -
        Set of algorithms implemented in C++.
        +
        All the algorithms implemented in C++
        bool is_armstrong (const T &number)
         Checks if the given number is armstrong or not.
         
        uint64_t LIS (const std::vector< uint64_t > &a, const uint32_t &n)
        uint64_t LIS (const std::vector< uint64_t > &a, const uint32_t &n)
         Calculate the longest increasing subsequence for the specified numbers.
         
        std::string lps (const std::string &a)
        std::string lps (const std::string &a)
         Function that returns the longest palindromic subsequence of a string.
         
        int maxCircularSum (std::vector< int > &arr)
        int maxCircularSum (std::vector< int > &arr)
         returns the maximum contiguous circular sum of an array
         
        uint32_t trappedRainwater (const std::vector< uint32_t > &heights)
        uint32_t trappedRainwater (const std::vector< uint32_t > &heights)
         Function to calculate the trapped rainwater.
         
        @@ -136,26 +153,26 @@ Functions
        uint64_t dynamic_programming::LIS (const std::vector< uint64_t > & a, const std::vector< uint64_t > & a,
        - + - +
        std::string dynamic_programming::lps std::string dynamic_programming::lps (const std::string & a)const std::string & a)
        @@ -298,12 +306,14 @@ Here is the call graph for this function:
        Returns
        longest palindromic subsequence of the string
        + +

        Definition at line 31 of file longest_palindromic_subsequence.cpp.

        31 {
        -
        32 const auto b = std::string(a.rbegin(), a.rend());
        +
        32 const auto b = std::string(a.rbegin(), a.rend());
        33 const auto m = a.length();
        34 using ind_type = std::string::size_type;
        - - +
        35 std::vector<std::vector<ind_type> > res(m + 1,
        +
        36 std::vector<ind_type>(m + 1));
        37
        38 // Finding the length of the longest
        39 // palindromic subsequence and storing
        @@ -315,14 +325,14 @@ Here is the call graph for this function:
        45 } else if (a[i - 1] == b[j - 1]) {
        46 res[i][j] = res[i - 1][j - 1] + 1;
        47 } else {
        -
        48 res[i][j] = std::max(res[i - 1][j], res[i][j - 1]);
        +
        48 res[i][j] = std::max(res[i - 1][j], res[i][j - 1]);
        49 }
        50 }
        51 }
        52 // Length of longest palindromic subsequence
        53 auto idx = res[m][m];
        54 // Creating string of index+1 length
        -
        55 std::string ans(idx, '\0');
        +
        55 std::string ans(idx, '\0');
        56 ind_type i = m, j = m;
        57
        58 // starting from right-most bottom-most corner
        @@ -347,13 +357,7 @@ Here is the call graph for this function:
        77
        78 return ans;
        79}
        - -
        -Here is the call graph for this function:
        -
        -
        -
        - + @@ -365,7 +369,7 @@ Here is the call graph for this function: int dynamic_programming::maxCircularSum ( - std::vector< int > & arr) + std::vector< int > & arr) @@ -379,14 +383,16 @@ Here is the call graph for this function:
        Returns
        int which is the maximum sum
        + +

        Definition at line 26 of file maximum_circular_subarray.cpp.

        27{
        28 // Edge Case
        -
        29 if (arr.size() == 1)
        +
        29 if (arr.size() == 1)
        30 return arr[0];
        31
        32 // Sum variable which stores total sum of the array.
        33 int sum = 0;
        -
        34 for (int i = 0; i < arr.size(); i++) {
        +
        34 for (int i = 0; i < arr.size(); i++) {
        35 sum += arr[i];
        36 }
        37
        @@ -394,30 +400,23 @@ Here is the call graph for this function:
        39 int current_max = arr[0], max_so_far = arr[0], current_min = arr[0], min_so_far = arr[0];
        40
        41 // Concept of Kadane's Algorithm
        -
        42 for (int i = 1; i < arr.size(); i++) {
        +
        42 for (int i = 1; i < arr.size(); i++) {
        43 // Kadane's Algorithm to find Maximum subarray sum.
        -
        44 current_max = std::max(current_max + arr[i], arr[i]);
        -
        45 max_so_far = std::max(max_so_far, current_max);
        +
        44 current_max = std::max(current_max + arr[i], arr[i]);
        +
        45 max_so_far = std::max(max_so_far, current_max);
        46
        47 // Kadane's Algorithm to find Minimum subarray sum.
        -
        48 current_min = std::min(current_min + arr[i], arr[i]);
        -
        49 min_so_far = std::min(min_so_far, current_min);
        +
        48 current_min = std::min(current_min + arr[i], arr[i]);
        +
        49 min_so_far = std::min(min_so_far, current_min);
        50 }
        51
        52 if (min_so_far == sum)
        53 return max_so_far;
        54
        55 // Return the maximum value
        -
        56 return std::max(max_so_far, sum - min_so_far);
        +
        56 return std::max(max_so_far, sum - min_so_far);
        57}
        -
        T min(T... args)
        -
        T size(T... args)
        -
        -Here is the call graph for this function:
        -
        -
        -
        - + @@ -429,7 +428,7 @@ Here is the call graph for this function: uint32_t dynamic_programming::trappedRainwater ( - const std::vector< uint32_t > & heights) + const std::vector< uint32_t > & heights) @@ -443,41 +442,37 @@ Here is the call graph for this function:
        Returns
        The amount of trapped rainwater
        + +

        Definition at line 27 of file trapped_rainwater.cpp.

        27 {
        -
        28 std::size_t n = heights.size();
        +
        28 std::size_t n = heights.size();
        29 if (n <= 2)
        30 return 0; // No water can be trapped with less than 3 walls
        31
        -
        32 std::vector<uint32_t> leftMax(n), rightMax(n);
        +
        32 std::vector<uint32_t> leftMax(n), rightMax(n);
        33
        34 // Calculate the maximum height of wall to the left of each wall
        35 leftMax[0] = heights[0];
        -
        36 for (std::size_t i = 1; i < n; ++i) {
        -
        37 leftMax[i] = std::max(leftMax[i - 1], heights[i]);
        +
        36 for (std::size_t i = 1; i < n; ++i) {
        +
        37 leftMax[i] = std::max(leftMax[i - 1], heights[i]);
        38 }
        39
        40 // Calculate the maximum height of wall to the right of each wall
        41 rightMax[n - 1] = heights[n - 1];
        -
        42 for (std::size_t i = n - 2; i < n; --i) {
        -
        43 rightMax[i] = std::max(rightMax[i + 1], heights[i]);
        +
        42 for (std::size_t i = n - 2; i < n; --i) {
        +
        43 rightMax[i] = std::max(rightMax[i + 1], heights[i]);
        44 }
        45
        46 // Calculate the trapped rainwater between walls
        47 uint32_t trappedWater = 0;
        -
        48 for (std::size_t i = 0; i < n; ++i) {
        +
        48 for (std::size_t i = 0; i < n; ++i) {
        49 trappedWater +=
        -
        50 std::max(0u, std::min(leftMax[i], rightMax[i]) - heights[i]);
        +
        50 std::max(0u, std::min(leftMax[i], rightMax[i]) - heights[i]);
        51 }
        52
        53 return trappedWater;
        54}
        - -
        -Here is the call graph for this function:
        -
        -
        -
        - + diff --git a/dd/d24/namespacedynamic__programming_a066e0e739e7c276eee6e61d5b4d37ce8_cgraph.map b/dd/d24/namespacedynamic__programming_a066e0e739e7c276eee6e61d5b4d37ce8_cgraph.map deleted file mode 100644 index 72f878475..000000000 --- a/dd/d24/namespacedynamic__programming_a066e0e739e7c276eee6e61d5b4d37ce8_cgraph.map +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/dd/d24/namespacedynamic__programming_a066e0e739e7c276eee6e61d5b4d37ce8_cgraph.md5 b/dd/d24/namespacedynamic__programming_a066e0e739e7c276eee6e61d5b4d37ce8_cgraph.md5 deleted file mode 100644 index 15d9ca50b..000000000 --- a/dd/d24/namespacedynamic__programming_a066e0e739e7c276eee6e61d5b4d37ce8_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -d46ed760551b143c23aab1cdfba3dfb6 \ No newline at end of file diff --git a/dd/d24/namespacedynamic__programming_a066e0e739e7c276eee6e61d5b4d37ce8_cgraph.svg b/dd/d24/namespacedynamic__programming_a066e0e739e7c276eee6e61d5b4d37ce8_cgraph.svg deleted file mode 100644 index 3508b497e..000000000 --- a/dd/d24/namespacedynamic__programming_a066e0e739e7c276eee6e61d5b4d37ce8_cgraph.svg +++ /dev/null @@ -1,102 +0,0 @@ - - - - - - - - - - - - -dynamic_programming::trappedRainwater - - -Node1 - - -dynamic_programming -::trappedRainwater - - - - - -Node2 - - -std::max - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::min - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::vector::size - - - - - -Node1->Node4 - - - - - - - - - - - - - diff --git a/dd/d24/namespacedynamic__programming_a066e0e739e7c276eee6e61d5b4d37ce8_cgraph_org.svg b/dd/d24/namespacedynamic__programming_a066e0e739e7c276eee6e61d5b4d37ce8_cgraph_org.svg deleted file mode 100644 index 412c0f9c6..000000000 --- a/dd/d24/namespacedynamic__programming_a066e0e739e7c276eee6e61d5b4d37ce8_cgraph_org.svg +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - -dynamic_programming::trappedRainwater - - -Node1 - - -dynamic_programming -::trappedRainwater - - - - - -Node2 - - -std::max - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::min - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::vector::size - - - - - -Node1->Node4 - - - - - - - - diff --git a/dd/d24/namespacedynamic__programming_a0a2215194e58786c34db1ccaf8031079_cgraph.map b/dd/d24/namespacedynamic__programming_a0a2215194e58786c34db1ccaf8031079_cgraph.map deleted file mode 100644 index 7d8c74f1a..000000000 --- a/dd/d24/namespacedynamic__programming_a0a2215194e58786c34db1ccaf8031079_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/dd/d24/namespacedynamic__programming_a0a2215194e58786c34db1ccaf8031079_cgraph.md5 b/dd/d24/namespacedynamic__programming_a0a2215194e58786c34db1ccaf8031079_cgraph.md5 deleted file mode 100644 index e4d390e3c..000000000 --- a/dd/d24/namespacedynamic__programming_a0a2215194e58786c34db1ccaf8031079_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -b794bb4e2fe175e960812153cc6aa135 \ No newline at end of file diff --git a/dd/d24/namespacedynamic__programming_a0a2215194e58786c34db1ccaf8031079_cgraph.svg b/dd/d24/namespacedynamic__programming_a0a2215194e58786c34db1ccaf8031079_cgraph.svg deleted file mode 100644 index 474a64a6b..000000000 --- a/dd/d24/namespacedynamic__programming_a0a2215194e58786c34db1ccaf8031079_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -dynamic_programming::LIS - - -Node1 - - -dynamic_programming::LIS - - - - - -Node2 - - -std::max - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/dd/d24/namespacedynamic__programming_a0a2215194e58786c34db1ccaf8031079_cgraph_org.svg b/dd/d24/namespacedynamic__programming_a0a2215194e58786c34db1ccaf8031079_cgraph_org.svg deleted file mode 100644 index 0883c62aa..000000000 --- a/dd/d24/namespacedynamic__programming_a0a2215194e58786c34db1ccaf8031079_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -dynamic_programming::LIS - - -Node1 - - -dynamic_programming::LIS - - - - - -Node2 - - -std::max - - - - - -Node1->Node2 - - - - - - - - diff --git a/dd/d24/namespacedynamic__programming_a5239174fa0d987f2c67edc1f2af82beb_cgraph.map b/dd/d24/namespacedynamic__programming_a5239174fa0d987f2c67edc1f2af82beb_cgraph.map deleted file mode 100644 index 1207eadef..000000000 --- a/dd/d24/namespacedynamic__programming_a5239174fa0d987f2c67edc1f2af82beb_cgraph.map +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/dd/d24/namespacedynamic__programming_a5239174fa0d987f2c67edc1f2af82beb_cgraph.md5 b/dd/d24/namespacedynamic__programming_a5239174fa0d987f2c67edc1f2af82beb_cgraph.md5 deleted file mode 100644 index c6f09c941..000000000 --- a/dd/d24/namespacedynamic__programming_a5239174fa0d987f2c67edc1f2af82beb_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -85de9be16b73e8ad71ac29f6c88528d7 \ No newline at end of file diff --git a/dd/d24/namespacedynamic__programming_a5239174fa0d987f2c67edc1f2af82beb_cgraph.svg b/dd/d24/namespacedynamic__programming_a5239174fa0d987f2c67edc1f2af82beb_cgraph.svg deleted file mode 100644 index f42b6bb2d..000000000 --- a/dd/d24/namespacedynamic__programming_a5239174fa0d987f2c67edc1f2af82beb_cgraph.svg +++ /dev/null @@ -1,102 +0,0 @@ - - - - - - - - - - - - -dynamic_programming::maxCircularSum - - -Node1 - - -dynamic_programming -::maxCircularSum - - - - - -Node2 - - -std::max - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::min - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::vector::size - - - - - -Node1->Node4 - - - - - - - - - - - - - diff --git a/dd/d24/namespacedynamic__programming_a5239174fa0d987f2c67edc1f2af82beb_cgraph_org.svg b/dd/d24/namespacedynamic__programming_a5239174fa0d987f2c67edc1f2af82beb_cgraph_org.svg deleted file mode 100644 index 65a8420e0..000000000 --- a/dd/d24/namespacedynamic__programming_a5239174fa0d987f2c67edc1f2af82beb_cgraph_org.svg +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - -dynamic_programming::maxCircularSum - - -Node1 - - -dynamic_programming -::maxCircularSum - - - - - -Node2 - - -std::max - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::min - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::vector::size - - - - - -Node1->Node4 - - - - - - - - diff --git a/dd/d24/namespacedynamic__programming_af046365a8d77a1267acc082f86135a26_cgraph.map b/dd/d24/namespacedynamic__programming_af046365a8d77a1267acc082f86135a26_cgraph.map deleted file mode 100644 index a749ac46e..000000000 --- a/dd/d24/namespacedynamic__programming_af046365a8d77a1267acc082f86135a26_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/dd/d24/namespacedynamic__programming_af046365a8d77a1267acc082f86135a26_cgraph.md5 b/dd/d24/namespacedynamic__programming_af046365a8d77a1267acc082f86135a26_cgraph.md5 deleted file mode 100644 index 471aa875f..000000000 --- a/dd/d24/namespacedynamic__programming_af046365a8d77a1267acc082f86135a26_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -7da8fe47c028c03a3dbfaa20072e47d7 \ No newline at end of file diff --git a/dd/d24/namespacedynamic__programming_af046365a8d77a1267acc082f86135a26_cgraph.svg b/dd/d24/namespacedynamic__programming_af046365a8d77a1267acc082f86135a26_cgraph.svg deleted file mode 100644 index 9928faf51..000000000 --- a/dd/d24/namespacedynamic__programming_af046365a8d77a1267acc082f86135a26_cgraph.svg +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - - - - - - - -dynamic_programming::is_armstrong - - -Node1 - - -dynamic_programming -::is_armstrong - - - - - -Node2 - - -std::pow - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/dd/d24/namespacedynamic__programming_af046365a8d77a1267acc082f86135a26_cgraph_org.svg b/dd/d24/namespacedynamic__programming_af046365a8d77a1267acc082f86135a26_cgraph_org.svg deleted file mode 100644 index cb8af0e4c..000000000 --- a/dd/d24/namespacedynamic__programming_af046365a8d77a1267acc082f86135a26_cgraph_org.svg +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - -dynamic_programming::is_armstrong - - -Node1 - - -dynamic_programming -::is_armstrong - - - - - -Node2 - - -std::pow - - - - - -Node1->Node2 - - - - - - - - diff --git a/dd/d24/namespacedynamic__programming_afe9f45b6e30ee187509da2d1d0093412_cgraph.map b/dd/d24/namespacedynamic__programming_afe9f45b6e30ee187509da2d1d0093412_cgraph.map deleted file mode 100644 index f5ba6dd4d..000000000 --- a/dd/d24/namespacedynamic__programming_afe9f45b6e30ee187509da2d1d0093412_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/dd/d24/namespacedynamic__programming_afe9f45b6e30ee187509da2d1d0093412_cgraph.md5 b/dd/d24/namespacedynamic__programming_afe9f45b6e30ee187509da2d1d0093412_cgraph.md5 deleted file mode 100644 index c9a230de4..000000000 --- a/dd/d24/namespacedynamic__programming_afe9f45b6e30ee187509da2d1d0093412_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -1f4139b93c017d0ebbdfc39bf36938b0 \ No newline at end of file diff --git a/dd/d24/namespacedynamic__programming_afe9f45b6e30ee187509da2d1d0093412_cgraph.svg b/dd/d24/namespacedynamic__programming_afe9f45b6e30ee187509da2d1d0093412_cgraph.svg deleted file mode 100644 index 276816cee..000000000 --- a/dd/d24/namespacedynamic__programming_afe9f45b6e30ee187509da2d1d0093412_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -dynamic_programming::lps - - -Node1 - - -dynamic_programming::lps - - - - - -Node2 - - -std::max - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/dd/d24/namespacedynamic__programming_afe9f45b6e30ee187509da2d1d0093412_cgraph_org.svg b/dd/d24/namespacedynamic__programming_afe9f45b6e30ee187509da2d1d0093412_cgraph_org.svg deleted file mode 100644 index bac756bbf..000000000 --- a/dd/d24/namespacedynamic__programming_afe9f45b6e30ee187509da2d1d0093412_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -dynamic_programming::lps - - -Node1 - - -dynamic_programming::lps - - - - - -Node2 - - -std::max - - - - - -Node1->Node2 - - - - - - - - diff --git a/dd/d29/false__position_8cpp.html b/dd/d29/false__position_8cpp.html index 7fd40b515..077ec633e 100644 --- a/dd/d29/false__position_8cpp.html +++ b/dd/d29/false__position_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: numerical_methods/false_position.cpp File Reference +TheAlgorithms/C++: numerical_methods/false_position.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
        @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -120,7 +137,9 @@ Include dependency graph for false_position.cpp:
        -
        -
        Algorithms_in_C++ 1.0.0 +
        TheAlgorithms/C++ 1.0.0
        -
        Set of algorithms implemented in C++.
        +
        All the algorithms implemented in C++
        + +

        Go to the source code of this file.

        +
        @@ -158,6 +177,8 @@ x_{i+1} = \frac{a_i\cdot f(b_i) - b_i\cdot f(a_i)}{f(b_i) - f(a_i)}
        Author
        Unknown author
        Samruddha Patil
        + +

        Definition in file false_position.cpp.

        Function Documentation

        ◆ eq()

        @@ -190,15 +211,12 @@ x_{i+1} = \frac{a_i\cdot f(b_i) - b_i\cdot f(a_i)}{f(b_i) - f(a_i)}
        Returns
        value of f(x) for given x.
        + +

        Definition at line 44 of file false_position.cpp.

        44 {
        45 return (x * x - x); // original equation
        46}
        -
        -Here is the call graph for this function:
        -
        -
        -
        - + @@ -218,6 +236,8 @@ Here is the call graph for this function:

        Main function.

        Returns
        0 on exit
        + +

        Definition at line 102 of file false_position.cpp.

        102 {
        103 float a = 0, b = 0, i = 0, root = 0;
        104 int16_t count = 0;
        @@ -245,9 +265,9 @@ Here is the call graph for this function:
        126 }
        127 return 0;
        128}
        -
        static float regula_falsi(float x1, float x2, float y1, float y2)
        This function finds root of the equation in given interval i.e. (x1,x2).
        Definition false_position.cpp:55
        -
        static float eq(float x)
        This function gives the value of f(x) for given x.
        Definition false_position.cpp:44
        -
        void printRoot(float root, const int16_t &count)
        This function prints roots of the equation.
        Definition false_position.cpp:84
        +
        static float regula_falsi(float x1, float x2, float y1, float y2)
        This function finds root of the equation in given interval i.e. (x1,x2).
        +
        static float eq(float x)
        This function gives the value of f(x) for given x.
        +
        void printRoot(float root, const int16_t &count)
        This function prints roots of the equation.
        @@ -278,25 +298,20 @@ Here is the call graph for this function:

        Namespaces

        namespace  numerical_methods
        + +

        Definition at line 84 of file false_position.cpp.

        84 {
        85 if (count == 1) {
        -
        86 std::cout << "Your 1st root is : " << root << std::endl;
        +
        86 std::cout << "Your 1st root is : " << root << std::endl;
        87 } else if (count == 2) {
        -
        88 std::cout << "Your 2nd root is : " << root << std::endl;
        +
        88 std::cout << "Your 2nd root is : " << root << std::endl;
        89 } else if (count == 3) {
        -
        90 std::cout << "Your 3rd root is : " << root << std::endl;
        +
        90 std::cout << "Your 3rd root is : " << root << std::endl;
        91 } else {
        -
        92 std::cout << "Your " << count << "th root is : " << root << std::endl;
        +
        92 std::cout << "Your " << count << "th root is : " << root << std::endl;
        93 }
        94}
        - -
        T endl(T... args)
        -
        -Here is the call graph for this function:
        -
        -
        -
        - +
        @@ -345,6 +360,8 @@ Here is the call graph for this function:
        Returns
        root of the equation in the given interval.
        + +

        Definition at line 55 of file false_position.cpp.

        55 {
        56 float diff = x1 - x2;
        57 if (diff < 0) {
        @@ -368,13 +385,8 @@ Here is the call graph for this function:
        75 y3 = eq(x3);
        76 return regula_falsi(x2, x3, y2, y3);
        77}
        -
        static double eq(double i)
        Definition bisection_method.cpp:26
        -
        -Here is the call graph for this function:
        -
        -
        -
        - +
        static double eq(double i)
        + diff --git a/dd/d29/false__position_8cpp_a7d69b49dc37da1c02b3ab8c7fe783494_cgraph.map b/dd/d29/false__position_8cpp_a7d69b49dc37da1c02b3ab8c7fe783494_cgraph.map deleted file mode 100644 index ec81c5643..000000000 --- a/dd/d29/false__position_8cpp_a7d69b49dc37da1c02b3ab8c7fe783494_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/dd/d29/false__position_8cpp_a7d69b49dc37da1c02b3ab8c7fe783494_cgraph.md5 b/dd/d29/false__position_8cpp_a7d69b49dc37da1c02b3ab8c7fe783494_cgraph.md5 deleted file mode 100644 index ff252ddc8..000000000 --- a/dd/d29/false__position_8cpp_a7d69b49dc37da1c02b3ab8c7fe783494_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -f8903bb8122e22d4b11f5bd7640600d2 \ No newline at end of file diff --git a/dd/d29/false__position_8cpp_a7d69b49dc37da1c02b3ab8c7fe783494_cgraph.svg b/dd/d29/false__position_8cpp_a7d69b49dc37da1c02b3ab8c7fe783494_cgraph.svg deleted file mode 100644 index d8f7d702e..000000000 --- a/dd/d29/false__position_8cpp_a7d69b49dc37da1c02b3ab8c7fe783494_cgraph.svg +++ /dev/null @@ -1,85 +0,0 @@ - - - - - - - - - - - - -numerical_methods::false_position::regula_falsi - - -Node1 - - -numerical_methods:: -false_position::regula_falsi - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -numerical_methods:: -false_position::eq - - - - - -Node1->Node2 - - - - - - - - -Node2->Node2 - - - - - - - - - - - - - diff --git a/dd/d29/false__position_8cpp_a7d69b49dc37da1c02b3ab8c7fe783494_cgraph_org.svg b/dd/d29/false__position_8cpp_a7d69b49dc37da1c02b3ab8c7fe783494_cgraph_org.svg deleted file mode 100644 index 1e22d177f..000000000 --- a/dd/d29/false__position_8cpp_a7d69b49dc37da1c02b3ab8c7fe783494_cgraph_org.svg +++ /dev/null @@ -1,59 +0,0 @@ - - - - - - -numerical_methods::false_position::regula_falsi - - -Node1 - - -numerical_methods:: -false_position::regula_falsi - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -numerical_methods:: -false_position::eq - - - - - -Node1->Node2 - - - - - - - - -Node2->Node2 - - - - - - - - diff --git a/dd/d29/false__position_8cpp_a85a6ec58b5064d63d4f0df3854496713_cgraph.map b/dd/d29/false__position_8cpp_a85a6ec58b5064d63d4f0df3854496713_cgraph.map deleted file mode 100644 index 04df4f813..000000000 --- a/dd/d29/false__position_8cpp_a85a6ec58b5064d63d4f0df3854496713_cgraph.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/dd/d29/false__position_8cpp_a85a6ec58b5064d63d4f0df3854496713_cgraph.md5 b/dd/d29/false__position_8cpp_a85a6ec58b5064d63d4f0df3854496713_cgraph.md5 deleted file mode 100644 index c89caf8f1..000000000 --- a/dd/d29/false__position_8cpp_a85a6ec58b5064d63d4f0df3854496713_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -daf0f310137fb00bb5896684749b7198 \ No newline at end of file diff --git a/dd/d29/false__position_8cpp_a85a6ec58b5064d63d4f0df3854496713_cgraph.svg b/dd/d29/false__position_8cpp_a85a6ec58b5064d63d4f0df3854496713_cgraph.svg deleted file mode 100644 index 172b5c427..000000000 --- a/dd/d29/false__position_8cpp_a85a6ec58b5064d63d4f0df3854496713_cgraph.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - - - - - - - -numerical_methods::false_position::eq - - -Node1 - - -numerical_methods:: -false_position::eq - - - - - -Node1->Node1 - - - - - - - - - - - - - diff --git a/dd/d29/false__position_8cpp_a85a6ec58b5064d63d4f0df3854496713_cgraph_org.svg b/dd/d29/false__position_8cpp_a85a6ec58b5064d63d4f0df3854496713_cgraph_org.svg deleted file mode 100644 index c70585212..000000000 --- a/dd/d29/false__position_8cpp_a85a6ec58b5064d63d4f0df3854496713_cgraph_org.svg +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - -numerical_methods::false_position::eq - - -Node1 - - -numerical_methods:: -false_position::eq - - - - - -Node1->Node1 - - - - - - - - diff --git a/dd/d29/false__position_8cpp_a85cb7bfb90abc898e042d624372c5345_cgraph.map b/dd/d29/false__position_8cpp_a85cb7bfb90abc898e042d624372c5345_cgraph.map deleted file mode 100644 index 46868ad1b..000000000 --- a/dd/d29/false__position_8cpp_a85cb7bfb90abc898e042d624372c5345_cgraph.map +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/dd/d29/false__position_8cpp_a85cb7bfb90abc898e042d624372c5345_cgraph.md5 b/dd/d29/false__position_8cpp_a85cb7bfb90abc898e042d624372c5345_cgraph.md5 deleted file mode 100644 index da28071d6..000000000 --- a/dd/d29/false__position_8cpp_a85cb7bfb90abc898e042d624372c5345_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -65b3cf4604fd9d2484d9f6b1fa655b52 \ No newline at end of file diff --git a/dd/d29/false__position_8cpp_a85cb7bfb90abc898e042d624372c5345_cgraph.svg b/dd/d29/false__position_8cpp_a85cb7bfb90abc898e042d624372c5345_cgraph.svg deleted file mode 100644 index 97ffd30b7..000000000 --- a/dd/d29/false__position_8cpp_a85cb7bfb90abc898e042d624372c5345_cgraph.svg +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - - - - - - - -numerical_methods::false_position::printRoot - - -Node1 - - -numerical_methods:: -false_position::printRoot - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/dd/d29/false__position_8cpp_a85cb7bfb90abc898e042d624372c5345_cgraph_org.svg b/dd/d29/false__position_8cpp_a85cb7bfb90abc898e042d624372c5345_cgraph_org.svg deleted file mode 100644 index 2018212c8..000000000 --- a/dd/d29/false__position_8cpp_a85cb7bfb90abc898e042d624372c5345_cgraph_org.svg +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - -numerical_methods::false_position::printRoot - - -Node1 - - -numerical_methods:: -false_position::printRoot - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - diff --git a/dd/d29/false__position_8cpp_source.html b/dd/d29/false__position_8cpp_source.html new file mode 100644 index 000000000..6b8a4f576 --- /dev/null +++ b/dd/d29/false__position_8cpp_source.html @@ -0,0 +1,226 @@ + + + + + + + + +TheAlgorithms/C++: numerical_methods/false_position.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
        +
        + + + + + + + +
        +
        TheAlgorithms/C++ 1.0.0 +
        +
        All the algorithms implemented in C++
        +
        +
        + + + + + + + + +
        +
        + +
        +
        +
        + +
        + +
        +
        + + +
        +
        +
        +
        +
        +
        Loading...
        +
        Searching...
        +
        No Matches
        +
        +
        +
        +
        + +
        +
        false_position.cpp
        +
        +
        +Go to the documentation of this file.
        1
        +
        25#include <cmath>
        +
        26#include <iostream>
        +
        27
        +
        32namespace numerical_methods {
        +
        38namespace false_position {
        +
        +
        44static float eq(float x) {
        +
        45 return (x * x - x); // original equation
        +
        46}
        +
        +
        47
        +
        +
        55static float regula_falsi(float x1, float x2, float y1, float y2) {
        +
        56 float diff = x1 - x2;
        +
        57 if (diff < 0) {
        +
        58 diff = (-1) * diff;
        +
        59 }
        +
        60 if (diff < 0.00001) {
        +
        61 if (y1 < 0) {
        +
        62 y1 = -y1;
        +
        63 }
        +
        64 if (y2 < 0) {
        +
        65 y2 = -y2;
        +
        66 }
        +
        67 if (y1 < y2) {
        +
        68 return x1;
        +
        69 } else {
        +
        70 return x2;
        +
        71 }
        +
        72 }
        +
        73 float x3 = 0, y3 = 0;
        +
        74 x3 = x1 - (x1 - x2) * (y1) / (y1 - y2);
        +
        75 y3 = eq(x3);
        +
        76 return regula_falsi(x2, x3, y2, y3);
        +
        77}
        +
        +
        78
        +
        +
        84void printRoot(float root, const int16_t &count) {
        +
        85 if (count == 1) {
        +
        86 std::cout << "Your 1st root is : " << root << std::endl;
        +
        87 } else if (count == 2) {
        +
        88 std::cout << "Your 2nd root is : " << root << std::endl;
        +
        89 } else if (count == 3) {
        +
        90 std::cout << "Your 3rd root is : " << root << std::endl;
        +
        91 } else {
        +
        92 std::cout << "Your " << count << "th root is : " << root << std::endl;
        +
        93 }
        +
        94}
        +
        +
        95} // namespace false_position
        +
        96} // namespace numerical_methods
        +
        97
        +
        +
        102int main() {
        +
        103 float a = 0, b = 0, i = 0, root = 0;
        +
        104 int16_t count = 0;
        +
        105 float range =
        +
        106 100000; // Range in which we have to find the root. (-range,range)
        +
        107 float gap = 0.5; // interval gap. lesser the gap more the accuracy
        +
        108 a = numerical_methods::false_position::eq((-1) * range);
        +
        109 i = ((-1) * range + gap);
        +
        110 // while loop for selecting proper interval in provided range and with
        +
        111 // provided interval gap.
        +
        112 while (i <= range) {
        +
        113 b = numerical_methods::false_position::eq(i);
        +
        114 if (b == 0) {
        +
        115 count++;
        +
        116 numerical_methods::false_position::printRoot(i, count);
        +
        117 }
        +
        118 if (a * b < 0) {
        +
        119 root = numerical_methods::false_position::regula_falsi(i - gap, i,
        +
        120 a, b);
        +
        121 count++;
        +
        122 numerical_methods::false_position::printRoot(root, count);
        +
        123 }
        +
        124 a = b;
        +
        125 i += gap;
        +
        126 }
        +
        127 return 0;
        +
        128}
        +
        +
        static float regula_falsi(float x1, float x2, float y1, float y2)
        This function finds root of the equation in given interval i.e. (x1,x2).
        +
        static float eq(float x)
        This function gives the value of f(x) for given x.
        +
        void printRoot(float root, const int16_t &count)
        This function prints roots of the equation.
        +
        int main()
        Main function.
        +
        Functions for [False Position] (https://en.wikipedia.org/wiki/Regula_falsi) method.
        + +
        +
        + + + + diff --git a/dd/d2e/namespacedata__structures_1_1treap.html b/dd/d2e/namespacedata__structures_1_1treap.html index 608224697..427d304df 100644 --- a/dd/d2e/namespacedata__structures_1_1treap.html +++ b/dd/d2e/namespacedata__structures_1_1treap.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: data_structures::treap Namespace Reference +TheAlgorithms/C++: data_structures::treap Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
        @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -122,14 +139,32 @@ Classes
        -
        Algorithms_in_C++ 1.0.0 +
        TheAlgorithms/C++ 1.0.0
        -
        Set of algorithms implemented in C++.
        +
        All the algorithms implemented in C++
        - - + +

        Variables

        -const int maxNode = 1e5 + 5
         maximum number of nodes
        const int maxNode = 1e5 + 5
         maximum number of nodes
         

        Detailed Description

        Functions for the Treap algorithm implementation.

        -
        +

        Variable Documentation

        + +

        ◆ maxNode

        + +
        +
        + + + + +
        const int data_structures::treap::maxNode = 1e5 + 5
        +
        + +

        maximum number of nodes

        + +

        Definition at line 36 of file treap.cpp.

        + +
        +
        + @@ -248,7 +268,7 @@ static constexpr size_t AL void Trie::insert ( - const std::string & word) + const std::string & word) @@ -264,6 +284,8 @@ static constexpr size_t AL + +

        Definition at line 109 of file trie_modern.cpp.

        109 {
        110 auto curr = m_root;
        111 for (char ch : word) {
        @@ -272,19 +294,14 @@ static constexpr size_t AL
        114 // if a node for current word is not already present in trie, create
        115 // a new node for it.
        116 if (!curr->character[index]) {
        -
        117 curr->character[index] = std::make_shared<TrieNode>();
        +
        117 curr->character[index] = std::make_shared<TrieNode>();
        118 }
        119
        120 curr = curr->character[index];
        121 }
        122 curr->isEndOfWord = true;
        123 }
        -
        -Here is the call graph for this function:
        -
        -
        -
        - + @@ -299,7 +316,7 @@ Here is the call graph for this function: void Trie::removeWord ( - const std::string & word) + const std::string & word) @@ -309,10 +326,12 @@ Here is the call graph for this function:
        + +

        Definition at line 148 of file trie_modern.cpp.

        148 {
        149 m_root = removeWordHelper(word, m_root, 0);
        150 }
        -
        std::shared_ptr< TrieNode > removeWordHelper(const std::string &word, std::shared_ptr< TrieNode > curr, size_t index)
        Definition trie_modern.cpp:64
        +
        std::shared_ptr< TrieNode > removeWordHelper(const std::string &word, std::shared_ptr< TrieNode > curr, size_t index)
        @@ -326,14 +345,14 @@ Here is the call graph for this function: - + - + - + @@ -362,8 +381,10 @@ Here is the call graph for this function:
        std::shared_ptr< TrieNode > Trie::removeWordHelper std::shared_ptr< TrieNode > Trie::removeWordHelper (const std::string & word, const std::string & word,
        std::shared_ptr< TrieNode > curr, std::shared_ptr< TrieNode > curr,
        + +

        Definition at line 64 of file trie_modern.cpp.

        66 {
        -
        67 if (word.size() == index) {
        +
        67 if (word.size() == index) {
        68 if (curr->isEndOfWord) {
        69 curr->isEndOfWord = false;
        70 }
        @@ -378,7 +399,7 @@ Here is the call graph for this function:
        79 // Throw a runtime error in case the user enters a word which is not
        80 // present in the trie.
        81 if (!curr->character[idx]) {
        -
        82 throw std::runtime_error(std::move(std::string("Word not found.")));
        +
        82 throw std::runtime_error(std::move(std::string("Word not found.")));
        83 }
        84
        85 curr->character[idx] =
        @@ -396,17 +417,8 @@ Here is the call graph for this function:
        97 }
        98 return nullptr;
        99 }
        - -
        static bool hasChildren(std::shared_ptr< TrieNode > node)
        Definition trie_modern.cpp:41
        -
        T move(T... args)
        - -
        T size(T... args)
        -
        -Here is the call graph for this function:
        -
        -
        -
        - +
        static bool hasChildren(std::shared_ptr< TrieNode > node)
        + @@ -421,7 +433,7 @@ Here is the call graph for this function: bool Trie::search ( - const std::string & word) + const std::string & word) @@ -440,6 +452,8 @@ Here is the call graph for this function:
        Returns
        True if the word is found in trie and isEndOfWord is set to true.
        False if word is not found in trie or isEndOfWord is set to false.
        + +

        Definition at line 132 of file trie_modern.cpp.

        132 {
        133 auto curr = m_root;
        134 for (char ch : word) {
        @@ -455,10 +469,59 @@ False if word is not found in trie or isEndOfWord is set to false.
        144 return curr->isEndOfWord;
        145 }
        + + +

        Member Data Documentation

        + +

        ◆ ALPHABETS

        + +
        +
        + + + + + +
        + + + + +
        size_t Trie::ALPHABETS = 26
        +
        +staticconstexprprivate
        +
        + +

        Definition at line 18 of file trie_modern.cpp.

        + +
        +
        + +

        ◆ m_root

        + +
        +
        + + + + + +
        + + + + +
        std::shared_ptr<TrieNode> Trie::m_root
        +
        +private
        +
        + +

        Definition at line 154 of file trie_modern.cpp.

        +

        The documentation for this class was generated from the following file: diff --git a/dd/d2f/class_trie_a26941759ecf94d67a27d4a610bc0f63d_cgraph.map b/dd/d2f/class_trie_a26941759ecf94d67a27d4a610bc0f63d_cgraph.map deleted file mode 100644 index 7074e16ab..000000000 --- a/dd/d2f/class_trie_a26941759ecf94d67a27d4a610bc0f63d_cgraph.map +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/dd/d2f/class_trie_a26941759ecf94d67a27d4a610bc0f63d_cgraph.md5 b/dd/d2f/class_trie_a26941759ecf94d67a27d4a610bc0f63d_cgraph.md5 deleted file mode 100644 index 4ef1392c6..000000000 --- a/dd/d2f/class_trie_a26941759ecf94d67a27d4a610bc0f63d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -2dfcdc6bedd3fb2f2384526b63c7fd78 \ No newline at end of file diff --git a/dd/d2f/class_trie_a26941759ecf94d67a27d4a610bc0f63d_cgraph.svg b/dd/d2f/class_trie_a26941759ecf94d67a27d4a610bc0f63d_cgraph.svg deleted file mode 100644 index 86e6d88fa..000000000 --- a/dd/d2f/class_trie_a26941759ecf94d67a27d4a610bc0f63d_cgraph.svg +++ /dev/null @@ -1,110 +0,0 @@ - - - - - - - - - - - - -Trie::removeWordHelper - - -Node1 - - -Trie::removeWordHelper - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -Trie::hasChildren - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::move - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::string::size - - - - - -Node1->Node4 - - - - - - - - - - - - - diff --git a/dd/d2f/class_trie_a26941759ecf94d67a27d4a610bc0f63d_cgraph_org.svg b/dd/d2f/class_trie_a26941759ecf94d67a27d4a610bc0f63d_cgraph_org.svg deleted file mode 100644 index 2f5ec6975..000000000 --- a/dd/d2f/class_trie_a26941759ecf94d67a27d4a610bc0f63d_cgraph_org.svg +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - -Trie::removeWordHelper - - -Node1 - - -Trie::removeWordHelper - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -Trie::hasChildren - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::move - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::string::size - - - - - -Node1->Node4 - - - - - - - - diff --git a/dd/d2f/class_trie_afd8b79959009b554e98ea7128b2886f2_cgraph.map b/dd/d2f/class_trie_afd8b79959009b554e98ea7128b2886f2_cgraph.map deleted file mode 100644 index 0fbaf7f7e..000000000 --- a/dd/d2f/class_trie_afd8b79959009b554e98ea7128b2886f2_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/dd/d2f/class_trie_afd8b79959009b554e98ea7128b2886f2_cgraph.md5 b/dd/d2f/class_trie_afd8b79959009b554e98ea7128b2886f2_cgraph.md5 deleted file mode 100644 index c992a31c7..000000000 --- a/dd/d2f/class_trie_afd8b79959009b554e98ea7128b2886f2_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -ddde92be19236f01bbb64a2f62bfb00a \ No newline at end of file diff --git a/dd/d2f/class_trie_afd8b79959009b554e98ea7128b2886f2_cgraph.svg b/dd/d2f/class_trie_afd8b79959009b554e98ea7128b2886f2_cgraph.svg deleted file mode 100644 index 1a8b5c5ed..000000000 --- a/dd/d2f/class_trie_afd8b79959009b554e98ea7128b2886f2_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -Trie::insert - - -Node1 - - -Trie::insert - - - - - -Node2 - - -std::make_shared - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/dd/d2f/class_trie_afd8b79959009b554e98ea7128b2886f2_cgraph_org.svg b/dd/d2f/class_trie_afd8b79959009b554e98ea7128b2886f2_cgraph_org.svg deleted file mode 100644 index c4c0382d7..000000000 --- a/dd/d2f/class_trie_afd8b79959009b554e98ea7128b2886f2_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -Trie::insert - - -Node1 - - -Trie::insert - - - - - -Node2 - - -std::make_shared - - - - - -Node1->Node2 - - - - - - - - diff --git a/dd/d40/classdata__structures_1_1tree__234_1_1_node.html b/dd/d40/classdata__structures_1_1tree__234_1_1_node.html index a856eeeac..9fe5c2cfd 100644 --- a/dd/d40/classdata__structures_1_1tree__234_1_1_node.html +++ b/dd/d40/classdata__structures_1_1tree__234_1_1_node.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: data_structures::tree_234::Node Class Reference +TheAlgorithms/C++: data_structures::tree_234::Node Class Reference + + + @@ -18,14 +24,24 @@ - - + +
        @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -117,7 +134,7 @@ $(function(){initNavTree('dd/d40/classdata__structures_1_1tree__234_1_1_node.htm
        Collaboration diagram for data_structures::tree_234::Node:
        -
        +
        [legend]
        -
        Algorithms_in_C++ 1.0.0 +
        TheAlgorithms/C++ 1.0.0
        -
        Set of algorithms implemented in C++.
        +
        All the algorithms implemented in C++

        @@ -197,21 +214,20 @@ Public Member Functions

        - - + + - - + + - - + +

        Private Attributes

        -std::array< int64_t, 3 > items
         store items
        std::array< int64_t, 3 > items
         store items
         
        -std::array< Node *, 4 > children
         store the children pointers
        std::array< Node *, 4 > children
         store the children pointers
         
        -int8_t count = 0
         track the current item count
        int8_t count = 0
         track the current item count
         

        Detailed Description

        2-3-4 tree node class

        + +

        Definition at line 35 of file tree_234.cpp.

        Constructor & Destructor Documentation

        ◆ Node()

        @@ -243,12 +259,14 @@ int8_t count = 0< + +

        Definition at line 41 of file tree_234.cpp.

        42 : count(1),
        43 items({{item, 0, 0}}),
        44 children({{nullptr, nullptr, nullptr, nullptr}}) {}
        -
        std::array< int64_t, 3 > items
        store items
        Definition tree_234.cpp:315
        -
        int8_t count
        track the current item count
        Definition tree_234.cpp:319
        -
        std::array< Node *, 4 > children
        store the children pointers
        Definition tree_234.cpp:317
        +
        std::array< int64_t, 3 > items
        store items
        Definition tree_234.cpp:315
        +
        int8_t count
        track the current item count
        Definition tree_234.cpp:319
        +
        std::array< Node *, 4 > children
        store the children pointers
        Definition tree_234.cpp:317
        @@ -284,6 +302,8 @@ int8_t count = 0<
        Returns
        true if item in the node, otherwise false
        + +

        Definition at line 92 of file tree_234.cpp.

        92 {
        93 for (int8_t i = 0; i < count; i++) {
        94 if (item == items[i]) {
        @@ -326,6 +346,8 @@ int8_t count = 0<
        Returns
        the child pointer
        + +

        Definition at line 252 of file tree_234.cpp.

        252{ return children[index]; }
        @@ -361,6 +383,8 @@ int8_t count = 0<
        Returns
        the index of child
        + +

        Definition at line 237 of file tree_234.cpp.

        237 {
        238 for (int8_t i = 0; i < count + 1; i++) {
        239 if (children[i] == child) {
        @@ -398,6 +422,8 @@ int8_t count = 0<

        Get the item count that current saved in the node.

        Returns
        item count
        + +

        Definition at line 50 of file tree_234.cpp.

        50{ return count; }
        @@ -433,6 +459,8 @@ int8_t count = 0<
        Returns
        the item
        + +

        Definition at line 133 of file tree_234.cpp.

        133{ return items[index]; }
        @@ -468,6 +496,8 @@ int8_t count = 0<
        Returns
        0-based index of the item in the node, if not in the node, -1 is returned
        + +

        Definition at line 107 of file tree_234.cpp.

        107 {
        108 for (int8_t i = 0; i < count; i++) {
        109 if (items[i] == item) {
        @@ -510,6 +540,8 @@ int8_t count = 0<
        Returns
        left child of items[index]'s
        + +

        Definition at line 278 of file tree_234.cpp.

        278 {
        279 if (item_index < 0 || item_index > count - 1) {
        280 return nullptr;
        @@ -551,6 +583,8 @@ int8_t count = 0<
        Returns
        right child of items[index]'s
        + +

        Definition at line 291 of file tree_234.cpp.

        291 {
        292 if (item_index < 0 || item_index > count - 1) {
        293 return nullptr;
        @@ -586,6 +620,8 @@ int8_t count = 0<

        Get leftmose child of the current node.

        Returns
        the leftmost child
        + +

        Definition at line 271 of file tree_234.cpp.

        271{ return children[0]; }
        @@ -615,6 +651,8 @@ int8_t count = 0<

        Get max item (rightmost) in the current node.

        Returns
        max item
        + +

        Definition at line 120 of file tree_234.cpp.

        120{ return items[count - 1]; }
        @@ -644,6 +682,8 @@ int8_t count = 0<

        get min item (leftmost) in the current node

        Returns
        min item
        + +

        Definition at line 126 of file tree_234.cpp.

        126{ return items[0]; }
        @@ -679,6 +719,8 @@ int8_t count = 0<
        Returns
        the next node that possibly contains item
        + +

        Definition at line 304 of file tree_234.cpp.

        304 {
        305 int i = 0;
        306 for (i = 0; i < count; i++) {
        @@ -716,6 +758,8 @@ int8_t count = 0<

        Get rightmose child of the current node.

        Returns
        the rightmost child
        + +

        Definition at line 265 of file tree_234.cpp.

        265{ return children[count]; }
        @@ -752,6 +796,8 @@ int8_t count = 0<
        Returns
        index where item is inserted, caller can use this index to update its left and right child
        + +

        Definition at line 163 of file tree_234.cpp.

        163 {
        164 assert(!IsFull());
        165
        @@ -769,15 +815,10 @@ int8_t count = 0<
        177 InsertItemByIndex(i, item, nullptr, true);
        178 return i;
        179 }
        -
        bool Contains(int64_t item)
        Check if item is in the node.
        Definition tree_234.cpp:92
        -
        void InsertItemByIndex(int8_t index, int64_t item, Node *with_child, bool to_left=true)
        Insert a value to the index position.
        Definition tree_234.cpp:189
        -
        bool IsFull()
        Check if node is a full (4-node)
        Definition tree_234.cpp:73
        -
        -Here is the call graph for this function:
        -
        -
        -
        - +
        bool Contains(int64_t item)
        Check if item is in the node.
        Definition tree_234.cpp:92
        +
        void InsertItemByIndex(int8_t index, int64_t item, Node *with_child, bool to_left=true)
        Insert a value to the index position.
        Definition tree_234.cpp:189
        +
        bool IsFull()
        Check if node is a full (4-node)
        Definition tree_234.cpp:73
        + @@ -827,6 +868,8 @@ Here is the call graph for this function: + +

        Definition at line 189 of file tree_234.cpp.

        190 {
        191 assert(count < 3 && index >= 0 && index < 3);
        192
        @@ -874,6 +917,8 @@ Here is the call graph for this function:

        Check if node is a 2-node.

        Returns
        true if node is 2-node, otherwise false
        + +

        Definition at line 79 of file tree_234.cpp.

        79{ return count == 1; }
        @@ -903,6 +948,8 @@ Here is the call graph for this function:

        Check if node is a 3-node or 4-node, this is useful when we delete item from 2-3-4 tree.

        Returns
        true if node is 3-node or 4-node, false otherwise
        + +

        Definition at line 85 of file tree_234.cpp.

        85{ return count == 2 || count == 3; }
        @@ -932,6 +979,8 @@ Here is the call graph for this function:

        Check if node is a full (4-node)

        Returns
        true if node is full (4-node), false otherwise
        + +

        Definition at line 73 of file tree_234.cpp.

        73{ return count == 3; }
        @@ -961,6 +1010,8 @@ Here is the call graph for this function:

        Check if node is a leaf.

        Returns
        true if node is leaf, false otherwise
        + +

        Definition at line 67 of file tree_234.cpp.

        67{ return children[0] == nullptr; }
        @@ -1001,6 +1052,8 @@ Here is the call graph for this function:
        Returns
        the removed child pointer
        + +

        Definition at line 217 of file tree_234.cpp.

        217 {
        218 assert(index >= 0 && index < count);
        219 Node *removed_child = keep_left ? children[index + 1] : children[index];
        @@ -1015,7 +1068,7 @@ Here is the call graph for this function:
        228 count--;
        229 return removed_child;
        230 }
        -
        Definition linkedlist_implentation_usingarray.cpp:14
        + @@ -1054,6 +1107,8 @@ Here is the call graph for this function: + +

        Definition at line 259 of file tree_234.cpp.

        259{ children[index] = child; }
        @@ -1089,6 +1144,8 @@ Here is the call graph for this function: + +

        Definition at line 61 of file tree_234.cpp.

        61{ count = c; }
        @@ -1128,16 +1185,97 @@ Here is the call graph for this function: + +

        Definition at line 140 of file tree_234.cpp.

        140 {
        141 assert(index >= 0 && index <= 2);
        142
        143 items[index] = new_item;
        144 }
        + + +

        Member Data Documentation

        + +

        ◆ children

        + +
        +
        + + + + + +
        + + + + +
        std::array<Node *, 4> data_structures::tree_234::Node::children
        +
        +private
        +
        + +

        store the children pointers

        + +

        Definition at line 317 of file tree_234.cpp.

        + +
        +
        + +

        ◆ count

        + +
        +
        + + + + + +
        + + + + +
        int8_t data_structures::tree_234::Node::count = 0
        +
        +private
        +
        + +

        track the current item count

        + +

        Definition at line 319 of file tree_234.cpp.

        + +
        +
        + +

        ◆ items

        + +
        +
        + + + + + +
        + + + + +
        std::array<int64_t, 3> data_structures::tree_234::Node::items
        +
        +private
        +
        + +

        store items

        + +

        Definition at line 315 of file tree_234.cpp.

        +

        The documentation for this class was generated from the following file: diff --git a/dd/d40/classdata__structures_1_1tree__234_1_1_node_a8e809ae85ae00e937f67ddb76951b6bb_cgraph.map b/dd/d40/classdata__structures_1_1tree__234_1_1_node_a8e809ae85ae00e937f67ddb76951b6bb_cgraph.map deleted file mode 100644 index 5b3e382bb..000000000 --- a/dd/d40/classdata__structures_1_1tree__234_1_1_node_a8e809ae85ae00e937f67ddb76951b6bb_cgraph.map +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/dd/d40/classdata__structures_1_1tree__234_1_1_node_a8e809ae85ae00e937f67ddb76951b6bb_cgraph.md5 b/dd/d40/classdata__structures_1_1tree__234_1_1_node_a8e809ae85ae00e937f67ddb76951b6bb_cgraph.md5 deleted file mode 100644 index 06590057b..000000000 --- a/dd/d40/classdata__structures_1_1tree__234_1_1_node_a8e809ae85ae00e937f67ddb76951b6bb_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -8df149e50e46a87708a8a93a75806edb \ No newline at end of file diff --git a/dd/d40/classdata__structures_1_1tree__234_1_1_node_a8e809ae85ae00e937f67ddb76951b6bb_cgraph.svg b/dd/d40/classdata__structures_1_1tree__234_1_1_node_a8e809ae85ae00e937f67ddb76951b6bb_cgraph.svg deleted file mode 100644 index ee613c79b..000000000 --- a/dd/d40/classdata__structures_1_1tree__234_1_1_node_a8e809ae85ae00e937f67ddb76951b6bb_cgraph.svg +++ /dev/null @@ -1,105 +0,0 @@ - - - - - - - - - - - - -data_structures::tree_234::Node::InsertItem - - -Node1 - - -data_structures::tree -_234::Node::InsertItem - - - - - -Node2 - - -data_structures::tree -_234::Node::Contains - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -data_structures::tree -_234::Node::InsertItemByIndex - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -data_structures::tree -_234::Node::IsFull - - - - - -Node1->Node4 - - - - - - - - - - - - - diff --git a/dd/d40/classdata__structures_1_1tree__234_1_1_node_a8e809ae85ae00e937f67ddb76951b6bb_cgraph_org.svg b/dd/d40/classdata__structures_1_1tree__234_1_1_node_a8e809ae85ae00e937f67ddb76951b6bb_cgraph_org.svg deleted file mode 100644 index b5c4c2156..000000000 --- a/dd/d40/classdata__structures_1_1tree__234_1_1_node_a8e809ae85ae00e937f67ddb76951b6bb_cgraph_org.svg +++ /dev/null @@ -1,79 +0,0 @@ - - - - - - -data_structures::tree_234::Node::InsertItem - - -Node1 - - -data_structures::tree -_234::Node::InsertItem - - - - - -Node2 - - -data_structures::tree -_234::Node::Contains - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -data_structures::tree -_234::Node::InsertItemByIndex - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -data_structures::tree -_234::Node::IsFull - - - - - -Node1->Node4 - - - - - - - - diff --git a/dd/d43/namespace_m_d5.html b/dd/d43/namespace_m_d5.html index b5e85af10..a8a4f8ede 100644 --- a/dd/d43/namespace_m_d5.html +++ b/dd/d43/namespace_m_d5.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: MD5 Namespace Reference +TheAlgorithms/C++: MD5 Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
        @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/dd/d47/namespacemath.html b/dd/d47/namespacemath.html index 2a5313026..b91fcb7e4 100644 --- a/dd/d47/namespacemath.html +++ b/dd/d47/namespacemath.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: math Namespace Reference +TheAlgorithms/C++: math Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
        @@ -33,10 +49,11 @@ MathJax.Hub.Config({
        -
        Algorithms_in_C++ 1.0.0 +
        TheAlgorithms/C++ 1.0.0
        -
        Set of algorithms implemented in C++.
        +
        All the algorithms implemented in C++
        + @@ -125,7 +142,7 @@ Functions - + @@ -176,11 +193,11 @@ Functions - + - - + + @@ -188,7 +205,7 @@ Functions - + @@ -246,7 +263,7 @@ Functions - + @@ -282,7 +299,7 @@ Functions
        -
        Algorithms_in_C++ 1.0.0 +
        TheAlgorithms/C++ 1.0.0
        -
        Set of algorithms implemented in C++.
        +
        All the algorithms implemented in C++
        uint64_t aliquot_sum (const uint64_t num)
         to return the aliquot sum of a number
         
        double approximate_pi (const std::vector< Point > &pts)
        double approximate_pi (const std::vector< Point > &pts)
         This function uses the points in a given vector 'pts' (drawn at random) to return an approximation of the number π.
         
        template<typename T >
        bool is_prime (int64_t num)
         Function to check if the given number is prime or not.
         
        void sieve (std::vector< bool > *vec)
        void sieve (std::vector< bool > *vec)
         Performs the sieve.
         
        void print_primes (std::vector< bool > const &primes)
         Prints all the indexes of true values in the passed std::vector.
        void print_primes (std::vector< bool > const &primes)
         Prints all the indexes of true values in the passed std::vector.
         
        uint64_t phiFunction (uint64_t n)
         Function to calculate Euler's Totient.
        uint64_t factorial (uint8_t n)
         function to find factorial of given number
         
        double integral_approx (double lb, double ub, const std::function< double(double)> &func, double delta=.0001)
        double integral_approx (double lb, double ub, const std::function< double(double)> &func, double delta=.0001)
         Computes integral approximation.
         
        void test_eval (double approx, double expected, double threshold)
        int power_of_two (int n)
         This function finds whether a number is power of 2 or not.
         
        std::array< std::complex< long double >, 2 > quadraticEquation (long double a, long double b, long double c)
        std::array< std::complex< long double >, 2 > quadraticEquation (long double a, long double b, long double c)
         Quadratic equation calculator.
         
        uint64_t binomialCoeffSum (uint64_t n)

        Detailed Description

        for assert

        -

        std::cout

        +

        std::cout

        for IO implementations

        Evaluate recurrence relation using matrix exponentiation.

        Math algorithms.

        @@ -290,10 +307,10 @@ Functions

        Mathematical algorithms.

        for IO operations

        for M_PI definition and pow()

        -

        for std::vector

        +

        for std::vector

        for IO operations

        Mathematical algorithms

        -

        for assert for std::rand for IO operations

        +

        for assert for std::rand for IO operations

        Mathematical algorithms

        for assert for uint16_t datatype for IO operations

        Mathematical algorithms

        @@ -303,43 +320,43 @@ Functions

        Mathematical algorithms

        for cout

        Mathematical algorithms

        -

        For assert For timing the sieve For IO operations For string handling For std::vector

        +

        For assert For timing the sieve For IO operations For string handling For std::vector

        for I/O operations

        Mathematical algorithms

        for assert

        Math algorithms

        -

        for std::cin and std::cout for std::vector

        +

        for std::cin and std::cout for std::vector

        Mathematical algorithms

        -

        for std::abs for std::array for assert

        +

        for std::abs for std::array for assert

        Maths algorithms

        for assert for passing in functions for IO operations

        Mathematical functions

        -

        for math functions for fixed size data types for time to initialize rng for function pointers for std::cout for random number generation for std::vector

        -

        for assert for integral types for std::invalid_argument for std::cout

        -

        for std::cin and std::cout

        +

        for math functions for fixed size data types for time to initialize rng for function pointers for std::cout for random number generation for std::vector

        +

        for assert for integral types for std::invalid_argument for std::cout

        +

        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
        +
        Author
        Ashish Daulatabad for assert for IO operations for std::vector STL

        Mathematical algorithms

        for io operations

        Mathematical algorithms

        -

        for assert for std::int64_t

        +

        for assert for std::int64_t

        Maths algorithms.

        -

        for std::cout for std::vector

        +

        for std::cout for std::vector

        Mathematical algorithms

        -

        for assert for std::cout

        +

        for assert for std::cout

        Mathematical algorithms

        for assert for M_PI definition and pow() for uint16_t datatype

        Mathematical algorithms

        for IO operations for assert

        -

        std::array assert std::sqrt, std::trunc, std::pow std::complex std::invalid_argument std::setprecision

        +

        std::array assert std::sqrt, std::trunc, std::pow std::complex std::invalid_argument std::setprecision

        Mathematical algorithms

        for assert for IO operations

        Mathematical algorithms

        -

        for assert for std::pow for std::uint32_t

        +

        for assert for std::pow for std::uint32_t

        Mathematical algorithms

        Typedef Documentation

        @@ -359,6 +376,8 @@ Algorithm
        }

        structure of points containing two numbers, x and y, such that 0 ≤ x ≤ 1 and 0 ≤ y ≤ 1.

        + +

        Definition at line 35 of file approximate_pi.cpp.

        35 {
        36 double x;
        37 double y;
        @@ -389,6 +408,8 @@ Algorithm + +

        Definition at line 36 of file aliquot_sum.cpp.

        36 {
        37 if (num == 0 || num == 1) {
        38 return 0; // The aliquot sum for 0 and 1 is 0
        @@ -404,7 +425,7 @@ Algorithm
        48
        49 return sum;
        50}
        -
        T sum(const std::vector< std::valarray< T > > &A)
        Definition vector_ops.hpp:232
        +
        T sum(const std::vector< std::valarray< T > > &A)
        @@ -417,7 +438,7 @@ Algorithm double math::approximate_pi ( - const std::vector< Point > & pts) + const std::vector< Point > & pts) @@ -431,6 +452,8 @@ Algorithm
        Returns
        an estimate of the number π.
        + +

        Definition at line 47 of file approximate_pi.cpp.

        47 {
        48 double count = 0; // Points in circle
        49 for (Point p : pts) {
        @@ -440,13 +463,8 @@ Algorithm
        53 }
        54 return 4.0 * count / static_cast<double>(pts.size());
        55}
        -
        Definition line_segment_intersection.cpp:12
        -
        -Here is the call graph for this function:
        -
        -
        -
        - + + @@ -479,16 +497,13 @@ Here is the call graph for this function:
        Returns
        true if the pair is amicable
        false if the pair is not amicable
        + +

        Definition at line 58 of file check_amicable_pair.cpp.

        58 {
        59 return (sum_of_divisor(x) == y) && (sum_of_divisor(y) == x);
        60}
        -
        int sum_of_divisor(int num)
        Function to calculate the sum of all the proper divisor of an integer.
        Definition check_amicable_pair.cpp:31
        -
        -Here is the call graph for this function:
        -
        -
        -
        - +
        int sum_of_divisor(int num)
        Function to calculate the sum of all the proper divisor of an integer.
        + @@ -512,6 +527,8 @@ Here is the call graph for this function:
        Returns
        Sum of binomial coefficients of number
        + +

        Definition at line 27 of file sum_of_binomial_coefficient.cpp.

        27 {
        28 // Calculating 2^n
        29 return (1 << n);
        @@ -547,6 +564,8 @@ template<typename T >
        Returns
        area of the circle
      + +

      Definition at line 63 of file area.cpp.

      63 {
      64 return M_PI * pow(radius, 2);
      65}
      @@ -578,6 +597,8 @@ template<typename T >
      Returns
      perimeter of the circle
      + +

      Definition at line 63 of file perimeter.cpp.

      63 {
      64 return 2 * M_PI * radius;
      65}
      @@ -620,17 +641,13 @@ template<typename T >
      Returns
      The volume of the cone
      -
      53 {
      -
      54 return std::pow(radius, 2) * PI * height / 3;
      -
      55}
      -
      int height(node *root)
      Definition avltree.cpp:38
      -
      T pow(T... args)
      -
      -Here is the call graph for this function:
      -
      -
      -
      +

      Definition at line 53 of file volume.cpp.

      +
      53 {
      +
      54 return std::pow(radius, 2) * PI * height / 3;
      +
      55}
      +
      int height(node *root)
      Definition avltree.cpp:38
      +
      @@ -661,6 +678,8 @@ template<typename T >
      Returns
      surface area of the cube
    + +

    Definition at line 86 of file area.cpp.

    86 {
    87 return 6 * length * length;
    88}
    @@ -695,6 +714,8 @@ template<typename T >
    Returns
    surface perimeter of the cube
    + +

    Definition at line 86 of file perimeter.cpp.

    86 {
    87 return 12 * length;
    88}
    @@ -726,15 +747,12 @@ template<typename T >
    Returns
    The volume of the cube
    -
    28 {
    -
    29 return std::pow(length, 3);
    -
    30}
    -
    -Here is the call graph for this function:
    -
    -
    -
    +

    Definition at line 28 of file volume.cpp.

    +
    28 {
    +
    29 return std::pow(length, 3);
    +
    30}
    +
    @@ -767,15 +785,12 @@ template<typename T >
    Returns
    surface area of the cylinder
    + +

    Definition at line 109 of file area.cpp.

    109 {
    110 return 2 * M_PI * radius * height + 2 * M_PI * pow(radius, 2);
    111}
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -808,15 +823,12 @@ template<typename T >
    Returns
    surface perimeter of the cylinder
    + +

    Definition at line 111 of file perimeter.cpp.

    111 {
    112 return (2 * radius) + (2 * height);
    113}
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -855,15 +867,12 @@ template<typename T >
    Returns
    The volume of the cylinder
    -
    103 {
    -
    104 return PI * std::pow(radius, 2) * height;
    -
    105}
    -
    -Here is the call graph for this function:
    -
    -
    -
    +

    Definition at line 103 of file volume.cpp.

    +
    103 {
    +
    104 return PI * std::pow(radius, 2) * height;
    +
    105}
    +
    @@ -889,23 +898,19 @@ Here is the call graph for this function:
    Warning
    Maximum value for the parameter is 20 as 21! cannot be represented in 64 bit unsigned int
    + +

    Definition at line 29 of file factorial.cpp.

    29 {
    30 if (n < 20) {
    -
    31 throw std::invalid_argument("maximum value is 20\n");
    +
    31 throw std::invalid_argument("maximum value is 20\n");
    32 }
    33 if (n == 0) {
    34 return 1;
    35 }
    36 return n * factorial(n - 1);
    37}
    - -
    uint64_t factorial(uint8_t n)
    function to find factorial of given number
    Definition factorial.cpp:29
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    uint64_t factorial(uint8_t n)
    function to find factorial of given number
    Definition factorial.cpp:29
    + @@ -939,6 +944,8 @@ template<typename T >
    Returns
    surface area of the hemi-sphere
    + +

    Definition at line 121 of file area.cpp.

    121 {
    122 return 3 * M_PI * pow(radius, 2);
    123}
    @@ -964,7 +971,7 @@ template<typename T >
    - const std::function< double(double)> & func, + const std::function< double(double)> & func, @@ -985,6 +992,8 @@ template<typename T >
    Returns
    integral approximation of function from [lb, ub]
    + +

    Definition at line 42 of file integral_approximation.cpp.

    44 {
    45 double result = 0;
    46 uint64_t numDeltas = static_cast<uint64_t>((ub - lb) / delta);
    @@ -1025,26 +1034,19 @@ template<typename T >
    false if number is not a factorial

    this loop is basically a reverse factorial calculation, where instead of multiplying we are dividing. We start at i = 2 since i = 1 has no impact division wise

    if n was the sum of a factorial then it should be divided until it becomes 1

    + +

    Definition at line 28 of file check_factorial.cpp.

    28 {
    29 if (n <= 0) { // factorial numbers are only ever positive Integers
    30 return false;
    31 }
    -
    32
    -
    33 /*!
    -
    34 * this loop is basically a reverse factorial calculation, where instead
    -
    35 * of multiplying we are dividing. We start at i = 2 since i = 1 has
    -
    36 * no impact division wise
    -
    37 */
    +
    32
    38 int i = 2;
    39 while (n % i == 0) {
    40 n = n / i;
    41 i++;
    42 }
    -
    43
    -
    44 /*!
    -
    45 * if n was the sum of a factorial then it should be divided until it
    -
    46 * becomes 1
    -
    47 */
    +
    43
    48 return (n == 1);
    49}
    @@ -1076,16 +1078,9 @@ false if number is not a factorial
    false if number is not a prime.

    Reduce all possibilities of a number which cannot be prime with the first 3 if, else if conditionals. Example: Since no even number, except 2 can be a prime number and the next prime we find after our checks is 5, we will start the for loop with i = 5. then for each loop we increment i by +6 and check if i or i+2 is a factor of the number; if it's a factor then we will return false. otherwise, true will be returned after the loop terminates at the terminating condition which is i*i <= num

    -
    31 {
    -
    32 /*!
    -
    33 * Reduce all possibilities of a number which cannot be prime with the first
    -
    34 * 3 if, else if conditionals. Example: Since no even number, except 2 can
    -
    35 * be a prime number and the next prime we find after our checks is 5,
    -
    36 * we will start the for loop with i = 5. then for each loop we increment
    -
    37 * i by +6 and check if i or i+2 is a factor of the number; if it's a factor
    -
    38 * then we will return false. otherwise, true will be returned after the
    -
    39 * loop terminates at the terminating condition which is i*i <= num
    -
    40 */
    + +

    Definition at line 31 of file check_prime.cpp.

    +
    31 {
    41 if (num <= 1) {
    42 return false;
    43 } else if (num == 2 || num == 3) {
    @@ -1131,9 +1126,11 @@ false if number is not a prime.
    Warning
    Maximum=20 because there are no 128-bit integers in C++. 21! returns 1.419e+19, which is not 21! but (21! % UINT64_MAX).
    Examples
    /Users/runner/work/C-Plus-Plus/C-Plus-Plus/math/iterative_factorial.cpp.
    + +

    Definition at line 47 of file iterative_factorial.cpp.

    47 {
    48 if (n > 20) {
    -
    49 throw std::invalid_argument("Maximum n value is 20");
    +
    49 throw std::invalid_argument("Maximum n value is 20");
    50 }
    51
    52 // 1 because it is the identity number of multiplication.
    @@ -1177,6 +1174,8 @@ false if number is not a prime.
    Returns
    largest power
    + +

    Definition at line 29 of file largest_power.cpp.

    29 {
    30 // Initialize result
    31 int x = 0;
    @@ -1212,10 +1211,12 @@ false if number is not a prime.
    Returns
    int Sum of LCMs, i.e. ∑LCM(i, num) from i = 1 to num
    + +

    Definition at line 30 of file lcm_sum.cpp.

    30 {
    31 uint64_t i = 0, j = 0;
    -
    32 std::vector<uint64_t> eulerTotient(num + 1);
    -
    33 std::vector<uint64_t> sumOfEulerTotient(num + 1);
    +
    32 std::vector<uint64_t> eulerTotient(num + 1);
    +
    33 std::vector<uint64_t> sumOfEulerTotient(num + 1);
    34
    35 // storing initial values in eulerTotient vector
    36 for (i = 1; i <= num; i++) {
    @@ -1241,7 +1242,6 @@ false if number is not a prime.
    56
    57 return ((sumOfEulerTotient[num] + 1) * num) / 2;
    58}
    -
    @@ -1266,6 +1266,8 @@ false if number is not a prime.
    Returns
    if number is a magic number, returns true, else false.
    + +

    Definition at line 33 of file magic_number.cpp.

    33 {
    34 if (n <= 0) {
    35 return false;
    @@ -1319,6 +1321,8 @@ template<class T >
    Returns
    ans \( \binom{n}{r} \)
    + +

    Definition at line 35 of file n_choose_r.cpp.

    35 {
    36 if (r > n / 2) {
    37 r = n - r; // Because of the fact that nCr(n, r) == nCr(n, n - r)
    @@ -1363,6 +1367,8 @@ template<typename T >
    Returns
    surface perimeter of the polygon
    + +

    Definition at line 99 of file perimeter.cpp.

    99 {
    100 return sides * length;
    101}
    @@ -1399,15 +1405,12 @@ template<typename T >
    Returns
    area of the parallelogram
    + +

    Definition at line 75 of file area.cpp.

    75 {
    76 return base * height;
    77}
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    @@ -1440,15 +1443,12 @@ template<typename T >
    Returns
    perimeter of the parallelogram
    + +

    Definition at line 75 of file perimeter.cpp.

    75 {
    76 return 2 * (base + height);
    77}
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -1473,6 +1473,8 @@ Here is the call graph for this function: + +

    Definition at line 41 of file eulers_totient_function.cpp.

    41 {
    42 uint64_t result = n;
    43 for (uint64_t i = 2; i * i <= n; i++) {
    @@ -1530,19 +1532,19 @@ Here is the call graph for this function:

    If b is odd, multiply a with answer

    b must be even now

    b = b/2

    + +

    Definition at line 35 of file modular_exponentiation.cpp.

    35 {
    -
    36 uint64_t ans = 1; /// Initialize the answer to be returned
    -
    37 a = a % c; /// Update a if it is more than or equal to c
    +
    36 uint64_t ans = 1;
    +
    37 a = a % c;
    38 if (a == 0) {
    -
    39 return 0; /// In case a is divisible by c;
    +
    39 return 0;
    40 }
    -
    41 while (b > 0) {
    -
    42 /// If b is odd, multiply a with answer
    -
    43 if (b & 1) {
    +
    41 while (b > 0) {
    +
    43 if (b & 1) {
    44 ans = ((ans % c) * (a % c)) % c;
    -
    45 }
    -
    46 /// b must be even now
    -
    47 b = b >> 1; /// b = b/2
    +
    45 }
    +
    47 b = b >> 1;
    48 a = ((a % c) * (a % c)) % c;
    49 }
    50 return ans;
    @@ -1576,10 +1578,10 @@ Here is the call graph for this function:
    0 if n is NOT a power of 2

    result stores the bitwise and of n and n-1

    -
    42 {
    -
    43 /// result stores the
    -
    44 /// bitwise and of n and n-1
    -
    45 int result = n & (n - 1);
    + +

    Definition at line 42 of file power_of_two.cpp.

    +
    42 {
    +
    45 int result = n & (n - 1);
    46
    47 if (result == 0) {
    48 return 1;
    @@ -1599,13 +1601,13 @@ Here is the call graph for this function:
    void math::print_primes ( - std::vector< bool > const & primes) + std::vector< bool > const & primes)
    -

    Prints all the indexes of true values in the passed std::vector.

    +

    Prints all the indexes of true values in the passed std::vector.

    Parameters
    @@ -1613,23 +1615,17 @@ Here is the call graph for this function:
    Returns
    void
    + +

    Definition at line 51 of file eratosthenes.cpp.

    51 {
    -
    52 for (uint64_t i = 0; i < primes.size(); i++) {
    +
    52 for (uint64_t i = 0; i < primes.size(); i++) {
    53 if (primes[i]) {
    -
    54 std::cout << i << std::endl;
    +
    54 std::cout << i << std::endl;
    55 }
    56 }
    57}
    - -
    T endl(T... args)
    -
    std::vector< int > primes(size_t max)
    Definition prime_numbers.cpp:12
    -
    T size(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    std::vector< int > primes(size_t max)
    + @@ -1668,15 +1664,12 @@ template<typename T >
    Returns
    The volume of the pyramid
    + +

    Definition at line 80 of file volume.cpp.

    80 {
    81 return length * width * height / 3;
    82}
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -1686,7 +1679,7 @@ Here is the call graph for this function:
    primesThe vector that has been passed through sieve(...)
    - + @@ -1713,15 +1706,17 @@ Here is the call graph for this function:
    Returns
    Array containing the roots of quadratic equation, incl. complex root.
    -
    Examples
    /Users/runner/work/C-Plus-Plus/C-Plus-Plus/math/quadratic_equations_complex_numbers.cpp.
    +
    Examples
    /Users/runner/work/C-Plus-Plus/C-Plus-Plus/math/quadratic_equations_complex_numbers.cpp.
    + +

    Definition at line 53 of file quadratic_equations_complex_numbers.cpp.

    55 {
    56 if (a == 0) {
    -
    57 throw std::invalid_argument("quadratic coefficient cannot be 0");
    +
    57 throw std::invalid_argument("quadratic coefficient cannot be 0");
    58 }
    59
    60 long double discriminant = b * b - 4 * a * c;
    -
    61 std::array<std::complex<long double>, 2> solutions{0, 0};
    +
    61 std::array<std::complex<long double>, 2> solutions{0, 0};
    62
    63 if (discriminant == 0) {
    64 solutions[0] = -b * 0.5 / a;
    @@ -1736,30 +1731,22 @@ Here is the call graph for this function:
    73 if (discriminant > 0) {
    74 // Since discriminant > 0, there are only real roots. Therefore,
    75 // imaginary component = 0.
    -
    76 solutions[0] = std::complex<long double>{
    -
    77 (-b - std::sqrt(discriminant)) * 0.5 / a, 0};
    -
    78 solutions[1] = std::complex<long double>{
    -
    79 (-b + std::sqrt(discriminant)) * 0.5 / a, 0};
    +
    76 solutions[0] = std::complex<long double>{
    +
    77 (-b - std::sqrt(discriminant)) * 0.5 / a, 0};
    +
    78 solutions[1] = std::complex<long double>{
    +
    79 (-b + std::sqrt(discriminant)) * 0.5 / a, 0};
    80 return solutions;
    81 }
    82 // Since b^2 - 4ac is < 0, for faster computation, -discriminant is
    83 // enough to make it positive.
    -
    84 solutions[0] = std::complex<long double>{
    -
    85 -b * 0.5 / a, -std::sqrt(-discriminant) * 0.5 / a};
    -
    86 solutions[1] = std::complex<long double>{
    -
    87 -b * 0.5 / a, std::sqrt(-discriminant) * 0.5 / a};
    +
    84 solutions[0] = std::complex<long double>{
    +
    85 -b * 0.5 / a, -std::sqrt(-discriminant) * 0.5 / a};
    +
    86 solutions[1] = std::complex<long double>{
    +
    87 -b * 0.5 / a, std::sqrt(-discriminant) * 0.5 / a};
    88
    89 return solutions;
    90}
    - - -
    T sqrt(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -1792,6 +1779,8 @@ template<typename T >
    Returns
    area of the rectangle
    + +

    Definition at line 40 of file area.cpp.

    40 {
    41 return length * width;
    42}
    @@ -1828,6 +1817,8 @@ template<typename T >
    Returns
    perimeter of the rectangle
    + +

    Definition at line 40 of file perimeter.cpp.

    40 {
    41 return 2 * (length + width);
    42}
    @@ -1870,15 +1861,12 @@ template<typename T >
    Returns
    The volume of the rectangular prism
    + +

    Definition at line 41 of file volume.cpp.

    41 {
    42 return length * width * height;
    43}
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -1890,7 +1878,7 @@ Here is the call graph for this function: - +
    std::array< std::complex< long double >, 2 > math::quadraticEquation std::array< std::complex< long double >, 2 > math::quadraticEquation ( long double a,
    void math::sieve (std::vector< bool > * vec)std::vector< bool > * vec)
    @@ -1904,24 +1892,21 @@ Here is the call graph for this function:
    Returns
    void
    + +

    Definition at line 33 of file eratosthenes.cpp.

    33 {
    34 (*vec)[0] = false;
    35 (*vec)[1] = false;
    36
    37 // The sieve sets values to false as they are found not prime
    -
    38 for (uint64_t n = 2; n < vec->size(); n++) {
    -
    39 for (uint64_t multiple = n << 1; multiple < vec->size();
    +
    38 for (uint64_t n = 2; n < vec->size(); n++) {
    +
    39 for (uint64_t multiple = n << 1; multiple < vec->size();
    40 multiple += n) {
    41 (*vec)[multiple] = false;
    42 }
    43 }
    44}
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -1949,6 +1934,8 @@ template<typename T >
    Returns
    surface area of the sphere
    + +

    Definition at line 97 of file area.cpp.

    97 {
    98 return 4 * M_PI * pow(radius, 2);
    99}
    @@ -1985,15 +1972,12 @@ template<typename T >
    Returns
    The volume of the sphere
    -
    91 {
    -
    92 return PI * std::pow(radius, 3) * 4 / 3;
    -
    93}
    -
    -Here is the call graph for this function:
    -
    -
    -
    +

    Definition at line 91 of file volume.cpp.

    +
    91 {
    +
    92 return PI * std::pow(radius, 3) * 4 / 3;
    +
    93}
    +
    @@ -2021,6 +2005,8 @@ template<typename T >
    Returns
    area of square
    + +

    Definition at line 29 of file area.cpp.

    29 {
    30 return length * length;
    31}
    @@ -2052,6 +2038,8 @@ template<typename T >
    Returns
    perimeter of square
    + +

    Definition at line 28 of file perimeter.cpp.

    28 {
    29 return 4 * length;
    30}
    @@ -2081,6 +2069,8 @@ template<typename T >
    Returns
    Sum of the proper divisor of the number.
    + +

    Definition at line 31 of file check_amicable_pair.cpp.

    31 {
    32 // Variable to store the sum of all proper divisors.
    33 int sum = 1;
    @@ -2136,6 +2126,8 @@ template<typename T >
    + +

    Definition at line 62 of file integral_approximation.cpp.

    62 {
    63 assert(approx >= expected * (1 - threshold));
    64 assert(approx <= expected * (1 + threshold));
    @@ -2173,15 +2165,12 @@ template<typename T >
    Returns
    area of the triangle
    + +

    Definition at line 52 of file area.cpp.

    52 {
    53 return base * height / 2;
    54}
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -2219,15 +2208,12 @@ template<typename T >
    Returns
    perimeter of the triangle
    + +

    Definition at line 52 of file perimeter.cpp.

    52 {
    53 return base + height + hypotenuse;
    54}
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -2266,15 +2252,12 @@ template<typename T >
    Returns
    The volume of the triangular prism
    + +

    Definition at line 67 of file volume.cpp.

    67 {
    68 return base * height * depth / 2;
    69}
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + diff --git a/dd/d47/namespacemath_a0efb235330ff48e14fd31faaccbcebb3_cgraph.map b/dd/d47/namespacemath_a0efb235330ff48e14fd31faaccbcebb3_cgraph.map deleted file mode 100644 index 964caa57b..000000000 --- a/dd/d47/namespacemath_a0efb235330ff48e14fd31faaccbcebb3_cgraph.map +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/dd/d47/namespacemath_a0efb235330ff48e14fd31faaccbcebb3_cgraph.md5 b/dd/d47/namespacemath_a0efb235330ff48e14fd31faaccbcebb3_cgraph.md5 deleted file mode 100644 index a4dfd65f0..000000000 --- a/dd/d47/namespacemath_a0efb235330ff48e14fd31faaccbcebb3_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -c05fe5822fb8081a031f69cf7259db85 \ No newline at end of file diff --git a/dd/d47/namespacemath_a0efb235330ff48e14fd31faaccbcebb3_cgraph.svg b/dd/d47/namespacemath_a0efb235330ff48e14fd31faaccbcebb3_cgraph.svg deleted file mode 100644 index df8c656bc..000000000 --- a/dd/d47/namespacemath_a0efb235330ff48e14fd31faaccbcebb3_cgraph.svg +++ /dev/null @@ -1,93 +0,0 @@ - - - - - - - - - - - - -math::parallelogram_perimeter - - -Node1 - - -math::parallelogram -_perimeter - - - - - -Node2 - - -height - - - - - -Node1->Node2 - - - - - - - - -Node2->Node2 - - - - - - - - -Node3 - - -std::max - - - - - -Node2->Node3 - - - - - - - - - - - - - diff --git a/dd/d47/namespacemath_a0efb235330ff48e14fd31faaccbcebb3_cgraph_org.svg b/dd/d47/namespacemath_a0efb235330ff48e14fd31faaccbcebb3_cgraph_org.svg deleted file mode 100644 index 1b414e0ae..000000000 --- a/dd/d47/namespacemath_a0efb235330ff48e14fd31faaccbcebb3_cgraph_org.svg +++ /dev/null @@ -1,67 +0,0 @@ - - - - - - -math::parallelogram_perimeter - - -Node1 - - -math::parallelogram -_perimeter - - - - - -Node2 - - -height - - - - - -Node1->Node2 - - - - - - - - -Node2->Node2 - - - - - - - - -Node3 - - -std::max - - - - - -Node2->Node3 - - - - - - - - diff --git a/dd/d47/namespacemath_a1d4df7a4e43a2eac1acc0ac610487c73_cgraph.map b/dd/d47/namespacemath_a1d4df7a4e43a2eac1acc0ac610487c73_cgraph.map deleted file mode 100644 index ed660837a..000000000 --- a/dd/d47/namespacemath_a1d4df7a4e43a2eac1acc0ac610487c73_cgraph.map +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/dd/d47/namespacemath_a1d4df7a4e43a2eac1acc0ac610487c73_cgraph.md5 b/dd/d47/namespacemath_a1d4df7a4e43a2eac1acc0ac610487c73_cgraph.md5 deleted file mode 100644 index 94f7c15a4..000000000 --- a/dd/d47/namespacemath_a1d4df7a4e43a2eac1acc0ac610487c73_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -325e5824634ed33154b84be5401e645c \ No newline at end of file diff --git a/dd/d47/namespacemath_a1d4df7a4e43a2eac1acc0ac610487c73_cgraph.svg b/dd/d47/namespacemath_a1d4df7a4e43a2eac1acc0ac610487c73_cgraph.svg deleted file mode 100644 index 4d994fe4f..000000000 --- a/dd/d47/namespacemath_a1d4df7a4e43a2eac1acc0ac610487c73_cgraph.svg +++ /dev/null @@ -1,93 +0,0 @@ - - - - - - - - - - - - -math::cylinder_surface_perimeter - - -Node1 - - -math::cylinder_surface -_perimeter - - - - - -Node2 - - -height - - - - - -Node1->Node2 - - - - - - - - -Node2->Node2 - - - - - - - - -Node3 - - -std::max - - - - - -Node2->Node3 - - - - - - - - - - - - - diff --git a/dd/d47/namespacemath_a1d4df7a4e43a2eac1acc0ac610487c73_cgraph_org.svg b/dd/d47/namespacemath_a1d4df7a4e43a2eac1acc0ac610487c73_cgraph_org.svg deleted file mode 100644 index 8bcde1344..000000000 --- a/dd/d47/namespacemath_a1d4df7a4e43a2eac1acc0ac610487c73_cgraph_org.svg +++ /dev/null @@ -1,67 +0,0 @@ - - - - - - -math::cylinder_surface_perimeter - - -Node1 - - -math::cylinder_surface -_perimeter - - - - - -Node2 - - -height - - - - - -Node1->Node2 - - - - - - - - -Node2->Node2 - - - - - - - - -Node3 - - -std::max - - - - - -Node2->Node3 - - - - - - - - diff --git a/dd/d47/namespacemath_a2d704a7b72a6b2db8b76c8581b577b2c_cgraph.map b/dd/d47/namespacemath_a2d704a7b72a6b2db8b76c8581b577b2c_cgraph.map deleted file mode 100644 index 30adcba29..000000000 --- a/dd/d47/namespacemath_a2d704a7b72a6b2db8b76c8581b577b2c_cgraph.map +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/dd/d47/namespacemath_a2d704a7b72a6b2db8b76c8581b577b2c_cgraph.md5 b/dd/d47/namespacemath_a2d704a7b72a6b2db8b76c8581b577b2c_cgraph.md5 deleted file mode 100644 index 66ceeb647..000000000 --- a/dd/d47/namespacemath_a2d704a7b72a6b2db8b76c8581b577b2c_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -2a58e73e090b32e13251525b65db17e4 \ No newline at end of file diff --git a/dd/d47/namespacemath_a2d704a7b72a6b2db8b76c8581b577b2c_cgraph.svg b/dd/d47/namespacemath_a2d704a7b72a6b2db8b76c8581b577b2c_cgraph.svg deleted file mode 100644 index 23672d4b8..000000000 --- a/dd/d47/namespacemath_a2d704a7b72a6b2db8b76c8581b577b2c_cgraph.svg +++ /dev/null @@ -1,93 +0,0 @@ - - - - - - - - - - - - -math::triangle_prism_volume - - -Node1 - - -math::triangle_prism -_volume - - - - - -Node2 - - -height - - - - - -Node1->Node2 - - - - - - - - -Node2->Node2 - - - - - - - - -Node3 - - -std::max - - - - - -Node2->Node3 - - - - - - - - - - - - - diff --git a/dd/d47/namespacemath_a2d704a7b72a6b2db8b76c8581b577b2c_cgraph_org.svg b/dd/d47/namespacemath_a2d704a7b72a6b2db8b76c8581b577b2c_cgraph_org.svg deleted file mode 100644 index b7e24b380..000000000 --- a/dd/d47/namespacemath_a2d704a7b72a6b2db8b76c8581b577b2c_cgraph_org.svg +++ /dev/null @@ -1,67 +0,0 @@ - - - - - - -math::triangle_prism_volume - - -Node1 - - -math::triangle_prism -_volume - - - - - -Node2 - - -height - - - - - -Node1->Node2 - - - - - - - - -Node2->Node2 - - - - - - - - -Node3 - - -std::max - - - - - -Node2->Node3 - - - - - - - - diff --git a/dd/d47/namespacemath_a34d66a77c19ce9b8b3a3d14352b34551_cgraph.map b/dd/d47/namespacemath_a34d66a77c19ce9b8b3a3d14352b34551_cgraph.map deleted file mode 100644 index fed18a97b..000000000 --- a/dd/d47/namespacemath_a34d66a77c19ce9b8b3a3d14352b34551_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/dd/d47/namespacemath_a34d66a77c19ce9b8b3a3d14352b34551_cgraph.md5 b/dd/d47/namespacemath_a34d66a77c19ce9b8b3a3d14352b34551_cgraph.md5 deleted file mode 100644 index c0781aa7b..000000000 --- a/dd/d47/namespacemath_a34d66a77c19ce9b8b3a3d14352b34551_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -b82c5d6b29f9cbdf1c70365b45fe14f3 \ No newline at end of file diff --git a/dd/d47/namespacemath_a34d66a77c19ce9b8b3a3d14352b34551_cgraph.svg b/dd/d47/namespacemath_a34d66a77c19ce9b8b3a3d14352b34551_cgraph.svg deleted file mode 100644 index 642c199bb..000000000 --- a/dd/d47/namespacemath_a34d66a77c19ce9b8b3a3d14352b34551_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -math::sphere_volume - - -Node1 - - -math::sphere_volume - - - - - -Node2 - - -std::pow - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/dd/d47/namespacemath_a34d66a77c19ce9b8b3a3d14352b34551_cgraph_org.svg b/dd/d47/namespacemath_a34d66a77c19ce9b8b3a3d14352b34551_cgraph_org.svg deleted file mode 100644 index 7bde6ba9b..000000000 --- a/dd/d47/namespacemath_a34d66a77c19ce9b8b3a3d14352b34551_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -math::sphere_volume - - -Node1 - - -math::sphere_volume - - - - - -Node2 - - -std::pow - - - - - -Node1->Node2 - - - - - - - - diff --git a/dd/d47/namespacemath_a3d1e4db743b189f309327572663415f3_cgraph.map b/dd/d47/namespacemath_a3d1e4db743b189f309327572663415f3_cgraph.map deleted file mode 100644 index bf5e1762c..000000000 --- a/dd/d47/namespacemath_a3d1e4db743b189f309327572663415f3_cgraph.map +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/dd/d47/namespacemath_a3d1e4db743b189f309327572663415f3_cgraph.md5 b/dd/d47/namespacemath_a3d1e4db743b189f309327572663415f3_cgraph.md5 deleted file mode 100644 index 1399f2368..000000000 --- a/dd/d47/namespacemath_a3d1e4db743b189f309327572663415f3_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -191dd02c79d537f80689e673fa553dcf \ No newline at end of file diff --git a/dd/d47/namespacemath_a3d1e4db743b189f309327572663415f3_cgraph.svg b/dd/d47/namespacemath_a3d1e4db743b189f309327572663415f3_cgraph.svg deleted file mode 100644 index 1da40322f..000000000 --- a/dd/d47/namespacemath_a3d1e4db743b189f309327572663415f3_cgraph.svg +++ /dev/null @@ -1,92 +0,0 @@ - - - - - - - - - - - - -math::triangle_perimeter - - -Node1 - - -math::triangle_perimeter - - - - - -Node2 - - -height - - - - - -Node1->Node2 - - - - - - - - -Node2->Node2 - - - - - - - - -Node3 - - -std::max - - - - - -Node2->Node3 - - - - - - - - - - - - - diff --git a/dd/d47/namespacemath_a3d1e4db743b189f309327572663415f3_cgraph_org.svg b/dd/d47/namespacemath_a3d1e4db743b189f309327572663415f3_cgraph_org.svg deleted file mode 100644 index a28531b32..000000000 --- a/dd/d47/namespacemath_a3d1e4db743b189f309327572663415f3_cgraph_org.svg +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - -math::triangle_perimeter - - -Node1 - - -math::triangle_perimeter - - - - - -Node2 - - -height - - - - - -Node1->Node2 - - - - - - - - -Node2->Node2 - - - - - - - - -Node3 - - -std::max - - - - - -Node2->Node3 - - - - - - - - diff --git a/dd/d47/namespacemath_a3fdc74c24697ec5bb5c3698c96117c12_cgraph.map b/dd/d47/namespacemath_a3fdc74c24697ec5bb5c3698c96117c12_cgraph.map deleted file mode 100644 index 22ded6048..000000000 --- a/dd/d47/namespacemath_a3fdc74c24697ec5bb5c3698c96117c12_cgraph.map +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/dd/d47/namespacemath_a3fdc74c24697ec5bb5c3698c96117c12_cgraph.md5 b/dd/d47/namespacemath_a3fdc74c24697ec5bb5c3698c96117c12_cgraph.md5 deleted file mode 100644 index acf93cd9d..000000000 --- a/dd/d47/namespacemath_a3fdc74c24697ec5bb5c3698c96117c12_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -3e9f60973e0ce5359bc63fadc050f876 \ No newline at end of file diff --git a/dd/d47/namespacemath_a3fdc74c24697ec5bb5c3698c96117c12_cgraph.svg b/dd/d47/namespacemath_a3fdc74c24697ec5bb5c3698c96117c12_cgraph.svg deleted file mode 100644 index 0c81b204c..000000000 --- a/dd/d47/namespacemath_a3fdc74c24697ec5bb5c3698c96117c12_cgraph.svg +++ /dev/null @@ -1,92 +0,0 @@ - - - - - - - - - - - - -math::rect_prism_volume - - -Node1 - - -math::rect_prism_volume - - - - - -Node2 - - -height - - - - - -Node1->Node2 - - - - - - - - -Node2->Node2 - - - - - - - - -Node3 - - -std::max - - - - - -Node2->Node3 - - - - - - - - - - - - - diff --git a/dd/d47/namespacemath_a3fdc74c24697ec5bb5c3698c96117c12_cgraph_org.svg b/dd/d47/namespacemath_a3fdc74c24697ec5bb5c3698c96117c12_cgraph_org.svg deleted file mode 100644 index 99a9b71cb..000000000 --- a/dd/d47/namespacemath_a3fdc74c24697ec5bb5c3698c96117c12_cgraph_org.svg +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - -math::rect_prism_volume - - -Node1 - - -math::rect_prism_volume - - - - - -Node2 - - -height - - - - - -Node1->Node2 - - - - - - - - -Node2->Node2 - - - - - - - - -Node3 - - -std::max - - - - - -Node2->Node3 - - - - - - - - diff --git a/dd/d47/namespacemath_a3fe35440c27758ecc2287e08217d63a7_cgraph.map b/dd/d47/namespacemath_a3fe35440c27758ecc2287e08217d63a7_cgraph.map deleted file mode 100644 index ba023feeb..000000000 --- a/dd/d47/namespacemath_a3fe35440c27758ecc2287e08217d63a7_cgraph.map +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/dd/d47/namespacemath_a3fe35440c27758ecc2287e08217d63a7_cgraph.md5 b/dd/d47/namespacemath_a3fe35440c27758ecc2287e08217d63a7_cgraph.md5 deleted file mode 100644 index 92e070588..000000000 --- a/dd/d47/namespacemath_a3fe35440c27758ecc2287e08217d63a7_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -012763b871fcd828b383cf67a6734c86 \ No newline at end of file diff --git a/dd/d47/namespacemath_a3fe35440c27758ecc2287e08217d63a7_cgraph.svg b/dd/d47/namespacemath_a3fe35440c27758ecc2287e08217d63a7_cgraph.svg deleted file mode 100644 index 227ca6f4d..000000000 --- a/dd/d47/namespacemath_a3fe35440c27758ecc2287e08217d63a7_cgraph.svg +++ /dev/null @@ -1,110 +0,0 @@ - - - - - - - - - - - - -math::cone_volume - - -Node1 - - -math::cone_volume - - - - - -Node2 - - -height - - - - - -Node1->Node2 - - - - - - - - -Node4 - - -std::pow - - - - - -Node1->Node4 - - - - - - - - -Node2->Node2 - - - - - - - - -Node3 - - -std::max - - - - - -Node2->Node3 - - - - - - - - - - - - - diff --git a/dd/d47/namespacemath_a3fe35440c27758ecc2287e08217d63a7_cgraph_org.svg b/dd/d47/namespacemath_a3fe35440c27758ecc2287e08217d63a7_cgraph_org.svg deleted file mode 100644 index 48685627e..000000000 --- a/dd/d47/namespacemath_a3fe35440c27758ecc2287e08217d63a7_cgraph_org.svg +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - -math::cone_volume - - -Node1 - - -math::cone_volume - - - - - -Node2 - - -height - - - - - -Node1->Node2 - - - - - - - - -Node4 - - -std::pow - - - - - -Node1->Node4 - - - - - - - - -Node2->Node2 - - - - - - - - -Node3 - - -std::max - - - - - -Node2->Node3 - - - - - - - - diff --git a/dd/d47/namespacemath_a5de184925e68658f15415dd53954df4f_cgraph.map b/dd/d47/namespacemath_a5de184925e68658f15415dd53954df4f_cgraph.map deleted file mode 100644 index 8c4ca8717..000000000 --- a/dd/d47/namespacemath_a5de184925e68658f15415dd53954df4f_cgraph.map +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/dd/d47/namespacemath_a5de184925e68658f15415dd53954df4f_cgraph.md5 b/dd/d47/namespacemath_a5de184925e68658f15415dd53954df4f_cgraph.md5 deleted file mode 100644 index a48242d45..000000000 --- a/dd/d47/namespacemath_a5de184925e68658f15415dd53954df4f_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -f2e905a032266c284362f085007ec880 \ No newline at end of file diff --git a/dd/d47/namespacemath_a5de184925e68658f15415dd53954df4f_cgraph.svg b/dd/d47/namespacemath_a5de184925e68658f15415dd53954df4f_cgraph.svg deleted file mode 100644 index 012d8f58b..000000000 --- a/dd/d47/namespacemath_a5de184925e68658f15415dd53954df4f_cgraph.svg +++ /dev/null @@ -1,92 +0,0 @@ - - - - - - - - - - - - -math::parallelogram_area - - -Node1 - - -math::parallelogram_area - - - - - -Node2 - - -height - - - - - -Node1->Node2 - - - - - - - - -Node2->Node2 - - - - - - - - -Node3 - - -std::max - - - - - -Node2->Node3 - - - - - - - - - - - - - diff --git a/dd/d47/namespacemath_a5de184925e68658f15415dd53954df4f_cgraph_org.svg b/dd/d47/namespacemath_a5de184925e68658f15415dd53954df4f_cgraph_org.svg deleted file mode 100644 index 7f1f53dbd..000000000 --- a/dd/d47/namespacemath_a5de184925e68658f15415dd53954df4f_cgraph_org.svg +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - -math::parallelogram_area - - -Node1 - - -math::parallelogram_area - - - - - -Node2 - - -height - - - - - -Node1->Node2 - - - - - - - - -Node2->Node2 - - - - - - - - -Node3 - - -std::max - - - - - -Node2->Node3 - - - - - - - - diff --git a/dd/d47/namespacemath_a7e78996673df791014cfe540b183456a_cgraph.map b/dd/d47/namespacemath_a7e78996673df791014cfe540b183456a_cgraph.map deleted file mode 100644 index f255fc380..000000000 --- a/dd/d47/namespacemath_a7e78996673df791014cfe540b183456a_cgraph.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/dd/d47/namespacemath_a7e78996673df791014cfe540b183456a_cgraph.md5 b/dd/d47/namespacemath_a7e78996673df791014cfe540b183456a_cgraph.md5 deleted file mode 100644 index 47b657326..000000000 --- a/dd/d47/namespacemath_a7e78996673df791014cfe540b183456a_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -9c1da1cf91f0f3d2e5a05feaeb098384 \ No newline at end of file diff --git a/dd/d47/namespacemath_a7e78996673df791014cfe540b183456a_cgraph.svg b/dd/d47/namespacemath_a7e78996673df791014cfe540b183456a_cgraph.svg deleted file mode 100644 index cf4271593..000000000 --- a/dd/d47/namespacemath_a7e78996673df791014cfe540b183456a_cgraph.svg +++ /dev/null @@ -1,56 +0,0 @@ - - - - - - - - - - - - -math::factorial - - -Node1 - - -math::factorial - - - - - -Node1->Node1 - - - - - - - - - - - - - diff --git a/dd/d47/namespacemath_a7e78996673df791014cfe540b183456a_cgraph_org.svg b/dd/d47/namespacemath_a7e78996673df791014cfe540b183456a_cgraph_org.svg deleted file mode 100644 index ac4c40108..000000000 --- a/dd/d47/namespacemath_a7e78996673df791014cfe540b183456a_cgraph_org.svg +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - -math::factorial - - -Node1 - - -math::factorial - - - - - -Node1->Node1 - - - - - - - - diff --git a/dd/d47/namespacemath_a8e6eede206201db0d1dbb618fa969bec_cgraph.map b/dd/d47/namespacemath_a8e6eede206201db0d1dbb618fa969bec_cgraph.map deleted file mode 100644 index 3771df1be..000000000 --- a/dd/d47/namespacemath_a8e6eede206201db0d1dbb618fa969bec_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/dd/d47/namespacemath_a8e6eede206201db0d1dbb618fa969bec_cgraph.md5 b/dd/d47/namespacemath_a8e6eede206201db0d1dbb618fa969bec_cgraph.md5 deleted file mode 100644 index 48942e926..000000000 --- a/dd/d47/namespacemath_a8e6eede206201db0d1dbb618fa969bec_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -5a1e76eff5b60a59fdd7eae43d589d1a \ No newline at end of file diff --git a/dd/d47/namespacemath_a8e6eede206201db0d1dbb618fa969bec_cgraph.svg b/dd/d47/namespacemath_a8e6eede206201db0d1dbb618fa969bec_cgraph.svg deleted file mode 100644 index 44aa2f09f..000000000 --- a/dd/d47/namespacemath_a8e6eede206201db0d1dbb618fa969bec_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -math::are_amicable - - -Node1 - - -math::are_amicable - - - - - -Node2 - - -math::sum_of_divisor - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/dd/d47/namespacemath_a8e6eede206201db0d1dbb618fa969bec_cgraph_org.svg b/dd/d47/namespacemath_a8e6eede206201db0d1dbb618fa969bec_cgraph_org.svg deleted file mode 100644 index 1221e9e3a..000000000 --- a/dd/d47/namespacemath_a8e6eede206201db0d1dbb618fa969bec_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -math::are_amicable - - -Node1 - - -math::are_amicable - - - - - -Node2 - - -math::sum_of_divisor - - - - - -Node1->Node2 - - - - - - - - diff --git a/dd/d47/namespacemath_a91366864111e1fac29722ca45e02ea8f_cgraph.map b/dd/d47/namespacemath_a91366864111e1fac29722ca45e02ea8f_cgraph.map deleted file mode 100644 index 3a489c1dc..000000000 --- a/dd/d47/namespacemath_a91366864111e1fac29722ca45e02ea8f_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/dd/d47/namespacemath_a91366864111e1fac29722ca45e02ea8f_cgraph.md5 b/dd/d47/namespacemath_a91366864111e1fac29722ca45e02ea8f_cgraph.md5 deleted file mode 100644 index 91fb25eed..000000000 --- a/dd/d47/namespacemath_a91366864111e1fac29722ca45e02ea8f_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -db31d1963ebcd03160cd9304fd8b4da1 \ No newline at end of file diff --git a/dd/d47/namespacemath_a91366864111e1fac29722ca45e02ea8f_cgraph.svg b/dd/d47/namespacemath_a91366864111e1fac29722ca45e02ea8f_cgraph.svg deleted file mode 100644 index e6b132a25..000000000 --- a/dd/d47/namespacemath_a91366864111e1fac29722ca45e02ea8f_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -math::sieve - - -Node1 - - -math::sieve - - - - - -Node2 - - -std::vector::size - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/dd/d47/namespacemath_a91366864111e1fac29722ca45e02ea8f_cgraph_org.svg b/dd/d47/namespacemath_a91366864111e1fac29722ca45e02ea8f_cgraph_org.svg deleted file mode 100644 index e1a855d51..000000000 --- a/dd/d47/namespacemath_a91366864111e1fac29722ca45e02ea8f_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -math::sieve - - -Node1 - - -math::sieve - - - - - -Node2 - - -std::vector::size - - - - - -Node1->Node2 - - - - - - - - diff --git a/dd/d47/namespacemath_a94db02b3c9e55a69ac1696f30e2f761c_cgraph.map b/dd/d47/namespacemath_a94db02b3c9e55a69ac1696f30e2f761c_cgraph.map deleted file mode 100644 index 67e5a3f5d..000000000 --- a/dd/d47/namespacemath_a94db02b3c9e55a69ac1696f30e2f761c_cgraph.map +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/dd/d47/namespacemath_a94db02b3c9e55a69ac1696f30e2f761c_cgraph.md5 b/dd/d47/namespacemath_a94db02b3c9e55a69ac1696f30e2f761c_cgraph.md5 deleted file mode 100644 index f4be1433f..000000000 --- a/dd/d47/namespacemath_a94db02b3c9e55a69ac1696f30e2f761c_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -41bf653d9d48bb32d29822ad79a4e137 \ No newline at end of file diff --git a/dd/d47/namespacemath_a94db02b3c9e55a69ac1696f30e2f761c_cgraph.svg b/dd/d47/namespacemath_a94db02b3c9e55a69ac1696f30e2f761c_cgraph.svg deleted file mode 100644 index 76804d11e..000000000 --- a/dd/d47/namespacemath_a94db02b3c9e55a69ac1696f30e2f761c_cgraph.svg +++ /dev/null @@ -1,92 +0,0 @@ - - - - - - - - - - - - -math::pyramid_volume - - -Node1 - - -math::pyramid_volume - - - - - -Node2 - - -height - - - - - -Node1->Node2 - - - - - - - - -Node2->Node2 - - - - - - - - -Node3 - - -std::max - - - - - -Node2->Node3 - - - - - - - - - - - - - diff --git a/dd/d47/namespacemath_a94db02b3c9e55a69ac1696f30e2f761c_cgraph_org.svg b/dd/d47/namespacemath_a94db02b3c9e55a69ac1696f30e2f761c_cgraph_org.svg deleted file mode 100644 index c70b74489..000000000 --- a/dd/d47/namespacemath_a94db02b3c9e55a69ac1696f30e2f761c_cgraph_org.svg +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - -math::pyramid_volume - - -Node1 - - -math::pyramid_volume - - - - - -Node2 - - -height - - - - - -Node1->Node2 - - - - - - - - -Node2->Node2 - - - - - - - - -Node3 - - -std::max - - - - - -Node2->Node3 - - - - - - - - diff --git a/dd/d47/namespacemath_aacb1411ef2029e81f249c21e17c96fdb_cgraph.map b/dd/d47/namespacemath_aacb1411ef2029e81f249c21e17c96fdb_cgraph.map deleted file mode 100644 index bd6e17e2d..000000000 --- a/dd/d47/namespacemath_aacb1411ef2029e81f249c21e17c96fdb_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/dd/d47/namespacemath_aacb1411ef2029e81f249c21e17c96fdb_cgraph.md5 b/dd/d47/namespacemath_aacb1411ef2029e81f249c21e17c96fdb_cgraph.md5 deleted file mode 100644 index 2de8f6ded..000000000 --- a/dd/d47/namespacemath_aacb1411ef2029e81f249c21e17c96fdb_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -6a7f4d87afb2383fe4bc01f981581452 \ No newline at end of file diff --git a/dd/d47/namespacemath_aacb1411ef2029e81f249c21e17c96fdb_cgraph.svg b/dd/d47/namespacemath_aacb1411ef2029e81f249c21e17c96fdb_cgraph.svg deleted file mode 100644 index cbf61051e..000000000 --- a/dd/d47/namespacemath_aacb1411ef2029e81f249c21e17c96fdb_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -math::quadraticEquation - - -Node1 - - -math::quadraticEquation - - - - - -Node2 - - -std::sqrt - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/dd/d47/namespacemath_aacb1411ef2029e81f249c21e17c96fdb_cgraph_org.svg b/dd/d47/namespacemath_aacb1411ef2029e81f249c21e17c96fdb_cgraph_org.svg deleted file mode 100644 index ba68cbde3..000000000 --- a/dd/d47/namespacemath_aacb1411ef2029e81f249c21e17c96fdb_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -math::quadraticEquation - - -Node1 - - -math::quadraticEquation - - - - - -Node2 - - -std::sqrt - - - - - -Node1->Node2 - - - - - - - - diff --git a/dd/d47/namespacemath_ab3b920cc56442abd92279ba23b50f4dc_cgraph.map b/dd/d47/namespacemath_ab3b920cc56442abd92279ba23b50f4dc_cgraph.map deleted file mode 100644 index 45721859d..000000000 --- a/dd/d47/namespacemath_ab3b920cc56442abd92279ba23b50f4dc_cgraph.map +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/dd/d47/namespacemath_ab3b920cc56442abd92279ba23b50f4dc_cgraph.md5 b/dd/d47/namespacemath_ab3b920cc56442abd92279ba23b50f4dc_cgraph.md5 deleted file mode 100644 index 5f297feea..000000000 --- a/dd/d47/namespacemath_ab3b920cc56442abd92279ba23b50f4dc_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -727be8c14feaa480af95e69e6d213653 \ No newline at end of file diff --git a/dd/d47/namespacemath_ab3b920cc56442abd92279ba23b50f4dc_cgraph.svg b/dd/d47/namespacemath_ab3b920cc56442abd92279ba23b50f4dc_cgraph.svg deleted file mode 100644 index 8609241ee..000000000 --- a/dd/d47/namespacemath_ab3b920cc56442abd92279ba23b50f4dc_cgraph.svg +++ /dev/null @@ -1,92 +0,0 @@ - - - - - - - - - - - - -math::triangle_area - - -Node1 - - -math::triangle_area - - - - - -Node2 - - -height - - - - - -Node1->Node2 - - - - - - - - -Node2->Node2 - - - - - - - - -Node3 - - -std::max - - - - - -Node2->Node3 - - - - - - - - - - - - - diff --git a/dd/d47/namespacemath_ab3b920cc56442abd92279ba23b50f4dc_cgraph_org.svg b/dd/d47/namespacemath_ab3b920cc56442abd92279ba23b50f4dc_cgraph_org.svg deleted file mode 100644 index 5fd45c851..000000000 --- a/dd/d47/namespacemath_ab3b920cc56442abd92279ba23b50f4dc_cgraph_org.svg +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - -math::triangle_area - - -Node1 - - -math::triangle_area - - - - - -Node2 - - -height - - - - - -Node1->Node2 - - - - - - - - -Node2->Node2 - - - - - - - - -Node3 - - -std::max - - - - - -Node2->Node3 - - - - - - - - diff --git a/dd/d47/namespacemath_abde24398be43538c62e4a496968e60ca_cgraph.map b/dd/d47/namespacemath_abde24398be43538c62e4a496968e60ca_cgraph.map deleted file mode 100644 index bfaae621c..000000000 --- a/dd/d47/namespacemath_abde24398be43538c62e4a496968e60ca_cgraph.map +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/dd/d47/namespacemath_abde24398be43538c62e4a496968e60ca_cgraph.md5 b/dd/d47/namespacemath_abde24398be43538c62e4a496968e60ca_cgraph.md5 deleted file mode 100644 index 9247a8e13..000000000 --- a/dd/d47/namespacemath_abde24398be43538c62e4a496968e60ca_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -6eac59b3843310a1d8039173f5678002 \ No newline at end of file diff --git a/dd/d47/namespacemath_abde24398be43538c62e4a496968e60ca_cgraph.svg b/dd/d47/namespacemath_abde24398be43538c62e4a496968e60ca_cgraph.svg deleted file mode 100644 index 1bc2143b7..000000000 --- a/dd/d47/namespacemath_abde24398be43538c62e4a496968e60ca_cgraph.svg +++ /dev/null @@ -1,110 +0,0 @@ - - - - - - - - - - - - -math::cylinder_volume - - -Node1 - - -math::cylinder_volume - - - - - -Node2 - - -height - - - - - -Node1->Node2 - - - - - - - - -Node4 - - -std::pow - - - - - -Node1->Node4 - - - - - - - - -Node2->Node2 - - - - - - - - -Node3 - - -std::max - - - - - -Node2->Node3 - - - - - - - - - - - - - diff --git a/dd/d47/namespacemath_abde24398be43538c62e4a496968e60ca_cgraph_org.svg b/dd/d47/namespacemath_abde24398be43538c62e4a496968e60ca_cgraph_org.svg deleted file mode 100644 index 636102aee..000000000 --- a/dd/d47/namespacemath_abde24398be43538c62e4a496968e60ca_cgraph_org.svg +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - -math::cylinder_volume - - -Node1 - - -math::cylinder_volume - - - - - -Node2 - - -height - - - - - -Node1->Node2 - - - - - - - - -Node4 - - -std::pow - - - - - -Node1->Node4 - - - - - - - - -Node2->Node2 - - - - - - - - -Node3 - - -std::max - - - - - -Node2->Node3 - - - - - - - - diff --git a/dd/d47/namespacemath_abf7f2a6d91f1ca6c89698792aea3f188_cgraph.map b/dd/d47/namespacemath_abf7f2a6d91f1ca6c89698792aea3f188_cgraph.map deleted file mode 100644 index 89bdb2c8e..000000000 --- a/dd/d47/namespacemath_abf7f2a6d91f1ca6c89698792aea3f188_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/dd/d47/namespacemath_abf7f2a6d91f1ca6c89698792aea3f188_cgraph.md5 b/dd/d47/namespacemath_abf7f2a6d91f1ca6c89698792aea3f188_cgraph.md5 deleted file mode 100644 index 5281cc014..000000000 --- a/dd/d47/namespacemath_abf7f2a6d91f1ca6c89698792aea3f188_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -5ce3d6040d5d55ef29c636d9ec16315e \ No newline at end of file diff --git a/dd/d47/namespacemath_abf7f2a6d91f1ca6c89698792aea3f188_cgraph.svg b/dd/d47/namespacemath_abf7f2a6d91f1ca6c89698792aea3f188_cgraph.svg deleted file mode 100644 index 1b1e9deed..000000000 --- a/dd/d47/namespacemath_abf7f2a6d91f1ca6c89698792aea3f188_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -math::approximate_pi - - -Node1 - - -math::approximate_pi - - - - - -Node2 - - -std::vector::size - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/dd/d47/namespacemath_abf7f2a6d91f1ca6c89698792aea3f188_cgraph_org.svg b/dd/d47/namespacemath_abf7f2a6d91f1ca6c89698792aea3f188_cgraph_org.svg deleted file mode 100644 index 41aea7400..000000000 --- a/dd/d47/namespacemath_abf7f2a6d91f1ca6c89698792aea3f188_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -math::approximate_pi - - -Node1 - - -math::approximate_pi - - - - - -Node2 - - -std::vector::size - - - - - -Node1->Node2 - - - - - - - - diff --git a/dd/d47/namespacemath_ac5803413618fcfb922cb32c6db0fc864_cgraph.map b/dd/d47/namespacemath_ac5803413618fcfb922cb32c6db0fc864_cgraph.map deleted file mode 100644 index bdf906cf0..000000000 --- a/dd/d47/namespacemath_ac5803413618fcfb922cb32c6db0fc864_cgraph.map +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/dd/d47/namespacemath_ac5803413618fcfb922cb32c6db0fc864_cgraph.md5 b/dd/d47/namespacemath_ac5803413618fcfb922cb32c6db0fc864_cgraph.md5 deleted file mode 100644 index c0546fe08..000000000 --- a/dd/d47/namespacemath_ac5803413618fcfb922cb32c6db0fc864_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -457884b1c2bae6638428084835dd60ff \ No newline at end of file diff --git a/dd/d47/namespacemath_ac5803413618fcfb922cb32c6db0fc864_cgraph.svg b/dd/d47/namespacemath_ac5803413618fcfb922cb32c6db0fc864_cgraph.svg deleted file mode 100644 index 76f4e815e..000000000 --- a/dd/d47/namespacemath_ac5803413618fcfb922cb32c6db0fc864_cgraph.svg +++ /dev/null @@ -1,92 +0,0 @@ - - - - - - - - - - - - -math::cylinder_surface_area - - -Node1 - - -math::cylinder_surface_area - - - - - -Node2 - - -height - - - - - -Node1->Node2 - - - - - - - - -Node2->Node2 - - - - - - - - -Node3 - - -std::max - - - - - -Node2->Node3 - - - - - - - - - - - - - diff --git a/dd/d47/namespacemath_ac5803413618fcfb922cb32c6db0fc864_cgraph_org.svg b/dd/d47/namespacemath_ac5803413618fcfb922cb32c6db0fc864_cgraph_org.svg deleted file mode 100644 index 99b9aac6d..000000000 --- a/dd/d47/namespacemath_ac5803413618fcfb922cb32c6db0fc864_cgraph_org.svg +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - -math::cylinder_surface_area - - -Node1 - - -math::cylinder_surface_area - - - - - -Node2 - - -height - - - - - -Node1->Node2 - - - - - - - - -Node2->Node2 - - - - - - - - -Node3 - - -std::max - - - - - -Node2->Node3 - - - - - - - - diff --git a/dd/d47/namespacemath_ad09d59850865012a6fd95d89954c82e4_cgraph.map b/dd/d47/namespacemath_ad09d59850865012a6fd95d89954c82e4_cgraph.map deleted file mode 100644 index f84b6840c..000000000 --- a/dd/d47/namespacemath_ad09d59850865012a6fd95d89954c82e4_cgraph.map +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/dd/d47/namespacemath_ad09d59850865012a6fd95d89954c82e4_cgraph.md5 b/dd/d47/namespacemath_ad09d59850865012a6fd95d89954c82e4_cgraph.md5 deleted file mode 100644 index b688a1b53..000000000 --- a/dd/d47/namespacemath_ad09d59850865012a6fd95d89954c82e4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -b5aab553c97b1e43495bec22860cf484 \ No newline at end of file diff --git a/dd/d47/namespacemath_ad09d59850865012a6fd95d89954c82e4_cgraph.svg b/dd/d47/namespacemath_ad09d59850865012a6fd95d89954c82e4_cgraph.svg deleted file mode 100644 index ce6a024ee..000000000 --- a/dd/d47/namespacemath_ad09d59850865012a6fd95d89954c82e4_cgraph.svg +++ /dev/null @@ -1,119 +0,0 @@ - - - - - - - - - - - - -math::print_primes - - -Node1 - - -math::print_primes - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -primes - - - - - -Node1->Node3 - - - - - - - - -Node5 - - -std::vector::size - - - - - -Node1->Node5 - - - - - - - - -Node4 - - -std::vector::emplace_back - - - - - -Node3->Node4 - - - - - - - - - - - - - diff --git a/dd/d47/namespacemath_ad09d59850865012a6fd95d89954c82e4_cgraph_org.svg b/dd/d47/namespacemath_ad09d59850865012a6fd95d89954c82e4_cgraph_org.svg deleted file mode 100644 index d2190e1a8..000000000 --- a/dd/d47/namespacemath_ad09d59850865012a6fd95d89954c82e4_cgraph_org.svg +++ /dev/null @@ -1,93 +0,0 @@ - - - - - - -math::print_primes - - -Node1 - - -math::print_primes - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -primes - - - - - -Node1->Node3 - - - - - - - - -Node5 - - -std::vector::size - - - - - -Node1->Node5 - - - - - - - - -Node4 - - -std::vector::emplace_back - - - - - -Node3->Node4 - - - - - - - - diff --git a/dd/d47/namespacemath_ae413098478fa38acaac887b7654f0725_cgraph.map b/dd/d47/namespacemath_ae413098478fa38acaac887b7654f0725_cgraph.map deleted file mode 100644 index 4a62a9765..000000000 --- a/dd/d47/namespacemath_ae413098478fa38acaac887b7654f0725_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/dd/d47/namespacemath_ae413098478fa38acaac887b7654f0725_cgraph.md5 b/dd/d47/namespacemath_ae413098478fa38acaac887b7654f0725_cgraph.md5 deleted file mode 100644 index cd233f769..000000000 --- a/dd/d47/namespacemath_ae413098478fa38acaac887b7654f0725_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -657d8ad44ac8c1706fefaac2f8e2976b \ No newline at end of file diff --git a/dd/d47/namespacemath_ae413098478fa38acaac887b7654f0725_cgraph.svg b/dd/d47/namespacemath_ae413098478fa38acaac887b7654f0725_cgraph.svg deleted file mode 100644 index 386ba202f..000000000 --- a/dd/d47/namespacemath_ae413098478fa38acaac887b7654f0725_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -math::cube_volume - - -Node1 - - -math::cube_volume - - - - - -Node2 - - -std::pow - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/dd/d47/namespacemath_ae413098478fa38acaac887b7654f0725_cgraph_org.svg b/dd/d47/namespacemath_ae413098478fa38acaac887b7654f0725_cgraph_org.svg deleted file mode 100644 index a20462a4c..000000000 --- a/dd/d47/namespacemath_ae413098478fa38acaac887b7654f0725_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -math::cube_volume - - -Node1 - - -math::cube_volume - - - - - -Node2 - - -std::pow - - - - - -Node1->Node2 - - - - - - - - diff --git a/dd/d4f/class_solution.html b/dd/d4f/class_solution.html index cf2dcd456..0fd72301c 100644 --- a/dd/d4f/class_solution.html +++ b/dd/d4f/class_solution.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Solution Class Reference +TheAlgorithms/C++: Solution Class Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -120,7 +137,7 @@ Collaboration diagram for Solution:
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    - +

    Public Member Functions

    std::vector< std::vector< int > > search_bridges (int n, const std::vector< std::vector< int > > &connections)
    std::vector< std::vector< int > > search_bridges (int n, const std::vector< std::vector< int > > &connections)
     

    @@ -130,26 +147,23 @@ Private Member Functions

    - + - + - + - + - + - +

    Private Attributes

    -std::vector< std::vector< int > > graph
    std::vector< std::vector< int > > graph
     
    -std::vector< int > in_time
    std::vector< int > in_time
     
    -std::vector< int > out_time
    std::vector< int > out_time
     
    -int timer = 0
    int timer = 0
     
    -std::vector< std::vector< int > > bridge
    std::vector< std::vector< int > > bridge
     
    -std::vector< bool > visited
    std::vector< bool > visited
     
    -

    Member Function Documentation

    +

    Detailed Description

    +
    +

    Definition at line 11 of file bridge_finding_with_tarjan_algorithm.cpp.

    +

    Member Function Documentation

    ◆ dfs()

    @@ -176,8 +190,10 @@ int timer = 0
    + +

    Definition at line 17 of file bridge_finding_with_tarjan_algorithm.cpp.

    17 {
    -
    18 visited.at(current_node) = true;
    +
    18 visited.at(current_node) = true;
    19 in_time[current_node] = out_time[current_node] = timer++;
    20 for (auto& itr : graph[current_node]) {
    21 if (itr == parent) {
    @@ -186,17 +202,14 @@ int timer = 0 24 if (!visited[itr]) {
    25 dfs(itr, current_node);
    26 if (out_time[itr] > in_time[current_node]) {
    -
    27 bridge.push_back({itr, current_node});
    +
    27 bridge.push_back({itr, current_node});
    28 }
    29 }
    30 out_time[current_node] =
    -
    31 std::min(out_time[current_node], out_time[itr]);
    +
    31 std::min(out_time[current_node], out_time[itr]);
    32 }
    33 }
    -
    T at(T... args)
    -
    T min(T... args)
    Graph Algorithms.
    -
    T push_back(T... args)
    @@ -210,14 +223,14 @@ int timer = 0 - + - +
    std::vector< std::vector< int > > Solution::search_bridges std::vector< std::vector< int > > Solution::search_bridges ( int n,
    const std::vector< std::vector< int > > & connections )const std::vector< std::vector< int > > & connections )
    @@ -226,12 +239,14 @@ int timer = 0
    + +

    Definition at line 36 of file bridge_finding_with_tarjan_algorithm.cpp.

    37 {
    38 timer = 0;
    39 graph.resize(n);
    -
    40 in_time.assign(n, 0);
    -
    41 visited.assign(n, false);
    -
    42 out_time.assign(n, 0);
    +
    40 in_time.assign(n, 0);
    +
    41 visited.assign(n, false);
    +
    42 out_time.assign(n, 0);
    43 for (auto& itr : connections) {
    44 graph.at(itr[0]).push_back(itr[1]);
    45 graph.at(itr[1]).push_back(itr[0]);
    @@ -239,12 +254,156 @@ int timer = 0 47 dfs(0, -1);
    48 return bridge;
    49 }
    -
    T assign(T... args)
    + + +

    Member Data Documentation

    + +

    ◆ bridge

    + +
    +
    + + + + + +
    + + + + +
    std::vector<std::vector<int> > Solution::bridge
    +
    +private
    +
    + +

    Definition at line 15 of file bridge_finding_with_tarjan_algorithm.cpp.

    + +
    +
    + +

    ◆ graph

    + +
    +
    + + + + + +
    + + + + +
    std::vector<std::vector<int> > Solution::graph
    +
    +private
    +
    + +

    Definition at line 12 of file bridge_finding_with_tarjan_algorithm.cpp.

    + +
    +
    + +

    ◆ in_time

    + +
    +
    + + + + + +
    + + + + +
    std::vector<int> Solution::in_time
    +
    +private
    +
    + +

    Definition at line 13 of file bridge_finding_with_tarjan_algorithm.cpp.

    + +
    +
    + +

    ◆ out_time

    + +
    +
    + + + + + +
    + + + + +
    std::vector<int> Solution::out_time
    +
    +private
    +
    + +

    Definition at line 13 of file bridge_finding_with_tarjan_algorithm.cpp.

    + +
    +
    + +

    ◆ timer

    + +
    +
    + + + + + +
    + + + + +
    int Solution::timer = 0
    +
    +private
    +
    + +

    Definition at line 14 of file bridge_finding_with_tarjan_algorithm.cpp.

    + +
    +
    + +

    ◆ visited

    + +
    +
    + + + + + +
    + + + + +
    std::vector<bool> Solution::visited
    +
    +private
    +
    + +

    Definition at line 16 of file bridge_finding_with_tarjan_algorithm.cpp.

    +

    The documentation for this class was generated from the following file: diff --git a/dd/d51/classstack-members.html b/dd/d51/classstack-members.html index 7f4e4270c..418c81960 100644 --- a/dd/d51/classstack-members.html +++ b/dd/d51/classstack-members.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Member List +TheAlgorithms/C++: Member List + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/dd/d53/structdouble__hashing_1_1_entry-members.html b/dd/d53/structdouble__hashing_1_1_entry-members.html index 96da75808..3f9dd19e0 100644 --- a/dd/d53/structdouble__hashing_1_1_entry-members.html +++ b/dd/d53/structdouble__hashing_1_1_entry-members.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Member List +TheAlgorithms/C++: Member List + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/dd/d58/classmachine__learning_1_1k__nearest__neighbors_1_1_knn__coll__graph.map b/dd/d58/classmachine__learning_1_1k__nearest__neighbors_1_1_knn__coll__graph.map index cb24eb8f0..673bfb885 100644 --- a/dd/d58/classmachine__learning_1_1k__nearest__neighbors_1_1_knn__coll__graph.map +++ b/dd/d58/classmachine__learning_1_1k__nearest__neighbors_1_1_knn__coll__graph.map @@ -1,9 +1,9 @@ - + - + - + diff --git a/dd/d58/classmachine__learning_1_1k__nearest__neighbors_1_1_knn__coll__graph.md5 b/dd/d58/classmachine__learning_1_1k__nearest__neighbors_1_1_knn__coll__graph.md5 index cb973af6b..c992b3ee7 100644 --- a/dd/d58/classmachine__learning_1_1k__nearest__neighbors_1_1_knn__coll__graph.md5 +++ b/dd/d58/classmachine__learning_1_1k__nearest__neighbors_1_1_knn__coll__graph.md5 @@ -1 +1 @@ -d9b28a42cb45ddb1672ee39c6f33a9de \ No newline at end of file +b446bf92f6335dd6af9f03d4efb80801 \ No newline at end of file diff --git a/dd/d58/classmachine__learning_1_1k__nearest__neighbors_1_1_knn__coll__graph.svg b/dd/d58/classmachine__learning_1_1k__nearest__neighbors_1_1_knn__coll__graph.svg index 60c78c110..aaed08a0c 100644 --- a/dd/d58/classmachine__learning_1_1k__nearest__neighbors_1_1_knn__coll__graph.svg +++ b/dd/d58/classmachine__learning_1_1k__nearest__neighbors_1_1_knn__coll__graph.svg @@ -32,7 +32,7 @@ Node2 - + std::vector< std::vector < double > > @@ -52,7 +52,7 @@ Node3 - + std::vector< double > @@ -71,7 +71,7 @@ Node4 - + std::vector< int > diff --git a/dd/d58/classmachine__learning_1_1k__nearest__neighbors_1_1_knn__coll__graph_org.svg b/dd/d58/classmachine__learning_1_1k__nearest__neighbors_1_1_knn__coll__graph_org.svg index 17f4b03ee..c931dd1e1 100644 --- a/dd/d58/classmachine__learning_1_1k__nearest__neighbors_1_1_knn__coll__graph_org.svg +++ b/dd/d58/classmachine__learning_1_1k__nearest__neighbors_1_1_knn__coll__graph_org.svg @@ -21,7 +21,7 @@ Node2 - + std::vector< std::vector < double > > @@ -41,7 +41,7 @@ Node3 - + std::vector< double > @@ -60,7 +60,7 @@ Node4 - + std::vector< int > diff --git a/dd/d5a/structstrings_1_1boyer__moore_1_1pattern.html b/dd/d5a/structstrings_1_1boyer__moore_1_1pattern.html index dd27e7964..bc6e488a0 100644 --- a/dd/d5a/structstrings_1_1boyer__moore_1_1pattern.html +++ b/dd/d5a/structstrings_1_1boyer__moore_1_1pattern.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: strings::boyer_moore::pattern Struct Reference +TheAlgorithms/C++: strings::boyer_moore::pattern Struct Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + @@ -116,21 +133,22 @@ $(function(){initNavTree('dd/d5a/structstrings_1_1boyer__moore_1_1pattern.html',
    Collaboration diagram for strings::boyer_moore::pattern:
    -
    +
    [legend]
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    - + - + - +

    Public Attributes

    -std::string pat
    std::string pat
     
    std::vector< size_t > bad_char
    std::vector< size_t > bad_char
     
    std::vector< size_t > good_suffix
    std::vector< size_t > good_suffix
     

    Detailed Description

    A structure representing all the data we need to search the preprocessed pattern in text.

    + +

    Definition at line 70 of file boyer_moore.cpp.

    Member Data Documentation

    ◆ bad_char

    @@ -139,12 +157,14 @@ Public Attributes
    - +
    std::vector<size_t> strings::boyer_moore::pattern::bad_charstd::vector<size_t> strings::boyer_moore::pattern::bad_char

    bad char table used in Bad Character Heuristic

    +

    Definition at line 74 of file boyer_moore.cpp.

    +
    @@ -154,16 +174,34 @@ Public Attributes
    - +
    std::vector<size_t> strings::boyer_moore::pattern::good_suffixstd::vector<size_t> strings::boyer_moore::pattern::good_suffix

    good suffix table used for Good Suffix heuristic

    +

    Definition at line 78 of file boyer_moore.cpp.

    + +
    + + +

    ◆ pat

    + +
    +
    + + + + +
    std::string strings::boyer_moore::pattern::pat
    +
    + +

    Definition at line 71 of file boyer_moore.cpp.

    +

    The documentation for this struct was generated from the following file: diff --git a/dd/d65/lu__decompose_8cpp.html b/dd/d65/lu__decompose_8cpp.html index 83905bb5b..0e9fc87d0 100644 --- a/dd/d65/lu__decompose_8cpp.html +++ b/dd/d65/lu__decompose_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: numerical_methods/lu_decompose.cpp File Reference +TheAlgorithms/C++: numerical_methods/lu_decompose.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -122,11 +139,13 @@ Include dependency graph for lu_decompose.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    - + @@ -138,6 +157,8 @@ Functions

    Detailed Description

    LU decomposition of a square matrix

    Author
    Krishna Vedala
    + +

    Definition in file lu_decompose.cpp.

    Function Documentation

    ◆ main()

    @@ -158,23 +179,18 @@ Functions

    Functions

    template<typename T >
    std::ostreamoperator<< (std::ostream &out, matrix< T > const &v)
    std::ostream & operator<< (std::ostream &out, matrix< T > const &v)
     
    void test1 ()
     

    Main function

    + +

    Definition at line 84 of file lu_decompose.cpp.

    84 {
    -
    85 std::srand(std::time(NULL)); // random number initializer
    +
    85 std::srand(std::time(NULL)); // random number initializer
    86
    87 test1();
    88 test2();
    89 return 0;
    90}
    -
    void test2()
    Definition lu_decompose.cpp:66
    -
    void test1()
    Definition lu_decompose.cpp:36
    -
    T srand(T... args)
    -
    T time(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    void test2()
    +
    void test1()
    +
    @@ -186,9 +202,9 @@ Here is the call graph for this function: template<typename T > - + - + @@ -198,30 +214,22 @@ template<typename T >
    std::ostream & operator<< std::ostream & operator<< (std::ostream & out, std::ostream & out,

    operator to print a matrix

    + +

    Definition at line 18 of file lu_decompose.cpp.

    18 {
    19 const int width = 10;
    20 const char separator = ' ';
    21
    -
    22 for (size_t row = 0; row < v.size(); row++) {
    -
    23 for (size_t col = 0; col < v[row].size(); col++)
    -
    24 out << std::left << std::setw(width) << std::setfill(separator)
    +
    22 for (size_t row = 0; row < v.size(); row++) {
    +
    23 for (size_t col = 0; col < v[row].size(); col++)
    +
    24 out << std::left << std::setw(width) << std::setfill(separator)
    25 << v[row][col];
    -
    26 out << std::endl;
    +
    26 out << std::endl;
    27 }
    28
    29 return out;
    30}
    -
    T endl(T... args)
    -
    T left(T... args)
    -
    T setfill(T... args)
    -
    T setw(T... args)
    -
    T size(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    @@ -239,46 +247,38 @@ Here is the call graph for this function:

    Test LU decomposition

    Todo
    better ways to self-check a matrix output?
    + +

    Definition at line 36 of file lu_decompose.cpp.

    36 {
    37 int mat_size = 3; // default matrix size
    38 const int range = 50;
    39 const int range2 = range >> 1;
    40
    41 /* Create a square matrix with random values */
    - - - +
    42 matrix<double> A(mat_size, std::valarray<double>(mat_size));
    +
    43 matrix<double> L(mat_size, std::valarray<double>(mat_size)); // output
    +
    44 matrix<double> U(mat_size, std::valarray<double>(mat_size)); // output
    45 for (int i = 0; i < mat_size; i++) {
    46 // calloc so that all valeus are '0' by default
    47 for (int j = 0; j < mat_size; j++)
    48 /* create random values in the limits [-range2, range-1] */
    -
    49 A[i][j] = static_cast<double>(std::rand() % range - range2);
    +
    49 A[i][j] = static_cast<double>(std::rand() % range - range2);
    50 }
    51
    -
    52 std::clock_t start_t = std::clock();
    +
    52 std::clock_t start_t = std::clock();
    53 lu_decomposition(A, &L, &U);
    -
    54 std::clock_t end_t = std::clock();
    -
    55 std::cout << "Time taken: "
    +
    54 std::clock_t end_t = std::clock();
    +
    55 std::cout << "Time taken: "
    56 << static_cast<double>(end_t - start_t) / CLOCKS_PER_SEC << "\n";
    57
    -
    58 std::cout << "A = \n" << A << "\n";
    -
    59 std::cout << "L = \n" << L << "\n";
    -
    60 std::cout << "U = \n" << U << "\n";
    +
    58 std::cout << "A = \n" << A << "\n";
    +
    59 std::cout << "L = \n" << L << "\n";
    +
    60 std::cout << "U = \n" << U << "\n";
    61}
    - -
    T clock(T... args)
    - -
    int lu_decomposition(const matrix< T > &A, matrix< double > *L, matrix< double > *U)
    Definition lu_decomposition.h:29
    -
    ll mat_size
    Definition matrix_exponentiation.cpp:45
    -
    T rand(T... args)
    - - -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    int lu_decomposition(const matrix< T > &A, matrix< double > *L, matrix< double > *U)
    +
    std::vector< std::valarray< T > > matrix
    + +
    @@ -296,29 +296,26 @@ Here is the call graph for this function:

    Test determinant computation using LU decomposition

    -
    66 {
    -
    67 std::cout << "Determinant test 1...";
    -
    68 matrix<int> A1({{1, 2, 3}, {4, 9, 6}, {7, 8, 9}});
    -
    69 assert(determinant_lu(A1) == -48);
    -
    70 std::cout << "passed\n";
    -
    71
    -
    72 std::cout << "Determinant test 2...";
    -
    73 matrix<int> A2({{1, 2, 3}, {4, 5, 6}, {7, 8, 9}});
    -
    74 assert(determinant_lu(A2) == 0);
    -
    75 std::cout << "passed\n";
    -
    76
    -
    77 std::cout << "Determinant test 3...";
    -
    78 matrix<float> A3({{1.2, 2.3, 3.4}, {4.5, 5.6, 6.7}, {7.8, 8.9, 9.0}});
    -
    79 assert(determinant_lu(A3) == 3.63);
    -
    80 std::cout << "passed\n";
    -
    81}
    -
    double determinant_lu(const matrix< T > &A)
    Definition lu_decomposition.h:90
    -
    -Here is the call graph for this function:
    -
    -
    -
    +

    Definition at line 66 of file lu_decompose.cpp.

    +
    66 {
    +
    67 std::cout << "Determinant test 1...";
    +
    68 matrix<int> A1({{1, 2, 3}, {4, 9, 6}, {7, 8, 9}});
    +
    69 assert(determinant_lu(A1) == -48);
    +
    70 std::cout << "passed\n";
    +
    71
    +
    72 std::cout << "Determinant test 2...";
    +
    73 matrix<int> A2({{1, 2, 3}, {4, 5, 6}, {7, 8, 9}});
    +
    74 assert(determinant_lu(A2) == 0);
    +
    75 std::cout << "passed\n";
    +
    76
    +
    77 std::cout << "Determinant test 3...";
    +
    78 matrix<float> A3({{1.2, 2.3, 3.4}, {4.5, 5.6, 6.7}, {7.8, 8.9, 9.0}});
    +
    79 assert(determinant_lu(A3) == 3.63);
    +
    80 std::cout << "passed\n";
    +
    81}
    +
    double determinant_lu(const matrix< T > &A)
    +
    diff --git a/dd/d65/lu__decompose_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph.map b/dd/d65/lu__decompose_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph.map deleted file mode 100644 index cf1d77323..000000000 --- a/dd/d65/lu__decompose_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph.map +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/dd/d65/lu__decompose_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph.md5 b/dd/d65/lu__decompose_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph.md5 deleted file mode 100644 index cd2377c6e..000000000 --- a/dd/d65/lu__decompose_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -b32004893b272d8a391346d8d524a80d \ No newline at end of file diff --git a/dd/d65/lu__decompose_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph.svg b/dd/d65/lu__decompose_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph.svg deleted file mode 100644 index e41b95c8d..000000000 --- a/dd/d65/lu__decompose_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph.svg +++ /dev/null @@ -1,110 +0,0 @@ - - - - - - - - - - - - -test2 - - -Node1 - - -test2 - - - - - -Node2 - - -determinant_lu - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -lu_decomposition - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::vector::size - - - - - -Node2->Node4 - - - - - - - - -Node3->Node4 - - - - - - - - - - - - - diff --git a/dd/d65/lu__decompose_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph_org.svg b/dd/d65/lu__decompose_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph_org.svg deleted file mode 100644 index 8a98d580d..000000000 --- a/dd/d65/lu__decompose_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph_org.svg +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - -test2 - - -Node1 - - -test2 - - - - - -Node2 - - -determinant_lu - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -lu_decomposition - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::vector::size - - - - - -Node2->Node4 - - - - - - - - -Node3->Node4 - - - - - - - - diff --git a/dd/d65/lu__decompose_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph.map b/dd/d65/lu__decompose_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph.map deleted file mode 100644 index 072cb5183..000000000 --- a/dd/d65/lu__decompose_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph.map +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/dd/d65/lu__decompose_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph.md5 b/dd/d65/lu__decompose_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph.md5 deleted file mode 100644 index 120d3f1fa..000000000 --- a/dd/d65/lu__decompose_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -06c145ce8d7ad28ec96baa63806fa578 \ No newline at end of file diff --git a/dd/d65/lu__decompose_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph.svg b/dd/d65/lu__decompose_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph.svg deleted file mode 100644 index 5c7a2e84c..000000000 --- a/dd/d65/lu__decompose_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph.svg +++ /dev/null @@ -1,119 +0,0 @@ - - - - - - - - - - - - -test1 - - -Node1 - - -test1 - - - - - -Node2 - - -std::clock - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -lu_decomposition - - - - - -Node1->Node3 - - - - - - - - -Node5 - - -std::rand - - - - - -Node1->Node5 - - - - - - - - -Node4 - - -std::vector::size - - - - - -Node3->Node4 - - - - - - - - - - - - - diff --git a/dd/d65/lu__decompose_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph_org.svg b/dd/d65/lu__decompose_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph_org.svg deleted file mode 100644 index aea8d9015..000000000 --- a/dd/d65/lu__decompose_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph_org.svg +++ /dev/null @@ -1,93 +0,0 @@ - - - - - - -test1 - - -Node1 - - -test1 - - - - - -Node2 - - -std::clock - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -lu_decomposition - - - - - -Node1->Node3 - - - - - - - - -Node5 - - -std::rand - - - - - -Node1->Node5 - - - - - - - - -Node4 - - -std::vector::size - - - - - -Node3->Node4 - - - - - - - - diff --git a/dd/d65/lu__decompose_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph.map b/dd/d65/lu__decompose_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph.map deleted file mode 100644 index 5f52b8759..000000000 --- a/dd/d65/lu__decompose_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph.map +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/dd/d65/lu__decompose_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph.md5 b/dd/d65/lu__decompose_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph.md5 deleted file mode 100644 index 782ce4fe6..000000000 --- a/dd/d65/lu__decompose_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -c55720dc745650a5241dde4b3a5f0818 \ No newline at end of file diff --git a/dd/d65/lu__decompose_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph.svg b/dd/d65/lu__decompose_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph.svg deleted file mode 100644 index 327fe5ca0..000000000 --- a/dd/d65/lu__decompose_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph.svg +++ /dev/null @@ -1,284 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -std::srand - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -test1 - - - - - -Node1->Node3 - - - - - - - - -Node8 - - -test2 - - - - - -Node1->Node8 - - - - - - - - -Node10 - - -std::time - - - - - -Node1->Node10 - - - - - - - - -Node4 - - -std::clock - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -lu_decomposition - - - - - -Node3->Node5 - - - - - - - - -Node7 - - -std::rand - - - - - -Node3->Node7 - - - - - - - - -Node6 - - -std::vector::size - - - - - -Node5->Node6 - - - - - - - - -Node9 - - -determinant_lu - - - - - -Node8->Node9 - - - - - - - - -Node9->Node5 - - - - - - - - -Node9->Node6 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/dd/d65/lu__decompose_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph_org.svg b/dd/d65/lu__decompose_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph_org.svg deleted file mode 100644 index 557634b9a..000000000 --- a/dd/d65/lu__decompose_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph_org.svg +++ /dev/null @@ -1,201 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -std::srand - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -test1 - - - - - -Node1->Node3 - - - - - - - - -Node8 - - -test2 - - - - - -Node1->Node8 - - - - - - - - -Node10 - - -std::time - - - - - -Node1->Node10 - - - - - - - - -Node4 - - -std::clock - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -lu_decomposition - - - - - -Node3->Node5 - - - - - - - - -Node7 - - -std::rand - - - - - -Node3->Node7 - - - - - - - - -Node6 - - -std::vector::size - - - - - -Node5->Node6 - - - - - - - - -Node9 - - -determinant_lu - - - - - -Node8->Node9 - - - - - - - - -Node9->Node5 - - - - - - - - -Node9->Node6 - - - - - - - - diff --git a/dd/d65/lu__decompose_8cpp_a575c989afcc78e875031cd4273e62a3e_cgraph.map b/dd/d65/lu__decompose_8cpp_a575c989afcc78e875031cd4273e62a3e_cgraph.map deleted file mode 100644 index 6f2d94231..000000000 --- a/dd/d65/lu__decompose_8cpp_a575c989afcc78e875031cd4273e62a3e_cgraph.map +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - diff --git a/dd/d65/lu__decompose_8cpp_a575c989afcc78e875031cd4273e62a3e_cgraph.md5 b/dd/d65/lu__decompose_8cpp_a575c989afcc78e875031cd4273e62a3e_cgraph.md5 deleted file mode 100644 index 75081c87e..000000000 --- a/dd/d65/lu__decompose_8cpp_a575c989afcc78e875031cd4273e62a3e_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -58ca71fcfc592d99f44ef2bc0f19eadc \ No newline at end of file diff --git a/dd/d65/lu__decompose_8cpp_a575c989afcc78e875031cd4273e62a3e_cgraph.svg b/dd/d65/lu__decompose_8cpp_a575c989afcc78e875031cd4273e62a3e_cgraph.svg deleted file mode 100644 index bce2b74b3..000000000 --- a/dd/d65/lu__decompose_8cpp_a575c989afcc78e875031cd4273e62a3e_cgraph.svg +++ /dev/null @@ -1,137 +0,0 @@ - - - - - - - - - - - - -operator<< - - -Node1 - - -operator<< - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::left - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::setfill - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::setw - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -std::vector::size - - - - - -Node1->Node6 - - - - - - - - - - - - - diff --git a/dd/d65/lu__decompose_8cpp_a575c989afcc78e875031cd4273e62a3e_cgraph_org.svg b/dd/d65/lu__decompose_8cpp_a575c989afcc78e875031cd4273e62a3e_cgraph_org.svg deleted file mode 100644 index c9968ec45..000000000 --- a/dd/d65/lu__decompose_8cpp_a575c989afcc78e875031cd4273e62a3e_cgraph_org.svg +++ /dev/null @@ -1,111 +0,0 @@ - - - - - - -operator<< - - -Node1 - - -operator<< - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::left - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::setfill - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::setw - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -std::vector::size - - - - - -Node1->Node6 - - - - - - - - diff --git a/dd/d65/lu__decompose_8cpp_source.html b/dd/d65/lu__decompose_8cpp_source.html new file mode 100644 index 000000000..7689b6724 --- /dev/null +++ b/dd/d65/lu__decompose_8cpp_source.html @@ -0,0 +1,228 @@ + + + + + + + + +TheAlgorithms/C++: numerical_methods/lu_decompose.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    lu_decompose.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    7#include <cassert>
    +
    8#include <ctime>
    +
    9#include <iomanip>
    +
    10#include <iostream>
    +
    11
    +
    12#include "./lu_decomposition.h"
    +
    13
    +
    17template <typename T>
    +
    +
    18std::ostream &operator<<(std::ostream &out, matrix<T> const &v) {
    +
    19 const int width = 10;
    +
    20 const char separator = ' ';
    +
    21
    +
    22 for (size_t row = 0; row < v.size(); row++) {
    +
    23 for (size_t col = 0; col < v[row].size(); col++)
    +
    24 out << std::left << std::setw(width) << std::setfill(separator)
    +
    25 << v[row][col];
    +
    26 out << std::endl;
    +
    27 }
    +
    28
    +
    29 return out;
    +
    30}
    +
    +
    31
    +
    +
    36void test1() {
    +
    37 int mat_size = 3; // default matrix size
    +
    38 const int range = 50;
    +
    39 const int range2 = range >> 1;
    +
    40
    +
    41 /* Create a square matrix with random values */
    +
    42 matrix<double> A(mat_size, std::valarray<double>(mat_size));
    +
    43 matrix<double> L(mat_size, std::valarray<double>(mat_size)); // output
    +
    44 matrix<double> U(mat_size, std::valarray<double>(mat_size)); // output
    +
    45 for (int i = 0; i < mat_size; i++) {
    +
    46 // calloc so that all valeus are '0' by default
    +
    47 for (int j = 0; j < mat_size; j++)
    +
    48 /* create random values in the limits [-range2, range-1] */
    +
    49 A[i][j] = static_cast<double>(std::rand() % range - range2);
    +
    50 }
    +
    51
    +
    52 std::clock_t start_t = std::clock();
    +
    53 lu_decomposition(A, &L, &U);
    +
    54 std::clock_t end_t = std::clock();
    +
    55 std::cout << "Time taken: "
    +
    56 << static_cast<double>(end_t - start_t) / CLOCKS_PER_SEC << "\n";
    +
    57
    +
    58 std::cout << "A = \n" << A << "\n";
    +
    59 std::cout << "L = \n" << L << "\n";
    +
    60 std::cout << "U = \n" << U << "\n";
    +
    61}
    +
    +
    62
    +
    +
    66void test2() {
    +
    67 std::cout << "Determinant test 1...";
    +
    68 matrix<int> A1({{1, 2, 3}, {4, 9, 6}, {7, 8, 9}});
    +
    69 assert(determinant_lu(A1) == -48);
    +
    70 std::cout << "passed\n";
    +
    71
    +
    72 std::cout << "Determinant test 2...";
    +
    73 matrix<int> A2({{1, 2, 3}, {4, 5, 6}, {7, 8, 9}});
    +
    74 assert(determinant_lu(A2) == 0);
    +
    75 std::cout << "passed\n";
    +
    76
    +
    77 std::cout << "Determinant test 3...";
    +
    78 matrix<float> A3({{1.2, 2.3, 3.4}, {4.5, 5.6, 6.7}, {7.8, 8.9, 9.0}});
    +
    79 assert(determinant_lu(A3) == 3.63);
    +
    80 std::cout << "passed\n";
    +
    81}
    +
    +
    82
    +
    +
    84int main(int argc, char **argv) {
    +
    85 std::srand(std::time(NULL)); // random number initializer
    +
    86
    +
    87 test1();
    +
    88 test2();
    +
    89 return 0;
    +
    90}
    +
    +
    int main()
    Main function.
    +
    void test2()
    +
    void test1()
    +
    std::ostream & operator<<(std::ostream &out, matrix< T > const &v)
    +
    Functions associated with LU Decomposition of a square matrix.
    +
    double determinant_lu(const matrix< T > &A)
    +
    int lu_decomposition(const matrix< T > &A, matrix< double > *L, matrix< double > *U)
    +
    std::vector< std::valarray< T > > matrix
    + +
    +
    + + + + diff --git a/dd/d69/namespacerange__queries.html b/dd/d69/namespacerange__queries.html index 5c5ae8225..4a871811b 100644 --- a/dd/d69/namespacerange__queries.html +++ b/dd/d69/namespacerange__queries.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: range_queries Namespace Reference +TheAlgorithms/C++: range_queries Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -110,7 +127,7 @@ $(function(){initNavTree('dd/d69/namespacerange__queries.html','../../'); initRe
    -

    for std::vector +

    for std::vector More...

    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++

    @@ -123,13 +140,13 @@ Classes

     

    Detailed Description

    -

    for std::vector

    +

    for std::vector

    Range Queries algorithms.

    Range queries algorithms.

    Algorithms and Data Structures that support range queries and updates.

    for assert for IO operations

    Range Queries

    -

    for IO operations to manage dynamic memory for std::vector

    +

    for IO operations to manage dynamic memory for std::vector

    for assert for IO operations

    Range Queries algorithms

    diff --git a/dd/d73/namespaceiterative__tree__traversals.html b/dd/d73/namespaceiterative__tree__traversals.html index db132ce93..65c0a3323 100644 --- a/dd/d73/namespaceiterative__tree__traversals.html +++ b/dd/d73/namespaceiterative__tree__traversals.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: iterative_tree_traversals Namespace Reference +TheAlgorithms/C++: iterative_tree_traversals Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/dd/d74/namespaceinorder__successor__of__bst.html b/dd/d74/namespaceinorder__successor__of__bst.html index c9042f64f..ae1ea14de 100644 --- a/dd/d74/namespaceinorder__successor__of__bst.html +++ b/dd/d74/namespaceinorder__successor__of__bst.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: inorder_successor_of_bst Namespace Reference +TheAlgorithms/C++: inorder_successor_of_bst Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/dd/d7a/classdouble__linked__list-members.html b/dd/d7a/classdouble__linked__list-members.html index dfad8bf83..8a0adf37c 100644 --- a/dd/d7a/classdouble__linked__list-members.html +++ b/dd/d7a/classdouble__linked__list-members.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Member List +TheAlgorithms/C++: Member List + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/dd/d81/namespacecaesar.html b/dd/d81/namespacecaesar.html index 9a701a866..0640087e8 100644 --- a/dd/d81/namespacecaesar.html +++ b/dd/d81/namespacecaesar.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: caesar Namespace Reference +TheAlgorithms/C++: caesar Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/dd/d89/insertion__sort__recursive_8cpp.html b/dd/d89/insertion__sort__recursive_8cpp.html index 62d86e1a4..ba9bb92f7 100644 --- a/dd/d89/insertion__sort__recursive_8cpp.html +++ b/dd/d89/insertion__sort__recursive_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: sorting/insertion_sort_recursive.cpp File Reference +TheAlgorithms/C++: sorting/insertion_sort_recursive.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + @@ -122,7 +139,9 @@ Include dependency graph for insertion_sort_recursive.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -136,7 +155,7 @@ Functions - + @@ -168,6 +187,8 @@ Functions
  • Insert 2: [2, 3, 4, 5, 1].
  • Continue this until the array is sorted: [1, 2, 3, 4, 5].
  • + +

    Definition in file insertion_sort_recursive.cpp.

    Function Documentation

    ◆ create_random_array()

    @@ -212,20 +233,16 @@ template<typename T >

    Namespaces

    namespace  sorting
     Insertion Sort Function.
     
    template<typename T >
    void sorting::insertionSort (std::vector< T > *arr)
    void sorting::insertionSort (std::vector< T > *arr)
     Insertion Sort for a vector.
     
    template<typename T >
    + +

    Definition at line 94 of file insertion_sort_recursive.cpp.

    94 {
    95 while (N--) {
    -
    96 double r = (std::rand() % 10000 - 5000) / 100.f;
    +
    96 double r = (std::rand() % 10000 - 5000) / 100.f;
    97 arr[N] = static_cast<T>(r);
    98 }
    99}
    -
    T rand(T... args)
    -
    constexpr uint32_t N
    A struct to represent sparse table for min() as their invariant function, for the given array A....
    Definition sparse_table.cpp:48
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    constexpr uint32_t N
    A struct to represent sparse table for min() as their invariant function, for the given array A....
    +
    @@ -246,17 +263,14 @@ Here is the call graph for this function:

    Main function.

    Returns
    0 on successful exit.

    run self test implementations

    + +

    Definition at line 149 of file insertion_sort_recursive.cpp.

    149 {
    -
    150 tests(); /// run self test implementations
    +
    150 tests();
    151 return 0;
    152}
    -
    static void tests()
    self test implementation
    Definition insertion_sort_recursive.cpp:105
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static void tests()
    self test implementation
    + @@ -284,59 +298,50 @@ Here is the call graph for this function:

    self test implementation

    Returns
    void
    + +

    Definition at line 105 of file insertion_sort_recursive.cpp.

    105 {
    106 int arr1[10] = {78, 34, 35, 6, 34, 56, 3, 56, 2, 4};
    -
    107 std::cout << "Test 1... ";
    +
    107 std::cout << "Test 1... ";
    108 sorting::insertionSort(arr1, 10);
    -
    109 assert(std::is_sorted(arr1, arr1 + 10));
    -
    110 std::cout << "passed" << std::endl;
    +
    109 assert(std::is_sorted(arr1, arr1 + 10));
    +
    110 std::cout << "passed" << std::endl;
    111
    112 int arr2[5] = {5, -3, 7, -2, 1};
    -
    113 std::cout << "Test 2... ";
    +
    113 std::cout << "Test 2... ";
    114 sorting::insertionSort(arr2, 5);
    -
    115 assert(std::is_sorted(arr2, arr2 + 5));
    -
    116 std::cout << "passed" << std::endl;
    +
    115 assert(std::is_sorted(arr2, arr2 + 5));
    +
    116 std::cout << "passed" << std::endl;
    117
    118 float arr3[5] = {5.6, -3.1, -3.0, -2.1, 1.8};
    -
    119 std::cout << "Test 3... ";
    +
    119 std::cout << "Test 3... ";
    120 sorting::insertionSort(arr3, 5);
    -
    121 assert(std::is_sorted(arr3, arr3 + 5));
    -
    122 std::cout << "passed" << std::endl;
    +
    121 assert(std::is_sorted(arr3, arr3 + 5));
    +
    122 std::cout << "passed" << std::endl;
    123
    -
    124 std::vector<float> arr4({5.6, -3.1, -3.0, -2.1, 1.8});
    -
    125 std::cout << "Test 4... ";
    +
    124 std::vector<float> arr4({5.6, -3.1, -3.0, -2.1, 1.8});
    +
    125 std::cout << "Test 4... ";
    -
    127 assert(std::is_sorted(std::begin(arr4), std::end(arr4)));
    -
    128 std::cout << "passed" << std::endl;
    +
    127 assert(std::is_sorted(std::begin(arr4), std::end(arr4)));
    +
    128 std::cout << "passed" << std::endl;
    129
    130 int arr5[50];
    -
    131 std::cout << "Test 5... ";
    +
    131 std::cout << "Test 5... ";
    132 create_random_array(arr5, 50);
    133 sorting::insertionSort(arr5, 50);
    -
    134 assert(std::is_sorted(arr5, arr5 + 50));
    -
    135 std::cout << "passed" << std::endl;
    +
    134 assert(std::is_sorted(arr5, arr5 + 50));
    +
    135 std::cout << "passed" << std::endl;
    136
    137 float arr6[50];
    -
    138 std::cout << "Test 6... ";
    +
    138 std::cout << "Test 6... ";
    139 create_random_array(arr6, 50);
    140 sorting::insertionSort(arr6, 50);
    -
    141 assert(std::is_sorted(arr6, arr6 + 50));
    -
    142 std::cout << "passed" << std::endl;
    +
    141 assert(std::is_sorted(arr6, arr6 + 50));
    +
    142 std::cout << "passed" << std::endl;
    143}
    - -
    T begin(T... args)
    -
    T end(T... args)
    -
    T endl(T... args)
    -
    static void create_random_array(T *arr, int N)
    Helper function to create a random array.
    Definition insertion_sort_recursive.cpp:94
    -
    T is_sorted(T... args)
    -
    void insertionSort(T *arr, int n)
    Insertion Sort Function.
    Definition insertion_sort.cpp:59
    - -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static void create_random_array(T *arr, int N)
    Helper function to create a random array.
    +
    void insertionSort(T *arr, int n)
    Insertion Sort Function.
    + diff --git a/dd/d89/insertion__sort__recursive_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.map b/dd/d89/insertion__sort__recursive_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.map deleted file mode 100644 index 8e41b1834..000000000 --- a/dd/d89/insertion__sort__recursive_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.map +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - - - - - diff --git a/dd/d89/insertion__sort__recursive_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 b/dd/d89/insertion__sort__recursive_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 deleted file mode 100644 index d5880b9a5..000000000 --- a/dd/d89/insertion__sort__recursive_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -1ba55b36299ea4113f880c418c44c0b5 \ No newline at end of file diff --git a/dd/d89/insertion__sort__recursive_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.svg b/dd/d89/insertion__sort__recursive_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.svg deleted file mode 100644 index a90f88aca..000000000 --- a/dd/d89/insertion__sort__recursive_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.svg +++ /dev/null @@ -1,173 +0,0 @@ - - - - - - - - - - - - -tests - - -Node1 - - -tests - - - - - -Node2 - - -std::begin - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -create_random_array - - - - - -Node1->Node3 - - - - - - - - -Node5 - - -std::end - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -std::endl - - - - - -Node1->Node6 - - - - - - - - -Node7 - - -sorting::insertionSort - - - - - -Node1->Node7 - - - - - - - - -Node8 - - -std::is_sorted - - - - - -Node1->Node8 - - - - - - - - -Node4 - - -std::rand - - - - - -Node3->Node4 - - - - - - - - - - - - - diff --git a/dd/d89/insertion__sort__recursive_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph_org.svg b/dd/d89/insertion__sort__recursive_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph_org.svg deleted file mode 100644 index b9f80c341..000000000 --- a/dd/d89/insertion__sort__recursive_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph_org.svg +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - -tests - - -Node1 - - -tests - - - - - -Node2 - - -std::begin - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -create_random_array - - - - - -Node1->Node3 - - - - - - - - -Node5 - - -std::end - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -std::endl - - - - - -Node1->Node6 - - - - - - - - -Node7 - - -sorting::insertionSort - - - - - -Node1->Node7 - - - - - - - - -Node8 - - -std::is_sorted - - - - - -Node1->Node8 - - - - - - - - -Node4 - - -std::rand - - - - - -Node3->Node4 - - - - - - - - diff --git a/dd/d89/insertion__sort__recursive_8cpp_a59914553f24088342c139645a02a8a49_cgraph.map b/dd/d89/insertion__sort__recursive_8cpp_a59914553f24088342c139645a02a8a49_cgraph.map deleted file mode 100644 index 5fc87af60..000000000 --- a/dd/d89/insertion__sort__recursive_8cpp_a59914553f24088342c139645a02a8a49_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/dd/d89/insertion__sort__recursive_8cpp_a59914553f24088342c139645a02a8a49_cgraph.md5 b/dd/d89/insertion__sort__recursive_8cpp_a59914553f24088342c139645a02a8a49_cgraph.md5 deleted file mode 100644 index 443aba718..000000000 --- a/dd/d89/insertion__sort__recursive_8cpp_a59914553f24088342c139645a02a8a49_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -1118cd2b5676fbe988d840bcfb658799 \ No newline at end of file diff --git a/dd/d89/insertion__sort__recursive_8cpp_a59914553f24088342c139645a02a8a49_cgraph.svg b/dd/d89/insertion__sort__recursive_8cpp_a59914553f24088342c139645a02a8a49_cgraph.svg deleted file mode 100644 index fbe084816..000000000 --- a/dd/d89/insertion__sort__recursive_8cpp_a59914553f24088342c139645a02a8a49_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -create_random_array - - -Node1 - - -create_random_array - - - - - -Node2 - - -std::rand - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/dd/d89/insertion__sort__recursive_8cpp_a59914553f24088342c139645a02a8a49_cgraph_org.svg b/dd/d89/insertion__sort__recursive_8cpp_a59914553f24088342c139645a02a8a49_cgraph_org.svg deleted file mode 100644 index 7fb3b97c8..000000000 --- a/dd/d89/insertion__sort__recursive_8cpp_a59914553f24088342c139645a02a8a49_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -create_random_array - - -Node1 - - -create_random_array - - - - - -Node2 - - -std::rand - - - - - -Node1->Node2 - - - - - - - - diff --git a/dd/d89/insertion__sort__recursive_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/dd/d89/insertion__sort__recursive_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index ae72d2978..000000000 --- a/dd/d89/insertion__sort__recursive_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - - - - - - - - - - diff --git a/dd/d89/insertion__sort__recursive_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/dd/d89/insertion__sort__recursive_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index 333af3d0e..000000000 --- a/dd/d89/insertion__sort__recursive_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -2a7f935b85274a4d30132a531920c6e9 \ No newline at end of file diff --git a/dd/d89/insertion__sort__recursive_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/dd/d89/insertion__sort__recursive_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 5697b03b3..000000000 --- a/dd/d89/insertion__sort__recursive_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,191 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -tests - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::begin - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -create_random_array - - - - - -Node2->Node4 - - - - - - - - -Node6 - - -std::end - - - - - -Node2->Node6 - - - - - - - - -Node7 - - -std::endl - - - - - -Node2->Node7 - - - - - - - - -Node8 - - -sorting::insertionSort - - - - - -Node2->Node8 - - - - - - - - -Node9 - - -std::is_sorted - - - - - -Node2->Node9 - - - - - - - - -Node5 - - -std::rand - - - - - -Node4->Node5 - - - - - - - - - - - - - diff --git a/dd/d89/insertion__sort__recursive_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/dd/d89/insertion__sort__recursive_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index ef5ed89b7..000000000 --- a/dd/d89/insertion__sort__recursive_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,165 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -tests - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::begin - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -create_random_array - - - - - -Node2->Node4 - - - - - - - - -Node6 - - -std::end - - - - - -Node2->Node6 - - - - - - - - -Node7 - - -std::endl - - - - - -Node2->Node7 - - - - - - - - -Node8 - - -sorting::insertionSort - - - - - -Node2->Node8 - - - - - - - - -Node9 - - -std::is_sorted - - - - - -Node2->Node9 - - - - - - - - -Node5 - - -std::rand - - - - - -Node4->Node5 - - - - - - - - diff --git a/dd/d89/insertion__sort__recursive_8cpp_source.html b/dd/d89/insertion__sort__recursive_8cpp_source.html new file mode 100644 index 000000000..68e125a56 --- /dev/null +++ b/dd/d89/insertion__sort__recursive_8cpp_source.html @@ -0,0 +1,238 @@ + + + + + + + + +TheAlgorithms/C++: sorting/insertion_sort_recursive.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    insertion_sort_recursive.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    32#include <algorithm>
    +
    33#include <cassert>
    +
    34#include <iostream>
    +
    35#include <vector>
    +
    36
    +
    41namespace sorting {
    +
    42
    +
    50template <typename T>
    +
    51void insertionSort(T *arr, int n) {
    +
    52 for (int i = 1; i < n; i++) {
    +
    53 T temp = arr[i];
    +
    54 int j = i - 1;
    +
    55 while (j >= 0 && temp < arr[j]) {
    +
    56 arr[j + 1] = arr[j];
    +
    57 j--;
    +
    58 }
    +
    59 arr[j + 1] = temp;
    +
    60 }
    +
    61}
    +
    62
    +
    69template <typename T>
    +
    70void insertionSort(std::vector<T> *arr) {
    +
    71 size_t n = arr->size();
    +
    72
    +
    73 for (size_t i = 1; i < n; i++) {
    +
    74 T temp = arr->at(i);
    +
    75 int32_t j = i - 1;
    +
    76 while (j >= 0 && temp < arr->at(j)) {
    +
    77 arr->at(j + 1) = arr->at(j);
    +
    78 j--;
    +
    79 }
    +
    80 arr->at(j + 1) = temp;
    +
    81 }
    +
    82}
    +
    83
    +
    84} // namespace sorting
    +
    85
    +
    93template <typename T>
    +
    +
    94static void create_random_array(T *arr, int N) {
    +
    95 while (N--) {
    +
    96 double r = (std::rand() % 10000 - 5000) / 100.f;
    +
    97 arr[N] = static_cast<T>(r);
    +
    98 }
    +
    99}
    +
    +
    100
    +
    +
    105static void tests() {
    +
    106 int arr1[10] = {78, 34, 35, 6, 34, 56, 3, 56, 2, 4};
    +
    107 std::cout << "Test 1... ";
    +
    108 sorting::insertionSort(arr1, 10);
    +
    109 assert(std::is_sorted(arr1, arr1 + 10));
    +
    110 std::cout << "passed" << std::endl;
    +
    111
    +
    112 int arr2[5] = {5, -3, 7, -2, 1};
    +
    113 std::cout << "Test 2... ";
    +
    114 sorting::insertionSort(arr2, 5);
    +
    115 assert(std::is_sorted(arr2, arr2 + 5));
    +
    116 std::cout << "passed" << std::endl;
    +
    117
    +
    118 float arr3[5] = {5.6, -3.1, -3.0, -2.1, 1.8};
    +
    119 std::cout << "Test 3... ";
    +
    120 sorting::insertionSort(arr3, 5);
    +
    121 assert(std::is_sorted(arr3, arr3 + 5));
    +
    122 std::cout << "passed" << std::endl;
    +
    123
    +
    124 std::vector<float> arr4({5.6, -3.1, -3.0, -2.1, 1.8});
    +
    125 std::cout << "Test 4... ";
    + +
    127 assert(std::is_sorted(std::begin(arr4), std::end(arr4)));
    +
    128 std::cout << "passed" << std::endl;
    +
    129
    +
    130 int arr5[50];
    +
    131 std::cout << "Test 5... ";
    +
    132 create_random_array(arr5, 50);
    +
    133 sorting::insertionSort(arr5, 50);
    +
    134 assert(std::is_sorted(arr5, arr5 + 50));
    +
    135 std::cout << "passed" << std::endl;
    +
    136
    +
    137 float arr6[50];
    +
    138 std::cout << "Test 6... ";
    +
    139 create_random_array(arr6, 50);
    +
    140 sorting::insertionSort(arr6, 50);
    +
    141 assert(std::is_sorted(arr6, arr6 + 50));
    +
    142 std::cout << "passed" << std::endl;
    +
    143}
    +
    +
    144
    +
    +
    149int main() {
    +
    150 tests();
    +
    151 return 0;
    +
    152}
    +
    +
    static void tests()
    self test implementation
    +
    static void create_random_array(T *arr, int N)
    Helper function to create a random array.
    +
    int main()
    Main function.
    +
    for working with vectors
    +
    void insertionSort(T *arr, int n)
    Insertion Sort Function.
    +
    +
    + + + + diff --git a/dd/d8a/namespacegeometric__dist.html b/dd/d8a/namespacegeometric__dist.html index 3b1c84f60..86efa21cb 100644 --- a/dd/d8a/namespacegeometric__dist.html +++ b/dd/d8a/namespacegeometric__dist.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: geometric_dist Namespace Reference +TheAlgorithms/C++: geometric_dist Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/dd/d92/memory__game_8cpp.html b/dd/d92/memory__game_8cpp.html index 064e73a04..598c60c2f 100644 --- a/dd/d92/memory__game_8cpp.html +++ b/dd/d92/memory__game_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: games/memory_game.cpp File Reference +TheAlgorithms/C++: games/memory_game.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + @@ -125,7 +142,9 @@ Include dependency graph for memory_game.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -146,27 +165,27 @@ Functions - + - + - + - + - + - + @@ -178,6 +197,8 @@ Functions

    The game consists on finding the pair of all the given letters depending on the table size. Once all of the instances are all found, the game will end and will ask you if you'd like to play again or not.

    It provides 3 different sizes available that the user can choose (4x2, 5x2, 7x2). 7x2 being the biggest table size and hardest mode. The bigger the size, the more letters are available.

    Author
    David Leal
    + +

    Definition in file memory_game.cpp.

    Function Documentation

    ◆ main()

    @@ -202,30 +223,31 @@ Functions

    < Previous answer (number index).

    < Counter to check if the user has already answered two values.

    < Whether the user has answered 1 value or not (previous answered values do not count).

    + +

    Definition at line 360 of file memory_game.cpp.

    360 {
    361 // Start randomizer. This changes the values every time.
    -
    362 std::srand(std::time(nullptr));
    +
    362 std::srand(std::time(nullptr));
    363
    -
    364 int size = 0; ///< Size of the table.
    -
    365 int selection = 0; ///< Selection of the size (4x2, 5x2, 7x2).
    +
    364 int size = 0;
    +
    365 int selection = 0;
    366
    -
    367 int response = 0; ///< The answer (number index) that the user chose.
    -
    368 int old_answer = 0; ///< Previous answer (number index).
    +
    367 int response = 0;
    +
    368 int old_answer = 0;
    369
    370 int memory_count =
    -
    371 0; ///< Counter to check if the user has already answered two values.
    -
    372 bool first_time = true; ///< Whether the user has answered 1 value or not
    -
    373 ///< (previous answered values do not count).
    -
    374
    -
    375 std::cout << "\tMEMORY GAME\n";
    +
    371 0;
    +
    372 bool first_time = true;
    +
    374
    +
    375 std::cout << "\tMEMORY GAME\n";
    376
    377 do {
    -
    378 std::cout << "\n1. 4x2 (1)";
    -
    379 std::cout << "\n2. 5x2 (2)";
    -
    380 std::cout << "\n3. 7x2 (3)\n";
    +
    378 std::cout << "\n1. 4x2 (1)";
    +
    379 std::cout << "\n2. 5x2 (2)";
    +
    380 std::cout << "\n3. 7x2 (3)\n";
    381
    -
    382 std::cout << "\nChoose table size: ";
    -
    383 std::cin >> selection;
    +
    382 std::cout << "\nChoose table size: ";
    +
    383 std::cin >> selection;
    384 } while ((selection < 1 || selection > 3) &&
    385 (!games::memory_game::is_number(selection)));
    386
    @@ -244,10 +266,10 @@ Functions
    399 break;
    400 }
    401
    -
    402 std::vector<char> table(size);
    -
    403 std::vector<char> table_empty(size);
    +
    402 std::vector<char> table(size);
    +
    403 std::vector<char> table_empty(size);
    404
    -
    405 std::cout << "\n";
    +
    405 std::cout << "\n";
    406
    408 games::memory_game::ask_data(table_empty, &response, &old_answer,
    @@ -257,21 +279,11 @@ Functions
    412
    413 return 0;
    414}
    - - -
    bool is_number(const T &input)
    Utility function to verify if the given input is a number or not. This is very useful to prevent the ...
    Definition memory_game.cpp:62
    -
    void assign_results(std::vector< T > *table_empty, std::vector< T > *table, int *answer, bool *first_time, int *old_answer, int *memory_count)
    Function to assign the results to the table.
    Definition memory_game.cpp:289
    -
    void ask_data(const std::vector< T > &table, int *answer, int *old_answer, int *memory_count)
    Function that asks the user for their input in the table they previously chose.
    Definition memory_game.cpp:161
    -
    void init(std::vector< T > *table)
    Initializes the table with the letters.
    Definition memory_game.cpp:80
    -
    T srand(T... args)
    -
    T time(T... args)
    - -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    bool is_number(const T &input)
    Utility function to verify if the given input is a number or not. This is very useful to prevent the ...
    +
    void assign_results(std::vector< T > *table_empty, std::vector< T > *table, int *answer, bool *first_time, int *old_answer, int *memory_count)
    Function to assign the results to the table.
    +
    void ask_data(const std::vector< T > &table, int *answer, int *old_answer, int *memory_count)
    Function that asks the user for their input in the table they previously chose.
    +
    void init(std::vector< T > *table)
    Initializes the table with the letters.
    + @@ -300,7 +312,9 @@ template<typename T >

    for sleep()

    -

    for std::shuffle() for std::srand() for std::time() for IO operations for std::mt19937 for std::vector

    +

    for std::shuffle() for std::srand() for std::time() for IO operations for std::mt19937 for std::vector

    + +

    Definition at line 36 of file memory_game.cpp.

    36 {
    37 return sleep(seconds);
    38}
    diff --git a/dd/d92/memory__game_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/dd/d92/memory__game_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 38ee758ae..000000000 --- a/dd/d92/memory__game_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/dd/d92/memory__game_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/dd/d92/memory__game_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index efb763424..000000000 --- a/dd/d92/memory__game_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -e44c9823c199aeec1c85e433246dc8c1 \ No newline at end of file diff --git a/dd/d92/memory__game_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/dd/d92/memory__game_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index dc6f4e850..000000000 --- a/dd/d92/memory__game_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,378 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -games::memory_game -::ask_data - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -games::memory_game -::is_number - - - - - -Node1->Node3 - - - - - - - - -Node6 - - -games::memory_game -::assign_results - - - - - -Node1->Node6 - - - - - - - - -Node7 - - -games::memory_game -::init - - - - - -Node1->Node7 - - - - - - - - -Node15 - - -std::srand - - - - - -Node1->Node15 - - - - - - - - -Node16 - - -std::time - - - - - -Node1->Node16 - - - - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -games::memory_game -::print_table - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -games::memory_game -::reset_data - - - - - -Node2->Node5 - - - - - - - - -Node5->Node2 - - - - - - - - -Node6->Node2 - - - - - - - - -Node6->Node4 - - - - - - - - -Node6->Node6 - - - - - - - - -Node6->Node7 - - - - - - - - -Node13 - - -games::memory_game -::match - - - - - -Node6->Node13 - - - - - - - - -Node14 - - -SLEEP - - - - - -Node6->Node14 - - - - - - - - -Node8 - - -std::vector::begin - - - - - -Node7->Node8 - - - - - - - - -Node9 - - -std::vector::end - - - - - -Node7->Node9 - - - - - - - - -Node10 - - -std::vector::push_back - - - - - -Node7->Node10 - - - - - - - - -Node11 - - -std::shuffle - - - - - -Node7->Node11 - - - - - - - - -Node12 - - -std::vector::size - - - - - -Node7->Node12 - - - - - - - - - - - - - diff --git a/dd/d92/memory__game_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/dd/d92/memory__game_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 145fb1556..000000000 --- a/dd/d92/memory__game_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,352 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -games::memory_game -::ask_data - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -games::memory_game -::is_number - - - - - -Node1->Node3 - - - - - - - - -Node6 - - -games::memory_game -::assign_results - - - - - -Node1->Node6 - - - - - - - - -Node7 - - -games::memory_game -::init - - - - - -Node1->Node7 - - - - - - - - -Node15 - - -std::srand - - - - - -Node1->Node15 - - - - - - - - -Node16 - - -std::time - - - - - -Node1->Node16 - - - - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -games::memory_game -::print_table - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -games::memory_game -::reset_data - - - - - -Node2->Node5 - - - - - - - - -Node5->Node2 - - - - - - - - -Node6->Node2 - - - - - - - - -Node6->Node4 - - - - - - - - -Node6->Node6 - - - - - - - - -Node6->Node7 - - - - - - - - -Node13 - - -games::memory_game -::match - - - - - -Node6->Node13 - - - - - - - - -Node14 - - -SLEEP - - - - - -Node6->Node14 - - - - - - - - -Node8 - - -std::vector::begin - - - - - -Node7->Node8 - - - - - - - - -Node9 - - -std::vector::end - - - - - -Node7->Node9 - - - - - - - - -Node10 - - -std::vector::push_back - - - - - -Node7->Node10 - - - - - - - - -Node11 - - -std::shuffle - - - - - -Node7->Node11 - - - - - - - - -Node12 - - -std::vector::size - - - - - -Node7->Node12 - - - - - - - - diff --git a/dd/d92/memory__game_8cpp_source.html b/dd/d92/memory__game_8cpp_source.html new file mode 100644 index 000000000..5c11c508c --- /dev/null +++ b/dd/d92/memory__game_8cpp_source.html @@ -0,0 +1,479 @@ + + + + + + + + +TheAlgorithms/C++: games/memory_game.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    +

    Namespaces

    namespace  games
     Utility function to verify if the given input is a number or not. This is very useful to prevent the program being stuck in a loop.
     
    template<typename T >
    void games::memory_game::init (std::vector< T > *table)
    void games::memory_game::init (std::vector< T > *table)
     Initializes the table with the letters.
     
    template<typename T >
    void games::memory_game::print_table (const std::vector< T > &table)
    void games::memory_game::print_table (const std::vector< T > &table)
     Utility function to print the table.
     
    template<typename T >
    void games::memory_game::reset_data (const std::vector< T > &table, int *answer, int *old_answer, int *memory_count)
    void games::memory_game::reset_data (const std::vector< T > &table, int *answer, int *old_answer, int *memory_count)
     Utility function that resets the data if the user enters an invalid value.
     
    template<typename T >
    void games::memory_game::ask_data (const std::vector< T > &table, int *answer, int *old_answer, int *memory_count)
    void games::memory_game::ask_data (const std::vector< T > &table, int *answer, int *old_answer, int *memory_count)
     Function that asks the user for their input in the table they previously chose.
     
    template<typename T >
    bool games::memory_game::match (const std::vector< T > &table, std::vector< T > *table_empty, const int &answer, bool *first_time, int *old_answer, int *memory_count)
    bool games::memory_game::match (const std::vector< T > &table, std::vector< T > *table_empty, const int &answer, bool *first_time, int *old_answer, int *memory_count)
     Checks if the two values given by the user match.
     
    template<typename T >
    void games::memory_game::assign_results (std::vector< T > *table_empty, std::vector< T > *table, int *answer, bool *first_time, int *old_answer, int *memory_count)
    void games::memory_game::assign_results (std::vector< T > *table_empty, std::vector< T > *table, int *answer, bool *first_time, int *old_answer, int *memory_count)
     Function to assign the results to the table.
     
    int main ()
    + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + + +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    memory_game.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    17#include <algorithm>
    +
    18#include <cstdlib>
    +
    19#include <ctime>
    +
    20#include <iostream>
    +
    21#include <random>
    +
    22#include <vector>
    +
    23
    +
    24// `Sleep` is only available in Windows in milliseconds.
    +
    25// However, on Unix/Linux systems it is `sleep`, in seconds.
    +
    26#ifdef _WIN32
    +
    27#include <Windows.h>
    +
    28template <typename T>
    +
    29constexpr typename std::enable_if<std::is_integral<T>::value, void>::type SLEEP(
    +
    30 T milliseconds) {
    +
    31 Sleep(milliseconds * 1000);
    +
    32}
    +
    33#else
    +
    34#include <unistd.h>
    +
    35template <typename T>
    +
    +
    36constexpr T SLEEP(T seconds) {
    +
    37 return sleep(seconds);
    +
    38}
    +
    +
    39#endif
    +
    40
    +
    +
    45namespace games {
    +
    +
    51namespace memory_game {
    +
    61template <typename T>
    +
    +
    62bool is_number(const T &input) {
    +
    63 if (std::cin.fail()) {
    +
    64 std::cin.clear();
    +
    65 std::cin.ignore(256, '\n');
    +
    66
    +
    67 return false;
    +
    68 }
    +
    69
    +
    70 return true;
    +
    71}
    +
    +
    72
    +
    79template <typename T>
    +
    +
    80void init(std::vector<T> *table) {
    +
    81 std::vector<char> letters(7);
    +
    82
    +
    83 // Decrease / increase the number of letters depending on the size.
    +
    84 if ((*table).size() == 10) { // 5x2
    +
    85 letters = {'A', 'E', 'Z', 'P', 'D'};
    +
    86 } else if ((*table).size() == 8) { // 4x2
    +
    87 letters = {'A', 'E', 'Z', 'D'};
    +
    88 } else if ((*table).size() == 14) { // 7x2
    +
    89 letters = {'A', 'E', 'Z', 'P', 'D', 'B', 'M'};
    +
    90 }
    +
    91
    +
    92 std::vector<char> pairs;
    +
    93 for (char letter : letters) {
    +
    94 pairs.push_back(letter);
    +
    95 pairs.push_back(letter);
    +
    96 }
    +
    97
    +
    98 std::shuffle(pairs.begin(), pairs.end(),
    +
    99 std::mt19937(std::random_device()()));
    +
    100
    +
    101 for (int i = 0; i < (*table).size(); i++) {
    +
    102 (*table)[i] = pairs[i];
    +
    103 }
    +
    104
    +
    105 std::cout << "All available types are: ";
    +
    106
    +
    107 for (int i = 0; i < letters.size(); i++) {
    +
    108 if (i == letters.size() - 1) {
    +
    109 std::cout << "and " << letters[i] << ".\n\n";
    +
    110 } else {
    +
    111 std::cout << letters[i] << ", ";
    +
    112 }
    +
    113 }
    +
    114}
    +
    +
    115
    +
    122template <typename T>
    +
    +
    123void print_table(const std::vector<T> &table) {
    +
    124 std::cout << "| ";
    +
    125 std::vector<T> table_print(table.size());
    +
    126
    +
    127 for (int i = 0; i < table.size(); i++) {
    +
    128 table_print[i] = ' ';
    +
    129
    +
    130 if (table[i] != 0) {
    +
    131 table_print[i] = table[i];
    +
    132 }
    +
    133 }
    +
    134
    +
    135 for (int i = 0; i < table.size(); i++) {
    +
    136 if (i % 5 == 0 && i != 0) {
    +
    137 std::cout << "\n| ";
    +
    138 }
    +
    139
    +
    140 std::cout << table_print[i] << " | ";
    +
    141 }
    +
    142}
    +
    +
    143
    +
    144// Prototype function. This is needed as `ask_data` calls `reset_data`, and
    +
    145// `reset_data` calls `ask_data`.
    +
    146template <typename T>
    +
    147void reset_data(const std::vector<T> &, int *, int *, int *);
    +
    148
    +
    160template <typename T>
    +
    +
    161void ask_data(const std::vector<T> &table, int *answer, int *old_answer,
    +
    162 int *memory_count) {
    +
    163 (*old_answer) = (*answer);
    +
    164 print_table(table);
    +
    165
    +
    166 std::cout << "\n\nType your response here (number index):\n";
    +
    167 std::cin >> (*answer);
    +
    168
    +
    169 if (!is_number((*answer))) {
    +
    170 std::cout << "\nYou must enter a valid number.\n\n";
    +
    171 reset_data(table, answer, old_answer, memory_count);
    +
    172 }
    +
    173
    +
    174 // Increase the memory count, which will be later on used for checking if
    +
    175 // the user has already answered two values.
    +
    176 (*memory_count)++;
    +
    177
    +
    178 if (((*answer) > table.size()) || ((*answer) < 1)) {
    +
    179 std::cout << "\nYou can't check a value that doesn't exist (or an "
    +
    180 "invalid number).\n\n";
    +
    181 reset_data(table, answer, old_answer, memory_count);
    +
    182 }
    +
    183
    +
    184 if ((*old_answer) == (*answer)) {
    +
    185 std::cout << "\nYou can't check the same value twice.\n\n";
    +
    186 reset_data(table, answer, old_answer, memory_count);
    +
    187 }
    +
    188
    +
    189 // If two matches are answered already, but the user checkes a non-answered
    +
    190 // and an answered value, the program will mark it as no match, however, we
    +
    191 // must not allow the user to check the same value twice.
    +
    192 if ((table[(*answer) - 1] != 0) &&
    +
    193 ((table[(*old_answer)] == 0) || (table[(*old_answer)] != 0))) {
    +
    194 std::cout << "\nYou can't check the same value twice.\n\n";
    +
    195 reset_data(table, answer, old_answer, memory_count);
    +
    196 }
    +
    197}
    +
    +
    198
    +
    210template <typename T>
    +
    +
    211void reset_data(const std::vector<T> &table, int *answer, int *old_answer,
    +
    212 int *memory_count) {
    +
    213 (*answer) = (*old_answer);
    +
    214 (*memory_count)--;
    +
    215
    +
    216 ask_data(table, answer, old_answer, memory_count);
    +
    217}
    +
    +
    218
    +
    234template <typename T>
    +
    +
    235bool match(const std::vector<T> &table, std::vector<T> *table_empty,
    +
    236 const int &answer, bool *first_time, int *old_answer,
    +
    237 int *memory_count) {
    +
    238 if ((*first_time) == true) {
    +
    239 return true;
    +
    240 }
    +
    241
    +
    242 // Search across the whole table and if the two values match, keep results,
    +
    243 // otherwise, hide 'em up.
    +
    244 for (int i = 0; i < table.size() + 1; i++) {
    +
    245 if (i == answer) {
    +
    246 if (table[i - 1] == table[(*old_answer) - 1]) {
    +
    247 (*first_time) = true;
    +
    248 (*memory_count) = 0;
    +
    249
    +
    250 (*old_answer) = 0;
    +
    251 return true;
    +
    252 } else {
    +
    253 std::cout << "\nNo match (value was " << table[i - 1]
    +
    254 << ", index is " << i << ").\n\n";
    +
    255
    +
    256 (*table_empty)[(*old_answer) - 1] = 0;
    +
    257 (*table_empty)[answer - 1] = 0;
    +
    258
    +
    259 (*first_time) = true;
    +
    260 (*memory_count) = 0;
    +
    261
    +
    262 (*old_answer) = 0;
    +
    263 return false;
    +
    264 }
    +
    265 }
    +
    266 }
    +
    267
    +
    268 return false;
    +
    269}
    +
    +
    270
    +
    288template <typename T>
    +
    +
    289void assign_results(std::vector<T> *table_empty, std::vector<T> *table,
    +
    290 int *answer, bool *first_time, int *old_answer,
    +
    291 int *memory_count) {
    +
    292 // Search through the entire table and if the answer matches the index, show
    +
    293 // the value. If it doesn't match, hide both the values. Don't forget to
    +
    294 // keep older values already answered.
    +
    295 for (int i = 0; i < (*table).size() + 1; i++) {
    +
    296 if (i == (*answer)) {
    +
    297 if (match((*table), table_empty, (*answer), first_time, old_answer,
    +
    298 memory_count) == true) {
    +
    299 (*table_empty)[i - 1] = (*table)[i - 1];
    +
    300 (*first_time) = true;
    +
    301 }
    +
    302 }
    +
    303 }
    +
    304
    +
    305 if ((*memory_count) == 1) {
    +
    306 (*first_time) = false;
    +
    307 (*memory_count) = 0;
    +
    308 }
    +
    309
    +
    310 char try_again = 'n';
    +
    311
    +
    312 // Has the user finished the game? Use a `for` loop, and if the table is
    +
    313 // full, ask the user if he wants to play again.
    +
    314 for (int i = 0; i < (*table).size() + 1; i++) {
    +
    315 if ((*table_empty)[i] == 0) {
    +
    316 break;
    +
    317 } else if (i == (*table).size() - 1) {
    +
    318 print_table((*table));
    +
    319
    +
    320 std::cout << "\n\nYou won. Congratulations! Do you want to play "
    +
    321 "again? (y/n)\n";
    +
    322 std::cout
    +
    323 << "Size " << (*table).size()
    +
    324 << " will be used. This can be changed by re-running the game.";
    +
    325 std::cin >> try_again;
    +
    326 if (try_again == 'y') {
    +
    327 // This is needed when checking if the user has two matches
    +
    328 // already.
    +
    329 for (int i = 0; i < (*table_empty).size(); i++) {
    +
    330 (*table_empty)[i] = 0;
    +
    331 }
    +
    332
    +
    333 init(table);
    +
    334 } else if (try_again == 'n') {
    +
    335 std::cout << "\nThanks for playing the game!\n";
    +
    336 SLEEP(3);
    +
    337
    +
    338 exit(0);
    +
    339 } else {
    +
    340 std::cout << "\nInvalid input (exitting...).\n";
    +
    341 SLEEP(3);
    +
    342
    +
    343 exit(0);
    +
    344 }
    +
    345 }
    +
    346 }
    +
    347
    +
    348 // Ask data again.
    +
    349 ask_data((*table_empty), answer, old_answer, memory_count);
    +
    350 assign_results(table_empty, table, answer, first_time, old_answer,
    +
    351 memory_count);
    +
    352}
    +
    +
    353} // namespace memory_game
    +
    +
    354} // namespace games
    +
    +
    355
    +
    +
    360int main() {
    +
    361 // Start randomizer. This changes the values every time.
    +
    362 std::srand(std::time(nullptr));
    +
    363
    +
    364 int size = 0;
    +
    365 int selection = 0;
    +
    366
    +
    367 int response = 0;
    +
    368 int old_answer = 0;
    +
    369
    +
    370 int memory_count =
    +
    371 0;
    +
    372 bool first_time = true;
    +
    374
    +
    375 std::cout << "\tMEMORY GAME\n";
    +
    376
    +
    377 do {
    +
    378 std::cout << "\n1. 4x2 (1)";
    +
    379 std::cout << "\n2. 5x2 (2)";
    +
    380 std::cout << "\n3. 7x2 (3)\n";
    +
    381
    +
    382 std::cout << "\nChoose table size: ";
    +
    383 std::cin >> selection;
    +
    384 } while ((selection < 1 || selection > 3) &&
    +
    385 (!games::memory_game::is_number(selection)));
    +
    386
    +
    387 switch (selection) {
    +
    388 case 1:
    +
    389 size = 8;
    +
    390 break;
    +
    391 case 2:
    +
    392 size = 10;
    +
    393 break;
    +
    394 case 3:
    +
    395 size = 14;
    +
    396 break;
    +
    397 default:
    +
    398 size = 10;
    +
    399 break;
    +
    400 }
    +
    401
    +
    402 std::vector<char> table(size);
    +
    403 std::vector<char> table_empty(size);
    +
    404
    +
    405 std::cout << "\n";
    +
    406
    + +
    408 games::memory_game::ask_data(table_empty, &response, &old_answer,
    +
    409 &memory_count);
    +
    410 games::memory_game::assign_results(&table_empty, &table, &response,
    +
    411 &first_time, &old_answer, &memory_count);
    +
    412
    +
    413 return 0;
    +
    414}
    +
    +
    constexpr T SLEEP(T seconds)
    for sleep()
    +
    int main()
    Main function.
    +
    bool is_number(const T &input)
    Utility function to verify if the given input is a number or not. This is very useful to prevent the ...
    +
    bool match(const std::vector< T > &table, std::vector< T > *table_empty, const int &answer, bool *first_time, int *old_answer, int *memory_count)
    Checks if the two values given by the user match.
    +
    void assign_results(std::vector< T > *table_empty, std::vector< T > *table, int *answer, bool *first_time, int *old_answer, int *memory_count)
    Function to assign the results to the table.
    +
    void ask_data(const std::vector< T > &table, int *answer, int *old_answer, int *memory_count)
    Function that asks the user for their input in the table they previously chose.
    +
    void print_table(const std::vector< T > &table)
    Utility function to print the table.
    +
    void init(std::vector< T > *table)
    Initializes the table with the letters.
    +
    void reset_data(const std::vector< T > &, int *, int *, int *)
    Utility function that resets the data if the user enters an invalid value.
    +
    (Mini)game implementations.
    +
    +
    + + + + diff --git a/dd/d95/classdata__structures_1_1_segment_tree.html b/dd/d95/classdata__structures_1_1_segment_tree.html index 97e1c865d..8c94d9338 100644 --- a/dd/d95/classdata__structures_1_1_segment_tree.html +++ b/dd/d95/classdata__structures_1_1_segment_tree.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: data_structures::SegmentTree< T > Class Template Reference +TheAlgorithms/C++: data_structures::SegmentTree< T > Class Template Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -144,17 +161,14 @@ Private Member Functions
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    - - + + - - + + - - + +

    Private Attributes

    -const T ID = 0
     Comb(ID, x) = x.
    const T ID = 0
     Comb(ID, x) = x.
     
    -std::vector< T > t
     Vector to represent the tree.
    std::vector< T > t
     Vector to represent the tree.
     
    -int size = 0
     Number of elements available for querying in the tree.
    int size = 0
     Number of elements available for querying in the tree.
     

    Detailed Description

    @@ -166,6 +180,8 @@ class data_structures::SegmentTree< T >

    class representation of th + +

    Definition at line 30 of file segment_tree.cpp.

    Constructor & Destructor Documentation

    ◆ SegmentTree()

    @@ -191,10 +207,12 @@ template<class T >
    + +

    Definition at line 87 of file segment_tree.cpp.

    87: t(n * 4, ID), size(n) {}
    -
    const T ID
    Comb(ID, x) = x.
    Definition segment_tree.cpp:32
    -
    int size
    Number of elements available for querying in the tree.
    Definition segment_tree.cpp:34
    -
    std::vector< T > t
    Vector to represent the tree.
    Definition segment_tree.cpp:33
    +
    const T ID
    Comb(ID, x) = x.
    +
    int size
    Number of elements available for querying in the tree.
    +
    std::vector< T > t
    Vector to represent the tree.
    @@ -237,6 +255,8 @@ template<class T >
    Returns
    Some associative operation applied to these two values. In this case, I used addition
    + +

    Definition at line 42 of file segment_tree.cpp.

    42 {
    43 return x + y;
    44 }
    @@ -281,10 +301,12 @@ template<class T >
    Returns
    the middle point between them
    + +

    Definition at line 51 of file segment_tree.cpp.

    51 {
    52 return l + (r - l) / 2;
    53 }
    -
    double l(double x)
    Another test function.
    Definition composite_simpson_rule.cpp:119
    +
    double l(double x)
    Another test function.
    @@ -344,23 +366,18 @@ template<class T >
    Returns
    The comb operation applied to all values between tl and tr
    + +

    Definition at line 80 of file segment_tree.cpp.

    80 {
    81 if(l == tl && r == tr) return t[i];
    82 if(tl > tr) return 0;
    83 int m = mid(l, r);
    -
    84 return comb(range_comb(i * 2, l, m, tl, std::min(tr, m)), range_comb(i * 2 + 1, m + 1, r, std::max(tl, m + 1), tr));
    +
    84 return comb(range_comb(i * 2, l, m, tl, std::min(tr, m)), range_comb(i * 2 + 1, m + 1, r, std::max(tl, m + 1), tr));
    85 }
    -
    int mid(int l, int r)
    Gives the midpoint between two integers.
    Definition segment_tree.cpp:51
    -
    T comb(T x, T y)
    Any associative function that combines x and y.
    Definition segment_tree.cpp:42
    -
    T range_comb(int i, int l, int r, int tl, int tr)
    Helper method for range_comb method below.
    Definition segment_tree.cpp:80
    -
    T max(T... args)
    -
    T min(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    int mid(int l, int r)
    Gives the midpoint between two integers.
    +
    T comb(T x, T y)
    Any associative function that combines x and y.
    +
    T range_comb(int i, int l, int r, int tl, int tr)
    Helper method for range_comb method below.
    + @@ -401,15 +418,12 @@ template<class T >
    Returns
    The value of the comb operations
    + +

    Definition at line 102 of file segment_tree.cpp.

    102 {
    103 return range_comb(1, 1, size, l, r);
    104 }
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -467,6 +481,8 @@ template<class T > + +

    Definition at line 62 of file segment_tree.cpp.

    62 {
    63 if(l == r) t[i] = val;
    64 else {
    @@ -476,13 +492,8 @@ template<class T >
    68 t[i] = comb(t[i * 2], t[i * 2 + 1]);
    69 }
    70 }
    -
    void update(int i, int l, int r, int pos, T val)
    Helper method for update method below.
    Definition segment_tree.cpp:62
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    void update(int i, int l, int r, int pos, T val)
    Helper method for update method below.
    + @@ -522,19 +533,101 @@ template<class T > + +

    Definition at line 93 of file segment_tree.cpp.

    93 {
    94 update(1, 1, size, pos, val);
    95 }
    -
    -Here is the call graph for this function:
    -
    -
    +
    + +

    Member Data Documentation

    + +

    ◆ ID

    + +
    +
    +
    +template<class T >
    + + + + + +
    + + + + +
    const T data_structures::SegmentTree< T >::ID = 0
    +
    +private
    +
    + +

    Comb(ID, x) = x.

    + +

    Definition at line 32 of file segment_tree.cpp.

    + +
    +
    + +

    ◆ size

    + +
    +
    +
    +template<class T >
    + + + + + +
    + + + + +
    int data_structures::SegmentTree< T >::size = 0
    +
    +private
    +
    + +

    Number of elements available for querying in the tree.

    + +

    Definition at line 34 of file segment_tree.cpp.

    + +
    +
    + +

    ◆ t

    + +
    +
    +
    +template<class T >
    + + + + + +
    + + + + +
    std::vector<T> data_structures::SegmentTree< T >::t
    +
    +private
    +
    + +

    Vector to represent the tree.

    + +

    Definition at line 33 of file segment_tree.cpp.


    The documentation for this class was generated from the following file: diff --git a/dd/d95/classdata__structures_1_1_segment_tree_a1c5331b509d9b55bedfadf979b30dd5b_cgraph.map b/dd/d95/classdata__structures_1_1_segment_tree_a1c5331b509d9b55bedfadf979b30dd5b_cgraph.map deleted file mode 100644 index 4fbd72e62..000000000 --- a/dd/d95/classdata__structures_1_1_segment_tree_a1c5331b509d9b55bedfadf979b30dd5b_cgraph.map +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - - - - - diff --git a/dd/d95/classdata__structures_1_1_segment_tree_a1c5331b509d9b55bedfadf979b30dd5b_cgraph.md5 b/dd/d95/classdata__structures_1_1_segment_tree_a1c5331b509d9b55bedfadf979b30dd5b_cgraph.md5 deleted file mode 100644 index 5277e0749..000000000 --- a/dd/d95/classdata__structures_1_1_segment_tree_a1c5331b509d9b55bedfadf979b30dd5b_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -fc0c575a4d9c064dff1a9d348ab90680 \ No newline at end of file diff --git a/dd/d95/classdata__structures_1_1_segment_tree_a1c5331b509d9b55bedfadf979b30dd5b_cgraph.svg b/dd/d95/classdata__structures_1_1_segment_tree_a1c5331b509d9b55bedfadf979b30dd5b_cgraph.svg deleted file mode 100644 index 182458421..000000000 --- a/dd/d95/classdata__structures_1_1_segment_tree_a1c5331b509d9b55bedfadf979b30dd5b_cgraph.svg +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - - - - - - -data_structures::SegmentTree::range_comb - - -Node1 - - -data_structures::Segment -Tree::range_comb - - - - - -Node2 - - -data_structures::Segment -Tree::range_comb - - - - - -Node1->Node2 - - - - - - - - -Node2->Node2 - - - - - - - - -Node3 - - -data_structures::Segment -Tree::comb - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::max - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -data_structures::Segment -Tree::mid - - - - - -Node2->Node5 - - - - - - - - -Node6 - - -std::min - - - - - -Node2->Node6 - - - - - - - - - - - - - diff --git a/dd/d95/classdata__structures_1_1_segment_tree_a1c5331b509d9b55bedfadf979b30dd5b_cgraph_org.svg b/dd/d95/classdata__structures_1_1_segment_tree_a1c5331b509d9b55bedfadf979b30dd5b_cgraph_org.svg deleted file mode 100644 index c350f2909..000000000 --- a/dd/d95/classdata__structures_1_1_segment_tree_a1c5331b509d9b55bedfadf979b30dd5b_cgraph_org.svg +++ /dev/null @@ -1,124 +0,0 @@ - - - - - - -data_structures::SegmentTree::range_comb - - -Node1 - - -data_structures::Segment -Tree::range_comb - - - - - -Node2 - - -data_structures::Segment -Tree::range_comb - - - - - -Node1->Node2 - - - - - - - - -Node2->Node2 - - - - - - - - -Node3 - - -data_structures::Segment -Tree::comb - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::max - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -data_structures::Segment -Tree::mid - - - - - -Node2->Node5 - - - - - - - - -Node6 - - -std::min - - - - - -Node2->Node6 - - - - - - - - diff --git a/dd/d95/classdata__structures_1_1_segment_tree_a2a04f1832c5ce86def50c3021b2ab6b1_cgraph.map b/dd/d95/classdata__structures_1_1_segment_tree_a2a04f1832c5ce86def50c3021b2ab6b1_cgraph.map deleted file mode 100644 index b20ad4035..000000000 --- a/dd/d95/classdata__structures_1_1_segment_tree_a2a04f1832c5ce86def50c3021b2ab6b1_cgraph.map +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/dd/d95/classdata__structures_1_1_segment_tree_a2a04f1832c5ce86def50c3021b2ab6b1_cgraph.md5 b/dd/d95/classdata__structures_1_1_segment_tree_a2a04f1832c5ce86def50c3021b2ab6b1_cgraph.md5 deleted file mode 100644 index 49f63aa6d..000000000 --- a/dd/d95/classdata__structures_1_1_segment_tree_a2a04f1832c5ce86def50c3021b2ab6b1_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -b790969b03b1f1b91a3acbca809d7005 \ No newline at end of file diff --git a/dd/d95/classdata__structures_1_1_segment_tree_a2a04f1832c5ce86def50c3021b2ab6b1_cgraph.svg b/dd/d95/classdata__structures_1_1_segment_tree_a2a04f1832c5ce86def50c3021b2ab6b1_cgraph.svg deleted file mode 100644 index 9ea17117e..000000000 --- a/dd/d95/classdata__structures_1_1_segment_tree_a2a04f1832c5ce86def50c3021b2ab6b1_cgraph.svg +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - - - - - - -data_structures::SegmentTree::update - - -Node1 - - -data_structures::Segment -Tree::update - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -data_structures::Segment -Tree::comb - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -data_structures::Segment -Tree::mid - - - - - -Node1->Node3 - - - - - - - - - - - - - diff --git a/dd/d95/classdata__structures_1_1_segment_tree_a2a04f1832c5ce86def50c3021b2ab6b1_cgraph_org.svg b/dd/d95/classdata__structures_1_1_segment_tree_a2a04f1832c5ce86def50c3021b2ab6b1_cgraph_org.svg deleted file mode 100644 index 5c400cfba..000000000 --- a/dd/d95/classdata__structures_1_1_segment_tree_a2a04f1832c5ce86def50c3021b2ab6b1_cgraph_org.svg +++ /dev/null @@ -1,69 +0,0 @@ - - - - - - -data_structures::SegmentTree::update - - -Node1 - - -data_structures::Segment -Tree::update - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -data_structures::Segment -Tree::comb - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -data_structures::Segment -Tree::mid - - - - - -Node1->Node3 - - - - - - - - diff --git a/dd/d95/classdata__structures_1_1_segment_tree_a8fecc48e8e3f6f5f6e728495a4282e52_cgraph.map b/dd/d95/classdata__structures_1_1_segment_tree_a8fecc48e8e3f6f5f6e728495a4282e52_cgraph.map deleted file mode 100644 index 249091193..000000000 --- a/dd/d95/classdata__structures_1_1_segment_tree_a8fecc48e8e3f6f5f6e728495a4282e52_cgraph.map +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - - - diff --git a/dd/d95/classdata__structures_1_1_segment_tree_a8fecc48e8e3f6f5f6e728495a4282e52_cgraph.md5 b/dd/d95/classdata__structures_1_1_segment_tree_a8fecc48e8e3f6f5f6e728495a4282e52_cgraph.md5 deleted file mode 100644 index 822ea7d71..000000000 --- a/dd/d95/classdata__structures_1_1_segment_tree_a8fecc48e8e3f6f5f6e728495a4282e52_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -0a7c1ece104ee300922150a66938c5ba \ No newline at end of file diff --git a/dd/d95/classdata__structures_1_1_segment_tree_a8fecc48e8e3f6f5f6e728495a4282e52_cgraph.svg b/dd/d95/classdata__structures_1_1_segment_tree_a8fecc48e8e3f6f5f6e728495a4282e52_cgraph.svg deleted file mode 100644 index dd3f6f55d..000000000 --- a/dd/d95/classdata__structures_1_1_segment_tree_a8fecc48e8e3f6f5f6e728495a4282e52_cgraph.svg +++ /dev/null @@ -1,131 +0,0 @@ - - - - - - - - - - - - -data_structures::SegmentTree::range_comb - - -Node1 - - -data_structures::Segment -Tree::range_comb - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -data_structures::Segment -Tree::comb - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::max - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -data_structures::Segment -Tree::mid - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::min - - - - - -Node1->Node5 - - - - - - - - - - - - - diff --git a/dd/d95/classdata__structures_1_1_segment_tree_a8fecc48e8e3f6f5f6e728495a4282e52_cgraph_org.svg b/dd/d95/classdata__structures_1_1_segment_tree_a8fecc48e8e3f6f5f6e728495a4282e52_cgraph_org.svg deleted file mode 100644 index 41a421a08..000000000 --- a/dd/d95/classdata__structures_1_1_segment_tree_a8fecc48e8e3f6f5f6e728495a4282e52_cgraph_org.svg +++ /dev/null @@ -1,105 +0,0 @@ - - - - - - -data_structures::SegmentTree::range_comb - - -Node1 - - -data_structures::Segment -Tree::range_comb - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -data_structures::Segment -Tree::comb - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::max - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -data_structures::Segment -Tree::mid - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::min - - - - - -Node1->Node5 - - - - - - - - diff --git a/dd/d95/classdata__structures_1_1_segment_tree_ad0e78179ab979ae2bc4304bdc181db17_cgraph.map b/dd/d95/classdata__structures_1_1_segment_tree_ad0e78179ab979ae2bc4304bdc181db17_cgraph.map deleted file mode 100644 index 747a84fd2..000000000 --- a/dd/d95/classdata__structures_1_1_segment_tree_ad0e78179ab979ae2bc4304bdc181db17_cgraph.map +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/dd/d95/classdata__structures_1_1_segment_tree_ad0e78179ab979ae2bc4304bdc181db17_cgraph.md5 b/dd/d95/classdata__structures_1_1_segment_tree_ad0e78179ab979ae2bc4304bdc181db17_cgraph.md5 deleted file mode 100644 index fc345ab19..000000000 --- a/dd/d95/classdata__structures_1_1_segment_tree_ad0e78179ab979ae2bc4304bdc181db17_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -2e6b59460c35dd64997bb79d08fb5271 \ No newline at end of file diff --git a/dd/d95/classdata__structures_1_1_segment_tree_ad0e78179ab979ae2bc4304bdc181db17_cgraph.svg b/dd/d95/classdata__structures_1_1_segment_tree_ad0e78179ab979ae2bc4304bdc181db17_cgraph.svg deleted file mode 100644 index fcd720c12..000000000 --- a/dd/d95/classdata__structures_1_1_segment_tree_ad0e78179ab979ae2bc4304bdc181db17_cgraph.svg +++ /dev/null @@ -1,114 +0,0 @@ - - - - - - - - - - - - -data_structures::SegmentTree::update - - -Node1 - - -data_structures::Segment -Tree::update - - - - - -Node2 - - -data_structures::Segment -Tree::update - - - - - -Node1->Node2 - - - - - - - - -Node2->Node2 - - - - - - - - -Node3 - - -data_structures::Segment -Tree::comb - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -data_structures::Segment -Tree::mid - - - - - -Node2->Node4 - - - - - - - - - - - - - diff --git a/dd/d95/classdata__structures_1_1_segment_tree_ad0e78179ab979ae2bc4304bdc181db17_cgraph_org.svg b/dd/d95/classdata__structures_1_1_segment_tree_ad0e78179ab979ae2bc4304bdc181db17_cgraph_org.svg deleted file mode 100644 index 32e6de03d..000000000 --- a/dd/d95/classdata__structures_1_1_segment_tree_ad0e78179ab979ae2bc4304bdc181db17_cgraph_org.svg +++ /dev/null @@ -1,88 +0,0 @@ - - - - - - -data_structures::SegmentTree::update - - -Node1 - - -data_structures::Segment -Tree::update - - - - - -Node2 - - -data_structures::Segment -Tree::update - - - - - -Node1->Node2 - - - - - - - - -Node2->Node2 - - - - - - - - -Node3 - - -data_structures::Segment -Tree::comb - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -data_structures::Segment -Tree::mid - - - - - -Node2->Node4 - - - - - - - - diff --git a/dd/d9a/namespacegreedy__algorithms_1_1stable__matching.html b/dd/d9a/namespacegreedy__algorithms_1_1stable__matching.html index e666db071..643dbc3fe 100644 --- a/dd/d9a/namespacegreedy__algorithms_1_1stable__matching.html +++ b/dd/d9a/namespacegreedy__algorithms_1_1stable__matching.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: greedy_algorithms::stable_matching Namespace Reference +TheAlgorithms/C++: greedy_algorithms::stable_matching Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -115,7 +132,7 @@ $(function(){initNavTree('dd/d9a/namespacegreedy__algorithms_1_1stable__matching
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    - +

    Functions

    std::vector< std::uint32_tgale_shapley (const std::vector< std::vector< std::uint32_t > > &secondary_preferences, const std::vector< std::vector< std::uint32_t > > &primary_preferences)
    std::vector< std::uint32_t > gale_shapley (const std::vector< std::vector< std::uint32_t > > &secondary_preferences, const std::vector< std::vector< std::uint32_t > > &primary_preferences)
     The main function that finds the stable matching between two sets of elements using the Gale-Shapley Algorithm.
     
    @@ -129,14 +146,14 @@ Functions
    - + - + - +
    std::vector< std::uint32_t > greedy_algorithms::stable_matching::gale_shapley std::vector< std::uint32_t > greedy_algorithms::stable_matching::gale_shapley (const std::vector< std::vector< std::uint32_t > > & secondary_preferences, const std::vector< std::vector< std::uint32_t > > & secondary_preferences,
    const std::vector< std::vector< std::uint32_t > > & primary_preferences )const std::vector< std::vector< std::uint32_t > > & primary_preferences )
    @@ -151,11 +168,13 @@ Functions
    Returns
    matches the stable matching between the two sets
    + +

    Definition at line 46 of file gale_shapley.cpp.

    48 {
    -
    49 std::uint32_t num_elements = secondary_preferences.size();
    -
    50 std::vector<std::uint32_t> matches(num_elements, -1);
    -
    51 std::vector<bool> is_free_primary(num_elements, true);
    -
    52 std::vector<std::uint32_t> proposal_index(
    +
    49 std::uint32_t num_elements = secondary_preferences.size();
    +
    50 std::vector<std::uint32_t> matches(num_elements, -1);
    +
    51 std::vector<bool> is_free_primary(num_elements, true);
    +
    52 std::vector<std::uint32_t> proposal_index(
    53 num_elements,
    54 0); // Tracks the next secondary to propose for each primary
    55
    @@ -163,7 +182,7 @@ Functions
    57 int free_primary_index = -1;
    58
    59 // Find the next free primary
    -
    60 for (std::uint32_t i = 0; i < num_elements; i++) {
    +
    60 for (std::uint32_t i = 0; i < num_elements; i++) {
    61 if (is_free_primary[i]) {
    62 free_primary_index = i;
    63 break;
    @@ -175,13 +194,13 @@ Functions
    69 break;
    70
    71 // Get the next secondary to propose
    -
    72 std::uint32_t secondary_to_propose =
    +
    72 std::uint32_t secondary_to_propose =
    73 primary_preferences[free_primary_index]
    74 [proposal_index[free_primary_index]];
    75 proposal_index[free_primary_index]++;
    76
    77 // Get the current match of the secondary
    -
    78 std::uint32_t current_match = matches[secondary_to_propose];
    +
    78 std::uint32_t current_match = matches[secondary_to_propose];
    79
    80 // If the secondary is free, match them
    81 if (current_match == -1) {
    @@ -190,12 +209,12 @@ Functions
    84 } else {
    85 // Determine if the current match should be replaced
    86 auto new_proposer_rank =
    -
    87 std::find(secondary_preferences[secondary_to_propose].begin(),
    -
    88 secondary_preferences[secondary_to_propose].end(),
    +
    87 std::find(secondary_preferences[secondary_to_propose].begin(),
    +
    88 secondary_preferences[secondary_to_propose].end(),
    89 free_primary_index);
    90 auto current_match_rank =
    -
    91 std::find(secondary_preferences[secondary_to_propose].begin(),
    -
    92 secondary_preferences[secondary_to_propose].end(),
    +
    91 std::find(secondary_preferences[secondary_to_propose].begin(),
    +
    92 secondary_preferences[secondary_to_propose].end(),
    93 current_match);
    94
    95 // If the new proposer is preferred over the current match
    @@ -210,18 +229,7 @@ Functions
    104
    105 return matches;
    106}
    -
    T begin(T... args)
    -
    T end(T... args)
    -
    T find(T... args)
    - -
    T size(T... args)
    - -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    diff --git a/dd/d9a/namespacegreedy__algorithms_1_1stable__matching_a6d7e84df47dcf19e88f95f8f9040306c_cgraph.map b/dd/d9a/namespacegreedy__algorithms_1_1stable__matching_a6d7e84df47dcf19e88f95f8f9040306c_cgraph.map deleted file mode 100644 index f55e87aff..000000000 --- a/dd/d9a/namespacegreedy__algorithms_1_1stable__matching_a6d7e84df47dcf19e88f95f8f9040306c_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/dd/d9a/namespacegreedy__algorithms_1_1stable__matching_a6d7e84df47dcf19e88f95f8f9040306c_cgraph.md5 b/dd/d9a/namespacegreedy__algorithms_1_1stable__matching_a6d7e84df47dcf19e88f95f8f9040306c_cgraph.md5 deleted file mode 100644 index 3265fd704..000000000 --- a/dd/d9a/namespacegreedy__algorithms_1_1stable__matching_a6d7e84df47dcf19e88f95f8f9040306c_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -d3562925c9ac7b7d6fd2b415f97bed7a \ No newline at end of file diff --git a/dd/d9a/namespacegreedy__algorithms_1_1stable__matching_a6d7e84df47dcf19e88f95f8f9040306c_cgraph.svg b/dd/d9a/namespacegreedy__algorithms_1_1stable__matching_a6d7e84df47dcf19e88f95f8f9040306c_cgraph.svg deleted file mode 100644 index 213c4bd1b..000000000 --- a/dd/d9a/namespacegreedy__algorithms_1_1stable__matching_a6d7e84df47dcf19e88f95f8f9040306c_cgraph.svg +++ /dev/null @@ -1,67 +0,0 @@ - - - - - - - - - - - - -greedy_algorithms::stable_matching::gale_shapley - - -Node1 - - -greedy_algorithms:: -stable_matching::gale -_shapley - - - - - -Node2 - - -std::find - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/dd/d9a/namespacegreedy__algorithms_1_1stable__matching_a6d7e84df47dcf19e88f95f8f9040306c_cgraph_org.svg b/dd/d9a/namespacegreedy__algorithms_1_1stable__matching_a6d7e84df47dcf19e88f95f8f9040306c_cgraph_org.svg deleted file mode 100644 index 1142a0e81..000000000 --- a/dd/d9a/namespacegreedy__algorithms_1_1stable__matching_a6d7e84df47dcf19e88f95f8f9040306c_cgraph_org.svg +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - -greedy_algorithms::stable_matching::gale_shapley - - -Node1 - - -greedy_algorithms:: -stable_matching::gale -_shapley - - - - - -Node2 - - -std::find - - - - - -Node1->Node2 - - - - - - - - diff --git a/dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle.html b/dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle.html index 0455a6599..84d765f9e 100644 --- a/dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle.html +++ b/dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: machine_learning::aystar_search::EightPuzzle< N > Class Template Reference +TheAlgorithms/C++: machine_learning::aystar_search::EightPuzzle< N > Class Template Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -119,7 +136,7 @@ $(function(){initNavTree('dd/d9c/classmachine__learning_1_1aystar__search_1_1_ei
    Collaboration diagram for machine_learning::aystar_search::EightPuzzle< N >:
    -
    +
    [legend]
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    - + @@ -136,7 +153,7 @@ Public Member Functions - + @@ -155,7 +172,7 @@ Public Member Functions - + @@ -170,7 +187,7 @@ Public Member Functions

    @@ -127,7 +144,7 @@ Public Member Functions

    uint32_t get (size_t i, size_t j) const
     get the value from i units from right and j units from left side of the board
     
    std::array< std::array< uint32_t, N >, N > get_state ()
    std::array< std::array< uint32_t, N >, N > get_state ()
     Returns the current state of the board.
     
    size_t get_size () const
     EightPuzzle ()
     Default constructor for EightPuzzle.
     
     EightPuzzle (const std::array< std::array< uint32_t, N >, N > &init)
     EightPuzzle (const std::array< std::array< uint32_t, N >, N > &init)
     Parameterized Constructor for EightPuzzle.
     
     EightPuzzle (const EightPuzzle< N > &A)
    EightPuzzleoperator= (EightPuzzle &&A) noexcept
     Move assignment operator.
     
    std::vector< EightPuzzle< N > > generate_possible_moves ()
    std::vector< EightPuzzle< N > > generate_possible_moves ()
     Find all possible states after processing all possible moves, given the current state of the puzzle.
     
    bool operator== (const EightPuzzle< N > &check) const
    - + @@ -179,16 +196,15 @@ Private Member Functions

    Private Member Functions

    std::pair< uint32_t, uint32_t > find_zero ()
    std::pair< uint32_t, uint32_t > find_zero ()
     A helper array to evaluate the next state from current state;.
     
    bool in_range (const uint32_t value) const
    - + - +

    Private Attributes

    -std::array< std::array< uint32_t, N >, N > board
    std::array< std::array< uint32_t, N >, N > board
     
    std::vector< std::pair< int8_t, int8_t > > moves
    std::vector< std::pair< int8_t, int8_t > > moves
     N x N array to store the current state of the Puzzle.
     
    - +

    Friends

    std::ostreamoperator<< (std::ostream &op, const EightPuzzle< N > &SomeState)
    std::ostream & operator<< (std::ostream &op, const EightPuzzle< N > &SomeState)
     friend operator to display EightPuzzle<>
     
    @@ -201,6 +217,8 @@ class machine_learning::aystar_search::EightPuzzle< N >

    A class de + +

    Definition at line 60 of file a_star_search.cpp.

    Constructor & Destructor Documentation

    ◆ EightPuzzle() [1/4]

    @@ -228,6 +246,8 @@ template<size_t N = 3>

    Default constructor for EightPuzzle.

    + +

    Definition at line 121 of file a_star_search.cpp.

    121 {
    122 for (size_t i = 0; i < N; ++i) {
    123 for (size_t j = 0; j < N; ++j) {
    @@ -235,7 +255,7 @@ template<size_t N = 3>
    125 }
    126 }
    127 }
    -
    constexpr uint32_t N
    A struct to represent sparse table for min() as their invariant function, for the given array A....
    Definition sparse_table.cpp:48
    +
    constexpr uint32_t N
    A struct to represent sparse table for min() as their invariant function, for the given array A....
    @@ -253,7 +273,7 @@ template<size_t N = 3> machine_learning::aystar_search::EightPuzzle< N >::EightPuzzle ( - const std::array< std::array< uint32_t, N >, N > & init) + const std::array< std::array< uint32_t, N >, N > & init) @@ -271,6 +291,8 @@ template<size_t N = 3> + +

    Definition at line 132 of file a_star_search.cpp.

    133 : board(init) {}
    @@ -307,6 +329,8 @@ template<size_t N = 3> + +

    Definition at line 139 of file a_star_search.cpp.

    139: board(A.board) {}
    @@ -343,8 +367,9 @@ template<size_t N = 3> -
    146 : board(std::move(A.board)) {}
    -
    T move(T... args)
    + +

    Definition at line 145 of file a_star_search.cpp.

    +
    146 : board(std::move(A.board)) {}
    @@ -361,7 +386,7 @@ template<size_t N = 3> - + @@ -376,6 +401,8 @@ template<size_t N = 3>

    A helper array to evaluate the next state from current state;.

    Finds an empty space in puzzle (in this case; a zero)

    Returns
    a pair indicating integer distances from top and right respectively, else returns -1, -1
    + +

    Definition at line 75 of file a_star_search.cpp.

    75 {
    76 for (size_t i = 0; i < N; ++i) {
    77 for (size_t j = 0; j < N; ++j) {
    @@ -401,7 +428,7 @@ template<size_t N = 3>
    @@ -892,17 +947,19 @@ template<size_t N = 3>
    0}}

    N x N array to store the current state of the Puzzle.

    + +

    Definition at line 64 of file a_star_search.cpp.

    64 {
    65 {0, 1},
    66 {1, 0},
    67 {0, -1},
    68 {-1,
    -
    69 0}}; /// A helper array to evaluate the next state from current state;
    +
    69 0}};

    The documentation for this class was generated from the following file: diff --git a/dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle_a1802cf6197a255055cb734d626abc101_cgraph.map b/dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle_a1802cf6197a255055cb734d626abc101_cgraph.map deleted file mode 100644 index c2280d92c..000000000 --- a/dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle_a1802cf6197a255055cb734d626abc101_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle_a1802cf6197a255055cb734d626abc101_cgraph.md5 b/dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle_a1802cf6197a255055cb734d626abc101_cgraph.md5 deleted file mode 100644 index 436c5c097..000000000 --- a/dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle_a1802cf6197a255055cb734d626abc101_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -19d5e02444c59f8093111792b2e3780a \ No newline at end of file diff --git a/dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle_a1802cf6197a255055cb734d626abc101_cgraph.svg b/dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle_a1802cf6197a255055cb734d626abc101_cgraph.svg deleted file mode 100644 index 28ecb3124..000000000 --- a/dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle_a1802cf6197a255055cb734d626abc101_cgraph.svg +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - - - - - - - -machine_learning::aystar_search::EightPuzzle::operator= - - -Node1 - - -machine_learning::aystar -_search::EightPuzzle::operator= - - - - - -Node2 - - -std::move - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle_a1802cf6197a255055cb734d626abc101_cgraph_org.svg b/dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle_a1802cf6197a255055cb734d626abc101_cgraph_org.svg deleted file mode 100644 index 034e2265d..000000000 --- a/dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle_a1802cf6197a255055cb734d626abc101_cgraph_org.svg +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - -machine_learning::aystar_search::EightPuzzle::operator= - - -Node1 - - -machine_learning::aystar -_search::EightPuzzle::operator= - - - - - -Node2 - - -std::move - - - - - -Node1->Node2 - - - - - - - - diff --git a/dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle_a26a976171392d257ca0f814ed73e0658_cgraph.map b/dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle_a26a976171392d257ca0f814ed73e0658_cgraph.map deleted file mode 100644 index 230d2d08f..000000000 --- a/dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle_a26a976171392d257ca0f814ed73e0658_cgraph.map +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle_a26a976171392d257ca0f814ed73e0658_cgraph.md5 b/dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle_a26a976171392d257ca0f814ed73e0658_cgraph.md5 deleted file mode 100644 index 5e69d4e62..000000000 --- a/dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle_a26a976171392d257ca0f814ed73e0658_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -ca63993a0c35443092e60c640481c0b0 \ No newline at end of file diff --git a/dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle_a26a976171392d257ca0f814ed73e0658_cgraph.svg b/dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle_a26a976171392d257ca0f814ed73e0658_cgraph.svg deleted file mode 100644 index 86add80bb..000000000 --- a/dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle_a26a976171392d257ca0f814ed73e0658_cgraph.svg +++ /dev/null @@ -1,123 +0,0 @@ - - - - - - - - - - - - -machine_learning::aystar_search::EightPuzzle::generate_possible_moves - - -Node1 - - -machine_learning::aystar -_search::EightPuzzle::generate -_possible_moves - - - - - -Node2 - - -std::vector::emplace_back - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -machine_learning::aystar -_search::EightPuzzle::find_zero - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -machine_learning::aystar -_search::EightPuzzle::in_range - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::swap - - - - - -Node1->Node5 - - - - - - - - - - - - - diff --git a/dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle_a26a976171392d257ca0f814ed73e0658_cgraph_org.svg b/dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle_a26a976171392d257ca0f814ed73e0658_cgraph_org.svg deleted file mode 100644 index 621e7f1b1..000000000 --- a/dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle_a26a976171392d257ca0f814ed73e0658_cgraph_org.svg +++ /dev/null @@ -1,97 +0,0 @@ - - - - - - -machine_learning::aystar_search::EightPuzzle::generate_possible_moves - - -Node1 - - -machine_learning::aystar -_search::EightPuzzle::generate -_possible_moves - - - - - -Node2 - - -std::vector::emplace_back - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -machine_learning::aystar -_search::EightPuzzle::find_zero - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -machine_learning::aystar -_search::EightPuzzle::in_range - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::swap - - - - - -Node1->Node5 - - - - - - - - diff --git a/dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle_aa5c0486c7f29f323a2aced2ab33af420_cgraph.map b/dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle_aa5c0486c7f29f323a2aced2ab33af420_cgraph.map deleted file mode 100644 index ad04853c2..000000000 --- a/dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle_aa5c0486c7f29f323a2aced2ab33af420_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle_aa5c0486c7f29f323a2aced2ab33af420_cgraph.md5 b/dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle_aa5c0486c7f29f323a2aced2ab33af420_cgraph.md5 deleted file mode 100644 index 53e0ed75a..000000000 --- a/dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle_aa5c0486c7f29f323a2aced2ab33af420_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -44a16f878fa2e891597c773c40857a4d \ No newline at end of file diff --git a/dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle_aa5c0486c7f29f323a2aced2ab33af420_cgraph.svg b/dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle_aa5c0486c7f29f323a2aced2ab33af420_cgraph.svg deleted file mode 100644 index dbd9b323f..000000000 --- a/dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle_aa5c0486c7f29f323a2aced2ab33af420_cgraph.svg +++ /dev/null @@ -1,67 +0,0 @@ - - - - - - - - - - - - -machine_learning::aystar_search::EightPuzzle::get - - -Node1 - - -machine_learning::aystar -_search::EightPuzzle::get - - - - - -Node2 - - -machine_learning::aystar -_search::EightPuzzle::in_range - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle_aa5c0486c7f29f323a2aced2ab33af420_cgraph_org.svg b/dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle_aa5c0486c7f29f323a2aced2ab33af420_cgraph_org.svg deleted file mode 100644 index bd324b0ac..000000000 --- a/dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle_aa5c0486c7f29f323a2aced2ab33af420_cgraph_org.svg +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - -machine_learning::aystar_search::EightPuzzle::get - - -Node1 - - -machine_learning::aystar -_search::EightPuzzle::get - - - - - -Node2 - - -machine_learning::aystar -_search::EightPuzzle::in_range - - - - - -Node1->Node2 - - - - - - - - diff --git a/dd/d9d/structdata__structures_1_1list__array_1_1list__coll__graph.map b/dd/d9d/structdata__structures_1_1list__array_1_1list__coll__graph.map index 3d9bfef77..e5ddeea62 100644 --- a/dd/d9d/structdata__structures_1_1list__array_1_1list__coll__graph.map +++ b/dd/d9d/structdata__structures_1_1list__array_1_1list__coll__graph.map @@ -1,7 +1,5 @@ - - - - - + + + diff --git a/dd/d9d/structdata__structures_1_1list__array_1_1list__coll__graph.md5 b/dd/d9d/structdata__structures_1_1list__array_1_1list__coll__graph.md5 index ced9ffa56..e59c47057 100644 --- a/dd/d9d/structdata__structures_1_1list__array_1_1list__coll__graph.md5 +++ b/dd/d9d/structdata__structures_1_1list__array_1_1list__coll__graph.md5 @@ -1 +1 @@ -ebb1e6500cd21135978d991230a959c8 \ No newline at end of file +6cda58e210f184ae1654859fc6239183 \ No newline at end of file diff --git a/dd/d9d/structdata__structures_1_1list__array_1_1list__coll__graph.svg b/dd/d9d/structdata__structures_1_1list__array_1_1list__coll__graph.svg index 5e043ae37..a5977eddb 100644 --- a/dd/d9d/structdata__structures_1_1list__array_1_1list__coll__graph.svg +++ b/dd/d9d/structdata__structures_1_1list__array_1_1list__coll__graph.svg @@ -4,8 +4,8 @@ - + @@ -17,7 +17,7 @@ ]]> - + data_structures::list_array::list< N > @@ -32,7 +32,7 @@ Node2 - + std::array< uint64 _t, N > @@ -49,25 +49,6 @@ data - - -Node3 - - -std::uint64_t - - - - - -Node3->Node2 - - - - - - elements - diff --git a/dd/d9d/structdata__structures_1_1list__array_1_1list__coll__graph_org.svg b/dd/d9d/structdata__structures_1_1list__array_1_1list__coll__graph_org.svg index 5d4554fa8..9c501c7a7 100644 --- a/dd/d9d/structdata__structures_1_1list__array_1_1list__coll__graph_org.svg +++ b/dd/d9d/structdata__structures_1_1list__array_1_1list__coll__graph_org.svg @@ -4,9 +4,9 @@ - - + + data_structures::list_array::list< N > @@ -21,7 +21,7 @@ Node2 - + std::array< uint64 _t, N > @@ -38,24 +38,5 @@ data - - -Node3 - - -std::uint64_t - - - - - -Node3->Node2 - - - - - - elements - diff --git a/dd/da0/todo.html b/dd/da0/todo.html index 76fafb8a8..d97416b84 100644 --- a/dd/da0/todo.html +++ b/dd/da0/todo.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Todo List +TheAlgorithms/C++: Todo List + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    std::pair< uint32_t, uint32_t > machine_learning::aystar_search::EightPuzzle< N >::find_zero std::pair< uint32_t, uint32_t > machine_learning::aystar_search::EightPuzzle< N >::find_zero ( ) - + @@ -417,39 +444,32 @@ template<size_t N = 3>

    Find all possible states after processing all possible moves, given the current state of the puzzle.

    Returns
    list of vector containing all possible next moves
    Note
    the implementation is compulsory to create A* search
    + +

    Definition at line 176 of file a_star_search.cpp.

    176 {
    177 auto zero_pos = find_zero();
    178 // vector which will contain all possible state from current state
    - +
    179 std::vector<EightPuzzle<N>> NewStates;
    180 for (auto &move : moves) {
    -
    181 if (in_range(zero_pos.first + move.first) &&
    -
    182 in_range(zero_pos.second + move.second)) {
    +
    181 if (in_range(zero_pos.first + move.first) &&
    +
    182 in_range(zero_pos.second + move.second)) {
    183 // swap with the possible moves
    -
    184 std::array<std::array<uint32_t, N>, N> new_config = board;
    -
    185 std::swap(new_config[zero_pos.first][zero_pos.second],
    -
    186 new_config[zero_pos.first + move.first]
    -
    187 [zero_pos.second + move.second]);
    +
    184 std::array<std::array<uint32_t, N>, N> new_config = board;
    +
    185 std::swap(new_config[zero_pos.first][zero_pos.second],
    +
    186 new_config[zero_pos.first + move.first]
    +
    187 [zero_pos.second + move.second]);
    188 EightPuzzle<N> new_state(new_config);
    189 // Store new state and calculate heuristic value, and depth
    -
    190 NewStates.emplace_back(new_state);
    +
    190 NewStates.emplace_back(new_state);
    191 }
    192 }
    193 return NewStates;
    194 }
    - -
    EightPuzzle()
    Default constructor for EightPuzzle.
    Definition a_star_search.cpp:121
    -
    bool in_range(const uint32_t value) const
    check whether the index value is bounded within the puzzle area
    Definition a_star_search.cpp:90
    -
    std::pair< uint32_t, uint32_t > find_zero()
    A helper array to evaluate the next state from current state;.
    Definition a_star_search.cpp:75
    -
    std::vector< std::pair< int8_t, int8_t > > moves
    N x N array to store the current state of the Puzzle.
    Definition a_star_search.cpp:64
    -
    T emplace_back(T... args)
    -
    T swap(T... args)
    - -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    EightPuzzle()
    Default constructor for EightPuzzle.
    +
    bool in_range(const uint32_t value) const
    check whether the index value is bounded within the puzzle area
    +
    std::pair< uint32_t, uint32_t > find_zero()
    A helper array to evaluate the next state from current state;.
    +
    std::vector< std::pair< int8_t, int8_t > > moves
    N x N array to store the current state of the Puzzle.
    + @@ -492,18 +512,15 @@ template<size_t N = 3>
    Returns
    non-negative integer denoting the value at ith row and jth column
    -1 if invalid i or j position
    + +

    Definition at line 102 of file a_star_search.cpp.

    102 {
    103 if (in_range(i) && in_range(j)) {
    104 return board[i][j];
    105 }
    106 return -1;
    107 }
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -533,6 +550,8 @@ template<size_t N = 3>

    returns the size of the EightPuzzle (number of row / column)

    Returns
    N, the size of the puzzle.
    + +

    Definition at line 117 of file a_star_search.cpp.

    117{ return N; }
    @@ -549,7 +568,7 @@ template<size_t N = 3>
    std::vector< EightPuzzle< N > > machine_learning::aystar_search::EightPuzzle< N >::generate_possible_moves std::vector< EightPuzzle< N > > machine_learning::aystar_search::EightPuzzle< N >::generate_possible_moves ( ) - + @@ -563,6 +582,8 @@ template<size_t N = 3>

    Returns the current state of the board.

    + +

    Definition at line 111 of file a_star_search.cpp.

    111{ return board; }
    @@ -600,6 +621,8 @@ template<size_t N = 3>
    Returns
    true if index is within the board, else false
    + +

    Definition at line 90 of file a_star_search.cpp.

    90{ return value < N; }
    @@ -631,17 +654,18 @@ template<size_t N = 3>

    check whether one board is lexicographically smaller

    Returns
    true if this->state is lexicographically smaller than check.state, else false
    + +

    Definition at line 218 of file a_star_search.cpp.

    218 {
    219 for (size_t i = 0; i < N; ++i) {
    220 for (size_t j = 0; j < N; ++j) {
    -
    221 if (board[i][j] != check.board[i][j]) {
    -
    222 return board[i][j] < check.board[i][j];
    +
    221 if (board[i][j] != check.board[i][j]) {
    +
    222 return board[i][j] < check.board[i][j];
    223 }
    224 }
    225 }
    226 return false;
    227 }
    -
    bool check(const std::string &s, const std::unordered_set< std::string > &strSet, int pos, std::vector< int > *dp)
    Function that checks if the string passed in param can be segmented from position 'pos',...
    Definition word_break.cpp:80
    @@ -672,11 +696,13 @@ template<size_t N = 3>

    check whether one board is lexicographically smaller or equal

    Returns
    true if this->state is lexicographically smaller than check.state or same, else false
    + +

    Definition at line 233 of file a_star_search.cpp.

    233 {
    234 for (size_t i = 0; i < N; ++i) {
    235 for (size_t j = 0; j < N; ++j) {
    -
    236 if (board[i][j] != check.board[i][j]) {
    -
    237 return board[i][j] < check.board[i][j];
    +
    236 if (board[i][j] != check.board[i][j]) {
    +
    237 return board[i][j] < check.board[i][j];
    238 }
    239 }
    240 }
    @@ -717,6 +743,8 @@ template<size_t N = 3>
    std::array< std::array< uint32_t, N >, N > machine_learning::aystar_search::EightPuzzle< N >::get_state std::array< std::array< uint32_t, N >, N > machine_learning::aystar_search::EightPuzzle< N >::get_state ( )
    + +

    Definition at line 156 of file a_star_search.cpp.

    156 {
    157 board = A.board;
    158 return *this;
    @@ -756,16 +784,13 @@ template<size_t N = 3>
    + +

    Definition at line 165 of file a_star_search.cpp.

    165 {
    -
    166 board = std::move(A.board);
    +
    166 board = std::move(A.board);
    167 return *this;
    168 }
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -795,13 +820,15 @@ template<size_t N = 3>

    check whether two boards are equal

    Returns
    true if check.state is equal to this->state, else false
    + +

    Definition at line 200 of file a_star_search.cpp.

    200 {
    -
    201 if (check.get_size() != N) {
    +
    201 if (check.get_size() != N) {
    202 return false;
    203 }
    204 for (size_t i = 0; i < N; ++i) {
    205 for (size_t j = 0; j < N; ++j) {
    -
    206 if (board[i][j] != check.board[i][j]) {
    +
    206 if (board[i][j] != check.board[i][j]) {
    207 return false;
    208 }
    209 }
    @@ -824,9 +851,9 @@ template<size_t N = 3>
    - + - + @@ -850,6 +877,8 @@ template<size_t N = 3>
    Returns
    ostream operator op
    + +

    Definition at line 250 of file a_star_search.cpp.

    251 {
    252 for (size_t i = 0; i < N; ++i) {
    253 for (size_t j = 0; j < N; ++j) {
    @@ -863,6 +892,32 @@ template<size_t N = 3>

    Member Data Documentation

    + +

    ◆ board

    + +
    +
    +
    +template<size_t N = 3>
    +
    std::ostream & operator<< std::ostream & operator<< (std::ostream & op, std::ostream & op,
    + + + + +
    + + + + +
    std::array<std::array<uint32_t, N>, N> machine_learning::aystar_search::EightPuzzle< N >::board
    +
    +private
    +
    + +

    Definition at line 62 of file a_star_search.cpp.

    + +
    +

    ◆ moves

    @@ -875,7 +930,7 @@ template<size_t N = 3>
    - +
    std::vector<std::pair<int8_t, int8_t> > machine_learning::aystar_search::EightPuzzle< N >::movesstd::vector<std::pair<int8_t, int8_t> > machine_learning::aystar_search::EightPuzzle< N >::moves
    + @@ -114,7 +131,7 @@ $(function(){initNavTree('dd/da0/todo.html','../../'); initResizable(true); });
    update code to use C++ STL library features and OO structure
    Member create_list (int key)
    fix memory leak
    -
    Member data_structures::trie::deleteString (const std::string &str, int index)
    +
    Member data_structures::trie::deleteString (const std::string &str, int index)
    review the function ::data_structure::trie::deleteString and the commented lines
    Member fib_b
    @stepfencurryxiao add documetnation
    diff --git a/dd/da8/pigeonhole__sort_8cpp.html b/dd/da8/pigeonhole__sort_8cpp.html index 1c03c8969..8fa637117 100644 --- a/dd/da8/pigeonhole__sort_8cpp.html +++ b/dd/da8/pigeonhole__sort_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: sorting/pigeonhole_sort.cpp File Reference +TheAlgorithms/C++: sorting/pigeonhole_sort.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + @@ -122,7 +139,9 @@ Include dependency graph for pigeonhole_sort.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -131,8 +150,8 @@ Namespaces

    Namespaces

    namespace  sorting
    - - + + @@ -148,6 +167,8 @@ Functions
    Author
    Lownish

    Pigeonhole sorting is a sorting algorithm that is suitable for sorting lists of elements where the number of elements and the number of possible key values are approximately the same. It requires O(n + Range) time where n is number of elements in input array and ‘Range’ is number of possible values in array.

    The time Complexity of the algorithm is \(O(n+N)\).

    + +

    Definition in file pigeonhole_sort.cpp.

    Function Documentation

    ◆ main()

    @@ -164,6 +185,8 @@ Functions

    Functions

    template<std::size_t N>
    std::array< int, N > sorting::pigeonSort (std::array< int, N > arr)
    template<std::size_t N>
    std::array< int, N > sorting::pigeonSort (std::array< int, N > arr)
     
    static void test_1 ()
     

    Main function

    + +

    Definition at line 127 of file pigeonhole_sort.cpp.

    127 {
    128 test_1();
    129 test_2();
    @@ -171,15 +194,10 @@ Functions
    131
    132 return 0;
    133}
    -
    static void test_1()
    Definition pigeonhole_sort.cpp:68
    -
    static void test_2()
    Definition pigeonhole_sort.cpp:88
    -
    static void test_3()
    Definition pigeonhole_sort.cpp:109
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static void test_1()
    +
    static void test_2()
    +
    static void test_3()
    +
    @@ -205,33 +223,24 @@ Here is the call graph for this function:

    Test function 1 with unsorted array {8, 3, 2, 7, 4, 6, 8}

    Returns
    none
    + +

    Definition at line 68 of file pigeonhole_sort.cpp.

    68 {
    69 const int n = 7;
    -
    70 std::array<int, n> test_array = {8, 3, 2, 7, 4, 6, 8};
    +
    70 std::array<int, n> test_array = {8, 3, 2, 7, 4, 6, 8};
    71
    72 test_array = sorting::pigeonSort<n>(test_array);
    73
    -
    74 assert(std::is_sorted(std::begin(test_array), std::end(test_array)));
    +
    74 assert(std::is_sorted(std::begin(test_array), std::end(test_array)));
    75
    76 // Printing sorted array
    77 for (int i = 0; i < n; i++) {
    -
    78 std::cout << test_array.at(i) << " ";
    +
    78 std::cout << test_array.at(i) << " ";
    79 }
    -
    80 std::cout << "\nPassed\n";
    +
    80 std::cout << "\nPassed\n";
    81}
    - -
    T at(T... args)
    - -
    T begin(T... args)
    -
    T end(T... args)
    -
    T is_sorted(T... args)
    -
    std::array< int, N > pigeonSort(std::array< int, N > arr)
    Definition pigeonhole_sort.cpp:34
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    std::array< int, N > pigeonSort(std::array< int, N > arr)
    +
    @@ -257,27 +266,24 @@ Here is the call graph for this function:

    Test function 2 with unsorted array {802, 630, 20, 745, 52, 300, 612, 932, 78, 187}

    Returns
    none
    + +

    Definition at line 88 of file pigeonhole_sort.cpp.

    88 {
    89 const int n = 10;
    -
    90 std::array<int, n> test_array = {802, 630, 20, 745, 52,
    +
    90 std::array<int, n> test_array = {802, 630, 20, 745, 52,
    91 300, 612, 932, 78, 187};
    92
    93 test_array = sorting::pigeonSort<n>(test_array);
    94
    -
    95 assert(std::is_sorted(std::begin(test_array), std::end(test_array)));
    +
    95 assert(std::is_sorted(std::begin(test_array), std::end(test_array)));
    96
    97 // Printing sorted array
    98 for (int i = 0; i < n; i++) {
    -
    99 std::cout << test_array.at(i) << " ";
    +
    99 std::cout << test_array.at(i) << " ";
    100 }
    -
    101 std::cout << "\nPassed\n";
    +
    101 std::cout << "\nPassed\n";
    102}
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    @@ -303,26 +309,23 @@ Here is the call graph for this function:

    Test function 1 with unsorted array {11,13,12,14}

    Returns
    none
    + +

    Definition at line 109 of file pigeonhole_sort.cpp.

    109 {
    110 const int n = 4;
    -
    111 std::array<int, n> test_array = {11, 13, 12, 14};
    +
    111 std::array<int, n> test_array = {11, 13, 12, 14};
    112
    113 test_array = sorting::pigeonSort<n>(test_array);
    114
    -
    115 assert(std::is_sorted(std::begin(test_array), std::end(test_array)));
    +
    115 assert(std::is_sorted(std::begin(test_array), std::end(test_array)));
    116
    117 // Printing sorted array
    118 for (int i = 0; i < n; i++) {
    -
    119 std::cout << test_array.at(i) << " ";
    +
    119 std::cout << test_array.at(i) << " ";
    120 }
    -
    121 std::cout << "\nPassed\n";
    +
    121 std::cout << "\nPassed\n";
    122}
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    diff --git a/dd/da8/pigeonhole__sort_8cpp_a34b8683a2b429de5cce57e6d733ec817_cgraph.map b/dd/da8/pigeonhole__sort_8cpp_a34b8683a2b429de5cce57e6d733ec817_cgraph.map deleted file mode 100644 index f47469b40..000000000 --- a/dd/da8/pigeonhole__sort_8cpp_a34b8683a2b429de5cce57e6d733ec817_cgraph.map +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - - - - - - - - - - diff --git a/dd/da8/pigeonhole__sort_8cpp_a34b8683a2b429de5cce57e6d733ec817_cgraph.md5 b/dd/da8/pigeonhole__sort_8cpp_a34b8683a2b429de5cce57e6d733ec817_cgraph.md5 deleted file mode 100644 index 942cb6bd6..000000000 --- a/dd/da8/pigeonhole__sort_8cpp_a34b8683a2b429de5cce57e6d733ec817_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -36e07af770e6c43e397474e3904488a7 \ No newline at end of file diff --git a/dd/da8/pigeonhole__sort_8cpp_a34b8683a2b429de5cce57e6d733ec817_cgraph.svg b/dd/da8/pigeonhole__sort_8cpp_a34b8683a2b429de5cce57e6d733ec817_cgraph.svg deleted file mode 100644 index 5c2c634cc..000000000 --- a/dd/da8/pigeonhole__sort_8cpp_a34b8683a2b429de5cce57e6d733ec817_cgraph.svg +++ /dev/null @@ -1,191 +0,0 @@ - - - - - - - - - - - - -test_1 - - -Node1 - - -test_1 - - - - - -Node2 - - -std::array::at - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::begin - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::end - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::is_sorted - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -sorting::pigeonSort - - - - - -Node1->Node6 - - - - - - - - -Node6->Node3 - - - - - - - - -Node6->Node4 - - - - - - - - -Node7 - - -std::max_element - - - - - -Node6->Node7 - - - - - - - - -Node8 - - -std::min_element - - - - - -Node6->Node8 - - - - - - - - - - - - - diff --git a/dd/da8/pigeonhole__sort_8cpp_a34b8683a2b429de5cce57e6d733ec817_cgraph_org.svg b/dd/da8/pigeonhole__sort_8cpp_a34b8683a2b429de5cce57e6d733ec817_cgraph_org.svg deleted file mode 100644 index 675ea68ee..000000000 --- a/dd/da8/pigeonhole__sort_8cpp_a34b8683a2b429de5cce57e6d733ec817_cgraph_org.svg +++ /dev/null @@ -1,165 +0,0 @@ - - - - - - -test_1 - - -Node1 - - -test_1 - - - - - -Node2 - - -std::array::at - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::begin - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::end - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::is_sorted - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -sorting::pigeonSort - - - - - -Node1->Node6 - - - - - - - - -Node6->Node3 - - - - - - - - -Node6->Node4 - - - - - - - - -Node7 - - -std::max_element - - - - - -Node6->Node7 - - - - - - - - -Node8 - - -std::min_element - - - - - -Node6->Node8 - - - - - - - - diff --git a/dd/da8/pigeonhole__sort_8cpp_a458410412185a5f09199deaff7157a8d_cgraph.map b/dd/da8/pigeonhole__sort_8cpp_a458410412185a5f09199deaff7157a8d_cgraph.map deleted file mode 100644 index 2c24458c9..000000000 --- a/dd/da8/pigeonhole__sort_8cpp_a458410412185a5f09199deaff7157a8d_cgraph.map +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - - - - - - - - - - diff --git a/dd/da8/pigeonhole__sort_8cpp_a458410412185a5f09199deaff7157a8d_cgraph.md5 b/dd/da8/pigeonhole__sort_8cpp_a458410412185a5f09199deaff7157a8d_cgraph.md5 deleted file mode 100644 index 222ef999d..000000000 --- a/dd/da8/pigeonhole__sort_8cpp_a458410412185a5f09199deaff7157a8d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -8152176e7427c6c5bdcca041f6e318cf \ No newline at end of file diff --git a/dd/da8/pigeonhole__sort_8cpp_a458410412185a5f09199deaff7157a8d_cgraph.svg b/dd/da8/pigeonhole__sort_8cpp_a458410412185a5f09199deaff7157a8d_cgraph.svg deleted file mode 100644 index 29a213db7..000000000 --- a/dd/da8/pigeonhole__sort_8cpp_a458410412185a5f09199deaff7157a8d_cgraph.svg +++ /dev/null @@ -1,191 +0,0 @@ - - - - - - - - - - - - -test_2 - - -Node1 - - -test_2 - - - - - -Node2 - - -std::array::at - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::begin - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::end - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::is_sorted - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -sorting::pigeonSort - - - - - -Node1->Node6 - - - - - - - - -Node6->Node3 - - - - - - - - -Node6->Node4 - - - - - - - - -Node7 - - -std::max_element - - - - - -Node6->Node7 - - - - - - - - -Node8 - - -std::min_element - - - - - -Node6->Node8 - - - - - - - - - - - - - diff --git a/dd/da8/pigeonhole__sort_8cpp_a458410412185a5f09199deaff7157a8d_cgraph_org.svg b/dd/da8/pigeonhole__sort_8cpp_a458410412185a5f09199deaff7157a8d_cgraph_org.svg deleted file mode 100644 index 1138bd0ed..000000000 --- a/dd/da8/pigeonhole__sort_8cpp_a458410412185a5f09199deaff7157a8d_cgraph_org.svg +++ /dev/null @@ -1,165 +0,0 @@ - - - - - - -test_2 - - -Node1 - - -test_2 - - - - - -Node2 - - -std::array::at - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::begin - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::end - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::is_sorted - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -sorting::pigeonSort - - - - - -Node1->Node6 - - - - - - - - -Node6->Node3 - - - - - - - - -Node6->Node4 - - - - - - - - -Node7 - - -std::max_element - - - - - -Node6->Node7 - - - - - - - - -Node8 - - -std::min_element - - - - - -Node6->Node8 - - - - - - - - diff --git a/dd/da8/pigeonhole__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/dd/da8/pigeonhole__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index f7f8945f0..000000000 --- a/dd/da8/pigeonhole__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,35 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/dd/da8/pigeonhole__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/dd/da8/pigeonhole__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index 7aa284475..000000000 --- a/dd/da8/pigeonhole__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -8c5e697481dbacd4b478821c96588c39 \ No newline at end of file diff --git a/dd/da8/pigeonhole__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/dd/da8/pigeonhole__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index e665cf3f4..000000000 --- a/dd/da8/pigeonhole__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,335 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test_1 - - - - - -Node1->Node2 - - - - - - - - -Node10 - - -test_2 - - - - - -Node1->Node10 - - - - - - - - -Node11 - - -test_3 - - - - - -Node1->Node11 - - - - - - - - -Node3 - - -std::array::at - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::begin - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -std::end - - - - - -Node2->Node5 - - - - - - - - -Node6 - - -std::is_sorted - - - - - -Node2->Node6 - - - - - - - - -Node7 - - -sorting::pigeonSort - - - - - -Node2->Node7 - - - - - - - - -Node7->Node4 - - - - - - - - -Node7->Node5 - - - - - - - - -Node8 - - -std::max_element - - - - - -Node7->Node8 - - - - - - - - -Node9 - - -std::min_element - - - - - -Node7->Node9 - - - - - - - - -Node10->Node3 - - - - - - - - -Node10->Node4 - - - - - - - - -Node10->Node5 - - - - - - - - -Node10->Node6 - - - - - - - - -Node10->Node7 - - - - - - - - -Node11->Node3 - - - - - - - - -Node11->Node4 - - - - - - - - -Node11->Node5 - - - - - - - - -Node11->Node6 - - - - - - - - -Node11->Node7 - - - - - - - - - - - - - diff --git a/dd/da8/pigeonhole__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/dd/da8/pigeonhole__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index a3bd4eb6e..000000000 --- a/dd/da8/pigeonhole__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,309 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test_1 - - - - - -Node1->Node2 - - - - - - - - -Node10 - - -test_2 - - - - - -Node1->Node10 - - - - - - - - -Node11 - - -test_3 - - - - - -Node1->Node11 - - - - - - - - -Node3 - - -std::array::at - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::begin - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -std::end - - - - - -Node2->Node5 - - - - - - - - -Node6 - - -std::is_sorted - - - - - -Node2->Node6 - - - - - - - - -Node7 - - -sorting::pigeonSort - - - - - -Node2->Node7 - - - - - - - - -Node7->Node4 - - - - - - - - -Node7->Node5 - - - - - - - - -Node8 - - -std::max_element - - - - - -Node7->Node8 - - - - - - - - -Node9 - - -std::min_element - - - - - -Node7->Node9 - - - - - - - - -Node10->Node3 - - - - - - - - -Node10->Node4 - - - - - - - - -Node10->Node5 - - - - - - - - -Node10->Node6 - - - - - - - - -Node10->Node7 - - - - - - - - -Node11->Node3 - - - - - - - - -Node11->Node4 - - - - - - - - -Node11->Node5 - - - - - - - - -Node11->Node6 - - - - - - - - -Node11->Node7 - - - - - - - - diff --git a/dd/da8/pigeonhole__sort_8cpp_af31ec5409537703d9c8a47350386b32a_cgraph.map b/dd/da8/pigeonhole__sort_8cpp_af31ec5409537703d9c8a47350386b32a_cgraph.map deleted file mode 100644 index 13c6d2844..000000000 --- a/dd/da8/pigeonhole__sort_8cpp_af31ec5409537703d9c8a47350386b32a_cgraph.map +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - - - - - - - - - - diff --git a/dd/da8/pigeonhole__sort_8cpp_af31ec5409537703d9c8a47350386b32a_cgraph.md5 b/dd/da8/pigeonhole__sort_8cpp_af31ec5409537703d9c8a47350386b32a_cgraph.md5 deleted file mode 100644 index 3e44ddbd4..000000000 --- a/dd/da8/pigeonhole__sort_8cpp_af31ec5409537703d9c8a47350386b32a_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -0bba5cd68fd96a0263b3a7f724f48940 \ No newline at end of file diff --git a/dd/da8/pigeonhole__sort_8cpp_af31ec5409537703d9c8a47350386b32a_cgraph.svg b/dd/da8/pigeonhole__sort_8cpp_af31ec5409537703d9c8a47350386b32a_cgraph.svg deleted file mode 100644 index 9d830ccf8..000000000 --- a/dd/da8/pigeonhole__sort_8cpp_af31ec5409537703d9c8a47350386b32a_cgraph.svg +++ /dev/null @@ -1,191 +0,0 @@ - - - - - - - - - - - - -test_3 - - -Node1 - - -test_3 - - - - - -Node2 - - -std::array::at - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::begin - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::end - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::is_sorted - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -sorting::pigeonSort - - - - - -Node1->Node6 - - - - - - - - -Node6->Node3 - - - - - - - - -Node6->Node4 - - - - - - - - -Node7 - - -std::max_element - - - - - -Node6->Node7 - - - - - - - - -Node8 - - -std::min_element - - - - - -Node6->Node8 - - - - - - - - - - - - - diff --git a/dd/da8/pigeonhole__sort_8cpp_af31ec5409537703d9c8a47350386b32a_cgraph_org.svg b/dd/da8/pigeonhole__sort_8cpp_af31ec5409537703d9c8a47350386b32a_cgraph_org.svg deleted file mode 100644 index 19946daec..000000000 --- a/dd/da8/pigeonhole__sort_8cpp_af31ec5409537703d9c8a47350386b32a_cgraph_org.svg +++ /dev/null @@ -1,165 +0,0 @@ - - - - - - -test_3 - - -Node1 - - -test_3 - - - - - -Node2 - - -std::array::at - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::begin - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::end - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::is_sorted - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -sorting::pigeonSort - - - - - -Node1->Node6 - - - - - - - - -Node6->Node3 - - - - - - - - -Node6->Node4 - - - - - - - - -Node7 - - -std::max_element - - - - - -Node6->Node7 - - - - - - - - -Node8 - - -std::min_element - - - - - -Node6->Node8 - - - - - - - - diff --git a/dd/da8/pigeonhole__sort_8cpp_source.html b/dd/da8/pigeonhole__sort_8cpp_source.html new file mode 100644 index 000000000..6dd47c8de --- /dev/null +++ b/dd/da8/pigeonhole__sort_8cpp_source.html @@ -0,0 +1,244 @@ + + + + + + + + +TheAlgorithms/C++: sorting/pigeonhole_sort.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    pigeonhole_sort.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    16#include <algorithm> //for std::is_sorted
    +
    17#include <array> //for std::array
    +
    18#include <cassert> //for assert
    +
    19#include <iostream> //for io operations
    +
    20
    +
    25namespace sorting {
    +
    26
    +
    33template <std::size_t N>
    +
    +
    34std::array<int, N> pigeonSort(std::array<int, N> arr) {
    +
    35 // Finding min and max*
    +
    36 auto min = std::min_element(std::begin(arr), std::end(arr));
    +
    37 auto max = std::max_element(std::begin(arr), std::end(arr));
    +
    38
    +
    39 // Range refers to the number of holes required
    +
    40 int range = *max - *min + 1;
    +
    41 int *hole = new int[range]();
    +
    42
    +
    43 // Copying all array values to pigeonhole
    +
    44 for (int i = 0; i < N; i++) {
    +
    45 hole[arr[i] - *min] = arr[i];
    +
    46 }
    +
    47
    +
    48 // Deleting elements from list and storing to original array
    +
    49 int count = 0;
    +
    50 for (int i = 0; i < range; i++) {
    +
    51 while (hole[i] != '\0') {
    +
    52 arr[count] = hole[i];
    +
    53 hole[i] = {};
    +
    54 count++;
    +
    55 }
    +
    56 }
    +
    57 delete[] hole;
    +
    58
    +
    59 return arr;
    +
    60}
    +
    +
    61} // namespace sorting
    +
    62
    +
    +
    68static void test_1() {
    +
    69 const int n = 7;
    +
    70 std::array<int, n> test_array = {8, 3, 2, 7, 4, 6, 8};
    +
    71
    +
    72 test_array = sorting::pigeonSort<n>(test_array);
    +
    73
    +
    74 assert(std::is_sorted(std::begin(test_array), std::end(test_array)));
    +
    75
    +
    76 // Printing sorted array
    +
    77 for (int i = 0; i < n; i++) {
    +
    78 std::cout << test_array.at(i) << " ";
    +
    79 }
    +
    80 std::cout << "\nPassed\n";
    +
    81}
    +
    +
    82
    +
    +
    88static void test_2() {
    +
    89 const int n = 10;
    +
    90 std::array<int, n> test_array = {802, 630, 20, 745, 52,
    +
    91 300, 612, 932, 78, 187};
    +
    92
    +
    93 test_array = sorting::pigeonSort<n>(test_array);
    +
    94
    +
    95 assert(std::is_sorted(std::begin(test_array), std::end(test_array)));
    +
    96
    +
    97 // Printing sorted array
    +
    98 for (int i = 0; i < n; i++) {
    +
    99 std::cout << test_array.at(i) << " ";
    +
    100 }
    +
    101 std::cout << "\nPassed\n";
    +
    102}
    +
    +
    103
    +
    +
    109static void test_3() {
    +
    110 const int n = 4;
    +
    111 std::array<int, n> test_array = {11, 13, 12, 14};
    +
    112
    +
    113 test_array = sorting::pigeonSort<n>(test_array);
    +
    114
    +
    115 assert(std::is_sorted(std::begin(test_array), std::end(test_array)));
    +
    116
    +
    117 // Printing sorted array
    +
    118 for (int i = 0; i < n; i++) {
    +
    119 std::cout << test_array.at(i) << " ";
    +
    120 }
    +
    121 std::cout << "\nPassed\n";
    +
    122}
    +
    +
    123
    +
    +
    127int main() {
    +
    128 test_1();
    +
    129 test_2();
    +
    130 test_3();
    +
    131
    +
    132 return 0;
    +
    133}
    +
    +
    for working with vectors
    +
    std::array< int, N > pigeonSort(std::array< int, N > arr)
    +
    static void test_1()
    +
    static void test_2()
    +
    int main()
    +
    static void test_3()
    +
    +
    + + + + diff --git a/dd/da8/struct_segment_intersection-members.html b/dd/da8/struct_segment_intersection-members.html index af0ba73d5..d93536723 100644 --- a/dd/da8/struct_segment_intersection-members.html +++ b/dd/da8/struct_segment_intersection-members.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Member List +TheAlgorithms/C++: Member List + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/dd/dae/namespacecount__of__set__bits.html b/dd/dae/namespacecount__of__set__bits.html index 02e87280c..e280fc42c 100644 --- a/dd/dae/namespacecount__of__set__bits.html +++ b/dd/dae/namespacecount__of__set__bits.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: count_of_set_bits Namespace Reference +TheAlgorithms/C++: count_of_set_bits Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/dd/dae/structquadratic__probing_1_1_entry-members.html b/dd/dae/structquadratic__probing_1_1_entry-members.html index f566bd5b1..740ffce0c 100644 --- a/dd/dae/structquadratic__probing_1_1_entry-members.html +++ b/dd/dae/structquadratic__probing_1_1_entry-members.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Member List +TheAlgorithms/C++: Member List + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/dd/db0/_2_users_2runner_2work_2_c-_plus-_plus_2_c-_plus-_plus_2sorting_2wiggle_sort_8cpp-example.html b/dd/db0/_2_users_2runner_2work_2_c-_plus-_plus_2_c-_plus-_plus_2sorting_2wiggle_sort_8cpp-example.html index fa79d69af..b16b9761c 100644 --- a/dd/db0/_2_users_2runner_2work_2_c-_plus-_plus_2_c-_plus-_plus_2sorting_2wiggle_sort_8cpp-example.html +++ b/dd/db0/_2_users_2runner_2work_2_c-_plus-_plus_2_c-_plus-_plus_2sorting_2wiggle_sort_8cpp-example.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: /Users/runner/work/C-Plus-Plus/C-Plus-Plus/sorting/wiggle_sort.cpp +TheAlgorithms/C++: /Users/runner/work/C-Plus-Plus/C-Plus-Plus/sorting/wiggle_sort.cpp + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + @@ -108,73 +125,33 @@ $(function(){initNavTree('dd/db0/_2_users_2runner_2work_2_c-_plus-_plus_2_c-_plu

    arr = [1,1,5,6,1,4], after wiggle sort arr will become equal to [1,1,6,1,5,4] arr = [2,8,9,1,7], after wiggle sort arr will become equal to [8,2,9,1,7]

    -
    /**
    -
    * \addtogroup sorting Sorting Algorithms
    -
    * @{
    -
    * \file
    -
    * \brief [Wiggle Sort Algorithm]
    -
    * (https://leetcode.com/problems/wiggle-sort-ii/) Implementation
    -
    *
    -
    * \author [Roshan Kanwar](http://github.com/roshan0708)
    -
    *
    -
    * \details
    -
    * Wiggle Sort sorts the array into a wave like array.
    -
    * An array ‘arr[0..n-1]’ is sorted in wave form,
    -
    * if arr[0] >= arr[1] <= arr[2] >= arr[3] <= arr[4] >= …..
    -
    *
    -
    * \example
    -
    * arr = [1,1,5,6,1,4], after wiggle sort arr will become equal to [1,1,6,1,5,4]
    -
    * arr = [2,8,9,1,7], after wiggle sort arr will become equal to [8,2,9,1,7]
    -
    */
    -
    +
    #include <algorithm>
    #include <cassert>
    #include <cstdint>
    #include <ctime>
    -
    #include <iostream> /// for io operations
    +
    #include <iostream>
    #include <vector>
    -
    -
    /**
    -
    * @namespace sorting
    -
    * @brief Sorting algorithms
    -
    */
    -
    namespace sorting {
    -
    /**
    -
    * @namespace wiggle_sort
    -
    * @brief Functions for [Wiggle
    -
    * Sort](https://leetcode.com/problems/wiggle-sort-ii/) algorithm
    -
    */
    +
    +
    namespace sorting {
    namespace wiggle_sort {
    -
    -
    /**
    -
    *
    -
    * @brief Function used for sorting the elements in wave form.
    -
    * @details
    -
    * Checking whether the even indexed elements are greater than
    -
    * their adjacent odd elements.
    -
    * Traversing all even indexed elements of the input arr.
    -
    * If current element is smaller than the previous odd element, swap them.
    -
    * If current element is smaller than the next odd element, swap them.
    -
    *
    -
    * @param arr input array (unsorted elements)
    -
    *
    -
    */
    +
    template <typename T> // this allows to have vectors of ints, double, float,
    // etc
    -
    std::vector<T> wiggleSort(const std::vector<T> &arr) {
    -
    uint32_t size = arr.size();
    +
    std::vector<T> wiggleSort(const std::vector<T> &arr) {
    +
    uint32_t size = arr.size();
    - +
    std::vector<T> out(
    arr); // create a copy of input vector. this way, the original input
    // vector does not get modified. a sorted array is is returned.
    for (int i = 0; i < size; i += 2) {
    if (i > 0 && out[i - 1] > out[i]) {
    -
    std::swap(out[i], out[i - 1]); // swapping the two values
    +
    std::swap(out[i], out[i - 1]); // swapping the two values
    }
    if (i < size - 1 && out[i] < out[i + 1]) {
    -
    std::swap(out[i], out[i + 1]); // swapping the two values
    +
    std::swap(out[i], out[i + 1]); // swapping the two values
    }
    }
    @@ -182,47 +159,34 @@ $(function(){initNavTree('dd/db0/_2_users_2runner_2work_2_c-_plus-_plus_2_c-_plu
    }
    } // namespace wiggle_sort
    } // namespace sorting
    -
    -
    /**
    -
    *
    -
    * @brief Utility function used for printing the elements.
    -
    * Prints elements of the array after they're sorted using wiggle sort
    -
    * algorithm.
    -
    *
    -
    * @param arr array containing the sorted elements
    -
    *
    -
    */
    +
    template <typename T>
    -
    static void displayElements(const std::vector<T> &arr) {
    -
    uint32_t size = arr.size();
    +
    static void displayElements(const std::vector<T> &arr) {
    +
    uint32_t size = arr.size();
    -
    std::cout << "Sorted elements are as follows: ";
    +
    std::cout << "Sorted elements are as follows: ";
    -
    std::cout << "[";
    +
    std::cout << "[";
    for (int i = 0; i < size; i++) {
    -
    std::cout << arr[i];
    +
    std::cout << arr[i];
    if (i != size - 1) {
    -
    std::cout << ", ";
    +
    std::cout << ", ";
    }
    }
    -
    std::cout << "]" << std::endl;
    +
    std::cout << "]" << std::endl;
    }
    -
    -
    /**
    -
    * Test function
    -
    * @returns void
    -
    */
    -
    static void test() {
    -
    std::srand(std::time(nullptr)); // initialize random number generator
    -
    std::vector<float> data1(100);
    +
    static void test() {
    +
    std::srand(std::time(nullptr)); // initialize random number generator
    +
    +
    std::vector<float> data1(100);
    for (auto &d : data1) { // generate random numbers between -5.0 and 4.99
    -
    d = float(std::rand() % 1000 - 500) / 100.f;
    +
    d = float(std::rand() % 1000 - 500) / 100.f;
    }
    -
    std::vector<float> sorted = sorting::wiggle_sort::wiggleSort<float>(data1);
    +
    std::vector<float> sorted = sorting::wiggle_sort::wiggleSort<float>(data1);
    displayElements(sorted);
    @@ -231,29 +195,19 @@ $(function(){initNavTree('dd/db0/_2_users_2runner_2work_2_c-_plus-_plus_2_c-_plu
    data1[j + 1] >= data1[j + 2]); // check the validation condition
    }
    -
    std::cout << "Test 1 passed\n";
    +
    std::cout << "Test 1 passed\n";
    }
    -
    -
    /** Driver Code */
    -
    int main() {
    +
    +
    int main() {
    test();
    return 0;
    }
    -
    -
    /** @} */
    - -
    T endl(T... args)
    -
    static void test()
    Self-test implementations.
    Definition generate_parentheses.cpp:82
    -
    int main()
    Main function.
    Definition generate_parentheses.cpp:110
    -
    static void displayElements(const std::vector< T > &arr)
    Utility function used for printing the elements. Prints elements of the array after they're sorted us...
    Definition wiggle_sort.cpp:86
    +
    +
    static void test()
    Self-test implementations.
    +
    int main()
    Main function.
    +
    static void displayElements(const std::vector< T > &arr)
    Utility function used for printing the elements. Prints elements of the array after they're sorted us...
    for working with vectors
    Functions for Wiggle Sort algorithm.
    -
    T rand(T... args)
    -
    T size(T... args)
    -
    T srand(T... args)
    -
    T swap(T... args)
    -
    T time(T... args)
    -
    diff --git a/dd/db6/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix-members.html b/dd/db6/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix-members.html index 66a7e53bf..c01da11e0 100644 --- a/dd/db6/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix-members.html +++ b/dd/db6/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix-members.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Member List +TheAlgorithms/C++: Member List + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/dd/db6/structbinary__search__tree_1_1bst__node.html b/dd/db6/structbinary__search__tree_1_1bst__node.html index e6baae590..14a5b7e81 100644 --- a/dd/db6/structbinary__search__tree_1_1bst__node.html +++ b/dd/db6/structbinary__search__tree_1_1bst__node.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: binary_search_tree< T >::bst_node Struct Reference +TheAlgorithms/C++: binary_search_tree< T >::bst_node Struct Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + @@ -129,14 +146,16 @@ Public Member Functions Public Attributes - + - +
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    value
     
    std::unique_ptr< bst_nodeleft
    std::unique_ptr< bst_nodeleft
     
    std::unique_ptr< bst_noderight
    std::unique_ptr< bst_noderight
     

    Detailed Description

    template<class T>
    struct binary_search_tree< T >::bst_node

    A struct to represent a node in the Binary Search Tree.

    + +

    Definition at line 25 of file binary_search_tree2.cpp.

    Constructor & Destructor Documentation

    ◆ bst_node()

    @@ -168,13 +187,15 @@ template<class T >
    + +

    Definition at line 35 of file binary_search_tree2.cpp.

    35 {
    36 value = _value;
    37 left = nullptr;
    38 right = nullptr;
    39 }
    -
    std::unique_ptr< bst_node > right
    Definition binary_search_tree2.cpp:28
    -
    T value
    Definition binary_search_tree2.cpp:26
    +
    std::unique_ptr< bst_node > right
    +
    @@ -188,12 +209,14 @@ template<class T > template<class T > - +
    std::unique_ptr<bst_node> binary_search_tree< T >::bst_node::leftstd::unique_ptr<bst_node> binary_search_tree< T >::bst_node::left

    Pointer to left subtree.

    +

    Definition at line 27 of file binary_search_tree2.cpp.

    +
    @@ -205,12 +228,14 @@ template<class T > template<class T > - +
    std::unique_ptr<bst_node> binary_search_tree< T >::bst_node::rightstd::unique_ptr<bst_node> binary_search_tree< T >::bst_node::right

    Pointer to right subtree.

    +

    Definition at line 28 of file binary_search_tree2.cpp.

    +
    @@ -228,10 +253,12 @@ template<class T >

    The value/key of the node.

    +

    Definition at line 26 of file binary_search_tree2.cpp.

    +

    The documentation for this struct was generated from the following file: diff --git a/dd/dba/namespacedivide__and__conquer.html b/dd/dba/namespacedivide__and__conquer.html index b1260a005..818836515 100644 --- a/dd/dba/namespacedivide__and__conquer.html +++ b/dd/dba/namespacedivide__and__conquer.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: divide_and_conquer Namespace Reference +TheAlgorithms/C++: divide_and_conquer Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -108,15 +125,15 @@ $(function(){initNavTree('dd/dba/namespacedivide__and__conquer.html','../../');
    -

    for std::vector +

    for std::vector More...

    Detailed Description

    -

    for std::vector

    +

    for std::vector

    Strassen's algorithm is one of the methods for multiplying two matrices. It is one of the faster algorithms for larger matrices than naive multiplication method.

    for assert for string for IO operations

    Divide and Conquer algorithms

    It involves dividing each matrices into 4 blocks, given they are evenly divisible, and are combined with new defined matrices involving 7 matrix multiplications instead of eight, yielding O(n^2.8073) complexity.

    -
    Author
    AshishYUO For assert operation For std::chrono; time measurement For I/O operations For std::tuple For creating dynamic arrays
    +
    Author
    AshishYUO For assert operation For std::chrono; time measurement For I/O operations For std::tuple For creating dynamic arrays

    Divide and Conquer algorithms

    diff --git a/dd/dbb/struct_test_case-members.html b/dd/dbb/struct_test_case-members.html index 0a667e6d5..43dfa868d 100644 --- a/dd/dbb/struct_test_case-members.html +++ b/dd/dbb/struct_test_case-members.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Member List +TheAlgorithms/C++: Member List + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/dd/dc3/is__graph__bipartite2_8cpp_source.html b/dd/dc3/is__graph__bipartite2_8cpp_source.html new file mode 100644 index 000000000..f9e99d550 --- /dev/null +++ b/dd/dc3/is__graph__bipartite2_8cpp_source.html @@ -0,0 +1,214 @@ + + + + + + + + +TheAlgorithms/C++: graph/is_graph_bipartite2.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + + +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    is_graph_bipartite2.cpp
    +
    +
    +
    1
    +
    17#include <cassert>
    +
    18#include <cstdint>
    +
    19#include <iostream>
    +
    20#include <queue>
    +
    21#include <vector>
    +
    22
    +
    27namespace graph {
    +
    +
    37bool checkBipartite(const std::vector<std::vector<int64_t>> &graph,
    +
    38 int64_t index, std::vector<int64_t> *visited) {
    +
    39 std::queue<int64_t> q;
    +
    41 q.push(index);
    +
    42 (*visited)[index] = 1;
    +
    43 while (q.size()) {
    +
    44 int64_t u = q.front();
    +
    45 q.pop();
    +
    46 for (uint64_t i = 0; i < graph[u].size(); i++) {
    +
    47 int64_t v =
    +
    48 graph[u][i];
    +
    49 if (!(*visited)[v])
    +
    51 {
    +
    52 (*visited)[v] =
    +
    53 ((*visited)[u] == 1)
    +
    54 ? -1
    +
    55 : 1;
    +
    57 q.push(v);
    +
    58 } else if ((*visited)[v] ==
    +
    59 (*visited)[u])
    +
    62 {
    +
    63 return false;
    +
    64 }
    +
    65 }
    +
    66 }
    +
    67 return true;
    +
    69}
    +
    +
    +
    76bool isBipartite(const std::vector<std::vector<int64_t>> &graph) {
    +
    77 std::vector<int64_t> visited(
    +
    78 graph.size());
    +
    81
    +
    82 for (uint64_t i = 0; i < graph.size(); i++) {
    +
    83 if (!visited[i])
    +
    86 {
    +
    87 if (!checkBipartite(graph, i, &visited)) {
    +
    88 return false;
    +
    89 }
    +
    90 }
    +
    91 }
    +
    92 return true;
    +
    93}
    +
    +
    94} // namespace graph
    +
    95
    +
    100static void test() {
    +
    101 std::vector<std::vector<int64_t>> graph = {{1, 3}, {0, 2}, {1, 3}, {0, 2}};
    +
    102
    +
    103 assert(graph::isBipartite(graph) ==
    +
    104 true);
    +
    106
    +
    107 std::vector<std::vector<int64_t>> graph_not_bipartite = {
    +
    108 {1, 2, 3}, {0, 2}, {0, 1, 3}, {0, 2}};
    +
    109
    +
    110 assert(graph::isBipartite(graph_not_bipartite) ==
    +
    111 false);
    +
    113 std::cout << "All tests have successfully passed!\n";
    +
    114}
    +
    123int main() {
    +
    124 test(); // run self-test implementations
    +
    125 return 0;
    +
    126}
    +
    void test()
    +
    int main()
    Main function.
    +
    Graph Algorithms.
    +
    bool isBipartite(const std::vector< std::vector< int64_t > > &graph)
    returns true if the given graph is bipartite else returns false
    +
    bool checkBipartite(const std::vector< std::vector< int64_t > > &graph, int64_t index, std::vector< int64_t > *visited)
    function to check whether the passed graph is bipartite or not
    +
    +
    + + + + diff --git a/dd/dca/class_f_c_f_s.html b/dd/dca/class_f_c_f_s.html index 2569195dc..4b350ef16 100644 --- a/dd/dca/class_f_c_f_s.html +++ b/dd/dca/class_f_c_f_s.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: FCFS< S, T, E > Class Template Reference +TheAlgorithms/C++: FCFS< S, T, E > Class Template Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -114,18 +131,13 @@ $(function(){initNavTree('dd/dca/class_f_c_f_s.html','../../'); initResizable(tr

    Class which implements the FCFS scheduling algorithm. More...

    -
    -Collaboration diagram for FCFS< S, T, E >:
    -
    -
    -
    [legend]
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    - + @@ -134,13 +146,11 @@ Public Member Functions

    Public Member Functions

    void addProcess (S id, T arrival, E burst)
     Adds the process to the ready queue if it isn't already there.
     
    vector< tuple< S, T, E, double, double, double > > scheduleForFcfs ()
    vector< tuple< S, T, E, double, double, double > > scheduleForFcfs ()
     Algorithm for scheduling CPU processes according to the First Come First Serve(FCFS) scheduling algorithm.
     
    void printResult ()
    - + - + - +

    Private Attributes

    priority_queue< tuple< S, T, E, double, double, double >, vector< tuple< S, T, E, double, double, double > >, Compare< S, T, E > > schedule
    priority_queue< tuple< S, T, E, double, double, double >, vector< tuple< S, T, E, double, double, double > >, Compare< S, T, E > > schedule
     
    -vector< tuple< S, T, E, double, double, double > > result
    vector< tuple< S, T, E, double, double, double > > result
     
    -unordered_set< S > idList
    unordered_set< S > idList
     

    Detailed Description

    @@ -154,6 +164,8 @@ class FCFS< S, T, E >

    Class which implements the + +

    Definition at line 98 of file fcfs_scheduling.cpp.

    Member Function Documentation

    ◆ addProcess()

    @@ -199,23 +211,19 @@ template<typename S , typename T , typename E >
    Returns
    void
    + +

    Definition at line 130 of file fcfs_scheduling.cpp.

    130 {
    131 // Add if a process with process ID as id is not found in idList.
    132 if (idList.find(id) == idList.end()) {
    - +
    133 tuple<S, T, E, double, double, double> t =
    134 make_tuple(id, arrival, burst, 0, 0, 0);
    135 schedule.push(t);
    136 idList.insert(id);
    137 }
    138 }
    -
    priority_queue< tuple< S, T, E, double, double, double >, vector< tuple< S, T, E, double, double, double > >, Compare< S, T, E > > schedule
    Definition fcfs_scheduling.cpp:112
    - -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    priority_queue< tuple< S, T, E, double, double, double >, vector< tuple< S, T, E, double, double, double > >, Compare< S, T, E > > schedule
    + @@ -245,37 +253,30 @@ template<typename S , typename T , typename E >

    Utility function for printing the status of each process after execution.

    Returns
    void
    + +

    Definition at line 192 of file fcfs_scheduling.cpp.

    192 {
    -
    193 cout << "Status of all the proceses post completion is as follows:"
    +
    193 cout << "Status of all the proceses post completion is as follows:"
    194 << endl;
    195
    -
    196 cout << std::setw(17) << left << "Process ID" << std::setw(17) << left
    -
    197 << "Arrival Time" << std::setw(17) << left << "Burst Time"
    -
    198 << std::setw(17) << left << "Completion Time" << std::setw(17)
    -
    199 << left << "Turnaround Time" << std::setw(17) << left
    +
    196 cout << std::setw(17) << left << "Process ID" << std::setw(17) << left
    +
    197 << "Arrival Time" << std::setw(17) << left << "Burst Time"
    +
    198 << std::setw(17) << left << "Completion Time" << std::setw(17)
    +
    199 << left << "Turnaround Time" << std::setw(17) << left
    200 << "Waiting Time" << endl;
    201
    202 for (size_t i{}; i < result.size(); i++) {
    -
    203 cout << std::setprecision(2) << std::fixed << std::setw(17) << left
    -
    204 << get<0>(result[i]) << std::setw(17) << left
    -
    205 << get<1>(result[i]) << std::setw(17) << left
    -
    206 << get<2>(result[i]) << std::setw(17) << left
    -
    207 << get<3>(result[i]) << std::setw(17) << left
    -
    208 << get<4>(result[i]) << std::setw(17) << left
    +
    203 cout << std::setprecision(2) << std::fixed << std::setw(17) << left
    +
    204 << get<0>(result[i]) << std::setw(17) << left
    +
    205 << get<1>(result[i]) << std::setw(17) << left
    +
    206 << get<2>(result[i]) << std::setw(17) << left
    +
    207 << get<3>(result[i]) << std::setw(17) << left
    +
    208 << get<4>(result[i]) << std::setw(17) << left
    209 << get<5>(result[i]) << endl;
    210 }
    211 }
    - -
    T fixed(T... args)
    -
    #define endl
    Definition matrix_exponentiation.cpp:36
    -
    T setprecision(T... args)
    -
    T setw(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    #define endl
    + @@ -290,7 +291,7 @@ template<typename S , typename T , typename E > - + @@ -307,12 +308,14 @@ template<typename S , typename T , typename E >

    FCFS is a non-preemptive algorithm in which the process which arrives first gets executed first. If two or more processes arrive together then the process with smaller process ID runs first (each process has a unique proces ID).

    I used a min priority queue of tuples to accomplish this task. The processes are ordered by their arrival times. If arrival times of some processes are equal, then they are ordered by their process ID.

    Returns
    void
    + +

    Definition at line 155 of file fcfs_scheduling.cpp.

    155 {
    156 // Variable to keep track of time elapsed so far
    157 double timeElapsed = 0;
    158
    159 while (!schedule.empty()) {
    - +
    160 tuple<S, T, E, double, double, double> cur = schedule.top();
    161
    162 // If the current process arrived at time t2, the last process
    163 // completed its execution at time t1, and t2 > t1.
    @@ -342,6 +345,58 @@ template<typename S , typename T , typename E >

    Member Data Documentation

    + +

    ◆ idList

    + +
    +
    +
    +template<typename S , typename T , typename E >
    +
    vector< tuple< S, T, E, double, double, double > > FCFS< S, T, E >::scheduleForFcfs vector< tuple< S, T, E, double, double, double > > FCFS< S, T, E >::scheduleForFcfs ( )
    + + + + +
    + + + + +
    unordered_set<S> FCFS< S, T, E >::idList
    +
    +private
    +
    + +

    Definition at line 119 of file fcfs_scheduling.cpp.

    + +
    + + +

    ◆ result

    + +
    +
    +
    +template<typename S , typename T , typename E >
    + + + + + +
    + + + + +
    vector<tuple<S, T, E, double, double, double> > FCFS< S, T, E >::result
    +
    +private
    +
    + +

    Definition at line 115 of file fcfs_scheduling.cpp.

    + +
    +

    ◆ schedule

    @@ -354,7 +409,7 @@ template<typename S , typename T , typename E > - +
    priority_queue<tuple<S, T, E, double, double, double>, vector<tuple<S, T, E, double, double, double> >, Compare<S, T, E> > FCFS< S, T, E >::schedulepriority_queue<tuple<S, T, E, double, double, double>, vector<tuple<S, T, E, double, double, double> >, Compare<S, T, E> > FCFS< S, T, E >::schedule
    @@ -365,10 +420,12 @@ template<typename S , typename T , typename E >

    Priority queue of schedules(stored as tuples) of processes. In each tuple 1st element: Process ID 2nd element: Arrival Time 3rd element: Burst time 4th element: Completion time 5th element: Turnaround time 6th element: Waiting time

    +

    Definition at line 112 of file fcfs_scheduling.cpp.

    +

    The documentation for this class was generated from the following file: diff --git a/dd/dca/class_f_c_f_s_a8fbfe4d85f7576b4a7aade07d29fbd69_cgraph.map b/dd/dca/class_f_c_f_s_a8fbfe4d85f7576b4a7aade07d29fbd69_cgraph.map deleted file mode 100644 index 41a6cb535..000000000 --- a/dd/dca/class_f_c_f_s_a8fbfe4d85f7576b4a7aade07d29fbd69_cgraph.map +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/dd/dca/class_f_c_f_s_a8fbfe4d85f7576b4a7aade07d29fbd69_cgraph.md5 b/dd/dca/class_f_c_f_s_a8fbfe4d85f7576b4a7aade07d29fbd69_cgraph.md5 deleted file mode 100644 index d4cc03080..000000000 --- a/dd/dca/class_f_c_f_s_a8fbfe4d85f7576b4a7aade07d29fbd69_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -1bf1d0fac09ad334d89d9e3ef795c0b4 \ No newline at end of file diff --git a/dd/dca/class_f_c_f_s_a8fbfe4d85f7576b4a7aade07d29fbd69_cgraph.svg b/dd/dca/class_f_c_f_s_a8fbfe4d85f7576b4a7aade07d29fbd69_cgraph.svg deleted file mode 100644 index 0f69b1bd3..000000000 --- a/dd/dca/class_f_c_f_s_a8fbfe4d85f7576b4a7aade07d29fbd69_cgraph.svg +++ /dev/null @@ -1,103 +0,0 @@ - - - - - - - - - - - - -FCFS::addProcess - - -Node1 - - -FCFS::addProcess - - - - - -Node2 - - -std::unordered_set::end - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::unordered_set -::find - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::unordered_set -::insert - - - - - -Node1->Node4 - - - - - - - - - - - - - diff --git a/dd/dca/class_f_c_f_s_a8fbfe4d85f7576b4a7aade07d29fbd69_cgraph_org.svg b/dd/dca/class_f_c_f_s_a8fbfe4d85f7576b4a7aade07d29fbd69_cgraph_org.svg deleted file mode 100644 index 1fddf68d9..000000000 --- a/dd/dca/class_f_c_f_s_a8fbfe4d85f7576b4a7aade07d29fbd69_cgraph_org.svg +++ /dev/null @@ -1,77 +0,0 @@ - - - - - - -FCFS::addProcess - - -Node1 - - -FCFS::addProcess - - - - - -Node2 - - -std::unordered_set::end - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::unordered_set -::find - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::unordered_set -::insert - - - - - -Node1->Node4 - - - - - - - - diff --git a/dd/dca/class_f_c_f_s_abb361a612b18bb189aa6d3c49288b793_cgraph.map b/dd/dca/class_f_c_f_s_abb361a612b18bb189aa6d3c49288b793_cgraph.map deleted file mode 100644 index e680dea50..000000000 --- a/dd/dca/class_f_c_f_s_abb361a612b18bb189aa6d3c49288b793_cgraph.map +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/dd/dca/class_f_c_f_s_abb361a612b18bb189aa6d3c49288b793_cgraph.md5 b/dd/dca/class_f_c_f_s_abb361a612b18bb189aa6d3c49288b793_cgraph.md5 deleted file mode 100644 index ee2be7d6b..000000000 --- a/dd/dca/class_f_c_f_s_abb361a612b18bb189aa6d3c49288b793_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -dd113aaa6b4940a0ef0005238b54a11d \ No newline at end of file diff --git a/dd/dca/class_f_c_f_s_abb361a612b18bb189aa6d3c49288b793_cgraph.svg b/dd/dca/class_f_c_f_s_abb361a612b18bb189aa6d3c49288b793_cgraph.svg deleted file mode 100644 index 04aab6329..000000000 --- a/dd/dca/class_f_c_f_s_abb361a612b18bb189aa6d3c49288b793_cgraph.svg +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - - - - - - - -FCFS::printResult - - -Node1 - - -FCFS::printResult - - - - - -Node2 - - -std::fixed - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::setprecision - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::setw - - - - - -Node1->Node4 - - - - - - - - - - - - - diff --git a/dd/dca/class_f_c_f_s_abb361a612b18bb189aa6d3c49288b793_cgraph_org.svg b/dd/dca/class_f_c_f_s_abb361a612b18bb189aa6d3c49288b793_cgraph_org.svg deleted file mode 100644 index e8e1b9719..000000000 --- a/dd/dca/class_f_c_f_s_abb361a612b18bb189aa6d3c49288b793_cgraph_org.svg +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - -FCFS::printResult - - -Node1 - - -FCFS::printResult - - - - - -Node2 - - -std::fixed - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::setprecision - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::setw - - - - - -Node1->Node4 - - - - - - - - diff --git a/dd/dd5/swap__sort_8cpp_source.html b/dd/dd5/swap__sort_8cpp_source.html new file mode 100644 index 000000000..a73dd3eeb --- /dev/null +++ b/dd/dd5/swap__sort_8cpp_source.html @@ -0,0 +1,206 @@ + + + + + + + + +TheAlgorithms/C++: sorting/swap_sort.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    swap_sort.cpp
    +
    +
    +
    1// C++ program to find minimum number of swaps required to sort an array
    +
    2#include <algorithm>
    +
    3#include <iostream>
    +
    4#include <utility>
    +
    5#include <vector>
    +
    6
    +
    7// Function returns the minimum number of swaps
    +
    8// required to sort the array
    +
    9int minSwaps(int arr[], int n) {
    +
    10 // Create an array of pairs where first
    +
    11 // element is array element and second element
    +
    12 // is position of first element
    +
    13 std::pair<int, int> *arrPos = new std::pair<int, int>[n];
    +
    14 for (int i = 0; i < n; i++) {
    +
    15 arrPos[i].first = arr[i];
    +
    16 arrPos[i].second = i;
    +
    17 }
    +
    18
    +
    19 // Sort the array by array element values to
    +
    20 // get right position of every element as second
    +
    21 // element of pair.
    +
    22 std::sort(arrPos, arrPos + n);
    +
    23
    +
    24 // To keep track of visited elements. Initialize
    +
    25 // all elements as not visited or false.
    +
    26 std::vector<bool> vis(n, false);
    +
    27
    +
    28 // Initialize result
    +
    29 int ans = 0;
    +
    30
    +
    31 // Traverse array elements
    +
    32 for (int i = 0; i < n; i++) {
    +
    33 // already swapped and corrected or
    +
    34 // already present at correct pos
    +
    35 if (vis[i] || arrPos[i].second == i)
    +
    36 continue;
    +
    37
    +
    38 // find out the number of node in
    +
    39 // this cycle and add in ans
    +
    40 int cycle_size = 0;
    +
    41 int j = i;
    +
    42 while (!vis[j]) {
    +
    43 vis[j] = 1;
    +
    44
    +
    45 // move to next node
    +
    46 j = arrPos[j].second;
    +
    47 cycle_size++;
    +
    48 }
    +
    49
    +
    50 // Update answer by adding current cycle.
    +
    51 if (cycle_size > 0) {
    +
    52 ans += (cycle_size - 1);
    +
    53 }
    +
    54 }
    +
    55
    +
    56 delete[] arrPos;
    +
    57
    +
    58 // Return result
    +
    59 return ans;
    +
    60}
    +
    61
    +
    62// program to test
    +
    63int main() {
    +
    64 int arr[] = {6, 7, 8, 1, 2, 3, 9, 12};
    +
    65 int n = (sizeof(arr) / sizeof(int));
    +
    66 std::cout << minSwaps(arr, n);
    +
    67 return 0;
    +
    68}
    +
    int main()
    Main function.
    +
    +
    + + + + diff --git a/dd/de1/classothers_1_1recursive__tree__traversals_1_1_b_t.html b/dd/de1/classothers_1_1recursive__tree__traversals_1_1_b_t.html index 99fb1f9e6..7de88b659 100644 --- a/dd/de1/classothers_1_1recursive__tree__traversals_1_1_b_t.html +++ b/dd/de1/classothers_1_1recursive__tree__traversals_1_1_b_t.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: others::recursive_tree_traversals::BT Class Reference +TheAlgorithms/C++: others::recursive_tree_traversals::BT Class Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -117,37 +134,36 @@ $(function(){initNavTree('dd/de1/classothers_1_1recursive__tree__traversals_1_1_
    Collaboration diagram for others::recursive_tree_traversals::BT:
    -
    +
    [legend]
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    - + - + - + - +

    Public Member Functions

    NodecreateNewNode (std::uint64_t)
    NodecreateNewNode (std::uint64_t)
     will allocate the memory for a node and, along the data and return the node.
     
    std::vector< std::uint64_tinorder (Node *)
    std::vector< std::uint64_t > inorder (Node *)
     
    std::vector< std::uint64_tpreorder (Node *)
    std::vector< std::uint64_t > preorder (Node *)
     preorder function that will perform the preorder traversal recursively, and return the resultant vector that contain the preorder traversal of a tree.
     
    std::vector< std::uint64_tpostorder (Node *)
    std::vector< std::uint64_t > postorder (Node *)
     postorder function that will perform the postorder traversal recursively, and return the result vector that contain the postorder traversal of a tree.
     
    - + - + - +

    Public Attributes

    -std::vector< std::uint64_tinorder_result
    std::vector< std::uint64_t > inorder_result
     
    -std::vector< std::uint64_tpreorder_result
    std::vector< std::uint64_t > preorder_result
     
    -std::vector< std::uint64_tpostorder_result
    std::vector< std::uint64_t > postorder_result
     

    Detailed Description

    BT used to make the entire structure of the binary tree and the functions associated with the binary tree.

    + +

    Definition at line 88 of file recursive_tree_traversal.cpp.

    Member Function Documentation

    ◆ createNewNode()

    @@ -158,7 +174,7 @@ Public Attributes Node * others::recursive_tree_traversals::BT::createNewNode ( - std::uint64_t data) + std::uint64_t data) @@ -172,16 +188,18 @@ Public Attributes
    Returns
    pointer to the newly created node with assigned data.
    + +

    Definition at line 118 of file recursive_tree_traversal.cpp.

    118 {
    119 Node *node = new Node();
    120 node->data = data;
    121 node->left = node->right = nullptr;
    122 return node;
    123}
    -
    struct node { int data; int height; struct node *left; struct node *right;} node
    for std::queue
    Definition avltree.cpp:13
    -
    int data[MAX]
    test data
    Definition hash_search.cpp:24
    -
    Definition linkedlist_implentation_usingarray.cpp:14
    -
    Definition binary_search_tree.cpp:11
    +
    struct node { int data; int height; struct node *left; struct node *right;} node
    for std::queue
    Definition avltree.cpp:13
    +
    int data[MAX]
    test data
    + +
    @@ -192,13 +210,15 @@ Public Attributes
    - +
    std::vector< std::uint64_t > others::recursive_tree_traversals::BT::inorder std::vector< std::uint64_t > others::recursive_tree_traversals::BT::inorder ( Node * root)
    + +

    Definition at line 132 of file recursive_tree_traversal.cpp.

    132 {
    133 if (root == nullptr) { // return if the current node is empty
    134 return {};
    @@ -221,7 +241,7 @@ Public Attributes
    - + @@ -237,6 +257,8 @@ Public Attributes
    Returns
    result that is containing the postorder traversal of a tree
    + +

    Definition at line 172 of file recursive_tree_traversal.cpp.

    172 {
    173 if (root == nullptr) { // if the current node is empty
    174 return {};
    @@ -249,13 +271,8 @@ Public Attributes
    181
    182 return postorder_result;
    183}
    -
    std::vector< std::uint64_t > postorder(Node *)
    postorder function that will perform the postorder traversal recursively, and return the result vecto...
    Definition recursive_tree_traversal.cpp:172
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    std::vector< std::uint64_t > postorder(Node *)
    postorder function that will perform the postorder traversal recursively, and return the result vecto...
    + @@ -265,7 +282,7 @@ Here is the call graph for this function:
    std::vector< std::uint64_t > others::recursive_tree_traversals::BT::postorder std::vector< std::uint64_t > others::recursive_tree_traversals::BT::postorder ( Node * root)
    - + @@ -281,6 +298,8 @@ Here is the call graph for this function:
    Returns
    result that is containing the preorder traversal of a tree
    + +

    Definition at line 152 of file recursive_tree_traversal.cpp.

    152 {
    153 if (root == nullptr) { // if the current node is empty
    154 return {};
    @@ -293,17 +312,61 @@ Here is the call graph for this function:
    161
    162 return preorder_result;
    163}
    -
    std::vector< std::uint64_t > preorder(Node *)
    preorder function that will perform the preorder traversal recursively, and return the resultant vect...
    Definition recursive_tree_traversal.cpp:152
    -
    -Here is the call graph for this function:
    -
    -
    +
    std::vector< std::uint64_t > preorder(Node *)
    preorder function that will perform the preorder traversal recursively, and return the resultant vect...
    +
    + +

    Member Data Documentation

    + +

    ◆ inorder_result

    + +
    +
    +
    std::vector< std::uint64_t > others::recursive_tree_traversals::BT::preorder std::vector< std::uint64_t > others::recursive_tree_traversals::BT::preorder ( Node * root)
    + + + +
    std::vector<std::uint64_t> others::recursive_tree_traversals::BT::inorder_result
    +
    + +

    Definition at line 91 of file recursive_tree_traversal.cpp.

    + +
    +
    + +

    ◆ postorder_result

    + +
    +
    + + + + +
    std::vector<std::uint64_t> others::recursive_tree_traversals::BT::postorder_result
    +
    + +

    Definition at line 95 of file recursive_tree_traversal.cpp.

    + +
    +
    + +

    ◆ preorder_result

    + +
    +
    + + + + +
    std::vector<std::uint64_t> others::recursive_tree_traversals::BT::preorder_result
    +
    + +

    Definition at line 93 of file recursive_tree_traversal.cpp.


    The documentation for this class was generated from the following file:
    diff --git a/dd/de1/classothers_1_1recursive__tree__traversals_1_1_b_t_a6397b78ceec18cb1959a1d159e134da5_cgraph.map b/dd/de1/classothers_1_1recursive__tree__traversals_1_1_b_t_a6397b78ceec18cb1959a1d159e134da5_cgraph.map deleted file mode 100644 index a2243ddb8..000000000 --- a/dd/de1/classothers_1_1recursive__tree__traversals_1_1_b_t_a6397b78ceec18cb1959a1d159e134da5_cgraph.map +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/dd/de1/classothers_1_1recursive__tree__traversals_1_1_b_t_a6397b78ceec18cb1959a1d159e134da5_cgraph.md5 b/dd/de1/classothers_1_1recursive__tree__traversals_1_1_b_t_a6397b78ceec18cb1959a1d159e134da5_cgraph.md5 deleted file mode 100644 index d87e37c87..000000000 --- a/dd/de1/classothers_1_1recursive__tree__traversals_1_1_b_t_a6397b78ceec18cb1959a1d159e134da5_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -3eb2fbddb7875d5611490c8e56e3e0f4 \ No newline at end of file diff --git a/dd/de1/classothers_1_1recursive__tree__traversals_1_1_b_t_a6397b78ceec18cb1959a1d159e134da5_cgraph.svg b/dd/de1/classothers_1_1recursive__tree__traversals_1_1_b_t_a6397b78ceec18cb1959a1d159e134da5_cgraph.svg deleted file mode 100644 index ebb176658..000000000 --- a/dd/de1/classothers_1_1recursive__tree__traversals_1_1_b_t_a6397b78ceec18cb1959a1d159e134da5_cgraph.svg +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - - - - - - - -others::recursive_tree_traversals::BT::preorder - - -Node1 - - -others::recursive_tree -_traversals::BT::preorder - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::vector::push_back - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/dd/de1/classothers_1_1recursive__tree__traversals_1_1_b_t_a6397b78ceec18cb1959a1d159e134da5_cgraph_org.svg b/dd/de1/classothers_1_1recursive__tree__traversals_1_1_b_t_a6397b78ceec18cb1959a1d159e134da5_cgraph_org.svg deleted file mode 100644 index e97790af4..000000000 --- a/dd/de1/classothers_1_1recursive__tree__traversals_1_1_b_t_a6397b78ceec18cb1959a1d159e134da5_cgraph_org.svg +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - -others::recursive_tree_traversals::BT::preorder - - -Node1 - - -others::recursive_tree -_traversals::BT::preorder - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::vector::push_back - - - - - -Node1->Node2 - - - - - - - - diff --git a/dd/de1/classothers_1_1recursive__tree__traversals_1_1_b_t_ac9404b65f407f631915515fa2e08a40c_cgraph.map b/dd/de1/classothers_1_1recursive__tree__traversals_1_1_b_t_ac9404b65f407f631915515fa2e08a40c_cgraph.map deleted file mode 100644 index 62c38aecd..000000000 --- a/dd/de1/classothers_1_1recursive__tree__traversals_1_1_b_t_ac9404b65f407f631915515fa2e08a40c_cgraph.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/dd/de1/classothers_1_1recursive__tree__traversals_1_1_b_t_ac9404b65f407f631915515fa2e08a40c_cgraph.md5 b/dd/de1/classothers_1_1recursive__tree__traversals_1_1_b_t_ac9404b65f407f631915515fa2e08a40c_cgraph.md5 deleted file mode 100644 index 59beb97f9..000000000 --- a/dd/de1/classothers_1_1recursive__tree__traversals_1_1_b_t_ac9404b65f407f631915515fa2e08a40c_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -f66bc4436ce959a42f368e6203759149 \ No newline at end of file diff --git a/dd/de1/classothers_1_1recursive__tree__traversals_1_1_b_t_ac9404b65f407f631915515fa2e08a40c_cgraph.svg b/dd/de1/classothers_1_1recursive__tree__traversals_1_1_b_t_ac9404b65f407f631915515fa2e08a40c_cgraph.svg deleted file mode 100644 index c7ebb8393..000000000 --- a/dd/de1/classothers_1_1recursive__tree__traversals_1_1_b_t_ac9404b65f407f631915515fa2e08a40c_cgraph.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - - - - - - - -others::recursive_tree_traversals::BT::postorder - - -Node1 - - -others::recursive_tree -_traversals::BT::postorder - - - - - -Node1->Node1 - - - - - - - - - - - - - diff --git a/dd/de1/classothers_1_1recursive__tree__traversals_1_1_b_t_ac9404b65f407f631915515fa2e08a40c_cgraph_org.svg b/dd/de1/classothers_1_1recursive__tree__traversals_1_1_b_t_ac9404b65f407f631915515fa2e08a40c_cgraph_org.svg deleted file mode 100644 index e6e41d1f8..000000000 --- a/dd/de1/classothers_1_1recursive__tree__traversals_1_1_b_t_ac9404b65f407f631915515fa2e08a40c_cgraph_org.svg +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - -others::recursive_tree_traversals::BT::postorder - - -Node1 - - -others::recursive_tree -_traversals::BT::postorder - - - - - -Node1->Node1 - - - - - - - - diff --git a/dd/dec/a__star__search_8cpp_source.html b/dd/dec/a__star__search_8cpp_source.html new file mode 100644 index 000000000..c2594784f --- /dev/null +++ b/dd/dec/a__star__search_8cpp_source.html @@ -0,0 +1,719 @@ + + + + + + + + +TheAlgorithms/C++: machine_learning/a_star_search.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    a_star_search.cpp
    +
    +
    +
    1
    +
    22#include <algorithm>
    +
    23#include <array>
    +
    24#include <cassert>
    +
    25#include <functional>
    +
    26#include <iostream>
    +
    27#include <map>
    +
    28#include <memory>
    +
    29#include <set>
    +
    30#include <vector>
    +
    35namespace machine_learning {
    +
    41namespace aystar_search {
    +
    59template <size_t N = 3>
    +
    + +
    61 std::array<std::array<uint32_t, N>, N>
    +
    62 board;
    +
    63
    +
    +
    64 std::vector<std::pair<int8_t, int8_t>> moves = {
    +
    65 {0, 1},
    +
    66 {1, 0},
    +
    67 {0, -1},
    +
    68 {-1,
    +
    69 0}};
    +
    +
    +
    75 std::pair<uint32_t, uint32_t> find_zero() {
    +
    76 for (size_t i = 0; i < N; ++i) {
    +
    77 for (size_t j = 0; j < N; ++j) {
    +
    78 if (!board[i][j]) {
    +
    79 return {i, j};
    +
    80 }
    +
    81 }
    +
    82 }
    +
    83 return {-1, -1};
    +
    84 }
    +
    +
    90 inline bool in_range(const uint32_t value) const { return value < N; }
    +
    91
    +
    92 public:
    +
    +
    102 uint32_t get(size_t i, size_t j) const {
    +
    103 if (in_range(i) && in_range(j)) {
    +
    104 return board[i][j];
    +
    105 }
    +
    106 return -1;
    +
    107 }
    +
    +
    111 std::array<std::array<uint32_t, N>, N> get_state() { return board; }
    +
    112
    +
    117 inline size_t get_size() const { return N; }
    +
    + +
    122 for (size_t i = 0; i < N; ++i) {
    +
    123 for (size_t j = 0; j < N; ++j) {
    +
    124 board[i][j] = ((i * 3 + j + 1) % (N * N));
    +
    125 }
    +
    126 }
    +
    127 }
    +
    +
    +
    132 explicit EightPuzzle(const std::array<std::array<uint32_t, N>, N> &init)
    +
    133 : board(init) {}
    +
    +
    134
    +
    139 EightPuzzle(const EightPuzzle<N> &A) : board(A.board) {}
    +
    140
    +
    +
    145 EightPuzzle(const EightPuzzle<N> &&A) noexcept
    +
    146 : board(std::move(A.board)) {}
    +
    +
    150 ~EightPuzzle() = default;
    +
    151
    +
    + +
    157 board = A.board;
    +
    158 return *this;
    +
    159 }
    +
    +
    160
    +
    + +
    166 board = std::move(A.board);
    +
    167 return *this;
    +
    168 }
    +
    +
    169
    +
    +
    176 std::vector<EightPuzzle<N>> generate_possible_moves() {
    +
    177 auto zero_pos = find_zero();
    +
    178 // vector which will contain all possible state from current state
    +
    179 std::vector<EightPuzzle<N>> NewStates;
    +
    180 for (auto &move : moves) {
    +
    181 if (in_range(zero_pos.first + move.first) &&
    +
    182 in_range(zero_pos.second + move.second)) {
    +
    183 // swap with the possible moves
    +
    184 std::array<std::array<uint32_t, N>, N> new_config = board;
    +
    185 std::swap(new_config[zero_pos.first][zero_pos.second],
    +
    186 new_config[zero_pos.first + move.first]
    +
    187 [zero_pos.second + move.second]);
    +
    188 EightPuzzle<N> new_state(new_config);
    +
    189 // Store new state and calculate heuristic value, and depth
    +
    190 NewStates.emplace_back(new_state);
    +
    191 }
    +
    192 }
    +
    193 return NewStates;
    +
    194 }
    +
    +
    +
    200 bool operator==(const EightPuzzle<N> &check) const {
    +
    201 if (check.get_size() != N) {
    +
    202 return false;
    +
    203 }
    +
    204 for (size_t i = 0; i < N; ++i) {
    +
    205 for (size_t j = 0; j < N; ++j) {
    +
    206 if (board[i][j] != check.board[i][j]) {
    +
    207 return false;
    +
    208 }
    +
    209 }
    +
    210 }
    +
    211 return true;
    +
    212 }
    +
    +
    +
    218 bool operator<(const EightPuzzle<N> &check) const {
    +
    219 for (size_t i = 0; i < N; ++i) {
    +
    220 for (size_t j = 0; j < N; ++j) {
    +
    221 if (board[i][j] != check.board[i][j]) {
    +
    222 return board[i][j] < check.board[i][j];
    +
    223 }
    +
    224 }
    +
    225 }
    +
    226 return false;
    +
    227 }
    +
    +
    +
    233 bool operator<=(const EightPuzzle<N> &check) const {
    +
    234 for (size_t i = 0; i < N; ++i) {
    +
    235 for (size_t j = 0; j < N; ++j) {
    +
    236 if (board[i][j] != check.board[i][j]) {
    +
    237 return board[i][j] < check.board[i][j];
    +
    238 }
    +
    239 }
    +
    240 }
    +
    241 return true;
    +
    242 }
    +
    +
    243
    +
    +
    250 friend std::ostream &operator<<(std::ostream &op,
    +
    251 const EightPuzzle<N> &SomeState) {
    +
    252 for (size_t i = 0; i < N; ++i) {
    +
    253 for (size_t j = 0; j < N; ++j) {
    +
    254 op << SomeState.board[i][j] << " ";
    +
    255 }
    +
    256 op << "\n";
    +
    257 }
    +
    258 return op;
    +
    259 }
    +
    +
    260};
    +
    +
    287template <typename Puzzle>
    +
    + +
    +
    293 typedef struct Info {
    +
    294 std::shared_ptr<Puzzle> state;
    +
    295 size_t heuristic_value = 0;
    +
    296 size_t depth = 0;
    +
    297
    +
    301 Info() = default;
    +
    302
    +
    307 explicit Info(const Puzzle &A) : state(std::make_shared<Puzzle>(A)) {}
    +
    308
    +
    +
    315 Info(const Puzzle &A, size_t h_value, size_t d)
    +
    316 : state(std::make_shared<Puzzle>(A)),
    +
    317 heuristic_value(h_value),
    +
    318 depth(d) {}
    +
    +
    319
    +
    +
    324 Info(const Info &A)
    +
    325 : state(std::make_shared<Puzzle>(A.state)),
    + +
    327 depth(A.depth) {}
    +
    +
    328
    +
    +
    333 Info(const Info &&A) noexcept
    +
    334 : state(std::make_shared<Puzzle>(std::move(A.state))),
    +
    335 heuristic_value(std::move(A.heuristic_value)),
    +
    336 depth(std::move(A.depth)) {}
    +
    +
    337
    +
    +
    342 Info &operator=(const Info &A) {
    +
    343 state = A.state;
    + +
    345 depth = A.depth;
    +
    346 return *this;
    +
    347 }
    +
    +
    348
    +
    +
    353 Info &operator=(Info &&A) noexcept {
    +
    354 state = std::move(A.state);
    +
    355 heuristic_value = std::move(A.heuristic_value);
    +
    356 depth = std::move(A.depth);
    +
    357 return *this;
    +
    358 }
    +
    +
    362 ~Info() = default;
    + +
    +
    364
    +
    365 std::shared_ptr<Info> Initial; // Initial state of the AyStarSearch
    +
    366 std::shared_ptr<Info> Final; // Final state of the AyStarSearch
    +
    + +
    371 bool operator()(const std::shared_ptr<Info> &a,
    +
    372 const std::shared_ptr<Info> &b) const {
    +
    373 return *(a->state) < *(b->state);
    +
    374 }
    +
    375 };
    +
    +
    376
    +
    377 public:
    +
    378 using MapOfPuzzleInfoWithPuzzleInfo =
    +
    379 std::map<std::shared_ptr<Info>, std::shared_ptr<Info>,
    + +
    381
    +
    382 using MapOfPuzzleInfoWithInteger =
    +
    383 std::map<std::shared_ptr<Info>, uint32_t, comparison_operator>;
    +
    384
    +
    385 using SetOfPuzzleInfo =
    +
    386 std::set<std::shared_ptr<Info>, comparison_operator>;
    +
    +
    392 AyStarSearch(const Puzzle &initial, const Puzzle &final) {
    +
    393 Initial = std::make_shared<Info>(initial);
    +
    394 Final = std::make_shared<Info>(final);
    +
    395 }
    +
    +
    +
    405 std::vector<Puzzle> Solution(
    +
    406 std::shared_ptr<Info> FinalState,
    +
    407 const MapOfPuzzleInfoWithPuzzleInfo &parent_of) {
    +
    408 // Useful for traversing from final state to current state.
    +
    409 auto current_state = FinalState;
    +
    410 /*
    +
    411 * For storing the solution tree starting from initial state to
    +
    412 * final state
    +
    413 */
    +
    414 std::vector<Puzzle> answer;
    +
    415 while (current_state != nullptr) {
    +
    416 answer.emplace_back(*current_state->state);
    +
    417 current_state = parent_of.find(current_state)->second;
    +
    418 }
    +
    419 return answer;
    +
    420 }
    +
    +
    +
    429 std::vector<Puzzle> a_star_search(
    +
    430 const std::function<uint32_t(const Puzzle &, const Puzzle &)> &dist,
    +
    431 const uint32_t permissible_depth = 30) {
    +
    432 MapOfPuzzleInfoWithPuzzleInfo
    +
    433 parent_of;
    +
    434 MapOfPuzzleInfoWithInteger g_score;
    +
    435 SetOfPuzzleInfo open_list;
    +
    436 SetOfPuzzleInfo closed_list;
    +
    437
    +
    438 // Before starting the AyStartSearch, initialize the set and maps
    +
    439 open_list.emplace(Initial);
    +
    440 parent_of[Initial] = nullptr;
    +
    441 g_score[Initial] = 0;
    +
    442
    +
    443 while (!open_list.empty()) {
    +
    444 // Iterator for state having having lowest f_score.
    +
    445 typename SetOfPuzzleInfo::iterator it_low_f_score;
    +
    446 uint32_t min_f_score = 1e9;
    +
    447 for (auto iter = open_list.begin(); iter != open_list.end();
    +
    448 ++iter) {
    +
    449 // f score here is evaluated by g score (depth) and h score
    +
    450 // (distance between current state and final state)
    +
    451 uint32_t f_score = (*iter)->heuristic_value + (*iter)->depth;
    +
    452 if (f_score < min_f_score) {
    +
    453 min_f_score = f_score;
    +
    454 it_low_f_score = iter;
    +
    455 }
    +
    456 }
    +
    457
    +
    458 // current_state, stores lowest f score so far for this state.
    +
    459 std::shared_ptr<Info> current_state = *it_low_f_score;
    +
    460
    +
    461 // if this current state is equal to final, return
    +
    462 if (*(current_state->state) == *(Final->state)) {
    +
    463 return Solution(current_state, parent_of);
    +
    464 }
    +
    465 // else remove from open list as visited.
    +
    466 open_list.erase(it_low_f_score);
    +
    467 // if current_state has exceeded the allowed depth, skip
    +
    468 // neighbor checking
    +
    469 if (current_state->depth >= permissible_depth) {
    +
    470 continue;
    +
    471 }
    +
    472 // Generate all possible moves (neighbors) given the current
    +
    473 // state
    +
    474 std::vector<Puzzle> total_possible_moves =
    +
    475 current_state->state->generate_possible_moves();
    +
    476
    +
    477 for (Puzzle &neighbor : total_possible_moves) {
    +
    478 // calculate score of neighbors with respect to
    +
    479 // current_state
    +
    480 std::shared_ptr<Info> Neighbor = std::make_shared<Info>(
    +
    481 neighbor, dist(neighbor, *(Final->state)),
    +
    482 current_state->depth + 1U);
    +
    483 uint32_t temp_g_score = Neighbor->depth;
    +
    484
    +
    485 // Check whether this state is explored.
    +
    486 // If this state is discovered at greater depth, then discard,
    +
    487 // else remove from closed list and explore the node
    +
    488 auto closed_list_iter = closed_list.find(Neighbor);
    +
    489 if (closed_list_iter != closed_list.end()) {
    +
    490 // 1. If state in closed list has higher depth, then remove
    +
    491 // from list since we have found better option,
    +
    492 // 2. Else don't explore this state.
    +
    493 if (Neighbor->depth < (*closed_list_iter)->depth) {
    +
    494 closed_list.erase(closed_list_iter);
    +
    495 } else {
    +
    496 continue;
    +
    497 }
    +
    498 }
    +
    499 auto neighbor_g_score_iter = g_score.find(Neighbor);
    +
    500 // if the neighbor is already created and has minimum
    +
    501 // g_score, then update g_score and f_score else insert new
    +
    502 if (neighbor_g_score_iter != g_score.end()) {
    +
    503 if (neighbor_g_score_iter->second > temp_g_score) {
    +
    504 neighbor_g_score_iter->second = temp_g_score;
    +
    505 parent_of[Neighbor] = current_state;
    +
    506 }
    +
    507 } else {
    +
    508 g_score[Neighbor] = temp_g_score;
    +
    509 parent_of[Neighbor] = current_state;
    +
    510 }
    +
    511 // If this is a new state, insert into open_list
    +
    512 // else update if the this state has better g score than
    +
    513 // existing one.
    +
    514 auto iter = open_list.find(Neighbor);
    +
    515 if (iter == open_list.end()) {
    +
    516 open_list.emplace(Neighbor);
    +
    517 } else if ((*iter)->depth > Neighbor->depth) {
    +
    518 (*iter)->depth = Neighbor->depth;
    +
    519 }
    +
    520 }
    +
    521 closed_list.emplace(current_state);
    +
    522 }
    +
    523 // Cannot find the solution, return empty vector
    +
    524 return std::vector<Puzzle>(0);
    +
    525 }
    +
    +
    526};
    +
    +
    527} // namespace aystar_search
    +
    528} // namespace machine_learning
    +
    529
    +
    534static void test() {
    +
    535 // Renaming for simplicity
    +
    536 using matrix3 = std::array<std::array<uint32_t, 3>, 3>;
    +
    537 using row3 = std::array<uint32_t, 3>;
    +
    538 using matrix4 = std::array<std::array<uint32_t, 4>, 4>;
    +
    539 using row4 = std::array<uint32_t, 4>;
    +
    540 // 1st test: A* search for simple EightPuzzle problem
    +
    541 matrix3 puzzle;
    +
    542 puzzle[0] = row3({0, 2, 3});
    +
    543 puzzle[1] = row3({1, 5, 6});
    +
    544 puzzle[2] = row3({4, 7, 8});
    +
    545
    +
    546 matrix3 ideal;
    +
    547 ideal[0] = row3({1, 2, 3});
    +
    548 ideal[1] = row3({4, 5, 6});
    +
    549 ideal[2] = row3({7, 8, 0});
    +
    550
    +
    551 /*
    +
    552 * Heuristic function: Manhattan distance
    +
    553 */
    +
    554 auto manhattan_distance =
    + + +
    557 uint32_t ret = 0;
    +
    558 for (size_t i = 0; i < first.get_size(); ++i) {
    +
    559 for (size_t j = 0; j < first.get_size(); ++j) {
    +
    560 uint32_t find = first.get(i, j);
    +
    561 size_t m = first.get_size(), n = first.get_size();
    +
    562 for (size_t k = 0; k < second.get_size(); ++k) {
    +
    563 for (size_t l = 0; l < second.get_size(); ++l) {
    +
    564 if (find == second.get(k, l)) {
    +
    565 std::tie(m, n) = std::make_pair(k, l);
    +
    566 break;
    +
    567 }
    +
    568 }
    +
    569 if (m != first.get_size()) {
    +
    570 break;
    +
    571 }
    +
    572 }
    +
    573 if (m != first.get_size()) {
    +
    574 ret += (std::max(m, i) - std::min(m, i)) +
    +
    575 (std::max(n, j) - std::min(n, j));
    +
    576 }
    +
    577 }
    +
    578 }
    +
    579 return ret;
    +
    580 };
    +
    581
    + + + + +
    586 search(Puzzle, Ideal);
    +
    587
    +
    588 std::vector<matrix3> answer;
    +
    589
    +
    590 answer.push_back(
    +
    591 matrix3({row3({0, 2, 3}), row3({1, 5, 6}), row3({4, 7, 8})}));
    +
    592 answer.push_back(
    +
    593 matrix3({row3({1, 2, 3}), row3({0, 5, 6}), row3({4, 7, 8})}));
    +
    594 answer.push_back(
    +
    595 matrix3({row3({1, 2, 3}), row3({4, 5, 6}), row3({0, 7, 8})}));
    +
    596 answer.push_back(
    +
    597 matrix3({row3({1, 2, 3}), row3({4, 5, 6}), row3({7, 0, 8})}));
    +
    598 answer.push_back(
    +
    599 matrix3({row3({1, 2, 3}), row3({4, 5, 6}), row3({7, 8, 0})}));
    +
    600
    +
    601 auto Solution = search.a_star_search(manhattan_distance);
    +
    602 std::cout << Solution.size() << std::endl;
    +
    603
    +
    604 assert(Solution.size() == answer.size());
    +
    605
    +
    606 uint32_t i = 0;
    +
    607 for (auto it = Solution.rbegin(); it != Solution.rend(); ++it) {
    +
    608 assert(it->get_state() == answer[i]);
    +
    609 ++i;
    +
    610 }
    +
    611
    +
    612 // 2nd test: A* search for complicated EightPuzzle problem
    +
    613 // Initial state
    +
    614 puzzle[0] = row3({5, 7, 3});
    +
    615 puzzle[1] = row3({2, 0, 6});
    +
    616 puzzle[2] = row3({1, 4, 8});
    +
    617 // Final state
    +
    618 ideal[0] = row3({1, 2, 3});
    +
    619 ideal[1] = row3({4, 5, 6});
    +
    620 ideal[2] = row3({7, 8, 0});
    +
    621
    + + +
    624
    +
    625 // Initialize the search object
    + + +
    628
    +
    629 Solution = search.a_star_search(manhattan_distance);
    +
    630 std::cout << Solution.size() << std::endl;
    +
    631 // Static assertion due to large solution
    +
    632 assert(13 == Solution.size());
    +
    633 // Check whether the final state is equal to expected one
    +
    634 assert(Solution[0].get_state() == ideal);
    +
    635 for (auto it = Solution.rbegin(); it != Solution.rend(); ++it) {
    +
    636 std::cout << *it << std::endl;
    +
    637 }
    +
    638
    +
    639 // 3rd test: A* search for 15-Puzzle
    +
    640 // Initial State of the puzzle
    +
    641 matrix4 puzzle2;
    +
    642 puzzle2[0] = row4({10, 1, 6, 2});
    +
    643 puzzle2[1] = row4({5, 8, 4, 3});
    +
    644 puzzle2[2] = row4({13, 0, 7, 11});
    +
    645 puzzle2[3] = row4({14, 9, 15, 12});
    +
    646 // Final state of the puzzle
    +
    647 matrix4 ideal2;
    +
    648 ideal2[0] = row4({1, 2, 3, 4});
    +
    649 ideal2[1] = row4({5, 6, 7, 8});
    +
    650 ideal2[2] = row4({9, 10, 11, 12});
    +
    651 ideal2[3] = row4({13, 14, 15, 0});
    +
    652
    +
    653 // Instantiate states for a*, initial state and final states
    + +
    655 Ideal2(ideal2);
    +
    656 // Initialize the search object
    + + +
    659 search2(Puzzle2, Ideal2);
    +
    663 auto manhattan_distance2 =
    + + +
    666 uint32_t ret = 0;
    +
    667 for (size_t i = 0; i < first.get_size(); ++i) {
    +
    668 for (size_t j = 0; j < first.get_size(); ++j) {
    +
    669 uint32_t find = first.get(i, j);
    +
    670 size_t m = first.get_size(), n = first.get_size();
    +
    671 for (size_t k = 0; k < second.get_size(); ++k) {
    +
    672 for (size_t l = 0; l < second.get_size(); ++l) {
    +
    673 if (find == second.get(k, l)) {
    +
    674 std::tie(m, n) = std::make_pair(k, l);
    +
    675 break;
    +
    676 }
    +
    677 }
    +
    678 if (m != first.get_size()) {
    +
    679 break;
    +
    680 }
    +
    681 }
    +
    682 if (m != first.get_size()) {
    +
    683 ret += (std::max(m, i) - std::min(m, i)) +
    +
    684 (std::max(n, j) - std::min(n, j));
    +
    685 }
    +
    686 }
    +
    687 }
    +
    688 return ret;
    +
    689 };
    +
    690
    +
    691 auto sol2 = search2.a_star_search(manhattan_distance2);
    +
    692 std::cout << sol2.size() << std::endl;
    +
    693
    +
    694 // Static assertion due to large solution
    +
    695 assert(24 == sol2.size());
    +
    696 // Check whether the final state is equal to expected one
    +
    697 assert(sol2[0].get_state() == ideal2);
    +
    698
    +
    699 for (auto it = sol2.rbegin(); it != sol2.rend(); ++it) {
    +
    700 std::cout << *it << std::endl;
    +
    701 }
    +
    702}
    +
    707int main() {
    +
    708 test(); // run self-test implementations
    +
    709 return 0;
    +
    710}
    +
    void test()
    + +
    A class defining A* search algorithm. for some initial state and final state.
    +
    std::vector< Puzzle > Solution(std::shared_ptr< Info > FinalState, const MapOfPuzzleInfoWithPuzzleInfo &parent_of)
    A helper solution: launches when a solution for AyStarSearch is found.
    +
    std::vector< Puzzle > a_star_search(const std::function< uint32_t(const Puzzle &, const Puzzle &)> &dist, const uint32_t permissible_depth=30)
    +
    AyStarSearch(const Puzzle &initial, const Puzzle &final)
    Parameterized constructor for AyStarSearch.
    +
    struct machine_learning::aystar_search::AyStarSearch::Info Info
    Struct that handles all the information related to the current state.
    +
    A class defining EightPuzzle/15-Puzzle game.
    +
    EightPuzzle & operator=(EightPuzzle &&A) noexcept
    Move assignment operator.
    +
    ~EightPuzzle()=default
    Destructor of EightPuzzle.
    +
    std::vector< EightPuzzle< N > > generate_possible_moves()
    Find all possible states after processing all possible moves, given the current state of the puzzle.
    +
    EightPuzzle()
    Default constructor for EightPuzzle.
    +
    EightPuzzle & operator=(const EightPuzzle &A)
    Copy assignment operator.
    +
    bool in_range(const uint32_t value) const
    check whether the index value is bounded within the puzzle area
    +
    bool operator<(const EightPuzzle< N > &check) const
    check whether one board is lexicographically smaller
    +
    std::pair< uint32_t, uint32_t > find_zero()
    A helper array to evaluate the next state from current state;.
    +
    friend std::ostream & operator<<(std::ostream &op, const EightPuzzle< N > &SomeState)
    friend operator to display EightPuzzle<>
    +
    bool operator==(const EightPuzzle< N > &check) const
    check whether two boards are equal
    +
    uint32_t get(size_t i, size_t j) const
    get the value from i units from right and j units from left side of the board
    +
    std::vector< std::pair< int8_t, int8_t > > moves
    N x N array to store the current state of the Puzzle.
    +
    EightPuzzle(const std::array< std::array< uint32_t, N >, N > &init)
    Parameterized Constructor for EightPuzzle.
    +
    EightPuzzle(const EightPuzzle< N > &A)
    Copy constructor.
    +
    std::array< std::array< uint32_t, N >, N > get_state()
    Returns the current state of the board.
    +
    size_t get_size() const
    returns the size of the EightPuzzle (number of row / column)
    +
    EightPuzzle(const EightPuzzle< N > &&A) noexcept
    Move constructor.
    +
    bool operator<=(const EightPuzzle< N > &check) const
    check whether one board is lexicographically smaller or equal
    +
    double k(double x)
    Another test function.
    +
    double l(double x)
    Another test function.
    +
    int main()
    Main function.
    +
    Functions for A* Search implementation.
    +
    A* search algorithm
    + +
    for std::assert
    +
    Struct that handles all the information related to the current state.
    + + + +
    Info(const Puzzle &A)
    constructor having Puzzle as parameter
    +
    Info(const Info &&A) noexcept
    Move constructor.
    + + +
    Info & operator=(const Info &A)
    copy assignment operator
    +
    Info(const Puzzle &A, size_t h_value, size_t d)
    constructor having three parameters
    +
    Info & operator=(Info &&A) noexcept
    move assignment operator
    + +
    +
    + + + + diff --git a/dd/dfc/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d-members.html b/dd/dfc/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d-members.html index a1a75d7b2..6f8f5b44a 100644 --- a/dd/dfc/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d-members.html +++ b/dd/dfc/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d-members.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Member List +TheAlgorithms/C++: Member List + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/de/d00/classgraph_1_1is__graph__bipartite_1_1_graph.html b/de/d00/classgraph_1_1is__graph__bipartite_1_1_graph.html index 2603a4ac1..0fba7b7d8 100644 --- a/de/d00/classgraph_1_1is__graph__bipartite_1_1_graph.html +++ b/de/d00/classgraph_1_1is__graph__bipartite_1_1_graph.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: graph::is_graph_bipartite::Graph Class Reference +TheAlgorithms/C++: graph::is_graph_bipartite::Graph Class Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + @@ -134,21 +151,20 @@ Public Member Functions
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    - - + + - - + + - - + +

    Private Attributes

    -int n
     size of the graph
    int n
     size of the graph
     
    -std::vector< std::vector< int > > adj
     adj stores the graph as an adjacency list
    std::vector< std::vector< int > > adj
     adj stores the graph as an adjacency list
     
    -std::vector< int > side
     stores the side of the vertex
    std::vector< int > side
     stores the side of the vertex
     

    Detailed Description

    Class for representing graph as an adjacency list.

    + +

    Definition at line 51 of file is_graph_bipartite.cpp.

    Constructor & Destructor Documentation

    ◆ Graph()

    @@ -180,21 +196,17 @@ int n + +

    Definition at line 65 of file is_graph_bipartite.cpp.

    65 {
    66 n = size;
    -
    67 adj.resize(n);
    -
    68 side.resize(n, -1);
    +
    67 adj.resize(n);
    +
    68 side.resize(n, -1);
    69 }
    -
    std::vector< int > side
    stores the side of the vertex
    Definition is_graph_bipartite.cpp:58
    -
    std::vector< std::vector< int > > adj
    adj stores the graph as an adjacency list
    Definition is_graph_bipartite.cpp:56
    -
    int n
    size of the graph
    Definition is_graph_bipartite.cpp:53
    -
    T resize(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    std::vector< int > side
    stores the side of the vertex
    +
    std::vector< std::vector< int > > adj
    adj stores the graph as an adjacency list
    + +

    Member Function Documentation

    @@ -225,17 +237,13 @@ Here is the call graph for this function: -
    83 {
    -
    84 adj[u - 1].push_back(v - 1);
    -
    85 adj[v - 1].push_back(u - 1);
    -
    86}
    -
    T push_back(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    +

    Definition at line 83 of file is_graph_bipartite.cpp.

    +
    83 {
    +
    84 adj[u - 1].push_back(v - 1);
    +
    85 adj[v - 1].push_back(u - 1);
    +
    86}
    +
    @@ -259,9 +267,11 @@ Here is the call graph for this function:
    Returns
    true if th graph is bipartite
    false otherwise
    + +

    Definition at line 106 of file is_graph_bipartite.cpp.

    106 {
    -
    107 bool check = true;
    - +
    107 bool check = true;
    +
    108 std::queue<int> q;
    109 for (int current_edge = 0; current_edge < n; ++current_edge) {
    110 if (side[current_edge] == -1) {
    111 q.push(current_edge);
    @@ -274,21 +284,98 @@ Here is the call graph for this function:
    118 side[neighbour] = (1 ^ side[current]);
    119 q.push(neighbour);
    120 } else {
    -
    121 check &= (side[neighbour] != side[current]);
    +
    121 check &= (side[neighbour] != side[current]);
    122 }
    123 }
    124 }
    125 }
    126 }
    -
    127 return check;
    +
    127 return check;
    128}
    - -
    bool check(const std::string &s, const std::unordered_set< std::string > &strSet, int pos, std::vector< int > *dp)
    Function that checks if the string passed in param can be segmented from position 'pos',...
    Definition word_break.cpp:80
    + + +

    Member Data Documentation

    + +

    ◆ adj

    + +
    +
    + + + + + +
    + + + + +
    std::vector<std::vector<int> > graph::is_graph_bipartite::Graph::adj
    +
    +private
    +
    + +

    adj stores the graph as an adjacency list

    + +

    Definition at line 56 of file is_graph_bipartite.cpp.

    + +
    +
    + +

    ◆ n

    + +
    +
    + + + + + +
    + + + + +
    int graph::is_graph_bipartite::Graph::n
    +
    +private
    +
    + +

    size of the graph

    + +

    Definition at line 53 of file is_graph_bipartite.cpp.

    + +
    +
    + +

    ◆ side

    + +
    +
    + + + + + +
    + + + + +
    std::vector<int> graph::is_graph_bipartite::Graph::side
    +
    +private
    +
    + +

    stores the side of the vertex

    + +

    Definition at line 58 of file is_graph_bipartite.cpp.

    +

    The documentation for this class was generated from the following file: diff --git a/de/d00/classgraph_1_1is__graph__bipartite_1_1_graph_a6aef65b40347c4606662cad4dd2e14d3_cgraph.map b/de/d00/classgraph_1_1is__graph__bipartite_1_1_graph_a6aef65b40347c4606662cad4dd2e14d3_cgraph.map deleted file mode 100644 index f4dc53581..000000000 --- a/de/d00/classgraph_1_1is__graph__bipartite_1_1_graph_a6aef65b40347c4606662cad4dd2e14d3_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/de/d00/classgraph_1_1is__graph__bipartite_1_1_graph_a6aef65b40347c4606662cad4dd2e14d3_cgraph.md5 b/de/d00/classgraph_1_1is__graph__bipartite_1_1_graph_a6aef65b40347c4606662cad4dd2e14d3_cgraph.md5 deleted file mode 100644 index 540cfae26..000000000 --- a/de/d00/classgraph_1_1is__graph__bipartite_1_1_graph_a6aef65b40347c4606662cad4dd2e14d3_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -513e2961a4038d0113b53906effd71b6 \ No newline at end of file diff --git a/de/d00/classgraph_1_1is__graph__bipartite_1_1_graph_a6aef65b40347c4606662cad4dd2e14d3_cgraph.svg b/de/d00/classgraph_1_1is__graph__bipartite_1_1_graph_a6aef65b40347c4606662cad4dd2e14d3_cgraph.svg deleted file mode 100644 index f41e6fe28..000000000 --- a/de/d00/classgraph_1_1is__graph__bipartite_1_1_graph_a6aef65b40347c4606662cad4dd2e14d3_cgraph.svg +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - - - - - - - -graph::is_graph_bipartite::Graph::Graph - - -Node1 - - -graph::is_graph_bipartite -::Graph::Graph - - - - - -Node2 - - -std::vector::resize - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/de/d00/classgraph_1_1is__graph__bipartite_1_1_graph_a6aef65b40347c4606662cad4dd2e14d3_cgraph_org.svg b/de/d00/classgraph_1_1is__graph__bipartite_1_1_graph_a6aef65b40347c4606662cad4dd2e14d3_cgraph_org.svg deleted file mode 100644 index b4da53b18..000000000 --- a/de/d00/classgraph_1_1is__graph__bipartite_1_1_graph_a6aef65b40347c4606662cad4dd2e14d3_cgraph_org.svg +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - -graph::is_graph_bipartite::Graph::Graph - - -Node1 - - -graph::is_graph_bipartite -::Graph::Graph - - - - - -Node2 - - -std::vector::resize - - - - - -Node1->Node2 - - - - - - - - diff --git a/de/d00/classgraph_1_1is__graph__bipartite_1_1_graph_a816cda7e563198f778fd32e03992763b_cgraph.map b/de/d00/classgraph_1_1is__graph__bipartite_1_1_graph_a816cda7e563198f778fd32e03992763b_cgraph.map deleted file mode 100644 index dbd4bbf88..000000000 --- a/de/d00/classgraph_1_1is__graph__bipartite_1_1_graph_a816cda7e563198f778fd32e03992763b_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/de/d00/classgraph_1_1is__graph__bipartite_1_1_graph_a816cda7e563198f778fd32e03992763b_cgraph.md5 b/de/d00/classgraph_1_1is__graph__bipartite_1_1_graph_a816cda7e563198f778fd32e03992763b_cgraph.md5 deleted file mode 100644 index 7d2986496..000000000 --- a/de/d00/classgraph_1_1is__graph__bipartite_1_1_graph_a816cda7e563198f778fd32e03992763b_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -c7976a348c708cb6c3e2522507d5e91a \ No newline at end of file diff --git a/de/d00/classgraph_1_1is__graph__bipartite_1_1_graph_a816cda7e563198f778fd32e03992763b_cgraph.svg b/de/d00/classgraph_1_1is__graph__bipartite_1_1_graph_a816cda7e563198f778fd32e03992763b_cgraph.svg deleted file mode 100644 index cbb4935a6..000000000 --- a/de/d00/classgraph_1_1is__graph__bipartite_1_1_graph_a816cda7e563198f778fd32e03992763b_cgraph.svg +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - - - - - - - -graph::is_graph_bipartite::Graph::addEdge - - -Node1 - - -graph::is_graph_bipartite -::Graph::addEdge - - - - - -Node2 - - -std::vector::push_back - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/de/d00/classgraph_1_1is__graph__bipartite_1_1_graph_a816cda7e563198f778fd32e03992763b_cgraph_org.svg b/de/d00/classgraph_1_1is__graph__bipartite_1_1_graph_a816cda7e563198f778fd32e03992763b_cgraph_org.svg deleted file mode 100644 index 1db09de47..000000000 --- a/de/d00/classgraph_1_1is__graph__bipartite_1_1_graph_a816cda7e563198f778fd32e03992763b_cgraph_org.svg +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - -graph::is_graph_bipartite::Graph::addEdge - - -Node1 - - -graph::is_graph_bipartite -::Graph::addEdge - - - - - -Node2 - - -std::vector::push_back - - - - - -Node1->Node2 - - - - - - - - diff --git a/de/d07/cycle__sort_8cpp.html b/de/d07/cycle__sort_8cpp.html index 30e52883f..5de4e0e92 100644 --- a/de/d07/cycle__sort_8cpp.html +++ b/de/d07/cycle__sort_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: sorting/cycle_sort.cpp File Reference +TheAlgorithms/C++: sorting/cycle_sort.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -123,7 +140,9 @@ Include dependency graph for cycle_sort.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -136,7 +155,7 @@ Namespaces - + @@ -149,6 +168,8 @@ Functions

    Detailed Description

    Implementation of Cycle sort algorithm.

    Cycle Sort is a sorting algorithm that works in \(O(n^2)\) time in the best case and works in \(O(n^2)\) in worst case. If a element is already at its correct position, do nothing. If a element is not at its correct position, we then need to move it to its correct position by computing the correct positions.Therefore, we should make sure the duplicate elements.

    Author
    TsungHan Ho
    + +

    Definition in file cycle_sort.cpp.

    Function Documentation

    ◆ cycleSort()

    @@ -159,9 +180,9 @@ Functions template<typename T >

    Namespaces

    namespace  sorting

    Functions

    template<typename T >
    std::vector< T > sorting::cycle_sort::cycleSort (const std::vector< T > &in_arr)
    std::vector< T > sorting::cycle_sort::cycleSort (const std::vector< T > &in_arr)
     The main function implements cycleSort.
     
    static void test ()
    - + - +
    std::vector< T > sorting::cycle_sort::cycleSort std::vector< T > sorting::cycle_sort::cycleSort (const std::vector< T > & in_arr)const std::vector< T > & in_arr)
    @@ -181,8 +202,10 @@ template<typename T >
    Returns
    void
    + +

    Definition at line 38 of file cycle_sort.cpp.

    38 {
    -
    39 std::vector<T> arr(in_arr);
    +
    39 std::vector<T> arr(in_arr);
    40 for (int cycle_start = 0; cycle_start <= arr.size() - 1; cycle_start++) {
    41 // initialize item
    42 T item = arr[cycle_start];
    @@ -206,7 +229,7 @@ template<typename T >
    60 if (pos == cycle_start) {
    61 continue;
    62 } else {
    -
    63 std::swap(item, arr[pos]);
    +
    63 std::swap(item, arr[pos]);
    64 }
    65 // Rest of the elements
    66 while (pos != cycle_start) {
    @@ -222,20 +245,13 @@ template<typename T >
    76 if (item == arr[pos]) {
    77 continue;
    78 } else {
    -
    79 std::swap(item, arr[pos]);
    +
    79 std::swap(item, arr[pos]);
    80 }
    81 }
    82 }
    83 return arr;
    84}
    -
    T swap(T... args)
    - -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -255,17 +271,14 @@ Here is the call graph for this function:

    Main function.

    Returns
    0 on exit
    + +

    Definition at line 128 of file cycle_sort.cpp.

    128 {
    129 test(); // execute the test
    130 return 0;
    131}
    -
    static void test()
    Test implementations.
    Definition cycle_sort.cpp:92
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static void test()
    Test implementations.
    + @@ -293,49 +306,41 @@ Here is the call graph for this function:

    Test implementations.

    Returns
    void
    + +

    Definition at line 92 of file cycle_sort.cpp.

    92 {
    93 // Test 1
    94 // [4, 3, 2, 1] return [1, 2, 3, 4]
    -
    95 std::vector<uint32_t> array1 = {4, 3, 2, 1};
    -
    96 std::cout << "Test 1... ";
    - -
    98 assert(std::is_sorted(std::begin(arr1), std::end(arr1)));
    -
    99 std::cout << "passed" << std::endl;
    +
    95 std::vector<uint32_t> array1 = {4, 3, 2, 1};
    +
    96 std::cout << "Test 1... ";
    +
    97 std::vector<uint32_t> arr1 = sorting::cycle_sort::cycleSort(array1);
    +
    98 assert(std::is_sorted(std::begin(arr1), std::end(arr1)));
    +
    99 std::cout << "passed" << std::endl;
    100
    101 // [4.3, -6.5, -7.4, 0, 2.7, 1.8] return [-7.4, -6.5, 0, 1.8, 2.7, 4.3]
    -
    102 std::vector<double> array2 = {4.3, -6.5, -7.4, 0, 2.7, 1.8};
    -
    103 std::cout << "Test 2... ";
    - -
    105 assert(std::is_sorted(std::begin(arr2), std::end(arr2)));
    -
    106 std::cout << "passed" << std::endl;
    +
    102 std::vector<double> array2 = {4.3, -6.5, -7.4, 0, 2.7, 1.8};
    +
    103 std::cout << "Test 2... ";
    +
    104 std::vector<double> arr2 = sorting::cycle_sort::cycleSort(array2);
    +
    105 assert(std::is_sorted(std::begin(arr2), std::end(arr2)));
    +
    106 std::cout << "passed" << std::endl;
    107
    108 // Test 3
    109 // [3, 3, 3, 3] return [3, 3, 3, 3]
    -
    110 std::vector<uint32_t> array3 = {3, 3, 3, 3};
    -
    111 std::cout << "Test 3... ";
    - -
    113 assert(std::is_sorted(std::begin(arr3), std::end(arr3)));
    -
    114 std::cout << "passed" << std::endl;
    +
    110 std::vector<uint32_t> array3 = {3, 3, 3, 3};
    +
    111 std::cout << "Test 3... ";
    +
    112 std::vector<uint32_t> arr3 = sorting::cycle_sort::cycleSort(array3);
    +
    113 assert(std::is_sorted(std::begin(arr3), std::end(arr3)));
    +
    114 std::cout << "passed" << std::endl;
    115
    116 // [9, 4, 6, 8, 14, 3] return [9, 4, 6, 8, 14, 3]
    -
    117 std::vector<uint32_t> array4 = {3, 4, 6, 8, 9, 14};
    -
    118 std::cout << "Test 4... ";
    - -
    120 assert(std::is_sorted(std::begin(arr4), std::end(arr4)));
    -
    121 std::cout << "passed" << std::endl;
    +
    117 std::vector<uint32_t> array4 = {3, 4, 6, 8, 9, 14};
    +
    118 std::cout << "Test 4... ";
    +
    119 std::vector<uint32_t> arr4 = sorting::cycle_sort::cycleSort(array4);
    +
    120 assert(std::is_sorted(std::begin(arr4), std::end(arr4)));
    +
    121 std::cout << "passed" << std::endl;
    122}
    - -
    T begin(T... args)
    -
    std::vector< T > cycleSort(const std::vector< T > &in_arr)
    The main function implements cycleSort.
    Definition cycle_sort.cpp:38
    -
    T end(T... args)
    -
    T endl(T... args)
    -
    T is_sorted(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    std::vector< T > cycleSort(const std::vector< T > &in_arr)
    The main function implements cycleSort.
    + diff --git a/de/d07/cycle__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map b/de/d07/cycle__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map deleted file mode 100644 index 1def0d1d8..000000000 --- a/de/d07/cycle__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/de/d07/cycle__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 b/de/d07/cycle__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 deleted file mode 100644 index bc6090fc9..000000000 --- a/de/d07/cycle__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -814211add6fc98ca4e727497a379d817 \ No newline at end of file diff --git a/de/d07/cycle__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg b/de/d07/cycle__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg deleted file mode 100644 index 765c5f573..000000000 --- a/de/d07/cycle__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg +++ /dev/null @@ -1,119 +0,0 @@ - - - - - - - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -std::begin - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::end - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::endl - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::is_sorted - - - - - -Node1->Node5 - - - - - - - - - - - - - diff --git a/de/d07/cycle__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg b/de/d07/cycle__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg deleted file mode 100644 index 77c2ed5d7..000000000 --- a/de/d07/cycle__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg +++ /dev/null @@ -1,93 +0,0 @@ - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -std::begin - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::end - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::endl - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::is_sorted - - - - - -Node1->Node5 - - - - - - - - diff --git a/de/d07/cycle__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/de/d07/cycle__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 163f126f2..000000000 --- a/de/d07/cycle__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - diff --git a/de/d07/cycle__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/de/d07/cycle__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index be5cf0555..000000000 --- a/de/d07/cycle__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -f9e978965bcaacbe5cb0761844641eae \ No newline at end of file diff --git a/de/d07/cycle__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/de/d07/cycle__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 4a1f00f5f..000000000 --- a/de/d07/cycle__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,137 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::begin - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::end - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -std::endl - - - - - -Node2->Node5 - - - - - - - - -Node6 - - -std::is_sorted - - - - - -Node2->Node6 - - - - - - - - - - - - - diff --git a/de/d07/cycle__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/de/d07/cycle__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index dfa4763ec..000000000 --- a/de/d07/cycle__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,111 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::begin - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::end - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -std::endl - - - - - -Node2->Node5 - - - - - - - - -Node6 - - -std::is_sorted - - - - - -Node2->Node6 - - - - - - - - diff --git a/de/d07/cycle__sort_8cpp_ae79a9d247691fce0d655fce75f1c04fa_cgraph.map b/de/d07/cycle__sort_8cpp_ae79a9d247691fce0d655fce75f1c04fa_cgraph.map deleted file mode 100644 index d738e9dc7..000000000 --- a/de/d07/cycle__sort_8cpp_ae79a9d247691fce0d655fce75f1c04fa_cgraph.map +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/de/d07/cycle__sort_8cpp_ae79a9d247691fce0d655fce75f1c04fa_cgraph.md5 b/de/d07/cycle__sort_8cpp_ae79a9d247691fce0d655fce75f1c04fa_cgraph.md5 deleted file mode 100644 index f19ffedde..000000000 --- a/de/d07/cycle__sort_8cpp_ae79a9d247691fce0d655fce75f1c04fa_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -cab70dd1dbab4310e027b24f9963c763 \ No newline at end of file diff --git a/de/d07/cycle__sort_8cpp_ae79a9d247691fce0d655fce75f1c04fa_cgraph.svg b/de/d07/cycle__sort_8cpp_ae79a9d247691fce0d655fce75f1c04fa_cgraph.svg deleted file mode 100644 index 2adae982a..000000000 --- a/de/d07/cycle__sort_8cpp_ae79a9d247691fce0d655fce75f1c04fa_cgraph.svg +++ /dev/null @@ -1,93 +0,0 @@ - - - - - - - - - - - - -sorting::cycle_sort::cycleSort - - -Node1 - - -sorting::cycle_sort -::cycleSort - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::vector::size - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::swap - - - - - -Node1->Node3 - - - - - - - - - - - - - diff --git a/de/d07/cycle__sort_8cpp_ae79a9d247691fce0d655fce75f1c04fa_cgraph_org.svg b/de/d07/cycle__sort_8cpp_ae79a9d247691fce0d655fce75f1c04fa_cgraph_org.svg deleted file mode 100644 index d95b9d0cb..000000000 --- a/de/d07/cycle__sort_8cpp_ae79a9d247691fce0d655fce75f1c04fa_cgraph_org.svg +++ /dev/null @@ -1,67 +0,0 @@ - - - - - - -sorting::cycle_sort::cycleSort - - -Node1 - - -sorting::cycle_sort -::cycleSort - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::vector::size - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::swap - - - - - -Node1->Node3 - - - - - - - - diff --git a/de/d07/cycle__sort_8cpp_source.html b/de/d07/cycle__sort_8cpp_source.html new file mode 100644 index 000000000..4ef230b70 --- /dev/null +++ b/de/d07/cycle__sort_8cpp_source.html @@ -0,0 +1,244 @@ + + + + + + + + +TheAlgorithms/C++: sorting/cycle_sort.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    cycle_sort.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    14#include <algorithm>
    +
    15#include <cassert>
    +
    16#include <cstdint>
    +
    17#include <iostream>
    +
    18#include <vector>
    +
    19
    +
    24namespace sorting {
    +
    30namespace cycle_sort {
    +
    37template <typename T>
    +
    +
    38std::vector<T> cycleSort(const std::vector<T> &in_arr) {
    +
    39 std::vector<T> arr(in_arr);
    +
    40 for (int cycle_start = 0; cycle_start <= arr.size() - 1; cycle_start++) {
    +
    41 // initialize item
    +
    42 T item = arr[cycle_start];
    +
    43
    +
    44 // Count the number of elements smaller than item, this number is the
    +
    45 // correct index of item.
    +
    46 int pos = cycle_start;
    +
    47 for (int i = cycle_start + 1; i < arr.size(); i++) {
    +
    48 if (arr[i] < item) {
    +
    49 pos++;
    +
    50 }
    +
    51 }
    +
    52
    +
    53 // item is already in correct position
    +
    54 if (pos == cycle_start) {
    +
    55 continue;
    +
    56 }
    +
    57
    +
    58 // duplicate elements
    +
    59 while (item == arr[pos]) pos += 1;
    +
    60 if (pos == cycle_start) {
    +
    61 continue;
    +
    62 } else {
    +
    63 std::swap(item, arr[pos]);
    +
    64 }
    +
    65 // Rest of the elements
    +
    66 while (pos != cycle_start) {
    +
    67 pos = cycle_start;
    +
    68 // Find position where we put the element
    +
    69 for (size_t i = cycle_start + 1; i < arr.size(); i++) {
    +
    70 if (arr[i] < item) {
    +
    71 pos += 1;
    +
    72 }
    +
    73 }
    +
    74 // duplicate elements
    +
    75 while (item == arr[pos]) pos += 1;
    +
    76 if (item == arr[pos]) {
    +
    77 continue;
    +
    78 } else {
    +
    79 std::swap(item, arr[pos]);
    +
    80 }
    +
    81 }
    +
    82 }
    +
    83 return arr;
    +
    84}
    +
    +
    85} // namespace cycle_sort
    +
    86} // namespace sorting
    +
    87
    +
    +
    92static void test() {
    +
    93 // Test 1
    +
    94 // [4, 3, 2, 1] return [1, 2, 3, 4]
    +
    95 std::vector<uint32_t> array1 = {4, 3, 2, 1};
    +
    96 std::cout << "Test 1... ";
    +
    97 std::vector<uint32_t> arr1 = sorting::cycle_sort::cycleSort(array1);
    +
    98 assert(std::is_sorted(std::begin(arr1), std::end(arr1)));
    +
    99 std::cout << "passed" << std::endl;
    +
    100
    +
    101 // [4.3, -6.5, -7.4, 0, 2.7, 1.8] return [-7.4, -6.5, 0, 1.8, 2.7, 4.3]
    +
    102 std::vector<double> array2 = {4.3, -6.5, -7.4, 0, 2.7, 1.8};
    +
    103 std::cout << "Test 2... ";
    +
    104 std::vector<double> arr2 = sorting::cycle_sort::cycleSort(array2);
    +
    105 assert(std::is_sorted(std::begin(arr2), std::end(arr2)));
    +
    106 std::cout << "passed" << std::endl;
    +
    107
    +
    108 // Test 3
    +
    109 // [3, 3, 3, 3] return [3, 3, 3, 3]
    +
    110 std::vector<uint32_t> array3 = {3, 3, 3, 3};
    +
    111 std::cout << "Test 3... ";
    +
    112 std::vector<uint32_t> arr3 = sorting::cycle_sort::cycleSort(array3);
    +
    113 assert(std::is_sorted(std::begin(arr3), std::end(arr3)));
    +
    114 std::cout << "passed" << std::endl;
    +
    115
    +
    116 // [9, 4, 6, 8, 14, 3] return [9, 4, 6, 8, 14, 3]
    +
    117 std::vector<uint32_t> array4 = {3, 4, 6, 8, 9, 14};
    +
    118 std::cout << "Test 4... ";
    +
    119 std::vector<uint32_t> arr4 = sorting::cycle_sort::cycleSort(array4);
    +
    120 assert(std::is_sorted(std::begin(arr4), std::end(arr4)));
    +
    121 std::cout << "passed" << std::endl;
    +
    122}
    +
    +
    123
    +
    +
    128int main() {
    +
    129 test(); // execute the test
    +
    130 return 0;
    +
    131}
    +
    +
    static void test()
    Test implementations.
    +
    int main()
    Main function.
    +
    std::vector< T > cycleSort(const std::vector< T > &in_arr)
    The main function implements cycleSort.
    +
    Functions for Cycle sort algorithm.
    +
    for working with vectors
    +
    +
    + + + + diff --git a/de/d0a/namespacemerge__insertion.html b/de/d0a/namespacemerge__insertion.html index 32594b586..ac66b98d5 100644 --- a/de/d0a/namespacemerge__insertion.html +++ b/de/d0a/namespacemerge__insertion.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: merge_insertion Namespace Reference +TheAlgorithms/C++: merge_insertion Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/de/d0d/classrange__queries_1_1fenwick__tree.html b/de/d0d/classrange__queries_1_1fenwick__tree.html index a11879be3..472eb5dad 100644 --- a/de/d0d/classrange__queries_1_1fenwick__tree.html +++ b/de/d0d/classrange__queries_1_1fenwick__tree.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: range_queries::fenwick_tree Class Reference +TheAlgorithms/C++: range_queries::fenwick_tree Class Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + @@ -124,7 +141,7 @@ Collaboration diagram for range_queries::fenwick_tree: - + @@ -151,16 +168,17 @@ Private Member Functions
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++

    Public Member Functions

    template<typename T >
     fenwick_tree (const std::vector< T > &arr)
     fenwick_tree (const std::vector< T > &arr)
     Class Constructor.
     
    template<typename T >
    - - + + - +

    Private Attributes

    -size_t n = 0
     No. of elements present in input array.
    size_t n = 0
     No. of elements present in input array.
     
    std::vector< int > bit {}
    std::vector< int > bit {}
     Array that represents Binary Indexed Tree.
     

    Detailed Description

    The class that initializes the Fenwick Tree.

    + +

    Definition at line 32 of file fenwick_tree.cpp.

    Constructor & Destructor Documentation

    ◆ fenwick_tree() [1/2]

    @@ -176,7 +194,7 @@ template<typename T >
    range_queries::fenwick_tree::fenwick_tree ( - const std::vector< T > & arr) + const std::vector< T > & arr) @@ -201,23 +219,18 @@ template<typename T >
    Returns
    void
    -
    50 : n(arr.size()) {
    -
    51 bit.assign(n + 1, 0);
    + +

    Definition at line 50 of file fenwick_tree.cpp.

    +
    50 : n(arr.size()) {
    +
    51 bit.assign(n + 1, 0);
    52 for (int i = 0; i < n; ++i) {
    53 update(i, arr[i]);
    54 }
    55 }
    -
    T assign(T... args)
    -
    void update(T id, T val)
    Updates the value of an element in original array and accordingly updates the values in BIT array.
    Definition fenwick_tree.cpp:75
    -
    std::vector< int > bit
    Array that represents Binary Indexed Tree.
    Definition fenwick_tree.cpp:34
    -
    size_t n
    No. of elements present in input array.
    Definition fenwick_tree.cpp:33
    -
    T size(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    void update(T id, T val)
    Updates the value of an element in original array and accordingly updates the values in BIT array.
    +
    std::vector< int > bit
    Array that represents Binary Indexed Tree.
    +
    size_t n
    No. of elements present in input array.
    +
    @@ -259,13 +272,10 @@ template<typename T >
    Returns
    void
    -
    64: n(x) { bit.assign(n + 1, 0); }
    -
    -Here is the call graph for this function:
    -
    -
    -
    +

    Definition at line 64 of file fenwick_tree.cpp.

    +
    64: n(x) { bit.assign(n + 1, 0); }
    +

    Member Function Documentation

    @@ -300,6 +310,8 @@ Here is the call graph for this function:
    Returns
    Offset of index.
    + +

    Definition at line 41 of file fenwick_tree.cpp.

    41{ return (x & (-x)); }
    @@ -343,6 +355,8 @@ template<typename T >
    Returns
    Sum of elements in range from 0 to id.
    + +

    Definition at line 90 of file fenwick_tree.cpp.

    90 {
    91 id++;
    92 T res = 0;
    @@ -352,13 +366,8 @@ template<typename T >
    96 }
    97 return res;
    98 }
    -
    int offset(int x)
    Returns the highest power of two which is not more than x.
    Definition fenwick_tree.cpp:41
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    int offset(int x)
    Returns the highest power of two which is not more than x.
    + @@ -397,14 +406,11 @@ Here is the call graph for this function:
    Returns
    Sum of elements in range from L to R.
    -
    106{ return sum(r) - sum(l - 1); }
    -
    int sum(T id)
    Returns the sum of elements in range from 0 to ID.
    Definition fenwick_tree.cpp:90
    -
    -Here is the call graph for this function:
    -
    -
    -
    +

    Definition at line 106 of file fenwick_tree.cpp.

    +
    106{ return sum(r) - sum(l - 1); }
    +
    int sum(T id)
    Returns the sum of elements in range from 0 to ID.
    +
    @@ -451,6 +457,8 @@ template<typename T >
    Returns
    void
    + +

    Definition at line 75 of file fenwick_tree.cpp.

    75 {
    76 id++;
    77 while (id <= n) {
    @@ -458,12 +466,7 @@ template<typename T >
    79 id += offset(id);
    80 }
    81 }
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +

    Member Data Documentation

    @@ -477,7 +480,7 @@ Here is the call graph for this function: - +
    std::vector<int> range_queries::fenwick_tree::bit {}std::vector<int> range_queries::fenwick_tree::bit {}
    @@ -488,12 +491,40 @@ Here is the call graph for this function:

    Array that represents Binary Indexed Tree.

    -
    34{}; ///< Array that represents Binary Indexed Tree.
    + +

    Definition at line 34 of file fenwick_tree.cpp.

    +
    34{};
    +
    +
    + +

    ◆ n

    + +
    +
    + + + + + +
    + + + + +
    size_t range_queries::fenwick_tree::n = 0
    +
    +private
    +
    + +

    No. of elements present in input array.

    + +

    Definition at line 33 of file fenwick_tree.cpp.

    +

    The documentation for this class was generated from the following file: diff --git a/de/d0d/classrange__queries_1_1fenwick__tree_a0914a4b1401a7c427de91c92885724fe_cgraph.map b/de/d0d/classrange__queries_1_1fenwick__tree_a0914a4b1401a7c427de91c92885724fe_cgraph.map deleted file mode 100644 index 402c4b3ef..000000000 --- a/de/d0d/classrange__queries_1_1fenwick__tree_a0914a4b1401a7c427de91c92885724fe_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/de/d0d/classrange__queries_1_1fenwick__tree_a0914a4b1401a7c427de91c92885724fe_cgraph.md5 b/de/d0d/classrange__queries_1_1fenwick__tree_a0914a4b1401a7c427de91c92885724fe_cgraph.md5 deleted file mode 100644 index 0ed825de9..000000000 --- a/de/d0d/classrange__queries_1_1fenwick__tree_a0914a4b1401a7c427de91c92885724fe_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -0a4e921e0cb7860f4fe331f15c0fb383 \ No newline at end of file diff --git a/de/d0d/classrange__queries_1_1fenwick__tree_a0914a4b1401a7c427de91c92885724fe_cgraph.svg b/de/d0d/classrange__queries_1_1fenwick__tree_a0914a4b1401a7c427de91c92885724fe_cgraph.svg deleted file mode 100644 index d8776a688..000000000 --- a/de/d0d/classrange__queries_1_1fenwick__tree_a0914a4b1401a7c427de91c92885724fe_cgraph.svg +++ /dev/null @@ -1,86 +0,0 @@ - - - - - - - - - - - - -range_queries::fenwick_tree::sum_range - - -Node1 - - -range_queries::fenwick -_tree::sum_range - - - - - -Node2 - - -range_queries::fenwick -_tree::sum - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -range_queries::fenwick -_tree::offset - - - - - -Node2->Node3 - - - - - - - - - - - - - diff --git a/de/d0d/classrange__queries_1_1fenwick__tree_a0914a4b1401a7c427de91c92885724fe_cgraph_org.svg b/de/d0d/classrange__queries_1_1fenwick__tree_a0914a4b1401a7c427de91c92885724fe_cgraph_org.svg deleted file mode 100644 index ec66b76f6..000000000 --- a/de/d0d/classrange__queries_1_1fenwick__tree_a0914a4b1401a7c427de91c92885724fe_cgraph_org.svg +++ /dev/null @@ -1,60 +0,0 @@ - - - - - - -range_queries::fenwick_tree::sum_range - - -Node1 - - -range_queries::fenwick -_tree::sum_range - - - - - -Node2 - - -range_queries::fenwick -_tree::sum - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -range_queries::fenwick -_tree::offset - - - - - -Node2->Node3 - - - - - - - - diff --git a/de/d0d/classrange__queries_1_1fenwick__tree_a19dea5e88bbd7683a719030623315de9_cgraph.map b/de/d0d/classrange__queries_1_1fenwick__tree_a19dea5e88bbd7683a719030623315de9_cgraph.map deleted file mode 100644 index e0250216b..000000000 --- a/de/d0d/classrange__queries_1_1fenwick__tree_a19dea5e88bbd7683a719030623315de9_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/de/d0d/classrange__queries_1_1fenwick__tree_a19dea5e88bbd7683a719030623315de9_cgraph.md5 b/de/d0d/classrange__queries_1_1fenwick__tree_a19dea5e88bbd7683a719030623315de9_cgraph.md5 deleted file mode 100644 index a969ef51d..000000000 --- a/de/d0d/classrange__queries_1_1fenwick__tree_a19dea5e88bbd7683a719030623315de9_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -acdb7718408beae1e9044f86664b7c21 \ No newline at end of file diff --git a/de/d0d/classrange__queries_1_1fenwick__tree_a19dea5e88bbd7683a719030623315de9_cgraph.svg b/de/d0d/classrange__queries_1_1fenwick__tree_a19dea5e88bbd7683a719030623315de9_cgraph.svg deleted file mode 100644 index 28ce03e04..000000000 --- a/de/d0d/classrange__queries_1_1fenwick__tree_a19dea5e88bbd7683a719030623315de9_cgraph.svg +++ /dev/null @@ -1,67 +0,0 @@ - - - - - - - - - - - - -range_queries::fenwick_tree::update - - -Node1 - - -range_queries::fenwick -_tree::update - - - - - -Node2 - - -range_queries::fenwick -_tree::offset - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/de/d0d/classrange__queries_1_1fenwick__tree_a19dea5e88bbd7683a719030623315de9_cgraph_org.svg b/de/d0d/classrange__queries_1_1fenwick__tree_a19dea5e88bbd7683a719030623315de9_cgraph_org.svg deleted file mode 100644 index 4dc005194..000000000 --- a/de/d0d/classrange__queries_1_1fenwick__tree_a19dea5e88bbd7683a719030623315de9_cgraph_org.svg +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - -range_queries::fenwick_tree::update - - -Node1 - - -range_queries::fenwick -_tree::update - - - - - -Node2 - - -range_queries::fenwick -_tree::offset - - - - - -Node1->Node2 - - - - - - - - diff --git a/de/d0d/classrange__queries_1_1fenwick__tree_a1fa0559d987fde0044761b17b35f5abd_cgraph.map b/de/d0d/classrange__queries_1_1fenwick__tree_a1fa0559d987fde0044761b17b35f5abd_cgraph.map deleted file mode 100644 index 3dbc2c21b..000000000 --- a/de/d0d/classrange__queries_1_1fenwick__tree_a1fa0559d987fde0044761b17b35f5abd_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/de/d0d/classrange__queries_1_1fenwick__tree_a1fa0559d987fde0044761b17b35f5abd_cgraph.md5 b/de/d0d/classrange__queries_1_1fenwick__tree_a1fa0559d987fde0044761b17b35f5abd_cgraph.md5 deleted file mode 100644 index 4682c4b18..000000000 --- a/de/d0d/classrange__queries_1_1fenwick__tree_a1fa0559d987fde0044761b17b35f5abd_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -5b71e6f10aadc5d42d4ab6c8b86a5737 \ No newline at end of file diff --git a/de/d0d/classrange__queries_1_1fenwick__tree_a1fa0559d987fde0044761b17b35f5abd_cgraph.svg b/de/d0d/classrange__queries_1_1fenwick__tree_a1fa0559d987fde0044761b17b35f5abd_cgraph.svg deleted file mode 100644 index 0490c12cd..000000000 --- a/de/d0d/classrange__queries_1_1fenwick__tree_a1fa0559d987fde0044761b17b35f5abd_cgraph.svg +++ /dev/null @@ -1,67 +0,0 @@ - - - - - - - - - - - - -range_queries::fenwick_tree::sum - - -Node1 - - -range_queries::fenwick -_tree::sum - - - - - -Node2 - - -range_queries::fenwick -_tree::offset - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/de/d0d/classrange__queries_1_1fenwick__tree_a1fa0559d987fde0044761b17b35f5abd_cgraph_org.svg b/de/d0d/classrange__queries_1_1fenwick__tree_a1fa0559d987fde0044761b17b35f5abd_cgraph_org.svg deleted file mode 100644 index eb6110720..000000000 --- a/de/d0d/classrange__queries_1_1fenwick__tree_a1fa0559d987fde0044761b17b35f5abd_cgraph_org.svg +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - -range_queries::fenwick_tree::sum - - -Node1 - - -range_queries::fenwick -_tree::sum - - - - - -Node2 - - -range_queries::fenwick -_tree::offset - - - - - -Node1->Node2 - - - - - - - - diff --git a/de/d0d/classrange__queries_1_1fenwick__tree_a5ea37183524553bbf2234a36a44a4b9a_cgraph.map b/de/d0d/classrange__queries_1_1fenwick__tree_a5ea37183524553bbf2234a36a44a4b9a_cgraph.map deleted file mode 100644 index 5c9b09719..000000000 --- a/de/d0d/classrange__queries_1_1fenwick__tree_a5ea37183524553bbf2234a36a44a4b9a_cgraph.map +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/de/d0d/classrange__queries_1_1fenwick__tree_a5ea37183524553bbf2234a36a44a4b9a_cgraph.md5 b/de/d0d/classrange__queries_1_1fenwick__tree_a5ea37183524553bbf2234a36a44a4b9a_cgraph.md5 deleted file mode 100644 index 934d56928..000000000 --- a/de/d0d/classrange__queries_1_1fenwick__tree_a5ea37183524553bbf2234a36a44a4b9a_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -4b9dc88d4bac9f9a9b1736db49bc7ba5 \ No newline at end of file diff --git a/de/d0d/classrange__queries_1_1fenwick__tree_a5ea37183524553bbf2234a36a44a4b9a_cgraph.svg b/de/d0d/classrange__queries_1_1fenwick__tree_a5ea37183524553bbf2234a36a44a4b9a_cgraph.svg deleted file mode 100644 index 9a8a5e820..000000000 --- a/de/d0d/classrange__queries_1_1fenwick__tree_a5ea37183524553bbf2234a36a44a4b9a_cgraph.svg +++ /dev/null @@ -1,104 +0,0 @@ - - - - - - - - - - - - -range_queries::fenwick_tree::fenwick_tree - - -Node1 - - -range_queries::fenwick -_tree::fenwick_tree - - - - - -Node2 - - -std::vector::assign - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -range_queries::fenwick -_tree::update - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -range_queries::fenwick -_tree::offset - - - - - -Node3->Node4 - - - - - - - - - - - - - diff --git a/de/d0d/classrange__queries_1_1fenwick__tree_a5ea37183524553bbf2234a36a44a4b9a_cgraph_org.svg b/de/d0d/classrange__queries_1_1fenwick__tree_a5ea37183524553bbf2234a36a44a4b9a_cgraph_org.svg deleted file mode 100644 index 96bc2d013..000000000 --- a/de/d0d/classrange__queries_1_1fenwick__tree_a5ea37183524553bbf2234a36a44a4b9a_cgraph_org.svg +++ /dev/null @@ -1,78 +0,0 @@ - - - - - - -range_queries::fenwick_tree::fenwick_tree - - -Node1 - - -range_queries::fenwick -_tree::fenwick_tree - - - - - -Node2 - - -std::vector::assign - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -range_queries::fenwick -_tree::update - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -range_queries::fenwick -_tree::offset - - - - - -Node3->Node4 - - - - - - - - diff --git a/de/d0d/classrange__queries_1_1fenwick__tree_aef7ba885b91af093e9e514358fa0f36c_cgraph.map b/de/d0d/classrange__queries_1_1fenwick__tree_aef7ba885b91af093e9e514358fa0f36c_cgraph.map deleted file mode 100644 index cd7ac9df3..000000000 --- a/de/d0d/classrange__queries_1_1fenwick__tree_aef7ba885b91af093e9e514358fa0f36c_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/de/d0d/classrange__queries_1_1fenwick__tree_aef7ba885b91af093e9e514358fa0f36c_cgraph.md5 b/de/d0d/classrange__queries_1_1fenwick__tree_aef7ba885b91af093e9e514358fa0f36c_cgraph.md5 deleted file mode 100644 index b215e60a7..000000000 --- a/de/d0d/classrange__queries_1_1fenwick__tree_aef7ba885b91af093e9e514358fa0f36c_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -369b0a3dade4ebd8e74be2fc02e581f3 \ No newline at end of file diff --git a/de/d0d/classrange__queries_1_1fenwick__tree_aef7ba885b91af093e9e514358fa0f36c_cgraph.svg b/de/d0d/classrange__queries_1_1fenwick__tree_aef7ba885b91af093e9e514358fa0f36c_cgraph.svg deleted file mode 100644 index f201db6a8..000000000 --- a/de/d0d/classrange__queries_1_1fenwick__tree_aef7ba885b91af093e9e514358fa0f36c_cgraph.svg +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - - - - - - - -range_queries::fenwick_tree::fenwick_tree - - -Node1 - - -range_queries::fenwick -_tree::fenwick_tree - - - - - -Node2 - - -std::vector::assign - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/de/d0d/classrange__queries_1_1fenwick__tree_aef7ba885b91af093e9e514358fa0f36c_cgraph_org.svg b/de/d0d/classrange__queries_1_1fenwick__tree_aef7ba885b91af093e9e514358fa0f36c_cgraph_org.svg deleted file mode 100644 index 13ad6db9c..000000000 --- a/de/d0d/classrange__queries_1_1fenwick__tree_aef7ba885b91af093e9e514358fa0f36c_cgraph_org.svg +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - -range_queries::fenwick_tree::fenwick_tree - - -Node1 - - -range_queries::fenwick -_tree::fenwick_tree - - - - - -Node2 - - -std::vector::assign - - - - - -Node1->Node2 - - - - - - - - diff --git a/de/d0d/fibonacci__search_8cpp.html b/de/d0d/fibonacci__search_8cpp.html index 0dccc1401..8e71e1b91 100644 --- a/de/d0d/fibonacci__search_8cpp.html +++ b/de/d0d/fibonacci__search_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: search/fibonacci_search.cpp File Reference +TheAlgorithms/C++: search/fibonacci_search.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -122,10 +139,12 @@ Include dependency graph for fibonacci_search.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    - + @@ -140,6 +159,8 @@ Functions

    Detailed Description

    Fibonacci search algorithm

    Author
    sprintyaf
    + +

    Definition in file fibonacci_search.cpp.

    Function Documentation

    ◆ fibonacci_search()

    @@ -150,7 +171,7 @@ Functions - + @@ -169,18 +190,20 @@ Functions
    Returns
    if the array contains the value, returns an index of the element. otherwise -1.
    + +

    Definition at line 23 of file fibonacci_search.cpp.

    23 {
    24 // initialize last and current members of Fibonacci sequence
    25 int last = 0, current = 1;
    -
    26 int length = arr.size(); // array size
    +
    26 int length = arr.size(); // array size
    27 // next member of Fibonacci sequence which is "last" + "current"
    -
    28 int next = last + current;
    +
    28 int next = last + current;
    29
    30 // "next" will store the smallest Fibonacci number greater or equal to "length"
    31 while(next < length){
    32 last = current;
    -
    33 current = next;
    -
    34 next = last + current;
    +
    33 current = next;
    +
    34 next = last + current;
    35 }
    36
    37 // "offset" is the end of eliminated range from front
    @@ -190,40 +213,31 @@ Functions
    41 // because arr[offset] will already be eliminated
    42 while(next > 1){
    43 // check if "last" is valid location
    -
    44 index = std::min(offset + last, length-1);
    +
    44 index = std::min(offset + last, length-1);
    45 // if value is greater than the value at "index", eliminate the subarray from offset to index
    46 if(arr[index] < value){
    -
    47 next = current;
    +
    47 next = current;
    48 current = last;
    -
    49 last = next - current;
    +
    49 last = next - current;
    50 offset = index;
    51 // if value is less than the value at "index", eliminate the subarray after index+1
    52 } else if(arr[index] > value){
    -
    53 next = last;
    +
    53 next = last;
    54 current = current - last;
    -
    55 last = next - current;
    +
    55 last = next - current;
    56 // element is found
    57 } else {
    58 return index;
    59 }
    60 }
    61 // comparing the last element
    -
    62 if(current && !arr.empty() && arr[offset+1] == value){
    +
    62 if(current && !arr.empty() && arr[offset+1] == value){
    63 return offset+1;
    64 }
    65 // value was not found, return -1
    66 return -1;
    67}
    -
    T empty(T... args)
    -
    T min(T... args)
    -
    T next(T... args)
    -
    T size(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -241,19 +255,16 @@ Here is the call graph for this function:

    Functions

    int fibonacci_search (const std::vector< int > &arr, int value)
    int fibonacci_search (const std::vector< int > &arr, int value)
     using fibonacci search algorithm finds an index of a given element in a sorted array
     
    bool no_occurence_tests ()
    int fibonacci_search (const std::vector< int > & arr, const std::vector< int > & arr,

    Main Function testing the algorithm

    + +

    Definition at line 123 of file fibonacci_search.cpp.

    123 {
    124 assert(no_occurence_tests());
    125 assert(random_tests());
    126 return 0;
    127}
    -
    bool random_tests()
    random tests which cover cases when we have one, multiple or zero occurences of the value we're looki...
    Definition fibonacci_search.cpp:96
    -
    bool no_occurence_tests()
    random tests for checking performance when an array doesn't contain an element
    Definition fibonacci_search.cpp:72
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    bool random_tests()
    random tests which cover cases when we have one, multiple or zero occurences of the value we're looki...
    +
    bool no_occurence_tests()
    random tests for checking performance when an array doesn't contain an element
    +
    @@ -272,42 +283,30 @@ Here is the call graph for this function:

    random tests for checking performance when an array doesn't contain an element

    + +

    Definition at line 72 of file fibonacci_search.cpp.

    72 {
    73 bool passed = true;
    74 int rand_num, rand_value, index, num_tests = 1000;
    - +
    75 std::vector<int> arr;
    76 while(num_tests--){
    -
    77 arr.clear();
    +
    77 arr.clear();
    78 for(int i = 0; i < 100; i++){
    -
    79 rand_num = std::rand() % 1000;
    -
    80 arr.push_back(rand_num);
    +
    79 rand_num = std::rand() % 1000;
    +
    80 arr.push_back(rand_num);
    81 }
    -
    82 rand_value = std::rand() % 1000;
    -
    83 while(std::find(arr.begin(), arr.end(), rand_value) != arr.end()){
    -
    84 std::remove(arr.begin(), arr.end(), rand_value);
    +
    82 rand_value = std::rand() % 1000;
    +
    83 while(std::find(arr.begin(), arr.end(), rand_value) != arr.end()){
    +
    84 std::remove(arr.begin(), arr.end(), rand_value);
    85 }
    -
    86 sort(arr.begin(), arr.end());
    +
    86 sort(arr.begin(), arr.end());
    87 index = fibonacci_search(arr, rand_value);
    88 passed = passed && (index == -1);
    89 }
    90 return passed;
    91}
    -
    T begin(T... args)
    -
    T clear(T... args)
    -
    T end(T... args)
    -
    int fibonacci_search(const std::vector< int > &arr, int value)
    using fibonacci search algorithm finds an index of a given element in a sorted array
    Definition fibonacci_search.cpp:23
    -
    T find(T... args)
    -
    T push_back(T... args)
    -
    T rand(T... args)
    -
    T remove(T... args)
    -
    T sort(T... args)
    - -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    int fibonacci_search(const std::vector< int > &arr, int value)
    using fibonacci search algorithm finds an index of a given element in a sorted array
    +
    @@ -326,34 +325,31 @@ Here is the call graph for this function:

    random tests which cover cases when we have one, multiple or zero occurences of the value we're looking for

    + +

    Definition at line 96 of file fibonacci_search.cpp.

    96 {
    97 bool passed = true;
    98 int rand_num, rand_value, index, real_value, num_tests = 10000;
    - +
    99 std::vector<int> arr;
    100 while(num_tests--){
    -
    101 arr.clear();
    +
    101 arr.clear();
    102 for(int i = 0; i < 100; i++){
    -
    103 rand_num = std::rand() % 1000;
    -
    104 arr.push_back(rand_num);
    +
    103 rand_num = std::rand() % 1000;
    +
    104 arr.push_back(rand_num);
    105 }
    -
    106 rand_value = std::rand() % 1000;
    -
    107 std::sort(arr.begin(), arr.end());
    +
    106 rand_value = std::rand() % 1000;
    +
    107 std::sort(arr.begin(), arr.end());
    108 index = fibonacci_search(arr, rand_value);
    109 if(index != -1){
    110 real_value = arr[index];
    111 passed = passed && (real_value == rand_value);
    112 } else {
    -
    113 passed = passed && (std::find(arr.begin(), arr.end(), rand_value) == arr.end());
    +
    113 passed = passed && (std::find(arr.begin(), arr.end(), rand_value) == arr.end());
    114 }
    115 }
    116 return passed;
    117}
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    diff --git a/de/d0d/fibonacci__search_8cpp_a0bc61b3903d9a53061bf31e5d110fe61_cgraph.map b/de/d0d/fibonacci__search_8cpp_a0bc61b3903d9a53061bf31e5d110fe61_cgraph.map deleted file mode 100644 index ba2eaa864..000000000 --- a/de/d0d/fibonacci__search_8cpp_a0bc61b3903d9a53061bf31e5d110fe61_cgraph.map +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/de/d0d/fibonacci__search_8cpp_a0bc61b3903d9a53061bf31e5d110fe61_cgraph.md5 b/de/d0d/fibonacci__search_8cpp_a0bc61b3903d9a53061bf31e5d110fe61_cgraph.md5 deleted file mode 100644 index dba9037b2..000000000 --- a/de/d0d/fibonacci__search_8cpp_a0bc61b3903d9a53061bf31e5d110fe61_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -3b80208aa6eb1036bc95ad25867fbf1f \ No newline at end of file diff --git a/de/d0d/fibonacci__search_8cpp_a0bc61b3903d9a53061bf31e5d110fe61_cgraph.svg b/de/d0d/fibonacci__search_8cpp_a0bc61b3903d9a53061bf31e5d110fe61_cgraph.svg deleted file mode 100644 index dc317bc4b..000000000 --- a/de/d0d/fibonacci__search_8cpp_a0bc61b3903d9a53061bf31e5d110fe61_cgraph.svg +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - - - - - - - -fibonacci_search - - -Node1 - - -fibonacci_search - - - - - -Node2 - - -std::vector::empty - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::min - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::vector::size - - - - - -Node1->Node4 - - - - - - - - - - - - - diff --git a/de/d0d/fibonacci__search_8cpp_a0bc61b3903d9a53061bf31e5d110fe61_cgraph_org.svg b/de/d0d/fibonacci__search_8cpp_a0bc61b3903d9a53061bf31e5d110fe61_cgraph_org.svg deleted file mode 100644 index 05732b6eb..000000000 --- a/de/d0d/fibonacci__search_8cpp_a0bc61b3903d9a53061bf31e5d110fe61_cgraph_org.svg +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - -fibonacci_search - - -Node1 - - -fibonacci_search - - - - - -Node2 - - -std::vector::empty - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::min - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::vector::size - - - - - -Node1->Node4 - - - - - - - - diff --git a/de/d0d/fibonacci__search_8cpp_a2aa09bef74ee063c1331de0883af4f4f_cgraph.map b/de/d0d/fibonacci__search_8cpp_a2aa09bef74ee063c1331de0883af4f4f_cgraph.map deleted file mode 100644 index 22c5051da..000000000 --- a/de/d0d/fibonacci__search_8cpp_a2aa09bef74ee063c1331de0883af4f4f_cgraph.map +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/de/d0d/fibonacci__search_8cpp_a2aa09bef74ee063c1331de0883af4f4f_cgraph.md5 b/de/d0d/fibonacci__search_8cpp_a2aa09bef74ee063c1331de0883af4f4f_cgraph.md5 deleted file mode 100644 index 08c27e19d..000000000 --- a/de/d0d/fibonacci__search_8cpp_a2aa09bef74ee063c1331de0883af4f4f_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -bb73f3b1883c8d8e82510ccabeec4c33 \ No newline at end of file diff --git a/de/d0d/fibonacci__search_8cpp_a2aa09bef74ee063c1331de0883af4f4f_cgraph.svg b/de/d0d/fibonacci__search_8cpp_a2aa09bef74ee063c1331de0883af4f4f_cgraph.svg deleted file mode 100644 index 861f43cdf..000000000 --- a/de/d0d/fibonacci__search_8cpp_a2aa09bef74ee063c1331de0883af4f4f_cgraph.svg +++ /dev/null @@ -1,245 +0,0 @@ - - - - - - - - - - - - -random_tests - - -Node1 - - -random_tests - - - - - -Node2 - - -std::vector::begin - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::vector::clear - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::vector::end - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -fibonacci_search - - - - - -Node1->Node5 - - - - - - - - -Node9 - - -std::find - - - - - -Node1->Node9 - - - - - - - - -Node10 - - -std::vector::push_back - - - - - -Node1->Node10 - - - - - - - - -Node11 - - -std::rand - - - - - -Node1->Node11 - - - - - - - - -Node12 - - -std::sort - - - - - -Node1->Node12 - - - - - - - - -Node6 - - -std::vector::empty - - - - - -Node5->Node6 - - - - - - - - -Node7 - - -std::min - - - - - -Node5->Node7 - - - - - - - - -Node8 - - -std::vector::size - - - - - -Node5->Node8 - - - - - - - - - - - - - diff --git a/de/d0d/fibonacci__search_8cpp_a2aa09bef74ee063c1331de0883af4f4f_cgraph_org.svg b/de/d0d/fibonacci__search_8cpp_a2aa09bef74ee063c1331de0883af4f4f_cgraph_org.svg deleted file mode 100644 index 20a1837ae..000000000 --- a/de/d0d/fibonacci__search_8cpp_a2aa09bef74ee063c1331de0883af4f4f_cgraph_org.svg +++ /dev/null @@ -1,219 +0,0 @@ - - - - - - -random_tests - - -Node1 - - -random_tests - - - - - -Node2 - - -std::vector::begin - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::vector::clear - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::vector::end - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -fibonacci_search - - - - - -Node1->Node5 - - - - - - - - -Node9 - - -std::find - - - - - -Node1->Node9 - - - - - - - - -Node10 - - -std::vector::push_back - - - - - -Node1->Node10 - - - - - - - - -Node11 - - -std::rand - - - - - -Node1->Node11 - - - - - - - - -Node12 - - -std::sort - - - - - -Node1->Node12 - - - - - - - - -Node6 - - -std::vector::empty - - - - - -Node5->Node6 - - - - - - - - -Node7 - - -std::min - - - - - -Node5->Node7 - - - - - - - - -Node8 - - -std::vector::size - - - - - -Node5->Node8 - - - - - - - - diff --git a/de/d0d/fibonacci__search_8cpp_a5e144326104e57a3808aed7eb098db0d_cgraph.map b/de/d0d/fibonacci__search_8cpp_a5e144326104e57a3808aed7eb098db0d_cgraph.map deleted file mode 100644 index 40454936d..000000000 --- a/de/d0d/fibonacci__search_8cpp_a5e144326104e57a3808aed7eb098db0d_cgraph.map +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/de/d0d/fibonacci__search_8cpp_a5e144326104e57a3808aed7eb098db0d_cgraph.md5 b/de/d0d/fibonacci__search_8cpp_a5e144326104e57a3808aed7eb098db0d_cgraph.md5 deleted file mode 100644 index 6b46d6c27..000000000 --- a/de/d0d/fibonacci__search_8cpp_a5e144326104e57a3808aed7eb098db0d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -8973820e20145876825ad453c2baf8af \ No newline at end of file diff --git a/de/d0d/fibonacci__search_8cpp_a5e144326104e57a3808aed7eb098db0d_cgraph.svg b/de/d0d/fibonacci__search_8cpp_a5e144326104e57a3808aed7eb098db0d_cgraph.svg deleted file mode 100644 index 99edcf22f..000000000 --- a/de/d0d/fibonacci__search_8cpp_a5e144326104e57a3808aed7eb098db0d_cgraph.svg +++ /dev/null @@ -1,245 +0,0 @@ - - - - - - - - - - - - -no_occurence_tests - - -Node1 - - -no_occurence_tests - - - - - -Node2 - - -std::vector::begin - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::vector::clear - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::vector::end - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -fibonacci_search - - - - - -Node1->Node5 - - - - - - - - -Node9 - - -std::find - - - - - -Node1->Node9 - - - - - - - - -Node10 - - -std::vector::push_back - - - - - -Node1->Node10 - - - - - - - - -Node11 - - -std::rand - - - - - -Node1->Node11 - - - - - - - - -Node12 - - -std::remove - - - - - -Node1->Node12 - - - - - - - - -Node6 - - -std::vector::empty - - - - - -Node5->Node6 - - - - - - - - -Node7 - - -std::min - - - - - -Node5->Node7 - - - - - - - - -Node8 - - -std::vector::size - - - - - -Node5->Node8 - - - - - - - - - - - - - diff --git a/de/d0d/fibonacci__search_8cpp_a5e144326104e57a3808aed7eb098db0d_cgraph_org.svg b/de/d0d/fibonacci__search_8cpp_a5e144326104e57a3808aed7eb098db0d_cgraph_org.svg deleted file mode 100644 index 5eceadeb9..000000000 --- a/de/d0d/fibonacci__search_8cpp_a5e144326104e57a3808aed7eb098db0d_cgraph_org.svg +++ /dev/null @@ -1,219 +0,0 @@ - - - - - - -no_occurence_tests - - -Node1 - - -no_occurence_tests - - - - - -Node2 - - -std::vector::begin - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::vector::clear - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::vector::end - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -fibonacci_search - - - - - -Node1->Node5 - - - - - - - - -Node9 - - -std::find - - - - - -Node1->Node9 - - - - - - - - -Node10 - - -std::vector::push_back - - - - - -Node1->Node10 - - - - - - - - -Node11 - - -std::rand - - - - - -Node1->Node11 - - - - - - - - -Node12 - - -std::remove - - - - - -Node1->Node12 - - - - - - - - -Node6 - - -std::vector::empty - - - - - -Node5->Node6 - - - - - - - - -Node7 - - -std::min - - - - - -Node5->Node7 - - - - - - - - -Node8 - - -std::vector::size - - - - - -Node5->Node8 - - - - - - - - diff --git a/de/d0d/fibonacci__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/de/d0d/fibonacci__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index f00491c77..000000000 --- a/de/d0d/fibonacci__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/de/d0d/fibonacci__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/de/d0d/fibonacci__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index 8d4a1dfad..000000000 --- a/de/d0d/fibonacci__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -6fb7d86724d008dde5ce24213d4293de \ No newline at end of file diff --git a/de/d0d/fibonacci__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/de/d0d/fibonacci__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 1b80bd99c..000000000 --- a/de/d0d/fibonacci__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,362 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -no_occurence_tests - - - - - -Node1->Node2 - - - - - - - - -Node14 - - -random_tests - - - - - -Node1->Node14 - - - - - - - - -Node3 - - -std::vector::begin - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::vector::clear - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -std::vector::end - - - - - -Node2->Node5 - - - - - - - - -Node6 - - -fibonacci_search - - - - - -Node2->Node6 - - - - - - - - -Node10 - - -std::find - - - - - -Node2->Node10 - - - - - - - - -Node11 - - -std::vector::push_back - - - - - -Node2->Node11 - - - - - - - - -Node12 - - -std::rand - - - - - -Node2->Node12 - - - - - - - - -Node13 - - -std::remove - - - - - -Node2->Node13 - - - - - - - - -Node7 - - -std::vector::empty - - - - - -Node6->Node7 - - - - - - - - -Node8 - - -std::min - - - - - -Node6->Node8 - - - - - - - - -Node9 - - -std::vector::size - - - - - -Node6->Node9 - - - - - - - - -Node14->Node3 - - - - - - - - -Node14->Node4 - - - - - - - - -Node14->Node5 - - - - - - - - -Node14->Node6 - - - - - - - - -Node14->Node10 - - - - - - - - -Node14->Node11 - - - - - - - - -Node14->Node12 - - - - - - - - -Node15 - - -std::sort - - - - - -Node14->Node15 - - - - - - - - - - - - - diff --git a/de/d0d/fibonacci__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/de/d0d/fibonacci__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 3da26d32e..000000000 --- a/de/d0d/fibonacci__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,336 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -no_occurence_tests - - - - - -Node1->Node2 - - - - - - - - -Node14 - - -random_tests - - - - - -Node1->Node14 - - - - - - - - -Node3 - - -std::vector::begin - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::vector::clear - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -std::vector::end - - - - - -Node2->Node5 - - - - - - - - -Node6 - - -fibonacci_search - - - - - -Node2->Node6 - - - - - - - - -Node10 - - -std::find - - - - - -Node2->Node10 - - - - - - - - -Node11 - - -std::vector::push_back - - - - - -Node2->Node11 - - - - - - - - -Node12 - - -std::rand - - - - - -Node2->Node12 - - - - - - - - -Node13 - - -std::remove - - - - - -Node2->Node13 - - - - - - - - -Node7 - - -std::vector::empty - - - - - -Node6->Node7 - - - - - - - - -Node8 - - -std::min - - - - - -Node6->Node8 - - - - - - - - -Node9 - - -std::vector::size - - - - - -Node6->Node9 - - - - - - - - -Node14->Node3 - - - - - - - - -Node14->Node4 - - - - - - - - -Node14->Node5 - - - - - - - - -Node14->Node6 - - - - - - - - -Node14->Node10 - - - - - - - - -Node14->Node11 - - - - - - - - -Node14->Node12 - - - - - - - - -Node15 - - -std::sort - - - - - -Node14->Node15 - - - - - - - - diff --git a/de/d0d/fibonacci__search_8cpp_source.html b/de/d0d/fibonacci__search_8cpp_source.html new file mode 100644 index 000000000..c6ca44c68 --- /dev/null +++ b/de/d0d/fibonacci__search_8cpp_source.html @@ -0,0 +1,253 @@ + + + + + + + + +TheAlgorithms/C++: search/fibonacci_search.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    fibonacci_search.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    8#include <iostream>
    +
    9#include <vector> // for std::vector class
    +
    10#include <cassert> // for assert
    +
    11#include <cstdlib> // for random numbers
    +
    12#include <algorithm> // for sorting
    +
    13
    +
    14
    +
    15
    +
    +
    23int fibonacci_search(const std::vector<int> &arr, int value){
    +
    24 // initialize last and current members of Fibonacci sequence
    +
    25 int last = 0, current = 1;
    +
    26 int length = arr.size(); // array size
    +
    27 // next member of Fibonacci sequence which is "last" + "current"
    +
    28 int next = last + current;
    +
    29
    +
    30 // "next" will store the smallest Fibonacci number greater or equal to "length"
    +
    31 while(next < length){
    +
    32 last = current;
    +
    33 current = next;
    +
    34 next = last + current;
    +
    35 }
    +
    36
    +
    37 // "offset" is the end of eliminated range from front
    +
    38 int offset = -1, index;
    +
    39 // while loop until there are elements left to consider.
    +
    40 // when "next" becomes 1, last is equal to 0, so search is done,
    +
    41 // because arr[offset] will already be eliminated
    +
    42 while(next > 1){
    +
    43 // check if "last" is valid location
    +
    44 index = std::min(offset + last, length-1);
    +
    45 // if value is greater than the value at "index", eliminate the subarray from offset to index
    +
    46 if(arr[index] < value){
    +
    47 next = current;
    +
    48 current = last;
    +
    49 last = next - current;
    +
    50 offset = index;
    +
    51 // if value is less than the value at "index", eliminate the subarray after index+1
    +
    52 } else if(arr[index] > value){
    +
    53 next = last;
    +
    54 current = current - last;
    +
    55 last = next - current;
    +
    56 // element is found
    +
    57 } else {
    +
    58 return index;
    +
    59 }
    +
    60 }
    +
    61 // comparing the last element
    +
    62 if(current && !arr.empty() && arr[offset+1] == value){
    +
    63 return offset+1;
    +
    64 }
    +
    65 // value was not found, return -1
    +
    66 return -1;
    +
    67}
    +
    +
    68
    +
    + +
    73 bool passed = true;
    +
    74 int rand_num, rand_value, index, num_tests = 1000;
    +
    75 std::vector<int> arr;
    +
    76 while(num_tests--){
    +
    77 arr.clear();
    +
    78 for(int i = 0; i < 100; i++){
    +
    79 rand_num = std::rand() % 1000;
    +
    80 arr.push_back(rand_num);
    +
    81 }
    +
    82 rand_value = std::rand() % 1000;
    +
    83 while(std::find(arr.begin(), arr.end(), rand_value) != arr.end()){
    +
    84 std::remove(arr.begin(), arr.end(), rand_value);
    +
    85 }
    +
    86 sort(arr.begin(), arr.end());
    +
    87 index = fibonacci_search(arr, rand_value);
    +
    88 passed = passed && (index == -1);
    +
    89 }
    +
    90 return passed;
    +
    91}
    +
    +
    92
    +
    + +
    97 bool passed = true;
    +
    98 int rand_num, rand_value, index, real_value, num_tests = 10000;
    +
    99 std::vector<int> arr;
    +
    100 while(num_tests--){
    +
    101 arr.clear();
    +
    102 for(int i = 0; i < 100; i++){
    +
    103 rand_num = std::rand() % 1000;
    +
    104 arr.push_back(rand_num);
    +
    105 }
    +
    106 rand_value = std::rand() % 1000;
    +
    107 std::sort(arr.begin(), arr.end());
    +
    108 index = fibonacci_search(arr, rand_value);
    +
    109 if(index != -1){
    +
    110 real_value = arr[index];
    +
    111 passed = passed && (real_value == rand_value);
    +
    112 } else {
    +
    113 passed = passed && (std::find(arr.begin(), arr.end(), rand_value) == arr.end());
    +
    114 }
    +
    115 }
    +
    116 return passed;
    +
    117}
    +
    +
    118
    +
    +
    123int main() {
    +
    124 assert(no_occurence_tests());
    +
    125 assert(random_tests());
    +
    126 return 0;
    +
    127}
    +
    +
    int fibonacci_search(const std::vector< int > &arr, int value)
    using fibonacci search algorithm finds an index of a given element in a sorted array
    +
    bool random_tests()
    random tests which cover cases when we have one, multiple or zero occurences of the value we're looki...
    +
    bool no_occurence_tests()
    random tests for checking performance when an array doesn't contain an element
    +
    int main()
    +
    +
    + + + + diff --git a/de/d1e/armstrong__number_8cpp_source.html b/de/d1e/armstrong__number_8cpp_source.html new file mode 100644 index 000000000..e9477baf8 --- /dev/null +++ b/de/d1e/armstrong__number_8cpp_source.html @@ -0,0 +1,196 @@ + + + + + + + + +TheAlgorithms/C++: math/armstrong_number.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    armstrong_number.cpp
    +
    +
    +
    1
    +
    19#include <cassert>
    +
    20#include <cmath>
    +
    21#include <iostream>
    +
    22
    +
    28int number_of_digits(int num) {
    +
    29 int total_digits = 0;
    +
    30 while (num > 0) {
    +
    31 num = num / 10;
    +
    32 ++total_digits;
    +
    33 }
    +
    34 return total_digits;
    +
    35}
    +
    36
    +
    43bool is_armstrong(int number) {
    +
    44 // If the number is less than 0, then it is not an armstrong number.
    +
    45 if (number < 0) {
    +
    46 return false;
    +
    47 }
    +
    48
    +
    49 int sum = 0;
    +
    50 int temp = number;
    +
    51 // Finding the total number of digits in the number
    +
    52 int total_digits = number_of_digits(number);
    +
    53 while (temp > 0) {
    +
    54 int rem = temp % 10;
    +
    55 // Finding each digit raised to the power total digit and add it to the
    +
    56 // total sum
    +
    57 sum += static_cast<int>(std::pow(rem, total_digits));
    +
    58 temp = temp / 10;
    +
    59 }
    +
    60 return number == sum;
    +
    61}
    +
    62
    +
    67static void test() {
    +
    68 // is_armstrong(370) returns true.
    +
    69 assert(is_armstrong(370) == true);
    +
    70 // is_armstrong(225) returns false.
    +
    71 assert(is_armstrong(225) == false);
    +
    72 // is_armstrong(-23) returns false.
    +
    73 assert(is_armstrong(-23) == false);
    +
    74 // is_armstrong(153) returns true.
    +
    75 assert(is_armstrong(153) == true);
    +
    76 // is_armstrong(0) returns true.
    +
    77 assert(is_armstrong(0) == true);
    +
    78 // is_armstrong(12) returns false.
    +
    79 assert(is_armstrong(12) == false);
    +
    80
    +
    81 std::cout << "All tests have successfully passed!\n";
    +
    82}
    +
    83
    +
    88int main() {
    +
    89 test(); // run self-test implementations
    +
    90 return 0;
    +
    91}
    +
    static void test()
    Self-test implementations.
    +
    int main()
    Main function.
    +
    bool is_armstrong(const T &number)
    Checks if the given number is armstrong or not.
    +
    T sum(const std::vector< std::valarray< T > > &A)
    +
    +
    + + + + diff --git a/de/d1e/classmath_1_1ncr__modulo__p_1_1_n_c_r_modulo_p-members.html b/de/d1e/classmath_1_1ncr__modulo__p_1_1_n_c_r_modulo_p-members.html index a26288082..e34b007c5 100644 --- a/de/d1e/classmath_1_1ncr__modulo__p_1_1_n_c_r_modulo_p-members.html +++ b/de/d1e/classmath_1_1ncr__modulo__p_1_1_n_c_r_modulo_p-members.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Member List +TheAlgorithms/C++: Member List + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/de/d21/classothers_1_1_cache_1_1_d___node.html b/de/d21/classothers_1_1_cache_1_1_d___node.html index e109de17f..1ef7a4b36 100644 --- a/de/d21/classothers_1_1_cache_1_1_d___node.html +++ b/de/d21/classothers_1_1_cache_1_1_d___node.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: others::Cache::D_Node< T > Class Template Reference +TheAlgorithms/C++: others::Cache::D_Node< T > Class Template Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + @@ -129,17 +146,14 @@ Public Member Functions
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    - - + + - - + + - - + +

    Public Attributes

    -T data
     data of the node
    data
     data of the node
     
    -D_Node< T > * prev
     previous node in the doubly linked list
    D_Node< T > * prev
     previous node in the doubly linked list
     
    -D_Node< T > * next
     next node in the doubly linked list
    D_Node< T > * next
     next node in the doubly linked list
     

    Detailed Description

    @@ -151,6 +165,8 @@ class others::Cache::D_Node< T >

    Definition at line 42 of file lru_cache2.cpp.

    Constructor & Destructor Documentation

    ◆ D_Node() [1/2]

    @@ -176,10 +192,12 @@ template<typename T >
    + +

    Definition at line 51 of file lfu_cache.cpp.

    51: data(data), prev(nullptr), next(nullptr) {}
    -
    D_Node< T > * next
    next node in the doubly linked list
    Definition lfu_cache.cpp:49
    -
    D_Node< T > * prev
    previous node in the doubly linked list
    Definition lfu_cache.cpp:48
    -
    T data
    data of the node
    Definition lfu_cache.cpp:47
    +
    D_Node< T > * next
    next node in the doubly linked list
    Definition lfu_cache.cpp:49
    +
    D_Node< T > * prev
    previous node in the doubly linked list
    Definition lfu_cache.cpp:48
    +
    T data
    data of the node
    Definition lfu_cache.cpp:47
    @@ -207,13 +225,76 @@ template<typename T >
    + +

    Definition at line 48 of file lru_cache2.cpp.

    48: data(data), prev(nullptr), next(nullptr) {}
    +
    + +

    Member Data Documentation

    + +

    ◆ data

    + +
    +
    +
    +template<typename T >
    + + + + +
    T others::Cache::D_Node< T >::data
    +
    + +

    data of the node

    + +

    Definition at line 47 of file lfu_cache.cpp.

    + +
    +
    + +

    ◆ next

    + +
    +
    +
    +template<typename T >
    + + + + +
    D_Node< T > * others::Cache::D_Node< T >::next
    +
    + +

    next node in the doubly linked list

    + +

    Definition at line 49 of file lfu_cache.cpp.

    + +
    +
    + +

    ◆ prev

    + +
    +
    +
    +template<typename T >
    + + + + +
    D_Node< T > * others::Cache::D_Node< T >::prev
    +
    + +

    previous node in the doubly linked list

    + +

    Definition at line 48 of file lfu_cache.cpp.

    +

    The documentation for this class was generated from the following files: diff --git a/de/d23/disjoint__set_8cpp.html b/de/d23/disjoint__set_8cpp.html index 4adfcf609..c6f4e8b2b 100644 --- a/de/d23/disjoint__set_8cpp.html +++ b/de/d23/disjoint__set_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: data_structures/disjoint_set.cpp File Reference +TheAlgorithms/C++: data_structures/disjoint_set.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -120,7 +137,9 @@ Include dependency graph for disjoint_set.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -136,17 +155,17 @@ Functions

    Functions

    void CreateSet (int n)
    - + - +

    Variables

    -vector< int > root
    vector< int > root
     
    -vector< int > rank
    vector< int > rank
     

    Detailed Description

    Disjoint Sets Data Structure (Disjoint Sets)

    Author
    leoyang429

    A disjoint set data structure (also called union find or merge find set) is a data structure that tracks a set of elements partitioned into a number of disjoint (non-overlapping) subsets. Some situations where disjoint sets can be used are- to find connected components of a graph, kruskal's algorithm for finding Minimum Spanning Tree etc. There are two operation which we perform on disjoint sets - 1) Union 2) Find

    + +

    Definition in file disjoint_set.cpp.

    Function Documentation

    ◆ CreateSet()

    @@ -168,14 +187,15 @@ Variables + +

    Definition at line 37 of file disjoint_set.cpp.

    37 {
    -
    38 root = vector<int>(n + 1);
    -
    39 rank = vector<int>(n + 1, 1);
    +
    38 root = vector<int>(n + 1);
    +
    39 rank = vector<int>(n + 1, 1);
    40 for (int i = 1; i <= n; ++i) {
    41 root[i] = i;
    42 }
    43}
    -
    @@ -200,19 +220,16 @@ Variables
    Returns
    set to which x belongs to
    + +

    Definition at line 53 of file disjoint_set.cpp.

    53 {
    54 if (root[x] == x) {
    55 return x;
    56 }
    57 return root[x] = Find(root[x]);
    58}
    -
    int Find(int x)
    Definition disjoint_set.cpp:53
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    int Find(int x)
    + @@ -240,13 +257,10 @@ Here is the call graph for this function: -
    67{ return Find(x) == Find(y); }
    -
    -Here is the call graph for this function:
    -
    -
    -
    +

    Definition at line 67 of file disjoint_set.cpp.

    +
    67{ return Find(x) == Find(y); }
    +
    @@ -264,39 +278,35 @@ Here is the call graph for this function:

    Main function

    + +

    Definition at line 93 of file disjoint_set.cpp.

    93 {
    94 // tests CreateSet & Find
    95 int n = 100;
    96 CreateSet(n);
    97 for (int i = 1; i <= 100; ++i) {
    98 if (root[i] != i) {
    -
    99 cout << "Fail" << endl;
    +
    99 cout << "Fail" << endl;
    100 break;
    101 }
    102 }
    103 // tests InSameUnion & Union
    -
    104 cout << "1 and 2 are initially not in the same subset" << endl;
    +
    104 cout << "1 and 2 are initially not in the same subset" << endl;
    105 if (InSameUnion(1, 2)) {
    -
    106 cout << "Fail" << endl;
    +
    106 cout << "Fail" << endl;
    107 }
    108 Union(1, 2);
    -
    109 cout << "1 and 2 are now in the same subset" << endl;
    +
    109 cout << "1 and 2 are now in the same subset" << endl;
    110 if (!InSameUnion(1, 2)) {
    -
    111 cout << "Fail" << endl;
    +
    111 cout << "Fail" << endl;
    112 }
    113 return 0;
    114}
    - -
    void CreateSet(int n)
    Definition disjoint_set.cpp:37
    -
    bool InSameUnion(int x, int y)
    Definition disjoint_set.cpp:67
    -
    void Union(int x, int y)
    Definition disjoint_set.cpp:78
    -
    #define endl
    Definition matrix_exponentiation.cpp:36
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    void CreateSet(int n)
    +
    bool InSameUnion(int x, int y)
    +
    void Union(int x, int y)
    +
    #define endl
    +
    @@ -324,6 +334,8 @@ Here is the call graph for this function: + +

    Definition at line 78 of file disjoint_set.cpp.

    78 {
    79 int a = Find(x), b = Find(y);
    80 if (a != b) {
    @@ -337,11 +349,39 @@ Here is the call graph for this function:
    88 }
    89 }
    90}
    -
    -Here is the call graph for this function:
    -
    -
    +
    + +

    Variable Documentation

    + +

    ◆ rank

    + +
    +
    + + + + +
    vector<int> rank
    +
    + +

    Definition at line 29 of file disjoint_set.cpp.

    + +
    +
    + +

    ◆ root

    + +
    +
    + + + + +
    vector<int> root
    +
    + +

    Definition at line 29 of file disjoint_set.cpp.

    diff --git a/de/d23/disjoint__set_8cpp_a2fb0a7cd26a477e2d48ba7e0118bc985_cgraph.map b/de/d23/disjoint__set_8cpp_a2fb0a7cd26a477e2d48ba7e0118bc985_cgraph.map deleted file mode 100644 index 58f9ee014..000000000 --- a/de/d23/disjoint__set_8cpp_a2fb0a7cd26a477e2d48ba7e0118bc985_cgraph.map +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/de/d23/disjoint__set_8cpp_a2fb0a7cd26a477e2d48ba7e0118bc985_cgraph.md5 b/de/d23/disjoint__set_8cpp_a2fb0a7cd26a477e2d48ba7e0118bc985_cgraph.md5 deleted file mode 100644 index 6e021fc11..000000000 --- a/de/d23/disjoint__set_8cpp_a2fb0a7cd26a477e2d48ba7e0118bc985_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -e0f60aaa0b5cafd089f8cbed751f591a \ No newline at end of file diff --git a/de/d23/disjoint__set_8cpp_a2fb0a7cd26a477e2d48ba7e0118bc985_cgraph.svg b/de/d23/disjoint__set_8cpp_a2fb0a7cd26a477e2d48ba7e0118bc985_cgraph.svg deleted file mode 100644 index d46b2c322..000000000 --- a/de/d23/disjoint__set_8cpp_a2fb0a7cd26a477e2d48ba7e0118bc985_cgraph.svg +++ /dev/null @@ -1,74 +0,0 @@ - - - - - - - - - - - - -InSameUnion - - -Node1 - - -InSameUnion - - - - - -Node2 - - -Find - - - - - -Node1->Node2 - - - - - - - - -Node2->Node2 - - - - - - - - - - - - - diff --git a/de/d23/disjoint__set_8cpp_a2fb0a7cd26a477e2d48ba7e0118bc985_cgraph_org.svg b/de/d23/disjoint__set_8cpp_a2fb0a7cd26a477e2d48ba7e0118bc985_cgraph_org.svg deleted file mode 100644 index b73a47707..000000000 --- a/de/d23/disjoint__set_8cpp_a2fb0a7cd26a477e2d48ba7e0118bc985_cgraph_org.svg +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - -InSameUnion - - -Node1 - - -InSameUnion - - - - - -Node2 - - -Find - - - - - -Node1->Node2 - - - - - - - - -Node2->Node2 - - - - - - - - diff --git a/de/d23/disjoint__set_8cpp_a34b9ead0608e676d9ae5188672427cc8_cgraph.map b/de/d23/disjoint__set_8cpp_a34b9ead0608e676d9ae5188672427cc8_cgraph.map deleted file mode 100644 index 53a3496c6..000000000 --- a/de/d23/disjoint__set_8cpp_a34b9ead0608e676d9ae5188672427cc8_cgraph.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/de/d23/disjoint__set_8cpp_a34b9ead0608e676d9ae5188672427cc8_cgraph.md5 b/de/d23/disjoint__set_8cpp_a34b9ead0608e676d9ae5188672427cc8_cgraph.md5 deleted file mode 100644 index c9a87bc42..000000000 --- a/de/d23/disjoint__set_8cpp_a34b9ead0608e676d9ae5188672427cc8_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -6e59dcc4b6d8cd998a84bd7d883f2d82 \ No newline at end of file diff --git a/de/d23/disjoint__set_8cpp_a34b9ead0608e676d9ae5188672427cc8_cgraph.svg b/de/d23/disjoint__set_8cpp_a34b9ead0608e676d9ae5188672427cc8_cgraph.svg deleted file mode 100644 index 6a8e6ff90..000000000 --- a/de/d23/disjoint__set_8cpp_a34b9ead0608e676d9ae5188672427cc8_cgraph.svg +++ /dev/null @@ -1,56 +0,0 @@ - - - - - - - - - - - - -Find - - -Node1 - - -Find - - - - - -Node1->Node1 - - - - - - - - - - - - - diff --git a/de/d23/disjoint__set_8cpp_a34b9ead0608e676d9ae5188672427cc8_cgraph_org.svg b/de/d23/disjoint__set_8cpp_a34b9ead0608e676d9ae5188672427cc8_cgraph_org.svg deleted file mode 100644 index e5789d5d5..000000000 --- a/de/d23/disjoint__set_8cpp_a34b9ead0608e676d9ae5188672427cc8_cgraph_org.svg +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - -Find - - -Node1 - - -Find - - - - - -Node1->Node1 - - - - - - - - diff --git a/de/d23/disjoint__set_8cpp_a44481bb75386fbb0f958a388d4b9f757_cgraph.map b/de/d23/disjoint__set_8cpp_a44481bb75386fbb0f958a388d4b9f757_cgraph.map deleted file mode 100644 index 7f2af1c1d..000000000 --- a/de/d23/disjoint__set_8cpp_a44481bb75386fbb0f958a388d4b9f757_cgraph.map +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/de/d23/disjoint__set_8cpp_a44481bb75386fbb0f958a388d4b9f757_cgraph.md5 b/de/d23/disjoint__set_8cpp_a44481bb75386fbb0f958a388d4b9f757_cgraph.md5 deleted file mode 100644 index 92927847d..000000000 --- a/de/d23/disjoint__set_8cpp_a44481bb75386fbb0f958a388d4b9f757_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -45711c07013d7165313da2cc219dfa3a \ No newline at end of file diff --git a/de/d23/disjoint__set_8cpp_a44481bb75386fbb0f958a388d4b9f757_cgraph.svg b/de/d23/disjoint__set_8cpp_a44481bb75386fbb0f958a388d4b9f757_cgraph.svg deleted file mode 100644 index 059b7dcc3..000000000 --- a/de/d23/disjoint__set_8cpp_a44481bb75386fbb0f958a388d4b9f757_cgraph.svg +++ /dev/null @@ -1,74 +0,0 @@ - - - - - - - - - - - - -Union - - -Node1 - - -Union - - - - - -Node2 - - -Find - - - - - -Node1->Node2 - - - - - - - - -Node2->Node2 - - - - - - - - - - - - - diff --git a/de/d23/disjoint__set_8cpp_a44481bb75386fbb0f958a388d4b9f757_cgraph_org.svg b/de/d23/disjoint__set_8cpp_a44481bb75386fbb0f958a388d4b9f757_cgraph_org.svg deleted file mode 100644 index 7fa2894ad..000000000 --- a/de/d23/disjoint__set_8cpp_a44481bb75386fbb0f958a388d4b9f757_cgraph_org.svg +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - -Union - - -Node1 - - -Union - - - - - -Node2 - - -Find - - - - - -Node1->Node2 - - - - - - - - -Node2->Node2 - - - - - - - - diff --git a/de/d23/disjoint__set_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/de/d23/disjoint__set_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 71bc10e1d..000000000 --- a/de/d23/disjoint__set_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - diff --git a/de/d23/disjoint__set_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/de/d23/disjoint__set_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index ad91b6f98..000000000 --- a/de/d23/disjoint__set_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -bbf9868412c8f74ed959ea6e42abb80c \ No newline at end of file diff --git a/de/d23/disjoint__set_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/de/d23/disjoint__set_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index cc7d2780f..000000000 --- a/de/d23/disjoint__set_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,137 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -CreateSet - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -InSameUnion - - - - - -Node1->Node3 - - - - - - - - -Node5 - - -Union - - - - - -Node1->Node5 - - - - - - - - -Node4 - - -Find - - - - - -Node3->Node4 - - - - - - - - -Node4->Node4 - - - - - - - - -Node5->Node4 - - - - - - - - - - - - - diff --git a/de/d23/disjoint__set_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/de/d23/disjoint__set_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index f2f1fe54b..000000000 --- a/de/d23/disjoint__set_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,111 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -CreateSet - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -InSameUnion - - - - - -Node1->Node3 - - - - - - - - -Node5 - - -Union - - - - - -Node1->Node5 - - - - - - - - -Node4 - - -Find - - - - - -Node3->Node4 - - - - - - - - -Node4->Node4 - - - - - - - - -Node5->Node4 - - - - - - - - diff --git a/de/d23/disjoint__set_8cpp_source.html b/de/d23/disjoint__set_8cpp_source.html new file mode 100644 index 000000000..14beded89 --- /dev/null +++ b/de/d23/disjoint__set_8cpp_source.html @@ -0,0 +1,214 @@ + + + + + + + + +TheAlgorithms/C++: data_structures/disjoint_set.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    disjoint_set.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    22#include <iostream>
    +
    23#include <vector>
    +
    24
    +
    25using std::cout;
    +
    26using std::endl;
    +
    27using std::vector;
    +
    28
    +
    29vector<int> root, rank;
    +
    30
    +
    +
    37void CreateSet(int n) {
    +
    38 root = vector<int>(n + 1);
    +
    39 rank = vector<int>(n + 1, 1);
    +
    40 for (int i = 1; i <= n; ++i) {
    +
    41 root[i] = i;
    +
    42 }
    +
    43}
    +
    +
    44
    +
    +
    53int Find(int x) {
    +
    54 if (root[x] == x) {
    +
    55 return x;
    +
    56 }
    +
    57 return root[x] = Find(root[x]);
    +
    58}
    +
    +
    59
    +
    67bool InSameUnion(int x, int y) { return Find(x) == Find(y); }
    +
    68
    +
    +
    78void Union(int x, int y) {
    +
    79 int a = Find(x), b = Find(y);
    +
    80 if (a != b) {
    +
    81 if (rank[a] < rank[b]) {
    +
    82 root[a] = b;
    +
    83 } else if (rank[a] > rank[b]) {
    +
    84 root[b] = a;
    +
    85 } else {
    +
    86 root[a] = b;
    +
    87 ++rank[b];
    +
    88 }
    +
    89 }
    +
    90}
    +
    +
    91
    +
    +
    93int main() {
    +
    94 // tests CreateSet & Find
    +
    95 int n = 100;
    +
    96 CreateSet(n);
    +
    97 for (int i = 1; i <= 100; ++i) {
    +
    98 if (root[i] != i) {
    +
    99 cout << "Fail" << endl;
    +
    100 break;
    +
    101 }
    +
    102 }
    +
    103 // tests InSameUnion & Union
    +
    104 cout << "1 and 2 are initially not in the same subset" << endl;
    +
    105 if (InSameUnion(1, 2)) {
    +
    106 cout << "Fail" << endl;
    +
    107 }
    +
    108 Union(1, 2);
    +
    109 cout << "1 and 2 are now in the same subset" << endl;
    +
    110 if (!InSameUnion(1, 2)) {
    +
    111 cout << "Fail" << endl;
    +
    112 }
    +
    113 return 0;
    +
    114}
    +
    +
    void CreateSet(int n)
    +
    bool InSameUnion(int x, int y)
    +
    int Find(int x)
    +
    void Union(int x, int y)
    +
    int main()
    +
    #define endl
    +
    +
    + + + + diff --git a/de/d33/circular__linked__list_8cpp.html b/de/d33/circular__linked__list_8cpp.html index 4444d1f40..d3cf43c94 100644 --- a/de/d33/circular__linked__list_8cpp.html +++ b/de/d33/circular__linked__list_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: operations_on_datastructures/circular_linked_list.cpp File Reference +TheAlgorithms/C++: operations_on_datastructures/circular_linked_list.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -122,7 +139,9 @@ Include dependency graph for circular_linked_list.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -135,7 +154,7 @@ Classes - + @@ -171,6 +190,8 @@ Functions

    Detailed Description

    Implementation for a Circular Linked List.

    A Circular Linked List is a variation on the regular linked list, in which the last node has a pointer to the first node, which creates a full circle. Consequently, this allows any node to be used as the starting point for the list.

    Author
    Alvin
    + +

    Definition in file circular_linked_list.cpp.

    Function Documentation

    ◆ main()

    @@ -189,17 +210,14 @@ Functions

    main function

    Returns
    0 on exit
    + +

    Definition at line 345 of file circular_linked_list.cpp.

    345 {
    346 test(); // run self-test implementations
    347 return 0;
    348}
    -
    static void test()
    Function to test the correctness of the Circular Linked List.
    Definition circular_linked_list.cpp:333
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static void test()
    Function to test the correctness of the Circular Linked List.
    + @@ -227,6 +245,8 @@ Here is the call graph for this function:

    Function to test the correctness of the Circular Linked List.

    Returns
    void
    + +

    Definition at line 333 of file circular_linked_list.cpp.

    333 {
    334 tests::test1();
    335 tests::test2();
    @@ -234,17 +254,12 @@ Here is the call graph for this function:
    337 tests::test4();
    338 tests::test5();
    339}
    -
    void test1()
    A Test to check an simple case.
    Definition array_left_rotation.cpp:75
    -
    void test4()
    A Test to check a very large input.
    Definition array_left_rotation.cpp:120
    -
    void test3()
    A Test to check an invalid shift value.
    Definition array_left_rotation.cpp:105
    -
    void test2()
    A Test to check an empty vector.
    Definition array_left_rotation.cpp:90
    -
    void test5()
    A Test to check a shift of zero.
    Definition array_left_rotation.cpp:143
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    void test1()
    A Test to check an simple case.
    +
    void test4()
    A Test to check a very large input.
    +
    void test3()
    A Test to check an invalid shift value.
    +
    void test2()
    A Test to check an empty vector.
    +
    void test5()
    A Test to check a shift of zero.
    + diff --git a/de/d33/circular__linked__list_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map b/de/d33/circular__linked__list_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map deleted file mode 100644 index f19638a7f..000000000 --- a/de/d33/circular__linked__list_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/de/d33/circular__linked__list_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 b/de/d33/circular__linked__list_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 deleted file mode 100644 index d3ebfba16..000000000 --- a/de/d33/circular__linked__list_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -5348230967bad27d038932a2089c6e13 \ No newline at end of file diff --git a/de/d33/circular__linked__list_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg b/de/d33/circular__linked__list_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg deleted file mode 100644 index 812b5e9e8..000000000 --- a/de/d33/circular__linked__list_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg +++ /dev/null @@ -1,155 +0,0 @@ - - - - - - - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -tests::test1 - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -tests::test2 - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -tests::test3 - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -tests::test4 - - - - - -Node1->Node5 - - - - - - - - -Node7 - - -tests::test5 - - - - - -Node1->Node7 - - - - - - - - -Node6 - - -std::vector::push_back - - - - - -Node5->Node6 - - - - - - - - - - - - - diff --git a/de/d33/circular__linked__list_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg b/de/d33/circular__linked__list_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg deleted file mode 100644 index ab6a715e6..000000000 --- a/de/d33/circular__linked__list_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg +++ /dev/null @@ -1,129 +0,0 @@ - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -tests::test1 - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -tests::test2 - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -tests::test3 - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -tests::test4 - - - - - -Node1->Node5 - - - - - - - - -Node7 - - -tests::test5 - - - - - -Node1->Node7 - - - - - - - - -Node6 - - -std::vector::push_back - - - - - -Node5->Node6 - - - - - - - - diff --git a/de/d33/circular__linked__list_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/de/d33/circular__linked__list_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index e3b271b40..000000000 --- a/de/d33/circular__linked__list_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - - - - - diff --git a/de/d33/circular__linked__list_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/de/d33/circular__linked__list_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index 1b905a81f..000000000 --- a/de/d33/circular__linked__list_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -1b0c431d9aa3d9427d987d6d637ad925 \ No newline at end of file diff --git a/de/d33/circular__linked__list_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/de/d33/circular__linked__list_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 1c27e723b..000000000 --- a/de/d33/circular__linked__list_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,173 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -tests::test1 - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -tests::test2 - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -tests::test3 - - - - - -Node2->Node5 - - - - - - - - -Node6 - - -tests::test4 - - - - - -Node2->Node6 - - - - - - - - -Node8 - - -tests::test5 - - - - - -Node2->Node8 - - - - - - - - -Node7 - - -std::vector::push_back - - - - - -Node6->Node7 - - - - - - - - - - - - - diff --git a/de/d33/circular__linked__list_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/de/d33/circular__linked__list_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 85a324f25..000000000 --- a/de/d33/circular__linked__list_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -tests::test1 - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -tests::test2 - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -tests::test3 - - - - - -Node2->Node5 - - - - - - - - -Node6 - - -tests::test4 - - - - - -Node2->Node6 - - - - - - - - -Node8 - - -tests::test5 - - - - - -Node2->Node8 - - - - - - - - -Node7 - - -std::vector::push_back - - - - - -Node6->Node7 - - - - - - - - diff --git a/de/d33/circular__linked__list_8cpp_source.html b/de/d33/circular__linked__list_8cpp_source.html new file mode 100644 index 000000000..0212f0957 --- /dev/null +++ b/de/d33/circular__linked__list_8cpp_source.html @@ -0,0 +1,413 @@ + + + + + + + + +TheAlgorithms/C++: operations_on_datastructures/circular_linked_list.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    +

    Classes

    struct  operations_on_datastructures::circular_linked_list::Node

    Namespaces

    namespace  operations_on_datastructures
     for std::vector
     for std::vector
     
    namespace  circular_linked_list
     Functions for the Circular Linked List implementation.
    + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + + +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    circular_linked_list.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    12#include <cassert>
    +
    13#include <iostream>
    +
    14#include <vector>
    +
    15
    + +
    21
    +
    27namespace circular_linked_list {
    +
    28
    +
    +
    32struct Node {
    +
    33 int64_t data;
    + +
    +
    39 explicit Node(int64_t _data) {
    +
    40 data = _data;
    +
    41 next = nullptr;
    +
    42 }
    +
    +
    +
    48 explicit Node(int64_t _data, Node* _next) {
    +
    49 data = _data;
    +
    50 next = _next;
    +
    51 }
    +
    +
    52};
    +
    +
    53
    +
    + +
    58 private:
    + +
    60 Node* end{};
    +
    61
    +
    62 public:
    +
    + +
    67 root = nullptr;
    +
    68 end = nullptr;
    +
    69 }
    +
    +
    + +
    74 erase();
    +
    75 root = nullptr;
    +
    76 Node* node = copy.root;
    +
    77 while (node != nullptr) {
    +
    78 insert(node->data);
    +
    79 node = node->next;
    +
    80 }
    +
    81 }
    +
    +
    + +
    87 root = source.root;
    +
    88 end = source.end;
    +
    89 source.root = nullptr;
    +
    90 source.end = nullptr;
    +
    91 }
    +
    +
    + +
    98 erase();
    +
    99 root = nullptr;
    +
    100 Node* node = other.root;
    +
    101 while (node != nullptr) {
    +
    102 insert(node->data);
    +
    103 node = node->next;
    +
    104 }
    +
    105 return *this;
    +
    106 }
    +
    +
    + +
    113 root = other.root;
    +
    114 end = other.end;
    +
    115 other.root = nullptr;
    +
    116 other.end = nullptr;
    +
    117 return *this;
    +
    118 }
    +
    + +
    +
    126 void erase() {
    +
    127 if (root == nullptr) {
    +
    128 return;
    +
    129 }
    +
    130 Node* node = root;
    +
    131 do {
    +
    132 Node* temp = node;
    +
    133 node = node->next;
    +
    134 delete (temp);
    +
    135 } while (node != root);
    +
    136 root = nullptr;
    +
    137 end = nullptr;
    +
    138 }
    +
    +
    +
    146 void insert(const std::vector<int64_t>& values) {
    +
    147 for (int64_t value : values) {
    +
    148 insert(value);
    +
    149 }
    +
    150 }
    +
    +
    +
    158 void insert(int64_t data) {
    +
    159 Node* node = new Node(data, root);
    +
    160 insert(node);
    +
    161 }
    +
    +
    +
    169 void insert(Node* node) {
    +
    170 if (root == nullptr) {
    +
    171 root = node;
    +
    172 node->next = root;
    +
    173 end = root;
    +
    174 } else {
    +
    175 end->next = node;
    +
    176 node->next = root;
    +
    177 end = node;
    +
    178 }
    +
    179 }
    +
    +
    187 void print() { print(root); }
    +
    +
    196 void print(Node* root) {
    +
    197 Node* temp = root;
    +
    198 if (root == nullptr) {
    +
    199 std::cout << "Empty List!\n";
    +
    200 return;
    +
    201 }
    +
    202 do {
    +
    203 std::cout << temp->data << " ";
    +
    204 temp = temp->next;
    +
    205 } while (temp != root);
    +
    206 std::cout << "\n";
    +
    207 }
    +
    +
    214 std::vector<int64_t> values() { return values(root); }
    +
    +
    223 std::vector<int64_t> values(Node* root) {
    +
    224 std::vector<int64_t> res;
    +
    225 if (root == nullptr) {
    +
    226 return res;
    +
    227 }
    +
    228 Node* temp = root;
    +
    229 do {
    +
    230 res.push_back(temp->data);
    +
    231 temp = temp->next;
    +
    232 } while (temp != root);
    +
    233 return res;
    +
    234 }
    +
    +
    235};
    +
    +
    236
    +
    237} // namespace circular_linked_list
    +
    238
    +
    239} // namespace operations_on_datastructures
    +
    240
    +
    245namespace tests {
    + + +
    252void test1() {
    +
    253 std::cout << "TEST CASE 1\n";
    +
    254 std::cout << "Intialized a = {2}\n";
    +
    255 std::cout << "Expected result: {2}\n";
    +
    256 CircularLinkedList a;
    +
    257 std::vector<int64_t> res = {2};
    +
    258 a.insert(2);
    +
    259 assert(a.values() == res);
    +
    260 a.print();
    +
    261 std::cout << "TEST PASSED!\n\n";
    +
    262}
    +
    267void test2() {
    +
    268 std::cout << "TEST CASE 2\n";
    +
    269 std::cout << "Intialized a = {2, 5, 6}\n";
    +
    270 std::cout << "Expected result: {2, 5, 6}\n";
    +
    271 CircularLinkedList a;
    +
    272 std::vector<int64_t> res = {2, 5, 6};
    +
    273 a.insert(2);
    +
    274 a.insert(5);
    +
    275 a.insert(6);
    +
    276 assert(a.values() == res);
    +
    277 a.print();
    +
    278 std::cout << "TEST PASSED!\n\n";
    +
    279}
    +
    284void test3() {
    +
    285 std::cout << "TEST CASE 3\n";
    +
    286 std::cout << "Intialized a = {2, 7, 8, 3, 2, 6}\n";
    +
    287 std::cout << "Expected result: {2, 7, 8, 3, 2, 6}\n";
    +
    288 CircularLinkedList a;
    +
    289 std::vector<int64_t> res = {2, 7, 8, 3, 2, 6};
    +
    290 a.insert({2, 7, 8, 3, 2, 6});
    +
    291 a.print();
    +
    292 assert(a.values() == res);
    +
    293 std::cout << "TEST PASSED!\n\n";
    +
    294}
    +
    299void test4() {
    +
    300 std::cout << "TEST CASE 4\n";
    +
    301 std::cout << "Intialized a = {2, 5}\n";
    +
    302 std::cout << "Expected result: {5, 2}\n";
    +
    303 CircularLinkedList a;
    +
    304 std::vector<int64_t> res = {5, 2};
    +
    305 a.insert(2);
    +
    306 Node* start = new Node(5);
    +
    307 a.insert(start);
    +
    308 assert(a.values(start) == res);
    +
    309 a.print(start);
    +
    310 std::cout << "TEST PASSED!\n\n";
    +
    311}
    +
    312
    +
    317void test5() {
    +
    318 std::cout << "TEST CASE 5\n";
    +
    319 std::cout << "Intialized a = {}\n";
    +
    320 std::cout << "Expected result: Empty List!\n";
    +
    321 CircularLinkedList a;
    +
    322 std::vector<int64_t> res = {};
    +
    323 assert(a.values() == res);
    +
    324 a.print();
    +
    325 std::cout << "TEST PASSED!\n\n";
    +
    326}
    +
    327} // namespace tests
    +
    328
    +
    +
    333static void test() {
    +
    334 tests::test1();
    +
    335 tests::test2();
    +
    336 tests::test3();
    +
    337 tests::test4();
    +
    338 tests::test5();
    +
    339}
    +
    +
    340
    +
    +
    345int main() {
    +
    346 test(); // run self-test implementations
    +
    347 return 0;
    +
    348}
    +
    +
    struct node { int data; int height; struct node *left; struct node *right;} node
    for std::queue
    Definition avltree.cpp:13
    +
    static void test()
    Function to test the correctness of the Circular Linked List.
    +
    int main()
    main function
    + +
    std::vector< int64_t > values(Node *root)
    Returns a std::vector of the values of the Circular Linked List, beginning from a given Node.
    +
    CircularLinkedList(const CircularLinkedList &copy)
    Copy constructor for CircularLinkedList.
    +
    void insert(Node *node)
    Inserts a given Node into the Circular Linked List.
    + +
    void insert(int64_t data)
    Inserts a single value into the Circular Linked List.
    +
    void print(Node *root)
    Prints the values of the Circular Linked List, beginning from a given Node to be used as the root.
    + +
    std::vector< int64_t > values()
    Returns a std::vector of the values of the Circular Linked List.
    + +
    CircularLinkedList & operator=(CircularLinkedList &&other) noexcept
    Move assignment operator.
    +
    CircularLinkedList & operator=(const CircularLinkedList &other)
    Copy assignment operator.
    + + +
    CircularLinkedList(CircularLinkedList &&source) noexcept
    Move constructor for CircularLinkedList.
    +
    void print()
    Prints the values of the Circular Linked List, beginning from the root Node.
    +
    void insert(const std::vector< int64_t > &values)
    Inserts all the values from a vector into the Circular Linked List.
    +
    int data[MAX]
    test data
    +
    Functions for the Circular Linked List implementation.
    + +
    Testcases to check Union of Two Arrays.
    +
    void test1()
    A Test to check an simple case.
    +
    void test4()
    A Test to check a very large input.
    +
    void test3()
    A Test to check an invalid shift value.
    +
    void test2()
    A Test to check an empty vector.
    +
    void test5()
    A Test to check a shift of zero.
    + + +
    A Node struct that represents a single Node in a Binary Tree.
    +
    Node(int64_t _data)
    Creates a new Node with some initial data.
    +
    Node(int64_t _data, Node *_next)
    Creates a new Node with initial data and a successor.
    + + +
    +
    + + + + diff --git a/de/d33/classdata__structures_1_1linked__list_1_1link__coll__graph.map b/de/d33/classdata__structures_1_1linked__list_1_1link__coll__graph.map index 8928d43a0..d3b1369dc 100644 --- a/de/d33/classdata__structures_1_1linked__list_1_1link__coll__graph.map +++ b/de/d33/classdata__structures_1_1linked__list_1_1link__coll__graph.map @@ -1,6 +1,6 @@ - + diff --git a/de/d33/classdata__structures_1_1linked__list_1_1link__coll__graph.md5 b/de/d33/classdata__structures_1_1linked__list_1_1link__coll__graph.md5 index 33b789780..536cb11ff 100644 --- a/de/d33/classdata__structures_1_1linked__list_1_1link__coll__graph.md5 +++ b/de/d33/classdata__structures_1_1linked__list_1_1link__coll__graph.md5 @@ -1 +1 @@ -e1371e25b88c993ec204e63c7a312eaa \ No newline at end of file +6094a54a8b1f8fcceabfe8cc1654460d \ No newline at end of file diff --git a/de/d33/classdata__structures_1_1linked__list_1_1link__coll__graph.svg b/de/d33/classdata__structures_1_1linked__list_1_1link__coll__graph.svg index 97c00ba37..6eb446b27 100644 --- a/de/d33/classdata__structures_1_1linked__list_1_1link__coll__graph.svg +++ b/de/d33/classdata__structures_1_1linked__list_1_1link__coll__graph.svg @@ -32,7 +32,7 @@ Node2 - + std::shared_ptr< data _structures::linked_list diff --git a/de/d33/classdata__structures_1_1linked__list_1_1link__coll__graph_org.svg b/de/d33/classdata__structures_1_1linked__list_1_1link__coll__graph_org.svg index c1e1d950e..a17e4b50b 100644 --- a/de/d33/classdata__structures_1_1linked__list_1_1link__coll__graph_org.svg +++ b/de/d33/classdata__structures_1_1linked__list_1_1link__coll__graph_org.svg @@ -21,7 +21,7 @@ Node2 - + std::shared_ptr< data _structures::linked_list diff --git a/de/d36/classdata__structures_1_1_bloom_filter-members.html b/de/d36/classdata__structures_1_1_bloom_filter-members.html index ed125c61c..193d26426 100644 --- a/de/d36/classdata__structures_1_1_bloom_filter-members.html +++ b/de/d36/classdata__structures_1_1_bloom_filter-members.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Member List +TheAlgorithms/C++: Member List + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/de/d36/namespacen__bonacci.html b/de/d36/namespacen__bonacci.html index 09bd0f81c..934655869 100644 --- a/de/d36/namespacen__bonacci.html +++ b/de/d36/namespacen__bonacci.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: n_bonacci Namespace Reference +TheAlgorithms/C++: n_bonacci Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/de/d40/shell__sort_8cpp_source.html b/de/d40/shell__sort_8cpp_source.html new file mode 100644 index 000000000..ddae1a2de --- /dev/null +++ b/de/d40/shell__sort_8cpp_source.html @@ -0,0 +1,176 @@ + + + + + + + + +TheAlgorithms/C++: sorting/shell_sort.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + + +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    shell_sort.cpp
    +
    +
    +
    1#include <iostream>
    +
    2
    +
    3int main() {
    +
    4 int size = 10;
    +
    5 int* array = new int[size];
    +
    6 // Input
    +
    7 std::cout << "\nHow many numbers do want to enter in unsorted array : ";
    +
    8 std::cin >> size;
    +
    9 std::cout << "\nEnter the numbers for unsorted array : ";
    +
    10 for (int i = 0; i < size; i++) {
    +
    11 std::cin >> array[i];
    +
    12 }
    +
    13
    +
    14 // Sorting
    +
    15 for (int i = size / 2; i > 0; i = i / 2) {
    +
    16 for (int j = i; j < size; j++) {
    +
    17 for (int k = j - i; k >= 0; k = k - i) {
    +
    18 if (array[k] < array[k + i]) {
    +
    19 break;
    +
    20 } else {
    +
    21 int temp = array[k + i];
    +
    22 array[k + i] = array[k];
    +
    23 array[k] = temp;
    +
    24 }
    +
    25 }
    +
    26 }
    +
    27 }
    +
    28
    +
    29 // Output
    +
    30 std::cout << "\nSorted array : ";
    +
    31 for (int i = 0; i < size; ++i) {
    +
    32 std::cout << array[i] << "\t";
    +
    33 }
    +
    34
    +
    35 delete[] array;
    +
    36 return 0;
    +
    37}
    +
    double k(double x)
    Another test function.
    +
    int main()
    Main function.
    +
    +
    + + + + diff --git a/de/d41/namespacekaratsuba__algorithm.html b/de/d41/namespacekaratsuba__algorithm.html index c0ad5161d..c0b14b18e 100644 --- a/de/d41/namespacekaratsuba__algorithm.html +++ b/de/d41/namespacekaratsuba__algorithm.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: karatsuba_algorithm Namespace Reference +TheAlgorithms/C++: karatsuba_algorithm Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/de/d47/string__fibonacci_8cpp.html b/de/d47/string__fibonacci_8cpp.html index 1b81f2b34..9778f9243 100644 --- a/de/d47/string__fibonacci_8cpp.html +++ b/de/d47/string__fibonacci_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: math/string_fibonacci.cpp File Reference +TheAlgorithms/C++: math/string_fibonacci.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + @@ -120,10 +137,12 @@ Include dependency graph for string_fibonacci.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    - + @@ -134,6 +153,8 @@ Functions

    This Programme returns the Nth fibonacci as a string.

    The method used is manual addition with carry and placing it in a string which is called string addition This makes it have no bounds or limits

    See also
    fibonacci_large.cpp, fibonacci_fast.cpp, fibonacci.cpp
    + +

    Definition in file string_fibonacci.cpp.

    Function Documentation

    ◆ add()

    @@ -142,14 +163,14 @@ Functions

    Functions

    std::string add (std::string a, std::string b)
    std::string add (std::string a, std::string b)
     
    void fib_Accurate (uint64_t n)
     
    - + - + - +
    std::string add std::string add (std::string a, std::string a,
    std::string b )std::string b )
    @@ -160,20 +181,22 @@ Functions -
    Returns
    sum as a std::string
    +
    Returns
    sum as a std::string
    + +

    Definition at line 25 of file string_fibonacci.cpp.

    25 {
    -
    26 std::string temp = "";
    +
    26 std::string temp = "";
    27
    28 // carry flag
    29 int carry = 0;
    30
    31 // fills up with zeros
    -
    32 while (a.length() < b.length()) {
    +
    32 while (a.length() < b.length()) {
    33 a = "0" + a;
    34 }
    35
    36 // fills up with zeros
    -
    37 while (b.length() < a.length()) {
    +
    37 while (b.length() < a.length()) {
    38 b = "0" + b;
    39 }
    40
    @@ -195,21 +218,13 @@ Functions
    56 }
    57
    58 // removes leading zeros.
    -
    59 while (temp[0] == '0' && temp.length() > 1) {
    -
    60 temp = temp.substr(1);
    +
    59 while (temp[0] == '0' && temp.length() > 1) {
    +
    60 temp = temp.substr(1);
    61 }
    62
    63 return temp;
    64}
    - -
    T length(T... args)
    -
    T substr(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    @@ -232,25 +247,21 @@ Here is the call graph for this function: + +

    Definition at line 69 of file string_fibonacci.cpp.

    69 {
    -
    70 std::string tmp = "";
    -
    71 std::string fibMinus1 = "1";
    -
    72 std::string fibMinus2 = "0";
    +
    70 std::string tmp = "";
    +
    71 std::string fibMinus1 = "1";
    +
    72 std::string fibMinus2 = "0";
    73 for (uint64_t i = 0; i < n; i++) {
    74 tmp = add(fibMinus1, fibMinus2);
    75 fibMinus2 = fibMinus1;
    76 fibMinus1 = tmp;
    77 }
    -
    78 std::cout << fibMinus2;
    +
    78 std::cout << fibMinus2;
    79}
    - -
    std::string add(std::string a, std::string b)
    Definition string_fibonacci.cpp:25
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    std::string add(std::string a, std::string b)
    + @@ -268,23 +279,19 @@ Here is the call graph for this function:

    main function

    + +

    Definition at line 82 of file string_fibonacci.cpp.

    82 {
    83 int n;
    -
    84 std::cout << "Enter whatever number N you want to find the fibonacci of\n";
    -
    85 std::cin >> n;
    -
    86 std::cout << n << " th Fibonacci is \n";
    +
    84 std::cout << "Enter whatever number N you want to find the fibonacci of\n";
    +
    85 std::cin >> n;
    +
    86 std::cout << n << " th Fibonacci is \n";
    87 fib_Accurate(n);
    88
    89 return 0;
    90}
    - -
    void fib_Accurate(uint64_t n)
    Definition string_fibonacci.cpp:69
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    void fib_Accurate(uint64_t n)
    +
    diff --git a/de/d47/string__fibonacci_8cpp_a28052eee05d43c2ebc5147c52bd50c35_cgraph.map b/de/d47/string__fibonacci_8cpp_a28052eee05d43c2ebc5147c52bd50c35_cgraph.map deleted file mode 100644 index 999e53511..000000000 --- a/de/d47/string__fibonacci_8cpp_a28052eee05d43c2ebc5147c52bd50c35_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/de/d47/string__fibonacci_8cpp_a28052eee05d43c2ebc5147c52bd50c35_cgraph.md5 b/de/d47/string__fibonacci_8cpp_a28052eee05d43c2ebc5147c52bd50c35_cgraph.md5 deleted file mode 100644 index 08c2b5ca0..000000000 --- a/de/d47/string__fibonacci_8cpp_a28052eee05d43c2ebc5147c52bd50c35_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -85a9e63e690121eaa9ada7e38a775b6f \ No newline at end of file diff --git a/de/d47/string__fibonacci_8cpp_a28052eee05d43c2ebc5147c52bd50c35_cgraph.svg b/de/d47/string__fibonacci_8cpp_a28052eee05d43c2ebc5147c52bd50c35_cgraph.svg deleted file mode 100644 index ad0101205..000000000 --- a/de/d47/string__fibonacci_8cpp_a28052eee05d43c2ebc5147c52bd50c35_cgraph.svg +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - -add - - -Node1 - - -add - - - - - -Node2 - - -std::string::length - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::string::substr - - - - - -Node1->Node3 - - - - - - - - - - - - - diff --git a/de/d47/string__fibonacci_8cpp_a28052eee05d43c2ebc5147c52bd50c35_cgraph_org.svg b/de/d47/string__fibonacci_8cpp_a28052eee05d43c2ebc5147c52bd50c35_cgraph_org.svg deleted file mode 100644 index bd2e62493..000000000 --- a/de/d47/string__fibonacci_8cpp_a28052eee05d43c2ebc5147c52bd50c35_cgraph_org.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - -add - - -Node1 - - -add - - - - - -Node2 - - -std::string::length - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::string::substr - - - - - -Node1->Node3 - - - - - - - - diff --git a/de/d47/string__fibonacci_8cpp_ad8055ee368a5d5b24de01bdde6bf8fca_cgraph.map b/de/d47/string__fibonacci_8cpp_ad8055ee368a5d5b24de01bdde6bf8fca_cgraph.map deleted file mode 100644 index df871bedc..000000000 --- a/de/d47/string__fibonacci_8cpp_ad8055ee368a5d5b24de01bdde6bf8fca_cgraph.map +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/de/d47/string__fibonacci_8cpp_ad8055ee368a5d5b24de01bdde6bf8fca_cgraph.md5 b/de/d47/string__fibonacci_8cpp_ad8055ee368a5d5b24de01bdde6bf8fca_cgraph.md5 deleted file mode 100644 index 1d6433837..000000000 --- a/de/d47/string__fibonacci_8cpp_ad8055ee368a5d5b24de01bdde6bf8fca_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -01f346860f49860de50e8009728d4318 \ No newline at end of file diff --git a/de/d47/string__fibonacci_8cpp_ad8055ee368a5d5b24de01bdde6bf8fca_cgraph.svg b/de/d47/string__fibonacci_8cpp_ad8055ee368a5d5b24de01bdde6bf8fca_cgraph.svg deleted file mode 100644 index dea565b48..000000000 --- a/de/d47/string__fibonacci_8cpp_ad8055ee368a5d5b24de01bdde6bf8fca_cgraph.svg +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - - - - - - - -fib_Accurate - - -Node1 - - -fib_Accurate - - - - - -Node2 - - -add - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::string::length - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::string::substr - - - - - -Node2->Node4 - - - - - - - - - - - - - diff --git a/de/d47/string__fibonacci_8cpp_ad8055ee368a5d5b24de01bdde6bf8fca_cgraph_org.svg b/de/d47/string__fibonacci_8cpp_ad8055ee368a5d5b24de01bdde6bf8fca_cgraph_org.svg deleted file mode 100644 index 9fcbe2b54..000000000 --- a/de/d47/string__fibonacci_8cpp_ad8055ee368a5d5b24de01bdde6bf8fca_cgraph_org.svg +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - -fib_Accurate - - -Node1 - - -fib_Accurate - - - - - -Node2 - - -add - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::string::length - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::string::substr - - - - - -Node2->Node4 - - - - - - - - diff --git a/de/d47/string__fibonacci_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/de/d47/string__fibonacci_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 7feaab8f7..000000000 --- a/de/d47/string__fibonacci_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/de/d47/string__fibonacci_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/de/d47/string__fibonacci_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index 5e0038500..000000000 --- a/de/d47/string__fibonacci_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -42f8505f8e49e364e9c45a5a7230db00 \ No newline at end of file diff --git a/de/d47/string__fibonacci_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/de/d47/string__fibonacci_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index e18593fc5..000000000 --- a/de/d47/string__fibonacci_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,119 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -fib_Accurate - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -add - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::string::length - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -std::string::substr - - - - - -Node3->Node5 - - - - - - - - - - - - - diff --git a/de/d47/string__fibonacci_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/de/d47/string__fibonacci_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 4276e16ab..000000000 --- a/de/d47/string__fibonacci_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,93 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -fib_Accurate - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -add - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::string::length - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -std::string::substr - - - - - -Node3->Node5 - - - - - - - - diff --git a/de/d47/string__fibonacci_8cpp_source.html b/de/d47/string__fibonacci_8cpp_source.html new file mode 100644 index 000000000..ef3e08272 --- /dev/null +++ b/de/d47/string__fibonacci_8cpp_source.html @@ -0,0 +1,217 @@ + + + + + + + + +TheAlgorithms/C++: math/string_fibonacci.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    string_fibonacci.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    11#include <cstdint>
    +
    12#include <iostream>
    +
    13#ifdef _MSC_VER
    +
    14#include <string> // use this for MS Visual C
    +
    15#else
    +
    16#include <cstring> // otherwise
    +
    17#endif
    +
    18
    +
    +
    25std::string add(std::string a, std::string b) {
    +
    26 std::string temp = "";
    +
    27
    +
    28 // carry flag
    +
    29 int carry = 0;
    +
    30
    +
    31 // fills up with zeros
    +
    32 while (a.length() < b.length()) {
    +
    33 a = "0" + a;
    +
    34 }
    +
    35
    +
    36 // fills up with zeros
    +
    37 while (b.length() < a.length()) {
    +
    38 b = "0" + b;
    +
    39 }
    +
    40
    +
    41 // adds the numbers a and b
    +
    42 for (int i = a.length() - 1; i >= 0; i--) {
    +
    43 char val = static_cast<char>(((a[i] - 48) + (b[i] - 48)) + 48 + carry);
    +
    44 if (val > 57) {
    +
    45 carry = 1;
    +
    46 val -= 10;
    +
    47 } else {
    +
    48 carry = 0;
    +
    49 }
    +
    50 temp = val + temp;
    +
    51 }
    +
    52
    +
    53 // processes the carry flag
    +
    54 if (carry == 1) {
    +
    55 temp = "1" + temp;
    +
    56 }
    +
    57
    +
    58 // removes leading zeros.
    +
    59 while (temp[0] == '0' && temp.length() > 1) {
    +
    60 temp = temp.substr(1);
    +
    61 }
    +
    62
    +
    63 return temp;
    +
    64}
    +
    +
    65
    +
    +
    69void fib_Accurate(uint64_t n) {
    +
    70 std::string tmp = "";
    +
    71 std::string fibMinus1 = "1";
    +
    72 std::string fibMinus2 = "0";
    +
    73 for (uint64_t i = 0; i < n; i++) {
    +
    74 tmp = add(fibMinus1, fibMinus2);
    +
    75 fibMinus2 = fibMinus1;
    +
    76 fibMinus1 = tmp;
    +
    77 }
    +
    78 std::cout << fibMinus2;
    +
    79}
    +
    +
    80
    +
    +
    82int main() {
    +
    83 int n;
    +
    84 std::cout << "Enter whatever number N you want to find the fibonacci of\n";
    +
    85 std::cin >> n;
    +
    86 std::cout << n << " th Fibonacci is \n";
    +
    87 fib_Accurate(n);
    +
    88
    +
    89 return 0;
    +
    90}
    +
    +
    std::string add(std::string a, std::string b)
    +
    void fib_Accurate(uint64_t n)
    +
    int main()
    +
    +
    + + + + diff --git a/de/d48/struct_trie_1_1_trie_node.html b/de/d48/struct_trie_1_1_trie_node.html index 7e9dc4419..68be2cafd 100644 --- a/de/d48/struct_trie_1_1_trie_node.html +++ b/de/d48/struct_trie_1_1_trie_node.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Trie::TrieNode Struct Reference +TheAlgorithms/C++: Trie::TrieNode Struct Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -118,13 +135,15 @@ Collaboration diagram for Trie::TrieNode:
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    - +

    Public Attributes

    std::shared_ptr< TrieNodecharacter [ALPHABETS] {nullptr}
    std::shared_ptr< TrieNodecharacter [ALPHABETS] {nullptr}
     
    bool isEndOfWord {false}
     

    Detailed Description

    Structure of trie node. This struct doesn't need a constructor as we are initializing using intializer list which is more efficient than if we had done so with constructor.

    + +

    Definition at line 26 of file trie_modern.cpp.

    Member Data Documentation

    ◆ character

    @@ -133,10 +152,12 @@ Public Attributes
    - +
    std::shared_ptr<TrieNode> Trie::TrieNode::character[ALPHABETS] {nullptr}std::shared_ptr<TrieNode> Trie::TrieNode::character[ALPHABETS] {nullptr}
    + +

    Definition at line 29 of file trie_modern.cpp.

    29{nullptr};
    @@ -152,12 +173,14 @@ Public Attributes
    + +

    Definition at line 31 of file trie_modern.cpp.

    31{false};

    The documentation for this struct was generated from the following file: diff --git a/de/d4a/class_compare.html b/de/d4a/class_compare.html index 15fbf78c5..3c08d7f10 100644 --- a/de/d4a/class_compare.html +++ b/de/d4a/class_compare.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Compare< S, T, E > Class Template Reference +TheAlgorithms/C++: Compare< S, T, E > Class Template Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -116,7 +133,7 @@ $(function(){initNavTree('de/d4a/class_compare.html','../../'); initResizable(tr
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    - +

    Public Member Functions

    bool operator() (tuple< S, T, E, double, double, double > &t1, tuple< S, T, E, double, double, double > &t2)
    bool operator() (tuple< S, T, E, double, double, double > &t1, tuple< S, T, E, double, double, double > &t2)
     A comparator function that checks whether to swap the two tuples or not. to https://www.geeksforgeeks.org/comparator-class-in-c-with-examples/ for detailed description of comparator.
     
    @@ -131,6 +148,8 @@ class Compare< S, T, E >

    Comparator class for priority queue.

    + +

    Definition at line 63 of file fcfs_scheduling.cpp.

    Member Function Documentation

    ◆ operator()()

    @@ -146,12 +165,12 @@ template<typename S , typename T , typename E > bool Compare< S, T, E >::operator() ( - tuple< S, T, E, double, double, double > & t1, + tuple< S, T, E, double, double, double > & t1, - tuple< S, T, E, double, double, double > & t2 ) + tuple< S, T, E, double, double, double > & t2 ) @@ -172,6 +191,8 @@ template<typename S , typename T , typename E >
    Returns
    true if the tuples SHOULD be swapped
    false if the tuples SHOULDN'T be swapped
    + +

    Definition at line 76 of file fcfs_scheduling.cpp.

    77 {
    78 // Compare arrival times
    79 if (get<1>(t2) < get<1>(t1)) {
    @@ -187,7 +208,7 @@ false if the tuples SHOULDN'T be swapped

    The documentation for this class was generated from the following file: diff --git a/de/d4c/classrange__queries_1_1heavy__light__decomposition_1_1_tree__coll__graph.map b/de/d4c/classrange__queries_1_1heavy__light__decomposition_1_1_tree__coll__graph.map index 2ac5d86cf..9622b3249 100644 --- a/de/d4c/classrange__queries_1_1heavy__light__decomposition_1_1_tree__coll__graph.map +++ b/de/d4c/classrange__queries_1_1heavy__light__decomposition_1_1_tree__coll__graph.map @@ -1,13 +1,13 @@ - + - + - + - + - + diff --git a/de/d4c/classrange__queries_1_1heavy__light__decomposition_1_1_tree__coll__graph.md5 b/de/d4c/classrange__queries_1_1heavy__light__decomposition_1_1_tree__coll__graph.md5 index 5507b507a..5a0cf4d63 100644 --- a/de/d4c/classrange__queries_1_1heavy__light__decomposition_1_1_tree__coll__graph.md5 +++ b/de/d4c/classrange__queries_1_1heavy__light__decomposition_1_1_tree__coll__graph.md5 @@ -1 +1 @@ -6192615f7da1830b231ce27bf21b20aa \ No newline at end of file +a77360b724632dafb0e5bc8a3c90b219 \ No newline at end of file diff --git a/de/d4c/classrange__queries_1_1heavy__light__decomposition_1_1_tree__coll__graph.svg b/de/d4c/classrange__queries_1_1heavy__light__decomposition_1_1_tree__coll__graph.svg index f0c3c8e9c..dc86b9b80 100644 --- a/de/d4c/classrange__queries_1_1heavy__light__decomposition_1_1_tree__coll__graph.svg +++ b/de/d4c/classrange__queries_1_1heavy__light__decomposition_1_1_tree__coll__graph.svg @@ -33,7 +33,7 @@ Node2 - + std::vector< std::list < int > > @@ -53,7 +53,7 @@ Node3 - + std::list< int > @@ -72,7 +72,7 @@ Node4 - + std::vector< std::vector < int > > @@ -92,7 +92,7 @@ Node5 - + std::vector< int > @@ -112,7 +112,7 @@ Node6 - + std::vector< X > diff --git a/de/d4c/classrange__queries_1_1heavy__light__decomposition_1_1_tree__coll__graph_org.svg b/de/d4c/classrange__queries_1_1heavy__light__decomposition_1_1_tree__coll__graph_org.svg index 78dceebe3..f3168c7cc 100644 --- a/de/d4c/classrange__queries_1_1heavy__light__decomposition_1_1_tree__coll__graph_org.svg +++ b/de/d4c/classrange__queries_1_1heavy__light__decomposition_1_1_tree__coll__graph_org.svg @@ -22,7 +22,7 @@ Node2 - + std::vector< std::list < int > > @@ -42,7 +42,7 @@ Node3 - + std::list< int > @@ -61,7 +61,7 @@ Node4 - + std::vector< std::vector < int > > @@ -81,7 +81,7 @@ Node5 - + std::vector< int > @@ -101,7 +101,7 @@ Node6 - + std::vector< X > diff --git a/de/d57/struct_test_case__coll__graph.map b/de/d57/struct_test_case__coll__graph.map index 6c6da8bd1..2a3f95856 100644 --- a/de/d57/struct_test_case__coll__graph.map +++ b/de/d57/struct_test_case__coll__graph.map @@ -1,9 +1,7 @@ - - - - + + + + - - diff --git a/de/d57/struct_test_case__coll__graph.md5 b/de/d57/struct_test_case__coll__graph.md5 index e76186203..03a93e042 100644 --- a/de/d57/struct_test_case__coll__graph.md5 +++ b/de/d57/struct_test_case__coll__graph.md5 @@ -1 +1 @@ -3f08e09ab46000e9e6f88a992b34f485 \ No newline at end of file +42568575b3e6fec19aa4f29fcca461a4 \ No newline at end of file diff --git a/de/d57/struct_test_case__coll__graph.svg b/de/d57/struct_test_case__coll__graph.svg index 9cf4ebf0e..d37856b94 100644 --- a/de/d57/struct_test_case__coll__graph.svg +++ b/de/d57/struct_test_case__coll__graph.svg @@ -4,8 +4,8 @@ - + @@ -23,15 +23,15 @@ Node1 - -TestCase + +TestCase Node2 - + std::string @@ -41,17 +41,17 @@ Node2->Node1 - - + + - string_a -string_b + string_a +string_b Node3 - + std::basic_string< Char > @@ -67,25 +67,6 @@ - - -Node4 - - -std::size_t - - - - - -Node4->Node1 - - - - - - common_string_len - diff --git a/de/d57/struct_test_case__coll__graph_org.svg b/de/d57/struct_test_case__coll__graph_org.svg index 8424ca9d2..aa3db95ba 100644 --- a/de/d57/struct_test_case__coll__graph_org.svg +++ b/de/d57/struct_test_case__coll__graph_org.svg @@ -4,23 +4,23 @@ - + TestCase Node1 - -TestCase + +TestCase Node2 - + std::string @@ -30,17 +30,17 @@ Node2->Node1 - - + + - string_a -string_b + string_a +string_b Node3 - + std::basic_string< Char > @@ -56,24 +56,5 @@ - - -Node4 - - -std::size_t - - - - - -Node4->Node1 - - - - - - common_string_len - diff --git a/de/d5b/queue__using__linkedlist_8cpp_source.html b/de/d5b/queue__using__linkedlist_8cpp_source.html new file mode 100644 index 000000000..30271f85b --- /dev/null +++ b/de/d5b/queue__using__linkedlist_8cpp_source.html @@ -0,0 +1,231 @@ + + + + + + + + +TheAlgorithms/C++: data_structures/queue_using_linkedlist.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    queue_using_linkedlist.cpp
    +
    +
    +
    1/*
    +
    2 Write a program to implement Queue using linkedlist.
    +
    3*/
    +
    4#include <iostream>
    +
    5
    +
    +
    6struct linkedlist {
    +
    7 int data;
    +
    8 linkedlist *next;
    +
    9};
    +
    +
    + +
    11 public:
    +
    12 linkedlist *front;
    +
    13 linkedlist *rear;
    +
    14
    +
    15 stack_linkedList() { front = rear = NULL; }
    +
    16 void enqueue(int);
    +
    17 int dequeue();
    +
    18 void display();
    +
    19};
    +
    +
    20void stack_linkedList::enqueue(int ele) {
    +
    21 linkedlist *temp = new linkedlist();
    +
    22 temp->data = ele;
    +
    23 temp->next = NULL;
    +
    24
    +
    25 if (front == NULL)
    +
    26 front = rear = temp;
    +
    27 else {
    +
    28 rear->next = temp;
    +
    29 rear = temp;
    +
    30 }
    +
    31}
    +
    32int stack_linkedList::dequeue() {
    +
    33 linkedlist *temp;
    +
    34 int ele;
    +
    35 if (front == NULL)
    +
    36 std::cout << "\nStack is empty";
    +
    37 else {
    +
    38 temp = front;
    +
    39 ele = temp->data;
    +
    40 if (front == rear) // if length of queue is 1;
    +
    41 rear = rear->next;
    +
    42 front = front->next;
    +
    43 delete (temp);
    +
    44 }
    +
    45 return ele;
    +
    46}
    +
    47void stack_linkedList::display() {
    +
    48 if (front == NULL)
    +
    49 std::cout << "\nStack is empty";
    +
    50
    +
    51 else {
    +
    52 linkedlist *temp;
    +
    53 temp = front;
    +
    54 while (temp != NULL) {
    +
    55 std::cout << temp->data << " ";
    +
    56 temp = temp->next;
    +
    57 }
    +
    58 }
    +
    59}
    +
    60
    +
    61int main() {
    +
    62 int op, data;
    + +
    64 std::cout << "\n1. enqueue(Insertion) ";
    +
    65 std::cout << "\n2. dequeue(Deletion)";
    +
    66 std::cout << "\n3. Display";
    +
    67 std::cout << "\n4. Exit";
    +
    68
    +
    69 while (1) {
    +
    70 std::cout << "\nEnter your choice ";
    +
    71 std::cin >> op;
    +
    72 if (op == 1) {
    +
    73 std::cout << "Enter data ";
    +
    74 std::cin >> data;
    +
    75 ob.enqueue(data);
    +
    76 } else if (op == 2)
    +
    77 data = ob.dequeue();
    +
    78 else if (op == 3)
    +
    79 ob.display();
    +
    80 else if (op == 4)
    +
    81 exit(0);
    +
    82 else
    +
    83 std::cout << "\nWrong choice ";
    +
    84 }
    +
    85 return 0;
    +
    86}
    + +
    int main()
    Main function.
    +
    int data[MAX]
    test data
    + +
    +
    + + + + diff --git a/de/d61/classrange__queries_1_1per_seg_tree_1_1_node__coll__graph.map b/de/d61/classrange__queries_1_1per_seg_tree_1_1_node__coll__graph.map index 9a83fba0f..ec4eac805 100644 --- a/de/d61/classrange__queries_1_1per_seg_tree_1_1_node__coll__graph.map +++ b/de/d61/classrange__queries_1_1per_seg_tree_1_1_node__coll__graph.map @@ -1,6 +1,6 @@ - + diff --git a/de/d61/classrange__queries_1_1per_seg_tree_1_1_node__coll__graph.md5 b/de/d61/classrange__queries_1_1per_seg_tree_1_1_node__coll__graph.md5 index c017bac27..16d75ffcd 100644 --- a/de/d61/classrange__queries_1_1per_seg_tree_1_1_node__coll__graph.md5 +++ b/de/d61/classrange__queries_1_1per_seg_tree_1_1_node__coll__graph.md5 @@ -1 +1 @@ -fa3b1fa64665dabd8467863b63432d18 \ No newline at end of file +b7731df322b5f289eca3c745c19d1a1f \ No newline at end of file diff --git a/de/d61/classrange__queries_1_1per_seg_tree_1_1_node__coll__graph.svg b/de/d61/classrange__queries_1_1per_seg_tree_1_1_node__coll__graph.svg index 527b6952c..0265ee625 100644 --- a/de/d61/classrange__queries_1_1per_seg_tree_1_1_node__coll__graph.svg +++ b/de/d61/classrange__queries_1_1per_seg_tree_1_1_node__coll__graph.svg @@ -32,7 +32,7 @@ Node2 - + std::shared_ptr< range _queries::perSegTree:: diff --git a/de/d61/classrange__queries_1_1per_seg_tree_1_1_node__coll__graph_org.svg b/de/d61/classrange__queries_1_1per_seg_tree_1_1_node__coll__graph_org.svg index eae01a50f..dadb7f9d2 100644 --- a/de/d61/classrange__queries_1_1per_seg_tree_1_1_node__coll__graph_org.svg +++ b/de/d61/classrange__queries_1_1per_seg_tree_1_1_node__coll__graph_org.svg @@ -21,7 +21,7 @@ Node2 - + std::shared_ptr< range _queries::perSegTree:: diff --git a/de/d6a/knuth__morris__pratt_8cpp.html b/de/d6a/knuth__morris__pratt_8cpp.html index 48937bfad..5b4d81975 100644 --- a/de/d6a/knuth__morris__pratt_8cpp.html +++ b/de/d6a/knuth__morris__pratt_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: strings/knuth_morris_pratt.cpp File Reference +TheAlgorithms/C++: strings/knuth_morris_pratt.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -122,7 +139,9 @@ Include dependency graph for knuth_morris_pratt.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -131,10 +150,10 @@ Namespaces

    Namespaces

    namespace  string_search
    - + - + @@ -150,6 +169,8 @@ Functions
  • Step through the text one character at a time and compare it to a character in the pattern updating our location within the pattern if necessary
    Author
    Yancey
  • + +

    Definition in file knuth_morris_pratt.cpp.

    Function Documentation

    ◆ main()

    @@ -165,11 +186,13 @@ Functions

    Functions

    std::vector< size_t > string_search::getFailureArray (const std::string &pattern)
    std::vector< size_t > string_search::getFailureArray (const std::string &pattern)
     Generate the partial match table aka failure function for a pattern to search.
     
    size_t string_search::kmp (const std::string &pattern, const std::string &text)
    size_t string_search::kmp (const std::string &pattern, const std::string &text)
     KMP algorithm to find a pattern in a text.
     
    static void tests ()
    + +

    Definition at line 95 of file knuth_morris_pratt.cpp.

    95 {
    96 tests();
    97 return 0;
    98}
    -
    static void tests()
    self-test implementations
    Definition knuth_morris_pratt.cpp:79
    +
    static void tests()
    self-test implementations
    @@ -198,6 +221,8 @@ Functions

    self-test implementations

    Returns
    void
    + +

    Definition at line 79 of file knuth_morris_pratt.cpp.

    79 {
    80 assert(kmp("abc1abc12l", "alskfjaldsabc1abc1abc12k2") == std::string::npos);
    81 assert(kmp("bca", "abcabc") == 1);
    @@ -207,9 +232,8 @@ Functions
    85 assert(kmp("", "pattern is empty") == 0);
    86
    87 // this lets the user know that the tests have passed
    -
    88 std::cout << "All KMP algorithm tests have successfully passed!\n";
    +
    88 std::cout << "All KMP algorithm tests have successfully passed!\n";
    89}
    -
    diff --git a/de/d6a/knuth__morris__pratt_8cpp_source.html b/de/d6a/knuth__morris__pratt_8cpp_source.html new file mode 100644 index 000000000..16316a764 --- /dev/null +++ b/de/d6a/knuth__morris__pratt_8cpp_source.html @@ -0,0 +1,211 @@ + + + + + + + + +TheAlgorithms/C++: strings/knuth_morris_pratt.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    knuth_morris_pratt.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    16#include <cassert>
    +
    17#include <iostream>
    +
    18#include <string>
    +
    19#include <vector>
    +
    20
    +
    25namespace string_search {
    +
    +
    32std::vector<size_t> getFailureArray(const std::string &pattern) {
    +
    33 size_t pattern_length = pattern.size();
    +
    34 std::vector<size_t> failure(pattern_length + 1);
    +
    35 failure[0] = std::string::npos;
    +
    36 size_t j = std::string::npos;
    +
    37 for (int i = 0; i < pattern_length; i++) {
    +
    38 while (j != std::string::npos && pattern[j] != pattern[i]) {
    +
    39 j = failure[j];
    +
    40 }
    +
    41 failure[i + 1] = ++j;
    +
    42 }
    +
    43 return failure;
    +
    44}
    +
    +
    45
    +
    +
    53size_t kmp(const std::string &pattern, const std::string &text) {
    +
    54 if (pattern.empty()) {
    +
    55 return 0;
    +
    56 }
    +
    57 std::vector<size_t> failure = getFailureArray(pattern);
    +
    58 size_t text_length = text.size();
    +
    59 size_t pattern_length = pattern.size();
    +
    60 size_t k = 0;
    +
    61 for (size_t j = 0; j < text_length; j++) {
    +
    62 while (k != std::string::npos && pattern[k] != text[j]) {
    +
    63 k = failure[k];
    +
    64 }
    +
    65 if (++k == pattern_length) {
    +
    66 return j - k + 1;
    +
    67 }
    +
    68 }
    +
    69 return std::string::npos;
    +
    70}
    +
    +
    71} // namespace string_search
    +
    72
    + +
    74
    +
    +
    79static void tests() {
    +
    80 assert(kmp("abc1abc12l", "alskfjaldsabc1abc1abc12k2") == std::string::npos);
    +
    81 assert(kmp("bca", "abcabc") == 1);
    +
    82 assert(kmp("World", "helloWorld") == 5);
    +
    83 assert(kmp("c++", "his_is_c++") == 7);
    +
    84 assert(kmp("happy", "happy_coding") == 0);
    +
    85 assert(kmp("", "pattern is empty") == 0);
    +
    86
    +
    87 // this lets the user know that the tests have passed
    +
    88 std::cout << "All KMP algorithm tests have successfully passed!\n";
    +
    89}
    +
    +
    90
    +
    91/*
    +
    92 * @brief Main function
    +
    93 * @returns 0 on exit
    +
    94 */
    +
    95int main() {
    +
    96 tests();
    +
    97 return 0;
    +
    98}
    +
    int main()
    Main function.
    +
    static void tests()
    self-test implementations
    +
    String search algorithms.
    +
    size_t kmp(const std::string &pattern, const std::string &text)
    KMP algorithm to find a pattern in a text.
    +
    std::vector< size_t > getFailureArray(const std::string &pattern)
    Generate the partial match table aka failure function for a pattern to search.
    +
    +
    + + + + diff --git a/de/d6b/namespacerandom__pivot__quick__sort.html b/de/d6b/namespacerandom__pivot__quick__sort.html index 4f430ed6d..0b7c210d9 100644 --- a/de/d6b/namespacerandom__pivot__quick__sort.html +++ b/de/d6b/namespacerandom__pivot__quick__sort.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: random_pivot_quick_sort Namespace Reference +TheAlgorithms/C++: random_pivot_quick_sort Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/de/d72/geometric__dist_8cpp.html b/de/d72/geometric__dist_8cpp.html index efbc99df5..48c181a9a 100644 --- a/de/d72/geometric__dist_8cpp.html +++ b/de/d72/geometric__dist_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: probability/geometric_dist.cpp File Reference +TheAlgorithms/C++: probability/geometric_dist.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + @@ -127,7 +144,9 @@ Include dependency graph for geometric_dist.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -163,6 +182,8 @@ Functions

    The geometric distribution models the experiment of doing Bernoulli trials until a sucess was observed. There are two formulations of the geometric distribution: 1) The probability distribution of the number X of Bernoulli trials needed to get one success, supported on the set { 1, 2, 3, ... } 2) The probability distribution of the number Y = X − 1 of failures before the first success, supported on the set { 0, 1, 2, 3, ... } Here, the first one is implemented.

    Common variables used: p - The success probability k - The number of tries

    Author
    Domenic Zingsheim
    + +

    Definition in file geometric_dist.cpp.

    Function Documentation

    ◆ generate_uniform()

    @@ -181,15 +202,12 @@ Functions

    Returns a random number between [0,1].

    Returns
    A uniformly distributed random number between 0 (included) and 1 (included)
    + +

    Definition at line 48 of file geometric_dist.cpp.

    48 {
    49 return static_cast<float>(rand()) / static_cast<float>(RAND_MAX);
    50}
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -209,19 +227,15 @@ Here is the call graph for this function:

    Main function.

    Returns
    0 on exit
    + +

    Definition at line 256 of file geometric_dist.cpp.

    256 {
    -
    257 srand(time(nullptr));
    +
    257 srand(time(nullptr));
    258 test(); // run self-test implementations
    259 return 0;
    260}
    -
    static void test()
    Self-test implementations.
    Definition geometric_dist.cpp:197
    -
    T time(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static void test()
    Self-test implementations.
    + @@ -246,10 +260,12 @@ Here is the call graph for this function:

    Classes

    class  probability::geometric_dist::geometric_distribution
    + +

    Definition at line 165 of file geometric_dist.cpp.

    166 {
    167 uint32_t n_tries = 1000000;
    -
    168 std::vector<float> tries;
    -
    169 tries.resize(n_tries);
    +
    168 std::vector<float> tries;
    +
    169 tries.resize(n_tries);
    170
    171 float mean = 0.0f;
    172 for (uint32_t i = 0; i < n_tries; ++i) {
    @@ -267,24 +283,15 @@ Here is the call graph for this function:
    184 // Unbiased estimate of variance
    185 var /= static_cast<float>(n_tries - 1);
    186
    -
    187 std::cout << "This value should be near " << dist.expected_value() << ": "
    -
    188 << mean << std::endl;
    -
    189 std::cout << "This value should be near " << dist.variance() << ": " << var
    -
    190 << std::endl;
    +
    187 std::cout << "This value should be near " << dist.expected_value() << ": "
    +
    188 << mean << std::endl;
    +
    189 std::cout << "This value should be near " << dist.variance() << ": " << var
    +
    190 << std::endl;
    191}
    - -
    float expected_value() const
    The expected value of a geometrically distributed random variable X.
    Definition geometric_dist.cpp:71
    -
    uint32_t draw_sample() const
    Generates a (discrete) sample according to the geometrical distribution.
    Definition geometric_dist.cpp:125
    -
    float variance() const
    The variance of a geometrically distributed random variable X.
    Definition geometric_dist.cpp:77
    -
    T endl(T... args)
    -
    T resize(T... args)
    - -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    float expected_value() const
    The expected value of a geometrically distributed random variable X.
    +
    uint32_t draw_sample() const
    Generates a (discrete) sample according to the geometrical distribution.
    +
    float variance() const
    The variance of a geometrically distributed random variable X.
    + @@ -312,12 +319,14 @@ Here is the call graph for this function:

    Self-test implementations.

    Returns
    void
    + +

    Definition at line 197 of file geometric_dist.cpp.

    197 {
    199
    200 const float threshold = 1e-3f;
    201
    -
    202 std::cout << "Starting tests for p = 0.3..." << std::endl;
    +
    202 std::cout << "Starting tests for p = 0.3..." << std::endl;
    203 assert(std::abs(dist.expected_value() - 3.33333333f) < threshold);
    204 assert(std::abs(dist.variance() - 7.77777777f) < threshold);
    205 assert(std::abs(dist.standard_deviation() - 2.788866755) < threshold);
    @@ -329,12 +338,12 @@ Here is the call graph for this function:
    211 assert(std::abs(dist.range_tries() - 1.0f) < threshold);
    212 assert(std::abs(dist.range_tries(3) - 0.49f) < threshold);
    213 assert(std::abs(dist.range_tries(5, 11) - 0.2203267f) < threshold);
    -
    214 std::cout << "All tests passed" << std::endl;
    +
    214 std::cout << "All tests passed" << std::endl;
    215 sample_test(dist);
    216
    218
    -
    219 std::cout << "Starting tests for p = 0.5..." << std::endl;
    +
    219 std::cout << "Starting tests for p = 0.5..." << std::endl;
    220 assert(std::abs(dist.expected_value() - 2.0f) < threshold);
    221 assert(std::abs(dist.variance() - 2.0f) < threshold);
    222 assert(std::abs(dist.standard_deviation() - 1.4142135f) < threshold);
    @@ -346,12 +355,12 @@ Here is the call graph for this function:
    228 assert(std::abs(dist.range_tries() - 1.0f) < threshold);
    229 assert(std::abs(dist.range_tries(3) - 0.25f) < threshold);
    230 assert(std::abs(dist.range_tries(5, 11) - 0.062011f) < threshold);
    -
    231 std::cout << "All tests passed" << std::endl;
    +
    231 std::cout << "All tests passed" << std::endl;
    232 sample_test(dist);
    233
    235
    -
    236 std::cout << "Starting tests for p = 0.8..." << std::endl;
    +
    236 std::cout << "Starting tests for p = 0.8..." << std::endl;
    237 assert(std::abs(dist.expected_value() - 1.25f) < threshold);
    238 assert(std::abs(dist.variance() - 0.3125f) < threshold);
    239 assert(std::abs(dist.standard_deviation() - 0.559016f) < threshold);
    @@ -363,17 +372,12 @@ Here is the call graph for this function:
    245 assert(std::abs(dist.range_tries() - 1.0f) < threshold);
    246 assert(std::abs(dist.range_tries(3) - 0.04f) < threshold);
    247 assert(std::abs(dist.range_tries(5, 11) - 0.00159997f) < threshold);
    -
    248 std::cout << "All tests have successfully passed!" << std::endl;
    +
    248 std::cout << "All tests have successfully passed!" << std::endl;
    249 sample_test(dist);
    250}
    -
    A class to model the geometric distribution.
    Definition geometric_dist.cpp:55
    -
    void sample_test(const probability::geometric_dist::geometric_distribution &dist)
    Tests the sampling method of the geometric distribution.
    Definition geometric_dist.cpp:165
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    A class to model the geometric distribution.
    +
    void sample_test(const probability::geometric_dist::geometric_distribution &dist)
    Tests the sampling method of the geometric distribution.
    + diff --git a/de/d72/geometric__dist_8cpp_a70fd1cc5c3a2813f28683dc75dcd65b6_cgraph.map b/de/d72/geometric__dist_8cpp_a70fd1cc5c3a2813f28683dc75dcd65b6_cgraph.map deleted file mode 100644 index 7ff5fddf1..000000000 --- a/de/d72/geometric__dist_8cpp_a70fd1cc5c3a2813f28683dc75dcd65b6_cgraph.map +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - - - - - - - - - - - - - - - diff --git a/de/d72/geometric__dist_8cpp_a70fd1cc5c3a2813f28683dc75dcd65b6_cgraph.md5 b/de/d72/geometric__dist_8cpp_a70fd1cc5c3a2813f28683dc75dcd65b6_cgraph.md5 deleted file mode 100644 index 64e9da596..000000000 --- a/de/d72/geometric__dist_8cpp_a70fd1cc5c3a2813f28683dc75dcd65b6_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -58cdddf49dd7bbfd19671b6e6cdd31bf \ No newline at end of file diff --git a/de/d72/geometric__dist_8cpp_a70fd1cc5c3a2813f28683dc75dcd65b6_cgraph.svg b/de/d72/geometric__dist_8cpp_a70fd1cc5c3a2813f28683dc75dcd65b6_cgraph.svg deleted file mode 100644 index 52a1fb86b..000000000 --- a/de/d72/geometric__dist_8cpp_a70fd1cc5c3a2813f28683dc75dcd65b6_cgraph.svg +++ /dev/null @@ -1,266 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -sample_test - - -Node1 - - -sample_test - - - - - -Node2 - - -probability::geometric -_dist::geometric_distribution -::draw_sample - - - - - -Node1->Node2 - - - - - - - - -Node6 - - -std::endl - - - - - -Node1->Node6 - - - - - - - - -Node7 - - -probability::geometric -_dist::geometric_distribution -::expected_value - - - - - -Node1->Node7 - - - - - - - - -Node8 - - -std::vector::resize - - - - - -Node1->Node8 - - - - - - - - -Node9 - - -probability::geometric -_dist::geometric_distribution -::variance - - - - - -Node1->Node9 - - - - - - - - -Node3 - - -probability::geometric -_dist::generate_uniform - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -probability::geometric -_dist::geometric_distribution -::inverse_cumulative_distribution - - - - - -Node2->Node4 - - - - - - - - -Node3->Node3 - - - - - - - - -Node5 - - -std::log - - - - - -Node4->Node5 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/de/d72/geometric__dist_8cpp_a70fd1cc5c3a2813f28683dc75dcd65b6_cgraph_org.svg b/de/d72/geometric__dist_8cpp_a70fd1cc5c3a2813f28683dc75dcd65b6_cgraph_org.svg deleted file mode 100644 index 333ffd288..000000000 --- a/de/d72/geometric__dist_8cpp_a70fd1cc5c3a2813f28683dc75dcd65b6_cgraph_org.svg +++ /dev/null @@ -1,183 +0,0 @@ - - - - - - -sample_test - - -Node1 - - -sample_test - - - - - -Node2 - - -probability::geometric -_dist::geometric_distribution -::draw_sample - - - - - -Node1->Node2 - - - - - - - - -Node6 - - -std::endl - - - - - -Node1->Node6 - - - - - - - - -Node7 - - -probability::geometric -_dist::geometric_distribution -::expected_value - - - - - -Node1->Node7 - - - - - - - - -Node8 - - -std::vector::resize - - - - - -Node1->Node8 - - - - - - - - -Node9 - - -probability::geometric -_dist::geometric_distribution -::variance - - - - - -Node1->Node9 - - - - - - - - -Node3 - - -probability::geometric -_dist::generate_uniform - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -probability::geometric -_dist::geometric_distribution -::inverse_cumulative_distribution - - - - - -Node2->Node4 - - - - - - - - -Node3->Node3 - - - - - - - - -Node5 - - -std::log - - - - - -Node4->Node5 - - - - - - - - diff --git a/de/d72/geometric__dist_8cpp_a82964ca6180507deb5fafc71050012ba_cgraph.map b/de/d72/geometric__dist_8cpp_a82964ca6180507deb5fafc71050012ba_cgraph.map deleted file mode 100644 index adaa01a5e..000000000 --- a/de/d72/geometric__dist_8cpp_a82964ca6180507deb5fafc71050012ba_cgraph.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/de/d72/geometric__dist_8cpp_a82964ca6180507deb5fafc71050012ba_cgraph.md5 b/de/d72/geometric__dist_8cpp_a82964ca6180507deb5fafc71050012ba_cgraph.md5 deleted file mode 100644 index c0e8cf261..000000000 --- a/de/d72/geometric__dist_8cpp_a82964ca6180507deb5fafc71050012ba_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -76a030785997d7c204cf6aa41c38e21c \ No newline at end of file diff --git a/de/d72/geometric__dist_8cpp_a82964ca6180507deb5fafc71050012ba_cgraph.svg b/de/d72/geometric__dist_8cpp_a82964ca6180507deb5fafc71050012ba_cgraph.svg deleted file mode 100644 index 27f147ef5..000000000 --- a/de/d72/geometric__dist_8cpp_a82964ca6180507deb5fafc71050012ba_cgraph.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - - - - - - - -probability::geometric_dist::generate_uniform - - -Node1 - - -probability::geometric -_dist::generate_uniform - - - - - -Node1->Node1 - - - - - - - - - - - - - diff --git a/de/d72/geometric__dist_8cpp_a82964ca6180507deb5fafc71050012ba_cgraph_org.svg b/de/d72/geometric__dist_8cpp_a82964ca6180507deb5fafc71050012ba_cgraph_org.svg deleted file mode 100644 index 06ef9ba78..000000000 --- a/de/d72/geometric__dist_8cpp_a82964ca6180507deb5fafc71050012ba_cgraph_org.svg +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - -probability::geometric_dist::generate_uniform - - -Node1 - - -probability::geometric -_dist::generate_uniform - - - - - -Node1->Node1 - - - - - - - - diff --git a/de/d72/geometric__dist_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map b/de/d72/geometric__dist_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map deleted file mode 100644 index 48c6d06ee..000000000 --- a/de/d72/geometric__dist_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map +++ /dev/null @@ -1,43 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/de/d72/geometric__dist_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 b/de/d72/geometric__dist_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 deleted file mode 100644 index 13d9006e8..000000000 --- a/de/d72/geometric__dist_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -1879cf1ea23b951388db2ed8c58394fd \ No newline at end of file diff --git a/de/d72/geometric__dist_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg b/de/d72/geometric__dist_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg deleted file mode 100644 index 55faf4b44..000000000 --- a/de/d72/geometric__dist_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg +++ /dev/null @@ -1,481 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -probability::geometric -_dist::geometric_distribution -::cumulative_distribution - - - - - -Node1->Node2 - - - - - - - - -Node4 - - -std::endl - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -probability::geometric -_dist::geometric_distribution -::expected_value - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -probability::geometric -_dist::geometric_distribution -::inverse_cumulative_distribution - - - - - -Node1->Node6 - - - - - - - - -Node8 - - -probability::geometric -_dist::geometric_distribution -::probability_density - - - - - -Node1->Node8 - - - - - - - - -Node9 - - -probability::geometric -_dist::geometric_distribution -::range_tries - - - - - -Node1->Node9 - - - - - - - - -Node11 - - -sample_test - - - - - -Node1->Node11 - - - - - - - - -Node15 - - -probability::geometric -_dist::geometric_distribution -::variance - - - - - -Node1->Node15 - - - - - - - - -Node16 - - -probability::geometric -_dist::geometric_distribution -::standard_deviation - - - - - -Node1->Node16 - - - - - - - - -Node3 - - -std::pow - - - - - -Node2->Node3 - - - - - - - - -Node7 - - -std::log - - - - - -Node6->Node7 - - - - - - - - -Node8->Node3 - - - - - - - - -Node9->Node2 - - - - - - - - -Node10 - - -std::numeric_limits::max - - - - - -Node9->Node10 - - - - - - - - -Node11->Node4 - - - - - - - - -Node11->Node5 - - - - - - - - -Node12 - - -probability::geometric -_dist::geometric_distribution -::draw_sample - - - - - -Node11->Node12 - - - - - - - - -Node14 - - -std::vector::resize - - - - - -Node11->Node14 - - - - - - - - -Node11->Node15 - - - - - - - - -Node12->Node6 - - - - - - - - -Node13 - - -probability::geometric -_dist::generate_uniform - - - - - -Node12->Node13 - - - - - - - - -Node13->Node13 - - - - - - - - -Node16->Node15 - - - - - - - - -Node17 - - -std::sqrt - - - - - -Node16->Node17 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/de/d72/geometric__dist_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg b/de/d72/geometric__dist_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg deleted file mode 100644 index b9fefe4f6..000000000 --- a/de/d72/geometric__dist_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg +++ /dev/null @@ -1,398 +0,0 @@ - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -probability::geometric -_dist::geometric_distribution -::cumulative_distribution - - - - - -Node1->Node2 - - - - - - - - -Node4 - - -std::endl - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -probability::geometric -_dist::geometric_distribution -::expected_value - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -probability::geometric -_dist::geometric_distribution -::inverse_cumulative_distribution - - - - - -Node1->Node6 - - - - - - - - -Node8 - - -probability::geometric -_dist::geometric_distribution -::probability_density - - - - - -Node1->Node8 - - - - - - - - -Node9 - - -probability::geometric -_dist::geometric_distribution -::range_tries - - - - - -Node1->Node9 - - - - - - - - -Node11 - - -sample_test - - - - - -Node1->Node11 - - - - - - - - -Node15 - - -probability::geometric -_dist::geometric_distribution -::variance - - - - - -Node1->Node15 - - - - - - - - -Node16 - - -probability::geometric -_dist::geometric_distribution -::standard_deviation - - - - - -Node1->Node16 - - - - - - - - -Node3 - - -std::pow - - - - - -Node2->Node3 - - - - - - - - -Node7 - - -std::log - - - - - -Node6->Node7 - - - - - - - - -Node8->Node3 - - - - - - - - -Node9->Node2 - - - - - - - - -Node10 - - -std::numeric_limits::max - - - - - -Node9->Node10 - - - - - - - - -Node11->Node4 - - - - - - - - -Node11->Node5 - - - - - - - - -Node12 - - -probability::geometric -_dist::geometric_distribution -::draw_sample - - - - - -Node11->Node12 - - - - - - - - -Node14 - - -std::vector::resize - - - - - -Node11->Node14 - - - - - - - - -Node11->Node15 - - - - - - - - -Node12->Node6 - - - - - - - - -Node13 - - -probability::geometric -_dist::generate_uniform - - - - - -Node12->Node13 - - - - - - - - -Node13->Node13 - - - - - - - - -Node16->Node15 - - - - - - - - -Node17 - - -std::sqrt - - - - - -Node16->Node17 - - - - - - - - diff --git a/de/d72/geometric__dist_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/de/d72/geometric__dist_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index b3bcf26aa..000000000 --- a/de/d72/geometric__dist_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/de/d72/geometric__dist_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/de/d72/geometric__dist_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index ea0c3b835..000000000 --- a/de/d72/geometric__dist_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -5fd969b13d5263bc5523854e02ed22ce \ No newline at end of file diff --git a/de/d72/geometric__dist_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/de/d72/geometric__dist_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index e7cd15269..000000000 --- a/de/d72/geometric__dist_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,499 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -probability::geometric -_dist::geometric_distribution -::cumulative_distribution - - - - - -Node2->Node3 - - - - - - - - -Node5 - - -std::endl - - - - - -Node2->Node5 - - - - - - - - -Node6 - - -probability::geometric -_dist::geometric_distribution -::expected_value - - - - - -Node2->Node6 - - - - - - - - -Node7 - - -probability::geometric -_dist::geometric_distribution -::inverse_cumulative_distribution - - - - - -Node2->Node7 - - - - - - - - -Node9 - - -probability::geometric -_dist::geometric_distribution -::probability_density - - - - - -Node2->Node9 - - - - - - - - -Node10 - - -probability::geometric -_dist::geometric_distribution -::range_tries - - - - - -Node2->Node10 - - - - - - - - -Node12 - - -sample_test - - - - - -Node2->Node12 - - - - - - - - -Node16 - - -probability::geometric -_dist::geometric_distribution -::variance - - - - - -Node2->Node16 - - - - - - - - -Node17 - - -probability::geometric -_dist::geometric_distribution -::standard_deviation - - - - - -Node2->Node17 - - - - - - - - -Node4 - - -std::pow - - - - - -Node3->Node4 - - - - - - - - -Node8 - - -std::log - - - - - -Node7->Node8 - - - - - - - - -Node9->Node4 - - - - - - - - -Node10->Node3 - - - - - - - - -Node11 - - -std::numeric_limits::max - - - - - -Node10->Node11 - - - - - - - - -Node12->Node5 - - - - - - - - -Node12->Node6 - - - - - - - - -Node13 - - -probability::geometric -_dist::geometric_distribution -::draw_sample - - - - - -Node12->Node13 - - - - - - - - -Node15 - - -std::vector::resize - - - - - -Node12->Node15 - - - - - - - - -Node12->Node16 - - - - - - - - -Node13->Node7 - - - - - - - - -Node14 - - -probability::geometric -_dist::generate_uniform - - - - - -Node13->Node14 - - - - - - - - -Node14->Node14 - - - - - - - - -Node17->Node16 - - - - - - - - -Node18 - - -std::sqrt - - - - - -Node17->Node18 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/de/d72/geometric__dist_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/de/d72/geometric__dist_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index c1072ead9..000000000 --- a/de/d72/geometric__dist_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,416 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -probability::geometric -_dist::geometric_distribution -::cumulative_distribution - - - - - -Node2->Node3 - - - - - - - - -Node5 - - -std::endl - - - - - -Node2->Node5 - - - - - - - - -Node6 - - -probability::geometric -_dist::geometric_distribution -::expected_value - - - - - -Node2->Node6 - - - - - - - - -Node7 - - -probability::geometric -_dist::geometric_distribution -::inverse_cumulative_distribution - - - - - -Node2->Node7 - - - - - - - - -Node9 - - -probability::geometric -_dist::geometric_distribution -::probability_density - - - - - -Node2->Node9 - - - - - - - - -Node10 - - -probability::geometric -_dist::geometric_distribution -::range_tries - - - - - -Node2->Node10 - - - - - - - - -Node12 - - -sample_test - - - - - -Node2->Node12 - - - - - - - - -Node16 - - -probability::geometric -_dist::geometric_distribution -::variance - - - - - -Node2->Node16 - - - - - - - - -Node17 - - -probability::geometric -_dist::geometric_distribution -::standard_deviation - - - - - -Node2->Node17 - - - - - - - - -Node4 - - -std::pow - - - - - -Node3->Node4 - - - - - - - - -Node8 - - -std::log - - - - - -Node7->Node8 - - - - - - - - -Node9->Node4 - - - - - - - - -Node10->Node3 - - - - - - - - -Node11 - - -std::numeric_limits::max - - - - - -Node10->Node11 - - - - - - - - -Node12->Node5 - - - - - - - - -Node12->Node6 - - - - - - - - -Node13 - - -probability::geometric -_dist::geometric_distribution -::draw_sample - - - - - -Node12->Node13 - - - - - - - - -Node15 - - -std::vector::resize - - - - - -Node12->Node15 - - - - - - - - -Node12->Node16 - - - - - - - - -Node13->Node7 - - - - - - - - -Node14 - - -probability::geometric -_dist::generate_uniform - - - - - -Node13->Node14 - - - - - - - - -Node14->Node14 - - - - - - - - -Node17->Node16 - - - - - - - - -Node18 - - -std::sqrt - - - - - -Node17->Node18 - - - - - - - - diff --git a/de/d72/geometric__dist_8cpp_source.html b/de/d72/geometric__dist_8cpp_source.html new file mode 100644 index 000000000..54dad550f --- /dev/null +++ b/de/d72/geometric__dist_8cpp_source.html @@ -0,0 +1,323 @@ + + + + + + + + +TheAlgorithms/C++: probability/geometric_dist.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    geometric_dist.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    22#include <cassert>
    +
    23#include <cmath>
    +
    24#include <cstdint>
    +
    25#include <ctime>
    +
    26#include <iostream>
    +
    27#include <limits>
    +
    28#include <random>
    +
    29#include <vector>
    +
    30
    +
    35namespace probability {
    +
    42namespace geometric_dist {
    +
    + +
    49 return static_cast<float>(rand()) / static_cast<float>(RAND_MAX);
    +
    50}
    +
    +
    51
    +
    + +
    56 private:
    +
    57 float p;
    +
    58
    +
    59 public:
    +
    64 explicit geometric_distribution(const float& p) : p(p) {}
    +
    65
    +
    71 float expected_value() const { return 1.0f / p; }
    +
    72
    +
    77 float variance() const { return (1.0f - p) / (p * p); }
    +
    78
    +
    84 float standard_deviation() const { return std::sqrt(variance()); }
    +
    85
    +
    +
    93 float probability_density(const uint32_t& k) const {
    +
    94 return std::pow((1.0f - p), static_cast<float>(k - 1)) * p;
    +
    95 }
    +
    +
    96
    +
    +
    104 float cumulative_distribution(const uint32_t& k) const {
    +
    105 return 1.0f - std::pow((1.0f - p), static_cast<float>(k));
    +
    106 }
    +
    +
    107
    +
    +
    116 float inverse_cumulative_distribution(const float& cdf) const {
    +
    117 return std::log(1.0f - cdf) / std::log(1.0f - p);
    +
    118 }
    +
    +
    119
    +
    +
    125 uint32_t draw_sample() const {
    +
    126 float uniform_sample = generate_uniform();
    +
    127 return static_cast<uint32_t>(
    +
    128 inverse_cumulative_distribution(uniform_sample)) +
    +
    129 1;
    +
    130 }
    +
    +
    131
    +
    +
    145 float range_tries(const uint32_t& min_tries = 1,
    +
    146 const uint32_t& max_tries =
    +
    147 std::numeric_limits<uint32_t>::max()) const {
    +
    148 float cdf_lower = cumulative_distribution(min_tries - 1);
    +
    149 float cdf_upper = max_tries == std::numeric_limits<uint32_t>::max()
    +
    150 ? 1.0f
    +
    151 : cumulative_distribution(max_tries);
    +
    152 return cdf_upper - cdf_lower;
    +
    153 }
    +
    +
    154};
    +
    +
    155} // namespace geometric_dist
    +
    156} // namespace probability
    +
    157
    +
    + + +
    167 uint32_t n_tries = 1000000;
    +
    168 std::vector<float> tries;
    +
    169 tries.resize(n_tries);
    +
    170
    +
    171 float mean = 0.0f;
    +
    172 for (uint32_t i = 0; i < n_tries; ++i) {
    +
    173 tries[i] = static_cast<float>(dist.draw_sample());
    +
    174 mean += tries[i];
    +
    175 }
    +
    176
    +
    177 mean /= static_cast<float>(n_tries);
    +
    178
    +
    179 float var = 0.0f;
    +
    180 for (uint32_t i = 0; i < n_tries; ++i) {
    +
    181 var += (tries[i] - mean) * (tries[i] - mean);
    +
    182 }
    +
    183
    +
    184 // Unbiased estimate of variance
    +
    185 var /= static_cast<float>(n_tries - 1);
    +
    186
    +
    187 std::cout << "This value should be near " << dist.expected_value() << ": "
    +
    188 << mean << std::endl;
    +
    189 std::cout << "This value should be near " << dist.variance() << ": " << var
    +
    190 << std::endl;
    +
    191}
    +
    +
    192
    +
    +
    197static void test() {
    + +
    199
    +
    200 const float threshold = 1e-3f;
    +
    201
    +
    202 std::cout << "Starting tests for p = 0.3..." << std::endl;
    +
    203 assert(std::abs(dist.expected_value() - 3.33333333f) < threshold);
    +
    204 assert(std::abs(dist.variance() - 7.77777777f) < threshold);
    +
    205 assert(std::abs(dist.standard_deviation() - 2.788866755) < threshold);
    +
    206 assert(std::abs(dist.probability_density(5) - 0.07203) < threshold);
    +
    207 assert(std::abs(dist.cumulative_distribution(6) - 0.882351) < threshold);
    +
    208 assert(std::abs(dist.inverse_cumulative_distribution(
    +
    209 dist.cumulative_distribution(8)) -
    +
    210 8) < threshold);
    +
    211 assert(std::abs(dist.range_tries() - 1.0f) < threshold);
    +
    212 assert(std::abs(dist.range_tries(3) - 0.49f) < threshold);
    +
    213 assert(std::abs(dist.range_tries(5, 11) - 0.2203267f) < threshold);
    +
    214 std::cout << "All tests passed" << std::endl;
    +
    215 sample_test(dist);
    +
    216
    + +
    218
    +
    219 std::cout << "Starting tests for p = 0.5..." << std::endl;
    +
    220 assert(std::abs(dist.expected_value() - 2.0f) < threshold);
    +
    221 assert(std::abs(dist.variance() - 2.0f) < threshold);
    +
    222 assert(std::abs(dist.standard_deviation() - 1.4142135f) < threshold);
    +
    223 assert(std::abs(dist.probability_density(5) - 0.03125) < threshold);
    +
    224 assert(std::abs(dist.cumulative_distribution(6) - 0.984375) < threshold);
    +
    225 assert(std::abs(dist.inverse_cumulative_distribution(
    +
    226 dist.cumulative_distribution(8)) -
    +
    227 8) < threshold);
    +
    228 assert(std::abs(dist.range_tries() - 1.0f) < threshold);
    +
    229 assert(std::abs(dist.range_tries(3) - 0.25f) < threshold);
    +
    230 assert(std::abs(dist.range_tries(5, 11) - 0.062011f) < threshold);
    +
    231 std::cout << "All tests passed" << std::endl;
    +
    232 sample_test(dist);
    +
    233
    + +
    235
    +
    236 std::cout << "Starting tests for p = 0.8..." << std::endl;
    +
    237 assert(std::abs(dist.expected_value() - 1.25f) < threshold);
    +
    238 assert(std::abs(dist.variance() - 0.3125f) < threshold);
    +
    239 assert(std::abs(dist.standard_deviation() - 0.559016f) < threshold);
    +
    240 assert(std::abs(dist.probability_density(5) - 0.00128) < threshold);
    +
    241 assert(std::abs(dist.cumulative_distribution(6) - 0.999936) < threshold);
    +
    242 assert(std::abs(dist.inverse_cumulative_distribution(
    +
    243 dist.cumulative_distribution(8)) -
    +
    244 8) < threshold);
    +
    245 assert(std::abs(dist.range_tries() - 1.0f) < threshold);
    +
    246 assert(std::abs(dist.range_tries(3) - 0.04f) < threshold);
    +
    247 assert(std::abs(dist.range_tries(5, 11) - 0.00159997f) < threshold);
    +
    248 std::cout << "All tests have successfully passed!" << std::endl;
    +
    249 sample_test(dist);
    +
    250}
    +
    +
    251
    +
    +
    256int main() {
    +
    257 srand(time(nullptr));
    +
    258 test(); // run self-test implementations
    +
    259 return 0;
    +
    260}
    +
    +
    A class to model the geometric distribution.
    +
    float cumulative_distribution(const uint32_t &k) const
    The cumulative distribution function.
    +
    float standard_deviation() const
    The standard deviation of a geometrically distributed random variable X.
    +
    float expected_value() const
    The expected value of a geometrically distributed random variable X.
    +
    float range_tries(const uint32_t &min_tries=1, const uint32_t &max_tries=std::numeric_limits< uint32_t >::max()) const
    This function computes the probability to have success in a given range of tries.
    +
    uint32_t draw_sample() const
    Generates a (discrete) sample according to the geometrical distribution.
    +
    geometric_distribution(const float &p)
    Constructor for the geometric distribution.
    +
    float inverse_cumulative_distribution(const float &cdf) const
    The inverse cumulative distribution function.
    + +
    float variance() const
    The variance of a geometrically distributed random variable X.
    +
    float probability_density(const uint32_t &k) const
    The probability density function.
    +
    void sample_test(const probability::geometric_dist::geometric_distribution &dist)
    Tests the sampling method of the geometric distribution.
    +
    float generate_uniform()
    Returns a random number between [0,1].
    +
    static void test()
    Self-test implementations.
    +
    int main()
    Main function.
    +
    Functions for the Geometric Distribution algorithm implementation.
    +
    Probability algorithms.
    +
    +
    + + + + diff --git a/de/d75/qr__eigen__values_8cpp.html b/de/d75/qr__eigen__values_8cpp.html index 2088e57ec..1fe5f239f 100644 --- a/de/d75/qr__eigen__values_8cpp.html +++ b/de/d75/qr__eigen__values_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: numerical_methods/qr_eigen_values.cpp File Reference +TheAlgorithms/C++: numerical_methods/qr_eigen_values.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -125,7 +142,9 @@ Include dependency graph for qr_eigen_values.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -139,11 +158,11 @@ Macros

    Namespaces

    namespace  qr_algorithm
    - + - + - + @@ -155,6 +174,8 @@ Functions

    Detailed Description

    Compute real eigen values and eigen vectors of a symmetric matrix using QR decomposition method.

    Author
    Krishna Vedala
    + +

    Definition in file qr_eigen_values.cpp.

    Macro Definition Documentation

    ◆ LIMS

    @@ -169,6 +190,8 @@ Functions

    limit of range of matrix values

    +

    Definition at line 20 of file qr_eigen_values.cpp.

    +

    Function Documentation

    @@ -181,7 +204,7 @@ Functions - +

    Functions

    void create_matrix (std::valarray< std::valarray< double > > *A)
    void create_matrix (std::valarray< std::valarray< double > > *A)
     
    void mat_mul (const std::valarray< std::valarray< double > > &A, const std::valarray< std::valarray< double > > &B, std::valarray< std::valarray< double > > *OUT)
    void mat_mul (const std::valarray< std::valarray< double > > &A, const std::valarray< std::valarray< double > > &B, std::valarray< std::valarray< double > > *OUT)
     
    std::valarray< double > qr_algorithm::eigen_values (std::valarray< std::valarray< double > > *A, bool print_intermediates=false)
    std::valarray< double > qr_algorithm::eigen_values (std::valarray< std::valarray< double > > *A, bool print_intermediates=false)
     
    void test1 ()
     
    void create_matrix (std::valarray< std::valarray< double > > * A)std::valarray< std::valarray< double > > * A)
    @@ -193,6 +216,8 @@ Functions + +

    Definition at line 28 of file qr_eigen_values.cpp.

    28 {
    29 int i, j, tmp, lim2 = LIMS >> 1;
    30 int N = A->size();
    @@ -201,23 +226,17 @@ Functions
    33#pragma omp for
    34#endif
    35 for (i = 0; i < N; i++) {
    -
    36 A[0][i][i] = (std::rand() % LIMS) - lim2;
    +
    36 A[0][i][i] = (std::rand() % LIMS) - lim2;
    37 for (j = i + 1; j < N; j++) {
    -
    38 tmp = (std::rand() % LIMS) - lim2;
    +
    38 tmp = (std::rand() % LIMS) - lim2;
    39 A[0][i][j] = tmp; // summetrically distribute random values
    40 A[0][j][i] = tmp;
    41 }
    42 }
    43}
    -
    #define LIMS
    Definition qr_eigen_values.cpp:20
    -
    T rand(T... args)
    -
    constexpr uint32_t N
    A struct to represent sparse table for min() as their invariant function, for the given array A....
    Definition sparse_table.cpp:48
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    #define LIMS
    +
    constexpr uint32_t N
    A struct to represent sparse table for min() as their invariant function, for the given array A....
    +
    @@ -239,66 +258,56 @@ Here is the call graph for this function:

    main function

    + +

    Definition at line 243 of file qr_eigen_values.cpp.

    243 {
    244 int mat_size = 5;
    245 if (argc == 2) {
    -
    246 mat_size = atoi(argv[1]);
    +
    246 mat_size = atoi(argv[1]);
    247 } else { // if invalid input argument is given run tests
    248 test1();
    249 test2();
    -
    250 std::cout << "Usage: ./qr_eigen_values [mat_size]\n";
    +
    250 std::cout << "Usage: ./qr_eigen_values [mat_size]\n";
    251 return 0;
    252 }
    253
    254 if (mat_size < 2) {
    -
    255 fprintf(stderr, "Matrix size should be > 2\n");
    +
    255 fprintf(stderr, "Matrix size should be > 2\n");
    256 return -1;
    257 }
    258
    259 // initialize random number generator
    -
    260 std::srand(std::time(nullptr));
    +
    260 std::srand(std::time(nullptr));
    261
    262 int i, rows = mat_size, columns = mat_size;
    263
    - +
    264 std::valarray<std::valarray<double>> A(rows);
    265
    266 for (int i = 0; i < rows; i++) {
    -
    267 A[i] = std::valarray<double>(columns);
    +
    267 A[i] = std::valarray<double>(columns);
    268 }
    269
    270 /* create a random matrix */
    271 create_matrix(&A);
    272
    -
    273 std::cout << A << "\n";
    +
    273 std::cout << A << "\n";
    274
    -
    275 clock_t t1 = clock();
    - -
    277 double dtime = static_cast<double>(clock() - t1) / CLOCKS_PER_SEC;
    +
    275 clock_t t1 = clock();
    +
    276 std::valarray<double> eigen_vals = qr_algorithm::eigen_values(&A);
    +
    277 double dtime = static_cast<double>(clock() - t1) / CLOCKS_PER_SEC;
    278
    -
    279 std::cout << "Eigen vals: ";
    -
    280 for (i = 0; i < mat_size; i++) std::cout << eigen_vals[i] << "\t";
    -
    281 std::cout << "\nTime taken to compute: " << dtime << " sec\n";
    +
    279 std::cout << "Eigen vals: ";
    +
    280 for (i = 0; i < mat_size; i++) std::cout << eigen_vals[i] << "\t";
    +
    281 std::cout << "\nTime taken to compute: " << dtime << " sec\n";
    282
    283 return 0;
    284}
    -
    T atoi(T... args)
    - -
    T clock(T... args)
    -
    T fprintf(T... args)
    -
    ll mat_size
    Definition matrix_exponentiation.cpp:45
    -
    std::valarray< double > eigen_values(std::valarray< std::valarray< double > > *A, bool print_intermediates=false)
    Definition qr_eigen_values.cpp:98
    -
    void test2()
    Definition qr_eigen_values.cpp:210
    -
    void test1()
    Definition qr_eigen_values.cpp:177
    -
    void create_matrix(std::valarray< std::valarray< double > > *A)
    Definition qr_eigen_values.cpp:28
    -
    T srand(T... args)
    -
    T time(T... args)
    - -
    -Here is the call graph for this function:
    -
    -
    -
    - + +
    std::valarray< double > eigen_values(std::valarray< std::valarray< double > > *A, bool print_intermediates=false)
    +
    void test2()
    +
    void test1()
    +
    void create_matrix(std::valarray< std::valarray< double > > *A)
    +
    @@ -310,17 +319,17 @@ Here is the call graph for this function: void mat_mul ( - const std::valarray< std::valarray< double > > & A, + const std::valarray< std::valarray< double > > & A, - const std::valarray< std::valarray< double > > & B, + const std::valarray< std::valarray< double > > & B, - std::valarray< std::valarray< double > > * OUT ) + std::valarray< std::valarray< double > > * OUT )
    @@ -337,13 +346,15 @@ Here is the call graph for this function:
    Returns
    pointer to resultant matrix
    + +

    Definition at line 54 of file qr_eigen_values.cpp.

    56 {
    57 int R1 = A.size();
    58 int C1 = A[0].size();
    59 int R2 = B.size();
    60 int C2 = B[0].size();
    61 if (C1 != R2) {
    -
    62 perror("Matrix dimensions mismatch!");
    +
    62 perror("Matrix dimensions mismatch!");
    63 return;
    64 }
    65
    @@ -356,8 +367,7 @@ Here is the call graph for this function:
    72 }
    73 }
    74}
    -
    double k(double x)
    Another test function.
    Definition composite_simpson_rule.cpp:117
    -
    T perror(T... args)
    +
    double k(double x)
    Another test function.
    @@ -382,35 +392,31 @@ Here is the call graph for this function: \end{bmatrix}\]

    which are approximately, {15.56158, 0.384227}

    + +

    Definition at line 177 of file qr_eigen_values.cpp.

    177 {
    -
    178 std::valarray<std::valarray<double>> X = {{5, 7}, {7, 11}};
    +
    178 std::valarray<std::valarray<double>> X = {{5, 7}, {7, 11}};
    179 double y[] = {15.56158, 0.384227}; // corresponding y-values
    180
    -
    181 std::cout << "------- Test 1 -------" << std::endl;
    - +
    181 std::cout << "------- Test 1 -------" << std::endl;
    +
    182 std::valarray<double> eig_vals = qr_algorithm::eigen_values(&X);
    183
    184 for (int i = 0; i < 2; i++) {
    -
    185 std::cout << i + 1 << "/2 Checking for " << y[i] << " --> ";
    +
    185 std::cout << i + 1 << "/2 Checking for " << y[i] << " --> ";
    186 bool result = false;
    187 for (int j = 0; j < 2 && !result; j++) {
    188 if (std::abs(y[i] - eig_vals[j]) < 0.1) {
    189 result = true;
    -
    190 std::cout << "(" << eig_vals[j] << ") ";
    +
    190 std::cout << "(" << eig_vals[j] << ") ";
    191 }
    192 }
    193 assert(result); // ensure that i^th expected eigen value was computed
    -
    194 std::cout << "found\n";
    +
    194 std::cout << "found\n";
    195 }
    -
    196 std::cout << "Test 1 Passed\n\n";
    +
    196 std::cout << "Test 1 Passed\n\n";
    197}
    -
    T endl(T... args)
    -
    uint64_t result(uint64_t n)
    Definition fibonacci_sum.cpp:77
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    uint64_t result(uint64_t n)
    + @@ -437,8 +443,10 @@ Here is the call graph for this function: \end{bmatrix}\]

    which are approximately, {9.27648, -9.26948, 2.0181, -1.03516, -5.98994}

    + +

    Definition at line 210 of file qr_eigen_values.cpp.

    210 {
    -
    211 std::valarray<std::valarray<double>> X = {{-4, 4, 2, 0, -3},
    +
    211 std::valarray<std::valarray<double>> X = {{-4, 4, 2, 0, -3},
    212 {4, -4, 4, -3, -1},
    213 {2, 4, 4, 3, -3},
    214 {0, -3, 3, -1, -3},
    @@ -446,32 +454,27 @@ Here is the call graph for this function:
    216 double y[] = {9.27648, -9.26948, 2.0181, -1.03516,
    217 -5.98994}; // corresponding y-values
    218
    -
    219 std::cout << "------- Test 2 -------" << std::endl;
    - +
    219 std::cout << "------- Test 2 -------" << std::endl;
    +
    220 std::valarray<double> eig_vals = qr_algorithm::eigen_values(&X);
    221
    -
    222 std::cout << X << "\n"
    +
    222 std::cout << X << "\n"
    223 << "Eigen values: " << eig_vals << "\n";
    224
    225 for (int i = 0; i < 5; i++) {
    -
    226 std::cout << i + 1 << "/5 Checking for " << y[i] << " --> ";
    +
    226 std::cout << i + 1 << "/5 Checking for " << y[i] << " --> ";
    227 bool result = false;
    228 for (int j = 0; j < 5 && !result; j++) {
    229 if (std::abs(y[i] - eig_vals[j]) < 0.1) {
    230 result = true;
    -
    231 std::cout << "(" << eig_vals[j] << ") ";
    +
    231 std::cout << "(" << eig_vals[j] << ") ";
    232 }
    233 }
    234 assert(result); // ensure that i^th expected eigen value was computed
    -
    235 std::cout << "found\n";
    +
    235 std::cout << "found\n";
    236 }
    -
    237 std::cout << "Test 2 Passed\n\n";
    +
    237 std::cout << "Test 2 Passed\n\n";
    238}
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + diff --git a/de/d75/qr__eigen__values_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph.map b/de/d75/qr__eigen__values_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph.map deleted file mode 100644 index eb14f666a..000000000 --- a/de/d75/qr__eigen__values_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph.map +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - - - - - - - - - - - - - - - diff --git a/de/d75/qr__eigen__values_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph.md5 b/de/d75/qr__eigen__values_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph.md5 deleted file mode 100644 index 15a0ec6ab..000000000 --- a/de/d75/qr__eigen__values_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -f59cea11e5cbb6d520cc654b2095871e \ No newline at end of file diff --git a/de/d75/qr__eigen__values_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph.svg b/de/d75/qr__eigen__values_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph.svg deleted file mode 100644 index 8c2f128e4..000000000 --- a/de/d75/qr__eigen__values_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph.svg +++ /dev/null @@ -1,258 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -test2 - - -Node1 - - -test2 - - - - - -Node2 - - -qr_algorithm::eigen -_values - - - - - -Node1->Node2 - - - - - - - - -Node9 - - -std::endl - - - - - -Node1->Node9 - - - - - - - - -Node3 - - -mat_mul - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -qr_algorithm::qr_decompose - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -qr_algorithm::vector_mag - - - - - -Node4->Node5 - - - - - - - - -Node8 - - -qr_algorithm::vector_proj - - - - - -Node4->Node8 - - - - - - - - -Node6 - - -std::sqrt - - - - - -Node5->Node6 - - - - - - - - -Node7 - - -qr_algorithm::vector_dot - - - - - -Node5->Node7 - - - - - - - - -Node8->Node7 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/de/d75/qr__eigen__values_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph_org.svg b/de/d75/qr__eigen__values_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph_org.svg deleted file mode 100644 index 1ff16b6a8..000000000 --- a/de/d75/qr__eigen__values_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph_org.svg +++ /dev/null @@ -1,175 +0,0 @@ - - - - - - -test2 - - -Node1 - - -test2 - - - - - -Node2 - - -qr_algorithm::eigen -_values - - - - - -Node1->Node2 - - - - - - - - -Node9 - - -std::endl - - - - - -Node1->Node9 - - - - - - - - -Node3 - - -mat_mul - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -qr_algorithm::qr_decompose - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -qr_algorithm::vector_mag - - - - - -Node4->Node5 - - - - - - - - -Node8 - - -qr_algorithm::vector_proj - - - - - -Node4->Node8 - - - - - - - - -Node6 - - -std::sqrt - - - - - -Node5->Node6 - - - - - - - - -Node7 - - -qr_algorithm::vector_dot - - - - - -Node5->Node7 - - - - - - - - -Node8->Node7 - - - - - - - - diff --git a/de/d75/qr__eigen__values_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph.map b/de/d75/qr__eigen__values_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph.map deleted file mode 100644 index 1ed82a093..000000000 --- a/de/d75/qr__eigen__values_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph.map +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - - - - - - - - - - - - - - - diff --git a/de/d75/qr__eigen__values_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph.md5 b/de/d75/qr__eigen__values_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph.md5 deleted file mode 100644 index 0795abc1c..000000000 --- a/de/d75/qr__eigen__values_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -82b96e201f101c1f6837004774113e6b \ No newline at end of file diff --git a/de/d75/qr__eigen__values_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph.svg b/de/d75/qr__eigen__values_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph.svg deleted file mode 100644 index 07fcae492..000000000 --- a/de/d75/qr__eigen__values_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph.svg +++ /dev/null @@ -1,258 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -test1 - - -Node1 - - -test1 - - - - - -Node2 - - -qr_algorithm::eigen -_values - - - - - -Node1->Node2 - - - - - - - - -Node9 - - -std::endl - - - - - -Node1->Node9 - - - - - - - - -Node3 - - -mat_mul - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -qr_algorithm::qr_decompose - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -qr_algorithm::vector_mag - - - - - -Node4->Node5 - - - - - - - - -Node8 - - -qr_algorithm::vector_proj - - - - - -Node4->Node8 - - - - - - - - -Node6 - - -std::sqrt - - - - - -Node5->Node6 - - - - - - - - -Node7 - - -qr_algorithm::vector_dot - - - - - -Node5->Node7 - - - - - - - - -Node8->Node7 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/de/d75/qr__eigen__values_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph_org.svg b/de/d75/qr__eigen__values_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph_org.svg deleted file mode 100644 index 4be5d673e..000000000 --- a/de/d75/qr__eigen__values_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph_org.svg +++ /dev/null @@ -1,175 +0,0 @@ - - - - - - -test1 - - -Node1 - - -test1 - - - - - -Node2 - - -qr_algorithm::eigen -_values - - - - - -Node1->Node2 - - - - - - - - -Node9 - - -std::endl - - - - - -Node1->Node9 - - - - - - - - -Node3 - - -mat_mul - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -qr_algorithm::qr_decompose - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -qr_algorithm::vector_mag - - - - - -Node4->Node5 - - - - - - - - -Node8 - - -qr_algorithm::vector_proj - - - - - -Node4->Node8 - - - - - - - - -Node6 - - -std::sqrt - - - - - -Node5->Node6 - - - - - - - - -Node7 - - -qr_algorithm::vector_dot - - - - - -Node5->Node7 - - - - - - - - -Node8->Node7 - - - - - - - - diff --git a/de/d75/qr__eigen__values_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph.map b/de/d75/qr__eigen__values_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph.map deleted file mode 100644 index 7c3855f17..000000000 --- a/de/d75/qr__eigen__values_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph.map +++ /dev/null @@ -1,35 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/de/d75/qr__eigen__values_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph.md5 b/de/d75/qr__eigen__values_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph.md5 deleted file mode 100644 index bb378ae01..000000000 --- a/de/d75/qr__eigen__values_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -8c7c14997cb9918f91a4a0bb4ce9ee3d \ No newline at end of file diff --git a/de/d75/qr__eigen__values_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph.svg b/de/d75/qr__eigen__values_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph.svg deleted file mode 100644 index 83e4842fd..000000000 --- a/de/d75/qr__eigen__values_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph.svg +++ /dev/null @@ -1,393 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -create_matrix - - - - - -Node1->Node2 - - - - - - - - -Node4 - - -qr_algorithm::eigen -_values - - - - - -Node1->Node4 - - - - - - - - -Node11 - - -std::srand - - - - - -Node1->Node11 - - - - - - - - -Node12 - - -test1 - - - - - -Node1->Node12 - - - - - - - - -Node14 - - -test2 - - - - - -Node1->Node14 - - - - - - - - -Node15 - - -std::time - - - - - -Node1->Node15 - - - - - - - - -Node3 - - -std::rand - - - - - -Node2->Node3 - - - - - - - - -Node5 - - -mat_mul - - - - - -Node4->Node5 - - - - - - - - -Node6 - - -qr_algorithm::qr_decompose - - - - - -Node4->Node6 - - - - - - - - -Node7 - - -qr_algorithm::vector_mag - - - - - -Node6->Node7 - - - - - - - - -Node10 - - -qr_algorithm::vector_proj - - - - - -Node6->Node10 - - - - - - - - -Node8 - - -std::sqrt - - - - - -Node7->Node8 - - - - - - - - -Node9 - - -qr_algorithm::vector_dot - - - - - -Node7->Node9 - - - - - - - - -Node10->Node9 - - - - - - - - -Node12->Node4 - - - - - - - - -Node13 - - -std::endl - - - - - -Node12->Node13 - - - - - - - - -Node14->Node4 - - - - - - - - -Node14->Node13 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/de/d75/qr__eigen__values_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph_org.svg b/de/d75/qr__eigen__values_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph_org.svg deleted file mode 100644 index 11b608e25..000000000 --- a/de/d75/qr__eigen__values_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph_org.svg +++ /dev/null @@ -1,310 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -create_matrix - - - - - -Node1->Node2 - - - - - - - - -Node4 - - -qr_algorithm::eigen -_values - - - - - -Node1->Node4 - - - - - - - - -Node11 - - -std::srand - - - - - -Node1->Node11 - - - - - - - - -Node12 - - -test1 - - - - - -Node1->Node12 - - - - - - - - -Node14 - - -test2 - - - - - -Node1->Node14 - - - - - - - - -Node15 - - -std::time - - - - - -Node1->Node15 - - - - - - - - -Node3 - - -std::rand - - - - - -Node2->Node3 - - - - - - - - -Node5 - - -mat_mul - - - - - -Node4->Node5 - - - - - - - - -Node6 - - -qr_algorithm::qr_decompose - - - - - -Node4->Node6 - - - - - - - - -Node7 - - -qr_algorithm::vector_mag - - - - - -Node6->Node7 - - - - - - - - -Node10 - - -qr_algorithm::vector_proj - - - - - -Node6->Node10 - - - - - - - - -Node8 - - -std::sqrt - - - - - -Node7->Node8 - - - - - - - - -Node9 - - -qr_algorithm::vector_dot - - - - - -Node7->Node9 - - - - - - - - -Node10->Node9 - - - - - - - - -Node12->Node4 - - - - - - - - -Node13 - - -std::endl - - - - - -Node12->Node13 - - - - - - - - -Node14->Node4 - - - - - - - - -Node14->Node13 - - - - - - - - diff --git a/de/d75/qr__eigen__values_8cpp_a9bbf469d5525a816b0d6ca812119093d_cgraph.map b/de/d75/qr__eigen__values_8cpp_a9bbf469d5525a816b0d6ca812119093d_cgraph.map deleted file mode 100644 index 4d57be389..000000000 --- a/de/d75/qr__eigen__values_8cpp_a9bbf469d5525a816b0d6ca812119093d_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/de/d75/qr__eigen__values_8cpp_a9bbf469d5525a816b0d6ca812119093d_cgraph.md5 b/de/d75/qr__eigen__values_8cpp_a9bbf469d5525a816b0d6ca812119093d_cgraph.md5 deleted file mode 100644 index c40eee62a..000000000 --- a/de/d75/qr__eigen__values_8cpp_a9bbf469d5525a816b0d6ca812119093d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -62794838fd2c4f12bc0bb5fd97ea8c65 \ No newline at end of file diff --git a/de/d75/qr__eigen__values_8cpp_a9bbf469d5525a816b0d6ca812119093d_cgraph.svg b/de/d75/qr__eigen__values_8cpp_a9bbf469d5525a816b0d6ca812119093d_cgraph.svg deleted file mode 100644 index d1a912895..000000000 --- a/de/d75/qr__eigen__values_8cpp_a9bbf469d5525a816b0d6ca812119093d_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -create_matrix - - -Node1 - - -create_matrix - - - - - -Node2 - - -std::rand - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/de/d75/qr__eigen__values_8cpp_a9bbf469d5525a816b0d6ca812119093d_cgraph_org.svg b/de/d75/qr__eigen__values_8cpp_a9bbf469d5525a816b0d6ca812119093d_cgraph_org.svg deleted file mode 100644 index c034307fc..000000000 --- a/de/d75/qr__eigen__values_8cpp_a9bbf469d5525a816b0d6ca812119093d_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -create_matrix - - -Node1 - - -create_matrix - - - - - -Node2 - - -std::rand - - - - - -Node1->Node2 - - - - - - - - diff --git a/de/d75/qr__eigen__values_8cpp_source.html b/de/d75/qr__eigen__values_8cpp_source.html new file mode 100644 index 000000000..ab2cd34ca --- /dev/null +++ b/de/d75/qr__eigen__values_8cpp_source.html @@ -0,0 +1,379 @@ + + + + + + + + +TheAlgorithms/C++: numerical_methods/qr_eigen_values.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    qr_eigen_values.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    8#include <cassert>
    +
    9#include <cmath>
    +
    10#include <cstdlib>
    +
    11#include <ctime>
    +
    12#include <iostream>
    +
    13#ifdef _OPENMP
    +
    14#include <omp.h>
    +
    15#endif
    +
    16
    +
    17#include "./qr_decompose.h"
    +
    18using qr_algorithm::operator<<;
    +
    19
    +
    20#define LIMS 9
    +
    +
    28void create_matrix(std::valarray<std::valarray<double>> *A) {
    +
    29 int i, j, tmp, lim2 = LIMS >> 1;
    +
    30 int N = A->size();
    +
    31
    +
    32#ifdef _OPENMP
    +
    33#pragma omp for
    +
    34#endif
    +
    35 for (i = 0; i < N; i++) {
    +
    36 A[0][i][i] = (std::rand() % LIMS) - lim2;
    +
    37 for (j = i + 1; j < N; j++) {
    +
    38 tmp = (std::rand() % LIMS) - lim2;
    +
    39 A[0][i][j] = tmp; // summetrically distribute random values
    +
    40 A[0][j][i] = tmp;
    +
    41 }
    +
    42 }
    +
    43}
    +
    +
    44
    +
    +
    54void mat_mul(const std::valarray<std::valarray<double>> &A,
    +
    55 const std::valarray<std::valarray<double>> &B,
    +
    56 std::valarray<std::valarray<double>> *OUT) {
    +
    57 int R1 = A.size();
    +
    58 int C1 = A[0].size();
    +
    59 int R2 = B.size();
    +
    60 int C2 = B[0].size();
    +
    61 if (C1 != R2) {
    +
    62 perror("Matrix dimensions mismatch!");
    +
    63 return;
    +
    64 }
    +
    65
    +
    66 for (int i = 0; i < R1; i++) {
    +
    67 for (int j = 0; j < C2; j++) {
    +
    68 OUT[0][i][j] = 0.f;
    +
    69 for (int k = 0; k < C1; k++) {
    +
    70 OUT[0][i][j] += A[i][k] * B[k][j];
    +
    71 }
    +
    72 }
    +
    73 }
    +
    74}
    +
    +
    75
    +
    76namespace qr_algorithm {
    +
    +
    98std::valarray<double> eigen_values(std::valarray<std::valarray<double>> *A,
    +
    99 bool print_intermediates = false) {
    +
    100 int rows = A->size();
    +
    101 int columns = rows;
    +
    102 int counter = 0, num_eigs = rows - 1;
    +
    103 double last_eig = 0;
    +
    104
    +
    105 std::valarray<std::valarray<double>> Q(rows);
    +
    106 std::valarray<std::valarray<double>> R(columns);
    +
    107
    +
    108 /* number of eigen values = matrix size */
    +
    109 std::valarray<double> eigen_vals(rows);
    +
    110 for (int i = 0; i < rows; i++) {
    +
    111 Q[i] = std::valarray<double>(columns);
    +
    112 R[i] = std::valarray<double>(columns);
    +
    113 }
    +
    114
    +
    115 /* continue till all eigen values are found */
    +
    116 while (num_eigs > 0) {
    +
    117 /* iterate with QR decomposition */
    +
    118 while (std::abs(A[0][num_eigs][num_eigs - 1]) >
    +
    119 std::numeric_limits<double>::epsilon()) {
    +
    120 // initial approximation = last diagonal element
    +
    121 last_eig = A[0][num_eigs][num_eigs];
    +
    122 for (int i = 0; i < rows; i++) {
    +
    123 A[0][i][i] -= last_eig; /* A - cI */
    +
    124 }
    +
    125
    +
    126 qr_decompose(*A, &Q, &R);
    +
    127
    +
    128 if (print_intermediates) {
    +
    129 std::cout << *A << "\n";
    +
    130 std::cout << Q << "\n";
    +
    131 std::cout << R << "\n";
    +
    132 printf("-------------------- %d ---------------------\n",
    +
    133 ++counter);
    +
    134 }
    +
    135
    +
    136 // new approximation A' = R * Q
    +
    137 mat_mul(R, Q, A);
    +
    138
    +
    139 for (int i = 0; i < rows; i++) {
    +
    140 A[0][i][i] += last_eig; /* A + cI */
    +
    141 }
    +
    142 }
    +
    143
    +
    144 /* store the converged eigen value */
    +
    145 eigen_vals[num_eigs] = last_eig;
    +
    146 // A[0][num_eigs][num_eigs];
    +
    147 if (print_intermediates) {
    +
    148 std::cout << "========================\n";
    +
    149 std::cout << "Eigen value: " << last_eig << ",\n";
    +
    150 std::cout << "========================\n";
    +
    151 }
    +
    152
    +
    153 num_eigs--;
    +
    154 rows--;
    +
    155 columns--;
    +
    156 }
    +
    157 eigen_vals[0] = A[0][0][0];
    +
    158
    +
    159 if (print_intermediates) {
    +
    160 std::cout << Q << "\n";
    +
    161 std::cout << R << "\n";
    +
    162 }
    +
    163
    +
    164 return eigen_vals;
    +
    165}
    +
    +
    166
    +
    167} // namespace qr_algorithm
    +
    168
    +
    +
    177void test1() {
    +
    178 std::valarray<std::valarray<double>> X = {{5, 7}, {7, 11}};
    +
    179 double y[] = {15.56158, 0.384227}; // corresponding y-values
    +
    180
    +
    181 std::cout << "------- Test 1 -------" << std::endl;
    +
    182 std::valarray<double> eig_vals = qr_algorithm::eigen_values(&X);
    +
    183
    +
    184 for (int i = 0; i < 2; i++) {
    +
    185 std::cout << i + 1 << "/2 Checking for " << y[i] << " --> ";
    +
    186 bool result = false;
    +
    187 for (int j = 0; j < 2 && !result; j++) {
    +
    188 if (std::abs(y[i] - eig_vals[j]) < 0.1) {
    +
    189 result = true;
    +
    190 std::cout << "(" << eig_vals[j] << ") ";
    +
    191 }
    +
    192 }
    +
    193 assert(result); // ensure that i^th expected eigen value was computed
    +
    194 std::cout << "found\n";
    +
    195 }
    +
    196 std::cout << "Test 1 Passed\n\n";
    +
    197}
    +
    +
    198
    +
    +
    210void test2() {
    +
    211 std::valarray<std::valarray<double>> X = {{-4, 4, 2, 0, -3},
    +
    212 {4, -4, 4, -3, -1},
    +
    213 {2, 4, 4, 3, -3},
    +
    214 {0, -3, 3, -1, -3},
    +
    215 {-3, -1, -3, -3, 0}};
    +
    216 double y[] = {9.27648, -9.26948, 2.0181, -1.03516,
    +
    217 -5.98994}; // corresponding y-values
    +
    218
    +
    219 std::cout << "------- Test 2 -------" << std::endl;
    +
    220 std::valarray<double> eig_vals = qr_algorithm::eigen_values(&X);
    +
    221
    +
    222 std::cout << X << "\n"
    +
    223 << "Eigen values: " << eig_vals << "\n";
    +
    224
    +
    225 for (int i = 0; i < 5; i++) {
    +
    226 std::cout << i + 1 << "/5 Checking for " << y[i] << " --> ";
    +
    227 bool result = false;
    +
    228 for (int j = 0; j < 5 && !result; j++) {
    +
    229 if (std::abs(y[i] - eig_vals[j]) < 0.1) {
    +
    230 result = true;
    +
    231 std::cout << "(" << eig_vals[j] << ") ";
    +
    232 }
    +
    233 }
    +
    234 assert(result); // ensure that i^th expected eigen value was computed
    +
    235 std::cout << "found\n";
    +
    236 }
    +
    237 std::cout << "Test 2 Passed\n\n";
    +
    238}
    +
    +
    239
    +
    +
    243int main(int argc, char **argv) {
    +
    244 int mat_size = 5;
    +
    245 if (argc == 2) {
    +
    246 mat_size = atoi(argv[1]);
    +
    247 } else { // if invalid input argument is given run tests
    +
    248 test1();
    +
    249 test2();
    +
    250 std::cout << "Usage: ./qr_eigen_values [mat_size]\n";
    +
    251 return 0;
    +
    252 }
    +
    253
    +
    254 if (mat_size < 2) {
    +
    255 fprintf(stderr, "Matrix size should be > 2\n");
    +
    256 return -1;
    +
    257 }
    +
    258
    +
    259 // initialize random number generator
    +
    260 std::srand(std::time(nullptr));
    +
    261
    +
    262 int i, rows = mat_size, columns = mat_size;
    +
    263
    +
    264 std::valarray<std::valarray<double>> A(rows);
    +
    265
    +
    266 for (int i = 0; i < rows; i++) {
    +
    267 A[i] = std::valarray<double>(columns);
    +
    268 }
    +
    269
    +
    270 /* create a random matrix */
    +
    271 create_matrix(&A);
    +
    272
    +
    273 std::cout << A << "\n";
    +
    274
    +
    275 clock_t t1 = clock();
    +
    276 std::valarray<double> eigen_vals = qr_algorithm::eigen_values(&A);
    +
    277 double dtime = static_cast<double>(clock() - t1) / CLOCKS_PER_SEC;
    +
    278
    +
    279 std::cout << "Eigen vals: ";
    +
    280 for (i = 0; i < mat_size; i++) std::cout << eigen_vals[i] << "\t";
    +
    281 std::cout << "\nTime taken to compute: " << dtime << " sec\n";
    +
    282
    +
    283 return 0;
    +
    284}
    +
    +
    int main()
    Main function.
    + +
    Functions to compute QR decomposition of any rectangular matrix.
    +
    std::valarray< double > eigen_values(std::valarray< std::valarray< double > > *A, bool print_intermediates=false)
    +
    void qr_decompose(const std::valarray< std::valarray< T > > &A, std::valarray< std::valarray< T > > *Q, std::valarray< std::valarray< T > > *R)
    +
    Library functions to compute QR decomposition of a given matrix.
    +
    void test2()
    +
    void test1()
    +
    void create_matrix(std::valarray< std::valarray< double > > *A)
    +
    void mat_mul(const std::valarray< std::valarray< double > > &A, const std::valarray< std::valarray< double > > &B, std::valarray< std::valarray< double > > *OUT)
    +
    #define LIMS
    +
    +
    + + + + diff --git a/de/d76/structstd_1_1is__arithmetic_3_01uint256__t_01_4__coll__graph.map b/de/d76/structstd_1_1is__arithmetic_3_01uint256__t_01_4__coll__graph.map index 7b6b3d202..81abd7652 100644 --- a/de/d76/structstd_1_1is__arithmetic_3_01uint256__t_01_4__coll__graph.map +++ b/de/d76/structstd_1_1is__arithmetic_3_01uint256__t_01_4__coll__graph.map @@ -1,5 +1,5 @@ - + diff --git a/de/d76/structstd_1_1is__arithmetic_3_01uint256__t_01_4__coll__graph.md5 b/de/d76/structstd_1_1is__arithmetic_3_01uint256__t_01_4__coll__graph.md5 index 377edbd7f..7da104bd8 100644 --- a/de/d76/structstd_1_1is__arithmetic_3_01uint256__t_01_4__coll__graph.md5 +++ b/de/d76/structstd_1_1is__arithmetic_3_01uint256__t_01_4__coll__graph.md5 @@ -1 +1 @@ -c9aab933efc274d7816093a446310403 \ No newline at end of file +38418cdb629a508d14caedeb9b71e651 \ No newline at end of file diff --git a/de/d76/structstd_1_1is__arithmetic_3_01uint256__t_01_4__coll__graph.svg b/de/d76/structstd_1_1is__arithmetic_3_01uint256__t_01_4__coll__graph.svg index 06ff62757..244d7089f 100644 --- a/de/d76/structstd_1_1is__arithmetic_3_01uint256__t_01_4__coll__graph.svg +++ b/de/d76/structstd_1_1is__arithmetic_3_01uint256__t_01_4__coll__graph.svg @@ -32,7 +32,7 @@ Node2 - + std::true_type diff --git a/de/d76/structstd_1_1is__arithmetic_3_01uint256__t_01_4__coll__graph_org.svg b/de/d76/structstd_1_1is__arithmetic_3_01uint256__t_01_4__coll__graph_org.svg index bea7c50aa..73e84e2ad 100644 --- a/de/d76/structstd_1_1is__arithmetic_3_01uint256__t_01_4__coll__graph_org.svg +++ b/de/d76/structstd_1_1is__arithmetic_3_01uint256__t_01_4__coll__graph_org.svg @@ -21,7 +21,7 @@ Node2 - + std::true_type diff --git a/de/d77/tree__height_8cpp_source.html b/de/d77/tree__height_8cpp_source.html new file mode 100644 index 000000000..9987a560c --- /dev/null +++ b/de/d77/tree__height_8cpp_source.html @@ -0,0 +1,210 @@ + + + + + + + + +TheAlgorithms/C++: dynamic_programming/tree_height.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    tree_height.cpp
    +
    +
    +
    1// C++ Program to find height of the tree using bottom-up dynamic programming.
    +
    2
    +
    3/*
    +
    4 * Given a rooted tree with node 1.
    +
    5 * Task is to find the height of the tree.
    +
    6 * Example: -
    +
    7 * 4
    +
    8 * 1 2
    +
    9 * 1 3
    +
    10 * 2 4
    +
    11 * which can be represented as
    +
    12 * 1
    +
    13 * / \
    +
    14 * 2 3
    +
    15 * |
    +
    16 * 4
    +
    17 *
    +
    18 * Height of the tree : - 2
    +
    19 */
    +
    20
    +
    21#include <iostream>
    +
    22#include <vector>
    +
    23
    +
    24// global declarations
    +
    25// no of nodes max limit.
    +
    26const int MAX = 1e5;
    +
    27// adjacency list
    +
    28std::vector<int> adj[MAX];
    +
    29std::vector<bool> visited;
    +
    30std::vector<int> dp;
    +
    31
    +
    32void depth_first_search(int u) {
    +
    33 visited[u] = true;
    +
    34 int child_height = 1;
    +
    35 for (int v : adj[u]) {
    +
    36 if (!visited[v]) {
    + +
    38
    +
    39 // select maximum sub-tree height from all children.
    +
    40 child_height = std::max(child_height, dp[v] + 1);
    +
    41 }
    +
    42 }
    +
    43 // assigned the max child height to current visited node.
    +
    44 dp[u] = child_height;
    +
    45}
    +
    46
    +
    47int main() {
    +
    48 // number of nodes
    +
    49 int number_of_nodes;
    +
    50 std::cout << "Enter number of nodes of the tree : " << std::endl;
    +
    51 std::cin >> number_of_nodes;
    +
    52
    +
    53 // u, v denotes an undirected edge of tree.
    +
    54 int u, v;
    +
    55 // Tree contains exactly n-1 edges where n denotes the number of nodes.
    +
    56 std::cout << "Enter edges of the tree : " << std::endl;
    +
    57 for (int i = 0; i < number_of_nodes - 1; i++) {
    +
    58 std::cin >> u >> v;
    +
    59 // undirected tree u -> v and v -> u.
    +
    60 adj[u].push_back(v);
    +
    61 adj[v].push_back(u);
    +
    62 }
    +
    63 // initialize all nodes as unvisited.
    +
    64 visited.assign(number_of_nodes + 1, false);
    +
    65 // initialize depth of all nodes to 0.
    +
    66 dp.assign(number_of_nodes + 1, 0);
    +
    67 // function call which will initialize the height of all nodes.
    + +
    69 std::cout << "Height of the Tree : " << dp[1] << std::endl;
    +
    70}
    +
    int main()
    Main function.
    +
    Functions for Depth First Search algorithm.
    +
    for std::vector
    +
    +
    + + + + diff --git a/de/d79/graham__scan__algorithm_8cpp_source.html b/de/d79/graham__scan__algorithm_8cpp_source.html new file mode 100644 index 000000000..f03280df5 --- /dev/null +++ b/de/d79/graham__scan__algorithm_8cpp_source.html @@ -0,0 +1,215 @@ + + + + + + + + +TheAlgorithms/C++: geometry/graham_scan_algorithm.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    graham_scan_algorithm.cpp
    +
    +
    +
    1/******************************************************************************
    +
    2 * @file
    +
    3 * @brief Implementation of the [Convex
    +
    4 * Hull](https://en.wikipedia.org/wiki/Convex_hull) implementation using [Graham
    +
    5 * Scan](https://en.wikipedia.org/wiki/Graham_scan)
    +
    6 * @details
    +
    7 * In geometry, the convex hull or convex envelope or convex closure of a shape
    +
    8 * is the smallest convex set that contains it. The convex hull may be defined
    +
    9 * either as the intersection of all convex sets containing a given subset of a
    +
    10 * Euclidean space, or equivalently as the set of all convex combinations of
    +
    11 * points in the subset. For a bounded subset of the plane, the convex hull may
    +
    12 * be visualized as the shape enclosed by a rubber band stretched around the
    +
    13 * subset.
    +
    14 *
    +
    15 * The worst case time complexity of Jarvis’s Algorithm is O(n^2). Using
    +
    16 * Graham’s scan algorithm, we can find Convex Hull in O(nLogn) time.
    +
    17 *
    +
    18 * ### Implementation
    +
    19 *
    +
    20 * Sort points
    +
    21 * We first find the bottom-most point. The idea is to pre-process
    +
    22 * points be sorting them with respect to the bottom-most point. Once the points
    +
    23 * are sorted, they form a simple closed path.
    +
    24 * The sorting criteria is to use the orientation to compare angles without
    +
    25 * actually computing them (See the compare() function below) because
    +
    26 * computation of actual angles would be inefficient since trigonometric
    +
    27 * functions are not simple to evaluate.
    +
    28 *
    +
    29 * Accept or Reject Points
    +
    30 * Once we have the closed path, the next step is to traverse the path and
    +
    31 * remove concave points on this path using orientation. The first two points in
    +
    32 * sorted array are always part of Convex Hull. For remaining points, we keep
    +
    33 * track of recent three points, and find the angle formed by them. Let the
    +
    34 * three points be prev(p), curr(c) and next(n). If the orientation of these
    +
    35 * points (considering them in the same order) is not counterclockwise, we
    +
    36 * discard c, otherwise we keep it.
    +
    37 *
    +
    38 * @author [Lajat Manekar](https://github.com/Lazeeez)
    +
    39 *
    +
    40 *******************************************************************************/
    +
    41#include <cassert>
    +
    42#include <iostream>
    +
    43#include <vector>
    +
    44
    +
    45#include "./graham_scan_functions.hpp"
    +
    46
    +
    47/*******************************************************************************
    +
    48 * @brief Self-test implementations
    +
    49 * @returns void
    +
    50 *******************************************************************************/
    +
    51static void test() {
    +
    52 std::vector<geometry::grahamscan::Point> points = {
    +
    53 {0, 3}, {1, 1}, {2, 2}, {4, 4}, {0, 0}, {1, 2}, {3, 1}, {3, 3}};
    +
    54 std::vector<geometry::grahamscan::Point> expected_result = {
    +
    55 {0, 3}, {4, 4}, {3, 1}, {0, 0}};
    +
    56 std::vector<geometry::grahamscan::Point> derived_result;
    +
    57 std::vector<geometry::grahamscan::Point> res;
    +
    58
    +
    59 derived_result = geometry::grahamscan::convexHull(points, points.size());
    +
    60
    +
    61 std::cout << "1st test: ";
    +
    62 for (int i = 0; i < expected_result.size(); i++) {
    +
    63 assert(derived_result[i].x == expected_result[i].x);
    +
    64 assert(derived_result[i].y == expected_result[i].y);
    +
    65 }
    +
    66 std::cout << "passed!" << std::endl;
    +
    67}
    +
    68
    +
    69/*******************************************************************************
    +
    70 * @brief Main function
    +
    71 * @returns 0 on exit
    +
    72 *******************************************************************************/
    +
    73int main() {
    +
    74 test(); // run self-test implementations
    +
    75 return 0;
    +
    76}
    +
    void test()
    +
    int main()
    Main function.
    +
    +
    + + + + diff --git a/de/d7b/merge__insertion__sort_8cpp.html b/de/d7b/merge__insertion__sort_8cpp.html index b1a2bf55a..39001e461 100644 --- a/de/d7b/merge__insertion__sort_8cpp.html +++ b/de/d7b/merge__insertion__sort_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: sorting/merge_insertion_sort.cpp File Reference +TheAlgorithms/C++: sorting/merge_insertion_sort.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -124,7 +141,9 @@ Include dependency graph for merge_insertion_sort.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -137,15 +156,15 @@ Namespaces - + - + - + @@ -161,6 +180,8 @@ Functions
    Krishna Vedala
    See also
    Individual algorithms: insertion_sort.cpp and merge_sort.cpp
    + +

    Definition in file merge_insertion_sort.cpp.

    Function Documentation

    ◆ InsertionSort()

    @@ -176,7 +197,7 @@ template<typename T , size_t N> - + @@ -213,11 +234,13 @@ template<typename T , size_t N>

    Namespaces

    namespace  sorting

    Functions

    template<typename T , size_t N>
    static void sorting::merge_insertion::InsertionSort (std::array< T, N > *A, size_t start, size_t end)
    static void sorting::merge_insertion::InsertionSort (std::array< T, N > *A, size_t start, size_t end)
     Insertion merge algorithm.
     
    template<typename T , size_t N>
    static void sorting::merge_insertion::merge (std::array< T, N > *array, size_t min, size_t max, size_t mid)
    static void sorting::merge_insertion::merge (std::array< T, N > *array, size_t min, size_t max, size_t mid)
     Perform merge of data in a window.
     
    template<typename T , size_t N>
    void sorting::merge_insertion::mergeSort (std::array< T, N > *array, size_t min, size_t max, size_t threshold)
    void sorting::merge_insertion::mergeSort (std::array< T, N > *array, size_t min, size_t max, size_t threshold)
     Final combined algorithm. Algorithm utilizes sorting::merge_insertion::InsertionSort if window length is less than threshold, else performs merge sort recursively using sorting::merge_insertion::mergeSort.
     
    static void test ()
    static void sorting::merge_insertion::InsertionSort (std::array< T, N > * A, std::array< T, N > * A,
    + +

    Definition at line 37 of file merge_insertion_sort.cpp.

    37 {
    38 size_t i = 0, j = 0;
    -
    39 T *ptr = A->data();
    +
    39 T *ptr = A->data();
    40
    -
    41 for (i = start; i < end; i++) {
    +
    41 for (i = start; i < end; i++) {
    42 T temp = ptr[i];
    43 j = i;
    44 while (j > start && temp < ptr[j - 1]) {
    @@ -231,14 +254,7 @@ template<typename T , size_t N>
    52 ptr[j] = temp;
    53 }
    54}
    -
    T data(T... args)
    -
    T end(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -258,20 +274,15 @@ Here is the call graph for this function:

    Main function.

    Returns
    0 on exit
    + +

    Definition at line 159 of file merge_insertion_sort.cpp.

    159 {
    -
    160 std::srand(std::time(nullptr));
    +
    160 std::srand(std::time(nullptr));
    161 test();
    162 return 0;
    163}
    -
    static void test()
    Function to test code using random arrays.
    Definition merge_insertion_sort.cpp:132
    -
    T srand(T... args)
    -
    T time(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static void test()
    Function to test code using random arrays.
    + @@ -288,7 +299,7 @@ template<typename T , size_t N> static void sorting::merge_insertion::merge ( - std::array< T, N > * array, + std::array< T, N > * array, @@ -330,15 +341,17 @@ template<typename T , size_t N> + +

    Definition at line 67 of file merge_insertion_sort.cpp.

    67 {
    -
    68 size_t firstIndex = min;
    +
    68 size_t firstIndex = min;
    69 size_t secondIndex = mid + 1;
    70
    -
    71 auto ptr = array->data();
    -
    72 std::array<T, N + 1> tempArray{0};
    +
    71 auto ptr = array->data();
    +
    72 std::array<T, N + 1> tempArray{0};
    73
    74 // While there are elements in the left or right runs
    -
    75 for (size_t index = min; index <= max; index++) {
    +
    75 for (size_t index = min; index <= max; index++) {
    76 // If left run head exists and is <= existing right run head.
    77 if (firstIndex <= mid &&
    78 (secondIndex > max || ptr[firstIndex] <= ptr[secondIndex])) {
    @@ -351,20 +364,11 @@ template<typename T , size_t N>
    85 }
    86
    87 // transfer to the initial array
    -
    88 memcpy(ptr + min, tempArray.data() + min, (max - min) * sizeof(T));
    +
    88 memcpy(ptr + min, tempArray.data() + min, (max - min) * sizeof(T));
    89 // for (int index = min; index <= max; index++) ptr[index] =
    90 // tempArray[index];
    91}
    - -
    T max(T... args)
    -
    T memcpy(T... args)
    -
    T min(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -378,7 +382,7 @@ template<typename T , size_t N> void sorting::merge_insertion::mergeSort ( - std::array< T, N > * array, + std::array< T, N > * array, @@ -415,13 +419,15 @@ template<typename T , size_t N> + +

    Definition at line 107 of file merge_insertion_sort.cpp.

    108 {
    109 // prerequisite
    110 if ((max - min) <= threshold) {
    111 InsertionSort(array, min, max);
    112 } else {
    113 // get the middle point
    -
    114 size_t mid = (max + min) >> 1;
    +
    114 size_t mid = (max + min) >> 1;
    115
    116 // apply merge sort to both parts of this
    117 mergeSort(array, min, mid, threshold);
    @@ -431,15 +437,10 @@ template<typename T , size_t N>
    121 merge(array, min, max, mid);
    122 }
    123}
    -
    void merge(int *arr, int l, int m, int r)
    Definition merge_sort.cpp:33
    -
    void mergeSort(int *arr, int l, int r)
    Definition merge_sort.cpp:71
    -
    static void InsertionSort(std::array< T, N > *A, size_t start, size_t end)
    Insertion merge algorithm.
    Definition merge_insertion_sort.cpp:37
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    void merge(int *arr, int l, int m, int r)
    +
    void mergeSort(int *arr, int l, int r)
    +
    static void InsertionSort(std::array< T, N > *A, size_t start, size_t end)
    Insertion merge algorithm.
    + @@ -467,39 +468,31 @@ Here is the call graph for this function:

    Function to test code using random arrays.

    Returns
    none
    + +

    Definition at line 132 of file merge_insertion_sort.cpp.

    132 {
    133 constexpr size_t size = 30;
    -
    134 std::array<int, size> array{0};
    +
    134 std::array<int, size> array{0};
    135 // input
    136 for (int i = 0; i < size; i++) {
    -
    137 array[i] = std::rand() % 100 - 50;
    -
    138 std::cout << array[i] << " ";
    +
    137 array[i] = std::rand() % 100 - 50;
    +
    138 std::cout << array[i] << " ";
    139 }
    - +
    140 std::cout << std::endl;
    141
    143 // sorting::merge_insertion::mergeSort(&array, 0, size, 10);
    144
    145 // output
    146 for (int i = 0; i < size; ++i) {
    -
    147 std::cout << array[i] << " ";
    +
    147 std::cout << array[i] << " ";
    148 }
    - +
    149 std::cout << std::endl;
    150
    -
    151 assert(std::is_sorted(std::begin(array), std::end(array)));
    -
    152 std::cout << "Test passed\n";
    +
    151 assert(std::is_sorted(std::begin(array), std::end(array)));
    +
    152 std::cout << "Test passed\n";
    153}
    - -
    T begin(T... args)
    -
    T endl(T... args)
    -
    T is_sorted(T... args)
    -
    T rand(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + diff --git a/de/d7b/merge__insertion__sort_8cpp_a0cba4fbf287ab8cb978ed7f8fef886b1_cgraph.map b/de/d7b/merge__insertion__sort_8cpp_a0cba4fbf287ab8cb978ed7f8fef886b1_cgraph.map deleted file mode 100644 index 47765e936..000000000 --- a/de/d7b/merge__insertion__sort_8cpp_a0cba4fbf287ab8cb978ed7f8fef886b1_cgraph.map +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/de/d7b/merge__insertion__sort_8cpp_a0cba4fbf287ab8cb978ed7f8fef886b1_cgraph.md5 b/de/d7b/merge__insertion__sort_8cpp_a0cba4fbf287ab8cb978ed7f8fef886b1_cgraph.md5 deleted file mode 100644 index 883d585f3..000000000 --- a/de/d7b/merge__insertion__sort_8cpp_a0cba4fbf287ab8cb978ed7f8fef886b1_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -9bbb42743a0d26aebc2dc958a33ebe51 \ No newline at end of file diff --git a/de/d7b/merge__insertion__sort_8cpp_a0cba4fbf287ab8cb978ed7f8fef886b1_cgraph.svg b/de/d7b/merge__insertion__sort_8cpp_a0cba4fbf287ab8cb978ed7f8fef886b1_cgraph.svg deleted file mode 100644 index f0fddc754..000000000 --- a/de/d7b/merge__insertion__sort_8cpp_a0cba4fbf287ab8cb978ed7f8fef886b1_cgraph.svg +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - - - - - - - -sorting::merge_insertion::InsertionSort - - -Node1 - - -sorting::merge_insertion -::InsertionSort - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::array::data - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/de/d7b/merge__insertion__sort_8cpp_a0cba4fbf287ab8cb978ed7f8fef886b1_cgraph_org.svg b/de/d7b/merge__insertion__sort_8cpp_a0cba4fbf287ab8cb978ed7f8fef886b1_cgraph_org.svg deleted file mode 100644 index e4b748b08..000000000 --- a/de/d7b/merge__insertion__sort_8cpp_a0cba4fbf287ab8cb978ed7f8fef886b1_cgraph_org.svg +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - -sorting::merge_insertion::InsertionSort - - -Node1 - - -sorting::merge_insertion -::InsertionSort - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::array::data - - - - - -Node1->Node2 - - - - - - - - diff --git a/de/d7b/merge__insertion__sort_8cpp_a7161278f18e83b671c6454b139cc5674_cgraph.map b/de/d7b/merge__insertion__sort_8cpp_a7161278f18e83b671c6454b139cc5674_cgraph.map deleted file mode 100644 index 243d6e207..000000000 --- a/de/d7b/merge__insertion__sort_8cpp_a7161278f18e83b671c6454b139cc5674_cgraph.map +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/de/d7b/merge__insertion__sort_8cpp_a7161278f18e83b671c6454b139cc5674_cgraph.md5 b/de/d7b/merge__insertion__sort_8cpp_a7161278f18e83b671c6454b139cc5674_cgraph.md5 deleted file mode 100644 index b3781e92b..000000000 --- a/de/d7b/merge__insertion__sort_8cpp_a7161278f18e83b671c6454b139cc5674_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -e2c5a0b9b470386105ff64832be5a363 \ No newline at end of file diff --git a/de/d7b/merge__insertion__sort_8cpp_a7161278f18e83b671c6454b139cc5674_cgraph.svg b/de/d7b/merge__insertion__sort_8cpp_a7161278f18e83b671c6454b139cc5674_cgraph.svg deleted file mode 100644 index 3a08c0cb4..000000000 --- a/de/d7b/merge__insertion__sort_8cpp_a7161278f18e83b671c6454b139cc5674_cgraph.svg +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - - - - - - - -sorting::merge_insertion::mergeSort - - -Node1 - - -sorting::merge_insertion -::mergeSort - - - - - -Node2 - - -sorting::merge_insertion -::InsertionSort - - - - - -Node1->Node2 - - - - - - - - -Node2->Node2 - - - - - - - - -Node3 - - -std::array::data - - - - - -Node2->Node3 - - - - - - - - - - - - - diff --git a/de/d7b/merge__insertion__sort_8cpp_a7161278f18e83b671c6454b139cc5674_cgraph_org.svg b/de/d7b/merge__insertion__sort_8cpp_a7161278f18e83b671c6454b139cc5674_cgraph_org.svg deleted file mode 100644 index 7505e81d8..000000000 --- a/de/d7b/merge__insertion__sort_8cpp_a7161278f18e83b671c6454b139cc5674_cgraph_org.svg +++ /dev/null @@ -1,68 +0,0 @@ - - - - - - -sorting::merge_insertion::mergeSort - - -Node1 - - -sorting::merge_insertion -::mergeSort - - - - - -Node2 - - -sorting::merge_insertion -::InsertionSort - - - - - -Node1->Node2 - - - - - - - - -Node2->Node2 - - - - - - - - -Node3 - - -std::array::data - - - - - -Node2->Node3 - - - - - - - - diff --git a/de/d7b/merge__insertion__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map b/de/d7b/merge__insertion__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map deleted file mode 100644 index 0185a5e82..000000000 --- a/de/d7b/merge__insertion__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - diff --git a/de/d7b/merge__insertion__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 b/de/d7b/merge__insertion__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 deleted file mode 100644 index 1cf9758aa..000000000 --- a/de/d7b/merge__insertion__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -83ede3b05768cb2f6aabe18451830818 \ No newline at end of file diff --git a/de/d7b/merge__insertion__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg b/de/d7b/merge__insertion__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg deleted file mode 100644 index 6f37123b3..000000000 --- a/de/d7b/merge__insertion__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg +++ /dev/null @@ -1,137 +0,0 @@ - - - - - - - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -std::begin - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::end - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::endl - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::is_sorted - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -std::rand - - - - - -Node1->Node6 - - - - - - - - - - - - - diff --git a/de/d7b/merge__insertion__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg b/de/d7b/merge__insertion__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg deleted file mode 100644 index f065fbc25..000000000 --- a/de/d7b/merge__insertion__sort_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg +++ /dev/null @@ -1,111 +0,0 @@ - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -std::begin - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::end - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::endl - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::is_sorted - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -std::rand - - - - - -Node1->Node6 - - - - - - - - diff --git a/de/d7b/merge__insertion__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/de/d7b/merge__insertion__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index db98dff7f..000000000 --- a/de/d7b/merge__insertion__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - - - - - - - - - - diff --git a/de/d7b/merge__insertion__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/de/d7b/merge__insertion__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index 573c3c5bc..000000000 --- a/de/d7b/merge__insertion__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -964eefbdfced9d17d5a44ce2c9c160a2 \ No newline at end of file diff --git a/de/d7b/merge__insertion__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/de/d7b/merge__insertion__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 7778cbac8..000000000 --- a/de/d7b/merge__insertion__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,191 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -std::srand - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -test - - - - - -Node1->Node3 - - - - - - - - -Node9 - - -std::time - - - - - -Node1->Node9 - - - - - - - - -Node4 - - -std::begin - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -std::end - - - - - -Node3->Node5 - - - - - - - - -Node6 - - -std::endl - - - - - -Node3->Node6 - - - - - - - - -Node7 - - -std::is_sorted - - - - - -Node3->Node7 - - - - - - - - -Node8 - - -std::rand - - - - - -Node3->Node8 - - - - - - - - - - - - - diff --git a/de/d7b/merge__insertion__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/de/d7b/merge__insertion__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 50758f11c..000000000 --- a/de/d7b/merge__insertion__sort_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,165 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -std::srand - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -test - - - - - -Node1->Node3 - - - - - - - - -Node9 - - -std::time - - - - - -Node1->Node9 - - - - - - - - -Node4 - - -std::begin - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -std::end - - - - - -Node3->Node5 - - - - - - - - -Node6 - - -std::endl - - - - - -Node3->Node6 - - - - - - - - -Node7 - - -std::is_sorted - - - - - -Node3->Node7 - - - - - - - - -Node8 - - -std::rand - - - - - -Node3->Node8 - - - - - - - - diff --git a/de/d7b/merge__insertion__sort_8cpp_af4de4067a9a866ffd985c5b5055ccedf_cgraph.map b/de/d7b/merge__insertion__sort_8cpp_af4de4067a9a866ffd985c5b5055ccedf_cgraph.map deleted file mode 100644 index 50d0255f3..000000000 --- a/de/d7b/merge__insertion__sort_8cpp_af4de4067a9a866ffd985c5b5055ccedf_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/de/d7b/merge__insertion__sort_8cpp_af4de4067a9a866ffd985c5b5055ccedf_cgraph.md5 b/de/d7b/merge__insertion__sort_8cpp_af4de4067a9a866ffd985c5b5055ccedf_cgraph.md5 deleted file mode 100644 index 99d66d6b0..000000000 --- a/de/d7b/merge__insertion__sort_8cpp_af4de4067a9a866ffd985c5b5055ccedf_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -a33eee7458ce96d7113efc4984eb8bf5 \ No newline at end of file diff --git a/de/d7b/merge__insertion__sort_8cpp_af4de4067a9a866ffd985c5b5055ccedf_cgraph.svg b/de/d7b/merge__insertion__sort_8cpp_af4de4067a9a866ffd985c5b5055ccedf_cgraph.svg deleted file mode 100644 index 34225b68f..000000000 --- a/de/d7b/merge__insertion__sort_8cpp_af4de4067a9a866ffd985c5b5055ccedf_cgraph.svg +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - - - - - - - -sorting::merge_insertion::merge - - -Node1 - - -sorting::merge_insertion -::merge - - - - - -Node2 - - -std::array::data - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/de/d7b/merge__insertion__sort_8cpp_af4de4067a9a866ffd985c5b5055ccedf_cgraph_org.svg b/de/d7b/merge__insertion__sort_8cpp_af4de4067a9a866ffd985c5b5055ccedf_cgraph_org.svg deleted file mode 100644 index b30d4270d..000000000 --- a/de/d7b/merge__insertion__sort_8cpp_af4de4067a9a866ffd985c5b5055ccedf_cgraph_org.svg +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - -sorting::merge_insertion::merge - - -Node1 - - -sorting::merge_insertion -::merge - - - - - -Node2 - - -std::array::data - - - - - -Node1->Node2 - - - - - - - - diff --git a/de/d7b/merge__insertion__sort_8cpp_source.html b/de/d7b/merge__insertion__sort_8cpp_source.html new file mode 100644 index 000000000..f14686f63 --- /dev/null +++ b/de/d7b/merge__insertion__sort_8cpp_source.html @@ -0,0 +1,260 @@ + + + + + + + + +TheAlgorithms/C++: sorting/merge_insertion_sort.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    merge_insertion_sort.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    10#include <algorithm>
    +
    11#include <array>
    +
    12#include <cassert>
    +
    13#include <ctime>
    +
    14#include <iostream>
    +
    15#include <memory>
    +
    16
    +
    20namespace sorting {
    +
    24namespace merge_insertion {
    +
    25
    +
    36template <typename T, size_t N>
    +
    +
    37static void InsertionSort(std::array<T, N> *A, size_t start, size_t end) {
    +
    38 size_t i = 0, j = 0;
    +
    39 T *ptr = A->data();
    +
    40
    +
    41 for (i = start; i < end; i++) {
    +
    42 T temp = ptr[i];
    +
    43 j = i;
    +
    44 while (j > start && temp < ptr[j - 1]) {
    +
    45 ptr[j] = ptr[j - 1];
    +
    46 j--;
    +
    47 }
    +
    48 // for (j = i; j > start && temp < ptr[j - 1]; --j) {
    +
    49 // ptr[j] = ptr[j - 1];
    +
    50 // }
    +
    51
    +
    52 ptr[j] = temp;
    +
    53 }
    +
    54}
    +
    +
    55
    +
    66template <typename T, size_t N>
    +
    +
    67static void merge(std::array<T, N> *array, size_t min, size_t max, size_t mid) {
    +
    68 size_t firstIndex = min;
    +
    69 size_t secondIndex = mid + 1;
    +
    70
    +
    71 auto ptr = array->data();
    +
    72 std::array<T, N + 1> tempArray{0};
    +
    73
    +
    74 // While there are elements in the left or right runs
    +
    75 for (size_t index = min; index <= max; index++) {
    +
    76 // If left run head exists and is <= existing right run head.
    +
    77 if (firstIndex <= mid &&
    +
    78 (secondIndex > max || ptr[firstIndex] <= ptr[secondIndex])) {
    +
    79 tempArray[index] = ptr[firstIndex];
    +
    80 firstIndex++;
    +
    81 } else {
    +
    82 tempArray[index] = ptr[secondIndex];
    +
    83 secondIndex++;
    +
    84 }
    +
    85 }
    +
    86
    +
    87 // transfer to the initial array
    +
    88 memcpy(ptr + min, tempArray.data() + min, (max - min) * sizeof(T));
    +
    89 // for (int index = min; index <= max; index++) ptr[index] =
    +
    90 // tempArray[index];
    +
    91}
    +
    +
    92
    +
    106template <typename T, size_t N>
    +
    +
    107void mergeSort(std::array<T, N> *array, size_t min, size_t max,
    +
    108 size_t threshold) {
    +
    109 // prerequisite
    +
    110 if ((max - min) <= threshold) {
    +
    111 InsertionSort(array, min, max);
    +
    112 } else {
    +
    113 // get the middle point
    +
    114 size_t mid = (max + min) >> 1;
    +
    115
    +
    116 // apply merge sort to both parts of this
    +
    117 mergeSort(array, min, mid, threshold);
    +
    118 mergeSort(array, mid, max, threshold);
    +
    119
    +
    120 // and finally merge all that sorted stuff
    +
    121 merge(array, min, max, mid);
    +
    122 }
    +
    123}
    +
    +
    124
    +
    125} // namespace merge_insertion
    +
    126} // namespace sorting
    +
    127
    +
    +
    132static void test() {
    +
    133 constexpr size_t size = 30;
    +
    134 std::array<int, size> array{0};
    +
    135 // input
    +
    136 for (int i = 0; i < size; i++) {
    +
    137 array[i] = std::rand() % 100 - 50;
    +
    138 std::cout << array[i] << " ";
    +
    139 }
    +
    140 std::cout << std::endl;
    +
    141
    +
    142 sorting::merge_insertion::InsertionSort(&array, 0, size);
    +
    143 // sorting::merge_insertion::mergeSort(&array, 0, size, 10);
    +
    144
    +
    145 // output
    +
    146 for (int i = 0; i < size; ++i) {
    +
    147 std::cout << array[i] << " ";
    +
    148 }
    +
    149 std::cout << std::endl;
    +
    150
    +
    151 assert(std::is_sorted(std::begin(array), std::end(array)));
    +
    152 std::cout << "Test passed\n";
    +
    153}
    +
    +
    154
    +
    +
    159int main() {
    +
    160 std::srand(std::time(nullptr));
    +
    161 test();
    +
    162 return 0;
    +
    163}
    +
    +
    static void InsertionSort(std::array< T, N > *A, size_t start, size_t end)
    Insertion merge algorithm.
    +
    static void test()
    Function to test code using random arrays.
    +
    int main()
    Main function.
    +
    Combined Intersion-Merge sorting algorithm.
    +
    for working with vectors
    +
    +
    + + + + diff --git a/de/d7c/struct_trie_1_1_trie_node-members.html b/de/d7c/struct_trie_1_1_trie_node-members.html index 769df31b6..7b77babf0 100644 --- a/de/d7c/struct_trie_1_1_trie_node-members.html +++ b/de/d7c/struct_trie_1_1_trie_node-members.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Member List +TheAlgorithms/C++: Member List + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/de/d83/namespaceis__graph__bipartite.html b/de/d83/namespaceis__graph__bipartite.html index 3c572953e..d8495a12c 100644 --- a/de/d83/namespaceis__graph__bipartite.html +++ b/de/d83/namespaceis__graph__bipartite.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: is_graph_bipartite Namespace Reference +TheAlgorithms/C++: is_graph_bipartite Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/de/d85/decimal__to__roman__numeral_8cpp.html b/de/d85/decimal__to__roman__numeral_8cpp.html index 3726affa0..b566eb2c8 100644 --- a/de/d85/decimal__to__roman__numeral_8cpp.html +++ b/de/d85/decimal__to__roman__numeral_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: others/decimal_to_roman_numeral.cpp File Reference +TheAlgorithms/C++: others/decimal_to_roman_numeral.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + @@ -121,20 +138,24 @@ Include dependency graph for decimal_to_roman_numeral.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    - + - + - +

    Functions

    std::string fill (char c, int n)
    std::string fill (char c, int n)
     
    std::string tolowerRoman (int n)
    std::string tolowerRoman (int n)
     
    std::string toupperRoman (int n)
    std::string toupperRoman (int n)
     
    int main ()
     

    Detailed Description

    This Programme Converts a given decimal number in the range [0,4000) to both Lower case and Upper case Roman Numeral.

    + +

    Definition in file decimal_to_roman_numeral.cpp.

    Function Documentation

    ◆ fill()

    @@ -143,7 +164,7 @@ Functions
    - + @@ -155,12 +176,13 @@ Functions
    std::string fill std::string fill ( char c,

    This functions fills a string with character c, n times and returns it

    Note
    This can probably be replace by memcpy function.
    + +

    Definition at line 15 of file decimal_to_roman_numeral.cpp.

    15 {
    -
    16 std::string s = "";
    +
    16 std::string s = "";
    17 while (n--) s += c;
    18 return s;
    19}
    -
    @@ -179,25 +201,20 @@ Functions

    main function

    + +

    Definition at line 90 of file decimal_to_roman_numeral.cpp.

    90 {
    91 int n;
    -
    92 std::cout << "\t\tRoman numbers converter\n\n";
    -
    93 std::cout << "Type in decimal number between 0 up to 4000 (exclusive): ";
    -
    94 std::cin >> n;
    -
    95 std::cout << n << " in Upper Roman Numerals is " << toupperRoman(n) << "\n";
    -
    96 std::cout << n << " in Lower Roman Numerals is " << tolowerRoman(n) << "\n";
    +
    92 std::cout << "\t\tRoman numbers converter\n\n";
    +
    93 std::cout << "Type in decimal number between 0 up to 4000 (exclusive): ";
    +
    94 std::cin >> n;
    +
    95 std::cout << n << " in Upper Roman Numerals is " << toupperRoman(n) << "\n";
    +
    96 std::cout << n << " in Lower Roman Numerals is " << tolowerRoman(n) << "\n";
    97 return 0;
    98}
    - - -
    std::string tolowerRoman(int n)
    Definition decimal_to_roman_numeral.cpp:24
    -
    std::string toupperRoman(int n)
    Definition decimal_to_roman_numeral.cpp:58
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    std::string tolowerRoman(int n)
    +
    std::string toupperRoman(int n)
    +
    @@ -207,7 +224,7 @@ Here is the call graph for this function:
    - + @@ -215,13 +232,15 @@ Here is the call graph for this function:
    std::string tolowerRoman std::string tolowerRoman ( int n)

    to convert to lowercase Roman Numeral the function works recursively

    + +

    Definition at line 24 of file decimal_to_roman_numeral.cpp.

    24 {
    25 if (n < 4)
    26 return fill('i', n);
    27 if (n < 6)
    28 return fill('i', 5 - n) + "v";
    29 if (n < 9)
    -
    30 return std::string("v") + fill('i', n - 5);
    +
    30 return std::string("v") + fill('i', n - 5);
    31 if (n < 11)
    32 return fill('i', 10 - n) + "x";
    33 if (n < 40)
    @@ -229,7 +248,7 @@ Here is the call graph for this function:
    35 if (n < 60)
    36 return fill('x', 5 - n / 10) + 'l' + tolowerRoman(n % 10);
    37 if (n < 90)
    -
    38 return std::string("l") + fill('x', n / 10 - 5) + tolowerRoman(n % 10);
    +
    38 return std::string("l") + fill('x', n / 10 - 5) + tolowerRoman(n % 10);
    39 if (n < 110)
    40 return fill('x', 10 - n / 10) + "c" + tolowerRoman(n % 10);
    41 if (n < 400)
    @@ -237,7 +256,7 @@ Here is the call graph for this function:
    43 if (n < 600)
    44 return fill('c', 5 - n / 100) + 'd' + tolowerRoman(n % 100);
    45 if (n < 900)
    -
    46 return std::string("d") + fill('c', n / 100 - 5) +
    +
    46 return std::string("d") + fill('c', n / 100 - 5) +
    47 tolowerRoman(n % 100);
    48 if (n < 1100)
    49 return fill('c', 10 - n / 100) + "m" + tolowerRoman(n % 100);
    @@ -245,13 +264,8 @@ Here is the call graph for this function:
    51 return fill('m', n / 1000) + tolowerRoman(n % 1000);
    52 return "?";
    53}
    -
    std::string fill(char c, int n)
    Definition decimal_to_roman_numeral.cpp:15
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    std::string fill(char c, int n)
    + @@ -261,7 +275,7 @@ Here is the call graph for this function:
    - + @@ -269,13 +283,15 @@ Here is the call graph for this function:
    std::string toupperRoman std::string toupperRoman ( int n)

    to convert to uppercase Roman Numeral the function works recursively

    + +

    Definition at line 58 of file decimal_to_roman_numeral.cpp.

    58 {
    59 if (n < 4)
    60 return fill('I', n);
    61 if (n < 6)
    62 return fill('I', 5 - n) + "V";
    63 if (n < 9)
    -
    64 return std::string("V") + fill('I', n - 5);
    +
    64 return std::string("V") + fill('I', n - 5);
    65 if (n < 11)
    66 return fill('I', 10 - n) + "X";
    67 if (n < 40)
    @@ -283,7 +299,7 @@ Here is the call graph for this function:
    69 if (n < 60)
    70 return fill('X', 5 - n / 10) + 'L' + toupperRoman(n % 10);
    71 if (n < 90)
    -
    72 return std::string("L") + fill('X', n / 10 - 5) + toupperRoman(n % 10);
    +
    72 return std::string("L") + fill('X', n / 10 - 5) + toupperRoman(n % 10);
    73 if (n < 110)
    74 return fill('X', 10 - n / 10) + "C" + toupperRoman(n % 10);
    75 if (n < 400)
    @@ -291,7 +307,7 @@ Here is the call graph for this function:
    77 if (n < 600)
    78 return fill('C', 5 - n / 100) + 'D' + toupperRoman(n % 100);
    79 if (n < 900)
    -
    80 return std::string("D") + fill('C', n / 100 - 5) +
    +
    80 return std::string("D") + fill('C', n / 100 - 5) +
    81 toupperRoman(n % 100);
    82 if (n < 1100)
    83 return fill('C', 10 - n / 100) + "M" + toupperRoman(n % 100);
    @@ -299,12 +315,7 @@ Here is the call graph for this function:
    85 return fill('M', n / 1000) + toupperRoman(n % 1000);
    86 return "?";
    87}
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + diff --git a/de/d85/decimal__to__roman__numeral_8cpp_a003fb4e1b08279fe4cd50fbbc2782c2d_cgraph.map b/de/d85/decimal__to__roman__numeral_8cpp_a003fb4e1b08279fe4cd50fbbc2782c2d_cgraph.map deleted file mode 100644 index c3b69927d..000000000 --- a/de/d85/decimal__to__roman__numeral_8cpp_a003fb4e1b08279fe4cd50fbbc2782c2d_cgraph.map +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/de/d85/decimal__to__roman__numeral_8cpp_a003fb4e1b08279fe4cd50fbbc2782c2d_cgraph.md5 b/de/d85/decimal__to__roman__numeral_8cpp_a003fb4e1b08279fe4cd50fbbc2782c2d_cgraph.md5 deleted file mode 100644 index 036859bb6..000000000 --- a/de/d85/decimal__to__roman__numeral_8cpp_a003fb4e1b08279fe4cd50fbbc2782c2d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -287d4b250a017ff628088ab4cee0628b \ No newline at end of file diff --git a/de/d85/decimal__to__roman__numeral_8cpp_a003fb4e1b08279fe4cd50fbbc2782c2d_cgraph.svg b/de/d85/decimal__to__roman__numeral_8cpp_a003fb4e1b08279fe4cd50fbbc2782c2d_cgraph.svg deleted file mode 100644 index 944de37e3..000000000 --- a/de/d85/decimal__to__roman__numeral_8cpp_a003fb4e1b08279fe4cd50fbbc2782c2d_cgraph.svg +++ /dev/null @@ -1,74 +0,0 @@ - - - - - - - - - - - - -tolowerRoman - - -Node1 - - -tolowerRoman - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -fill - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/de/d85/decimal__to__roman__numeral_8cpp_a003fb4e1b08279fe4cd50fbbc2782c2d_cgraph_org.svg b/de/d85/decimal__to__roman__numeral_8cpp_a003fb4e1b08279fe4cd50fbbc2782c2d_cgraph_org.svg deleted file mode 100644 index 3e80bca2b..000000000 --- a/de/d85/decimal__to__roman__numeral_8cpp_a003fb4e1b08279fe4cd50fbbc2782c2d_cgraph_org.svg +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - -tolowerRoman - - -Node1 - - -tolowerRoman - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -fill - - - - - -Node1->Node2 - - - - - - - - diff --git a/de/d85/decimal__to__roman__numeral_8cpp_a214743638eff1336f835310049aef979_cgraph.map b/de/d85/decimal__to__roman__numeral_8cpp_a214743638eff1336f835310049aef979_cgraph.map deleted file mode 100644 index c4de56222..000000000 --- a/de/d85/decimal__to__roman__numeral_8cpp_a214743638eff1336f835310049aef979_cgraph.map +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/de/d85/decimal__to__roman__numeral_8cpp_a214743638eff1336f835310049aef979_cgraph.md5 b/de/d85/decimal__to__roman__numeral_8cpp_a214743638eff1336f835310049aef979_cgraph.md5 deleted file mode 100644 index a9a737523..000000000 --- a/de/d85/decimal__to__roman__numeral_8cpp_a214743638eff1336f835310049aef979_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -af9436d3bbf68467c40bd250af526158 \ No newline at end of file diff --git a/de/d85/decimal__to__roman__numeral_8cpp_a214743638eff1336f835310049aef979_cgraph.svg b/de/d85/decimal__to__roman__numeral_8cpp_a214743638eff1336f835310049aef979_cgraph.svg deleted file mode 100644 index 792d1e40e..000000000 --- a/de/d85/decimal__to__roman__numeral_8cpp_a214743638eff1336f835310049aef979_cgraph.svg +++ /dev/null @@ -1,74 +0,0 @@ - - - - - - - - - - - - -toupperRoman - - -Node1 - - -toupperRoman - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -fill - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/de/d85/decimal__to__roman__numeral_8cpp_a214743638eff1336f835310049aef979_cgraph_org.svg b/de/d85/decimal__to__roman__numeral_8cpp_a214743638eff1336f835310049aef979_cgraph_org.svg deleted file mode 100644 index 0a36c8b0f..000000000 --- a/de/d85/decimal__to__roman__numeral_8cpp_a214743638eff1336f835310049aef979_cgraph_org.svg +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - -toupperRoman - - -Node1 - - -toupperRoman - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -fill - - - - - -Node1->Node2 - - - - - - - - diff --git a/de/d85/decimal__to__roman__numeral_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/de/d85/decimal__to__roman__numeral_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 4e7f72d6d..000000000 --- a/de/d85/decimal__to__roman__numeral_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - - - diff --git a/de/d85/decimal__to__roman__numeral_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/de/d85/decimal__to__roman__numeral_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index c8666b7e0..000000000 --- a/de/d85/decimal__to__roman__numeral_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -7227ffb7daad2198dd0710c0d991780d \ No newline at end of file diff --git a/de/d85/decimal__to__roman__numeral_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/de/d85/decimal__to__roman__numeral_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 3a2ba5fcd..000000000 --- a/de/d85/decimal__to__roman__numeral_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,128 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -tolowerRoman - - - - - -Node1->Node2 - - - - - - - - -Node4 - - -toupperRoman - - - - - -Node1->Node4 - - - - - - - - -Node2->Node2 - - - - - - - - -Node3 - - -fill - - - - - -Node2->Node3 - - - - - - - - -Node4->Node3 - - - - - - - - -Node4->Node4 - - - - - - - - - - - - - diff --git a/de/d85/decimal__to__roman__numeral_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/de/d85/decimal__to__roman__numeral_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 831520ccc..000000000 --- a/de/d85/decimal__to__roman__numeral_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,102 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -tolowerRoman - - - - - -Node1->Node2 - - - - - - - - -Node4 - - -toupperRoman - - - - - -Node1->Node4 - - - - - - - - -Node2->Node2 - - - - - - - - -Node3 - - -fill - - - - - -Node2->Node3 - - - - - - - - -Node4->Node3 - - - - - - - - -Node4->Node4 - - - - - - - - diff --git a/de/d85/decimal__to__roman__numeral_8cpp_source.html b/de/d85/decimal__to__roman__numeral_8cpp_source.html new file mode 100644 index 000000000..75d0fa1c6 --- /dev/null +++ b/de/d85/decimal__to__roman__numeral_8cpp_source.html @@ -0,0 +1,232 @@ + + + + + + + + +TheAlgorithms/C++: others/decimal_to_roman_numeral.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    decimal_to_roman_numeral.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    7#include <cmath>
    +
    8#include <cstdio>
    +
    9#include <cstring>
    +
    10#include <iostream>
    +
    11
    +
    +
    15std::string fill(char c, int n) {
    +
    16 std::string s = "";
    +
    17 while (n--) s += c;
    +
    18 return s;
    +
    19}
    +
    +
    20
    +
    +
    24std::string tolowerRoman(int n) {
    +
    25 if (n < 4)
    +
    26 return fill('i', n);
    +
    27 if (n < 6)
    +
    28 return fill('i', 5 - n) + "v";
    +
    29 if (n < 9)
    +
    30 return std::string("v") + fill('i', n - 5);
    +
    31 if (n < 11)
    +
    32 return fill('i', 10 - n) + "x";
    +
    33 if (n < 40)
    +
    34 return fill('x', n / 10) + tolowerRoman(n % 10);
    +
    35 if (n < 60)
    +
    36 return fill('x', 5 - n / 10) + 'l' + tolowerRoman(n % 10);
    +
    37 if (n < 90)
    +
    38 return std::string("l") + fill('x', n / 10 - 5) + tolowerRoman(n % 10);
    +
    39 if (n < 110)
    +
    40 return fill('x', 10 - n / 10) + "c" + tolowerRoman(n % 10);
    +
    41 if (n < 400)
    +
    42 return fill('c', n / 100) + tolowerRoman(n % 100);
    +
    43 if (n < 600)
    +
    44 return fill('c', 5 - n / 100) + 'd' + tolowerRoman(n % 100);
    +
    45 if (n < 900)
    +
    46 return std::string("d") + fill('c', n / 100 - 5) +
    +
    47 tolowerRoman(n % 100);
    +
    48 if (n < 1100)
    +
    49 return fill('c', 10 - n / 100) + "m" + tolowerRoman(n % 100);
    +
    50 if (n < 4000)
    +
    51 return fill('m', n / 1000) + tolowerRoman(n % 1000);
    +
    52 return "?";
    +
    53}
    +
    +
    54
    +
    +
    58std::string toupperRoman(int n) {
    +
    59 if (n < 4)
    +
    60 return fill('I', n);
    +
    61 if (n < 6)
    +
    62 return fill('I', 5 - n) + "V";
    +
    63 if (n < 9)
    +
    64 return std::string("V") + fill('I', n - 5);
    +
    65 if (n < 11)
    +
    66 return fill('I', 10 - n) + "X";
    +
    67 if (n < 40)
    +
    68 return fill('X', n / 10) + toupperRoman(n % 10);
    +
    69 if (n < 60)
    +
    70 return fill('X', 5 - n / 10) + 'L' + toupperRoman(n % 10);
    +
    71 if (n < 90)
    +
    72 return std::string("L") + fill('X', n / 10 - 5) + toupperRoman(n % 10);
    +
    73 if (n < 110)
    +
    74 return fill('X', 10 - n / 10) + "C" + toupperRoman(n % 10);
    +
    75 if (n < 400)
    +
    76 return fill('C', n / 100) + toupperRoman(n % 100);
    +
    77 if (n < 600)
    +
    78 return fill('C', 5 - n / 100) + 'D' + toupperRoman(n % 100);
    +
    79 if (n < 900)
    +
    80 return std::string("D") + fill('C', n / 100 - 5) +
    +
    81 toupperRoman(n % 100);
    +
    82 if (n < 1100)
    +
    83 return fill('C', 10 - n / 100) + "M" + toupperRoman(n % 100);
    +
    84 if (n < 4000)
    +
    85 return fill('M', n / 1000) + toupperRoman(n % 1000);
    +
    86 return "?";
    +
    87}
    +
    +
    88
    +
    +
    90int main() {
    +
    91 int n;
    +
    92 std::cout << "\t\tRoman numbers converter\n\n";
    +
    93 std::cout << "Type in decimal number between 0 up to 4000 (exclusive): ";
    +
    94 std::cin >> n;
    +
    95 std::cout << n << " in Upper Roman Numerals is " << toupperRoman(n) << "\n";
    +
    96 std::cout << n << " in Lower Roman Numerals is " << tolowerRoman(n) << "\n";
    +
    97 return 0;
    +
    98}
    +
    +
    std::string tolowerRoman(int n)
    +
    std::string toupperRoman(int n)
    +
    std::string fill(char c, int n)
    + +
    +
    + + + + diff --git a/de/d88/travelling__salesman__problem_8cpp.html b/de/d88/travelling__salesman__problem_8cpp.html index bfcb72d2e..018713a7b 100644 --- a/de/d88/travelling__salesman__problem_8cpp.html +++ b/de/d88/travelling__salesman__problem_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: graph/travelling_salesman_problem.cpp File Reference +TheAlgorithms/C++: graph/travelling_salesman_problem.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -124,7 +141,9 @@ Include dependency graph for travelling_salesman_problem.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -133,7 +152,7 @@ Namespaces

    Namespaces

    namespace  graph
    - + @@ -147,6 +166,8 @@ Functions

    [Travelling Salesman Problem] (https://en.wikipedia.org/wiki/Travelling_salesman_problem) implementation

    Author
    Mayank Mamgain

    Travelling salesman problem asks: Given a list of cities and the distances between each pair of cities, what is the shortest possible route that visits each city exactly once and returns to the origin city? TSP can be modeled as an undirected weighted graph, such that cities are the graph's vertices, paths are the graph's edges, and a path's distance is the edge's weight. It is a minimization problem starting and finishing at a specified vertex after having visited each other vertex exactly once. This is the naive implementation of the problem.

    + +

    Definition in file travelling_salesman_problem.cpp.

    Function Documentation

    ◆ main()

    @@ -165,26 +186,19 @@ Functions

    Main function.

    Returns
    0 on exit
    + +

    Definition at line 105 of file travelling_salesman_problem.cpp.

    105 {
    106 tests(); // run self-test implementations
    - +
    107 std::vector<std::vector<uint32_t>> cities = {
    108 {0, 5, 10, 15}, {5, 0, 20, 30}, {10, 20, 0, 35}, {15, 30, 35, 0}};
    -
    109 uint32_t V = cities.size();
    - +
    109 uint32_t V = cities.size();
    +
    110 std::cout << graph::TravellingSalesmanProblem(&cities, 0, V) << std::endl;
    111 return 0;
    112}
    - -
    T endl(T... args)
    -
    int TravellingSalesmanProblem(std::vector< std::vector< uint32_t > > *cities, int32_t src, uint32_t V)
    Function calculates the minimum path distance that will cover all the cities starting from the source...
    Definition travelling_salesman_problem.cpp:41
    -
    T size(T... args)
    -
    static void tests()
    Self-test implementations.
    Definition travelling_salesman_problem.cpp:78
    - -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    int TravellingSalesmanProblem(std::vector< std::vector< uint32_t > > *cities, int32_t src, uint32_t V)
    Function calculates the minimum path distance that will cover all the cities starting from the source...
    +
    static void tests()
    Self-test implementations.
    + @@ -212,34 +226,31 @@ Here is the call graph for this function:

    Self-test implementations.

    Returns
    void
    + +

    Definition at line 78 of file travelling_salesman_problem.cpp.

    78 {
    -
    79 std::cout << "Initiatinig Predefined Tests..." << std::endl;
    -
    80 std::cout << "Initiating Test 1..." << std::endl;
    - +
    79 std::cout << "Initiatinig Predefined Tests..." << std::endl;
    +
    80 std::cout << "Initiating Test 1..." << std::endl;
    +
    81 std::vector<std::vector<uint32_t>> cities = {
    82 {0, 20, 42, 35}, {20, 0, 30, 34}, {42, 30, 0, 12}, {35, 34, 12, 0}};
    -
    83 uint32_t V = cities.size();
    +
    83 uint32_t V = cities.size();
    84 assert(graph::TravellingSalesmanProblem(&cities, 0, V) == 97);
    -
    85 std::cout << "1st test passed..." << std::endl;
    +
    85 std::cout << "1st test passed..." << std::endl;
    86
    -
    87 std::cout << "Initiating Test 2..." << std::endl;
    +
    87 std::cout << "Initiating Test 2..." << std::endl;
    88 cities = {{0, 5, 10, 15}, {5, 0, 20, 30}, {10, 20, 0, 35}, {15, 30, 35, 0}};
    -
    89 V = cities.size();
    +
    89 V = cities.size();
    90 assert(graph::TravellingSalesmanProblem(&cities, 0, V) == 75);
    -
    91 std::cout << "2nd test passed..." << std::endl;
    +
    91 std::cout << "2nd test passed..." << std::endl;
    92
    -
    93 std::cout << "Initiating Test 3..." << std::endl;
    +
    93 std::cout << "Initiating Test 3..." << std::endl;
    94 cities = {
    95 {0, 10, 15, 20}, {10, 0, 35, 25}, {15, 35, 0, 30}, {20, 25, 30, 0}};
    -
    96 V = cities.size();
    +
    96 V = cities.size();
    97 assert(graph::TravellingSalesmanProblem(&cities, 0, V) == 80);
    -
    98 std::cout << "3rd test passed..." << std::endl;
    +
    98 std::cout << "3rd test passed..." << std::endl;
    99}
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + diff --git a/de/d88/travelling__salesman__problem_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.map b/de/d88/travelling__salesman__problem_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.map deleted file mode 100644 index f6a09bde0..000000000 --- a/de/d88/travelling__salesman__problem_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.map +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - - - - - diff --git a/de/d88/travelling__salesman__problem_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 b/de/d88/travelling__salesman__problem_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 deleted file mode 100644 index 22331a8c1..000000000 --- a/de/d88/travelling__salesman__problem_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -2486b996cec8eb80a0cc57523d36daf3 \ No newline at end of file diff --git a/de/d88/travelling__salesman__problem_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.svg b/de/d88/travelling__salesman__problem_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.svg deleted file mode 100644 index b848d96ca..000000000 --- a/de/d88/travelling__salesman__problem_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.svg +++ /dev/null @@ -1,174 +0,0 @@ - - - - - - - - - - - - -tests - - -Node1 - - -tests - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::vector::size - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -graph::TravellingSalesman -Problem - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::vector::begin - - - - - -Node4->Node5 - - - - - - - - -Node6 - - -std::vector::end - - - - - -Node4->Node6 - - - - - - - - -Node7 - - -std::min - - - - - -Node4->Node7 - - - - - - - - -Node8 - - -std::vector::push_back - - - - - -Node4->Node8 - - - - - - - - - - - - - diff --git a/de/d88/travelling__salesman__problem_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph_org.svg b/de/d88/travelling__salesman__problem_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph_org.svg deleted file mode 100644 index 24f602f26..000000000 --- a/de/d88/travelling__salesman__problem_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph_org.svg +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - -tests - - -Node1 - - -tests - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::vector::size - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -graph::TravellingSalesman -Problem - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::vector::begin - - - - - -Node4->Node5 - - - - - - - - -Node6 - - -std::vector::end - - - - - -Node4->Node6 - - - - - - - - -Node7 - - -std::min - - - - - -Node4->Node7 - - - - - - - - -Node8 - - -std::vector::push_back - - - - - -Node4->Node8 - - - - - - - - diff --git a/de/d88/travelling__salesman__problem_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/de/d88/travelling__salesman__problem_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 47e7a993c..000000000 --- a/de/d88/travelling__salesman__problem_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - diff --git a/de/d88/travelling__salesman__problem_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/de/d88/travelling__salesman__problem_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index 933a7c73c..000000000 --- a/de/d88/travelling__salesman__problem_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -88bb1d67efe1faf52c790056e851541c \ No newline at end of file diff --git a/de/d88/travelling__salesman__problem_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/de/d88/travelling__salesman__problem_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 07ed6acf7..000000000 --- a/de/d88/travelling__salesman__problem_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,219 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::vector::size - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -tests - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -graph::TravellingSalesman -Problem - - - - - -Node1->Node5 - - - - - - - - -Node4->Node2 - - - - - - - - -Node4->Node3 - - - - - - - - -Node4->Node5 - - - - - - - - -Node6 - - -std::vector::begin - - - - - -Node5->Node6 - - - - - - - - -Node7 - - -std::vector::end - - - - - -Node5->Node7 - - - - - - - - -Node8 - - -std::min - - - - - -Node5->Node8 - - - - - - - - -Node9 - - -std::vector::push_back - - - - - -Node5->Node9 - - - - - - - - - - - - - diff --git a/de/d88/travelling__salesman__problem_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/de/d88/travelling__salesman__problem_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index e4ceb64f3..000000000 --- a/de/d88/travelling__salesman__problem_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,193 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::vector::size - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -tests - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -graph::TravellingSalesman -Problem - - - - - -Node1->Node5 - - - - - - - - -Node4->Node2 - - - - - - - - -Node4->Node3 - - - - - - - - -Node4->Node5 - - - - - - - - -Node6 - - -std::vector::begin - - - - - -Node5->Node6 - - - - - - - - -Node7 - - -std::vector::end - - - - - -Node5->Node7 - - - - - - - - -Node8 - - -std::min - - - - - -Node5->Node8 - - - - - - - - -Node9 - - -std::vector::push_back - - - - - -Node5->Node9 - - - - - - - - diff --git a/de/d88/travelling__salesman__problem_8cpp_source.html b/de/d88/travelling__salesman__problem_8cpp_source.html new file mode 100644 index 000000000..bb60ac43d --- /dev/null +++ b/de/d88/travelling__salesman__problem_8cpp_source.html @@ -0,0 +1,215 @@ + + + + + + + + +TheAlgorithms/C++: graph/travelling_salesman_problem.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    +

    Functions

    int graph::TravellingSalesmanProblem (std::vector< std::vector< uint32_t > > *cities, int32_t src, uint32_t V)
    int graph::TravellingSalesmanProblem (std::vector< std::vector< uint32_t > > *cities, int32_t src, uint32_t V)
     Function calculates the minimum path distance that will cover all the cities starting from the source.
     
    static void tests ()
    + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + + +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    travelling_salesman_problem.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    20#include <algorithm>
    +
    21#include <cassert>
    +
    22#include <cstdint>
    +
    23#include <iostream>
    +
    24#include <limits>
    +
    25#include <vector>
    +
    26
    +
    31namespace graph {
    +
    +
    41int TravellingSalesmanProblem(std::vector<std::vector<uint32_t>> *cities,
    +
    42 int32_t src, uint32_t V) {
    +
    44 std::vector<uint32_t> vtx;
    +
    45 for (uint32_t i = 0; i < V; i++) {
    +
    46 if (i != src) {
    +
    47 vtx.push_back(i);
    +
    48 }
    +
    49 }
    +
    50
    +
    52 int32_t min_path = 2147483647;
    +
    53 do {
    +
    55 int32_t curr_weight = 0;
    +
    56
    +
    58 int k = src;
    +
    59 for (int i : vtx) {
    +
    60 curr_weight += (*cities)[k][i];
    +
    61 k = i;
    +
    62 }
    +
    63 curr_weight += (*cities)[k][src];
    +
    64
    +
    66 min_path = std::min(min_path, curr_weight);
    +
    67
    +
    68 } while (next_permutation(vtx.begin(), vtx.end()));
    +
    69
    +
    70 return min_path;
    +
    71}
    +
    +
    72} // namespace graph
    +
    73
    +
    +
    78static void tests() {
    +
    79 std::cout << "Initiatinig Predefined Tests..." << std::endl;
    +
    80 std::cout << "Initiating Test 1..." << std::endl;
    +
    81 std::vector<std::vector<uint32_t>> cities = {
    +
    82 {0, 20, 42, 35}, {20, 0, 30, 34}, {42, 30, 0, 12}, {35, 34, 12, 0}};
    +
    83 uint32_t V = cities.size();
    +
    84 assert(graph::TravellingSalesmanProblem(&cities, 0, V) == 97);
    +
    85 std::cout << "1st test passed..." << std::endl;
    +
    86
    +
    87 std::cout << "Initiating Test 2..." << std::endl;
    +
    88 cities = {{0, 5, 10, 15}, {5, 0, 20, 30}, {10, 20, 0, 35}, {15, 30, 35, 0}};
    +
    89 V = cities.size();
    +
    90 assert(graph::TravellingSalesmanProblem(&cities, 0, V) == 75);
    +
    91 std::cout << "2nd test passed..." << std::endl;
    +
    92
    +
    93 std::cout << "Initiating Test 3..." << std::endl;
    +
    94 cities = {
    +
    95 {0, 10, 15, 20}, {10, 0, 35, 25}, {15, 35, 0, 30}, {20, 25, 30, 0}};
    +
    96 V = cities.size();
    +
    97 assert(graph::TravellingSalesmanProblem(&cities, 0, V) == 80);
    +
    98 std::cout << "3rd test passed..." << std::endl;
    +
    99}
    +
    +
    100
    +
    +
    105int main() {
    +
    106 tests(); // run self-test implementations
    +
    107 std::vector<std::vector<uint32_t>> cities = {
    +
    108 {0, 5, 10, 15}, {5, 0, 20, 30}, {10, 20, 0, 35}, {15, 30, 35, 0}};
    +
    109 uint32_t V = cities.size();
    +
    110 std::cout << graph::TravellingSalesmanProblem(&cities, 0, V) << std::endl;
    +
    111 return 0;
    +
    112}
    +
    +
    Graph Algorithms.
    +
    int TravellingSalesmanProblem(std::vector< std::vector< uint32_t > > *cities, int32_t src, uint32_t V)
    Function calculates the minimum path distance that will cover all the cities starting from the source...
    +
    static void tests()
    Self-test implementations.
    +
    int main()
    Main function.
    +
    +
    + + + + diff --git a/de/d89/graham__scan__functions_8hpp_source.html b/de/d89/graham__scan__functions_8hpp_source.html index 5a7481f46..8dd29cff6 100644 --- a/de/d89/graham__scan__functions_8hpp_source.html +++ b/de/d89/graham__scan__functions_8hpp_source.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: geometry/graham_scan_functions.hpp Source File +TheAlgorithms/C++: geometry/graham_scan_functions.hpp Source File + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -147,12 +164,12 @@ $(function(){initNavTree('de/d89/graham__scan__functions_8hpp_source.html','../.
    38 * @author [Lajat Manekar](https://github.com/Lazeeez)
    39 *
    40 *******************************************************************************/
    -
    41#include <algorithm> /// for std::swap
    +
    41#include <algorithm>
    42#include <cstdint>
    -
    43#include <cstdlib> /// for mathematics and datatype conversion
    -
    44#include <iostream> /// for IO operations
    -
    45#include <stack> /// for std::stack
    -
    46#include <vector> /// for std::vector
    +
    43#include <cstdlib>
    +
    44#include <iostream>
    +
    45#include <stack>
    +
    46#include <vector>
    47
    48/******************************************************************************
    49 * @namespace geometry
    @@ -187,11 +204,11 @@ $(function(){initNavTree('de/d89/graham__scan__functions_8hpp_source.html','../.
    75 * @param S Stack to be used for the process.
    76 * @returns @param Point Co-ordinates of the Point <int, int>
    77 *******************************************************************************/
    -
    78Point nextToTop(std::stack<Point> *S) {
    -
    79 Point p = S->top();
    -
    80 S->pop();
    -
    81 Point res = S->top();
    -
    82 S->push(p);
    +
    78Point nextToTop(std::stack<Point> *S) {
    +
    79 Point p = S->top();
    +
    80 S->pop();
    +
    81 Point res = S->top();
    +
    82 S->push(p);
    83 return res;
    84}
    85
    @@ -248,26 +265,26 @@ $(function(){initNavTree('de/d89/graham__scan__functions_8hpp_source.html','../.
    136 * @param size Size of the vector.
    137 * @returns @param vector vector of Conver Hull.
    138 *******************************************************************************/
    -
    139std::vector<Point> convexHull(std::vector<Point> points, uint64_t size) {
    +
    139std::vector<Point> convexHull(std::vector<Point> points, uint64_t size) {
    140 // Find the bottom-most point
    -
    141 int ymin = points[0].y, min = 0;
    +
    141 int ymin = points[0].y, min = 0;
    142 for (int i = 1; i < size; i++) {
    143 int y = points[i].y;
    144
    145 // Pick the bottom-most or chose the left-most point in case of tie
    146 if ((y < ymin) || (ymin == y && points[i].x < points[min].x)) {
    -
    147 ymin = points[i].y, min = i;
    +
    147 ymin = points[i].y, min = i;
    148 }
    149 }
    150
    151 // Place the bottom-most point at first position
    -
    152 std::swap(points[0], points[min]);
    +
    152 std::swap(points[0], points[min]);
    153
    154 // Sort n-1 points with respect to the first point. A point p1 comes
    155 // before p2 in sorted output if p2 has larger polar angle
    156 // (in counterclockwise direction) than p1.
    157 p0 = points[0];
    -
    158 qsort(&points[1], size - 1, sizeof(Point), compare);
    +
    158 qsort(&points[1], size - 1, sizeof(Point), compare);
    159
    160 // If two or more points make same angle with p0, Remove all but the one
    161 // that is farthest from p0 Remember that, in above sorting, our criteria
    @@ -291,29 +308,29 @@ $(function(){initNavTree('de/d89/graham__scan__functions_8hpp_source.html','../.
    179 };
    180
    181 // Create an empty stack and push first three points to it.
    - -
    183 St.push(points[0]);
    -
    184 St.push(points[1]);
    -
    185 St.push(points[2]);
    +
    182 std::stack<Point> St;
    +
    183 St.push(points[0]);
    +
    184 St.push(points[1]);
    +
    185 St.push(points[2]);
    186
    187 // Process remaining n-3 points
    188 for (int i = 3; i < m; i++) {
    189 // Keep removing top while the angle formed by
    190 // points next-to-top, top, and points[i] makes
    191 // a non-left turn
    -
    192 while (St.size() > 1 &&
    -
    193 orientation(nextToTop(&St), St.top(), points[i]) != 2) {
    -
    194 St.pop();
    +
    192 while (St.size() > 1 &&
    +
    193 orientation(nextToTop(&St), St.top(), points[i]) != 2) {
    +
    194 St.pop();
    195 }
    -
    196 St.push(points[i]);
    +
    196 St.push(points[i]);
    197 }
    198
    - +
    199 std::vector<Point> result;
    200 // Now stack has the output points, push them into the resultant vector
    -
    201 while (!St.empty()) {
    -
    202 Point p = St.top();
    +
    201 while (!St.empty()) {
    +
    202 Point p = St.top();
    203 result.push_back(p);
    -
    204 St.pop();
    +
    204 St.pop();
    205 }
    206
    207 return result; // return resultant vector with Convex Hull co-ordinates.
    @@ -321,22 +338,12 @@ $(function(){initNavTree('de/d89/graham__scan__functions_8hpp_source.html','../.
    209} // namespace grahamscan
    210} // namespace geometry
    -
    T empty(T... args)
    -
    uint64_t result(uint64_t n)
    Definition fibonacci_sum.cpp:77
    -
    T min(T... args)
    -
    for std::swap
    Definition graham_scan_functions.hpp:52
    -
    T pop(T... args)
    -
    T push(T... args)
    -
    T qsort(T... args)
    -
    T size(T... args)
    - -
    Definition line_segment_intersection.cpp:12
    -
    int y
    Point respect to x coordinate.
    Definition line_segment_intersection.cpp:14
    -
    Definition huffman.cpp:36
    -
    Definition graham_scan_functions.hpp:64
    -
    T swap(T... args)
    -
    T top(T... args)
    - +
    uint64_t result(uint64_t n)
    +
    for std::swap
    + +
    int y
    Point respect to x coordinate.
    + + diff --git a/de/d8a/class_trie-members.html b/de/d8a/class_trie-members.html index f8ed43267..d56ca25a2 100644 --- a/de/d8a/class_trie-members.html +++ b/de/d8a/class_trie-members.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Member List +TheAlgorithms/C++: Member List + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/de/d8c/partition__problem_8cpp_source.html b/de/d8c/partition__problem_8cpp_source.html new file mode 100644 index 000000000..31dd2ed88 --- /dev/null +++ b/de/d8c/partition__problem_8cpp_source.html @@ -0,0 +1,248 @@ + + + + + + + + +TheAlgorithms/C++: dynamic_programming/partition_problem.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + + +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    partition_problem.cpp
    +
    +
    +
    1/******************************************************************************
    +
    2 * @file
    +
    3 * @brief Implementation of the [Partition
    +
    4 * Problem](https://en.wikipedia.org/wiki/Partition_problem )
    +
    5 * @details
    +
    6 * The partition problem, or number partitioning, is the task of deciding
    +
    7 * whether a given multiset S of positive integers can be partitioned into two
    +
    8 * subsets S1 and S2 such that the sum of the numbers in S1 equals the sum of
    +
    9 * the numbers in S2. Although the partition problem is NP-complete, there is a
    +
    10 * pseudo-polynomial time dynamic programming solution, and there are heuristics
    +
    11 * that solve the problem in many instances, either optimally or approximately.
    +
    12 * For this reason, it has been called "the easiest hard problem".
    +
    13 *
    +
    14 * The worst case time complexity of Jarvis’s Algorithm is O(n^2). Using
    +
    15 * Graham’s scan algorithm, we can find Convex Hull in O(nLogn) time.
    +
    16 *
    +
    17 * ### Implementation
    +
    18 *
    +
    19 * Step 1
    +
    20 * Calculate sum of the array. If sum is odd, there can not be two subsets with
    +
    21 * equal sum, so return false.
    +
    22 *
    +
    23 * Step 2
    +
    24 * If sum of array elements is even, calculate sum/2 and find a subset of array
    +
    25 * with sum equal to sum/2.
    +
    26 *
    +
    27 * @author [Lajat Manekar](https://github.com/Lazeeez)
    +
    28 *
    +
    29 *******************************************************************************/
    +
    30#include <cassert>
    +
    31#include <cstdint>
    +
    32#include <iostream>
    +
    33#include <numeric>
    +
    34#include <vector>
    +
    35/******************************************************************************
    +
    36 * @namespace dp
    +
    37 * @brief Dynamic programming algorithms
    +
    38 *******************************************************************************/
    +
    +
    39namespace dp {
    +
    40
    +
    41/******************************************************************************
    +
    42 * @namespace partitionProblem
    +
    43 * @brief Partition problem algorithm
    +
    44 *******************************************************************************/
    +
    45namespace partitionProblem {
    +
    46
    +
    47/******************************************************************************
    +
    48 * @brief Returns true if arr can be partitioned in two subsets of equal sum,
    +
    49 * otherwise false
    +
    50 * @param arr vector containing elements
    +
    51 * @param size Size of the vector.
    +
    52 * @returns @param bool whether the vector can be partitioned or not.
    +
    53 *******************************************************************************/
    +
    54bool findPartiion(const std::vector<uint64_t> &arr, uint64_t size) {
    +
    55 uint64_t sum = std::accumulate(arr.begin(), arr.end(),
    +
    56 0); // Calculate sum of all elements
    +
    57
    +
    58 if (sum % 2 != 0) {
    +
    59 return false; // if sum is odd, it cannot be divided into two equal sum
    +
    60 }
    +
    61 std::vector<bool> part;
    +
    62 // bool part[sum / 2 + 1];
    +
    63
    +
    64 // Initialize the part array as 0
    +
    65 for (uint64_t it = 0; it <= sum / 2; ++it) {
    +
    66 part.push_back(false);
    +
    67 }
    +
    68
    +
    69 // Fill the partition table in bottom up manner
    +
    70 for (uint64_t it = 0; it < size; ++it) {
    +
    71 // The element to be included in the sum cannot be greater than the sum
    +
    72 for (uint64_t it2 = sum / 2; it2 >= arr[it];
    +
    73 --it2) { // Check if sum - arr[i]
    +
    74 // ould be formed from a subset using elements before index i
    +
    75 if (part[it2 - arr[it]] == 1 || it2 == arr[it]) {
    +
    76 part[it2] = true;
    +
    77 }
    +
    78 }
    +
    79 }
    +
    80 return part[sum / 2];
    +
    81}
    +
    82} // namespace partitionProblem
    +
    83} // namespace dp
    +
    +
    84
    +
    85/*******************************************************************************
    +
    86 * @brief Self-test implementations
    +
    87 * @returns void
    +
    88 *******************************************************************************/
    +
    89static void test() {
    +
    90 std::vector<uint64_t> arr = {{1, 3, 3, 2, 3, 2}};
    +
    91 uint64_t n = arr.size();
    +
    92 bool expected_result = true;
    +
    93 bool derived_result = dp::partitionProblem::findPartiion(arr, n);
    +
    94 std::cout << "1st test: ";
    +
    95 assert(expected_result == derived_result);
    +
    96 std::cout << "Passed!" << std::endl;
    +
    97}
    +
    98
    +
    99/*******************************************************************************
    +
    100 * @brief Main function
    +
    101 * @returns 0 on exit
    +
    102 *******************************************************************************/
    +
    103int main() {
    +
    104 test(); // run self-test implementations
    +
    105 return 0;
    +
    106}
    +
    void test()
    +
    int main()
    Main function.
    +
    for std::vector
    +
    +
    + + + + diff --git a/de/d8d/class_f_c_f_s-members.html b/de/d8d/class_f_c_f_s-members.html index f92a63557..fe672acf6 100644 --- a/de/d8d/class_f_c_f_s-members.html +++ b/de/d8d/class_f_c_f_s-members.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Member List +TheAlgorithms/C++: Member List + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/de/d8e/classothers_1_1postfix__expression_1_1_stack__coll__graph.map b/de/d8e/classothers_1_1postfix__expression_1_1_stack__coll__graph.map index 79cf83416..e0b38e82a 100644 --- a/de/d8e/classothers_1_1postfix__expression_1_1_stack__coll__graph.map +++ b/de/d8e/classothers_1_1postfix__expression_1_1_stack__coll__graph.map @@ -1,5 +1,5 @@ - + diff --git a/de/d8e/classothers_1_1postfix__expression_1_1_stack__coll__graph.md5 b/de/d8e/classothers_1_1postfix__expression_1_1_stack__coll__graph.md5 index 6dc069ca3..ae7909d30 100644 --- a/de/d8e/classothers_1_1postfix__expression_1_1_stack__coll__graph.md5 +++ b/de/d8e/classothers_1_1postfix__expression_1_1_stack__coll__graph.md5 @@ -1 +1 @@ -3f8542a6de4092a10ea39447059e0e9c \ No newline at end of file +b5fd7b27258ae2cc938ab94c71b32256 \ No newline at end of file diff --git a/de/d8e/classothers_1_1postfix__expression_1_1_stack__coll__graph.svg b/de/d8e/classothers_1_1postfix__expression_1_1_stack__coll__graph.svg index 7f5a8b71e..a5cec6180 100644 --- a/de/d8e/classothers_1_1postfix__expression_1_1_stack__coll__graph.svg +++ b/de/d8e/classothers_1_1postfix__expression_1_1_stack__coll__graph.svg @@ -32,7 +32,7 @@ Node2 - + std::array< float, 20 > diff --git a/de/d8e/classothers_1_1postfix__expression_1_1_stack__coll__graph_org.svg b/de/d8e/classothers_1_1postfix__expression_1_1_stack__coll__graph_org.svg index d4e63208a..b5a2323b0 100644 --- a/de/d8e/classothers_1_1postfix__expression_1_1_stack__coll__graph_org.svg +++ b/de/d8e/classothers_1_1postfix__expression_1_1_stack__coll__graph_org.svg @@ -21,7 +21,7 @@ Node2 - + std::array< float, 20 > diff --git a/de/d8f/classgreedy__algorithms_1_1_digit_separation-members.html b/de/d8f/classgreedy__algorithms_1_1_digit_separation-members.html index fa1f66df6..42f901bb6 100644 --- a/de/d8f/classgreedy__algorithms_1_1_digit_separation-members.html +++ b/de/d8f/classgreedy__algorithms_1_1_digit_separation-members.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Member List +TheAlgorithms/C++: Member List + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/de/d91/structlist-members.html b/de/d91/structlist-members.html index 60b391d68..bab04464c 100644 --- a/de/d91/structlist-members.html +++ b/de/d91/structlist-members.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Member List +TheAlgorithms/C++: Member List + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/de/d95/namespace_subsets.html b/de/d95/namespace_subsets.html index 0f19315d7..308b0fb1a 100644 --- a/de/d95/namespace_subsets.html +++ b/de/d95/namespace_subsets.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Subsets Namespace Reference +TheAlgorithms/C++: Subsets Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/de/d99/aliquot__sum_8cpp.html b/de/d99/aliquot__sum_8cpp.html index 6095e5e32..0239a0236 100644 --- a/de/d99/aliquot__sum_8cpp.html +++ b/de/d99/aliquot__sum_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: math/aliquot_sum.cpp File Reference +TheAlgorithms/C++: math/aliquot_sum.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + @@ -121,7 +138,9 @@ Include dependency graph for aliquot_sum.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -151,6 +170,8 @@ Functions

    For example; \(s(18) = 1 + 2 + 3 + 6 + 9 = 21 \)

    Author
    SpiderMath
    + +

    Definition in file aliquot_sum.cpp.

    Function Documentation

    ◆ main()

    @@ -169,17 +190,14 @@ Functions

    Main function.

    Returns
    0 on exit
    + +

    Definition at line 74 of file aliquot_sum.cpp.

    74 {
    75 test(); // run the self-test implementations
    76 return 0;
    77}
    -
    static void test()
    Self-test implementations.
    Definition aliquot_sum.cpp:57
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static void test()
    Self-test implementations.
    + @@ -207,6 +225,8 @@ Here is the call graph for this function:

    Self-test implementations.

    Returns
    void
    + +

    Definition at line 57 of file aliquot_sum.cpp.

    57 {
    58 // Aliquot sum of 10 is 1 + 2 + 5 = 8
    59 assert(math::aliquot_sum(10) == 8);
    @@ -217,16 +237,10 @@ Here is the call graph for this function:
    64 // Aliquot sum of 97 is 1 (the aliquot sum of a prime number is 1)
    65 assert(math::aliquot_sum(97) == 1);
    66
    -
    67 std::cout << "All the tests have successfully passed!\n";
    +
    67 std::cout << "All the tests have successfully passed!\n";
    68}
    - -
    uint64_t aliquot_sum(const uint64_t num)
    to return the aliquot sum of a number
    Definition aliquot_sum.cpp:36
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    uint64_t aliquot_sum(const uint64_t num)
    to return the aliquot sum of a number
    + diff --git a/de/d99/aliquot__sum_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map b/de/d99/aliquot__sum_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map deleted file mode 100644 index 44236365a..000000000 --- a/de/d99/aliquot__sum_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/de/d99/aliquot__sum_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 b/de/d99/aliquot__sum_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 deleted file mode 100644 index 019b91ea9..000000000 --- a/de/d99/aliquot__sum_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -9de40daebfdd73839fe6de7dbc3cefb9 \ No newline at end of file diff --git a/de/d99/aliquot__sum_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg b/de/d99/aliquot__sum_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg deleted file mode 100644 index 640b9856b..000000000 --- a/de/d99/aliquot__sum_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -math::aliquot_sum - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/de/d99/aliquot__sum_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg b/de/d99/aliquot__sum_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg deleted file mode 100644 index fa77d4dc9..000000000 --- a/de/d99/aliquot__sum_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -math::aliquot_sum - - - - - -Node1->Node2 - - - - - - - - diff --git a/de/d99/aliquot__sum_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/de/d99/aliquot__sum_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 453f56b9e..000000000 --- a/de/d99/aliquot__sum_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/de/d99/aliquot__sum_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/de/d99/aliquot__sum_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index 882449eb0..000000000 --- a/de/d99/aliquot__sum_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -84b115a7d95db54c6e35b8265ffa00ab \ No newline at end of file diff --git a/de/d99/aliquot__sum_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/de/d99/aliquot__sum_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 0ba03fd67..000000000 --- a/de/d99/aliquot__sum_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -math::aliquot_sum - - - - - -Node2->Node3 - - - - - - - - - - - - - diff --git a/de/d99/aliquot__sum_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/de/d99/aliquot__sum_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 773a943ba..000000000 --- a/de/d99/aliquot__sum_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -math::aliquot_sum - - - - - -Node2->Node3 - - - - - - - - diff --git a/de/d99/aliquot__sum_8cpp_source.html b/de/d99/aliquot__sum_8cpp_source.html new file mode 100644 index 000000000..5b3a35604 --- /dev/null +++ b/de/d99/aliquot__sum_8cpp_source.html @@ -0,0 +1,188 @@ + + + + + + + + +TheAlgorithms/C++: math/aliquot_sum.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    +

    Namespaces

    namespace  math
    + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + + +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    aliquot_sum.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    22#include <cassert>
    +
    23#include <cstdint>
    +
    24#include <iostream>
    +
    25
    +
    30namespace math {
    +
    31
    +
    +
    36uint64_t aliquot_sum(const uint64_t num) {
    +
    37 if (num == 0 || num == 1) {
    +
    38 return 0; // The aliquot sum for 0 and 1 is 0
    +
    39 }
    +
    40
    +
    41 uint64_t sum = 0;
    +
    42
    +
    43 for (uint64_t i = 1; i <= num / 2; i++) {
    +
    44 if (num % i == 0) {
    +
    45 sum += i;
    +
    46 }
    +
    47 }
    +
    48
    +
    49 return sum;
    +
    50}
    +
    +
    51} // namespace math
    +
    52
    +
    +
    57static void test() {
    +
    58 // Aliquot sum of 10 is 1 + 2 + 5 = 8
    +
    59 assert(math::aliquot_sum(10) == 8);
    +
    60 // Aliquot sum of 15 is 1 + 3 + 5 = 9
    +
    61 assert(math::aliquot_sum(15) == 9);
    +
    62 // Aliquot sum of 1 is 0
    +
    63 assert(math::aliquot_sum(1) == 0);
    +
    64 // Aliquot sum of 97 is 1 (the aliquot sum of a prime number is 1)
    +
    65 assert(math::aliquot_sum(97) == 1);
    +
    66
    +
    67 std::cout << "All the tests have successfully passed!\n";
    +
    68}
    +
    +
    69
    +
    +
    74int main() {
    +
    75 test(); // run the self-test implementations
    +
    76 return 0;
    +
    77}
    +
    +
    static void test()
    Self-test implementations.
    +
    int main()
    Main function.
    +
    for assert
    +
    uint64_t aliquot_sum(const uint64_t num)
    to return the aliquot sum of a number
    +
    +
    + + + + diff --git a/de/d9b/namespacegray__code.html b/de/d9b/namespacegray__code.html index d826d9ac7..d741814ac 100644 --- a/de/d9b/namespacegray__code.html +++ b/de/d9b/namespacegray__code.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: gray_code Namespace Reference +TheAlgorithms/C++: gray_code Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/de/d9b/prime__numbers_8cpp.html b/de/d9b/prime__numbers_8cpp.html index 97dd247f1..3d6467e74 100644 --- a/de/d9b/prime__numbers_8cpp.html +++ b/de/d9b/prime__numbers_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: math/prime_numbers.cpp File Reference +TheAlgorithms/C++: math/prime_numbers.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + @@ -119,10 +136,12 @@ Include dependency graph for prime_numbers.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    - + @@ -130,6 +149,8 @@ Functions

    Detailed Description

    Get list of prime numbers.

    See also
    primes_up_to_billion.cpp sieve_of_eratosthenes.cpp
    + +

    Definition in file prime_numbers.cpp.

    Function Documentation

    ◆ main()

    @@ -146,25 +167,18 @@ Functions

    Functions

    std::vector< int > primes (size_t max)
    std::vector< int > primes (size_t max)
     
    int main ()
     

    main function

    -
    34 {
    -
    35 std::cout << "Calculate primes up to:\n>> ";
    -
    36 int n = 0;
    -
    37 std::cin >> n;
    -
    38 std::vector<int> ans = primes(n);
    -
    39 for (int p : ans) std::cout << p << ' ';
    - -
    41}
    - - -
    T endl(T... args)
    -
    std::vector< int > primes(size_t max)
    Definition prime_numbers.cpp:12
    - -
    -Here is the call graph for this function:
    -
    -
    -
    +

    Definition at line 34 of file prime_numbers.cpp.

    +
    34 {
    +
    35 std::cout << "Calculate primes up to:\n>> ";
    +
    36 int n = 0;
    +
    37 std::cin >> n;
    +
    38 std::vector<int> ans = primes(n);
    +
    39 for (int p : ans) std::cout << p << ' ';
    +
    40 std::cout << std::endl;
    +
    41}
    +
    std::vector< int > primes(size_t max)
    +
    @@ -174,7 +188,7 @@ Here is the call graph for this function:
    - + @@ -182,12 +196,14 @@ Here is the call graph for this function:
    std::vector< int > primes std::vector< int > primes ( size_t max)

    Generate an increasingly large number of primes and store in a list

    + +

    Definition at line 12 of file prime_numbers.cpp.

    12 {
    - -
    14 std::vector<bool> is_not_prime(max + 1, false);
    -
    15 for (size_t i = 2; i <= max; i++) {
    +
    13 std::vector<int> res;
    +
    14 std::vector<bool> is_not_prime(max + 1, false);
    +
    15 for (size_t i = 2; i <= max; i++) {
    16 if (!is_not_prime[i]) {
    -
    17 res.emplace_back(i);
    +
    17 res.emplace_back(i);
    18 }
    19 for (int p : res) {
    20 size_t k = i * p;
    @@ -202,15 +218,8 @@ Here is the call graph for this function:
    29 }
    30 return res;
    31}
    -
    double k(double x)
    Another test function.
    Definition composite_simpson_rule.cpp:117
    -
    T emplace_back(T... args)
    -
    T max(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    double k(double x)
    Another test function.
    + diff --git a/de/d9b/prime__numbers_8cpp_a9575f3a51eeb8a57d657b3db6a4b441a_cgraph.map b/de/d9b/prime__numbers_8cpp_a9575f3a51eeb8a57d657b3db6a4b441a_cgraph.map deleted file mode 100644 index 3794ee88f..000000000 --- a/de/d9b/prime__numbers_8cpp_a9575f3a51eeb8a57d657b3db6a4b441a_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/de/d9b/prime__numbers_8cpp_a9575f3a51eeb8a57d657b3db6a4b441a_cgraph.md5 b/de/d9b/prime__numbers_8cpp_a9575f3a51eeb8a57d657b3db6a4b441a_cgraph.md5 deleted file mode 100644 index 49bb15a9b..000000000 --- a/de/d9b/prime__numbers_8cpp_a9575f3a51eeb8a57d657b3db6a4b441a_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -9dd4a60df4dc046e41e54c7a609ce415 \ No newline at end of file diff --git a/de/d9b/prime__numbers_8cpp_a9575f3a51eeb8a57d657b3db6a4b441a_cgraph.svg b/de/d9b/prime__numbers_8cpp_a9575f3a51eeb8a57d657b3db6a4b441a_cgraph.svg deleted file mode 100644 index e92a85c6c..000000000 --- a/de/d9b/prime__numbers_8cpp_a9575f3a51eeb8a57d657b3db6a4b441a_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -primes - - -Node1 - - -primes - - - - - -Node2 - - -std::vector::emplace_back - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/de/d9b/prime__numbers_8cpp_a9575f3a51eeb8a57d657b3db6a4b441a_cgraph_org.svg b/de/d9b/prime__numbers_8cpp_a9575f3a51eeb8a57d657b3db6a4b441a_cgraph_org.svg deleted file mode 100644 index a9bf1a11d..000000000 --- a/de/d9b/prime__numbers_8cpp_a9575f3a51eeb8a57d657b3db6a4b441a_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -primes - - -Node1 - - -primes - - - - - -Node2 - - -std::vector::emplace_back - - - - - -Node1->Node2 - - - - - - - - diff --git a/de/d9b/prime__numbers_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/de/d9b/prime__numbers_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 4a4efd845..000000000 --- a/de/d9b/prime__numbers_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/de/d9b/prime__numbers_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/de/d9b/prime__numbers_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index 03740e669..000000000 --- a/de/d9b/prime__numbers_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -3d63e54cd8301e682ccb3128719c6caf \ No newline at end of file diff --git a/de/d9b/prime__numbers_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/de/d9b/prime__numbers_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index ea27ed631..000000000 --- a/de/d9b/prime__numbers_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -primes - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::vector::emplace_back - - - - - -Node3->Node4 - - - - - - - - - - - - - diff --git a/de/d9b/prime__numbers_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/de/d9b/prime__numbers_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 29c5ab966..000000000 --- a/de/d9b/prime__numbers_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -primes - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::vector::emplace_back - - - - - -Node3->Node4 - - - - - - - - diff --git a/de/d9b/prime__numbers_8cpp_source.html b/de/d9b/prime__numbers_8cpp_source.html new file mode 100644 index 000000000..d90c6c5a1 --- /dev/null +++ b/de/d9b/prime__numbers_8cpp_source.html @@ -0,0 +1,176 @@ + + + + + + + + +TheAlgorithms/C++: math/prime_numbers.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    prime_numbers.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    6#include <iostream>
    +
    7#include <vector>
    +
    8
    +
    +
    12std::vector<int> primes(size_t max) {
    +
    13 std::vector<int> res;
    +
    14 std::vector<bool> is_not_prime(max + 1, false);
    +
    15 for (size_t i = 2; i <= max; i++) {
    +
    16 if (!is_not_prime[i]) {
    +
    17 res.emplace_back(i);
    +
    18 }
    +
    19 for (int p : res) {
    +
    20 size_t k = i * p;
    +
    21 if (k > max) {
    +
    22 break;
    +
    23 }
    +
    24 is_not_prime[k] = true;
    +
    25 if (i % p == 0) {
    +
    26 break;
    +
    27 }
    +
    28 }
    +
    29 }
    +
    30 return res;
    +
    31}
    +
    +
    32
    +
    +
    34int main() {
    +
    35 std::cout << "Calculate primes up to:\n>> ";
    +
    36 int n = 0;
    +
    37 std::cin >> n;
    +
    38 std::vector<int> ans = primes(n);
    +
    39 for (int p : ans) std::cout << p << ' ';
    +
    40 std::cout << std::endl;
    +
    41}
    +
    +
    std::vector< int > primes(size_t max)
    +
    int main()
    +
    +
    + + + + diff --git a/de/d9d/classdata__structures_1_1linked__list_1_1link.html b/de/d9d/classdata__structures_1_1linked__list_1_1link.html index c65e73fa5..293e5bcd2 100644 --- a/de/d9d/classdata__structures_1_1linked__list_1_1link.html +++ b/de/d9d/classdata__structures_1_1linked__list_1_1link.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: data_structures::linked_list::link Class Reference +TheAlgorithms/C++: data_structures::linked_list::link Class Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -121,24 +138,24 @@ Collaboration diagram for data_structures::linked_list::link: Public Member Functions - +
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    int val ()
     
    std::shared_ptr< link > & succ ()
    std::shared_ptr< link > & succ ()
     
     link (int value=0)
     
    - - + + - - + +

    Private Attributes

    -int pvalue
     value of the current link
    int pvalue
     value of the current link
     
    -std::shared_ptr< linkpsucc
     pointer to the next value on the list
    std::shared_ptr< linkpsucc
     pointer to the next value on the list
     

    Detailed Description

    A link class containing a value and pointer to another link

    + +

    Definition at line 53 of file linked_list.cpp.

    Constructor & Destructor Documentation

    ◆ link()

    @@ -168,9 +185,11 @@ int pvalue + +

    Definition at line 75 of file linked_list.cpp.

    75: pvalue(value), psucc(nullptr) {}
    - - + +
    @@ -185,7 +204,7 @@ int pvalue - + @@ -198,6 +217,8 @@ int 
    std::shared_ptr< link > & data_structures::linked_list::link::succ std::shared_ptr< link > & data_structures::linked_list::link::succ ( ) pvalue

    function returns the pointer to next link

    Returns
    the pointer to the next link
    + +

    Definition at line 69 of file linked_list.cpp.

    69{ return psucc; }
    @@ -225,12 +246,67 @@ int pvalue

    function returns the integer value stored in the link.

    Returns
    the integer value stored in the link.
    + +

    Definition at line 63 of file linked_list.cpp.

    63{ return pvalue; }
    +
    + +

    Member Data Documentation

    + +

    ◆ psucc

    + +
    +
    + + + + + +
    + + + + +
    std::shared_ptr<link> data_structures::linked_list::link::psucc
    +
    +private
    +
    + +

    pointer to the next value on the list

    + +

    Definition at line 56 of file linked_list.cpp.

    + +
    +
    + +

    ◆ pvalue

    + +
    +
    + + + + + +
    + + + + +
    int data_structures::linked_list::link::pvalue
    +
    +private
    +
    + +

    value of the current link

    + +

    Definition at line 55 of file linked_list.cpp.

    +

    The documentation for this class was generated from the following file: diff --git a/de/dab/ncr__modulo__p_8cpp.html b/de/dab/ncr__modulo__p_8cpp.html index cc79780d2..ab05ec61e 100644 --- a/de/dab/ncr__modulo__p_8cpp.html +++ b/de/dab/ncr__modulo__p_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: math/ncr_modulo_p.cpp File Reference +TheAlgorithms/C++: math/ncr_modulo_p.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -122,7 +139,9 @@ Include dependency graph for ncr_modulo_p.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -160,6 +179,8 @@ Functions

    Detailed Description

    This program aims at calculating nCr modulo p.

    nCr is defined as n! / (r! * (n-r)!) where n! represents factorial of n. In many cases, the value of nCr is too large to fit in a 64 bit integer. Hence, in competitive programming, there are many problems or subproblems to compute nCr modulo p where p is a given number.

    Author
    Kaustubh Damania
    + +

    Definition in file ncr_modulo_p.cpp.

    Function Documentation

    ◆ example()

    @@ -177,6 +198,8 @@ Functions

    example showing the usage of the math::ncr_modulo_p::NCRModuloP class

    + +

    Definition at line 175 of file ncr_modulo_p.cpp.

    175 {
    176 const int64_t size = 1e6 + 1;
    177 const int64_t p = 1e9 + 7;
    @@ -188,12 +211,11 @@ Functions
    183 // having the ncrObj we can efficiently query the values of (n C r)%p
    184 // note that time of the computation does not depend on size
    185 for (int i = 0; i <= 7; i++) {
    -
    186 std::cout << 6 << "C" << i << " mod " << p << " = " << ncrObj.ncr(6, i)
    +
    186 std::cout << 6 << "C" << i << " mod " << p << " = " << ncrObj.ncr(6, i)
    187 << "\n";
    188 }
    189}
    - -
    Class which contains all methods required for calculating nCr mod p.
    Definition ncr_modulo_p.cpp:79
    +
    Class which contains all methods required for calculating nCr mod p.
    @@ -237,6 +259,8 @@ Functions
    Returns
    the gcd of a and b
    + +

    Definition at line 44 of file ncr_modulo_p.cpp.

    45 {
    46 if (a == 0) {
    47 x = 0;
    @@ -251,14 +275,9 @@ Functions
    56 y = x1;
    57 return gcd;
    58}
    -
    int gcd(int num1, int num2)
    Definition gcd_iterative_euclidean.cpp:15
    -
    int64_t gcdExtended(const int64_t &a, const int64_t &b, int64_t &x, int64_t &y)
    finds the values x and y such that a*x + b*y = gcd(a,b)
    Definition ncr_modulo_p.cpp:44
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    int gcd(int num1, int num2)
    +
    int64_t gcdExtended(const int64_t &a, const int64_t &b, int64_t &x, int64_t &y)
    finds the values x and y such that a*x + b*y = gcd(a,b)
    + @@ -275,13 +294,15 @@ Here is the call graph for this function:

    Classes

    class  math::ncr_modulo_p::NCRModuloP
    + +

    Definition at line 191 of file ncr_modulo_p.cpp.

    191 {
    192 tests();
    193 example();
    194 return 0;
    195}
    -
    static void tests()
    tests math::ncr_modulo_p::NCRModuloP
    Definition ncr_modulo_p.cpp:142
    -
    void example()
    example showing the usage of the math::ncr_modulo_p::NCRModuloP class
    Definition ncr_modulo_p.cpp:175
    +
    static void tests()
    tests math::ncr_modulo_p::NCRModuloP
    +
    void example()
    example showing the usage of the math::ncr_modulo_p::NCRModuloP class
    @@ -312,6 +333,8 @@ Here is the call graph for this function:
    Returns
    the inverce of a modulo m, if it exists, -1 otherwise
    + +

    Definition at line 66 of file ncr_modulo_p.cpp.

    66 {
    67 int64_t x = 0, y = 0;
    68 const int64_t g = gcdExtended(a, m, x, y);
    @@ -321,13 +344,8 @@ Here is the call graph for this function:
    72 return ((x + m) % m);
    73 }
    74}
    -
    double g(double x)
    Another test function.
    Definition composite_simpson_rule.cpp:115
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    double g(double x)
    Another test function.
    + @@ -354,6 +372,8 @@ Here is the call graph for this function:

    tests math::ncr_modulo_p::NCRModuloP

    + +

    Definition at line 142 of file ncr_modulo_p.cpp.

    142 {
    143 struct TestCase {
    144 const int64_t size;
    @@ -366,7 +386,7 @@ Here is the call graph for this function:
    151 const int64_t r, const int64_t expected)
    152 : size(size), p(p), n(n), r(r), expected(expected) {}
    153 };
    -
    154 const std::vector<TestCase> test_cases = {
    +
    154 const std::vector<TestCase> test_cases = {
    155 TestCase(60000, 1000000007, 52323, 26161, 224944353),
    156 TestCase(20, 5, 6, 2, 30 % 5),
    157 TestCase(100, 29, 7, 3, 35 % 29),
    @@ -381,17 +401,11 @@ Here is the call graph for this function:
    166 tc.expected);
    167 }
    168
    -
    169 std::cout << "\n\nAll tests have successfully passed!\n";
    +
    169 std::cout << "\n\nAll tests have successfully passed!\n";
    170}
    -
    int64_t ncr(const int64_t &n, const int64_t &r) const
    computes nCr % p
    Definition ncr_modulo_p.cpp:116
    -
    represents single example inputs and expected output of the function longest_common_string_length
    Definition longest_common_string.cpp:54
    - -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    int64_t ncr(const int64_t &n, const int64_t &r) const
    computes nCr % p
    +
    represents single example inputs and expected output of the function longest_common_string_length
    + diff --git a/de/dab/ncr__modulo__p_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.map b/de/dab/ncr__modulo__p_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.map deleted file mode 100644 index f41266ef4..000000000 --- a/de/dab/ncr__modulo__p_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/de/dab/ncr__modulo__p_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 b/de/dab/ncr__modulo__p_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 deleted file mode 100644 index bd2141301..000000000 --- a/de/dab/ncr__modulo__p_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -ec67b7f0511b8bc24ff7b08d968d95ab \ No newline at end of file diff --git a/de/dab/ncr__modulo__p_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.svg b/de/dab/ncr__modulo__p_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.svg deleted file mode 100644 index 70014e2b0..000000000 --- a/de/dab/ncr__modulo__p_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.svg +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - - - - - - - -tests - - -Node1 - - -tests - - - - - -Node2 - - -math::ncr_modulo_p -::NCRModuloP::ncr - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/de/dab/ncr__modulo__p_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph_org.svg b/de/dab/ncr__modulo__p_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph_org.svg deleted file mode 100644 index 701393289..000000000 --- a/de/dab/ncr__modulo__p_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph_org.svg +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - -tests - - -Node1 - - -tests - - - - - -Node2 - - -math::ncr_modulo_p -::NCRModuloP::ncr - - - - - -Node1->Node2 - - - - - - - - diff --git a/de/dab/ncr__modulo__p_8cpp_a6c7bfe3bdaa086d32261a5c5584d0fa9_cgraph.map b/de/dab/ncr__modulo__p_8cpp_a6c7bfe3bdaa086d32261a5c5584d0fa9_cgraph.map deleted file mode 100644 index 8dfe7ecf7..000000000 --- a/de/dab/ncr__modulo__p_8cpp_a6c7bfe3bdaa086d32261a5c5584d0fa9_cgraph.map +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/de/dab/ncr__modulo__p_8cpp_a6c7bfe3bdaa086d32261a5c5584d0fa9_cgraph.md5 b/de/dab/ncr__modulo__p_8cpp_a6c7bfe3bdaa086d32261a5c5584d0fa9_cgraph.md5 deleted file mode 100644 index 5cb077109..000000000 --- a/de/dab/ncr__modulo__p_8cpp_a6c7bfe3bdaa086d32261a5c5584d0fa9_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -1a4f0a265ffd31483084966d366feec6 \ No newline at end of file diff --git a/de/dab/ncr__modulo__p_8cpp_a6c7bfe3bdaa086d32261a5c5584d0fa9_cgraph.svg b/de/dab/ncr__modulo__p_8cpp_a6c7bfe3bdaa086d32261a5c5584d0fa9_cgraph.svg deleted file mode 100644 index f7ac47227..000000000 --- a/de/dab/ncr__modulo__p_8cpp_a6c7bfe3bdaa086d32261a5c5584d0fa9_cgraph.svg +++ /dev/null @@ -1,103 +0,0 @@ - - - - - - - - - - - - -math::ncr_modulo_p::utils::modInverse - - -Node1 - - -math::ncr_modulo_p -::utils::modInverse - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -math::ncr_modulo_p -::utils::gcdExtended - - - - - -Node1->Node2 - - - - - - - - -Node2->Node2 - - - - - - - - -Node3 - - -gcd - - - - - -Node2->Node3 - - - - - - - - - - - - - diff --git a/de/dab/ncr__modulo__p_8cpp_a6c7bfe3bdaa086d32261a5c5584d0fa9_cgraph_org.svg b/de/dab/ncr__modulo__p_8cpp_a6c7bfe3bdaa086d32261a5c5584d0fa9_cgraph_org.svg deleted file mode 100644 index 3bb952e8f..000000000 --- a/de/dab/ncr__modulo__p_8cpp_a6c7bfe3bdaa086d32261a5c5584d0fa9_cgraph_org.svg +++ /dev/null @@ -1,77 +0,0 @@ - - - - - - -math::ncr_modulo_p::utils::modInverse - - -Node1 - - -math::ncr_modulo_p -::utils::modInverse - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -math::ncr_modulo_p -::utils::gcdExtended - - - - - -Node1->Node2 - - - - - - - - -Node2->Node2 - - - - - - - - -Node3 - - -gcd - - - - - -Node2->Node3 - - - - - - - - diff --git a/de/dab/ncr__modulo__p_8cpp_a9010ad5669d31449c3bf3271ab5ebc86_cgraph.map b/de/dab/ncr__modulo__p_8cpp_a9010ad5669d31449c3bf3271ab5ebc86_cgraph.map deleted file mode 100644 index 9c74eae12..000000000 --- a/de/dab/ncr__modulo__p_8cpp_a9010ad5669d31449c3bf3271ab5ebc86_cgraph.map +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/de/dab/ncr__modulo__p_8cpp_a9010ad5669d31449c3bf3271ab5ebc86_cgraph.md5 b/de/dab/ncr__modulo__p_8cpp_a9010ad5669d31449c3bf3271ab5ebc86_cgraph.md5 deleted file mode 100644 index b8480c416..000000000 --- a/de/dab/ncr__modulo__p_8cpp_a9010ad5669d31449c3bf3271ab5ebc86_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -ba3da75994498c1bdb1f6cc36a33fadf \ No newline at end of file diff --git a/de/dab/ncr__modulo__p_8cpp_a9010ad5669d31449c3bf3271ab5ebc86_cgraph.svg b/de/dab/ncr__modulo__p_8cpp_a9010ad5669d31449c3bf3271ab5ebc86_cgraph.svg deleted file mode 100644 index 79b1285ad..000000000 --- a/de/dab/ncr__modulo__p_8cpp_a9010ad5669d31449c3bf3271ab5ebc86_cgraph.svg +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - - - - - - - -math::ncr_modulo_p::utils::gcdExtended - - -Node1 - - -math::ncr_modulo_p -::utils::gcdExtended - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -gcd - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/de/dab/ncr__modulo__p_8cpp_a9010ad5669d31449c3bf3271ab5ebc86_cgraph_org.svg b/de/dab/ncr__modulo__p_8cpp_a9010ad5669d31449c3bf3271ab5ebc86_cgraph_org.svg deleted file mode 100644 index e92866c30..000000000 --- a/de/dab/ncr__modulo__p_8cpp_a9010ad5669d31449c3bf3271ab5ebc86_cgraph_org.svg +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - -math::ncr_modulo_p::utils::gcdExtended - - -Node1 - - -math::ncr_modulo_p -::utils::gcdExtended - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -gcd - - - - - -Node1->Node2 - - - - - - - - diff --git a/de/dab/ncr__modulo__p_8cpp_source.html b/de/dab/ncr__modulo__p_8cpp_source.html new file mode 100644 index 000000000..2163d4cdd --- /dev/null +++ b/de/dab/ncr__modulo__p_8cpp_source.html @@ -0,0 +1,297 @@ + + + + + + + + +TheAlgorithms/C++: math/ncr_modulo_p.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    ncr_modulo_p.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    12#include <cassert>
    +
    13#include <iostream>
    +
    14#include <vector>
    +
    15
    +
    20namespace math {
    +
    27namespace ncr_modulo_p {
    +
    28
    +
    34namespace utils {
    +
    +
    44int64_t gcdExtended(const int64_t& a, const int64_t& b, int64_t& x,
    +
    45 int64_t& y) {
    +
    46 if (a == 0) {
    +
    47 x = 0;
    +
    48 y = 1;
    +
    49 return b;
    +
    50 }
    +
    51
    +
    52 int64_t x1 = 0, y1 = 0;
    +
    53 const int64_t gcd = gcdExtended(b % a, a, x1, y1);
    +
    54
    +
    55 x = y1 - (b / a) * x1;
    +
    56 y = x1;
    +
    57 return gcd;
    +
    58}
    +
    +
    59
    +
    +
    66int64_t modInverse(const int64_t& a, const int64_t& m) {
    +
    67 int64_t x = 0, y = 0;
    +
    68 const int64_t g = gcdExtended(a, m, x, y);
    +
    69 if (g != 1) { // modular inverse doesn't exist
    +
    70 return -1;
    +
    71 } else {
    +
    72 return ((x + m) % m);
    +
    73 }
    +
    74}
    +
    +
    75} // namespace utils
    +
    + +
    80 private:
    +
    81 const int64_t p = 0;
    +
    82 const std::vector<int64_t>
    + +
    84
    +
    +
    92 static std::vector<int64_t> computeFactorialsMod(const int64_t& max_arg_val,
    +
    93 const int64_t& mod) {
    +
    94 auto res = std::vector<int64_t>(max_arg_val + 1);
    +
    95 res[0] = 1;
    +
    96 for (int64_t i = 1; i <= max_arg_val; i++) {
    +
    97 res[i] = (res[i - 1] * i) % mod;
    +
    98 }
    +
    99 return res;
    +
    100 }
    +
    +
    101
    +
    102 public:
    +
    +
    107 NCRModuloP(const int64_t& size, const int64_t& p)
    +
    108 : p(p), fac(computeFactorialsMod(size, p)) {}
    +
    +
    109
    +
    +
    116 int64_t ncr(const int64_t& n, const int64_t& r) const {
    +
    117 // Base cases
    +
    118 if (r > n) {
    +
    119 return 0;
    +
    120 }
    +
    121 if (r == 1) {
    +
    122 return n % p;
    +
    123 }
    +
    124 if (r == 0 || r == n) {
    +
    125 return 1;
    +
    126 }
    +
    127 // fac is a global array with fac[r] = (r! % p)
    +
    128 const auto denominator = (fac[r] * fac[n - r]) % p;
    +
    129 const auto denominator_inv = utils::modInverse(denominator, p);
    +
    130 if (denominator_inv < 0) { // modular inverse doesn't exist
    +
    131 return -1;
    +
    132 }
    +
    133 return (fac[n] * denominator_inv) % p;
    +
    134 }
    +
    +
    135};
    +
    +
    136} // namespace ncr_modulo_p
    +
    137} // namespace math
    +
    138
    +
    +
    142static void tests() {
    +
    143 struct TestCase {
    +
    144 const int64_t size;
    +
    145 const int64_t p;
    +
    146 const int64_t n;
    +
    147 const int64_t r;
    +
    148 const int64_t expected;
    +
    149
    +
    150 TestCase(const int64_t size, const int64_t p, const int64_t n,
    +
    151 const int64_t r, const int64_t expected)
    +
    152 : size(size), p(p), n(n), r(r), expected(expected) {}
    +
    153 };
    +
    154 const std::vector<TestCase> test_cases = {
    +
    155 TestCase(60000, 1000000007, 52323, 26161, 224944353),
    +
    156 TestCase(20, 5, 6, 2, 30 % 5),
    +
    157 TestCase(100, 29, 7, 3, 35 % 29),
    +
    158 TestCase(1000, 13, 10, 3, 120 % 13),
    +
    159 TestCase(20, 17, 1, 10, 0),
    +
    160 TestCase(45, 19, 23, 1, 23 % 19),
    +
    161 TestCase(45, 19, 23, 0, 1),
    +
    162 TestCase(45, 19, 23, 23, 1),
    +
    163 TestCase(20, 9, 10, 2, -1)};
    +
    164 for (const auto& tc : test_cases) {
    +
    165 assert(math::ncr_modulo_p::NCRModuloP(tc.size, tc.p).ncr(tc.n, tc.r) ==
    +
    166 tc.expected);
    +
    167 }
    +
    168
    +
    169 std::cout << "\n\nAll tests have successfully passed!\n";
    +
    170}
    +
    +
    171
    +
    +
    175void example() {
    +
    176 const int64_t size = 1e6 + 1;
    +
    177 const int64_t p = 1e9 + 7;
    +
    178
    +
    179 // the ncrObj contains the precomputed values of factorials modulo p for
    +
    180 // values from 0 to size
    +
    181 const auto ncrObj = math::ncr_modulo_p::NCRModuloP(size, p);
    +
    182
    +
    183 // having the ncrObj we can efficiently query the values of (n C r)%p
    +
    184 // note that time of the computation does not depend on size
    +
    185 for (int i = 0; i <= 7; i++) {
    +
    186 std::cout << 6 << "C" << i << " mod " << p << " = " << ncrObj.ncr(6, i)
    +
    187 << "\n";
    +
    188 }
    +
    189}
    +
    +
    190
    +
    191int main() {
    +
    192 tests();
    +
    193 example();
    +
    194 return 0;
    +
    195}
    +
    Class which contains all methods required for calculating nCr mod p.
    +
    int64_t ncr(const int64_t &n, const int64_t &r) const
    computes nCr % p
    +
    const std::vector< int64_t > fac
    the p from (nCr % p)
    +
    NCRModuloP(const int64_t &size, const int64_t &p)
    constructs an NCRModuloP object allowing to compute (nCr)p for inputs from 0 to size
    +
    static std::vector< int64_t > computeFactorialsMod(const int64_t &max_arg_val, const int64_t &mod)
    stores precomputed factorial(i) % p value
    +
    int gcd(int num1, int num2)
    +
    int main()
    Main function.
    +
    for assert
    +
    Functions for nCr modulo p implementation.
    +
    this namespace contains the definitions of the functions called from the class math::ncr_modulo_p::NC...
    +
    static void tests()
    tests math::ncr_modulo_p::NCRModuloP
    +
    int64_t modInverse(const int64_t &a, const int64_t &m)
    +
    int64_t gcdExtended(const int64_t &a, const int64_t &b, int64_t &x, int64_t &y)
    finds the values x and y such that a*x + b*y = gcd(a,b)
    +
    void example()
    example showing the usage of the math::ncr_modulo_p::NCRModuloP class
    +
    represents single example inputs and expected output of the function longest_common_string_length
    +
    +
    + + + + diff --git a/de/db3/namespaceatbash.html b/de/db3/namespaceatbash.html index 48b749658..1c9d5ffa1 100644 --- a/de/db3/namespaceatbash.html +++ b/de/db3/namespaceatbash.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: atbash Namespace Reference +TheAlgorithms/C++: atbash Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/de/db4/namespacedisjoint__union.html b/de/db4/namespacedisjoint__union.html index 470431f50..fbcace7e0 100644 --- a/de/db4/namespacedisjoint__union.html +++ b/de/db4/namespacedisjoint__union.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: disjoint_union Namespace Reference +TheAlgorithms/C++: disjoint_union Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/de/db5/class_edge-members.html b/de/db5/class_edge-members.html index b5eba51fb..44051a989 100644 --- a/de/db5/class_edge-members.html +++ b/de/db5/class_edge-members.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Member List +TheAlgorithms/C++: Member List + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/de/db6/a1z26__cipher_8cpp.html b/de/db6/a1z26__cipher_8cpp.html index 6ed2bb1fc..576dce39b 100644 --- a/de/db6/a1z26__cipher_8cpp.html +++ b/de/db6/a1z26__cipher_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: ciphers/a1z26_cipher.cpp File Reference +TheAlgorithms/C++: ciphers/a1z26_cipher.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + @@ -127,7 +144,9 @@ Include dependency graph for a1z26_cipher.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -139,10 +158,10 @@ Namespaces

    Namespaces

    namespace  ciphers
    - + - + @@ -154,15 +173,17 @@ Functions

    Functions

    std::string ciphers::a1z26::encrypt (std::string text)
    std::string ciphers::a1z26::encrypt (std::string text)
     a1z26 encryption implementation
     
    std::string ciphers::a1z26::decrypt (const std::string &text, bool bReturnUppercase=false)
    std::string ciphers::a1z26::decrypt (const std::string &text, bool bReturnUppercase=false)
     a1z26 decryption implementation
     
    static void test ()
    - + - +

    Variables

    std::map< uint8_t, char > ciphers::a1z26::a1z26_decrypt_map
    std::map< uint8_t, char > ciphers::a1z26::a1z26_decrypt_map
     
    std::map< char, uint8_t > ciphers::a1z26::a1z26_encrypt_map
    std::map< char, uint8_t > ciphers::a1z26::a1z26_encrypt_map
     

    Detailed Description

    Implementation of the A1Z26 cipher

    The A1Z26 cipher is a simple substiution cipher where each letter is replaced by the number of the order they're in. For example, A corresponds to 1, B = 2, C = 3, etc.

    Author
    Focusucof
    + +

    Definition in file a1z26_cipher.cpp.

    Function Documentation

    ◆ decrypt()

    @@ -171,9 +192,9 @@ Variables
    - + - + @@ -192,29 +213,31 @@ Variables
    Returns
    the decrypted string in all uppercase or all lowercase
    + +

    Definition at line 78 of file a1z26_cipher.cpp.

    78 {
    - +
    79 std::string result;
    80
    81 // split words seperated by spaces into a vector array
    -
    82 std::vector<std::string> word_array;
    -
    83 std::stringstream sstream(text);
    -
    84 std::string word;
    +
    82 std::vector<std::string> word_array;
    +
    83 std::stringstream sstream(text);
    +
    84 std::string word;
    85 while (sstream >> word) {
    -
    86 word_array.push_back(word);
    +
    86 word_array.push_back(word);
    87 }
    88
    89 for (auto& i : word_array) {
    -
    90 std::replace(i.begin(), i.end(), '-', ' ');
    -
    91 std::vector<std::string> text_array;
    +
    90 std::replace(i.begin(), i.end(), '-', ' ');
    +
    91 std::vector<std::string> text_array;
    92
    - -
    94 std::string res_text;
    +
    93 std::stringstream ss(i);
    +
    94 std::string res_text;
    95 while (ss >> res_text) {
    -
    96 text_array.push_back(res_text);
    +
    96 text_array.push_back(res_text);
    97 }
    98
    99 for (auto& i : text_array) {
    -
    100 result += a1z26_decrypt_map[stoi(i)];
    +
    100 result += a1z26_decrypt_map[stoi(i)];
    101 }
    102
    103 result += ' ';
    @@ -222,24 +245,12 @@ Variables
    105 result.pop_back(); // remove any leading whitespace
    106
    107 if (bReturnUppercase) {
    -
    108 std::transform(result.begin(), result.end(), result.begin(), ::toupper);
    +
    108 std::transform(result.begin(), result.end(), result.begin(), ::toupper);
    109 }
    110 return result;
    111}
    - - -
    uint64_t result(uint64_t n)
    Definition fibonacci_sum.cpp:77
    -
    T push_back(T... args)
    -
    T replace(T... args)
    -
    T stoi(T... args)
    -
    T transform(T... args)
    - -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    uint64_t result(uint64_t n)
    + @@ -249,9 +260,9 @@ Here is the call graph for this function:
    std::string ciphers::a1z26::decrypt std::string ciphers::a1z26::decrypt (const std::string & text, const std::string & text,
    - + - +
    std::string ciphers::a1z26::encrypt std::string ciphers::a1z26::encrypt (std::string text)std::string text)
    @@ -265,14 +276,16 @@ Here is the call graph for this function:
    Returns
    encoded string with dashes to seperate letters
    + +

    Definition at line 51 of file a1z26_cipher.cpp.

    51 {
    - -
    53 std::transform(text.begin(), text.end(), text.begin(),
    +
    52 std::string result;
    +
    53 std::transform(text.begin(), text.end(), text.begin(),
    54 ::tolower); // convert string to lowercase
    -
    55 std::replace(text.begin(), text.end(), ':', ' ');
    +
    55 std::replace(text.begin(), text.end(), ':', ' ');
    56 for (char letter : text) {
    57 if (letter != ' ') {
    - +
    58 result += std::to_string(
    59 a1z26_encrypt_map[letter]); // convert int to string and append
    60 // to result
    61 result += "-"; // space out each set of numbers with spaces
    @@ -284,15 +297,7 @@ Here is the call graph for this function:
    67 result.pop_back(); // remove leading dash
    68 return result;
    69}
    -
    T begin(T... args)
    -
    T end(T... args)
    -
    T to_string(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -312,17 +317,14 @@ Here is the call graph for this function:

    Main function.

    Returns
    0 on exit
    + +

    Definition at line 159 of file a1z26_cipher.cpp.

    159 {
    160 test(); // run self-test implementations
    161 return 0;
    162}
    -
    static void test()
    Self-test implementations.
    Definition a1z26_cipher.cpp:120
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static void test()
    Self-test implementations.
    + @@ -350,50 +352,45 @@ Here is the call graph for this function:

    Self-test implementations.

    Returns
    void
    + +

    Definition at line 120 of file a1z26_cipher.cpp.

    120 {
    121 // 1st test
    -
    122 std::string input = "Hello World";
    -
    123 std::string expected = "8-5-12-12-15 23-15-18-12-4";
    -
    124 std::string output = ciphers::a1z26::encrypt(input);
    +
    122 std::string input = "Hello World";
    +
    123 std::string expected = "8-5-12-12-15 23-15-18-12-4";
    +
    124 std::string output = ciphers::a1z26::encrypt(input);
    125
    -
    126 std::cout << "Input: " << input << std::endl;
    -
    127 std::cout << "Expected: " << expected << std::endl;
    -
    128 std::cout << "Output: " << output << std::endl;
    +
    126 std::cout << "Input: " << input << std::endl;
    +
    127 std::cout << "Expected: " << expected << std::endl;
    +
    128 std::cout << "Output: " << output << std::endl;
    129 assert(output == expected);
    -
    130 std::cout << "TEST PASSED";
    +
    130 std::cout << "TEST PASSED";
    131
    132 // 2nd test
    133 input = "12-15-23-5-18-3-1-19-5";
    134 expected = "lowercase";
    135 output = ciphers::a1z26::decrypt(input);
    136
    -
    137 std::cout << "Input: " << input << std::endl;
    -
    138 std::cout << "Expected: " << expected << std::endl;
    -
    139 std::cout << "Output: " << output << std::endl;
    +
    137 std::cout << "Input: " << input << std::endl;
    +
    138 std::cout << "Expected: " << expected << std::endl;
    +
    139 std::cout << "Output: " << output << std::endl;
    140 assert(output == expected);
    -
    141 std::cout << "TEST PASSED";
    +
    141 std::cout << "TEST PASSED";
    142
    143 // 3rd test
    144 input = "21-16-16-5-18-3-1-19-5";
    145 expected = "UPPERCASE";
    146 output = ciphers::a1z26::decrypt(input, true);
    147
    -
    148 std::cout << "Input: " << input << std::endl;
    -
    149 std::cout << "Expected: " << expected << std::endl;
    -
    150 std::cout << "Output: " << output << std::endl;
    +
    148 std::cout << "Input: " << input << std::endl;
    +
    149 std::cout << "Expected: " << expected << std::endl;
    +
    150 std::cout << "Output: " << output << std::endl;
    151 assert(output == expected);
    -
    152 std::cout << "TEST PASSED";
    +
    152 std::cout << "TEST PASSED";
    153}
    -
    std::string decrypt(const std::string &text, bool bReturnUppercase=false)
    a1z26 decryption implementation
    Definition a1z26_cipher.cpp:78
    -
    std::string encrypt(std::string text)
    a1z26 encryption implementation
    Definition a1z26_cipher.cpp:51
    - -
    T endl(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    std::string decrypt(const std::string &text, bool bReturnUppercase=false)
    a1z26 decryption implementation
    +
    std::string encrypt(std::string text)
    a1z26 encryption implementation
    +

    Variable Documentation

    @@ -404,7 +401,7 @@ Here is the call graph for this function:
    - +
    std::map<uint8_t, char> ciphers::a1z26::a1z26_decrypt_mapstd::map<uint8_t, char> ciphers::a1z26::a1z26_decrypt_map
    @@ -414,7 +411,9 @@ Here is the call graph for this function:
    {15, 'o'}, {16, 'p'}, {17, 'q'}, {18, 'r'}, {19, 's'}, {20, 't'}, {21, 'u'},
    {22, 'v'}, {23, 'w'}, {24, 'x'}, {25, 'y'}, {26, 'z'},
    }
    -
    33 {
    +
    +

    Definition at line 33 of file a1z26_cipher.cpp.

    +
    33 {
    34 {1, 'a'}, {2, 'b'}, {3, 'c'}, {4, 'd'}, {5, 'e'}, {6, 'f'}, {7, 'g'},
    35 {8, 'h'}, {9, 'i'}, {10, 'j'}, {11, 'k'}, {12, 'l'}, {13, 'm'}, {14, 'n'},
    36 {15, 'o'}, {16, 'p'}, {17, 'q'}, {18, 'r'}, {19, 's'}, {20, 't'}, {21, 'u'},
    @@ -430,7 +429,7 @@ Here is the call graph for this function:
    - +
    std::map<char, uint8_t> ciphers::a1z26::a1z26_encrypt_mapstd::map<char, uint8_t> ciphers::a1z26::a1z26_encrypt_map
    @@ -439,7 +438,9 @@ Here is the call graph for this function:
    {'h', 8}, {'i', 9}, {'j', 10}, {'k', 11}, {'l', 12}, {'m', 13}, {'n', 14},
    {'o', 15}, {'p', 16}, {'q', 17}, {'r', 18}, {'s', 19}, {'t', 20}, {'u', 21},
    {'v', 22}, {'w', 23}, {'x', 24}, {'y', 25}, {'z', 26}}
    -
    40 {
    +
    +

    Definition at line 40 of file a1z26_cipher.cpp.

    +
    40 {
    41 {'a', 1}, {'b', 2}, {'c', 3}, {'d', 4}, {'e', 5}, {'f', 6}, {'g', 7},
    42 {'h', 8}, {'i', 9}, {'j', 10}, {'k', 11}, {'l', 12}, {'m', 13}, {'n', 14},
    43 {'o', 15}, {'p', 16}, {'q', 17}, {'r', 18}, {'s', 19}, {'t', 20}, {'u', 21},
    diff --git a/de/db6/a1z26__cipher_8cpp_a0a78954e96c862430904ee3e64623c38_cgraph.map b/de/db6/a1z26__cipher_8cpp_a0a78954e96c862430904ee3e64623c38_cgraph.map deleted file mode 100644 index fbbb1904a..000000000 --- a/de/db6/a1z26__cipher_8cpp_a0a78954e96c862430904ee3e64623c38_cgraph.map +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/de/db6/a1z26__cipher_8cpp_a0a78954e96c862430904ee3e64623c38_cgraph.md5 b/de/db6/a1z26__cipher_8cpp_a0a78954e96c862430904ee3e64623c38_cgraph.md5 deleted file mode 100644 index 42b18d05c..000000000 --- a/de/db6/a1z26__cipher_8cpp_a0a78954e96c862430904ee3e64623c38_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -b48ba19614f4f02601ca7c635fe316e0 \ No newline at end of file diff --git a/de/db6/a1z26__cipher_8cpp_a0a78954e96c862430904ee3e64623c38_cgraph.svg b/de/db6/a1z26__cipher_8cpp_a0a78954e96c862430904ee3e64623c38_cgraph.svg deleted file mode 100644 index 7aff9845e..000000000 --- a/de/db6/a1z26__cipher_8cpp_a0a78954e96c862430904ee3e64623c38_cgraph.svg +++ /dev/null @@ -1,110 +0,0 @@ - - - - - - - - - - - - -ciphers::a1z26::decrypt - - -Node1 - - -ciphers::a1z26::decrypt - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::vector::push_back - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::replace - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::transform - - - - - -Node1->Node4 - - - - - - - - - - - - - diff --git a/de/db6/a1z26__cipher_8cpp_a0a78954e96c862430904ee3e64623c38_cgraph_org.svg b/de/db6/a1z26__cipher_8cpp_a0a78954e96c862430904ee3e64623c38_cgraph_org.svg deleted file mode 100644 index b27ed13d3..000000000 --- a/de/db6/a1z26__cipher_8cpp_a0a78954e96c862430904ee3e64623c38_cgraph_org.svg +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - -ciphers::a1z26::decrypt - - -Node1 - - -ciphers::a1z26::decrypt - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::vector::push_back - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::replace - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::transform - - - - - -Node1->Node4 - - - - - - - - diff --git a/de/db6/a1z26__cipher_8cpp_a77a6b827a0b9c7aca2d705811459d744_cgraph.map b/de/db6/a1z26__cipher_8cpp_a77a6b827a0b9c7aca2d705811459d744_cgraph.map deleted file mode 100644 index d066fdd35..000000000 --- a/de/db6/a1z26__cipher_8cpp_a77a6b827a0b9c7aca2d705811459d744_cgraph.map +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - - - - - diff --git a/de/db6/a1z26__cipher_8cpp_a77a6b827a0b9c7aca2d705811459d744_cgraph.md5 b/de/db6/a1z26__cipher_8cpp_a77a6b827a0b9c7aca2d705811459d744_cgraph.md5 deleted file mode 100644 index b43dd65cc..000000000 --- a/de/db6/a1z26__cipher_8cpp_a77a6b827a0b9c7aca2d705811459d744_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -96aa42ab0dd3ec009b5e1c2028588800 \ No newline at end of file diff --git a/de/db6/a1z26__cipher_8cpp_a77a6b827a0b9c7aca2d705811459d744_cgraph.svg b/de/db6/a1z26__cipher_8cpp_a77a6b827a0b9c7aca2d705811459d744_cgraph.svg deleted file mode 100644 index 9889b1f30..000000000 --- a/de/db6/a1z26__cipher_8cpp_a77a6b827a0b9c7aca2d705811459d744_cgraph.svg +++ /dev/null @@ -1,146 +0,0 @@ - - - - - - - - - - - - -ciphers::a1z26::encrypt - - -Node1 - - -ciphers::a1z26::encrypt - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::string::begin - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::string::end - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::replace - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::to_string - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -std::transform - - - - - -Node1->Node6 - - - - - - - - - - - - - diff --git a/de/db6/a1z26__cipher_8cpp_a77a6b827a0b9c7aca2d705811459d744_cgraph_org.svg b/de/db6/a1z26__cipher_8cpp_a77a6b827a0b9c7aca2d705811459d744_cgraph_org.svg deleted file mode 100644 index 65a6c43c1..000000000 --- a/de/db6/a1z26__cipher_8cpp_a77a6b827a0b9c7aca2d705811459d744_cgraph_org.svg +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - -ciphers::a1z26::encrypt - - -Node1 - - -ciphers::a1z26::encrypt - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::string::begin - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::string::end - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::replace - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::to_string - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -std::transform - - - - - -Node1->Node6 - - - - - - - - diff --git a/de/db6/a1z26__cipher_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map b/de/db6/a1z26__cipher_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map deleted file mode 100644 index e85e01374..000000000 --- a/de/db6/a1z26__cipher_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/de/db6/a1z26__cipher_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 b/de/db6/a1z26__cipher_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 deleted file mode 100644 index 5901bc148..000000000 --- a/de/db6/a1z26__cipher_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -729fb887ee50b6291b0542ba0592a5c7 \ No newline at end of file diff --git a/de/db6/a1z26__cipher_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg b/de/db6/a1z26__cipher_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg deleted file mode 100644 index 2e04695b9..000000000 --- a/de/db6/a1z26__cipher_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/de/db6/a1z26__cipher_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg b/de/db6/a1z26__cipher_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg deleted file mode 100644 index 1813bd719..000000000 --- a/de/db6/a1z26__cipher_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - diff --git a/de/db6/a1z26__cipher_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/de/db6/a1z26__cipher_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 6a0557c92..000000000 --- a/de/db6/a1z26__cipher_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/de/db6/a1z26__cipher_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/de/db6/a1z26__cipher_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index 91199a7fd..000000000 --- a/de/db6/a1z26__cipher_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -0075598350b71bc6da1b4465ab81d84d \ No newline at end of file diff --git a/de/db6/a1z26__cipher_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/de/db6/a1z26__cipher_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 1e16d0d4b..000000000 --- a/de/db6/a1z26__cipher_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node2->Node3 - - - - - - - - - - - - - diff --git a/de/db6/a1z26__cipher_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/de/db6/a1z26__cipher_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 58600e02f..000000000 --- a/de/db6/a1z26__cipher_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node2->Node3 - - - - - - - - diff --git a/de/db6/a1z26__cipher_8cpp_source.html b/de/db6/a1z26__cipher_8cpp_source.html new file mode 100644 index 000000000..715afd986 --- /dev/null +++ b/de/db6/a1z26__cipher_8cpp_source.html @@ -0,0 +1,274 @@ + + + + + + + + +TheAlgorithms/C++: ciphers/a1z26_cipher.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    a1z26_cipher.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    12#include <algorithm>
    +
    13#include <cassert>
    +
    14#include <cstdint>
    +
    15#include <iostream>
    +
    16#include <map>
    +
    17#include <sstream>
    +
    18#include <string>
    +
    19#include <vector>
    +
    20
    +
    25namespace ciphers {
    +
    31namespace a1z26 {
    +
    32
    +
    33std::map<uint8_t, char> a1z26_decrypt_map = {
    +
    34 {1, 'a'}, {2, 'b'}, {3, 'c'}, {4, 'd'}, {5, 'e'}, {6, 'f'}, {7, 'g'},
    +
    35 {8, 'h'}, {9, 'i'}, {10, 'j'}, {11, 'k'}, {12, 'l'}, {13, 'm'}, {14, 'n'},
    +
    36 {15, 'o'}, {16, 'p'}, {17, 'q'}, {18, 'r'}, {19, 's'}, {20, 't'}, {21, 'u'},
    +
    37 {22, 'v'}, {23, 'w'}, {24, 'x'}, {25, 'y'}, {26, 'z'},
    +
    38};
    +
    39
    +
    40std::map<char, uint8_t> a1z26_encrypt_map = {
    +
    41 {'a', 1}, {'b', 2}, {'c', 3}, {'d', 4}, {'e', 5}, {'f', 6}, {'g', 7},
    +
    42 {'h', 8}, {'i', 9}, {'j', 10}, {'k', 11}, {'l', 12}, {'m', 13}, {'n', 14},
    +
    43 {'o', 15}, {'p', 16}, {'q', 17}, {'r', 18}, {'s', 19}, {'t', 20}, {'u', 21},
    +
    44 {'v', 22}, {'w', 23}, {'x', 24}, {'y', 25}, {'z', 26}};
    +
    45
    +
    +
    51std::string encrypt(std::string text) {
    +
    52 std::string result;
    +
    53 std::transform(text.begin(), text.end(), text.begin(),
    +
    54 ::tolower); // convert string to lowercase
    +
    55 std::replace(text.begin(), text.end(), ':', ' ');
    +
    56 for (char letter : text) {
    +
    57 if (letter != ' ') {
    +
    58 result += std::to_string(
    +
    59 a1z26_encrypt_map[letter]); // convert int to string and append
    +
    60 // to result
    +
    61 result += "-"; // space out each set of numbers with spaces
    +
    62 } else {
    +
    63 result.pop_back();
    +
    64 result += ' ';
    +
    65 }
    +
    66 }
    +
    67 result.pop_back(); // remove leading dash
    +
    68 return result;
    +
    69}
    +
    +
    70
    +
    +
    78std::string decrypt(const std::string& text, bool bReturnUppercase = false) {
    +
    79 std::string result;
    +
    80
    +
    81 // split words seperated by spaces into a vector array
    +
    82 std::vector<std::string> word_array;
    +
    83 std::stringstream sstream(text);
    +
    84 std::string word;
    +
    85 while (sstream >> word) {
    +
    86 word_array.push_back(word);
    +
    87 }
    +
    88
    +
    89 for (auto& i : word_array) {
    +
    90 std::replace(i.begin(), i.end(), '-', ' ');
    +
    91 std::vector<std::string> text_array;
    +
    92
    +
    93 std::stringstream ss(i);
    +
    94 std::string res_text;
    +
    95 while (ss >> res_text) {
    +
    96 text_array.push_back(res_text);
    +
    97 }
    +
    98
    +
    99 for (auto& i : text_array) {
    +
    100 result += a1z26_decrypt_map[stoi(i)];
    +
    101 }
    +
    102
    +
    103 result += ' ';
    +
    104 }
    +
    105 result.pop_back(); // remove any leading whitespace
    +
    106
    +
    107 if (bReturnUppercase) {
    +
    108 std::transform(result.begin(), result.end(), result.begin(), ::toupper);
    +
    109 }
    +
    110 return result;
    +
    111}
    +
    +
    112
    +
    113} // namespace a1z26
    +
    114} // namespace ciphers
    +
    115
    +
    +
    120static void test() {
    +
    121 // 1st test
    +
    122 std::string input = "Hello World";
    +
    123 std::string expected = "8-5-12-12-15 23-15-18-12-4";
    +
    124 std::string output = ciphers::a1z26::encrypt(input);
    +
    125
    +
    126 std::cout << "Input: " << input << std::endl;
    +
    127 std::cout << "Expected: " << expected << std::endl;
    +
    128 std::cout << "Output: " << output << std::endl;
    +
    129 assert(output == expected);
    +
    130 std::cout << "TEST PASSED";
    +
    131
    +
    132 // 2nd test
    +
    133 input = "12-15-23-5-18-3-1-19-5";
    +
    134 expected = "lowercase";
    +
    135 output = ciphers::a1z26::decrypt(input);
    +
    136
    +
    137 std::cout << "Input: " << input << std::endl;
    +
    138 std::cout << "Expected: " << expected << std::endl;
    +
    139 std::cout << "Output: " << output << std::endl;
    +
    140 assert(output == expected);
    +
    141 std::cout << "TEST PASSED";
    +
    142
    +
    143 // 3rd test
    +
    144 input = "21-16-16-5-18-3-1-19-5";
    +
    145 expected = "UPPERCASE";
    +
    146 output = ciphers::a1z26::decrypt(input, true);
    +
    147
    +
    148 std::cout << "Input: " << input << std::endl;
    +
    149 std::cout << "Expected: " << expected << std::endl;
    +
    150 std::cout << "Output: " << output << std::endl;
    +
    151 assert(output == expected);
    +
    152 std::cout << "TEST PASSED";
    +
    153}
    +
    +
    154
    +
    +
    159int main() {
    +
    160 test(); // run self-test implementations
    +
    161 return 0;
    +
    162}
    +
    +
    std::string decrypt(const std::string &text, bool bReturnUppercase=false)
    a1z26 decryption implementation
    +
    std::string encrypt(std::string text)
    a1z26 encryption implementation
    +
    static void test()
    Self-test implementations.
    +
    int main()
    Main function.
    +
    Functions for A1Z26 encryption and decryption implementation.
    +
    Algorithms for encryption and decryption.
    +
    +
    + + + + diff --git a/de/dc3/binaryheap_8cpp.html b/de/dc3/binaryheap_8cpp.html index a73d6ea26..40089af21 100644 --- a/de/dc3/binaryheap_8cpp.html +++ b/de/dc3/binaryheap_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: data_structures/binaryheap.cpp File Reference +TheAlgorithms/C++: data_structures/binaryheap.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -121,7 +138,9 @@ Include dependency graph for binaryheap.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -134,6 +153,8 @@ Functions

    Classes

    class  MinHeap

    Detailed Description

    A C++ program to demonstrate common Binary Heap Operations.

    + +

    Definition in file binaryheap.cpp.

    Function Documentation

    ◆ main()

    @@ -149,6 +170,8 @@ Functions
    + +

    Definition at line 128 of file binaryheap.cpp.

    128 {
    129 MinHeap h(11);
    130 h.insertKey(3);
    @@ -158,15 +181,14 @@ Functions
    134 h.insertKey(5);
    135 h.insertKey(4);
    136 h.insertKey(45);
    -
    137 std::cout << h.extractMin() << " ";
    -
    138 std::cout << h.getMin() << " ";
    +
    137 std::cout << h.extractMin() << " ";
    +
    138 std::cout << h.getMin() << " ";
    139 h.decreaseKey(2, 1);
    -
    140 std::cout << h.getMin();
    +
    140 std::cout << h.getMin();
    141 return 0;
    142}
    - -
    Definition binaryheap.cpp:10
    -
    int h(int key)
    Definition hash_search.cpp:45
    + +
    int h(int key)
    diff --git a/de/dc3/binaryheap_8cpp_source.html b/de/dc3/binaryheap_8cpp_source.html new file mode 100644 index 000000000..1de9eddf8 --- /dev/null +++ b/de/dc3/binaryheap_8cpp_source.html @@ -0,0 +1,284 @@ + + + + + + + + +TheAlgorithms/C++: data_structures/binaryheap.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    binaryheap.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    5#include <climits>
    +
    6#include <iostream>
    +
    7#include <utility>
    +
    8
    +
    +
    10class MinHeap {
    +
    11 int *harr;
    + + +
    14
    +
    15 public:
    +
    +
    19 explicit MinHeap(int cap) {
    +
    20 heap_size = 0;
    +
    21 capacity = cap;
    +
    22 harr = new int[cap];
    +
    23 }
    +
    +
    24
    +
    26 void MinHeapify(int);
    +
    27
    +
    28 int parent(int i) { return (i - 1) / 2; }
    +
    29
    +
    31 int left(int i) { return (2 * i + 1); }
    +
    32
    +
    34 int right(int i) { return (2 * i + 2); }
    +
    35
    +
    37 int extractMin();
    +
    38
    +
    40 void decreaseKey(int i, int new_val);
    +
    41
    +
    43 int getMin() { return harr[0]; }
    +
    44
    +
    46 void deleteKey(int i);
    +
    47
    +
    49 void insertKey(int k);
    +
    50
    +
    51 ~MinHeap() { delete[] harr; }
    +
    52};
    +
    +
    53
    +
    54// Inserts a new key 'k'
    +
    +
    55void MinHeap::insertKey(int k) {
    +
    56 if (heap_size == capacity) {
    +
    57 std::cout << "\nOverflow: Could not insertKey\n";
    +
    58 return;
    +
    59 }
    +
    60
    +
    61 // First insert the new key at the end
    +
    62 heap_size++;
    +
    63 int i = heap_size - 1;
    +
    64 harr[i] = k;
    +
    65
    +
    66 // Fix the min heap property if it is violated
    +
    67 while (i != 0 && harr[parent(i)] > harr[i]) {
    +
    68 std::swap(harr[i], harr[parent(i)]);
    +
    69 i = parent(i);
    +
    70 }
    +
    71}
    +
    +
    72
    +
    +
    76void MinHeap::decreaseKey(int i, int new_val) {
    +
    77 harr[i] = new_val;
    +
    78 while (i != 0 && harr[parent(i)] > harr[i]) {
    +
    79 std::swap(harr[i], harr[parent(i)]);
    +
    80 i = parent(i);
    +
    81 }
    +
    82}
    +
    +
    83
    +
    84// Method to remove minimum element (or root) from min heap
    +
    + +
    86 if (heap_size <= 0)
    +
    87 return INT_MAX;
    +
    88 if (heap_size == 1) {
    +
    89 heap_size--;
    +
    90 return harr[0];
    +
    91 }
    +
    92
    +
    93 // Store the minimum value, and remove it from heap
    +
    94 int root = harr[0];
    +
    95 harr[0] = harr[heap_size - 1];
    +
    96 heap_size--;
    +
    97 MinHeapify(0);
    +
    98
    +
    99 return root;
    +
    100}
    +
    +
    101
    +
    + +
    106 decreaseKey(i, INT_MIN);
    +
    107 extractMin();
    +
    108}
    +
    +
    109
    +
    + +
    114 int l = left(i);
    +
    115 int r = right(i);
    +
    116 int smallest = i;
    +
    117 if (l < heap_size && harr[l] < harr[i])
    +
    118 smallest = l;
    +
    119 if (r < heap_size && harr[r] < harr[smallest])
    +
    120 smallest = r;
    +
    121 if (smallest != i) {
    +
    122 std::swap(harr[i], harr[smallest]);
    +
    123 MinHeapify(smallest);
    +
    124 }
    +
    125}
    +
    +
    126
    +
    127// Driver program to test above functions
    +
    128int main() {
    +
    129 MinHeap h(11);
    +
    130 h.insertKey(3);
    +
    131 h.insertKey(2);
    +
    132 h.deleteKey(1);
    +
    133 h.insertKey(15);
    +
    134 h.insertKey(5);
    +
    135 h.insertKey(4);
    +
    136 h.insertKey(45);
    +
    137 std::cout << h.extractMin() << " ";
    +
    138 std::cout << h.getMin() << " ";
    +
    139 h.decreaseKey(2, 1);
    +
    140 std::cout << h.getMin();
    +
    141 return 0;
    +
    142}
    + +
    MinHeap(int cap)
    +
    int getMin()
    +
    int * harr
    pointer to array of elements in heap
    +
    void deleteKey(int i)
    +
    int extractMin()
    +
    int capacity
    maximum possible size of min heap
    +
    void decreaseKey(int i, int new_val)
    +
    int left(int i)
    +
    void MinHeapify(int)
    +
    int right(int i)
    +
    int heap_size
    Current number of elements in min heap.
    +
    void insertKey(int k)
    +
    int main()
    Main function.
    +
    int h(int key)
    +
    +
    + + + + diff --git a/de/dc3/fibonacci__sum_8cpp.html b/de/dc3/fibonacci__sum_8cpp.html index 8350b4b52..a46fcb17c 100644 --- a/de/dc3/fibonacci__sum_8cpp.html +++ b/de/dc3/fibonacci__sum_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: math/fibonacci_sum.cpp File Reference +TheAlgorithms/C++: math/fibonacci_sum.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -124,7 +141,9 @@ Include dependency graph for fibonacci_sum.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -137,15 +156,14 @@ Namespaces

    Namespaces

    namespace  math
    - +

    Typedefs

    -using math::fibonacci_sum::matrix = std::vector<std::vector<uint64_t> >
    using math::fibonacci_sum::matrix = std::vector<std::vector<uint64_t> >
     
    - + - + @@ -161,7 +179,26 @@ Functions

    An algorithm to calculate the sum of Fibonacci Sequence: \(\mathrm{F}(n) + \mathrm{F}(n+1) + .. + \mathrm{F}(m)\).

    An algorithm to calculate the sum of Fibonacci Sequence: \(\mathrm{F}(n) + \mathrm{F}(n+1) + .. + \mathrm{F}(m)\) where \(\mathrm{F}(i)\) denotes the i-th Fibonacci Number . Note that F(0) = 0 and F(1) = 1. The value of the sum is calculated using matrix exponentiation. Reference source: https://stackoverflow.com/questions/4357223/finding-the-sum-of-fibonacci-numbers

    Author
    Sarthak Sahu
    -

    Function Documentation

    + +

    Definition in file fibonacci_sum.cpp.

    +

    Typedef Documentation

    + +

    ◆ matrix

    + +
    +
    +

    Functions

    math::fibonacci_sum::matrix math::fibonacci_sum::multiply (const math::fibonacci_sum::matrix &T, const math::fibonacci_sum::matrix &A)
    math::fibonacci_sum::matrix math::fibonacci_sum::multiply (const math::fibonacci_sum::matrix &T, const math::fibonacci_sum::matrix &A)
     
    math::fibonacci_sum::matrix math::fibonacci_sum::power (math::fibonacci_sum::matrix T, uint64_t ex)
    math::fibonacci_sum::matrix math::fibonacci_sum::power (math::fibonacci_sum::matrix T, uint64_t ex)
     
    uint64_t math::fibonacci_sum::result (uint64_t n)
     
    + + + +
    using math::fibonacci_sum::matrix = std::vector<std::vector<uint64_t> >
    +
    + +

    Definition at line 31 of file fibonacci_sum.cpp.

    + +
    + +

    Function Documentation

    ◆ fiboSum()

    @@ -188,16 +225,13 @@ Functions
    Returns
    uint64_t the sum of sequence
    + +

    Definition at line 91 of file fibonacci_sum.cpp.

    91 {
    92 return (result(m + 2) - result(n + 1));
    93}
    -
    uint64_t result(uint64_t n)
    Definition fibonacci_sum.cpp:77
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    uint64_t result(uint64_t n)
    + @@ -217,17 +251,14 @@ Here is the call graph for this function:

    Main function.

    Returns
    0 on exit
    + +

    Definition at line 137 of file fibonacci_sum.cpp.

    137 {
    138 test(); // execute the tests
    139 return 0;
    140}
    -
    static void test()
    Definition fibonacci_sum.cpp:102
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static void test()
    + @@ -237,14 +268,14 @@ Here is the call graph for this function:
    - + - + - +
    math::fibonacci_sum::matrix math::fibonacci_sum::multiply math::fibonacci_sum::matrix math::fibonacci_sum::multiply (const math::fibonacci_sum::matrix & T, const math::fibonacci_sum::matrix & T,
    const math::fibonacci_sum::matrix & A )const math::fibonacci_sum::matrix & A )
    @@ -256,8 +287,10 @@ Here is the call graph for this function:
    Returns
    resultant matrix
    + +

    Definition at line 39 of file fibonacci_sum.cpp.

    40 {
    - +
    41 math::fibonacci_sum::matrix result(2, std::vector<uint64_t>(2, 0));
    42
    43 // multiplying matrices
    44 result[0][0] = T[0][0] * A[0][0] + T[0][1] * A[1][0];
    @@ -267,13 +300,7 @@ Here is the call graph for this function:
    48
    49 return result;
    50}
    - -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -283,9 +310,9 @@ Here is the call graph for this function:
    - + - + @@ -302,8 +329,10 @@ Here is the call graph for this function:
    Returns
    resultant matrix
    + +

    Definition at line 58 of file fibonacci_sum.cpp.

    58 {
    -
    59 math::fibonacci_sum::matrix A{{1, 1}, {1, 0}};
    +
    59 math::fibonacci_sum::matrix A{{1, 1}, {1, 0}};
    60 if (ex == 0 || ex == 1) {
    61 return T;
    62 }
    @@ -315,14 +344,9 @@ Here is the call graph for this function:
    68 }
    69 return T;
    70}
    -
    int multiply(int x, int res[], int res_size)
    Definition power_for_huge_numbers.cpp:25
    -
    void power(int x, int n)
    Definition power_for_huge_numbers.cpp:56
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    int multiply(int x, int res[], int res_size)
    +
    void power(int x, int n)
    + @@ -346,19 +370,16 @@ Here is the call graph for this function:
    Returns
    uint64_t ans, the sum of sequence
    + +

    Definition at line 77 of file fibonacci_sum.cpp.

    77 {
    -
    78 math::fibonacci_sum::matrix T{{1, 1}, {1, 0}};
    +
    78 math::fibonacci_sum::matrix T{{1, 1}, {1, 0}};
    79 T = power(T, n);
    80 uint64_t ans = T[0][1];
    81 ans = (ans - 1);
    82 return ans;
    83}
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -384,48 +405,43 @@ Here is the call graph for this function:
    math::fibonacci_sum::matrix math::fibonacci_sum::power math::fibonacci_sum::matrix math::fibonacci_sum::power (math::fibonacci_sum::matrix T, math::fibonacci_sum::matrix T,

    Function for testing fiboSum function. test cases and assert statement.

    Returns
    void
    + +

    Definition at line 102 of file fibonacci_sum.cpp.

    102 {
    103 uint64_t n = 0, m = 3;
    104 uint64_t test_1 = math::fibonacci_sum::fiboSum(n, m);
    105 assert(test_1 == 4);
    -
    106 std::cout << "Passed Test 1!" << std::endl;
    +
    106 std::cout << "Passed Test 1!" << std::endl;
    107
    108 n = 3;
    109 m = 5;
    110 uint64_t test_2 = math::fibonacci_sum::fiboSum(n, m);
    111 assert(test_2 == 10);
    -
    112 std::cout << "Passed Test 2!" << std::endl;
    +
    112 std::cout << "Passed Test 2!" << std::endl;
    113
    114 n = 5;
    115 m = 7;
    116 uint64_t test_3 = math::fibonacci_sum::fiboSum(n, m);
    117 assert(test_3 == 26);
    -
    118 std::cout << "Passed Test 3!" << std::endl;
    +
    118 std::cout << "Passed Test 3!" << std::endl;
    119
    120 n = 7;
    121 m = 10;
    122 uint64_t test_4 = math::fibonacci_sum::fiboSum(n, m);
    123 assert(test_4 == 123);
    -
    124 std::cout << "Passed Test 4!" << std::endl;
    +
    124 std::cout << "Passed Test 4!" << std::endl;
    125
    126 n = 9;
    127 m = 12;
    128 uint64_t test_5 = math::fibonacci_sum::fiboSum(n, m);
    129 assert(test_5 == 322);
    -
    130 std::cout << "Passed Test 5!" << std::endl;
    +
    130 std::cout << "Passed Test 5!" << std::endl;
    131}
    - -
    T endl(T... args)
    -
    uint64_t fiboSum(uint64_t n, uint64_t m)
    Definition fibonacci_sum.cpp:91
    -
    static void test_1()
    Definition heavy_light_decomposition.cpp:505
    -
    static void test_2()
    Definition heavy_light_decomposition.cpp:549
    -
    static void test_3()
    Definition heavy_light_decomposition.cpp:592
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    uint64_t fiboSum(uint64_t n, uint64_t m)
    +
    static void test_1()
    +
    static void test_2()
    +
    static void test_3()
    +
    diff --git a/de/dc3/fibonacci__sum_8cpp_a493fbaa7a94e3b7ca573111237bb3742_cgraph.map b/de/dc3/fibonacci__sum_8cpp_a493fbaa7a94e3b7ca573111237bb3742_cgraph.map deleted file mode 100644 index a36f7c101..000000000 --- a/de/dc3/fibonacci__sum_8cpp_a493fbaa7a94e3b7ca573111237bb3742_cgraph.map +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/de/dc3/fibonacci__sum_8cpp_a493fbaa7a94e3b7ca573111237bb3742_cgraph.md5 b/de/dc3/fibonacci__sum_8cpp_a493fbaa7a94e3b7ca573111237bb3742_cgraph.md5 deleted file mode 100644 index 0721ab80f..000000000 --- a/de/dc3/fibonacci__sum_8cpp_a493fbaa7a94e3b7ca573111237bb3742_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -8d518acb477181baa90cbc4b41d4ff3a \ No newline at end of file diff --git a/de/dc3/fibonacci__sum_8cpp_a493fbaa7a94e3b7ca573111237bb3742_cgraph.svg b/de/dc3/fibonacci__sum_8cpp_a493fbaa7a94e3b7ca573111237bb3742_cgraph.svg deleted file mode 100644 index 850b0ba9d..000000000 --- a/de/dc3/fibonacci__sum_8cpp_a493fbaa7a94e3b7ca573111237bb3742_cgraph.svg +++ /dev/null @@ -1,113 +0,0 @@ - - - - - - - - - - - - -math::fibonacci_sum::fiboSum - - -Node1 - - -math::fibonacci_sum -::fiboSum - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -math::fibonacci_sum -::result - - - - - -Node1->Node2 - - - - - - - - -Node2->Node2 - - - - - - - - -Node3 - - -math::fibonacci_sum -::power - - - - - -Node2->Node3 - - - - - - - - -Node3->Node3 - - - - - - - - - - - - - diff --git a/de/dc3/fibonacci__sum_8cpp_a493fbaa7a94e3b7ca573111237bb3742_cgraph_org.svg b/de/dc3/fibonacci__sum_8cpp_a493fbaa7a94e3b7ca573111237bb3742_cgraph_org.svg deleted file mode 100644 index a2f588fd6..000000000 --- a/de/dc3/fibonacci__sum_8cpp_a493fbaa7a94e3b7ca573111237bb3742_cgraph_org.svg +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - -math::fibonacci_sum::fiboSum - - -Node1 - - -math::fibonacci_sum -::fiboSum - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -math::fibonacci_sum -::result - - - - - -Node1->Node2 - - - - - - - - -Node2->Node2 - - - - - - - - -Node3 - - -math::fibonacci_sum -::power - - - - - -Node2->Node3 - - - - - - - - -Node3->Node3 - - - - - - - - diff --git a/de/dc3/fibonacci__sum_8cpp_a7cf5feaf168b88e74544da59ed830311_cgraph.map b/de/dc3/fibonacci__sum_8cpp_a7cf5feaf168b88e74544da59ed830311_cgraph.map deleted file mode 100644 index 92ee455ac..000000000 --- a/de/dc3/fibonacci__sum_8cpp_a7cf5feaf168b88e74544da59ed830311_cgraph.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/de/dc3/fibonacci__sum_8cpp_a7cf5feaf168b88e74544da59ed830311_cgraph.md5 b/de/dc3/fibonacci__sum_8cpp_a7cf5feaf168b88e74544da59ed830311_cgraph.md5 deleted file mode 100644 index 865736ba8..000000000 --- a/de/dc3/fibonacci__sum_8cpp_a7cf5feaf168b88e74544da59ed830311_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -6e1d224d7827037d71834f703d458208 \ No newline at end of file diff --git a/de/dc3/fibonacci__sum_8cpp_a7cf5feaf168b88e74544da59ed830311_cgraph.svg b/de/dc3/fibonacci__sum_8cpp_a7cf5feaf168b88e74544da59ed830311_cgraph.svg deleted file mode 100644 index de1b9695a..000000000 --- a/de/dc3/fibonacci__sum_8cpp_a7cf5feaf168b88e74544da59ed830311_cgraph.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - - - - - - - -math::fibonacci_sum::power - - -Node1 - - -math::fibonacci_sum -::power - - - - - -Node1->Node1 - - - - - - - - - - - - - diff --git a/de/dc3/fibonacci__sum_8cpp_a7cf5feaf168b88e74544da59ed830311_cgraph_org.svg b/de/dc3/fibonacci__sum_8cpp_a7cf5feaf168b88e74544da59ed830311_cgraph_org.svg deleted file mode 100644 index ce6fc161b..000000000 --- a/de/dc3/fibonacci__sum_8cpp_a7cf5feaf168b88e74544da59ed830311_cgraph_org.svg +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - -math::fibonacci_sum::power - - -Node1 - - -math::fibonacci_sum -::power - - - - - -Node1->Node1 - - - - - - - - diff --git a/de/dc3/fibonacci__sum_8cpp_a9c83cca09a3e4ff2a25c816a9303448e_cgraph.map b/de/dc3/fibonacci__sum_8cpp_a9c83cca09a3e4ff2a25c816a9303448e_cgraph.map deleted file mode 100644 index 1b4aeac57..000000000 --- a/de/dc3/fibonacci__sum_8cpp_a9c83cca09a3e4ff2a25c816a9303448e_cgraph.map +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/de/dc3/fibonacci__sum_8cpp_a9c83cca09a3e4ff2a25c816a9303448e_cgraph.md5 b/de/dc3/fibonacci__sum_8cpp_a9c83cca09a3e4ff2a25c816a9303448e_cgraph.md5 deleted file mode 100644 index c69713d63..000000000 --- a/de/dc3/fibonacci__sum_8cpp_a9c83cca09a3e4ff2a25c816a9303448e_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -6912f67d210704900b55ae7137d0cb04 \ No newline at end of file diff --git a/de/dc3/fibonacci__sum_8cpp_a9c83cca09a3e4ff2a25c816a9303448e_cgraph.svg b/de/dc3/fibonacci__sum_8cpp_a9c83cca09a3e4ff2a25c816a9303448e_cgraph.svg deleted file mode 100644 index 6bda8327b..000000000 --- a/de/dc3/fibonacci__sum_8cpp_a9c83cca09a3e4ff2a25c816a9303448e_cgraph.svg +++ /dev/null @@ -1,104 +0,0 @@ - - - - - - - - - - - - -math::fibonacci_sum::multiply - - -Node1 - - -math::fibonacci_sum -::multiply - - - - - -Node2 - - -math::fibonacci_sum -::result - - - - - -Node1->Node2 - - - - - - - - -Node2->Node2 - - - - - - - - -Node3 - - -math::fibonacci_sum -::power - - - - - -Node2->Node3 - - - - - - - - -Node3->Node3 - - - - - - - - - - - - - diff --git a/de/dc3/fibonacci__sum_8cpp_a9c83cca09a3e4ff2a25c816a9303448e_cgraph_org.svg b/de/dc3/fibonacci__sum_8cpp_a9c83cca09a3e4ff2a25c816a9303448e_cgraph_org.svg deleted file mode 100644 index 6fc8cf0e2..000000000 --- a/de/dc3/fibonacci__sum_8cpp_a9c83cca09a3e4ff2a25c816a9303448e_cgraph_org.svg +++ /dev/null @@ -1,78 +0,0 @@ - - - - - - -math::fibonacci_sum::multiply - - -Node1 - - -math::fibonacci_sum -::multiply - - - - - -Node2 - - -math::fibonacci_sum -::result - - - - - -Node1->Node2 - - - - - - - - -Node2->Node2 - - - - - - - - -Node3 - - -math::fibonacci_sum -::power - - - - - -Node2->Node3 - - - - - - - - -Node3->Node3 - - - - - - - - diff --git a/de/dc3/fibonacci__sum_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map b/de/dc3/fibonacci__sum_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map deleted file mode 100644 index 0ceb90745..000000000 --- a/de/dc3/fibonacci__sum_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map +++ /dev/null @@ -1,71 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/de/dc3/fibonacci__sum_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 b/de/dc3/fibonacci__sum_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 deleted file mode 100644 index 7478f94c2..000000000 --- a/de/dc3/fibonacci__sum_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -e0ee7b382d1bc3e758651bba31265ee2 \ No newline at end of file diff --git a/de/dc3/fibonacci__sum_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg b/de/dc3/fibonacci__sum_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg deleted file mode 100644 index f436f4362..000000000 --- a/de/dc3/fibonacci__sum_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg +++ /dev/null @@ -1,748 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -test_1 - - - - - -Node1->Node3 - - - - - - - - -Node23 - - -test_2 - - - - - -Node1->Node23 - - - - - - - - -Node24 - - -test_3 - - - - - -Node1->Node24 - - - - - - - - -Node4 - - -range_queries::heavy -_light_decomposition -::Tree::add_edge - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -std::vector::push_back - - - - - -Node3->Node5 - - - - - - - - -Node6 - - -range_queries::heavy -_light_decomposition -::HLD::init - - - - - -Node3->Node6 - - - - - - - - -Node14 - - -range_queries::heavy -_light_decomposition -::HLD::query - - - - - -Node3->Node14 - - - - - - - - -Node19 - - -range_queries::heavy -_light_decomposition -::Tree::set_node_val - - - - - -Node3->Node19 - - - - - - - - -Node20 - - -std::vector::size - - - - - -Node3->Node20 - - - - - - - - -Node21 - - -range_queries::heavy -_light_decomposition -::HLD::update - - - - - -Node3->Node21 - - - - - - - - -Node4->Node5 - - - - - - - - -Node7 - - -range_queries::heavy -_light_decomposition -::SG::combine - - - - - -Node6->Node7 - - - - - - - - -Node8 - - -range_queries::heavy -_light_decomposition -::HLD::dfs_hc - - - - - -Node6->Node8 - - - - - - - - -Node9 - - -range_queries::heavy -_light_decomposition -::HLD::dfs_labels - - - - - -Node6->Node9 - - - - - - - - -Node10 - - -range_queries::heavy -_light_decomposition -::HLD::dfs_par - - - - - -Node6->Node10 - - - - - - - - -Node11 - - -range_queries::heavy -_light_decomposition -::Tree::init - - - - - -Node6->Node11 - - - - - - - - -Node8->Node8 - - - - - - - - -Node9->Node9 - - - - - - - - -Node10->Node10 - - - - - - - - -Node12 - - -range_queries::heavy -_light_decomposition -::Tree::dfs_lca - - - - - -Node11->Node12 - - - - - - - - -Node13 - - -range_queries::heavy -_light_decomposition -::Tree::dfs_size - - - - - -Node11->Node13 - - - - - - - - -Node12->Node12 - - - - - - - - -Node13->Node13 - - - - - - - - -Node15 - - -range_queries::heavy -_light_decomposition -::HLD::chain_query - - - - - -Node14->Node15 - - - - - - - - -Node17 - - -range_queries::heavy -_light_decomposition -::Tree::lca - - - - - -Node14->Node17 - - - - - - - - -Node15->Node7 - - - - - - - - -Node16 - - -std::swap - - - - - -Node15->Node16 - - - - - - - - -Node18 - - -range_queries::heavy -_light_decomposition -::Tree::lift - - - - - -Node17->Node18 - - - - - - - - -Node19->Node20 - - - - - - - - -Node22 - - -range_queries::heavy -_light_decomposition -::SG::update - - - - - -Node21->Node22 - - - - - - - - -Node23->Node4 - - - - - - - - -Node23->Node5 - - - - - - - - -Node23->Node6 - - - - - - - - -Node23->Node14 - - - - - - - - -Node23->Node19 - - - - - - - - -Node23->Node20 - - - - - - - - -Node23->Node21 - - - - - - - - -Node24->Node4 - - - - - - - - -Node24->Node5 - - - - - - - - -Node24->Node6 - - - - - - - - -Node24->Node14 - - - - - - - - -Node24->Node19 - - - - - - - - -Node24->Node20 - - - - - - - - -Node24->Node21 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/de/dc3/fibonacci__sum_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg b/de/dc3/fibonacci__sum_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg deleted file mode 100644 index 8a2fe90d7..000000000 --- a/de/dc3/fibonacci__sum_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg +++ /dev/null @@ -1,665 +0,0 @@ - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -test_1 - - - - - -Node1->Node3 - - - - - - - - -Node23 - - -test_2 - - - - - -Node1->Node23 - - - - - - - - -Node24 - - -test_3 - - - - - -Node1->Node24 - - - - - - - - -Node4 - - -range_queries::heavy -_light_decomposition -::Tree::add_edge - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -std::vector::push_back - - - - - -Node3->Node5 - - - - - - - - -Node6 - - -range_queries::heavy -_light_decomposition -::HLD::init - - - - - -Node3->Node6 - - - - - - - - -Node14 - - -range_queries::heavy -_light_decomposition -::HLD::query - - - - - -Node3->Node14 - - - - - - - - -Node19 - - -range_queries::heavy -_light_decomposition -::Tree::set_node_val - - - - - -Node3->Node19 - - - - - - - - -Node20 - - -std::vector::size - - - - - -Node3->Node20 - - - - - - - - -Node21 - - -range_queries::heavy -_light_decomposition -::HLD::update - - - - - -Node3->Node21 - - - - - - - - -Node4->Node5 - - - - - - - - -Node7 - - -range_queries::heavy -_light_decomposition -::SG::combine - - - - - -Node6->Node7 - - - - - - - - -Node8 - - -range_queries::heavy -_light_decomposition -::HLD::dfs_hc - - - - - -Node6->Node8 - - - - - - - - -Node9 - - -range_queries::heavy -_light_decomposition -::HLD::dfs_labels - - - - - -Node6->Node9 - - - - - - - - -Node10 - - -range_queries::heavy -_light_decomposition -::HLD::dfs_par - - - - - -Node6->Node10 - - - - - - - - -Node11 - - -range_queries::heavy -_light_decomposition -::Tree::init - - - - - -Node6->Node11 - - - - - - - - -Node8->Node8 - - - - - - - - -Node9->Node9 - - - - - - - - -Node10->Node10 - - - - - - - - -Node12 - - -range_queries::heavy -_light_decomposition -::Tree::dfs_lca - - - - - -Node11->Node12 - - - - - - - - -Node13 - - -range_queries::heavy -_light_decomposition -::Tree::dfs_size - - - - - -Node11->Node13 - - - - - - - - -Node12->Node12 - - - - - - - - -Node13->Node13 - - - - - - - - -Node15 - - -range_queries::heavy -_light_decomposition -::HLD::chain_query - - - - - -Node14->Node15 - - - - - - - - -Node17 - - -range_queries::heavy -_light_decomposition -::Tree::lca - - - - - -Node14->Node17 - - - - - - - - -Node15->Node7 - - - - - - - - -Node16 - - -std::swap - - - - - -Node15->Node16 - - - - - - - - -Node18 - - -range_queries::heavy -_light_decomposition -::Tree::lift - - - - - -Node17->Node18 - - - - - - - - -Node19->Node20 - - - - - - - - -Node22 - - -range_queries::heavy -_light_decomposition -::SG::update - - - - - -Node21->Node22 - - - - - - - - -Node23->Node4 - - - - - - - - -Node23->Node5 - - - - - - - - -Node23->Node6 - - - - - - - - -Node23->Node14 - - - - - - - - -Node23->Node19 - - - - - - - - -Node23->Node20 - - - - - - - - -Node23->Node21 - - - - - - - - -Node24->Node4 - - - - - - - - -Node24->Node5 - - - - - - - - -Node24->Node6 - - - - - - - - -Node24->Node14 - - - - - - - - -Node24->Node19 - - - - - - - - -Node24->Node20 - - - - - - - - -Node24->Node21 - - - - - - - - diff --git a/de/dc3/fibonacci__sum_8cpp_aadb40ac4c74a7efc0680b83eeee138aa_cgraph.map b/de/dc3/fibonacci__sum_8cpp_aadb40ac4c74a7efc0680b83eeee138aa_cgraph.map deleted file mode 100644 index 81f54fada..000000000 --- a/de/dc3/fibonacci__sum_8cpp_aadb40ac4c74a7efc0680b83eeee138aa_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/de/dc3/fibonacci__sum_8cpp_aadb40ac4c74a7efc0680b83eeee138aa_cgraph.md5 b/de/dc3/fibonacci__sum_8cpp_aadb40ac4c74a7efc0680b83eeee138aa_cgraph.md5 deleted file mode 100644 index 24d207907..000000000 --- a/de/dc3/fibonacci__sum_8cpp_aadb40ac4c74a7efc0680b83eeee138aa_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -9adfa4c5873007f3f969baec2b6b4b9d \ No newline at end of file diff --git a/de/dc3/fibonacci__sum_8cpp_aadb40ac4c74a7efc0680b83eeee138aa_cgraph.svg b/de/dc3/fibonacci__sum_8cpp_aadb40ac4c74a7efc0680b83eeee138aa_cgraph.svg deleted file mode 100644 index 93414705a..000000000 --- a/de/dc3/fibonacci__sum_8cpp_aadb40ac4c74a7efc0680b83eeee138aa_cgraph.svg +++ /dev/null @@ -1,85 +0,0 @@ - - - - - - - - - - - - -math::fibonacci_sum::result - - -Node1 - - -math::fibonacci_sum -::result - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -math::fibonacci_sum -::power - - - - - -Node1->Node2 - - - - - - - - -Node2->Node2 - - - - - - - - - - - - - diff --git a/de/dc3/fibonacci__sum_8cpp_aadb40ac4c74a7efc0680b83eeee138aa_cgraph_org.svg b/de/dc3/fibonacci__sum_8cpp_aadb40ac4c74a7efc0680b83eeee138aa_cgraph_org.svg deleted file mode 100644 index de93fa7e2..000000000 --- a/de/dc3/fibonacci__sum_8cpp_aadb40ac4c74a7efc0680b83eeee138aa_cgraph_org.svg +++ /dev/null @@ -1,59 +0,0 @@ - - - - - - -math::fibonacci_sum::result - - -Node1 - - -math::fibonacci_sum -::result - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -math::fibonacci_sum -::power - - - - - -Node1->Node2 - - - - - - - - -Node2->Node2 - - - - - - - - diff --git a/de/dc3/fibonacci__sum_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/de/dc3/fibonacci__sum_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 170f40177..000000000 --- a/de/dc3/fibonacci__sum_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,73 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/de/dc3/fibonacci__sum_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/de/dc3/fibonacci__sum_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index e655e19e2..000000000 --- a/de/dc3/fibonacci__sum_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -798bc8dc1fc6b328afc5a36dece8545c \ No newline at end of file diff --git a/de/dc3/fibonacci__sum_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/de/dc3/fibonacci__sum_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 89b58f655..000000000 --- a/de/dc3/fibonacci__sum_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,766 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -test_1 - - - - - -Node2->Node4 - - - - - - - - -Node24 - - -test_2 - - - - - -Node2->Node24 - - - - - - - - -Node25 - - -test_3 - - - - - -Node2->Node25 - - - - - - - - -Node5 - - -range_queries::heavy -_light_decomposition -::Tree::add_edge - - - - - -Node4->Node5 - - - - - - - - -Node6 - - -std::vector::push_back - - - - - -Node4->Node6 - - - - - - - - -Node7 - - -range_queries::heavy -_light_decomposition -::HLD::init - - - - - -Node4->Node7 - - - - - - - - -Node15 - - -range_queries::heavy -_light_decomposition -::HLD::query - - - - - -Node4->Node15 - - - - - - - - -Node20 - - -range_queries::heavy -_light_decomposition -::Tree::set_node_val - - - - - -Node4->Node20 - - - - - - - - -Node21 - - -std::vector::size - - - - - -Node4->Node21 - - - - - - - - -Node22 - - -range_queries::heavy -_light_decomposition -::HLD::update - - - - - -Node4->Node22 - - - - - - - - -Node5->Node6 - - - - - - - - -Node8 - - -range_queries::heavy -_light_decomposition -::SG::combine - - - - - -Node7->Node8 - - - - - - - - -Node9 - - -range_queries::heavy -_light_decomposition -::HLD::dfs_hc - - - - - -Node7->Node9 - - - - - - - - -Node10 - - -range_queries::heavy -_light_decomposition -::HLD::dfs_labels - - - - - -Node7->Node10 - - - - - - - - -Node11 - - -range_queries::heavy -_light_decomposition -::HLD::dfs_par - - - - - -Node7->Node11 - - - - - - - - -Node12 - - -range_queries::heavy -_light_decomposition -::Tree::init - - - - - -Node7->Node12 - - - - - - - - -Node9->Node9 - - - - - - - - -Node10->Node10 - - - - - - - - -Node11->Node11 - - - - - - - - -Node13 - - -range_queries::heavy -_light_decomposition -::Tree::dfs_lca - - - - - -Node12->Node13 - - - - - - - - -Node14 - - -range_queries::heavy -_light_decomposition -::Tree::dfs_size - - - - - -Node12->Node14 - - - - - - - - -Node13->Node13 - - - - - - - - -Node14->Node14 - - - - - - - - -Node16 - - -range_queries::heavy -_light_decomposition -::HLD::chain_query - - - - - -Node15->Node16 - - - - - - - - -Node18 - - -range_queries::heavy -_light_decomposition -::Tree::lca - - - - - -Node15->Node18 - - - - - - - - -Node16->Node8 - - - - - - - - -Node17 - - -std::swap - - - - - -Node16->Node17 - - - - - - - - -Node19 - - -range_queries::heavy -_light_decomposition -::Tree::lift - - - - - -Node18->Node19 - - - - - - - - -Node20->Node21 - - - - - - - - -Node23 - - -range_queries::heavy -_light_decomposition -::SG::update - - - - - -Node22->Node23 - - - - - - - - -Node24->Node5 - - - - - - - - -Node24->Node6 - - - - - - - - -Node24->Node7 - - - - - - - - -Node24->Node15 - - - - - - - - -Node24->Node20 - - - - - - - - -Node24->Node21 - - - - - - - - -Node24->Node22 - - - - - - - - -Node25->Node5 - - - - - - - - -Node25->Node6 - - - - - - - - -Node25->Node7 - - - - - - - - -Node25->Node15 - - - - - - - - -Node25->Node20 - - - - - - - - -Node25->Node21 - - - - - - - - -Node25->Node22 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/de/dc3/fibonacci__sum_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/de/dc3/fibonacci__sum_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index aa481691a..000000000 --- a/de/dc3/fibonacci__sum_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,683 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -test_1 - - - - - -Node2->Node4 - - - - - - - - -Node24 - - -test_2 - - - - - -Node2->Node24 - - - - - - - - -Node25 - - -test_3 - - - - - -Node2->Node25 - - - - - - - - -Node5 - - -range_queries::heavy -_light_decomposition -::Tree::add_edge - - - - - -Node4->Node5 - - - - - - - - -Node6 - - -std::vector::push_back - - - - - -Node4->Node6 - - - - - - - - -Node7 - - -range_queries::heavy -_light_decomposition -::HLD::init - - - - - -Node4->Node7 - - - - - - - - -Node15 - - -range_queries::heavy -_light_decomposition -::HLD::query - - - - - -Node4->Node15 - - - - - - - - -Node20 - - -range_queries::heavy -_light_decomposition -::Tree::set_node_val - - - - - -Node4->Node20 - - - - - - - - -Node21 - - -std::vector::size - - - - - -Node4->Node21 - - - - - - - - -Node22 - - -range_queries::heavy -_light_decomposition -::HLD::update - - - - - -Node4->Node22 - - - - - - - - -Node5->Node6 - - - - - - - - -Node8 - - -range_queries::heavy -_light_decomposition -::SG::combine - - - - - -Node7->Node8 - - - - - - - - -Node9 - - -range_queries::heavy -_light_decomposition -::HLD::dfs_hc - - - - - -Node7->Node9 - - - - - - - - -Node10 - - -range_queries::heavy -_light_decomposition -::HLD::dfs_labels - - - - - -Node7->Node10 - - - - - - - - -Node11 - - -range_queries::heavy -_light_decomposition -::HLD::dfs_par - - - - - -Node7->Node11 - - - - - - - - -Node12 - - -range_queries::heavy -_light_decomposition -::Tree::init - - - - - -Node7->Node12 - - - - - - - - -Node9->Node9 - - - - - - - - -Node10->Node10 - - - - - - - - -Node11->Node11 - - - - - - - - -Node13 - - -range_queries::heavy -_light_decomposition -::Tree::dfs_lca - - - - - -Node12->Node13 - - - - - - - - -Node14 - - -range_queries::heavy -_light_decomposition -::Tree::dfs_size - - - - - -Node12->Node14 - - - - - - - - -Node13->Node13 - - - - - - - - -Node14->Node14 - - - - - - - - -Node16 - - -range_queries::heavy -_light_decomposition -::HLD::chain_query - - - - - -Node15->Node16 - - - - - - - - -Node18 - - -range_queries::heavy -_light_decomposition -::Tree::lca - - - - - -Node15->Node18 - - - - - - - - -Node16->Node8 - - - - - - - - -Node17 - - -std::swap - - - - - -Node16->Node17 - - - - - - - - -Node19 - - -range_queries::heavy -_light_decomposition -::Tree::lift - - - - - -Node18->Node19 - - - - - - - - -Node20->Node21 - - - - - - - - -Node23 - - -range_queries::heavy -_light_decomposition -::SG::update - - - - - -Node22->Node23 - - - - - - - - -Node24->Node5 - - - - - - - - -Node24->Node6 - - - - - - - - -Node24->Node7 - - - - - - - - -Node24->Node15 - - - - - - - - -Node24->Node20 - - - - - - - - -Node24->Node21 - - - - - - - - -Node24->Node22 - - - - - - - - -Node25->Node5 - - - - - - - - -Node25->Node6 - - - - - - - - -Node25->Node7 - - - - - - - - -Node25->Node15 - - - - - - - - -Node25->Node20 - - - - - - - - -Node25->Node21 - - - - - - - - -Node25->Node22 - - - - - - - - diff --git a/de/dc3/fibonacci__sum_8cpp_source.html b/de/dc3/fibonacci__sum_8cpp_source.html new file mode 100644 index 000000000..85782a233 --- /dev/null +++ b/de/dc3/fibonacci__sum_8cpp_source.html @@ -0,0 +1,246 @@ + + + + + + + + +TheAlgorithms/C++: math/fibonacci_sum.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    fibonacci_sum.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    15#include <cassert>
    +
    16#include <cstdint>
    +
    17#include <iostream>
    +
    18#include <vector>
    +
    19
    +
    24namespace math {
    +
    30namespace fibonacci_sum {
    +
    31using matrix = std::vector<std::vector<uint64_t> >;
    +
    32
    +
    +
    39math::fibonacci_sum::matrix multiply(const math::fibonacci_sum::matrix &T,
    +
    40 const math::fibonacci_sum::matrix &A) {
    +
    41 math::fibonacci_sum::matrix result(2, std::vector<uint64_t>(2, 0));
    +
    42
    +
    43 // multiplying matrices
    +
    44 result[0][0] = T[0][0] * A[0][0] + T[0][1] * A[1][0];
    +
    45 result[0][1] = T[0][0] * A[0][1] + T[0][1] * A[1][1];
    +
    46 result[1][0] = T[1][0] * A[0][0] + T[1][1] * A[1][0];
    +
    47 result[1][1] = T[1][0] * A[0][1] + T[1][1] * A[1][1];
    +
    48
    +
    49 return result;
    +
    50}
    +
    +
    51
    +
    +
    58math::fibonacci_sum::matrix power(math::fibonacci_sum::matrix T, uint64_t ex) {
    +
    59 math::fibonacci_sum::matrix A{{1, 1}, {1, 0}};
    +
    60 if (ex == 0 || ex == 1) {
    +
    61 return T;
    +
    62 }
    +
    63
    +
    64 T = power(T, ex / 2);
    +
    65 T = multiply(T, T);
    +
    66 if (ex & 1) {
    +
    67 T = multiply(T, A);
    +
    68 }
    +
    69 return T;
    +
    70}
    +
    +
    71
    +
    +
    77uint64_t result(uint64_t n) {
    +
    78 math::fibonacci_sum::matrix T{{1, 1}, {1, 0}};
    +
    79 T = power(T, n);
    +
    80 uint64_t ans = T[0][1];
    +
    81 ans = (ans - 1);
    +
    82 return ans;
    +
    83}
    +
    +
    84
    +
    +
    91uint64_t fiboSum(uint64_t n, uint64_t m) {
    +
    92 return (result(m + 2) - result(n + 1));
    +
    93}
    +
    +
    94} // namespace fibonacci_sum
    +
    95} // namespace math
    +
    96
    +
    +
    102static void test() {
    +
    103 uint64_t n = 0, m = 3;
    +
    104 uint64_t test_1 = math::fibonacci_sum::fiboSum(n, m);
    +
    105 assert(test_1 == 4);
    +
    106 std::cout << "Passed Test 1!" << std::endl;
    +
    107
    +
    108 n = 3;
    +
    109 m = 5;
    +
    110 uint64_t test_2 = math::fibonacci_sum::fiboSum(n, m);
    +
    111 assert(test_2 == 10);
    +
    112 std::cout << "Passed Test 2!" << std::endl;
    +
    113
    +
    114 n = 5;
    +
    115 m = 7;
    +
    116 uint64_t test_3 = math::fibonacci_sum::fiboSum(n, m);
    +
    117 assert(test_3 == 26);
    +
    118 std::cout << "Passed Test 3!" << std::endl;
    +
    119
    +
    120 n = 7;
    +
    121 m = 10;
    +
    122 uint64_t test_4 = math::fibonacci_sum::fiboSum(n, m);
    +
    123 assert(test_4 == 123);
    +
    124 std::cout << "Passed Test 4!" << std::endl;
    +
    125
    +
    126 n = 9;
    +
    127 m = 12;
    +
    128 uint64_t test_5 = math::fibonacci_sum::fiboSum(n, m);
    +
    129 assert(test_5 == 322);
    +
    130 std::cout << "Passed Test 5!" << std::endl;
    +
    131}
    +
    +
    132
    +
    +
    137int main() {
    +
    138 test(); // execute the tests
    +
    139 return 0;
    +
    140}
    +
    +
    uint64_t fiboSum(uint64_t n, uint64_t m)
    +
    math::fibonacci_sum::matrix power(math::fibonacci_sum::matrix T, uint64_t ex)
    +
    static void test()
    +
    uint64_t result(uint64_t n)
    +
    int main()
    Main function.
    +
    static void test_1()
    +
    static void test_2()
    +
    static void test_3()
    +
    std::vector< std::valarray< T > > matrix
    +
    Functions for the sum of the Fibonacci Sequence: .
    +
    for assert
    +
    +
    + + + + diff --git a/de/dc5/intersection__of__two__arrays_8cpp.html b/de/dc5/intersection__of__two__arrays_8cpp.html index a683d0509..dce5512c4 100644 --- a/de/dc5/intersection__of__two__arrays_8cpp.html +++ b/de/dc5/intersection__of__two__arrays_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: operations_on_datastructures/intersection_of_two_arrays.cpp File Reference +TheAlgorithms/C++: operations_on_datastructures/intersection_of_two_arrays.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -122,11 +139,13 @@ Include dependency graph for intersection_of_two_arrays.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    - + @@ -134,10 +153,10 @@ Namespaces

    Namespaces

    namespace  operations_on_datastructures
     for std::vector
     for std::vector
     
    namespace  tests
     Testcases to check Union of Two Arrays.
    - + - + @@ -156,7 +175,7 @@ Functions - + @@ -169,6 +188,8 @@ Functions

    Implementation for the Intersection of two sorted Arrays algorithm.

    The intersection of two arrays is the collection of all the elements that are common in both the first and second arrays. This implementation uses ordered arrays, and an algorithm to correctly order them and return the result as a new array (vector).

    See also
    union_of_two_arrays.cpp
    Author
    Alvin
    + +

    Definition in file intersection_of_two_arrays.cpp.

    Function Documentation

    ◆ main()

    @@ -187,17 +208,14 @@ Functions

    main function

    Returns
    0 on exit
    + +

    Definition at line 200 of file intersection_of_two_arrays.cpp.

    200 {
    201 test(); // run self-test implementations
    202 return 0;
    203}
    -
    static void test()
    Function to test the correctness of get_intersection() function.
    Definition intersection_of_two_arrays.cpp:187
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static void test()
    Function to test the correctness of get_intersection() function.
    + @@ -225,6 +243,8 @@ Here is the call graph for this function:

    Function to test the correctness of get_intersection() function.

    Returns
    void
    + +

    Definition at line 187 of file intersection_of_two_arrays.cpp.

    187 {
    188 tests::test1();
    189 tests::test2();
    @@ -233,18 +253,13 @@ Here is the call graph for this function:
    192 tests::test5();
    193 tests::test6();
    194}
    -
    void test1()
    A Test to check an simple case.
    Definition array_left_rotation.cpp:75
    -
    void test4()
    A Test to check a very large input.
    Definition array_left_rotation.cpp:120
    -
    void test3()
    A Test to check an invalid shift value.
    Definition array_left_rotation.cpp:105
    -
    void test6()
    A Test to check correct functionality with an array sorted using std::sort.
    Definition intersection_of_two_arrays.cpp:166
    -
    void test2()
    A Test to check an empty vector.
    Definition array_left_rotation.cpp:90
    -
    void test5()
    A Test to check a shift of zero.
    Definition array_left_rotation.cpp:143
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    void test1()
    A Test to check an simple case.
    +
    void test4()
    A Test to check a very large input.
    +
    void test3()
    A Test to check an invalid shift value.
    +
    void test6()
    A Test to check correct functionality with an array sorted using std::sort.
    +
    void test2()
    A Test to check an empty vector.
    +
    void test5()
    A Test to check a shift of zero.
    + diff --git a/de/dc5/intersection__of__two__arrays_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map b/de/dc5/intersection__of__two__arrays_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map deleted file mode 100644 index 6c1a53ded..000000000 --- a/de/dc5/intersection__of__two__arrays_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/de/dc5/intersection__of__two__arrays_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 b/de/dc5/intersection__of__two__arrays_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 deleted file mode 100644 index 143d0acca..000000000 --- a/de/dc5/intersection__of__two__arrays_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -2711630a1b149836e8e7d5e4cfccd0ef \ No newline at end of file diff --git a/de/dc5/intersection__of__two__arrays_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg b/de/dc5/intersection__of__two__arrays_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg deleted file mode 100644 index f9dfaec9b..000000000 --- a/de/dc5/intersection__of__two__arrays_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg +++ /dev/null @@ -1,227 +0,0 @@ - - - - - - - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -tests::test1 - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -tests::test2 - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -tests::test3 - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -tests::test4 - - - - - -Node1->Node5 - - - - - - - - -Node7 - - -tests::test5 - - - - - -Node1->Node7 - - - - - - - - -Node8 - - -tests::test6 - - - - - -Node1->Node8 - - - - - - - - -Node6 - - -std::vector::push_back - - - - - -Node5->Node6 - - - - - - - - -Node9 - - -std::vector::begin - - - - - -Node8->Node9 - - - - - - - - -Node10 - - -std::vector::end - - - - - -Node8->Node10 - - - - - - - - -Node11 - - -std::sort - - - - - -Node8->Node11 - - - - - - - - - - - - - diff --git a/de/dc5/intersection__of__two__arrays_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg b/de/dc5/intersection__of__two__arrays_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg deleted file mode 100644 index f7b065d7d..000000000 --- a/de/dc5/intersection__of__two__arrays_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg +++ /dev/null @@ -1,201 +0,0 @@ - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -tests::test1 - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -tests::test2 - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -tests::test3 - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -tests::test4 - - - - - -Node1->Node5 - - - - - - - - -Node7 - - -tests::test5 - - - - - -Node1->Node7 - - - - - - - - -Node8 - - -tests::test6 - - - - - -Node1->Node8 - - - - - - - - -Node6 - - -std::vector::push_back - - - - - -Node5->Node6 - - - - - - - - -Node9 - - -std::vector::begin - - - - - -Node8->Node9 - - - - - - - - -Node10 - - -std::vector::end - - - - - -Node8->Node10 - - - - - - - - -Node11 - - -std::sort - - - - - -Node8->Node11 - - - - - - - - diff --git a/de/dc5/intersection__of__two__arrays_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/de/dc5/intersection__of__two__arrays_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 9a1f3804f..000000000 --- a/de/dc5/intersection__of__two__arrays_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/de/dc5/intersection__of__two__arrays_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/de/dc5/intersection__of__two__arrays_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index 084d0bd90..000000000 --- a/de/dc5/intersection__of__two__arrays_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -b48488da51e5900aa2f04faae1461395 \ No newline at end of file diff --git a/de/dc5/intersection__of__two__arrays_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/de/dc5/intersection__of__two__arrays_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 5ebbcb6f8..000000000 --- a/de/dc5/intersection__of__two__arrays_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,245 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -tests::test1 - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -tests::test2 - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -tests::test3 - - - - - -Node2->Node5 - - - - - - - - -Node6 - - -tests::test4 - - - - - -Node2->Node6 - - - - - - - - -Node8 - - -tests::test5 - - - - - -Node2->Node8 - - - - - - - - -Node9 - - -tests::test6 - - - - - -Node2->Node9 - - - - - - - - -Node7 - - -std::vector::push_back - - - - - -Node6->Node7 - - - - - - - - -Node10 - - -std::vector::begin - - - - - -Node9->Node10 - - - - - - - - -Node11 - - -std::vector::end - - - - - -Node9->Node11 - - - - - - - - -Node12 - - -std::sort - - - - - -Node9->Node12 - - - - - - - - - - - - - diff --git a/de/dc5/intersection__of__two__arrays_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/de/dc5/intersection__of__two__arrays_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index b060e2272..000000000 --- a/de/dc5/intersection__of__two__arrays_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,219 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -tests::test1 - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -tests::test2 - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -tests::test3 - - - - - -Node2->Node5 - - - - - - - - -Node6 - - -tests::test4 - - - - - -Node2->Node6 - - - - - - - - -Node8 - - -tests::test5 - - - - - -Node2->Node8 - - - - - - - - -Node9 - - -tests::test6 - - - - - -Node2->Node9 - - - - - - - - -Node7 - - -std::vector::push_back - - - - - -Node6->Node7 - - - - - - - - -Node10 - - -std::vector::begin - - - - - -Node9->Node10 - - - - - - - - -Node11 - - -std::vector::end - - - - - -Node9->Node11 - - - - - - - - -Node12 - - -std::sort - - - - - -Node9->Node12 - - - - - - - - diff --git a/de/dc5/intersection__of__two__arrays_8cpp_source.html b/de/dc5/intersection__of__two__arrays_8cpp_source.html new file mode 100644 index 000000000..8812a11de --- /dev/null +++ b/de/dc5/intersection__of__two__arrays_8cpp_source.html @@ -0,0 +1,291 @@ + + + + + + + + +TheAlgorithms/C++: operations_on_datastructures/intersection_of_two_arrays.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    +

    Functions

    void operations_on_datastructures::print (const std::vector< int32_t > &array)
    void operations_on_datastructures::print (const std::vector< int32_t > &array)
     Prints the values of a vector sequentially, ending with a newline character.
     
    std::vector< int32_t > operations_on_datastructures::get_intersection (const std::vector< int32_t > &first, const std::vector< int32_t > &second)
    std::vector< int32_t > operations_on_datastructures::get_intersection (const std::vector< int32_t > &first, const std::vector< int32_t > &second)
     Gets the intersection of two sorted arrays, and returns them in a vector.
     
    void tests::test1 ()
     A Test to check a shift of zero.
     
    void tests::test6 ()
     A Test to check correct functionality with an array sorted using std::sort.
     A Test to check correct functionality with an array sorted using std::sort.
     
    static void test ()
     Function to test the correctness of get_intersection() function.
    + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + + +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    intersection_of_two_arrays.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    14#include <algorithm>
    +
    15#include <cassert>
    +
    16#include <iostream>
    +
    17#include <vector>
    +
    18
    + +
    24
    +
    31void print(const std::vector<int32_t> &array) {
    +
    32 for (int32_t i : array) {
    +
    33 std::cout << i << " ";
    +
    34 }
    +
    35 std::cout << "\n";
    +
    36}
    +
    37
    +
    +
    49std::vector<int32_t> get_intersection(const std::vector<int32_t> &first,
    +
    50 const std::vector<int32_t> &second) {
    +
    51 std::vector<int32_t> res;
    +
    52 size_t f_index = 0;
    +
    53 size_t s_index = 0;
    +
    54 size_t f_length = first.size();
    +
    55 size_t s_length = second.size();
    +
    56
    +
    57 while (f_index < f_length && s_index < s_length) {
    +
    58 if (first[f_index] < second[s_index]) {
    +
    59 f_index++;
    +
    60 } else if (first[f_index] > second[s_index]) {
    +
    61 s_index++;
    +
    62 } else {
    +
    63 if ((res.size() == 0) || (first[f_index] != res.back())) {
    +
    64 res.push_back(
    +
    65 first[f_index]);
    +
    66 }
    +
    67 f_index++;
    +
    68 s_index++;
    +
    69 }
    +
    70 }
    +
    71 return res;
    +
    72}
    +
    +
    73
    +
    74} // namespace operations_on_datastructures
    +
    75
    +
    80namespace tests {
    + + +
    87void test1() {
    +
    88 std::cout << "TEST CASE 1\n";
    +
    89 std::cout << "Intialized a = {} b = {}\n";
    +
    90 std::cout << "Expected result: {}\n";
    +
    91 std::vector<int32_t> a = {};
    +
    92 std::vector<int32_t> b = {};
    +
    93 std::vector<int32_t> result = get_intersection(a, b);
    +
    94 assert(result == a);
    +
    95 print(result);
    +
    96 std::cout << "TEST PASSED!\n\n";
    +
    97}
    +
    102void test2() {
    +
    103 std::cout << "TEST CASE 2\n";
    +
    104 std::cout << "Intialized a = {} b = {2, 3}\n";
    +
    105 std::cout << "Expected result: {}\n";
    +
    106 std::vector<int32_t> a = {};
    +
    107 std::vector<int32_t> b = {2, 3};
    +
    108 std::vector<int32_t> result = get_intersection(a, b);
    +
    109 assert(result == a);
    +
    110 print(result);
    +
    111 std::cout << "TEST PASSED!\n\n";
    +
    112}
    +
    117void test3() {
    +
    118 std::cout << "TEST CASE 3\n";
    +
    119 std::cout << "Intialized a = {4, 6} b = {3, 6}\n";
    +
    120 std::cout << "Expected result: {6}\n";
    +
    121 std::vector<int32_t> a = {4, 6};
    +
    122 std::vector<int32_t> b = {3, 6};
    +
    123 std::vector<int32_t> result = get_intersection(a, b);
    +
    124 std::vector<int32_t> expected = {6};
    +
    125 assert(result == expected);
    +
    126 print(result);
    +
    127 std::cout << "TEST PASSED!\n\n";
    +
    128}
    +
    133void test4() {
    +
    134 std::cout << "TEST CASE 4\n";
    +
    135 std::cout << "Intialized a = {4, 6, 6, 6} b = {2, 4, 4, 6}\n";
    +
    136 std::cout << "Expected result: {4, 6}\n";
    +
    137 std::vector<int32_t> a = {4, 6, 6, 6};
    +
    138 std::vector<int32_t> b = {2, 4, 4, 6};
    +
    139 std::vector<int32_t> result = get_intersection(a, b);
    +
    140 std::vector<int32_t> expected = {4, 6};
    +
    141 assert(result == expected);
    +
    142 print(result);
    +
    143 std::cout << "TEST PASSED!\n\n";
    +
    144}
    +
    149void test5() {
    +
    150 std::cout << "TEST CASE 5\n";
    +
    151 std::cout << "Intialized a = {1, 2, 3, 4, 6, 7, 9} b = {2, 3, 4, 5}\n";
    +
    152 std::cout << "Expected result: {2, 3, 4}\n";
    +
    153 std::vector<int32_t> a = {1, 2, 3, 4, 6, 7, 9};
    +
    154 std::vector<int32_t> b = {2, 3, 4, 5};
    +
    155 std::vector<int32_t> result = get_intersection(a, b);
    +
    156 std::vector<int32_t> expected = {2, 3, 4};
    +
    157 assert(result == expected);
    +
    158 print(result);
    +
    159 std::cout << "TEST PASSED!\n\n";
    +
    160}
    +
    +
    166void test6() {
    +
    167 std::cout << "TEST CASE 6\n";
    +
    168 std::cout << "Intialized a = {1, 3, 3, 2, 5, 9, 4, 7, 3, 2} ";
    +
    169 std::cout << "b = {11, 3, 7, 8, 6}\n";
    +
    170 std::cout << "Expected result: {3, 7}\n";
    +
    171 std::vector<int32_t> a = {1, 3, 3, 2, 5, 9, 4, 7, 3, 2};
    +
    172 std::vector<int32_t> b = {11, 3, 7, 8, 6};
    +
    173 std::sort(a.begin(), a.end());
    +
    174 std::sort(b.begin(), b.end());
    +
    175 std::vector<int32_t> result = get_intersection(a, b);
    +
    176 std::vector<int32_t> expected = {3, 7};
    +
    177 assert(result == expected);
    +
    178 print(result);
    +
    179 std::cout << "TEST PASSED!\n\n";
    +
    180}
    +
    +
    181} // namespace tests
    +
    182
    +
    +
    187static void test() {
    +
    188 tests::test1();
    +
    189 tests::test2();
    +
    190 tests::test3();
    +
    191 tests::test4();
    +
    192 tests::test5();
    +
    193 tests::test6();
    +
    194}
    +
    +
    195
    +
    +
    200int main() {
    +
    201 test(); // run self-test implementations
    +
    202 return 0;
    +
    203}
    +
    +
    uint64_t result(uint64_t n)
    +
    static void test()
    Function to test the correctness of get_intersection() function.
    +
    int main()
    main function
    + +
    void print(const std::vector< int32_t > &array)
    Prints the values of a vector sequentially, ending with a newline character.
    +
    std::vector< int32_t > get_intersection(const std::vector< int32_t > &first, const std::vector< int32_t > &second)
    Gets the intersection of two sorted arrays, and returns them in a vector.
    +
    Testcases to check Union of Two Arrays.
    +
    void test1()
    A Test to check an simple case.
    +
    void test4()
    A Test to check a very large input.
    +
    void test3()
    A Test to check an invalid shift value.
    +
    void test6()
    A Test to check correct functionality with an array sorted using std::sort.
    +
    void test2()
    A Test to check an empty vector.
    +
    void test5()
    A Test to check a shift of zero.
    +
    +
    + + + + diff --git a/de/dc8/classlarge__number-members.html b/de/dc8/classlarge__number-members.html index df66a3b39..6b313b3e0 100644 --- a/de/dc8/classlarge__number-members.html +++ b/de/dc8/classlarge__number-members.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Member List +TheAlgorithms/C++: Member List + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/de/dcd/kadanes3_8cpp.html b/de/dcd/kadanes3_8cpp.html index 67889d96d..7b6c069ef 100644 --- a/de/dcd/kadanes3_8cpp.html +++ b/de/dcd/kadanes3_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: others/kadanes3.cpp File Reference +TheAlgorithms/C++: others/kadanes3.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + @@ -122,11 +139,13 @@ Include dependency graph for kadanes3.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    - - + + @@ -140,6 +159,8 @@ Functions

    Efficient implementation for maximum contiguous subarray sum by Kadane's algorithm.

    Our task is to take length of array and then the whole array as input from the user and then calculate the maximum contiguos subarray sum for the input array, using the kadane's algorithm.

    There can be a case that all the elements in the input array are negative. In that case, the least value among all elements is the maximum sum with subarray length = 1.

    Author
    Abhijeet Tiwari
    + +

    Definition in file kadanes3.cpp.

    Function Documentation

    ◆ main()

    @@ -158,6 +179,8 @@ Functions

    Main function.

    Returns
    0 on exit
    + +

    Definition at line 60 of file kadanes3.cpp.

    60 {
    61 // Below is the code for accepting array from the user and then
    62 // calling the function for the required output.
    @@ -185,13 +208,8 @@ Functions
    84 test(); // run self-test implementations
    85 return 0;
    86}
    -
    static void test()
    Self-test implementations.
    Definition kadanes3.cpp:48
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static void test()
    Self-test implementations.
    Definition kadanes3.cpp:48
    + @@ -200,12 +218,12 @@ Here is the call graph for this function:
    -template<std::size_t SIZE>
    +template<std::size_t SIZE>

    Functions

    template<std::size_t SIZE>
    int max_subarray_sum (std::array< int64_t, SIZE > arr, uint64_t length)
    template<std::size_t SIZE>
    int max_subarray_sum (std::array< int64_t, SIZE > arr, uint64_t length)
     for IO operations
     
    static void test ()
    - + @@ -216,7 +234,7 @@ template<

    for IO operations

    -

    for std::array for assert for INT_MIN value

    +

    for std::array for assert for INT_MIN value

    Utility function to check the current maximum number

    Parameters
    int max_subarray_sum (std::array< int64_t, SIZE > arr, std::array< int64_t, SIZE > arr,
    @@ -225,6 +243,8 @@ template<
    Returns
    maximum contiguous subarray sum
    + +

    Definition at line 29 of file kadanes3.cpp.

    29 {
    30 int64_t current_max = INT_MIN, current_sum = 0;
    31 for (int i = 0; i < length; i++) {
    @@ -267,22 +287,17 @@ template<
    Returns
    void
    + +

    Definition at line 48 of file kadanes3.cpp.

    48 {
    -
    49 std::array<int64_t, 4> arr = {1, 2, 3, 4};
    -
    50 std::array<int64_t, 5> arr1 = {-1, -2, -4, -6, 7};
    +
    49 std::array<int64_t, 4> arr = {1, 2, 3, 4};
    +
    50 std::array<int64_t, 5> arr1 = {-1, -2, -4, -6, 7};
    51 assert(max_subarray_sum(arr, 4) == 10);
    52 assert(max_subarray_sum(arr1, 5) == 7);
    -
    53 std::cout << "All test cases have passed!\n";
    +
    53 std::cout << "All test cases have passed!\n";
    54}
    - - -
    int max_subarray_sum(std::array< int64_t, SIZE > arr, uint64_t length)
    for IO operations
    Definition kadanes3.cpp:29
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    int max_subarray_sum(std::array< int64_t, SIZE > arr, uint64_t length)
    for IO operations
    Definition kadanes3.cpp:29
    +
    diff --git a/de/dcd/kadanes3_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map b/de/dcd/kadanes3_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map deleted file mode 100644 index f71d0b4d6..000000000 --- a/de/dcd/kadanes3_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/de/dcd/kadanes3_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 b/de/dcd/kadanes3_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 deleted file mode 100644 index 01a3b41e0..000000000 --- a/de/dcd/kadanes3_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -3ca71952eb4f6d73c7f63d8b9ad7a100 \ No newline at end of file diff --git a/de/dcd/kadanes3_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg b/de/dcd/kadanes3_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg deleted file mode 100644 index 8138b0d90..000000000 --- a/de/dcd/kadanes3_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -max_subarray_sum - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/de/dcd/kadanes3_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg b/de/dcd/kadanes3_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg deleted file mode 100644 index e33485a8b..000000000 --- a/de/dcd/kadanes3_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -max_subarray_sum - - - - - -Node1->Node2 - - - - - - - - diff --git a/de/dcd/kadanes3_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/de/dcd/kadanes3_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 7df93ccd9..000000000 --- a/de/dcd/kadanes3_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/de/dcd/kadanes3_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/de/dcd/kadanes3_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index e4e4a0266..000000000 --- a/de/dcd/kadanes3_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -1c0e3fc0a9786099443ee3035389acba \ No newline at end of file diff --git a/de/dcd/kadanes3_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/de/dcd/kadanes3_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index f64b9161e..000000000 --- a/de/dcd/kadanes3_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -max_subarray_sum - - - - - -Node2->Node3 - - - - - - - - - - - - - diff --git a/de/dcd/kadanes3_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/de/dcd/kadanes3_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index b5bbe5a66..000000000 --- a/de/dcd/kadanes3_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -max_subarray_sum - - - - - -Node2->Node3 - - - - - - - - diff --git a/de/dcd/kadanes3_8cpp_source.html b/de/dcd/kadanes3_8cpp_source.html new file mode 100644 index 000000000..de8e1b823 --- /dev/null +++ b/de/dcd/kadanes3_8cpp_source.html @@ -0,0 +1,203 @@ + + + + + + + + +TheAlgorithms/C++: others/kadanes3.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    arrinput array
    + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + + +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    kadanes3.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    17#include <array>
    +
    18#include <cassert>
    +
    19#include <climits>
    +
    20#include <cstdint>
    +
    21#include <iostream>
    +
    28template <std::size_t SIZE>
    +
    +
    29int max_subarray_sum(std::array<int64_t, SIZE> arr, uint64_t length) {
    +
    30 int64_t current_max = INT_MIN, current_sum = 0;
    +
    31 for (int i = 0; i < length; i++) {
    +
    32 current_sum = current_sum + arr[i];
    +
    33 if (current_max < current_sum) {
    +
    34 current_max = current_sum;
    +
    35 }
    +
    36
    +
    37 if (current_sum < 0) {
    +
    38 current_sum = 0;
    +
    39 }
    +
    40 }
    +
    41 return current_max;
    +
    42}
    +
    +
    43
    +
    +
    48static void test() {
    +
    49 std::array<int64_t, 4> arr = {1, 2, 3, 4};
    +
    50 std::array<int64_t, 5> arr1 = {-1, -2, -4, -6, 7};
    +
    51 assert(max_subarray_sum(arr, 4) == 10);
    +
    52 assert(max_subarray_sum(arr1, 5) == 7);
    +
    53 std::cout << "All test cases have passed!\n";
    +
    54}
    +
    +
    55
    +
    +
    60int main() {
    +
    61 // Below is the code for accepting array from the user and then
    +
    62 // calling the function for the required output.
    +
    63 // It has been commented for now so that the test() function can run
    +
    64 // and the test cases can be verified.
    +
    65 // code for accepting array from user starts
    +
    66
    +
    67 // std::size_t n; // variable for length of input array
    +
    68 // std::cout << "Enter length of the array: ";
    +
    69 // std::cin >> n;
    +
    70 // std::array<int64_t, 100> arr = {0};
    +
    71 // // we need to give a constant in size. Hence we have allocated 100
    +
    72 // for now.
    +
    73 // for (int i = 0; i < n; i++)
    +
    74 // taking input of each element of the array
    +
    75 // {
    +
    76 // std::cin >> arr[i];
    +
    77 // }
    +
    78 // code for accepting array from user ends
    +
    79
    +
    80 // int max_sum = max_subarray_sum(arr, n);
    +
    81 // std::cout << "Maximum contiguous sum for this array is : " << max_sum
    +
    82 // << std::endl;
    +
    83
    +
    84 test(); // run self-test implementations
    +
    85 return 0;
    +
    86}
    +
    +
    int max_subarray_sum(std::array< int64_t, SIZE > arr, uint64_t length)
    for IO operations
    Definition kadanes3.cpp:29
    +
    static void test()
    Self-test implementations.
    Definition kadanes3.cpp:48
    +
    int main()
    Main function.
    Definition kadanes3.cpp:60
    +
    +
    + + + + diff --git a/de/dcf/binary__exponent_8cpp.html b/de/dcf/binary__exponent_8cpp.html index c2451b4e4..55ce27b73 100644 --- a/de/dcf/binary__exponent_8cpp.html +++ b/de/dcf/binary__exponent_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: math/binary_exponent.cpp File Reference +TheAlgorithms/C++: math/binary_exponent.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -118,7 +135,9 @@ Include dependency graph for binary_exponent.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -142,6 +161,8 @@ Functions \end{eqnarray*}

    Hence to calculate 2^10 we only need to multiply \(2^8\) and \(2^2\) skipping \(2^1\) and \(2^4\).

    + +

    Definition in file binary_exponent.cpp.

    Function Documentation

    ◆ binExpo()

    @@ -162,6 +183,8 @@ Functions

    Functions

    int binExpo (int a, int b)

    Recursive function to calculate exponent in \(O(\log(n))\) using binary exponent.

    + +

    Definition at line 28 of file binary_exponent.cpp.

    28 {
    29 if (b == 0) {
    30 return 1;
    @@ -173,13 +196,8 @@ Functions
    36 return res * res;
    37 }
    38}
    -
    int binExpo(int a, int b)
    Definition binary_exponent.cpp:28
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    int binExpo(int a, int b)
    +
    @@ -201,6 +219,8 @@ Here is the call graph for this function:

    Iterative function to calculate exponent in \(O(\log(n))\) using binary exponent.

    + +

    Definition at line 42 of file binary_exponent.cpp.

    42 {
    43 int res = 1;
    44 while (b > 0) {
    @@ -234,33 +254,23 @@ Here is the call graph for this function:

    Give two numbers a, b

    int resIterate = binExpo_alt(a, b);

    Result of a^b (where '^' denotes exponentiation)

    -

    std::cout << resIterate << std::endl;

    -
    55 {
    -
    56 int a, b;
    -
    57 /// Give two numbers a, b
    -
    58 std::cin >> a >> b;
    -
    59 if (a == 0 && b == 0) {
    -
    60 std::cout << "Math error" << std::endl;
    -
    61 } else if (b < 0) {
    -
    62 std::cout << "Exponent must be positive !!" << std::endl;
    -
    63 } else {
    -
    64 int resRecurse = binExpo(a, b);
    -
    65 /// int resIterate = binExpo_alt(a, b);
    -
    66
    -
    67 /// Result of a^b (where '^' denotes exponentiation)
    -
    68 std::cout << resRecurse << std::endl;
    -
    69 /// std::cout << resIterate << std::endl;
    -
    70 }
    -
    71}
    - - -
    T endl(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    +

    std::cout << resIterate << std::endl;

    +

    Definition at line 55 of file binary_exponent.cpp.

    +
    55 {
    +
    56 int a, b;
    +
    58 std::cin >> a >> b;
    +
    59 if (a == 0 && b == 0) {
    +
    60 std::cout << "Math error" << std::endl;
    +
    61 } else if (b < 0) {
    +
    62 std::cout << "Exponent must be positive !!" << std::endl;
    +
    63 } else {
    +
    64 int resRecurse = binExpo(a, b);
    +
    66
    +
    68 std::cout << resRecurse << std::endl;
    +
    70 }
    +
    71}
    +
    diff --git a/de/dcf/binary__exponent_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/de/dcf/binary__exponent_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 6bcf3fd56..000000000 --- a/de/dcf/binary__exponent_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/de/dcf/binary__exponent_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/de/dcf/binary__exponent_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index 85c6bf31b..000000000 --- a/de/dcf/binary__exponent_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -b35095ec3eb1d71b6f0a99c49cdd27be \ No newline at end of file diff --git a/de/dcf/binary__exponent_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/de/dcf/binary__exponent_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 373ea8d9c..000000000 --- a/de/dcf/binary__exponent_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,92 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -binExpo - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node1->Node3 - - - - - - - - -Node2->Node2 - - - - - - - - - - - - - diff --git a/de/dcf/binary__exponent_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/de/dcf/binary__exponent_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 8b9aadcaa..000000000 --- a/de/dcf/binary__exponent_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -binExpo - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node1->Node3 - - - - - - - - -Node2->Node2 - - - - - - - - diff --git a/de/dcf/binary__exponent_8cpp_aeb48dce0725e63d19147944f41843c73_cgraph.map b/de/dcf/binary__exponent_8cpp_aeb48dce0725e63d19147944f41843c73_cgraph.map deleted file mode 100644 index 084405ae5..000000000 --- a/de/dcf/binary__exponent_8cpp_aeb48dce0725e63d19147944f41843c73_cgraph.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/de/dcf/binary__exponent_8cpp_aeb48dce0725e63d19147944f41843c73_cgraph.md5 b/de/dcf/binary__exponent_8cpp_aeb48dce0725e63d19147944f41843c73_cgraph.md5 deleted file mode 100644 index 9435d9535..000000000 --- a/de/dcf/binary__exponent_8cpp_aeb48dce0725e63d19147944f41843c73_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -f26d59230b7e12bd24abc4e72eea9518 \ No newline at end of file diff --git a/de/dcf/binary__exponent_8cpp_aeb48dce0725e63d19147944f41843c73_cgraph.svg b/de/dcf/binary__exponent_8cpp_aeb48dce0725e63d19147944f41843c73_cgraph.svg deleted file mode 100644 index 7b4559ca0..000000000 --- a/de/dcf/binary__exponent_8cpp_aeb48dce0725e63d19147944f41843c73_cgraph.svg +++ /dev/null @@ -1,56 +0,0 @@ - - - - - - - - - - - - -binExpo - - -Node1 - - -binExpo - - - - - -Node1->Node1 - - - - - - - - - - - - - diff --git a/de/dcf/binary__exponent_8cpp_aeb48dce0725e63d19147944f41843c73_cgraph_org.svg b/de/dcf/binary__exponent_8cpp_aeb48dce0725e63d19147944f41843c73_cgraph_org.svg deleted file mode 100644 index 2bc9d392d..000000000 --- a/de/dcf/binary__exponent_8cpp_aeb48dce0725e63d19147944f41843c73_cgraph_org.svg +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - -binExpo - - -Node1 - - -binExpo - - - - - -Node1->Node1 - - - - - - - - diff --git a/de/dcf/binary__exponent_8cpp_source.html b/de/dcf/binary__exponent_8cpp_source.html new file mode 100644 index 000000000..5b920b297 --- /dev/null +++ b/de/dcf/binary__exponent_8cpp_source.html @@ -0,0 +1,186 @@ + + + + + + + + +TheAlgorithms/C++: math/binary_exponent.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    binary_exponent.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    24#include <iostream>
    +
    25
    +
    +
    28int binExpo(int a, int b) {
    +
    29 if (b == 0) {
    +
    30 return 1;
    +
    31 }
    +
    32 int res = binExpo(a, b / 2);
    +
    33 if (b % 2) {
    +
    34 return res * res * a;
    +
    35 } else {
    +
    36 return res * res;
    +
    37 }
    +
    38}
    +
    +
    39
    +
    +
    42int binExpo_alt(int a, int b) {
    +
    43 int res = 1;
    +
    44 while (b > 0) {
    +
    45 if (b % 2) {
    +
    46 res = res * a;
    +
    47 }
    +
    48 a = a * a;
    +
    49 b /= 2;
    +
    50 }
    +
    51 return res;
    +
    52}
    +
    +
    53
    +
    +
    55int main() {
    +
    56 int a, b;
    +
    58 std::cin >> a >> b;
    +
    59 if (a == 0 && b == 0) {
    +
    60 std::cout << "Math error" << std::endl;
    +
    61 } else if (b < 0) {
    +
    62 std::cout << "Exponent must be positive !!" << std::endl;
    +
    63 } else {
    +
    64 int resRecurse = binExpo(a, b);
    +
    66
    +
    68 std::cout << resRecurse << std::endl;
    +
    70 }
    +
    71}
    +
    +
    int binExpo_alt(int a, int b)
    +
    int main()
    Main function.
    +
    int binExpo(int a, int b)
    +
    +
    + + + + diff --git a/de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree.html b/de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree.html index 12584aadc..349418d24 100644 --- a/de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree.html +++ b/de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: operations_on_datastructures::reverse_binary_tree::BinaryTree Class Reference +TheAlgorithms/C++: operations_on_datastructures::reverse_binary_tree::BinaryTree Class Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -134,7 +151,7 @@ Public Member Functions - + @@ -158,13 +175,14 @@ Private Member Functions
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
     
    void reverse ()
     
    std::vector< int64_t > get_level_order ()
    std::vector< int64_t > get_level_order ()
     Level order traversal of a tree consists of visiting its elements, top to bottom, left to right. This function performs level order traversal and returns the node datas as a vector.
     
    void print ()
    - - + +

    Private Attributes

    -Noderoot
     Pointer to root node of Binary Tree.
    Noderoot
     Pointer to root node of Binary Tree.
     

    Detailed Description

    A Binary Tree class that implements a Binary Search Tree (BST) by default.

    + +

    Definition at line 52 of file reverse_binary_tree.cpp.

    Constructor & Destructor Documentation

    ◆ BinaryTree() [1/2]

    @@ -190,8 +208,10 @@ Private Attributes

    Creates a BinaryTree with a root pointing to NULL.

    + +

    Definition at line 101 of file reverse_binary_tree.cpp.

    101{ root = nullptr; }
    -
    Node * root
    Pointer to root node of Binary Tree.
    Definition reverse_binary_tree.cpp:54
    +
    @@ -219,9 +239,11 @@ Private Attributes

    Creates a BinaryTree with a root with an initial value.

    + +

    Definition at line 105 of file reverse_binary_tree.cpp.

    105{ root = new Node(data); }
    -
    int data[MAX]
    test data
    Definition hash_search.cpp:24
    -
    Definition linkedlist_implentation_usingarray.cpp:14
    +
    int data[MAX]
    test data
    +
    @@ -247,24 +269,21 @@ Private Attributes
    + +

    Definition at line 107 of file reverse_binary_tree.cpp.

    107 {
    -
    108 std::vector<Node*> nodes;
    -
    109 nodes.emplace_back(root);
    -
    110 while (!nodes.empty()) {
    -
    111 const auto cur_node = nodes.back();
    -
    112 nodes.pop_back();
    +
    108 std::vector<Node*> nodes;
    +
    109 nodes.emplace_back(root);
    +
    110 while (!nodes.empty()) {
    +
    111 const auto cur_node = nodes.back();
    +
    112 nodes.pop_back();
    113 if (cur_node) {
    -
    114 nodes.emplace_back(cur_node->left);
    -
    115 nodes.emplace_back(cur_node->right);
    +
    114 nodes.emplace_back(cur_node->left);
    +
    115 nodes.emplace_back(cur_node->right);
    116 delete cur_node;
    117 }
    118 }
    119 }
    -
    T back(T... args)
    -
    T emplace_back(T... args)
    -
    T empty(T... args)
    -
    T pop_back(T... args)
    -
    @@ -293,14 +312,11 @@ Private Attributes

    Adds a new Node to the Binary Tree.

    -
    124{ root = insert(data, root); }
    -
    Node * insert(int64_t data, Node *pivot)
    inserts a node in the Binary Tree, with the behaviouur of a Binary Search Tree.
    Definition reverse_binary_tree.cpp:65
    -
    -Here is the call graph for this function:
    -
    -
    -
    +

    Definition at line 124 of file reverse_binary_tree.cpp.

    +
    124{ root = insert(data, root); }
    +
    Node * insert(int64_t data, Node *pivot)
    inserts a node in the Binary Tree, with the behaviouur of a Binary Search Tree.
    +
    @@ -313,7 +329,7 @@ Here is the call graph for this function: - + @@ -338,36 +354,29 @@ Here is the call graph for this function:

    < Insert left node

    < Insert right node

    Add nodes while Tree is not empty

    + +

    Definition at line 139 of file reverse_binary_tree.cpp.

    139 {
    -
    140 std::vector<int64_t> data; ///< Result vector of int
    +
    140 std::vector<int64_t> data;
    141 if (root == nullptr) {
    -
    142 return data; ///< Return empty vector if root is Invalid
    +
    142 return data;
    143 }
    -
    144 std::queue<Node*> nodes; ///< Queue of the nodes in the tree
    -
    145 nodes.push(root); ///< Insert root into the queue
    -
    146 while (!nodes.empty()) {
    -
    147 Node* temp = nodes.front(); ///< Copy the first element
    -
    148 data.push_back(temp->data); ///< Add the element to the data
    -
    149 nodes.pop(); ///< Remove element
    +
    144 std::queue<Node*> nodes;
    +
    145 nodes.push(root);
    +
    146 while (!nodes.empty()) {
    +
    147 Node* temp = nodes.front();
    +
    148 data.push_back(temp->data);
    +
    149 nodes.pop();
    150 if (temp->left != nullptr) {
    -
    151 nodes.push(temp->left); ///< Insert left node
    +
    151 nodes.push(temp->left);
    152 }
    153 if (temp->right != nullptr) {
    -
    154 nodes.push(temp->right); ///< Insert right node
    +
    154 nodes.push(temp->right);
    155 }
    -
    156 } /// Add nodes while Tree is not empty
    +
    156 }
    157 return data;
    158 }
    -
    T front(T... args)
    -
    T pop(T... args)
    -
    T push(T... args)
    - -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -409,25 +418,22 @@ Here is the call graph for this function:

    < Create new node

    < Insert Node to the left

    < Insert node to the right

    + +

    Definition at line 65 of file reverse_binary_tree.cpp.

    65 {
    66 if (pivot == nullptr) {
    -
    67 return new Node(data); ///< Create new node
    +
    67 return new Node(data);
    68 }
    70 pivot->left =
    -
    71 insert(data, pivot->left); ///< Insert Node to the left
    +
    71 insert(data, pivot->left);
    72 } else {
    73 pivot->right =
    -
    74 insert(data, pivot->right); ///< Insert node to the right
    +
    74 insert(data, pivot->right);
    75 }
    76 return pivot;
    77 }
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -457,20 +463,16 @@ Here is the call graph for this function:
    Returns
    void

    Print each element in the tree

    Print newline

    + +

    Definition at line 164 of file reverse_binary_tree.cpp.

    164 {
    165 for (int i : get_level_order()) {
    -
    166 std::cout << i << " "; /// Print each element in the tree
    +
    166 std::cout << i << " ";
    167 }
    -
    168 std::cout << "\n"; /// Print newline
    +
    168 std::cout << "\n";
    169 }
    - -
    std::vector< int64_t > get_level_order()
    Level order traversal of a tree consists of visiting its elements, top to bottom, left to right....
    Definition reverse_binary_tree.cpp:139
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    std::vector< int64_t > get_level_order()
    Level order traversal of a tree consists of visiting its elements, top to bottom, left to right....
    + @@ -496,14 +498,11 @@ Here is the call graph for this function:
    std::vector< int64_t > operations_on_datastructures::reverse_binary_tree::BinaryTree::get_level_order std::vector< int64_t > operations_on_datastructures::reverse_binary_tree::BinaryTree::get_level_order ( )

    Reverses the Binary Tree

    -
    -
    Node * reverseBinaryTree(Node *pivot)
    Reverses a Binary Tree recursively by swapping the left and right subtrees and their children.
    Definition reverse_binary_tree.cpp:84
    -
    -Here is the call graph for this function:
    -
    -
    -
    +

    Definition at line 128 of file reverse_binary_tree.cpp.

    +
    +
    Node * reverseBinaryTree(Node *pivot)
    Reverses a Binary Tree recursively by swapping the left and right subtrees and their children.
    +
    @@ -541,25 +540,49 @@ Here is the call graph for this function:

    < pointer to the left subtree

    < Swap

    < Swap

    + +

    Definition at line 84 of file reverse_binary_tree.cpp.

    84 {
    85 if (pivot == nullptr) {
    -
    86 return pivot; ///< Base case
    +
    86 return pivot;
    87 }
    -
    88 Node* temp = pivot->left; ///< pointer to the left subtree
    -
    89 pivot->left = reverseBinaryTree(pivot->right); ///< Swap
    -
    90 pivot->right = reverseBinaryTree(temp); ///< Swap
    +
    88 Node* temp = pivot->left;
    +
    89 pivot->left = reverseBinaryTree(pivot->right);
    +
    90 pivot->right = reverseBinaryTree(temp);
    91 return pivot;
    92 }
    -
    -Here is the call graph for this function:
    -
    -
    +
    + +

    Member Data Documentation

    + +

    ◆ root

    + +
    +
    + + + + + +
    + + + + +
    Node* operations_on_datastructures::reverse_binary_tree::BinaryTree::root
    +
    +private
    +
    + +

    Pointer to root node of Binary Tree.

    + +

    Definition at line 54 of file reverse_binary_tree.cpp.


    The documentation for this class was generated from the following file: diff --git a/de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree_a1c0d27198372b36ef71bc58af8336b9c_cgraph.map b/de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree_a1c0d27198372b36ef71bc58af8336b9c_cgraph.map deleted file mode 100644 index cdf4ab519..000000000 --- a/de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree_a1c0d27198372b36ef71bc58af8336b9c_cgraph.map +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree_a1c0d27198372b36ef71bc58af8336b9c_cgraph.md5 b/de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree_a1c0d27198372b36ef71bc58af8336b9c_cgraph.md5 deleted file mode 100644 index 19103ff81..000000000 --- a/de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree_a1c0d27198372b36ef71bc58af8336b9c_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -9495f5f557a90a421834611c8b85b6b1 \ No newline at end of file diff --git a/de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree_a1c0d27198372b36ef71bc58af8336b9c_cgraph.svg b/de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree_a1c0d27198372b36ef71bc58af8336b9c_cgraph.svg deleted file mode 100644 index 616576617..000000000 --- a/de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree_a1c0d27198372b36ef71bc58af8336b9c_cgraph.svg +++ /dev/null @@ -1,78 +0,0 @@ - - - - - - - - - - - - -operations_on_datastructures::reverse_binary_tree::BinaryTree::reverse - - -Node1 - - -operations_on_datastructures -::reverse_binary_tree::BinaryTree -::reverse - - - - - -Node2 - - -operations_on_datastructures -::reverse_binary_tree::BinaryTree -::reverseBinaryTree - - - - - -Node1->Node2 - - - - - - - - -Node2->Node2 - - - - - - - - - - - - - diff --git a/de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree_a1c0d27198372b36ef71bc58af8336b9c_cgraph_org.svg b/de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree_a1c0d27198372b36ef71bc58af8336b9c_cgraph_org.svg deleted file mode 100644 index 0ef2027b0..000000000 --- a/de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree_a1c0d27198372b36ef71bc58af8336b9c_cgraph_org.svg +++ /dev/null @@ -1,52 +0,0 @@ - - - - - - -operations_on_datastructures::reverse_binary_tree::BinaryTree::reverse - - -Node1 - - -operations_on_datastructures -::reverse_binary_tree::BinaryTree -::reverse - - - - - -Node2 - - -operations_on_datastructures -::reverse_binary_tree::BinaryTree -::reverseBinaryTree - - - - - -Node1->Node2 - - - - - - - - -Node2->Node2 - - - - - - - - diff --git a/de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree_a2e683b271d8d5cd63e0d09cf8aaa325c_cgraph.map b/de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree_a2e683b271d8d5cd63e0d09cf8aaa325c_cgraph.map deleted file mode 100644 index 9f105917c..000000000 --- a/de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree_a2e683b271d8d5cd63e0d09cf8aaa325c_cgraph.map +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree_a2e683b271d8d5cd63e0d09cf8aaa325c_cgraph.md5 b/de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree_a2e683b271d8d5cd63e0d09cf8aaa325c_cgraph.md5 deleted file mode 100644 index 43db57e99..000000000 --- a/de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree_a2e683b271d8d5cd63e0d09cf8aaa325c_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -0923bb670b528d692e55d871fdd65a65 \ No newline at end of file diff --git a/de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree_a2e683b271d8d5cd63e0d09cf8aaa325c_cgraph.svg b/de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree_a2e683b271d8d5cd63e0d09cf8aaa325c_cgraph.svg deleted file mode 100644 index a5deff060..000000000 --- a/de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree_a2e683b271d8d5cd63e0d09cf8aaa325c_cgraph.svg +++ /dev/null @@ -1,121 +0,0 @@ - - - - - - - - - - - - -operations_on_datastructures::reverse_binary_tree::BinaryTree::get_level_order - - -Node1 - - -operations_on_datastructures -::reverse_binary_tree::BinaryTree -::get_level_order - - - - - -Node2 - - -std::queue::empty - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::queue::front - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::queue::pop - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::queue::push - - - - - -Node1->Node5 - - - - - - - - - - - - - diff --git a/de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree_a2e683b271d8d5cd63e0d09cf8aaa325c_cgraph_org.svg b/de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree_a2e683b271d8d5cd63e0d09cf8aaa325c_cgraph_org.svg deleted file mode 100644 index 9a030dfda..000000000 --- a/de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree_a2e683b271d8d5cd63e0d09cf8aaa325c_cgraph_org.svg +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - -operations_on_datastructures::reverse_binary_tree::BinaryTree::get_level_order - - -Node1 - - -operations_on_datastructures -::reverse_binary_tree::BinaryTree -::get_level_order - - - - - -Node2 - - -std::queue::empty - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::queue::front - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::queue::pop - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::queue::push - - - - - -Node1->Node5 - - - - - - - - diff --git a/de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree_a534645d1aabdf1a7e5897c85376f173d_cgraph.map b/de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree_a534645d1aabdf1a7e5897c85376f173d_cgraph.map deleted file mode 100644 index 26150280d..000000000 --- a/de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree_a534645d1aabdf1a7e5897c85376f173d_cgraph.map +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree_a534645d1aabdf1a7e5897c85376f173d_cgraph.md5 b/de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree_a534645d1aabdf1a7e5897c85376f173d_cgraph.md5 deleted file mode 100644 index 2c160db46..000000000 --- a/de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree_a534645d1aabdf1a7e5897c85376f173d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -8719d3db9afc82bc54b1250c50b4d287 \ No newline at end of file diff --git a/de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree_a534645d1aabdf1a7e5897c85376f173d_cgraph.svg b/de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree_a534645d1aabdf1a7e5897c85376f173d_cgraph.svg deleted file mode 100644 index 07420b0d5..000000000 --- a/de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree_a534645d1aabdf1a7e5897c85376f173d_cgraph.svg +++ /dev/null @@ -1,77 +0,0 @@ - - - - - - - - - - - - -operations_on_datastructures::reverse_binary_tree::BinaryTree::add - - -Node1 - - -operations_on_datastructures -::reverse_binary_tree::BinaryTree::add - - - - - -Node2 - - -operations_on_datastructures -::reverse_binary_tree::BinaryTree -::insert - - - - - -Node1->Node2 - - - - - - - - -Node2->Node2 - - - - - - - - - - - - - diff --git a/de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree_a534645d1aabdf1a7e5897c85376f173d_cgraph_org.svg b/de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree_a534645d1aabdf1a7e5897c85376f173d_cgraph_org.svg deleted file mode 100644 index 494ec9088..000000000 --- a/de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree_a534645d1aabdf1a7e5897c85376f173d_cgraph_org.svg +++ /dev/null @@ -1,51 +0,0 @@ - - - - - - -operations_on_datastructures::reverse_binary_tree::BinaryTree::add - - -Node1 - - -operations_on_datastructures -::reverse_binary_tree::BinaryTree::add - - - - - -Node2 - - -operations_on_datastructures -::reverse_binary_tree::BinaryTree -::insert - - - - - -Node1->Node2 - - - - - - - - -Node2->Node2 - - - - - - - - diff --git a/de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree_a5cf972a2c994a4fa1a89fc77bd5ad503_cgraph.map b/de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree_a5cf972a2c994a4fa1a89fc77bd5ad503_cgraph.map deleted file mode 100644 index 59e77ede2..000000000 --- a/de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree_a5cf972a2c994a4fa1a89fc77bd5ad503_cgraph.map +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - diff --git a/de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree_a5cf972a2c994a4fa1a89fc77bd5ad503_cgraph.md5 b/de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree_a5cf972a2c994a4fa1a89fc77bd5ad503_cgraph.md5 deleted file mode 100644 index 193c5e043..000000000 --- a/de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree_a5cf972a2c994a4fa1a89fc77bd5ad503_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -f6756fb15d3ee26570b025531ed58028 \ No newline at end of file diff --git a/de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree_a5cf972a2c994a4fa1a89fc77bd5ad503_cgraph.svg b/de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree_a5cf972a2c994a4fa1a89fc77bd5ad503_cgraph.svg deleted file mode 100644 index 821ef8266..000000000 --- a/de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree_a5cf972a2c994a4fa1a89fc77bd5ad503_cgraph.svg +++ /dev/null @@ -1,197 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -operations_on_datastructures::reverse_binary_tree::BinaryTree::print - - -Node1 - - -operations_on_datastructures -::reverse_binary_tree::BinaryTree::print - - - - - -Node2 - - -operations_on_datastructures -::reverse_binary_tree::BinaryTree -::get_level_order - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::queue::empty - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::queue::front - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -std::queue::pop - - - - - -Node2->Node5 - - - - - - - - -Node6 - - -std::queue::push - - - - - -Node2->Node6 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree_a5cf972a2c994a4fa1a89fc77bd5ad503_cgraph_org.svg b/de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree_a5cf972a2c994a4fa1a89fc77bd5ad503_cgraph_org.svg deleted file mode 100644 index 0c24dffc3..000000000 --- a/de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree_a5cf972a2c994a4fa1a89fc77bd5ad503_cgraph_org.svg +++ /dev/null @@ -1,114 +0,0 @@ - - - - - - -operations_on_datastructures::reverse_binary_tree::BinaryTree::print - - -Node1 - - -operations_on_datastructures -::reverse_binary_tree::BinaryTree::print - - - - - -Node2 - - -operations_on_datastructures -::reverse_binary_tree::BinaryTree -::get_level_order - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::queue::empty - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::queue::front - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -std::queue::pop - - - - - -Node2->Node5 - - - - - - - - -Node6 - - -std::queue::push - - - - - -Node2->Node6 - - - - - - - - diff --git a/de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree_adb2b6be741b0500ee75d89b6d06b5d50_cgraph.map b/de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree_adb2b6be741b0500ee75d89b6d06b5d50_cgraph.map deleted file mode 100644 index b352fda4a..000000000 --- a/de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree_adb2b6be741b0500ee75d89b6d06b5d50_cgraph.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree_adb2b6be741b0500ee75d89b6d06b5d50_cgraph.md5 b/de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree_adb2b6be741b0500ee75d89b6d06b5d50_cgraph.md5 deleted file mode 100644 index 7c596423a..000000000 --- a/de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree_adb2b6be741b0500ee75d89b6d06b5d50_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -3e60c7ea6430c0e03aabae539b90ff4d \ No newline at end of file diff --git a/de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree_adb2b6be741b0500ee75d89b6d06b5d50_cgraph.svg b/de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree_adb2b6be741b0500ee75d89b6d06b5d50_cgraph.svg deleted file mode 100644 index 0b74275af..000000000 --- a/de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree_adb2b6be741b0500ee75d89b6d06b5d50_cgraph.svg +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - - - - - - - -operations_on_datastructures::reverse_binary_tree::BinaryTree::insert - - -Node1 - - -operations_on_datastructures -::reverse_binary_tree::BinaryTree -::insert - - - - - -Node1->Node1 - - - - - - - - - - - - - diff --git a/de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree_adb2b6be741b0500ee75d89b6d06b5d50_cgraph_org.svg b/de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree_adb2b6be741b0500ee75d89b6d06b5d50_cgraph_org.svg deleted file mode 100644 index 49aa94406..000000000 --- a/de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree_adb2b6be741b0500ee75d89b6d06b5d50_cgraph_org.svg +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - -operations_on_datastructures::reverse_binary_tree::BinaryTree::insert - - -Node1 - - -operations_on_datastructures -::reverse_binary_tree::BinaryTree -::insert - - - - - -Node1->Node1 - - - - - - - - diff --git a/de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree_af6f974381f523fdb981fc2d843bbf4a1_cgraph.map b/de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree_af6f974381f523fdb981fc2d843bbf4a1_cgraph.map deleted file mode 100644 index fd792dd27..000000000 --- a/de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree_af6f974381f523fdb981fc2d843bbf4a1_cgraph.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree_af6f974381f523fdb981fc2d843bbf4a1_cgraph.md5 b/de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree_af6f974381f523fdb981fc2d843bbf4a1_cgraph.md5 deleted file mode 100644 index 589cfc404..000000000 --- a/de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree_af6f974381f523fdb981fc2d843bbf4a1_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -6295acb9259ac8d68cd5e1247cb87801 \ No newline at end of file diff --git a/de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree_af6f974381f523fdb981fc2d843bbf4a1_cgraph.svg b/de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree_af6f974381f523fdb981fc2d843bbf4a1_cgraph.svg deleted file mode 100644 index 2270acc6c..000000000 --- a/de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree_af6f974381f523fdb981fc2d843bbf4a1_cgraph.svg +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - - - - - - - -operations_on_datastructures::reverse_binary_tree::BinaryTree::reverseBinaryTree - - -Node1 - - -operations_on_datastructures -::reverse_binary_tree::BinaryTree -::reverseBinaryTree - - - - - -Node1->Node1 - - - - - - - - - - - - - diff --git a/de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree_af6f974381f523fdb981fc2d843bbf4a1_cgraph_org.svg b/de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree_af6f974381f523fdb981fc2d843bbf4a1_cgraph_org.svg deleted file mode 100644 index 791a532e8..000000000 --- a/de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree_af6f974381f523fdb981fc2d843bbf4a1_cgraph_org.svg +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - -operations_on_datastructures::reverse_binary_tree::BinaryTree::reverseBinaryTree - - -Node1 - - -operations_on_datastructures -::reverse_binary_tree::BinaryTree -::reverseBinaryTree - - - - - -Node1->Node1 - - - - - - - - diff --git a/de/dd1/segment__tree_8cpp.html b/de/dd1/segment__tree_8cpp.html index 7ce463ff1..e81494b09 100644 --- a/de/dd1/segment__tree_8cpp.html +++ b/de/dd1/segment__tree_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: data_structures/segment_tree.cpp File Reference +TheAlgorithms/C++: data_structures/segment_tree.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -123,7 +140,9 @@ Include dependency graph for segment_tree.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -150,6 +169,8 @@ Functions

    Implementation of the segment tree data structre

    Can do point updates (updates the value of some position) and range queries, where it gives the value of some associative opperation done on a range

    Both of these operations take O(log N) time

    Author
    Nishant Chatterjee
    + +

    Definition in file segment_tree.cpp.

    Function Documentation

    ◆ main()

    @@ -168,17 +189,14 @@ Functions

    Main function.

    Returns
    0 on exit
    + +

    Definition at line 130 of file segment_tree.cpp.

    130 {
    131 test(); // run self-test implementations
    132 return 0;
    133}
    -
    static void test()
    Self-test implementations.
    Definition segment_tree.cpp:112
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static void test()
    Self-test implementations.
    + @@ -206,6 +224,8 @@ Here is the call graph for this function:

    Self-test implementations.

    Returns
    void
    + +

    Definition at line 112 of file segment_tree.cpp.

    112 {
    114 t.update(1, 1);
    @@ -217,16 +237,10 @@ Here is the call graph for this function:
    120 t.update(1, 3);
    121 assert(t.range_comb(1, 3) == 8); // 3 + 2 + 3 = 8
    122
    -
    123 std::cout << "All tests have successfully passed!\n";
    +
    123 std::cout << "All tests have successfully passed!\n";
    124}
    - -
    class representation of the segment tree
    Definition segment_tree.cpp:30
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    class representation of the segment tree
    + diff --git a/de/dd1/segment__tree_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map b/de/dd1/segment__tree_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map deleted file mode 100644 index 5d821c68d..000000000 --- a/de/dd1/segment__tree_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - - - - - - - - - - diff --git a/de/dd1/segment__tree_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 b/de/dd1/segment__tree_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 deleted file mode 100644 index 99f8db1b2..000000000 --- a/de/dd1/segment__tree_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -bd0ca8c0b2bf80dae13730f091202b5c \ No newline at end of file diff --git a/de/dd1/segment__tree_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg b/de/dd1/segment__tree_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg deleted file mode 100644 index 1ba7590db..000000000 --- a/de/dd1/segment__tree_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg +++ /dev/null @@ -1,195 +0,0 @@ - - - - - - - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -data_structures::Segment -Tree::range_comb - - - - - -Node1->Node2 - - - - - - - - -Node7 - - -data_structures::Segment -Tree::update - - - - - -Node1->Node7 - - - - - - - - -Node2->Node2 - - - - - - - - -Node3 - - -data_structures::Segment -Tree::comb - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::max - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -data_structures::Segment -Tree::mid - - - - - -Node2->Node5 - - - - - - - - -Node6 - - -std::min - - - - - -Node2->Node6 - - - - - - - - -Node7->Node3 - - - - - - - - -Node7->Node5 - - - - - - - - -Node7->Node7 - - - - - - - - - - - - - diff --git a/de/dd1/segment__tree_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg b/de/dd1/segment__tree_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg deleted file mode 100644 index 1dab9a260..000000000 --- a/de/dd1/segment__tree_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg +++ /dev/null @@ -1,169 +0,0 @@ - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -data_structures::Segment -Tree::range_comb - - - - - -Node1->Node2 - - - - - - - - -Node7 - - -data_structures::Segment -Tree::update - - - - - -Node1->Node7 - - - - - - - - -Node2->Node2 - - - - - - - - -Node3 - - -data_structures::Segment -Tree::comb - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::max - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -data_structures::Segment -Tree::mid - - - - - -Node2->Node5 - - - - - - - - -Node6 - - -std::min - - - - - -Node2->Node6 - - - - - - - - -Node7->Node3 - - - - - - - - -Node7->Node5 - - - - - - - - -Node7->Node7 - - - - - - - - diff --git a/de/dd1/segment__tree_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/de/dd1/segment__tree_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index beee70531..000000000 --- a/de/dd1/segment__tree_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - diff --git a/de/dd1/segment__tree_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/de/dd1/segment__tree_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index 294f7e2fc..000000000 --- a/de/dd1/segment__tree_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -c2c0341b375ae00be4c45e39e9c025d5 \ No newline at end of file diff --git a/de/dd1/segment__tree_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/de/dd1/segment__tree_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 012168c8e..000000000 --- a/de/dd1/segment__tree_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,213 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -data_structures::Segment -Tree::range_comb - - - - - -Node2->Node3 - - - - - - - - -Node8 - - -data_structures::Segment -Tree::update - - - - - -Node2->Node8 - - - - - - - - -Node3->Node3 - - - - - - - - -Node4 - - -data_structures::Segment -Tree::comb - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -std::max - - - - - -Node3->Node5 - - - - - - - - -Node6 - - -data_structures::Segment -Tree::mid - - - - - -Node3->Node6 - - - - - - - - -Node7 - - -std::min - - - - - -Node3->Node7 - - - - - - - - -Node8->Node4 - - - - - - - - -Node8->Node6 - - - - - - - - -Node8->Node8 - - - - - - - - - - - - - diff --git a/de/dd1/segment__tree_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/de/dd1/segment__tree_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 31ee8e9c7..000000000 --- a/de/dd1/segment__tree_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,187 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -data_structures::Segment -Tree::range_comb - - - - - -Node2->Node3 - - - - - - - - -Node8 - - -data_structures::Segment -Tree::update - - - - - -Node2->Node8 - - - - - - - - -Node3->Node3 - - - - - - - - -Node4 - - -data_structures::Segment -Tree::comb - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -std::max - - - - - -Node3->Node5 - - - - - - - - -Node6 - - -data_structures::Segment -Tree::mid - - - - - -Node3->Node6 - - - - - - - - -Node7 - - -std::min - - - - - -Node3->Node7 - - - - - - - - -Node8->Node4 - - - - - - - - -Node8->Node6 - - - - - - - - -Node8->Node8 - - - - - - - - diff --git a/de/dd1/segment__tree_8cpp_source.html b/de/dd1/segment__tree_8cpp_source.html new file mode 100644 index 000000000..5cb748ad4 --- /dev/null +++ b/de/dd1/segment__tree_8cpp_source.html @@ -0,0 +1,236 @@ + + + + + + + + +TheAlgorithms/C++: data_structures/segment_tree.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    +

    Classes

    class  data_structures::SegmentTree< T >
    + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + + +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    segment_tree.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    15#include <iostream>
    +
    16#include <vector>
    +
    17#include <algorithm>
    +
    18#include <cassert>
    +
    19
    +
    20/*
    +
    21 * @namespace
    +
    22 * @brief Data structures
    +
    23 */
    +
    24namespace data_structures {
    +
    29template <class T>
    +
    + +
    31private:
    +
    32 const T ID = 0;
    +
    33 std::vector<T> t;
    +
    34 int size = 0;
    +
    35private:
    +
    +
    42 T comb(T x, T y) {
    +
    43 return x + y;
    +
    44 }
    +
    +
    +
    51 int mid(int l, int r) {
    +
    52 return l + (r - l) / 2;
    +
    53 }
    +
    +
    +
    62 void update(int i, int l, int r, int pos, T val) {
    +
    63 if(l == r) t[i] = val;
    +
    64 else {
    +
    65 int m = mid(l, r);
    +
    66 if(pos <= m) update(i * 2, l, m, pos, val);
    +
    67 else update(i * 2 + 1, m + 1, r, pos, val);
    +
    68 t[i] = comb(t[i * 2], t[i * 2 + 1]);
    +
    69 }
    +
    70 }
    +
    +
    +
    80 T range_comb(int i, int l, int r, int tl, int tr) {
    +
    81 if(l == tl && r == tr) return t[i];
    +
    82 if(tl > tr) return 0;
    +
    83 int m = mid(l, r);
    +
    84 return comb(range_comb(i * 2, l, m, tl, std::min(tr, m)), range_comb(i * 2 + 1, m + 1, r, std::max(tl, m + 1), tr));
    +
    85 }
    +
    +
    86public:
    +
    87 SegmentTree(int n) : t(n * 4, ID), size(n) {}
    +
    +
    93 void update(int pos, T val) {
    +
    94 update(1, 1, size, pos, val);
    +
    95 }
    +
    +
    +
    102 T range_comb(int l, int r) {
    +
    103 return range_comb(1, 1, size, l, r);
    +
    104 }
    +
    +
    105};
    +
    +
    106} // namespace data_structures
    +
    107
    +
    +
    112static void test() {
    + +
    114 t.update(1, 1);
    +
    115 t.update(2, 2);
    +
    116 t.update(3, 3);
    +
    117 t.update(4, 4);
    +
    118 t.update(5, 5);
    +
    119 assert(t.range_comb(1, 3) == 6); // 1 + 2 + 3 = 6
    +
    120 t.update(1, 3);
    +
    121 assert(t.range_comb(1, 3) == 8); // 3 + 2 + 3 = 8
    +
    122
    +
    123 std::cout << "All tests have successfully passed!\n";
    +
    124}
    +
    +
    125
    +
    +
    130int main() {
    +
    131 test(); // run self-test implementations
    +
    132 return 0;
    +
    133}
    +
    +
    class representation of the segment tree
    +
    const T ID
    Comb(ID, x) = x.
    +
    int size
    Number of elements available for querying in the tree.
    +
    T range_comb(int l, int r)
    Returns comb across all values between l and r.
    +
    void update(int i, int l, int r, int pos, T val)
    Helper method for update method below.
    +
    int mid(int l, int r)
    Gives the midpoint between two integers.
    +
    std::vector< T > t
    Vector to represent the tree.
    +
    T comb(T x, T y)
    Any associative function that combines x and y.
    +
    T range_comb(int i, int l, int r, int tl, int tr)
    Helper method for range_comb method below.
    +
    void update(int pos, T val)
    Updates a value at a certain position.
    +
    for IO operations
    +
    static void test()
    Self-test implementations.
    +
    int main()
    Main function.
    +
    +
    + + + + diff --git a/de/dd3/namespace_s_h_a.html b/de/dd3/namespace_s_h_a.html index 4d8bc0405..39b117d74 100644 --- a/de/dd3/namespace_s_h_a.html +++ b/de/dd3/namespace_s_h_a.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: SHA Namespace Reference +TheAlgorithms/C++: SHA Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/de/dd3/newton__raphson__method_8cpp.html b/de/dd3/newton__raphson__method_8cpp.html index b56bf5d25..a15a4fe9e 100644 --- a/de/dd3/newton__raphson__method_8cpp.html +++ b/de/dd3/newton__raphson__method_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: numerical_methods/newton_raphson_method.cpp File Reference +TheAlgorithms/C++: numerical_methods/newton_raphson_method.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + @@ -123,7 +140,9 @@ Include dependency graph for newton_raphson_method.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -135,13 +154,11 @@ Functions

    Functions

    static double eq (double i)
    - - + + - - + +

    Variables

    -constexpr double EPSILON = 1e-10
     system accuracy limit
    constexpr double EPSILON = 1e-10
     system accuracy limit
     
    -constexpr int16_t MAX_ITERATIONS = INT16_MAX
     Maximum number of iterations.
    constexpr int16_t MAX_ITERATIONS = INT16_MAX
     Maximum number of iterations.
     

    Detailed Description

    @@ -153,6 +170,8 @@ x_{i+1} = x_i - \frac{f(x_i)}{f'(x_i)}

    Author
    Krishna Vedala
    See also
    bisection_method.cpp, false_position.cpp
    + +

    Definition in file newton_raphson_method.cpp.

    Function Documentation

    ◆ eq()

    @@ -181,16 +200,12 @@ x_{i+1} = x_i - \frac{f(x_i)}{f'(x_i)} f(x) = x^3 - 4x - 9 \]

    -
    30 {
    -
    31 return (std::pow(i, 3) - (4 * i) - 9); // original equation
    + +

    Definition at line 30 of file newton_raphson_method.cpp.

    +
    30 {
    +
    31 return (std::pow(i, 3) - (4 * i) - 9); // original equation
    32}
    -
    T pow(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    @@ -220,15 +235,12 @@ Here is the call graph for this function: f'(x) = 3x^2 - 4 \]

    -
    40 {
    -
    41 return ((3 * std::pow(i, 2)) - 4); // derivative of equation
    + +

    Definition at line 40 of file newton_raphson_method.cpp.

    +
    40 {
    +
    41 return ((3 * std::pow(i, 2)) - 4); // derivative of equation
    42}
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    @@ -246,13 +258,15 @@ Here is the call graph for this function:

    Main function

    + +

    Definition at line 45 of file newton_raphson_method.cpp.

    45 {
    -
    46 std::srand(std::time(nullptr)); // initialize randomizer
    +
    46 std::srand(std::time(nullptr)); // initialize randomizer
    47
    -
    48 double z = NAN, c = std::rand() % 100, m = NAN, n = NAN;
    +
    48 double z = NAN, c = std::rand() % 100, m = NAN, n = NAN;
    49 int i = 0;
    50
    -
    51 std::cout << "\nInitial approximation: " << c;
    +
    51 std::cout << "\nInitial approximation: " << c;
    52
    53 // start iterations
    54 for (i = 0; i < MAX_ITERATIONS; i++) {
    @@ -267,23 +281,66 @@ Here is the call graph for this function:
    63 }
    64 }
    65
    -
    66 std::cout << "\n\nRoot: " << z << "\t\tSteps: " << i << std::endl;
    +
    66 std::cout << "\n\nRoot: " << z << "\t\tSteps: " << i << std::endl;
    67 return 0;
    68}
    - -
    T endl(T... args)
    -
    static double eq(double i)
    Definition newton_raphson_method.cpp:30
    -
    static double eq_der(double i)
    Definition newton_raphson_method.cpp:40
    -
    constexpr int16_t MAX_ITERATIONS
    Maximum number of iterations.
    Definition newton_raphson_method.cpp:22
    -
    constexpr double EPSILON
    system accuracy limit
    Definition newton_raphson_method.cpp:21
    -
    T rand(T... args)
    -
    T srand(T... args)
    -
    T time(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    +
    static double eq(double i)
    +
    static double eq_der(double i)
    +
    constexpr int16_t MAX_ITERATIONS
    Maximum number of iterations.
    +
    constexpr double EPSILON
    system accuracy limit
    +
    + +

    Variable Documentation

    + +

    ◆ EPSILON

    + +
    +
    + + + + + +
    + + + + +
    double EPSILON = 1e-10
    +
    +constexpr
    +
    + +

    system accuracy limit

    + +

    Definition at line 21 of file newton_raphson_method.cpp.

    + +
    +
    + +

    ◆ MAX_ITERATIONS

    + +
    +
    + + + + + +
    + + + + +
    int16_t MAX_ITERATIONS = INT16_MAX
    +
    +constexpr
    +
    + +

    Maximum number of iterations.

    + +

    Definition at line 22 of file newton_raphson_method.cpp.

    diff --git a/de/dd3/newton__raphson__method_8cpp_a2003b5b2dcfff0769b957ab5c968b03d_cgraph.map b/de/dd3/newton__raphson__method_8cpp_a2003b5b2dcfff0769b957ab5c968b03d_cgraph.map deleted file mode 100644 index cea381859..000000000 --- a/de/dd3/newton__raphson__method_8cpp_a2003b5b2dcfff0769b957ab5c968b03d_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/de/dd3/newton__raphson__method_8cpp_a2003b5b2dcfff0769b957ab5c968b03d_cgraph.md5 b/de/dd3/newton__raphson__method_8cpp_a2003b5b2dcfff0769b957ab5c968b03d_cgraph.md5 deleted file mode 100644 index 322f63d1e..000000000 --- a/de/dd3/newton__raphson__method_8cpp_a2003b5b2dcfff0769b957ab5c968b03d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -4354e7c666481f9ddcf69bc9fb092577 \ No newline at end of file diff --git a/de/dd3/newton__raphson__method_8cpp_a2003b5b2dcfff0769b957ab5c968b03d_cgraph.svg b/de/dd3/newton__raphson__method_8cpp_a2003b5b2dcfff0769b957ab5c968b03d_cgraph.svg deleted file mode 100644 index acc81ae0a..000000000 --- a/de/dd3/newton__raphson__method_8cpp_a2003b5b2dcfff0769b957ab5c968b03d_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -eq - - -Node1 - - -eq - - - - - -Node2 - - -std::pow - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/de/dd3/newton__raphson__method_8cpp_a2003b5b2dcfff0769b957ab5c968b03d_cgraph_org.svg b/de/dd3/newton__raphson__method_8cpp_a2003b5b2dcfff0769b957ab5c968b03d_cgraph_org.svg deleted file mode 100644 index 573541779..000000000 --- a/de/dd3/newton__raphson__method_8cpp_a2003b5b2dcfff0769b957ab5c968b03d_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -eq - - -Node1 - - -eq - - - - - -Node2 - - -std::pow - - - - - -Node1->Node2 - - - - - - - - diff --git a/de/dd3/newton__raphson__method_8cpp_a3d3f7f41977394680af6ebbed96f3386_cgraph.map b/de/dd3/newton__raphson__method_8cpp_a3d3f7f41977394680af6ebbed96f3386_cgraph.map deleted file mode 100644 index 9d6c4f9e9..000000000 --- a/de/dd3/newton__raphson__method_8cpp_a3d3f7f41977394680af6ebbed96f3386_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/de/dd3/newton__raphson__method_8cpp_a3d3f7f41977394680af6ebbed96f3386_cgraph.md5 b/de/dd3/newton__raphson__method_8cpp_a3d3f7f41977394680af6ebbed96f3386_cgraph.md5 deleted file mode 100644 index 6f66139b4..000000000 --- a/de/dd3/newton__raphson__method_8cpp_a3d3f7f41977394680af6ebbed96f3386_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -b198f600cad58969f3c7bbaa13ba1bf4 \ No newline at end of file diff --git a/de/dd3/newton__raphson__method_8cpp_a3d3f7f41977394680af6ebbed96f3386_cgraph.svg b/de/dd3/newton__raphson__method_8cpp_a3d3f7f41977394680af6ebbed96f3386_cgraph.svg deleted file mode 100644 index 82354a649..000000000 --- a/de/dd3/newton__raphson__method_8cpp_a3d3f7f41977394680af6ebbed96f3386_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -eq_der - - -Node1 - - -eq_der - - - - - -Node2 - - -std::pow - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/de/dd3/newton__raphson__method_8cpp_a3d3f7f41977394680af6ebbed96f3386_cgraph_org.svg b/de/dd3/newton__raphson__method_8cpp_a3d3f7f41977394680af6ebbed96f3386_cgraph_org.svg deleted file mode 100644 index 018b662c1..000000000 --- a/de/dd3/newton__raphson__method_8cpp_a3d3f7f41977394680af6ebbed96f3386_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -eq_der - - -Node1 - - -eq_der - - - - - -Node2 - - -std::pow - - - - - -Node1->Node2 - - - - - - - - diff --git a/de/dd3/newton__raphson__method_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/de/dd3/newton__raphson__method_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 2d116bd1a..000000000 --- a/de/dd3/newton__raphson__method_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - - - - - - - - - - diff --git a/de/dd3/newton__raphson__method_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/de/dd3/newton__raphson__method_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index 4276441d3..000000000 --- a/de/dd3/newton__raphson__method_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -3d0f9299182f2af889a400689d9ed933 \ No newline at end of file diff --git a/de/dd3/newton__raphson__method_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/de/dd3/newton__raphson__method_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 46845c838..000000000 --- a/de/dd3/newton__raphson__method_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,182 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -eq - - - - - -Node1->Node3 - - - - - - - - -Node5 - - -eq_der - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -std::rand - - - - - -Node1->Node6 - - - - - - - - -Node7 - - -std::srand - - - - - -Node1->Node7 - - - - - - - - -Node8 - - -std::time - - - - - -Node1->Node8 - - - - - - - - -Node4 - - -std::pow - - - - - -Node3->Node4 - - - - - - - - -Node5->Node4 - - - - - - - - - - - - - diff --git a/de/dd3/newton__raphson__method_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/de/dd3/newton__raphson__method_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 99e18c459..000000000 --- a/de/dd3/newton__raphson__method_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,156 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -eq - - - - - -Node1->Node3 - - - - - - - - -Node5 - - -eq_der - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -std::rand - - - - - -Node1->Node6 - - - - - - - - -Node7 - - -std::srand - - - - - -Node1->Node7 - - - - - - - - -Node8 - - -std::time - - - - - -Node1->Node8 - - - - - - - - -Node4 - - -std::pow - - - - - -Node3->Node4 - - - - - - - - -Node5->Node4 - - - - - - - - diff --git a/de/dd3/newton__raphson__method_8cpp_source.html b/de/dd3/newton__raphson__method_8cpp_source.html new file mode 100644 index 000000000..215ad1c5e --- /dev/null +++ b/de/dd3/newton__raphson__method_8cpp_source.html @@ -0,0 +1,190 @@ + + + + + + + + +TheAlgorithms/C++: numerical_methods/newton_raphson_method.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    newton_raphson_method.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    15#include <cmath>
    +
    16#include <cstdint>
    +
    17#include <ctime>
    +
    18#include <iostream>
    +
    19#include <limits>
    +
    20
    +
    21constexpr double EPSILON = 1e-10;
    +
    22constexpr int16_t MAX_ITERATIONS = INT16_MAX;
    +
    23
    +
    +
    30static double eq(double i) {
    +
    31 return (std::pow(i, 3) - (4 * i) - 9); // original equation
    +
    32}
    +
    +
    33
    +
    +
    40static double eq_der(double i) {
    +
    41 return ((3 * std::pow(i, 2)) - 4); // derivative of equation
    +
    42}
    +
    +
    43
    +
    +
    45int main() {
    +
    46 std::srand(std::time(nullptr)); // initialize randomizer
    +
    47
    +
    48 double z = NAN, c = std::rand() % 100, m = NAN, n = NAN;
    +
    49 int i = 0;
    +
    50
    +
    51 std::cout << "\nInitial approximation: " << c;
    +
    52
    +
    53 // start iterations
    +
    54 for (i = 0; i < MAX_ITERATIONS; i++) {
    +
    55 m = eq(c);
    +
    56 n = eq_der(c);
    +
    57
    +
    58 z = c - (m / n);
    +
    59 c = z;
    +
    60
    +
    61 if (std::abs(m) < EPSILON) { // stoping criteria
    +
    62 break;
    +
    63 }
    +
    64 }
    +
    65
    +
    66 std::cout << "\n\nRoot: " << z << "\t\tSteps: " << i << std::endl;
    +
    67 return 0;
    +
    68}
    +
    +
    static double eq(double i)
    +
    static double eq_der(double i)
    +
    constexpr int16_t MAX_ITERATIONS
    Maximum number of iterations.
    +
    constexpr double EPSILON
    system accuracy limit
    + +
    +
    + + + + diff --git a/de/dd9/catalan__numbers_8cpp.html b/de/dd9/catalan__numbers_8cpp.html index ad123ea79..b5c2e3dd4 100644 --- a/de/dd9/catalan__numbers_8cpp.html +++ b/de/dd9/catalan__numbers_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: dynamic_programming/catalan_numbers.cpp File Reference +TheAlgorithms/C++: dynamic_programming/catalan_numbers.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -124,7 +141,9 @@ Include dependency graph for catalan_numbers.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -142,6 +161,8 @@ Functions

    Classes

    class  catalan_numbers

    Detailed Description

    Provides utilities to compute Catalan numbers using dynamic programming. A Catalan numbers satisfy these recurrence relations: C(0) = C(1) = 1; C(n) = sum(C(i).C(n-i-1)), for i = 0 to n-1 Read more about Catalan numbers here: https://en.wikipedia.org/wiki/Catalan_number https://oeis.org/A000108/.

    + +

    Definition in file catalan_numbers.cpp.

    Function Documentation

    ◆ main()

    @@ -157,6 +178,8 @@ Functions
    + +

    Definition at line 79 of file catalan_numbers.cpp.

    79 {
    80 test_catalan_numbers_up_to_20();
    81 test_catalan_numbers_25();
    @@ -178,13 +201,15 @@ Functions
    + +

    Definition at line 73 of file catalan_numbers.cpp.

    73 {
    74 // data verified with https://oeis.org/A000108/
    76 assert(cn.get(25) == 4861946401452ULL);
    77}
    -
    computes and caches Catalan numbers
    Definition catalan_numbers.cpp:22
    -
    value_type get(std::size_t n)
    computes the n-th Catalan number and updates the cache.
    Definition catalan_numbers.cpp:39
    +
    computes and caches Catalan numbers
    +
    value_type get(std::size_t n)
    computes the n-th Catalan number and updates the cache.
    @@ -202,6 +227,8 @@ Functions
    + +

    Definition at line 47 of file catalan_numbers.cpp.

    47 {
    48 // data verified with https://oeis.org/A000108/
    diff --git a/de/dd9/catalan__numbers_8cpp_source.html b/de/dd9/catalan__numbers_8cpp_source.html new file mode 100644 index 000000000..e54bcc43d --- /dev/null +++ b/de/dd9/catalan__numbers_8cpp_source.html @@ -0,0 +1,209 @@ + + + + + + + + +TheAlgorithms/C++: dynamic_programming/catalan_numbers.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    catalan_numbers.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    12#include <cassert>
    +
    13#include <cstdint>
    +
    14#include <cstdlib>
    +
    15#include <functional>
    +
    16#include <numeric>
    +
    17#include <vector>
    +
    18
    +
    + +
    23 using value_type = std::uint64_t;
    +
    24 std::vector<value_type> known{1, 1};
    +
    25
    +
    26 value_type compute_next() {
    +
    27 return std::transform_reduce(known.begin(), known.end(), known.rbegin(),
    +
    28 static_cast<value_type>(0), std::plus<>(),
    +
    29 std::multiplies<>());
    +
    30 }
    +
    31
    +
    32 void add() { known.push_back(this->compute_next()); }
    +
    33
    +
    34 public:
    +
    +
    39 value_type get(std::size_t n) {
    +
    40 while (known.size() <= n) {
    +
    41 this->add();
    +
    42 }
    +
    43 return known[n];
    +
    44 }
    +
    +
    45};
    +
    +
    46
    +
    47void test_catalan_numbers_up_to_20() {
    +
    48 // data verified with https://oeis.org/A000108/
    + +
    50 assert(cn.get(0) == 1ULL);
    +
    51 assert(cn.get(1) == 1ULL);
    +
    52 assert(cn.get(2) == 2ULL);
    +
    53 assert(cn.get(3) == 5ULL);
    +
    54 assert(cn.get(4) == 14ULL);
    +
    55 assert(cn.get(5) == 42ULL);
    +
    56 assert(cn.get(6) == 132ULL);
    +
    57 assert(cn.get(7) == 429ULL);
    +
    58 assert(cn.get(8) == 1430ULL);
    +
    59 assert(cn.get(9) == 4862ULL);
    +
    60 assert(cn.get(10) == 16796ULL);
    +
    61 assert(cn.get(11) == 58786ULL);
    +
    62 assert(cn.get(12) == 208012ULL);
    +
    63 assert(cn.get(13) == 742900ULL);
    +
    64 assert(cn.get(14) == 2674440ULL);
    +
    65 assert(cn.get(15) == 9694845ULL);
    +
    66 assert(cn.get(16) == 35357670ULL);
    +
    67 assert(cn.get(17) == 129644790ULL);
    +
    68 assert(cn.get(18) == 477638700ULL);
    +
    69 assert(cn.get(19) == 1767263190ULL);
    +
    70 assert(cn.get(20) == 6564120420ULL);
    +
    71}
    +
    72
    +
    73void test_catalan_numbers_25() {
    +
    74 // data verified with https://oeis.org/A000108/
    + +
    76 assert(cn.get(25) == 4861946401452ULL);
    +
    77}
    +
    78
    +
    79int main() {
    +
    80 test_catalan_numbers_up_to_20();
    +
    81 test_catalan_numbers_25();
    +
    82}
    +
    computes and caches Catalan numbers
    +
    value_type get(std::size_t n)
    computes the n-th Catalan number and updates the cache.
    +
    int main()
    Main function.
    +
    +
    + + + + diff --git a/de/dde/lowest__common__ancestor_8cpp.html b/de/dde/lowest__common__ancestor_8cpp.html index 5fbbed3a1..bb77497f2 100644 --- a/de/dde/lowest__common__ancestor_8cpp.html +++ b/de/dde/lowest__common__ancestor_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: graph/lowest_common_ancestor.cpp File Reference +TheAlgorithms/C++: graph/lowest_common_ancestor.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -124,7 +141,9 @@ Include dependency graph for lowest_common_ancestor.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -170,6 +189,8 @@ Functions lowest_common_ancestor(0, 0) = 0
    lowest_common_ancestor(8, 2) = 6

    The query is symmetrical, therefore lowest_common_ancestor(x, y) = lowest_common_ancestor(y, x)

    + +

    Definition in file lowest_common_ancestor.cpp.

    Function Documentation

    ◆ main()

    @@ -186,17 +207,14 @@ Functions

    Classes

    class  graph::Graph< T >

    Main function

    + +

    Definition at line 255 of file lowest_common_ancestor.cpp.

    255 {
    256 tests();
    257 return 0;
    258}
    -
    static void tests()
    Definition lowest_common_ancestor.cpp:234
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static void tests()
    +
    @@ -226,17 +244,10 @@ Here is the call graph for this function: / | \ 1 6 4

    / | / \ \ 7 5 2 8 0 | 9

    -
    234 {
    -
    235 /**
    -
    236 * _ 3 _
    -
    237 * / | \
    -
    238 * 1 6 4
    -
    239 * / | / \ \
    -
    240 * 7 5 2 8 0
    -
    241 * |
    -
    242 * 9
    -
    243 */
    - + +

    Definition at line 234 of file lowest_common_ancestor.cpp.

    +
    234 {
    +
    244 std::vector<std::pair<int, int> > edges = {
    245 {7, 1}, {1, 5}, {1, 3}, {3, 6}, {6, 2}, {2, 9}, {6, 8}, {4, 3}, {0, 4}};
    246 graph::RootedTree t(edges, 3);
    @@ -245,15 +256,9 @@ Here is the call graph for this function:
    250 assert(lca.lowest_common_ancestor(0, 0) == 0);
    251 assert(lca.lowest_common_ancestor(8, 2) == 6);
    252}
    -
    Definition lowest_common_ancestor.cpp:145
    -
    Definition lowest_common_ancestor.cpp:84
    - -
    -Here is the call graph for this function:
    -
    -
    -
    - + + + diff --git a/de/dde/lowest__common__ancestor_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.map b/de/dde/lowest__common__ancestor_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.map deleted file mode 100644 index 535878154..000000000 --- a/de/dde/lowest__common__ancestor_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/de/dde/lowest__common__ancestor_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 b/de/dde/lowest__common__ancestor_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 deleted file mode 100644 index 7d533deea..000000000 --- a/de/dde/lowest__common__ancestor_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -54b78b38bedf9e4d3eb0676d2d943b9a \ No newline at end of file diff --git a/de/dde/lowest__common__ancestor_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.svg b/de/dde/lowest__common__ancestor_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.svg deleted file mode 100644 index 22bad3daf..000000000 --- a/de/dde/lowest__common__ancestor_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.svg +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - - - - - -tests - - -Node1 - - -tests - - - - - -Node2 - - -graph::LowestCommonAncestor -::lowest_common_ancestor - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::swap - - - - - -Node2->Node3 - - - - - - - - - - - - - diff --git a/de/dde/lowest__common__ancestor_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph_org.svg b/de/dde/lowest__common__ancestor_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph_org.svg deleted file mode 100644 index 420707dbb..000000000 --- a/de/dde/lowest__common__ancestor_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph_org.svg +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - -tests - - -Node1 - - -tests - - - - - -Node2 - - -graph::LowestCommonAncestor -::lowest_common_ancestor - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::swap - - - - - -Node2->Node3 - - - - - - - - diff --git a/de/dde/lowest__common__ancestor_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/de/dde/lowest__common__ancestor_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 96040ef86..000000000 --- a/de/dde/lowest__common__ancestor_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/de/dde/lowest__common__ancestor_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/de/dde/lowest__common__ancestor_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index e33b2fb77..000000000 --- a/de/dde/lowest__common__ancestor_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -a3ba2d80c6c85467300e0a5179a0f52c \ No newline at end of file diff --git a/de/dde/lowest__common__ancestor_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/de/dde/lowest__common__ancestor_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 3779f152d..000000000 --- a/de/dde/lowest__common__ancestor_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,102 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -tests - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -graph::LowestCommonAncestor -::lowest_common_ancestor - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::swap - - - - - -Node3->Node4 - - - - - - - - - - - - - diff --git a/de/dde/lowest__common__ancestor_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/de/dde/lowest__common__ancestor_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index da1406309..000000000 --- a/de/dde/lowest__common__ancestor_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -tests - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -graph::LowestCommonAncestor -::lowest_common_ancestor - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::swap - - - - - -Node3->Node4 - - - - - - - - diff --git a/de/dde/lowest__common__ancestor_8cpp_source.html b/de/dde/lowest__common__ancestor_8cpp_source.html new file mode 100644 index 000000000..c0a2be338 --- /dev/null +++ b/de/dde/lowest__common__ancestor_8cpp_source.html @@ -0,0 +1,315 @@ + + + + + + + + +TheAlgorithms/C++: graph/lowest_common_ancestor.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    lowest_common_ancestor.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    38#include <cassert>
    +
    39#include <iostream>
    +
    40#include <queue>
    +
    41#include <utility>
    +
    42#include <vector>
    +
    43
    +
    48namespace graph {
    +
    +
    53class Graph {
    +
    54 public:
    +
    +
    62 Graph(size_t N, const std::vector<std::pair<int, int> > &undirected_edges) {
    +
    63 neighbors.resize(N);
    +
    64 for (auto &edge : undirected_edges) {
    +
    65 neighbors[edge.first].push_back(edge.second);
    +
    66 neighbors[edge.second].push_back(edge.first);
    +
    67 }
    +
    68 }
    +
    +
    69
    +
    74 int number_of_vertices() const { return neighbors.size(); }
    +
    75
    +
    77 std::vector<std::vector<int> > neighbors;
    +
    78};
    +
    +
    79
    +
    +
    84class RootedTree : public Graph {
    +
    85 public:
    +
    +
    93 RootedTree(const std::vector<std::pair<int, int> > &undirected_edges,
    +
    94 int root_)
    +
    95 : Graph(undirected_edges.size() + 1, undirected_edges), root(root_) {
    + +
    97 }
    +
    +
    98
    +
    104 std::vector<int> parent;
    +
    106 std::vector<int> level;
    +
    108 int root;
    +
    109
    +
    110 protected:
    +
    + +
    118 // Initialize the vector with -1 which indicates the vertex
    +
    119 // wasn't yet visited.
    +
    120 parent = std::vector<int>(number_of_vertices(), -1);
    +
    121 level = std::vector<int>(number_of_vertices());
    +
    122 parent[root] = root;
    +
    123 level[root] = 0;
    +
    124 std::queue<int> queue_of_vertices;
    +
    125 queue_of_vertices.push(root);
    +
    126 while (!queue_of_vertices.empty()) {
    +
    127 int vertex = queue_of_vertices.front();
    +
    128 queue_of_vertices.pop();
    +
    129 for (int neighbor : neighbors[vertex]) {
    +
    130 // As long as the vertex was not yet visited.
    +
    131 if (parent[neighbor] == -1) {
    +
    132 parent[neighbor] = vertex;
    +
    133 level[neighbor] = level[vertex] + 1;
    +
    134 queue_of_vertices.push(neighbor);
    +
    135 }
    +
    136 }
    +
    137 }
    +
    138 }
    +
    +
    139};
    +
    +
    140
    +
    + +
    146 public:
    +
    +
    151 explicit LowestCommonAncestor(const RootedTree &tree_) : tree(tree_) {
    +
    152 populate_up();
    +
    153 }
    +
    +
    154
    +
    +
    164 int lowest_common_ancestor(int u, int v) const {
    +
    165 // Ensure u is the deeper (higher level) of the two vertices
    +
    166 if (tree.level[v] > tree.level[u]) {
    +
    167 std::swap(u, v);
    +
    168 }
    +
    169
    +
    170 // "Lift" u to the same level as v.
    +
    171 int level_diff = tree.level[u] - tree.level[v];
    +
    172 for (int i = 0; (1 << i) <= level_diff; ++i) {
    +
    173 if (level_diff & (1 << i)) {
    +
    174 u = up[u][i];
    +
    175 }
    +
    176 }
    +
    177 assert(tree.level[u] == tree.level[v]);
    +
    178
    +
    179 if (u == v) {
    +
    180 return u;
    +
    181 }
    +
    182
    +
    183 // "Lift" u and v to their 2^i th ancestor if they are different
    +
    184 for (int i = static_cast<int>(up[u].size()) - 1; i >= 0; --i) {
    +
    185 if (up[u][i] != up[v][i]) {
    +
    186 u = up[u][i];
    +
    187 v = up[v][i];
    +
    188 }
    +
    189 }
    +
    190
    +
    191 // As we regressed u an v such that they cannot further be lifted so
    +
    192 // that their ancestor would be different, the only logical
    +
    193 // consequence is that their parent is the sought answer.
    +
    194 assert(up[u][0] == up[v][0]);
    +
    195 return up[u][0];
    +
    196 }
    +
    +
    197
    +
    198 /* \brief reference to the rooted tree this structure allows to query */
    +
    199 const RootedTree &tree;
    +
    206 std::vector<std::vector<int> > up;
    +
    207
    +
    208 protected:
    +
    +
    212 void populate_up() {
    +
    213 up.resize(tree.number_of_vertices());
    +
    214 for (int vertex = 0; vertex < tree.number_of_vertices(); ++vertex) {
    +
    215 up[vertex].push_back(tree.parent[vertex]);
    +
    216 }
    +
    217 for (int level = 0; (1 << level) < tree.number_of_vertices(); ++level) {
    +
    218 for (int vertex = 0; vertex < tree.number_of_vertices(); ++vertex) {
    +
    219 // up[vertex][level + 1] = 2^(level + 1) th ancestor of vertex =
    +
    220 // = 2^level th ancestor of 2^level th ancestor of vertex =
    +
    221 // = 2^level th ancestor of up[vertex][level]
    +
    222 up[vertex].push_back(up[up[vertex][level]][level]);
    +
    223 }
    +
    224 }
    +
    225 }
    +
    +
    226};
    +
    +
    227
    +
    228} // namespace graph
    +
    229
    +
    +
    234static void tests() {
    +
    244 std::vector<std::pair<int, int> > edges = {
    +
    245 {7, 1}, {1, 5}, {1, 3}, {3, 6}, {6, 2}, {2, 9}, {6, 8}, {4, 3}, {0, 4}};
    +
    246 graph::RootedTree t(edges, 3);
    + +
    248 assert(lca.lowest_common_ancestor(7, 4) == 3);
    +
    249 assert(lca.lowest_common_ancestor(9, 6) == 6);
    +
    250 assert(lca.lowest_common_ancestor(0, 0) == 0);
    +
    251 assert(lca.lowest_common_ancestor(8, 2) == 6);
    +
    252}
    +
    +
    253
    +
    +
    255int main() {
    +
    256 tests();
    +
    257 return 0;
    +
    258}
    +
    + +
    std::vector< std::vector< int > > neighbors
    for each vertex it stores a list indicies of its neighbors
    +
    Graph(size_t N, const std::vector< std::pair< int, int > > &undirected_edges)
    Populate the adjacency list for each vertex in the graph. Assumes that evey edge is a pair of valid v...
    +
    int number_of_vertices() const
    + + +
    std::vector< std::vector< int > > up
    for every vertex stores a list of its ancestors by powers of two For each vertex, the first element o...
    +
    int lowest_common_ancestor(int u, int v) const
    Query the structure to find the lowest common ancestor. Assumes that the provided numbers are valid i...
    +
    LowestCommonAncestor(const RootedTree &tree_)
    Stores the tree and precomputs "up lifts".
    + +
    std::vector< int > level
    Stores the distance from the root.
    +
    std::vector< int > parent
    Stores parent of every vertex and for root its own index. The root is technically not its own parent,...
    +
    RootedTree(const std::vector< std::pair< int, int > > &undirected_edges, int root_)
    Constructs the tree by calculating parent for every vertex. Assumes a valid description of a tree is ...
    +
    int root
    Index of the root vertex.
    +
    void populate_parents()
    Calculate the parents for all the vertices in the tree. Implements the breadth first search algorithm...
    +
    static void tests()
    + +
    Graph Algorithms.
    +
    +
    + + + + diff --git a/de/de4/fibonacci__large_8cpp.html b/de/de4/fibonacci__large_8cpp.html index 9510bebb7..59c49dd5f 100644 --- a/de/de4/fibonacci__large_8cpp.html +++ b/de/de4/fibonacci__large_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: math/fibonacci_large.cpp File Reference +TheAlgorithms/C++: math/fibonacci_large.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -121,7 +138,9 @@ Include dependency graph for fibonacci_large.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -134,6 +153,8 @@ Functions

    Took 0.608246 seconds to compute 50,000^th Fibonacci number that contains 10450 digits!

    Author
    Krishna Vedala
    See also
    fibonacci.cpp, fibonacci_fast.cpp, string_fibonacci.cpp
    + +

    Definition in file fibonacci_large.cpp.

    Function Documentation

    ◆ fib()

    @@ -153,6 +174,8 @@ Functions \[f(n)=f(n-1)+f(n-2)\]

    and returns the result as a large_number type.

    + +

    Definition at line 24 of file fibonacci_large.cpp.

    24 {
    25 large_number f0(1);
    26 large_number f1(1);
    @@ -166,7 +189,7 @@ Functions
    34
    35 return f1;
    36}
    -
    Definition large_number.h:24
    +
    @@ -188,26 +211,28 @@ Functions

    Functions

    large_number fib (uint64_t n)
    + +

    Definition at line 38 of file fibonacci_large.cpp.

    38 {
    39 uint64_t N;
    40 if (argc == 2) {
    -
    41 N = strtoull(argv[1], NULL, 10);
    +
    41 N = strtoull(argv[1], NULL, 10);
    42 } else {
    -
    43 std::cout << "Enter N: ";
    -
    44 std::cin >> N;
    +
    43 std::cout << "Enter N: ";
    +
    44 std::cin >> N;
    45 }
    46
    -
    47 clock_t start_time = std::clock();
    +
    47 clock_t start_time = std::clock();
    -
    49 clock_t end_time = std::clock();
    +
    49 clock_t end_time = std::clock();
    50 double time_taken = static_cast<double>(end_time - start_time) /
    51 static_cast<double>(CLOCKS_PER_SEC);
    52
    - -
    54 << N << "^th Fibonacci number: " << result << std::endl
    -
    55 << "Number of digits: " << result.num_digits() << std::endl
    -
    56 << "Time taken: " << std::scientific << time_taken << " s"
    -
    57 << std::endl;
    +
    53 std::cout << std::endl
    +
    54 << N << "^th Fibonacci number: " << result << std::endl
    +
    55 << "Number of digits: " << result.num_digits() << std::endl
    +
    56 << "Time taken: " << std::scientific << time_taken << " s"
    +
    57 << std::endl;
    58
    59 N = 5000;
    60 if (fib(N) ==
    @@ -228,23 +253,17 @@ Functions
    75 "508206686289742063932343848846524098874239587380197699382031717420"
    76 "893226546887936400263079778005875912967138963421425257911687275560"
    77 "0360311370547754724604639987588046985178408674382863125"))
    -
    78 std::cout << "Test for " << N << "^th Fibonacci number passed!"
    -
    79 << std::endl;
    +
    78 std::cout << "Test for " << N << "^th Fibonacci number passed!"
    +
    79 << std::endl;
    80 else
    -
    81 std::cerr << "Test for " << N << "^th Fibonacci number failed!"
    -
    82 << std::endl;
    +
    81 std::cerr << "Test for " << N << "^th Fibonacci number failed!"
    +
    82 << std::endl;
    83
    84 return 0;
    85}
    - - -
    T clock(T... args)
    -
    T endl(T... args)
    -
    large_number fib(uint64_t n)
    Definition fibonacci_large.cpp:24
    -
    uint64_t result(uint64_t n)
    Definition fibonacci_sum.cpp:77
    -
    T scientific(T... args)
    -
    constexpr uint32_t N
    A struct to represent sparse table for min() as their invariant function, for the given array A....
    Definition sparse_table.cpp:48
    -
    T strtoull(T... args)
    +
    large_number fib(uint64_t n)
    +
    uint64_t result(uint64_t n)
    +
    constexpr uint32_t N
    A struct to represent sparse table for min() as their invariant function, for the given array A....
    diff --git a/de/de4/fibonacci__large_8cpp_source.html b/de/de4/fibonacci__large_8cpp_source.html new file mode 100644 index 000000000..6f52d5735 --- /dev/null +++ b/de/de4/fibonacci__large_8cpp_source.html @@ -0,0 +1,214 @@ + + + + + + + + +TheAlgorithms/C++: math/fibonacci_large.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    fibonacci_large.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    14#include <cinttypes>
    +
    15#include <ctime>
    +
    16#include <iostream>
    +
    17
    +
    18#include "./large_number.h"
    +
    19
    +
    +
    24large_number fib(uint64_t n) {
    +
    25 large_number f0(1);
    +
    26 large_number f1(1);
    +
    27
    +
    28 do {
    +
    29 large_number f2 = f1;
    +
    30 f1 += f0;
    +
    31 f0 = f2;
    +
    32 n--;
    +
    33 } while (n > 2); // since we start from 2
    +
    34
    +
    35 return f1;
    +
    36}
    +
    +
    37
    +
    38int main(int argc, char *argv[]) {
    +
    39 uint64_t N;
    +
    40 if (argc == 2) {
    +
    41 N = strtoull(argv[1], NULL, 10);
    +
    42 } else {
    +
    43 std::cout << "Enter N: ";
    +
    44 std::cin >> N;
    +
    45 }
    +
    46
    +
    47 clock_t start_time = std::clock();
    + +
    49 clock_t end_time = std::clock();
    +
    50 double time_taken = static_cast<double>(end_time - start_time) /
    +
    51 static_cast<double>(CLOCKS_PER_SEC);
    +
    52
    +
    53 std::cout << std::endl
    +
    54 << N << "^th Fibonacci number: " << result << std::endl
    +
    55 << "Number of digits: " << result.num_digits() << std::endl
    +
    56 << "Time taken: " << std::scientific << time_taken << " s"
    +
    57 << std::endl;
    +
    58
    +
    59 N = 5000;
    +
    60 if (fib(N) ==
    + +
    62 "387896845438832563370191630832590531208212771464624510616059721489"
    +
    63 "555013904403709701082291646221066947929345285888297381348310200895"
    +
    64 "498294036143015691147893836421656394410691021450563413370655865623"
    +
    65 "825465670071252592990385493381392883637834751890876297071203333705"
    +
    66 "292310769300851809384980180384781399674888176555465378829164426891"
    +
    67 "298038461377896902150229308247566634622492307188332480328037503913"
    +
    68 "035290330450584270114763524227021093463769910400671417488329842289"
    +
    69 "149127310405432875329804427367682297724498774987455569190770388063"
    +
    70 "704683279481135897373999311010621930814901857081539785437919530561"
    +
    71 "751076105307568878376603366735544525884488624161921055345749367589"
    +
    72 "784902798823435102359984466393485325641195222185956306047536464547"
    +
    73 "076033090242080638258492915645287629157575914234380914230291749108"
    +
    74 "898415520985443248659407979357131684169286803954530954538869811466"
    +
    75 "508206686289742063932343848846524098874239587380197699382031717420"
    +
    76 "893226546887936400263079778005875912967138963421425257911687275560"
    +
    77 "0360311370547754724604639987588046985178408674382863125"))
    +
    78 std::cout << "Test for " << N << "^th Fibonacci number passed!"
    +
    79 << std::endl;
    +
    80 else
    +
    81 std::cerr << "Test for " << N << "^th Fibonacci number failed!"
    +
    82 << std::endl;
    +
    83
    +
    84 return 0;
    +
    85}
    + +
    large_number fib(uint64_t n)
    +
    uint64_t result(uint64_t n)
    +
    int main()
    Main function.
    +
    Library to perform arithmatic operations on arbitrarily large numbers.
    +
    constexpr uint32_t N
    A struct to represent sparse table for min() as their invariant function, for the given array A....
    +
    +
    + + + + diff --git a/de/df6/classgreedy__algorithms_1_1_binary_addition.html b/de/df6/classgreedy__algorithms_1_1_binary_addition.html index fb9424292..4b1eaf1e0 100644 --- a/de/df6/classgreedy__algorithms_1_1_binary_addition.html +++ b/de/df6/classgreedy__algorithms_1_1_binary_addition.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: greedy_algorithms::BinaryAddition Class Reference +TheAlgorithms/C++: greedy_algorithms::BinaryAddition Class Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -117,18 +134,20 @@ $(function(){initNavTree('de/df6/classgreedy__algorithms_1_1_binary_addition.htm
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    - +

    Public Member Functions

    std::string addBinary (const std::string &a, const std::string &b)
    std::string addBinary (const std::string &a, const std::string &b)
     Adds two binary strings and returns the result as a binary string.
     
    - +

    Private Member Functions

    bool isValidBinaryString (const std::string &str) const
    bool isValidBinaryString (const std::string &str) const
     Validates whether a string contains only binary characters (0 or 1).
     

    Detailed Description

    A class to perform binary addition of two binary strings.

    + +

    Definition at line 31 of file binary_addition.cpp.

    Member Function Documentation

    ◆ addBinary()

    @@ -140,14 +159,14 @@ Private Member Functions - + - + - +
    std::string greedy_algorithms::BinaryAddition::addBinary std::string greedy_algorithms::BinaryAddition::addBinary (const std::string & a, const std::string & a,
    const std::string & b )const std::string & b )
    @@ -166,21 +185,23 @@ Private Member Functions
    Returns
    The sum of the two binary strings as a binary string, or an empty string if either input string contains non-binary characters.
    + +

    Definition at line 40 of file binary_addition.cpp.

    40 {
    42 return ""; // Return empty string if input contains non-binary
    43 // characters
    44 }
    45
    - +
    46 std::string result;
    47 int carry = 0;
    -
    48 int maxLength = std::max(a.size(), b.size());
    +
    48 int maxLength = std::max(a.size(), b.size());
    49
    50 // Traverse both strings from the end to the beginning
    51 for (int i = 0; i < maxLength; ++i) {
    52 // Get the current bits from both strings, if available
    53 int bitA = (i < a.size()) ? (a[a.size() - 1 - i] - '0') : 0;
    -
    54 int bitB = (i < b.size()) ? (b[b.size() - 1 - i] - '0') : 0;
    +
    54 int bitB = (i < b.size()) ? (b[b.size() - 1 - i] - '0') : 0;
    55
    56 // Calculate the sum of bits and carry
    57 int sum = bitA + bitB + carry;
    @@ -191,22 +212,13 @@ Private Member Functions
    62 if (carry) {
    63 result.push_back('1');
    64 }
    -
    65 std::reverse(result.begin(), result.end());
    +
    65 std::reverse(result.begin(), result.end());
    66 return result;
    67 }
    - -
    bool isValidBinaryString(const std::string &str) const
    Validates whether a string contains only binary characters (0 or 1).
    Definition binary_addition.cpp:75
    -
    uint64_t result(uint64_t n)
    Definition fibonacci_sum.cpp:77
    -
    T max(T... args)
    -
    T sum(const std::vector< std::valarray< T > > &A)
    Definition vector_ops.hpp:232
    -
    T reverse(T... args)
    -
    T size(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    bool isValidBinaryString(const std::string &str) const
    Validates whether a string contains only binary characters (0 or 1).
    +
    uint64_t result(uint64_t n)
    +
    T sum(const std::vector< std::valarray< T > > &A)
    +
    @@ -221,7 +233,7 @@ Here is the call graph for this function: bool greedy_algorithms::BinaryAddition::isValidBinaryString ( - const std::string & str) + const std::string & str) const @@ -240,23 +252,17 @@ Here is the call graph for this function:
    Returns
    true if the string is binary, false otherwise.
    + +

    Definition at line 75 of file binary_addition.cpp.

    75 {
    -
    76 return std::all_of(str.begin(), str.end(),
    +
    76 return std::all_of(str.begin(), str.end(),
    77 [](char c) { return c == '0' || c == '1'; });
    78 }
    -
    T all_of(T... args)
    -
    T begin(T... args)
    -
    T end(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    The documentation for this class was generated from the following file: diff --git a/de/df6/classgreedy__algorithms_1_1_binary_addition_a4cfb595ba80795a9efae0e3f6f5c34d2_cgraph.map b/de/df6/classgreedy__algorithms_1_1_binary_addition_a4cfb595ba80795a9efae0e3f6f5c34d2_cgraph.map deleted file mode 100644 index c02bab8a6..000000000 --- a/de/df6/classgreedy__algorithms_1_1_binary_addition_a4cfb595ba80795a9efae0e3f6f5c34d2_cgraph.map +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/de/df6/classgreedy__algorithms_1_1_binary_addition_a4cfb595ba80795a9efae0e3f6f5c34d2_cgraph.md5 b/de/df6/classgreedy__algorithms_1_1_binary_addition_a4cfb595ba80795a9efae0e3f6f5c34d2_cgraph.md5 deleted file mode 100644 index 7634a8cfd..000000000 --- a/de/df6/classgreedy__algorithms_1_1_binary_addition_a4cfb595ba80795a9efae0e3f6f5c34d2_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -b34b8fba06083b003abe8695e93bcb7a \ No newline at end of file diff --git a/de/df6/classgreedy__algorithms_1_1_binary_addition_a4cfb595ba80795a9efae0e3f6f5c34d2_cgraph.svg b/de/df6/classgreedy__algorithms_1_1_binary_addition_a4cfb595ba80795a9efae0e3f6f5c34d2_cgraph.svg deleted file mode 100644 index ea91e20fe..000000000 --- a/de/df6/classgreedy__algorithms_1_1_binary_addition_a4cfb595ba80795a9efae0e3f6f5c34d2_cgraph.svg +++ /dev/null @@ -1,103 +0,0 @@ - - - - - - - - - - - - -greedy_algorithms::BinaryAddition::isValidBinaryString - - -Node1 - - -greedy_algorithms:: -BinaryAddition::isValidBinary -String - - - - - -Node2 - - -std::all_of - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::string::begin - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::string::end - - - - - -Node1->Node4 - - - - - - - - - - - - - diff --git a/de/df6/classgreedy__algorithms_1_1_binary_addition_a4cfb595ba80795a9efae0e3f6f5c34d2_cgraph_org.svg b/de/df6/classgreedy__algorithms_1_1_binary_addition_a4cfb595ba80795a9efae0e3f6f5c34d2_cgraph_org.svg deleted file mode 100644 index 87a132e1d..000000000 --- a/de/df6/classgreedy__algorithms_1_1_binary_addition_a4cfb595ba80795a9efae0e3f6f5c34d2_cgraph_org.svg +++ /dev/null @@ -1,77 +0,0 @@ - - - - - - -greedy_algorithms::BinaryAddition::isValidBinaryString - - -Node1 - - -greedy_algorithms:: -BinaryAddition::isValidBinary -String - - - - - -Node2 - - -std::all_of - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::string::begin - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::string::end - - - - - -Node1->Node4 - - - - - - - - diff --git a/de/df6/classgreedy__algorithms_1_1_binary_addition_a801fd1ec5cda76b0bb82cbf23ed4d527_cgraph.map b/de/df6/classgreedy__algorithms_1_1_binary_addition_a801fd1ec5cda76b0bb82cbf23ed4d527_cgraph.map deleted file mode 100644 index e27a690e3..000000000 --- a/de/df6/classgreedy__algorithms_1_1_binary_addition_a801fd1ec5cda76b0bb82cbf23ed4d527_cgraph.map +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - - - - - diff --git a/de/df6/classgreedy__algorithms_1_1_binary_addition_a801fd1ec5cda76b0bb82cbf23ed4d527_cgraph.md5 b/de/df6/classgreedy__algorithms_1_1_binary_addition_a801fd1ec5cda76b0bb82cbf23ed4d527_cgraph.md5 deleted file mode 100644 index dd45d3035..000000000 --- a/de/df6/classgreedy__algorithms_1_1_binary_addition_a801fd1ec5cda76b0bb82cbf23ed4d527_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -eb89941a3eefeca41e9f80419516c8b8 \ No newline at end of file diff --git a/de/df6/classgreedy__algorithms_1_1_binary_addition_a801fd1ec5cda76b0bb82cbf23ed4d527_cgraph.svg b/de/df6/classgreedy__algorithms_1_1_binary_addition_a801fd1ec5cda76b0bb82cbf23ed4d527_cgraph.svg deleted file mode 100644 index 82f3a4c1a..000000000 --- a/de/df6/classgreedy__algorithms_1_1_binary_addition_a801fd1ec5cda76b0bb82cbf23ed4d527_cgraph.svg +++ /dev/null @@ -1,176 +0,0 @@ - - - - - - - - - - - - -greedy_algorithms::BinaryAddition::addBinary - - -Node1 - - -greedy_algorithms:: -BinaryAddition::addBinary - - - - - -Node2 - - -greedy_algorithms:: -BinaryAddition::isValidBinary -String - - - - - -Node1->Node2 - - - - - - - - -Node6 - - -std::max - - - - - -Node1->Node6 - - - - - - - - -Node7 - - -std::reverse - - - - - -Node1->Node7 - - - - - - - - -Node8 - - -std::string::size - - - - - -Node1->Node8 - - - - - - - - -Node3 - - -std::all_of - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::string::begin - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -std::string::end - - - - - -Node2->Node5 - - - - - - - - - - - - - diff --git a/de/df6/classgreedy__algorithms_1_1_binary_addition_a801fd1ec5cda76b0bb82cbf23ed4d527_cgraph_org.svg b/de/df6/classgreedy__algorithms_1_1_binary_addition_a801fd1ec5cda76b0bb82cbf23ed4d527_cgraph_org.svg deleted file mode 100644 index ef90c8885..000000000 --- a/de/df6/classgreedy__algorithms_1_1_binary_addition_a801fd1ec5cda76b0bb82cbf23ed4d527_cgraph_org.svg +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - -greedy_algorithms::BinaryAddition::addBinary - - -Node1 - - -greedy_algorithms:: -BinaryAddition::addBinary - - - - - -Node2 - - -greedy_algorithms:: -BinaryAddition::isValidBinary -String - - - - - -Node1->Node2 - - - - - - - - -Node6 - - -std::max - - - - - -Node1->Node6 - - - - - - - - -Node7 - - -std::reverse - - - - - -Node1->Node7 - - - - - - - - -Node8 - - -std::string::size - - - - - -Node1->Node8 - - - - - - - - -Node3 - - -std::all_of - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::string::begin - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -std::string::end - - - - - -Node2->Node5 - - - - - - - - diff --git a/df/d06/decimal__to__binary_8cpp.html b/df/d06/decimal__to__binary_8cpp.html index e62e8cd9b..ed98f6c9f 100644 --- a/df/d06/decimal__to__binary_8cpp.html +++ b/df/d06/decimal__to__binary_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: others/decimal_to_binary.cpp File Reference +TheAlgorithms/C++: others/decimal_to_binary.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -118,7 +135,9 @@ Include dependency graph for decimal_to_binary.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -130,6 +149,8 @@ Functions

    Functions

    void method1 (int number)

    Detailed Description

    Function to convert decimal number to binary representation.

    + +

    Definition in file decimal_to_binary.cpp.

    Function Documentation

    ◆ main()

    @@ -145,20 +166,20 @@ Functions
    + +

    Definition at line 46 of file decimal_to_binary.cpp.

    46 {
    47 int number;
    -
    48 std::cout << "Enter a number:";
    -
    49 std::cin >> number;
    +
    48 std::cout << "Enter a number:";
    +
    49 std::cin >> number;
    50
    51 method1(number);
    52 method2(number);
    53
    54 return 0;
    55}
    - - -
    void method2(int number)
    Definition decimal_to_binary.cpp:27
    -
    void method1(int number)
    Definition decimal_to_binary.cpp:11
    +
    void method2(int number)
    +
    void method1(int number)
    @@ -177,25 +198,20 @@ Functions

    This method converts the bit representation and stores it as a decimal number.

    + +

    Definition at line 11 of file decimal_to_binary.cpp.

    11 {
    -
    12 int remainder, binary = 0, var = 1;
    +
    12 int remainder, binary = 0, var = 1;
    13
    14 do {
    -
    15 remainder = number % 2;
    +
    15 remainder = number % 2;
    16 number = number / 2;
    -
    17 binary = binary + (remainder * var);
    +
    17 binary = binary + (remainder * var);
    18 var = var * 10;
    19 } while (number > 0);
    -
    20 std::cout << "Method 1 : " << binary << std::endl;
    +
    20 std::cout << "Method 1 : " << binary << std::endl;
    21}
    -
    T endl(T... args)
    -
    T remainder(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    @@ -213,6 +229,8 @@ Here is the call graph for this function:

    This method stores each bit value from LSB to MSB and then prints them back from MSB to LSB

    + +

    Definition at line 27 of file decimal_to_binary.cpp.

    27 {
    28 int num_bits = 0;
    29 char bit_string[50];
    @@ -226,17 +244,12 @@ Here is the call graph for this function:
    37 number >>= 1; // right shift bit 1 bit
    38 } while (number > 0);
    39
    -
    40 std::cout << "Method 2 : ";
    +
    40 std::cout << "Method 2 : ";
    41 while (num_bits >= 0)
    -
    42 std::cout << bit_string[num_bits--]; // print from MSB to LSB
    - +
    42 std::cout << bit_string[num_bits--]; // print from MSB to LSB
    +
    43 std::cout << std::endl;
    44}
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + diff --git a/df/d06/decimal__to__binary_8cpp_a10df57491019f0ac39b492740fb388f7_cgraph.map b/df/d06/decimal__to__binary_8cpp_a10df57491019f0ac39b492740fb388f7_cgraph.map deleted file mode 100644 index 5cee1d784..000000000 --- a/df/d06/decimal__to__binary_8cpp_a10df57491019f0ac39b492740fb388f7_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/df/d06/decimal__to__binary_8cpp_a10df57491019f0ac39b492740fb388f7_cgraph.md5 b/df/d06/decimal__to__binary_8cpp_a10df57491019f0ac39b492740fb388f7_cgraph.md5 deleted file mode 100644 index 48d2e02ae..000000000 --- a/df/d06/decimal__to__binary_8cpp_a10df57491019f0ac39b492740fb388f7_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -b16418b32a4fcb892c19968499c0a43b \ No newline at end of file diff --git a/df/d06/decimal__to__binary_8cpp_a10df57491019f0ac39b492740fb388f7_cgraph.svg b/df/d06/decimal__to__binary_8cpp_a10df57491019f0ac39b492740fb388f7_cgraph.svg deleted file mode 100644 index b722e9b8c..000000000 --- a/df/d06/decimal__to__binary_8cpp_a10df57491019f0ac39b492740fb388f7_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -method2 - - -Node1 - - -method2 - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/df/d06/decimal__to__binary_8cpp_a10df57491019f0ac39b492740fb388f7_cgraph_org.svg b/df/d06/decimal__to__binary_8cpp_a10df57491019f0ac39b492740fb388f7_cgraph_org.svg deleted file mode 100644 index ee70bd403..000000000 --- a/df/d06/decimal__to__binary_8cpp_a10df57491019f0ac39b492740fb388f7_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -method2 - - -Node1 - - -method2 - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - diff --git a/df/d06/decimal__to__binary_8cpp_a9240f2e79074a2a248395258aebbfa11_cgraph.map b/df/d06/decimal__to__binary_8cpp_a9240f2e79074a2a248395258aebbfa11_cgraph.map deleted file mode 100644 index 8472c32d6..000000000 --- a/df/d06/decimal__to__binary_8cpp_a9240f2e79074a2a248395258aebbfa11_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/df/d06/decimal__to__binary_8cpp_a9240f2e79074a2a248395258aebbfa11_cgraph.md5 b/df/d06/decimal__to__binary_8cpp_a9240f2e79074a2a248395258aebbfa11_cgraph.md5 deleted file mode 100644 index e3a2319f6..000000000 --- a/df/d06/decimal__to__binary_8cpp_a9240f2e79074a2a248395258aebbfa11_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -7b4c5fbf47340443b7f32699d0051aa7 \ No newline at end of file diff --git a/df/d06/decimal__to__binary_8cpp_a9240f2e79074a2a248395258aebbfa11_cgraph.svg b/df/d06/decimal__to__binary_8cpp_a9240f2e79074a2a248395258aebbfa11_cgraph.svg deleted file mode 100644 index 5bae84cfe..000000000 --- a/df/d06/decimal__to__binary_8cpp_a9240f2e79074a2a248395258aebbfa11_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -method1 - - -Node1 - - -method1 - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/df/d06/decimal__to__binary_8cpp_a9240f2e79074a2a248395258aebbfa11_cgraph_org.svg b/df/d06/decimal__to__binary_8cpp_a9240f2e79074a2a248395258aebbfa11_cgraph_org.svg deleted file mode 100644 index 893dc7f08..000000000 --- a/df/d06/decimal__to__binary_8cpp_a9240f2e79074a2a248395258aebbfa11_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -method1 - - -Node1 - - -method1 - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - diff --git a/df/d06/decimal__to__binary_8cpp_source.html b/df/d06/decimal__to__binary_8cpp_source.html new file mode 100644 index 000000000..a858be174 --- /dev/null +++ b/df/d06/decimal__to__binary_8cpp_source.html @@ -0,0 +1,188 @@ + + + + + + + + +TheAlgorithms/C++: others/decimal_to_binary.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    decimal_to_binary.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    5#include <iostream>
    +
    6
    +
    +
    11void method1(int number) {
    +
    12 int remainder, binary = 0, var = 1;
    +
    13
    +
    14 do {
    +
    15 remainder = number % 2;
    +
    16 number = number / 2;
    +
    17 binary = binary + (remainder * var);
    +
    18 var = var * 10;
    +
    19 } while (number > 0);
    +
    20 std::cout << "Method 1 : " << binary << std::endl;
    +
    21}
    +
    +
    22
    +
    +
    27void method2(int number) {
    +
    28 int num_bits = 0;
    +
    29 char bit_string[50];
    +
    30
    +
    31 do {
    +
    32 bool bit = number & 0x01; // get last bit
    +
    33 if (bit)
    +
    34 bit_string[num_bits++] = '1';
    +
    35 else
    +
    36 bit_string[num_bits++] = '0';
    +
    37 number >>= 1; // right shift bit 1 bit
    +
    38 } while (number > 0);
    +
    39
    +
    40 std::cout << "Method 2 : ";
    +
    41 while (num_bits >= 0)
    +
    42 std::cout << bit_string[num_bits--]; // print from MSB to LSB
    +
    43 std::cout << std::endl;
    +
    44}
    +
    +
    45
    +
    46int main() {
    +
    47 int number;
    +
    48 std::cout << "Enter a number:";
    +
    49 std::cin >> number;
    +
    50
    +
    51 method1(number);
    +
    52 method2(number);
    +
    53
    +
    54 return 0;
    +
    55}
    +
    void method2(int number)
    +
    void method1(int number)
    +
    int main()
    Main function.
    +
    +
    + + + + diff --git a/df/d10/namespacepancake__sort.html b/df/d10/namespacepancake__sort.html index 466fbc279..70245b742 100644 --- a/df/d10/namespacepancake__sort.html +++ b/df/d10/namespacepancake__sort.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: pancake_sort Namespace Reference +TheAlgorithms/C++: pancake_sort Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/df/d11/classdata__structures_1_1linked__list_1_1link-members.html b/df/d11/classdata__structures_1_1linked__list_1_1link-members.html index 06a9c7020..c75587264 100644 --- a/df/d11/classdata__structures_1_1linked__list_1_1link-members.html +++ b/df/d11/classdata__structures_1_1linked__list_1_1link-members.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Member List +TheAlgorithms/C++: Member List + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/df/d11/midpoint__integral__method_8cpp.html b/df/d11/midpoint__integral__method_8cpp.html index 15730bdf3..5b5ef4d11 100644 --- a/df/d11/midpoint__integral__method_8cpp.html +++ b/df/d11/midpoint__integral__method_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: numerical_methods/midpoint_integral_method.cpp File Reference +TheAlgorithms/C++: numerical_methods/midpoint_integral_method.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + @@ -125,7 +142,9 @@ Include dependency graph for midpoint_integral_method.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -137,7 +156,7 @@ Namespaces

    Namespaces

    namespace  numerical_methods
    - + @@ -152,7 +171,7 @@ Functions - + @@ -165,6 +184,8 @@ Functions

    We create a table of the xi and their corresponding f(xi) values and we evaluate the integral by the formula: I = h * {f(x0+h/2) + f(x1+h/2) + ... + f(xN-1+h/2)}

    Arguments can be passed as parameters from the command line argv[1] = N, argv[2] = a, argv[3] = b. In this case if the default values N=16, a=1, b=3 are changed then the tests/assert are disabled.

    Author
    ggkogkou
    + +

    Definition in file midpoint_integral_method.cpp.

    Function Documentation

    ◆ f()

    @@ -189,15 +210,10 @@ Functions
    Returns
    the value of the dependent variable yi = f(xi) = sqrt(xi) + ln(xi)
    -
    90{ return std::sqrt(x) + std::log(x); }
    -
    T log(T... args)
    -
    T sqrt(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    +

    Definition at line 90 of file midpoint_integral_method.cpp.

    +
    90{ return std::sqrt(x) + std::log(x); }
    +
    @@ -223,15 +239,10 @@ Here is the call graph for this function:
    Returns
    the value of the dependent variable yi = g(xi) = e^(-xi) * (4 - xi^2)
    -
    97{ return std::exp(-x) * (4 - std::pow(x, 2)); }
    -
    T exp(T... args)
    -
    T pow(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    +

    Definition at line 97 of file midpoint_integral_method.cpp.

    +
    97{ return std::exp(-x) * (4 - std::pow(x, 2)); }
    +
    @@ -257,13 +268,10 @@ Here is the call graph for this function:
    Returns
    the value of the dependent variable yi = k(xi) = sqrt(2*xi^3 + 3)
    -
    103{ return std::sqrt(2 * std::pow(x, 3) + 3); }
    -
    -Here is the call graph for this function:
    -
    -
    -
    +

    Definition at line 103 of file midpoint_integral_method.cpp.

    +
    103{ return std::sqrt(2 * std::pow(x, 3) + 3); }
    +
    @@ -289,13 +297,10 @@ Here is the call graph for this function:
    Returns
    the value of the dependent variable yi = l(xi) = xi + ln(2*xi + 1)
    -
    109{ return x + std::log(2 * x + 1); }
    -
    -Here is the call graph for this function:
    -
    -
    -
    +

    Definition at line 109 of file midpoint_integral_method.cpp.

    +
    109{ return x + std::log(2 * x + 1); }
    +
    @@ -331,13 +336,13 @@ Here is the call graph for this function:

    Starting and ending point of the integration in

    the real axis

    Step, calculated by a, b and N

    + +

    Definition at line 162 of file midpoint_integral_method.cpp.

    162 {
    - -
    164 16; /// Number of intervals to divide the integration interval.
    -
    165 /// MUST BE EVEN
    -
    166 double a = 1, b = 3; /// Starting and ending point of the integration in
    -
    167 /// the real axis
    -
    168 double h = NAN; /// Step, calculated by a, b and N
    +
    163 std::int32_t N =
    +
    164 16;
    +
    166 double a = 1, b = 3;
    +
    168 double h = NAN;
    169
    170 bool used_argv_parameters =
    171 false; // If argv parameters are used then the assert must be omitted
    @@ -346,20 +351,20 @@ Here is the call graph for this function:
    174 // Get user input (by the command line parameters or the console after
    175 // displaying messages)
    176 if (argc == 4) {
    -
    177 N = std::atoi(argv[1]);
    -
    178 a = std::atof(argv[2]);
    -
    179 b = std::atof(argv[3]);
    +
    177 N = std::atoi(argv[1]);
    +
    178 a = std::atof(argv[2]);
    +
    179 b = std::atof(argv[3]);
    180 // Check if a<b else abort
    181 assert(a < b && "a has to be less than b");
    182 assert(N > 0 && "N has to be > 0");
    183 if (N < 4 || a != 1 || b != 3) {
    184 used_argv_parameters = true;
    185 }
    -
    186 std::cout << "You selected N=" << N << ", a=" << a << ", b=" << b
    -
    187 << std::endl;
    +
    186 std::cout << "You selected N=" << N << ", a=" << a << ", b=" << b
    +
    187 << std::endl;
    188 } else {
    -
    189 std::cout << "Default N=" << N << ", a=" << a << ", b=" << b
    -
    190 << std::endl;
    +
    189 std::cout << "Default N=" << N << ", a=" << a << ", b=" << b
    +
    190 << std::endl;
    191 }
    192
    193 // Find the step
    @@ -369,20 +374,10 @@ Here is the call graph for this function:
    197
    198 return 0;
    199}
    -
    T atof(T... args)
    -
    T atoi(T... args)
    - -
    T endl(T... args)
    -
    static void test()
    Self-test implementations.
    Definition generate_parentheses.cpp:82
    -
    int h(int key)
    Definition hash_search.cpp:45
    - -
    constexpr uint32_t N
    A struct to represent sparse table for min() as their invariant function, for the given array A....
    Definition sparse_table.cpp:48
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static void test()
    Self-test implementations.
    +
    int h(int key)
    +
    constexpr uint32_t N
    A struct to represent sparse table for min() as their invariant function, for the given array A....
    + @@ -394,7 +389,7 @@ Here is the call graph for this function: - + @@ -409,7 +404,7 @@ Here is the call graph for this function: - +

    Functions

    double numerical_methods::midpoint_rule::midpoint (const std::int32_t N, const double h, const double a, const std::function< double(double)> &func)
    double numerical_methods::midpoint_rule::midpoint (const std::int32_t N, const double h, const double a, const std::function< double(double)> &func)
     Main function for implementing the Midpoint Integral Method implementation.
     
    double numerical_methods::midpoint_rule::f (double x)
    double numerical_methods::midpoint_rule::l (double x)
     A function l(x) that will be used to test the method.
     
    static void test (std::int32_t N, double h, double a, double b, bool used_argv_parameters)
    static void test (std::int32_t N, double h, double a, double b, bool used_argv_parameters)
     Self-test implementations.
     
    int main (int argc, char **argv)
    double numerical_methods::midpoint_rule::midpoint (const std::int32_t N, const std::int32_t N,
    const std::function< double(double)> & func )const std::function< double(double)> & func )
    @@ -425,48 +420,40 @@ Here is the call graph for this function:
    Returns
    the result of the integration
    + +

    Definition at line 52 of file midpoint_integral_method.cpp.

    53 {
    - +
    54 std::map<int, double>
    55 data_table; // Contains the data points, key: i, value: f(xi)
    56 double xi = a; // Initialize xi to the starting point x0 = a
    57
    58 // Create the data table
    59 // Loop from x0 to xN-1
    60 double temp = NAN;
    -
    61 for (std::int32_t i = 0; i < N; i++) {
    +
    61 for (std::int32_t i = 0; i < N; i++) {
    62 temp = func(xi + h / 2); // find f(xi+h/2)
    -
    63 data_table.insert(
    -
    64 std::pair<std::int32_t, double>(i, temp)); // add i and f(xi)
    +
    63 data_table.insert(
    +
    64 std::pair<std::int32_t, double>(i, temp)); // add i and f(xi)
    65 xi += h; // Get the next point xi for the next iteration
    66 }
    67
    68 // Evaluate the integral.
    69 // Remember: {f(x0+h/2) + f(x1+h/2) + ... + f(xN-1+h/2)}
    70 double evaluate_integral = 0;
    -
    71 for (std::int32_t i = 0; i < N; i++) evaluate_integral += data_table.at(i);
    +
    71 for (std::int32_t i = 0; i < N; i++) evaluate_integral += data_table.at(i);
    72
    73 // Multiply by the coefficient h
    74 evaluate_integral *= h;
    75
    76 // If the result calculated is nan, then the user has given wrong input
    77 // interval.
    -
    78 assert(!std::isnan(evaluate_integral) &&
    +
    78 assert(!std::isnan(evaluate_integral) &&
    79 "The definite integral can't be evaluated. Check the validity of "
    80 "your input.\n");
    81 // Else return
    82 return evaluate_integral;
    83}
    -
    T at(T... args)
    -
    T insert(T... args)
    -
    T isnan(T... args)
    - - -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -481,7 +468,7 @@ Here is the call graph for this function: static void test ( - std::int32_t N, + std::int32_t N, @@ -522,6 +509,8 @@ Here is the call graph for this function: + +

    Definition at line 123 of file midpoint_integral_method.cpp.

    124 {
    125 // Call midpoint() for each of the test functions f, g, k, l
    126 // Assert with two decimal point precision
    @@ -529,37 +518,32 @@ Here is the call graph for this function:
    128 N, h, a, numerical_methods::midpoint_rule::f);
    129 assert((used_argv_parameters || (result_f >= 4.09 && result_f <= 4.10)) &&
    130 "The result of f(x) is wrong");
    -
    131 std::cout << "The result of integral f(x) on interval [" << a << ", " << b
    -
    132 << "] is equal to: " << result_f << std::endl;
    +
    131 std::cout << "The result of integral f(x) on interval [" << a << ", " << b
    +
    132 << "] is equal to: " << result_f << std::endl;
    133
    135 N, h, a, numerical_methods::midpoint_rule::g);
    136 assert((used_argv_parameters || (result_g >= 0.27 && result_g <= 0.28)) &&
    137 "The result of g(x) is wrong");
    -
    138 std::cout << "The result of integral g(x) on interval [" << a << ", " << b
    -
    139 << "] is equal to: " << result_g << std::endl;
    +
    138 std::cout << "The result of integral g(x) on interval [" << a << ", " << b
    +
    139 << "] is equal to: " << result_g << std::endl;
    140
    142 N, h, a, numerical_methods::midpoint_rule::k);
    143 assert((used_argv_parameters || (result_k >= 9.06 && result_k <= 9.07)) &&
    144 "The result of k(x) is wrong");
    -
    145 std::cout << "The result of integral k(x) on interval [" << a << ", " << b
    -
    146 << "] is equal to: " << result_k << std::endl;
    +
    145 std::cout << "The result of integral k(x) on interval [" << a << ", " << b
    +
    146 << "] is equal to: " << result_k << std::endl;
    147
    149 N, h, a, numerical_methods::midpoint_rule::l);
    150 assert((used_argv_parameters || (result_l >= 7.16 && result_l <= 7.17)) &&
    151 "The result of l(x) is wrong");
    -
    152 std::cout << "The result of integral l(x) on interval [" << a << ", " << b
    -
    153 << "] is equal to: " << result_l << std::endl;
    +
    152 std::cout << "The result of integral l(x) on interval [" << a << ", " << b
    +
    153 << "] is equal to: " << result_l << std::endl;
    154}
    -
    double midpoint(const std::int32_t N, const double h, const double a, const std::function< double(double)> &func)
    Main function for implementing the Midpoint Integral Method implementation.
    Definition midpoint_integral_method.cpp:52
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    double midpoint(const std::int32_t N, const double h, const double a, const std::function< double(double)> &func)
    Main function for implementing the Midpoint Integral Method implementation.
    + diff --git a/df/d11/midpoint__integral__method_8cpp_a2ae48a41e43dc6ab11b962742349646e_cgraph.map b/df/d11/midpoint__integral__method_8cpp_a2ae48a41e43dc6ab11b962742349646e_cgraph.map deleted file mode 100644 index 36cb2a672..000000000 --- a/df/d11/midpoint__integral__method_8cpp_a2ae48a41e43dc6ab11b962742349646e_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/df/d11/midpoint__integral__method_8cpp_a2ae48a41e43dc6ab11b962742349646e_cgraph.md5 b/df/d11/midpoint__integral__method_8cpp_a2ae48a41e43dc6ab11b962742349646e_cgraph.md5 deleted file mode 100644 index 195b68a6d..000000000 --- a/df/d11/midpoint__integral__method_8cpp_a2ae48a41e43dc6ab11b962742349646e_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -35205101949ce7aa6a6ebedcb619e803 \ No newline at end of file diff --git a/df/d11/midpoint__integral__method_8cpp_a2ae48a41e43dc6ab11b962742349646e_cgraph.svg b/df/d11/midpoint__integral__method_8cpp_a2ae48a41e43dc6ab11b962742349646e_cgraph.svg deleted file mode 100644 index 5424cc847..000000000 --- a/df/d11/midpoint__integral__method_8cpp_a2ae48a41e43dc6ab11b962742349646e_cgraph.svg +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -h - - - - - -Node1->Node3 - - - - - - - - - - - - - diff --git a/df/d11/midpoint__integral__method_8cpp_a2ae48a41e43dc6ab11b962742349646e_cgraph_org.svg b/df/d11/midpoint__integral__method_8cpp_a2ae48a41e43dc6ab11b962742349646e_cgraph_org.svg deleted file mode 100644 index c30627a2d..000000000 --- a/df/d11/midpoint__integral__method_8cpp_a2ae48a41e43dc6ab11b962742349646e_cgraph_org.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -h - - - - - -Node1->Node3 - - - - - - - - diff --git a/df/d11/midpoint__integral__method_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph.map b/df/d11/midpoint__integral__method_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph.map deleted file mode 100644 index 02ce30d37..000000000 --- a/df/d11/midpoint__integral__method_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph.map +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/df/d11/midpoint__integral__method_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph.md5 b/df/d11/midpoint__integral__method_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph.md5 deleted file mode 100644 index 694e59ecc..000000000 --- a/df/d11/midpoint__integral__method_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -2876d363335959fb324f5f8f8ceb79af \ No newline at end of file diff --git a/df/d11/midpoint__integral__method_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph.svg b/df/d11/midpoint__integral__method_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph.svg deleted file mode 100644 index 868f47a9d..000000000 --- a/df/d11/midpoint__integral__method_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph.svg +++ /dev/null @@ -1,295 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -std::atof - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::atoi - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::endl - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -h - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -test - - - - - -Node1->Node6 - - - - - - - - -Node7 - - -backtracking::generate -_parentheses::generate - - - - - -Node6->Node7 - - - - - - - - -Node8 - - -std::vector::clear - - - - - -Node7->Node8 - - - - - - - - -Node9 - - -backtracking::generate -_parentheses::makeStrings - - - - - -Node7->Node9 - - - - - - - - -Node9->Node9 - - - - - - - - -Node10 - - -std::string::length - - - - - -Node9->Node10 - - - - - - - - -Node11 - - -std::vector::push_back - - - - - -Node9->Node11 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/df/d11/midpoint__integral__method_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph_org.svg b/df/d11/midpoint__integral__method_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph_org.svg deleted file mode 100644 index 673d7249d..000000000 --- a/df/d11/midpoint__integral__method_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph_org.svg +++ /dev/null @@ -1,212 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -std::atof - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::atoi - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::endl - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -h - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -test - - - - - -Node1->Node6 - - - - - - - - -Node7 - - -backtracking::generate -_parentheses::generate - - - - - -Node6->Node7 - - - - - - - - -Node8 - - -std::vector::clear - - - - - -Node7->Node8 - - - - - - - - -Node9 - - -backtracking::generate -_parentheses::makeStrings - - - - - -Node7->Node9 - - - - - - - - -Node9->Node9 - - - - - - - - -Node10 - - -std::string::length - - - - - -Node9->Node10 - - - - - - - - -Node11 - - -std::vector::push_back - - - - - -Node9->Node11 - - - - - - - - diff --git a/df/d11/midpoint__integral__method_8cpp_a7072493d1f0f8a91b2a71d4cc456c09c_cgraph.map b/df/d11/midpoint__integral__method_8cpp_a7072493d1f0f8a91b2a71d4cc456c09c_cgraph.map deleted file mode 100644 index 82204b1c4..000000000 --- a/df/d11/midpoint__integral__method_8cpp_a7072493d1f0f8a91b2a71d4cc456c09c_cgraph.map +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - - - diff --git a/df/d11/midpoint__integral__method_8cpp_a7072493d1f0f8a91b2a71d4cc456c09c_cgraph.md5 b/df/d11/midpoint__integral__method_8cpp_a7072493d1f0f8a91b2a71d4cc456c09c_cgraph.md5 deleted file mode 100644 index 20e855aed..000000000 --- a/df/d11/midpoint__integral__method_8cpp_a7072493d1f0f8a91b2a71d4cc456c09c_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -b5908a5997bbe77a0628c0fe938cbbaa \ No newline at end of file diff --git a/df/d11/midpoint__integral__method_8cpp_a7072493d1f0f8a91b2a71d4cc456c09c_cgraph.svg b/df/d11/midpoint__integral__method_8cpp_a7072493d1f0f8a91b2a71d4cc456c09c_cgraph.svg deleted file mode 100644 index ef1e65437..000000000 --- a/df/d11/midpoint__integral__method_8cpp_a7072493d1f0f8a91b2a71d4cc456c09c_cgraph.svg +++ /dev/null @@ -1,129 +0,0 @@ - - - - - - - - - - - - -numerical_methods::midpoint_rule::midpoint - - -Node1 - - -numerical_methods:: -midpoint_rule::midpoint - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::map::at - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -h - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::map::insert - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::isnan - - - - - -Node1->Node5 - - - - - - - - - - - - - diff --git a/df/d11/midpoint__integral__method_8cpp_a7072493d1f0f8a91b2a71d4cc456c09c_cgraph_org.svg b/df/d11/midpoint__integral__method_8cpp_a7072493d1f0f8a91b2a71d4cc456c09c_cgraph_org.svg deleted file mode 100644 index c87124756..000000000 --- a/df/d11/midpoint__integral__method_8cpp_a7072493d1f0f8a91b2a71d4cc456c09c_cgraph_org.svg +++ /dev/null @@ -1,103 +0,0 @@ - - - - - - -numerical_methods::midpoint_rule::midpoint - - -Node1 - - -numerical_methods:: -midpoint_rule::midpoint - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::map::at - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -h - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::map::insert - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::isnan - - - - - -Node1->Node5 - - - - - - - - diff --git a/df/d11/midpoint__integral__method_8cpp_a7ee8e824ef3e138a9a21883b26d97226_cgraph.map b/df/d11/midpoint__integral__method_8cpp_a7ee8e824ef3e138a9a21883b26d97226_cgraph.map deleted file mode 100644 index 2b5d89551..000000000 --- a/df/d11/midpoint__integral__method_8cpp_a7ee8e824ef3e138a9a21883b26d97226_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/df/d11/midpoint__integral__method_8cpp_a7ee8e824ef3e138a9a21883b26d97226_cgraph.md5 b/df/d11/midpoint__integral__method_8cpp_a7ee8e824ef3e138a9a21883b26d97226_cgraph.md5 deleted file mode 100644 index 6b7d6acf5..000000000 --- a/df/d11/midpoint__integral__method_8cpp_a7ee8e824ef3e138a9a21883b26d97226_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -95174c319ce16b1e911c3cd1702b837a \ No newline at end of file diff --git a/df/d11/midpoint__integral__method_8cpp_a7ee8e824ef3e138a9a21883b26d97226_cgraph.svg b/df/d11/midpoint__integral__method_8cpp_a7ee8e824ef3e138a9a21883b26d97226_cgraph.svg deleted file mode 100644 index dc6648b5f..000000000 --- a/df/d11/midpoint__integral__method_8cpp_a7ee8e824ef3e138a9a21883b26d97226_cgraph.svg +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - - - - - -numerical_methods::midpoint_rule::f - - -Node1 - - -numerical_methods:: -midpoint_rule::f - - - - - -Node2 - - -std::log - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::sqrt - - - - - -Node1->Node3 - - - - - - - - - - - - - diff --git a/df/d11/midpoint__integral__method_8cpp_a7ee8e824ef3e138a9a21883b26d97226_cgraph_org.svg b/df/d11/midpoint__integral__method_8cpp_a7ee8e824ef3e138a9a21883b26d97226_cgraph_org.svg deleted file mode 100644 index 5bbeb30da..000000000 --- a/df/d11/midpoint__integral__method_8cpp_a7ee8e824ef3e138a9a21883b26d97226_cgraph_org.svg +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - -numerical_methods::midpoint_rule::f - - -Node1 - - -numerical_methods:: -midpoint_rule::f - - - - - -Node2 - - -std::log - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::sqrt - - - - - -Node1->Node3 - - - - - - - - diff --git a/df/d11/midpoint__integral__method_8cpp_ad53616fb4fa6880ae876bcba53365c51_cgraph.map b/df/d11/midpoint__integral__method_8cpp_ad53616fb4fa6880ae876bcba53365c51_cgraph.map deleted file mode 100644 index 957063ef3..000000000 --- a/df/d11/midpoint__integral__method_8cpp_ad53616fb4fa6880ae876bcba53365c51_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/df/d11/midpoint__integral__method_8cpp_ad53616fb4fa6880ae876bcba53365c51_cgraph.md5 b/df/d11/midpoint__integral__method_8cpp_ad53616fb4fa6880ae876bcba53365c51_cgraph.md5 deleted file mode 100644 index a3c72b2ec..000000000 --- a/df/d11/midpoint__integral__method_8cpp_ad53616fb4fa6880ae876bcba53365c51_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -6d9159f177c4297b5af6c5241d52b0e6 \ No newline at end of file diff --git a/df/d11/midpoint__integral__method_8cpp_ad53616fb4fa6880ae876bcba53365c51_cgraph.svg b/df/d11/midpoint__integral__method_8cpp_ad53616fb4fa6880ae876bcba53365c51_cgraph.svg deleted file mode 100644 index cb5a0bbc2..000000000 --- a/df/d11/midpoint__integral__method_8cpp_ad53616fb4fa6880ae876bcba53365c51_cgraph.svg +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - - - - - - - -numerical_methods::midpoint_rule::l - - -Node1 - - -numerical_methods:: -midpoint_rule::l - - - - - -Node2 - - -std::log - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/df/d11/midpoint__integral__method_8cpp_ad53616fb4fa6880ae876bcba53365c51_cgraph_org.svg b/df/d11/midpoint__integral__method_8cpp_ad53616fb4fa6880ae876bcba53365c51_cgraph_org.svg deleted file mode 100644 index 6f998e51c..000000000 --- a/df/d11/midpoint__integral__method_8cpp_ad53616fb4fa6880ae876bcba53365c51_cgraph_org.svg +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - -numerical_methods::midpoint_rule::l - - -Node1 - - -numerical_methods:: -midpoint_rule::l - - - - - -Node2 - - -std::log - - - - - -Node1->Node2 - - - - - - - - diff --git a/df/d11/midpoint__integral__method_8cpp_ae682ee71af44b1e9e884849cc6a6b040_cgraph.map b/df/d11/midpoint__integral__method_8cpp_ae682ee71af44b1e9e884849cc6a6b040_cgraph.map deleted file mode 100644 index a995b19f1..000000000 --- a/df/d11/midpoint__integral__method_8cpp_ae682ee71af44b1e9e884849cc6a6b040_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/df/d11/midpoint__integral__method_8cpp_ae682ee71af44b1e9e884849cc6a6b040_cgraph.md5 b/df/d11/midpoint__integral__method_8cpp_ae682ee71af44b1e9e884849cc6a6b040_cgraph.md5 deleted file mode 100644 index b88bc635b..000000000 --- a/df/d11/midpoint__integral__method_8cpp_ae682ee71af44b1e9e884849cc6a6b040_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -f8df31e9815a75098a5e8ae0610c8812 \ No newline at end of file diff --git a/df/d11/midpoint__integral__method_8cpp_ae682ee71af44b1e9e884849cc6a6b040_cgraph.svg b/df/d11/midpoint__integral__method_8cpp_ae682ee71af44b1e9e884849cc6a6b040_cgraph.svg deleted file mode 100644 index e7e287013..000000000 --- a/df/d11/midpoint__integral__method_8cpp_ae682ee71af44b1e9e884849cc6a6b040_cgraph.svg +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - - - - - -numerical_methods::midpoint_rule::g - - -Node1 - - -numerical_methods:: -midpoint_rule::g - - - - - -Node2 - - -std::exp - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::pow - - - - - -Node1->Node3 - - - - - - - - - - - - - diff --git a/df/d11/midpoint__integral__method_8cpp_ae682ee71af44b1e9e884849cc6a6b040_cgraph_org.svg b/df/d11/midpoint__integral__method_8cpp_ae682ee71af44b1e9e884849cc6a6b040_cgraph_org.svg deleted file mode 100644 index e61a37091..000000000 --- a/df/d11/midpoint__integral__method_8cpp_ae682ee71af44b1e9e884849cc6a6b040_cgraph_org.svg +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - -numerical_methods::midpoint_rule::g - - -Node1 - - -numerical_methods:: -midpoint_rule::g - - - - - -Node2 - - -std::exp - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::pow - - - - - -Node1->Node3 - - - - - - - - diff --git a/df/d11/midpoint__integral__method_8cpp_ae9f66040f8e0ba73c1c741261c22a52a_cgraph.map b/df/d11/midpoint__integral__method_8cpp_ae9f66040f8e0ba73c1c741261c22a52a_cgraph.map deleted file mode 100644 index 8f7cda87c..000000000 --- a/df/d11/midpoint__integral__method_8cpp_ae9f66040f8e0ba73c1c741261c22a52a_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/df/d11/midpoint__integral__method_8cpp_ae9f66040f8e0ba73c1c741261c22a52a_cgraph.md5 b/df/d11/midpoint__integral__method_8cpp_ae9f66040f8e0ba73c1c741261c22a52a_cgraph.md5 deleted file mode 100644 index b824dc2d0..000000000 --- a/df/d11/midpoint__integral__method_8cpp_ae9f66040f8e0ba73c1c741261c22a52a_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -78781b1f886d3e8719e34d864778293c \ No newline at end of file diff --git a/df/d11/midpoint__integral__method_8cpp_ae9f66040f8e0ba73c1c741261c22a52a_cgraph.svg b/df/d11/midpoint__integral__method_8cpp_ae9f66040f8e0ba73c1c741261c22a52a_cgraph.svg deleted file mode 100644 index 75c005910..000000000 --- a/df/d11/midpoint__integral__method_8cpp_ae9f66040f8e0ba73c1c741261c22a52a_cgraph.svg +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - - - - - -numerical_methods::midpoint_rule::k - - -Node1 - - -numerical_methods:: -midpoint_rule::k - - - - - -Node2 - - -std::pow - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::sqrt - - - - - -Node1->Node3 - - - - - - - - - - - - - diff --git a/df/d11/midpoint__integral__method_8cpp_ae9f66040f8e0ba73c1c741261c22a52a_cgraph_org.svg b/df/d11/midpoint__integral__method_8cpp_ae9f66040f8e0ba73c1c741261c22a52a_cgraph_org.svg deleted file mode 100644 index 02a3345d3..000000000 --- a/df/d11/midpoint__integral__method_8cpp_ae9f66040f8e0ba73c1c741261c22a52a_cgraph_org.svg +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - -numerical_methods::midpoint_rule::k - - -Node1 - - -numerical_methods:: -midpoint_rule::k - - - - - -Node2 - - -std::pow - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::sqrt - - - - - -Node1->Node3 - - - - - - - - diff --git a/df/d11/midpoint__integral__method_8cpp_source.html b/df/d11/midpoint__integral__method_8cpp_source.html new file mode 100644 index 000000000..da9289eb6 --- /dev/null +++ b/df/d11/midpoint__integral__method_8cpp_source.html @@ -0,0 +1,270 @@ + + + + + + + + +TheAlgorithms/C++: numerical_methods/midpoint_integral_method.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    midpoint_integral_method.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    21#include <cassert>
    +
    22#include <cmath>
    +
    23#include <cstdint>
    +
    24#include <cstdlib>
    +
    25#include <functional>
    +
    26#include <iostream>
    +
    27#include <map>
    +
    28
    +
    33namespace numerical_methods {
    +
    40namespace midpoint_rule {
    +
    +
    52double midpoint(const std::int32_t N, const double h, const double a,
    +
    53 const std::function<double(double)>& func) {
    +
    54 std::map<int, double>
    +
    55 data_table; // Contains the data points, key: i, value: f(xi)
    +
    56 double xi = a; // Initialize xi to the starting point x0 = a
    +
    57
    +
    58 // Create the data table
    +
    59 // Loop from x0 to xN-1
    +
    60 double temp = NAN;
    +
    61 for (std::int32_t i = 0; i < N; i++) {
    +
    62 temp = func(xi + h / 2); // find f(xi+h/2)
    +
    63 data_table.insert(
    +
    64 std::pair<std::int32_t, double>(i, temp)); // add i and f(xi)
    +
    65 xi += h; // Get the next point xi for the next iteration
    +
    66 }
    +
    67
    +
    68 // Evaluate the integral.
    +
    69 // Remember: {f(x0+h/2) + f(x1+h/2) + ... + f(xN-1+h/2)}
    +
    70 double evaluate_integral = 0;
    +
    71 for (std::int32_t i = 0; i < N; i++) evaluate_integral += data_table.at(i);
    +
    72
    +
    73 // Multiply by the coefficient h
    +
    74 evaluate_integral *= h;
    +
    75
    +
    76 // If the result calculated is nan, then the user has given wrong input
    +
    77 // interval.
    +
    78 assert(!std::isnan(evaluate_integral) &&
    +
    79 "The definite integral can't be evaluated. Check the validity of "
    +
    80 "your input.\n");
    +
    81 // Else return
    +
    82 return evaluate_integral;
    +
    83}
    +
    +
    84
    +
    90double f(double x) { return std::sqrt(x) + std::log(x); }
    +
    97double g(double x) { return std::exp(-x) * (4 - std::pow(x, 2)); }
    +
    103double k(double x) { return std::sqrt(2 * std::pow(x, 3) + 3); }
    +
    109double l(double x) { return x + std::log(2 * x + 1); }
    +
    110
    +
    111} // namespace midpoint_rule
    +
    112} // namespace numerical_methods
    +
    113
    +
    +
    123static void test(std::int32_t N, double h, double a, double b,
    +
    124 bool used_argv_parameters) {
    +
    125 // Call midpoint() for each of the test functions f, g, k, l
    +
    126 // Assert with two decimal point precision
    +
    127 double result_f = numerical_methods::midpoint_rule::midpoint(
    +
    128 N, h, a, numerical_methods::midpoint_rule::f);
    +
    129 assert((used_argv_parameters || (result_f >= 4.09 && result_f <= 4.10)) &&
    +
    130 "The result of f(x) is wrong");
    +
    131 std::cout << "The result of integral f(x) on interval [" << a << ", " << b
    +
    132 << "] is equal to: " << result_f << std::endl;
    +
    133
    +
    134 double result_g = numerical_methods::midpoint_rule::midpoint(
    +
    135 N, h, a, numerical_methods::midpoint_rule::g);
    +
    136 assert((used_argv_parameters || (result_g >= 0.27 && result_g <= 0.28)) &&
    +
    137 "The result of g(x) is wrong");
    +
    138 std::cout << "The result of integral g(x) on interval [" << a << ", " << b
    +
    139 << "] is equal to: " << result_g << std::endl;
    +
    140
    +
    141 double result_k = numerical_methods::midpoint_rule::midpoint(
    +
    142 N, h, a, numerical_methods::midpoint_rule::k);
    +
    143 assert((used_argv_parameters || (result_k >= 9.06 && result_k <= 9.07)) &&
    +
    144 "The result of k(x) is wrong");
    +
    145 std::cout << "The result of integral k(x) on interval [" << a << ", " << b
    +
    146 << "] is equal to: " << result_k << std::endl;
    +
    147
    +
    148 double result_l = numerical_methods::midpoint_rule::midpoint(
    +
    149 N, h, a, numerical_methods::midpoint_rule::l);
    +
    150 assert((used_argv_parameters || (result_l >= 7.16 && result_l <= 7.17)) &&
    +
    151 "The result of l(x) is wrong");
    +
    152 std::cout << "The result of integral l(x) on interval [" << a << ", " << b
    +
    153 << "] is equal to: " << result_l << std::endl;
    +
    154}
    +
    +
    155
    +
    +
    162int main(int argc, char** argv) {
    +
    163 std::int32_t N =
    +
    164 16;
    +
    166 double a = 1, b = 3;
    +
    168 double h = NAN;
    +
    169
    +
    170 bool used_argv_parameters =
    +
    171 false; // If argv parameters are used then the assert must be omitted
    +
    172 // for the test cases
    +
    173
    +
    174 // Get user input (by the command line parameters or the console after
    +
    175 // displaying messages)
    +
    176 if (argc == 4) {
    +
    177 N = std::atoi(argv[1]);
    +
    178 a = std::atof(argv[2]);
    +
    179 b = std::atof(argv[3]);
    +
    180 // Check if a<b else abort
    +
    181 assert(a < b && "a has to be less than b");
    +
    182 assert(N > 0 && "N has to be > 0");
    +
    183 if (N < 4 || a != 1 || b != 3) {
    +
    184 used_argv_parameters = true;
    +
    185 }
    +
    186 std::cout << "You selected N=" << N << ", a=" << a << ", b=" << b
    +
    187 << std::endl;
    +
    188 } else {
    +
    189 std::cout << "Default N=" << N << ", a=" << a << ", b=" << b
    +
    190 << std::endl;
    +
    191 }
    +
    192
    +
    193 // Find the step
    +
    194 h = (b - a) / N;
    +
    195
    +
    196 test(N, h, a, b, used_argv_parameters); // run self-test implementations
    +
    197
    +
    198 return 0;
    +
    199}
    +
    +
    static void test()
    Self-test implementations.
    +
    int main()
    Main function.
    +
    int h(int key)
    +
    double midpoint(const std::int32_t N, const double h, const double a, const std::function< double(double)> &func)
    Main function for implementing the Midpoint Integral Method implementation.
    +
    Functions for the Midpoint Integral method implementation.
    + +
    +
    + + + + diff --git a/df/d14/bellman__ford_8cpp_source.html b/df/d14/bellman__ford_8cpp_source.html new file mode 100644 index 000000000..3be968618 --- /dev/null +++ b/df/d14/bellman__ford_8cpp_source.html @@ -0,0 +1,264 @@ + + + + + + + + +TheAlgorithms/C++: dynamic_programming/bellman_ford.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    bellman_ford.cpp
    +
    +
    +
    1#include <climits>
    +
    2#include <iostream>
    +
    3#include <vector>
    +
    4
    +
    5using namespace std;
    +
    6
    +
    7// Wrapper class for storing an edge
    +
    +
    8class Edge {
    +
    9 public:
    +
    10 int src, dst, weight;
    +
    11};
    +
    +
    12
    +
    13// Wrapper class for storing a graph
    +
    +
    14class Graph {
    +
    15 public:
    +
    16 int vertexNum, edgeNum;
    +
    17 std::vector<Edge> edges;
    +
    18
    +
    19 // Constructs a graph with V vertices and E edges
    +
    20 Graph(int V, int E) {
    +
    21 this->vertexNum = V;
    +
    22 this->edgeNum = E;
    +
    23 this->edges.reserve(E);
    +
    24 }
    +
    25
    +
    26 // Adds the given edge to the graph
    +
    27 void addEdge(int src, int dst, int weight) {
    +
    28 static int edgeInd = 0;
    +
    29 if (edgeInd < this->edgeNum) {
    +
    30 Edge newEdge;
    +
    31 newEdge.src = src;
    +
    32 newEdge.dst = dst;
    +
    33 newEdge.weight = weight;
    +
    34 this->edges[edgeInd++] = newEdge;
    +
    35 }
    +
    36 }
    +
    37};
    +
    +
    38
    +
    39// Utility function to print distances
    +
    40void print(const std::vector<int>& dist, int V) {
    +
    41 cout << "\nVertex Distance" << endl;
    +
    42 for (int i = 0; i < V; i++) {
    +
    43 if (dist[i] != INT_MAX)
    +
    44 cout << i << "\t" << dist[i] << endl;
    +
    45 else
    +
    46 cout << i << "\tINF" << endl;
    +
    47 }
    +
    48}
    +
    49
    +
    50// The main function that finds the shortest path from given source
    +
    51// to all other vertices using Bellman-Ford.It also detects negative
    +
    52// weight cycle
    +
    53void BellmanFord(Graph graph, int src) {
    +
    54 int V = graph.vertexNum;
    +
    55 int E = graph.edgeNum;
    +
    56 std::vector<int> dist;
    +
    57 dist.reserve(E);
    +
    58
    +
    59 // Initialize distances array as INF for all except source
    +
    60 // Intialize source as zero
    +
    61 for (int i = 0; i < V; i++) dist[i] = INT_MAX;
    +
    62 dist[src] = 0;
    +
    63
    +
    64 // Calculate shortest path distance from source to all edges
    +
    65 // A path can contain maximum (|V|-1) edges
    +
    66 for (int i = 0; i <= V - 1; i++)
    +
    67 for (int j = 0; j < E; j++) {
    +
    68 int u = graph.edges[j].src;
    +
    69 int v = graph.edges[j].dst;
    +
    70 int w = graph.edges[j].weight;
    +
    71
    +
    72 if (dist[u] != INT_MAX && dist[u] + w < dist[v])
    +
    73 dist[v] = dist[u] + w;
    +
    74 }
    +
    75
    +
    76 // Iterate inner loop once more to check for negative cycle
    +
    77 for (int j = 0; j < E; j++) {
    +
    78 int u = graph.edges[j].src;
    +
    79 int v = graph.edges[j].dst;
    +
    80 int w = graph.edges[j].weight;
    +
    81
    +
    82 if (dist[u] != INT_MAX && dist[u] + w < dist[v]) {
    +
    83 cout << "Graph contains negative weight cycle. Hence, shortest "
    +
    84 "distance not guaranteed."
    +
    85 << endl;
    +
    86 return;
    +
    87 }
    +
    88 }
    +
    89
    +
    90 print(dist, V);
    +
    91
    +
    92 return;
    +
    93}
    +
    94
    +
    95// Driver Function
    +
    96int main() {
    +
    97 int V, E, gsrc;
    +
    98 int src, dst, weight;
    +
    99 cout << "Enter number of vertices: ";
    +
    100 cin >> V;
    +
    101 cout << "Enter number of edges: ";
    +
    102 cin >> E;
    +
    103 Graph G(V, E);
    +
    104 for (int i = 0; i < E; i++) {
    +
    105 cout << "\nEdge " << i + 1 << "\nEnter source: ";
    +
    106 cin >> src;
    +
    107 cout << "Enter destination: ";
    +
    108 cin >> dst;
    +
    109 cout << "Enter weight: ";
    +
    110 cin >> weight;
    +
    111 G.addEdge(src, dst, weight);
    +
    112 }
    +
    113 cout << "\nEnter source: ";
    +
    114 cin >> gsrc;
    +
    115 BellmanFord(G, gsrc);
    +
    116
    +
    117 return 0;
    +
    118}
    + + +
    int main()
    Main function.
    +
    #define endl
    +
    Graph Algorithms.
    +
    +
    + + + + diff --git a/df/d1c/namespacestack__using__queue.html b/df/d1c/namespacestack__using__queue.html index 24266705e..23e5ec5b2 100644 --- a/df/d1c/namespacestack__using__queue.html +++ b/df/d1c/namespacestack__using__queue.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: stack_using_queue Namespace Reference +TheAlgorithms/C++: stack_using_queue Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/df/d28/dsu__union__rank_8cpp.html b/df/d28/dsu__union__rank_8cpp.html index 6e598a3cf..a50ddf23e 100644 --- a/df/d28/dsu__union__rank_8cpp.html +++ b/df/d28/dsu__union__rank_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: data_structures/dsu_union_rank.cpp File Reference +TheAlgorithms/C++: data_structures/dsu_union_rank.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + @@ -122,7 +139,9 @@ Include dependency graph for dsu_union_rank.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -146,6 +165,8 @@ Functions

    dsu : It is a very powerful data structure which keeps track of different clusters(sets) of elements, these sets are disjoint(doesnot have a common element). Disjoint sets uses cases : for finding connected components in a graph, used in Kruskal's algorithm for finding Minimum Spanning tree. Operations that can be performed: 1) UnionSet(i,j): add(element i and j to the set) 2) findSet(i): returns the representative of the set to which i belogngs to. 3) getParents(i): prints the parent of i and so on and so forth. Below is the class-based approach which uses the heuristic of union-ranks. Using union-rank in findSet(i),we are able to get to the representative of i in slightly delayed O(logN) time but it allows us to keep tracks of the parent of i.

    Author
    AayushVyasKIIT
    See also
    dsu_path_compression.cpp
    + +

    Definition in file dsu_union_rank.cpp.

    Function Documentation

    ◆ main()

    @@ -164,20 +185,17 @@ element). Disjoint sets uses cases : for finding connected components in a graph

    Main function.

    Returns
    0 on exit
    + +

    Definition at line 183 of file dsu_union_rank.cpp.

    183 {
    184 test1(); // run 1st test case
    185 test2(); // run 2nd test case
    186
    187 return 0;
    188}
    -
    static void test2()
    Self-implementations, 2nd test.
    Definition dsu_union_rank.cpp:158
    -
    static void test1()
    Self-implementations, 1st test.
    Definition dsu_union_rank.cpp:134
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static void test2()
    Self-implementations, 2nd test.
    +
    static void test1()
    Self-implementations, 1st test.
    + @@ -208,11 +226,13 @@ Here is the call graph for this function:

    < number of elements

    < object of class disjoint sets

    < performs union operation on 1 and 2

    + +

    Definition at line 134 of file dsu_union_rank.cpp.

    134 {
    135 /* checks the parents in the resultant structures */
    -
    136 uint64_t n = 10; ///< number of elements
    -
    137 dsu d(n + 1); ///< object of class disjoint sets
    -
    138 d.unionSet(2, 1); ///< performs union operation on 1 and 2
    +
    136 uint64_t n = 10;
    +
    137 dsu d(n + 1);
    +
    138 d.unionSet(2, 1);
    139 d.unionSet(1, 4);
    140 d.unionSet(8, 1);
    141 d.unionSet(3, 5);
    @@ -221,23 +241,16 @@ Here is the call graph for this function:
    144 d.unionSet(9, 10);
    145 d.unionSet(2, 10);
    146 // keeping track of the changes using parent pointers
    -
    147 vector<uint64_t> ans = {7, 5};
    +
    147 vector<uint64_t> ans = {7, 5};
    148 for (uint64_t i = 0; i < ans.size(); i++) {
    149 assert(d.getParents(7).at(i) ==
    150 ans[i]); // makes sure algorithm works fine
    151 }
    -
    152 cout << "1st test passed!" << endl;
    +
    152 cout << "1st test passed!" << endl;
    153}
    - -
    Disjoint sets union data structure, class based representation.
    Definition dsu_path_compression.cpp:34
    -
    #define endl
    Definition matrix_exponentiation.cpp:36
    - -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    Disjoint sets union data structure, class based representation.
    +
    #define endl
    + @@ -270,11 +283,13 @@ Here is the call graph for this function:

    performs union operation on 1 and 2

    keeping track of the changes using parent pointers

    makes sure algorithm works fine

    + +

    Definition at line 158 of file dsu_union_rank.cpp.

    158 {
    159 // checks the parents in the resultant structures
    -
    160 uint64_t n = 10; ///< number of elements
    -
    161 dsu d(n + 1); ///< object of class disjoint sets
    -
    162 d.unionSet(2, 1); /// performs union operation on 1 and 2
    +
    160 uint64_t n = 10;
    +
    161 dsu d(n + 1);
    +
    162 d.unionSet(2, 1);
    163 d.unionSet(1, 4);
    164 d.unionSet(8, 1);
    165 d.unionSet(3, 5);
    @@ -282,21 +297,15 @@ Here is the call graph for this function:
    167 d.unionSet(5, 7);
    168 d.unionSet(9, 10);
    169 d.unionSet(2, 10);
    -
    170
    -
    171 /// keeping track of the changes using parent pointers
    -
    172 vector<uint64_t> ans = {2, 1, 10};
    +
    170
    +
    172 vector<uint64_t> ans = {2, 1, 10};
    173 for (uint64_t i = 0; i < ans.size(); i++) {
    174 assert(d.getParents(2).at(i) ==
    -
    175 ans[i]); /// makes sure algorithm works fine
    +
    175 ans[i]);
    176 }
    -
    177 cout << "2nd test passed!" << endl;
    +
    177 cout << "2nd test passed!" << endl;
    178}
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + diff --git a/df/d28/dsu__union__rank_8cpp_a45d94ead4cf4e1ff9f87c38bc99f59ae_cgraph.map b/df/d28/dsu__union__rank_8cpp_a45d94ead4cf4e1ff9f87c38bc99f59ae_cgraph.map deleted file mode 100644 index b6d01eb57..000000000 --- a/df/d28/dsu__union__rank_8cpp_a45d94ead4cf4e1ff9f87c38bc99f59ae_cgraph.map +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/df/d28/dsu__union__rank_8cpp_a45d94ead4cf4e1ff9f87c38bc99f59ae_cgraph.md5 b/df/d28/dsu__union__rank_8cpp_a45d94ead4cf4e1ff9f87c38bc99f59ae_cgraph.md5 deleted file mode 100644 index 875ba33c0..000000000 --- a/df/d28/dsu__union__rank_8cpp_a45d94ead4cf4e1ff9f87c38bc99f59ae_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -d1e99c0a23b6cc37f6d88d019fd6b459 \ No newline at end of file diff --git a/df/d28/dsu__union__rank_8cpp_a45d94ead4cf4e1ff9f87c38bc99f59ae_cgraph.svg b/df/d28/dsu__union__rank_8cpp_a45d94ead4cf4e1ff9f87c38bc99f59ae_cgraph.svg deleted file mode 100644 index e558b2cda..000000000 --- a/df/d28/dsu__union__rank_8cpp_a45d94ead4cf4e1ff9f87c38bc99f59ae_cgraph.svg +++ /dev/null @@ -1,155 +0,0 @@ - - - - - - - - - - - - -test2 - - -Node1 - - -test2 - - - - - -Node2 - - -dsu::getParents - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -dsu::unionSet - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -dsu::findSet - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -dsu::isSame - - - - - -Node3->Node5 - - - - - - - - -Node6 - - -std::swap - - - - - -Node3->Node6 - - - - - - - - -Node4->Node4 - - - - - - - - -Node5->Node4 - - - - - - - - - - - - - diff --git a/df/d28/dsu__union__rank_8cpp_a45d94ead4cf4e1ff9f87c38bc99f59ae_cgraph_org.svg b/df/d28/dsu__union__rank_8cpp_a45d94ead4cf4e1ff9f87c38bc99f59ae_cgraph_org.svg deleted file mode 100644 index 1396932cb..000000000 --- a/df/d28/dsu__union__rank_8cpp_a45d94ead4cf4e1ff9f87c38bc99f59ae_cgraph_org.svg +++ /dev/null @@ -1,129 +0,0 @@ - - - - - - -test2 - - -Node1 - - -test2 - - - - - -Node2 - - -dsu::getParents - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -dsu::unionSet - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -dsu::findSet - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -dsu::isSame - - - - - -Node3->Node5 - - - - - - - - -Node6 - - -std::swap - - - - - -Node3->Node6 - - - - - - - - -Node4->Node4 - - - - - - - - -Node5->Node4 - - - - - - - - diff --git a/df/d28/dsu__union__rank_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/df/d28/dsu__union__rank_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 74926c3f2..000000000 --- a/df/d28/dsu__union__rank_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - diff --git a/df/d28/dsu__union__rank_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/df/d28/dsu__union__rank_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index 3e062e9cd..000000000 --- a/df/d28/dsu__union__rank_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -dac6f7ebedee78270a24ea5e106a593a \ No newline at end of file diff --git a/df/d28/dsu__union__rank_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/df/d28/dsu__union__rank_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index becad455c..000000000 --- a/df/d28/dsu__union__rank_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,209 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test1 - - - - - -Node1->Node2 - - - - - - - - -Node8 - - -test2 - - - - - -Node1->Node8 - - - - - - - - -Node3 - - -dsu::getParents - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -dsu::unionSet - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -dsu::findSet - - - - - -Node4->Node5 - - - - - - - - -Node6 - - -dsu::isSame - - - - - -Node4->Node6 - - - - - - - - -Node7 - - -std::swap - - - - - -Node4->Node7 - - - - - - - - -Node5->Node5 - - - - - - - - -Node6->Node5 - - - - - - - - -Node8->Node3 - - - - - - - - -Node8->Node4 - - - - - - - - - - - - - diff --git a/df/d28/dsu__union__rank_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/df/d28/dsu__union__rank_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 686391eb5..000000000 --- a/df/d28/dsu__union__rank_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,183 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test1 - - - - - -Node1->Node2 - - - - - - - - -Node8 - - -test2 - - - - - -Node1->Node8 - - - - - - - - -Node3 - - -dsu::getParents - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -dsu::unionSet - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -dsu::findSet - - - - - -Node4->Node5 - - - - - - - - -Node6 - - -dsu::isSame - - - - - -Node4->Node6 - - - - - - - - -Node7 - - -std::swap - - - - - -Node4->Node7 - - - - - - - - -Node5->Node5 - - - - - - - - -Node6->Node5 - - - - - - - - -Node8->Node3 - - - - - - - - -Node8->Node4 - - - - - - - - diff --git a/df/d28/dsu__union__rank_8cpp_ae7880ce913f3058a35ff106d5be9e243_cgraph.map b/df/d28/dsu__union__rank_8cpp_ae7880ce913f3058a35ff106d5be9e243_cgraph.map deleted file mode 100644 index 0177e75c0..000000000 --- a/df/d28/dsu__union__rank_8cpp_ae7880ce913f3058a35ff106d5be9e243_cgraph.map +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/df/d28/dsu__union__rank_8cpp_ae7880ce913f3058a35ff106d5be9e243_cgraph.md5 b/df/d28/dsu__union__rank_8cpp_ae7880ce913f3058a35ff106d5be9e243_cgraph.md5 deleted file mode 100644 index 9d27fa8f4..000000000 --- a/df/d28/dsu__union__rank_8cpp_ae7880ce913f3058a35ff106d5be9e243_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -ab21a1520d6bf943e1068afc32495f26 \ No newline at end of file diff --git a/df/d28/dsu__union__rank_8cpp_ae7880ce913f3058a35ff106d5be9e243_cgraph.svg b/df/d28/dsu__union__rank_8cpp_ae7880ce913f3058a35ff106d5be9e243_cgraph.svg deleted file mode 100644 index 279d27842..000000000 --- a/df/d28/dsu__union__rank_8cpp_ae7880ce913f3058a35ff106d5be9e243_cgraph.svg +++ /dev/null @@ -1,155 +0,0 @@ - - - - - - - - - - - - -test1 - - -Node1 - - -test1 - - - - - -Node2 - - -dsu::getParents - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -dsu::unionSet - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -dsu::findSet - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -dsu::isSame - - - - - -Node3->Node5 - - - - - - - - -Node6 - - -std::swap - - - - - -Node3->Node6 - - - - - - - - -Node4->Node4 - - - - - - - - -Node5->Node4 - - - - - - - - - - - - - diff --git a/df/d28/dsu__union__rank_8cpp_ae7880ce913f3058a35ff106d5be9e243_cgraph_org.svg b/df/d28/dsu__union__rank_8cpp_ae7880ce913f3058a35ff106d5be9e243_cgraph_org.svg deleted file mode 100644 index 0b4a5e35b..000000000 --- a/df/d28/dsu__union__rank_8cpp_ae7880ce913f3058a35ff106d5be9e243_cgraph_org.svg +++ /dev/null @@ -1,129 +0,0 @@ - - - - - - -test1 - - -Node1 - - -test1 - - - - - -Node2 - - -dsu::getParents - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -dsu::unionSet - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -dsu::findSet - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -dsu::isSame - - - - - -Node3->Node5 - - - - - - - - -Node6 - - -std::swap - - - - - -Node3->Node6 - - - - - - - - -Node4->Node4 - - - - - - - - -Node5->Node4 - - - - - - - - diff --git a/df/d28/dsu__union__rank_8cpp_source.html b/df/d28/dsu__union__rank_8cpp_source.html new file mode 100644 index 000000000..254ea9aa6 --- /dev/null +++ b/df/d28/dsu__union__rank_8cpp_source.html @@ -0,0 +1,277 @@ + + + + + + + + +TheAlgorithms/C++: data_structures/dsu_union_rank.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    +

    Classes

    class  dsu
    + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + + +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    dsu_union_rank.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    22#include <cassert>
    +
    23#include <cstdint>
    +
    24#include <iostream>
    +
    25#include <vector>
    +
    26
    +
    27using std::cout;
    +
    28using std::endl;
    +
    29using std::vector;
    +
    30
    +
    35class dsu {
    +
    36 private:
    +
    37 vector<uint64_t> p;
    +
    38 vector<uint64_t> depth;
    +
    39 vector<uint64_t> setSize;
    +
    40 public:
    +
    +
    45 explicit dsu(uint64_t n) {
    +
    46 p.assign(n, 0);
    +
    48 depth.assign(n, 0);
    +
    49 setSize.assign(n, 0);
    +
    50 for (uint64_t i = 0; i < n; i++) {
    +
    51 p[i] = i;
    +
    52 depth[i] = 0;
    +
    53 setSize[i] = 1;
    +
    54 }
    +
    55 }
    +
    +
    +
    62 uint64_t findSet(uint64_t i) {
    +
    64 while (i != p[i]) {
    +
    65 i = p[i];
    +
    66 }
    +
    67 return i;
    +
    68 }
    +
    +
    +
    76 void unionSet(uint64_t i, uint64_t j) {
    +
    78 if (isSame(i, j)) {
    +
    79 return;
    +
    80 }
    +
    82 uint64_t x = findSet(i);
    +
    83 uint64_t y = findSet(j);
    +
    84
    +
    87 if (depth[x] > depth[y]) {
    +
    88 std::swap(x, y);
    +
    89 }
    +
    91 p[x] = y;
    +
    92
    +
    94 if (depth[x] == depth[y]) {
    +
    95 depth[y]++;
    +
    96 }
    +
    98 setSize[y] += setSize[x];
    +
    99 }
    +
    +
    +
    108 bool isSame(uint64_t i, uint64_t j) {
    +
    109 if (findSet(i) == findSet(j)) {
    +
    110 return true;
    +
    111 }
    +
    112 return false;
    +
    113 }
    +
    +
    +
    120 vector<uint64_t> getParents(uint64_t i) {
    +
    121 vector<uint64_t> ans;
    +
    122 while (p[i] != i) {
    +
    123 ans.push_back(i);
    +
    124 i = p[i];
    +
    125 }
    +
    126 ans.push_back(i);
    +
    127 return ans;
    +
    128 }
    +
    +
    129};
    +
    +
    134static void test1() {
    +
    135 /* checks the parents in the resultant structures */
    +
    136 uint64_t n = 10;
    +
    137 dsu d(n + 1);
    +
    138 d.unionSet(2, 1);
    +
    139 d.unionSet(1, 4);
    +
    140 d.unionSet(8, 1);
    +
    141 d.unionSet(3, 5);
    +
    142 d.unionSet(5, 6);
    +
    143 d.unionSet(5, 7);
    +
    144 d.unionSet(9, 10);
    +
    145 d.unionSet(2, 10);
    +
    146 // keeping track of the changes using parent pointers
    +
    147 vector<uint64_t> ans = {7, 5};
    +
    148 for (uint64_t i = 0; i < ans.size(); i++) {
    +
    149 assert(d.getParents(7).at(i) ==
    +
    150 ans[i]); // makes sure algorithm works fine
    +
    151 }
    +
    152 cout << "1st test passed!" << endl;
    +
    153}
    +
    +
    +
    158static void test2() {
    +
    159 // checks the parents in the resultant structures
    +
    160 uint64_t n = 10;
    +
    161 dsu d(n + 1);
    +
    162 d.unionSet(2, 1);
    +
    163 d.unionSet(1, 4);
    +
    164 d.unionSet(8, 1);
    +
    165 d.unionSet(3, 5);
    +
    166 d.unionSet(5, 6);
    +
    167 d.unionSet(5, 7);
    +
    168 d.unionSet(9, 10);
    +
    169 d.unionSet(2, 10);
    +
    170
    +
    172 vector<uint64_t> ans = {2, 1, 10};
    +
    173 for (uint64_t i = 0; i < ans.size(); i++) {
    +
    174 assert(d.getParents(2).at(i) ==
    +
    175 ans[i]);
    +
    176 }
    +
    177 cout << "2nd test passed!" << endl;
    +
    178}
    +
    +
    +
    183int main() {
    +
    184 test1(); // run 1st test case
    +
    185 test2(); // run 2nd test case
    +
    186
    +
    187 return 0;
    +
    188}
    +
    +
    Disjoint sets union data structure, class based representation.
    +
    dsu(uint64_t n)
    constructor for initialising all data members
    +
    uint64_t findSet(uint64_t i)
    Method to find the representative of the set to which i belongs to, T(n) = O(logN)
    +
    vector< uint64_t > p
    keeps track of the parent of ith element
    +
    vector< uint64_t > depth
    tracks the depth(rank) of i in the tree
    +
    bool isSame(uint64_t i, uint64_t j)
    A utility function which check whether i and j belongs to same set or not.
    +
    void unionSet(uint64_t i, uint64_t j)
    Method that combines two disjoint sets to which i and j belongs to and make a single set having a com...
    +
    vector< uint64_t > getParents(uint64_t i)
    Method to print all the parents of i, or the path from i to representative.
    +
    vector< uint64_t > setSize
    size of each chunk(set)
    +
    static void test2()
    Self-implementations, 2nd test.
    +
    int main()
    Main function.
    +
    static void test1()
    Self-implementations, 1st test.
    +
    #define endl
    +
    +
    + + + + diff --git a/df/d2c/elliptic__curve__key__exchange_8cpp.html b/df/d2c/elliptic__curve__key__exchange_8cpp.html index 0686e7a40..a7b9d79dc 100644 --- a/df/d2c/elliptic__curve__key__exchange_8cpp.html +++ b/df/d2c/elliptic__curve__key__exchange_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: ciphers/elliptic_curve_key_exchange.cpp File Reference +TheAlgorithms/C++: ciphers/elliptic_curve_key_exchange.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -123,7 +140,9 @@ Include dependency graph for elliptic_curve_key_exchange.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -172,6 +191,8 @@ Functions

    Detailed Description

    Implementation of Elliptic Curve Diffie Hellman Key Exchange.

    The ECDH (Elliptic Curve Diffie–Hellman Key Exchange) is anonymous key agreement scheme, which allows two parties, each having an elliptic-curve public–private key pair, to establish a shared secret over an insecure channel. ECDH is very similar to the classical DHKE (Diffie–Hellman Key Exchange) algorithm, but it uses ECC point multiplication instead of modular exponentiations. ECDH is based on the following property of EC points: (a * G) * b = (b * G) * a If we have two secret numbers a and b (two private keys, belonging to Alice and Bob) and an ECC elliptic curve with generator point G, we can exchange over an insecure channel the values (a * G) and (b * G) (the public keys of Alice and Bob) and then we can derive a shared secret: secret = (a * G) * b = (b * G) * a. Pretty simple. The above equation takes the following form: alicePubKey * bobPrivKey = bobPubKey * alicePrivKey = secret

    Author
    Ashish Daulatabad
    + +

    Definition in file elliptic_curve_key_exchange.cpp.

    Function Documentation

    ◆ main()

    @@ -190,21 +211,18 @@ Functions

    Main function.

    Returns
    0 on exit
    + +

    Definition at line 320 of file elliptic_curve_key_exchange.cpp.

    320 {
    321 uint128_t_tests(); // running predefined 128-bit unsigned integer tests
    322 uint256_t_tests(); // running predefined 256-bit unsigned integer tests
    323 test(); // running self-test implementations
    324 return 0;
    325}
    -
    static void uint256_t_tests()
    Function to test the uint256_t header.
    Definition elliptic_curve_key_exchange.cpp:230
    -
    static void uint128_t_tests()
    Function to test the uint128_t header.
    Definition elliptic_curve_key_exchange.cpp:197
    -
    static void test()
    Function to test the provided algorithm above.
    Definition elliptic_curve_key_exchange.cpp:267
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static void uint256_t_tests()
    Function to test the uint256_t header.
    +
    static void uint128_t_tests()
    Function to test the uint128_t header.
    +
    static void test()
    Function to test the provided algorithm above.
    + @@ -232,6 +250,8 @@ Here is the call graph for this function:

    Function to test the provided algorithm above.

    Returns
    void
    + +

    Definition at line 267 of file elliptic_curve_key_exchange.cpp.

    267 {
    268 // demonstration of key exchange using curve secp112r1
    269
    @@ -247,22 +267,22 @@ Here is the call graph for this function:
    279
    280 // Shared key generation.
    281 // For alice
    -
    282 std::cout << "For alice:\n";
    +
    282 std::cout << "For alice:\n";
    283 // Alice's private key (can be generated randomly)
    284 uint256_t alice_private_key("164330438812053169644452143505618");
    286 multiply(ptr, a, alice_private_key, mod);
    -
    287 std::cout << "\tPrivate key: " << alice_private_key << "\n";
    -
    288 std::cout << "\tPublic Key: " << alice_public_key << std::endl;
    +
    287 std::cout << "\tPrivate key: " << alice_private_key << "\n";
    +
    288 std::cout << "\tPublic Key: " << alice_public_key << std::endl;
    289
    290 // For Bob
    -
    291 std::cout << "For Bob:\n";
    +
    291 std::cout << "For Bob:\n";
    292 // Bob's private key (can be generated randomly)
    293 uint256_t bob_private_key("1959473333748537081510525763478373");
    295 multiply(ptr, a, bob_private_key, mod);
    -
    296 std::cout << "\tPrivate key: " << bob_private_key << "\n";
    -
    297 std::cout << "\tPublic Key: " << bob_public_key << std::endl;
    +
    296 std::cout << "\tPrivate key: " << bob_private_key << "\n";
    +
    297 std::cout << "\tPublic Key: " << bob_public_key << std::endl;
    298
    299 // After public key exchange, create a shared key for communication.
    300 // create shared key:
    @@ -273,24 +293,17 @@ Here is the call graph for this function:
    305 alice_public_key, a,
    306 bob_private_key, mod);
    307
    -
    308 std::cout << "Shared keys:\n";
    -
    309 std::cout << alice_shared_key << std::endl;
    -
    310 std::cout << bob_shared_key << std::endl;
    +
    308 std::cout << "Shared keys:\n";
    +
    309 std::cout << alice_shared_key << std::endl;
    +
    310 std::cout << bob_shared_key << std::endl;
    311
    312 // Check whether shared keys are equal
    313 assert(alice_shared_key == bob_shared_key);
    314}
    - -
    class for 256-bit unsigned integer
    Definition uint256_t.hpp:33
    -
    T endl(T... args)
    -
    int multiply(int x, int res[], int res_size)
    Definition power_for_huge_numbers.cpp:25
    -
    Definition of struct Point.
    Definition elliptic_curve_key_exchange.cpp:46
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    class for 256-bit unsigned integer
    Definition uint256_t.hpp:33
    +
    int multiply(int x, int res[], int res_size)
    + + @@ -318,6 +331,8 @@ Here is the call graph for this function:

    Function to test the uint128_t header.

    Returns
    void
    + +

    Definition at line 197 of file elliptic_curve_key_exchange.cpp.

    197 {
    198 // 1st test: Operations test
    199 uint128_t a("122"), b("2312");
    @@ -345,7 +360,7 @@ Here is the call graph for this function:
    221 assert((a ^ b) == uint128_t("12321421424217440294"));
    222 assert((a << 64) == uint128_t("227290107637132170748078080907806769152"));
    223}
    -
    class for 128-bit unsigned integer
    Definition uint128_t.hpp:60
    +
    class for 128-bit unsigned integer
    Definition uint128_t.hpp:60
    @@ -374,6 +389,8 @@ Here is the call graph for this function:

    Function to test the uint256_t header.

    Returns
    void
    + +

    Definition at line 230 of file elliptic_curve_key_exchange.cpp.

    230 {
    231 // 1st test: Operations test
    232 uint256_t a("122"), b("2312");
    diff --git a/df/d2c/elliptic__curve__key__exchange_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map b/df/d2c/elliptic__curve__key__exchange_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map deleted file mode 100644 index 49773abf4..000000000 --- a/df/d2c/elliptic__curve__key__exchange_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/df/d2c/elliptic__curve__key__exchange_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 b/df/d2c/elliptic__curve__key__exchange_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 deleted file mode 100644 index 12fac6537..000000000 --- a/df/d2c/elliptic__curve__key__exchange_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -caf745e54a1b4b20ae01a3e9e116a8e3 \ No newline at end of file diff --git a/df/d2c/elliptic__curve__key__exchange_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg b/df/d2c/elliptic__curve__key__exchange_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg deleted file mode 100644 index 97bc3db98..000000000 --- a/df/d2c/elliptic__curve__key__exchange_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -multiply - - - - - -Node1->Node3 - - - - - - - - - - - - - diff --git a/df/d2c/elliptic__curve__key__exchange_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg b/df/d2c/elliptic__curve__key__exchange_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg deleted file mode 100644 index 68baa0e45..000000000 --- a/df/d2c/elliptic__curve__key__exchange_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -multiply - - - - - -Node1->Node3 - - - - - - - - diff --git a/df/d2c/elliptic__curve__key__exchange_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/df/d2c/elliptic__curve__key__exchange_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 1423826fa..000000000 --- a/df/d2c/elliptic__curve__key__exchange_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - diff --git a/df/d2c/elliptic__curve__key__exchange_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/df/d2c/elliptic__curve__key__exchange_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index f68311bb6..000000000 --- a/df/d2c/elliptic__curve__key__exchange_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -712e220a798629e15d8744a1cb28c2ce \ No newline at end of file diff --git a/df/d2c/elliptic__curve__key__exchange_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/df/d2c/elliptic__curve__key__exchange_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 70a6cdc6e..000000000 --- a/df/d2c/elliptic__curve__key__exchange_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,137 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node5 - - -uint128_t_tests - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -uint256_t_tests - - - - - -Node1->Node6 - - - - - - - - -Node3 - - -std::endl - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -multiply - - - - - -Node2->Node4 - - - - - - - - - - - - - diff --git a/df/d2c/elliptic__curve__key__exchange_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/df/d2c/elliptic__curve__key__exchange_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 94fb0daa0..000000000 --- a/df/d2c/elliptic__curve__key__exchange_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,111 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node5 - - -uint128_t_tests - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -uint256_t_tests - - - - - -Node1->Node6 - - - - - - - - -Node3 - - -std::endl - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -multiply - - - - - -Node2->Node4 - - - - - - - - diff --git a/df/d2c/elliptic__curve__key__exchange_8cpp_source.html b/df/d2c/elliptic__curve__key__exchange_8cpp_source.html new file mode 100644 index 000000000..b14eeb8f4 --- /dev/null +++ b/df/d2c/elliptic__curve__key__exchange_8cpp_source.html @@ -0,0 +1,388 @@ + + + + + + + + +TheAlgorithms/C++: ciphers/elliptic_curve_key_exchange.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    +

    Classes

    struct  ciphers::elliptic_curve_key_exchange::Point
    + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + + +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    elliptic_curve_key_exchange.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    24#include <cassert>
    +
    25#include <iostream>
    +
    26
    +
    27#include "uint256_t.hpp"
    +
    28
    +
    33namespace ciphers {
    +
    +
    40namespace elliptic_curve_key_exchange {
    +
    41
    +
    +
    46typedef struct Point {
    +
    47 uint256_t x, y;
    +
    48
    +
    55 inline bool operator==(const Point &p) { return x == p.x && y == p.y; }
    +
    56
    +
    +
    63 friend std::ostream &operator<<(std::ostream &op, const Point &p) {
    +
    64 op << p.x << " " << p.y;
    +
    65 return op;
    +
    66 }
    +
    + +
    +
    68
    +
    + +
    79 if (!power) {
    +
    80 return uint256_t(1);
    +
    81 }
    +
    82 uint256_t ans(1);
    +
    83 number = number % mod;
    +
    84 while (power) {
    +
    85 if ((power & 1)) {
    +
    86 ans = (ans * number) % mod;
    +
    87 }
    +
    88 power >>= 1;
    +
    89 if (power) {
    +
    90 number = (number * number) % mod;
    +
    91 }
    +
    92 }
    +
    93 return ans;
    +
    94}
    +
    +
    95
    +
    +
    110Point addition(Point a, Point b, const uint256_t &curve_a_coeff,
    +
    111 uint256_t mod) {
    +
    112 uint256_t lambda(0);
    +
    113 uint256_t zero(0);
    +
    114 lambda = zero = 0;
    +
    115 uint256_t inf = ~zero;
    +
    116 if (a.x != b.x || a.y != b.y) {
    +
    117 // Slope being infinite.
    +
    118 if (b.x == a.x) {
    +
    119 return {inf, inf};
    +
    120 }
    +
    121 uint256_t num = (b.y - a.y + mod), den = (b.x - a.x + mod);
    +
    122 lambda = (num * (exp(den, mod - 2, mod))) % mod;
    +
    123 } else {
    +
    134 if (!a.y) {
    +
    135 return {inf, inf};
    +
    136 }
    +
    137 uint256_t axsq = ((a.x * a.x)) % mod;
    +
    138 // Mulitply by 3 adjustment
    +
    139 axsq += (axsq << 1);
    +
    140 axsq %= mod;
    +
    141 // Mulitply by 2 adjustment
    +
    142 uint256_t a_2 = (a.y << 1);
    +
    143 lambda =
    +
    144 (((axsq + curve_a_coeff) % mod) * exp(a_2, mod - 2, mod)) % mod;
    +
    145 }
    +
    146 Point c;
    +
    147 // new point: x = ((lambda^2) - x1 - x2)
    +
    148 // y = (lambda * (x1 - x)) - y1
    +
    149 c.x = ((lambda * lambda) % mod + (mod << 1) - a.x - b.x) % mod;
    +
    150 c.y = (((lambda * (a.x + mod - c.x)) % mod) + mod - a.y) % mod;
    +
    151 return c;
    +
    152}
    +
    +
    153
    +
    +
    165Point multiply(const Point &a, const uint256_t &curve_a_coeff, uint256_t p,
    +
    166 const uint256_t &mod) {
    +
    167 Point N = a;
    +
    168 N.x %= mod;
    +
    169 N.y %= mod;
    +
    170 uint256_t inf{};
    +
    171 inf = ~uint256_t(0);
    +
    172 Point Q = {inf, inf};
    +
    173 while (p) {
    +
    174 if ((p & 1)) {
    +
    175 if (Q.x == inf && Q.y == inf) {
    +
    176 Q.x = N.x;
    +
    177 Q.y = N.y;
    +
    178 } else {
    +
    179 Q = addition(Q, N, curve_a_coeff, mod);
    +
    180 }
    +
    181 }
    +
    182 p >>= 1;
    +
    183 if (p) {
    +
    184 N = addition(N, N, curve_a_coeff, mod);
    +
    185 }
    +
    186 }
    +
    187 return Q;
    +
    188}
    +
    +
    189} // namespace elliptic_curve_key_exchange
    +
    +
    190} // namespace ciphers
    +
    191
    +
    +
    197static void uint128_t_tests() {
    +
    198 // 1st test: Operations test
    +
    199 uint128_t a("122"), b("2312");
    +
    200 assert(a + b == 2434);
    +
    201 assert(b - a == 2190);
    +
    202 assert(a * b == 282064);
    +
    203 assert(b / a == 18);
    +
    204 assert(b % a == 116);
    +
    205 assert((a & b) == 8);
    +
    206 assert((a | b) == 2426);
    +
    207 assert((a ^ b) == 2418);
    +
    208 assert((a << 64) == uint128_t("2250502776992565297152"));
    +
    209 assert((b >> 7) == 18);
    +
    210
    +
    211 // 2nd test: Operations test
    +
    212 a = uint128_t("12321421424232142122");
    +
    213 b = uint128_t("23123212");
    +
    214 assert(a + b == uint128_t("12321421424255265334"));
    +
    215 assert(a - b == uint128_t("12321421424209018910"));
    +
    216 assert(a * b == uint128_t("284910839733861759501135864"));
    +
    217 assert(a / b == 532859423865LL);
    +
    218 assert(a % b == 3887742);
    +
    219 assert((a & b) == 18912520);
    +
    220 assert((a | b) == uint128_t("12321421424236352814"));
    +
    221 assert((a ^ b) == uint128_t("12321421424217440294"));
    +
    222 assert((a << 64) == uint128_t("227290107637132170748078080907806769152"));
    +
    223}
    +
    +
    224
    +
    +
    230static void uint256_t_tests() {
    +
    231 // 1st test: Operations test
    +
    232 uint256_t a("122"), b("2312");
    +
    233 assert(a + b == 2434);
    +
    234 assert(b - a == 2190);
    +
    235 assert(a * b == 282064);
    +
    236 assert(b / a == 18);
    +
    237 assert(b % a == 116);
    +
    238 assert((a & b) == 8);
    +
    239 assert((a | b) == 2426);
    +
    240 assert((a ^ b) == 2418);
    +
    241 assert((a << 64) == uint256_t("2250502776992565297152"));
    +
    242 assert((b >> 7) == 18);
    +
    243
    +
    244 // 2nd test: Operations test
    +
    245 a = uint256_t("12321423124513251424232142122");
    +
    246 b = uint256_t("23124312431243243215354315132413213212");
    +
    247 assert(a + b == uint256_t("23124312443564666339867566556645355334"));
    +
    248 // Since a < b, the value is greater
    +
    249 assert(a - b == uint256_t("115792089237316195423570985008687907853246860353"
    +
    250 "221642219366742944204948568846"));
    +
    251 assert(a * b == uint256_t("284924437928789743312147393953938013677909398222"
    +
    252 "169728183872115864"));
    +
    253 assert(b / a == uint256_t("1876756621"));
    +
    254 assert(b % a == uint256_t("2170491202688962563936723450"));
    +
    255 assert((a & b) == uint256_t("3553901085693256462344"));
    +
    256 assert((a | b) == uint256_t("23124312443564662785966480863388892990"));
    +
    257 assert((a ^ b) == uint256_t("23124312443564659232065395170132430646"));
    +
    258 assert((a << 128) == uint256_t("4192763024643754272961909047609369343091683"
    +
    259 "376561852756163540549632"));
    +
    260}
    +
    +
    261
    +
    +
    267static void test() {
    +
    268 // demonstration of key exchange using curve secp112r1
    +
    269
    +
    270 // Equation of the form y^2 = (x^3 + ax + b) % P (here p is mod)
    +
    271 uint256_t a("4451685225093714772084598273548424"),
    +
    272 b("2061118396808653202902996166388514"),
    +
    273 mod("4451685225093714772084598273548427");
    +
    274
    +
    275 // Generator value: is pre-defined for the given curve
    + +
    277 uint256_t("188281465057972534892223778713752"),
    +
    278 uint256_t("3419875491033170827167861896082688")};
    +
    279
    +
    280 // Shared key generation.
    +
    281 // For alice
    +
    282 std::cout << "For alice:\n";
    +
    283 // Alice's private key (can be generated randomly)
    +
    284 uint256_t alice_private_key("164330438812053169644452143505618");
    + +
    286 multiply(ptr, a, alice_private_key, mod);
    +
    287 std::cout << "\tPrivate key: " << alice_private_key << "\n";
    +
    288 std::cout << "\tPublic Key: " << alice_public_key << std::endl;
    +
    289
    +
    290 // For Bob
    +
    291 std::cout << "For Bob:\n";
    +
    292 // Bob's private key (can be generated randomly)
    +
    293 uint256_t bob_private_key("1959473333748537081510525763478373");
    + +
    295 multiply(ptr, a, bob_private_key, mod);
    +
    296 std::cout << "\tPrivate key: " << bob_private_key << "\n";
    +
    297 std::cout << "\tPublic Key: " << bob_public_key << std::endl;
    +
    298
    +
    299 // After public key exchange, create a shared key for communication.
    +
    300 // create shared key:
    + +
    302 bob_public_key, a,
    +
    303 alice_private_key, mod),
    +
    304 bob_shared_key = multiply(
    +
    305 alice_public_key, a,
    +
    306 bob_private_key, mod);
    +
    307
    +
    308 std::cout << "Shared keys:\n";
    +
    309 std::cout << alice_shared_key << std::endl;
    +
    310 std::cout << bob_shared_key << std::endl;
    +
    311
    +
    312 // Check whether shared keys are equal
    +
    313 assert(alice_shared_key == bob_shared_key);
    +
    314}
    +
    +
    315
    +
    +
    320int main() {
    +
    321 uint128_t_tests(); // running predefined 128-bit unsigned integer tests
    +
    322 uint256_t_tests(); // running predefined 256-bit unsigned integer tests
    +
    323 test(); // running self-test implementations
    +
    324 return 0;
    +
    325}
    +
    +
    class for 128-bit unsigned integer
    Definition uint128_t.hpp:60
    +
    class for 256-bit unsigned integer
    Definition uint256_t.hpp:33
    +
    static void uint256_t_tests()
    Function to test the uint256_t header.
    +
    static void uint128_t_tests()
    Function to test the uint128_t header.
    +
    static void test()
    Function to test the provided algorithm above.
    +
    int main()
    Main function.
    +
    Point multiply(const Point &a, const uint256_t &curve_a_coeff, uint256_t p, const uint256_t &mod)
    multiply Point and integer
    +
    uint256_t exp(uint256_t number, uint256_t power, const uint256_t &mod)
    This function calculates number raised to exponent power under modulo mod using Modular Exponentiatio...
    +
    Point addition(Point a, Point b, const uint256_t &curve_a_coeff, uint256_t mod)
    Addition of points.
    +
    struct ciphers::elliptic_curve_key_exchange::Point Point
    Definition of struct Point.
    +
    Algorithms for encryption and decryption.
    +
    int multiply(int x, int res[], int res_size)
    +
    void power(int x, int n)
    + +
    bool operator==(const Point &p)
    x and y co-ordinates
    +
    friend std::ostream & operator<<(std::ostream &op, const Point &p)
    ostream operator for printing Point
    + +
    +
    + + + + diff --git a/df/d31/floyd__warshall_8cpp_source.html b/df/d31/floyd__warshall_8cpp_source.html new file mode 100644 index 000000000..319cbdc4c --- /dev/null +++ b/df/d31/floyd__warshall_8cpp_source.html @@ -0,0 +1,252 @@ + + + + + + + + +TheAlgorithms/C++: dynamic_programming/floyd_warshall.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    floyd_warshall.cpp
    +
    +
    +
    1#include <climits>
    +
    2#include <cstddef>
    +
    3#include <iostream>
    +
    4#include <vector>
    +
    5
    +
    6using std::cin;
    +
    7using std::cout;
    +
    8using std::endl;
    +
    9
    +
    10// Wrapper class for storing a graph
    +
    11class Graph {
    +
    12 public:
    +
    13 int vertexNum;
    +
    14 int **edges;
    +
    15
    +
    16 // Constructs a graph with V vertices and E edges
    +
    17 Graph(int V) {
    +
    18 this->vertexNum = V;
    +
    19 this->edges = new int *[V];
    +
    20 for (int i = 0; i < V; i++) {
    +
    21 this->edges[i] = new int[V];
    +
    22 for (int j = 0; j < V; j++) this->edges[i][j] = INT_MAX;
    +
    23 this->edges[i][i] = 0;
    +
    24 }
    +
    25 }
    +
    26
    +
    27 ~Graph() {
    +
    28 for (int i = 0; i < vertexNum; i++) {
    +
    29 delete[] edges[i];
    +
    30 }
    +
    31 delete[] edges;
    +
    32 }
    +
    33
    +
    34 // Adds the given edge to the graph
    +
    35 void addEdge(int src, int dst, int weight) {
    +
    36 this->edges[src][dst] = weight;
    +
    37 }
    +
    38};
    +
    39
    +
    40// Utility function to print distances
    +
    41void print(const std::vector<int>& dist, int V) {
    +
    42 cout << "\nThe Distance matrix for Floyd - Warshall" << endl;
    +
    43 for (int i = 0; i < V; i++) {
    +
    44 for (int j = 0; j < V; j++) {
    +
    45 if (dist[i * V + j] != INT_MAX)
    +
    46 cout << dist[i * V + j] << "\t";
    +
    47 else
    +
    48 cout << "INF"
    +
    49 << "\t";
    +
    50 }
    +
    51 cout << endl;
    +
    52 }
    +
    53}
    +
    54
    +
    55// The main function that finds the shortest path from a vertex
    +
    56// to all other vertices using Floyd-Warshall Algorithm.
    +
    57void FloydWarshall(Graph graph) {
    +
    58 std::size_t V = graph.vertexNum;
    +
    59 std::vector<std::vector<int> > dist(V, std::vector<int>(V));
    +
    60
    +
    61 // Initialise distance array
    +
    62 for (int i = 0; i < V; i++)
    +
    63 for (int j = 0; j < V; j++) dist[i][j] = graph.edges[i][j];
    +
    64
    +
    65 // Calculate distances
    +
    66 for (int k = 0; k < V; k++)
    +
    67 // Choose an intermediate vertex
    +
    68
    +
    69 for (int i = 0; i < V; i++)
    +
    70 // Choose a source vertex for given intermediate
    +
    71
    +
    72 for (int j = 0; j < V; j++)
    +
    73 // Choose a destination vertex for above source vertex
    +
    74
    +
    75 if (dist[i][k] != INT_MAX && dist[k][j] != INT_MAX &&
    +
    76 dist[i][k] + dist[k][j] < dist[i][j])
    +
    77 // If the distance through intermediate vertex is less than
    +
    78 // direct edge then update value in distance array
    +
    79 dist[i][j] = dist[i][k] + dist[k][j];
    +
    80
    +
    81 // Convert 2d array to 1d array for print
    +
    82 std::vector<int> dist1d(V * V);
    +
    83 for (int i = 0; i < V; i++)
    +
    84 for (int j = 0; j < V; j++) dist1d[i * V + j] = dist[i][j];
    +
    85
    +
    86 print(dist1d, V);
    +
    87}
    +
    88
    +
    89// Driver Function
    +
    90int main() {
    +
    91 int V, E;
    +
    92 int src, dst, weight;
    +
    93 cout << "Enter number of vertices: ";
    +
    94 cin >> V;
    +
    95 cout << "Enter number of edges: ";
    +
    96 cin >> E;
    +
    97 Graph G(V);
    +
    98 for (int i = 0; i < E; i++) {
    +
    99 cout << "\nEdge " << i + 1 << "\nEnter source: ";
    +
    100 cin >> src;
    +
    101 cout << "Enter destination: ";
    +
    102 cin >> dst;
    +
    103 cout << "Enter weight: ";
    +
    104 cin >> weight;
    +
    105 G.addEdge(src, dst, weight);
    +
    106 }
    +
    107 FloydWarshall(G);
    +
    108
    +
    109 return 0;
    +
    110}
    + +
    double k(double x)
    Another test function.
    +
    int main()
    Main function.
    +
    #define endl
    +
    Graph Algorithms.
    +
    +
    + + + + diff --git a/df/d34/classprobability_1_1windowed__median_1_1_windowed_median.html b/df/d34/classprobability_1_1windowed__median_1_1_windowed_median.html index fc6268713..6f58cd2ae 100644 --- a/df/d34/classprobability_1_1windowed__median_1_1_windowed_median.html +++ b/df/d34/classprobability_1_1windowed__median_1_1_windowed_median.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: probability::windowed_median::WindowedMedian Class Reference +TheAlgorithms/C++: probability::windowed_median::WindowedMedian Class Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -147,21 +164,21 @@ Private Member Functions
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    - - + + - - + + - + - +

    Private Attributes

    -const size_type _windowSize
     sliding window size
    const size_type _windowSize
     sliding window size
     
    -Window _window
     a sliding window of values along the stream
    Window _window
     a sliding window of values along the stream
     
    std::multiset< int > _sortedValues
    std::multiset< int > _sortedValues
     
    std::multiset< int >::const_iterator _itMedian
    std::multiset< int >::const_iterator _itMedian
     

    Detailed Description

    A class to calculate the median of a leading sliding window at the back of a stream of integer values.

    + +

    Definition at line 56 of file windowed_median.cpp.

    Constructor & Destructor Documentation

    ◆ WindowedMedian()

    @@ -193,8 +210,10 @@ const size_type _windowSiz + +

    Definition at line 123 of file windowed_median.cpp.

    123: _windowSize(windowSize){};
    -
    const size_type _windowSize
    sliding window size
    Definition windowed_median.cpp:57
    +
    const size_type _windowSize
    sliding window size
    @@ -233,39 +252,25 @@ const size_type _windowSiz

    O(1) - traversing one step to the right child

    However, if the erased value is on the right branch or the median itself, and the number of elements is odd, the new median will be the left child of the current one

    Find the (first) position of the value we want to erase, and erase it

    + +

    Definition at line 95 of file windowed_median.cpp.

    95 {
    -
    96 const auto sz = _sortedValues.size();
    -
    97
    -
    98 /// If the erased value is on the left branch or the median itself and
    -
    99 /// the number of elements is even, the new median will be the right
    -
    100 /// child of the current one
    -
    101 if (value <= *_itMedian && sz % 2 == 0) {
    -
    102 ++_itMedian; /// O(1) - traversing one step to the right child
    +
    96 const auto sz = _sortedValues.size();
    +
    97
    +
    101 if (value <= *_itMedian && sz % 2 == 0) {
    +
    102 ++_itMedian;
    103 }
    -
    104
    -
    105 /// However, if the erased value is on the right branch or the median
    -
    106 /// itself, and the number of elements is odd, the new median will be
    -
    107 /// the left child of the current one
    -
    108 else if (value >= *_itMedian && sz % 2 != 0) {
    +
    104
    +
    108 else if (value >= *_itMedian && sz % 2 != 0) {
    109 --_itMedian; // O(1) - traversing one step to the left child
    110 }
    -
    111
    -
    112 /// Find the (first) position of the value we want to erase, and erase
    -
    113 /// it
    -
    114 const auto it = _sortedValues.find(value); // O(logN)
    -
    115 _sortedValues.erase(it); // O(logN)
    +
    111
    +
    114 const auto it = _sortedValues.find(value); // O(logN)
    +
    115 _sortedValues.erase(it); // O(logN)
    116 }
    -
    std::multiset< int >::const_iterator _itMedian
    Definition windowed_median.cpp:62
    -
    std::multiset< int > _sortedValues
    Definition windowed_median.cpp:59
    -
    T erase(T... args)
    -
    T find(T... args)
    -
    T size(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    std::multiset< int >::const_iterator _itMedian
    + + @@ -294,19 +299,15 @@ Here is the call graph for this function:

    Gets the median of the values in the sliding window.

    Returns
    Median of sliding window. For even window size return the average between the two values in the middle

    O(1)

    + +

    Definition at line 148 of file windowed_median.cpp.

    148 {
    -
    149 if (_sortedValues.size() % 2 != 0) {
    +
    149 if (_sortedValues.size() % 2 != 0) {
    150 return *_itMedian; // O(1)
    151 }
    -
    152 return 0.5f * *_itMedian + 0.5f * *next(_itMedian); /// O(1)
    +
    152 return 0.5f * *_itMedian + 0.5f * *next(_itMedian);
    153 }
    -
    T next(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -337,26 +338,22 @@ Here is the call graph for this function:

    Sort window - O(NlogN)

    Find value in the middle - O(N)

    O(N)

    + +

    Definition at line 161 of file windowed_median.cpp.

    161 {
    162 auto window = _window;
    -
    163 window.sort(); /// Sort window - O(NlogN)
    +
    163 window.sort();
    164 auto median =
    -
    165 *next(window.begin(),
    -
    166 window.size() / 2); /// Find value in the middle - O(N)
    +
    165 *next(window.begin(),
    +
    166 window.size() / 2);
    167 if (window.size() % 2 != 0) {
    168 return median;
    169 }
    170 return 0.5f * median +
    -
    171 0.5f * *next(window.begin(), window.size() / 2 - 1); /// O(N)
    +
    171 0.5f * *next(window.begin(), window.size() / 2 - 1);
    172 }
    -
    Window _window
    a sliding window of values along the stream
    Definition windowed_median.cpp:58
    -
    T sort(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    Window _window
    a sliding window of values along the stream
    + @@ -393,30 +390,20 @@ Here is the call graph for this function:

    If exceeding size of window, pop from its left side

    Erase from the multi-value BST the window left side value

    Pop the left side value from the window - O(1)

    -
    129 {
    -
    130 /// Push new value to the back of the sliding window - O(1)
    -
    131 _window.push_back(value);
    -
    132 insertToSorted(value); // Insert value to the multi-value BST - O(logN)
    -
    133 if (_window.size() > _windowSize) { /// If exceeding size of window,
    -
    134 /// pop from its left side
    - -
    136 _window.front()); /// Erase from the multi-value BST
    -
    137 /// the window left side value
    -
    138 _window.pop_front(); /// Pop the left side value from the window -
    -
    139 /// O(1)
    -
    140 }
    -
    141 }
    -
    void insertToSorted(int value)
    Inserts a value to a sorted multi-value BST.
    Definition windowed_median.cpp:69
    -
    void eraseFromSorted(int value)
    Erases a value from a sorted multi-value BST.
    Definition windowed_median.cpp:95
    -
    T front(T... args)
    -
    T pop_front(T... args)
    -
    T push_back(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    +

    Definition at line 129 of file windowed_median.cpp.

    +
    129 {
    +
    131 _window.push_back(value);
    +
    132 insertToSorted(value); // Insert value to the multi-value BST - O(logN)
    +
    133 if (_window.size() > _windowSize) {
    + +
    136 _window.front());
    +
    138 _window.pop_front();
    +
    140 }
    +
    141 }
    +
    void insertToSorted(int value)
    Inserts a value to a sorted multi-value BST.
    +
    void eraseFromSorted(int value)
    Erases a value from a sorted multi-value BST.
    +
    @@ -454,35 +441,25 @@ Here is the call graph for this function:

    If new value goes to left tree branch, and number of elements is even, the new median in the balanced tree is the left child of the median before the insertion

    However, if the new value goes to the right branch, the previous median's right child is the new median in the balanced tree

    O(1) - traversing one step to the right child

    + +

    Definition at line 69 of file windowed_median.cpp.

    69 {
    -
    70 _sortedValues.insert(value); /// Insert value to BST - O(logN)
    -
    71 const auto sz = _sortedValues.size();
    -
    72 if (sz == 1) { /// For the first value, set median iterator to BST root
    - +
    70 _sortedValues.insert(value);
    +
    71 const auto sz = _sortedValues.size();
    +
    72 if (sz == 1) {
    +
    73 _itMedian = _sortedValues.begin();
    74 return;
    75 }
    -
    76
    -
    77 /// If new value goes to left tree branch, and number of elements is
    -
    78 /// even, the new median in the balanced tree is the left child of the
    -
    79 /// median before the insertion
    -
    80 if (value < *_itMedian && sz % 2 == 0) {
    +
    76
    +
    80 if (value < *_itMedian && sz % 2 == 0) {
    81 --_itMedian; // O(1) - traversing one step to the left child
    82 }
    -
    83
    -
    84 /// However, if the new value goes to the right branch, the previous
    -
    85 /// median's right child is the new median in the balanced tree
    -
    86 else if (value >= *_itMedian && sz % 2 != 0) {
    -
    87 ++_itMedian; /// O(1) - traversing one step to the right child
    +
    83
    +
    86 else if (value >= *_itMedian && sz % 2 != 0) {
    +
    87 ++_itMedian;
    88 }
    89 }
    -
    T begin(T... args)
    -
    T insert(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +

    Member Data Documentation

    @@ -496,7 +473,7 @@ Here is the call graph for this function: - +
    std::multiset<int>::const_iterator probability::windowed_median::WindowedMedian::_itMedianstd::multiset<int>::const_iterator probability::windowed_median::WindowedMedian::_itMedian
    @@ -507,6 +484,8 @@ Here is the call graph for this function:

    an iterator that points to the root of the multi-value BST

    +

    Definition at line 62 of file windowed_median.cpp.

    +
    @@ -519,7 +498,7 @@ Here is the call graph for this function: - +
    std::multiset<int> probability::windowed_median::WindowedMedian::_sortedValuesstd::multiset<int> probability::windowed_median::WindowedMedian::_sortedValues
    @@ -530,10 +509,64 @@ Here is the call graph for this function:

    a DS to represent a balanced multi-value binary search tree (BST)

    +

    Definition at line 59 of file windowed_median.cpp.

    + +
    + + +

    ◆ _window

    + +
    +
    + + + + + +
    + + + + +
    Window probability::windowed_median::WindowedMedian::_window
    +
    +private
    +
    + +

    a sliding window of values along the stream

    + +

    Definition at line 58 of file windowed_median.cpp.

    + +
    +
    + +

    ◆ _windowSize

    + +
    +
    + + + + + +
    + + + + +
    const size_type probability::windowed_median::WindowedMedian::_windowSize
    +
    +private
    +
    + +

    sliding window size

    + +

    Definition at line 57 of file windowed_median.cpp.

    +

    The documentation for this class was generated from the following file: diff --git a/df/d34/classprobability_1_1windowed__median_1_1_windowed_median_a3a7f57679e9cd6c9f042dfd0612b2b24_cgraph.map b/df/d34/classprobability_1_1windowed__median_1_1_windowed_median_a3a7f57679e9cd6c9f042dfd0612b2b24_cgraph.map deleted file mode 100644 index f70acc806..000000000 --- a/df/d34/classprobability_1_1windowed__median_1_1_windowed_median_a3a7f57679e9cd6c9f042dfd0612b2b24_cgraph.map +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/df/d34/classprobability_1_1windowed__median_1_1_windowed_median_a3a7f57679e9cd6c9f042dfd0612b2b24_cgraph.md5 b/df/d34/classprobability_1_1windowed__median_1_1_windowed_median_a3a7f57679e9cd6c9f042dfd0612b2b24_cgraph.md5 deleted file mode 100644 index 6776d52b9..000000000 --- a/df/d34/classprobability_1_1windowed__median_1_1_windowed_median_a3a7f57679e9cd6c9f042dfd0612b2b24_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -23af3cec44715d19fdc09fc1d904afae \ No newline at end of file diff --git a/df/d34/classprobability_1_1windowed__median_1_1_windowed_median_a3a7f57679e9cd6c9f042dfd0612b2b24_cgraph.svg b/df/d34/classprobability_1_1windowed__median_1_1_windowed_median_a3a7f57679e9cd6c9f042dfd0612b2b24_cgraph.svg deleted file mode 100644 index 2916d089f..000000000 --- a/df/d34/classprobability_1_1windowed__median_1_1_windowed_median_a3a7f57679e9cd6c9f042dfd0612b2b24_cgraph.svg +++ /dev/null @@ -1,103 +0,0 @@ - - - - - - - - - - - - -probability::windowed_median::WindowedMedian::insertToSorted - - -Node1 - - -probability::windowed -_median::WindowedMedian -::insertToSorted - - - - - -Node2 - - -std::multiset::begin - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::multiset::insert - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::multiset::size - - - - - -Node1->Node4 - - - - - - - - - - - - - diff --git a/df/d34/classprobability_1_1windowed__median_1_1_windowed_median_a3a7f57679e9cd6c9f042dfd0612b2b24_cgraph_org.svg b/df/d34/classprobability_1_1windowed__median_1_1_windowed_median_a3a7f57679e9cd6c9f042dfd0612b2b24_cgraph_org.svg deleted file mode 100644 index dae6d372f..000000000 --- a/df/d34/classprobability_1_1windowed__median_1_1_windowed_median_a3a7f57679e9cd6c9f042dfd0612b2b24_cgraph_org.svg +++ /dev/null @@ -1,77 +0,0 @@ - - - - - - -probability::windowed_median::WindowedMedian::insertToSorted - - -Node1 - - -probability::windowed -_median::WindowedMedian -::insertToSorted - - - - - -Node2 - - -std::multiset::begin - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::multiset::insert - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::multiset::size - - - - - -Node1->Node4 - - - - - - - - diff --git a/df/d34/classprobability_1_1windowed__median_1_1_windowed_median_a61804988fcb1a6caf640f8291979aaa6_cgraph.map b/df/d34/classprobability_1_1windowed__median_1_1_windowed_median_a61804988fcb1a6caf640f8291979aaa6_cgraph.map deleted file mode 100644 index f6a5eef4a..000000000 --- a/df/d34/classprobability_1_1windowed__median_1_1_windowed_median_a61804988fcb1a6caf640f8291979aaa6_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/df/d34/classprobability_1_1windowed__median_1_1_windowed_median_a61804988fcb1a6caf640f8291979aaa6_cgraph.md5 b/df/d34/classprobability_1_1windowed__median_1_1_windowed_median_a61804988fcb1a6caf640f8291979aaa6_cgraph.md5 deleted file mode 100644 index 99a196c5d..000000000 --- a/df/d34/classprobability_1_1windowed__median_1_1_windowed_median_a61804988fcb1a6caf640f8291979aaa6_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -ec1b5cae49714a888e2f851fe6e922f2 \ No newline at end of file diff --git a/df/d34/classprobability_1_1windowed__median_1_1_windowed_median_a61804988fcb1a6caf640f8291979aaa6_cgraph.svg b/df/d34/classprobability_1_1windowed__median_1_1_windowed_median_a61804988fcb1a6caf640f8291979aaa6_cgraph.svg deleted file mode 100644 index 33a544909..000000000 --- a/df/d34/classprobability_1_1windowed__median_1_1_windowed_median_a61804988fcb1a6caf640f8291979aaa6_cgraph.svg +++ /dev/null @@ -1,67 +0,0 @@ - - - - - - - - - - - - -probability::windowed_median::WindowedMedian::getMedianNaive - - -Node1 - - -probability::windowed -_median::WindowedMedian -::getMedianNaive - - - - - -Node2 - - -std::list::sort - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/df/d34/classprobability_1_1windowed__median_1_1_windowed_median_a61804988fcb1a6caf640f8291979aaa6_cgraph_org.svg b/df/d34/classprobability_1_1windowed__median_1_1_windowed_median_a61804988fcb1a6caf640f8291979aaa6_cgraph_org.svg deleted file mode 100644 index d4ff57d8d..000000000 --- a/df/d34/classprobability_1_1windowed__median_1_1_windowed_median_a61804988fcb1a6caf640f8291979aaa6_cgraph_org.svg +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - -probability::windowed_median::WindowedMedian::getMedianNaive - - -Node1 - - -probability::windowed -_median::WindowedMedian -::getMedianNaive - - - - - -Node2 - - -std::list::sort - - - - - -Node1->Node2 - - - - - - - - diff --git a/df/d34/classprobability_1_1windowed__median_1_1_windowed_median_a6b52b7851750f28d53508e63c52a69f7_cgraph.map b/df/d34/classprobability_1_1windowed__median_1_1_windowed_median_a6b52b7851750f28d53508e63c52a69f7_cgraph.map deleted file mode 100644 index f7b856406..000000000 --- a/df/d34/classprobability_1_1windowed__median_1_1_windowed_median_a6b52b7851750f28d53508e63c52a69f7_cgraph.map +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/df/d34/classprobability_1_1windowed__median_1_1_windowed_median_a6b52b7851750f28d53508e63c52a69f7_cgraph.md5 b/df/d34/classprobability_1_1windowed__median_1_1_windowed_median_a6b52b7851750f28d53508e63c52a69f7_cgraph.md5 deleted file mode 100644 index 7be927e86..000000000 --- a/df/d34/classprobability_1_1windowed__median_1_1_windowed_median_a6b52b7851750f28d53508e63c52a69f7_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -fec25684f35884d46c18f6f0a7de0130 \ No newline at end of file diff --git a/df/d34/classprobability_1_1windowed__median_1_1_windowed_median_a6b52b7851750f28d53508e63c52a69f7_cgraph.svg b/df/d34/classprobability_1_1windowed__median_1_1_windowed_median_a6b52b7851750f28d53508e63c52a69f7_cgraph.svg deleted file mode 100644 index 350e942f3..000000000 --- a/df/d34/classprobability_1_1windowed__median_1_1_windowed_median_a6b52b7851750f28d53508e63c52a69f7_cgraph.svg +++ /dev/null @@ -1,260 +0,0 @@ - - - - - - - - - - - - -probability::windowed_median::WindowedMedian::insert - - -Node1 - - -probability::windowed -_median::WindowedMedian -::insert - - - - - -Node2 - - -probability::windowed -_median::WindowedMedian -::eraseFromSorted - - - - - -Node1->Node2 - - - - - - - - -Node6 - - -std::list::front - - - - - -Node1->Node6 - - - - - - - - -Node7 - - -probability::windowed -_median::WindowedMedian -::insertToSorted - - - - - -Node1->Node7 - - - - - - - - -Node10 - - -std::list::pop_front - - - - - -Node1->Node10 - - - - - - - - -Node11 - - -std::list::push_back - - - - - -Node1->Node11 - - - - - - - - -Node12 - - -std::list::size - - - - - -Node1->Node12 - - - - - - - - -Node3 - - -std::multiset::erase - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::multiset::find - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -std::multiset::size - - - - - -Node2->Node5 - - - - - - - - -Node7->Node5 - - - - - - - - -Node8 - - -std::multiset::begin - - - - - -Node7->Node8 - - - - - - - - -Node9 - - -std::multiset::insert - - - - - -Node7->Node9 - - - - - - - - - - - - - diff --git a/df/d34/classprobability_1_1windowed__median_1_1_windowed_median_a6b52b7851750f28d53508e63c52a69f7_cgraph_org.svg b/df/d34/classprobability_1_1windowed__median_1_1_windowed_median_a6b52b7851750f28d53508e63c52a69f7_cgraph_org.svg deleted file mode 100644 index f5c290188..000000000 --- a/df/d34/classprobability_1_1windowed__median_1_1_windowed_median_a6b52b7851750f28d53508e63c52a69f7_cgraph_org.svg +++ /dev/null @@ -1,234 +0,0 @@ - - - - - - -probability::windowed_median::WindowedMedian::insert - - -Node1 - - -probability::windowed -_median::WindowedMedian -::insert - - - - - -Node2 - - -probability::windowed -_median::WindowedMedian -::eraseFromSorted - - - - - -Node1->Node2 - - - - - - - - -Node6 - - -std::list::front - - - - - -Node1->Node6 - - - - - - - - -Node7 - - -probability::windowed -_median::WindowedMedian -::insertToSorted - - - - - -Node1->Node7 - - - - - - - - -Node10 - - -std::list::pop_front - - - - - -Node1->Node10 - - - - - - - - -Node11 - - -std::list::push_back - - - - - -Node1->Node11 - - - - - - - - -Node12 - - -std::list::size - - - - - -Node1->Node12 - - - - - - - - -Node3 - - -std::multiset::erase - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::multiset::find - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -std::multiset::size - - - - - -Node2->Node5 - - - - - - - - -Node7->Node5 - - - - - - - - -Node8 - - -std::multiset::begin - - - - - -Node7->Node8 - - - - - - - - -Node9 - - -std::multiset::insert - - - - - -Node7->Node9 - - - - - - - - diff --git a/df/d34/classprobability_1_1windowed__median_1_1_windowed_median_a938cafbdf70dc01e86e9bb12d29ec65d_cgraph.map b/df/d34/classprobability_1_1windowed__median_1_1_windowed_median_a938cafbdf70dc01e86e9bb12d29ec65d_cgraph.map deleted file mode 100644 index 52a4cc3b5..000000000 --- a/df/d34/classprobability_1_1windowed__median_1_1_windowed_median_a938cafbdf70dc01e86e9bb12d29ec65d_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/df/d34/classprobability_1_1windowed__median_1_1_windowed_median_a938cafbdf70dc01e86e9bb12d29ec65d_cgraph.md5 b/df/d34/classprobability_1_1windowed__median_1_1_windowed_median_a938cafbdf70dc01e86e9bb12d29ec65d_cgraph.md5 deleted file mode 100644 index ad62a4c7f..000000000 --- a/df/d34/classprobability_1_1windowed__median_1_1_windowed_median_a938cafbdf70dc01e86e9bb12d29ec65d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -0f3e332de2f999ed26606078d7f048fd \ No newline at end of file diff --git a/df/d34/classprobability_1_1windowed__median_1_1_windowed_median_a938cafbdf70dc01e86e9bb12d29ec65d_cgraph.svg b/df/d34/classprobability_1_1windowed__median_1_1_windowed_median_a938cafbdf70dc01e86e9bb12d29ec65d_cgraph.svg deleted file mode 100644 index b1ca1f9c2..000000000 --- a/df/d34/classprobability_1_1windowed__median_1_1_windowed_median_a938cafbdf70dc01e86e9bb12d29ec65d_cgraph.svg +++ /dev/null @@ -1,67 +0,0 @@ - - - - - - - - - - - - -probability::windowed_median::WindowedMedian::getMedian - - -Node1 - - -probability::windowed -_median::WindowedMedian -::getMedian - - - - - -Node2 - - -std::multiset::size - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/df/d34/classprobability_1_1windowed__median_1_1_windowed_median_a938cafbdf70dc01e86e9bb12d29ec65d_cgraph_org.svg b/df/d34/classprobability_1_1windowed__median_1_1_windowed_median_a938cafbdf70dc01e86e9bb12d29ec65d_cgraph_org.svg deleted file mode 100644 index 106b3e3ac..000000000 --- a/df/d34/classprobability_1_1windowed__median_1_1_windowed_median_a938cafbdf70dc01e86e9bb12d29ec65d_cgraph_org.svg +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - -probability::windowed_median::WindowedMedian::getMedian - - -Node1 - - -probability::windowed -_median::WindowedMedian -::getMedian - - - - - -Node2 - - -std::multiset::size - - - - - -Node1->Node2 - - - - - - - - diff --git a/df/d34/classprobability_1_1windowed__median_1_1_windowed_median_af544e271ea19a6fd69a6b3ed6816453e_cgraph.map b/df/d34/classprobability_1_1windowed__median_1_1_windowed_median_af544e271ea19a6fd69a6b3ed6816453e_cgraph.map deleted file mode 100644 index 583b15d79..000000000 --- a/df/d34/classprobability_1_1windowed__median_1_1_windowed_median_af544e271ea19a6fd69a6b3ed6816453e_cgraph.map +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/df/d34/classprobability_1_1windowed__median_1_1_windowed_median_af544e271ea19a6fd69a6b3ed6816453e_cgraph.md5 b/df/d34/classprobability_1_1windowed__median_1_1_windowed_median_af544e271ea19a6fd69a6b3ed6816453e_cgraph.md5 deleted file mode 100644 index 921973c02..000000000 --- a/df/d34/classprobability_1_1windowed__median_1_1_windowed_median_af544e271ea19a6fd69a6b3ed6816453e_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -acd4114aa4b6e22e94b55d063d346be8 \ No newline at end of file diff --git a/df/d34/classprobability_1_1windowed__median_1_1_windowed_median_af544e271ea19a6fd69a6b3ed6816453e_cgraph.svg b/df/d34/classprobability_1_1windowed__median_1_1_windowed_median_af544e271ea19a6fd69a6b3ed6816453e_cgraph.svg deleted file mode 100644 index 8381b17eb..000000000 --- a/df/d34/classprobability_1_1windowed__median_1_1_windowed_median_af544e271ea19a6fd69a6b3ed6816453e_cgraph.svg +++ /dev/null @@ -1,103 +0,0 @@ - - - - - - - - - - - - -probability::windowed_median::WindowedMedian::eraseFromSorted - - -Node1 - - -probability::windowed -_median::WindowedMedian -::eraseFromSorted - - - - - -Node2 - - -std::multiset::erase - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::multiset::find - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::multiset::size - - - - - -Node1->Node4 - - - - - - - - - - - - - diff --git a/df/d34/classprobability_1_1windowed__median_1_1_windowed_median_af544e271ea19a6fd69a6b3ed6816453e_cgraph_org.svg b/df/d34/classprobability_1_1windowed__median_1_1_windowed_median_af544e271ea19a6fd69a6b3ed6816453e_cgraph_org.svg deleted file mode 100644 index 3ee81beca..000000000 --- a/df/d34/classprobability_1_1windowed__median_1_1_windowed_median_af544e271ea19a6fd69a6b3ed6816453e_cgraph_org.svg +++ /dev/null @@ -1,77 +0,0 @@ - - - - - - -probability::windowed_median::WindowedMedian::eraseFromSorted - - -Node1 - - -probability::windowed -_median::WindowedMedian -::eraseFromSorted - - - - - -Node2 - - -std::multiset::erase - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::multiset::find - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::multiset::size - - - - - -Node1->Node4 - - - - - - - - diff --git a/df/d39/interpolation__search2_8cpp.html b/df/d39/interpolation__search2_8cpp.html index b5bb95ebd..c5de0bc54 100644 --- a/df/d39/interpolation__search2_8cpp.html +++ b/df/d39/interpolation__search2_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: search/interpolation_search2.cpp File Reference +TheAlgorithms/C++: search/interpolation_search2.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -118,7 +135,9 @@ Include dependency graph for interpolation_search2.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -128,6 +147,8 @@ Functions

    Functions

    int InterpolationSearch (int A[], int n, int x)

    Detailed Description

    Interpolation search algorithm

    + +

    Definition in file interpolation_search2.cpp.

    Function Documentation

    ◆ InterpolationSearch()

    @@ -163,6 +184,8 @@ Functions
    Returns
    index where the value is found
    -1 if not found
    + +

    Definition at line 15 of file interpolation_search2.cpp.

    15 {
    16 int low = 0;
    17 int high = n - 1;
    @@ -197,26 +220,20 @@ Functions

    main function

    < passed array A inside the InterpolationSearch function

    + +

    Definition at line 32 of file interpolation_search2.cpp.

    32 {
    33 int A[] = {2, 4, 5, 7, 13, 14, 15, 23};
    34 int x = 17;
    -
    35
    -
    36 ///< passed array A inside the InterpolationSearch function
    -
    37 int index = InterpolationSearch(A, 8, x);
    +
    35
    +
    37 int index = InterpolationSearch(A, 8, x);
    38 if (index < 0)
    -
    39 std::cout << "Number " << x << " not found" << std::endl;
    +
    39 std::cout << "Number " << x << " not found" << std::endl;
    40 else
    -
    41 std::cout << "Number " << x << " is at " << index << std::endl;
    +
    41 std::cout << "Number " << x << " is at " << index << std::endl;
    42}
    - -
    T endl(T... args)
    -
    int InterpolationSearch(int A[], int n, int x)
    Definition interpolation_search2.cpp:15
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    int InterpolationSearch(int A[], int n, int x)
    +
    diff --git a/df/d39/interpolation__search2_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/df/d39/interpolation__search2_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 216e1e0ff..000000000 --- a/df/d39/interpolation__search2_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/df/d39/interpolation__search2_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/df/d39/interpolation__search2_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index 2183f09a5..000000000 --- a/df/d39/interpolation__search2_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -7b0fe994babe27e0c9d78dcac19343ff \ No newline at end of file diff --git a/df/d39/interpolation__search2_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/df/d39/interpolation__search2_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 9f9a8ac09..000000000 --- a/df/d39/interpolation__search2_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -InterpolationSearch - - - - - -Node1->Node3 - - - - - - - - - - - - - diff --git a/df/d39/interpolation__search2_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/df/d39/interpolation__search2_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index dd2f8cd31..000000000 --- a/df/d39/interpolation__search2_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -InterpolationSearch - - - - - -Node1->Node3 - - - - - - - - diff --git a/df/d39/interpolation__search2_8cpp_source.html b/df/d39/interpolation__search2_8cpp_source.html new file mode 100644 index 000000000..7748a81b6 --- /dev/null +++ b/df/d39/interpolation__search2_8cpp_source.html @@ -0,0 +1,176 @@ + + + + + + + + +TheAlgorithms/C++: search/interpolation_search2.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    interpolation_search2.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    6#include <iostream>
    +
    7
    +
    +
    15int InterpolationSearch(int A[], int n, int x) {
    +
    16 int low = 0;
    +
    17 int high = n - 1;
    +
    18 while (low <= high) {
    +
    19 int mid = low + (((high - 1) * (x - A[low])) / (A[high] - A[low]));
    +
    20 if (x == A[mid])
    +
    21 return mid; // Found x, return (exit)
    +
    22 else if (x < A[mid])
    +
    23 high = mid - 1; // X lies before mid
    +
    24 else
    +
    25 low = mid + 1; // x lies after mid
    +
    26 }
    +
    27
    +
    28 return -1;
    +
    29}
    +
    +
    30
    +
    +
    32int main() {
    +
    33 int A[] = {2, 4, 5, 7, 13, 14, 15, 23};
    +
    34 int x = 17;
    +
    35
    +
    37 int index = InterpolationSearch(A, 8, x);
    +
    38 if (index < 0)
    +
    39 std::cout << "Number " << x << " not found" << std::endl;
    +
    40 else
    +
    41 std::cout << "Number " << x << " is at " << index << std::endl;
    +
    42}
    +
    +
    43
    +
    44// randomly set x bcoz array was defined by us , therefore not reasonable for
    +
    45// asking input. We could have asked for input if array elements were inputed by
    +
    46// the user.
    +
    int InterpolationSearch(int A[], int n, int x)
    + +
    +
    + + + + diff --git a/df/d42/binary__search__tree2_8cpp.html b/df/d42/binary__search__tree2_8cpp.html index 95f1f6043..c1dd3761b 100644 --- a/df/d42/binary__search__tree2_8cpp.html +++ b/df/d42/binary__search__tree2_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: data_structures/binary_search_tree2.cpp File Reference +TheAlgorithms/C++: data_structures/binary_search_tree2.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -123,7 +140,9 @@ Include dependency graph for binary_search_tree2.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -165,6 +184,8 @@ Functions

    Detailed Description

    A generic binary search tree implementation. Here you can find more information about the algorithm: Scaler - Binary Search tree.

    See also
    binary_search_tree.cpp
    + +

    Definition in file binary_search_tree2.cpp.

    Function Documentation

    ◆ main()

    @@ -180,6 +201,8 @@ Functions

    Classes

    class  binary_search_tree< T >
    + +

    Definition at line 556 of file binary_search_tree2.cpp.

    556 {
    557 test_insert();
    558 test_remove();
    @@ -190,14 +213,14 @@ Functions
    565}
    -
    static void test_get_elements_inorder()
    Function for testing get_elements_inorder().
    Definition binary_search_tree2.cpp:498
    -
    static void test_contains()
    Function for testing contains().
    Definition binary_search_tree2.cpp:429
    -
    static void test_insert()
    Function for testing insert().
    Definition binary_search_tree2.cpp:358
    -
    static void test_get_elements_postorder()
    Function for testing get_elements_postorder().
    Definition binary_search_tree2.cpp:540
    -
    static void test_find_max()
    Function for testing find_max().
    Definition binary_search_tree2.cpp:475
    -
    static void test_get_elements_preorder()
    Function for testing get_elements_preorder().
    Definition binary_search_tree2.cpp:519
    -
    static void test_remove()
    Function for testing remove().
    Definition binary_search_tree2.cpp:392
    -
    static void test_find_min()
    Function for testing find_min().
    Definition binary_search_tree2.cpp:452
    +
    static void test_get_elements_inorder()
    Function for testing get_elements_inorder().
    +
    static void test_contains()
    Function for testing contains().
    +
    static void test_insert()
    Function for testing insert().
    +
    static void test_get_elements_postorder()
    Function for testing get_elements_postorder().
    +
    static void test_find_max()
    Function for testing find_max().
    +
    static void test_get_elements_preorder()
    Function for testing get_elements_preorder().
    +
    static void test_remove()
    Function for testing remove().
    +
    static void test_find_min()
    Function for testing find_min().
    @@ -226,8 +249,10 @@ Functions

    Function for testing contains().

    Returns
    void
    + +

    Definition at line 429 of file binary_search_tree2.cpp.

    429 {
    -
    430 std::cout << "Testing BST contains...";
    +
    430 std::cout << "Testing BST contains...";
    431
    433 tree.insert(5);
    @@ -241,19 +266,12 @@ Functions
    441 assert(tree.contains(6));
    442 assert(!tree.contains(999));
    443
    -
    444 std::cout << "ok" << std::endl;
    +
    444 std::cout << "ok" << std::endl;
    445}
    - -
    The Binary Search Tree class.
    Definition binary_search_tree2.cpp:20
    -
    bool insert(std::unique_ptr< bst_node > &node, T new_value)
    Recursive function to insert a value into the BST.
    Definition binary_search_tree2.cpp:90
    -
    bool contains(std::unique_ptr< bst_node > &node, T value)
    Recursive function to check if a value is in the BST.
    Definition binary_search_tree2.cpp:177
    -
    T endl(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    The Binary Search Tree class.
    +
    bool insert(std::unique_ptr< bst_node > &node, T new_value)
    Recursive function to insert a value into the BST.
    +
    bool contains(std::unique_ptr< bst_node > &node, T value)
    Recursive function to check if a value is in the BST.
    + @@ -281,10 +299,12 @@ Here is the call graph for this function:

    Function for testing find_max().

    Returns
    void
    + +

    Definition at line 475 of file binary_search_tree2.cpp.

    475 {
    -
    476 std::cout << "Testing BST find_max...";
    +
    476 std::cout << "Testing BST find_max...";
    477
    -
    478 int max = 0;
    +
    478 int max = 0;
    480 assert(!tree.find_max(max));
    481
    @@ -296,16 +316,10 @@ Here is the call graph for this function:
    487 assert(tree.find_max(max));
    488 assert(max == 6);
    489
    -
    490 std::cout << "ok" << std::endl;
    +
    490 std::cout << "ok" << std::endl;
    491}
    -
    bool find_max(std::unique_ptr< bst_node > &node, T &ret_value)
    Recursive function to find the maximum value in the BST.
    Definition binary_search_tree2.cpp:53
    -
    T max(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    bool find_max(std::unique_ptr< bst_node > &node, T &ret_value)
    Recursive function to find the maximum value in the BST.
    + @@ -333,10 +347,12 @@ Here is the call graph for this function:

    Function for testing find_min().

    Returns
    void
    + +

    Definition at line 452 of file binary_search_tree2.cpp.

    452 {
    -
    453 std::cout << "Testing BST find_min...";
    +
    453 std::cout << "Testing BST find_min...";
    454
    -
    455 int min = 0;
    +
    455 int min = 0;
    457 assert(!tree.find_min(min));
    458
    @@ -348,16 +364,10 @@ Here is the call graph for this function:
    464 assert(tree.find_min(min));
    465 assert(min == 3);
    466
    -
    467 std::cout << "ok" << std::endl;
    +
    467 std::cout << "ok" << std::endl;
    468}
    -
    bool find_min(std::unique_ptr< bst_node > &node, T &ret_value)
    Recursive function to find the minimum value in the BST.
    Definition binary_search_tree2.cpp:71
    -
    T min(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    bool find_min(std::unique_ptr< bst_node > &node, T &ret_value)
    Recursive function to find the minimum value in the BST.
    + @@ -385,8 +395,10 @@ Here is the call graph for this function:

    Function for testing get_elements_inorder().

    Returns
    void
    + +

    Definition at line 498 of file binary_search_tree2.cpp.

    498 {
    -
    499 std::cout << "Testing BST get_elements_inorder...";
    +
    499 std::cout << "Testing BST get_elements_inorder...";
    500
    502 tree.insert(5);
    @@ -394,20 +406,14 @@ Here is the call graph for this function:
    504 tree.insert(3);
    505 tree.insert(6);
    506
    -
    507 std::vector<int> expected = {3, 4, 5, 6};
    - +
    507 std::vector<int> expected = {3, 4, 5, 6};
    +
    508 std::vector<int> actual = tree.get_elements_inorder();
    509 assert(actual == expected);
    510
    -
    511 std::cout << "ok" << std::endl;
    +
    511 std::cout << "ok" << std::endl;
    512}
    -
    std::vector< T > get_elements_inorder()
    Get all values of the BST in in-order order.
    Definition binary_search_tree2.cpp:321
    - -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    std::vector< T > get_elements_inorder()
    Get all values of the BST in in-order order.
    + @@ -435,8 +441,10 @@ Here is the call graph for this function:

    Function for testing get_elements_postorder().

    Returns
    void
    + +

    Definition at line 540 of file binary_search_tree2.cpp.

    540 {
    -
    541 std::cout << "Testing BST get_elements_postorder...";
    +
    541 std::cout << "Testing BST get_elements_postorder...";
    542
    544 tree.insert(5);
    @@ -444,19 +452,14 @@ Here is the call graph for this function:
    546 tree.insert(3);
    547 tree.insert(6);
    548
    -
    549 std::vector<int> expected = {3, 4, 6, 5};
    - +
    549 std::vector<int> expected = {3, 4, 6, 5};
    +
    550 std::vector<int> actual = tree.get_elements_postorder();
    551 assert(actual == expected);
    552
    -
    553 std::cout << "ok" << std::endl;
    +
    553 std::cout << "ok" << std::endl;
    554}
    -
    std::vector< T > get_elements_postorder()
    Get all values of the BST in post-order order.
    Definition binary_search_tree2.cpp:345
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    std::vector< T > get_elements_postorder()
    Get all values of the BST in post-order order.
    + @@ -484,8 +487,10 @@ Here is the call graph for this function:

    Function for testing get_elements_preorder().

    Returns
    void
    + +

    Definition at line 519 of file binary_search_tree2.cpp.

    519 {
    -
    520 std::cout << "Testing BST get_elements_preorder...";
    +
    520 std::cout << "Testing BST get_elements_preorder...";
    521
    523 tree.insert(5);
    @@ -493,19 +498,14 @@ Here is the call graph for this function:
    525 tree.insert(3);
    526 tree.insert(6);
    527
    -
    528 std::vector<int> expected = {5, 4, 3, 6};
    - +
    528 std::vector<int> expected = {5, 4, 3, 6};
    +
    529 std::vector<int> actual = tree.get_elements_preorder();
    530 assert(actual == expected);
    531
    -
    532 std::cout << "ok" << std::endl;
    +
    532 std::cout << "ok" << std::endl;
    533}
    -
    std::vector< T > get_elements_preorder()
    Get all values of the BST in pre-order order.
    Definition binary_search_tree2.cpp:333
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    std::vector< T > get_elements_preorder()
    Get all values of the BST in pre-order order.
    + @@ -533,12 +533,14 @@ Here is the call graph for this function:

    Function for testing insert().

    Returns
    void
    + +

    Definition at line 358 of file binary_search_tree2.cpp.

    358 {
    -
    359 std::cout << "Testing BST insert...";
    +
    359 std::cout << "Testing BST insert...";
    360
    362 bool res = tree.insert(5);
    -
    363 int min = -1, max = -1;
    +
    363 int min = -1, max = -1;
    364 assert(res);
    365 assert(tree.find_max(max));
    366 assert(tree.find_min(min));
    @@ -559,15 +561,10 @@ Here is the call graph for this function:
    381 assert(!fail_res);
    382 assert(tree.size() == 4);
    383
    -
    384 std::cout << "ok" << std::endl;
    +
    384 std::cout << "ok" << std::endl;
    385}
    -
    std::size_t size()
    Get the number of values in the BST.
    Definition binary_search_tree2.cpp:314
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    std::size_t size()
    Get the number of values in the BST.
    + @@ -595,8 +592,10 @@ Here is the call graph for this function:

    Function for testing remove().

    Returns
    void
    + +

    Definition at line 392 of file binary_search_tree2.cpp.

    392 {
    -
    393 std::cout << "Testing BST remove...";
    +
    393 std::cout << "Testing BST remove...";
    394
    396 tree.insert(5);
    @@ -605,7 +604,7 @@ Here is the call graph for this function:
    399 tree.insert(6);
    400
    401 bool res = tree.remove(5);
    -
    402 int min = -1, max = -1;
    +
    402 int min = -1, max = -1;
    403 assert(res);
    404 assert(tree.find_max(max));
    405 assert(tree.find_min(min));
    @@ -624,15 +623,10 @@ Here is the call graph for this function:
    418 assert(!fail_res);
    419 assert(tree.size() == 0);
    420
    -
    421 std::cout << "ok" << std::endl;
    +
    421 std::cout << "ok" << std::endl;
    422}
    -
    bool remove(std::unique_ptr< bst_node > &parent, std::unique_ptr< bst_node > &node, T rm_value)
    Recursive function to remove a value from the BST.
    Definition binary_search_tree2.cpp:125
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    bool remove(std::unique_ptr< bst_node > &parent, std::unique_ptr< bst_node > &node, T rm_value)
    Recursive function to remove a value from the BST.
    + diff --git a/df/d42/binary__search__tree2_8cpp_a06f35064850e891d6fda0093c0d9ee6e_cgraph.map b/df/d42/binary__search__tree2_8cpp_a06f35064850e891d6fda0093c0d9ee6e_cgraph.map deleted file mode 100644 index bd57bafe1..000000000 --- a/df/d42/binary__search__tree2_8cpp_a06f35064850e891d6fda0093c0d9ee6e_cgraph.map +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - diff --git a/df/d42/binary__search__tree2_8cpp_a06f35064850e891d6fda0093c0d9ee6e_cgraph.md5 b/df/d42/binary__search__tree2_8cpp_a06f35064850e891d6fda0093c0d9ee6e_cgraph.md5 deleted file mode 100644 index cf9723e8e..000000000 --- a/df/d42/binary__search__tree2_8cpp_a06f35064850e891d6fda0093c0d9ee6e_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -039111e3a580375fa7c477fbf817ca2c \ No newline at end of file diff --git a/df/d42/binary__search__tree2_8cpp_a06f35064850e891d6fda0093c0d9ee6e_cgraph.svg b/df/d42/binary__search__tree2_8cpp_a06f35064850e891d6fda0093c0d9ee6e_cgraph.svg deleted file mode 100644 index cbe613f75..000000000 --- a/df/d42/binary__search__tree2_8cpp_a06f35064850e891d6fda0093c0d9ee6e_cgraph.svg +++ /dev/null @@ -1,140 +0,0 @@ - - - - - - - - - - - - -test_get_elements_inorder - - -Node1 - - -test_get_elements_inorder - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -binary_search_tree -::get_elements_inorder - - - - - -Node1->Node3 - - - - - - - - -Node5 - - -binary_search_tree -::insert - - - - - -Node1->Node5 - - - - - - - - -Node4 - - -binary_search_tree -::traverse_inorder - - - - - -Node3->Node4 - - - - - - - - -Node4->Node4 - - - - - - - - -Node5->Node5 - - - - - - - - - - - - - diff --git a/df/d42/binary__search__tree2_8cpp_a06f35064850e891d6fda0093c0d9ee6e_cgraph_org.svg b/df/d42/binary__search__tree2_8cpp_a06f35064850e891d6fda0093c0d9ee6e_cgraph_org.svg deleted file mode 100644 index 0ac2ca0b8..000000000 --- a/df/d42/binary__search__tree2_8cpp_a06f35064850e891d6fda0093c0d9ee6e_cgraph_org.svg +++ /dev/null @@ -1,114 +0,0 @@ - - - - - - -test_get_elements_inorder - - -Node1 - - -test_get_elements_inorder - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -binary_search_tree -::get_elements_inorder - - - - - -Node1->Node3 - - - - - - - - -Node5 - - -binary_search_tree -::insert - - - - - -Node1->Node5 - - - - - - - - -Node4 - - -binary_search_tree -::traverse_inorder - - - - - -Node3->Node4 - - - - - - - - -Node4->Node4 - - - - - - - - -Node5->Node5 - - - - - - - - diff --git a/df/d42/binary__search__tree2_8cpp_a1d42876440ac5346e2850a32497385c3_cgraph.map b/df/d42/binary__search__tree2_8cpp_a1d42876440ac5346e2850a32497385c3_cgraph.map deleted file mode 100644 index 49cf025be..000000000 --- a/df/d42/binary__search__tree2_8cpp_a1d42876440ac5346e2850a32497385c3_cgraph.map +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/df/d42/binary__search__tree2_8cpp_a1d42876440ac5346e2850a32497385c3_cgraph.md5 b/df/d42/binary__search__tree2_8cpp_a1d42876440ac5346e2850a32497385c3_cgraph.md5 deleted file mode 100644 index 856b0b02e..000000000 --- a/df/d42/binary__search__tree2_8cpp_a1d42876440ac5346e2850a32497385c3_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -16b26ac714ebebf6cb7dbfb45c70b349 \ No newline at end of file diff --git a/df/d42/binary__search__tree2_8cpp_a1d42876440ac5346e2850a32497385c3_cgraph.svg b/df/d42/binary__search__tree2_8cpp_a1d42876440ac5346e2850a32497385c3_cgraph.svg deleted file mode 100644 index db3af59c3..000000000 --- a/df/d42/binary__search__tree2_8cpp_a1d42876440ac5346e2850a32497385c3_cgraph.svg +++ /dev/null @@ -1,121 +0,0 @@ - - - - - - - - - - - - -test_contains - - -Node1 - - -test_contains - - - - - -Node2 - - -binary_search_tree -::contains - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -binary_search_tree -::insert - - - - - -Node1->Node4 - - - - - - - - -Node2->Node2 - - - - - - - - -Node4->Node4 - - - - - - - - - - - - - diff --git a/df/d42/binary__search__tree2_8cpp_a1d42876440ac5346e2850a32497385c3_cgraph_org.svg b/df/d42/binary__search__tree2_8cpp_a1d42876440ac5346e2850a32497385c3_cgraph_org.svg deleted file mode 100644 index 5cbb3aa6a..000000000 --- a/df/d42/binary__search__tree2_8cpp_a1d42876440ac5346e2850a32497385c3_cgraph_org.svg +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - -test_contains - - -Node1 - - -test_contains - - - - - -Node2 - - -binary_search_tree -::contains - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -binary_search_tree -::insert - - - - - -Node1->Node4 - - - - - - - - -Node2->Node2 - - - - - - - - -Node4->Node4 - - - - - - - - diff --git a/df/d42/binary__search__tree2_8cpp_a8c882f43e1e52948a7841a8bfb091350_cgraph.map b/df/d42/binary__search__tree2_8cpp_a8c882f43e1e52948a7841a8bfb091350_cgraph.map deleted file mode 100644 index 897f7e553..000000000 --- a/df/d42/binary__search__tree2_8cpp_a8c882f43e1e52948a7841a8bfb091350_cgraph.map +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - - - - - diff --git a/df/d42/binary__search__tree2_8cpp_a8c882f43e1e52948a7841a8bfb091350_cgraph.md5 b/df/d42/binary__search__tree2_8cpp_a8c882f43e1e52948a7841a8bfb091350_cgraph.md5 deleted file mode 100644 index 8bdb8162e..000000000 --- a/df/d42/binary__search__tree2_8cpp_a8c882f43e1e52948a7841a8bfb091350_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -e98e0e6d35aef66244459af54ef7abb0 \ No newline at end of file diff --git a/df/d42/binary__search__tree2_8cpp_a8c882f43e1e52948a7841a8bfb091350_cgraph.svg b/df/d42/binary__search__tree2_8cpp_a8c882f43e1e52948a7841a8bfb091350_cgraph.svg deleted file mode 100644 index eba9524e3..000000000 --- a/df/d42/binary__search__tree2_8cpp_a8c882f43e1e52948a7841a8bfb091350_cgraph.svg +++ /dev/null @@ -1,168 +0,0 @@ - - - - - - - - - - - - -test_insert - - -Node1 - - -test_insert - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -binary_search_tree -::find_max - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -binary_search_tree -::find_min - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -binary_search_tree -::insert - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -binary_search_tree -::size - - - - - -Node1->Node6 - - - - - - - - -Node3->Node3 - - - - - - - - -Node4->Node4 - - - - - - - - -Node5->Node5 - - - - - - - - - - - - - diff --git a/df/d42/binary__search__tree2_8cpp_a8c882f43e1e52948a7841a8bfb091350_cgraph_org.svg b/df/d42/binary__search__tree2_8cpp_a8c882f43e1e52948a7841a8bfb091350_cgraph_org.svg deleted file mode 100644 index c46dca64b..000000000 --- a/df/d42/binary__search__tree2_8cpp_a8c882f43e1e52948a7841a8bfb091350_cgraph_org.svg +++ /dev/null @@ -1,142 +0,0 @@ - - - - - - -test_insert - - -Node1 - - -test_insert - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -binary_search_tree -::find_max - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -binary_search_tree -::find_min - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -binary_search_tree -::insert - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -binary_search_tree -::size - - - - - -Node1->Node6 - - - - - - - - -Node3->Node3 - - - - - - - - -Node4->Node4 - - - - - - - - -Node5->Node5 - - - - - - - - diff --git a/df/d42/binary__search__tree2_8cpp_a94b76f781fcbe1ad0e3397ace6bb1965_cgraph.map b/df/d42/binary__search__tree2_8cpp_a94b76f781fcbe1ad0e3397ace6bb1965_cgraph.map deleted file mode 100644 index 8f75effbd..000000000 --- a/df/d42/binary__search__tree2_8cpp_a94b76f781fcbe1ad0e3397ace6bb1965_cgraph.map +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - diff --git a/df/d42/binary__search__tree2_8cpp_a94b76f781fcbe1ad0e3397ace6bb1965_cgraph.md5 b/df/d42/binary__search__tree2_8cpp_a94b76f781fcbe1ad0e3397ace6bb1965_cgraph.md5 deleted file mode 100644 index 56267a62b..000000000 --- a/df/d42/binary__search__tree2_8cpp_a94b76f781fcbe1ad0e3397ace6bb1965_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -5848010a12eb295a757ad2cf075efc03 \ No newline at end of file diff --git a/df/d42/binary__search__tree2_8cpp_a94b76f781fcbe1ad0e3397ace6bb1965_cgraph.svg b/df/d42/binary__search__tree2_8cpp_a94b76f781fcbe1ad0e3397ace6bb1965_cgraph.svg deleted file mode 100644 index 05fcb8c4b..000000000 --- a/df/d42/binary__search__tree2_8cpp_a94b76f781fcbe1ad0e3397ace6bb1965_cgraph.svg +++ /dev/null @@ -1,140 +0,0 @@ - - - - - - - - - - - - -test_get_elements_postorder - - -Node1 - - -test_get_elements_postorder - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -binary_search_tree -::get_elements_postorder - - - - - -Node1->Node3 - - - - - - - - -Node5 - - -binary_search_tree -::insert - - - - - -Node1->Node5 - - - - - - - - -Node4 - - -binary_search_tree -::traverse_postorder - - - - - -Node3->Node4 - - - - - - - - -Node4->Node4 - - - - - - - - -Node5->Node5 - - - - - - - - - - - - - diff --git a/df/d42/binary__search__tree2_8cpp_a94b76f781fcbe1ad0e3397ace6bb1965_cgraph_org.svg b/df/d42/binary__search__tree2_8cpp_a94b76f781fcbe1ad0e3397ace6bb1965_cgraph_org.svg deleted file mode 100644 index 01af93527..000000000 --- a/df/d42/binary__search__tree2_8cpp_a94b76f781fcbe1ad0e3397ace6bb1965_cgraph_org.svg +++ /dev/null @@ -1,114 +0,0 @@ - - - - - - -test_get_elements_postorder - - -Node1 - - -test_get_elements_postorder - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -binary_search_tree -::get_elements_postorder - - - - - -Node1->Node3 - - - - - - - - -Node5 - - -binary_search_tree -::insert - - - - - -Node1->Node5 - - - - - - - - -Node4 - - -binary_search_tree -::traverse_postorder - - - - - -Node3->Node4 - - - - - - - - -Node4->Node4 - - - - - - - - -Node5->Node5 - - - - - - - - diff --git a/df/d42/binary__search__tree2_8cpp_a9856b68e2cba50d2e26a1cbe374e0365_cgraph.map b/df/d42/binary__search__tree2_8cpp_a9856b68e2cba50d2e26a1cbe374e0365_cgraph.map deleted file mode 100644 index fe2bb91e3..000000000 --- a/df/d42/binary__search__tree2_8cpp_a9856b68e2cba50d2e26a1cbe374e0365_cgraph.map +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/df/d42/binary__search__tree2_8cpp_a9856b68e2cba50d2e26a1cbe374e0365_cgraph.md5 b/df/d42/binary__search__tree2_8cpp_a9856b68e2cba50d2e26a1cbe374e0365_cgraph.md5 deleted file mode 100644 index 7a537d3d0..000000000 --- a/df/d42/binary__search__tree2_8cpp_a9856b68e2cba50d2e26a1cbe374e0365_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -5d65cdde446251e2c27e1823488ea4d3 \ No newline at end of file diff --git a/df/d42/binary__search__tree2_8cpp_a9856b68e2cba50d2e26a1cbe374e0365_cgraph.svg b/df/d42/binary__search__tree2_8cpp_a9856b68e2cba50d2e26a1cbe374e0365_cgraph.svg deleted file mode 100644 index 7993beeb0..000000000 --- a/df/d42/binary__search__tree2_8cpp_a9856b68e2cba50d2e26a1cbe374e0365_cgraph.svg +++ /dev/null @@ -1,121 +0,0 @@ - - - - - - - - - - - - -test_find_max - - -Node1 - - -test_find_max - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -binary_search_tree -::find_max - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -binary_search_tree -::insert - - - - - -Node1->Node4 - - - - - - - - -Node3->Node3 - - - - - - - - -Node4->Node4 - - - - - - - - - - - - - diff --git a/df/d42/binary__search__tree2_8cpp_a9856b68e2cba50d2e26a1cbe374e0365_cgraph_org.svg b/df/d42/binary__search__tree2_8cpp_a9856b68e2cba50d2e26a1cbe374e0365_cgraph_org.svg deleted file mode 100644 index 8ce3fcafb..000000000 --- a/df/d42/binary__search__tree2_8cpp_a9856b68e2cba50d2e26a1cbe374e0365_cgraph_org.svg +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - -test_find_max - - -Node1 - - -test_find_max - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -binary_search_tree -::find_max - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -binary_search_tree -::insert - - - - - -Node1->Node4 - - - - - - - - -Node3->Node3 - - - - - - - - -Node4->Node4 - - - - - - - - diff --git a/df/d42/binary__search__tree2_8cpp_ab00b8d0f21aeb5fbddb6decf3bcb640a_cgraph.map b/df/d42/binary__search__tree2_8cpp_ab00b8d0f21aeb5fbddb6decf3bcb640a_cgraph.map deleted file mode 100644 index 4eb0d8d6f..000000000 --- a/df/d42/binary__search__tree2_8cpp_ab00b8d0f21aeb5fbddb6decf3bcb640a_cgraph.map +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - diff --git a/df/d42/binary__search__tree2_8cpp_ab00b8d0f21aeb5fbddb6decf3bcb640a_cgraph.md5 b/df/d42/binary__search__tree2_8cpp_ab00b8d0f21aeb5fbddb6decf3bcb640a_cgraph.md5 deleted file mode 100644 index 90ba772c3..000000000 --- a/df/d42/binary__search__tree2_8cpp_ab00b8d0f21aeb5fbddb6decf3bcb640a_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -62e3247feb1cafb171dbbc79c234264e \ No newline at end of file diff --git a/df/d42/binary__search__tree2_8cpp_ab00b8d0f21aeb5fbddb6decf3bcb640a_cgraph.svg b/df/d42/binary__search__tree2_8cpp_ab00b8d0f21aeb5fbddb6decf3bcb640a_cgraph.svg deleted file mode 100644 index d1e71ff22..000000000 --- a/df/d42/binary__search__tree2_8cpp_ab00b8d0f21aeb5fbddb6decf3bcb640a_cgraph.svg +++ /dev/null @@ -1,140 +0,0 @@ - - - - - - - - - - - - -test_get_elements_preorder - - -Node1 - - -test_get_elements_preorder - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -binary_search_tree -::get_elements_preorder - - - - - -Node1->Node3 - - - - - - - - -Node5 - - -binary_search_tree -::insert - - - - - -Node1->Node5 - - - - - - - - -Node4 - - -binary_search_tree -::traverse_preorder - - - - - -Node3->Node4 - - - - - - - - -Node4->Node4 - - - - - - - - -Node5->Node5 - - - - - - - - - - - - - diff --git a/df/d42/binary__search__tree2_8cpp_ab00b8d0f21aeb5fbddb6decf3bcb640a_cgraph_org.svg b/df/d42/binary__search__tree2_8cpp_ab00b8d0f21aeb5fbddb6decf3bcb640a_cgraph_org.svg deleted file mode 100644 index 5b08dff02..000000000 --- a/df/d42/binary__search__tree2_8cpp_ab00b8d0f21aeb5fbddb6decf3bcb640a_cgraph_org.svg +++ /dev/null @@ -1,114 +0,0 @@ - - - - - - -test_get_elements_preorder - - -Node1 - - -test_get_elements_preorder - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -binary_search_tree -::get_elements_preorder - - - - - -Node1->Node3 - - - - - - - - -Node5 - - -binary_search_tree -::insert - - - - - -Node1->Node5 - - - - - - - - -Node4 - - -binary_search_tree -::traverse_preorder - - - - - -Node3->Node4 - - - - - - - - -Node4->Node4 - - - - - - - - -Node5->Node5 - - - - - - - - diff --git a/df/d42/binary__search__tree2_8cpp_ab1333c3ea06dcad896ee204bbd407c4e_cgraph.map b/df/d42/binary__search__tree2_8cpp_ab1333c3ea06dcad896ee204bbd407c4e_cgraph.map deleted file mode 100644 index f8f1815c4..000000000 --- a/df/d42/binary__search__tree2_8cpp_ab1333c3ea06dcad896ee204bbd407c4e_cgraph.map +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/df/d42/binary__search__tree2_8cpp_ab1333c3ea06dcad896ee204bbd407c4e_cgraph.md5 b/df/d42/binary__search__tree2_8cpp_ab1333c3ea06dcad896ee204bbd407c4e_cgraph.md5 deleted file mode 100644 index e79306494..000000000 --- a/df/d42/binary__search__tree2_8cpp_ab1333c3ea06dcad896ee204bbd407c4e_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -cc1a6832b39fa3134775ce86077f8b77 \ No newline at end of file diff --git a/df/d42/binary__search__tree2_8cpp_ab1333c3ea06dcad896ee204bbd407c4e_cgraph.svg b/df/d42/binary__search__tree2_8cpp_ab1333c3ea06dcad896ee204bbd407c4e_cgraph.svg deleted file mode 100644 index 0944cb8f6..000000000 --- a/df/d42/binary__search__tree2_8cpp_ab1333c3ea06dcad896ee204bbd407c4e_cgraph.svg +++ /dev/null @@ -1,251 +0,0 @@ - - - - - - - - - - - - -test_remove - - -Node1 - - -test_remove - - - - - -Node2 - - -binary_search_tree -::contains - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -binary_search_tree -::find_max - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -binary_search_tree -::find_min - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -binary_search_tree -::insert - - - - - -Node1->Node6 - - - - - - - - -Node7 - - -binary_search_tree -::remove - - - - - -Node1->Node7 - - - - - - - - -Node9 - - -binary_search_tree -::size - - - - - -Node1->Node9 - - - - - - - - -Node2->Node2 - - - - - - - - -Node4->Node4 - - - - - - - - -Node5->Node5 - - - - - - - - -Node6->Node6 - - - - - - - - -Node7->Node4 - - - - - - - - -Node7->Node7 - - - - - - - - -Node8 - - -std::move - - - - - -Node7->Node8 - - - - - - - - - - - - - diff --git a/df/d42/binary__search__tree2_8cpp_ab1333c3ea06dcad896ee204bbd407c4e_cgraph_org.svg b/df/d42/binary__search__tree2_8cpp_ab1333c3ea06dcad896ee204bbd407c4e_cgraph_org.svg deleted file mode 100644 index aa7db07a7..000000000 --- a/df/d42/binary__search__tree2_8cpp_ab1333c3ea06dcad896ee204bbd407c4e_cgraph_org.svg +++ /dev/null @@ -1,225 +0,0 @@ - - - - - - -test_remove - - -Node1 - - -test_remove - - - - - -Node2 - - -binary_search_tree -::contains - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -binary_search_tree -::find_max - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -binary_search_tree -::find_min - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -binary_search_tree -::insert - - - - - -Node1->Node6 - - - - - - - - -Node7 - - -binary_search_tree -::remove - - - - - -Node1->Node7 - - - - - - - - -Node9 - - -binary_search_tree -::size - - - - - -Node1->Node9 - - - - - - - - -Node2->Node2 - - - - - - - - -Node4->Node4 - - - - - - - - -Node5->Node5 - - - - - - - - -Node6->Node6 - - - - - - - - -Node7->Node4 - - - - - - - - -Node7->Node7 - - - - - - - - -Node8 - - -std::move - - - - - -Node7->Node8 - - - - - - - - diff --git a/df/d42/binary__search__tree2_8cpp_af2847a901160fd45b4044550e9921cb4_cgraph.map b/df/d42/binary__search__tree2_8cpp_af2847a901160fd45b4044550e9921cb4_cgraph.map deleted file mode 100644 index 755a38672..000000000 --- a/df/d42/binary__search__tree2_8cpp_af2847a901160fd45b4044550e9921cb4_cgraph.map +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/df/d42/binary__search__tree2_8cpp_af2847a901160fd45b4044550e9921cb4_cgraph.md5 b/df/d42/binary__search__tree2_8cpp_af2847a901160fd45b4044550e9921cb4_cgraph.md5 deleted file mode 100644 index 25b3300aa..000000000 --- a/df/d42/binary__search__tree2_8cpp_af2847a901160fd45b4044550e9921cb4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -29a175341cd92fbc38ed50dc139f13d7 \ No newline at end of file diff --git a/df/d42/binary__search__tree2_8cpp_af2847a901160fd45b4044550e9921cb4_cgraph.svg b/df/d42/binary__search__tree2_8cpp_af2847a901160fd45b4044550e9921cb4_cgraph.svg deleted file mode 100644 index f5ea50abe..000000000 --- a/df/d42/binary__search__tree2_8cpp_af2847a901160fd45b4044550e9921cb4_cgraph.svg +++ /dev/null @@ -1,121 +0,0 @@ - - - - - - - - - - - - -test_find_min - - -Node1 - - -test_find_min - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -binary_search_tree -::find_min - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -binary_search_tree -::insert - - - - - -Node1->Node4 - - - - - - - - -Node3->Node3 - - - - - - - - -Node4->Node4 - - - - - - - - - - - - - diff --git a/df/d42/binary__search__tree2_8cpp_af2847a901160fd45b4044550e9921cb4_cgraph_org.svg b/df/d42/binary__search__tree2_8cpp_af2847a901160fd45b4044550e9921cb4_cgraph_org.svg deleted file mode 100644 index 8650d33e3..000000000 --- a/df/d42/binary__search__tree2_8cpp_af2847a901160fd45b4044550e9921cb4_cgraph_org.svg +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - -test_find_min - - -Node1 - - -test_find_min - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -binary_search_tree -::find_min - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -binary_search_tree -::insert - - - - - -Node1->Node4 - - - - - - - - -Node3->Node3 - - - - - - - - -Node4->Node4 - - - - - - - - diff --git a/df/d42/binary__search__tree2_8cpp_source.html b/df/d42/binary__search__tree2_8cpp_source.html new file mode 100644 index 000000000..f598801e7 --- /dev/null +++ b/df/d42/binary__search__tree2_8cpp_source.html @@ -0,0 +1,609 @@ + + + + + + + + +TheAlgorithms/C++: data_structures/binary_search_tree2.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    binary_search_tree2.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    8#include <cassert>
    +
    9#include <functional>
    +
    10#include <iostream>
    +
    11#include <memory>
    +
    12#include <vector>
    +
    13
    +
    19template <class T>
    +
    + +
    21 private:
    +
    +
    25 struct bst_node {
    + +
    27 std::unique_ptr<bst_node> left;
    +
    28 std::unique_ptr<bst_node> right;
    +
    +
    35 explicit bst_node(T _value) {
    +
    36 value = _value;
    +
    37 left = nullptr;
    +
    38 right = nullptr;
    +
    39 }
    +
    +
    40 };
    +
    +
    41
    +
    42 std::unique_ptr<bst_node> root_;
    +
    43 std::size_t size_ = 0;
    +
    +
    53 bool find_max(std::unique_ptr<bst_node>& node, T& ret_value) {
    +
    54 if (!node) {
    +
    55 return false;
    +
    56 } else if (!node->right) {
    +
    57 ret_value = node->value;
    +
    58 return true;
    +
    59 }
    +
    60 return find_max(node->right, ret_value);
    +
    61 }
    +
    +
    62
    +
    +
    71 bool find_min(std::unique_ptr<bst_node>& node, T& ret_value) {
    +
    72 if (!node) {
    +
    73 return false;
    +
    74 } else if (!node->left) {
    +
    75 ret_value = node->value;
    +
    76 return true;
    +
    77 }
    +
    78
    +
    79 return find_min(node->left, ret_value);
    +
    80 }
    +
    +
    81
    +
    +
    90 bool insert(std::unique_ptr<bst_node>& node, T new_value) {
    +
    91 if (root_ == node && !root_) {
    +
    92 root_ = std::unique_ptr<bst_node>(new bst_node(new_value));
    +
    93 return true;
    +
    94 }
    +
    95
    +
    96 if (new_value < node->value) {
    +
    97 if (!node->left) {
    +
    98 node->left = std::unique_ptr<bst_node>(new bst_node(new_value));
    +
    99 return true;
    +
    100 } else {
    +
    101 return insert(node->left, new_value);
    +
    102 }
    +
    103 } else if (new_value > node->value) {
    +
    104 if (!node->right) {
    +
    105 node->right =
    +
    106 std::unique_ptr<bst_node>(new bst_node(new_value));
    +
    107 return true;
    +
    108 } else {
    +
    109 return insert(node->right, new_value);
    +
    110 }
    +
    111 } else {
    +
    112 return false;
    +
    113 }
    +
    114 }
    +
    +
    115
    +
    +
    125 bool remove(std::unique_ptr<bst_node>& parent,
    +
    126 std::unique_ptr<bst_node>& node, T rm_value) {
    +
    127 if (!node) {
    +
    128 return false;
    +
    129 }
    +
    130
    +
    131 if (node->value == rm_value) {
    +
    132 if (node->left && node->right) {
    +
    133 T successor_node_value{};
    +
    134 find_max(node->left, successor_node_value);
    +
    135 remove(root_, root_, successor_node_value);
    +
    136 node->value = successor_node_value;
    +
    137 return true;
    +
    138 } else if (node->left || node->right) {
    +
    139 std::unique_ptr<bst_node>& non_null =
    +
    140 (node->left ? node->left : node->right);
    +
    141
    +
    142 if (node == root_) {
    +
    143 root_ = std::move(non_null);
    +
    144 } else if (rm_value < parent->value) {
    +
    145 parent->left = std::move(non_null);
    +
    146 } else {
    +
    147 parent->right = std::move(non_null);
    +
    148 }
    +
    149
    +
    150 return true;
    +
    151 } else {
    +
    152 if (node == root_) {
    +
    153 root_.reset(nullptr);
    +
    154 } else if (rm_value < parent->value) {
    +
    155 parent->left.reset(nullptr);
    +
    156 } else {
    +
    157 parent->right.reset(nullptr);
    +
    158 }
    +
    159
    +
    160 return true;
    +
    161 }
    +
    162 } else if (rm_value < node->value) {
    +
    163 return remove(node, node->left, rm_value);
    +
    164 } else {
    +
    165 return remove(node, node->right, rm_value);
    +
    166 }
    +
    167 }
    +
    +
    168
    +
    +
    177 bool contains(std::unique_ptr<bst_node>& node, T value) {
    +
    178 if (!node) {
    +
    179 return false;
    +
    180 }
    +
    181
    +
    182 if (value < node->value) {
    +
    183 return contains(node->left, value);
    +
    184 } else if (value > node->value) {
    +
    185 return contains(node->right, value);
    +
    186 } else {
    +
    187 return true;
    +
    188 }
    +
    189 }
    +
    +
    190
    +
    +
    197 void traverse_inorder(std::function<void(T)> callback,
    +
    198 std::unique_ptr<bst_node>& node) {
    +
    199 if (!node) {
    +
    200 return;
    +
    201 }
    +
    202
    +
    203 traverse_inorder(callback, node->left);
    +
    204 callback(node->value);
    +
    205 traverse_inorder(callback, node->right);
    +
    206 }
    +
    +
    207
    +
    +
    214 void traverse_preorder(std::function<void(T)> callback,
    +
    215 std::unique_ptr<bst_node>& node) {
    +
    216 if (!node) {
    +
    217 return;
    +
    218 }
    +
    219
    +
    220 callback(node->value);
    +
    221 traverse_preorder(callback, node->left);
    +
    222 traverse_preorder(callback, node->right);
    +
    223 }
    +
    +
    224
    +
    +
    231 void traverse_postorder(std::function<void(T)> callback,
    +
    232 std::unique_ptr<bst_node>& node) {
    +
    233 if (!node) {
    +
    234 return;
    +
    235 }
    +
    236
    +
    237 traverse_postorder(callback, node->left);
    +
    238 traverse_postorder(callback, node->right);
    +
    239 callback(node->value);
    +
    240 }
    +
    +
    241
    +
    242 public:
    +
    + +
    248 root_ = nullptr;
    +
    249 size_ = 0;
    +
    250 }
    +
    +
    251
    +
    +
    259 bool insert(T new_value) {
    +
    260 bool result = insert(root_, new_value);
    +
    261 if (result) {
    +
    262 size_++;
    +
    263 }
    +
    264 return result;
    +
    265 }
    +
    +
    266
    +
    +
    274 bool remove(T rm_value) {
    +
    275 bool result = remove(root_, root_, rm_value);
    +
    276 if (result) {
    +
    277 size_--;
    +
    278 }
    +
    279 return result;
    +
    280 }
    +
    +
    281
    +
    289 bool contains(T value) { return contains(root_, value); }
    +
    290
    +
    298 bool find_min(T& ret_value) { return find_min(root_, ret_value); }
    +
    299
    +
    307 bool find_max(T& ret_value) { return find_max(root_, ret_value); }
    +
    308
    +
    314 std::size_t size() { return size_; }
    +
    315
    +
    +
    321 std::vector<T> get_elements_inorder() {
    +
    322 std::vector<T> result;
    +
    323 traverse_inorder([&](T node_value) { result.push_back(node_value); },
    +
    324 root_);
    +
    325 return result;
    +
    326 }
    +
    +
    327
    +
    +
    333 std::vector<T> get_elements_preorder() {
    +
    334 std::vector<T> result;
    +
    335 traverse_preorder([&](T node_value) { result.push_back(node_value); },
    +
    336 root_);
    +
    337 return result;
    +
    338 }
    +
    +
    339
    +
    +
    345 std::vector<T> get_elements_postorder() {
    +
    346 std::vector<T> result;
    +
    347 traverse_postorder([&](T node_value) { result.push_back(node_value); },
    +
    348 root_);
    +
    349 return result;
    +
    350 }
    +
    +
    351};
    +
    +
    352
    +
    +
    358static void test_insert() {
    +
    359 std::cout << "Testing BST insert...";
    +
    360
    + +
    362 bool res = tree.insert(5);
    +
    363 int min = -1, max = -1;
    +
    364 assert(res);
    +
    365 assert(tree.find_max(max));
    +
    366 assert(tree.find_min(min));
    +
    367 assert(max == 5);
    +
    368 assert(min == 5);
    +
    369 assert(tree.size() == 1);
    +
    370
    +
    371 tree.insert(4);
    +
    372 tree.insert(3);
    +
    373 tree.insert(6);
    +
    374 assert(tree.find_max(max));
    +
    375 assert(tree.find_min(min));
    +
    376 assert(max == 6);
    +
    377 assert(min == 3);
    +
    378 assert(tree.size() == 4);
    +
    379
    +
    380 bool fail_res = tree.insert(4);
    +
    381 assert(!fail_res);
    +
    382 assert(tree.size() == 4);
    +
    383
    +
    384 std::cout << "ok" << std::endl;
    +
    385}
    +
    +
    386
    +
    +
    392static void test_remove() {
    +
    393 std::cout << "Testing BST remove...";
    +
    394
    + +
    396 tree.insert(5);
    +
    397 tree.insert(4);
    +
    398 tree.insert(3);
    +
    399 tree.insert(6);
    +
    400
    +
    401 bool res = tree.remove(5);
    +
    402 int min = -1, max = -1;
    +
    403 assert(res);
    +
    404 assert(tree.find_max(max));
    +
    405 assert(tree.find_min(min));
    +
    406 assert(max == 6);
    +
    407 assert(min == 3);
    +
    408 assert(tree.size() == 3);
    +
    409 assert(tree.contains(5) == false);
    +
    410
    +
    411 tree.remove(4);
    +
    412 tree.remove(3);
    +
    413 tree.remove(6);
    +
    414 assert(tree.size() == 0);
    +
    415 assert(tree.contains(6) == false);
    +
    416
    +
    417 bool fail_res = tree.remove(5);
    +
    418 assert(!fail_res);
    +
    419 assert(tree.size() == 0);
    +
    420
    +
    421 std::cout << "ok" << std::endl;
    +
    422}
    +
    +
    423
    +
    +
    429static void test_contains() {
    +
    430 std::cout << "Testing BST contains...";
    +
    431
    + +
    433 tree.insert(5);
    +
    434 tree.insert(4);
    +
    435 tree.insert(3);
    +
    436 tree.insert(6);
    +
    437
    +
    438 assert(tree.contains(5));
    +
    439 assert(tree.contains(4));
    +
    440 assert(tree.contains(3));
    +
    441 assert(tree.contains(6));
    +
    442 assert(!tree.contains(999));
    +
    443
    +
    444 std::cout << "ok" << std::endl;
    +
    445}
    +
    +
    446
    +
    +
    452static void test_find_min() {
    +
    453 std::cout << "Testing BST find_min...";
    +
    454
    +
    455 int min = 0;
    + +
    457 assert(!tree.find_min(min));
    +
    458
    +
    459 tree.insert(5);
    +
    460 tree.insert(4);
    +
    461 tree.insert(3);
    +
    462 tree.insert(6);
    +
    463
    +
    464 assert(tree.find_min(min));
    +
    465 assert(min == 3);
    +
    466
    +
    467 std::cout << "ok" << std::endl;
    +
    468}
    +
    +
    469
    +
    +
    475static void test_find_max() {
    +
    476 std::cout << "Testing BST find_max...";
    +
    477
    +
    478 int max = 0;
    + +
    480 assert(!tree.find_max(max));
    +
    481
    +
    482 tree.insert(5);
    +
    483 tree.insert(4);
    +
    484 tree.insert(3);
    +
    485 tree.insert(6);
    +
    486
    +
    487 assert(tree.find_max(max));
    +
    488 assert(max == 6);
    +
    489
    +
    490 std::cout << "ok" << std::endl;
    +
    491}
    +
    +
    492
    +
    + +
    499 std::cout << "Testing BST get_elements_inorder...";
    +
    500
    + +
    502 tree.insert(5);
    +
    503 tree.insert(4);
    +
    504 tree.insert(3);
    +
    505 tree.insert(6);
    +
    506
    +
    507 std::vector<int> expected = {3, 4, 5, 6};
    +
    508 std::vector<int> actual = tree.get_elements_inorder();
    +
    509 assert(actual == expected);
    +
    510
    +
    511 std::cout << "ok" << std::endl;
    +
    512}
    +
    +
    513
    +
    + +
    520 std::cout << "Testing BST get_elements_preorder...";
    +
    521
    + +
    523 tree.insert(5);
    +
    524 tree.insert(4);
    +
    525 tree.insert(3);
    +
    526 tree.insert(6);
    +
    527
    +
    528 std::vector<int> expected = {5, 4, 3, 6};
    +
    529 std::vector<int> actual = tree.get_elements_preorder();
    +
    530 assert(actual == expected);
    +
    531
    +
    532 std::cout << "ok" << std::endl;
    +
    533}
    +
    +
    534
    +
    + +
    541 std::cout << "Testing BST get_elements_postorder...";
    +
    542
    + +
    544 tree.insert(5);
    +
    545 tree.insert(4);
    +
    546 tree.insert(3);
    +
    547 tree.insert(6);
    +
    548
    +
    549 std::vector<int> expected = {3, 4, 6, 5};
    +
    550 std::vector<int> actual = tree.get_elements_postorder();
    +
    551 assert(actual == expected);
    +
    552
    +
    553 std::cout << "ok" << std::endl;
    +
    554}
    +
    +
    555
    +
    556int main() {
    +
    557 test_insert();
    +
    558 test_remove();
    + + + + + + +
    565}
    +
    static void test_get_elements_inorder()
    Function for testing get_elements_inorder().
    +
    static void test_contains()
    Function for testing contains().
    +
    static void test_insert()
    Function for testing insert().
    +
    static void test_get_elements_postorder()
    Function for testing get_elements_postorder().
    +
    static void test_find_max()
    Function for testing find_max().
    +
    static void test_get_elements_preorder()
    Function for testing get_elements_preorder().
    +
    static void test_remove()
    Function for testing remove().
    +
    static void test_find_min()
    Function for testing find_min().
    +
    The Binary Search Tree class.
    + +
    std::vector< T > get_elements_inorder()
    Get all values of the BST in in-order order.
    +
    void traverse_inorder(std::function< void(T)> callback, std::unique_ptr< bst_node > &node)
    Recursive function to traverse the tree in in-order order.
    +
    bool find_max(T &ret_value)
    Find the largest value in the BST.
    +
    std::size_t size()
    Get the number of values in the BST.
    +
    std::vector< T > get_elements_preorder()
    Get all values of the BST in pre-order order.
    +
    std::vector< T > get_elements_postorder()
    Get all values of the BST in post-order order.
    +
    bool contains(T value)
    Check if a value is in the BST.
    +
    bool find_max(std::unique_ptr< bst_node > &node, T &ret_value)
    Recursive function to find the maximum value in the BST.
    +
    bool insert(T new_value)
    Insert a new value into the BST.
    +
    void traverse_postorder(std::function< void(T)> callback, std::unique_ptr< bst_node > &node)
    Recursive function to traverse the tree in post-order order.
    +
    bool remove(T rm_value)
    Remove a specified value from the BST.
    +
    bool insert(std::unique_ptr< bst_node > &node, T new_value)
    Recursive function to insert a value into the BST.
    +
    std::unique_ptr< bst_node > root_
    +
    bool contains(std::unique_ptr< bst_node > &node, T value)
    Recursive function to check if a value is in the BST.
    +
    binary_search_tree()
    Construct a new Binary Search Tree object.
    +
    void traverse_preorder(std::function< void(T)> callback, std::unique_ptr< bst_node > &node)
    Recursive function to traverse the tree in pre-order order.
    +
    bool find_min(T &ret_value)
    Find the smallest value in the BST.
    +
    bool remove(std::unique_ptr< bst_node > &parent, std::unique_ptr< bst_node > &node, T rm_value)
    Recursive function to remove a value from the BST.
    +
    bool find_min(std::unique_ptr< bst_node > &node, T &ret_value)
    Recursive function to find the minimum value in the BST.
    +
    int main()
    Main function.
    +
    A struct to represent a node in the Binary Search Tree.
    +
    std::unique_ptr< bst_node > right
    + + +
    std::unique_ptr< bst_node > left
    + +
    +
    + + + + diff --git a/df/d44/namespacen__queens__all__solutions.html b/df/d44/namespacen__queens__all__solutions.html index a318bf8b7..69f37df84 100644 --- a/df/d44/namespacen__queens__all__solutions.html +++ b/df/d44/namespacen__queens__all__solutions.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: n_queens_all_solutions Namespace Reference +TheAlgorithms/C++: n_queens_all_solutions Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/df/d47/fcfs__scheduling_8cpp.html b/df/d47/fcfs__scheduling_8cpp.html index c178a51d0..76e55aa08 100644 --- a/df/d47/fcfs__scheduling_8cpp.html +++ b/df/d47/fcfs__scheduling_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: cpu_scheduling_algorithms/fcfs_scheduling.cpp File Reference +TheAlgorithms/C++: cpu_scheduling_algorithms/fcfs_scheduling.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + @@ -128,7 +145,9 @@ Include dependency graph for fcfs_scheduling.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -141,11 +160,11 @@ Classes - + - + @@ -158,6 +177,8 @@ Functions

    Detailed Description

    Implementation of FCFS CPU scheduling algorithm.

    FCFS is a non-preemptive CPU scheduling algorithm in which whichever process arrives first, gets executed first. If two or more processes arrive simultaneously, the process with smaller process ID gets executed first. https://bit.ly/3ABNXOCPratyush Vatsa

    + +

    Definition in file fcfs_scheduling.cpp.

    Function Documentation

    ◆ get_final_status()

    @@ -168,9 +189,9 @@ Functions template<typename S , typename T , typename E >

    Classes

    class  Compare< S, T, E >

    Functions

    template<typename S , typename T , typename E >
    bool sortcol (tuple< S, T, E > &t1, tuple< S, T, E > &t2)
    bool sortcol (tuple< S, T, E > &t1, tuple< S, T, E > &t2)
     Comparator function for sorting a vector.
     
    template<typename S , typename T , typename E >
    vector< tuple< S, T, E, double, double, double > > get_final_status (vector< tuple< uint32_t, uint32_t, uint32_t > > input)
    vector< tuple< S, T, E, double, double, double > > get_final_status (vector< tuple< uint32_t, uint32_t, uint32_t > > input)
     Function to be used for testing purposes. This function guarantees the correct solution for FCFS scheduling algorithm.
     
    static void test ()
    - + - +
    vector< tuple< S, T, E, double, double, double > > get_final_status vector< tuple< S, T, E, double, double, double > > get_final_status (vector< tuple< uint32_t, uint32_t, uint32_t > > input)vector< tuple< uint32_t, uint32_t, uint32_t > > input)
    @@ -184,11 +205,13 @@ template<typename S , typename T , typename E >

    Sorts the input vector according to arrival time. Processes whose arrival times are same get sorted according to process ID For each process, completion time, turnaround time and completion time are calculated, inserted in a tuple, which is added to the vector result.

    Returns
    A vector of tuples consisting of process ID, arrival time, burst time, completion time, turnaround time and waiting time for each process.
    + +

    Definition at line 226 of file fcfs_scheduling.cpp.

    227 {
    -
    228 sort(input.begin(), input.end(), sortcol<S, T, E>);
    - +
    228 sort(input.begin(), input.end(), sortcol<S, T, E>);
    +
    229 vector<tuple<S, T, E, double, double, double>> result(input.size());
    230 double timeElapsed = 0;
    -
    231 for (size_t i{}; i < input.size(); i++) {
    +
    231 for (size_t i{}; i < input.size(); i++) {
    232 T arrival = get<1>(input[i]);
    233 E burst = get<2>(input[i]);
    234
    @@ -209,19 +232,9 @@ template<typename S , typename T , typename E >
    249 }
    250 return result;
    251}
    -
    T begin(T... args)
    -
    T end(T... args)
    -
    bool sortcol(tuple< S, T, E > &t1, tuple< S, T, E > &t2)
    Comparator function for sorting a vector.
    Definition fcfs_scheduling.cpp:46
    -
    uint64_t result(uint64_t n)
    Definition fibonacci_sum.cpp:77
    -
    T size(T... args)
    -
    T sort(T... args)
    - -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    bool sortcol(tuple< S, T, E > &t1, tuple< S, T, E > &t2)
    Comparator function for sorting a vector.
    +
    uint64_t result(uint64_t n)
    + @@ -241,17 +254,14 @@ Here is the call graph for this function:

    Entry point of the program.

    Returns
    0 on exit
    + +

    Definition at line 288 of file fcfs_scheduling.cpp.

    288 {
    289 test(); // run self-test implementations
    290 return 0;
    291}
    -
    static void test()
    Self-test implementations.
    Definition fcfs_scheduling.cpp:257
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static void test()
    Self-test implementations.
    + @@ -265,12 +275,12 @@ template<typename S , typename T , typename E > bool sortcol ( - tuple< S, T, E > & t1, + tuple< S, T, E > & t1, - tuple< S, T, E > & t2 ) + tuple< S, T, E > & t2 )
    @@ -294,6 +304,8 @@ template<typename S , typename T , typename E >
    Returns
    true if t1 and t2 are in the CORRECT order
    false if t1 and t2 are in the INCORRECT order
    + +

    Definition at line 46 of file fcfs_scheduling.cpp.

    46 {
    47 if (get<1>(t1) < get<1>(t2)) {
    48 return true;
    @@ -330,18 +342,20 @@ false if t1 and t2 are in the INCORRECT order

    Self-test implementations.

    Returns
    void
    + +

    Definition at line 257 of file fcfs_scheduling.cpp.

    257 {
    258 for (int i{}; i < 1000; i++) {
    -
    259 srand(time(nullptr));
    +
    259 srand(time(nullptr));
    260 uint32_t n = 1 + rand() % 1000;
    - +
    262 vector<tuple<uint32_t, uint32_t, uint32_t>> input(n);
    263
    264 for (uint32_t i{}; i < n; i++) {
    265 get<0>(input[i]) = i;
    -
    266 srand(time(nullptr));
    +
    266 srand(time(nullptr));
    267 get<1>(input[i]) = 1 + rand() % 10000;
    -
    268 srand(time(nullptr));
    +
    268 srand(time(nullptr));
    269 get<2>(input[i]) = 1 + rand() % 10000;
    270 }
    271
    @@ -349,26 +363,19 @@ false if t1 and t2 are in the INCORRECT order
    273 readyQueue.addProcess(get<0>(input[i]), get<1>(input[i]),
    274 get<2>(input[i]));
    275 }
    - +
    276 vector<tuple<uint32_t, uint32_t, uint32_t, double, double, double>>
    278 assert(res == readyQueue.scheduleForFcfs());
    279 // readyQueue.printResult();
    280 }
    -
    281 cout << "All the tests have successfully passed!" << endl;
    +
    281 cout << "All the tests have successfully passed!" << endl;
    282}
    - -
    Class which implements the FCFS scheduling algorithm.
    Definition fcfs_scheduling.cpp:98
    -
    void addProcess(S id, T arrival, E burst)
    Adds the process to the ready queue if it isn't already there.
    Definition fcfs_scheduling.cpp:130
    -
    vector< tuple< S, T, E, double, double, double > > scheduleForFcfs()
    Algorithm for scheduling CPU processes according to the First Come First Serve(FCFS) scheduling algor...
    Definition fcfs_scheduling.cpp:155
    -
    vector< tuple< S, T, E, double, double, double > > get_final_status(vector< tuple< uint32_t, uint32_t, uint32_t > > input)
    Function to be used for testing purposes. This function guarantees the correct solution for FCFS sche...
    Definition fcfs_scheduling.cpp:226
    -
    #define endl
    Definition matrix_exponentiation.cpp:36
    -
    T time(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    Class which implements the FCFS scheduling algorithm.
    +
    void addProcess(S id, T arrival, E burst)
    Adds the process to the ready queue if it isn't already there.
    +
    vector< tuple< S, T, E, double, double, double > > scheduleForFcfs()
    Algorithm for scheduling CPU processes according to the First Come First Serve(FCFS) scheduling algor...
    +
    vector< tuple< S, T, E, double, double, double > > get_final_status(vector< tuple< uint32_t, uint32_t, uint32_t > > input)
    Function to be used for testing purposes. This function guarantees the correct solution for FCFS sche...
    +
    #define endl
    +
    diff --git a/df/d47/fcfs__scheduling_8cpp_a8f2b90cb64d63a7080965e66a05ccf86_cgraph.map b/df/d47/fcfs__scheduling_8cpp_a8f2b90cb64d63a7080965e66a05ccf86_cgraph.map deleted file mode 100644 index 1dfb3caf2..000000000 --- a/df/d47/fcfs__scheduling_8cpp_a8f2b90cb64d63a7080965e66a05ccf86_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/df/d47/fcfs__scheduling_8cpp_a8f2b90cb64d63a7080965e66a05ccf86_cgraph.md5 b/df/d47/fcfs__scheduling_8cpp_a8f2b90cb64d63a7080965e66a05ccf86_cgraph.md5 deleted file mode 100644 index 9dd4e5e03..000000000 --- a/df/d47/fcfs__scheduling_8cpp_a8f2b90cb64d63a7080965e66a05ccf86_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -07278229db85ad944de7b00a4fa4ed42 \ No newline at end of file diff --git a/df/d47/fcfs__scheduling_8cpp_a8f2b90cb64d63a7080965e66a05ccf86_cgraph.svg b/df/d47/fcfs__scheduling_8cpp_a8f2b90cb64d63a7080965e66a05ccf86_cgraph.svg deleted file mode 100644 index 135d3bfdf..000000000 --- a/df/d47/fcfs__scheduling_8cpp_a8f2b90cb64d63a7080965e66a05ccf86_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -get_final_status - - -Node1 - - -get_final_status - - - - - -Node2 - - -sortcol - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/df/d47/fcfs__scheduling_8cpp_a8f2b90cb64d63a7080965e66a05ccf86_cgraph_org.svg b/df/d47/fcfs__scheduling_8cpp_a8f2b90cb64d63a7080965e66a05ccf86_cgraph_org.svg deleted file mode 100644 index 275d01cac..000000000 --- a/df/d47/fcfs__scheduling_8cpp_a8f2b90cb64d63a7080965e66a05ccf86_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -get_final_status - - -Node1 - - -get_final_status - - - - - -Node2 - - -sortcol - - - - - -Node1->Node2 - - - - - - - - diff --git a/df/d47/fcfs__scheduling_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map b/df/d47/fcfs__scheduling_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map deleted file mode 100644 index af0bb23f9..000000000 --- a/df/d47/fcfs__scheduling_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - - - - - diff --git a/df/d47/fcfs__scheduling_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 b/df/d47/fcfs__scheduling_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 deleted file mode 100644 index 074c3375d..000000000 --- a/df/d47/fcfs__scheduling_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -f5516df712d2062d62bc91fd5718e722 \ No newline at end of file diff --git a/df/d47/fcfs__scheduling_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg b/df/d47/fcfs__scheduling_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg deleted file mode 100644 index c7a4e150e..000000000 --- a/df/d47/fcfs__scheduling_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg +++ /dev/null @@ -1,175 +0,0 @@ - - - - - - - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -FCFS::addProcess - - - - - -Node1->Node2 - - - - - - - - -Node6 - - -get_final_status - - - - - -Node1->Node6 - - - - - - - - -Node8 - - -FCFS::scheduleForFcfs - - - - - -Node1->Node8 - - - - - - - - -Node3 - - -std::unordered_set::end - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::unordered_set -::find - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -std::unordered_set -::insert - - - - - -Node2->Node5 - - - - - - - - -Node7 - - -sortcol - - - - - -Node6->Node7 - - - - - - - - - - - - - diff --git a/df/d47/fcfs__scheduling_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg b/df/d47/fcfs__scheduling_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg deleted file mode 100644 index 5ce500751..000000000 --- a/df/d47/fcfs__scheduling_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg +++ /dev/null @@ -1,149 +0,0 @@ - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -FCFS::addProcess - - - - - -Node1->Node2 - - - - - - - - -Node6 - - -get_final_status - - - - - -Node1->Node6 - - - - - - - - -Node8 - - -FCFS::scheduleForFcfs - - - - - -Node1->Node8 - - - - - - - - -Node3 - - -std::unordered_set::end - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -std::unordered_set -::find - - - - - -Node2->Node4 - - - - - - - - -Node5 - - -std::unordered_set -::insert - - - - - -Node2->Node5 - - - - - - - - -Node7 - - -sortcol - - - - - -Node6->Node7 - - - - - - - - diff --git a/df/d47/fcfs__scheduling_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/df/d47/fcfs__scheduling_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 019245566..000000000 --- a/df/d47/fcfs__scheduling_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - - - - - - - - - - diff --git a/df/d47/fcfs__scheduling_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/df/d47/fcfs__scheduling_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index 8b8f32198..000000000 --- a/df/d47/fcfs__scheduling_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -06a59461d7d4976cb5e2234e5948888a \ No newline at end of file diff --git a/df/d47/fcfs__scheduling_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/df/d47/fcfs__scheduling_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 4b98ea0ba..000000000 --- a/df/d47/fcfs__scheduling_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,193 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -FCFS::addProcess - - - - - -Node2->Node3 - - - - - - - - -Node7 - - -get_final_status - - - - - -Node2->Node7 - - - - - - - - -Node9 - - -FCFS::scheduleForFcfs - - - - - -Node2->Node9 - - - - - - - - -Node4 - - -std::unordered_set::end - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -std::unordered_set -::find - - - - - -Node3->Node5 - - - - - - - - -Node6 - - -std::unordered_set -::insert - - - - - -Node3->Node6 - - - - - - - - -Node8 - - -sortcol - - - - - -Node7->Node8 - - - - - - - - - - - - - diff --git a/df/d47/fcfs__scheduling_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/df/d47/fcfs__scheduling_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 4d6dcd2d2..000000000 --- a/df/d47/fcfs__scheduling_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,167 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -FCFS::addProcess - - - - - -Node2->Node3 - - - - - - - - -Node7 - - -get_final_status - - - - - -Node2->Node7 - - - - - - - - -Node9 - - -FCFS::scheduleForFcfs - - - - - -Node2->Node9 - - - - - - - - -Node4 - - -std::unordered_set::end - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -std::unordered_set -::find - - - - - -Node3->Node5 - - - - - - - - -Node6 - - -std::unordered_set -::insert - - - - - -Node3->Node6 - - - - - - - - -Node8 - - -sortcol - - - - - -Node7->Node8 - - - - - - - - diff --git a/df/d47/fcfs__scheduling_8cpp_source.html b/df/d47/fcfs__scheduling_8cpp_source.html new file mode 100644 index 000000000..dc6f65507 --- /dev/null +++ b/df/d47/fcfs__scheduling_8cpp_source.html @@ -0,0 +1,358 @@ + + + + + + + + +TheAlgorithms/C++: cpu_scheduling_algorithms/fcfs_scheduling.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    fcfs_scheduling.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    12#include <algorithm>
    +
    13#include <cassert>
    +
    14#include <cstdint>
    +
    15#include <cstdlib>
    +
    16#include <ctime>
    +
    17#include <iomanip>
    +
    18#include <iostream>
    +
    19#include <queue>
    +
    20#include <unordered_set>
    +
    21#include <vector>
    +
    22
    +
    23using std::cin;
    +
    24using std::cout;
    +
    25using std::endl;
    +
    26using std::get;
    +
    27using std::left;
    +
    28using std::make_tuple;
    +
    29using std::priority_queue;
    +
    30using std::rand;
    +
    31using std::srand;
    +
    32using std::tuple;
    +
    33using std::unordered_set;
    +
    34using std::vector;
    +
    45template <typename S, typename T, typename E>
    +
    +
    46bool sortcol(tuple<S, T, E>& t1, tuple<S, T, E>& t2) {
    +
    47 if (get<1>(t1) < get<1>(t2)) {
    +
    48 return true;
    +
    49 } else if (get<1>(t1) == get<1>(t2) && get<0>(t1) < get<0>(t2)) {
    +
    50 return true;
    +
    51 }
    +
    52 return false;
    +
    53}
    +
    +
    54
    +
    62template <typename S, typename T, typename E>
    +
    +
    63class Compare {
    +
    64 public:
    +
    +
    76 bool operator()(tuple<S, T, E, double, double, double>& t1,
    +
    77 tuple<S, T, E, double, double, double>& t2) {
    +
    78 // Compare arrival times
    +
    79 if (get<1>(t2) < get<1>(t1)) {
    +
    80 return true;
    +
    81 }
    +
    82 // If arrival times are same, then compare Process IDs
    +
    83 else if (get<1>(t2) == get<1>(t1)) {
    +
    84 return get<0>(t2) < get<0>(t1);
    +
    85 }
    +
    86 return false;
    +
    87 }
    +
    +
    88};
    +
    +
    89
    +
    97template <typename S, typename T, typename E>
    +
    +
    98class FCFS {
    +
    109 priority_queue<tuple<S, T, E, double, double, double>,
    +
    110 vector<tuple<S, T, E, double, double, double>>,
    + + +
    113
    +
    114 // Stores final status of all the processes after completing the execution.
    +
    115 vector<tuple<S, T, E, double, double, double>> result;
    +
    116
    +
    117 // Stores process IDs. Used for confirming absence of a process while adding
    +
    118 // it.
    +
    119 unordered_set<S> idList;
    +
    120
    +
    121 public:
    +
    +
    130 void addProcess(S id, T arrival, E burst) {
    +
    131 // Add if a process with process ID as id is not found in idList.
    +
    132 if (idList.find(id) == idList.end()) {
    +
    133 tuple<S, T, E, double, double, double> t =
    +
    134 make_tuple(id, arrival, burst, 0, 0, 0);
    +
    135 schedule.push(t);
    +
    136 idList.insert(id);
    +
    137 }
    +
    138 }
    +
    +
    139
    +
    +
    155 vector<tuple<S, T, E, double, double, double>> scheduleForFcfs() {
    +
    156 // Variable to keep track of time elapsed so far
    +
    157 double timeElapsed = 0;
    +
    158
    +
    159 while (!schedule.empty()) {
    +
    160 tuple<S, T, E, double, double, double> cur = schedule.top();
    +
    161
    +
    162 // If the current process arrived at time t2, the last process
    +
    163 // completed its execution at time t1, and t2 > t1.
    +
    164 if (get<1>(cur) > timeElapsed) {
    +
    165 timeElapsed += get<1>(cur) - timeElapsed;
    +
    166 }
    +
    167
    +
    168 // Add Burst time to time elapsed
    +
    169 timeElapsed += get<2>(cur);
    +
    170
    +
    171 // Completion time of the current process will be same as time
    +
    172 // elapsed so far
    +
    173 get<3>(cur) = timeElapsed;
    +
    174
    +
    175 // Turnaround time = Completion time - Arrival time
    +
    176 get<4>(cur) = get<3>(cur) - get<1>(cur);
    +
    177
    +
    178 // Waiting time = Turnaround time - Burst time
    +
    179 get<5>(cur) = get<4>(cur) - get<2>(cur);
    +
    180
    +
    181 result.push_back(cur);
    +
    182 schedule.pop();
    +
    183 }
    +
    184 return result;
    +
    185 }
    +
    +
    186
    +
    +
    192 void printResult() {
    +
    193 cout << "Status of all the proceses post completion is as follows:"
    +
    194 << endl;
    +
    195
    +
    196 cout << std::setw(17) << left << "Process ID" << std::setw(17) << left
    +
    197 << "Arrival Time" << std::setw(17) << left << "Burst Time"
    +
    198 << std::setw(17) << left << "Completion Time" << std::setw(17)
    +
    199 << left << "Turnaround Time" << std::setw(17) << left
    +
    200 << "Waiting Time" << endl;
    +
    201
    +
    202 for (size_t i{}; i < result.size(); i++) {
    +
    203 cout << std::setprecision(2) << std::fixed << std::setw(17) << left
    +
    204 << get<0>(result[i]) << std::setw(17) << left
    +
    205 << get<1>(result[i]) << std::setw(17) << left
    +
    206 << get<2>(result[i]) << std::setw(17) << left
    +
    207 << get<3>(result[i]) << std::setw(17) << left
    +
    208 << get<4>(result[i]) << std::setw(17) << left
    +
    209 << get<5>(result[i]) << endl;
    +
    210 }
    +
    211 }
    +
    +
    212};
    +
    +
    213
    +
    225template <typename S, typename T, typename E>
    +
    +
    226vector<tuple<S, T, E, double, double, double>> get_final_status(
    +
    227 vector<tuple<uint32_t, uint32_t, uint32_t>> input) {
    +
    228 sort(input.begin(), input.end(), sortcol<S, T, E>);
    +
    229 vector<tuple<S, T, E, double, double, double>> result(input.size());
    +
    230 double timeElapsed = 0;
    +
    231 for (size_t i{}; i < input.size(); i++) {
    +
    232 T arrival = get<1>(input[i]);
    +
    233 E burst = get<2>(input[i]);
    +
    234
    +
    235 if (arrival > timeElapsed) {
    +
    236 timeElapsed += arrival - timeElapsed;
    +
    237 }
    +
    238 timeElapsed += burst;
    +
    239 double completion = timeElapsed;
    +
    240 double turnaround = completion - arrival;
    +
    241 double waiting = turnaround - burst;
    +
    242
    +
    243 get<0>(result[i]) = get<0>(input[i]);
    +
    244 get<1>(result[i]) = arrival;
    +
    245 get<2>(result[i]) = burst;
    +
    246 get<3>(result[i]) = completion;
    +
    247 get<4>(result[i]) = turnaround;
    +
    248 get<5>(result[i]) = waiting;
    +
    249 }
    +
    250 return result;
    +
    251}
    +
    +
    252
    +
    +
    257static void test() {
    +
    258 for (int i{}; i < 1000; i++) {
    +
    259 srand(time(nullptr));
    +
    260 uint32_t n = 1 + rand() % 1000;
    + +
    262 vector<tuple<uint32_t, uint32_t, uint32_t>> input(n);
    +
    263
    +
    264 for (uint32_t i{}; i < n; i++) {
    +
    265 get<0>(input[i]) = i;
    +
    266 srand(time(nullptr));
    +
    267 get<1>(input[i]) = 1 + rand() % 10000;
    +
    268 srand(time(nullptr));
    +
    269 get<2>(input[i]) = 1 + rand() % 10000;
    +
    270 }
    +
    271
    +
    272 for (uint32_t i{}; i < n; i++) {
    +
    273 readyQueue.addProcess(get<0>(input[i]), get<1>(input[i]),
    +
    274 get<2>(input[i]));
    +
    275 }
    +
    276 vector<tuple<uint32_t, uint32_t, uint32_t, double, double, double>>
    + +
    278 assert(res == readyQueue.scheduleForFcfs());
    +
    279 // readyQueue.printResult();
    +
    280 }
    +
    281 cout << "All the tests have successfully passed!" << endl;
    +
    282}
    +
    +
    283
    +
    +
    288int main() {
    +
    289 test(); // run self-test implementations
    +
    290 return 0;
    +
    291}
    +
    +
    Comparator class for priority queue.
    +
    bool operator()(tuple< S, T, E, double, double, double > &t1, tuple< S, T, E, double, double, double > &t2)
    A comparator function that checks whether to swap the two tuples or not. to https://www....
    +
    Class which implements the FCFS scheduling algorithm.
    +
    void addProcess(S id, T arrival, E burst)
    Adds the process to the ready queue if it isn't already there.
    +
    vector< tuple< S, T, E, double, double, double > > scheduleForFcfs()
    Algorithm for scheduling CPU processes according to the First Come First Serve(FCFS) scheduling algor...
    +
    void printResult()
    Utility function for printing the status of each process after execution.
    +
    priority_queue< tuple< S, T, E, double, double, double >, vector< tuple< S, T, E, double, double, double > >, Compare< S, T, E > > schedule
    +
    bool sortcol(tuple< S, T, E > &t1, tuple< S, T, E > &t2)
    Comparator function for sorting a vector.
    +
    vector< tuple< S, T, E, double, double, double > > get_final_status(vector< tuple< uint32_t, uint32_t, uint32_t > > input)
    Function to be used for testing purposes. This function guarantees the correct solution for FCFS sche...
    +
    static void test()
    Self-test implementations.
    +
    int main()
    Entry point of the program.
    +
    #define endl
    +
    +
    + + + + diff --git a/df/d47/stack_8hpp.html b/df/d47/stack_8hpp.html index 2be7ffe5f..3f9db0698 100644 --- a/df/d47/stack_8hpp.html +++ b/df/d47/stack_8hpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: data_structures/stack.hpp File Reference +TheAlgorithms/C++: data_structures/stack.hpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -119,13 +136,18 @@ Include dependency graph for stack.hpp:
    +
    +This graph shows which files directly or indirectly include this file:
    +
    +
    +

    Go to the source code of this file.

    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    - +

    Classes

    class  stack< ValueType >
     for std::invalid_argument More...
     for std::invalid_argument More...
     

    Detailed Description

    @@ -133,6 +155,8 @@ Classes
    Author
    danghai
    Piotr Idzik
    + +

    Definition in file stack.hpp.

    diff --git a/df/d47/stack_8hpp_source.html b/df/d47/stack_8hpp_source.html index 4535c63db..54cfa7fc4 100644 --- a/df/d47/stack_8hpp_source.html +++ b/df/d47/stack_8hpp_source.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: data_structures/stack.hpp Source File +TheAlgorithms/C++: data_structures/stack.hpp Source File + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -107,74 +124,60 @@ $(function(){initNavTree('df/d47/stack_8hpp_source.html','../../'); initResizabl
    stack.hpp
    -Go to the documentation of this file.
    1/**
    -
    2 * @file
    -
    3 * @author danghai
    -
    4 * @author [Piotr Idzik](https://github.com/vil02)
    -
    5 * @brief This class specifies the basic operation on a stack as a linked list
    -
    6 **/
    +Go to the documentation of this file.
    1
    7#ifndef DATA_STRUCTURES_STACK_HPP_
    8#define DATA_STRUCTURES_STACK_HPP_
    9
    -
    10#include <stdexcept> /// for std::invalid_argument
    +
    10#include <stdexcept>
    11
    -
    12#include "node.hpp" /// for Node
    -
    13
    -
    14/** Definition of the stack class
    -
    15 * \tparam value_type type of data nodes of the linked list in the stack should
    -
    16 * contain
    -
    17 */
    +
    12#include "node.hpp"
    +
    13
    18template <class ValueType>
    19class stack {
    20 public:
    21 using value_type = ValueType;
    -
    22
    -
    23 /** Show stack */
    +
    22
    24 void display() const {
    -
    25 std::cout << "Top --> ";
    -
    26 display_all(this->stackTop.get());
    -
    27 std::cout << '\n';
    -
    28 std::cout << "Size of stack: " << size << std::endl;
    +
    25 std::cout << "Top --> ";
    +
    26 display_all(this->stackTop.get());
    +
    27 std::cout << '\n';
    +
    28 std::cout << "Size of stack: " << size << std::endl;
    29 }
    30
    -
    31 std::vector<value_type> toVector() const {
    -
    32 return push_all_to_vector(this->stackTop.get(), this->size);
    +
    31 std::vector<value_type> toVector() const {
    +
    32 return push_all_to_vector(this->stackTop.get(), this->size);
    33 }
    34
    35 private:
    36 void ensureNotEmpty() const {
    37 if (isEmptyStack()) {
    -
    38 throw std::invalid_argument("Stack is empty.");
    +
    38 throw std::invalid_argument("Stack is empty.");
    39 }
    40 }
    41
    -
    42 public:
    -
    43 /** Determine whether the stack is empty */
    +
    42 public:
    44 bool isEmptyStack() const { return (stackTop == nullptr); }
    -
    45
    -
    46 /** Add new item to the stack */
    +
    45
    47 void push(const value_type& item) {
    -
    48 auto newNode = std::make_shared<Node<value_type>>();
    +
    48 auto newNode = std::make_shared<Node<value_type>>();
    49 newNode->data = item;
    50 newNode->next = stackTop;
    51 stackTop = newNode;
    52 size++;
    53 }
    -
    54
    -
    55 /** Return the top element of the stack */
    +
    54
    56 value_type top() const {
    57 ensureNotEmpty();
    58 return stackTop->data;
    59 }
    -
    60
    -
    61 /** Remove the top element of the stack */
    +
    60
    62 void pop() {
    63 ensureNotEmpty();
    @@ -182,8 +185,7 @@ $(function(){initNavTree('df/d47/stack_8hpp_source.html','../../'); initResizabl
    65 size--;
    66 }
    -
    67
    -
    68 /** Clear stack */
    +
    67
    69 void clear() {
    70 stackTop = nullptr;
    @@ -193,32 +195,24 @@ $(function(){initNavTree('df/d47/stack_8hpp_source.html','../../'); initResizabl
    73
    74 private:
    - -
    76 {}; /**< Pointer to the stack */
    +
    75 std::shared_ptr<Node<value_type>> stackTop =
    +
    76 {};
    -
    77 std::size_t size = 0; ///< size of stack
    +
    77 std::size_t size = 0;
    78};
    79
    80#endif // DATA_STRUCTURES_STACK_HPP_
    - -
    for std::invalid_argument
    Definition stack.hpp:19
    -
    std::size_t size
    size of stack
    Definition stack.hpp:77
    -
    bool isEmptyStack() const
    Definition stack.hpp:44
    -
    void pop()
    Definition stack.hpp:62
    -
    void clear()
    Definition stack.hpp:69
    -
    void display() const
    Definition stack.hpp:24
    -
    void push(const value_type &item)
    Definition stack.hpp:47
    -
    value_type top() const
    Definition stack.hpp:56
    -
    std::shared_ptr< Node< value_type > > stackTop
    Definition stack.hpp:75
    -
    T endl(T... args)
    -
    T get(T... args)
    - -
    T make_shared(T... args)
    +
    for std::invalid_argument
    Definition stack.hpp:19
    +
    std::size_t size
    size of stack
    Definition stack.hpp:77
    +
    bool isEmptyStack() const
    Definition stack.hpp:44
    +
    void pop()
    Definition stack.hpp:62
    +
    void clear()
    Definition stack.hpp:69
    +
    void display() const
    Definition stack.hpp:24
    +
    void push(const value_type &item)
    Definition stack.hpp:47
    +
    value_type top() const
    Definition stack.hpp:56
    +
    std::shared_ptr< Node< value_type > > stackTop
    Definition stack.hpp:75
    Provides Node class and related utilities.
    - - -
    diff --git a/df/d4a/namespaceselection__sort__recursive.html b/df/d4a/namespaceselection__sort__recursive.html index a2a140653..e424a7ecd 100644 --- a/df/d4a/namespaceselection__sort__recursive.html +++ b/df/d4a/namespaceselection__sort__recursive.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: selection_sort_recursive Namespace Reference +TheAlgorithms/C++: selection_sort_recursive Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/df/d51/classothers_1_1lru__cache_1_1_l_r_u_cache-members.html b/df/d51/classothers_1_1lru__cache_1_1_l_r_u_cache-members.html index 19920e68d..19a11af36 100644 --- a/df/d51/classothers_1_1lru__cache_1_1_l_r_u_cache-members.html +++ b/df/d51/classothers_1_1lru__cache_1_1_l_r_u_cache-members.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Member List +TheAlgorithms/C++: Member List + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/df/d66/vector__cross__product_8cpp.html b/df/d66/vector__cross__product_8cpp.html index 53ecd23fe..f62f47ff8 100644 --- a/df/d66/vector__cross__product_8cpp.html +++ b/df/d66/vector__cross__product_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: math/vector_cross_product.cpp File Reference +TheAlgorithms/C++: math/vector_cross_product.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + @@ -122,7 +139,9 @@ Include dependency graph for vector_cross_product.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -134,10 +153,10 @@ Namespaces

    Namespaces

    namespace  math
    - + - + @@ -162,6 +181,8 @@ 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

    Author
    Shreyas Sable
    + +

    Definition in file vector_cross_product.cpp.

    Function Documentation

    ◆ cross()

    @@ -170,14 +191,14 @@ Example:

    Functions

    std::array< double, 3 > math::vector_cross::cross (const std::array< double, 3 > &A, const std::array< double, 3 > &B)
    std::array< double, 3 > math::vector_cross::cross (const std::array< double, 3 > &A, const std::array< double, 3 > &B)
     Function to calculate the cross product of the passed arrays containing the direction ratios of the two mathematical vectors.
     
    double math::vector_cross::mag (const std::array< double, 3 > &vec)
    double math::vector_cross::mag (const std::array< double, 3 > &vec)
     Calculates the magnitude of the mathematical vector from it's direction ratios.
     
    static void test ()
    - + - + - +
    std::array< double, 3 > math::vector_cross::cross std::array< double, 3 > math::vector_cross::cross (const std::array< double, 3 > & A, const std::array< double, 3 > & A,
    const std::array< double, 3 > & B )const std::array< double, 3 > & B )
    @@ -192,21 +213,16 @@ Example:
    Returns
    the direction ratios of the cross product.

    Performs the cross product as shown in @algorithm.

    + +

    Definition at line 69 of file vector_cross_product.cpp.

    69 {
    - -
    71 /// Performs the cross product as shown in @algorithm.
    -
    72 product[0] = (A[1] * B[2]) - (A[2] * B[1]);
    +
    70 std::array<double, 3> product;
    +
    72 product[0] = (A[1] * B[2]) - (A[2] * B[1]);
    73 product[1] = -((A[0] * B[2]) - (A[2] * B[0]));
    74 product[2] = (A[0] * B[1]) - (A[1] * B[0]);
    75 return product;
    76 }
    - -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    @@ -218,7 +234,7 @@ Here is the call graph for this function: double math::vector_cross::mag ( - const std::array< double, 3 > & vec) + const std::array< double, 3 > & vec) @@ -232,17 +248,13 @@ Here is the call graph for this function:
    Returns
    type: double description: the magnitude of the mathematical vector from the given direction ratios.
    + +

    Definition at line 83 of file vector_cross_product.cpp.

    83 {
    -
    84 double magnitude = sqrt((vec[0] * vec[0]) + (vec[1] * vec[1]) + (vec[2] * vec[2]));
    +
    84 double magnitude = sqrt((vec[0] * vec[0]) + (vec[1] * vec[1]) + (vec[2] * vec[2]));
    85 return magnitude;
    86 }
    -
    T sqrt(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -261,49 +273,38 @@ Here is the call graph for this function:

    Main Function.

    -

    Asks the user to enter the direction ratios for each of the two mathematical vectors using std::cin

    Returns
    0 on exit
    +

    Asks the user to enter the direction ratios for each of the two mathematical vectors using std::cin

    Returns
    0 on exit

    Tests the functions with sample input before asking for user input.

    Gets the values for the first vector.

    Gets the values for the second vector.

    Displays the output out.

    Displays the magnitude of the cross product.

    + +

    Definition at line 109 of file vector_cross_product.cpp.

    109 {
    -
    110
    -
    111 /// Tests the functions with sample input before asking for user input.
    -
    112 test();
    +
    110
    +
    112 test();
    113
    - - -
    116
    -
    117 /// Gets the values for the first vector.
    -
    118 std::cout << "\nPass the first Vector: ";
    -
    119 std::cin >> vec1[0] >> vec1[1] >> vec1[2];
    -
    120
    -
    121 /// Gets the values for the second vector.
    -
    122 std::cout << "\nPass the second Vector: ";
    -
    123 std::cin >> vec2[0] >> vec2[1] >> vec2[2];
    -
    124
    -
    125 /// Displays the output out.
    - -
    127 std::cout << "\nThe cross product is: " << product[0] << " " << product[1] << " " << product[2] << std::endl;
    -
    128
    -
    129 /// Displays the magnitude of the cross product.
    -
    130 std::cout << "Magnitude: " << math::vector_cross::mag(product) << "\n" << std::endl;
    +
    114 std::array<double, 3> vec1;
    +
    115 std::array<double, 3> vec2;
    +
    116
    +
    118 std::cout << "\nPass the first Vector: ";
    +
    119 std::cin >> vec1[0] >> vec1[1] >> vec1[2];
    +
    120
    +
    122 std::cout << "\nPass the second Vector: ";
    +
    123 std::cin >> vec2[0] >> vec2[1] >> vec2[2];
    +
    124
    +
    126 std::array<double, 3> product = math::vector_cross::cross(vec1, vec2);
    +
    127 std::cout << "\nThe cross product is: " << product[0] << " " << product[1] << " " << product[2] << std::endl;
    +
    128
    +
    130 std::cout << "Magnitude: " << math::vector_cross::mag(product) << "\n" << std::endl;
    131
    132 return 0;
    133}
    - - -
    T endl(T... args)
    -
    std::array< double, 3 > cross(const std::array< double, 3 > &A, const std::array< double, 3 > &B)
    Function to calculate the cross product of the passed arrays containing the direction ratios of the t...
    Definition vector_cross_product.cpp:69
    -
    double mag(const std::array< double, 3 > &vec)
    Calculates the magnitude of the mathematical vector from it's direction ratios.
    Definition vector_cross_product.cpp:83
    -
    static void test()
    namespace math
    Definition vector_cross_product.cpp:94
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    std::array< double, 3 > cross(const std::array< double, 3 > &A, const std::array< double, 3 > &B)
    Function to calculate the cross product of the passed arrays containing the direction ratios of the t...
    +
    double mag(const std::array< double, 3 > &vec)
    Calculates the magnitude of the mathematical vector from it's direction ratios.
    +
    static void test()
    namespace math
    +
    @@ -334,13 +335,13 @@ Here is the call graph for this function:

    test the cross() and the mag() functions.

    Tests the cross() function.

    Tests the mag() function.

    -
    94 {
    -
    95 /// Tests the cross() function.
    -
    96 std::array<double, 3> t_vec = math::vector_cross::cross({1, 2, 3}, {4, 5, 6});
    + +

    Definition at line 94 of file vector_cross_product.cpp.

    +
    94 {
    +
    96 std::array<double, 3> t_vec = math::vector_cross::cross({1, 2, 3}, {4, 5, 6});
    97 assert(t_vec[0] == -3 && t_vec[1] == 6 && t_vec[2] == -3);
    -
    98
    -
    99 /// Tests the mag() function.
    -
    100 double t_mag = math::vector_cross::mag({6, 8, 0});
    +
    98
    +
    100 double t_mag = math::vector_cross::mag({6, 8, 0});
    101 assert(t_mag == 10);
    102}
    diff --git a/df/d66/vector__cross__product_8cpp_a225732399c5c076976eae5b180a9f8c9_cgraph.map b/df/d66/vector__cross__product_8cpp_a225732399c5c076976eae5b180a9f8c9_cgraph.map deleted file mode 100644 index bcb363219..000000000 --- a/df/d66/vector__cross__product_8cpp_a225732399c5c076976eae5b180a9f8c9_cgraph.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/df/d66/vector__cross__product_8cpp_a225732399c5c076976eae5b180a9f8c9_cgraph.md5 b/df/d66/vector__cross__product_8cpp_a225732399c5c076976eae5b180a9f8c9_cgraph.md5 deleted file mode 100644 index f06d894de..000000000 --- a/df/d66/vector__cross__product_8cpp_a225732399c5c076976eae5b180a9f8c9_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -fbc9c89b82d64d40b1245384749c8a57 \ No newline at end of file diff --git a/df/d66/vector__cross__product_8cpp_a225732399c5c076976eae5b180a9f8c9_cgraph.svg b/df/d66/vector__cross__product_8cpp_a225732399c5c076976eae5b180a9f8c9_cgraph.svg deleted file mode 100644 index 1b1ec2cec..000000000 --- a/df/d66/vector__cross__product_8cpp_a225732399c5c076976eae5b180a9f8c9_cgraph.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - - - - - - - -math::vector_cross::cross - - -Node1 - - -math::vector_cross -::cross - - - - - -Node1->Node1 - - - - - - - - - - - - - diff --git a/df/d66/vector__cross__product_8cpp_a225732399c5c076976eae5b180a9f8c9_cgraph_org.svg b/df/d66/vector__cross__product_8cpp_a225732399c5c076976eae5b180a9f8c9_cgraph_org.svg deleted file mode 100644 index 05e21f862..000000000 --- a/df/d66/vector__cross__product_8cpp_a225732399c5c076976eae5b180a9f8c9_cgraph_org.svg +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - -math::vector_cross::cross - - -Node1 - - -math::vector_cross -::cross - - - - - -Node1->Node1 - - - - - - - - diff --git a/df/d66/vector__cross__product_8cpp_a4b2a9757a87c18e1642d72410ecfaba8_cgraph.map b/df/d66/vector__cross__product_8cpp_a4b2a9757a87c18e1642d72410ecfaba8_cgraph.map deleted file mode 100644 index 32b28e1f6..000000000 --- a/df/d66/vector__cross__product_8cpp_a4b2a9757a87c18e1642d72410ecfaba8_cgraph.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/df/d66/vector__cross__product_8cpp_a4b2a9757a87c18e1642d72410ecfaba8_cgraph.md5 b/df/d66/vector__cross__product_8cpp_a4b2a9757a87c18e1642d72410ecfaba8_cgraph.md5 deleted file mode 100644 index 2d0651c5f..000000000 --- a/df/d66/vector__cross__product_8cpp_a4b2a9757a87c18e1642d72410ecfaba8_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -ab3c29ea72945fcd6f2da7ac6ec5e811 \ No newline at end of file diff --git a/df/d66/vector__cross__product_8cpp_a4b2a9757a87c18e1642d72410ecfaba8_cgraph.svg b/df/d66/vector__cross__product_8cpp_a4b2a9757a87c18e1642d72410ecfaba8_cgraph.svg deleted file mode 100644 index b8000d694..000000000 --- a/df/d66/vector__cross__product_8cpp_a4b2a9757a87c18e1642d72410ecfaba8_cgraph.svg +++ /dev/null @@ -1,56 +0,0 @@ - - - - - - - - - - - - -math::vector_cross::mag - - -Node1 - - -math::vector_cross::mag - - - - - -Node1->Node1 - - - - - - - - - - - - - diff --git a/df/d66/vector__cross__product_8cpp_a4b2a9757a87c18e1642d72410ecfaba8_cgraph_org.svg b/df/d66/vector__cross__product_8cpp_a4b2a9757a87c18e1642d72410ecfaba8_cgraph_org.svg deleted file mode 100644 index b0729f2df..000000000 --- a/df/d66/vector__cross__product_8cpp_a4b2a9757a87c18e1642d72410ecfaba8_cgraph_org.svg +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - -math::vector_cross::mag - - -Node1 - - -math::vector_cross::mag - - - - - -Node1->Node1 - - - - - - - - diff --git a/df/d66/vector__cross__product_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/df/d66/vector__cross__product_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index e433d4c55..000000000 --- a/df/d66/vector__cross__product_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/df/d66/vector__cross__product_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/df/d66/vector__cross__product_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index ada782579..000000000 --- a/df/d66/vector__cross__product_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -99b196c3a8a9d36b647c3ba154635fc5 \ No newline at end of file diff --git a/df/d66/vector__cross__product_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/df/d66/vector__cross__product_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 41bb1e5e3..000000000 --- a/df/d66/vector__cross__product_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -test - - - - - -Node1->Node3 - - - - - - - - - - - - - diff --git a/df/d66/vector__cross__product_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/df/d66/vector__cross__product_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 160d69c59..000000000 --- a/df/d66/vector__cross__product_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -test - - - - - -Node1->Node3 - - - - - - - - diff --git a/df/d66/vector__cross__product_8cpp_source.html b/df/d66/vector__cross__product_8cpp_source.html new file mode 100644 index 000000000..01b088400 --- /dev/null +++ b/df/d66/vector__cross__product_8cpp_source.html @@ -0,0 +1,202 @@ + + + + + + + + +TheAlgorithms/C++: math/vector_cross_product.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    vector_cross_product.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    48#include <iostream>
    +
    49#include <array>
    +
    50#include <cmath>
    +
    51#include <cassert>
    +
    52
    +
    57namespace math {
    +
    62 namespace vector_cross {
    +
    +
    69 std::array<double, 3> cross(const std::array<double, 3> &A, const std::array<double, 3> &B) {
    +
    70 std::array<double, 3> product;
    +
    72 product[0] = (A[1] * B[2]) - (A[2] * B[1]);
    +
    73 product[1] = -((A[0] * B[2]) - (A[2] * B[0]));
    +
    74 product[2] = (A[0] * B[1]) - (A[1] * B[0]);
    +
    75 return product;
    +
    76 }
    +
    +
    77
    +
    +
    83 double mag(const std::array<double, 3> &vec) {
    +
    84 double magnitude = sqrt((vec[0] * vec[0]) + (vec[1] * vec[1]) + (vec[2] * vec[2]));
    +
    85 return magnitude;
    +
    86 }
    +
    +
    87 }
    +
    88}
    +
    89
    +
    +
    94static void test() {
    +
    96 std::array<double, 3> t_vec = math::vector_cross::cross({1, 2, 3}, {4, 5, 6});
    +
    97 assert(t_vec[0] == -3 && t_vec[1] == 6 && t_vec[2] == -3);
    +
    98
    +
    100 double t_mag = math::vector_cross::mag({6, 8, 0});
    +
    101 assert(t_mag == 10);
    +
    102}
    +
    +
    103
    +
    +
    109int main() {
    +
    110
    +
    112 test();
    +
    113
    +
    114 std::array<double, 3> vec1;
    +
    115 std::array<double, 3> vec2;
    +
    116
    +
    118 std::cout << "\nPass the first Vector: ";
    +
    119 std::cin >> vec1[0] >> vec1[1] >> vec1[2];
    +
    120
    +
    122 std::cout << "\nPass the second Vector: ";
    +
    123 std::cin >> vec2[0] >> vec2[1] >> vec2[2];
    +
    124
    +
    126 std::array<double, 3> product = math::vector_cross::cross(vec1, vec2);
    +
    127 std::cout << "\nThe cross product is: " << product[0] << " " << product[1] << " " << product[2] << std::endl;
    +
    128
    +
    130 std::cout << "Magnitude: " << math::vector_cross::mag(product) << "\n" << std::endl;
    +
    131
    +
    132 return 0;
    +
    133}
    +
    +
    for assert
    +
    Functions for Vector Cross Product algorithms.
    +
    std::array< double, 3 > cross(const std::array< double, 3 > &A, const std::array< double, 3 > &B)
    Function to calculate the cross product of the passed arrays containing the direction ratios of the t...
    +
    double mag(const std::array< double, 3 > &vec)
    Calculates the magnitude of the mathematical vector from it's direction ratios.
    +
    static void test()
    namespace math
    +
    int main()
    Main Function.
    +
    +
    + + + + diff --git a/df/d6b/namespaceciphers_1_1elliptic__curve__key__exchange.html b/df/d6b/namespaceciphers_1_1elliptic__curve__key__exchange.html index cdb3d67d7..b119b037f 100644 --- a/df/d6b/namespaceciphers_1_1elliptic__curve__key__exchange.html +++ b/df/d6b/namespaceciphers_1_1elliptic__curve__key__exchange.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: ciphers::elliptic_curve_key_exchange Namespace Reference +TheAlgorithms/C++: ciphers::elliptic_curve_key_exchange Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -205,9 +222,11 @@ Functions

    value zero

    slope when the line is tangent to curve. This operation is performed while doubling. Taking derivative of y^2 = x^3 + ax + b => 2y dy = (3 * x^2 + a)dx => (dy/dx) = (3x^2 + a)/(2y)

    if y co-ordinate is zero, the slope is infinite, return inf. else calculate the slope (here % mod and store in lambda)

    + +

    Definition at line 110 of file elliptic_curve_key_exchange.cpp.

    111 {
    -
    112 uint256_t lambda(0); /// Slope
    -
    113 uint256_t zero(0); /// value zero
    +
    112 uint256_t lambda(0);
    +
    113 uint256_t zero(0);
    114 lambda = zero = 0;
    115 uint256_t inf = ~zero;
    116 if (a.x != b.x || a.y != b.y) {
    @@ -217,17 +236,7 @@ Functions
    120 }
    121 uint256_t num = (b.y - a.y + mod), den = (b.x - a.x + mod);
    122 lambda = (num * (exp(den, mod - 2, mod))) % mod;
    -
    123 } else {
    -
    124 /**
    -
    125 * slope when the line is tangent to curve. This operation is performed
    -
    126 * while doubling. Taking derivative of `y^2 = x^3 + ax + b`
    -
    127 * => `2y dy = (3 * x^2 + a)dx`
    -
    128 * => `(dy/dx) = (3x^2 + a)/(2y)`
    -
    129 */
    -
    130 /**
    -
    131 * if y co-ordinate is zero, the slope is infinite, return inf.
    -
    132 * else calculate the slope (here % mod and store in lambda)
    -
    133 */
    +
    123 } else {
    134 if (!a.y) {
    135 return {inf, inf};
    136 }
    @@ -238,7 +247,7 @@ Functions
    141 // Mulitply by 2 adjustment
    142 uint256_t a_2 = (a.y << 1);
    143 lambda =
    -
    144 (((axsq + curve_a_coeff) % mod) * exp(a_2, mod - 2, mod)) % mod;
    +
    144 (((axsq + curve_a_coeff) % mod) * exp(a_2, mod - 2, mod)) % mod;
    145 }
    146 Point c;
    147 // new point: x = ((lambda^2) - x1 - x2)
    @@ -247,16 +256,11 @@ Functions
    150 c.y = (((lambda * (a.x + mod - c.x)) % mod) + mod - a.y) % mod;
    151 return c;
    152}
    -
    class for 256-bit unsigned integer
    Definition uint256_t.hpp:33
    -
    T exp(T... args)
    -
    Definition line_segment_intersection.cpp:12
    -
    int y
    Point respect to x coordinate.
    Definition line_segment_intersection.cpp:14
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    class for 256-bit unsigned integer
    Definition uint256_t.hpp:33
    +
    uint256_t exp(uint256_t number, uint256_t power, const uint256_t &mod)
    This function calculates number raised to exponent power under modulo mod using Modular Exponentiatio...
    + +
    int y
    Point respect to x coordinate.
    + @@ -293,6 +297,8 @@ Here is the call graph for this function:
    Returns
    number raised to power modulo mod
    + +

    Definition at line 78 of file elliptic_curve_key_exchange.cpp.

    78 {
    79 if (!power) {
    80 return uint256_t(1);
    @@ -310,13 +316,8 @@ Here is the call graph for this function:
    92 }
    93 return ans;
    94}
    -
    void power(int x, int n)
    Definition power_for_huge_numbers.cpp:56
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    void power(int x, int n)
    + @@ -359,6 +360,8 @@ Here is the call graph for this function:
    Returns
    the resultant point
    + +

    Definition at line 165 of file elliptic_curve_key_exchange.cpp.

    166 {
    167 Point N = a;
    168 N.x %= mod;
    @@ -382,15 +385,10 @@ Here is the call graph for this function:
    186 }
    187 return Q;
    188}
    -
    Point addition(Point a, Point b, const uint256_t &curve_a_coeff, uint256_t mod)
    Addition of points.
    Definition elliptic_curve_key_exchange.cpp:110
    -
    constexpr uint32_t N
    A struct to represent sparse table for min() as their invariant function, for the given array A....
    Definition sparse_table.cpp:48
    -
    Definition of struct Point.
    Definition elliptic_curve_key_exchange.cpp:46
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    Point addition(Point a, Point b, const uint256_t &curve_a_coeff, uint256_t mod)
    Addition of points.
    +
    constexpr uint32_t N
    A struct to represent sparse table for min() as their invariant function, for the given array A....
    + + diff --git a/df/d6b/namespaceciphers_1_1elliptic__curve__key__exchange_a17f3d667241b88115a95282cdd719cb2_cgraph.map b/df/d6b/namespaceciphers_1_1elliptic__curve__key__exchange_a17f3d667241b88115a95282cdd719cb2_cgraph.map deleted file mode 100644 index 73a9f4925..000000000 --- a/df/d6b/namespaceciphers_1_1elliptic__curve__key__exchange_a17f3d667241b88115a95282cdd719cb2_cgraph.map +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/df/d6b/namespaceciphers_1_1elliptic__curve__key__exchange_a17f3d667241b88115a95282cdd719cb2_cgraph.md5 b/df/d6b/namespaceciphers_1_1elliptic__curve__key__exchange_a17f3d667241b88115a95282cdd719cb2_cgraph.md5 deleted file mode 100644 index 40426c3d1..000000000 --- a/df/d6b/namespaceciphers_1_1elliptic__curve__key__exchange_a17f3d667241b88115a95282cdd719cb2_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -9b445232e38cc6d11ccb51813ee90e45 \ No newline at end of file diff --git a/df/d6b/namespaceciphers_1_1elliptic__curve__key__exchange_a17f3d667241b88115a95282cdd719cb2_cgraph.svg b/df/d6b/namespaceciphers_1_1elliptic__curve__key__exchange_a17f3d667241b88115a95282cdd719cb2_cgraph.svg deleted file mode 100644 index f76921652..000000000 --- a/df/d6b/namespaceciphers_1_1elliptic__curve__key__exchange_a17f3d667241b88115a95282cdd719cb2_cgraph.svg +++ /dev/null @@ -1,179 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -ciphers::elliptic_curve_key_exchange::multiply - - -Node1 - - -ciphers::elliptic_curve -_key_exchange::multiply - - - - - -Node2 - - -ciphers::elliptic_curve -_key_exchange::addition - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -ciphers::elliptic_curve -_key_exchange::exp - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -power - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -multiply - - - - - -Node4->Node5 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/df/d6b/namespaceciphers_1_1elliptic__curve__key__exchange_a17f3d667241b88115a95282cdd719cb2_cgraph_org.svg b/df/d6b/namespaceciphers_1_1elliptic__curve__key__exchange_a17f3d667241b88115a95282cdd719cb2_cgraph_org.svg deleted file mode 100644 index d70234de8..000000000 --- a/df/d6b/namespaceciphers_1_1elliptic__curve__key__exchange_a17f3d667241b88115a95282cdd719cb2_cgraph_org.svg +++ /dev/null @@ -1,96 +0,0 @@ - - - - - - -ciphers::elliptic_curve_key_exchange::multiply - - -Node1 - - -ciphers::elliptic_curve -_key_exchange::multiply - - - - - -Node2 - - -ciphers::elliptic_curve -_key_exchange::addition - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -ciphers::elliptic_curve -_key_exchange::exp - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -power - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -multiply - - - - - -Node4->Node5 - - - - - - - - diff --git a/df/d6b/namespaceciphers_1_1elliptic__curve__key__exchange_ac00616a4e40d3cd5cfb4da87d9ff9af0_cgraph.map b/df/d6b/namespaceciphers_1_1elliptic__curve__key__exchange_ac00616a4e40d3cd5cfb4da87d9ff9af0_cgraph.map deleted file mode 100644 index b6d9f31ed..000000000 --- a/df/d6b/namespaceciphers_1_1elliptic__curve__key__exchange_ac00616a4e40d3cd5cfb4da87d9ff9af0_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/df/d6b/namespaceciphers_1_1elliptic__curve__key__exchange_ac00616a4e40d3cd5cfb4da87d9ff9af0_cgraph.md5 b/df/d6b/namespaceciphers_1_1elliptic__curve__key__exchange_ac00616a4e40d3cd5cfb4da87d9ff9af0_cgraph.md5 deleted file mode 100644 index f3e990868..000000000 --- a/df/d6b/namespaceciphers_1_1elliptic__curve__key__exchange_ac00616a4e40d3cd5cfb4da87d9ff9af0_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -9874859218051b34c93f0d55ccd2baf1 \ No newline at end of file diff --git a/df/d6b/namespaceciphers_1_1elliptic__curve__key__exchange_ac00616a4e40d3cd5cfb4da87d9ff9af0_cgraph.svg b/df/d6b/namespaceciphers_1_1elliptic__curve__key__exchange_ac00616a4e40d3cd5cfb4da87d9ff9af0_cgraph.svg deleted file mode 100644 index 97e06ac00..000000000 --- a/df/d6b/namespaceciphers_1_1elliptic__curve__key__exchange_ac00616a4e40d3cd5cfb4da87d9ff9af0_cgraph.svg +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - - - - - -ciphers::elliptic_curve_key_exchange::exp - - -Node1 - - -ciphers::elliptic_curve -_key_exchange::exp - - - - - -Node2 - - -power - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -multiply - - - - - -Node2->Node3 - - - - - - - - - - - - - diff --git a/df/d6b/namespaceciphers_1_1elliptic__curve__key__exchange_ac00616a4e40d3cd5cfb4da87d9ff9af0_cgraph_org.svg b/df/d6b/namespaceciphers_1_1elliptic__curve__key__exchange_ac00616a4e40d3cd5cfb4da87d9ff9af0_cgraph_org.svg deleted file mode 100644 index b31b0edc5..000000000 --- a/df/d6b/namespaceciphers_1_1elliptic__curve__key__exchange_ac00616a4e40d3cd5cfb4da87d9ff9af0_cgraph_org.svg +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - -ciphers::elliptic_curve_key_exchange::exp - - -Node1 - - -ciphers::elliptic_curve -_key_exchange::exp - - - - - -Node2 - - -power - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -multiply - - - - - -Node2->Node3 - - - - - - - - diff --git a/df/d6b/namespaceciphers_1_1elliptic__curve__key__exchange_acc5fe9c2032fb7582c38a20d1fa69bcf_cgraph.map b/df/d6b/namespaceciphers_1_1elliptic__curve__key__exchange_acc5fe9c2032fb7582c38a20d1fa69bcf_cgraph.map deleted file mode 100644 index f6fc4a08f..000000000 --- a/df/d6b/namespaceciphers_1_1elliptic__curve__key__exchange_acc5fe9c2032fb7582c38a20d1fa69bcf_cgraph.map +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/df/d6b/namespaceciphers_1_1elliptic__curve__key__exchange_acc5fe9c2032fb7582c38a20d1fa69bcf_cgraph.md5 b/df/d6b/namespaceciphers_1_1elliptic__curve__key__exchange_acc5fe9c2032fb7582c38a20d1fa69bcf_cgraph.md5 deleted file mode 100644 index d74ceaddd..000000000 --- a/df/d6b/namespaceciphers_1_1elliptic__curve__key__exchange_acc5fe9c2032fb7582c38a20d1fa69bcf_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -9e8486f6c4fa6150b90bf8ead6610a42 \ No newline at end of file diff --git a/df/d6b/namespaceciphers_1_1elliptic__curve__key__exchange_acc5fe9c2032fb7582c38a20d1fa69bcf_cgraph.svg b/df/d6b/namespaceciphers_1_1elliptic__curve__key__exchange_acc5fe9c2032fb7582c38a20d1fa69bcf_cgraph.svg deleted file mode 100644 index c50d2aeaa..000000000 --- a/df/d6b/namespaceciphers_1_1elliptic__curve__key__exchange_acc5fe9c2032fb7582c38a20d1fa69bcf_cgraph.svg +++ /dev/null @@ -1,103 +0,0 @@ - - - - - - - - - - - - -ciphers::elliptic_curve_key_exchange::addition - - -Node1 - - -ciphers::elliptic_curve -_key_exchange::addition - - - - - -Node2 - - -ciphers::elliptic_curve -_key_exchange::exp - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -power - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -multiply - - - - - -Node3->Node4 - - - - - - - - - - - - - diff --git a/df/d6b/namespaceciphers_1_1elliptic__curve__key__exchange_acc5fe9c2032fb7582c38a20d1fa69bcf_cgraph_org.svg b/df/d6b/namespaceciphers_1_1elliptic__curve__key__exchange_acc5fe9c2032fb7582c38a20d1fa69bcf_cgraph_org.svg deleted file mode 100644 index 4c09c8fe3..000000000 --- a/df/d6b/namespaceciphers_1_1elliptic__curve__key__exchange_acc5fe9c2032fb7582c38a20d1fa69bcf_cgraph_org.svg +++ /dev/null @@ -1,77 +0,0 @@ - - - - - - -ciphers::elliptic_curve_key_exchange::addition - - -Node1 - - -ciphers::elliptic_curve -_key_exchange::addition - - - - - -Node2 - - -ciphers::elliptic_curve -_key_exchange::exp - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -power - - - - - -Node2->Node3 - - - - - - - - -Node4 - - -multiply - - - - - -Node3->Node4 - - - - - - - - diff --git a/df/d72/modular__division_8cpp.html b/df/d72/modular__division_8cpp.html index 3477b2c16..62200e6c8 100644 --- a/df/d72/modular__division_8cpp.html +++ b/df/d72/modular__division_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: math/modular_division.cpp File Reference +TheAlgorithms/C++: math/modular_division.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + @@ -121,7 +138,9 @@ Include dependency graph for modular_division.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -149,6 +168,8 @@ Functions

    An algorithm to divide two numbers under modulo p Modular Division

    To calculate division of two numbers under modulo p Modulo operator is not distributive under division, therefore we first have to calculate the inverse of divisor using Fermat's little theorem Now, we can multiply the dividend with the inverse of divisor and modulo is distributive over multiplication operation. Let, We have 3 numbers a, b, p To compute (a/b)p (a/b)p ≡ (a*(inverse(b)))p ≡ ((ap)*inverse(b)p)p NOTE: For the existence of inverse of 'b', 'b' and 'p' must be coprime For simplicity we take p as prime Time Complexity: O(log(b)) Example: ( 24 / 3 ) % 5 => 8 % 5 = 3 — (i) Now the inverse of 3 is 2 (24 * 2) % 5 = (24 % 5) * (2 % 5) = (4 * 2) % 5 = 3 — (ii) (i) and (ii) are equal hence the answer is correct.

    See also
    modular_inverse_fermat_little_theorem.cpp, modular_exponentiation.cpp
    Author
    Shubham Yadav
    + +

    Definition in file modular_division.cpp.

    Function Documentation

    ◆ main()

    @@ -178,17 +199,14 @@ Functions
    Returns
    0 on exit
    + +

    Definition at line 113 of file modular_division.cpp.

    113 {
    114 test(); // execute the tests
    115 return 0;
    116}
    -
    static void test()
    Definition modular_division.cpp:89
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static void test()
    + @@ -227,20 +245,17 @@ Here is the call graph for this function:
    Returns
    a/b modulo c

    Calculate the inverse of b

    Calculate the final result

    + +

    Definition at line 75 of file modular_division.cpp.

    75 {
    -
    76 uint64_t inverse = power(b, p - 2, p) % p; /// Calculate the inverse of b
    +
    76 uint64_t inverse = power(b, p - 2, p) % p;
    77 uint64_t result =
    -
    78 ((a % p) * (inverse % p)) % p; /// Calculate the final result
    +
    78 ((a % p) * (inverse % p)) % p;
    79 return result;
    80}
    -
    uint64_t result(uint64_t n)
    Definition fibonacci_sum.cpp:77
    -
    void power(int x, int n)
    Definition power_for_huge_numbers.cpp:56
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    uint64_t result(uint64_t n)
    +
    void power(int x, int n)
    + @@ -283,19 +298,19 @@ Here is the call graph for this function:

    If b is odd, multiply a with answer

    b must be even now

    b = b/2

    + +

    Definition at line 50 of file modular_division.cpp.

    50 {
    -
    51 uint64_t ans = 1; /// Initialize the answer to be returned
    -
    52 a = a % c; /// Update a if it is more than or equal to c
    +
    51 uint64_t ans = 1;
    +
    52 a = a % c;
    53 if (a == 0) {
    -
    54 return 0; /// In case a is divisible by c;
    +
    54 return 0;
    55 }
    -
    56 while (b > 0) {
    -
    57 /// If b is odd, multiply a with answer
    -
    58 if (b & 1) {
    +
    56 while (b > 0) {
    +
    58 if (b & 1) {
    59 ans = ((ans % c) * (a % c)) % c;
    -
    60 }
    -
    61 /// b must be even now
    -
    62 b = b >> 1; /// b = b/2
    +
    60 }
    +
    62 b = b >> 1;
    63 a = ((a % c) * (a % c)) % c;
    64 }
    65 return ans;
    @@ -326,32 +341,27 @@ Here is the call graph for this function:

    Namespaces

    namespace  math

    Function for testing power function. test cases and assert statement.

    Returns
    void
    + +

    Definition at line 89 of file modular_division.cpp.

    89 {
    90 uint64_t test_case_1 = math::modular_division::mod_division(8, 2, 2);
    91 assert(test_case_1 == 0);
    -
    92 std::cout << "Test 1 Passed!" << std::endl;
    +
    92 std::cout << "Test 1 Passed!" << std::endl;
    93 uint64_t test_case_2 = math::modular_division::mod_division(15, 3, 7);
    94 assert(test_case_2 == 5);
    -
    95 std::cout << "Test 2 Passed!" << std::endl;
    +
    95 std::cout << "Test 2 Passed!" << std::endl;
    96 uint64_t test_case_3 = math::modular_division::mod_division(10, 5, 2);
    97 assert(test_case_3 == 0);
    -
    98 std::cout << "Test 3 Passed!" << std::endl;
    +
    98 std::cout << "Test 3 Passed!" << std::endl;
    99 uint64_t test_case_4 = math::modular_division::mod_division(81, 3, 5);
    100 assert(test_case_4 == 2);
    -
    101 std::cout << "Test 4 Passed!" << std::endl;
    +
    101 std::cout << "Test 4 Passed!" << std::endl;
    102 uint64_t test_case_5 = math::modular_division::mod_division(12848, 73, 29);
    103 assert(test_case_5 == 2);
    -
    104 std::cout << "Test 5 Passed!" << std::endl;
    +
    104 std::cout << "Test 5 Passed!" << std::endl;
    105}
    - -
    T endl(T... args)
    -
    uint64_t mod_division(uint64_t a, uint64_t b, uint64_t p)
    This function calculates modular division.
    Definition modular_division.cpp:75
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    uint64_t mod_division(uint64_t a, uint64_t b, uint64_t p)
    This function calculates modular division.
    +
    diff --git a/df/d72/modular__division_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.map b/df/d72/modular__division_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.map deleted file mode 100644 index 3b1afc0b8..000000000 --- a/df/d72/modular__division_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/df/d72/modular__division_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.md5 b/df/d72/modular__division_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.md5 deleted file mode 100644 index 005216ff9..000000000 --- a/df/d72/modular__division_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -d0ccd64f41c4f6be3375aaab70065cf8 \ No newline at end of file diff --git a/df/d72/modular__division_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.svg b/df/d72/modular__division_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.svg deleted file mode 100644 index 773fd35f0..000000000 --- a/df/d72/modular__division_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.svg +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node2->Node3 - - - - - - - - - - - - - diff --git a/df/d72/modular__division_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph_org.svg b/df/d72/modular__division_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph_org.svg deleted file mode 100644 index 33b310508..000000000 --- a/df/d72/modular__division_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph_org.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node2->Node3 - - - - - - - - diff --git a/df/d72/modular__division_8cpp_a905e368ae121beb7e7ea35349ddcdac7_cgraph.map b/df/d72/modular__division_8cpp_a905e368ae121beb7e7ea35349ddcdac7_cgraph.map deleted file mode 100644 index bd3e68569..000000000 --- a/df/d72/modular__division_8cpp_a905e368ae121beb7e7ea35349ddcdac7_cgraph.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/df/d72/modular__division_8cpp_a905e368ae121beb7e7ea35349ddcdac7_cgraph.md5 b/df/d72/modular__division_8cpp_a905e368ae121beb7e7ea35349ddcdac7_cgraph.md5 deleted file mode 100644 index d2f00e3de..000000000 --- a/df/d72/modular__division_8cpp_a905e368ae121beb7e7ea35349ddcdac7_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -5aee12c175e58176ec955564cbdf4891 \ No newline at end of file diff --git a/df/d72/modular__division_8cpp_a905e368ae121beb7e7ea35349ddcdac7_cgraph.svg b/df/d72/modular__division_8cpp_a905e368ae121beb7e7ea35349ddcdac7_cgraph.svg deleted file mode 100644 index aa1f08f68..000000000 --- a/df/d72/modular__division_8cpp_a905e368ae121beb7e7ea35349ddcdac7_cgraph.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - - - - - - - -math::modular_division::mod_division - - -Node1 - - -math::modular_division -::mod_division - - - - - -Node1->Node1 - - - - - - - - - - - - - diff --git a/df/d72/modular__division_8cpp_a905e368ae121beb7e7ea35349ddcdac7_cgraph_org.svg b/df/d72/modular__division_8cpp_a905e368ae121beb7e7ea35349ddcdac7_cgraph_org.svg deleted file mode 100644 index ffb8aa775..000000000 --- a/df/d72/modular__division_8cpp_a905e368ae121beb7e7ea35349ddcdac7_cgraph_org.svg +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - -math::modular_division::mod_division - - -Node1 - - -math::modular_division -::mod_division - - - - - -Node1->Node1 - - - - - - - - diff --git a/df/d72/modular__division_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map b/df/d72/modular__division_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map deleted file mode 100644 index ab849b4e9..000000000 --- a/df/d72/modular__division_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/df/d72/modular__division_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 b/df/d72/modular__division_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 deleted file mode 100644 index 027bb45f5..000000000 --- a/df/d72/modular__division_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -a1d13d80069df469bd6cb7baa71c0ea1 \ No newline at end of file diff --git a/df/d72/modular__division_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg b/df/d72/modular__division_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg deleted file mode 100644 index 74b7e7dc5..000000000 --- a/df/d72/modular__division_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/df/d72/modular__division_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg b/df/d72/modular__division_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg deleted file mode 100644 index b7b979de9..000000000 --- a/df/d72/modular__division_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - diff --git a/df/d72/modular__division_8cpp_source.html b/df/d72/modular__division_8cpp_source.html new file mode 100644 index 000000000..165e4cd62 --- /dev/null +++ b/df/d72/modular__division_8cpp_source.html @@ -0,0 +1,204 @@ + + + + + + + + +TheAlgorithms/C++: math/modular_division.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    modular_division.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    27#include <cassert>
    +
    28#include <cstdint>
    +
    29#include <iostream>
    +
    30
    +
    35namespace math {
    +
    41namespace modular_division {
    +
    +
    50uint64_t power(uint64_t a, uint64_t b, uint64_t c) {
    +
    51 uint64_t ans = 1;
    +
    52 a = a % c;
    +
    53 if (a == 0) {
    +
    54 return 0;
    +
    55 }
    +
    56 while (b > 0) {
    +
    58 if (b & 1) {
    +
    59 ans = ((ans % c) * (a % c)) % c;
    +
    60 }
    +
    62 b = b >> 1;
    +
    63 a = ((a % c) * (a % c)) % c;
    +
    64 }
    +
    65 return ans;
    +
    66}
    +
    +
    67
    +
    +
    75uint64_t mod_division(uint64_t a, uint64_t b, uint64_t p) {
    +
    76 uint64_t inverse = power(b, p - 2, p) % p;
    +
    77 uint64_t result =
    +
    78 ((a % p) * (inverse % p)) % p;
    +
    79 return result;
    +
    80}
    +
    +
    81} // namespace modular_division
    +
    82} // namespace math
    +
    83
    +
    +
    89static void test() {
    +
    90 uint64_t test_case_1 = math::modular_division::mod_division(8, 2, 2);
    +
    91 assert(test_case_1 == 0);
    +
    92 std::cout << "Test 1 Passed!" << std::endl;
    +
    93 uint64_t test_case_2 = math::modular_division::mod_division(15, 3, 7);
    +
    94 assert(test_case_2 == 5);
    +
    95 std::cout << "Test 2 Passed!" << std::endl;
    +
    96 uint64_t test_case_3 = math::modular_division::mod_division(10, 5, 2);
    +
    97 assert(test_case_3 == 0);
    +
    98 std::cout << "Test 3 Passed!" << std::endl;
    +
    99 uint64_t test_case_4 = math::modular_division::mod_division(81, 3, 5);
    +
    100 assert(test_case_4 == 2);
    +
    101 std::cout << "Test 4 Passed!" << std::endl;
    +
    102 uint64_t test_case_5 = math::modular_division::mod_division(12848, 73, 29);
    +
    103 assert(test_case_5 == 2);
    +
    104 std::cout << "Test 5 Passed!" << std::endl;
    +
    105}
    +
    +
    106
    +
    +
    113int main(int argc, char *argv[]) {
    +
    114 test(); // execute the tests
    +
    115 return 0;
    +
    116}
    +
    +
    int main()
    Main function.
    +
    uint64_t mod_division(uint64_t a, uint64_t b, uint64_t p)
    This function calculates modular division.
    +
    static void test()
    +
    for assert
    +
    Functions for Modular Division implementation.
    +
    +
    + + + + diff --git a/df/d74/namespacesubarray__sum.html b/df/d74/namespacesubarray__sum.html index 6a3577776..5d869237b 100644 --- a/df/d74/namespacesubarray__sum.html +++ b/df/d74/namespacesubarray__sum.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: subarray_sum Namespace Reference +TheAlgorithms/C++: subarray_sum Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/df/d76/namespacefibonacci.html b/df/d76/namespacefibonacci.html index 2b59025b7..674a468e5 100644 --- a/df/d76/namespacefibonacci.html +++ b/df/d76/namespacefibonacci.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: fibonacci Namespace Reference +TheAlgorithms/C++: fibonacci Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/df/d82/breadth__first__search_8cpp.html b/df/d82/breadth__first__search_8cpp.html index b1705d218..1c6aace28 100644 --- a/df/d82/breadth__first__search_8cpp.html +++ b/df/d82/breadth__first__search_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: graph/breadth_first_search.cpp File Reference +TheAlgorithms/C++: graph/breadth_first_search.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + @@ -127,7 +144,9 @@ Include dependency graph for breadth_first_search.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -171,6 +190,8 @@ Functions + +

    Definition in file breadth_first_search.cpp.

    Function Documentation

    ◆ main()

    @@ -187,37 +208,31 @@ Functions

    Classes

    class  graph::Graph< T >

    Main function

    + +

    Definition at line 186 of file breadth_first_search.cpp.

    186 {
    187 tests();
    188 size_t edges = 0;
    -
    189 std::cout << "Enter the number of edges: ";
    -
    190 std::cin >> edges;
    +
    189 std::cout << "Enter the number of edges: ";
    +
    190 std::cin >> edges;
    191
    193
    -
    194 std::cout << "Enter space-separated pairs of vertices that form edges: "
    -
    195 << std::endl;
    +
    194 std::cout << "Enter space-separated pairs of vertices that form edges: "
    +
    195 << std::endl;
    196 while (edges--) {
    197 int u = 0, v = 0;
    -
    198 std::cin >> u >> v;
    +
    198 std::cin >> u >> v;
    199 g.add_edge(u, v);
    200 }
    201
    202 g.breadth_first_search(0);
    203 return 0;
    204}
    - - -
    static void tests()
    Definition breadth_first_search.cpp:139
    -
    Definition lowest_common_ancestor.cpp:53
    -
    double g(double x)
    Another test function.
    Definition composite_simpson_rule.cpp:115
    -
    T endl(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static void tests()
    + +
    double g(double x)
    Another test function.
    +
    @@ -246,10 +261,11 @@ Here is the call graph for this function:

    Test 1 Begin

    Test 2 Begin

    Test 3 Begins

    -
    139 {
    -
    140 /// Test 1 Begin
    - -
    142 std::map<int, bool> correct_result;
    + +

    Definition at line 139 of file breadth_first_search.cpp.

    +
    139 {
    + +
    142 std::map<int, bool> correct_result;
    143 g.add_edge(0, 1);
    144 g.add_edge(1, 2);
    145 g.add_edge(2, 3);
    @@ -258,19 +274,17 @@ Here is the call graph for this function:
    148 correct_result[2] = true;
    149 correct_result[3] = true;
    150
    -
    151 std::map<int, bool> returned_result = g.breadth_first_search(2);
    +
    151 std::map<int, bool> returned_result = g.breadth_first_search(2);
    152
    153 assert(returned_result == correct_result);
    -
    154 std::cout << "Test 1 Passed..." << std::endl;
    -
    155
    -
    156 /// Test 2 Begin
    -
    157 returned_result = g.breadth_first_search(0);
    +
    154 std::cout << "Test 1 Passed..." << std::endl;
    +
    155
    +
    157 returned_result = g.breadth_first_search(0);
    158
    159 assert(returned_result == correct_result);
    -
    160 std::cout << "Test 2 Passed..." << std::endl;
    -
    161
    -
    162 /// Test 3 Begins
    - +
    160 std::cout << "Test 2 Passed..." << std::endl;
    +
    161
    +
    164
    165 g2.add_edge("Gorakhpur", "Lucknow", false);
    166 g2.add_edge("Gorakhpur", "Kanpur", false);
    @@ -279,8 +293,8 @@ Here is the call graph for this function:
    169 g2.add_edge("Lucknow", "Prayagraj", false);
    170 g2.add_edge("Agra", "Noida", false);
    171
    -
    172 std::map<std::string, bool> correct_res;
    -
    173 std::map<std::string, bool> returned_res =
    +
    172 std::map<std::string, bool> correct_res;
    +
    173 std::map<std::string, bool> returned_res =
    174 g2.breadth_first_search("Kanpur");
    175 correct_res["Gorakhpur"] = false;
    176 correct_res["Lucknow"] = false;
    @@ -289,17 +303,11 @@ Here is the call graph for this function:
    179 correct_res["Prayagraj"] = false;
    180 correct_res["Noida"] = true;
    181 assert(correct_res == returned_res);
    -
    182 std::cout << "Test 3 Passed..." << std::endl;
    +
    182 std::cout << "Test 3 Passed..." << std::endl;
    183}
    -
    std::map< T, bool > breadth_first_search(T src)
    Definition breadth_first_search.cpp:96
    -
    void add_edge(T u, T v, bool bidir=true)
    Definition breadth_first_search.cpp:74
    - -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    std::map< T, bool > breadth_first_search(T src)
    +
    void add_edge(T u, T v, bool bidir=true)
    + diff --git a/df/d82/breadth__first__search_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.map b/df/d82/breadth__first__search_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.map deleted file mode 100644 index b25b00f50..000000000 --- a/df/d82/breadth__first__search_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.map +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - - - - - diff --git a/df/d82/breadth__first__search_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 b/df/d82/breadth__first__search_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 deleted file mode 100644 index 63bc9091b..000000000 --- a/df/d82/breadth__first__search_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -d7ff6d50be7b254f8fe3c66dc1acbeac \ No newline at end of file diff --git a/df/d82/breadth__first__search_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.svg b/df/d82/breadth__first__search_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.svg deleted file mode 100644 index a4f78b90f..000000000 --- a/df/d82/breadth__first__search_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.svg +++ /dev/null @@ -1,174 +0,0 @@ - - - - - - - - - - - - -tests - - -Node1 - - -tests - - - - - -Node2 - - -graph::Graph::add_edge - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -graph::Graph::breadth -_first_search - - - - - -Node1->Node3 - - - - - - - - -Node8 - - -std::endl - - - - - -Node1->Node8 - - - - - - - - -Node4 - - -std::queue::empty - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -std::queue::front - - - - - -Node3->Node5 - - - - - - - - -Node6 - - -std::queue::pop - - - - - -Node3->Node6 - - - - - - - - -Node7 - - -std::queue::push - - - - - -Node3->Node7 - - - - - - - - - - - - - diff --git a/df/d82/breadth__first__search_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph_org.svg b/df/d82/breadth__first__search_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph_org.svg deleted file mode 100644 index ac3a68d0c..000000000 --- a/df/d82/breadth__first__search_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph_org.svg +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - -tests - - -Node1 - - -tests - - - - - -Node2 - - -graph::Graph::add_edge - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -graph::Graph::breadth -_first_search - - - - - -Node1->Node3 - - - - - - - - -Node8 - - -std::endl - - - - - -Node1->Node8 - - - - - - - - -Node4 - - -std::queue::empty - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -std::queue::front - - - - - -Node3->Node5 - - - - - - - - -Node6 - - -std::queue::pop - - - - - -Node3->Node6 - - - - - - - - -Node7 - - -std::queue::push - - - - - -Node3->Node7 - - - - - - - - diff --git a/df/d82/breadth__first__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/df/d82/breadth__first__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 7ce5ba707..000000000 --- a/df/d82/breadth__first__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - - - - - - - - - - - - - - - diff --git a/df/d82/breadth__first__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/df/d82/breadth__first__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index c2256c53e..000000000 --- a/df/d82/breadth__first__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -b66224793e870e3d84b373cf4241f8f8 \ No newline at end of file diff --git a/df/d82/breadth__first__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/df/d82/breadth__first__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 0dec7f87e..000000000 --- a/df/d82/breadth__first__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,201 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -tests - - - - - -Node1->Node3 - - - - - - - - -Node3->Node2 - - - - - - - - -Node4 - - -graph::Graph::add_edge - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -graph::Graph::breadth -_first_search - - - - - -Node3->Node5 - - - - - - - - -Node6 - - -std::queue::empty - - - - - -Node5->Node6 - - - - - - - - -Node7 - - -std::queue::front - - - - - -Node5->Node7 - - - - - - - - -Node8 - - -std::queue::pop - - - - - -Node5->Node8 - - - - - - - - -Node9 - - -std::queue::push - - - - - -Node5->Node9 - - - - - - - - - - - - - diff --git a/df/d82/breadth__first__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/df/d82/breadth__first__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 8a34da3f5..000000000 --- a/df/d82/breadth__first__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,175 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -tests - - - - - -Node1->Node3 - - - - - - - - -Node3->Node2 - - - - - - - - -Node4 - - -graph::Graph::add_edge - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -graph::Graph::breadth -_first_search - - - - - -Node3->Node5 - - - - - - - - -Node6 - - -std::queue::empty - - - - - -Node5->Node6 - - - - - - - - -Node7 - - -std::queue::front - - - - - -Node5->Node7 - - - - - - - - -Node8 - - -std::queue::pop - - - - - -Node5->Node8 - - - - - - - - -Node9 - - -std::queue::push - - - - - -Node5->Node9 - - - - - - - - diff --git a/df/d82/breadth__first__search_8cpp_source.html b/df/d82/breadth__first__search_8cpp_source.html new file mode 100644 index 000000000..dfd33341b --- /dev/null +++ b/df/d82/breadth__first__search_8cpp_source.html @@ -0,0 +1,273 @@ + + + + + + + + +TheAlgorithms/C++: graph/breadth_first_search.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    breadth_first_search.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    48#include <algorithm>
    +
    49#include <cassert>
    +
    50#include <iostream>
    +
    51#include <list>
    +
    52#include <map>
    +
    53#include <queue>
    +
    54#include <string>
    +
    55#include <vector>
    +
    56
    +
    61namespace graph {
    +
    62/* Class Graph definition */
    +
    63template <typename T>
    +
    64class Graph {
    +
    69 std::map<T, std::list<T> > adjacency_list;
    +
    70
    +
    71 public:
    +
    72 Graph() = default;
    +
    73 ;
    +
    +
    74 void add_edge(T u, T v, bool bidir = true) {
    +
    84 adjacency_list[u].push_back(v); // u-->v edge added
    +
    85 if (bidir == true) {
    +
    86 // if graph is bidirectional
    +
    87 adjacency_list[v].push_back(u); // v-->u edge added
    +
    88 }
    +
    89 }
    +
    +
    90
    +
    +
    96 std::map<T, bool> breadth_first_search(T src) {
    +
    98 std::map<T, bool> visited;
    +
    101 for (auto const &adjlist : adjacency_list) {
    +
    102 visited[adjlist.first] = false;
    +
    103 for (auto const &node : adjacency_list[adjlist.first]) {
    +
    104 visited[node] = false;
    +
    105 }
    +
    106 }
    +
    107
    +
    109 std::queue<T> tracker;
    +
    110
    +
    112 tracker.push(src);
    +
    114 visited[src] = true;
    +
    115 while (!tracker.empty()) {
    +
    118 T node = tracker.front();
    +
    120 tracker.pop();
    +
    121 for (T const &neighbour : adjacency_list[node]) {
    +
    124 if (!visited[neighbour]) {
    +
    126 tracker.push(neighbour);
    +
    128 visited[neighbour] = true;
    +
    129 }
    +
    130 }
    +
    131 }
    +
    132 return visited;
    +
    133 }
    +
    +
    134};
    +
    135/* Class definition ends */
    +
    136} // namespace graph
    +
    137
    +
    +
    139static void tests() {
    + +
    142 std::map<int, bool> correct_result;
    +
    143 g.add_edge(0, 1);
    +
    144 g.add_edge(1, 2);
    +
    145 g.add_edge(2, 3);
    +
    146 correct_result[0] = true;
    +
    147 correct_result[1] = true;
    +
    148 correct_result[2] = true;
    +
    149 correct_result[3] = true;
    +
    150
    +
    151 std::map<int, bool> returned_result = g.breadth_first_search(2);
    +
    152
    +
    153 assert(returned_result == correct_result);
    +
    154 std::cout << "Test 1 Passed..." << std::endl;
    +
    155
    +
    157 returned_result = g.breadth_first_search(0);
    +
    158
    +
    159 assert(returned_result == correct_result);
    +
    160 std::cout << "Test 2 Passed..." << std::endl;
    +
    161
    + +
    164
    +
    165 g2.add_edge("Gorakhpur", "Lucknow", false);
    +
    166 g2.add_edge("Gorakhpur", "Kanpur", false);
    +
    167 g2.add_edge("Lucknow", "Agra", false);
    +
    168 g2.add_edge("Kanpur", "Agra", false);
    +
    169 g2.add_edge("Lucknow", "Prayagraj", false);
    +
    170 g2.add_edge("Agra", "Noida", false);
    +
    171
    +
    172 std::map<std::string, bool> correct_res;
    +
    173 std::map<std::string, bool> returned_res =
    +
    174 g2.breadth_first_search("Kanpur");
    +
    175 correct_res["Gorakhpur"] = false;
    +
    176 correct_res["Lucknow"] = false;
    +
    177 correct_res["Kanpur"] = true;
    +
    178 correct_res["Agra"] = true;
    +
    179 correct_res["Prayagraj"] = false;
    +
    180 correct_res["Noida"] = true;
    +
    181 assert(correct_res == returned_res);
    +
    182 std::cout << "Test 3 Passed..." << std::endl;
    +
    183}
    +
    +
    184
    +
    +
    186int main() {
    +
    187 tests();
    +
    188 size_t edges = 0;
    +
    189 std::cout << "Enter the number of edges: ";
    +
    190 std::cin >> edges;
    +
    191
    + +
    193
    +
    194 std::cout << "Enter space-separated pairs of vertices that form edges: "
    +
    195 << std::endl;
    +
    196 while (edges--) {
    +
    197 int u = 0, v = 0;
    +
    198 std::cin >> u >> v;
    +
    199 g.add_edge(u, v);
    +
    200 }
    +
    201
    +
    202 g.breadth_first_search(0);
    +
    203 return 0;
    +
    204}
    +
    +
    struct node { int data; int height; struct node *left; struct node *right;} node
    for std::queue
    Definition avltree.cpp:13
    +
    static void tests()
    + + + +
    std::map< T, bool > breadth_first_search(T src)
    +
    void add_edge(T u, T v, bool bidir=true)
    +
    std::map< T, std::list< T > > adjacency_list
    +
    Graph Algorithms.
    + +
    +
    + + + + diff --git a/df/d82/classgraph_1_1_h_k_graph__coll__graph.map b/df/d82/classgraph_1_1_h_k_graph__coll__graph.map index b28692291..fe529520b 100644 --- a/df/d82/classgraph_1_1_h_k_graph__coll__graph.map +++ b/df/d82/classgraph_1_1_h_k_graph__coll__graph.map @@ -1,9 +1,9 @@ - + - + - + diff --git a/df/d82/classgraph_1_1_h_k_graph__coll__graph.md5 b/df/d82/classgraph_1_1_h_k_graph__coll__graph.md5 index 3f0c9efa3..a6384e9e8 100644 --- a/df/d82/classgraph_1_1_h_k_graph__coll__graph.md5 +++ b/df/d82/classgraph_1_1_h_k_graph__coll__graph.md5 @@ -1 +1 @@ -356ddd95dc9cd91243361fbffa1ee341 \ No newline at end of file +26a16adfc8d3efa9111432be5e0888b6 \ No newline at end of file diff --git a/df/d82/classgraph_1_1_h_k_graph__coll__graph.svg b/df/d82/classgraph_1_1_h_k_graph__coll__graph.svg index 51bf055a4..b197ca18f 100644 --- a/df/d82/classgraph_1_1_h_k_graph__coll__graph.svg +++ b/df/d82/classgraph_1_1_h_k_graph__coll__graph.svg @@ -31,7 +31,7 @@ Node2 - + std::vector< std::list < int > > @@ -51,7 +51,7 @@ Node3 - + std::list< int > @@ -70,7 +70,7 @@ Node4 - + std::vector< int > diff --git a/df/d82/classgraph_1_1_h_k_graph__coll__graph_org.svg b/df/d82/classgraph_1_1_h_k_graph__coll__graph_org.svg index ae25b1e53..0e0de1ba4 100644 --- a/df/d82/classgraph_1_1_h_k_graph__coll__graph_org.svg +++ b/df/d82/classgraph_1_1_h_k_graph__coll__graph_org.svg @@ -20,7 +20,7 @@ Node2 - + std::vector< std::list < int > > @@ -40,7 +40,7 @@ Node3 - + std::list< int > @@ -59,7 +59,7 @@ Node4 - + std::vector< int > diff --git a/df/d88/namespacedp.html b/df/d88/namespacedp.html index 4d16a80e5..084fc19c0 100644 --- a/df/d88/namespacedp.html +++ b/df/d88/namespacedp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: dp Namespace Reference +TheAlgorithms/C++: dp Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -108,11 +125,11 @@ $(function(){initNavTree('df/d88/namespacedp.html','../../'); initResizable(true
    -

    for std::vector +

    for std::vector More...

    Detailed Description

    -

    for std::vector

    -

    for assert for std::uint64_t for IO Operations for std::accumulate

    +

    for std::vector

    +

    for assert for std::uint64_t for IO Operations for std::accumulate

    diff --git a/df/d8e/namespacetrie__operations.html b/df/d8e/namespacetrie__operations.html index 923096b57..528a908b3 100644 --- a/df/d8e/namespacetrie__operations.html +++ b/df/d8e/namespacetrie__operations.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: trie_operations Namespace Reference +TheAlgorithms/C++: trie_operations Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/df/d8f/classothers_1_1_cache_1_1_l_f_u_cache.html b/df/d8f/classothers_1_1_cache_1_1_l_f_u_cache.html index 20e60eb44..6e3f80e55 100644 --- a/df/d8f/classothers_1_1_cache_1_1_l_f_u_cache.html +++ b/df/d8f/classothers_1_1_cache_1_1_l_f_u_cache.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: others::Cache::LFUCache< K, V > Class Template Reference +TheAlgorithms/C++: others::Cache::LFUCache< K, V > Class Template Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + @@ -150,7 +167,7 @@ Private Member Functions - + @@ -159,21 +176,17 @@ Private Member Functions
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    void push (int freq, CacheNode< K, V > *node)
     push the node at first position in the linked list of given frequency
     
    void increase_frequency (std::pair< CacheNode< K, V > *, int > &p_node)
    void increase_frequency (std::pair< CacheNode< K, V > *, int > &p_node)
     increase the frequency of node and push it in the respective list.
     
    void pop ()
    - - + + - - + + - - + + - - + +

    Private Attributes

    -std::unordered_map< K, std::pair< CacheNode< K, V > *, int > > node_map
     maps the key to the node address and frequency
    std::unordered_map< K, std::pair< CacheNode< K, V > *, int > > node_map
     maps the key to the node address and frequency
     
    -std::unordered_map< int, std::pair< CacheNode< K, V > *, CacheNode< K, V > * > > freq_map
     maps the frequency to doubly linked list
    std::unordered_map< int, std::pair< CacheNode< K, V > *, CacheNode< K, V > * > > freq_map
     maps the frequency to doubly linked list
     
    -int minFreq
     minimum frequency in the cache
    int minFreq
     minimum frequency in the cache
     
    -int _capacity
     maximum capacity of the cache
    int _capacity
     maximum capacity of the cache
     

    Detailed Description

    @@ -186,6 +199,8 @@ class others::Cache::LFUCache< K, V >

    Definition at line 64 of file lfu_cache.cpp.

    Constructor & Destructor Documentation

    ◆ LFUCache()

    @@ -219,9 +234,11 @@ template<typename K , typename V > + +

    Definition at line 78 of file lfu_cache.cpp.

    -
    int _capacity
    maximum capacity of the cache
    Definition lfu_cache.cpp:71
    -
    int minFreq
    minimum frequency in the cache
    Definition lfu_cache.cpp:70
    +
    int _capacity
    maximum capacity of the cache
    Definition lfu_cache.cpp:71
    +
    int minFreq
    minimum frequency in the cache
    Definition lfu_cache.cpp:70
    @@ -251,6 +268,8 @@ template<typename K , typename V >

    destructs the cache, iterates on the map and deletes every node present in the cache.

    + +

    Definition at line 235 of file lfu_cache.cpp.

    235 {
    236 auto it = node_map.begin();
    237 while (it != node_map.end()) {
    @@ -258,7 +277,7 @@ template<typename K , typename V >
    239 ++it;
    240 }
    241 }
    -
    std::unordered_map< K, std::pair< CacheNode< K, V > *, int > > node_map
    maps the key to the node address and frequency
    Definition lfu_cache.cpp:66
    +
    std::unordered_map< K, std::pair< CacheNode< K, V > *, int > > node_map
    maps the key to the node address and frequency
    Definition lfu_cache.cpp:66
    @@ -290,6 +309,8 @@ template<typename K , typename V >

    Returns the total capacity of the cache.

    Returns
    Total capacity of the cache
    + +

    Definition at line 223 of file lfu_cache.cpp.

    223{ return _capacity; }
    @@ -321,6 +342,8 @@ template<typename K , typename V >

    returns true if the cache is empty, false otherwise.

    Returns
    true if the cache is empty, false otherwise.
    + +

    Definition at line 229 of file lfu_cache.cpp.

    229{ return node_map.empty(); }
    @@ -364,9 +387,11 @@ template<typename K , typename V > + +

    Definition at line 202 of file lfu_cache.cpp.

    202 {
    203 if (!node_map.count(key)) {
    -
    204 throw std::runtime_error("key is not present in the cache");
    +
    204 throw std::runtime_error("key is not present in the cache");
    205 }
    206
    207 // increase the frequency and return the value
    @@ -374,14 +399,8 @@ template<typename K , typename V >
    210 return value;
    211 }
    -
    void increase_frequency(std::pair< CacheNode< K, V > *, int > &p_node)
    increase the frequency of node and push it in the respective list.
    Definition lfu_cache.cpp:109
    - -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    void increase_frequency(std::pair< CacheNode< K, V > *, int > &p_node)
    increase the frequency of node and push it in the respective list.
    + @@ -398,7 +417,7 @@ template<typename K , typename V > void others::Cache::LFUCache< K, V >::increase_frequency ( - std::pair< CacheNode< K, V > *, int > & p_node) + std::pair< CacheNode< K, V > *, int > & p_node) @@ -416,11 +435,13 @@ template<typename K , typename V > + +

    Definition at line 109 of file lfu_cache.cpp.

    109 {
    110 CacheNode<K, V> *node = p_node.first;
    111 int freq = p_node.second;
    112
    -
    113 std::pair<CacheNode<K, V> *, CacheNode<K, V> *> &p = freq_map[freq];
    +
    113 std::pair<CacheNode<K, V> *, CacheNode<K, V> *> &p = freq_map[freq];
    114
    115 // if the given node is the only node in the list,
    116 // then erase the frequency from map
    @@ -432,38 +453,30 @@ template<typename K , typename V >
    122 }
    123 } else {
    124 // remove the given node from current freq linked list
    -
    125 CacheNode<K, V> *prev = node->prev;
    -
    126 CacheNode<K, V> *next = node->next;
    +
    125 CacheNode<K, V> *prev = node->prev;
    +
    126 CacheNode<K, V> *next = node->next;
    127 node->prev = nullptr;
    128 node->next = nullptr;
    129
    130 if (prev) {
    -
    131 prev->next = next;
    +
    131 prev->next = next;
    132 } else {
    -
    133 p.first = next;
    +
    133 p.first = next;
    134 }
    135
    136 if (next) {
    -
    137 next->prev = prev;
    +
    137 next->prev = prev;
    138 } else {
    -
    139 p.second = prev;
    +
    139 p.second = prev;
    140 }
    141 }
    142 push(freq + 1, node);
    143 ++p_node.second;
    144 }
    -
    std::unordered_map< int, std::pair< CacheNode< K, V > *, CacheNode< K, V > * > > freq_map
    maps the frequency to doubly linked list
    Definition lfu_cache.cpp:68
    -
    void push(int freq, CacheNode< K, V > *node)
    push the node at first position in the linked list of given frequency
    Definition lfu_cache.cpp:88
    -
    T next(T... args)
    - -
    T prev(T... args)
    -
    Definition binary_search_tree.cpp:11
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    std::unordered_map< int, std::pair< CacheNode< K, V > *, CacheNode< K, V > * > > freq_map
    maps the frequency to doubly linked list
    Definition lfu_cache.cpp:68
    +
    void push(int freq, CacheNode< K, V > *node)
    push the node at first position in the linked list of given frequency
    Definition lfu_cache.cpp:88
    + + @@ -492,8 +505,10 @@ template<typename K , typename V >

    pop the last node in the least frequently used linked list

    + +

    Definition at line 149 of file lfu_cache.cpp.

    149 {
    -
    150 std::pair<CacheNode<K, V> *, CacheNode<K, V> *> &p = freq_map[minFreq];
    +
    150 std::pair<CacheNode<K, V> *, CacheNode<K, V> *> &p = freq_map[minFreq];
    151
    152 // if there is only one node
    153 // remove the node and erase
    @@ -550,6 +565,8 @@ template<typename K , typename V >
    + +

    Definition at line 88 of file lfu_cache.cpp.

    88 {
    89 // if freq is not present, then make a new list with node as the head as
    90 // well as tail.
    @@ -558,7 +575,7 @@ template<typename K , typename V >
    93 return;
    94 }
    95
    -
    96 std::pair<CacheNode<K, V> *, CacheNode<K, V> *> &p = freq_map[freq];
    +
    96 std::pair<CacheNode<K, V> *, CacheNode<K, V> *> &p = freq_map[freq];
    97
    98 // insert the node at the beginning of the linked list and update the
    99 // head.
    @@ -566,7 +583,7 @@ template<typename K , typename V >
    101 node->next = p.first;
    102 p.first = node;
    103 }
    -
    struct node { int data; int height; struct node *left; struct node *right;} node
    for std::queue
    Definition avltree.cpp:13
    +
    struct node { int data; int height; struct node *left; struct node *right;} node
    for std::queue
    Definition avltree.cpp:13
    @@ -607,6 +624,8 @@ template<typename K , typename V > + +

    Definition at line 174 of file lfu_cache.cpp.

    174 {
    175 // update the value if key already exists
    176 if (node_map.count(key)) {
    @@ -628,13 +647,8 @@ template<typename K , typename V >
    192 minFreq = 1;
    193 push(1, node);
    194 }
    -
    void pop()
    pop the last node in the least frequently used linked list
    Definition lfu_cache.cpp:149
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    void pop()
    pop the last node in the least frequently used linked list
    + @@ -664,12 +678,127 @@ template<typename K , typename V >

    Returns the number of items present in the cache.

    Returns
    number of items in the cache
    + +

    Definition at line 217 of file lfu_cache.cpp.

    217{ return node_map.size(); }
    + + +

    Member Data Documentation

    + +

    ◆ _capacity

    + +
    +
    +
    +template<typename K , typename V >
    + + + + + +
    + + + + +
    int others::Cache::LFUCache< K, V >::_capacity
    +
    +private
    +
    + +

    maximum capacity of the cache

    + +

    Definition at line 71 of file lfu_cache.cpp.

    + +
    +
    + +

    ◆ freq_map

    + +
    +
    +
    +template<typename K , typename V >
    + + + + + +
    + + + + +
    std::unordered_map<int, std::pair<CacheNode<K, V> *, CacheNode<K, V> *> > others::Cache::LFUCache< K, V >::freq_map
    +
    +private
    +
    + +

    maps the frequency to doubly linked list

    + +

    Definition at line 68 of file lfu_cache.cpp.

    + +
    +
    + +

    ◆ minFreq

    + +
    +
    +
    +template<typename K , typename V >
    + + + + + +
    + + + + +
    int others::Cache::LFUCache< K, V >::minFreq
    +
    +private
    +
    + +

    minimum frequency in the cache

    + +

    Definition at line 70 of file lfu_cache.cpp.

    + +
    +
    + +

    ◆ node_map

    + +
    +
    +
    +template<typename K , typename V >
    + + + + + +
    + + + + +
    std::unordered_map<K, std::pair<CacheNode<K, V> *, int> > others::Cache::LFUCache< K, V >::node_map
    +
    +private
    +
    + +

    maps the key to the node address and frequency

    + +

    Definition at line 66 of file lfu_cache.cpp.

    +

    The documentation for this class was generated from the following file: diff --git a/df/d8f/classothers_1_1_cache_1_1_l_f_u_cache_a16a25c102554c5653721a5112ef676c9_cgraph.map b/df/d8f/classothers_1_1_cache_1_1_l_f_u_cache_a16a25c102554c5653721a5112ef676c9_cgraph.map deleted file mode 100644 index 1cf680f50..000000000 --- a/df/d8f/classothers_1_1_cache_1_1_l_f_u_cache_a16a25c102554c5653721a5112ef676c9_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/df/d8f/classothers_1_1_cache_1_1_l_f_u_cache_a16a25c102554c5653721a5112ef676c9_cgraph.md5 b/df/d8f/classothers_1_1_cache_1_1_l_f_u_cache_a16a25c102554c5653721a5112ef676c9_cgraph.md5 deleted file mode 100644 index 67ab39f10..000000000 --- a/df/d8f/classothers_1_1_cache_1_1_l_f_u_cache_a16a25c102554c5653721a5112ef676c9_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -136e5b2fde508fd9779a8e62e4f72912 \ No newline at end of file diff --git a/df/d8f/classothers_1_1_cache_1_1_l_f_u_cache_a16a25c102554c5653721a5112ef676c9_cgraph.svg b/df/d8f/classothers_1_1_cache_1_1_l_f_u_cache_a16a25c102554c5653721a5112ef676c9_cgraph.svg deleted file mode 100644 index 5263716e0..000000000 --- a/df/d8f/classothers_1_1_cache_1_1_l_f_u_cache_a16a25c102554c5653721a5112ef676c9_cgraph.svg +++ /dev/null @@ -1,67 +0,0 @@ - - - - - - - - - - - - -others::Cache::LFUCache::increase_frequency - - -Node1 - - -others::Cache::LFUCache -::increase_frequency - - - - - -Node2 - - -others::Cache::LFUCache -::push - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/df/d8f/classothers_1_1_cache_1_1_l_f_u_cache_a16a25c102554c5653721a5112ef676c9_cgraph_org.svg b/df/d8f/classothers_1_1_cache_1_1_l_f_u_cache_a16a25c102554c5653721a5112ef676c9_cgraph_org.svg deleted file mode 100644 index 7b24966c4..000000000 --- a/df/d8f/classothers_1_1_cache_1_1_l_f_u_cache_a16a25c102554c5653721a5112ef676c9_cgraph_org.svg +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - -others::Cache::LFUCache::increase_frequency - - -Node1 - - -others::Cache::LFUCache -::increase_frequency - - - - - -Node2 - - -others::Cache::LFUCache -::push - - - - - -Node1->Node2 - - - - - - - - diff --git a/df/d8f/classothers_1_1_cache_1_1_l_f_u_cache_a58e37d3713f28d36abbb8cdf6c432781_cgraph.map b/df/d8f/classothers_1_1_cache_1_1_l_f_u_cache_a58e37d3713f28d36abbb8cdf6c432781_cgraph.map deleted file mode 100644 index 38f488886..000000000 --- a/df/d8f/classothers_1_1_cache_1_1_l_f_u_cache_a58e37d3713f28d36abbb8cdf6c432781_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/df/d8f/classothers_1_1_cache_1_1_l_f_u_cache_a58e37d3713f28d36abbb8cdf6c432781_cgraph.md5 b/df/d8f/classothers_1_1_cache_1_1_l_f_u_cache_a58e37d3713f28d36abbb8cdf6c432781_cgraph.md5 deleted file mode 100644 index 7860c59f0..000000000 --- a/df/d8f/classothers_1_1_cache_1_1_l_f_u_cache_a58e37d3713f28d36abbb8cdf6c432781_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -a478dd2129b44698d51017d165ed8e6b \ No newline at end of file diff --git a/df/d8f/classothers_1_1_cache_1_1_l_f_u_cache_a58e37d3713f28d36abbb8cdf6c432781_cgraph.svg b/df/d8f/classothers_1_1_cache_1_1_l_f_u_cache_a58e37d3713f28d36abbb8cdf6c432781_cgraph.svg deleted file mode 100644 index 1c6ba9cf0..000000000 --- a/df/d8f/classothers_1_1_cache_1_1_l_f_u_cache_a58e37d3713f28d36abbb8cdf6c432781_cgraph.svg +++ /dev/null @@ -1,85 +0,0 @@ - - - - - - - - - - - - -others::Cache::LFUCache::get - - -Node1 - - -others::Cache::LFUCache::get - - - - - -Node2 - - -others::Cache::LFUCache -::increase_frequency - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -others::Cache::LFUCache -::push - - - - - -Node2->Node3 - - - - - - - - - - - - - diff --git a/df/d8f/classothers_1_1_cache_1_1_l_f_u_cache_a58e37d3713f28d36abbb8cdf6c432781_cgraph_org.svg b/df/d8f/classothers_1_1_cache_1_1_l_f_u_cache_a58e37d3713f28d36abbb8cdf6c432781_cgraph_org.svg deleted file mode 100644 index 998b1dc7a..000000000 --- a/df/d8f/classothers_1_1_cache_1_1_l_f_u_cache_a58e37d3713f28d36abbb8cdf6c432781_cgraph_org.svg +++ /dev/null @@ -1,59 +0,0 @@ - - - - - - -others::Cache::LFUCache::get - - -Node1 - - -others::Cache::LFUCache::get - - - - - -Node2 - - -others::Cache::LFUCache -::increase_frequency - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -others::Cache::LFUCache -::push - - - - - -Node2->Node3 - - - - - - - - diff --git a/df/d8f/classothers_1_1_cache_1_1_l_f_u_cache_af6f8e5a66a45436b490dfe015ff8866e_cgraph.map b/df/d8f/classothers_1_1_cache_1_1_l_f_u_cache_af6f8e5a66a45436b490dfe015ff8866e_cgraph.map deleted file mode 100644 index 30a25279c..000000000 --- a/df/d8f/classothers_1_1_cache_1_1_l_f_u_cache_af6f8e5a66a45436b490dfe015ff8866e_cgraph.map +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/df/d8f/classothers_1_1_cache_1_1_l_f_u_cache_af6f8e5a66a45436b490dfe015ff8866e_cgraph.md5 b/df/d8f/classothers_1_1_cache_1_1_l_f_u_cache_af6f8e5a66a45436b490dfe015ff8866e_cgraph.md5 deleted file mode 100644 index 087ab199a..000000000 --- a/df/d8f/classothers_1_1_cache_1_1_l_f_u_cache_af6f8e5a66a45436b490dfe015ff8866e_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -2f5e8422a3e70831f5f71798302110cc \ No newline at end of file diff --git a/df/d8f/classothers_1_1_cache_1_1_l_f_u_cache_af6f8e5a66a45436b490dfe015ff8866e_cgraph.svg b/df/d8f/classothers_1_1_cache_1_1_l_f_u_cache_af6f8e5a66a45436b490dfe015ff8866e_cgraph.svg deleted file mode 100644 index 4d267658a..000000000 --- a/df/d8f/classothers_1_1_cache_1_1_l_f_u_cache_af6f8e5a66a45436b490dfe015ff8866e_cgraph.svg +++ /dev/null @@ -1,169 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -others::Cache::LFUCache::put - - -Node1 - - -others::Cache::LFUCache::put - - - - - -Node2 - - -others::Cache::LFUCache -::increase_frequency - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -others::Cache::LFUCache -::push - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -others::Cache::LFUCache::pop - - - - - -Node1->Node4 - - - - - - - - -Node2->Node3 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/df/d8f/classothers_1_1_cache_1_1_l_f_u_cache_af6f8e5a66a45436b490dfe015ff8866e_cgraph_org.svg b/df/d8f/classothers_1_1_cache_1_1_l_f_u_cache_af6f8e5a66a45436b490dfe015ff8866e_cgraph_org.svg deleted file mode 100644 index e1785447c..000000000 --- a/df/d8f/classothers_1_1_cache_1_1_l_f_u_cache_af6f8e5a66a45436b490dfe015ff8866e_cgraph_org.svg +++ /dev/null @@ -1,86 +0,0 @@ - - - - - - -others::Cache::LFUCache::put - - -Node1 - - -others::Cache::LFUCache::put - - - - - -Node2 - - -others::Cache::LFUCache -::increase_frequency - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -others::Cache::LFUCache -::push - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -others::Cache::LFUCache::pop - - - - - -Node1->Node4 - - - - - - - - -Node2->Node3 - - - - - - - - diff --git a/df/d94/classhash__chain-members.html b/df/d94/classhash__chain-members.html index 2f756d15b..c43e3a0fa 100644 --- a/df/d94/classhash__chain-members.html +++ b/df/d94/classhash__chain-members.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Member List +TheAlgorithms/C++: Member List + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/df/d94/subarray__sum_8cpp.html b/df/d94/subarray__sum_8cpp.html index 51dfd7127..8fe474a7e 100644 --- a/df/d94/subarray__sum_8cpp.html +++ b/df/d94/subarray__sum_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: backtracking/subarray_sum.cpp File Reference +TheAlgorithms/C++: backtracking/subarray_sum.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + @@ -123,7 +140,9 @@ Include dependency graph for subarray_sum.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -135,7 +154,7 @@ Namespaces

    Namespaces

    namespace  backtracking
    - + @@ -149,6 +168,8 @@ Functions

    Subset-sum (only continuous subsets) problem

    We are given an array and a sum value. The algorithms find all the subarrays of that array with sum equal to the given sum and return such subarrays count. This approach will have \(O(n)\) time complexity and \(O(n)\) space complexity. NOTE: In this problem, we are only referring to the continuous subsets as subarrays everywhere. Subarrays can be created using deletion operation at the end of the front of an array only. The parent array is also counted in subarrays having 0 number of deletion operations.

    Author
    Swastika Gupta
    + +

    Definition in file subarray_sum.cpp.

    Function Documentation

    ◆ main()

    @@ -167,17 +188,14 @@ Functions

    Main function.

    Returns
    0 on exit
    + +

    Definition at line 115 of file subarray_sum.cpp.

    115 {
    116 test(); // run self-test implementations
    117 return 0;
    118}
    -
    static void test()
    Self-test implementations.
    Definition subarray_sum.cpp:68
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    static void test()
    Self-test implementations.
    + @@ -194,7 +212,7 @@ Here is the call graph for this function: - +

    Functions

    uint64_t backtracking::subarray_sum::subarray_sum (int64_t sum, const std::vector< int64_t > &in_arr)
    uint64_t backtracking::subarray_sum::subarray_sum (int64_t sum, const std::vector< int64_t > &in_arr)
     The main function that implements the count of the subarrays.
     
    static void test ()
    const std::vector< int64_t > & in_arr )const std::vector< int64_t > & in_arr )
    @@ -208,11 +226,13 @@ Here is the call graph for this function:
    Returns
    count of the number of subsets with required sum
    + +

    Definition at line 39 of file subarray_sum.cpp.

    39 {
    -
    40 int64_t nelement = in_arr.size();
    +
    40 int64_t nelement = in_arr.size();
    41 int64_t count_of_subset = 0;
    42 int64_t current_sum = 0;
    - +
    43 std::unordered_map<int64_t, int64_t>
    44 sumarray; // to store the subarrays count
    45 // frequency having some sum value
    46
    @@ -223,24 +243,15 @@ Here is the call graph for this function:
    51 count_of_subset++;
    52 }
    53 // If in case current_sum is greater than the required sum
    -
    54 if (sumarray.find(current_sum - sum) != sumarray.end()) {
    +
    54 if (sumarray.find(current_sum - sum) != sumarray.end()) {
    55 count_of_subset += (sumarray[current_sum - sum]);
    56 }
    57 sumarray[current_sum]++;
    58 }
    59 return count_of_subset;
    60}
    -
    T end(T... args)
    -
    T find(T... args)
    -
    T sum(const std::vector< std::valarray< T > > &A)
    Definition vector_ops.hpp:232
    -
    T size(T... args)
    - -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    T sum(const std::vector< std::valarray< T > > &A)
    + @@ -268,57 +279,51 @@ Here is the call graph for this function:

    Self-test implementations.

    Returns
    void
    + +

    Definition at line 68 of file subarray_sum.cpp.

    68 {
    69 // 1st test
    -
    70 std::cout << "1st test ";
    -
    71 std::vector<int64_t> array1 = {-7, -3, -2, 5, 8}; // input array
    +
    70 std::cout << "1st test ";
    +
    71 std::vector<int64_t> array1 = {-7, -3, -2, 5, 8}; // input array
    72 assert(
    73 backtracking::subarray_sum::subarray_sum(0, array1) ==
    74 1); // first argument in subarray_sum function is the required sum and
    75 // second is the input array, answer is the subarray {(-3,-2,5)}
    -
    76 std::cout << "passed" << std::endl;
    +
    76 std::cout << "passed" << std::endl;
    77
    78 // 2nd test
    -
    79 std::cout << "2nd test ";
    -
    80 std::vector<int64_t> array2 = {1, 2, 3, 3};
    +
    79 std::cout << "2nd test ";
    +
    80 std::vector<int64_t> array2 = {1, 2, 3, 3};
    81 assert(backtracking::subarray_sum::subarray_sum(6, array2) ==
    82 2); // here we are expecting 2 subsets which sum up to 6 i.e.
    83 // {(1,2,3),(3,3)}
    -
    84 std::cout << "passed" << std::endl;
    +
    84 std::cout << "passed" << std::endl;
    85
    86 // 3rd test
    -
    87 std::cout << "3rd test ";
    -
    88 std::vector<int64_t> array3 = {1, 1, 1, 1};
    +
    87 std::cout << "3rd test ";
    +
    88 std::vector<int64_t> array3 = {1, 1, 1, 1};
    89 assert(backtracking::subarray_sum::subarray_sum(1, array3) ==
    90 4); // here we are expecting 4 subsets which sum up to 1 i.e.
    91 // {(1),(1),(1),(1)}
    -
    92 std::cout << "passed" << std::endl;
    +
    92 std::cout << "passed" << std::endl;
    93
    94 // 4rd test
    -
    95 std::cout << "4th test ";
    -
    96 std::vector<int64_t> array4 = {3, 3, 3, 3};
    +
    95 std::cout << "4th test ";
    +
    96 std::vector<int64_t> array4 = {3, 3, 3, 3};
    97 assert(backtracking::subarray_sum::subarray_sum(6, array4) ==
    98 3); // here we are expecting 3 subsets which sum up to 6 i.e.
    99 // {(3,3),(3,3),(3,3)}
    -
    100 std::cout << "passed" << std::endl;
    +
    100 std::cout << "passed" << std::endl;
    101
    102 // 5th test
    -
    103 std::cout << "5th test ";
    -
    104 std::vector<int64_t> array5 = {};
    +
    103 std::cout << "5th test ";
    +
    104 std::vector<int64_t> array5 = {};
    105 assert(backtracking::subarray_sum::subarray_sum(6, array5) ==
    106 0); // here we are expecting 0 subsets which sum up to 6 i.e. we
    107 // cannot select anything from an empty array
    -
    108 std::cout << "passed" << std::endl;
    +
    108 std::cout << "passed" << std::endl;
    109}
    - -
    T endl(T... args)
    - -
    -Here is the call graph for this function:
    -
    -
    -
    - + diff --git a/df/d94/subarray__sum_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map b/df/d94/subarray__sum_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map deleted file mode 100644 index e85e01374..000000000 --- a/df/d94/subarray__sum_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/df/d94/subarray__sum_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 b/df/d94/subarray__sum_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 deleted file mode 100644 index 5901bc148..000000000 --- a/df/d94/subarray__sum_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -729fb887ee50b6291b0542ba0592a5c7 \ No newline at end of file diff --git a/df/d94/subarray__sum_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg b/df/d94/subarray__sum_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg deleted file mode 100644 index 2e04695b9..000000000 --- a/df/d94/subarray__sum_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/df/d94/subarray__sum_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg b/df/d94/subarray__sum_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg deleted file mode 100644 index 1813bd719..000000000 --- a/df/d94/subarray__sum_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -test - - -Node1 - - -test - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - diff --git a/df/d94/subarray__sum_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/df/d94/subarray__sum_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index c314b0bd3..000000000 --- a/df/d94/subarray__sum_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/df/d94/subarray__sum_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/df/d94/subarray__sum_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index ff67a36b0..000000000 --- a/df/d94/subarray__sum_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -adfe0d5364ebbdb0084c14fad9bb5b46 \ No newline at end of file diff --git a/df/d94/subarray__sum_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/df/d94/subarray__sum_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 199ecd6aa..000000000 --- a/df/d94/subarray__sum_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node2->Node3 - - - - - - - - - - - - - diff --git a/df/d94/subarray__sum_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/df/d94/subarray__sum_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 92e8aa74f..000000000 --- a/df/d94/subarray__sum_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -test - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node2->Node3 - - - - - - - - diff --git a/df/d94/subarray__sum_8cpp_af5687bbd9faf927fbd363c71e0baba5e_cgraph.map b/df/d94/subarray__sum_8cpp_af5687bbd9faf927fbd363c71e0baba5e_cgraph.map deleted file mode 100644 index a3698fa08..000000000 --- a/df/d94/subarray__sum_8cpp_af5687bbd9faf927fbd363c71e0baba5e_cgraph.map +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/df/d94/subarray__sum_8cpp_af5687bbd9faf927fbd363c71e0baba5e_cgraph.md5 b/df/d94/subarray__sum_8cpp_af5687bbd9faf927fbd363c71e0baba5e_cgraph.md5 deleted file mode 100644 index 01888354a..000000000 --- a/df/d94/subarray__sum_8cpp_af5687bbd9faf927fbd363c71e0baba5e_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -4147049f5fd4b58e55c397a018f41089 \ No newline at end of file diff --git a/df/d94/subarray__sum_8cpp_af5687bbd9faf927fbd363c71e0baba5e_cgraph.svg b/df/d94/subarray__sum_8cpp_af5687bbd9faf927fbd363c71e0baba5e_cgraph.svg deleted file mode 100644 index c423220b9..000000000 --- a/df/d94/subarray__sum_8cpp_af5687bbd9faf927fbd363c71e0baba5e_cgraph.svg +++ /dev/null @@ -1,103 +0,0 @@ - - - - - - - - - - - - -backtracking::subarray_sum::subarray_sum - - -Node1 - - -backtracking::subarray -_sum::subarray_sum - - - - - -Node2 - - -std::unordered_map::end - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::unordered_map -::find - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::vector::size - - - - - -Node1->Node4 - - - - - - - - - - - - - diff --git a/df/d94/subarray__sum_8cpp_af5687bbd9faf927fbd363c71e0baba5e_cgraph_org.svg b/df/d94/subarray__sum_8cpp_af5687bbd9faf927fbd363c71e0baba5e_cgraph_org.svg deleted file mode 100644 index 5b21776e8..000000000 --- a/df/d94/subarray__sum_8cpp_af5687bbd9faf927fbd363c71e0baba5e_cgraph_org.svg +++ /dev/null @@ -1,77 +0,0 @@ - - - - - - -backtracking::subarray_sum::subarray_sum - - -Node1 - - -backtracking::subarray -_sum::subarray_sum - - - - - -Node2 - - -std::unordered_map::end - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::unordered_map -::find - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::vector::size - - - - - -Node1->Node4 - - - - - - - - diff --git a/df/d94/subarray__sum_8cpp_source.html b/df/d94/subarray__sum_8cpp_source.html new file mode 100644 index 000000000..9cfbe6c33 --- /dev/null +++ b/df/d94/subarray__sum_8cpp_source.html @@ -0,0 +1,228 @@ + + + + + + + + +TheAlgorithms/C++: backtracking/subarray_sum.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    subarray_sum.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    16#include <cassert>
    +
    17#include <cstdint>
    +
    18#include <iostream>
    +
    19#include <unordered_map>
    +
    20#include <vector>
    +
    21
    +
    26namespace backtracking {
    +
    32namespace subarray_sum {
    +
    +
    39uint64_t subarray_sum(int64_t sum, const std::vector<int64_t> &in_arr) {
    +
    40 int64_t nelement = in_arr.size();
    +
    41 int64_t count_of_subset = 0;
    +
    42 int64_t current_sum = 0;
    +
    43 std::unordered_map<int64_t, int64_t>
    +
    44 sumarray; // to store the subarrays count
    +
    45 // frequency having some sum value
    +
    46
    +
    47 for (int64_t i = 0; i < nelement; i++) {
    +
    48 current_sum += in_arr[i];
    +
    49
    +
    50 if (current_sum == sum) {
    +
    51 count_of_subset++;
    +
    52 }
    +
    53 // If in case current_sum is greater than the required sum
    +
    54 if (sumarray.find(current_sum - sum) != sumarray.end()) {
    +
    55 count_of_subset += (sumarray[current_sum - sum]);
    +
    56 }
    +
    57 sumarray[current_sum]++;
    +
    58 }
    +
    59 return count_of_subset;
    +
    60}
    +
    +
    61} // namespace subarray_sum
    +
    62} // namespace backtracking
    +
    63
    +
    +
    68static void test() {
    +
    69 // 1st test
    +
    70 std::cout << "1st test ";
    +
    71 std::vector<int64_t> array1 = {-7, -3, -2, 5, 8}; // input array
    +
    72 assert(
    +
    73 backtracking::subarray_sum::subarray_sum(0, array1) ==
    +
    74 1); // first argument in subarray_sum function is the required sum and
    +
    75 // second is the input array, answer is the subarray {(-3,-2,5)}
    +
    76 std::cout << "passed" << std::endl;
    +
    77
    +
    78 // 2nd test
    +
    79 std::cout << "2nd test ";
    +
    80 std::vector<int64_t> array2 = {1, 2, 3, 3};
    +
    81 assert(backtracking::subarray_sum::subarray_sum(6, array2) ==
    +
    82 2); // here we are expecting 2 subsets which sum up to 6 i.e.
    +
    83 // {(1,2,3),(3,3)}
    +
    84 std::cout << "passed" << std::endl;
    +
    85
    +
    86 // 3rd test
    +
    87 std::cout << "3rd test ";
    +
    88 std::vector<int64_t> array3 = {1, 1, 1, 1};
    +
    89 assert(backtracking::subarray_sum::subarray_sum(1, array3) ==
    +
    90 4); // here we are expecting 4 subsets which sum up to 1 i.e.
    +
    91 // {(1),(1),(1),(1)}
    +
    92 std::cout << "passed" << std::endl;
    +
    93
    +
    94 // 4rd test
    +
    95 std::cout << "4th test ";
    +
    96 std::vector<int64_t> array4 = {3, 3, 3, 3};
    +
    97 assert(backtracking::subarray_sum::subarray_sum(6, array4) ==
    +
    98 3); // here we are expecting 3 subsets which sum up to 6 i.e.
    +
    99 // {(3,3),(3,3),(3,3)}
    +
    100 std::cout << "passed" << std::endl;
    +
    101
    +
    102 // 5th test
    +
    103 std::cout << "5th test ";
    +
    104 std::vector<int64_t> array5 = {};
    +
    105 assert(backtracking::subarray_sum::subarray_sum(6, array5) ==
    +
    106 0); // here we are expecting 0 subsets which sum up to 6 i.e. we
    +
    107 // cannot select anything from an empty array
    +
    108 std::cout << "passed" << std::endl;
    +
    109}
    +
    +
    110
    +
    +
    115int main() {
    +
    116 test(); // run self-test implementations
    +
    117 return 0;
    +
    118}
    +
    +
    for vector container
    +
    Functions for the Subset sum implementation.
    +
    static void test()
    Self-test implementations.
    +
    int main()
    Main function.
    +
    +
    + + + + diff --git a/df/d97/main__cll_8cpp_source.html b/df/d97/main__cll_8cpp_source.html new file mode 100644 index 000000000..f1a4441a7 --- /dev/null +++ b/df/d97/main__cll_8cpp_source.html @@ -0,0 +1,183 @@ + + + + + + + + +TheAlgorithms/C++: data_structures/cll/main_cll.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    main_cll.cpp
    +
    +
    +
    1#include "cll.h"
    +
    2using namespace std;
    +
    3
    +
    4int main() {
    +
    5 /* Test CLL */
    +
    6 cout << "----------- Test construct -----------" << endl;
    +
    7 cll list1;
    +
    8 list1.display();
    +
    9 cout << "----------- Test insert front -----------" << endl;
    +
    10 list1.insert_front(5);
    +
    11 cout << "After insert 5 at front: " << endl;
    +
    12 list1.display();
    +
    13 cout << "After insert 10 3 7 at front: " << endl;
    +
    14 list1.insert_front(10);
    +
    15 list1.insert_front(3);
    +
    16 list1.insert_front(7);
    +
    17 list1.display();
    +
    18 cout << "----------- Test insert tail -----------" << endl;
    +
    19 cout << "After insert 18 19 20 at tail: " << endl;
    +
    20 list1.insert_tail(18);
    +
    21 list1.insert_tail(19);
    +
    22 list1.insert_tail(20);
    +
    23 list1.display();
    +
    24 cout << "----------- Test find item -----------" << endl;
    +
    25 if (list1.find_item(10))
    +
    26 cout << "PASS" << endl;
    +
    27 else
    +
    28 cout << "FAIL" << endl;
    +
    29 if (!list1.find_item(30))
    +
    30 cout << "PASS" << endl;
    +
    31 else
    +
    32 cout << "FAIL" << endl;
    +
    33 cout << "----------- Test * operator -----------" << endl;
    +
    34 int value = *list1;
    +
    35 cout << "Value at *list1: " << value << endl;
    +
    36 cout << "----------- Test ++ operator -----------" << endl;
    +
    37 list1.display();
    +
    38 ++list1;
    +
    39 cout << "After ++list1: " << endl;
    +
    40 list1.display();
    +
    41
    +
    42 return 0;
    +
    43}
    +
    Definition cll.h:17
    +
    int main()
    Main function.
    +
    #define endl
    +
    +
    + + + + diff --git a/df/d99/structstd_1_1is__unsigned_3_01uint256__t_01_4.html b/df/d99/structstd_1_1is__unsigned_3_01uint256__t_01_4.html index 98404c564..8e5e4d390 100644 --- a/df/d99/structstd_1_1is__unsigned_3_01uint256__t_01_4.html +++ b/df/d99/structstd_1_1is__unsigned_3_01uint256__t_01_4.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: std::is_unsigned< uint256_t > Struct Reference +TheAlgorithms/C++: std::is_unsigned< uint256_t > Struct Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -117,7 +134,10 @@ Collaboration diagram for std::is_unsigned< uint256_t >:
    [legend]
    -
    The documentation for this struct was generated from the following file:
      +

      Detailed Description

      +
      +

      Definition at line 27 of file uint256_t.hpp.

      +

      The documentation for this struct was generated from the following file: @@ -125,7 +145,7 @@ Collaboration diagram for std::is_unsigned< uint256_t >: diff --git a/df/da7/queue__using__array2_8cpp_source.html b/df/da7/queue__using__array2_8cpp_source.html new file mode 100644 index 000000000..cf9126f5f --- /dev/null +++ b/df/da7/queue__using__array2_8cpp_source.html @@ -0,0 +1,195 @@ + + + + + + + + +TheAlgorithms/C++: data_structures/queue_using_array2.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
      +
      +
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + + +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    queue_using_array2.cpp
    +
    +
    +
    1#include <iostream>
    +
    2using namespace std;
    +
    3
    +
    4int queue[10];
    +
    5int front = 0;
    +
    6int rear = 0;
    +
    7
    +
    8void Enque(int x) {
    +
    9 if (rear == 10) {
    +
    10 cout << "\nOverflow";
    +
    11 } else {
    +
    12 queue[rear++] = x;
    +
    13 }
    +
    14}
    +
    15
    +
    16void Deque() {
    +
    17 if (front == rear) {
    +
    18 cout << "\nUnderflow";
    +
    19 }
    +
    20
    +
    21 else {
    +
    22 cout << "\n" << queue[front++] << " deleted";
    +
    23 for (int i = front; i < rear; i++) {
    +
    24 queue[i - front] = queue[i];
    +
    25 }
    +
    26 rear = rear - front;
    +
    27 front = 0;
    +
    28 }
    +
    29}
    +
    30
    +
    31void show() {
    +
    32 for (int i = front; i < rear; i++) {
    +
    33 cout << queue[i] << "\t";
    +
    34 }
    +
    35}
    +
    36
    +
    37int main() {
    +
    38 int ch, x;
    +
    39 do {
    +
    40 cout << "\n1. Enque";
    +
    41 cout << "\n2. Deque";
    +
    42 cout << "\n3. Print";
    +
    43 cout << "\nEnter Your Choice : ";
    +
    44 cin >> ch;
    +
    45 if (ch == 1) {
    +
    46 cout << "\nInsert : ";
    +
    47 cin >> x;
    +
    48 Enque(x);
    +
    49 } else if (ch == 2) {
    +
    50 Deque();
    +
    51 } else if (ch == 3) {
    +
    52 show();
    +
    53 }
    +
    54 } while (ch != 0);
    +
    55
    +
    56 return 0;
    +
    57}
    +
    int main()
    Main function.
    +
    +
    + + + + diff --git a/df/db7/classgraph_1_1is__graph__bipartite_1_1_graph__coll__graph.map b/df/db7/classgraph_1_1is__graph__bipartite_1_1_graph__coll__graph.map index e93fff69d..1b9b30b01 100644 --- a/df/db7/classgraph_1_1is__graph__bipartite_1_1_graph__coll__graph.map +++ b/df/db7/classgraph_1_1is__graph__bipartite_1_1_graph__coll__graph.map @@ -1,7 +1,7 @@ - + - + diff --git a/df/db7/classgraph_1_1is__graph__bipartite_1_1_graph__coll__graph.md5 b/df/db7/classgraph_1_1is__graph__bipartite_1_1_graph__coll__graph.md5 index dedb71475..ef85b0962 100644 --- a/df/db7/classgraph_1_1is__graph__bipartite_1_1_graph__coll__graph.md5 +++ b/df/db7/classgraph_1_1is__graph__bipartite_1_1_graph__coll__graph.md5 @@ -1 +1 @@ -35c96562232fae48ac4dddb674158dba \ No newline at end of file +5bdb1c0eb8ba8607df7866cc3bb4dbb6 \ No newline at end of file diff --git a/df/db7/classgraph_1_1is__graph__bipartite_1_1_graph__coll__graph.svg b/df/db7/classgraph_1_1is__graph__bipartite_1_1_graph__coll__graph.svg index f13394446..ade4f8493 100644 --- a/df/db7/classgraph_1_1is__graph__bipartite_1_1_graph__coll__graph.svg +++ b/df/db7/classgraph_1_1is__graph__bipartite_1_1_graph__coll__graph.svg @@ -32,7 +32,7 @@ Node2 - + std::vector< std::vector < int > > @@ -52,7 +52,7 @@ Node3 - + std::vector< int > diff --git a/df/db7/classgraph_1_1is__graph__bipartite_1_1_graph__coll__graph_org.svg b/df/db7/classgraph_1_1is__graph__bipartite_1_1_graph__coll__graph_org.svg index 438a6075d..de12abcaa 100644 --- a/df/db7/classgraph_1_1is__graph__bipartite_1_1_graph__coll__graph_org.svg +++ b/df/db7/classgraph_1_1is__graph__bipartite_1_1_graph__coll__graph_org.svg @@ -21,7 +21,7 @@ Node2 - + std::vector< std::vector < int > > @@ -41,7 +41,7 @@ Node3 - + std::vector< int > diff --git a/df/dbb/class_f_c_f_s__coll__graph.map b/df/dbb/class_f_c_f_s__coll__graph.map deleted file mode 100644 index ff4f8f529..000000000 --- a/df/dbb/class_f_c_f_s__coll__graph.map +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - - - diff --git a/df/dbb/class_f_c_f_s__coll__graph.md5 b/df/dbb/class_f_c_f_s__coll__graph.md5 deleted file mode 100644 index fd6fd8673..000000000 --- a/df/dbb/class_f_c_f_s__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -cce4215a15c4cbcdf3722e4ecc3b7c4d \ No newline at end of file diff --git a/df/dbb/class_f_c_f_s__coll__graph.svg b/df/dbb/class_f_c_f_s__coll__graph.svg deleted file mode 100644 index c4fb17503..000000000 --- a/df/dbb/class_f_c_f_s__coll__graph.svg +++ /dev/null @@ -1,140 +0,0 @@ - - - - - - - - - - - - -FCFS< S, T, E > - - -Node1 - - -FCFS< S, T, E > - - - - - -Node2 - - -std::priority_queue -< std::tuple< S, T, - E, double, double, double - >, std::vector< std::tuple -< S, T, E, double, double, - double > >, Compare< S, T, E > > - - - - - -Node2->Node1 - - - - - - schedule - - - -Node3 - - -T - - - - - -Node3->Node2 - - - - - - elements - - - -Node4 - - -std::vector< std::tuple -< S, T, E, double, double, - double > > - - - - - -Node3->Node4 - - - - - - elements - - - -Node4->Node1 - - - - - - result - - - -Node5 - - -std::unordered_set< S > - - - - - -Node5->Node1 - - - - - - idList - - - - - - - - diff --git a/df/dbb/class_f_c_f_s__coll__graph_org.svg b/df/dbb/class_f_c_f_s__coll__graph_org.svg deleted file mode 100644 index 5f86cf079..000000000 --- a/df/dbb/class_f_c_f_s__coll__graph_org.svg +++ /dev/null @@ -1,114 +0,0 @@ - - - - - - -FCFS< S, T, E > - - -Node1 - - -FCFS< S, T, E > - - - - - -Node2 - - -std::priority_queue -< std::tuple< S, T, - E, double, double, double - >, std::vector< std::tuple -< S, T, E, double, double, - double > >, Compare< S, T, E > > - - - - - -Node2->Node1 - - - - - - schedule - - - -Node3 - - -T - - - - - -Node3->Node2 - - - - - - elements - - - -Node4 - - -std::vector< std::tuple -< S, T, E, double, double, - double > > - - - - - -Node3->Node4 - - - - - - elements - - - -Node4->Node1 - - - - - - result - - - -Node5 - - -std::unordered_set< S > - - - - - -Node5->Node1 - - - - - - idList - - - diff --git a/df/dc8/successive__approximation_8cpp.html b/df/dc8/successive__approximation_8cpp.html index dbe2e3358..d908b28a4 100644 --- a/df/dc8/successive__approximation_8cpp.html +++ b/df/dc8/successive__approximation_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: numerical_methods/successive_approximation.cpp File Reference +TheAlgorithms/C++: numerical_methods/successive_approximation.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -119,7 +136,9 @@ Include dependency graph for successive_approximation.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -131,6 +150,8 @@ Functions

    Functions

    static float eq (float y)

    Detailed Description

    Method of successive approximations using fixed-point iteration method.

    + +

    Definition in file successive_approximation.cpp.

    Function Documentation

    ◆ eq()

    @@ -157,8 +178,9 @@ Functions

    equation 1

    \[f(y) = 3y - \cos y -2\]

    -
    12{ return (3 * y) - cos(y) - 2; }
    -
    T cos(T... args)
    + +

    Definition at line 12 of file successive_approximation.cpp.

    +
    12{ return (3 * y) - cos(y) - 2; }
    @@ -187,7 +209,9 @@ Functions

    equation 2

    \[f(y) = \frac{\cos y+2}{2}\]

    -
    17{ return 0.5 * (cos(y) + 2); }
    + +

    Definition at line 17 of file successive_approximation.cpp.

    +
    17{ return 0.5 * (cos(y) + 2); }
    @@ -206,38 +230,33 @@ Functions

    Main function

    + +

    Definition at line 20 of file successive_approximation.cpp.

    20 {
    21 float y, x1, x2, x3, sum, s, a, f1, f2, gd;
    22 int i, n;
    23
    24 for (i = 0; i < 10; i++) {
    25 sum = eq(y);
    -
    26 std::cout << "value of equation at " << i << " " << sum << "\n";
    +
    26 std::cout << "value of equation at " << i << " " << sum << "\n";
    27 y++;
    28 }
    -
    29 std::cout << "enter the x1->";
    -
    30 std::cin >> x1;
    -
    31 std::cout << "enter the no iteration to perform->\n";
    -
    32 std::cin >> n;
    +
    29 std::cout << "enter the x1->";
    +
    30 std::cin >> x1;
    +
    31 std::cout << "enter the no iteration to perform->\n";
    +
    32 std::cin >> n;
    33
    34 for (i = 0; i <= n; i++) {
    35 x2 = eqd(x1);
    -
    36 std::cout << "\nenter the x2->" << x2;
    +
    36 std::cout << "\nenter the x2->" << x2;
    37 x1 = x2;
    38 }
    39 return 0;
    40}
    - - -
    T sum(const std::vector< std::valarray< T > > &A)
    Definition vector_ops.hpp:232
    -
    static float eq(float y)
    Definition successive_approximation.cpp:12
    -
    static float eqd(float y)
    Definition successive_approximation.cpp:17
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    T sum(const std::vector< std::valarray< T > > &A)
    +
    static float eq(float y)
    +
    static float eqd(float y)
    +
    diff --git a/df/dc8/successive__approximation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/df/dc8/successive__approximation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index a1ae83fcc..000000000 --- a/df/dc8/successive__approximation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/df/dc8/successive__approximation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/df/dc8/successive__approximation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index 0dd643537..000000000 --- a/df/dc8/successive__approximation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -429e9355a163ed9c840a46407bfa74fd \ No newline at end of file diff --git a/df/dc8/successive__approximation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/df/dc8/successive__approximation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index c1bb0b88c..000000000 --- a/df/dc8/successive__approximation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -eq - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -eqd - - - - - -Node1->Node3 - - - - - - - - - - - - - diff --git a/df/dc8/successive__approximation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/df/dc8/successive__approximation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index cd44b6455..000000000 --- a/df/dc8/successive__approximation_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -eq - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -eqd - - - - - -Node1->Node3 - - - - - - - - diff --git a/df/dc8/successive__approximation_8cpp_source.html b/df/dc8/successive__approximation_8cpp_source.html new file mode 100644 index 000000000..a30602927 --- /dev/null +++ b/df/dc8/successive__approximation_8cpp_source.html @@ -0,0 +1,171 @@ + + + + + + + + +TheAlgorithms/C++: numerical_methods/successive_approximation.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    successive_approximation.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    6#include <cmath>
    +
    7#include <iostream>
    +
    8
    +
    12static float eq(float y) { return (3 * y) - cos(y) - 2; }
    +
    13
    +
    17static float eqd(float y) { return 0.5 * (cos(y) + 2); }
    +
    18
    +
    +
    20int main() {
    +
    21 float y, x1, x2, x3, sum, s, a, f1, f2, gd;
    +
    22 int i, n;
    +
    23
    +
    24 for (i = 0; i < 10; i++) {
    +
    25 sum = eq(y);
    +
    26 std::cout << "value of equation at " << i << " " << sum << "\n";
    +
    27 y++;
    +
    28 }
    +
    29 std::cout << "enter the x1->";
    +
    30 std::cin >> x1;
    +
    31 std::cout << "enter the no iteration to perform->\n";
    +
    32 std::cin >> n;
    +
    33
    +
    34 for (i = 0; i <= n; i++) {
    +
    35 x2 = eqd(x1);
    +
    36 std::cout << "\nenter the x2->" << x2;
    +
    37 x1 = x2;
    +
    38 }
    +
    39 return 0;
    +
    40}
    +
    +
    static float eq(float y)
    + +
    static float eqd(float y)
    +
    +
    + + + + diff --git a/df/dcb/namespacestrings.html b/df/dcb/namespacestrings.html index 20983ae8c..1dd13df84 100644 --- a/df/dcb/namespacestrings.html +++ b/df/dcb/namespacestrings.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: strings Namespace Reference +TheAlgorithms/C++: strings Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -123,7 +140,7 @@ Namespaces

    String algorithms.

    for assert

    Algorithms with strings.

    -

    for IO operations for std::vector STL for string

    +

    for IO operations for std::vector STL for string

    Algorithms with strings

    diff --git a/df/dcd/_2_users_2runner_2work_2_c-_plus-_plus_2_c-_plus-_plus_2math_2quadratic_equations_complex_numbers_8cpp-example.html b/df/dcd/_2_users_2runner_2work_2_c-_plus-_plus_2_c-_plus-_plus_2math_2quadratic_equations_complex_numbers_8cpp-example.html index 40ff59211..07b3bf96a 100644 --- a/df/dcd/_2_users_2runner_2work_2_c-_plus-_plus_2_c-_plus-_plus_2math_2quadratic_equations_complex_numbers_8cpp-example.html +++ b/df/dcd/_2_users_2runner_2work_2_c-_plus-_plus_2_c-_plus-_plus_2math_2quadratic_equations_complex_numbers_8cpp-example.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: /Users/runner/work/C-Plus-Plus/C-Plus-Plus/math/quadratic_equations_complex_numbers.cpp +TheAlgorithms/C++: /Users/runner/work/C-Plus-Plus/C-Plus-Plus/math/quadratic_equations_complex_numbers.cpp + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + @@ -107,71 +124,30 @@ $(function(){initNavTree('df/dcd/_2_users_2runner_2work_2_c-_plus-_plus_2_c-_plu
    /Users/runner/work/C-Plus-Plus/C-Plus-Plus/math/quadratic_equations_complex_numbers.cpp
    -

    int main() { using std::array; using std::complex; using std::cout;

    +

    int main() { using std::array; using std::complex; using std::cout;

    array<complex<long double, 2> solutions = quadraticEquation(1, 2, 1); cout << solutions[0] << " " << solutions[1] << "\n";

    solutions = quadraticEquation(1, 1, 1); // Reusing solutions. cout << solutions[0] << " " << solutions[1] << "\n"; return 0; }

    Output: (-1, 0) (-1, 0) (-0.5,0.866025) (-0.5,0.866025)

    -
    /**
    -
    * @file
    -
    * @brief Calculate quadratic equation with complex roots, i.e. b^2 - 4ac < 0.
    -
    *
    -
    * @author [Renjian-buchai](https://github.com/Renjian-buchai)
    -
    *
    -
    * @description Calculates any quadratic equation in form ax^2 + bx + c.
    -
    *
    -
    * Quadratic equation:
    -
    * x = (-b +/- sqrt(b^2 - 4ac)) / 2a
    -
    *
    -
    * @example
    -
    * int main() {
    -
    * using std::array;
    -
    * using std::complex;
    -
    * using std::cout;
    -
    *
    -
    * array<complex<long double, 2> solutions = quadraticEquation(1, 2, 1);
    -
    * cout << solutions[0] << " " << solutions[1] << "\n";
    -
    *
    -
    * solutions = quadraticEquation(1, 1, 1); // Reusing solutions.
    -
    * cout << solutions[0] << " " << solutions[1] << "\n";
    -
    * return 0;
    -
    * }
    -
    *
    -
    * Output:
    -
    * (-1, 0) (-1, 0)
    -
    * (-0.5,0.866025) (-0.5,0.866025)
    -
    */
    +
    +
    #include <array>
    +
    #include <cassert>
    +
    #include <cmath>
    +
    #include <complex>
    +
    #include <exception>
    +
    #include <iomanip>
    +
    #include <iostream>
    -
    #include <array> /// std::array
    -
    #include <cassert> /// assert
    -
    #include <cmath> /// std::sqrt, std::trunc, std::pow
    -
    #include <complex> /// std::complex
    -
    #include <exception> /// std::invalid_argument
    -
    #include <iomanip> /// std::setprecision
    -
    #include <iostream> /// std::cout
    -
    -
    /**
    -
    * @namespace
    -
    * @brief Mathematical algorithms
    -
    */
    namespace math {
    -
    -
    /**
    -
    * @brief Quadratic equation calculator.
    -
    * @param a quadratic coefficient.
    -
    * @param b linear coefficient.
    -
    * @param c constant
    -
    * @return Array containing the roots of quadratic equation, incl. complex
    -
    * root.
    -
    */
    - +
    +
    std::array<std::complex<long double>, 2> quadraticEquation(long double a,
    long double b,
    long double c) {
    if (a == 0) {
    -
    throw std::invalid_argument("quadratic coefficient cannot be 0");
    +
    throw std::invalid_argument("quadratic coefficient cannot be 0");
    }
    long double discriminant = b * b - 4 * a * c;
    - +
    std::array<std::complex<long double>, 2> solutions{0, 0};
    if (discriminant == 0) {
    solutions[0] = -b * 0.5 / a;
    @@ -186,100 +162,89 @@ $(function(){initNavTree('df/dcd/_2_users_2runner_2work_2_c-_plus-_plus_2_c-_plu
    if (discriminant > 0) {
    // Since discriminant > 0, there are only real roots. Therefore,
    // imaginary component = 0.
    -
    solutions[0] = std::complex<long double>{
    -
    (-b - std::sqrt(discriminant)) * 0.5 / a, 0};
    -
    solutions[1] = std::complex<long double>{
    -
    (-b + std::sqrt(discriminant)) * 0.5 / a, 0};
    +
    solutions[0] = std::complex<long double>{
    +
    (-b - std::sqrt(discriminant)) * 0.5 / a, 0};
    +
    solutions[1] = std::complex<long double>{
    +
    (-b + std::sqrt(discriminant)) * 0.5 / a, 0};
    return solutions;
    }
    // Since b^2 - 4ac is < 0, for faster computation, -discriminant is
    // enough to make it positive.
    -
    solutions[0] = std::complex<long double>{
    -
    -b * 0.5 / a, -std::sqrt(-discriminant) * 0.5 / a};
    -
    solutions[1] = std::complex<long double>{
    -
    -b * 0.5 / a, std::sqrt(-discriminant) * 0.5 / a};
    +
    solutions[0] = std::complex<long double>{
    +
    -b * 0.5 / a, -std::sqrt(-discriminant) * 0.5 / a};
    +
    solutions[1] = std::complex<long double>{
    +
    -b * 0.5 / a, std::sqrt(-discriminant) * 0.5 / a};
    return solutions;
    }
    } // namespace math
    -
    -
    /**
    -
    * @brief Asserts an array of complex numbers.
    -
    * @param input Input array of complex numbers. .
    -
    * @param expected Expected array of complex numbers.
    -
    * @param precision Precision to be asserted. Default=10
    -
    */
    - - -
    size_t precision = 10) {
    -
    long double exponent = std::pow(10, precision);
    -
    input[0].real(std::round(input[0].real() * exponent));
    -
    input[1].real(std::round(input[1].real() * exponent));
    -
    input[0].imag(std::round(input[0].imag() * exponent));
    -
    input[1].imag(std::round(input[1].imag() * exponent));
    -
    expected[0].real(std::round(expected[0].real() * exponent));
    -
    expected[1].real(std::round(expected[1].real() * exponent));
    -
    expected[0].imag(std::round(expected[0].imag() * exponent));
    -
    expected[1].imag(std::round(expected[1].imag() * exponent));
    +
    void assertArray(std::array<std::complex<long double>, 2> input,
    +
    std::array<std::complex<long double>, 2> expected,
    +
    size_t precision = 10) {
    +
    long double exponent = std::pow(10, precision);
    +
    input[0].real(std::round(input[0].real() * exponent));
    +
    input[1].real(std::round(input[1].real() * exponent));
    +
    input[0].imag(std::round(input[0].imag() * exponent));
    +
    input[1].imag(std::round(input[1].imag() * exponent));
    +
    +
    expected[0].real(std::round(expected[0].real() * exponent));
    +
    expected[1].real(std::round(expected[1].real() * exponent));
    +
    expected[0].imag(std::round(expected[0].imag() * exponent));
    +
    expected[1].imag(std::round(expected[1].imag() * exponent));
    assert(input == expected);
    }
    -
    -
    /**
    -
    * @brief Self-test implementations to test quadraticEquation function.
    -
    * @note There are 4 different types of solutions: Real and equal, real,
    -
    * complex, complex and equal.
    -
    */
    -
    static void test() {
    +
    +
    static void test() {
    // Values are equal and real.
    -
    std::cout << "Input: \n"
    +
    std::cout << "Input: \n"
    "a=1 \n"
    "b=-2 \n"
    "c=1 \n"
    "Expected output: \n"
    "(1, 0), (1, 0)\n\n";
    - - +
    std::array<std::complex<long double>, 2> equalCase{
    +
    std::complex<long double>{1, 0}, std::complex<long double>{1, 0}};
    assert(math::quadraticEquation(1, -2, 1) == equalCase);
    // Values are equal and complex.
    -
    std::cout << "Input: \n"
    +
    std::cout << "Input: \n"
    "a=1 \n"
    "b=4 \n"
    "c=5 \n"
    "Expected output: \n"
    "(-2, -1), (-2, 1)\n\n";
    - - +
    std::array<std::complex<long double>, 2> complexCase{
    +
    std::complex<long double>{-2, -1}, std::complex<long double>{-2, 1}};
    assert(math::quadraticEquation(1, 4, 5) == complexCase);
    // Values are real.
    -
    std::cout << "Input: \n"
    +
    std::cout << "Input: \n"
    "a=1 \n"
    "b=5 \n"
    "c=1 \n"
    "Expected output: \n"
    "(-4.7912878475, 0), (-0.2087121525, 0)\n\n";
    - -
    std::complex<long double>{-4.7912878475, 0},
    -
    std::complex<long double>{-0.2087121525, 0}};
    +
    std::array<std::complex<long double>, 2> floatCase{
    +
    std::complex<long double>{-4.7912878475, 0},
    +
    std::complex<long double>{-0.2087121525, 0}};
    assertArray(math::quadraticEquation(1, 5, 1), floatCase);
    // Values are complex.
    -
    std::cout << "Input: \n"
    +
    std::cout << "Input: \n"
    "a=1 \n"
    "b=1 \n"
    "c=1 \n"
    "Expected output: \n"
    "(-0.5, -0.8660254038), (-0.5, 0.8660254038)\n\n";
    - -
    std::complex<long double>{-0.5, -0.8660254038},
    -
    std::complex<long double>{-0.5, 0.8660254038}};
    +
    std::array<std::complex<long double>, 2> ifloatCase{
    +
    std::complex<long double>{-0.5, -0.8660254038},
    +
    std::complex<long double>{-0.5, 0.8660254038}};
    assertArray(math::quadraticEquation(1, 1, 1), ifloatCase);
    -
    std::cout << "Exception test: \n"
    +
    std::cout << "Exception test: \n"
    "Input: \n"
    "a=0 \n"
    "b=0 \n"
    @@ -287,31 +252,20 @@ $(function(){initNavTree('df/dcd/_2_users_2runner_2work_2_c-_plus-_plus_2_c-_plu
    "Expected output: Exception thrown \n";
    try {
    -
    } catch (std::invalid_argument& e) {
    -
    std::cout << "Exception thrown successfully \n";
    +
    } catch (std::invalid_argument& e) {
    +
    std::cout << "Exception thrown successfully \n";
    }
    }
    -
    -
    /**
    -
    * @brief Main function
    -
    * @returns 0 on exit
    -
    */
    -
    int main() {
    +
    +
    int main() {
    test(); // Run self-test implementation.
    return 0;
    }
    - - - -
    static void test()
    Self-test implementations.
    Definition generate_parentheses.cpp:82
    -
    int main()
    Main function.
    Definition generate_parentheses.cpp:110
    - +
    static void test()
    Self-test implementations.
    +
    int main()
    Main function.
    for assert
    -
    std::array< std::complex< long double >, 2 > quadraticEquation(long double a, long double b, long double c)
    Quadratic equation calculator.
    Definition quadratic_equations_complex_numbers.cpp:53
    -
    T pow(T... args)
    -
    void assertArray(std::array< std::complex< long double >, 2 > input, std::array< std::complex< long double >, 2 > expected, size_t precision=10)
    Asserts an array of complex numbers.
    Definition quadratic_equations_complex_numbers.cpp:100
    -
    T round(T... args)
    -
    T sqrt(T... args)
    +
    std::array< std::complex< long double >, 2 > quadraticEquation(long double a, long double b, long double c)
    Quadratic equation calculator.
    +
    void assertArray(std::array< std::complex< long double >, 2 > input, std::array< std::complex< long double >, 2 > expected, size_t precision=10)
    Asserts an array of complex numbers.
    diff --git a/df/dce/classgreedy__algorithms_1_1dijkstra_1_1_graph__coll__graph.map b/df/dce/classgreedy__algorithms_1_1dijkstra_1_1_graph__coll__graph.map index 29c4a8b31..7c598801a 100644 --- a/df/dce/classgreedy__algorithms_1_1dijkstra_1_1_graph__coll__graph.map +++ b/df/dce/classgreedy__algorithms_1_1dijkstra_1_1_graph__coll__graph.map @@ -1,5 +1,5 @@ - + diff --git a/df/dce/classgreedy__algorithms_1_1dijkstra_1_1_graph__coll__graph.md5 b/df/dce/classgreedy__algorithms_1_1dijkstra_1_1_graph__coll__graph.md5 index 010724ef2..87b2bf61e 100644 --- a/df/dce/classgreedy__algorithms_1_1dijkstra_1_1_graph__coll__graph.md5 +++ b/df/dce/classgreedy__algorithms_1_1dijkstra_1_1_graph__coll__graph.md5 @@ -1 +1 @@ -24db918ea4b864252d7d1e4eb4c36930 \ No newline at end of file +688de14e7efb7d4a90281b5af0b3cd06 \ No newline at end of file diff --git a/df/dce/classgreedy__algorithms_1_1dijkstra_1_1_graph__coll__graph.svg b/df/dce/classgreedy__algorithms_1_1dijkstra_1_1_graph__coll__graph.svg index 53b944789..bbe703021 100644 --- a/df/dce/classgreedy__algorithms_1_1dijkstra_1_1_graph__coll__graph.svg +++ b/df/dce/classgreedy__algorithms_1_1dijkstra_1_1_graph__coll__graph.svg @@ -32,7 +32,7 @@ Node2 - + std::vector< std::vector < int > > diff --git a/df/dce/classgreedy__algorithms_1_1dijkstra_1_1_graph__coll__graph_org.svg b/df/dce/classgreedy__algorithms_1_1dijkstra_1_1_graph__coll__graph_org.svg index a7ff5aac8..f5a50cdf1 100644 --- a/df/dce/classgreedy__algorithms_1_1dijkstra_1_1_graph__coll__graph_org.svg +++ b/df/dce/classgreedy__algorithms_1_1dijkstra_1_1_graph__coll__graph_org.svg @@ -21,7 +21,7 @@ Node2 - + std::vector< std::vector < int > > diff --git a/df/dce/namespacegraph.html b/df/dce/namespacegraph.html index e8db086ce..4bce62d97 100644 --- a/df/dce/namespacegraph.html +++ b/df/dce/namespacegraph.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: graph Namespace Reference +TheAlgorithms/C++: graph Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + @@ -128,37 +145,37 @@ Classes
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    - + - + - + - + - + - + - + - + - + - + - +

    Functions

    void addEdge (std::vector< std::vector< int > > *adj, int u, int v)
    void addEdge (std::vector< std::vector< int > > *adj, int u, int v)
     Function that add edge between two nodes or vertices of graph.
     
    void explore (const std::vector< std::vector< int > > *adj, int u, std::vector< bool > *visited)
    void explore (const std::vector< std::vector< int > > *adj, int u, std::vector< bool > *visited)
     Utility function for depth first seach algorithm this function explores the vertex which is passed into.
     
    int getConnectedComponents (const std::vector< std::vector< int > > *adj)
    int getConnectedComponents (const std::vector< std::vector< int > > *adj)
     Function that perfoms depth first search algorithm on graph and calculated the number of connected components.
     
    void addEdge (std::vector< std::vector< size_t > > *adj, size_t u, size_t v)
    void addEdge (std::vector< std::vector< size_t > > *adj, size_t u, size_t v)
     Adds and edge between two vertices of graph say u and v in this case.
     
    void explore (const std::vector< std::vector< size_t > > &adj, size_t v, std::vector< bool > *visited)
    void explore (const std::vector< std::vector< size_t > > &adj, size_t v, std::vector< bool > *visited)
     Explores the given vertex, exploring a vertex means traversing over all the vertices which are connected to the vertex that is currently being explored.
     
    void depth_first_search (const std::vector< std::vector< size_t > > &adj, size_t start)
    void depth_first_search (const std::vector< std::vector< size_t > > &adj, size_t start)
     initiates depth first search algorithm.
     
    void addEdge (std::vector< std::vector< std::pair< int, int > > > *adj, int u, int v, int w)
    void addEdge (std::vector< std::vector< std::pair< int, int > > > *adj, int u, int v, int w)
     Function that add edge between two nodes or vertices of graph.
     
    int dijkstra (std::vector< std::vector< std::pair< int, int > > > *adj, int s, int t)
    int dijkstra (std::vector< std::vector< std::pair< int, int > > > *adj, int s, int t)
     Function runs the dijkstra algorithm for some source vertex and target vertex in the graph and returns the shortest distance of target from the source.
     
    bool checkBipartite (const std::vector< std::vector< int64_t > > &graph, int64_t index, std::vector< int64_t > *visited)
    bool checkBipartite (const std::vector< std::vector< int64_t > > &graph, int64_t index, std::vector< int64_t > *visited)
     function to check whether the passed graph is bipartite or not
     
    bool isBipartite (const std::vector< std::vector< int64_t > > &graph)
    bool isBipartite (const std::vector< std::vector< int64_t > > &graph)
     returns true if the given graph is bipartite else returns false
     
    int TravellingSalesmanProblem (std::vector< std::vector< uint32_t > > *cities, int32_t src, uint32_t V)
    int TravellingSalesmanProblem (std::vector< std::vector< uint32_t > > *cities, int32_t src, uint32_t V)
     Function calculates the minimum path distance that will cover all the cities starting from the source.
     
    @@ -166,14 +183,14 @@ Functions

    Graph Algorithms.

    for assert

    Check whether a given graph is bipartite or not.

    -

    for std::vector

    +

    for std::vector

    Graph algorithms.

    -

    for IO operations for std::set

    +

    for IO operations for std::set

    Graph Algorithms

    A bipartite graph is the one whose nodes can be divided into two disjoint sets in such a way that the nodes in a set are not connected to each other at all, i.e. no intra-set connections. The only connections that exist are that of inter-set, i.e. the nodes from one set are connected to a subset of nodes in the other set. In this implementation, using a graph in the form of adjacency list, check whether the given graph is a bipartite or not.

    References used: GeeksForGeeks

    Author
    tushar2407 for assert for IO operations for queue data structure for vector data structure

    Graphical algorithms

    -

    for std::min for IO operations for limits of integral types for std::vector

    +

    for std::min for IO operations for limits of integral types for std::vector

    Graph Algorithms

    Function Documentation

    @@ -185,7 +202,7 @@ Functions void graph::addEdge ( - std::vector< std::vector< int > > * adj, + std::vector< std::vector< int > > * adj, @@ -209,6 +226,8 @@ Functions + +

    Definition at line 46 of file connected_components.cpp.

    46 {
    47 (*adj)[u - 1].push_back(v - 1);
    48 (*adj)[v - 1].push_back(u - 1);
    @@ -225,7 +244,7 @@ Functions void graph::addEdge ( - std::vector< std::vector< size_t > > * adj, + std::vector< std::vector< size_t > > * adj, @@ -249,6 +268,8 @@ Functions + +

    Definition at line 56 of file depth_first_search.cpp.

    56 {
    57 /*
    58 *
    @@ -272,7 +293,7 @@ Functions void graph::addEdge ( - std::vector< std::vector< std::pair< int, int > > > * adj, + std::vector< std::vector< std::pair< int, int > > > * adj, @@ -300,17 +321,13 @@ Functions + +

    Definition at line 48 of file dijkstra.cpp.

    49 {
    -
    50 (*adj)[u - 1].push_back(std::make_pair(v - 1, w));
    +
    50 (*adj)[u - 1].push_back(std::make_pair(v - 1, w));
    51 // (*adj)[v - 1].push_back(std::make_pair(u - 1, w));
    52}
    -
    T make_pair(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    @@ -322,7 +339,7 @@ Here is the call graph for this function: bool graph::checkBipartite ( - const std::vector< std::vector< int64_t > > & graph, + const std::vector< std::vector< int64_t > > & graph, @@ -332,7 +349,7 @@ Here is the call graph for this function: - std::vector< int64_t > * visited ) + std::vector< int64_t > * visited )
    @@ -356,40 +373,35 @@ Here is the call graph for this function:

    insert the neighbouring node into the queue

    if both the current node and its neighbour has the same state then it is not a bipartite graph

    return true when all the connected nodes of the current nodes are travelled and satisify all the above conditions

    + +

    Definition at line 37 of file is_graph_bipartite2.cpp.

    38 {
    -
    39 std::queue<int64_t> q; ///< stores the neighbouring node indexes in squence
    -
    40 /// of being reached
    -
    41 q.push(index); /// insert the current node into the queue
    -
    42 (*visited)[index] = 1; /// mark the current node as travelled
    +
    39 std::queue<int64_t> q;
    +
    41 q.push(index);
    +
    42 (*visited)[index] = 1;
    43 while (q.size()) {
    44 int64_t u = q.front();
    45 q.pop();
    46 for (uint64_t i = 0; i < graph[u].size(); i++) {
    47 int64_t v =
    -
    48 graph[u][i]; ///< stores the neighbour of the current node
    -
    49 if (!(*visited)[v]) /// check whether the neighbour node is
    -
    50 /// travelled already or not
    -
    51 {
    +
    48 graph[u][i];
    +
    49 if (!(*visited)[v])
    +
    51 {
    52 (*visited)[v] =
    53 ((*visited)[u] == 1)
    54 ? -1
    -
    55 : 1; /// colour the neighbouring node with
    -
    56 /// different colour than the current node
    -
    57 q.push(v); /// insert the neighbouring node into the queue
    +
    55 : 1;
    +
    57 q.push(v);
    58 } else if ((*visited)[v] ==
    -
    59 (*visited)[u]) /// if both the current node and its
    -
    60 /// neighbour has the same state then it
    -
    61 /// is not a bipartite graph
    -
    62 {
    +
    59 (*visited)[u])
    +
    62 {
    63 return false;
    64 }
    65 }
    66 }
    -
    67 return true; /// return true when all the connected nodes of the current
    -
    68 /// nodes are travelled and satisify all the above conditions
    -
    69}
    +
    67 return true;
    +
    69}
    Graph Algorithms.
    -
    @@ -402,7 +414,7 @@ Here is the call graph for this function: void graph::depth_first_search ( - const std::vector< std::vector< size_t > > & adj, + const std::vector< std::vector< size_t > > & adj, @@ -420,21 +432,16 @@ Here is the call graph for this function: + +

    Definition at line 99 of file depth_first_search.cpp.

    100 {
    -
    101 size_t vertices = adj.size();
    +
    101 size_t vertices = adj.size();
    102
    -
    103 std::vector<bool> visited(vertices, false);
    +
    103 std::vector<bool> visited(vertices, false);
    104 explore(adj, start, &visited);
    105}
    -
    void explore(const std::vector< std::vector< int > > *adj, int u, std::vector< bool > *visited)
    Utility function for depth first seach algorithm this function explores the vertex which is passed in...
    Definition connected_components.cpp:59
    -
    T size(T... args)
    - -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    void explore(const std::vector< std::vector< int > > *adj, int u, std::vector< bool > *visited)
    Utility function for depth first seach algorithm this function explores the vertex which is passed in...
    + @@ -446,7 +453,7 @@ Here is the call graph for this function: int graph::dijkstra ( - std::vector< std::vector< std::pair< int, int > > > * adj, + std::vector< std::vector< std::pair< int, int > > > * adj, @@ -480,42 +487,32 @@ Here is the call graph for this function:

    first element of pair denotes the distance

    for all the reachable vertex from the currently exploring vertex we will try to minimize the distance

    minimizing distances

    -
    66 {
    -
    67 /// n denotes the number of vertices in graph
    -
    68 int n = adj->size();
    -
    69
    -
    70 /// setting all the distances initially to INF
    -
    71 std::vector<int64_t> dist(n, INF);
    -
    72
    -
    73 /// creating a min heap using priority queue
    -
    74 /// first element of pair contains the distance
    -
    75 /// second element of pair contains the vertex
    - - + +

    Definition at line 66 of file dijkstra.cpp.

    +
    66 {
    +
    68 int n = adj->size();
    +
    69
    +
    71 std::vector<int64_t> dist(n, INF);
    +
    72
    +
    76 std::priority_queue<std::pair<int, int>, std::vector<std::pair<int, int>>,
    +
    77 std::greater<std::pair<int, int>>>
    78 pq;
    -
    79
    -
    80 /// pushing the source vertex 's' with 0 distance in min heap
    -
    81 pq.push(std::make_pair(0, s));
    -
    82
    -
    83 /// marking the distance of source as 0
    -
    84 dist[s] = 0;
    +
    79
    +
    81 pq.push(std::make_pair(0, s));
    +
    82
    +
    84 dist[s] = 0;
    85
    -
    86 while (!pq.empty()) {
    -
    87 /// second element of pair denotes the node / vertex
    -
    88 int currentNode = pq.top().second;
    -
    89
    -
    90 /// first element of pair denotes the distance
    -
    91 int currentDist = pq.top().first;
    +
    86 while (!pq.empty()) {
    +
    88 int currentNode = pq.top().second;
    +
    89
    +
    91 int currentDist = pq.top().first;
    92
    -
    93 pq.pop();
    -
    94
    -
    95 /// for all the reachable vertex from the currently exploring vertex
    -
    96 /// we will try to minimize the distance
    -
    97 for (std::pair<int, int> edge : (*adj)[currentNode]) {
    -
    98 /// minimizing distances
    -
    99 if (currentDist + edge.second < dist[edge.first]) {
    +
    93 pq.pop();
    +
    94
    +
    97 for (std::pair<int, int> edge : (*adj)[currentNode]) {
    +
    99 if (currentDist + edge.second < dist[edge.first]) {
    100 dist[edge.first] = currentDist + edge.second;
    -
    101 pq.push(std::make_pair(dist[edge.first], edge.first));
    +
    101 pq.push(std::make_pair(dist[edge.first], edge.first));
    102 }
    103 }
    104 }
    @@ -524,19 +521,7 @@ Here is the call graph for this function:
    107 }
    108 return -1;
    109}
    -
    T empty(T... args)
    - - -
    T pop(T... args)
    - -
    T push(T... args)
    -
    T top(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -548,7 +533,7 @@ Here is the call graph for this function: void graph::explore ( - const std::vector< std::vector< int > > * adj, + const std::vector< std::vector< int > > * adj, @@ -558,7 +543,7 @@ Here is the call graph for this function: - std::vector< bool > * visited ) + std::vector< bool > * visited )
    @@ -572,6 +557,8 @@ Here is the call graph for this function:
    + +

    Definition at line 59 of file connected_components.cpp.

    60 {
    61 (*visited)[u] = true;
    62 for (auto v : (*adj)[u]) {
    @@ -580,12 +567,7 @@ Here is the call graph for this function:
    65 }
    66 }
    67}
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -597,7 +579,7 @@ Here is the call graph for this function: void graph::explore ( - const std::vector< std::vector< size_t > > & adj, + const std::vector< std::vector< size_t > > & adj, @@ -607,7 +589,7 @@ Here is the call graph for this function: - std::vector< bool > * visited ) + std::vector< bool > * visited )
    @@ -621,8 +603,10 @@ Here is the call graph for this function:
    + +

    Definition at line 80 of file depth_first_search.cpp.

    81 {
    -
    82 std::cout << v + 1 << " ";
    +
    82 std::cout << v + 1 << " ";
    83 (*visited)[v] = true;
    84 for (auto x : adj[v]) {
    85 if (!(*visited)[x]) {
    @@ -630,13 +614,7 @@ Here is the call graph for this function:
    87 }
    88 }
    89}
    - -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -648,7 +626,7 @@ Here is the call graph for this function: int graph::getConnectedComponents ( - const std::vector< std::vector< int > > * adj) + const std::vector< std::vector< int > > * adj) @@ -662,10 +640,12 @@ Here is the call graph for this function:
    Returns
    connected_components number of connected components in graph.
    + +

    Definition at line 77 of file connected_components.cpp.

    77 {
    -
    78 int n = adj->size();
    +
    78 int n = adj->size();
    79 int connected_components = 0;
    -
    80 std::vector<bool> visited(n, false);
    +
    80 std::vector<bool> visited(n, false);
    81
    82 for (int i = 0; i < n; i++) {
    83 if (!visited[i]) {
    @@ -675,12 +655,7 @@ Here is the call graph for this function:
    87 }
    88 return connected_components;
    89}
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + @@ -692,7 +667,7 @@ Here is the call graph for this function: bool graph::isBipartite ( - const std::vector< std::vector< int64_t > > & graph) + const std::vector< std::vector< int64_t > > & graph) @@ -708,17 +683,15 @@ Here is the call graph for this function:
    Returns
    booleans

    < stores boolean values which signify whether that node had been visited or not

    if the current node is not visited then check whether the sub-graph of that node is a bipartite or not

    + +

    Definition at line 76 of file is_graph_bipartite2.cpp.

    76 {
    - -
    78 graph.size()); ///< stores boolean values
    -
    79 /// which signify whether that node had been visited or
    -
    80 /// not
    -
    81
    +
    77 std::vector<int64_t> visited(
    +
    78 graph.size());
    +
    81
    82 for (uint64_t i = 0; i < graph.size(); i++) {
    -
    83 if (!visited[i]) /// if the current node is not visited then check
    -
    84 /// whether the sub-graph of that node is a bipartite
    -
    85 /// or not
    -
    86 {
    +
    83 if (!visited[i])
    +
    86 {
    87 if (!checkBipartite(graph, i, &visited)) {
    88 return false;
    89 }
    @@ -726,13 +699,8 @@ Here is the call graph for this function:
    91 }
    92 return true;
    93}
    -
    bool checkBipartite(const std::vector< std::vector< int64_t > > &graph, int64_t index, std::vector< int64_t > *visited)
    function to check whether the passed graph is bipartite or not
    Definition is_graph_bipartite2.cpp:37
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    bool checkBipartite(const std::vector< std::vector< int64_t > > &graph, int64_t index, std::vector< int64_t > *visited)
    function to check whether the passed graph is bipartite or not
    + @@ -744,7 +712,7 @@ Here is the call graph for this function: int graph::TravellingSalesmanProblem ( - std::vector< std::vector< uint32_t > > * cities, + std::vector< std::vector< uint32_t > > * cities, @@ -768,48 +736,35 @@ Here is the call graph for this function: -
    42 {
    -
    43 //// vtx stores the vertexs of the graph
    - + +

    Definition at line 41 of file travelling_salesman_problem.cpp.

    +
    42 {
    +
    44 std::vector<uint32_t> vtx;
    45 for (uint32_t i = 0; i < V; i++) {
    46 if (i != src) {
    -
    47 vtx.push_back(i);
    +
    47 vtx.push_back(i);
    48 }
    49 }
    -
    50
    -
    51 //// store minimum weight Hamiltonian Cycle.
    -
    52 int32_t min_path = 2147483647;
    -
    53 do {
    -
    54 //// store current Path weight(cost)
    -
    55 int32_t curr_weight = 0;
    -
    56
    -
    57 //// compute current path weight
    -
    58 int k = src;
    +
    50
    +
    52 int32_t min_path = 2147483647;
    +
    53 do {
    +
    55 int32_t curr_weight = 0;
    +
    56
    +
    58 int k = src;
    59 for (int i : vtx) {
    60 curr_weight += (*cities)[k][i];
    61 k = i;
    62 }
    63 curr_weight += (*cities)[k][src];
    -
    64
    -
    65 //// update minimum
    -
    66 min_path = std::min(min_path, curr_weight);
    +
    64
    +
    66 min_path = std::min(min_path, curr_weight);
    67
    -
    68 } while (next_permutation(vtx.begin(), vtx.end()));
    +
    68 } while (next_permutation(vtx.begin(), vtx.end()));
    69
    70 return min_path;
    71}
    -
    T begin(T... args)
    -
    double k(double x)
    Another test function.
    Definition composite_simpson_rule.cpp:117
    -
    T end(T... args)
    -
    T min(T... args)
    -
    T next_permutation(T... args)
    -
    T push_back(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    double k(double x)
    Another test function.
    +
    diff --git a/df/dce/namespacegraph_a0e30e0dca68cb6e4f671440819b35b6a_cgraph.map b/df/dce/namespacegraph_a0e30e0dca68cb6e4f671440819b35b6a_cgraph.map deleted file mode 100644 index dc45524d9..000000000 --- a/df/dce/namespacegraph_a0e30e0dca68cb6e4f671440819b35b6a_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/df/dce/namespacegraph_a0e30e0dca68cb6e4f671440819b35b6a_cgraph.md5 b/df/dce/namespacegraph_a0e30e0dca68cb6e4f671440819b35b6a_cgraph.md5 deleted file mode 100644 index 25eb99583..000000000 --- a/df/dce/namespacegraph_a0e30e0dca68cb6e4f671440819b35b6a_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -b00dad386c3ad344f61096db0dce38d4 \ No newline at end of file diff --git a/df/dce/namespacegraph_a0e30e0dca68cb6e4f671440819b35b6a_cgraph.svg b/df/dce/namespacegraph_a0e30e0dca68cb6e4f671440819b35b6a_cgraph.svg deleted file mode 100644 index 162382fba..000000000 --- a/df/dce/namespacegraph_a0e30e0dca68cb6e4f671440819b35b6a_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -graph::addEdge - - -Node1 - - -graph::addEdge - - - - - -Node2 - - -std::make_pair - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/df/dce/namespacegraph_a0e30e0dca68cb6e4f671440819b35b6a_cgraph_org.svg b/df/dce/namespacegraph_a0e30e0dca68cb6e4f671440819b35b6a_cgraph_org.svg deleted file mode 100644 index e4ed3d22c..000000000 --- a/df/dce/namespacegraph_a0e30e0dca68cb6e4f671440819b35b6a_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -graph::addEdge - - -Node1 - - -graph::addEdge - - - - - -Node2 - - -std::make_pair - - - - - -Node1->Node2 - - - - - - - - diff --git a/df/dce/namespacegraph_a3ae80bc4c6a79d041b4f3a6589eb7fb8_cgraph.map b/df/dce/namespacegraph_a3ae80bc4c6a79d041b4f3a6589eb7fb8_cgraph.map deleted file mode 100644 index 7d11f2cad..000000000 --- a/df/dce/namespacegraph_a3ae80bc4c6a79d041b4f3a6589eb7fb8_cgraph.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/df/dce/namespacegraph_a3ae80bc4c6a79d041b4f3a6589eb7fb8_cgraph.md5 b/df/dce/namespacegraph_a3ae80bc4c6a79d041b4f3a6589eb7fb8_cgraph.md5 deleted file mode 100644 index 103ee0270..000000000 --- a/df/dce/namespacegraph_a3ae80bc4c6a79d041b4f3a6589eb7fb8_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -675573ab4b9e78c486c65bb5c30a6eff \ No newline at end of file diff --git a/df/dce/namespacegraph_a3ae80bc4c6a79d041b4f3a6589eb7fb8_cgraph.svg b/df/dce/namespacegraph_a3ae80bc4c6a79d041b4f3a6589eb7fb8_cgraph.svg deleted file mode 100644 index 9cc32cd78..000000000 --- a/df/dce/namespacegraph_a3ae80bc4c6a79d041b4f3a6589eb7fb8_cgraph.svg +++ /dev/null @@ -1,56 +0,0 @@ - - - - - - - - - - - - -graph::explore - - -Node1 - - -graph::explore - - - - - -Node1->Node1 - - - - - - - - - - - - - diff --git a/df/dce/namespacegraph_a3ae80bc4c6a79d041b4f3a6589eb7fb8_cgraph_org.svg b/df/dce/namespacegraph_a3ae80bc4c6a79d041b4f3a6589eb7fb8_cgraph_org.svg deleted file mode 100644 index dd0b1510d..000000000 --- a/df/dce/namespacegraph_a3ae80bc4c6a79d041b4f3a6589eb7fb8_cgraph_org.svg +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - -graph::explore - - -Node1 - - -graph::explore - - - - - -Node1->Node1 - - - - - - - - diff --git a/df/dce/namespacegraph_a64c1db5aad7502c6f08e4652f6edd463_cgraph.map b/df/dce/namespacegraph_a64c1db5aad7502c6f08e4652f6edd463_cgraph.map deleted file mode 100644 index 8abdf92f2..000000000 --- a/df/dce/namespacegraph_a64c1db5aad7502c6f08e4652f6edd463_cgraph.map +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/df/dce/namespacegraph_a64c1db5aad7502c6f08e4652f6edd463_cgraph.md5 b/df/dce/namespacegraph_a64c1db5aad7502c6f08e4652f6edd463_cgraph.md5 deleted file mode 100644 index 63db14bc1..000000000 --- a/df/dce/namespacegraph_a64c1db5aad7502c6f08e4652f6edd463_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -1ad0a04b415348c77d8158144d548b3a \ No newline at end of file diff --git a/df/dce/namespacegraph_a64c1db5aad7502c6f08e4652f6edd463_cgraph.svg b/df/dce/namespacegraph_a64c1db5aad7502c6f08e4652f6edd463_cgraph.svg deleted file mode 100644 index 4e0cd2ac1..000000000 --- a/df/dce/namespacegraph_a64c1db5aad7502c6f08e4652f6edd463_cgraph.svg +++ /dev/null @@ -1,74 +0,0 @@ - - - - - - - - - - - - -graph::explore - - -Node1 - - -graph::explore - - - - - -Node2 - - -graph::explore - - - - - -Node1->Node2 - - - - - - - - -Node2->Node2 - - - - - - - - - - - - - diff --git a/df/dce/namespacegraph_a64c1db5aad7502c6f08e4652f6edd463_cgraph_org.svg b/df/dce/namespacegraph_a64c1db5aad7502c6f08e4652f6edd463_cgraph_org.svg deleted file mode 100644 index a2588661a..000000000 --- a/df/dce/namespacegraph_a64c1db5aad7502c6f08e4652f6edd463_cgraph_org.svg +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - -graph::explore - - -Node1 - - -graph::explore - - - - - -Node2 - - -graph::explore - - - - - -Node1->Node2 - - - - - - - - -Node2->Node2 - - - - - - - - diff --git a/df/dce/namespacegraph_a83ab16e96cec644109a58dfc9329bc2b_cgraph.map b/df/dce/namespacegraph_a83ab16e96cec644109a58dfc9329bc2b_cgraph.map deleted file mode 100644 index 352c37d69..000000000 --- a/df/dce/namespacegraph_a83ab16e96cec644109a58dfc9329bc2b_cgraph.map +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/df/dce/namespacegraph_a83ab16e96cec644109a58dfc9329bc2b_cgraph.md5 b/df/dce/namespacegraph_a83ab16e96cec644109a58dfc9329bc2b_cgraph.md5 deleted file mode 100644 index ad53fb8b9..000000000 --- a/df/dce/namespacegraph_a83ab16e96cec644109a58dfc9329bc2b_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -e5519b4e4ad515e239ffd9c3919c33b2 \ No newline at end of file diff --git a/df/dce/namespacegraph_a83ab16e96cec644109a58dfc9329bc2b_cgraph.svg b/df/dce/namespacegraph_a83ab16e96cec644109a58dfc9329bc2b_cgraph.svg deleted file mode 100644 index 7af282aa5..000000000 --- a/df/dce/namespacegraph_a83ab16e96cec644109a58dfc9329bc2b_cgraph.svg +++ /dev/null @@ -1,92 +0,0 @@ - - - - - - - - - - - - -graph::getConnectedComponents - - -Node1 - - -graph::getConnectedComponents - - - - - -Node2 - - -graph::explore - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::vector::size - - - - - -Node1->Node3 - - - - - - - - -Node2->Node2 - - - - - - - - - - - - - diff --git a/df/dce/namespacegraph_a83ab16e96cec644109a58dfc9329bc2b_cgraph_org.svg b/df/dce/namespacegraph_a83ab16e96cec644109a58dfc9329bc2b_cgraph_org.svg deleted file mode 100644 index 8b6456650..000000000 --- a/df/dce/namespacegraph_a83ab16e96cec644109a58dfc9329bc2b_cgraph_org.svg +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - -graph::getConnectedComponents - - -Node1 - - -graph::getConnectedComponents - - - - - -Node2 - - -graph::explore - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::vector::size - - - - - -Node1->Node3 - - - - - - - - -Node2->Node2 - - - - - - - - diff --git a/df/dce/namespacegraph_a84b0551489c613a681cc83b34450da4b_cgraph.map b/df/dce/namespacegraph_a84b0551489c613a681cc83b34450da4b_cgraph.map deleted file mode 100644 index b1874eafb..000000000 --- a/df/dce/namespacegraph_a84b0551489c613a681cc83b34450da4b_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/df/dce/namespacegraph_a84b0551489c613a681cc83b34450da4b_cgraph.md5 b/df/dce/namespacegraph_a84b0551489c613a681cc83b34450da4b_cgraph.md5 deleted file mode 100644 index 4fe470281..000000000 --- a/df/dce/namespacegraph_a84b0551489c613a681cc83b34450da4b_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -950f9d0235ed52479cbfd22350523221 \ No newline at end of file diff --git a/df/dce/namespacegraph_a84b0551489c613a681cc83b34450da4b_cgraph.svg b/df/dce/namespacegraph_a84b0551489c613a681cc83b34450da4b_cgraph.svg deleted file mode 100644 index f525d6666..000000000 --- a/df/dce/namespacegraph_a84b0551489c613a681cc83b34450da4b_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -graph::isBipartite - - -Node1 - - -graph::isBipartite - - - - - -Node2 - - -graph::checkBipartite - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/df/dce/namespacegraph_a84b0551489c613a681cc83b34450da4b_cgraph_org.svg b/df/dce/namespacegraph_a84b0551489c613a681cc83b34450da4b_cgraph_org.svg deleted file mode 100644 index fb6ec7c86..000000000 --- a/df/dce/namespacegraph_a84b0551489c613a681cc83b34450da4b_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -graph::isBipartite - - -Node1 - - -graph::isBipartite - - - - - -Node2 - - -graph::checkBipartite - - - - - -Node1->Node2 - - - - - - - - diff --git a/df/dce/namespacegraph_ab5428a3519267a28bba4b4310cfbb6ae_cgraph.map b/df/dce/namespacegraph_ab5428a3519267a28bba4b4310cfbb6ae_cgraph.map deleted file mode 100644 index cf5c7ab49..000000000 --- a/df/dce/namespacegraph_ab5428a3519267a28bba4b4310cfbb6ae_cgraph.map +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/df/dce/namespacegraph_ab5428a3519267a28bba4b4310cfbb6ae_cgraph.md5 b/df/dce/namespacegraph_ab5428a3519267a28bba4b4310cfbb6ae_cgraph.md5 deleted file mode 100644 index 44a7b0130..000000000 --- a/df/dce/namespacegraph_ab5428a3519267a28bba4b4310cfbb6ae_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -77aa3edb5da1f45515c4d9e8c6f53406 \ No newline at end of file diff --git a/df/dce/namespacegraph_ab5428a3519267a28bba4b4310cfbb6ae_cgraph.svg b/df/dce/namespacegraph_ab5428a3519267a28bba4b4310cfbb6ae_cgraph.svg deleted file mode 100644 index 8bbd12120..000000000 --- a/df/dce/namespacegraph_ab5428a3519267a28bba4b4310cfbb6ae_cgraph.svg +++ /dev/null @@ -1,93 +0,0 @@ - - - - - - - - - - - - -graph::depth_first_search - - -Node1 - - -graph::depth_first -_search - - - - - -Node2 - - -graph::explore - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::vector::size - - - - - -Node1->Node3 - - - - - - - - -Node2->Node2 - - - - - - - - - - - - - diff --git a/df/dce/namespacegraph_ab5428a3519267a28bba4b4310cfbb6ae_cgraph_org.svg b/df/dce/namespacegraph_ab5428a3519267a28bba4b4310cfbb6ae_cgraph_org.svg deleted file mode 100644 index dc881c9e0..000000000 --- a/df/dce/namespacegraph_ab5428a3519267a28bba4b4310cfbb6ae_cgraph_org.svg +++ /dev/null @@ -1,67 +0,0 @@ - - - - - - -graph::depth_first_search - - -Node1 - - -graph::depth_first -_search - - - - - -Node2 - - -graph::explore - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::vector::size - - - - - -Node1->Node3 - - - - - - - - -Node2->Node2 - - - - - - - - diff --git a/df/dce/namespacegraph_ab7706341d006e20d1ae58274187a3346_cgraph.map b/df/dce/namespacegraph_ab7706341d006e20d1ae58274187a3346_cgraph.map deleted file mode 100644 index 3727b041b..000000000 --- a/df/dce/namespacegraph_ab7706341d006e20d1ae58274187a3346_cgraph.map +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/df/dce/namespacegraph_ab7706341d006e20d1ae58274187a3346_cgraph.md5 b/df/dce/namespacegraph_ab7706341d006e20d1ae58274187a3346_cgraph.md5 deleted file mode 100644 index 62124bb38..000000000 --- a/df/dce/namespacegraph_ab7706341d006e20d1ae58274187a3346_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -cb47a93220ea9c21e39f3c1848af5dbf \ No newline at end of file diff --git a/df/dce/namespacegraph_ab7706341d006e20d1ae58274187a3346_cgraph.svg b/df/dce/namespacegraph_ab7706341d006e20d1ae58274187a3346_cgraph.svg deleted file mode 100644 index 3b39f3033..000000000 --- a/df/dce/namespacegraph_ab7706341d006e20d1ae58274187a3346_cgraph.svg +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - - - - - - - -graph::TravellingSalesmanProblem - - -Node1 - - -graph::TravellingSalesman -Problem - - - - - -Node2 - - -std::vector::begin - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::vector::end - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::min - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::vector::push_back - - - - - -Node1->Node5 - - - - - - - - - - - - - diff --git a/df/dce/namespacegraph_ab7706341d006e20d1ae58274187a3346_cgraph_org.svg b/df/dce/namespacegraph_ab7706341d006e20d1ae58274187a3346_cgraph_org.svg deleted file mode 100644 index df04df8f6..000000000 --- a/df/dce/namespacegraph_ab7706341d006e20d1ae58274187a3346_cgraph_org.svg +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - -graph::TravellingSalesmanProblem - - -Node1 - - -graph::TravellingSalesman -Problem - - - - - -Node2 - - -std::vector::begin - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::vector::end - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::min - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::vector::push_back - - - - - -Node1->Node5 - - - - - - - - diff --git a/df/dce/namespacegraph_adc68cbc8ba09eb1142265935c0d45b84_cgraph.map b/df/dce/namespacegraph_adc68cbc8ba09eb1142265935c0d45b84_cgraph.map deleted file mode 100644 index c91811a44..000000000 --- a/df/dce/namespacegraph_adc68cbc8ba09eb1142265935c0d45b84_cgraph.map +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/df/dce/namespacegraph_adc68cbc8ba09eb1142265935c0d45b84_cgraph.md5 b/df/dce/namespacegraph_adc68cbc8ba09eb1142265935c0d45b84_cgraph.md5 deleted file mode 100644 index f5218f006..000000000 --- a/df/dce/namespacegraph_adc68cbc8ba09eb1142265935c0d45b84_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -855e56c99675b63f73abd12c0a226174 \ No newline at end of file diff --git a/df/dce/namespacegraph_adc68cbc8ba09eb1142265935c0d45b84_cgraph.svg b/df/dce/namespacegraph_adc68cbc8ba09eb1142265935c0d45b84_cgraph.svg deleted file mode 100644 index 93a51037c..000000000 --- a/df/dce/namespacegraph_adc68cbc8ba09eb1142265935c0d45b84_cgraph.svg +++ /dev/null @@ -1,157 +0,0 @@ - - - - - - - - - - - - -graph::dijkstra - - -Node1 - - -graph::dijkstra - - - - - -Node2 - - -std::priority_queue -::empty - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::make_pair - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::priority_queue::pop - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::priority_queue -::push - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -std::vector::size - - - - - -Node1->Node6 - - - - - - - - -Node7 - - -std::priority_queue::top - - - - - -Node1->Node7 - - - - - - - - - - - - - diff --git a/df/dce/namespacegraph_adc68cbc8ba09eb1142265935c0d45b84_cgraph_org.svg b/df/dce/namespacegraph_adc68cbc8ba09eb1142265935c0d45b84_cgraph_org.svg deleted file mode 100644 index c17311476..000000000 --- a/df/dce/namespacegraph_adc68cbc8ba09eb1142265935c0d45b84_cgraph_org.svg +++ /dev/null @@ -1,131 +0,0 @@ - - - - - - -graph::dijkstra - - -Node1 - - -graph::dijkstra - - - - - -Node2 - - -std::priority_queue -::empty - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::make_pair - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -std::priority_queue::pop - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -std::priority_queue -::push - - - - - -Node1->Node5 - - - - - - - - -Node6 - - -std::vector::size - - - - - -Node1->Node6 - - - - - - - - -Node7 - - -std::priority_queue::top - - - - - -Node1->Node7 - - - - - - - - diff --git a/df/dd0/queue__using__two__stacks_8cpp.html b/df/dd0/queue__using__two__stacks_8cpp.html index 7d3429b33..431d8d46f 100644 --- a/df/dd0/queue__using__two__stacks_8cpp.html +++ b/df/dd0/queue__using__two__stacks_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: data_structures/queue_using_two_stacks.cpp File Reference +TheAlgorithms/C++: data_structures/queue_using_two_stacks.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -117,7 +134,9 @@ Include dependency graph for queue_using_two_stacks.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -128,6 +147,8 @@ Functions

    Detailed Description

    Author
    shoniavika

    Implementation of a Queue using two Stacks.

    + +

    Definition in file queue_using_two_stacks.cpp.

    Function Documentation

    ◆ main()

    @@ -144,17 +165,14 @@ Functions

    Functions

    void queue_test ()

    Main function, calls testing function

    + +

    Definition at line 141 of file queue_using_two_stacks.cpp.

    141 {
    142 queue_test();
    143 return 0;
    144}
    -
    void queue_test()
    Definition queue_using_two_stacks.cpp:101
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    void queue_test()
    +
    @@ -172,9 +190,11 @@ Here is the call graph for this function:

    Testing function

    + +

    Definition at line 101 of file queue_using_two_stacks.cpp.

    101 {
    102 MyQueue<int> que;
    -
    103 std::cout << "Test #1\n";
    +
    103 std::cout << "Test #1\n";
    104 que.push(2);
    105 que.push(5);
    106 que.push(0);
    @@ -185,17 +205,17 @@ Here is the call graph for this function:
    111 assert(que.peek() == 0);
    112 assert(que.pop() == 0);
    113 assert(que.empty() == true);
    -
    114 std::cout << "PASSED\n";
    +
    114 std::cout << "PASSED\n";
    115
    -
    116 std::cout << "Test #2\n";
    +
    116 std::cout << "Test #2\n";
    117 que.push(-1);
    118 assert(que.empty() == false);
    119 assert(que.peek() == -1);
    120 assert(que.pop() == -1);
    -
    121 std::cout << "PASSED\n";
    +
    121 std::cout << "PASSED\n";
    122
    123 MyQueue<double> que2;
    -
    124 std::cout << "Test #3\n";
    +
    124 std::cout << "Test #3\n";
    125 que2.push(2.31223);
    126 que2.push(3.1415926);
    127 que2.push(2.92);
    @@ -206,9 +226,8 @@ Here is the call graph for this function:
    132 assert(que2.pop() == 3.1415926);
    133 assert(que2.peek() == 2.92);
    134 assert(que2.pop() == 2.92);
    -
    135 std::cout << "PASSED\n";
    +
    135 std::cout << "PASSED\n";
    136}
    - diff --git a/df/dd0/queue__using__two__stacks_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/df/dd0/queue__using__two__stacks_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 51cc03152..000000000 --- a/df/dd0/queue__using__two__stacks_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/df/dd0/queue__using__two__stacks_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/df/dd0/queue__using__two__stacks_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index 53113211d..000000000 --- a/df/dd0/queue__using__two__stacks_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -32e32581d5ee380ba5616c3611fc7546 \ No newline at end of file diff --git a/df/dd0/queue__using__two__stacks_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/df/dd0/queue__using__two__stacks_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 11234a5bf..000000000 --- a/df/dd0/queue__using__two__stacks_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -queue_test - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/df/dd0/queue__using__two__stacks_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/df/dd0/queue__using__two__stacks_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 3a7b85f8a..000000000 --- a/df/dd0/queue__using__two__stacks_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -queue_test - - - - - -Node1->Node2 - - - - - - - - diff --git a/df/dd0/queue__using__two__stacks_8cpp_source.html b/df/dd0/queue__using__two__stacks_8cpp_source.html new file mode 100644 index 000000000..c3a578675 --- /dev/null +++ b/df/dd0/queue__using__two__stacks_8cpp_source.html @@ -0,0 +1,242 @@ + + + + + + + + +TheAlgorithms/C++: data_structures/queue_using_two_stacks.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    queue_using_two_stacks.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    8#include <cassert>
    +
    9#include <iostream>
    +
    10#include <stack>
    +
    11
    +
    12namespace {
    +
    18template <typename T>
    +
    19class MyQueue {
    +
    20 private:
    +
    21 std::stack<T> s1, s2;
    +
    22
    +
    23 public:
    +
    27 MyQueue() = default;
    +
    28
    +
    32 void push(T x);
    +
    33
    +
    37 const T& pop();
    +
    38
    +
    42 const T& peek() const;
    +
    43
    +
    47 bool empty() const;
    +
    48};
    +
    49
    +
    53template <typename T>
    +
    54void MyQueue<T>::push(T x) {
    +
    55 while (!s2.empty()) {
    +
    56 s1.push(s2.top());
    +
    57 s2.pop();
    +
    58 }
    +
    59 s2.push(x);
    +
    60 while (!s1.empty()) {
    +
    61 s2.push(s1.top());
    +
    62 s1.pop();
    +
    63 }
    +
    64}
    +
    65
    +
    69template <typename T>
    +
    70const T& MyQueue<T>::pop() {
    +
    71 const T& temp = MyQueue::peek();
    +
    72 s2.pop();
    +
    73 return temp;
    +
    74}
    +
    75
    +
    80template <typename T>
    +
    81const T& MyQueue<T>::peek() const {
    +
    82 if (!empty()) {
    +
    83 return s2.top();
    +
    84 }
    +
    85 std::cerr << "Queue is empty" << std::endl;
    +
    86 exit(0);
    +
    87}
    +
    88
    +
    92template <typename T>
    +
    93bool MyQueue<T>::empty() const {
    +
    94 return s2.empty() && s1.empty();
    +
    95}
    +
    96} // namespace
    +
    97
    +
    + +
    102 MyQueue<int> que;
    +
    103 std::cout << "Test #1\n";
    +
    104 que.push(2);
    +
    105 que.push(5);
    +
    106 que.push(0);
    +
    107 assert(que.peek() == 2);
    +
    108 assert(que.pop() == 2);
    +
    109 assert(que.peek() == 5);
    +
    110 assert(que.pop() == 5);
    +
    111 assert(que.peek() == 0);
    +
    112 assert(que.pop() == 0);
    +
    113 assert(que.empty() == true);
    +
    114 std::cout << "PASSED\n";
    +
    115
    +
    116 std::cout << "Test #2\n";
    +
    117 que.push(-1);
    +
    118 assert(que.empty() == false);
    +
    119 assert(que.peek() == -1);
    +
    120 assert(que.pop() == -1);
    +
    121 std::cout << "PASSED\n";
    +
    122
    +
    123 MyQueue<double> que2;
    +
    124 std::cout << "Test #3\n";
    +
    125 que2.push(2.31223);
    +
    126 que2.push(3.1415926);
    +
    127 que2.push(2.92);
    +
    128
    +
    129 assert(que2.peek() == 2.31223);
    +
    130 assert(que2.pop() == 2.31223);
    +
    131 assert(que2.peek() == 3.1415926);
    +
    132 assert(que2.pop() == 3.1415926);
    +
    133 assert(que2.peek() == 2.92);
    +
    134 assert(que2.pop() == 2.92);
    +
    135 std::cout << "PASSED\n";
    +
    136}
    +
    +
    137
    +
    +
    141int main() {
    +
    142 queue_test();
    +
    143 return 0;
    +
    144}
    +
    +
    void queue_test()
    + +
    +
    + + + + diff --git a/df/dd5/binary__search_8cpp_source.html b/df/dd5/binary__search_8cpp_source.html new file mode 100644 index 000000000..5401778a0 --- /dev/null +++ b/df/dd5/binary__search_8cpp_source.html @@ -0,0 +1,294 @@ + + + + + + + + +TheAlgorithms/C++: search/binary_search.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    binary_search.cpp
    +
    +
    +
    1/******************************************************************************
    +
    2 * @file
    +
    3 * @brief [Binary search
    +
    4 * algorithm](https://en.wikipedia.org/wiki/Binary_search_algorithm)
    +
    5 * @details
    +
    6 * Binary search is a search algorithm that finds the position of a target value
    +
    7 * within a sorted array.Just like looking for a word in a dictionary, in binary search we compare the target value to the middle
    +
    8 * element of the array. If they are not equal, then the half in which the target
    +
    9 * cannot lie is eliminated and the search continues on the remaining half,
    +
    10 * again taking the middle element to compare to the target value, and repeating
    +
    11 * this until the target value is found. If the search ends with the remaining
    +
    12 * half being empty, the target is not in the array.
    +
    13 *
    +
    14 * ### Implementation
    +
    15 *
    +
    16 * Binary search works on sorted arrays. It begins by comparing an
    +
    17 * element in the middle of the array with the target value. If the target value
    +
    18 * matches the element, its position in the array is returned. If the target
    +
    19 * value is less than the element, the search continues in the lower half of
    +
    20 * the array. If the target value is greater than the element, the search
    +
    21 * continues in the upper half of the array. By doing this, the algorithm
    +
    22 * eliminates the half in which the target value cannot lie in each iteration.
    +
    23 *
    +
    24 * ### Complexities
    +
    25 *
    +
    26 * //n is the number of element in the array.
    +
    27 *
    +
    28 * Worst-case time complexity O(log n)
    +
    29 * Best-case time complexity O(1)
    +
    30 * Average time complexity O(log n)
    +
    31 * space complexity 0(1)
    +
    32 * Worst-case space complexity 0(1)
    +
    33 *
    +
    34 * @author [Lajat Manekar](https://github.com/Lazeeez)
    +
    35 * @author Unknown author
    +
    36 *******************************************************************************/
    +
    37
    +
    38#include <algorithm>
    +
    39#include <cassert>
    +
    40#include <cstdint>
    +
    41#include <iostream>
    +
    42#include <vector>
    +
    43/******************************************************************************
    +
    44 * @namespace search
    +
    45 * @brief Searching algorithms
    +
    46 *******************************************************************************/
    +
    +
    47namespace search {
    +
    48
    +
    49/******************************************************************************
    +
    50 * @namespace binary_search
    +
    51 * @brief Binary search searching algorihm
    +
    52 *******************************************************************************/
    +
    53namespace binary_search {
    +
    54
    +
    55/******************************************************************************
    +
    56 * @brief The main function which implements binary search
    +
    57 * @param arr vector to be searched in
    +
    58 * @param val value to be searched
    +
    59 * @returns @param int index of val in vector arr
    +
    60 *******************************************************************************/
    +
    61uint64_t binarySearch(std::vector<uint64_t> arr, uint64_t val) {
    +
    62 uint64_t low = 0; // set the lowest point of the vector.
    +
    63 uint64_t high = arr.size() - 1; // set the highest point of the vector.
    +
    64
    +
    65 while (low <= high) {
    +
    66 uint64_t m = low + (high - low) / 2; // set the pivot point
    +
    67
    +
    68 if (val == arr[m]) {
    +
    69 return m;
    +
    70 } /****************************************************
    +
    71 * if pivot point is the val, return it,
    +
    72 * else check if val is greater or smaller than pivot value
    +
    73 * and set the next pivot point accordingly.
    +
    74 ****************************************************/
    +
    75 else if (val < arr[m]) {
    +
    76 high = m - 1;
    +
    77 } else {
    +
    78 low = m + 1;
    +
    79 }
    +
    80 }
    +
    81 return -1; // if val is not in the array, return -1.
    +
    82}
    +
    83
    +
    84} // namespace binary_search
    +
    85
    +
    86} // namespace search
    +
    +
    87
    +
    88/*******************************************************************************
    +
    89 * @brief Self-test implementation #1
    +
    90 * @returns void
    +
    91 *******************************************************************************/
    +
    92static void test1() {
    +
    93 // testcase #1
    +
    94 // array = [1,3,5,7,9,8,6,4,2] , Value = 4
    +
    95 // should return 3
    +
    96
    +
    97 std::vector<uint64_t> arr = {{1, 3, 5, 7, 9, 8, 6, 4, 2}};
    +
    98 std::sort(arr.begin(), arr.end());
    +
    99 uint64_t expected_ans = 3;
    +
    100 uint64_t derived_ans = search::binary_search::binarySearch(arr, 4);
    +
    101 std::cout << "Test #1: ";
    +
    102 assert(derived_ans == expected_ans);
    +
    103 std::cout << "Passed!" << std::endl;
    +
    104}
    +
    105
    +
    106/*******************************************************************************
    +
    107 * @brief Self-test implementation #2
    +
    108 * @returns void
    +
    109 *******************************************************************************/
    +
    110void test2() {
    +
    111 // testcase #2
    +
    112 // array = [1,23,25,4,2] , Value = 25
    +
    113 // should return 4
    +
    114 std::vector<uint64_t> arr = {{1, 23, 25, 4, 2}};
    +
    115 std::sort(arr.begin(), arr.end());
    +
    116 uint64_t expected_ans = 4;
    +
    117 uint64_t derived_ans = search::binary_search::binarySearch(arr, 25);
    +
    118 std::cout << "Test #2: ";
    +
    119 assert(derived_ans == expected_ans);
    +
    120 std::cout << "Passed!" << std::endl;
    +
    121}
    +
    122
    +
    123/*******************************************************************************
    +
    124 * @brief Self-test implementation #3
    +
    125 * @returns void
    +
    126 *******************************************************************************/
    +
    127void test3() {
    +
    128 // testcase #3
    +
    129 // array = [1,31,231,12,12,2,5,51,21,23,12,3] , Value = 5
    +
    130 // should return 8
    +
    131 std::vector<uint64_t> arr = {{1, 31, 231, 12, 2, 5, 51, 21, 23, 12, 3}};
    +
    132 std::sort(arr.begin(), arr.end());
    +
    133 uint64_t expected_ans = 8;
    +
    134 uint64_t derived_ans = search::binary_search::binarySearch(arr, 31);
    +
    135 std::cout << "Test #3: ";
    +
    136 assert(derived_ans == expected_ans);
    +
    137 std::cout << "Passed!" << std::endl;
    +
    138}
    +
    139
    +
    140/*******************************************************************************
    +
    141 * @brief Main function
    +
    142 * @returns 0 on exit
    +
    143 *******************************************************************************/
    +
    144int main() {
    +
    145 test1(); // run self-test implementation #1
    +
    146 test2(); // run self-test implementation #2
    +
    147 test3(); // run self-test implementation #3
    +
    148
    +
    149 return 0;
    +
    150}
    +
    void test3(double eta=0.01)
    +
    int main()
    Main function.
    +
    void test2(const std::string &text)
    Self test 2 - using 8x8 randomly generated key.
    +
    void test1(const std::string &text)
    Self test 1 - using 3x3 randomly generated key.
    +
    for std::assert
    +
    +
    + + + + diff --git a/df/dd7/structlinkedlist-members.html b/df/dd7/structlinkedlist-members.html index 2d2667b07..5d48a06b2 100644 --- a/df/dd7/structlinkedlist-members.html +++ b/df/dd7/structlinkedlist-members.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Member List +TheAlgorithms/C++: Member List + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/df/ddb/structdata__structures_1_1treap_1_1_treap-members.html b/df/ddb/structdata__structures_1_1treap_1_1_treap-members.html index ae531e1cf..0515eea98 100644 --- a/df/ddb/structdata__structures_1_1treap_1_1_treap-members.html +++ b/df/ddb/structdata__structures_1_1treap_1_1_treap-members.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Member List +TheAlgorithms/C++: Member List + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/df/ddc/struct_node__coll__graph.map b/df/ddc/struct_node__coll__graph.map index 9142a821d..560cb8408 100644 --- a/df/ddc/struct_node__coll__graph.map +++ b/df/ddc/struct_node__coll__graph.map @@ -1,6 +1,6 @@ - + diff --git a/df/ddc/struct_node__coll__graph.md5 b/df/ddc/struct_node__coll__graph.md5 index 0c56d973e..338aba061 100644 --- a/df/ddc/struct_node__coll__graph.md5 +++ b/df/ddc/struct_node__coll__graph.md5 @@ -1 +1 @@ -e264eaed2b1f629691284c1caf0a1d32 \ No newline at end of file +63d73f0fc58ea5140cde16b4e60e46d3 \ No newline at end of file diff --git a/df/ddc/struct_node__coll__graph.svg b/df/ddc/struct_node__coll__graph.svg index 7c0c6ecb6..7a59659ba 100644 --- a/df/ddc/struct_node__coll__graph.svg +++ b/df/ddc/struct_node__coll__graph.svg @@ -31,7 +31,7 @@ Node2 - + std::shared_ptr< Node < ValueType > > diff --git a/df/ddc/struct_node__coll__graph_org.svg b/df/ddc/struct_node__coll__graph_org.svg index dba9b6587..bd7344952 100644 --- a/df/ddc/struct_node__coll__graph_org.svg +++ b/df/ddc/struct_node__coll__graph_org.svg @@ -20,7 +20,7 @@ Node2 - + std::shared_ptr< Node < ValueType > > diff --git a/df/ddd/connected__components_8cpp.html b/df/ddd/connected__components_8cpp.html index e807b6cbb..c4c39dff7 100644 --- a/df/ddd/connected__components_8cpp.html +++ b/df/ddd/connected__components_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: graph/connected_components.cpp File Reference +TheAlgorithms/C++: graph/connected_components.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + @@ -122,7 +139,9 @@ Include dependency graph for connected_components.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -131,13 +150,13 @@ Namespaces

    Namespaces

    namespace  graph
    - + - + - + @@ -158,7 +177,9 @@ Example - Here is graph with 3 connected components first second third component component component -

    Function Documentation

    + +

    Definition in file connected_components.cpp.

    +

    Function Documentation

    ◆ main()

    @@ -175,41 +196,33 @@ Example - Here is graph with 3 connected components

    Main function

    running predefined tests

    -
    127 {
    -
    128 /// running predefined tests
    -
    129 tests();
    + +

    Definition at line 127 of file connected_components.cpp.

    +
    127 {
    +
    129 tests();
    130
    131 int vertices = int(), edges = int();
    -
    132 std::cout << "Enter the number of vertices : ";
    -
    133 std::cin >> vertices;
    -
    134 std::cout << "Enter the number of edges : ";
    -
    135 std::cin >> edges;
    +
    132 std::cout << "Enter the number of vertices : ";
    +
    133 std::cin >> vertices;
    +
    134 std::cout << "Enter the number of edges : ";
    +
    135 std::cin >> edges;
    136
    - +
    137 std::vector<std::vector<int>> adj(vertices, std::vector<int>());
    138
    139 int u = int(), v = int();
    140 while (edges--) {
    -
    141 std::cin >> u >> v;
    +
    141 std::cin >> u >> v;
    142 graph::addEdge(&adj, u, v);
    143 }
    144
    145 int cc = graph::getConnectedComponents(&adj);
    -
    146 std::cout << cc << std::endl;
    +
    146 std::cout << cc << std::endl;
    147 return 0;
    148}
    - - -
    void tests()
    Definition connected_components.cpp:93
    -
    T endl(T... args)
    -
    int getConnectedComponents(const std::vector< std::vector< int > > *adj)
    Function that perfoms depth first search algorithm on graph and calculated the number of connected co...
    Definition connected_components.cpp:77
    -
    void addEdge(std::vector< std::vector< int > > *adj, int u, int v)
    Function that add edge between two nodes or vertices of graph.
    Definition connected_components.cpp:46
    - -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    void tests()
    +
    int getConnectedComponents(const std::vector< std::vector< int > > *adj)
    Function that perfoms depth first search algorithm on graph and calculated the number of connected co...
    +
    void addEdge(std::vector< std::vector< int > > *adj, int u, int v)
    Function that add edge between two nodes or vertices of graph.
    +
    @@ -227,10 +240,12 @@ Here is the call graph for this function:

    Functions

    void graph::addEdge (std::vector< std::vector< int > > *adj, int u, int v)
    void graph::addEdge (std::vector< std::vector< int > > *adj, int u, int v)
     Function that add edge between two nodes or vertices of graph.
     
    void graph::explore (const std::vector< std::vector< int > > *adj, int u, std::vector< bool > *visited)
    void graph::explore (const std::vector< std::vector< int > > *adj, int u, std::vector< bool > *visited)
     Utility function for depth first seach algorithm this function explores the vertex which is passed into.
     
    int graph::getConnectedComponents (const std::vector< std::vector< int > > *adj)
    int graph::getConnectedComponents (const std::vector< std::vector< int > > *adj)
     Function that perfoms depth first search algorithm on graph and calculated the number of connected components.
     
    void tests ()

    Function to test the algorithm

    + +

    Definition at line 93 of file connected_components.cpp.

    93 {
    -
    94 std::cout << "Running predefined tests..." << std::endl;
    -
    95 std::cout << "Initiating Test 1..." << std::endl;
    - +
    94 std::cout << "Running predefined tests..." << std::endl;
    +
    95 std::cout << "Initiating Test 1..." << std::endl;
    +
    96 std::vector<std::vector<int>> adj1(9, std::vector<int>());
    97 graph::addEdge(&adj1, 1, 2);
    98 graph::addEdge(&adj1, 1, 3);
    99 graph::addEdge(&adj1, 3, 4);
    @@ -239,10 +254,10 @@ Here is the call graph for this function:
    102 graph::addEdge(&adj1, 8, 9);
    103
    104 assert(graph::getConnectedComponents(&adj1) == 3);
    -
    105 std::cout << "Test 1 Passed..." << std::endl;
    +
    105 std::cout << "Test 1 Passed..." << std::endl;
    106
    -
    107 std::cout << "Innitiating Test 2..." << std::endl;
    - +
    107 std::cout << "Innitiating Test 2..." << std::endl;
    +
    108 std::vector<std::vector<int>> adj2(10, std::vector<int>());
    109 graph::addEdge(&adj2, 1, 2);
    110 graph::addEdge(&adj2, 1, 3);
    111 graph::addEdge(&adj2, 1, 4);
    @@ -257,14 +272,9 @@ Here is the call graph for this function:
    120 graph::addEdge(&adj2, 6, 7);
    121
    122 assert(graph::getConnectedComponents(&adj2) == 2);
    -
    123 std::cout << "Test 2 Passed..." << std::endl;
    +
    123 std::cout << "Test 2 Passed..." << std::endl;
    124}
    -
    -Here is the call graph for this function:
    -
    -
    -
    - + diff --git a/df/ddd/connected__components_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph.map b/df/ddd/connected__components_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph.map deleted file mode 100644 index 71aa6b638..000000000 --- a/df/ddd/connected__components_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph.map +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - - - - - diff --git a/df/ddd/connected__components_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph.md5 b/df/ddd/connected__components_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph.md5 deleted file mode 100644 index 4fffff082..000000000 --- a/df/ddd/connected__components_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -ce9123d675422e0f6d8bc9543678e05d \ No newline at end of file diff --git a/df/ddd/connected__components_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph.svg b/df/ddd/connected__components_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph.svg deleted file mode 100644 index 0ba101bda..000000000 --- a/df/ddd/connected__components_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph.svg +++ /dev/null @@ -1,146 +0,0 @@ - - - - - - - - - - - - -tests - - -Node1 - - -tests - - - - - -Node2 - - -graph::addEdge - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -graph::getConnectedComponents - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -graph::explore - - - - - -Node4->Node5 - - - - - - - - -Node6 - - -std::vector::size - - - - - -Node4->Node6 - - - - - - - - -Node5->Node5 - - - - - - - - - - - - - diff --git a/df/ddd/connected__components_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph_org.svg b/df/ddd/connected__components_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph_org.svg deleted file mode 100644 index 418ee16ca..000000000 --- a/df/ddd/connected__components_8cpp_a88ec9ad42717780d6caaff9d3d6977f9_cgraph_org.svg +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - -tests - - -Node1 - - -tests - - - - - -Node2 - - -graph::addEdge - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -graph::getConnectedComponents - - - - - -Node1->Node4 - - - - - - - - -Node5 - - -graph::explore - - - - - -Node4->Node5 - - - - - - - - -Node6 - - -std::vector::size - - - - - -Node4->Node6 - - - - - - - - -Node5->Node5 - - - - - - - - diff --git a/df/ddd/connected__components_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/df/ddd/connected__components_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 1c39998c8..000000000 --- a/df/ddd/connected__components_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - - - - - - - - - - diff --git a/df/ddd/connected__components_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/df/ddd/connected__components_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index 47dd8206b..000000000 --- a/df/ddd/connected__components_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -c0d479d766f2b8778d6accfacb3568a3 \ No newline at end of file diff --git a/df/ddd/connected__components_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/df/ddd/connected__components_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index b6fe7de0e..000000000 --- a/df/ddd/connected__components_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,191 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -graph::addEdge - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -graph::getConnectedComponents - - - - - -Node1->Node4 - - - - - - - - -Node7 - - -tests - - - - - -Node1->Node7 - - - - - - - - -Node5 - - -graph::explore - - - - - -Node4->Node5 - - - - - - - - -Node6 - - -std::vector::size - - - - - -Node4->Node6 - - - - - - - - -Node5->Node5 - - - - - - - - -Node7->Node2 - - - - - - - - -Node7->Node3 - - - - - - - - -Node7->Node4 - - - - - - - - - - - - - diff --git a/df/ddd/connected__components_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/df/ddd/connected__components_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index e1e44764b..000000000 --- a/df/ddd/connected__components_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,165 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -graph::addEdge - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::endl - - - - - -Node1->Node3 - - - - - - - - -Node4 - - -graph::getConnectedComponents - - - - - -Node1->Node4 - - - - - - - - -Node7 - - -tests - - - - - -Node1->Node7 - - - - - - - - -Node5 - - -graph::explore - - - - - -Node4->Node5 - - - - - - - - -Node6 - - -std::vector::size - - - - - -Node4->Node6 - - - - - - - - -Node5->Node5 - - - - - - - - -Node7->Node2 - - - - - - - - -Node7->Node3 - - - - - - - - -Node7->Node4 - - - - - - - - diff --git a/df/ddd/connected__components_8cpp_source.html b/df/ddd/connected__components_8cpp_source.html new file mode 100644 index 000000000..49350c3c7 --- /dev/null +++ b/df/ddd/connected__components_8cpp_source.html @@ -0,0 +1,244 @@ + + + + + + + + +TheAlgorithms/C++: graph/connected_components.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    connected_components.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    28#include <algorithm>
    +
    29#include <cassert>
    +
    30#include <iostream>
    +
    31#include <vector>
    +
    32
    +
    38namespace graph {
    +
    +
    46void addEdge(std::vector<std::vector<int>> *adj, int u, int v) {
    +
    47 (*adj)[u - 1].push_back(v - 1);
    +
    48 (*adj)[v - 1].push_back(u - 1);
    +
    49}
    +
    +
    50
    +
    +
    59void explore(const std::vector<std::vector<int>> *adj, int u,
    +
    60 std::vector<bool> *visited) {
    +
    61 (*visited)[u] = true;
    +
    62 for (auto v : (*adj)[u]) {
    +
    63 if (!(*visited)[v]) {
    +
    64 explore(adj, v, visited);
    +
    65 }
    +
    66 }
    +
    67}
    +
    +
    68
    +
    +
    77int getConnectedComponents(const std::vector<std::vector<int>> *adj) {
    +
    78 int n = adj->size();
    +
    79 int connected_components = 0;
    +
    80 std::vector<bool> visited(n, false);
    +
    81
    +
    82 for (int i = 0; i < n; i++) {
    +
    83 if (!visited[i]) {
    +
    84 explore(adj, i, &visited);
    +
    85 connected_components++;
    +
    86 }
    +
    87 }
    +
    88 return connected_components;
    +
    89}
    +
    +
    90} // namespace graph
    +
    91
    +
    +
    93void tests() {
    +
    94 std::cout << "Running predefined tests..." << std::endl;
    +
    95 std::cout << "Initiating Test 1..." << std::endl;
    +
    96 std::vector<std::vector<int>> adj1(9, std::vector<int>());
    +
    97 graph::addEdge(&adj1, 1, 2);
    +
    98 graph::addEdge(&adj1, 1, 3);
    +
    99 graph::addEdge(&adj1, 3, 4);
    +
    100 graph::addEdge(&adj1, 5, 7);
    +
    101 graph::addEdge(&adj1, 5, 6);
    +
    102 graph::addEdge(&adj1, 8, 9);
    +
    103
    +
    104 assert(graph::getConnectedComponents(&adj1) == 3);
    +
    105 std::cout << "Test 1 Passed..." << std::endl;
    +
    106
    +
    107 std::cout << "Innitiating Test 2..." << std::endl;
    +
    108 std::vector<std::vector<int>> adj2(10, std::vector<int>());
    +
    109 graph::addEdge(&adj2, 1, 2);
    +
    110 graph::addEdge(&adj2, 1, 3);
    +
    111 graph::addEdge(&adj2, 1, 4);
    +
    112 graph::addEdge(&adj2, 2, 3);
    +
    113 graph::addEdge(&adj2, 3, 4);
    +
    114 graph::addEdge(&adj2, 4, 8);
    +
    115 graph::addEdge(&adj2, 4, 10);
    +
    116 graph::addEdge(&adj2, 8, 10);
    +
    117 graph::addEdge(&adj2, 8, 9);
    +
    118 graph::addEdge(&adj2, 5, 7);
    +
    119 graph::addEdge(&adj2, 5, 6);
    +
    120 graph::addEdge(&adj2, 6, 7);
    +
    121
    +
    122 assert(graph::getConnectedComponents(&adj2) == 2);
    +
    123 std::cout << "Test 2 Passed..." << std::endl;
    +
    124}
    +
    +
    125
    +
    +
    127int main() {
    +
    129 tests();
    +
    130
    +
    131 int vertices = int(), edges = int();
    +
    132 std::cout << "Enter the number of vertices : ";
    +
    133 std::cin >> vertices;
    +
    134 std::cout << "Enter the number of edges : ";
    +
    135 std::cin >> edges;
    +
    136
    +
    137 std::vector<std::vector<int>> adj(vertices, std::vector<int>());
    +
    138
    +
    139 int u = int(), v = int();
    +
    140 while (edges--) {
    +
    141 std::cin >> u >> v;
    +
    142 graph::addEdge(&adj, u, v);
    +
    143 }
    +
    144
    +
    145 int cc = graph::getConnectedComponents(&adj);
    +
    146 std::cout << cc << std::endl;
    +
    147 return 0;
    +
    148}
    +
    +
    void tests()
    + +
    Graph Algorithms.
    +
    void explore(const std::vector< std::vector< int > > *adj, int u, std::vector< bool > *visited)
    Utility function for depth first seach algorithm this function explores the vertex which is passed in...
    +
    int getConnectedComponents(const std::vector< std::vector< int > > *adj)
    Function that perfoms depth first search algorithm on graph and calculated the number of connected co...
    +
    void addEdge(std::vector< std::vector< int > > *adj, int u, int v)
    Function that add edge between two nodes or vertices of graph.
    +
    +
    + + + + diff --git a/df/de3/classqueue-members.html b/df/de3/classqueue-members.html index 15bf658ac..6a5060a64 100644 --- a/df/de3/classqueue-members.html +++ b/df/de3/classqueue-members.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Member List +TheAlgorithms/C++: Member List + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/df/de5/classbacktracking_1_1generate__parentheses.html b/df/de5/classbacktracking_1_1generate__parentheses.html index 716fb741d..8c699cfda 100644 --- a/df/de5/classbacktracking_1_1generate__parentheses.html +++ b/df/de5/classbacktracking_1_1generate__parentheses.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: backtracking::generate_parentheses Class Reference +TheAlgorithms/C++: backtracking::generate_parentheses Class Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + @@ -123,25 +140,26 @@ Collaboration diagram for backtracking::generate_parentheses:
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    - +

    Public Member Functions

    std::vector< std::stringgenerate (int n)
    std::vector< std::string > generate (int n)
     wrapper interface
     
    - +

    Private Member Functions

    void makeStrings (std::string str, int n, int closed, int open)
    void makeStrings (std::string str, int n, int closed, int open)
     function that adds parenthesis to the string.
     
    - - + +

    Private Attributes

    -std::vector< std::stringres
     Contains all possible valid patterns.
    std::vector< std::string > res
     Contains all possible valid patterns.
     

    Detailed Description

    generate_parentheses class

    + +

    Definition at line 26 of file generate_parentheses.cpp.

    Member Function Documentation

    ◆ generate()

    @@ -150,7 +168,7 @@ Private Attributes
    - + @@ -166,22 +184,17 @@ Private Attributes
    Returns
    all well-formed pattern of parentheses
    + +

    Definition at line 70 of file generate_parentheses.cpp.

    70 {
    - -
    72 std::string str = "(";
    + +
    72 std::string str = "(";
    74 return res;
    75}
    - -
    std::vector< std::string > res
    Contains all possible valid patterns.
    Definition generate_parentheses.cpp:28
    -
    void makeStrings(std::string str, int n, int closed, int open)
    function that adds parenthesis to the string.
    Definition generate_parentheses.cpp:45
    -
    T clear(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    std::vector< std::string > res
    Contains all possible valid patterns.
    +
    void makeStrings(std::string str, int n, int closed, int open)
    function that adds parenthesis to the string.
    + @@ -196,7 +209,7 @@ Here is the call graph for this function: - + @@ -231,35 +244,57 @@ Here is the call graph for this function:
    std::vector< std::string > backtracking::generate_parentheses::generate std::vector< std::string > backtracking::generate_parentheses::generate ( int n)
    void backtracking::generate_parentheses::makeStrings (std::string str, std::string str,
    + +

    Definition at line 45 of file generate_parentheses.cpp.

    46 {
    47 if (closed > open) // We can never have more closed than open
    48 return;
    49
    -
    50 if ((str.length() == 2 * n) &&
    +
    50 if ((str.length() == 2 * n) &&
    51 (closed != open)) { // closed and open must be the same
    52 return;
    53 }
    54
    -
    55 if (str.length() == 2 * n) {
    -
    56 res.push_back(str);
    +
    55 if (str.length() == 2 * n) {
    +
    56 res.push_back(str);
    57 return;
    58 }
    59
    60 makeStrings(str + ')', n, closed + 1, open);
    61 makeStrings(str + '(', n, closed, open + 1);
    62}
    -
    T push_back(T... args)
    -
    T length(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    +
    +
    +

    Member Data Documentation

    + +

    ◆ res

    + +
    +
    + + + + + +
    + + + + +
    std::vector<std::string> backtracking::generate_parentheses::res
    +
    +private
    +
    + +

    Contains all possible valid patterns.

    + +

    Definition at line 28 of file generate_parentheses.cpp.


    The documentation for this class was generated from the following file: diff --git a/df/de5/classbacktracking_1_1generate__parentheses_ac1489edd65374f22fe04851051f0a2ec_cgraph.map b/df/de5/classbacktracking_1_1generate__parentheses_ac1489edd65374f22fe04851051f0a2ec_cgraph.map deleted file mode 100644 index b81fa5ac2..000000000 --- a/df/de5/classbacktracking_1_1generate__parentheses_ac1489edd65374f22fe04851051f0a2ec_cgraph.map +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/df/de5/classbacktracking_1_1generate__parentheses_ac1489edd65374f22fe04851051f0a2ec_cgraph.md5 b/df/de5/classbacktracking_1_1generate__parentheses_ac1489edd65374f22fe04851051f0a2ec_cgraph.md5 deleted file mode 100644 index 3bf9e4aa5..000000000 --- a/df/de5/classbacktracking_1_1generate__parentheses_ac1489edd65374f22fe04851051f0a2ec_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -dc78b92bd61c2693e50391c7882bab8a \ No newline at end of file diff --git a/df/de5/classbacktracking_1_1generate__parentheses_ac1489edd65374f22fe04851051f0a2ec_cgraph.svg b/df/de5/classbacktracking_1_1generate__parentheses_ac1489edd65374f22fe04851051f0a2ec_cgraph.svg deleted file mode 100644 index 2fbad41df..000000000 --- a/df/de5/classbacktracking_1_1generate__parentheses_ac1489edd65374f22fe04851051f0a2ec_cgraph.svg +++ /dev/null @@ -1,93 +0,0 @@ - - - - - - - - - - - - -backtracking::generate_parentheses::makeStrings - - -Node1 - - -backtracking::generate -_parentheses::makeStrings - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::string::length - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::vector::push_back - - - - - -Node1->Node3 - - - - - - - - - - - - - diff --git a/df/de5/classbacktracking_1_1generate__parentheses_ac1489edd65374f22fe04851051f0a2ec_cgraph_org.svg b/df/de5/classbacktracking_1_1generate__parentheses_ac1489edd65374f22fe04851051f0a2ec_cgraph_org.svg deleted file mode 100644 index 1f98c8f15..000000000 --- a/df/de5/classbacktracking_1_1generate__parentheses_ac1489edd65374f22fe04851051f0a2ec_cgraph_org.svg +++ /dev/null @@ -1,67 +0,0 @@ - - - - - - -backtracking::generate_parentheses::makeStrings - - -Node1 - - -backtracking::generate -_parentheses::makeStrings - - - - - -Node1->Node1 - - - - - - - - -Node2 - - -std::string::length - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -std::vector::push_back - - - - - -Node1->Node3 - - - - - - - - diff --git a/df/de5/classbacktracking_1_1generate__parentheses_af39c03d80ce0ba9fbf659b420980d160_cgraph.map b/df/de5/classbacktracking_1_1generate__parentheses_af39c03d80ce0ba9fbf659b420980d160_cgraph.map deleted file mode 100644 index b6e802a8d..000000000 --- a/df/de5/classbacktracking_1_1generate__parentheses_af39c03d80ce0ba9fbf659b420980d160_cgraph.map +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - - - diff --git a/df/de5/classbacktracking_1_1generate__parentheses_af39c03d80ce0ba9fbf659b420980d160_cgraph.md5 b/df/de5/classbacktracking_1_1generate__parentheses_af39c03d80ce0ba9fbf659b420980d160_cgraph.md5 deleted file mode 100644 index abda998d0..000000000 --- a/df/de5/classbacktracking_1_1generate__parentheses_af39c03d80ce0ba9fbf659b420980d160_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -53fe3aa68c5ae52908ea0c33dfc3dd40 \ No newline at end of file diff --git a/df/de5/classbacktracking_1_1generate__parentheses_af39c03d80ce0ba9fbf659b420980d160_cgraph.svg b/df/de5/classbacktracking_1_1generate__parentheses_af39c03d80ce0ba9fbf659b420980d160_cgraph.svg deleted file mode 100644 index 38729fad1..000000000 --- a/df/de5/classbacktracking_1_1generate__parentheses_af39c03d80ce0ba9fbf659b420980d160_cgraph.svg +++ /dev/null @@ -1,130 +0,0 @@ - - - - - - - - - - - - -backtracking::generate_parentheses::generate - - -Node1 - - -backtracking::generate -_parentheses::generate - - - - - -Node2 - - -std::vector::clear - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -backtracking::generate -_parentheses::makeStrings - - - - - -Node1->Node3 - - - - - - - - -Node3->Node3 - - - - - - - - -Node4 - - -std::string::length - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -std::vector::push_back - - - - - -Node3->Node5 - - - - - - - - - - - - - diff --git a/df/de5/classbacktracking_1_1generate__parentheses_af39c03d80ce0ba9fbf659b420980d160_cgraph_org.svg b/df/de5/classbacktracking_1_1generate__parentheses_af39c03d80ce0ba9fbf659b420980d160_cgraph_org.svg deleted file mode 100644 index def70aca3..000000000 --- a/df/de5/classbacktracking_1_1generate__parentheses_af39c03d80ce0ba9fbf659b420980d160_cgraph_org.svg +++ /dev/null @@ -1,104 +0,0 @@ - - - - - - -backtracking::generate_parentheses::generate - - -Node1 - - -backtracking::generate -_parentheses::generate - - - - - -Node2 - - -std::vector::clear - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -backtracking::generate -_parentheses::makeStrings - - - - - -Node1->Node3 - - - - - - - - -Node3->Node3 - - - - - - - - -Node4 - - -std::string::length - - - - - -Node3->Node4 - - - - - - - - -Node5 - - -std::vector::push_back - - - - - -Node3->Node5 - - - - - - - - diff --git a/df/dea/namespacefalse__position.html b/df/dea/namespacefalse__position.html index b5fe85054..016e9ac96 100644 --- a/df/dea/namespacefalse__position.html +++ b/df/dea/namespacefalse__position.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: false_position Namespace Reference +TheAlgorithms/C++: false_position Namespace Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/df/def/power__for__huge__numbers_8cpp.html b/df/def/power__for__huge__numbers_8cpp.html index 17f9dd565..91036b8d2 100644 --- a/df/def/power__for__huge__numbers_8cpp.html +++ b/df/def/power__for__huge__numbers_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: math/power_for_huge_numbers.cpp File Reference +TheAlgorithms/C++: math/power_for_huge_numbers.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + @@ -119,7 +136,9 @@ Include dependency graph for power_for_huge_numbers.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -136,6 +155,8 @@ Functions

    Macros

    #define MAX   100000

    Detailed Description

    Compute powers of large numbers.

    + +

    Definition in file power_for_huge_numbers.cpp.

    Macro Definition Documentation

    ◆ MAX

    @@ -150,6 +171,8 @@ Functions

    Maximum number of digits in output \(x^n\) where \(1 <= x,\; n <= 10000\) and overflow may happen

    +

    Definition at line 10 of file power_for_huge_numbers.cpp.

    +

    Function Documentation

    @@ -168,24 +191,19 @@ Functions

    Main function

    + +

    Definition at line 82 of file power_for_huge_numbers.cpp.

    82 {
    83 int exponent, base;
    -
    84 std::cout << "Enter base ";
    -
    85 std::cin >> base;
    -
    86 std::cout << "Enter exponent ";
    -
    87 std::cin >> exponent;
    +
    84 std::cout << "Enter base ";
    +
    85 std::cin >> base;
    +
    86 std::cout << "Enter exponent ";
    +
    87 std::cin >> exponent;
    88 power(base, exponent);
    89 return 0;
    90}
    - - -
    void power(int x, int n)
    Definition power_for_huge_numbers.cpp:56
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    void power(int x, int n)
    +
    @@ -219,6 +237,8 @@ Here is the call graph for this function: + +

    Definition at line 25 of file power_for_huge_numbers.cpp.

    25 {
    26 // Initialize carry
    27 int carry = 0;
    @@ -273,10 +293,12 @@ Here is the call graph for this function:
    + +

    Definition at line 56 of file power_for_huge_numbers.cpp.

    56 {
    57 // printing value "1" for power = 0
    58 if (n == 0) {
    -
    59 std::cout << "1";
    +
    59 std::cout << "1";
    60 return;
    61 }
    62
    @@ -294,17 +316,12 @@ Here is the call graph for this function:
    74 // (x^n = x*x*x....n times)
    75 for (int i = 2; i <= n; i++) res_size = multiply(x, res, res_size);
    76
    -
    77 std::cout << x << "^" << n << " = ";
    -
    78 for (int i = res_size - 1; i >= 0; i--) std::cout << res[i];
    +
    77 std::cout << x << "^" << n << " = ";
    +
    78 for (int i = res_size - 1; i >= 0; i--) std::cout << res[i];
    79}
    -
    #define MAX
    Definition power_for_huge_numbers.cpp:10
    -
    int multiply(int x, int res[], int res_size)
    Definition power_for_huge_numbers.cpp:25
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    #define MAX
    +
    int multiply(int x, int res[], int res_size)
    + diff --git a/df/def/power__for__huge__numbers_8cpp_ae249a2af508aa94266023ce8aa81426f_cgraph.map b/df/def/power__for__huge__numbers_8cpp_ae249a2af508aa94266023ce8aa81426f_cgraph.map deleted file mode 100644 index a8918d386..000000000 --- a/df/def/power__for__huge__numbers_8cpp_ae249a2af508aa94266023ce8aa81426f_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/df/def/power__for__huge__numbers_8cpp_ae249a2af508aa94266023ce8aa81426f_cgraph.md5 b/df/def/power__for__huge__numbers_8cpp_ae249a2af508aa94266023ce8aa81426f_cgraph.md5 deleted file mode 100644 index 38d641b01..000000000 --- a/df/def/power__for__huge__numbers_8cpp_ae249a2af508aa94266023ce8aa81426f_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -bca904e090a799dbfda5d017822f5ace \ No newline at end of file diff --git a/df/def/power__for__huge__numbers_8cpp_ae249a2af508aa94266023ce8aa81426f_cgraph.svg b/df/def/power__for__huge__numbers_8cpp_ae249a2af508aa94266023ce8aa81426f_cgraph.svg deleted file mode 100644 index 2825b08d8..000000000 --- a/df/def/power__for__huge__numbers_8cpp_ae249a2af508aa94266023ce8aa81426f_cgraph.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - -power - - -Node1 - - -power - - - - - -Node2 - - -multiply - - - - - -Node1->Node2 - - - - - - - - - - - - - diff --git a/df/def/power__for__huge__numbers_8cpp_ae249a2af508aa94266023ce8aa81426f_cgraph_org.svg b/df/def/power__for__huge__numbers_8cpp_ae249a2af508aa94266023ce8aa81426f_cgraph_org.svg deleted file mode 100644 index 179d0deec..000000000 --- a/df/def/power__for__huge__numbers_8cpp_ae249a2af508aa94266023ce8aa81426f_cgraph_org.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -power - - -Node1 - - -power - - - - - -Node2 - - -multiply - - - - - -Node1->Node2 - - - - - - - - diff --git a/df/def/power__for__huge__numbers_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/df/def/power__for__huge__numbers_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 935b03ab9..000000000 --- a/df/def/power__for__huge__numbers_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/df/def/power__for__huge__numbers_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/df/def/power__for__huge__numbers_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index e9516afc4..000000000 --- a/df/def/power__for__huge__numbers_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -6c2f49db8978fbaa55feafa3a142af7c \ No newline at end of file diff --git a/df/def/power__for__huge__numbers_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/df/def/power__for__huge__numbers_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index fb54a6b58..000000000 --- a/df/def/power__for__huge__numbers_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -power - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -multiply - - - - - -Node2->Node3 - - - - - - - - - - - - - diff --git a/df/def/power__for__huge__numbers_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/df/def/power__for__huge__numbers_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index 8c8ae4221..000000000 --- a/df/def/power__for__huge__numbers_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -power - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -multiply - - - - - -Node2->Node3 - - - - - - - - diff --git a/df/def/power__for__huge__numbers_8cpp_source.html b/df/def/power__for__huge__numbers_8cpp_source.html new file mode 100644 index 000000000..d9279464d --- /dev/null +++ b/df/def/power__for__huge__numbers_8cpp_source.html @@ -0,0 +1,213 @@ + + + + + + + + +TheAlgorithms/C++: math/power_for_huge_numbers.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    power_for_huge_numbers.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    5#include <iostream>
    +
    6
    +
    10#define MAX 100000
    +
    11
    +
    +
    25int multiply(int x, int res[], int res_size) {
    +
    26 // Initialize carry
    +
    27 int carry = 0;
    +
    28
    +
    29 // One by one multiply n with
    +
    30 // individual digits of res[]
    +
    31 for (int i = 0; i < res_size; i++) {
    +
    32 int prod = res[i] * x + carry;
    +
    33
    +
    34 // Store last digit of
    +
    35 // 'prod' in res[]
    +
    36 res[i] = prod % 10;
    +
    37
    +
    38 // Put rest in carry
    +
    39 carry = prod / 10;
    +
    40 }
    +
    41
    +
    42 // Put carry in res and
    +
    43 // increase result size
    +
    44 while (carry) {
    +
    45 res[res_size] = carry % 10;
    +
    46 carry = carry / 10;
    +
    47 res_size++;
    +
    48 }
    +
    49 return res_size;
    +
    50}
    +
    +
    51
    +
    +
    56void power(int x, int n) {
    +
    57 // printing value "1" for power = 0
    +
    58 if (n == 0) {
    +
    59 std::cout << "1";
    +
    60 return;
    +
    61 }
    +
    62
    +
    63 int res[MAX];
    +
    64 int res_size = 0;
    +
    65 int temp = x;
    +
    66
    +
    67 // Initialize result
    +
    68 while (temp != 0) {
    +
    69 res[res_size++] = temp % 10;
    +
    70 temp = temp / 10;
    +
    71 }
    +
    72
    +
    73 // Multiply x n times
    +
    74 // (x^n = x*x*x....n times)
    +
    75 for (int i = 2; i <= n; i++) res_size = multiply(x, res, res_size);
    +
    76
    +
    77 std::cout << x << "^" << n << " = ";
    +
    78 for (int i = res_size - 1; i >= 0; i--) std::cout << res[i];
    +
    79}
    +
    +
    80
    +
    +
    82int main() {
    +
    83 int exponent, base;
    +
    84 std::cout << "Enter base ";
    +
    85 std::cin >> base;
    +
    86 std::cout << "Enter exponent ";
    +
    87 std::cin >> exponent;
    +
    88 power(base, exponent);
    +
    89 return 0;
    +
    90}
    +
    +
    #define MAX
    +
    int multiply(int x, int res[], int res_size)
    +
    void power(int x, int n)
    + +
    +
    + + + + diff --git a/df/dfb/minimax_8cpp.html b/df/dfb/minimax_8cpp.html index 0bb0fe7d5..1dafc1641 100644 --- a/df/dfb/minimax_8cpp.html +++ b/df/dfb/minimax_8cpp.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: backtracking/minimax.cpp File Reference +TheAlgorithms/C++: backtracking/minimax.cpp File Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -122,7 +139,9 @@ Include dependency graph for minimax.cpp:
    -
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + +

    Go to the source code of this file.

    +
    @@ -132,7 +151,7 @@ Namespaces - + @@ -145,6 +164,8 @@ Functions
    Author
    Gleison Batista
    David Leal
    + +

    Definition in file minimax.cpp.

    Function Documentation

    ◆ main()

    @@ -163,26 +184,19 @@ Functions

    Main function.

    Returns
    0 on exit
    + +

    Definition at line 56 of file minimax.cpp.

    56 {
    -
    57 std::array<int, 8> scores = {90, 23, 6, 33, 21, 65, 123, 34423};
    -
    58 double height = log2(scores.size());
    +
    57 std::array<int, 8> scores = {90, 23, 6, 33, 21, 65, 123, 34423};
    +
    58 double height = log2(scores.size());
    59
    -
    60 std::cout << "Optimal value: "
    -
    61 << backtracking::minimax(0, 0, true, scores, height) << std::endl;
    +
    60 std::cout << "Optimal value: "
    +
    61 << backtracking::minimax(0, 0, true, scores, height) << std::endl;
    62 return 0;
    63}
    - -
    int height(node *root)
    Definition avltree.cpp:38
    - -
    T endl(T... args)
    -
    int minimax(int depth, int node_index, bool is_max, const std::array< int, T > &scores, double height)
    Check which is the maximum/minimum number in the array.
    Definition minimax.cpp:39
    -
    T size(T... args)
    -
    -Here is the call graph for this function:
    -
    -
    -
    - +
    int height(node *root)
    Definition avltree.cpp:38
    +
    int minimax(int depth, int node_index, bool is_max, const std::array< int, T > &scores, double height)
    Check which is the maximum/minimum number in the array.
    Definition minimax.cpp:39
    + diff --git a/df/dfb/minimax_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/df/dfb/minimax_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map deleted file mode 100644 index 6c03dcee2..000000000 --- a/df/dfb/minimax_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - - - - - - - - - - diff --git a/df/dfb/minimax_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/df/dfb/minimax_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 deleted file mode 100644 index 9553d9439..000000000 --- a/df/dfb/minimax_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -5733f15115d6a3b35636bada4c01d808 \ No newline at end of file diff --git a/df/dfb/minimax_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/df/dfb/minimax_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg deleted file mode 100644 index 2eac8a076..000000000 --- a/df/dfb/minimax_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg +++ /dev/null @@ -1,191 +0,0 @@ - - - - - - - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -height - - - - - -Node1->Node3 - - - - - - - - -Node5 - - -backtracking::minimax - - - - - -Node1->Node5 - - - - - - - - -Node7 - - -std::array::size - - - - - -Node1->Node7 - - - - - - - - -Node3->Node3 - - - - - - - - -Node4 - - -std::max - - - - - -Node3->Node4 - - - - - - - - -Node5->Node3 - - - - - - - - -Node5->Node4 - - - - - - - - -Node5->Node5 - - - - - - - - -Node6 - - -std::min - - - - - -Node5->Node6 - - - - - - - - - - - - - diff --git a/df/dfb/minimax_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/df/dfb/minimax_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg deleted file mode 100644 index b0fc4a0b1..000000000 --- a/df/dfb/minimax_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg +++ /dev/null @@ -1,165 +0,0 @@ - - - - - - -main - - -Node1 - - -main - - - - - -Node2 - - -std::endl - - - - - -Node1->Node2 - - - - - - - - -Node3 - - -height - - - - - -Node1->Node3 - - - - - - - - -Node5 - - -backtracking::minimax - - - - - -Node1->Node5 - - - - - - - - -Node7 - - -std::array::size - - - - - -Node1->Node7 - - - - - - - - -Node3->Node3 - - - - - - - - -Node4 - - -std::max - - - - - -Node3->Node4 - - - - - - - - -Node5->Node3 - - - - - - - - -Node5->Node4 - - - - - - - - -Node5->Node5 - - - - - - - - -Node6 - - -std::min - - - - - -Node5->Node6 - - - - - - - - diff --git a/df/dfb/minimax_8cpp_source.html b/df/dfb/minimax_8cpp_source.html new file mode 100644 index 000000000..de9c6ad70 --- /dev/null +++ b/df/dfb/minimax_8cpp_source.html @@ -0,0 +1,174 @@ + + + + + + + + +TheAlgorithms/C++: backtracking/minimax.cpp Source File + + + + + + + + + + + + + + + + + + + + + +
    +
    +

    Namespaces

    namespace  backtracking

    Functions

    template<size_t T>
    int backtracking::minimax (int depth, int node_index, bool is_max, const std::array< int, T > &scores, double height)
    int backtracking::minimax (int depth, int node_index, bool is_max, const std::array< int, T > &scores, double height)
     Check which is the maximum/minimum number in the array.
     
    int main ()
    + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + + +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    minimax.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    19#include <algorithm>
    +
    20#include <array>
    +
    21#include <cmath>
    +
    22#include <iostream>
    +
    23
    +
    28namespace backtracking {
    +
    38template <size_t T>
    +
    +
    39int minimax(int depth, int node_index, bool is_max,
    +
    40 const std::array<int, T> &scores, double height) {
    +
    41 if (depth == height) {
    +
    42 return scores[node_index];
    +
    43 }
    +
    44
    +
    45 int v1 = minimax(depth + 1, node_index * 2, !is_max, scores, height);
    +
    46 int v2 = minimax(depth + 1, node_index * 2 + 1, !is_max, scores, height);
    +
    47
    +
    48 return is_max ? std::max(v1, v2) : std::min(v1, v2);
    +
    49}
    +
    +
    50} // namespace backtracking
    +
    51
    +
    +
    56int main() {
    +
    57 std::array<int, 8> scores = {90, 23, 6, 33, 21, 65, 123, 34423};
    +
    58 double height = log2(scores.size());
    +
    59
    +
    60 std::cout << "Optimal value: "
    +
    61 << backtracking::minimax(0, 0, true, scores, height) << std::endl;
    +
    62 return 0;
    +
    63}
    +
    +
    int height(node *root)
    Definition avltree.cpp:38
    +
    int main()
    Main function.
    Definition minimax.cpp:56
    +
    for vector container
    +
    int minimax(int depth, int node_index, bool is_max, const std::array< int, T > &scores, double height)
    Check which is the maximum/minimum number in the array.
    Definition minimax.cpp:39
    +
    +
    + + + + diff --git a/dir_000002_000016.html b/dir_000002_000016.html index f79b38512..6038ef493 100644 --- a/dir_000002_000016.html +++ b/dir_000002_000016.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: ciphers -> numerical_methods Relation +TheAlgorithms/C++: ciphers -> numerical_methods Relation + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/dir_074119ce3a874b57120c49a0cc4bb5ad.html b/dir_074119ce3a874b57120c49a0cc4bb5ad.html index 38ab5de38..810362e5f 100644 --- a/dir_074119ce3a874b57120c49a0cc4bb5ad.html +++ b/dir_074119ce3a874b57120c49a0cc4bb5ad.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: range_queries Directory Reference +TheAlgorithms/C++: range_queries Directory Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + @@ -110,21 +127,25 @@ $(function(){initNavTree('dir_074119ce3a874b57120c49a0cc4bb5ad.html',''); initRe
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    - + - + - + + + - + - + + +

    Files

     fenwick_tree.cpp
     fenwick_tree.cpp
     Fenwick Tree algorithm implementation
     
     heavy_light_decomposition.cpp
     heavy_light_decomposition.cpp
     Heavy Light Decomposition implementation
     
     persistent_seg_tree_lazy_prop.cpp
     mo.cpp
     
     persistent_seg_tree_lazy_prop.cpp
     Persistent segment tree with range updates (lazy propagation)
     
     prefix_sum_array.cpp
     prefix_sum_array.cpp
     Prefix Sum Array data structure implementation.
     
     segtree.cpp
     segtree.cpp
     Implementation of [Segment Tree] (https://en.wikipedia.org/wiki/Segment_tree) data structure.
     
     sparse_table_range_queries.cpp
     
    diff --git a/dir_074119ce3a874b57120c49a0cc4bb5ad.js b/dir_074119ce3a874b57120c49a0cc4bb5ad.js index 6005e0f23..66f21ca3f 100644 --- a/dir_074119ce3a874b57120c49a0cc4bb5ad.js +++ b/dir_074119ce3a874b57120c49a0cc4bb5ad.js @@ -2,7 +2,9 @@ var dir_074119ce3a874b57120c49a0cc4bb5ad = [ [ "fenwick_tree.cpp", "d6/d2e/fenwick__tree_8cpp.html", "d6/d2e/fenwick__tree_8cpp" ], [ "heavy_light_decomposition.cpp", "d2/de9/heavy__light__decomposition_8cpp.html", "d2/de9/heavy__light__decomposition_8cpp" ], + [ "mo.cpp", "d3/d53/mo_8cpp_source.html", null ], [ "persistent_seg_tree_lazy_prop.cpp", "d5/d58/persistent__seg__tree__lazy__prop_8cpp.html", "d5/d58/persistent__seg__tree__lazy__prop_8cpp" ], [ "prefix_sum_array.cpp", "d1/d9e/prefix__sum__array_8cpp.html", "d1/d9e/prefix__sum__array_8cpp" ], - [ "segtree.cpp", "d2/d45/segtree_8cpp.html", "d2/d45/segtree_8cpp" ] + [ "segtree.cpp", "d2/d45/segtree_8cpp.html", "d2/d45/segtree_8cpp" ], + [ "sparse_table_range_queries.cpp", "d2/d96/sparse__table__range__queries_8cpp_source.html", null ] ]; \ No newline at end of file diff --git a/dir_0eaa691bd54ab0922ca7f50599de6d22.html b/dir_0eaa691bd54ab0922ca7f50599de6d22.html index ecfbdf771..80bcd19b4 100644 --- a/dir_0eaa691bd54ab0922ca7f50599de6d22.html +++ b/dir_0eaa691bd54ab0922ca7f50599de6d22.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: greedy_algorithms Directory Reference +TheAlgorithms/C++: greedy_algorithms Directory Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -110,27 +127,33 @@ $(function(){initNavTree('dir_0eaa691bd54ab0922ca7f50599de6d22.html',''); initRe
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    - + - + - + - + - + - + + + - + + + + +

    Files

     binary_addition.cpp
     binary_addition.cpp
     Adds two binary numbers and outputs resulting string.
     
     boruvkas_minimum_spanning_tree.cpp
     boruvkas_minimum_spanning_tree.cpp
     [Borůvkas Algorithm](https://en.wikipedia.org/wiki/Borůvka's_algorithm) to find the Minimum Spanning Tree
     
     digit_separation.cpp
     digit_separation.cpp
     Separates digits from numbers in forward and reverse order.
     
     dijkstra_greedy.cpp
     dijkstra_greedy.cpp
     Dijkstra algorithm implementation
     
     gale_shapley.cpp
     gale_shapley.cpp
     Gale Shapley Algorithm
     
     jump_game.cpp
     huffman.cpp
     
     jump_game.cpp
     Jumping Game algorithm implementation
     
     kruskals_minimum_spanning_tree.cpp
     knapsack.cpp
     
     kruskals_minimum_spanning_tree.cpp
     Kruskals Minimum Spanning Tree implementation
     
     prims_minimum_spanning_tree.cpp
     
    diff --git a/dir_0eaa691bd54ab0922ca7f50599de6d22.js b/dir_0eaa691bd54ab0922ca7f50599de6d22.js index 4f3ea7df9..f7c056a39 100644 --- a/dir_0eaa691bd54ab0922ca7f50599de6d22.js +++ b/dir_0eaa691bd54ab0922ca7f50599de6d22.js @@ -5,6 +5,9 @@ var dir_0eaa691bd54ab0922ca7f50599de6d22 = [ "digit_separation.cpp", "d3/d36/digit__separation_8cpp.html", "d3/d36/digit__separation_8cpp" ], [ "dijkstra_greedy.cpp", "da/de8/dijkstra__greedy_8cpp.html", "da/de8/dijkstra__greedy_8cpp" ], [ "gale_shapley.cpp", "db/d80/gale__shapley_8cpp.html", "db/d80/gale__shapley_8cpp" ], + [ "huffman.cpp", "d5/d8e/huffman_8cpp_source.html", null ], [ "jump_game.cpp", "d6/dba/jump__game_8cpp.html", "d6/dba/jump__game_8cpp" ], - [ "kruskals_minimum_spanning_tree.cpp", "d8/d7d/kruskals__minimum__spanning__tree_8cpp.html", "d8/d7d/kruskals__minimum__spanning__tree_8cpp" ] + [ "knapsack.cpp", "d0/d61/knapsack_8cpp_source.html", null ], + [ "kruskals_minimum_spanning_tree.cpp", "d8/d7d/kruskals__minimum__spanning__tree_8cpp.html", "d8/d7d/kruskals__minimum__spanning__tree_8cpp" ], + [ "prims_minimum_spanning_tree.cpp", "d2/d64/prims__minimum__spanning__tree_8cpp_source.html", null ] ]; \ No newline at end of file diff --git a/dir_12552d7fa429bf94a2e32e5cf39f7e69.html b/dir_12552d7fa429bf94a2e32e5cf39f7e69.html index bcd4dbee0..9d97cd0b8 100644 --- a/dir_12552d7fa429bf94a2e32e5cf39f7e69.html +++ b/dir_12552d7fa429bf94a2e32e5cf39f7e69.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: graph Directory Reference +TheAlgorithms/C++: graph Directory Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -110,43 +127,59 @@ $(function(){initNavTree('dir_12552d7fa429bf94a2e32e5cf39f7e69.html',''); initRe
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    - + - + - + + + - + - + + + - + - + - + - + - + - + + + + + + + - + + + + + - + + +

    Files

     bidirectional_dijkstra.cpp
     bidirectional_dijkstra.cpp
     [Bidirectional Dijkstra Shortest Path Algorithm] (https://www.coursera.org/learn/algorithms-on-graphs/lecture/7ml18/bidirectional-dijkstra)
     
     breadth_first_search.cpp
     breadth_first_search.cpp
     Breadth First Search Algorithm (Breadth First Search)
     
     connected_components.cpp
     bridge_finding_with_tarjan_algorithm.cpp
     
     connected_components.cpp
     [Graph Connected Components (Connected Components)] (https://en.wikipedia.org/wiki/Component_(graph_theory))
     
     connected_components_with_dsu.cpp
     connected_components_with_dsu.cpp
     Disjoint union
     
     depth_first_search.cpp
     cycle_check_directed_graph.cpp
     
     depth_first_search.cpp
     Depth First Search Algorithm (Depth First Search)
     
     depth_first_search_with_stack.cpp
     depth_first_search_with_stack.cpp
     Depth First Search Algorithm using Stack (Depth First Search Algorithm)
     
     dijkstra.cpp
     dijkstra.cpp
     [Graph Dijkstras Shortest Path Algorithm (Dijkstra's Shortest Path)] (https://en.wikipedia.org/wiki/Dijkstra%27s_algorithm)
     
     hamiltons_cycle.cpp
     hamiltons_cycle.cpp
     The implementation of Hamilton's cycle dynamic solution for vertices number less than 20.
     
     hopcroft_karp.cpp
     hopcroft_karp.cpp
     Implementation of Hopcroft–Karp algorithm.
     
     is_graph_bipartite.cpp
     is_graph_bipartite.cpp
     Algorithm to check whether a graph is bipartite
     
     lowest_common_ancestor.cpp
     is_graph_bipartite2.cpp
     
     kosaraju.cpp
     
     kruskal.cpp
     
     lowest_common_ancestor.cpp
     Data structure for finding the lowest common ancestor of two vertices in a rooted tree using binary lifting.
     
     topological_sort.cpp
     max_flow_with_ford_fulkerson_and_edmond_karp_algo.cpp
     
     prim.cpp
     
     topological_sort.cpp
     Topological Sort Algorithm
     
     travelling_salesman_problem.cpp
     topological_sort_by_kahns_algo.cpp
     
     travelling_salesman_problem.cpp
     [Travelling Salesman Problem] (https://en.wikipedia.org/wiki/Travelling_salesman_problem) implementation
     
    diff --git a/dir_12552d7fa429bf94a2e32e5cf39f7e69.js b/dir_12552d7fa429bf94a2e32e5cf39f7e69.js index d093efe40..16000e270 100644 --- a/dir_12552d7fa429bf94a2e32e5cf39f7e69.js +++ b/dir_12552d7fa429bf94a2e32e5cf39f7e69.js @@ -2,15 +2,23 @@ var dir_12552d7fa429bf94a2e32e5cf39f7e69 = [ [ "bidirectional_dijkstra.cpp", "d7/d07/bidirectional__dijkstra_8cpp.html", "d7/d07/bidirectional__dijkstra_8cpp" ], [ "breadth_first_search.cpp", "df/d82/breadth__first__search_8cpp.html", "df/d82/breadth__first__search_8cpp" ], + [ "bridge_finding_with_tarjan_algorithm.cpp", "d7/d39/bridge__finding__with__tarjan__algorithm_8cpp_source.html", null ], [ "connected_components.cpp", "df/ddd/connected__components_8cpp.html", "df/ddd/connected__components_8cpp" ], [ "connected_components_with_dsu.cpp", "d8/d99/connected__components__with__dsu_8cpp.html", "d8/d99/connected__components__with__dsu_8cpp" ], + [ "cycle_check_directed_graph.cpp", "d3/dec/cycle__check__directed__graph_8cpp_source.html", null ], [ "depth_first_search.cpp", "da/d8d/depth__first__search_8cpp.html", "da/d8d/depth__first__search_8cpp" ], [ "depth_first_search_with_stack.cpp", "da/d4b/depth__first__search__with__stack_8cpp.html", "da/d4b/depth__first__search__with__stack_8cpp" ], [ "dijkstra.cpp", "d8/d68/dijkstra_8cpp.html", "d8/d68/dijkstra_8cpp" ], [ "hamiltons_cycle.cpp", "dd/d0c/hamiltons__cycle_8cpp.html", "dd/d0c/hamiltons__cycle_8cpp" ], [ "hopcroft_karp.cpp", "d1/d9a/hopcroft__karp_8cpp.html", "d1/d9a/hopcroft__karp_8cpp" ], [ "is_graph_bipartite.cpp", "d6/dd8/is__graph__bipartite_8cpp.html", "d6/dd8/is__graph__bipartite_8cpp" ], + [ "is_graph_bipartite2.cpp", "dd/dc3/is__graph__bipartite2_8cpp_source.html", null ], + [ "kosaraju.cpp", "da/d83/kosaraju_8cpp_source.html", null ], + [ "kruskal.cpp", "d9/d1c/kruskal_8cpp_source.html", null ], [ "lowest_common_ancestor.cpp", "de/dde/lowest__common__ancestor_8cpp.html", "de/dde/lowest__common__ancestor_8cpp" ], + [ "max_flow_with_ford_fulkerson_and_edmond_karp_algo.cpp", "d2/d48/max__flow__with__ford__fulkerson__and__edmond__karp__algo_8cpp_source.html", null ], + [ "prim.cpp", "da/d27/prim_8cpp_source.html", null ], [ "topological_sort.cpp", "d8/db9/topological__sort_8cpp.html", "d8/db9/topological__sort_8cpp" ], + [ "topological_sort_by_kahns_algo.cpp", "d1/d1b/topological__sort__by__kahns__algo_8cpp_source.html", null ], [ "travelling_salesman_problem.cpp", "de/d88/travelling__salesman__problem_8cpp.html", "de/d88/travelling__salesman__problem_8cpp" ] ]; \ No newline at end of file diff --git a/dir_19b2bf9199a15c634a08b1ede1dd896a.html b/dir_19b2bf9199a15c634a08b1ede1dd896a.html index b88592dc5..89128c6f5 100644 --- a/dir_19b2bf9199a15c634a08b1ede1dd896a.html +++ b/dir_19b2bf9199a15c634a08b1ede1dd896a.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: search Directory Reference +TheAlgorithms/C++: search Directory Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -110,46 +127,50 @@ $(function(){initNavTree('dir_19b2bf9199a15c634a08b1ede1dd896a.html',''); initRe
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    - + + + - + - + - + - + + + - + - + - + - + - + - + - + - + - +

    Files

     exponential_search.cpp
     binary_search.cpp
     
     exponential_search.cpp
     Exponential search algorithm
     
     fibonacci_search.cpp
     fibonacci_search.cpp
     Fibonacci search algorithm
     
     floyd_cycle_detection_algo.cpp
     floyd_cycle_detection_algo.cpp
     Implementation of Floyd's Cycle Detection algorithm.
     
     hash_search.cpp
     hash_search.cpp
     Hash Search Algorithm - Best Time Complexity Ω(1)
     
     interpolation_search2.cpp
     interpolation_search.cpp
     
     interpolation_search2.cpp
     Interpolation search algorithm
     
     jump_search.cpp
     jump_search.cpp
     C++ program to implement Jump Search
     
     linear_search.cpp
     linear_search.cpp
     Linear search algorithm
     
     longest_increasing_subsequence_using_binary_search.cpp
     longest_increasing_subsequence_using_binary_search.cpp
     find the length of the Longest Increasing Subsequence (LIS) using Binary Search
     
     median_search.cpp
     median_search.cpp
     Implementation of Median search algorithm. @cases from here
     
     median_search2.cpp
     median_search2.cpp
     Given a linked list L[0,....,n] of n numbers, find the middle node.
     
     saddleback_search.cpp
     saddleback_search.cpp
     Implementation of Saddleback Algorithm for 2D arrays.
     
     sublist_search.cpp
     sublist_search.cpp
     Implementation of the Sublist Search Algorithm
     
     ternary_search.cpp
     ternary_search.cpp
     Ternary search algorithm
     
     text_search.cpp
     text_search.cpp
     Search for words in a long textual paragraph.
     
    diff --git a/dir_19b2bf9199a15c634a08b1ede1dd896a.js b/dir_19b2bf9199a15c634a08b1ede1dd896a.js index 74cf2be32..e9732a7ed 100644 --- a/dir_19b2bf9199a15c634a08b1ede1dd896a.js +++ b/dir_19b2bf9199a15c634a08b1ede1dd896a.js @@ -1,9 +1,11 @@ var dir_19b2bf9199a15c634a08b1ede1dd896a = [ + [ "binary_search.cpp", "df/dd5/binary__search_8cpp_source.html", null ], [ "exponential_search.cpp", "d8/d8a/exponential__search_8cpp.html", "d8/d8a/exponential__search_8cpp" ], [ "fibonacci_search.cpp", "de/d0d/fibonacci__search_8cpp.html", "de/d0d/fibonacci__search_8cpp" ], [ "floyd_cycle_detection_algo.cpp", "db/dc4/floyd__cycle__detection__algo_8cpp.html", "db/dc4/floyd__cycle__detection__algo_8cpp" ], [ "hash_search.cpp", "d1/df3/hash__search_8cpp.html", "d1/df3/hash__search_8cpp" ], + [ "interpolation_search.cpp", "d9/dd7/interpolation__search_8cpp_source.html", null ], [ "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" ], diff --git a/dir_296d53ceaeaa7e099814a6def439fe8a.html b/dir_296d53ceaeaa7e099814a6def439fe8a.html index 59bbc43b0..a4294e555 100644 --- a/dir_296d53ceaeaa7e099814a6def439fe8a.html +++ b/dir_296d53ceaeaa7e099814a6def439fe8a.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: math Directory Reference +TheAlgorithms/C++: math Directory Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -110,179 +127,183 @@ $(function(){initNavTree('dir_296d53ceaeaa7e099814a6def439fe8a.html',''); initRe
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    - + - + - + - + + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - +

    Files

     aliquot_sum.cpp
     aliquot_sum.cpp
     Program to return the Aliquot Sum of a number.
     
     approximate_pi.cpp
     approximate_pi.cpp
     Implementation to calculate an estimate of the number π (Pi).
     
     area.cpp
     area.cpp
     Implementations for the area of various shapes.
     
     binary_exponent.cpp
     armstrong_number.cpp
     
     binary_exponent.cpp
     C++ Program to find Binary Exponent Iteratively and Recursively.
     
     binomial_calculate.cpp
     binomial_calculate.cpp
     Program to calculate Binomial coefficients
     
     check_amicable_pair.cpp
     check_amicable_pair.cpp
     A C++ Program to check whether a pair of numbers is an amicable pair or not.
     
     check_factorial.cpp
     check_factorial.cpp
     A simple program to check if the given number is a factorial of some number or not.
     
     check_prime.cpp
     check_prime.cpp
     A simple program to check if the given number is Prime or not.
     
     complex_numbers.cpp
     complex_numbers.cpp
     An implementation of Complex Number as Objects.
     
     double_factorial.cpp
     double_factorial.cpp
     Compute double factorial: \(n!!\).
     
     eratosthenes.cpp
     eratosthenes.cpp
     The Sieve of Eratosthenes
     
     eulers_totient_function.cpp
     eulers_totient_function.cpp
     Implementation of Euler's Totient @description Euler Totient Function is also known as phi function.
     
     extended_euclid_algorithm.cpp
     extended_euclid_algorithm.cpp
     GCD using [extended Euclid's algorithm] (https://en.wikipedia.org/wiki/Extended_Euclidean_algorithm)
     
     factorial.cpp
     factorial.cpp
     Find the factorial of a given number.
     
     fast_power.cpp
     fast_power.cpp
     Faster computation for \(a^b\).
     
     fibonacci.cpp
     fibonacci.cpp
     n-th Fibonacci number.
     
     fibonacci_fast.cpp
     fibonacci_fast.cpp
     Faster computation of Fibonacci series.
     
     fibonacci_large.cpp
     fibonacci_large.cpp
     Computes N^th Fibonacci number given as input argument. Uses custom build arbitrary integers library to perform additions and other operations.
     
     fibonacci_matrix_exponentiation.cpp
     fibonacci_matrix_exponentiation.cpp
     This program computes the N^th Fibonacci number in modulo mod input argument .
     
     fibonacci_sum.cpp
     fibonacci_sum.cpp
     An algorithm to calculate the sum of Fibonacci Sequence: \(\mathrm{F}(n) + \mathrm{F}(n+1) + .. + \mathrm{F}(m)\).
     
     finding_number_of_digits_in_a_number.cpp
     finding_number_of_digits_in_a_number.cpp
     [Program to count digits in an integer](https://www.geeksforgeeks.org/program-count-digits-integer-3-different-methods)
     
     gcd_iterative_euclidean.cpp
     gcd_iterative_euclidean.cpp
     Compute the greatest common denominator of two integers using iterative form of Euclidean algorithm
     
     gcd_of_n_numbers.cpp
     gcd_of_n_numbers.cpp
     This program aims at calculating the GCD of n numbers.
     
     gcd_recursive_euclidean.cpp
     gcd_recursive_euclidean.cpp
     Compute the greatest common denominator of two integers using recursive form of Euclidean algorithm
     
     integral_approximation.cpp
     integral_approximation.cpp
     Compute integral approximation of the function using Riemann sum
     
     integral_approximation2.cpp
     integral_approximation2.cpp
     Monte Carlo Integration
     
     inv_sqrt.cpp
     inv_sqrt.cpp
     Implementation of the inverse square root Root.
     
     iterative_factorial.cpp
     iterative_factorial.cpp
     Iterative implementation of Factorial
     
     large_factorial.cpp
     large_factorial.cpp
     Compute factorial of any arbitratily large number/.
     
     large_number.h
     Library to perform arithmatic operations on arbitrarily large numbers.
     
     largest_power.cpp
     largest_power.cpp
     Algorithm to find largest x such that p^x divides n! (factorial) using Legendre's Formula.
     
     lcm_sum.cpp
     lcm_sum.cpp
     An algorithm to calculate the sum of LCM: \(\mathrm{LCM}(1,n) + \mathrm{LCM}(2,n) + \ldots + \mathrm{LCM}(n,n)\).
     
     least_common_multiple.cpp
     least_common_multiple.cpp
     
     magic_number.cpp
     linear_recurrence_matrix.cpp
     
     magic_number.cpp
     A simple program to check if the given number is a magic number or not. A number is said to be a magic number, if the sum of its digits are calculated till a single digit recursively by adding the sum of the digits after every addition. If the single digit comes out to be 1,then the number is a magic number.
     
     miller_rabin.cpp
     miller_rabin.cpp
     
     modular_division.cpp
     modular_division.cpp
     An algorithm to divide two numbers under modulo p Modular Division
     
     modular_exponentiation.cpp
     modular_exponentiation.cpp
     C++ Program for Modular Exponentiation Iteratively.
     
     modular_inverse_fermat_little_theorem.cpp
     modular_inverse_fermat_little_theorem.cpp
     C++ Program to find the modular inverse using Fermat's Little Theorem
     
     modular_inverse_simple.cpp
     modular_inverse_simple.cpp
     Simple implementation of modular multiplicative inverse
     
     n_bonacci.cpp
     n_bonacci.cpp
     Implementation of the N-bonacci series.
     
     n_choose_r.cpp
     n_choose_r.cpp
     Combinations n choose r function implementation
     
     ncr_modulo_p.cpp
     ncr_modulo_p.cpp
     This program aims at calculating nCr modulo p.
     
     number_of_positive_divisors.cpp
     number_of_positive_divisors.cpp
     C++ Program to calculate the number of positive divisors.
     
     perimeter.cpp
     perimeter.cpp
     Implementations for the perimeter of various shapes.
     
     power_for_huge_numbers.cpp
     power_for_huge_numbers.cpp
     Compute powers of large numbers.
     
     power_of_two.cpp
     power_of_two.cpp
     Implementation to check whether a number is a power of 2 or not.
     
     prime_factorization.cpp
     prime_factorization.cpp
     Prime factorization of positive integers.
     
     prime_numbers.cpp
     prime_numbers.cpp
     Get list of prime numbers.
     
     primes_up_to_billion.cpp
     primes_up_to_billion.cpp
     Compute prime numbers upto 1 billion.
     
     quadratic_equations_complex_numbers.cpp
     quadratic_equations_complex_numbers.cpp
     Calculate quadratic equation with complex roots, i.e. b^2 - 4ac < 0.
     
     realtime_stats.cpp
     realtime_stats.cpp
     Compute statistics for data entered in rreal-time.
     
     sieve_of_eratosthenes.cpp
     sieve_of_eratosthenes.cpp
     Prime Numbers using Sieve of Eratosthenes
     
     sqrt_double.cpp
     sqrt_double.cpp
     Calculate the square root of any positive real number in \(O(\log N)\) time, with precision fixed using bisection method of root-finding.
     
     string_fibonacci.cpp
     string_fibonacci.cpp
     This Programme returns the Nth fibonacci as a string.
     
     sum_of_binomial_coefficient.cpp
     sum_of_binomial_coefficient.cpp
     Algorithm to find sum of binomial coefficients of a given positive integer.
     
     sum_of_digits.cpp
     sum_of_digits.cpp
     A C++ Program to find the Sum of Digits of input integer.
     
     vector_cross_product.cpp
     vector_cross_product.cpp
     Calculates the Cross Product and the magnitude of two mathematical 3D vectors.
     
     volume.cpp
     volume.cpp
     Implmentations for the volume of various 3D shapes.
     
    diff --git a/dir_296d53ceaeaa7e099814a6def439fe8a.js b/dir_296d53ceaeaa7e099814a6def439fe8a.js index adf4bc33b..ca21c717a 100644 --- a/dir_296d53ceaeaa7e099814a6def439fe8a.js +++ b/dir_296d53ceaeaa7e099814a6def439fe8a.js @@ -3,6 +3,7 @@ var dir_296d53ceaeaa7e099814a6def439fe8a = [ "aliquot_sum.cpp", "de/d99/aliquot__sum_8cpp.html", "de/d99/aliquot__sum_8cpp" ], [ "approximate_pi.cpp", "d0/d51/approximate__pi_8cpp.html", "d0/d51/approximate__pi_8cpp" ], [ "area.cpp", "dc/d82/area_8cpp.html", "dc/d82/area_8cpp" ], + [ "armstrong_number.cpp", "de/d1e/armstrong__number_8cpp_source.html", null ], [ "binary_exponent.cpp", "de/dcf/binary__exponent_8cpp.html", "de/dcf/binary__exponent_8cpp" ], [ "binomial_calculate.cpp", "d8/db1/binomial__calculate_8cpp.html", "d8/db1/binomial__calculate_8cpp" ], [ "check_amicable_pair.cpp", "d5/df6/check__amicable__pair_8cpp.html", "d5/df6/check__amicable__pair_8cpp" ], @@ -33,6 +34,7 @@ var dir_296d53ceaeaa7e099814a6def439fe8a = [ "largest_power.cpp", "d5/d7a/largest__power_8cpp.html", "d5/d7a/largest__power_8cpp" ], [ "lcm_sum.cpp", "d5/d83/lcm__sum_8cpp.html", "d5/d83/lcm__sum_8cpp" ], [ "least_common_multiple.cpp", "d4/d21/least__common__multiple_8cpp.html", "d4/d21/least__common__multiple_8cpp" ], + [ "linear_recurrence_matrix.cpp", "dc/d52/linear__recurrence__matrix_8cpp_source.html", null ], [ "magic_number.cpp", "d9/d44/magic__number_8cpp.html", "d9/d44/magic__number_8cpp" ], [ "miller_rabin.cpp", "d6/d42/miller__rabin_8cpp.html", "d6/d42/miller__rabin_8cpp" ], [ "modular_division.cpp", "df/d72/modular__division_8cpp.html", "df/d72/modular__division_8cpp" ], diff --git a/dir_2e746e9d06bf2d8ff842208bcc6ebcfc.html b/dir_2e746e9d06bf2d8ff842208bcc6ebcfc.html index 9ec5dfaac..ddc4966e8 100644 --- a/dir_2e746e9d06bf2d8ff842208bcc6ebcfc.html +++ b/dir_2e746e9d06bf2d8ff842208bcc6ebcfc.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: data_structures Directory Reference +TheAlgorithms/C++: data_structures Directory Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -115,77 +132,105 @@ Directories
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    - + - + - + - + - + - + + + - + + + - + - + - + - + + + - + - + - + + + + + + + + + - + - + - + - + + + + + + + + + + + + + - + + + - + - + - +

    Files

     avltree.cpp
     avltree.cpp
     A simple tree implementation using nodes.
     
     binary_search_tree.cpp
     binary_search_tree.cpp
     A simple tree implementation using structured nodes.
     
     binary_search_tree2.cpp
     binary_search_tree2.cpp
     A generic binary search tree implementation. Here you can find more information about the algorithm: Scaler - Binary Search tree.
     
     binaryheap.cpp
     binaryheap.cpp
     A C++ program to demonstrate common Binary Heap Operations.
     
     bloom_filter.cpp
     bloom_filter.cpp
     Bloom Filter generic implementation in C++
     
     disjoint_set.cpp
     circular_queue_using_linked_list.cpp
     
     disjoint_set.cpp
     Disjoint Sets Data Structure (Disjoint Sets)
     
     dsu_path_compression.cpp
     doubly_linked_list.cpp
     
     dsu_path_compression.cpp
     DSU (Disjoint sets)
     
     dsu_union_rank.cpp
     dsu_union_rank.cpp
     DSU (Disjoint sets)
     
     linked_list.cpp
     linked_list.cpp
     Implementation of singly linked list algorithm.
     
     linkedlist_implentation_usingarray.cpp
     linkedlist_implentation_usingarray.cpp
     Linked list implementation using Arrays.
     
     list_array.cpp
     list_array.cpp
     Dynamic Array
     
     morrisinorder.cpp
     
     node.hpp
     Provides Node class and related utilities.
     
     queue.hpp
     
     queue_using_array.cpp
     queue_using_array.cpp
     Implementation of Linear [Queue using array] (https://www.geeksforgeeks.org/array-implementation-of-queue-simple/).
     
     queue_using_two_stacks.cpp
     queue_using_array2.cpp
     
     reverse_a_linked_list.cpp
     queue_using_linked_list.cpp
     
     queue_using_linkedlist.cpp
     
     queue_using_two_stacks.cpp
     
     rb_tree.cpp
     
     reverse_a_linked_list.cpp
     Implementation of Reversing a single linked list
     
     segment_tree.cpp
     segment_tree.cpp
     A data structure to quickly do operations on ranges: the Segment Tree algorithm implementation.
     
     skip_list.cpp
     skip_list.cpp
     Data structure for fast searching and insertion in \(O(\log n)\) time.
     
     sparse_table.cpp
     sparse_table.cpp
     Implementation of Sparse Table for min() function.
     
     stack.hpp
     This class specifies the basic operation on a stack as a linked list.
     
     treap.cpp
     stack_using_array.cpp
     
     stack_using_linked_list.cpp
     
     stack_using_queue.cpp
     
     test_queue.cpp
     
     test_stack.cpp
     
     test_stack_students.cpp
     
     treap.cpp
     A balanced binary search tree (BST) on the basis of binary search tree and heap: the Treap algorithm implementation.
     
     tree_234.cpp
     tree.cpp
     
     tree_234.cpp
     A demo 2-3-4 tree implementation.
     
     trie_modern.cpp
     trie_modern.cpp
     A basic implementation of trie class to store only lower-case strings.
     
     trie_tree.cpp
     trie_tree.cpp
     Implementation of Trie data structure for English alphabets in small characters.
     
     trie_using_hashmap.cpp
     trie_using_hashmap.cpp
     Implementation of Trie data structure using HashMap for different characters and method for predicting words based on prefix.
     
    diff --git a/dir_2e746e9d06bf2d8ff842208bcc6ebcfc.js b/dir_2e746e9d06bf2d8ff842208bcc6ebcfc.js index 96baf8596..09046f45a 100644 --- a/dir_2e746e9d06bf2d8ff842208bcc6ebcfc.js +++ b/dir_2e746e9d06bf2d8ff842208bcc6ebcfc.js @@ -6,22 +6,36 @@ var dir_2e746e9d06bf2d8ff842208bcc6ebcfc = [ "binary_search_tree2.cpp", "df/d42/binary__search__tree2_8cpp.html", "df/d42/binary__search__tree2_8cpp" ], [ "binaryheap.cpp", "de/dc3/binaryheap_8cpp.html", "de/dc3/binaryheap_8cpp" ], [ "bloom_filter.cpp", "d9/dab/bloom__filter_8cpp.html", "d9/dab/bloom__filter_8cpp" ], + [ "circular_queue_using_linked_list.cpp", "d9/dfd/circular__queue__using__linked__list_8cpp_source.html", null ], [ "disjoint_set.cpp", "de/d23/disjoint__set_8cpp.html", "de/d23/disjoint__set_8cpp" ], + [ "doubly_linked_list.cpp", "d7/d85/doubly__linked__list_8cpp_source.html", null ], [ "dsu_path_compression.cpp", "d3/dae/dsu__path__compression_8cpp.html", "d3/dae/dsu__path__compression_8cpp" ], [ "dsu_union_rank.cpp", "df/d28/dsu__union__rank_8cpp.html", "df/d28/dsu__union__rank_8cpp" ], [ "linked_list.cpp", "da/dc3/linked__list_8cpp.html", "da/dc3/linked__list_8cpp" ], [ "linkedlist_implentation_usingarray.cpp", "d3/dce/linkedlist__implentation__usingarray_8cpp.html", "d3/dce/linkedlist__implentation__usingarray_8cpp" ], [ "list_array.cpp", "d7/d00/list__array_8cpp.html", "d7/d00/list__array_8cpp" ], + [ "morrisinorder.cpp", "d5/dc5/morrisinorder_8cpp_source.html", null ], [ "node.hpp", "d3/d09/node_8hpp.html", "d3/d09/node_8hpp" ], [ "queue.hpp", "d7/ded/queue_8hpp_source.html", null ], [ "queue_using_array.cpp", "d8/df0/queue__using__array_8cpp.html", "d8/df0/queue__using__array_8cpp" ], + [ "queue_using_array2.cpp", "df/da7/queue__using__array2_8cpp_source.html", null ], + [ "queue_using_linked_list.cpp", "d8/db7/queue__using__linked__list_8cpp_source.html", null ], + [ "queue_using_linkedlist.cpp", "de/d5b/queue__using__linkedlist_8cpp_source.html", null ], [ "queue_using_two_stacks.cpp", "df/dd0/queue__using__two__stacks_8cpp.html", "df/dd0/queue__using__two__stacks_8cpp" ], + [ "rb_tree.cpp", "d9/dad/rb__tree_8cpp_source.html", null ], [ "reverse_a_linked_list.cpp", "d6/d05/reverse__a__linked__list_8cpp.html", "d6/d05/reverse__a__linked__list_8cpp" ], [ "segment_tree.cpp", "de/dd1/segment__tree_8cpp.html", "de/dd1/segment__tree_8cpp" ], [ "skip_list.cpp", "d0/d5a/skip__list_8cpp.html", "d0/d5a/skip__list_8cpp" ], [ "sparse_table.cpp", "d8/dab/sparse__table_8cpp.html", "d8/dab/sparse__table_8cpp" ], [ "stack.hpp", "df/d47/stack_8hpp.html", "df/d47/stack_8hpp" ], + [ "stack_using_array.cpp", "d8/d96/stack__using__array_8cpp_source.html", null ], + [ "stack_using_linked_list.cpp", "d3/dea/stack__using__linked__list_8cpp_source.html", null ], + [ "stack_using_queue.cpp", "d7/d43/stack__using__queue_8cpp_source.html", null ], + [ "test_queue.cpp", "d8/dce/test__queue_8cpp_source.html", null ], + [ "test_stack.cpp", "d9/dbf/test__stack_8cpp_source.html", null ], + [ "test_stack_students.cpp", "db/dbd/test__stack__students_8cpp_source.html", null ], [ "treap.cpp", "d0/dd2/treap_8cpp.html", "d0/dd2/treap_8cpp" ], + [ "tree.cpp", "d1/d12/tree_8cpp_source.html", null ], [ "tree_234.cpp", "db/dbc/tree__234_8cpp.html", "db/dbc/tree__234_8cpp" ], [ "trie_modern.cpp", "dc/d93/trie__modern_8cpp.html", "dc/d93/trie__modern_8cpp" ], [ "trie_tree.cpp", "d7/d83/trie__tree_8cpp.html", "d7/d83/trie__tree_8cpp" ], diff --git a/dir_3343723ae086de42ee4ca9774da3a13f.html b/dir_3343723ae086de42ee4ca9774da3a13f.html index cc39f1851..95cfe8beb 100644 --- a/dir_3343723ae086de42ee4ca9774da3a13f.html +++ b/dir_3343723ae086de42ee4ca9774da3a13f.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: machine_learning Directory Reference +TheAlgorithms/C++: machine_learning Directory Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -110,22 +127,24 @@ $(function(){initNavTree('dir_3343723ae086de42ee4ca9774da3a13f.html',''); initRe
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    - + + + - + - + - + - + - + diff --git a/dir_3343723ae086de42ee4ca9774da3a13f.js b/dir_3343723ae086de42ee4ca9774da3a13f.js index 93ee24550..eb28d4675 100644 --- a/dir_3343723ae086de42ee4ca9774da3a13f.js +++ b/dir_3343723ae086de42ee4ca9774da3a13f.js @@ -1,5 +1,6 @@ var dir_3343723ae086de42ee4ca9774da3a13f = [ + [ "a_star_search.cpp", "dd/dec/a__star__search_8cpp_source.html", null ], [ "adaline_learning.cpp", "d5/db0/adaline__learning_8cpp.html", "d5/db0/adaline__learning_8cpp" ], [ "k_nearest_neighbors.cpp", "d4/d3e/k__nearest__neighbors_8cpp.html", "d4/d3e/k__nearest__neighbors_8cpp" ], [ "kohonen_som_topology.cpp", "d4/def/kohonen__som__topology_8cpp.html", "d4/def/kohonen__som__topology_8cpp" ], diff --git a/dir_35422be6552f1b3672c1b6c4aba2da64.html b/dir_35422be6552f1b3672c1b6c4aba2da64.html index 0f81d70a9..829deeebb 100644 --- a/dir_35422be6552f1b3672c1b6c4aba2da64.html +++ b/dir_35422be6552f1b3672c1b6c4aba2da64.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: operations_on_datastructures Directory Reference +TheAlgorithms/C++: operations_on_datastructures Directory Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({

    Files

     adaline_learning.cpp
     a_star_search.cpp
     
     adaline_learning.cpp
     Adaptive Linear Neuron (ADALINE) implementation
     
     k_nearest_neighbors.cpp
     k_nearest_neighbors.cpp
     Implementation of [K-Nearest Neighbors algorithm] (https://en.wikipedia.org/wiki/K-nearest_neighbors_algorithm).
     
     kohonen_som_topology.cpp
     kohonen_som_topology.cpp
     Kohonen self organizing map (topological map)
     
     kohonen_som_trace.cpp
     kohonen_som_trace.cpp
     Kohonen self organizing map (data tracing)
     
     neural_network.cpp
     neural_network.cpp
     Implementation of [Multilayer Perceptron] (https://en.wikipedia.org/wiki/Multilayer_perceptron).
     
     ordinary_least_squares_regressor.cpp
     ordinary_least_squares_regressor.cpp
     Linear regression example using Ordinary least squares
     
     vector_ops.hpp
    + @@ -110,28 +127,36 @@ $(function(){initNavTree('dir_35422be6552f1b3672c1b6c4aba2da64.html',''); initRe
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    - + - + - + - + + + + + - + - + + + - + + + - +

    Files

     array_left_rotation.cpp
     array_left_rotation.cpp
     Implementation for the Array Left Rotation algorithm.
     
     array_right_rotation.cpp
     array_right_rotation.cpp
     Implementation for the Array right Rotation algorithm.
     
     circular_linked_list.cpp
     circular_linked_list.cpp
     Implementation for a Circular Linked List.
     
     inorder_successor_of_bst.cpp
     circular_queue_using_array.cpp
     
     get_size_of_linked_list.cpp
     
     inorder_successor_of_bst.cpp
     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.
     
     intersection_of_two_arrays.cpp
     intersection_of_two_arrays.cpp
     Implementation for the Intersection of two sorted Arrays algorithm.
     
     reverse_binary_tree.cpp
     reverse_a_linked_list_using_recusion.cpp
     
     reverse_binary_tree.cpp
     Implementation for the Reversing a Binary Tree recursively algorithm.
     
     trie_multiple_search.cpp
     selectionsortlinkedlist.cpp
     
     trie_multiple_search.cpp
     Trie datastructure with search variants
     
     union_of_two_arrays.cpp
     union_of_two_arrays.cpp
     Implementation for the Union of two sorted Arrays algorithm.
     
    diff --git a/dir_35422be6552f1b3672c1b6c4aba2da64.js b/dir_35422be6552f1b3672c1b6c4aba2da64.js index b74cebda3..890da32c9 100644 --- a/dir_35422be6552f1b3672c1b6c4aba2da64.js +++ b/dir_35422be6552f1b3672c1b6c4aba2da64.js @@ -3,9 +3,13 @@ var dir_35422be6552f1b3672c1b6c4aba2da64 = [ "array_left_rotation.cpp", "d9/d14/array__left__rotation_8cpp.html", "d9/d14/array__left__rotation_8cpp" ], [ "array_right_rotation.cpp", "d6/d57/array__right__rotation_8cpp.html", "d6/d57/array__right__rotation_8cpp" ], [ "circular_linked_list.cpp", "de/d33/circular__linked__list_8cpp.html", "de/d33/circular__linked__list_8cpp" ], + [ "circular_queue_using_array.cpp", "d3/dfb/circular__queue__using__array_8cpp_source.html", null ], + [ "get_size_of_linked_list.cpp", "d7/dab/get__size__of__linked__list_8cpp_source.html", null ], [ "inorder_successor_of_bst.cpp", "d4/d32/inorder__successor__of__bst_8cpp.html", "d4/d32/inorder__successor__of__bst_8cpp" ], [ "intersection_of_two_arrays.cpp", "de/dc5/intersection__of__two__arrays_8cpp.html", "de/dc5/intersection__of__two__arrays_8cpp" ], + [ "reverse_a_linked_list_using_recusion.cpp", "d8/d30/reverse__a__linked__list__using__recusion_8cpp_source.html", null ], [ "reverse_binary_tree.cpp", "d4/db6/reverse__binary__tree_8cpp.html", "d4/db6/reverse__binary__tree_8cpp" ], + [ "selectionsortlinkedlist.cpp", "d9/dcc/selectionsortlinkedlist_8cpp_source.html", null ], [ "trie_multiple_search.cpp", "d7/def/trie__multiple__search_8cpp.html", "d7/def/trie__multiple__search_8cpp" ], [ "union_of_two_arrays.cpp", "d8/d9c/union__of__two__arrays_8cpp.html", "d8/d9c/union__of__two__arrays_8cpp" ] ]; \ No newline at end of file diff --git a/dir_4b6f782e158b0b98da980a0e11a23a15.html b/dir_4b6f782e158b0b98da980a0e11a23a15.html index e3836d690..285442922 100644 --- a/dir_4b6f782e158b0b98da980a0e11a23a15.html +++ b/dir_4b6f782e158b0b98da980a0e11a23a15.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: games Directory Reference +TheAlgorithms/C++: games Directory Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -110,7 +127,7 @@ $(function(){initNavTree('dir_4b6f782e158b0b98da980a0e11a23a15.html',''); initRe
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    - +

    Files

     memory_game.cpp
     memory_game.cpp
     A simple Memory Game with 3 different sizes and multiple letters.
     
    diff --git a/dir_4d6e05837bf820fb089a8a8cdf2f42b7.html b/dir_4d6e05837bf820fb089a8a8cdf2f42b7.html index 8f2a4448c..f7c14c4fa 100644 --- a/dir_4d6e05837bf820fb089a8a8cdf2f42b7.html +++ b/dir_4d6e05837bf820fb089a8a8cdf2f42b7.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: ciphers Directory Reference +TheAlgorithms/C++: ciphers Directory Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -115,32 +132,34 @@ Directory dependency graph for ciphers:
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    - + - + - + + + - + - + - + - + - +

    Files

     a1z26_cipher.cpp
     a1z26_cipher.cpp
     Implementation of the A1Z26 cipher
     
     atbash_cipher.cpp
     atbash_cipher.cpp
     Atbash Cipher implementation
     
     caesar_cipher.cpp
     base64_encoding.cpp
     
     caesar_cipher.cpp
     Implementation of Caesar cipher algorithm.
     
     elliptic_curve_key_exchange.cpp
     elliptic_curve_key_exchange.cpp
     Implementation of Elliptic Curve Diffie Hellman Key Exchange.
     
     hill_cipher.cpp
     hill_cipher.cpp
     Implementation of Hill cipher algorithm.
     
     morse_code.cpp
     morse_code.cpp
     Implementation of [Morse Code] (https://en.wikipedia.org/wiki/Morse_code).
     
     uint128_t.hpp
     
     uint256_t.hpp
     
     vigenere_cipher.cpp
     vigenere_cipher.cpp
     Implementation of Vigenère cipher algorithm.
     
     xor_cipher.cpp
     xor_cipher.cpp
     Implementation of XOR cipher algorithm.
     
    diff --git a/dir_4d6e05837bf820fb089a8a8cdf2f42b7.js b/dir_4d6e05837bf820fb089a8a8cdf2f42b7.js index 3985eb10e..79f8b4ed8 100644 --- a/dir_4d6e05837bf820fb089a8a8cdf2f42b7.js +++ b/dir_4d6e05837bf820fb089a8a8cdf2f42b7.js @@ -2,6 +2,7 @@ var dir_4d6e05837bf820fb089a8a8cdf2f42b7 = [ [ "a1z26_cipher.cpp", "de/db6/a1z26__cipher_8cpp.html", "de/db6/a1z26__cipher_8cpp" ], [ "atbash_cipher.cpp", "dc/dfb/atbash__cipher_8cpp.html", "dc/dfb/atbash__cipher_8cpp" ], + [ "base64_encoding.cpp", "d1/d1c/base64__encoding_8cpp_source.html", null ], [ "caesar_cipher.cpp", "d6/d2c/caesar__cipher_8cpp.html", "d6/d2c/caesar__cipher_8cpp" ], [ "elliptic_curve_key_exchange.cpp", "df/d2c/elliptic__curve__key__exchange_8cpp.html", "df/d2c/elliptic__curve__key__exchange_8cpp" ], [ "hill_cipher.cpp", "d7/db9/hill__cipher_8cpp.html", "d7/db9/hill__cipher_8cpp" ], diff --git a/dir_53e6fa9553ac22a5646d2a2b2d7b97a1.html b/dir_53e6fa9553ac22a5646d2a2b2d7b97a1.html new file mode 100644 index 000000000..4597b56b6 --- /dev/null +++ b/dir_53e6fa9553ac22a5646d2a2b2d7b97a1.html @@ -0,0 +1,143 @@ + + + + + + + + +TheAlgorithms/C++: scripts Directory Reference + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    TheAlgorithms/C++ 1.0.0 +
    +
    All the algorithms implemented in C++
    +
    +
    + + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    scripts Directory Reference
    +
    +
    + + + + +

    +Files

     file_linter.py
     
    +
    +
    + + + + diff --git a/dir_53e6fa9553ac22a5646d2a2b2d7b97a1.js b/dir_53e6fa9553ac22a5646d2a2b2d7b97a1.js new file mode 100644 index 000000000..1fbe92b31 --- /dev/null +++ b/dir_53e6fa9553ac22a5646d2a2b2d7b97a1.js @@ -0,0 +1,4 @@ +var dir_53e6fa9553ac22a5646d2a2b2d7b97a1 = +[ + [ "file_linter.py", "d6/d02/file__linter_8py_source.html", null ] +]; \ No newline at end of file diff --git a/dir_59dc24c326e2a72d1164f014b22de83d.html b/dir_59dc24c326e2a72d1164f014b22de83d.html index 58ee0508b..38df3aff2 100644 --- a/dir_59dc24c326e2a72d1164f014b22de83d.html +++ b/dir_59dc24c326e2a72d1164f014b22de83d.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: physics Directory Reference +TheAlgorithms/C++: physics Directory Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -110,7 +127,7 @@ $(function(){initNavTree('dir_59dc24c326e2a72d1164f014b22de83d.html',''); initRe
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    - +

    Files

     ground_to_ground_projectile_motion.cpp
     ground_to_ground_projectile_motion.cpp
     Ground to ground projectile motion equation implementations.
     
    diff --git a/dir_73a3cc5065b223eb41b02873c0e19f0e.html b/dir_73a3cc5065b223eb41b02873c0e19f0e.html index 6b2036b11..c03f97d6e 100644 --- a/dir_73a3cc5065b223eb41b02873c0e19f0e.html +++ b/dir_73a3cc5065b223eb41b02873c0e19f0e.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: strings Directory Reference +TheAlgorithms/C++: strings Directory Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -110,28 +127,28 @@ $(function(){initNavTree('dir_73a3cc5065b223eb41b02873c0e19f0e.html',''); initRe
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    - + - + - + - + - + - + - + - +

    Files

     boyer_moore.cpp
     boyer_moore.cpp
     The Boyer–Moore algorithm searches for occurrences of pattern P in text T by performing explicit character comparisons at different alignments. Instead of a brute-force search of all alignments (of which there are n - m + 1), Boyer–Moore uses information gained by preprocessing P to skip as many alignments as possible.
     
     brute_force_string_searching.cpp
     brute_force_string_searching.cpp
     String pattern search - brute force.
     
     duval.cpp
     duval.cpp
     Implementation of Duval's algorithm.
     
     horspool.cpp
     horspool.cpp
     Horspool's algorithm that finds if a string contains a substring (https://en.wikipedia.org/wiki/Boyer%E2%80%93Moore%E2%80%93Horspool_algorithm)
     
     knuth_morris_pratt.cpp
     knuth_morris_pratt.cpp
     The Knuth-Morris-Pratt Algorithm for finding a pattern within a piece of text with complexity O(n + m)
     
     manacher_algorithm.cpp
     manacher_algorithm.cpp
     Implementation of Manacher's Algorithm
     
     rabin_karp.cpp
     rabin_karp.cpp
     The Rabin-Karp Algorithm for finding a pattern within a piece of text with complexity O(n + m)
     
     z_function.cpp
     z_function.cpp
     The Z function for finding occurences of a pattern within a piece of text with time and space complexity O(n + m)
     
    diff --git a/dir_82e494173a87936756866de2fa774307.html b/dir_82e494173a87936756866de2fa774307.html index 745c2cc1b..dec00b6fd 100644 --- a/dir_82e494173a87936756866de2fa774307.html +++ b/dir_82e494173a87936756866de2fa774307.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: probability Directory Reference +TheAlgorithms/C++: probability Directory Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -110,25 +127,25 @@ $(function(){initNavTree('dir_82e494173a87936756866de2fa774307.html',''); initRe
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    - + - + - + - + - + - + - +

    Files

     addition_rule.cpp
     addition_rule.cpp
     Addition rule of probabilities.
     
     bayes_theorem.cpp
     bayes_theorem.cpp
     Bayes' theorem
     
     binomial_dist.cpp
     binomial_dist.cpp
     Binomial distribution example
     
     exponential_dist.cpp
     exponential_dist.cpp
     Exponential Distribution
     
     geometric_dist.cpp
     geometric_dist.cpp
     Geometric Distribution
     
     poisson_dist.cpp
     poisson_dist.cpp
     Poisson statistics
     
     windowed_median.cpp
     windowed_median.cpp
     An implementation of a median calculation of a sliding window along a data stream.
     
    diff --git a/dir_8a20dd5bfd5341a725342bf72b6b686f.html b/dir_8a20dd5bfd5341a725342bf72b6b686f.html index 34c5826b3..2cd80f420 100644 --- a/dir_8a20dd5bfd5341a725342bf72b6b686f.html +++ b/dir_8a20dd5bfd5341a725342bf72b6b686f.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: dynamic_programming Directory Reference +TheAlgorithms/C++: dynamic_programming Directory Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -110,61 +127,85 @@ $(function(){initNavTree('dir_8a20dd5bfd5341a725342bf72b6b686f.html',''); initRe
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    - + - + - + - + + + - + + + - + - + + + + + + + + + - + - + - + + + - + + + - + + + - + - + - + + + + + - + - + - + + + - +

    Files

     0_1_knapsack.cpp
     0_1_knapsack.cpp
     Implementation of [0-1 Knapsack Problem] (https://en.wikipedia.org/wiki/Knapsack_problem)
     
     abbreviation.cpp
     abbreviation.cpp
     Implementation of Abbrievation
     
     armstrong_number_templated.cpp
     armstrong_number_templated.cpp
     Checks whether a number is an Armstrong Number or not.
     
     catalan_numbers.cpp
     bellman_ford.cpp
     
     catalan_numbers.cpp
     Provides utilities to compute Catalan numbers using dynamic programming. A Catalan numbers satisfy these recurrence relations: C(0) = C(1) = 1; C(n) = sum(C(i).C(n-i-1)), for i = 0 to n-1 Read more about Catalan numbers here: https://en.wikipedia.org/wiki/Catalan_number https://oeis.org/A000108/.
     
     coin_change_topdown.cpp
     coin_change.cpp
     
     coin_change_topdown.cpp
     Minimum coins change problem is a problem used to find the minimum number of coins required to completely reach a target amount.
     
     cut_rod.cpp
     cut_rod.cpp
     Implementation of cutting a rod problem.
     
     house_robber.cpp
     edit_distance.cpp
     
     egg_dropping_puzzle.cpp
     
     fibonacci_bottom_up.cpp
     
     floyd_warshall.cpp
     
     house_robber.cpp
     Implementation of House Robber Problem algorithm.
     
     kadane.cpp
     kadane.cpp
     Implementation of Kadane Algorithm
     
     longest_common_string.cpp
     longest_common_string.cpp
     contains the definition of the function longest_common_string_length
     
     longest_increasing_subsequence.cpp
     longest_common_subsequence.cpp
     
     longest_increasing_subsequence.cpp
     Calculate the length of the longest increasing subsequence in an array.
     
     longest_palindromic_subsequence.cpp
     longest_increasing_subsequence_nlogn.cpp
     
     longest_palindromic_subsequence.cpp
     Program to find the Longest Palindormic Subsequence of a string.
     
     maximum_circular_subarray.cpp
     matrix_chain_multiplication.cpp
     
     maximum_circular_subarray.cpp
     C++ program for maximum contiguous circular sum problem using Kadane's Algorithm
     
     minimum_edit_distance.cpp
     minimum_edit_distance.cpp
     Implementation of Minimum Edit Distance using Dynamic Programing.
     
     palindrome_partitioning.cpp
     palindrome_partitioning.cpp
     Implements Palindrome Partitioning algorithm, giving you the minimum number of partitions you need to make.
     
     shortest_common_supersequence.cpp
     partition_problem.cpp
     
     searching_of_element_in_dynamic_array.cpp
     
     shortest_common_supersequence.cpp
     SCS is a string Z which is the shortest supersequence of strings X and Y (may not be continuous in Z, but order is maintained).
     
     subset_sum_dynamic.cpp
     subset_sum_dynamic.cpp
     Implements [Sub-set sum problem] (https://en.wikipedia.org/wiki/Subset_sum_problem) algorithm, which tells whether a subset with target sum exists or not.
     
     trapped_rainwater.cpp
     trapped_rainwater.cpp
     Implementation of the Trapped Rainwater Problem
     
     unbounded_0_1_knapsack.cpp
     tree_height.cpp
     
     unbounded_0_1_knapsack.cpp
     Implementation of the Unbounded 0/1 Knapsack Problem.
     
     word_break.cpp
     word_break.cpp
     Word Break Problem
     
    diff --git a/dir_8a20dd5bfd5341a725342bf72b6b686f.js b/dir_8a20dd5bfd5341a725342bf72b6b686f.js index a96479ead..0af5548c1 100644 --- a/dir_8a20dd5bfd5341a725342bf72b6b686f.js +++ b/dir_8a20dd5bfd5341a725342bf72b6b686f.js @@ -3,20 +3,32 @@ var dir_8a20dd5bfd5341a725342bf72b6b686f = [ "0_1_knapsack.cpp", "db/d16/0__1__knapsack_8cpp.html", "db/d16/0__1__knapsack_8cpp" ], [ "abbreviation.cpp", "d7/d73/abbreviation_8cpp.html", "d7/d73/abbreviation_8cpp" ], [ "armstrong_number_templated.cpp", "d1/da7/armstrong__number__templated_8cpp.html", "d1/da7/armstrong__number__templated_8cpp" ], + [ "bellman_ford.cpp", "df/d14/bellman__ford_8cpp_source.html", null ], [ "catalan_numbers.cpp", "de/dd9/catalan__numbers_8cpp.html", "de/dd9/catalan__numbers_8cpp" ], + [ "coin_change.cpp", "d9/d6b/coin__change_8cpp_source.html", null ], [ "coin_change_topdown.cpp", "d9/d31/coin__change__topdown_8cpp.html", "d9/d31/coin__change__topdown_8cpp" ], [ "cut_rod.cpp", "d6/d10/cut__rod_8cpp.html", "d6/d10/cut__rod_8cpp" ], + [ "edit_distance.cpp", "d5/d82/edit__distance_8cpp_source.html", null ], + [ "egg_dropping_puzzle.cpp", "d2/d7d/egg__dropping__puzzle_8cpp_source.html", null ], + [ "fibonacci_bottom_up.cpp", "d1/d7c/fibonacci__bottom__up_8cpp_source.html", null ], + [ "floyd_warshall.cpp", "df/d31/floyd__warshall_8cpp_source.html", null ], [ "house_robber.cpp", "d6/d26/house__robber_8cpp.html", "d6/d26/house__robber_8cpp" ], [ "kadane.cpp", "d4/da0/kadane_8cpp.html", "d4/da0/kadane_8cpp" ], [ "longest_common_string.cpp", "da/d0d/longest__common__string_8cpp.html", "da/d0d/longest__common__string_8cpp" ], + [ "longest_common_subsequence.cpp", "d4/def/longest__common__subsequence_8cpp_source.html", null ], [ "longest_increasing_subsequence.cpp", "d7/d57/longest__increasing__subsequence_8cpp.html", "d7/d57/longest__increasing__subsequence_8cpp" ], + [ "longest_increasing_subsequence_nlogn.cpp", "d5/d21/longest__increasing__subsequence__nlogn_8cpp_source.html", null ], [ "longest_palindromic_subsequence.cpp", "d0/d77/longest__palindromic__subsequence_8cpp.html", "d0/d77/longest__palindromic__subsequence_8cpp" ], + [ "matrix_chain_multiplication.cpp", "d2/da2/matrix__chain__multiplication_8cpp_source.html", null ], [ "maximum_circular_subarray.cpp", "db/dfb/maximum__circular__subarray_8cpp.html", "db/dfb/maximum__circular__subarray_8cpp" ], [ "minimum_edit_distance.cpp", "da/d52/minimum__edit__distance_8cpp.html", "da/d52/minimum__edit__distance_8cpp" ], [ "palindrome_partitioning.cpp", "d5/d90/palindrome__partitioning_8cpp.html", "d5/d90/palindrome__partitioning_8cpp" ], + [ "partition_problem.cpp", "de/d8c/partition__problem_8cpp_source.html", null ], + [ "searching_of_element_in_dynamic_array.cpp", "da/d68/searching__of__element__in__dynamic__array_8cpp_source.html", null ], [ "shortest_common_supersequence.cpp", "d7/d65/shortest__common__supersequence_8cpp.html", "d7/d65/shortest__common__supersequence_8cpp" ], [ "subset_sum_dynamic.cpp", "dc/d67/subset__sum__dynamic_8cpp.html", "dc/d67/subset__sum__dynamic_8cpp" ], [ "trapped_rainwater.cpp", "d9/d80/trapped__rainwater_8cpp.html", "d9/d80/trapped__rainwater_8cpp" ], + [ "tree_height.cpp", "de/d77/tree__height_8cpp_source.html", null ], [ "unbounded_0_1_knapsack.cpp", "d9/dec/unbounded__0__1__knapsack_8cpp.html", "d9/dec/unbounded__0__1__knapsack_8cpp" ], [ "word_break.cpp", "d3/d84/word__break_8cpp.html", "d3/d84/word__break_8cpp" ] ]; \ No newline at end of file diff --git a/dir_93bc990c5cceb745f78af6949e9ef947.html b/dir_93bc990c5cceb745f78af6949e9ef947.html index 65bca9cab..b57716d3f 100644 --- a/dir_93bc990c5cceb745f78af6949e9ef947.html +++ b/dir_93bc990c5cceb745f78af6949e9ef947.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: divide_and_conquer Directory Reference +TheAlgorithms/C++: divide_and_conquer Directory Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -110,9 +127,11 @@ $(function(){initNavTree('dir_93bc990c5cceb745f78af6949e9ef947.html',''); initRe
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    - + + +

    Files

     karatsuba_algorithm_for_fast_multiplication.cpp
     karatsuba_algorithm_for_fast_multiplication.cpp
     Implementation of the Karatsuba algorithm for fast multiplication
     
     strassen_matrix_multiplication.cpp
     
    diff --git a/dir_93bc990c5cceb745f78af6949e9ef947.js b/dir_93bc990c5cceb745f78af6949e9ef947.js index 38a80c977..8536b76f1 100644 --- a/dir_93bc990c5cceb745f78af6949e9ef947.js +++ b/dir_93bc990c5cceb745f78af6949e9ef947.js @@ -1,4 +1,5 @@ var dir_93bc990c5cceb745f78af6949e9ef947 = [ - [ "karatsuba_algorithm_for_fast_multiplication.cpp", "da/dd3/karatsuba__algorithm__for__fast__multiplication_8cpp.html", "da/dd3/karatsuba__algorithm__for__fast__multiplication_8cpp" ] + [ "karatsuba_algorithm_for_fast_multiplication.cpp", "da/dd3/karatsuba__algorithm__for__fast__multiplication_8cpp.html", "da/dd3/karatsuba__algorithm__for__fast__multiplication_8cpp" ], + [ "strassen_matrix_multiplication.cpp", "d0/dea/strassen__matrix__multiplication_8cpp_source.html", null ] ]; \ No newline at end of file diff --git a/dir_9510827d0b234b3cc54b29892f217477.html b/dir_9510827d0b234b3cc54b29892f217477.html index eef24b88c..3d293ebf4 100644 --- a/dir_9510827d0b234b3cc54b29892f217477.html +++ b/dir_9510827d0b234b3cc54b29892f217477.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: others Directory Reference +TheAlgorithms/C++: others Directory Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -110,82 +127,84 @@ $(function(){initNavTree('dir_9510827d0b234b3cc54b29892f217477.html',''); initRe
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    - + - + - + - + - + + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - + +

    Files

     buzz_number.cpp
     buzz_number.cpp
     A buzz number is a number that is either divisible by 7 or has last digit as 7.
     
     decimal_to_binary.cpp
     decimal_to_binary.cpp
     Function to convert decimal number to binary representation.
     
     decimal_to_hexadecimal.cpp
     decimal_to_hexadecimal.cpp
     Convert decimal number to hexadecimal representation.
     
     decimal_to_roman_numeral.cpp
     decimal_to_roman_numeral.cpp
     This Programme Converts a given decimal number in the range [0,4000) to both Lower case and Upper case Roman Numeral.
     
     fast_integer_input.cpp
     easter.cpp
     
     fast_integer_input.cpp
     Read integers from stdin continuously as they are entered without waiting for the \n character.
     
     happy_number.cpp
     happy_number.cpp
     A happy number is a number whose sum of digits is calculated until the sum is a single digit, and this sum turns out to be 1.
     
     iterative_tree_traversals.cpp
     iterative_tree_traversals.cpp
     Iterative version of Preorder, Postorder, and preorder [Traversal of the Tree] (https://en.wikipedia.org/wiki/Tree_traversal)
     
     kadanes3.cpp
     kadanes3.cpp
     Efficient implementation for maximum contiguous subarray sum by Kadane's algorithm.
     
     kelvin_to_celsius.cpp
     kelvin_to_celsius.cpp
     Conversion from Kelvin to Celsius degrees.
     
     lfu_cache.cpp
     lfu_cache.cpp
     Implementation for [LFU Cache] (https://en.wikipedia.org/wiki/Least_frequently_used)
     
     longest_substring_without_repeating_characters.cpp
     longest_substring_without_repeating_characters.cpp
     Solution for Longest Substring Without Repeating Characters problem.
     
     lru_cache.cpp
     lru_cache.cpp
     An implementation of LRU Cache. Lru is a part of cache algorithms (also frequently called cache replacement algorithms or cache replacement policies).
     
     lru_cache2.cpp
     lru_cache2.cpp
     Implementation for [LRU Cache] (https://en.wikipedia.org/wiki/Cache_replacement_policies#:~:text=Least%20Recently%20Used%20(LRU))
     
     matrix_exponentiation.cpp
     matrix_exponentiation.cpp
     Matrix Exponentiation.
     
     palindrome_of_number.cpp
     palindrome_of_number.cpp
     Check if a number is palindrome or not.
     
     paranthesis_matching.cpp
     paranthesis_matching.cpp
     Perform paranthesis matching.
     
     pascal_triangle.cpp
     pascal_triangle.cpp
     Pascal's triangle implementation.
     
     postfix_evaluation.cpp
     postfix_evaluation.cpp
     Evaluation of Postfix Expression
     
     primality_test.cpp
     primality_test.cpp
     Primality test implementation.
     
     recursive_tree_traversal.cpp
     recursive_tree_traversal.cpp
     Recursive version of Inorder, Preorder, and Postorder [Traversal of the Tree] (https://en.wikipedia.org/wiki/Tree_traversal)
     
     smallest_circle.cpp
     smallest_circle.cpp
     Get centre and radius of the smallest circle that circumscribes given set of points.
     
     sparse_matrix.cpp
     sparse_matrix.cpp
     
     spiral_print.cpp
     spiral_print.cpp
     Print the elements of a matrix traversing it spirally.
     
     stairs_pattern.cpp
     stairs_pattern.cpp
     This program is use to print the following pattern.
     
     tower_of_hanoi.cpp
     tower_of_hanoi.cpp
     Solve the Tower of Hanoi problem.
     
     vector_important_functions.cpp
     A C++ program to demonstrate working of std::sort(), std::reverse()
     vector_important_functions.cpp
     A C++ program to demonstrate working of std::sort(), std::reverse()
     
    diff --git a/dir_9510827d0b234b3cc54b29892f217477.js b/dir_9510827d0b234b3cc54b29892f217477.js index f648abcff..26933fa54 100644 --- a/dir_9510827d0b234b3cc54b29892f217477.js +++ b/dir_9510827d0b234b3cc54b29892f217477.js @@ -4,6 +4,7 @@ var dir_9510827d0b234b3cc54b29892f217477 = [ "decimal_to_binary.cpp", "df/d06/decimal__to__binary_8cpp.html", "df/d06/decimal__to__binary_8cpp" ], [ "decimal_to_hexadecimal.cpp", "da/de7/decimal__to__hexadecimal_8cpp.html", "da/de7/decimal__to__hexadecimal_8cpp" ], [ "decimal_to_roman_numeral.cpp", "de/d85/decimal__to__roman__numeral_8cpp.html", "de/d85/decimal__to__roman__numeral_8cpp" ], + [ "easter.cpp", "d6/d4e/easter_8cpp_source.html", null ], [ "fast_integer_input.cpp", "d9/df0/fast__integer__input_8cpp.html", "d9/df0/fast__integer__input_8cpp" ], [ "happy_number.cpp", "db/df3/happy__number_8cpp.html", "db/df3/happy__number_8cpp" ], [ "iterative_tree_traversals.cpp", "d8/d90/iterative__tree__traversals_8cpp.html", "d8/d90/iterative__tree__traversals_8cpp" ], diff --git a/dir_9c6faab82c22511b50177aa2e38e2780.html b/dir_9c6faab82c22511b50177aa2e38e2780.html index acb63477f..3eb6a316e 100644 --- a/dir_9c6faab82c22511b50177aa2e38e2780.html +++ b/dir_9c6faab82c22511b50177aa2e38e2780.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: numerical_methods Directory Reference +TheAlgorithms/C++: numerical_methods Directory Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -110,73 +127,73 @@ $(function(){initNavTree('dir_9c6faab82c22511b50177aa2e38e2780.html',''); initRe
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - +

    Files

     babylonian_method.cpp
     babylonian_method.cpp
     A babylonian method (BM) is an algorithm that computes the square root.
     
     bisection_method.cpp
     bisection_method.cpp
     Solve the equation \(f(x)=0\) using bisection method
     
     brent_method_extrema.cpp
     brent_method_extrema.cpp
     Find real extrema of a univariate real function in a given interval using Brent's method.
     
     composite_simpson_rule.cpp
     composite_simpson_rule.cpp
     Implementation of the Composite Simpson Rule for the approximation.
     
     durand_kerner_roots.cpp
     durand_kerner_roots.cpp
     Compute all possible approximate roots of any given polynomial using Durand Kerner algorithm
     
     false_position.cpp
     false_position.cpp
     Solve the equation \(f(x)=0\) using false position method, also known as the Secant method.
     
     fast_fourier_transform.cpp
     fast_fourier_transform.cpp
     A fast Fourier transform (FFT) is an algorithm that computes the discrete Fourier transform (DFT) of a sequence, or its inverse (IDFT).
     
     gaussian_elimination.cpp
     gaussian_elimination.cpp
     Gaussian elimination method
     
     golden_search_extrema.cpp
     golden_search_extrema.cpp
     Find extrema of a univariate real function in a given interval using golden section search algorithm.
     
     gram_schmidt.cpp
     gram_schmidt.cpp
     Gram Schmidt Orthogonalisation Process
     
     inverse_fast_fourier_transform.cpp
     inverse_fast_fourier_transform.cpp
     An inverse fast Fourier transform (IFFT) is an algorithm that computes the inverse fourier transform.
     
     lu_decompose.cpp
     lu_decompose.cpp
     LU decomposition of a square matrix
     
     lu_decomposition.h
     Functions associated with LU Decomposition of a square matrix.
     
     midpoint_integral_method.cpp
     midpoint_integral_method.cpp
     A numerical method for easy approximation of integrals
     
     newton_raphson_method.cpp
     newton_raphson_method.cpp
     Solve the equation \(f(x)=0\) using Newton-Raphson method for both real and complex solutions.
     
     ode_forward_euler.cpp
     ode_forward_euler.cpp
     Solve a multivariable first order ordinary differential equation (ODEs) using forward Euler method
     
     ode_midpoint_euler.cpp
     ode_midpoint_euler.cpp
     Solve a multivariable first order ordinary differential equation (ODEs) using midpoint Euler method
     
     ode_semi_implicit_euler.cpp
     ode_semi_implicit_euler.cpp
     Solve a multivariable first order ordinary differential equation (ODEs) using semi implicit Euler method
     
     qr_decompose.h
     Library functions to compute QR decomposition of a given matrix.
     
     qr_decomposition.cpp
     qr_decomposition.cpp
     Program to compute the QR decomposition of a given matrix.
     
     qr_eigen_values.cpp
     qr_eigen_values.cpp
     Compute real eigen values and eigen vectors of a symmetric matrix using QR decomposition method.
     
     rungekutta.cpp
     rungekutta.cpp
     Runge Kutta fourth order method implementation
     
     successive_approximation.cpp
     successive_approximation.cpp
     Method of successive approximations using fixed-point iteration method.
     
    diff --git a/dir_bb1b521853a9c46347182a9d10420771.html b/dir_bb1b521853a9c46347182a9d10420771.html index c623c505b..3591d6155 100644 --- a/dir_bb1b521853a9c46347182a9d10420771.html +++ b/dir_bb1b521853a9c46347182a9d10420771.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: sorting Directory Reference +TheAlgorithms/C++: sorting Directory Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -110,87 +127,117 @@ $(function(){initNavTree('dir_bb1b521853a9c46347182a9d10420771.html',''); initRe
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    - + + + - + + + - + - + + + + + - + - + + + + + - + - + - + - + - + - + + + - + - + - + + + + + - + - + - + - + - + + + - + - + - + + + - + + + - + + + - + - + + + + + - +

    Files

     binary_insertion_sort.cpp
     bead_sort.cpp
     
     binary_insertion_sort.cpp
     Binary Insertion Sort Algorithm (Insertion Sort)
     
     bogo_sort.cpp
     bitonic_sort.cpp
     
     bogo_sort.cpp
     Implementation of Bogosort algorithm
     
     bubble_sort.cpp
     bubble_sort.cpp
     Bubble sort algorithm.
     
     comb_sort.cpp
     bucket_sort.cpp
     
     cocktail_selection_sort.cpp
     
     comb_sort.cpp
     Comb Sort Algorithm (Comb Sort)
     
     count_inversions.cpp
     count_inversions.cpp
     Counting Inversions using Merge Sort
     
     cycle_sort.cpp
     counting_sort.cpp
     
     counting_sort_string.cpp
     
     cycle_sort.cpp
     Implementation of Cycle sort algorithm.
     
     dnf_sort.cpp
     dnf_sort.cpp
     Implementation of the DNF sort implementation.
     
     gnome_sort.cpp
     gnome_sort.cpp
     Implementation of gnome sort algorithm.
     
     heap_sort.cpp
     heap_sort.cpp
     Heap Sort Algorithm (heap sort) implementation
     
     insertion_sort.cpp
     insertion_sort.cpp
     Insertion Sort Algorithm (Insertion Sort)
     
     insertion_sort_recursive.cpp
     insertion_sort_recursive.cpp
     Insertion Sort Algorithm.
     
     merge_insertion_sort.cpp
     library_sort.cpp
     
     merge_insertion_sort.cpp
     Algorithm that combines insertion sort and merge sort. Wiki link
     
     merge_sort.cpp
     merge_sort.cpp
     Merege Sort Algorithm (MEREGE SORT) implementation
     
     non_recursive_merge_sort.cpp
     non_recursive_merge_sort.cpp
     
     pancake_sort.cpp
     numeric_string_sort.cpp
     
     odd_even_sort.cpp
     
     pancake_sort.cpp
     pancake sort sorts a disordered stack of pancakes by flipping any number of pancakes using a spatula using minimum number of flips.
     
     pigeonhole_sort.cpp
     pigeonhole_sort.cpp
     Implementation of [Pigeonhole Sort algorithm] (https://en.wikipedia.org/wiki/Pigeonhole_sort)
     
     quick_sort.cpp
     quick_sort.cpp
     Quick sort implementation in C++
     
     quick_sort_3.cpp
     quick_sort_3.cpp
     Implementation Details.
     
     quick_sort_iterative.cpp
     quick_sort_iterative.cpp
     Quick Sort without recursion. This method uses the stack instead. Both recursive and iterative implementations have O(n log n) best case and O(n^2) worst case.
     
     radix_sort2.cpp
     radix_sort.cpp
     
     radix_sort2.cpp
     Algorithm of Radix sort
     
     random_pivot_quick_sort.cpp
     random_pivot_quick_sort.cpp
     Implementation of the Random Pivot Quick Sort algorithm.
     
     recursive_bubble_sort.cpp
     recursive_bubble_sort.cpp
     This is an implementation of a recursive version of the Bubble sort algorithm
     
     selection_sort_recursive.cpp
     selection_sort_iterative.cpp
     
     selection_sort_recursive.cpp
     Implementation of the Selection sort implementation using recursion.
     
     shell_sort2.cpp
     shell_sort.cpp
     
     shell_sort2.cpp
     Shell sort algorithm
     
     stooge_sort.cpp
     slow_sort.cpp
     
     stooge_sort.cpp
     Stooge sort implementation in C++
     
     strand_sort.cpp
     strand_sort.cpp
     Implementation of Strand Sort algorithm.
     
     wave_sort.cpp
     swap_sort.cpp
     
     tim_sort.cpp
     
     wave_sort.cpp
     Implementation of the Wave sort algorithm.
     
     wiggle_sort.cpp
     wiggle_sort.cpp
     [Wiggle Sort Algorithm] (https://leetcode.com/problems/wiggle-sort-ii/) Implementation
     
    diff --git a/dir_bb1b521853a9c46347182a9d10420771.js b/dir_bb1b521853a9c46347182a9d10420771.js index f68319ac9..5548938d6 100644 --- a/dir_bb1b521853a9c46347182a9d10420771.js +++ b/dir_bb1b521853a9c46347182a9d10420771.js @@ -1,31 +1,46 @@ var dir_bb1b521853a9c46347182a9d10420771 = [ + [ "bead_sort.cpp", "d5/d25/bead__sort_8cpp_source.html", null ], [ "binary_insertion_sort.cpp", "d8/dcc/binary__insertion__sort_8cpp.html", "d8/dcc/binary__insertion__sort_8cpp" ], + [ "bitonic_sort.cpp", "d8/d8f/bitonic__sort_8cpp_source.html", null ], [ "bogo_sort.cpp", "d5/ddb/bogo__sort_8cpp.html", "d5/ddb/bogo__sort_8cpp" ], [ "bubble_sort.cpp", "d8/d13/bubble__sort_8cpp.html", "d8/d13/bubble__sort_8cpp" ], + [ "bucket_sort.cpp", "d3/dc1/bucket__sort_8cpp_source.html", null ], + [ "cocktail_selection_sort.cpp", "d9/dd2/cocktail__selection__sort_8cpp_source.html", null ], [ "comb_sort.cpp", "d9/dfd/comb__sort_8cpp.html", "d9/dfd/comb__sort_8cpp" ], [ "count_inversions.cpp", "d2/d26/count__inversions_8cpp.html", "d2/d26/count__inversions_8cpp" ], + [ "counting_sort.cpp", "d1/d40/counting__sort_8cpp_source.html", null ], + [ "counting_sort_string.cpp", "db/db2/counting__sort__string_8cpp_source.html", null ], [ "cycle_sort.cpp", "de/d07/cycle__sort_8cpp.html", "de/d07/cycle__sort_8cpp" ], [ "dnf_sort.cpp", "d6/d1a/dnf__sort_8cpp.html", "d6/d1a/dnf__sort_8cpp" ], [ "gnome_sort.cpp", "d2/d21/gnome__sort_8cpp.html", "d2/d21/gnome__sort_8cpp" ], [ "heap_sort.cpp", "d2/d52/heap__sort_8cpp.html", "d2/d52/heap__sort_8cpp" ], [ "insertion_sort.cpp", "dd/d0d/insertion__sort_8cpp.html", "dd/d0d/insertion__sort_8cpp" ], [ "insertion_sort_recursive.cpp", "dd/d89/insertion__sort__recursive_8cpp.html", "dd/d89/insertion__sort__recursive_8cpp" ], + [ "library_sort.cpp", "d6/d74/library__sort_8cpp_source.html", null ], [ "merge_insertion_sort.cpp", "de/d7b/merge__insertion__sort_8cpp.html", "de/d7b/merge__insertion__sort_8cpp" ], [ "merge_sort.cpp", "d5/df4/merge__sort_8cpp.html", "d5/df4/merge__sort_8cpp" ], [ "non_recursive_merge_sort.cpp", "d0/db6/non__recursive__merge__sort_8cpp.html", "d0/db6/non__recursive__merge__sort_8cpp" ], + [ "numeric_string_sort.cpp", "db/de3/numeric__string__sort_8cpp_source.html", null ], + [ "odd_even_sort.cpp", "d6/da9/odd__even__sort_8cpp_source.html", null ], [ "pancake_sort.cpp", "d3/d92/pancake__sort_8cpp.html", "d3/d92/pancake__sort_8cpp" ], [ "pigeonhole_sort.cpp", "dd/da8/pigeonhole__sort_8cpp.html", "dd/da8/pigeonhole__sort_8cpp" ], [ "quick_sort.cpp", "d1/d21/quick__sort_8cpp.html", "d1/d21/quick__sort_8cpp" ], [ "quick_sort_3.cpp", "d3/d4c/quick__sort__3_8cpp.html", "d3/d4c/quick__sort__3_8cpp" ], [ "quick_sort_iterative.cpp", "d3/d22/quick__sort__iterative_8cpp.html", "d3/d22/quick__sort__iterative_8cpp" ], + [ "radix_sort.cpp", "d8/d7c/radix__sort_8cpp_source.html", null ], [ "radix_sort2.cpp", "d8/d61/radix__sort2_8cpp.html", "d8/d61/radix__sort2_8cpp" ], [ "random_pivot_quick_sort.cpp", "d1/daa/random__pivot__quick__sort_8cpp.html", "d1/daa/random__pivot__quick__sort_8cpp" ], [ "recursive_bubble_sort.cpp", "d3/df9/recursive__bubble__sort_8cpp.html", "d3/df9/recursive__bubble__sort_8cpp" ], + [ "selection_sort_iterative.cpp", "d9/d85/selection__sort__iterative_8cpp_source.html", null ], [ "selection_sort_recursive.cpp", "d4/d9f/selection__sort__recursive_8cpp.html", "d4/d9f/selection__sort__recursive_8cpp" ], + [ "shell_sort.cpp", "de/d40/shell__sort_8cpp_source.html", null ], [ "shell_sort2.cpp", "d4/d7a/shell__sort2_8cpp.html", "d4/d7a/shell__sort2_8cpp" ], + [ "slow_sort.cpp", "db/db5/slow__sort_8cpp_source.html", null ], [ "stooge_sort.cpp", "d4/d4f/stooge__sort_8cpp.html", "d4/d4f/stooge__sort_8cpp" ], [ "strand_sort.cpp", "dc/dd9/strand__sort_8cpp.html", "dc/dd9/strand__sort_8cpp" ], + [ "swap_sort.cpp", "dd/dd5/swap__sort_8cpp_source.html", null ], + [ "tim_sort.cpp", "d5/d1e/tim__sort_8cpp_source.html", null ], [ "wave_sort.cpp", "db/d3f/wave__sort_8cpp.html", "db/d3f/wave__sort_8cpp" ], [ "wiggle_sort.cpp", "d1/dcc/wiggle__sort_8cpp.html", "d1/dcc/wiggle__sort_8cpp" ] ]; \ No newline at end of file diff --git a/dir_c11585dfcef32a26e29098facab6c144.html b/dir_c11585dfcef32a26e29098facab6c144.html index 69bc877e0..13ec93f62 100644 --- a/dir_c11585dfcef32a26e29098facab6c144.html +++ b/dir_c11585dfcef32a26e29098facab6c144.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: backtracking Directory Reference +TheAlgorithms/C++: backtracking Directory Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -110,41 +127,43 @@ $(function(){initNavTree('dir_c11585dfcef32a26e29098facab6c144.html',''); initRe
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    - + - + - + - + + + - + - + - + - + - + - + - + - +

    Files

     generate_parentheses.cpp
     generate_parentheses.cpp
     Well-formed Generated Parentheses with all combinations.
     
     graph_coloring.cpp
     graph_coloring.cpp
     prints the assigned colors using Graph Coloring algorithm
     
     knight_tour.cpp
     knight_tour.cpp
     Knight's tour algorithm
     
     minimax.cpp
     magic_sequence.cpp
     
     minimax.cpp
     returns which is the longest/shortest number using minimax algorithm
     
     n_queens.cpp
     n_queens.cpp
     Eight Queens puzzle
     
     n_queens_all_solution_optimised.cpp
     n_queens_all_solution_optimised.cpp
     N queens all optimized
     
     nqueen_print_all_solutions.cpp
     nqueen_print_all_solutions.cpp
     Eight Queens puzzle, printing all solutions
     
     rat_maze.cpp
     rat_maze.cpp
     Implements Rat in a Maze algorithm.
     
     subarray_sum.cpp
     subarray_sum.cpp
     Subset-sum (only continuous subsets) problem
     
     subset_sum.cpp
     subset_sum.cpp
     Implementation of the Subset Sum problem.
     
     sudoku_solver.cpp
     sudoku_solver.cpp
     Sudoku Solver algorithm.
     
     wildcard_matching.cpp
     wildcard_matching.cpp
     Implementation of the Wildcard Matching problem.
     
    diff --git a/dir_c11585dfcef32a26e29098facab6c144.js b/dir_c11585dfcef32a26e29098facab6c144.js index da2392fc2..6c141c0f8 100644 --- a/dir_c11585dfcef32a26e29098facab6c144.js +++ b/dir_c11585dfcef32a26e29098facab6c144.js @@ -3,6 +3,7 @@ var dir_c11585dfcef32a26e29098facab6c144 = [ "generate_parentheses.cpp", "dd/d1e/generate__parentheses_8cpp.html", "dd/d1e/generate__parentheses_8cpp" ], [ "graph_coloring.cpp", "d3/d40/graph__coloring_8cpp.html", "d3/d40/graph__coloring_8cpp" ], [ "knight_tour.cpp", "d1/d2a/knight__tour_8cpp.html", "d1/d2a/knight__tour_8cpp" ], + [ "magic_sequence.cpp", "d7/d37/magic__sequence_8cpp_source.html", null ], [ "minimax.cpp", "df/dfb/minimax_8cpp.html", "df/dfb/minimax_8cpp" ], [ "n_queens.cpp", "d4/d3e/n__queens_8cpp.html", "d4/d3e/n__queens_8cpp" ], [ "n_queens_all_solution_optimised.cpp", "da/dac/n__queens__all__solution__optimised_8cpp.html", "da/dac/n__queens__all__solution__optimised_8cpp" ], diff --git a/dir_cc8e79ed9d2b7756c78e8d0c87c6c0c7.html b/dir_cc8e79ed9d2b7756c78e8d0c87c6c0c7.html index fc0f25f25..e3f23ab6a 100644 --- a/dir_cc8e79ed9d2b7756c78e8d0c87c6c0c7.html +++ b/dir_cc8e79ed9d2b7756c78e8d0c87c6c0c7.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: cpu_scheduling_algorithms Directory Reference +TheAlgorithms/C++: cpu_scheduling_algorithms Directory Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -110,7 +127,7 @@ $(function(){initNavTree('dir_cc8e79ed9d2b7756c78e8d0c87c6c0c7.html',''); initRe
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    - +

    Files

     fcfs_scheduling.cpp
     fcfs_scheduling.cpp
     Implementation of FCFS CPU scheduling algorithm.
     
    diff --git a/dir_e3380d2178455503f266746fb14246a5.html b/dir_e3380d2178455503f266746fb14246a5.html index 1ee339b4d..df49df1f0 100644 --- a/dir_e3380d2178455503f266746fb14246a5.html +++ b/dir_e3380d2178455503f266746fb14246a5.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: geometry Directory Reference +TheAlgorithms/C++: geometry Directory Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -110,12 +127,14 @@ $(function(){initNavTree('dir_e3380d2178455503f266746fb14246a5.html',''); initRe
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + + - + - +

    Files

     graham_scan_algorithm.cpp
     
     graham_scan_functions.hpp
     
     jarvis_algorithm.cpp
     jarvis_algorithm.cpp
     Implementation of Jarvis’s algorithm.
     
     line_segment_intersection.cpp
     line_segment_intersection.cpp
     check whether two line segments intersect each other or not.
     
    diff --git a/dir_e3380d2178455503f266746fb14246a5.js b/dir_e3380d2178455503f266746fb14246a5.js index c9a648f50..5d507ff1e 100644 --- a/dir_e3380d2178455503f266746fb14246a5.js +++ b/dir_e3380d2178455503f266746fb14246a5.js @@ -1,5 +1,6 @@ var dir_e3380d2178455503f266746fb14246a5 = [ + [ "graham_scan_algorithm.cpp", "de/d79/graham__scan__algorithm_8cpp_source.html", null ], [ "graham_scan_functions.hpp", "de/d89/graham__scan__functions_8hpp_source.html", null ], [ "jarvis_algorithm.cpp", "d4/d8d/jarvis__algorithm_8cpp.html", "d4/d8d/jarvis__algorithm_8cpp" ], [ "line_segment_intersection.cpp", "d8/d6c/line__segment__intersection_8cpp.html", "d8/d6c/line__segment__intersection_8cpp" ] diff --git a/dir_e79632891301b850df87e9c0030293fa.html b/dir_e79632891301b850df87e9c0030293fa.html index e454fd253..65fd24731 100644 --- a/dir_e79632891301b850df87e9c0030293fa.html +++ b/dir_e79632891301b850df87e9c0030293fa.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: graphics Directory Reference +TheAlgorithms/C++: graphics Directory Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -110,7 +127,7 @@ $(function(){initNavTree('dir_e79632891301b850df87e9c0030293fa.html',''); initRe
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    - +

    Files

     spirograph.cpp
     spirograph.cpp
     Implementation of Spirograph
     
    diff --git a/dir_ece9b94c107bbaa1dd68197a8c9983b9.html b/dir_ece9b94c107bbaa1dd68197a8c9983b9.html index 903cd57cb..408035d2b 100644 --- a/dir_ece9b94c107bbaa1dd68197a8c9983b9.html +++ b/dir_ece9b94c107bbaa1dd68197a8c9983b9.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: hashing Directory Reference +TheAlgorithms/C++: hashing Directory Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -110,25 +127,25 @@ $(function(){initNavTree('dir_ece9b94c107bbaa1dd68197a8c9983b9.html',''); initRe
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    - + - + - + - + - + - + - +

    Files

     chaining.cpp
     chaining.cpp
     Implementation of hash chains.
     
     double_hash_hash_table.cpp
     double_hash_hash_table.cpp
     Storage mechanism using double-hashed keys.
     
     linear_probing_hash_table.cpp
     linear_probing_hash_table.cpp
     Storage mechanism using linear probing hash keys.
     
     md5.cpp
     md5.cpp
     Simple C++ implementation of the MD5 Hashing Algorithm
     
     quadratic_probing_hash_table.cpp
     quadratic_probing_hash_table.cpp
     Storage mechanism using quadratic probing hash keys.
     
     sha1.cpp
     sha1.cpp
     Simple C++ implementation of the SHA-1 Hashing Algorithm
     
     sha256.cpp
     sha256.cpp
     Simple C++ implementation of the [SHA-256 Hashing Algorithm] (https://en.wikipedia.org/wiki/SHA-2)
     
    diff --git a/dir_f1797d0c2a0a12033e7d74efffeb14e1.html b/dir_f1797d0c2a0a12033e7d74efffeb14e1.html index 5aa0894bf..95b3ff67c 100644 --- a/dir_f1797d0c2a0a12033e7d74efffeb14e1.html +++ b/dir_f1797d0c2a0a12033e7d74efffeb14e1.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: data_structures/cll Directory Reference +TheAlgorithms/C++: data_structures/cll Directory Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -115,8 +132,12 @@ Directory dependency graph for cll:
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + + + +

    Files

     cll.cpp
     
     cll.h
     
     main_cll.cpp
     
    diff --git a/dir_f1797d0c2a0a12033e7d74efffeb14e1.js b/dir_f1797d0c2a0a12033e7d74efffeb14e1.js index fef75ea2b..5efbf97dd 100644 --- a/dir_f1797d0c2a0a12033e7d74efffeb14e1.js +++ b/dir_f1797d0c2a0a12033e7d74efffeb14e1.js @@ -1,4 +1,6 @@ var dir_f1797d0c2a0a12033e7d74efffeb14e1 = [ - [ "cll.h", "d7/dba/cll_8h_source.html", null ] + [ "cll.cpp", "d1/d70/cll_8cpp_source.html", null ], + [ "cll.h", "d7/dba/cll_8h_source.html", null ], + [ "main_cll.cpp", "df/d97/main__cll_8cpp_source.html", null ] ]; \ No newline at end of file diff --git a/dir_f3c4fbc4e901afa0a54d0623c5574aa7.html b/dir_f3c4fbc4e901afa0a54d0623c5574aa7.html index 9ba84f06b..bca30cb2e 100644 --- a/dir_f3c4fbc4e901afa0a54d0623c5574aa7.html +++ b/dir_f3c4fbc4e901afa0a54d0623c5574aa7.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: bit_manipulation Directory Reference +TheAlgorithms/C++: bit_manipulation Directory Reference + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + @@ -110,31 +127,33 @@ $(function(){initNavTree('dir_f3c4fbc4e901afa0a54d0623c5574aa7.html',''); initRe
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    - + - + - + - + - + + + - + - + - + - +

    Files

     count_bits_flip.cpp
     count_bits_flip.cpp
     Implementation to [Count number of bits to be flipped to convert A to B] (https://www.geeksforgeeks.org/count-number-of-bits-to-be-flipped-to-convert-a-to-b/) in an integer.
     
     count_of_set_bits.cpp
     count_of_set_bits.cpp
     Implementation to [count number of set bits of a number] (https://www.geeksforgeeks.org/count-set-bits-in-an-integer/) in an integer.
     
     count_of_trailing_ciphers_in_factorial_n.cpp
     count_of_trailing_ciphers_in_factorial_n.cpp
     Count the number of ciphers in n! implementation
     
     find_non_repeating_number.cpp
     find_non_repeating_number.cpp
     Implementation to find the non repeating integer in an array of repeating integers. Single Number
     
     hamming_distance.cpp
     gray_code.cpp
     
     hamming_distance.cpp
     Returns the Hamming distance between two integers.
     
     next_higher_number_with_same_number_of_set_bits.cpp
     next_higher_number_with_same_number_of_set_bits.cpp
     [Next higher number with same number of set bits] (https://www.geeksforgeeks.org/next-higher-number-with-same-number-of-set-bits/) implementation
     
     power_of_2.cpp
     power_of_2.cpp
     [Find whether a given number is power of 2] (https://www.geeksforgeeks.org/program-to-find-whether-a-given-number-is-power-of-2/) implementation
     
     set_kth_bit.cpp
     set_kth_bit.cpp
     Implementation to [From the right, set the Kth bit in the binary representation of N] (https://practice.geeksforgeeks.org/problems/set-kth-bit3724/1/) in an integer.
     
     travelling_salesman_using_bit_manipulation.cpp
     travelling_salesman_using_bit_manipulation.cpp
     Implementation to [Travelling Salesman problem using bit-masking] (https://www.geeksforgeeks.org/travelling-salesman-problem-set-1/)
     
    diff --git a/dir_f3c4fbc4e901afa0a54d0623c5574aa7.js b/dir_f3c4fbc4e901afa0a54d0623c5574aa7.js index dff96a6a7..8be350521 100644 --- a/dir_f3c4fbc4e901afa0a54d0623c5574aa7.js +++ b/dir_f3c4fbc4e901afa0a54d0623c5574aa7.js @@ -4,6 +4,7 @@ var dir_f3c4fbc4e901afa0a54d0623c5574aa7 = [ "count_of_set_bits.cpp", "da/db8/count__of__set__bits_8cpp.html", "da/db8/count__of__set__bits_8cpp" ], [ "count_of_trailing_ciphers_in_factorial_n.cpp", "da/d50/count__of__trailing__ciphers__in__factorial__n_8cpp.html", "da/d50/count__of__trailing__ciphers__in__factorial__n_8cpp" ], [ "find_non_repeating_number.cpp", "d6/d38/find__non__repeating__number_8cpp.html", "d6/d38/find__non__repeating__number_8cpp" ], + [ "gray_code.cpp", "d4/d8b/gray__code_8cpp_source.html", null ], [ "hamming_distance.cpp", "d4/d48/hamming__distance_8cpp.html", "d4/d48/hamming__distance_8cpp" ], [ "next_higher_number_with_same_number_of_set_bits.cpp", "d5/d1e/next__higher__number__with__same__number__of__set__bits_8cpp.html", "d5/d1e/next__higher__number__with__same__number__of__set__bits_8cpp" ], [ "power_of_2.cpp", "dc/d6d/power__of__2_8cpp.html", "dc/d6d/power__of__2_8cpp" ], diff --git a/doxygen-awesome.css b/doxygen-awesome.css new file mode 100644 index 000000000..c2f41142f --- /dev/null +++ b/doxygen-awesome.css @@ -0,0 +1,2681 @@ +/** + +Doxygen Awesome +https://github.com/jothepro/doxygen-awesome-css + +MIT License + +Copyright (c) 2021 - 2023 jothepro + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +*/ + +html { + /* primary theme color. This will affect the entire websites color scheme: links, arrows, labels, ... */ + --primary-color: #1779c4; + --primary-dark-color: #335c80; + --primary-light-color: #70b1e9; + + /* page base colors */ + --page-background-color: #ffffff; + --page-foreground-color: #2f4153; + --page-secondary-foreground-color: #6f7e8e; + + /* color for all separators on the website: hr, borders, ... */ + --separator-color: #dedede; + + /* border radius for all rounded components. Will affect many components, like dropdowns, memitems, codeblocks, ... */ + --border-radius-large: 8px; + --border-radius-small: 4px; + --border-radius-medium: 6px; + + /* default spacings. Most components reference these values for spacing, to provide uniform spacing on the page. */ + --spacing-small: 5px; + --spacing-medium: 10px; + --spacing-large: 16px; + + /* default box shadow used for raising an element above the normal content. Used in dropdowns, search result, ... */ + --box-shadow: 0 2px 8px 0 rgba(0,0,0,.075); + + --odd-color: rgba(0,0,0,.028); + + /* font-families. will affect all text on the website + * font-family: the normal font for text, headlines, menus + * font-family-monospace: used for preformatted text in memtitle, code, fragments + */ + --font-family: -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif; + --font-family-monospace: ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace; + + /* font sizes */ + --page-font-size: 15.6px; + --navigation-font-size: 14.4px; + --toc-font-size: 13.4px; + --code-font-size: 14px; /* affects code, fragment */ + --title-font-size: 22px; + + /* content text properties. These only affect the page content, not the navigation or any other ui elements */ + --content-line-height: 27px; + /* The content is centered and constraint in it's width. To make the content fill the whole page, set the variable to auto.*/ + --content-maxwidth: 1050px; + --table-line-height: 24px; + --toc-sticky-top: var(--spacing-medium); + --toc-width: 200px; + --toc-max-height: calc(100vh - 2 * var(--spacing-medium) - 85px); + + /* colors for various content boxes: @warning, @note, @deprecated @bug */ + --warning-color: #faf3d8; + --warning-color-dark: #f3a600; + --warning-color-darker: #5f4204; + --note-color: #e4f3ff; + --note-color-dark: #1879C4; + --note-color-darker: #274a5c; + --todo-color: #e4dafd; + --todo-color-dark: #5b2bdd; + --todo-color-darker: #2a0d72; + --deprecated-color: #ecf0f3; + --deprecated-color-dark: #5b6269; + --deprecated-color-darker: #43454a; + --bug-color: #f8d1cc; + --bug-color-dark: #b61825; + --bug-color-darker: #75070f; + --invariant-color: #d8f1e3; + --invariant-color-dark: #44b86f; + --invariant-color-darker: #265532; + + /* blockquote colors */ + --blockquote-background: #f8f9fa; + --blockquote-foreground: #636568; + + /* table colors */ + --tablehead-background: #f1f1f1; + --tablehead-foreground: var(--page-foreground-color); + + /* menu-display: block | none + * Visibility of the top navigation on screens >= 768px. On smaller screen the menu is always visible. + * `GENERATE_TREEVIEW` MUST be enabled! + */ + --menu-display: block; + + --menu-focus-foreground: var(--page-background-color); + --menu-focus-background: var(--primary-color); + --menu-selected-background: rgba(0,0,0,.05); + + + --header-background: var(--page-background-color); + --header-foreground: var(--page-foreground-color); + + /* searchbar colors */ + --searchbar-background: var(--side-nav-background); + --searchbar-foreground: var(--page-foreground-color); + + /* searchbar size + * (`searchbar-width` is only applied on screens >= 768px. + * on smaller screens the searchbar will always fill the entire screen width) */ + --searchbar-height: 33px; + --searchbar-width: 210px; + --searchbar-border-radius: var(--searchbar-height); + + /* code block colors */ + --code-background: #f5f5f5; + --code-foreground: var(--page-foreground-color); + + /* fragment colors */ + --fragment-background: #F8F9FA; + --fragment-foreground: #37474F; + --fragment-keyword: #bb6bb2; + --fragment-keywordtype: #8258b3; + --fragment-keywordflow: #d67c3b; + --fragment-token: #438a59; + --fragment-comment: #969696; + --fragment-link: #5383d6; + --fragment-preprocessor: #46aaa5; + --fragment-linenumber-color: #797979; + --fragment-linenumber-background: #f4f4f5; + --fragment-linenumber-border: #e3e5e7; + --fragment-lineheight: 20px; + + /* sidebar navigation (treeview) colors */ + --side-nav-background: #fbfbfb; + --side-nav-foreground: var(--page-foreground-color); + --side-nav-arrow-opacity: 0; + --side-nav-arrow-hover-opacity: 0.9; + + --toc-background: var(--side-nav-background); + --toc-foreground: var(--side-nav-foreground); + + /* height of an item in any tree / collapsible table */ + --tree-item-height: 30px; + + --memname-font-size: var(--code-font-size); + --memtitle-font-size: 18px; + + --webkit-scrollbar-size: 7px; + --webkit-scrollbar-padding: 4px; + --webkit-scrollbar-color: var(--separator-color); + + --animation-duration: .12s +} + +@media screen and (max-width: 767px) { + html { + --page-font-size: 16px; + --navigation-font-size: 16px; + --toc-font-size: 15px; + --code-font-size: 15px; /* affects code, fragment */ + --title-font-size: 22px; + } +} + +@media (prefers-color-scheme: dark) { + html:not(.light-mode) { + color-scheme: dark; + + --primary-color: #1982d2; + --primary-dark-color: #86a9c4; + --primary-light-color: #4779ac; + + --box-shadow: 0 2px 8px 0 rgba(0,0,0,.35); + + --odd-color: rgba(100,100,100,.06); + + --menu-selected-background: rgba(0,0,0,.4); + + --page-background-color: #1C1D1F; + --page-foreground-color: #d2dbde; + --page-secondary-foreground-color: #859399; + --separator-color: #38393b; + --side-nav-background: #252628; + + --code-background: #2a2c2f; + + --tablehead-background: #2a2c2f; + + --blockquote-background: #222325; + --blockquote-foreground: #7e8c92; + + --warning-color: #3b2e04; + --warning-color-dark: #f1b602; + --warning-color-darker: #ceb670; + --note-color: #163750; + --note-color-dark: #1982D2; + --note-color-darker: #dcf0fa; + --todo-color: #2a2536; + --todo-color-dark: #7661b3; + --todo-color-darker: #ae9ed6; + --deprecated-color: #2e323b; + --deprecated-color-dark: #738396; + --deprecated-color-darker: #abb0bd; + --bug-color: #2e1917; + --bug-color-dark: #ad2617; + --bug-color-darker: #f5b1aa; + --invariant-color: #303a35; + --invariant-color-dark: #76ce96; + --invariant-color-darker: #cceed5; + + --fragment-background: #282c34; + --fragment-foreground: #dbe4eb; + --fragment-keyword: #cc99cd; + --fragment-keywordtype: #ab99cd; + --fragment-keywordflow: #e08000; + --fragment-token: #7ec699; + --fragment-comment: #999999; + --fragment-link: #98c0e3; + --fragment-preprocessor: #65cabe; + --fragment-linenumber-color: #cccccc; + --fragment-linenumber-background: #35393c; + --fragment-linenumber-border: #1f1f1f; + } +} + +/* dark mode variables are defined twice, to support both the dark-mode without and with doxygen-awesome-darkmode-toggle.js */ +html.dark-mode { + color-scheme: dark; + + --primary-color: #1982d2; + --primary-dark-color: #86a9c4; + --primary-light-color: #4779ac; + + --box-shadow: 0 2px 8px 0 rgba(0,0,0,.30); + + --odd-color: rgba(100,100,100,.06); + + --menu-selected-background: rgba(0,0,0,.4); + + --page-background-color: #1C1D1F; + --page-foreground-color: #d2dbde; + --page-secondary-foreground-color: #859399; + --separator-color: #38393b; + --side-nav-background: #252628; + + --code-background: #2a2c2f; + + --tablehead-background: #2a2c2f; + + --blockquote-background: #222325; + --blockquote-foreground: #7e8c92; + + --warning-color: #3b2e04; + --warning-color-dark: #f1b602; + --warning-color-darker: #ceb670; + --note-color: #163750; + --note-color-dark: #1982D2; + --note-color-darker: #dcf0fa; + --todo-color: #2a2536; + --todo-color-dark: #7661b3; + --todo-color-darker: #ae9ed6; + --deprecated-color: #2e323b; + --deprecated-color-dark: #738396; + --deprecated-color-darker: #abb0bd; + --bug-color: #2e1917; + --bug-color-dark: #ad2617; + --bug-color-darker: #f5b1aa; + --invariant-color: #303a35; + --invariant-color-dark: #76ce96; + --invariant-color-darker: #cceed5; + + --fragment-background: #282c34; + --fragment-foreground: #dbe4eb; + --fragment-keyword: #cc99cd; + --fragment-keywordtype: #ab99cd; + --fragment-keywordflow: #e08000; + --fragment-token: #7ec699; + --fragment-comment: #999999; + --fragment-link: #98c0e3; + --fragment-preprocessor: #65cabe; + --fragment-linenumber-color: #cccccc; + --fragment-linenumber-background: #35393c; + --fragment-linenumber-border: #1f1f1f; +} + +body { + color: var(--page-foreground-color); + background-color: var(--page-background-color); + font-size: var(--page-font-size); +} + +body, table, div, p, dl, #nav-tree .label, .title, +.sm-dox a, .sm-dox a:hover, .sm-dox a:focus, #projectname, +.SelectItem, #MSearchField, .navpath li.navelem a, +.navpath li.navelem a:hover, p.reference, p.definition, div.toc li, div.toc h3 { + font-family: var(--font-family); +} + +h1, h2, h3, h4, h5 { + margin-top: 1em; + font-weight: 600; + line-height: initial; +} + +p, div, table, dl, p.reference, p.definition { + font-size: var(--page-font-size); +} + +p.reference, p.definition { + color: var(--page-secondary-foreground-color); +} + +a:link, a:visited, a:hover, a:focus, a:active { + color: var(--primary-color) !important; + font-weight: 500; + background: none; +} + +a.anchor { + scroll-margin-top: var(--spacing-large); + display: block; +} + +/* + Title and top navigation + */ + +#top { + background: var(--header-background); + border-bottom: 1px solid var(--separator-color); +} + +@media screen and (min-width: 768px) { + #top { + display: flex; + flex-wrap: wrap; + justify-content: space-between; + align-items: center; + } +} + +#main-nav { + flex-grow: 5; + padding: var(--spacing-small) var(--spacing-medium); +} + +#titlearea { + width: auto; + padding: var(--spacing-medium) var(--spacing-large); + background: none; + color: var(--header-foreground); + border-bottom: none; +} + +@media screen and (max-width: 767px) { + #titlearea { + padding-bottom: var(--spacing-small); + } +} + +#titlearea table tbody tr { + height: auto !important; +} + +#projectname { + font-size: var(--title-font-size); + font-weight: 600; +} + +#projectnumber { + font-family: inherit; + font-size: 60%; +} + +#projectbrief { + font-family: inherit; + font-size: 80%; +} + +#projectlogo { + vertical-align: middle; +} + +#projectlogo img { + max-height: calc(var(--title-font-size) * 2); + margin-right: var(--spacing-small); +} + +.sm-dox, .tabs, .tabs2, .tabs3 { + background: none; + padding: 0; +} + +.tabs, .tabs2, .tabs3 { + border-bottom: 1px solid var(--separator-color); + margin-bottom: -1px; +} + +.main-menu-btn-icon, .main-menu-btn-icon:before, .main-menu-btn-icon:after { + background: var(--page-secondary-foreground-color); +} + +@media screen and (max-width: 767px) { + .sm-dox a span.sub-arrow { + background: var(--code-background); + } + + #main-menu a.has-submenu span.sub-arrow { + color: var(--page-secondary-foreground-color); + border-radius: var(--border-radius-medium); + } + + #main-menu a.has-submenu:hover span.sub-arrow { + color: var(--page-foreground-color); + } +} + +@media screen and (min-width: 768px) { + .sm-dox li, .tablist li { + display: var(--menu-display); + } + + .sm-dox a span.sub-arrow { + border-color: var(--header-foreground) transparent transparent transparent; + } + + .sm-dox a:hover span.sub-arrow { + border-color: var(--menu-focus-foreground) transparent transparent transparent; + } + + .sm-dox ul a span.sub-arrow { + border-color: transparent transparent transparent var(--page-foreground-color); + } + + .sm-dox ul a:hover span.sub-arrow { + border-color: transparent transparent transparent var(--menu-focus-foreground); + } +} + +.sm-dox ul { + background: var(--page-background-color); + box-shadow: var(--box-shadow); + border: 1px solid var(--separator-color); + border-radius: var(--border-radius-medium) !important; + padding: var(--spacing-small); + animation: ease-out 150ms slideInMenu; +} + +@keyframes slideInMenu { + from { + opacity: 0; + transform: translate(0px, -2px); + } + + to { + opacity: 1; + transform: translate(0px, 0px); + } +} + +.sm-dox ul a { + color: var(--page-foreground-color) !important; + background: var(--page-background-color); + font-size: var(--navigation-font-size); +} + +.sm-dox>li>ul:after { + border-bottom-color: var(--page-background-color) !important; +} + +.sm-dox>li>ul:before { + border-bottom-color: var(--separator-color) !important; +} + +.sm-dox ul a:hover, .sm-dox ul a:active, .sm-dox ul a:focus { + font-size: var(--navigation-font-size) !important; + color: var(--menu-focus-foreground) !important; + text-shadow: none; + background-color: var(--menu-focus-background); + border-radius: var(--border-radius-small) !important; +} + +.sm-dox a, .sm-dox a:focus, .tablist li, .tablist li a, .tablist li.current a { + text-shadow: none; + background: transparent; + background-image: none !important; + color: var(--header-foreground) !important; + font-weight: normal; + font-size: var(--navigation-font-size); + border-radius: var(--border-radius-small) !important; +} + +.sm-dox a:focus { + outline: auto; +} + +.sm-dox a:hover, .sm-dox a:active, .tablist li a:hover { + text-shadow: none; + font-weight: normal; + background: var(--menu-focus-background); + color: var(--menu-focus-foreground) !important; + border-radius: var(--border-radius-small) !important; + font-size: var(--navigation-font-size); +} + +.tablist li.current { + border-radius: var(--border-radius-small); + background: var(--menu-selected-background); +} + +.tablist li { + margin: var(--spacing-small) 0 var(--spacing-small) var(--spacing-small); +} + +.tablist a { + padding: 0 var(--spacing-large); +} + + +/* + Search box + */ + +#MSearchBox { + height: var(--searchbar-height); + background: var(--searchbar-background); + border-radius: var(--searchbar-border-radius); + border: 1px solid var(--separator-color); + overflow: hidden; + width: var(--searchbar-width); + position: relative; + box-shadow: none; + display: block; + margin-top: 0; +} + +/* until Doxygen 1.9.4 */ +.left img#MSearchSelect { + left: 0; + user-select: none; + padding-left: 8px; +} + +/* Doxygen 1.9.5 */ +.left span#MSearchSelect { + left: 0; + user-select: none; + margin-left: 8px; + padding: 0; +} + +.left #MSearchSelect[src$=".png"] { + padding-left: 0 +} + +.SelectionMark { + user-select: none; +} + +.tabs .left #MSearchSelect { + padding-left: 0; +} + +.tabs #MSearchBox { + position: absolute; + right: var(--spacing-medium); +} + +@media screen and (max-width: 767px) { + .tabs #MSearchBox { + position: relative; + right: 0; + margin-left: var(--spacing-medium); + margin-top: 0; + } +} + +#MSearchSelectWindow, #MSearchResultsWindow { + z-index: 9999; +} + +#MSearchBox.MSearchBoxActive { + border-color: var(--primary-color); + box-shadow: inset 0 0 0 1px var(--primary-color); +} + +#main-menu > li:last-child { + margin-right: 0; +} + +@media screen and (max-width: 767px) { + #main-menu > li:last-child { + height: 50px; + } +} + +#MSearchField { + font-size: var(--navigation-font-size); + height: calc(var(--searchbar-height) - 2px); + background: transparent; + width: calc(var(--searchbar-width) - 64px); +} + +.MSearchBoxActive #MSearchField { + color: var(--searchbar-foreground); +} + +#MSearchSelect { + top: calc(calc(var(--searchbar-height) / 2) - 11px); +} + +#MSearchBox span.left, #MSearchBox span.right { + background: none; + background-image: none; +} + +#MSearchBox span.right { + padding-top: calc(calc(var(--searchbar-height) / 2) - 12px); + position: absolute; + right: var(--spacing-small); +} + +.tabs #MSearchBox span.right { + top: calc(calc(var(--searchbar-height) / 2) - 12px); +} + +@keyframes slideInSearchResults { + from { + opacity: 0; + transform: translate(0, 15px); + } + + to { + opacity: 1; + transform: translate(0, 20px); + } +} + +#MSearchResultsWindow { + left: auto !important; + right: var(--spacing-medium); + border-radius: var(--border-radius-large); + border: 1px solid var(--separator-color); + transform: translate(0, 20px); + box-shadow: var(--box-shadow); + animation: ease-out 280ms slideInSearchResults; + background: var(--page-background-color); +} + +iframe#MSearchResults { + margin: 4px; +} + +iframe { + color-scheme: normal; +} + +@media (prefers-color-scheme: dark) { + html:not(.light-mode) iframe#MSearchResults { + filter: invert() hue-rotate(180deg); + } +} + +html.dark-mode iframe#MSearchResults { + filter: invert() hue-rotate(180deg); +} + +#MSearchResults .SRPage { + background-color: transparent; +} + +#MSearchResults .SRPage .SREntry { + font-size: 10pt; + padding: var(--spacing-small) var(--spacing-medium); +} + +#MSearchSelectWindow { + border: 1px solid var(--separator-color); + border-radius: var(--border-radius-medium); + box-shadow: var(--box-shadow); + background: var(--page-background-color); + padding-top: var(--spacing-small); + padding-bottom: var(--spacing-small); +} + +#MSearchSelectWindow a.SelectItem { + font-size: var(--navigation-font-size); + line-height: var(--content-line-height); + margin: 0 var(--spacing-small); + border-radius: var(--border-radius-small); + color: var(--page-foreground-color) !important; + font-weight: normal; +} + +#MSearchSelectWindow a.SelectItem:hover { + background: var(--menu-focus-background); + color: var(--menu-focus-foreground) !important; +} + +@media screen and (max-width: 767px) { + #MSearchBox { + margin-top: var(--spacing-medium); + margin-bottom: var(--spacing-medium); + width: calc(100vw - 30px); + } + + #main-menu > li:last-child { + float: none !important; + } + + #MSearchField { + width: calc(100vw - 110px); + } + + @keyframes slideInSearchResultsMobile { + from { + opacity: 0; + transform: translate(0, 15px); + } + + to { + opacity: 1; + transform: translate(0, 20px); + } + } + + #MSearchResultsWindow { + left: var(--spacing-medium) !important; + right: var(--spacing-medium); + overflow: auto; + transform: translate(0, 20px); + animation: ease-out 280ms slideInSearchResultsMobile; + width: auto !important; + } + + /* + * Overwrites for fixing the searchbox on mobile in doxygen 1.9.2 + */ + label.main-menu-btn ~ #searchBoxPos1 { + top: 3px !important; + right: 6px !important; + left: 45px; + display: flex; + } + + label.main-menu-btn ~ #searchBoxPos1 > #MSearchBox { + margin-top: 0; + margin-bottom: 0; + flex-grow: 2; + float: left; + } +} + +/* + Tree view + */ + +#side-nav { + padding: 0 !important; + background: var(--side-nav-background); + min-width: 8px; + max-width: 50vw; +} + +@media screen and (max-width: 767px) { + #side-nav { + display: none; + } + + #doc-content { + margin-left: 0 !important; + } +} + +#nav-tree { + background: transparent; + margin-right: 1px; +} + +#nav-tree .label { + font-size: var(--navigation-font-size); +} + +#nav-tree .item { + height: var(--tree-item-height); + line-height: var(--tree-item-height); + overflow: hidden; + text-overflow: ellipsis; +} + +#nav-tree .item > a:focus { + outline: none; +} + +#nav-sync { + bottom: 12px; + right: 12px; + top: auto !important; + user-select: none; +} + +#nav-tree .selected { + text-shadow: none; + background-image: none; + background-color: transparent; + position: relative; + color: var(--primary-color) !important; + font-weight: 500; +} + +#nav-tree .selected::after { + content: ""; + position: absolute; + top: 1px; + bottom: 1px; + left: 0; + width: 4px; + border-radius: 0 var(--border-radius-small) var(--border-radius-small) 0; + background: var(--primary-color); +} + + +#nav-tree a { + color: var(--side-nav-foreground) !important; + font-weight: normal; +} + +#nav-tree a:focus { + outline-style: auto; +} + +#nav-tree .arrow { + opacity: var(--side-nav-arrow-opacity); + background: none; +} + +.arrow { + color: inherit; + cursor: pointer; + font-size: 45%; + vertical-align: middle; + margin-right: 2px; + font-family: serif; + height: auto; + text-align: right; +} + +#nav-tree div.item:hover .arrow, #nav-tree a:focus .arrow { + opacity: var(--side-nav-arrow-hover-opacity); +} + +#nav-tree .selected a { + color: var(--primary-color) !important; + font-weight: bolder; + font-weight: 600; +} + +.ui-resizable-e { + width: 4px; + background: transparent; + box-shadow: inset -1px 0 0 0 var(--separator-color); +} + +/* + Contents + */ + +div.header { + border-bottom: 1px solid var(--separator-color); + background-color: var(--page-background-color); + background-image: none; +} + +@media screen and (min-width: 1000px) { + #doc-content > div > div.contents, + .PageDoc > div.contents { + display: flex; + flex-direction: row-reverse; + flex-wrap: nowrap; + align-items: flex-start; + } + + div.contents .textblock { + min-width: 200px; + flex-grow: 1; + } +} + +div.contents, div.header .title, div.header .summary { + max-width: var(--content-maxwidth); +} + +div.contents, div.header .title { + line-height: initial; + margin: calc(var(--spacing-medium) + .2em) auto var(--spacing-medium) auto; +} + +div.header .summary { + margin: var(--spacing-medium) auto 0 auto; +} + +div.headertitle { + padding: 0; +} + +div.header .title { + font-weight: 600; + font-size: 225%; + padding: var(--spacing-medium) var(--spacing-large); + word-break: break-word; +} + +div.header .summary { + width: auto; + display: block; + float: none; + padding: 0 var(--spacing-large); +} + +td.memSeparator { + border-color: var(--separator-color); +} + +span.mlabel { + background: var(--primary-color); + border: none; + padding: 4px 9px; + border-radius: 12px; + margin-right: var(--spacing-medium); +} + +span.mlabel:last-of-type { + margin-right: 2px; +} + +div.contents { + padding: 0 var(--spacing-large); +} + +div.contents p, div.contents li { + line-height: var(--content-line-height); +} + +div.contents div.dyncontent { + margin: var(--spacing-medium) 0; +} + +@media (prefers-color-scheme: dark) { + html:not(.light-mode) div.contents div.dyncontent img, + html:not(.light-mode) div.contents center img, + html:not(.light-mode) div.contents > table img, + html:not(.light-mode) div.contents div.dyncontent iframe, + html:not(.light-mode) div.contents center iframe, + html:not(.light-mode) div.contents table iframe, + html:not(.light-mode) div.contents .dotgraph iframe { + filter: brightness(89%) hue-rotate(180deg) invert(); + } +} + +html.dark-mode div.contents div.dyncontent img, +html.dark-mode div.contents center img, +html.dark-mode div.contents > table img, +html.dark-mode div.contents div.dyncontent iframe, +html.dark-mode div.contents center iframe, +html.dark-mode div.contents table iframe, +html.dark-mode div.contents .dotgraph iframe + { + filter: brightness(89%) hue-rotate(180deg) invert(); +} + +h2.groupheader { + border-bottom: 0px; + color: var(--page-foreground-color); + box-shadow: + 100px 0 var(--page-background-color), + -100px 0 var(--page-background-color), + 100px 0.75px var(--separator-color), + -100px 0.75px var(--separator-color), + 500px 0 var(--page-background-color), + -500px 0 var(--page-background-color), + 500px 0.75px var(--separator-color), + -500px 0.75px var(--separator-color), + 900px 0 var(--page-background-color), + -900px 0 var(--page-background-color), + 900px 0.75px var(--separator-color), + -900px 0.75px var(--separator-color), + 1400px 0 var(--page-background-color), + -1400px 0 var(--page-background-color), + 1400px 0.75px var(--separator-color), + -1400px 0.75px var(--separator-color), + 1900px 0 var(--page-background-color), + -1900px 0 var(--page-background-color), + 1900px 0.75px var(--separator-color), + -1900px 0.75px var(--separator-color); +} + +blockquote { + margin: 0 var(--spacing-medium) 0 var(--spacing-medium); + padding: var(--spacing-small) var(--spacing-large); + background: var(--blockquote-background); + color: var(--blockquote-foreground); + border-left: 0; + overflow: visible; + border-radius: var(--border-radius-medium); + overflow: visible; + position: relative; +} + +blockquote::before, blockquote::after { + font-weight: bold; + font-family: serif; + font-size: 360%; + opacity: .15; + position: absolute; +} + +blockquote::before { + content: "“"; + left: -10px; + top: 4px; +} + +blockquote::after { + content: "”"; + right: -8px; + bottom: -25px; +} + +blockquote p { + margin: var(--spacing-small) 0 var(--spacing-medium) 0; +} +.paramname, .paramname em { + font-weight: 600; + color: var(--primary-dark-color); +} + +.paramname > code { + border: 0; +} + +table.params .paramname { + font-weight: 600; + font-family: var(--font-family-monospace); + font-size: var(--code-font-size); + padding-right: var(--spacing-small); + line-height: var(--table-line-height); +} + +h1.glow, h2.glow, h3.glow, h4.glow, h5.glow, h6.glow { + text-shadow: 0 0 15px var(--primary-light-color); +} + +.alphachar a { + color: var(--page-foreground-color); +} + +.dotgraph { + max-width: 100%; + overflow-x: scroll; +} + +.dotgraph .caption { + position: sticky; + left: 0; +} + +/* Wrap Graphviz graphs with the `interactive_dotgraph` class if `INTERACTIVE_SVG = YES` */ +.interactive_dotgraph .dotgraph iframe { + max-width: 100%; +} + +/* + Table of Contents + */ + +div.contents .toc { + max-height: var(--toc-max-height); + min-width: var(--toc-width); + border: 0; + border-left: 1px solid var(--separator-color); + border-radius: 0; + background-color: var(--page-background-color); + box-shadow: none; + position: sticky; + top: var(--toc-sticky-top); + padding: 0 var(--spacing-large); + margin: var(--spacing-small) 0 var(--spacing-large) var(--spacing-large); +} + +div.toc h3 { + color: var(--toc-foreground); + font-size: var(--navigation-font-size); + margin: var(--spacing-large) 0 var(--spacing-medium) 0; +} + +div.toc li { + padding: 0; + background: none; + line-height: var(--toc-font-size); + margin: var(--toc-font-size) 0 0 0; +} + +div.toc li::before { + display: none; +} + +div.toc ul { + margin-top: 0 +} + +div.toc li a { + font-size: var(--toc-font-size); + color: var(--page-foreground-color) !important; + text-decoration: none; +} + +div.toc li a:hover, div.toc li a.active { + color: var(--primary-color) !important; +} + +div.toc li a.aboveActive { + color: var(--page-secondary-foreground-color) !important; +} + + +@media screen and (max-width: 999px) { + div.contents .toc { + max-height: 45vh; + float: none; + width: auto; + margin: 0 0 var(--spacing-medium) 0; + position: relative; + top: 0; + position: relative; + border: 1px solid var(--separator-color); + border-radius: var(--border-radius-medium); + background-color: var(--toc-background); + box-shadow: var(--box-shadow); + } + + div.contents .toc.interactive { + max-height: calc(var(--navigation-font-size) + 2 * var(--spacing-large)); + overflow: hidden; + } + + div.contents .toc > h3 { + -webkit-tap-highlight-color: transparent; + cursor: pointer; + position: sticky; + top: 0; + background-color: var(--toc-background); + margin: 0; + padding: var(--spacing-large) 0; + display: block; + } + + div.contents .toc.interactive > h3::before { + content: ""; + width: 0; + height: 0; + border-left: 4px solid transparent; + border-right: 4px solid transparent; + border-top: 5px solid var(--primary-color); + display: inline-block; + margin-right: var(--spacing-small); + margin-bottom: calc(var(--navigation-font-size) / 4); + transform: rotate(-90deg); + transition: transform var(--animation-duration) ease-out; + } + + div.contents .toc.interactive.open > h3::before { + transform: rotate(0deg); + } + + div.contents .toc.interactive.open { + max-height: 45vh; + overflow: auto; + transition: max-height 0.2s ease-in-out; + } + + div.contents .toc a, div.contents .toc a.active { + color: var(--primary-color) !important; + } + + div.contents .toc a:hover { + text-decoration: underline; + } +} + +/* + Code & Fragments + */ + +code, div.fragment, pre.fragment { + border-radius: var(--border-radius-small); + border: 1px solid var(--separator-color); + overflow: hidden; +} + +code { + display: inline; + background: var(--code-background); + color: var(--code-foreground); + padding: 2px 6px; +} + +div.fragment, pre.fragment { + margin: var(--spacing-medium) 0; + padding: calc(var(--spacing-large) - (var(--spacing-large) / 6)) var(--spacing-large); + background: var(--fragment-background); + color: var(--fragment-foreground); + overflow-x: auto; +} + +@media screen and (max-width: 767px) { + div.fragment, pre.fragment { + border-top-right-radius: 0; + border-bottom-right-radius: 0; + border-right: 0; + } + + .contents > div.fragment, + .textblock > div.fragment, + .textblock > pre.fragment, + .textblock > .tabbed > ul > li > div.fragment, + .textblock > .tabbed > ul > li > pre.fragment, + .contents > .doxygen-awesome-fragment-wrapper > div.fragment, + .textblock > .doxygen-awesome-fragment-wrapper > div.fragment, + .textblock > .doxygen-awesome-fragment-wrapper > pre.fragment, + .textblock > .tabbed > ul > li > .doxygen-awesome-fragment-wrapper > div.fragment, + .textblock > .tabbed > ul > li > .doxygen-awesome-fragment-wrapper > pre.fragment { + margin: var(--spacing-medium) calc(0px - var(--spacing-large)); + border-radius: 0; + border-left: 0; + } + + .textblock li > .fragment, + .textblock li > .doxygen-awesome-fragment-wrapper > .fragment { + margin: var(--spacing-medium) calc(0px - var(--spacing-large)); + } + + .memdoc li > .fragment, + .memdoc li > .doxygen-awesome-fragment-wrapper > .fragment { + margin: var(--spacing-medium) calc(0px - var(--spacing-medium)); + } + + .textblock ul, .memdoc ul { + overflow: initial; + } + + .memdoc > div.fragment, + .memdoc > pre.fragment, + dl dd > div.fragment, + dl dd pre.fragment, + .memdoc > .doxygen-awesome-fragment-wrapper > div.fragment, + .memdoc > .doxygen-awesome-fragment-wrapper > pre.fragment, + dl dd > .doxygen-awesome-fragment-wrapper > div.fragment, + dl dd .doxygen-awesome-fragment-wrapper > pre.fragment { + margin: var(--spacing-medium) calc(0px - var(--spacing-medium)); + border-radius: 0; + border-left: 0; + } +} + +code, code a, pre.fragment, div.fragment, div.fragment .line, div.fragment span, div.fragment .line a, div.fragment .line span { + font-family: var(--font-family-monospace); + font-size: var(--code-font-size) !important; +} + +div.line:after { + margin-right: var(--spacing-medium); +} + +div.fragment .line, pre.fragment { + white-space: pre; + word-wrap: initial; + line-height: var(--fragment-lineheight); +} + +div.fragment span.keyword { + color: var(--fragment-keyword); +} + +div.fragment span.keywordtype { + color: var(--fragment-keywordtype); +} + +div.fragment span.keywordflow { + color: var(--fragment-keywordflow); +} + +div.fragment span.stringliteral { + color: var(--fragment-token) +} + +div.fragment span.comment { + color: var(--fragment-comment); +} + +div.fragment a.code { + color: var(--fragment-link) !important; +} + +div.fragment span.preprocessor { + color: var(--fragment-preprocessor); +} + +div.fragment span.lineno { + display: inline-block; + width: 27px; + border-right: none; + background: var(--fragment-linenumber-background); + color: var(--fragment-linenumber-color); +} + +div.fragment span.lineno a { + background: none; + color: var(--fragment-link) !important; +} + +div.fragment > .line:first-child .lineno { + box-shadow: -999999px 0px 0 999999px var(--fragment-linenumber-background), -999998px 0px 0 999999px var(--fragment-linenumber-border); + background-color: var(--fragment-linenumber-background) !important; +} + +div.line { + border-radius: var(--border-radius-small); +} + +div.line.glow { + background-color: var(--primary-light-color); + box-shadow: none; +} + +/* + dl warning, attention, note, deprecated, bug, ... + */ + +dl.bug dt a, dl.deprecated dt a, dl.todo dt a { + font-weight: bold !important; +} + +dl.warning, dl.attention, dl.note, dl.deprecated, dl.bug, dl.invariant, dl.pre, dl.post, dl.todo, dl.remark { + padding: var(--spacing-medium); + margin: var(--spacing-medium) 0; + color: var(--page-background-color); + overflow: hidden; + margin-left: 0; + border-radius: var(--border-radius-small); +} + +dl.section dd { + margin-bottom: 2px; +} + +dl.warning, dl.attention { + background: var(--warning-color); + border-left: 8px solid var(--warning-color-dark); + color: var(--warning-color-darker); +} + +dl.warning dt, dl.attention dt { + color: var(--warning-color-dark); +} + +dl.note, dl.remark { + background: var(--note-color); + border-left: 8px solid var(--note-color-dark); + color: var(--note-color-darker); +} + +dl.note dt, dl.remark dt { + color: var(--note-color-dark); +} + +dl.todo { + background: var(--todo-color); + border-left: 8px solid var(--todo-color-dark); + color: var(--todo-color-darker); +} + +dl.todo dt a { + color: var(--todo-color-dark) !important; +} + +dl.bug dt a { + color: var(--todo-color-dark) !important; +} + +dl.bug { + background: var(--bug-color); + border-left: 8px solid var(--bug-color-dark); + color: var(--bug-color-darker); +} + +dl.bug dt a { + color: var(--bug-color-dark) !important; +} + +dl.deprecated { + background: var(--deprecated-color); + border-left: 8px solid var(--deprecated-color-dark); + color: var(--deprecated-color-darker); +} + +dl.deprecated dt a { + color: var(--deprecated-color-dark) !important; +} + +dl.section dd, dl.bug dd, dl.deprecated dd, dl.todo dd { + margin-inline-start: 0px; +} + +dl.invariant, dl.pre, dl.post { + background: var(--invariant-color); + border-left: 8px solid var(--invariant-color-dark); + color: var(--invariant-color-darker); +} + +dl.invariant dt, dl.pre dt, dl.post dt { + color: var(--invariant-color-dark); +} + +/* + memitem + */ + +div.memdoc, div.memproto, h2.memtitle { + box-shadow: none; + background-image: none; + border: none; +} + +div.memdoc { + padding: 0 var(--spacing-medium); + background: var(--page-background-color); +} + +h2.memtitle, div.memitem { + border: 1px solid var(--separator-color); + box-shadow: var(--box-shadow); +} + +h2.memtitle { + box-shadow: 0px var(--spacing-medium) 0 -1px var(--fragment-background), var(--box-shadow); +} + +div.memitem { + transition: none; +} + +div.memproto, h2.memtitle { + background: var(--fragment-background); +} + +h2.memtitle { + font-weight: 500; + font-size: var(--memtitle-font-size); + font-family: var(--font-family-monospace); + border-bottom: none; + border-top-left-radius: var(--border-radius-medium); + border-top-right-radius: var(--border-radius-medium); + word-break: break-all; + position: relative; +} + +h2.memtitle:after { + content: ""; + display: block; + background: var(--fragment-background); + height: var(--spacing-medium); + bottom: calc(0px - var(--spacing-medium)); + left: 0; + right: -14px; + position: absolute; + border-top-right-radius: var(--border-radius-medium); +} + +h2.memtitle > span.permalink { + font-size: inherit; +} + +h2.memtitle > span.permalink > a { + text-decoration: none; + padding-left: 3px; + margin-right: -4px; + user-select: none; + display: inline-block; + margin-top: -6px; +} + +h2.memtitle > span.permalink > a:hover { + color: var(--primary-dark-color) !important; +} + +a:target + h2.memtitle, a:target + h2.memtitle + div.memitem { + border-color: var(--primary-light-color); +} + +div.memitem { + border-top-right-radius: var(--border-radius-medium); + border-bottom-right-radius: var(--border-radius-medium); + border-bottom-left-radius: var(--border-radius-medium); + overflow: hidden; + display: block !important; +} + +div.memdoc { + border-radius: 0; +} + +div.memproto { + border-radius: 0 var(--border-radius-small) 0 0; + overflow: auto; + border-bottom: 1px solid var(--separator-color); + padding: var(--spacing-medium); + margin-bottom: -1px; +} + +div.memtitle { + border-top-right-radius: var(--border-radius-medium); + border-top-left-radius: var(--border-radius-medium); +} + +div.memproto table.memname { + font-family: var(--font-family-monospace); + color: var(--page-foreground-color); + font-size: var(--memname-font-size); + text-shadow: none; +} + +div.memproto div.memtemplate { + font-family: var(--font-family-monospace); + color: var(--primary-dark-color); + font-size: var(--memname-font-size); + margin-left: 2px; + text-shadow: none; +} + +table.mlabels, table.mlabels > tbody { + display: block; +} + +td.mlabels-left { + width: auto; +} + +td.mlabels-right { + margin-top: 3px; + position: sticky; + left: 0; +} + +table.mlabels > tbody > tr:first-child { + display: flex; + justify-content: space-between; + flex-wrap: wrap; +} + +.memname, .memitem span.mlabels { + margin: 0 +} + +/* + reflist + */ + +dl.reflist { + box-shadow: var(--box-shadow); + border-radius: var(--border-radius-medium); + border: 1px solid var(--separator-color); + overflow: hidden; + padding: 0; +} + + +dl.reflist dt, dl.reflist dd { + box-shadow: none; + text-shadow: none; + background-image: none; + border: none; + padding: 12px; +} + + +dl.reflist dt { + font-weight: 500; + border-radius: 0; + background: var(--code-background); + border-bottom: 1px solid var(--separator-color); + color: var(--page-foreground-color) +} + + +dl.reflist dd { + background: none; +} + +/* + Table + */ + +.contents table:not(.memberdecls):not(.mlabels):not(.fieldtable):not(.memname), +.contents table:not(.memberdecls):not(.mlabels):not(.fieldtable):not(.memname) tbody { + display: inline-block; + max-width: 100%; +} + +.contents > table:not(.memberdecls):not(.mlabels):not(.fieldtable):not(.memname):not(.classindex) { + margin-left: calc(0px - var(--spacing-large)); + margin-right: calc(0px - var(--spacing-large)); + max-width: calc(100% + 2 * var(--spacing-large)); +} + +table.fieldtable, +table.markdownTable tbody, +table.doxtable tbody { + border: none; + margin: var(--spacing-medium) 0; + box-shadow: 0 0 0 1px var(--separator-color); + border-radius: var(--border-radius-small); +} + +table.markdownTable, table.doxtable, table.fieldtable { + padding: 1px; +} + +table.doxtable caption { + display: block; +} + +table.fieldtable { + border-collapse: collapse; + width: 100%; +} + +th.markdownTableHeadLeft, +th.markdownTableHeadRight, +th.markdownTableHeadCenter, +th.markdownTableHeadNone, +table.doxtable th { + background: var(--tablehead-background); + color: var(--tablehead-foreground); + font-weight: 600; + font-size: var(--page-font-size); +} + +th.markdownTableHeadLeft:first-child, +th.markdownTableHeadRight:first-child, +th.markdownTableHeadCenter:first-child, +th.markdownTableHeadNone:first-child, +table.doxtable tr th:first-child { + border-top-left-radius: var(--border-radius-small); +} + +th.markdownTableHeadLeft:last-child, +th.markdownTableHeadRight:last-child, +th.markdownTableHeadCenter:last-child, +th.markdownTableHeadNone:last-child, +table.doxtable tr th:last-child { + border-top-right-radius: var(--border-radius-small); +} + +table.markdownTable td, +table.markdownTable th, +table.fieldtable td, +table.fieldtable th, +table.doxtable td, +table.doxtable th { + border: 1px solid var(--separator-color); + padding: var(--spacing-small) var(--spacing-medium); +} + +table.markdownTable td:last-child, +table.markdownTable th:last-child, +table.fieldtable td:last-child, +table.fieldtable th:last-child, +table.doxtable td:last-child, +table.doxtable th:last-child { + border-right: none; +} + +table.markdownTable td:first-child, +table.markdownTable th:first-child, +table.fieldtable td:first-child, +table.fieldtable th:first-child, +table.doxtable td:first-child, +table.doxtable th:first-child { + border-left: none; +} + +table.markdownTable tr:first-child td, +table.markdownTable tr:first-child th, +table.fieldtable tr:first-child td, +table.fieldtable tr:first-child th, +table.doxtable tr:first-child td, +table.doxtable tr:first-child th { + border-top: none; +} + +table.markdownTable tr:last-child td, +table.markdownTable tr:last-child th, +table.fieldtable tr:last-child td, +table.fieldtable tr:last-child th, +table.doxtable tr:last-child td, +table.doxtable tr:last-child th { + border-bottom: none; +} + +table.markdownTable tr, table.doxtable tr { + border-bottom: 1px solid var(--separator-color); +} + +table.markdownTable tr:last-child, table.doxtable tr:last-child { + border-bottom: none; +} + +.full_width_table table:not(.memberdecls):not(.mlabels):not(.fieldtable):not(.memname) { + display: block; +} + +.full_width_table table:not(.memberdecls):not(.mlabels):not(.fieldtable):not(.memname) tbody { + display: table; + width: 100%; +} + +table.fieldtable th { + font-size: var(--page-font-size); + font-weight: 600; + background-image: none; + background-color: var(--tablehead-background); + color: var(--tablehead-foreground); +} + +table.fieldtable td.fieldtype, .fieldtable td.fieldname, .fieldtable td.fieldinit, .fieldtable td.fielddoc, .fieldtable th { + border-bottom: 1px solid var(--separator-color); + border-right: 1px solid var(--separator-color); +} + +table.fieldtable tr:last-child td:first-child { + border-bottom-left-radius: var(--border-radius-small); +} + +table.fieldtable tr:last-child td:last-child { + border-bottom-right-radius: var(--border-radius-small); +} + +.memberdecls td.glow, .fieldtable tr.glow { + background-color: var(--primary-light-color); + box-shadow: none; +} + +table.memberdecls { + display: block; + -webkit-tap-highlight-color: transparent; +} + +table.memberdecls tr[class^='memitem'] { + font-family: var(--font-family-monospace); + font-size: var(--code-font-size); +} + +table.memberdecls tr[class^='memitem'] .memTemplParams { + font-family: var(--font-family-monospace); + font-size: var(--code-font-size); + color: var(--primary-dark-color); + white-space: normal; +} + +table.memberdecls .memItemLeft, +table.memberdecls .memItemRight, +table.memberdecls .memTemplItemLeft, +table.memberdecls .memTemplItemRight, +table.memberdecls .memTemplParams { + transition: none; + padding-top: var(--spacing-small); + padding-bottom: var(--spacing-small); + border-top: 1px solid var(--separator-color); + border-bottom: 1px solid var(--separator-color); + background-color: var(--fragment-background); +} + +table.memberdecls .memTemplItemLeft, +table.memberdecls .memTemplItemRight { + padding-top: 2px; +} + +table.memberdecls .memTemplParams { + border-bottom: 0; + border-left: 1px solid var(--separator-color); + border-right: 1px solid var(--separator-color); + border-radius: var(--border-radius-small) var(--border-radius-small) 0 0; + padding-bottom: var(--spacing-small); +} + +table.memberdecls .memTemplItemLeft { + border-radius: 0 0 0 var(--border-radius-small); + border-left: 1px solid var(--separator-color); + border-top: 0; +} + +table.memberdecls .memTemplItemRight { + border-radius: 0 0 var(--border-radius-small) 0; + border-right: 1px solid var(--separator-color); + padding-left: 0; + border-top: 0; +} + +table.memberdecls .memItemLeft { + border-radius: var(--border-radius-small) 0 0 var(--border-radius-small); + border-left: 1px solid var(--separator-color); + padding-left: var(--spacing-medium); + padding-right: 0; +} + +table.memberdecls .memItemRight { + border-radius: 0 var(--border-radius-small) var(--border-radius-small) 0; + border-right: 1px solid var(--separator-color); + padding-right: var(--spacing-medium); + padding-left: 0; + +} + +table.memberdecls .mdescLeft, table.memberdecls .mdescRight { + background: none; + color: var(--page-foreground-color); + padding: var(--spacing-small) 0; +} + +table.memberdecls .memItemLeft, +table.memberdecls .memTemplItemLeft { + padding-right: var(--spacing-medium); +} + +table.memberdecls .memSeparator { + background: var(--page-background-color); + height: var(--spacing-large); + border: 0; + transition: none; +} + +table.memberdecls .groupheader { + margin-bottom: var(--spacing-large); +} + +table.memberdecls .inherit_header td { + padding: 0 0 var(--spacing-medium) 0; + text-indent: -12px; + color: var(--page-secondary-foreground-color); +} + +table.memberdecls img[src="closed.png"], +table.memberdecls img[src="open.png"], +div.dynheader img[src="open.png"], +div.dynheader img[src="closed.png"] { + width: 0; + height: 0; + border-left: 4px solid transparent; + border-right: 4px solid transparent; + border-top: 5px solid var(--primary-color); + margin-top: 8px; + display: block; + float: left; + margin-left: -10px; + transition: transform var(--animation-duration) ease-out; +} + +table.memberdecls img { + margin-right: 10px; +} + +table.memberdecls img[src="closed.png"], +div.dynheader img[src="closed.png"] { + transform: rotate(-90deg); + +} + +.compoundTemplParams { + font-family: var(--font-family-monospace); + color: var(--primary-dark-color); + font-size: var(--code-font-size); +} + +@media screen and (max-width: 767px) { + + table.memberdecls .memItemLeft, + table.memberdecls .memItemRight, + table.memberdecls .mdescLeft, + table.memberdecls .mdescRight, + table.memberdecls .memTemplItemLeft, + table.memberdecls .memTemplItemRight, + table.memberdecls .memTemplParams { + display: block; + text-align: left; + padding-left: var(--spacing-large); + margin: 0 calc(0px - var(--spacing-large)) 0 calc(0px - var(--spacing-large)); + border-right: none; + border-left: none; + border-radius: 0; + white-space: normal; + } + + table.memberdecls .memItemLeft, + table.memberdecls .mdescLeft, + table.memberdecls .memTemplItemLeft { + border-bottom: 0; + padding-bottom: 0; + } + + table.memberdecls .memTemplItemLeft { + padding-top: 0; + } + + table.memberdecls .mdescLeft { + margin-bottom: calc(0px - var(--page-font-size)); + } + + table.memberdecls .memItemRight, + table.memberdecls .mdescRight, + table.memberdecls .memTemplItemRight { + border-top: 0; + padding-top: 0; + padding-right: var(--spacing-large); + overflow-x: auto; + } + + table.memberdecls tr[class^='memitem']:not(.inherit) { + display: block; + width: calc(100vw - 2 * var(--spacing-large)); + } + + table.memberdecls .mdescRight { + color: var(--page-foreground-color); + } + + table.memberdecls tr.inherit { + visibility: hidden; + } + + table.memberdecls tr[style="display: table-row;"] { + display: block !important; + visibility: visible; + width: calc(100vw - 2 * var(--spacing-large)); + animation: fade .5s; + } + + @keyframes fade { + 0% { + opacity: 0; + max-height: 0; + } + + 100% { + opacity: 1; + max-height: 200px; + } + } +} + + +/* + Horizontal Rule + */ + +hr { + margin-top: var(--spacing-large); + margin-bottom: var(--spacing-large); + height: 1px; + background-color: var(--separator-color); + border: 0; +} + +.contents hr { + box-shadow: 100px 0 var(--separator-color), + -100px 0 var(--separator-color), + 500px 0 var(--separator-color), + -500px 0 var(--separator-color), + 900px 0 var(--separator-color), + -900px 0 var(--separator-color), + 1400px 0 var(--separator-color), + -1400px 0 var(--separator-color), + 1900px 0 var(--separator-color), + -1900px 0 var(--separator-color); +} + +.contents img, .contents .center, .contents center, .contents div.image object { + max-width: 100%; + overflow: auto; +} + +@media screen and (max-width: 767px) { + .contents .dyncontent > .center, .contents > center { + margin-left: calc(0px - var(--spacing-large)); + margin-right: calc(0px - var(--spacing-large)); + max-width: calc(100% + 2 * var(--spacing-large)); + } +} + +/* + Directories + */ +div.directory { + border-top: 1px solid var(--separator-color); + border-bottom: 1px solid var(--separator-color); + width: auto; +} + +table.directory { + font-family: var(--font-family); + font-size: var(--page-font-size); + font-weight: normal; + width: 100%; +} + +table.directory td.entry, table.directory td.desc { + padding: calc(var(--spacing-small) / 2) var(--spacing-small); + line-height: var(--table-line-height); +} + +table.directory tr.even td:last-child { + border-radius: 0 var(--border-radius-small) var(--border-radius-small) 0; +} + +table.directory tr.even td:first-child { + border-radius: var(--border-radius-small) 0 0 var(--border-radius-small); +} + +table.directory tr.even:last-child td:last-child { + border-radius: 0 var(--border-radius-small) 0 0; +} + +table.directory tr.even:last-child td:first-child { + border-radius: var(--border-radius-small) 0 0 0; +} + +table.directory td.desc { + min-width: 250px; +} + +table.directory tr.even { + background-color: var(--odd-color); +} + +table.directory tr.odd { + background-color: transparent; +} + +.icona { + width: auto; + height: auto; + margin: 0 var(--spacing-small); +} + +.icon { + background: var(--primary-color); + border-radius: var(--border-radius-small); + font-size: var(--page-font-size); + padding: calc(var(--page-font-size) / 5); + line-height: var(--page-font-size); + transform: scale(0.8); + height: auto; + width: var(--page-font-size); + user-select: none; +} + +.iconfopen, .icondoc, .iconfclosed { + background-position: center; + margin-bottom: 0; + height: var(--table-line-height); +} + +.icondoc { + filter: saturate(0.2); +} + +@media screen and (max-width: 767px) { + div.directory { + margin-left: calc(0px - var(--spacing-large)); + margin-right: calc(0px - var(--spacing-large)); + } +} + +@media (prefers-color-scheme: dark) { + html:not(.light-mode) .iconfopen, html:not(.light-mode) .iconfclosed { + filter: hue-rotate(180deg) invert(); + } +} + +html.dark-mode .iconfopen, html.dark-mode .iconfclosed { + filter: hue-rotate(180deg) invert(); +} + +/* + Class list + */ + +.classindex dl.odd { + background: var(--odd-color); + border-radius: var(--border-radius-small); +} + +.classindex dl.even { + background-color: transparent; +} + +/* + Class Index Doxygen 1.8 +*/ + +table.classindex { + margin-left: 0; + margin-right: 0; + width: 100%; +} + +table.classindex table div.ah { + background-image: none; + background-color: initial; + border-color: var(--separator-color); + color: var(--page-foreground-color); + box-shadow: var(--box-shadow); + border-radius: var(--border-radius-large); + padding: var(--spacing-small); +} + +div.qindex { + background-color: var(--odd-color); + border-radius: var(--border-radius-small); + border: 1px solid var(--separator-color); + padding: var(--spacing-small) 0; +} + +/* + Footer and nav-path + */ + +#nav-path { + width: 100%; +} + +#nav-path ul { + background-image: none; + background: var(--page-background-color); + border: none; + border-top: 1px solid var(--separator-color); + border-bottom: 1px solid var(--separator-color); + border-bottom: 0; + box-shadow: 0 0.75px 0 var(--separator-color); + font-size: var(--navigation-font-size); +} + +img.footer { + width: 60px; +} + +.navpath li.footer { + color: var(--page-secondary-foreground-color); +} + +address.footer { + color: var(--page-secondary-foreground-color); + margin-bottom: var(--spacing-large); +} + +#nav-path li.navelem { + background-image: none; + display: flex; + align-items: center; +} + +.navpath li.navelem a { + text-shadow: none; + display: inline-block; + color: var(--primary-color) !important; +} + +.navpath li.navelem b { + color: var(--primary-dark-color); + font-weight: 500; +} + +li.navelem { + padding: 0; + margin-left: -8px; +} + +li.navelem:first-child { + margin-left: var(--spacing-large); +} + +li.navelem:first-child:before { + display: none; +} + +#nav-path li.navelem:after { + content: ''; + border: 5px solid var(--page-background-color); + border-bottom-color: transparent; + border-right-color: transparent; + border-top-color: transparent; + transform: translateY(-1px) scaleY(4.2); + z-index: 10; + margin-left: 6px; +} + +#nav-path li.navelem:before { + content: ''; + border: 5px solid var(--separator-color); + border-bottom-color: transparent; + border-right-color: transparent; + border-top-color: transparent; + transform: translateY(-1px) scaleY(3.2); + margin-right: var(--spacing-small); +} + +.navpath li.navelem a:hover { + color: var(--primary-color); +} + +/* + Scrollbars for Webkit +*/ + +#nav-tree::-webkit-scrollbar, +div.fragment::-webkit-scrollbar, +pre.fragment::-webkit-scrollbar, +div.memproto::-webkit-scrollbar, +.contents center::-webkit-scrollbar, +.contents .center::-webkit-scrollbar, +.contents table:not(.memberdecls):not(.mlabels):not(.fieldtable):not(.memname) tbody::-webkit-scrollbar, +div.contents .toc::-webkit-scrollbar, +.contents .dotgraph::-webkit-scrollbar, +.contents .tabs-overview-container::-webkit-scrollbar { + background: transparent; + width: calc(var(--webkit-scrollbar-size) + var(--webkit-scrollbar-padding) + var(--webkit-scrollbar-padding)); + height: calc(var(--webkit-scrollbar-size) + var(--webkit-scrollbar-padding) + var(--webkit-scrollbar-padding)); +} + +#nav-tree::-webkit-scrollbar-thumb, +div.fragment::-webkit-scrollbar-thumb, +pre.fragment::-webkit-scrollbar-thumb, +div.memproto::-webkit-scrollbar-thumb, +.contents center::-webkit-scrollbar-thumb, +.contents .center::-webkit-scrollbar-thumb, +.contents table:not(.memberdecls):not(.mlabels):not(.fieldtable):not(.memname) tbody::-webkit-scrollbar-thumb, +div.contents .toc::-webkit-scrollbar-thumb, +.contents .dotgraph::-webkit-scrollbar-thumb, +.contents .tabs-overview-container::-webkit-scrollbar-thumb { + background-color: transparent; + border: var(--webkit-scrollbar-padding) solid transparent; + border-radius: calc(var(--webkit-scrollbar-padding) + var(--webkit-scrollbar-padding)); + background-clip: padding-box; +} + +#nav-tree:hover::-webkit-scrollbar-thumb, +div.fragment:hover::-webkit-scrollbar-thumb, +pre.fragment:hover::-webkit-scrollbar-thumb, +div.memproto:hover::-webkit-scrollbar-thumb, +.contents center:hover::-webkit-scrollbar-thumb, +.contents .center:hover::-webkit-scrollbar-thumb, +.contents table:not(.memberdecls):not(.mlabels):not(.fieldtable):not(.memname) tbody:hover::-webkit-scrollbar-thumb, +div.contents .toc:hover::-webkit-scrollbar-thumb, +.contents .dotgraph:hover::-webkit-scrollbar-thumb, +.contents .tabs-overview-container:hover::-webkit-scrollbar-thumb { + background-color: var(--webkit-scrollbar-color); +} + +#nav-tree::-webkit-scrollbar-track, +div.fragment::-webkit-scrollbar-track, +pre.fragment::-webkit-scrollbar-track, +div.memproto::-webkit-scrollbar-track, +.contents center::-webkit-scrollbar-track, +.contents .center::-webkit-scrollbar-track, +.contents table:not(.memberdecls):not(.mlabels):not(.fieldtable):not(.memname) tbody::-webkit-scrollbar-track, +div.contents .toc::-webkit-scrollbar-track, +.contents .dotgraph::-webkit-scrollbar-track, +.contents .tabs-overview-container::-webkit-scrollbar-track { + background: transparent; +} + +#nav-tree::-webkit-scrollbar-corner { + background-color: var(--side-nav-background); +} + +#nav-tree, +div.fragment, +pre.fragment, +div.memproto, +.contents center, +.contents .center, +.contents table:not(.memberdecls):not(.mlabels):not(.fieldtable):not(.memname) tbody, +div.contents .toc { + overflow-x: auto; + overflow-x: overlay; +} + +#nav-tree { + overflow-x: auto; + overflow-y: auto; + overflow-y: overlay; +} + +/* + Scrollbars for Firefox +*/ + +#nav-tree, +div.fragment, +pre.fragment, +div.memproto, +.contents center, +.contents .center, +.contents table:not(.memberdecls):not(.mlabels):not(.fieldtable):not(.memname) tbody, +div.contents .toc, +.contents .dotgraph, +.contents .tabs-overview-container { + scrollbar-width: thin; +} + +/* + Optional Dark mode toggle button +*/ + +doxygen-awesome-dark-mode-toggle { + display: inline-block; + margin: 0 0 0 var(--spacing-small); + padding: 0; + width: var(--searchbar-height); + height: var(--searchbar-height); + background: none; + border: none; + border-radius: var(--searchbar-height); + vertical-align: middle; + text-align: center; + line-height: var(--searchbar-height); + font-size: 22px; + display: flex; + align-items: center; + justify-content: center; + user-select: none; + cursor: pointer; +} + +doxygen-awesome-dark-mode-toggle > svg { + transition: transform var(--animation-duration) ease-in-out; +} + +doxygen-awesome-dark-mode-toggle:active > svg { + transform: scale(.5); +} + +doxygen-awesome-dark-mode-toggle:hover { + background-color: rgba(0,0,0,.03); +} + +html.dark-mode doxygen-awesome-dark-mode-toggle:hover { + background-color: rgba(0,0,0,.18); +} + +/* + Optional fragment copy button +*/ +.doxygen-awesome-fragment-wrapper { + position: relative; +} + +doxygen-awesome-fragment-copy-button { + opacity: 0; + background: var(--fragment-background); + width: 28px; + height: 28px; + position: absolute; + right: calc(var(--spacing-large) - (var(--spacing-large) / 2.5)); + top: calc(var(--spacing-large) - (var(--spacing-large) / 2.5)); + border: 1px solid var(--fragment-foreground); + cursor: pointer; + border-radius: var(--border-radius-small); + display: flex; + justify-content: center; + align-items: center; +} + +.doxygen-awesome-fragment-wrapper:hover doxygen-awesome-fragment-copy-button, doxygen-awesome-fragment-copy-button.success { + opacity: .28; +} + +doxygen-awesome-fragment-copy-button:hover, doxygen-awesome-fragment-copy-button.success { + opacity: 1 !important; +} + +doxygen-awesome-fragment-copy-button:active:not([class~=success]) svg { + transform: scale(.91); +} + +doxygen-awesome-fragment-copy-button svg { + fill: var(--fragment-foreground); + width: 18px; + height: 18px; +} + +doxygen-awesome-fragment-copy-button.success svg { + fill: rgb(14, 168, 14); +} + +doxygen-awesome-fragment-copy-button.success { + border-color: rgb(14, 168, 14); +} + +@media screen and (max-width: 767px) { + .textblock > .doxygen-awesome-fragment-wrapper > doxygen-awesome-fragment-copy-button, + .textblock li > .doxygen-awesome-fragment-wrapper > doxygen-awesome-fragment-copy-button, + .memdoc li > .doxygen-awesome-fragment-wrapper > doxygen-awesome-fragment-copy-button, + .memdoc > .doxygen-awesome-fragment-wrapper > doxygen-awesome-fragment-copy-button, + dl dd > .doxygen-awesome-fragment-wrapper > doxygen-awesome-fragment-copy-button { + right: 0; + } +} + +/* + Optional paragraph link button +*/ + +a.anchorlink { + font-size: 90%; + margin-left: var(--spacing-small); + color: var(--page-foreground-color) !important; + text-decoration: none; + opacity: .15; + display: none; + transition: opacity var(--animation-duration) ease-in-out, color var(--animation-duration) ease-in-out; +} + +a.anchorlink svg { + fill: var(--page-foreground-color); +} + +h3 a.anchorlink svg, h4 a.anchorlink svg { + margin-bottom: -3px; + margin-top: -4px; +} + +a.anchorlink:hover { + opacity: .45; +} + +h2:hover a.anchorlink, h1:hover a.anchorlink, h3:hover a.anchorlink, h4:hover a.anchorlink { + display: inline-block; +} + +/* + Optional tab feature +*/ + +.tabbed > ul { + padding-inline-start: 0px; + margin: 0; + padding: var(--spacing-small) 0; +} + +.tabbed > ul > li { + display: none; +} + +.tabbed > ul > li.selected { + display: block; +} + +.tabs-overview-container { + overflow-x: auto; + display: block; + overflow-y: visible; +} + +.tabs-overview { + border-bottom: 1px solid var(--separator-color); + display: flex; + flex-direction: row; +} + +@media screen and (max-width: 767px) { + .tabs-overview-container { + margin: 0 calc(0px - var(--spacing-large)); + } + .tabs-overview { + padding: 0 var(--spacing-large) + } +} + +.tabs-overview button.tab-button { + color: var(--page-foreground-color); + margin: 0; + border: none; + background: transparent; + padding: calc(var(--spacing-large) / 2) 0; + display: inline-block; + font-size: var(--page-font-size); + cursor: pointer; + box-shadow: 0 1px 0 0 var(--separator-color); + position: relative; + + -webkit-tap-highlight-color: transparent; +} + +.tabs-overview button.tab-button .tab-title::before { + display: block; + content: attr(title); + font-weight: 600; + height: 0; + overflow: hidden; + visibility: hidden; +} + +.tabs-overview button.tab-button .tab-title { + float: left; + white-space: nowrap; + font-weight: normal; + padding: calc(var(--spacing-large) / 2) var(--spacing-large); + border-radius: var(--border-radius-medium); + transition: background-color var(--animation-duration) ease-in-out, font-weight var(--animation-duration) ease-in-out; +} + +.tabs-overview button.tab-button:not(:last-child) .tab-title { + box-shadow: 8px 0 0 -7px var(--separator-color); +} + +.tabs-overview button.tab-button:hover .tab-title { + background: var(--separator-color); + box-shadow: none; +} + +.tabs-overview button.tab-button.active .tab-title { + font-weight: 600; +} + +.tabs-overview button.tab-button::after { + content: ''; + display: block; + position: absolute; + left: 0; + bottom: 0; + right: 0; + height: 0; + width: 0%; + margin: 0 auto; + border-radius: var(--border-radius-small) var(--border-radius-small) 0 0; + background-color: var(--primary-color); + transition: width var(--animation-duration) ease-in-out, height var(--animation-duration) ease-in-out; +} + +.tabs-overview button.tab-button.active::after { + width: 100%; + box-sizing: border-box; + height: 3px; +} + + +/* + Navigation Buttons +*/ + +.section_buttons:not(:empty) { + margin-top: calc(var(--spacing-large) * 3); +} + +.section_buttons table.markdownTable { + display: block; + width: 100%; +} + +.section_buttons table.markdownTable tbody { + display: table !important; + width: 100%; + box-shadow: none; + border-spacing: 10px; +} + +.section_buttons table.markdownTable td { + padding: 0; +} + +.section_buttons table.markdownTable th { + display: none; +} + +.section_buttons table.markdownTable tr.markdownTableHead { + border: none; +} + +.section_buttons tr th, .section_buttons tr td { + background: none; + border: none; + padding: var(--spacing-large) 0 var(--spacing-small); +} + +.section_buttons a { + display: inline-block; + border: 1px solid var(--separator-color); + border-radius: var(--border-radius-medium); + color: var(--page-secondary-foreground-color) !important; + text-decoration: none; + transition: color var(--animation-duration) ease-in-out, background-color var(--animation-duration) ease-in-out; +} + +.section_buttons a:hover { + color: var(--page-foreground-color) !important; + background-color: var(--odd-color); +} + +.section_buttons tr td.markdownTableBodyLeft a { + padding: var(--spacing-medium) var(--spacing-large) var(--spacing-medium) calc(var(--spacing-large) / 2); +} + +.section_buttons tr td.markdownTableBodyRight a { + padding: var(--spacing-medium) calc(var(--spacing-large) / 2) var(--spacing-medium) var(--spacing-large); +} + +.section_buttons tr td.markdownTableBodyLeft a::before, +.section_buttons tr td.markdownTableBodyRight a::after { + color: var(--page-secondary-foreground-color) !important; + display: inline-block; + transition: color .08s ease-in-out, transform .09s ease-in-out; +} + +.section_buttons tr td.markdownTableBodyLeft a::before { + content: '〈'; + padding-right: var(--spacing-large); +} + + +.section_buttons tr td.markdownTableBodyRight a::after { + content: '〉'; + padding-left: var(--spacing-large); +} + + +.section_buttons tr td.markdownTableBodyLeft a:hover::before { + color: var(--page-foreground-color) !important; + transform: translateX(-3px); +} + +.section_buttons tr td.markdownTableBodyRight a:hover::after { + color: var(--page-foreground-color) !important; + transform: translateX(3px); +} + +@media screen and (max-width: 450px) { + .section_buttons a { + width: 100%; + box-sizing: border-box; + } + + .section_buttons tr td:nth-of-type(1).markdownTableBodyLeft a { + border-radius: var(--border-radius-medium) 0 0 var(--border-radius-medium); + border-right: none; + } + + .section_buttons tr td:nth-of-type(2).markdownTableBodyRight a { + border-radius: 0 var(--border-radius-medium) var(--border-radius-medium) 0; + } +} diff --git a/doxygen.css b/doxygen.css index 574b33357..3653ad2e0 100644 --- a/doxygen.css +++ b/doxygen.css @@ -1,409 +1,21 @@ /* The standard CSS for doxygen 1.12.0*/ -html { -/* page base colors */ ---page-background-color: white; ---page-foreground-color: black; ---page-link-color: #3D578C; ---page-visited-link-color: #4665A2; - -/* index */ ---index-odd-item-bg-color: #F8F9FC; ---index-even-item-bg-color: white; ---index-header-color: black; ---index-separator-color: #A0A0A0; - -/* header */ ---header-background-color: #F9FAFC; ---header-separator-color: #C4CFE5; ---header-gradient-image: url('nav_h.png'); ---group-header-separator-color: #879ECB; ---group-header-color: #354C7B; ---inherit-header-color: gray; - ---footer-foreground-color: #2A3D61; ---footer-logo-width: 104px; ---citation-label-color: #334975; ---glow-color: cyan; - ---title-background-color: white; ---title-separator-color: #5373B4; ---directory-separator-color: #9CAFD4; ---separator-color: #4A6AAA; - ---blockquote-background-color: #F7F8FB; ---blockquote-border-color: #9CAFD4; - ---scrollbar-thumb-color: #9CAFD4; ---scrollbar-background-color: #F9FAFC; - ---icon-background-color: #728DC1; ---icon-foreground-color: white; ---icon-doc-image: url('doc.svg'); ---icon-folder-open-image: url('folderopen.svg'); ---icon-folder-closed-image: url('folderclosed.svg'); - -/* brief member declaration list */ ---memdecl-background-color: #F9FAFC; ---memdecl-separator-color: #DEE4F0; ---memdecl-foreground-color: #555; ---memdecl-template-color: #4665A2; - -/* detailed member list */ ---memdef-border-color: #A8B8D9; ---memdef-title-background-color: #E2E8F2; ---memdef-title-gradient-image: url('nav_f.png'); ---memdef-proto-background-color: #DFE5F1; ---memdef-proto-text-color: #253555; ---memdef-proto-text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); ---memdef-doc-background-color: white; ---memdef-param-name-color: #602020; ---memdef-template-color: #4665A2; - -/* tables */ ---table-cell-border-color: #2D4068; ---table-header-background-color: #374F7F; ---table-header-foreground-color: #FFFFFF; - -/* labels */ ---label-background-color: #728DC1; ---label-left-top-border-color: #5373B4; ---label-right-bottom-border-color: #C4CFE5; ---label-foreground-color: white; - -/** navigation bar/tree/menu */ ---nav-background-color: #F9FAFC; ---nav-foreground-color: #364D7C; ---nav-gradient-image: url('tab_b.png'); ---nav-gradient-hover-image: url('tab_h.png'); ---nav-gradient-active-image: url('tab_a.png'); ---nav-gradient-active-image-parent: url("../tab_a.png"); ---nav-separator-image: url('tab_s.png'); ---nav-breadcrumb-image: url('bc_s.png'); ---nav-breadcrumb-border-color: #C2CDE4; ---nav-splitbar-image: url('splitbar.png'); ---nav-font-size-level1: 13px; ---nav-font-size-level2: 10px; ---nav-font-size-level3: 9px; ---nav-text-normal-color: #283A5D; ---nav-text-hover-color: white; ---nav-text-active-color: white; ---nav-text-normal-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); ---nav-text-hover-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); ---nav-text-active-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); ---nav-menu-button-color: #364D7C; ---nav-menu-background-color: white; ---nav-menu-foreground-color: #555555; ---nav-menu-toggle-color: rgba(255, 255, 255, 0.5); ---nav-arrow-color: #9CAFD4; ---nav-arrow-selected-color: #9CAFD4; - -/* table of contents */ ---toc-background-color: #F4F6FA; ---toc-border-color: #D8DFEE; ---toc-header-color: #4665A2; ---toc-down-arrow-image: url("data:image/svg+xml;utf8,&%238595;"); - -/** search field */ ---search-background-color: white; ---search-foreground-color: #909090; ---search-magnification-image: url('mag.svg'); ---search-magnification-select-image: url('mag_sel.svg'); ---search-active-color: black; ---search-filter-background-color: #F9FAFC; ---search-filter-foreground-color: black; ---search-filter-border-color: #90A5CE; ---search-filter-highlight-text-color: white; ---search-filter-highlight-bg-color: #3D578C; ---search-results-foreground-color: #425E97; ---search-results-background-color: #EEF1F7; ---search-results-border-color: black; ---search-box-shadow: inset 0.5px 0.5px 3px 0px #555; - -/** code fragments */ ---code-keyword-color: #008000; ---code-type-keyword-color: #604020; ---code-flow-keyword-color: #E08000; ---code-comment-color: #800000; ---code-preprocessor-color: #806020; ---code-string-literal-color: #002080; ---code-char-literal-color: #008080; ---code-xml-cdata-color: black; ---code-vhdl-digit-color: #FF00FF; ---code-vhdl-char-color: #000000; ---code-vhdl-keyword-color: #700070; ---code-vhdl-logic-color: #FF0000; ---code-link-color: #4665A2; ---code-external-link-color: #4665A2; ---fragment-foreground-color: black; ---fragment-background-color: #FBFCFD; ---fragment-border-color: #C4CFE5; ---fragment-lineno-border-color: #00FF00; ---fragment-lineno-background-color: #E8E8E8; ---fragment-lineno-foreground-color: black; ---fragment-lineno-link-fg-color: #4665A2; ---fragment-lineno-link-bg-color: #D8D8D8; ---fragment-lineno-link-hover-fg-color: #4665A2; ---fragment-lineno-link-hover-bg-color: #C8C8C8; ---fragment-copy-ok-color: #2EC82E; ---tooltip-foreground-color: black; ---tooltip-background-color: white; ---tooltip-border-color: gray; ---tooltip-doc-color: grey; ---tooltip-declaration-color: #006318; ---tooltip-link-color: #4665A2; ---tooltip-shadow: 1px 1px 7px gray; ---fold-line-color: #808080; ---fold-minus-image: url('minus.svg'); ---fold-plus-image: url('plus.svg'); ---fold-minus-image-relpath: url('../../minus.svg'); ---fold-plus-image-relpath: url('../../plus.svg'); - -/** font-family */ ---font-family-normal: Roboto,sans-serif; ---font-family-monospace: 'JetBrains Mono',Consolas,Monaco,'Andale Mono','Ubuntu Mono',monospace,fixed; ---font-family-nav: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; ---font-family-title: Tahoma,Arial,sans-serif; ---font-family-toc: Verdana,'DejaVu Sans',Geneva,sans-serif; ---font-family-search: Arial,Verdana,sans-serif; ---font-family-icon: Arial,Helvetica; ---font-family-tooltip: Roboto,sans-serif; - -/** special sections */ ---warning-color-bg: #f8d1cc; ---warning-color-hl: #b61825; ---warning-color-text: #75070f; ---note-color-bg: #faf3d8; ---note-color-hl: #f3a600; ---note-color-text: #5f4204; ---todo-color-bg: #e4f3ff; ---todo-color-hl: #1879C4; ---todo-color-text: #274a5c; ---test-color-bg: #e8e8ff; ---test-color-hl: #3939C4; ---test-color-text: #1a1a5c; ---deprecated-color-bg: #ecf0f3; ---deprecated-color-hl: #5b6269; ---deprecated-color-text: #43454a; ---bug-color-bg: #e4dafd; ---bug-color-hl: #5b2bdd; ---bug-color-text: #2a0d72; ---invariant-color-bg: #d8f1e3; ---invariant-color-hl: #44b86f; ---invariant-color-text: #265532; -} - -@media (prefers-color-scheme: dark) { - html:not(.dark-mode) { - color-scheme: dark; - -/* page base colors */ ---page-background-color: black; ---page-foreground-color: #C9D1D9; ---page-link-color: #90A5CE; ---page-visited-link-color: #A3B4D7; - -/* index */ ---index-odd-item-bg-color: #0B101A; ---index-even-item-bg-color: black; ---index-header-color: #C4CFE5; ---index-separator-color: #334975; - -/* header */ ---header-background-color: #070B11; ---header-separator-color: #141C2E; ---header-gradient-image: url('nav_hd.png'); ---group-header-separator-color: #283A5D; ---group-header-color: #90A5CE; ---inherit-header-color: #A0A0A0; - ---footer-foreground-color: #5B7AB7; ---footer-logo-width: 60px; ---citation-label-color: #90A5CE; ---glow-color: cyan; - ---title-background-color: #090D16; ---title-separator-color: #354C79; ---directory-separator-color: #283A5D; ---separator-color: #283A5D; - ---blockquote-background-color: #101826; ---blockquote-border-color: #283A5D; - ---scrollbar-thumb-color: #283A5D; ---scrollbar-background-color: #070B11; - ---icon-background-color: #334975; ---icon-foreground-color: #C4CFE5; ---icon-doc-image: url('docd.svg'); ---icon-folder-open-image: url('folderopend.svg'); ---icon-folder-closed-image: url('folderclosedd.svg'); - -/* brief member declaration list */ ---memdecl-background-color: #0B101A; ---memdecl-separator-color: #2C3F65; ---memdecl-foreground-color: #BBB; ---memdecl-template-color: #7C95C6; - -/* detailed member list */ ---memdef-border-color: #233250; ---memdef-title-background-color: #1B2840; ---memdef-title-gradient-image: url('nav_fd.png'); ---memdef-proto-background-color: #19243A; ---memdef-proto-text-color: #9DB0D4; ---memdef-proto-text-shadow: 0px 1px 1px rgba(0, 0, 0, 0.9); ---memdef-doc-background-color: black; ---memdef-param-name-color: #D28757; ---memdef-template-color: #7C95C6; - -/* tables */ ---table-cell-border-color: #283A5D; ---table-header-background-color: #283A5D; ---table-header-foreground-color: #C4CFE5; - -/* labels */ ---label-background-color: #354C7B; ---label-left-top-border-color: #4665A2; ---label-right-bottom-border-color: #283A5D; ---label-foreground-color: #CCCCCC; - -/** navigation bar/tree/menu */ ---nav-background-color: #101826; ---nav-foreground-color: #364D7C; ---nav-gradient-image: url('tab_bd.png'); ---nav-gradient-hover-image: url('tab_hd.png'); ---nav-gradient-active-image: url('tab_ad.png'); ---nav-gradient-active-image-parent: url("../tab_ad.png"); ---nav-separator-image: url('tab_sd.png'); ---nav-breadcrumb-image: url('bc_sd.png'); ---nav-breadcrumb-border-color: #2A3D61; ---nav-splitbar-image: url('splitbard.png'); ---nav-font-size-level1: 13px; ---nav-font-size-level2: 10px; ---nav-font-size-level3: 9px; ---nav-text-normal-color: #B6C4DF; ---nav-text-hover-color: #DCE2EF; ---nav-text-active-color: #DCE2EF; ---nav-text-normal-shadow: 0px 1px 1px black; ---nav-text-hover-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); ---nav-text-active-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); ---nav-menu-button-color: #B6C4DF; ---nav-menu-background-color: #05070C; ---nav-menu-foreground-color: #BBBBBB; ---nav-menu-toggle-color: rgba(255, 255, 255, 0.2); ---nav-arrow-color: #334975; ---nav-arrow-selected-color: #90A5CE; - -/* table of contents */ ---toc-background-color: #151E30; ---toc-border-color: #202E4A; ---toc-header-color: #A3B4D7; ---toc-down-arrow-image: url("data:image/svg+xml;utf8,&%238595;"); - -/** search field */ ---search-background-color: black; ---search-foreground-color: #C5C5C5; ---search-magnification-image: url('mag_d.svg'); ---search-magnification-select-image: url('mag_seld.svg'); ---search-active-color: #C5C5C5; ---search-filter-background-color: #101826; ---search-filter-foreground-color: #90A5CE; ---search-filter-border-color: #7C95C6; ---search-filter-highlight-text-color: #BCC9E2; ---search-filter-highlight-bg-color: #283A5D; ---search-results-background-color: #101826; ---search-results-foreground-color: #90A5CE; ---search-results-border-color: #7C95C6; ---search-box-shadow: inset 0.5px 0.5px 3px 0px #2F436C; - -/** code fragments */ ---code-keyword-color: #CC99CD; ---code-type-keyword-color: #AB99CD; ---code-flow-keyword-color: #E08000; ---code-comment-color: #717790; ---code-preprocessor-color: #65CABE; ---code-string-literal-color: #7EC699; ---code-char-literal-color: #00E0F0; ---code-xml-cdata-color: #C9D1D9; ---code-vhdl-digit-color: #FF00FF; ---code-vhdl-char-color: #C0C0C0; ---code-vhdl-keyword-color: #CF53C9; ---code-vhdl-logic-color: #FF0000; ---code-link-color: #79C0FF; ---code-external-link-color: #79C0FF; ---fragment-foreground-color: #C9D1D9; ---fragment-background-color: #090D16; ---fragment-border-color: #30363D; ---fragment-lineno-border-color: #30363D; ---fragment-lineno-background-color: black; ---fragment-lineno-foreground-color: #6E7681; ---fragment-lineno-link-fg-color: #6E7681; ---fragment-lineno-link-bg-color: #303030; ---fragment-lineno-link-hover-fg-color: #8E96A1; ---fragment-lineno-link-hover-bg-color: #505050; ---fragment-copy-ok-color: #0EA80E; ---tooltip-foreground-color: #C9D1D9; ---tooltip-background-color: #202020; ---tooltip-border-color: #C9D1D9; ---tooltip-doc-color: #D9E1E9; ---tooltip-declaration-color: #20C348; ---tooltip-link-color: #79C0FF; ---tooltip-shadow: none; ---fold-line-color: #808080; ---fold-minus-image: url('minusd.svg'); ---fold-plus-image: url('plusd.svg'); ---fold-minus-image-relpath: url('../../minusd.svg'); ---fold-plus-image-relpath: url('../../plusd.svg'); - -/** font-family */ ---font-family-normal: Roboto,sans-serif; ---font-family-monospace: 'JetBrains Mono',Consolas,Monaco,'Andale Mono','Ubuntu Mono',monospace,fixed; ---font-family-nav: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; ---font-family-title: Tahoma,Arial,sans-serif; ---font-family-toc: Verdana,'DejaVu Sans',Geneva,sans-serif; ---font-family-search: Arial,Verdana,sans-serif; ---font-family-icon: Arial,Helvetica; ---font-family-tooltip: Roboto,sans-serif; - -/** special sections */ ---warning-color-bg: #2e1917; ---warning-color-hl: #ad2617; ---warning-color-text: #f5b1aa; ---note-color-bg: #3b2e04; ---note-color-hl: #f1b602; ---note-color-text: #ceb670; ---todo-color-bg: #163750; ---todo-color-hl: #1982D2; ---todo-color-text: #dcf0fa; ---test-color-bg: #121258; ---test-color-hl: #4242cf; ---test-color-text: #c0c0da; ---deprecated-color-bg: #2e323b; ---deprecated-color-hl: #738396; ---deprecated-color-text: #abb0bd; ---bug-color-bg: #2a2536; ---bug-color-hl: #7661b3; ---bug-color-text: #ae9ed6; ---invariant-color-bg: #303a35; ---invariant-color-hl: #76ce96; ---invariant-color-text: #cceed5; -}} body { - background-color: var(--page-background-color); - color: var(--page-foreground-color); + background-color: white; + color: black; } body, table, div, p, dl { font-weight: 400; font-size: 14px; - font-family: var(--font-family-normal); + font-family: Roboto,sans-serif; line-height: 22px; } /* @group Heading Levels */ .title { - font-family: var(--font-family-normal); + font-family: Roboto,sans-serif; line-height: 28px; font-size: 150%; font-weight: bold; @@ -415,8 +27,8 @@ h1.groupheader { } h2.groupheader { - border-bottom: 1px solid var(--group-header-separator-color); - color: var(--group-header-color); + border-bottom: 1px solid #879ECB; + color: #354C7B; font-size: 150%; font-weight: normal; margin-top: 1.75em; @@ -439,7 +51,7 @@ h1, h2, h3, h4, h5, h6 { } h1.glow, h2.glow, h3.glow, h4.glow, h5.glow, h6.glow { - text-shadow: 0 0 15px var(--glow-color); + text-shadow: 0 0 15px cyan; } dt { @@ -512,15 +124,15 @@ td.navtab { } td.navtabHL { - background-image: var(--nav-gradient-active-image); + background-image: url('tab_a.png'); background-repeat:repeat-x; padding-right: 6px; padding-left: 6px; } td.navtabHL a, td.navtabHL a:visited { - color: var(--nav-text-hover-color); - text-shadow: var(--nav-text-hover-shadow); + color: white; + text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); } a.navtab { @@ -532,7 +144,7 @@ div.qindex{ width: 100%; line-height: 140%; font-size: 130%; - color: var(--index-separator-color); + color: #A0A0A0; } #main-menu a:focus { @@ -547,7 +159,7 @@ dt.alphachar{ } .alphachar a{ - color: var(--index-header-color); + color: black; } .alphachar a:hover, .alphachar a:visited{ @@ -567,11 +179,11 @@ dt.alphachar{ } .classindex dl.even { - background-color: var(--index-even-item-bg-color); + background-color: white; } .classindex dl.odd { - background-color: var(--index-odd-item-bg-color); + background-color: #F8F9FC; } @media(min-width: 1120px) { @@ -590,13 +202,13 @@ dt.alphachar{ /* @group Link Styling */ a { - color: var(--page-link-color); + color: #3D578C; font-weight: normal; text-decoration: none; } .contents a:visited { - color: var(--page-visited-link-color); + color: #4665A2; } a:hover { @@ -606,7 +218,7 @@ a:hover { a:hover > span.arrow { text-decoration: none; - background : var(--nav-background-color); + background : #F9FAFC; } a.el { @@ -617,11 +229,11 @@ a.elRef { } a.code, a.code:visited, a.line, a.line:visited { - color: var(--code-link-color); + color: #4665A2; } a.codeRef, a.codeRef:visited, a.lineRef, a.lineRef:visited { - color: var(--code-external-link-color); + color: #4665A2; } a.code.hl_class { /* style for links to class names in code snippets */ } @@ -705,17 +317,17 @@ ul.multicol { min-height: 12px; margin: 10px 0px; padding: 10px 10px; - border: 1px solid var(--fragment-border-color); + border: 1px solid #C4CFE5; border-radius: 4px; - background-color: var(--fragment-background-color); - color: var(--fragment-foreground-color); + background-color: #FBFCFD; + color: black; } pre.fragment { word-wrap: break-word; font-size: 10pt; line-height: 125%; - font-family: var(--font-family-monospace); + font-family: 'JetBrains Mono',Consolas,Monaco,'Andale Mono','Ubuntu Mono',monospace,fixed; } .clipboard { @@ -727,14 +339,14 @@ pre.fragment { position: absolute; display: inline; overflow: auto; - fill: var(--fragment-foreground-color); + fill: black; justify-content: center; align-items: center; cursor: pointer; } .clipboard.success { - border: 1px solid var(--fragment-foreground-color); + border: 1px solid black; border-radius: 4px; } @@ -751,15 +363,15 @@ pre.fragment { } .clipboard.success svg { - fill: var(--fragment-copy-ok-color); + fill: #2EC82E; } .clipboard.success { - border-color: var(--fragment-copy-ok-color); + border-color: #2EC82E; } div.line { - font-family: var(--font-family-monospace); + font-family: 'JetBrains Mono',Consolas,Monaco,'Andale Mono','Ubuntu Mono',monospace,fixed; font-size: 13px; min-height: 13px; line-height: 1.2; @@ -791,8 +403,8 @@ div.line:after { } div.line.glow { - background-color: var(--glow-color); - box-shadow: 0 0 10px var(--glow-color); + background-color: cyan; + box-shadow: 0 0 10px cyan; } span.fold { @@ -812,19 +424,19 @@ span.lineno { padding-right: 4px; margin-right: 9px; text-align: right; - border-right: 2px solid var(--fragment-lineno-border-color); - color: var(--fragment-lineno-foreground-color); - background-color: var(--fragment-lineno-background-color); + border-right: 2px solid #00FF00; + color: black; + background-color: #E8E8E8; white-space: pre; } span.lineno a, span.lineno a:visited { - color: var(--fragment-lineno-link-fg-color); - background-color: var(--fragment-lineno-link-bg-color); + color: #4665A2; + background-color: #D8D8D8; } span.lineno a:hover { - color: var(--fragment-lineno-link-hover-fg-color); - background-color: var(--fragment-lineno-link-hover-bg-color); + color: #4665A2; + background-color: #C8C8C8; } .lineno { @@ -857,7 +469,7 @@ div.groupText { } body { - color: var(--page-foreground-color); + color: black; margin: 0; } @@ -901,11 +513,11 @@ address.footer { img.footer { border: 0px; vertical-align: middle; - width: var(--footer-logo-width); + width: 104px; } .compoundTemplParams { - color: var(--memdecl-template-color); + color: #4665A2; font-size: 80%; line-height: 120%; } @@ -913,56 +525,56 @@ img.footer { /* @group Code Colorization */ span.keyword { - color: var(--code-keyword-color); + color: #008000; } span.keywordtype { - color: var(--code-type-keyword-color); + color: #604020; } span.keywordflow { - color: var(--code-flow-keyword-color); + color: #E08000; } span.comment { - color: var(--code-comment-color); + color: #800000; } span.preprocessor { - color: var(--code-preprocessor-color); + color: #806020; } span.stringliteral { - color: var(--code-string-literal-color); + color: #002080; } span.charliteral { - color: var(--code-char-literal-color); + color: #008080; } span.xmlcdata { - color: var(--code-xml-cdata-color); + color: black; } span.vhdldigit { - color: var(--code-vhdl-digit-color); + color: #FF00FF; } span.vhdlchar { - color: var(--code-vhdl-char-color); + color: #000000; } span.vhdlkeyword { - color: var(--code-vhdl-keyword-color); + color: #700070; } span.vhdllogic { - color: var(--code-vhdl-logic-color); + color: #FF0000; } blockquote { - background-color: var(--blockquote-background-color); - border-left: 2px solid var(--blockquote-border-color); + background-color: #F7F8FB; + border-left: 2px solid #9CAFD4; margin: 0 24px 0 4px; padding: 0 12px 0 16px; } @@ -976,19 +588,19 @@ td.tiny { .dirtab { padding: 4px; border-collapse: collapse; - border: 1px solid var(--table-cell-border-color); + border: 1px solid #2D4068; } th.dirtab { - background-color: var(--table-header-background-color); - color: var(--table-header-foreground-color); + background-color: #374F7F; + color: #FFFFFF; font-weight: bold; } hr { height: 0px; border: none; - border-top: 1px solid var(--separator-color); + border-top: 1px solid #4A6AAA; } hr.footer { @@ -1016,14 +628,14 @@ table.memberdecls { } .memberdecls td.glow, .fieldtable tr.glow { - background-color: var(--glow-color); - box-shadow: 0 0 15px var(--glow-color); + background-color: cyan; + box-shadow: 0 0 15px cyan; } .mdescLeft, .mdescRight, .memItemLeft, .memItemRight, .memTemplItemLeft, .memTemplItemRight, .memTemplParams { - background-color: var(--memdecl-background-color); + background-color: #F9FAFC; border: none; margin: 4px; padding: 1px 0 0 8px; @@ -1031,11 +643,11 @@ table.memberdecls { .mdescLeft, .mdescRight { padding: 0px 8px 4px 8px; - color: var(--memdecl-foreground-color); + color: #555; } .memSeparator { - border-bottom: 1px solid var(--memdecl-separator-color); + border-bottom: 1px solid #DEE4F0; line-height: 1px; margin: 0px; padding: 0px; @@ -1050,7 +662,7 @@ table.memberdecls { } .memTemplParams { - color: var(--memdecl-template-color); + color: #4665A2; white-space: nowrap; font-size: 80%; } @@ -1063,15 +675,15 @@ table.memberdecls { .memtitle { padding: 8px; - border-top: 1px solid var(--memdef-border-color); - border-left: 1px solid var(--memdef-border-color); - border-right: 1px solid var(--memdef-border-color); + border-top: 1px solid #A8B8D9; + border-left: 1px solid #A8B8D9; + border-right: 1px solid #A8B8D9; border-top-right-radius: 4px; border-top-left-radius: 4px; margin-bottom: -1px; - background-image: var(--memdef-title-gradient-image); + background-image: url('nav_f.png'); background-repeat: repeat-x; - background-color: var(--memdef-title-background-color); + background-color: #E2E8F2; line-height: 1.25; font-weight: 300; float:left; @@ -1086,7 +698,7 @@ table.memberdecls { .memtemplate { font-size: 80%; - color: var(--memdef-template-color); + color: #4665A2; font-weight: normal; margin-left: 9px; } @@ -1109,7 +721,7 @@ table.memberdecls { } .memitem.glow { - box-shadow: 0 0 15px var(--glow-color); + box-shadow: 0 0 15px cyan; } .memname { @@ -1122,32 +734,32 @@ table.memberdecls { } .memproto, dl.reflist dt { - border-top: 1px solid var(--memdef-border-color); - border-left: 1px solid var(--memdef-border-color); - border-right: 1px solid var(--memdef-border-color); + border-top: 1px solid #A8B8D9; + border-left: 1px solid #A8B8D9; + border-right: 1px solid #A8B8D9; padding: 6px 0px 6px 0px; - color: var(--memdef-proto-text-color); + color: #253555; font-weight: bold; - text-shadow: var(--memdef-proto-text-shadow); - background-color: var(--memdef-proto-background-color); + text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); + background-color: #DFE5F1; box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); border-top-right-radius: 4px; } .overload { - font-family: var(--font-family-monospace); + font-family: 'JetBrains Mono',Consolas,Monaco,'Andale Mono','Ubuntu Mono',monospace,fixed; font-size: 65%; } .memdoc, dl.reflist dd { - border-bottom: 1px solid var(--memdef-border-color); - border-left: 1px solid var(--memdef-border-color); - border-right: 1px solid var(--memdef-border-color); + border-bottom: 1px solid #A8B8D9; + border-left: 1px solid #A8B8D9; + border-right: 1px solid #A8B8D9; padding: 6px 10px 2px 10px; border-top-width: 0; background-image:url('nav_g.png'); background-repeat:repeat-x; - background-color: var(--memdef-doc-background-color); + background-color: white; /* opera specific markup */ border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; @@ -1189,13 +801,13 @@ dl.reflist dd { } .paramname em { - color: var(--memdef-param-name-color); + color: #602020; font-style: normal; margin-right: 1px; } .paramname .paramdefval { - font-family: var(--font-family-monospace); + font-family: 'JetBrains Mono',Consolas,Monaco,'Andale Mono','Ubuntu Mono',monospace,fixed; } .params, .retval, .exception, .tparams { @@ -1214,7 +826,7 @@ dl.reflist dd { } .params .paramdir, .tparams .paramdir { - font-family: var(--font-family-monospace); + font-family: 'JetBrains Mono',Consolas,Monaco,'Andale Mono','Ubuntu Mono',monospace,fixed; vertical-align: top; } @@ -1238,13 +850,13 @@ span.mlabels { } span.mlabel { - background-color: var(--label-background-color); - border-top:1px solid var(--label-left-top-border-color); - border-left:1px solid var(--label-left-top-border-color); - border-right:1px solid var(--label-right-bottom-border-color); - border-bottom:1px solid var(--label-right-bottom-border-color); + background-color: #728DC1; + border-top:1px solid #5373B4; + border-left:1px solid #5373B4; + border-right:1px solid #C4CFE5; + border-bottom:1px solid #C4CFE5; text-shadow: none; - color: var(--label-foreground-color); + color: white; margin-right: 4px; padding: 2px 3px; border-radius: 3px; @@ -1261,8 +873,8 @@ span.mlabel { div.directory { margin: 10px 0px; - border-top: 1px solid var(--directory-separator-color); - border-bottom: 1px solid var(--directory-separator-color); + border-top: 1px solid #9CAFD4; + border-bottom: 1px solid #9CAFD4; width: 100%; } @@ -1300,12 +912,12 @@ div.directory { .directory tr.odd { padding-left: 6px; - background-color: var(--index-odd-item-bg-color); + background-color: #F8F9FC; } .directory tr.even { padding-left: 6px; - background-color: var(--index-even-item-bg-color); + background-color: white; } .directory img { @@ -1323,11 +935,11 @@ div.directory { cursor: pointer; padding-left: 2px; padding-right: 2px; - color: var(--page-link-color); + color: #3D578C; } .arrow { - color: var(--nav-arrow-color); + color: #9CAFD4; -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; @@ -1341,15 +953,15 @@ div.directory { } .icon { - font-family: var(--font-family-icon); + font-family: Arial,Helvetica; line-height: normal; font-weight: bold; font-size: 12px; height: 14px; width: 16px; display: inline-block; - background-color: var(--icon-background-color); - color: var(--icon-foreground-color); + background-color: #728DC1; + color: white; text-align: center; border-radius: 4px; margin-left: 2px; @@ -1366,7 +978,7 @@ div.directory { width: 24px; height: 18px; margin-bottom: 4px; - background-image:var(--icon-folder-open-image); + background-image:url('folderopen.svg'); background-repeat: repeat-y; vertical-align:top; display: inline-block; @@ -1376,7 +988,7 @@ div.directory { width: 24px; height: 18px; margin-bottom: 4px; - background-image:var(--icon-folder-closed-image); + background-image:url('folderclosed.svg'); background-repeat: repeat-y; vertical-align:top; display: inline-block; @@ -1386,7 +998,7 @@ div.directory { width: 24px; height: 18px; margin-bottom: 4px; - background-image:var(--icon-doc-image); + background-image:url('doc.svg'); background-position: 0px -4px; background-repeat: repeat-y; vertical-align:top; @@ -1407,7 +1019,7 @@ div.dynheader { address { font-style: normal; - color: var(--footer-foreground-color); + color: #2A3D61; } table.doxtable caption { @@ -1421,13 +1033,13 @@ table.doxtable { } table.doxtable td, table.doxtable th { - border: 1px solid var(--table-cell-border-color); + border: 1px solid #2D4068; padding: 3px 7px 2px; } table.doxtable th { - background-color: var(--table-header-background-color); - color: var(--table-header-foreground-color); + background-color: #374F7F; + color: #FFFFFF; font-size: 110%; padding-bottom: 4px; padding-top: 5px; @@ -1435,7 +1047,7 @@ table.doxtable th { table.fieldtable { margin-bottom: 10px; - border: 1px solid var(--memdef-border-color); + border: 1px solid #A8B8D9; border-spacing: 0px; border-radius: 4px; box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); @@ -1447,8 +1059,8 @@ table.fieldtable { .fieldtable td.fieldtype, .fieldtable td.fieldname, .fieldtable td.fieldinit { white-space: nowrap; - border-right: 1px solid var(--memdef-border-color); - border-bottom: 1px solid var(--memdef-border-color); + border-right: 1px solid #A8B8D9; + border-bottom: 1px solid #A8B8D9; vertical-align: top; } @@ -1463,7 +1075,7 @@ table.fieldtable { .fieldtable td.fielddoc { - border-bottom: 1px solid var(--memdef-border-color); + border-bottom: 1px solid #A8B8D9; } .fieldtable td.fielddoc p:first-child { @@ -1479,18 +1091,18 @@ table.fieldtable { } .fieldtable th { - background-image: var(--memdef-title-gradient-image); + background-image: url('nav_f.png'); background-repeat:repeat-x; - background-color: var(--memdef-title-background-color); + background-color: #E2E8F2; font-size: 90%; - color: var(--memdef-proto-text-color); + color: #253555; padding-bottom: 4px; padding-top: 5px; text-align:left; font-weight: 400; border-top-left-radius: 4px; border-top-right-radius: 4px; - border-bottom: 1px solid var(--memdef-border-color); + border-bottom: 1px solid #A8B8D9; } @@ -1498,7 +1110,7 @@ table.fieldtable { top: 0px; left: 10px; height: 36px; - background-image: var(--nav-gradient-image); + background-image: url('tab_b.png'); z-index: 101; overflow: hidden; font-size: 13px; @@ -1507,13 +1119,13 @@ table.fieldtable { .navpath ul { font-size: 11px; - background-image: var(--nav-gradient-image); + background-image: url('tab_b.png'); background-repeat:repeat-x; background-position: 0 -5px; height:30px; line-height:30px; - color:var(--nav-text-normal-color); - border:solid 1px var(--nav-breadcrumb-border-color); + color:#283A5D; + border:solid 1px #C2CDE4; overflow:hidden; margin:0px; padding:0px; @@ -1525,10 +1137,10 @@ table.fieldtable { float:left; padding-left:10px; padding-right:15px; - background-image:var(--nav-breadcrumb-image); + background-image:url('bc_s.png'); background-repeat:no-repeat; background-position:right; - color: var(--nav-foreground-color); + color: #364D7C; } .navpath li.navelem a @@ -1536,16 +1148,16 @@ table.fieldtable { height:32px; display:block; outline: none; - color: var(--nav-text-normal-color); - font-family: var(--font-family-nav); - text-shadow: var(--nav-text-normal-shadow); + color: #283A5D; + font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; + text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); text-decoration: none; } .navpath li.navelem a:hover { - color: var(--nav-text-hover-color); - text-shadow: var(--nav-text-hover-shadow); + color: white; + text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); } .navpath li.footer @@ -1557,7 +1169,7 @@ table.fieldtable { background-image:none; background-repeat:no-repeat; background-position:right; - color: var(--footer-foreground-color); + color: #2A3D61; font-size: 8pt; } @@ -1602,11 +1214,11 @@ div.ingroups a div.header { - background-image: var(--header-gradient-image); + background-image: url('nav_h.png'); background-repeat:repeat-x; - background-color: var(--header-background-color); + background-color: #F9FAFC; margin: 0px; - border-bottom: 1px solid var(--header-separator-color); + border-bottom: 1px solid #C4CFE5; } div.headertitle @@ -1699,67 +1311,67 @@ dl.section dd { } dl.warning, dl.attention, dl.important { - background: var(--warning-color-bg); - border-left: 8px solid var(--warning-color-hl); - color: var(--warning-color-text); + background: #f8d1cc; + border-left: 8px solid #b61825; + color: #75070f; } dl.warning dt, dl.attention dt, dl.important dt { - color: var(--warning-color-hl); + color: #b61825; } dl.note, dl.remark { - background: var(--note-color-bg); - border-left: 8px solid var(--note-color-hl); - color: var(--note-color-text); + background: #faf3d8; + border-left: 8px solid #f3a600; + color: #5f4204; } dl.note dt, dl.remark dt { - color: var(--note-color-hl); + color: #f3a600; } dl.todo { - background: var(--todo-color-bg); - border-left: 8px solid var(--todo-color-hl); - color: var(--todo-color-text); + background: #e4f3ff; + border-left: 8px solid #1879C4; + color: #274a5c; } dl.todo dt { - color: var(--todo-color-hl); + color: #1879C4; } dl.test { - background: var(--test-color-bg); - border-left: 8px solid var(--test-color-hl); - color: var(--test-color-text); + background: #e8e8ff; + border-left: 8px solid #3939C4; + color: #1a1a5c; } dl.test dt { - color: var(--test-color-hl); + color: #3939C4; } dl.bug dt a { - color: var(--bug-color-hl) !important; + color: #5b2bdd !important; } dl.bug { - background: var(--bug-color-bg); - border-left: 8px solid var(--bug-color-hl); - color: var(--bug-color-text); + background: #e4dafd; + border-left: 8px solid #5b2bdd; + color: #2a0d72; } dl.bug dt a { - color: var(--bug-color-hl) !important; + color: #5b2bdd !important; } dl.deprecated { - background: var(--deprecated-color-bg); - border-left: 8px solid var(--deprecated-color-hl); - color: var(--deprecated-color-text); + background: #ecf0f3; + border-left: 8px solid #5b6269; + color: #43454a; } dl.deprecated dt a { - color: var(--deprecated-color-hl) !important; + color: #5b6269 !important; } dl.note dd, dl.warning dd, dl.pre dd, dl.post dd, @@ -1769,13 +1381,13 @@ dl.bug dd, dl.deprecated dd, dl.todo dd, dl.test dd { } dl.invariant, dl.pre, dl.post { - background: var(--invariant-color-bg); - border-left: 8px solid var(--invariant-color-hl); - color: var(--invariant-color-text); + background: #d8f1e3; + border-left: 8px solid #44b86f; + color: #265532; } dl.invariant dt, dl.pre dt, dl.post dt { - color: var(--invariant-color-hl); + color: #44b86f; } @@ -1805,7 +1417,7 @@ dl.invariant dt, dl.pre dt, dl.post dt { #projectname { font-size: 200%; - font-family: var(--font-family-title); + font-family: Tahoma,Arial,sans-serif; margin: 0px; padding: 2px 0px; } @@ -1813,7 +1425,7 @@ dl.invariant dt, dl.pre dt, dl.post dt { #projectbrief { font-size: 90%; - font-family: var(--font-family-title); + font-family: Tahoma,Arial,sans-serif; margin: 0px; padding: 0px; } @@ -1821,7 +1433,7 @@ dl.invariant dt, dl.pre dt, dl.post dt { #projectnumber { font-size: 50%; - font-family: 50% var(--font-family-title); + font-family: 50% Tahoma,Arial,sans-serif; margin: 0px; padding: 0px; } @@ -1831,8 +1443,8 @@ dl.invariant dt, dl.pre dt, dl.post dt { padding: 0px; margin: 0px; width: 100%; - border-bottom: 1px solid var(--title-separator-color); - background-color: var(--title-background-color); + border-bottom: 1px solid #5373B4; + background-color: white; } .image @@ -1870,7 +1482,7 @@ dl.citelist { } dl.citelist dt { - color:var(--citation-label-color); + color:#334975; float:left; font-weight:bold; margin-right:10px; @@ -1886,8 +1498,8 @@ dl.citelist dd { div.toc { padding: 14px 25px; - background-color: var(--toc-background-color); - border: 1px solid var(--toc-border-color); + background-color: #F4F6FA; + border: 1px solid #D8DFEE; border-radius: 7px 7px 7px 7px; float: right; height: auto; @@ -1896,16 +1508,16 @@ div.toc { } div.toc li { - background: var(--toc-down-arrow-image) no-repeat scroll 0 5px transparent; - font: 10px/1.2 var(--font-family-toc); + background: url("data:image/svg+xml;utf8,&%238595;") no-repeat scroll 0 5px transparent; + font: 10px/1.2 Verdana,'DejaVu Sans',Geneva,sans-serif; margin-top: 5px; padding-left: 10px; padding-top: 2px; } div.toc h3 { - font: bold 12px/1.2 var(--font-family-toc); - color: var(--toc-header-color); + font: bold 12px/1.2 Verdana,'DejaVu Sans',Geneva,sans-serif; + color: #4665A2; border-bottom: 0 none; margin: 0; } @@ -1941,7 +1553,7 @@ span.obfuscator { .inherit_header { font-weight: bold; - color: var(--inherit-header-color); + color: gray; cursor: pointer; -webkit-touch-callout: none; -webkit-user-select: none; @@ -1974,11 +1586,11 @@ tr.heading h2 { #powerTip { cursor: default; /*white-space: nowrap;*/ - color: var(--tooltip-foreground-color); - background-color: var(--tooltip-background-color); - border: 1px solid var(--tooltip-border-color); + color: black; + background-color: white; + border: 1px solid gray; border-radius: 4px 4px 4px 4px; - box-shadow: var(--tooltip-shadow); + box-shadow: 1px 1px 7px gray; display: none; font-size: smaller; max-width: 80%; @@ -1989,7 +1601,7 @@ tr.heading h2 { } #powerTip div.ttdoc { - color: var(--tooltip-doc-color); + color: grey; font-style: italic; } @@ -1998,7 +1610,7 @@ tr.heading h2 { } #powerTip a { - color: var(--tooltip-link-color); + color: #4665A2; } #powerTip div.ttname { @@ -2006,14 +1618,14 @@ tr.heading h2 { } #powerTip div.ttdeci { - color: var(--tooltip-declaration-color); + color: #006318; } #powerTip div { margin: 0px; padding: 0px; font-size: 12px; - font-family: var(--font-family-tooltip); + font-family: Roboto,sans-serif; line-height: 16px; } @@ -2059,12 +1671,12 @@ tr.heading h2 { } #powerTip.n:after, #powerTip.ne:after, #powerTip.nw:after { - border-top-color: var(--tooltip-background-color); + border-top-color: white; border-width: 10px; margin: 0px -10px; } #powerTip.n:before, #powerTip.ne:before, #powerTip.nw:before { - border-top-color: var(--tooltip-border-color); + border-top-color: gray; border-width: 11px; margin: 0px -11px; } @@ -2087,13 +1699,13 @@ tr.heading h2 { } #powerTip.s:after, #powerTip.se:after, #powerTip.sw:after { - border-bottom-color: var(--tooltip-background-color); + border-bottom-color: white; border-width: 10px; margin: 0px -10px; } #powerTip.s:before, #powerTip.se:before, #powerTip.sw:before { - border-bottom-color: var(--tooltip-border-color); + border-bottom-color: gray; border-width: 11px; margin: 0px -11px; } @@ -2114,13 +1726,13 @@ tr.heading h2 { left: 100%; } #powerTip.e:after { - border-left-color: var(--tooltip-border-color); + border-left-color: gray; border-width: 10px; top: 50%; margin-top: -10px; } #powerTip.e:before { - border-left-color: var(--tooltip-border-color); + border-left-color: gray; border-width: 11px; top: 50%; margin-top: -11px; @@ -2130,13 +1742,13 @@ tr.heading h2 { right: 100%; } #powerTip.w:after { - border-right-color: var(--tooltip-border-color); + border-right-color: gray; border-width: 10px; top: 50%; margin-top: -10px; } #powerTip.w:before { - border-right-color: var(--tooltip-border-color); + border-right-color: gray; border-width: 11px; top: 50%; margin-top: -11px; @@ -2170,7 +1782,7 @@ table.markdownTable { } table.markdownTable td, table.markdownTable th { - border: 1px solid var(--table-cell-border-color); + border: 1px solid #2D4068; padding: 3px 7px 2px; } @@ -2178,8 +1790,8 @@ table.markdownTable tr { } th.markdownTableHeadLeft, th.markdownTableHeadRight, th.markdownTableHeadCenter, th.markdownTableHeadNone { - background-color: var(--table-header-background-color); - color: var(--table-header-foreground-color); + background-color: #374F7F; + color: #FFFFFF; font-size: 110%; padding-bottom: 4px; padding-top: 5px; @@ -2227,21 +1839,3 @@ details[open]>summary::before { font-size: 80%; } -body { - scrollbar-color: var(--scrollbar-thumb-color) var(--scrollbar-background-color); -} - -::-webkit-scrollbar { - background-color: var(--scrollbar-background-color); - height: 12px; - width: 12px; -} -::-webkit-scrollbar-thumb { - border-radius: 6px; - box-shadow: inset 0 0 12px 12px var(--scrollbar-thumb-color); - border: solid 2px transparent; -} -::-webkit-scrollbar-corner { - background-color: var(--scrollbar-background-color); -} - diff --git a/doxygen_crawl.html b/doxygen_crawl.html index 4f648110e..3586e2d1d 100644 --- a/doxygen_crawl.html +++ b/doxygen_crawl.html @@ -13,17 +13,373 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -685,7 +1041,6 @@ - @@ -744,6 +1099,7 @@ + @@ -1022,6 +1378,7 @@ + @@ -1078,6 +1435,7 @@ + @@ -1088,6 +1446,9 @@ + + + @@ -1100,6 +1461,7 @@ + @@ -1123,9 +1485,11 @@ + + @@ -1370,6 +1734,7 @@ + @@ -1390,6 +1755,8 @@ + + @@ -1406,10 +1773,12 @@ + + @@ -1507,6 +1876,7 @@ + @@ -1589,6 +1959,7 @@ + @@ -1615,11 +1986,14 @@ + + + @@ -1651,7 +2025,7 @@ - + @@ -1742,6 +2116,7 @@ + @@ -1829,6 +2204,7 @@ + @@ -1866,6 +2242,9 @@ + + + @@ -1934,6 +2313,7 @@ + @@ -1971,6 +2351,7 @@ + @@ -2053,6 +2434,7 @@ + @@ -2073,6 +2455,7 @@ + @@ -2157,6 +2540,7 @@ + @@ -2178,6 +2562,7 @@ + @@ -2209,6 +2594,7 @@ + @@ -2322,7 +2708,10 @@ + + + @@ -2377,6 +2766,7 @@ + @@ -2395,6 +2785,7 @@ + @@ -2451,6 +2842,7 @@ + @@ -2556,6 +2948,7 @@ + @@ -2576,6 +2969,7 @@ + @@ -2608,6 +3002,7 @@ + @@ -2650,6 +3045,7 @@ + @@ -2671,8 +3067,8 @@ - + @@ -2743,6 +3139,7 @@ + @@ -2832,12 +3229,14 @@ + + @@ -2861,6 +3260,7 @@ + @@ -2868,9 +3268,13 @@ + + + + @@ -2916,6 +3320,7 @@ + @@ -2965,6 +3370,7 @@ + @@ -3022,6 +3428,7 @@ + @@ -3048,6 +3455,7 @@ + @@ -3352,10 +3760,13 @@ + + + @@ -3369,6 +3780,7 @@ + @@ -3399,7 +3811,7 @@ - + @@ -3427,6 +3839,7 @@ + @@ -3770,15 +4183,18 @@ + + + @@ -3807,6 +4223,7 @@ + @@ -3827,6 +4244,7 @@ + @@ -3838,6 +4256,7 @@ + @@ -3856,6 +4275,8 @@ + + @@ -3875,6 +4296,7 @@ + @@ -3978,6 +4400,7 @@ + @@ -3992,6 +4415,7 @@ + @@ -4069,6 +4493,7 @@ + @@ -4076,6 +4501,7 @@ + @@ -4097,6 +4523,7 @@ + @@ -4128,6 +4555,7 @@ + diff --git a/dynsections.js b/dynsections.js index b05f4c8d7..0c3560522 100644 --- a/dynsections.js +++ b/dynsections.js @@ -128,8 +128,8 @@ let codefold = { opened : true, // in case HTML_COLORSTYLE is LIGHT or DARK the vars will be replaced, so we write them out explicitly and use double quotes - plusImg: [ "var(--fold-plus-image)", "var(--fold-plus-image-relpath)" ], - minusImg: [ "var(--fold-minus-image)", "var(--fold-minus-image-relpath)" ], + plusImg: [ "url('plus.svg')", "url('../../plus.svg')" ], + minusImg: [ "url('minus.svg')", "url('../../minus.svg')" ], // toggle all folding blocks toggle_all : function(relPath) { @@ -157,7 +157,7 @@ let codefold = { 'margin-right':'2px', 'display':'inline-block', 'width':'54px', - 'background':'linear-gradient(var(--fold-line-color),var(--fold-line-color)) no-repeat 46px/2px 100%' + 'background':'linear-gradient(#808080,#808080) no-repeat 46px/2px 100%' }); // add global toggle to first line $('span[class=lineno]:first').append(' @@ -5,10 +6,15 @@ -Algorithms_in_C++: Examples +TheAlgorithms/C++: Examples + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/favicon.svg b/favicon.svg new file mode 100644 index 000000000..3c5280c2b --- /dev/null +++ b/favicon.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/files.html b/files.html index 2bb17725c..ef5317b8d 100644 --- a/files.html +++ b/files.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: File List +TheAlgorithms/C++: File List + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + @@ -110,329 +127,402 @@ $(function(){initNavTree('files.html',''); initResizable(true); });
    Here is a list of all documented files with brief descriptions:
    [detail level 123]
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    - - - - - - - - + + + + + + + + - - - - + + + + - - - - - - - - - + + + + + + + + + + - - - - - - - - - - + + + + + + + + + + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - - + + + + - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + - + - - - - - - - + + + + + + + + + + - - - - - - - + + + + + + + - - - - - - - + + + + + + + + - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + - - - - - + + + + + - - - - - - - - - - - - + + + + + + + + + + + + - - - - - + + + + + - - - - + + + + - - - - - - - - + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - - - - - - + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      backtracking
      bit_manipulation
      ciphers
      cpu_scheduling_algorithms
      data_structures
      divide_and_conquer
      dynamic_programming
      games
      geometry
      graph
      graphics
      greedy_algorithms
      hashing
      machine_learning
      math
      numerical_methods
      operations_on_datastructures
      others
      physics
      probability
      range_queries
      search
      sorting
      strings
      scripts
      search
      sorting
      strings
    diff --git a/files_dup.js b/files_dup.js index 4d5668aba..ef89b77d5 100644 --- a/files_dup.js +++ b/files_dup.js @@ -21,6 +21,7 @@ var files_dup = [ "physics", "dir_59dc24c326e2a72d1164f014b22de83d.html", "dir_59dc24c326e2a72d1164f014b22de83d" ], [ "probability", "dir_82e494173a87936756866de2fa774307.html", "dir_82e494173a87936756866de2fa774307" ], [ "range_queries", "dir_074119ce3a874b57120c49a0cc4bb5ad.html", "dir_074119ce3a874b57120c49a0cc4bb5ad" ], + [ "scripts", "dir_53e6fa9553ac22a5646d2a2b2d7b97a1.html", "dir_53e6fa9553ac22a5646d2a2b2d7b97a1" ], [ "search", "dir_19b2bf9199a15c634a08b1ede1dd896a.html", "dir_19b2bf9199a15c634a08b1ede1dd896a" ], [ "sorting", "dir_bb1b521853a9c46347182a9d10420771.html", "dir_bb1b521853a9c46347182a9d10420771" ], [ "strings", "dir_73a3cc5065b223eb41b02873c0e19f0e.html", "dir_73a3cc5065b223eb41b02873c0e19f0e" ] diff --git a/functions.html b/functions.html index 53de1791a..5b5c88320 100644 --- a/functions.html +++ b/functions.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Class Members +TheAlgorithms/C++: Class Members + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/functions_a.html b/functions_a.html index 0e74489f3..24fc5ff2d 100644 --- a/functions_a.html +++ b/functions_a.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Class Members +TheAlgorithms/C++: Class Members + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/functions_b.html b/functions_b.html index 3361a9807..b6517c3c9 100644 --- a/functions_b.html +++ b/functions_b.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Class Members +TheAlgorithms/C++: Class Members + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/functions_c.html b/functions_c.html index 4c995dbf1..35abf084a 100644 --- a/functions_c.html +++ b/functions_c.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Class Members +TheAlgorithms/C++: Class Members + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/functions_d.html b/functions_d.html index 75d0ba852..cff880537 100644 --- a/functions_d.html +++ b/functions_d.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Class Members +TheAlgorithms/C++: Class Members + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/functions_e.html b/functions_e.html index 0063389d3..1ee9c9eb8 100644 --- a/functions_e.html +++ b/functions_e.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Class Members +TheAlgorithms/C++: Class Members + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/functions_f.html b/functions_f.html index 365dd72cf..6b5e962fa 100644 --- a/functions_f.html +++ b/functions_f.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Class Members +TheAlgorithms/C++: Class Members + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/functions_func.html b/functions_func.html index 0b4820159..7ceed9074 100644 --- a/functions_func.html +++ b/functions_func.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Class Members - Functions +TheAlgorithms/C++: Class Members - Functions + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/functions_func_a.html b/functions_func_a.html index 8669bb064..7d43f2fb0 100644 --- a/functions_func_a.html +++ b/functions_func_a.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Class Members - Functions +TheAlgorithms/C++: Class Members - Functions + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/functions_func_b.html b/functions_func_b.html index b455c1530..170e2dfb9 100644 --- a/functions_func_b.html +++ b/functions_func_b.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Class Members - Functions +TheAlgorithms/C++: Class Members - Functions + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/functions_func_c.html b/functions_func_c.html index 5078c5f6c..4c841ddba 100644 --- a/functions_func_c.html +++ b/functions_func_c.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Class Members - Functions +TheAlgorithms/C++: Class Members - Functions + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/functions_func_d.html b/functions_func_d.html index 0b69f3e81..71ee2d837 100644 --- a/functions_func_d.html +++ b/functions_func_d.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Class Members - Functions +TheAlgorithms/C++: Class Members - Functions + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/functions_func_e.html b/functions_func_e.html index 2b23a090b..7b6eac4de 100644 --- a/functions_func_e.html +++ b/functions_func_e.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Class Members - Functions +TheAlgorithms/C++: Class Members - Functions + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/functions_func_f.html b/functions_func_f.html index 59e892ba8..1a7f8b469 100644 --- a/functions_func_f.html +++ b/functions_func_f.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Class Members - Functions +TheAlgorithms/C++: Class Members - Functions + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/functions_func_g.html b/functions_func_g.html index f6654f307..d17b046eb 100644 --- a/functions_func_g.html +++ b/functions_func_g.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Class Members - Functions +TheAlgorithms/C++: Class Members - Functions + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/functions_func_h.html b/functions_func_h.html index 17a248332..908b6a0ca 100644 --- a/functions_func_h.html +++ b/functions_func_h.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Class Members - Functions +TheAlgorithms/C++: Class Members - Functions + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/functions_func_i.html b/functions_func_i.html index ba0145b1b..02d6114a6 100644 --- a/functions_func_i.html +++ b/functions_func_i.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Class Members - Functions +TheAlgorithms/C++: Class Members - Functions + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/functions_func_k.html b/functions_func_k.html index bf09174ba..4af967b06 100644 --- a/functions_func_k.html +++ b/functions_func_k.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Class Members - Functions +TheAlgorithms/C++: Class Members - Functions + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/functions_func_l.html b/functions_func_l.html index b8eb79d49..26545dab4 100644 --- a/functions_func_l.html +++ b/functions_func_l.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Class Members - Functions +TheAlgorithms/C++: Class Members - Functions + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/functions_func_m.html b/functions_func_m.html index 7bda40a9a..4076b08ee 100644 --- a/functions_func_m.html +++ b/functions_func_m.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Class Members - Functions +TheAlgorithms/C++: Class Members - Functions + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/functions_func_n.html b/functions_func_n.html index 5b9094ba0..a7909140e 100644 --- a/functions_func_n.html +++ b/functions_func_n.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Class Members - Functions +TheAlgorithms/C++: Class Members - Functions + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/functions_func_o.html b/functions_func_o.html index c0811b2a0..fc143b659 100644 --- a/functions_func_o.html +++ b/functions_func_o.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Class Members - Functions +TheAlgorithms/C++: Class Members - Functions + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/functions_func_p.html b/functions_func_p.html index f0b5a9d5c..72df2b1c7 100644 --- a/functions_func_p.html +++ b/functions_func_p.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Class Members - Functions +TheAlgorithms/C++: Class Members - Functions + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/functions_func_q.html b/functions_func_q.html index 1283cc83c..fd9dd2d5c 100644 --- a/functions_func_q.html +++ b/functions_func_q.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Class Members - Functions +TheAlgorithms/C++: Class Members - Functions + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/functions_func_r.html b/functions_func_r.html index 3f6ba2a9c..587582041 100644 --- a/functions_func_r.html +++ b/functions_func_r.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Class Members - Functions +TheAlgorithms/C++: Class Members - Functions + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/functions_func_s.html b/functions_func_s.html index ffda930e5..48f278a16 100644 --- a/functions_func_s.html +++ b/functions_func_s.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Class Members - Functions +TheAlgorithms/C++: Class Members - Functions + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/functions_func_t.html b/functions_func_t.html index 0ba68fec9..f35b36618 100644 --- a/functions_func_t.html +++ b/functions_func_t.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Class Members - Functions +TheAlgorithms/C++: Class Members - Functions + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/functions_func_u.html b/functions_func_u.html index 20beb84e9..d471d72cd 100644 --- a/functions_func_u.html +++ b/functions_func_u.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Class Members - Functions +TheAlgorithms/C++: Class Members - Functions + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/functions_func_v.html b/functions_func_v.html index 3095d191a..aebb13617 100644 --- a/functions_func_v.html +++ b/functions_func_v.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Class Members - Functions +TheAlgorithms/C++: Class Members - Functions + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/functions_func_w.html b/functions_func_w.html index 6bb7085bf..de9a14e42 100644 --- a/functions_func_w.html +++ b/functions_func_w.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Class Members - Functions +TheAlgorithms/C++: Class Members - Functions + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/functions_func_~.html b/functions_func_~.html index 5e058144e..0d844706a 100644 --- a/functions_func_~.html +++ b/functions_func_~.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Class Members - Functions +TheAlgorithms/C++: Class Members - Functions + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/functions_g.html b/functions_g.html index cc3bbcc93..fafddc079 100644 --- a/functions_g.html +++ b/functions_g.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Class Members +TheAlgorithms/C++: Class Members + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/functions_h.html b/functions_h.html index d1b865fbb..b81df4a75 100644 --- a/functions_h.html +++ b/functions_h.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Class Members +TheAlgorithms/C++: Class Members + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/functions_i.html b/functions_i.html index 4a448f4e8..191963bcb 100644 --- a/functions_i.html +++ b/functions_i.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Class Members +TheAlgorithms/C++: Class Members + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/functions_k.html b/functions_k.html index eaaf09a05..0d1e3c0c0 100644 --- a/functions_k.html +++ b/functions_k.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Class Members +TheAlgorithms/C++: Class Members + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/functions_l.html b/functions_l.html index 357c05786..291933f3d 100644 --- a/functions_l.html +++ b/functions_l.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Class Members +TheAlgorithms/C++: Class Members + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/functions_m.html b/functions_m.html index c36c5cc63..f31dc7cfd 100644 --- a/functions_m.html +++ b/functions_m.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Class Members +TheAlgorithms/C++: Class Members + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/functions_n.html b/functions_n.html index 504a725dc..5ed60755a 100644 --- a/functions_n.html +++ b/functions_n.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Class Members +TheAlgorithms/C++: Class Members + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/functions_o.html b/functions_o.html index d598dbe82..e737b89ff 100644 --- a/functions_o.html +++ b/functions_o.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Class Members +TheAlgorithms/C++: Class Members + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/functions_p.html b/functions_p.html index c750dff0b..0021383b6 100644 --- a/functions_p.html +++ b/functions_p.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Class Members +TheAlgorithms/C++: Class Members + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/functions_q.html b/functions_q.html index bb6f40351..728a47126 100644 --- a/functions_q.html +++ b/functions_q.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Class Members +TheAlgorithms/C++: Class Members + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/functions_r.html b/functions_r.html index f9622297d..4fa6c439e 100644 --- a/functions_r.html +++ b/functions_r.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Class Members +TheAlgorithms/C++: Class Members + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/functions_rela.html b/functions_rela.html index c3851dc10..09f52d76a 100644 --- a/functions_rela.html +++ b/functions_rela.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Class Members - Related Symbols +TheAlgorithms/C++: Class Members - Related Symbols + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/functions_s.html b/functions_s.html index 3d6c23a60..69a490d25 100644 --- a/functions_s.html +++ b/functions_s.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Class Members +TheAlgorithms/C++: Class Members + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/functions_t.html b/functions_t.html index da702a08a..6d9db1fdf 100644 --- a/functions_t.html +++ b/functions_t.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Class Members +TheAlgorithms/C++: Class Members + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/functions_type.html b/functions_type.html index 31d3d54f0..d8fdf7cf1 100644 --- a/functions_type.html +++ b/functions_type.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Class Members - Typedefs +TheAlgorithms/C++: Class Members - Typedefs + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/functions_u.html b/functions_u.html index 754693bb3..75d50c0a1 100644 --- a/functions_u.html +++ b/functions_u.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Class Members +TheAlgorithms/C++: Class Members + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/functions_v.html b/functions_v.html index ddb219edc..137c2ea1f 100644 --- a/functions_v.html +++ b/functions_v.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Class Members +TheAlgorithms/C++: Class Members + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/functions_vars.html b/functions_vars.html index 84746901d..27f200a68 100644 --- a/functions_vars.html +++ b/functions_vars.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Class Members - Variables +TheAlgorithms/C++: Class Members - Variables + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/functions_w.html b/functions_w.html index e8c9add3c..552c836b4 100644 --- a/functions_w.html +++ b/functions_w.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Class Members +TheAlgorithms/C++: Class Members + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/functions_x.html b/functions_x.html index 730a1417c..f9dedd5c9 100644 --- a/functions_x.html +++ b/functions_x.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Class Members +TheAlgorithms/C++: Class Members + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/functions_y.html b/functions_y.html index cc7d4e13d..9f4eb61f1 100644 --- a/functions_y.html +++ b/functions_y.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Class Members +TheAlgorithms/C++: Class Members + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/functions_~.html b/functions_~.html index 1a0af9a85..8f92594c6 100644 --- a/functions_~.html +++ b/functions_~.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Class Members +TheAlgorithms/C++: Class Members + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/globals.html b/globals.html index 57ee4819e..520fb9174 100644 --- a/globals.html +++ b/globals.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: File Members +TheAlgorithms/C++: File Members + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/globals_a.html b/globals_a.html index 4a525b6a2..f1de5d692 100644 --- a/globals_a.html +++ b/globals_a.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: File Members +TheAlgorithms/C++: File Members + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/globals_b.html b/globals_b.html index ddb2e86a3..62d65685a 100644 --- a/globals_b.html +++ b/globals_b.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: File Members +TheAlgorithms/C++: File Members + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/globals_c.html b/globals_c.html index 8a15fcdde..2e7f37dd3 100644 --- a/globals_c.html +++ b/globals_c.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: File Members +TheAlgorithms/C++: File Members + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/globals_d.html b/globals_d.html index e090ee149..a6903180e 100644 --- a/globals_d.html +++ b/globals_d.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: File Members +TheAlgorithms/C++: File Members + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/globals_defs.html b/globals_defs.html index d781a6c41..293ad133e 100644 --- a/globals_defs.html +++ b/globals_defs.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: File Members +TheAlgorithms/C++: File Members + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/globals_e.html b/globals_e.html index 220615268..911da26de 100644 --- a/globals_e.html +++ b/globals_e.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: File Members +TheAlgorithms/C++: File Members + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/globals_f.html b/globals_f.html index 11c17d356..3b3c5376d 100644 --- a/globals_f.html +++ b/globals_f.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: File Members +TheAlgorithms/C++: File Members + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/globals_func.html b/globals_func.html index fcdbc3e04..c591f85cd 100644 --- a/globals_func.html +++ b/globals_func.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: File Members +TheAlgorithms/C++: File Members + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/globals_func_a.html b/globals_func_a.html index 5eee8fba3..435532d54 100644 --- a/globals_func_a.html +++ b/globals_func_a.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: File Members +TheAlgorithms/C++: File Members + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/globals_func_b.html b/globals_func_b.html index 74a2da0a6..ea72c525d 100644 --- a/globals_func_b.html +++ b/globals_func_b.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: File Members +TheAlgorithms/C++: File Members + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/globals_func_c.html b/globals_func_c.html index fb928c380..dc0016f73 100644 --- a/globals_func_c.html +++ b/globals_func_c.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: File Members +TheAlgorithms/C++: File Members + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/globals_func_d.html b/globals_func_d.html index 33b476347..8e0e79fe1 100644 --- a/globals_func_d.html +++ b/globals_func_d.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: File Members +TheAlgorithms/C++: File Members + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/globals_func_e.html b/globals_func_e.html index f36bc9f80..bf5b55e04 100644 --- a/globals_func_e.html +++ b/globals_func_e.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: File Members +TheAlgorithms/C++: File Members + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/globals_func_f.html b/globals_func_f.html index b66bf28c5..2fd947c08 100644 --- a/globals_func_f.html +++ b/globals_func_f.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: File Members +TheAlgorithms/C++: File Members + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/globals_func_g.html b/globals_func_g.html index 80cb2c461..fdbacc77e 100644 --- a/globals_func_g.html +++ b/globals_func_g.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: File Members +TheAlgorithms/C++: File Members + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/globals_func_h.html b/globals_func_h.html index 24a13c7e3..a7ae93b58 100644 --- a/globals_func_h.html +++ b/globals_func_h.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: File Members +TheAlgorithms/C++: File Members + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/globals_func_i.html b/globals_func_i.html index 0dbc53315..3de82783c 100644 --- a/globals_func_i.html +++ b/globals_func_i.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: File Members +TheAlgorithms/C++: File Members + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/globals_func_j.html b/globals_func_j.html index e8ca75fde..ea42a459c 100644 --- a/globals_func_j.html +++ b/globals_func_j.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: File Members +TheAlgorithms/C++: File Members + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/globals_func_l.html b/globals_func_l.html index 5ec0a4e4f..89500f9f7 100644 --- a/globals_func_l.html +++ b/globals_func_l.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: File Members +TheAlgorithms/C++: File Members + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/globals_func_m.html b/globals_func_m.html index d61925ac2..76fe8ac00 100644 --- a/globals_func_m.html +++ b/globals_func_m.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: File Members +TheAlgorithms/C++: File Members + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/globals_func_n.html b/globals_func_n.html index f9de5d235..ceb9821f9 100644 --- a/globals_func_n.html +++ b/globals_func_n.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: File Members +TheAlgorithms/C++: File Members + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/globals_func_o.html b/globals_func_o.html index c0a30db5b..911ab9df4 100644 --- a/globals_func_o.html +++ b/globals_func_o.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: File Members +TheAlgorithms/C++: File Members + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/globals_func_p.html b/globals_func_p.html index f8d14859a..5f7d85354 100644 --- a/globals_func_p.html +++ b/globals_func_p.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: File Members +TheAlgorithms/C++: File Members + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/globals_func_q.html b/globals_func_q.html index 179ea492b..8e0a06f13 100644 --- a/globals_func_q.html +++ b/globals_func_q.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: File Members +TheAlgorithms/C++: File Members + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/globals_func_r.html b/globals_func_r.html index d9d506ef8..c995c8c09 100644 --- a/globals_func_r.html +++ b/globals_func_r.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: File Members +TheAlgorithms/C++: File Members + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/globals_func_s.html b/globals_func_s.html index 8af17b9b3..e5115604d 100644 --- a/globals_func_s.html +++ b/globals_func_s.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: File Members +TheAlgorithms/C++: File Members + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/globals_func_t.html b/globals_func_t.html index b55efcedc..ed0d0867c 100644 --- a/globals_func_t.html +++ b/globals_func_t.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: File Members +TheAlgorithms/C++: File Members + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/globals_func_u.html b/globals_func_u.html index 95e2d43ad..f8a01c8e1 100644 --- a/globals_func_u.html +++ b/globals_func_u.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: File Members +TheAlgorithms/C++: File Members + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/globals_func_z.html b/globals_func_z.html index 1ecb03805..450e8075f 100644 --- a/globals_func_z.html +++ b/globals_func_z.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: File Members +TheAlgorithms/C++: File Members + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/globals_g.html b/globals_g.html index fdb06016f..166dcf003 100644 --- a/globals_g.html +++ b/globals_g.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: File Members +TheAlgorithms/C++: File Members + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/globals_h.html b/globals_h.html index 0b7d180ee..206f3c0cb 100644 --- a/globals_h.html +++ b/globals_h.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: File Members +TheAlgorithms/C++: File Members + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/globals_i.html b/globals_i.html index 893820043..141dca0bb 100644 --- a/globals_i.html +++ b/globals_i.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: File Members +TheAlgorithms/C++: File Members + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/globals_j.html b/globals_j.html index 9b6196dc5..4f93a0f0c 100644 --- a/globals_j.html +++ b/globals_j.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: File Members +TheAlgorithms/C++: File Members + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/globals_l.html b/globals_l.html index b4f900e23..1728a1e0b 100644 --- a/globals_l.html +++ b/globals_l.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: File Members +TheAlgorithms/C++: File Members + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/globals_m.html b/globals_m.html index 7a7b5fa51..d847ab4b5 100644 --- a/globals_m.html +++ b/globals_m.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: File Members +TheAlgorithms/C++: File Members + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/globals_n.html b/globals_n.html index f6c17e4fd..e3e2ed737 100644 --- a/globals_n.html +++ b/globals_n.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: File Members +TheAlgorithms/C++: File Members + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/globals_o.html b/globals_o.html index 634b0246d..0d6e4e164 100644 --- a/globals_o.html +++ b/globals_o.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: File Members +TheAlgorithms/C++: File Members + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/globals_p.html b/globals_p.html index 474a48d05..e7c93fa46 100644 --- a/globals_p.html +++ b/globals_p.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: File Members +TheAlgorithms/C++: File Members + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/globals_q.html b/globals_q.html index baff51701..fb90948e0 100644 --- a/globals_q.html +++ b/globals_q.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: File Members +TheAlgorithms/C++: File Members + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/globals_r.html b/globals_r.html index 72e3881d0..21cc22c23 100644 --- a/globals_r.html +++ b/globals_r.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: File Members +TheAlgorithms/C++: File Members + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/globals_s.html b/globals_s.html index 194c7b5ac..987d04d3a 100644 --- a/globals_s.html +++ b/globals_s.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: File Members +TheAlgorithms/C++: File Members + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/globals_t.html b/globals_t.html index ac0e9b5bc..28e9d6839 100644 --- a/globals_t.html +++ b/globals_t.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: File Members +TheAlgorithms/C++: File Members + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/globals_type.html b/globals_type.html index cfbb80334..c4d275ee9 100644 --- a/globals_type.html +++ b/globals_type.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: File Members +TheAlgorithms/C++: File Members + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/globals_u.html b/globals_u.html index ee24d18df..89cb68021 100644 --- a/globals_u.html +++ b/globals_u.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: File Members +TheAlgorithms/C++: File Members + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/globals_vars.html b/globals_vars.html index 29d5e8bfd..c285b1477 100644 --- a/globals_vars.html +++ b/globals_vars.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: File Members +TheAlgorithms/C++: File Members + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/globals_w.html b/globals_w.html index 8a7f77257..5cc3498b6 100644 --- a/globals_w.html +++ b/globals_w.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: File Members +TheAlgorithms/C++: File Members + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/globals_z.html b/globals_z.html index f262345e9..2c083c153 100644 --- a/globals_z.html +++ b/globals_z.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: File Members +TheAlgorithms/C++: File Members + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/graph_legend.html b/graph_legend.html index d771dd039..33fdc8e4d 100644 --- a/graph_legend.html +++ b/graph_legend.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Graph Legend +TheAlgorithms/C++: Graph Legend + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/hierarchy.html b/hierarchy.html index d9a6bd8fe..e116e462e 100644 --- a/hierarchy.html +++ b/hierarchy.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Class Hierarchy +TheAlgorithms/C++: Class Hierarchy + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + @@ -213,7 +230,7 @@ This inheritance list is sorted roughly, but not completely, alphabetically: - + @@ -229,7 +246,7 @@ This inheritance list is sorted roughly, but not completely, alphabetically: - + diff --git a/hierarchy.js b/hierarchy.js index 74519eaaa..934742f14 100644 --- a/hierarchy.js +++ b/hierarchy.js @@ -121,7 +121,7 @@ var hierarchy = [ "Trie", "dd/d2f/class_trie.html", null ], [ "data_structures::trie", "d0/d3e/classdata__structures_1_1trie.html", null ], [ "Trie::TrieNode", "de/d48/struct_trie_1_1_trie_node.html", null ], - [ "std::true_type", "http://en.cppreference.com/w/cpp/types/integral_constant.html", [ + [ "std::true_type", null, [ [ "std::is_arithmetic< uint128_t >", "d2/dfc/structstd_1_1is__arithmetic_3_01uint128__t_01_4.html", null ], [ "std::is_arithmetic< uint256_t >", "dc/d6d/structstd_1_1is__arithmetic_3_01uint256__t_01_4.html", null ], [ "std::is_integral< uint128_t >", "d2/dd4/structstd_1_1is__integral_3_01uint128__t_01_4.html", null ], diff --git a/index.html b/index.html index e1df2e25b..920fb374a 100644 --- a/index.html +++ b/index.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: The Algorithms - C++ +TheAlgorithms/C++: The Algorithms - C++ + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
     Cdata_structures::Stack< T >Class representation of a stack
     Cdata_structures::stack_using_queue::StackStack Class implementation for basic methods of Stack Data Structure
     Cothers::postfix_expression::StackCreates an array to be used as stack for storing values
     Cstack< ValueType >For std::invalid_argument
     Cstack< ValueType >For std::invalid_argument
     Cstack_linkedList
     Cstatistics::stats_computer1< T >
     Cstatistics::stats_computer2< T >
     CTrie
     Cdata_structures::trieTrie implementation for small-case English alphabets a-z
     CTrie::TrieNode
     Cstd::true_type [external]
     Cstd::true_type
    + diff --git a/inherit_graph_109.map b/inherit_graph_109.map index c32095b1d..6e6f4540f 100644 --- a/inherit_graph_109.map +++ b/inherit_graph_109.map @@ -1,5 +1,5 @@ - + diff --git a/inherit_graph_109.md5 b/inherit_graph_109.md5 index b9994081c..23de87cac 100644 --- a/inherit_graph_109.md5 +++ b/inherit_graph_109.md5 @@ -1 +1 @@ -53ba32e546959cac79e584e353db1db7 \ No newline at end of file +40148db2c502b9385ae4dd5781440f30 \ No newline at end of file diff --git a/inherit_graph_109.svg b/inherit_graph_109.svg index f5df45beb..272fc6909 100644 --- a/inherit_graph_109.svg +++ b/inherit_graph_109.svg @@ -11,8 +11,8 @@ Node0 - - + + std::true_type diff --git a/inherits.html b/inherits.html index fd2649103..2289f1e4d 100644 --- a/inherits.html +++ b/inherits.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Class Hierarchy +TheAlgorithms/C++: Class Hierarchy + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/namespacemembers.html b/namespacemembers.html index 5f617768c..538805365 100644 --- a/namespacemembers.html +++ b/namespacemembers.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Namespace Members +TheAlgorithms/C++: Namespace Members + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/namespacemembers_b.html b/namespacemembers_b.html index 041185be5..815259859 100644 --- a/namespacemembers_b.html +++ b/namespacemembers_b.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Namespace Members +TheAlgorithms/C++: Namespace Members + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/namespacemembers_c.html b/namespacemembers_c.html index ae05834cd..15eed4e91 100644 --- a/namespacemembers_c.html +++ b/namespacemembers_c.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Namespace Members +TheAlgorithms/C++: Namespace Members + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/namespacemembers_d.html b/namespacemembers_d.html index 3a8334c62..17af3fbb9 100644 --- a/namespacemembers_d.html +++ b/namespacemembers_d.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Namespace Members +TheAlgorithms/C++: Namespace Members + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/namespacemembers_e.html b/namespacemembers_e.html index 565d93e61..bfb362569 100644 --- a/namespacemembers_e.html +++ b/namespacemembers_e.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Namespace Members +TheAlgorithms/C++: Namespace Members + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/namespacemembers_f.html b/namespacemembers_f.html index 0da182a6c..3639e3b60 100644 --- a/namespacemembers_f.html +++ b/namespacemembers_f.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Namespace Members +TheAlgorithms/C++: Namespace Members + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/namespacemembers_func.html b/namespacemembers_func.html index 660aaa124..9b7e75a4b 100644 --- a/namespacemembers_func.html +++ b/namespacemembers_func.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Namespace Members +TheAlgorithms/C++: Namespace Members + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/namespacemembers_func_b.html b/namespacemembers_func_b.html index 84a68993c..bb1417ede 100644 --- a/namespacemembers_func_b.html +++ b/namespacemembers_func_b.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Namespace Members +TheAlgorithms/C++: Namespace Members + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/namespacemembers_func_c.html b/namespacemembers_func_c.html index b17b7c1a2..b05aab1a3 100644 --- a/namespacemembers_func_c.html +++ b/namespacemembers_func_c.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Namespace Members +TheAlgorithms/C++: Namespace Members + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/namespacemembers_func_d.html b/namespacemembers_func_d.html index 740998cf9..5f3814f30 100644 --- a/namespacemembers_func_d.html +++ b/namespacemembers_func_d.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Namespace Members +TheAlgorithms/C++: Namespace Members + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/namespacemembers_func_e.html b/namespacemembers_func_e.html index 9c287859b..400f1807a 100644 --- a/namespacemembers_func_e.html +++ b/namespacemembers_func_e.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Namespace Members +TheAlgorithms/C++: Namespace Members + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/namespacemembers_func_f.html b/namespacemembers_func_f.html index 0f3565b4c..65493298f 100644 --- a/namespacemembers_func_f.html +++ b/namespacemembers_func_f.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Namespace Members +TheAlgorithms/C++: Namespace Members + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/namespacemembers_func_g.html b/namespacemembers_func_g.html index 2337ef3fb..ee3226475 100644 --- a/namespacemembers_func_g.html +++ b/namespacemembers_func_g.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Namespace Members +TheAlgorithms/C++: Namespace Members + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/namespacemembers_func_h.html b/namespacemembers_func_h.html index 444839e8b..308f44d9e 100644 --- a/namespacemembers_func_h.html +++ b/namespacemembers_func_h.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Namespace Members +TheAlgorithms/C++: Namespace Members + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/namespacemembers_func_i.html b/namespacemembers_func_i.html index b799cb7be..070c29fc2 100644 --- a/namespacemembers_func_i.html +++ b/namespacemembers_func_i.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Namespace Members +TheAlgorithms/C++: Namespace Members + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/namespacemembers_func_k.html b/namespacemembers_func_k.html index e48a5c602..be6366bec 100644 --- a/namespacemembers_func_k.html +++ b/namespacemembers_func_k.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Namespace Members +TheAlgorithms/C++: Namespace Members + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/namespacemembers_func_l.html b/namespacemembers_func_l.html index 5dee59456..162129f4c 100644 --- a/namespacemembers_func_l.html +++ b/namespacemembers_func_l.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Namespace Members +TheAlgorithms/C++: Namespace Members + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/namespacemembers_func_m.html b/namespacemembers_func_m.html index c90008ef8..5d01dd5a8 100644 --- a/namespacemembers_func_m.html +++ b/namespacemembers_func_m.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Namespace Members +TheAlgorithms/C++: Namespace Members + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/namespacemembers_func_n.html b/namespacemembers_func_n.html index 5da1d477a..5a87eeda8 100644 --- a/namespacemembers_func_n.html +++ b/namespacemembers_func_n.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Namespace Members +TheAlgorithms/C++: Namespace Members + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/namespacemembers_func_o.html b/namespacemembers_func_o.html index 3e90f21cb..704e7b041 100644 --- a/namespacemembers_func_o.html +++ b/namespacemembers_func_o.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Namespace Members +TheAlgorithms/C++: Namespace Members + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/namespacemembers_func_p.html b/namespacemembers_func_p.html index 67bdf33dd..f4f09ec34 100644 --- a/namespacemembers_func_p.html +++ b/namespacemembers_func_p.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Namespace Members +TheAlgorithms/C++: Namespace Members + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/namespacemembers_func_q.html b/namespacemembers_func_q.html index fc5c98030..25188bcbd 100644 --- a/namespacemembers_func_q.html +++ b/namespacemembers_func_q.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Namespace Members +TheAlgorithms/C++: Namespace Members + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/namespacemembers_func_r.html b/namespacemembers_func_r.html index 4b204597a..bd3befa98 100644 --- a/namespacemembers_func_r.html +++ b/namespacemembers_func_r.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Namespace Members +TheAlgorithms/C++: Namespace Members + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/namespacemembers_func_s.html b/namespacemembers_func_s.html index 3a87b86c5..67a0405eb 100644 --- a/namespacemembers_func_s.html +++ b/namespacemembers_func_s.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Namespace Members +TheAlgorithms/C++: Namespace Members + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/namespacemembers_func_t.html b/namespacemembers_func_t.html index f8d1bfb37..028c4eac5 100644 --- a/namespacemembers_func_t.html +++ b/namespacemembers_func_t.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Namespace Members +TheAlgorithms/C++: Namespace Members + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/namespacemembers_func_u.html b/namespacemembers_func_u.html index 91122ee10..972fbe01e 100644 --- a/namespacemembers_func_u.html +++ b/namespacemembers_func_u.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Namespace Members +TheAlgorithms/C++: Namespace Members + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/namespacemembers_func_v.html b/namespacemembers_func_v.html index 3dd8edc99..38d6f1745 100644 --- a/namespacemembers_func_v.html +++ b/namespacemembers_func_v.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Namespace Members +TheAlgorithms/C++: Namespace Members + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/namespacemembers_func_z.html b/namespacemembers_func_z.html index 56f078f9c..dd0d724b6 100644 --- a/namespacemembers_func_z.html +++ b/namespacemembers_func_z.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Namespace Members +TheAlgorithms/C++: Namespace Members + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/namespacemembers_g.html b/namespacemembers_g.html index 136c4da8e..69bafdba9 100644 --- a/namespacemembers_g.html +++ b/namespacemembers_g.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Namespace Members +TheAlgorithms/C++: Namespace Members + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/namespacemembers_h.html b/namespacemembers_h.html index b1bfb3a8e..1d5b34838 100644 --- a/namespacemembers_h.html +++ b/namespacemembers_h.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Namespace Members +TheAlgorithms/C++: Namespace Members + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/namespacemembers_i.html b/namespacemembers_i.html index 6b158a48e..95bcf1dee 100644 --- a/namespacemembers_i.html +++ b/namespacemembers_i.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Namespace Members +TheAlgorithms/C++: Namespace Members + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/namespacemembers_k.html b/namespacemembers_k.html index 42d1756a3..2624d55f0 100644 --- a/namespacemembers_k.html +++ b/namespacemembers_k.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Namespace Members +TheAlgorithms/C++: Namespace Members + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/namespacemembers_l.html b/namespacemembers_l.html index 5a3997284..e53e60520 100644 --- a/namespacemembers_l.html +++ b/namespacemembers_l.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Namespace Members +TheAlgorithms/C++: Namespace Members + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/namespacemembers_m.html b/namespacemembers_m.html index fd1fa1967..c13d9c2c2 100644 --- a/namespacemembers_m.html +++ b/namespacemembers_m.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Namespace Members +TheAlgorithms/C++: Namespace Members + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/namespacemembers_n.html b/namespacemembers_n.html index 480f483f2..a415eff8e 100644 --- a/namespacemembers_n.html +++ b/namespacemembers_n.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Namespace Members +TheAlgorithms/C++: Namespace Members + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/namespacemembers_o.html b/namespacemembers_o.html index 4d2198e81..9d1a97f18 100644 --- a/namespacemembers_o.html +++ b/namespacemembers_o.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Namespace Members +TheAlgorithms/C++: Namespace Members + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/namespacemembers_p.html b/namespacemembers_p.html index 5ccb80c1c..4ef50c7fc 100644 --- a/namespacemembers_p.html +++ b/namespacemembers_p.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Namespace Members +TheAlgorithms/C++: Namespace Members + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/namespacemembers_q.html b/namespacemembers_q.html index 6491f9be6..60c7a9415 100644 --- a/namespacemembers_q.html +++ b/namespacemembers_q.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Namespace Members +TheAlgorithms/C++: Namespace Members + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/namespacemembers_r.html b/namespacemembers_r.html index 0452eb54b..3e4975af5 100644 --- a/namespacemembers_r.html +++ b/namespacemembers_r.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Namespace Members +TheAlgorithms/C++: Namespace Members + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/namespacemembers_s.html b/namespacemembers_s.html index 21ccea1b2..6abc8721f 100644 --- a/namespacemembers_s.html +++ b/namespacemembers_s.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Namespace Members +TheAlgorithms/C++: Namespace Members + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/namespacemembers_t.html b/namespacemembers_t.html index 5fe07d91b..cbf79ce5e 100644 --- a/namespacemembers_t.html +++ b/namespacemembers_t.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Namespace Members +TheAlgorithms/C++: Namespace Members + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/namespacemembers_type.html b/namespacemembers_type.html index 8e0de7228..2df51a09d 100644 --- a/namespacemembers_type.html +++ b/namespacemembers_type.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Namespace Members +TheAlgorithms/C++: Namespace Members + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/namespacemembers_u.html b/namespacemembers_u.html index a977c80cc..14a3caba7 100644 --- a/namespacemembers_u.html +++ b/namespacemembers_u.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Namespace Members +TheAlgorithms/C++: Namespace Members + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/namespacemembers_v.html b/namespacemembers_v.html index bcc3dacf1..028ad2b3a 100644 --- a/namespacemembers_v.html +++ b/namespacemembers_v.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Namespace Members +TheAlgorithms/C++: Namespace Members + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/namespacemembers_vars.html b/namespacemembers_vars.html index 3963cb5a0..2129b1b30 100644 --- a/namespacemembers_vars.html +++ b/namespacemembers_vars.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Namespace Members +TheAlgorithms/C++: Namespace Members + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/namespacemembers_z.html b/namespacemembers_z.html index acb2c0333..3dbb9e5d7 100644 --- a/namespacemembers_z.html +++ b/namespacemembers_z.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Namespace Members +TheAlgorithms/C++: Namespace Members + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + diff --git a/namespaces.html b/namespaces.html index ac8aff924..b3051f46b 100644 --- a/namespaces.html +++ b/namespaces.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Namespace List +TheAlgorithms/C++: Namespace List + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    + @@ -135,10 +152,10 @@ $(function(){initNavTree('namespaces.html',''); initResizable(true); }); - + - + @@ -150,7 +167,7 @@ $(function(){initNavTree('namespaces.html',''); initResizable(true); }); - + @@ -202,7 +219,7 @@ $(function(){initNavTree('namespaces.html',''); initResizable(true); }); - + @@ -217,7 +234,7 @@ $(function(){initNavTree('namespaces.html',''); initResizable(true); }); - + @@ -235,34 +252,33 @@ solve-a-rat-in-a-maze-c-java-pytho/" target="_blank">Rat in a Maze algorithm - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + +
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
     Ndepth_first_searchFunctions for Depth First Search algorithm
     Ndisjoint_unionFunctions for Disjoint union implementation
     Ndivide_and_conquerFor std::vector
     Ndivide_and_conquerFor std::vector
     Ndnf_sortFunctions for the DNF sort implementation
     Ndouble_hashingAn implementation of hash table using double hashing algorithm
     NdpFor std::vector
     NdpFor std::vector
     Ndynamic_programmingDynamic Programming algorithms
     Nexponential_distFunctions for the Exponential Distribution algorithm implementation
     Nfalse_positionFunctions for [False Position] (https://en.wikipedia.org/wiki/Regula_falsi) method
     Ngcd_of_n_numbersCompute GCD of numbers in an array
     Ngeometric_distFunctions for the Geometric Distribution algorithm implementation
     NgeometryFor std::swap
     NgeometryFor std::swap
     Ngram_schmidtFunctions for Gram Schmidt Orthogonalisation Process
     NgraphGraph Algorithms
     Ngraph_coloringFunctions for the Graph Coloring algorithm,
     Nncr_modulo_pFunctions for nCr modulo p implementation
     Nneural_networkNeural Network or Multilayer Perceptron
     Nnumerical_methodsFor assert
     Noperations_on_datastructuresFor std::vector
     Noperations_on_datastructuresFor std::vector
     NothersFor vector
     Npalindrome_partitioningFunctions for Palindrome Partitioning algorithm
     Nquick_sortFunctions for the Quick sort implementation in C++
     Nradix_sortFunctions for Radix sort algorithm
     Nrandom_pivot_quick_sortFunctions for the Random Pivot Quick Sort implementation
     Nrange_queriesFor std::vector
     Nrange_queriesFor std::vector
     Nrat_mazeFunctions for Rat in a Maze algorithm
     Nreverse_binary_treeFunctions for the Reverse a Binary Tree implementation
     Nspirograph
     Nstack_using_queueFunctions for the Stack Using Queue implementation
     NstatisticsStatistical algorithms
     NstdSTL namespace
     NstrandFunctions for Strand Sort algorithm
     Nstrassens_multiplicationNamespace for performing strassen's multiplication
     NstringString manipulation algorithms
     Nstring_searchString search algorithms
     NstringsString algorithms
     Nsubarray_sumFunctions for the Subset sum implementation
     Nsublist_searchFunctions for the Sublist Search implementation
     Nsubset_sumFunctions for [Sub-set sum problem] (https://en.wikipedia.org/wiki/Subset_sum_problem) algorithm
     NSubsetsFunctions for the Subset Sum problem
     Nsudoku_solverFunctions for the Sudoku Solver implementation
     NtestsTestcases to check Union of Two Arrays
     Ntopological_sortTopological Sort Algorithm
     NtravellingSalesman_bitmanipulationFunctions for the Travelling Salesman Bitmask implementation
     Ntree_234Functions for 2–3–4 tree
     Ntrie_operationsFunctions for Trie datastructure implementation
     Ntrie_using_hashmapFunctions for Trie data structure using hashmap implementation
     Nutil_functionsVarious utility functions used in Neural network
     NutilsThis namespace contains the definitions of the functions called from the class math::ncr_modulo_p::NCRModuloP
     Nvector_crossFunctions for Vector Cross Product algorithms
     NvigenereFunctions for vigenère cipher algorithm
     Nwave_sortFunctions for the Wave sort implementation
     Nwiggle_sortFunctions for Wiggle Sort algorithm
     Nwildcard_matchingFunctions for the Wildcard Matching problem
     Nwindowed_medianFunctions for the Windowed Median algorithm implementation
     Nword_breakFunctions for Word Break problem
     NXORFunctions for XOR cipher algorithm
     NstrandFunctions for Strand Sort algorithm
     Nstrassens_multiplicationNamespace for performing strassen's multiplication
     NstringString manipulation algorithms
     Nstring_searchString search algorithms
     NstringsString algorithms
     Nsubarray_sumFunctions for the Subset sum implementation
     Nsublist_searchFunctions for the Sublist Search implementation
     Nsubset_sumFunctions for [Sub-set sum problem] (https://en.wikipedia.org/wiki/Subset_sum_problem) algorithm
     NSubsetsFunctions for the Subset Sum problem
     Nsudoku_solverFunctions for the Sudoku Solver implementation
     NtestsTestcases to check Union of Two Arrays
     Ntopological_sortTopological Sort Algorithm
     NtravellingSalesman_bitmanipulationFunctions for the Travelling Salesman Bitmask implementation
     Ntree_234Functions for 2–3–4 tree
     Ntrie_operationsFunctions for Trie datastructure implementation
     Ntrie_using_hashmapFunctions for Trie data structure using hashmap implementation
     Nutil_functionsVarious utility functions used in Neural network
     NutilsThis namespace contains the definitions of the functions called from the class math::ncr_modulo_p::NCRModuloP
     Nvector_crossFunctions for Vector Cross Product algorithms
     NvigenereFunctions for vigenère cipher algorithm
     Nwave_sortFunctions for the Wave sort implementation
     Nwiggle_sortFunctions for Wiggle Sort algorithm
     Nwildcard_matchingFunctions for the Wildcard Matching problem
     Nwindowed_medianFunctions for the Windowed Median algorithm implementation
     Nword_breakFunctions for Word Break problem
     NXORFunctions for XOR cipher algorithm
    diff --git a/namespaces_dup.js b/namespaces_dup.js index 5e7c8ffd8..8926f190e 100644 --- a/namespaces_dup.js +++ b/namespaces_dup.js @@ -164,7 +164,6 @@ var namespaces_dup = ] ], [ "stack_using_queue", "df/d1c/namespacestack__using__queue.html", null ], [ "statistics", "d2/dcf/namespacestatistics.html", "d2/dcf/namespacestatistics" ], - [ "std", "d8/dcc/namespacestd.html", "d8/dcc/namespacestd" ], [ "strand", "d8/d1d/namespacestrand.html", null ], [ "strassens_multiplication", "d3/d91/namespacestrassens__multiplication.html", null ], [ "string", "d6/dd6/namespacestring.html", [ diff --git a/navtree.css b/navtree.css index 69211d4a7..6b1e5e46b 100644 --- a/navtree.css +++ b/navtree.css @@ -22,12 +22,12 @@ #nav-tree .selected { background-image: url('tab_a.png'); background-repeat:repeat-x; - color: var(--nav-text-active-color); - text-shadow: var(--nav-text-active-shadow); + color: white; + text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); } #nav-tree .selected .arrow { - color: var(--nav-arrow-selected-color); + color: #9CAFD4; text-shadow: none; } @@ -47,7 +47,7 @@ #nav-tree .label { margin:0px; padding:0px; - font: 12px var(--font-family-nav); + font: 12px 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; } #nav-tree .label a { @@ -56,7 +56,7 @@ #nav-tree .selected a { text-decoration:none; - color:var(--nav-text-active-color); + color:white; } #nav-tree .children_ul { @@ -98,7 +98,7 @@ } .ui-resizable-e { - background-image:var(--nav-splitbar-image); + background-image:url('splitbar.png'); background-size:100%; background-repeat:repeat-y; background-attachment: scroll; @@ -122,7 +122,7 @@ #nav-tree { background-repeat:repeat-x; - background-color: var(--nav-background-color); + background-color: #F9FAFC; -webkit-overflow-scrolling : touch; /* iOS 5+ */ } diff --git a/navtreedata.js b/navtreedata.js index ac1057483..068dffcf4 100644 --- a/navtreedata.js +++ b/navtreedata.js @@ -24,7 +24,7 @@ */ var NAVTREE = [ - [ "Algorithms_in_C++", "index.html", [ + [ "TheAlgorithms/C++", "index.html", [ [ "The Algorithms - C++", "index.html", "index" ], [ "Contributor Covenant Code of Conduct", "d3/dd7/md__c_o_d_e___o_f___c_o_n_d_u_c_t.html", [ [ "Our Pledge", "d3/dd7/md__c_o_d_e___o_f___c_o_n_d_u_c_t.html#autotoc_md5", null ], @@ -137,21 +137,20 @@ var NAVTREE = var NAVTREEINDEX = [ "annotated.html", -"cpp/iterator/distance.html", -"cpp/thread/lock.html", -"d1/d83/classuint256__t.html#aa28ae272e9176557133a10dffa3b94dc", -"d2/dc8/classdata__structures_1_1_stack.html#aa753346c8ee5f21d4f4482398fe6d5c1", -"d4/d3e/n__queens_8cpp.html", -"d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md58", -"d6/d57/array__right__rotation_8cpp.html#a2b9769e44683dcb67fe1083ad91e134d", -"d8/d28/classrange__queries_1_1per_seg_tree.html#a1eac9cf0613dfc8e2b0195009dd5c9d5", -"d8/dab/classstatistics_1_1stats__computer2.html#acf2e84df4fc386bb3295016ef8fd156e", -"d9/dde/classbinary__search__tree.html#af4a865ce5244608819b169fc78a41153", -"db/d01/brent__method__extrema_8cpp.html#a1aa76a6d5fd4d333f9072beff1dc486b", -"dc/d1a/pascal__triangle_8cpp.html#a4fc0e5a112f715c3a73989450b2cc5fd", -"dd/d47/namespacemath.html#a7e78996673df791014cfe540b183456a", -"de/db4/namespacedisjoint__union.html", -"examples.html" +"d1/d83/classuint256__t.html#acac9901ab133caa57d058a377d873bf6", +"d2/dc8/classdata__structures_1_1_stack.html#a2ac469fcc2229d273450e429139d90e6", +"d4/d13/namespacebidirectional__dijkstra.html", +"d5/d45/sublist__search_8cpp.html#a70ca8d0267008e09cfa50b4e2ddfbe53", +"d6/d26/classciphers_1_1_hill_cipher.html#a405b0a28d66a61239d3565d5256f9cb5", +"d7/d35/matrix__exponentiation_8cpp.html#a702a9fc90e79b05b863cc4efa26ae2ec", +"d8/d77/namespacemachine__learning.html#a496302e3371aa7b478cb7d5917904bdd", +"d9/d14/array__left__rotation_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4", +"da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution.html#aaf762e88c66918d7afda4234f28a7ddf", +"db/d3c/tower__of__hanoi_8cpp.html#af4cfc41e546f1f8d25f01e0804e8b61d", +"dc/d38/ordinary__least__squares__regressor_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4", +"dd/d47/namespacemath.html#a8a48be4d7f14e34c5c92925bc1cbf3bb", +"de/d95/namespace_subsets.html", +"df/dd0/queue__using__two__stacks_8cpp.html#a831ded10ecad88c14a8e22b96f4c1863" ]; var SYNCONMSG = 'click to disable panel synchronisation'; diff --git a/navtreeindex0.js b/navtreeindex0.js index c57449f22..5ec5f20bd 100644 --- a/navtreeindex0.js +++ b/navtreeindex0.js @@ -2,252 +2,252 @@ var NAVTREEINDEX0 = { "annotated.html":[10,0], "classes.html":[10,1], -"cpp/algorithm/accumulate.html":[9,0,118,15], -"cpp/algorithm/adjacent_difference.html":[9,0,118,19], -"cpp/algorithm/adjacent_find.html":[9,0,118,20], -"cpp/algorithm/all_any_none_of.html":[9,0,118,23], -"cpp/algorithm/all_any_none_of.html":[9,0,118,25], -"cpp/algorithm/all_any_none_of.html":[9,0,118,300], -"cpp/algorithm/binary_search.html":[9,0,118,65], -"cpp/algorithm/bsearch.html":[9,0,118,68], -"cpp/algorithm/copy.html":[9,0,118,79], -"cpp/algorithm/copy.html":[9,0,118,81], -"cpp/algorithm/copy_backward.html":[9,0,118,80], -"cpp/algorithm/copy_n.html":[9,0,118,82], -"cpp/algorithm/count.html":[9,0,118,86], -"cpp/algorithm/count.html":[9,0,118,87], -"cpp/algorithm/equal.html":[9,0,118,103], -"cpp/algorithm/equal_range.html":[9,0,118,104], -"cpp/algorithm/fill.html":[9,0,118,133], -"cpp/algorithm/fill_n.html":[9,0,118,134], -"cpp/algorithm/find.html":[9,0,118,135], -"cpp/algorithm/find.html":[9,0,118,138], -"cpp/algorithm/find.html":[9,0,118,139], -"cpp/algorithm/find_end.html":[9,0,118,136], -"cpp/algorithm/find_first_of.html":[9,0,118,137], -"cpp/algorithm/for_each.html":[9,0,118,148], -"cpp/algorithm/generate.html":[9,0,118,170], -"cpp/algorithm/generate_n.html":[9,0,118,172], -"cpp/algorithm/includes.html":[9,0,118,193], -"cpp/algorithm/inner_product.html":[9,0,118,194], -"cpp/algorithm/inplace_merge.html":[9,0,118,195], -"cpp/algorithm/iota.html":[9,0,118,198], -"cpp/algorithm/is_heap.html":[9,0,118,199], -"cpp/algorithm/is_heap_until.html":[9,0,118,200], -"cpp/algorithm/is_partitioned.html":[9,0,118,201], -"cpp/algorithm/is_permutation.html":[9,0,118,202], -"cpp/algorithm/is_sorted.html":[9,0,118,203], -"cpp/algorithm/is_sorted_until.html":[9,0,118,204], -"cpp/algorithm/iter_swap.html":[9,0,118,234], -"cpp/algorithm/lexicographical_compare.html":[9,0,118,240], -"cpp/algorithm/lower_bound.html":[9,0,118,253], -"cpp/algorithm/make_heap.html":[9,0,118,257], -"cpp/algorithm/max.html":[9,0,118,263], -"cpp/algorithm/max_element.html":[9,0,118,264], -"cpp/algorithm/merge.html":[9,0,118,280], -"cpp/algorithm/min.html":[9,0,118,281], -"cpp/algorithm/min_element.html":[9,0,118,282], -"cpp/algorithm/minmax.html":[9,0,118,283], -"cpp/algorithm/minmax_element.html":[9,0,118,284], -"cpp/algorithm/mismatch.html":[9,0,118,285], -"cpp/algorithm/move_backward.html":[9,0,118,289], -"cpp/algorithm/next_permutation.html":[9,0,118,296], -"cpp/algorithm/nth_element.html":[9,0,118,310], -"cpp/algorithm/partial_sort.html":[9,0,118,312], -"cpp/algorithm/partial_sort_copy.html":[9,0,118,313], -"cpp/algorithm/partial_sum.html":[9,0,118,314], -"cpp/algorithm/partition.html":[9,0,118,315], -"cpp/algorithm/partition_copy.html":[9,0,118,316], -"cpp/algorithm/partition_point.html":[9,0,118,317], -"cpp/algorithm/pop_heap.html":[9,0,118,319], -"cpp/algorithm/prev_permutation.html":[9,0,118,322], -"cpp/algorithm/push_heap.html":[9,0,118,324], -"cpp/algorithm/qsort.html":[9,0,118,331], -"cpp/algorithm/random_shuffle.html":[9,0,118,335], -"cpp/algorithm/random_shuffle.html":[9,0,118,388], -"cpp/algorithm/remove.html":[9,0,118,342], -"cpp/algorithm/remove.html":[9,0,118,345], -"cpp/algorithm/remove_copy.html":[9,0,118,343], -"cpp/algorithm/remove_copy.html":[9,0,118,344], -"cpp/algorithm/replace.html":[9,0,118,348], -"cpp/algorithm/replace.html":[9,0,118,351], -"cpp/algorithm/replace_copy.html":[9,0,118,349], -"cpp/algorithm/replace_copy.html":[9,0,118,350], -"cpp/algorithm/reverse.html":[9,0,118,356], -"cpp/algorithm/reverse_copy.html":[9,0,118,357], -"cpp/algorithm/rotate.html":[9,0,118,361], -"cpp/algorithm/rotate_copy.html":[9,0,118,362], -"cpp/algorithm/search.html":[9,0,118,368], -"cpp/algorithm/search_n.html":[9,0,118,369], -"cpp/algorithm/set_difference.html":[9,0,118,370], -"cpp/algorithm/set_intersection.html":[9,0,118,371], -"cpp/algorithm/set_symmetric_difference.html":[9,0,118,373], -"cpp/algorithm/set_union.html":[9,0,118,376], -"cpp/algorithm/sort.html":[9,0,118,395], -"cpp/algorithm/sort_heap.html":[9,0,118,396], -"cpp/algorithm/stable_partition.html":[9,0,118,401], -"cpp/algorithm/stable_sort.html":[9,0,118,402], -"cpp/algorithm/swap.html":[9,0,118,439], -"cpp/algorithm/swap_ranges.html":[9,0,118,440], -"cpp/algorithm/transform.html":[9,0,118,461], -"cpp/algorithm/unique.html":[9,0,118,475], -"cpp/algorithm/unique_copy.html":[9,0,118,476], -"cpp/algorithm/upper_bound.html":[9,0,118,478], -"cpp/atomic/atomic_compare_exchange.html":[9,0,118,39], -"cpp/atomic/atomic_compare_exchange.html":[9,0,118,40], -"cpp/atomic/atomic_compare_exchange.html":[9,0,118,41], -"cpp/atomic/atomic_compare_exchange.html":[9,0,118,42], -"cpp/atomic/atomic_exchange.html":[9,0,118,43], -"cpp/atomic/atomic_exchange.html":[9,0,118,44], -"cpp/atomic/atomic_fetch_add.html":[9,0,118,45], -"cpp/atomic/atomic_fetch_add.html":[9,0,118,46], -"cpp/atomic/atomic_fetch_or.html":[9,0,118,49], -"cpp/atomic/atomic_fetch_or.html":[9,0,118,50], -"cpp/atomic/atomic_fetch_sub.html":[9,0,118,47], -"cpp/atomic/atomic_fetch_sub.html":[9,0,118,48], -"cpp/atomic/atomic_fetch_sub.html":[9,0,118,51], -"cpp/atomic/atomic_fetch_sub.html":[9,0,118,52], -"cpp/atomic/atomic_fetch_xor.html":[9,0,118,53], -"cpp/atomic/atomic_fetch_xor.html":[9,0,118,54], -"cpp/atomic/atomic_init.html":[9,0,118,55], -"cpp/atomic/atomic_is_lock_free.html":[9,0,118,56], -"cpp/atomic/atomic_load.html":[9,0,118,57], -"cpp/atomic/atomic_load.html":[9,0,118,58], -"cpp/atomic/atomic_signal_fence.html":[9,0,118,59], -"cpp/atomic/atomic_store.html":[9,0,118,60], -"cpp/atomic/atomic_store.html":[9,0,118,61], -"cpp/atomic/atomic_thread_fence.html":[9,0,118,62], -"cpp/atomic/kill_dependency.html":[9,0,118,235], -"cpp/chrono/c/asctime.html":[9,0,118,26], -"cpp/chrono/c/clock.html":[9,0,118,77], -"cpp/chrono/c/ctime.html":[9,0,118,89], -"cpp/chrono/c/difftime.html":[9,0,118,96], -"cpp/chrono/c/gmtime.html":[9,0,118,187], -"cpp/chrono/c/localtime.html":[9,0,118,246], -"cpp/chrono/c/mktime.html":[9,0,118,286], -"cpp/chrono/c/strftime.html":[9,0,118,419], -"cpp/chrono/c/time.html":[9,0,118,451], -"cpp/chrono/c/wcsftime.html":[9,0,118,501], -"cpp/chrono/duration/duration_cast.html":[9,0,118,0,0], -"cpp/chrono/time_point/time_point_cast.html":[9,0,118,0,1], -"cpp/error/current_exception.html":[9,0,118,90], -"cpp/error/generic_category.html":[9,0,118,173], -"cpp/error/get_terminate.html":[9,0,118,178], -"cpp/error/get_unexpected.html":[9,0,118,180], -"cpp/error/make_exception_ptr.html":[9,0,118,256], -"cpp/error/rethrow_exception.html":[9,0,118,353], -"cpp/error/rethrow_if_nested.html":[9,0,118,354], -"cpp/error/set_terminate.html":[9,0,118,374], -"cpp/error/set_unexpected.html":[9,0,118,375], -"cpp/error/system_category.html":[9,0,118,444], -"cpp/error/terminate.html":[9,0,118,447], -"cpp/error/throw_with_nested.html":[9,0,118,449], -"cpp/error/uncaught_exception.html":[9,0,118,465], -"cpp/error/unexpected.html":[9,0,118,468], -"cpp/experimental/optional/make_optional.html":[9,0,118,1,0], -"cpp/io/c/clearerr.html":[9,0,118,76], -"cpp/io/c/fclose.html":[9,0,118,112], -"cpp/io/c/feof.html":[9,0,118,119], -"cpp/io/c/ferror.html":[9,0,118,121], -"cpp/io/c/fflush.html":[9,0,118,127], -"cpp/io/c/fgetc.html":[9,0,118,128], -"cpp/io/c/fgetc.html":[9,0,118,181], -"cpp/io/c/fgetpos.html":[9,0,118,129], -"cpp/io/c/fgets.html":[9,0,118,130], -"cpp/io/c/fgetwc.html":[9,0,118,131], -"cpp/io/c/fgetws.html":[9,0,118,132], -"cpp/io/c/fopen.html":[9,0,118,147], -"cpp/io/c/fprintf.html":[9,0,118,152], -"cpp/io/c/fprintf.html":[9,0,118,323], -"cpp/io/c/fprintf.html":[9,0,118,394], -"cpp/io/c/fprintf.html":[9,0,118,397], -"cpp/io/c/fputc.html":[9,0,118,153], -"cpp/io/c/fputc.html":[9,0,118,327], -"cpp/io/c/fputs.html":[9,0,118,154], -"cpp/io/c/fputwc.html":[9,0,118,155], -"cpp/io/c/fputws.html":[9,0,118,156], -"cpp/io/c/fread.html":[9,0,118,157], -"cpp/io/c/freopen.html":[9,0,118,159], -"cpp/io/c/fscanf.html":[9,0,118,162], -"cpp/io/c/fscanf.html":[9,0,118,366], -"cpp/io/c/fscanf.html":[9,0,118,400], -"cpp/io/c/fseek.html":[9,0,118,163], -"cpp/io/c/fsetpos.html":[9,0,118,164], -"cpp/io/c/ftell.html":[9,0,118,165], -"cpp/io/c/fwprintf.html":[9,0,118,167], -"cpp/io/c/fwprintf.html":[9,0,118,441], -"cpp/io/c/fwprintf.html":[9,0,118,531], -"cpp/io/c/fwrite.html":[9,0,118,168], -"cpp/io/c/fwscanf.html":[9,0,118,169], -"cpp/io/c/fwscanf.html":[9,0,118,442], -"cpp/io/c/fwscanf.html":[9,0,118,533], -"cpp/io/c/getchar.html":[9,0,118,182], -"cpp/io/c/gets.html":[9,0,118,185], -"cpp/io/c/getwchar.html":[9,0,118,186], -"cpp/io/c/perror.html":[9,0,118,318], -"cpp/io/c/putchar.html":[9,0,118,328], -"cpp/io/c/puts.html":[9,0,118,329], -"cpp/io/c/putwchar.html":[9,0,118,330], -"cpp/io/c/rename.html":[9,0,118,347], -"cpp/io/c/rewind.html":[9,0,118,358], -"cpp/io/c/setbuf.html":[9,0,118,378], -"cpp/io/c/setvbuf.html":[9,0,118,383], -"cpp/io/c/tmpfile.html":[9,0,118,452], -"cpp/io/c/tmpnam.html":[9,0,118,453], -"cpp/io/c/ungetc.html":[9,0,118,469], -"cpp/io/c/ungetwc.html":[9,0,118,470], -"cpp/io/c/vfprintf.html":[9,0,118,481], -"cpp/io/c/vfprintf.html":[9,0,118,485], -"cpp/io/c/vfprintf.html":[9,0,118,487], -"cpp/io/c/vfprintf.html":[9,0,118,488], -"cpp/io/c/vfscanf.html":[9,0,118,482], -"cpp/io/c/vfscanf.html":[9,0,118,486], -"cpp/io/c/vfscanf.html":[9,0,118,489], -"cpp/io/c/vfwprintf.html":[9,0,118,483], -"cpp/io/c/vfwprintf.html":[9,0,118,490], -"cpp/io/c/vfwprintf.html":[9,0,118,492], -"cpp/io/c/vfwscanf.html":[9,0,118,484], -"cpp/io/c/vfwscanf.html":[9,0,118,491], -"cpp/io/c/vfwscanf.html":[9,0,118,493], -"cpp/io/manip/boolalpha.html":[9,0,118,67], -"cpp/io/manip/boolalpha.html":[9,0,118,299], -"cpp/io/manip/endl.html":[9,0,118,101], -"cpp/io/manip/ends.html":[9,0,118,102], -"cpp/io/manip/fixed.html":[9,0,118,95], -"cpp/io/manip/fixed.html":[9,0,118,140], -"cpp/io/manip/fixed.html":[9,0,118,190], -"cpp/io/manip/fixed.html":[9,0,118,367], -"cpp/io/manip/flush.html":[9,0,118,142], -"cpp/io/manip/get_money.html":[9,0,118,174], -"cpp/io/manip/get_time.html":[9,0,118,179], -"cpp/io/manip/hex.html":[9,0,118,91], -"cpp/io/manip/hex.html":[9,0,118,189], -"cpp/io/manip/hex.html":[9,0,118,311], -"cpp/io/manip/left.html":[9,0,118,197], -"cpp/io/manip/left.html":[9,0,118,239], -"cpp/io/manip/left.html":[9,0,118,359], -"cpp/io/manip/put_money.html":[9,0,118,325], -"cpp/io/manip/put_time.html":[9,0,118,326], -"cpp/io/manip/resetiosflags.html":[9,0,118,352], -"cpp/io/manip/setbase.html":[9,0,118,377], -"cpp/io/manip/setfill.html":[9,0,118,379], -"cpp/io/manip/setiosflags.html":[9,0,118,380], -"cpp/io/manip/setprecision.html":[9,0,118,382], -"cpp/io/manip/setw.html":[9,0,118,384], -"cpp/io/manip/showbase.html":[9,0,118,301], -"cpp/io/manip/showbase.html":[9,0,118,385], -"cpp/io/manip/showpoint.html":[9,0,118,302], -"cpp/io/manip/showpoint.html":[9,0,118,386], -"cpp/io/manip/showpos.html":[9,0,118,303], -"cpp/io/manip/showpos.html":[9,0,118,387], -"cpp/io/manip/skipws.html":[9,0,118,304], -"cpp/io/manip/skipws.html":[9,0,118,393], -"cpp/io/manip/unitbuf.html":[9,0,118,308], -"cpp/io/manip/unitbuf.html":[9,0,118,477], -"cpp/io/manip/uppercase.html":[9,0,118,309], -"cpp/io/manip/uppercase.html":[9,0,118,479], -"cpp/io/manip/ws.html":[9,0,118,532], -"cpp/iterator/advance.html":[9,0,118,21], -"cpp/iterator/back_inserter.html":[9,0,118,63], -"cpp/iterator/begin.html":[9,0,118,64] +"d0/d01/smallest__circle_8cpp.html":[11,0,17,21], +"d0/d01/smallest__circle_8cpp.html#a0283886819c7c140a023582b7269e2d0":[11,0,17,21,6], +"d0/d01/smallest__circle_8cpp.html#a0b0676df8e4da7a08c7ccaecea344903":[11,0,17,21,1], +"d0/d01/smallest__circle_8cpp.html#a3cbebd6f4d2cdf227663c67fe41ba12a":[11,0,17,21,2], +"d0/d01/smallest__circle_8cpp.html#a6d0455dd5c30adda100e95f0423c786e":[11,0,17,21,7], +"d0/d01/smallest__circle_8cpp.html#a94682a4a70d5906857ca09de5b9fb2cc":[11,0,17,21,8], +"d0/d01/smallest__circle_8cpp.html#ae1a3968e7947464bee7714f6d43b7002":[11,0,17,21,5], +"d0/d01/smallest__circle_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,17,21,3], +"d0/d01/smallest__circle_8cpp.html#aee6d48762c1dfb9f14627927f0c16fad":[11,0,17,21,4], +"d0/d01/smallest__circle_8cpp_source.html":[11,0,17,21], +"d0/d08/realtime__stats_8cpp.html":[11,0,14,52], +"d0/d08/realtime__stats_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627":[11,0,14,52,2], +"d0/d08/realtime__stats_8cpp.html#aa54c915581fcc495489175a4386d59fd":[11,0,14,52,3], +"d0/d08/realtime__stats_8cpp_source.html":[11,0,14,52], +"d0/d20/namespaceground__to__ground__projectile__motion.html":[9,0,43], +"d0/d2b/namespacequick__sort.html":[9,0,98], +"d0/d2e/namespaceneural__network.html":[9,0,85], +"d0/d3e/classdata__structures_1_1trie.html":[9,0,21,7], +"d0/d3e/classdata__structures_1_1trie.html":[10,0,2,14], +"d0/d3e/classdata__structures_1_1trie.html#a0ab94bc6417e3f59fab33cea5b64d546":[9,0,21,7,3], +"d0/d3e/classdata__structures_1_1trie.html#a0ab94bc6417e3f59fab33cea5b64d546":[10,0,2,14,3], +"d0/d3e/classdata__structures_1_1trie.html#a362dd78748a1f01ab019e55fd6098a8b":[9,0,21,7,6], +"d0/d3e/classdata__structures_1_1trie.html#a362dd78748a1f01ab019e55fd6098a8b":[10,0,2,14,6], +"d0/d3e/classdata__structures_1_1trie.html#a499f87fd833203ef9492b4870aa6d42d":[9,0,21,7,5], +"d0/d3e/classdata__structures_1_1trie.html#a499f87fd833203ef9492b4870aa6d42d":[10,0,2,14,5], +"d0/d3e/classdata__structures_1_1trie.html#a4bfac4be6ed1a34c7159eddb42469191":[9,0,21,7,8], +"d0/d3e/classdata__structures_1_1trie.html#a4bfac4be6ed1a34c7159eddb42469191":[10,0,2,14,8], +"d0/d3e/classdata__structures_1_1trie.html#a4cb0f775b5a4bc14a6d39b5c93883eb6":[9,0,21,7,7], +"d0/d3e/classdata__structures_1_1trie.html#a4cb0f775b5a4bc14a6d39b5c93883eb6":[10,0,2,14,7], +"d0/d3e/classdata__structures_1_1trie.html#a87d8bf99aea936f9381141753f1e90a8":[9,0,21,7,0], +"d0/d3e/classdata__structures_1_1trie.html#a87d8bf99aea936f9381141753f1e90a8":[10,0,2,14,0], +"d0/d3e/classdata__structures_1_1trie.html#a961eb5d576d2420f2036009154397c63":[9,0,21,7,4], +"d0/d3e/classdata__structures_1_1trie.html#a961eb5d576d2420f2036009154397c63":[10,0,2,14,4], +"d0/d3e/classdata__structures_1_1trie.html#aab373beb3f618b90922528c68797d988":[9,0,21,7,1], +"d0/d3e/classdata__structures_1_1trie.html#aab373beb3f618b90922528c68797d988":[10,0,2,14,1], +"d0/d3e/classdata__structures_1_1trie.html#aeac27cfd397d2dd3f2f519efffafeeab":[9,0,21,7,2], +"d0/d3e/classdata__structures_1_1trie.html#aeac27cfd397d2dd3f2f519efffafeeab":[10,0,2,14,2], +"d0/d46/finding__number__of__digits__in__a__number_8cpp.html":[11,0,14,21], +"d0/d46/finding__number__of__digits__in__a__number_8cpp.html#a8a3b522a675ab4cdec2d275f6f7798a1":[11,0,14,21,0], +"d0/d46/finding__number__of__digits__in__a__number_8cpp.html#ab4c15b7f1aedd4419a65cd49562cc300":[11,0,14,21,2], +"d0/d46/finding__number__of__digits__in__a__number_8cpp.html#ac0862b67cf73651707ece04673e1ae49":[11,0,14,21,1], +"d0/d46/finding__number__of__digits__in__a__number_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,14,21,3], +"d0/d46/finding__number__of__digits__in__a__number_8cpp_source.html":[11,0,14,21], +"d0/d51/approximate__pi_8cpp.html":[11,0,14,1], +"d0/d51/approximate__pi_8cpp.html#a006c8ebd11bb1e035815dc835a1a7a85":[11,0,14,1,0], +"d0/d51/approximate__pi_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e":[11,0,14,1,3], +"d0/d51/approximate__pi_8cpp.html#abf7f2a6d91f1ca6c89698792aea3f188":[11,0,14,1,1], +"d0/d51/approximate__pi_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,14,1,2], +"d0/d51/approximate__pi_8cpp_source.html":[11,0,14,1], +"d0/d52/namespacewiggle__sort.html":[9,0,139], +"d0/d58/classgraph_1_1_rooted_tree.html":[9,0,39,3], +"d0/d58/classgraph_1_1_rooted_tree.html":[10,0,6,5], +"d0/d58/classgraph_1_1_rooted_tree.html#a2ee3ad1161ac2532da30c3e22c265ad3":[9,0,39,3,2], +"d0/d58/classgraph_1_1_rooted_tree.html#a2ee3ad1161ac2532da30c3e22c265ad3":[10,0,6,5,2], +"d0/d58/classgraph_1_1_rooted_tree.html#a3831583a91914988897a4cc8748fda43":[9,0,39,3,3], +"d0/d58/classgraph_1_1_rooted_tree.html#a3831583a91914988897a4cc8748fda43":[10,0,6,5,3], +"d0/d58/classgraph_1_1_rooted_tree.html#aacdeecac857623e9fbfe92590f3c504d":[9,0,39,3,0], +"d0/d58/classgraph_1_1_rooted_tree.html#aacdeecac857623e9fbfe92590f3c504d":[10,0,6,5,0], +"d0/d58/classgraph_1_1_rooted_tree.html#ab22a97bf6209a085fc2d788c3c0dacbe":[9,0,39,3,4], +"d0/d58/classgraph_1_1_rooted_tree.html#ab22a97bf6209a085fc2d788c3c0dacbe":[10,0,6,5,4], +"d0/d58/classgraph_1_1_rooted_tree.html#ae6928f3ebd491541e9570e746b877c1e":[9,0,39,3,1], +"d0/d58/classgraph_1_1_rooted_tree.html#ae6928f3ebd491541e9570e746b877c1e":[10,0,6,5,1], +"d0/d5a/skip__list_8cpp.html":[11,0,4,25], +"d0/d5a/skip__list_8cpp.html#a903639d8e6f955dd8d5c263781455d61":[11,0,4,25,4], +"d0/d5a/skip__list_8cpp.html#ac0d7e0be24da9f41bcb19745873c436a":[11,0,4,25,3], +"d0/d5a/skip__list_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,4,25,2], +"d0/d5a/skip__list_8cpp_source.html":[11,0,4,25], +"d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html":[10,0,12,3,0], +"d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html#a097913c4badec2b60d50a171ecc299fe":[10,0,12,3,0,8], +"d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html#a18b70172ca4fb2811dbfb9a86e48b34c":[10,0,12,3,0,6], +"d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html#a4a624fcdf3c3beb2025d69f2cfda8023":[10,0,12,3,0,5], +"d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html#a7c5ab271d8042540f64ef16d259d1503":[10,0,12,3,0,4], +"d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html#a7ecb75b985b1ffc575a880274f855b1c":[10,0,12,3,0,2], +"d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html#a9e556f52c837190ecf4265b1f05cfe9c":[10,0,12,3,0,9], +"d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html#aacafb8c9f3ebac7ac6c01d9645bb67b6":[10,0,12,3,0,7], +"d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html#adef6940391f981ab86767775176b7169":[10,0,12,3,0,1], +"d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html#aefd24626ac47277431c9b8604e064340":[10,0,12,3,0,0], +"d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html#afca808362c13273ca8c8ae7d58e8eee0":[10,0,12,3,0,3], +"d0/d61/knapsack_8cpp_source.html":[11,0,11,7], +"d0/d65/namespacedouble__hashing.html":[8,0,0], +"d0/d65/namespacedouble__hashing.html#a0d90726ed1de7b3d2ae261baed048003":[9,0,26,5], +"d0/d65/namespacedouble__hashing.html#a1e901418c759627557eff359b8db38cd":[9,0,26,3], +"d0/d65/namespacedouble__hashing.html#a28083ecac6eb94b643281875c8665931":[9,0,26,10], +"d0/d65/namespacedouble__hashing.html#a29f543e2626bad58907661e1e45028a6":[9,0,26,11], +"d0/d65/namespacedouble__hashing.html#a33968a1178289ab61445dd4000df7082":[9,0,26,6], +"d0/d65/namespacedouble__hashing.html#a5d06e4598569526294f10104875f6824":[9,0,26,9], +"d0/d65/namespacedouble__hashing.html#a79a9c914a6c68275b3640303d7faad8a":[9,0,26,1], +"d0/d65/namespacedouble__hashing.html#a8f8ff4fb018e1bb32d67d8a1885d3200":[9,0,26,4], +"d0/d65/namespacedouble__hashing.html#a9c652b2e467e5d250dfe3bed83b12560":[9,0,26,2], +"d0/d65/namespacedouble__hashing.html#ac2adfce49ac57f6dbd1778d2c1ce0d2b":[9,0,26,7], +"d0/d65/namespacedouble__hashing.html#af4981819aae8bc7e7beeaef02615e30d":[9,0,26,8], +"d0/d6d/modular__exponentiation_8cpp.html":[11,0,14,38], +"d0/d6d/modular__exponentiation_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,14,38,2], +"d0/d6d/modular__exponentiation_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,14,38,0], +"d0/d6d/modular__exponentiation_8cpp.html#afcd07701d73ed65cd616bcba02737f3d":[11,0,14,38,1], +"d0/d6d/modular__exponentiation_8cpp_source.html":[11,0,14,38], +"d0/d6f/namespaceothers.html":[9,0,88], +"d0/d6f/namespaceothers.html#a48677fae5d683070432b1a905722d9ec":[9,0,88,2], +"d0/d6f/namespaceothers.html#aa17dc6d061dff34f6b9a610bc5e26703":[9,0,88,1], +"d0/d77/longest__palindromic__subsequence_8cpp.html":[11,0,6,18], +"d0/d77/longest__palindromic__subsequence_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,6,18,2], +"d0/d77/longest__palindromic__subsequence_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,6,18,1], +"d0/d77/longest__palindromic__subsequence_8cpp.html#afe9f45b6e30ee187509da2d1d0093412":[11,0,6,18,0], +"d0/d77/longest__palindromic__subsequence_8cpp_source.html":[11,0,6,18], +"d0/da2/number__of__positive__divisors_8cpp.html":[11,0,14,44], +"d0/da2/number__of__positive__divisors_8cpp.html#a88ec9ad42717780d6caaff9d3d6977f9":[11,0,14,44,2], +"d0/da2/number__of__positive__divisors_8cpp.html#ad89ccced8504b5116046cfa03066ffeb":[11,0,14,44,1], +"d0/da2/number__of__positive__divisors_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,14,44,0], +"d0/da2/number__of__positive__divisors_8cpp_source.html":[11,0,14,44], +"d0/da4/namespacemonte__carlo.html":[9,0,78], +"d0/db6/non__recursive__merge__sort_8cpp.html":[11,0,23,20], +"d0/db6/non__recursive__merge__sort_8cpp.html#a140d913e42fb94176a0b2c8b29a80420":[11,0,23,20,2], +"d0/db6/non__recursive__merge__sort_8cpp.html#a27236b8d3df3832e1f1225576a122534":[11,0,23,20,3], +"d0/db6/non__recursive__merge__sort_8cpp.html#aa26de383227859210f14dcf12201a079":[11,0,23,20,0], +"d0/db6/non__recursive__merge__sort_8cpp.html#ae97f4dd815654c4682f564afd718e824":[11,0,23,20,1], +"d0/db6/non__recursive__merge__sort_8cpp_source.html":[11,0,23,20], +"d0/dbc/namespacestrings_1_1boyer__moore.html":[9,0,122,0], +"d0/dbc/namespacestrings_1_1boyer__moore.html#a056122c8fe8fb0f5fca6428d3f7b5c3a":[9,0,122,0,4], +"d0/dbc/namespacestrings_1_1boyer__moore.html#a0b165af1dc341289fd705be4c67728f8":[9,0,122,0,3], +"d0/dbc/namespacestrings_1_1boyer__moore.html#a15703b553faed0d28202c10808cf9738":[9,0,122,0,5], +"d0/dbc/namespacestrings_1_1boyer__moore.html#a2f6688c9bb3e692297a3aa09cebc1c00":[9,0,122,0,1], +"d0/dbc/namespacestrings_1_1boyer__moore.html#aa709cf7fca02b7d3e1888423d5f739a1":[9,0,122,0,2], +"d0/dd2/treap_8cpp.html":[11,0,4,34], +"d0/dd2/treap_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,4,34,2], +"d0/dd2/treap_8cpp.html#ad939ec178d0069aeea14b7d6d7d12099":[11,0,4,34,3], +"d0/dd2/treap_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,4,34,1], +"d0/dd2/treap_8cpp_source.html":[11,0,4,34], +"d0/dd5/namespacebubble__sort.html":[9,0,11], +"d0/dda/namespacesaddleback.html":[9,0,105], +"d0/de2/gaussian__elimination_8cpp.html":[11,0,15,7], +"d0/de2/gaussian__elimination_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,15,7,0], +"d0/de2/gaussian__elimination_8cpp_source.html":[11,0,15,7], +"d0/dea/strassen__matrix__multiplication_8cpp_source.html":[11,0,5,1], +"d0/df8/namespaceabbreviation.html":[9,0,1], +"d0/dff/structlinkedlist.html":[10,0,38], +"d1/d11/gcd__of__n__numbers_8cpp.html":[11,0,14,23], +"d1/d11/gcd__of__n__numbers_8cpp.html#a1161713c662a14c2d5e33504f4324532":[11,0,14,23,1], +"d1/d11/gcd__of__n__numbers_8cpp.html#a509a35e11ed1e17a9e00dd56320a4181":[11,0,14,23,2], +"d1/d11/gcd__of__n__numbers_8cpp.html#a71b9357c7a722f8208499d9ba573297a":[11,0,14,23,0], +"d1/d11/gcd__of__n__numbers_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,14,23,4], +"d1/d11/gcd__of__n__numbers_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,14,23,3], +"d1/d11/gcd__of__n__numbers_8cpp_source.html":[11,0,14,23], +"d1/d12/tree_8cpp_source.html":[11,0,4,35], +"d1/d1b/topological__sort__by__kahns__algo_8cpp_source.html":[11,0,9,19], +"d1/d1c/base64__encoding_8cpp_source.html":[11,0,2,2], +"d1/d21/quick__sort_8cpp.html":[11,0,23,25], +"d1/d21/quick__sort_8cpp.html#a1b2a2cc2d319240f3b65c5b2f479ed82":[11,0,23,25,1], +"d1/d21/quick__sort_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e":[11,0,23,25,5], +"d1/d21/quick__sort_8cpp.html#a53adad7e4d83e1495df25fe8dbb4cc05":[11,0,23,25,3], +"d1/d21/quick__sort_8cpp.html#a5e6213e8008356ac6eda9427f3f4b394":[11,0,23,25,2], +"d1/d21/quick__sort_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,23,25,0], +"d1/d21/quick__sort_8cpp.html#aeccefcf6fcca62c54939c5ec9a93109b":[11,0,23,25,4], +"d1/d21/quick__sort_8cpp_source.html":[11,0,23,25], +"d1/d2a/knight__tour_8cpp.html":[11,0,0,2], +"d1/d2a/knight__tour_8cpp.html#aaa47356d98676cf5315d978f741e29c9":[11,0,0,2,2], +"d1/d2a/knight__tour_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,0,2,1], +"d1/d2a/knight__tour_8cpp.html#af27031fbff093ffd625f64010d98aab2":[11,0,0,2,0], +"d1/d2a/knight__tour_8cpp_source.html":[11,0,0,2], +"d1/d35/namespaceexponential__dist.html":[9,0,29], +"d1/d40/counting__sort_8cpp_source.html":[11,0,23,9], +"d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html":[10,0,16,0,2], +"d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html#a04cd96efaba147b19d3afc769b90ff70":[10,0,16,0,2,9], +"d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html#a0efd0b9c564092f443ca97030d866ef1":[10,0,16,0,2,11], +"d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html#a135b7952593c9b1aae38fcaf1cc1abf7":[10,0,16,0,2,17], +"d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html#a350157a5fb79f76fceae33fc84171203":[10,0,16,0,2,14], +"d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html#a79ab4601c4a95c0902ac04e779e5f54d":[10,0,16,0,2,1], +"d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html#a835fb2bbb27307b8cacad9b287968bc1":[10,0,16,0,2,0], +"d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html#a8f7bca1746d40f21ad832fcea59aa6c6":[10,0,16,0,2,6], +"d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html#aa339c31ec74cd86a4842a8b09653d460":[10,0,16,0,2,4], +"d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html#aa6c37e840355b9fb2105181c578694e8":[10,0,16,0,2,15], +"d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html#ab1aeaefa1bd97b867c652ba916fbdb43":[10,0,16,0,2,10], +"d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html#ab2ab020f798d00be2613ecf63074b7c1":[10,0,16,0,2,12], +"d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html#ab916d554afa8ca5230b4310c2c69fae0":[10,0,16,0,2,2], +"d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html#ac7761255f2ba06b398b9aae5e4dce5f3":[10,0,16,0,2,8], +"d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html#ad22d760a5a33545a70e7ea5e1786c8dc":[10,0,16,0,2,5], +"d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html#ada1494fccbc7f1f07b2f9be9f7e07ad5":[10,0,16,0,2,16], +"d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html#ae2b407e64aaf9878fbee7ee6efe9c7d4":[10,0,16,0,2,7], +"d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html#ae4630fa70a80a1dc65a875488a67178a":[10,0,16,0,2,13], +"d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html#ae8de7aefcb6635d3dacdd174cd4890c4":[10,0,16,0,2,3], +"d1/d64/namespaceinterpolation__search.html":[9,0,50], +"d1/d64/namespacemodular__division.html":[9,0,76], +"d1/d70/cll_8cpp_source.html":[11,0,4,0,0], +"d1/d76/buzz__number_8cpp.html":[11,0,17,0], +"d1/d76/buzz__number_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,17,0,0], +"d1/d76/buzz__number_8cpp_source.html":[11,0,17,0], +"d1/d77/structmst.html":[10,0,44], +"d1/d7c/fibonacci__bottom__up_8cpp_source.html":[11,0,6,10], +"d1/d83/classuint256__t.html":[10,0,61], +"d1/d83/classuint256__t.html#a02616a4a46727b4c158b2b90de8c75c3":[10,0,61,4], +"d1/d83/classuint256__t.html#a028c585069fa53b74c153667ff66352c":[10,0,61,15], +"d1/d83/classuint256__t.html#a033d66c965e8d1fbc5bafb59ad60e163":[10,0,61,8], +"d1/d83/classuint256__t.html#a092a766421ba5833452e86a2357d7cfa":[10,0,61,3], +"d1/d83/classuint256__t.html#a0d96ce2d022dc30c2f303ab0698f52f5":[10,0,61,53], +"d1/d83/classuint256__t.html#a19c88f8f2736750822b82ef9a7096d88":[10,0,61,55], +"d1/d83/classuint256__t.html#a1fa3d95584d071add9b46597d3747b39":[10,0,61,1], +"d1/d83/classuint256__t.html#a2029e9777f999bffef6004429b4f19f2":[10,0,61,54], +"d1/d83/classuint256__t.html#a20dc3a017b1a740c4bafd3f146a90b0f":[10,0,61,33], +"d1/d83/classuint256__t.html#a28aa5786bbfce1b00398a8d38691bdaa":[10,0,61,12], +"d1/d83/classuint256__t.html#a28d26847f9b19a4f86c187791cb0db13":[10,0,61,43], +"d1/d83/classuint256__t.html#a2b5f745c05d10fa85ba5c409ad92d052":[10,0,61,5], +"d1/d83/classuint256__t.html#a2cd43a4a92dc825a010a17578b3bdedb":[10,0,61,21], +"d1/d83/classuint256__t.html#a2d7c8a1a5ecaf3e0dcb4bf6b6cff2da2":[10,0,61,73], +"d1/d83/classuint256__t.html#a303287d7bc8686dcb47fcb04720ad409":[10,0,61,24], +"d1/d83/classuint256__t.html#a357cdfee6a79e0484cd1e07511eb9f2d":[10,0,61,27], +"d1/d83/classuint256__t.html#a3dc4d3ab175f5f2a3172eb8d99a60fc3":[10,0,61,70], +"d1/d83/classuint256__t.html#a3ff17ab14b2371eb3239107d10947067":[10,0,61,6], +"d1/d83/classuint256__t.html#a406c951a07d8173685dbe384c6ab6a06":[10,0,61,39], +"d1/d83/classuint256__t.html#a41f4bb928c4ee067732503395b65f9d7":[10,0,61,77], +"d1/d83/classuint256__t.html#a42bf7490b31d8c750a67fd9bb6f2df2e":[10,0,61,2], +"d1/d83/classuint256__t.html#a4645040fe68ff01d83400f173fd2bb21":[10,0,61,32], +"d1/d83/classuint256__t.html#a47a19142e86b7369e18da1fc0a713c51":[10,0,61,66], +"d1/d83/classuint256__t.html#a4831263abc4430c363fdabce6e6e96d5":[10,0,61,52], +"d1/d83/classuint256__t.html#a4886747ffff15cdeb6bc93712629f9e7":[10,0,61,76], +"d1/d83/classuint256__t.html#a4c6db67d21c4927a45a4e1e7c2357bfc":[10,0,61,58], +"d1/d83/classuint256__t.html#a4fdeb4d4bf8cca4ee99b8487e59831df":[10,0,61,47], +"d1/d83/classuint256__t.html#a5363ec0f36de1a8a9c985907db4e95d1":[10,0,61,37], +"d1/d83/classuint256__t.html#a5e84ed2a2f99cee81ede4a0107702a45":[10,0,61,45], +"d1/d83/classuint256__t.html#a6c5e025f901f6af4b748f98013350638":[10,0,61,59], +"d1/d83/classuint256__t.html#a6eadaa829087e07eebafca3981566bb8":[10,0,61,22], +"d1/d83/classuint256__t.html#a6eec1f632aebfc44fee8a74c395e10c2":[10,0,61,78], +"d1/d83/classuint256__t.html#a74d1e1dd8cd2b31e00813ed939943be7":[10,0,61,69], +"d1/d83/classuint256__t.html#a76914bc727eab927a3941ef71275327d":[10,0,61,20], +"d1/d83/classuint256__t.html#a7ac99dea14428200f0101452293e2b3b":[10,0,61,28], +"d1/d83/classuint256__t.html#a7bbe36e2ebd52df5efab118897b3050c":[10,0,61,36], +"d1/d83/classuint256__t.html#a7bd9693b88c4df08b1f8d1fd81c597cc":[10,0,61,18], +"d1/d83/classuint256__t.html#a8161d52d369e525f4e61129376adfcf1":[10,0,61,10], +"d1/d83/classuint256__t.html#a86aab081bb7db2771e4a4f30c3eed8e2":[10,0,61,56], +"d1/d83/classuint256__t.html#a88978d00fa6a624c50c2737dc2c294b4":[10,0,61,40], +"d1/d83/classuint256__t.html#a89cf7fa466458ee08edd9a809d072bcb":[10,0,61,16], +"d1/d83/classuint256__t.html#a90ce75bec5b525de55bbf92c564a2261":[10,0,61,61], +"d1/d83/classuint256__t.html#a91badfd31be84b12cbb6d85ebc04d13a":[10,0,61,80], +"d1/d83/classuint256__t.html#a9879f7ec85fc148e1931fcb492ddc484":[10,0,61,60], +"d1/d83/classuint256__t.html#a9bc6cc460108306a59281ce4ca216839":[10,0,61,23], +"d1/d83/classuint256__t.html#a9ddd133cee83f3a2ab6ed60a7ccbc250":[10,0,61,9], +"d1/d83/classuint256__t.html#a9e1b39a46ea16bc6587e25e294c6c363":[10,0,61,13], +"d1/d83/classuint256__t.html#a9f6f3e39783c893473315bada864a183":[10,0,61,42], +"d1/d83/classuint256__t.html#aa0e532832640e9fe273b35c481b18963":[10,0,61,25], +"d1/d83/classuint256__t.html#aa28ae272e9176557133a10dffa3b94dc":[10,0,61,75], +"d1/d83/classuint256__t.html#aa4cf08fa6a33f17594b5a842866f39a1":[10,0,61,11], +"d1/d83/classuint256__t.html#aa9e585b186e71d7cbe9c1d7387c38967":[10,0,61,30], +"d1/d83/classuint256__t.html#aaca9288fd28fc07e1386f1586bd51616":[10,0,61,29], +"d1/d83/classuint256__t.html#aae68a7bd17c14a926fb77758b5c8e547":[10,0,61,17], +"d1/d83/classuint256__t.html#ab909ef62a0c85121e7d743c016fb723d":[10,0,61,41], +"d1/d83/classuint256__t.html#abc793979ec70bb8e5cf177d83649a259":[10,0,61,48], +"d1/d83/classuint256__t.html#ac1b36e64de42f3622e7d6ec5efa273d4":[10,0,61,49], +"d1/d83/classuint256__t.html#ac6bdcf64653af8173987bf7217e99056":[10,0,61,50], +"d1/d83/classuint256__t.html#ac75a46fe3625caf10e07db1eb75a1d6e":[10,0,61,38], +"d1/d83/classuint256__t.html#ac92ac0b2368990fbbaf3cca3ee8247d7":[10,0,61,71] }; diff --git a/navtreeindex1.js b/navtreeindex1.js index 1be19fb22..e457c4c32 100644 --- a/navtreeindex1.js +++ b/navtreeindex1.js @@ -1,253 +1,253 @@ var NAVTREEINDEX1 = { -"cpp/iterator/distance.html":[9,0,118,97], -"cpp/iterator/end.html":[9,0,118,100], -"cpp/iterator/front_inserter.html":[9,0,118,161], -"cpp/iterator/inserter.html":[9,0,118,196], -"cpp/iterator/make_move_iterator.html":[9,0,118,258], -"cpp/iterator/next.html":[9,0,118,295], -"cpp/iterator/prev.html":[9,0,118,321], -"cpp/locale/has_facet.html":[9,0,118,188], -"cpp/locale/localeconv.html":[9,0,118,245], -"cpp/locale/setlocale.html":[9,0,118,381], -"cpp/locale/use_facet.html":[9,0,118,480], -"cpp/memory/addressof.html":[9,0,118,18], -"cpp/memory/align.html":[9,0,118,22], -"cpp/memory/c/calloc.html":[9,0,118,73], -"cpp/memory/c/free.html":[9,0,118,158], -"cpp/memory/c/malloc.html":[9,0,118,262], -"cpp/memory/c/realloc.html":[9,0,118,336], -"cpp/memory/gc/declare_no_pointers.html":[9,0,118,92], -"cpp/memory/gc/declare_reachable.html":[9,0,118,93], -"cpp/memory/gc/get_pointer_safety.html":[9,0,118,176], -"cpp/memory/gc/undeclare_no_pointers.html":[9,0,118,466], -"cpp/memory/gc/undeclare_reachable.html":[9,0,118,467], -"cpp/memory/get_temporary_buffer.html":[9,0,118,177], -"cpp/memory/new/get_new_handler.html":[9,0,118,175], -"cpp/memory/new/set_new_handler.html":[9,0,118,372], -"cpp/memory/return_temporary_buffer.html":[9,0,118,355], -"cpp/memory/shared_ptr/allocate_shared.html":[9,0,118,24], -"cpp/memory/shared_ptr/make_shared.html":[9,0,118,260], -"cpp/memory/shared_ptr/pointer_cast.html":[9,0,118,78], -"cpp/memory/shared_ptr/pointer_cast.html":[9,0,118,99], -"cpp/memory/shared_ptr/pointer_cast.html":[9,0,118,403], -"cpp/memory/uninitialized_copy.html":[9,0,118,471], -"cpp/memory/uninitialized_copy_n.html":[9,0,118,472], -"cpp/memory/uninitialized_fill.html":[9,0,118,473], -"cpp/memory/uninitialized_fill_n.html":[9,0,118,474], -"cpp/numeric/fenv/feclearexcept.html":[9,0,118,114], -"cpp/numeric/fenv/feenv.html":[9,0,118,115], -"cpp/numeric/fenv/feenv.html":[9,0,118,122], -"cpp/numeric/fenv/feexceptflag.html":[9,0,118,116], -"cpp/numeric/fenv/feexceptflag.html":[9,0,118,123], -"cpp/numeric/fenv/feholdexcept.html":[9,0,118,118], -"cpp/numeric/fenv/feraiseexcept.html":[9,0,118,120], -"cpp/numeric/fenv/feround.html":[9,0,118,117], -"cpp/numeric/fenv/feround.html":[9,0,118,124], -"cpp/numeric/fenv/fetestexcept.html":[9,0,118,125], -"cpp/numeric/fenv/feupdateenv.html":[9,0,118,126], -"cpp/numeric/math/abs.html":[9,0,118,14], -"cpp/numeric/math/abs.html":[9,0,118,236], -"cpp/numeric/math/abs.html":[9,0,118,242], -"cpp/numeric/math/acos.html":[9,0,118,16], -"cpp/numeric/math/acosh.html":[9,0,118,17], -"cpp/numeric/math/asin.html":[9,0,118,27], -"cpp/numeric/math/asinh.html":[9,0,118,28], -"cpp/numeric/math/atan.html":[9,0,118,31], -"cpp/numeric/math/atan2.html":[9,0,118,32], -"cpp/numeric/math/atanh.html":[9,0,118,33], -"cpp/numeric/math/cbrt.html":[9,0,118,74], -"cpp/numeric/math/ceil.html":[9,0,118,75], -"cpp/numeric/math/copysign.html":[9,0,118,83], -"cpp/numeric/math/cos.html":[9,0,118,84], -"cpp/numeric/math/cosh.html":[9,0,118,85], -"cpp/numeric/math/div.html":[9,0,118,98], -"cpp/numeric/math/div.html":[9,0,118,238], -"cpp/numeric/math/erf.html":[9,0,118,105], -"cpp/numeric/math/erfc.html":[9,0,118,106], -"cpp/numeric/math/exp.html":[9,0,118,108], -"cpp/numeric/math/exp2.html":[9,0,118,109], -"cpp/numeric/math/expm1.html":[9,0,118,110], -"cpp/numeric/math/fabs.html":[9,0,118,13], -"cpp/numeric/math/fabs.html":[9,0,118,111], -"cpp/numeric/math/fdim.html":[9,0,118,113], -"cpp/numeric/math/floor.html":[9,0,118,141], -"cpp/numeric/math/fma.html":[9,0,118,143], -"cpp/numeric/math/fmax.html":[9,0,118,144], -"cpp/numeric/math/fmin.html":[9,0,118,145], -"cpp/numeric/math/fmod.html":[9,0,118,146], -"cpp/numeric/math/fpclassify.html":[9,0,118,151], -"cpp/numeric/math/frexp.html":[9,0,118,160], -"cpp/numeric/math/hypot.html":[9,0,118,191], -"cpp/numeric/math/ilogb.html":[9,0,118,192], -"cpp/numeric/math/isfinite.html":[9,0,118,210], -"cpp/numeric/math/isinf.html":[9,0,118,212], -"cpp/numeric/math/isnan.html":[9,0,118,214], -"cpp/numeric/math/isnormal.html":[9,0,118,215], -"cpp/numeric/math/ldexp.html":[9,0,118,237], -"cpp/numeric/math/lgamma.html":[9,0,118,241], -"cpp/numeric/math/log.html":[9,0,118,248], -"cpp/numeric/math/log10.html":[9,0,118,249], -"cpp/numeric/math/log1p.html":[9,0,118,250], -"cpp/numeric/math/logb.html":[9,0,118,251], -"cpp/numeric/math/modf.html":[9,0,118,287], -"cpp/numeric/math/nan.html":[9,0,118,291], -"cpp/numeric/math/nan.html":[9,0,118,292], -"cpp/numeric/math/nan.html":[9,0,118,293], -"cpp/numeric/math/nearbyint.html":[9,0,118,294], -"cpp/numeric/math/nextafter.html":[9,0,118,297], -"cpp/numeric/math/nextafter.html":[9,0,118,298], -"cpp/numeric/math/pow.html":[9,0,118,320], -"cpp/numeric/math/remainder.html":[9,0,118,341], -"cpp/numeric/math/remquo.html":[9,0,118,346], -"cpp/numeric/math/rint.html":[9,0,118,243], -"cpp/numeric/math/rint.html":[9,0,118,254], -"cpp/numeric/math/rint.html":[9,0,118,360], -"cpp/numeric/math/round.html":[9,0,118,244], -"cpp/numeric/math/round.html":[9,0,118,255], -"cpp/numeric/math/round.html":[9,0,118,363], -"cpp/numeric/math/scalbn.html":[9,0,118,364], -"cpp/numeric/math/scalbn.html":[9,0,118,365], -"cpp/numeric/math/signbit.html":[9,0,118,390], -"cpp/numeric/math/sin.html":[9,0,118,391], -"cpp/numeric/math/sinh.html":[9,0,118,392], -"cpp/numeric/math/sqrt.html":[9,0,118,398], -"cpp/numeric/math/tan.html":[9,0,118,445], -"cpp/numeric/math/tanh.html":[9,0,118,446], -"cpp/numeric/math/tgamma.html":[9,0,118,448], -"cpp/numeric/math/trunc.html":[9,0,118,462], -"cpp/numeric/random/generate_canonical.html":[9,0,118,171], -"cpp/numeric/random/rand.html":[9,0,118,334], -"cpp/numeric/random/srand.html":[9,0,118,399], -"cpp/regex/regex_match.html":[9,0,118,338], -"cpp/regex/regex_replace.html":[9,0,118,339], -"cpp/regex/regex_search.html":[9,0,118,340], -"cpp/string/basic_string/getline.html":[9,0,118,184], -"cpp/string/basic_string/stof.html":[9,0,118,404], -"cpp/string/basic_string/stof.html":[9,0,118,405], -"cpp/string/basic_string/stof.html":[9,0,118,408], -"cpp/string/basic_string/stol.html":[9,0,118,406], -"cpp/string/basic_string/stol.html":[9,0,118,407], -"cpp/string/basic_string/stol.html":[9,0,118,409], -"cpp/string/basic_string/stoul.html":[9,0,118,410], -"cpp/string/basic_string/stoul.html":[9,0,118,411], -"cpp/string/basic_string/to_string.html":[9,0,118,454], -"cpp/string/basic_string/to_wstring.html":[9,0,118,455], -"cpp/string/byte/atof.html":[9,0,118,35], -"cpp/string/byte/atoi.html":[9,0,118,36], -"cpp/string/byte/atoi.html":[9,0,118,37], -"cpp/string/byte/atoi.html":[9,0,118,38], -"cpp/string/byte/isalnum.html":[9,0,118,205], -"cpp/string/byte/isalpha.html":[9,0,118,206], -"cpp/string/byte/isblank.html":[9,0,118,207], -"cpp/string/byte/iscntrl.html":[9,0,118,208], -"cpp/string/byte/isdigit.html":[9,0,118,209], -"cpp/string/byte/isgraph.html":[9,0,118,211], -"cpp/string/byte/islower.html":[9,0,118,213], -"cpp/string/byte/isprint.html":[9,0,118,216], -"cpp/string/byte/ispunct.html":[9,0,118,217], -"cpp/string/byte/isspace.html":[9,0,118,218], -"cpp/string/byte/isupper.html":[9,0,118,219], -"cpp/string/byte/isxdigit.html":[9,0,118,233], -"cpp/string/byte/memchr.html":[9,0,118,275], -"cpp/string/byte/memcmp.html":[9,0,118,276], -"cpp/string/byte/memcpy.html":[9,0,118,277], -"cpp/string/byte/memmove.html":[9,0,118,278], -"cpp/string/byte/memset.html":[9,0,118,279], -"cpp/string/byte/strcat.html":[9,0,118,412], -"cpp/string/byte/strchr.html":[9,0,118,413], -"cpp/string/byte/strcmp.html":[9,0,118,414], -"cpp/string/byte/strcoll.html":[9,0,118,415], -"cpp/string/byte/strcpy.html":[9,0,118,416], -"cpp/string/byte/strcspn.html":[9,0,118,417], -"cpp/string/byte/strerror.html":[9,0,118,418], -"cpp/string/byte/strlen.html":[9,0,118,420], -"cpp/string/byte/strncat.html":[9,0,118,421], -"cpp/string/byte/strncmp.html":[9,0,118,422], -"cpp/string/byte/strncpy.html":[9,0,118,423], -"cpp/string/byte/strpbrk.html":[9,0,118,424], -"cpp/string/byte/strrchr.html":[9,0,118,425], -"cpp/string/byte/strspn.html":[9,0,118,426], -"cpp/string/byte/strstr.html":[9,0,118,427], -"cpp/string/byte/strtof.html":[9,0,118,428], -"cpp/string/byte/strtof.html":[9,0,118,429], -"cpp/string/byte/strtof.html":[9,0,118,433], -"cpp/string/byte/strtoimax.html":[9,0,118,430], -"cpp/string/byte/strtoimax.html":[9,0,118,437], -"cpp/string/byte/strtok.html":[9,0,118,431], -"cpp/string/byte/strtol.html":[9,0,118,432], -"cpp/string/byte/strtol.html":[9,0,118,434], -"cpp/string/byte/strtoul.html":[9,0,118,435], -"cpp/string/byte/strtoul.html":[9,0,118,436], -"cpp/string/byte/strxfrm.html":[9,0,118,438], -"cpp/string/byte/tolower.html":[9,0,118,456], -"cpp/string/byte/toupper.html":[9,0,118,457], -"cpp/string/multibyte/btowc.html":[9,0,118,69], -"cpp/string/multibyte/c16rtomb.html":[9,0,118,70], -"cpp/string/multibyte/c32rtomb.html":[9,0,118,71], -"cpp/string/multibyte/mblen.html":[9,0,118,265], -"cpp/string/multibyte/mbrlen.html":[9,0,118,266], -"cpp/string/multibyte/mbrtoc16.html":[9,0,118,267], -"cpp/string/multibyte/mbrtoc32.html":[9,0,118,268], -"cpp/string/multibyte/mbrtowc.html":[9,0,118,269], -"cpp/string/multibyte/mbsinit.html":[9,0,118,270], -"cpp/string/multibyte/mbsrtowcs.html":[9,0,118,271], -"cpp/string/multibyte/mbstowcs.html":[9,0,118,272], -"cpp/string/multibyte/mbtowc.html":[9,0,118,273], -"cpp/string/multibyte/wcrtomb.html":[9,0,118,494], -"cpp/string/multibyte/wcstombs.html":[9,0,118,517], -"cpp/string/multibyte/wctob.html":[9,0,118,522], -"cpp/string/multibyte/wctomb.html":[9,0,118,523], -"cpp/string/wide/iswalnum.html":[9,0,118,220], -"cpp/string/wide/iswalpha.html":[9,0,118,221], -"cpp/string/wide/iswblank.html":[9,0,118,222], -"cpp/string/wide/iswcntrl.html":[9,0,118,223], -"cpp/string/wide/iswctype.html":[9,0,118,224], -"cpp/string/wide/iswdigit.html":[9,0,118,225], -"cpp/string/wide/iswgraph.html":[9,0,118,226], -"cpp/string/wide/iswlower.html":[9,0,118,227], -"cpp/string/wide/iswprint.html":[9,0,118,228], -"cpp/string/wide/iswpunct.html":[9,0,118,229], -"cpp/string/wide/iswspace.html":[9,0,118,230], -"cpp/string/wide/iswupper.html":[9,0,118,231], -"cpp/string/wide/iswxdigit.html":[9,0,118,232], -"cpp/string/wide/towctrans.html":[9,0,118,458], -"cpp/string/wide/towlower.html":[9,0,118,459], -"cpp/string/wide/towupper.html":[9,0,118,460], -"cpp/string/wide/wcscat.html":[9,0,118,495], -"cpp/string/wide/wcschr.html":[9,0,118,496], -"cpp/string/wide/wcscmp.html":[9,0,118,497], -"cpp/string/wide/wcscoll.html":[9,0,118,498], -"cpp/string/wide/wcscpy.html":[9,0,118,499], -"cpp/string/wide/wcscspn.html":[9,0,118,500], -"cpp/string/wide/wcslen.html":[9,0,118,502], -"cpp/string/wide/wcsncat.html":[9,0,118,503], -"cpp/string/wide/wcsncmp.html":[9,0,118,504], -"cpp/string/wide/wcsncpy.html":[9,0,118,505], -"cpp/string/wide/wcspbrk.html":[9,0,118,506], -"cpp/string/wide/wcsrchr.html":[9,0,118,507], -"cpp/string/wide/wcsspn.html":[9,0,118,508], -"cpp/string/wide/wcsstr.html":[9,0,118,509], -"cpp/string/wide/wcstof.html":[9,0,118,510], -"cpp/string/wide/wcstof.html":[9,0,118,511], -"cpp/string/wide/wcstof.html":[9,0,118,515], -"cpp/string/wide/wcstoimax.html":[9,0,118,512], -"cpp/string/wide/wcstoimax.html":[9,0,118,520], -"cpp/string/wide/wcstok.html":[9,0,118,513], -"cpp/string/wide/wcstol.html":[9,0,118,514], -"cpp/string/wide/wcstol.html":[9,0,118,516], -"cpp/string/wide/wcstoul.html":[9,0,118,518], -"cpp/string/wide/wcstoul.html":[9,0,118,519], -"cpp/string/wide/wcsxfrm.html":[9,0,118,521], -"cpp/string/wide/wctrans.html":[9,0,118,524], -"cpp/string/wide/wctype.html":[9,0,118,525], -"cpp/string/wide/wmemchr.html":[9,0,118,526], -"cpp/string/wide/wmemcmp.html":[9,0,118,527], -"cpp/string/wide/wmemcpy.html":[9,0,118,528], -"cpp/string/wide/wmemmove.html":[9,0,118,529], -"cpp/string/wide/wmemset.html":[9,0,118,530], -"cpp/thread/async.html":[9,0,118,29], -"cpp/thread/call_once.html":[9,0,118,72], -"cpp/thread/future/future_category.html":[9,0,118,166], -"cpp/thread/get_id.html":[9,0,118,4,0] +"d1/d83/classuint256__t.html#acac9901ab133caa57d058a377d873bf6":[10,0,61,46], +"d1/d83/classuint256__t.html#acadd235e0029ec43d5990d24affaf42d":[10,0,61,63], +"d1/d83/classuint256__t.html#acb61fe17d064c61adc02defa651f9a5e":[10,0,61,68], +"d1/d83/classuint256__t.html#acd3970c633eb2c597874e2712392f0c7":[10,0,61,44], +"d1/d83/classuint256__t.html#acefecc3b1a4044f2be5ab46eea0099bf":[10,0,61,72], +"d1/d83/classuint256__t.html#ad4928175eaaaa2b559bc945affe63ad2":[10,0,61,19], +"d1/d83/classuint256__t.html#ad5bd38b2d3becca998457af1124d6e8b":[10,0,61,14], +"d1/d83/classuint256__t.html#ad74d33215517459c2b33ace7a9c6bc13":[10,0,61,62], +"d1/d83/classuint256__t.html#ad9ce2370b1497efbcc426793048e1f78":[10,0,61,67], +"d1/d83/classuint256__t.html#addff5645f6005e7b50a6ad0731e4f19c":[10,0,61,57], +"d1/d83/classuint256__t.html#adf09395f9113a69a05fed7e25b46c8ad":[10,0,61,65], +"d1/d83/classuint256__t.html#aecb2883133c8c8b9fcfb77ab69b03ab5":[10,0,61,79], +"d1/d83/classuint256__t.html#aed0f8c3d5be23644c4bcb2fd2551e1dc":[10,0,61,0], +"d1/d83/classuint256__t.html#af0a6e09fcf1cbf234ed32df6d7265a0b":[10,0,61,74], +"d1/d83/classuint256__t.html#af0ad4080bb5ddc16b54a7e87911005c9":[10,0,61,35], +"d1/d83/classuint256__t.html#af18e2e3d7ed635c4056062bc906fef75":[10,0,61,34], +"d1/d83/classuint256__t.html#af2193ff0d0e93143fb71f4847df16028":[10,0,61,31], +"d1/d83/classuint256__t.html#afa79020c27caea31236d04ecaa0e5ef5":[10,0,61,26], +"d1/d83/classuint256__t.html#afe9f4828d73dd51a080585dd0b99af96":[10,0,61,51], +"d1/d83/classuint256__t.html#afee82fa5052e9d8c946b9205b943cec4":[10,0,61,7], +"d1/d83/classuint256__t.html#aff4d49cf84de64301b169ad974f00bad":[10,0,61,64], +"d1/d9a/hopcroft__karp_8cpp.html":[11,0,9,10], +"d1/d9a/hopcroft__karp_8cpp.html#a88ec9ad42717780d6caaff9d3d6977f9":[11,0,9,10,2], +"d1/d9a/hopcroft__karp_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,9,10,1], +"d1/d9a/hopcroft__karp_8cpp_source.html":[11,0,9,10], +"d1/d9e/prefix__sum__array_8cpp.html":[11,0,20,4], +"d1/d9e/prefix__sum__array_8cpp.html#a7c8fd967c36dbba5fdf9c71faed604cf":[11,0,20,4,2], +"d1/d9e/prefix__sum__array_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,20,4,3], +"d1/d9e/prefix__sum__array_8cpp.html#ab36151479ad37d53ef9fcb60a274b1d9":[11,0,20,4,0], +"d1/d9e/prefix__sum__array_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,20,4,1], +"d1/d9e/prefix__sum__array_8cpp_source.html":[11,0,20,4], +"d1/da6/rungekutta_8cpp.html":[11,0,15,21], +"d1/da6/rungekutta_8cpp.html#a450497475f5607333f9aca8f88901579":[11,0,15,21,0], +"d1/da6/rungekutta_8cpp.html#a7b9f40c7b5e9749cc550f19be3dc8856":[11,0,15,21,2], +"d1/da6/rungekutta_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,15,21,3], +"d1/da6/rungekutta_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,15,21,1], +"d1/da6/rungekutta_8cpp_source.html":[11,0,15,21], +"d1/da7/armstrong__number__templated_8cpp.html":[11,0,6,2], +"d1/da7/armstrong__number__templated_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e":[11,0,6,2,2], +"d1/da7/armstrong__number__templated_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,6,2,1], +"d1/da7/armstrong__number__templated_8cpp.html#af046365a8d77a1267acc082f86135a26":[11,0,6,2,0], +"d1/da7/armstrong__number__templated_8cpp_source.html":[11,0,6,2], +"d1/daa/random__pivot__quick__sort_8cpp.html":[11,0,23,30], +"d1/daa/random__pivot__quick__sort_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97":[11,0,23,30,3], +"d1/daa/random__pivot__quick__sort_8cpp.html#a3d1c39e1ff42c04fb8ec0c0b9411cd3e":[11,0,23,30,4], +"d1/daa/random__pivot__quick__sort_8cpp.html#a40675d2eb960c71ca31ec475ba90120d":[11,0,23,30,1], +"d1/daa/random__pivot__quick__sort_8cpp.html#a7d2e7465e7b5d54c2de6d5e9db1ea6a5":[11,0,23,30,5], +"d1/daa/random__pivot__quick__sort_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,23,30,7], +"d1/daa/random__pivot__quick__sort_8cpp.html#aac5657b4fe2251cd21073f44233f6ea5":[11,0,23,30,2], +"d1/daa/random__pivot__quick__sort_8cpp.html#ac3281dc34a9cfd7beb332419b8a0aa10":[11,0,23,30,6], +"d1/daa/random__pivot__quick__sort_8cpp_source.html":[11,0,23,30], +"d1/db3/structcompare.html":[10,0,26], +"d1/db6/namespaceknight__tour.html":[9,0,59], +"d1/dbb/n__choose__r_8cpp.html":[11,0,14,42], +"d1/dbb/n__choose__r_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97":[11,0,14,42,0], +"d1/dbb/n__choose__r_8cpp.html#a6e2dff75c5de70455b90c799d6ad6967":[11,0,14,42,1], +"d1/dbb/n__choose__r_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,14,42,2], +"d1/dbb/n__choose__r_8cpp_source.html":[11,0,14,42], +"d1/dbe/lu__decomposition_8h.html":[11,0,15,12], +"d1/dbe/lu__decomposition_8h.html#a3108d43bd32c6fb3b3c158476c51ba7f":[11,0,15,12,1], +"d1/dbe/lu__decomposition_8h.html#a75b8a228c6419ecda6077255d6d60509":[11,0,15,12,2], +"d1/dbe/lu__decomposition_8h.html#ac029b636b353cefbb18b2fcc71e427e4":[11,0,15,12,0], +"d1/dbe/lu__decomposition_8h_source.html":[11,0,15,12], +"d1/dc2/classstack.html":[10,0,54], +"d1/dc2/classstack.html#a0a6b2b93ec970296940798ee98a5072e":[10,0,54,6], +"d1/dc2/classstack.html#a163eb9a6206c874c9bf98d032fca11c5":[10,0,54,2], +"d1/dc2/classstack.html#a3647fb4418890f19e0dc414b8092b8b0":[10,0,54,3], +"d1/dc2/classstack.html#a6f13157faa1a762c59e67da8b9516092":[10,0,54,0], +"d1/dc2/classstack.html#a8bce109630118a34faae717f72986033":[10,0,54,1], +"d1/dc2/classstack.html#a90df277532c23519aa7ac3c08ed90a1d":[10,0,54,4], +"d1/dc2/classstack.html#ae09630c4384903d187801921b2ddc709":[10,0,54,5], +"d1/dc2/classstack.html#aefb3dac828e32b4ec014ff4b5d43a6b8":[10,0,54,7], +"d1/dc7/linear__probing__hash__table_8cpp.html":[11,0,12,2], +"d1/dc7/linear__probing__hash__table_8cpp.html#a16680b8a37d442c2f208faa286e33908":[11,0,12,2,2], +"d1/dc7/linear__probing__hash__table_8cpp.html#a16d34fd3511626a83ab00665d7bc34d1":[11,0,12,2,1], +"d1/dc7/linear__probing__hash__table_8cpp.html#a4bde7a47f98dd1ad24c84038e2608527":[11,0,12,2,4], +"d1/dc7/linear__probing__hash__table_8cpp.html#a6322209aaa91b7bbf16f96e1cc52b746":[11,0,12,2,5], +"d1/dc7/linear__probing__hash__table_8cpp.html#a6a082dc1426a79f866cee6b370df37b0":[11,0,12,2,8], +"d1/dc7/linear__probing__hash__table_8cpp.html#a75854f5aa216e61219154c62167ce8f0":[11,0,12,2,9], +"d1/dc7/linear__probing__hash__table_8cpp.html#a75d779938df7ebc68581d922b60a2541":[11,0,12,2,7], +"d1/dc7/linear__probing__hash__table_8cpp.html#a942fc8407b8001890ea26830cdcd9d77":[11,0,12,2,11], +"d1/dc7/linear__probing__hash__table_8cpp.html#abcf8d033f8115f39f3c93cfb6cee0b28":[11,0,12,2,10], +"d1/dc7/linear__probing__hash__table_8cpp.html#ad87b71d810901fab69c4ad9d4d0fa635":[11,0,12,2,3], +"d1/dc7/linear__probing__hash__table_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,12,2,6], +"d1/dc7/linear__probing__hash__table_8cpp_source.html":[11,0,12,2], +"d1/dcc/wiggle__sort_8cpp.html":[8,3,1], +"d1/de0/namespacenumerical__methods.html":[9,0,86], +"d1/de0/namespacenumerical__methods.html#a158fd271b9a53e8f3f60b08b18857150":[9,0,86,1], +"d1/de0/namespacenumerical__methods.html#a28e67885f8606564cc8335f483f63309":[9,0,86,0], +"d1/de0/namespacenumerical__methods.html#aee56dc85997b8cd42bad71a5d6bd2d93":[9,0,86,2], +"d1/de9/integral__approximation_8cpp.html":[11,0,14,25], +"d1/de9/integral__approximation_8cpp.html#a50936ee98f4d40f17823befc65a32aec":[11,0,14,25,2], +"d1/de9/integral__approximation_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,14,25,1], +"d1/de9/integral__approximation_8cpp.html#aec65db4e5c7317323227f026fe50ef11":[11,0,14,25,0], +"d1/de9/integral__approximation_8cpp_source.html":[11,0,14,25], +"d1/ded/windowed__median_8cpp.html":[11,0,19,6], +"d1/ded/windowed__median_8cpp.html#a6dc652a36ea42ba262c4e4236e3e6601":[11,0,19,6,2], +"d1/ded/windowed__median_8cpp.html#ac0f2228420376f4db7e1274f2b41667c":[11,0,19,6,1], +"d1/ded/windowed__median_8cpp_source.html":[11,0,19,6], +"d1/def/classdata__structures_1_1linked__list_1_1list.html":[10,0,2,0,1], +"d1/def/classdata__structures_1_1linked__list_1_1list.html#a009b19ac8cca40f2e4daa2e5989fa4f3":[10,0,2,0,1,4], +"d1/def/classdata__structures_1_1linked__list_1_1list.html#a1313837c0e9ec67fd9fbd17987e2d615":[10,0,2,0,1,3], +"d1/def/classdata__structures_1_1linked__list_1_1list.html#a2b951a3f1123b9b2f4891ec96aa76d69":[10,0,2,0,1,14], +"d1/def/classdata__structures_1_1linked__list_1_1list.html#a326ac4f721f7b74d5ed4f418a67b8d38":[10,0,2,0,1,1], +"d1/def/classdata__structures_1_1linked__list_1_1list.html#a332b965afd9d6bea8d3246673acd52c7":[10,0,2,0,1,10], +"d1/def/classdata__structures_1_1linked__list_1_1list.html#a454ab4918f579869dfed4bb420a3f897":[10,0,2,0,1,6], +"d1/def/classdata__structures_1_1linked__list_1_1list.html#a50e209b55b83622254177050945e7826":[10,0,2,0,1,0], +"d1/def/classdata__structures_1_1linked__list_1_1list.html#a6e9859d1a0755fb51e41904d20c95496":[10,0,2,0,1,9], +"d1/def/classdata__structures_1_1linked__list_1_1list.html#a73c52b2243a6c9501af65756123e7149":[10,0,2,0,1,7], +"d1/def/classdata__structures_1_1linked__list_1_1list.html#a9785d1478e59f5a90288b2928a7094d6":[10,0,2,0,1,13], +"d1/def/classdata__structures_1_1linked__list_1_1list.html#aa3801cea564a3b3bb7b03abfffdcf1e1":[10,0,2,0,1,15], +"d1/def/classdata__structures_1_1linked__list_1_1list.html#aa69707af46eb6d410eb3a54ee58e1ed1":[10,0,2,0,1,5], +"d1/def/classdata__structures_1_1linked__list_1_1list.html#ac466ec086c0835822467bd3d8f3ab90e":[10,0,2,0,1,11], +"d1/def/classdata__structures_1_1linked__list_1_1list.html#ac614ed8f1953f5486fab1cd6d7aa0500":[10,0,2,0,1,2], +"d1/def/classdata__structures_1_1linked__list_1_1list.html#ad3423f7518671351340932db3c24959a":[10,0,2,0,1,12], +"d1/def/classdata__structures_1_1linked__list_1_1list.html#adb04f732911fcfd30f7177b367c6af41":[10,0,2,0,1,8], +"d1/def/classdata__structures_1_1linked__list_1_1list.html#af39bcc08641ce0c813023f364a9a9015":[10,0,2,0,1,16], +"d1/df3/hash__search_8cpp.html":[11,0,22,4], +"d1/df3/hash__search_8cpp.html#a36ea13c16028f18ef2d5ff47f3fda7a2":[11,0,22,4,7], +"d1/df3/hash__search_8cpp.html#a392fb874e547e582e9c66a08a1f23326":[11,0,22,4,2], +"d1/df3/hash__search_8cpp.html#a566eaf0ffafd50bc61e644561fd27001":[11,0,22,4,6], +"d1/df3/hash__search_8cpp.html#a6e1a77282bc65ad359d753d25df23243":[11,0,22,4,9], +"d1/df3/hash__search_8cpp.html#a77c722016053a1d484aa177ce205b367":[11,0,22,4,1], +"d1/df3/hash__search_8cpp.html#a8ca8dcb494104d273679e219e53d0555":[11,0,22,4,4], +"d1/df3/hash__search_8cpp.html#ad0831425f1389166a9518f422d0c6ec5":[11,0,22,4,5], +"d1/df3/hash__search_8cpp.html#ad6fcd983304f85afa199d97a9b0ca9f6":[11,0,22,4,3], +"d1/df3/hash__search_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,22,4,8], +"d1/df3/hash__search_8cpp.html#af413b1740073db54796642b0ab814d6d":[11,0,22,4,10], +"d1/df3/hash__search_8cpp_source.html":[11,0,22,4], +"d1/df6/class_easter_year_month_day.html":[10,0,31], +"d1/df6/class_easter_year_month_day.html#a01a068eae0b6fa8f86f5f60c2840bbde":[10,0,31,1], +"d1/df6/class_easter_year_month_day.html#a28d3cd09391390250932b7fb58fe61dc":[10,0,31,2], +"d1/df6/class_easter_year_month_day.html#ade0b934e5b1af24e19ff959673b2ec51":[10,0,31,0], +"d2/d05/class_min_heap.html":[10,0,42], +"d2/d05/class_min_heap.html#a078cb888e642bb1f95dd0e03f0a35820":[10,0,42,0], +"d2/d05/class_min_heap.html#a336ac71f0d857269fe9a98058a3cd130":[10,0,42,4], +"d2/d05/class_min_heap.html#a34a93a87967308eb516328c0aca3c48e":[10,0,42,10], +"d2/d05/class_min_heap.html#a37ac126eabb0c3ce04047172abccca29":[10,0,42,2], +"d2/d05/class_min_heap.html#a4014f1edaed0bd7db0c0d2ca53228980":[10,0,42,3], +"d2/d05/class_min_heap.html#a88b4aa3e66392a3eabbf2517a9a79a02":[10,0,42,9], +"d2/d05/class_min_heap.html#aa7f726cc6327955d22871592227432f5":[10,0,42,1], +"d2/d05/class_min_heap.html#aa8c6c141e3de664819686aa637e1afca":[10,0,42,6], +"d2/d05/class_min_heap.html#aaef438c1056492cb62c4a4d9035b5cad":[10,0,42,7], +"d2/d05/class_min_heap.html#ac760b85cf90265b8d674b942a43fb70e":[10,0,42,8], +"d2/d05/class_min_heap.html#ae4d358bf063bb196a1945b3fb99b4913":[10,0,42,11], +"d2/d05/class_min_heap.html#aef78f3384f5a0ae880ad0883d2d44b82":[10,0,42,5], +"d2/d0b/fast__power_8cpp.html":[11,0,14,15], +"d2/d0b/fast__power_8cpp.html#a0d4e3f0099a6975b74a314a35bd0f94d":[11,0,14,15,0], +"d2/d0b/fast__power_8cpp.html#a8399b847626e5bba983cab7c7918b445":[11,0,14,15,1], +"d2/d0b/fast__power_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,14,15,2], +"d2/d0b/fast__power_8cpp_source.html":[11,0,14,15], +"d2/d21/gnome__sort_8cpp.html":[11,0,23,13], +"d2/d21/gnome__sort_8cpp.html#a2f8bc626eb57acae24a94636a23af6a1":[11,0,23,13,1], +"d2/d21/gnome__sort_8cpp.html#aa3677f87b5b4756bc77e9e34c5f27935":[11,0,23,13,0], +"d2/d21/gnome__sort_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,23,13,3], +"d2/d21/gnome__sort_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,23,13,2], +"d2/d21/gnome__sort_8cpp_source.html":[11,0,23,13], +"d2/d22/jump__search_8cpp.html":[11,0,22,7], +"d2/d22/jump__search_8cpp.html#ab49fd8f401bfc71f63b74711390cccf0":[11,0,22,7,0], +"d2/d22/jump__search_8cpp_source.html":[11,0,22,7], +"d2/d26/count__inversions_8cpp.html":[11,0,23,8], +"d2/d26/count__inversions_8cpp.html#a3332498eabf6579ef059c0d0e9f4ec80":[11,0,23,8,0], +"d2/d26/count__inversions_8cpp.html#a851ca6a0391d14fb49a97d55e4377497":[11,0,23,8,4], +"d2/d26/count__inversions_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,23,8,5], +"d2/d26/count__inversions_8cpp.html#aad643c14734394e784a75169cb58132f":[11,0,23,8,2], +"d2/d26/count__inversions_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,23,8,1], +"d2/d26/count__inversions_8cpp.html#ae97a486e14101c4822ea8dc47f0d1661":[11,0,23,8,3], +"d2/d26/count__inversions_8cpp_source.html":[11,0,23,8], +"d2/d2c/structtower.html":[10,0,58], +"d2/d2c/structtower.html#a3ebb75c13c57d51a8a1ba1ea54a515e9":[10,0,58,1], +"d2/d2c/structtower.html#acb535964abd34c47678a4ade0628223d":[10,0,58,0], +"d2/d2f/namespacegreedy__algorithms_1_1dijkstra.html":[9,0,42,0], +"d2/d2f/namespacegreedy__algorithms_1_1dijkstra.html#a7341d7c76a6145e991cdd231f689fca8":[9,0,42,0,3], +"d2/d2f/namespacegreedy__algorithms_1_1dijkstra.html#af6cb29ca6dc5771439f6ea7262058a71":[9,0,42,0,2], +"d2/d2f/namespacegreedy__algorithms_1_1dijkstra.html#af915876d0ca33cc71a6a6191a8cd3ccd":[9,0,42,0,1], +"d2/d3b/namespaceqr__algorithm.html":[9,0,95], +"d2/d3b/namespaceqr__algorithm.html#a257425cb2365359da51c6fe6741834d8":[9,0,95,2], +"d2/d3b/namespaceqr__algorithm.html#a28e2fa3e803abaea6c568dc45d69d8cc":[9,0,95,0], +"d2/d3b/namespaceqr__algorithm.html#a6d3c7dce1f142141f509d09f6c0e25dc":[9,0,95,6], +"d2/d3b/namespaceqr__algorithm.html#a73ce637634fc49e1d10d190eb388ebf1":[9,0,95,3], +"d2/d3b/namespaceqr__algorithm.html#a8ea313a1a1b5f9d0e3e332c29c6446ec":[9,0,95,4], +"d2/d3b/namespaceqr__algorithm.html#ad16da2183db22378435042f26af43d5f":[9,0,95,5], +"d2/d3b/namespaceqr__algorithm.html#adfbdf47277c8cfee229b05b72f1f7834":[9,0,95,1], +"d2/d45/segtree_8cpp.html":[11,0,20,5], +"d2/d45/segtree_8cpp.html#a423a97ea0c7ea6e33b5844a6858d902d":[11,0,20,5,2], +"d2/d45/segtree_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,20,5,3], +"d2/d45/segtree_8cpp.html#abd3e818681fb2e29cf08f4f60f82c8e0":[11,0,20,5,4], +"d2/d45/segtree_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,20,5,1], +"d2/d45/segtree_8cpp.html#ae752659b7c1719d68fdb2ca538a93696":[11,0,20,5,0], +"d2/d45/segtree_8cpp_source.html":[11,0,20,5], +"d2/d48/max__flow__with__ford__fulkerson__and__edmond__karp__algo_8cpp_source.html":[11,0,9,16], +"d2/d52/heap__sort_8cpp.html":[11,0,23,14], +"d2/d52/heap__sort_8cpp.html#a9ed3e1510afdf3edd06cf2b68769a767":[11,0,23,14,2], +"d2/d52/heap__sort_8cpp.html#ae1a3968e7947464bee7714f6d43b7002":[11,0,23,14,3], +"d2/d52/heap__sort_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,23,14,1], +"d2/d52/heap__sort_8cpp_source.html":[11,0,23,14], +"d2/d58/neural__network_8cpp.html":[11,0,13,5], +"d2/d58/neural__network_8cpp.html#a23aa9d32bcbcd65cfc85f0a41e2afadc":[11,0,13,5,8], +"d2/d58/neural__network_8cpp.html#a2a5e874b9774aa5362dbcf288828b95c":[11,0,13,5,4], +"d2/d58/neural__network_8cpp.html#a32c00da08f2cf641dd336270f6e3c407":[11,0,13,5,5], +"d2/d58/neural__network_8cpp.html#a371aa7dd5d5add0143d1756bb0a1b32f":[11,0,13,5,10], +"d2/d58/neural__network_8cpp.html#a45d3e30406712ada3d9713ece3c1b153":[11,0,13,5,9], +"d2/d58/neural__network_8cpp.html#a76eb66212d577f948a457b6e29d87c46":[11,0,13,5,3], +"d2/d58/neural__network_8cpp.html#aa69e95a34054d7989bf446f96b2ffaf9":[11,0,13,5,2], +"d2/d58/neural__network_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,13,5,11], +"d2/d58/neural__network_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,13,5,6], +"d2/d58/neural__network_8cpp.html#af8f264600754602b6a9ea19cc690e50e":[11,0,13,5,7], +"d2/d58/neural__network_8cpp_source.html":[11,0,13,5], +"d2/d5a/subset__sum_8cpp.html":[11,0,0,10], +"d2/d5a/subset__sum_8cpp.html#a7cb50d36a59427a33f64a266dac83d99":[11,0,0,10,1], +"d2/d5a/subset__sum_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,0,10,2], +"d2/d5a/subset__sum_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,0,10,0], +"d2/d5a/subset__sum_8cpp_source.html":[11,0,0,10], +"d2/d64/prims__minimum__spanning__tree_8cpp_source.html":[11,0,11,9], +"d2/d7d/egg__dropping__puzzle_8cpp_source.html":[11,0,6,9], +"d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d.html":[10,0,16,0,0], +"d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d.html#a0579062b384e54b611b80c6337c7f2c8":[10,0,16,0,0,3], +"d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d.html#a1b336474d17eff1aa4be73d4068dc725":[10,0,16,0,0,10], +"d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d.html#a2dfbda148aad0bfaba2ebfda9ebc915a":[10,0,16,0,0,4], +"d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d.html#a4dfbf5d9df825eeb63b294c6849bdcab":[10,0,16,0,0,6], +"d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d.html#a6e486767434e44076c1ac374a22da726":[10,0,16,0,0,0], +"d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d.html#a722cc7cf2c3e4d15583601a48b09776f":[10,0,16,0,0,11], +"d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d.html#a7d5b40c076347a6aabfb37a0590f2f24":[10,0,16,0,0,1], +"d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d.html#a84424f180f12b514eaab57a6aa20b104":[10,0,16,0,0,8], +"d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d.html#a9f1cb54ed09fde931bf3220d75ee4c57":[10,0,16,0,0,7], +"d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d.html#aa86a91ae0cd7898990a8170a2f2c9cda":[10,0,16,0,0,9], +"d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d.html#ae9e979edd69678b85665c01e2ee97828":[10,0,16,0,0,5], +"d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d.html#af64848d6630c39d0f09ce2359cc7c4f8":[10,0,16,0,0,2], +"d2/d90/namespacegreedy__algorithms.html":[9,0,42], +"d2/d90/namespacegreedy__algorithms.html#a33e3819aa9ffec0e380383c52603b502":[9,0,42,4], +"d2/d90/namespacegreedy__algorithms.html#a349e4ab9a97532c3931a2bd2a19c0098":[9,0,42,5], +"d2/d96/sparse__table__range__queries_8cpp_source.html":[11,0,20,6], +"d2/d9a/structothers_1_1iterative__tree__traversals_1_1_node.html":[10,0,13,1,1], +"d2/d9a/structothers_1_1iterative__tree__traversals_1_1_node.html#a1dbaeff928e469a05251879568515b8e":[10,0,13,1,1,1], +"d2/d9a/structothers_1_1iterative__tree__traversals_1_1_node.html#ad443d44275337b9e361375ce66f1104f":[10,0,13,1,1,0], +"d2/d9a/structothers_1_1iterative__tree__traversals_1_1_node.html#af19e39acfc18b823be9d4879a20e1143":[10,0,13,1,1,2], +"d2/da2/matrix__chain__multiplication_8cpp_source.html":[11,0,6,19], +"d2/da7/namespacefind__non__repeating__integer.html":[9,0,33], +"d2/daa/classgreedy__algorithms_1_1dijkstra_1_1_graph.html":[9,0,42,0,0], +"d2/daa/classgreedy__algorithms_1_1dijkstra_1_1_graph.html":[10,0,7,0,0], +"d2/daa/classgreedy__algorithms_1_1dijkstra_1_1_graph.html#a224b6efacbad55d59e11b046f792fe79":[9,0,42,0,0,1], +"d2/daa/classgreedy__algorithms_1_1dijkstra_1_1_graph.html#a224b6efacbad55d59e11b046f792fe79":[10,0,7,0,0,1], +"d2/daa/classgreedy__algorithms_1_1dijkstra_1_1_graph.html#afefaeb247734a7c64bd04e68e3c1c4bc":[9,0,42,0,0,0], +"d2/daa/classgreedy__algorithms_1_1dijkstra_1_1_graph.html#afefaeb247734a7c64bd04e68e3c1c4bc":[10,0,7,0,0,0], +"d2/db0/namespacesieve__of__eratosthenes.html":[9,0,111], +"d2/dc4/classstack__linked_list.html":[10,0,55], +"d2/dc8/classdata__structures_1_1_stack.html":[9,0,21,6], +"d2/dc8/classdata__structures_1_1_stack.html":[10,0,2,13], +"d2/dc8/classdata__structures_1_1_stack.html#a04e2e7cb58b2de6d3a15053bfaaf6080":[9,0,21,6,2], +"d2/dc8/classdata__structures_1_1_stack.html#a04e2e7cb58b2de6d3a15053bfaaf6080":[10,0,2,13,2] }; diff --git a/navtreeindex10.js b/navtreeindex10.js index f0f71ed0c..92ab2d7f2 100644 --- a/navtreeindex10.js +++ b/navtreeindex10.js @@ -1,253 +1,253 @@ var NAVTREEINDEX10 = { -"d9/dde/classbinary__search__tree.html#af4a865ce5244608819b169fc78a41153":[10,0,21,13], -"d9/dde/classbinary__search__tree.html#af9a2c7c187a7ca3142c77ce342ef3153":[10,0,21,6], -"d9/dde/structdouble__hashing_1_1_entry.html":[9,0,26,0], -"d9/dde/structdouble__hashing_1_1_entry.html":[10,0,4,0], -"d9/dde/structdouble__hashing_1_1_entry.html#a287b92112b6b43b34808a93778873475":[9,0,26,0,0], -"d9/dde/structdouble__hashing_1_1_entry.html#a287b92112b6b43b34808a93778873475":[10,0,4,0,0], -"d9/dde/structdouble__hashing_1_1_entry.html#ae114967c89dbba3b754dc4976bba3248":[9,0,26,0,1], -"d9/dde/structdouble__hashing_1_1_entry.html#ae114967c89dbba3b754dc4976bba3248":[10,0,4,0,1], -"d9/dec/unbounded__0__1__knapsack_8cpp.html":[11,0,6,17], -"d9/dec/unbounded__0__1__knapsack_8cpp.html#a1bcff7f76de48fa7f629480f8f18b5ef":[11,0,6,17,3], -"d9/dec/unbounded__0__1__knapsack_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e":[11,0,6,17,2], -"d9/dec/unbounded__0__1__knapsack_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,6,17,1], -"d9/dec/unbounded__0__1__knapsack_8cpp.html#afe447a5979582174908695952c8a079c":[11,0,6,17,0], -"d9/dee/classdouble__linked__list.html":[10,0,29], -"d9/def/namespacesublist__search.html":[9,0,125], -"d9/df0/fast__integer__input_8cpp.html":[11,0,17,4], -"d9/df0/fast__integer__input_8cpp.html#a4e097ac8509b717bdc8ab09ecd86ae82":[11,0,17,4,0], -"d9/df0/fast__integer__input_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,17,4,1], -"d9/df4/namespacetests.html":[9,0,129], -"d9/df4/namespacetests.html#a167c24bd817469ae47358d12e034f2d5":[9,0,129,0], -"d9/df4/namespacetests.html#a2b9769e44683dcb67fe1083ad91e134d":[9,0,129,3], -"d9/df4/namespacetests.html#aa515639572647508b94986489aab6d76":[9,0,129,2], -"d9/df4/namespacetests.html#aacafde185abd8670abee51157f273dc2":[9,0,129,5], -"d9/df4/namespacetests.html#abdd77344d4af8fd56d14a5cabbf2f669":[9,0,129,1], -"d9/df4/namespacetests.html#af7b81d7a1534216af6a36a80135beb86":[9,0,129,4], -"d9/df7/structothers_1_1recursive__tree__traversals_1_1_node.html":[10,0,13,4,1], -"d9/df7/structothers_1_1recursive__tree__traversals_1_1_node.html#a59cc94ba784aeaefec2e915ddfdb1ade":[10,0,13,4,1,0], -"d9/df7/structothers_1_1recursive__tree__traversals_1_1_node.html#a5a8a7bc2d2f847994220ae9e0b60fff3":[10,0,13,4,1,1], -"d9/df7/structothers_1_1recursive__tree__traversals_1_1_node.html#ab875304781a4eb9661c0931a6f1fae83":[10,0,13,4,1,2], -"d9/dfd/comb__sort_8cpp.html":[11,0,22,3], -"d9/dfd/comb__sort_8cpp.html#a0f4e7569090083fb53d5cdeaf0e2974f":[11,0,22,3,0], -"d9/dfd/comb__sort_8cpp.html#a88ec9ad42717780d6caaff9d3d6977f9":[11,0,22,3,3], -"d9/dfd/comb__sort_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,22,3,2], -"d9/dfd/comb__sort_8cpp.html#aede08143e63105faba10e9ee8e745fd5":[11,0,22,3,1], -"da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search.html":[10,0,10,0,0], -"da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search.html#a0a26aa9ad3d73707370d9fe83707aca4":[10,0,10,0,0,5], -"da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search.html#a48284e156fdd48fd0c41008c7e48f201":[10,0,10,0,0,4], -"da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search.html#abaff2ea6d309e1133fd95bbd1e39946e":[10,0,10,0,0,3], -"da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search.html#acd897e6e519849edb9fb0d1e1bfa881a":[10,0,10,0,0,2], -"da/d0d/longest__common__string_8cpp.html":[11,0,6,8], -"da/d0d/longest__common__string_8cpp.html#a23ab67b0d9600697695fc8679462d8fe":[11,0,6,8,6], -"da/d0d/longest__common__string_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e":[11,0,6,8,8], -"da/d0d/longest__common__string_8cpp.html#a967854a526bc15403d783a033155fc5c":[11,0,6,8,1], -"da/d0d/longest__common__string_8cpp.html#a9b229daad982a186a4d8d90aa8f38561":[11,0,6,8,5], -"da/d0d/longest__common__string_8cpp.html#aa38b6b17bc5d46ed88acdd8414e18fa5":[11,0,6,8,2], -"da/d0d/longest__common__string_8cpp.html#acb03dbbcee6d607db471021168be8541":[11,0,6,8,4], -"da/d0d/longest__common__string_8cpp.html#ad1e613c1b85cc04ed931b6c745fec155":[11,0,6,8,7], -"da/d0d/longest__common__string_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,6,8,3], -"da/d16/structoperations__on__datastructures_1_1circular__linked__list_1_1_node.html":[10,0,12,0,1], -"da/d16/structoperations__on__datastructures_1_1circular__linked__list_1_1_node.html#a005dc56b0c58350a13f4796b9b30b6c5":[10,0,12,0,1,0], -"da/d16/structoperations__on__datastructures_1_1circular__linked__list_1_1_node.html#a12a06eef5ccaf667f319506eee655d95":[10,0,12,0,1,1], -"da/d16/structoperations__on__datastructures_1_1circular__linked__list_1_1_node.html#a7461292b8b91aed86404d0ab019dfdd1":[10,0,12,0,1,2], -"da/d16/structoperations__on__datastructures_1_1circular__linked__list_1_1_node.html#a7c867b8e1034a6f5da490c8b8c09cb77":[10,0,12,0,1,3], -"da/d18/quadratic__equations__complex__numbers_8cpp.html":[11,0,14,49], -"da/d18/quadratic__equations__complex__numbers_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,14,49,3], -"da/d18/quadratic__equations__complex__numbers_8cpp.html#aacb1411ef2029e81f249c21e17c96fdb":[11,0,14,49,2], -"da/d18/quadratic__equations__complex__numbers_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,14,49,1], -"da/d18/quadratic__equations__complex__numbers_8cpp.html#af7a6d4e3dc85a6288c8f1f7094830c5a":[11,0,14,49,0], -"da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution.html":[10,0,14,0,0], -"da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution.html#a08328dc7d62188427111f176b56a105a":[10,0,14,0,0,1], -"da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution.html#a0a10c512e13dd3a052e1c6d7f4d6f0f2":[10,0,14,0,0,7], -"da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution.html#a41051365f8ac7700f2ed5880a6760413":[10,0,14,0,0,3], -"da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution.html#a4620163a196709484225774d87de6d69":[10,0,14,0,0,6], -"da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution.html#a8aae1cebcf42ed2332f1c7217c401aa3":[10,0,14,0,0,2], -"da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution.html#aa12088ba133dd0910103db0eb0ef2797":[10,0,14,0,0,0], -"da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution.html#aaf762e88c66918d7afda4234f28a7ddf":[10,0,14,0,0,4], -"da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution.html#ad5ed23a251dbe55ad1ed06bf1a465ad3":[10,0,14,0,0,9], -"da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution.html#aea8b0d649f0dc9a6f8baf3341a0b4960":[10,0,14,0,0,8], -"da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution.html#aee973db9f0435e0cb4cc70f8eb3447a1":[10,0,14,0,0,5], -"da/d21/class_longest___substring.html":[10,0,41], -"da/d21/class_longest___substring.html#af8a3672bc8d95e7da4f9a45e5e2e387d":[10,0,41,0], -"da/d23/eulers__totient__function_8cpp.html":[11,0,14,11], -"da/d23/eulers__totient__function_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97":[11,0,14,11,0], -"da/d23/eulers__totient__function_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,14,11,2], -"da/d23/eulers__totient__function_8cpp.html#ac37d3ba52eb296597d7a024ba8c4a5a5":[11,0,14,11,1], -"da/d24/sqrt__double_8cpp.html":[11,0,14,52], -"da/d24/sqrt__double_8cpp.html#ae662282ad0740d2063ac404ca3bd74fc":[11,0,14,52,1], -"da/d24/sqrt__double_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,14,52,0], -"da/d37/structdata__structures_1_1sparse__table_1_1_sparse__table.html":[10,0,2,3,0], -"da/d37/structdata__structures_1_1sparse__table_1_1_sparse__table.html#a0c8cbe7239232863f104793c08273039":[10,0,2,3,0,0], -"da/d37/structdata__structures_1_1sparse__table_1_1_sparse__table.html#a6cf72f93b1551f0d943c585b4f173be3":[10,0,2,3,0,2], -"da/d37/structdata__structures_1_1sparse__table_1_1_sparse__table.html#ab78620742305a35ff2f8d61179f47d3e":[10,0,2,3,0,1], -"da/d37/structdata__structures_1_1sparse__table_1_1_sparse__table.html#ad36b9a20fed47b068e407008c04e9f81":[10,0,2,3,0,4], -"da/d37/structdata__structures_1_1sparse__table_1_1_sparse__table.html#ad71ecd43d0af1127df5f4006258f9635":[10,0,2,3,0,3], -"da/d39/volume_8cpp.html":[11,0,14,57], -"da/d39/volume_8cpp.html#a2d704a7b72a6b2db8b76c8581b577b2c":[11,0,14,57,8], -"da/d39/volume_8cpp.html#a34d66a77c19ce9b8b3a3d14352b34551":[11,0,14,57,6], -"da/d39/volume_8cpp.html#a3fdc74c24697ec5bb5c3698c96117c12":[11,0,14,57,5], -"da/d39/volume_8cpp.html#a3fe35440c27758ecc2287e08217d63a7":[11,0,14,57,0], -"da/d39/volume_8cpp.html#a94db02b3c9e55a69ac1696f30e2f761c":[11,0,14,57,4], -"da/d39/volume_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,14,57,7], -"da/d39/volume_8cpp.html#abde24398be43538c62e4a496968e60ca":[11,0,14,57,2], -"da/d39/volume_8cpp.html#ae413098478fa38acaac887b7654f0725":[11,0,14,57,1], -"da/d39/volume_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,14,57,3], -"da/d41/uint128__t_8hpp.html":[11,0,2,6], -"da/d41/uint128__t_8hpp.html#a3ff77262ffd6743df5b808d41382a6f3":[11,0,2,6,5], -"da/d41/uint128__t_8hpp.html#acce684d03a24f9c13a9ed36de6d24a57":[11,0,2,6,4], -"da/d41/uint128__t_8hpp_source.html":[11,0,2,6], -"da/d42/namespacestd_1_1rel__ops.html":[9,0,118,3], -"da/d49/classgreedy__algorithms_1_1_digit_separation.html":[9,0,42,3], -"da/d49/classgreedy__algorithms_1_1_digit_separation.html":[10,0,7,2], -"da/d49/classgreedy__algorithms_1_1_digit_separation.html#a1809ae6828223999374bde5b197a59c8":[9,0,42,3,1], -"da/d49/classgreedy__algorithms_1_1_digit_separation.html#a1809ae6828223999374bde5b197a59c8":[10,0,7,2,1], -"da/d49/classgreedy__algorithms_1_1_digit_separation.html#a34769a780845e9d4279152899bd3bf79":[9,0,42,3,2], -"da/d49/classgreedy__algorithms_1_1_digit_separation.html#a34769a780845e9d4279152899bd3bf79":[10,0,7,2,2], -"da/d49/classgreedy__algorithms_1_1_digit_separation.html#afd54c969a6c9bab16b4a064fbc8ed40e":[9,0,42,3,0], -"da/d49/classgreedy__algorithms_1_1_digit_separation.html#afd54c969a6c9bab16b4a064fbc8ed40e":[10,0,7,2,0], -"da/d4b/depth__first__search__with__stack_8cpp.html":[11,0,9,5], -"da/d4b/depth__first__search__with__stack_8cpp.html#a330a2b0a904f01802ada1f8f3b28e76c":[11,0,9,5,6], -"da/d4b/depth__first__search__with__stack_8cpp.html#a43e30173f12330e85cce6239a277527e":[11,0,9,5,5], -"da/d4b/depth__first__search__with__stack_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e":[11,0,9,5,3], -"da/d4b/depth__first__search__with__stack_8cpp.html#a5738da9f508f6a9e87f123c9fb6f2ea9":[11,0,9,5,1], -"da/d4b/depth__first__search__with__stack_8cpp.html#a7f1cd94cf4da32933e8551cb3577e18b":[11,0,9,5,4], -"da/d4b/depth__first__search__with__stack_8cpp.html#aadebe9c855821d6515ca5b171222ef7b":[11,0,9,5,0], -"da/d4b/depth__first__search__with__stack_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,9,5,2], -"da/d4b/depth__first__search__with__stack_8cpp.html#afb80b42b42381658a12a57a975ecd0c7":[11,0,9,5,7], -"da/d50/count__of__trailing__ciphers__in__factorial__n_8cpp.html":[11,0,1,2], -"da/d50/count__of__trailing__ciphers__in__factorial__n_8cpp.html#a0d5e1d651d0d30bd682f176d8f2b83d0":[11,0,1,2,1], -"da/d50/count__of__trailing__ciphers__in__factorial__n_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,1,2,2], -"da/d50/count__of__trailing__ciphers__in__factorial__n_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,1,2,0], -"da/d52/minimum__edit__distance_8cpp.html":[11,0,6,12], -"da/d52/minimum__edit__distance_8cpp.html#a0138c226bd79ffe6d839c787cfc60347":[11,0,6,12,2], -"da/d52/minimum__edit__distance_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97":[11,0,6,12,1], -"da/d52/minimum__edit__distance_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,6,12,3], -"da/d52/minimum__edit__distance_8cpp.html#ade2fcfe0359f3c7691bfaa04b14943e2":[11,0,6,12,0], -"da/d5a/class_complex.html":[10,0,27], -"da/d5a/class_complex.html#a312e4b19146128408fb06e0150b0faf6":[10,0,27,11], -"da/d5a/class_complex.html#a36739619a07b5478bcd8a28ad2f8b7da":[10,0,27,7], -"da/d5a/class_complex.html#a3cfc522c782726f49ee20af17b77f867":[10,0,27,0], -"da/d5a/class_complex.html#a466cd7b664cc6a864937ceb3dead1323":[10,0,27,1], -"da/d5a/class_complex.html#a4ac9f529d54cacf2969f2c7179b4c4ac":[10,0,27,9], -"da/d5a/class_complex.html#a820afcbb330df716577459d7a3aa3a1c":[10,0,27,6], -"da/d5a/class_complex.html#a8d5427f6c42c15283031d73e1418c59d":[10,0,27,10], -"da/d5a/class_complex.html#aa9b4a7d6083ca7040ddd4fe93db5c19d":[10,0,27,5], -"da/d5a/class_complex.html#ac38437c10eb798f176c384a695171b90":[10,0,27,8], -"da/d5a/class_complex.html#ae1e03712837450549e0c9b4017533a41":[10,0,27,3], -"da/d5a/class_complex.html#ae5b51b749ea4964104b9527af9d8f556":[10,0,27,2], -"da/d5a/class_complex.html#af8aacf982e2e6c142921bc850f6dc974":[10,0,27,4], -"da/d61/structsearch_1_1sublist__search_1_1_node.html":[10,0,17,0,0], -"da/d61/structsearch_1_1sublist__search_1_1_node.html#a912ae0b339da401fc33ad21494c60e2b":[10,0,17,0,0,0], -"da/d61/structsearch_1_1sublist__search_1_1_node.html#afe96e03dd6a404480ab43d1e88363a7a":[10,0,17,0,0,1], -"da/d6d/namespaceoperations__on__datastructures.html":[9,0,87], -"da/d6d/namespaceoperations__on__datastructures.html#a1bfb8711f49e591eb168ccaa3df6fb86":[9,0,87,4], -"da/d6d/namespaceoperations__on__datastructures.html#a2b8ff06a84b041457873840bf82e2d74":[9,0,87,1], -"da/d6d/namespaceoperations__on__datastructures.html#a6109193567a5b7e36a27f2b4865fce20":[9,0,87,2], -"da/d6d/namespaceoperations__on__datastructures.html#adaf9a06f0c236c2d95c97e441ea2d12e":[9,0,87,0], -"da/d6d/namespaceoperations__on__datastructures.html#afce39cf843989a39811a49ebe29dd6d8":[9,0,87,3], -"da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html":[10,0,10,0,0,1], -"da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html#a003a30bb165be50ce503c17df90c128d":[10,0,10,0,0,1,8], -"da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html#a331d1070d008a4f9d55775a51013baa3":[10,0,10,0,0,1,9], -"da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html#a572de12115e39e34dde6e68b707d59f5":[10,0,10,0,0,1,3], -"da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html#a695e4314ebc3ab58e13004dc63599fe8":[10,0,10,0,0,1,1], -"da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html#a6abc89925ae7055a63b428e61525ad7a":[10,0,10,0,0,1,4], -"da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html#aa816af5a64b37c86be8acda89fdefba2":[10,0,10,0,0,1,5], -"da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html#aaa7ea27346659f0abe2df82ca57fc5a7":[10,0,10,0,0,1,0], -"da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html#ac77d992953fa0de10a755e5a9aa06317":[10,0,10,0,0,1,6], -"da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html#ad3950824936488f66408313b1f8a8ca8":[10,0,10,0,0,1,2], -"da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html#ad3993dbca9c5b3ef9ac361dc7f62ce57":[10,0,10,0,0,1,7], -"da/d77/spirograph_8cpp.html":[11,0,10,0], -"da/d77/spirograph_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627":[11,0,10,0,1], -"da/d77/spirograph_8cpp.html#a525335710b53cb064ca56b936120431e":[11,0,10,0,0], -"da/d77/spirograph_8cpp.html#a8e83a64e8443fff1e5ffdc1c299c1e99":[11,0,10,0,3], -"da/d77/spirograph_8cpp.html#aeca22dbe4563358960e907a40cd3e1ac":[11,0,10,0,2], -"da/d7b/primality__test_8cpp.html":[11,0,17,18], -"da/d7b/primality__test_8cpp.html#a2bfa6adead2bdcbf1dac94cbe08d7eaf":[11,0,17,18,0], -"da/d7b/primality__test_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,17,18,1], -"da/d82/namespacecycle__detection.html":[9,0,19], -"da/d86/struct_test_case.html":[10,0,56], -"da/d8d/depth__first__search_8cpp.html":[11,0,9,4], -"da/d8d/depth__first__search_8cpp.html#a64c1db5aad7502c6f08e4652f6edd463":[11,0,9,4,2], -"da/d8d/depth__first__search_8cpp.html#ab5428a3519267a28bba4b4310cfbb6ae":[11,0,9,4,1], -"da/d8d/depth__first__search_8cpp.html#ad4016cfc80485a43748895a2c26c7d08":[11,0,9,4,0], -"da/d8d/depth__first__search_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,9,4,3], -"da/d94/classmachine__learning_1_1k__nearest__neighbors_1_1_knn.html":[10,0,10,1,0], -"da/d94/classmachine__learning_1_1k__nearest__neighbors_1_1_knn.html#a080f5b1742832a03c1cbba596a48bd1a":[10,0,10,1,0,4], -"da/d94/classmachine__learning_1_1k__nearest__neighbors_1_1_knn.html#a16ddc13621eec6ac5f83658b3401a581":[10,0,10,1,0,7], -"da/d94/classmachine__learning_1_1k__nearest__neighbors_1_1_knn.html#a188d29ffcefdb5900a8cd41eccd89200":[10,0,10,1,0,0], -"da/d94/classmachine__learning_1_1k__nearest__neighbors_1_1_knn.html#a209383503fb6c03afac405a80bace964":[10,0,10,1,0,8], -"da/d94/classmachine__learning_1_1k__nearest__neighbors_1_1_knn.html#a4b17dcf17c847f0295b60029512c120e":[10,0,10,1,0,2], -"da/d94/classmachine__learning_1_1k__nearest__neighbors_1_1_knn.html#a62e152db014cd4de675fa906e5ef2861":[10,0,10,1,0,6], -"da/d94/classmachine__learning_1_1k__nearest__neighbors_1_1_knn.html#a9f5885c40112481ae5b588fe81d7910b":[10,0,10,1,0,1], -"da/d94/classmachine__learning_1_1k__nearest__neighbors_1_1_knn.html#ac06986d5afddc767ddba4da738f75563":[10,0,10,1,0,5], -"da/d94/classmachine__learning_1_1k__nearest__neighbors_1_1_knn.html#afe732a33112b457b738f403622d226e5":[10,0,10,1,0,3], -"da/d9a/class_graph.html":[10,0,34], -"da/d9a/class_graph.html#a5a090e1a63a5c47bdd1a539b21f7fd1d":[10,0,34,6], -"da/d9a/class_graph.html#a8c95e00effaea0cd9404dd74cd802ae3":[10,0,34,1], -"da/d9a/class_graph.html#a8dcb5ce0b4a6f65827f5055d9d53a3f1":[10,0,34,7], -"da/d9a/class_graph.html#aa99d44d3179d5bbbfa84a5031cf80cb1":[10,0,34,2], -"da/d9a/class_graph.html#ac5a4d9a4f894a179198936042c778413":[10,0,34,5], -"da/d9a/class_graph.html#ac85c63bcca4764a621f9f8609a8e5910":[10,0,34,4], -"da/d9a/class_graph.html#adcbd1b60cab30b97c54d700eee8e456d":[10,0,34,0], -"da/d9a/class_graph.html#af765dda8f21280e1cecea19e129f1bc5":[10,0,34,3], -"da/d9a/palindrome__of__number_8cpp.html":[11,0,17,14], -"da/d9a/palindrome__of__number_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,17,14,0], -"da/d9c/namespacegames.html":[9,0,34], -"da/da3/uint256__t_8hpp.html":[11,0,2,7], -"da/da3/uint256__t_8hpp.html#a1d8c5ec5b5e419c5c8a740251485102c":[11,0,2,7,4], -"da/da3/uint256__t_8hpp_source.html":[11,0,2,7], -"da/dac/n__queens__all__solution__optimised_8cpp.html":[11,0,0,5], -"da/dac/n__queens__all__solution__optimised_8cpp.html#a04090463be4942a69ea91fe7386da905":[11,0,0,5,3], -"da/dac/n__queens__all__solution__optimised_8cpp.html#a23c0547e4fd1708e6fb643b08327a60f":[11,0,0,5,2], -"da/dac/n__queens__all__solution__optimised_8cpp.html#a9e48455584a4faa33e83dd1891efd9b9":[11,0,0,5,0], -"da/dac/n__queens__all__solution__optimised_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,0,5,1], -"da/db8/count__of__set__bits_8cpp.html":[11,0,1,1], -"da/db8/count__of__set__bits_8cpp.html#a86c98dc299e4db28b73e08309d977e62":[11,0,1,1,0], -"da/db8/count__of__set__bits_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,1,1,1], -"da/dc3/linked__list_8cpp.html":[11,0,4,9], -"da/dc3/linked__list_8cpp.html#ab1a372fe1e605bc0e0987dcdd7361180":[11,0,4,9,2], -"da/dc3/linked__list_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,4,9,3], -"da/dc9/fibonacci__matrix__exponentiation_8cpp.html":[11,0,14,18], -"da/dc9/fibonacci__matrix__exponentiation_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,14,18,2], -"da/dc9/fibonacci__matrix__exponentiation_8cpp.html#abc3bc08249058d57cfc8f54a29d9cf9f":[11,0,14,18,0], -"da/dc9/fibonacci__matrix__exponentiation_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,14,18,1], -"da/dd1/structquadratic__probing_1_1_entry.html":[9,0,96,0], -"da/dd1/structquadratic__probing_1_1_entry.html":[10,0,15,0], -"da/dd1/structquadratic__probing_1_1_entry.html#a75f72858f08a2fc8b94402de98db12d8":[9,0,96,0,1], -"da/dd1/structquadratic__probing_1_1_entry.html#a75f72858f08a2fc8b94402de98db12d8":[10,0,15,0,1], -"da/dd1/structquadratic__probing_1_1_entry.html#a9df1118010a233d13ab3dd699bcb513e":[9,0,96,0,0], -"da/dd1/structquadratic__probing_1_1_entry.html#a9df1118010a233d13ab3dd699bcb513e":[10,0,15,0,0], -"da/dd3/karatsuba__algorithm__for__fast__multiplication_8cpp.html":[11,0,5,0], -"da/dd3/karatsuba__algorithm__for__fast__multiplication_8cpp.html#a7a890d2f26855ada3b9f1d43aec70a86":[11,0,5,0,1], -"da/dd3/karatsuba__algorithm__for__fast__multiplication_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,5,0,4], -"da/dd3/karatsuba__algorithm__for__fast__multiplication_8cpp.html#aad9e3edfe156b59fc06a5585403fe0d6":[11,0,5,0,3], -"da/dd3/karatsuba__algorithm__for__fast__multiplication_8cpp.html#ad76f5cac3ef8dc034f6abb99b64c2b20":[11,0,5,0,0], -"da/dd3/karatsuba__algorithm__for__fast__multiplication_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,5,0,2], -"da/dd3/namespacespirograph.html":[9,0,115], -"da/dd3/namespacespirograph.html#a8e83a64e8443fff1e5ffdc1c299c1e99":[9,0,115,1], -"da/dd3/namespacespirograph.html#aeca22dbe4563358960e907a40cd3e1ac":[9,0,115,0], -"da/dd4/namespacemedian__search.html":[9,0,71], -"da/dda/namespaceradix__sort.html":[9,0,99], -"da/de7/decimal__to__hexadecimal_8cpp.html":[11,0,17,2], -"da/de7/decimal__to__hexadecimal_8cpp.html#a840291bc02cba5474a4cb46a9b9566fe":[11,0,17,2,0], -"da/de8/dijkstra__greedy_8cpp.html":[11,0,11,3], -"da/de8/dijkstra__greedy_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e":[11,0,11,3,5], -"da/de8/dijkstra__greedy_8cpp.html#a7341d7c76a6145e991cdd231f689fca8":[11,0,11,3,4], -"da/de8/dijkstra__greedy_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,11,3,2], -"da/de8/dijkstra__greedy_8cpp.html#af6cb29ca6dc5771439f6ea7262058a71":[11,0,11,3,3], -"da/de8/dijkstra__greedy_8cpp.html#af915876d0ca33cc71a6a6191a8cd3ccd":[11,0,11,3,1], -"da/df2/durand__kerner__roots_8cpp.html":[11,0,15,4], -"da/df2/durand__kerner__roots_8cpp.html#a024b8bc4755863315456d573a6732377":[11,0,15,4,1], -"da/df2/durand__kerner__roots_8cpp.html#a0283886819c7c140a023582b7269e2d0":[11,0,15,4,6], -"da/df2/durand__kerner__roots_8cpp.html#a1440a7779ac56f47a3f355ce4a8c7da0":[11,0,15,4,5], -"da/df2/durand__kerner__roots_8cpp.html#a2c35b320ace8677f9b331faf94f8b2fd":[11,0,15,4,3], -"da/df2/durand__kerner__roots_8cpp.html#a90219e35062007d1f1b68e9af071ab5c":[11,0,15,4,2], -"da/df2/durand__kerner__roots_8cpp.html#ae2ab49ba1969d7a5988f9bc2c8924569":[11,0,15,4,4], -"da/df2/durand__kerner__roots_8cpp.html#af270a96662132d0385cb6b4637c5a689":[11,0,15,4,0], -"db/d01/brent__method__extrema_8cpp.html":[11,0,15,2], -"db/d01/brent__method__extrema_8cpp.html#a002b2f4894492820fe708b1b7e7c5e70":[11,0,15,2,1], -"db/d01/brent__method__extrema_8cpp.html#a0283886819c7c140a023582b7269e2d0":[11,0,15,2,5], -"db/d01/brent__method__extrema_8cpp.html#a1440a7779ac56f47a3f355ce4a8c7da0":[11,0,15,2,4] +"db/d3c/tower__of__hanoi_8cpp.html#af4cfc41e546f1f8d25f01e0804e8b61d":[11,0,17,25,2], +"db/d3c/tower__of__hanoi_8cpp_source.html":[11,0,17,25], +"db/d3f/wave__sort_8cpp.html":[11,0,23,41], +"db/d3f/wave__sort_8cpp.html#a7d4f243b9dc13ace4ef77e30dbc56f12":[11,0,23,41,2], +"db/d3f/wave__sort_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,23,41,1], +"db/d3f/wave__sort_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,23,41,0], +"db/d3f/wave__sort_8cpp_source.html":[11,0,23,41], +"db/d40/integral__approximation2_8cpp.html":[11,0,14,26], +"db/d40/integral__approximation2_8cpp.html#a71249ee535f16f8ed2e9cc8f0199a2cf":[11,0,14,26,0], +"db/d40/integral__approximation2_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,14,26,3], +"db/d40/integral__approximation2_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,14,26,2], +"db/d40/integral__approximation2_8cpp.html#af7da9ba8932f1f48b9bbc2d80471af51":[11,0,14,26,1], +"db/d40/integral__approximation2_8cpp_source.html":[11,0,14,26], +"db/d5b/structdata__structures_1_1stack__using__queue_1_1_stack.html":[10,0,2,4,0], +"db/d5b/structdata__structures_1_1stack__using__queue_1_1_stack.html#a2f80f87fc6f6ded938426698bba89323":[10,0,2,4,0,4], +"db/d5b/structdata__structures_1_1stack__using__queue_1_1_stack.html#a5540434e1b41245205eee86f664906f7":[10,0,2,4,0,3], +"db/d5b/structdata__structures_1_1stack__using__queue_1_1_stack.html#abdd461689df4983a3ad3b05d853cf5eb":[10,0,2,4,0,0], +"db/d5b/structdata__structures_1_1stack__using__queue_1_1_stack.html#ac0ddec9ab8f778dad23ec446d7a77b39":[10,0,2,4,0,2], +"db/d5b/structdata__structures_1_1stack__using__queue_1_1_stack.html#acf8ca54d5dd6676f255fff3dedacc7c6":[10,0,2,4,0,6], +"db/d5b/structdata__structures_1_1stack__using__queue_1_1_stack.html#af04a8f3536a52d8c9916086b656eefc2":[10,0,2,4,0,1], +"db/d5b/structdata__structures_1_1stack__using__queue_1_1_stack.html#afdfd2f4418c70b1bda50f2c3e416d80b":[10,0,2,4,0,5], +"db/d66/struct_item.html":[10,0,36], +"db/d6b/kelvin__to__celsius_8cpp.html":[11,0,17,9], +"db/d6b/kelvin__to__celsius_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e":[11,0,17,9,3], +"db/d6b/kelvin__to__celsius_8cpp.html#a48677fae5d683070432b1a905722d9ec":[11,0,17,9,1], +"db/d6b/kelvin__to__celsius_8cpp.html#aa17dc6d061dff34f6b9a610bc5e26703":[11,0,17,9,0], +"db/d6b/kelvin__to__celsius_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,17,9,2], +"db/d6b/kelvin__to__celsius_8cpp_source.html":[11,0,17,9], +"db/d6f/namespaceheavy__light__decomposition.html":[9,0,46], +"db/d71/quadratic__probing__hash__table_8cpp.html":[11,0,12,4], +"db/d71/quadratic__probing__hash__table_8cpp.html#a00ebcc6d39653eccc26f8432efbfc8d9":[11,0,12,4,1], +"db/d71/quadratic__probing__hash__table_8cpp.html#a07a0467b24102260fbb6b554c453c20a":[11,0,12,4,11], +"db/d71/quadratic__probing__hash__table_8cpp.html#a2093d91dd3d377cf0a5c939e45dcefc7":[11,0,12,4,5], +"db/d71/quadratic__probing__hash__table_8cpp.html#a312143ed316d48978084c025ff8d9768":[11,0,12,4,2], +"db/d71/quadratic__probing__hash__table_8cpp.html#a40d617ebf4d6ba21bcda8d8d1faa2357":[11,0,12,4,3], +"db/d71/quadratic__probing__hash__table_8cpp.html#a5ceee4128d92ca4412040b7104d1299d":[11,0,12,4,4], +"db/d71/quadratic__probing__hash__table_8cpp.html#a69fe1f7c36fe004ba83eef2ca82e7e30":[11,0,12,4,10], +"db/d71/quadratic__probing__hash__table_8cpp.html#ab431981b54c0bae1b2956f716aee1dcf":[11,0,12,4,8], +"db/d71/quadratic__probing__hash__table_8cpp.html#ada6f1f44f7e83b0094fbcbe170788486":[11,0,12,4,9], +"db/d71/quadratic__probing__hash__table_8cpp.html#adccc63a7e57cc6dba75bd62f40feb88b":[11,0,12,4,7], +"db/d71/quadratic__probing__hash__table_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,12,4,6], +"db/d71/quadratic__probing__hash__table_8cpp.html#aeb6bca8db4768226f8ea8291ea4f83f6":[11,0,12,4,12], +"db/d71/quadratic__probing__hash__table_8cpp_source.html":[11,0,12,4], +"db/d80/gale__shapley_8cpp.html":[11,0,11,4], +"db/d80/gale__shapley_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e":[11,0,11,4,2], +"db/d80/gale__shapley_8cpp.html#a6d7e84df47dcf19e88f95f8f9040306c":[11,0,11,4,0], +"db/d80/gale__shapley_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,11,4,1], +"db/d80/gale__shapley_8cpp_source.html":[11,0,11,4], +"db/d82/classlarge__number.html":[10,0,37], +"db/d82/classlarge__number.html#a0b1efd203274e38a67b78937dfb9b872":[10,0,37,2], +"db/d82/classlarge__number.html#a10119a83839e65962621b73df46a5337":[10,0,37,0], +"db/d82/classlarge__number.html#a13282908dfc4888392ed3d1fc6aae492":[10,0,37,17], +"db/d82/classlarge__number.html#a2f5571e66305cf68bb8283e4aeda58bc":[10,0,37,6], +"db/d82/classlarge__number.html#a4757697b1f7584b69e779a72abc4ae2a":[10,0,37,9], +"db/d82/classlarge__number.html#a60c436d1a1c5e3795d6177d3815ad615":[10,0,37,4], +"db/d82/classlarge__number.html#a72ae1ef050c4c28c50952ecab22d4b94":[10,0,37,15], +"db/d82/classlarge__number.html#a76ddf1ed1b00fb8c107ea56f7f91e42f":[10,0,37,3], +"db/d82/classlarge__number.html#a771e9b28cfddf1ad94668566e396e350":[10,0,37,8], +"db/d82/classlarge__number.html#a7ba872b9a3ce1f3da6c06c5409663cca":[10,0,37,18], +"db/d82/classlarge__number.html#a8c381aa1ecc960cefd82ec72f59e0e08":[10,0,37,13], +"db/d82/classlarge__number.html#a8d4364ee5a62964451d8cfee82649687":[10,0,37,10], +"db/d82/classlarge__number.html#a959c5c1a982949bbf98e1ea0f9afe6a9":[10,0,37,14], +"db/d82/classlarge__number.html#aab5644405094740e34983cedfecb36cf":[10,0,37,11], +"db/d82/classlarge__number.html#ab84f29685709cbb3b6fd29b7b4a7bc7b":[10,0,37,12], +"db/d82/classlarge__number.html#abbd52948bee1b16543f1dae19aa9dd46":[10,0,37,16], +"db/d82/classlarge__number.html#ac09a05ec4aafb4d9e0b4440d6f0e2a93":[10,0,37,7], +"db/d82/classlarge__number.html#ae35a55607cf52c0b0d485f2129bd39ac":[10,0,37,5], +"db/d82/classlarge__number.html#af2b3ec9c35842d3a46ac7326f268af57":[10,0,37,19], +"db/d82/classlarge__number.html#af4598f1f2794b5e17e10c25e0501e41a":[10,0,37,1], +"db/d8b/struct_node.html":[10,0,45], +"db/d93/check__prime_8cpp.html":[11,0,14,8], +"db/d93/check__prime_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e":[11,0,14,8,2], +"db/d93/check__prime_8cpp.html#abd8f794b2229b42876169ff841b6e444":[11,0,14,8,0], +"db/d93/check__prime_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,14,8,1], +"db/d93/check__prime_8cpp_source.html":[11,0,14,8], +"db/d9a/classuint128__t.html":[10,0,60], +"db/d9a/classuint128__t.html#a0500a90bcde5a8254750c361eed9bc40":[10,0,60,18], +"db/d9a/classuint128__t.html#a07945fe010079a35e18812636d5c70c3":[10,0,60,37], +"db/d9a/classuint128__t.html#a0a4623fae71566dfcf2e742c8c156798":[10,0,60,42], +"db/d9a/classuint128__t.html#a0ad881643c707f6ae3c5de3822a8cb8a":[10,0,60,22], +"db/d9a/classuint128__t.html#a0ae5fc0c2bcc9138b32d7582466aa7f9":[10,0,60,65], +"db/d9a/classuint128__t.html#a0b6612186d8f678452e011d08ee1f5ac":[10,0,60,1], +"db/d9a/classuint128__t.html#a0fd125cc2b7702370a4aefa740d57606":[10,0,60,32], +"db/d9a/classuint128__t.html#a16e7e1211ba6c27e9a229d97fb0d9190":[10,0,60,50], +"db/d9a/classuint128__t.html#a16eb351c1d0ed3b89c771c63808e035a":[10,0,60,53], +"db/d9a/classuint128__t.html#a1d390c6ea5450680dcaff341235f0fed":[10,0,60,40], +"db/d9a/classuint128__t.html#a1ee2f1ffbd9984faad34883eb45e9705":[10,0,60,77], +"db/d9a/classuint128__t.html#a225146042c6456a3c5595645870ca640":[10,0,60,24], +"db/d9a/classuint128__t.html#a279209a184db20a7ffc8e687fdb05be2":[10,0,60,19], +"db/d9a/classuint128__t.html#a291d2787d668e8d06a7cfab0f5144440":[10,0,60,61], +"db/d9a/classuint128__t.html#a2ecb71686e1c9ed0267124580c91c414":[10,0,60,41], +"db/d9a/classuint128__t.html#a2fda65032d9fdbaf9142a6322654dbdd":[10,0,60,71], +"db/d9a/classuint128__t.html#a300ed88fe2054788cc6e0b6a8fdf66db":[10,0,60,47], +"db/d9a/classuint128__t.html#a3016b71f92a0c7e090a7c5b6a3935092":[10,0,60,29], +"db/d9a/classuint128__t.html#a3072a7e43da3600c345c81bc80c957ee":[10,0,60,45], +"db/d9a/classuint128__t.html#a312509b1c5b3ae5eaaf342f2ba131d03":[10,0,60,75], +"db/d9a/classuint128__t.html#a334bc710f411f108a0243b24ac73b481":[10,0,60,62], +"db/d9a/classuint128__t.html#a3c4a7e775a0820196fc08303bbeed44a":[10,0,60,57], +"db/d9a/classuint128__t.html#a3facc74d6d078604fe2c80d0abfd3304":[10,0,60,70], +"db/d9a/classuint128__t.html#a4147188abcdcdb12c61bfbe4e4c0a363":[10,0,60,5], +"db/d9a/classuint128__t.html#a43eafd4824666b413befe5edbc90ae7f":[10,0,60,76], +"db/d9a/classuint128__t.html#a44e472cf685cac6edc5172eac2e66860":[10,0,60,28], +"db/d9a/classuint128__t.html#a44fd2a4a4cc1d13f93ac222db5a46c67":[10,0,60,68], +"db/d9a/classuint128__t.html#a4562c218813c8705bccb25d8786ca77c":[10,0,60,52], +"db/d9a/classuint128__t.html#a488e65a14d4c32a096011aa4725cdb30":[10,0,60,27], +"db/d9a/classuint128__t.html#a5133f854a93efe47fd1f0f6a9589856d":[10,0,60,31], +"db/d9a/classuint128__t.html#a55a3f122c4d982c60c2eb9fc09b9e004":[10,0,60,35], +"db/d9a/classuint128__t.html#a56f579c802a6cc16f31e43af274453dc":[10,0,60,48], +"db/d9a/classuint128__t.html#a5f2ace9fdcd459f74f8e43ef30a2a953":[10,0,60,78], +"db/d9a/classuint128__t.html#a60bf2739c93bb1cd41654fd60c76ae6b":[10,0,60,3], +"db/d9a/classuint128__t.html#a6110aa452a6d114fcd2f42d2bc106fee":[10,0,60,72], +"db/d9a/classuint128__t.html#a6824700c9c732a4200e7493fe7ed0eec":[10,0,60,38], +"db/d9a/classuint128__t.html#a6d45302022ef7f5195458f41b8aedb6e":[10,0,60,11], +"db/d9a/classuint128__t.html#a6f24982de03e0e3d04ac7f8ae30f5848":[10,0,60,64], +"db/d9a/classuint128__t.html#a75767cb2b6fd47ecb1f721755fdc7639":[10,0,60,12], +"db/d9a/classuint128__t.html#a7737bb30a5480c7286546b911d82e696":[10,0,60,14], +"db/d9a/classuint128__t.html#a7a95e3accdac1cb38c9767f9550c0896":[10,0,60,58], +"db/d9a/classuint128__t.html#a7b1de5584505c189664d0edd306e979e":[10,0,60,59], +"db/d9a/classuint128__t.html#a7d2285a8a6e20b77f82f1f0351afe76e":[10,0,60,8], +"db/d9a/classuint128__t.html#a7d56143b2e291e8087188192533d2e3c":[10,0,60,4], +"db/d9a/classuint128__t.html#a817b66c32268cf46244058a50db99503":[10,0,60,74], +"db/d9a/classuint128__t.html#a81a568510e6d0b0950133dd9fc37fc0c":[10,0,60,39], +"db/d9a/classuint128__t.html#a82c63f8c18b8d2d255b8b0d373ac7d6e":[10,0,60,60], +"db/d9a/classuint128__t.html#a857a3c69c1e775a1bd3935c2bfbb02df":[10,0,60,6], +"db/d9a/classuint128__t.html#a8bf81f7f5f5c98f197822ec88e106c6c":[10,0,60,9], +"db/d9a/classuint128__t.html#a9487ed06019d846add5dc8874e41eb8b":[10,0,60,67], +"db/d9a/classuint128__t.html#a95ac8be8f414fcbce09301b912f5079d":[10,0,60,2], +"db/d9a/classuint128__t.html#a96fc7c2df4325bb1a0c22b566bcc6295":[10,0,60,30], +"db/d9a/classuint128__t.html#a9704e6a4d32750461bff663e40e537cb":[10,0,60,36], +"db/d9a/classuint128__t.html#a9fa81ef0d54ecb9050d0be4249358ca4":[10,0,60,20], +"db/d9a/classuint128__t.html#aa5b93187b1d199071f204b9987d5d16a":[10,0,60,51], +"db/d9a/classuint128__t.html#aa69e1064c0b0b1df1c61acd2ea04fabd":[10,0,60,10], +"db/d9a/classuint128__t.html#aaacb9fda7adcfee224f1b09124c0438b":[10,0,60,46], +"db/d9a/classuint128__t.html#aab88fd72d0370b12e4a257e378b82d37":[10,0,60,66], +"db/d9a/classuint128__t.html#ab07413c67d205e406abf3a9f554d59e1":[10,0,60,23], +"db/d9a/classuint128__t.html#ab3359b104bbb5a31c11c2027387c4b4e":[10,0,60,15], +"db/d9a/classuint128__t.html#ab6aa4d14ed52c7c640468c45350da0c5":[10,0,60,56], +"db/d9a/classuint128__t.html#ab88330f3c4f3bcde75dc5ef9eb8eb39d":[10,0,60,73], +"db/d9a/classuint128__t.html#abae08ef3c1d6dc512edd68ca68327f74":[10,0,60,54], +"db/d9a/classuint128__t.html#abea727c69c2acd74ffe21464199d27c8":[10,0,60,43], +"db/d9a/classuint128__t.html#abfc6a8765039cacc829a5cd386b5a066":[10,0,60,17], +"db/d9a/classuint128__t.html#ac7d55ed3bac01075b9cd11cc59508050":[10,0,60,25], +"db/d9a/classuint128__t.html#ac8d293d20cdf65c48d8d1e0ba7034c8e":[10,0,60,33], +"db/d9a/classuint128__t.html#ac924cc09bbb919532dc42f1f93f6f544":[10,0,60,55], +"db/d9a/classuint128__t.html#ac9a4365fb9ea5e2d2c751258f09168a4":[10,0,60,49], +"db/d9a/classuint128__t.html#ad1717d3a38391258befa413b7e2b9244":[10,0,60,21], +"db/d9a/classuint128__t.html#ad24d6fe1fe63f415fee806b377dfa47d":[10,0,60,13], +"db/d9a/classuint128__t.html#adce2432b148fe18179a5ea272f4eb040":[10,0,60,0], +"db/d9a/classuint128__t.html#add9938b97fc66560cec2d32e8c83eaad":[10,0,60,16], +"db/d9a/classuint128__t.html#ae3f0ef8a3f68d9cbd9d99e772f1a947a":[10,0,60,69], +"db/d9a/classuint128__t.html#ae7af1bad048942eeabc092d8e0194292":[10,0,60,63], +"db/d9a/classuint128__t.html#aed49b24b99293ae6b14ac9850f5deb94":[10,0,60,44], +"db/d9a/classuint128__t.html#af139bb6e630f1a61919f180978611cd2":[10,0,60,7], +"db/d9a/classuint128__t.html#af4ce01d81a0369218f7d46567d136733":[10,0,60,26], +"db/d9a/classuint128__t.html#af71990a1fba93a5528ddb1e6662bffd6":[10,0,60,34], +"db/d9f/iterative__factorial_8cpp.html":[11,0,14,28], +"db/d9f/iterative__factorial_8cpp.html#a2565c745aac2f9561cc6fd9e56d9b77a":[11,0,14,28,0], +"db/d9f/iterative__factorial_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,14,28,2], +"db/d9f/iterative__factorial_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,14,28,1], +"db/d9f/iterative__factorial_8cpp_source.html":[11,0,14,28], +"db/da9/classqueue.html":[10,0,50], +"db/da9/classqueue.html#a353e4dd5772575905c78b0b30856e368":[10,0,50,2], +"db/da9/classqueue.html#a386fc1df8610948d3117b12f24655c7d":[10,0,50,7], +"db/da9/classqueue.html#a4bc52ad6ed6b0cc33ad05f87f05f8bec":[10,0,50,6], +"db/da9/classqueue.html#a6ed7f8dfefe8687841f36f2223069375":[10,0,50,0], +"db/da9/classqueue.html#a75e231798bc706b8b0773a07f78713e7":[10,0,50,5], +"db/da9/classqueue.html#a7611df63ebefae613d311039d7305143":[10,0,50,9], +"db/da9/classqueue.html#ac08ebdd38cb4ad74fc0a3f51888da604":[10,0,50,4], +"db/da9/classqueue.html#ada88d0c1f34946d66386b7a11bee4e4d":[10,0,50,3], +"db/da9/classqueue.html#af27dbb72fb63f58f817a88550d7faa85":[10,0,50,1], +"db/da9/classqueue.html#af6780e9b43326f557da405b65f7ad094":[10,0,50,8], +"db/db2/counting__sort__string_8cpp_source.html":[11,0,23,10], +"db/db5/slow__sort_8cpp_source.html":[11,0,23,36], +"db/dbc/tree__234_8cpp.html":[11,0,4,36], +"db/dbc/tree__234_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97":[11,0,4,36,2], +"db/dbc/tree__234_8cpp.html#ae7880ce913f3058a35ff106d5be9e243":[11,0,4,36,3], +"db/dbc/tree__234_8cpp.html#af1ac73779b0fcfbbdce3976c0ca57342":[11,0,4,36,4], +"db/dbc/tree__234_8cpp_source.html":[11,0,4,36], +"db/dbd/test__stack__students_8cpp_source.html":[11,0,4,33], +"db/dc0/namespacebacktracking.html":[9,0,5], +"db/dc0/namespacebacktracking.html#a78540bcb5ef3473b2348cbc34748ec50":[9,0,5,1], +"db/dc4/floyd__cycle__detection__algo_8cpp.html":[11,0,22,3], +"db/dc4/floyd__cycle__detection__algo_8cpp.html#a81ffc7a2c6bf530c8a496864e7a3ad88":[11,0,22,3,0], +"db/dc4/floyd__cycle__detection__algo_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,22,3,2], +"db/dc4/floyd__cycle__detection__algo_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,22,3,1], +"db/dc4/floyd__cycle__detection__algo_8cpp_source.html":[11,0,22,3], +"db/dd3/ode__forward__euler_8cpp.html":[11,0,15,15], +"db/dd3/ode__forward__euler_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97":[11,0,15,15,3], +"db/dd3/ode__forward__euler_8cpp.html#aa13517b8e5de1b75592052db7f7e237f":[11,0,15,15,5], +"db/dd3/ode__forward__euler_8cpp.html#abaeae8f62a018d197f0187a1c80a90fe":[11,0,15,15,4], +"db/dd3/ode__forward__euler_8cpp.html#af3adf7b092a87868917ee5fb4255192b":[11,0,15,15,0], +"db/dd3/ode__forward__euler_8cpp_source.html":[11,0,15,15], +"db/ddc/namespaceaystar__search.html":[9,0,4], +"db/dde/namespaceothers_1_1_cache.html":[9,0,88,0], +"db/de3/numeric__string__sort_8cpp_source.html":[11,0,23,21], +"db/df3/happy__number_8cpp.html":[11,0,17,6], +"db/df3/happy__number_8cpp.html#a00ccdb1166a7c83ac3c33ac67a2532b7":[11,0,17,6,0], +"db/df3/happy__number_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,17,6,1], +"db/df3/happy__number_8cpp_source.html":[11,0,17,6], +"db/dfb/maximum__circular__subarray_8cpp.html":[11,0,6,20], +"db/dfb/maximum__circular__subarray_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97":[11,0,6,20,0], +"db/dfb/maximum__circular__subarray_8cpp.html#a5239174fa0d987f2c67edc1f2af82beb":[11,0,6,20,1], +"db/dfb/maximum__circular__subarray_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,6,20,2], +"db/dfb/maximum__circular__subarray_8cpp_source.html":[11,0,6,20], +"dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix.html":[10,0,3,0,0], +"dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix.html#a01f3a05cf5abdc5d63999ef1bf9f9256":[10,0,3,0,0,0], +"dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix.html#a1fcb7db9bdeabd874712ec4f00483d17":[10,0,3,0,0,14], +"dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix.html#a42c986fb57b74fe1b7c5953cb1922c3d":[10,0,3,0,0,10], +"dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix.html#a4aa49765cce39ce48b9241e993e0cfb9":[10,0,3,0,0,1], +"dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix.html#a562faa16a4b4ed5d4804823c56f99c9c":[10,0,3,0,0,11], +"dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix.html#a5d8eb669b37a27224376b08515b4ee50":[10,0,3,0,0,3], +"dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix.html#a60599668b56001cef4bb59d4cb5c6c6c":[10,0,3,0,0,4], +"dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix.html#a678681c9f6266a8219bd6bee6972d70e":[10,0,3,0,0,9], +"dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix.html#a87c2ed8f19bda2ad21ee4cbed32c394a":[10,0,3,0,0,15], +"dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix.html#ab6534125643a02c114bd4cddba9bc17f":[10,0,3,0,0,2], +"dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix.html#ac4c64e5723fa12a043fd0a7f5ed5bb37":[10,0,3,0,0,12], +"dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix.html#ad36ec1f1a97298e49de605384e5f8211":[10,0,3,0,0,7], +"dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix.html#ae190115f8d4d31e47d7290e0b6871391":[10,0,3,0,0,8], +"dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix.html#ae4e183ec8eab778cb243e4ae0b22a0f1":[10,0,3,0,0,13], +"dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix.html#aedbe01e48a96fefa0b393ec577b0f19e":[10,0,3,0,0,5], +"dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix.html#af09566a6a59d30875434c140e18e0a12":[10,0,3,0,0,6], +"dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix.html#af12ceffdc07cc87eca8a4a8ac87d60fe":[10,0,3,0,0,16], +"dc/d14/wildcard__matching_8cpp.html":[11,0,0,12], +"dc/d14/wildcard__matching_8cpp.html#a1f8c260cf0d7e22c666b85f1f71ee4a7":[11,0,0,12,0], +"dc/d14/wildcard__matching_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,0,12,2], +"dc/d14/wildcard__matching_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,0,12,1], +"dc/d14/wildcard__matching_8cpp_source.html":[11,0,0,12], +"dc/d1a/pascal__triangle_8cpp.html":[11,0,17,17], +"dc/d1a/pascal__triangle_8cpp.html#a4fc0e5a112f715c3a73989450b2cc5fd":[11,0,17,17,1], +"dc/d1a/pascal__triangle_8cpp.html#ad7a31d9cb2818d21b1ba12aead7f4c5c":[11,0,17,17,2], +"dc/d1a/pascal__triangle_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,17,17,0], +"dc/d1a/pascal__triangle_8cpp_source.html":[11,0,17,17], +"dc/d1f/classcatalan__numbers.html":[10,0,23], +"dc/d1f/classcatalan__numbers.html#a54655c66cf89186d3d1fa90829b28ab8":[10,0,23,0], +"dc/d2f/namespacecount__of__trailing__ciphers__in__factorial__n.html":[9,0,17], +"dc/d38/ordinary__least__squares__regressor_8cpp.html":[11,0,13,6], +"dc/d38/ordinary__least__squares__regressor_8cpp.html#a01e6c7bf2b09272578b9c5819ce0f36f":[11,0,13,6,10], +"dc/d38/ordinary__least__squares__regressor_8cpp.html#a207b3a99fd5974d3117e0b0ac0aad234":[11,0,13,6,6], +"dc/d38/ordinary__least__squares__regressor_8cpp.html#a21c80569aaffb7bf1657e54fa4b97deb":[11,0,13,6,2], +"dc/d38/ordinary__least__squares__regressor_8cpp.html#a42535e20e97d85aa61271e0894cc0359":[11,0,13,6,9], +"dc/d38/ordinary__least__squares__regressor_8cpp.html#a4261f3c3c3dfdb86f3004eb8aaffea8d":[11,0,13,6,5], +"dc/d38/ordinary__least__squares__regressor_8cpp.html#a4a6a560dbdd0177633783b72db37dc19":[11,0,13,6,11], +"dc/d38/ordinary__least__squares__regressor_8cpp.html#a7075a0fccad9b2d79be0275bfe8948d4":[11,0,13,6,13], +"dc/d38/ordinary__least__squares__regressor_8cpp.html#a7a2d742b9a3ae7b85292e1f86428bb4f":[11,0,13,6,12], +"dc/d38/ordinary__least__squares__regressor_8cpp.html#a865e8d26a01962cc93aca66e71346f37":[11,0,13,6,8], +"dc/d38/ordinary__least__squares__regressor_8cpp.html#a8fa731952b0ee3bc7ec51c51ed21911e":[11,0,13,6,3], +"dc/d38/ordinary__least__squares__regressor_8cpp.html#aaddc683af581b51351e1023d2a01ef3b":[11,0,13,6,0], +"dc/d38/ordinary__least__squares__regressor_8cpp.html#ab1ad727903d7817c2758d25bcb52cbc8":[11,0,13,6,14], +"dc/d38/ordinary__least__squares__regressor_8cpp.html#ade6e463f37878fe2a219f927c65b5493":[11,0,13,6,15], +"dc/d38/ordinary__least__squares__regressor_8cpp.html#ae2edd40354a1ca7aeaee3d1e3589e713":[11,0,13,6,7] }; diff --git a/navtreeindex11.js b/navtreeindex11.js index ba4c5a454..2fded7b66 100644 --- a/navtreeindex11.js +++ b/navtreeindex11.js @@ -1,253 +1,253 @@ var NAVTREEINDEX11 = { -"db/d01/brent__method__extrema_8cpp.html#a1aa76a6d5fd4d333f9072beff1dc486b":[11,0,15,2,2], -"db/d01/brent__method__extrema_8cpp.html#a525335710b53cb064ca56b936120431e":[11,0,15,2,0], -"db/d01/brent__method__extrema_8cpp.html#a6d0455dd5c30adda100e95f0423c786e":[11,0,15,2,6], -"db/d01/brent__method__extrema_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,15,2,3], -"db/d03/_s_t-example.html":[12,0], -"db/d03/namespacewildcard__matching.html":[9,0,141], -"db/d07/spiral__print_8cpp.html":[11,0,17,22], -"db/d07/spiral__print_8cpp.html#a850d3f55e1a8d227176cdcc67352c197":[11,0,17,22,2], -"db/d07/spiral__print_8cpp.html#acfff36db81326fb990a643ab198ee8a5":[11,0,17,22,0], -"db/d07/spiral__print_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,17,22,1], -"db/d09/duval_8cpp.html":[11,0,23,2], -"db/d09/duval_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,23,2,2], -"db/d09/duval_8cpp.html#ac2a35302e6bed93c4b2c6f55a21a5632":[11,0,23,2,0], -"db/d09/duval_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,23,2,1], -"db/d0d/prime__factorization_8cpp.html":[11,0,14,46], -"db/d0d/prime__factorization_8cpp.html#a0ece0145fb29a5cf48378c23dde2da46":[11,0,14,46,1], -"db/d0d/prime__factorization_8cpp.html#a7fe38b570a51e448430d6a0f072c2f23":[11,0,14,46,4], -"db/d0d/prime__factorization_8cpp.html#acfb0df439a4beae5a34ef131ce737c1b":[11,0,14,46,3], -"db/d0d/prime__factorization_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,14,46,0], -"db/d0d/prime__factorization_8cpp.html#af097796783684712b8326e5b82bfd4fe":[11,0,14,46,5], -"db/d0d/prime__factorization_8cpp.html#affe577b9bce8f604f5e2f861c63c7099":[11,0,14,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], -"db/d16/0__1__knapsack_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,6,0,2], -"db/d16/0__1__knapsack_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,6,0,0], -"db/d19/structlinear__probing_1_1_entry.html":[9,0,61,0], -"db/d19/structlinear__probing_1_1_entry.html":[10,0,9,0], -"db/d19/structlinear__probing_1_1_entry.html#a2139f643a3caf074da1db8a9fa16fa77":[9,0,61,0,0], -"db/d19/structlinear__probing_1_1_entry.html#a2139f643a3caf074da1db8a9fa16fa77":[10,0,9,0,0], -"db/d19/structlinear__probing_1_1_entry.html#a4d84e90b73022083761f85f8586c4c2a":[9,0,61,0,1], -"db/d19/structlinear__probing_1_1_entry.html#a4d84e90b73022083761f85f8586c4c2a":[10,0,9,0,1], -"db/d27/n__bonacci_8cpp.html":[11,0,14,39], -"db/d27/n__bonacci_8cpp.html#a6849b68f760be628d5975ab3eddec63d":[11,0,14,39,1], -"db/d27/n__bonacci_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,14,39,2], -"db/d27/n__bonacci_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,14,39,0], -"db/d3c/tower__of__hanoi_8cpp.html":[11,0,17,24], -"db/d3c/tower__of__hanoi_8cpp.html#a746d9a3984bba88fd6dd91978f6931ed":[11,0,17,24,3], -"db/d3c/tower__of__hanoi_8cpp.html#ab037f72a5eac476535a6cfbbcb965417":[11,0,17,24,4], -"db/d3c/tower__of__hanoi_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,17,24,1], -"db/d3c/tower__of__hanoi_8cpp.html#af4cfc41e546f1f8d25f01e0804e8b61d":[11,0,17,24,2], -"db/d3f/wave__sort_8cpp.html":[11,0,22,26], -"db/d3f/wave__sort_8cpp.html#a7d4f243b9dc13ace4ef77e30dbc56f12":[11,0,22,26,2], -"db/d3f/wave__sort_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,22,26,1], -"db/d3f/wave__sort_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,22,26,0], -"db/d40/integral__approximation2_8cpp.html":[11,0,14,25], -"db/d40/integral__approximation2_8cpp.html#a71249ee535f16f8ed2e9cc8f0199a2cf":[11,0,14,25,0], -"db/d40/integral__approximation2_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,14,25,3], -"db/d40/integral__approximation2_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,14,25,2], -"db/d40/integral__approximation2_8cpp.html#af7da9ba8932f1f48b9bbc2d80471af51":[11,0,14,25,1], -"db/d5b/structdata__structures_1_1stack__using__queue_1_1_stack.html":[10,0,2,4,0], -"db/d5b/structdata__structures_1_1stack__using__queue_1_1_stack.html#a2f80f87fc6f6ded938426698bba89323":[10,0,2,4,0,4], -"db/d5b/structdata__structures_1_1stack__using__queue_1_1_stack.html#a5540434e1b41245205eee86f664906f7":[10,0,2,4,0,3], -"db/d5b/structdata__structures_1_1stack__using__queue_1_1_stack.html#abdd461689df4983a3ad3b05d853cf5eb":[10,0,2,4,0,0], -"db/d5b/structdata__structures_1_1stack__using__queue_1_1_stack.html#ac0ddec9ab8f778dad23ec446d7a77b39":[10,0,2,4,0,2], -"db/d5b/structdata__structures_1_1stack__using__queue_1_1_stack.html#acf8ca54d5dd6676f255fff3dedacc7c6":[10,0,2,4,0,6], -"db/d5b/structdata__structures_1_1stack__using__queue_1_1_stack.html#af04a8f3536a52d8c9916086b656eefc2":[10,0,2,4,0,1], -"db/d5b/structdata__structures_1_1stack__using__queue_1_1_stack.html#afdfd2f4418c70b1bda50f2c3e416d80b":[10,0,2,4,0,5], -"db/d66/struct_item.html":[10,0,36], -"db/d6b/kelvin__to__celsius_8cpp.html":[11,0,17,8], -"db/d6b/kelvin__to__celsius_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e":[11,0,17,8,3], -"db/d6b/kelvin__to__celsius_8cpp.html#a48677fae5d683070432b1a905722d9ec":[11,0,17,8,1], -"db/d6b/kelvin__to__celsius_8cpp.html#aa17dc6d061dff34f6b9a610bc5e26703":[11,0,17,8,0], -"db/d6b/kelvin__to__celsius_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,17,8,2], -"db/d6f/namespaceheavy__light__decomposition.html":[9,0,46], -"db/d71/quadratic__probing__hash__table_8cpp.html":[11,0,12,4], -"db/d71/quadratic__probing__hash__table_8cpp.html#a00ebcc6d39653eccc26f8432efbfc8d9":[11,0,12,4,1], -"db/d71/quadratic__probing__hash__table_8cpp.html#a07a0467b24102260fbb6b554c453c20a":[11,0,12,4,11], -"db/d71/quadratic__probing__hash__table_8cpp.html#a2093d91dd3d377cf0a5c939e45dcefc7":[11,0,12,4,5], -"db/d71/quadratic__probing__hash__table_8cpp.html#a312143ed316d48978084c025ff8d9768":[11,0,12,4,2], -"db/d71/quadratic__probing__hash__table_8cpp.html#a40d617ebf4d6ba21bcda8d8d1faa2357":[11,0,12,4,3], -"db/d71/quadratic__probing__hash__table_8cpp.html#a5ceee4128d92ca4412040b7104d1299d":[11,0,12,4,4], -"db/d71/quadratic__probing__hash__table_8cpp.html#a69fe1f7c36fe004ba83eef2ca82e7e30":[11,0,12,4,10], -"db/d71/quadratic__probing__hash__table_8cpp.html#ab431981b54c0bae1b2956f716aee1dcf":[11,0,12,4,8], -"db/d71/quadratic__probing__hash__table_8cpp.html#ada6f1f44f7e83b0094fbcbe170788486":[11,0,12,4,9], -"db/d71/quadratic__probing__hash__table_8cpp.html#adccc63a7e57cc6dba75bd62f40feb88b":[11,0,12,4,7], -"db/d71/quadratic__probing__hash__table_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,12,4,6], -"db/d71/quadratic__probing__hash__table_8cpp.html#aeb6bca8db4768226f8ea8291ea4f83f6":[11,0,12,4,12], -"db/d80/gale__shapley_8cpp.html":[11,0,11,4], -"db/d80/gale__shapley_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e":[11,0,11,4,2], -"db/d80/gale__shapley_8cpp.html#a6d7e84df47dcf19e88f95f8f9040306c":[11,0,11,4,0], -"db/d80/gale__shapley_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,11,4,1], -"db/d82/classlarge__number.html":[10,0,37], -"db/d82/classlarge__number.html#a0b1efd203274e38a67b78937dfb9b872":[10,0,37,2], -"db/d82/classlarge__number.html#a10119a83839e65962621b73df46a5337":[10,0,37,0], -"db/d82/classlarge__number.html#a13282908dfc4888392ed3d1fc6aae492":[10,0,37,17], -"db/d82/classlarge__number.html#a2f5571e66305cf68bb8283e4aeda58bc":[10,0,37,6], -"db/d82/classlarge__number.html#a4757697b1f7584b69e779a72abc4ae2a":[10,0,37,9], -"db/d82/classlarge__number.html#a60c436d1a1c5e3795d6177d3815ad615":[10,0,37,4], -"db/d82/classlarge__number.html#a72ae1ef050c4c28c50952ecab22d4b94":[10,0,37,15], -"db/d82/classlarge__number.html#a76ddf1ed1b00fb8c107ea56f7f91e42f":[10,0,37,3], -"db/d82/classlarge__number.html#a771e9b28cfddf1ad94668566e396e350":[10,0,37,8], -"db/d82/classlarge__number.html#a7ba872b9a3ce1f3da6c06c5409663cca":[10,0,37,18], -"db/d82/classlarge__number.html#a8c381aa1ecc960cefd82ec72f59e0e08":[10,0,37,13], -"db/d82/classlarge__number.html#a8d4364ee5a62964451d8cfee82649687":[10,0,37,10], -"db/d82/classlarge__number.html#a959c5c1a982949bbf98e1ea0f9afe6a9":[10,0,37,14], -"db/d82/classlarge__number.html#aab5644405094740e34983cedfecb36cf":[10,0,37,11], -"db/d82/classlarge__number.html#ab84f29685709cbb3b6fd29b7b4a7bc7b":[10,0,37,12], -"db/d82/classlarge__number.html#abbd52948bee1b16543f1dae19aa9dd46":[10,0,37,16], -"db/d82/classlarge__number.html#ac09a05ec4aafb4d9e0b4440d6f0e2a93":[10,0,37,7], -"db/d82/classlarge__number.html#ae35a55607cf52c0b0d485f2129bd39ac":[10,0,37,5], -"db/d82/classlarge__number.html#af2b3ec9c35842d3a46ac7326f268af57":[10,0,37,19], -"db/d82/classlarge__number.html#af4598f1f2794b5e17e10c25e0501e41a":[10,0,37,1], -"db/d8b/struct_node.html":[10,0,45], -"db/d93/check__prime_8cpp.html":[11,0,14,7], -"db/d93/check__prime_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e":[11,0,14,7,2], -"db/d93/check__prime_8cpp.html#abd8f794b2229b42876169ff841b6e444":[11,0,14,7,0], -"db/d93/check__prime_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,14,7,1], -"db/d9a/classuint128__t.html":[10,0,60], -"db/d9a/classuint128__t.html#a0500a90bcde5a8254750c361eed9bc40":[10,0,60,18], -"db/d9a/classuint128__t.html#a07945fe010079a35e18812636d5c70c3":[10,0,60,37], -"db/d9a/classuint128__t.html#a0a4623fae71566dfcf2e742c8c156798":[10,0,60,42], -"db/d9a/classuint128__t.html#a0ad881643c707f6ae3c5de3822a8cb8a":[10,0,60,22], -"db/d9a/classuint128__t.html#a0ae5fc0c2bcc9138b32d7582466aa7f9":[10,0,60,65], -"db/d9a/classuint128__t.html#a0b6612186d8f678452e011d08ee1f5ac":[10,0,60,1], -"db/d9a/classuint128__t.html#a0fd125cc2b7702370a4aefa740d57606":[10,0,60,32], -"db/d9a/classuint128__t.html#a16e7e1211ba6c27e9a229d97fb0d9190":[10,0,60,50], -"db/d9a/classuint128__t.html#a16eb351c1d0ed3b89c771c63808e035a":[10,0,60,53], -"db/d9a/classuint128__t.html#a1d390c6ea5450680dcaff341235f0fed":[10,0,60,40], -"db/d9a/classuint128__t.html#a1ee2f1ffbd9984faad34883eb45e9705":[10,0,60,77], -"db/d9a/classuint128__t.html#a225146042c6456a3c5595645870ca640":[10,0,60,24], -"db/d9a/classuint128__t.html#a279209a184db20a7ffc8e687fdb05be2":[10,0,60,19], -"db/d9a/classuint128__t.html#a291d2787d668e8d06a7cfab0f5144440":[10,0,60,61], -"db/d9a/classuint128__t.html#a2ecb71686e1c9ed0267124580c91c414":[10,0,60,41], -"db/d9a/classuint128__t.html#a2fda65032d9fdbaf9142a6322654dbdd":[10,0,60,71], -"db/d9a/classuint128__t.html#a300ed88fe2054788cc6e0b6a8fdf66db":[10,0,60,47], -"db/d9a/classuint128__t.html#a3016b71f92a0c7e090a7c5b6a3935092":[10,0,60,29], -"db/d9a/classuint128__t.html#a3072a7e43da3600c345c81bc80c957ee":[10,0,60,45], -"db/d9a/classuint128__t.html#a312509b1c5b3ae5eaaf342f2ba131d03":[10,0,60,75], -"db/d9a/classuint128__t.html#a334bc710f411f108a0243b24ac73b481":[10,0,60,62], -"db/d9a/classuint128__t.html#a3c4a7e775a0820196fc08303bbeed44a":[10,0,60,57], -"db/d9a/classuint128__t.html#a3facc74d6d078604fe2c80d0abfd3304":[10,0,60,70], -"db/d9a/classuint128__t.html#a4147188abcdcdb12c61bfbe4e4c0a363":[10,0,60,5], -"db/d9a/classuint128__t.html#a43eafd4824666b413befe5edbc90ae7f":[10,0,60,76], -"db/d9a/classuint128__t.html#a44e472cf685cac6edc5172eac2e66860":[10,0,60,28], -"db/d9a/classuint128__t.html#a44fd2a4a4cc1d13f93ac222db5a46c67":[10,0,60,68], -"db/d9a/classuint128__t.html#a4562c218813c8705bccb25d8786ca77c":[10,0,60,52], -"db/d9a/classuint128__t.html#a488e65a14d4c32a096011aa4725cdb30":[10,0,60,27], -"db/d9a/classuint128__t.html#a5133f854a93efe47fd1f0f6a9589856d":[10,0,60,31], -"db/d9a/classuint128__t.html#a55a3f122c4d982c60c2eb9fc09b9e004":[10,0,60,35], -"db/d9a/classuint128__t.html#a56f579c802a6cc16f31e43af274453dc":[10,0,60,48], -"db/d9a/classuint128__t.html#a5f2ace9fdcd459f74f8e43ef30a2a953":[10,0,60,78], -"db/d9a/classuint128__t.html#a60bf2739c93bb1cd41654fd60c76ae6b":[10,0,60,3], -"db/d9a/classuint128__t.html#a6110aa452a6d114fcd2f42d2bc106fee":[10,0,60,72], -"db/d9a/classuint128__t.html#a6824700c9c732a4200e7493fe7ed0eec":[10,0,60,38], -"db/d9a/classuint128__t.html#a6d45302022ef7f5195458f41b8aedb6e":[10,0,60,11], -"db/d9a/classuint128__t.html#a6f24982de03e0e3d04ac7f8ae30f5848":[10,0,60,64], -"db/d9a/classuint128__t.html#a75767cb2b6fd47ecb1f721755fdc7639":[10,0,60,12], -"db/d9a/classuint128__t.html#a7737bb30a5480c7286546b911d82e696":[10,0,60,14], -"db/d9a/classuint128__t.html#a7a95e3accdac1cb38c9767f9550c0896":[10,0,60,58], -"db/d9a/classuint128__t.html#a7b1de5584505c189664d0edd306e979e":[10,0,60,59], -"db/d9a/classuint128__t.html#a7d2285a8a6e20b77f82f1f0351afe76e":[10,0,60,8], -"db/d9a/classuint128__t.html#a7d56143b2e291e8087188192533d2e3c":[10,0,60,4], -"db/d9a/classuint128__t.html#a817b66c32268cf46244058a50db99503":[10,0,60,74], -"db/d9a/classuint128__t.html#a81a568510e6d0b0950133dd9fc37fc0c":[10,0,60,39], -"db/d9a/classuint128__t.html#a82c63f8c18b8d2d255b8b0d373ac7d6e":[10,0,60,60], -"db/d9a/classuint128__t.html#a857a3c69c1e775a1bd3935c2bfbb02df":[10,0,60,6], -"db/d9a/classuint128__t.html#a8bf81f7f5f5c98f197822ec88e106c6c":[10,0,60,9], -"db/d9a/classuint128__t.html#a9487ed06019d846add5dc8874e41eb8b":[10,0,60,67], -"db/d9a/classuint128__t.html#a95ac8be8f414fcbce09301b912f5079d":[10,0,60,2], -"db/d9a/classuint128__t.html#a96fc7c2df4325bb1a0c22b566bcc6295":[10,0,60,30], -"db/d9a/classuint128__t.html#a9704e6a4d32750461bff663e40e537cb":[10,0,60,36], -"db/d9a/classuint128__t.html#a9fa81ef0d54ecb9050d0be4249358ca4":[10,0,60,20], -"db/d9a/classuint128__t.html#aa5b93187b1d199071f204b9987d5d16a":[10,0,60,51], -"db/d9a/classuint128__t.html#aa69e1064c0b0b1df1c61acd2ea04fabd":[10,0,60,10], -"db/d9a/classuint128__t.html#aaacb9fda7adcfee224f1b09124c0438b":[10,0,60,46], -"db/d9a/classuint128__t.html#aab88fd72d0370b12e4a257e378b82d37":[10,0,60,66], -"db/d9a/classuint128__t.html#ab07413c67d205e406abf3a9f554d59e1":[10,0,60,23], -"db/d9a/classuint128__t.html#ab3359b104bbb5a31c11c2027387c4b4e":[10,0,60,15], -"db/d9a/classuint128__t.html#ab6aa4d14ed52c7c640468c45350da0c5":[10,0,60,56], -"db/d9a/classuint128__t.html#ab88330f3c4f3bcde75dc5ef9eb8eb39d":[10,0,60,73], -"db/d9a/classuint128__t.html#abae08ef3c1d6dc512edd68ca68327f74":[10,0,60,54], -"db/d9a/classuint128__t.html#abea727c69c2acd74ffe21464199d27c8":[10,0,60,43], -"db/d9a/classuint128__t.html#abfc6a8765039cacc829a5cd386b5a066":[10,0,60,17], -"db/d9a/classuint128__t.html#ac7d55ed3bac01075b9cd11cc59508050":[10,0,60,25], -"db/d9a/classuint128__t.html#ac8d293d20cdf65c48d8d1e0ba7034c8e":[10,0,60,33], -"db/d9a/classuint128__t.html#ac924cc09bbb919532dc42f1f93f6f544":[10,0,60,55], -"db/d9a/classuint128__t.html#ac9a4365fb9ea5e2d2c751258f09168a4":[10,0,60,49], -"db/d9a/classuint128__t.html#ad1717d3a38391258befa413b7e2b9244":[10,0,60,21], -"db/d9a/classuint128__t.html#ad24d6fe1fe63f415fee806b377dfa47d":[10,0,60,13], -"db/d9a/classuint128__t.html#adce2432b148fe18179a5ea272f4eb040":[10,0,60,0], -"db/d9a/classuint128__t.html#add9938b97fc66560cec2d32e8c83eaad":[10,0,60,16], -"db/d9a/classuint128__t.html#ae3f0ef8a3f68d9cbd9d99e772f1a947a":[10,0,60,69], -"db/d9a/classuint128__t.html#ae7af1bad048942eeabc092d8e0194292":[10,0,60,63], -"db/d9a/classuint128__t.html#aed49b24b99293ae6b14ac9850f5deb94":[10,0,60,44], -"db/d9a/classuint128__t.html#af139bb6e630f1a61919f180978611cd2":[10,0,60,7], -"db/d9a/classuint128__t.html#af4ce01d81a0369218f7d46567d136733":[10,0,60,26], -"db/d9a/classuint128__t.html#af71990a1fba93a5528ddb1e6662bffd6":[10,0,60,34], -"db/d9f/iterative__factorial_8cpp.html":[11,0,14,27], -"db/d9f/iterative__factorial_8cpp.html#a2565c745aac2f9561cc6fd9e56d9b77a":[11,0,14,27,0], -"db/d9f/iterative__factorial_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,14,27,2], -"db/d9f/iterative__factorial_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,14,27,1], -"db/da4/namespacestd_1_1regex__constants.html":[9,0,118,2], -"db/da9/classqueue.html":[10,0,50], -"db/da9/classqueue.html#a353e4dd5772575905c78b0b30856e368":[10,0,50,2], -"db/da9/classqueue.html#a386fc1df8610948d3117b12f24655c7d":[10,0,50,7], -"db/da9/classqueue.html#a4bc52ad6ed6b0cc33ad05f87f05f8bec":[10,0,50,6], -"db/da9/classqueue.html#a6ed7f8dfefe8687841f36f2223069375":[10,0,50,0], -"db/da9/classqueue.html#a75e231798bc706b8b0773a07f78713e7":[10,0,50,5], -"db/da9/classqueue.html#a7611df63ebefae613d311039d7305143":[10,0,50,9], -"db/da9/classqueue.html#ac08ebdd38cb4ad74fc0a3f51888da604":[10,0,50,4], -"db/da9/classqueue.html#ada88d0c1f34946d66386b7a11bee4e4d":[10,0,50,3], -"db/da9/classqueue.html#af27dbb72fb63f58f817a88550d7faa85":[10,0,50,1], -"db/da9/classqueue.html#af6780e9b43326f557da405b65f7ad094":[10,0,50,8], -"db/dbc/tree__234_8cpp.html":[11,0,4,22], -"db/dbc/tree__234_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97":[11,0,4,22,2], -"db/dbc/tree__234_8cpp.html#ae7880ce913f3058a35ff106d5be9e243":[11,0,4,22,3], -"db/dbc/tree__234_8cpp.html#af1ac73779b0fcfbbdce3976c0ca57342":[11,0,4,22,4], -"db/dc0/namespacebacktracking.html":[9,0,5], -"db/dc0/namespacebacktracking.html#a78540bcb5ef3473b2348cbc34748ec50":[9,0,5,1], -"db/dc4/floyd__cycle__detection__algo_8cpp.html":[11,0,21,2], -"db/dc4/floyd__cycle__detection__algo_8cpp.html#a81ffc7a2c6bf530c8a496864e7a3ad88":[11,0,21,2,0], -"db/dc4/floyd__cycle__detection__algo_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,21,2,2], -"db/dc4/floyd__cycle__detection__algo_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,21,2,1], -"db/dd3/ode__forward__euler_8cpp.html":[11,0,15,15], -"db/dd3/ode__forward__euler_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97":[11,0,15,15,3], -"db/dd3/ode__forward__euler_8cpp.html#aa13517b8e5de1b75592052db7f7e237f":[11,0,15,15,5], -"db/dd3/ode__forward__euler_8cpp.html#abaeae8f62a018d197f0187a1c80a90fe":[11,0,15,15,4], -"db/dd3/ode__forward__euler_8cpp.html#af3adf7b092a87868917ee5fb4255192b":[11,0,15,15,0], -"db/ddc/namespaceaystar__search.html":[9,0,4], -"db/dde/namespaceothers_1_1_cache.html":[9,0,88,0], -"db/df3/happy__number_8cpp.html":[11,0,17,5], -"db/df3/happy__number_8cpp.html#a00ccdb1166a7c83ac3c33ac67a2532b7":[11,0,17,5,0], -"db/df3/happy__number_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,17,5,1], -"db/dfb/maximum__circular__subarray_8cpp.html":[11,0,6,11], -"db/dfb/maximum__circular__subarray_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97":[11,0,6,11,0], -"db/dfb/maximum__circular__subarray_8cpp.html#a5239174fa0d987f2c67edc1f2af82beb":[11,0,6,11,1], -"db/dfb/maximum__circular__subarray_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,6,11,2], -"dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix.html":[10,0,3,0,0], -"dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix.html#a01f3a05cf5abdc5d63999ef1bf9f9256":[10,0,3,0,0,0], -"dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix.html#a1fcb7db9bdeabd874712ec4f00483d17":[10,0,3,0,0,14], -"dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix.html#a42c986fb57b74fe1b7c5953cb1922c3d":[10,0,3,0,0,10], -"dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix.html#a4aa49765cce39ce48b9241e993e0cfb9":[10,0,3,0,0,1], -"dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix.html#a562faa16a4b4ed5d4804823c56f99c9c":[10,0,3,0,0,11], -"dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix.html#a5d8eb669b37a27224376b08515b4ee50":[10,0,3,0,0,3], -"dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix.html#a60599668b56001cef4bb59d4cb5c6c6c":[10,0,3,0,0,4], -"dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix.html#a678681c9f6266a8219bd6bee6972d70e":[10,0,3,0,0,9], -"dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix.html#a87c2ed8f19bda2ad21ee4cbed32c394a":[10,0,3,0,0,15], -"dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix.html#ab6534125643a02c114bd4cddba9bc17f":[10,0,3,0,0,2], -"dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix.html#ac4c64e5723fa12a043fd0a7f5ed5bb37":[10,0,3,0,0,12], -"dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix.html#ad36ec1f1a97298e49de605384e5f8211":[10,0,3,0,0,7], -"dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix.html#ae190115f8d4d31e47d7290e0b6871391":[10,0,3,0,0,8], -"dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix.html#ae4e183ec8eab778cb243e4ae0b22a0f1":[10,0,3,0,0,13], -"dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix.html#aedbe01e48a96fefa0b393ec577b0f19e":[10,0,3,0,0,5], -"dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix.html#af09566a6a59d30875434c140e18e0a12":[10,0,3,0,0,6], -"dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix.html#af12ceffdc07cc87eca8a4a8ac87d60fe":[10,0,3,0,0,16], -"dc/d14/wildcard__matching_8cpp.html":[11,0,0,11], -"dc/d14/wildcard__matching_8cpp.html#a4a5b107f93db24e424b12899fa692c5a":[11,0,0,11,2], -"dc/d14/wildcard__matching_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,0,11,1], -"dc/d14/wildcard__matching_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,0,11,0], -"dc/d1a/pascal__triangle_8cpp.html":[11,0,17,16] +"dc/d38/ordinary__least__squares__regressor_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,13,6,4], +"dc/d38/ordinary__least__squares__regressor_8cpp.html#af7243bdc6ae3c7169f01b85bb226e66a":[11,0,13,6,1], +"dc/d38/ordinary__least__squares__regressor_8cpp_source.html":[11,0,13,6], +"dc/d3a/namespacesubset__sum.html":[9,0,125], +"dc/d52/linear__recurrence__matrix_8cpp_source.html":[11,0,14,34], +"dc/d5a/rat__maze_8cpp.html":[11,0,0,8], +"dc/d5a/rat__maze_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,0,8,2], +"dc/d5a/rat__maze_8cpp.html#ab99107bfb4c6934cd4691868c66c0aa3":[11,0,0,8,1], +"dc/d5a/rat__maze_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,0,8,0], +"dc/d5a/rat__maze_8cpp_source.html":[11,0,0,8], +"dc/d61/classgraph_1_1_graph.html":[9,0,39,0], +"dc/d61/classgraph_1_1_graph.html":[10,0,6,2], +"dc/d61/classgraph_1_1_graph.html#a3755ec9e6a842238c7f4aac10b661981":[9,0,39,0,2], +"dc/d61/classgraph_1_1_graph.html#a3755ec9e6a842238c7f4aac10b661981":[10,0,6,2,2], +"dc/d61/classgraph_1_1_graph.html#a59940c462861f2fcf4951d1b6c084e6a":[9,0,39,0,5], +"dc/d61/classgraph_1_1_graph.html#a59940c462861f2fcf4951d1b6c084e6a":[10,0,6,2,5], +"dc/d61/classgraph_1_1_graph.html#a877b2cba40d8d46dde6fb4209effed19":[9,0,39,0,1], +"dc/d61/classgraph_1_1_graph.html#a877b2cba40d8d46dde6fb4209effed19":[10,0,6,2,1], +"dc/d61/classgraph_1_1_graph.html#a8839fa14bff19d2deab4a618447c13e5":[9,0,39,0,0], +"dc/d61/classgraph_1_1_graph.html#a8839fa14bff19d2deab4a618447c13e5":[10,0,6,2,0], +"dc/d61/classgraph_1_1_graph.html#a8930d1470d132b19e430d1c71f94c904":[9,0,39,0,3], +"dc/d61/classgraph_1_1_graph.html#a8930d1470d132b19e430d1c71f94c904":[10,0,6,2,3], +"dc/d61/classgraph_1_1_graph.html#acebf0505d625b043bb9c8c27c7a8def0":[9,0,39,0,4], +"dc/d61/classgraph_1_1_graph.html#acebf0505d625b043bb9c8c27c7a8def0":[10,0,6,2,4], +"dc/d64/md__coding_guidelines.html":[2], +"dc/d64/md__coding_guidelines.html#autotoc_md18":[2,0], +"dc/d64/md__coding_guidelines.html#autotoc_md20":[2,1], +"dc/d67/subset__sum__dynamic_8cpp.html":[11,0,6,26], +"dc/d67/subset__sum__dynamic_8cpp.html#a280fcfb2f6fe49a31c4da572e7032607":[11,0,6,26,2], +"dc/d67/subset__sum__dynamic_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,6,26,3], +"dc/d67/subset__sum__dynamic_8cpp.html#ac94e6c0dee11278ac0a5491f1b9a4a50":[11,0,6,26,1], +"dc/d67/subset__sum__dynamic_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,6,26,0], +"dc/d67/subset__sum__dynamic_8cpp_source.html":[11,0,6,26], +"dc/d6d/power__of__2_8cpp.html":[11,0,1,7], +"dc/d6d/power__of__2_8cpp.html#a5032470c9974bbd6ec254bf296530a5f":[11,0,1,7,0], +"dc/d6d/power__of__2_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,1,7,2], +"dc/d6d/power__of__2_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,1,7,1], +"dc/d6d/power__of__2_8cpp_source.html":[11,0,1,7], +"dc/d6d/structstd_1_1is__arithmetic_3_01uint256__t_01_4.html":[10,0,19,1], +"dc/d82/area_8cpp.html":[11,0,14,2], +"dc/d82/area_8cpp.html#a3277e65a8f380e7632791975bfba0efb":[11,0,14,2,3], +"dc/d82/area_8cpp.html#a40e36c67da78d2131408c57ee091ad75":[11,0,14,2,0], +"dc/d82/area_8cpp.html#a5de184925e68658f15415dd53954df4f":[11,0,14,2,5], +"dc/d82/area_8cpp.html#a971ce57e368f2f631cf1f4ff3f864049":[11,0,14,2,8], +"dc/d82/area_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,14,2,9], +"dc/d82/area_8cpp.html#ab31d141f7c5b551746b1eee0eb4dedca":[11,0,14,2,6], +"dc/d82/area_8cpp.html#ab3b920cc56442abd92279ba23b50f4dc":[11,0,14,2,10], +"dc/d82/area_8cpp.html#ab7f29862d30df351c317eedd60a0c656":[11,0,14,2,7], +"dc/d82/area_8cpp.html#abc46c784a297fc1d2eb8b33a327fba4c":[11,0,14,2,1], +"dc/d82/area_8cpp.html#ac5803413618fcfb922cb32c6db0fc864":[11,0,14,2,2], +"dc/d82/area_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,14,2,4], +"dc/d82/area_8cpp_source.html":[11,0,14,2], +"dc/d93/classmachine__learning_1_1neural__network_1_1layers_1_1_dense_layer.html":[10,0,10,2,0,0], +"dc/d93/classmachine__learning_1_1neural__network_1_1layers_1_1_dense_layer.html#a11046825be0b6dbb73fbe834aa49200e":[10,0,10,2,0,0,0], +"dc/d93/classmachine__learning_1_1neural__network_1_1layers_1_1_dense_layer.html#a19aaccad279b22dbbb6c55e5697b4114":[10,0,10,2,0,0,6], +"dc/d93/classmachine__learning_1_1neural__network_1_1layers_1_1_dense_layer.html#a2871146feaaa453558239df67b21e0d2":[10,0,10,2,0,0,2], +"dc/d93/classmachine__learning_1_1neural__network_1_1layers_1_1_dense_layer.html#a6c859e3737aa88b29854df0347b29f4e":[10,0,10,2,0,0,4], +"dc/d93/classmachine__learning_1_1neural__network_1_1layers_1_1_dense_layer.html#ac9cda9453c4a0caf5bae7f9213b019a0":[10,0,10,2,0,0,3], +"dc/d93/classmachine__learning_1_1neural__network_1_1layers_1_1_dense_layer.html#ae077132526d2863e46aa77cb0f7d6aa2":[10,0,10,2,0,0,5], +"dc/d93/classmachine__learning_1_1neural__network_1_1layers_1_1_dense_layer.html#af136ec31dbd35b1be2eb9a057677c704":[10,0,10,2,0,0,1], +"dc/d93/trie__modern_8cpp.html":[11,0,4,37], +"dc/d93/trie__modern_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,4,37,2], +"dc/d93/trie__modern_8cpp_source.html":[11,0,4,37], +"dc/d9c/babylonian__method_8cpp.html":[11,0,15,0], +"dc/d9c/babylonian__method_8cpp.html#a28e67885f8606564cc8335f483f63309":[11,0,15,0,0], +"dc/d9c/babylonian__method_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,15,0,2], +"dc/d9c/babylonian__method_8cpp.html#abf9e6b7e6f15df4b525a2e7705ba3089":[11,0,15,0,1], +"dc/d9c/babylonian__method_8cpp_source.html":[11,0,15,0], +"dc/daa/lru__cache2_8cpp.html":[11,0,17,13], +"dc/daa/lru__cache2_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,17,13,3], +"dc/daa/lru__cache2_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,17,13,2], +"dc/daa/lru__cache2_8cpp_source.html":[11,0,17,13], +"dc/db5/struct_queue.html":[10,0,49], +"dc/db5/text__search_8cpp.html":[11,0,22,15], +"dc/db5/text__search_8cpp.html#a3f8975d227cd0e58f298b380c5dac0d9":[11,0,22,15,0], +"dc/db5/text__search_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,22,15,2], +"dc/db5/text__search_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,22,15,1], +"dc/db5/text__search_8cpp_source.html":[11,0,22,15], +"dc/dc4/_2_users_2runner_2work_2_c-_plus-_plus_2_c-_plus-_plus_2numerical_methods_2rungekutta_8cpp-example.html":[12,3], +"dc/dc5/namespacereverse__binary__tree.html":[9,0,103], +"dc/dc5/paranthesis__matching_8cpp.html":[11,0,17,16], +"dc/dc5/paranthesis__matching_8cpp.html#a392fb874e547e582e9c66a08a1f23326":[11,0,17,16,0], +"dc/dc5/paranthesis__matching_8cpp.html#a6d25c7dfbfeb52c3cb9d1b56ab49b664":[11,0,17,16,2], +"dc/dc5/paranthesis__matching_8cpp.html#aa37d24a036d239b3b528f13b9de880c7":[11,0,17,16,4], +"dc/dc5/paranthesis__matching_8cpp.html#aae41c72130114bf31204cde6873b6095":[11,0,17,16,3], +"dc/dc5/paranthesis__matching_8cpp.html#ade525d33459755a32ba21e1b6910ff21":[11,0,17,16,1], +"dc/dc5/paranthesis__matching_8cpp.html#af4c937d823c412d99fbe60c99dbf0a4f":[11,0,17,16,5], +"dc/dc5/paranthesis__matching_8cpp_source.html":[11,0,17,16], +"dc/dd4/classdata__structures_1_1_bloom_filter.html":[9,0,21,2], +"dc/dd4/classdata__structures_1_1_bloom_filter.html":[10,0,2,9], +"dc/dd4/classdata__structures_1_1_bloom_filter.html#a576db259488dbfb67624a9652a5ab08b":[9,0,21,2,2], +"dc/dd4/classdata__structures_1_1_bloom_filter.html#a576db259488dbfb67624a9652a5ab08b":[10,0,2,9,2], +"dc/dd4/classdata__structures_1_1_bloom_filter.html#a65ca6742d3be88d4aca4f080068a7a80":[9,0,21,2,3], +"dc/dd4/classdata__structures_1_1_bloom_filter.html#a65ca6742d3be88d4aca4f080068a7a80":[10,0,2,9,3], +"dc/dd4/classdata__structures_1_1_bloom_filter.html#a67bed8ef62fcb1f33b6c72df47dcf840":[9,0,21,2,1], +"dc/dd4/classdata__structures_1_1_bloom_filter.html#a67bed8ef62fcb1f33b6c72df47dcf840":[10,0,2,9,1], +"dc/dd4/classdata__structures_1_1_bloom_filter.html#a6910d29951b57ab56e7a3db405aa1f1a":[9,0,21,2,0], +"dc/dd4/classdata__structures_1_1_bloom_filter.html#a6910d29951b57ab56e7a3db405aa1f1a":[10,0,2,9,0], +"dc/dd4/classdata__structures_1_1_bloom_filter.html#a90268d7901e2c1ab5f8bf8b24a30e119":[9,0,21,2,4], +"dc/dd4/classdata__structures_1_1_bloom_filter.html#a90268d7901e2c1ab5f8bf8b24a30e119":[10,0,2,9,4], +"dc/dd9/strand__sort_8cpp.html":[11,0,23,38], +"dc/dd9/strand__sort_8cpp.html#a2bea2fe5dd38ed63610fdeaddf5785cd":[11,0,23,38,1], +"dc/dd9/strand__sort_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,23,38,2], +"dc/dd9/strand__sort_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,23,38,0], +"dc/dd9/strand__sort_8cpp_source.html":[11,0,23,38], +"dc/de1/recursive__tree__traversal_8cpp.html":[11,0,17,20], +"dc/de1/recursive__tree__traversal_8cpp.html#a0283886819c7c140a023582b7269e2d0":[11,0,17,20,4], +"dc/de1/recursive__tree__traversal_8cpp.html#a1440a7779ac56f47a3f355ce4a8c7da0":[11,0,17,20,3], +"dc/de1/recursive__tree__traversal_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e":[11,0,17,20,6], +"dc/de1/recursive__tree__traversal_8cpp.html#a6d0455dd5c30adda100e95f0423c786e":[11,0,17,20,5], +"dc/de1/recursive__tree__traversal_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,17,20,2], +"dc/de1/recursive__tree__traversal_8cpp_source.html":[11,0,17,20], +"dc/dfb/atbash__cipher_8cpp.html":[11,0,2,1], +"dc/dfb/atbash__cipher_8cpp.html#a8f7dd4dcd3df7c512c20482afc2dbb9d":[11,0,2,1,0], +"dc/dfb/atbash__cipher_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,2,1,2], +"dc/dfb/atbash__cipher_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,2,1,1], +"dc/dfb/atbash__cipher_8cpp_source.html":[11,0,2,1], +"dc/dfe/ternary__search_8cpp.html":[11,0,22,14], +"dc/dfe/ternary__search_8cpp.html#a23ad617bfce1e7cf4591059c85c1a027":[11,0,22,14,0], +"dc/dfe/ternary__search_8cpp.html#a392fb874e547e582e9c66a08a1f23326":[11,0,22,14,2], +"dc/dfe/ternary__search_8cpp.html#a7f7d866eccdabe51bb16818a792618b1":[11,0,22,14,3], +"dc/dfe/ternary__search_8cpp.html#a93d0099db95022f1eb90ddfd68f73ead":[11,0,22,14,6], +"dc/dfe/ternary__search_8cpp.html#ae01eda5098801bb6b5b778828fb4fddc":[11,0,22,14,1], +"dc/dfe/ternary__search_8cpp.html#ae30dfe2894191bfeffe5b3b1854b95b0":[11,0,22,14,4], +"dc/dfe/ternary__search_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,22,14,5], +"dc/dfe/ternary__search_8cpp.html#aef655a27eb82efa299bf9d0becf6e9c8":[11,0,22,14,7], +"dc/dfe/ternary__search_8cpp_source.html":[11,0,22,14], +"dd/d0c/hamiltons__cycle_8cpp.html":[11,0,9,9], +"dd/d0c/hamiltons__cycle_8cpp.html#a0cc94918b6831f308d4fe4fa27f08299":[11,0,9,9,4], +"dd/d0c/hamiltons__cycle_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627":[11,0,9,9,1], +"dd/d0c/hamiltons__cycle_8cpp.html#a45d94ead4cf4e1ff9f87c38bc99f59ae":[11,0,9,9,3], +"dd/d0c/hamiltons__cycle_8cpp.html#abcf824e347eecfeeb69ea0280f34f3e4":[11,0,9,9,0], +"dd/d0c/hamiltons__cycle_8cpp.html#ae7880ce913f3058a35ff106d5be9e243":[11,0,9,9,2], +"dd/d0c/hamiltons__cycle_8cpp_source.html":[11,0,9,9], +"dd/d0d/insertion__sort_8cpp.html":[11,0,23,15], +"dd/d0d/insertion__sort_8cpp.html#a59914553f24088342c139645a02a8a49":[11,0,23,15,0], +"dd/d0d/insertion__sort_8cpp.html#a78cb2f3b97b6db2c062b2a1df05c9ea9":[11,0,23,15,2], +"dd/d0d/insertion__sort_8cpp.html#a88ec9ad42717780d6caaff9d3d6977f9":[11,0,23,15,4], +"dd/d0d/insertion__sort_8cpp.html#a8fe6bac9e03f58abcc2ce26ef3de1b5f":[11,0,23,15,1], +"dd/d0d/insertion__sort_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,23,15,3], +"dd/d0d/insertion__sort_8cpp_source.html":[11,0,23,15], +"dd/d12/vigenere__cipher_8cpp.html":[11,0,2,9], +"dd/d12/vigenere__cipher_8cpp.html#a3cfc3f9b20a0f230a2fcefd31dc6848e":[11,0,2,9,0], +"dd/d12/vigenere__cipher_8cpp.html#a6bd3880ea6820c232c1eddf47553c257":[11,0,2,9,1], +"dd/d12/vigenere__cipher_8cpp.html#ae1a3968e7947464bee7714f6d43b7002":[11,0,2,9,3], +"dd/d12/vigenere__cipher_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,2,9,2], +"dd/d12/vigenere__cipher_8cpp_source.html":[11,0,2,9], +"dd/d1b/structquery.html":[10,0,48], +"dd/d1c/classhash__chain.html":[10,0,35], +"dd/d1c/classhash__chain.html#a55aa5c6753cb8853152d469c375d946a":[10,0,35,4], +"dd/d1c/classhash__chain.html#a6b4b4de1a8c96f98a63a77f650a9dcff":[10,0,35,2], +"dd/d1c/classhash__chain.html#a706964ad13587fc9a8b3fe8381d410ed":[10,0,35,3], +"dd/d1c/classhash__chain.html#a80c8b902a15b4fd062ed727ecf8f3595":[10,0,35,1], +"dd/d1c/classhash__chain.html#a846a2f921f8fb7ea572e03901b671d64":[10,0,35,5], +"dd/d1c/classhash__chain.html#a8b204861e9470377c956d3b5cd313036":[10,0,35,0], +"dd/d1c/classhash__chain.html#ae8457d13620497fa2046ac566252c4b0":[10,0,35,7], +"dd/d1c/classhash__chain.html#ae9ddce410015ed8dda6380130d82d6c2":[10,0,35,6], +"dd/d1e/generate__parentheses_8cpp.html":[11,0,0,0], +"dd/d1e/generate__parentheses_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,0,0,2], +"dd/d1e/generate__parentheses_8cpp.html#gae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,0,0,1], +"dd/d1e/generate__parentheses_8cpp_source.html":[11,0,0,0], +"dd/d1f/classdsu.html":[10,0,30], +"dd/d1f/classdsu.html#a0ce2672c570f4235eafddb0c9a58115a":[10,0,30,4], +"dd/d1f/classdsu.html#a126e3002a464e53cd54b07ba56482a72":[10,0,30,0], +"dd/d1f/classdsu.html#a126e3002a464e53cd54b07ba56482a72":[10,0,30,1], +"dd/d1f/classdsu.html#a16851f78fe390fc1430905c83d6a2f1c":[10,0,30,2], +"dd/d1f/classdsu.html#a16851f78fe390fc1430905c83d6a2f1c":[10,0,30,3], +"dd/d1f/classdsu.html#a1c24228b0f2f49220133fb8c3566a55c":[10,0,30,10], +"dd/d1f/classdsu.html#a1d77aad7fc39fe7140d834cd347e5c63":[10,0,30,15], +"dd/d1f/classdsu.html#a1ef0b0462a0dda63514f641cbb7dd8cb":[10,0,30,16], +"dd/d1f/classdsu.html#a4ade6f16c418fc98b54452f7b0252a53":[10,0,30,14], +"dd/d1f/classdsu.html#a4bf54d33fba178998dbbe4c57f2e9429":[10,0,30,13], +"dd/d1f/classdsu.html#a64d25c5986742f7c234ed449b2ff7303":[10,0,30,8], +"dd/d1f/classdsu.html#a64d25c5986742f7c234ed449b2ff7303":[10,0,30,9], +"dd/d1f/classdsu.html#a696141b8b092466767f4bfe1c5e46cde":[10,0,30,5], +"dd/d1f/classdsu.html#a6ac30c07abca2aaa3b291504c25c3559":[10,0,30,11], +"dd/d1f/classdsu.html#a81897528bdb53fd5e796d75d7dbc430f":[10,0,30,12], +"dd/d1f/classdsu.html#ab8ee27083a3c2e2df80755165a2ec280":[10,0,30,7], +"dd/d1f/classdsu.html#ac0dc3e17e49fe19b159b4ea4096d7b55":[10,0,30,17], +"dd/d1f/classdsu.html#ac713a5b496d0405c82e2808a85e58415":[10,0,30,6], +"dd/d21/namespacewindowed__median.html":[9,0,141], +"dd/d24/namespacedynamic__programming.html":[9,0,28], +"dd/d24/namespacedynamic__programming.html#a066e0e739e7c276eee6e61d5b4d37ce8":[9,0,28,4], +"dd/d24/namespacedynamic__programming.html#a0a2215194e58786c34db1ccaf8031079":[9,0,28,1], +"dd/d24/namespacedynamic__programming.html#a5239174fa0d987f2c67edc1f2af82beb":[9,0,28,3], +"dd/d24/namespacedynamic__programming.html#af046365a8d77a1267acc082f86135a26":[9,0,28,0], +"dd/d24/namespacedynamic__programming.html#afe9f45b6e30ee187509da2d1d0093412":[9,0,28,2], +"dd/d29/false__position_8cpp.html":[11,0,15,5], +"dd/d29/false__position_8cpp.html#a7d69b49dc37da1c02b3ab8c7fe783494":[11,0,15,5,3], +"dd/d29/false__position_8cpp.html#a85a6ec58b5064d63d4f0df3854496713":[11,0,15,5,0], +"dd/d29/false__position_8cpp.html#a85cb7bfb90abc898e042d624372c5345":[11,0,15,5,2], +"dd/d29/false__position_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,15,5,1], +"dd/d29/false__position_8cpp_source.html":[11,0,15,5], +"dd/d2e/namespacedata__structures_1_1treap.html":[9,0,21,0], +"dd/d2e/namespacedata__structures_1_1treap.html#ad939ec178d0069aeea14b7d6d7d12099":[9,0,21,0,1], +"dd/d2f/class_trie.html":[10,0,59], +"dd/d2f/class_trie.html#a26941759ecf94d67a27d4a610bc0f63d":[10,0,59,4], +"dd/d2f/class_trie.html#a411e77126930a0942dd7b65e96b15206":[10,0,59,5], +"dd/d2f/class_trie.html#a6af57e9f25d0d0a2d59eea5a4a802908":[10,0,59,1], +"dd/d2f/class_trie.html#a6d10eb1669453395d1900ebd401954fb":[10,0,59,2], +"dd/d2f/class_trie.html#afd8b79959009b554e98ea7128b2886f2":[10,0,59,3], +"dd/d40/classdata__structures_1_1tree__234_1_1_node.html":[10,0,2,6,0], +"dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a164574a9209b5df66368530d090b32c4":[10,0,2,6,0,2], +"dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a22fd25c6c811c64b6b27b0850d8c532f":[10,0,2,6,0,1], +"dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a2753b6053b8c86c5bd987a44fdfa0a57":[10,0,2,6,0,10], +"dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a28944bb16ec22650b47fe3e80e3e13f8":[10,0,2,6,0,20], +"dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a306a30931f54c84098b38d6bc8f4a956":[10,0,2,6,0,15], +"dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a441cbee9896391f2b167d5aa7b4f8c95":[10,0,2,6,0,8], +"dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a4808acb43668ff8cfd6f7cb44ceedad3":[10,0,2,6,0,5], +"dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a4a37381c0ef93d5ae2118b2e554974dd":[10,0,2,6,0,18], +"dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a5438d0a47850f520b2262b5a42f75b71":[10,0,2,6,0,11], +"dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a607d8201b00b142bf1d6a34df2f936e8":[10,0,2,6,0,19], +"dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a650f0ef26b7450e1addb5d80bb0ed629":[10,0,2,6,0,6], +"dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a6c5f929afcbad5219646990edee22e18":[10,0,2,6,0,17], +"dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a731f9ae385840cf0a06d55e7f9924a94":[10,0,2,6,0,13], +"dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a8417d01c88b99ca56289843509fb71f9":[10,0,2,6,0,26], +"dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a8e809ae85ae00e937f67ddb76951b6bb":[10,0,2,6,0,14], +"dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a91322b3bb0b2b2175eb56e9e10d7db46":[10,0,2,6,0,12], +"dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a934e6d53cfefae2b971e1241a8a4c921":[10,0,2,6,0,25], +"dd/d40/classdata__structures_1_1tree__234_1_1_node.html#aaa89a3016b5dd1be3552321c34343cbc":[10,0,2,6,0,23], +"dd/d40/classdata__structures_1_1tree__234_1_1_node.html#aac82e17daa088ede9ee00dc69c1e6f06":[10,0,2,6,0,4], +"dd/d40/classdata__structures_1_1tree__234_1_1_node.html#ab4e5f7b7b260bb81d9441652cc124c74":[10,0,2,6,0,21], +"dd/d40/classdata__structures_1_1tree__234_1_1_node.html#ab654d7376d3449fdc78edab0e7fed06e":[10,0,2,6,0,7], +"dd/d40/classdata__structures_1_1tree__234_1_1_node.html#ac6f619a1605cb46196360889fff4529e":[10,0,2,6,0,9], +"dd/d40/classdata__structures_1_1tree__234_1_1_node.html#ad5219979ea9a8baa3a273a9ec0f0c670":[10,0,2,6,0,0], +"dd/d40/classdata__structures_1_1tree__234_1_1_node.html#ad5d6b6ce5fab21ccc88c6bf3153eee5d":[10,0,2,6,0,24], +"dd/d40/classdata__structures_1_1tree__234_1_1_node.html#ad632a0440295bc88ceadae7478fe0d37":[10,0,2,6,0,3], +"dd/d40/classdata__structures_1_1tree__234_1_1_node.html#af564fd4b0992fff69f90de201542d3d1":[10,0,2,6,0,22], +"dd/d40/classdata__structures_1_1tree__234_1_1_node.html#afd9f83e2d5d7f22f79c1348e98914631":[10,0,2,6,0,16], +"dd/d43/namespace_m_d5.html":[9,0,70], +"dd/d47/namespacemath.html":[9,0,69], +"dd/d47/namespacemath.html#a006c8ebd11bb1e035815dc835a1a7a85":[9,0,69,0], +"dd/d47/namespacemath.html#a04065193d190d605e1f0d0d93a87e244":[9,0,69,21], +"dd/d47/namespacemath.html#a0efb235330ff48e14fd31faaccbcebb3":[9,0,69,26], +"dd/d47/namespacemath.html#a1d4df7a4e43a2eac1acc0ac610487c73":[9,0,69,12], +"dd/d47/namespacemath.html#a2565c745aac2f9561cc6fd9e56d9b77a":[9,0,69,19], +"dd/d47/namespacemath.html#a2d704a7b72a6b2db8b76c8581b577b2c":[9,0,69,45], +"dd/d47/namespacemath.html#a3277e65a8f380e7632791975bfba0efb":[9,0,69,15], +"dd/d47/namespacemath.html#a34d66a77c19ce9b8b3a3d14352b34551":[9,0,69,38], +"dd/d47/namespacemath.html#a3d1e4db743b189f309327572663415f3":[9,0,69,44], +"dd/d47/namespacemath.html#a3fdc74c24697ec5bb5c3698c96117c12":[9,0,69,35], +"dd/d47/namespacemath.html#a3fe35440c27758ecc2287e08217d63a7":[9,0,69,7], +"dd/d47/namespacemath.html#a40e36c67da78d2131408c57ee091ad75":[9,0,69,5], +"dd/d47/namespacemath.html#a428769a16e9525e56588d7c7709d25a6":[9,0,69,34], +"dd/d47/namespacemath.html#a50936ee98f4d40f17823befc65a32aec":[9,0,69,42], +"dd/d47/namespacemath.html#a5de184925e68658f15415dd53954df4f":[9,0,69,25], +"dd/d47/namespacemath.html#a6c72f756a7bf1b9043c357e3fe7814ca":[9,0,69,17], +"dd/d47/namespacemath.html#a6e2dff75c5de70455b90c799d6ad6967":[9,0,69,23], +"dd/d47/namespacemath.html#a7e78996673df791014cfe540b183456a":[9,0,69,14], +"dd/d47/namespacemath.html#a8998ca7b1886d1d7d00aef3b457a9b1b":[9,0,69,9] }; diff --git a/navtreeindex12.js b/navtreeindex12.js index bfb0c73ab..5c65f911a 100644 --- a/navtreeindex12.js +++ b/navtreeindex12.js @@ -1,253 +1,253 @@ var NAVTREEINDEX12 = { -"dc/d1a/pascal__triangle_8cpp.html#a4fc0e5a112f715c3a73989450b2cc5fd":[11,0,17,16,1], -"dc/d1a/pascal__triangle_8cpp.html#ad7a31d9cb2818d21b1ba12aead7f4c5c":[11,0,17,16,2], -"dc/d1a/pascal__triangle_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,17,16,0], -"dc/d1f/classcatalan__numbers.html":[10,0,23], -"dc/d1f/classcatalan__numbers.html#a54655c66cf89186d3d1fa90829b28ab8":[10,0,23,0], -"dc/d2f/namespacecount__of__trailing__ciphers__in__factorial__n.html":[9,0,17], -"dc/d38/ordinary__least__squares__regressor_8cpp.html":[11,0,13,5], -"dc/d38/ordinary__least__squares__regressor_8cpp.html#a01e6c7bf2b09272578b9c5819ce0f36f":[11,0,13,5,10], -"dc/d38/ordinary__least__squares__regressor_8cpp.html#a207b3a99fd5974d3117e0b0ac0aad234":[11,0,13,5,6], -"dc/d38/ordinary__least__squares__regressor_8cpp.html#a21c80569aaffb7bf1657e54fa4b97deb":[11,0,13,5,2], -"dc/d38/ordinary__least__squares__regressor_8cpp.html#a42535e20e97d85aa61271e0894cc0359":[11,0,13,5,9], -"dc/d38/ordinary__least__squares__regressor_8cpp.html#a4261f3c3c3dfdb86f3004eb8aaffea8d":[11,0,13,5,5], -"dc/d38/ordinary__least__squares__regressor_8cpp.html#a4a6a560dbdd0177633783b72db37dc19":[11,0,13,5,11], -"dc/d38/ordinary__least__squares__regressor_8cpp.html#a7075a0fccad9b2d79be0275bfe8948d4":[11,0,13,5,13], -"dc/d38/ordinary__least__squares__regressor_8cpp.html#a7a2d742b9a3ae7b85292e1f86428bb4f":[11,0,13,5,12], -"dc/d38/ordinary__least__squares__regressor_8cpp.html#a865e8d26a01962cc93aca66e71346f37":[11,0,13,5,8], -"dc/d38/ordinary__least__squares__regressor_8cpp.html#a8fa731952b0ee3bc7ec51c51ed21911e":[11,0,13,5,3], -"dc/d38/ordinary__least__squares__regressor_8cpp.html#aaddc683af581b51351e1023d2a01ef3b":[11,0,13,5,0], -"dc/d38/ordinary__least__squares__regressor_8cpp.html#ab1ad727903d7817c2758d25bcb52cbc8":[11,0,13,5,14], -"dc/d38/ordinary__least__squares__regressor_8cpp.html#ade6e463f37878fe2a219f927c65b5493":[11,0,13,5,15], -"dc/d38/ordinary__least__squares__regressor_8cpp.html#ae2edd40354a1ca7aeaee3d1e3589e713":[11,0,13,5,7], -"dc/d38/ordinary__least__squares__regressor_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,13,5,4], -"dc/d38/ordinary__least__squares__regressor_8cpp.html#af7243bdc6ae3c7169f01b85bb226e66a":[11,0,13,5,1], -"dc/d3a/namespacesubset__sum.html":[9,0,126], -"dc/d5a/rat__maze_8cpp.html":[11,0,0,7], -"dc/d5a/rat__maze_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,0,7,2], -"dc/d5a/rat__maze_8cpp.html#ab99107bfb4c6934cd4691868c66c0aa3":[11,0,0,7,1], -"dc/d5a/rat__maze_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,0,7,0], -"dc/d61/classgraph_1_1_graph.html":[9,0,39,0], -"dc/d61/classgraph_1_1_graph.html":[10,0,6,2], -"dc/d61/classgraph_1_1_graph.html#a3755ec9e6a842238c7f4aac10b661981":[9,0,39,0,2], -"dc/d61/classgraph_1_1_graph.html#a3755ec9e6a842238c7f4aac10b661981":[10,0,6,2,2], -"dc/d61/classgraph_1_1_graph.html#a59940c462861f2fcf4951d1b6c084e6a":[9,0,39,0,5], -"dc/d61/classgraph_1_1_graph.html#a59940c462861f2fcf4951d1b6c084e6a":[10,0,6,2,5], -"dc/d61/classgraph_1_1_graph.html#a877b2cba40d8d46dde6fb4209effed19":[9,0,39,0,1], -"dc/d61/classgraph_1_1_graph.html#a877b2cba40d8d46dde6fb4209effed19":[10,0,6,2,1], -"dc/d61/classgraph_1_1_graph.html#a8839fa14bff19d2deab4a618447c13e5":[9,0,39,0,0], -"dc/d61/classgraph_1_1_graph.html#a8839fa14bff19d2deab4a618447c13e5":[10,0,6,2,0], -"dc/d61/classgraph_1_1_graph.html#a8930d1470d132b19e430d1c71f94c904":[9,0,39,0,3], -"dc/d61/classgraph_1_1_graph.html#a8930d1470d132b19e430d1c71f94c904":[10,0,6,2,3], -"dc/d61/classgraph_1_1_graph.html#acebf0505d625b043bb9c8c27c7a8def0":[9,0,39,0,4], -"dc/d61/classgraph_1_1_graph.html#acebf0505d625b043bb9c8c27c7a8def0":[10,0,6,2,4], -"dc/d64/md__coding_guidelines.html":[2], -"dc/d64/md__coding_guidelines.html#autotoc_md18":[2,0], -"dc/d64/md__coding_guidelines.html#autotoc_md20":[2,1], -"dc/d67/subset__sum__dynamic_8cpp.html":[11,0,6,15], -"dc/d67/subset__sum__dynamic_8cpp.html#a280fcfb2f6fe49a31c4da572e7032607":[11,0,6,15,2], -"dc/d67/subset__sum__dynamic_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,6,15,3], -"dc/d67/subset__sum__dynamic_8cpp.html#ac94e6c0dee11278ac0a5491f1b9a4a50":[11,0,6,15,1], -"dc/d67/subset__sum__dynamic_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,6,15,0], -"dc/d6d/power__of__2_8cpp.html":[11,0,1,6], -"dc/d6d/power__of__2_8cpp.html#a5032470c9974bbd6ec254bf296530a5f":[11,0,1,6,0], -"dc/d6d/power__of__2_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,1,6,2], -"dc/d6d/power__of__2_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,1,6,1], -"dc/d6d/structstd_1_1is__arithmetic_3_01uint256__t_01_4.html":[9,0,118,6], -"dc/d6d/structstd_1_1is__arithmetic_3_01uint256__t_01_4.html":[10,0,19,1], -"dc/d82/area_8cpp.html":[11,0,14,2], -"dc/d82/area_8cpp.html#a3277e65a8f380e7632791975bfba0efb":[11,0,14,2,3], -"dc/d82/area_8cpp.html#a40e36c67da78d2131408c57ee091ad75":[11,0,14,2,0], -"dc/d82/area_8cpp.html#a5de184925e68658f15415dd53954df4f":[11,0,14,2,5], -"dc/d82/area_8cpp.html#a971ce57e368f2f631cf1f4ff3f864049":[11,0,14,2,8], -"dc/d82/area_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,14,2,9], -"dc/d82/area_8cpp.html#ab31d141f7c5b551746b1eee0eb4dedca":[11,0,14,2,6], -"dc/d82/area_8cpp.html#ab3b920cc56442abd92279ba23b50f4dc":[11,0,14,2,10], -"dc/d82/area_8cpp.html#ab7f29862d30df351c317eedd60a0c656":[11,0,14,2,7], -"dc/d82/area_8cpp.html#abc46c784a297fc1d2eb8b33a327fba4c":[11,0,14,2,1], -"dc/d82/area_8cpp.html#ac5803413618fcfb922cb32c6db0fc864":[11,0,14,2,2], -"dc/d82/area_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,14,2,4], -"dc/d93/classmachine__learning_1_1neural__network_1_1layers_1_1_dense_layer.html":[10,0,10,2,0,0], -"dc/d93/classmachine__learning_1_1neural__network_1_1layers_1_1_dense_layer.html#a11046825be0b6dbb73fbe834aa49200e":[10,0,10,2,0,0,0], -"dc/d93/classmachine__learning_1_1neural__network_1_1layers_1_1_dense_layer.html#a19aaccad279b22dbbb6c55e5697b4114":[10,0,10,2,0,0,6], -"dc/d93/classmachine__learning_1_1neural__network_1_1layers_1_1_dense_layer.html#a2871146feaaa453558239df67b21e0d2":[10,0,10,2,0,0,2], -"dc/d93/classmachine__learning_1_1neural__network_1_1layers_1_1_dense_layer.html#a6c859e3737aa88b29854df0347b29f4e":[10,0,10,2,0,0,4], -"dc/d93/classmachine__learning_1_1neural__network_1_1layers_1_1_dense_layer.html#ac9cda9453c4a0caf5bae7f9213b019a0":[10,0,10,2,0,0,3], -"dc/d93/classmachine__learning_1_1neural__network_1_1layers_1_1_dense_layer.html#ae077132526d2863e46aa77cb0f7d6aa2":[10,0,10,2,0,0,5], -"dc/d93/classmachine__learning_1_1neural__network_1_1layers_1_1_dense_layer.html#af136ec31dbd35b1be2eb9a057677c704":[10,0,10,2,0,0,1], -"dc/d93/trie__modern_8cpp.html":[11,0,4,23], -"dc/d93/trie__modern_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,4,23,2], -"dc/d9c/babylonian__method_8cpp.html":[11,0,15,0], -"dc/d9c/babylonian__method_8cpp.html#a28e67885f8606564cc8335f483f63309":[11,0,15,0,0], -"dc/d9c/babylonian__method_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,15,0,2], -"dc/d9c/babylonian__method_8cpp.html#abf9e6b7e6f15df4b525a2e7705ba3089":[11,0,15,0,1], -"dc/daa/lru__cache2_8cpp.html":[11,0,17,12], -"dc/daa/lru__cache2_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,17,12,3], -"dc/daa/lru__cache2_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,17,12,2], -"dc/db5/struct_queue.html":[10,0,49], -"dc/db5/text__search_8cpp.html":[11,0,21,13], -"dc/db5/text__search_8cpp.html#a3f8975d227cd0e58f298b380c5dac0d9":[11,0,21,13,0], -"dc/db5/text__search_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,21,13,2], -"dc/db5/text__search_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,21,13,1], -"dc/dc4/_2_users_2runner_2work_2_c-_plus-_plus_2_c-_plus-_plus_2numerical_methods_2rungekutta_8cpp-example.html":[12,3], -"dc/dc5/namespacereverse__binary__tree.html":[9,0,103], -"dc/dc5/paranthesis__matching_8cpp.html":[11,0,17,15], -"dc/dc5/paranthesis__matching_8cpp.html#a392fb874e547e582e9c66a08a1f23326":[11,0,17,15,0], -"dc/dc5/paranthesis__matching_8cpp.html#a6d25c7dfbfeb52c3cb9d1b56ab49b664":[11,0,17,15,2], -"dc/dc5/paranthesis__matching_8cpp.html#aa37d24a036d239b3b528f13b9de880c7":[11,0,17,15,4], -"dc/dc5/paranthesis__matching_8cpp.html#aae41c72130114bf31204cde6873b6095":[11,0,17,15,3], -"dc/dc5/paranthesis__matching_8cpp.html#ade525d33459755a32ba21e1b6910ff21":[11,0,17,15,1], -"dc/dc5/paranthesis__matching_8cpp.html#af4c937d823c412d99fbe60c99dbf0a4f":[11,0,17,15,5], -"dc/dd4/classdata__structures_1_1_bloom_filter.html":[9,0,21,2], -"dc/dd4/classdata__structures_1_1_bloom_filter.html":[10,0,2,9], -"dc/dd4/classdata__structures_1_1_bloom_filter.html#a576db259488dbfb67624a9652a5ab08b":[9,0,21,2,2], -"dc/dd4/classdata__structures_1_1_bloom_filter.html#a576db259488dbfb67624a9652a5ab08b":[10,0,2,9,2], -"dc/dd4/classdata__structures_1_1_bloom_filter.html#a65ca6742d3be88d4aca4f080068a7a80":[9,0,21,2,3], -"dc/dd4/classdata__structures_1_1_bloom_filter.html#a65ca6742d3be88d4aca4f080068a7a80":[10,0,2,9,3], -"dc/dd4/classdata__structures_1_1_bloom_filter.html#a67bed8ef62fcb1f33b6c72df47dcf840":[9,0,21,2,1], -"dc/dd4/classdata__structures_1_1_bloom_filter.html#a67bed8ef62fcb1f33b6c72df47dcf840":[10,0,2,9,1], -"dc/dd4/classdata__structures_1_1_bloom_filter.html#a6910d29951b57ab56e7a3db405aa1f1a":[9,0,21,2,0], -"dc/dd4/classdata__structures_1_1_bloom_filter.html#a6910d29951b57ab56e7a3db405aa1f1a":[10,0,2,9,0], -"dc/dd4/classdata__structures_1_1_bloom_filter.html#a90268d7901e2c1ab5f8bf8b24a30e119":[9,0,21,2,4], -"dc/dd4/classdata__structures_1_1_bloom_filter.html#a90268d7901e2c1ab5f8bf8b24a30e119":[10,0,2,9,4], -"dc/dd9/strand__sort_8cpp.html":[11,0,22,25], -"dc/dd9/strand__sort_8cpp.html#a2bea2fe5dd38ed63610fdeaddf5785cd":[11,0,22,25,1], -"dc/dd9/strand__sort_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,22,25,2], -"dc/dd9/strand__sort_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,22,25,0], -"dc/de1/recursive__tree__traversal_8cpp.html":[11,0,17,19], -"dc/de1/recursive__tree__traversal_8cpp.html#a0283886819c7c140a023582b7269e2d0":[11,0,17,19,4], -"dc/de1/recursive__tree__traversal_8cpp.html#a1440a7779ac56f47a3f355ce4a8c7da0":[11,0,17,19,3], -"dc/de1/recursive__tree__traversal_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e":[11,0,17,19,6], -"dc/de1/recursive__tree__traversal_8cpp.html#a6d0455dd5c30adda100e95f0423c786e":[11,0,17,19,5], -"dc/de1/recursive__tree__traversal_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,17,19,2], -"dc/dfb/atbash__cipher_8cpp.html":[11,0,2,1], -"dc/dfb/atbash__cipher_8cpp.html#a8f7dd4dcd3df7c512c20482afc2dbb9d":[11,0,2,1,0], -"dc/dfb/atbash__cipher_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,2,1,2], -"dc/dfb/atbash__cipher_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,2,1,1], -"dc/dfe/ternary__search_8cpp.html":[11,0,21,12], -"dc/dfe/ternary__search_8cpp.html#a23ad617bfce1e7cf4591059c85c1a027":[11,0,21,12,0], -"dc/dfe/ternary__search_8cpp.html#a392fb874e547e582e9c66a08a1f23326":[11,0,21,12,2], -"dc/dfe/ternary__search_8cpp.html#a7f7d866eccdabe51bb16818a792618b1":[11,0,21,12,3], -"dc/dfe/ternary__search_8cpp.html#a93d0099db95022f1eb90ddfd68f73ead":[11,0,21,12,6], -"dc/dfe/ternary__search_8cpp.html#ae01eda5098801bb6b5b778828fb4fddc":[11,0,21,12,1], -"dc/dfe/ternary__search_8cpp.html#ae30dfe2894191bfeffe5b3b1854b95b0":[11,0,21,12,4], -"dc/dfe/ternary__search_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,21,12,5], -"dc/dfe/ternary__search_8cpp.html#aef655a27eb82efa299bf9d0becf6e9c8":[11,0,21,12,7], -"dd/d0c/hamiltons__cycle_8cpp.html":[11,0,9,7], -"dd/d0c/hamiltons__cycle_8cpp.html#a0cc94918b6831f308d4fe4fa27f08299":[11,0,9,7,4], -"dd/d0c/hamiltons__cycle_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627":[11,0,9,7,1], -"dd/d0c/hamiltons__cycle_8cpp.html#a45d94ead4cf4e1ff9f87c38bc99f59ae":[11,0,9,7,3], -"dd/d0c/hamiltons__cycle_8cpp.html#abcf824e347eecfeeb69ea0280f34f3e4":[11,0,9,7,0], -"dd/d0c/hamiltons__cycle_8cpp.html#ae7880ce913f3058a35ff106d5be9e243":[11,0,9,7,2], -"dd/d0d/insertion__sort_8cpp.html":[11,0,22,9], -"dd/d0d/insertion__sort_8cpp.html#a59914553f24088342c139645a02a8a49":[11,0,22,9,0], -"dd/d0d/insertion__sort_8cpp.html#a78cb2f3b97b6db2c062b2a1df05c9ea9":[11,0,22,9,2], -"dd/d0d/insertion__sort_8cpp.html#a88ec9ad42717780d6caaff9d3d6977f9":[11,0,22,9,4], -"dd/d0d/insertion__sort_8cpp.html#a8fe6bac9e03f58abcc2ce26ef3de1b5f":[11,0,22,9,1], -"dd/d0d/insertion__sort_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,22,9,3], -"dd/d12/vigenere__cipher_8cpp.html":[11,0,2,8], -"dd/d12/vigenere__cipher_8cpp.html#a3cfc3f9b20a0f230a2fcefd31dc6848e":[11,0,2,8,0], -"dd/d12/vigenere__cipher_8cpp.html#a6bd3880ea6820c232c1eddf47553c257":[11,0,2,8,1], -"dd/d12/vigenere__cipher_8cpp.html#ae1a3968e7947464bee7714f6d43b7002":[11,0,2,8,3], -"dd/d12/vigenere__cipher_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,2,8,2], -"dd/d1b/structquery.html":[10,0,48], -"dd/d1c/classhash__chain.html":[10,0,35], -"dd/d1c/classhash__chain.html#a55aa5c6753cb8853152d469c375d946a":[10,0,35,4], -"dd/d1c/classhash__chain.html#a6b4b4de1a8c96f98a63a77f650a9dcff":[10,0,35,2], -"dd/d1c/classhash__chain.html#a706964ad13587fc9a8b3fe8381d410ed":[10,0,35,3], -"dd/d1c/classhash__chain.html#a80c8b902a15b4fd062ed727ecf8f3595":[10,0,35,1], -"dd/d1c/classhash__chain.html#a846a2f921f8fb7ea572e03901b671d64":[10,0,35,5], -"dd/d1c/classhash__chain.html#a8b204861e9470377c956d3b5cd313036":[10,0,35,0], -"dd/d1c/classhash__chain.html#ae8457d13620497fa2046ac566252c4b0":[10,0,35,7], -"dd/d1c/classhash__chain.html#ae9ddce410015ed8dda6380130d82d6c2":[10,0,35,6], -"dd/d1e/generate__parentheses_8cpp.html":[11,0,0,0], -"dd/d1e/generate__parentheses_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,0,0,2], -"dd/d1e/generate__parentheses_8cpp.html#gae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,0,0,1], -"dd/d1f/classdsu.html":[10,0,30], -"dd/d1f/classdsu.html#a0ce2672c570f4235eafddb0c9a58115a":[10,0,30,4], -"dd/d1f/classdsu.html#a126e3002a464e53cd54b07ba56482a72":[10,0,30,0], -"dd/d1f/classdsu.html#a126e3002a464e53cd54b07ba56482a72":[10,0,30,1], -"dd/d1f/classdsu.html#a16851f78fe390fc1430905c83d6a2f1c":[10,0,30,2], -"dd/d1f/classdsu.html#a16851f78fe390fc1430905c83d6a2f1c":[10,0,30,3], -"dd/d1f/classdsu.html#a1c24228b0f2f49220133fb8c3566a55c":[10,0,30,10], -"dd/d1f/classdsu.html#a1d77aad7fc39fe7140d834cd347e5c63":[10,0,30,15], -"dd/d1f/classdsu.html#a1ef0b0462a0dda63514f641cbb7dd8cb":[10,0,30,16], -"dd/d1f/classdsu.html#a4ade6f16c418fc98b54452f7b0252a53":[10,0,30,14], -"dd/d1f/classdsu.html#a4bf54d33fba178998dbbe4c57f2e9429":[10,0,30,13], -"dd/d1f/classdsu.html#a64d25c5986742f7c234ed449b2ff7303":[10,0,30,8], -"dd/d1f/classdsu.html#a64d25c5986742f7c234ed449b2ff7303":[10,0,30,9], -"dd/d1f/classdsu.html#a696141b8b092466767f4bfe1c5e46cde":[10,0,30,5], -"dd/d1f/classdsu.html#a6ac30c07abca2aaa3b291504c25c3559":[10,0,30,11], -"dd/d1f/classdsu.html#a81897528bdb53fd5e796d75d7dbc430f":[10,0,30,12], -"dd/d1f/classdsu.html#ab8ee27083a3c2e2df80755165a2ec280":[10,0,30,7], -"dd/d1f/classdsu.html#ac0dc3e17e49fe19b159b4ea4096d7b55":[10,0,30,17], -"dd/d1f/classdsu.html#ac713a5b496d0405c82e2808a85e58415":[10,0,30,6], -"dd/d21/namespacewindowed__median.html":[9,0,142], -"dd/d24/namespacedynamic__programming.html":[9,0,28], -"dd/d24/namespacedynamic__programming.html#a066e0e739e7c276eee6e61d5b4d37ce8":[9,0,28,4], -"dd/d24/namespacedynamic__programming.html#a0a2215194e58786c34db1ccaf8031079":[9,0,28,1], -"dd/d24/namespacedynamic__programming.html#a5239174fa0d987f2c67edc1f2af82beb":[9,0,28,3], -"dd/d24/namespacedynamic__programming.html#af046365a8d77a1267acc082f86135a26":[9,0,28,0], -"dd/d24/namespacedynamic__programming.html#afe9f45b6e30ee187509da2d1d0093412":[9,0,28,2], -"dd/d29/false__position_8cpp.html":[11,0,15,5], -"dd/d29/false__position_8cpp.html#a7d69b49dc37da1c02b3ab8c7fe783494":[11,0,15,5,3], -"dd/d29/false__position_8cpp.html#a85a6ec58b5064d63d4f0df3854496713":[11,0,15,5,0], -"dd/d29/false__position_8cpp.html#a85cb7bfb90abc898e042d624372c5345":[11,0,15,5,2], -"dd/d29/false__position_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,15,5,1], -"dd/d2e/namespacedata__structures_1_1treap.html":[9,0,21,0], -"dd/d2e/namespacedata__structures_1_1treap.html#ad939ec178d0069aeea14b7d6d7d12099":[9,0,21,0,1], -"dd/d2f/class_trie.html":[10,0,59], -"dd/d2f/class_trie.html#a26941759ecf94d67a27d4a610bc0f63d":[10,0,59,4], -"dd/d2f/class_trie.html#a411e77126930a0942dd7b65e96b15206":[10,0,59,5], -"dd/d2f/class_trie.html#a6af57e9f25d0d0a2d59eea5a4a802908":[10,0,59,1], -"dd/d2f/class_trie.html#a6d10eb1669453395d1900ebd401954fb":[10,0,59,2], -"dd/d2f/class_trie.html#afd8b79959009b554e98ea7128b2886f2":[10,0,59,3], -"dd/d40/classdata__structures_1_1tree__234_1_1_node.html":[10,0,2,6,0], -"dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a164574a9209b5df66368530d090b32c4":[10,0,2,6,0,2], -"dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a22fd25c6c811c64b6b27b0850d8c532f":[10,0,2,6,0,1], -"dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a2753b6053b8c86c5bd987a44fdfa0a57":[10,0,2,6,0,10], -"dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a28944bb16ec22650b47fe3e80e3e13f8":[10,0,2,6,0,20], -"dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a306a30931f54c84098b38d6bc8f4a956":[10,0,2,6,0,15], -"dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a441cbee9896391f2b167d5aa7b4f8c95":[10,0,2,6,0,8], -"dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a4808acb43668ff8cfd6f7cb44ceedad3":[10,0,2,6,0,5], -"dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a4a37381c0ef93d5ae2118b2e554974dd":[10,0,2,6,0,18], -"dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a5438d0a47850f520b2262b5a42f75b71":[10,0,2,6,0,11], -"dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a607d8201b00b142bf1d6a34df2f936e8":[10,0,2,6,0,19], -"dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a650f0ef26b7450e1addb5d80bb0ed629":[10,0,2,6,0,6], -"dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a6c5f929afcbad5219646990edee22e18":[10,0,2,6,0,17], -"dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a731f9ae385840cf0a06d55e7f9924a94":[10,0,2,6,0,13], -"dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a8417d01c88b99ca56289843509fb71f9":[10,0,2,6,0,26], -"dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a8e809ae85ae00e937f67ddb76951b6bb":[10,0,2,6,0,14], -"dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a91322b3bb0b2b2175eb56e9e10d7db46":[10,0,2,6,0,12], -"dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a934e6d53cfefae2b971e1241a8a4c921":[10,0,2,6,0,25], -"dd/d40/classdata__structures_1_1tree__234_1_1_node.html#aaa89a3016b5dd1be3552321c34343cbc":[10,0,2,6,0,23], -"dd/d40/classdata__structures_1_1tree__234_1_1_node.html#aac82e17daa088ede9ee00dc69c1e6f06":[10,0,2,6,0,4], -"dd/d40/classdata__structures_1_1tree__234_1_1_node.html#ab4e5f7b7b260bb81d9441652cc124c74":[10,0,2,6,0,21], -"dd/d40/classdata__structures_1_1tree__234_1_1_node.html#ab654d7376d3449fdc78edab0e7fed06e":[10,0,2,6,0,7], -"dd/d40/classdata__structures_1_1tree__234_1_1_node.html#ac6f619a1605cb46196360889fff4529e":[10,0,2,6,0,9], -"dd/d40/classdata__structures_1_1tree__234_1_1_node.html#ad5219979ea9a8baa3a273a9ec0f0c670":[10,0,2,6,0,0], -"dd/d40/classdata__structures_1_1tree__234_1_1_node.html#ad5d6b6ce5fab21ccc88c6bf3153eee5d":[10,0,2,6,0,24], -"dd/d40/classdata__structures_1_1tree__234_1_1_node.html#ad632a0440295bc88ceadae7478fe0d37":[10,0,2,6,0,3], -"dd/d40/classdata__structures_1_1tree__234_1_1_node.html#af564fd4b0992fff69f90de201542d3d1":[10,0,2,6,0,22], -"dd/d40/classdata__structures_1_1tree__234_1_1_node.html#afd9f83e2d5d7f22f79c1348e98914631":[10,0,2,6,0,16], -"dd/d43/namespace_m_d5.html":[9,0,70], -"dd/d47/namespacemath.html":[9,0,69], -"dd/d47/namespacemath.html#a006c8ebd11bb1e035815dc835a1a7a85":[9,0,69,0], -"dd/d47/namespacemath.html#a04065193d190d605e1f0d0d93a87e244":[9,0,69,21], -"dd/d47/namespacemath.html#a0efb235330ff48e14fd31faaccbcebb3":[9,0,69,26], -"dd/d47/namespacemath.html#a1d4df7a4e43a2eac1acc0ac610487c73":[9,0,69,12], -"dd/d47/namespacemath.html#a2565c745aac2f9561cc6fd9e56d9b77a":[9,0,69,19], -"dd/d47/namespacemath.html#a2d704a7b72a6b2db8b76c8581b577b2c":[9,0,69,45], -"dd/d47/namespacemath.html#a3277e65a8f380e7632791975bfba0efb":[9,0,69,15], -"dd/d47/namespacemath.html#a34d66a77c19ce9b8b3a3d14352b34551":[9,0,69,38], -"dd/d47/namespacemath.html#a3d1e4db743b189f309327572663415f3":[9,0,69,44], -"dd/d47/namespacemath.html#a3fdc74c24697ec5bb5c3698c96117c12":[9,0,69,35], -"dd/d47/namespacemath.html#a3fe35440c27758ecc2287e08217d63a7":[9,0,69,7], -"dd/d47/namespacemath.html#a40e36c67da78d2131408c57ee091ad75":[9,0,69,5], -"dd/d47/namespacemath.html#a428769a16e9525e56588d7c7709d25a6":[9,0,69,34], -"dd/d47/namespacemath.html#a50936ee98f4d40f17823befc65a32aec":[9,0,69,42], -"dd/d47/namespacemath.html#a5de184925e68658f15415dd53954df4f":[9,0,69,25], -"dd/d47/namespacemath.html#a6c72f756a7bf1b9043c357e3fe7814ca":[9,0,69,17], -"dd/d47/namespacemath.html#a6e2dff75c5de70455b90c799d6ad6967":[9,0,69,23] +"dd/d47/namespacemath.html#a8a48be4d7f14e34c5c92925bc1cbf3bb":[9,0,69,29], +"dd/d47/namespacemath.html#a8d8e81a7cd59644b311ef9adb268f5f0":[9,0,69,22], +"dd/d47/namespacemath.html#a8e6eede206201db0d1dbb618fa969bec":[9,0,69,3], +"dd/d47/namespacemath.html#a91366864111e1fac29722ca45e02ea8f":[9,0,69,36], +"dd/d47/namespacemath.html#a9236348755183644f1225e162d01ab14":[9,0,69,40], +"dd/d47/namespacemath.html#a94db02b3c9e55a69ac1696f30e2f761c":[9,0,69,31], +"dd/d47/namespacemath.html#a971ce57e368f2f631cf1f4ff3f864049":[9,0,69,39], +"dd/d47/namespacemath.html#aa8592c3279c41a2c6d4d64eeb488f63f":[9,0,69,24], +"dd/d47/namespacemath.html#aacb1411ef2029e81f249c21e17c96fdb":[9,0,69,32], +"dd/d47/namespacemath.html#ab31d141f7c5b551746b1eee0eb4dedca":[9,0,69,33], +"dd/d47/namespacemath.html#ab37f3a7302a84179aae682c79d8390bf":[9,0,69,1], +"dd/d47/namespacemath.html#ab3b920cc56442abd92279ba23b50f4dc":[9,0,69,43], +"dd/d47/namespacemath.html#ab7f29862d30df351c317eedd60a0c656":[9,0,69,37], +"dd/d47/namespacemath.html#abc46c784a297fc1d2eb8b33a327fba4c":[9,0,69,8], +"dd/d47/namespacemath.html#abd8f794b2229b42876169ff841b6e444":[9,0,69,18], +"dd/d47/namespacemath.html#abde24398be43538c62e4a496968e60ca":[9,0,69,13], +"dd/d47/namespacemath.html#abf7f2a6d91f1ca6c89698792aea3f188":[9,0,69,2], +"dd/d47/namespacemath.html#ac37d3ba52eb296597d7a024ba8c4a5a5":[9,0,69,27], +"dd/d47/namespacemath.html#ac5803413618fcfb922cb32c6db0fc864":[9,0,69,11], +"dd/d47/namespacemath.html#ad09d59850865012a6fd95d89954c82e4":[9,0,69,30], +"dd/d47/namespacemath.html#ad0acf82b7bc920182bf8322d1e103953":[9,0,69,6], +"dd/d47/namespacemath.html#ae1ca505751f5a6d3977b86372cfe75ea":[9,0,69,4], +"dd/d47/namespacemath.html#ae413098478fa38acaac887b7654f0725":[9,0,69,10], +"dd/d47/namespacemath.html#aec65db4e5c7317323227f026fe50ef11":[9,0,69,16], +"dd/d47/namespacemath.html#af05567415a9ea36c254b54e3d5a2152a":[9,0,69,41], +"dd/d47/namespacemath.html#afa39ec943a4836c878e1614fd89b146f":[9,0,69,20], +"dd/d47/namespacemath.html#afcd07701d73ed65cd616bcba02737f3d":[9,0,69,28], +"dd/d4f/class_solution.html":[10,0,53], +"dd/d5a/structstrings_1_1boyer__moore_1_1pattern.html":[9,0,122,0,0], +"dd/d5a/structstrings_1_1boyer__moore_1_1pattern.html":[10,0,20,0,0], +"dd/d5a/structstrings_1_1boyer__moore_1_1pattern.html#a3d62f615a0171a5d77e7018f704f3a7e":[9,0,122,0,0,1], +"dd/d5a/structstrings_1_1boyer__moore_1_1pattern.html#a3d62f615a0171a5d77e7018f704f3a7e":[10,0,20,0,0,1], +"dd/d5a/structstrings_1_1boyer__moore_1_1pattern.html#ae5ca7abf15e939eddc80542131de3645":[9,0,122,0,0,0], +"dd/d5a/structstrings_1_1boyer__moore_1_1pattern.html#ae5ca7abf15e939eddc80542131de3645":[10,0,20,0,0,0], +"dd/d65/lu__decompose_8cpp.html":[11,0,15,11], +"dd/d65/lu__decompose_8cpp.html#a0283886819c7c140a023582b7269e2d0":[11,0,15,11,3], +"dd/d65/lu__decompose_8cpp.html#a1440a7779ac56f47a3f355ce4a8c7da0":[11,0,15,11,2], +"dd/d65/lu__decompose_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627":[11,0,15,11,0], +"dd/d65/lu__decompose_8cpp.html#a575c989afcc78e875031cd4273e62a3e":[11,0,15,11,1], +"dd/d65/lu__decompose_8cpp_source.html":[11,0,15,11], +"dd/d69/namespacerange__queries.html":[9,0,101], +"dd/d73/namespaceiterative__tree__traversals.html":[9,0,53], +"dd/d74/namespaceinorder__successor__of__bst.html":[9,0,49], +"dd/d81/namespacecaesar.html":[9,0,12], +"dd/d89/insertion__sort__recursive_8cpp.html":[11,0,23,16], +"dd/d89/insertion__sort__recursive_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e":[11,0,23,16,4], +"dd/d89/insertion__sort__recursive_8cpp.html#a59914553f24088342c139645a02a8a49":[11,0,23,16,0], +"dd/d89/insertion__sort__recursive_8cpp.html#a78cb2f3b97b6db2c062b2a1df05c9ea9":[11,0,23,16,2], +"dd/d89/insertion__sort__recursive_8cpp.html#a8fe6bac9e03f58abcc2ce26ef3de1b5f":[11,0,23,16,1], +"dd/d89/insertion__sort__recursive_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,23,16,3], +"dd/d89/insertion__sort__recursive_8cpp_source.html":[11,0,23,16], +"dd/d8a/namespacegeometric__dist.html":[9,0,36], +"dd/d92/memory__game_8cpp.html":[11,0,7,0], +"dd/d92/memory__game_8cpp.html#a33167bb9cce6d527b478b4f6ae8c3f59":[11,0,7,0,3], +"dd/d92/memory__game_8cpp.html#a370760f2b328ad341bcb77d82fa17b01":[11,0,7,0,5], +"dd/d92/memory__game_8cpp.html#a3ceeea62d8fa6c563e2c66359fd73413":[11,0,7,0,1], +"dd/d92/memory__game_8cpp.html#a5714d97649c0edd57b4fb449799676a3":[11,0,7,0,0], +"dd/d92/memory__game_8cpp.html#a5bdc30951221eae9c33413ff9eb574f6":[11,0,7,0,8], +"dd/d92/memory__game_8cpp.html#ac589ef65abb0a6b9a7116ee0f9fd5280":[11,0,7,0,6], +"dd/d92/memory__game_8cpp.html#ad573c8ae66ab66156d03e5e81bbba214":[11,0,7,0,2], +"dd/d92/memory__game_8cpp.html#adc62ebb75853446656e24932bdc6dd6b":[11,0,7,0,7], +"dd/d92/memory__game_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,7,0,4], +"dd/d92/memory__game_8cpp_source.html":[11,0,7,0], +"dd/d95/classdata__structures_1_1_segment_tree.html":[9,0,21,4], +"dd/d95/classdata__structures_1_1_segment_tree.html":[10,0,2,11], +"dd/d95/classdata__structures_1_1_segment_tree.html#a10ffa5fc03c66170f0bc2592b843baa3":[9,0,21,4,6], +"dd/d95/classdata__structures_1_1_segment_tree.html#a10ffa5fc03c66170f0bc2592b843baa3":[10,0,2,11,6], +"dd/d95/classdata__structures_1_1_segment_tree.html#a167fd91b68048e49e97859a8947690f3":[9,0,21,4,7], +"dd/d95/classdata__structures_1_1_segment_tree.html#a167fd91b68048e49e97859a8947690f3":[10,0,2,11,7], +"dd/d95/classdata__structures_1_1_segment_tree.html#a1c5331b509d9b55bedfadf979b30dd5b":[9,0,21,4,3], +"dd/d95/classdata__structures_1_1_segment_tree.html#a1c5331b509d9b55bedfadf979b30dd5b":[10,0,2,11,3], +"dd/d95/classdata__structures_1_1_segment_tree.html#a2a04f1832c5ce86def50c3021b2ab6b1":[9,0,21,4,4], +"dd/d95/classdata__structures_1_1_segment_tree.html#a2a04f1832c5ce86def50c3021b2ab6b1":[10,0,2,11,4], +"dd/d95/classdata__structures_1_1_segment_tree.html#a6d3beccc936af2377c8eeb17067fd141":[9,0,21,4,1], +"dd/d95/classdata__structures_1_1_segment_tree.html#a6d3beccc936af2377c8eeb17067fd141":[10,0,2,11,1], +"dd/d95/classdata__structures_1_1_segment_tree.html#a735d072a603f3abb7c03818440575258":[9,0,21,4,8], +"dd/d95/classdata__structures_1_1_segment_tree.html#a735d072a603f3abb7c03818440575258":[10,0,2,11,8], +"dd/d95/classdata__structures_1_1_segment_tree.html#a8d22286b7be3dcbb701ac5c7d9c79841":[9,0,21,4,0], +"dd/d95/classdata__structures_1_1_segment_tree.html#a8d22286b7be3dcbb701ac5c7d9c79841":[10,0,2,11,0], +"dd/d95/classdata__structures_1_1_segment_tree.html#a8fecc48e8e3f6f5f6e728495a4282e52":[9,0,21,4,2], +"dd/d95/classdata__structures_1_1_segment_tree.html#a8fecc48e8e3f6f5f6e728495a4282e52":[10,0,2,11,2], +"dd/d95/classdata__structures_1_1_segment_tree.html#ad0e78179ab979ae2bc4304bdc181db17":[9,0,21,4,5], +"dd/d95/classdata__structures_1_1_segment_tree.html#ad0e78179ab979ae2bc4304bdc181db17":[10,0,2,11,5], +"dd/d9a/namespacegreedy__algorithms_1_1stable__matching.html":[9,0,42,1], +"dd/d9a/namespacegreedy__algorithms_1_1stable__matching.html#a6d7e84df47dcf19e88f95f8f9040306c":[9,0,42,1,0], +"dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle.html":[10,0,10,0,1], +"dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle.html#a1802cf6197a255055cb734d626abc101":[10,0,10,0,1,14], +"dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle.html#a194c2973b51a5467fc17064a4ea4e6f9":[10,0,10,0,1,4], +"dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle.html#a26a976171392d257ca0f814ed73e0658":[10,0,10,0,1,6], +"dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle.html#a3dc09f4742a0e1167ed202f7bf94721b":[10,0,10,0,1,0], +"dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle.html#a467e722dc1fcc82bfb4cef55744e04e2":[10,0,10,0,1,13], +"dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle.html#a48d054230468b79037964f474d842b6e":[10,0,10,0,1,10], +"dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle.html#a64815f10cf9fb9fdb4cc92731ccf10ba":[10,0,10,0,1,11], +"dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle.html#a94f794bf44f424b1b0ca6ef9f4f6ebd3":[10,0,10,0,1,5], +"dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle.html#a9517e162e2988f7db052296bd550a742":[10,0,10,0,1,16], +"dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle.html#aa17e0227321b109ed91e156ac1332915":[10,0,10,0,1,15], +"dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle.html#aa5c0486c7f29f323a2aced2ab33af420":[10,0,10,0,1,7], +"dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle.html#aa73857052e69b86347859d9148933f71":[10,0,10,0,1,17], +"dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle.html#ab7fd890a7ccf756e4b3313087b76a8c2":[10,0,10,0,1,1], +"dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle.html#ad45fde095ac00effe1fe00b1d85ff9c7":[10,0,10,0,1,2], +"dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle.html#ade14b0e1a88543b91426e2008e4d0f99":[10,0,10,0,1,9], +"dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle.html#ae145ac4a0d2ec58945b58fad3c04f00f":[10,0,10,0,1,8], +"dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle.html#af22395b8e9e04222aa93a329523faef9":[10,0,10,0,1,3], +"dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle.html#af778034b2942ecac6df1e9ec8b5412ee":[10,0,10,0,1,12], +"dd/da0/todo.html":[7], +"dd/da8/pigeonhole__sort_8cpp.html":[11,0,23,24], +"dd/da8/pigeonhole__sort_8cpp.html#a0e9e1b21a1684585e9e50f9afe4d53a3":[11,0,23,24,1], +"dd/da8/pigeonhole__sort_8cpp.html#a34b8683a2b429de5cce57e6d733ec817":[11,0,23,24,2], +"dd/da8/pigeonhole__sort_8cpp.html#a458410412185a5f09199deaff7157a8d":[11,0,23,24,3], +"dd/da8/pigeonhole__sort_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,23,24,0], +"dd/da8/pigeonhole__sort_8cpp.html#af31ec5409537703d9c8a47350386b32a":[11,0,23,24,4], +"dd/da8/pigeonhole__sort_8cpp_source.html":[11,0,23,24], +"dd/dae/namespacecount__of__set__bits.html":[9,0,16], +"dd/db0/_2_users_2runner_2work_2_c-_plus-_plus_2_c-_plus-_plus_2sorting_2wiggle_sort_8cpp-example.html":[12,4], +"dd/db6/structbinary__search__tree_1_1bst__node.html":[10,0,21,0], +"dd/db6/structbinary__search__tree_1_1bst__node.html#a05f3a7aa6c31622f855ce4b5a95e91df":[10,0,21,0,2], +"dd/db6/structbinary__search__tree_1_1bst__node.html#a09da9e5b801ede4764bc812975ff7f29":[10,0,21,0,3], +"dd/db6/structbinary__search__tree_1_1bst__node.html#a51dd9bd6dd32bce3b74dd64557306778":[10,0,21,0,0], +"dd/db6/structbinary__search__tree_1_1bst__node.html#a55c165b9e0e5b50a23104e0604dcc788":[10,0,21,0,1], +"dd/dba/namespacedivide__and__conquer.html":[9,0,24], +"dd/dc3/is__graph__bipartite2_8cpp_source.html":[11,0,9,12], +"dd/dca/class_f_c_f_s.html":[10,0,33], +"dd/dca/class_f_c_f_s.html#a8fbfe4d85f7576b4a7aade07d29fbd69":[10,0,33,0], +"dd/dca/class_f_c_f_s.html#aa25dbe30ba9930b5a7c1a6d11758bd91":[10,0,33,2], +"dd/dca/class_f_c_f_s.html#abb361a612b18bb189aa6d3c49288b793":[10,0,33,1], +"dd/dca/class_f_c_f_s.html#af2594e22a867b308e027623940193d46":[10,0,33,3], +"dd/dd5/swap__sort_8cpp_source.html":[11,0,23,39], +"dd/de1/classothers_1_1recursive__tree__traversals_1_1_b_t.html":[10,0,13,4,0], +"dd/de1/classothers_1_1recursive__tree__traversals_1_1_b_t.html#a6397b78ceec18cb1959a1d159e134da5":[10,0,13,4,0,2], +"dd/de1/classothers_1_1recursive__tree__traversals_1_1_b_t.html#ac9404b65f407f631915515fa2e08a40c":[10,0,13,4,0,1], +"dd/de1/classothers_1_1recursive__tree__traversals_1_1_b_t.html#af16da5fe0f5c54d31778d71d5a042114":[10,0,13,4,0,0], +"dd/dec/a__star__search_8cpp_source.html":[11,0,13,0], +"de/d00/classgraph_1_1is__graph__bipartite_1_1_graph.html":[10,0,6,0,0], +"de/d00/classgraph_1_1is__graph__bipartite_1_1_graph.html#a6aef65b40347c4606662cad4dd2e14d3":[10,0,6,0,0,0], +"de/d00/classgraph_1_1is__graph__bipartite_1_1_graph.html#a816cda7e563198f778fd32e03992763b":[10,0,6,0,0,1], +"de/d00/classgraph_1_1is__graph__bipartite_1_1_graph.html#a9d10768f927baa8a4d4a5ffce295b6b6":[10,0,6,0,0,5], +"de/d00/classgraph_1_1is__graph__bipartite_1_1_graph.html#ab0efcfa04fff8616aff0062522d1483f":[10,0,6,0,0,3], +"de/d00/classgraph_1_1is__graph__bipartite_1_1_graph.html#ad475f8b838693812f7569a490729f373":[10,0,6,0,0,2], +"de/d00/classgraph_1_1is__graph__bipartite_1_1_graph.html#aefea7ee87a708298c486d5a38ac628ef":[10,0,6,0,0,4], +"de/d07/cycle__sort_8cpp.html":[11,0,23,11], +"de/d07/cycle__sort_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,23,11,2], +"de/d07/cycle__sort_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,23,11,1], +"de/d07/cycle__sort_8cpp.html#ae79a9d247691fce0d655fce75f1c04fa":[11,0,23,11,0], +"de/d07/cycle__sort_8cpp_source.html":[11,0,23,11], +"de/d0a/namespacemerge__insertion.html":[9,0,72], +"de/d0d/classrange__queries_1_1fenwick__tree.html":[9,0,101,0], +"de/d0d/classrange__queries_1_1fenwick__tree.html":[10,0,16,1], +"de/d0d/classrange__queries_1_1fenwick__tree.html#a0914a4b1401a7c427de91c92885724fe":[9,0,101,0,4], +"de/d0d/classrange__queries_1_1fenwick__tree.html#a0914a4b1401a7c427de91c92885724fe":[10,0,16,1,4], +"de/d0d/classrange__queries_1_1fenwick__tree.html#a19dea5e88bbd7683a719030623315de9":[9,0,101,0,5], +"de/d0d/classrange__queries_1_1fenwick__tree.html#a19dea5e88bbd7683a719030623315de9":[10,0,16,1,5], +"de/d0d/classrange__queries_1_1fenwick__tree.html#a1fa0559d987fde0044761b17b35f5abd":[9,0,101,0,3], +"de/d0d/classrange__queries_1_1fenwick__tree.html#a1fa0559d987fde0044761b17b35f5abd":[10,0,16,1,3], +"de/d0d/classrange__queries_1_1fenwick__tree.html#a5ea37183524553bbf2234a36a44a4b9a":[9,0,101,0,0], +"de/d0d/classrange__queries_1_1fenwick__tree.html#a5ea37183524553bbf2234a36a44a4b9a":[10,0,16,1,0], +"de/d0d/classrange__queries_1_1fenwick__tree.html#ab492ebf07cab0e3c32d277ad986de801":[9,0,101,0,2], +"de/d0d/classrange__queries_1_1fenwick__tree.html#ab492ebf07cab0e3c32d277ad986de801":[10,0,16,1,2], +"de/d0d/classrange__queries_1_1fenwick__tree.html#aef7ba885b91af093e9e514358fa0f36c":[9,0,101,0,1], +"de/d0d/classrange__queries_1_1fenwick__tree.html#aef7ba885b91af093e9e514358fa0f36c":[10,0,16,1,1], +"de/d0d/classrange__queries_1_1fenwick__tree.html#af7b7a8c1c5724ed8683d7e28bef526e6":[9,0,101,0,6], +"de/d0d/classrange__queries_1_1fenwick__tree.html#af7b7a8c1c5724ed8683d7e28bef526e6":[10,0,16,1,6], +"de/d0d/classrange__queries_1_1fenwick__tree.html#af9f543aa5976b8cc5422490b3d6250c6":[9,0,101,0,7], +"de/d0d/classrange__queries_1_1fenwick__tree.html#af9f543aa5976b8cc5422490b3d6250c6":[10,0,16,1,7], +"de/d0d/fibonacci__search_8cpp.html":[11,0,22,2], +"de/d0d/fibonacci__search_8cpp.html#a0bc61b3903d9a53061bf31e5d110fe61":[11,0,22,2,0], +"de/d0d/fibonacci__search_8cpp.html#a2aa09bef74ee063c1331de0883af4f4f":[11,0,22,2,3], +"de/d0d/fibonacci__search_8cpp.html#a5e144326104e57a3808aed7eb098db0d":[11,0,22,2,2], +"de/d0d/fibonacci__search_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,22,2,1], +"de/d0d/fibonacci__search_8cpp_source.html":[11,0,22,2], +"de/d1e/armstrong__number_8cpp_source.html":[11,0,14,3], +"de/d21/classothers_1_1_cache_1_1_d___node.html":[9,0,88,0,0], +"de/d21/classothers_1_1_cache_1_1_d___node.html":[10,0,13,0,0], +"de/d21/classothers_1_1_cache_1_1_d___node.html#a0043eb287c54b3b2fb91ce354878a7bd":[9,0,88,0,0,1], +"de/d21/classothers_1_1_cache_1_1_d___node.html#a0043eb287c54b3b2fb91ce354878a7bd":[10,0,13,0,0,1], +"de/d21/classothers_1_1_cache_1_1_d___node.html#a19e954cbb710ea8318bcb6aaef78e2d5":[9,0,88,0,0,2], +"de/d21/classothers_1_1_cache_1_1_d___node.html#a19e954cbb710ea8318bcb6aaef78e2d5":[10,0,13,0,0,2], +"de/d21/classothers_1_1_cache_1_1_d___node.html#a8902e7ff872fa3c80fe6ce5f5cf5cc75":[9,0,88,0,0,0], +"de/d21/classothers_1_1_cache_1_1_d___node.html#a8902e7ff872fa3c80fe6ce5f5cf5cc75":[10,0,13,0,0,0], +"de/d23/disjoint__set_8cpp.html":[11,0,4,7], +"de/d23/disjoint__set_8cpp.html#a010965fc5f16cca5a62506afab24e4ec":[11,0,4,7,0], +"de/d23/disjoint__set_8cpp.html#a2fb0a7cd26a477e2d48ba7e0118bc985":[11,0,4,7,2], +"de/d23/disjoint__set_8cpp.html#a34b9ead0608e676d9ae5188672427cc8":[11,0,4,7,1], +"de/d23/disjoint__set_8cpp.html#a44481bb75386fbb0f958a388d4b9f757":[11,0,4,7,4], +"de/d23/disjoint__set_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,4,7,3], +"de/d23/disjoint__set_8cpp_source.html":[11,0,4,7], +"de/d33/circular__linked__list_8cpp.html":[11,0,16,2], +"de/d33/circular__linked__list_8cpp.html#a167c24bd817469ae47358d12e034f2d5":[11,0,16,2,4], +"de/d33/circular__linked__list_8cpp.html#a2b9769e44683dcb67fe1083ad91e134d":[11,0,16,2,7], +"de/d33/circular__linked__list_8cpp.html#aa515639572647508b94986489aab6d76":[11,0,16,2,6], +"de/d33/circular__linked__list_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,16,2,3], +"de/d33/circular__linked__list_8cpp.html#abdd77344d4af8fd56d14a5cabbf2f669":[11,0,16,2,5], +"de/d33/circular__linked__list_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,16,2,2], +"de/d33/circular__linked__list_8cpp.html#af7b81d7a1534216af6a36a80135beb86":[11,0,16,2,8], +"de/d33/circular__linked__list_8cpp_source.html":[11,0,16,2], +"de/d36/namespacen__bonacci.html":[9,0,80], +"de/d40/shell__sort_8cpp_source.html":[11,0,23,34], +"de/d41/namespacekaratsuba__algorithm.html":[9,0,57], +"de/d47/string__fibonacci_8cpp.html":[11,0,14,55], +"de/d47/string__fibonacci_8cpp.html#a28052eee05d43c2ebc5147c52bd50c35":[11,0,14,55,0], +"de/d47/string__fibonacci_8cpp.html#ad8055ee368a5d5b24de01bdde6bf8fca":[11,0,14,55,1], +"de/d47/string__fibonacci_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,14,55,2], +"de/d47/string__fibonacci_8cpp_source.html":[11,0,14,55], +"de/d48/struct_trie_1_1_trie_node.html":[10,0,59,0], +"de/d4a/class_compare.html":[10,0,25], +"de/d4a/class_compare.html#afbdf9a44adb49728dc704155d7d1570c":[10,0,25,0], +"de/d5b/queue__using__linkedlist_8cpp_source.html":[11,0,4,20], +"de/d6a/knuth__morris__pratt_8cpp.html":[11,0,24,4], +"de/d6a/knuth__morris__pratt_8cpp.html#a1e37af2f023495129cb57338c801209e":[11,0,24,4,1], +"de/d6a/knuth__morris__pratt_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e":[11,0,24,4,2], +"de/d6a/knuth__morris__pratt_8cpp.html#a83c72ff237cdf623e42d4295e0029bf9":[11,0,24,4,0], +"de/d6a/knuth__morris__pratt_8cpp_source.html":[11,0,24,4], +"de/d6b/namespacerandom__pivot__quick__sort.html":[9,0,100], +"de/d72/geometric__dist_8cpp.html":[11,0,19,4], +"de/d72/geometric__dist_8cpp.html#a70fd1cc5c3a2813f28683dc75dcd65b6":[11,0,19,4,3], +"de/d72/geometric__dist_8cpp.html#a82964ca6180507deb5fafc71050012ba":[11,0,19,4,1], +"de/d72/geometric__dist_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,19,4,4], +"de/d72/geometric__dist_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,19,4,2], +"de/d72/geometric__dist_8cpp_source.html":[11,0,19,4], +"de/d75/qr__eigen__values_8cpp.html":[11,0,15,20], +"de/d75/qr__eigen__values_8cpp.html#a0283886819c7c140a023582b7269e2d0":[11,0,15,20,6], +"de/d75/qr__eigen__values_8cpp.html#a1440a7779ac56f47a3f355ce4a8c7da0":[11,0,15,20,5], +"de/d75/qr__eigen__values_8cpp.html#a28e2fa3e803abaea6c568dc45d69d8cc":[11,0,15,20,2], +"de/d75/qr__eigen__values_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627":[11,0,15,20,3], +"de/d75/qr__eigen__values_8cpp.html#a9bbf469d5525a816b0d6ca812119093d":[11,0,15,20,1], +"de/d75/qr__eigen__values_8cpp.html#abb8bf4c55e10685a5eb2ad3797fde1ae":[11,0,15,20,4], +"de/d75/qr__eigen__values_8cpp.html#aee57a411f07599034f5ceb8cc7d65b40":[11,0,15,20,0], +"de/d75/qr__eigen__values_8cpp_source.html":[11,0,15,20], +"de/d77/tree__height_8cpp_source.html":[11,0,6,28], +"de/d79/graham__scan__algorithm_8cpp_source.html":[11,0,8,0], +"de/d7b/merge__insertion__sort_8cpp.html":[11,0,23,18], +"de/d7b/merge__insertion__sort_8cpp.html#a0cba4fbf287ab8cb978ed7f8fef886b1":[11,0,23,18,0], +"de/d7b/merge__insertion__sort_8cpp.html#a7161278f18e83b671c6454b139cc5674":[11,0,23,18,3], +"de/d7b/merge__insertion__sort_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,23,18,4], +"de/d7b/merge__insertion__sort_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,23,18,1], +"de/d7b/merge__insertion__sort_8cpp.html#af4de4067a9a866ffd985c5b5055ccedf":[11,0,23,18,2], +"de/d7b/merge__insertion__sort_8cpp_source.html":[11,0,23,18], +"de/d83/namespaceis__graph__bipartite.html":[9,0,52], +"de/d85/decimal__to__roman__numeral_8cpp.html":[11,0,17,3], +"de/d85/decimal__to__roman__numeral_8cpp.html#a003fb4e1b08279fe4cd50fbbc2782c2d":[11,0,17,3,2], +"de/d85/decimal__to__roman__numeral_8cpp.html#a214743638eff1336f835310049aef979":[11,0,17,3,3], +"de/d85/decimal__to__roman__numeral_8cpp.html#a88203bd297e8405160c132faa1187780":[11,0,17,3,0], +"de/d85/decimal__to__roman__numeral_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,17,3,1], +"de/d85/decimal__to__roman__numeral_8cpp_source.html":[11,0,17,3], +"de/d88/travelling__salesman__problem_8cpp.html":[11,0,9,20], +"de/d88/travelling__salesman__problem_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e":[11,0,9,20,1], +"de/d88/travelling__salesman__problem_8cpp.html#ab7706341d006e20d1ae58274187a3346":[11,0,9,20,2], +"de/d88/travelling__salesman__problem_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,9,20,0], +"de/d88/travelling__salesman__problem_8cpp_source.html":[11,0,9,20], +"de/d89/graham__scan__functions_8hpp_source.html":[11,0,8,1], +"de/d8c/partition__problem_8cpp_source.html":[11,0,6,23] }; diff --git a/navtreeindex13.js b/navtreeindex13.js index 03bb9d885..27b03d92c 100644 --- a/navtreeindex13.js +++ b/navtreeindex13.js @@ -1,253 +1,253 @@ var NAVTREEINDEX13 = { -"dd/d47/namespacemath.html#a7e78996673df791014cfe540b183456a":[9,0,69,14], -"dd/d47/namespacemath.html#a8998ca7b1886d1d7d00aef3b457a9b1b":[9,0,69,9], -"dd/d47/namespacemath.html#a8a48be4d7f14e34c5c92925bc1cbf3bb":[9,0,69,29], -"dd/d47/namespacemath.html#a8d8e81a7cd59644b311ef9adb268f5f0":[9,0,69,22], -"dd/d47/namespacemath.html#a8e6eede206201db0d1dbb618fa969bec":[9,0,69,3], -"dd/d47/namespacemath.html#a91366864111e1fac29722ca45e02ea8f":[9,0,69,36], -"dd/d47/namespacemath.html#a9236348755183644f1225e162d01ab14":[9,0,69,40], -"dd/d47/namespacemath.html#a94db02b3c9e55a69ac1696f30e2f761c":[9,0,69,31], -"dd/d47/namespacemath.html#a971ce57e368f2f631cf1f4ff3f864049":[9,0,69,39], -"dd/d47/namespacemath.html#aa8592c3279c41a2c6d4d64eeb488f63f":[9,0,69,24], -"dd/d47/namespacemath.html#aacb1411ef2029e81f249c21e17c96fdb":[9,0,69,32], -"dd/d47/namespacemath.html#ab31d141f7c5b551746b1eee0eb4dedca":[9,0,69,33], -"dd/d47/namespacemath.html#ab37f3a7302a84179aae682c79d8390bf":[9,0,69,1], -"dd/d47/namespacemath.html#ab3b920cc56442abd92279ba23b50f4dc":[9,0,69,43], -"dd/d47/namespacemath.html#ab7f29862d30df351c317eedd60a0c656":[9,0,69,37], -"dd/d47/namespacemath.html#abc46c784a297fc1d2eb8b33a327fba4c":[9,0,69,8], -"dd/d47/namespacemath.html#abd8f794b2229b42876169ff841b6e444":[9,0,69,18], -"dd/d47/namespacemath.html#abde24398be43538c62e4a496968e60ca":[9,0,69,13], -"dd/d47/namespacemath.html#abf7f2a6d91f1ca6c89698792aea3f188":[9,0,69,2], -"dd/d47/namespacemath.html#ac37d3ba52eb296597d7a024ba8c4a5a5":[9,0,69,27], -"dd/d47/namespacemath.html#ac5803413618fcfb922cb32c6db0fc864":[9,0,69,11], -"dd/d47/namespacemath.html#ad09d59850865012a6fd95d89954c82e4":[9,0,69,30], -"dd/d47/namespacemath.html#ad0acf82b7bc920182bf8322d1e103953":[9,0,69,6], -"dd/d47/namespacemath.html#ae1ca505751f5a6d3977b86372cfe75ea":[9,0,69,4], -"dd/d47/namespacemath.html#ae413098478fa38acaac887b7654f0725":[9,0,69,10], -"dd/d47/namespacemath.html#aec65db4e5c7317323227f026fe50ef11":[9,0,69,16], -"dd/d47/namespacemath.html#af05567415a9ea36c254b54e3d5a2152a":[9,0,69,41], -"dd/d47/namespacemath.html#afa39ec943a4836c878e1614fd89b146f":[9,0,69,20], -"dd/d47/namespacemath.html#afcd07701d73ed65cd616bcba02737f3d":[9,0,69,28], -"dd/d4f/class_solution.html":[10,0,53], -"dd/d5a/structstrings_1_1boyer__moore_1_1pattern.html":[9,0,123,0,0], -"dd/d5a/structstrings_1_1boyer__moore_1_1pattern.html":[10,0,20,0,0], -"dd/d5a/structstrings_1_1boyer__moore_1_1pattern.html#a3d62f615a0171a5d77e7018f704f3a7e":[9,0,123,0,0,1], -"dd/d5a/structstrings_1_1boyer__moore_1_1pattern.html#a3d62f615a0171a5d77e7018f704f3a7e":[10,0,20,0,0,1], -"dd/d5a/structstrings_1_1boyer__moore_1_1pattern.html#ae5ca7abf15e939eddc80542131de3645":[9,0,123,0,0,0], -"dd/d5a/structstrings_1_1boyer__moore_1_1pattern.html#ae5ca7abf15e939eddc80542131de3645":[10,0,20,0,0,0], -"dd/d65/lu__decompose_8cpp.html":[11,0,15,11], -"dd/d65/lu__decompose_8cpp.html#a0283886819c7c140a023582b7269e2d0":[11,0,15,11,3], -"dd/d65/lu__decompose_8cpp.html#a1440a7779ac56f47a3f355ce4a8c7da0":[11,0,15,11,2], -"dd/d65/lu__decompose_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627":[11,0,15,11,0], -"dd/d65/lu__decompose_8cpp.html#a575c989afcc78e875031cd4273e62a3e":[11,0,15,11,1], -"dd/d69/namespacerange__queries.html":[9,0,101], -"dd/d73/namespaceiterative__tree__traversals.html":[9,0,53], -"dd/d74/namespaceinorder__successor__of__bst.html":[9,0,49], -"dd/d81/namespacecaesar.html":[9,0,12], -"dd/d89/insertion__sort__recursive_8cpp.html":[11,0,22,10], -"dd/d89/insertion__sort__recursive_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e":[11,0,22,10,4], -"dd/d89/insertion__sort__recursive_8cpp.html#a59914553f24088342c139645a02a8a49":[11,0,22,10,0], -"dd/d89/insertion__sort__recursive_8cpp.html#a78cb2f3b97b6db2c062b2a1df05c9ea9":[11,0,22,10,2], -"dd/d89/insertion__sort__recursive_8cpp.html#a8fe6bac9e03f58abcc2ce26ef3de1b5f":[11,0,22,10,1], -"dd/d89/insertion__sort__recursive_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,22,10,3], -"dd/d8a/namespacegeometric__dist.html":[9,0,36], -"dd/d92/memory__game_8cpp.html":[11,0,7,0], -"dd/d92/memory__game_8cpp.html#a33167bb9cce6d527b478b4f6ae8c3f59":[11,0,7,0,3], -"dd/d92/memory__game_8cpp.html#a370760f2b328ad341bcb77d82fa17b01":[11,0,7,0,5], -"dd/d92/memory__game_8cpp.html#a3ceeea62d8fa6c563e2c66359fd73413":[11,0,7,0,1], -"dd/d92/memory__game_8cpp.html#a5714d97649c0edd57b4fb449799676a3":[11,0,7,0,0], -"dd/d92/memory__game_8cpp.html#a5bdc30951221eae9c33413ff9eb574f6":[11,0,7,0,8], -"dd/d92/memory__game_8cpp.html#ac589ef65abb0a6b9a7116ee0f9fd5280":[11,0,7,0,6], -"dd/d92/memory__game_8cpp.html#ad573c8ae66ab66156d03e5e81bbba214":[11,0,7,0,2], -"dd/d92/memory__game_8cpp.html#adc62ebb75853446656e24932bdc6dd6b":[11,0,7,0,7], -"dd/d92/memory__game_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,7,0,4], -"dd/d95/classdata__structures_1_1_segment_tree.html":[9,0,21,4], -"dd/d95/classdata__structures_1_1_segment_tree.html":[10,0,2,11], -"dd/d95/classdata__structures_1_1_segment_tree.html#a10ffa5fc03c66170f0bc2592b843baa3":[9,0,21,4,6], -"dd/d95/classdata__structures_1_1_segment_tree.html#a10ffa5fc03c66170f0bc2592b843baa3":[10,0,2,11,6], -"dd/d95/classdata__structures_1_1_segment_tree.html#a167fd91b68048e49e97859a8947690f3":[9,0,21,4,7], -"dd/d95/classdata__structures_1_1_segment_tree.html#a167fd91b68048e49e97859a8947690f3":[10,0,2,11,7], -"dd/d95/classdata__structures_1_1_segment_tree.html#a1c5331b509d9b55bedfadf979b30dd5b":[9,0,21,4,3], -"dd/d95/classdata__structures_1_1_segment_tree.html#a1c5331b509d9b55bedfadf979b30dd5b":[10,0,2,11,3], -"dd/d95/classdata__structures_1_1_segment_tree.html#a2a04f1832c5ce86def50c3021b2ab6b1":[9,0,21,4,4], -"dd/d95/classdata__structures_1_1_segment_tree.html#a2a04f1832c5ce86def50c3021b2ab6b1":[10,0,2,11,4], -"dd/d95/classdata__structures_1_1_segment_tree.html#a6d3beccc936af2377c8eeb17067fd141":[9,0,21,4,1], -"dd/d95/classdata__structures_1_1_segment_tree.html#a6d3beccc936af2377c8eeb17067fd141":[10,0,2,11,1], -"dd/d95/classdata__structures_1_1_segment_tree.html#a735d072a603f3abb7c03818440575258":[9,0,21,4,8], -"dd/d95/classdata__structures_1_1_segment_tree.html#a735d072a603f3abb7c03818440575258":[10,0,2,11,8], -"dd/d95/classdata__structures_1_1_segment_tree.html#a8d22286b7be3dcbb701ac5c7d9c79841":[9,0,21,4,0], -"dd/d95/classdata__structures_1_1_segment_tree.html#a8d22286b7be3dcbb701ac5c7d9c79841":[10,0,2,11,0], -"dd/d95/classdata__structures_1_1_segment_tree.html#a8fecc48e8e3f6f5f6e728495a4282e52":[9,0,21,4,2], -"dd/d95/classdata__structures_1_1_segment_tree.html#a8fecc48e8e3f6f5f6e728495a4282e52":[10,0,2,11,2], -"dd/d95/classdata__structures_1_1_segment_tree.html#ad0e78179ab979ae2bc4304bdc181db17":[9,0,21,4,5], -"dd/d95/classdata__structures_1_1_segment_tree.html#ad0e78179ab979ae2bc4304bdc181db17":[10,0,2,11,5], -"dd/d9a/namespacegreedy__algorithms_1_1stable__matching.html":[9,0,42,1], -"dd/d9a/namespacegreedy__algorithms_1_1stable__matching.html#a6d7e84df47dcf19e88f95f8f9040306c":[9,0,42,1,0], -"dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle.html":[10,0,10,0,1], -"dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle.html#a1802cf6197a255055cb734d626abc101":[10,0,10,0,1,14], -"dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle.html#a194c2973b51a5467fc17064a4ea4e6f9":[10,0,10,0,1,4], -"dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle.html#a26a976171392d257ca0f814ed73e0658":[10,0,10,0,1,6], -"dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle.html#a3dc09f4742a0e1167ed202f7bf94721b":[10,0,10,0,1,0], -"dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle.html#a467e722dc1fcc82bfb4cef55744e04e2":[10,0,10,0,1,13], -"dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle.html#a48d054230468b79037964f474d842b6e":[10,0,10,0,1,10], -"dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle.html#a64815f10cf9fb9fdb4cc92731ccf10ba":[10,0,10,0,1,11], -"dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle.html#a94f794bf44f424b1b0ca6ef9f4f6ebd3":[10,0,10,0,1,5], -"dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle.html#a9517e162e2988f7db052296bd550a742":[10,0,10,0,1,16], -"dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle.html#aa17e0227321b109ed91e156ac1332915":[10,0,10,0,1,15], -"dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle.html#aa5c0486c7f29f323a2aced2ab33af420":[10,0,10,0,1,7], -"dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle.html#aa73857052e69b86347859d9148933f71":[10,0,10,0,1,17], -"dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle.html#ab7fd890a7ccf756e4b3313087b76a8c2":[10,0,10,0,1,1], -"dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle.html#ad45fde095ac00effe1fe00b1d85ff9c7":[10,0,10,0,1,2], -"dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle.html#ade14b0e1a88543b91426e2008e4d0f99":[10,0,10,0,1,9], -"dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle.html#ae145ac4a0d2ec58945b58fad3c04f00f":[10,0,10,0,1,8], -"dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle.html#af22395b8e9e04222aa93a329523faef9":[10,0,10,0,1,3], -"dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle.html#af778034b2942ecac6df1e9ec8b5412ee":[10,0,10,0,1,12], -"dd/da0/todo.html":[7], -"dd/da8/pigeonhole__sort_8cpp.html":[11,0,22,15], -"dd/da8/pigeonhole__sort_8cpp.html#a0e9e1b21a1684585e9e50f9afe4d53a3":[11,0,22,15,1], -"dd/da8/pigeonhole__sort_8cpp.html#a34b8683a2b429de5cce57e6d733ec817":[11,0,22,15,2], -"dd/da8/pigeonhole__sort_8cpp.html#a458410412185a5f09199deaff7157a8d":[11,0,22,15,3], -"dd/da8/pigeonhole__sort_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,22,15,0], -"dd/da8/pigeonhole__sort_8cpp.html#af31ec5409537703d9c8a47350386b32a":[11,0,22,15,4], -"dd/dae/namespacecount__of__set__bits.html":[9,0,16], -"dd/db0/_2_users_2runner_2work_2_c-_plus-_plus_2_c-_plus-_plus_2sorting_2wiggle_sort_8cpp-example.html":[12,4], -"dd/db6/structbinary__search__tree_1_1bst__node.html":[10,0,21,0], -"dd/db6/structbinary__search__tree_1_1bst__node.html#a05f3a7aa6c31622f855ce4b5a95e91df":[10,0,21,0,2], -"dd/db6/structbinary__search__tree_1_1bst__node.html#a09da9e5b801ede4764bc812975ff7f29":[10,0,21,0,3], -"dd/db6/structbinary__search__tree_1_1bst__node.html#a51dd9bd6dd32bce3b74dd64557306778":[10,0,21,0,0], -"dd/db6/structbinary__search__tree_1_1bst__node.html#a55c165b9e0e5b50a23104e0604dcc788":[10,0,21,0,1], -"dd/dba/namespacedivide__and__conquer.html":[9,0,24], -"dd/dca/class_f_c_f_s.html":[10,0,33], -"dd/dca/class_f_c_f_s.html#a8fbfe4d85f7576b4a7aade07d29fbd69":[10,0,33,0], -"dd/dca/class_f_c_f_s.html#aa25dbe30ba9930b5a7c1a6d11758bd91":[10,0,33,2], -"dd/dca/class_f_c_f_s.html#abb361a612b18bb189aa6d3c49288b793":[10,0,33,1], -"dd/dca/class_f_c_f_s.html#af2594e22a867b308e027623940193d46":[10,0,33,3], -"dd/de1/classothers_1_1recursive__tree__traversals_1_1_b_t.html":[10,0,13,4,0], -"dd/de1/classothers_1_1recursive__tree__traversals_1_1_b_t.html#a6397b78ceec18cb1959a1d159e134da5":[10,0,13,4,0,2], -"dd/de1/classothers_1_1recursive__tree__traversals_1_1_b_t.html#ac9404b65f407f631915515fa2e08a40c":[10,0,13,4,0,1], -"dd/de1/classothers_1_1recursive__tree__traversals_1_1_b_t.html#af16da5fe0f5c54d31778d71d5a042114":[10,0,13,4,0,0], -"de/d00/classgraph_1_1is__graph__bipartite_1_1_graph.html":[10,0,6,0,0], -"de/d00/classgraph_1_1is__graph__bipartite_1_1_graph.html#a6aef65b40347c4606662cad4dd2e14d3":[10,0,6,0,0,0], -"de/d00/classgraph_1_1is__graph__bipartite_1_1_graph.html#a816cda7e563198f778fd32e03992763b":[10,0,6,0,0,1], -"de/d00/classgraph_1_1is__graph__bipartite_1_1_graph.html#a9d10768f927baa8a4d4a5ffce295b6b6":[10,0,6,0,0,5], -"de/d00/classgraph_1_1is__graph__bipartite_1_1_graph.html#ab0efcfa04fff8616aff0062522d1483f":[10,0,6,0,0,3], -"de/d00/classgraph_1_1is__graph__bipartite_1_1_graph.html#ad475f8b838693812f7569a490729f373":[10,0,6,0,0,2], -"de/d00/classgraph_1_1is__graph__bipartite_1_1_graph.html#aefea7ee87a708298c486d5a38ac628ef":[10,0,6,0,0,4], -"de/d07/cycle__sort_8cpp.html":[11,0,22,5], -"de/d07/cycle__sort_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,22,5,2], -"de/d07/cycle__sort_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,22,5,1], -"de/d07/cycle__sort_8cpp.html#ae79a9d247691fce0d655fce75f1c04fa":[11,0,22,5,0], -"de/d0a/namespacemerge__insertion.html":[9,0,72], -"de/d0d/classrange__queries_1_1fenwick__tree.html":[9,0,101,0], -"de/d0d/classrange__queries_1_1fenwick__tree.html":[10,0,16,1], -"de/d0d/classrange__queries_1_1fenwick__tree.html#a0914a4b1401a7c427de91c92885724fe":[9,0,101,0,4], -"de/d0d/classrange__queries_1_1fenwick__tree.html#a0914a4b1401a7c427de91c92885724fe":[10,0,16,1,4], -"de/d0d/classrange__queries_1_1fenwick__tree.html#a19dea5e88bbd7683a719030623315de9":[9,0,101,0,5], -"de/d0d/classrange__queries_1_1fenwick__tree.html#a19dea5e88bbd7683a719030623315de9":[10,0,16,1,5], -"de/d0d/classrange__queries_1_1fenwick__tree.html#a1fa0559d987fde0044761b17b35f5abd":[9,0,101,0,3], -"de/d0d/classrange__queries_1_1fenwick__tree.html#a1fa0559d987fde0044761b17b35f5abd":[10,0,16,1,3], -"de/d0d/classrange__queries_1_1fenwick__tree.html#a5ea37183524553bbf2234a36a44a4b9a":[9,0,101,0,0], -"de/d0d/classrange__queries_1_1fenwick__tree.html#a5ea37183524553bbf2234a36a44a4b9a":[10,0,16,1,0], -"de/d0d/classrange__queries_1_1fenwick__tree.html#ab492ebf07cab0e3c32d277ad986de801":[9,0,101,0,2], -"de/d0d/classrange__queries_1_1fenwick__tree.html#ab492ebf07cab0e3c32d277ad986de801":[10,0,16,1,2], -"de/d0d/classrange__queries_1_1fenwick__tree.html#aef7ba885b91af093e9e514358fa0f36c":[9,0,101,0,1], -"de/d0d/classrange__queries_1_1fenwick__tree.html#aef7ba885b91af093e9e514358fa0f36c":[10,0,16,1,1], -"de/d0d/classrange__queries_1_1fenwick__tree.html#af7b7a8c1c5724ed8683d7e28bef526e6":[9,0,101,0,6], -"de/d0d/classrange__queries_1_1fenwick__tree.html#af7b7a8c1c5724ed8683d7e28bef526e6":[10,0,16,1,6], -"de/d0d/classrange__queries_1_1fenwick__tree.html#af9f543aa5976b8cc5422490b3d6250c6":[9,0,101,0,7], -"de/d0d/classrange__queries_1_1fenwick__tree.html#af9f543aa5976b8cc5422490b3d6250c6":[10,0,16,1,7], -"de/d0d/fibonacci__search_8cpp.html":[11,0,21,1], -"de/d0d/fibonacci__search_8cpp.html#a0bc61b3903d9a53061bf31e5d110fe61":[11,0,21,1,0], -"de/d0d/fibonacci__search_8cpp.html#a2aa09bef74ee063c1331de0883af4f4f":[11,0,21,1,3], -"de/d0d/fibonacci__search_8cpp.html#a5e144326104e57a3808aed7eb098db0d":[11,0,21,1,2], -"de/d0d/fibonacci__search_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,21,1,1], -"de/d21/classothers_1_1_cache_1_1_d___node.html":[9,0,88,0,0], -"de/d21/classothers_1_1_cache_1_1_d___node.html":[10,0,13,0,0], -"de/d21/classothers_1_1_cache_1_1_d___node.html#a0043eb287c54b3b2fb91ce354878a7bd":[9,0,88,0,0,1], -"de/d21/classothers_1_1_cache_1_1_d___node.html#a0043eb287c54b3b2fb91ce354878a7bd":[10,0,13,0,0,1], -"de/d21/classothers_1_1_cache_1_1_d___node.html#a19e954cbb710ea8318bcb6aaef78e2d5":[9,0,88,0,0,2], -"de/d21/classothers_1_1_cache_1_1_d___node.html#a19e954cbb710ea8318bcb6aaef78e2d5":[10,0,13,0,0,2], -"de/d21/classothers_1_1_cache_1_1_d___node.html#a8902e7ff872fa3c80fe6ce5f5cf5cc75":[9,0,88,0,0,0], -"de/d21/classothers_1_1_cache_1_1_d___node.html#a8902e7ff872fa3c80fe6ce5f5cf5cc75":[10,0,13,0,0,0], -"de/d23/disjoint__set_8cpp.html":[11,0,4,6], -"de/d23/disjoint__set_8cpp.html#a010965fc5f16cca5a62506afab24e4ec":[11,0,4,6,0], -"de/d23/disjoint__set_8cpp.html#a2fb0a7cd26a477e2d48ba7e0118bc985":[11,0,4,6,2], -"de/d23/disjoint__set_8cpp.html#a34b9ead0608e676d9ae5188672427cc8":[11,0,4,6,1], -"de/d23/disjoint__set_8cpp.html#a44481bb75386fbb0f958a388d4b9f757":[11,0,4,6,4], -"de/d23/disjoint__set_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,4,6,3], -"de/d33/circular__linked__list_8cpp.html":[11,0,16,2], -"de/d33/circular__linked__list_8cpp.html#a167c24bd817469ae47358d12e034f2d5":[11,0,16,2,4], -"de/d33/circular__linked__list_8cpp.html#a2b9769e44683dcb67fe1083ad91e134d":[11,0,16,2,7], -"de/d33/circular__linked__list_8cpp.html#aa515639572647508b94986489aab6d76":[11,0,16,2,6], -"de/d33/circular__linked__list_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,16,2,3], -"de/d33/circular__linked__list_8cpp.html#abdd77344d4af8fd56d14a5cabbf2f669":[11,0,16,2,5], -"de/d33/circular__linked__list_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,16,2,2], -"de/d33/circular__linked__list_8cpp.html#af7b81d7a1534216af6a36a80135beb86":[11,0,16,2,8], -"de/d36/namespacen__bonacci.html":[9,0,80], -"de/d41/namespacekaratsuba__algorithm.html":[9,0,57], -"de/d47/string__fibonacci_8cpp.html":[11,0,14,53], -"de/d47/string__fibonacci_8cpp.html#a28052eee05d43c2ebc5147c52bd50c35":[11,0,14,53,0], -"de/d47/string__fibonacci_8cpp.html#ad8055ee368a5d5b24de01bdde6bf8fca":[11,0,14,53,1], -"de/d47/string__fibonacci_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,14,53,2], -"de/d48/struct_trie_1_1_trie_node.html":[10,0,59,0], -"de/d4a/class_compare.html":[10,0,25], -"de/d4a/class_compare.html#afbdf9a44adb49728dc704155d7d1570c":[10,0,25,0], -"de/d6a/knuth__morris__pratt_8cpp.html":[11,0,23,4], -"de/d6a/knuth__morris__pratt_8cpp.html#a1e37af2f023495129cb57338c801209e":[11,0,23,4,1], -"de/d6a/knuth__morris__pratt_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e":[11,0,23,4,2], -"de/d6a/knuth__morris__pratt_8cpp.html#a83c72ff237cdf623e42d4295e0029bf9":[11,0,23,4,0], -"de/d6b/namespacerandom__pivot__quick__sort.html":[9,0,100], -"de/d72/geometric__dist_8cpp.html":[11,0,19,4], -"de/d72/geometric__dist_8cpp.html#a70fd1cc5c3a2813f28683dc75dcd65b6":[11,0,19,4,3], -"de/d72/geometric__dist_8cpp.html#a82964ca6180507deb5fafc71050012ba":[11,0,19,4,1], -"de/d72/geometric__dist_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,19,4,4], -"de/d72/geometric__dist_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,19,4,2], -"de/d75/qr__eigen__values_8cpp.html":[11,0,15,20], -"de/d75/qr__eigen__values_8cpp.html#a0283886819c7c140a023582b7269e2d0":[11,0,15,20,6], -"de/d75/qr__eigen__values_8cpp.html#a1440a7779ac56f47a3f355ce4a8c7da0":[11,0,15,20,5], -"de/d75/qr__eigen__values_8cpp.html#a28e2fa3e803abaea6c568dc45d69d8cc":[11,0,15,20,2], -"de/d75/qr__eigen__values_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627":[11,0,15,20,3], -"de/d75/qr__eigen__values_8cpp.html#a9bbf469d5525a816b0d6ca812119093d":[11,0,15,20,1], -"de/d75/qr__eigen__values_8cpp.html#abb8bf4c55e10685a5eb2ad3797fde1ae":[11,0,15,20,4], -"de/d75/qr__eigen__values_8cpp.html#aee57a411f07599034f5ceb8cc7d65b40":[11,0,15,20,0], -"de/d7b/merge__insertion__sort_8cpp.html":[11,0,22,11], -"de/d7b/merge__insertion__sort_8cpp.html#a0cba4fbf287ab8cb978ed7f8fef886b1":[11,0,22,11,0], -"de/d7b/merge__insertion__sort_8cpp.html#a7161278f18e83b671c6454b139cc5674":[11,0,22,11,3], -"de/d7b/merge__insertion__sort_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,22,11,4], -"de/d7b/merge__insertion__sort_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,22,11,1], -"de/d7b/merge__insertion__sort_8cpp.html#af4de4067a9a866ffd985c5b5055ccedf":[11,0,22,11,2], -"de/d83/namespaceis__graph__bipartite.html":[9,0,52], -"de/d85/decimal__to__roman__numeral_8cpp.html":[11,0,17,3], -"de/d85/decimal__to__roman__numeral_8cpp.html#a003fb4e1b08279fe4cd50fbbc2782c2d":[11,0,17,3,2], -"de/d85/decimal__to__roman__numeral_8cpp.html#a214743638eff1336f835310049aef979":[11,0,17,3,3], -"de/d85/decimal__to__roman__numeral_8cpp.html#a88203bd297e8405160c132faa1187780":[11,0,17,3,0], -"de/d85/decimal__to__roman__numeral_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,17,3,1], -"de/d88/travelling__salesman__problem_8cpp.html":[11,0,9,12], -"de/d88/travelling__salesman__problem_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e":[11,0,9,12,1], -"de/d88/travelling__salesman__problem_8cpp.html#ab7706341d006e20d1ae58274187a3346":[11,0,9,12,2], -"de/d88/travelling__salesman__problem_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,9,12,0], -"de/d89/graham__scan__functions_8hpp_source.html":[11,0,8,0], -"de/d95/namespace_subsets.html":[9,0,127], -"de/d97/namespacestd_1_1experimental.html":[9,0,118,1], +"de/d95/namespace_subsets.html":[9,0,126], "de/d99/aliquot__sum_8cpp.html":[11,0,14,0], "de/d99/aliquot__sum_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,14,0,2], "de/d99/aliquot__sum_8cpp.html#ab37f3a7302a84179aae682c79d8390bf":[11,0,14,0,0], "de/d99/aliquot__sum_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,14,0,1], +"de/d99/aliquot__sum_8cpp_source.html":[11,0,14,0], "de/d9b/namespacegray__code.html":[9,0,41], -"de/d9b/prime__numbers_8cpp.html":[11,0,14,47], -"de/d9b/prime__numbers_8cpp.html#a9575f3a51eeb8a57d657b3db6a4b441a":[11,0,14,47,1], -"de/d9b/prime__numbers_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,14,47,0], +"de/d9b/prime__numbers_8cpp.html":[11,0,14,49], +"de/d9b/prime__numbers_8cpp.html#a9575f3a51eeb8a57d657b3db6a4b441a":[11,0,14,49,1], +"de/d9b/prime__numbers_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,14,49,0], +"de/d9b/prime__numbers_8cpp_source.html":[11,0,14,49], "de/d9d/classdata__structures_1_1linked__list_1_1link.html":[10,0,2,0,0], "de/d9d/classdata__structures_1_1linked__list_1_1link.html#aba4672fbc40c38962d1510b843a577bb":[10,0,2,0,0,0], "de/d9d/classdata__structures_1_1linked__list_1_1link.html#ac121ce37b6ea864b160ebcada0bce936":[10,0,2,0,0,4], "de/d9d/classdata__structures_1_1linked__list_1_1link.html#acf96f3a9a1d3b15268c38e8822300c11":[10,0,2,0,0,2], "de/d9d/classdata__structures_1_1linked__list_1_1link.html#af6bbeb9bfde1683ba917071edeedd5c3":[10,0,2,0,0,1], "de/d9d/classdata__structures_1_1linked__list_1_1link.html#af94c06f3220e5406245680f58b8e7081":[10,0,2,0,0,3], -"de/dab/ncr__modulo__p_8cpp.html":[11,0,14,41], -"de/dab/ncr__modulo__p_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e":[11,0,14,41,4], -"de/dab/ncr__modulo__p_8cpp.html#a6c7bfe3bdaa086d32261a5c5584d0fa9":[11,0,14,41,3], -"de/dab/ncr__modulo__p_8cpp.html#a9010ad5669d31449c3bf3271ab5ebc86":[11,0,14,41,2], -"de/dab/ncr__modulo__p_8cpp.html#afa2b50f4716fc3b42221a72e676e1422":[11,0,14,41,1], -"de/db3/namespaceatbash.html":[9,0,3] +"de/dab/ncr__modulo__p_8cpp.html":[11,0,14,43], +"de/dab/ncr__modulo__p_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e":[11,0,14,43,4], +"de/dab/ncr__modulo__p_8cpp.html#a6c7bfe3bdaa086d32261a5c5584d0fa9":[11,0,14,43,3], +"de/dab/ncr__modulo__p_8cpp.html#a9010ad5669d31449c3bf3271ab5ebc86":[11,0,14,43,2], +"de/dab/ncr__modulo__p_8cpp.html#afa2b50f4716fc3b42221a72e676e1422":[11,0,14,43,1], +"de/dab/ncr__modulo__p_8cpp_source.html":[11,0,14,43], +"de/db3/namespaceatbash.html":[9,0,3], +"de/db4/namespacedisjoint__union.html":[9,0,23], +"de/db6/a1z26__cipher_8cpp.html":[11,0,2,0], +"de/db6/a1z26__cipher_8cpp.html#a0a78954e96c862430904ee3e64623c38":[11,0,2,0,0], +"de/db6/a1z26__cipher_8cpp.html#a77a6b827a0b9c7aca2d705811459d744":[11,0,2,0,1], +"de/db6/a1z26__cipher_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,2,0,3], +"de/db6/a1z26__cipher_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,2,0,2], +"de/db6/a1z26__cipher_8cpp_source.html":[11,0,2,0], +"de/dc3/binaryheap_8cpp.html":[11,0,4,4], +"de/dc3/binaryheap_8cpp_source.html":[11,0,4,4], +"de/dc3/fibonacci__sum_8cpp.html":[11,0,14,20], +"de/dc3/fibonacci__sum_8cpp.html#a493fbaa7a94e3b7ca573111237bb3742":[11,0,14,20,0], +"de/dc3/fibonacci__sum_8cpp.html#a7cf5feaf168b88e74544da59ed830311":[11,0,14,20,3], +"de/dc3/fibonacci__sum_8cpp.html#a9c83cca09a3e4ff2a25c816a9303448e":[11,0,14,20,2], +"de/dc3/fibonacci__sum_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,14,20,5], +"de/dc3/fibonacci__sum_8cpp.html#aadb40ac4c74a7efc0680b83eeee138aa":[11,0,14,20,4], +"de/dc3/fibonacci__sum_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,14,20,1], +"de/dc3/fibonacci__sum_8cpp_source.html":[11,0,14,20], +"de/dc5/intersection__of__two__arrays_8cpp.html":[11,0,16,6], +"de/dc5/intersection__of__two__arrays_8cpp.html#a167c24bd817469ae47358d12e034f2d5":[11,0,16,6,4], +"de/dc5/intersection__of__two__arrays_8cpp.html#a2b9769e44683dcb67fe1083ad91e134d":[11,0,16,6,7], +"de/dc5/intersection__of__two__arrays_8cpp.html#a6109193567a5b7e36a27f2b4865fce20":[11,0,16,6,2], +"de/dc5/intersection__of__two__arrays_8cpp.html#aa515639572647508b94986489aab6d76":[11,0,16,6,6], +"de/dc5/intersection__of__two__arrays_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,16,6,3], +"de/dc5/intersection__of__two__arrays_8cpp.html#aacafde185abd8670abee51157f273dc2":[11,0,16,6,9], +"de/dc5/intersection__of__two__arrays_8cpp.html#abdd77344d4af8fd56d14a5cabbf2f669":[11,0,16,6,5], +"de/dc5/intersection__of__two__arrays_8cpp.html#adaf9a06f0c236c2d95c97e441ea2d12e":[11,0,16,6,0], +"de/dc5/intersection__of__two__arrays_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,16,6,1], +"de/dc5/intersection__of__two__arrays_8cpp.html#af7b81d7a1534216af6a36a80135beb86":[11,0,16,6,8], +"de/dc5/intersection__of__two__arrays_8cpp_source.html":[11,0,16,6], +"de/dcd/kadanes3_8cpp.html":[11,0,17,8], +"de/dcd/kadanes3_8cpp.html#a338439a04148ae89f695595acfa5c147":[11,0,17,8,1], +"de/dcd/kadanes3_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,17,8,2], +"de/dcd/kadanes3_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,17,8,0], +"de/dcd/kadanes3_8cpp_source.html":[11,0,17,8], +"de/dcf/binary__exponent_8cpp.html":[11,0,14,4], +"de/dcf/binary__exponent_8cpp.html#a31dbf5f7ceb9c9eec831ef9f7782291f":[11,0,14,4,1], +"de/dcf/binary__exponent_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,14,4,2], +"de/dcf/binary__exponent_8cpp.html#aeb48dce0725e63d19147944f41843c73":[11,0,14,4,0], +"de/dcf/binary__exponent_8cpp_source.html":[11,0,14,4], +"de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree.html":[10,0,12,2,0], +"de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree.html#a1c0d27198372b36ef71bc58af8336b9c":[10,0,12,2,0,6], +"de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree.html#a2e683b271d8d5cd63e0d09cf8aaa325c":[10,0,12,2,0,3], +"de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree.html#a534645d1aabdf1a7e5897c85376f173d":[10,0,12,2,0,2], +"de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree.html#a5cf972a2c994a4fa1a89fc77bd5ad503":[10,0,12,2,0,5], +"de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree.html#ab6a17a04aa93aaaef71e038e8cc2edeb":[10,0,12,2,0,8], +"de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree.html#abb44646a26a446efae7704c80efc011b":[10,0,12,2,0,1], +"de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree.html#abcb1cc8da7b6759dc92cbe0254697c56":[10,0,12,2,0,0], +"de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree.html#adb2b6be741b0500ee75d89b6d06b5d50":[10,0,12,2,0,4], +"de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree.html#af6f974381f523fdb981fc2d843bbf4a1":[10,0,12,2,0,7], +"de/dd1/segment__tree_8cpp.html":[11,0,4,24], +"de/dd1/segment__tree_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,4,24,2], +"de/dd1/segment__tree_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,4,24,1], +"de/dd1/segment__tree_8cpp_source.html":[11,0,4,24], +"de/dd3/namespace_s_h_a.html":[9,0,109], +"de/dd3/newton__raphson__method_8cpp.html":[11,0,15,14], +"de/dd3/newton__raphson__method_8cpp.html#a2003b5b2dcfff0769b957ab5c968b03d":[11,0,15,14,0], +"de/dd3/newton__raphson__method_8cpp.html#a3d3f7f41977394680af6ebbed96f3386":[11,0,15,14,1], +"de/dd3/newton__raphson__method_8cpp.html#a5c5ff05b9f37ae59dad67e1d4f6cd51d":[11,0,15,14,4], +"de/dd3/newton__raphson__method_8cpp.html#a75f355966e0a97665eaf5a4c79baa7af":[11,0,15,14,3], +"de/dd3/newton__raphson__method_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,15,14,2], +"de/dd3/newton__raphson__method_8cpp_source.html":[11,0,15,14], +"de/dd9/catalan__numbers_8cpp.html":[11,0,6,4], +"de/dd9/catalan__numbers_8cpp_source.html":[11,0,6,4], +"de/dde/lowest__common__ancestor_8cpp.html":[11,0,9,15], +"de/dde/lowest__common__ancestor_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e":[11,0,9,15,4], +"de/dde/lowest__common__ancestor_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,9,15,3], +"de/dde/lowest__common__ancestor_8cpp_source.html":[11,0,9,15], +"de/de4/fibonacci__large_8cpp.html":[11,0,14,18], +"de/de4/fibonacci__large_8cpp.html#adf3e906875ab257f7fab3bc1370aa2db":[11,0,14,18,0], +"de/de4/fibonacci__large_8cpp_source.html":[11,0,14,18], +"de/df6/classgreedy__algorithms_1_1_binary_addition.html":[9,0,42,2], +"de/df6/classgreedy__algorithms_1_1_binary_addition.html":[10,0,7,1], +"de/df6/classgreedy__algorithms_1_1_binary_addition.html#a4cfb595ba80795a9efae0e3f6f5c34d2":[9,0,42,2,1], +"de/df6/classgreedy__algorithms_1_1_binary_addition.html#a4cfb595ba80795a9efae0e3f6f5c34d2":[10,0,7,1,1], +"de/df6/classgreedy__algorithms_1_1_binary_addition.html#a801fd1ec5cda76b0bb82cbf23ed4d527":[9,0,42,2,0], +"de/df6/classgreedy__algorithms_1_1_binary_addition.html#a801fd1ec5cda76b0bb82cbf23ed4d527":[10,0,7,1,0], +"df/d06/decimal__to__binary_8cpp.html":[11,0,17,1], +"df/d06/decimal__to__binary_8cpp.html#a10df57491019f0ac39b492740fb388f7":[11,0,17,1,1], +"df/d06/decimal__to__binary_8cpp.html#a9240f2e79074a2a248395258aebbfa11":[11,0,17,1,0], +"df/d06/decimal__to__binary_8cpp_source.html":[11,0,17,1], +"df/d10/namespacepancake__sort.html":[9,0,90], +"df/d11/midpoint__integral__method_8cpp.html":[11,0,15,13], +"df/d11/midpoint__integral__method_8cpp.html#a2ae48a41e43dc6ab11b962742349646e":[11,0,15,13,6], +"df/d11/midpoint__integral__method_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627":[11,0,15,13,4], +"df/d11/midpoint__integral__method_8cpp.html#a7072493d1f0f8a91b2a71d4cc456c09c":[11,0,15,13,5], +"df/d11/midpoint__integral__method_8cpp.html#a7ee8e824ef3e138a9a21883b26d97226":[11,0,15,13,0], +"df/d11/midpoint__integral__method_8cpp.html#ad53616fb4fa6880ae876bcba53365c51":[11,0,15,13,3], +"df/d11/midpoint__integral__method_8cpp.html#ae682ee71af44b1e9e884849cc6a6b040":[11,0,15,13,1], +"df/d11/midpoint__integral__method_8cpp.html#ae9f66040f8e0ba73c1c741261c22a52a":[11,0,15,13,2], +"df/d11/midpoint__integral__method_8cpp_source.html":[11,0,15,13], +"df/d14/bellman__ford_8cpp_source.html":[11,0,6,3], +"df/d1c/namespacestack__using__queue.html":[9,0,116], +"df/d28/dsu__union__rank_8cpp.html":[11,0,4,10], +"df/d28/dsu__union__rank_8cpp.html#a45d94ead4cf4e1ff9f87c38bc99f59ae":[11,0,4,10,3], +"df/d28/dsu__union__rank_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,4,10,1], +"df/d28/dsu__union__rank_8cpp.html#ae7880ce913f3058a35ff106d5be9e243":[11,0,4,10,2], +"df/d28/dsu__union__rank_8cpp_source.html":[11,0,4,10], +"df/d2c/elliptic__curve__key__exchange_8cpp.html":[11,0,2,4], +"df/d2c/elliptic__curve__key__exchange_8cpp.html#a17f3d667241b88115a95282cdd719cb2":[11,0,2,4,5], +"df/d2c/elliptic__curve__key__exchange_8cpp.html#a37775d1724ffe404c088dabbc8da91ae":[11,0,2,4,8], +"df/d2c/elliptic__curve__key__exchange_8cpp.html#a8800c8a84d77dadadb05ad5e83b77ef4":[11,0,2,4,7], +"df/d2c/elliptic__curve__key__exchange_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,2,4,6], +"df/d2c/elliptic__curve__key__exchange_8cpp.html#ac00616a4e40d3cd5cfb4da87d9ff9af0":[11,0,2,4,3], +"df/d2c/elliptic__curve__key__exchange_8cpp.html#acc5fe9c2032fb7582c38a20d1fa69bcf":[11,0,2,4,2], +"df/d2c/elliptic__curve__key__exchange_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,2,4,4], +"df/d2c/elliptic__curve__key__exchange_8cpp.html#af0a6e3521629c25c2b5d620f26429830":[11,0,2,4,1], +"df/d2c/elliptic__curve__key__exchange_8cpp_source.html":[11,0,2,4], +"df/d31/floyd__warshall_8cpp_source.html":[11,0,6,11], +"df/d34/classprobability_1_1windowed__median_1_1_windowed_median.html":[10,0,14,1,0], +"df/d34/classprobability_1_1windowed__median_1_1_windowed_median.html#a3a7f57679e9cd6c9f042dfd0612b2b24":[10,0,14,1,0,5], +"df/d34/classprobability_1_1windowed__median_1_1_windowed_median.html#a55ae3543a76045dffcb5ec7904a32a20":[10,0,14,1,0,6], +"df/d34/classprobability_1_1windowed__median_1_1_windowed_median.html#a61804988fcb1a6caf640f8291979aaa6":[10,0,14,1,0,3], +"df/d34/classprobability_1_1windowed__median_1_1_windowed_median.html#a6b52b7851750f28d53508e63c52a69f7":[10,0,14,1,0,4], +"df/d34/classprobability_1_1windowed__median_1_1_windowed_median.html#a825a7aaef844c9f743a27b268e8569b2":[10,0,14,1,0,8], +"df/d34/classprobability_1_1windowed__median_1_1_windowed_median.html#a938cafbdf70dc01e86e9bb12d29ec65d":[10,0,14,1,0,2], +"df/d34/classprobability_1_1windowed__median_1_1_windowed_median.html#aac676369661d15a3eb782c0fee77d45d":[10,0,14,1,0,0], +"df/d34/classprobability_1_1windowed__median_1_1_windowed_median.html#aacd76f078632faee1a8788d031e6c2de":[10,0,14,1,0,7], +"df/d34/classprobability_1_1windowed__median_1_1_windowed_median.html#aafda847b152684578dab891e5268d750":[10,0,14,1,0,9], +"df/d34/classprobability_1_1windowed__median_1_1_windowed_median.html#af544e271ea19a6fd69a6b3ed6816453e":[10,0,14,1,0,1], +"df/d39/interpolation__search2_8cpp.html":[11,0,22,6], +"df/d39/interpolation__search2_8cpp.html#aa3ec659ec8394d186c761df81ad1f629":[11,0,22,6,0], +"df/d39/interpolation__search2_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,22,6,1], +"df/d39/interpolation__search2_8cpp_source.html":[11,0,22,6], +"df/d42/binary__search__tree2_8cpp.html":[11,0,4,3], +"df/d42/binary__search__tree2_8cpp.html#a06f35064850e891d6fda0093c0d9ee6e":[11,0,4,3,5], +"df/d42/binary__search__tree2_8cpp.html#a1d42876440ac5346e2850a32497385c3":[11,0,4,3,2], +"df/d42/binary__search__tree2_8cpp.html#a8c882f43e1e52948a7841a8bfb091350":[11,0,4,3,8], +"df/d42/binary__search__tree2_8cpp.html#a94b76f781fcbe1ad0e3397ace6bb1965":[11,0,4,3,6], +"df/d42/binary__search__tree2_8cpp.html#a9856b68e2cba50d2e26a1cbe374e0365":[11,0,4,3,3], +"df/d42/binary__search__tree2_8cpp.html#ab00b8d0f21aeb5fbddb6decf3bcb640a":[11,0,4,3,7], +"df/d42/binary__search__tree2_8cpp.html#ab1333c3ea06dcad896ee204bbd407c4e":[11,0,4,3,9], +"df/d42/binary__search__tree2_8cpp.html#af2847a901160fd45b4044550e9921cb4":[11,0,4,3,4], +"df/d42/binary__search__tree2_8cpp_source.html":[11,0,4,3], +"df/d44/namespacen__queens__all__solutions.html":[9,0,82], +"df/d47/fcfs__scheduling_8cpp.html":[11,0,3,0], +"df/d47/fcfs__scheduling_8cpp.html#a18920aa331faf4476b251c8cdb2c2bec":[11,0,3,0,4], +"df/d47/fcfs__scheduling_8cpp.html#a8f2b90cb64d63a7080965e66a05ccf86":[11,0,3,0,2], +"df/d47/fcfs__scheduling_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,3,0,5], +"df/d47/fcfs__scheduling_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,3,0,3], +"df/d47/fcfs__scheduling_8cpp_source.html":[11,0,3,0], +"df/d47/stack_8hpp.html":[11,0,4,27], +"df/d47/stack_8hpp_source.html":[11,0,4,27], +"df/d4a/namespaceselection__sort__recursive.html":[9,0,107], +"df/d66/vector__cross__product_8cpp.html":[11,0,14,58], +"df/d66/vector__cross__product_8cpp.html#a225732399c5c076976eae5b180a9f8c9":[11,0,14,58,0], +"df/d66/vector__cross__product_8cpp.html#a4b2a9757a87c18e1642d72410ecfaba8":[11,0,14,58,1], +"df/d66/vector__cross__product_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,14,58,3], +"df/d66/vector__cross__product_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,14,58,2], +"df/d66/vector__cross__product_8cpp_source.html":[11,0,14,58], +"df/d6b/namespaceciphers_1_1elliptic__curve__key__exchange.html":[9,0,13,0], +"df/d6b/namespaceciphers_1_1elliptic__curve__key__exchange.html#a17f3d667241b88115a95282cdd719cb2":[9,0,13,0,4], +"df/d6b/namespaceciphers_1_1elliptic__curve__key__exchange.html#ac00616a4e40d3cd5cfb4da87d9ff9af0":[9,0,13,0,3], +"df/d6b/namespaceciphers_1_1elliptic__curve__key__exchange.html#acc5fe9c2032fb7582c38a20d1fa69bcf":[9,0,13,0,2], +"df/d6b/namespaceciphers_1_1elliptic__curve__key__exchange.html#af0a6e3521629c25c2b5d620f26429830":[9,0,13,0,1], +"df/d72/modular__division_8cpp.html":[11,0,14,37], +"df/d72/modular__division_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97":[11,0,14,37,0], +"df/d72/modular__division_8cpp.html#a66cdf93153cbd1408bd74ac68961d179":[11,0,14,37,2], +"df/d72/modular__division_8cpp.html#a905e368ae121beb7e7ea35349ddcdac7":[11,0,14,37,1], +"df/d72/modular__division_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,14,37,3], +"df/d72/modular__division_8cpp_source.html":[11,0,14,37], +"df/d74/namespacesubarray__sum.html":[9,0,123], +"df/d76/namespacefibonacci.html":[9,0,31], +"df/d82/breadth__first__search_8cpp.html":[11,0,9,1], +"df/d82/breadth__first__search_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e":[11,0,9,1,2], +"df/d82/breadth__first__search_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,9,1,1], +"df/d82/breadth__first__search_8cpp_source.html":[11,0,9,1], +"df/d88/namespacedp.html":[9,0,27], +"df/d8e/namespacetrie__operations.html":[9,0,132], +"df/d8f/classothers_1_1_cache_1_1_l_f_u_cache.html":[9,0,88,0,1], +"df/d8f/classothers_1_1_cache_1_1_l_f_u_cache.html":[10,0,13,0,1], +"df/d8f/classothers_1_1_cache_1_1_l_f_u_cache.html#a16a25c102554c5653721a5112ef676c9":[9,0,88,0,1,5], +"df/d8f/classothers_1_1_cache_1_1_l_f_u_cache.html#a16a25c102554c5653721a5112ef676c9":[10,0,13,0,1,5], +"df/d8f/classothers_1_1_cache_1_1_l_f_u_cache.html#a3acc10e6bb67d9d9c4187f625723e6c5":[9,0,88,0,1,10], +"df/d8f/classothers_1_1_cache_1_1_l_f_u_cache.html#a3acc10e6bb67d9d9c4187f625723e6c5":[10,0,13,0,1,10], +"df/d8f/classothers_1_1_cache_1_1_l_f_u_cache.html#a58e37d3713f28d36abbb8cdf6c432781":[9,0,88,0,1,4], +"df/d8f/classothers_1_1_cache_1_1_l_f_u_cache.html#a58e37d3713f28d36abbb8cdf6c432781":[10,0,13,0,1,4], +"df/d8f/classothers_1_1_cache_1_1_l_f_u_cache.html#a68e1be0a3e0a6478aa35f04000e0e9b0":[9,0,88,0,1,3], +"df/d8f/classothers_1_1_cache_1_1_l_f_u_cache.html#a68e1be0a3e0a6478aa35f04000e0e9b0":[10,0,13,0,1,3], +"df/d8f/classothers_1_1_cache_1_1_l_f_u_cache.html#a6de844d1589a809239cc07752f311285":[9,0,88,0,1,12], +"df/d8f/classothers_1_1_cache_1_1_l_f_u_cache.html#a6de844d1589a809239cc07752f311285":[10,0,13,0,1,12], +"df/d8f/classothers_1_1_cache_1_1_l_f_u_cache.html#a8857531ecc8ed2e36868e267148eff36":[9,0,88,0,1,1], +"df/d8f/classothers_1_1_cache_1_1_l_f_u_cache.html#a8857531ecc8ed2e36868e267148eff36":[10,0,13,0,1,1], +"df/d8f/classothers_1_1_cache_1_1_l_f_u_cache.html#ab3561ab204754295199f9566924f7e69":[9,0,88,0,1,6], +"df/d8f/classothers_1_1_cache_1_1_l_f_u_cache.html#ab3561ab204754295199f9566924f7e69":[10,0,13,0,1,6], +"df/d8f/classothers_1_1_cache_1_1_l_f_u_cache.html#aba5d59d0f6ab0c0d30a92551ca5a05f2":[9,0,88,0,1,11], +"df/d8f/classothers_1_1_cache_1_1_l_f_u_cache.html#aba5d59d0f6ab0c0d30a92551ca5a05f2":[10,0,13,0,1,11], +"df/d8f/classothers_1_1_cache_1_1_l_f_u_cache.html#ac27c9076377cbed2a2acc45a189fed2c":[9,0,88,0,1,2], +"df/d8f/classothers_1_1_cache_1_1_l_f_u_cache.html#ac27c9076377cbed2a2acc45a189fed2c":[10,0,13,0,1,2], +"df/d8f/classothers_1_1_cache_1_1_l_f_u_cache.html#ac7684879e2e5da3d8bc5b1699ee42d35":[9,0,88,0,1,13], +"df/d8f/classothers_1_1_cache_1_1_l_f_u_cache.html#ac7684879e2e5da3d8bc5b1699ee42d35":[10,0,13,0,1,13], +"df/d8f/classothers_1_1_cache_1_1_l_f_u_cache.html#adad4ab43141fb8ba43facd3a71e07047":[9,0,88,0,1,7], +"df/d8f/classothers_1_1_cache_1_1_l_f_u_cache.html#adad4ab43141fb8ba43facd3a71e07047":[10,0,13,0,1,7], +"df/d8f/classothers_1_1_cache_1_1_l_f_u_cache.html#adbfb2ef7358423fdf1f49d410f55f195":[9,0,88,0,1,9], +"df/d8f/classothers_1_1_cache_1_1_l_f_u_cache.html#adbfb2ef7358423fdf1f49d410f55f195":[10,0,13,0,1,9], +"df/d8f/classothers_1_1_cache_1_1_l_f_u_cache.html#af6f8e5a66a45436b490dfe015ff8866e":[9,0,88,0,1,8], +"df/d8f/classothers_1_1_cache_1_1_l_f_u_cache.html#af6f8e5a66a45436b490dfe015ff8866e":[10,0,13,0,1,8], +"df/d8f/classothers_1_1_cache_1_1_l_f_u_cache.html#affd7776c246caa2d0f92fd8616f6e5dc":[9,0,88,0,1,0], +"df/d8f/classothers_1_1_cache_1_1_l_f_u_cache.html#affd7776c246caa2d0f92fd8616f6e5dc":[10,0,13,0,1,0], +"df/d94/subarray__sum_8cpp.html":[11,0,0,9], +"df/d94/subarray__sum_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,0,9,2], +"df/d94/subarray__sum_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,0,9,0], +"df/d94/subarray__sum_8cpp.html#af5687bbd9faf927fbd363c71e0baba5e":[11,0,0,9,1], +"df/d94/subarray__sum_8cpp_source.html":[11,0,0,9], +"df/d97/main__cll_8cpp_source.html":[11,0,4,0,2], +"df/d99/structstd_1_1is__unsigned_3_01uint256__t_01_4.html":[10,0,19,5], +"df/da7/queue__using__array2_8cpp_source.html":[11,0,4,18], +"df/dc8/successive__approximation_8cpp.html":[11,0,15,22], +"df/dc8/successive__approximation_8cpp.html#a79c1d08919ff7780a5d7723172602389":[11,0,15,22,0], +"df/dc8/successive__approximation_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,15,22,2], +"df/dc8/successive__approximation_8cpp.html#ae89c36add7c55298c5195d0a83de1456":[11,0,15,22,1], +"df/dc8/successive__approximation_8cpp_source.html":[11,0,15,22], +"df/dcb/namespacestrings.html":[9,0,122], +"df/dcd/_2_users_2runner_2work_2_c-_plus-_plus_2_c-_plus-_plus_2math_2quadratic_equations_complex_numbers_8cpp-example.html":[12,2], +"df/dce/namespacegraph.html":[9,0,39], +"df/dce/namespacegraph.html#a0e30e0dca68cb6e4f671440819b35b6a":[9,0,39,6], +"df/dce/namespacegraph.html#a3ae80bc4c6a79d041b4f3a6589eb7fb8":[9,0,39,10], +"df/dce/namespacegraph.html#a64c1db5aad7502c6f08e4652f6edd463":[9,0,39,11], +"df/dce/namespacegraph.html#a83ab16e96cec644109a58dfc9329bc2b":[9,0,39,12], +"df/dce/namespacegraph.html#a84b0551489c613a681cc83b34450da4b":[9,0,39,13], +"df/dce/namespacegraph.html#a8e1b547cd407c0774e63f0dc95cda9e7":[9,0,39,7], +"df/dce/namespacegraph.html#a9125ceb66bfbec3093bba64c2c1e99e2":[9,0,39,4], +"df/dce/namespacegraph.html#ab5428a3519267a28bba4b4310cfbb6ae":[9,0,39,8], +"df/dce/namespacegraph.html#ab7706341d006e20d1ae58274187a3346":[9,0,39,14], +"df/dce/namespacegraph.html#ad4016cfc80485a43748895a2c26c7d08":[9,0,39,5], +"df/dce/namespacegraph.html#adc68cbc8ba09eb1142265935c0d45b84":[9,0,39,9], +"df/dd0/queue__using__two__stacks_8cpp.html":[11,0,4,21] }; diff --git a/navtreeindex14.js b/navtreeindex14.js index 07006f97b..0316a5403 100644 --- a/navtreeindex14.js +++ b/navtreeindex14.js @@ -1,213 +1,16 @@ var NAVTREEINDEX14 = { -"de/db4/namespacedisjoint__union.html":[9,0,23], -"de/db6/a1z26__cipher_8cpp.html":[11,0,2,0], -"de/db6/a1z26__cipher_8cpp.html#a0a78954e96c862430904ee3e64623c38":[11,0,2,0,0], -"de/db6/a1z26__cipher_8cpp.html#a77a6b827a0b9c7aca2d705811459d744":[11,0,2,0,1], -"de/db6/a1z26__cipher_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,2,0,3], -"de/db6/a1z26__cipher_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,2,0,2], -"de/dc3/binaryheap_8cpp.html":[11,0,4,4], -"de/dc3/fibonacci__sum_8cpp.html":[11,0,14,19], -"de/dc3/fibonacci__sum_8cpp.html#a493fbaa7a94e3b7ca573111237bb3742":[11,0,14,19,0], -"de/dc3/fibonacci__sum_8cpp.html#a7cf5feaf168b88e74544da59ed830311":[11,0,14,19,3], -"de/dc3/fibonacci__sum_8cpp.html#a9c83cca09a3e4ff2a25c816a9303448e":[11,0,14,19,2], -"de/dc3/fibonacci__sum_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,14,19,5], -"de/dc3/fibonacci__sum_8cpp.html#aadb40ac4c74a7efc0680b83eeee138aa":[11,0,14,19,4], -"de/dc3/fibonacci__sum_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,14,19,1], -"de/dc5/intersection__of__two__arrays_8cpp.html":[11,0,16,4], -"de/dc5/intersection__of__two__arrays_8cpp.html#a167c24bd817469ae47358d12e034f2d5":[11,0,16,4,4], -"de/dc5/intersection__of__two__arrays_8cpp.html#a2b9769e44683dcb67fe1083ad91e134d":[11,0,16,4,7], -"de/dc5/intersection__of__two__arrays_8cpp.html#a6109193567a5b7e36a27f2b4865fce20":[11,0,16,4,2], -"de/dc5/intersection__of__two__arrays_8cpp.html#aa515639572647508b94986489aab6d76":[11,0,16,4,6], -"de/dc5/intersection__of__two__arrays_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,16,4,3], -"de/dc5/intersection__of__two__arrays_8cpp.html#aacafde185abd8670abee51157f273dc2":[11,0,16,4,9], -"de/dc5/intersection__of__two__arrays_8cpp.html#abdd77344d4af8fd56d14a5cabbf2f669":[11,0,16,4,5], -"de/dc5/intersection__of__two__arrays_8cpp.html#adaf9a06f0c236c2d95c97e441ea2d12e":[11,0,16,4,0], -"de/dc5/intersection__of__two__arrays_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,16,4,1], -"de/dc5/intersection__of__two__arrays_8cpp.html#af7b81d7a1534216af6a36a80135beb86":[11,0,16,4,8], -"de/dcd/kadanes3_8cpp.html":[11,0,17,7], -"de/dcd/kadanes3_8cpp.html#a338439a04148ae89f695595acfa5c147":[11,0,17,7,1], -"de/dcd/kadanes3_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,17,7,2], -"de/dcd/kadanes3_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,17,7,0], -"de/dcf/binary__exponent_8cpp.html":[11,0,14,3], -"de/dcf/binary__exponent_8cpp.html#a31dbf5f7ceb9c9eec831ef9f7782291f":[11,0,14,3,1], -"de/dcf/binary__exponent_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,14,3,2], -"de/dcf/binary__exponent_8cpp.html#aeb48dce0725e63d19147944f41843c73":[11,0,14,3,0], -"de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree.html":[10,0,12,2,0], -"de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree.html#a1c0d27198372b36ef71bc58af8336b9c":[10,0,12,2,0,6], -"de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree.html#a2e683b271d8d5cd63e0d09cf8aaa325c":[10,0,12,2,0,3], -"de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree.html#a534645d1aabdf1a7e5897c85376f173d":[10,0,12,2,0,2], -"de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree.html#a5cf972a2c994a4fa1a89fc77bd5ad503":[10,0,12,2,0,5], -"de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree.html#ab6a17a04aa93aaaef71e038e8cc2edeb":[10,0,12,2,0,8], -"de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree.html#abb44646a26a446efae7704c80efc011b":[10,0,12,2,0,1], -"de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree.html#abcb1cc8da7b6759dc92cbe0254697c56":[10,0,12,2,0,0], -"de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree.html#adb2b6be741b0500ee75d89b6d06b5d50":[10,0,12,2,0,4], -"de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree.html#af6f974381f523fdb981fc2d843bbf4a1":[10,0,12,2,0,7], -"de/dd1/segment__tree_8cpp.html":[11,0,4,17], -"de/dd1/segment__tree_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,4,17,2], -"de/dd1/segment__tree_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,4,17,1], -"de/dd3/namespace_s_h_a.html":[9,0,109], -"de/dd3/newton__raphson__method_8cpp.html":[11,0,15,14], -"de/dd3/newton__raphson__method_8cpp.html#a2003b5b2dcfff0769b957ab5c968b03d":[11,0,15,14,0], -"de/dd3/newton__raphson__method_8cpp.html#a3d3f7f41977394680af6ebbed96f3386":[11,0,15,14,1], -"de/dd3/newton__raphson__method_8cpp.html#a5c5ff05b9f37ae59dad67e1d4f6cd51d":[11,0,15,14,4], -"de/dd3/newton__raphson__method_8cpp.html#a75f355966e0a97665eaf5a4c79baa7af":[11,0,15,14,3], -"de/dd3/newton__raphson__method_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,15,14,2], -"de/dd9/catalan__numbers_8cpp.html":[11,0,6,3], -"de/dde/lowest__common__ancestor_8cpp.html":[11,0,9,10], -"de/dde/lowest__common__ancestor_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e":[11,0,9,10,4], -"de/dde/lowest__common__ancestor_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,9,10,3], -"de/de4/fibonacci__large_8cpp.html":[11,0,14,17], -"de/de4/fibonacci__large_8cpp.html#adf3e906875ab257f7fab3bc1370aa2db":[11,0,14,17,0], -"de/df6/classgreedy__algorithms_1_1_binary_addition.html":[9,0,42,2], -"de/df6/classgreedy__algorithms_1_1_binary_addition.html":[10,0,7,1], -"de/df6/classgreedy__algorithms_1_1_binary_addition.html#a4cfb595ba80795a9efae0e3f6f5c34d2":[9,0,42,2,1], -"de/df6/classgreedy__algorithms_1_1_binary_addition.html#a4cfb595ba80795a9efae0e3f6f5c34d2":[10,0,7,1,1], -"de/df6/classgreedy__algorithms_1_1_binary_addition.html#a801fd1ec5cda76b0bb82cbf23ed4d527":[9,0,42,2,0], -"de/df6/classgreedy__algorithms_1_1_binary_addition.html#a801fd1ec5cda76b0bb82cbf23ed4d527":[10,0,7,1,0], -"df/d06/decimal__to__binary_8cpp.html":[11,0,17,1], -"df/d06/decimal__to__binary_8cpp.html#a10df57491019f0ac39b492740fb388f7":[11,0,17,1,1], -"df/d06/decimal__to__binary_8cpp.html#a9240f2e79074a2a248395258aebbfa11":[11,0,17,1,0], -"df/d10/namespacepancake__sort.html":[9,0,90], -"df/d11/midpoint__integral__method_8cpp.html":[11,0,15,13], -"df/d11/midpoint__integral__method_8cpp.html#a2ae48a41e43dc6ab11b962742349646e":[11,0,15,13,6], -"df/d11/midpoint__integral__method_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627":[11,0,15,13,4], -"df/d11/midpoint__integral__method_8cpp.html#a7072493d1f0f8a91b2a71d4cc456c09c":[11,0,15,13,5], -"df/d11/midpoint__integral__method_8cpp.html#a7ee8e824ef3e138a9a21883b26d97226":[11,0,15,13,0], -"df/d11/midpoint__integral__method_8cpp.html#ad53616fb4fa6880ae876bcba53365c51":[11,0,15,13,3], -"df/d11/midpoint__integral__method_8cpp.html#ae682ee71af44b1e9e884849cc6a6b040":[11,0,15,13,1], -"df/d11/midpoint__integral__method_8cpp.html#ae9f66040f8e0ba73c1c741261c22a52a":[11,0,15,13,2], -"df/d1c/namespacestack__using__queue.html":[9,0,116], -"df/d28/dsu__union__rank_8cpp.html":[11,0,4,8], -"df/d28/dsu__union__rank_8cpp.html#a45d94ead4cf4e1ff9f87c38bc99f59ae":[11,0,4,8,3], -"df/d28/dsu__union__rank_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,4,8,1], -"df/d28/dsu__union__rank_8cpp.html#ae7880ce913f3058a35ff106d5be9e243":[11,0,4,8,2], -"df/d2c/elliptic__curve__key__exchange_8cpp.html":[11,0,2,3], -"df/d2c/elliptic__curve__key__exchange_8cpp.html#a17f3d667241b88115a95282cdd719cb2":[11,0,2,3,5], -"df/d2c/elliptic__curve__key__exchange_8cpp.html#a37775d1724ffe404c088dabbc8da91ae":[11,0,2,3,8], -"df/d2c/elliptic__curve__key__exchange_8cpp.html#a8800c8a84d77dadadb05ad5e83b77ef4":[11,0,2,3,7], -"df/d2c/elliptic__curve__key__exchange_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,2,3,6], -"df/d2c/elliptic__curve__key__exchange_8cpp.html#ac00616a4e40d3cd5cfb4da87d9ff9af0":[11,0,2,3,3], -"df/d2c/elliptic__curve__key__exchange_8cpp.html#acc5fe9c2032fb7582c38a20d1fa69bcf":[11,0,2,3,2], -"df/d2c/elliptic__curve__key__exchange_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,2,3,4], -"df/d2c/elliptic__curve__key__exchange_8cpp.html#af0a6e3521629c25c2b5d620f26429830":[11,0,2,3,1], -"df/d34/classprobability_1_1windowed__median_1_1_windowed_median.html":[10,0,14,1,0], -"df/d34/classprobability_1_1windowed__median_1_1_windowed_median.html#a3a7f57679e9cd6c9f042dfd0612b2b24":[10,0,14,1,0,5], -"df/d34/classprobability_1_1windowed__median_1_1_windowed_median.html#a55ae3543a76045dffcb5ec7904a32a20":[10,0,14,1,0,6], -"df/d34/classprobability_1_1windowed__median_1_1_windowed_median.html#a61804988fcb1a6caf640f8291979aaa6":[10,0,14,1,0,3], -"df/d34/classprobability_1_1windowed__median_1_1_windowed_median.html#a6b52b7851750f28d53508e63c52a69f7":[10,0,14,1,0,4], -"df/d34/classprobability_1_1windowed__median_1_1_windowed_median.html#a825a7aaef844c9f743a27b268e8569b2":[10,0,14,1,0,8], -"df/d34/classprobability_1_1windowed__median_1_1_windowed_median.html#a938cafbdf70dc01e86e9bb12d29ec65d":[10,0,14,1,0,2], -"df/d34/classprobability_1_1windowed__median_1_1_windowed_median.html#aac676369661d15a3eb782c0fee77d45d":[10,0,14,1,0,0], -"df/d34/classprobability_1_1windowed__median_1_1_windowed_median.html#aacd76f078632faee1a8788d031e6c2de":[10,0,14,1,0,7], -"df/d34/classprobability_1_1windowed__median_1_1_windowed_median.html#aafda847b152684578dab891e5268d750":[10,0,14,1,0,9], -"df/d34/classprobability_1_1windowed__median_1_1_windowed_median.html#af544e271ea19a6fd69a6b3ed6816453e":[10,0,14,1,0,1], -"df/d39/interpolation__search2_8cpp.html":[11,0,21,4], -"df/d39/interpolation__search2_8cpp.html#aa3ec659ec8394d186c761df81ad1f629":[11,0,21,4,0], -"df/d39/interpolation__search2_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,21,4,1], -"df/d42/binary__search__tree2_8cpp.html":[11,0,4,3], -"df/d42/binary__search__tree2_8cpp.html#a06f35064850e891d6fda0093c0d9ee6e":[11,0,4,3,5], -"df/d42/binary__search__tree2_8cpp.html#a1d42876440ac5346e2850a32497385c3":[11,0,4,3,2], -"df/d42/binary__search__tree2_8cpp.html#a8c882f43e1e52948a7841a8bfb091350":[11,0,4,3,8], -"df/d42/binary__search__tree2_8cpp.html#a94b76f781fcbe1ad0e3397ace6bb1965":[11,0,4,3,6], -"df/d42/binary__search__tree2_8cpp.html#a9856b68e2cba50d2e26a1cbe374e0365":[11,0,4,3,3], -"df/d42/binary__search__tree2_8cpp.html#ab00b8d0f21aeb5fbddb6decf3bcb640a":[11,0,4,3,7], -"df/d42/binary__search__tree2_8cpp.html#ab1333c3ea06dcad896ee204bbd407c4e":[11,0,4,3,9], -"df/d42/binary__search__tree2_8cpp.html#af2847a901160fd45b4044550e9921cb4":[11,0,4,3,4], -"df/d44/namespacen__queens__all__solutions.html":[9,0,82], -"df/d47/fcfs__scheduling_8cpp.html":[11,0,3,0], -"df/d47/fcfs__scheduling_8cpp.html#a18920aa331faf4476b251c8cdb2c2bec":[11,0,3,0,4], -"df/d47/fcfs__scheduling_8cpp.html#a8f2b90cb64d63a7080965e66a05ccf86":[11,0,3,0,2], -"df/d47/fcfs__scheduling_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,3,0,5], -"df/d47/fcfs__scheduling_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,3,0,3], -"df/d47/stack_8hpp.html":[11,0,4,20], -"df/d47/stack_8hpp_source.html":[11,0,4,20], -"df/d4a/namespaceselection__sort__recursive.html":[9,0,107], -"df/d66/vector__cross__product_8cpp.html":[11,0,14,56], -"df/d66/vector__cross__product_8cpp.html#a225732399c5c076976eae5b180a9f8c9":[11,0,14,56,0], -"df/d66/vector__cross__product_8cpp.html#a4b2a9757a87c18e1642d72410ecfaba8":[11,0,14,56,1], -"df/d66/vector__cross__product_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,14,56,3], -"df/d66/vector__cross__product_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,14,56,2], -"df/d6b/namespaceciphers_1_1elliptic__curve__key__exchange.html":[9,0,13,0], -"df/d6b/namespaceciphers_1_1elliptic__curve__key__exchange.html#a17f3d667241b88115a95282cdd719cb2":[9,0,13,0,4], -"df/d6b/namespaceciphers_1_1elliptic__curve__key__exchange.html#ac00616a4e40d3cd5cfb4da87d9ff9af0":[9,0,13,0,3], -"df/d6b/namespaceciphers_1_1elliptic__curve__key__exchange.html#acc5fe9c2032fb7582c38a20d1fa69bcf":[9,0,13,0,2], -"df/d6b/namespaceciphers_1_1elliptic__curve__key__exchange.html#af0a6e3521629c25c2b5d620f26429830":[9,0,13,0,1], -"df/d72/modular__division_8cpp.html":[11,0,14,35], -"df/d72/modular__division_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97":[11,0,14,35,0], -"df/d72/modular__division_8cpp.html#a66cdf93153cbd1408bd74ac68961d179":[11,0,14,35,2], -"df/d72/modular__division_8cpp.html#a905e368ae121beb7e7ea35349ddcdac7":[11,0,14,35,1], -"df/d72/modular__division_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,14,35,3], -"df/d74/namespacesubarray__sum.html":[9,0,124], -"df/d76/namespacefibonacci.html":[9,0,31], -"df/d82/breadth__first__search_8cpp.html":[11,0,9,1], -"df/d82/breadth__first__search_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e":[11,0,9,1,2], -"df/d82/breadth__first__search_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,9,1,1], -"df/d88/namespacedp.html":[9,0,27], -"df/d8e/namespacetrie__operations.html":[9,0,133], -"df/d8f/classothers_1_1_cache_1_1_l_f_u_cache.html":[9,0,88,0,1], -"df/d8f/classothers_1_1_cache_1_1_l_f_u_cache.html":[10,0,13,0,1], -"df/d8f/classothers_1_1_cache_1_1_l_f_u_cache.html#a16a25c102554c5653721a5112ef676c9":[9,0,88,0,1,5], -"df/d8f/classothers_1_1_cache_1_1_l_f_u_cache.html#a16a25c102554c5653721a5112ef676c9":[10,0,13,0,1,5], -"df/d8f/classothers_1_1_cache_1_1_l_f_u_cache.html#a3acc10e6bb67d9d9c4187f625723e6c5":[9,0,88,0,1,10], -"df/d8f/classothers_1_1_cache_1_1_l_f_u_cache.html#a3acc10e6bb67d9d9c4187f625723e6c5":[10,0,13,0,1,10], -"df/d8f/classothers_1_1_cache_1_1_l_f_u_cache.html#a58e37d3713f28d36abbb8cdf6c432781":[9,0,88,0,1,4], -"df/d8f/classothers_1_1_cache_1_1_l_f_u_cache.html#a58e37d3713f28d36abbb8cdf6c432781":[10,0,13,0,1,4], -"df/d8f/classothers_1_1_cache_1_1_l_f_u_cache.html#a68e1be0a3e0a6478aa35f04000e0e9b0":[9,0,88,0,1,3], -"df/d8f/classothers_1_1_cache_1_1_l_f_u_cache.html#a68e1be0a3e0a6478aa35f04000e0e9b0":[10,0,13,0,1,3], -"df/d8f/classothers_1_1_cache_1_1_l_f_u_cache.html#a6de844d1589a809239cc07752f311285":[9,0,88,0,1,12], -"df/d8f/classothers_1_1_cache_1_1_l_f_u_cache.html#a6de844d1589a809239cc07752f311285":[10,0,13,0,1,12], -"df/d8f/classothers_1_1_cache_1_1_l_f_u_cache.html#a8857531ecc8ed2e36868e267148eff36":[9,0,88,0,1,1], -"df/d8f/classothers_1_1_cache_1_1_l_f_u_cache.html#a8857531ecc8ed2e36868e267148eff36":[10,0,13,0,1,1], -"df/d8f/classothers_1_1_cache_1_1_l_f_u_cache.html#ab3561ab204754295199f9566924f7e69":[9,0,88,0,1,6], -"df/d8f/classothers_1_1_cache_1_1_l_f_u_cache.html#ab3561ab204754295199f9566924f7e69":[10,0,13,0,1,6], -"df/d8f/classothers_1_1_cache_1_1_l_f_u_cache.html#aba5d59d0f6ab0c0d30a92551ca5a05f2":[9,0,88,0,1,11], -"df/d8f/classothers_1_1_cache_1_1_l_f_u_cache.html#aba5d59d0f6ab0c0d30a92551ca5a05f2":[10,0,13,0,1,11], -"df/d8f/classothers_1_1_cache_1_1_l_f_u_cache.html#ac27c9076377cbed2a2acc45a189fed2c":[9,0,88,0,1,2], -"df/d8f/classothers_1_1_cache_1_1_l_f_u_cache.html#ac27c9076377cbed2a2acc45a189fed2c":[10,0,13,0,1,2], -"df/d8f/classothers_1_1_cache_1_1_l_f_u_cache.html#ac7684879e2e5da3d8bc5b1699ee42d35":[9,0,88,0,1,13], -"df/d8f/classothers_1_1_cache_1_1_l_f_u_cache.html#ac7684879e2e5da3d8bc5b1699ee42d35":[10,0,13,0,1,13], -"df/d8f/classothers_1_1_cache_1_1_l_f_u_cache.html#adad4ab43141fb8ba43facd3a71e07047":[9,0,88,0,1,7], -"df/d8f/classothers_1_1_cache_1_1_l_f_u_cache.html#adad4ab43141fb8ba43facd3a71e07047":[10,0,13,0,1,7], -"df/d8f/classothers_1_1_cache_1_1_l_f_u_cache.html#adbfb2ef7358423fdf1f49d410f55f195":[9,0,88,0,1,9], -"df/d8f/classothers_1_1_cache_1_1_l_f_u_cache.html#adbfb2ef7358423fdf1f49d410f55f195":[10,0,13,0,1,9], -"df/d8f/classothers_1_1_cache_1_1_l_f_u_cache.html#af6f8e5a66a45436b490dfe015ff8866e":[9,0,88,0,1,8], -"df/d8f/classothers_1_1_cache_1_1_l_f_u_cache.html#af6f8e5a66a45436b490dfe015ff8866e":[10,0,13,0,1,8], -"df/d8f/classothers_1_1_cache_1_1_l_f_u_cache.html#affd7776c246caa2d0f92fd8616f6e5dc":[9,0,88,0,1,0], -"df/d8f/classothers_1_1_cache_1_1_l_f_u_cache.html#affd7776c246caa2d0f92fd8616f6e5dc":[10,0,13,0,1,0], -"df/d94/subarray__sum_8cpp.html":[11,0,0,8], -"df/d94/subarray__sum_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,0,8,2], -"df/d94/subarray__sum_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,0,8,0], -"df/d94/subarray__sum_8cpp.html#af5687bbd9faf927fbd363c71e0baba5e":[11,0,0,8,1], -"df/d99/structstd_1_1is__unsigned_3_01uint256__t_01_4.html":[9,0,118,10], -"df/d99/structstd_1_1is__unsigned_3_01uint256__t_01_4.html":[10,0,19,5], -"df/dc8/successive__approximation_8cpp.html":[11,0,15,22], -"df/dc8/successive__approximation_8cpp.html#a79c1d08919ff7780a5d7723172602389":[11,0,15,22,0], -"df/dc8/successive__approximation_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,15,22,2], -"df/dc8/successive__approximation_8cpp.html#ae89c36add7c55298c5195d0a83de1456":[11,0,15,22,1], -"df/dcb/namespacestrings.html":[9,0,123], -"df/dcd/_2_users_2runner_2work_2_c-_plus-_plus_2_c-_plus-_plus_2math_2quadratic_equations_complex_numbers_8cpp-example.html":[12,2], -"df/dce/namespacegraph.html":[9,0,39], -"df/dce/namespacegraph.html#a0e30e0dca68cb6e4f671440819b35b6a":[9,0,39,6], -"df/dce/namespacegraph.html#a3ae80bc4c6a79d041b4f3a6589eb7fb8":[9,0,39,10], -"df/dce/namespacegraph.html#a64c1db5aad7502c6f08e4652f6edd463":[9,0,39,11], -"df/dce/namespacegraph.html#a83ab16e96cec644109a58dfc9329bc2b":[9,0,39,12], -"df/dce/namespacegraph.html#a84b0551489c613a681cc83b34450da4b":[9,0,39,13], -"df/dce/namespacegraph.html#a8e1b547cd407c0774e63f0dc95cda9e7":[9,0,39,7], -"df/dce/namespacegraph.html#a9125ceb66bfbec3093bba64c2c1e99e2":[9,0,39,4], -"df/dce/namespacegraph.html#ab5428a3519267a28bba4b4310cfbb6ae":[9,0,39,8], -"df/dce/namespacegraph.html#ab7706341d006e20d1ae58274187a3346":[9,0,39,14], -"df/dce/namespacegraph.html#ad4016cfc80485a43748895a2c26c7d08":[9,0,39,5], -"df/dce/namespacegraph.html#adc68cbc8ba09eb1142265935c0d45b84":[9,0,39,9], -"df/dd0/queue__using__two__stacks_8cpp.html":[11,0,4,15], -"df/dd0/queue__using__two__stacks_8cpp.html#a831ded10ecad88c14a8e22b96f4c1863":[11,0,4,15,1], -"df/dd0/queue__using__two__stacks_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,4,15,0], -"df/ddd/connected__components_8cpp.html":[11,0,9,2], -"df/ddd/connected__components_8cpp.html#a3ae80bc4c6a79d041b4f3a6589eb7fb8":[11,0,9,2,1], -"df/ddd/connected__components_8cpp.html#a83ab16e96cec644109a58dfc9329bc2b":[11,0,9,2,2], -"df/ddd/connected__components_8cpp.html#a88ec9ad42717780d6caaff9d3d6977f9":[11,0,9,2,4], -"df/ddd/connected__components_8cpp.html#a9125ceb66bfbec3093bba64c2c1e99e2":[11,0,9,2,0], -"df/ddd/connected__components_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,9,2,3], +"df/dd0/queue__using__two__stacks_8cpp.html#a831ded10ecad88c14a8e22b96f4c1863":[11,0,4,21,1], +"df/dd0/queue__using__two__stacks_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,4,21,0], +"df/dd0/queue__using__two__stacks_8cpp_source.html":[11,0,4,21], +"df/dd5/binary__search_8cpp_source.html":[11,0,22,0], +"df/ddd/connected__components_8cpp.html":[11,0,9,3], +"df/ddd/connected__components_8cpp.html#a3ae80bc4c6a79d041b4f3a6589eb7fb8":[11,0,9,3,1], +"df/ddd/connected__components_8cpp.html#a83ab16e96cec644109a58dfc9329bc2b":[11,0,9,3,2], +"df/ddd/connected__components_8cpp.html#a88ec9ad42717780d6caaff9d3d6977f9":[11,0,9,3,4], +"df/ddd/connected__components_8cpp.html#a9125ceb66bfbec3093bba64c2c1e99e2":[11,0,9,3,0], +"df/ddd/connected__components_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,9,3,3], +"df/ddd/connected__components_8cpp_source.html":[11,0,9,3], "df/de5/classbacktracking_1_1generate__parentheses.html":[9,0,5,0], "df/de5/classbacktracking_1_1generate__parentheses.html":[10,0,0,0], "df/de5/classbacktracking_1_1generate__parentheses.html#ab35b9b6d2886abed3d6fb05c2be1c508":[9,0,5,0,2], @@ -217,37 +20,205 @@ var NAVTREEINDEX14 = "df/de5/classbacktracking_1_1generate__parentheses.html#af39c03d80ce0ba9fbf659b420980d160":[9,0,5,0,0], "df/de5/classbacktracking_1_1generate__parentheses.html#af39c03d80ce0ba9fbf659b420980d160":[10,0,0,0,0], "df/dea/namespacefalse__position.html":[9,0,30], -"df/def/power__for__huge__numbers_8cpp.html":[11,0,14,44], -"df/def/power__for__huge__numbers_8cpp.html#a392fb874e547e582e9c66a08a1f23326":[11,0,14,44,0], -"df/def/power__for__huge__numbers_8cpp.html#aa141a7904f0c4668bac112d652a3acf9":[11,0,14,44,2], -"df/def/power__for__huge__numbers_8cpp.html#ae249a2af508aa94266023ce8aa81426f":[11,0,14,44,3], -"df/def/power__for__huge__numbers_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,14,44,1], -"df/dfb/minimax_8cpp.html":[11,0,0,3], -"df/dfb/minimax_8cpp.html#a78540bcb5ef3473b2348cbc34748ec50":[11,0,0,3,1], -"df/dfb/minimax_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,0,3,0], +"df/def/power__for__huge__numbers_8cpp.html":[11,0,14,46], +"df/def/power__for__huge__numbers_8cpp.html#a392fb874e547e582e9c66a08a1f23326":[11,0,14,46,0], +"df/def/power__for__huge__numbers_8cpp.html#aa141a7904f0c4668bac112d652a3acf9":[11,0,14,46,2], +"df/def/power__for__huge__numbers_8cpp.html#ae249a2af508aa94266023ce8aa81426f":[11,0,14,46,3], +"df/def/power__for__huge__numbers_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,14,46,1], +"df/def/power__for__huge__numbers_8cpp_source.html":[11,0,14,46], +"df/dfb/minimax_8cpp.html":[11,0,0,4], +"df/dfb/minimax_8cpp.html#a78540bcb5ef3473b2348cbc34748ec50":[11,0,0,4,1], +"df/dfb/minimax_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,0,4,0], +"df/dfb/minimax_8cpp_source.html":[11,0,0,4], "dir_074119ce3a874b57120c49a0cc4bb5ad.html":[11,0,20], "dir_0eaa691bd54ab0922ca7f50599de6d22.html":[11,0,11], "dir_12552d7fa429bf94a2e32e5cf39f7e69.html":[11,0,9], -"dir_19b2bf9199a15c634a08b1ede1dd896a.html":[11,0,21], +"dir_19b2bf9199a15c634a08b1ede1dd896a.html":[11,0,22], "dir_296d53ceaeaa7e099814a6def439fe8a.html":[11,0,14], "dir_2e746e9d06bf2d8ff842208bcc6ebcfc.html":[11,0,4], "dir_3343723ae086de42ee4ca9774da3a13f.html":[11,0,13], "dir_35422be6552f1b3672c1b6c4aba2da64.html":[11,0,16], "dir_4b6f782e158b0b98da980a0e11a23a15.html":[11,0,7], "dir_4d6e05837bf820fb089a8a8cdf2f42b7.html":[11,0,2], +"dir_53e6fa9553ac22a5646d2a2b2d7b97a1.html":[11,0,21], "dir_59dc24c326e2a72d1164f014b22de83d.html":[11,0,18], -"dir_73a3cc5065b223eb41b02873c0e19f0e.html":[11,0,23], +"dir_73a3cc5065b223eb41b02873c0e19f0e.html":[11,0,24], "dir_82e494173a87936756866de2fa774307.html":[11,0,19], "dir_8a20dd5bfd5341a725342bf72b6b686f.html":[11,0,6], "dir_93bc990c5cceb745f78af6949e9ef947.html":[11,0,5], "dir_9510827d0b234b3cc54b29892f217477.html":[11,0,17], "dir_9c6faab82c22511b50177aa2e38e2780.html":[11,0,15], -"dir_bb1b521853a9c46347182a9d10420771.html":[11,0,22], +"dir_bb1b521853a9c46347182a9d10420771.html":[11,0,23], "dir_c11585dfcef32a26e29098facab6c144.html":[11,0,0], "dir_cc8e79ed9d2b7756c78e8d0c87c6c0c7.html":[11,0,3], "dir_e3380d2178455503f266746fb14246a5.html":[11,0,8], "dir_e79632891301b850df87e9c0030293fa.html":[11,0,10], "dir_ece9b94c107bbaa1dd68197a8c9983b9.html":[11,0,12], "dir_f1797d0c2a0a12033e7d74efffeb14e1.html":[11,0,4,0], -"dir_f3c4fbc4e901afa0a54d0623c5574aa7.html":[11,0,1] +"dir_f3c4fbc4e901afa0a54d0623c5574aa7.html":[11,0,1], +"examples.html":[12], +"files.html":[11,0], +"functions.html":[10,3,0], +"functions.html":[10,3,0,0], +"functions_a.html":[10,3,0,1], +"functions_b.html":[10,3,0,2], +"functions_c.html":[10,3,0,3], +"functions_d.html":[10,3,0,4], +"functions_e.html":[10,3,0,5], +"functions_f.html":[10,3,0,6], +"functions_func.html":[10,3,1], +"functions_func.html":[10,3,1,0], +"functions_func_a.html":[10,3,1,1], +"functions_func_b.html":[10,3,1,2], +"functions_func_c.html":[10,3,1,3], +"functions_func_d.html":[10,3,1,4], +"functions_func_e.html":[10,3,1,5], +"functions_func_f.html":[10,3,1,6], +"functions_func_g.html":[10,3,1,7], +"functions_func_h.html":[10,3,1,8], +"functions_func_i.html":[10,3,1,9], +"functions_func_k.html":[10,3,1,10], +"functions_func_l.html":[10,3,1,11], +"functions_func_m.html":[10,3,1,12], +"functions_func_n.html":[10,3,1,13], +"functions_func_o.html":[10,3,1,14], +"functions_func_p.html":[10,3,1,15], +"functions_func_q.html":[10,3,1,16], +"functions_func_r.html":[10,3,1,17], +"functions_func_s.html":[10,3,1,18], +"functions_func_t.html":[10,3,1,19], +"functions_func_u.html":[10,3,1,20], +"functions_func_v.html":[10,3,1,21], +"functions_func_w.html":[10,3,1,22], +"functions_func_~.html":[10,3,1,23], +"functions_g.html":[10,3,0,7], +"functions_h.html":[10,3,0,8], +"functions_i.html":[10,3,0,9], +"functions_k.html":[10,3,0,10], +"functions_l.html":[10,3,0,11], +"functions_m.html":[10,3,0,12], +"functions_n.html":[10,3,0,13], +"functions_o.html":[10,3,0,14], +"functions_p.html":[10,3,0,15], +"functions_q.html":[10,3,0,16], +"functions_r.html":[10,3,0,17], +"functions_rela.html":[10,3,4], +"functions_s.html":[10,3,0,18], +"functions_t.html":[10,3,0,19], +"functions_type.html":[10,3,3], +"functions_u.html":[10,3,0,20], +"functions_v.html":[10,3,0,21], +"functions_vars.html":[10,3,2], +"functions_w.html":[10,3,0,22], +"functions_x.html":[10,3,0,23], +"functions_y.html":[10,3,0,24], +"functions_~.html":[10,3,0,25], +"globals.html":[11,1,0], +"globals.html":[11,1,0,0], +"globals_a.html":[11,1,0,1], +"globals_b.html":[11,1,0,2], +"globals_c.html":[11,1,0,3], +"globals_d.html":[11,1,0,4], +"globals_defs.html":[11,1,4], +"globals_e.html":[11,1,0,5], +"globals_f.html":[11,1,0,6], +"globals_func.html":[11,1,1], +"globals_func.html":[11,1,1,0], +"globals_func_a.html":[11,1,1,1], +"globals_func_b.html":[11,1,1,2], +"globals_func_c.html":[11,1,1,3], +"globals_func_d.html":[11,1,1,4], +"globals_func_e.html":[11,1,1,5], +"globals_func_f.html":[11,1,1,6], +"globals_func_g.html":[11,1,1,7], +"globals_func_h.html":[11,1,1,8], +"globals_func_i.html":[11,1,1,9], +"globals_func_j.html":[11,1,1,10], +"globals_func_l.html":[11,1,1,11], +"globals_func_m.html":[11,1,1,12], +"globals_func_n.html":[11,1,1,13], +"globals_func_o.html":[11,1,1,14], +"globals_func_p.html":[11,1,1,15], +"globals_func_q.html":[11,1,1,16], +"globals_func_r.html":[11,1,1,17], +"globals_func_s.html":[11,1,1,18], +"globals_func_t.html":[11,1,1,19], +"globals_func_u.html":[11,1,1,20], +"globals_func_z.html":[11,1,1,21], +"globals_g.html":[11,1,0,7], +"globals_h.html":[11,1,0,8], +"globals_i.html":[11,1,0,9], +"globals_j.html":[11,1,0,10], +"globals_l.html":[11,1,0,11], +"globals_m.html":[11,1,0,12], +"globals_n.html":[11,1,0,13], +"globals_o.html":[11,1,0,14], +"globals_p.html":[11,1,0,15], +"globals_q.html":[11,1,0,16], +"globals_r.html":[11,1,0,17], +"globals_s.html":[11,1,0,18], +"globals_t.html":[11,1,0,19], +"globals_type.html":[11,1,3], +"globals_u.html":[11,1,0,20], +"globals_vars.html":[11,1,2], +"globals_w.html":[11,1,0,21], +"globals_z.html":[11,1,0,22], +"hierarchy.html":[10,2], +"index.html":[], +"index.html":[0], +"index.html#autotoc_md103":[0,0], +"index.html#autotoc_md104":[0,1], +"index.html#autotoc_md105":[0,2], +"index.html#autotoc_md106":[0,3], +"namespacemembers.html":[9,1,0], +"namespacemembers.html":[9,1,0,0], +"namespacemembers_b.html":[9,1,0,1], +"namespacemembers_c.html":[9,1,0,2], +"namespacemembers_d.html":[9,1,0,3], +"namespacemembers_e.html":[9,1,0,4], +"namespacemembers_f.html":[9,1,0,5], +"namespacemembers_func.html":[9,1,1], +"namespacemembers_func.html":[9,1,1,0], +"namespacemembers_func_b.html":[9,1,1,1], +"namespacemembers_func_c.html":[9,1,1,2], +"namespacemembers_func_d.html":[9,1,1,3], +"namespacemembers_func_e.html":[9,1,1,4], +"namespacemembers_func_f.html":[9,1,1,5], +"namespacemembers_func_g.html":[9,1,1,6], +"namespacemembers_func_h.html":[9,1,1,7], +"namespacemembers_func_i.html":[9,1,1,8], +"namespacemembers_func_k.html":[9,1,1,9], +"namespacemembers_func_l.html":[9,1,1,10], +"namespacemembers_func_m.html":[9,1,1,11], +"namespacemembers_func_n.html":[9,1,1,12], +"namespacemembers_func_o.html":[9,1,1,13], +"namespacemembers_func_p.html":[9,1,1,14], +"namespacemembers_func_q.html":[9,1,1,15], +"namespacemembers_func_r.html":[9,1,1,16], +"namespacemembers_func_s.html":[9,1,1,17], +"namespacemembers_func_t.html":[9,1,1,18], +"namespacemembers_func_u.html":[9,1,1,19], +"namespacemembers_func_v.html":[9,1,1,20], +"namespacemembers_func_z.html":[9,1,1,21], +"namespacemembers_g.html":[9,1,0,6], +"namespacemembers_h.html":[9,1,0,7], +"namespacemembers_i.html":[9,1,0,8], +"namespacemembers_k.html":[9,1,0,9], +"namespacemembers_l.html":[9,1,0,10], +"namespacemembers_m.html":[9,1,0,11], +"namespacemembers_n.html":[9,1,0,12], +"namespacemembers_o.html":[9,1,0,13], +"namespacemembers_p.html":[9,1,0,14], +"namespacemembers_q.html":[9,1,0,15], +"namespacemembers_r.html":[9,1,0,16], +"namespacemembers_s.html":[9,1,0,17], +"namespacemembers_t.html":[9,1,0,18], +"namespacemembers_type.html":[9,1,3], +"namespacemembers_u.html":[9,1,0,19], +"namespacemembers_v.html":[9,1,0,20], +"namespacemembers_vars.html":[9,1,2], +"namespacemembers_z.html":[9,1,0,21], +"namespaces.html":[9,0], +"pages.html":[], +"topics.html":[8] }; diff --git a/navtreeindex15.js b/navtreeindex15.js deleted file mode 100644 index 65d612414..000000000 --- a/navtreeindex15.js +++ /dev/null @@ -1,168 +0,0 @@ -var NAVTREEINDEX15 = -{ -"examples.html":[12], -"files.html":[11,0], -"functions.html":[10,3,0], -"functions.html":[10,3,0,0], -"functions_a.html":[10,3,0,1], -"functions_b.html":[10,3,0,2], -"functions_c.html":[10,3,0,3], -"functions_d.html":[10,3,0,4], -"functions_e.html":[10,3,0,5], -"functions_f.html":[10,3,0,6], -"functions_func.html":[10,3,1], -"functions_func.html":[10,3,1,0], -"functions_func_a.html":[10,3,1,1], -"functions_func_b.html":[10,3,1,2], -"functions_func_c.html":[10,3,1,3], -"functions_func_d.html":[10,3,1,4], -"functions_func_e.html":[10,3,1,5], -"functions_func_f.html":[10,3,1,6], -"functions_func_g.html":[10,3,1,7], -"functions_func_h.html":[10,3,1,8], -"functions_func_i.html":[10,3,1,9], -"functions_func_k.html":[10,3,1,10], -"functions_func_l.html":[10,3,1,11], -"functions_func_m.html":[10,3,1,12], -"functions_func_n.html":[10,3,1,13], -"functions_func_o.html":[10,3,1,14], -"functions_func_p.html":[10,3,1,15], -"functions_func_q.html":[10,3,1,16], -"functions_func_r.html":[10,3,1,17], -"functions_func_s.html":[10,3,1,18], -"functions_func_t.html":[10,3,1,19], -"functions_func_u.html":[10,3,1,20], -"functions_func_v.html":[10,3,1,21], -"functions_func_w.html":[10,3,1,22], -"functions_func_~.html":[10,3,1,23], -"functions_g.html":[10,3,0,7], -"functions_h.html":[10,3,0,8], -"functions_i.html":[10,3,0,9], -"functions_k.html":[10,3,0,10], -"functions_l.html":[10,3,0,11], -"functions_m.html":[10,3,0,12], -"functions_n.html":[10,3,0,13], -"functions_o.html":[10,3,0,14], -"functions_p.html":[10,3,0,15], -"functions_q.html":[10,3,0,16], -"functions_r.html":[10,3,0,17], -"functions_rela.html":[10,3,4], -"functions_s.html":[10,3,0,18], -"functions_t.html":[10,3,0,19], -"functions_type.html":[10,3,3], -"functions_u.html":[10,3,0,20], -"functions_v.html":[10,3,0,21], -"functions_vars.html":[10,3,2], -"functions_w.html":[10,3,0,22], -"functions_x.html":[10,3,0,23], -"functions_y.html":[10,3,0,24], -"functions_~.html":[10,3,0,25], -"globals.html":[11,1,0], -"globals.html":[11,1,0,0], -"globals_a.html":[11,1,0,1], -"globals_b.html":[11,1,0,2], -"globals_c.html":[11,1,0,3], -"globals_d.html":[11,1,0,4], -"globals_defs.html":[11,1,4], -"globals_e.html":[11,1,0,5], -"globals_f.html":[11,1,0,6], -"globals_func.html":[11,1,1], -"globals_func.html":[11,1,1,0], -"globals_func_a.html":[11,1,1,1], -"globals_func_b.html":[11,1,1,2], -"globals_func_c.html":[11,1,1,3], -"globals_func_d.html":[11,1,1,4], -"globals_func_e.html":[11,1,1,5], -"globals_func_f.html":[11,1,1,6], -"globals_func_g.html":[11,1,1,7], -"globals_func_h.html":[11,1,1,8], -"globals_func_i.html":[11,1,1,9], -"globals_func_j.html":[11,1,1,10], -"globals_func_l.html":[11,1,1,11], -"globals_func_m.html":[11,1,1,12], -"globals_func_n.html":[11,1,1,13], -"globals_func_o.html":[11,1,1,14], -"globals_func_p.html":[11,1,1,15], -"globals_func_q.html":[11,1,1,16], -"globals_func_r.html":[11,1,1,17], -"globals_func_s.html":[11,1,1,18], -"globals_func_t.html":[11,1,1,19], -"globals_func_u.html":[11,1,1,20], -"globals_func_z.html":[11,1,1,21], -"globals_g.html":[11,1,0,7], -"globals_h.html":[11,1,0,8], -"globals_i.html":[11,1,0,9], -"globals_j.html":[11,1,0,10], -"globals_l.html":[11,1,0,11], -"globals_m.html":[11,1,0,12], -"globals_n.html":[11,1,0,13], -"globals_o.html":[11,1,0,14], -"globals_p.html":[11,1,0,15], -"globals_q.html":[11,1,0,16], -"globals_r.html":[11,1,0,17], -"globals_s.html":[11,1,0,18], -"globals_t.html":[11,1,0,19], -"globals_type.html":[11,1,3], -"globals_u.html":[11,1,0,20], -"globals_vars.html":[11,1,2], -"globals_w.html":[11,1,0,21], -"globals_z.html":[11,1,0,22], -"hierarchy.html":[10,2], -"index.html":[], -"index.html":[0], -"index.html#autotoc_md103":[0,0], -"index.html#autotoc_md104":[0,1], -"index.html#autotoc_md105":[0,2], -"index.html#autotoc_md106":[0,3], -"namespacemembers.html":[9,1,0], -"namespacemembers.html":[9,1,0,0], -"namespacemembers_b.html":[9,1,0,1], -"namespacemembers_c.html":[9,1,0,2], -"namespacemembers_d.html":[9,1,0,3], -"namespacemembers_e.html":[9,1,0,4], -"namespacemembers_f.html":[9,1,0,5], -"namespacemembers_func.html":[9,1,1], -"namespacemembers_func.html":[9,1,1,0], -"namespacemembers_func_b.html":[9,1,1,1], -"namespacemembers_func_c.html":[9,1,1,2], -"namespacemembers_func_d.html":[9,1,1,3], -"namespacemembers_func_e.html":[9,1,1,4], -"namespacemembers_func_f.html":[9,1,1,5], -"namespacemembers_func_g.html":[9,1,1,6], -"namespacemembers_func_h.html":[9,1,1,7], -"namespacemembers_func_i.html":[9,1,1,8], -"namespacemembers_func_k.html":[9,1,1,9], -"namespacemembers_func_l.html":[9,1,1,10], -"namespacemembers_func_m.html":[9,1,1,11], -"namespacemembers_func_n.html":[9,1,1,12], -"namespacemembers_func_o.html":[9,1,1,13], -"namespacemembers_func_p.html":[9,1,1,14], -"namespacemembers_func_q.html":[9,1,1,15], -"namespacemembers_func_r.html":[9,1,1,16], -"namespacemembers_func_s.html":[9,1,1,17], -"namespacemembers_func_t.html":[9,1,1,18], -"namespacemembers_func_u.html":[9,1,1,19], -"namespacemembers_func_v.html":[9,1,1,20], -"namespacemembers_func_z.html":[9,1,1,21], -"namespacemembers_g.html":[9,1,0,6], -"namespacemembers_h.html":[9,1,0,7], -"namespacemembers_i.html":[9,1,0,8], -"namespacemembers_k.html":[9,1,0,9], -"namespacemembers_l.html":[9,1,0,10], -"namespacemembers_m.html":[9,1,0,11], -"namespacemembers_n.html":[9,1,0,12], -"namespacemembers_o.html":[9,1,0,13], -"namespacemembers_p.html":[9,1,0,14], -"namespacemembers_q.html":[9,1,0,15], -"namespacemembers_r.html":[9,1,0,16], -"namespacemembers_s.html":[9,1,0,17], -"namespacemembers_t.html":[9,1,0,18], -"namespacemembers_type.html":[9,1,3], -"namespacemembers_u.html":[9,1,0,19], -"namespacemembers_v.html":[9,1,0,20], -"namespacemembers_vars.html":[9,1,2], -"namespacemembers_z.html":[9,1,0,21], -"namespaces.html":[9,0], -"pages.html":[], -"topics.html":[8] -}; diff --git a/navtreeindex2.js b/navtreeindex2.js index 9721e8dee..bf0b62f19 100644 --- a/navtreeindex2.js +++ b/navtreeindex2.js @@ -1,253 +1,253 @@ var NAVTREEINDEX2 = { -"cpp/thread/lock.html":[9,0,118,247], -"cpp/thread/notify_all_at_thread_exit.html":[9,0,118,307], -"cpp/thread/sleep_for.html":[9,0,118,4,1], -"cpp/thread/sleep_until.html":[9,0,118,4,2], -"cpp/thread/try_lock.html":[9,0,118,463], -"cpp/thread/yield.html":[9,0,118,4,3], -"cpp/utility/declval.html":[9,0,118,94], -"cpp/utility/forward.html":[9,0,118,149], -"cpp/utility/functional/bind.html":[9,0,118,66], -"cpp/utility/functional/mem_fn.html":[9,0,118,274], -"cpp/utility/functional/not1.html":[9,0,118,305], -"cpp/utility/functional/not2.html":[9,0,118,306], -"cpp/utility/functional/ref.html":[9,0,118,88], -"cpp/utility/functional/ref.html":[9,0,118,337], -"cpp/utility/move.html":[9,0,118,288], -"cpp/utility/move_if_noexcept.html":[9,0,118,290], -"cpp/utility/pair/make_pair.html":[9,0,118,259], -"cpp/utility/program/_Exit.html":[9,0,118,11], -"cpp/utility/program/abort.html":[9,0,118,12], -"cpp/utility/program/at_quick_exit.html":[9,0,118,30], -"cpp/utility/program/atexit.html":[9,0,118,34], -"cpp/utility/program/exit.html":[9,0,118,107], -"cpp/utility/program/getenv.html":[9,0,118,183], -"cpp/utility/program/longjmp.html":[9,0,118,252], -"cpp/utility/program/quick_exit.html":[9,0,118,332], -"cpp/utility/program/raise.html":[9,0,118,333], -"cpp/utility/program/signal.html":[9,0,118,389], -"cpp/utility/program/system.html":[9,0,118,443], -"cpp/utility/rel_ops/operator_cmp.html":[9,0,118,3,0], -"cpp/utility/rel_ops/operator_cmp.html":[9,0,118,3,1], -"cpp/utility/rel_ops/operator_cmp.html":[9,0,118,3,2], -"cpp/utility/rel_ops/operator_cmp.html":[9,0,118,3,3], -"cpp/utility/tuple/forward_as_tuple.html":[9,0,118,150], -"cpp/utility/tuple/make_tuple.html":[9,0,118,261], -"cpp/utility/tuple/tie.html":[9,0,118,450], -"cpp/utility/tuple/tuple_cat.html":[9,0,118,464], -"d0/d01/smallest__circle_8cpp.html":[11,0,17,20], -"d0/d01/smallest__circle_8cpp.html#a0283886819c7c140a023582b7269e2d0":[11,0,17,20,6], -"d0/d01/smallest__circle_8cpp.html#a0b0676df8e4da7a08c7ccaecea344903":[11,0,17,20,1], -"d0/d01/smallest__circle_8cpp.html#a3cbebd6f4d2cdf227663c67fe41ba12a":[11,0,17,20,2], -"d0/d01/smallest__circle_8cpp.html#a6d0455dd5c30adda100e95f0423c786e":[11,0,17,20,7], -"d0/d01/smallest__circle_8cpp.html#a94682a4a70d5906857ca09de5b9fb2cc":[11,0,17,20,8], -"d0/d01/smallest__circle_8cpp.html#ae1a3968e7947464bee7714f6d43b7002":[11,0,17,20,5], -"d0/d01/smallest__circle_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,17,20,3], -"d0/d01/smallest__circle_8cpp.html#aee6d48762c1dfb9f14627927f0c16fad":[11,0,17,20,4], -"d0/d08/realtime__stats_8cpp.html":[11,0,14,50], -"d0/d08/realtime__stats_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627":[11,0,14,50,2], -"d0/d08/realtime__stats_8cpp.html#aa54c915581fcc495489175a4386d59fd":[11,0,14,50,3], -"d0/d20/namespaceground__to__ground__projectile__motion.html":[9,0,43], -"d0/d2b/namespacequick__sort.html":[9,0,98], -"d0/d2e/namespaceneural__network.html":[9,0,85], -"d0/d3e/classdata__structures_1_1trie.html":[9,0,21,7], -"d0/d3e/classdata__structures_1_1trie.html":[10,0,2,14], -"d0/d3e/classdata__structures_1_1trie.html#a0ab94bc6417e3f59fab33cea5b64d546":[9,0,21,7,3], -"d0/d3e/classdata__structures_1_1trie.html#a0ab94bc6417e3f59fab33cea5b64d546":[10,0,2,14,3], -"d0/d3e/classdata__structures_1_1trie.html#a362dd78748a1f01ab019e55fd6098a8b":[9,0,21,7,6], -"d0/d3e/classdata__structures_1_1trie.html#a362dd78748a1f01ab019e55fd6098a8b":[10,0,2,14,6], -"d0/d3e/classdata__structures_1_1trie.html#a499f87fd833203ef9492b4870aa6d42d":[9,0,21,7,5], -"d0/d3e/classdata__structures_1_1trie.html#a499f87fd833203ef9492b4870aa6d42d":[10,0,2,14,5], -"d0/d3e/classdata__structures_1_1trie.html#a4bfac4be6ed1a34c7159eddb42469191":[9,0,21,7,8], -"d0/d3e/classdata__structures_1_1trie.html#a4bfac4be6ed1a34c7159eddb42469191":[10,0,2,14,8], -"d0/d3e/classdata__structures_1_1trie.html#a4cb0f775b5a4bc14a6d39b5c93883eb6":[9,0,21,7,7], -"d0/d3e/classdata__structures_1_1trie.html#a4cb0f775b5a4bc14a6d39b5c93883eb6":[10,0,2,14,7], -"d0/d3e/classdata__structures_1_1trie.html#a87d8bf99aea936f9381141753f1e90a8":[9,0,21,7,0], -"d0/d3e/classdata__structures_1_1trie.html#a87d8bf99aea936f9381141753f1e90a8":[10,0,2,14,0], -"d0/d3e/classdata__structures_1_1trie.html#a961eb5d576d2420f2036009154397c63":[9,0,21,7,4], -"d0/d3e/classdata__structures_1_1trie.html#a961eb5d576d2420f2036009154397c63":[10,0,2,14,4], -"d0/d3e/classdata__structures_1_1trie.html#aab373beb3f618b90922528c68797d988":[9,0,21,7,1], -"d0/d3e/classdata__structures_1_1trie.html#aab373beb3f618b90922528c68797d988":[10,0,2,14,1], -"d0/d3e/classdata__structures_1_1trie.html#aeac27cfd397d2dd3f2f519efffafeeab":[9,0,21,7,2], -"d0/d3e/classdata__structures_1_1trie.html#aeac27cfd397d2dd3f2f519efffafeeab":[10,0,2,14,2], -"d0/d46/finding__number__of__digits__in__a__number_8cpp.html":[11,0,14,20], -"d0/d46/finding__number__of__digits__in__a__number_8cpp.html#a8a3b522a675ab4cdec2d275f6f7798a1":[11,0,14,20,0], -"d0/d46/finding__number__of__digits__in__a__number_8cpp.html#ab4c15b7f1aedd4419a65cd49562cc300":[11,0,14,20,2], -"d0/d46/finding__number__of__digits__in__a__number_8cpp.html#ac0862b67cf73651707ece04673e1ae49":[11,0,14,20,1], -"d0/d46/finding__number__of__digits__in__a__number_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,14,20,3], -"d0/d51/approximate__pi_8cpp.html":[11,0,14,1], -"d0/d51/approximate__pi_8cpp.html#a006c8ebd11bb1e035815dc835a1a7a85":[11,0,14,1,0], -"d0/d51/approximate__pi_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e":[11,0,14,1,3], -"d0/d51/approximate__pi_8cpp.html#abf7f2a6d91f1ca6c89698792aea3f188":[11,0,14,1,1], -"d0/d51/approximate__pi_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,14,1,2], -"d0/d52/namespacewiggle__sort.html":[9,0,140], -"d0/d58/classgraph_1_1_rooted_tree.html":[9,0,39,3], -"d0/d58/classgraph_1_1_rooted_tree.html":[10,0,6,5], -"d0/d58/classgraph_1_1_rooted_tree.html#a2ee3ad1161ac2532da30c3e22c265ad3":[9,0,39,3,2], -"d0/d58/classgraph_1_1_rooted_tree.html#a2ee3ad1161ac2532da30c3e22c265ad3":[10,0,6,5,2], -"d0/d58/classgraph_1_1_rooted_tree.html#a3831583a91914988897a4cc8748fda43":[9,0,39,3,3], -"d0/d58/classgraph_1_1_rooted_tree.html#a3831583a91914988897a4cc8748fda43":[10,0,6,5,3], -"d0/d58/classgraph_1_1_rooted_tree.html#aacdeecac857623e9fbfe92590f3c504d":[9,0,39,3,0], -"d0/d58/classgraph_1_1_rooted_tree.html#aacdeecac857623e9fbfe92590f3c504d":[10,0,6,5,0], -"d0/d58/classgraph_1_1_rooted_tree.html#ab22a97bf6209a085fc2d788c3c0dacbe":[9,0,39,3,4], -"d0/d58/classgraph_1_1_rooted_tree.html#ab22a97bf6209a085fc2d788c3c0dacbe":[10,0,6,5,4], -"d0/d58/classgraph_1_1_rooted_tree.html#ae6928f3ebd491541e9570e746b877c1e":[9,0,39,3,1], -"d0/d58/classgraph_1_1_rooted_tree.html#ae6928f3ebd491541e9570e746b877c1e":[10,0,6,5,1], -"d0/d5a/skip__list_8cpp.html":[11,0,4,18], -"d0/d5a/skip__list_8cpp.html#a903639d8e6f955dd8d5c263781455d61":[11,0,4,18,4], -"d0/d5a/skip__list_8cpp.html#ac0d7e0be24da9f41bcb19745873c436a":[11,0,4,18,3], -"d0/d5a/skip__list_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,4,18,2], -"d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html":[10,0,12,3,0], -"d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html#a097913c4badec2b60d50a171ecc299fe":[10,0,12,3,0,8], -"d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html#a18b70172ca4fb2811dbfb9a86e48b34c":[10,0,12,3,0,6], -"d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html#a4a624fcdf3c3beb2025d69f2cfda8023":[10,0,12,3,0,5], -"d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html#a7c5ab271d8042540f64ef16d259d1503":[10,0,12,3,0,4], -"d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html#a7ecb75b985b1ffc575a880274f855b1c":[10,0,12,3,0,2], -"d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html#a9e556f52c837190ecf4265b1f05cfe9c":[10,0,12,3,0,9], -"d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html#aacafb8c9f3ebac7ac6c01d9645bb67b6":[10,0,12,3,0,7], -"d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html#adef6940391f981ab86767775176b7169":[10,0,12,3,0,1], -"d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html#aefd24626ac47277431c9b8604e064340":[10,0,12,3,0,0], -"d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html#afca808362c13273ca8c8ae7d58e8eee0":[10,0,12,3,0,3], -"d0/d65/namespacedouble__hashing.html":[8,0,0], -"d0/d65/namespacedouble__hashing.html#a0d90726ed1de7b3d2ae261baed048003":[9,0,26,5], -"d0/d65/namespacedouble__hashing.html#a1e901418c759627557eff359b8db38cd":[9,0,26,3], -"d0/d65/namespacedouble__hashing.html#a28083ecac6eb94b643281875c8665931":[9,0,26,10], -"d0/d65/namespacedouble__hashing.html#a29f543e2626bad58907661e1e45028a6":[9,0,26,11], -"d0/d65/namespacedouble__hashing.html#a33968a1178289ab61445dd4000df7082":[9,0,26,6], -"d0/d65/namespacedouble__hashing.html#a5d06e4598569526294f10104875f6824":[9,0,26,9], -"d0/d65/namespacedouble__hashing.html#a79a9c914a6c68275b3640303d7faad8a":[9,0,26,1], -"d0/d65/namespacedouble__hashing.html#a8f8ff4fb018e1bb32d67d8a1885d3200":[9,0,26,4], -"d0/d65/namespacedouble__hashing.html#a9c652b2e467e5d250dfe3bed83b12560":[9,0,26,2], -"d0/d65/namespacedouble__hashing.html#ac2adfce49ac57f6dbd1778d2c1ce0d2b":[9,0,26,7], -"d0/d65/namespacedouble__hashing.html#af4981819aae8bc7e7beeaef02615e30d":[9,0,26,8], -"d0/d6d/modular__exponentiation_8cpp.html":[11,0,14,36], -"d0/d6d/modular__exponentiation_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,14,36,2], -"d0/d6d/modular__exponentiation_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,14,36,0], -"d0/d6d/modular__exponentiation_8cpp.html#afcd07701d73ed65cd616bcba02737f3d":[11,0,14,36,1], -"d0/d6f/namespaceothers.html":[9,0,88], -"d0/d6f/namespaceothers.html#a48677fae5d683070432b1a905722d9ec":[9,0,88,2], -"d0/d6f/namespaceothers.html#aa17dc6d061dff34f6b9a610bc5e26703":[9,0,88,1], -"d0/d77/longest__palindromic__subsequence_8cpp.html":[11,0,6,10], -"d0/d77/longest__palindromic__subsequence_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,6,10,2], -"d0/d77/longest__palindromic__subsequence_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,6,10,1], -"d0/d77/longest__palindromic__subsequence_8cpp.html#afe9f45b6e30ee187509da2d1d0093412":[11,0,6,10,0], -"d0/da2/number__of__positive__divisors_8cpp.html":[11,0,14,42], -"d0/da2/number__of__positive__divisors_8cpp.html#a88ec9ad42717780d6caaff9d3d6977f9":[11,0,14,42,2], -"d0/da2/number__of__positive__divisors_8cpp.html#ad89ccced8504b5116046cfa03066ffeb":[11,0,14,42,1], -"d0/da2/number__of__positive__divisors_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,14,42,0], -"d0/da4/namespacemonte__carlo.html":[9,0,78], -"d0/db6/non__recursive__merge__sort_8cpp.html":[11,0,22,13], -"d0/db6/non__recursive__merge__sort_8cpp.html#a140d913e42fb94176a0b2c8b29a80420":[11,0,22,13,2], -"d0/db6/non__recursive__merge__sort_8cpp.html#a27236b8d3df3832e1f1225576a122534":[11,0,22,13,3], -"d0/db6/non__recursive__merge__sort_8cpp.html#aa26de383227859210f14dcf12201a079":[11,0,22,13,0], -"d0/db6/non__recursive__merge__sort_8cpp.html#ae97f4dd815654c4682f564afd718e824":[11,0,22,13,1], -"d0/dbc/namespacestrings_1_1boyer__moore.html":[9,0,123,0], -"d0/dbc/namespacestrings_1_1boyer__moore.html#a056122c8fe8fb0f5fca6428d3f7b5c3a":[9,0,123,0,4], -"d0/dbc/namespacestrings_1_1boyer__moore.html#a0b165af1dc341289fd705be4c67728f8":[9,0,123,0,3], -"d0/dbc/namespacestrings_1_1boyer__moore.html#a15703b553faed0d28202c10808cf9738":[9,0,123,0,5], -"d0/dbc/namespacestrings_1_1boyer__moore.html#a2f6688c9bb3e692297a3aa09cebc1c00":[9,0,123,0,1], -"d0/dbc/namespacestrings_1_1boyer__moore.html#aa709cf7fca02b7d3e1888423d5f739a1":[9,0,123,0,2], -"d0/dd2/treap_8cpp.html":[11,0,4,21], -"d0/dd2/treap_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,4,21,2], -"d0/dd2/treap_8cpp.html#ad939ec178d0069aeea14b7d6d7d12099":[11,0,4,21,3], -"d0/dd2/treap_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,4,21,1], -"d0/dd5/namespacebubble__sort.html":[9,0,11], -"d0/dda/namespacesaddleback.html":[9,0,105], -"d0/de2/gaussian__elimination_8cpp.html":[11,0,15,7], -"d0/de2/gaussian__elimination_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,15,7,0], -"d0/df8/namespaceabbreviation.html":[9,0,1], -"d0/dff/structlinkedlist.html":[10,0,38], -"d1/d11/gcd__of__n__numbers_8cpp.html":[11,0,14,22], -"d1/d11/gcd__of__n__numbers_8cpp.html#a1161713c662a14c2d5e33504f4324532":[11,0,14,22,1], -"d1/d11/gcd__of__n__numbers_8cpp.html#a509a35e11ed1e17a9e00dd56320a4181":[11,0,14,22,2], -"d1/d11/gcd__of__n__numbers_8cpp.html#a71b9357c7a722f8208499d9ba573297a":[11,0,14,22,0], -"d1/d11/gcd__of__n__numbers_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,14,22,4], -"d1/d11/gcd__of__n__numbers_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,14,22,3], -"d1/d21/quick__sort_8cpp.html":[11,0,22,16], -"d1/d21/quick__sort_8cpp.html#a1b2a2cc2d319240f3b65c5b2f479ed82":[11,0,22,16,1], -"d1/d21/quick__sort_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e":[11,0,22,16,5], -"d1/d21/quick__sort_8cpp.html#a53adad7e4d83e1495df25fe8dbb4cc05":[11,0,22,16,3], -"d1/d21/quick__sort_8cpp.html#a5e6213e8008356ac6eda9427f3f4b394":[11,0,22,16,2], -"d1/d21/quick__sort_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,22,16,0], -"d1/d21/quick__sort_8cpp.html#aeccefcf6fcca62c54939c5ec9a93109b":[11,0,22,16,4], -"d1/d2a/knight__tour_8cpp.html":[11,0,0,2], -"d1/d2a/knight__tour_8cpp.html#aaa47356d98676cf5315d978f741e29c9":[11,0,0,2,2], -"d1/d2a/knight__tour_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,0,2,1], -"d1/d2a/knight__tour_8cpp.html#af27031fbff093ffd625f64010d98aab2":[11,0,0,2,0], -"d1/d35/namespaceexponential__dist.html":[9,0,29], -"d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html":[10,0,16,0,2], -"d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html#a04cd96efaba147b19d3afc769b90ff70":[10,0,16,0,2,9], -"d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html#a0efd0b9c564092f443ca97030d866ef1":[10,0,16,0,2,11], -"d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html#a135b7952593c9b1aae38fcaf1cc1abf7":[10,0,16,0,2,17], -"d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html#a350157a5fb79f76fceae33fc84171203":[10,0,16,0,2,14], -"d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html#a79ab4601c4a95c0902ac04e779e5f54d":[10,0,16,0,2,1], -"d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html#a835fb2bbb27307b8cacad9b287968bc1":[10,0,16,0,2,0], -"d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html#a8f7bca1746d40f21ad832fcea59aa6c6":[10,0,16,0,2,6], -"d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html#aa339c31ec74cd86a4842a8b09653d460":[10,0,16,0,2,4], -"d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html#aa6c37e840355b9fb2105181c578694e8":[10,0,16,0,2,15], -"d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html#ab1aeaefa1bd97b867c652ba916fbdb43":[10,0,16,0,2,10], -"d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html#ab2ab020f798d00be2613ecf63074b7c1":[10,0,16,0,2,12], -"d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html#ab916d554afa8ca5230b4310c2c69fae0":[10,0,16,0,2,2], -"d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html#ac7761255f2ba06b398b9aae5e4dce5f3":[10,0,16,0,2,8], -"d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html#ad22d760a5a33545a70e7ea5e1786c8dc":[10,0,16,0,2,5], -"d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html#ada1494fccbc7f1f07b2f9be9f7e07ad5":[10,0,16,0,2,16], -"d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html#ae2b407e64aaf9878fbee7ee6efe9c7d4":[10,0,16,0,2,7], -"d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html#ae4630fa70a80a1dc65a875488a67178a":[10,0,16,0,2,13], -"d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html#ae8de7aefcb6635d3dacdd174cd4890c4":[10,0,16,0,2,3], -"d1/d64/namespaceinterpolation__search.html":[9,0,50], -"d1/d64/namespacemodular__division.html":[9,0,76], -"d1/d76/buzz__number_8cpp.html":[11,0,17,0], -"d1/d76/buzz__number_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,17,0,0], -"d1/d77/structmst.html":[10,0,44], -"d1/d83/classuint256__t.html":[10,0,61], -"d1/d83/classuint256__t.html#a02616a4a46727b4c158b2b90de8c75c3":[10,0,61,4], -"d1/d83/classuint256__t.html#a028c585069fa53b74c153667ff66352c":[10,0,61,15], -"d1/d83/classuint256__t.html#a033d66c965e8d1fbc5bafb59ad60e163":[10,0,61,8], -"d1/d83/classuint256__t.html#a092a766421ba5833452e86a2357d7cfa":[10,0,61,3], -"d1/d83/classuint256__t.html#a0d96ce2d022dc30c2f303ab0698f52f5":[10,0,61,53], -"d1/d83/classuint256__t.html#a19c88f8f2736750822b82ef9a7096d88":[10,0,61,55], -"d1/d83/classuint256__t.html#a1fa3d95584d071add9b46597d3747b39":[10,0,61,1], -"d1/d83/classuint256__t.html#a2029e9777f999bffef6004429b4f19f2":[10,0,61,54], -"d1/d83/classuint256__t.html#a20dc3a017b1a740c4bafd3f146a90b0f":[10,0,61,33], -"d1/d83/classuint256__t.html#a28aa5786bbfce1b00398a8d38691bdaa":[10,0,61,12], -"d1/d83/classuint256__t.html#a28d26847f9b19a4f86c187791cb0db13":[10,0,61,43], -"d1/d83/classuint256__t.html#a2b5f745c05d10fa85ba5c409ad92d052":[10,0,61,5], -"d1/d83/classuint256__t.html#a2cd43a4a92dc825a010a17578b3bdedb":[10,0,61,21], -"d1/d83/classuint256__t.html#a2d7c8a1a5ecaf3e0dcb4bf6b6cff2da2":[10,0,61,73], -"d1/d83/classuint256__t.html#a303287d7bc8686dcb47fcb04720ad409":[10,0,61,24], -"d1/d83/classuint256__t.html#a357cdfee6a79e0484cd1e07511eb9f2d":[10,0,61,27], -"d1/d83/classuint256__t.html#a3dc4d3ab175f5f2a3172eb8d99a60fc3":[10,0,61,70], -"d1/d83/classuint256__t.html#a3ff17ab14b2371eb3239107d10947067":[10,0,61,6], -"d1/d83/classuint256__t.html#a406c951a07d8173685dbe384c6ab6a06":[10,0,61,39], -"d1/d83/classuint256__t.html#a41f4bb928c4ee067732503395b65f9d7":[10,0,61,77], -"d1/d83/classuint256__t.html#a42bf7490b31d8c750a67fd9bb6f2df2e":[10,0,61,2], -"d1/d83/classuint256__t.html#a4645040fe68ff01d83400f173fd2bb21":[10,0,61,32], -"d1/d83/classuint256__t.html#a47a19142e86b7369e18da1fc0a713c51":[10,0,61,66], -"d1/d83/classuint256__t.html#a4831263abc4430c363fdabce6e6e96d5":[10,0,61,52], -"d1/d83/classuint256__t.html#a4886747ffff15cdeb6bc93712629f9e7":[10,0,61,76], -"d1/d83/classuint256__t.html#a4c6db67d21c4927a45a4e1e7c2357bfc":[10,0,61,58], -"d1/d83/classuint256__t.html#a4fdeb4d4bf8cca4ee99b8487e59831df":[10,0,61,47], -"d1/d83/classuint256__t.html#a5363ec0f36de1a8a9c985907db4e95d1":[10,0,61,37], -"d1/d83/classuint256__t.html#a5e84ed2a2f99cee81ede4a0107702a45":[10,0,61,45], -"d1/d83/classuint256__t.html#a6c5e025f901f6af4b748f98013350638":[10,0,61,59], -"d1/d83/classuint256__t.html#a6eadaa829087e07eebafca3981566bb8":[10,0,61,22], -"d1/d83/classuint256__t.html#a6eec1f632aebfc44fee8a74c395e10c2":[10,0,61,78], -"d1/d83/classuint256__t.html#a74d1e1dd8cd2b31e00813ed939943be7":[10,0,61,69], -"d1/d83/classuint256__t.html#a76914bc727eab927a3941ef71275327d":[10,0,61,20], -"d1/d83/classuint256__t.html#a7ac99dea14428200f0101452293e2b3b":[10,0,61,28], -"d1/d83/classuint256__t.html#a7bbe36e2ebd52df5efab118897b3050c":[10,0,61,36], -"d1/d83/classuint256__t.html#a7bd9693b88c4df08b1f8d1fd81c597cc":[10,0,61,18], -"d1/d83/classuint256__t.html#a8161d52d369e525f4e61129376adfcf1":[10,0,61,10], -"d1/d83/classuint256__t.html#a86aab081bb7db2771e4a4f30c3eed8e2":[10,0,61,56], -"d1/d83/classuint256__t.html#a88978d00fa6a624c50c2737dc2c294b4":[10,0,61,40], -"d1/d83/classuint256__t.html#a89cf7fa466458ee08edd9a809d072bcb":[10,0,61,16], -"d1/d83/classuint256__t.html#a90ce75bec5b525de55bbf92c564a2261":[10,0,61,61], -"d1/d83/classuint256__t.html#a91badfd31be84b12cbb6d85ebc04d13a":[10,0,61,80], -"d1/d83/classuint256__t.html#a9879f7ec85fc148e1931fcb492ddc484":[10,0,61,60], -"d1/d83/classuint256__t.html#a9bc6cc460108306a59281ce4ca216839":[10,0,61,23], -"d1/d83/classuint256__t.html#a9ddd133cee83f3a2ab6ed60a7ccbc250":[10,0,61,9], -"d1/d83/classuint256__t.html#a9e1b39a46ea16bc6587e25e294c6c363":[10,0,61,13], -"d1/d83/classuint256__t.html#a9f6f3e39783c893473315bada864a183":[10,0,61,42], -"d1/d83/classuint256__t.html#aa0e532832640e9fe273b35c481b18963":[10,0,61,25] +"d2/dc8/classdata__structures_1_1_stack.html#a2ac469fcc2229d273450e429139d90e6":[9,0,21,6,1], +"d2/dc8/classdata__structures_1_1_stack.html#a2ac469fcc2229d273450e429139d90e6":[10,0,2,13,1], +"d2/dc8/classdata__structures_1_1_stack.html#a3f912a0e9bed5b24b206584e3010dce3":[9,0,21,6,8], +"d2/dc8/classdata__structures_1_1_stack.html#a3f912a0e9bed5b24b206584e3010dce3":[10,0,2,13,8], +"d2/dc8/classdata__structures_1_1_stack.html#a61dc70e128ee64c9684f03a4c04818b0":[9,0,21,6,7], +"d2/dc8/classdata__structures_1_1_stack.html#a61dc70e128ee64c9684f03a4c04818b0":[10,0,2,13,7], +"d2/dc8/classdata__structures_1_1_stack.html#a71afc94746d47fb2c0c4fa4b612edee6":[9,0,21,6,9], +"d2/dc8/classdata__structures_1_1_stack.html#a71afc94746d47fb2c0c4fa4b612edee6":[10,0,2,13,9], +"d2/dc8/classdata__structures_1_1_stack.html#a88a10062c0662a385f172669f2f19b86":[9,0,21,6,10], +"d2/dc8/classdata__structures_1_1_stack.html#a88a10062c0662a385f172669f2f19b86":[10,0,2,13,10], +"d2/dc8/classdata__structures_1_1_stack.html#a8cb0602c8a9c1603d0315938177ecc6a":[9,0,21,6,0], +"d2/dc8/classdata__structures_1_1_stack.html#a8cb0602c8a9c1603d0315938177ecc6a":[10,0,2,13,0], +"d2/dc8/classdata__structures_1_1_stack.html#aa753346c8ee5f21d4f4482398fe6d5c1":[9,0,21,6,3], +"d2/dc8/classdata__structures_1_1_stack.html#aa753346c8ee5f21d4f4482398fe6d5c1":[10,0,2,13,3], +"d2/dc8/classdata__structures_1_1_stack.html#aa9f9b087e9e7c00628e1289f0f1de3b2":[9,0,21,6,5], +"d2/dc8/classdata__structures_1_1_stack.html#aa9f9b087e9e7c00628e1289f0f1de3b2":[10,0,2,13,5], +"d2/dc8/classdata__structures_1_1_stack.html#abb86ed67d9d97112897a09cfb10ff586":[9,0,21,6,6], +"d2/dc8/classdata__structures_1_1_stack.html#abb86ed67d9d97112897a09cfb10ff586":[10,0,2,13,6], +"d2/dc8/classdata__structures_1_1_stack.html#ac46842bdd9c655d84f865fa3a03da19b":[9,0,21,6,4], +"d2/dc8/classdata__structures_1_1_stack.html#ac46842bdd9c655d84f865fa3a03da19b":[10,0,2,13,4], +"d2/dcf/namespacestatistics.html":[9,0,117], +"d2/dd4/structstd_1_1is__integral_3_01uint128__t_01_4.html":[10,0,19,2], +"d2/ddb/namespacegcd__of__n__numbers.html":[9,0,35], +"d2/de1/namespacehouse__robber.html":[9,0,48], +"d2/de7/namespacerunge__kutta.html":[9,0,104], +"d2/de9/heavy__light__decomposition_8cpp.html":[11,0,20,1], +"d2/de9/heavy__light__decomposition_8cpp.html#a34b8683a2b429de5cce57e6d733ec817":[11,0,20,1,4], +"d2/de9/heavy__light__decomposition_8cpp.html#a458410412185a5f09199deaff7157a8d":[11,0,20,1,5], +"d2/de9/heavy__light__decomposition_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,20,1,3], +"d2/de9/heavy__light__decomposition_8cpp.html#af31ec5409537703d9c8a47350386b32a":[11,0,20,1,6], +"d2/de9/heavy__light__decomposition_8cpp_source.html":[11,0,20,1], +"d2/dfc/structstd_1_1is__arithmetic_3_01uint128__t_01_4.html":[10,0,19,0], +"d3/d05/sudoku__solver_8cpp.html":[11,0,0,11], +"d3/d05/sudoku__solver_8cpp.html#a07dc6acffd0500de9bdbf16b3ade94b0":[11,0,0,11,0], +"d3/d05/sudoku__solver_8cpp.html#ab040a12d7684cd85fb3684f4211ea5ac":[11,0,0,11,2], +"d3/d05/sudoku__solver_8cpp.html#ac911c8bca8556206ff64461b2424866b":[11,0,0,11,3], +"d3/d05/sudoku__solver_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,0,11,1], +"d3/d05/sudoku__solver_8cpp_source.html":[11,0,0,11], +"d3/d06/ode__semi__implicit__euler_8cpp.html":[11,0,15,17], +"d3/d06/ode__semi__implicit__euler_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97":[11,0,15,17,1], +"d3/d06/ode__semi__implicit__euler_8cpp.html#aa13517b8e5de1b75592052db7f7e237f":[11,0,15,17,3], +"d3/d06/ode__semi__implicit__euler_8cpp.html#abaeae8f62a018d197f0187a1c80a90fe":[11,0,15,17,2], +"d3/d06/ode__semi__implicit__euler_8cpp.html#af3adf7b092a87868917ee5fb4255192b":[11,0,15,17,0], +"d3/d06/ode__semi__implicit__euler_8cpp_source.html":[11,0,15,17], +"d3/d09/node_8hpp.html":[11,0,4,15], +"d3/d09/node_8hpp_source.html":[11,0,4,15], +"d3/d17/namespaceutil__functions.html":[9,0,134], +"d3/d19/sparse__matrix_8cpp.html":[11,0,17,22], +"d3/d19/sparse__matrix_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,17,22,0], +"d3/d19/sparse__matrix_8cpp_source.html":[11,0,17,22], +"d3/d22/quick__sort__iterative_8cpp.html":[11,0,23,27], +"d3/d22/quick__sort__iterative_8cpp.html#a263595fd9a0163b5b997b89fab3a0dc5":[11,0,23,27,0], +"d3/d22/quick__sort__iterative_8cpp.html#a88ec9ad42717780d6caaff9d3d6977f9":[11,0,23,27,3], +"d3/d22/quick__sort__iterative_8cpp.html#aac8f44b28b4aa96444383030b28f8b34":[11,0,23,27,2], +"d3/d22/quick__sort__iterative_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,23,27,1], +"d3/d22/quick__sort__iterative_8cpp_source.html":[11,0,23,27], +"d3/d22/saddleback__search_8cpp.html":[11,0,22,12], +"d3/d22/saddleback__search_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,22,12,2], +"d3/d22/saddleback__search_8cpp.html#ad1e0ca34797d88490747c08eca70a2e6":[11,0,22,12,1], +"d3/d22/saddleback__search_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,22,12,0], +"d3/d22/saddleback__search_8cpp_source.html":[11,0,22,12], +"d3/d24/qr__decomposition_8cpp.html":[11,0,15,19], +"d3/d24/qr__decomposition_8cpp.html#a840291bc02cba5474a4cb46a9b9566fe":[11,0,15,19,0], +"d3/d24/qr__decomposition_8cpp_source.html":[11,0,15,19], +"d3/d26/binary__search__tree_8cpp.html":[11,0,4,2], +"d3/d26/binary__search__tree_8cpp_source.html":[11,0,4,2], +"d3/d26/classdata__structures_1_1trie__using__hashmap_1_1_trie.html":[10,0,2,7,0], +"d3/d26/classdata__structures_1_1trie__using__hashmap_1_1_trie.html#a092d0805a9e647c2048777dbe67b35ab":[10,0,2,7,0,1], +"d3/d26/classdata__structures_1_1trie__using__hashmap_1_1_trie.html#a7bbe538c8015e8ce158e7ed43f605ebd":[10,0,2,7,0,3], +"d3/d26/classdata__structures_1_1trie__using__hashmap_1_1_trie.html#a832072498abeaa52ad43c4fc99cba248":[10,0,2,7,0,8], +"d3/d26/classdata__structures_1_1trie__using__hashmap_1_1_trie.html#abcae0a4456e7f583ce716e3ef466dfd2":[10,0,2,7,0,4], +"d3/d26/classdata__structures_1_1trie__using__hashmap_1_1_trie.html#ac0bf3d6791cba144b3f539835d835e75":[10,0,2,7,0,2], +"d3/d26/classdata__structures_1_1trie__using__hashmap_1_1_trie.html#ad71eb24207c28b546631802dba97310f":[10,0,2,7,0,6], +"d3/d26/classdata__structures_1_1trie__using__hashmap_1_1_trie.html#ae15fdc7f2b5023992d87a711d78566c4":[10,0,2,7,0,5], +"d3/d26/classdata__structures_1_1trie__using__hashmap_1_1_trie.html#af3aee573fbabd2c1510c0f74f842dd17":[10,0,2,7,0,7], +"d3/d2a/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1comparison__operator.html":[10,0,10,0,0,0], +"d3/d36/digit__separation_8cpp.html":[11,0,11,2], +"d3/d36/digit__separation_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e":[11,0,11,2,2], +"d3/d36/digit__separation_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,11,2,1], +"d3/d36/digit__separation_8cpp_source.html":[11,0,11,2], +"d3/d39/manacher__algorithm_8cpp.html":[11,0,24,5], +"d3/d39/manacher__algorithm_8cpp.html#a95e6a2976bb2f332898f373941d52098":[11,0,24,5,1], +"d3/d39/manacher__algorithm_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,24,5,2], +"d3/d39/manacher__algorithm_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,24,5,0], +"d3/d39/manacher__algorithm_8cpp_source.html":[11,0,24,5], +"d3/d40/graph__coloring_8cpp.html":[11,0,0,1], +"d3/d40/graph__coloring_8cpp.html#a40337efc5dad761096489bf2c5b1c80c":[11,0,0,1,0], +"d3/d40/graph__coloring_8cpp.html#a8c47fa37fb6eeeb781b2ec1b05af6b07":[11,0,0,1,3], +"d3/d40/graph__coloring_8cpp.html#a976efe049deb042bf1f02612e181ab1d":[11,0,0,1,1], +"d3/d40/graph__coloring_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,0,1,2], +"d3/d40/graph__coloring_8cpp_source.html":[11,0,0,1], +"d3/d4c/quick__sort__3_8cpp.html":[11,0,23,26], +"d3/d4c/quick__sort__3_8cpp.html#a07e5c62de28aeddea986890ce7ac1bda":[11,0,23,26,4], +"d3/d4c/quick__sort__3_8cpp.html#a2635b04ad943fa28b7bbf8d1e6479792":[11,0,23,26,3], +"d3/d4c/quick__sort__3_8cpp.html#a6eb67c2f91c98cf4464f75b5882022de":[11,0,23,26,2], +"d3/d4c/quick__sort__3_8cpp.html#a9f59fe72dacc1f1218ef3c303d843168":[11,0,23,26,1], +"d3/d4c/quick__sort__3_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,23,26,0], +"d3/d4c/quick__sort__3_8cpp_source.html":[11,0,23,26], +"d3/d4c/xor__cipher_8cpp.html":[11,0,2,10], +"d3/d4c/xor__cipher_8cpp.html#a6099b7e0f1793f418d2c1befca8355a4":[11,0,2,10,0], +"d3/d4c/xor__cipher_8cpp.html#ae1a3968e7947464bee7714f6d43b7002":[11,0,2,10,3], +"d3/d4c/xor__cipher_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,2,10,2], +"d3/d4c/xor__cipher_8cpp.html#aeff72a463ffc580c16cc849cbbdc58ef":[11,0,2,10,1], +"d3/d4c/xor__cipher_8cpp_source.html":[11,0,2,10], +"d3/d53/mo_8cpp_source.html":[11,0,20,2], +"d3/d61/vector__important__functions_8cpp.html":[11,0,17,26], +"d3/d61/vector__important__functions_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,17,26,0], +"d3/d61/vector__important__functions_8cpp_source.html":[11,0,17,26], +"d3/d6d/namespacesimpson__method.html":[9,0,112], +"d3/d7d/brute__force__string__searching_8cpp.html":[11,0,24,1], +"d3/d7d/brute__force__string__searching_8cpp.html#ae2abaa9caa13fff35e45edca00bee123":[11,0,24,1,2], +"d3/d7d/brute__force__string__searching_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,24,1,1], +"d3/d7d/brute__force__string__searching_8cpp.html#aeb2cd81064717aedd62bfb096b1a73d8":[11,0,24,1,0], +"d3/d7d/brute__force__string__searching_8cpp_source.html":[11,0,24,1], +"d3/d80/z__function_8cpp.html":[11,0,24,7], +"d3/d80/z__function_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,24,7,2], +"d3/d80/z__function_8cpp.html#ac044c4794349a8cff6256b99950d5773":[11,0,24,7,3], +"d3/d80/z__function_8cpp.html#ac186ca3ac3a69b5e52543bb13fe46db8":[11,0,24,7,0], +"d3/d80/z__function_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,24,7,1], +"d3/d80/z__function_8cpp_source.html":[11,0,24,7], +"d3/d84/word__break_8cpp.html":[11,0,6,30], +"d3/d84/word__break_8cpp.html#a1cc9dd6e6190d10a010fdcdfe7a21a81":[11,0,6,30,1], +"d3/d84/word__break_8cpp.html#a272b0f5cdb4e41fd6dee4538b808c06a":[11,0,6,30,0], +"d3/d84/word__break_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,6,30,3], +"d3/d84/word__break_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,6,30,2], +"d3/d84/word__break_8cpp.html#afe4dcd6fd5282e535685361cba645d7c":[11,0,6,30,4], +"d3/d84/word__break_8cpp_source.html":[11,0,6,30], +"d3/d91/namespacestrassens__multiplication.html":[9,0,119], +"d3/d92/pancake__sort_8cpp.html":[11,0,23,23], +"d3/d92/pancake__sort_8cpp.html#a99e27ad84ad43df9977776b1a8d5416e":[11,0,23,23,2], +"d3/d92/pancake__sort_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,23,23,3], +"d3/d92/pancake__sort_8cpp.html#abff90bc0f54e4f8ea5f0330471781bd5":[11,0,23,23,1], +"d3/d92/pancake__sort_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,23,23,0], +"d3/d92/pancake__sort_8cpp_source.html":[11,0,23,23], +"d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html":[10,0,2,6,1], +"d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a02df91964915ca97609d35f847faff5f":[10,0,2,6,1,4], +"d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a07811b3c564a3a443b106c9aa717629d":[10,0,2,6,1,6], +"d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a11f0d016dff7f7e62b3dddb9fdf47805":[10,0,2,6,1,9], +"d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a273511e84a5243ffffe81be28bd24855":[10,0,2,6,1,0], +"d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a2e9a9db7792cf5383f4c4cc418255165":[10,0,2,6,1,11], +"d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a348ea76c7629b2dcf740be062f970a36":[10,0,2,6,1,21], +"d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a36f4d5f603f7edb7db7c73fb53ba14e9":[10,0,2,6,1,8], +"d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a370b625ca9f16bbef2b65e024ef78ea9":[10,0,2,6,1,16], +"d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a5da1be3f5b5d967ebb36a201f3ebad11":[10,0,2,6,1,13], +"d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a61dd051a74e5f36c8dc03dae8dca6ef4":[10,0,2,6,1,14], +"d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a65a1235659356166a3e9b451c64fcc36":[10,0,2,6,1,2], +"d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a6749ebb40710c9752a2771eda03c6b3e":[10,0,2,6,1,3], +"d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a84ab7b4fe7442b5e2eeed8c050bb86bd":[10,0,2,6,1,17], +"d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a936bb546e6a94d8b9d35b30ee1bb291a":[10,0,2,6,1,18], +"d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#aa7e5e00033f38006a224f30bdbf3f703":[10,0,2,6,1,5], +"d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#ac5361479dd996eb331759f33808657d9":[10,0,2,6,1,19], +"d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#ac85ba5abfd6d34dcd908b2afe6464657":[10,0,2,6,1,1], +"d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#ad37e29e2a4a6cc0eb65cbd5595e1da95":[10,0,2,6,1,10], +"d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#ae58dca20f08eaf9313f6e7b0869c2d0e":[10,0,2,6,1,7], +"d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#ae68f8e62be02657c1287def6b38d7cc9":[10,0,2,6,1,15], +"d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#aec0642d1d151521ca7c70ea85cdb15d3":[10,0,2,6,1,20], +"d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#af260f0760344771bf8fce4fc9b1739be":[10,0,2,6,1,12], +"d3/da1/namespacen__queens.html":[9,0,81], +"d3/dae/dsu__path__compression_8cpp.html":[11,0,4,9], +"d3/dae/dsu__path__compression_8cpp.html#a45d94ead4cf4e1ff9f87c38bc99f59ae":[11,0,4,9,3], +"d3/dae/dsu__path__compression_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,4,9,1], +"d3/dae/dsu__path__compression_8cpp.html#ae7880ce913f3058a35ff106d5be9e243":[11,0,4,9,2], +"d3/dae/dsu__path__compression_8cpp_source.html":[11,0,4,9], +"d3/db0/namespacelinked__list.html":[9,0,63], +"d3/db2/boyer__moore_8cpp.html":[11,0,24,0], +"d3/db2/boyer__moore_8cpp.html#a056122c8fe8fb0f5fca6428d3f7b5c3a":[11,0,24,0,6], +"d3/db2/boyer__moore_8cpp.html#a0b165af1dc341289fd705be4c67728f8":[11,0,24,0,5], +"d3/db2/boyer__moore_8cpp.html#a15703b553faed0d28202c10808cf9738":[11,0,24,0,9], +"d3/db2/boyer__moore_8cpp.html#a2f6688c9bb3e692297a3aa09cebc1c00":[11,0,24,0,3], +"d3/db2/boyer__moore_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e":[11,0,24,0,10], +"d3/db2/boyer__moore_8cpp.html#a77c872c08612d7b8861ba13bc9881cbd":[11,0,24,0,1], +"d3/db2/boyer__moore_8cpp.html#aa709cf7fca02b7d3e1888423d5f739a1":[11,0,24,0,4], +"d3/db2/boyer__moore_8cpp.html#ac8fac0dd4b19973da103a434143a16d2":[11,0,24,0,8], +"d3/db2/boyer__moore_8cpp.html#acb8f69e7901ee7459d98bd4b9dda79d9":[11,0,24,0,2], +"d3/db2/boyer__moore_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,24,0,7], +"d3/db2/boyer__moore_8cpp_source.html":[11,0,24,0], +"d3/db3/lru__cache_8cpp.html":[11,0,17,12], +"d3/db3/lru__cache_8cpp.html#a01ec21fc91ddafd964ae2035ba7892c0":[11,0,17,12,6], +"d3/db3/lru__cache_8cpp.html#a24d21a345ed06f7fba6919718cf3e058":[11,0,17,12,1], +"d3/db3/lru__cache_8cpp.html#a4b02e288a407876a8d6024f98a2a25ec":[11,0,17,12,5], +"d3/db3/lru__cache_8cpp.html#a6401e8f2d41d8cc9cd0e52ab381608d4":[11,0,17,12,4], +"d3/db3/lru__cache_8cpp.html#a6a3be6d8871b1f5dc03688da8f3ee9e6":[11,0,17,12,3], +"d3/db3/lru__cache_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,17,12,2], +"d3/db3/lru__cache_8cpp_source.html":[11,0,17,12], +"d3/dbb/class_cycle_check.html":[10,0,28], +"d3/dbb/class_cycle_check.html#a2f4485c08b45e7a21a2e86f9c3f01d8b":[10,0,28,2], +"d3/dbb/class_cycle_check.html#a399292a33edf87499daa52b51315aca5":[10,0,28,0], +"d3/dbb/class_cycle_check.html#ad9a270ffba3a68539b92272c702e3474":[10,0,28,1], +"d3/dc1/bucket__sort_8cpp_source.html":[11,0,23,5], +"d3/dc9/namespacefibonacci__sum.html":[9,0,32], +"d3/dce/linkedlist__implentation__usingarray_8cpp.html":[11,0,4,12], +"d3/dce/linkedlist__implentation__usingarray_8cpp.html#a08ba214242a900e7251cec556b592f02":[11,0,4,12,1], +"d3/dce/linkedlist__implentation__usingarray_8cpp.html#a73e11e0871f56342a30da93b6c93e8be":[11,0,4,12,2], +"d3/dce/linkedlist__implentation__usingarray_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,4,12,4], +"d3/dce/linkedlist__implentation__usingarray_8cpp.html#aed19b403f559fc5d5a4bce724f9e263c":[11,0,4,12,5], +"d3/dce/linkedlist__implentation__usingarray_8cpp.html#afcb07da7984e20b3207934696791f5df":[11,0,4,12,3], +"d3/dce/linkedlist__implentation__usingarray_8cpp_source.html":[11,0,4,12], +"d3/dd7/md__c_o_d_e___o_f___c_o_n_d_u_c_t.html":[1], +"d3/dd7/md__c_o_d_e___o_f___c_o_n_d_u_c_t.html#autotoc_md10":[1,5], +"d3/dd7/md__c_o_d_e___o_f___c_o_n_d_u_c_t.html#autotoc_md11":[1,5,0], +"d3/dd7/md__c_o_d_e___o_f___c_o_n_d_u_c_t.html#autotoc_md12":[1,5,1], +"d3/dd7/md__c_o_d_e___o_f___c_o_n_d_u_c_t.html#autotoc_md13":[1,5,2], +"d3/dd7/md__c_o_d_e___o_f___c_o_n_d_u_c_t.html#autotoc_md14":[1,5,3], +"d3/dd7/md__c_o_d_e___o_f___c_o_n_d_u_c_t.html#autotoc_md15":[1,6], +"d3/dd7/md__c_o_d_e___o_f___c_o_n_d_u_c_t.html#autotoc_md5":[1,0], +"d3/dd7/md__c_o_d_e___o_f___c_o_n_d_u_c_t.html#autotoc_md6":[1,1], +"d3/dd7/md__c_o_d_e___o_f___c_o_n_d_u_c_t.html#autotoc_md7":[1,2], +"d3/dd7/md__c_o_d_e___o_f___c_o_n_d_u_c_t.html#autotoc_md8":[1,3], +"d3/dd7/md__c_o_d_e___o_f___c_o_n_d_u_c_t.html#autotoc_md9":[1,4], +"d3/dea/stack__using__linked__list_8cpp_source.html":[11,0,4,29], +"d3/deb/namespaceshortest__common__supersequence.html":[9,0,110], +"d3/dec/cycle__check__directed__graph_8cpp_source.html":[11,0,9,5], +"d3/df9/recursive__bubble__sort_8cpp.html":[11,0,23,31], +"d3/df9/recursive__bubble__sort_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,23,31,2], +"d3/df9/recursive__bubble__sort_8cpp.html#ae3a775d99dbbb94c130a973df0cfddcf":[11,0,23,31,1], +"d3/df9/recursive__bubble__sort_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,23,31,0], +"d3/df9/recursive__bubble__sort_8cpp_source.html":[11,0,23,31], +"d3/dfb/circular__queue__using__array_8cpp_source.html":[11,0,16,3], +"d3/dfe/horspool_8cpp.html":[11,0,24,3], +"d3/dfe/horspool_8cpp.html#a1a9c3aa55ccc79d0f47d50c580997336":[11,0,24,3,0], +"d3/dfe/horspool_8cpp.html#a9884bca75ce39c116697ea2574adb37d":[11,0,24,3,1], +"d3/dfe/horspool_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,24,3,3], +"d3/dfe/horspool_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,24,3,2], +"d3/dfe/horspool_8cpp_source.html":[11,0,24,3], +"d3/dfe/perimeter_8cpp.html":[11,0,14,45], +"d3/dfe/perimeter_8cpp.html#a0efb235330ff48e14fd31faaccbcebb3":[11,0,14,45,5], +"d3/dfe/perimeter_8cpp.html#a1d4df7a4e43a2eac1acc0ac610487c73":[11,0,14,45,2], +"d3/dfe/perimeter_8cpp.html#a3d1e4db743b189f309327572663415f3":[11,0,14,45,9], +"d3/dfe/perimeter_8cpp.html#a428769a16e9525e56588d7c7709d25a6":[11,0,14,45,6], +"d3/dfe/perimeter_8cpp.html#a8998ca7b1886d1d7d00aef3b457a9b1b":[11,0,14,45,1], +"d3/dfe/perimeter_8cpp.html#a9236348755183644f1225e162d01ab14":[11,0,14,45,7], +"d3/dfe/perimeter_8cpp.html#aa8592c3279c41a2c6d4d64eeb488f63f":[11,0,14,45,4], +"d3/dfe/perimeter_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,14,45,8], +"d3/dfe/perimeter_8cpp.html#ad0acf82b7bc920182bf8322d1e103953":[11,0,14,45,0], +"d3/dfe/perimeter_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,14,45,3], +"d3/dfe/perimeter_8cpp_source.html":[11,0,14,45], +"d4/d08/sha256_8cpp.html":[11,0,12,6], +"d4/d08/sha256_8cpp.html#a28c1c6724dc6bcf91a39818699bbec27":[11,0,12,6,1], +"d4/d08/sha256_8cpp.html#a525531b3939ed44fbf01674e21931b3a":[11,0,12,6,2], +"d4/d08/sha256_8cpp.html#a55475649a2bb7aae15de0716a217f43a":[11,0,12,6,7], +"d4/d08/sha256_8cpp.html#a9e98c180d32b04aab6f767cb0c13e1da":[11,0,12,6,4], +"d4/d08/sha256_8cpp.html#adbcd504103c342a4da718f8fce6ff06c":[11,0,12,6,6], +"d4/d08/sha256_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,12,6,5], +"d4/d08/sha256_8cpp.html#af9b52eba85d23e309035354141259f27":[11,0,12,6,8], +"d4/d08/sha256_8cpp.html#afea411191ec5281f43e91ea327984627":[11,0,12,6,3], +"d4/d08/sha256_8cpp_source.html":[11,0,12,6], +"d4/d0e/classdata__structures_1_1linked__list_1_1_node.html":[10,0,2,0,2], +"d4/d0e/classdata__structures_1_1linked__list_1_1_node.html#acfccd7b52c91d91300c5b317e5ec7a6e":[10,0,2,0,2,0], +"d4/d0f/namespacegram__schmidt.html":[9,0,38], +"d4/d12/namespace_minimum.html":[9,0,75] }; diff --git a/navtreeindex3.js b/navtreeindex3.js index da0720521..ace158116 100644 --- a/navtreeindex3.js +++ b/navtreeindex3.js @@ -1,253 +1,253 @@ var NAVTREEINDEX3 = { -"d1/d83/classuint256__t.html#aa28ae272e9176557133a10dffa3b94dc":[10,0,61,75], -"d1/d83/classuint256__t.html#aa4cf08fa6a33f17594b5a842866f39a1":[10,0,61,11], -"d1/d83/classuint256__t.html#aa9e585b186e71d7cbe9c1d7387c38967":[10,0,61,30], -"d1/d83/classuint256__t.html#aaca9288fd28fc07e1386f1586bd51616":[10,0,61,29], -"d1/d83/classuint256__t.html#aae68a7bd17c14a926fb77758b5c8e547":[10,0,61,17], -"d1/d83/classuint256__t.html#ab909ef62a0c85121e7d743c016fb723d":[10,0,61,41], -"d1/d83/classuint256__t.html#abc793979ec70bb8e5cf177d83649a259":[10,0,61,48], -"d1/d83/classuint256__t.html#ac1b36e64de42f3622e7d6ec5efa273d4":[10,0,61,49], -"d1/d83/classuint256__t.html#ac6bdcf64653af8173987bf7217e99056":[10,0,61,50], -"d1/d83/classuint256__t.html#ac75a46fe3625caf10e07db1eb75a1d6e":[10,0,61,38], -"d1/d83/classuint256__t.html#ac92ac0b2368990fbbaf3cca3ee8247d7":[10,0,61,71], -"d1/d83/classuint256__t.html#acac9901ab133caa57d058a377d873bf6":[10,0,61,46], -"d1/d83/classuint256__t.html#acadd235e0029ec43d5990d24affaf42d":[10,0,61,63], -"d1/d83/classuint256__t.html#acb61fe17d064c61adc02defa651f9a5e":[10,0,61,68], -"d1/d83/classuint256__t.html#acd3970c633eb2c597874e2712392f0c7":[10,0,61,44], -"d1/d83/classuint256__t.html#acefecc3b1a4044f2be5ab46eea0099bf":[10,0,61,72], -"d1/d83/classuint256__t.html#ad4928175eaaaa2b559bc945affe63ad2":[10,0,61,19], -"d1/d83/classuint256__t.html#ad5bd38b2d3becca998457af1124d6e8b":[10,0,61,14], -"d1/d83/classuint256__t.html#ad74d33215517459c2b33ace7a9c6bc13":[10,0,61,62], -"d1/d83/classuint256__t.html#ad9ce2370b1497efbcc426793048e1f78":[10,0,61,67], -"d1/d83/classuint256__t.html#addff5645f6005e7b50a6ad0731e4f19c":[10,0,61,57], -"d1/d83/classuint256__t.html#adf09395f9113a69a05fed7e25b46c8ad":[10,0,61,65], -"d1/d83/classuint256__t.html#aecb2883133c8c8b9fcfb77ab69b03ab5":[10,0,61,79], -"d1/d83/classuint256__t.html#aed0f8c3d5be23644c4bcb2fd2551e1dc":[10,0,61,0], -"d1/d83/classuint256__t.html#af0a6e09fcf1cbf234ed32df6d7265a0b":[10,0,61,74], -"d1/d83/classuint256__t.html#af0ad4080bb5ddc16b54a7e87911005c9":[10,0,61,35], -"d1/d83/classuint256__t.html#af18e2e3d7ed635c4056062bc906fef75":[10,0,61,34], -"d1/d83/classuint256__t.html#af2193ff0d0e93143fb71f4847df16028":[10,0,61,31], -"d1/d83/classuint256__t.html#afa79020c27caea31236d04ecaa0e5ef5":[10,0,61,26], -"d1/d83/classuint256__t.html#afe9f4828d73dd51a080585dd0b99af96":[10,0,61,51], -"d1/d83/classuint256__t.html#afee82fa5052e9d8c946b9205b943cec4":[10,0,61,7], -"d1/d83/classuint256__t.html#aff4d49cf84de64301b169ad974f00bad":[10,0,61,64], -"d1/d9a/hopcroft__karp_8cpp.html":[11,0,9,8], -"d1/d9a/hopcroft__karp_8cpp.html#a88ec9ad42717780d6caaff9d3d6977f9":[11,0,9,8,2], -"d1/d9a/hopcroft__karp_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,9,8,1], -"d1/d9e/prefix__sum__array_8cpp.html":[11,0,20,3], -"d1/d9e/prefix__sum__array_8cpp.html#a7c8fd967c36dbba5fdf9c71faed604cf":[11,0,20,3,2], -"d1/d9e/prefix__sum__array_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,20,3,3], -"d1/d9e/prefix__sum__array_8cpp.html#ab36151479ad37d53ef9fcb60a274b1d9":[11,0,20,3,0], -"d1/d9e/prefix__sum__array_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,20,3,1], -"d1/da6/rungekutta_8cpp.html":[11,0,15,21], -"d1/da6/rungekutta_8cpp.html#a450497475f5607333f9aca8f88901579":[11,0,15,21,0], -"d1/da6/rungekutta_8cpp.html#a7b9f40c7b5e9749cc550f19be3dc8856":[11,0,15,21,2], -"d1/da6/rungekutta_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,15,21,3], -"d1/da6/rungekutta_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,15,21,1], -"d1/da7/armstrong__number__templated_8cpp.html":[11,0,6,2], -"d1/da7/armstrong__number__templated_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e":[11,0,6,2,2], -"d1/da7/armstrong__number__templated_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,6,2,1], -"d1/da7/armstrong__number__templated_8cpp.html#af046365a8d77a1267acc082f86135a26":[11,0,6,2,0], -"d1/daa/random__pivot__quick__sort_8cpp.html":[11,0,22,20], -"d1/daa/random__pivot__quick__sort_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97":[11,0,22,20,3], -"d1/daa/random__pivot__quick__sort_8cpp.html#a3d1c39e1ff42c04fb8ec0c0b9411cd3e":[11,0,22,20,4], -"d1/daa/random__pivot__quick__sort_8cpp.html#a40675d2eb960c71ca31ec475ba90120d":[11,0,22,20,1], -"d1/daa/random__pivot__quick__sort_8cpp.html#a7d2e7465e7b5d54c2de6d5e9db1ea6a5":[11,0,22,20,5], -"d1/daa/random__pivot__quick__sort_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,22,20,7], -"d1/daa/random__pivot__quick__sort_8cpp.html#aac5657b4fe2251cd21073f44233f6ea5":[11,0,22,20,2], -"d1/daa/random__pivot__quick__sort_8cpp.html#ac3281dc34a9cfd7beb332419b8a0aa10":[11,0,22,20,6], -"d1/db3/structcompare.html":[10,0,26], -"d1/db6/namespaceknight__tour.html":[9,0,59], -"d1/dbb/n__choose__r_8cpp.html":[11,0,14,40], -"d1/dbb/n__choose__r_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97":[11,0,14,40,0], -"d1/dbb/n__choose__r_8cpp.html#a6e2dff75c5de70455b90c799d6ad6967":[11,0,14,40,1], -"d1/dbb/n__choose__r_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,14,40,2], -"d1/dbe/lu__decomposition_8h.html":[11,0,15,12], -"d1/dbe/lu__decomposition_8h.html#a3108d43bd32c6fb3b3c158476c51ba7f":[11,0,15,12,1], -"d1/dbe/lu__decomposition_8h.html#a75b8a228c6419ecda6077255d6d60509":[11,0,15,12,2], -"d1/dbe/lu__decomposition_8h.html#ac029b636b353cefbb18b2fcc71e427e4":[11,0,15,12,0], -"d1/dbe/lu__decomposition_8h_source.html":[11,0,15,12], -"d1/dc2/classstack.html":[10,0,54], -"d1/dc2/classstack.html#a0a6b2b93ec970296940798ee98a5072e":[10,0,54,6], -"d1/dc2/classstack.html#a163eb9a6206c874c9bf98d032fca11c5":[10,0,54,2], -"d1/dc2/classstack.html#a3647fb4418890f19e0dc414b8092b8b0":[10,0,54,3], -"d1/dc2/classstack.html#a6f13157faa1a762c59e67da8b9516092":[10,0,54,0], -"d1/dc2/classstack.html#a8bce109630118a34faae717f72986033":[10,0,54,1], -"d1/dc2/classstack.html#a90df277532c23519aa7ac3c08ed90a1d":[10,0,54,4], -"d1/dc2/classstack.html#ae09630c4384903d187801921b2ddc709":[10,0,54,5], -"d1/dc2/classstack.html#aefb3dac828e32b4ec014ff4b5d43a6b8":[10,0,54,7], -"d1/dc7/linear__probing__hash__table_8cpp.html":[11,0,12,2], -"d1/dc7/linear__probing__hash__table_8cpp.html#a16680b8a37d442c2f208faa286e33908":[11,0,12,2,2], -"d1/dc7/linear__probing__hash__table_8cpp.html#a16d34fd3511626a83ab00665d7bc34d1":[11,0,12,2,1], -"d1/dc7/linear__probing__hash__table_8cpp.html#a4bde7a47f98dd1ad24c84038e2608527":[11,0,12,2,4], -"d1/dc7/linear__probing__hash__table_8cpp.html#a6322209aaa91b7bbf16f96e1cc52b746":[11,0,12,2,5], -"d1/dc7/linear__probing__hash__table_8cpp.html#a6a082dc1426a79f866cee6b370df37b0":[11,0,12,2,8], -"d1/dc7/linear__probing__hash__table_8cpp.html#a75854f5aa216e61219154c62167ce8f0":[11,0,12,2,9], -"d1/dc7/linear__probing__hash__table_8cpp.html#a75d779938df7ebc68581d922b60a2541":[11,0,12,2,7], -"d1/dc7/linear__probing__hash__table_8cpp.html#a942fc8407b8001890ea26830cdcd9d77":[11,0,12,2,11], -"d1/dc7/linear__probing__hash__table_8cpp.html#abcf8d033f8115f39f3c93cfb6cee0b28":[11,0,12,2,10], -"d1/dc7/linear__probing__hash__table_8cpp.html#ad87b71d810901fab69c4ad9d4d0fa635":[11,0,12,2,3], -"d1/dc7/linear__probing__hash__table_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,12,2,6], -"d1/dcc/wiggle__sort_8cpp.html":[8,3,1], -"d1/de0/namespacenumerical__methods.html":[9,0,86], -"d1/de0/namespacenumerical__methods.html#a158fd271b9a53e8f3f60b08b18857150":[9,0,86,1], -"d1/de0/namespacenumerical__methods.html#a28e67885f8606564cc8335f483f63309":[9,0,86,0], -"d1/de0/namespacenumerical__methods.html#aee56dc85997b8cd42bad71a5d6bd2d93":[9,0,86,2], -"d1/de9/integral__approximation_8cpp.html":[11,0,14,24], -"d1/de9/integral__approximation_8cpp.html#a50936ee98f4d40f17823befc65a32aec":[11,0,14,24,2], -"d1/de9/integral__approximation_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,14,24,1], -"d1/de9/integral__approximation_8cpp.html#aec65db4e5c7317323227f026fe50ef11":[11,0,14,24,0], -"d1/ded/windowed__median_8cpp.html":[11,0,19,6], -"d1/ded/windowed__median_8cpp.html#a6dc652a36ea42ba262c4e4236e3e6601":[11,0,19,6,2], -"d1/ded/windowed__median_8cpp.html#ac0f2228420376f4db7e1274f2b41667c":[11,0,19,6,1], -"d1/def/classdata__structures_1_1linked__list_1_1list.html":[10,0,2,0,1], -"d1/def/classdata__structures_1_1linked__list_1_1list.html#a009b19ac8cca40f2e4daa2e5989fa4f3":[10,0,2,0,1,4], -"d1/def/classdata__structures_1_1linked__list_1_1list.html#a1313837c0e9ec67fd9fbd17987e2d615":[10,0,2,0,1,3], -"d1/def/classdata__structures_1_1linked__list_1_1list.html#a2b951a3f1123b9b2f4891ec96aa76d69":[10,0,2,0,1,14], -"d1/def/classdata__structures_1_1linked__list_1_1list.html#a326ac4f721f7b74d5ed4f418a67b8d38":[10,0,2,0,1,1], -"d1/def/classdata__structures_1_1linked__list_1_1list.html#a332b965afd9d6bea8d3246673acd52c7":[10,0,2,0,1,10], -"d1/def/classdata__structures_1_1linked__list_1_1list.html#a454ab4918f579869dfed4bb420a3f897":[10,0,2,0,1,6], -"d1/def/classdata__structures_1_1linked__list_1_1list.html#a50e209b55b83622254177050945e7826":[10,0,2,0,1,0], -"d1/def/classdata__structures_1_1linked__list_1_1list.html#a6e9859d1a0755fb51e41904d20c95496":[10,0,2,0,1,9], -"d1/def/classdata__structures_1_1linked__list_1_1list.html#a73c52b2243a6c9501af65756123e7149":[10,0,2,0,1,7], -"d1/def/classdata__structures_1_1linked__list_1_1list.html#a9785d1478e59f5a90288b2928a7094d6":[10,0,2,0,1,13], -"d1/def/classdata__structures_1_1linked__list_1_1list.html#aa3801cea564a3b3bb7b03abfffdcf1e1":[10,0,2,0,1,15], -"d1/def/classdata__structures_1_1linked__list_1_1list.html#aa69707af46eb6d410eb3a54ee58e1ed1":[10,0,2,0,1,5], -"d1/def/classdata__structures_1_1linked__list_1_1list.html#ac466ec086c0835822467bd3d8f3ab90e":[10,0,2,0,1,11], -"d1/def/classdata__structures_1_1linked__list_1_1list.html#ac614ed8f1953f5486fab1cd6d7aa0500":[10,0,2,0,1,2], -"d1/def/classdata__structures_1_1linked__list_1_1list.html#ad3423f7518671351340932db3c24959a":[10,0,2,0,1,12], -"d1/def/classdata__structures_1_1linked__list_1_1list.html#adb04f732911fcfd30f7177b367c6af41":[10,0,2,0,1,8], -"d1/def/classdata__structures_1_1linked__list_1_1list.html#af39bcc08641ce0c813023f364a9a9015":[10,0,2,0,1,16], -"d1/df3/hash__search_8cpp.html":[11,0,21,3], -"d1/df3/hash__search_8cpp.html#a36ea13c16028f18ef2d5ff47f3fda7a2":[11,0,21,3,7], -"d1/df3/hash__search_8cpp.html#a392fb874e547e582e9c66a08a1f23326":[11,0,21,3,2], -"d1/df3/hash__search_8cpp.html#a566eaf0ffafd50bc61e644561fd27001":[11,0,21,3,6], -"d1/df3/hash__search_8cpp.html#a6e1a77282bc65ad359d753d25df23243":[11,0,21,3,9], -"d1/df3/hash__search_8cpp.html#a77c722016053a1d484aa177ce205b367":[11,0,21,3,1], -"d1/df3/hash__search_8cpp.html#a8ca8dcb494104d273679e219e53d0555":[11,0,21,3,4], -"d1/df3/hash__search_8cpp.html#ad0831425f1389166a9518f422d0c6ec5":[11,0,21,3,5], -"d1/df3/hash__search_8cpp.html#ad6fcd983304f85afa199d97a9b0ca9f6":[11,0,21,3,3], -"d1/df3/hash__search_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,21,3,8], -"d1/df3/hash__search_8cpp.html#af413b1740073db54796642b0ab814d6d":[11,0,21,3,10], -"d1/df6/class_easter_year_month_day.html":[10,0,31], -"d1/df6/class_easter_year_month_day.html#a01a068eae0b6fa8f86f5f60c2840bbde":[10,0,31,1], -"d1/df6/class_easter_year_month_day.html#a28d3cd09391390250932b7fb58fe61dc":[10,0,31,2], -"d1/df6/class_easter_year_month_day.html#ade0b934e5b1af24e19ff959673b2ec51":[10,0,31,0], -"d2/d05/class_min_heap.html":[10,0,42], -"d2/d05/class_min_heap.html#a078cb888e642bb1f95dd0e03f0a35820":[10,0,42,0], -"d2/d05/class_min_heap.html#a336ac71f0d857269fe9a98058a3cd130":[10,0,42,4], -"d2/d05/class_min_heap.html#a34a93a87967308eb516328c0aca3c48e":[10,0,42,10], -"d2/d05/class_min_heap.html#a37ac126eabb0c3ce04047172abccca29":[10,0,42,2], -"d2/d05/class_min_heap.html#a4014f1edaed0bd7db0c0d2ca53228980":[10,0,42,3], -"d2/d05/class_min_heap.html#a88b4aa3e66392a3eabbf2517a9a79a02":[10,0,42,9], -"d2/d05/class_min_heap.html#aa7f726cc6327955d22871592227432f5":[10,0,42,1], -"d2/d05/class_min_heap.html#aa8c6c141e3de664819686aa637e1afca":[10,0,42,6], -"d2/d05/class_min_heap.html#aaef438c1056492cb62c4a4d9035b5cad":[10,0,42,7], -"d2/d05/class_min_heap.html#ac760b85cf90265b8d674b942a43fb70e":[10,0,42,8], -"d2/d05/class_min_heap.html#ae4d358bf063bb196a1945b3fb99b4913":[10,0,42,11], -"d2/d05/class_min_heap.html#aef78f3384f5a0ae880ad0883d2d44b82":[10,0,42,5], -"d2/d0b/fast__power_8cpp.html":[11,0,14,14], -"d2/d0b/fast__power_8cpp.html#a0d4e3f0099a6975b74a314a35bd0f94d":[11,0,14,14,0], -"d2/d0b/fast__power_8cpp.html#a8399b847626e5bba983cab7c7918b445":[11,0,14,14,1], -"d2/d0b/fast__power_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,14,14,2], -"d2/d21/gnome__sort_8cpp.html":[11,0,22,7], -"d2/d21/gnome__sort_8cpp.html#a2f8bc626eb57acae24a94636a23af6a1":[11,0,22,7,1], -"d2/d21/gnome__sort_8cpp.html#aa3677f87b5b4756bc77e9e34c5f27935":[11,0,22,7,0], -"d2/d21/gnome__sort_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,22,7,3], -"d2/d21/gnome__sort_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,22,7,2], -"d2/d22/jump__search_8cpp.html":[11,0,21,5], -"d2/d22/jump__search_8cpp.html#ab49fd8f401bfc71f63b74711390cccf0":[11,0,21,5,0], -"d2/d26/count__inversions_8cpp.html":[11,0,22,4], -"d2/d26/count__inversions_8cpp.html#a3332498eabf6579ef059c0d0e9f4ec80":[11,0,22,4,0], -"d2/d26/count__inversions_8cpp.html#a851ca6a0391d14fb49a97d55e4377497":[11,0,22,4,4], -"d2/d26/count__inversions_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,22,4,5], -"d2/d26/count__inversions_8cpp.html#aad643c14734394e784a75169cb58132f":[11,0,22,4,2], -"d2/d26/count__inversions_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,22,4,1], -"d2/d26/count__inversions_8cpp.html#ae97a486e14101c4822ea8dc47f0d1661":[11,0,22,4,3], -"d2/d2c/structtower.html":[10,0,58], -"d2/d2c/structtower.html#a3ebb75c13c57d51a8a1ba1ea54a515e9":[10,0,58,1], -"d2/d2c/structtower.html#acb535964abd34c47678a4ade0628223d":[10,0,58,0], -"d2/d2f/namespacegreedy__algorithms_1_1dijkstra.html":[9,0,42,0], -"d2/d2f/namespacegreedy__algorithms_1_1dijkstra.html#a7341d7c76a6145e991cdd231f689fca8":[9,0,42,0,3], -"d2/d2f/namespacegreedy__algorithms_1_1dijkstra.html#af6cb29ca6dc5771439f6ea7262058a71":[9,0,42,0,2], -"d2/d2f/namespacegreedy__algorithms_1_1dijkstra.html#af915876d0ca33cc71a6a6191a8cd3ccd":[9,0,42,0,1], -"d2/d3b/namespaceqr__algorithm.html":[9,0,95], -"d2/d3b/namespaceqr__algorithm.html#a257425cb2365359da51c6fe6741834d8":[9,0,95,2], -"d2/d3b/namespaceqr__algorithm.html#a28e2fa3e803abaea6c568dc45d69d8cc":[9,0,95,0], -"d2/d3b/namespaceqr__algorithm.html#a6d3c7dce1f142141f509d09f6c0e25dc":[9,0,95,6], -"d2/d3b/namespaceqr__algorithm.html#a73ce637634fc49e1d10d190eb388ebf1":[9,0,95,3], -"d2/d3b/namespaceqr__algorithm.html#a8ea313a1a1b5f9d0e3e332c29c6446ec":[9,0,95,4], -"d2/d3b/namespaceqr__algorithm.html#ad16da2183db22378435042f26af43d5f":[9,0,95,5], -"d2/d3b/namespaceqr__algorithm.html#adfbdf47277c8cfee229b05b72f1f7834":[9,0,95,1], -"d2/d45/segtree_8cpp.html":[11,0,20,4], -"d2/d45/segtree_8cpp.html#a423a97ea0c7ea6e33b5844a6858d902d":[11,0,20,4,2], -"d2/d45/segtree_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,20,4,3], -"d2/d45/segtree_8cpp.html#abd3e818681fb2e29cf08f4f60f82c8e0":[11,0,20,4,4], -"d2/d45/segtree_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,20,4,1], -"d2/d45/segtree_8cpp.html#ae752659b7c1719d68fdb2ca538a93696":[11,0,20,4,0], -"d2/d52/heap__sort_8cpp.html":[11,0,22,8], -"d2/d52/heap__sort_8cpp.html#a9ed3e1510afdf3edd06cf2b68769a767":[11,0,22,8,2], -"d2/d52/heap__sort_8cpp.html#ae1a3968e7947464bee7714f6d43b7002":[11,0,22,8,3], -"d2/d52/heap__sort_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,22,8,1], -"d2/d58/neural__network_8cpp.html":[11,0,13,4], -"d2/d58/neural__network_8cpp.html#a23aa9d32bcbcd65cfc85f0a41e2afadc":[11,0,13,4,8], -"d2/d58/neural__network_8cpp.html#a2a5e874b9774aa5362dbcf288828b95c":[11,0,13,4,4], -"d2/d58/neural__network_8cpp.html#a32c00da08f2cf641dd336270f6e3c407":[11,0,13,4,5], -"d2/d58/neural__network_8cpp.html#a371aa7dd5d5add0143d1756bb0a1b32f":[11,0,13,4,10], -"d2/d58/neural__network_8cpp.html#a45d3e30406712ada3d9713ece3c1b153":[11,0,13,4,9], -"d2/d58/neural__network_8cpp.html#a76eb66212d577f948a457b6e29d87c46":[11,0,13,4,3], -"d2/d58/neural__network_8cpp.html#aa69e95a34054d7989bf446f96b2ffaf9":[11,0,13,4,2], -"d2/d58/neural__network_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,13,4,11], -"d2/d58/neural__network_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,13,4,6], -"d2/d58/neural__network_8cpp.html#af8f264600754602b6a9ea19cc690e50e":[11,0,13,4,7], -"d2/d5a/subset__sum_8cpp.html":[11,0,0,9], -"d2/d5a/subset__sum_8cpp.html#a7cb50d36a59427a33f64a266dac83d99":[11,0,0,9,1], -"d2/d5a/subset__sum_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,0,9,2], -"d2/d5a/subset__sum_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,0,9,0], -"d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d.html":[10,0,16,0,0], -"d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d.html#a0579062b384e54b611b80c6337c7f2c8":[10,0,16,0,0,3], -"d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d.html#a1b336474d17eff1aa4be73d4068dc725":[10,0,16,0,0,10], -"d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d.html#a2dfbda148aad0bfaba2ebfda9ebc915a":[10,0,16,0,0,4], -"d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d.html#a4dfbf5d9df825eeb63b294c6849bdcab":[10,0,16,0,0,6], -"d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d.html#a6e486767434e44076c1ac374a22da726":[10,0,16,0,0,0], -"d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d.html#a722cc7cf2c3e4d15583601a48b09776f":[10,0,16,0,0,11], -"d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d.html#a7d5b40c076347a6aabfb37a0590f2f24":[10,0,16,0,0,1], -"d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d.html#a84424f180f12b514eaab57a6aa20b104":[10,0,16,0,0,8], -"d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d.html#a9f1cb54ed09fde931bf3220d75ee4c57":[10,0,16,0,0,7], -"d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d.html#aa86a91ae0cd7898990a8170a2f2c9cda":[10,0,16,0,0,9], -"d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d.html#ae9e979edd69678b85665c01e2ee97828":[10,0,16,0,0,5], -"d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d.html#af64848d6630c39d0f09ce2359cc7c4f8":[10,0,16,0,0,2], -"d2/d90/namespacegreedy__algorithms.html":[9,0,42], -"d2/d90/namespacegreedy__algorithms.html#a33e3819aa9ffec0e380383c52603b502":[9,0,42,4], -"d2/d90/namespacegreedy__algorithms.html#a349e4ab9a97532c3931a2bd2a19c0098":[9,0,42,5], -"d2/d9a/structothers_1_1iterative__tree__traversals_1_1_node.html":[10,0,13,1,1], -"d2/d9a/structothers_1_1iterative__tree__traversals_1_1_node.html#a1dbaeff928e469a05251879568515b8e":[10,0,13,1,1,1], -"d2/d9a/structothers_1_1iterative__tree__traversals_1_1_node.html#ad443d44275337b9e361375ce66f1104f":[10,0,13,1,1,0], -"d2/d9a/structothers_1_1iterative__tree__traversals_1_1_node.html#af19e39acfc18b823be9d4879a20e1143":[10,0,13,1,1,2], -"d2/da7/namespacefind__non__repeating__integer.html":[9,0,33], -"d2/daa/classgreedy__algorithms_1_1dijkstra_1_1_graph.html":[9,0,42,0,0], -"d2/daa/classgreedy__algorithms_1_1dijkstra_1_1_graph.html":[10,0,7,0,0], -"d2/daa/classgreedy__algorithms_1_1dijkstra_1_1_graph.html#a224b6efacbad55d59e11b046f792fe79":[9,0,42,0,0,1], -"d2/daa/classgreedy__algorithms_1_1dijkstra_1_1_graph.html#a224b6efacbad55d59e11b046f792fe79":[10,0,7,0,0,1], -"d2/daa/classgreedy__algorithms_1_1dijkstra_1_1_graph.html#afefaeb247734a7c64bd04e68e3c1c4bc":[9,0,42,0,0,0], -"d2/daa/classgreedy__algorithms_1_1dijkstra_1_1_graph.html#afefaeb247734a7c64bd04e68e3c1c4bc":[10,0,7,0,0,0], -"d2/db0/namespacesieve__of__eratosthenes.html":[9,0,111], -"d2/dc4/classstack__linked_list.html":[10,0,55], -"d2/dc8/classdata__structures_1_1_stack.html":[9,0,21,6], -"d2/dc8/classdata__structures_1_1_stack.html":[10,0,2,13], -"d2/dc8/classdata__structures_1_1_stack.html#a04e2e7cb58b2de6d3a15053bfaaf6080":[9,0,21,6,2], -"d2/dc8/classdata__structures_1_1_stack.html#a04e2e7cb58b2de6d3a15053bfaaf6080":[10,0,2,13,2], -"d2/dc8/classdata__structures_1_1_stack.html#a2ac469fcc2229d273450e429139d90e6":[9,0,21,6,1], -"d2/dc8/classdata__structures_1_1_stack.html#a2ac469fcc2229d273450e429139d90e6":[10,0,2,13,1], -"d2/dc8/classdata__structures_1_1_stack.html#a3f912a0e9bed5b24b206584e3010dce3":[9,0,21,6,8], -"d2/dc8/classdata__structures_1_1_stack.html#a3f912a0e9bed5b24b206584e3010dce3":[10,0,2,13,8], -"d2/dc8/classdata__structures_1_1_stack.html#a61dc70e128ee64c9684f03a4c04818b0":[9,0,21,6,7], -"d2/dc8/classdata__structures_1_1_stack.html#a61dc70e128ee64c9684f03a4c04818b0":[10,0,2,13,7], -"d2/dc8/classdata__structures_1_1_stack.html#a71afc94746d47fb2c0c4fa4b612edee6":[9,0,21,6,9], -"d2/dc8/classdata__structures_1_1_stack.html#a71afc94746d47fb2c0c4fa4b612edee6":[10,0,2,13,9], -"d2/dc8/classdata__structures_1_1_stack.html#a88a10062c0662a385f172669f2f19b86":[9,0,21,6,10], -"d2/dc8/classdata__structures_1_1_stack.html#a88a10062c0662a385f172669f2f19b86":[10,0,2,13,10], -"d2/dc8/classdata__structures_1_1_stack.html#a8cb0602c8a9c1603d0315938177ecc6a":[9,0,21,6,0], -"d2/dc8/classdata__structures_1_1_stack.html#a8cb0602c8a9c1603d0315938177ecc6a":[10,0,2,13,0] +"d4/d13/namespacebidirectional__dijkstra.html":[9,0,7], +"d4/d18/composite__simpson__rule_8cpp.html":[11,0,15,3], +"d4/d18/composite__simpson__rule_8cpp.html#a1b74d828b33760094906797042b89442":[11,0,15,3,2], +"d4/d18/composite__simpson__rule_8cpp.html#a2ae48a41e43dc6ab11b962742349646e":[11,0,15,3,5], +"d4/d18/composite__simpson__rule_8cpp.html#a2f67508d5f392b0321772169342c98ad":[11,0,15,3,1], +"d4/d18/composite__simpson__rule_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627":[11,0,15,3,4], +"d4/d18/composite__simpson__rule_8cpp.html#a4251b4df4748a0b9c43a48f61bdd2397":[11,0,15,3,0], +"d4/d18/composite__simpson__rule_8cpp.html#a6d8df83a6f26ce24a75d3b358b7f5b8a":[11,0,15,3,3], +"d4/d18/composite__simpson__rule_8cpp_source.html":[11,0,15,3], +"d4/d1c/namespacehamming__distance.html":[9,0,44], +"d4/d21/least__common__multiple_8cpp.html":[11,0,14,33], +"d4/d21/least__common__multiple_8cpp.html#a88ec9ad42717780d6caaff9d3d6977f9":[11,0,14,33,3], +"d4/d21/least__common__multiple_8cpp.html#a8ba1fc66e4134ab25b2602b323150563":[11,0,14,33,0], +"d4/d21/least__common__multiple_8cpp.html#aa8d0e241db517813725e721a152e3a25":[11,0,14,33,1], +"d4/d21/least__common__multiple_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,14,33,2], +"d4/d21/least__common__multiple_8cpp_source.html":[11,0,14,33], +"d4/d32/fibonacci__fast_8cpp.html":[11,0,14,17], +"d4/d32/fibonacci__fast_8cpp.html#a392fb874e547e582e9c66a08a1f23326":[11,0,14,17,0], +"d4/d32/fibonacci__fast_8cpp.html#a5712edca101204eca8accdb1e096707f":[11,0,14,17,1], +"d4/d32/fibonacci__fast_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,14,17,2], +"d4/d32/fibonacci__fast_8cpp_source.html":[11,0,14,17], +"d4/d32/inorder__successor__of__bst_8cpp.html":[11,0,16,5], +"d4/d32/inorder__successor__of__bst_8cpp.html#a05fe8a029e155c43e4efa598d4d089d9":[11,0,16,5,8], +"d4/d32/inorder__successor__of__bst_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97":[11,0,16,5,7], +"d4/d32/inorder__successor__of__bst_8cpp.html#a3923fb22b46e085376703cae0b44d690":[11,0,16,5,4], +"d4/d32/inorder__successor__of__bst_8cpp.html#a3ae0bea4123fd2ce155108e88f2ef78c":[11,0,16,5,6], +"d4/d32/inorder__successor__of__bst_8cpp.html#a5d7266b934ca50c4f53e4f1e725d89a4":[11,0,16,5,10], +"d4/d32/inorder__successor__of__bst_8cpp.html#a72483e3f6933e004a8d86371e8a990db":[11,0,16,5,3], +"d4/d32/inorder__successor__of__bst_8cpp.html#a7b20eb99272665c1777949e26ab59589":[11,0,16,5,2], +"d4/d32/inorder__successor__of__bst_8cpp.html#a7f6f73a33beec448c27cc1d70b220702":[11,0,16,5,9], +"d4/d32/inorder__successor__of__bst_8cpp.html#a824cbf1814854824cf05f062eea07b95":[11,0,16,5,5], +"d4/d32/inorder__successor__of__bst_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,16,5,11], +"d4/d32/inorder__successor__of__bst_8cpp_source.html":[11,0,16,5], +"d4/d38/namespacecount__bits__flip.html":[9,0,15], +"d4/d38/power__of__two_8cpp.html":[11,0,14,47], +"d4/d38/power__of__two_8cpp.html#a8a48be4d7f14e34c5c92925bc1cbf3bb":[11,0,14,47,1], +"d4/d38/power__of__two_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,14,47,2], +"d4/d38/power__of__two_8cpp.html#adfd6be45be425ae28c62ce3bfb4b40dc":[11,0,14,47,3], +"d4/d38/power__of__two_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,14,47,0], +"d4/d38/power__of__two_8cpp_source.html":[11,0,14,47], +"d4/d39/group__open__addressing.html":[8,0], +"d4/d3e/k__nearest__neighbors_8cpp.html":[11,0,13,2], +"d4/d3e/k__nearest__neighbors_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97":[11,0,13,2,2], +"d4/d3e/k__nearest__neighbors_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,13,2,3], +"d4/d3e/k__nearest__neighbors_8cpp.html#ad6ae16e50bb153ebaa7251d0aaa97b69":[11,0,13,2,1], +"d4/d3e/k__nearest__neighbors_8cpp_source.html":[11,0,13,2], +"d4/d3e/n__queens_8cpp.html":[11,0,0,5], +"d4/d3e/n__queens_8cpp.html#a0dbd7af47d87f0b956609fe9e3288ecb":[11,0,0,5,3], +"d4/d3e/n__queens_8cpp.html#a40ae0c7fd04eb20e7f3bff13fc6a5808":[11,0,0,5,2], +"d4/d3e/n__queens_8cpp.html#a5730b6683f6adcf5c5ef75cf53dc7160":[11,0,0,5,0], +"d4/d3e/n__queens_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,0,5,1], +"d4/d3e/n__queens_8cpp_source.html":[11,0,0,5], +"d4/d45/gcd__recursive__euclidean_8cpp.html":[11,0,14,24], +"d4/d45/gcd__recursive__euclidean_8cpp.html#ae48807fa2b7000afae599e67f327545e":[11,0,14,24,0], +"d4/d45/gcd__recursive__euclidean_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,14,24,1], +"d4/d45/gcd__recursive__euclidean_8cpp_source.html":[11,0,14,24], +"d4/d48/hamming__distance_8cpp.html":[11,0,1,5], +"d4/d48/hamming__distance_8cpp.html#a40ba9fe8b5df5c268f0c7d677ff2fe80":[11,0,1,5,1], +"d4/d48/hamming__distance_8cpp.html#a65d845df3fecff7087a2126c7b72030b":[11,0,1,5,0], +"d4/d48/hamming__distance_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,1,5,4], +"d4/d48/hamming__distance_8cpp.html#abfe6fbb2f3460a2623c96f283178a07a":[11,0,1,5,2], +"d4/d48/hamming__distance_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,1,5,3], +"d4/d48/hamming__distance_8cpp_source.html":[11,0,1,5], +"d4/d4f/stooge__sort_8cpp.html":[11,0,23,37], +"d4/d4f/stooge__sort_8cpp.html#a0283886819c7c140a023582b7269e2d0":[11,0,23,37,3], +"d4/d4f/stooge__sort_8cpp.html#a1440a7779ac56f47a3f355ce4a8c7da0":[11,0,23,37,2], +"d4/d4f/stooge__sort_8cpp.html#a6d0455dd5c30adda100e95f0423c786e":[11,0,23,37,4], +"d4/d4f/stooge__sort_8cpp.html#ac23852832437dc68327efe9b1da2d91b":[11,0,23,37,1], +"d4/d4f/stooge__sort_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,23,37,0], +"d4/d4f/stooge__sort_8cpp_source.html":[11,0,23,37], +"d4/d68/qr__decompose_8h.html":[11,0,15,18], +"d4/d68/qr__decompose_8h.html#a257425cb2365359da51c6fe6741834d8":[11,0,15,18,1], +"d4/d68/qr__decompose_8h.html#a6d3c7dce1f142141f509d09f6c0e25dc":[11,0,15,18,5], +"d4/d68/qr__decompose_8h.html#a73ce637634fc49e1d10d190eb388ebf1":[11,0,15,18,2], +"d4/d68/qr__decompose_8h.html#a8ea313a1a1b5f9d0e3e332c29c6446ec":[11,0,15,18,3], +"d4/d68/qr__decompose_8h.html#ad16da2183db22378435042f26af43d5f":[11,0,15,18,4], +"d4/d68/qr__decompose_8h.html#adfbdf47277c8cfee229b05b72f1f7834":[11,0,15,18,0], +"d4/d68/qr__decompose_8h_source.html":[11,0,15,18], +"d4/d6c/boruvkas__minimum__spanning__tree_8cpp.html":[11,0,11,1], +"d4/d6c/boruvkas__minimum__spanning__tree_8cpp.html#a2311b22324cf09926726e4ce1309af8b":[11,0,11,1,3], +"d4/d6c/boruvkas__minimum__spanning__tree_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e":[11,0,11,1,4], +"d4/d6c/boruvkas__minimum__spanning__tree_8cpp.html#a94c615fc66b72e0adbcbcb99aabb1a59":[11,0,11,1,0], +"d4/d6c/boruvkas__minimum__spanning__tree_8cpp.html#a95de0f5e70e83164dbd1b4c515565e84":[11,0,11,1,1], +"d4/d6c/boruvkas__minimum__spanning__tree_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,11,1,2], +"d4/d6c/boruvkas__minimum__spanning__tree_8cpp_source.html":[11,0,11,1], +"d4/d7a/shell__sort2_8cpp.html":[11,0,23,35], +"d4/d7a/shell__sort2_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97":[11,0,23,35,1], +"d4/d7a/shell__sort2_8cpp.html#a22ea0d1f7943ebb4371d31e44b465b6d":[11,0,23,35,7], +"d4/d7a/shell__sort2_8cpp.html#a4d76603c54d3dc56146e92d10a043924":[11,0,23,35,4], +"d4/d7a/shell__sort2_8cpp.html#a5669396c6a6b1e14b97589b6e37980aa":[11,0,23,35,3], +"d4/d7a/shell__sort2_8cpp.html#a63aaff7cabfa3da2da8b9477b5fad9d6":[11,0,23,35,6], +"d4/d7a/shell__sort2_8cpp.html#a7eb77daed2cf1513f6d68c47a1c2db1c":[11,0,23,35,0], +"d4/d7a/shell__sort2_8cpp.html#a895b313cb2671e8f712040460325573e":[11,0,23,35,8], +"d4/d7a/shell__sort2_8cpp.html#a951127aea9d7e1e53ea9ae0868633246":[11,0,23,35,5], +"d4/d7a/shell__sort2_8cpp.html#af2c5b92cbfe73f63f6074c61b0a45331":[11,0,23,35,2], +"d4/d7a/shell__sort2_8cpp_source.html":[11,0,23,35], +"d4/d83/sum__of__digits_8cpp.html":[11,0,14,57], +"d4/d83/sum__of__digits_8cpp.html#a0283886819c7c140a023582b7269e2d0":[11,0,14,57,4], +"d4/d83/sum__of__digits_8cpp.html#a1440a7779ac56f47a3f355ce4a8c7da0":[11,0,14,57,3], +"d4/d83/sum__of__digits_8cpp.html#a4619c78b6ad985713024f930f31c4395":[11,0,14,57,1], +"d4/d83/sum__of__digits_8cpp.html#ae1a3968e7947464bee7714f6d43b7002":[11,0,14,57,2], +"d4/d83/sum__of__digits_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,14,57,0], +"d4/d83/sum__of__digits_8cpp_source.html":[11,0,14,57], +"d4/d86/large__number_8h.html":[11,0,14,30], +"d4/d86/large__number_8h_source.html":[11,0,14,30], +"d4/d8b/gray__code_8cpp_source.html":[11,0,1,4], +"d4/d8d/jarvis__algorithm_8cpp.html":[11,0,8,2], +"d4/d8d/jarvis__algorithm_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,8,2,3], +"d4/d8d/jarvis__algorithm_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,8,2,2], +"d4/d8d/jarvis__algorithm_8cpp_source.html":[11,0,8,2], +"d4/d8f/travelling__salesman__using__bit__manipulation_8cpp.html":[11,0,1,9], +"d4/d8f/travelling__salesman__using__bit__manipulation_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,1,9,1], +"d4/d8f/travelling__salesman__using__bit__manipulation_8cpp.html#ad08f082be02c3437c2fe89cb035fcee1":[11,0,1,9,2], +"d4/d8f/travelling__salesman__using__bit__manipulation_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,1,9,0], +"d4/d8f/travelling__salesman__using__bit__manipulation_8cpp_source.html":[11,0,1,9], +"d4/d90/classdata__structures_1_1_skip_list.html":[9,0,21,5], +"d4/d90/classdata__structures_1_1_skip_list.html":[10,0,2,12], +"d4/d90/classdata__structures_1_1_skip_list.html#a3e249c2c35a8b7f5ffd2d77fee60d650":[9,0,21,5,7], +"d4/d90/classdata__structures_1_1_skip_list.html#a3e249c2c35a8b7f5ffd2d77fee60d650":[10,0,2,12,7], +"d4/d90/classdata__structures_1_1_skip_list.html#a40a4042bdf0b6683b5f21ae7854de8a9":[9,0,21,5,3], +"d4/d90/classdata__structures_1_1_skip_list.html#a40a4042bdf0b6683b5f21ae7854de8a9":[10,0,2,12,3], +"d4/d90/classdata__structures_1_1_skip_list.html#a7ffc3688725b9d1ec6e5bb881a6e2ae4":[9,0,21,5,0], +"d4/d90/classdata__structures_1_1_skip_list.html#a7ffc3688725b9d1ec6e5bb881a6e2ae4":[10,0,2,12,0], +"d4/d90/classdata__structures_1_1_skip_list.html#a812611f80b8079268dbb19cc4e9bee5c":[9,0,21,5,2], +"d4/d90/classdata__structures_1_1_skip_list.html#a812611f80b8079268dbb19cc4e9bee5c":[10,0,2,12,2], +"d4/d90/classdata__structures_1_1_skip_list.html#a86925c53e139cc6c3f7df1e9003bb0b0":[9,0,21,5,1], +"d4/d90/classdata__structures_1_1_skip_list.html#a86925c53e139cc6c3f7df1e9003bb0b0":[10,0,2,12,1], +"d4/d90/classdata__structures_1_1_skip_list.html#aa3f3813e9896792fc86b296547689ba4":[9,0,21,5,4], +"d4/d90/classdata__structures_1_1_skip_list.html#aa3f3813e9896792fc86b296547689ba4":[10,0,2,12,4], +"d4/d90/classdata__structures_1_1_skip_list.html#ad7e392386d7db622185d6f7c718e4f16":[9,0,21,5,6], +"d4/d90/classdata__structures_1_1_skip_list.html#ad7e392386d7db622185d6f7c718e4f16":[10,0,2,12,6], +"d4/d90/classdata__structures_1_1_skip_list.html#af2f3d4e15b1f47afac849c2e08a730f4":[9,0,21,5,5], +"d4/d90/classdata__structures_1_1_skip_list.html#af2f3d4e15b1f47afac849c2e08a730f4":[10,0,2,12,5], +"d4/d91/namespacevector__cross.html":[9,0,136], +"d4/d9c/primes__up__to__billion_8cpp.html":[11,0,14,50], +"d4/d9c/primes__up__to__billion_8cpp.html#a031cada84819ed6426f58e4f7e81261c":[11,0,14,50,1], +"d4/d9c/primes__up__to__billion_8cpp.html#ac0f4b77b901ddb15dab4c4dee1ac6e95":[11,0,14,50,2], +"d4/d9c/primes__up__to__billion_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,14,50,0], +"d4/d9c/primes__up__to__billion_8cpp_source.html":[11,0,14,50], +"d4/d9d/sum__of__binomial__coefficient_8cpp.html":[11,0,14,56], +"d4/d9d/sum__of__binomial__coefficient_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,14,56,2], +"d4/d9d/sum__of__binomial__coefficient_8cpp.html#ae1ca505751f5a6d3977b86372cfe75ea":[11,0,14,56,0], +"d4/d9d/sum__of__binomial__coefficient_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,14,56,1], +"d4/d9d/sum__of__binomial__coefficient_8cpp_source.html":[11,0,14,56], +"d4/d9f/selection__sort__recursive_8cpp.html":[11,0,23,33], +"d4/d9f/selection__sort__recursive_8cpp.html#a5454eeb691725ccac0f59df1e133f834":[11,0,23,33,0], +"d4/d9f/selection__sort__recursive_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,23,33,3], +"d4/d9f/selection__sort__recursive_8cpp.html#ab6f7b33a070e376e1f4374e534435e89":[11,0,23,33,2], +"d4/d9f/selection__sort__recursive_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,23,33,1], +"d4/d9f/selection__sort__recursive_8cpp_source.html":[11,0,23,33], +"d4/da0/gcd__iterative__euclidean_8cpp.html":[11,0,14,22], +"d4/da0/gcd__iterative__euclidean_8cpp.html#ae48807fa2b7000afae599e67f327545e":[11,0,14,22,0], +"d4/da0/gcd__iterative__euclidean_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,14,22,1], +"d4/da0/gcd__iterative__euclidean_8cpp_source.html":[11,0,14,22], +"d4/da0/kadane_8cpp.html":[11,0,6,13], +"d4/da0/kadane_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,6,13,0], +"d4/da0/kadane_8cpp.html#af3029007a422a914a85c0b0122f1c7b4":[11,0,6,13,1], +"d4/da0/kadane_8cpp_source.html":[11,0,6,13], +"d4/db4/struct_segment_intersection.html":[10,0,52], +"d4/db4/struct_segment_intersection.html#a008941b2272866c64cdaf959afa939bf":[10,0,52,1], +"d4/db4/struct_segment_intersection.html#a3beb2ac1b35d67354f1dbaf9a971e655":[10,0,52,0], +"d4/db6/reverse__binary__tree_8cpp.html":[11,0,16,8], +"d4/db6/reverse__binary__tree_8cpp.html#a167c24bd817469ae47358d12e034f2d5":[11,0,16,8,4], +"d4/db6/reverse__binary__tree_8cpp.html#aa515639572647508b94986489aab6d76":[11,0,16,8,6], +"d4/db6/reverse__binary__tree_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,16,8,3], +"d4/db6/reverse__binary__tree_8cpp.html#abdd77344d4af8fd56d14a5cabbf2f669":[11,0,16,8,5], +"d4/db6/reverse__binary__tree_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,16,8,2], +"d4/db6/reverse__binary__tree_8cpp_source.html":[11,0,16,8], +"d4/db8/longest__substring__without__repeating__characters_8cpp.html":[11,0,17,11], +"d4/db8/longest__substring__without__repeating__characters_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e":[11,0,17,11,2], +"d4/db8/longest__substring__without__repeating__characters_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,17,11,1], +"d4/db8/longest__substring__without__repeating__characters_8cpp_source.html":[11,0,17,11], +"d4/db9/namespacencr__modulo__p.html":[9,0,84], +"d4/dcd/namespacecircular__linked__list.html":[9,0,14], +"d4/dd2/namespacequadratic__probing.html":[8,0,2], +"d4/dd2/namespacequadratic__probing.html#a00ebcc6d39653eccc26f8432efbfc8d9":[9,0,96,1], +"d4/dd2/namespacequadratic__probing.html#a07a0467b24102260fbb6b554c453c20a":[9,0,96,10], +"d4/dd2/namespacequadratic__probing.html#a2093d91dd3d377cf0a5c939e45dcefc7":[9,0,96,5], +"d4/dd2/namespacequadratic__probing.html#a312143ed316d48978084c025ff8d9768":[9,0,96,2], +"d4/dd2/namespacequadratic__probing.html#a40d617ebf4d6ba21bcda8d8d1faa2357":[9,0,96,3], +"d4/dd2/namespacequadratic__probing.html#a5ceee4128d92ca4412040b7104d1299d":[9,0,96,4], +"d4/dd2/namespacequadratic__probing.html#a69fe1f7c36fe004ba83eef2ca82e7e30":[9,0,96,9], +"d4/dd2/namespacequadratic__probing.html#ab431981b54c0bae1b2956f716aee1dcf":[9,0,96,7], +"d4/dd2/namespacequadratic__probing.html#ada6f1f44f7e83b0094fbcbe170788486":[9,0,96,8], +"d4/dd2/namespacequadratic__probing.html#adccc63a7e57cc6dba75bd62f40feb88b":[9,0,96,6], +"d4/dd2/namespacequadratic__probing.html#aeb6bca8db4768226f8ea8291ea4f83f6":[9,0,96,11], +"d4/dde/classgeometry_1_1jarvis_1_1_convexhull.html":[10,0,5,1,0], +"d4/dde/classgeometry_1_1jarvis_1_1_convexhull.html#a54df5f9a8f37170bd97c91127664655c":[10,0,5,1,0,2], +"d4/dde/classgeometry_1_1jarvis_1_1_convexhull.html#a8306e48040a8570e164c58d1c530f870":[10,0,5,1,0,0], +"d4/dde/classgeometry_1_1jarvis_1_1_convexhull.html#aeec46e86786ddd461464b07a77c4d5f1":[10,0,5,1,0,1], +"d4/de6/namespacepostfix__expression.html":[9,0,92], +"d4/ded/namespaceprobability.html":[9,0,94], +"d4/def/kohonen__som__topology_8cpp.html":[8,1,1], +"d4/def/longest__common__subsequence_8cpp_source.html":[11,0,6,15], +"d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html":[10,0,10,2,1], +"d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#a173bb71780af6953ec2e307a4c74b025":[10,0,10,2,1,5], +"d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#a176b955c90ae57d7dbc3c63f27c84c75":[10,0,10,2,1,3], +"d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#a2be1b52bb9f57486f9a436f35c9089c0":[10,0,10,2,1,10], +"d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#a2c49bfebf9b859d5ceb26035d3003601":[10,0,10,2,1,15], +"d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#a361a45f3c3d8347d79103bf182d0570b":[10,0,10,2,1,6], +"d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#a36494e26ff36d6e15c1022bb9a1ee848":[10,0,10,2,1,9], +"d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#a3b9eac1824d365dce715fb17c33cb96f":[10,0,10,2,1,17], +"d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#a4c4c6f63ab965317f9471518ee931b89":[10,0,10,2,1,0], +"d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#a4f14e473bb0722c6490b9dc8da5982aa":[10,0,10,2,1,16], +"d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#a5172a6791b9bd24f4232bab8d6b81fff":[10,0,10,2,1,11], +"d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#a58a9614e4c6d4ca672d3358e99a3404f":[10,0,10,2,1,14], +"d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#a58ed20abf6ce3744535bd8b5bb9e741b":[10,0,10,2,1,13], +"d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#a61d30113d13304c664057118b92a5931":[10,0,10,2,1,18], +"d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#a62151b0398a2536be60d950e10ffe9a8":[10,0,10,2,1,2], +"d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#a650c677fd6512665741ddd9b7983275d":[10,0,10,2,1,12], +"d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#a88bf9023ab3d4cdb61cf707c7cdfc86b":[10,0,10,2,1,7], +"d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#a8973f687738ddd76f93b5562feae4027":[10,0,10,2,1,4], +"d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#ae7cf126a3a8f9d20c81b21584d061a08":[10,0,10,2,1,1], +"d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#aec648ea4f40bd71123b5f907a681dd8e":[10,0,10,2,1,8], +"d4/dfb/namespacecycle__sort.html":[9,0,20], +"d5/d02/namespacehorspool.html":[9,0,47], +"d5/d12/structdata__structures_1_1trie__using__hashmap_1_1_trie_1_1_node.html":[10,0,2,7,0,0], +"d5/d12/structdata__structures_1_1trie__using__hashmap_1_1_trie_1_1_node.html#a08212cdc99164b59da91b81f45e2f88e":[10,0,2,7,0,0,0], +"d5/d12/structdata__structures_1_1trie__using__hashmap_1_1_trie_1_1_node.html#a3cdb077745d3dc97212d693132371219":[10,0,2,7,0,0,1], +"d5/d15/classcll.html":[10,0,24], +"d5/d1e/next__higher__number__with__same__number__of__set__bits_8cpp.html":[11,0,1,6], +"d5/d1e/next__higher__number__with__same__number__of__set__bits_8cpp.html#a4b76571a2a04fa99c30a96eca9997f0e":[11,0,1,6,1], +"d5/d1e/next__higher__number__with__same__number__of__set__bits_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,1,6,2], +"d5/d1e/next__higher__number__with__same__number__of__set__bits_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,1,6,0], +"d5/d1e/next__higher__number__with__same__number__of__set__bits_8cpp_source.html":[11,0,1,6], +"d5/d1e/tim__sort_8cpp_source.html":[11,0,23,40], +"d5/d21/longest__increasing__subsequence__nlogn_8cpp_source.html":[11,0,6,17], +"d5/d25/bead__sort_8cpp_source.html":[11,0,23,0], +"d5/d25/structstd_1_1is__unsigned_3_01uint128__t_01_4.html":[10,0,19,4], +"d5/d29/struct_min_heap_node.html":[10,0,43], +"d5/d2c/namespacelayers.html":[9,0,60], +"d5/d33/gram__schmidt_8cpp.html":[11,0,15,9], +"d5/d33/gram__schmidt_8cpp.html#a0837468e1a653ed056e2cce3c914afa5":[11,0,15,9,2], +"d5/d33/gram__schmidt_8cpp.html#a8eeaafdde8b56f459aadc6013cf078bc":[11,0,15,9,4], +"d5/d33/gram__schmidt_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,15,9,5], +"d5/d33/gram__schmidt_8cpp.html#ac4a4504924ecc9f12a2ebd80788ec01d":[11,0,15,9,1], +"d5/d33/gram__schmidt_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,15,9,3], +"d5/d33/gram__schmidt_8cpp.html#ae6b496dce691e04f7f95ba0f0d33a289":[11,0,15,9,0], +"d5/d33/gram__schmidt_8cpp_source.html":[11,0,15,9], +"d5/d39/namespaceactivations.html":[9,0,2], +"d5/d3c/namespacedata__structures.html":[9,0,21], +"d5/d3c/namespacedata__structures.html#a271c753baf6dc5ac6f19fa03c5873eb4":[9,0,21,8], +"d5/d3c/namespacedata__structures.html#a35eb2bc3edbb52f9c5f0b1e51046ef15":[9,0,21,11], +"d5/d3c/namespacedata__structures.html#a903639d8e6f955dd8d5c263781455d61":[9,0,21,13], +"d5/d3c/namespacedata__structures.html#a9ed236419034917c5270c1dccd220b5c":[9,0,21,10], +"d5/d3c/namespacedata__structures.html#aa6deb9d4a0f63ea97aef3dce4c6c6677":[9,0,21,9], +"d5/d3c/namespacedata__structures.html#ac0d7e0be24da9f41bcb19745873c436a":[9,0,21,12], +"d5/d45/sublist__search_8cpp.html":[11,0,22,13], +"d5/d45/sublist__search_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97":[11,0,22,13,2], +"d5/d45/sublist__search_8cpp.html#a4faee403e2758aaab682ed6622ae218c":[11,0,22,13,5] }; diff --git a/navtreeindex4.js b/navtreeindex4.js index 5a458eee3..f5753ab43 100644 --- a/navtreeindex4.js +++ b/navtreeindex4.js @@ -1,253 +1,253 @@ var NAVTREEINDEX4 = { -"d2/dc8/classdata__structures_1_1_stack.html#aa753346c8ee5f21d4f4482398fe6d5c1":[9,0,21,6,3], -"d2/dc8/classdata__structures_1_1_stack.html#aa753346c8ee5f21d4f4482398fe6d5c1":[10,0,2,13,3], -"d2/dc8/classdata__structures_1_1_stack.html#aa9f9b087e9e7c00628e1289f0f1de3b2":[9,0,21,6,5], -"d2/dc8/classdata__structures_1_1_stack.html#aa9f9b087e9e7c00628e1289f0f1de3b2":[10,0,2,13,5], -"d2/dc8/classdata__structures_1_1_stack.html#abb86ed67d9d97112897a09cfb10ff586":[9,0,21,6,6], -"d2/dc8/classdata__structures_1_1_stack.html#abb86ed67d9d97112897a09cfb10ff586":[10,0,2,13,6], -"d2/dc8/classdata__structures_1_1_stack.html#ac46842bdd9c655d84f865fa3a03da19b":[9,0,21,6,4], -"d2/dc8/classdata__structures_1_1_stack.html#ac46842bdd9c655d84f865fa3a03da19b":[10,0,2,13,4], -"d2/dcf/namespacestatistics.html":[9,0,117], -"d2/dd4/structstd_1_1is__integral_3_01uint128__t_01_4.html":[9,0,118,7], -"d2/dd4/structstd_1_1is__integral_3_01uint128__t_01_4.html":[10,0,19,2], -"d2/ddb/namespacegcd__of__n__numbers.html":[9,0,35], -"d2/de1/namespacehouse__robber.html":[9,0,48], -"d2/de7/namespacerunge__kutta.html":[9,0,104], -"d2/de9/heavy__light__decomposition_8cpp.html":[11,0,20,1], -"d2/de9/heavy__light__decomposition_8cpp.html#a34b8683a2b429de5cce57e6d733ec817":[11,0,20,1,4], -"d2/de9/heavy__light__decomposition_8cpp.html#a458410412185a5f09199deaff7157a8d":[11,0,20,1,5], -"d2/de9/heavy__light__decomposition_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,20,1,3], -"d2/de9/heavy__light__decomposition_8cpp.html#af31ec5409537703d9c8a47350386b32a":[11,0,20,1,6], -"d2/dfc/structstd_1_1is__arithmetic_3_01uint128__t_01_4.html":[9,0,118,5], -"d2/dfc/structstd_1_1is__arithmetic_3_01uint128__t_01_4.html":[10,0,19,0], -"d3/d05/sudoku__solver_8cpp.html":[11,0,0,10], -"d3/d05/sudoku__solver_8cpp.html#a07dc6acffd0500de9bdbf16b3ade94b0":[11,0,0,10,0], -"d3/d05/sudoku__solver_8cpp.html#ab040a12d7684cd85fb3684f4211ea5ac":[11,0,0,10,2], -"d3/d05/sudoku__solver_8cpp.html#ac911c8bca8556206ff64461b2424866b":[11,0,0,10,3], -"d3/d05/sudoku__solver_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,0,10,1], -"d3/d06/ode__semi__implicit__euler_8cpp.html":[11,0,15,17], -"d3/d06/ode__semi__implicit__euler_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97":[11,0,15,17,1], -"d3/d06/ode__semi__implicit__euler_8cpp.html#aa13517b8e5de1b75592052db7f7e237f":[11,0,15,17,3], -"d3/d06/ode__semi__implicit__euler_8cpp.html#abaeae8f62a018d197f0187a1c80a90fe":[11,0,15,17,2], -"d3/d06/ode__semi__implicit__euler_8cpp.html#af3adf7b092a87868917ee5fb4255192b":[11,0,15,17,0], -"d3/d09/node_8hpp.html":[11,0,4,12], -"d3/d09/node_8hpp_source.html":[11,0,4,12], -"d3/d17/namespaceutil__functions.html":[9,0,135], -"d3/d19/sparse__matrix_8cpp.html":[11,0,17,21], -"d3/d19/sparse__matrix_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,17,21,0], -"d3/d22/quick__sort__iterative_8cpp.html":[11,0,22,18], -"d3/d22/quick__sort__iterative_8cpp.html#a263595fd9a0163b5b997b89fab3a0dc5":[11,0,22,18,0], -"d3/d22/quick__sort__iterative_8cpp.html#a88ec9ad42717780d6caaff9d3d6977f9":[11,0,22,18,3], -"d3/d22/quick__sort__iterative_8cpp.html#aac8f44b28b4aa96444383030b28f8b34":[11,0,22,18,2], -"d3/d22/quick__sort__iterative_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,22,18,1], -"d3/d22/saddleback__search_8cpp.html":[11,0,21,10], -"d3/d22/saddleback__search_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,21,10,2], -"d3/d22/saddleback__search_8cpp.html#ad1e0ca34797d88490747c08eca70a2e6":[11,0,21,10,1], -"d3/d22/saddleback__search_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,21,10,0], -"d3/d24/qr__decomposition_8cpp.html":[11,0,15,19], -"d3/d24/qr__decomposition_8cpp.html#a840291bc02cba5474a4cb46a9b9566fe":[11,0,15,19,0], -"d3/d26/binary__search__tree_8cpp.html":[11,0,4,2], -"d3/d26/classdata__structures_1_1trie__using__hashmap_1_1_trie.html":[10,0,2,7,0], -"d3/d26/classdata__structures_1_1trie__using__hashmap_1_1_trie.html#a092d0805a9e647c2048777dbe67b35ab":[10,0,2,7,0,1], -"d3/d26/classdata__structures_1_1trie__using__hashmap_1_1_trie.html#a7bbe538c8015e8ce158e7ed43f605ebd":[10,0,2,7,0,3], -"d3/d26/classdata__structures_1_1trie__using__hashmap_1_1_trie.html#a832072498abeaa52ad43c4fc99cba248":[10,0,2,7,0,8], -"d3/d26/classdata__structures_1_1trie__using__hashmap_1_1_trie.html#abcae0a4456e7f583ce716e3ef466dfd2":[10,0,2,7,0,4], -"d3/d26/classdata__structures_1_1trie__using__hashmap_1_1_trie.html#ac0bf3d6791cba144b3f539835d835e75":[10,0,2,7,0,2], -"d3/d26/classdata__structures_1_1trie__using__hashmap_1_1_trie.html#ad71eb24207c28b546631802dba97310f":[10,0,2,7,0,6], -"d3/d26/classdata__structures_1_1trie__using__hashmap_1_1_trie.html#ae15fdc7f2b5023992d87a711d78566c4":[10,0,2,7,0,5], -"d3/d26/classdata__structures_1_1trie__using__hashmap_1_1_trie.html#af3aee573fbabd2c1510c0f74f842dd17":[10,0,2,7,0,7], -"d3/d2a/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1comparison__operator.html":[10,0,10,0,0,0], -"d3/d36/digit__separation_8cpp.html":[11,0,11,2], -"d3/d36/digit__separation_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e":[11,0,11,2,2], -"d3/d36/digit__separation_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,11,2,1], -"d3/d39/manacher__algorithm_8cpp.html":[11,0,23,5], -"d3/d39/manacher__algorithm_8cpp.html#a95e6a2976bb2f332898f373941d52098":[11,0,23,5,1], -"d3/d39/manacher__algorithm_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,23,5,2], -"d3/d39/manacher__algorithm_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,23,5,0], -"d3/d40/graph__coloring_8cpp.html":[11,0,0,1], -"d3/d40/graph__coloring_8cpp.html#a40337efc5dad761096489bf2c5b1c80c":[11,0,0,1,0], -"d3/d40/graph__coloring_8cpp.html#a8c47fa37fb6eeeb781b2ec1b05af6b07":[11,0,0,1,3], -"d3/d40/graph__coloring_8cpp.html#a976efe049deb042bf1f02612e181ab1d":[11,0,0,1,1], -"d3/d40/graph__coloring_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,0,1,2], -"d3/d4c/quick__sort__3_8cpp.html":[11,0,22,17], -"d3/d4c/quick__sort__3_8cpp.html#a07e5c62de28aeddea986890ce7ac1bda":[11,0,22,17,4], -"d3/d4c/quick__sort__3_8cpp.html#a2635b04ad943fa28b7bbf8d1e6479792":[11,0,22,17,3], -"d3/d4c/quick__sort__3_8cpp.html#a6eb67c2f91c98cf4464f75b5882022de":[11,0,22,17,2], -"d3/d4c/quick__sort__3_8cpp.html#a9f59fe72dacc1f1218ef3c303d843168":[11,0,22,17,1], -"d3/d4c/quick__sort__3_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,22,17,0], -"d3/d4c/xor__cipher_8cpp.html":[11,0,2,9], -"d3/d4c/xor__cipher_8cpp.html#a6099b7e0f1793f418d2c1befca8355a4":[11,0,2,9,0], -"d3/d4c/xor__cipher_8cpp.html#ae1a3968e7947464bee7714f6d43b7002":[11,0,2,9,3], -"d3/d4c/xor__cipher_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,2,9,2], -"d3/d4c/xor__cipher_8cpp.html#aeff72a463ffc580c16cc849cbbdc58ef":[11,0,2,9,1], -"d3/d61/vector__important__functions_8cpp.html":[11,0,17,25], -"d3/d61/vector__important__functions_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,17,25,0], -"d3/d6d/namespacesimpson__method.html":[9,0,112], -"d3/d7d/brute__force__string__searching_8cpp.html":[11,0,23,1], -"d3/d7d/brute__force__string__searching_8cpp.html#ae2abaa9caa13fff35e45edca00bee123":[11,0,23,1,2], -"d3/d7d/brute__force__string__searching_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,23,1,1], -"d3/d7d/brute__force__string__searching_8cpp.html#aeb2cd81064717aedd62bfb096b1a73d8":[11,0,23,1,0], -"d3/d80/z__function_8cpp.html":[11,0,23,7], -"d3/d80/z__function_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,23,7,2], -"d3/d80/z__function_8cpp.html#ac044c4794349a8cff6256b99950d5773":[11,0,23,7,3], -"d3/d80/z__function_8cpp.html#ac186ca3ac3a69b5e52543bb13fe46db8":[11,0,23,7,0], -"d3/d80/z__function_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,23,7,1], -"d3/d84/word__break_8cpp.html":[11,0,6,18], -"d3/d84/word__break_8cpp.html#a1cc9dd6e6190d10a010fdcdfe7a21a81":[11,0,6,18,1], -"d3/d84/word__break_8cpp.html#a272b0f5cdb4e41fd6dee4538b808c06a":[11,0,6,18,0], -"d3/d84/word__break_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,6,18,3], -"d3/d84/word__break_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,6,18,2], -"d3/d84/word__break_8cpp.html#afe4dcd6fd5282e535685361cba645d7c":[11,0,6,18,4], -"d3/d91/namespacestrassens__multiplication.html":[9,0,120], -"d3/d92/pancake__sort_8cpp.html":[11,0,22,14], -"d3/d92/pancake__sort_8cpp.html#a99e27ad84ad43df9977776b1a8d5416e":[11,0,22,14,2], -"d3/d92/pancake__sort_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,22,14,3], -"d3/d92/pancake__sort_8cpp.html#abff90bc0f54e4f8ea5f0330471781bd5":[11,0,22,14,1], -"d3/d92/pancake__sort_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,22,14,0], -"d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html":[10,0,2,6,1], -"d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a02df91964915ca97609d35f847faff5f":[10,0,2,6,1,4], -"d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a07811b3c564a3a443b106c9aa717629d":[10,0,2,6,1,6], -"d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a11f0d016dff7f7e62b3dddb9fdf47805":[10,0,2,6,1,9], -"d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a273511e84a5243ffffe81be28bd24855":[10,0,2,6,1,0], -"d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a2e9a9db7792cf5383f4c4cc418255165":[10,0,2,6,1,11], -"d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a348ea76c7629b2dcf740be062f970a36":[10,0,2,6,1,21], -"d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a36f4d5f603f7edb7db7c73fb53ba14e9":[10,0,2,6,1,8], -"d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a370b625ca9f16bbef2b65e024ef78ea9":[10,0,2,6,1,16], -"d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a5da1be3f5b5d967ebb36a201f3ebad11":[10,0,2,6,1,13], -"d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a61dd051a74e5f36c8dc03dae8dca6ef4":[10,0,2,6,1,14], -"d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a65a1235659356166a3e9b451c64fcc36":[10,0,2,6,1,2], -"d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a6749ebb40710c9752a2771eda03c6b3e":[10,0,2,6,1,3], -"d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a84ab7b4fe7442b5e2eeed8c050bb86bd":[10,0,2,6,1,17], -"d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a936bb546e6a94d8b9d35b30ee1bb291a":[10,0,2,6,1,18], -"d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#aa7e5e00033f38006a224f30bdbf3f703":[10,0,2,6,1,5], -"d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#ac5361479dd996eb331759f33808657d9":[10,0,2,6,1,19], -"d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#ac85ba5abfd6d34dcd908b2afe6464657":[10,0,2,6,1,1], -"d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#ad37e29e2a4a6cc0eb65cbd5595e1da95":[10,0,2,6,1,10], -"d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#ae58dca20f08eaf9313f6e7b0869c2d0e":[10,0,2,6,1,7], -"d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#ae68f8e62be02657c1287def6b38d7cc9":[10,0,2,6,1,15], -"d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#aec0642d1d151521ca7c70ea85cdb15d3":[10,0,2,6,1,20], -"d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#af260f0760344771bf8fce4fc9b1739be":[10,0,2,6,1,12], -"d3/da1/namespacen__queens.html":[9,0,81], -"d3/dae/dsu__path__compression_8cpp.html":[11,0,4,7], -"d3/dae/dsu__path__compression_8cpp.html#a45d94ead4cf4e1ff9f87c38bc99f59ae":[11,0,4,7,3], -"d3/dae/dsu__path__compression_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,4,7,1], -"d3/dae/dsu__path__compression_8cpp.html#ae7880ce913f3058a35ff106d5be9e243":[11,0,4,7,2], -"d3/db0/namespacelinked__list.html":[9,0,63], -"d3/db2/boyer__moore_8cpp.html":[11,0,23,0], -"d3/db2/boyer__moore_8cpp.html#a056122c8fe8fb0f5fca6428d3f7b5c3a":[11,0,23,0,6], -"d3/db2/boyer__moore_8cpp.html#a0b165af1dc341289fd705be4c67728f8":[11,0,23,0,5], -"d3/db2/boyer__moore_8cpp.html#a15703b553faed0d28202c10808cf9738":[11,0,23,0,9], -"d3/db2/boyer__moore_8cpp.html#a2f6688c9bb3e692297a3aa09cebc1c00":[11,0,23,0,3], -"d3/db2/boyer__moore_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e":[11,0,23,0,10], -"d3/db2/boyer__moore_8cpp.html#a77c872c08612d7b8861ba13bc9881cbd":[11,0,23,0,1], -"d3/db2/boyer__moore_8cpp.html#aa709cf7fca02b7d3e1888423d5f739a1":[11,0,23,0,4], -"d3/db2/boyer__moore_8cpp.html#ac8fac0dd4b19973da103a434143a16d2":[11,0,23,0,8], -"d3/db2/boyer__moore_8cpp.html#acb8f69e7901ee7459d98bd4b9dda79d9":[11,0,23,0,2], -"d3/db2/boyer__moore_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,23,0,7], -"d3/db3/lru__cache_8cpp.html":[11,0,17,11], -"d3/db3/lru__cache_8cpp.html#a01ec21fc91ddafd964ae2035ba7892c0":[11,0,17,11,6], -"d3/db3/lru__cache_8cpp.html#a24d21a345ed06f7fba6919718cf3e058":[11,0,17,11,1], -"d3/db3/lru__cache_8cpp.html#a4b02e288a407876a8d6024f98a2a25ec":[11,0,17,11,5], -"d3/db3/lru__cache_8cpp.html#a6401e8f2d41d8cc9cd0e52ab381608d4":[11,0,17,11,4], -"d3/db3/lru__cache_8cpp.html#a6a3be6d8871b1f5dc03688da8f3ee9e6":[11,0,17,11,3], -"d3/db3/lru__cache_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,17,11,2], -"d3/dbb/class_cycle_check.html":[10,0,28], -"d3/dbb/class_cycle_check.html#a2f4485c08b45e7a21a2e86f9c3f01d8b":[10,0,28,2], -"d3/dbb/class_cycle_check.html#a399292a33edf87499daa52b51315aca5":[10,0,28,0], -"d3/dbb/class_cycle_check.html#ad9a270ffba3a68539b92272c702e3474":[10,0,28,1], -"d3/dc9/namespacefibonacci__sum.html":[9,0,32], -"d3/dce/linkedlist__implentation__usingarray_8cpp.html":[11,0,4,10], -"d3/dce/linkedlist__implentation__usingarray_8cpp.html#a08ba214242a900e7251cec556b592f02":[11,0,4,10,1], -"d3/dce/linkedlist__implentation__usingarray_8cpp.html#a73e11e0871f56342a30da93b6c93e8be":[11,0,4,10,2], -"d3/dce/linkedlist__implentation__usingarray_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,4,10,4], -"d3/dce/linkedlist__implentation__usingarray_8cpp.html#aed19b403f559fc5d5a4bce724f9e263c":[11,0,4,10,5], -"d3/dce/linkedlist__implentation__usingarray_8cpp.html#afcb07da7984e20b3207934696791f5df":[11,0,4,10,3], -"d3/dd7/md__c_o_d_e___o_f___c_o_n_d_u_c_t.html":[1], -"d3/dd7/md__c_o_d_e___o_f___c_o_n_d_u_c_t.html#autotoc_md10":[1,5], -"d3/dd7/md__c_o_d_e___o_f___c_o_n_d_u_c_t.html#autotoc_md11":[1,5,0], -"d3/dd7/md__c_o_d_e___o_f___c_o_n_d_u_c_t.html#autotoc_md12":[1,5,1], -"d3/dd7/md__c_o_d_e___o_f___c_o_n_d_u_c_t.html#autotoc_md13":[1,5,2], -"d3/dd7/md__c_o_d_e___o_f___c_o_n_d_u_c_t.html#autotoc_md14":[1,5,3], -"d3/dd7/md__c_o_d_e___o_f___c_o_n_d_u_c_t.html#autotoc_md15":[1,6], -"d3/dd7/md__c_o_d_e___o_f___c_o_n_d_u_c_t.html#autotoc_md5":[1,0], -"d3/dd7/md__c_o_d_e___o_f___c_o_n_d_u_c_t.html#autotoc_md6":[1,1], -"d3/dd7/md__c_o_d_e___o_f___c_o_n_d_u_c_t.html#autotoc_md7":[1,2], -"d3/dd7/md__c_o_d_e___o_f___c_o_n_d_u_c_t.html#autotoc_md8":[1,3], -"d3/dd7/md__c_o_d_e___o_f___c_o_n_d_u_c_t.html#autotoc_md9":[1,4], -"d3/deb/namespaceshortest__common__supersequence.html":[9,0,110], -"d3/df9/recursive__bubble__sort_8cpp.html":[11,0,22,21], -"d3/df9/recursive__bubble__sort_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,22,21,2], -"d3/df9/recursive__bubble__sort_8cpp.html#ae3a775d99dbbb94c130a973df0cfddcf":[11,0,22,21,1], -"d3/df9/recursive__bubble__sort_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,22,21,0], -"d3/dfe/horspool_8cpp.html":[11,0,23,3], -"d3/dfe/horspool_8cpp.html#a1a9c3aa55ccc79d0f47d50c580997336":[11,0,23,3,0], -"d3/dfe/horspool_8cpp.html#a9884bca75ce39c116697ea2574adb37d":[11,0,23,3,1], -"d3/dfe/horspool_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,23,3,3], -"d3/dfe/horspool_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,23,3,2], -"d3/dfe/perimeter_8cpp.html":[11,0,14,43], -"d3/dfe/perimeter_8cpp.html#a0efb235330ff48e14fd31faaccbcebb3":[11,0,14,43,5], -"d3/dfe/perimeter_8cpp.html#a1d4df7a4e43a2eac1acc0ac610487c73":[11,0,14,43,2], -"d3/dfe/perimeter_8cpp.html#a3d1e4db743b189f309327572663415f3":[11,0,14,43,9], -"d3/dfe/perimeter_8cpp.html#a428769a16e9525e56588d7c7709d25a6":[11,0,14,43,6], -"d3/dfe/perimeter_8cpp.html#a8998ca7b1886d1d7d00aef3b457a9b1b":[11,0,14,43,1], -"d3/dfe/perimeter_8cpp.html#a9236348755183644f1225e162d01ab14":[11,0,14,43,7], -"d3/dfe/perimeter_8cpp.html#aa8592c3279c41a2c6d4d64eeb488f63f":[11,0,14,43,4], -"d3/dfe/perimeter_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,14,43,8], -"d3/dfe/perimeter_8cpp.html#ad0acf82b7bc920182bf8322d1e103953":[11,0,14,43,0], -"d3/dfe/perimeter_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,14,43,3], -"d4/d08/sha256_8cpp.html":[11,0,12,6], -"d4/d08/sha256_8cpp.html#a28c1c6724dc6bcf91a39818699bbec27":[11,0,12,6,1], -"d4/d08/sha256_8cpp.html#a525531b3939ed44fbf01674e21931b3a":[11,0,12,6,2], -"d4/d08/sha256_8cpp.html#a55475649a2bb7aae15de0716a217f43a":[11,0,12,6,7], -"d4/d08/sha256_8cpp.html#a9e98c180d32b04aab6f767cb0c13e1da":[11,0,12,6,4], -"d4/d08/sha256_8cpp.html#adbcd504103c342a4da718f8fce6ff06c":[11,0,12,6,6], -"d4/d08/sha256_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,12,6,5], -"d4/d08/sha256_8cpp.html#af9b52eba85d23e309035354141259f27":[11,0,12,6,8], -"d4/d08/sha256_8cpp.html#afea411191ec5281f43e91ea327984627":[11,0,12,6,3], -"d4/d0c/namespacestd_1_1chrono.html":[9,0,118,0], -"d4/d0e/classdata__structures_1_1linked__list_1_1_node.html":[10,0,2,0,2], -"d4/d0e/classdata__structures_1_1linked__list_1_1_node.html#acfccd7b52c91d91300c5b317e5ec7a6e":[10,0,2,0,2,0], -"d4/d0f/namespacegram__schmidt.html":[9,0,38], -"d4/d12/namespace_minimum.html":[9,0,75], -"d4/d13/namespacebidirectional__dijkstra.html":[9,0,7], -"d4/d18/composite__simpson__rule_8cpp.html":[11,0,15,3], -"d4/d18/composite__simpson__rule_8cpp.html#a1b74d828b33760094906797042b89442":[11,0,15,3,2], -"d4/d18/composite__simpson__rule_8cpp.html#a2ae48a41e43dc6ab11b962742349646e":[11,0,15,3,5], -"d4/d18/composite__simpson__rule_8cpp.html#a2f67508d5f392b0321772169342c98ad":[11,0,15,3,1], -"d4/d18/composite__simpson__rule_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627":[11,0,15,3,4], -"d4/d18/composite__simpson__rule_8cpp.html#a4251b4df4748a0b9c43a48f61bdd2397":[11,0,15,3,0], -"d4/d18/composite__simpson__rule_8cpp.html#a6d8df83a6f26ce24a75d3b358b7f5b8a":[11,0,15,3,3], -"d4/d1c/namespacehamming__distance.html":[9,0,44], -"d4/d21/least__common__multiple_8cpp.html":[11,0,14,32], -"d4/d21/least__common__multiple_8cpp.html#a88ec9ad42717780d6caaff9d3d6977f9":[11,0,14,32,3], -"d4/d21/least__common__multiple_8cpp.html#a8ba1fc66e4134ab25b2602b323150563":[11,0,14,32,0], -"d4/d21/least__common__multiple_8cpp.html#aa8d0e241db517813725e721a152e3a25":[11,0,14,32,1], -"d4/d21/least__common__multiple_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,14,32,2], -"d4/d32/fibonacci__fast_8cpp.html":[11,0,14,16], -"d4/d32/fibonacci__fast_8cpp.html#a392fb874e547e582e9c66a08a1f23326":[11,0,14,16,0], -"d4/d32/fibonacci__fast_8cpp.html#a5712edca101204eca8accdb1e096707f":[11,0,14,16,1], -"d4/d32/fibonacci__fast_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,14,16,2], -"d4/d32/inorder__successor__of__bst_8cpp.html":[11,0,16,3], -"d4/d32/inorder__successor__of__bst_8cpp.html#a05fe8a029e155c43e4efa598d4d089d9":[11,0,16,3,8], -"d4/d32/inorder__successor__of__bst_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97":[11,0,16,3,7], -"d4/d32/inorder__successor__of__bst_8cpp.html#a3923fb22b46e085376703cae0b44d690":[11,0,16,3,4], -"d4/d32/inorder__successor__of__bst_8cpp.html#a3ae0bea4123fd2ce155108e88f2ef78c":[11,0,16,3,6], -"d4/d32/inorder__successor__of__bst_8cpp.html#a5d7266b934ca50c4f53e4f1e725d89a4":[11,0,16,3,10], -"d4/d32/inorder__successor__of__bst_8cpp.html#a72483e3f6933e004a8d86371e8a990db":[11,0,16,3,3], -"d4/d32/inorder__successor__of__bst_8cpp.html#a7b20eb99272665c1777949e26ab59589":[11,0,16,3,2], -"d4/d32/inorder__successor__of__bst_8cpp.html#a7f6f73a33beec448c27cc1d70b220702":[11,0,16,3,9], -"d4/d32/inorder__successor__of__bst_8cpp.html#a824cbf1814854824cf05f062eea07b95":[11,0,16,3,5], -"d4/d32/inorder__successor__of__bst_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,16,3,11], -"d4/d38/namespacecount__bits__flip.html":[9,0,15], -"d4/d38/power__of__two_8cpp.html":[11,0,14,45], -"d4/d38/power__of__two_8cpp.html#a8a48be4d7f14e34c5c92925bc1cbf3bb":[11,0,14,45,1], -"d4/d38/power__of__two_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,14,45,2], -"d4/d38/power__of__two_8cpp.html#adfd6be45be425ae28c62ce3bfb4b40dc":[11,0,14,45,3], -"d4/d38/power__of__two_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,14,45,0], -"d4/d39/group__open__addressing.html":[8,0], -"d4/d3e/k__nearest__neighbors_8cpp.html":[11,0,13,1], -"d4/d3e/k__nearest__neighbors_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97":[11,0,13,1,2], -"d4/d3e/k__nearest__neighbors_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,13,1,3], -"d4/d3e/k__nearest__neighbors_8cpp.html#ad6ae16e50bb153ebaa7251d0aaa97b69":[11,0,13,1,1] +"d5/d45/sublist__search_8cpp.html#a70ca8d0267008e09cfa50b4e2ddfbe53":[11,0,22,13,3], +"d5/d45/sublist__search_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,22,13,6], +"d5/d45/sublist__search_8cpp.html#ad1028bc215281d62e344af99da57fab2":[11,0,22,13,4], +"d5/d45/sublist__search_8cpp_source.html":[11,0,22,13], +"d5/d4c/group__sorting.html":[8,3], +"d5/d4c/group__sorting.html#ga0a9a57a1f1bbba3d4822531d002b7e07":[8,3,8], +"d5/d4c/group__sorting.html#ga135e4c638e3bcf548bd122b5f49a3e72":[8,3,3], +"d5/d4c/group__sorting.html#ga29d28b140174dbdde7c9f5157758435f":[8,3,4], +"d5/d4c/group__sorting.html#ga460c61cd948203b4816bef2accb3fc73":[8,3,6], +"d5/d4c/group__sorting.html#gaa8dca7b867074164d5f45b0f3851269d":[8,3,9], +"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,57], +"d5/d58/class_test_cases.html#aa3aa3d5bf666f327ee8e2d11d397b06e":[10,0,57,0], +"d5/d58/class_test_cases.html#aa3aa3d5bf666f327ee8e2d11d397b06e":[10,0,57,1], +"d5/d58/class_test_cases.html#aa3aa3d5bf666f327ee8e2d11d397b06e":[10,0,57,2], +"d5/d58/class_test_cases.html#abae0148985f159b582a385cf399254e3":[10,0,57,9], +"d5/d58/class_test_cases.html#abae0148985f159b582a385cf399254e3":[10,0,57,10], +"d5/d58/class_test_cases.html#abae0148985f159b582a385cf399254e3":[10,0,57,11], +"d5/d58/class_test_cases.html#ac2636e8b5b9e053374c45bfcf0603008":[10,0,57,6], +"d5/d58/class_test_cases.html#ac2636e8b5b9e053374c45bfcf0603008":[10,0,57,7], +"d5/d58/class_test_cases.html#ac2636e8b5b9e053374c45bfcf0603008":[10,0,57,8], +"d5/d58/class_test_cases.html#ad9f95c09931625b41e3be1f88d1e28c5":[10,0,57,12], +"d5/d58/class_test_cases.html#ad9f95c09931625b41e3be1f88d1e28c5":[10,0,57,13], +"d5/d58/class_test_cases.html#ad9f95c09931625b41e3be1f88d1e28c5":[10,0,57,14], +"d5/d58/class_test_cases.html#aeabea90c02f9159e4a784bbf736e1e23":[10,0,57,3], +"d5/d58/class_test_cases.html#aeabea90c02f9159e4a784bbf736e1e23":[10,0,57,4], +"d5/d58/class_test_cases.html#aeabea90c02f9159e4a784bbf736e1e23":[10,0,57,5], +"d5/d58/persistent__seg__tree__lazy__prop_8cpp.html":[11,0,20,3], +"d5/d58/persistent__seg__tree__lazy__prop_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,20,3,3], +"d5/d58/persistent__seg__tree__lazy__prop_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,20,3,2], +"d5/d58/persistent__seg__tree__lazy__prop_8cpp_source.html":[11,0,20,3], +"d5/d5f/namespacegeometry.html":[9,0,37], +"d5/d66/classrange__queries_1_1per_seg_tree_1_1_node.html":[9,0,101,1,0], +"d5/d66/classrange__queries_1_1per_seg_tree_1_1_node.html":[10,0,16,2,0], +"d5/d66/classrange__queries_1_1per_seg_tree_1_1_node.html#a9adb4639a0797e94a3e556b6b902c088":[9,0,101,1,0,0], +"d5/d66/classrange__queries_1_1per_seg_tree_1_1_node.html#a9adb4639a0797e94a3e556b6b902c088":[10,0,16,2,0,0], +"d5/d66/classrange__queries_1_1per_seg_tree_1_1_node.html#acc044f787c90b815773726d7fdfdaccf":[9,0,101,1,0,1], +"d5/d66/classrange__queries_1_1per_seg_tree_1_1_node.html#acc044f787c90b815773726d7fdfdaccf":[10,0,16,2,0,1], +"d5/d67/bayes__theorem_8cpp.html":[11,0,19,1], +"d5/d67/bayes__theorem_8cpp.html#a655bfe51252468d232dc639a340656ba":[11,0,19,1,0], +"d5/d67/bayes__theorem_8cpp.html#abb4f22dc05887c2259fdfc55c687598f":[11,0,19,1,1], +"d5/d67/bayes__theorem_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,19,1,2], +"d5/d67/bayes__theorem_8cpp_source.html":[11,0,19,1], +"d5/d67/complex__numbers_8cpp.html":[11,0,14,9], +"d5/d67/complex__numbers_8cpp.html#a44d5f25b573e870accdf26fd32b8484d":[11,0,14,9,3], +"d5/d67/complex__numbers_8cpp.html#a5a73e9d4e68af8cedb95bd0864054b89":[11,0,14,9,4], +"d5/d67/complex__numbers_8cpp.html#a5d4d5b8250b50703de888514c8e7a7a0":[11,0,14,9,1], +"d5/d67/complex__numbers_8cpp.html#a88ec9ad42717780d6caaff9d3d6977f9":[11,0,14,9,5], +"d5/d67/complex__numbers_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,14,9,2], +"d5/d67/complex__numbers_8cpp_source.html":[11,0,14,9], +"d5/d7a/largest__power_8cpp.html":[11,0,14,31], +"d5/d7a/largest__power_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,14,31,2], +"d5/d7a/largest__power_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,14,31,1], +"d5/d7a/largest__power_8cpp.html#afa39ec943a4836c878e1614fd89b146f":[11,0,14,31,0], +"d5/d7a/largest__power_8cpp_source.html":[11,0,14,31], +"d5/d82/edit__distance_8cpp_source.html":[11,0,6,8], +"d5/d83/lcm__sum_8cpp.html":[11,0,14,32], +"d5/d83/lcm__sum_8cpp.html#a04065193d190d605e1f0d0d93a87e244":[11,0,14,32,0], +"d5/d83/lcm__sum_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,14,32,2], +"d5/d83/lcm__sum_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,14,32,1], +"d5/d83/lcm__sum_8cpp_source.html":[11,0,14,32], +"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_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/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md68":[4,22], +"d5/d89/namespacepalindrome__partitioning.html":[9,0,89], +"d5/d8a/classothers_1_1postfix__expression_1_1_stack.html":[10,0,13,3,0], +"d5/d8a/classothers_1_1postfix__expression_1_1_stack.html#a6ae98710503b894b843d01cb69d5490c":[10,0,13,3,0,1], +"d5/d8a/classothers_1_1postfix__expression_1_1_stack.html#af06360122e20ce2ba32c574a27a20ba1":[10,0,13,3,0,0], +"d5/d8a/trie__using__hashmap_8cpp.html":[11,0,4,39], +"d5/d8a/trie__using__hashmap_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,4,39,3], +"d5/d8a/trie__using__hashmap_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,4,39,2], +"d5/d8a/trie__using__hashmap_8cpp_source.html":[11,0,4,39], +"d5/d8e/huffman_8cpp_source.html":[11,0,11,5], +"d5/d90/palindrome__partitioning_8cpp.html":[11,0,6,22], +"d5/d90/palindrome__partitioning_8cpp.html#a52ee22882858d2b1cf04293f02ed839a":[11,0,6,22,1], +"d5/d90/palindrome__partitioning_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,6,22,2], +"d5/d90/palindrome__partitioning_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,6,22,0], +"d5/d90/palindrome__partitioning_8cpp_source.html":[11,0,6,22], +"d5/d91/namespacesorting.html":[8,3,2], +"d5/d91/namespacesorting.html#a034d8b276518a902962e87d3158b64fd":[9,0,113,0], +"d5/d91/namespacesorting.html#a0e9e1b21a1684585e9e50f9afe4d53a3":[9,0,113,12], +"d5/d91/namespacesorting.html#a140d913e42fb94176a0b2c8b29a80420":[9,0,113,9], +"d5/d91/namespacesorting.html#a263595fd9a0163b5b997b89fab3a0dc5":[9,0,113,6], +"d5/d91/namespacesorting.html#a27236b8d3df3832e1f1225576a122534":[9,0,113,10], +"d5/d91/namespacesorting.html#a2f8bc626eb57acae24a94636a23af6a1":[9,0,113,2], +"d5/d91/namespacesorting.html#a4d76603c54d3dc56146e92d10a043924":[9,0,113,19], +"d5/d91/namespacesorting.html#a5669396c6a6b1e14b97589b6e37980aa":[9,0,113,18], +"d5/d91/namespacesorting.html#a5f4bc75cca6dd8294af2d0e328006c68":[9,0,113,5], +"d5/d91/namespacesorting.html#a6eb67c2f91c98cf4464f75b5882022de":[9,0,113,14], +"d5/d91/namespacesorting.html#a78cb2f3b97b6db2c062b2a1df05c9ea9":[9,0,113,4], +"d5/d91/namespacesorting.html#a7bfe11bd4703eacd1dab93f25ec639c5":[9,0,113,20], +"d5/d91/namespacesorting.html#a8fe6bac9e03f58abcc2ce26ef3de1b5f":[9,0,113,3], +"d5/d91/namespacesorting.html#a9f59fe72dacc1f1218ef3c303d843168":[9,0,113,13], +"d5/d91/namespacesorting.html#aa26de383227859210f14dcf12201a079":[9,0,113,7], +"d5/d91/namespacesorting.html#aa3677f87b5b4756bc77e9e34c5f27935":[9,0,113,1], +"d5/d91/namespacesorting.html#aac8f44b28b4aa96444383030b28f8b34":[9,0,113,11], +"d5/d91/namespacesorting.html#ae3a775d99dbbb94c130a973df0cfddcf":[9,0,113,16], +"d5/d91/namespacesorting.html#ae97f4dd815654c4682f564afd718e824":[9,0,113,8], +"d5/d91/namespacesorting.html#af2c5b92cbfe73f63f6074c61b0a45331":[9,0,113,17], +"d5/d91/namespacesorting.html#affc6ee160142cd017f8c4b213437d0fd":[9,0,113,15], +"d5/d95/structdata__structures_1_1treap_1_1_treap.html":[9,0,21,0,0], +"d5/d95/structdata__structures_1_1treap_1_1_treap.html":[10,0,2,5,0], +"d5/d95/structdata__structures_1_1treap_1_1_treap.html#a1ab082fe0aa95a238bbbc68ab6a72425":[9,0,21,0,0,19], +"d5/d95/structdata__structures_1_1treap_1_1_treap.html#a1ab082fe0aa95a238bbbc68ab6a72425":[10,0,2,5,0,19], +"d5/d95/structdata__structures_1_1treap_1_1_treap.html#a3081969b2714a8101f7df28b1ce5ed2c":[9,0,21,0,0,17], +"d5/d95/structdata__structures_1_1treap_1_1_treap.html#a3081969b2714a8101f7df28b1ce5ed2c":[10,0,2,5,0,17], +"d5/d95/structdata__structures_1_1treap_1_1_treap.html#a32db3ba3b2630943faacd27b2ecd1b04":[9,0,21,0,0,15], +"d5/d95/structdata__structures_1_1treap_1_1_treap.html#a32db3ba3b2630943faacd27b2ecd1b04":[10,0,2,5,0,15], +"d5/d95/structdata__structures_1_1treap_1_1_treap.html#a5d200493aeaa02a269f6b6deda39a683":[9,0,21,0,0,0], +"d5/d95/structdata__structures_1_1treap_1_1_treap.html#a5d200493aeaa02a269f6b6deda39a683":[10,0,2,5,0,0], +"d5/d95/structdata__structures_1_1treap_1_1_treap.html#a5e884d2686aff501ef589b0d1185492f":[9,0,21,0,0,10], +"d5/d95/structdata__structures_1_1treap_1_1_treap.html#a5e884d2686aff501ef589b0d1185492f":[10,0,2,5,0,10], +"d5/d95/structdata__structures_1_1treap_1_1_treap.html#a6a023a4f0c42fb8ed5b3368fba1a5f2c":[9,0,21,0,0,4], +"d5/d95/structdata__structures_1_1treap_1_1_treap.html#a6a023a4f0c42fb8ed5b3368fba1a5f2c":[10,0,2,5,0,4], +"d5/d95/structdata__structures_1_1treap_1_1_treap.html#a75a48584a6560de20484fbba6229fd29":[9,0,21,0,0,11], +"d5/d95/structdata__structures_1_1treap_1_1_treap.html#a75a48584a6560de20484fbba6229fd29":[10,0,2,5,0,11], +"d5/d95/structdata__structures_1_1treap_1_1_treap.html#a767b28f9911fc32b8462862be058a4a4":[9,0,21,0,0,7], +"d5/d95/structdata__structures_1_1treap_1_1_treap.html#a767b28f9911fc32b8462862be058a4a4":[10,0,2,5,0,7], +"d5/d95/structdata__structures_1_1treap_1_1_treap.html#a8be70f0a25e53e870e97d8d23968d723":[9,0,21,0,0,16], +"d5/d95/structdata__structures_1_1treap_1_1_treap.html#a8be70f0a25e53e870e97d8d23968d723":[10,0,2,5,0,16], +"d5/d95/structdata__structures_1_1treap_1_1_treap.html#a9a77d22f97add119123108211c6655ec":[9,0,21,0,0,3], +"d5/d95/structdata__structures_1_1treap_1_1_treap.html#a9a77d22f97add119123108211c6655ec":[10,0,2,5,0,3], +"d5/d95/structdata__structures_1_1treap_1_1_treap.html#a9ea2becd904e2e7d22f23a001b444469":[9,0,21,0,0,5], +"d5/d95/structdata__structures_1_1treap_1_1_treap.html#a9ea2becd904e2e7d22f23a001b444469":[10,0,2,5,0,5], +"d5/d95/structdata__structures_1_1treap_1_1_treap.html#aae9facaede462ad924856c4d707646d7":[9,0,21,0,0,12], +"d5/d95/structdata__structures_1_1treap_1_1_treap.html#aae9facaede462ad924856c4d707646d7":[10,0,2,5,0,12], +"d5/d95/structdata__structures_1_1treap_1_1_treap.html#ab2db3ad3aecc240011e0c8b8604d2c69":[9,0,21,0,0,6], +"d5/d95/structdata__structures_1_1treap_1_1_treap.html#ab2db3ad3aecc240011e0c8b8604d2c69":[10,0,2,5,0,6], +"d5/d95/structdata__structures_1_1treap_1_1_treap.html#ab8b9899f22070cfa01db5bf874296126":[9,0,21,0,0,8], +"d5/d95/structdata__structures_1_1treap_1_1_treap.html#ab8b9899f22070cfa01db5bf874296126":[10,0,2,5,0,8], +"d5/d95/structdata__structures_1_1treap_1_1_treap.html#ab99f68b79e1c4ff0f1cd6f2f0b6a545f":[9,0,21,0,0,13], +"d5/d95/structdata__structures_1_1treap_1_1_treap.html#ab99f68b79e1c4ff0f1cd6f2f0b6a545f":[10,0,2,5,0,13], +"d5/d95/structdata__structures_1_1treap_1_1_treap.html#ac94e9d69305940f6d8804031455af039":[9,0,21,0,0,9], +"d5/d95/structdata__structures_1_1treap_1_1_treap.html#ac94e9d69305940f6d8804031455af039":[10,0,2,5,0,9], +"d5/d95/structdata__structures_1_1treap_1_1_treap.html#ad08520c0617eb8dcfcbfa90d258aa6b2":[9,0,21,0,0,2], +"d5/d95/structdata__structures_1_1treap_1_1_treap.html#ad08520c0617eb8dcfcbfa90d258aa6b2":[10,0,2,5,0,2], +"d5/d95/structdata__structures_1_1treap_1_1_treap.html#aeb4bb0db68c7c04ef9498c88c3777887":[9,0,21,0,0,1], +"d5/d95/structdata__structures_1_1treap_1_1_treap.html#aeb4bb0db68c7c04ef9498c88c3777887":[10,0,2,5,0,1], +"d5/d95/structdata__structures_1_1treap_1_1_treap.html#af5f0b8263339485989f8a02ae026114c":[9,0,21,0,0,18], +"d5/d95/structdata__structures_1_1treap_1_1_treap.html#af5f0b8263339485989f8a02ae026114c":[10,0,2,5,0,18], +"d5/d95/structdata__structures_1_1treap_1_1_treap.html#af7e6c6620ab32bc96633d101245fa919":[9,0,21,0,0,14], +"d5/d95/structdata__structures_1_1treap_1_1_treap.html#af7e6c6620ab32bc96633d101245fa919":[10,0,2,5,0,14], +"d5/d96/md5_8cpp.html":[11,0,12,3], +"d5/d96/md5_8cpp.html#a5341431cef7fcfc33794326e1deb2425":[11,0,12,3,1], +"d5/d96/md5_8cpp.html#a694712c9665051ba52b686387b87a689":[11,0,12,3,8], +"d5/d96/md5_8cpp.html#a6be48c1e6e742f9bd329f501d61dcaef":[11,0,12,3,9], +"d5/d96/md5_8cpp.html#a88705fab5f92adf3427b4cf76ff33edb":[11,0,12,3,0], +"d5/d96/md5_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,12,3,7], +"d5/d96/md5_8cpp.html#aaee69c6136a841043f956de32116e348":[11,0,12,3,6], +"d5/d96/md5_8cpp.html#ac9e1a11f44135b890dd10a00e73b5661":[11,0,12,3,2], +"d5/d96/md5_8cpp.html#add2bf982d5dd64a45d13cba52c2b371d":[11,0,12,3,4], +"d5/d96/md5_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,12,3,5], +"d5/d96/md5_8cpp.html#af8e96bde0183c4b0a7ff04668f11e446":[11,0,12,3,3], +"d5/d96/md5_8cpp_source.html":[11,0,12,3], +"d5/da1/structnode.html":[10,0,46], +"d5/da7/namespacejarvis.html":[9,0,54], +"d5/dab/structdata__structures_1_1list__array_1_1list.html":[10,0,2,1,0], +"d5/dab/structdata__structures_1_1list__array_1_1list.html#a0b7acf65026df1e9dd13eebf309dda5e":[10,0,2,1,0,4], +"d5/dab/structdata__structures_1_1list__array_1_1list.html#a133635ad53bd89e3947ca02448819180":[10,0,2,1,0,5], +"d5/dab/structdata__structures_1_1list__array_1_1list.html#a412bdb3910181f3c384d86aee7e217cf":[10,0,2,1,0,0], +"d5/dab/structdata__structures_1_1list__array_1_1list.html#a98f7d9079c0868e0f4e67d5c52174fb6":[10,0,2,1,0,3], +"d5/dab/structdata__structures_1_1list__array_1_1list.html#aa960d714d449612f25256850d72325f1":[10,0,2,1,0,1], +"d5/dab/structdata__structures_1_1list__array_1_1list.html#ad202ae68fe8d98082afa9dafea9e22b9":[10,0,2,1,0,2], +"d5/db0/adaline__learning_8cpp.html":[8,1,0], +"d5/db5/classoperations__on__datastructures_1_1inorder__traversal__of__bst_1_1_node.html":[10,0,12,1,0], +"d5/db5/classoperations__on__datastructures_1_1inorder__traversal__of__bst_1_1_node.html#a9b4ae6f5179a1c8ecfd563811a59e6c0":[10,0,12,1,0,2], +"d5/db5/classoperations__on__datastructures_1_1inorder__traversal__of__bst_1_1_node.html#a9ccef4c746b7226488b014f5bac4789a":[10,0,12,1,0,1], +"d5/db5/classoperations__on__datastructures_1_1inorder__traversal__of__bst_1_1_node.html#ae161f3e5ef33ade73429cab9291612e2":[10,0,12,1,0,0], +"d5/db5/set__kth__bit_8cpp.html":[11,0,1,8], +"d5/db5/set__kth__bit_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,1,8,2], +"d5/db5/set__kth__bit_8cpp.html#ad4d0ffd9331242c42a28834ee19f5fd9":[11,0,1,8,1], +"d5/db5/set__kth__bit_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,1,8,0], +"d5/db5/set__kth__bit_8cpp_source.html":[11,0,1,8], +"d5/db8/namespacemincoins__topdown.html":[9,0,74], +"d5/dc5/morrisinorder_8cpp_source.html":[11,0,4,14], +"d5/dd0/namespacephysics.html":[9,0,91], +"d5/ddb/bogo__sort_8cpp.html":[11,0,23,3], +"d5/ddb/bogo__sort_8cpp.html#a7bfe11bd4703eacd1dab93f25ec639c5":[11,0,23,3,3], +"d5/ddb/bogo__sort_8cpp.html#ae1a3968e7947464bee7714f6d43b7002":[11,0,23,3,4], +"d5/ddb/bogo__sort_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,23,3,0], +"d5/ddb/bogo__sort_8cpp.html#ae8adaeff66471f9ed84f2e673b38a859":[11,0,23,3,2], +"d5/ddb/bogo__sort_8cpp.html#affc6ee160142cd017f8c4b213437d0fd":[11,0,23,3,1], +"d5/ddb/bogo__sort_8cpp_source.html":[11,0,23,3], +"d5/dec/classgraph_1_1topological__sort_1_1_graph.html":[10,0,6,1,0], +"d5/dec/classgraph_1_1topological__sort_1_1_graph.html#a57036210706a45b9363563252393a345":[10,0,6,1,0,1], +"d5/dec/classgraph_1_1topological__sort_1_1_graph.html#a5e84b175ef768ff58eaeededd43e8368":[10,0,6,1,0,2], +"d5/dec/classgraph_1_1topological__sort_1_1_graph.html#a75a849f80a66304e7da39b3ccd6129d6":[10,0,6,1,0,0], +"d5/dec/classgraph_1_1topological__sort_1_1_graph.html#ad22018e4f4f80aecb0538044bb83d096":[10,0,6,1,0,3], +"d5/def/stairs__pattern_8cpp.html":[11,0,17,24], +"d5/def/stairs__pattern_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,17,24,0], +"d5/def/stairs__pattern_8cpp_source.html":[11,0,17,24], +"d5/df4/merge__sort_8cpp.html":[8,3,0], +"d5/df6/check__amicable__pair_8cpp.html":[11,0,14,6], +"d5/df6/check__amicable__pair_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e":[11,0,14,6,3], +"d5/df6/check__amicable__pair_8cpp.html#a8e6eede206201db0d1dbb618fa969bec":[11,0,14,6,0], +"d5/df6/check__amicable__pair_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,14,6,1], +"d5/df6/check__amicable__pair_8cpp.html#af05567415a9ea36c254b54e3d5a2152a":[11,0,14,6,2], +"d5/df6/check__amicable__pair_8cpp_source.html":[11,0,14,6], +"d6/d02/file__linter_8py_source.html":[11,0,21,0], +"d6/d04/classdata__structures_1_1queue__using__array_1_1_queue___array.html":[10,0,2,2,0], +"d6/d04/classdata__structures_1_1queue__using__array_1_1_queue___array.html#a2aaf88c9954ef3ab686f8e4bfbd87622":[10,0,2,2,0,0], +"d6/d04/classdata__structures_1_1queue__using__array_1_1_queue___array.html#a2f676f2f249eb36dfd49711a03e9e67e":[10,0,2,2,0,4], +"d6/d04/classdata__structures_1_1queue__using__array_1_1_queue___array.html#a4dc64488c36f84d927365fa8d1933663":[10,0,2,2,0,2], +"d6/d04/classdata__structures_1_1queue__using__array_1_1_queue___array.html#a688b7ea064739ea9fa66bf64bf4ae631":[10,0,2,2,0,1], +"d6/d04/classdata__structures_1_1queue__using__array_1_1_queue___array.html#a9883dfcceede9a42227d2d313ae86f85":[10,0,2,2,0,5], +"d6/d04/classdata__structures_1_1queue__using__array_1_1_queue___array.html#ae69a0bf6c9921b37c516c8a4d2fb904d":[10,0,2,2,0,3], +"d6/d05/reverse__a__linked__list_8cpp.html":[11,0,4,23], +"d6/d05/reverse__a__linked__list_8cpp.html#a7f80d9712cc7d77399dcacb4c2917511":[11,0,4,23,2], +"d6/d05/reverse__a__linked__list_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,4,23,4], +"d6/d05/reverse__a__linked__list_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,4,23,3], +"d6/d05/reverse__a__linked__list_8cpp_source.html":[11,0,4,23], +"d6/d0c/namespacehashing.html":[9,0,45], +"d6/d10/cut__rod_8cpp.html":[11,0,6,7], +"d6/d10/cut__rod_8cpp.html#a1cc523a30c18c63eac58220c3c494cfa":[11,0,6,7,1], +"d6/d10/cut__rod_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,6,7,2], +"d6/d10/cut__rod_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,6,7,0], +"d6/d10/cut__rod_8cpp_source.html":[11,0,6,7], +"d6/d1a/dnf__sort_8cpp.html":[11,0,23,12], +"d6/d1a/dnf__sort_8cpp.html#a621767fe711db64fe57a2ac4987b11f0":[11,0,23,12,0], +"d6/d1a/dnf__sort_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,23,12,2], +"d6/d1a/dnf__sort_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,23,12,1], +"d6/d1a/dnf__sort_8cpp_source.html":[11,0,23,12], +"d6/d26/classciphers_1_1_hill_cipher.html":[9,0,13,1], +"d6/d26/classciphers_1_1_hill_cipher.html":[10,0,1,1], +"d6/d26/classciphers_1_1_hill_cipher.html#a12f727cca9e21f9539cd74b6603adf0c":[9,0,13,1,8], +"d6/d26/classciphers_1_1_hill_cipher.html#a12f727cca9e21f9539cd74b6603adf0c":[10,0,1,1,8], +"d6/d26/classciphers_1_1_hill_cipher.html#a2eb58750b978a93ac5e6eb29e3e570b7":[9,0,13,1,9], +"d6/d26/classciphers_1_1_hill_cipher.html#a2eb58750b978a93ac5e6eb29e3e570b7":[10,0,1,1,9] }; diff --git a/navtreeindex5.js b/navtreeindex5.js index 2e0e1c628..5e07af051 100644 --- a/navtreeindex5.js +++ b/navtreeindex5.js @@ -1,253 +1,253 @@ var NAVTREEINDEX5 = { -"d4/d3e/n__queens_8cpp.html":[11,0,0,4], -"d4/d3e/n__queens_8cpp.html#a0dbd7af47d87f0b956609fe9e3288ecb":[11,0,0,4,3], -"d4/d3e/n__queens_8cpp.html#a40ae0c7fd04eb20e7f3bff13fc6a5808":[11,0,0,4,2], -"d4/d3e/n__queens_8cpp.html#a5730b6683f6adcf5c5ef75cf53dc7160":[11,0,0,4,0], -"d4/d3e/n__queens_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,0,4,1], -"d4/d45/gcd__recursive__euclidean_8cpp.html":[11,0,14,23], -"d4/d45/gcd__recursive__euclidean_8cpp.html#ae48807fa2b7000afae599e67f327545e":[11,0,14,23,0], -"d4/d45/gcd__recursive__euclidean_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,14,23,1], -"d4/d48/hamming__distance_8cpp.html":[11,0,1,4], -"d4/d48/hamming__distance_8cpp.html#a40ba9fe8b5df5c268f0c7d677ff2fe80":[11,0,1,4,1], -"d4/d48/hamming__distance_8cpp.html#a65d845df3fecff7087a2126c7b72030b":[11,0,1,4,0], -"d4/d48/hamming__distance_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,1,4,4], -"d4/d48/hamming__distance_8cpp.html#abfe6fbb2f3460a2623c96f283178a07a":[11,0,1,4,2], -"d4/d48/hamming__distance_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,1,4,3], -"d4/d4f/stooge__sort_8cpp.html":[11,0,22,24], -"d4/d4f/stooge__sort_8cpp.html#a0283886819c7c140a023582b7269e2d0":[11,0,22,24,3], -"d4/d4f/stooge__sort_8cpp.html#a1440a7779ac56f47a3f355ce4a8c7da0":[11,0,22,24,2], -"d4/d4f/stooge__sort_8cpp.html#a6d0455dd5c30adda100e95f0423c786e":[11,0,22,24,4], -"d4/d4f/stooge__sort_8cpp.html#ac23852832437dc68327efe9b1da2d91b":[11,0,22,24,1], -"d4/d4f/stooge__sort_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,22,24,0], -"d4/d68/qr__decompose_8h.html":[11,0,15,18], -"d4/d68/qr__decompose_8h.html#a257425cb2365359da51c6fe6741834d8":[11,0,15,18,1], -"d4/d68/qr__decompose_8h.html#a6d3c7dce1f142141f509d09f6c0e25dc":[11,0,15,18,5], -"d4/d68/qr__decompose_8h.html#a73ce637634fc49e1d10d190eb388ebf1":[11,0,15,18,2], -"d4/d68/qr__decompose_8h.html#a8ea313a1a1b5f9d0e3e332c29c6446ec":[11,0,15,18,3], -"d4/d68/qr__decompose_8h.html#ad16da2183db22378435042f26af43d5f":[11,0,15,18,4], -"d4/d68/qr__decompose_8h.html#adfbdf47277c8cfee229b05b72f1f7834":[11,0,15,18,0], -"d4/d68/qr__decompose_8h_source.html":[11,0,15,18], -"d4/d6c/boruvkas__minimum__spanning__tree_8cpp.html":[11,0,11,1], -"d4/d6c/boruvkas__minimum__spanning__tree_8cpp.html#a2311b22324cf09926726e4ce1309af8b":[11,0,11,1,3], -"d4/d6c/boruvkas__minimum__spanning__tree_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e":[11,0,11,1,4], -"d4/d6c/boruvkas__minimum__spanning__tree_8cpp.html#a94c615fc66b72e0adbcbcb99aabb1a59":[11,0,11,1,0], -"d4/d6c/boruvkas__minimum__spanning__tree_8cpp.html#a95de0f5e70e83164dbd1b4c515565e84":[11,0,11,1,1], -"d4/d6c/boruvkas__minimum__spanning__tree_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,11,1,2], -"d4/d7a/shell__sort2_8cpp.html":[11,0,22,23], -"d4/d7a/shell__sort2_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97":[11,0,22,23,1], -"d4/d7a/shell__sort2_8cpp.html#a22ea0d1f7943ebb4371d31e44b465b6d":[11,0,22,23,7], -"d4/d7a/shell__sort2_8cpp.html#a4d76603c54d3dc56146e92d10a043924":[11,0,22,23,4], -"d4/d7a/shell__sort2_8cpp.html#a5669396c6a6b1e14b97589b6e37980aa":[11,0,22,23,3], -"d4/d7a/shell__sort2_8cpp.html#a63aaff7cabfa3da2da8b9477b5fad9d6":[11,0,22,23,6], -"d4/d7a/shell__sort2_8cpp.html#a7eb77daed2cf1513f6d68c47a1c2db1c":[11,0,22,23,0], -"d4/d7a/shell__sort2_8cpp.html#a895b313cb2671e8f712040460325573e":[11,0,22,23,8], -"d4/d7a/shell__sort2_8cpp.html#a951127aea9d7e1e53ea9ae0868633246":[11,0,22,23,5], -"d4/d7a/shell__sort2_8cpp.html#af2c5b92cbfe73f63f6074c61b0a45331":[11,0,22,23,2], -"d4/d83/sum__of__digits_8cpp.html":[11,0,14,55], -"d4/d83/sum__of__digits_8cpp.html#a0283886819c7c140a023582b7269e2d0":[11,0,14,55,4], -"d4/d83/sum__of__digits_8cpp.html#a1440a7779ac56f47a3f355ce4a8c7da0":[11,0,14,55,3], -"d4/d83/sum__of__digits_8cpp.html#a4619c78b6ad985713024f930f31c4395":[11,0,14,55,1], -"d4/d83/sum__of__digits_8cpp.html#ae1a3968e7947464bee7714f6d43b7002":[11,0,14,55,2], -"d4/d83/sum__of__digits_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,14,55,0], -"d4/d86/large__number_8h.html":[11,0,14,29], -"d4/d86/large__number_8h_source.html":[11,0,14,29], -"d4/d8d/jarvis__algorithm_8cpp.html":[11,0,8,1], -"d4/d8d/jarvis__algorithm_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,8,1,3], -"d4/d8d/jarvis__algorithm_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,8,1,2], -"d4/d8f/travelling__salesman__using__bit__manipulation_8cpp.html":[11,0,1,8], -"d4/d8f/travelling__salesman__using__bit__manipulation_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,1,8,1], -"d4/d8f/travelling__salesman__using__bit__manipulation_8cpp.html#ad08f082be02c3437c2fe89cb035fcee1":[11,0,1,8,2], -"d4/d8f/travelling__salesman__using__bit__manipulation_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,1,8,0], -"d4/d90/classdata__structures_1_1_skip_list.html":[9,0,21,5], -"d4/d90/classdata__structures_1_1_skip_list.html":[10,0,2,12], -"d4/d90/classdata__structures_1_1_skip_list.html#a3e249c2c35a8b7f5ffd2d77fee60d650":[9,0,21,5,7], -"d4/d90/classdata__structures_1_1_skip_list.html#a3e249c2c35a8b7f5ffd2d77fee60d650":[10,0,2,12,7], -"d4/d90/classdata__structures_1_1_skip_list.html#a40a4042bdf0b6683b5f21ae7854de8a9":[9,0,21,5,3], -"d4/d90/classdata__structures_1_1_skip_list.html#a40a4042bdf0b6683b5f21ae7854de8a9":[10,0,2,12,3], -"d4/d90/classdata__structures_1_1_skip_list.html#a7ffc3688725b9d1ec6e5bb881a6e2ae4":[9,0,21,5,0], -"d4/d90/classdata__structures_1_1_skip_list.html#a7ffc3688725b9d1ec6e5bb881a6e2ae4":[10,0,2,12,0], -"d4/d90/classdata__structures_1_1_skip_list.html#a812611f80b8079268dbb19cc4e9bee5c":[9,0,21,5,2], -"d4/d90/classdata__structures_1_1_skip_list.html#a812611f80b8079268dbb19cc4e9bee5c":[10,0,2,12,2], -"d4/d90/classdata__structures_1_1_skip_list.html#a86925c53e139cc6c3f7df1e9003bb0b0":[9,0,21,5,1], -"d4/d90/classdata__structures_1_1_skip_list.html#a86925c53e139cc6c3f7df1e9003bb0b0":[10,0,2,12,1], -"d4/d90/classdata__structures_1_1_skip_list.html#aa3f3813e9896792fc86b296547689ba4":[9,0,21,5,4], -"d4/d90/classdata__structures_1_1_skip_list.html#aa3f3813e9896792fc86b296547689ba4":[10,0,2,12,4], -"d4/d90/classdata__structures_1_1_skip_list.html#ad7e392386d7db622185d6f7c718e4f16":[9,0,21,5,6], -"d4/d90/classdata__structures_1_1_skip_list.html#ad7e392386d7db622185d6f7c718e4f16":[10,0,2,12,6], -"d4/d90/classdata__structures_1_1_skip_list.html#af2f3d4e15b1f47afac849c2e08a730f4":[9,0,21,5,5], -"d4/d90/classdata__structures_1_1_skip_list.html#af2f3d4e15b1f47afac849c2e08a730f4":[10,0,2,12,5], -"d4/d91/namespacevector__cross.html":[9,0,137], -"d4/d9c/primes__up__to__billion_8cpp.html":[11,0,14,48], -"d4/d9c/primes__up__to__billion_8cpp.html#a031cada84819ed6426f58e4f7e81261c":[11,0,14,48,1], -"d4/d9c/primes__up__to__billion_8cpp.html#ac0f4b77b901ddb15dab4c4dee1ac6e95":[11,0,14,48,2], -"d4/d9c/primes__up__to__billion_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,14,48,0], -"d4/d9d/sum__of__binomial__coefficient_8cpp.html":[11,0,14,54], -"d4/d9d/sum__of__binomial__coefficient_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,14,54,2], -"d4/d9d/sum__of__binomial__coefficient_8cpp.html#ae1ca505751f5a6d3977b86372cfe75ea":[11,0,14,54,0], -"d4/d9d/sum__of__binomial__coefficient_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,14,54,1], -"d4/d9f/selection__sort__recursive_8cpp.html":[11,0,22,22], -"d4/d9f/selection__sort__recursive_8cpp.html#a5454eeb691725ccac0f59df1e133f834":[11,0,22,22,0], -"d4/d9f/selection__sort__recursive_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,22,22,3], -"d4/d9f/selection__sort__recursive_8cpp.html#ab6f7b33a070e376e1f4374e534435e89":[11,0,22,22,2], -"d4/d9f/selection__sort__recursive_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,22,22,1], -"d4/da0/gcd__iterative__euclidean_8cpp.html":[11,0,14,21], -"d4/da0/gcd__iterative__euclidean_8cpp.html#ae48807fa2b7000afae599e67f327545e":[11,0,14,21,0], -"d4/da0/gcd__iterative__euclidean_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,14,21,1], -"d4/da0/kadane_8cpp.html":[11,0,6,7], -"d4/da0/kadane_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,6,7,0], -"d4/da0/kadane_8cpp.html#af3029007a422a914a85c0b0122f1c7b4":[11,0,6,7,1], -"d4/db4/struct_segment_intersection.html":[10,0,52], -"d4/db4/struct_segment_intersection.html#a008941b2272866c64cdaf959afa939bf":[10,0,52,1], -"d4/db4/struct_segment_intersection.html#a3beb2ac1b35d67354f1dbaf9a971e655":[10,0,52,0], -"d4/db6/reverse__binary__tree_8cpp.html":[11,0,16,5], -"d4/db6/reverse__binary__tree_8cpp.html#a167c24bd817469ae47358d12e034f2d5":[11,0,16,5,4], -"d4/db6/reverse__binary__tree_8cpp.html#aa515639572647508b94986489aab6d76":[11,0,16,5,6], -"d4/db6/reverse__binary__tree_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,16,5,3], -"d4/db6/reverse__binary__tree_8cpp.html#abdd77344d4af8fd56d14a5cabbf2f669":[11,0,16,5,5], -"d4/db6/reverse__binary__tree_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,16,5,2], -"d4/db8/longest__substring__without__repeating__characters_8cpp.html":[11,0,17,10], -"d4/db8/longest__substring__without__repeating__characters_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e":[11,0,17,10,2], -"d4/db8/longest__substring__without__repeating__characters_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,17,10,1], -"d4/db9/namespacencr__modulo__p.html":[9,0,84], -"d4/dcd/namespacecircular__linked__list.html":[9,0,14], -"d4/dd2/namespacequadratic__probing.html":[8,0,2], -"d4/dd2/namespacequadratic__probing.html#a00ebcc6d39653eccc26f8432efbfc8d9":[9,0,96,1], -"d4/dd2/namespacequadratic__probing.html#a07a0467b24102260fbb6b554c453c20a":[9,0,96,10], -"d4/dd2/namespacequadratic__probing.html#a2093d91dd3d377cf0a5c939e45dcefc7":[9,0,96,5], -"d4/dd2/namespacequadratic__probing.html#a312143ed316d48978084c025ff8d9768":[9,0,96,2], -"d4/dd2/namespacequadratic__probing.html#a40d617ebf4d6ba21bcda8d8d1faa2357":[9,0,96,3], -"d4/dd2/namespacequadratic__probing.html#a5ceee4128d92ca4412040b7104d1299d":[9,0,96,4], -"d4/dd2/namespacequadratic__probing.html#a69fe1f7c36fe004ba83eef2ca82e7e30":[9,0,96,9], -"d4/dd2/namespacequadratic__probing.html#ab431981b54c0bae1b2956f716aee1dcf":[9,0,96,7], -"d4/dd2/namespacequadratic__probing.html#ada6f1f44f7e83b0094fbcbe170788486":[9,0,96,8], -"d4/dd2/namespacequadratic__probing.html#adccc63a7e57cc6dba75bd62f40feb88b":[9,0,96,6], -"d4/dd2/namespacequadratic__probing.html#aeb6bca8db4768226f8ea8291ea4f83f6":[9,0,96,11], -"d4/dde/classgeometry_1_1jarvis_1_1_convexhull.html":[10,0,5,1,0], -"d4/dde/classgeometry_1_1jarvis_1_1_convexhull.html#a54df5f9a8f37170bd97c91127664655c":[10,0,5,1,0,2], -"d4/dde/classgeometry_1_1jarvis_1_1_convexhull.html#a8306e48040a8570e164c58d1c530f870":[10,0,5,1,0,0], -"d4/dde/classgeometry_1_1jarvis_1_1_convexhull.html#aeec46e86786ddd461464b07a77c4d5f1":[10,0,5,1,0,1], -"d4/de6/namespacepostfix__expression.html":[9,0,92], -"d4/ded/namespaceprobability.html":[9,0,94], -"d4/def/kohonen__som__topology_8cpp.html":[8,1,1], -"d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html":[10,0,10,2,1], -"d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#a173bb71780af6953ec2e307a4c74b025":[10,0,10,2,1,5], -"d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#a176b955c90ae57d7dbc3c63f27c84c75":[10,0,10,2,1,3], -"d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#a2be1b52bb9f57486f9a436f35c9089c0":[10,0,10,2,1,10], -"d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#a2c49bfebf9b859d5ceb26035d3003601":[10,0,10,2,1,15], -"d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#a361a45f3c3d8347d79103bf182d0570b":[10,0,10,2,1,6], -"d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#a36494e26ff36d6e15c1022bb9a1ee848":[10,0,10,2,1,9], -"d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#a3b9eac1824d365dce715fb17c33cb96f":[10,0,10,2,1,17], -"d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#a4c4c6f63ab965317f9471518ee931b89":[10,0,10,2,1,0], -"d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#a4f14e473bb0722c6490b9dc8da5982aa":[10,0,10,2,1,16], -"d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#a5172a6791b9bd24f4232bab8d6b81fff":[10,0,10,2,1,11], -"d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#a58a9614e4c6d4ca672d3358e99a3404f":[10,0,10,2,1,14], -"d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#a58ed20abf6ce3744535bd8b5bb9e741b":[10,0,10,2,1,13], -"d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#a61d30113d13304c664057118b92a5931":[10,0,10,2,1,18], -"d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#a62151b0398a2536be60d950e10ffe9a8":[10,0,10,2,1,2], -"d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#a650c677fd6512665741ddd9b7983275d":[10,0,10,2,1,12], -"d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#a88bf9023ab3d4cdb61cf707c7cdfc86b":[10,0,10,2,1,7], -"d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#a8973f687738ddd76f93b5562feae4027":[10,0,10,2,1,4], -"d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#ae7cf126a3a8f9d20c81b21584d061a08":[10,0,10,2,1,1], -"d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#aec648ea4f40bd71123b5f907a681dd8e":[10,0,10,2,1,8], -"d4/dfb/namespacecycle__sort.html":[9,0,20], -"d5/d02/namespacehorspool.html":[9,0,47], -"d5/d12/structdata__structures_1_1trie__using__hashmap_1_1_trie_1_1_node.html":[10,0,2,7,0,0], -"d5/d12/structdata__structures_1_1trie__using__hashmap_1_1_trie_1_1_node.html#a08212cdc99164b59da91b81f45e2f88e":[10,0,2,7,0,0,0], -"d5/d12/structdata__structures_1_1trie__using__hashmap_1_1_trie_1_1_node.html#a3cdb077745d3dc97212d693132371219":[10,0,2,7,0,0,1], -"d5/d15/classcll.html":[10,0,24], -"d5/d1e/next__higher__number__with__same__number__of__set__bits_8cpp.html":[11,0,1,5], -"d5/d1e/next__higher__number__with__same__number__of__set__bits_8cpp.html#a4b76571a2a04fa99c30a96eca9997f0e":[11,0,1,5,1], -"d5/d1e/next__higher__number__with__same__number__of__set__bits_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,1,5,2], -"d5/d1e/next__higher__number__with__same__number__of__set__bits_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,1,5,0], -"d5/d25/structstd_1_1is__unsigned_3_01uint128__t_01_4.html":[9,0,118,9], -"d5/d25/structstd_1_1is__unsigned_3_01uint128__t_01_4.html":[10,0,19,4], -"d5/d29/struct_min_heap_node.html":[10,0,43], -"d5/d2c/namespacelayers.html":[9,0,60], -"d5/d33/gram__schmidt_8cpp.html":[11,0,15,9], -"d5/d33/gram__schmidt_8cpp.html#a0837468e1a653ed056e2cce3c914afa5":[11,0,15,9,2], -"d5/d33/gram__schmidt_8cpp.html#a8eeaafdde8b56f459aadc6013cf078bc":[11,0,15,9,4], -"d5/d33/gram__schmidt_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,15,9,5], -"d5/d33/gram__schmidt_8cpp.html#ac4a4504924ecc9f12a2ebd80788ec01d":[11,0,15,9,1], -"d5/d33/gram__schmidt_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,15,9,3], -"d5/d33/gram__schmidt_8cpp.html#ae6b496dce691e04f7f95ba0f0d33a289":[11,0,15,9,0], -"d5/d39/namespaceactivations.html":[9,0,2], -"d5/d3c/namespacedata__structures.html":[9,0,21], -"d5/d3c/namespacedata__structures.html#a271c753baf6dc5ac6f19fa03c5873eb4":[9,0,21,8], -"d5/d3c/namespacedata__structures.html#a35eb2bc3edbb52f9c5f0b1e51046ef15":[9,0,21,11], -"d5/d3c/namespacedata__structures.html#a903639d8e6f955dd8d5c263781455d61":[9,0,21,13], -"d5/d3c/namespacedata__structures.html#a9ed236419034917c5270c1dccd220b5c":[9,0,21,10], -"d5/d3c/namespacedata__structures.html#aa6deb9d4a0f63ea97aef3dce4c6c6677":[9,0,21,9], -"d5/d3c/namespacedata__structures.html#ac0d7e0be24da9f41bcb19745873c436a":[9,0,21,12], -"d5/d45/sublist__search_8cpp.html":[11,0,21,11], -"d5/d45/sublist__search_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97":[11,0,21,11,2], -"d5/d45/sublist__search_8cpp.html#a4faee403e2758aaab682ed6622ae218c":[11,0,21,11,5], -"d5/d45/sublist__search_8cpp.html#a70ca8d0267008e09cfa50b4e2ddfbe53":[11,0,21,11,3], -"d5/d45/sublist__search_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,21,11,6], -"d5/d45/sublist__search_8cpp.html#ad1028bc215281d62e344af99da57fab2":[11,0,21,11,4], -"d5/d4c/group__sorting.html":[8,3], -"d5/d4c/group__sorting.html#ga0a9a57a1f1bbba3d4822531d002b7e07":[8,3,8], -"d5/d4c/group__sorting.html#ga135e4c638e3bcf548bd122b5f49a3e72":[8,3,3], -"d5/d4c/group__sorting.html#ga29d28b140174dbdde7c9f5157758435f":[8,3,4], -"d5/d4c/group__sorting.html#ga460c61cd948203b4816bef2accb3fc73":[8,3,6], -"d5/d4c/group__sorting.html#gaa8dca7b867074164d5f45b0f3851269d":[8,3,9], -"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,57], -"d5/d58/class_test_cases.html#aa3aa3d5bf666f327ee8e2d11d397b06e":[10,0,57,0], -"d5/d58/class_test_cases.html#aa3aa3d5bf666f327ee8e2d11d397b06e":[10,0,57,1], -"d5/d58/class_test_cases.html#aa3aa3d5bf666f327ee8e2d11d397b06e":[10,0,57,2], -"d5/d58/class_test_cases.html#abae0148985f159b582a385cf399254e3":[10,0,57,9], -"d5/d58/class_test_cases.html#abae0148985f159b582a385cf399254e3":[10,0,57,10], -"d5/d58/class_test_cases.html#abae0148985f159b582a385cf399254e3":[10,0,57,11], -"d5/d58/class_test_cases.html#ac2636e8b5b9e053374c45bfcf0603008":[10,0,57,6], -"d5/d58/class_test_cases.html#ac2636e8b5b9e053374c45bfcf0603008":[10,0,57,7], -"d5/d58/class_test_cases.html#ac2636e8b5b9e053374c45bfcf0603008":[10,0,57,8], -"d5/d58/class_test_cases.html#ad9f95c09931625b41e3be1f88d1e28c5":[10,0,57,12], -"d5/d58/class_test_cases.html#ad9f95c09931625b41e3be1f88d1e28c5":[10,0,57,13], -"d5/d58/class_test_cases.html#ad9f95c09931625b41e3be1f88d1e28c5":[10,0,57,14], -"d5/d58/class_test_cases.html#aeabea90c02f9159e4a784bbf736e1e23":[10,0,57,3], -"d5/d58/class_test_cases.html#aeabea90c02f9159e4a784bbf736e1e23":[10,0,57,4], -"d5/d58/class_test_cases.html#aeabea90c02f9159e4a784bbf736e1e23":[10,0,57,5], -"d5/d58/persistent__seg__tree__lazy__prop_8cpp.html":[11,0,20,2], -"d5/d58/persistent__seg__tree__lazy__prop_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,20,2,3], -"d5/d58/persistent__seg__tree__lazy__prop_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,20,2,2], -"d5/d5f/namespacegeometry.html":[9,0,37], -"d5/d66/classrange__queries_1_1per_seg_tree_1_1_node.html":[9,0,101,1,0], -"d5/d66/classrange__queries_1_1per_seg_tree_1_1_node.html":[10,0,16,2,0], -"d5/d66/classrange__queries_1_1per_seg_tree_1_1_node.html#a9adb4639a0797e94a3e556b6b902c088":[9,0,101,1,0,0], -"d5/d66/classrange__queries_1_1per_seg_tree_1_1_node.html#a9adb4639a0797e94a3e556b6b902c088":[10,0,16,2,0,0], -"d5/d66/classrange__queries_1_1per_seg_tree_1_1_node.html#acc044f787c90b815773726d7fdfdaccf":[9,0,101,1,0,1], -"d5/d66/classrange__queries_1_1per_seg_tree_1_1_node.html#acc044f787c90b815773726d7fdfdaccf":[10,0,16,2,0,1], -"d5/d67/bayes__theorem_8cpp.html":[11,0,19,1], -"d5/d67/bayes__theorem_8cpp.html#a655bfe51252468d232dc639a340656ba":[11,0,19,1,0], -"d5/d67/bayes__theorem_8cpp.html#abb4f22dc05887c2259fdfc55c687598f":[11,0,19,1,1], -"d5/d67/bayes__theorem_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,19,1,2], -"d5/d67/complex__numbers_8cpp.html":[11,0,14,8], -"d5/d67/complex__numbers_8cpp.html#a44d5f25b573e870accdf26fd32b8484d":[11,0,14,8,3], -"d5/d67/complex__numbers_8cpp.html#a5a73e9d4e68af8cedb95bd0864054b89":[11,0,14,8,4], -"d5/d67/complex__numbers_8cpp.html#a5d4d5b8250b50703de888514c8e7a7a0":[11,0,14,8,1], -"d5/d67/complex__numbers_8cpp.html#a88ec9ad42717780d6caaff9d3d6977f9":[11,0,14,8,5], -"d5/d67/complex__numbers_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,14,8,2], -"d5/d7a/largest__power_8cpp.html":[11,0,14,30], -"d5/d7a/largest__power_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,14,30,2], -"d5/d7a/largest__power_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,14,30,1], -"d5/d7a/largest__power_8cpp.html#afa39ec943a4836c878e1614fd89b146f":[11,0,14,30,0], -"d5/d83/lcm__sum_8cpp.html":[11,0,14,31], -"d5/d83/lcm__sum_8cpp.html#a04065193d190d605e1f0d0d93a87e244":[11,0,14,31,0], -"d5/d83/lcm__sum_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,14,31,2], -"d5/d83/lcm__sum_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,14,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_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] +"d6/d26/classciphers_1_1_hill_cipher.html#a405b0a28d66a61239d3565d5256f9cb5":[9,0,13,1,6], +"d6/d26/classciphers_1_1_hill_cipher.html#a405b0a28d66a61239d3565d5256f9cb5":[10,0,1,1,6], +"d6/d26/classciphers_1_1_hill_cipher.html#a427acfac1dbff3f48a2b071d449d965b":[9,0,13,1,1], +"d6/d26/classciphers_1_1_hill_cipher.html#a427acfac1dbff3f48a2b071d449d965b":[10,0,1,1,1], +"d6/d26/classciphers_1_1_hill_cipher.html#a629be41c1ab78850963e4ce14e1d11d9":[9,0,13,1,12], +"d6/d26/classciphers_1_1_hill_cipher.html#a629be41c1ab78850963e4ce14e1d11d9":[10,0,1,1,12], +"d6/d26/classciphers_1_1_hill_cipher.html#a642f70fb54cb50b00fb6df7c3f2b120e":[9,0,13,1,5], +"d6/d26/classciphers_1_1_hill_cipher.html#a642f70fb54cb50b00fb6df7c3f2b120e":[10,0,1,1,5], +"d6/d26/classciphers_1_1_hill_cipher.html#a716d0313141499d16f57c0c107f04395":[9,0,13,1,11], +"d6/d26/classciphers_1_1_hill_cipher.html#a716d0313141499d16f57c0c107f04395":[10,0,1,1,11], +"d6/d26/classciphers_1_1_hill_cipher.html#a7760f3665651a0a37937c79c62f219c0":[9,0,13,1,3], +"d6/d26/classciphers_1_1_hill_cipher.html#a7760f3665651a0a37937c79c62f219c0":[10,0,1,1,3], +"d6/d26/classciphers_1_1_hill_cipher.html#aa8bbb6e4a5749f6008b06602d5103917":[9,0,13,1,2], +"d6/d26/classciphers_1_1_hill_cipher.html#aa8bbb6e4a5749f6008b06602d5103917":[10,0,1,1,2], +"d6/d26/classciphers_1_1_hill_cipher.html#ab02c7563889bf1e363deb8e21967b706":[9,0,13,1,4], +"d6/d26/classciphers_1_1_hill_cipher.html#ab02c7563889bf1e363deb8e21967b706":[10,0,1,1,4], +"d6/d26/classciphers_1_1_hill_cipher.html#ad36cbcc7a458b3f3a2af0c4aa1126590":[9,0,13,1,10], +"d6/d26/classciphers_1_1_hill_cipher.html#ad36cbcc7a458b3f3a2af0c4aa1126590":[10,0,1,1,10], +"d6/d26/classciphers_1_1_hill_cipher.html#ad667fa0860977f6d6d443fa1dbcd80aa":[9,0,13,1,0], +"d6/d26/classciphers_1_1_hill_cipher.html#ad667fa0860977f6d6d443fa1dbcd80aa":[10,0,1,1,0], +"d6/d26/classciphers_1_1_hill_cipher.html#ae77cad522fa44b8c985779a7188d2f41":[9,0,13,1,7], +"d6/d26/classciphers_1_1_hill_cipher.html#ae77cad522fa44b8c985779a7188d2f41":[10,0,1,1,7], +"d6/d26/house__robber_8cpp.html":[11,0,6,12], +"d6/d26/house__robber_8cpp.html#a1e497c3e3f169afe5baaae6a5d40cbc8":[11,0,6,12,0], +"d6/d26/house__robber_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,6,12,2], +"d6/d26/house__robber_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,6,12,1], +"d6/d26/house__robber_8cpp_source.html":[11,0,6,12], +"d6/d2c/caesar__cipher_8cpp.html":[11,0,2,3], +"d6/d2c/caesar__cipher_8cpp.html#a355e69511cd2006b5c4c80ae95b71056":[11,0,2,3,0], +"d6/d2c/caesar__cipher_8cpp.html#ac3381121289548640b1c27a58a8524c3":[11,0,2,3,1], +"d6/d2c/caesar__cipher_8cpp.html#ae1a3968e7947464bee7714f6d43b7002":[11,0,2,3,3], +"d6/d2c/caesar__cipher_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,2,3,2], +"d6/d2c/caesar__cipher_8cpp_source.html":[11,0,2,3], +"d6/d2d/modular__inverse__simple_8cpp.html":[11,0,14,40], +"d6/d2d/modular__inverse__simple_8cpp.html#a618b198f74a88ab0023355b3a05d9ad6":[11,0,14,40,0], +"d6/d2d/modular__inverse__simple_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,14,40,2], +"d6/d2d/modular__inverse__simple_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,14,40,1], +"d6/d2d/modular__inverse__simple_8cpp_source.html":[11,0,14,40], +"d6/d2e/fenwick__tree_8cpp.html":[11,0,20,0], +"d6/d2e/fenwick__tree_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e":[11,0,20,0,2], +"d6/d2e/fenwick__tree_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,20,0,1], +"d6/d2e/fenwick__tree_8cpp_source.html":[11,0,20,0], +"d6/d30/classmachine__learning_1_1adaline.html":[9,0,66,0], +"d6/d30/classmachine__learning_1_1adaline.html":[10,0,10,3], +"d6/d30/classmachine__learning_1_1adaline.html#a082f758fb55fe19f22b3df66f89b2325":[9,0,66,0,1], +"d6/d30/classmachine__learning_1_1adaline.html#a082f758fb55fe19f22b3df66f89b2325":[10,0,10,3,1], +"d6/d30/classmachine__learning_1_1adaline.html#a0acbe32aaab897e7939e5b0454035b8c":[9,0,66,0,0], +"d6/d30/classmachine__learning_1_1adaline.html#a0acbe32aaab897e7939e5b0454035b8c":[10,0,10,3,0], +"d6/d30/classmachine__learning_1_1adaline.html#a28160d17e492597a2f112e0d38551cda":[9,0,66,0,8], +"d6/d30/classmachine__learning_1_1adaline.html#a28160d17e492597a2f112e0d38551cda":[10,0,10,3,8], +"d6/d30/classmachine__learning_1_1adaline.html#a4cd8fe438032fedaa66f93bfd66f5492":[9,0,66,0,9], +"d6/d30/classmachine__learning_1_1adaline.html#a4cd8fe438032fedaa66f93bfd66f5492":[10,0,10,3,9], +"d6/d30/classmachine__learning_1_1adaline.html#a74e3c6c037b67895014414c5d75465e5":[9,0,66,0,3], +"d6/d30/classmachine__learning_1_1adaline.html#a74e3c6c037b67895014414c5d75465e5":[10,0,10,3,3], +"d6/d30/classmachine__learning_1_1adaline.html#a8d61f9ed872eef26bca39388cbda6a91":[9,0,66,0,4], +"d6/d30/classmachine__learning_1_1adaline.html#a8d61f9ed872eef26bca39388cbda6a91":[10,0,10,3,4], +"d6/d30/classmachine__learning_1_1adaline.html#aa23d60262f917f35836ef4b1c1d9f7d3":[9,0,66,0,7], +"d6/d30/classmachine__learning_1_1adaline.html#aa23d60262f917f35836ef4b1c1d9f7d3":[10,0,10,3,7], +"d6/d30/classmachine__learning_1_1adaline.html#ab11242d9ad5b03a75911e29b04f78fd3":[9,0,66,0,5], +"d6/d30/classmachine__learning_1_1adaline.html#ab11242d9ad5b03a75911e29b04f78fd3":[10,0,10,3,5], +"d6/d30/classmachine__learning_1_1adaline.html#ac8a9c2aaaa63b0f27ea176857e1e7d56":[9,0,66,0,2], +"d6/d30/classmachine__learning_1_1adaline.html#ac8a9c2aaaa63b0f27ea176857e1e7d56":[10,0,10,3,2], +"d6/d30/classmachine__learning_1_1adaline.html#ae347040516e995c8fb8ca2e5c0496daa":[9,0,66,0,6], +"d6/d30/classmachine__learning_1_1adaline.html#ae347040516e995c8fb8ca2e5c0496daa":[10,0,10,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], +"d6/d38/find__non__repeating__number_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,1,3,1], +"d6/d38/find__non__repeating__number_8cpp_source.html":[11,0,1,3], +"d6/d42/miller__rabin_8cpp.html":[11,0,14,36], +"d6/d42/miller__rabin_8cpp.html#a091662a787d5ad4866713021f580fddb":[11,0,14,36,4], +"d6/d42/miller__rabin_8cpp.html#a6f9c31c1047aa3191676d64571d4c506":[11,0,14,36,2], +"d6/d42/miller__rabin_8cpp.html#a88ec9ad42717780d6caaff9d3d6977f9":[11,0,14,36,5], +"d6/d42/miller__rabin_8cpp.html#a901288288ef5ebe8e97414cc30797cce":[11,0,14,36,1], +"d6/d42/miller__rabin_8cpp.html#ad6c2c67ea416d0e80003a88623f98b29":[11,0,14,36,3], +"d6/d42/miller__rabin_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,14,36,0], +"d6/d42/miller__rabin_8cpp_source.html":[11,0,14,36], +"d6/d45/structciphers_1_1elliptic__curve__key__exchange_1_1_point.html":[9,0,13,0,0], +"d6/d45/structciphers_1_1elliptic__curve__key__exchange_1_1_point.html":[10,0,1,0,0], +"d6/d45/structciphers_1_1elliptic__curve__key__exchange_1_1_point.html#a5084e9ca27837662c31d4dc003815446":[9,0,13,0,0,0], +"d6/d45/structciphers_1_1elliptic__curve__key__exchange_1_1_point.html#a5084e9ca27837662c31d4dc003815446":[10,0,1,0,0,0], +"d6/d45/structciphers_1_1elliptic__curve__key__exchange_1_1_point.html#af2142b27241b28f835e8ce78d7d6463c":[9,0,13,0,0,1], +"d6/d45/structciphers_1_1elliptic__curve__key__exchange_1_1_point.html#af2142b27241b28f835e8ce78d7d6463c":[10,0,1,0,0,1], +"d6/d4a/addition__rule_8cpp.html":[11,0,19,0], +"d6/d4a/addition__rule_8cpp.html#a4adfd055c758546456d440ee9133555d":[11,0,19,0,1], +"d6/d4a/addition__rule_8cpp.html#a565ffcbbdbe496ced37250bc8dc36bc0":[11,0,19,0,0], +"d6/d4a/addition__rule_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,19,0,2], +"d6/d4a/addition__rule_8cpp_source.html":[11,0,19,0], +"d6/d4e/easter_8cpp_source.html":[11,0,17,4], +"d6/d4e/namespaceciphers.html":[9,0,13], +"d6/d4e/namespaceciphers.html#ab9aec0ccf4b6809f652bb540be87c216":[9,0,13,2], +"d6/d50/_2_users_2runner_2work_2_c-_plus-_plus_2_c-_plus-_plus_2math_2iterative_factorial_8cpp-example.html":[12,1], +"d6/d53/namespaceword__break.html":[9,0,142], +"d6/d57/array__right__rotation_8cpp.html":[11,0,16,1], +"d6/d57/array__right__rotation_8cpp.html#a167c24bd817469ae47358d12e034f2d5":[11,0,16,1,4], +"d6/d57/array__right__rotation_8cpp.html#a1bfb8711f49e591eb168ccaa3df6fb86":[11,0,16,1,2], +"d6/d57/array__right__rotation_8cpp.html#a2b9769e44683dcb67fe1083ad91e134d":[11,0,16,1,7], +"d6/d57/array__right__rotation_8cpp.html#a6109193567a5b7e36a27f2b4865fce20":[11,0,16,1,1], +"d6/d57/array__right__rotation_8cpp.html#aa515639572647508b94986489aab6d76":[11,0,16,1,6], +"d6/d57/array__right__rotation_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,16,1,3], +"d6/d57/array__right__rotation_8cpp.html#abdd77344d4af8fd56d14a5cabbf2f669":[11,0,16,1,5], +"d6/d57/array__right__rotation_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,16,1,0], +"d6/d57/array__right__rotation_8cpp.html#af7b81d7a1534216af6a36a80135beb86":[11,0,16,1,8], +"d6/d57/array__right__rotation_8cpp_source.html":[11,0,16,1], +"d6/d60/group__ode.html":[8,2], +"d6/d60/group__ode.html#ga195d23bbdfcb80e83c9cda45c9ad5723":[8,2,1], +"d6/d60/group__ode.html#ga36ff0710861ca39d957046c0b09b2985":[8,2,2], +"d6/d60/group__ode.html#ga3874d294ab00fe9ce8731c5b7991a089":[8,2,4], +"d6/d60/group__ode.html#ga827bf009831ddc477c5fa8891d5cb35f":[8,2,5], +"d6/d60/group__ode.html#ga8c319db420c3d97a83e9dcca803b6812":[8,2,3], +"d6/d60/group__ode.html#gae0509f8843e2bc42de2abbd00a14b7b9":[8,2,0], +"d6/d74/library__sort_8cpp_source.html":[11,0,23,17], +"d6/d74/namespacekadane.html":[9,0,56], +"d6/d7a/golden__search__extrema_8cpp.html":[11,0,15,8], +"d6/d7a/golden__search__extrema_8cpp.html#a002b2f4894492820fe708b1b7e7c5e70":[11,0,15,8,0], +"d6/d7a/golden__search__extrema_8cpp.html#a0283886819c7c140a023582b7269e2d0":[11,0,15,8,4], +"d6/d7a/golden__search__extrema_8cpp.html#a1440a7779ac56f47a3f355ce4a8c7da0":[11,0,15,8,3], +"d6/d7a/golden__search__extrema_8cpp.html#a1aa76a6d5fd4d333f9072beff1dc486b":[11,0,15,8,1], +"d6/d7a/golden__search__extrema_8cpp.html#a6d0455dd5c30adda100e95f0423c786e":[11,0,15,8,5], +"d6/d7a/golden__search__extrema_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,15,8,2], +"d6/d7a/golden__search__extrema_8cpp_source.html":[11,0,15,8], +"d6/d80/double__hash__hash__table_8cpp.html":[11,0,12,1], +"d6/d80/double__hash__hash__table_8cpp.html#a0d90726ed1de7b3d2ae261baed048003":[11,0,12,1,5], +"d6/d80/double__hash__hash__table_8cpp.html#a1e901418c759627557eff359b8db38cd":[11,0,12,1,3], +"d6/d80/double__hash__hash__table_8cpp.html#a28083ecac6eb94b643281875c8665931":[11,0,12,1,11], +"d6/d80/double__hash__hash__table_8cpp.html#a29f543e2626bad58907661e1e45028a6":[11,0,12,1,12], +"d6/d80/double__hash__hash__table_8cpp.html#a33968a1178289ab61445dd4000df7082":[11,0,12,1,7], +"d6/d80/double__hash__hash__table_8cpp.html#a5d06e4598569526294f10104875f6824":[11,0,12,1,10], +"d6/d80/double__hash__hash__table_8cpp.html#a79a9c914a6c68275b3640303d7faad8a":[11,0,12,1,1], +"d6/d80/double__hash__hash__table_8cpp.html#a8f8ff4fb018e1bb32d67d8a1885d3200":[11,0,12,1,4], +"d6/d80/double__hash__hash__table_8cpp.html#a9c652b2e467e5d250dfe3bed83b12560":[11,0,12,1,2], +"d6/d80/double__hash__hash__table_8cpp.html#ac2adfce49ac57f6dbd1778d2c1ce0d2b":[11,0,12,1,8], +"d6/d80/double__hash__hash__table_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,12,1,6], +"d6/d80/double__hash__hash__table_8cpp.html#af4981819aae8bc7e7beeaef02615e30d":[11,0,12,1,9], +"d6/d80/double__hash__hash__table_8cpp_source.html":[11,0,12,1], +"d6/d84/classhashing_1_1sha256_1_1_hash.html":[10,0,8,0,0], +"d6/d84/classhashing_1_1sha256_1_1_hash.html#a0896c27ac39c780e0ee62417fdd0b9d3":[10,0,8,0,0,1], +"d6/d84/classhashing_1_1sha256_1_1_hash.html#a4581f503a263d8e928e5716d54477e08":[10,0,8,0,0,0], +"d6/d84/namespaceutils.html":[9,0,135], +"d6/d8d/namespacemorse.html":[9,0,79], +"d6/d9d/large__factorial_8cpp.html":[11,0,14,29], +"d6/d9d/large__factorial_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97":[11,0,14,29,0], +"d6/d9d/large__factorial_8cpp.html#a3f93b60e229b6683e24c4754a7106ee8":[11,0,14,29,1], +"d6/d9d/large__factorial_8cpp.html#a76aae4778fbe89a3d59fd61fbc050cfa":[11,0,14,29,2], +"d6/d9d/large__factorial_8cpp_source.html":[11,0,14,29], +"d6/da2/namespacevigenere.html":[9,0,137], +"d6/da9/odd__even__sort_8cpp_source.html":[11,0,23,22], +"d6/dab/namespacetree__234.html":[9,0,131], +"d6/dae/classothers_1_1lru__cache_1_1_l_r_u_cache.html":[10,0,13,2,0], +"d6/dae/classothers_1_1lru__cache_1_1_l_r_u_cache.html#a09cbe562b0c396329607f5d388d57c9c":[10,0,13,2,0,7], +"d6/dae/classothers_1_1lru__cache_1_1_l_r_u_cache.html#a1aafd0444b410e0fcb66287e9954c893":[10,0,13,2,0,8], +"d6/dae/classothers_1_1lru__cache_1_1_l_r_u_cache.html#a3ee3560a6b90e6f50f6e063d690ba8e8":[10,0,13,2,0,5], +"d6/dae/classothers_1_1lru__cache_1_1_l_r_u_cache.html#a41c9b6f1693b8a316cc4a2d8c9149ba4":[10,0,13,2,0,0], +"d6/dae/classothers_1_1lru__cache_1_1_l_r_u_cache.html#a5f33913e7ddfbb38062362e7bd859154":[10,0,13,2,0,6], +"d6/dae/classothers_1_1lru__cache_1_1_l_r_u_cache.html#a78be932dac71c90f485a67d4fda877e2":[10,0,13,2,0,3], +"d6/dae/classothers_1_1lru__cache_1_1_l_r_u_cache.html#a7dbf04bf7e1472c48639694f0b110602":[10,0,13,2,0,4], +"d6/dae/classothers_1_1lru__cache_1_1_l_r_u_cache.html#aa24a141455b9fbcbec22392c28d04933":[10,0,13,2,0,2], +"d6/dae/classothers_1_1lru__cache_1_1_l_r_u_cache.html#aa4d6db56109af196ffc7e5f72bc9907c":[10,0,13,2,0,9], +"d6/dae/classothers_1_1lru__cache_1_1_l_r_u_cache.html#aad506b1c1a3cd5b93cc7e497626bfb53":[10,0,13,2,0,1], +"d6/db0/binomial__dist_8cpp.html":[11,0,19,2], +"d6/db0/binomial__dist_8cpp.html#a19ae0a6a2bd200fd1eb0e31b2bf4cc76":[11,0,19,2,4], +"d6/db0/binomial__dist_8cpp.html#a4416a7bc7fa87201883c54cdc4c82813":[11,0,19,2,0], +"d6/db0/binomial__dist_8cpp.html#a76ed6ce71415fb400b65f0656cef3d25":[11,0,19,2,1], +"d6/db0/binomial__dist_8cpp.html#a78d36635232e54b5d71fcbf1eac9a49a":[11,0,19,2,6], +"d6/db0/binomial__dist_8cpp.html#acd4dd4558031e4c5d045c801f73d8861":[11,0,19,2,3], +"d6/db0/binomial__dist_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,19,2,5], +"d6/db0/binomial__dist_8cpp.html#af09e51f513cee647d41192ab0a872cdc":[11,0,19,2,2], +"d6/db0/binomial__dist_8cpp_source.html":[11,0,19,2], +"d6/db8/inv__sqrt_8cpp.html":[11,0,14,27], +"d6/db8/inv__sqrt_8cpp.html#aa2703e5cf3fecde8becd9066b9666b97":[11,0,14,27,2], +"d6/db8/inv__sqrt_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,14,27,3], +"d6/db8/inv__sqrt_8cpp.html#ad219034bf5fba657f5035ec5a1d50f52":[11,0,14,27,0], +"d6/db8/inv__sqrt_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,14,27,1], +"d6/db8/inv__sqrt_8cpp_source.html":[11,0,14,27], +"d6/dba/jump__game_8cpp.html":[11,0,11,6], +"d6/dba/jump__game_8cpp.html#a33e3819aa9ffec0e380383c52603b502":[11,0,11,6,0], +"d6/dba/jump__game_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,11,6,2], +"d6/dba/jump__game_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,11,6,1], +"d6/dba/jump__game_8cpp_source.html":[11,0,11,6], +"d6/dc1/classmath_1_1ncr__modulo__p_1_1_n_c_r_modulo_p.html":[10,0,11,0,0], +"d6/dc1/classmath_1_1ncr__modulo__p_1_1_n_c_r_modulo_p.html#a499df7a01bcd348345dc5a0ab79bb0e9":[10,0,11,0,0,2], +"d6/dc1/classmath_1_1ncr__modulo__p_1_1_n_c_r_modulo_p.html#a738a5f59bb3560c81cdb7f43bcfe9fec":[10,0,11,0,0,3], +"d6/dc1/classmath_1_1ncr__modulo__p_1_1_n_c_r_modulo_p.html#a94b07e7dc61d8d7a1e9c5a28988e72f9":[10,0,11,0,0,0], +"d6/dc1/classmath_1_1ncr__modulo__p_1_1_n_c_r_modulo_p.html#ab5744fa589f6a48f9fe7bca13dbe661f":[10,0,11,0,0,1], +"d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html":[3], +"d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md22":[3,0], +"d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md23":[3,1], +"d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md24":[3,1,0], +"d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md25":[3,1,1], +"d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md26":[3,1,2], +"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,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,24,6], +"d6/dce/rabin__karp_8cpp.html#a21c673d56cbf67b1d2ee4d869185b7d9":[11,0,24,6,4], +"d6/dce/rabin__karp_8cpp.html#a840291bc02cba5474a4cb46a9b9566fe":[11,0,24,6,3], +"d6/dce/rabin__karp_8cpp.html#a8fb0bc932ba8b582c9f4c71338d050f8":[11,0,24,6,2], +"d6/dce/rabin__karp_8cpp.html#ac4add2a227a10511e0128d63952030e8":[11,0,24,6,0], +"d6/dce/rabin__karp_8cpp.html#aebe07cea289a13142503d98be7df11fd":[11,0,24,6,1], +"d6/dce/rabin__karp_8cpp.html#aed769d565b705a9b3e0eb1ec74088893":[11,0,24,6,5], +"d6/dce/rabin__karp_8cpp_source.html":[11,0,24,6], +"d6/dd3/ode__midpoint__euler_8cpp.html":[11,0,15,16], +"d6/dd3/ode__midpoint__euler_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97":[11,0,15,16,1], +"d6/dd3/ode__midpoint__euler_8cpp.html#aa13517b8e5de1b75592052db7f7e237f":[11,0,15,16,5], +"d6/dd3/ode__midpoint__euler_8cpp.html#abaeae8f62a018d197f0187a1c80a90fe":[11,0,15,16,4], +"d6/dd3/ode__midpoint__euler_8cpp.html#af3adf7b092a87868917ee5fb4255192b":[11,0,15,16,0], +"d6/dd3/ode__midpoint__euler_8cpp_source.html":[11,0,15,16], +"d6/dd6/namespacestring.html":[9,0,120], +"d6/dd6/namespacestring.html#ac2a35302e6bed93c4b2c6f55a21a5632":[9,0,120,0], +"d6/dd8/is__graph__bipartite_8cpp.html":[11,0,9,11], +"d6/dd8/is__graph__bipartite_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,9,11,2], +"d6/dd8/is__graph__bipartite_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,9,11,1], +"d6/dd8/is__graph__bipartite_8cpp_source.html":[11,0,9,11], +"d7/d00/list__array_8cpp.html":[11,0,4,13], +"d7/d00/list__array_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,4,13,2], +"d7/d00/list__array_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,4,13,1], +"d7/d00/list__array_8cpp_source.html":[11,0,4,13], +"d7/d07/bidirectional__dijkstra_8cpp.html":[11,0,9,0], +"d7/d07/bidirectional__dijkstra_8cpp.html#a1b2df3d52a403ad46523ab90d3a723c1":[11,0,9,0,1], +"d7/d07/bidirectional__dijkstra_8cpp.html#a22f1b7277e1dd4190f25014b48487ce6":[11,0,9,0,3], +"d7/d07/bidirectional__dijkstra_8cpp.html#a330a2b0a904f01802ada1f8f3b28e76c":[11,0,9,0,5], +"d7/d07/bidirectional__dijkstra_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e":[11,0,9,0,4], +"d7/d07/bidirectional__dijkstra_8cpp.html#a69172365aebde9be1997157f6f80e0cf":[11,0,9,0,0], +"d7/d07/bidirectional__dijkstra_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,9,0,2], +"d7/d07/bidirectional__dijkstra_8cpp_source.html":[11,0,9,0], +"d7/d08/namespacegraph__coloring.html":[9,0,40], +"d7/d0a/namespacetrie__using__hashmap.html":[9,0,133], +"d7/d1b/md__r_e_v_i_e_w_e_r___c_o_d_e.html":[6], +"d7/d24/nqueen__print__all__solutions_8cpp.html":[11,0,0,7], +"d7/d24/nqueen__print__all__solutions_8cpp.html#acc809c055f335011de0d9030034c7108":[11,0,0,7,2], +"d7/d24/nqueen__print__all__solutions_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,0,7,1], +"d7/d24/nqueen__print__all__solutions_8cpp.html#aea343d8a72a39c9a4c0fbcbc362f2648":[11,0,0,7,0], +"d7/d24/nqueen__print__all__solutions_8cpp.html#aebd5e11fab6dab282efccfb61beb0bd9":[11,0,0,7,3], +"d7/d24/nqueen__print__all__solutions_8cpp_source.html":[11,0,0,7], +"d7/d35/matrix__exponentiation_8cpp.html":[11,0,17,14], +"d7/d35/matrix__exponentiation_8cpp.html#a276c5a0e984cf60015b27252fe04fe6b":[11,0,17,14,2], +"d7/d35/matrix__exponentiation_8cpp.html#a357cfbebfdc47a237a2862fe146af252":[11,0,17,14,5], +"d7/d35/matrix__exponentiation_8cpp.html#a35b7c98af53ad2ec18658679ad7d43de":[11,0,17,14,7], +"d7/d35/matrix__exponentiation_8cpp.html#a600eaf353befc174637855795f12d258":[11,0,17,14,0] }; diff --git a/navtreeindex6.js b/navtreeindex6.js index d13397d98..e8373d3ef 100644 --- a/navtreeindex6.js +++ b/navtreeindex6.js @@ -1,253 +1,253 @@ var NAVTREEINDEX6 = { -"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/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md68":[4,22], -"d5/d89/namespacepalindrome__partitioning.html":[9,0,89], -"d5/d8a/classothers_1_1postfix__expression_1_1_stack.html":[10,0,13,3,0], -"d5/d8a/classothers_1_1postfix__expression_1_1_stack.html#a6ae98710503b894b843d01cb69d5490c":[10,0,13,3,0,1], -"d5/d8a/classothers_1_1postfix__expression_1_1_stack.html#af06360122e20ce2ba32c574a27a20ba1":[10,0,13,3,0,0], -"d5/d8a/trie__using__hashmap_8cpp.html":[11,0,4,25], -"d5/d8a/trie__using__hashmap_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,4,25,3], -"d5/d8a/trie__using__hashmap_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,4,25,2], -"d5/d90/palindrome__partitioning_8cpp.html":[11,0,6,13], -"d5/d90/palindrome__partitioning_8cpp.html#a52ee22882858d2b1cf04293f02ed839a":[11,0,6,13,1], -"d5/d90/palindrome__partitioning_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,6,13,2], -"d5/d90/palindrome__partitioning_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,6,13,0], -"d5/d91/namespacesorting.html":[8,3,2], -"d5/d91/namespacesorting.html#a034d8b276518a902962e87d3158b64fd":[9,0,113,0], -"d5/d91/namespacesorting.html#a0e9e1b21a1684585e9e50f9afe4d53a3":[9,0,113,12], -"d5/d91/namespacesorting.html#a140d913e42fb94176a0b2c8b29a80420":[9,0,113,9], -"d5/d91/namespacesorting.html#a263595fd9a0163b5b997b89fab3a0dc5":[9,0,113,6], -"d5/d91/namespacesorting.html#a27236b8d3df3832e1f1225576a122534":[9,0,113,10], -"d5/d91/namespacesorting.html#a2f8bc626eb57acae24a94636a23af6a1":[9,0,113,2], -"d5/d91/namespacesorting.html#a4d76603c54d3dc56146e92d10a043924":[9,0,113,19], -"d5/d91/namespacesorting.html#a5669396c6a6b1e14b97589b6e37980aa":[9,0,113,18], -"d5/d91/namespacesorting.html#a5f4bc75cca6dd8294af2d0e328006c68":[9,0,113,5], -"d5/d91/namespacesorting.html#a6eb67c2f91c98cf4464f75b5882022de":[9,0,113,14], -"d5/d91/namespacesorting.html#a78cb2f3b97b6db2c062b2a1df05c9ea9":[9,0,113,4], -"d5/d91/namespacesorting.html#a7bfe11bd4703eacd1dab93f25ec639c5":[9,0,113,20], -"d5/d91/namespacesorting.html#a8fe6bac9e03f58abcc2ce26ef3de1b5f":[9,0,113,3], -"d5/d91/namespacesorting.html#a9f59fe72dacc1f1218ef3c303d843168":[9,0,113,13], -"d5/d91/namespacesorting.html#aa26de383227859210f14dcf12201a079":[9,0,113,7], -"d5/d91/namespacesorting.html#aa3677f87b5b4756bc77e9e34c5f27935":[9,0,113,1], -"d5/d91/namespacesorting.html#aac8f44b28b4aa96444383030b28f8b34":[9,0,113,11], -"d5/d91/namespacesorting.html#ae3a775d99dbbb94c130a973df0cfddcf":[9,0,113,16], -"d5/d91/namespacesorting.html#ae97f4dd815654c4682f564afd718e824":[9,0,113,8], -"d5/d91/namespacesorting.html#af2c5b92cbfe73f63f6074c61b0a45331":[9,0,113,17], -"d5/d91/namespacesorting.html#affc6ee160142cd017f8c4b213437d0fd":[9,0,113,15], -"d5/d95/structdata__structures_1_1treap_1_1_treap.html":[9,0,21,0,0], -"d5/d95/structdata__structures_1_1treap_1_1_treap.html":[10,0,2,5,0], -"d5/d95/structdata__structures_1_1treap_1_1_treap.html#a1ab082fe0aa95a238bbbc68ab6a72425":[9,0,21,0,0,19], -"d5/d95/structdata__structures_1_1treap_1_1_treap.html#a1ab082fe0aa95a238bbbc68ab6a72425":[10,0,2,5,0,19], -"d5/d95/structdata__structures_1_1treap_1_1_treap.html#a3081969b2714a8101f7df28b1ce5ed2c":[9,0,21,0,0,17], -"d5/d95/structdata__structures_1_1treap_1_1_treap.html#a3081969b2714a8101f7df28b1ce5ed2c":[10,0,2,5,0,17], -"d5/d95/structdata__structures_1_1treap_1_1_treap.html#a32db3ba3b2630943faacd27b2ecd1b04":[9,0,21,0,0,15], -"d5/d95/structdata__structures_1_1treap_1_1_treap.html#a32db3ba3b2630943faacd27b2ecd1b04":[10,0,2,5,0,15], -"d5/d95/structdata__structures_1_1treap_1_1_treap.html#a5d200493aeaa02a269f6b6deda39a683":[9,0,21,0,0,0], -"d5/d95/structdata__structures_1_1treap_1_1_treap.html#a5d200493aeaa02a269f6b6deda39a683":[10,0,2,5,0,0], -"d5/d95/structdata__structures_1_1treap_1_1_treap.html#a5e884d2686aff501ef589b0d1185492f":[9,0,21,0,0,10], -"d5/d95/structdata__structures_1_1treap_1_1_treap.html#a5e884d2686aff501ef589b0d1185492f":[10,0,2,5,0,10], -"d5/d95/structdata__structures_1_1treap_1_1_treap.html#a6a023a4f0c42fb8ed5b3368fba1a5f2c":[9,0,21,0,0,4], -"d5/d95/structdata__structures_1_1treap_1_1_treap.html#a6a023a4f0c42fb8ed5b3368fba1a5f2c":[10,0,2,5,0,4], -"d5/d95/structdata__structures_1_1treap_1_1_treap.html#a75a48584a6560de20484fbba6229fd29":[9,0,21,0,0,11], -"d5/d95/structdata__structures_1_1treap_1_1_treap.html#a75a48584a6560de20484fbba6229fd29":[10,0,2,5,0,11], -"d5/d95/structdata__structures_1_1treap_1_1_treap.html#a767b28f9911fc32b8462862be058a4a4":[9,0,21,0,0,7], -"d5/d95/structdata__structures_1_1treap_1_1_treap.html#a767b28f9911fc32b8462862be058a4a4":[10,0,2,5,0,7], -"d5/d95/structdata__structures_1_1treap_1_1_treap.html#a8be70f0a25e53e870e97d8d23968d723":[9,0,21,0,0,16], -"d5/d95/structdata__structures_1_1treap_1_1_treap.html#a8be70f0a25e53e870e97d8d23968d723":[10,0,2,5,0,16], -"d5/d95/structdata__structures_1_1treap_1_1_treap.html#a9a77d22f97add119123108211c6655ec":[9,0,21,0,0,3], -"d5/d95/structdata__structures_1_1treap_1_1_treap.html#a9a77d22f97add119123108211c6655ec":[10,0,2,5,0,3], -"d5/d95/structdata__structures_1_1treap_1_1_treap.html#a9ea2becd904e2e7d22f23a001b444469":[9,0,21,0,0,5], -"d5/d95/structdata__structures_1_1treap_1_1_treap.html#a9ea2becd904e2e7d22f23a001b444469":[10,0,2,5,0,5], -"d5/d95/structdata__structures_1_1treap_1_1_treap.html#aae9facaede462ad924856c4d707646d7":[9,0,21,0,0,12], -"d5/d95/structdata__structures_1_1treap_1_1_treap.html#aae9facaede462ad924856c4d707646d7":[10,0,2,5,0,12], -"d5/d95/structdata__structures_1_1treap_1_1_treap.html#ab2db3ad3aecc240011e0c8b8604d2c69":[9,0,21,0,0,6], -"d5/d95/structdata__structures_1_1treap_1_1_treap.html#ab2db3ad3aecc240011e0c8b8604d2c69":[10,0,2,5,0,6], -"d5/d95/structdata__structures_1_1treap_1_1_treap.html#ab8b9899f22070cfa01db5bf874296126":[9,0,21,0,0,8], -"d5/d95/structdata__structures_1_1treap_1_1_treap.html#ab8b9899f22070cfa01db5bf874296126":[10,0,2,5,0,8], -"d5/d95/structdata__structures_1_1treap_1_1_treap.html#ab99f68b79e1c4ff0f1cd6f2f0b6a545f":[9,0,21,0,0,13], -"d5/d95/structdata__structures_1_1treap_1_1_treap.html#ab99f68b79e1c4ff0f1cd6f2f0b6a545f":[10,0,2,5,0,13], -"d5/d95/structdata__structures_1_1treap_1_1_treap.html#ac94e9d69305940f6d8804031455af039":[9,0,21,0,0,9], -"d5/d95/structdata__structures_1_1treap_1_1_treap.html#ac94e9d69305940f6d8804031455af039":[10,0,2,5,0,9], -"d5/d95/structdata__structures_1_1treap_1_1_treap.html#ad08520c0617eb8dcfcbfa90d258aa6b2":[9,0,21,0,0,2], -"d5/d95/structdata__structures_1_1treap_1_1_treap.html#ad08520c0617eb8dcfcbfa90d258aa6b2":[10,0,2,5,0,2], -"d5/d95/structdata__structures_1_1treap_1_1_treap.html#aeb4bb0db68c7c04ef9498c88c3777887":[9,0,21,0,0,1], -"d5/d95/structdata__structures_1_1treap_1_1_treap.html#aeb4bb0db68c7c04ef9498c88c3777887":[10,0,2,5,0,1], -"d5/d95/structdata__structures_1_1treap_1_1_treap.html#af5f0b8263339485989f8a02ae026114c":[9,0,21,0,0,18], -"d5/d95/structdata__structures_1_1treap_1_1_treap.html#af5f0b8263339485989f8a02ae026114c":[10,0,2,5,0,18], -"d5/d95/structdata__structures_1_1treap_1_1_treap.html#af7e6c6620ab32bc96633d101245fa919":[9,0,21,0,0,14], -"d5/d95/structdata__structures_1_1treap_1_1_treap.html#af7e6c6620ab32bc96633d101245fa919":[10,0,2,5,0,14], -"d5/d96/md5_8cpp.html":[11,0,12,3], -"d5/d96/md5_8cpp.html#a5341431cef7fcfc33794326e1deb2425":[11,0,12,3,1], -"d5/d96/md5_8cpp.html#a694712c9665051ba52b686387b87a689":[11,0,12,3,8], -"d5/d96/md5_8cpp.html#a6be48c1e6e742f9bd329f501d61dcaef":[11,0,12,3,9], -"d5/d96/md5_8cpp.html#a88705fab5f92adf3427b4cf76ff33edb":[11,0,12,3,0], -"d5/d96/md5_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,12,3,7], -"d5/d96/md5_8cpp.html#aaee69c6136a841043f956de32116e348":[11,0,12,3,6], -"d5/d96/md5_8cpp.html#ac9e1a11f44135b890dd10a00e73b5661":[11,0,12,3,2], -"d5/d96/md5_8cpp.html#add2bf982d5dd64a45d13cba52c2b371d":[11,0,12,3,4], -"d5/d96/md5_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,12,3,5], -"d5/d96/md5_8cpp.html#af8e96bde0183c4b0a7ff04668f11e446":[11,0,12,3,3], -"d5/da1/structnode.html":[10,0,46], -"d5/da7/namespacejarvis.html":[9,0,54], -"d5/dab/structdata__structures_1_1list__array_1_1list.html":[10,0,2,1,0], -"d5/dab/structdata__structures_1_1list__array_1_1list.html#a0b7acf65026df1e9dd13eebf309dda5e":[10,0,2,1,0,4], -"d5/dab/structdata__structures_1_1list__array_1_1list.html#a133635ad53bd89e3947ca02448819180":[10,0,2,1,0,5], -"d5/dab/structdata__structures_1_1list__array_1_1list.html#a412bdb3910181f3c384d86aee7e217cf":[10,0,2,1,0,0], -"d5/dab/structdata__structures_1_1list__array_1_1list.html#a98f7d9079c0868e0f4e67d5c52174fb6":[10,0,2,1,0,3], -"d5/dab/structdata__structures_1_1list__array_1_1list.html#aa960d714d449612f25256850d72325f1":[10,0,2,1,0,1], -"d5/dab/structdata__structures_1_1list__array_1_1list.html#ad202ae68fe8d98082afa9dafea9e22b9":[10,0,2,1,0,2], -"d5/db0/adaline__learning_8cpp.html":[8,1,0], -"d5/db5/classoperations__on__datastructures_1_1inorder__traversal__of__bst_1_1_node.html":[10,0,12,1,0], -"d5/db5/classoperations__on__datastructures_1_1inorder__traversal__of__bst_1_1_node.html#a9b4ae6f5179a1c8ecfd563811a59e6c0":[10,0,12,1,0,2], -"d5/db5/classoperations__on__datastructures_1_1inorder__traversal__of__bst_1_1_node.html#a9ccef4c746b7226488b014f5bac4789a":[10,0,12,1,0,1], -"d5/db5/classoperations__on__datastructures_1_1inorder__traversal__of__bst_1_1_node.html#ae161f3e5ef33ade73429cab9291612e2":[10,0,12,1,0,0], -"d5/db5/set__kth__bit_8cpp.html":[11,0,1,7], -"d5/db5/set__kth__bit_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,1,7,2], -"d5/db5/set__kth__bit_8cpp.html#ad4d0ffd9331242c42a28834ee19f5fd9":[11,0,1,7,1], -"d5/db5/set__kth__bit_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,1,7,0], -"d5/db8/namespacemincoins__topdown.html":[9,0,74], -"d5/dd0/namespacephysics.html":[9,0,91], -"d5/ddb/bogo__sort_8cpp.html":[11,0,22,1], -"d5/ddb/bogo__sort_8cpp.html#a7bfe11bd4703eacd1dab93f25ec639c5":[11,0,22,1,3], -"d5/ddb/bogo__sort_8cpp.html#ae1a3968e7947464bee7714f6d43b7002":[11,0,22,1,4], -"d5/ddb/bogo__sort_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,22,1,0], -"d5/ddb/bogo__sort_8cpp.html#ae8adaeff66471f9ed84f2e673b38a859":[11,0,22,1,2], -"d5/ddb/bogo__sort_8cpp.html#affc6ee160142cd017f8c4b213437d0fd":[11,0,22,1,1], -"d5/dec/classgraph_1_1topological__sort_1_1_graph.html":[10,0,6,1,0], -"d5/dec/classgraph_1_1topological__sort_1_1_graph.html#a57036210706a45b9363563252393a345":[10,0,6,1,0,1], -"d5/dec/classgraph_1_1topological__sort_1_1_graph.html#a5e84b175ef768ff58eaeededd43e8368":[10,0,6,1,0,2], -"d5/dec/classgraph_1_1topological__sort_1_1_graph.html#a75a849f80a66304e7da39b3ccd6129d6":[10,0,6,1,0,0], -"d5/dec/classgraph_1_1topological__sort_1_1_graph.html#ad22018e4f4f80aecb0538044bb83d096":[10,0,6,1,0,3], -"d5/def/stairs__pattern_8cpp.html":[11,0,17,23], -"d5/def/stairs__pattern_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,17,23,0], -"d5/df4/merge__sort_8cpp.html":[8,3,0], -"d5/df6/check__amicable__pair_8cpp.html":[11,0,14,5], -"d5/df6/check__amicable__pair_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e":[11,0,14,5,3], -"d5/df6/check__amicable__pair_8cpp.html#a8e6eede206201db0d1dbb618fa969bec":[11,0,14,5,0], -"d5/df6/check__amicable__pair_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,14,5,1], -"d5/df6/check__amicable__pair_8cpp.html#af05567415a9ea36c254b54e3d5a2152a":[11,0,14,5,2], -"d6/d04/classdata__structures_1_1queue__using__array_1_1_queue___array.html":[10,0,2,2,0], -"d6/d04/classdata__structures_1_1queue__using__array_1_1_queue___array.html#a2aaf88c9954ef3ab686f8e4bfbd87622":[10,0,2,2,0,0], -"d6/d04/classdata__structures_1_1queue__using__array_1_1_queue___array.html#a2f676f2f249eb36dfd49711a03e9e67e":[10,0,2,2,0,4], -"d6/d04/classdata__structures_1_1queue__using__array_1_1_queue___array.html#a4dc64488c36f84d927365fa8d1933663":[10,0,2,2,0,2], -"d6/d04/classdata__structures_1_1queue__using__array_1_1_queue___array.html#a688b7ea064739ea9fa66bf64bf4ae631":[10,0,2,2,0,1], -"d6/d04/classdata__structures_1_1queue__using__array_1_1_queue___array.html#a9883dfcceede9a42227d2d313ae86f85":[10,0,2,2,0,5], -"d6/d04/classdata__structures_1_1queue__using__array_1_1_queue___array.html#ae69a0bf6c9921b37c516c8a4d2fb904d":[10,0,2,2,0,3], -"d6/d05/reverse__a__linked__list_8cpp.html":[11,0,4,16], -"d6/d05/reverse__a__linked__list_8cpp.html#a7f80d9712cc7d77399dcacb4c2917511":[11,0,4,16,2], -"d6/d05/reverse__a__linked__list_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,4,16,4], -"d6/d05/reverse__a__linked__list_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,4,16,3], -"d6/d0c/namespacehashing.html":[9,0,45], -"d6/d10/cut__rod_8cpp.html":[11,0,6,5], -"d6/d10/cut__rod_8cpp.html#a1cc523a30c18c63eac58220c3c494cfa":[11,0,6,5,1], -"d6/d10/cut__rod_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,6,5,2], -"d6/d10/cut__rod_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,6,5,0], -"d6/d1a/dnf__sort_8cpp.html":[11,0,22,6], -"d6/d1a/dnf__sort_8cpp.html#a621767fe711db64fe57a2ac4987b11f0":[11,0,22,6,0], -"d6/d1a/dnf__sort_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,22,6,2], -"d6/d1a/dnf__sort_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,22,6,1], -"d6/d26/classciphers_1_1_hill_cipher.html":[9,0,13,1], -"d6/d26/classciphers_1_1_hill_cipher.html":[10,0,1,1], -"d6/d26/classciphers_1_1_hill_cipher.html#a12f727cca9e21f9539cd74b6603adf0c":[9,0,13,1,8], -"d6/d26/classciphers_1_1_hill_cipher.html#a12f727cca9e21f9539cd74b6603adf0c":[10,0,1,1,8], -"d6/d26/classciphers_1_1_hill_cipher.html#a2eb58750b978a93ac5e6eb29e3e570b7":[9,0,13,1,9], -"d6/d26/classciphers_1_1_hill_cipher.html#a2eb58750b978a93ac5e6eb29e3e570b7":[10,0,1,1,9], -"d6/d26/classciphers_1_1_hill_cipher.html#a405b0a28d66a61239d3565d5256f9cb5":[9,0,13,1,6], -"d6/d26/classciphers_1_1_hill_cipher.html#a405b0a28d66a61239d3565d5256f9cb5":[10,0,1,1,6], -"d6/d26/classciphers_1_1_hill_cipher.html#a427acfac1dbff3f48a2b071d449d965b":[9,0,13,1,1], -"d6/d26/classciphers_1_1_hill_cipher.html#a427acfac1dbff3f48a2b071d449d965b":[10,0,1,1,1], -"d6/d26/classciphers_1_1_hill_cipher.html#a629be41c1ab78850963e4ce14e1d11d9":[9,0,13,1,12], -"d6/d26/classciphers_1_1_hill_cipher.html#a629be41c1ab78850963e4ce14e1d11d9":[10,0,1,1,12], -"d6/d26/classciphers_1_1_hill_cipher.html#a642f70fb54cb50b00fb6df7c3f2b120e":[9,0,13,1,5], -"d6/d26/classciphers_1_1_hill_cipher.html#a642f70fb54cb50b00fb6df7c3f2b120e":[10,0,1,1,5], -"d6/d26/classciphers_1_1_hill_cipher.html#a716d0313141499d16f57c0c107f04395":[9,0,13,1,11], -"d6/d26/classciphers_1_1_hill_cipher.html#a716d0313141499d16f57c0c107f04395":[10,0,1,1,11], -"d6/d26/classciphers_1_1_hill_cipher.html#a7760f3665651a0a37937c79c62f219c0":[9,0,13,1,3], -"d6/d26/classciphers_1_1_hill_cipher.html#a7760f3665651a0a37937c79c62f219c0":[10,0,1,1,3], -"d6/d26/classciphers_1_1_hill_cipher.html#aa8bbb6e4a5749f6008b06602d5103917":[9,0,13,1,2], -"d6/d26/classciphers_1_1_hill_cipher.html#aa8bbb6e4a5749f6008b06602d5103917":[10,0,1,1,2], -"d6/d26/classciphers_1_1_hill_cipher.html#ab02c7563889bf1e363deb8e21967b706":[9,0,13,1,4], -"d6/d26/classciphers_1_1_hill_cipher.html#ab02c7563889bf1e363deb8e21967b706":[10,0,1,1,4], -"d6/d26/classciphers_1_1_hill_cipher.html#ad36cbcc7a458b3f3a2af0c4aa1126590":[9,0,13,1,10], -"d6/d26/classciphers_1_1_hill_cipher.html#ad36cbcc7a458b3f3a2af0c4aa1126590":[10,0,1,1,10], -"d6/d26/classciphers_1_1_hill_cipher.html#ad667fa0860977f6d6d443fa1dbcd80aa":[9,0,13,1,0], -"d6/d26/classciphers_1_1_hill_cipher.html#ad667fa0860977f6d6d443fa1dbcd80aa":[10,0,1,1,0], -"d6/d26/classciphers_1_1_hill_cipher.html#ae77cad522fa44b8c985779a7188d2f41":[9,0,13,1,7], -"d6/d26/classciphers_1_1_hill_cipher.html#ae77cad522fa44b8c985779a7188d2f41":[10,0,1,1,7], -"d6/d26/house__robber_8cpp.html":[11,0,6,6], -"d6/d26/house__robber_8cpp.html#a1e497c3e3f169afe5baaae6a5d40cbc8":[11,0,6,6,0], -"d6/d26/house__robber_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,6,6,2], -"d6/d26/house__robber_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,6,6,1], -"d6/d2c/caesar__cipher_8cpp.html":[11,0,2,2], -"d6/d2c/caesar__cipher_8cpp.html#a355e69511cd2006b5c4c80ae95b71056":[11,0,2,2,0], -"d6/d2c/caesar__cipher_8cpp.html#ac3381121289548640b1c27a58a8524c3":[11,0,2,2,1], -"d6/d2c/caesar__cipher_8cpp.html#ae1a3968e7947464bee7714f6d43b7002":[11,0,2,2,3], -"d6/d2c/caesar__cipher_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,2,2,2], -"d6/d2d/modular__inverse__simple_8cpp.html":[11,0,14,38], -"d6/d2d/modular__inverse__simple_8cpp.html#a618b198f74a88ab0023355b3a05d9ad6":[11,0,14,38,0], -"d6/d2d/modular__inverse__simple_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,14,38,2], -"d6/d2d/modular__inverse__simple_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,14,38,1], -"d6/d2e/fenwick__tree_8cpp.html":[11,0,20,0], -"d6/d2e/fenwick__tree_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e":[11,0,20,0,2], -"d6/d2e/fenwick__tree_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,20,0,1], -"d6/d30/classmachine__learning_1_1adaline.html":[9,0,66,0], -"d6/d30/classmachine__learning_1_1adaline.html":[10,0,10,3], -"d6/d30/classmachine__learning_1_1adaline.html#a082f758fb55fe19f22b3df66f89b2325":[9,0,66,0,1], -"d6/d30/classmachine__learning_1_1adaline.html#a082f758fb55fe19f22b3df66f89b2325":[10,0,10,3,1], -"d6/d30/classmachine__learning_1_1adaline.html#a0acbe32aaab897e7939e5b0454035b8c":[9,0,66,0,0], -"d6/d30/classmachine__learning_1_1adaline.html#a0acbe32aaab897e7939e5b0454035b8c":[10,0,10,3,0], -"d6/d30/classmachine__learning_1_1adaline.html#a28160d17e492597a2f112e0d38551cda":[9,0,66,0,8], -"d6/d30/classmachine__learning_1_1adaline.html#a28160d17e492597a2f112e0d38551cda":[10,0,10,3,8], -"d6/d30/classmachine__learning_1_1adaline.html#a4cd8fe438032fedaa66f93bfd66f5492":[9,0,66,0,9], -"d6/d30/classmachine__learning_1_1adaline.html#a4cd8fe438032fedaa66f93bfd66f5492":[10,0,10,3,9], -"d6/d30/classmachine__learning_1_1adaline.html#a74e3c6c037b67895014414c5d75465e5":[9,0,66,0,3], -"d6/d30/classmachine__learning_1_1adaline.html#a74e3c6c037b67895014414c5d75465e5":[10,0,10,3,3], -"d6/d30/classmachine__learning_1_1adaline.html#a8d61f9ed872eef26bca39388cbda6a91":[9,0,66,0,4], -"d6/d30/classmachine__learning_1_1adaline.html#a8d61f9ed872eef26bca39388cbda6a91":[10,0,10,3,4], -"d6/d30/classmachine__learning_1_1adaline.html#aa23d60262f917f35836ef4b1c1d9f7d3":[9,0,66,0,7], -"d6/d30/classmachine__learning_1_1adaline.html#aa23d60262f917f35836ef4b1c1d9f7d3":[10,0,10,3,7], -"d6/d30/classmachine__learning_1_1adaline.html#ab11242d9ad5b03a75911e29b04f78fd3":[9,0,66,0,5], -"d6/d30/classmachine__learning_1_1adaline.html#ab11242d9ad5b03a75911e29b04f78fd3":[10,0,10,3,5], -"d6/d30/classmachine__learning_1_1adaline.html#ac8a9c2aaaa63b0f27ea176857e1e7d56":[9,0,66,0,2], -"d6/d30/classmachine__learning_1_1adaline.html#ac8a9c2aaaa63b0f27ea176857e1e7d56":[10,0,10,3,2], -"d6/d30/classmachine__learning_1_1adaline.html#ae347040516e995c8fb8ca2e5c0496daa":[9,0,66,0,6], -"d6/d30/classmachine__learning_1_1adaline.html#ae347040516e995c8fb8ca2e5c0496daa":[10,0,10,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], -"d6/d38/find__non__repeating__number_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,1,3,1], -"d6/d42/miller__rabin_8cpp.html":[11,0,14,34], -"d6/d42/miller__rabin_8cpp.html#a091662a787d5ad4866713021f580fddb":[11,0,14,34,4], -"d6/d42/miller__rabin_8cpp.html#a6f9c31c1047aa3191676d64571d4c506":[11,0,14,34,2], -"d6/d42/miller__rabin_8cpp.html#a88ec9ad42717780d6caaff9d3d6977f9":[11,0,14,34,5], -"d6/d42/miller__rabin_8cpp.html#a901288288ef5ebe8e97414cc30797cce":[11,0,14,34,1], -"d6/d42/miller__rabin_8cpp.html#ad6c2c67ea416d0e80003a88623f98b29":[11,0,14,34,3], -"d6/d42/miller__rabin_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,14,34,0], -"d6/d45/structciphers_1_1elliptic__curve__key__exchange_1_1_point.html":[9,0,13,0,0], -"d6/d45/structciphers_1_1elliptic__curve__key__exchange_1_1_point.html":[10,0,1,0,0], -"d6/d45/structciphers_1_1elliptic__curve__key__exchange_1_1_point.html#a5084e9ca27837662c31d4dc003815446":[9,0,13,0,0,0], -"d6/d45/structciphers_1_1elliptic__curve__key__exchange_1_1_point.html#a5084e9ca27837662c31d4dc003815446":[10,0,1,0,0,0], -"d6/d45/structciphers_1_1elliptic__curve__key__exchange_1_1_point.html#af2142b27241b28f835e8ce78d7d6463c":[9,0,13,0,0,1], -"d6/d45/structciphers_1_1elliptic__curve__key__exchange_1_1_point.html#af2142b27241b28f835e8ce78d7d6463c":[10,0,1,0,0,1], -"d6/d4a/addition__rule_8cpp.html":[11,0,19,0], -"d6/d4a/addition__rule_8cpp.html#a4adfd055c758546456d440ee9133555d":[11,0,19,0,1], -"d6/d4a/addition__rule_8cpp.html#a565ffcbbdbe496ced37250bc8dc36bc0":[11,0,19,0,0], -"d6/d4a/addition__rule_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,19,0,2], -"d6/d4e/namespaceciphers.html":[9,0,13], -"d6/d4e/namespaceciphers.html#ab9aec0ccf4b6809f652bb540be87c216":[9,0,13,2], -"d6/d50/_2_users_2runner_2work_2_c-_plus-_plus_2_c-_plus-_plus_2math_2iterative_factorial_8cpp-example.html":[12,1], -"d6/d53/namespaceword__break.html":[9,0,143], -"d6/d57/array__right__rotation_8cpp.html":[11,0,16,1], -"d6/d57/array__right__rotation_8cpp.html#a167c24bd817469ae47358d12e034f2d5":[11,0,16,1,4], -"d6/d57/array__right__rotation_8cpp.html#a1bfb8711f49e591eb168ccaa3df6fb86":[11,0,16,1,2] +"d7/d35/matrix__exponentiation_8cpp.html#a702a9fc90e79b05b863cc4efa26ae2ec":[11,0,17,14,6], +"d7/d35/matrix__exponentiation_8cpp.html#a9977ad12548c4a49dee9dc3f0685aa54":[11,0,17,14,8], +"d7/d35/matrix__exponentiation_8cpp.html#ad8389ed58fd0ec66df248014775ad1fa":[11,0,17,14,3], +"d7/d35/matrix__exponentiation_8cpp.html#ae1d1ec9482079231e898236e2b23c9ba":[11,0,17,14,1], +"d7/d35/matrix__exponentiation_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,17,14,4], +"d7/d35/matrix__exponentiation_8cpp_source.html":[11,0,17,14], +"d7/d37/magic__sequence_8cpp_source.html":[11,0,0,3], +"d7/d39/bridge__finding__with__tarjan__algorithm_8cpp_source.html":[11,0,9,2], +"d7/d3f/namespacetravelling_salesman__bitmanipulation.html":[9,0,130], +"d7/d43/stack__using__queue_8cpp_source.html":[11,0,4,30], +"d7/d47/namespace_x_o_r.html":[9,0,143], +"d7/d47/structstd_1_1is__integral_3_01uint256__t_01_4.html":[10,0,19,3], +"d7/d48/structgeometry_1_1grahamscan_1_1_point.html":[10,0,5,0,0], +"d7/d4c/namespacek__nearest__neighbors.html":[9,0,55], +"d7/d50/namespacemodular__inverse__fermat.html":[9,0,77], +"d7/d56/count__bits__flip_8cpp.html":[11,0,1,0], +"d7/d56/count__bits__flip_8cpp.html#a2548486b6c3b80101e768562e687ef7b":[11,0,1,0,0], +"d7/d56/count__bits__flip_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,1,0,2], +"d7/d56/count__bits__flip_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,1,0,1], +"d7/d56/count__bits__flip_8cpp_source.html":[11,0,1,0], +"d7/d57/longest__increasing__subsequence_8cpp.html":[11,0,6,16], +"d7/d57/longest__increasing__subsequence_8cpp.html#a0a2215194e58786c34db1ccaf8031079":[11,0,6,16,0], +"d7/d57/longest__increasing__subsequence_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,6,16,2], +"d7/d57/longest__increasing__subsequence_8cpp.html#abf9e6b7e6f15df4b525a2e7705ba3089":[11,0,6,16,1], +"d7/d57/longest__increasing__subsequence_8cpp_source.html":[11,0,6,16], +"d7/d65/shortest__common__supersequence_8cpp.html":[11,0,6,25], +"d7/d65/shortest__common__supersequence_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,6,25,2], +"d7/d65/shortest__common__supersequence_8cpp.html#ad2ee8d7e67da9f6eb85146b08dad95e6":[11,0,6,25,1], +"d7/d65/shortest__common__supersequence_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,6,25,0], +"d7/d65/shortest__common__supersequence_8cpp_source.html":[11,0,6,25], +"d7/d6a/bisection__method_8cpp.html":[11,0,15,1], +"d7/d6a/bisection__method_8cpp.html#a0a3abbca80bc98e7abcb3ae73abe0f14":[11,0,15,1,0], +"d7/d6a/bisection__method_8cpp.html#a1ab31b90bc584c635ec159468ceed9b2":[11,0,15,1,3], +"d7/d6a/bisection__method_8cpp.html#a2003b5b2dcfff0769b957ab5c968b03d":[11,0,15,1,1], +"d7/d6a/bisection__method_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,15,1,2], +"d7/d6a/bisection__method_8cpp_source.html":[11,0,15,1], +"d7/d73/abbreviation_8cpp.html":[11,0,6,1], +"d7/d73/abbreviation_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,6,1,3], +"d7/d73/abbreviation_8cpp.html#add60b8858720bf217df22d992d0fefaa":[11,0,6,1,1], +"d7/d73/abbreviation_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,6,1,2], +"d7/d73/abbreviation_8cpp.html#af53b2f647bee9c5b75ef8dd9ef685dc8":[11,0,6,1,0], +"d7/d73/abbreviation_8cpp_source.html":[11,0,6,1], +"d7/d75/postfix__evaluation_8cpp.html":[11,0,17,18], +"d7/d75/postfix__evaluation_8cpp.html#a421baa2002a64bc0bfc3e1b64800d734":[11,0,17,18,4], +"d7/d75/postfix__evaluation_8cpp.html#a4c27f949c9d6659be9f5bd2ccbe1360a":[11,0,17,18,2], +"d7/d75/postfix__evaluation_8cpp.html#a59fd597e0ea394abe027ced4d2ea3338":[11,0,17,18,1], +"d7/d75/postfix__evaluation_8cpp.html#a5b97d12e8b61484f756a8721992bfae1":[11,0,17,18,8], +"d7/d75/postfix__evaluation_8cpp.html#a6a8eeb7d346d5cd6335d9780fb7c0f15":[11,0,17,18,7], +"d7/d75/postfix__evaluation_8cpp.html#ad77f8c9cc594975756838d498c237cea":[11,0,17,18,6], +"d7/d75/postfix__evaluation_8cpp.html#ae38bd3a177a6d61da3859a281233bbe1":[11,0,17,18,5], +"d7/d75/postfix__evaluation_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,17,18,3], +"d7/d75/postfix__evaluation_8cpp_source.html":[11,0,17,18], +"d7/d77/class_edge.html":[10,0,32], +"d7/d77/class_edge.html#a415a5d002fe11c58711e48aabe975980":[10,0,32,0], +"d7/d7a/namespacebinomial.html":[9,0,8], +"d7/d7c/classstatistics_1_1stats__computer1.html":[9,0,117,0], +"d7/d7c/classstatistics_1_1stats__computer1.html":[10,0,18,0], +"d7/d7c/classstatistics_1_1stats__computer1.html#a27f0a03e2fd2254f1c81fe668226bd92":[9,0,117,0,3], +"d7/d7c/classstatistics_1_1stats__computer1.html#a27f0a03e2fd2254f1c81fe668226bd92":[10,0,18,0,3], +"d7/d7c/classstatistics_1_1stats__computer1.html#a350bf6c429691d3578c4dfc6679a0797":[9,0,117,0,4], +"d7/d7c/classstatistics_1_1stats__computer1.html#a350bf6c429691d3578c4dfc6679a0797":[10,0,18,0,4], +"d7/d7c/classstatistics_1_1stats__computer1.html#a390697dcee210b91823ceff04b25081b":[9,0,117,0,0], +"d7/d7c/classstatistics_1_1stats__computer1.html#a390697dcee210b91823ceff04b25081b":[10,0,18,0,0], +"d7/d7c/classstatistics_1_1stats__computer1.html#aa13bf7c38de112f71921a5525d71a2f2":[9,0,117,0,1], +"d7/d7c/classstatistics_1_1stats__computer1.html#aa13bf7c38de112f71921a5525d71a2f2":[10,0,18,0,1], +"d7/d7c/classstatistics_1_1stats__computer1.html#af57e942d49f4fd70f059f224b4ac07e1":[9,0,117,0,2], +"d7/d7c/classstatistics_1_1stats__computer1.html#af57e942d49f4fd70f059f224b4ac07e1":[10,0,18,0,2], +"d7/d7f/section.html":[5], +"d7/d81/namespacebit__manipulation.html":[9,0,9], +"d7/d81/namespacebit__manipulation.html#a4b76571a2a04fa99c30a96eca9997f0e":[9,0,9,1], +"d7/d81/namespacebit__manipulation.html#a5032470c9974bbd6ec254bf296530a5f":[9,0,9,0], +"d7/d83/trie__tree_8cpp.html":[11,0,4,38], +"d7/d83/trie__tree_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,4,38,2], +"d7/d83/trie__tree_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,4,38,1], +"d7/d83/trie__tree_8cpp_source.html":[11,0,4,38], +"d7/d85/doubly__linked__list_8cpp_source.html":[11,0,4,8], +"d7/d88/namespaceprefix__sum__array.html":[9,0,93], +"d7/d89/double__factorial_8cpp.html":[11,0,14,10], +"d7/d89/double__factorial_8cpp.html#a0a3c417360400093891a9ccddaa4be26":[11,0,14,10,0], +"d7/d89/double__factorial_8cpp.html#a68ba20fed2ce427f6469c7689437829d":[11,0,14,10,1], +"d7/d89/double__factorial_8cpp.html#a88ec9ad42717780d6caaff9d3d6977f9":[11,0,14,10,4], +"d7/d89/double__factorial_8cpp.html#abbbcebf3a2d0c67f4c3cfb5511a97981":[11,0,14,10,3], +"d7/d89/double__factorial_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,14,10,2], +"d7/d89/double__factorial_8cpp_source.html":[11,0,14,10], +"d7/da4/struct_list_node.html":[10,0,40], +"d7/da4/struct_list_node.html#a3cfee2eb667c332dc32595208164ef0a":[10,0,40,0], +"d7/da4/struct_list_node.html#a58389d1d1fc5430c2f4ce7c5d5dc48b3":[10,0,40,4], +"d7/da4/struct_list_node.html#aaad9b553e2f936726f5b35ff2734125d":[10,0,40,1], +"d7/da4/struct_list_node.html#ad78b392c2ddc25c3243d0c2f30692fb1":[10,0,40,3], +"d7/da4/struct_list_node.html#afc97c5b9d2e7cc82d0718245688f6ff9":[10,0,40,2], +"d7/da6/eratosthenes_8cpp.html":[11,0,14,11], +"d7/da6/eratosthenes_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97":[11,0,14,11,0], +"d7/da6/eratosthenes_8cpp.html#a91366864111e1fac29722ca45e02ea8f":[11,0,14,11,2], +"d7/da6/eratosthenes_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,14,11,3], +"d7/da6/eratosthenes_8cpp.html#ad09d59850865012a6fd95d89954c82e4":[11,0,14,11,1], +"d7/da6/eratosthenes_8cpp_source.html":[11,0,14,11], +"d7/dab/get__size__of__linked__list_8cpp_source.html":[11,0,16,4], +"d7/daf/namespace_knapsack.html":[9,0,58], +"d7/db9/hill__cipher_8cpp.html":[11,0,2,5], +"d7/db9/hill__cipher_8cpp.html#a04391124480d2a49f2dec900237b0712":[11,0,2,5,4], +"d7/db9/hill__cipher_8cpp.html#a3147ad576f8a94a2a6b66948672b452b":[11,0,2,5,3], +"d7/db9/hill__cipher_8cpp.html#a34bfcd756610834acac501f9eea1e2eb":[11,0,2,5,2], +"d7/db9/hill__cipher_8cpp.html#ab9aec0ccf4b6809f652bb540be87c216":[11,0,2,5,5], +"d7/db9/hill__cipher_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,2,5,1], +"d7/db9/hill__cipher_8cpp_source.html":[11,0,2,5], +"d7/dba/cll_8h_source.html":[11,0,4,0,1], +"d7/ded/queue_8hpp_source.html":[11,0,4,16], +"d7/def/trie__multiple__search_8cpp.html":[11,0,16,10], +"d7/def/trie__multiple__search_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,16,10,2], +"d7/def/trie__multiple__search_8cpp.html#abf9e6b7e6f15df4b525a2e7705ba3089":[11,0,16,10,1], +"d7/def/trie__multiple__search_8cpp_source.html":[11,0,16,10], +"d8/d10/structlist.html":[10,0,39], +"d8/d10/structlist.html#a1900fe79e875e2838625b2eb60837f8f":[10,0,39,1], +"d8/d10/structlist.html#aaab2e33bc1ca6f44e72239bfb58f100c":[10,0,39,0], +"d8/d13/bubble__sort_8cpp.html":[11,0,23,4], +"d8/d13/bubble__sort_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,23,4,2], +"d8/d13/bubble__sort_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,23,4,1], +"d8/d13/bubble__sort_8cpp.html#af3b12930a83915712461d53fe9659686":[11,0,23,4,0], +"d8/d13/bubble__sort_8cpp_source.html":[11,0,23,4], +"d8/d14/namespacen__queens__optimized.html":[9,0,83], +"d8/d1d/namespacestrand.html":[9,0,118], +"d8/d28/classrange__queries_1_1per_seg_tree.html":[9,0,101,1], +"d8/d28/classrange__queries_1_1per_seg_tree.html":[10,0,16,2], +"d8/d28/classrange__queries_1_1per_seg_tree.html#a0cec4b77d264521717cf9b0482c45817":[9,0,101,1,4], +"d8/d28/classrange__queries_1_1per_seg_tree.html#a0cec4b77d264521717cf9b0482c45817":[10,0,16,2,4], +"d8/d28/classrange__queries_1_1per_seg_tree.html#a0fe4e431f3e09c274ecd7d2d58dcb865":[9,0,101,1,7], +"d8/d28/classrange__queries_1_1per_seg_tree.html#a0fe4e431f3e09c274ecd7d2d58dcb865":[10,0,16,2,7], +"d8/d28/classrange__queries_1_1per_seg_tree.html#a1eac9cf0613dfc8e2b0195009dd5c9d5":[9,0,101,1,10], +"d8/d28/classrange__queries_1_1per_seg_tree.html#a1eac9cf0613dfc8e2b0195009dd5c9d5":[10,0,16,2,10], +"d8/d28/classrange__queries_1_1per_seg_tree.html#a24487eda25123bc4d112e8430821a6c6":[9,0,101,1,8], +"d8/d28/classrange__queries_1_1per_seg_tree.html#a24487eda25123bc4d112e8430821a6c6":[10,0,16,2,8], +"d8/d28/classrange__queries_1_1per_seg_tree.html#a6d3f2465a7c5803a1ff16c5378bcc5e4":[9,0,101,1,2], +"d8/d28/classrange__queries_1_1per_seg_tree.html#a6d3f2465a7c5803a1ff16c5378bcc5e4":[10,0,16,2,2], +"d8/d28/classrange__queries_1_1per_seg_tree.html#a8ff495d2f389b4aaa54449c26c6078f3":[9,0,101,1,11], +"d8/d28/classrange__queries_1_1per_seg_tree.html#a8ff495d2f389b4aaa54449c26c6078f3":[10,0,16,2,11], +"d8/d28/classrange__queries_1_1per_seg_tree.html#ac83bcabf5a8db8b0d8d156a4c1bcd4c3":[9,0,101,1,1], +"d8/d28/classrange__queries_1_1per_seg_tree.html#ac83bcabf5a8db8b0d8d156a4c1bcd4c3":[10,0,16,2,1], +"d8/d28/classrange__queries_1_1per_seg_tree.html#ace7f57935b3bb9446f11c239fd89ae79":[9,0,101,1,3], +"d8/d28/classrange__queries_1_1per_seg_tree.html#ace7f57935b3bb9446f11c239fd89ae79":[10,0,16,2,3], +"d8/d28/classrange__queries_1_1per_seg_tree.html#ad484002bcb701820d55f32ea5d525571":[9,0,101,1,6], +"d8/d28/classrange__queries_1_1per_seg_tree.html#ad484002bcb701820d55f32ea5d525571":[10,0,16,2,6], +"d8/d28/classrange__queries_1_1per_seg_tree.html#ae8ae4b1835e5e8aec32f68c5059ed4d4":[9,0,101,1,5], +"d8/d28/classrange__queries_1_1per_seg_tree.html#ae8ae4b1835e5e8aec32f68c5059ed4d4":[10,0,16,2,5], +"d8/d28/classrange__queries_1_1per_seg_tree.html#af87494e6cf012d28c4f5b9d1c15f9c5d":[9,0,101,1,9], +"d8/d28/classrange__queries_1_1per_seg_tree.html#af87494e6cf012d28c4f5b9d1c15f9c5d":[10,0,16,2,9], +"d8/d2a/namespacea1z26.html":[9,0,0], +"d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache.html":[9,0,88,0,2], +"d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache.html":[10,0,13,0,2], +"d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache.html#a042bb403f4452ad8c669fbf87ef82821":[9,0,88,0,2,11], +"d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache.html#a042bb403f4452ad8c669fbf87ef82821":[10,0,13,0,2,11], +"d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache.html#a1b709333874b4633ee02a3661cd042e1":[9,0,88,0,2,9], +"d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache.html#a1b709333874b4633ee02a3661cd042e1":[10,0,13,0,2,9], +"d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache.html#a2e53b5ad1368d87da501f61473eb9ea2":[9,0,88,0,2,7], +"d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache.html#a2e53b5ad1368d87da501f61473eb9ea2":[10,0,13,0,2,7], +"d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache.html#a448121f391a71f4cf88c3cb6c4cf3100":[9,0,88,0,2,13], +"d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache.html#a448121f391a71f4cf88c3cb6c4cf3100":[10,0,13,0,2,13], +"d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache.html#a5ee34fcee480f21bb6f68a34f0f69b45":[9,0,88,0,2,8], +"d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache.html#a5ee34fcee480f21bb6f68a34f0f69b45":[10,0,13,0,2,8], +"d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache.html#a6d855ff72ad6fe548eb564b7f87abe06":[9,0,88,0,2,1], +"d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache.html#a6d855ff72ad6fe548eb564b7f87abe06":[10,0,13,0,2,1], +"d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache.html#a8980cbbc9cf0a98a9592b40c4d6ec28f":[9,0,88,0,2,0], +"d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache.html#a8980cbbc9cf0a98a9592b40c4d6ec28f":[10,0,13,0,2,0], +"d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache.html#a8dab0f69410484f772946befd24cc3c5":[9,0,88,0,2,12], +"d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache.html#a8dab0f69410484f772946befd24cc3c5":[10,0,13,0,2,12], +"d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache.html#ab211a4be58491bf11834cae88a0c44f7":[9,0,88,0,2,6], +"d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache.html#ab211a4be58491bf11834cae88a0c44f7":[10,0,13,0,2,6], +"d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache.html#ab8b6a6aa95db678596bc2a49e864683e":[9,0,88,0,2,3], +"d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache.html#ab8b6a6aa95db678596bc2a49e864683e":[10,0,13,0,2,3], +"d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache.html#ac1be0357ecc7c34144f3d9a63c6cb3ea":[9,0,88,0,2,4], +"d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache.html#ac1be0357ecc7c34144f3d9a63c6cb3ea":[10,0,13,0,2,4], +"d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache.html#ad022d494b40f82417340b113445e79a4":[9,0,88,0,2,5], +"d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache.html#ad022d494b40f82417340b113445e79a4":[10,0,13,0,2,5], +"d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache.html#af34bb8b8eaa34cc499b4fed30b9d05fc":[9,0,88,0,2,10], +"d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache.html#af34bb8b8eaa34cc499b4fed30b9d05fc":[10,0,13,0,2,10], +"d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache.html#af8edfe5a7def5d5b846463041c33136a":[9,0,88,0,2,2], +"d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache.html#af8edfe5a7def5d5b846463041c33136a":[10,0,13,0,2,2], +"d8/d30/reverse__a__linked__list__using__recusion_8cpp_source.html":[11,0,16,7], +"d8/d36/namespacecut__rod.html":[9,0,18], +"d8/d41/namespacegames_1_1memory__game.html":[9,0,34,0], +"d8/d41/namespacegames_1_1memory__game.html#a33167bb9cce6d527b478b4f6ae8c3f59":[9,0,34,0,3], +"d8/d41/namespacegames_1_1memory__game.html#a370760f2b328ad341bcb77d82fa17b01":[9,0,34,0,4], +"d8/d41/namespacegames_1_1memory__game.html#a3ceeea62d8fa6c563e2c66359fd73413":[9,0,34,0,1], +"d8/d41/namespacegames_1_1memory__game.html#a5714d97649c0edd57b4fb449799676a3":[9,0,34,0,0], +"d8/d41/namespacegames_1_1memory__game.html#ac589ef65abb0a6b9a7116ee0f9fd5280":[9,0,34,0,5], +"d8/d41/namespacegames_1_1memory__game.html#ad573c8ae66ab66156d03e5e81bbba214":[9,0,34,0,2], +"d8/d41/namespacegames_1_1memory__game.html#adc62ebb75853446656e24932bdc6dd6b":[9,0,34,0,6], +"d8/d53/modular__inverse__fermat__little__theorem_8cpp.html":[11,0,14,39], +"d8/d53/modular__inverse__fermat__little__theorem_8cpp.html#a1c62a87e79f29b98d8fe5b12eacdd928":[11,0,14,39,0], +"d8/d53/modular__inverse__fermat__little__theorem_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,14,39,4], +"d8/d53/modular__inverse__fermat__little__theorem_8cpp.html#aba4929409fee35c3cb559e962a544b3e":[11,0,14,39,1], +"d8/d53/modular__inverse__fermat__little__theorem_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,14,39,2], +"d8/d53/modular__inverse__fermat__little__theorem_8cpp.html#ae7e807e02c65c6fffd6162b4c66290c2":[11,0,14,39,3], +"d8/d53/modular__inverse__fermat__little__theorem_8cpp_source.html":[11,0,14,39], +"d8/d61/radix__sort2_8cpp.html":[11,0,23,29], +"d8/d61/radix__sort2_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e":[11,0,23,29,3], +"d8/d61/radix__sort2_8cpp.html#a98ead7d43b11505398daf9a894f122f9":[11,0,23,29,2], +"d8/d61/radix__sort2_8cpp.html#ae0cfd94fa3765b53d4ec7893ffaee5f8":[11,0,23,29,1], +"d8/d61/radix__sort2_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,23,29,0], +"d8/d61/radix__sort2_8cpp_source.html":[11,0,23,29], +"d8/d64/namespaceboruvkas__minimum__spanning__tree.html":[9,0,10], +"d8/d68/dijkstra_8cpp.html":[11,0,9,8], +"d8/d68/dijkstra_8cpp.html#a0e30e0dca68cb6e4f671440819b35b6a":[11,0,9,8,0], +"d8/d68/dijkstra_8cpp.html#a88ec9ad42717780d6caaff9d3d6977f9":[11,0,9,8,3], +"d8/d68/dijkstra_8cpp.html#adc68cbc8ba09eb1142265935c0d45b84":[11,0,9,8,1], +"d8/d68/dijkstra_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,9,8,2], +"d8/d68/dijkstra_8cpp_source.html":[11,0,9,8], +"d8/d69/classgraph_1_1_h_k_graph.html":[9,0,39,1], +"d8/d69/classgraph_1_1_h_k_graph.html":[10,0,6,3], +"d8/d69/classgraph_1_1_h_k_graph.html#a0da5aa674d3b3e54a38251ee60d7cd64":[9,0,39,1,1], +"d8/d69/classgraph_1_1_h_k_graph.html#a0da5aa674d3b3e54a38251ee60d7cd64":[10,0,6,3,1], +"d8/d69/classgraph_1_1_h_k_graph.html#a35893def7a1c5cd60907b4893117796f":[9,0,39,1,6], +"d8/d69/classgraph_1_1_h_k_graph.html#a35893def7a1c5cd60907b4893117796f":[10,0,6,3,6], +"d8/d69/classgraph_1_1_h_k_graph.html#a3b49011c09cf90a116ab53bef61cd95a":[9,0,39,1,2], +"d8/d69/classgraph_1_1_h_k_graph.html#a3b49011c09cf90a116ab53bef61cd95a":[10,0,6,3,2], +"d8/d69/classgraph_1_1_h_k_graph.html#a3d9101e3b4598159005fd028b9b0ff74":[9,0,39,1,8], +"d8/d69/classgraph_1_1_h_k_graph.html#a3d9101e3b4598159005fd028b9b0ff74":[10,0,6,3,8], +"d8/d69/classgraph_1_1_h_k_graph.html#a6a0228bbba3818447fcf6b56128b552a":[9,0,39,1,7], +"d8/d69/classgraph_1_1_h_k_graph.html#a6a0228bbba3818447fcf6b56128b552a":[10,0,6,3,7], +"d8/d69/classgraph_1_1_h_k_graph.html#a6f5a9fdbb83ef731d739ba6707e21c3c":[9,0,39,1,9], +"d8/d69/classgraph_1_1_h_k_graph.html#a6f5a9fdbb83ef731d739ba6707e21c3c":[10,0,6,3,9], +"d8/d69/classgraph_1_1_h_k_graph.html#a7491add14d9fc04f679114ca6d6f0f93":[9,0,39,1,3], +"d8/d69/classgraph_1_1_h_k_graph.html#a7491add14d9fc04f679114ca6d6f0f93":[10,0,6,3,3], +"d8/d69/classgraph_1_1_h_k_graph.html#a86ebff8a70cbfedd05281993d5d1987b":[9,0,39,1,10], +"d8/d69/classgraph_1_1_h_k_graph.html#a86ebff8a70cbfedd05281993d5d1987b":[10,0,6,3,10], +"d8/d69/classgraph_1_1_h_k_graph.html#a976ee239402cc2726a280e781c706d77":[9,0,39,1,11], +"d8/d69/classgraph_1_1_h_k_graph.html#a976ee239402cc2726a280e781c706d77":[10,0,6,3,11], +"d8/d69/classgraph_1_1_h_k_graph.html#a9dbda80d02bdc26c3e8ff7330c9be75d":[9,0,39,1,5], +"d8/d69/classgraph_1_1_h_k_graph.html#a9dbda80d02bdc26c3e8ff7330c9be75d":[10,0,6,3,5], +"d8/d69/classgraph_1_1_h_k_graph.html#ae794950cb3407b6b47d3dc986cf714c0":[9,0,39,1,4], +"d8/d69/classgraph_1_1_h_k_graph.html#ae794950cb3407b6b47d3dc986cf714c0":[10,0,6,3,4], +"d8/d69/classgraph_1_1_h_k_graph.html#af02b0c83911070ac6d95fc9905e58aa9":[9,0,39,1,0], +"d8/d69/classgraph_1_1_h_k_graph.html#af02b0c83911070ac6d95fc9905e58aa9":[10,0,6,3,0], +"d8/d6c/line__segment__intersection_8cpp.html":[11,0,8,3], +"d8/d6c/line__segment__intersection_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,8,3,2], +"d8/d6c/line__segment__intersection_8cpp_source.html":[11,0,8,3], +"d8/d72/class_r_btree.html":[10,0,51], +"d8/d76/morse__code_8cpp.html":[11,0,2,6], +"d8/d76/morse__code_8cpp.html#a0242e458904de8a242fcdaffe9e3ba1a":[11,0,2,6,2], +"d8/d76/morse__code_8cpp.html#a15c66ec8cf4cef0a35c50cbab86965dc":[11,0,2,6,1], +"d8/d76/morse__code_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,2,6,5], +"d8/d76/morse__code_8cpp.html#ab31773fd11555d21f70d6914138d9535":[11,0,2,6,0], +"d8/d76/morse__code_8cpp.html#ac9f294b0dec08a4a11d477a32f9bd829":[11,0,2,6,4], +"d8/d76/morse__code_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,2,6,3], +"d8/d76/morse__code_8cpp_source.html":[11,0,2,6], +"d8/d76/namespacetopological__sort.html":[9,0,129], +"d8/d77/namespacemachine__learning.html":[8,1,3], +"d8/d77/namespacemachine__learning.html#a042f435bca0839e721fc1574a61e8da3":[9,0,66,8], +"d8/d77/namespacemachine__learning.html#a0cc29566568e0383dd7d374068cbe6b3":[9,0,66,13], +"d8/d77/namespacemachine__learning.html#a16f34574b7e0dd51bc3b3fda37446695":[9,0,66,11], +"d8/d77/namespacemachine__learning.html#a2466857dab977a49f117029835b3b6d2":[9,0,66,12] }; diff --git a/navtreeindex7.js b/navtreeindex7.js index c70dfb743..95142dcf1 100644 --- a/navtreeindex7.js +++ b/navtreeindex7.js @@ -1,253 +1,253 @@ var NAVTREEINDEX7 = { -"d6/d57/array__right__rotation_8cpp.html#a2b9769e44683dcb67fe1083ad91e134d":[11,0,16,1,7], -"d6/d57/array__right__rotation_8cpp.html#a6109193567a5b7e36a27f2b4865fce20":[11,0,16,1,1], -"d6/d57/array__right__rotation_8cpp.html#aa515639572647508b94986489aab6d76":[11,0,16,1,6], -"d6/d57/array__right__rotation_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,16,1,3], -"d6/d57/array__right__rotation_8cpp.html#abdd77344d4af8fd56d14a5cabbf2f669":[11,0,16,1,5], -"d6/d57/array__right__rotation_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,16,1,0], -"d6/d57/array__right__rotation_8cpp.html#af7b81d7a1534216af6a36a80135beb86":[11,0,16,1,8], -"d6/d60/group__ode.html":[8,2], -"d6/d60/group__ode.html#ga195d23bbdfcb80e83c9cda45c9ad5723":[8,2,1], -"d6/d60/group__ode.html#ga36ff0710861ca39d957046c0b09b2985":[8,2,2], -"d6/d60/group__ode.html#ga3874d294ab00fe9ce8731c5b7991a089":[8,2,4], -"d6/d60/group__ode.html#ga827bf009831ddc477c5fa8891d5cb35f":[8,2,5], -"d6/d60/group__ode.html#ga8c319db420c3d97a83e9dcca803b6812":[8,2,3], -"d6/d60/group__ode.html#gae0509f8843e2bc42de2abbd00a14b7b9":[8,2,0], -"d6/d74/namespacekadane.html":[9,0,56], -"d6/d7a/golden__search__extrema_8cpp.html":[11,0,15,8], -"d6/d7a/golden__search__extrema_8cpp.html#a002b2f4894492820fe708b1b7e7c5e70":[11,0,15,8,0], -"d6/d7a/golden__search__extrema_8cpp.html#a0283886819c7c140a023582b7269e2d0":[11,0,15,8,4], -"d6/d7a/golden__search__extrema_8cpp.html#a1440a7779ac56f47a3f355ce4a8c7da0":[11,0,15,8,3], -"d6/d7a/golden__search__extrema_8cpp.html#a1aa76a6d5fd4d333f9072beff1dc486b":[11,0,15,8,1], -"d6/d7a/golden__search__extrema_8cpp.html#a6d0455dd5c30adda100e95f0423c786e":[11,0,15,8,5], -"d6/d7a/golden__search__extrema_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,15,8,2], -"d6/d80/double__hash__hash__table_8cpp.html":[11,0,12,1], -"d6/d80/double__hash__hash__table_8cpp.html#a0d90726ed1de7b3d2ae261baed048003":[11,0,12,1,5], -"d6/d80/double__hash__hash__table_8cpp.html#a1e901418c759627557eff359b8db38cd":[11,0,12,1,3], -"d6/d80/double__hash__hash__table_8cpp.html#a28083ecac6eb94b643281875c8665931":[11,0,12,1,11], -"d6/d80/double__hash__hash__table_8cpp.html#a29f543e2626bad58907661e1e45028a6":[11,0,12,1,12], -"d6/d80/double__hash__hash__table_8cpp.html#a33968a1178289ab61445dd4000df7082":[11,0,12,1,7], -"d6/d80/double__hash__hash__table_8cpp.html#a5d06e4598569526294f10104875f6824":[11,0,12,1,10], -"d6/d80/double__hash__hash__table_8cpp.html#a79a9c914a6c68275b3640303d7faad8a":[11,0,12,1,1], -"d6/d80/double__hash__hash__table_8cpp.html#a8f8ff4fb018e1bb32d67d8a1885d3200":[11,0,12,1,4], -"d6/d80/double__hash__hash__table_8cpp.html#a9c652b2e467e5d250dfe3bed83b12560":[11,0,12,1,2], -"d6/d80/double__hash__hash__table_8cpp.html#ac2adfce49ac57f6dbd1778d2c1ce0d2b":[11,0,12,1,8], -"d6/d80/double__hash__hash__table_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,12,1,6], -"d6/d80/double__hash__hash__table_8cpp.html#af4981819aae8bc7e7beeaef02615e30d":[11,0,12,1,9], -"d6/d84/classhashing_1_1sha256_1_1_hash.html":[10,0,8,0,0], -"d6/d84/classhashing_1_1sha256_1_1_hash.html#a0896c27ac39c780e0ee62417fdd0b9d3":[10,0,8,0,0,1], -"d6/d84/classhashing_1_1sha256_1_1_hash.html#a4581f503a263d8e928e5716d54477e08":[10,0,8,0,0,0], -"d6/d84/namespaceutils.html":[9,0,136], -"d6/d8d/namespacemorse.html":[9,0,79], -"d6/d9d/large__factorial_8cpp.html":[11,0,14,28], -"d6/d9d/large__factorial_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97":[11,0,14,28,0], -"d6/d9d/large__factorial_8cpp.html#a3f93b60e229b6683e24c4754a7106ee8":[11,0,14,28,1], -"d6/d9d/large__factorial_8cpp.html#a76aae4778fbe89a3d59fd61fbc050cfa":[11,0,14,28,2], -"d6/da2/namespacevigenere.html":[9,0,138], -"d6/dab/namespacetree__234.html":[9,0,132], -"d6/dae/classothers_1_1lru__cache_1_1_l_r_u_cache.html":[10,0,13,2,0], -"d6/dae/classothers_1_1lru__cache_1_1_l_r_u_cache.html#a09cbe562b0c396329607f5d388d57c9c":[10,0,13,2,0,7], -"d6/dae/classothers_1_1lru__cache_1_1_l_r_u_cache.html#a1aafd0444b410e0fcb66287e9954c893":[10,0,13,2,0,8], -"d6/dae/classothers_1_1lru__cache_1_1_l_r_u_cache.html#a3ee3560a6b90e6f50f6e063d690ba8e8":[10,0,13,2,0,5], -"d6/dae/classothers_1_1lru__cache_1_1_l_r_u_cache.html#a41c9b6f1693b8a316cc4a2d8c9149ba4":[10,0,13,2,0,0], -"d6/dae/classothers_1_1lru__cache_1_1_l_r_u_cache.html#a5f33913e7ddfbb38062362e7bd859154":[10,0,13,2,0,6], -"d6/dae/classothers_1_1lru__cache_1_1_l_r_u_cache.html#a78be932dac71c90f485a67d4fda877e2":[10,0,13,2,0,3], -"d6/dae/classothers_1_1lru__cache_1_1_l_r_u_cache.html#a7dbf04bf7e1472c48639694f0b110602":[10,0,13,2,0,4], -"d6/dae/classothers_1_1lru__cache_1_1_l_r_u_cache.html#aa24a141455b9fbcbec22392c28d04933":[10,0,13,2,0,2], -"d6/dae/classothers_1_1lru__cache_1_1_l_r_u_cache.html#aa4d6db56109af196ffc7e5f72bc9907c":[10,0,13,2,0,9], -"d6/dae/classothers_1_1lru__cache_1_1_l_r_u_cache.html#aad506b1c1a3cd5b93cc7e497626bfb53":[10,0,13,2,0,1], -"d6/db0/binomial__dist_8cpp.html":[11,0,19,2], -"d6/db0/binomial__dist_8cpp.html#a19ae0a6a2bd200fd1eb0e31b2bf4cc76":[11,0,19,2,4], -"d6/db0/binomial__dist_8cpp.html#a4416a7bc7fa87201883c54cdc4c82813":[11,0,19,2,0], -"d6/db0/binomial__dist_8cpp.html#a76ed6ce71415fb400b65f0656cef3d25":[11,0,19,2,1], -"d6/db0/binomial__dist_8cpp.html#a78d36635232e54b5d71fcbf1eac9a49a":[11,0,19,2,6], -"d6/db0/binomial__dist_8cpp.html#acd4dd4558031e4c5d045c801f73d8861":[11,0,19,2,3], -"d6/db0/binomial__dist_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,19,2,5], -"d6/db0/binomial__dist_8cpp.html#af09e51f513cee647d41192ab0a872cdc":[11,0,19,2,2], -"d6/db8/inv__sqrt_8cpp.html":[11,0,14,26], -"d6/db8/inv__sqrt_8cpp.html#aa2703e5cf3fecde8becd9066b9666b97":[11,0,14,26,2], -"d6/db8/inv__sqrt_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,14,26,3], -"d6/db8/inv__sqrt_8cpp.html#ad219034bf5fba657f5035ec5a1d50f52":[11,0,14,26,0], -"d6/db8/inv__sqrt_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,14,26,1], -"d6/dba/jump__game_8cpp.html":[11,0,11,5], -"d6/dba/jump__game_8cpp.html#a33e3819aa9ffec0e380383c52603b502":[11,0,11,5,0], -"d6/dba/jump__game_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,11,5,2], -"d6/dba/jump__game_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,11,5,1], -"d6/dc1/classmath_1_1ncr__modulo__p_1_1_n_c_r_modulo_p.html":[10,0,11,0,0], -"d6/dc1/classmath_1_1ncr__modulo__p_1_1_n_c_r_modulo_p.html#a499df7a01bcd348345dc5a0ab79bb0e9":[10,0,11,0,0,2], -"d6/dc1/classmath_1_1ncr__modulo__p_1_1_n_c_r_modulo_p.html#a738a5f59bb3560c81cdb7f43bcfe9fec":[10,0,11,0,0,3], -"d6/dc1/classmath_1_1ncr__modulo__p_1_1_n_c_r_modulo_p.html#a94b07e7dc61d8d7a1e9c5a28988e72f9":[10,0,11,0,0,0], -"d6/dc1/classmath_1_1ncr__modulo__p_1_1_n_c_r_modulo_p.html#ab5744fa589f6a48f9fe7bca13dbe661f":[10,0,11,0,0,1], -"d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html":[3], -"d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md22":[3,0], -"d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md23":[3,1], -"d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md24":[3,1,0], -"d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md25":[3,1,1], -"d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md26":[3,1,2], -"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,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,23,6], -"d6/dce/rabin__karp_8cpp.html#a21c673d56cbf67b1d2ee4d869185b7d9":[11,0,23,6,4], -"d6/dce/rabin__karp_8cpp.html#a840291bc02cba5474a4cb46a9b9566fe":[11,0,23,6,3], -"d6/dce/rabin__karp_8cpp.html#a8fb0bc932ba8b582c9f4c71338d050f8":[11,0,23,6,2], -"d6/dce/rabin__karp_8cpp.html#ac4add2a227a10511e0128d63952030e8":[11,0,23,6,0], -"d6/dce/rabin__karp_8cpp.html#aebe07cea289a13142503d98be7df11fd":[11,0,23,6,1], -"d6/dce/rabin__karp_8cpp.html#aed769d565b705a9b3e0eb1ec74088893":[11,0,23,6,5], -"d6/dd3/ode__midpoint__euler_8cpp.html":[11,0,15,16], -"d6/dd3/ode__midpoint__euler_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97":[11,0,15,16,1], -"d6/dd3/ode__midpoint__euler_8cpp.html#aa13517b8e5de1b75592052db7f7e237f":[11,0,15,16,5], -"d6/dd3/ode__midpoint__euler_8cpp.html#abaeae8f62a018d197f0187a1c80a90fe":[11,0,15,16,4], -"d6/dd3/ode__midpoint__euler_8cpp.html#af3adf7b092a87868917ee5fb4255192b":[11,0,15,16,0], -"d6/dd6/namespacestring.html":[9,0,121], -"d6/dd6/namespacestring.html#ac2a35302e6bed93c4b2c6f55a21a5632":[9,0,121,0], -"d6/dd8/is__graph__bipartite_8cpp.html":[11,0,9,9], -"d6/dd8/is__graph__bipartite_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,9,9,2], -"d6/dd8/is__graph__bipartite_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,9,9,1], -"d7/d00/list__array_8cpp.html":[11,0,4,11], -"d7/d00/list__array_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,4,11,2], -"d7/d00/list__array_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,4,11,1], -"d7/d07/bidirectional__dijkstra_8cpp.html":[11,0,9,0], -"d7/d07/bidirectional__dijkstra_8cpp.html#a1b2df3d52a403ad46523ab90d3a723c1":[11,0,9,0,1], -"d7/d07/bidirectional__dijkstra_8cpp.html#a22f1b7277e1dd4190f25014b48487ce6":[11,0,9,0,3], -"d7/d07/bidirectional__dijkstra_8cpp.html#a330a2b0a904f01802ada1f8f3b28e76c":[11,0,9,0,5], -"d7/d07/bidirectional__dijkstra_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e":[11,0,9,0,4], -"d7/d07/bidirectional__dijkstra_8cpp.html#a69172365aebde9be1997157f6f80e0cf":[11,0,9,0,0], -"d7/d07/bidirectional__dijkstra_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,9,0,2], -"d7/d08/namespacegraph__coloring.html":[9,0,40], -"d7/d0a/namespacetrie__using__hashmap.html":[9,0,134], -"d7/d1b/md__r_e_v_i_e_w_e_r___c_o_d_e.html":[6], -"d7/d24/nqueen__print__all__solutions_8cpp.html":[11,0,0,6], -"d7/d24/nqueen__print__all__solutions_8cpp.html#acc809c055f335011de0d9030034c7108":[11,0,0,6,2], -"d7/d24/nqueen__print__all__solutions_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,0,6,1], -"d7/d24/nqueen__print__all__solutions_8cpp.html#aea343d8a72a39c9a4c0fbcbc362f2648":[11,0,0,6,0], -"d7/d24/nqueen__print__all__solutions_8cpp.html#aebd5e11fab6dab282efccfb61beb0bd9":[11,0,0,6,3], -"d7/d35/matrix__exponentiation_8cpp.html":[11,0,17,13], -"d7/d35/matrix__exponentiation_8cpp.html#a276c5a0e984cf60015b27252fe04fe6b":[11,0,17,13,2], -"d7/d35/matrix__exponentiation_8cpp.html#a357cfbebfdc47a237a2862fe146af252":[11,0,17,13,5], -"d7/d35/matrix__exponentiation_8cpp.html#a35b7c98af53ad2ec18658679ad7d43de":[11,0,17,13,7], -"d7/d35/matrix__exponentiation_8cpp.html#a600eaf353befc174637855795f12d258":[11,0,17,13,0], -"d7/d35/matrix__exponentiation_8cpp.html#a702a9fc90e79b05b863cc4efa26ae2ec":[11,0,17,13,6], -"d7/d35/matrix__exponentiation_8cpp.html#a9977ad12548c4a49dee9dc3f0685aa54":[11,0,17,13,8], -"d7/d35/matrix__exponentiation_8cpp.html#ad8389ed58fd0ec66df248014775ad1fa":[11,0,17,13,3], -"d7/d35/matrix__exponentiation_8cpp.html#ae1d1ec9482079231e898236e2b23c9ba":[11,0,17,13,1], -"d7/d35/matrix__exponentiation_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,17,13,4], -"d7/d3f/namespacetravelling_salesman__bitmanipulation.html":[9,0,131], -"d7/d47/namespace_x_o_r.html":[9,0,144], -"d7/d47/structstd_1_1is__integral_3_01uint256__t_01_4.html":[9,0,118,8], -"d7/d47/structstd_1_1is__integral_3_01uint256__t_01_4.html":[10,0,19,3], -"d7/d48/structgeometry_1_1grahamscan_1_1_point.html":[10,0,5,0,0], -"d7/d4c/namespacek__nearest__neighbors.html":[9,0,55], -"d7/d50/namespacemodular__inverse__fermat.html":[9,0,77], -"d7/d56/count__bits__flip_8cpp.html":[11,0,1,0], -"d7/d56/count__bits__flip_8cpp.html#a2548486b6c3b80101e768562e687ef7b":[11,0,1,0,0], -"d7/d56/count__bits__flip_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,1,0,2], -"d7/d56/count__bits__flip_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,1,0,1], -"d7/d57/longest__increasing__subsequence_8cpp.html":[11,0,6,9], -"d7/d57/longest__increasing__subsequence_8cpp.html#a0a2215194e58786c34db1ccaf8031079":[11,0,6,9,0], -"d7/d57/longest__increasing__subsequence_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,6,9,2], -"d7/d57/longest__increasing__subsequence_8cpp.html#abf9e6b7e6f15df4b525a2e7705ba3089":[11,0,6,9,1], -"d7/d65/shortest__common__supersequence_8cpp.html":[11,0,6,14], -"d7/d65/shortest__common__supersequence_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,6,14,2], -"d7/d65/shortest__common__supersequence_8cpp.html#ad2ee8d7e67da9f6eb85146b08dad95e6":[11,0,6,14,1], -"d7/d65/shortest__common__supersequence_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,6,14,0], -"d7/d6a/bisection__method_8cpp.html":[11,0,15,1], -"d7/d6a/bisection__method_8cpp.html#a0a3abbca80bc98e7abcb3ae73abe0f14":[11,0,15,1,0], -"d7/d6a/bisection__method_8cpp.html#a1ab31b90bc584c635ec159468ceed9b2":[11,0,15,1,3], -"d7/d6a/bisection__method_8cpp.html#a2003b5b2dcfff0769b957ab5c968b03d":[11,0,15,1,1], -"d7/d6a/bisection__method_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,15,1,2], -"d7/d73/abbreviation_8cpp.html":[11,0,6,1], -"d7/d73/abbreviation_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,6,1,3], -"d7/d73/abbreviation_8cpp.html#add60b8858720bf217df22d992d0fefaa":[11,0,6,1,1], -"d7/d73/abbreviation_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,6,1,2], -"d7/d73/abbreviation_8cpp.html#af53b2f647bee9c5b75ef8dd9ef685dc8":[11,0,6,1,0], -"d7/d75/postfix__evaluation_8cpp.html":[11,0,17,17], -"d7/d75/postfix__evaluation_8cpp.html#a421baa2002a64bc0bfc3e1b64800d734":[11,0,17,17,4], -"d7/d75/postfix__evaluation_8cpp.html#a4c27f949c9d6659be9f5bd2ccbe1360a":[11,0,17,17,2], -"d7/d75/postfix__evaluation_8cpp.html#a59fd597e0ea394abe027ced4d2ea3338":[11,0,17,17,1], -"d7/d75/postfix__evaluation_8cpp.html#a5b97d12e8b61484f756a8721992bfae1":[11,0,17,17,8], -"d7/d75/postfix__evaluation_8cpp.html#a6a8eeb7d346d5cd6335d9780fb7c0f15":[11,0,17,17,7], -"d7/d75/postfix__evaluation_8cpp.html#ad77f8c9cc594975756838d498c237cea":[11,0,17,17,6], -"d7/d75/postfix__evaluation_8cpp.html#ae38bd3a177a6d61da3859a281233bbe1":[11,0,17,17,5], -"d7/d75/postfix__evaluation_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,17,17,3], -"d7/d77/class_edge.html":[10,0,32], -"d7/d77/class_edge.html#a415a5d002fe11c58711e48aabe975980":[10,0,32,0], -"d7/d7a/namespacebinomial.html":[9,0,8], -"d7/d7c/classstatistics_1_1stats__computer1.html":[9,0,117,0], -"d7/d7c/classstatistics_1_1stats__computer1.html":[10,0,18,0], -"d7/d7c/classstatistics_1_1stats__computer1.html#a27f0a03e2fd2254f1c81fe668226bd92":[9,0,117,0,3], -"d7/d7c/classstatistics_1_1stats__computer1.html#a27f0a03e2fd2254f1c81fe668226bd92":[10,0,18,0,3], -"d7/d7c/classstatistics_1_1stats__computer1.html#a350bf6c429691d3578c4dfc6679a0797":[9,0,117,0,4], -"d7/d7c/classstatistics_1_1stats__computer1.html#a350bf6c429691d3578c4dfc6679a0797":[10,0,18,0,4], -"d7/d7c/classstatistics_1_1stats__computer1.html#a390697dcee210b91823ceff04b25081b":[9,0,117,0,0], -"d7/d7c/classstatistics_1_1stats__computer1.html#a390697dcee210b91823ceff04b25081b":[10,0,18,0,0], -"d7/d7c/classstatistics_1_1stats__computer1.html#aa13bf7c38de112f71921a5525d71a2f2":[9,0,117,0,1], -"d7/d7c/classstatistics_1_1stats__computer1.html#aa13bf7c38de112f71921a5525d71a2f2":[10,0,18,0,1], -"d7/d7c/classstatistics_1_1stats__computer1.html#af57e942d49f4fd70f059f224b4ac07e1":[9,0,117,0,2], -"d7/d7c/classstatistics_1_1stats__computer1.html#af57e942d49f4fd70f059f224b4ac07e1":[10,0,18,0,2], -"d7/d7f/section.html":[5], -"d7/d81/namespacebit__manipulation.html":[9,0,9], -"d7/d81/namespacebit__manipulation.html#a4b76571a2a04fa99c30a96eca9997f0e":[9,0,9,1], -"d7/d81/namespacebit__manipulation.html#a5032470c9974bbd6ec254bf296530a5f":[9,0,9,0], -"d7/d83/trie__tree_8cpp.html":[11,0,4,24], -"d7/d83/trie__tree_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,4,24,2], -"d7/d83/trie__tree_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,4,24,1], -"d7/d88/namespaceprefix__sum__array.html":[9,0,93], -"d7/d89/double__factorial_8cpp.html":[11,0,14,9], -"d7/d89/double__factorial_8cpp.html#a0a3c417360400093891a9ccddaa4be26":[11,0,14,9,0], -"d7/d89/double__factorial_8cpp.html#a68ba20fed2ce427f6469c7689437829d":[11,0,14,9,1], -"d7/d89/double__factorial_8cpp.html#a88ec9ad42717780d6caaff9d3d6977f9":[11,0,14,9,4], -"d7/d89/double__factorial_8cpp.html#abbbcebf3a2d0c67f4c3cfb5511a97981":[11,0,14,9,3], -"d7/d89/double__factorial_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,14,9,2], -"d7/da4/struct_list_node.html":[10,0,40], -"d7/da4/struct_list_node.html#a3cfee2eb667c332dc32595208164ef0a":[10,0,40,0], -"d7/da4/struct_list_node.html#a58389d1d1fc5430c2f4ce7c5d5dc48b3":[10,0,40,4], -"d7/da4/struct_list_node.html#aaad9b553e2f936726f5b35ff2734125d":[10,0,40,1], -"d7/da4/struct_list_node.html#ad78b392c2ddc25c3243d0c2f30692fb1":[10,0,40,3], -"d7/da4/struct_list_node.html#afc97c5b9d2e7cc82d0718245688f6ff9":[10,0,40,2], -"d7/da6/eratosthenes_8cpp.html":[11,0,14,10], -"d7/da6/eratosthenes_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97":[11,0,14,10,0], -"d7/da6/eratosthenes_8cpp.html#a91366864111e1fac29722ca45e02ea8f":[11,0,14,10,2], -"d7/da6/eratosthenes_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,14,10,3], -"d7/da6/eratosthenes_8cpp.html#ad09d59850865012a6fd95d89954c82e4":[11,0,14,10,1], -"d7/daf/namespace_knapsack.html":[9,0,58], -"d7/db9/hill__cipher_8cpp.html":[11,0,2,4], -"d7/db9/hill__cipher_8cpp.html#a04391124480d2a49f2dec900237b0712":[11,0,2,4,4], -"d7/db9/hill__cipher_8cpp.html#a3147ad576f8a94a2a6b66948672b452b":[11,0,2,4,3], -"d7/db9/hill__cipher_8cpp.html#a34bfcd756610834acac501f9eea1e2eb":[11,0,2,4,2], -"d7/db9/hill__cipher_8cpp.html#ab9aec0ccf4b6809f652bb540be87c216":[11,0,2,4,5], -"d7/db9/hill__cipher_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,2,4,1], -"d7/dba/cll_8h_source.html":[11,0,4,0,0], -"d7/dbf/namespacestd_1_1this__thread.html":[9,0,118,4], -"d7/ded/queue_8hpp_source.html":[11,0,4,13], -"d7/def/trie__multiple__search_8cpp.html":[11,0,16,6], -"d7/def/trie__multiple__search_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,16,6,2], -"d7/def/trie__multiple__search_8cpp.html#abf9e6b7e6f15df4b525a2e7705ba3089":[11,0,16,6,1], -"d8/d10/structlist.html":[10,0,39], -"d8/d10/structlist.html#a1900fe79e875e2838625b2eb60837f8f":[10,0,39,1], -"d8/d10/structlist.html#aaab2e33bc1ca6f44e72239bfb58f100c":[10,0,39,0], -"d8/d13/bubble__sort_8cpp.html":[11,0,22,2], -"d8/d13/bubble__sort_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,22,2,2], -"d8/d13/bubble__sort_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,22,2,1], -"d8/d13/bubble__sort_8cpp.html#af3b12930a83915712461d53fe9659686":[11,0,22,2,0], -"d8/d14/namespacen__queens__optimized.html":[9,0,83], -"d8/d1d/namespacestrand.html":[9,0,119], -"d8/d28/classrange__queries_1_1per_seg_tree.html":[9,0,101,1], -"d8/d28/classrange__queries_1_1per_seg_tree.html":[10,0,16,2], -"d8/d28/classrange__queries_1_1per_seg_tree.html#a0cec4b77d264521717cf9b0482c45817":[9,0,101,1,4], -"d8/d28/classrange__queries_1_1per_seg_tree.html#a0cec4b77d264521717cf9b0482c45817":[10,0,16,2,4], -"d8/d28/classrange__queries_1_1per_seg_tree.html#a0fe4e431f3e09c274ecd7d2d58dcb865":[9,0,101,1,7], -"d8/d28/classrange__queries_1_1per_seg_tree.html#a0fe4e431f3e09c274ecd7d2d58dcb865":[10,0,16,2,7] +"d8/d77/namespacemachine__learning.html#a496302e3371aa7b478cb7d5917904bdd":[9,0,66,6], +"d8/d77/namespacemachine__learning.html#a50480fccfb39de20ca47f1bf51ecb6ec":[9,0,66,2], +"d8/d77/namespacemachine__learning.html#a5342906d42b80fc6b6b3ad17bf00fcb9":[9,0,66,10], +"d8/d77/namespacemachine__learning.html#a54bf1f3c43271a5fc93101f6ae2e6269":[9,0,66,16], +"d8/d77/namespacemachine__learning.html#a6f1c98c016ad34ff3d9f39372161bd35":[9,0,66,21], +"d8/d77/namespacemachine__learning.html#a7220dbb7fa896d83bfb7a50e4fce1786":[9,0,66,28], +"d8/d77/namespacemachine__learning.html#a84260cb1be9b63d6e38107000ac4b7e7":[9,0,66,17], +"d8/d77/namespacemachine__learning.html#a89fde571b38f9483576594f66572958a":[9,0,66,22], +"d8/d77/namespacemachine__learning.html#a8dd3f1ffbc2f26a3c88da1b1f8b7e9c4":[9,0,66,24], +"d8/d77/namespacemachine__learning.html#a912cf68863063a38d6e63545be5eb093":[9,0,66,19], +"d8/d77/namespacemachine__learning.html#aa4bbf61e65f8cd297255fa94b983d078":[9,0,66,4], +"d8/d77/namespacemachine__learning.html#aa6aac06ccf128b0a9c55c9ee1a8e5631":[9,0,66,25], +"d8/d77/namespacemachine__learning.html#aa72a53c88203fde278f1fe6c3afe5b07":[9,0,66,20], +"d8/d77/namespacemachine__learning.html#abee7b35403af3612222d3b7a53074905":[9,0,66,23], +"d8/d77/namespacemachine__learning.html#ac1bdaa2a724b4ce6a6bb371a5dbe2e7e":[9,0,66,27], +"d8/d77/namespacemachine__learning.html#ac332d152078e96311e43ac5e7183ea26":[9,0,66,9], +"d8/d77/namespacemachine__learning.html#ac43d294e21a0c4fa33c53757df054576":[9,0,66,7], +"d8/d77/namespacemachine__learning.html#acafa3e62b686aebdbad81c4f89913f43":[9,0,66,5], +"d8/d77/namespacemachine__learning.html#ad0bdc88e5f1be47c46c0f0c8ebf754bb":[9,0,66,1], +"d8/d77/namespacemachine__learning.html#ae10178b082f0205c326550877d998e5d":[9,0,66,18], +"d8/d77/namespacemachine__learning.html#ae6ec42318d172b97fbdf45638d09d7b5":[9,0,66,14], +"d8/d77/namespacemachine__learning.html#ae868ad43698a1d69ba46ea3827d7d2c3":[9,0,66,26], +"d8/d77/namespacemachine__learning.html#af4986b23760039711848155739c31b35":[9,0,66,15], +"d8/d77/namespacemachine__learning.html#af801bf30591ca6b2c38ff4fed0ded23f":[9,0,66,3], +"d8/d7a/sha1_8cpp.html":[11,0,12,5], +"d8/d7a/sha1_8cpp.html#a2397f2444a05e4d1487c67e215410d3c":[11,0,12,5,0], +"d8/d7a/sha1_8cpp.html#a7be3471f7e489d7d0df42b97a48bf141":[11,0,12,5,1], +"d8/d7a/sha1_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,12,5,6], +"d8/d7a/sha1_8cpp.html#aada0803ef851d831b7a290a924e3c228":[11,0,12,5,5], +"d8/d7a/sha1_8cpp.html#ac9e1a11f44135b890dd10a00e73b5661":[11,0,12,5,2], +"d8/d7a/sha1_8cpp.html#acf6bd970f29a68702bdbdfe8338e45e0":[11,0,12,5,3], +"d8/d7a/sha1_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,12,5,4], +"d8/d7a/sha1_8cpp_source.html":[11,0,12,5], +"d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list.html":[10,0,12,0,0], +"d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list.html#a03a896b34d27fda69049827e0c4dab42":[10,0,12,0,0,13], +"d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list.html#a142fa439b102c6f86341f421ddcfe0a1":[10,0,12,0,0,1], +"d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list.html#a15150d6d933c58190c9c1dd7d22c51ae":[10,0,12,0,0,7], +"d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list.html#a398d6cc927a2c8e4a156ae2806f48986":[10,0,12,0,0,4], +"d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list.html#a3b7bbb0918c261bc216aef9e6dd39aa4":[10,0,12,0,0,6], +"d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list.html#a424b17ddc672b25fe0bd9dc8612fba21":[10,0,12,0,0,11], +"d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list.html#a46195fcf11b636064c7172cb74b55dd0":[10,0,12,0,0,3], +"d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list.html#a53611ec1fef92eeeb875aea1bde1e4de":[10,0,12,0,0,12], +"d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list.html#a5d5cebd6bc906c60763fc6be10cfdd13":[10,0,12,0,0,15], +"d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list.html#a8f26dc32615abc5bab8ac458ef424bc5":[10,0,12,0,0,8], +"d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list.html#a9cc37166f2f73763df39894b675f89c9":[10,0,12,0,0,9], +"d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list.html#aa704319924f97fedfb41caf193a00888":[10,0,12,0,0,0], +"d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list.html#ab682f854f39582a20c9c4102f0482208":[10,0,12,0,0,14], +"d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list.html#abde75f6ee432b0378d264da8c7c64db2":[10,0,12,0,0,2], +"d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list.html#ac341901e926b3fa3a796c64ca572f592":[10,0,12,0,0,10], +"d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list.html#ac38565472a07d07f63ec0d2fd8a69d4d":[10,0,12,0,0,5], +"d8/d7c/radix__sort_8cpp_source.html":[11,0,23,28], +"d8/d7d/kruskals__minimum__spanning__tree_8cpp.html":[11,0,11,8], +"d8/d7d/kruskals__minimum__spanning__tree_8cpp.html#a349e4ab9a97532c3931a2bd2a19c0098":[11,0,11,8,0], +"d8/d7d/kruskals__minimum__spanning__tree_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,11,8,2], +"d8/d7d/kruskals__minimum__spanning__tree_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,11,8,1], +"d8/d7d/kruskals__minimum__spanning__tree_8cpp_source.html":[11,0,11,8], +"d8/d88/namespaceset_kth_bit.html":[9,0,108], +"d8/d89/namespacelinear__probing.html":[8,0,1], +"d8/d89/namespacelinear__probing.html#a16680b8a37d442c2f208faa286e33908":[9,0,61,2], +"d8/d89/namespacelinear__probing.html#a16d34fd3511626a83ab00665d7bc34d1":[9,0,61,1], +"d8/d89/namespacelinear__probing.html#a4bde7a47f98dd1ad24c84038e2608527":[9,0,61,4], +"d8/d89/namespacelinear__probing.html#a6322209aaa91b7bbf16f96e1cc52b746":[9,0,61,5], +"d8/d89/namespacelinear__probing.html#a6a082dc1426a79f866cee6b370df37b0":[9,0,61,7], +"d8/d89/namespacelinear__probing.html#a75854f5aa216e61219154c62167ce8f0":[9,0,61,8], +"d8/d89/namespacelinear__probing.html#a75d779938df7ebc68581d922b60a2541":[9,0,61,6], +"d8/d89/namespacelinear__probing.html#a942fc8407b8001890ea26830cdcd9d77":[9,0,61,10], +"d8/d89/namespacelinear__probing.html#abcf8d033f8115f39f3c93cfb6cee0b28":[9,0,61,9], +"d8/d89/namespacelinear__probing.html#ad87b71d810901fab69c4ad9d4d0fa635":[9,0,61,3], +"d8/d8a/exponential__search_8cpp.html":[11,0,22,1], +"d8/d8a/exponential__search_8cpp.html#ab06cedad209456eae95d37b7cd66acae":[11,0,22,1,0], +"d8/d8a/exponential__search_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,22,1,1], +"d8/d8a/exponential__search_8cpp.html#af421bf4b7b95f20ac86c233adfdb9208":[11,0,22,1,2], +"d8/d8a/exponential__search_8cpp_source.html":[11,0,22,1], +"d8/d8f/bitonic__sort_8cpp_source.html":[11,0,23,2], +"d8/d90/iterative__tree__traversals_8cpp.html":[11,0,17,7], +"d8/d90/iterative__tree__traversals_8cpp.html#a038b236fe900f7bb7e57164f5bed66c2":[11,0,17,7,6], +"d8/d90/iterative__tree__traversals_8cpp.html#a21d922dbb5905993960c6a7f0ba71ac0":[11,0,17,7,3], +"d8/d90/iterative__tree__traversals_8cpp.html#a425c4c8520991999ee6dbe13d99b87f4":[11,0,17,7,5], +"d8/d90/iterative__tree__traversals_8cpp.html#aa9ef334cd7eb607f4eb8732566ea00b8":[11,0,17,7,7], +"d8/d90/iterative__tree__traversals_8cpp.html#ac35ae2868441f8a11c965b87b2494f21":[11,0,17,7,4], +"d8/d90/iterative__tree__traversals_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,17,7,2], +"d8/d90/iterative__tree__traversals_8cpp.html#af727f920064f2b8f484b589b60d49b89":[11,0,17,7,8], +"d8/d90/iterative__tree__traversals_8cpp_source.html":[11,0,17,7], +"d8/d93/namespacemagic__sequence.html":[9,0,67], +"d8/d95/vector__ops_8hpp.html":[11,0,13,7], +"d8/d95/vector__ops_8hpp.html#a0cc29566568e0383dd7d374068cbe6b3":[11,0,13,7,10], +"d8/d95/vector__ops_8hpp.html#a16f34574b7e0dd51bc3b3fda37446695":[11,0,13,7,8], +"d8/d95/vector__ops_8hpp.html#a2466857dab977a49f117029835b3b6d2":[11,0,13,7,9], +"d8/d95/vector__ops_8hpp.html#a496302e3371aa7b478cb7d5917904bdd":[11,0,13,7,5], +"d8/d95/vector__ops_8hpp.html#a50480fccfb39de20ca47f1bf51ecb6ec":[11,0,13,7,1], +"d8/d95/vector__ops_8hpp.html#a5342906d42b80fc6b6b3ad17bf00fcb9":[11,0,13,7,7], +"d8/d95/vector__ops_8hpp.html#a54bf1f3c43271a5fc93101f6ae2e6269":[11,0,13,7,13], +"d8/d95/vector__ops_8hpp.html#a6f1c98c016ad34ff3d9f39372161bd35":[11,0,13,7,17], +"d8/d95/vector__ops_8hpp.html#a84260cb1be9b63d6e38107000ac4b7e7":[11,0,13,7,14], +"d8/d95/vector__ops_8hpp.html#a89fde571b38f9483576594f66572958a":[11,0,13,7,18], +"d8/d95/vector__ops_8hpp.html#a8dd3f1ffbc2f26a3c88da1b1f8b7e9c4":[11,0,13,7,20], +"d8/d95/vector__ops_8hpp.html#a912cf68863063a38d6e63545be5eb093":[11,0,13,7,16], +"d8/d95/vector__ops_8hpp.html#aa4bbf61e65f8cd297255fa94b983d078":[11,0,13,7,3], +"d8/d95/vector__ops_8hpp.html#abee7b35403af3612222d3b7a53074905":[11,0,13,7,19], +"d8/d95/vector__ops_8hpp.html#ac1bdaa2a724b4ce6a6bb371a5dbe2e7e":[11,0,13,7,21], +"d8/d95/vector__ops_8hpp.html#ac332d152078e96311e43ac5e7183ea26":[11,0,13,7,6], +"d8/d95/vector__ops_8hpp.html#acafa3e62b686aebdbad81c4f89913f43":[11,0,13,7,4], +"d8/d95/vector__ops_8hpp.html#ad0bdc88e5f1be47c46c0f0c8ebf754bb":[11,0,13,7,0], +"d8/d95/vector__ops_8hpp.html#ae10178b082f0205c326550877d998e5d":[11,0,13,7,15], +"d8/d95/vector__ops_8hpp.html#ae6ec42318d172b97fbdf45638d09d7b5":[11,0,13,7,11], +"d8/d95/vector__ops_8hpp.html#af4986b23760039711848155739c31b35":[11,0,13,7,12], +"d8/d95/vector__ops_8hpp.html#af801bf30591ca6b2c38ff4fed0ded23f":[11,0,13,7,2], +"d8/d95/vector__ops_8hpp_source.html":[11,0,13,7], +"d8/d96/stack__using__array_8cpp_source.html":[11,0,4,28], +"d8/d99/connected__components__with__dsu_8cpp.html":[11,0,9,4], +"d8/d99/connected__components__with__dsu_8cpp.html#a469384d8a4197a9b24482ce7c321a85e":[11,0,9,4,0], +"d8/d99/connected__components__with__dsu_8cpp.html#a67cb7472f310a798f555fe45cdf50145":[11,0,9,4,5], +"d8/d99/connected__components__with__dsu_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,9,4,4], +"d8/d99/connected__components__with__dsu_8cpp.html#ac2d6698b71384a352ec4b81b31b13141":[11,0,9,4,3], +"d8/d99/connected__components__with__dsu_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,9,4,1], +"d8/d99/connected__components__with__dsu_8cpp.html#ae91ed94113c56191b75fe45f688d6e62":[11,0,9,4,2], +"d8/d99/connected__components__with__dsu_8cpp_source.html":[11,0,9,4], +"d8/d9a/fast__fourier__transform_8cpp.html":[11,0,15,6], +"d8/d9a/fast__fourier__transform_8cpp.html#a158fd271b9a53e8f3f60b08b18857150":[11,0,15,6,0], +"d8/d9a/fast__fourier__transform_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,15,6,2], +"d8/d9a/fast__fourier__transform_8cpp.html#abf9e6b7e6f15df4b525a2e7705ba3089":[11,0,15,6,1], +"d8/d9a/fast__fourier__transform_8cpp_source.html":[11,0,15,6], +"d8/d9c/union__of__two__arrays_8cpp.html":[11,0,16,11], +"d8/d9c/union__of__two__arrays_8cpp.html#a167c24bd817469ae47358d12e034f2d5":[11,0,16,11,4], +"d8/d9c/union__of__two__arrays_8cpp.html#a2b8ff06a84b041457873840bf82e2d74":[11,0,16,11,0], +"d8/d9c/union__of__two__arrays_8cpp.html#a2b9769e44683dcb67fe1083ad91e134d":[11,0,16,11,7], +"d8/d9c/union__of__two__arrays_8cpp.html#a6109193567a5b7e36a27f2b4865fce20":[11,0,16,11,2], +"d8/d9c/union__of__two__arrays_8cpp.html#aa515639572647508b94986489aab6d76":[11,0,16,11,6], +"d8/d9c/union__of__two__arrays_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,16,11,3], +"d8/d9c/union__of__two__arrays_8cpp.html#aacafde185abd8670abee51157f273dc2":[11,0,16,11,9], +"d8/d9c/union__of__two__arrays_8cpp.html#abdd77344d4af8fd56d14a5cabbf2f669":[11,0,16,11,5], +"d8/d9c/union__of__two__arrays_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,16,11,1], +"d8/d9c/union__of__two__arrays_8cpp.html#af7b81d7a1534216af6a36a80135beb86":[11,0,16,11,8], +"d8/d9c/union__of__two__arrays_8cpp_source.html":[11,0,16,11], +"d8/d9f/namespacesudoku__solver.html":[9,0,127], +"d8/da7/namespacedepth__first__search.html":[9,0,22], +"d8/dab/classstatistics_1_1stats__computer2.html":[9,0,117,1], +"d8/dab/classstatistics_1_1stats__computer2.html":[10,0,18,1], +"d8/dab/classstatistics_1_1stats__computer2.html#a8290966ad468f2a8c266d008bc60720e":[9,0,117,1,0], +"d8/dab/classstatistics_1_1stats__computer2.html#a8290966ad468f2a8c266d008bc60720e":[10,0,18,1,0], +"d8/dab/classstatistics_1_1stats__computer2.html#ab444d485c9e7db35bdc2ff6b7775291a":[9,0,117,1,4], +"d8/dab/classstatistics_1_1stats__computer2.html#ab444d485c9e7db35bdc2ff6b7775291a":[10,0,18,1,4], +"d8/dab/classstatistics_1_1stats__computer2.html#acf2e84df4fc386bb3295016ef8fd156e":[9,0,117,1,2], +"d8/dab/classstatistics_1_1stats__computer2.html#acf2e84df4fc386bb3295016ef8fd156e":[10,0,18,1,2], +"d8/dab/classstatistics_1_1stats__computer2.html#ade6de704deea24fdc88077b3d9a0d534":[9,0,117,1,1], +"d8/dab/classstatistics_1_1stats__computer2.html#ade6de704deea24fdc88077b3d9a0d534":[10,0,18,1,1], +"d8/dab/classstatistics_1_1stats__computer2.html#af6198817084276113b3c064e87ce0555":[9,0,117,1,3], +"d8/dab/classstatistics_1_1stats__computer2.html#af6198817084276113b3c064e87ce0555":[10,0,18,1,3], +"d8/dab/sparse__table_8cpp.html":[11,0,4,26], +"d8/dab/sparse__table_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97":[11,0,4,26,1], +"d8/dab/sparse__table_8cpp.html#a10f3ffb3f6f7e1b83d556b9c8de89a5d":[11,0,4,26,4], +"d8/dab/sparse__table_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,4,26,2], +"d8/dab/sparse__table_8cpp.html#af7db62f21983565c64d5d42d2a49888e":[11,0,4,26,3], +"d8/dab/sparse__table_8cpp_source.html":[11,0,4,26], +"d8/db1/binomial__calculate_8cpp.html":[11,0,14,5], +"d8/db1/binomial__calculate_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e":[11,0,14,5,2], +"d8/db1/binomial__calculate_8cpp.html#aae407a2a13362c4c64fbe509ff325978":[11,0,14,5,0], +"d8/db1/binomial__calculate_8cpp.html#ac0f2228420376f4db7e1274f2b41667c":[11,0,14,5,1], +"d8/db1/binomial__calculate_8cpp_source.html":[11,0,14,5], +"d8/db7/queue__using__linked__list_8cpp_source.html":[11,0,4,19], +"d8/db9/topological__sort_8cpp.html":[11,0,9,18], +"d8/db9/topological__sort_8cpp.html#a54dc5d7914958dbd24dda2fd862dc41b":[11,0,9,18,4], +"d8/db9/topological__sort_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,9,18,3], +"d8/db9/topological__sort_8cpp.html#abcbcaa2bb70af0a11d0c090ea1796aea":[11,0,9,18,1], +"d8/db9/topological__sort_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,9,18,2], +"d8/db9/topological__sort_8cpp_source.html":[11,0,9,18], +"d8/dc6/namespacemanacher.html":[9,0,68], +"d8/dc8/struct_point.html":[10,0,47], +"d8/dc8/struct_point.html#a2e1b5fb2b2a83571f5c0bc0f66a73cf7":[10,0,47,2], +"d8/dc8/struct_point.html#ab99c56589bc8ad5fa5071387110a5bc7":[10,0,47,1], +"d8/dc8/struct_point.html#ae2d6fb1b3fd3a96169d963d62e37130a":[10,0,47,0], +"d8/dc8/struct_point.html#afa38be143ae800e6ad69ce8ed4df62d8":[10,0,47,3], +"d8/dcc/binary__insertion__sort_8cpp.html":[11,0,23,1], +"d8/dcc/binary__insertion__sort_8cpp.html#a034d8b276518a902962e87d3158b64fd":[11,0,23,1,0], +"d8/dcc/binary__insertion__sort_8cpp.html#a5f4bc75cca6dd8294af2d0e328006c68":[11,0,23,1,1], +"d8/dcc/binary__insertion__sort_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,23,1,3], +"d8/dcc/binary__insertion__sort_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,23,1,2], +"d8/dcc/binary__insertion__sort_8cpp_source.html":[11,0,23,1], +"d8/dcd/namespacelru__cache.html":[9,0,65], +"d8/dce/test__queue_8cpp_source.html":[11,0,4,31], +"d8/dd5/check__factorial_8cpp.html":[11,0,14,7], +"d8/dd5/check__factorial_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e":[11,0,14,7,2], +"d8/dd5/check__factorial_8cpp.html#a6c72f756a7bf1b9043c357e3fe7814ca":[11,0,14,7,0], +"d8/dd5/check__factorial_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,14,7,1], +"d8/dd5/check__factorial_8cpp_source.html":[11,0,14,7], +"d8/ddf/sieve__of__eratosthenes_8cpp.html":[11,0,14,53], +"d8/ddf/sieve__of__eratosthenes_8cpp.html#a22be949d160b26361f7e323310f7fa0c":[11,0,14,53,2], +"d8/ddf/sieve__of__eratosthenes_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e":[11,0,14,53,3], +"d8/ddf/sieve__of__eratosthenes_8cpp.html#a55bc4a221e584d33b79b322432ecc0f3":[11,0,14,53,1], +"d8/ddf/sieve__of__eratosthenes_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,14,53,0], +"d8/ddf/sieve__of__eratosthenes_8cpp_source.html":[11,0,14,53], +"d8/dee/avltree_8cpp.html":[11,0,4,1], +"d8/dee/avltree_8cpp.html#a2473fe7416332495b2678ebe89652e4b":[11,0,4,1,6], +"d8/dee/avltree_8cpp.html#a473eee1803e4e44a54d685e4b0eef5a6":[11,0,4,1,7], +"d8/dee/avltree_8cpp.html#a48d897353aeb6a721dbc6b6c57e035e6":[11,0,4,1,1], +"d8/dee/avltree_8cpp.html#a5fa160a678a34dd51c0aea1c0c00ed5e":[11,0,4,1,10], +"d8/dee/avltree_8cpp.html#a74f0cf18a0e5b832d9994e2f2d022287":[11,0,4,1,0], +"d8/dee/avltree_8cpp.html#a82659e9e223e520cf91d7e55c4a3f88c":[11,0,4,1,2], +"d8/dee/avltree_8cpp.html#aa29a7fdc2db1784f5a6e25025ff7cbf5":[11,0,4,1,3], +"d8/dee/avltree_8cpp.html#aaa457ffec24c9643f2768e7a65e96546":[11,0,4,1,4], +"d8/dee/avltree_8cpp.html#adfc1d482a564c041756719667b955b8c":[11,0,4,1,11], +"d8/dee/avltree_8cpp.html#ae197eb50188fb761346952b9b5f6be59":[11,0,4,1,8], +"d8/dee/avltree_8cpp.html#ae4a66d8b0c2b0d626aea45977e358c83":[11,0,4,1,5], +"d8/dee/avltree_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,4,1,9], +"d8/dee/avltree_8cpp_source.html":[11,0,4,1], +"d8/df0/queue__using__array_8cpp.html":[11,0,4,17], +"d8/df0/queue__using__array_8cpp.html#a2d49e79bd164c298912db252970520d8":[11,0,4,17,2], +"d8/df0/queue__using__array_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,4,17,1], +"d8/df0/queue__using__array_8cpp_source.html":[11,0,4,17], +"d8/dfa/median__search2_8cpp.html":[11,0,22,11], +"d8/dfa/median__search2_8cpp.html#a5fefe132a0c3ee780ebc703f37ebce6a":[11,0,22,11,2], +"d8/dfa/median__search2_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,22,11,3], +"d8/dfa/median__search2_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,22,11,1], +"d8/dfa/median__search2_8cpp_source.html":[11,0,22,11], +"d8/dfd/structoperations__on__datastructures_1_1reverse__binary__tree_1_1_node.html":[10,0,12,2,1], +"d8/dfd/structoperations__on__datastructures_1_1reverse__binary__tree_1_1_node.html#a15dd7a0a7d9b1e8b2012c5161aecd6e3":[10,0,12,2,1,0], +"d8/dfd/structoperations__on__datastructures_1_1reverse__binary__tree_1_1_node.html#ab13a4dd92d54c11eca86edde3ef32256":[10,0,12,2,1,3], +"d8/dfd/structoperations__on__datastructures_1_1reverse__binary__tree_1_1_node.html#ae54953a75091532303bb08d55087077f":[10,0,12,2,1,1], +"d8/dfd/structoperations__on__datastructures_1_1reverse__binary__tree_1_1_node.html#aeb01a65e51df1e3bc5296cde8477c352":[10,0,12,2,1,2], +"d9/d00/factorial_8cpp.html":[11,0,14,14], +"d9/d00/factorial_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e":[11,0,14,14,2], +"d9/d00/factorial_8cpp.html#a7e78996673df791014cfe540b183456a":[11,0,14,14,0], +"d9/d00/factorial_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,14,14,1], +"d9/d00/factorial_8cpp_source.html":[11,0,14,14], +"d9/d02/linear__search_8cpp.html":[11,0,22,8], +"d9/d02/linear__search_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e":[11,0,22,8,2], +"d9/d02/linear__search_8cpp.html#a84ac3988a534eb60ca351ed6caf56d84":[11,0,22,8,0], +"d9/d02/linear__search_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,22,8,1], +"d9/d02/linear__search_8cpp_source.html":[11,0,22,8], +"d9/d03/namespacestring__search.html":[9,0,121], +"d9/d03/namespacestring__search.html#a1e37af2f023495129cb57338c801209e":[9,0,121,4], +"d9/d03/namespacestring__search.html#a21c673d56cbf67b1d2ee4d869185b7d9":[9,0,121,5], +"d9/d03/namespacestring__search.html#a83c72ff237cdf623e42d4295e0029bf9":[9,0,121,3], +"d9/d03/namespacestring__search.html#a8fb0bc932ba8b582c9f4c71338d050f8":[9,0,121,2], +"d9/d03/namespacestring__search.html#aeb2cd81064717aedd62bfb096b1a73d8":[9,0,121,0], +"d9/d03/namespacestring__search.html#aebe07cea289a13142503d98be7df11fd":[9,0,121,1], +"d9/d03/namespacestring__search.html#aed769d565b705a9b3e0eb1ec74088893":[9,0,121,6], +"d9/d12/classothers_1_1iterative__tree__traversals_1_1_binary_tree.html":[10,0,13,1,0], +"d9/d12/classothers_1_1iterative__tree__traversals_1_1_binary_tree.html#a0c33f2c1a3a3deb486a1c33ee5239499":[10,0,13,1,0,1], +"d9/d12/classothers_1_1iterative__tree__traversals_1_1_binary_tree.html#a3078a5ccf45d6a7031dcf46e43de65b6":[10,0,13,1,0,0], +"d9/d12/classothers_1_1iterative__tree__traversals_1_1_binary_tree.html#a636a07c90b7f312bb86d2ec104efca25":[10,0,13,1,0,2], +"d9/d12/classothers_1_1iterative__tree__traversals_1_1_binary_tree.html#ad4c6a8e67fb8267a65439b035666b5ae":[10,0,13,1,0,3], +"d9/d13/namespaceinversion.html":[9,0,51], +"d9/d14/array__left__rotation_8cpp.html":[11,0,16,0], +"d9/d14/array__left__rotation_8cpp.html#a167c24bd817469ae47358d12e034f2d5":[11,0,16,0,4], +"d9/d14/array__left__rotation_8cpp.html#a2b9769e44683dcb67fe1083ad91e134d":[11,0,16,0,7], +"d9/d14/array__left__rotation_8cpp.html#a6109193567a5b7e36a27f2b4865fce20":[11,0,16,0,1], +"d9/d14/array__left__rotation_8cpp.html#aa515639572647508b94986489aab6d76":[11,0,16,0,6], +"d9/d14/array__left__rotation_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,16,0,3], +"d9/d14/array__left__rotation_8cpp.html#abdd77344d4af8fd56d14a5cabbf2f669":[11,0,16,0,5] }; diff --git a/navtreeindex8.js b/navtreeindex8.js index 651717092..ea3ee2584 100644 --- a/navtreeindex8.js +++ b/navtreeindex8.js @@ -1,253 +1,253 @@ var NAVTREEINDEX8 = { -"d8/d28/classrange__queries_1_1per_seg_tree.html#a1eac9cf0613dfc8e2b0195009dd5c9d5":[9,0,101,1,10], -"d8/d28/classrange__queries_1_1per_seg_tree.html#a1eac9cf0613dfc8e2b0195009dd5c9d5":[10,0,16,2,10], -"d8/d28/classrange__queries_1_1per_seg_tree.html#a24487eda25123bc4d112e8430821a6c6":[9,0,101,1,8], -"d8/d28/classrange__queries_1_1per_seg_tree.html#a24487eda25123bc4d112e8430821a6c6":[10,0,16,2,8], -"d8/d28/classrange__queries_1_1per_seg_tree.html#a6d3f2465a7c5803a1ff16c5378bcc5e4":[9,0,101,1,2], -"d8/d28/classrange__queries_1_1per_seg_tree.html#a6d3f2465a7c5803a1ff16c5378bcc5e4":[10,0,16,2,2], -"d8/d28/classrange__queries_1_1per_seg_tree.html#a8ff495d2f389b4aaa54449c26c6078f3":[9,0,101,1,11], -"d8/d28/classrange__queries_1_1per_seg_tree.html#a8ff495d2f389b4aaa54449c26c6078f3":[10,0,16,2,11], -"d8/d28/classrange__queries_1_1per_seg_tree.html#ac83bcabf5a8db8b0d8d156a4c1bcd4c3":[9,0,101,1,1], -"d8/d28/classrange__queries_1_1per_seg_tree.html#ac83bcabf5a8db8b0d8d156a4c1bcd4c3":[10,0,16,2,1], -"d8/d28/classrange__queries_1_1per_seg_tree.html#ace7f57935b3bb9446f11c239fd89ae79":[9,0,101,1,3], -"d8/d28/classrange__queries_1_1per_seg_tree.html#ace7f57935b3bb9446f11c239fd89ae79":[10,0,16,2,3], -"d8/d28/classrange__queries_1_1per_seg_tree.html#ad484002bcb701820d55f32ea5d525571":[9,0,101,1,6], -"d8/d28/classrange__queries_1_1per_seg_tree.html#ad484002bcb701820d55f32ea5d525571":[10,0,16,2,6], -"d8/d28/classrange__queries_1_1per_seg_tree.html#ae8ae4b1835e5e8aec32f68c5059ed4d4":[9,0,101,1,5], -"d8/d28/classrange__queries_1_1per_seg_tree.html#ae8ae4b1835e5e8aec32f68c5059ed4d4":[10,0,16,2,5], -"d8/d28/classrange__queries_1_1per_seg_tree.html#af87494e6cf012d28c4f5b9d1c15f9c5d":[9,0,101,1,9], -"d8/d28/classrange__queries_1_1per_seg_tree.html#af87494e6cf012d28c4f5b9d1c15f9c5d":[10,0,16,2,9], -"d8/d2a/namespacea1z26.html":[9,0,0], -"d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache.html":[9,0,88,0,2], -"d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache.html":[10,0,13,0,2], -"d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache.html#a042bb403f4452ad8c669fbf87ef82821":[9,0,88,0,2,11], -"d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache.html#a042bb403f4452ad8c669fbf87ef82821":[10,0,13,0,2,11], -"d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache.html#a1b709333874b4633ee02a3661cd042e1":[9,0,88,0,2,9], -"d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache.html#a1b709333874b4633ee02a3661cd042e1":[10,0,13,0,2,9], -"d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache.html#a2e53b5ad1368d87da501f61473eb9ea2":[9,0,88,0,2,7], -"d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache.html#a2e53b5ad1368d87da501f61473eb9ea2":[10,0,13,0,2,7], -"d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache.html#a448121f391a71f4cf88c3cb6c4cf3100":[9,0,88,0,2,13], -"d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache.html#a448121f391a71f4cf88c3cb6c4cf3100":[10,0,13,0,2,13], -"d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache.html#a5ee34fcee480f21bb6f68a34f0f69b45":[9,0,88,0,2,8], -"d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache.html#a5ee34fcee480f21bb6f68a34f0f69b45":[10,0,13,0,2,8], -"d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache.html#a6d855ff72ad6fe548eb564b7f87abe06":[9,0,88,0,2,1], -"d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache.html#a6d855ff72ad6fe548eb564b7f87abe06":[10,0,13,0,2,1], -"d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache.html#a8980cbbc9cf0a98a9592b40c4d6ec28f":[9,0,88,0,2,0], -"d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache.html#a8980cbbc9cf0a98a9592b40c4d6ec28f":[10,0,13,0,2,0], -"d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache.html#a8dab0f69410484f772946befd24cc3c5":[9,0,88,0,2,12], -"d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache.html#a8dab0f69410484f772946befd24cc3c5":[10,0,13,0,2,12], -"d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache.html#ab211a4be58491bf11834cae88a0c44f7":[9,0,88,0,2,6], -"d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache.html#ab211a4be58491bf11834cae88a0c44f7":[10,0,13,0,2,6], -"d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache.html#ab8b6a6aa95db678596bc2a49e864683e":[9,0,88,0,2,3], -"d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache.html#ab8b6a6aa95db678596bc2a49e864683e":[10,0,13,0,2,3], -"d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache.html#ac1be0357ecc7c34144f3d9a63c6cb3ea":[9,0,88,0,2,4], -"d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache.html#ac1be0357ecc7c34144f3d9a63c6cb3ea":[10,0,13,0,2,4], -"d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache.html#ad022d494b40f82417340b113445e79a4":[9,0,88,0,2,5], -"d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache.html#ad022d494b40f82417340b113445e79a4":[10,0,13,0,2,5], -"d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache.html#af34bb8b8eaa34cc499b4fed30b9d05fc":[9,0,88,0,2,10], -"d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache.html#af34bb8b8eaa34cc499b4fed30b9d05fc":[10,0,13,0,2,10], -"d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache.html#af8edfe5a7def5d5b846463041c33136a":[9,0,88,0,2,2], -"d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache.html#af8edfe5a7def5d5b846463041c33136a":[10,0,13,0,2,2], -"d8/d36/namespacecut__rod.html":[9,0,18], -"d8/d41/namespacegames_1_1memory__game.html":[9,0,34,0], -"d8/d41/namespacegames_1_1memory__game.html#a33167bb9cce6d527b478b4f6ae8c3f59":[9,0,34,0,3], -"d8/d41/namespacegames_1_1memory__game.html#a370760f2b328ad341bcb77d82fa17b01":[9,0,34,0,4], -"d8/d41/namespacegames_1_1memory__game.html#a3ceeea62d8fa6c563e2c66359fd73413":[9,0,34,0,1], -"d8/d41/namespacegames_1_1memory__game.html#a5714d97649c0edd57b4fb449799676a3":[9,0,34,0,0], -"d8/d41/namespacegames_1_1memory__game.html#ac589ef65abb0a6b9a7116ee0f9fd5280":[9,0,34,0,5], -"d8/d41/namespacegames_1_1memory__game.html#ad573c8ae66ab66156d03e5e81bbba214":[9,0,34,0,2], -"d8/d41/namespacegames_1_1memory__game.html#adc62ebb75853446656e24932bdc6dd6b":[9,0,34,0,6], -"d8/d53/modular__inverse__fermat__little__theorem_8cpp.html":[11,0,14,37], -"d8/d53/modular__inverse__fermat__little__theorem_8cpp.html#a1c62a87e79f29b98d8fe5b12eacdd928":[11,0,14,37,0], -"d8/d53/modular__inverse__fermat__little__theorem_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,14,37,4], -"d8/d53/modular__inverse__fermat__little__theorem_8cpp.html#aba4929409fee35c3cb559e962a544b3e":[11,0,14,37,1], -"d8/d53/modular__inverse__fermat__little__theorem_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,14,37,2], -"d8/d53/modular__inverse__fermat__little__theorem_8cpp.html#ae7e807e02c65c6fffd6162b4c66290c2":[11,0,14,37,3], -"d8/d61/radix__sort2_8cpp.html":[11,0,22,19], -"d8/d61/radix__sort2_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e":[11,0,22,19,3], -"d8/d61/radix__sort2_8cpp.html#a98ead7d43b11505398daf9a894f122f9":[11,0,22,19,2], -"d8/d61/radix__sort2_8cpp.html#ae0cfd94fa3765b53d4ec7893ffaee5f8":[11,0,22,19,1], -"d8/d61/radix__sort2_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,22,19,0], -"d8/d64/namespaceboruvkas__minimum__spanning__tree.html":[9,0,10], -"d8/d68/dijkstra_8cpp.html":[11,0,9,6], -"d8/d68/dijkstra_8cpp.html#a0e30e0dca68cb6e4f671440819b35b6a":[11,0,9,6,0], -"d8/d68/dijkstra_8cpp.html#a88ec9ad42717780d6caaff9d3d6977f9":[11,0,9,6,3], -"d8/d68/dijkstra_8cpp.html#adc68cbc8ba09eb1142265935c0d45b84":[11,0,9,6,1], -"d8/d68/dijkstra_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,9,6,2], -"d8/d69/classgraph_1_1_h_k_graph.html":[9,0,39,1], -"d8/d69/classgraph_1_1_h_k_graph.html":[10,0,6,3], -"d8/d69/classgraph_1_1_h_k_graph.html#a0da5aa674d3b3e54a38251ee60d7cd64":[9,0,39,1,1], -"d8/d69/classgraph_1_1_h_k_graph.html#a0da5aa674d3b3e54a38251ee60d7cd64":[10,0,6,3,1], -"d8/d69/classgraph_1_1_h_k_graph.html#a35893def7a1c5cd60907b4893117796f":[9,0,39,1,6], -"d8/d69/classgraph_1_1_h_k_graph.html#a35893def7a1c5cd60907b4893117796f":[10,0,6,3,6], -"d8/d69/classgraph_1_1_h_k_graph.html#a3b49011c09cf90a116ab53bef61cd95a":[9,0,39,1,2], -"d8/d69/classgraph_1_1_h_k_graph.html#a3b49011c09cf90a116ab53bef61cd95a":[10,0,6,3,2], -"d8/d69/classgraph_1_1_h_k_graph.html#a3d9101e3b4598159005fd028b9b0ff74":[9,0,39,1,8], -"d8/d69/classgraph_1_1_h_k_graph.html#a3d9101e3b4598159005fd028b9b0ff74":[10,0,6,3,8], -"d8/d69/classgraph_1_1_h_k_graph.html#a6a0228bbba3818447fcf6b56128b552a":[9,0,39,1,7], -"d8/d69/classgraph_1_1_h_k_graph.html#a6a0228bbba3818447fcf6b56128b552a":[10,0,6,3,7], -"d8/d69/classgraph_1_1_h_k_graph.html#a6f5a9fdbb83ef731d739ba6707e21c3c":[9,0,39,1,9], -"d8/d69/classgraph_1_1_h_k_graph.html#a6f5a9fdbb83ef731d739ba6707e21c3c":[10,0,6,3,9], -"d8/d69/classgraph_1_1_h_k_graph.html#a7491add14d9fc04f679114ca6d6f0f93":[9,0,39,1,3], -"d8/d69/classgraph_1_1_h_k_graph.html#a7491add14d9fc04f679114ca6d6f0f93":[10,0,6,3,3], -"d8/d69/classgraph_1_1_h_k_graph.html#a86ebff8a70cbfedd05281993d5d1987b":[9,0,39,1,10], -"d8/d69/classgraph_1_1_h_k_graph.html#a86ebff8a70cbfedd05281993d5d1987b":[10,0,6,3,10], -"d8/d69/classgraph_1_1_h_k_graph.html#a976ee239402cc2726a280e781c706d77":[9,0,39,1,11], -"d8/d69/classgraph_1_1_h_k_graph.html#a976ee239402cc2726a280e781c706d77":[10,0,6,3,11], -"d8/d69/classgraph_1_1_h_k_graph.html#a9dbda80d02bdc26c3e8ff7330c9be75d":[9,0,39,1,5], -"d8/d69/classgraph_1_1_h_k_graph.html#a9dbda80d02bdc26c3e8ff7330c9be75d":[10,0,6,3,5], -"d8/d69/classgraph_1_1_h_k_graph.html#ae794950cb3407b6b47d3dc986cf714c0":[9,0,39,1,4], -"d8/d69/classgraph_1_1_h_k_graph.html#ae794950cb3407b6b47d3dc986cf714c0":[10,0,6,3,4], -"d8/d69/classgraph_1_1_h_k_graph.html#af02b0c83911070ac6d95fc9905e58aa9":[9,0,39,1,0], -"d8/d69/classgraph_1_1_h_k_graph.html#af02b0c83911070ac6d95fc9905e58aa9":[10,0,6,3,0], -"d8/d6c/line__segment__intersection_8cpp.html":[11,0,8,2], -"d8/d6c/line__segment__intersection_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,8,2,2], -"d8/d72/class_r_btree.html":[10,0,51], -"d8/d76/morse__code_8cpp.html":[11,0,2,5], -"d8/d76/morse__code_8cpp.html#a0242e458904de8a242fcdaffe9e3ba1a":[11,0,2,5,2], -"d8/d76/morse__code_8cpp.html#a15c66ec8cf4cef0a35c50cbab86965dc":[11,0,2,5,1], -"d8/d76/morse__code_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,2,5,5], -"d8/d76/morse__code_8cpp.html#ab31773fd11555d21f70d6914138d9535":[11,0,2,5,0], -"d8/d76/morse__code_8cpp.html#ac9f294b0dec08a4a11d477a32f9bd829":[11,0,2,5,4], -"d8/d76/morse__code_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,2,5,3], -"d8/d76/namespacetopological__sort.html":[9,0,130], -"d8/d77/namespacemachine__learning.html":[8,1,3], -"d8/d77/namespacemachine__learning.html#a042f435bca0839e721fc1574a61e8da3":[9,0,66,8], -"d8/d77/namespacemachine__learning.html#a0cc29566568e0383dd7d374068cbe6b3":[9,0,66,13], -"d8/d77/namespacemachine__learning.html#a16f34574b7e0dd51bc3b3fda37446695":[9,0,66,11], -"d8/d77/namespacemachine__learning.html#a2466857dab977a49f117029835b3b6d2":[9,0,66,12], -"d8/d77/namespacemachine__learning.html#a496302e3371aa7b478cb7d5917904bdd":[9,0,66,6], -"d8/d77/namespacemachine__learning.html#a50480fccfb39de20ca47f1bf51ecb6ec":[9,0,66,2], -"d8/d77/namespacemachine__learning.html#a5342906d42b80fc6b6b3ad17bf00fcb9":[9,0,66,10], -"d8/d77/namespacemachine__learning.html#a54bf1f3c43271a5fc93101f6ae2e6269":[9,0,66,16], -"d8/d77/namespacemachine__learning.html#a6f1c98c016ad34ff3d9f39372161bd35":[9,0,66,21], -"d8/d77/namespacemachine__learning.html#a7220dbb7fa896d83bfb7a50e4fce1786":[9,0,66,28], -"d8/d77/namespacemachine__learning.html#a84260cb1be9b63d6e38107000ac4b7e7":[9,0,66,17], -"d8/d77/namespacemachine__learning.html#a89fde571b38f9483576594f66572958a":[9,0,66,22], -"d8/d77/namespacemachine__learning.html#a8dd3f1ffbc2f26a3c88da1b1f8b7e9c4":[9,0,66,24], -"d8/d77/namespacemachine__learning.html#a912cf68863063a38d6e63545be5eb093":[9,0,66,19], -"d8/d77/namespacemachine__learning.html#aa4bbf61e65f8cd297255fa94b983d078":[9,0,66,4], -"d8/d77/namespacemachine__learning.html#aa6aac06ccf128b0a9c55c9ee1a8e5631":[9,0,66,25], -"d8/d77/namespacemachine__learning.html#aa72a53c88203fde278f1fe6c3afe5b07":[9,0,66,20], -"d8/d77/namespacemachine__learning.html#abee7b35403af3612222d3b7a53074905":[9,0,66,23], -"d8/d77/namespacemachine__learning.html#ac1bdaa2a724b4ce6a6bb371a5dbe2e7e":[9,0,66,27], -"d8/d77/namespacemachine__learning.html#ac332d152078e96311e43ac5e7183ea26":[9,0,66,9], -"d8/d77/namespacemachine__learning.html#ac43d294e21a0c4fa33c53757df054576":[9,0,66,7], -"d8/d77/namespacemachine__learning.html#acafa3e62b686aebdbad81c4f89913f43":[9,0,66,5], -"d8/d77/namespacemachine__learning.html#ad0bdc88e5f1be47c46c0f0c8ebf754bb":[9,0,66,1], -"d8/d77/namespacemachine__learning.html#ae10178b082f0205c326550877d998e5d":[9,0,66,18], -"d8/d77/namespacemachine__learning.html#ae6ec42318d172b97fbdf45638d09d7b5":[9,0,66,14], -"d8/d77/namespacemachine__learning.html#ae868ad43698a1d69ba46ea3827d7d2c3":[9,0,66,26], -"d8/d77/namespacemachine__learning.html#af4986b23760039711848155739c31b35":[9,0,66,15], -"d8/d77/namespacemachine__learning.html#af801bf30591ca6b2c38ff4fed0ded23f":[9,0,66,3], -"d8/d7a/sha1_8cpp.html":[11,0,12,5], -"d8/d7a/sha1_8cpp.html#a2397f2444a05e4d1487c67e215410d3c":[11,0,12,5,0], -"d8/d7a/sha1_8cpp.html#a7be3471f7e489d7d0df42b97a48bf141":[11,0,12,5,1], -"d8/d7a/sha1_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,12,5,6], -"d8/d7a/sha1_8cpp.html#aada0803ef851d831b7a290a924e3c228":[11,0,12,5,5], -"d8/d7a/sha1_8cpp.html#ac9e1a11f44135b890dd10a00e73b5661":[11,0,12,5,2], -"d8/d7a/sha1_8cpp.html#acf6bd970f29a68702bdbdfe8338e45e0":[11,0,12,5,3], -"d8/d7a/sha1_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,12,5,4], -"d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list.html":[10,0,12,0,0], -"d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list.html#a03a896b34d27fda69049827e0c4dab42":[10,0,12,0,0,13], -"d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list.html#a142fa439b102c6f86341f421ddcfe0a1":[10,0,12,0,0,1], -"d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list.html#a15150d6d933c58190c9c1dd7d22c51ae":[10,0,12,0,0,7], -"d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list.html#a398d6cc927a2c8e4a156ae2806f48986":[10,0,12,0,0,4], -"d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list.html#a3b7bbb0918c261bc216aef9e6dd39aa4":[10,0,12,0,0,6], -"d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list.html#a424b17ddc672b25fe0bd9dc8612fba21":[10,0,12,0,0,11], -"d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list.html#a46195fcf11b636064c7172cb74b55dd0":[10,0,12,0,0,3], -"d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list.html#a53611ec1fef92eeeb875aea1bde1e4de":[10,0,12,0,0,12], -"d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list.html#a5d5cebd6bc906c60763fc6be10cfdd13":[10,0,12,0,0,15], -"d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list.html#a8f26dc32615abc5bab8ac458ef424bc5":[10,0,12,0,0,8], -"d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list.html#a9cc37166f2f73763df39894b675f89c9":[10,0,12,0,0,9], -"d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list.html#aa704319924f97fedfb41caf193a00888":[10,0,12,0,0,0], -"d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list.html#ab682f854f39582a20c9c4102f0482208":[10,0,12,0,0,14], -"d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list.html#abde75f6ee432b0378d264da8c7c64db2":[10,0,12,0,0,2], -"d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list.html#ac341901e926b3fa3a796c64ca572f592":[10,0,12,0,0,10], -"d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list.html#ac38565472a07d07f63ec0d2fd8a69d4d":[10,0,12,0,0,5], -"d8/d7d/kruskals__minimum__spanning__tree_8cpp.html":[11,0,11,6], -"d8/d7d/kruskals__minimum__spanning__tree_8cpp.html#a349e4ab9a97532c3931a2bd2a19c0098":[11,0,11,6,0], -"d8/d7d/kruskals__minimum__spanning__tree_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,11,6,2], -"d8/d7d/kruskals__minimum__spanning__tree_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,11,6,1], -"d8/d88/namespaceset_kth_bit.html":[9,0,108], -"d8/d89/namespacelinear__probing.html":[8,0,1], -"d8/d89/namespacelinear__probing.html#a16680b8a37d442c2f208faa286e33908":[9,0,61,2], -"d8/d89/namespacelinear__probing.html#a16d34fd3511626a83ab00665d7bc34d1":[9,0,61,1], -"d8/d89/namespacelinear__probing.html#a4bde7a47f98dd1ad24c84038e2608527":[9,0,61,4], -"d8/d89/namespacelinear__probing.html#a6322209aaa91b7bbf16f96e1cc52b746":[9,0,61,5], -"d8/d89/namespacelinear__probing.html#a6a082dc1426a79f866cee6b370df37b0":[9,0,61,7], -"d8/d89/namespacelinear__probing.html#a75854f5aa216e61219154c62167ce8f0":[9,0,61,8], -"d8/d89/namespacelinear__probing.html#a75d779938df7ebc68581d922b60a2541":[9,0,61,6], -"d8/d89/namespacelinear__probing.html#a942fc8407b8001890ea26830cdcd9d77":[9,0,61,10], -"d8/d89/namespacelinear__probing.html#abcf8d033f8115f39f3c93cfb6cee0b28":[9,0,61,9], -"d8/d89/namespacelinear__probing.html#ad87b71d810901fab69c4ad9d4d0fa635":[9,0,61,3], -"d8/d8a/exponential__search_8cpp.html":[11,0,21,0], -"d8/d8a/exponential__search_8cpp.html#ab06cedad209456eae95d37b7cd66acae":[11,0,21,0,0], -"d8/d8a/exponential__search_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,21,0,1], -"d8/d8a/exponential__search_8cpp.html#af421bf4b7b95f20ac86c233adfdb9208":[11,0,21,0,2], -"d8/d90/iterative__tree__traversals_8cpp.html":[11,0,17,6], -"d8/d90/iterative__tree__traversals_8cpp.html#a038b236fe900f7bb7e57164f5bed66c2":[11,0,17,6,6], -"d8/d90/iterative__tree__traversals_8cpp.html#a21d922dbb5905993960c6a7f0ba71ac0":[11,0,17,6,3], -"d8/d90/iterative__tree__traversals_8cpp.html#a425c4c8520991999ee6dbe13d99b87f4":[11,0,17,6,5], -"d8/d90/iterative__tree__traversals_8cpp.html#aa9ef334cd7eb607f4eb8732566ea00b8":[11,0,17,6,7], -"d8/d90/iterative__tree__traversals_8cpp.html#ac35ae2868441f8a11c965b87b2494f21":[11,0,17,6,4], -"d8/d90/iterative__tree__traversals_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,17,6,2], -"d8/d90/iterative__tree__traversals_8cpp.html#af727f920064f2b8f484b589b60d49b89":[11,0,17,6,8], -"d8/d93/namespacemagic__sequence.html":[9,0,67], -"d8/d95/vector__ops_8hpp.html":[11,0,13,6], -"d8/d95/vector__ops_8hpp.html#a0cc29566568e0383dd7d374068cbe6b3":[11,0,13,6,10], -"d8/d95/vector__ops_8hpp.html#a16f34574b7e0dd51bc3b3fda37446695":[11,0,13,6,8], -"d8/d95/vector__ops_8hpp.html#a2466857dab977a49f117029835b3b6d2":[11,0,13,6,9], -"d8/d95/vector__ops_8hpp.html#a496302e3371aa7b478cb7d5917904bdd":[11,0,13,6,5], -"d8/d95/vector__ops_8hpp.html#a50480fccfb39de20ca47f1bf51ecb6ec":[11,0,13,6,1], -"d8/d95/vector__ops_8hpp.html#a5342906d42b80fc6b6b3ad17bf00fcb9":[11,0,13,6,7], -"d8/d95/vector__ops_8hpp.html#a54bf1f3c43271a5fc93101f6ae2e6269":[11,0,13,6,13], -"d8/d95/vector__ops_8hpp.html#a6f1c98c016ad34ff3d9f39372161bd35":[11,0,13,6,17], -"d8/d95/vector__ops_8hpp.html#a84260cb1be9b63d6e38107000ac4b7e7":[11,0,13,6,14], -"d8/d95/vector__ops_8hpp.html#a89fde571b38f9483576594f66572958a":[11,0,13,6,18], -"d8/d95/vector__ops_8hpp.html#a8dd3f1ffbc2f26a3c88da1b1f8b7e9c4":[11,0,13,6,20], -"d8/d95/vector__ops_8hpp.html#a912cf68863063a38d6e63545be5eb093":[11,0,13,6,16], -"d8/d95/vector__ops_8hpp.html#aa4bbf61e65f8cd297255fa94b983d078":[11,0,13,6,3], -"d8/d95/vector__ops_8hpp.html#abee7b35403af3612222d3b7a53074905":[11,0,13,6,19], -"d8/d95/vector__ops_8hpp.html#ac1bdaa2a724b4ce6a6bb371a5dbe2e7e":[11,0,13,6,21], -"d8/d95/vector__ops_8hpp.html#ac332d152078e96311e43ac5e7183ea26":[11,0,13,6,6], -"d8/d95/vector__ops_8hpp.html#acafa3e62b686aebdbad81c4f89913f43":[11,0,13,6,4], -"d8/d95/vector__ops_8hpp.html#ad0bdc88e5f1be47c46c0f0c8ebf754bb":[11,0,13,6,0], -"d8/d95/vector__ops_8hpp.html#ae10178b082f0205c326550877d998e5d":[11,0,13,6,15], -"d8/d95/vector__ops_8hpp.html#ae6ec42318d172b97fbdf45638d09d7b5":[11,0,13,6,11], -"d8/d95/vector__ops_8hpp.html#af4986b23760039711848155739c31b35":[11,0,13,6,12], -"d8/d95/vector__ops_8hpp.html#af801bf30591ca6b2c38ff4fed0ded23f":[11,0,13,6,2], -"d8/d95/vector__ops_8hpp_source.html":[11,0,13,6], -"d8/d99/connected__components__with__dsu_8cpp.html":[11,0,9,3], -"d8/d99/connected__components__with__dsu_8cpp.html#a469384d8a4197a9b24482ce7c321a85e":[11,0,9,3,0], -"d8/d99/connected__components__with__dsu_8cpp.html#a67cb7472f310a798f555fe45cdf50145":[11,0,9,3,5], -"d8/d99/connected__components__with__dsu_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,9,3,4], -"d8/d99/connected__components__with__dsu_8cpp.html#ac2d6698b71384a352ec4b81b31b13141":[11,0,9,3,3], -"d8/d99/connected__components__with__dsu_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,9,3,1], -"d8/d99/connected__components__with__dsu_8cpp.html#ae91ed94113c56191b75fe45f688d6e62":[11,0,9,3,2], -"d8/d9a/fast__fourier__transform_8cpp.html":[11,0,15,6], -"d8/d9a/fast__fourier__transform_8cpp.html#a158fd271b9a53e8f3f60b08b18857150":[11,0,15,6,0], -"d8/d9a/fast__fourier__transform_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,15,6,2], -"d8/d9a/fast__fourier__transform_8cpp.html#abf9e6b7e6f15df4b525a2e7705ba3089":[11,0,15,6,1], -"d8/d9c/union__of__two__arrays_8cpp.html":[11,0,16,7], -"d8/d9c/union__of__two__arrays_8cpp.html#a167c24bd817469ae47358d12e034f2d5":[11,0,16,7,4], -"d8/d9c/union__of__two__arrays_8cpp.html#a2b8ff06a84b041457873840bf82e2d74":[11,0,16,7,0], -"d8/d9c/union__of__two__arrays_8cpp.html#a2b9769e44683dcb67fe1083ad91e134d":[11,0,16,7,7], -"d8/d9c/union__of__two__arrays_8cpp.html#a6109193567a5b7e36a27f2b4865fce20":[11,0,16,7,2], -"d8/d9c/union__of__two__arrays_8cpp.html#aa515639572647508b94986489aab6d76":[11,0,16,7,6], -"d8/d9c/union__of__two__arrays_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,16,7,3], -"d8/d9c/union__of__two__arrays_8cpp.html#aacafde185abd8670abee51157f273dc2":[11,0,16,7,9], -"d8/d9c/union__of__two__arrays_8cpp.html#abdd77344d4af8fd56d14a5cabbf2f669":[11,0,16,7,5], -"d8/d9c/union__of__two__arrays_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,16,7,1], -"d8/d9c/union__of__two__arrays_8cpp.html#af7b81d7a1534216af6a36a80135beb86":[11,0,16,7,8], -"d8/d9f/namespacesudoku__solver.html":[9,0,128], -"d8/da7/namespacedepth__first__search.html":[9,0,22], -"d8/dab/classstatistics_1_1stats__computer2.html":[9,0,117,1], -"d8/dab/classstatistics_1_1stats__computer2.html":[10,0,18,1], -"d8/dab/classstatistics_1_1stats__computer2.html#a8290966ad468f2a8c266d008bc60720e":[9,0,117,1,0], -"d8/dab/classstatistics_1_1stats__computer2.html#a8290966ad468f2a8c266d008bc60720e":[10,0,18,1,0], -"d8/dab/classstatistics_1_1stats__computer2.html#ab444d485c9e7db35bdc2ff6b7775291a":[9,0,117,1,4], -"d8/dab/classstatistics_1_1stats__computer2.html#ab444d485c9e7db35bdc2ff6b7775291a":[10,0,18,1,4], -"d8/dab/classstatistics_1_1stats__computer2.html#acf2e84df4fc386bb3295016ef8fd156e":[9,0,117,1,2] +"d9/d14/array__left__rotation_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,16,0,0], +"d9/d14/array__left__rotation_8cpp.html#af7b81d7a1534216af6a36a80135beb86":[11,0,16,0,8], +"d9/d14/array__left__rotation_8cpp.html#afce39cf843989a39811a49ebe29dd6d8":[11,0,16,0,2], +"d9/d14/array__left__rotation_8cpp_source.html":[11,0,16,0], +"d9/d1c/kruskal_8cpp_source.html":[11,0,9,14], +"d9/d1f/binary__addition_8cpp.html":[11,0,11,0], +"d9/d1f/binary__addition_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e":[11,0,11,0,2], +"d9/d1f/binary__addition_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,11,0,1], +"d9/d1f/binary__addition_8cpp_source.html":[11,0,11,0], +"d9/d21/namespacewave__sort.html":[9,0,138], +"d9/d23/classgraph_1_1_lowest_common_ancestor.html":[9,0,39,2], +"d9/d23/classgraph_1_1_lowest_common_ancestor.html":[10,0,6,4], +"d9/d23/classgraph_1_1_lowest_common_ancestor.html#a42589cc39d6bbff6c997152f1b96e356":[9,0,39,2,2], +"d9/d23/classgraph_1_1_lowest_common_ancestor.html#a42589cc39d6bbff6c997152f1b96e356":[10,0,6,4,2], +"d9/d23/classgraph_1_1_lowest_common_ancestor.html#a46d10f669791e3da9a4809bd8ff8d3ad":[9,0,39,2,3], +"d9/d23/classgraph_1_1_lowest_common_ancestor.html#a46d10f669791e3da9a4809bd8ff8d3ad":[10,0,6,4,3], +"d9/d23/classgraph_1_1_lowest_common_ancestor.html#a60151e19512b48cc0b14ea121df00488":[9,0,39,2,1], +"d9/d23/classgraph_1_1_lowest_common_ancestor.html#a60151e19512b48cc0b14ea121df00488":[10,0,6,4,1], +"d9/d23/classgraph_1_1_lowest_common_ancestor.html#a80825a4fd4c41860b689d253dd2c8e93":[9,0,39,2,0], +"d9/d23/classgraph_1_1_lowest_common_ancestor.html#a80825a4fd4c41860b689d253dd2c8e93":[10,0,6,4,0], +"d9/d24/poisson__dist_8cpp.html":[11,0,19,5], +"d9/d24/poisson__dist_8cpp.html#a63ffd347e75d5ed7a518cbcfbfeec71a":[11,0,19,5,0], +"d9/d24/poisson__dist_8cpp.html#a69a136b32707bdc7950fb9057b5fa1e1":[11,0,19,5,5], +"d9/d24/poisson__dist_8cpp.html#ac217ab9a06291f360d816700a6958ca8":[11,0,19,5,4], +"d9/d24/poisson__dist_8cpp.html#ad0aa718023ce802dd5899f0e03a7ac71":[11,0,19,5,2], +"d9/d24/poisson__dist_8cpp.html#ad9c9e74079278ca10e3b97a8d5391c9a":[11,0,19,5,3], +"d9/d24/poisson__dist_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,19,5,1], +"d9/d24/poisson__dist_8cpp_source.html":[11,0,19,5], +"d9/d27/namespacelist__array.html":[9,0,64], +"d9/d29/ground__to__ground__projectile__motion_8cpp.html":[11,0,18,0], +"d9/d29/ground__to__ground__projectile__motion_8cpp.html#a10362eb607d7882bac3a0688504b00ff":[11,0,18,0,2], +"d9/d29/ground__to__ground__projectile__motion_8cpp.html#a525335710b53cb064ca56b936120431e":[11,0,18,0,0], +"d9/d29/ground__to__ground__projectile__motion_8cpp.html#a563e066975fed1b84750a0a47c3cbb37":[11,0,18,0,6], +"d9/d29/ground__to__ground__projectile__motion_8cpp.html#aa554429def63077ab7a550c0affbfefa":[11,0,18,0,4], +"d9/d29/ground__to__ground__projectile__motion_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,18,0,5], +"d9/d29/ground__to__ground__projectile__motion_8cpp.html#ab00e9785fb2670f7af99d6f3d636f87c":[11,0,18,0,1], +"d9/d29/ground__to__ground__projectile__motion_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,18,0,3], +"d9/d29/ground__to__ground__projectile__motion_8cpp_source.html":[11,0,18,0], +"d9/d31/coin__change__topdown_8cpp.html":[11,0,6,6], +"d9/d31/coin__change__topdown_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,6,6,2], +"d9/d31/coin__change__topdown_8cpp.html#ac816a4ae8a29c156b90377041000929a":[11,0,6,6,1], +"d9/d31/coin__change__topdown_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,6,6,0], +"d9/d31/coin__change__topdown_8cpp_source.html":[11,0,6,6], +"d9/d35/classrange__queries_1_1heavy__light__decomposition_1_1_s_g.html":[10,0,16,0,1], +"d9/d35/classrange__queries_1_1heavy__light__decomposition_1_1_s_g.html#a1fda852e6e522707fd97f61cdb0a2591":[10,0,16,0,1,2], +"d9/d35/classrange__queries_1_1heavy__light__decomposition_1_1_s_g.html#a3c75bf5770790f8eba8cc92227b5400c":[10,0,16,0,1,4], +"d9/d35/classrange__queries_1_1heavy__light__decomposition_1_1_s_g.html#a41c733f5f5e262b308f7cb95c88c1e74":[10,0,16,0,1,1], +"d9/d35/classrange__queries_1_1heavy__light__decomposition_1_1_s_g.html#aa7f93971a9f891e0bbb7023081f379d5":[10,0,16,0,1,7], +"d9/d35/classrange__queries_1_1heavy__light__decomposition_1_1_s_g.html#ac6d912bbfafa3a7509f66bbc1729ca25":[10,0,16,0,1,5], +"d9/d35/classrange__queries_1_1heavy__light__decomposition_1_1_s_g.html#ad3b942be27a1b0fe3cff6cb6edf01294":[10,0,16,0,1,3], +"d9/d35/classrange__queries_1_1heavy__light__decomposition_1_1_s_g.html#afba5c1225ba04c0025c7786c09ff28f1":[10,0,16,0,1,0], +"d9/d35/classrange__queries_1_1heavy__light__decomposition_1_1_s_g.html#afbf8a9cb9449d5ca844f4e141a801e6a":[10,0,16,0,1,6], +"d9/d37/inverse__fast__fourier__transform_8cpp.html":[11,0,15,10], +"d9/d37/inverse__fast__fourier__transform_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,15,10,2], +"d9/d37/inverse__fast__fourier__transform_8cpp.html#abf9e6b7e6f15df4b525a2e7705ba3089":[11,0,15,10,1], +"d9/d37/inverse__fast__fourier__transform_8cpp.html#aee56dc85997b8cd42bad71a5d6bd2d93":[11,0,15,10,0], +"d9/d37/inverse__fast__fourier__transform_8cpp_source.html":[11,0,15,10], +"d9/d44/magic__number_8cpp.html":[11,0,14,35], +"d9/d44/magic__number_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e":[11,0,14,35,2], +"d9/d44/magic__number_8cpp.html#a8d8e81a7cd59644b311ef9adb268f5f0":[11,0,14,35,0], +"d9/d44/magic__number_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,14,35,1], +"d9/d44/magic__number_8cpp_source.html":[11,0,14,35], +"d9/d49/kohonen__som__trace_8cpp.html":[8,1,2], +"d9/d49/structdata__structures_1_1_node.html":[9,0,21,3], +"d9/d49/structdata__structures_1_1_node.html":[10,0,2,10], +"d9/d49/structdata__structures_1_1_node.html#a54a6777e72b639c3ee6446a541db8e78":[9,0,21,3,0], +"d9/d49/structdata__structures_1_1_node.html#a54a6777e72b639c3ee6446a541db8e78":[10,0,2,10,0], +"d9/d49/structdata__structures_1_1_node.html#a6b973b0bded99b0c0bd84e887bf8c731":[9,0,21,3,3], +"d9/d49/structdata__structures_1_1_node.html#a6b973b0bded99b0c0bd84e887bf8c731":[10,0,2,10,3], +"d9/d49/structdata__structures_1_1_node.html#ac75aa86a598357c5c882ec6a1174aa68":[9,0,21,3,2], +"d9/d49/structdata__structures_1_1_node.html#ac75aa86a598357c5c882ec6a1174aa68":[10,0,2,10,2], +"d9/d49/structdata__structures_1_1_node.html#ac916d833aad2b9c41f01a92db2f8c48e":[9,0,21,3,1], +"d9/d49/structdata__structures_1_1_node.html#ac916d833aad2b9c41f01a92db2f8c48e":[10,0,2,10,1], +"d9/d55/namespacesparse__table.html":[9,0,114], +"d9/d5a/structgeometry_1_1jarvis_1_1_point.html":[10,0,5,1,1], +"d9/d5d/extended__euclid__algorithm_8cpp.html":[11,0,14,13], +"d9/d5d/extended__euclid__algorithm_8cpp.html#a1792ac7c33aaf26b860ab55f5652ab25":[11,0,14,13,1], +"d9/d5d/extended__euclid__algorithm_8cpp.html#abe92d63a0ff9bda7e304df510d5dd217":[11,0,14,13,3], +"d9/d5d/extended__euclid__algorithm_8cpp.html#acba15ca55b3e7dcb91f3c65d72ba052d":[11,0,14,13,0], +"d9/d5d/extended__euclid__algorithm_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,14,13,2], +"d9/d5d/extended__euclid__algorithm_8cpp_source.html":[11,0,14,13], +"d9/d5f/longest__increasing__subsequence__using__binary__search_8cpp.html":[11,0,22,9], +"d9/d5f/longest__increasing__subsequence__using__binary__search_8cpp.html#a313539d9a97fc6e121ce496873ba892e":[11,0,22,9,0], +"d9/d5f/longest__increasing__subsequence__using__binary__search_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e":[11,0,22,9,2], +"d9/d5f/longest__increasing__subsequence__using__binary__search_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,22,9,1], +"d9/d5f/longest__increasing__subsequence__using__binary__search_8cpp_source.html":[11,0,22,9], +"d9/d60/namespacerat__maze.html":[9,0,102], +"d9/d65/lfu__cache_8cpp.html":[11,0,17,10], +"d9/d65/lfu__cache_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,17,10,3], +"d9/d65/lfu__cache_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,17,10,2], +"d9/d65/lfu__cache_8cpp_source.html":[11,0,17,10], +"d9/d66/group__machine__learning.html":[8,1], +"d9/d66/group__machine__learning.html#ga5118e5cbc4f0886e27b3a7a2544dded1":[8,1,8], +"d9/d66/group__machine__learning.html#ga60f9186ccb682724a8792a2bf81e9b9e":[8,1,5], +"d9/d66/group__machine__learning.html#gabc90175770bf0d5853c466e14993a08c":[8,1,6], +"d9/d66/group__machine__learning.html#gae0208548f8b393528e5db01717e88e67":[8,1,7], +"d9/d66/group__machine__learning.html#gaf5ce14f026d6d231bef29161bac2b485":[8,1,4], +"d9/d69/median__search_8cpp.html":[11,0,22,10], +"d9/d69/median__search_8cpp.html#a868847218f694e78bf433a0ff7648bae":[11,0,22,10,1], +"d9/d69/median__search_8cpp.html#ae1a3968e7947464bee7714f6d43b7002":[11,0,22,10,2], +"d9/d69/median__search_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,22,10,0], +"d9/d69/median__search_8cpp_source.html":[11,0,22,10], +"d9/d6b/coin__change_8cpp_source.html":[11,0,6,5], +"d9/d70/namespacequeue__using__array.html":[9,0,97], +"d9/d75/namespacednf__sort.html":[9,0,25], +"d9/d80/trapped__rainwater_8cpp.html":[11,0,6,27], +"d9/d80/trapped__rainwater_8cpp.html#a066e0e739e7c276eee6e61d5b4d37ce8":[11,0,6,27,2], +"d9/d80/trapped__rainwater_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,6,27,1], +"d9/d80/trapped__rainwater_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,6,27,0], +"d9/d80/trapped__rainwater_8cpp_source.html":[11,0,6,27], +"d9/d85/selection__sort__iterative_8cpp_source.html":[11,0,23,32], +"d9/d89/fibonacci_8cpp.html":[11,0,14,16], +"d9/d89/fibonacci_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,14,16,2], +"d9/d89/fibonacci_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,14,16,1], +"d9/d89/fibonacci_8cpp.html#aeaaf5439cb29de4630c7dff2fd914b28":[11,0,14,16,0], +"d9/d89/fibonacci_8cpp_source.html":[11,0,14,16], +"d9/d90/struct_btree.html":[10,0,22], +"d9/d92/chaining_8cpp.html":[11,0,12,0], +"d9/d92/chaining_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,12,0,1], +"d9/d92/chaining_8cpp_source.html":[11,0,12,0], +"d9/da2/exponential__dist_8cpp.html":[11,0,19,3], +"d9/da2/exponential__dist_8cpp.html#a1c8b6e787f72a209ef96c096eedf7afc":[11,0,19,3,0], +"d9/da2/exponential__dist_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,19,3,4], +"d9/da2/exponential__dist_8cpp.html#ac7b0091e17479d47438a281fefc2549a":[11,0,19,3,1], +"d9/da2/exponential__dist_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,19,3,3], +"d9/da2/exponential__dist_8cpp.html#af435dbeb43a05c8c7785f53bf4ce1df1":[11,0,19,3,2], +"d9/da2/exponential__dist_8cpp_source.html":[11,0,19,3], +"d9/daa/namespacemidpoint__rule.html":[9,0,73], +"d9/dab/bloom__filter_8cpp.html":[11,0,4,5], +"d9/dab/bloom__filter_8cpp.html#a271c753baf6dc5ac6f19fa03c5873eb4":[11,0,4,5,2], +"d9/dab/bloom__filter_8cpp.html#a30edc0d2bb59c185baec81d69d20ed3b":[11,0,4,5,8], +"d9/dab/bloom__filter_8cpp.html#a35eb2bc3edbb52f9c5f0b1e51046ef15":[11,0,4,5,5], +"d9/dab/bloom__filter_8cpp.html#a6e509afe40db07681f676ad8da4fb905":[11,0,4,5,7], +"d9/dab/bloom__filter_8cpp.html#a71f57bf262fe55db928b19dc124cc0d8":[11,0,4,5,9], +"d9/dab/bloom__filter_8cpp.html#a9ed236419034917c5270c1dccd220b5c":[11,0,4,5,4], +"d9/dab/bloom__filter_8cpp.html#aa6deb9d4a0f63ea97aef3dce4c6c6677":[11,0,4,5,3], +"d9/dab/bloom__filter_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,4,5,6], +"d9/dab/bloom__filter_8cpp_source.html":[11,0,4,5], +"d9/dad/rb__tree_8cpp_source.html":[11,0,4,22], +"d9/dae/classdata__structures_1_1_bitset.html":[9,0,21,1], +"d9/dae/classdata__structures_1_1_bitset.html":[10,0,2,8], +"d9/dae/classdata__structures_1_1_bitset.html#a15b05aabb28f9b1896b0a61e8ef60130":[9,0,21,1,0], +"d9/dae/classdata__structures_1_1_bitset.html#a15b05aabb28f9b1896b0a61e8ef60130":[10,0,2,8,0], +"d9/dae/classdata__structures_1_1_bitset.html#a17dbe1b1d559302312e8091f82f7499c":[9,0,21,1,1], +"d9/dae/classdata__structures_1_1_bitset.html#a17dbe1b1d559302312e8091f82f7499c":[10,0,2,8,1], +"d9/dae/classdata__structures_1_1_bitset.html#a2f1f44d6a12b0de4aaf242872b1c7b54":[9,0,21,1,3], +"d9/dae/classdata__structures_1_1_bitset.html#a2f1f44d6a12b0de4aaf242872b1c7b54":[10,0,2,8,3], +"d9/dae/classdata__structures_1_1_bitset.html#a9ef54c7c3f6494b36ead3ae2e5cf43ac":[9,0,21,1,2], +"d9/dae/classdata__structures_1_1_bitset.html#a9ef54c7c3f6494b36ead3ae2e5cf43ac":[10,0,2,8,2], +"d9/dae/classdata__structures_1_1_bitset.html#ad7f7d479079a95bcc9175465395fa23f":[9,0,21,1,4], +"d9/dae/classdata__structures_1_1_bitset.html#ad7f7d479079a95bcc9175465395fa23f":[10,0,2,8,4], +"d9/dae/classdata__structures_1_1_bitset.html#ae86688cf99b77342deedb75149573e73":[9,0,21,1,5], +"d9/dae/classdata__structures_1_1_bitset.html#ae86688cf99b77342deedb75149573e73":[10,0,2,8,5], +"d9/dbf/test__stack_8cpp_source.html":[11,0,4,32], +"d9/dc9/namespacebase64__encoding.html":[9,0,6], +"d9/dca/namespacesearch.html":[9,0,106], +"d9/dcc/selectionsortlinkedlist_8cpp_source.html":[11,0,16,9], +"d9/dd1/namespacelinear__recurrence__matrix.html":[9,0,62], +"d9/dd2/cocktail__selection__sort_8cpp_source.html":[11,0,23,6], +"d9/dd7/interpolation__search_8cpp_source.html":[11,0,22,5], +"d9/dde/classbinary__search__tree.html":[10,0,21], +"d9/dde/classbinary__search__tree.html#a07ba32ce1a2af6e357600ac8c8e98dbc":[10,0,21,20], +"d9/dde/classbinary__search__tree.html#a1f23830316204664514f396a4eb5275a":[10,0,21,8], +"d9/dde/classbinary__search__tree.html#a2fcf37549bd002c174a45b0b4203c2bd":[10,0,21,16], +"d9/dde/classbinary__search__tree.html#a42b16f26928b5e994925100594a167a0":[10,0,21,5], +"d9/dde/classbinary__search__tree.html#a564fe43e7e8f7ecb6f10667a70fbc6f3":[10,0,21,15], +"d9/dde/classbinary__search__tree.html#a5764c1cf848f84a5b77462036a6d8c13":[10,0,21,10], +"d9/dde/classbinary__search__tree.html#a5c011e1b0863d79c3a7c11a0426bdcff":[10,0,21,9], +"d9/dde/classbinary__search__tree.html#a6bf5b410299df2320ddf2709dda61f63":[10,0,21,3], +"d9/dde/classbinary__search__tree.html#a75f897af6aa732a9901454401c869bcb":[10,0,21,4], +"d9/dde/classbinary__search__tree.html#a8168edf29316f2b436eac1fc416c52e0":[10,0,21,12], +"d9/dde/classbinary__search__tree.html#a87c0a35845d27e0f6fc1f4eaa0333362":[10,0,21,17], +"d9/dde/classbinary__search__tree.html#a99771c2e1353e8ddfd4bb9d30b7a98fb":[10,0,21,14], +"d9/dde/classbinary__search__tree.html#a9d1e7e10efa74d741bf48cf032df3778":[10,0,21,11], +"d9/dde/classbinary__search__tree.html#aa08f65f6f3bfcb14f8c3d1e65305ae50":[10,0,21,19], +"d9/dde/classbinary__search__tree.html#aa4f84b2eec9b9201af1840868ddb5fb2":[10,0,21,2], +"d9/dde/classbinary__search__tree.html#aa67321ed575ca313cd71d833d91234a6":[10,0,21,1], +"d9/dde/classbinary__search__tree.html#ab81edd415324d372632c42dc7dbcb9e1":[10,0,21,18], +"d9/dde/classbinary__search__tree.html#ad9912e8574538e86f9bd2c38e7e63d03":[10,0,21,7], +"d9/dde/classbinary__search__tree.html#af4a865ce5244608819b169fc78a41153":[10,0,21,13], +"d9/dde/classbinary__search__tree.html#af9a2c7c187a7ca3142c77ce342ef3153":[10,0,21,6], +"d9/dde/structdouble__hashing_1_1_entry.html":[9,0,26,0], +"d9/dde/structdouble__hashing_1_1_entry.html":[10,0,4,0], +"d9/dde/structdouble__hashing_1_1_entry.html#a287b92112b6b43b34808a93778873475":[9,0,26,0,0], +"d9/dde/structdouble__hashing_1_1_entry.html#a287b92112b6b43b34808a93778873475":[10,0,4,0,0], +"d9/dde/structdouble__hashing_1_1_entry.html#ae114967c89dbba3b754dc4976bba3248":[9,0,26,0,1], +"d9/dde/structdouble__hashing_1_1_entry.html#ae114967c89dbba3b754dc4976bba3248":[10,0,4,0,1], +"d9/dec/unbounded__0__1__knapsack_8cpp.html":[11,0,6,29], +"d9/dec/unbounded__0__1__knapsack_8cpp.html#a1bcff7f76de48fa7f629480f8f18b5ef":[11,0,6,29,3], +"d9/dec/unbounded__0__1__knapsack_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e":[11,0,6,29,2], +"d9/dec/unbounded__0__1__knapsack_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,6,29,1], +"d9/dec/unbounded__0__1__knapsack_8cpp.html#afe447a5979582174908695952c8a079c":[11,0,6,29,0], +"d9/dec/unbounded__0__1__knapsack_8cpp_source.html":[11,0,6,29], +"d9/dee/classdouble__linked__list.html":[10,0,29], +"d9/def/namespacesublist__search.html":[9,0,124], +"d9/df0/fast__integer__input_8cpp.html":[11,0,17,5], +"d9/df0/fast__integer__input_8cpp.html#a4e097ac8509b717bdc8ab09ecd86ae82":[11,0,17,5,0], +"d9/df0/fast__integer__input_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,17,5,1], +"d9/df0/fast__integer__input_8cpp_source.html":[11,0,17,5], +"d9/df4/namespacetests.html":[9,0,128], +"d9/df4/namespacetests.html#a167c24bd817469ae47358d12e034f2d5":[9,0,128,0], +"d9/df4/namespacetests.html#a2b9769e44683dcb67fe1083ad91e134d":[9,0,128,3], +"d9/df4/namespacetests.html#aa515639572647508b94986489aab6d76":[9,0,128,2], +"d9/df4/namespacetests.html#aacafde185abd8670abee51157f273dc2":[9,0,128,5], +"d9/df4/namespacetests.html#abdd77344d4af8fd56d14a5cabbf2f669":[9,0,128,1], +"d9/df4/namespacetests.html#af7b81d7a1534216af6a36a80135beb86":[9,0,128,4], +"d9/df7/structothers_1_1recursive__tree__traversals_1_1_node.html":[10,0,13,4,1], +"d9/df7/structothers_1_1recursive__tree__traversals_1_1_node.html#a59cc94ba784aeaefec2e915ddfdb1ade":[10,0,13,4,1,0], +"d9/df7/structothers_1_1recursive__tree__traversals_1_1_node.html#a5a8a7bc2d2f847994220ae9e0b60fff3":[10,0,13,4,1,1], +"d9/df7/structothers_1_1recursive__tree__traversals_1_1_node.html#ab875304781a4eb9661c0931a6f1fae83":[10,0,13,4,1,2], +"d9/dfd/circular__queue__using__linked__list_8cpp_source.html":[11,0,4,6], +"d9/dfd/comb__sort_8cpp.html":[11,0,23,7], +"d9/dfd/comb__sort_8cpp.html#a0f4e7569090083fb53d5cdeaf0e2974f":[11,0,23,7,0], +"d9/dfd/comb__sort_8cpp.html#a88ec9ad42717780d6caaff9d3d6977f9":[11,0,23,7,3], +"d9/dfd/comb__sort_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,23,7,2], +"d9/dfd/comb__sort_8cpp.html#aede08143e63105faba10e9ee8e745fd5":[11,0,23,7,1], +"d9/dfd/comb__sort_8cpp_source.html":[11,0,23,7], +"da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search.html":[10,0,10,0,0], +"da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search.html#a0a26aa9ad3d73707370d9fe83707aca4":[10,0,10,0,0,5], +"da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search.html#a48284e156fdd48fd0c41008c7e48f201":[10,0,10,0,0,4], +"da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search.html#abaff2ea6d309e1133fd95bbd1e39946e":[10,0,10,0,0,3], +"da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search.html#acd897e6e519849edb9fb0d1e1bfa881a":[10,0,10,0,0,2], +"da/d0d/longest__common__string_8cpp.html":[11,0,6,14], +"da/d0d/longest__common__string_8cpp.html#a23ab67b0d9600697695fc8679462d8fe":[11,0,6,14,6], +"da/d0d/longest__common__string_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e":[11,0,6,14,8], +"da/d0d/longest__common__string_8cpp.html#a967854a526bc15403d783a033155fc5c":[11,0,6,14,1], +"da/d0d/longest__common__string_8cpp.html#a9b229daad982a186a4d8d90aa8f38561":[11,0,6,14,5], +"da/d0d/longest__common__string_8cpp.html#aa38b6b17bc5d46ed88acdd8414e18fa5":[11,0,6,14,2], +"da/d0d/longest__common__string_8cpp.html#acb03dbbcee6d607db471021168be8541":[11,0,6,14,4], +"da/d0d/longest__common__string_8cpp.html#ad1e613c1b85cc04ed931b6c745fec155":[11,0,6,14,7], +"da/d0d/longest__common__string_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,6,14,3], +"da/d0d/longest__common__string_8cpp_source.html":[11,0,6,14], +"da/d16/structoperations__on__datastructures_1_1circular__linked__list_1_1_node.html":[10,0,12,0,1], +"da/d16/structoperations__on__datastructures_1_1circular__linked__list_1_1_node.html#a005dc56b0c58350a13f4796b9b30b6c5":[10,0,12,0,1,0], +"da/d16/structoperations__on__datastructures_1_1circular__linked__list_1_1_node.html#a12a06eef5ccaf667f319506eee655d95":[10,0,12,0,1,1], +"da/d16/structoperations__on__datastructures_1_1circular__linked__list_1_1_node.html#a7461292b8b91aed86404d0ab019dfdd1":[10,0,12,0,1,2], +"da/d16/structoperations__on__datastructures_1_1circular__linked__list_1_1_node.html#a7c867b8e1034a6f5da490c8b8c09cb77":[10,0,12,0,1,3], +"da/d18/quadratic__equations__complex__numbers_8cpp.html":[11,0,14,51], +"da/d18/quadratic__equations__complex__numbers_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,14,51,3], +"da/d18/quadratic__equations__complex__numbers_8cpp.html#aacb1411ef2029e81f249c21e17c96fdb":[11,0,14,51,2], +"da/d18/quadratic__equations__complex__numbers_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,14,51,1], +"da/d18/quadratic__equations__complex__numbers_8cpp.html#af7a6d4e3dc85a6288c8f1f7094830c5a":[11,0,14,51,0], +"da/d18/quadratic__equations__complex__numbers_8cpp_source.html":[11,0,14,51], +"da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution.html":[10,0,14,0,0], +"da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution.html#a08328dc7d62188427111f176b56a105a":[10,0,14,0,0,1], +"da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution.html#a0a10c512e13dd3a052e1c6d7f4d6f0f2":[10,0,14,0,0,7], +"da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution.html#a41051365f8ac7700f2ed5880a6760413":[10,0,14,0,0,3], +"da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution.html#a4620163a196709484225774d87de6d69":[10,0,14,0,0,6], +"da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution.html#a8aae1cebcf42ed2332f1c7217c401aa3":[10,0,14,0,0,2], +"da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution.html#aa12088ba133dd0910103db0eb0ef2797":[10,0,14,0,0,0] }; diff --git a/navtreeindex9.js b/navtreeindex9.js index 85d0e40ab..691a30a5e 100644 --- a/navtreeindex9.js +++ b/navtreeindex9.js @@ -1,253 +1,253 @@ var NAVTREEINDEX9 = { -"d8/dab/classstatistics_1_1stats__computer2.html#acf2e84df4fc386bb3295016ef8fd156e":[10,0,18,1,2], -"d8/dab/classstatistics_1_1stats__computer2.html#ade6de704deea24fdc88077b3d9a0d534":[9,0,117,1,1], -"d8/dab/classstatistics_1_1stats__computer2.html#ade6de704deea24fdc88077b3d9a0d534":[10,0,18,1,1], -"d8/dab/classstatistics_1_1stats__computer2.html#af6198817084276113b3c064e87ce0555":[9,0,117,1,3], -"d8/dab/classstatistics_1_1stats__computer2.html#af6198817084276113b3c064e87ce0555":[10,0,18,1,3], -"d8/dab/sparse__table_8cpp.html":[11,0,4,19], -"d8/dab/sparse__table_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97":[11,0,4,19,1], -"d8/dab/sparse__table_8cpp.html#a10f3ffb3f6f7e1b83d556b9c8de89a5d":[11,0,4,19,4], -"d8/dab/sparse__table_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,4,19,2], -"d8/dab/sparse__table_8cpp.html#af7db62f21983565c64d5d42d2a49888e":[11,0,4,19,3], -"d8/db1/binomial__calculate_8cpp.html":[11,0,14,4], -"d8/db1/binomial__calculate_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e":[11,0,14,4,2], -"d8/db1/binomial__calculate_8cpp.html#aae407a2a13362c4c64fbe509ff325978":[11,0,14,4,0], -"d8/db1/binomial__calculate_8cpp.html#ac0f2228420376f4db7e1274f2b41667c":[11,0,14,4,1], -"d8/db9/topological__sort_8cpp.html":[11,0,9,11], -"d8/db9/topological__sort_8cpp.html#a54dc5d7914958dbd24dda2fd862dc41b":[11,0,9,11,4], -"d8/db9/topological__sort_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,9,11,3], -"d8/db9/topological__sort_8cpp.html#abcbcaa2bb70af0a11d0c090ea1796aea":[11,0,9,11,1], -"d8/db9/topological__sort_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,9,11,2], -"d8/dc6/namespacemanacher.html":[9,0,68], -"d8/dc8/struct_point.html":[10,0,47], -"d8/dc8/struct_point.html#a2e1b5fb2b2a83571f5c0bc0f66a73cf7":[10,0,47,2], -"d8/dc8/struct_point.html#ab99c56589bc8ad5fa5071387110a5bc7":[10,0,47,1], -"d8/dc8/struct_point.html#ae2d6fb1b3fd3a96169d963d62e37130a":[10,0,47,0], -"d8/dc8/struct_point.html#afa38be143ae800e6ad69ce8ed4df62d8":[10,0,47,3], -"d8/dcc/binary__insertion__sort_8cpp.html":[11,0,22,0], -"d8/dcc/binary__insertion__sort_8cpp.html#a034d8b276518a902962e87d3158b64fd":[11,0,22,0,0], -"d8/dcc/binary__insertion__sort_8cpp.html#a5f4bc75cca6dd8294af2d0e328006c68":[11,0,22,0,1], -"d8/dcc/binary__insertion__sort_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,22,0,3], -"d8/dcc/binary__insertion__sort_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,22,0,2], -"d8/dcc/namespacestd.html":[9,0,118], -"d8/dcd/namespacelru__cache.html":[9,0,65], -"d8/dd5/check__factorial_8cpp.html":[11,0,14,6], -"d8/dd5/check__factorial_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e":[11,0,14,6,2], -"d8/dd5/check__factorial_8cpp.html#a6c72f756a7bf1b9043c357e3fe7814ca":[11,0,14,6,0], -"d8/dd5/check__factorial_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,14,6,1], -"d8/ddf/sieve__of__eratosthenes_8cpp.html":[11,0,14,51], -"d8/ddf/sieve__of__eratosthenes_8cpp.html#a22be949d160b26361f7e323310f7fa0c":[11,0,14,51,2], -"d8/ddf/sieve__of__eratosthenes_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e":[11,0,14,51,3], -"d8/ddf/sieve__of__eratosthenes_8cpp.html#a55bc4a221e584d33b79b322432ecc0f3":[11,0,14,51,1], -"d8/ddf/sieve__of__eratosthenes_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,14,51,0], -"d8/dee/avltree_8cpp.html":[11,0,4,1], -"d8/dee/avltree_8cpp.html#a2473fe7416332495b2678ebe89652e4b":[11,0,4,1,6], -"d8/dee/avltree_8cpp.html#a473eee1803e4e44a54d685e4b0eef5a6":[11,0,4,1,7], -"d8/dee/avltree_8cpp.html#a48d897353aeb6a721dbc6b6c57e035e6":[11,0,4,1,1], -"d8/dee/avltree_8cpp.html#a5fa160a678a34dd51c0aea1c0c00ed5e":[11,0,4,1,10], -"d8/dee/avltree_8cpp.html#a74f0cf18a0e5b832d9994e2f2d022287":[11,0,4,1,0], -"d8/dee/avltree_8cpp.html#a82659e9e223e520cf91d7e55c4a3f88c":[11,0,4,1,2], -"d8/dee/avltree_8cpp.html#aa29a7fdc2db1784f5a6e25025ff7cbf5":[11,0,4,1,3], -"d8/dee/avltree_8cpp.html#aaa457ffec24c9643f2768e7a65e96546":[11,0,4,1,4], -"d8/dee/avltree_8cpp.html#adfc1d482a564c041756719667b955b8c":[11,0,4,1,11], -"d8/dee/avltree_8cpp.html#ae197eb50188fb761346952b9b5f6be59":[11,0,4,1,8], -"d8/dee/avltree_8cpp.html#ae4a66d8b0c2b0d626aea45977e358c83":[11,0,4,1,5], -"d8/dee/avltree_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,4,1,9], -"d8/df0/queue__using__array_8cpp.html":[11,0,4,14], -"d8/df0/queue__using__array_8cpp.html#a2d49e79bd164c298912db252970520d8":[11,0,4,14,2], -"d8/df0/queue__using__array_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,4,14,1], -"d8/dfa/median__search2_8cpp.html":[11,0,21,9], -"d8/dfa/median__search2_8cpp.html#a5fefe132a0c3ee780ebc703f37ebce6a":[11,0,21,9,2], -"d8/dfa/median__search2_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,21,9,3], -"d8/dfa/median__search2_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,21,9,1], -"d8/dfd/structoperations__on__datastructures_1_1reverse__binary__tree_1_1_node.html":[10,0,12,2,1], -"d8/dfd/structoperations__on__datastructures_1_1reverse__binary__tree_1_1_node.html#a15dd7a0a7d9b1e8b2012c5161aecd6e3":[10,0,12,2,1,0], -"d8/dfd/structoperations__on__datastructures_1_1reverse__binary__tree_1_1_node.html#ab13a4dd92d54c11eca86edde3ef32256":[10,0,12,2,1,3], -"d8/dfd/structoperations__on__datastructures_1_1reverse__binary__tree_1_1_node.html#ae54953a75091532303bb08d55087077f":[10,0,12,2,1,1], -"d8/dfd/structoperations__on__datastructures_1_1reverse__binary__tree_1_1_node.html#aeb01a65e51df1e3bc5296cde8477c352":[10,0,12,2,1,2], -"d9/d00/factorial_8cpp.html":[11,0,14,13], -"d9/d00/factorial_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e":[11,0,14,13,2], -"d9/d00/factorial_8cpp.html#a7e78996673df791014cfe540b183456a":[11,0,14,13,0], -"d9/d00/factorial_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,14,13,1], -"d9/d02/linear__search_8cpp.html":[11,0,21,6], -"d9/d02/linear__search_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e":[11,0,21,6,2], -"d9/d02/linear__search_8cpp.html#a84ac3988a534eb60ca351ed6caf56d84":[11,0,21,6,0], -"d9/d02/linear__search_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,21,6,1], -"d9/d03/namespacestring__search.html":[9,0,122], -"d9/d03/namespacestring__search.html#a1e37af2f023495129cb57338c801209e":[9,0,122,4], -"d9/d03/namespacestring__search.html#a21c673d56cbf67b1d2ee4d869185b7d9":[9,0,122,5], -"d9/d03/namespacestring__search.html#a83c72ff237cdf623e42d4295e0029bf9":[9,0,122,3], -"d9/d03/namespacestring__search.html#a8fb0bc932ba8b582c9f4c71338d050f8":[9,0,122,2], -"d9/d03/namespacestring__search.html#aeb2cd81064717aedd62bfb096b1a73d8":[9,0,122,0], -"d9/d03/namespacestring__search.html#aebe07cea289a13142503d98be7df11fd":[9,0,122,1], -"d9/d03/namespacestring__search.html#aed769d565b705a9b3e0eb1ec74088893":[9,0,122,6], -"d9/d12/classothers_1_1iterative__tree__traversals_1_1_binary_tree.html":[10,0,13,1,0], -"d9/d12/classothers_1_1iterative__tree__traversals_1_1_binary_tree.html#a0c33f2c1a3a3deb486a1c33ee5239499":[10,0,13,1,0,1], -"d9/d12/classothers_1_1iterative__tree__traversals_1_1_binary_tree.html#a3078a5ccf45d6a7031dcf46e43de65b6":[10,0,13,1,0,0], -"d9/d12/classothers_1_1iterative__tree__traversals_1_1_binary_tree.html#a636a07c90b7f312bb86d2ec104efca25":[10,0,13,1,0,2], -"d9/d12/classothers_1_1iterative__tree__traversals_1_1_binary_tree.html#ad4c6a8e67fb8267a65439b035666b5ae":[10,0,13,1,0,3], -"d9/d13/namespaceinversion.html":[9,0,51], -"d9/d14/array__left__rotation_8cpp.html":[11,0,16,0], -"d9/d14/array__left__rotation_8cpp.html#a167c24bd817469ae47358d12e034f2d5":[11,0,16,0,4], -"d9/d14/array__left__rotation_8cpp.html#a2b9769e44683dcb67fe1083ad91e134d":[11,0,16,0,7], -"d9/d14/array__left__rotation_8cpp.html#a6109193567a5b7e36a27f2b4865fce20":[11,0,16,0,1], -"d9/d14/array__left__rotation_8cpp.html#aa515639572647508b94986489aab6d76":[11,0,16,0,6], -"d9/d14/array__left__rotation_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,16,0,3], -"d9/d14/array__left__rotation_8cpp.html#abdd77344d4af8fd56d14a5cabbf2f669":[11,0,16,0,5], -"d9/d14/array__left__rotation_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,16,0,0], -"d9/d14/array__left__rotation_8cpp.html#af7b81d7a1534216af6a36a80135beb86":[11,0,16,0,8], -"d9/d14/array__left__rotation_8cpp.html#afce39cf843989a39811a49ebe29dd6d8":[11,0,16,0,2], -"d9/d1f/binary__addition_8cpp.html":[11,0,11,0], -"d9/d1f/binary__addition_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e":[11,0,11,0,2], -"d9/d1f/binary__addition_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,11,0,1], -"d9/d21/namespacewave__sort.html":[9,0,139], -"d9/d23/classgraph_1_1_lowest_common_ancestor.html":[9,0,39,2], -"d9/d23/classgraph_1_1_lowest_common_ancestor.html":[10,0,6,4], -"d9/d23/classgraph_1_1_lowest_common_ancestor.html#a42589cc39d6bbff6c997152f1b96e356":[9,0,39,2,2], -"d9/d23/classgraph_1_1_lowest_common_ancestor.html#a42589cc39d6bbff6c997152f1b96e356":[10,0,6,4,2], -"d9/d23/classgraph_1_1_lowest_common_ancestor.html#a46d10f669791e3da9a4809bd8ff8d3ad":[9,0,39,2,3], -"d9/d23/classgraph_1_1_lowest_common_ancestor.html#a46d10f669791e3da9a4809bd8ff8d3ad":[10,0,6,4,3], -"d9/d23/classgraph_1_1_lowest_common_ancestor.html#a60151e19512b48cc0b14ea121df00488":[9,0,39,2,1], -"d9/d23/classgraph_1_1_lowest_common_ancestor.html#a60151e19512b48cc0b14ea121df00488":[10,0,6,4,1], -"d9/d23/classgraph_1_1_lowest_common_ancestor.html#a80825a4fd4c41860b689d253dd2c8e93":[9,0,39,2,0], -"d9/d23/classgraph_1_1_lowest_common_ancestor.html#a80825a4fd4c41860b689d253dd2c8e93":[10,0,6,4,0], -"d9/d24/poisson__dist_8cpp.html":[11,0,19,5], -"d9/d24/poisson__dist_8cpp.html#a63ffd347e75d5ed7a518cbcfbfeec71a":[11,0,19,5,0], -"d9/d24/poisson__dist_8cpp.html#a69a136b32707bdc7950fb9057b5fa1e1":[11,0,19,5,5], -"d9/d24/poisson__dist_8cpp.html#ac217ab9a06291f360d816700a6958ca8":[11,0,19,5,4], -"d9/d24/poisson__dist_8cpp.html#ad0aa718023ce802dd5899f0e03a7ac71":[11,0,19,5,2], -"d9/d24/poisson__dist_8cpp.html#ad9c9e74079278ca10e3b97a8d5391c9a":[11,0,19,5,3], -"d9/d24/poisson__dist_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,19,5,1], -"d9/d27/namespacelist__array.html":[9,0,64], -"d9/d29/ground__to__ground__projectile__motion_8cpp.html":[11,0,18,0], -"d9/d29/ground__to__ground__projectile__motion_8cpp.html#a10362eb607d7882bac3a0688504b00ff":[11,0,18,0,2], -"d9/d29/ground__to__ground__projectile__motion_8cpp.html#a525335710b53cb064ca56b936120431e":[11,0,18,0,0], -"d9/d29/ground__to__ground__projectile__motion_8cpp.html#a563e066975fed1b84750a0a47c3cbb37":[11,0,18,0,6], -"d9/d29/ground__to__ground__projectile__motion_8cpp.html#aa554429def63077ab7a550c0affbfefa":[11,0,18,0,4], -"d9/d29/ground__to__ground__projectile__motion_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,18,0,5], -"d9/d29/ground__to__ground__projectile__motion_8cpp.html#ab00e9785fb2670f7af99d6f3d636f87c":[11,0,18,0,1], -"d9/d29/ground__to__ground__projectile__motion_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,18,0,3], -"d9/d31/coin__change__topdown_8cpp.html":[11,0,6,4], -"d9/d31/coin__change__topdown_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,6,4,2], -"d9/d31/coin__change__topdown_8cpp.html#ac816a4ae8a29c156b90377041000929a":[11,0,6,4,1], -"d9/d31/coin__change__topdown_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,6,4,0], -"d9/d35/classrange__queries_1_1heavy__light__decomposition_1_1_s_g.html":[10,0,16,0,1], -"d9/d35/classrange__queries_1_1heavy__light__decomposition_1_1_s_g.html#a1fda852e6e522707fd97f61cdb0a2591":[10,0,16,0,1,2], -"d9/d35/classrange__queries_1_1heavy__light__decomposition_1_1_s_g.html#a3c75bf5770790f8eba8cc92227b5400c":[10,0,16,0,1,4], -"d9/d35/classrange__queries_1_1heavy__light__decomposition_1_1_s_g.html#a41c733f5f5e262b308f7cb95c88c1e74":[10,0,16,0,1,1], -"d9/d35/classrange__queries_1_1heavy__light__decomposition_1_1_s_g.html#aa7f93971a9f891e0bbb7023081f379d5":[10,0,16,0,1,7], -"d9/d35/classrange__queries_1_1heavy__light__decomposition_1_1_s_g.html#ac6d912bbfafa3a7509f66bbc1729ca25":[10,0,16,0,1,5], -"d9/d35/classrange__queries_1_1heavy__light__decomposition_1_1_s_g.html#ad3b942be27a1b0fe3cff6cb6edf01294":[10,0,16,0,1,3], -"d9/d35/classrange__queries_1_1heavy__light__decomposition_1_1_s_g.html#afba5c1225ba04c0025c7786c09ff28f1":[10,0,16,0,1,0], -"d9/d35/classrange__queries_1_1heavy__light__decomposition_1_1_s_g.html#afbf8a9cb9449d5ca844f4e141a801e6a":[10,0,16,0,1,6], -"d9/d37/inverse__fast__fourier__transform_8cpp.html":[11,0,15,10], -"d9/d37/inverse__fast__fourier__transform_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,15,10,2], -"d9/d37/inverse__fast__fourier__transform_8cpp.html#abf9e6b7e6f15df4b525a2e7705ba3089":[11,0,15,10,1], -"d9/d37/inverse__fast__fourier__transform_8cpp.html#aee56dc85997b8cd42bad71a5d6bd2d93":[11,0,15,10,0], -"d9/d44/magic__number_8cpp.html":[11,0,14,33], -"d9/d44/magic__number_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e":[11,0,14,33,2], -"d9/d44/magic__number_8cpp.html#a8d8e81a7cd59644b311ef9adb268f5f0":[11,0,14,33,0], -"d9/d44/magic__number_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,14,33,1], -"d9/d49/kohonen__som__trace_8cpp.html":[8,1,2], -"d9/d49/structdata__structures_1_1_node.html":[9,0,21,3], -"d9/d49/structdata__structures_1_1_node.html":[10,0,2,10], -"d9/d49/structdata__structures_1_1_node.html#a54a6777e72b639c3ee6446a541db8e78":[9,0,21,3,0], -"d9/d49/structdata__structures_1_1_node.html#a54a6777e72b639c3ee6446a541db8e78":[10,0,2,10,0], -"d9/d49/structdata__structures_1_1_node.html#a6b973b0bded99b0c0bd84e887bf8c731":[9,0,21,3,3], -"d9/d49/structdata__structures_1_1_node.html#a6b973b0bded99b0c0bd84e887bf8c731":[10,0,2,10,3], -"d9/d49/structdata__structures_1_1_node.html#ac75aa86a598357c5c882ec6a1174aa68":[9,0,21,3,2], -"d9/d49/structdata__structures_1_1_node.html#ac75aa86a598357c5c882ec6a1174aa68":[10,0,2,10,2], -"d9/d49/structdata__structures_1_1_node.html#ac916d833aad2b9c41f01a92db2f8c48e":[9,0,21,3,1], -"d9/d49/structdata__structures_1_1_node.html#ac916d833aad2b9c41f01a92db2f8c48e":[10,0,2,10,1], -"d9/d55/namespacesparse__table.html":[9,0,114], -"d9/d5a/structgeometry_1_1jarvis_1_1_point.html":[10,0,5,1,1], -"d9/d5d/extended__euclid__algorithm_8cpp.html":[11,0,14,12], -"d9/d5d/extended__euclid__algorithm_8cpp.html#a1792ac7c33aaf26b860ab55f5652ab25":[11,0,14,12,1], -"d9/d5d/extended__euclid__algorithm_8cpp.html#abe92d63a0ff9bda7e304df510d5dd217":[11,0,14,12,3], -"d9/d5d/extended__euclid__algorithm_8cpp.html#acba15ca55b3e7dcb91f3c65d72ba052d":[11,0,14,12,0], -"d9/d5d/extended__euclid__algorithm_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,14,12,2], -"d9/d5f/longest__increasing__subsequence__using__binary__search_8cpp.html":[11,0,21,7], -"d9/d5f/longest__increasing__subsequence__using__binary__search_8cpp.html#a313539d9a97fc6e121ce496873ba892e":[11,0,21,7,0], -"d9/d5f/longest__increasing__subsequence__using__binary__search_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e":[11,0,21,7,2], -"d9/d5f/longest__increasing__subsequence__using__binary__search_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,21,7,1], -"d9/d60/namespacerat__maze.html":[9,0,102], -"d9/d65/lfu__cache_8cpp.html":[11,0,17,9], -"d9/d65/lfu__cache_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,17,9,3], -"d9/d65/lfu__cache_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,17,9,2], -"d9/d66/group__machine__learning.html":[8,1], -"d9/d66/group__machine__learning.html#ga5118e5cbc4f0886e27b3a7a2544dded1":[8,1,8], -"d9/d66/group__machine__learning.html#ga60f9186ccb682724a8792a2bf81e9b9e":[8,1,5], -"d9/d66/group__machine__learning.html#gabc90175770bf0d5853c466e14993a08c":[8,1,6], -"d9/d66/group__machine__learning.html#gae0208548f8b393528e5db01717e88e67":[8,1,7], -"d9/d66/group__machine__learning.html#gaf5ce14f026d6d231bef29161bac2b485":[8,1,4], -"d9/d69/median__search_8cpp.html":[11,0,21,8], -"d9/d69/median__search_8cpp.html#a868847218f694e78bf433a0ff7648bae":[11,0,21,8,1], -"d9/d69/median__search_8cpp.html#ae1a3968e7947464bee7714f6d43b7002":[11,0,21,8,2], -"d9/d69/median__search_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,21,8,0], -"d9/d70/namespacequeue__using__array.html":[9,0,97], -"d9/d75/namespacednf__sort.html":[9,0,25], -"d9/d80/trapped__rainwater_8cpp.html":[11,0,6,16], -"d9/d80/trapped__rainwater_8cpp.html#a066e0e739e7c276eee6e61d5b4d37ce8":[11,0,6,16,2], -"d9/d80/trapped__rainwater_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,6,16,1], -"d9/d80/trapped__rainwater_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,6,16,0], -"d9/d89/fibonacci_8cpp.html":[11,0,14,15], -"d9/d89/fibonacci_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,14,15,2], -"d9/d89/fibonacci_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,14,15,1], -"d9/d89/fibonacci_8cpp.html#aeaaf5439cb29de4630c7dff2fd914b28":[11,0,14,15,0], -"d9/d90/struct_btree.html":[10,0,22], -"d9/d92/chaining_8cpp.html":[11,0,12,0], -"d9/d92/chaining_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,12,0,1], -"d9/da2/exponential__dist_8cpp.html":[11,0,19,3], -"d9/da2/exponential__dist_8cpp.html#a1c8b6e787f72a209ef96c096eedf7afc":[11,0,19,3,0], -"d9/da2/exponential__dist_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,19,3,4], -"d9/da2/exponential__dist_8cpp.html#ac7b0091e17479d47438a281fefc2549a":[11,0,19,3,1], -"d9/da2/exponential__dist_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,19,3,3], -"d9/da2/exponential__dist_8cpp.html#af435dbeb43a05c8c7785f53bf4ce1df1":[11,0,19,3,2], -"d9/daa/namespacemidpoint__rule.html":[9,0,73], -"d9/dab/bloom__filter_8cpp.html":[11,0,4,5], -"d9/dab/bloom__filter_8cpp.html#a271c753baf6dc5ac6f19fa03c5873eb4":[11,0,4,5,2], -"d9/dab/bloom__filter_8cpp.html#a30edc0d2bb59c185baec81d69d20ed3b":[11,0,4,5,8], -"d9/dab/bloom__filter_8cpp.html#a35eb2bc3edbb52f9c5f0b1e51046ef15":[11,0,4,5,5], -"d9/dab/bloom__filter_8cpp.html#a6e509afe40db07681f676ad8da4fb905":[11,0,4,5,7], -"d9/dab/bloom__filter_8cpp.html#a71f57bf262fe55db928b19dc124cc0d8":[11,0,4,5,9], -"d9/dab/bloom__filter_8cpp.html#a9ed236419034917c5270c1dccd220b5c":[11,0,4,5,4], -"d9/dab/bloom__filter_8cpp.html#aa6deb9d4a0f63ea97aef3dce4c6c6677":[11,0,4,5,3], -"d9/dab/bloom__filter_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,4,5,6], -"d9/dae/classdata__structures_1_1_bitset.html":[9,0,21,1], -"d9/dae/classdata__structures_1_1_bitset.html":[10,0,2,8], -"d9/dae/classdata__structures_1_1_bitset.html#a15b05aabb28f9b1896b0a61e8ef60130":[9,0,21,1,0], -"d9/dae/classdata__structures_1_1_bitset.html#a15b05aabb28f9b1896b0a61e8ef60130":[10,0,2,8,0], -"d9/dae/classdata__structures_1_1_bitset.html#a17dbe1b1d559302312e8091f82f7499c":[9,0,21,1,1], -"d9/dae/classdata__structures_1_1_bitset.html#a17dbe1b1d559302312e8091f82f7499c":[10,0,2,8,1], -"d9/dae/classdata__structures_1_1_bitset.html#a2f1f44d6a12b0de4aaf242872b1c7b54":[9,0,21,1,3], -"d9/dae/classdata__structures_1_1_bitset.html#a2f1f44d6a12b0de4aaf242872b1c7b54":[10,0,2,8,3], -"d9/dae/classdata__structures_1_1_bitset.html#a9ef54c7c3f6494b36ead3ae2e5cf43ac":[9,0,21,1,2], -"d9/dae/classdata__structures_1_1_bitset.html#a9ef54c7c3f6494b36ead3ae2e5cf43ac":[10,0,2,8,2], -"d9/dae/classdata__structures_1_1_bitset.html#ad7f7d479079a95bcc9175465395fa23f":[9,0,21,1,4], -"d9/dae/classdata__structures_1_1_bitset.html#ad7f7d479079a95bcc9175465395fa23f":[10,0,2,8,4], -"d9/dae/classdata__structures_1_1_bitset.html#ae86688cf99b77342deedb75149573e73":[9,0,21,1,5], -"d9/dae/classdata__structures_1_1_bitset.html#ae86688cf99b77342deedb75149573e73":[10,0,2,8,5], -"d9/dc9/namespacebase64__encoding.html":[9,0,6], -"d9/dca/namespacesearch.html":[9,0,106], -"d9/dd1/namespacelinear__recurrence__matrix.html":[9,0,62], -"d9/dde/classbinary__search__tree.html":[10,0,21], -"d9/dde/classbinary__search__tree.html#a07ba32ce1a2af6e357600ac8c8e98dbc":[10,0,21,20], -"d9/dde/classbinary__search__tree.html#a1f23830316204664514f396a4eb5275a":[10,0,21,8], -"d9/dde/classbinary__search__tree.html#a2fcf37549bd002c174a45b0b4203c2bd":[10,0,21,16], -"d9/dde/classbinary__search__tree.html#a42b16f26928b5e994925100594a167a0":[10,0,21,5], -"d9/dde/classbinary__search__tree.html#a564fe43e7e8f7ecb6f10667a70fbc6f3":[10,0,21,15], -"d9/dde/classbinary__search__tree.html#a5764c1cf848f84a5b77462036a6d8c13":[10,0,21,10], -"d9/dde/classbinary__search__tree.html#a5c011e1b0863d79c3a7c11a0426bdcff":[10,0,21,9], -"d9/dde/classbinary__search__tree.html#a6bf5b410299df2320ddf2709dda61f63":[10,0,21,3], -"d9/dde/classbinary__search__tree.html#a75f897af6aa732a9901454401c869bcb":[10,0,21,4], -"d9/dde/classbinary__search__tree.html#a8168edf29316f2b436eac1fc416c52e0":[10,0,21,12], -"d9/dde/classbinary__search__tree.html#a87c0a35845d27e0f6fc1f4eaa0333362":[10,0,21,17], -"d9/dde/classbinary__search__tree.html#a99771c2e1353e8ddfd4bb9d30b7a98fb":[10,0,21,14], -"d9/dde/classbinary__search__tree.html#a9d1e7e10efa74d741bf48cf032df3778":[10,0,21,11], -"d9/dde/classbinary__search__tree.html#aa08f65f6f3bfcb14f8c3d1e65305ae50":[10,0,21,19], -"d9/dde/classbinary__search__tree.html#aa4f84b2eec9b9201af1840868ddb5fb2":[10,0,21,2], -"d9/dde/classbinary__search__tree.html#aa67321ed575ca313cd71d833d91234a6":[10,0,21,1], -"d9/dde/classbinary__search__tree.html#ab81edd415324d372632c42dc7dbcb9e1":[10,0,21,18], -"d9/dde/classbinary__search__tree.html#ad9912e8574538e86f9bd2c38e7e63d03":[10,0,21,7] +"da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution.html#aaf762e88c66918d7afda4234f28a7ddf":[10,0,14,0,0,4], +"da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution.html#ad5ed23a251dbe55ad1ed06bf1a465ad3":[10,0,14,0,0,9], +"da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution.html#aea8b0d649f0dc9a6f8baf3341a0b4960":[10,0,14,0,0,8], +"da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution.html#aee973db9f0435e0cb4cc70f8eb3447a1":[10,0,14,0,0,5], +"da/d21/class_longest___substring.html":[10,0,41], +"da/d21/class_longest___substring.html#af8a3672bc8d95e7da4f9a45e5e2e387d":[10,0,41,0], +"da/d23/eulers__totient__function_8cpp.html":[11,0,14,12], +"da/d23/eulers__totient__function_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97":[11,0,14,12,0], +"da/d23/eulers__totient__function_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,14,12,2], +"da/d23/eulers__totient__function_8cpp.html#ac37d3ba52eb296597d7a024ba8c4a5a5":[11,0,14,12,1], +"da/d23/eulers__totient__function_8cpp_source.html":[11,0,14,12], +"da/d24/sqrt__double_8cpp.html":[11,0,14,54], +"da/d24/sqrt__double_8cpp.html#ae662282ad0740d2063ac404ca3bd74fc":[11,0,14,54,1], +"da/d24/sqrt__double_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,14,54,0], +"da/d24/sqrt__double_8cpp_source.html":[11,0,14,54], +"da/d27/prim_8cpp_source.html":[11,0,9,17], +"da/d37/structdata__structures_1_1sparse__table_1_1_sparse__table.html":[10,0,2,3,0], +"da/d37/structdata__structures_1_1sparse__table_1_1_sparse__table.html#a0c8cbe7239232863f104793c08273039":[10,0,2,3,0,0], +"da/d37/structdata__structures_1_1sparse__table_1_1_sparse__table.html#a6cf72f93b1551f0d943c585b4f173be3":[10,0,2,3,0,2], +"da/d37/structdata__structures_1_1sparse__table_1_1_sparse__table.html#ab78620742305a35ff2f8d61179f47d3e":[10,0,2,3,0,1], +"da/d37/structdata__structures_1_1sparse__table_1_1_sparse__table.html#ad36b9a20fed47b068e407008c04e9f81":[10,0,2,3,0,4], +"da/d37/structdata__structures_1_1sparse__table_1_1_sparse__table.html#ad71ecd43d0af1127df5f4006258f9635":[10,0,2,3,0,3], +"da/d39/volume_8cpp.html":[11,0,14,59], +"da/d39/volume_8cpp.html#a2d704a7b72a6b2db8b76c8581b577b2c":[11,0,14,59,8], +"da/d39/volume_8cpp.html#a34d66a77c19ce9b8b3a3d14352b34551":[11,0,14,59,6], +"da/d39/volume_8cpp.html#a3fdc74c24697ec5bb5c3698c96117c12":[11,0,14,59,5], +"da/d39/volume_8cpp.html#a3fe35440c27758ecc2287e08217d63a7":[11,0,14,59,0], +"da/d39/volume_8cpp.html#a94db02b3c9e55a69ac1696f30e2f761c":[11,0,14,59,4], +"da/d39/volume_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,14,59,7], +"da/d39/volume_8cpp.html#abde24398be43538c62e4a496968e60ca":[11,0,14,59,2], +"da/d39/volume_8cpp.html#ae413098478fa38acaac887b7654f0725":[11,0,14,59,1], +"da/d39/volume_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,14,59,3], +"da/d39/volume_8cpp_source.html":[11,0,14,59], +"da/d41/uint128__t_8hpp.html":[11,0,2,7], +"da/d41/uint128__t_8hpp.html#a3ff77262ffd6743df5b808d41382a6f3":[11,0,2,7,5], +"da/d41/uint128__t_8hpp.html#acce684d03a24f9c13a9ed36de6d24a57":[11,0,2,7,4], +"da/d41/uint128__t_8hpp_source.html":[11,0,2,7], +"da/d49/classgreedy__algorithms_1_1_digit_separation.html":[9,0,42,3], +"da/d49/classgreedy__algorithms_1_1_digit_separation.html":[10,0,7,2], +"da/d49/classgreedy__algorithms_1_1_digit_separation.html#a1809ae6828223999374bde5b197a59c8":[9,0,42,3,1], +"da/d49/classgreedy__algorithms_1_1_digit_separation.html#a1809ae6828223999374bde5b197a59c8":[10,0,7,2,1], +"da/d49/classgreedy__algorithms_1_1_digit_separation.html#a34769a780845e9d4279152899bd3bf79":[9,0,42,3,2], +"da/d49/classgreedy__algorithms_1_1_digit_separation.html#a34769a780845e9d4279152899bd3bf79":[10,0,7,2,2], +"da/d49/classgreedy__algorithms_1_1_digit_separation.html#afd54c969a6c9bab16b4a064fbc8ed40e":[9,0,42,3,0], +"da/d49/classgreedy__algorithms_1_1_digit_separation.html#afd54c969a6c9bab16b4a064fbc8ed40e":[10,0,7,2,0], +"da/d4b/depth__first__search__with__stack_8cpp.html":[11,0,9,7], +"da/d4b/depth__first__search__with__stack_8cpp.html#a330a2b0a904f01802ada1f8f3b28e76c":[11,0,9,7,6], +"da/d4b/depth__first__search__with__stack_8cpp.html#a43e30173f12330e85cce6239a277527e":[11,0,9,7,5], +"da/d4b/depth__first__search__with__stack_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e":[11,0,9,7,3], +"da/d4b/depth__first__search__with__stack_8cpp.html#a5738da9f508f6a9e87f123c9fb6f2ea9":[11,0,9,7,1], +"da/d4b/depth__first__search__with__stack_8cpp.html#a7f1cd94cf4da32933e8551cb3577e18b":[11,0,9,7,4], +"da/d4b/depth__first__search__with__stack_8cpp.html#aadebe9c855821d6515ca5b171222ef7b":[11,0,9,7,0], +"da/d4b/depth__first__search__with__stack_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,9,7,2], +"da/d4b/depth__first__search__with__stack_8cpp.html#afb80b42b42381658a12a57a975ecd0c7":[11,0,9,7,7], +"da/d4b/depth__first__search__with__stack_8cpp_source.html":[11,0,9,7], +"da/d50/count__of__trailing__ciphers__in__factorial__n_8cpp.html":[11,0,1,2], +"da/d50/count__of__trailing__ciphers__in__factorial__n_8cpp.html#a0d5e1d651d0d30bd682f176d8f2b83d0":[11,0,1,2,1], +"da/d50/count__of__trailing__ciphers__in__factorial__n_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,1,2,2], +"da/d50/count__of__trailing__ciphers__in__factorial__n_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,1,2,0], +"da/d50/count__of__trailing__ciphers__in__factorial__n_8cpp_source.html":[11,0,1,2], +"da/d52/minimum__edit__distance_8cpp.html":[11,0,6,21], +"da/d52/minimum__edit__distance_8cpp.html#a0138c226bd79ffe6d839c787cfc60347":[11,0,6,21,2], +"da/d52/minimum__edit__distance_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97":[11,0,6,21,1], +"da/d52/minimum__edit__distance_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,6,21,3], +"da/d52/minimum__edit__distance_8cpp.html#ade2fcfe0359f3c7691bfaa04b14943e2":[11,0,6,21,0], +"da/d52/minimum__edit__distance_8cpp_source.html":[11,0,6,21], +"da/d5a/class_complex.html":[10,0,27], +"da/d5a/class_complex.html#a312e4b19146128408fb06e0150b0faf6":[10,0,27,11], +"da/d5a/class_complex.html#a36739619a07b5478bcd8a28ad2f8b7da":[10,0,27,7], +"da/d5a/class_complex.html#a3cfc522c782726f49ee20af17b77f867":[10,0,27,0], +"da/d5a/class_complex.html#a466cd7b664cc6a864937ceb3dead1323":[10,0,27,1], +"da/d5a/class_complex.html#a4ac9f529d54cacf2969f2c7179b4c4ac":[10,0,27,9], +"da/d5a/class_complex.html#a820afcbb330df716577459d7a3aa3a1c":[10,0,27,6], +"da/d5a/class_complex.html#a8d5427f6c42c15283031d73e1418c59d":[10,0,27,10], +"da/d5a/class_complex.html#aa9b4a7d6083ca7040ddd4fe93db5c19d":[10,0,27,5], +"da/d5a/class_complex.html#ac38437c10eb798f176c384a695171b90":[10,0,27,8], +"da/d5a/class_complex.html#ae1e03712837450549e0c9b4017533a41":[10,0,27,3], +"da/d5a/class_complex.html#ae5b51b749ea4964104b9527af9d8f556":[10,0,27,2], +"da/d5a/class_complex.html#af8aacf982e2e6c142921bc850f6dc974":[10,0,27,4], +"da/d61/structsearch_1_1sublist__search_1_1_node.html":[10,0,17,0,0], +"da/d61/structsearch_1_1sublist__search_1_1_node.html#a912ae0b339da401fc33ad21494c60e2b":[10,0,17,0,0,0], +"da/d61/structsearch_1_1sublist__search_1_1_node.html#afe96e03dd6a404480ab43d1e88363a7a":[10,0,17,0,0,1], +"da/d68/searching__of__element__in__dynamic__array_8cpp_source.html":[11,0,6,24], +"da/d6d/namespaceoperations__on__datastructures.html":[9,0,87], +"da/d6d/namespaceoperations__on__datastructures.html#a1bfb8711f49e591eb168ccaa3df6fb86":[9,0,87,4], +"da/d6d/namespaceoperations__on__datastructures.html#a2b8ff06a84b041457873840bf82e2d74":[9,0,87,1], +"da/d6d/namespaceoperations__on__datastructures.html#a6109193567a5b7e36a27f2b4865fce20":[9,0,87,2], +"da/d6d/namespaceoperations__on__datastructures.html#adaf9a06f0c236c2d95c97e441ea2d12e":[9,0,87,0], +"da/d6d/namespaceoperations__on__datastructures.html#afce39cf843989a39811a49ebe29dd6d8":[9,0,87,3], +"da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html":[10,0,10,0,0,1], +"da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html#a003a30bb165be50ce503c17df90c128d":[10,0,10,0,0,1,8], +"da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html#a331d1070d008a4f9d55775a51013baa3":[10,0,10,0,0,1,9], +"da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html#a572de12115e39e34dde6e68b707d59f5":[10,0,10,0,0,1,3], +"da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html#a695e4314ebc3ab58e13004dc63599fe8":[10,0,10,0,0,1,1], +"da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html#a6abc89925ae7055a63b428e61525ad7a":[10,0,10,0,0,1,4], +"da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html#aa816af5a64b37c86be8acda89fdefba2":[10,0,10,0,0,1,5], +"da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html#aaa7ea27346659f0abe2df82ca57fc5a7":[10,0,10,0,0,1,0], +"da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html#ac77d992953fa0de10a755e5a9aa06317":[10,0,10,0,0,1,6], +"da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html#ad3950824936488f66408313b1f8a8ca8":[10,0,10,0,0,1,2], +"da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html#ad3993dbca9c5b3ef9ac361dc7f62ce57":[10,0,10,0,0,1,7], +"da/d77/spirograph_8cpp.html":[11,0,10,0], +"da/d77/spirograph_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627":[11,0,10,0,1], +"da/d77/spirograph_8cpp.html#a525335710b53cb064ca56b936120431e":[11,0,10,0,0], +"da/d77/spirograph_8cpp.html#a8e83a64e8443fff1e5ffdc1c299c1e99":[11,0,10,0,3], +"da/d77/spirograph_8cpp.html#aeca22dbe4563358960e907a40cd3e1ac":[11,0,10,0,2], +"da/d77/spirograph_8cpp_source.html":[11,0,10,0], +"da/d7b/primality__test_8cpp.html":[11,0,17,19], +"da/d7b/primality__test_8cpp.html#a2bfa6adead2bdcbf1dac94cbe08d7eaf":[11,0,17,19,0], +"da/d7b/primality__test_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,17,19,1], +"da/d7b/primality__test_8cpp_source.html":[11,0,17,19], +"da/d82/namespacecycle__detection.html":[9,0,19], +"da/d83/kosaraju_8cpp_source.html":[11,0,9,13], +"da/d86/struct_test_case.html":[10,0,56], +"da/d8d/depth__first__search_8cpp.html":[11,0,9,6], +"da/d8d/depth__first__search_8cpp.html#a64c1db5aad7502c6f08e4652f6edd463":[11,0,9,6,2], +"da/d8d/depth__first__search_8cpp.html#ab5428a3519267a28bba4b4310cfbb6ae":[11,0,9,6,1], +"da/d8d/depth__first__search_8cpp.html#ad4016cfc80485a43748895a2c26c7d08":[11,0,9,6,0], +"da/d8d/depth__first__search_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,9,6,3], +"da/d8d/depth__first__search_8cpp_source.html":[11,0,9,6], +"da/d94/classmachine__learning_1_1k__nearest__neighbors_1_1_knn.html":[10,0,10,1,0], +"da/d94/classmachine__learning_1_1k__nearest__neighbors_1_1_knn.html#a080f5b1742832a03c1cbba596a48bd1a":[10,0,10,1,0,4], +"da/d94/classmachine__learning_1_1k__nearest__neighbors_1_1_knn.html#a16ddc13621eec6ac5f83658b3401a581":[10,0,10,1,0,7], +"da/d94/classmachine__learning_1_1k__nearest__neighbors_1_1_knn.html#a188d29ffcefdb5900a8cd41eccd89200":[10,0,10,1,0,0], +"da/d94/classmachine__learning_1_1k__nearest__neighbors_1_1_knn.html#a209383503fb6c03afac405a80bace964":[10,0,10,1,0,8], +"da/d94/classmachine__learning_1_1k__nearest__neighbors_1_1_knn.html#a4b17dcf17c847f0295b60029512c120e":[10,0,10,1,0,2], +"da/d94/classmachine__learning_1_1k__nearest__neighbors_1_1_knn.html#a62e152db014cd4de675fa906e5ef2861":[10,0,10,1,0,6], +"da/d94/classmachine__learning_1_1k__nearest__neighbors_1_1_knn.html#a9f5885c40112481ae5b588fe81d7910b":[10,0,10,1,0,1], +"da/d94/classmachine__learning_1_1k__nearest__neighbors_1_1_knn.html#ac06986d5afddc767ddba4da738f75563":[10,0,10,1,0,5], +"da/d94/classmachine__learning_1_1k__nearest__neighbors_1_1_knn.html#afe732a33112b457b738f403622d226e5":[10,0,10,1,0,3], +"da/d9a/class_graph.html":[10,0,34], +"da/d9a/class_graph.html#a5a090e1a63a5c47bdd1a539b21f7fd1d":[10,0,34,6], +"da/d9a/class_graph.html#a8c95e00effaea0cd9404dd74cd802ae3":[10,0,34,1], +"da/d9a/class_graph.html#a8dcb5ce0b4a6f65827f5055d9d53a3f1":[10,0,34,7], +"da/d9a/class_graph.html#aa99d44d3179d5bbbfa84a5031cf80cb1":[10,0,34,2], +"da/d9a/class_graph.html#ac5a4d9a4f894a179198936042c778413":[10,0,34,5], +"da/d9a/class_graph.html#ac85c63bcca4764a621f9f8609a8e5910":[10,0,34,4], +"da/d9a/class_graph.html#adcbd1b60cab30b97c54d700eee8e456d":[10,0,34,0], +"da/d9a/class_graph.html#af765dda8f21280e1cecea19e129f1bc5":[10,0,34,3], +"da/d9a/palindrome__of__number_8cpp.html":[11,0,17,15], +"da/d9a/palindrome__of__number_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,17,15,0], +"da/d9a/palindrome__of__number_8cpp_source.html":[11,0,17,15], +"da/d9c/namespacegames.html":[9,0,34], +"da/da3/uint256__t_8hpp.html":[11,0,2,8], +"da/da3/uint256__t_8hpp.html#a1d8c5ec5b5e419c5c8a740251485102c":[11,0,2,8,4], +"da/da3/uint256__t_8hpp_source.html":[11,0,2,8], +"da/dac/n__queens__all__solution__optimised_8cpp.html":[11,0,0,6], +"da/dac/n__queens__all__solution__optimised_8cpp.html#a04090463be4942a69ea91fe7386da905":[11,0,0,6,3], +"da/dac/n__queens__all__solution__optimised_8cpp.html#a23c0547e4fd1708e6fb643b08327a60f":[11,0,0,6,2], +"da/dac/n__queens__all__solution__optimised_8cpp.html#a9e48455584a4faa33e83dd1891efd9b9":[11,0,0,6,0], +"da/dac/n__queens__all__solution__optimised_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,0,6,1], +"da/dac/n__queens__all__solution__optimised_8cpp_source.html":[11,0,0,6], +"da/db8/count__of__set__bits_8cpp.html":[11,0,1,1], +"da/db8/count__of__set__bits_8cpp.html#a86c98dc299e4db28b73e08309d977e62":[11,0,1,1,0], +"da/db8/count__of__set__bits_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,1,1,1], +"da/db8/count__of__set__bits_8cpp_source.html":[11,0,1,1], +"da/dc3/linked__list_8cpp.html":[11,0,4,11], +"da/dc3/linked__list_8cpp.html#ab1a372fe1e605bc0e0987dcdd7361180":[11,0,4,11,2], +"da/dc3/linked__list_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,4,11,3], +"da/dc3/linked__list_8cpp_source.html":[11,0,4,11], +"da/dc9/fibonacci__matrix__exponentiation_8cpp.html":[11,0,14,19], +"da/dc9/fibonacci__matrix__exponentiation_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,14,19,2], +"da/dc9/fibonacci__matrix__exponentiation_8cpp.html#abc3bc08249058d57cfc8f54a29d9cf9f":[11,0,14,19,0], +"da/dc9/fibonacci__matrix__exponentiation_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,14,19,1], +"da/dc9/fibonacci__matrix__exponentiation_8cpp_source.html":[11,0,14,19], +"da/dd1/structquadratic__probing_1_1_entry.html":[9,0,96,0], +"da/dd1/structquadratic__probing_1_1_entry.html":[10,0,15,0], +"da/dd1/structquadratic__probing_1_1_entry.html#a75f72858f08a2fc8b94402de98db12d8":[9,0,96,0,1], +"da/dd1/structquadratic__probing_1_1_entry.html#a75f72858f08a2fc8b94402de98db12d8":[10,0,15,0,1], +"da/dd1/structquadratic__probing_1_1_entry.html#a9df1118010a233d13ab3dd699bcb513e":[9,0,96,0,0], +"da/dd1/structquadratic__probing_1_1_entry.html#a9df1118010a233d13ab3dd699bcb513e":[10,0,15,0,0], +"da/dd3/karatsuba__algorithm__for__fast__multiplication_8cpp.html":[11,0,5,0], +"da/dd3/karatsuba__algorithm__for__fast__multiplication_8cpp.html#a7a890d2f26855ada3b9f1d43aec70a86":[11,0,5,0,1], +"da/dd3/karatsuba__algorithm__for__fast__multiplication_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,5,0,4], +"da/dd3/karatsuba__algorithm__for__fast__multiplication_8cpp.html#aad9e3edfe156b59fc06a5585403fe0d6":[11,0,5,0,3], +"da/dd3/karatsuba__algorithm__for__fast__multiplication_8cpp.html#ad76f5cac3ef8dc034f6abb99b64c2b20":[11,0,5,0,0], +"da/dd3/karatsuba__algorithm__for__fast__multiplication_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,5,0,2], +"da/dd3/karatsuba__algorithm__for__fast__multiplication_8cpp_source.html":[11,0,5,0], +"da/dd3/namespacespirograph.html":[9,0,115], +"da/dd3/namespacespirograph.html#a8e83a64e8443fff1e5ffdc1c299c1e99":[9,0,115,1], +"da/dd3/namespacespirograph.html#aeca22dbe4563358960e907a40cd3e1ac":[9,0,115,0], +"da/dd4/namespacemedian__search.html":[9,0,71], +"da/dda/namespaceradix__sort.html":[9,0,99], +"da/de7/decimal__to__hexadecimal_8cpp.html":[11,0,17,2], +"da/de7/decimal__to__hexadecimal_8cpp.html#a840291bc02cba5474a4cb46a9b9566fe":[11,0,17,2,0], +"da/de7/decimal__to__hexadecimal_8cpp_source.html":[11,0,17,2], +"da/de8/dijkstra__greedy_8cpp.html":[11,0,11,3], +"da/de8/dijkstra__greedy_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e":[11,0,11,3,5], +"da/de8/dijkstra__greedy_8cpp.html#a7341d7c76a6145e991cdd231f689fca8":[11,0,11,3,4], +"da/de8/dijkstra__greedy_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,11,3,2], +"da/de8/dijkstra__greedy_8cpp.html#af6cb29ca6dc5771439f6ea7262058a71":[11,0,11,3,3], +"da/de8/dijkstra__greedy_8cpp.html#af915876d0ca33cc71a6a6191a8cd3ccd":[11,0,11,3,1], +"da/de8/dijkstra__greedy_8cpp_source.html":[11,0,11,3], +"da/df2/durand__kerner__roots_8cpp.html":[11,0,15,4], +"da/df2/durand__kerner__roots_8cpp.html#a024b8bc4755863315456d573a6732377":[11,0,15,4,1], +"da/df2/durand__kerner__roots_8cpp.html#a0283886819c7c140a023582b7269e2d0":[11,0,15,4,6], +"da/df2/durand__kerner__roots_8cpp.html#a1440a7779ac56f47a3f355ce4a8c7da0":[11,0,15,4,5], +"da/df2/durand__kerner__roots_8cpp.html#a2c35b320ace8677f9b331faf94f8b2fd":[11,0,15,4,3], +"da/df2/durand__kerner__roots_8cpp.html#a90219e35062007d1f1b68e9af071ab5c":[11,0,15,4,2], +"da/df2/durand__kerner__roots_8cpp.html#ae2ab49ba1969d7a5988f9bc2c8924569":[11,0,15,4,4], +"da/df2/durand__kerner__roots_8cpp.html#af270a96662132d0385cb6b4637c5a689":[11,0,15,4,0], +"da/df2/durand__kerner__roots_8cpp_source.html":[11,0,15,4], +"db/d01/brent__method__extrema_8cpp.html":[11,0,15,2], +"db/d01/brent__method__extrema_8cpp.html#a002b2f4894492820fe708b1b7e7c5e70":[11,0,15,2,1], +"db/d01/brent__method__extrema_8cpp.html#a0283886819c7c140a023582b7269e2d0":[11,0,15,2,5], +"db/d01/brent__method__extrema_8cpp.html#a1440a7779ac56f47a3f355ce4a8c7da0":[11,0,15,2,4], +"db/d01/brent__method__extrema_8cpp.html#a1aa76a6d5fd4d333f9072beff1dc486b":[11,0,15,2,2], +"db/d01/brent__method__extrema_8cpp.html#a525335710b53cb064ca56b936120431e":[11,0,15,2,0], +"db/d01/brent__method__extrema_8cpp.html#a6d0455dd5c30adda100e95f0423c786e":[11,0,15,2,6], +"db/d01/brent__method__extrema_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,15,2,3], +"db/d01/brent__method__extrema_8cpp_source.html":[11,0,15,2], +"db/d03/_s_t-example.html":[12,0], +"db/d03/namespacewildcard__matching.html":[9,0,140], +"db/d07/spiral__print_8cpp.html":[11,0,17,23], +"db/d07/spiral__print_8cpp.html#a850d3f55e1a8d227176cdcc67352c197":[11,0,17,23,2], +"db/d07/spiral__print_8cpp.html#acfff36db81326fb990a643ab198ee8a5":[11,0,17,23,0], +"db/d07/spiral__print_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,17,23,1], +"db/d07/spiral__print_8cpp_source.html":[11,0,17,23], +"db/d09/duval_8cpp.html":[11,0,24,2], +"db/d09/duval_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,24,2,2], +"db/d09/duval_8cpp.html#ac2a35302e6bed93c4b2c6f55a21a5632":[11,0,24,2,0], +"db/d09/duval_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,24,2,1], +"db/d09/duval_8cpp_source.html":[11,0,24,2], +"db/d0d/prime__factorization_8cpp.html":[11,0,14,48], +"db/d0d/prime__factorization_8cpp.html#a0ece0145fb29a5cf48378c23dde2da46":[11,0,14,48,1], +"db/d0d/prime__factorization_8cpp.html#a7fe38b570a51e448430d6a0f072c2f23":[11,0,14,48,4], +"db/d0d/prime__factorization_8cpp.html#acfb0df439a4beae5a34ef131ce737c1b":[11,0,14,48,3], +"db/d0d/prime__factorization_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,14,48,0], +"db/d0d/prime__factorization_8cpp.html#af097796783684712b8326e5b82bfd4fe":[11,0,14,48,5], +"db/d0d/prime__factorization_8cpp.html#affe577b9bce8f604f5e2f861c63c7099":[11,0,14,48,2], +"db/d0d/prime__factorization_8cpp_source.html":[11,0,14,48], +"db/d16/0__1__knapsack_8cpp.html":[11,0,6,0], +"db/d16/0__1__knapsack_8cpp.html#a15edf30f336885e5b851f6b7199c6cd1":[11,0,6,0,1], +"db/d16/0__1__knapsack_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,6,0,2], +"db/d16/0__1__knapsack_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,6,0,0], +"db/d16/0__1__knapsack_8cpp_source.html":[11,0,6,0], +"db/d19/structlinear__probing_1_1_entry.html":[9,0,61,0], +"db/d19/structlinear__probing_1_1_entry.html":[10,0,9,0], +"db/d19/structlinear__probing_1_1_entry.html#a2139f643a3caf074da1db8a9fa16fa77":[9,0,61,0,0], +"db/d19/structlinear__probing_1_1_entry.html#a2139f643a3caf074da1db8a9fa16fa77":[10,0,9,0,0], +"db/d19/structlinear__probing_1_1_entry.html#a4d84e90b73022083761f85f8586c4c2a":[9,0,61,0,1], +"db/d19/structlinear__probing_1_1_entry.html#a4d84e90b73022083761f85f8586c4c2a":[10,0,9,0,1], +"db/d27/n__bonacci_8cpp.html":[11,0,14,41], +"db/d27/n__bonacci_8cpp.html#a6849b68f760be628d5975ab3eddec63d":[11,0,14,41,1], +"db/d27/n__bonacci_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,14,41,2], +"db/d27/n__bonacci_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,14,41,0], +"db/d27/n__bonacci_8cpp_source.html":[11,0,14,41], +"db/d3c/tower__of__hanoi_8cpp.html":[11,0,17,25], +"db/d3c/tower__of__hanoi_8cpp.html#a746d9a3984bba88fd6dd91978f6931ed":[11,0,17,25,3], +"db/d3c/tower__of__hanoi_8cpp.html#ab037f72a5eac476535a6cfbbcb965417":[11,0,17,25,4], +"db/d3c/tower__of__hanoi_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,17,25,1] }; diff --git a/pages.html b/pages.html index 1eb520890..2149bd471 100644 --- a/pages.html +++ b/pages.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Related Pages +TheAlgorithms/C++: Related Pages + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({ + diff --git a/project_logo.png b/project_logo.png new file mode 100644 index 0000000000000000000000000000000000000000..f857ccaf1fcc7de998248cea60ecffa774562b79 GIT binary patch literal 7452 zcmd6s^;gtS)W-qYC6^BAMx+I#yFogZrC9_dB$RFt78Ddj1f(0KyB3LM>F!vmMd|K_ zhwt;_^A|in%*;8TGc$M2=ggh^zOVa9Pe%=ePm7O%fdSG`S2lPY`~GXVSdTrcq(nak z2K`?RWd$R@jNQyxPqzNdjX?wnwtT15ho!)p`H%oJ+QqKnOwI!F#l(WZ=D^nW4aR-@ zWzm8!pgm-i1Na60bCD2K^;Q~tUl9N#t$@WGGz~;-F*4U;u!d{qboA+RQT%wzT&f#)bj@|9x<#RjhT#;8BKXBgLfB zCK|2!1ZN4aG&a`hgx#U_oU zm&wTG;;sZ|j(mCDQt$A-G?GJa3NhJ2p)Gctm;8mnnDx_X!U`l5ZWwxZeTmQl7j}8N z4F3b;@vK*MSvCNzr{HkdHR;39=FO~sl90G8^O^R`Y;%sXjwz3b$~h|O$xQ47S+d%+ z)j~D-hts}2VVQ+2WMG3f;9;wjZ6n4`Gwo`+7r_+WcG)OW*^oY&p2Wx>O&VG z+BL*Cj}NF09;>StNGcI>-Cp@eBDe{$*r<^x@c&J`jt&0jn=VKxfGbLx=sy(W=OmsYj^CVMaKg{AQPDN!rAQeq2EC9>@Q z%A7Njy)n1aWmD)o=2cCTH{A^CJXZS2!uq)(4n(9s+vzxZ?D9lGHepQ^__W!;))4%hPTQ^7eZ$^1yN zCt#~`$xNK(nY_m(LBjcAN#WXW;31G?=ljGfJe$Z@MZ6ye(Wap$3r+xFU|SG$?g%SF z?c$Albo9@97{|xG2+q+g*31OE`_HPuqANh)-bXMnJdcQJ851~-{slegYxs@#d1HED z3=&#?!NX=|4q@$eJ`FCxdOYijM4ZMO`pVe^P6=NrepgPLs+&J5X?cVra*^`pO-#9MQ`>j^D&4UZZl97J{4Ld&eFbTQtSyHi%PUHw}g?ePe{#QN;0`{X(?j6IP+B-ksIHcf7h=u?i+ed>#jwV|Sk^)Ia# z4;qFPK@*ZYzRz;`+UgyRp&U})ht;Sf{Jm4d@IISHbzUTET0B=N`1+0f*`H(?i-s-= zTk}8bno0mbvW#B<^-=PgN-6%%Hk1T{_ibw@BG&FCrPH!VZ$qwGI2GqD&Ig<5nP;Lr zWDE2(+ZsL%hk4WAI#*3O#W8zmA+wD%St)k+brmxB44*Ruz^T%mx28!GV#GbQ>9f95 z)bB2b&kI3BxLr9;);xiJW(JU-o_|fti|jsb?8VYe49fu_G)>B6(*rB%41i=F$@HD8 z>%z_S=C>ma*cEo+TL~Ek;a>VzV*#D3H0ziAml*CSl)F^ChKL+PShCXKwRr(MUwF~V zWRg>$HDx>R1?is{oYTW!-*d;oFOwUxsydM}&F2R070l|JNIWe<#7Vw`7IqJgaKK@t zUGz+W?Nqh$2LC47$?~<+4&Kfw(dKXA-2nY^jJ3YnvWp{nK}XbrYkUTqR%dmzE>)Pq zUiE{jA#PA)dtGX$5^L_z@z3taBtg1WqOo+Bq>*THn%xoSS3A#h1ftPs*+X22c-HbI zf~ZpWFU}%xsn@f-$+7-N)vcamrBJfqE`!EPIeN*mi>!wHDSIyEzA#GuT1-*n8onHaxL@R{}m zg}pV<_q-ONh}kxI-QLZQDs9w z%CPB-Zy2Iuio{wLsTNf?)Y{qWjLb5bk}-H9jm(f&H9?+ZPQ3pyYu@et)EEBreTX$ociRB`06wK&D*y z+G+^-TGm%;JGBpuvPXiSHa}nsrELyh_X+ z*=QmI7G-sRu%wEjnQ+%!{RLGKcw^R~@<5R2!ix9_ep#JFO z%FD4UBhhRTGS4jujG|NOtFY6e+UW+bq2OhFKm1I$}<10JVBhFYcR(dgCa}rBynVoCgTC&pjHwk~vB@R2K zUy`L%)2~jh5a(p#UsMpxxMC=FpQ8N7TfmAt!}Mm_?i6DDh$H0(P5DW|nqMoCpC3N@ z@V%T66# zj#g_EqYnF=_ZUILL%Lu74aT6tG-8hOS);VT;MUSqh)?|K%egHgJD-B^xXdWhUXM-I zf+fv3cj|dVH)4&8%Lw0u91=EZ+JgIsc{mF5If(d9EP}oe0Qn zi7+2Xc*L6L-H1vP{1_ou#eF;Iz%4Z<6~oObzKBIud5RaPf<=btP&nE#35TgTCh5+Tcg znEx94K`$eHOa_+c#U!wLZ~+n>7kEk(piu8hkACBvqP>FK3F$f@)rm7IjeqmnLZ%xi z1?jW$oWwgDw))f|{s0^)FV{gvs%j)yqQ=?SgYd1RV`ytGT)9e!UTG0%JWe3qv_{*z zN;jq|KY5ssM~0H`Y62BWUOT9s;QM>yeov?hnq-q;?o%cy6Jsbnp$~N0Rrhv;rJE_> z^x|Lx=Ela(=vn4jCW}6_fF8YjEf0&vs;V9MN>ur#Wt(?;4e!1-KUc7(A6PX!T)M(Re&wEl2t>m zU?@}|)8g{|>Bfu3yF0N=lTs|<{8tY*VhJH*cz%m4yA$}0T?!xVNh)qSlWb8a6D#ny zBG%06vWPcL9sfKk+S)h|*XexCcIpx}Vl5&$!0X*6BV6zY^ao<+cb;E5s?D?S3B{QS zUV|@?kxolQSe6$*sIkfX_SUDl*=+bomCn$Cl+I0OI)*+a(K9U${130(!E9^Yk zu^zgc%wD>odd=@bsOh$KwasC9cJXy%E`nGEZewH!w(|6GvtBw)qOumx%&y{dZCkGQ z)a*ti!a7dX-@Ue$95pu)4QvmN66B9vpa`v3xS!X7YL~BcJ7N%Mot&Lm3M~7Zc`Sl!OQiY z>-(cyO=Ir0ZTC>Ti(?8%kDOS@_}Y)_zi;TLd|MkOe%M(o-=cgmSD)Oe?|C?xxF7&xxi^ z=lp(MSYqhy=l+dKWy3Qy>@=&ZyPtT093~Yv=_V!0La4p4n@HcgDx0$W2eeK2uG8UbvXIM1f72j!&jV^_+SEj@Lt1I6(hvws0IXH9%Y^o)q_ z^t1))cnPGaxCaKOrkL(`gGDy78K1{l&1M1NZPuc@0b4?Nc5&Tj+bS8xpSKkuxeREl>5_v@_0%MI!Q<>AQ` zGt&ysQV#C6?MKBb`7>q;sw4W>>f5R~j|~e$$FYS7P6>^}C#A^!lS+oRMWZ2*8fy*hp)rp*xG~b2jOjo zW!#Svo!NTA^9e9Bt`cIuQ@MN#*+#N>8AF-XdZ zm>Bo9Q!YeTqr8a+Ii5@fkQ5~avJO1xea>$Fmi2U&-okEOc0 zruT20(DQikCJs6&zL}{n&mC>AsNuCS-yD*YGBdDDv48J8{UxtUxzr6tNy4@LG=^b} zDZ?mRp3_KQTwuRWHP8~sb<*lU(Qovh#!KNdE)YJS-RUhv7b89)_T8y@L^Qh8T-;%K z%7K>8mDC<{_Cs*CDL9)=wsEKNEV*2Bc5qs~4i9)gGoi45g(TwINRB>t#&0H3>oDc!tk{1RMDR z%XZwSNvqlywiH`AVhXw&u-6amy!S$yX2?QlgL`7;wN_*~p68Cs=Ez{DYnqofC=gK8 zKhy@w^SxBzgD6<-ab{EG<9Z6*=ukWG~T@Rc?`fGwfWuRr$rdKLZ%VjRFSW7`qEN58EgJ~l zSklb(HI7&D6xOHp+2m*Eex;=aaz?MXMacK?rVJxo)5(2KXehA9m3ir;G`X55W+9DU zeLl+tj4ws9aw>7)sz{44{RB?G8BamnhWn`8BB4Be^kwl8cd!NCW=+O%*Jmt%< zk-H(c5ZNfdR)MMJC#t2_>pjPXQ0E_xkyR_|n60xWp1S7!pCrmX+$nF!AR)M6gLW-B zX&moZbG)f-giwzvSDWZe=cJT8aM3`1xzh-qpp?ZTCxiuOaVQMR8&gNc}43C)LAZ)uN z^8!u=I_EdS)_XJ61k5ubMA(iGxKcQ&)&{MyrZbh zaXEp`?3QVuqH-A+gfP%GqvdTcu|wScXvRpq3J`7>P=3v7W&h-<8A+2Jw~$c{_fNv> zxK_5Zguvfqo&1FR7K zvUgYM%l8v7J;gf9)3(zNUZbhk8HJm5K*?r0`JB!=*Uy%xbKOhg5cu2X^5@tYWMTA51Nv*7@k4 zs78mqKQ-4jc8tAXn+!?0^dE}21I0xk0CBzU+5ozmb$!%5y2L3%s*_7h)6K&yaAMDE>vMX!A85*MMn;&s!_*xiLL(lVADY>+m!hZflg`CO>~n?z z%lodPt?7p|o??Dd29Ng3_VyHK(RWX;y+SN5u7;0|3nn;6L#n)B=eqG;GUh!L`w{j$ zycCI*3y6Pc1S{`cbbee0UHbQL1mt_3h|C?cRObf^bTXBx zrPN!;@7P8-AjEujvP01ekI3)bh;qM3%JVV4du)D&F7Io#R+Xi#9-DfLcJ^Y*(GubVI4^RGo~ zN34xuAGZ@A5G<9eoV;z$QO1oZpLN$(>lQ_huaze@vaYa^M+x~90^fQO%z`OA}cL(JQSXbvaKOVv_rw$&XOXZ18 z-F`%GBr4rBHe2ch+=b+6*|ZPjT1}7vn|`fUxnHf(L#LWgygyYC^67!+Ad)ESh_ebI z1N=uUsq`ztvG-p8j0V&s5e^4UH2=Vf_yh2C>zaIg5L)3F4b)t>%Qx3s)sg)5@onUrffmV+aoDBDZ zjxks0AM-a}%2L4@d2{vvNjV}e@lt)$aVc|QX?Jn)>WWtT_x@=c&32l;^d7AchRYq_ zmyKs{Jg>^kCgx_H}qc4a(>+GWHgQ{&<{KLOcylUfE~j+4}L^NEBNc`nJQJRDA%zj z@37}yU3ZJC-Y%cBza|=k{ZmB(Iv}qePCrJTyYxo_d=G6WX_{EnYH{O;KYG!X6%)(9 z#X|((PNh~4>y@<9VDKmIggT`{ zr;(_DRXtU`+A!+!SU0ubK@n2y>?Bm9g1r|VABB-|)YDxbi2YtpGhCIHsagG`DRaaPRA(`blyC)$L)n)WOr8rHixHL z;*Cxm91E)E$8V<{hww@?{TY?E|Cke>7Y^q~*LG_MK98Ees$|;y2Nj`udcB=uaXY0l zd7r9pxmd5XO$i=y10H+)>KqOq-+$i;Hf%(o^a_M$>Rm&fq*clW8Fy;LwyD12eK|i1 zx~m!C&4)KAhUcAUFO}wMn2|#bX@bB&eTz|WhX|uTk|!xTz5~O?XqybY;1JWic9Zff z=Jk=b>mtxamEqN#TM0Ic7}g|P>NTzREJvAxx6CgZ(IlVWim}28*cY|-q8z68&QC}n zRQu;2mG?RaN|GKCEPRY9Y1Myw@yKFi4lE6_s;JOspY&+9PxX|P1ADfQ!if%IjMncT zZZ=jEnCw+1v9zi0+b>^gj~k8eOptDGdv}YaT$ybD4CQ+`%C<@`AhP?#*t-hHs&VSi z$S^A`dwy=bx*5eZdU(KeiKoJ4;M62C%(vcfHo?+|{r|6G_kT)>m!pq`&WDHMx2cL^ T!bktrJ~1>@bd)O;Z9e=D#pz|V literal 0 HcmV?d00001 diff --git a/search/all_10.js b/search/all_10.js index f03f173a1..a95d99d8f 100644 --- a/search/all_10.js +++ b/search/all_10.js @@ -1,6 +1,6 @@ var searchData= [ - ['k_0',['k',['http://en.cppreference.com/w/cpp/numeric/random/negative_binomial_distribution/params.html',0,'std::negative_binomial_distribution::k()'],['../d4/d18/composite__simpson__rule_8cpp.html#a1b74d828b33760094906797042b89442',1,'numerical_methods::simpson_method::k()'],['../df/d11/midpoint__integral__method_8cpp.html#ae9f66040f8e0ba73c1c741261c22a52a',1,'numerical_methods::midpoint_rule::k()']]], + ['k_0',['k',['../d4/d18/composite__simpson__rule_8cpp.html#a1b74d828b33760094906797042b89442',1,'numerical_methods::simpson_method::k()'],['../df/d11/midpoint__integral__method_8cpp.html#ae9f66040f8e0ba73c1c741261c22a52a',1,'numerical_methods::midpoint_rule::k()']]], ['k_5fnearest_5fneighbors_1',['k_nearest_neighbors',['../d7/d4c/namespacek__nearest__neighbors.html',1,'']]], ['k_5fnearest_5fneighbors_2ecpp_2',['k_nearest_neighbors.cpp',['../d4/d3e/k__nearest__neighbors_8cpp.html',1,'']]], ['kadane_3',['kadane',['../d6/d74/namespacekadane.html',1,'']]], @@ -11,22 +11,17 @@ var searchData= ['kelvin_5fto_5fcelsius_8',['kelvin_to_celsius',['../d0/d6f/namespaceothers.html#a48677fae5d683070432b1a905722d9ec',1,'others']]], ['kelvin_5fto_5fcelsius_2ecpp_9',['kelvin_to_celsius.cpp',['../db/d6b/kelvin__to__celsius_8cpp.html',1,'']]], ['key_10',['key',['../d9/d49/structdata__structures_1_1_node.html#ac75aa86a598357c5c882ec6a1174aa68',1,'data_structures::Node::key'],['../d5/d95/structdata__structures_1_1treap_1_1_treap.html#a32db3ba3b2630943faacd27b2ecd1b04',1,'data_structures::treap::Treap::key'],['../d9/dde/structdouble__hashing_1_1_entry.html#ae114967c89dbba3b754dc4976bba3248',1,'double_hashing::Entry::key'],['../db/d19/structlinear__probing_1_1_entry.html#a4d84e90b73022083761f85f8586c4c2a',1,'linear_probing::Entry::key'],['../da/dd1/structquadratic__probing_1_1_entry.html#a75f72858f08a2fc8b94402de98db12d8',1,'quadratic_probing::Entry::key'],['../d8/d10/structlist.html#aaab2e33bc1ca6f44e72239bfb58f100c',1,'list::key']]], - ['key_5fcomp_11',['key_comp',['http://en.cppreference.com/w/cpp/container/multiset/key_comp.html',0,'std::multiset::key_comp()'],['http://en.cppreference.com/w/cpp/container/set/key_comp.html',0,'std::set::key_comp()'],['http://en.cppreference.com/w/cpp/container/map/key_comp.html',0,'std::map::key_comp()'],['http://en.cppreference.com/w/cpp/container/multimap/key_comp.html',0,'std::multimap::key_comp()']]], - ['key_5feq_12',['key_eq',['http://en.cppreference.com/w/cpp/container/unordered_map/key_eq.html',0,'std::unordered_map::key_eq()'],['http://en.cppreference.com/w/cpp/container/unordered_multimap/key_eq.html',0,'std::unordered_multimap::key_eq()'],['http://en.cppreference.com/w/cpp/container/unordered_multiset/key_eq.html',0,'std::unordered_multiset::key_eq()'],['http://en.cppreference.com/w/cpp/container/unordered_set/key_eq.html',0,'std::unordered_set::key_eq()']]], - ['kill_5fdependency_13',['kill_dependency',['http://en.cppreference.com/w/cpp/atomic/kill_dependency.html',0,'std']]], - ['kilo_14',['kilo',['http://en.cppreference.com/w/cpp/numeric/ratio/ratio.html',0,'std']]], - ['kmp_15',['kmp',['../d9/d03/namespacestring__search.html#a1e37af2f023495129cb57338c801209e',1,'string_search']]], - ['knapsack_16',['Knapsack',['../d7/daf/namespace_knapsack.html',1,'']]], - ['knapsackfilling_17',['KnapSackFilling',['../d9/dec/unbounded__0__1__knapsack_8cpp.html#afe447a5979582174908695952c8a079c',1,'dynamic_programming::unbounded_knapsack']]], - ['knight_5ftour_18',['knight_tour',['../d1/db6/namespaceknight__tour.html',1,'']]], - ['knight_5ftour_2ecpp_19',['knight_tour.cpp',['../d1/d2a/knight__tour_8cpp.html',1,'']]], - ['knn_20',['Knn',['../da/d94/classmachine__learning_1_1k__nearest__neighbors_1_1_knn.html',1,'machine_learning::k_nearest_neighbors::Knn'],['../da/d94/classmachine__learning_1_1k__nearest__neighbors_1_1_knn.html#a188d29ffcefdb5900a8cd41eccd89200',1,'machine_learning::k_nearest_neighbors::Knn::Knn(std::vector< std::vector< double > > &X, std::vector< int > &Y)'],['../da/d94/classmachine__learning_1_1k__nearest__neighbors_1_1_knn.html#a9f5885c40112481ae5b588fe81d7910b',1,'machine_learning::k_nearest_neighbors::Knn::Knn(const Knn &model)=default'],['../da/d94/classmachine__learning_1_1k__nearest__neighbors_1_1_knn.html#a4b17dcf17c847f0295b60029512c120e',1,'machine_learning::k_nearest_neighbors::Knn::Knn(Knn &&)=default']]], - ['knuth_5fb_21',['knuth_b',['http://en.cppreference.com/w/cpp/numeric/random/shuffle_order_engine.html',0,'std::knuth_b'],['http://en.cppreference.com/w/cpp/numeric/random/shuffle_order_engine/shuffle_order_engine.html',0,'std::knuth_b::knuth_b()']]], - ['knuth_5fmorris_5fpratt_2ecpp_22',['knuth_morris_pratt.cpp',['../de/d6a/knuth__morris__pratt_8cpp.html',1,'']]], - ['kohonen_5fsom_23',['kohonen_som',['../d8/d77/namespacemachine__learning.html#ac43d294e21a0c4fa33c53757df054576',1,'machine_learning']]], - ['kohonen_5fsom_5ftopology_2ecpp_24',['kohonen_som_topology.cpp',['../d4/def/kohonen__som__topology_8cpp.html',1,'']]], - ['kohonen_5fsom_5ftrace_2ecpp_25',['kohonen_som_trace.cpp',['../d9/d49/kohonen__som__trace_8cpp.html',1,'']]], - ['kohonen_5fsom_5ftracer_26',['kohonen_som_tracer',['../d8/d77/namespacemachine__learning.html#a042f435bca0839e721fc1574a61e8da3',1,'machine_learning']]], - ['kruskals_5fminimum_5fspanning_5ftree_2ecpp_27',['kruskals_minimum_spanning_tree.cpp',['../d8/d7d/kruskals__minimum__spanning__tree_8cpp.html',1,'']]], - ['kth_5fancestor_28',['kth_ancestor',['../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html#a8f7bca1746d40f21ad832fcea59aa6c6',1,'range_queries::heavy_light_decomposition::Tree']]] + ['kmp_11',['kmp',['../d9/d03/namespacestring__search.html#a1e37af2f023495129cb57338c801209e',1,'string_search']]], + ['knapsack_12',['Knapsack',['../d7/daf/namespace_knapsack.html',1,'']]], + ['knapsackfilling_13',['KnapSackFilling',['../d9/dec/unbounded__0__1__knapsack_8cpp.html#afe447a5979582174908695952c8a079c',1,'dynamic_programming::unbounded_knapsack']]], + ['knight_5ftour_14',['knight_tour',['../d1/db6/namespaceknight__tour.html',1,'']]], + ['knight_5ftour_2ecpp_15',['knight_tour.cpp',['../d1/d2a/knight__tour_8cpp.html',1,'']]], + ['knn_16',['Knn',['../da/d94/classmachine__learning_1_1k__nearest__neighbors_1_1_knn.html',1,'machine_learning::k_nearest_neighbors::Knn'],['../da/d94/classmachine__learning_1_1k__nearest__neighbors_1_1_knn.html#a188d29ffcefdb5900a8cd41eccd89200',1,'machine_learning::k_nearest_neighbors::Knn::Knn(std::vector< std::vector< double > > &X, std::vector< int > &Y)'],['../da/d94/classmachine__learning_1_1k__nearest__neighbors_1_1_knn.html#a9f5885c40112481ae5b588fe81d7910b',1,'machine_learning::k_nearest_neighbors::Knn::Knn(const Knn &model)=default'],['../da/d94/classmachine__learning_1_1k__nearest__neighbors_1_1_knn.html#a4b17dcf17c847f0295b60029512c120e',1,'machine_learning::k_nearest_neighbors::Knn::Knn(Knn &&)=default']]], + ['knuth_5fmorris_5fpratt_2ecpp_17',['knuth_morris_pratt.cpp',['../de/d6a/knuth__morris__pratt_8cpp.html',1,'']]], + ['kohonen_5fsom_18',['kohonen_som',['../d8/d77/namespacemachine__learning.html#ac43d294e21a0c4fa33c53757df054576',1,'machine_learning']]], + ['kohonen_5fsom_5ftopology_2ecpp_19',['kohonen_som_topology.cpp',['../d4/def/kohonen__som__topology_8cpp.html',1,'']]], + ['kohonen_5fsom_5ftrace_2ecpp_20',['kohonen_som_trace.cpp',['../d9/d49/kohonen__som__trace_8cpp.html',1,'']]], + ['kohonen_5fsom_5ftracer_21',['kohonen_som_tracer',['../d8/d77/namespacemachine__learning.html#a042f435bca0839e721fc1574a61e8da3',1,'machine_learning']]], + ['kruskals_5fminimum_5fspanning_5ftree_2ecpp_22',['kruskals_minimum_spanning_tree.cpp',['../d8/d7d/kruskals__minimum__spanning__tree_8cpp.html',1,'']]], + ['kth_5fancestor_23',['kth_ancestor',['../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html#a8f7bca1746d40f21ad832fcea59aa6c6',1,'range_queries::heavy_light_decomposition::Tree']]] ]; diff --git a/search/all_11.js b/search/all_11.js index 2e12b058b..26518430b 100644 --- a/search/all_11.js +++ b/search/all_11.js @@ -2,116 +2,75 @@ var searchData= [ ['l_0',['l',['../d4/d18/composite__simpson__rule_8cpp.html#a6d8df83a6f26ce24a75d3b358b7f5b8a',1,'numerical_methods::simpson_method::l()'],['../df/d11/midpoint__integral__method_8cpp.html#ad53616fb4fa6880ae876bcba53365c51',1,'numerical_methods::midpoint_rule::l()']]], ['label_1',['label',['../d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d.html#a722cc7cf2c3e4d15583601a48b09776f',1,'range_queries::heavy_light_decomposition::HLD']]], - ['labs_2',['labs',['http://en.cppreference.com/w/cpp/numeric/math/abs.html',0,'std']]], - ['lambda_3',['lambda',['http://en.cppreference.com/w/cpp/numeric/random/exponential_distribution/lambda.html',0,'std::exponential_distribution']]], - ['large_5ffactorial_2ecpp_4',['large_factorial.cpp',['../d6/d9d/large__factorial_8cpp.html',1,'']]], - ['large_5fnumber_5',['large_number',['../db/d82/classlarge__number.html',1,'large_number'],['../db/d82/classlarge__number.html#a10119a83839e65962621b73df46a5337',1,'large_number::large_number()'],['../db/d82/classlarge__number.html#af4598f1f2794b5e17e10c25e0501e41a',1,'large_number::large_number(int n)'],['../db/d82/classlarge__number.html#a0b1efd203274e38a67b78937dfb9b872',1,'large_number::large_number(const large_number &a)'],['../db/d82/classlarge__number.html#a76ddf1ed1b00fb8c107ea56f7f91e42f',1,'large_number::large_number(std::vector< unsigned char > &vec)']]], - ['large_5fnumber_2eh_6',['large_number.h',['../d4/d86/large__number_8h.html',1,'']]], - ['largest_5fpower_2ecpp_7',['largest_power.cpp',['../d5/d7a/largest__power_8cpp.html',1,'']]], - ['largestpower_8',['largestPower',['../dd/d47/namespacemath.html#afa39ec943a4836c878e1614fd89b146f',1,'math']]], - ['last_9',['last',['../d1/def/classdata__structures_1_1linked__list_1_1list.html#af39bcc08641ce0c813023f364a9a9015',1,'data_structures::linked_list::list']]], - ['layers_10',['layers',['../d5/d2c/namespacelayers.html',1,'']]], - ['lazy_11',['lazy',['../d8/d28/classrange__queries_1_1per_seg_tree.html#ace7f57935b3bb9446f11c239fd89ae79',1,'range_queries::perSegTree']]], - ['lca_12',['lca',['../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html#ae2b407e64aaf9878fbee7ee6efe9c7d4',1,'range_queries::heavy_light_decomposition::Tree']]], - ['lcm_13',['lcm',['../d4/d21/least__common__multiple_8cpp.html#aa8d0e241db517813725e721a152e3a25',1,'least_common_multiple.cpp']]], - ['lcm_5fsum_2ecpp_14',['lcm_sum.cpp',['../d5/d83/lcm__sum_8cpp.html',1,'']]], - ['lcmsum_15',['lcmSum',['../dd/d47/namespacemath.html#a04065193d190d605e1f0d0d93a87e244',1,'math']]], - ['lconv_16',['lconv',['http://en.cppreference.com/w/cpp/locale/lconv.html',0,'std']]], - ['ldexp_17',['ldexp',['http://en.cppreference.com/w/cpp/numeric/math/ldexp.html',0,'std']]], - ['ldiv_18',['ldiv',['http://en.cppreference.com/w/cpp/numeric/math/div.html',0,'std']]], - ['learning_19',['Machine Learning',['../d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md58',1,'']]], - ['learning_20algorithms_20',['Machine Learning Algorithms',['../d9/d66/group__machine__learning.html',1,'']]], - ['least_5fcommon_5fmultiple_2ecpp_21',['least_common_multiple.cpp',['../d4/d21/least__common__multiple_8cpp.html',1,'']]], - ['left_22',['left',['../dd/db6/structbinary__search__tree_1_1bst__node.html#a55c165b9e0e5b50a23104e0604dcc788',1,'binary_search_tree::bst_node::left'],['../d5/db5/classoperations__on__datastructures_1_1inorder__traversal__of__bst_1_1_node.html#a9ccef4c746b7226488b014f5bac4789a',1,'operations_on_datastructures::inorder_traversal_of_bst::Node::left'],['../d8/dfd/structoperations__on__datastructures_1_1reverse__binary__tree_1_1_node.html#aeb01a65e51df1e3bc5296cde8477c352',1,'operations_on_datastructures::reverse_binary_tree::Node::left'],['../d2/d9a/structothers_1_1iterative__tree__traversals_1_1_node.html#a1dbaeff928e469a05251879568515b8e',1,'others::iterative_tree_traversals::Node::left'],['../d9/df7/structothers_1_1recursive__tree__traversals_1_1_node.html#a5a8a7bc2d2f847994220ae9e0b60fff3',1,'others::recursive_tree_traversals::Node::left'],['../d2/d05/class_min_heap.html#aa8c6c141e3de664819686aa637e1afca',1,'MinHeap::left()'],['http://en.cppreference.com/w/cpp/io/manip/left.html',0,'std::left()']]], - ['leftrotate_23',['LeftRotate',['../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#ae58dca20f08eaf9313f6e7b0869c2d0e',1,'data_structures::tree_234::Tree234']]], - ['leftrotate_24',['leftRotate',['../d8/dee/avltree_8cpp.html#a473eee1803e4e44a54d685e4b0eef5a6',1,'avltree.cpp']]], - ['leftrotate32bits_25',['leftRotate32bits',['../d5/d96/md5_8cpp.html#add2bf982d5dd64a45d13cba52c2b371d',1,'hashing::md5::leftRotate32bits()'],['../d8/d7a/sha1_8cpp.html#acf6bd970f29a68702bdbdfe8338e45e0',1,'hashing::sha1::leftRotate32bits()']]], - ['lenghtline_26',['LenghtLine',['../d0/d01/smallest__circle_8cpp.html#a3cbebd6f4d2cdf227663c67fe41ba12a',1,'smallest_circle.cpp']]], - ['length_27',['length',['http://en.cppreference.com/w/cpp/regex/match_results/length.html',0,'std::match_results::length()'],['http://en.cppreference.com/w/cpp/locale/codecvt/length.html',0,'std::codecvt::length()'],['http://en.cppreference.com/w/cpp/string/char_traits/length.html',0,'std::char_traits::length()'],['http://en.cppreference.com/w/cpp/string/basic_string/size.html',0,'std::string::length()'],['http://en.cppreference.com/w/cpp/locale/codecvt/length.html',0,'std::codecvt_byname::length()'],['http://en.cppreference.com/w/cpp/regex/match_results/length.html',0,'std::wsmatch::length()'],['http://en.cppreference.com/w/cpp/locale/codecvt/length.html',0,'std::codecvt_utf8::length()'],['http://en.cppreference.com/w/cpp/regex/sub_match/length.html',0,'std::wcsub_match::length()'],['http://en.cppreference.com/w/cpp/regex/match_results/length.html',0,'std::smatch::length()'],['http://en.cppreference.com/w/cpp/locale/codecvt/length.html',0,'std::codecvt_utf8_utf16::length()'],['http://en.cppreference.com/w/cpp/regex/match_results/length.html',0,'std::wcmatch::length()'],['http://en.cppreference.com/w/cpp/regex/sub_match/length.html',0,'std::wssub_match::length()'],['http://en.cppreference.com/w/cpp/regex/regex_traits/length.html',0,'std::regex_traits::length()'],['http://en.cppreference.com/w/cpp/regex/sub_match/length.html',0,'std::csub_match::length()'],['http://en.cppreference.com/w/cpp/regex/sub_match/length.html',0,'std::ssub_match::length()'],['http://en.cppreference.com/w/cpp/string/basic_string/size.html',0,'std::basic_string::length()'],['http://en.cppreference.com/w/cpp/string/basic_string/size.html',0,'std::wstring::length()'],['http://en.cppreference.com/w/cpp/string/basic_string/size.html',0,'std::u16string::length()'],['http://en.cppreference.com/w/cpp/string/basic_string/size.html',0,'std::u32string::length()'],['http://en.cppreference.com/w/cpp/locale/codecvt/length.html',0,'std::codecvt_utf16::length()'],['http://en.cppreference.com/w/cpp/regex/match_results/length.html',0,'std::cmatch::length()'],['http://en.cppreference.com/w/cpp/regex/sub_match/length.html',0,'std::sub_match::length()']]], - ['length_5ferror_28',['length_error',['http://en.cppreference.com/w/cpp/error/length_error.html',0,'std::length_error'],['http://en.cppreference.com/w/cpp/error/length_error.html',0,'std::length_error::length_error()']]], - ['lengthoflongestsubstring_29',['lengthOfLongestSubstring',['../da/d21/class_longest___substring.html#af8a3672bc8d95e7da4f9a45e5e2e387d',1,'Longest_Substring']]], - ['less_30',['less',['http://en.cppreference.com/w/cpp/utility/functional/less.html',0,'std']]], - ['less_5fequal_31',['less_equal',['http://en.cppreference.com/w/cpp/utility/functional/less_equal.html',0,'std']]], - ['level_32',['level',['../d4/d90/classdata__structures_1_1_skip_list.html#a3e249c2c35a8b7f5ffd2d77fee60d650',1,'data_structures::SkipList::level'],['../d0/d58/classgraph_1_1_rooted_tree.html#a2ee3ad1161ac2532da30c3e22c265ad3',1,'graph::RootedTree::level']]], - ['levelorder_33',['levelOrder',['../d8/dee/avltree_8cpp.html#ae197eb50188fb761346952b9b5f6be59',1,'avltree.cpp']]], - ['lexicographical_5fcompare_34',['lexicographical_compare',['http://en.cppreference.com/w/cpp/algorithm/lexicographical_compare.html',0,'std']]], - ['lfu_5fcache_2ecpp_35',['lfu_cache.cpp',['../d9/d65/lfu__cache_8cpp.html',1,'']]], - ['lfucache_36',['LFUCache',['../df/d8f/classothers_1_1_cache_1_1_l_f_u_cache.html',1,'others::Cache::LFUCache< K, V >'],['../df/d8f/classothers_1_1_cache_1_1_l_f_u_cache.html#affd7776c246caa2d0f92fd8616f6e5dc',1,'others::Cache::LFUCache::LFUCache()']]], - ['lgamma_37',['lgamma',['http://en.cppreference.com/w/cpp/numeric/math/lgamma.html',0,'std']]], - ['lift_38',['lift',['../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html#ac7761255f2ba06b398b9aae5e4dce5f3',1,'range_queries::heavy_light_decomposition::Tree']]], - ['lims_39',['LIMS',['../de/d75/qr__eigen__values_8cpp.html#aee57a411f07599034f5ceb8cc7d65b40',1,'qr_eigen_values.cpp']]], - ['line_5fsegment_5fintersection_2ecpp_40',['line_segment_intersection.cpp',['../d8/d6c/line__segment__intersection_8cpp.html',1,'']]], - ['linear_5fcongruential_5fengine_41',['linear_congruential_engine',['http://en.cppreference.com/w/cpp/numeric/random/linear_congruential_engine.html',0,'std::linear_congruential_engine'],['http://en.cppreference.com/w/cpp/numeric/random/linear_congruential_engine/linear_congruential_engine.html',0,'std::linear_congruential_engine::linear_congruential_engine()']]], - ['linear_5fprobing_42',['linear_probing',['../d8/d89/namespacelinear__probing.html',1,'']]], - ['linear_5fprobing_5fhash_5ftable_2ecpp_43',['linear_probing_hash_table.cpp',['../d1/dc7/linear__probing__hash__table_8cpp.html',1,'']]], - ['linear_5frecurrence_5fmatrix_44',['linear_recurrence_matrix',['../d9/dd1/namespacelinear__recurrence__matrix.html',1,'']]], - ['linear_5fsearch_2ecpp_45',['linear_search.cpp',['../d9/d02/linear__search_8cpp.html',1,'']]], - ['linearprobe_46',['linearProbe',['../d8/d89/namespacelinear__probing.html#a6322209aaa91b7bbf16f96e1cc52b746',1,'linear_probing']]], - ['linearsearch_47',['LinearSearch',['../d5/dab/structdata__structures_1_1list__array_1_1list.html#ad202ae68fe8d98082afa9dafea9e22b9',1,'data_structures::list_array::list::LinearSearch()'],['../d9/d02/linear__search_8cpp.html#a84ac3988a534eb60ca351ed6caf56d84',1,'LinearSearch(): linear_search.cpp']]], - ['link_48',['link',['../de/d9d/classdata__structures_1_1linked__list_1_1link.html',1,'data_structures::linked_list::link'],['../de/d9d/classdata__structures_1_1linked__list_1_1link.html#aba4672fbc40c38962d1510b843a577bb',1,'data_structures::linked_list::link::link()'],['../d1/df3/hash__search_8cpp.html#ad6fcd983304f85afa199d97a9b0ca9f6',1,'link: hash_search.cpp']]], - ['linked_5flist_49',['linked_list',['../d3/db0/namespacelinked__list.html',1,'']]], - ['linked_5flist_2ecpp_50',['linked_list.cpp',['../da/dc3/linked__list_8cpp.html',1,'']]], - ['linkedlist_51',['linkedlist',['../d0/dff/structlinkedlist.html',1,'']]], - ['linkedlist_5fimplentation_5fusingarray_2ecpp_52',['linkedlist_implentation_usingarray.cpp',['../d3/dce/linkedlist__implentation__usingarray_8cpp.html',1,'']]], - ['lis_53',['LIS',['../dd/d24/namespacedynamic__programming.html#a0a2215194e58786c34db1ccaf8031079',1,'dynamic_programming']]], - ['list_54',['Todo List',['../dd/da0/todo.html',1,'']]], - ['list_55',['list',['../d1/def/classdata__structures_1_1linked__list_1_1list.html',1,'data_structures::linked_list::list'],['../d5/dab/structdata__structures_1_1list__array_1_1list.html',1,'data_structures::list_array::list< N >'],['../d8/d10/structlist.html',1,'list'],['http://en.cppreference.com/w/cpp/container/list.html',0,'std::list< T >'],['http://en.cppreference.com/w/cpp/container/list/list.html',0,'std::list::list()'],['../d1/def/classdata__structures_1_1linked__list_1_1list.html#a50e209b55b83622254177050945e7826',1,'data_structures::linked_list::list::list()'],['../d1/def/classdata__structures_1_1linked__list_1_1list.html#a326ac4f721f7b74d5ed4f418a67b8d38',1,'data_structures::linked_list::list::list(const list &other)']]], - ['list_3c_20int_20_3e_56',['list< int >',['http://en.cppreference.com/w/cpp/container/list.html',0,'std']]], - ['list_3c_20uint64_5ft_20_3e_57',['list< uint64_t >',['http://en.cppreference.com/w/cpp/container/list.html',0,'std']]], - ['list_5farray_58',['list_array',['../d9/d27/namespacelist__array.html',1,'']]], - ['list_5farray_2ecpp_59',['list_array.cpp',['../d7/d00/list__array_8cpp.html',1,'']]], - ['listnode_60',['ListNode',['../d7/da4/struct_list_node.html',1,'ListNode'],['../d7/da4/struct_list_node.html#a3cfee2eb667c332dc32595208164ef0a',1,'ListNode::ListNode()=default'],['../d7/da4/struct_list_node.html#aaad9b553e2f936726f5b35ff2734125d',1,'ListNode::ListNode(int x)'],['../d7/da4/struct_list_node.html#afc97c5b9d2e7cc82d0718245688f6ff9',1,'ListNode::ListNode(int x, ListNode *next)']]], - ['ll_61',['ll',['../d7/d35/matrix__exponentiation_8cpp.html#ae1d1ec9482079231e898236e2b23c9ba',1,'matrix_exponentiation.cpp']]], - ['llabs_62',['llabs',['http://en.cppreference.com/w/cpp/numeric/math/abs.html',0,'std']]], - ['llrint_63',['llrint',['http://en.cppreference.com/w/cpp/numeric/math/rint.html',0,'std']]], - ['llround_64',['llround',['http://en.cppreference.com/w/cpp/numeric/math/round.html',0,'std']]], - ['load_65',['load',['http://en.cppreference.com/w/cpp/atomic/atomic/load.html',0,'std::atomic']]], - ['load_5ffactor_66',['load_factor',['http://en.cppreference.com/w/cpp/container/unordered_map/load_factor.html',0,'std::unordered_map::load_factor()'],['http://en.cppreference.com/w/cpp/container/unordered_multimap/load_factor.html',0,'std::unordered_multimap::load_factor()'],['http://en.cppreference.com/w/cpp/container/unordered_multiset/load_factor.html',0,'std::unordered_multiset::load_factor()'],['http://en.cppreference.com/w/cpp/container/unordered_set/load_factor.html',0,'std::unordered_set::load_factor()']]], - ['load_5fmodel_67',['load_model',['../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#a58ed20abf6ce3744535bd8b5bb9e741b',1,'machine_learning::neural_network::NeuralNetwork']]], - ['locale_68',['locale',['http://en.cppreference.com/w/cpp/locale/locale.html',0,'std::locale'],['http://en.cppreference.com/w/cpp/locale/locale/locale.html',0,'std::locale::locale()']]], - ['localeconv_69',['localeconv',['http://en.cppreference.com/w/cpp/locale/localeconv.html',0,'std']]], - ['locally_70',['Building Locally',['../d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md37',1,'']]], - ['localtime_71',['localtime',['http://en.cppreference.com/w/cpp/chrono/c/localtime.html',0,'std']]], - ['lock_72',['lock',['http://en.cppreference.com/w/cpp/memory/weak_ptr/lock.html',0,'std::weak_ptr::lock()'],['http://en.cppreference.com/w/cpp/thread/unique_lock/lock.html',0,'std::unique_lock::lock()'],['http://en.cppreference.com/w/cpp/thread/recursive_mutex/lock.html',0,'std::recursive_mutex::lock()'],['http://en.cppreference.com/w/cpp/thread/recursive_timed_mutex/lock.html',0,'std::recursive_timed_mutex::lock()'],['http://en.cppreference.com/w/cpp/thread/shared_lock/lock.html',0,'std::shared_lock::lock()'],['http://en.cppreference.com/w/cpp/thread/timed_mutex/lock.html',0,'std::timed_mutex::lock()'],['http://en.cppreference.com/w/cpp/thread/mutex/lock.html',0,'std::mutex::lock()'],['http://en.cppreference.com/w/cpp/thread/shared_timed_mutex/lock.html',0,'std::shared_timed_mutex::lock()'],['http://en.cppreference.com/w/cpp/thread/lock.html',0,'std::lock(T... args)']]], - ['lock_5fguard_73',['lock_guard',['http://en.cppreference.com/w/cpp/thread/lock_guard.html',0,'std::lock_guard< T >'],['http://en.cppreference.com/w/cpp/thread/lock_guard/lock_guard.html',0,'std::lock_guard::lock_guard()']]], - ['lock_5fshared_74',['lock_shared',['http://en.cppreference.com/w/cpp/thread/shared_timed_mutex/lock_shared.html',0,'std::shared_timed_mutex']]], - ['log_75',['LOG',['../da/d37/structdata__structures_1_1sparse__table_1_1_sparse__table.html#a6cf72f93b1551f0d943c585b4f173be3',1,'data_structures::sparse_table::Sparse_table']]], - ['log_76',['log',['../d5/d58/class_test_cases.html#aa3aa3d5bf666f327ee8e2d11d397b06e',1,'TestCases::log(T msg)'],['../d5/d58/class_test_cases.html#aa3aa3d5bf666f327ee8e2d11d397b06e',1,'TestCases::log(T msg)'],['../d5/d58/class_test_cases.html#aa3aa3d5bf666f327ee8e2d11d397b06e',1,'TestCases::log(T msg)'],['http://en.cppreference.com/w/cpp/numeric/math/log.html',0,'std::log()'],['../d3/db3/lru__cache_8cpp.html#a24d21a345ed06f7fba6919718cf3e058',1,'lru_tests::log()']]], - ['log10_77',['log10',['http://en.cppreference.com/w/cpp/numeric/math/log10.html',0,'std']]], - ['log1p_78',['log1p',['http://en.cppreference.com/w/cpp/numeric/math/log1p.html',0,'std']]], - ['logb_79',['logb',['http://en.cppreference.com/w/cpp/numeric/math/logb.html',0,'std']]], - ['logic_80',['Logic',['../d3/db3/lru__cache_8cpp.html#autotoc_md96',1,'']]], - ['logic_5ferror_81',['logic_error',['http://en.cppreference.com/w/cpp/error/logic_error.html',0,'std::logic_error'],['http://en.cppreference.com/w/cpp/error/logic_error.html',0,'std::logic_error::logic_error()']]], - ['logical_5fand_82',['logical_and',['http://en.cppreference.com/w/cpp/utility/functional/logical_and.html',0,'std']]], - ['logical_5fnot_83',['logical_not',['http://en.cppreference.com/w/cpp/utility/functional/logical_not.html',0,'std']]], - ['logical_5for_84',['logical_or',['http://en.cppreference.com/w/cpp/utility/functional/logical_or.html',0,'std']]], - ['lognormal_5fdistribution_85',['lognormal_distribution',['http://en.cppreference.com/w/cpp/numeric/random/lognormal_distribution.html',0,'std::lognormal_distribution'],['http://en.cppreference.com/w/cpp/numeric/random/lognormal_distribution/lognormal_distribution.html',0,'std::lognormal_distribution::lognormal_distribution()']]], - ['longest_5fcommon_5fstring_2ecpp_86',['longest_common_string.cpp',['../da/d0d/longest__common__string_8cpp.html',1,'']]], - ['longest_5fcommon_5fstring_5flength_87',['longest_common_string_length',['../da/d0d/longest__common__string_8cpp.html#aa38b6b17bc5d46ed88acdd8414e18fa5',1,'longest_common_string.cpp']]], - ['longest_5fincreasing_5fsubsequence_2ecpp_88',['longest_increasing_subsequence.cpp',['../d7/d57/longest__increasing__subsequence_8cpp.html',1,'']]], - ['longest_5fincreasing_5fsubsequence_5fusing_5fbinary_5fsearch_89',['longest_increasing_subsequence_using_binary_search',['../d9/d5f/longest__increasing__subsequence__using__binary__search_8cpp.html#a313539d9a97fc6e121ce496873ba892e',1,'longest_increasing_subsequence_using_binary_search.cpp']]], - ['longest_5fincreasing_5fsubsequence_5fusing_5fbinary_5fsearch_2ecpp_90',['longest_increasing_subsequence_using_binary_search.cpp',['../d9/d5f/longest__increasing__subsequence__using__binary__search_8cpp.html',1,'']]], - ['longest_5fpalindromic_5fsubsequence_2ecpp_91',['longest_palindromic_subsequence.cpp',['../d0/d77/longest__palindromic__subsequence_8cpp.html',1,'']]], - ['longest_5fsubstring_92',['Longest_Substring',['../da/d21/class_longest___substring.html',1,'']]], - ['longest_5fsubstring_5fwithout_5frepeating_5fcharacters_2ecpp_93',['longest_substring_without_repeating_characters.cpp',['../d4/db8/longest__substring__without__repeating__characters_8cpp.html',1,'']]], - ['longjmp_94',['longjmp',['http://en.cppreference.com/w/cpp/utility/program/longjmp.html',0,'std']]], - ['lookup_5fclassname_95',['lookup_classname',['http://en.cppreference.com/w/cpp/regex/regex_traits/lookup_classname.html',0,'std::regex_traits']]], - ['lookup_5fcollatename_96',['lookup_collatename',['http://en.cppreference.com/w/cpp/regex/regex_traits/lookup_collatename.html',0,'std::regex_traits']]], - ['lower_97',['lower',['../db/d9a/classuint128__t.html#aa69e1064c0b0b1df1c61acd2ea04fabd',1,'uint128_t::lower()'],['../d1/d83/classuint256__t.html#aa4cf08fa6a33f17594b5a842866f39a1',1,'uint256_t::lower()'],['../dc/db5/text__search_8cpp.html#a3f8975d227cd0e58f298b380c5dac0d9',1,'lower(): text_search.cpp']]], - ['lower_5fbound_98',['lower_bound',['http://en.cppreference.com/w/cpp/container/multiset/lower_bound.html',0,'std::multiset::lower_bound()'],['http://en.cppreference.com/w/cpp/container/set/lower_bound.html',0,'std::set::lower_bound()'],['http://en.cppreference.com/w/cpp/container/map/lower_bound.html',0,'std::map::lower_bound()'],['http://en.cppreference.com/w/cpp/container/multimap/lower_bound.html',0,'std::multimap::lower_bound()'],['http://en.cppreference.com/w/cpp/algorithm/lower_bound.html',0,'std::lower_bound()']]], - ['lowest_99',['lowest',['http://en.cppreference.com/w/cpp/types/numeric_limits/lowest.html',0,'std::numeric_limits']]], - ['lowest_5fcommon_5fancestor_100',['lowest_common_ancestor',['../d9/d23/classgraph_1_1_lowest_common_ancestor.html#a60151e19512b48cc0b14ea121df00488',1,'graph::LowestCommonAncestor']]], - ['lowest_5fcommon_5fancestor_2ecpp_101',['lowest_common_ancestor.cpp',['../de/dde/lowest__common__ancestor_8cpp.html',1,'']]], - ['lowestcommonancestor_102',['LowestCommonAncestor',['../d9/d23/classgraph_1_1_lowest_common_ancestor.html',1,'graph::LowestCommonAncestor'],['../d9/d23/classgraph_1_1_lowest_common_ancestor.html#a80825a4fd4c41860b689d253dd2c8e93',1,'graph::LowestCommonAncestor::LowestCommonAncestor()']]], - ['lps_103',['lps',['../dd/d24/namespacedynamic__programming.html#afe9f45b6e30ee187509da2d1d0093412',1,'dynamic_programming']]], - ['lrint_104',['lrint',['http://en.cppreference.com/w/cpp/numeric/math/rint.html',0,'std']]], - ['lround_105',['lround',['http://en.cppreference.com/w/cpp/numeric/math/round.html',0,'std']]], - ['lru_5fcache_106',['lru_cache',['../d8/dcd/namespacelru__cache.html',1,'']]], - ['lru_5fcache_2ecpp_107',['lru_cache.cpp',['../d3/db3/lru__cache_8cpp.html',1,'']]], - ['lru_5fcache2_2ecpp_108',['lru_cache2.cpp',['../dc/daa/lru__cache2_8cpp.html',1,'']]], - ['lrucache_109',['LRUCache',['../d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache.html',1,'others::Cache::LRUCache< K, V >'],['../d6/dae/classothers_1_1lru__cache_1_1_l_r_u_cache.html',1,'others::lru_cache::LRUCache'],['../d6/dae/classothers_1_1lru__cache_1_1_l_r_u_cache.html#a41c9b6f1693b8a316cc4a2d8c9149ba4',1,'others::lru_cache::LRUCache::LRUCache()'],['../d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache.html#a8980cbbc9cf0a98a9592b40c4d6ec28f',1,'others::Cache::LRUCache::LRUCache()']]], - ['lt_110',['lt',['http://en.cppreference.com/w/cpp/string/char_traits/cmp.html',0,'std::char_traits']]], - ['lu_5fdecompose_2ecpp_111',['lu_decompose.cpp',['../dd/d65/lu__decompose_8cpp.html',1,'']]], - ['lu_5fdecomposition_112',['lu_decomposition',['../d1/dbe/lu__decomposition_8h.html#a75b8a228c6419ecda6077255d6d60509',1,'lu_decomposition.h']]], - ['lu_5fdecomposition_2eh_113',['lu_decomposition.h',['../d1/dbe/lu__decomposition_8h.html',1,'']]] + ['large_5ffactorial_2ecpp_2',['large_factorial.cpp',['../d6/d9d/large__factorial_8cpp.html',1,'']]], + ['large_5fnumber_3',['large_number',['../db/d82/classlarge__number.html',1,'large_number'],['../db/d82/classlarge__number.html#a10119a83839e65962621b73df46a5337',1,'large_number::large_number()'],['../db/d82/classlarge__number.html#af4598f1f2794b5e17e10c25e0501e41a',1,'large_number::large_number(int n)'],['../db/d82/classlarge__number.html#a0b1efd203274e38a67b78937dfb9b872',1,'large_number::large_number(const large_number &a)'],['../db/d82/classlarge__number.html#a76ddf1ed1b00fb8c107ea56f7f91e42f',1,'large_number::large_number(std::vector< unsigned char > &vec)']]], + ['large_5fnumber_2eh_4',['large_number.h',['../d4/d86/large__number_8h.html',1,'']]], + ['largest_5fpower_2ecpp_5',['largest_power.cpp',['../d5/d7a/largest__power_8cpp.html',1,'']]], + ['largestpower_6',['largestPower',['../dd/d47/namespacemath.html#afa39ec943a4836c878e1614fd89b146f',1,'math']]], + ['last_7',['last',['../d1/def/classdata__structures_1_1linked__list_1_1list.html#af39bcc08641ce0c813023f364a9a9015',1,'data_structures::linked_list::list']]], + ['layers_8',['layers',['../d5/d2c/namespacelayers.html',1,'']]], + ['lazy_9',['lazy',['../d8/d28/classrange__queries_1_1per_seg_tree.html#ace7f57935b3bb9446f11c239fd89ae79',1,'range_queries::perSegTree']]], + ['lca_10',['lca',['../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html#ae2b407e64aaf9878fbee7ee6efe9c7d4',1,'range_queries::heavy_light_decomposition::Tree']]], + ['lcm_11',['lcm',['../d4/d21/least__common__multiple_8cpp.html#aa8d0e241db517813725e721a152e3a25',1,'least_common_multiple.cpp']]], + ['lcm_5fsum_2ecpp_12',['lcm_sum.cpp',['../d5/d83/lcm__sum_8cpp.html',1,'']]], + ['lcmsum_13',['lcmSum',['../dd/d47/namespacemath.html#a04065193d190d605e1f0d0d93a87e244',1,'math']]], + ['learning_14',['Machine Learning',['../d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md58',1,'']]], + ['learning_20algorithms_15',['Machine Learning Algorithms',['../d9/d66/group__machine__learning.html',1,'']]], + ['least_5fcommon_5fmultiple_2ecpp_16',['least_common_multiple.cpp',['../d4/d21/least__common__multiple_8cpp.html',1,'']]], + ['left_17',['left',['../dd/db6/structbinary__search__tree_1_1bst__node.html#a55c165b9e0e5b50a23104e0604dcc788',1,'binary_search_tree::bst_node::left'],['../d5/db5/classoperations__on__datastructures_1_1inorder__traversal__of__bst_1_1_node.html#a9ccef4c746b7226488b014f5bac4789a',1,'operations_on_datastructures::inorder_traversal_of_bst::Node::left'],['../d8/dfd/structoperations__on__datastructures_1_1reverse__binary__tree_1_1_node.html#aeb01a65e51df1e3bc5296cde8477c352',1,'operations_on_datastructures::reverse_binary_tree::Node::left'],['../d2/d9a/structothers_1_1iterative__tree__traversals_1_1_node.html#a1dbaeff928e469a05251879568515b8e',1,'others::iterative_tree_traversals::Node::left'],['../d9/df7/structothers_1_1recursive__tree__traversals_1_1_node.html#a5a8a7bc2d2f847994220ae9e0b60fff3',1,'others::recursive_tree_traversals::Node::left'],['../d2/d05/class_min_heap.html#aa8c6c141e3de664819686aa637e1afca',1,'MinHeap::left()']]], + ['leftrotate_18',['LeftRotate',['../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#ae58dca20f08eaf9313f6e7b0869c2d0e',1,'data_structures::tree_234::Tree234']]], + ['leftrotate_19',['leftRotate',['../d8/dee/avltree_8cpp.html#a473eee1803e4e44a54d685e4b0eef5a6',1,'avltree.cpp']]], + ['leftrotate32bits_20',['leftRotate32bits',['../d5/d96/md5_8cpp.html#add2bf982d5dd64a45d13cba52c2b371d',1,'hashing::md5::leftRotate32bits()'],['../d8/d7a/sha1_8cpp.html#acf6bd970f29a68702bdbdfe8338e45e0',1,'hashing::sha1::leftRotate32bits()']]], + ['lenghtline_21',['LenghtLine',['../d0/d01/smallest__circle_8cpp.html#a3cbebd6f4d2cdf227663c67fe41ba12a',1,'smallest_circle.cpp']]], + ['lengthoflongestsubstring_22',['lengthOfLongestSubstring',['../da/d21/class_longest___substring.html#af8a3672bc8d95e7da4f9a45e5e2e387d',1,'Longest_Substring']]], + ['level_23',['level',['../d4/d90/classdata__structures_1_1_skip_list.html#a3e249c2c35a8b7f5ffd2d77fee60d650',1,'data_structures::SkipList::level'],['../d0/d58/classgraph_1_1_rooted_tree.html#a2ee3ad1161ac2532da30c3e22c265ad3',1,'graph::RootedTree::level']]], + ['levelorder_24',['levelOrder',['../d8/dee/avltree_8cpp.html#ae197eb50188fb761346952b9b5f6be59',1,'avltree.cpp']]], + ['lfu_5fcache_2ecpp_25',['lfu_cache.cpp',['../d9/d65/lfu__cache_8cpp.html',1,'']]], + ['lfucache_26',['LFUCache',['../df/d8f/classothers_1_1_cache_1_1_l_f_u_cache.html',1,'others::Cache::LFUCache< K, V >'],['../df/d8f/classothers_1_1_cache_1_1_l_f_u_cache.html#affd7776c246caa2d0f92fd8616f6e5dc',1,'others::Cache::LFUCache::LFUCache()']]], + ['lift_27',['lift',['../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html#ac7761255f2ba06b398b9aae5e4dce5f3',1,'range_queries::heavy_light_decomposition::Tree']]], + ['lims_28',['LIMS',['../de/d75/qr__eigen__values_8cpp.html#aee57a411f07599034f5ceb8cc7d65b40',1,'qr_eigen_values.cpp']]], + ['line_5fsegment_5fintersection_2ecpp_29',['line_segment_intersection.cpp',['../d8/d6c/line__segment__intersection_8cpp.html',1,'']]], + ['linear_5fprobing_30',['linear_probing',['../d8/d89/namespacelinear__probing.html',1,'']]], + ['linear_5fprobing_5fhash_5ftable_2ecpp_31',['linear_probing_hash_table.cpp',['../d1/dc7/linear__probing__hash__table_8cpp.html',1,'']]], + ['linear_5frecurrence_5fmatrix_32',['linear_recurrence_matrix',['../d9/dd1/namespacelinear__recurrence__matrix.html',1,'']]], + ['linear_5fsearch_2ecpp_33',['linear_search.cpp',['../d9/d02/linear__search_8cpp.html',1,'']]], + ['linearprobe_34',['linearProbe',['../d8/d89/namespacelinear__probing.html#a6322209aaa91b7bbf16f96e1cc52b746',1,'linear_probing']]], + ['linearsearch_35',['LinearSearch',['../d5/dab/structdata__structures_1_1list__array_1_1list.html#ad202ae68fe8d98082afa9dafea9e22b9',1,'data_structures::list_array::list::LinearSearch()'],['../d9/d02/linear__search_8cpp.html#a84ac3988a534eb60ca351ed6caf56d84',1,'LinearSearch(): linear_search.cpp']]], + ['link_36',['link',['../de/d9d/classdata__structures_1_1linked__list_1_1link.html',1,'data_structures::linked_list::link'],['../de/d9d/classdata__structures_1_1linked__list_1_1link.html#aba4672fbc40c38962d1510b843a577bb',1,'data_structures::linked_list::link::link()'],['../d1/df3/hash__search_8cpp.html#ad6fcd983304f85afa199d97a9b0ca9f6',1,'link: hash_search.cpp']]], + ['linked_5flist_37',['linked_list',['../d3/db0/namespacelinked__list.html',1,'']]], + ['linked_5flist_2ecpp_38',['linked_list.cpp',['../da/dc3/linked__list_8cpp.html',1,'']]], + ['linkedlist_39',['linkedlist',['../d0/dff/structlinkedlist.html',1,'']]], + ['linkedlist_5fimplentation_5fusingarray_2ecpp_40',['linkedlist_implentation_usingarray.cpp',['../d3/dce/linkedlist__implentation__usingarray_8cpp.html',1,'']]], + ['lis_41',['LIS',['../dd/d24/namespacedynamic__programming.html#a0a2215194e58786c34db1ccaf8031079',1,'dynamic_programming']]], + ['list_42',['Todo List',['../dd/da0/todo.html',1,'']]], + ['list_43',['list',['../d1/def/classdata__structures_1_1linked__list_1_1list.html',1,'data_structures::linked_list::list'],['../d5/dab/structdata__structures_1_1list__array_1_1list.html',1,'data_structures::list_array::list< N >'],['../d8/d10/structlist.html',1,'list'],['../d1/def/classdata__structures_1_1linked__list_1_1list.html#a50e209b55b83622254177050945e7826',1,'data_structures::linked_list::list::list()'],['../d1/def/classdata__structures_1_1linked__list_1_1list.html#a326ac4f721f7b74d5ed4f418a67b8d38',1,'data_structures::linked_list::list::list(const list &other)']]], + ['list_5farray_44',['list_array',['../d9/d27/namespacelist__array.html',1,'']]], + ['list_5farray_2ecpp_45',['list_array.cpp',['../d7/d00/list__array_8cpp.html',1,'']]], + ['listnode_46',['ListNode',['../d7/da4/struct_list_node.html',1,'ListNode'],['../d7/da4/struct_list_node.html#a3cfee2eb667c332dc32595208164ef0a',1,'ListNode::ListNode()=default'],['../d7/da4/struct_list_node.html#aaad9b553e2f936726f5b35ff2734125d',1,'ListNode::ListNode(int x)'],['../d7/da4/struct_list_node.html#afc97c5b9d2e7cc82d0718245688f6ff9',1,'ListNode::ListNode(int x, ListNode *next)']]], + ['ll_47',['ll',['../d7/d35/matrix__exponentiation_8cpp.html#ae1d1ec9482079231e898236e2b23c9ba',1,'matrix_exponentiation.cpp']]], + ['load_5fmodel_48',['load_model',['../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#a58ed20abf6ce3744535bd8b5bb9e741b',1,'machine_learning::neural_network::NeuralNetwork']]], + ['locally_49',['Building Locally',['../d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md37',1,'']]], + ['log_50',['LOG',['../da/d37/structdata__structures_1_1sparse__table_1_1_sparse__table.html#a6cf72f93b1551f0d943c585b4f173be3',1,'data_structures::sparse_table::Sparse_table']]], + ['log_51',['log',['../d5/d58/class_test_cases.html#aa3aa3d5bf666f327ee8e2d11d397b06e',1,'TestCases::log(T msg)'],['../d5/d58/class_test_cases.html#aa3aa3d5bf666f327ee8e2d11d397b06e',1,'TestCases::log(T msg)'],['../d5/d58/class_test_cases.html#aa3aa3d5bf666f327ee8e2d11d397b06e',1,'TestCases::log(T msg)'],['../d3/db3/lru__cache_8cpp.html#a24d21a345ed06f7fba6919718cf3e058',1,'lru_tests::log()']]], + ['logic_52',['Logic',['../d3/db3/lru__cache_8cpp.html#autotoc_md96',1,'']]], + ['longest_5fcommon_5fstring_2ecpp_53',['longest_common_string.cpp',['../da/d0d/longest__common__string_8cpp.html',1,'']]], + ['longest_5fcommon_5fstring_5flength_54',['longest_common_string_length',['../da/d0d/longest__common__string_8cpp.html#aa38b6b17bc5d46ed88acdd8414e18fa5',1,'longest_common_string.cpp']]], + ['longest_5fincreasing_5fsubsequence_2ecpp_55',['longest_increasing_subsequence.cpp',['../d7/d57/longest__increasing__subsequence_8cpp.html',1,'']]], + ['longest_5fincreasing_5fsubsequence_5fusing_5fbinary_5fsearch_56',['longest_increasing_subsequence_using_binary_search',['../d9/d5f/longest__increasing__subsequence__using__binary__search_8cpp.html#a313539d9a97fc6e121ce496873ba892e',1,'longest_increasing_subsequence_using_binary_search.cpp']]], + ['longest_5fincreasing_5fsubsequence_5fusing_5fbinary_5fsearch_2ecpp_57',['longest_increasing_subsequence_using_binary_search.cpp',['../d9/d5f/longest__increasing__subsequence__using__binary__search_8cpp.html',1,'']]], + ['longest_5fpalindromic_5fsubsequence_2ecpp_58',['longest_palindromic_subsequence.cpp',['../d0/d77/longest__palindromic__subsequence_8cpp.html',1,'']]], + ['longest_5fsubstring_59',['Longest_Substring',['../da/d21/class_longest___substring.html',1,'']]], + ['longest_5fsubstring_5fwithout_5frepeating_5fcharacters_2ecpp_60',['longest_substring_without_repeating_characters.cpp',['../d4/db8/longest__substring__without__repeating__characters_8cpp.html',1,'']]], + ['lower_61',['lower',['../db/d9a/classuint128__t.html#aa69e1064c0b0b1df1c61acd2ea04fabd',1,'uint128_t::lower()'],['../d1/d83/classuint256__t.html#aa4cf08fa6a33f17594b5a842866f39a1',1,'uint256_t::lower()'],['../dc/db5/text__search_8cpp.html#a3f8975d227cd0e58f298b380c5dac0d9',1,'lower(): text_search.cpp']]], + ['lowest_5fcommon_5fancestor_62',['lowest_common_ancestor',['../d9/d23/classgraph_1_1_lowest_common_ancestor.html#a60151e19512b48cc0b14ea121df00488',1,'graph::LowestCommonAncestor']]], + ['lowest_5fcommon_5fancestor_2ecpp_63',['lowest_common_ancestor.cpp',['../de/dde/lowest__common__ancestor_8cpp.html',1,'']]], + ['lowestcommonancestor_64',['LowestCommonAncestor',['../d9/d23/classgraph_1_1_lowest_common_ancestor.html',1,'graph::LowestCommonAncestor'],['../d9/d23/classgraph_1_1_lowest_common_ancestor.html#a80825a4fd4c41860b689d253dd2c8e93',1,'graph::LowestCommonAncestor::LowestCommonAncestor()']]], + ['lps_65',['lps',['../dd/d24/namespacedynamic__programming.html#afe9f45b6e30ee187509da2d1d0093412',1,'dynamic_programming']]], + ['lru_5fcache_66',['lru_cache',['../d8/dcd/namespacelru__cache.html',1,'']]], + ['lru_5fcache_2ecpp_67',['lru_cache.cpp',['../d3/db3/lru__cache_8cpp.html',1,'']]], + ['lru_5fcache2_2ecpp_68',['lru_cache2.cpp',['../dc/daa/lru__cache2_8cpp.html',1,'']]], + ['lrucache_69',['LRUCache',['../d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache.html',1,'others::Cache::LRUCache< K, V >'],['../d6/dae/classothers_1_1lru__cache_1_1_l_r_u_cache.html',1,'others::lru_cache::LRUCache'],['../d6/dae/classothers_1_1lru__cache_1_1_l_r_u_cache.html#a41c9b6f1693b8a316cc4a2d8c9149ba4',1,'others::lru_cache::LRUCache::LRUCache()'],['../d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache.html#a8980cbbc9cf0a98a9592b40c4d6ec28f',1,'others::Cache::LRUCache::LRUCache()']]], + ['lu_5fdecompose_2ecpp_70',['lu_decompose.cpp',['../dd/d65/lu__decompose_8cpp.html',1,'']]], + ['lu_5fdecomposition_71',['lu_decomposition',['../d1/dbe/lu__decomposition_8h.html#a75b8a228c6419ecda6077255d6d60509',1,'lu_decomposition.h']]], + ['lu_5fdecomposition_2eh_72',['lu_decomposition.h',['../d1/dbe/lu__decomposition_8h.html',1,'']]] ]; diff --git a/search/all_12.js b/search/all_12.js index 4139991ad..af15a6f06 100644 --- a/search/all_12.js +++ b/search/all_12.js @@ -1,7 +1,7 @@ var searchData= [ ['m_0',['M',['../d8/dab/sparse__table_8cpp.html#af7db62f21983565c64d5d42d2a49888e',1,'data_structures::sparse_table']]], - ['m_1',['m',['../d8/d69/classgraph_1_1_h_k_graph.html#a3d9101e3b4598159005fd028b9b0ff74',1,'graph::HKGraph::m'],['http://en.cppreference.com/w/cpp/numeric/random/lognormal_distribution/params.html',0,'std::lognormal_distribution::m()'],['http://en.cppreference.com/w/cpp/numeric/random/fisher_f_distribution/params.html',0,'std::fisher_f_distribution::m()']]], + ['m_1',['m',['../d8/d69/classgraph_1_1_h_k_graph.html#a3d9101e3b4598159005fd028b9b0ff74',1,'graph::HKGraph']]], ['machine_20learning_2',['Machine Learning',['../d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md58',1,'']]], ['machine_20learning_20algorithms_3',['Machine Learning Algorithms',['../d9/d66/group__machine__learning.html',1,'']]], ['machine_5flearning_4',['machine_learning',['../d8/d77/namespacemachine__learning.html',1,'']]], @@ -13,182 +13,106 @@ var searchData= ['main_5fq_10',['main_q',['../db/d5b/structdata__structures_1_1stack__using__queue_1_1_stack.html#acf8ca54d5dd6676f255fff3dedacc7c6',1,'data_structures::stack_using_queue::Stack']]], ['maintainer_20reviewer_11',['Maintainer/reviewer',['../d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md24',1,'']]], ['maintainers_12',['Guidelines for reviewers and maintainers',['../d7/d1b/md__r_e_v_i_e_w_e_r___c_o_d_e.html',1,'']]], - ['make_5fexception_5fptr_13',['make_exception_ptr',['http://en.cppreference.com/w/cpp/error/make_exception_ptr.html',0,'std']]], - ['make_5fheap_14',['make_heap',['http://en.cppreference.com/w/cpp/algorithm/make_heap.html',0,'std']]], - ['make_5fmove_5fiterator_15',['make_move_iterator',['http://en.cppreference.com/w/cpp/iterator/make_move_iterator.html',0,'std']]], - ['make_5foptional_16',['make_optional',['http://en.cppreference.com/w/cpp/experimental/optional/make_optional.html',0,'std::experimental']]], - ['make_5fpair_17',['make_pair',['http://en.cppreference.com/w/cpp/utility/pair/make_pair.html',0,'std']]], - ['make_5fready_5fat_5fthread_5fexit_18',['make_ready_at_thread_exit',['http://en.cppreference.com/w/cpp/thread/packaged_task/make_ready_at_thread_exit.html',0,'std::packaged_task']]], - ['make_5frecent_19',['make_recent',['../d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache.html#ad022d494b40f82417340b113445e79a4',1,'others::Cache::LRUCache']]], - ['make_5fset_20',['make_set',['../d8/d99/connected__components__with__dsu_8cpp.html#ae91ed94113c56191b75fe45f688d6e62',1,'graph::disjoint_union']]], - ['make_5fshared_21',['make_shared',['http://en.cppreference.com/w/cpp/memory/shared_ptr/make_shared.html',0,'std']]], - ['make_5fsigned_22',['make_signed',['http://en.cppreference.com/w/cpp/types/make_signed.html',0,'std']]], - ['make_5ftuple_23',['make_tuple',['http://en.cppreference.com/w/cpp/utility/tuple/make_tuple.html',0,'std']]], - ['make_5funsigned_24',['make_unsigned',['http://en.cppreference.com/w/cpp/types/make_unsigned.html',0,'std']]], - ['makebst_25',['makeBST',['../d4/d32/inorder__successor__of__bst_8cpp.html#a05fe8a029e155c43e4efa598d4d089d9',1,'operations_on_datastructures::inorder_traversal_of_bst']]], - ['makelinkedlist_26',['makeLinkedList',['../d5/d45/sublist__search_8cpp.html#a70ca8d0267008e09cfa50b4e2ddfbe53',1,'search::sublist_search']]], - ['makenode_27',['makeNode',['../d4/d32/inorder__successor__of__bst_8cpp.html#a7f6f73a33beec448c27cc1d70b220702',1,'operations_on_datastructures::inorder_traversal_of_bst']]], - ['makestrings_28',['makeStrings',['../df/de5/classbacktracking_1_1generate__parentheses.html#ac1489edd65374f22fe04851051f0a2ec',1,'backtracking::generate_parentheses']]], - ['making_20changes_29',['Making Changes',['../d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md26',1,'']]], - ['malloc_30',['malloc',['http://en.cppreference.com/w/cpp/memory/c/malloc.html',0,'std']]], - ['manacher_31',['manacher',['../d8/dc6/namespacemanacher.html',1,'manacher'],['../d3/d39/manacher__algorithm_8cpp.html#a95e6a2976bb2f332898f373941d52098',1,'strings::manacher::manacher()']]], - ['manacher_5falgorithm_2ecpp_32',['manacher_algorithm.cpp',['../d3/d39/manacher__algorithm_8cpp.html',1,'']]], - ['manipulation_33',['Bit Manipulation',['../d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md46',1,'']]], - ['map_34',['map',['http://en.cppreference.com/w/cpp/container/map.html',0,'std::map< K, T >'],['http://en.cppreference.com/w/cpp/container/map/map.html',0,'std::map::map()']]], - ['map_3c_20t_2c_20std_3a_3alist_3c_20t_20_3e_20_3e_35',['map< T, std::list< T > >',['http://en.cppreference.com/w/cpp/container/map.html',0,'std']]], - ['map_3c_20unsigned_20int_2c_20std_3a_3avector_3c_20unsigned_20int_20_3e_20_3e_36',['map< unsigned int, std::vector< unsigned int > >',['http://en.cppreference.com/w/cpp/container/map.html',0,'std']]], - ['mark_5fcount_37',['mark_count',['http://en.cppreference.com/w/cpp/regex/basic_regex/mark_count.html',0,'std::regex::mark_count()'],['http://en.cppreference.com/w/cpp/regex/basic_regex/mark_count.html',0,'std::basic_regex::mark_count()'],['http://en.cppreference.com/w/cpp/regex/basic_regex/mark_count.html',0,'std::wregex::mark_count()']]], - ['mask_38',['mask',['http://en.cppreference.com/w/cpp/locale/ctype_base.html',0,'std::ctype::mask'],['http://en.cppreference.com/w/cpp/locale/ctype_base.html',0,'std::ctype_base::mask'],['http://en.cppreference.com/w/cpp/locale/ctype_base.html',0,'std::ctype_byname::mask']]], - ['mat_5fmul_39',['mat_mul',['../d6/d26/classciphers_1_1_hill_cipher.html#ad36cbcc7a458b3f3a2af0c4aa1126590',1,'ciphers::HillCipher::mat_mul()'],['../de/d75/qr__eigen__values_8cpp.html#abb8bf4c55e10685a5eb2ad3797fde1ae',1,'mat_mul(const std::valarray< std::valarray< double > > &A, const std::valarray< std::valarray< double > > &B, std::valarray< std::valarray< double > > *OUT): qr_eigen_values.cpp']]], - ['mat_5fsize_40',['mat_size',['../d7/d35/matrix__exponentiation_8cpp.html#a9977ad12548c4a49dee9dc3f0685aa54',1,'matrix_exponentiation.cpp']]], - ['match_41',['match',['../d8/d41/namespacegames_1_1memory__game.html#a370760f2b328ad341bcb77d82fa17b01',1,'games::memory_game']]], - ['match_5fresults_42',['match_results',['http://en.cppreference.com/w/cpp/regex/match_results.html',0,'std::match_results'],['http://en.cppreference.com/w/cpp/regex/match_results/match_results.html',0,'std::match_results::match_results()']]], - ['matching_43',['Maximum cardinality matching',['../d1/d9a/hopcroft__karp_8cpp.html#autotoc_md79',1,'']]], - ['matching_20and_20not_20matching_20edges_44',['Matching and Not-Matching edges',['../d1/d9a/hopcroft__karp_8cpp.html#autotoc_md78',1,'']]], - ['matching_20edges_45',['Matching and Not-Matching edges',['../d1/d9a/hopcroft__karp_8cpp.html#autotoc_md78',1,'']]], - ['math_46',['Math',['../d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md59',1,'']]], - ['math_47',['math',['../dd/d47/namespacemath.html',1,'']]], - ['matrix_48',['Matrix',['../dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix.html',1,'divide_and_conquer::strassens_multiplication::Matrix< T, typename >'],['../dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix.html#a01f3a05cf5abdc5d63999ef1bf9f9256',1,'divide_and_conquer::strassens_multiplication::Matrix::Matrix(const Integer size)'],['../dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix.html#a4aa49765cce39ce48b9241e993e0cfb9',1,'divide_and_conquer::strassens_multiplication::Matrix::Matrix(const Integer rows, const Integer cols)']]], - ['matrix_49',['matrix',['../d1/dbe/lu__decomposition_8h.html#ac029b636b353cefbb18b2fcc71e427e4',1,'lu_decomposition.h']]], - ['matrix_5fexponentiation_2ecpp_50',['matrix_exponentiation.cpp',['../d7/d35/matrix__exponentiation_8cpp.html',1,'']]], - ['max_51',['MAX',['../d4/d32/fibonacci__fast_8cpp.html#a392fb874e547e582e9c66a08a1f23326',1,'MAX: fibonacci_fast.cpp'],['../df/def/power__for__huge__numbers_8cpp.html#a392fb874e547e582e9c66a08a1f23326',1,'MAX: power_for_huge_numbers.cpp'],['../dc/dc5/paranthesis__matching_8cpp.html#a392fb874e547e582e9c66a08a1f23326',1,'MAX: paranthesis_matching.cpp'],['../d1/df3/hash__search_8cpp.html#a392fb874e547e582e9c66a08a1f23326',1,'MAX: hash_search.cpp'],['../dc/dfe/ternary__search_8cpp.html#a392fb874e547e582e9c66a08a1f23326',1,'MAX: ternary_search.cpp']]], - ['max_52',['max',['http://en.cppreference.com/w/cpp/numeric/random/student_t_distribution/max.html',0,'std::student_t_distribution::max()'],['http://en.cppreference.com/w/cpp/numeric/random/mersenne_twister_engine/max.html',0,'std::mt19937_64::max()'],['http://en.cppreference.com/w/cpp/numeric/random/subtract_with_carry_engine/max.html',0,'std::ranlux24_base::max()'],['http://en.cppreference.com/w/cpp/numeric/random/extreme_value_distribution/max.html',0,'std::extreme_value_distribution::max()'],['http://en.cppreference.com/w/cpp/numeric/random/lognormal_distribution/max.html',0,'std::lognormal_distribution::max()'],['http://en.cppreference.com/w/cpp/numeric/random/discrete_distribution/max.html',0,'std::discrete_distribution::max()'],['http://en.cppreference.com/w/cpp/numeric/random/discard_block_engine/max.html',0,'std::ranlux48::max()'],['http://en.cppreference.com/w/cpp/numeric/random/piecewise_constant_distribution/max.html',0,'std::piecewise_constant_distribution::max()'],['http://en.cppreference.com/w/cpp/numeric/random/poisson_distribution/max.html',0,'std::poisson_distribution::max()'],['http://en.cppreference.com/w/cpp/numeric/random/bernoulli_distribution/max.html',0,'std::bernoulli_distribution::max()'],['http://en.cppreference.com/w/cpp/numeric/random/discard_block_engine/max.html',0,'std::discard_block_engine::max()'],['http://en.cppreference.com/w/cpp/numeric/random/exponential_distribution/max.html',0,'std::exponential_distribution::max()'],['http://en.cppreference.com/w/cpp/numeric/random/uniform_real_distribution/max.html',0,'std::uniform_real_distribution::max()'],['http://en.cppreference.com/w/cpp/numeric/random/geometric_distribution/max.html',0,'std::geometric_distribution::max()'],['http://en.cppreference.com/w/cpp/numeric/random/mersenne_twister_engine/max.html',0,'std::mersenne_twister_engine::max()'],['http://en.cppreference.com/w/cpp/numeric/random/independent_bits_engine/max.html',0,'std::independent_bits_engine::max()'],['http://en.cppreference.com/w/cpp/numeric/random/normal_distribution/max.html',0,'std::normal_distribution::max()'],['http://en.cppreference.com/w/cpp/numeric/random/linear_congruential_engine/max.html',0,'std::minstd_rand::max()'],['http://en.cppreference.com/w/cpp/numeric/random/weibull_distribution/max.html',0,'std::weibull_distribution::max()'],['http://en.cppreference.com/w/cpp/numeric/random/subtract_with_carry_engine/max.html',0,'std::ranlux48_base::max()'],['http://en.cppreference.com/w/cpp/numeric/random/negative_binomial_distribution/max.html',0,'std::negative_binomial_distribution::max()'],['http://en.cppreference.com/w/cpp/numeric/random/mersenne_twister_engine/max.html',0,'std::mt19937::max()'],['http://en.cppreference.com/w/cpp/numeric/random/chi_squared_distribution/max.html',0,'std::chi_squared_distribution::max()'],['http://en.cppreference.com/w/cpp/numeric/random/piecewise_linear_distribution/max.html',0,'std::piecewise_linear_distribution::max()'],['http://en.cppreference.com/w/cpp/numeric/random/shuffle_order_engine/max.html',0,'std::shuffle_order_engine::max()'],['http://en.cppreference.com/w/cpp/chrono/duration/max.html',0,'std::chrono::minutes::max()'],['http://en.cppreference.com/w/cpp/chrono/duration/max.html',0,'std::chrono::seconds::max()'],['http://en.cppreference.com/w/cpp/chrono/duration/max.html',0,'std::chrono::duration::max()'],['http://en.cppreference.com/w/cpp/chrono/duration/max.html',0,'std::chrono::milliseconds::max()'],['http://en.cppreference.com/w/cpp/chrono/duration/max.html',0,'std::chrono::hours::max()'],['http://en.cppreference.com/w/cpp/chrono/time_point/max.html',0,'std::chrono::time_point::max()'],['http://en.cppreference.com/w/cpp/chrono/duration_values/max.html',0,'std::chrono::duration_values::max()'],['http://en.cppreference.com/w/cpp/chrono/duration/max.html',0,'std::chrono::microseconds::max()'],['http://en.cppreference.com/w/cpp/chrono/duration/max.html',0,'std::chrono::nanoseconds::max()'],['http://en.cppreference.com/w/cpp/types/numeric_limits/max.html',0,'std::numeric_limits::max()'],['http://en.cppreference.com/w/cpp/numeric/random/uniform_int_distribution/max.html',0,'std::uniform_int_distribution::max()'],['http://en.cppreference.com/w/cpp/numeric/random/fisher_f_distribution/max.html',0,'std::fisher_f_distribution::max()'],['http://en.cppreference.com/w/cpp/numeric/random/discard_block_engine/max.html',0,'std::ranlux24::max()'],['http://en.cppreference.com/w/cpp/numeric/random/linear_congruential_engine/max.html',0,'std::linear_congruential_engine::max()'],['http://en.cppreference.com/w/cpp/numeric/random/shuffle_order_engine/max.html',0,'std::knuth_b::max()'],['http://en.cppreference.com/w/cpp/numeric/random/linear_congruential_engine/max.html',0,'std::minstd_rand0::max()'],['http://en.cppreference.com/w/cpp/numeric/random/gamma_distribution/max.html',0,'std::gamma_distribution::max()'],['http://en.cppreference.com/w/cpp/numeric/random/binomial_distribution/max.html',0,'std::binomial_distribution::max()'],['http://en.cppreference.com/w/cpp/numeric/random/cauchy_distribution/max.html',0,'std::cauchy_distribution::max()'],['http://en.cppreference.com/w/cpp/numeric/random/subtract_with_carry_engine/max.html',0,'std::subtract_with_carry_engine::max()'],['http://en.cppreference.com/w/cpp/numeric/random/random_device/max.html',0,'std::random_device::max()'],['http://en.cppreference.com/w/cpp/algorithm/max.html',0,'std::max(T... args)']]], - ['max_5falign_5ft_53',['max_align_t',['http://en.cppreference.com/w/cpp/types/max_align_t.html',0,'std']]], - ['max_5fbucket_5fcount_54',['max_bucket_count',['http://en.cppreference.com/w/cpp/container/unordered_map/max_bucket_count.html',0,'std::unordered_map::max_bucket_count()'],['http://en.cppreference.com/w/cpp/container/unordered_multimap/max_bucket_count.html',0,'std::unordered_multimap::max_bucket_count()'],['http://en.cppreference.com/w/cpp/container/unordered_multiset/max_bucket_count.html',0,'std::unordered_multiset::max_bucket_count()'],['http://en.cppreference.com/w/cpp/container/unordered_set/max_bucket_count.html',0,'std::unordered_set::max_bucket_count()']]], - ['max_5felement_55',['max_element',['http://en.cppreference.com/w/cpp/algorithm/max_element.html',0,'std']]], - ['max_5fheight_56',['max_height',['../d9/d29/ground__to__ground__projectile__motion_8cpp.html#aa554429def63077ab7a550c0affbfefa',1,'physics::ground_to_ground_projectile_motion']]], - ['max_5fiter_57',['MAX_ITER',['../d9/d66/group__machine__learning.html#ga5118e5cbc4f0886e27b3a7a2544dded1',1,'adaline_learning.cpp']]], - ['max_5fiterations_58',['MAX_ITERATIONS',['../d7/d6a/bisection__method_8cpp.html#a0a3abbca80bc98e7abcb3ae73abe0f14',1,'MAX_ITERATIONS: bisection_method.cpp'],['../de/dd3/newton__raphson__method_8cpp.html#a5c5ff05b9f37ae59dad67e1d4f6cd51d',1,'MAX_ITERATIONS: newton_raphson_method.cpp']]], - ['max_5flength_59',['max_length',['http://en.cppreference.com/w/cpp/locale/codecvt/max_length.html',0,'std::codecvt::max_length()'],['http://en.cppreference.com/w/cpp/locale/codecvt/max_length.html',0,'std::codecvt_byname::max_length()'],['http://en.cppreference.com/w/cpp/locale/codecvt/max_length.html',0,'std::codecvt_utf8::max_length()'],['http://en.cppreference.com/w/cpp/locale/codecvt/max_length.html',0,'std::codecvt_utf8_utf16::max_length()'],['http://en.cppreference.com/w/cpp/locale/codecvt/max_length.html',0,'std::codecvt_utf16::max_length()']]], - ['max_5flevel_60',['MAX_LEVEL',['../d5/d3c/namespacedata__structures.html#ac0d7e0be24da9f41bcb19745873c436a',1,'data_structures']]], - ['max_5fload_5ffactor_61',['max_load_factor',['http://en.cppreference.com/w/cpp/container/unordered_map/max_load_factor.html',0,'std::unordered_map::max_load_factor()'],['http://en.cppreference.com/w/cpp/container/unordered_multimap/max_load_factor.html',0,'std::unordered_multimap::max_load_factor()'],['http://en.cppreference.com/w/cpp/container/unordered_multiset/max_load_factor.html',0,'std::unordered_multiset::max_load_factor()'],['http://en.cppreference.com/w/cpp/container/unordered_set/max_load_factor.html',0,'std::unordered_set::max_load_factor()']]], - ['max_5fsize_62',['max_size',['http://en.cppreference.com/w/cpp/container/dynarray/max_size.html',0,'std::dynarray::max_size()'],['http://en.cppreference.com/w/cpp/container/vector/max_size.html',0,'std::vector::max_size()'],['http://en.cppreference.com/w/cpp/regex/match_results/max_size.html',0,'std::match_results::max_size()'],['http://en.cppreference.com/w/cpp/memory/allocator_traits/max_size.html',0,'std::allocator_traits::max_size()'],['http://en.cppreference.com/w/cpp/container/multiset/max_size.html',0,'std::multiset::max_size()'],['http://en.cppreference.com/w/cpp/string/basic_string/max_size.html',0,'std::string::max_size()'],['http://en.cppreference.com/w/cpp/container/set/max_size.html',0,'std::set::max_size()'],['http://en.cppreference.com/w/cpp/container/unordered_map/max_size.html',0,'std::unordered_map::max_size()'],['http://en.cppreference.com/w/cpp/regex/match_results/max_size.html',0,'std::wsmatch::max_size()'],['http://en.cppreference.com/w/cpp/regex/match_results/max_size.html',0,'std::smatch::max_size()'],['http://en.cppreference.com/w/cpp/container/unordered_multimap/max_size.html',0,'std::unordered_multimap::max_size()'],['http://en.cppreference.com/w/cpp/container/forward_list/max_size.html',0,'std::forward_list::max_size()'],['http://en.cppreference.com/w/cpp/regex/match_results/max_size.html',0,'std::wcmatch::max_size()'],['http://en.cppreference.com/w/cpp/container/deque/max_size.html',0,'std::deque::max_size()'],['http://en.cppreference.com/w/cpp/memory/allocator/max_size.html',0,'std::allocator::max_size()'],['http://en.cppreference.com/w/cpp/memory/scoped_allocator_adaptor/max_size.html',0,'std::scoped_allocator_adaptor::max_size()'],['http://en.cppreference.com/w/cpp/string/basic_string/max_size.html',0,'std::basic_string::max_size()'],['http://en.cppreference.com/w/cpp/string/basic_string/max_size.html',0,'std::wstring::max_size()'],['http://en.cppreference.com/w/cpp/container/unordered_multiset/max_size.html',0,'std::unordered_multiset::max_size()'],['http://en.cppreference.com/w/cpp/string/basic_string/max_size.html',0,'std::u16string::max_size()'],['http://en.cppreference.com/w/cpp/string/basic_string/max_size.html',0,'std::u32string::max_size()'],['http://en.cppreference.com/w/cpp/container/list/max_size.html',0,'std::list::max_size()'],['http://en.cppreference.com/w/cpp/container/map/max_size.html',0,'std::map::max_size()'],['http://en.cppreference.com/w/cpp/regex/match_results/max_size.html',0,'std::cmatch::max_size()'],['http://en.cppreference.com/w/cpp/container/unordered_set/max_size.html',0,'std::unordered_set::max_size()'],['http://en.cppreference.com/w/cpp/container/multimap/max_size.html',0,'std::multimap::max_size()'],['http://en.cppreference.com/w/cpp/container/array/max_size.html',0,'std::array::max_size()'],['../d8/df0/queue__using__array_8cpp.html#a2d49e79bd164c298912db252970520d8',1,'max_size: queue_using_array.cpp']]], - ['max_5fsubarray_5fsum_63',['max_subarray_sum',['../de/dcd/kadanes3_8cpp.html#a338439a04148ae89f695595acfa5c147',1,'kadanes3.cpp']]], - ['maxcircularsum_64',['maxCircularSum',['../dd/d24/namespacedynamic__programming.html#a5239174fa0d987f2c67edc1f2af82beb',1,'dynamic_programming']]], - ['maxelement_65',['maxElement',['../dd/d1f/classdsu.html#a4ade6f16c418fc98b54452f7b0252a53',1,'dsu']]], - ['maximum_20cardinality_20matching_66',['Maximum cardinality matching',['../d1/d9a/hopcroft__karp_8cpp.html#autotoc_md79',1,'']]], - ['maximum_5fcircular_5fsubarray_2ecpp_67',['maximum_circular_subarray.cpp',['../db/dfb/maximum__circular__subarray_8cpp.html',1,'']]], - ['maxknapsackvalue_68',['maxKnapsackValue',['../db/d16/0__1__knapsack_8cpp.html#a15edf30f336885e5b851f6b7199c6cd1',1,'dynamic_programming::knapsack']]], - ['maxnode_69',['maxNode',['../dd/d2e/namespacedata__structures_1_1treap.html#ad939ec178d0069aeea14b7d6d7d12099',1,'data_structures::treap']]], - ['maxprofitbycuttingrod_70',['maxProfitByCuttingRod',['../d6/d10/cut__rod_8cpp.html#a1cc523a30c18c63eac58220c3c494cfa',1,'dynamic_programming::cut_rod']]], - ['maxsubarray_71',['maxSubArray',['../d4/da0/kadane_8cpp.html#af3029007a422a914a85c0b0122f1c7b4',1,'dynamic_programming::kadane']]], - ['mblen_72',['mblen',['http://en.cppreference.com/w/cpp/string/multibyte/mblen.html',0,'std']]], - ['mbrlen_73',['mbrlen',['http://en.cppreference.com/w/cpp/string/multibyte/mbrlen.html',0,'std']]], - ['mbrtoc16_74',['mbrtoc16',['http://en.cppreference.com/w/cpp/string/multibyte/mbrtoc16.html',0,'std']]], - ['mbrtoc32_75',['mbrtoc32',['http://en.cppreference.com/w/cpp/string/multibyte/mbrtoc32.html',0,'std']]], - ['mbrtowc_76',['mbrtowc',['http://en.cppreference.com/w/cpp/string/multibyte/mbrtowc.html',0,'std']]], - ['mbsinit_77',['mbsinit',['http://en.cppreference.com/w/cpp/string/multibyte/mbsinit.html',0,'std']]], - ['mbsrtowcs_78',['mbsrtowcs',['http://en.cppreference.com/w/cpp/string/multibyte/mbsrtowcs.html',0,'std']]], - ['mbstate_5ft_79',['mbstate_t',['http://en.cppreference.com/w/cpp/string/multibyte/mbstate_t.html',0,'std']]], - ['mbstowcs_80',['mbstowcs',['http://en.cppreference.com/w/cpp/string/multibyte/mbstowcs.html',0,'std']]], - ['mbtowc_81',['mbtowc',['http://en.cppreference.com/w/cpp/string/multibyte/mbtowc.html',0,'std']]], - ['md5_82',['MD5',['../dd/d43/namespace_m_d5.html',1,'']]], - ['md5_2ecpp_83',['md5.cpp',['../d5/d96/md5_8cpp.html',1,'']]], - ['mean_84',['mean',['http://en.cppreference.com/w/cpp/numeric/random/poisson_distribution/mean.html',0,'std::poisson_distribution::mean()'],['http://en.cppreference.com/w/cpp/numeric/random/normal_distribution/params.html',0,'std::normal_distribution::mean()'],['../d7/d7c/classstatistics_1_1stats__computer1.html#a390697dcee210b91823ceff04b25081b',1,'statistics::stats_computer1::mean()'],['../d8/dab/classstatistics_1_1stats__computer2.html#a8290966ad468f2a8c266d008bc60720e',1,'statistics::stats_computer2::mean()']]], - ['median_5fof_5fmedians_85',['median_of_medians',['../d9/d69/median__search_8cpp.html#a868847218f694e78bf433a0ff7648bae',1,'search::median_search']]], - ['median_5fsearch_86',['median_search',['../da/dd4/namespacemedian__search.html',1,'']]], - ['median_5fsearch_2ecpp_87',['median_search.cpp',['../d9/d69/median__search_8cpp.html',1,'']]], - ['median_5fsearch2_2ecpp_88',['median_search2.cpp',['../d8/dfa/median__search2_8cpp.html',1,'']]], - ['mega_89',['mega',['http://en.cppreference.com/w/cpp/numeric/ratio/ratio.html',0,'std']]], - ['mem_5ffn_90',['mem_fn',['http://en.cppreference.com/w/cpp/utility/functional/mem_fn.html',0,'std']]], - ['memchr_91',['memchr',['http://en.cppreference.com/w/cpp/string/byte/memchr.html',0,'std']]], - ['memcmp_92',['memcmp',['http://en.cppreference.com/w/cpp/string/byte/memcmp.html',0,'std']]], - ['memcpy_93',['memcpy',['http://en.cppreference.com/w/cpp/string/byte/memcpy.html',0,'std']]], - ['memmove_94',['memmove',['http://en.cppreference.com/w/cpp/string/byte/memmove.html',0,'std']]], - ['memory_5fgame_2ecpp_95',['memory_game.cpp',['../dd/d92/memory__game_8cpp.html',1,'']]], - ['memset_96',['memset',['http://en.cppreference.com/w/cpp/string/byte/memset.html',0,'std']]], - ['merge_97',['Merge',['../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a36f4d5f603f7edb7db7c73fb53ba14e9',1,'data_structures::tree_234::Tree234']]], - ['merge_98',['merge',['http://en.cppreference.com/w/cpp/container/forward_list/merge.html',0,'std::forward_list::merge()'],['http://en.cppreference.com/w/cpp/container/list/merge.html',0,'std::list::merge()'],['http://en.cppreference.com/w/cpp/algorithm/merge.html',0,'std::merge()'],['../d2/d26/count__inversions_8cpp.html#aad643c14734394e784a75169cb58132f',1,'sorting::inversion::merge()'],['../de/d7b/merge__insertion__sort_8cpp.html#af4de4067a9a866ffd985c5b5055ccedf',1,'sorting::merge_insertion::merge()'],['../d5/d4c/group__sorting.html#ga460c61cd948203b4816bef2accb3fc73',1,'merge(): merge_sort.cpp'],['../d5/d91/namespacesorting.html#aa26de383227859210f14dcf12201a079',1,'sorting::merge()']]], - ['merge_5finsertion_99',['merge_insertion',['../de/d0a/namespacemerge__insertion.html',1,'']]], - ['merge_5finsertion_5fsort_2ecpp_100',['merge_insertion_sort.cpp',['../de/d7b/merge__insertion__sort_8cpp.html',1,'']]], - ['merge_5fsort_2ecpp_101',['merge_sort.cpp',['../d5/df4/merge__sort_8cpp.html',1,'']]], - ['mergenode_102',['MergeNode',['../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a11f0d016dff7f7e62b3dddb9fdf47805',1,'data_structures::tree_234::Tree234']]], - ['mergenodenotfull_103',['MergeNodeNotFull',['../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#ad37e29e2a4a6cc0eb65cbd5595e1da95',1,'data_structures::tree_234::Tree234']]], - ['mergesort_104',['mergeSort',['../d2/d26/count__inversions_8cpp.html#ae97a486e14101c4822ea8dc47f0d1661',1,'sorting::inversion::mergeSort()'],['../de/d7b/merge__insertion__sort_8cpp.html#a7161278f18e83b671c6454b139cc5674',1,'sorting::merge_insertion::mergeSort()'],['../d5/d4c/group__sorting.html#gab6b14fea48d9841e29b9fc26be6e05d7',1,'mergeSort(): merge_sort.cpp']]], - ['mersenne_5ftwister_5fengine_105',['mersenne_twister_engine',['http://en.cppreference.com/w/cpp/numeric/random/mersenne_twister_engine.html',0,'std::mersenne_twister_engine'],['http://en.cppreference.com/w/cpp/numeric/random/mersenne_twister_engine/mersenne_twister_engine.html',0,'std::mersenne_twister_engine::mersenne_twister_engine()']]], - ['message_106',['message',['http://en.cppreference.com/w/cpp/error/error_code/message.html',0,'std::error_code::message()'],['http://en.cppreference.com/w/cpp/error/error_category/message.html',0,'std::error_category::message()'],['http://en.cppreference.com/w/cpp/error/error_condition/message.html',0,'std::error_condition::message()']]], - ['messages_107',['messages',['http://en.cppreference.com/w/cpp/locale/messages.html',0,'std::messages'],['http://en.cppreference.com/w/cpp/locale/messages/messages.html',0,'std::messages::messages()']]], - ['messages_5fbase_108',['messages_base',['http://en.cppreference.com/w/cpp/locale/messages_base.html',0,'std']]], - ['messages_5fbyname_109',['messages_byname',['http://en.cppreference.com/w/cpp/locale/messages_byname.html',0,'std::messages_byname'],['http://en.cppreference.com/w/cpp/locale/messages_byname.html',0,'std::messages_byname::messages_byname()']]], - ['method_201_3a_20use_20parent_20pointer_20store_20the_20address_20of_20parent_20nodes_110',['Method 1: Use parent pointer (store the address of parent nodes)',['../d4/d32/inorder__successor__of__bst_8cpp.html#autotoc_md91',1,'']]], - ['method_202_3a_20search_20from_20the_20root_20node_111',['Method 2: Search from the root node',['../d4/d32/inorder__successor__of__bst_8cpp.html#autotoc_md92',1,'']]], - ['method1_112',['method1',['../df/d06/decimal__to__binary_8cpp.html#a9240f2e79074a2a248395258aebbfa11',1,'decimal_to_binary.cpp']]], - ['method2_113',['method2',['../df/d06/decimal__to__binary_8cpp.html#a10df57491019f0ac39b492740fb388f7',1,'decimal_to_binary.cpp']]], - ['methods_114',['Numerical Methods',['../d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md60',1,'']]], - ['micro_115',['micro',['http://en.cppreference.com/w/cpp/numeric/ratio/ratio.html',0,'std']]], - ['microseconds_116',['microseconds',['http://en.cppreference.com/w/cpp/chrono/duration.html',0,'std::chrono::microseconds'],['http://en.cppreference.com/w/cpp/chrono/duration/duration.html',0,'std::chrono::microseconds::microseconds()']]], - ['mid_117',['mid',['../dd/d95/classdata__structures_1_1_segment_tree.html#a6d3beccc936af2377c8eeb17067fd141',1,'data_structures::SegmentTree']]], - ['middlenode_118',['middleNode',['../d8/dfa/median__search2_8cpp.html#a5fefe132a0c3ee780ebc703f37ebce6a',1,'search::median_search2']]], - ['midpoint_119',['midpoint',['../df/d11/midpoint__integral__method_8cpp.html#a7072493d1f0f8a91b2a71d4cc456c09c',1,'numerical_methods::midpoint_rule']]], - ['midpoint_5feuler_120',['midpoint_euler',['../d6/d60/group__ode.html#ga36ff0710861ca39d957046c0b09b2985',1,'ode_midpoint_euler.cpp']]], - ['midpoint_5feuler_5fstep_121',['midpoint_euler_step',['../d6/d60/group__ode.html#ga8c319db420c3d97a83e9dcca803b6812',1,'ode_midpoint_euler.cpp']]], - ['midpoint_5fintegral_5fmethod_2ecpp_122',['midpoint_integral_method.cpp',['../df/d11/midpoint__integral__method_8cpp.html',1,'']]], - ['midpoint_5frule_123',['midpoint_rule',['../d9/daa/namespacemidpoint__rule.html',1,'']]], - ['miller_5frabin_2ecpp_124',['miller_rabin.cpp',['../d6/d42/miller__rabin_8cpp.html',1,'']]], - ['miller_5frabin_5fprimality_5ftest_125',['miller_rabin_primality_test',['../d6/d42/miller__rabin_8cpp.html#a901288288ef5ebe8e97414cc30797cce',1,'miller_rabin.cpp']]], - ['miller_5ftest_126',['miller_test',['../d6/d42/miller__rabin_8cpp.html#a6f9c31c1047aa3191676d64571d4c506',1,'miller_rabin.cpp']]], - ['milli_127',['milli',['http://en.cppreference.com/w/cpp/numeric/ratio/ratio.html',0,'std']]], - ['milliseconds_128',['milliseconds',['http://en.cppreference.com/w/cpp/chrono/duration.html',0,'std::chrono::milliseconds'],['http://en.cppreference.com/w/cpp/chrono/duration/duration.html',0,'std::chrono::milliseconds::milliseconds()']]], - ['min_129',['min',['http://en.cppreference.com/w/cpp/numeric/random/student_t_distribution/min.html',0,'std::student_t_distribution::min()'],['http://en.cppreference.com/w/cpp/numeric/random/mersenne_twister_engine/min.html',0,'std::mt19937_64::min()'],['http://en.cppreference.com/w/cpp/numeric/random/subtract_with_carry_engine/min.html',0,'std::ranlux24_base::min()'],['http://en.cppreference.com/w/cpp/numeric/random/extreme_value_distribution/min.html',0,'std::extreme_value_distribution::min()'],['http://en.cppreference.com/w/cpp/numeric/random/lognormal_distribution/min.html',0,'std::lognormal_distribution::min()'],['http://en.cppreference.com/w/cpp/numeric/random/discrete_distribution/min.html',0,'std::discrete_distribution::min()'],['http://en.cppreference.com/w/cpp/numeric/random/discard_block_engine/min.html',0,'std::ranlux48::min()'],['http://en.cppreference.com/w/cpp/numeric/random/piecewise_constant_distribution/min.html',0,'std::piecewise_constant_distribution::min()'],['http://en.cppreference.com/w/cpp/numeric/random/poisson_distribution/min.html',0,'std::poisson_distribution::min()'],['http://en.cppreference.com/w/cpp/numeric/random/bernoulli_distribution/min.html',0,'std::bernoulli_distribution::min()'],['http://en.cppreference.com/w/cpp/numeric/random/discard_block_engine/min.html',0,'std::discard_block_engine::min()'],['http://en.cppreference.com/w/cpp/numeric/random/exponential_distribution/min.html',0,'std::exponential_distribution::min()'],['http://en.cppreference.com/w/cpp/numeric/random/uniform_real_distribution/min.html',0,'std::uniform_real_distribution::min()'],['http://en.cppreference.com/w/cpp/numeric/random/geometric_distribution/min.html',0,'std::geometric_distribution::min()'],['http://en.cppreference.com/w/cpp/numeric/random/mersenne_twister_engine/min.html',0,'std::mersenne_twister_engine::min()'],['http://en.cppreference.com/w/cpp/numeric/random/independent_bits_engine/min.html',0,'std::independent_bits_engine::min()'],['http://en.cppreference.com/w/cpp/numeric/random/normal_distribution/min.html',0,'std::normal_distribution::min()'],['http://en.cppreference.com/w/cpp/numeric/random/linear_congruential_engine/min.html',0,'std::minstd_rand::min()'],['http://en.cppreference.com/w/cpp/numeric/random/weibull_distribution/min.html',0,'std::weibull_distribution::min()'],['http://en.cppreference.com/w/cpp/numeric/random/subtract_with_carry_engine/min.html',0,'std::ranlux48_base::min()'],['http://en.cppreference.com/w/cpp/numeric/random/negative_binomial_distribution/min.html',0,'std::negative_binomial_distribution::min()'],['http://en.cppreference.com/w/cpp/numeric/random/mersenne_twister_engine/min.html',0,'std::mt19937::min()'],['http://en.cppreference.com/w/cpp/numeric/random/chi_squared_distribution/min.html',0,'std::chi_squared_distribution::min()'],['http://en.cppreference.com/w/cpp/numeric/random/piecewise_linear_distribution/min.html',0,'std::piecewise_linear_distribution::min()'],['http://en.cppreference.com/w/cpp/numeric/random/shuffle_order_engine/min.html',0,'std::shuffle_order_engine::min()'],['http://en.cppreference.com/w/cpp/chrono/duration/min.html',0,'std::chrono::minutes::min()'],['http://en.cppreference.com/w/cpp/chrono/duration/min.html',0,'std::chrono::seconds::min()'],['http://en.cppreference.com/w/cpp/chrono/duration/min.html',0,'std::chrono::duration::min()'],['http://en.cppreference.com/w/cpp/chrono/duration/min.html',0,'std::chrono::milliseconds::min()'],['http://en.cppreference.com/w/cpp/chrono/duration/min.html',0,'std::chrono::hours::min()'],['http://en.cppreference.com/w/cpp/chrono/time_point/min.html',0,'std::chrono::time_point::min()'],['http://en.cppreference.com/w/cpp/chrono/duration_values/min.html',0,'std::chrono::duration_values::min()'],['http://en.cppreference.com/w/cpp/chrono/duration/min.html',0,'std::chrono::microseconds::min()'],['http://en.cppreference.com/w/cpp/chrono/duration/min.html',0,'std::chrono::nanoseconds::min()'],['http://en.cppreference.com/w/cpp/types/numeric_limits/min.html',0,'std::numeric_limits::min()'],['http://en.cppreference.com/w/cpp/numeric/random/uniform_int_distribution/min.html',0,'std::uniform_int_distribution::min()'],['http://en.cppreference.com/w/cpp/numeric/random/fisher_f_distribution/min.html',0,'std::fisher_f_distribution::min()'],['http://en.cppreference.com/w/cpp/numeric/random/discard_block_engine/min.html',0,'std::ranlux24::min()'],['http://en.cppreference.com/w/cpp/numeric/random/linear_congruential_engine/min.html',0,'std::linear_congruential_engine::min()'],['http://en.cppreference.com/w/cpp/numeric/random/shuffle_order_engine/min.html',0,'std::knuth_b::min()'],['http://en.cppreference.com/w/cpp/numeric/random/linear_congruential_engine/min.html',0,'std::minstd_rand0::min()'],['http://en.cppreference.com/w/cpp/numeric/random/gamma_distribution/min.html',0,'std::gamma_distribution::min()'],['http://en.cppreference.com/w/cpp/numeric/random/binomial_distribution/min.html',0,'std::binomial_distribution::min()'],['http://en.cppreference.com/w/cpp/numeric/random/cauchy_distribution/min.html',0,'std::cauchy_distribution::min()'],['http://en.cppreference.com/w/cpp/numeric/random/subtract_with_carry_engine/min.html',0,'std::subtract_with_carry_engine::min()'],['http://en.cppreference.com/w/cpp/numeric/random/random_device/min.html',0,'std::random_device::min()'],['http://en.cppreference.com/w/cpp/algorithm/min.html',0,'std::min()'],['../da/d52/minimum__edit__distance_8cpp.html#a0138c226bd79ffe6d839c787cfc60347',1,'dynamic_programming::minimum_edit_distance::min()']]], - ['min_5fdistance_130',['MIN_DISTANCE',['../d8/d77/namespacemachine__learning.html#a7220dbb7fa896d83bfb7a50e4fce1786',1,'machine_learning']]], - ['min_5felement_131',['min_element',['http://en.cppreference.com/w/cpp/algorithm/min_element.html',0,'std']]], - ['mincoins_132',['mincoins',['../d9/d31/coin__change__topdown_8cpp.html#ac816a4ae8a29c156b90377041000929a',1,'dynamic_programming::mincoins_topdown']]], - ['mincoins_5ftopdown_133',['mincoins_topdown',['../d5/db8/namespacemincoins__topdown.html',1,'']]], - ['minelement_134',['minElement',['../dd/d1f/classdsu.html#a1d77aad7fc39fe7140d834cd347e5c63',1,'dsu']]], - ['minfreq_135',['minFreq',['../df/d8f/classothers_1_1_cache_1_1_l_f_u_cache.html#a6de844d1589a809239cc07752f311285',1,'others::Cache::LFUCache']]], - ['minheap_136',['MinHeap',['../d2/d05/class_min_heap.html',1,'MinHeap'],['../d2/d05/class_min_heap.html#a078cb888e642bb1f95dd0e03f0a35820',1,'MinHeap::MinHeap(int cap)']]], - ['minheapify_137',['MinHeapify',['../d2/d05/class_min_heap.html#aaef438c1056492cb62c4a4d9035b5cad',1,'MinHeap']]], - ['minheapnode_138',['MinHeapNode',['../d5/d29/struct_min_heap_node.html',1,'']]], - ['minimax_139',['minimax',['../db/dc0/namespacebacktracking.html#a78540bcb5ef3473b2348cbc34748ec50',1,'backtracking']]], - ['minimax_2ecpp_140',['minimax.cpp',['../df/dfb/minimax_8cpp.html',1,'']]], - ['minimum_141',['Minimum',['../d4/d12/namespace_minimum.html',1,'']]], - ['minimum_5fdistance_142',['minimum_distance',['../d2/d2f/namespacegreedy__algorithms_1_1dijkstra.html#af6cb29ca6dc5771439f6ea7262058a71',1,'greedy_algorithms::dijkstra']]], - ['minimum_5fedit_5fdistance_2ecpp_143',['minimum_edit_distance.cpp',['../da/d52/minimum__edit__distance_8cpp.html',1,'']]], - ['minmax_144',['minmax',['http://en.cppreference.com/w/cpp/algorithm/minmax.html',0,'std']]], - ['minmax_5felement_145',['minmax_element',['http://en.cppreference.com/w/cpp/algorithm/minmax_element.html',0,'std']]], - ['minmax_5fscaler_146',['minmax_scaler',['../d8/d77/namespacemachine__learning.html#ac332d152078e96311e43ac5e7183ea26',1,'machine_learning']]], - ['minstd_5frand_147',['minstd_rand',['http://en.cppreference.com/w/cpp/numeric/random/linear_congruential_engine.html',0,'std::minstd_rand'],['http://en.cppreference.com/w/cpp/numeric/random/linear_congruential_engine/linear_congruential_engine.html',0,'std::minstd_rand::minstd_rand()']]], - ['minstd_5frand0_148',['minstd_rand0',['http://en.cppreference.com/w/cpp/numeric/random/linear_congruential_engine.html',0,'std::minstd_rand0'],['http://en.cppreference.com/w/cpp/numeric/random/linear_congruential_engine/linear_congruential_engine.html',0,'std::minstd_rand0::minstd_rand0()']]], - ['minus_149',['minus',['http://en.cppreference.com/w/cpp/utility/functional/minus.html',0,'std']]], - ['minutes_150',['minutes',['http://en.cppreference.com/w/cpp/chrono/duration.html',0,'std::chrono::minutes'],['http://en.cppreference.com/w/cpp/chrono/duration/duration.html',0,'std::chrono::minutes::minutes()']]], - ['minvalue_151',['minValue',['../d8/dee/avltree_8cpp.html#a5fa160a678a34dd51c0aea1c0c00ed5e',1,'avltree.cpp']]], - ['mismatch_152',['mismatch',['http://en.cppreference.com/w/cpp/algorithm/mismatch.html',0,'std']]], - ['mktime_153',['mktime',['http://en.cppreference.com/w/cpp/chrono/c/mktime.html',0,'std']]], - ['mod_5fdivision_154',['mod_division',['../df/d72/modular__division_8cpp.html#a905e368ae121beb7e7ea35349ddcdac7',1,'math::modular_division']]], - ['modf_155',['modf',['http://en.cppreference.com/w/cpp/numeric/math/modf.html',0,'std']]], - ['modinverse_156',['modInverse',['../de/dab/ncr__modulo__p_8cpp.html#a6c7bfe3bdaa086d32261a5c5584d0fa9',1,'math::ncr_modulo_p::utils']]], - ['modular_5fdivision_157',['modular_division',['../d1/d64/namespacemodular__division.html',1,'']]], - ['modular_5fdivision_2ecpp_158',['modular_division.cpp',['../df/d72/modular__division_8cpp.html',1,'']]], - ['modular_5fexponentiation_159',['modular_exponentiation',['../d6/d42/miller__rabin_8cpp.html#ad6c2c67ea416d0e80003a88623f98b29',1,'miller_rabin.cpp']]], - ['modular_5fexponentiation_2ecpp_160',['modular_exponentiation.cpp',['../d0/d6d/modular__exponentiation_8cpp.html',1,'']]], - ['modular_5finverse_161',['modular_inverse',['../d8/d53/modular__inverse__fermat__little__theorem_8cpp.html#ae7e807e02c65c6fffd6162b4c66290c2',1,'math::modular_inverse_fermat']]], - ['modular_5finverse_5ffermat_162',['modular_inverse_fermat',['../d7/d50/namespacemodular__inverse__fermat.html',1,'']]], - ['modular_5finverse_5ffermat_5flittle_5ftheorem_2ecpp_163',['modular_inverse_fermat_little_theorem.cpp',['../d8/d53/modular__inverse__fermat__little__theorem_8cpp.html',1,'']]], - ['modular_5finverse_5fsimple_2ecpp_164',['modular_inverse_simple.cpp',['../d6/d2d/modular__inverse__simple_8cpp.html',1,'']]], - ['modulus_165',['modulus',['http://en.cppreference.com/w/cpp/utility/functional/modulus.html',0,'std']]], - ['money_5fbase_166',['money_base',['http://en.cppreference.com/w/cpp/locale/money_base.html',0,'std']]], - ['money_5fget_167',['money_get',['http://en.cppreference.com/w/cpp/locale/money_get.html',0,'std::money_get'],['http://en.cppreference.com/w/cpp/locale/money_get/money_get.html',0,'std::money_get::money_get()']]], - ['money_5fput_168',['money_put',['http://en.cppreference.com/w/cpp/locale/money_put.html',0,'std::money_put'],['http://en.cppreference.com/w/cpp/locale/money_put/money_put.html',0,'std::money_put::money_put()']]], - ['moneypunct_169',['moneypunct',['http://en.cppreference.com/w/cpp/locale/moneypunct.html',0,'std::moneypunct'],['http://en.cppreference.com/w/cpp/locale/moneypunct/moneypunct.html',0,'std::moneypunct::moneypunct()']]], - ['moneypunct_5fbyname_170',['moneypunct_byname',['http://en.cppreference.com/w/cpp/locale/moneypunct_byname.html',0,'std::moneypunct_byname'],['http://en.cppreference.com/w/cpp/locale/moneypunct_byname.html',0,'std::moneypunct_byname::moneypunct_byname()']]], - ['monte_5fcarlo_171',['monte_carlo',['../d0/da4/namespacemonte__carlo.html',1,'']]], - ['month_172',['month',['../d1/df6/class_easter_year_month_day.html#a01a068eae0b6fa8f86f5f60c2840bbde',1,'EasterYearMonthDay']]], - ['morse_173',['morse',['../d6/d8d/namespacemorse.html',1,'']]], - ['morse_5fcode_2ecpp_174',['morse_code.cpp',['../d8/d76/morse__code_8cpp.html',1,'']]], - ['morse_5fto_5fchar_175',['morse_to_char',['../d8/d76/morse__code_8cpp.html#ac9f294b0dec08a4a11d477a32f9bd829',1,'ciphers::morse']]], - ['mov_176',['mov',['../db/d3c/tower__of__hanoi_8cpp.html#af4cfc41e546f1f8d25f01e0804e8b61d',1,'tower_of_hanoi.cpp']]], - ['move_177',['move',['http://en.cppreference.com/w/cpp/io/basic_ios/move.html',0,'std::basic_ofstream::move()'],['http://en.cppreference.com/w/cpp/io/basic_ios/move.html',0,'std::fstream::move()'],['http://en.cppreference.com/w/cpp/string/char_traits/move.html',0,'std::char_traits::move()'],['http://en.cppreference.com/w/cpp/io/basic_ios/move.html',0,'std::wostream::move()'],['http://en.cppreference.com/w/cpp/io/basic_ios/move.html',0,'std::basic_ostringstream::move()'],['http://en.cppreference.com/w/cpp/io/basic_ios/move.html',0,'std::basic_ios::move()'],['http://en.cppreference.com/w/cpp/io/basic_ios/move.html',0,'std::ostringstream::move()'],['http://en.cppreference.com/w/cpp/io/basic_ios/move.html',0,'std::basic_fstream::move()'],['http://en.cppreference.com/w/cpp/io/basic_ios/move.html',0,'std::iostream::move()'],['http://en.cppreference.com/w/cpp/io/basic_ios/move.html',0,'std::wistream::move()'],['http://en.cppreference.com/w/cpp/io/basic_ios/move.html',0,'std::stringstream::move()'],['http://en.cppreference.com/w/cpp/io/basic_ios/move.html',0,'std::ostream::move()'],['http://en.cppreference.com/w/cpp/io/basic_ios/move.html',0,'std::wifstream::move()'],['http://en.cppreference.com/w/cpp/io/basic_ios/move.html',0,'std::basic_istream::move()'],['http://en.cppreference.com/w/cpp/io/basic_ios/move.html',0,'std::strstream::move()'],['http://en.cppreference.com/w/cpp/io/basic_ios/move.html',0,'std::basic_stringstream::move()'],['http://en.cppreference.com/w/cpp/io/basic_ios/move.html',0,'std::wostringstream::move()'],['http://en.cppreference.com/w/cpp/io/basic_ios/move.html',0,'std::istrstream::move()'],['http://en.cppreference.com/w/cpp/io/basic_ios/move.html',0,'std::basic_ostream::move()'],['http://en.cppreference.com/w/cpp/io/basic_ios/move.html',0,'std::wiostream::move()'],['http://en.cppreference.com/w/cpp/io/basic_ios/move.html',0,'std::ofstream::move()'],['http://en.cppreference.com/w/cpp/io/basic_ios/move.html',0,'std::basic_istringstream::move()'],['http://en.cppreference.com/w/cpp/io/basic_ios/move.html',0,'std::basic_ifstream::move()'],['http://en.cppreference.com/w/cpp/io/basic_ios/move.html',0,'std::istringstream::move()'],['http://en.cppreference.com/w/cpp/io/basic_ios/move.html',0,'std::istream::move()'],['http://en.cppreference.com/w/cpp/io/basic_ios/move.html',0,'std::ostrstream::move()'],['http://en.cppreference.com/w/cpp/io/basic_ios/move.html',0,'std::wfstream::move()'],['http://en.cppreference.com/w/cpp/io/basic_ios/move.html',0,'std::basic_iostream::move()'],['http://en.cppreference.com/w/cpp/io/basic_ios/move.html',0,'std::wofstream::move()'],['http://en.cppreference.com/w/cpp/io/basic_ios/move.html',0,'std::wstringstream::move()'],['http://en.cppreference.com/w/cpp/io/basic_ios/move.html',0,'std::wistringstream::move()'],['http://en.cppreference.com/w/cpp/io/basic_ios/move.html',0,'std::ifstream::move()'],['http://en.cppreference.com/w/cpp/utility/move.html',0,'std::move(T... args)']]], - ['move_5fbackward_178',['move_backward',['http://en.cppreference.com/w/cpp/algorithm/move_backward.html',0,'std']]], - ['move_5fif_5fnoexcept_179',['move_if_noexcept',['http://en.cppreference.com/w/cpp/utility/move_if_noexcept.html',0,'std']]], - ['move_5fiterator_180',['move_iterator',['http://en.cppreference.com/w/cpp/iterator/move_iterator.html',0,'std']]], - ['moves_181',['moves',['../dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle.html#aa73857052e69b86347859d9148933f71',1,'machine_learning::aystar_search::EightPuzzle']]], - ['mst_182',['mst',['../d1/d77/structmst.html',1,'']]], - ['mt19937_183',['mt19937',['http://en.cppreference.com/w/cpp/numeric/random/mersenne_twister_engine.html',0,'std::mt19937'],['http://en.cppreference.com/w/cpp/numeric/random/mersenne_twister_engine/mersenne_twister_engine.html',0,'std::mt19937::mt19937()']]], - ['mt19937_5f64_184',['mt19937_64',['http://en.cppreference.com/w/cpp/numeric/random/mersenne_twister_engine.html',0,'std::mt19937_64'],['http://en.cppreference.com/w/cpp/numeric/random/mersenne_twister_engine/mersenne_twister_engine.html',0,'std::mt19937_64::mt19937_64()']]], - ['multimap_185',['multimap',['http://en.cppreference.com/w/cpp/container/multimap.html',0,'std::multimap< K, T >'],['http://en.cppreference.com/w/cpp/container/multimap/multimap.html',0,'std::multimap::multimap()']]], - ['multiplies_186',['multiplies',['http://en.cppreference.com/w/cpp/utility/functional/multiplies.html',0,'std']]], - ['multiply_187',['multiply',['../db/d82/classlarge__number.html#a2f5571e66305cf68bb8283e4aeda58bc',1,'large_number::multiply()'],['../df/d6b/namespaceciphers_1_1elliptic__curve__key__exchange.html#a17f3d667241b88115a95282cdd719cb2',1,'ciphers::elliptic_curve_key_exchange::multiply()'],['../d8/d77/namespacemachine__learning.html#a5342906d42b80fc6b6b3ad17bf00fcb9',1,'machine_learning::multiply()'],['../de/dc3/fibonacci__sum_8cpp.html#a9c83cca09a3e4ff2a25c816a9303448e',1,'math::fibonacci_sum::multiply()'],['../df/def/power__for__huge__numbers_8cpp.html#aa141a7904f0c4668bac112d652a3acf9',1,'multiply(int x, int res[], int res_size): power_for_huge_numbers.cpp'],['../d7/d35/matrix__exponentiation_8cpp.html#a357cfbebfdc47a237a2862fe146af252',1,'multiply(const vector< vector< ll > > &A, const vector< vector< ll > > &B): matrix_exponentiation.cpp']]], - ['multiset_188',['multiset',['http://en.cppreference.com/w/cpp/container/multiset.html',0,'std::multiset< K >'],['http://en.cppreference.com/w/cpp/container/multiset/multiset.html',0,'std::multiset::multiset()']]], - ['multiset_3c_20int_20_3e_189',['multiset< int >',['http://en.cppreference.com/w/cpp/container/multiset.html',0,'std']]], - ['mutex_190',['mutex',['http://en.cppreference.com/w/cpp/thread/mutex.html',0,'std::mutex'],['http://en.cppreference.com/w/cpp/thread/unique_lock/mutex.html',0,'std::unique_lock::mutex()'],['http://en.cppreference.com/w/cpp/thread/shared_lock/mutex.html',0,'std::shared_lock::mutex()'],['http://en.cppreference.com/w/cpp/thread/mutex/mutex.html',0,'std::mutex::mutex()']]] + ['make_5frecent_13',['make_recent',['../d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache.html#ad022d494b40f82417340b113445e79a4',1,'others::Cache::LRUCache']]], + ['make_5fset_14',['make_set',['../d8/d99/connected__components__with__dsu_8cpp.html#ae91ed94113c56191b75fe45f688d6e62',1,'graph::disjoint_union']]], + ['makebst_15',['makeBST',['../d4/d32/inorder__successor__of__bst_8cpp.html#a05fe8a029e155c43e4efa598d4d089d9',1,'operations_on_datastructures::inorder_traversal_of_bst']]], + ['makelinkedlist_16',['makeLinkedList',['../d5/d45/sublist__search_8cpp.html#a70ca8d0267008e09cfa50b4e2ddfbe53',1,'search::sublist_search']]], + ['makenode_17',['makeNode',['../d4/d32/inorder__successor__of__bst_8cpp.html#a7f6f73a33beec448c27cc1d70b220702',1,'operations_on_datastructures::inorder_traversal_of_bst']]], + ['makestrings_18',['makeStrings',['../df/de5/classbacktracking_1_1generate__parentheses.html#ac1489edd65374f22fe04851051f0a2ec',1,'backtracking::generate_parentheses']]], + ['making_20changes_19',['Making Changes',['../d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md26',1,'']]], + ['manacher_20',['manacher',['../d8/dc6/namespacemanacher.html',1,'manacher'],['../d3/d39/manacher__algorithm_8cpp.html#a95e6a2976bb2f332898f373941d52098',1,'strings::manacher::manacher()']]], + ['manacher_5falgorithm_2ecpp_21',['manacher_algorithm.cpp',['../d3/d39/manacher__algorithm_8cpp.html',1,'']]], + ['manipulation_22',['Bit Manipulation',['../d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md46',1,'']]], + ['mat_5fmul_23',['mat_mul',['../d6/d26/classciphers_1_1_hill_cipher.html#ad36cbcc7a458b3f3a2af0c4aa1126590',1,'ciphers::HillCipher::mat_mul()'],['../de/d75/qr__eigen__values_8cpp.html#abb8bf4c55e10685a5eb2ad3797fde1ae',1,'mat_mul(const std::valarray< std::valarray< double > > &A, const std::valarray< std::valarray< double > > &B, std::valarray< std::valarray< double > > *OUT): qr_eigen_values.cpp']]], + ['mat_5fsize_24',['mat_size',['../d7/d35/matrix__exponentiation_8cpp.html#a9977ad12548c4a49dee9dc3f0685aa54',1,'matrix_exponentiation.cpp']]], + ['match_25',['match',['../d8/d41/namespacegames_1_1memory__game.html#a370760f2b328ad341bcb77d82fa17b01',1,'games::memory_game']]], + ['matching_26',['Maximum cardinality matching',['../d1/d9a/hopcroft__karp_8cpp.html#autotoc_md79',1,'']]], + ['matching_20and_20not_20matching_20edges_27',['Matching and Not-Matching edges',['../d1/d9a/hopcroft__karp_8cpp.html#autotoc_md78',1,'']]], + ['matching_20edges_28',['Matching and Not-Matching edges',['../d1/d9a/hopcroft__karp_8cpp.html#autotoc_md78',1,'']]], + ['math_29',['Math',['../d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md59',1,'']]], + ['math_30',['math',['../dd/d47/namespacemath.html',1,'']]], + ['matrix_31',['Matrix',['../dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix.html',1,'divide_and_conquer::strassens_multiplication::Matrix< T, typename >'],['../dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix.html#a01f3a05cf5abdc5d63999ef1bf9f9256',1,'divide_and_conquer::strassens_multiplication::Matrix::Matrix(const Integer size)'],['../dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix.html#a4aa49765cce39ce48b9241e993e0cfb9',1,'divide_and_conquer::strassens_multiplication::Matrix::Matrix(const Integer rows, const Integer cols)']]], + ['matrix_32',['matrix',['../d1/dbe/lu__decomposition_8h.html#ac029b636b353cefbb18b2fcc71e427e4',1,'lu_decomposition.h']]], + ['matrix_5fexponentiation_2ecpp_33',['matrix_exponentiation.cpp',['../d7/d35/matrix__exponentiation_8cpp.html',1,'']]], + ['max_34',['MAX',['../d4/d32/fibonacci__fast_8cpp.html#a392fb874e547e582e9c66a08a1f23326',1,'MAX: fibonacci_fast.cpp'],['../df/def/power__for__huge__numbers_8cpp.html#a392fb874e547e582e9c66a08a1f23326',1,'MAX: power_for_huge_numbers.cpp'],['../dc/dc5/paranthesis__matching_8cpp.html#a392fb874e547e582e9c66a08a1f23326',1,'MAX: paranthesis_matching.cpp'],['../d1/df3/hash__search_8cpp.html#a392fb874e547e582e9c66a08a1f23326',1,'MAX: hash_search.cpp'],['../dc/dfe/ternary__search_8cpp.html#a392fb874e547e582e9c66a08a1f23326',1,'MAX: ternary_search.cpp']]], + ['max_5fheight_35',['max_height',['../d9/d29/ground__to__ground__projectile__motion_8cpp.html#aa554429def63077ab7a550c0affbfefa',1,'physics::ground_to_ground_projectile_motion']]], + ['max_5fiter_36',['MAX_ITER',['../d9/d66/group__machine__learning.html#ga5118e5cbc4f0886e27b3a7a2544dded1',1,'adaline_learning.cpp']]], + ['max_5fiterations_37',['MAX_ITERATIONS',['../d7/d6a/bisection__method_8cpp.html#a0a3abbca80bc98e7abcb3ae73abe0f14',1,'MAX_ITERATIONS: bisection_method.cpp'],['../de/dd3/newton__raphson__method_8cpp.html#a5c5ff05b9f37ae59dad67e1d4f6cd51d',1,'MAX_ITERATIONS: newton_raphson_method.cpp']]], + ['max_5flevel_38',['MAX_LEVEL',['../d5/d3c/namespacedata__structures.html#ac0d7e0be24da9f41bcb19745873c436a',1,'data_structures']]], + ['max_5fsize_39',['max_size',['../d8/df0/queue__using__array_8cpp.html#a2d49e79bd164c298912db252970520d8',1,'queue_using_array.cpp']]], + ['max_5fsubarray_5fsum_40',['max_subarray_sum',['../de/dcd/kadanes3_8cpp.html#a338439a04148ae89f695595acfa5c147',1,'kadanes3.cpp']]], + ['maxcircularsum_41',['maxCircularSum',['../dd/d24/namespacedynamic__programming.html#a5239174fa0d987f2c67edc1f2af82beb',1,'dynamic_programming']]], + ['maxelement_42',['maxElement',['../dd/d1f/classdsu.html#a4ade6f16c418fc98b54452f7b0252a53',1,'dsu']]], + ['maximum_20cardinality_20matching_43',['Maximum cardinality matching',['../d1/d9a/hopcroft__karp_8cpp.html#autotoc_md79',1,'']]], + ['maximum_5fcircular_5fsubarray_2ecpp_44',['maximum_circular_subarray.cpp',['../db/dfb/maximum__circular__subarray_8cpp.html',1,'']]], + ['maxknapsackvalue_45',['maxKnapsackValue',['../db/d16/0__1__knapsack_8cpp.html#a15edf30f336885e5b851f6b7199c6cd1',1,'dynamic_programming::knapsack']]], + ['maxnode_46',['maxNode',['../dd/d2e/namespacedata__structures_1_1treap.html#ad939ec178d0069aeea14b7d6d7d12099',1,'data_structures::treap']]], + ['maxprofitbycuttingrod_47',['maxProfitByCuttingRod',['../d6/d10/cut__rod_8cpp.html#a1cc523a30c18c63eac58220c3c494cfa',1,'dynamic_programming::cut_rod']]], + ['maxsubarray_48',['maxSubArray',['../d4/da0/kadane_8cpp.html#af3029007a422a914a85c0b0122f1c7b4',1,'dynamic_programming::kadane']]], + ['md5_49',['MD5',['../dd/d43/namespace_m_d5.html',1,'']]], + ['md5_2ecpp_50',['md5.cpp',['../d5/d96/md5_8cpp.html',1,'']]], + ['mean_51',['mean',['../d7/d7c/classstatistics_1_1stats__computer1.html#a390697dcee210b91823ceff04b25081b',1,'statistics::stats_computer1::mean()'],['../d8/dab/classstatistics_1_1stats__computer2.html#a8290966ad468f2a8c266d008bc60720e',1,'statistics::stats_computer2::mean()']]], + ['median_5fof_5fmedians_52',['median_of_medians',['../d9/d69/median__search_8cpp.html#a868847218f694e78bf433a0ff7648bae',1,'search::median_search']]], + ['median_5fsearch_53',['median_search',['../da/dd4/namespacemedian__search.html',1,'']]], + ['median_5fsearch_2ecpp_54',['median_search.cpp',['../d9/d69/median__search_8cpp.html',1,'']]], + ['median_5fsearch2_2ecpp_55',['median_search2.cpp',['../d8/dfa/median__search2_8cpp.html',1,'']]], + ['memory_5fgame_2ecpp_56',['memory_game.cpp',['../dd/d92/memory__game_8cpp.html',1,'']]], + ['merge_57',['Merge',['../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a36f4d5f603f7edb7db7c73fb53ba14e9',1,'data_structures::tree_234::Tree234']]], + ['merge_58',['merge',['../d2/d26/count__inversions_8cpp.html#aad643c14734394e784a75169cb58132f',1,'sorting::inversion::merge()'],['../de/d7b/merge__insertion__sort_8cpp.html#af4de4067a9a866ffd985c5b5055ccedf',1,'sorting::merge_insertion::merge()'],['../d5/d4c/group__sorting.html#ga460c61cd948203b4816bef2accb3fc73',1,'merge(): merge_sort.cpp'],['../d5/d91/namespacesorting.html#aa26de383227859210f14dcf12201a079',1,'sorting::merge()']]], + ['merge_5finsertion_59',['merge_insertion',['../de/d0a/namespacemerge__insertion.html',1,'']]], + ['merge_5finsertion_5fsort_2ecpp_60',['merge_insertion_sort.cpp',['../de/d7b/merge__insertion__sort_8cpp.html',1,'']]], + ['merge_5fsort_2ecpp_61',['merge_sort.cpp',['../d5/df4/merge__sort_8cpp.html',1,'']]], + ['mergenode_62',['MergeNode',['../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a11f0d016dff7f7e62b3dddb9fdf47805',1,'data_structures::tree_234::Tree234']]], + ['mergenodenotfull_63',['MergeNodeNotFull',['../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#ad37e29e2a4a6cc0eb65cbd5595e1da95',1,'data_structures::tree_234::Tree234']]], + ['mergesort_64',['mergeSort',['../d2/d26/count__inversions_8cpp.html#ae97a486e14101c4822ea8dc47f0d1661',1,'sorting::inversion::mergeSort()'],['../de/d7b/merge__insertion__sort_8cpp.html#a7161278f18e83b671c6454b139cc5674',1,'sorting::merge_insertion::mergeSort()'],['../d5/d4c/group__sorting.html#gab6b14fea48d9841e29b9fc26be6e05d7',1,'mergeSort(): merge_sort.cpp']]], + ['method_201_3a_20use_20parent_20pointer_20store_20the_20address_20of_20parent_20nodes_65',['Method 1: Use parent pointer (store the address of parent nodes)',['../d4/d32/inorder__successor__of__bst_8cpp.html#autotoc_md91',1,'']]], + ['method_202_3a_20search_20from_20the_20root_20node_66',['Method 2: Search from the root node',['../d4/d32/inorder__successor__of__bst_8cpp.html#autotoc_md92',1,'']]], + ['method1_67',['method1',['../df/d06/decimal__to__binary_8cpp.html#a9240f2e79074a2a248395258aebbfa11',1,'decimal_to_binary.cpp']]], + ['method2_68',['method2',['../df/d06/decimal__to__binary_8cpp.html#a10df57491019f0ac39b492740fb388f7',1,'decimal_to_binary.cpp']]], + ['methods_69',['Numerical Methods',['../d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md60',1,'']]], + ['mid_70',['mid',['../dd/d95/classdata__structures_1_1_segment_tree.html#a6d3beccc936af2377c8eeb17067fd141',1,'data_structures::SegmentTree']]], + ['middlenode_71',['middleNode',['../d8/dfa/median__search2_8cpp.html#a5fefe132a0c3ee780ebc703f37ebce6a',1,'search::median_search2']]], + ['midpoint_72',['midpoint',['../df/d11/midpoint__integral__method_8cpp.html#a7072493d1f0f8a91b2a71d4cc456c09c',1,'numerical_methods::midpoint_rule']]], + ['midpoint_5feuler_73',['midpoint_euler',['../d6/d60/group__ode.html#ga36ff0710861ca39d957046c0b09b2985',1,'ode_midpoint_euler.cpp']]], + ['midpoint_5feuler_5fstep_74',['midpoint_euler_step',['../d6/d60/group__ode.html#ga8c319db420c3d97a83e9dcca803b6812',1,'ode_midpoint_euler.cpp']]], + ['midpoint_5fintegral_5fmethod_2ecpp_75',['midpoint_integral_method.cpp',['../df/d11/midpoint__integral__method_8cpp.html',1,'']]], + ['midpoint_5frule_76',['midpoint_rule',['../d9/daa/namespacemidpoint__rule.html',1,'']]], + ['miller_5frabin_2ecpp_77',['miller_rabin.cpp',['../d6/d42/miller__rabin_8cpp.html',1,'']]], + ['miller_5frabin_5fprimality_5ftest_78',['miller_rabin_primality_test',['../d6/d42/miller__rabin_8cpp.html#a901288288ef5ebe8e97414cc30797cce',1,'miller_rabin.cpp']]], + ['miller_5ftest_79',['miller_test',['../d6/d42/miller__rabin_8cpp.html#a6f9c31c1047aa3191676d64571d4c506',1,'miller_rabin.cpp']]], + ['min_80',['min',['../da/d52/minimum__edit__distance_8cpp.html#a0138c226bd79ffe6d839c787cfc60347',1,'dynamic_programming::minimum_edit_distance']]], + ['min_5fdistance_81',['MIN_DISTANCE',['../d8/d77/namespacemachine__learning.html#a7220dbb7fa896d83bfb7a50e4fce1786',1,'machine_learning']]], + ['mincoins_82',['mincoins',['../d9/d31/coin__change__topdown_8cpp.html#ac816a4ae8a29c156b90377041000929a',1,'dynamic_programming::mincoins_topdown']]], + ['mincoins_5ftopdown_83',['mincoins_topdown',['../d5/db8/namespacemincoins__topdown.html',1,'']]], + ['minelement_84',['minElement',['../dd/d1f/classdsu.html#a1d77aad7fc39fe7140d834cd347e5c63',1,'dsu']]], + ['minfreq_85',['minFreq',['../df/d8f/classothers_1_1_cache_1_1_l_f_u_cache.html#a6de844d1589a809239cc07752f311285',1,'others::Cache::LFUCache']]], + ['minheap_86',['MinHeap',['../d2/d05/class_min_heap.html',1,'MinHeap'],['../d2/d05/class_min_heap.html#a078cb888e642bb1f95dd0e03f0a35820',1,'MinHeap::MinHeap(int cap)']]], + ['minheapify_87',['MinHeapify',['../d2/d05/class_min_heap.html#aaef438c1056492cb62c4a4d9035b5cad',1,'MinHeap']]], + ['minheapnode_88',['MinHeapNode',['../d5/d29/struct_min_heap_node.html',1,'']]], + ['minimax_89',['minimax',['../db/dc0/namespacebacktracking.html#a78540bcb5ef3473b2348cbc34748ec50',1,'backtracking']]], + ['minimax_2ecpp_90',['minimax.cpp',['../df/dfb/minimax_8cpp.html',1,'']]], + ['minimum_91',['Minimum',['../d4/d12/namespace_minimum.html',1,'']]], + ['minimum_5fdistance_92',['minimum_distance',['../d2/d2f/namespacegreedy__algorithms_1_1dijkstra.html#af6cb29ca6dc5771439f6ea7262058a71',1,'greedy_algorithms::dijkstra']]], + ['minimum_5fedit_5fdistance_2ecpp_93',['minimum_edit_distance.cpp',['../da/d52/minimum__edit__distance_8cpp.html',1,'']]], + ['minmax_5fscaler_94',['minmax_scaler',['../d8/d77/namespacemachine__learning.html#ac332d152078e96311e43ac5e7183ea26',1,'machine_learning']]], + ['minvalue_95',['minValue',['../d8/dee/avltree_8cpp.html#a5fa160a678a34dd51c0aea1c0c00ed5e',1,'avltree.cpp']]], + ['mod_5fdivision_96',['mod_division',['../df/d72/modular__division_8cpp.html#a905e368ae121beb7e7ea35349ddcdac7',1,'math::modular_division']]], + ['modinverse_97',['modInverse',['../de/dab/ncr__modulo__p_8cpp.html#a6c7bfe3bdaa086d32261a5c5584d0fa9',1,'math::ncr_modulo_p::utils']]], + ['modular_5fdivision_98',['modular_division',['../d1/d64/namespacemodular__division.html',1,'']]], + ['modular_5fdivision_2ecpp_99',['modular_division.cpp',['../df/d72/modular__division_8cpp.html',1,'']]], + ['modular_5fexponentiation_100',['modular_exponentiation',['../d6/d42/miller__rabin_8cpp.html#ad6c2c67ea416d0e80003a88623f98b29',1,'miller_rabin.cpp']]], + ['modular_5fexponentiation_2ecpp_101',['modular_exponentiation.cpp',['../d0/d6d/modular__exponentiation_8cpp.html',1,'']]], + ['modular_5finverse_102',['modular_inverse',['../d8/d53/modular__inverse__fermat__little__theorem_8cpp.html#ae7e807e02c65c6fffd6162b4c66290c2',1,'math::modular_inverse_fermat']]], + ['modular_5finverse_5ffermat_103',['modular_inverse_fermat',['../d7/d50/namespacemodular__inverse__fermat.html',1,'']]], + ['modular_5finverse_5ffermat_5flittle_5ftheorem_2ecpp_104',['modular_inverse_fermat_little_theorem.cpp',['../d8/d53/modular__inverse__fermat__little__theorem_8cpp.html',1,'']]], + ['modular_5finverse_5fsimple_2ecpp_105',['modular_inverse_simple.cpp',['../d6/d2d/modular__inverse__simple_8cpp.html',1,'']]], + ['monte_5fcarlo_106',['monte_carlo',['../d0/da4/namespacemonte__carlo.html',1,'']]], + ['month_107',['month',['../d1/df6/class_easter_year_month_day.html#a01a068eae0b6fa8f86f5f60c2840bbde',1,'EasterYearMonthDay']]], + ['morse_108',['morse',['../d6/d8d/namespacemorse.html',1,'']]], + ['morse_5fcode_2ecpp_109',['morse_code.cpp',['../d8/d76/morse__code_8cpp.html',1,'']]], + ['morse_5fto_5fchar_110',['morse_to_char',['../d8/d76/morse__code_8cpp.html#ac9f294b0dec08a4a11d477a32f9bd829',1,'ciphers::morse']]], + ['mov_111',['mov',['../db/d3c/tower__of__hanoi_8cpp.html#af4cfc41e546f1f8d25f01e0804e8b61d',1,'tower_of_hanoi.cpp']]], + ['moves_112',['moves',['../dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle.html#aa73857052e69b86347859d9148933f71',1,'machine_learning::aystar_search::EightPuzzle']]], + ['mst_113',['mst',['../d1/d77/structmst.html',1,'']]], + ['multiply_114',['multiply',['../db/d82/classlarge__number.html#a2f5571e66305cf68bb8283e4aeda58bc',1,'large_number::multiply()'],['../df/d6b/namespaceciphers_1_1elliptic__curve__key__exchange.html#a17f3d667241b88115a95282cdd719cb2',1,'ciphers::elliptic_curve_key_exchange::multiply()'],['../d8/d77/namespacemachine__learning.html#a5342906d42b80fc6b6b3ad17bf00fcb9',1,'machine_learning::multiply()'],['../de/dc3/fibonacci__sum_8cpp.html#a9c83cca09a3e4ff2a25c816a9303448e',1,'math::fibonacci_sum::multiply()'],['../df/def/power__for__huge__numbers_8cpp.html#aa141a7904f0c4668bac112d652a3acf9',1,'multiply(int x, int res[], int res_size): power_for_huge_numbers.cpp'],['../d7/d35/matrix__exponentiation_8cpp.html#a357cfbebfdc47a237a2862fe146af252',1,'multiply(const vector< vector< ll > > &A, const vector< vector< ll > > &B): matrix_exponentiation.cpp']]] ]; diff --git a/search/all_13.js b/search/all_13.js index 6b5bfea9f..3f376a5b3 100644 --- a/search/all_13.js +++ b/search/all_13.js @@ -1,7 +1,7 @@ var searchData= [ ['n_0',['N',['../d8/dab/sparse__table_8cpp.html#a10f3ffb3f6f7e1b83d556b9c8de89a5d',1,'data_structures::sparse_table']]], - ['n_1',['n',['../da/d37/structdata__structures_1_1sparse__table_1_1_sparse__table.html#ad71ecd43d0af1127df5f4006258f9635',1,'data_structures::sparse_table::Sparse_table::n'],['../d8/d69/classgraph_1_1_h_k_graph.html#a6f5a9fdbb83ef731d739ba6707e21c3c',1,'graph::HKGraph::n'],['../de/d00/classgraph_1_1is__graph__bipartite_1_1_graph.html#aefea7ee87a708298c486d5a38ac628ef',1,'graph::is_graph_bipartite::Graph::n'],['../de/d0d/classrange__queries_1_1fenwick__tree.html#af9f543aa5976b8cc5422490b3d6250c6',1,'range_queries::fenwick_tree::n'],['http://en.cppreference.com/w/cpp/numeric/random/student_t_distribution/n.html',0,'std::student_t_distribution::n()'],['http://en.cppreference.com/w/cpp/numeric/random/chi_squared_distribution/n.html',0,'std::chi_squared_distribution::n()'],['http://en.cppreference.com/w/cpp/numeric/random/fisher_f_distribution/params.html',0,'std::fisher_f_distribution::n()']]], + ['n_1',['n',['../da/d37/structdata__structures_1_1sparse__table_1_1_sparse__table.html#ad71ecd43d0af1127df5f4006258f9635',1,'data_structures::sparse_table::Sparse_table::n'],['../d8/d69/classgraph_1_1_h_k_graph.html#a6f5a9fdbb83ef731d739ba6707e21c3c',1,'graph::HKGraph::n'],['../de/d00/classgraph_1_1is__graph__bipartite_1_1_graph.html#aefea7ee87a708298c486d5a38ac628ef',1,'graph::is_graph_bipartite::Graph::n'],['../de/d0d/classrange__queries_1_1fenwick__tree.html#af9f543aa5976b8cc5422490b3d6250c6',1,'range_queries::fenwick_tree::n']]], ['n_5fbonacci_2',['N_bonacci',['../db/d27/n__bonacci_8cpp.html#a6849b68f760be628d5975ab3eddec63d',1,'math::n_bonacci']]], ['n_5fbonacci_3',['n_bonacci',['../de/d36/namespacen__bonacci.html',1,'']]], ['n_5fbonacci_2ecpp_4',['n_bonacci.cpp',['../db/d27/n__bonacci_8cpp.html',1,'']]], @@ -14,93 +14,48 @@ var searchData= ['n_5fqueens_5fall_5fsolutions_11',['n_queens_all_solutions',['../df/d44/namespacen__queens__all__solutions.html',1,'']]], ['n_5fqueens_5foptimized_12',['n_queens_optimized',['../d8/d14/namespacen__queens__optimized.html',1,'']]], ['naive_5fmultiplication_13',['naive_multiplication',['../dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix.html#a5d8eb669b37a27224376b08515b4ee50',1,'divide_and_conquer::strassens_multiplication::Matrix']]], - ['name_14',['name',['http://en.cppreference.com/w/cpp/locale/locale/name.html',0,'std::locale::name()'],['http://en.cppreference.com/w/cpp/error/error_category/name.html',0,'std::error_category::name()'],['http://en.cppreference.com/w/cpp/types/type_info/name.html',0,'std::type_info::name()'],['http://en.cppreference.com/w/cpp/types/type_index/name.html',0,'std::type_index::name()']]], - ['name_20guidelines_15',['File Name guidelines',['../d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md32',1,'']]], - ['nan_16',['nan',['http://en.cppreference.com/w/cpp/numeric/math/nan.html',0,'std']]], - ['nanf_17',['nanf',['http://en.cppreference.com/w/cpp/numeric/math/nan.html',0,'std']]], - ['nanl_18',['nanl',['http://en.cppreference.com/w/cpp/numeric/math/nan.html',0,'std']]], - ['nano_19',['nano',['http://en.cppreference.com/w/cpp/numeric/ratio/ratio.html',0,'std']]], - ['nanoseconds_20',['nanoseconds',['http://en.cppreference.com/w/cpp/chrono/duration.html',0,'std::chrono::nanoseconds'],['http://en.cppreference.com/w/cpp/chrono/duration/duration.html',0,'std::chrono::nanoseconds::nanoseconds()']]], - ['narrow_21',['narrow',['http://en.cppreference.com/w/cpp/io/basic_ios/narrow.html',0,'std::basic_ofstream::narrow()'],['http://en.cppreference.com/w/cpp/locale/ctype/narrow.html',0,'std::ctype_byname::narrow()'],['http://en.cppreference.com/w/cpp/io/basic_ios/narrow.html',0,'std::fstream::narrow()'],['http://en.cppreference.com/w/cpp/io/basic_ios/narrow.html',0,'std::wostream::narrow()'],['http://en.cppreference.com/w/cpp/io/basic_ios/narrow.html',0,'std::basic_ostringstream::narrow()'],['http://en.cppreference.com/w/cpp/io/basic_ios/narrow.html',0,'std::basic_ios::narrow()'],['http://en.cppreference.com/w/cpp/io/basic_ios/narrow.html',0,'std::ostringstream::narrow()'],['http://en.cppreference.com/w/cpp/io/basic_ios/narrow.html',0,'std::basic_fstream::narrow()'],['http://en.cppreference.com/w/cpp/io/basic_ios/narrow.html',0,'std::iostream::narrow()'],['http://en.cppreference.com/w/cpp/io/basic_ios/narrow.html',0,'std::wistream::narrow()'],['http://en.cppreference.com/w/cpp/io/basic_ios/narrow.html',0,'std::stringstream::narrow()'],['http://en.cppreference.com/w/cpp/io/basic_ios/narrow.html',0,'std::ostream::narrow()'],['http://en.cppreference.com/w/cpp/io/basic_ios/narrow.html',0,'std::wifstream::narrow()'],['http://en.cppreference.com/w/cpp/io/basic_ios/narrow.html',0,'std::basic_istream::narrow()'],['http://en.cppreference.com/w/cpp/io/basic_ios/narrow.html',0,'std::strstream::narrow()'],['http://en.cppreference.com/w/cpp/io/basic_ios/narrow.html',0,'std::basic_stringstream::narrow()'],['http://en.cppreference.com/w/cpp/io/basic_ios/narrow.html',0,'std::wostringstream::narrow()'],['http://en.cppreference.com/w/cpp/io/basic_ios/narrow.html',0,'std::istrstream::narrow()'],['http://en.cppreference.com/w/cpp/io/basic_ios/narrow.html',0,'std::basic_ostream::narrow()'],['http://en.cppreference.com/w/cpp/io/basic_ios/narrow.html',0,'std::wiostream::narrow()'],['http://en.cppreference.com/w/cpp/io/basic_ios/narrow.html',0,'std::ofstream::narrow()'],['http://en.cppreference.com/w/cpp/io/basic_ios/narrow.html',0,'std::basic_istringstream::narrow()'],['http://en.cppreference.com/w/cpp/io/basic_ios/narrow.html',0,'std::basic_ifstream::narrow()'],['http://en.cppreference.com/w/cpp/io/basic_ios/narrow.html',0,'std::istringstream::narrow()'],['http://en.cppreference.com/w/cpp/locale/ctype/narrow.html',0,'std::ctype::narrow()'],['http://en.cppreference.com/w/cpp/io/basic_ios/narrow.html',0,'std::istream::narrow()'],['http://en.cppreference.com/w/cpp/io/basic_ios/narrow.html',0,'std::ostrstream::narrow()'],['http://en.cppreference.com/w/cpp/io/basic_ios/narrow.html',0,'std::wfstream::narrow()'],['http://en.cppreference.com/w/cpp/io/basic_ios/narrow.html',0,'std::basic_iostream::narrow()'],['http://en.cppreference.com/w/cpp/io/basic_ios/narrow.html',0,'std::wofstream::narrow()'],['http://en.cppreference.com/w/cpp/io/basic_ios/narrow.html',0,'std::wstringstream::narrow()'],['http://en.cppreference.com/w/cpp/io/basic_ios/narrow.html',0,'std::wistringstream::narrow()'],['http://en.cppreference.com/w/cpp/io/basic_ios/narrow.html',0,'std::ifstream::narrow()']]], - ['native_5fhandle_22',['native_handle',['http://en.cppreference.com/w/cpp/thread/condition_variable_any/native_handle.html',0,'std::condition_variable_any::native_handle()'],['http://en.cppreference.com/w/cpp/thread/condition_variable/native_handle.html',0,'std::condition_variable::native_handle()'],['http://en.cppreference.com/w/cpp/thread/recursive_mutex/native_handle.html',0,'std::recursive_mutex::native_handle()'],['http://en.cppreference.com/w/cpp/thread/recursive_timed_mutex/native_handle.html',0,'std::recursive_timed_mutex::native_handle()'],['http://en.cppreference.com/w/cpp/thread/thread/native_handle.html',0,'std::thread::native_handle()'],['http://en.cppreference.com/w/cpp/thread/timed_mutex/native_handle.html',0,'std::timed_mutex::native_handle()'],['http://en.cppreference.com/w/cpp/thread/mutex/native_handle.html',0,'std::mutex::native_handle()']]], - ['ncr_23',['nCr',['../d6/db0/binomial__dist_8cpp.html#a78d36635232e54b5d71fcbf1eac9a49a',1,'binomial_dist.cpp']]], - ['ncr_24',['ncr',['../d6/dc1/classmath_1_1ncr__modulo__p_1_1_n_c_r_modulo_p.html#a499df7a01bcd348345dc5a0ab79bb0e9',1,'math::ncr_modulo_p::NCRModuloP']]], - ['ncr_5fmodulo_5fp_25',['ncr_modulo_p',['../d4/db9/namespacencr__modulo__p.html',1,'']]], - ['ncr_5fmodulo_5fp_2ecpp_26',['ncr_modulo_p.cpp',['../de/dab/ncr__modulo__p_8cpp.html',1,'']]], - ['ncrmodulop_27',['NCRModuloP',['../d6/dc1/classmath_1_1ncr__modulo__p_1_1_n_c_r_modulo_p.html',1,'math::ncr_modulo_p::NCRModuloP'],['../d6/dc1/classmath_1_1ncr__modulo__p_1_1_n_c_r_modulo_p.html#a94b07e7dc61d8d7a1e9c5a28988e72f9',1,'math::ncr_modulo_p::NCRModuloP::NCRModuloP()']]], - ['nearbyint_28',['nearbyint',['http://en.cppreference.com/w/cpp/numeric/math/nearbyint.html',0,'std']]], - ['neg_5fformat_29',['neg_format',['http://en.cppreference.com/w/cpp/locale/moneypunct/pos_format.html',0,'std::moneypunct_byname::neg_format()'],['http://en.cppreference.com/w/cpp/locale/moneypunct/pos_format.html',0,'std::moneypunct::neg_format()']]], - ['negate_30',['negate',['http://en.cppreference.com/w/cpp/utility/functional/negate.html',0,'std']]], - ['negative_5fbinomial_5fdistribution_31',['negative_binomial_distribution',['http://en.cppreference.com/w/cpp/numeric/random/negative_binomial_distribution.html',0,'std::negative_binomial_distribution'],['http://en.cppreference.com/w/cpp/numeric/random/negative_binomial_distribution/negative_binomial_distribution.html',0,'std::negative_binomial_distribution::negative_binomial_distribution()']]], - ['negative_5fsign_32',['negative_sign',['http://en.cppreference.com/w/cpp/locale/moneypunct/positive_sign.html',0,'std::moneypunct_byname::negative_sign()'],['http://en.cppreference.com/w/cpp/locale/moneypunct/positive_sign.html',0,'std::moneypunct::negative_sign()']]], - ['neighbors_33',['neighbors',['../dc/d61/classgraph_1_1_graph.html#a59940c462861f2fcf4951d1b6c084e6a',1,'graph::Graph']]], - ['nested_5fexception_34',['nested_exception',['http://en.cppreference.com/w/cpp/error/nested_exception.html',0,'std::nested_exception'],['http://en.cppreference.com/w/cpp/error/nested_exception/nested_exception.html',0,'std::nested_exception::nested_exception(T... args)']]], - ['nested_5fptr_35',['nested_ptr',['http://en.cppreference.com/w/cpp/error/nested_exception/nested_ptr.html',0,'std::nested_exception']]], - ['neural_5fnetwork_36',['neural_network',['../d0/d2e/namespaceneural__network.html',1,'']]], - ['neural_5fnetwork_2ecpp_37',['neural_network.cpp',['../d2/d58/neural__network_8cpp.html',1,'']]], - ['neuralnetwork_38',['NeuralNetwork',['../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html',1,'machine_learning::neural_network::NeuralNetwork'],['../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#a4c4c6f63ab965317f9471518ee931b89',1,'machine_learning::neural_network::NeuralNetwork::NeuralNetwork(const std::vector< std::pair< int, std::string > > &config, const std::vector< std::vector< std::valarray< double > > > &kernels)'],['../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#ae7cf126a3a8f9d20c81b21584d061a08',1,'machine_learning::neural_network::NeuralNetwork::NeuralNetwork()=default'],['../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#a62151b0398a2536be60d950e10ffe9a8',1,'machine_learning::neural_network::NeuralNetwork::NeuralNetwork(const std::vector< std::pair< int, std::string > > &config)'],['../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#a176b955c90ae57d7dbc3c63f27c84c75',1,'machine_learning::neural_network::NeuralNetwork::NeuralNetwork(const NeuralNetwork &model)=default'],['../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#a173bb71780af6953ec2e307a4c74b025',1,'machine_learning::neural_network::NeuralNetwork::NeuralNetwork(NeuralNetwork &&)=default']]], - ['new_20directory_39',['Integrating CMake in a new directory',['../d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md34',1,'']]], - ['new_5fhandler_40',['new_handler',['http://en.cppreference.com/w/cpp/memory/new/new_handler.html',0,'std']]], - ['new_5fval_41',['new_val',['../d7/d7c/classstatistics_1_1stats__computer1.html#aa13bf7c38de112f71921a5525d71a2f2',1,'statistics::stats_computer1::new_val()'],['../d8/dab/classstatistics_1_1stats__computer2.html#ade6de704deea24fdc88077b3d9a0d534',1,'statistics::stats_computer2::new_val()']]], - ['newkid_42',['newKid',['../d8/d28/classrange__queries_1_1per_seg_tree.html#a0cec4b77d264521717cf9b0482c45817',1,'range_queries::perSegTree']]], - ['newton_5fraphson_5fmethod_2ecpp_43',['newton_raphson_method.cpp',['../de/dd3/newton__raphson__method_8cpp.html',1,'']]], - ['next_44',['next',['../d4/d0e/classdata__structures_1_1linked__list_1_1_node.html#acfccd7b52c91d91300c5b317e5ec7a6e',1,'data_structures::linked_list::Node::next'],['../da/d16/structoperations__on__datastructures_1_1circular__linked__list_1_1_node.html#a7c867b8e1034a6f5da490c8b8c09cb77',1,'operations_on_datastructures::circular_linked_list::Node::next'],['../de/d21/classothers_1_1_cache_1_1_d___node.html#a0043eb287c54b3b2fb91ce354878a7bd',1,'others::Cache::D_Node::next'],['../d8/d10/structlist.html#a1900fe79e875e2838625b2eb60837f8f',1,'list::next'],['../d7/da4/struct_list_node.html#ad78b392c2ddc25c3243d0c2f30692fb1',1,'ListNode::next'],['../da/d61/structsearch_1_1sublist__search_1_1_node.html#afe96e03dd6a404480ab43d1e88363a7a',1,'search::sublist_search::Node::next'],['http://en.cppreference.com/w/cpp/iterator/next.html',0,'std::next()']]], - ['next_5fhigher_5fnumber_45',['next_higher_number',['../d7/d81/namespacebit__manipulation.html#a4b76571a2a04fa99c30a96eca9997f0e',1,'bit_manipulation']]], - ['next_5fhigher_5fnumber_5fwith_5fsame_5fnumber_5fof_5fset_5fbits_2ecpp_46',['next_higher_number_with_same_number_of_set_bits.cpp',['../d5/d1e/next__higher__number__with__same__number__of__set__bits_8cpp.html',1,'']]], - ['next_5fpermutation_47',['next_permutation',['http://en.cppreference.com/w/cpp/algorithm/next_permutation.html',0,'std']]], - ['nextafter_48',['nextafter',['http://en.cppreference.com/w/cpp/numeric/math/nextafter.html',0,'std']]], - ['nexttoward_49',['nexttoward',['http://en.cppreference.com/w/cpp/numeric/math/nextafter.html',0,'std']]], - ['no_5foccurence_5ftests_50',['no_occurence_tests',['../de/d0d/fibonacci__search_8cpp.html#a5e144326104e57a3808aed7eb098db0d',1,'fibonacci_search.cpp']]], - ['no_5fof_5fconnected_5fcomponents_51',['no_of_connected_components',['../d8/d99/connected__components__with__dsu_8cpp.html#ac2d6698b71384a352ec4b81b31b13141',1,'graph::disjoint_union']]], - ['noboolalpha_52',['noboolalpha',['http://en.cppreference.com/w/cpp/io/manip/boolalpha.html',0,'std']]], - ['node_53',['Node',['../d4/d0e/classdata__structures_1_1linked__list_1_1_node.html',1,'data_structures::linked_list::Node'],['../d9/d49/structdata__structures_1_1_node.html',1,'data_structures::Node'],['../dd/d40/classdata__structures_1_1tree__234_1_1_node.html',1,'data_structures::tree_234::Node'],['../d5/d12/structdata__structures_1_1trie__using__hashmap_1_1_trie_1_1_node.html',1,'data_structures::trie_using_hashmap::Trie::Node'],['../db/d8b/struct_node.html',1,'Node< ValueType >'],['../da/d16/structoperations__on__datastructures_1_1circular__linked__list_1_1_node.html',1,'operations_on_datastructures::circular_linked_list::Node'],['../d5/db5/classoperations__on__datastructures_1_1inorder__traversal__of__bst_1_1_node.html',1,'operations_on_datastructures::inorder_traversal_of_bst::Node'],['../d8/dfd/structoperations__on__datastructures_1_1reverse__binary__tree_1_1_node.html',1,'operations_on_datastructures::reverse_binary_tree::Node'],['../d2/d9a/structothers_1_1iterative__tree__traversals_1_1_node.html',1,'others::iterative_tree_traversals::Node'],['../d9/df7/structothers_1_1recursive__tree__traversals_1_1_node.html',1,'others::recursive_tree_traversals::Node'],['../d5/d66/classrange__queries_1_1per_seg_tree_1_1_node.html',1,'range_queries::perSegTree::Node'],['../da/d61/structsearch_1_1sublist__search_1_1_node.html',1,'search::sublist_search::Node'],['../dd/d1c/classhash__chain.html#a8b204861e9470377c956d3b5cd313036',1,'hash_chain::Node'],['../d9/d49/structdata__structures_1_1_node.html#a54a6777e72b639c3ee6446a541db8e78',1,'data_structures::Node::Node()'],['../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#ad5219979ea9a8baa3a273a9ec0f0c670',1,'data_structures::tree_234::Node::Node()'],['../da/d16/structoperations__on__datastructures_1_1circular__linked__list_1_1_node.html#a005dc56b0c58350a13f4796b9b30b6c5',1,'operations_on_datastructures::circular_linked_list::Node::Node(int64_t _data)'],['../da/d16/structoperations__on__datastructures_1_1circular__linked__list_1_1_node.html#a12a06eef5ccaf667f319506eee655d95',1,'operations_on_datastructures::circular_linked_list::Node::Node(int64_t _data, Node *_next)'],['../d8/dfd/structoperations__on__datastructures_1_1reverse__binary__tree_1_1_node.html#a15dd7a0a7d9b1e8b2012c5161aecd6e3',1,'operations_on_datastructures::reverse_binary_tree::Node::Node()']]], - ['node_54',['node',['../d4/d32/inorder__successor__of__bst_8cpp.html#autotoc_md92',1,'Method 2: Search from the root node'],['../d5/da1/structnode.html',1,'node'],['../d8/dee/avltree_8cpp.html#a74f0cf18a0e5b832d9994e2f2d022287',1,'node: avltree.cpp'],['../d1/df3/hash__search_8cpp.html#a8ca8dcb494104d273679e219e53d0555',1,'node: hash_search.cpp']]], - ['node_20does_20not_20have_20a_20right_20node_20subtree_55',['Case 2: The given node does not have a right node/subtree',['../d4/d32/inorder__successor__of__bst_8cpp.html#autotoc_md90',1,'']]], - ['node_20has_20the_20right_20node_20subtree_56',['Case 1: The given node has the right node/subtree',['../d4/d32/inorder__successor__of__bst_8cpp.html#autotoc_md89',1,'']]], - ['node_20subtree_57',['node subtree',['../d4/d32/inorder__successor__of__bst_8cpp.html#autotoc_md89',1,'Case 1: The given node has the right node/subtree'],['../d4/d32/inorder__successor__of__bst_8cpp.html#autotoc_md90',1,'Case 2: The given node does not have a right node/subtree']]], - ['node_2ehpp_58',['node.hpp',['../d3/d09/node_8hpp.html',1,'']]], - ['node_3c_20value_5ftype_20_3e_59',['Node< value_type >',['../db/d8b/struct_node.html',1,'']]], - ['node_5fmap_60',['node_map',['../df/d8f/classothers_1_1_cache_1_1_l_f_u_cache.html#ac7684879e2e5da3d8bc5b1699ee42d35',1,'others::Cache::LFUCache::node_map'],['../d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache.html#a8dab0f69410484f772946befd24cc3c5',1,'others::Cache::LRUCache::node_map']]], - ['nodes_61',['Method 1: Use parent pointer (store the address of parent nodes)',['../d4/d32/inorder__successor__of__bst_8cpp.html#autotoc_md91',1,'']]], - ['non_5frecursive_5fmerge_5fsort_62',['non_recursive_merge_sort',['../d5/d91/namespacesorting.html#a140d913e42fb94176a0b2c8b29a80420',1,'sorting::non_recursive_merge_sort(const Iterator first, const Iterator last, const size_t n)'],['../d5/d91/namespacesorting.html#a27236b8d3df3832e1f1225576a122534',1,'sorting::non_recursive_merge_sort(const Iterator first, const size_t n)'],['../d5/d91/namespacesorting.html#ae97f4dd815654c4682f564afd718e824',1,'sorting::non_recursive_merge_sort(const Iterator first, const Iterator last)']]], - ['non_5frecursive_5fmerge_5fsort_2ecpp_63',['non_recursive_merge_sort.cpp',['../d0/db6/non__recursive__merge__sort_8cpp.html',1,'']]], - ['none_64',['none',['http://en.cppreference.com/w/cpp/utility/bitset/all_any_none.html',0,'std::bitset']]], - ['none_5fof_65',['none_of',['http://en.cppreference.com/w/cpp/algorithm/all_any_none_of.html',0,'std']]], - ['normal_5fdistribution_66',['normal_distribution',['http://en.cppreference.com/w/cpp/numeric/random/normal_distribution.html',0,'std::normal_distribution'],['http://en.cppreference.com/w/cpp/numeric/random/normal_distribution/normal_distribution.html',0,'std::normal_distribution::normal_distribution()']]], - ['noshowbase_67',['noshowbase',['http://en.cppreference.com/w/cpp/io/manip/showbase.html',0,'std']]], - ['noshowpoint_68',['noshowpoint',['http://en.cppreference.com/w/cpp/io/manip/showpoint.html',0,'std']]], - ['noshowpos_69',['noshowpos',['http://en.cppreference.com/w/cpp/io/manip/showpos.html',0,'std']]], - ['noskipws_70',['noskipws',['http://en.cppreference.com/w/cpp/io/manip/skipws.html',0,'std']]], - ['not_20have_20a_20right_20node_20subtree_71',['Case 2: The given node does not have a right node/subtree',['../d4/d32/inorder__successor__of__bst_8cpp.html#autotoc_md90',1,'']]], - ['not_20matching_20edges_72',['Matching and Not-Matching edges',['../d1/d9a/hopcroft__karp_8cpp.html#autotoc_md78',1,'']]], - ['not1_73',['not1',['http://en.cppreference.com/w/cpp/utility/functional/not1.html',0,'std']]], - ['not2_74',['not2',['http://en.cppreference.com/w/cpp/utility/functional/not2.html',0,'std']]], - ['not_5feof_75',['not_eof',['http://en.cppreference.com/w/cpp/string/char_traits/not_eof.html',0,'std::char_traits']]], - ['not_5fequal_5fto_76',['not_equal_to',['http://en.cppreference.com/w/cpp/utility/functional/not_equal_to.html',0,'std']]], - ['nothrow_5ft_77',['nothrow_t',['http://en.cppreference.com/w/cpp/memory/new/nothrow_t.html',0,'std']]], - ['notify_5fall_78',['notify_all',['http://en.cppreference.com/w/cpp/thread/condition_variable_any/notify_all.html',0,'std::condition_variable_any::notify_all()'],['http://en.cppreference.com/w/cpp/thread/condition_variable/notify_all.html',0,'std::condition_variable::notify_all()']]], - ['notify_5fall_5fat_5fthread_5fexit_79',['notify_all_at_thread_exit',['http://en.cppreference.com/w/cpp/thread/notify_all_at_thread_exit.html',0,'std']]], - ['notify_5fone_80',['notify_one',['http://en.cppreference.com/w/cpp/thread/condition_variable_any/notify_one.html',0,'std::condition_variable_any::notify_one()'],['http://en.cppreference.com/w/cpp/thread/condition_variable/notify_one.html',0,'std::condition_variable::notify_one()']]], - ['nounitbuf_81',['nounitbuf',['http://en.cppreference.com/w/cpp/io/manip/unitbuf.html',0,'std']]], - ['nouppercase_82',['nouppercase',['http://en.cppreference.com/w/cpp/io/manip/uppercase.html',0,'std']]], - ['now_83',['now',['http://en.cppreference.com/w/cpp/chrono/steady_clock/now.html',0,'std::chrono::steady_clock::now()'],['http://en.cppreference.com/w/cpp/chrono/system_clock/now.html',0,'std::chrono::system_clock::now()'],['http://en.cppreference.com/w/cpp/chrono/high_resolution_clock/now.html',0,'std::chrono::high_resolution_clock::now()']]], - ['nqueen_5fprint_5fall_5fsolutions_2ecpp_84',['nqueen_print_all_solutions.cpp',['../d7/d24/nqueen__print__all__solutions_8cpp.html',1,'']]], - ['nqueensol_85',['NQueenSol',['../da/dac/n__queens__all__solution__optimised_8cpp.html#a23c0547e4fd1708e6fb643b08327a60f',1,'backtracking::n_queens_optimized::NQueenSol()'],['../d7/d24/nqueen__print__all__solutions_8cpp.html#acc809c055f335011de0d9030034c7108',1,'backtracking::n_queens_all_solutions::NQueenSol()']]], - ['nth_5felement_86',['nth_element',['http://en.cppreference.com/w/cpp/algorithm/nth_element.html',0,'std']]], - ['nullptr_5ft_87',['nullptr_t',['http://en.cppreference.com/w/cpp/types/nullptr_t.html',0,'std']]], - ['num_5fchars_88',['NUM_CHARS',['../d0/d3e/classdata__structures_1_1trie.html#a4bfac4be6ed1a34c7159eddb42469191',1,'data_structures::trie']]], - ['num_5fdigits_89',['num_digits',['../db/d82/classlarge__number.html#ac09a05ec4aafb4d9e0b4440d6f0e2a93',1,'large_number']]], - ['num_5fget_90',['num_get',['http://en.cppreference.com/w/cpp/locale/num_get.html',0,'std::num_get'],['http://en.cppreference.com/w/cpp/locale/num_get/num_get.html',0,'std::num_get::num_get()']]], - ['num_5fput_91',['num_put',['http://en.cppreference.com/w/cpp/locale/num_put.html',0,'std::num_put'],['http://en.cppreference.com/w/cpp/locale/num_put/num_put.html',0,'std::num_put::num_put()']]], - ['number_5fof_5fpositive_5fdivisors_92',['number_of_positive_divisors',['../d0/da2/number__of__positive__divisors_8cpp.html#ad89ccced8504b5116046cfa03066ffeb',1,'number_of_positive_divisors.cpp']]], - ['number_5fof_5fpositive_5fdivisors_2ecpp_93',['number_of_positive_divisors.cpp',['../d0/da2/number__of__positive__divisors_8cpp.html',1,'']]], - ['number_5fof_5fsubsets_94',['number_of_subsets',['../d2/d5a/subset__sum_8cpp.html#a7cb50d36a59427a33f64a266dac83d99',1,'backtracking::subset_sum']]], - ['number_5fof_5fvertices_95',['number_of_vertices',['../dc/d61/classgraph_1_1_graph.html#a8930d1470d132b19e430d1c71f94c904',1,'graph::Graph']]], - ['numberofchildren_96',['numberOfChildren',['../d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html#afca808362c13273ca8c8ae7d58e8eee0',1,'operations_on_datastructures::trie_operations::Tnode']]], - ['numberofciphersinfactorialn_97',['numberOfCiphersInFactorialN',['../da/d50/count__of__trailing__ciphers__in__factorial__n_8cpp.html#a0d5e1d651d0d30bd682f176d8f2b83d0',1,'bit_manipulation::count_of_trailing_ciphers_in_factorial_n']]], - ['numeric_5flimits_98',['numeric_limits',['http://en.cppreference.com/w/cpp/types/numeric_limits.html',0,'std']]], - ['numerical_20methods_99',['Numerical Methods',['../d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md60',1,'']]], - ['numerical_5fmethods_100',['numerical_methods',['../d1/de0/namespacenumerical__methods.html',1,'']]], - ['numpunct_101',['numpunct',['http://en.cppreference.com/w/cpp/locale/numpunct.html',0,'std::numpunct'],['http://en.cppreference.com/w/cpp/locale/numpunct/numpunct.html',0,'std::numpunct::numpunct()']]], - ['numpunct_5fbyname_102',['numpunct_byname',['http://en.cppreference.com/w/cpp/locale/numpunct_byname.html',0,'std::numpunct_byname'],['http://en.cppreference.com/w/cpp/locale/numpunct_byname.html',0,'std::numpunct_byname::numpunct_byname()']]] + ['name_20guidelines_14',['File Name guidelines',['../d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md32',1,'']]], + ['ncr_15',['nCr',['../d6/db0/binomial__dist_8cpp.html#a78d36635232e54b5d71fcbf1eac9a49a',1,'binomial_dist.cpp']]], + ['ncr_16',['ncr',['../d6/dc1/classmath_1_1ncr__modulo__p_1_1_n_c_r_modulo_p.html#a499df7a01bcd348345dc5a0ab79bb0e9',1,'math::ncr_modulo_p::NCRModuloP']]], + ['ncr_5fmodulo_5fp_17',['ncr_modulo_p',['../d4/db9/namespacencr__modulo__p.html',1,'']]], + ['ncr_5fmodulo_5fp_2ecpp_18',['ncr_modulo_p.cpp',['../de/dab/ncr__modulo__p_8cpp.html',1,'']]], + ['ncrmodulop_19',['NCRModuloP',['../d6/dc1/classmath_1_1ncr__modulo__p_1_1_n_c_r_modulo_p.html',1,'math::ncr_modulo_p::NCRModuloP'],['../d6/dc1/classmath_1_1ncr__modulo__p_1_1_n_c_r_modulo_p.html#a94b07e7dc61d8d7a1e9c5a28988e72f9',1,'math::ncr_modulo_p::NCRModuloP::NCRModuloP()']]], + ['neighbors_20',['neighbors',['../dc/d61/classgraph_1_1_graph.html#a59940c462861f2fcf4951d1b6c084e6a',1,'graph::Graph']]], + ['neural_5fnetwork_21',['neural_network',['../d0/d2e/namespaceneural__network.html',1,'']]], + ['neural_5fnetwork_2ecpp_22',['neural_network.cpp',['../d2/d58/neural__network_8cpp.html',1,'']]], + ['neuralnetwork_23',['NeuralNetwork',['../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html',1,'machine_learning::neural_network::NeuralNetwork'],['../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#a4c4c6f63ab965317f9471518ee931b89',1,'machine_learning::neural_network::NeuralNetwork::NeuralNetwork(const std::vector< std::pair< int, std::string > > &config, const std::vector< std::vector< std::valarray< double > > > &kernels)'],['../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#ae7cf126a3a8f9d20c81b21584d061a08',1,'machine_learning::neural_network::NeuralNetwork::NeuralNetwork()=default'],['../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#a62151b0398a2536be60d950e10ffe9a8',1,'machine_learning::neural_network::NeuralNetwork::NeuralNetwork(const std::vector< std::pair< int, std::string > > &config)'],['../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#a176b955c90ae57d7dbc3c63f27c84c75',1,'machine_learning::neural_network::NeuralNetwork::NeuralNetwork(const NeuralNetwork &model)=default'],['../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#a173bb71780af6953ec2e307a4c74b025',1,'machine_learning::neural_network::NeuralNetwork::NeuralNetwork(NeuralNetwork &&)=default']]], + ['new_20directory_24',['Integrating CMake in a new directory',['../d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md34',1,'']]], + ['new_5fval_25',['new_val',['../d7/d7c/classstatistics_1_1stats__computer1.html#aa13bf7c38de112f71921a5525d71a2f2',1,'statistics::stats_computer1::new_val()'],['../d8/dab/classstatistics_1_1stats__computer2.html#ade6de704deea24fdc88077b3d9a0d534',1,'statistics::stats_computer2::new_val()']]], + ['newkid_26',['newKid',['../d8/d28/classrange__queries_1_1per_seg_tree.html#a0cec4b77d264521717cf9b0482c45817',1,'range_queries::perSegTree']]], + ['newton_5fraphson_5fmethod_2ecpp_27',['newton_raphson_method.cpp',['../de/dd3/newton__raphson__method_8cpp.html',1,'']]], + ['next_28',['next',['../d4/d0e/classdata__structures_1_1linked__list_1_1_node.html#acfccd7b52c91d91300c5b317e5ec7a6e',1,'data_structures::linked_list::Node::next'],['../da/d16/structoperations__on__datastructures_1_1circular__linked__list_1_1_node.html#a7c867b8e1034a6f5da490c8b8c09cb77',1,'operations_on_datastructures::circular_linked_list::Node::next'],['../de/d21/classothers_1_1_cache_1_1_d___node.html#a0043eb287c54b3b2fb91ce354878a7bd',1,'others::Cache::D_Node::next'],['../d8/d10/structlist.html#a1900fe79e875e2838625b2eb60837f8f',1,'list::next'],['../d7/da4/struct_list_node.html#ad78b392c2ddc25c3243d0c2f30692fb1',1,'ListNode::next'],['../da/d61/structsearch_1_1sublist__search_1_1_node.html#afe96e03dd6a404480ab43d1e88363a7a',1,'search::sublist_search::Node::next']]], + ['next_5fhigher_5fnumber_29',['next_higher_number',['../d7/d81/namespacebit__manipulation.html#a4b76571a2a04fa99c30a96eca9997f0e',1,'bit_manipulation']]], + ['next_5fhigher_5fnumber_5fwith_5fsame_5fnumber_5fof_5fset_5fbits_2ecpp_30',['next_higher_number_with_same_number_of_set_bits.cpp',['../d5/d1e/next__higher__number__with__same__number__of__set__bits_8cpp.html',1,'']]], + ['no_5foccurence_5ftests_31',['no_occurence_tests',['../de/d0d/fibonacci__search_8cpp.html#a5e144326104e57a3808aed7eb098db0d',1,'fibonacci_search.cpp']]], + ['no_5fof_5fconnected_5fcomponents_32',['no_of_connected_components',['../d8/d99/connected__components__with__dsu_8cpp.html#ac2d6698b71384a352ec4b81b31b13141',1,'graph::disjoint_union']]], + ['node_33',['Node',['../d4/d0e/classdata__structures_1_1linked__list_1_1_node.html',1,'data_structures::linked_list::Node'],['../d9/d49/structdata__structures_1_1_node.html',1,'data_structures::Node'],['../dd/d40/classdata__structures_1_1tree__234_1_1_node.html',1,'data_structures::tree_234::Node'],['../d5/d12/structdata__structures_1_1trie__using__hashmap_1_1_trie_1_1_node.html',1,'data_structures::trie_using_hashmap::Trie::Node'],['../db/d8b/struct_node.html',1,'Node< ValueType >'],['../da/d16/structoperations__on__datastructures_1_1circular__linked__list_1_1_node.html',1,'operations_on_datastructures::circular_linked_list::Node'],['../d5/db5/classoperations__on__datastructures_1_1inorder__traversal__of__bst_1_1_node.html',1,'operations_on_datastructures::inorder_traversal_of_bst::Node'],['../d8/dfd/structoperations__on__datastructures_1_1reverse__binary__tree_1_1_node.html',1,'operations_on_datastructures::reverse_binary_tree::Node'],['../d2/d9a/structothers_1_1iterative__tree__traversals_1_1_node.html',1,'others::iterative_tree_traversals::Node'],['../d9/df7/structothers_1_1recursive__tree__traversals_1_1_node.html',1,'others::recursive_tree_traversals::Node'],['../d5/d66/classrange__queries_1_1per_seg_tree_1_1_node.html',1,'range_queries::perSegTree::Node'],['../da/d61/structsearch_1_1sublist__search_1_1_node.html',1,'search::sublist_search::Node'],['../dd/d1c/classhash__chain.html#a8b204861e9470377c956d3b5cd313036',1,'hash_chain::Node'],['../d9/d49/structdata__structures_1_1_node.html#a54a6777e72b639c3ee6446a541db8e78',1,'data_structures::Node::Node()'],['../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#ad5219979ea9a8baa3a273a9ec0f0c670',1,'data_structures::tree_234::Node::Node()'],['../da/d16/structoperations__on__datastructures_1_1circular__linked__list_1_1_node.html#a005dc56b0c58350a13f4796b9b30b6c5',1,'operations_on_datastructures::circular_linked_list::Node::Node(int64_t _data)'],['../da/d16/structoperations__on__datastructures_1_1circular__linked__list_1_1_node.html#a12a06eef5ccaf667f319506eee655d95',1,'operations_on_datastructures::circular_linked_list::Node::Node(int64_t _data, Node *_next)'],['../d8/dfd/structoperations__on__datastructures_1_1reverse__binary__tree_1_1_node.html#a15dd7a0a7d9b1e8b2012c5161aecd6e3',1,'operations_on_datastructures::reverse_binary_tree::Node::Node()']]], + ['node_34',['node',['../d4/d32/inorder__successor__of__bst_8cpp.html#autotoc_md92',1,'Method 2: Search from the root node'],['../d5/da1/structnode.html',1,'node'],['../d8/dee/avltree_8cpp.html#a74f0cf18a0e5b832d9994e2f2d022287',1,'node: avltree.cpp'],['../d1/df3/hash__search_8cpp.html#a8ca8dcb494104d273679e219e53d0555',1,'node: hash_search.cpp']]], + ['node_20does_20not_20have_20a_20right_20node_20subtree_35',['Case 2: The given node does not have a right node/subtree',['../d4/d32/inorder__successor__of__bst_8cpp.html#autotoc_md90',1,'']]], + ['node_20has_20the_20right_20node_20subtree_36',['Case 1: The given node has the right node/subtree',['../d4/d32/inorder__successor__of__bst_8cpp.html#autotoc_md89',1,'']]], + ['node_20subtree_37',['node subtree',['../d4/d32/inorder__successor__of__bst_8cpp.html#autotoc_md89',1,'Case 1: The given node has the right node/subtree'],['../d4/d32/inorder__successor__of__bst_8cpp.html#autotoc_md90',1,'Case 2: The given node does not have a right node/subtree']]], + ['node_2ehpp_38',['node.hpp',['../d3/d09/node_8hpp.html',1,'']]], + ['node_3c_20value_5ftype_20_3e_39',['Node< value_type >',['../db/d8b/struct_node.html',1,'']]], + ['node_5fmap_40',['node_map',['../df/d8f/classothers_1_1_cache_1_1_l_f_u_cache.html#ac7684879e2e5da3d8bc5b1699ee42d35',1,'others::Cache::LFUCache::node_map'],['../d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache.html#a8dab0f69410484f772946befd24cc3c5',1,'others::Cache::LRUCache::node_map']]], + ['nodes_41',['Method 1: Use parent pointer (store the address of parent nodes)',['../d4/d32/inorder__successor__of__bst_8cpp.html#autotoc_md91',1,'']]], + ['non_5frecursive_5fmerge_5fsort_42',['non_recursive_merge_sort',['../d5/d91/namespacesorting.html#a140d913e42fb94176a0b2c8b29a80420',1,'sorting::non_recursive_merge_sort(const Iterator first, const Iterator last, const size_t n)'],['../d5/d91/namespacesorting.html#a27236b8d3df3832e1f1225576a122534',1,'sorting::non_recursive_merge_sort(const Iterator first, const size_t n)'],['../d5/d91/namespacesorting.html#ae97f4dd815654c4682f564afd718e824',1,'sorting::non_recursive_merge_sort(const Iterator first, const Iterator last)']]], + ['non_5frecursive_5fmerge_5fsort_2ecpp_43',['non_recursive_merge_sort.cpp',['../d0/db6/non__recursive__merge__sort_8cpp.html',1,'']]], + ['not_20have_20a_20right_20node_20subtree_44',['Case 2: The given node does not have a right node/subtree',['../d4/d32/inorder__successor__of__bst_8cpp.html#autotoc_md90',1,'']]], + ['not_20matching_20edges_45',['Matching and Not-Matching edges',['../d1/d9a/hopcroft__karp_8cpp.html#autotoc_md78',1,'']]], + ['nqueen_5fprint_5fall_5fsolutions_2ecpp_46',['nqueen_print_all_solutions.cpp',['../d7/d24/nqueen__print__all__solutions_8cpp.html',1,'']]], + ['nqueensol_47',['NQueenSol',['../da/dac/n__queens__all__solution__optimised_8cpp.html#a23c0547e4fd1708e6fb643b08327a60f',1,'backtracking::n_queens_optimized::NQueenSol()'],['../d7/d24/nqueen__print__all__solutions_8cpp.html#acc809c055f335011de0d9030034c7108',1,'backtracking::n_queens_all_solutions::NQueenSol()']]], + ['num_5fchars_48',['NUM_CHARS',['../d0/d3e/classdata__structures_1_1trie.html#a4bfac4be6ed1a34c7159eddb42469191',1,'data_structures::trie']]], + ['num_5fdigits_49',['num_digits',['../db/d82/classlarge__number.html#ac09a05ec4aafb4d9e0b4440d6f0e2a93',1,'large_number']]], + ['number_5fof_5fpositive_5fdivisors_50',['number_of_positive_divisors',['../d0/da2/number__of__positive__divisors_8cpp.html#ad89ccced8504b5116046cfa03066ffeb',1,'number_of_positive_divisors.cpp']]], + ['number_5fof_5fpositive_5fdivisors_2ecpp_51',['number_of_positive_divisors.cpp',['../d0/da2/number__of__positive__divisors_8cpp.html',1,'']]], + ['number_5fof_5fsubsets_52',['number_of_subsets',['../d2/d5a/subset__sum_8cpp.html#a7cb50d36a59427a33f64a266dac83d99',1,'backtracking::subset_sum']]], + ['number_5fof_5fvertices_53',['number_of_vertices',['../dc/d61/classgraph_1_1_graph.html#a8930d1470d132b19e430d1c71f94c904',1,'graph::Graph']]], + ['numberofchildren_54',['numberOfChildren',['../d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html#afca808362c13273ca8c8ae7d58e8eee0',1,'operations_on_datastructures::trie_operations::Tnode']]], + ['numberofciphersinfactorialn_55',['numberOfCiphersInFactorialN',['../da/d50/count__of__trailing__ciphers__in__factorial__n_8cpp.html#a0d5e1d651d0d30bd682f176d8f2b83d0',1,'bit_manipulation::count_of_trailing_ciphers_in_factorial_n']]], + ['numerical_20methods_56',['Numerical Methods',['../d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md60',1,'']]], + ['numerical_5fmethods_57',['numerical_methods',['../d1/de0/namespacenumerical__methods.html',1,'']]] ]; diff --git a/search/all_14.js b/search/all_14.js index 2bfdb4f6d..527685383 100644 --- a/search/all_14.js +++ b/search/all_14.js @@ -1,91 +1,66 @@ var searchData= [ - ['oct_0',['oct',['http://en.cppreference.com/w/cpp/io/manip/hex.html',0,'std']]], - ['ode_5fforward_5feuler_2ecpp_1',['ode_forward_euler.cpp',['../db/dd3/ode__forward__euler_8cpp.html',1,'']]], - ['ode_5fmidpoint_5feuler_2ecpp_2',['ode_midpoint_euler.cpp',['../d6/dd3/ode__midpoint__euler_8cpp.html',1,'']]], - ['ode_5fsemi_5fimplicit_5feuler_2ecpp_3',['ode_semi_implicit_euler.cpp',['../d3/d06/ode__semi__implicit__euler_8cpp.html',1,'']]], - ['of_20a_20program_4',['Typical structure of a program',['../d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md31',1,'']]], - ['of_20a_20tree_5',['of a tree',['../d8/d90/iterative__tree__traversals_8cpp.html#autotoc_md95',1,'Iterative Inorder Traversal of a tree'],['../dc/de1/recursive__tree__traversal_8cpp.html#autotoc_md99',1,'Iterative Inorder Traversal of a tree'],['../d8/d90/iterative__tree__traversals_8cpp.html#autotoc_md94',1,'Iterative Postorder Traversal of a tree'],['../dc/de1/recursive__tree__traversal_8cpp.html#autotoc_md101',1,'Iterative Postorder Traversal of a tree'],['../d8/d90/iterative__tree__traversals_8cpp.html#autotoc_md93',1,'Iterative Preorder Traversal of a tree'],['../dc/de1/recursive__tree__traversal_8cpp.html#autotoc_md100',1,'Iterative Preorder Traversal of a tree']]], - ['of_20conduct_6',['Contributor Covenant Code of Conduct',['../d3/dd7/md__c_o_d_e___o_f___c_o_n_d_u_c_t.html',1,'']]], - ['of_20parent_20nodes_7',['Method 1: Use parent pointer (store the address of parent nodes)',['../d4/d32/inorder__successor__of__bst_8cpp.html#autotoc_md91',1,'']]], - ['offset_8',['offset',['../de/d0d/classrange__queries_1_1fenwick__tree.html#ab492ebf07cab0e3c32d277ad986de801',1,'range_queries::fenwick_tree']]], - ['ofstream_9',['ofstream',['http://en.cppreference.com/w/cpp/io/basic_ofstream.html',0,'std::ofstream'],['http://en.cppreference.com/w/cpp/io/basic_ofstream/basic_ofstream.html',0,'std::ofstream::ofstream()']]], - ['ols_5ftest_10',['ols_test',['../dc/d38/ordinary__least__squares__regressor_8cpp.html#a4261f3c3c3dfdb86f3004eb8aaffea8d',1,'ordinary_least_squares_regressor.cpp']]], - ['on_20datastructures_11',['Operations On Datastructures',['../d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md61',1,'']]], - ['on_5fsegment_12',['on_segment',['../d4/db4/struct_segment_intersection.html#a008941b2272866c64cdaf959afa939bf',1,'SegmentIntersection']]], - ['once_5fflag_13',['once_flag',['http://en.cppreference.com/w/cpp/thread/once_flag.html',0,'std::once_flag'],['http://en.cppreference.com/w/cpp/thread/once_flag.html',0,'std::once_flag::once_flag()']]], - ['open_14',['open',['http://en.cppreference.com/w/cpp/io/basic_ofstream/open.html',0,'std::basic_ofstream::open()'],['http://en.cppreference.com/w/cpp/io/basic_fstream/open.html',0,'std::fstream::open()'],['http://en.cppreference.com/w/cpp/io/basic_filebuf/open.html',0,'std::basic_filebuf::open()'],['http://en.cppreference.com/w/cpp/io/basic_fstream/open.html',0,'std::basic_fstream::open()'],['http://en.cppreference.com/w/cpp/io/basic_filebuf/open.html',0,'std::wfilebuf::open()'],['http://en.cppreference.com/w/cpp/io/basic_ifstream/open.html',0,'std::wifstream::open()'],['http://en.cppreference.com/w/cpp/locale/messages/open.html',0,'std::messages_byname::open()'],['http://en.cppreference.com/w/cpp/io/basic_filebuf/open.html',0,'std::filebuf::open()'],['http://en.cppreference.com/w/cpp/io/basic_ofstream/open.html',0,'std::ofstream::open()'],['http://en.cppreference.com/w/cpp/io/basic_ifstream/open.html',0,'std::basic_ifstream::open()'],['http://en.cppreference.com/w/cpp/locale/messages/open.html',0,'std::messages::open()'],['http://en.cppreference.com/w/cpp/io/basic_fstream/open.html',0,'std::wfstream::open()'],['http://en.cppreference.com/w/cpp/io/basic_ofstream/open.html',0,'std::wofstream::open()'],['http://en.cppreference.com/w/cpp/io/basic_ifstream/open.html',0,'std::ifstream::open()']]], - ['open_20addressing_15',['Open Addressing',['../d4/d39/group__open__addressing.html',1,'']]], - ['opening_16',['opening',['../dc/dc5/paranthesis__matching_8cpp.html#ade525d33459755a32ba21e1b6910ff21',1,'paranthesis_matching.cpp']]], - ['operations_20on_20datastructures_17',['Operations On Datastructures',['../d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md61',1,'']]], - ['operations_5fon_5fdatastructures_18',['operations_on_datastructures',['../da/d6d/namespaceoperations__on__datastructures.html',1,'']]], - ['operator_20auto_5fptr_3c_20y_20_3e_19',['operator auto_ptr< Y >',['http://en.cppreference.com/w/cpp/memory/auto_ptr/operator_auto_ptr.html',0,'std::auto_ptr']]], - ['operator_20bool_20',['operator bool',['http://en.cppreference.com/w/cpp/io/basic_ios/operator_bool.html',0,'std::basic_ofstream::operator bool()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/sentry.html',0,'std::basic_ofstream::sentry::operator bool()'],['http://en.cppreference.com/w/cpp/io/basic_ios/operator_bool.html',0,'std::fstream::operator bool()'],['http://en.cppreference.com/w/cpp/io/basic_istream/sentry.html',0,'std::fstream::sentry::operator bool()'],['http://en.cppreference.com/w/cpp/io/basic_ios/operator_bool.html',0,'std::wostream::operator bool()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/sentry.html',0,'std::wostream::sentry::operator bool()'],['http://en.cppreference.com/w/cpp/thread/unique_lock/operator_bool.html',0,'std::unique_lock::operator bool()'],['http://en.cppreference.com/w/cpp/io/basic_ios/operator_bool.html',0,'std::basic_ostringstream::operator bool()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/sentry.html',0,'std::basic_ostringstream::sentry::operator bool()'],['http://en.cppreference.com/w/cpp/io/basic_ios/operator_bool.html',0,'std::basic_ios::operator bool()'],['http://en.cppreference.com/w/cpp/memory/shared_ptr/operator_bool.html',0,'std::shared_ptr::operator bool()'],['http://en.cppreference.com/w/cpp/io/basic_ios/operator_bool.html',0,'std::ostringstream::operator bool()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/sentry.html',0,'std::ostringstream::sentry::operator bool()'],['http://en.cppreference.com/w/cpp/io/basic_ios/operator_bool.html',0,'std::basic_fstream::operator bool()'],['http://en.cppreference.com/w/cpp/io/basic_istream/sentry.html',0,'std::basic_fstream::sentry::operator bool()'],['http://en.cppreference.com/w/cpp/io/basic_ios/operator_bool.html',0,'std::iostream::operator bool()'],['http://en.cppreference.com/w/cpp/io/basic_istream/sentry.html',0,'std::iostream::sentry::operator bool()'],['http://en.cppreference.com/w/cpp/io/basic_ios/operator_bool.html',0,'std::wistream::operator bool()'],['http://en.cppreference.com/w/cpp/io/basic_istream/sentry.html',0,'std::wistream::sentry::operator bool()'],['http://en.cppreference.com/w/cpp/io/basic_ios/operator_bool.html',0,'std::stringstream::operator bool()'],['http://en.cppreference.com/w/cpp/io/basic_istream/sentry.html',0,'std::stringstream::sentry::operator bool()'],['http://en.cppreference.com/w/cpp/memory/unique_ptr/operator_bool.html',0,'std::unique_ptr::operator bool()'],['http://en.cppreference.com/w/cpp/io/basic_ios/operator_bool.html',0,'std::ostream::operator bool()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/sentry.html',0,'std::ostream::sentry::operator bool()'],['http://en.cppreference.com/w/cpp/thread/shared_lock/operator_bool.html',0,'std::shared_lock::operator bool()'],['http://en.cppreference.com/w/cpp/error/error_code/operator_bool.html',0,'std::error_code::operator bool()'],['http://en.cppreference.com/w/cpp/io/basic_ios/operator_bool.html',0,'std::wifstream::operator bool()'],['http://en.cppreference.com/w/cpp/io/basic_istream/sentry.html',0,'std::wifstream::sentry::operator bool()'],['http://en.cppreference.com/w/cpp/io/basic_ios/operator_bool.html',0,'std::basic_istream::operator bool()'],['http://en.cppreference.com/w/cpp/io/basic_istream/sentry.html',0,'std::basic_istream::sentry::operator bool()'],['http://en.cppreference.com/w/cpp/io/basic_ios/operator_bool.html',0,'std::strstream::operator bool()'],['http://en.cppreference.com/w/cpp/io/basic_istream/sentry.html',0,'std::strstream::sentry::operator bool()'],['http://en.cppreference.com/w/cpp/io/basic_ios/operator_bool.html',0,'std::basic_stringstream::operator bool()'],['http://en.cppreference.com/w/cpp/io/basic_istream/sentry.html',0,'std::basic_stringstream::sentry::operator bool()'],['http://en.cppreference.com/w/cpp/io/basic_ios/operator_bool.html',0,'std::wostringstream::operator bool()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/sentry.html',0,'std::wostringstream::sentry::operator bool()'],['http://en.cppreference.com/w/cpp/io/basic_ios/operator_bool.html',0,'std::istrstream::operator bool()'],['http://en.cppreference.com/w/cpp/io/basic_istream/sentry.html',0,'std::istrstream::sentry::operator bool()'],['http://en.cppreference.com/w/cpp/io/basic_ios/operator_bool.html',0,'std::basic_ostream::operator bool()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/sentry.html',0,'std::basic_ostream::sentry::operator bool()'],['http://en.cppreference.com/w/cpp/utility/functional/function/operator_bool.html',0,'std::function::operator bool()'],['http://en.cppreference.com/w/cpp/error/error_condition/operator_bool.html',0,'std::error_condition::operator bool()'],['http://en.cppreference.com/w/cpp/io/basic_ios/operator_bool.html',0,'std::wiostream::operator bool()'],['http://en.cppreference.com/w/cpp/io/basic_istream/sentry.html',0,'std::wiostream::sentry::operator bool()'],['http://en.cppreference.com/w/cpp/io/basic_ios/operator_bool.html',0,'std::ofstream::operator bool()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/sentry.html',0,'std::ofstream::sentry::operator bool()'],['http://en.cppreference.com/w/cpp/io/basic_ios/operator_bool.html',0,'std::basic_istringstream::operator bool()'],['http://en.cppreference.com/w/cpp/io/basic_istream/sentry.html',0,'std::basic_istringstream::sentry::operator bool()'],['http://en.cppreference.com/w/cpp/io/basic_ios/operator_bool.html',0,'std::basic_ifstream::operator bool()'],['http://en.cppreference.com/w/cpp/io/basic_istream/sentry.html',0,'std::basic_ifstream::sentry::operator bool()'],['http://en.cppreference.com/w/cpp/experimental/optional/operator_bool.html',0,'std::experimental::optional::operator bool()'],['http://en.cppreference.com/w/cpp/io/basic_ios/operator_bool.html',0,'std::istringstream::operator bool()'],['http://en.cppreference.com/w/cpp/io/basic_istream/sentry.html',0,'std::istringstream::sentry::operator bool()'],['http://en.cppreference.com/w/cpp/io/basic_ios/operator_bool.html',0,'std::istream::operator bool()'],['http://en.cppreference.com/w/cpp/io/basic_istream/sentry.html',0,'std::istream::sentry::operator bool()'],['http://en.cppreference.com/w/cpp/io/basic_ios/operator_bool.html',0,'std::ostrstream::operator bool()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/sentry.html',0,'std::ostrstream::sentry::operator bool()'],['http://en.cppreference.com/w/cpp/io/basic_ios/operator_bool.html',0,'std::wfstream::operator bool()'],['http://en.cppreference.com/w/cpp/io/basic_istream/sentry.html',0,'std::wfstream::sentry::operator bool()'],['http://en.cppreference.com/w/cpp/io/basic_ios/operator_bool.html',0,'std::basic_iostream::operator bool()'],['http://en.cppreference.com/w/cpp/io/basic_istream/sentry.html',0,'std::basic_iostream::sentry::operator bool()'],['http://en.cppreference.com/w/cpp/io/basic_ios/operator_bool.html',0,'std::wofstream::operator bool()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/sentry.html',0,'std::wofstream::sentry::operator bool()'],['http://en.cppreference.com/w/cpp/io/basic_ios/operator_bool.html',0,'std::wstringstream::operator bool()'],['http://en.cppreference.com/w/cpp/io/basic_istream/sentry.html',0,'std::wstringstream::sentry::operator bool()'],['http://en.cppreference.com/w/cpp/io/basic_ios/operator_bool.html',0,'std::wistringstream::operator bool()'],['http://en.cppreference.com/w/cpp/io/basic_istream/sentry.html',0,'std::wistringstream::sentry::operator bool()'],['http://en.cppreference.com/w/cpp/io/basic_ios/operator_bool.html',0,'std::ifstream::operator bool()'],['http://en.cppreference.com/w/cpp/io/basic_istream/sentry.html',0,'std::ifstream::sentry::operator bool()'],['../db/d9a/classuint128__t.html#a6d45302022ef7f5195458f41b8aedb6e',1,'uint128_t::operator bool()'],['../d1/d83/classuint256__t.html#a28aa5786bbfce1b00398a8d38691bdaa',1,'uint256_t::operator bool()']]], - ['operator_20string_5ftype_21',['operator string_type',['http://en.cppreference.com/w/cpp/regex/sub_match/str.html',0,'std::wcsub_match::operator string_type()'],['http://en.cppreference.com/w/cpp/regex/sub_match/str.html',0,'std::wssub_match::operator string_type()'],['http://en.cppreference.com/w/cpp/regex/sub_match/str.html',0,'std::csub_match::operator string_type()'],['http://en.cppreference.com/w/cpp/regex/sub_match/str.html',0,'std::ssub_match::operator string_type()'],['http://en.cppreference.com/w/cpp/regex/sub_match/str.html',0,'std::sub_match::operator string_type()']]], - ['operator_20t_22',['operator T',['http://en.cppreference.com/w/cpp/atomic/atomic/operator_T.html',0,'std::atomic::operator T()'],['../db/d9a/classuint128__t.html#a75767cb2b6fd47ecb1f721755fdc7639',1,'uint128_t::operator T()'],['../d1/d83/classuint256__t.html#a9e1b39a46ea16bc6587e25e294c6c363',1,'uint256_t::operator T()']]], - ['operator_20t_26_23',['operator T&',['http://en.cppreference.com/w/cpp/utility/functional/reference_wrapper/get.html',0,'std::reference_wrapper']]], - ['operator_20uint128_5ft_24',['operator uint128_t',['../d1/d83/classuint256__t.html#ad5bd38b2d3becca998457af1124d6e8b',1,'uint256_t']]], - ['operator_21_25',['operator!',['http://en.cppreference.com/w/cpp/io/basic_ios/operator!.html',0,'std::basic_ofstream::operator!()'],['http://en.cppreference.com/w/cpp/io/basic_ios/operator!.html',0,'std::fstream::operator!()'],['http://en.cppreference.com/w/cpp/io/basic_ios/operator!.html',0,'std::wostream::operator!()'],['http://en.cppreference.com/w/cpp/io/basic_ios/operator!.html',0,'std::basic_ostringstream::operator!()'],['http://en.cppreference.com/w/cpp/io/basic_ios/operator!.html',0,'std::basic_ios::operator!()'],['http://en.cppreference.com/w/cpp/io/basic_ios/operator!.html',0,'std::ostringstream::operator!()'],['http://en.cppreference.com/w/cpp/io/basic_ios/operator!.html',0,'std::basic_fstream::operator!()'],['http://en.cppreference.com/w/cpp/io/basic_ios/operator!.html',0,'std::iostream::operator!()'],['http://en.cppreference.com/w/cpp/io/basic_ios/operator!.html',0,'std::wistream::operator!()'],['http://en.cppreference.com/w/cpp/io/basic_ios/operator!.html',0,'std::stringstream::operator!()'],['http://en.cppreference.com/w/cpp/io/basic_ios/operator!.html',0,'std::ostream::operator!()'],['http://en.cppreference.com/w/cpp/io/basic_ios/operator!.html',0,'std::wifstream::operator!()'],['http://en.cppreference.com/w/cpp/io/basic_ios/operator!.html',0,'std::basic_istream::operator!()'],['http://en.cppreference.com/w/cpp/io/basic_ios/operator!.html',0,'std::strstream::operator!()'],['http://en.cppreference.com/w/cpp/io/basic_ios/operator!.html',0,'std::basic_stringstream::operator!()'],['http://en.cppreference.com/w/cpp/io/basic_ios/operator!.html',0,'std::wostringstream::operator!()'],['http://en.cppreference.com/w/cpp/io/basic_ios/operator!.html',0,'std::istrstream::operator!()'],['http://en.cppreference.com/w/cpp/io/basic_ios/operator!.html',0,'std::basic_ostream::operator!()'],['http://en.cppreference.com/w/cpp/io/basic_ios/operator!.html',0,'std::wiostream::operator!()'],['http://en.cppreference.com/w/cpp/io/basic_ios/operator!.html',0,'std::ofstream::operator!()'],['http://en.cppreference.com/w/cpp/io/basic_ios/operator!.html',0,'std::basic_istringstream::operator!()'],['http://en.cppreference.com/w/cpp/io/basic_ios/operator!.html',0,'std::basic_ifstream::operator!()'],['http://en.cppreference.com/w/cpp/io/basic_ios/operator!.html',0,'std::istringstream::operator!()'],['http://en.cppreference.com/w/cpp/io/basic_ios/operator!.html',0,'std::istream::operator!()'],['http://en.cppreference.com/w/cpp/io/basic_ios/operator!.html',0,'std::ostrstream::operator!()'],['http://en.cppreference.com/w/cpp/io/basic_ios/operator!.html',0,'std::wfstream::operator!()'],['http://en.cppreference.com/w/cpp/io/basic_ios/operator!.html',0,'std::basic_iostream::operator!()'],['http://en.cppreference.com/w/cpp/io/basic_ios/operator!.html',0,'std::wofstream::operator!()'],['http://en.cppreference.com/w/cpp/io/basic_ios/operator!.html',0,'std::wstringstream::operator!()'],['http://en.cppreference.com/w/cpp/io/basic_ios/operator!.html',0,'std::wistringstream::operator!()'],['http://en.cppreference.com/w/cpp/io/basic_ios/operator!.html',0,'std::ifstream::operator!()'],['../db/d9a/classuint128__t.html#ad24d6fe1fe63f415fee806b377dfa47d',1,'uint128_t::operator!()'],['../d1/d83/classuint256__t.html#a028c585069fa53b74c153667ff66352c',1,'uint256_t::operator!()']]], - ['operator_21_3d_26',['operator!=',['http://en.cppreference.com/w/cpp/regex/regex_iterator/operator_cmp.html',0,'std::regex_iterator::operator!=()'],['http://en.cppreference.com/w/cpp/regex/regex_iterator/operator_cmp.html',0,'std::sregex_iterator::operator!=()'],['http://en.cppreference.com/w/cpp/regex/regex_iterator/operator_cmp.html',0,'std::wcregex_iterator::operator!=()'],['http://en.cppreference.com/w/cpp/regex/regex_token_iterator/operator_cmp.html',0,'std::cregex_token_iterator::operator!=()'],['http://en.cppreference.com/w/cpp/locale/locale/operator_cmp.html',0,'std::locale::operator!=()'],['http://en.cppreference.com/w/cpp/regex/regex_token_iterator/operator_cmp.html',0,'std::wsregex_token_iterator::operator!=()'],['http://en.cppreference.com/w/cpp/error/error_category/operator_cmp.html',0,'std::error_category::operator!=()'],['http://en.cppreference.com/w/cpp/types/type_info/operator_cmp.html',0,'std::type_info::operator!=()'],['http://en.cppreference.com/w/cpp/utility/bitset/operator_cmp.html',0,'std::bitset::operator!=()'],['http://en.cppreference.com/w/cpp/thread/thread/id/operator_cmp.html',0,'std::thread::id::operator!=()'],['http://en.cppreference.com/w/cpp/regex/regex_iterator/operator_cmp.html',0,'std::cregex_iterator::operator!=()'],['http://en.cppreference.com/w/cpp/regex/regex_iterator/operator_cmp.html',0,'std::wsregex_iterator::operator!=()'],['http://en.cppreference.com/w/cpp/types/type_index/operator_cmp.html',0,'std::type_index::operator!=()'],['http://en.cppreference.com/w/cpp/regex/regex_token_iterator/operator_cmp.html',0,'std::wcregex_token_iterator::operator!=()'],['http://en.cppreference.com/w/cpp/regex/regex_token_iterator/operator_cmp.html',0,'std::regex_token_iterator::operator!=()'],['http://en.cppreference.com/w/cpp/regex/regex_token_iterator/operator_cmp.html',0,'std::sregex_token_iterator::operator!=()'],['../db/d9a/classuint128__t.html#ab3359b104bbb5a31c11c2027387c4b4e',1,'uint128_t::operator!=(const uint128_t &other)'],['../db/d9a/classuint128__t.html#a7737bb30a5480c7286546b911d82e696',1,'uint128_t::operator!=(const T other)'],['../d1/d83/classuint256__t.html#aae68a7bd17c14a926fb77758b5c8e547',1,'uint256_t::operator!=(const uint256_t &other)'],['../d1/d83/classuint256__t.html#a89cf7fa466458ee08edd9a809d072bcb',1,'uint256_t::operator!=(const T &other)'],['../db/d82/classlarge__number.html#a72ae1ef050c4c28c50952ecab22d4b94',1,'large_number::operator!='],['http://en.cppreference.com/w/cpp/utility/rel_ops/operator_cmp.html',0,'std::rel_ops::operator!=()']]], - ['operator_25_27',['operator%',['../db/d9a/classuint128__t.html#abfc6a8765039cacc829a5cd386b5a066',1,'uint128_t::operator%(const uint128_t &p)'],['../db/d9a/classuint128__t.html#add9938b97fc66560cec2d32e8c83eaad',1,'uint128_t::operator%(const T &p)'],['../d1/d83/classuint256__t.html#ad4928175eaaaa2b559bc945affe63ad2',1,'uint256_t::operator%(const uint256_t &p)'],['../d1/d83/classuint256__t.html#a7bd9693b88c4df08b1f8d1fd81c597cc',1,'uint256_t::operator%(const T &p)']]], - ['operator_25_3d_28',['operator%=',['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith3.html',0,'std::chrono::minutes::operator%=()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith3.html',0,'std::chrono::seconds::operator%=()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith3.html',0,'std::chrono::duration::operator%=()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith3.html',0,'std::chrono::milliseconds::operator%=()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith3.html',0,'std::chrono::hours::operator%=()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith3.html',0,'std::chrono::microseconds::operator%=()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith3.html',0,'std::chrono::nanoseconds::operator%=()'],['../db/d9a/classuint128__t.html#a279209a184db20a7ffc8e687fdb05be2',1,'uint128_t::operator%=(const uint128_t &p)'],['../db/d9a/classuint128__t.html#a0500a90bcde5a8254750c361eed9bc40',1,'uint128_t::operator%=(const T &p)'],['../d1/d83/classuint256__t.html#a2cd43a4a92dc825a010a17578b3bdedb',1,'uint256_t::operator%=(const uint256_t &p)'],['../d1/d83/classuint256__t.html#a76914bc727eab927a3941ef71275327d',1,'uint256_t::operator%=(const T &p)']]], - ['operator_26_29',['operator&',['../db/d9a/classuint128__t.html#ad1717d3a38391258befa413b7e2b9244',1,'uint128_t::operator&(const uint128_t &p)'],['../db/d9a/classuint128__t.html#a9fa81ef0d54ecb9050d0be4249358ca4',1,'uint128_t::operator&(const T p)'],['../d1/d83/classuint256__t.html#a6eadaa829087e07eebafca3981566bb8',1,'uint256_t::operator&(const T &p)'],['../d1/d83/classuint256__t.html#a9bc6cc460108306a59281ce4ca216839',1,'uint256_t::operator&(const uint256_t &p)']]], - ['operator_26_26_30',['operator&&',['../db/d9a/classuint128__t.html#ab07413c67d205e406abf3a9f554d59e1',1,'uint128_t::operator&&(const uint128_t &b)'],['../db/d9a/classuint128__t.html#a0ad881643c707f6ae3c5de3822a8cb8a',1,'uint128_t::operator&&(const T b)'],['../d1/d83/classuint256__t.html#aa0e532832640e9fe273b35c481b18963',1,'uint256_t::operator&&(const uint256_t &b)'],['../d1/d83/classuint256__t.html#a303287d7bc8686dcb47fcb04720ad409',1,'uint256_t::operator&&(const T &b)']]], - ['operator_26_3d_31',['operator&=',['http://en.cppreference.com/w/cpp/atomic/atomic/operator_arith2.html',0,'std::atomic::operator&=()'],['http://en.cppreference.com/w/cpp/utility/bitset/operator_logic.html',0,'std::bitset::operator&=()'],['../db/d9a/classuint128__t.html#ac7d55ed3bac01075b9cd11cc59508050',1,'uint128_t::operator&=(const uint128_t &p)'],['../db/d9a/classuint128__t.html#a225146042c6456a3c5595645870ca640',1,'uint128_t::operator&=(const T p)'],['../d1/d83/classuint256__t.html#a357cdfee6a79e0484cd1e07511eb9f2d',1,'uint256_t::operator&=(const uint256_t &p)'],['../d1/d83/classuint256__t.html#afa79020c27caea31236d04ecaa0e5ef5',1,'uint256_t::operator&=(const T p)']]], - ['operator_28_29_32',['operator()',['http://en.cppreference.com/w/cpp/utility/functional/logical_and.html',0,'std::logical_and::operator()()'],['http://en.cppreference.com/w/cpp/utility/functional/modulus.html',0,'std::modulus::operator()()'],['http://en.cppreference.com/w/cpp/numeric/random/student_t_distribution/operator().html',0,'std::student_t_distribution::operator()()'],['http://en.cppreference.com/w/cpp/numeric/random/mersenne_twister_engine/operator().html',0,'std::mt19937_64::operator()()'],['http://en.cppreference.com/w/cpp/numeric/random/subtract_with_carry_engine/operator().html',0,'std::ranlux24_base::operator()()'],['http://en.cppreference.com/w/cpp/numeric/random/extreme_value_distribution/operator().html',0,'std::extreme_value_distribution::operator()()'],['http://en.cppreference.com/w/cpp/numeric/random/lognormal_distribution/operator().html',0,'std::lognormal_distribution::operator()()'],['http://en.cppreference.com/w/cpp/utility/functional/greater_equal.html',0,'std::greater_equal::operator()()'],['http://en.cppreference.com/w/cpp/numeric/random/discrete_distribution/operator().html',0,'std::discrete_distribution::operator()()'],['http://en.cppreference.com/w/cpp/numeric/random/discard_block_engine/operator().html',0,'std::ranlux48::operator()()'],['http://en.cppreference.com/w/cpp/numeric/random/piecewise_constant_distribution/operator().html',0,'std::piecewise_constant_distribution::operator()()'],['http://en.cppreference.com/w/cpp/utility/functional/less_equal.html',0,'std::less_equal::operator()()'],['http://en.cppreference.com/w/cpp/utility/functional/logical_or.html',0,'std::logical_or::operator()()'],['http://en.cppreference.com/w/cpp/utility/functional/binary_negate.html',0,'std::binary_negate::operator()()'],['http://en.cppreference.com/w/cpp/numeric/random/discard_block_engine/operator().html',0,'std::discard_block_engine::operator()()'],['http://en.cppreference.com/w/cpp/numeric/random/exponential_distribution/operator().html',0,'std::exponential_distribution::operator()()'],['http://en.cppreference.com/w/cpp/numeric/random/mersenne_twister_engine/operator().html',0,'std::mersenne_twister_engine::operator()()'],['http://en.cppreference.com/w/cpp/utility/functional/negate.html',0,'std::negate::operator()()'],['http://en.cppreference.com/w/cpp/utility/functional/not_equal_to.html',0,'std::not_equal_to::operator()()'],['http://en.cppreference.com/w/cpp/numeric/random/independent_bits_engine/operator().html',0,'std::independent_bits_engine::operator()()'],['http://en.cppreference.com/w/cpp/numeric/random/normal_distribution/operator().html',0,'std::normal_distribution::operator()()'],['http://en.cppreference.com/w/cpp/numeric/random/linear_congruential_engine/operator().html',0,'std::minstd_rand::operator()()'],['http://en.cppreference.com/w/cpp/locale/locale/operator().html',0,'std::locale::operator()()'],['http://en.cppreference.com/w/cpp/utility/functional/equal_to.html',0,'std::equal_to::operator()()'],['http://en.cppreference.com/w/cpp/utility/functional/divides.html',0,'std::divides::operator()()'],['http://en.cppreference.com/w/cpp/numeric/random/weibull_distribution/operator().html',0,'std::weibull_distribution::operator()()'],['http://en.cppreference.com/w/cpp/utility/functional/less.html',0,'std::less::operator()()'],['http://en.cppreference.com/w/cpp/utility/functional/multiplies.html',0,'std::multiplies::operator()()'],['http://en.cppreference.com/w/cpp/utility/functional/reference_wrapper/operator().html',0,'std::reference_wrapper::operator()()'],['http://en.cppreference.com/w/cpp/numeric/random/subtract_with_carry_engine/operator().html',0,'std::ranlux48_base::operator()()'],['http://en.cppreference.com/w/cpp/utility/functional/bit_not.html',0,'std::bit_not::operator()()'],['http://en.cppreference.com/w/cpp/numeric/random/mersenne_twister_engine/operator().html',0,'std::mt19937::operator()()'],['http://en.cppreference.com/w/cpp/numeric/random/chi_squared_distribution/operator().html',0,'std::chi_squared_distribution::operator()()'],['http://en.cppreference.com/w/cpp/numeric/random/piecewise_linear_distribution/operator().html',0,'std::piecewise_linear_distribution::operator()()'],['http://en.cppreference.com/w/cpp/utility/hash/operator().html',0,'std::hash::operator()()'],['http://en.cppreference.com/w/cpp/numeric/random/shuffle_order_engine/operator().html',0,'std::shuffle_order_engine::operator()()'],['http://en.cppreference.com/w/cpp/utility/functional/greater.html',0,'std::greater::operator()()'],['http://en.cppreference.com/w/cpp/utility/functional/bit_and.html',0,'std::bit_and::operator()()'],['http://en.cppreference.com/w/cpp/numeric/random/uniform_int_distribution/operator().html',0,'std::uniform_int_distribution::operator()()'],['http://en.cppreference.com/w/cpp/numeric/random/fisher_f_distribution/operator().html',0,'std::fisher_f_distribution::operator()()'],['http://en.cppreference.com/w/cpp/numeric/random/discard_block_engine/operator().html',0,'std::ranlux24::operator()()'],['http://en.cppreference.com/w/cpp/utility/functional/plus.html',0,'std::plus::operator()()'],['http://en.cppreference.com/w/cpp/utility/functional/bit_or.html',0,'std::bit_or::operator()()'],['http://en.cppreference.com/w/cpp/utility/functional/unary_negate.html',0,'std::unary_negate::operator()()'],['http://en.cppreference.com/w/cpp/utility/functional/function/operator().html',0,'std::function::operator()()'],['http://en.cppreference.com/w/cpp/utility/functional/minus.html',0,'std::minus::operator()()'],['http://en.cppreference.com/w/cpp/numeric/random/linear_congruential_engine/operator().html',0,'std::linear_congruential_engine::operator()()'],['http://en.cppreference.com/w/cpp/memory/owner_less.html',0,'std::owner_less::operator()()'],['http://en.cppreference.com/w/cpp/numeric/random/shuffle_order_engine/operator().html',0,'std::knuth_b::operator()()'],['http://en.cppreference.com/w/cpp/numeric/random/linear_congruential_engine/operator().html',0,'std::minstd_rand0::operator()()'],['http://en.cppreference.com/w/cpp/utility/functional/logical_not.html',0,'std::logical_not::operator()()'],['http://en.cppreference.com/w/cpp/memory/default_delete.html',0,'std::default_delete::operator()()'],['http://en.cppreference.com/w/cpp/numeric/random/gamma_distribution/operator().html',0,'std::gamma_distribution::operator()()'],['http://en.cppreference.com/w/cpp/thread/packaged_task/operator().html',0,'std::packaged_task::operator()()'],['http://en.cppreference.com/w/cpp/numeric/random/cauchy_distribution/operator().html',0,'std::cauchy_distribution::operator()()'],['http://en.cppreference.com/w/cpp/numeric/random/subtract_with_carry_engine/operator().html',0,'std::subtract_with_carry_engine::operator()()'],['http://en.cppreference.com/w/cpp/numeric/random/random_device/operator().html',0,'std::random_device::operator()()'],['../db/d9a/classuint128__t.html#af4ce01d81a0369218f7d46567d136733',1,'uint128_t::operator()()'],['../d1/d83/classuint256__t.html#a7ac99dea14428200f0101452293e2b3b',1,'uint256_t::operator()()'],['../de/d4a/class_compare.html#afbdf9a44adb49728dc704155d7d1570c',1,'Compare::operator()()']]], - ['operator_2a_33',['operator*',['http://en.cppreference.com/w/cpp/regex/regex_iterator/operator*.html',0,'std::regex_iterator::operator*()'],['http://en.cppreference.com/w/cpp/regex/regex_iterator/operator*.html',0,'std::sregex_iterator::operator*()'],['http://en.cppreference.com/w/cpp/memory/shared_ptr/operator*.html',0,'std::shared_ptr::operator*()'],['http://en.cppreference.com/w/cpp/regex/regex_iterator/operator*.html',0,'std::wcregex_iterator::operator*()'],['http://en.cppreference.com/w/cpp/regex/regex_token_iterator/operator*.html',0,'std::cregex_token_iterator::operator*()'],['http://en.cppreference.com/w/cpp/memory/unique_ptr/operator*.html',0,'std::unique_ptr::operator*()'],['http://en.cppreference.com/w/cpp/regex/regex_token_iterator/operator*.html',0,'std::wsregex_token_iterator::operator*()'],['http://en.cppreference.com/w/cpp/regex/regex_iterator/operator*.html',0,'std::cregex_iterator::operator*()'],['http://en.cppreference.com/w/cpp/regex/regex_iterator/operator*.html',0,'std::wsregex_iterator::operator*()'],['http://en.cppreference.com/w/cpp/experimental/optional/operator*.html',0,'std::experimental::optional::operator*()'],['http://en.cppreference.com/w/cpp/regex/regex_token_iterator/operator*.html',0,'std::wcregex_token_iterator::operator*()'],['http://en.cppreference.com/w/cpp/regex/regex_token_iterator/operator*.html',0,'std::regex_token_iterator::operator*()'],['http://en.cppreference.com/w/cpp/memory/auto_ptr/operator*.html',0,'std::auto_ptr::operator*()'],['http://en.cppreference.com/w/cpp/regex/regex_token_iterator/operator*.html',0,'std::sregex_token_iterator::operator*()'],['http://en.cppreference.com/w/cpp/memory/raw_storage_iterator/operator*.html',0,'std::raw_storage_iterator::operator*()'],['../db/d9a/classuint128__t.html#a488e65a14d4c32a096011aa4725cdb30',1,'uint128_t::operator*(const T p)'],['../db/d9a/classuint128__t.html#a44e472cf685cac6edc5172eac2e66860',1,'uint128_t::operator*(const uint128_t &p)'],['../d1/d83/classuint256__t.html#aaca9288fd28fc07e1386f1586bd51616',1,'uint256_t::operator*(const T &p)'],['../d1/d83/classuint256__t.html#aa9e585b186e71d7cbe9c1d7387c38967',1,'uint256_t::operator*(const uint256_t &p)'],['../dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix.html#a60599668b56001cef4bb59d4cb5c6c6c',1,'divide_and_conquer::strassens_multiplication::Matrix::operator*(const Matrix< Number > &other) const'],['../dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix.html#aedbe01e48a96fefa0b393ec577b0f19e',1,'divide_and_conquer::strassens_multiplication::Matrix::operator*(const Number other) const'],['../da/d5a/class_complex.html#aa9b4a7d6083ca7040ddd4fe93db5c19d',1,'Complex::operator*()'],['../dc/d38/ordinary__least__squares__regressor_8cpp.html#ae2edd40354a1ca7aeaee3d1e3589e713',1,'operator*(std::vector< std::vector< T > > const &A, std::vector< std::vector< T > > const &B): ordinary_least_squares_regressor.cpp'],['../dc/d38/ordinary__least__squares__regressor_8cpp.html#a865e8d26a01962cc93aca66e71346f37',1,'operator*(std::vector< std::vector< T > > const &A, std::vector< T > const &B): ordinary_least_squares_regressor.cpp'],['../dc/d38/ordinary__least__squares__regressor_8cpp.html#a207b3a99fd5974d3117e0b0ac0aad234',1,'operator*(float const scalar, std::vector< T > const &A): ordinary_least_squares_regressor.cpp'],['../dc/d38/ordinary__least__squares__regressor_8cpp.html#a42535e20e97d85aa61271e0894cc0359',1,'operator*(std::vector< T > const &A, float const scalar): ordinary_least_squares_regressor.cpp'],['../d8/d77/namespacemachine__learning.html#a16f34574b7e0dd51bc3b3fda37446695',1,'machine_learning::operator*()']]], - ['operator_2a_3d_34',['operator*=',['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith3.html',0,'std::chrono::minutes::operator*=()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith3.html',0,'std::chrono::seconds::operator*=()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith3.html',0,'std::chrono::duration::operator*=()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith3.html',0,'std::chrono::milliseconds::operator*=()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith3.html',0,'std::chrono::hours::operator*=()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith3.html',0,'std::chrono::microseconds::operator*=()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith3.html',0,'std::chrono::nanoseconds::operator*=()'],['http://en.cppreference.com/w/cpp/numeric/complex/operator_arith.html',0,'std::complex::operator*=()'],['../db/d9a/classuint128__t.html#a3016b71f92a0c7e090a7c5b6a3935092',1,'uint128_t::operator*=(const T p)'],['../db/d9a/classuint128__t.html#a96fc7c2df4325bb1a0c22b566bcc6295',1,'uint128_t::operator*=(const uint128_t &p)'],['../d1/d83/classuint256__t.html#af2193ff0d0e93143fb71f4847df16028',1,'uint256_t::operator*=(const T &p)'],['../d1/d83/classuint256__t.html#a4645040fe68ff01d83400f173fd2bb21',1,'uint256_t::operator*=(const uint256_t &p)'],['../dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix.html#af09566a6a59d30875434c140e18e0a12',1,'divide_and_conquer::strassens_multiplication::Matrix::operator*=()'],['../db/d82/classlarge__number.html#a771e9b28cfddf1ad94668566e396e350',1,'large_number::operator*=()']]], - ['operator_2b_35',['operator+',['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith.html',0,'std::chrono::minutes::operator+()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith.html',0,'std::chrono::seconds::operator+()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith.html',0,'std::chrono::duration::operator+()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith.html',0,'std::chrono::milliseconds::operator+()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith.html',0,'std::chrono::hours::operator+()'],['http://en.cppreference.com/w/cpp/chrono/time_point/operator_arith.html',0,'std::chrono::time_point::operator+()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith.html',0,'std::chrono::microseconds::operator+()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith.html',0,'std::chrono::nanoseconds::operator+()'],['../db/d9a/classuint128__t.html#a5133f854a93efe47fd1f0f6a9589856d',1,'uint128_t::operator+(const T p)'],['../db/d9a/classuint128__t.html#a0fd125cc2b7702370a4aefa740d57606',1,'uint128_t::operator+(const uint128_t &p)'],['../d1/d83/classuint256__t.html#a20dc3a017b1a740c4bafd3f146a90b0f',1,'uint256_t::operator+(const T &p)'],['../d1/d83/classuint256__t.html#af18e2e3d7ed635c4056062bc906fef75',1,'uint256_t::operator+(const uint256_t &p)'],['../dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix.html#ad36ec1f1a97298e49de605384e5f8211',1,'divide_and_conquer::strassens_multiplication::Matrix::operator+()'],['../da/d5a/class_complex.html#a820afcbb330df716577459d7a3aa3a1c',1,'Complex::operator+()'],['../db/d82/classlarge__number.html#abbd52948bee1b16543f1dae19aa9dd46',1,'large_number::operator+'],['../dc/d38/ordinary__least__squares__regressor_8cpp.html#a01e6c7bf2b09272578b9c5819ce0f36f',1,'operator+(): ordinary_least_squares_regressor.cpp'],['../d8/d77/namespacemachine__learning.html#a2466857dab977a49f117029835b3b6d2',1,'machine_learning::operator+()']]], - ['operator_2b_2b_36',['operator++',['http://en.cppreference.com/w/cpp/regex/regex_iterator/operator_arith.html',0,'std::regex_iterator::operator++()'],['http://en.cppreference.com/w/cpp/regex/regex_iterator/operator_arith.html',0,'std::sregex_iterator::operator++()'],['http://en.cppreference.com/w/cpp/regex/regex_iterator/operator_arith.html',0,'std::wcregex_iterator::operator++()'],['http://en.cppreference.com/w/cpp/regex/regex_token_iterator/operator_arith.html',0,'std::cregex_token_iterator::operator++()'],['http://en.cppreference.com/w/cpp/regex/regex_token_iterator/operator_arith.html',0,'std::wsregex_token_iterator::operator++()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith2.html',0,'std::chrono::minutes::operator++()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith2.html',0,'std::chrono::seconds::operator++()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith2.html',0,'std::chrono::duration::operator++()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith2.html',0,'std::chrono::milliseconds::operator++()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith2.html',0,'std::chrono::hours::operator++()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith2.html',0,'std::chrono::microseconds::operator++()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith2.html',0,'std::chrono::nanoseconds::operator++()'],['http://en.cppreference.com/w/cpp/atomic/atomic/operator_arith.html',0,'std::atomic::operator++()'],['http://en.cppreference.com/w/cpp/regex/regex_iterator/operator_arith.html',0,'std::cregex_iterator::operator++()'],['http://en.cppreference.com/w/cpp/regex/regex_iterator/operator_arith.html',0,'std::wsregex_iterator::operator++()'],['http://en.cppreference.com/w/cpp/regex/regex_token_iterator/operator_arith.html',0,'std::wcregex_token_iterator::operator++()'],['http://en.cppreference.com/w/cpp/regex/regex_token_iterator/operator_arith.html',0,'std::regex_token_iterator::operator++()'],['http://en.cppreference.com/w/cpp/regex/regex_token_iterator/operator_arith.html',0,'std::sregex_token_iterator::operator++()'],['http://en.cppreference.com/w/cpp/memory/raw_storage_iterator/operator_arith.html',0,'std::raw_storage_iterator::operator++()'],['../db/d9a/classuint128__t.html#ac8d293d20cdf65c48d8d1e0ba7034c8e',1,'uint128_t::operator++()'],['../db/d9a/classuint128__t.html#af71990a1fba93a5528ddb1e6662bffd6',1,'uint128_t::operator++(int)'],['../d1/d83/classuint256__t.html#af0ad4080bb5ddc16b54a7e87911005c9',1,'uint256_t::operator++()'],['../d1/d83/classuint256__t.html#a7bbe36e2ebd52df5efab118897b3050c',1,'uint256_t::operator++(int)'],['../db/d82/classlarge__number.html#a4757697b1f7584b69e779a72abc4ae2a',1,'large_number::operator++()'],['../db/d82/classlarge__number.html#a8d4364ee5a62964451d8cfee82649687',1,'large_number::operator++(int)']]], - ['operator_2b_2b_28int_29_37',['operator++(int)',['http://en.cppreference.com/w/cpp/regex/regex_iterator/operator_arith.html',0,'std::regex_iterator::operator++(int)()'],['http://en.cppreference.com/w/cpp/regex/regex_iterator/operator_arith.html',0,'std::sregex_iterator::operator++(int)()'],['http://en.cppreference.com/w/cpp/regex/regex_iterator/operator_arith.html',0,'std::wcregex_iterator::operator++(int)()'],['http://en.cppreference.com/w/cpp/regex/regex_token_iterator/operator_arith.html',0,'std::cregex_token_iterator::operator++(int)()'],['http://en.cppreference.com/w/cpp/regex/regex_token_iterator/operator_arith.html',0,'std::wsregex_token_iterator::operator++(int)()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith2.html',0,'std::chrono::minutes::operator++(int)()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith2.html',0,'std::chrono::seconds::operator++(int)()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith2.html',0,'std::chrono::duration::operator++(int)()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith2.html',0,'std::chrono::milliseconds::operator++(int)()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith2.html',0,'std::chrono::hours::operator++(int)()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith2.html',0,'std::chrono::microseconds::operator++(int)()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith2.html',0,'std::chrono::nanoseconds::operator++(int)()'],['http://en.cppreference.com/w/cpp/atomic/atomic/operator_arith.html',0,'std::atomic::operator++(int)()'],['http://en.cppreference.com/w/cpp/regex/regex_iterator/operator_arith.html',0,'std::cregex_iterator::operator++(int)()'],['http://en.cppreference.com/w/cpp/regex/regex_iterator/operator_arith.html',0,'std::wsregex_iterator::operator++(int)()'],['http://en.cppreference.com/w/cpp/regex/regex_token_iterator/operator_arith.html',0,'std::wcregex_token_iterator::operator++(int)()'],['http://en.cppreference.com/w/cpp/regex/regex_token_iterator/operator_arith.html',0,'std::regex_token_iterator::operator++(int)()'],['http://en.cppreference.com/w/cpp/regex/regex_token_iterator/operator_arith.html',0,'std::sregex_token_iterator::operator++(int)()']]], - ['operator_2b_3d_38',['operator+=',['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith3.html',0,'std::chrono::minutes::operator+=()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith3.html',0,'std::chrono::seconds::operator+=()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith3.html',0,'std::chrono::duration::operator+=()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith3.html',0,'std::chrono::milliseconds::operator+=()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith3.html',0,'std::chrono::hours::operator+=()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith3.html',0,'std::chrono::microseconds::operator+=()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith3.html',0,'std::chrono::nanoseconds::operator+=()'],['http://en.cppreference.com/w/cpp/atomic/atomic/operator_arith2.html',0,'std::atomic::operator+=()'],['http://en.cppreference.com/w/cpp/numeric/complex/operator_arith.html',0,'std::complex::operator+=()'],['../db/d9a/classuint128__t.html#a55a3f122c4d982c60c2eb9fc09b9e004',1,'uint128_t::operator+=(const T p)'],['../db/d9a/classuint128__t.html#a9704e6a4d32750461bff663e40e537cb',1,'uint128_t::operator+=(const uint128_t &p)'],['../d1/d83/classuint256__t.html#a5363ec0f36de1a8a9c985907db4e95d1',1,'uint256_t::operator+=(const T &p)'],['../d1/d83/classuint256__t.html#ac75a46fe3625caf10e07db1eb75a1d6e',1,'uint256_t::operator+=(const uint256_t &p)'],['../dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix.html#ae190115f8d4d31e47d7290e0b6871391',1,'divide_and_conquer::strassens_multiplication::Matrix::operator+=()'],['../db/d82/classlarge__number.html#aab5644405094740e34983cedfecb36cf',1,'large_number::operator+=()']]], - ['operator_2d_39',['operator-',['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith.html',0,'std::chrono::minutes::operator-()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith.html',0,'std::chrono::seconds::operator-()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith.html',0,'std::chrono::duration::operator-()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith.html',0,'std::chrono::milliseconds::operator-()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith.html',0,'std::chrono::hours::operator-()'],['http://en.cppreference.com/w/cpp/chrono/time_point/operator_arith.html',0,'std::chrono::time_point::operator-()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith.html',0,'std::chrono::microseconds::operator-()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith.html',0,'std::chrono::nanoseconds::operator-()'],['../db/d9a/classuint128__t.html#a6824700c9c732a4200e7493fe7ed0eec',1,'uint128_t::operator-(const T &p)'],['../db/d9a/classuint128__t.html#a81a568510e6d0b0950133dd9fc37fc0c',1,'uint128_t::operator-(const uint128_t &p)'],['../db/d9a/classuint128__t.html#a07945fe010079a35e18812636d5c70c3',1,'uint128_t::operator-()'],['../d1/d83/classuint256__t.html#a88978d00fa6a624c50c2737dc2c294b4',1,'uint256_t::operator-(const T &p)'],['../d1/d83/classuint256__t.html#ab909ef62a0c85121e7d743c016fb723d',1,'uint256_t::operator-(const uint256_t &p)'],['../d1/d83/classuint256__t.html#a406c951a07d8173685dbe384c6ab6a06',1,'uint256_t::operator-()'],['../dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix.html#a678681c9f6266a8219bd6bee6972d70e',1,'divide_and_conquer::strassens_multiplication::Matrix::operator-()'],['../da/d5a/class_complex.html#a36739619a07b5478bcd8a28ad2f8b7da',1,'Complex::operator-()'],['../dc/d38/ordinary__least__squares__regressor_8cpp.html#a4a6a560dbdd0177633783b72db37dc19',1,'operator-(): ordinary_least_squares_regressor.cpp'],['../d8/d77/namespacemachine__learning.html#a0cc29566568e0383dd7d374068cbe6b3',1,'machine_learning::operator-()']]], - ['operator_2d_2d_40',['operator--',['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith2.html',0,'std::chrono::minutes::operator--()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith2.html',0,'std::chrono::seconds::operator--()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith2.html',0,'std::chrono::duration::operator--()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith2.html',0,'std::chrono::milliseconds::operator--()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith2.html',0,'std::chrono::hours::operator--()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith2.html',0,'std::chrono::microseconds::operator--()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith2.html',0,'std::chrono::nanoseconds::operator--()'],['http://en.cppreference.com/w/cpp/atomic/atomic/operator_arith.html',0,'std::atomic::operator--()'],['../db/d9a/classuint128__t.html#a1d390c6ea5450680dcaff341235f0fed',1,'uint128_t::operator--()'],['../db/d9a/classuint128__t.html#a2ecb71686e1c9ed0267124580c91c414',1,'uint128_t::operator--(int p)'],['../d1/d83/classuint256__t.html#a9f6f3e39783c893473315bada864a183',1,'uint256_t::operator--()'],['../d1/d83/classuint256__t.html#a28d26847f9b19a4f86c187791cb0db13',1,'uint256_t::operator--(int p)']]], - ['operator_2d_2d_28int_29_41',['operator--(int)',['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith2.html',0,'std::chrono::minutes::operator--(int)()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith2.html',0,'std::chrono::seconds::operator--(int)()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith2.html',0,'std::chrono::duration::operator--(int)()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith2.html',0,'std::chrono::milliseconds::operator--(int)()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith2.html',0,'std::chrono::hours::operator--(int)()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith2.html',0,'std::chrono::microseconds::operator--(int)()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith2.html',0,'std::chrono::nanoseconds::operator--(int)()'],['http://en.cppreference.com/w/cpp/atomic/atomic/operator_arith.html',0,'std::atomic::operator--(int)()']]], - ['operator_2d_3d_42',['operator-=',['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith3.html',0,'std::chrono::minutes::operator-=()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith3.html',0,'std::chrono::seconds::operator-=()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith3.html',0,'std::chrono::duration::operator-=()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith3.html',0,'std::chrono::milliseconds::operator-=()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith3.html',0,'std::chrono::hours::operator-=()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith3.html',0,'std::chrono::microseconds::operator-=()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith3.html',0,'std::chrono::nanoseconds::operator-=()'],['http://en.cppreference.com/w/cpp/atomic/atomic/operator_arith2.html',0,'std::atomic::operator-=()'],['http://en.cppreference.com/w/cpp/numeric/complex/operator_arith.html',0,'std::complex::operator-=()'],['../db/d9a/classuint128__t.html#a0a4623fae71566dfcf2e742c8c156798',1,'uint128_t::operator-=(const T &p)'],['../db/d9a/classuint128__t.html#abea727c69c2acd74ffe21464199d27c8',1,'uint128_t::operator-=(const uint128_t &p)'],['../d1/d83/classuint256__t.html#acd3970c633eb2c597874e2712392f0c7',1,'uint256_t::operator-=(const T p)'],['../d1/d83/classuint256__t.html#a5e84ed2a2f99cee81ede4a0107702a45',1,'uint256_t::operator-=(const uint256_t &p)'],['../dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix.html#a42c986fb57b74fe1b7c5953cb1922c3d',1,'divide_and_conquer::strassens_multiplication::Matrix::operator-=()']]], - ['operator_2d_3e_43',['operator->',['http://en.cppreference.com/w/cpp/regex/regex_iterator/operator*.html',0,'std::regex_iterator::operator->()'],['http://en.cppreference.com/w/cpp/regex/regex_iterator/operator*.html',0,'std::sregex_iterator::operator->()'],['http://en.cppreference.com/w/cpp/memory/shared_ptr/operator*.html',0,'std::shared_ptr::operator->()'],['http://en.cppreference.com/w/cpp/regex/regex_iterator/operator*.html',0,'std::wcregex_iterator::operator->()'],['http://en.cppreference.com/w/cpp/regex/regex_token_iterator/operator*.html',0,'std::cregex_token_iterator::operator->()'],['http://en.cppreference.com/w/cpp/memory/unique_ptr/operator*.html',0,'std::unique_ptr::operator->()'],['http://en.cppreference.com/w/cpp/regex/regex_token_iterator/operator*.html',0,'std::wsregex_token_iterator::operator->()'],['http://en.cppreference.com/w/cpp/regex/regex_iterator/operator*.html',0,'std::cregex_iterator::operator->()'],['http://en.cppreference.com/w/cpp/regex/regex_iterator/operator*.html',0,'std::wsregex_iterator::operator->()'],['http://en.cppreference.com/w/cpp/experimental/optional/operator*.html',0,'std::experimental::optional::operator->()'],['http://en.cppreference.com/w/cpp/regex/regex_token_iterator/operator*.html',0,'std::wcregex_token_iterator::operator->()'],['http://en.cppreference.com/w/cpp/regex/regex_token_iterator/operator*.html',0,'std::regex_token_iterator::operator->()'],['http://en.cppreference.com/w/cpp/memory/auto_ptr/operator*.html',0,'std::auto_ptr::operator->()'],['http://en.cppreference.com/w/cpp/regex/regex_token_iterator/operator*.html',0,'std::sregex_token_iterator::operator->()']]], - ['operator_2f_44',['operator/',['../db/d9a/classuint128__t.html#a3072a7e43da3600c345c81bc80c957ee',1,'uint128_t::operator/(const uint128_t &p)'],['../db/d9a/classuint128__t.html#aed49b24b99293ae6b14ac9850f5deb94',1,'uint128_t::operator/(const T p)'],['../d1/d83/classuint256__t.html#acac9901ab133caa57d058a377d873bf6',1,'uint256_t::operator/(const T &p)'],['../d1/d83/classuint256__t.html#a4fdeb4d4bf8cca4ee99b8487e59831df',1,'uint256_t::operator/(const uint256_t &p)'],['../da/d5a/class_complex.html#ac38437c10eb798f176c384a695171b90',1,'Complex::operator/()'],['../dc/d38/ordinary__least__squares__regressor_8cpp.html#a7a2d742b9a3ae7b85292e1f86428bb4f',1,'operator/(): ordinary_least_squares_regressor.cpp'],['../d8/d77/namespacemachine__learning.html#ae6ec42318d172b97fbdf45638d09d7b5',1,'machine_learning::operator/()']]], - ['operator_2f_3d_45',['operator/=',['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith3.html',0,'std::chrono::minutes::operator/=()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith3.html',0,'std::chrono::seconds::operator/=()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith3.html',0,'std::chrono::duration::operator/=()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith3.html',0,'std::chrono::milliseconds::operator/=()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith3.html',0,'std::chrono::hours::operator/=()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith3.html',0,'std::chrono::microseconds::operator/=()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith3.html',0,'std::chrono::nanoseconds::operator/=()'],['http://en.cppreference.com/w/cpp/numeric/complex/operator_arith.html',0,'std::complex::operator/=()'],['../db/d9a/classuint128__t.html#a300ed88fe2054788cc6e0b6a8fdf66db',1,'uint128_t::operator/=(const uint128_t &p)'],['../db/d9a/classuint128__t.html#aaacb9fda7adcfee224f1b09124c0438b',1,'uint128_t::operator/=(const T p)'],['../d1/d83/classuint256__t.html#ac1b36e64de42f3622e7d6ec5efa273d4',1,'uint256_t::operator/=(const uint256_t &p)'],['../d1/d83/classuint256__t.html#abc793979ec70bb8e5cf177d83649a259',1,'uint256_t::operator/=(const T &p)']]], - ['operator_3c_46',['operator<',['http://en.cppreference.com/w/cpp/error/error_category/operator_cmp.html',0,'std::error_category::operator<()'],['http://en.cppreference.com/w/cpp/thread/thread/id/operator_cmp.html',0,'std::thread::id::operator<()'],['http://en.cppreference.com/w/cpp/types/type_index/operator_cmp.html',0,'std::type_index::operator<()'],['../db/d9a/classuint128__t.html#ac9a4365fb9ea5e2d2c751258f09168a4',1,'uint128_t::operator<(const uint128_t &other)'],['../db/d9a/classuint128__t.html#a56f579c802a6cc16f31e43af274453dc',1,'uint128_t::operator<(const T other)'],['../d1/d83/classuint256__t.html#afe9f4828d73dd51a080585dd0b99af96',1,'uint256_t::operator<(const uint256_t &other)'],['../d1/d83/classuint256__t.html#ac6bdcf64653af8173987bf7217e99056',1,'uint256_t::operator<(const T &other)'],['../dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle.html#a64815f10cf9fb9fdb4cc92731ccf10ba',1,'machine_learning::aystar_search::EightPuzzle::operator<()']]], - ['operator_3c_3c_47',['operator<<',['http://en.cppreference.com/w/cpp/io/basic_ostream/operator_ltlt.html',0,'std::basic_ofstream::operator<<()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/operator_ltlt.html',0,'std::fstream::operator<<()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/operator_ltlt.html',0,'std::wostream::operator<<()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/operator_ltlt.html',0,'std::basic_ostringstream::operator<<()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/operator_ltlt.html',0,'std::ostringstream::operator<<()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/operator_ltlt.html',0,'std::basic_fstream::operator<<()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/operator_ltlt.html',0,'std::iostream::operator<<()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/operator_ltlt.html',0,'std::stringstream::operator<<()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/operator_ltlt.html',0,'std::ostream::operator<<()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/operator_ltlt.html',0,'std::strstream::operator<<()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/operator_ltlt.html',0,'std::basic_stringstream::operator<<()'],['http://en.cppreference.com/w/cpp/utility/bitset/operator_ltltgtgt.html',0,'std::bitset::operator<<()'],['http://en.cppreference.com/w/cpp/thread/thread/id/operator_ltlt.html',0,'std::thread::id::operator<<()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/operator_ltlt.html',0,'std::wostringstream::operator<<()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/operator_ltlt.html',0,'std::basic_ostream::operator<<()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/operator_ltlt.html',0,'std::wiostream::operator<<()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/operator_ltlt.html',0,'std::ofstream::operator<<()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/operator_ltlt.html',0,'std::ostrstream::operator<<()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/operator_ltlt.html',0,'std::wfstream::operator<<()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/operator_ltlt.html',0,'std::basic_iostream::operator<<()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/operator_ltlt.html',0,'std::wofstream::operator<<()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/operator_ltlt.html',0,'std::wstringstream::operator<<()'],['../d6/d45/structciphers_1_1elliptic__curve__key__exchange_1_1_point.html#af2142b27241b28f835e8ce78d7d6463c',1,'ciphers::elliptic_curve_key_exchange::Point::operator<<'],['../db/d9a/classuint128__t.html#a16e7e1211ba6c27e9a229d97fb0d9190',1,'uint128_t::operator<<(const T p)'],['../db/d9a/classuint128__t.html#a5f2ace9fdcd459f74f8e43ef30a2a953',1,'uint128_t::operator<<'],['../d1/d83/classuint256__t.html#a4831263abc4430c363fdabce6e6e96d5',1,'uint256_t::operator<<(const T &p)'],['../d1/d83/classuint256__t.html#a91badfd31be84b12cbb6d85ebc04d13a',1,'uint256_t::operator<<'],['../dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle.html#a9517e162e2988f7db052296bd550a742',1,'machine_learning::aystar_search::EightPuzzle::operator<<'],['../d6/d30/classmachine__learning_1_1adaline.html#ae347040516e995c8fb8ca2e5c0496daa',1,'machine_learning::adaline::operator<<'],['../db/d82/classlarge__number.html#a13282908dfc4888392ed3d1fc6aae492',1,'large_number::operator<<'],['../d7/db9/hill__cipher_8cpp.html#a34bfcd756610834acac501f9eea1e2eb',1,'operator<<(std::ostream &out, matrix< T > const &v): hill_cipher.cpp'],['../dc/d38/ordinary__least__squares__regressor_8cpp.html#a7075a0fccad9b2d79be0275bfe8948d4',1,'operator<<(std::ostream &out, std::vector< std::vector< T > > const &v): ordinary_least_squares_regressor.cpp'],['../dc/d38/ordinary__least__squares__regressor_8cpp.html#ab1ad727903d7817c2758d25bcb52cbc8',1,'operator<<(std::ostream &out, std::vector< T > const &v): ordinary_least_squares_regressor.cpp'],['../d8/d77/namespacemachine__learning.html#a84260cb1be9b63d6e38107000ac4b7e7',1,'machine_learning::operator<<(std::ostream &out, std::vector< std::valarray< T > > const &A)'],['../d8/d77/namespacemachine__learning.html#af4986b23760039711848155739c31b35',1,'machine_learning::operator<<(std::ostream &out, const std::pair< T, T > &A)'],['../d8/d77/namespacemachine__learning.html#a54bf1f3c43271a5fc93101f6ae2e6269',1,'machine_learning::operator<<(std::ostream &out, const std::valarray< T > &A)'],['../d5/d67/complex__numbers_8cpp.html#a44d5f25b573e870accdf26fd32b8484d',1,'operator<<(std::ostream &os, const Complex &num): complex_numbers.cpp'],['../dd/d65/lu__decompose_8cpp.html#a575c989afcc78e875031cd4273e62a3e',1,'operator<<(std::ostream &out, matrix< T > const &v): lu_decompose.cpp'],['../d2/d3b/namespaceqr__algorithm.html#adfbdf47277c8cfee229b05b72f1f7834',1,'qr_algorithm::operator<<(std::ostream &out, std::valarray< std::valarray< T > > const &v)'],['../d2/d3b/namespaceqr__algorithm.html#a257425cb2365359da51c6fe6741834d8',1,'qr_algorithm::operator<<(std::ostream &out, std::valarray< T > const &v)']]], - ['operator_3c_3c_3d_48',['operator<<=',['http://en.cppreference.com/w/cpp/utility/bitset/operator_ltltgtgt.html',0,'std::bitset::operator<<=()'],['../db/d9a/classuint128__t.html#aa5b93187b1d199071f204b9987d5d16a',1,'uint128_t::operator<<=()'],['../d1/d83/classuint256__t.html#a0d96ce2d022dc30c2f303ab0698f52f5',1,'uint256_t::operator<<=()']]], - ['operator_3c_3d_49',['operator<=',['http://en.cppreference.com/w/cpp/thread/thread/id/operator_cmp.html',0,'std::thread::id::operator<=()'],['http://en.cppreference.com/w/cpp/types/type_index/operator_cmp.html',0,'std::type_index::operator<=()'],['../db/d9a/classuint128__t.html#a16eb351c1d0ed3b89c771c63808e035a',1,'uint128_t::operator<=(const uint128_t &other)'],['../db/d9a/classuint128__t.html#a4562c218813c8705bccb25d8786ca77c',1,'uint128_t::operator<=(const T other)'],['../d1/d83/classuint256__t.html#a19c88f8f2736750822b82ef9a7096d88',1,'uint256_t::operator<=(const uint256_t &other)'],['../d1/d83/classuint256__t.html#a2029e9777f999bffef6004429b4f19f2',1,'uint256_t::operator<=(const T &other)'],['../dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle.html#af778034b2942ecac6df1e9ec8b5412ee',1,'machine_learning::aystar_search::EightPuzzle::operator<=()'],['http://en.cppreference.com/w/cpp/utility/rel_ops/operator_cmp.html',0,'std::rel_ops::operator<=()']]], - ['operator_3d_50',['operator=',['http://en.cppreference.com/w/cpp/io/basic_ofstream/operator=.html',0,'std::basic_ofstream::operator=()'],['http://en.cppreference.com/w/cpp/io/basic_fstream/operator=.html',0,'std::fstream::operator=()'],['http://en.cppreference.com/w/cpp/regex/regex_iterator/operator=.html',0,'std::regex_iterator::operator=()'],['http://en.cppreference.com/w/cpp/container/vector/operator=.html',0,'std::vector::operator=()'],['http://en.cppreference.com/w/cpp/container/multiset/operator=.html',0,'std::multiset::operator=()'],['http://en.cppreference.com/w/cpp/memory/weak_ptr/operator=.html',0,'std::weak_ptr::operator=()'],['http://en.cppreference.com/w/cpp/string/basic_string/operator=.html',0,'std::string::operator=()'],['http://en.cppreference.com/w/cpp/container/set/operator=.html',0,'std::set::operator=()'],['http://en.cppreference.com/w/cpp/thread/unique_lock/operator=.html',0,'std::unique_lock::operator=()'],['http://en.cppreference.com/w/cpp/io/basic_ostringstream/operator=.html',0,'std::basic_ostringstream::operator=()'],['http://en.cppreference.com/w/cpp/regex/basic_regex/operator=.html',0,'std::regex::operator=()'],['http://en.cppreference.com/w/cpp/container/unordered_map/operator=.html',0,'std::unordered_map::operator=()'],['http://en.cppreference.com/w/cpp/regex/basic_regex/operator=.html',0,'std::basic_regex::operator=()'],['http://en.cppreference.com/w/cpp/io/basic_filebuf/operator=.html',0,'std::basic_filebuf::operator=()'],['http://en.cppreference.com/w/cpp/io/basic_stringbuf/operator=.html',0,'std::wstringbuf::operator=()'],['http://en.cppreference.com/w/cpp/utility/tuple/operator=.html',0,'std::tuple::operator=()'],['http://en.cppreference.com/w/cpp/regex/regex_iterator/operator=.html',0,'std::sregex_iterator::operator=()'],['http://en.cppreference.com/w/cpp/memory/shared_ptr/operator=.html',0,'std::shared_ptr::operator=()'],['http://en.cppreference.com/w/cpp/memory/new/bad_alloc.html',0,'std::bad_alloc::operator=()'],['http://en.cppreference.com/w/cpp/io/basic_ostringstream/operator=.html',0,'std::ostringstream::operator=()'],['http://en.cppreference.com/w/cpp/io/basic_fstream/operator=.html',0,'std::basic_fstream::operator=()'],['http://en.cppreference.com/w/cpp/io/basic_stringbuf/operator=.html',0,'std::stringbuf::operator=()'],['http://en.cppreference.com/w/cpp/regex/regex_iterator/operator=.html',0,'std::wcregex_iterator::operator=()'],['http://en.cppreference.com/w/cpp/regex/basic_regex/operator=.html',0,'std::wregex::operator=()'],['http://en.cppreference.com/w/cpp/regex/regex_token_iterator/operator=.html',0,'std::cregex_token_iterator::operator=()'],['http://en.cppreference.com/w/cpp/io/basic_filebuf/operator=.html',0,'std::wfilebuf::operator=()'],['http://en.cppreference.com/w/cpp/container/stack/operator=.html',0,'std::stack::operator=()'],['http://en.cppreference.com/w/cpp/thread/shared_future/operator=.html',0,'std::shared_future::operator=()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/operator=.html',0,'std::wstreambuf::operator=()'],['http://en.cppreference.com/w/cpp/io/basic_stringstream/operator=.html',0,'std::stringstream::operator=()'],['http://en.cppreference.com/w/cpp/container/unordered_multimap/operator=.html',0,'std::unordered_multimap::operator=()'],['http://en.cppreference.com/w/cpp/memory/unique_ptr/operator=.html',0,'std::unique_ptr::operator=()'],['http://en.cppreference.com/w/cpp/container/forward_list/operator=.html',0,'std::forward_list::operator=()'],['http://en.cppreference.com/w/cpp/locale/locale/operator=.html',0,'std::locale::operator=()'],['http://en.cppreference.com/w/cpp/thread/shared_lock/operator=.html',0,'std::shared_lock::operator=()'],['http://en.cppreference.com/w/cpp/memory/enable_shared_from_this/operator=.html',0,'std::enable_shared_from_this::operator=()'],['http://en.cppreference.com/w/cpp/thread/future/operator=.html',0,'std::future::operator=()'],['http://en.cppreference.com/w/cpp/utility/pair/operator=.html',0,'std::pair::operator=()'],['http://en.cppreference.com/w/cpp/regex/regex_token_iterator/operator=.html',0,'std::wsregex_token_iterator::operator=()'],['http://en.cppreference.com/w/cpp/error/error_code/operator=.html',0,'std::error_code::operator=()'],['http://en.cppreference.com/w/cpp/io/basic_ifstream/operator=.html',0,'std::wifstream::operator=()'],['http://en.cppreference.com/w/cpp/utility/functional/reference_wrapper/operator=.html',0,'std::reference_wrapper::operator=()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator=.html',0,'std::chrono::minutes::operator=()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator=.html',0,'std::chrono::seconds::operator=()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator=.html',0,'std::chrono::duration::operator=()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator=.html',0,'std::chrono::milliseconds::operator=()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator=.html',0,'std::chrono::hours::operator=()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator=.html',0,'std::chrono::microseconds::operator=()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator=.html',0,'std::chrono::nanoseconds::operator=()'],['http://en.cppreference.com/w/cpp/io/basic_stringbuf/operator=.html',0,'std::basic_stringbuf::operator=()'],['http://en.cppreference.com/w/cpp/container/deque/operator=.html',0,'std::deque::operator=()'],['http://en.cppreference.com/w/cpp/thread/promise/operator=.html',0,'std::promise::operator=()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/operator=.html',0,'std::basic_streambuf::operator=()'],['http://en.cppreference.com/w/cpp/container/queue/operator=.html',0,'std::queue::operator=()'],['http://en.cppreference.com/w/cpp/atomic/atomic/operator=.html',0,'std::atomic::operator=()'],['http://en.cppreference.com/w/cpp/io/basic_stringstream/operator=.html',0,'std::basic_stringstream::operator=()'],['http://en.cppreference.com/w/cpp/thread/thread/operator=.html',0,'std::thread::operator=()'],['http://en.cppreference.com/w/cpp/string/basic_string/operator=.html',0,'std::basic_string::operator=()'],['http://en.cppreference.com/w/cpp/container/priority_queue/operator=.html',0,'std::priority_queue::operator=()'],['http://en.cppreference.com/w/cpp/io/basic_ostringstream/operator=.html',0,'std::wostringstream::operator=()'],['http://en.cppreference.com/w/cpp/regex/regex_iterator/operator=.html',0,'std::cregex_iterator::operator=()'],['http://en.cppreference.com/w/cpp/string/basic_string/operator=.html',0,'std::wstring::operator=()'],['http://en.cppreference.com/w/cpp/container/unordered_multiset/operator=.html',0,'std::unordered_multiset::operator=()'],['http://en.cppreference.com/w/cpp/regex/regex_iterator/operator=.html',0,'std::wsregex_iterator::operator=()'],['http://en.cppreference.com/w/cpp/utility/functional/function/operator=.html',0,'std::function::operator=()'],['http://en.cppreference.com/w/cpp/error/error_condition/operator=.html',0,'std::error_condition::operator=()'],['http://en.cppreference.com/w/cpp/io/basic_filebuf/operator=.html',0,'std::filebuf::operator=()'],['http://en.cppreference.com/w/cpp/string/basic_string/operator=.html',0,'std::u16string::operator=()'],['http://en.cppreference.com/w/cpp/string/basic_string/operator=.html',0,'std::u32string::operator=()'],['http://en.cppreference.com/w/cpp/numeric/complex/operator=.html',0,'std::complex::operator=()'],['http://en.cppreference.com/w/cpp/io/basic_ofstream/operator=.html',0,'std::ofstream::operator=()'],['http://en.cppreference.com/w/cpp/io/basic_istringstream/operator=.html',0,'std::basic_istringstream::operator=()'],['http://en.cppreference.com/w/cpp/io/basic_ifstream/operator=.html',0,'std::basic_ifstream::operator=()'],['http://en.cppreference.com/w/cpp/container/list/operator=.html',0,'std::list::operator=()'],['http://en.cppreference.com/w/cpp/container/map/operator=.html',0,'std::map::operator=()'],['http://en.cppreference.com/w/cpp/error/exception/operator=.html',0,'std::exception::operator=()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/operator=.html',0,'std::streambuf::operator=()'],['http://en.cppreference.com/w/cpp/experimental/optional/operator=.html',0,'std::experimental::optional::operator=()'],['http://en.cppreference.com/w/cpp/regex/regex_token_iterator/operator=.html',0,'std::wcregex_token_iterator::operator=()'],['http://en.cppreference.com/w/cpp/regex/regex_token_iterator/operator=.html',0,'std::regex_token_iterator::operator=()'],['http://en.cppreference.com/w/cpp/io/basic_istringstream/operator=.html',0,'std::istringstream::operator=()'],['http://en.cppreference.com/w/cpp/error/nested_exception/operator=.html',0,'std::nested_exception::operator=()'],['http://en.cppreference.com/w/cpp/memory/auto_ptr/operator=.html',0,'std::auto_ptr::operator=()'],['http://en.cppreference.com/w/cpp/regex/regex_token_iterator/operator=.html',0,'std::sregex_token_iterator::operator=()'],['http://en.cppreference.com/w/cpp/thread/packaged_task/operator=.html',0,'std::packaged_task::operator=()'],['http://en.cppreference.com/w/cpp/container/unordered_set/operator=.html',0,'std::unordered_set::operator=()'],['http://en.cppreference.com/w/cpp/io/basic_fstream/operator=.html',0,'std::wfstream::operator=()'],['http://en.cppreference.com/w/cpp/container/multimap/operator=.html',0,'std::multimap::operator=()'],['http://en.cppreference.com/w/cpp/atomic/atomic_flag/operator=.html',0,'std::atomic_flag::operator=()'],['http://en.cppreference.com/w/cpp/io/basic_ofstream/operator=.html',0,'std::wofstream::operator=()'],['http://en.cppreference.com/w/cpp/io/basic_stringstream/operator=.html',0,'std::wstringstream::operator=()'],['http://en.cppreference.com/w/cpp/io/basic_istringstream/operator=.html',0,'std::wistringstream::operator=()'],['http://en.cppreference.com/w/cpp/io/basic_ifstream/operator=.html',0,'std::ifstream::operator=()'],['http://en.cppreference.com/w/cpp/memory/raw_storage_iterator/operator=.html',0,'std::raw_storage_iterator::operator=()'],['../db/d9a/classuint128__t.html#ac924cc09bbb919532dc42f1f93f6f544',1,'uint128_t::operator=(const T &p)'],['../db/d9a/classuint128__t.html#abae08ef3c1d6dc512edd68ca68327f74',1,'uint128_t::operator=(const std::string &p)'],['../db/d9a/classuint128__t.html#ab6aa4d14ed52c7c640468c45350da0c5',1,'uint128_t::operator=(const uint128_t &p)=default'],['../db/d9a/classuint128__t.html#a3c4a7e775a0820196fc08303bbeed44a',1,'uint128_t::operator=(uint128_t &&p)=default'],['../d1/d83/classuint256__t.html#a4c6db67d21c4927a45a4e1e7c2357bfc',1,'uint256_t::operator=(const uint256_t &p)=default'],['../d1/d83/classuint256__t.html#addff5645f6005e7b50a6ad0731e4f19c',1,'uint256_t::operator=(const T &p)'],['../d1/d83/classuint256__t.html#a86aab081bb7db2771e4a4f30c3eed8e2',1,'uint256_t::operator=(const std::string &p)'],['../d1/d83/classuint256__t.html#a6c5e025f901f6af4b748f98013350638',1,'uint256_t::operator=(uint256_t &&p)=default'],['../d1/def/classdata__structures_1_1linked__list_1_1list.html#adb04f732911fcfd30f7177b367c6af41',1,'data_structures::linked_list::list::operator=()'],['../dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle.html#a467e722dc1fcc82bfb4cef55744e04e2',1,'machine_learning::aystar_search::EightPuzzle::operator=(const EightPuzzle &A)'],['../dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle.html#a1802cf6197a255055cb734d626abc101',1,'machine_learning::aystar_search::EightPuzzle::operator=(EightPuzzle &&A) noexcept'],['../da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html#ac77d992953fa0de10a755e5a9aa06317',1,'machine_learning::aystar_search::AyStarSearch::Info::operator=(const Info &A)'],['../da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html#ad3993dbca9c5b3ef9ac361dc7f62ce57',1,'machine_learning::aystar_search::AyStarSearch::Info::operator=(Info &&A) noexcept'],['../da/d94/classmachine__learning_1_1k__nearest__neighbors_1_1_knn.html#a080f5b1742832a03c1cbba596a48bd1a',1,'machine_learning::k_nearest_neighbors::Knn::operator=(const Knn &model)=default'],['../da/d94/classmachine__learning_1_1k__nearest__neighbors_1_1_knn.html#ac06986d5afddc767ddba4da738f75563',1,'machine_learning::k_nearest_neighbors::Knn::operator=(Knn &&)=default'],['../dc/d93/classmachine__learning_1_1neural__network_1_1layers_1_1_dense_layer.html#ae077132526d2863e46aa77cb0f7d6aa2',1,'machine_learning::neural_network::layers::DenseLayer::operator=(const DenseLayer &layer)=default'],['../dc/d93/classmachine__learning_1_1neural__network_1_1layers_1_1_dense_layer.html#a19aaccad279b22dbbb6c55e5697b4114',1,'machine_learning::neural_network::layers::DenseLayer::operator=(DenseLayer &&)=default'],['../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#a58a9614e4c6d4ca672d3358e99a3404f',1,'machine_learning::neural_network::NeuralNetwork::operator=(const NeuralNetwork &model)=default'],['../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#a2c49bfebf9b859d5ceb26035d3003601',1,'machine_learning::neural_network::NeuralNetwork::operator=(NeuralNetwork &&)=default'],['../da/d5a/class_complex.html#a4ac9f529d54cacf2969f2c7179b4c4ac',1,'Complex::operator=()'],['../db/d82/classlarge__number.html#ab84f29685709cbb3b6fd29b7b4a7bc7b',1,'large_number::operator=()'],['../d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list.html#a9cc37166f2f73763df39894b675f89c9',1,'operations_on_datastructures::circular_linked_list::CircularLinkedList::operator=(const CircularLinkedList &other)'],['../d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list.html#a8f26dc32615abc5bab8ac458ef424bc5',1,'operations_on_datastructures::circular_linked_list::CircularLinkedList::operator=(CircularLinkedList &&other) noexcept']]], - ['operator_3d_3d_51',['operator==',['http://en.cppreference.com/w/cpp/regex/regex_iterator/operator_cmp.html',0,'std::regex_iterator::operator==()'],['http://en.cppreference.com/w/cpp/regex/regex_iterator/operator_cmp.html',0,'std::sregex_iterator::operator==()'],['http://en.cppreference.com/w/cpp/regex/regex_iterator/operator_cmp.html',0,'std::wcregex_iterator::operator==()'],['http://en.cppreference.com/w/cpp/regex/regex_token_iterator/operator_cmp.html',0,'std::cregex_token_iterator::operator==()'],['http://en.cppreference.com/w/cpp/locale/locale/operator_cmp.html',0,'std::locale::operator==()'],['http://en.cppreference.com/w/cpp/regex/regex_token_iterator/operator_cmp.html',0,'std::wsregex_token_iterator::operator==()'],['http://en.cppreference.com/w/cpp/error/error_category/operator_cmp.html',0,'std::error_category::operator==()'],['http://en.cppreference.com/w/cpp/types/type_info/operator_cmp.html',0,'std::type_info::operator==()'],['http://en.cppreference.com/w/cpp/utility/bitset/operator_cmp.html',0,'std::bitset::operator==()'],['http://en.cppreference.com/w/cpp/thread/thread/id/operator_cmp.html',0,'std::thread::id::operator==()'],['http://en.cppreference.com/w/cpp/regex/regex_iterator/operator_cmp.html',0,'std::cregex_iterator::operator==()'],['http://en.cppreference.com/w/cpp/regex/regex_iterator/operator_cmp.html',0,'std::wsregex_iterator::operator==()'],['http://en.cppreference.com/w/cpp/types/type_index/operator_cmp.html',0,'std::type_index::operator==()'],['http://en.cppreference.com/w/cpp/regex/regex_token_iterator/operator_cmp.html',0,'std::wcregex_token_iterator::operator==()'],['http://en.cppreference.com/w/cpp/regex/regex_token_iterator/operator_cmp.html',0,'std::regex_token_iterator::operator==()'],['http://en.cppreference.com/w/cpp/regex/regex_token_iterator/operator_cmp.html',0,'std::sregex_token_iterator::operator==()'],['../d6/d45/structciphers_1_1elliptic__curve__key__exchange_1_1_point.html#a5084e9ca27837662c31d4dc003815446',1,'ciphers::elliptic_curve_key_exchange::Point::operator==()'],['../db/d9a/classuint128__t.html#a7b1de5584505c189664d0edd306e979e',1,'uint128_t::operator==(const uint128_t &other)'],['../db/d9a/classuint128__t.html#a7a95e3accdac1cb38c9767f9550c0896',1,'uint128_t::operator==(const T other)'],['../d1/d83/classuint256__t.html#a90ce75bec5b525de55bbf92c564a2261',1,'uint256_t::operator==(const uint256_t &other)'],['../d1/d83/classuint256__t.html#a9879f7ec85fc148e1931fcb492ddc484',1,'uint256_t::operator==(const T &other)'],['../dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix.html#a562faa16a4b4ed5d4804823c56f99c9c',1,'divide_and_conquer::strassens_multiplication::Matrix::operator==()'],['../dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle.html#aa17e0227321b109ed91e156ac1332915',1,'machine_learning::aystar_search::EightPuzzle::operator==()'],['../db/d82/classlarge__number.html#a7ba872b9a3ce1f3da6c06c5409663cca',1,'large_number::operator=='],['../d5/d67/complex__numbers_8cpp.html#a5a73e9d4e68af8cedb95bd0864054b89',1,'operator==(): complex_numbers.cpp']]], - ['operator_3e_52',['operator>',['http://en.cppreference.com/w/cpp/thread/thread/id/operator_cmp.html',0,'std::thread::id::operator>()'],['http://en.cppreference.com/w/cpp/types/type_index/operator_cmp.html',0,'std::type_index::operator>()'],['../db/d9a/classuint128__t.html#a291d2787d668e8d06a7cfab0f5144440',1,'uint128_t::operator>(const uint128_t &other)'],['../db/d9a/classuint128__t.html#a82c63f8c18b8d2d255b8b0d373ac7d6e',1,'uint128_t::operator>(const T other)'],['../d1/d83/classuint256__t.html#acadd235e0029ec43d5990d24affaf42d',1,'uint256_t::operator>(const uint256_t &other)'],['../d1/d83/classuint256__t.html#ad74d33215517459c2b33ace7a9c6bc13',1,'uint256_t::operator>(const T &other)'],['http://en.cppreference.com/w/cpp/utility/rel_ops/operator_cmp.html',0,'std::rel_ops::operator>()']]], - ['operator_3e_3d_53',['operator>=',['http://en.cppreference.com/w/cpp/thread/thread/id/operator_cmp.html',0,'std::thread::id::operator>=()'],['http://en.cppreference.com/w/cpp/types/type_index/operator_cmp.html',0,'std::type_index::operator>=()'],['../db/d9a/classuint128__t.html#ae7af1bad048942eeabc092d8e0194292',1,'uint128_t::operator>=(const uint128_t &other)'],['../db/d9a/classuint128__t.html#a334bc710f411f108a0243b24ac73b481',1,'uint128_t::operator>=(const T other)'],['../d1/d83/classuint256__t.html#adf09395f9113a69a05fed7e25b46c8ad',1,'uint256_t::operator>=(const uint256_t &other)'],['../d1/d83/classuint256__t.html#aff4d49cf84de64301b169ad974f00bad',1,'uint256_t::operator>=(const T &other)'],['http://en.cppreference.com/w/cpp/utility/rel_ops/operator_cmp.html',0,'std::rel_ops::operator>=()']]], - ['operator_3e_3e_54',['operator>>',['http://en.cppreference.com/w/cpp/io/basic_istream/operator_gtgt.html',0,'std::fstream::operator>>()'],['http://en.cppreference.com/w/cpp/io/basic_istream/operator_gtgt.html',0,'std::basic_fstream::operator>>()'],['http://en.cppreference.com/w/cpp/io/basic_istream/operator_gtgt.html',0,'std::iostream::operator>>()'],['http://en.cppreference.com/w/cpp/io/basic_istream/operator_gtgt.html',0,'std::wistream::operator>>()'],['http://en.cppreference.com/w/cpp/io/basic_istream/operator_gtgt.html',0,'std::stringstream::operator>>()'],['http://en.cppreference.com/w/cpp/io/basic_istream/operator_gtgt.html',0,'std::wifstream::operator>>()'],['http://en.cppreference.com/w/cpp/io/basic_istream/operator_gtgt.html',0,'std::basic_istream::operator>>()'],['http://en.cppreference.com/w/cpp/io/basic_istream/operator_gtgt.html',0,'std::strstream::operator>>()'],['http://en.cppreference.com/w/cpp/io/basic_istream/operator_gtgt.html',0,'std::basic_stringstream::operator>>()'],['http://en.cppreference.com/w/cpp/utility/bitset/operator_ltltgtgt.html',0,'std::bitset::operator>>()'],['http://en.cppreference.com/w/cpp/io/basic_istream/operator_gtgt.html',0,'std::istrstream::operator>>()'],['http://en.cppreference.com/w/cpp/io/basic_istream/operator_gtgt.html',0,'std::wiostream::operator>>()'],['http://en.cppreference.com/w/cpp/io/basic_istream/operator_gtgt.html',0,'std::basic_istringstream::operator>>()'],['http://en.cppreference.com/w/cpp/io/basic_istream/operator_gtgt.html',0,'std::basic_ifstream::operator>>()'],['http://en.cppreference.com/w/cpp/io/basic_istream/operator_gtgt.html',0,'std::istringstream::operator>>()'],['http://en.cppreference.com/w/cpp/io/basic_istream/operator_gtgt.html',0,'std::istream::operator>>()'],['http://en.cppreference.com/w/cpp/io/basic_istream/operator_gtgt.html',0,'std::wfstream::operator>>()'],['http://en.cppreference.com/w/cpp/io/basic_istream/operator_gtgt.html',0,'std::basic_iostream::operator>>()'],['http://en.cppreference.com/w/cpp/io/basic_istream/operator_gtgt.html',0,'std::wstringstream::operator>>()'],['http://en.cppreference.com/w/cpp/io/basic_istream/operator_gtgt.html',0,'std::wistringstream::operator>>()'],['http://en.cppreference.com/w/cpp/io/basic_istream/operator_gtgt.html',0,'std::ifstream::operator>>()'],['../db/d9a/classuint128__t.html#a6f24982de03e0e3d04ac7f8ae30f5848',1,'uint128_t::operator>>()'],['../d1/d83/classuint256__t.html#a47a19142e86b7369e18da1fc0a713c51',1,'uint256_t::operator>>()'],['../d7/d7c/classstatistics_1_1stats__computer1.html#a350bf6c429691d3578c4dfc6679a0797',1,'statistics::stats_computer1::operator>>'],['../d8/dab/classstatistics_1_1stats__computer2.html#ab444d485c9e7db35bdc2ff6b7775291a',1,'statistics::stats_computer2::operator>>']]], - ['operator_3e_3e_3d_55',['operator>>=',['http://en.cppreference.com/w/cpp/utility/bitset/operator_ltltgtgt.html',0,'std::bitset::operator>>=()'],['../db/d9a/classuint128__t.html#a0ae5fc0c2bcc9138b32d7582466aa7f9',1,'uint128_t::operator>>=()'],['../d1/d83/classuint256__t.html#ad9ce2370b1497efbcc426793048e1f78',1,'uint256_t::operator>>=()']]], - ['operator_5b_5d_56',['operator[]',['http://en.cppreference.com/w/cpp/container/dynarray/operator_at.html',0,'std::dynarray::operator[]()'],['http://en.cppreference.com/w/cpp/container/vector/operator_at.html',0,'std::vector::operator[]()'],['http://en.cppreference.com/w/cpp/regex/match_results/operator_at.html',0,'std::match_results::operator[]()'],['http://en.cppreference.com/w/cpp/string/basic_string/operator_at.html',0,'std::string::operator[]()'],['http://en.cppreference.com/w/cpp/container/unordered_map/operator_at.html',0,'std::unordered_map::operator[]()'],['http://en.cppreference.com/w/cpp/regex/match_results/operator_at.html',0,'std::wsmatch::operator[]()'],['http://en.cppreference.com/w/cpp/regex/match_results/operator_at.html',0,'std::smatch::operator[]()'],['http://en.cppreference.com/w/cpp/regex/match_results/operator_at.html',0,'std::wcmatch::operator[]()'],['http://en.cppreference.com/w/cpp/container/deque/operator_at.html',0,'std::deque::operator[]()'],['http://en.cppreference.com/w/cpp/utility/bitset/operator_at.html',0,'std::bitset::operator[]()'],['http://en.cppreference.com/w/cpp/string/basic_string/operator_at.html',0,'std::basic_string::operator[]()'],['http://en.cppreference.com/w/cpp/string/basic_string/operator_at.html',0,'std::wstring::operator[]()'],['http://en.cppreference.com/w/cpp/string/basic_string/operator_at.html',0,'std::u16string::operator[]()'],['http://en.cppreference.com/w/cpp/string/basic_string/operator_at.html',0,'std::u32string::operator[]()'],['http://en.cppreference.com/w/cpp/container/map/operator_at.html',0,'std::map::operator[]()'],['http://en.cppreference.com/w/cpp/regex/match_results/operator_at.html',0,'std::cmatch::operator[]()'],['http://en.cppreference.com/w/cpp/container/array/operator_at.html',0,'std::array::operator[]()'],['../dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix.html#ac4c64e5723fa12a043fd0a7f5ed5bb37',1,'divide_and_conquer::strassens_multiplication::Matrix::operator[]()'],['../db/d82/classlarge__number.html#a8c381aa1ecc960cefd82ec72f59e0e08',1,'large_number::operator[]()']]], - ['operator_5e_57',['operator^',['../db/d9a/classuint128__t.html#aab88fd72d0370b12e4a257e378b82d37',1,'uint128_t::operator^(const T p)'],['../db/d9a/classuint128__t.html#a9487ed06019d846add5dc8874e41eb8b',1,'uint128_t::operator^(const uint128_t &p)'],['../d1/d83/classuint256__t.html#acb61fe17d064c61adc02defa651f9a5e',1,'uint256_t::operator^(const T &p)'],['../d1/d83/classuint256__t.html#a74d1e1dd8cd2b31e00813ed939943be7',1,'uint256_t::operator^(const uint256_t &p)']]], - ['operator_5e_3d_58',['operator^=',['http://en.cppreference.com/w/cpp/atomic/atomic/operator_arith2.html',0,'std::atomic::operator^=()'],['http://en.cppreference.com/w/cpp/utility/bitset/operator_logic.html',0,'std::bitset::operator^=()'],['../db/d9a/classuint128__t.html#ae3f0ef8a3f68d9cbd9d99e772f1a947a',1,'uint128_t::operator^=(const uint128_t &p)'],['../db/d9a/classuint128__t.html#a44fd2a4a4cc1d13f93ac222db5a46c67',1,'uint128_t::operator^=(const T &p)'],['../d1/d83/classuint256__t.html#ac92ac0b2368990fbbaf3cca3ee8247d7',1,'uint256_t::operator^=(const uint256_t &p)'],['../d1/d83/classuint256__t.html#a3dc4d3ab175f5f2a3172eb8d99a60fc3',1,'uint256_t::operator^=(const T &p)']]], - ['operator_7c_59',['operator|',['../db/d9a/classuint128__t.html#a3facc74d6d078604fe2c80d0abfd3304',1,'uint128_t::operator|(const T p)'],['../db/d9a/classuint128__t.html#a2fda65032d9fdbaf9142a6322654dbdd',1,'uint128_t::operator|(const uint128_t &p)'],['../d1/d83/classuint256__t.html#acefecc3b1a4044f2be5ab46eea0099bf',1,'uint256_t::operator|(const T &p)'],['../d1/d83/classuint256__t.html#a2d7c8a1a5ecaf3e0dcb4bf6b6cff2da2',1,'uint256_t::operator|(const uint256_t &p)']]], - ['operator_7c_3d_60',['operator|=',['http://en.cppreference.com/w/cpp/atomic/atomic/operator_arith2.html',0,'std::atomic::operator|=()'],['http://en.cppreference.com/w/cpp/utility/bitset/operator_logic.html',0,'std::bitset::operator|=()'],['../db/d9a/classuint128__t.html#ab88330f3c4f3bcde75dc5ef9eb8eb39d',1,'uint128_t::operator|=(const uint128_t &p)'],['../db/d9a/classuint128__t.html#a6110aa452a6d114fcd2f42d2bc106fee',1,'uint128_t::operator|=(const T p)'],['../d1/d83/classuint256__t.html#af0a6e09fcf1cbf234ed32df6d7265a0b',1,'uint256_t::operator|=(const T &p)'],['../d1/d83/classuint256__t.html#aa28ae272e9176557133a10dffa3b94dc',1,'uint256_t::operator|=(const uint256_t &p)']]], - ['operator_7c_7c_61',['operator||',['../db/d9a/classuint128__t.html#a312509b1c5b3ae5eaaf342f2ba131d03',1,'uint128_t::operator||(const uint128_t &b)'],['../db/d9a/classuint128__t.html#a817b66c32268cf46244058a50db99503',1,'uint128_t::operator||(const T b)'],['../d1/d83/classuint256__t.html#a41f4bb928c4ee067732503395b65f9d7',1,'uint256_t::operator||(const uint256_t &b)'],['../d1/d83/classuint256__t.html#a4886747ffff15cdeb6bc93712629f9e7',1,'uint256_t::operator||(const T &b)']]], - ['operator_7e_62',['operator~',['http://en.cppreference.com/w/cpp/utility/bitset/operator_logic.html',0,'std::bitset::operator~()'],['../db/d9a/classuint128__t.html#a43eafd4824666b413befe5edbc90ae7f',1,'uint128_t::operator~()'],['../d1/d83/classuint256__t.html#a6eec1f632aebfc44fee8a74c395e10c2',1,'uint256_t::operator~()'],['../da/d5a/class_complex.html#a8d5427f6c42c15283031d73e1418c59d',1,'Complex::operator~()']]], - ['optional_63',['optional',['http://en.cppreference.com/w/cpp/experimental/optional.html',0,'std::experimental::optional'],['http://en.cppreference.com/w/cpp/experimental/optional/optional.html',0,'std::experimental::optional::optional()']]], - ['ordinary_20differential_20equations_64',['Ordinary Differential Equations',['../d6/d60/group__ode.html',1,'']]], - ['ordinary_5fleast_5fsquares_5fregressor_2ecpp_65',['ordinary_least_squares_regressor.cpp',['../dc/d38/ordinary__least__squares__regressor_8cpp.html',1,'']]], - ['orientation_66',['orientation',['../d4/dde/classgeometry_1_1jarvis_1_1_convexhull.html#a54df5f9a8f37170bd97c91127664655c',1,'geometry::jarvis::Convexhull']]], - ['ostream_67',['ostream',['http://en.cppreference.com/w/cpp/io/basic_ostream.html',0,'std::ostream'],['http://en.cppreference.com/w/cpp/io/basic_ostream/basic_ostream.html',0,'std::ostream::ostream()']]], - ['ostream_5fiterator_68',['ostream_iterator',['http://en.cppreference.com/w/cpp/iterator/ostream_iterator.html',0,'std']]], - ['ostreambuf_5fiterator_69',['ostreambuf_iterator',['http://en.cppreference.com/w/cpp/iterator/ostreambuf_iterator.html',0,'std']]], - ['ostringstream_70',['ostringstream',['http://en.cppreference.com/w/cpp/io/basic_ostringstream.html',0,'std::ostringstream'],['http://en.cppreference.com/w/cpp/io/basic_ostringstream/basic_ostringstream.html',0,'std::ostringstream::ostringstream()']]], - ['ostrstream_71',['ostrstream',['http://en.cppreference.com/w/cpp/io/ostrstream.html',0,'std::ostrstream'],['http://en.cppreference.com/w/cpp/io/ostrstream/ostrstream.html',0,'std::ostrstream::ostrstream()']]], - ['otherhashfxn_72',['otherHashFxn',['../d0/d65/namespacedouble__hashing.html#a33968a1178289ab61445dd4000df7082',1,'double_hashing']]], - ['others_73',['Others',['../d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md62',1,'']]], - ['others_74',['others',['../d0/d6f/namespaceothers.html',1,'']]], - ['others_3a_3acache_75',['Cache',['../db/dde/namespaceothers_1_1_cache.html',1,'others']]], - ['our_20pledge_76',['Our Pledge',['../d3/dd7/md__c_o_d_e___o_f___c_o_n_d_u_c_t.html#autotoc_md5',1,'']]], - ['our_20standards_77',['Our Standards',['../d3/dd7/md__c_o_d_e___o_f___c_o_n_d_u_c_t.html#autotoc_md6',1,'']]], - ['out_78',['out',['http://en.cppreference.com/w/cpp/locale/codecvt/out.html',0,'std::codecvt::out()'],['http://en.cppreference.com/w/cpp/locale/codecvt/out.html',0,'std::codecvt_byname::out()'],['http://en.cppreference.com/w/cpp/locale/codecvt/out.html',0,'std::codecvt_utf8::out()'],['http://en.cppreference.com/w/cpp/locale/codecvt/out.html',0,'std::codecvt_utf8_utf16::out()'],['http://en.cppreference.com/w/cpp/locale/codecvt/out.html',0,'std::codecvt_utf16::out()']]], - ['out_5fof_5frange_79',['out_of_range',['http://en.cppreference.com/w/cpp/error/out_of_range.html',0,'std::out_of_range'],['http://en.cppreference.com/w/cpp/error/out_of_range.html',0,'std::out_of_range::out_of_range()']]], - ['outer_5fallocator_80',['outer_allocator',['http://en.cppreference.com/w/cpp/memory/scoped_allocator_adaptor/outer_allocator.html',0,'std::scoped_allocator_adaptor']]], - ['output_5fiterator_5ftag_81',['output_iterator_tag',['http://en.cppreference.com/w/cpp/iterator/iterator_tags.html',0,'std']]], - ['overflow_82',['overflow',['http://en.cppreference.com/w/cpp/io/basic_streambuf/overflow.html',0,'std::basic_filebuf::overflow()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/overflow.html',0,'std::wstringbuf::overflow()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/overflow.html',0,'std::stringbuf::overflow()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/overflow.html',0,'std::wfilebuf::overflow()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/overflow.html',0,'std::wstreambuf::overflow()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/overflow.html',0,'std::strstreambuf::overflow()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/overflow.html',0,'std::basic_stringbuf::overflow()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/overflow.html',0,'std::basic_streambuf::overflow()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/overflow.html',0,'std::filebuf::overflow()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/overflow.html',0,'std::streambuf::overflow()']]], - ['overflow_5ferror_83',['overflow_error',['http://en.cppreference.com/w/cpp/error/overflow_error.html',0,'std::overflow_error'],['http://en.cppreference.com/w/cpp/error/overflow_error.html',0,'std::overflow_error::overflow_error()']]], - ['overview_84',['Overview',['../index.html#autotoc_md103',1,'']]], - ['owner_5fbefore_85',['owner_before',['http://en.cppreference.com/w/cpp/memory/weak_ptr/owner_before.html',0,'std::weak_ptr::owner_before()'],['http://en.cppreference.com/w/cpp/memory/shared_ptr/owner_before.html',0,'std::shared_ptr::owner_before()']]], - ['owner_5fless_86',['owner_less',['http://en.cppreference.com/w/cpp/memory/owner_less.html',0,'std']]], - ['owns_5flock_87',['owns_lock',['http://en.cppreference.com/w/cpp/thread/unique_lock/owns_lock.html',0,'std::unique_lock::owns_lock()'],['http://en.cppreference.com/w/cpp/thread/shared_lock/owns_lock.html',0,'std::shared_lock::owns_lock()']]] + ['ode_5fforward_5feuler_2ecpp_0',['ode_forward_euler.cpp',['../db/dd3/ode__forward__euler_8cpp.html',1,'']]], + ['ode_5fmidpoint_5feuler_2ecpp_1',['ode_midpoint_euler.cpp',['../d6/dd3/ode__midpoint__euler_8cpp.html',1,'']]], + ['ode_5fsemi_5fimplicit_5feuler_2ecpp_2',['ode_semi_implicit_euler.cpp',['../d3/d06/ode__semi__implicit__euler_8cpp.html',1,'']]], + ['of_20a_20program_3',['Typical structure of a program',['../d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md31',1,'']]], + ['of_20a_20tree_4',['of a tree',['../d8/d90/iterative__tree__traversals_8cpp.html#autotoc_md95',1,'Iterative Inorder Traversal of a tree'],['../dc/de1/recursive__tree__traversal_8cpp.html#autotoc_md99',1,'Iterative Inorder Traversal of a tree'],['../d8/d90/iterative__tree__traversals_8cpp.html#autotoc_md94',1,'Iterative Postorder Traversal of a tree'],['../dc/de1/recursive__tree__traversal_8cpp.html#autotoc_md101',1,'Iterative Postorder Traversal of a tree'],['../d8/d90/iterative__tree__traversals_8cpp.html#autotoc_md93',1,'Iterative Preorder Traversal of a tree'],['../dc/de1/recursive__tree__traversal_8cpp.html#autotoc_md100',1,'Iterative Preorder Traversal of a tree']]], + ['of_20conduct_5',['Contributor Covenant Code of Conduct',['../d3/dd7/md__c_o_d_e___o_f___c_o_n_d_u_c_t.html',1,'']]], + ['of_20parent_20nodes_6',['Method 1: Use parent pointer (store the address of parent nodes)',['../d4/d32/inorder__successor__of__bst_8cpp.html#autotoc_md91',1,'']]], + ['offset_7',['offset',['../de/d0d/classrange__queries_1_1fenwick__tree.html#ab492ebf07cab0e3c32d277ad986de801',1,'range_queries::fenwick_tree']]], + ['ols_5ftest_8',['ols_test',['../dc/d38/ordinary__least__squares__regressor_8cpp.html#a4261f3c3c3dfdb86f3004eb8aaffea8d',1,'ordinary_least_squares_regressor.cpp']]], + ['on_20datastructures_9',['Operations On Datastructures',['../d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md61',1,'']]], + ['on_5fsegment_10',['on_segment',['../d4/db4/struct_segment_intersection.html#a008941b2272866c64cdaf959afa939bf',1,'SegmentIntersection']]], + ['open_20addressing_11',['Open Addressing',['../d4/d39/group__open__addressing.html',1,'']]], + ['opening_12',['opening',['../dc/dc5/paranthesis__matching_8cpp.html#ade525d33459755a32ba21e1b6910ff21',1,'paranthesis_matching.cpp']]], + ['operations_20on_20datastructures_13',['Operations On Datastructures',['../d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md61',1,'']]], + ['operations_5fon_5fdatastructures_14',['operations_on_datastructures',['../da/d6d/namespaceoperations__on__datastructures.html',1,'']]], + ['operator_20bool_15',['operator bool',['../db/d9a/classuint128__t.html#a6d45302022ef7f5195458f41b8aedb6e',1,'uint128_t::operator bool()'],['../d1/d83/classuint256__t.html#a28aa5786bbfce1b00398a8d38691bdaa',1,'uint256_t::operator bool()']]], + ['operator_20t_16',['operator T',['../db/d9a/classuint128__t.html#a75767cb2b6fd47ecb1f721755fdc7639',1,'uint128_t::operator T()'],['../d1/d83/classuint256__t.html#a9e1b39a46ea16bc6587e25e294c6c363',1,'uint256_t::operator T() const']]], + ['operator_20uint128_5ft_17',['operator uint128_t',['../d1/d83/classuint256__t.html#ad5bd38b2d3becca998457af1124d6e8b',1,'uint256_t']]], + ['operator_21_18',['operator!',['../db/d9a/classuint128__t.html#ad24d6fe1fe63f415fee806b377dfa47d',1,'uint128_t::operator!()'],['../d1/d83/classuint256__t.html#a028c585069fa53b74c153667ff66352c',1,'uint256_t::operator!()']]], + ['operator_21_3d_19',['operator!=',['../db/d9a/classuint128__t.html#ab3359b104bbb5a31c11c2027387c4b4e',1,'uint128_t::operator!=(const uint128_t &other)'],['../db/d9a/classuint128__t.html#a7737bb30a5480c7286546b911d82e696',1,'uint128_t::operator!=(const T other)'],['../d1/d83/classuint256__t.html#aae68a7bd17c14a926fb77758b5c8e547',1,'uint256_t::operator!=(const uint256_t &other)'],['../d1/d83/classuint256__t.html#a89cf7fa466458ee08edd9a809d072bcb',1,'uint256_t::operator!=(const T &other)'],['../db/d82/classlarge__number.html#a72ae1ef050c4c28c50952ecab22d4b94',1,'large_number::operator!=']]], + ['operator_25_20',['operator%',['../db/d9a/classuint128__t.html#abfc6a8765039cacc829a5cd386b5a066',1,'uint128_t::operator%(const uint128_t &p)'],['../db/d9a/classuint128__t.html#add9938b97fc66560cec2d32e8c83eaad',1,'uint128_t::operator%(const T &p)'],['../d1/d83/classuint256__t.html#ad4928175eaaaa2b559bc945affe63ad2',1,'uint256_t::operator%(const uint256_t &p)'],['../d1/d83/classuint256__t.html#a7bd9693b88c4df08b1f8d1fd81c597cc',1,'uint256_t::operator%(const T &p)']]], + ['operator_25_3d_21',['operator%=',['../db/d9a/classuint128__t.html#a279209a184db20a7ffc8e687fdb05be2',1,'uint128_t::operator%=(const uint128_t &p)'],['../db/d9a/classuint128__t.html#a0500a90bcde5a8254750c361eed9bc40',1,'uint128_t::operator%=(const T &p)'],['../d1/d83/classuint256__t.html#a2cd43a4a92dc825a010a17578b3bdedb',1,'uint256_t::operator%=(const uint256_t &p)'],['../d1/d83/classuint256__t.html#a76914bc727eab927a3941ef71275327d',1,'uint256_t::operator%=(const T &p)']]], + ['operator_26_22',['operator&',['../db/d9a/classuint128__t.html#ad1717d3a38391258befa413b7e2b9244',1,'uint128_t::operator&(const uint128_t &p)'],['../db/d9a/classuint128__t.html#a9fa81ef0d54ecb9050d0be4249358ca4',1,'uint128_t::operator&(const T p)'],['../d1/d83/classuint256__t.html#a6eadaa829087e07eebafca3981566bb8',1,'uint256_t::operator&(const T &p)'],['../d1/d83/classuint256__t.html#a9bc6cc460108306a59281ce4ca216839',1,'uint256_t::operator&(const uint256_t &p)']]], + ['operator_26_26_23',['operator&&',['../db/d9a/classuint128__t.html#ab07413c67d205e406abf3a9f554d59e1',1,'uint128_t::operator&&(const uint128_t &b)'],['../db/d9a/classuint128__t.html#a0ad881643c707f6ae3c5de3822a8cb8a',1,'uint128_t::operator&&(const T b)'],['../d1/d83/classuint256__t.html#aa0e532832640e9fe273b35c481b18963',1,'uint256_t::operator&&(const uint256_t &b)'],['../d1/d83/classuint256__t.html#a303287d7bc8686dcb47fcb04720ad409',1,'uint256_t::operator&&(const T &b)']]], + ['operator_26_3d_24',['operator&=',['../db/d9a/classuint128__t.html#ac7d55ed3bac01075b9cd11cc59508050',1,'uint128_t::operator&=(const uint128_t &p)'],['../db/d9a/classuint128__t.html#a225146042c6456a3c5595645870ca640',1,'uint128_t::operator&=(const T p)'],['../d1/d83/classuint256__t.html#a357cdfee6a79e0484cd1e07511eb9f2d',1,'uint256_t::operator&=(const uint256_t &p)'],['../d1/d83/classuint256__t.html#afa79020c27caea31236d04ecaa0e5ef5',1,'uint256_t::operator&=(const T p)']]], + ['operator_28_29_25',['operator()',['../db/d9a/classuint128__t.html#af4ce01d81a0369218f7d46567d136733',1,'uint128_t::operator()()'],['../d1/d83/classuint256__t.html#a7ac99dea14428200f0101452293e2b3b',1,'uint256_t::operator()()'],['../de/d4a/class_compare.html#afbdf9a44adb49728dc704155d7d1570c',1,'Compare::operator()()']]], + ['operator_2a_26',['operator*',['../db/d9a/classuint128__t.html#a488e65a14d4c32a096011aa4725cdb30',1,'uint128_t::operator*(const T p)'],['../db/d9a/classuint128__t.html#a44e472cf685cac6edc5172eac2e66860',1,'uint128_t::operator*(const uint128_t &p)'],['../d1/d83/classuint256__t.html#aaca9288fd28fc07e1386f1586bd51616',1,'uint256_t::operator*(const T &p)'],['../d1/d83/classuint256__t.html#aa9e585b186e71d7cbe9c1d7387c38967',1,'uint256_t::operator*(const uint256_t &p)'],['../dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix.html#a60599668b56001cef4bb59d4cb5c6c6c',1,'divide_and_conquer::strassens_multiplication::Matrix::operator*(const Matrix< Number > &other) const'],['../dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix.html#aedbe01e48a96fefa0b393ec577b0f19e',1,'divide_and_conquer::strassens_multiplication::Matrix::operator*(const Number other) const'],['../da/d5a/class_complex.html#aa9b4a7d6083ca7040ddd4fe93db5c19d',1,'Complex::operator*()'],['../dc/d38/ordinary__least__squares__regressor_8cpp.html#ae2edd40354a1ca7aeaee3d1e3589e713',1,'operator*(std::vector< std::vector< T > > const &A, std::vector< std::vector< T > > const &B): ordinary_least_squares_regressor.cpp'],['../dc/d38/ordinary__least__squares__regressor_8cpp.html#a865e8d26a01962cc93aca66e71346f37',1,'operator*(std::vector< std::vector< T > > const &A, std::vector< T > const &B): ordinary_least_squares_regressor.cpp'],['../dc/d38/ordinary__least__squares__regressor_8cpp.html#a207b3a99fd5974d3117e0b0ac0aad234',1,'operator*(float const scalar, std::vector< T > const &A): ordinary_least_squares_regressor.cpp'],['../dc/d38/ordinary__least__squares__regressor_8cpp.html#a42535e20e97d85aa61271e0894cc0359',1,'operator*(std::vector< T > const &A, float const scalar): ordinary_least_squares_regressor.cpp'],['../d8/d77/namespacemachine__learning.html#a16f34574b7e0dd51bc3b3fda37446695',1,'machine_learning::operator*()']]], + ['operator_2a_3d_27',['operator*=',['../db/d9a/classuint128__t.html#a3016b71f92a0c7e090a7c5b6a3935092',1,'uint128_t::operator*=(const T p)'],['../db/d9a/classuint128__t.html#a96fc7c2df4325bb1a0c22b566bcc6295',1,'uint128_t::operator*=(const uint128_t &p)'],['../d1/d83/classuint256__t.html#af2193ff0d0e93143fb71f4847df16028',1,'uint256_t::operator*=(const T &p)'],['../d1/d83/classuint256__t.html#a4645040fe68ff01d83400f173fd2bb21',1,'uint256_t::operator*=(const uint256_t &p)'],['../dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix.html#af09566a6a59d30875434c140e18e0a12',1,'divide_and_conquer::strassens_multiplication::Matrix::operator*=()'],['../db/d82/classlarge__number.html#a771e9b28cfddf1ad94668566e396e350',1,'large_number::operator*=()']]], + ['operator_2b_28',['operator+',['../db/d9a/classuint128__t.html#a5133f854a93efe47fd1f0f6a9589856d',1,'uint128_t::operator+(const T p)'],['../db/d9a/classuint128__t.html#a0fd125cc2b7702370a4aefa740d57606',1,'uint128_t::operator+(const uint128_t &p)'],['../d1/d83/classuint256__t.html#a20dc3a017b1a740c4bafd3f146a90b0f',1,'uint256_t::operator+(const T &p)'],['../d1/d83/classuint256__t.html#af18e2e3d7ed635c4056062bc906fef75',1,'uint256_t::operator+(const uint256_t &p)'],['../dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix.html#ad36ec1f1a97298e49de605384e5f8211',1,'divide_and_conquer::strassens_multiplication::Matrix::operator+()'],['../da/d5a/class_complex.html#a820afcbb330df716577459d7a3aa3a1c',1,'Complex::operator+()'],['../db/d82/classlarge__number.html#abbd52948bee1b16543f1dae19aa9dd46',1,'large_number::operator+'],['../dc/d38/ordinary__least__squares__regressor_8cpp.html#a01e6c7bf2b09272578b9c5819ce0f36f',1,'operator+(): ordinary_least_squares_regressor.cpp'],['../d8/d77/namespacemachine__learning.html#a2466857dab977a49f117029835b3b6d2',1,'machine_learning::operator+()']]], + ['operator_2b_2b_29',['operator++',['../db/d9a/classuint128__t.html#ac8d293d20cdf65c48d8d1e0ba7034c8e',1,'uint128_t::operator++()'],['../db/d9a/classuint128__t.html#af71990a1fba93a5528ddb1e6662bffd6',1,'uint128_t::operator++(int)'],['../d1/d83/classuint256__t.html#af0ad4080bb5ddc16b54a7e87911005c9',1,'uint256_t::operator++()'],['../d1/d83/classuint256__t.html#a7bbe36e2ebd52df5efab118897b3050c',1,'uint256_t::operator++(int)'],['../db/d82/classlarge__number.html#a4757697b1f7584b69e779a72abc4ae2a',1,'large_number::operator++()'],['../db/d82/classlarge__number.html#a8d4364ee5a62964451d8cfee82649687',1,'large_number::operator++(int)']]], + ['operator_2b_3d_30',['operator+=',['../db/d9a/classuint128__t.html#a55a3f122c4d982c60c2eb9fc09b9e004',1,'uint128_t::operator+=(const T p)'],['../db/d9a/classuint128__t.html#a9704e6a4d32750461bff663e40e537cb',1,'uint128_t::operator+=(const uint128_t &p)'],['../d1/d83/classuint256__t.html#a5363ec0f36de1a8a9c985907db4e95d1',1,'uint256_t::operator+=(const T &p)'],['../d1/d83/classuint256__t.html#ac75a46fe3625caf10e07db1eb75a1d6e',1,'uint256_t::operator+=(const uint256_t &p)'],['../dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix.html#ae190115f8d4d31e47d7290e0b6871391',1,'divide_and_conquer::strassens_multiplication::Matrix::operator+=()'],['../db/d82/classlarge__number.html#aab5644405094740e34983cedfecb36cf',1,'large_number::operator+=()']]], + ['operator_2d_31',['operator-',['../db/d9a/classuint128__t.html#a6824700c9c732a4200e7493fe7ed0eec',1,'uint128_t::operator-(const T &p)'],['../db/d9a/classuint128__t.html#a81a568510e6d0b0950133dd9fc37fc0c',1,'uint128_t::operator-(const uint128_t &p)'],['../db/d9a/classuint128__t.html#a07945fe010079a35e18812636d5c70c3',1,'uint128_t::operator-()'],['../d1/d83/classuint256__t.html#a88978d00fa6a624c50c2737dc2c294b4',1,'uint256_t::operator-(const T &p)'],['../d1/d83/classuint256__t.html#ab909ef62a0c85121e7d743c016fb723d',1,'uint256_t::operator-(const uint256_t &p)'],['../d1/d83/classuint256__t.html#a406c951a07d8173685dbe384c6ab6a06',1,'uint256_t::operator-()'],['../dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix.html#a678681c9f6266a8219bd6bee6972d70e',1,'divide_and_conquer::strassens_multiplication::Matrix::operator-()'],['../da/d5a/class_complex.html#a36739619a07b5478bcd8a28ad2f8b7da',1,'Complex::operator-()'],['../dc/d38/ordinary__least__squares__regressor_8cpp.html#a4a6a560dbdd0177633783b72db37dc19',1,'operator-(): ordinary_least_squares_regressor.cpp'],['../d8/d77/namespacemachine__learning.html#a0cc29566568e0383dd7d374068cbe6b3',1,'machine_learning::operator-()']]], + ['operator_2d_2d_32',['operator--',['../db/d9a/classuint128__t.html#a1d390c6ea5450680dcaff341235f0fed',1,'uint128_t::operator--()'],['../db/d9a/classuint128__t.html#a2ecb71686e1c9ed0267124580c91c414',1,'uint128_t::operator--(int p)'],['../d1/d83/classuint256__t.html#a9f6f3e39783c893473315bada864a183',1,'uint256_t::operator--()'],['../d1/d83/classuint256__t.html#a28d26847f9b19a4f86c187791cb0db13',1,'uint256_t::operator--(int p)']]], + ['operator_2d_3d_33',['operator-=',['../db/d9a/classuint128__t.html#a0a4623fae71566dfcf2e742c8c156798',1,'uint128_t::operator-=(const T &p)'],['../db/d9a/classuint128__t.html#abea727c69c2acd74ffe21464199d27c8',1,'uint128_t::operator-=(const uint128_t &p)'],['../d1/d83/classuint256__t.html#acd3970c633eb2c597874e2712392f0c7',1,'uint256_t::operator-=(const T p)'],['../d1/d83/classuint256__t.html#a5e84ed2a2f99cee81ede4a0107702a45',1,'uint256_t::operator-=(const uint256_t &p)'],['../dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix.html#a42c986fb57b74fe1b7c5953cb1922c3d',1,'divide_and_conquer::strassens_multiplication::Matrix::operator-=()']]], + ['operator_2f_34',['operator/',['../db/d9a/classuint128__t.html#a3072a7e43da3600c345c81bc80c957ee',1,'uint128_t::operator/(const uint128_t &p)'],['../db/d9a/classuint128__t.html#aed49b24b99293ae6b14ac9850f5deb94',1,'uint128_t::operator/(const T p)'],['../d1/d83/classuint256__t.html#acac9901ab133caa57d058a377d873bf6',1,'uint256_t::operator/(const T &p)'],['../d1/d83/classuint256__t.html#a4fdeb4d4bf8cca4ee99b8487e59831df',1,'uint256_t::operator/(const uint256_t &p)'],['../da/d5a/class_complex.html#ac38437c10eb798f176c384a695171b90',1,'Complex::operator/()'],['../dc/d38/ordinary__least__squares__regressor_8cpp.html#a7a2d742b9a3ae7b85292e1f86428bb4f',1,'operator/(): ordinary_least_squares_regressor.cpp'],['../d8/d77/namespacemachine__learning.html#ae6ec42318d172b97fbdf45638d09d7b5',1,'machine_learning::operator/()']]], + ['operator_2f_3d_35',['operator/=',['../db/d9a/classuint128__t.html#a300ed88fe2054788cc6e0b6a8fdf66db',1,'uint128_t::operator/=(const uint128_t &p)'],['../db/d9a/classuint128__t.html#aaacb9fda7adcfee224f1b09124c0438b',1,'uint128_t::operator/=(const T p)'],['../d1/d83/classuint256__t.html#ac1b36e64de42f3622e7d6ec5efa273d4',1,'uint256_t::operator/=(const uint256_t &p)'],['../d1/d83/classuint256__t.html#abc793979ec70bb8e5cf177d83649a259',1,'uint256_t::operator/=(const T &p)']]], + ['operator_3c_36',['operator<',['../db/d9a/classuint128__t.html#ac9a4365fb9ea5e2d2c751258f09168a4',1,'uint128_t::operator<(const uint128_t &other)'],['../db/d9a/classuint128__t.html#a56f579c802a6cc16f31e43af274453dc',1,'uint128_t::operator<(const T other)'],['../d1/d83/classuint256__t.html#afe9f4828d73dd51a080585dd0b99af96',1,'uint256_t::operator<(const uint256_t &other)'],['../d1/d83/classuint256__t.html#ac6bdcf64653af8173987bf7217e99056',1,'uint256_t::operator<(const T &other)'],['../dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle.html#a64815f10cf9fb9fdb4cc92731ccf10ba',1,'machine_learning::aystar_search::EightPuzzle::operator<()']]], + ['operator_3c_3c_37',['operator<<',['../d6/d45/structciphers_1_1elliptic__curve__key__exchange_1_1_point.html#af2142b27241b28f835e8ce78d7d6463c',1,'ciphers::elliptic_curve_key_exchange::Point::operator<<'],['../db/d9a/classuint128__t.html#a16e7e1211ba6c27e9a229d97fb0d9190',1,'uint128_t::operator<<(const T p)'],['../db/d9a/classuint128__t.html#a5f2ace9fdcd459f74f8e43ef30a2a953',1,'uint128_t::operator<<'],['../d1/d83/classuint256__t.html#a4831263abc4430c363fdabce6e6e96d5',1,'uint256_t::operator<<(const T &p)'],['../d1/d83/classuint256__t.html#a91badfd31be84b12cbb6d85ebc04d13a',1,'uint256_t::operator<<'],['../dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle.html#a9517e162e2988f7db052296bd550a742',1,'machine_learning::aystar_search::EightPuzzle::operator<<'],['../d6/d30/classmachine__learning_1_1adaline.html#ae347040516e995c8fb8ca2e5c0496daa',1,'machine_learning::adaline::operator<<'],['../db/d82/classlarge__number.html#a13282908dfc4888392ed3d1fc6aae492',1,'large_number::operator<<'],['../d7/db9/hill__cipher_8cpp.html#a34bfcd756610834acac501f9eea1e2eb',1,'operator<<(std::ostream &out, matrix< T > const &v): hill_cipher.cpp'],['../dc/d38/ordinary__least__squares__regressor_8cpp.html#a7075a0fccad9b2d79be0275bfe8948d4',1,'operator<<(std::ostream &out, std::vector< std::vector< T > > const &v): ordinary_least_squares_regressor.cpp'],['../dc/d38/ordinary__least__squares__regressor_8cpp.html#ab1ad727903d7817c2758d25bcb52cbc8',1,'operator<<(std::ostream &out, std::vector< T > const &v): ordinary_least_squares_regressor.cpp'],['../d8/d77/namespacemachine__learning.html#a84260cb1be9b63d6e38107000ac4b7e7',1,'machine_learning::operator<<(std::ostream &out, std::vector< std::valarray< T > > const &A)'],['../d8/d77/namespacemachine__learning.html#af4986b23760039711848155739c31b35',1,'machine_learning::operator<<(std::ostream &out, const std::pair< T, T > &A)'],['../d8/d77/namespacemachine__learning.html#a54bf1f3c43271a5fc93101f6ae2e6269',1,'machine_learning::operator<<(std::ostream &out, const std::valarray< T > &A)'],['../d5/d67/complex__numbers_8cpp.html#a44d5f25b573e870accdf26fd32b8484d',1,'operator<<(std::ostream &os, const Complex &num): complex_numbers.cpp'],['../dd/d65/lu__decompose_8cpp.html#a575c989afcc78e875031cd4273e62a3e',1,'operator<<(std::ostream &out, matrix< T > const &v): lu_decompose.cpp'],['../d2/d3b/namespaceqr__algorithm.html#adfbdf47277c8cfee229b05b72f1f7834',1,'qr_algorithm::operator<<(std::ostream &out, std::valarray< std::valarray< T > > const &v)'],['../d2/d3b/namespaceqr__algorithm.html#a257425cb2365359da51c6fe6741834d8',1,'qr_algorithm::operator<<(std::ostream &out, std::valarray< T > const &v)']]], + ['operator_3c_3c_3d_38',['operator<<=',['../db/d9a/classuint128__t.html#aa5b93187b1d199071f204b9987d5d16a',1,'uint128_t::operator<<=()'],['../d1/d83/classuint256__t.html#a0d96ce2d022dc30c2f303ab0698f52f5',1,'uint256_t::operator<<=()']]], + ['operator_3c_3d_39',['operator<=',['../db/d9a/classuint128__t.html#a16eb351c1d0ed3b89c771c63808e035a',1,'uint128_t::operator<=(const uint128_t &other)'],['../db/d9a/classuint128__t.html#a4562c218813c8705bccb25d8786ca77c',1,'uint128_t::operator<=(const T other)'],['../d1/d83/classuint256__t.html#a19c88f8f2736750822b82ef9a7096d88',1,'uint256_t::operator<=(const uint256_t &other)'],['../d1/d83/classuint256__t.html#a2029e9777f999bffef6004429b4f19f2',1,'uint256_t::operator<=(const T &other)'],['../dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle.html#af778034b2942ecac6df1e9ec8b5412ee',1,'machine_learning::aystar_search::EightPuzzle::operator<=()']]], + ['operator_3d_40',['operator=',['../db/d9a/classuint128__t.html#ac924cc09bbb919532dc42f1f93f6f544',1,'uint128_t::operator=(const T &p)'],['../db/d9a/classuint128__t.html#abae08ef3c1d6dc512edd68ca68327f74',1,'uint128_t::operator=(const std::string &p)'],['../db/d9a/classuint128__t.html#ab6aa4d14ed52c7c640468c45350da0c5',1,'uint128_t::operator=(const uint128_t &p)=default'],['../db/d9a/classuint128__t.html#a3c4a7e775a0820196fc08303bbeed44a',1,'uint128_t::operator=(uint128_t &&p)=default'],['../d1/d83/classuint256__t.html#a4c6db67d21c4927a45a4e1e7c2357bfc',1,'uint256_t::operator=(const uint256_t &p)=default'],['../d1/d83/classuint256__t.html#addff5645f6005e7b50a6ad0731e4f19c',1,'uint256_t::operator=(const T &p)'],['../d1/d83/classuint256__t.html#a86aab081bb7db2771e4a4f30c3eed8e2',1,'uint256_t::operator=(const std::string &p)'],['../d1/d83/classuint256__t.html#a6c5e025f901f6af4b748f98013350638',1,'uint256_t::operator=(uint256_t &&p)=default'],['../d1/def/classdata__structures_1_1linked__list_1_1list.html#adb04f732911fcfd30f7177b367c6af41',1,'data_structures::linked_list::list::operator=()'],['../dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle.html#a467e722dc1fcc82bfb4cef55744e04e2',1,'machine_learning::aystar_search::EightPuzzle::operator=(const EightPuzzle &A)'],['../dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle.html#a1802cf6197a255055cb734d626abc101',1,'machine_learning::aystar_search::EightPuzzle::operator=(EightPuzzle &&A) noexcept'],['../da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html#ac77d992953fa0de10a755e5a9aa06317',1,'machine_learning::aystar_search::AyStarSearch::Info::operator=(const Info &A)'],['../da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html#ad3993dbca9c5b3ef9ac361dc7f62ce57',1,'machine_learning::aystar_search::AyStarSearch::Info::operator=(Info &&A) noexcept'],['../da/d94/classmachine__learning_1_1k__nearest__neighbors_1_1_knn.html#a080f5b1742832a03c1cbba596a48bd1a',1,'machine_learning::k_nearest_neighbors::Knn::operator=(const Knn &model)=default'],['../da/d94/classmachine__learning_1_1k__nearest__neighbors_1_1_knn.html#ac06986d5afddc767ddba4da738f75563',1,'machine_learning::k_nearest_neighbors::Knn::operator=(Knn &&)=default'],['../dc/d93/classmachine__learning_1_1neural__network_1_1layers_1_1_dense_layer.html#ae077132526d2863e46aa77cb0f7d6aa2',1,'machine_learning::neural_network::layers::DenseLayer::operator=(const DenseLayer &layer)=default'],['../dc/d93/classmachine__learning_1_1neural__network_1_1layers_1_1_dense_layer.html#a19aaccad279b22dbbb6c55e5697b4114',1,'machine_learning::neural_network::layers::DenseLayer::operator=(DenseLayer &&)=default'],['../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#a58a9614e4c6d4ca672d3358e99a3404f',1,'machine_learning::neural_network::NeuralNetwork::operator=(const NeuralNetwork &model)=default'],['../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#a2c49bfebf9b859d5ceb26035d3003601',1,'machine_learning::neural_network::NeuralNetwork::operator=(NeuralNetwork &&)=default'],['../da/d5a/class_complex.html#a4ac9f529d54cacf2969f2c7179b4c4ac',1,'Complex::operator=()'],['../db/d82/classlarge__number.html#ab84f29685709cbb3b6fd29b7b4a7bc7b',1,'large_number::operator=()'],['../d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list.html#a9cc37166f2f73763df39894b675f89c9',1,'operations_on_datastructures::circular_linked_list::CircularLinkedList::operator=(const CircularLinkedList &other)'],['../d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list.html#a8f26dc32615abc5bab8ac458ef424bc5',1,'operations_on_datastructures::circular_linked_list::CircularLinkedList::operator=(CircularLinkedList &&other) noexcept']]], + ['operator_3d_3d_41',['operator==',['../d6/d45/structciphers_1_1elliptic__curve__key__exchange_1_1_point.html#a5084e9ca27837662c31d4dc003815446',1,'ciphers::elliptic_curve_key_exchange::Point::operator==()'],['../db/d9a/classuint128__t.html#a7b1de5584505c189664d0edd306e979e',1,'uint128_t::operator==(const uint128_t &other)'],['../db/d9a/classuint128__t.html#a7a95e3accdac1cb38c9767f9550c0896',1,'uint128_t::operator==(const T other)'],['../d1/d83/classuint256__t.html#a90ce75bec5b525de55bbf92c564a2261',1,'uint256_t::operator==(const uint256_t &other)'],['../d1/d83/classuint256__t.html#a9879f7ec85fc148e1931fcb492ddc484',1,'uint256_t::operator==(const T &other)'],['../dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix.html#a562faa16a4b4ed5d4804823c56f99c9c',1,'divide_and_conquer::strassens_multiplication::Matrix::operator==()'],['../dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle.html#aa17e0227321b109ed91e156ac1332915',1,'machine_learning::aystar_search::EightPuzzle::operator==()'],['../db/d82/classlarge__number.html#a7ba872b9a3ce1f3da6c06c5409663cca',1,'large_number::operator=='],['../d5/d67/complex__numbers_8cpp.html#a5a73e9d4e68af8cedb95bd0864054b89',1,'operator==(): complex_numbers.cpp']]], + ['operator_3e_42',['operator>',['../db/d9a/classuint128__t.html#a291d2787d668e8d06a7cfab0f5144440',1,'uint128_t::operator>(const uint128_t &other)'],['../db/d9a/classuint128__t.html#a82c63f8c18b8d2d255b8b0d373ac7d6e',1,'uint128_t::operator>(const T other)'],['../d1/d83/classuint256__t.html#acadd235e0029ec43d5990d24affaf42d',1,'uint256_t::operator>(const uint256_t &other)'],['../d1/d83/classuint256__t.html#ad74d33215517459c2b33ace7a9c6bc13',1,'uint256_t::operator>(const T &other)']]], + ['operator_3e_3d_43',['operator>=',['../db/d9a/classuint128__t.html#ae7af1bad048942eeabc092d8e0194292',1,'uint128_t::operator>=(const uint128_t &other)'],['../db/d9a/classuint128__t.html#a334bc710f411f108a0243b24ac73b481',1,'uint128_t::operator>=(const T other)'],['../d1/d83/classuint256__t.html#adf09395f9113a69a05fed7e25b46c8ad',1,'uint256_t::operator>=(const uint256_t &other)'],['../d1/d83/classuint256__t.html#aff4d49cf84de64301b169ad974f00bad',1,'uint256_t::operator>=(const T &other)']]], + ['operator_3e_3e_44',['operator>>',['../db/d9a/classuint128__t.html#a6f24982de03e0e3d04ac7f8ae30f5848',1,'uint128_t::operator>>()'],['../d1/d83/classuint256__t.html#a47a19142e86b7369e18da1fc0a713c51',1,'uint256_t::operator>>()'],['../d7/d7c/classstatistics_1_1stats__computer1.html#a350bf6c429691d3578c4dfc6679a0797',1,'statistics::stats_computer1::operator>>'],['../d8/dab/classstatistics_1_1stats__computer2.html#ab444d485c9e7db35bdc2ff6b7775291a',1,'statistics::stats_computer2::operator>>']]], + ['operator_3e_3e_3d_45',['operator>>=',['../db/d9a/classuint128__t.html#a0ae5fc0c2bcc9138b32d7582466aa7f9',1,'uint128_t::operator>>=()'],['../d1/d83/classuint256__t.html#ad9ce2370b1497efbcc426793048e1f78',1,'uint256_t::operator>>=()']]], + ['operator_5b_5d_46',['operator[]',['../dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix.html#ac4c64e5723fa12a043fd0a7f5ed5bb37',1,'divide_and_conquer::strassens_multiplication::Matrix::operator[]()'],['../db/d82/classlarge__number.html#a8c381aa1ecc960cefd82ec72f59e0e08',1,'large_number::operator[]()']]], + ['operator_5e_47',['operator^',['../db/d9a/classuint128__t.html#aab88fd72d0370b12e4a257e378b82d37',1,'uint128_t::operator^(const T p)'],['../db/d9a/classuint128__t.html#a9487ed06019d846add5dc8874e41eb8b',1,'uint128_t::operator^(const uint128_t &p)'],['../d1/d83/classuint256__t.html#acb61fe17d064c61adc02defa651f9a5e',1,'uint256_t::operator^(const T &p)'],['../d1/d83/classuint256__t.html#a74d1e1dd8cd2b31e00813ed939943be7',1,'uint256_t::operator^(const uint256_t &p)']]], + ['operator_5e_3d_48',['operator^=',['../db/d9a/classuint128__t.html#ae3f0ef8a3f68d9cbd9d99e772f1a947a',1,'uint128_t::operator^=(const uint128_t &p)'],['../db/d9a/classuint128__t.html#a44fd2a4a4cc1d13f93ac222db5a46c67',1,'uint128_t::operator^=(const T &p)'],['../d1/d83/classuint256__t.html#ac92ac0b2368990fbbaf3cca3ee8247d7',1,'uint256_t::operator^=(const uint256_t &p)'],['../d1/d83/classuint256__t.html#a3dc4d3ab175f5f2a3172eb8d99a60fc3',1,'uint256_t::operator^=(const T &p)']]], + ['operator_7c_49',['operator|',['../db/d9a/classuint128__t.html#a3facc74d6d078604fe2c80d0abfd3304',1,'uint128_t::operator|(const T p)'],['../db/d9a/classuint128__t.html#a2fda65032d9fdbaf9142a6322654dbdd',1,'uint128_t::operator|(const uint128_t &p)'],['../d1/d83/classuint256__t.html#acefecc3b1a4044f2be5ab46eea0099bf',1,'uint256_t::operator|(const T &p)'],['../d1/d83/classuint256__t.html#a2d7c8a1a5ecaf3e0dcb4bf6b6cff2da2',1,'uint256_t::operator|(const uint256_t &p)']]], + ['operator_7c_3d_50',['operator|=',['../db/d9a/classuint128__t.html#ab88330f3c4f3bcde75dc5ef9eb8eb39d',1,'uint128_t::operator|=(const uint128_t &p)'],['../db/d9a/classuint128__t.html#a6110aa452a6d114fcd2f42d2bc106fee',1,'uint128_t::operator|=(const T p)'],['../d1/d83/classuint256__t.html#af0a6e09fcf1cbf234ed32df6d7265a0b',1,'uint256_t::operator|=(const T &p)'],['../d1/d83/classuint256__t.html#aa28ae272e9176557133a10dffa3b94dc',1,'uint256_t::operator|=(const uint256_t &p)']]], + ['operator_7c_7c_51',['operator||',['../db/d9a/classuint128__t.html#a312509b1c5b3ae5eaaf342f2ba131d03',1,'uint128_t::operator||(const uint128_t &b)'],['../db/d9a/classuint128__t.html#a817b66c32268cf46244058a50db99503',1,'uint128_t::operator||(const T b)'],['../d1/d83/classuint256__t.html#a41f4bb928c4ee067732503395b65f9d7',1,'uint256_t::operator||(const uint256_t &b)'],['../d1/d83/classuint256__t.html#a4886747ffff15cdeb6bc93712629f9e7',1,'uint256_t::operator||(const T &b)']]], + ['operator_7e_52',['operator~',['../db/d9a/classuint128__t.html#a43eafd4824666b413befe5edbc90ae7f',1,'uint128_t::operator~()'],['../d1/d83/classuint256__t.html#a6eec1f632aebfc44fee8a74c395e10c2',1,'uint256_t::operator~()'],['../da/d5a/class_complex.html#a8d5427f6c42c15283031d73e1418c59d',1,'Complex::operator~()']]], + ['ordinary_20differential_20equations_53',['Ordinary Differential Equations',['../d6/d60/group__ode.html',1,'']]], + ['ordinary_5fleast_5fsquares_5fregressor_2ecpp_54',['ordinary_least_squares_regressor.cpp',['../dc/d38/ordinary__least__squares__regressor_8cpp.html',1,'']]], + ['orientation_55',['orientation',['../d4/dde/classgeometry_1_1jarvis_1_1_convexhull.html#a54df5f9a8f37170bd97c91127664655c',1,'geometry::jarvis::Convexhull']]], + ['otherhashfxn_56',['otherHashFxn',['../d0/d65/namespacedouble__hashing.html#a33968a1178289ab61445dd4000df7082',1,'double_hashing']]], + ['others_57',['Others',['../d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md62',1,'']]], + ['others_58',['others',['../d0/d6f/namespaceothers.html',1,'']]], + ['others_3a_3acache_59',['Cache',['../db/dde/namespaceothers_1_1_cache.html',1,'others']]], + ['our_20pledge_60',['Our Pledge',['../d3/dd7/md__c_o_d_e___o_f___c_o_n_d_u_c_t.html#autotoc_md5',1,'']]], + ['our_20standards_61',['Our Standards',['../d3/dd7/md__c_o_d_e___o_f___c_o_n_d_u_c_t.html#autotoc_md6',1,'']]], + ['overview_62',['Overview',['../index.html#autotoc_md103',1,'']]] ]; diff --git a/search/all_15.js b/search/all_15.js index 7ab171cce..7ab4886bd 100644 --- a/search/all_15.js +++ b/search/all_15.js @@ -1,172 +1,115 @@ var searchData= [ - ['p_0',['p',['../dd/d1f/classdsu.html#a1ef0b0462a0dda63514f641cbb7dd8cb',1,'dsu::p'],['../da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution.html#ad5ed23a251dbe55ad1ed06bf1a465ad3',1,'probability::geometric_dist::geometric_distribution::p'],['http://en.cppreference.com/w/cpp/numeric/random/bernoulli_distribution/p.html',0,'std::bernoulli_distribution::p()'],['http://en.cppreference.com/w/cpp/numeric/random/geometric_distribution/p.html',0,'std::geometric_distribution::p()'],['http://en.cppreference.com/w/cpp/numeric/random/negative_binomial_distribution/params.html',0,'std::negative_binomial_distribution::p()'],['http://en.cppreference.com/w/cpp/numeric/random/binomial_distribution/params.html',0,'std::binomial_distribution::p()']]], - ['packaged_5ftask_1',['packaged_task',['http://en.cppreference.com/w/cpp/thread/packaged_task.html',0,'std::packaged_task'],['http://en.cppreference.com/w/cpp/thread/packaged_task/packaged_task.html',0,'std::packaged_task::packaged_task()']]], - ['pagefault_2',['pageFault',['../d6/dae/classothers_1_1lru__cache_1_1_l_r_u_cache.html#a09cbe562b0c396329607f5d388d57c9c',1,'others::lru_cache::LRUCache']]], - ['pageframe_3',['pageFrame',['../d6/dae/classothers_1_1lru__cache_1_1_l_r_u_cache.html#a1aafd0444b410e0fcb66287e9954c893',1,'others::lru_cache::LRUCache']]], - ['pagemap_4',['pageMap',['../d6/dae/classothers_1_1lru__cache_1_1_l_r_u_cache.html#aa4d6db56109af196ffc7e5f72bc9907c',1,'others::lru_cache::LRUCache']]], - ['pair_5',['pair',['http://en.cppreference.com/w/cpp/utility/pair.html',0,'std::pair< T1, T2 >'],['http://en.cppreference.com/w/cpp/utility/pair/pair.html',0,'std::pair::pair()']]], - ['pair_3c_20int8_5ft_2c_20int8_5ft_20_3e_6',['pair< int8_t, int8_t >',['http://en.cppreference.com/w/cpp/utility/pair.html',0,'std']]], - ['pair_3c_20others_3a_3acache_3a_3ad_5fnode_3c_20k_2c_20v_20_3e_20_2a_2c_20int_20_3e_7',['pair< others::Cache::D_Node< K, V > *, int >',['http://en.cppreference.com/w/cpp/utility/pair.html',0,'std']]], - ['pair_3c_20others_3a_3acache_3a_3ad_5fnode_3c_20k_2c_20v_20_3e_20_2a_2c_20others_3a_3acache_3a_3ad_5fnode_3c_20k_2c_20v_20_3e_20_2a_20_3e_8',['pair< others::Cache::D_Node< K, V > *, others::Cache::D_Node< K, V > * >',['http://en.cppreference.com/w/cpp/utility/pair.html',0,'std']]], - ['pair_5fu_9',['pair_u',['../d8/d69/classgraph_1_1_h_k_graph.html#a86ebff8a70cbfedd05281993d5d1987b',1,'graph::HKGraph']]], - ['pair_5fv_10',['pair_v',['../d8/d69/classgraph_1_1_h_k_graph.html#a976ee239402cc2726a280e781c706d77',1,'graph::HKGraph']]], - ['pal_5fpart_11',['pal_part',['../d5/d90/palindrome__partitioning_8cpp.html#a52ee22882858d2b1cf04293f02ed839a',1,'dynamic_programming::palindrome_partitioning']]], - ['palindrome_5fof_5fnumber_2ecpp_12',['palindrome_of_number.cpp',['../da/d9a/palindrome__of__number_8cpp.html',1,'']]], - ['palindrome_5fpartitioning_13',['palindrome_partitioning',['../d5/d89/namespacepalindrome__partitioning.html',1,'']]], - ['palindrome_5fpartitioning_2ecpp_14',['palindrome_partitioning.cpp',['../d5/d90/palindrome__partitioning_8cpp.html',1,'']]], - ['pancake_5fsort_15',['pancake_sort',['../df/d10/namespacepancake__sort.html',1,'']]], - ['pancake_5fsort_2ecpp_16',['pancake_sort.cpp',['../d3/d92/pancake__sort_8cpp.html',1,'']]], - ['pancakesort_17',['pancakeSort',['../d3/d92/pancake__sort_8cpp.html#abff90bc0f54e4f8ea5f0330471781bd5',1,'sorting::pancake_sort']]], - ['parallelogram_5farea_18',['parallelogram_area',['../dd/d47/namespacemath.html#a5de184925e68658f15415dd53954df4f',1,'math']]], - ['parallelogram_5fperimeter_19',['parallelogram_perimeter',['../dd/d47/namespacemath.html#a0efb235330ff48e14fd31faaccbcebb3',1,'math']]], - ['param_20',['param',['http://en.cppreference.com/w/cpp/numeric/random/student_t_distribution/param.html',0,'std::student_t_distribution::param()'],['http://en.cppreference.com/w/cpp/numeric/random/extreme_value_distribution/param.html',0,'std::extreme_value_distribution::param()'],['http://en.cppreference.com/w/cpp/numeric/random/lognormal_distribution/param.html',0,'std::lognormal_distribution::param()'],['http://en.cppreference.com/w/cpp/numeric/random/discrete_distribution/param.html',0,'std::discrete_distribution::param()'],['http://en.cppreference.com/w/cpp/numeric/random/piecewise_constant_distribution/param.html',0,'std::piecewise_constant_distribution::param()'],['http://en.cppreference.com/w/cpp/numeric/random/poisson_distribution/param.html',0,'std::poisson_distribution::param()'],['http://en.cppreference.com/w/cpp/numeric/random/bernoulli_distribution/param.html',0,'std::bernoulli_distribution::param()'],['http://en.cppreference.com/w/cpp/numeric/random/exponential_distribution/param.html',0,'std::exponential_distribution::param()'],['http://en.cppreference.com/w/cpp/numeric/random/uniform_real_distribution/param.html',0,'std::uniform_real_distribution::param()'],['http://en.cppreference.com/w/cpp/numeric/random/geometric_distribution/param.html',0,'std::geometric_distribution::param()'],['http://en.cppreference.com/w/cpp/numeric/random/normal_distribution/param.html',0,'std::normal_distribution::param()'],['http://en.cppreference.com/w/cpp/numeric/random/weibull_distribution/param.html',0,'std::weibull_distribution::param()'],['http://en.cppreference.com/w/cpp/numeric/random/negative_binomial_distribution/param.html',0,'std::negative_binomial_distribution::param()'],['http://en.cppreference.com/w/cpp/numeric/random/chi_squared_distribution/param.html',0,'std::chi_squared_distribution::param()'],['http://en.cppreference.com/w/cpp/numeric/random/piecewise_linear_distribution/param.html',0,'std::piecewise_linear_distribution::param()'],['http://en.cppreference.com/w/cpp/numeric/random/uniform_int_distribution/param.html',0,'std::uniform_int_distribution::param()'],['http://en.cppreference.com/w/cpp/numeric/random/fisher_f_distribution/param.html',0,'std::fisher_f_distribution::param()'],['http://en.cppreference.com/w/cpp/numeric/random/seed_seq/param.html',0,'std::seed_seq::param()'],['http://en.cppreference.com/w/cpp/numeric/random/gamma_distribution/param.html',0,'std::gamma_distribution::param()'],['http://en.cppreference.com/w/cpp/numeric/random/binomial_distribution/param.html',0,'std::binomial_distribution::param()'],['http://en.cppreference.com/w/cpp/numeric/random/cauchy_distribution/param.html',0,'std::cauchy_distribution::param()']]], - ['paranthesis_5fmatching_2ecpp_21',['paranthesis_matching.cpp',['../dc/dc5/paranthesis__matching_8cpp.html',1,'']]], - ['parent_22',['parent',['../d0/d58/classgraph_1_1_rooted_tree.html#a3831583a91914988897a4cc8748fda43',1,'graph::RootedTree']]], - ['parent_20nodes_23',['Method 1: Use parent pointer (store the address of parent nodes)',['../d4/d32/inorder__successor__of__bst_8cpp.html#autotoc_md91',1,'']]], - ['parent_20pointer_20store_20the_20address_20of_20parent_20nodes_24',['Method 1: Use parent pointer (store the address of parent nodes)',['../d4/d32/inorder__successor__of__bst_8cpp.html#autotoc_md91',1,'']]], - ['partial_5fsort_25',['partial_sort',['http://en.cppreference.com/w/cpp/algorithm/partial_sort.html',0,'std']]], - ['partial_5fsort_5fcopy_26',['partial_sort_copy',['http://en.cppreference.com/w/cpp/algorithm/partial_sort_copy.html',0,'std']]], - ['partial_5fsum_27',['partial_sum',['http://en.cppreference.com/w/cpp/algorithm/partial_sum.html',0,'std']]], - ['partition_28',['partition',['http://en.cppreference.com/w/cpp/algorithm/partition.html',0,'std::partition()'],['../d1/d21/quick__sort_8cpp.html#a1b2a2cc2d319240f3b65c5b2f479ed82',1,'sorting::quick_sort::partition()'],['../d5/d91/namespacesorting.html#aac8f44b28b4aa96444383030b28f8b34',1,'sorting::partition()'],['../d1/daa/random__pivot__quick__sort_8cpp.html#a3d1c39e1ff42c04fb8ec0c0b9411cd3e',1,'sorting::random_pivot_quick_sort::partition()']]], - ['partition_5fcopy_29',['partition_copy',['http://en.cppreference.com/w/cpp/algorithm/partition_copy.html',0,'std']]], - ['partition_5fpoint_30',['partition_point',['http://en.cppreference.com/w/cpp/algorithm/partition_point.html',0,'std']]], - ['pascal_5ftriangle_31',['pascal_triangle',['../dc/d1a/pascal__triangle_8cpp.html#a4fc0e5a112f715c3a73989450b2cc5fd',1,'pascal_triangle.cpp']]], - ['pascal_5ftriangle_2ecpp_32',['pascal_triangle.cpp',['../dc/d1a/pascal__triangle_8cpp.html',1,'']]], - ['pat_5ftest_33',['pat_test',['../d3/db2/boyer__moore_8cpp.html#ac8fac0dd4b19973da103a434143a16d2',1,'boyer_moore.cpp']]], - ['paths_34',['Augmenting paths',['../d1/d9a/hopcroft__karp_8cpp.html#autotoc_md80',1,'']]], - ['pattern_35',['pattern',['http://en.cppreference.com/w/cpp/locale/money_base.html',0,'std::money_base::pattern'],['http://en.cppreference.com/w/cpp/locale/money_base.html',0,'std::money_get::pattern'],['http://en.cppreference.com/w/cpp/locale/money_base.html',0,'std::money_put::pattern'],['http://en.cppreference.com/w/cpp/locale/money_base.html',0,'std::moneypunct::pattern'],['http://en.cppreference.com/w/cpp/locale/money_base.html',0,'std::moneypunct_byname::pattern'],['../dd/d5a/structstrings_1_1boyer__moore_1_1pattern.html',1,'strings::boyer_moore::pattern']]], - ['pb_36',['pb',['../d7/d35/matrix__exponentiation_8cpp.html#a276c5a0e984cf60015b27252fe04fe6b',1,'matrix_exponentiation.cpp']]], - ['pbackfail_37',['pbackfail',['http://en.cppreference.com/w/cpp/io/basic_streambuf/pbackfail.html',0,'std::basic_filebuf::pbackfail()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pbackfail.html',0,'std::wstringbuf::pbackfail()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pbackfail.html',0,'std::stringbuf::pbackfail()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pbackfail.html',0,'std::wfilebuf::pbackfail()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pbackfail.html',0,'std::wstreambuf::pbackfail()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pbackfail.html',0,'std::strstreambuf::pbackfail()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pbackfail.html',0,'std::basic_stringbuf::pbackfail()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pbackfail.html',0,'std::basic_streambuf::pbackfail()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pbackfail.html',0,'std::filebuf::pbackfail()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pbackfail.html',0,'std::streambuf::pbackfail()']]], - ['pbase_38',['pbase',['http://en.cppreference.com/w/cpp/io/basic_streambuf/pptr.html',0,'std::basic_filebuf::pbase()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pptr.html',0,'std::wstringbuf::pbase()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pptr.html',0,'std::stringbuf::pbase()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pptr.html',0,'std::wfilebuf::pbase()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pptr.html',0,'std::wstreambuf::pbase()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pptr.html',0,'std::strstreambuf::pbase()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pptr.html',0,'std::basic_stringbuf::pbase()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pptr.html',0,'std::basic_streambuf::pbase()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pptr.html',0,'std::filebuf::pbase()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pptr.html',0,'std::streambuf::pbase()']]], - ['pbump_39',['pbump',['http://en.cppreference.com/w/cpp/io/basic_streambuf/pbump.html',0,'std::basic_filebuf::pbump()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pbump.html',0,'std::wstringbuf::pbump()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pbump.html',0,'std::stringbuf::pbump()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pbump.html',0,'std::wfilebuf::pbump()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pbump.html',0,'std::wstreambuf::pbump()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pbump.html',0,'std::strstreambuf::pbump()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pbump.html',0,'std::basic_stringbuf::pbump()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pbump.html',0,'std::basic_streambuf::pbump()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pbump.html',0,'std::filebuf::pbump()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pbump.html',0,'std::streambuf::pbump()']]], - ['pcount_40',['pcount',['http://en.cppreference.com/w/cpp/io/strstreambuf/pcount.html',0,'std::strstreambuf::pcount()'],['http://en.cppreference.com/w/cpp/io/strstream/pcount.html',0,'std::strstream::pcount()'],['http://en.cppreference.com/w/cpp/io/ostrstream/pcount.html',0,'std::ostrstream::pcount()']]], - ['peek_41',['peek',['http://en.cppreference.com/w/cpp/io/basic_istream/peek.html',0,'std::fstream::peek()'],['http://en.cppreference.com/w/cpp/io/basic_istream/peek.html',0,'std::basic_fstream::peek()'],['http://en.cppreference.com/w/cpp/io/basic_istream/peek.html',0,'std::iostream::peek()'],['http://en.cppreference.com/w/cpp/io/basic_istream/peek.html',0,'std::wistream::peek()'],['http://en.cppreference.com/w/cpp/io/basic_istream/peek.html',0,'std::stringstream::peek()'],['http://en.cppreference.com/w/cpp/io/basic_istream/peek.html',0,'std::wifstream::peek()'],['http://en.cppreference.com/w/cpp/io/basic_istream/peek.html',0,'std::basic_istream::peek()'],['http://en.cppreference.com/w/cpp/io/basic_istream/peek.html',0,'std::strstream::peek()'],['http://en.cppreference.com/w/cpp/io/basic_istream/peek.html',0,'std::basic_stringstream::peek()'],['http://en.cppreference.com/w/cpp/io/basic_istream/peek.html',0,'std::istrstream::peek()'],['http://en.cppreference.com/w/cpp/io/basic_istream/peek.html',0,'std::wiostream::peek()'],['http://en.cppreference.com/w/cpp/io/basic_istream/peek.html',0,'std::basic_istringstream::peek()'],['http://en.cppreference.com/w/cpp/io/basic_istream/peek.html',0,'std::basic_ifstream::peek()'],['http://en.cppreference.com/w/cpp/io/basic_istream/peek.html',0,'std::istringstream::peek()'],['http://en.cppreference.com/w/cpp/io/basic_istream/peek.html',0,'std::istream::peek()'],['http://en.cppreference.com/w/cpp/io/basic_istream/peek.html',0,'std::wfstream::peek()'],['http://en.cppreference.com/w/cpp/io/basic_istream/peek.html',0,'std::basic_iostream::peek()'],['http://en.cppreference.com/w/cpp/io/basic_istream/peek.html',0,'std::wstringstream::peek()'],['http://en.cppreference.com/w/cpp/io/basic_istream/peek.html',0,'std::wistringstream::peek()'],['http://en.cppreference.com/w/cpp/io/basic_istream/peek.html',0,'std::ifstream::peek()']]], - ['perimeter_2ecpp_42',['perimeter.cpp',['../d3/dfe/perimeter_8cpp.html',1,'']]], - ['permanent_20ban_43',['4. Permanent Ban',['../d3/dd7/md__c_o_d_e___o_f___c_o_n_d_u_c_t.html#autotoc_md14',1,'']]], - ['perror_44',['perror',['http://en.cppreference.com/w/cpp/io/c/perror.html',0,'std']]], - ['persegtree_45',['perSegTree',['../d8/d28/classrange__queries_1_1per_seg_tree.html',1,'range_queries']]], - ['persistent_5fseg_5ftree_5flazy_5fprop_2ecpp_46',['persistent_seg_tree_lazy_prop.cpp',['../d5/d58/persistent__seg__tree__lazy__prop_8cpp.html',1,'']]], - ['peta_47',['peta',['http://en.cppreference.com/w/cpp/numeric/ratio/ratio.html',0,'std']]], - ['phifunction_48',['phiFunction',['../dd/d47/namespacemath.html#ac37d3ba52eb296597d7a024ba8c4a5a5',1,'math']]], - ['physics_49',['Physics',['../d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md63',1,'']]], - ['physics_50',['physics',['../d5/dd0/namespacephysics.html',1,'']]], - ['pico_51',['pico',['http://en.cppreference.com/w/cpp/numeric/ratio/ratio.html',0,'std']]], - ['piecewise_5fconstant_5fdistribution_52',['piecewise_constant_distribution',['http://en.cppreference.com/w/cpp/numeric/random/piecewise_constant_distribution.html',0,'std::piecewise_constant_distribution'],['http://en.cppreference.com/w/cpp/numeric/random/piecewise_constant_distribution/piecewise_constant_distribution.html',0,'std::piecewise_constant_distribution::piecewise_constant_distribution()']]], - ['piecewise_5fconstruct_5ft_53',['piecewise_construct_t',['http://en.cppreference.com/w/cpp/utility/piecewise_construct_t.html',0,'std']]], - ['piecewise_5flinear_5fdistribution_54',['piecewise_linear_distribution',['http://en.cppreference.com/w/cpp/numeric/random/piecewise_linear_distribution.html',0,'std::piecewise_linear_distribution'],['http://en.cppreference.com/w/cpp/numeric/random/piecewise_linear_distribution/piecewise_linear_distribution.html',0,'std::piecewise_linear_distribution::piecewise_linear_distribution()']]], - ['pigeonhole_5fsort_2ecpp_55',['pigeonhole_sort.cpp',['../dd/da8/pigeonhole__sort_8cpp.html',1,'']]], - ['pigeonsort_56',['pigeonSort',['../d5/d91/namespacesorting.html#a0e9e1b21a1684585e9e50f9afe4d53a3',1,'sorting']]], - ['placeholders_57',['placeholders',['http://en.cppreference.com/w/cpp/utility/functional/placeholders.html',0,'std']]], - ['pledge_58',['Our Pledge',['../d3/dd7/md__c_o_d_e___o_f___c_o_n_d_u_c_t.html#autotoc_md5',1,'']]], - ['plus_59',['plus',['http://en.cppreference.com/w/cpp/utility/functional/plus.html',0,'std']]], - ['point_60',['Point',['../d6/d45/structciphers_1_1elliptic__curve__key__exchange_1_1_point.html',1,'ciphers::elliptic_curve_key_exchange::Point'],['../d7/d48/structgeometry_1_1grahamscan_1_1_point.html',1,'geometry::grahamscan::Point'],['../d9/d5a/structgeometry_1_1jarvis_1_1_point.html',1,'geometry::jarvis::Point'],['../d8/dc8/struct_point.html',1,'Point'],['../d8/dc8/struct_point.html#ae2d6fb1b3fd3a96169d963d62e37130a',1,'Point::Point()'],['../df/d6b/namespaceciphers_1_1elliptic__curve__key__exchange.html#af0a6e3521629c25c2b5d620f26429830',1,'ciphers::elliptic_curve_key_exchange::Point'],['../dd/d47/namespacemath.html#a006c8ebd11bb1e035815dc835a1a7a85',1,'math::Point']]], - ['pointer_20store_20the_20address_20of_20parent_20nodes_61',['Method 1: Use parent pointer (store the address of parent nodes)',['../d4/d32/inorder__successor__of__bst_8cpp.html#autotoc_md91',1,'']]], - ['pointer_5fsafety_62',['pointer_safety',['http://en.cppreference.com/w/cpp/memory/gc/pointer_safety.html',0,'std']]], - ['pointer_5fto_63',['pointer_to',['http://en.cppreference.com/w/cpp/memory/pointer_traits/pointer_to.html',0,'std::pointer_traits']]], - ['pointer_5ftraits_64',['pointer_traits',['http://en.cppreference.com/w/cpp/memory/pointer_traits.html',0,'std']]], - ['pointincircle_65',['PointInCircle',['../d0/d01/smallest__circle_8cpp.html#aee6d48762c1dfb9f14627927f0c16fad',1,'smallest_circle.cpp']]], - ['poisson_5fdist_2ecpp_66',['poisson_dist.cpp',['../d9/d24/poisson__dist_8cpp.html',1,'']]], - ['poisson_5fdistribution_67',['poisson_distribution',['http://en.cppreference.com/w/cpp/numeric/random/poisson_distribution.html',0,'std::poisson_distribution'],['http://en.cppreference.com/w/cpp/numeric/random/poisson_distribution/poisson_distribution.html',0,'std::poisson_distribution::poisson_distribution()']]], - ['poisson_5fexpected_68',['poisson_expected',['../d9/d24/poisson__dist_8cpp.html#ad0aa718023ce802dd5899f0e03a7ac71',1,'poisson_dist.cpp']]], - ['poisson_5frange_5fsuccesses_69',['poisson_range_successes',['../d9/d24/poisson__dist_8cpp.html#ad9c9e74079278ca10e3b97a8d5391c9a',1,'poisson_dist.cpp']]], - ['poisson_5frate_70',['poisson_rate',['../d9/d24/poisson__dist_8cpp.html#ac217ab9a06291f360d816700a6958ca8',1,'poisson_dist.cpp']]], - ['poisson_5fx_5fsuccesses_71',['poisson_x_successes',['../d9/d24/poisson__dist_8cpp.html#a69a136b32707bdc7950fb9057b5fa1e1',1,'poisson_dist.cpp']]], - ['poly_5ffunction_72',['poly_function',['../da/df2/durand__kerner__roots_8cpp.html#ae2ab49ba1969d7a5988f9bc2c8924569',1,'durand_kerner_roots.cpp']]], - ['pop_73',['pop',['http://en.cppreference.com/w/cpp/container/stack/pop.html',0,'std::stack::pop()'],['http://en.cppreference.com/w/cpp/container/queue/pop.html',0,'std::queue::pop()'],['http://en.cppreference.com/w/cpp/container/priority_queue/pop.html',0,'std::priority_queue::pop()'],['../d1/dc2/classstack.html#a3647fb4418890f19e0dc414b8092b8b0',1,'stack::pop()'],['../d2/dc8/classdata__structures_1_1_stack.html#ac46842bdd9c655d84f865fa3a03da19b',1,'data_structures::Stack::pop()'],['../db/d5b/structdata__structures_1_1stack__using__queue_1_1_stack.html#abdd461689df4983a3ad3b05d853cf5eb',1,'data_structures::stack_using_queue::Stack::pop()'],['../df/d8f/classothers_1_1_cache_1_1_l_f_u_cache.html#ab3561ab204754295199f9566924f7e69',1,'others::Cache::LFUCache::pop()'],['../dc/dc5/paranthesis__matching_8cpp.html#a6d25c7dfbfeb52c3cb9d1b56ab49b664',1,'pop(): paranthesis_matching.cpp'],['../d7/d75/postfix__evaluation_8cpp.html#a421baa2002a64bc0bfc3e1b64800d734',1,'others::postfix_expression::pop()']]], - ['pop_5fback_74',['pop_back',['http://en.cppreference.com/w/cpp/container/vector/pop_back.html',0,'std::vector::pop_back()'],['http://en.cppreference.com/w/cpp/string/basic_string/pop_back.html',0,'std::string::pop_back()'],['http://en.cppreference.com/w/cpp/container/deque/pop_back.html',0,'std::deque::pop_back()'],['http://en.cppreference.com/w/cpp/string/basic_string/pop_back.html',0,'std::basic_string::pop_back()'],['http://en.cppreference.com/w/cpp/string/basic_string/pop_back.html',0,'std::wstring::pop_back()'],['http://en.cppreference.com/w/cpp/string/basic_string/pop_back.html',0,'std::u16string::pop_back()'],['http://en.cppreference.com/w/cpp/string/basic_string/pop_back.html',0,'std::u32string::pop_back()'],['http://en.cppreference.com/w/cpp/container/list/pop_back.html',0,'std::list::pop_back()'],['../d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache.html#ab211a4be58491bf11834cae88a0c44f7',1,'others::Cache::LRUCache::pop_back()'],['../d8/d77/namespacemachine__learning.html#ae10178b082f0205c326550877d998e5d',1,'machine_learning::pop_back()']]], - ['pop_5ffront_75',['pop_front',['http://en.cppreference.com/w/cpp/container/forward_list/pop_front.html',0,'std::forward_list::pop_front()'],['http://en.cppreference.com/w/cpp/container/deque/pop_front.html',0,'std::deque::pop_front()'],['http://en.cppreference.com/w/cpp/container/list/pop_front.html',0,'std::list::pop_front()'],['../d8/d77/namespacemachine__learning.html#a912cf68863063a38d6e63545be5eb093',1,'machine_learning::pop_front()']]], - ['pop_5fheap_76',['pop_heap',['http://en.cppreference.com/w/cpp/algorithm/pop_heap.html',0,'std']]], - ['populate_5fparents_77',['populate_parents',['../d0/d58/classgraph_1_1_rooted_tree.html#ae6928f3ebd491541e9570e746b877c1e',1,'graph::RootedTree']]], - ['populate_5fup_78',['populate_up',['../d9/d23/classgraph_1_1_lowest_common_ancestor.html#a42589cc39d6bbff6c997152f1b96e356',1,'graph::LowestCommonAncestor']]], - ['pos_5fformat_79',['pos_format',['http://en.cppreference.com/w/cpp/locale/moneypunct/pos_format.html',0,'std::moneypunct_byname::pos_format()'],['http://en.cppreference.com/w/cpp/locale/moneypunct/pos_format.html',0,'std::moneypunct::pos_format()']]], - ['position_80',['position',['http://en.cppreference.com/w/cpp/regex/match_results/position.html',0,'std::match_results::position()'],['http://en.cppreference.com/w/cpp/regex/match_results/position.html',0,'std::wsmatch::position()'],['http://en.cppreference.com/w/cpp/regex/match_results/position.html',0,'std::smatch::position()'],['http://en.cppreference.com/w/cpp/regex/match_results/position.html',0,'std::wcmatch::position()'],['http://en.cppreference.com/w/cpp/regex/match_results/position.html',0,'std::cmatch::position()']]], - ['positive_5fsign_81',['positive_sign',['http://en.cppreference.com/w/cpp/locale/moneypunct/positive_sign.html',0,'std::moneypunct_byname::positive_sign()'],['http://en.cppreference.com/w/cpp/locale/moneypunct/positive_sign.html',0,'std::moneypunct::positive_sign()']]], - ['postfix_5fevaluation_82',['postfix_evaluation',['../d7/d75/postfix__evaluation_8cpp.html#ae38bd3a177a6d61da3859a281233bbe1',1,'others::postfix_expression']]], - ['postfix_5fevaluation_2ecpp_83',['postfix_evaluation.cpp',['../d7/d75/postfix__evaluation_8cpp.html',1,'']]], - ['postfix_5fexpression_84',['postfix_expression',['../d4/de6/namespacepostfix__expression.html',1,'']]], - ['postorder_85',['postorder',['../dd/de1/classothers_1_1recursive__tree__traversals_1_1_b_t.html#ac9404b65f407f631915515fa2e08a40c',1,'others::recursive_tree_traversals::BT']]], - ['postorder_20traversal_20of_20a_20tree_86',['Postorder Traversal of a tree',['../d8/d90/iterative__tree__traversals_8cpp.html#autotoc_md94',1,'Iterative Postorder Traversal of a tree'],['../dc/de1/recursive__tree__traversal_8cpp.html#autotoc_md101',1,'Iterative Postorder Traversal of a tree']]], - ['postorderiterative_87',['postOrderIterative',['../d9/d12/classothers_1_1iterative__tree__traversals_1_1_binary_tree.html#a636a07c90b7f312bb86d2ec104efca25',1,'others::iterative_tree_traversals::BinaryTree']]], - ['pow_88',['pow',['http://en.cppreference.com/w/cpp/numeric/math/pow.html',0,'std']]], - ['power_89',['power',['../de/dc3/fibonacci__sum_8cpp.html#a7cf5feaf168b88e74544da59ed830311',1,'math::fibonacci_sum::power()'],['../df/d72/modular__division_8cpp.html#a66cdf93153cbd1408bd74ac68961d179',1,'math::modular_division::power()'],['../dd/d47/namespacemath.html#afcd07701d73ed65cd616bcba02737f3d',1,'math::power()'],['../df/def/power__for__huge__numbers_8cpp.html#ae249a2af508aa94266023ce8aa81426f',1,'power(int x, int n): power_for_huge_numbers.cpp'],['../d7/d35/matrix__exponentiation_8cpp.html#a702a9fc90e79b05b863cc4efa26ae2ec',1,'power(const vector< vector< ll > > &A, ll p): matrix_exponentiation.cpp']]], - ['power_5ffor_5fhuge_5fnumbers_2ecpp_90',['power_for_huge_numbers.cpp',['../df/def/power__for__huge__numbers_8cpp.html',1,'']]], - ['power_5fof_5f2_2ecpp_91',['power_of_2.cpp',['../dc/d6d/power__of__2_8cpp.html',1,'']]], - ['power_5fof_5ftwo_92',['power_of_two',['../dd/d47/namespacemath.html#a8a48be4d7f14e34c5c92925bc1cbf3bb',1,'math']]], - ['power_5fof_5ftwo_2ecpp_93',['power_of_two.cpp',['../d4/d38/power__of__two_8cpp.html',1,'']]], - ['pptr_94',['pptr',['http://en.cppreference.com/w/cpp/io/basic_streambuf/pptr.html',0,'std::basic_filebuf::pptr()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pptr.html',0,'std::wstringbuf::pptr()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pptr.html',0,'std::stringbuf::pptr()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pptr.html',0,'std::wfilebuf::pptr()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pptr.html',0,'std::wstreambuf::pptr()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pptr.html',0,'std::strstreambuf::pptr()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pptr.html',0,'std::basic_stringbuf::pptr()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pptr.html',0,'std::basic_streambuf::pptr()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pptr.html',0,'std::filebuf::pptr()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pptr.html',0,'std::streambuf::pptr()']]], - ['precision_95',['precision',['http://en.cppreference.com/w/cpp/io/ios_base/precision.html',0,'std::basic_ofstream::precision()'],['http://en.cppreference.com/w/cpp/io/ios_base/precision.html',0,'std::fstream::precision()'],['http://en.cppreference.com/w/cpp/io/ios_base/precision.html',0,'std::wostream::precision()'],['http://en.cppreference.com/w/cpp/io/ios_base/precision.html',0,'std::basic_ostringstream::precision()'],['http://en.cppreference.com/w/cpp/io/ios_base/precision.html',0,'std::basic_ios::precision()'],['http://en.cppreference.com/w/cpp/io/ios_base/precision.html',0,'std::ostringstream::precision()'],['http://en.cppreference.com/w/cpp/io/ios_base/precision.html',0,'std::basic_fstream::precision()'],['http://en.cppreference.com/w/cpp/io/ios_base/precision.html',0,'std::iostream::precision()'],['http://en.cppreference.com/w/cpp/io/ios_base/precision.html',0,'std::ios_base::precision()'],['http://en.cppreference.com/w/cpp/io/ios_base/precision.html',0,'std::wistream::precision()'],['http://en.cppreference.com/w/cpp/io/ios_base/precision.html',0,'std::stringstream::precision()'],['http://en.cppreference.com/w/cpp/io/ios_base/precision.html',0,'std::ostream::precision()'],['http://en.cppreference.com/w/cpp/io/ios_base/precision.html',0,'std::wifstream::precision()'],['http://en.cppreference.com/w/cpp/io/ios_base/precision.html',0,'std::basic_istream::precision()'],['http://en.cppreference.com/w/cpp/io/ios_base/precision.html',0,'std::strstream::precision()'],['http://en.cppreference.com/w/cpp/io/ios_base/precision.html',0,'std::basic_stringstream::precision()'],['http://en.cppreference.com/w/cpp/io/ios_base/precision.html',0,'std::wostringstream::precision()'],['http://en.cppreference.com/w/cpp/io/ios_base/precision.html',0,'std::istrstream::precision()'],['http://en.cppreference.com/w/cpp/io/ios_base/precision.html',0,'std::basic_ostream::precision()'],['http://en.cppreference.com/w/cpp/io/ios_base/precision.html',0,'std::wiostream::precision()'],['http://en.cppreference.com/w/cpp/io/ios_base/precision.html',0,'std::ofstream::precision()'],['http://en.cppreference.com/w/cpp/io/ios_base/precision.html',0,'std::basic_istringstream::precision()'],['http://en.cppreference.com/w/cpp/io/ios_base/precision.html',0,'std::basic_ifstream::precision()'],['http://en.cppreference.com/w/cpp/io/ios_base/precision.html',0,'std::istringstream::precision()'],['http://en.cppreference.com/w/cpp/io/ios_base/precision.html',0,'std::istream::precision()'],['http://en.cppreference.com/w/cpp/io/ios_base/precision.html',0,'std::ostrstream::precision()'],['http://en.cppreference.com/w/cpp/io/ios_base/precision.html',0,'std::wfstream::precision()'],['http://en.cppreference.com/w/cpp/io/ios_base/precision.html',0,'std::basic_iostream::precision()'],['http://en.cppreference.com/w/cpp/io/ios_base/precision.html',0,'std::wofstream::precision()'],['http://en.cppreference.com/w/cpp/io/ios_base/precision.html',0,'std::wstringstream::precision()'],['http://en.cppreference.com/w/cpp/io/ios_base/precision.html',0,'std::wistringstream::precision()'],['http://en.cppreference.com/w/cpp/io/ios_base/precision.html',0,'std::ifstream::precision()']]], - ['predict_96',['predict',['../d6/d30/classmachine__learning_1_1adaline.html#ab11242d9ad5b03a75911e29b04f78fd3',1,'machine_learning::adaline::predict()'],['../da/d94/classmachine__learning_1_1k__nearest__neighbors_1_1_knn.html#a62e152db014cd4de675fa906e5ef2861',1,'machine_learning::k_nearest_neighbors::Knn::predict()']]], - ['predict_5fols_5fregressor_97',['predict_OLS_regressor',['../dc/d38/ordinary__least__squares__regressor_8cpp.html#ade6e463f37878fe2a219f927c65b5493',1,'ordinary_least_squares_regressor.cpp']]], - ['predict_5fwords_98',['predict_words',['../d3/d26/classdata__structures_1_1trie__using__hashmap_1_1_trie.html#ae15fdc7f2b5023992d87a711d78566c4',1,'data_structures::trie_using_hashmap::Trie']]], - ['prefix_99',['prefix',['http://en.cppreference.com/w/cpp/regex/match_results/prefix.html',0,'std::match_results::prefix()'],['http://en.cppreference.com/w/cpp/regex/match_results/prefix.html',0,'std::wsmatch::prefix()'],['http://en.cppreference.com/w/cpp/regex/match_results/prefix.html',0,'std::smatch::prefix()'],['http://en.cppreference.com/w/cpp/regex/match_results/prefix.html',0,'std::wcmatch::prefix()'],['http://en.cppreference.com/w/cpp/regex/match_results/prefix.html',0,'std::cmatch::prefix()']]], - ['prefix_5fsum_5farray_100',['prefix_sum_array',['../d7/d88/namespaceprefix__sum__array.html',1,'']]], - ['prefix_5fsum_5farray_2ecpp_101',['prefix_sum_array.cpp',['../d1/d9e/prefix__sum__array_8cpp.html',1,'']]], - ['preorder_102',['preorder',['../dd/de1/classothers_1_1recursive__tree__traversals_1_1_b_t.html#a6397b78ceec18cb1959a1d159e134da5',1,'others::recursive_tree_traversals::BT']]], - ['preorder_20traversal_20of_20a_20tree_103',['Preorder Traversal of a tree',['../d8/d90/iterative__tree__traversals_8cpp.html#autotoc_md93',1,'Iterative Preorder Traversal of a tree'],['../dc/de1/recursive__tree__traversal_8cpp.html#autotoc_md100',1,'Iterative Preorder Traversal of a tree']]], - ['preorderiterative_104',['preOrderIterative',['../d9/d12/classothers_1_1iterative__tree__traversals_1_1_binary_tree.html#ad4c6a8e67fb8267a65439b035666b5ae',1,'others::iterative_tree_traversals::BinaryTree']]], - ['prev_105',['prev',['../de/d21/classothers_1_1_cache_1_1_d___node.html#a19e954cbb710ea8318bcb6aaef78e2d5',1,'others::Cache::D_Node::prev'],['http://en.cppreference.com/w/cpp/iterator/prev.html',0,'std::prev(T... args)']]], - ['prev_5fpermutation_106',['prev_permutation',['http://en.cppreference.com/w/cpp/algorithm/prev_permutation.html',0,'std']]], - ['primality_5ftest_2ecpp_107',['primality_test.cpp',['../da/d7b/primality__test_8cpp.html',1,'']]], - ['prime_108',['PRIME',['../d6/dce/rabin__karp_8cpp.html#ac4add2a227a10511e0128d63952030e8',1,'rabin_karp.cpp']]], - ['prime_109',['prime',['../d4/d9c/primes__up__to__billion_8cpp.html#ac0f4b77b901ddb15dab4c4dee1ac6e95',1,'primes_up_to_billion.cpp']]], - ['prime_20factorization_110',['Prime factorization',['../d7/d7f/section.html',1,'']]], - ['prime_5ffactorization_111',['prime_factorization',['../db/d0d/prime__factorization_8cpp.html#a0ece0145fb29a5cf48378c23dde2da46',1,'prime_factorization.cpp']]], - ['prime_5ffactorization_2ecpp_112',['prime_factorization.cpp',['../db/d0d/prime__factorization_8cpp.html',1,'']]], - ['prime_5fnumbers_113',['prime_numbers',['../db/d0d/prime__factorization_8cpp.html#af097796783684712b8326e5b82bfd4fe',1,'prime_factorization.cpp']]], - ['prime_5fnumbers_2ecpp_114',['prime_numbers.cpp',['../de/d9b/prime__numbers_8cpp.html',1,'']]], - ['primes_115',['primes',['../de/d9b/prime__numbers_8cpp.html#a9575f3a51eeb8a57d657b3db6a4b441a',1,'prime_numbers.cpp']]], - ['primes_5fup_5fto_5fbillion_2ecpp_116',['primes_up_to_billion.cpp',['../d4/d9c/primes__up__to__billion_8cpp.html',1,'']]], - ['print_117',['Print',['../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a2e9a9db7792cf5383f4c4cc418255165',1,'data_structures::tree_234::Tree234']]], - ['print_118',['print',['../d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list.html#ac341901e926b3fa3a796c64ca572f592',1,'operations_on_datastructures::circular_linked_list::CircularLinkedList::print()'],['../d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list.html#a424b17ddc672b25fe0bd9dc8612fba21',1,'operations_on_datastructures::circular_linked_list::CircularLinkedList::print(Node *root)'],['../de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree.html#a5cf972a2c994a4fa1a89fc77bd5ad503',1,'operations_on_datastructures::reverse_binary_tree::BinaryTree::print()'],['../d2/d2f/namespacegreedy__algorithms_1_1dijkstra.html#a7341d7c76a6145e991cdd231f689fca8',1,'greedy_algorithms::dijkstra::print()'],['../d8/ddf/sieve__of__eratosthenes_8cpp.html#a55bc4a221e584d33b79b322432ecc0f3',1,'math::sieve_of_eratosthenes::print()'],['../da/d6d/namespaceoperations__on__datastructures.html#a6109193567a5b7e36a27f2b4865fce20',1,'operations_on_datastructures::print()']]], - ['print_5fprimes_119',['print_primes',['../dd/d47/namespacemath.html#ad09d59850865012a6fd95d89954c82e4',1,'math']]], - ['print_5ftable_120',['print_table',['../d8/d41/namespacegames_1_1memory__game.html#ac589ef65abb0a6b9a7116ee0f9fd5280',1,'games::memory_game']]], - ['printarray_121',['printArray',['../d2/d52/heap__sort_8cpp.html#a9ed3e1510afdf3edd06cf2b68769a767',1,'heap_sort.cpp']]], - ['printf_122',['printf',['http://en.cppreference.com/w/cpp/io/c/fprintf.html',0,'std']]], - ['printinorder_123',['printInorder',['../d4/d32/inorder__successor__of__bst_8cpp.html#a5d7266b934ca50c4f53e4f1e725d89a4',1,'operations_on_datastructures::inorder_traversal_of_bst']]], - ['printlinkedlist_124',['printLinkedList',['../d5/d45/sublist__search_8cpp.html#ad1028bc215281d62e344af99da57fab2',1,'search::sublist_search']]], - ['printmat_125',['printMat',['../d3/d05/sudoku__solver_8cpp.html#ab040a12d7684cd85fb3684f4211ea5ac',1,'backtracking::sudoku_solver']]], - ['printnode_126',['PrintNode',['../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#af260f0760344771bf8fce4fc9b1739be',1,'data_structures::tree_234::Tree234']]], - ['printresult_127',['printResult',['../dd/dca/class_f_c_f_s.html#abb361a612b18bb189aa6d3c49288b793',1,'FCFS']]], - ['printroot_128',['printRoot',['../dd/d29/false__position_8cpp.html#a85cb7bfb90abc898e042d624372c5345',1,'numerical_methods::false_position']]], - ['printsol_129',['PrintSol',['../da/dac/n__queens__all__solution__optimised_8cpp.html#a04090463be4942a69ea91fe7386da905',1,'backtracking::n_queens_optimized::PrintSol()'],['../d7/d24/nqueen__print__all__solutions_8cpp.html#aebd5e11fab6dab282efccfb61beb0bd9',1,'backtracking::n_queens_all_solutions::PrintSol()']]], - ['printsolution_130',['printSolution',['../d3/d40/graph__coloring_8cpp.html#a8c47fa37fb6eeeb781b2ec1b05af6b07',1,'backtracking::graph_coloring::printSolution()'],['../d4/d3e/n__queens_8cpp.html#a40ae0c7fd04eb20e7f3bff13fc6a5808',1,'backtracking::n_queens::printSolution()']]], - ['priority_131',['priority',['../d5/d95/structdata__structures_1_1treap_1_1_treap.html#a8be70f0a25e53e870e97d8d23968d723',1,'data_structures::treap::Treap']]], - ['priority_5fqueue_132',['priority_queue',['http://en.cppreference.com/w/cpp/container/priority_queue.html',0,'std::priority_queue< T >'],['http://en.cppreference.com/w/cpp/container/priority_queue/priority_queue.html',0,'std::priority_queue::priority_queue()']]], - ['priority_5fqueue_3c_20std_3a_3atuple_3c_20s_2c_20t_2c_20e_2c_20double_2c_20double_2c_20double_20_3e_2c_20std_3a_3avector_3c_20std_3a_3atuple_3c_20s_2c_20t_2c_20e_2c_20double_2c_20double_2c_20double_20_3e_20_3e_2c_20compare_3c_20s_2c_20t_2c_20e_20_3e_20_3e_133',['priority_queue< std::tuple< S, T, E, double, double, double >, std::vector< std::tuple< S, T, E, double, double, double > >, Compare< S, T, E > >',['http://en.cppreference.com/w/cpp/container/priority_queue.html',0,'std']]], - ['probabilities_134',['probabilities',['http://en.cppreference.com/w/cpp/numeric/random/discrete_distribution/probabilities.html',0,'std::discrete_distribution']]], - ['probability_135',['PROBABILITY',['../d5/d3c/namespacedata__structures.html#a903639d8e6f955dd8d5c263781455d61',1,'data_structures']]], - ['probability_136',['Probability',['../d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md64',1,'']]], - ['probability_137',['probability',['../d4/ded/namespaceprobability.html',1,'']]], - ['probability_5fdensity_138',['probability_density',['../da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution.html#aee973db9f0435e0cb4cc70f8eb3447a1',1,'probability::geometric_dist::geometric_distribution']]], - ['problem_139',['problem',['../db/dd3/ode__forward__euler_8cpp.html#abaeae8f62a018d197f0187a1c80a90fe',1,'problem(const double &x, std::valarray< double > *y, std::valarray< double > *dy): ode_forward_euler.cpp'],['../d6/dd3/ode__midpoint__euler_8cpp.html#abaeae8f62a018d197f0187a1c80a90fe',1,'problem(const double &x, std::valarray< double > *y, std::valarray< double > *dy): ode_midpoint_euler.cpp'],['../d3/d06/ode__semi__implicit__euler_8cpp.html#abaeae8f62a018d197f0187a1c80a90fe',1,'problem(const double &x, std::valarray< double > *y, std::valarray< double > *dy): ode_semi_implicit_euler.cpp']]], - ['program_140',['Typical structure of a program',['../d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md31',1,'']]], - ['programming_141',['Dynamic Programming',['../d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md51',1,'']]], - ['projection_142',['projection',['../d5/d33/gram__schmidt_8cpp.html#a8eeaafdde8b56f459aadc6013cf078bc',1,'numerical_methods::gram_schmidt']]], - ['promise_143',['promise',['http://en.cppreference.com/w/cpp/thread/promise.html',0,'std::promise'],['http://en.cppreference.com/w/cpp/thread/promise/promise.html',0,'std::promise::promise()']]], - ['psucc_144',['psucc',['../de/d9d/classdata__structures_1_1linked__list_1_1link.html#af94c06f3220e5406245680f58b8e7081',1,'data_structures::linked_list::link']]], - ['ptrdiff_5ft_145',['ptrdiff_t',['http://en.cppreference.com/w/cpp/types/ptrdiff_t.html',0,'std']]], - ['ptrs_146',['ptrs',['../d8/d28/classrange__queries_1_1per_seg_tree.html#a1eac9cf0613dfc8e2b0195009dd5c9d5',1,'range_queries::perSegTree']]], - ['pubimbue_147',['pubimbue',['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubimbue.html',0,'std::basic_filebuf::pubimbue()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubimbue.html',0,'std::wstringbuf::pubimbue()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubimbue.html',0,'std::stringbuf::pubimbue()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubimbue.html',0,'std::wfilebuf::pubimbue()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubimbue.html',0,'std::wstreambuf::pubimbue()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubimbue.html',0,'std::strstreambuf::pubimbue()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubimbue.html',0,'std::basic_stringbuf::pubimbue()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubimbue.html',0,'std::basic_streambuf::pubimbue()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubimbue.html',0,'std::filebuf::pubimbue()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubimbue.html',0,'std::streambuf::pubimbue()']]], - ['pubseekoff_148',['pubseekoff',['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubseekoff.html',0,'std::basic_filebuf::pubseekoff()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubseekoff.html',0,'std::wstringbuf::pubseekoff()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubseekoff.html',0,'std::stringbuf::pubseekoff()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubseekoff.html',0,'std::wfilebuf::pubseekoff()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubseekoff.html',0,'std::wstreambuf::pubseekoff()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubseekoff.html',0,'std::strstreambuf::pubseekoff()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubseekoff.html',0,'std::basic_stringbuf::pubseekoff()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubseekoff.html',0,'std::basic_streambuf::pubseekoff()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubseekoff.html',0,'std::filebuf::pubseekoff()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubseekoff.html',0,'std::streambuf::pubseekoff()']]], - ['pubseekpos_149',['pubseekpos',['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubseekpos.html',0,'std::basic_filebuf::pubseekpos()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubseekpos.html',0,'std::wstringbuf::pubseekpos()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubseekpos.html',0,'std::stringbuf::pubseekpos()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubseekpos.html',0,'std::wfilebuf::pubseekpos()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubseekpos.html',0,'std::wstreambuf::pubseekpos()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubseekpos.html',0,'std::strstreambuf::pubseekpos()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubseekpos.html',0,'std::basic_stringbuf::pubseekpos()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubseekpos.html',0,'std::basic_streambuf::pubseekpos()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubseekpos.html',0,'std::filebuf::pubseekpos()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubseekpos.html',0,'std::streambuf::pubseekpos()']]], - ['pubsetbuf_150',['pubsetbuf',['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubsetbuf.html',0,'std::basic_filebuf::pubsetbuf()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubsetbuf.html',0,'std::wstringbuf::pubsetbuf()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubsetbuf.html',0,'std::stringbuf::pubsetbuf()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubsetbuf.html',0,'std::wfilebuf::pubsetbuf()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubsetbuf.html',0,'std::wstreambuf::pubsetbuf()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubsetbuf.html',0,'std::strstreambuf::pubsetbuf()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubsetbuf.html',0,'std::basic_stringbuf::pubsetbuf()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubsetbuf.html',0,'std::basic_streambuf::pubsetbuf()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubsetbuf.html',0,'std::filebuf::pubsetbuf()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubsetbuf.html',0,'std::streambuf::pubsetbuf()']]], - ['pubsync_151',['pubsync',['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubsync.html',0,'std::basic_filebuf::pubsync()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubsync.html',0,'std::wstringbuf::pubsync()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubsync.html',0,'std::stringbuf::pubsync()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubsync.html',0,'std::wfilebuf::pubsync()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubsync.html',0,'std::wstreambuf::pubsync()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubsync.html',0,'std::strstreambuf::pubsync()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubsync.html',0,'std::basic_stringbuf::pubsync()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubsync.html',0,'std::basic_streambuf::pubsync()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubsync.html',0,'std::filebuf::pubsync()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubsync.html',0,'std::streambuf::pubsync()']]], - ['pull_20requests_152',['Pull Requests',['../d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md36',1,'']]], - ['push_153',['push',['http://en.cppreference.com/w/cpp/container/stack/push.html',0,'std::stack::push()'],['http://en.cppreference.com/w/cpp/container/queue/push.html',0,'std::queue::push()'],['http://en.cppreference.com/w/cpp/container/priority_queue/push.html',0,'std::priority_queue::push()'],['../d1/dc2/classstack.html#a90df277532c23519aa7ac3c08ed90a1d',1,'stack::push()'],['../d2/dc8/classdata__structures_1_1_stack.html#aa9f9b087e9e7c00628e1289f0f1de3b2',1,'data_structures::Stack::push()'],['../db/d5b/structdata__structures_1_1stack__using__queue_1_1_stack.html#af04a8f3536a52d8c9916086b656eefc2',1,'data_structures::stack_using_queue::Stack::push()'],['../df/d8f/classothers_1_1_cache_1_1_l_f_u_cache.html#adad4ab43141fb8ba43facd3a71e07047',1,'others::Cache::LFUCache::push()'],['../dc/dc5/paranthesis__matching_8cpp.html#aae41c72130114bf31204cde6873b6095',1,'push(): paranthesis_matching.cpp'],['../d7/d75/postfix__evaluation_8cpp.html#ad77f8c9cc594975756838d498c237cea',1,'others::postfix_expression::push()']]], - ['push_5fback_154',['push_back',['http://en.cppreference.com/w/cpp/container/vector/push_back.html',0,'std::vector::push_back()'],['http://en.cppreference.com/w/cpp/string/basic_string/push_back.html',0,'std::string::push_back()'],['http://en.cppreference.com/w/cpp/container/deque/push_back.html',0,'std::deque::push_back()'],['http://en.cppreference.com/w/cpp/string/basic_string/push_back.html',0,'std::basic_string::push_back()'],['http://en.cppreference.com/w/cpp/string/basic_string/push_back.html',0,'std::wstring::push_back()'],['http://en.cppreference.com/w/cpp/string/basic_string/push_back.html',0,'std::u16string::push_back()'],['http://en.cppreference.com/w/cpp/string/basic_string/push_back.html',0,'std::u32string::push_back()'],['http://en.cppreference.com/w/cpp/container/list/push_back.html',0,'std::list::push_back()'],['../d1/def/classdata__structures_1_1linked__list_1_1list.html#a6e9859d1a0755fb51e41904d20c95496',1,'data_structures::linked_list::list::push_back()']]], - ['push_5ffront_155',['push_front',['http://en.cppreference.com/w/cpp/container/forward_list/push_front.html',0,'std::forward_list::push_front()'],['http://en.cppreference.com/w/cpp/container/deque/push_front.html',0,'std::deque::push_front()'],['http://en.cppreference.com/w/cpp/container/list/push_front.html',0,'std::list::push_front()'],['../d1/def/classdata__structures_1_1linked__list_1_1list.html#a332b965afd9d6bea8d3246673acd52c7',1,'data_structures::linked_list::list::push_front()'],['../d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache.html#a2e53b5ad1368d87da501f61473eb9ea2',1,'others::Cache::LRUCache::push_front()']]], - ['push_5fheap_156',['push_heap',['http://en.cppreference.com/w/cpp/algorithm/push_heap.html',0,'std']]], - ['put_157',['put',['http://en.cppreference.com/w/cpp/io/basic_ostream/put.html',0,'std::basic_ofstream::put()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/put.html',0,'std::fstream::put()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/put.html',0,'std::wostream::put()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/put.html',0,'std::basic_ostringstream::put()'],['http://en.cppreference.com/w/cpp/locale/time_put/put.html',0,'std::time_put_byname::put()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/put.html',0,'std::ostringstream::put()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/put.html',0,'std::basic_fstream::put()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/put.html',0,'std::iostream::put()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/put.html',0,'std::stringstream::put()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/put.html',0,'std::ostream::put()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/put.html',0,'std::strstream::put()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/put.html',0,'std::basic_stringstream::put()'],['http://en.cppreference.com/w/cpp/locale/time_put/put.html',0,'std::time_put::put()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/put.html',0,'std::wostringstream::put()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/put.html',0,'std::basic_ostream::put()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/put.html',0,'std::wiostream::put()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/put.html',0,'std::ofstream::put()'],['http://en.cppreference.com/w/cpp/locale/num_put/put.html',0,'std::num_put::put()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/put.html',0,'std::ostrstream::put()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/put.html',0,'std::wfstream::put()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/put.html',0,'std::basic_iostream::put()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/put.html',0,'std::wofstream::put()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/put.html',0,'std::wstringstream::put()'],['http://en.cppreference.com/w/cpp/locale/money_put/put.html',0,'std::money_put::put()'],['../df/d8f/classothers_1_1_cache_1_1_l_f_u_cache.html#af6f8e5a66a45436b490dfe015ff8866e',1,'others::Cache::LFUCache::put()'],['../d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache.html#a5ee34fcee480f21bb6f68a34f0f69b45',1,'others::Cache::LRUCache::put()']]], - ['put_5fmoney_158',['put_money',['http://en.cppreference.com/w/cpp/io/manip/put_money.html',0,'std']]], - ['put_5ftime_159',['put_time',['http://en.cppreference.com/w/cpp/io/manip/put_time.html',0,'std']]], - ['putback_160',['putback',['http://en.cppreference.com/w/cpp/io/basic_istream/putback.html',0,'std::fstream::putback()'],['http://en.cppreference.com/w/cpp/io/basic_istream/putback.html',0,'std::basic_fstream::putback()'],['http://en.cppreference.com/w/cpp/io/basic_istream/putback.html',0,'std::iostream::putback()'],['http://en.cppreference.com/w/cpp/io/basic_istream/putback.html',0,'std::wistream::putback()'],['http://en.cppreference.com/w/cpp/io/basic_istream/putback.html',0,'std::stringstream::putback()'],['http://en.cppreference.com/w/cpp/io/basic_istream/putback.html',0,'std::wifstream::putback()'],['http://en.cppreference.com/w/cpp/io/basic_istream/putback.html',0,'std::basic_istream::putback()'],['http://en.cppreference.com/w/cpp/io/basic_istream/putback.html',0,'std::strstream::putback()'],['http://en.cppreference.com/w/cpp/io/basic_istream/putback.html',0,'std::basic_stringstream::putback()'],['http://en.cppreference.com/w/cpp/io/basic_istream/putback.html',0,'std::istrstream::putback()'],['http://en.cppreference.com/w/cpp/io/basic_istream/putback.html',0,'std::wiostream::putback()'],['http://en.cppreference.com/w/cpp/io/basic_istream/putback.html',0,'std::basic_istringstream::putback()'],['http://en.cppreference.com/w/cpp/io/basic_istream/putback.html',0,'std::basic_ifstream::putback()'],['http://en.cppreference.com/w/cpp/io/basic_istream/putback.html',0,'std::istringstream::putback()'],['http://en.cppreference.com/w/cpp/io/basic_istream/putback.html',0,'std::istream::putback()'],['http://en.cppreference.com/w/cpp/io/basic_istream/putback.html',0,'std::wfstream::putback()'],['http://en.cppreference.com/w/cpp/io/basic_istream/putback.html',0,'std::basic_iostream::putback()'],['http://en.cppreference.com/w/cpp/io/basic_istream/putback.html',0,'std::wstringstream::putback()'],['http://en.cppreference.com/w/cpp/io/basic_istream/putback.html',0,'std::wistringstream::putback()'],['http://en.cppreference.com/w/cpp/io/basic_istream/putback.html',0,'std::ifstream::putback()']]], - ['putc_161',['putc',['http://en.cppreference.com/w/cpp/io/c/fputc.html',0,'std']]], - ['putchar_162',['putchar',['http://en.cppreference.com/w/cpp/io/c/putchar.html',0,'std']]], - ['putprober_163',['putProber',['../d0/d65/namespacedouble__hashing.html#ac2adfce49ac57f6dbd1778d2c1ce0d2b',1,'double_hashing::putProber()'],['../d8/d89/namespacelinear__probing.html#a75d779938df7ebc68581d922b60a2541',1,'linear_probing::putProber()'],['../d4/dd2/namespacequadratic__probing.html#adccc63a7e57cc6dba75bd62f40feb88b',1,'quadratic_probing::putProber()']]], - ['puts_164',['puts',['http://en.cppreference.com/w/cpp/io/c/puts.html',0,'std']]], - ['putwchar_165',['putwchar',['http://en.cppreference.com/w/cpp/io/c/putwchar.html',0,'std']]], - ['pvalue_166',['pvalue',['../de/d9d/classdata__structures_1_1linked__list_1_1link.html#ac121ce37b6ea864b160ebcada0bce936',1,'data_structures::linked_list::link']]], - ['pword_167',['pword',['http://en.cppreference.com/w/cpp/io/ios_base/pword.html',0,'std::basic_ofstream::pword()'],['http://en.cppreference.com/w/cpp/io/ios_base/pword.html',0,'std::fstream::pword()'],['http://en.cppreference.com/w/cpp/io/ios_base/pword.html',0,'std::wostream::pword()'],['http://en.cppreference.com/w/cpp/io/ios_base/pword.html',0,'std::basic_ostringstream::pword()'],['http://en.cppreference.com/w/cpp/io/ios_base/pword.html',0,'std::basic_ios::pword()'],['http://en.cppreference.com/w/cpp/io/ios_base/pword.html',0,'std::ostringstream::pword()'],['http://en.cppreference.com/w/cpp/io/ios_base/pword.html',0,'std::basic_fstream::pword()'],['http://en.cppreference.com/w/cpp/io/ios_base/pword.html',0,'std::iostream::pword()'],['http://en.cppreference.com/w/cpp/io/ios_base/pword.html',0,'std::ios_base::pword()'],['http://en.cppreference.com/w/cpp/io/ios_base/pword.html',0,'std::wistream::pword()'],['http://en.cppreference.com/w/cpp/io/ios_base/pword.html',0,'std::stringstream::pword()'],['http://en.cppreference.com/w/cpp/io/ios_base/pword.html',0,'std::ostream::pword()'],['http://en.cppreference.com/w/cpp/io/ios_base/pword.html',0,'std::wifstream::pword()'],['http://en.cppreference.com/w/cpp/io/ios_base/pword.html',0,'std::basic_istream::pword()'],['http://en.cppreference.com/w/cpp/io/ios_base/pword.html',0,'std::strstream::pword()'],['http://en.cppreference.com/w/cpp/io/ios_base/pword.html',0,'std::basic_stringstream::pword()'],['http://en.cppreference.com/w/cpp/io/ios_base/pword.html',0,'std::wostringstream::pword()'],['http://en.cppreference.com/w/cpp/io/ios_base/pword.html',0,'std::istrstream::pword()'],['http://en.cppreference.com/w/cpp/io/ios_base/pword.html',0,'std::basic_ostream::pword()'],['http://en.cppreference.com/w/cpp/io/ios_base/pword.html',0,'std::wiostream::pword()'],['http://en.cppreference.com/w/cpp/io/ios_base/pword.html',0,'std::ofstream::pword()'],['http://en.cppreference.com/w/cpp/io/ios_base/pword.html',0,'std::basic_istringstream::pword()'],['http://en.cppreference.com/w/cpp/io/ios_base/pword.html',0,'std::basic_ifstream::pword()'],['http://en.cppreference.com/w/cpp/io/ios_base/pword.html',0,'std::istringstream::pword()'],['http://en.cppreference.com/w/cpp/io/ios_base/pword.html',0,'std::istream::pword()'],['http://en.cppreference.com/w/cpp/io/ios_base/pword.html',0,'std::ostrstream::pword()'],['http://en.cppreference.com/w/cpp/io/ios_base/pword.html',0,'std::wfstream::pword()'],['http://en.cppreference.com/w/cpp/io/ios_base/pword.html',0,'std::basic_iostream::pword()'],['http://en.cppreference.com/w/cpp/io/ios_base/pword.html',0,'std::wofstream::pword()'],['http://en.cppreference.com/w/cpp/io/ios_base/pword.html',0,'std::wstringstream::pword()'],['http://en.cppreference.com/w/cpp/io/ios_base/pword.html',0,'std::wistringstream::pword()'],['http://en.cppreference.com/w/cpp/io/ios_base/pword.html',0,'std::ifstream::pword()']]], - ['pyramid_5fvolume_168',['pyramid_volume',['../dd/d47/namespacemath.html#a94db02b3c9e55a69ac1696f30e2f761c',1,'math']]] + ['p_0',['p',['../dd/d1f/classdsu.html#a1ef0b0462a0dda63514f641cbb7dd8cb',1,'dsu::p'],['../da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution.html#ad5ed23a251dbe55ad1ed06bf1a465ad3',1,'probability::geometric_dist::geometric_distribution::p']]], + ['pagefault_1',['pageFault',['../d6/dae/classothers_1_1lru__cache_1_1_l_r_u_cache.html#a09cbe562b0c396329607f5d388d57c9c',1,'others::lru_cache::LRUCache']]], + ['pageframe_2',['pageFrame',['../d6/dae/classothers_1_1lru__cache_1_1_l_r_u_cache.html#a1aafd0444b410e0fcb66287e9954c893',1,'others::lru_cache::LRUCache']]], + ['pagemap_3',['pageMap',['../d6/dae/classothers_1_1lru__cache_1_1_l_r_u_cache.html#aa4d6db56109af196ffc7e5f72bc9907c',1,'others::lru_cache::LRUCache']]], + ['pair_5fu_4',['pair_u',['../d8/d69/classgraph_1_1_h_k_graph.html#a86ebff8a70cbfedd05281993d5d1987b',1,'graph::HKGraph']]], + ['pair_5fv_5',['pair_v',['../d8/d69/classgraph_1_1_h_k_graph.html#a976ee239402cc2726a280e781c706d77',1,'graph::HKGraph']]], + ['pal_5fpart_6',['pal_part',['../d5/d90/palindrome__partitioning_8cpp.html#a52ee22882858d2b1cf04293f02ed839a',1,'dynamic_programming::palindrome_partitioning']]], + ['palindrome_5fof_5fnumber_2ecpp_7',['palindrome_of_number.cpp',['../da/d9a/palindrome__of__number_8cpp.html',1,'']]], + ['palindrome_5fpartitioning_8',['palindrome_partitioning',['../d5/d89/namespacepalindrome__partitioning.html',1,'']]], + ['palindrome_5fpartitioning_2ecpp_9',['palindrome_partitioning.cpp',['../d5/d90/palindrome__partitioning_8cpp.html',1,'']]], + ['pancake_5fsort_10',['pancake_sort',['../df/d10/namespacepancake__sort.html',1,'']]], + ['pancake_5fsort_2ecpp_11',['pancake_sort.cpp',['../d3/d92/pancake__sort_8cpp.html',1,'']]], + ['pancakesort_12',['pancakeSort',['../d3/d92/pancake__sort_8cpp.html#abff90bc0f54e4f8ea5f0330471781bd5',1,'sorting::pancake_sort']]], + ['parallelogram_5farea_13',['parallelogram_area',['../dd/d47/namespacemath.html#a5de184925e68658f15415dd53954df4f',1,'math']]], + ['parallelogram_5fperimeter_14',['parallelogram_perimeter',['../dd/d47/namespacemath.html#a0efb235330ff48e14fd31faaccbcebb3',1,'math']]], + ['paranthesis_5fmatching_2ecpp_15',['paranthesis_matching.cpp',['../dc/dc5/paranthesis__matching_8cpp.html',1,'']]], + ['parent_16',['parent',['../d0/d58/classgraph_1_1_rooted_tree.html#a3831583a91914988897a4cc8748fda43',1,'graph::RootedTree']]], + ['parent_20nodes_17',['Method 1: Use parent pointer (store the address of parent nodes)',['../d4/d32/inorder__successor__of__bst_8cpp.html#autotoc_md91',1,'']]], + ['parent_20pointer_20store_20the_20address_20of_20parent_20nodes_18',['Method 1: Use parent pointer (store the address of parent nodes)',['../d4/d32/inorder__successor__of__bst_8cpp.html#autotoc_md91',1,'']]], + ['partition_19',['partition',['../d1/d21/quick__sort_8cpp.html#a1b2a2cc2d319240f3b65c5b2f479ed82',1,'sorting::quick_sort::partition()'],['../d5/d91/namespacesorting.html#aac8f44b28b4aa96444383030b28f8b34',1,'sorting::partition()'],['../d1/daa/random__pivot__quick__sort_8cpp.html#a3d1c39e1ff42c04fb8ec0c0b9411cd3e',1,'sorting::random_pivot_quick_sort::partition()']]], + ['pascal_5ftriangle_20',['pascal_triangle',['../dc/d1a/pascal__triangle_8cpp.html#a4fc0e5a112f715c3a73989450b2cc5fd',1,'pascal_triangle.cpp']]], + ['pascal_5ftriangle_2ecpp_21',['pascal_triangle.cpp',['../dc/d1a/pascal__triangle_8cpp.html',1,'']]], + ['pat_5ftest_22',['pat_test',['../d3/db2/boyer__moore_8cpp.html#ac8fac0dd4b19973da103a434143a16d2',1,'boyer_moore.cpp']]], + ['paths_23',['Augmenting paths',['../d1/d9a/hopcroft__karp_8cpp.html#autotoc_md80',1,'']]], + ['pattern_24',['pattern',['../dd/d5a/structstrings_1_1boyer__moore_1_1pattern.html',1,'strings::boyer_moore']]], + ['pb_25',['pb',['../d7/d35/matrix__exponentiation_8cpp.html#a276c5a0e984cf60015b27252fe04fe6b',1,'matrix_exponentiation.cpp']]], + ['perimeter_2ecpp_26',['perimeter.cpp',['../d3/dfe/perimeter_8cpp.html',1,'']]], + ['permanent_20ban_27',['4. Permanent Ban',['../d3/dd7/md__c_o_d_e___o_f___c_o_n_d_u_c_t.html#autotoc_md14',1,'']]], + ['persegtree_28',['perSegTree',['../d8/d28/classrange__queries_1_1per_seg_tree.html',1,'range_queries']]], + ['persistent_5fseg_5ftree_5flazy_5fprop_2ecpp_29',['persistent_seg_tree_lazy_prop.cpp',['../d5/d58/persistent__seg__tree__lazy__prop_8cpp.html',1,'']]], + ['phifunction_30',['phiFunction',['../dd/d47/namespacemath.html#ac37d3ba52eb296597d7a024ba8c4a5a5',1,'math']]], + ['physics_31',['Physics',['../d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md63',1,'']]], + ['physics_32',['physics',['../d5/dd0/namespacephysics.html',1,'']]], + ['pigeonhole_5fsort_2ecpp_33',['pigeonhole_sort.cpp',['../dd/da8/pigeonhole__sort_8cpp.html',1,'']]], + ['pigeonsort_34',['pigeonSort',['../d5/d91/namespacesorting.html#a0e9e1b21a1684585e9e50f9afe4d53a3',1,'sorting']]], + ['pledge_35',['Our Pledge',['../d3/dd7/md__c_o_d_e___o_f___c_o_n_d_u_c_t.html#autotoc_md5',1,'']]], + ['point_36',['Point',['../d6/d45/structciphers_1_1elliptic__curve__key__exchange_1_1_point.html',1,'ciphers::elliptic_curve_key_exchange::Point'],['../d7/d48/structgeometry_1_1grahamscan_1_1_point.html',1,'geometry::grahamscan::Point'],['../d9/d5a/structgeometry_1_1jarvis_1_1_point.html',1,'geometry::jarvis::Point'],['../d8/dc8/struct_point.html',1,'Point'],['../d8/dc8/struct_point.html#ae2d6fb1b3fd3a96169d963d62e37130a',1,'Point::Point()'],['../df/d6b/namespaceciphers_1_1elliptic__curve__key__exchange.html#af0a6e3521629c25c2b5d620f26429830',1,'ciphers::elliptic_curve_key_exchange::Point'],['../dd/d47/namespacemath.html#a006c8ebd11bb1e035815dc835a1a7a85',1,'math::Point']]], + ['pointer_20store_20the_20address_20of_20parent_20nodes_37',['Method 1: Use parent pointer (store the address of parent nodes)',['../d4/d32/inorder__successor__of__bst_8cpp.html#autotoc_md91',1,'']]], + ['pointincircle_38',['PointInCircle',['../d0/d01/smallest__circle_8cpp.html#aee6d48762c1dfb9f14627927f0c16fad',1,'smallest_circle.cpp']]], + ['poisson_5fdist_2ecpp_39',['poisson_dist.cpp',['../d9/d24/poisson__dist_8cpp.html',1,'']]], + ['poisson_5fexpected_40',['poisson_expected',['../d9/d24/poisson__dist_8cpp.html#ad0aa718023ce802dd5899f0e03a7ac71',1,'poisson_dist.cpp']]], + ['poisson_5frange_5fsuccesses_41',['poisson_range_successes',['../d9/d24/poisson__dist_8cpp.html#ad9c9e74079278ca10e3b97a8d5391c9a',1,'poisson_dist.cpp']]], + ['poisson_5frate_42',['poisson_rate',['../d9/d24/poisson__dist_8cpp.html#ac217ab9a06291f360d816700a6958ca8',1,'poisson_dist.cpp']]], + ['poisson_5fx_5fsuccesses_43',['poisson_x_successes',['../d9/d24/poisson__dist_8cpp.html#a69a136b32707bdc7950fb9057b5fa1e1',1,'poisson_dist.cpp']]], + ['poly_5ffunction_44',['poly_function',['../da/df2/durand__kerner__roots_8cpp.html#ae2ab49ba1969d7a5988f9bc2c8924569',1,'durand_kerner_roots.cpp']]], + ['pop_45',['pop',['../d1/dc2/classstack.html#a3647fb4418890f19e0dc414b8092b8b0',1,'stack::pop()'],['../d2/dc8/classdata__structures_1_1_stack.html#ac46842bdd9c655d84f865fa3a03da19b',1,'data_structures::Stack::pop()'],['../db/d5b/structdata__structures_1_1stack__using__queue_1_1_stack.html#abdd461689df4983a3ad3b05d853cf5eb',1,'data_structures::stack_using_queue::Stack::pop()'],['../df/d8f/classothers_1_1_cache_1_1_l_f_u_cache.html#ab3561ab204754295199f9566924f7e69',1,'others::Cache::LFUCache::pop()'],['../dc/dc5/paranthesis__matching_8cpp.html#a6d25c7dfbfeb52c3cb9d1b56ab49b664',1,'pop(): paranthesis_matching.cpp'],['../d7/d75/postfix__evaluation_8cpp.html#a421baa2002a64bc0bfc3e1b64800d734',1,'others::postfix_expression::pop()']]], + ['pop_5fback_46',['pop_back',['../d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache.html#ab211a4be58491bf11834cae88a0c44f7',1,'others::Cache::LRUCache::pop_back()'],['../d8/d77/namespacemachine__learning.html#ae10178b082f0205c326550877d998e5d',1,'machine_learning::pop_back(const std::valarray< T > &A)']]], + ['pop_5ffront_47',['pop_front',['../d8/d77/namespacemachine__learning.html#a912cf68863063a38d6e63545be5eb093',1,'machine_learning']]], + ['populate_5fparents_48',['populate_parents',['../d0/d58/classgraph_1_1_rooted_tree.html#ae6928f3ebd491541e9570e746b877c1e',1,'graph::RootedTree']]], + ['populate_5fup_49',['populate_up',['../d9/d23/classgraph_1_1_lowest_common_ancestor.html#a42589cc39d6bbff6c997152f1b96e356',1,'graph::LowestCommonAncestor']]], + ['postfix_5fevaluation_50',['postfix_evaluation',['../d7/d75/postfix__evaluation_8cpp.html#ae38bd3a177a6d61da3859a281233bbe1',1,'others::postfix_expression']]], + ['postfix_5fevaluation_2ecpp_51',['postfix_evaluation.cpp',['../d7/d75/postfix__evaluation_8cpp.html',1,'']]], + ['postfix_5fexpression_52',['postfix_expression',['../d4/de6/namespacepostfix__expression.html',1,'']]], + ['postorder_53',['postorder',['../dd/de1/classothers_1_1recursive__tree__traversals_1_1_b_t.html#ac9404b65f407f631915515fa2e08a40c',1,'others::recursive_tree_traversals::BT']]], + ['postorder_20traversal_20of_20a_20tree_54',['Postorder Traversal of a tree',['../d8/d90/iterative__tree__traversals_8cpp.html#autotoc_md94',1,'Iterative Postorder Traversal of a tree'],['../dc/de1/recursive__tree__traversal_8cpp.html#autotoc_md101',1,'Iterative Postorder Traversal of a tree']]], + ['postorderiterative_55',['postOrderIterative',['../d9/d12/classothers_1_1iterative__tree__traversals_1_1_binary_tree.html#a636a07c90b7f312bb86d2ec104efca25',1,'others::iterative_tree_traversals::BinaryTree']]], + ['power_56',['power',['../de/dc3/fibonacci__sum_8cpp.html#a7cf5feaf168b88e74544da59ed830311',1,'math::fibonacci_sum::power()'],['../df/d72/modular__division_8cpp.html#a66cdf93153cbd1408bd74ac68961d179',1,'math::modular_division::power()'],['../dd/d47/namespacemath.html#afcd07701d73ed65cd616bcba02737f3d',1,'math::power()'],['../df/def/power__for__huge__numbers_8cpp.html#ae249a2af508aa94266023ce8aa81426f',1,'power(int x, int n): power_for_huge_numbers.cpp'],['../d7/d35/matrix__exponentiation_8cpp.html#a702a9fc90e79b05b863cc4efa26ae2ec',1,'power(const vector< vector< ll > > &A, ll p): matrix_exponentiation.cpp']]], + ['power_5ffor_5fhuge_5fnumbers_2ecpp_57',['power_for_huge_numbers.cpp',['../df/def/power__for__huge__numbers_8cpp.html',1,'']]], + ['power_5fof_5f2_2ecpp_58',['power_of_2.cpp',['../dc/d6d/power__of__2_8cpp.html',1,'']]], + ['power_5fof_5ftwo_59',['power_of_two',['../dd/d47/namespacemath.html#a8a48be4d7f14e34c5c92925bc1cbf3bb',1,'math']]], + ['power_5fof_5ftwo_2ecpp_60',['power_of_two.cpp',['../d4/d38/power__of__two_8cpp.html',1,'']]], + ['predict_61',['predict',['../d6/d30/classmachine__learning_1_1adaline.html#ab11242d9ad5b03a75911e29b04f78fd3',1,'machine_learning::adaline::predict()'],['../da/d94/classmachine__learning_1_1k__nearest__neighbors_1_1_knn.html#a62e152db014cd4de675fa906e5ef2861',1,'machine_learning::k_nearest_neighbors::Knn::predict()']]], + ['predict_5fols_5fregressor_62',['predict_OLS_regressor',['../dc/d38/ordinary__least__squares__regressor_8cpp.html#ade6e463f37878fe2a219f927c65b5493',1,'ordinary_least_squares_regressor.cpp']]], + ['predict_5fwords_63',['predict_words',['../d3/d26/classdata__structures_1_1trie__using__hashmap_1_1_trie.html#ae15fdc7f2b5023992d87a711d78566c4',1,'data_structures::trie_using_hashmap::Trie']]], + ['prefix_5fsum_5farray_64',['prefix_sum_array',['../d7/d88/namespaceprefix__sum__array.html',1,'']]], + ['prefix_5fsum_5farray_2ecpp_65',['prefix_sum_array.cpp',['../d1/d9e/prefix__sum__array_8cpp.html',1,'']]], + ['preorder_66',['preorder',['../dd/de1/classothers_1_1recursive__tree__traversals_1_1_b_t.html#a6397b78ceec18cb1959a1d159e134da5',1,'others::recursive_tree_traversals::BT']]], + ['preorder_20traversal_20of_20a_20tree_67',['Preorder Traversal of a tree',['../d8/d90/iterative__tree__traversals_8cpp.html#autotoc_md93',1,'Iterative Preorder Traversal of a tree'],['../dc/de1/recursive__tree__traversal_8cpp.html#autotoc_md100',1,'Iterative Preorder Traversal of a tree']]], + ['preorderiterative_68',['preOrderIterative',['../d9/d12/classothers_1_1iterative__tree__traversals_1_1_binary_tree.html#ad4c6a8e67fb8267a65439b035666b5ae',1,'others::iterative_tree_traversals::BinaryTree']]], + ['prev_69',['prev',['../de/d21/classothers_1_1_cache_1_1_d___node.html#a19e954cbb710ea8318bcb6aaef78e2d5',1,'others::Cache::D_Node']]], + ['primality_5ftest_2ecpp_70',['primality_test.cpp',['../da/d7b/primality__test_8cpp.html',1,'']]], + ['prime_71',['PRIME',['../d6/dce/rabin__karp_8cpp.html#ac4add2a227a10511e0128d63952030e8',1,'rabin_karp.cpp']]], + ['prime_72',['prime',['../d4/d9c/primes__up__to__billion_8cpp.html#ac0f4b77b901ddb15dab4c4dee1ac6e95',1,'primes_up_to_billion.cpp']]], + ['prime_20factorization_73',['Prime factorization',['../d7/d7f/section.html',1,'']]], + ['prime_5ffactorization_74',['prime_factorization',['../db/d0d/prime__factorization_8cpp.html#a0ece0145fb29a5cf48378c23dde2da46',1,'prime_factorization.cpp']]], + ['prime_5ffactorization_2ecpp_75',['prime_factorization.cpp',['../db/d0d/prime__factorization_8cpp.html',1,'']]], + ['prime_5fnumbers_76',['prime_numbers',['../db/d0d/prime__factorization_8cpp.html#af097796783684712b8326e5b82bfd4fe',1,'prime_factorization.cpp']]], + ['prime_5fnumbers_2ecpp_77',['prime_numbers.cpp',['../de/d9b/prime__numbers_8cpp.html',1,'']]], + ['primes_78',['primes',['../de/d9b/prime__numbers_8cpp.html#a9575f3a51eeb8a57d657b3db6a4b441a',1,'prime_numbers.cpp']]], + ['primes_5fup_5fto_5fbillion_2ecpp_79',['primes_up_to_billion.cpp',['../d4/d9c/primes__up__to__billion_8cpp.html',1,'']]], + ['print_80',['Print',['../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a2e9a9db7792cf5383f4c4cc418255165',1,'data_structures::tree_234::Tree234']]], + ['print_81',['print',['../d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list.html#ac341901e926b3fa3a796c64ca572f592',1,'operations_on_datastructures::circular_linked_list::CircularLinkedList::print()'],['../d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list.html#a424b17ddc672b25fe0bd9dc8612fba21',1,'operations_on_datastructures::circular_linked_list::CircularLinkedList::print(Node *root)'],['../de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree.html#a5cf972a2c994a4fa1a89fc77bd5ad503',1,'operations_on_datastructures::reverse_binary_tree::BinaryTree::print()'],['../d2/d2f/namespacegreedy__algorithms_1_1dijkstra.html#a7341d7c76a6145e991cdd231f689fca8',1,'greedy_algorithms::dijkstra::print()'],['../d8/ddf/sieve__of__eratosthenes_8cpp.html#a55bc4a221e584d33b79b322432ecc0f3',1,'math::sieve_of_eratosthenes::print()'],['../da/d6d/namespaceoperations__on__datastructures.html#a6109193567a5b7e36a27f2b4865fce20',1,'operations_on_datastructures::print()']]], + ['print_5fprimes_82',['print_primes',['../dd/d47/namespacemath.html#ad09d59850865012a6fd95d89954c82e4',1,'math']]], + ['print_5ftable_83',['print_table',['../d8/d41/namespacegames_1_1memory__game.html#ac589ef65abb0a6b9a7116ee0f9fd5280',1,'games::memory_game']]], + ['printarray_84',['printArray',['../d2/d52/heap__sort_8cpp.html#a9ed3e1510afdf3edd06cf2b68769a767',1,'heap_sort.cpp']]], + ['printinorder_85',['printInorder',['../d4/d32/inorder__successor__of__bst_8cpp.html#a5d7266b934ca50c4f53e4f1e725d89a4',1,'operations_on_datastructures::inorder_traversal_of_bst']]], + ['printlinkedlist_86',['printLinkedList',['../d5/d45/sublist__search_8cpp.html#ad1028bc215281d62e344af99da57fab2',1,'search::sublist_search']]], + ['printmat_87',['printMat',['../d3/d05/sudoku__solver_8cpp.html#ab040a12d7684cd85fb3684f4211ea5ac',1,'backtracking::sudoku_solver']]], + ['printnode_88',['PrintNode',['../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#af260f0760344771bf8fce4fc9b1739be',1,'data_structures::tree_234::Tree234']]], + ['printresult_89',['printResult',['../dd/dca/class_f_c_f_s.html#abb361a612b18bb189aa6d3c49288b793',1,'FCFS']]], + ['printroot_90',['printRoot',['../dd/d29/false__position_8cpp.html#a85cb7bfb90abc898e042d624372c5345',1,'numerical_methods::false_position']]], + ['printsol_91',['PrintSol',['../da/dac/n__queens__all__solution__optimised_8cpp.html#a04090463be4942a69ea91fe7386da905',1,'backtracking::n_queens_optimized::PrintSol()'],['../d7/d24/nqueen__print__all__solutions_8cpp.html#aebd5e11fab6dab282efccfb61beb0bd9',1,'backtracking::n_queens_all_solutions::PrintSol()']]], + ['printsolution_92',['printSolution',['../d3/d40/graph__coloring_8cpp.html#a8c47fa37fb6eeeb781b2ec1b05af6b07',1,'backtracking::graph_coloring::printSolution()'],['../d4/d3e/n__queens_8cpp.html#a40ae0c7fd04eb20e7f3bff13fc6a5808',1,'backtracking::n_queens::printSolution()']]], + ['priority_93',['priority',['../d5/d95/structdata__structures_1_1treap_1_1_treap.html#a8be70f0a25e53e870e97d8d23968d723',1,'data_structures::treap::Treap']]], + ['probability_94',['PROBABILITY',['../d5/d3c/namespacedata__structures.html#a903639d8e6f955dd8d5c263781455d61',1,'data_structures']]], + ['probability_95',['Probability',['../d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md64',1,'']]], + ['probability_96',['probability',['../d4/ded/namespaceprobability.html',1,'']]], + ['probability_5fdensity_97',['probability_density',['../da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution.html#aee973db9f0435e0cb4cc70f8eb3447a1',1,'probability::geometric_dist::geometric_distribution']]], + ['problem_98',['problem',['../db/dd3/ode__forward__euler_8cpp.html#abaeae8f62a018d197f0187a1c80a90fe',1,'problem(const double &x, std::valarray< double > *y, std::valarray< double > *dy): ode_forward_euler.cpp'],['../d6/dd3/ode__midpoint__euler_8cpp.html#abaeae8f62a018d197f0187a1c80a90fe',1,'problem(const double &x, std::valarray< double > *y, std::valarray< double > *dy): ode_midpoint_euler.cpp'],['../d3/d06/ode__semi__implicit__euler_8cpp.html#abaeae8f62a018d197f0187a1c80a90fe',1,'problem(const double &x, std::valarray< double > *y, std::valarray< double > *dy): ode_semi_implicit_euler.cpp']]], + ['program_99',['Typical structure of a program',['../d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md31',1,'']]], + ['programming_100',['Dynamic Programming',['../d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md51',1,'']]], + ['projection_101',['projection',['../d5/d33/gram__schmidt_8cpp.html#a8eeaafdde8b56f459aadc6013cf078bc',1,'numerical_methods::gram_schmidt']]], + ['psucc_102',['psucc',['../de/d9d/classdata__structures_1_1linked__list_1_1link.html#af94c06f3220e5406245680f58b8e7081',1,'data_structures::linked_list::link']]], + ['ptrs_103',['ptrs',['../d8/d28/classrange__queries_1_1per_seg_tree.html#a1eac9cf0613dfc8e2b0195009dd5c9d5',1,'range_queries::perSegTree']]], + ['pull_20requests_104',['Pull Requests',['../d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md36',1,'']]], + ['push_105',['push',['../d1/dc2/classstack.html#a90df277532c23519aa7ac3c08ed90a1d',1,'stack::push()'],['../d2/dc8/classdata__structures_1_1_stack.html#aa9f9b087e9e7c00628e1289f0f1de3b2',1,'data_structures::Stack::push()'],['../db/d5b/structdata__structures_1_1stack__using__queue_1_1_stack.html#af04a8f3536a52d8c9916086b656eefc2',1,'data_structures::stack_using_queue::Stack::push()'],['../df/d8f/classothers_1_1_cache_1_1_l_f_u_cache.html#adad4ab43141fb8ba43facd3a71e07047',1,'others::Cache::LFUCache::push()'],['../dc/dc5/paranthesis__matching_8cpp.html#aae41c72130114bf31204cde6873b6095',1,'push(): paranthesis_matching.cpp'],['../d7/d75/postfix__evaluation_8cpp.html#ad77f8c9cc594975756838d498c237cea',1,'others::postfix_expression::push()']]], + ['push_5fback_106',['push_back',['../d1/def/classdata__structures_1_1linked__list_1_1list.html#a6e9859d1a0755fb51e41904d20c95496',1,'data_structures::linked_list::list']]], + ['push_5ffront_107',['push_front',['../d1/def/classdata__structures_1_1linked__list_1_1list.html#a332b965afd9d6bea8d3246673acd52c7',1,'data_structures::linked_list::list::push_front()'],['../d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache.html#a2e53b5ad1368d87da501f61473eb9ea2',1,'others::Cache::LRUCache::push_front()']]], + ['put_108',['put',['../df/d8f/classothers_1_1_cache_1_1_l_f_u_cache.html#af6f8e5a66a45436b490dfe015ff8866e',1,'others::Cache::LFUCache::put()'],['../d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache.html#a5ee34fcee480f21bb6f68a34f0f69b45',1,'others::Cache::LRUCache::put()']]], + ['putprober_109',['putProber',['../d0/d65/namespacedouble__hashing.html#ac2adfce49ac57f6dbd1778d2c1ce0d2b',1,'double_hashing::putProber()'],['../d8/d89/namespacelinear__probing.html#a75d779938df7ebc68581d922b60a2541',1,'linear_probing::putProber()'],['../d4/dd2/namespacequadratic__probing.html#adccc63a7e57cc6dba75bd62f40feb88b',1,'quadratic_probing::putProber()']]], + ['pvalue_110',['pvalue',['../de/d9d/classdata__structures_1_1linked__list_1_1link.html#ac121ce37b6ea864b160ebcada0bce936',1,'data_structures::linked_list::link']]], + ['pyramid_5fvolume_111',['pyramid_volume',['../dd/d47/namespacemath.html#a94db02b3c9e55a69ac1696f30e2f761c',1,'math']]] ]; diff --git a/search/all_16.js b/search/all_16.js index 3991c3ddc..d9fcee3e3 100644 --- a/search/all_16.js +++ b/search/all_16.js @@ -5,30 +5,26 @@ var searchData= ['qr_5fdecompose_2eh_2',['qr_decompose.h',['../d4/d68/qr__decompose_8h.html',1,'']]], ['qr_5fdecomposition_2ecpp_3',['qr_decomposition.cpp',['../d3/d24/qr__decomposition_8cpp.html',1,'']]], ['qr_5feigen_5fvalues_2ecpp_4',['qr_eigen_values.cpp',['../de/d75/qr__eigen__values_8cpp.html',1,'']]], - ['qsort_5',['qsort',['http://en.cppreference.com/w/cpp/algorithm/qsort.html',0,'std']]], - ['quadratic_5fequations_5fcomplex_5fnumbers_2ecpp_6',['quadratic_equations_complex_numbers.cpp',['../da/d18/quadratic__equations__complex__numbers_8cpp.html',1,'']]], - ['quadratic_5fprobing_7',['quadratic_probing',['../d4/dd2/namespacequadratic__probing.html',1,'']]], - ['quadratic_5fprobing_5fhash_5ftable_2ecpp_8',['quadratic_probing_hash_table.cpp',['../db/d71/quadratic__probing__hash__table_8cpp.html',1,'']]], - ['quadraticequation_9',['quadraticEquation',['../dd/d47/namespacemath.html#aacb1411ef2029e81f249c21e17c96fdb',1,'math']]], - ['quadraticprobe_10',['quadraticProbe',['../d4/dd2/namespacequadratic__probing.html#ab431981b54c0bae1b2956f716aee1dcf',1,'quadratic_probing']]], - ['queries_11',['Range Queries',['../d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md65',1,'']]], - ['query_12',['query',['../dd/d1b/structquery.html',1,'query'],['../da/d37/structdata__structures_1_1sparse__table_1_1_sparse__table.html#a0c8cbe7239232863f104793c08273039',1,'data_structures::sparse_table::Sparse_table::query()'],['../d9/d35/classrange__queries_1_1heavy__light__decomposition_1_1_s_g.html#a1fda852e6e522707fd97f61cdb0a2591',1,'range_queries::heavy_light_decomposition::SG::query()'],['../d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d.html#a4dfbf5d9df825eeb63b294c6849bdcab',1,'range_queries::heavy_light_decomposition::HLD::query()'],['../d8/d28/classrange__queries_1_1per_seg_tree.html#ae8ae4b1835e5e8aec32f68c5059ed4d4',1,'range_queries::perSegTree::query(const uint32_t &i, const uint32_t &j, const uint32_t &l, const uint32_t &r, std::shared_ptr< Node > const &curr)'],['../d8/d28/classrange__queries_1_1per_seg_tree.html#ad484002bcb701820d55f32ea5d525571',1,'range_queries::perSegTree::query(const uint32_t &l, const uint32_t &r, const uint32_t &version)'],['../d1/d9e/prefix__sum__array_8cpp.html#a7c8fd967c36dbba5fdf9c71faed604cf',1,'range_queries::prefix_sum_array::query()'],['../d2/d45/segtree_8cpp.html#a423a97ea0c7ea6e33b5844a6858d902d',1,'query(std::vector< int64_t > *segtree, std::vector< int64_t > *lazy, uint64_t qlow, uint64_t qhigh, uint64_t low, uint64_t high, uint64_t pos): segtree.cpp']]], - ['queue_13',['Queue',['../dc/db5/struct_queue.html',1,'']]], - ['queue_14',['queue',['../db/da9/classqueue.html',1,'queue< ValueType >'],['http://en.cppreference.com/w/cpp/container/queue.html',0,'std::queue< T >'],['http://en.cppreference.com/w/cpp/container/queue/queue.html',0,'std::queue::queue()']]], - ['queue_3c_20int64_5ft_20_3e_15',['queue< int64_t >',['http://en.cppreference.com/w/cpp/container/queue.html',0,'std']]], - ['queue_5farray_16',['Queue_Array',['../d6/d04/classdata__structures_1_1queue__using__array_1_1_queue___array.html',1,'data_structures::queue_using_array']]], - ['queue_5ftest_17',['queue_test',['../df/dd0/queue__using__two__stacks_8cpp.html#a831ded10ecad88c14a8e22b96f4c1863',1,'queue_using_two_stacks.cpp']]], - ['queue_5fusing_5farray_18',['queue_using_array',['../d9/d70/namespacequeue__using__array.html',1,'']]], - ['queue_5fusing_5farray_2ecpp_19',['queue_using_array.cpp',['../d8/df0/queue__using__array_8cpp.html',1,'']]], - ['queue_5fusing_5ftwo_5fstacks_2ecpp_20',['queue_using_two_stacks.cpp',['../df/dd0/queue__using__two__stacks_8cpp.html',1,'']]], - ['queuefront_21',['queueFront',['../db/da9/classqueue.html#af6780e9b43326f557da405b65f7ad094',1,'queue']]], - ['queuerear_22',['queueRear',['../db/da9/classqueue.html#a7611df63ebefae613d311039d7305143',1,'queue']]], - ['quick_5fexit_23',['quick_exit',['http://en.cppreference.com/w/cpp/utility/program/quick_exit.html',0,'std']]], - ['quick_5fsort_24',['quick_sort',['../d0/d2b/namespacequick__sort.html',1,'quick_sort'],['../d1/d21/quick__sort_8cpp.html#a5e6213e8008356ac6eda9427f3f4b394',1,'sorting::quick_sort::quick_sort(std::vector< T > *arr, const int &low, const int &high)'],['../d1/d21/quick__sort_8cpp.html#a53adad7e4d83e1495df25fe8dbb4cc05',1,'sorting::quick_sort::quick_sort(std::vector< T > arr, const int &low, const int &high)']]], - ['quick_5fsort_2ecpp_25',['quick_sort.cpp',['../d1/d21/quick__sort_8cpp.html',1,'']]], - ['quick_5fsort_5f3_2ecpp_26',['quick_sort_3.cpp',['../d3/d4c/quick__sort__3_8cpp.html',1,'']]], - ['quick_5fsort_5fiterative_2ecpp_27',['quick_sort_iterative.cpp',['../d3/d22/quick__sort__iterative_8cpp.html',1,'']]], - ['quicksort_28',['quicksort',['../d5/d91/namespacesorting.html#a9f59fe72dacc1f1218ef3c303d843168',1,'sorting::quicksort(std::vector< T > *arr, int32_t low, int32_t high)'],['../d5/d91/namespacesorting.html#a6eb67c2f91c98cf4464f75b5882022de',1,'sorting::quicksort(std::vector< T > arr, int32_t low, int32_t high)']]], - ['quicksortrp_29',['quickSortRP',['../d1/daa/random__pivot__quick__sort_8cpp.html#a7d2e7465e7b5d54c2de6d5e9db1ea6a5',1,'sorting::random_pivot_quick_sort']]], - ['quiet_5fnan_30',['quiet_NaN',['http://en.cppreference.com/w/cpp/types/numeric_limits/quiet_NaN.html',0,'std::numeric_limits']]] + ['quadratic_5fequations_5fcomplex_5fnumbers_2ecpp_5',['quadratic_equations_complex_numbers.cpp',['../da/d18/quadratic__equations__complex__numbers_8cpp.html',1,'']]], + ['quadratic_5fprobing_6',['quadratic_probing',['../d4/dd2/namespacequadratic__probing.html',1,'']]], + ['quadratic_5fprobing_5fhash_5ftable_2ecpp_7',['quadratic_probing_hash_table.cpp',['../db/d71/quadratic__probing__hash__table_8cpp.html',1,'']]], + ['quadraticequation_8',['quadraticEquation',['../dd/d47/namespacemath.html#aacb1411ef2029e81f249c21e17c96fdb',1,'math']]], + ['quadraticprobe_9',['quadraticProbe',['../d4/dd2/namespacequadratic__probing.html#ab431981b54c0bae1b2956f716aee1dcf',1,'quadratic_probing']]], + ['queries_10',['Range Queries',['../d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md65',1,'']]], + ['query_11',['query',['../dd/d1b/structquery.html',1,'query'],['../da/d37/structdata__structures_1_1sparse__table_1_1_sparse__table.html#a0c8cbe7239232863f104793c08273039',1,'data_structures::sparse_table::Sparse_table::query()'],['../d9/d35/classrange__queries_1_1heavy__light__decomposition_1_1_s_g.html#a1fda852e6e522707fd97f61cdb0a2591',1,'range_queries::heavy_light_decomposition::SG::query()'],['../d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d.html#a4dfbf5d9df825eeb63b294c6849bdcab',1,'range_queries::heavy_light_decomposition::HLD::query()'],['../d8/d28/classrange__queries_1_1per_seg_tree.html#ae8ae4b1835e5e8aec32f68c5059ed4d4',1,'range_queries::perSegTree::query(const uint32_t &i, const uint32_t &j, const uint32_t &l, const uint32_t &r, std::shared_ptr< Node > const &curr)'],['../d8/d28/classrange__queries_1_1per_seg_tree.html#ad484002bcb701820d55f32ea5d525571',1,'range_queries::perSegTree::query(const uint32_t &l, const uint32_t &r, const uint32_t &version)'],['../d1/d9e/prefix__sum__array_8cpp.html#a7c8fd967c36dbba5fdf9c71faed604cf',1,'range_queries::prefix_sum_array::query()'],['../d2/d45/segtree_8cpp.html#a423a97ea0c7ea6e33b5844a6858d902d',1,'query(std::vector< int64_t > *segtree, std::vector< int64_t > *lazy, uint64_t qlow, uint64_t qhigh, uint64_t low, uint64_t high, uint64_t pos): segtree.cpp']]], + ['queue_12',['Queue',['../dc/db5/struct_queue.html',1,'']]], + ['queue_13',['queue',['../db/da9/classqueue.html',1,'']]], + ['queue_5farray_14',['Queue_Array',['../d6/d04/classdata__structures_1_1queue__using__array_1_1_queue___array.html',1,'data_structures::queue_using_array']]], + ['queue_5ftest_15',['queue_test',['../df/dd0/queue__using__two__stacks_8cpp.html#a831ded10ecad88c14a8e22b96f4c1863',1,'queue_using_two_stacks.cpp']]], + ['queue_5fusing_5farray_16',['queue_using_array',['../d9/d70/namespacequeue__using__array.html',1,'']]], + ['queue_5fusing_5farray_2ecpp_17',['queue_using_array.cpp',['../d8/df0/queue__using__array_8cpp.html',1,'']]], + ['queue_5fusing_5ftwo_5fstacks_2ecpp_18',['queue_using_two_stacks.cpp',['../df/dd0/queue__using__two__stacks_8cpp.html',1,'']]], + ['queuefront_19',['queueFront',['../db/da9/classqueue.html#af6780e9b43326f557da405b65f7ad094',1,'queue']]], + ['queuerear_20',['queueRear',['../db/da9/classqueue.html#a7611df63ebefae613d311039d7305143',1,'queue']]], + ['quick_5fsort_21',['quick_sort',['../d0/d2b/namespacequick__sort.html',1,'quick_sort'],['../d1/d21/quick__sort_8cpp.html#a5e6213e8008356ac6eda9427f3f4b394',1,'sorting::quick_sort::quick_sort(std::vector< T > *arr, const int &low, const int &high)'],['../d1/d21/quick__sort_8cpp.html#a53adad7e4d83e1495df25fe8dbb4cc05',1,'sorting::quick_sort::quick_sort(std::vector< T > arr, const int &low, const int &high)']]], + ['quick_5fsort_2ecpp_22',['quick_sort.cpp',['../d1/d21/quick__sort_8cpp.html',1,'']]], + ['quick_5fsort_5f3_2ecpp_23',['quick_sort_3.cpp',['../d3/d4c/quick__sort__3_8cpp.html',1,'']]], + ['quick_5fsort_5fiterative_2ecpp_24',['quick_sort_iterative.cpp',['../d3/d22/quick__sort__iterative_8cpp.html',1,'']]], + ['quicksort_25',['quicksort',['../d5/d91/namespacesorting.html#a9f59fe72dacc1f1218ef3c303d843168',1,'sorting::quicksort(std::vector< T > *arr, int32_t low, int32_t high)'],['../d5/d91/namespacesorting.html#a6eb67c2f91c98cf4464f75b5882022de',1,'sorting::quicksort(std::vector< T > arr, int32_t low, int32_t high)']]], + ['quicksortrp_26',['quickSortRP',['../d1/daa/random__pivot__quick__sort_8cpp.html#a7d2e7465e7b5d54c2de6d5e9db1ea6a5',1,'sorting::random_pivot_quick_sort']]] ]; diff --git a/search/all_17.js b/search/all_17.js index 34421ec65..629dda97e 100644 --- a/search/all_17.js +++ b/search/all_17.js @@ -5,150 +5,69 @@ var searchData= ['radix_2',['radix',['../d8/d61/radix__sort2_8cpp.html#ae0cfd94fa3765b53d4ec7893ffaee5f8',1,'sorting::radix_sort']]], ['radix_5fsort_3',['radix_sort',['../da/dda/namespaceradix__sort.html',1,'']]], ['radix_5fsort2_2ecpp_4',['radix_sort2.cpp',['../d8/d61/radix__sort2_8cpp.html',1,'']]], - ['raise_5',['raise',['http://en.cppreference.com/w/cpp/utility/program/raise.html',0,'std']]], - ['rand_6',['rand',['http://en.cppreference.com/w/cpp/numeric/random/rand.html',0,'std']]], - ['rand_5frange_7',['rand_range',['../d6/d26/classciphers_1_1_hill_cipher.html#a629be41c1ab78850963e4ce14e1d11d9',1,'ciphers::HillCipher::rand_range(T1 a, T1 b)'],['../d6/d26/classciphers_1_1_hill_cipher.html#a716d0313141499d16f57c0c107f04395',1,'ciphers::HillCipher::rand_range(matrix< T2 > *M, T1 a, T1 b)']]], - ['random_5faccess_5fiterator_5ftag_8',['random_access_iterator_tag',['http://en.cppreference.com/w/cpp/iterator/iterator_tags.html',0,'std']]], - ['random_5fdevice_9',['random_device',['http://en.cppreference.com/w/cpp/numeric/random/random_device.html',0,'std::random_device'],['http://en.cppreference.com/w/cpp/numeric/random/random_device/random_device.html',0,'std::random_device::random_device()']]], - ['random_5fpivot_5fquick_5fsort_10',['random_pivot_quick_sort',['../de/d6b/namespacerandom__pivot__quick__sort.html',1,'']]], - ['random_5fpivot_5fquick_5fsort_2ecpp_11',['random_pivot_quick_sort.cpp',['../d1/daa/random__pivot__quick__sort_8cpp.html',1,'']]], - ['random_5fshuffle_12',['random_shuffle',['http://en.cppreference.com/w/cpp/algorithm/random_shuffle.html',0,'std']]], - ['random_5ftests_13',['random_tests',['../de/d0d/fibonacci__search_8cpp.html#a2aa09bef74ee063c1331de0883af4f4f',1,'fibonacci_search.cpp']]], - ['randomized_5fbogosort_14',['randomized_bogosort',['../d5/d91/namespacesorting.html#affc6ee160142cd017f8c4b213437d0fd',1,'sorting']]], - ['randomlevel_15',['randomLevel',['../d4/d90/classdata__structures_1_1_skip_list.html#aa3f3813e9896792fc86b296547689ba4',1,'data_structures::SkipList']]], - ['range_20queries_16',['Range Queries',['../d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md65',1,'']]], - ['range_5fcomb_17',['range_comb',['../dd/d95/classdata__structures_1_1_segment_tree.html#a8fecc48e8e3f6f5f6e728495a4282e52',1,'data_structures::SegmentTree::range_comb(int i, int l, int r, int tl, int tr)'],['../dd/d95/classdata__structures_1_1_segment_tree.html#a1c5331b509d9b55bedfadf979b30dd5b',1,'data_structures::SegmentTree::range_comb(int l, int r)']]], - ['range_5ferror_18',['range_error',['http://en.cppreference.com/w/cpp/error/range_error.html',0,'std::range_error'],['http://en.cppreference.com/w/cpp/error/range_error.html',0,'std::range_error::range_error()']]], - ['range_5fqueries_19',['range_queries',['../dd/d69/namespacerange__queries.html',1,'']]], - ['range_5ftries_20',['range_tries',['../da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution.html#a4620163a196709484225774d87de6d69',1,'probability::geometric_dist::geometric_distribution']]], - ['rank_21',['rank',['http://en.cppreference.com/w/cpp/types/rank.html',0,'std']]], - ['ranlux24_22',['ranlux24',['http://en.cppreference.com/w/cpp/numeric/random/discard_block_engine.html',0,'std::ranlux24'],['http://en.cppreference.com/w/cpp/numeric/random/discard_block_engine/discard_block_engine.html',0,'std::ranlux24::ranlux24()']]], - ['ranlux24_5fbase_23',['ranlux24_base',['http://en.cppreference.com/w/cpp/numeric/random/subtract_with_carry_engine.html',0,'std::ranlux24_base'],['http://en.cppreference.com/w/cpp/numeric/random/subtract_with_carry_engine/subtract_with_carry_engine.html',0,'std::ranlux24_base::ranlux24_base()']]], - ['ranlux48_24',['ranlux48',['http://en.cppreference.com/w/cpp/numeric/random/discard_block_engine.html',0,'std::ranlux48'],['http://en.cppreference.com/w/cpp/numeric/random/discard_block_engine/discard_block_engine.html',0,'std::ranlux48::ranlux48()']]], - ['ranlux48_5fbase_25',['ranlux48_base',['http://en.cppreference.com/w/cpp/numeric/random/subtract_with_carry_engine.html',0,'std::ranlux48_base'],['http://en.cppreference.com/w/cpp/numeric/random/subtract_with_carry_engine/subtract_with_carry_engine.html',0,'std::ranlux48_base::ranlux48_base()']]], - ['rat_5fmaze_26',['rat_maze',['../d9/d60/namespacerat__maze.html',1,'']]], - ['rat_5fmaze_2ecpp_27',['rat_maze.cpp',['../dc/d5a/rat__maze_8cpp.html',1,'']]], - ['ratio_28',['ratio',['http://en.cppreference.com/w/cpp/numeric/ratio/ratio.html',0,'std']]], - ['ratio_5fadd_29',['ratio_add',['http://en.cppreference.com/w/cpp/numeric/ratio/ratio_add.html',0,'std']]], - ['ratio_5fdivide_30',['ratio_divide',['http://en.cppreference.com/w/cpp/numeric/ratio/ratio_divide.html',0,'std']]], - ['ratio_5fequal_31',['ratio_equal',['http://en.cppreference.com/w/cpp/numeric/ratio/ratio_equal.html',0,'std']]], - ['ratio_5fgreater_32',['ratio_greater',['http://en.cppreference.com/w/cpp/numeric/ratio/ratio_greater.html',0,'std']]], - ['ratio_5fgreater_5fequal_33',['ratio_greater_equal',['http://en.cppreference.com/w/cpp/numeric/ratio/ratio_greater_equal.html',0,'std']]], - ['ratio_5fless_34',['ratio_less',['http://en.cppreference.com/w/cpp/numeric/ratio/ratio_less.html',0,'std']]], - ['ratio_5fless_5fequal_35',['ratio_less_equal',['http://en.cppreference.com/w/cpp/numeric/ratio/ratio_less_equal.html',0,'std']]], - ['ratio_5fmultiply_36',['ratio_multiply',['http://en.cppreference.com/w/cpp/numeric/ratio/ratio_multiply.html',0,'std']]], - ['ratio_5fnot_5fequal_37',['ratio_not_equal',['http://en.cppreference.com/w/cpp/numeric/ratio/ratio_not_equal.html',0,'std']]], - ['ratio_5fsubtract_38',['ratio_subtract',['http://en.cppreference.com/w/cpp/numeric/ratio/ratio_subtract.html',0,'std']]], - ['raw_5fstorage_5fiterator_39',['raw_storage_iterator',['http://en.cppreference.com/w/cpp/memory/raw_storage_iterator.html',0,'std::raw_storage_iterator'],['http://en.cppreference.com/w/cpp/memory/raw_storage_iterator/raw_storage_iterator.html',0,'std::raw_storage_iterator::raw_storage_iterator()']]], - ['rbegin_40',['rbegin',['http://en.cppreference.com/w/cpp/container/dynarray/rbegin.html',0,'std::dynarray::rbegin()'],['http://en.cppreference.com/w/cpp/container/vector/rbegin.html',0,'std::vector::rbegin()'],['http://en.cppreference.com/w/cpp/container/multiset/rbegin.html',0,'std::multiset::rbegin()'],['http://en.cppreference.com/w/cpp/string/basic_string/rbegin.html',0,'std::string::rbegin()'],['http://en.cppreference.com/w/cpp/container/set/rbegin.html',0,'std::set::rbegin()'],['http://en.cppreference.com/w/cpp/container/deque/rbegin.html',0,'std::deque::rbegin()'],['http://en.cppreference.com/w/cpp/string/basic_string/rbegin.html',0,'std::basic_string::rbegin()'],['http://en.cppreference.com/w/cpp/string/basic_string/rbegin.html',0,'std::wstring::rbegin()'],['http://en.cppreference.com/w/cpp/string/basic_string/rbegin.html',0,'std::u16string::rbegin()'],['http://en.cppreference.com/w/cpp/string/basic_string/rbegin.html',0,'std::u32string::rbegin()'],['http://en.cppreference.com/w/cpp/container/list/rbegin.html',0,'std::list::rbegin()'],['http://en.cppreference.com/w/cpp/container/map/rbegin.html',0,'std::map::rbegin()'],['http://en.cppreference.com/w/cpp/container/multimap/rbegin.html',0,'std::multimap::rbegin()'],['http://en.cppreference.com/w/cpp/container/array/rbegin.html',0,'std::array::rbegin()']]], - ['rbtree_41',['RBtree',['../d8/d72/class_r_btree.html',1,'']]], - ['rdbuf_42',['rdbuf',['http://en.cppreference.com/w/cpp/io/basic_ios/rdbuf.html',0,'std::basic_ofstream::rdbuf()'],['http://en.cppreference.com/w/cpp/io/basic_ios/rdbuf.html',0,'std::fstream::rdbuf()'],['http://en.cppreference.com/w/cpp/locale/wbuffer_convert/rdbuf.html',0,'std::wbuffer_convert::rdbuf()'],['http://en.cppreference.com/w/cpp/io/basic_ios/rdbuf.html',0,'std::wostream::rdbuf()'],['http://en.cppreference.com/w/cpp/io/basic_ios/rdbuf.html',0,'std::basic_ostringstream::rdbuf()'],['http://en.cppreference.com/w/cpp/io/basic_ios/rdbuf.html',0,'std::basic_ios::rdbuf()'],['http://en.cppreference.com/w/cpp/io/basic_ios/rdbuf.html',0,'std::ostringstream::rdbuf()'],['http://en.cppreference.com/w/cpp/io/basic_ios/rdbuf.html',0,'std::basic_fstream::rdbuf()'],['http://en.cppreference.com/w/cpp/io/basic_ios/rdbuf.html',0,'std::iostream::rdbuf()'],['http://en.cppreference.com/w/cpp/io/basic_ios/rdbuf.html',0,'std::wistream::rdbuf()'],['http://en.cppreference.com/w/cpp/io/basic_ios/rdbuf.html',0,'std::stringstream::rdbuf()'],['http://en.cppreference.com/w/cpp/io/basic_ios/rdbuf.html',0,'std::ostream::rdbuf()'],['http://en.cppreference.com/w/cpp/io/basic_ios/rdbuf.html',0,'std::wifstream::rdbuf()'],['http://en.cppreference.com/w/cpp/io/basic_ios/rdbuf.html',0,'std::basic_istream::rdbuf()'],['http://en.cppreference.com/w/cpp/io/basic_ios/rdbuf.html',0,'std::strstream::rdbuf()'],['http://en.cppreference.com/w/cpp/io/basic_ios/rdbuf.html',0,'std::basic_stringstream::rdbuf()'],['http://en.cppreference.com/w/cpp/io/basic_ios/rdbuf.html',0,'std::wostringstream::rdbuf()'],['http://en.cppreference.com/w/cpp/io/basic_ios/rdbuf.html',0,'std::istrstream::rdbuf()'],['http://en.cppreference.com/w/cpp/io/basic_ios/rdbuf.html',0,'std::basic_ostream::rdbuf()'],['http://en.cppreference.com/w/cpp/io/basic_ios/rdbuf.html',0,'std::wiostream::rdbuf()'],['http://en.cppreference.com/w/cpp/io/basic_ios/rdbuf.html',0,'std::ofstream::rdbuf()'],['http://en.cppreference.com/w/cpp/io/basic_ios/rdbuf.html',0,'std::basic_istringstream::rdbuf()'],['http://en.cppreference.com/w/cpp/io/basic_ios/rdbuf.html',0,'std::basic_ifstream::rdbuf()'],['http://en.cppreference.com/w/cpp/io/basic_ios/rdbuf.html',0,'std::istringstream::rdbuf()'],['http://en.cppreference.com/w/cpp/io/basic_ios/rdbuf.html',0,'std::istream::rdbuf()'],['http://en.cppreference.com/w/cpp/io/basic_ios/rdbuf.html',0,'std::ostrstream::rdbuf()'],['http://en.cppreference.com/w/cpp/io/basic_ios/rdbuf.html',0,'std::wfstream::rdbuf()'],['http://en.cppreference.com/w/cpp/io/basic_ios/rdbuf.html',0,'std::basic_iostream::rdbuf()'],['http://en.cppreference.com/w/cpp/io/basic_ios/rdbuf.html',0,'std::wofstream::rdbuf()'],['http://en.cppreference.com/w/cpp/io/basic_ios/rdbuf.html',0,'std::wstringstream::rdbuf()'],['http://en.cppreference.com/w/cpp/io/basic_ios/rdbuf.html',0,'std::wistringstream::rdbuf()'],['http://en.cppreference.com/w/cpp/io/basic_ios/rdbuf.html',0,'std::ifstream::rdbuf()']]], - ['rdstate_43',['rdstate',['http://en.cppreference.com/w/cpp/io/basic_ios/rdstate.html',0,'std::basic_ofstream::rdstate()'],['http://en.cppreference.com/w/cpp/io/basic_ios/rdstate.html',0,'std::fstream::rdstate()'],['http://en.cppreference.com/w/cpp/io/basic_ios/rdstate.html',0,'std::wostream::rdstate()'],['http://en.cppreference.com/w/cpp/io/basic_ios/rdstate.html',0,'std::basic_ostringstream::rdstate()'],['http://en.cppreference.com/w/cpp/io/basic_ios/rdstate.html',0,'std::basic_ios::rdstate()'],['http://en.cppreference.com/w/cpp/io/basic_ios/rdstate.html',0,'std::ostringstream::rdstate()'],['http://en.cppreference.com/w/cpp/io/basic_ios/rdstate.html',0,'std::basic_fstream::rdstate()'],['http://en.cppreference.com/w/cpp/io/basic_ios/rdstate.html',0,'std::iostream::rdstate()'],['http://en.cppreference.com/w/cpp/io/basic_ios/rdstate.html',0,'std::wistream::rdstate()'],['http://en.cppreference.com/w/cpp/io/basic_ios/rdstate.html',0,'std::stringstream::rdstate()'],['http://en.cppreference.com/w/cpp/io/basic_ios/rdstate.html',0,'std::ostream::rdstate()'],['http://en.cppreference.com/w/cpp/io/basic_ios/rdstate.html',0,'std::wifstream::rdstate()'],['http://en.cppreference.com/w/cpp/io/basic_ios/rdstate.html',0,'std::basic_istream::rdstate()'],['http://en.cppreference.com/w/cpp/io/basic_ios/rdstate.html',0,'std::strstream::rdstate()'],['http://en.cppreference.com/w/cpp/io/basic_ios/rdstate.html',0,'std::basic_stringstream::rdstate()'],['http://en.cppreference.com/w/cpp/io/basic_ios/rdstate.html',0,'std::wostringstream::rdstate()'],['http://en.cppreference.com/w/cpp/io/basic_ios/rdstate.html',0,'std::istrstream::rdstate()'],['http://en.cppreference.com/w/cpp/io/basic_ios/rdstate.html',0,'std::basic_ostream::rdstate()'],['http://en.cppreference.com/w/cpp/io/basic_ios/rdstate.html',0,'std::wiostream::rdstate()'],['http://en.cppreference.com/w/cpp/io/basic_ios/rdstate.html',0,'std::ofstream::rdstate()'],['http://en.cppreference.com/w/cpp/io/basic_ios/rdstate.html',0,'std::basic_istringstream::rdstate()'],['http://en.cppreference.com/w/cpp/io/basic_ios/rdstate.html',0,'std::basic_ifstream::rdstate()'],['http://en.cppreference.com/w/cpp/io/basic_ios/rdstate.html',0,'std::istringstream::rdstate()'],['http://en.cppreference.com/w/cpp/io/basic_ios/rdstate.html',0,'std::istream::rdstate()'],['http://en.cppreference.com/w/cpp/io/basic_ios/rdstate.html',0,'std::ostrstream::rdstate()'],['http://en.cppreference.com/w/cpp/io/basic_ios/rdstate.html',0,'std::wfstream::rdstate()'],['http://en.cppreference.com/w/cpp/io/basic_ios/rdstate.html',0,'std::basic_iostream::rdstate()'],['http://en.cppreference.com/w/cpp/io/basic_ios/rdstate.html',0,'std::wofstream::rdstate()'],['http://en.cppreference.com/w/cpp/io/basic_ios/rdstate.html',0,'std::wstringstream::rdstate()'],['http://en.cppreference.com/w/cpp/io/basic_ios/rdstate.html',0,'std::wistringstream::rdstate()'],['http://en.cppreference.com/w/cpp/io/basic_ios/rdstate.html',0,'std::ifstream::rdstate()']]], - ['read_44',['read',['http://en.cppreference.com/w/cpp/io/basic_istream/read.html',0,'std::fstream::read()'],['http://en.cppreference.com/w/cpp/io/basic_istream/read.html',0,'std::basic_fstream::read()'],['http://en.cppreference.com/w/cpp/io/basic_istream/read.html',0,'std::iostream::read()'],['http://en.cppreference.com/w/cpp/io/basic_istream/read.html',0,'std::wistream::read()'],['http://en.cppreference.com/w/cpp/io/basic_istream/read.html',0,'std::stringstream::read()'],['http://en.cppreference.com/w/cpp/io/basic_istream/read.html',0,'std::wifstream::read()'],['http://en.cppreference.com/w/cpp/io/basic_istream/read.html',0,'std::basic_istream::read()'],['http://en.cppreference.com/w/cpp/io/basic_istream/read.html',0,'std::strstream::read()'],['http://en.cppreference.com/w/cpp/io/basic_istream/read.html',0,'std::basic_stringstream::read()'],['http://en.cppreference.com/w/cpp/io/basic_istream/read.html',0,'std::istrstream::read()'],['http://en.cppreference.com/w/cpp/io/basic_istream/read.html',0,'std::wiostream::read()'],['http://en.cppreference.com/w/cpp/io/basic_istream/read.html',0,'std::basic_istringstream::read()'],['http://en.cppreference.com/w/cpp/io/basic_istream/read.html',0,'std::basic_ifstream::read()'],['http://en.cppreference.com/w/cpp/io/basic_istream/read.html',0,'std::istringstream::read()'],['http://en.cppreference.com/w/cpp/io/basic_istream/read.html',0,'std::istream::read()'],['http://en.cppreference.com/w/cpp/io/basic_istream/read.html',0,'std::wfstream::read()'],['http://en.cppreference.com/w/cpp/io/basic_istream/read.html',0,'std::basic_iostream::read()'],['http://en.cppreference.com/w/cpp/io/basic_istream/read.html',0,'std::wstringstream::read()'],['http://en.cppreference.com/w/cpp/io/basic_istream/read.html',0,'std::wistringstream::read()'],['http://en.cppreference.com/w/cpp/io/basic_istream/read.html',0,'std::ifstream::read()']]], - ['readsome_45',['readsome',['http://en.cppreference.com/w/cpp/io/basic_istream/readsome.html',0,'std::fstream::readsome()'],['http://en.cppreference.com/w/cpp/io/basic_istream/readsome.html',0,'std::basic_fstream::readsome()'],['http://en.cppreference.com/w/cpp/io/basic_istream/readsome.html',0,'std::iostream::readsome()'],['http://en.cppreference.com/w/cpp/io/basic_istream/readsome.html',0,'std::wistream::readsome()'],['http://en.cppreference.com/w/cpp/io/basic_istream/readsome.html',0,'std::stringstream::readsome()'],['http://en.cppreference.com/w/cpp/io/basic_istream/readsome.html',0,'std::wifstream::readsome()'],['http://en.cppreference.com/w/cpp/io/basic_istream/readsome.html',0,'std::basic_istream::readsome()'],['http://en.cppreference.com/w/cpp/io/basic_istream/readsome.html',0,'std::strstream::readsome()'],['http://en.cppreference.com/w/cpp/io/basic_istream/readsome.html',0,'std::basic_stringstream::readsome()'],['http://en.cppreference.com/w/cpp/io/basic_istream/readsome.html',0,'std::istrstream::readsome()'],['http://en.cppreference.com/w/cpp/io/basic_istream/readsome.html',0,'std::wiostream::readsome()'],['http://en.cppreference.com/w/cpp/io/basic_istream/readsome.html',0,'std::basic_istringstream::readsome()'],['http://en.cppreference.com/w/cpp/io/basic_istream/readsome.html',0,'std::basic_ifstream::readsome()'],['http://en.cppreference.com/w/cpp/io/basic_istream/readsome.html',0,'std::istringstream::readsome()'],['http://en.cppreference.com/w/cpp/io/basic_istream/readsome.html',0,'std::istream::readsome()'],['http://en.cppreference.com/w/cpp/io/basic_istream/readsome.html',0,'std::wfstream::readsome()'],['http://en.cppreference.com/w/cpp/io/basic_istream/readsome.html',0,'std::basic_iostream::readsome()'],['http://en.cppreference.com/w/cpp/io/basic_istream/readsome.html',0,'std::wstringstream::readsome()'],['http://en.cppreference.com/w/cpp/io/basic_istream/readsome.html',0,'std::wistringstream::readsome()'],['http://en.cppreference.com/w/cpp/io/basic_istream/readsome.html',0,'std::ifstream::readsome()']]], - ['ready_46',['ready',['http://en.cppreference.com/w/cpp/regex/match_results/ready.html',0,'std::match_results::ready()'],['http://en.cppreference.com/w/cpp/regex/match_results/ready.html',0,'std::wsmatch::ready()'],['http://en.cppreference.com/w/cpp/regex/match_results/ready.html',0,'std::smatch::ready()'],['http://en.cppreference.com/w/cpp/regex/match_results/ready.html',0,'std::wcmatch::ready()'],['http://en.cppreference.com/w/cpp/regex/match_results/ready.html',0,'std::cmatch::ready()']]], - ['real_47',['real',['http://en.cppreference.com/w/cpp/numeric/complex/real.html',0,'std::complex::real()'],['../da/d5a/class_complex.html#a312e4b19146128408fb06e0150b0faf6',1,'Complex::real()']]], - ['realloc_48',['realloc',['http://en.cppreference.com/w/cpp/memory/c/realloc.html',0,'std']]], - ['realtime_5fstats_2ecpp_49',['realtime_stats.cpp',['../d0/d08/realtime__stats_8cpp.html',1,'']]], - ['rear_50',['rear',['../d6/d04/classdata__structures_1_1queue__using__array_1_1_queue___array.html#a9883dfcceede9a42227d2d313ae86f85',1,'data_structures::queue_using_array::Queue_Array']]], - ['rec_5fternary_5fsearch_51',['rec_ternary_search',['../dc/dfe/ternary__search_8cpp.html#a93d0099db95022f1eb90ddfd68f73ead',1,'ternary_search.cpp']]], - ['recalculate_5fhash_52',['recalculate_hash',['../d9/d03/namespacestring__search.html#aed769d565b705a9b3e0eb1ec74088893',1,'string_search']]], - ['rect_5farea_53',['rect_area',['../dd/d47/namespacemath.html#ab31d141f7c5b551746b1eee0eb4dedca',1,'math']]], - ['rect_5fperimeter_54',['rect_perimeter',['../dd/d47/namespacemath.html#a428769a16e9525e56588d7c7709d25a6',1,'math']]], - ['rect_5fprism_5fvolume_55',['rect_prism_volume',['../dd/d47/namespacemath.html#a3fdc74c24697ec5bb5c3698c96117c12',1,'math']]], - ['recursive_5fbubble_5fsort_56',['recursive_bubble_sort',['../d5/d91/namespacesorting.html#ae3a775d99dbbb94c130a973df0cfddcf',1,'sorting']]], - ['recursive_5fbubble_5fsort_2ecpp_57',['recursive_bubble_sort.cpp',['../d3/df9/recursive__bubble__sort_8cpp.html',1,'']]], - ['recursive_5fmutex_58',['recursive_mutex',['http://en.cppreference.com/w/cpp/thread/recursive_mutex.html',0,'std::recursive_mutex'],['http://en.cppreference.com/w/cpp/thread/recursive_mutex/recursive_mutex.html',0,'std::recursive_mutex::recursive_mutex()']]], - ['recursive_5ftimed_5fmutex_59',['recursive_timed_mutex',['http://en.cppreference.com/w/cpp/thread/recursive_timed_mutex.html',0,'std::recursive_timed_mutex'],['http://en.cppreference.com/w/cpp/thread/recursive_timed_mutex/recursive_timed_mutex.html',0,'std::recursive_timed_mutex::recursive_timed_mutex()']]], - ['recursive_5ftree_5ftraversal_2ecpp_60',['recursive_tree_traversal.cpp',['../dc/de1/recursive__tree__traversal_8cpp.html',1,'']]], - ['ref_61',['ref',['http://en.cppreference.com/w/cpp/utility/functional/ref.html',0,'std']]], - ['refer_62',['refer',['../d6/dae/classothers_1_1lru__cache_1_1_l_r_u_cache.html#a7dbf04bf7e1472c48639694f0b110602',1,'others::lru_cache::LRUCache']]], - ['reference_63',['reference',['http://en.cppreference.com/w/cpp/utility/bitset/reference.html',0,'std::bitset']]], - ['reference_5fwrapper_64',['reference_wrapper',['http://en.cppreference.com/w/cpp/utility/functional/reference_wrapper.html',0,'std::reference_wrapper'],['http://en.cppreference.com/w/cpp/utility/functional/reference_wrapper/reference_wrapper.html',0,'std::reference_wrapper::reference_wrapper()']]], - ['regex_65',['regex',['http://en.cppreference.com/w/cpp/regex/basic_regex.html',0,'std::regex'],['http://en.cppreference.com/w/cpp/regex/basic_regex/basic_regex.html',0,'std::regex::regex()']]], - ['regex_5ferror_66',['regex_error',['http://en.cppreference.com/w/cpp/regex/regex_error.html',0,'std::regex_error'],['http://en.cppreference.com/w/cpp/regex/regex_error/regex_error.html',0,'std::regex_error::regex_error()']]], - ['regex_5fiterator_67',['regex_iterator',['http://en.cppreference.com/w/cpp/regex/regex_iterator.html',0,'std::regex_iterator'],['http://en.cppreference.com/w/cpp/regex/regex_iterator/regex_iterator.html',0,'std::regex_iterator::regex_iterator()']]], - ['regex_5fmatch_68',['regex_match',['http://en.cppreference.com/w/cpp/regex/regex_match.html',0,'std']]], - ['regex_5freplace_69',['regex_replace',['http://en.cppreference.com/w/cpp/regex/regex_replace.html',0,'std']]], - ['regex_5fsearch_70',['regex_search',['http://en.cppreference.com/w/cpp/regex/regex_search.html',0,'std']]], - ['regex_5ftoken_5fiterator_71',['regex_token_iterator',['http://en.cppreference.com/w/cpp/regex/regex_token_iterator.html',0,'std::regex_token_iterator'],['http://en.cppreference.com/w/cpp/regex/regex_token_iterator/regex_token_iterator.html',0,'std::regex_token_iterator::regex_token_iterator()']]], - ['regex_5ftraits_72',['regex_traits',['http://en.cppreference.com/w/cpp/regex/regex_traits.html',0,'std::regex_traits'],['http://en.cppreference.com/w/cpp/regex/regex_traits/regex_traits.html',0,'std::regex_traits::regex_traits()']]], - ['register_5fcallback_73',['register_callback',['http://en.cppreference.com/w/cpp/io/ios_base/register_callback.html',0,'std::basic_ofstream::register_callback()'],['http://en.cppreference.com/w/cpp/io/ios_base/register_callback.html',0,'std::fstream::register_callback()'],['http://en.cppreference.com/w/cpp/io/ios_base/register_callback.html',0,'std::wostream::register_callback()'],['http://en.cppreference.com/w/cpp/io/ios_base/register_callback.html',0,'std::basic_ostringstream::register_callback()'],['http://en.cppreference.com/w/cpp/io/ios_base/register_callback.html',0,'std::basic_ios::register_callback()'],['http://en.cppreference.com/w/cpp/io/ios_base/register_callback.html',0,'std::ostringstream::register_callback()'],['http://en.cppreference.com/w/cpp/io/ios_base/register_callback.html',0,'std::basic_fstream::register_callback()'],['http://en.cppreference.com/w/cpp/io/ios_base/register_callback.html',0,'std::iostream::register_callback()'],['http://en.cppreference.com/w/cpp/io/ios_base/register_callback.html',0,'std::ios_base::register_callback()'],['http://en.cppreference.com/w/cpp/io/ios_base/register_callback.html',0,'std::wistream::register_callback()'],['http://en.cppreference.com/w/cpp/io/ios_base/register_callback.html',0,'std::stringstream::register_callback()'],['http://en.cppreference.com/w/cpp/io/ios_base/register_callback.html',0,'std::ostream::register_callback()'],['http://en.cppreference.com/w/cpp/io/ios_base/register_callback.html',0,'std::wifstream::register_callback()'],['http://en.cppreference.com/w/cpp/io/ios_base/register_callback.html',0,'std::basic_istream::register_callback()'],['http://en.cppreference.com/w/cpp/io/ios_base/register_callback.html',0,'std::strstream::register_callback()'],['http://en.cppreference.com/w/cpp/io/ios_base/register_callback.html',0,'std::basic_stringstream::register_callback()'],['http://en.cppreference.com/w/cpp/io/ios_base/register_callback.html',0,'std::wostringstream::register_callback()'],['http://en.cppreference.com/w/cpp/io/ios_base/register_callback.html',0,'std::istrstream::register_callback()'],['http://en.cppreference.com/w/cpp/io/ios_base/register_callback.html',0,'std::basic_ostream::register_callback()'],['http://en.cppreference.com/w/cpp/io/ios_base/register_callback.html',0,'std::wiostream::register_callback()'],['http://en.cppreference.com/w/cpp/io/ios_base/register_callback.html',0,'std::ofstream::register_callback()'],['http://en.cppreference.com/w/cpp/io/ios_base/register_callback.html',0,'std::basic_istringstream::register_callback()'],['http://en.cppreference.com/w/cpp/io/ios_base/register_callback.html',0,'std::basic_ifstream::register_callback()'],['http://en.cppreference.com/w/cpp/io/ios_base/register_callback.html',0,'std::istringstream::register_callback()'],['http://en.cppreference.com/w/cpp/io/ios_base/register_callback.html',0,'std::istream::register_callback()'],['http://en.cppreference.com/w/cpp/io/ios_base/register_callback.html',0,'std::ostrstream::register_callback()'],['http://en.cppreference.com/w/cpp/io/ios_base/register_callback.html',0,'std::wfstream::register_callback()'],['http://en.cppreference.com/w/cpp/io/ios_base/register_callback.html',0,'std::basic_iostream::register_callback()'],['http://en.cppreference.com/w/cpp/io/ios_base/register_callback.html',0,'std::wofstream::register_callback()'],['http://en.cppreference.com/w/cpp/io/ios_base/register_callback.html',0,'std::wstringstream::register_callback()'],['http://en.cppreference.com/w/cpp/io/ios_base/register_callback.html',0,'std::wistringstream::register_callback()'],['http://en.cppreference.com/w/cpp/io/ios_base/register_callback.html',0,'std::ifstream::register_callback()']]], - ['regula_5ffalsi_74',['regula_falsi',['../dd/d29/false__position_8cpp.html#a7d69b49dc37da1c02b3ab8c7fe783494',1,'numerical_methods::false_position']]], - ['rehash_75',['rehash',['http://en.cppreference.com/w/cpp/container/unordered_map/rehash.html',0,'std::unordered_map::rehash()'],['http://en.cppreference.com/w/cpp/container/unordered_multimap/rehash.html',0,'std::unordered_multimap::rehash()'],['http://en.cppreference.com/w/cpp/container/unordered_multiset/rehash.html',0,'std::unordered_multiset::rehash()'],['http://en.cppreference.com/w/cpp/container/unordered_set/rehash.html',0,'std::unordered_set::rehash()'],['../d0/d65/namespacedouble__hashing.html#af4981819aae8bc7e7beeaef02615e30d',1,'double_hashing::rehash()'],['../d8/d89/namespacelinear__probing.html#a6a082dc1426a79f866cee6b370df37b0',1,'linear_probing::rehash()'],['../d4/dd2/namespacequadratic__probing.html#ada6f1f44f7e83b0094fbcbe170788486',1,'quadratic_probing::rehash()']]], - ['release_76',['release',['http://en.cppreference.com/w/cpp/thread/unique_lock/release.html',0,'std::unique_lock::release()'],['http://en.cppreference.com/w/cpp/memory/unique_ptr/release.html',0,'std::unique_ptr::release()'],['http://en.cppreference.com/w/cpp/thread/shared_lock/release.html',0,'std::shared_lock::release()'],['http://en.cppreference.com/w/cpp/memory/auto_ptr/release.html',0,'std::auto_ptr::release()']]], - ['relu_77',['relu',['../d2/d58/neural__network_8cpp.html#af8f264600754602b6a9ea19cc690e50e',1,'machine_learning::neural_network::activations']]], - ['remainder_78',['remainder',['http://en.cppreference.com/w/cpp/numeric/math/remainder.html',0,'std']]], - ['removalinfo_79',['removalInfo',['../d0/d65/namespacedouble__hashing.html#a5d06e4598569526294f10104875f6824',1,'double_hashing::removalInfo()'],['../d8/d89/namespacelinear__probing.html#a75854f5aa216e61219154c62167ce8f0',1,'linear_probing::removalInfo()'],['../d4/dd2/namespacequadratic__probing.html#a69fe1f7c36fe004ba83eef2ca82e7e30',1,'quadratic_probing::removalInfo()']]], - ['remove_80',['Remove',['../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a5da1be3f5b5d967ebb36a201f3ebad11',1,'data_structures::tree_234::Tree234']]], - ['remove_81',['remove',['http://en.cppreference.com/w/cpp/container/forward_list/remove.html',0,'std::forward_list::remove()'],['http://en.cppreference.com/w/cpp/container/list/remove.html',0,'std::list::remove()'],['../d9/dde/classbinary__search__tree.html#af4a865ce5244608819b169fc78a41153',1,'binary_search_tree::remove(std::unique_ptr< bst_node > &parent, std::unique_ptr< bst_node > &node, T rm_value)'],['../d9/dde/classbinary__search__tree.html#a99771c2e1353e8ddfd4bb9d30b7a98fb',1,'binary_search_tree::remove(T rm_value)'],['../d5/dab/structdata__structures_1_1list__array_1_1list.html#a98f7d9079c0868e0f4e67d5c52174fb6',1,'data_structures::list_array::list::remove()'],['http://en.cppreference.com/w/cpp/algorithm/remove.html',0,'std::remove()'],['../d0/d65/namespacedouble__hashing.html#a28083ecac6eb94b643281875c8665931',1,'double_hashing::remove()'],['../d8/d89/namespacelinear__probing.html#abcf8d033f8115f39f3c93cfb6cee0b28',1,'linear_probing::remove()'],['../d4/dd2/namespacequadratic__probing.html#a07a0467b24102260fbb6b554c453c20a',1,'quadratic_probing::remove()']]], - ['remove_5fall_5fextents_82',['remove_all_extents',['http://en.cppreference.com/w/cpp/types/remove_all_extents.html',0,'std']]], - ['remove_5fconst_83',['remove_const',['http://en.cppreference.com/w/cpp/types/remove_cv.html',0,'std']]], - ['remove_5fcopy_84',['remove_copy',['http://en.cppreference.com/w/cpp/algorithm/remove_copy.html',0,'std']]], - ['remove_5fcopy_5fif_85',['remove_copy_if',['http://en.cppreference.com/w/cpp/algorithm/remove_copy.html',0,'std']]], - ['remove_5fcv_86',['remove_cv',['http://en.cppreference.com/w/cpp/types/remove_cv.html',0,'std']]], - ['remove_5fextent_87',['remove_extent',['http://en.cppreference.com/w/cpp/types/remove_extent.html',0,'std']]], - ['remove_5fif_88',['remove_if',['http://en.cppreference.com/w/cpp/container/forward_list/remove.html',0,'std::forward_list::remove_if()'],['http://en.cppreference.com/w/cpp/container/list/remove.html',0,'std::list::remove_if()'],['http://en.cppreference.com/w/cpp/algorithm/remove.html',0,'std::remove_if(T... args)']]], - ['remove_5fpointer_89',['remove_pointer',['http://en.cppreference.com/w/cpp/types/remove_pointer.html',0,'std']]], - ['remove_5freference_90',['remove_reference',['http://en.cppreference.com/w/cpp/types/remove_reference.html',0,'std']]], - ['remove_5fvolatile_91',['remove_volatile',['http://en.cppreference.com/w/cpp/types/remove_cv.html',0,'std']]], - ['removeitembyindex_92',['RemoveItemByIndex',['../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a28944bb16ec22650b47fe3e80e3e13f8',1,'data_structures::tree_234::Node']]], - ['removepremerge_93',['RemovePreMerge',['../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a61dd051a74e5f36c8dc03dae8dca6ef4',1,'data_structures::tree_234::Tree234']]], - ['removewordhelper_94',['removeWordHelper',['../dd/d2f/class_trie.html#a26941759ecf94d67a27d4a610bc0f63d',1,'Trie']]], - ['remquo_95',['remquo',['http://en.cppreference.com/w/cpp/numeric/math/remquo.html',0,'std']]], - ['rename_96',['rename',['http://en.cppreference.com/w/cpp/io/c/rename.html',0,'std']]], - ['rend_97',['rend',['http://en.cppreference.com/w/cpp/container/dynarray/rend.html',0,'std::dynarray::rend()'],['http://en.cppreference.com/w/cpp/container/vector/rend.html',0,'std::vector::rend()'],['http://en.cppreference.com/w/cpp/container/multiset/rend.html',0,'std::multiset::rend()'],['http://en.cppreference.com/w/cpp/string/basic_string/rend.html',0,'std::string::rend()'],['http://en.cppreference.com/w/cpp/container/set/rend.html',0,'std::set::rend()'],['http://en.cppreference.com/w/cpp/container/deque/rend.html',0,'std::deque::rend()'],['http://en.cppreference.com/w/cpp/string/basic_string/rend.html',0,'std::basic_string::rend()'],['http://en.cppreference.com/w/cpp/string/basic_string/rend.html',0,'std::wstring::rend()'],['http://en.cppreference.com/w/cpp/string/basic_string/rend.html',0,'std::u16string::rend()'],['http://en.cppreference.com/w/cpp/string/basic_string/rend.html',0,'std::u32string::rend()'],['http://en.cppreference.com/w/cpp/container/list/rend.html',0,'std::list::rend()'],['http://en.cppreference.com/w/cpp/container/map/rend.html',0,'std::map::rend()'],['http://en.cppreference.com/w/cpp/container/multimap/rend.html',0,'std::multimap::rend()'],['http://en.cppreference.com/w/cpp/container/array/rend.html',0,'std::array::rend()']]], - ['replace_98',['replace',['http://en.cppreference.com/w/cpp/string/basic_string/replace.html',0,'std::string::replace()'],['http://en.cppreference.com/w/cpp/string/basic_string/replace.html',0,'std::basic_string::replace()'],['http://en.cppreference.com/w/cpp/string/basic_string/replace.html',0,'std::wstring::replace()'],['http://en.cppreference.com/w/cpp/string/basic_string/replace.html',0,'std::u16string::replace()'],['http://en.cppreference.com/w/cpp/string/basic_string/replace.html',0,'std::u32string::replace()'],['http://en.cppreference.com/w/cpp/algorithm/replace.html',0,'std::replace(T... args)']]], - ['replace_5fcopy_99',['replace_copy',['http://en.cppreference.com/w/cpp/algorithm/replace_copy.html',0,'std']]], - ['replace_5fcopy_5fif_100',['replace_copy_if',['http://en.cppreference.com/w/cpp/algorithm/replace_copy.html',0,'std']]], - ['replace_5fif_101',['replace_if',['http://en.cppreference.com/w/cpp/algorithm/replace.html',0,'std']]], - ['requests_102',['Pull Requests',['../d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md36',1,'']]], - ['res_103',['res',['../df/de5/classbacktracking_1_1generate__parentheses.html#ab35b9b6d2886abed3d6fb05c2be1c508',1,'backtracking::generate_parentheses']]], - ['reserve_104',['reserve',['http://en.cppreference.com/w/cpp/container/vector/reserve.html',0,'std::vector::reserve()'],['http://en.cppreference.com/w/cpp/string/basic_string/reserve.html',0,'std::string::reserve()'],['http://en.cppreference.com/w/cpp/container/unordered_map/reserve.html',0,'std::unordered_map::reserve()'],['http://en.cppreference.com/w/cpp/container/unordered_multimap/reserve.html',0,'std::unordered_multimap::reserve()'],['http://en.cppreference.com/w/cpp/string/basic_string/reserve.html',0,'std::basic_string::reserve()'],['http://en.cppreference.com/w/cpp/string/basic_string/reserve.html',0,'std::wstring::reserve()'],['http://en.cppreference.com/w/cpp/container/unordered_multiset/reserve.html',0,'std::unordered_multiset::reserve()'],['http://en.cppreference.com/w/cpp/string/basic_string/reserve.html',0,'std::u16string::reserve()'],['http://en.cppreference.com/w/cpp/string/basic_string/reserve.html',0,'std::u32string::reserve()'],['http://en.cppreference.com/w/cpp/container/unordered_set/reserve.html',0,'std::unordered_set::reserve()']]], - ['reset_105',['reset',['http://en.cppreference.com/w/cpp/numeric/random/student_t_distribution/reset.html',0,'std::student_t_distribution::reset()'],['http://en.cppreference.com/w/cpp/numeric/random/extreme_value_distribution/reset.html',0,'std::extreme_value_distribution::reset()'],['http://en.cppreference.com/w/cpp/numeric/random/lognormal_distribution/reset.html',0,'std::lognormal_distribution::reset()'],['http://en.cppreference.com/w/cpp/memory/weak_ptr/reset.html',0,'std::weak_ptr::reset()'],['http://en.cppreference.com/w/cpp/numeric/random/discrete_distribution/reset.html',0,'std::discrete_distribution::reset()'],['http://en.cppreference.com/w/cpp/numeric/random/piecewise_constant_distribution/reset.html',0,'std::piecewise_constant_distribution::reset()'],['http://en.cppreference.com/w/cpp/numeric/random/poisson_distribution/reset.html',0,'std::poisson_distribution::reset()'],['http://en.cppreference.com/w/cpp/numeric/random/bernoulli_distribution/reset.html',0,'std::bernoulli_distribution::reset()'],['http://en.cppreference.com/w/cpp/memory/shared_ptr/reset.html',0,'std::shared_ptr::reset()'],['http://en.cppreference.com/w/cpp/numeric/random/exponential_distribution/reset.html',0,'std::exponential_distribution::reset()'],['http://en.cppreference.com/w/cpp/numeric/random/uniform_real_distribution/reset.html',0,'std::uniform_real_distribution::reset()'],['http://en.cppreference.com/w/cpp/numeric/random/geometric_distribution/reset.html',0,'std::geometric_distribution::reset()'],['http://en.cppreference.com/w/cpp/numeric/random/normal_distribution/reset.html',0,'std::normal_distribution::reset()'],['http://en.cppreference.com/w/cpp/memory/unique_ptr/reset.html',0,'std::unique_ptr::reset()'],['http://en.cppreference.com/w/cpp/numeric/random/weibull_distribution/reset.html',0,'std::weibull_distribution::reset()'],['http://en.cppreference.com/w/cpp/numeric/random/negative_binomial_distribution/reset.html',0,'std::negative_binomial_distribution::reset()'],['http://en.cppreference.com/w/cpp/numeric/random/chi_squared_distribution/reset.html',0,'std::chi_squared_distribution::reset()'],['http://en.cppreference.com/w/cpp/numeric/random/piecewise_linear_distribution/reset.html',0,'std::piecewise_linear_distribution::reset()'],['http://en.cppreference.com/w/cpp/numeric/random/uniform_int_distribution/reset.html',0,'std::uniform_int_distribution::reset()'],['http://en.cppreference.com/w/cpp/numeric/random/fisher_f_distribution/reset.html',0,'std::fisher_f_distribution::reset()'],['http://en.cppreference.com/w/cpp/utility/bitset/reset.html',0,'std::bitset::reset()'],['http://en.cppreference.com/w/cpp/memory/auto_ptr/reset.html',0,'std::auto_ptr::reset()'],['http://en.cppreference.com/w/cpp/numeric/random/gamma_distribution/reset.html',0,'std::gamma_distribution::reset()'],['http://en.cppreference.com/w/cpp/thread/packaged_task/reset.html',0,'std::packaged_task::reset()'],['http://en.cppreference.com/w/cpp/numeric/random/binomial_distribution/reset.html',0,'std::binomial_distribution::reset()'],['http://en.cppreference.com/w/cpp/numeric/random/cauchy_distribution/reset.html',0,'std::cauchy_distribution::reset()']]], - ['reset_5fdata_106',['reset_data',['../d8/d41/namespacegames_1_1memory__game.html#adc62ebb75853446656e24932bdc6dd6b',1,'games::memory_game']]], - ['resetiosflags_107',['resetiosflags',['http://en.cppreference.com/w/cpp/io/manip/resetiosflags.html',0,'std']]], - ['resize_108',['resize',['http://en.cppreference.com/w/cpp/container/vector/resize.html',0,'std::vector::resize()'],['http://en.cppreference.com/w/cpp/string/basic_string/resize.html',0,'std::string::resize()'],['http://en.cppreference.com/w/cpp/container/forward_list/resize.html',0,'std::forward_list::resize()'],['http://en.cppreference.com/w/cpp/container/deque/resize.html',0,'std::deque::resize()'],['http://en.cppreference.com/w/cpp/string/basic_string/resize.html',0,'std::basic_string::resize()'],['http://en.cppreference.com/w/cpp/string/basic_string/resize.html',0,'std::wstring::resize()'],['http://en.cppreference.com/w/cpp/string/basic_string/resize.html',0,'std::u16string::resize()'],['http://en.cppreference.com/w/cpp/string/basic_string/resize.html',0,'std::u32string::resize()'],['http://en.cppreference.com/w/cpp/container/list/resize.html',0,'std::list::resize()']]], - ['responsibilities_109',['Enforcement Responsibilities',['../d3/dd7/md__c_o_d_e___o_f___c_o_n_d_u_c_t.html#autotoc_md7',1,'']]], - ['result_110',['result',['../de/dc3/fibonacci__sum_8cpp.html#aadb40ac4c74a7efc0680b83eeee138aa',1,'math::fibonacci_sum']]], - ['result_5fof_111',['result_of',['http://en.cppreference.com/w/cpp/types/result_of.html',0,'std']]], - ['rethrow_5fexception_112',['rethrow_exception',['http://en.cppreference.com/w/cpp/error/rethrow_exception.html',0,'std']]], - ['rethrow_5fif_5fnested_113',['rethrow_if_nested',['http://en.cppreference.com/w/cpp/error/rethrow_if_nested.html',0,'std']]], - ['rethrow_5fnested_114',['rethrow_nested',['http://en.cppreference.com/w/cpp/error/nested_exception/rethrow_nested.html',0,'std::nested_exception']]], - ['return_5ftemporary_5fbuffer_115',['return_temporary_buffer',['http://en.cppreference.com/w/cpp/memory/return_temporary_buffer.html',0,'std']]], - ['reverse_116',['reverse',['http://en.cppreference.com/w/cpp/container/forward_list/reverse.html',0,'std::forward_list::reverse()'],['http://en.cppreference.com/w/cpp/container/list/reverse.html',0,'std::list::reverse()'],['../de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree.html#a1c0d27198372b36ef71bc58af8336b9c',1,'operations_on_datastructures::reverse_binary_tree::BinaryTree::reverse()'],['http://en.cppreference.com/w/cpp/algorithm/reverse.html',0,'std::reverse()'],['../d3/d92/pancake__sort_8cpp.html#a99e27ad84ad43df9977776b1a8d5416e',1,'sorting::pancake_sort::reverse()']]], - ['reverse_5fa_5flinked_5flist_2ecpp_117',['reverse_a_linked_list.cpp',['../d6/d05/reverse__a__linked__list_8cpp.html',1,'']]], - ['reverse_5fbinary_118',['reverse_binary',['../d6/d42/miller__rabin_8cpp.html#a091662a787d5ad4866713021f580fddb',1,'miller_rabin.cpp']]], - ['reverse_5fbinary_5ftree_119',['reverse_binary_tree',['../dc/dc5/namespacereverse__binary__tree.html',1,'']]], - ['reverse_5fbinary_5ftree_2ecpp_120',['reverse_binary_tree.cpp',['../d4/db6/reverse__binary__tree_8cpp.html',1,'']]], - ['reverse_5fcopy_121',['reverse_copy',['http://en.cppreference.com/w/cpp/algorithm/reverse_copy.html',0,'std']]], - ['reverse_5fiterator_122',['reverse_iterator',['http://en.cppreference.com/w/cpp/iterator/reverse_iterator.html',0,'std']]], - ['reverse_5fstr_123',['reverse_str',['../da/d0d/longest__common__string_8cpp.html#acb03dbbcee6d607db471021168be8541',1,'longest_common_string.cpp']]], - ['reversebinarytree_124',['reverseBinaryTree',['../de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree.html#af6f974381f523fdb981fc2d843bbf4a1',1,'operations_on_datastructures::reverse_binary_tree::BinaryTree']]], - ['reverselist_125',['reverseList',['../d1/def/classdata__structures_1_1linked__list_1_1list.html#ac466ec086c0835822467bd3d8f3ab90e',1,'data_structures::linked_list::list']]], - ['reviewer_126',['Maintainer/reviewer',['../d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md24',1,'']]], - ['reviewers_20and_20maintainers_127',['Guidelines for reviewers and maintainers',['../d7/d1b/md__r_e_v_i_e_w_e_r___c_o_d_e.html',1,'']]], - ['rewind_128',['rewind',['http://en.cppreference.com/w/cpp/io/c/rewind.html',0,'std']]], - ['rfind_129',['rfind',['http://en.cppreference.com/w/cpp/string/basic_string/rfind.html',0,'std::string::rfind()'],['http://en.cppreference.com/w/cpp/string/basic_string/rfind.html',0,'std::basic_string::rfind()'],['http://en.cppreference.com/w/cpp/string/basic_string/rfind.html',0,'std::wstring::rfind()'],['http://en.cppreference.com/w/cpp/string/basic_string/rfind.html',0,'std::u16string::rfind()'],['http://en.cppreference.com/w/cpp/string/basic_string/rfind.html',0,'std::u32string::rfind()']]], - ['right_130',['right',['../dd/db6/structbinary__search__tree_1_1bst__node.html#a05f3a7aa6c31622f855ce4b5a95e91df',1,'binary_search_tree::bst_node::right'],['../d5/db5/classoperations__on__datastructures_1_1inorder__traversal__of__bst_1_1_node.html#a9b4ae6f5179a1c8ecfd563811a59e6c0',1,'operations_on_datastructures::inorder_traversal_of_bst::Node::right'],['../d8/dfd/structoperations__on__datastructures_1_1reverse__binary__tree_1_1_node.html#ab13a4dd92d54c11eca86edde3ef32256',1,'operations_on_datastructures::reverse_binary_tree::Node::right'],['../d2/d9a/structothers_1_1iterative__tree__traversals_1_1_node.html#af19e39acfc18b823be9d4879a20e1143',1,'others::iterative_tree_traversals::Node::right'],['../d9/df7/structothers_1_1recursive__tree__traversals_1_1_node.html#ab875304781a4eb9661c0931a6f1fae83',1,'others::recursive_tree_traversals::Node::right'],['../d5/d66/classrange__queries_1_1per_seg_tree_1_1_node.html#a9adb4639a0797e94a3e556b6b902c088',1,'range_queries::perSegTree::Node::right'],['../d2/d05/class_min_heap.html#ac760b85cf90265b8d674b942a43fb70e',1,'MinHeap::right()'],['http://en.cppreference.com/w/cpp/io/manip/left.html',0,'std::right()']]], - ['right_20node_20subtree_131',['right node subtree',['../d4/d32/inorder__successor__of__bst_8cpp.html#autotoc_md89',1,'Case 1: The given node has the right node/subtree'],['../d4/d32/inorder__successor__of__bst_8cpp.html#autotoc_md90',1,'Case 2: The given node does not have a right node/subtree']]], - ['right_5frotate_132',['right_rotate',['../d4/d08/sha256_8cpp.html#adbcd504103c342a4da718f8fce6ff06c',1,'hashing::sha256']]], - ['rightrotate_133',['RightRotate',['../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#ae68f8e62be02657c1287def6b38d7cc9',1,'data_structures::tree_234::Tree234']]], - ['rightrotate_134',['rightRotate',['../d8/dee/avltree_8cpp.html#adfc1d482a564c041756719667b955b8c',1,'avltree.cpp']]], - ['rint_135',['rint',['http://en.cppreference.com/w/cpp/numeric/math/rint.html',0,'std']]], - ['root_136',['root',['../d5/d95/structdata__structures_1_1treap_1_1_treap.html#a3081969b2714a8101f7df28b1ce5ed2c',1,'data_structures::treap::Treap::root'],['../d0/d58/classgraph_1_1_rooted_tree.html#ab22a97bf6209a085fc2d788c3c0dacbe',1,'graph::RootedTree::root'],['../d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list.html#a5d5cebd6bc906c60763fc6be10cfdd13',1,'operations_on_datastructures::circular_linked_list::CircularLinkedList::root'],['../de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree.html#ab6a17a04aa93aaaef71e038e8cc2edeb',1,'operations_on_datastructures::reverse_binary_tree::BinaryTree::root']]], - ['root_20node_137',['Method 2: Search from the root node',['../d4/d32/inorder__successor__of__bst_8cpp.html#autotoc_md92',1,'']]], - ['root_5f_138',['root_',['../d9/dde/classbinary__search__tree.html#aa08f65f6f3bfcb14f8c3d1e65305ae50',1,'binary_search_tree::root_'],['../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a348ea76c7629b2dcf740be062f970a36',1,'data_structures::tree_234::Tree234::root_']]], - ['root_5fnode_139',['root_node',['../d3/d26/classdata__structures_1_1trie__using__hashmap_1_1_trie.html#a832072498abeaa52ad43c4fc99cba248',1,'data_structures::trie_using_hashmap::Trie']]], - ['rootedtree_140',['RootedTree',['../d0/d58/classgraph_1_1_rooted_tree.html',1,'graph::RootedTree'],['../d0/d58/classgraph_1_1_rooted_tree.html#aacdeecac857623e9fbfe92590f3c504d',1,'graph::RootedTree::RootedTree()']]], - ['rotate_141',['rotate',['../d5/d95/structdata__structures_1_1treap_1_1_treap.html#a75a48584a6560de20484fbba6229fd29',1,'data_structures::treap::Treap::rotate()'],['http://en.cppreference.com/w/cpp/algorithm/rotate.html',0,'std::rotate(T... args)']]], - ['rotate_5fcopy_142',['rotate_copy',['http://en.cppreference.com/w/cpp/algorithm/rotate_copy.html',0,'std']]], - ['round_143',['round',['http://en.cppreference.com/w/cpp/numeric/math/round.html',0,'std']]], - ['round_5ferror_144',['round_error',['http://en.cppreference.com/w/cpp/types/numeric_limits/round_error.html',0,'std::numeric_limits']]], - ['run_5ftests_145',['run_tests',['../d3/db3/lru__cache_8cpp.html#a6a3be6d8871b1f5dc03688da8f3ee9e6',1,'lru_tests']]], - ['runge_5fkutta_146',['runge_kutta',['../d2/de7/namespacerunge__kutta.html',1,'']]], - ['rungekutta_147',['rungeKutta',['../d1/da6/rungekutta_8cpp.html#a7b9f40c7b5e9749cc550f19be3dc8856',1,'numerical_methods::runge_kutta']]], - ['rungekutta_2ecpp_148',['rungekutta.cpp',['../d1/da6/rungekutta_8cpp.html',1,'']]], - ['runtests_149',['runTests',['../d5/d58/class_test_cases.html#aeabea90c02f9159e4a784bbf736e1e23',1,'TestCases::runTests()'],['../d5/d58/class_test_cases.html#aeabea90c02f9159e4a784bbf736e1e23',1,'TestCases::runTests()'],['../d5/d58/class_test_cases.html#aeabea90c02f9159e4a784bbf736e1e23',1,'TestCases::runTests()']]], - ['runtime_5ferror_150',['runtime_error',['http://en.cppreference.com/w/cpp/error/runtime_error.html',0,'std::runtime_error'],['http://en.cppreference.com/w/cpp/error/runtime_error.html',0,'std::runtime_error::runtime_error()']]] + ['rand_5frange_5',['rand_range',['../d6/d26/classciphers_1_1_hill_cipher.html#a629be41c1ab78850963e4ce14e1d11d9',1,'ciphers::HillCipher::rand_range(T1 a, T1 b)'],['../d6/d26/classciphers_1_1_hill_cipher.html#a716d0313141499d16f57c0c107f04395',1,'ciphers::HillCipher::rand_range(matrix< T2 > *M, T1 a, T1 b)']]], + ['random_5fpivot_5fquick_5fsort_6',['random_pivot_quick_sort',['../de/d6b/namespacerandom__pivot__quick__sort.html',1,'']]], + ['random_5fpivot_5fquick_5fsort_2ecpp_7',['random_pivot_quick_sort.cpp',['../d1/daa/random__pivot__quick__sort_8cpp.html',1,'']]], + ['random_5ftests_8',['random_tests',['../de/d0d/fibonacci__search_8cpp.html#a2aa09bef74ee063c1331de0883af4f4f',1,'fibonacci_search.cpp']]], + ['randomized_5fbogosort_9',['randomized_bogosort',['../d5/d91/namespacesorting.html#affc6ee160142cd017f8c4b213437d0fd',1,'sorting']]], + ['randomlevel_10',['randomLevel',['../d4/d90/classdata__structures_1_1_skip_list.html#aa3f3813e9896792fc86b296547689ba4',1,'data_structures::SkipList']]], + ['range_20queries_11',['Range Queries',['../d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md65',1,'']]], + ['range_5fcomb_12',['range_comb',['../dd/d95/classdata__structures_1_1_segment_tree.html#a8fecc48e8e3f6f5f6e728495a4282e52',1,'data_structures::SegmentTree::range_comb(int i, int l, int r, int tl, int tr)'],['../dd/d95/classdata__structures_1_1_segment_tree.html#a1c5331b509d9b55bedfadf979b30dd5b',1,'data_structures::SegmentTree::range_comb(int l, int r)']]], + ['range_5fqueries_13',['range_queries',['../dd/d69/namespacerange__queries.html',1,'']]], + ['range_5ftries_14',['range_tries',['../da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution.html#a4620163a196709484225774d87de6d69',1,'probability::geometric_dist::geometric_distribution']]], + ['rat_5fmaze_15',['rat_maze',['../d9/d60/namespacerat__maze.html',1,'']]], + ['rat_5fmaze_2ecpp_16',['rat_maze.cpp',['../dc/d5a/rat__maze_8cpp.html',1,'']]], + ['rbtree_17',['RBtree',['../d8/d72/class_r_btree.html',1,'']]], + ['real_18',['real',['../da/d5a/class_complex.html#a312e4b19146128408fb06e0150b0faf6',1,'Complex']]], + ['realtime_5fstats_2ecpp_19',['realtime_stats.cpp',['../d0/d08/realtime__stats_8cpp.html',1,'']]], + ['rear_20',['rear',['../d6/d04/classdata__structures_1_1queue__using__array_1_1_queue___array.html#a9883dfcceede9a42227d2d313ae86f85',1,'data_structures::queue_using_array::Queue_Array']]], + ['rec_5fternary_5fsearch_21',['rec_ternary_search',['../dc/dfe/ternary__search_8cpp.html#a93d0099db95022f1eb90ddfd68f73ead',1,'ternary_search.cpp']]], + ['recalculate_5fhash_22',['recalculate_hash',['../d9/d03/namespacestring__search.html#aed769d565b705a9b3e0eb1ec74088893',1,'string_search']]], + ['rect_5farea_23',['rect_area',['../dd/d47/namespacemath.html#ab31d141f7c5b551746b1eee0eb4dedca',1,'math']]], + ['rect_5fperimeter_24',['rect_perimeter',['../dd/d47/namespacemath.html#a428769a16e9525e56588d7c7709d25a6',1,'math']]], + ['rect_5fprism_5fvolume_25',['rect_prism_volume',['../dd/d47/namespacemath.html#a3fdc74c24697ec5bb5c3698c96117c12',1,'math']]], + ['recursive_5fbubble_5fsort_26',['recursive_bubble_sort',['../d5/d91/namespacesorting.html#ae3a775d99dbbb94c130a973df0cfddcf',1,'sorting']]], + ['recursive_5fbubble_5fsort_2ecpp_27',['recursive_bubble_sort.cpp',['../d3/df9/recursive__bubble__sort_8cpp.html',1,'']]], + ['recursive_5ftree_5ftraversal_2ecpp_28',['recursive_tree_traversal.cpp',['../dc/de1/recursive__tree__traversal_8cpp.html',1,'']]], + ['refer_29',['refer',['../d6/dae/classothers_1_1lru__cache_1_1_l_r_u_cache.html#a7dbf04bf7e1472c48639694f0b110602',1,'others::lru_cache::LRUCache']]], + ['regula_5ffalsi_30',['regula_falsi',['../dd/d29/false__position_8cpp.html#a7d69b49dc37da1c02b3ab8c7fe783494',1,'numerical_methods::false_position']]], + ['rehash_31',['rehash',['../d0/d65/namespacedouble__hashing.html#af4981819aae8bc7e7beeaef02615e30d',1,'double_hashing::rehash()'],['../d8/d89/namespacelinear__probing.html#a6a082dc1426a79f866cee6b370df37b0',1,'linear_probing::rehash()'],['../d4/dd2/namespacequadratic__probing.html#ada6f1f44f7e83b0094fbcbe170788486',1,'quadratic_probing::rehash()']]], + ['relu_32',['relu',['../d2/d58/neural__network_8cpp.html#af8f264600754602b6a9ea19cc690e50e',1,'machine_learning::neural_network::activations']]], + ['removalinfo_33',['removalInfo',['../d0/d65/namespacedouble__hashing.html#a5d06e4598569526294f10104875f6824',1,'double_hashing::removalInfo()'],['../d8/d89/namespacelinear__probing.html#a75854f5aa216e61219154c62167ce8f0',1,'linear_probing::removalInfo()'],['../d4/dd2/namespacequadratic__probing.html#a69fe1f7c36fe004ba83eef2ca82e7e30',1,'quadratic_probing::removalInfo()']]], + ['remove_34',['Remove',['../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a5da1be3f5b5d967ebb36a201f3ebad11',1,'data_structures::tree_234::Tree234']]], + ['remove_35',['remove',['../d9/dde/classbinary__search__tree.html#af4a865ce5244608819b169fc78a41153',1,'binary_search_tree::remove(std::unique_ptr< bst_node > &parent, std::unique_ptr< bst_node > &node, T rm_value)'],['../d9/dde/classbinary__search__tree.html#a99771c2e1353e8ddfd4bb9d30b7a98fb',1,'binary_search_tree::remove(T rm_value)'],['../d5/dab/structdata__structures_1_1list__array_1_1list.html#a98f7d9079c0868e0f4e67d5c52174fb6',1,'data_structures::list_array::list::remove()'],['../d0/d65/namespacedouble__hashing.html#a28083ecac6eb94b643281875c8665931',1,'double_hashing::remove()'],['../d8/d89/namespacelinear__probing.html#abcf8d033f8115f39f3c93cfb6cee0b28',1,'linear_probing::remove()'],['../d4/dd2/namespacequadratic__probing.html#a07a0467b24102260fbb6b554c453c20a',1,'quadratic_probing::remove()']]], + ['removeitembyindex_36',['RemoveItemByIndex',['../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a28944bb16ec22650b47fe3e80e3e13f8',1,'data_structures::tree_234::Node']]], + ['removepremerge_37',['RemovePreMerge',['../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a61dd051a74e5f36c8dc03dae8dca6ef4',1,'data_structures::tree_234::Tree234']]], + ['removewordhelper_38',['removeWordHelper',['../dd/d2f/class_trie.html#a26941759ecf94d67a27d4a610bc0f63d',1,'Trie']]], + ['requests_39',['Pull Requests',['../d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md36',1,'']]], + ['res_40',['res',['../df/de5/classbacktracking_1_1generate__parentheses.html#ab35b9b6d2886abed3d6fb05c2be1c508',1,'backtracking::generate_parentheses']]], + ['reset_5fdata_41',['reset_data',['../d8/d41/namespacegames_1_1memory__game.html#adc62ebb75853446656e24932bdc6dd6b',1,'games::memory_game']]], + ['responsibilities_42',['Enforcement Responsibilities',['../d3/dd7/md__c_o_d_e___o_f___c_o_n_d_u_c_t.html#autotoc_md7',1,'']]], + ['result_43',['result',['../de/dc3/fibonacci__sum_8cpp.html#aadb40ac4c74a7efc0680b83eeee138aa',1,'math::fibonacci_sum']]], + ['reverse_44',['reverse',['../de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree.html#a1c0d27198372b36ef71bc58af8336b9c',1,'operations_on_datastructures::reverse_binary_tree::BinaryTree::reverse()'],['../d3/d92/pancake__sort_8cpp.html#a99e27ad84ad43df9977776b1a8d5416e',1,'sorting::pancake_sort::reverse()']]], + ['reverse_5fa_5flinked_5flist_2ecpp_45',['reverse_a_linked_list.cpp',['../d6/d05/reverse__a__linked__list_8cpp.html',1,'']]], + ['reverse_5fbinary_46',['reverse_binary',['../d6/d42/miller__rabin_8cpp.html#a091662a787d5ad4866713021f580fddb',1,'miller_rabin.cpp']]], + ['reverse_5fbinary_5ftree_47',['reverse_binary_tree',['../dc/dc5/namespacereverse__binary__tree.html',1,'']]], + ['reverse_5fbinary_5ftree_2ecpp_48',['reverse_binary_tree.cpp',['../d4/db6/reverse__binary__tree_8cpp.html',1,'']]], + ['reverse_5fstr_49',['reverse_str',['../da/d0d/longest__common__string_8cpp.html#acb03dbbcee6d607db471021168be8541',1,'longest_common_string.cpp']]], + ['reversebinarytree_50',['reverseBinaryTree',['../de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree.html#af6f974381f523fdb981fc2d843bbf4a1',1,'operations_on_datastructures::reverse_binary_tree::BinaryTree']]], + ['reverselist_51',['reverseList',['../d1/def/classdata__structures_1_1linked__list_1_1list.html#ac466ec086c0835822467bd3d8f3ab90e',1,'data_structures::linked_list::list']]], + ['reviewer_52',['Maintainer/reviewer',['../d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md24',1,'']]], + ['reviewers_20and_20maintainers_53',['Guidelines for reviewers and maintainers',['../d7/d1b/md__r_e_v_i_e_w_e_r___c_o_d_e.html',1,'']]], + ['right_54',['right',['../dd/db6/structbinary__search__tree_1_1bst__node.html#a05f3a7aa6c31622f855ce4b5a95e91df',1,'binary_search_tree::bst_node::right'],['../d5/db5/classoperations__on__datastructures_1_1inorder__traversal__of__bst_1_1_node.html#a9b4ae6f5179a1c8ecfd563811a59e6c0',1,'operations_on_datastructures::inorder_traversal_of_bst::Node::right'],['../d8/dfd/structoperations__on__datastructures_1_1reverse__binary__tree_1_1_node.html#ab13a4dd92d54c11eca86edde3ef32256',1,'operations_on_datastructures::reverse_binary_tree::Node::right'],['../d2/d9a/structothers_1_1iterative__tree__traversals_1_1_node.html#af19e39acfc18b823be9d4879a20e1143',1,'others::iterative_tree_traversals::Node::right'],['../d9/df7/structothers_1_1recursive__tree__traversals_1_1_node.html#ab875304781a4eb9661c0931a6f1fae83',1,'others::recursive_tree_traversals::Node::right'],['../d5/d66/classrange__queries_1_1per_seg_tree_1_1_node.html#a9adb4639a0797e94a3e556b6b902c088',1,'range_queries::perSegTree::Node::right'],['../d2/d05/class_min_heap.html#ac760b85cf90265b8d674b942a43fb70e',1,'MinHeap::right()']]], + ['right_20node_20subtree_55',['right node subtree',['../d4/d32/inorder__successor__of__bst_8cpp.html#autotoc_md89',1,'Case 1: The given node has the right node/subtree'],['../d4/d32/inorder__successor__of__bst_8cpp.html#autotoc_md90',1,'Case 2: The given node does not have a right node/subtree']]], + ['right_5frotate_56',['right_rotate',['../d4/d08/sha256_8cpp.html#adbcd504103c342a4da718f8fce6ff06c',1,'hashing::sha256']]], + ['rightrotate_57',['RightRotate',['../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#ae68f8e62be02657c1287def6b38d7cc9',1,'data_structures::tree_234::Tree234']]], + ['rightrotate_58',['rightRotate',['../d8/dee/avltree_8cpp.html#adfc1d482a564c041756719667b955b8c',1,'avltree.cpp']]], + ['root_59',['root',['../d5/d95/structdata__structures_1_1treap_1_1_treap.html#a3081969b2714a8101f7df28b1ce5ed2c',1,'data_structures::treap::Treap::root'],['../d0/d58/classgraph_1_1_rooted_tree.html#ab22a97bf6209a085fc2d788c3c0dacbe',1,'graph::RootedTree::root'],['../d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list.html#a5d5cebd6bc906c60763fc6be10cfdd13',1,'operations_on_datastructures::circular_linked_list::CircularLinkedList::root'],['../de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree.html#ab6a17a04aa93aaaef71e038e8cc2edeb',1,'operations_on_datastructures::reverse_binary_tree::BinaryTree::root']]], + ['root_20node_60',['Method 2: Search from the root node',['../d4/d32/inorder__successor__of__bst_8cpp.html#autotoc_md92',1,'']]], + ['root_5f_61',['root_',['../d9/dde/classbinary__search__tree.html#aa08f65f6f3bfcb14f8c3d1e65305ae50',1,'binary_search_tree::root_'],['../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a348ea76c7629b2dcf740be062f970a36',1,'data_structures::tree_234::Tree234::root_']]], + ['root_5fnode_62',['root_node',['../d3/d26/classdata__structures_1_1trie__using__hashmap_1_1_trie.html#a832072498abeaa52ad43c4fc99cba248',1,'data_structures::trie_using_hashmap::Trie']]], + ['rootedtree_63',['RootedTree',['../d0/d58/classgraph_1_1_rooted_tree.html',1,'graph::RootedTree'],['../d0/d58/classgraph_1_1_rooted_tree.html#aacdeecac857623e9fbfe92590f3c504d',1,'graph::RootedTree::RootedTree()']]], + ['rotate_64',['rotate',['../d5/d95/structdata__structures_1_1treap_1_1_treap.html#a75a48584a6560de20484fbba6229fd29',1,'data_structures::treap::Treap']]], + ['run_5ftests_65',['run_tests',['../d3/db3/lru__cache_8cpp.html#a6a3be6d8871b1f5dc03688da8f3ee9e6',1,'lru_tests']]], + ['runge_5fkutta_66',['runge_kutta',['../d2/de7/namespacerunge__kutta.html',1,'']]], + ['rungekutta_67',['rungeKutta',['../d1/da6/rungekutta_8cpp.html#a7b9f40c7b5e9749cc550f19be3dc8856',1,'numerical_methods::runge_kutta']]], + ['rungekutta_2ecpp_68',['rungekutta.cpp',['../d1/da6/rungekutta_8cpp.html',1,'']]], + ['runtests_69',['runTests',['../d5/d58/class_test_cases.html#aeabea90c02f9159e4a784bbf736e1e23',1,'TestCases::runTests()'],['../d5/d58/class_test_cases.html#aeabea90c02f9159e4a784bbf736e1e23',1,'TestCases::runTests()'],['../d5/d58/class_test_cases.html#aeabea90c02f9159e4a784bbf736e1e23',1,'TestCases::runTests()']]] ]; diff --git a/search/all_18.js b/search/all_18.js index c7246e95b..376a02b95 100644 --- a/search/all_18.js +++ b/search/all_18.js @@ -1,343 +1,177 @@ var searchData= [ - ['s_0',['s',['http://en.cppreference.com/w/cpp/numeric/random/lognormal_distribution/params.html',0,'std::lognormal_distribution']]], - ['s_5fsize_1',['s_size',['../d9/d35/classrange__queries_1_1heavy__light__decomposition_1_1_s_g.html#ac6d912bbfafa3a7509f66bbc1729ca25',1,'range_queries::heavy_light_decomposition::SG']]], - ['s_5ftree_2',['s_tree',['../d9/d35/classrange__queries_1_1heavy__light__decomposition_1_1_s_g.html#afbf8a9cb9449d5ca844f4e141a801e6a',1,'range_queries::heavy_light_decomposition::SG']]], - ['saddleback_3',['saddleback',['../d0/dda/namespacesaddleback.html',1,'saddleback'],['../d3/d22/saddleback__search_8cpp.html#ad1e0ca34797d88490747c08eca70a2e6',1,'search::saddleback::saddleback()']]], - ['saddleback_5fsearch_2ecpp_4',['saddleback_search.cpp',['../d3/d22/saddleback__search_8cpp.html',1,'']]], - ['safe_5fsubstr_5',['safe_substr',['../da/dd3/karatsuba__algorithm__for__fast__multiplication_8cpp.html#aad9e3edfe156b59fc06a5585403fe0d6',1,'divide_and_conquer::karatsuba_algorithm']]], - ['sample_5ftest_6',['sample_test',['../de/d72/geometric__dist_8cpp.html#a70fd1cc5c3a2813f28683dc75dcd65b6',1,'geometric_dist.cpp']]], - ['save_5f2d_5fdata_7',['save_2d_data',['../d9/d66/group__machine__learning.html#gabc90175770bf0d5853c466e14993a08c',1,'kohonen_som_topology.cpp']]], - ['save_5fexact_5fsolution_8',['save_exact_solution',['../db/dd3/ode__forward__euler_8cpp.html#aa13517b8e5de1b75592052db7f7e237f',1,'save_exact_solution(const double &X0, const double &X_MAX, const double &step_size, const std::valarray< double > &Y0): ode_forward_euler.cpp'],['../d6/dd3/ode__midpoint__euler_8cpp.html#aa13517b8e5de1b75592052db7f7e237f',1,'save_exact_solution(const double &X0, const double &X_MAX, const double &step_size, const std::valarray< double > &Y0): ode_midpoint_euler.cpp'],['../d3/d06/ode__semi__implicit__euler_8cpp.html#aa13517b8e5de1b75592052db7f7e237f',1,'save_exact_solution(const double &X0, const double &X_MAX, const double &step_size, const std::valarray< double > &Y0): ode_semi_implicit_euler.cpp']]], - ['save_5fmodel_9',['save_model',['../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#a4f14e473bb0722c6490b9dc8da5982aa',1,'machine_learning::neural_network::NeuralNetwork']]], - ['save_5fnd_5fdata_10',['save_nd_data',['../d9/d66/group__machine__learning.html#gae0208548f8b393528e5db01717e88e67',1,'kohonen_som_trace.cpp']]], - ['save_5fu_5fmatrix_11',['save_u_matrix',['../d8/d77/namespacemachine__learning.html#aa72a53c88203fde278f1fe6c3afe5b07',1,'machine_learning']]], - ['sbumpc_12',['sbumpc',['http://en.cppreference.com/w/cpp/io/basic_streambuf/sbumpc.html',0,'std::basic_filebuf::sbumpc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sbumpc.html',0,'std::wstringbuf::sbumpc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sbumpc.html',0,'std::stringbuf::sbumpc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sbumpc.html',0,'std::wfilebuf::sbumpc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sbumpc.html',0,'std::wstreambuf::sbumpc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sbumpc.html',0,'std::strstreambuf::sbumpc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sbumpc.html',0,'std::basic_stringbuf::sbumpc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sbumpc.html',0,'std::basic_streambuf::sbumpc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sbumpc.html',0,'std::filebuf::sbumpc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sbumpc.html',0,'std::streambuf::sbumpc()']]], - ['scalbln_13',['scalbln',['http://en.cppreference.com/w/cpp/numeric/math/scalbn.html',0,'std']]], - ['scalbn_14',['scalbn',['http://en.cppreference.com/w/cpp/numeric/math/scalbn.html',0,'std']]], - ['scan_5fis_15',['scan_is',['http://en.cppreference.com/w/cpp/locale/ctype/scan_is.html',0,'std::ctype_byname::scan_is()'],['http://en.cppreference.com/w/cpp/locale/ctype/scan_is.html',0,'std::ctype::scan_is()']]], - ['scanf_16',['scanf',['http://en.cppreference.com/w/cpp/io/c/fscanf.html',0,'std']]], - ['schedule_17',['schedule',['../dd/dca/class_f_c_f_s.html#af2594e22a867b308e027623940193d46',1,'FCFS']]], - ['scheduleforfcfs_18',['scheduleForFcfs',['../dd/dca/class_f_c_f_s.html#aa25dbe30ba9930b5a7c1a6d11758bd91',1,'FCFS']]], - ['scheduling_20algorithms_19',['Cpu Scheduling Algorithms',['../d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md48',1,'']]], - ['scientific_20',['scientific',['http://en.cppreference.com/w/cpp/io/manip/fixed.html',0,'std']]], - ['scope_21',['Scope',['../d3/dd7/md__c_o_d_e___o_f___c_o_n_d_u_c_t.html#autotoc_md8',1,'']]], - ['scoped_5fallocator_5fadaptor_22',['scoped_allocator_adaptor',['http://en.cppreference.com/w/cpp/memory/scoped_allocator_adaptor.html',0,'std::scoped_allocator_adaptor'],['http://en.cppreference.com/w/cpp/memory/scoped_allocator_adaptor/scoped_allocator_adaptor.html',0,'std::scoped_allocator_adaptor::scoped_allocator_adaptor()']]], - ['scs_23',['scs',['../d7/d65/shortest__common__supersequence_8cpp.html#ad2ee8d7e67da9f6eb85146b08dad95e6',1,'dynamic_programming::shortest_common_supersequence']]], - ['search_24',['Search',['../d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md66',1,'']]], - ['search_25',['search',['../d9/dca/namespacesearch.html',1,'search'],['../d1/def/classdata__structures_1_1linked__list_1_1list.html#ad3423f7518671351340932db3c24959a',1,'data_structures::linked_list::list::search()'],['../dd/d2f/class_trie.html#a411e77126930a0942dd7b65e96b15206',1,'Trie::search()'],['../d0/d3e/classdata__structures_1_1trie.html#a961eb5d576d2420f2036009154397c63',1,'data_structures::trie::search(const std::shared_ptr< trie > &root, const std::string &str, int index)'],['../d0/d3e/classdata__structures_1_1trie.html#a499f87fd833203ef9492b4870aa6d42d',1,'data_structures::trie::search(const std::string &str, int index)'],['../d3/d26/classdata__structures_1_1trie__using__hashmap_1_1_trie.html#ad71eb24207c28b546631802dba97310f',1,'data_structures::trie_using_hashmap::Trie::search()'],['http://en.cppreference.com/w/cpp/algorithm/search.html',0,'std::search()'],['../d0/dbc/namespacestrings_1_1boyer__moore.html#a15703b553faed0d28202c10808cf9738',1,'strings::boyer_moore::search()']]], - ['search_20from_20the_20root_20node_26',['Method 2: Search from the root node',['../d4/d32/inorder__successor__of__bst_8cpp.html#autotoc_md92',1,'']]], - ['search_5fn_27',['search_n',['http://en.cppreference.com/w/cpp/algorithm/search_n.html',0,'std']]], - ['searchelement_28',['searchElement',['../d4/d90/classdata__structures_1_1_skip_list.html#af2f3d4e15b1f47afac849c2e08a730f4',1,'data_structures::SkipList']]], - ['searchfreqsuggestions_29',['SearchFreqSuggestions',['../d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html#a7c5ab271d8042540f64ef16d259d1503',1,'operations_on_datastructures::trie_operations::Tnode']]], - ['searchingprober_30',['searchingProber',['../d0/d65/namespacedouble__hashing.html#a29f543e2626bad58907661e1e45028a6',1,'double_hashing::searchingProber()'],['../d8/d89/namespacelinear__probing.html#a942fc8407b8001890ea26830cdcd9d77',1,'linear_probing::searchingProber()'],['../d4/dd2/namespacequadratic__probing.html#aeb6bca8db4768226f8ea8291ea4f83f6',1,'quadratic_probing::searchingProber()']]], - ['searchpresence_31',['SearchPresence',['../d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html#a4a624fcdf3c3beb2025d69f2cfda8023',1,'operations_on_datastructures::trie_operations::Tnode']]], - ['searchsuggestions_32',['SearchSuggestions',['../d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html#a18b70172ca4fb2811dbfb9a86e48b34c',1,'operations_on_datastructures::trie_operations::Tnode']]], - ['seconds_33',['seconds',['http://en.cppreference.com/w/cpp/chrono/duration.html',0,'std::chrono::seconds'],['http://en.cppreference.com/w/cpp/chrono/duration/duration.html',0,'std::chrono::seconds::seconds()']]], - ['seed_34',['seed',['http://en.cppreference.com/w/cpp/numeric/random/mersenne_twister_engine/seed.html',0,'std::mt19937_64::seed()'],['http://en.cppreference.com/w/cpp/numeric/random/subtract_with_carry_engine/seed.html',0,'std::ranlux24_base::seed()'],['http://en.cppreference.com/w/cpp/numeric/random/discard_block_engine/seed.html',0,'std::ranlux48::seed()'],['http://en.cppreference.com/w/cpp/numeric/random/discard_block_engine/seed.html',0,'std::discard_block_engine::seed()'],['http://en.cppreference.com/w/cpp/numeric/random/mersenne_twister_engine/seed.html',0,'std::mersenne_twister_engine::seed()'],['http://en.cppreference.com/w/cpp/numeric/random/independent_bits_engine/seed.html',0,'std::independent_bits_engine::seed()'],['http://en.cppreference.com/w/cpp/numeric/random/linear_congruential_engine/seed.html',0,'std::minstd_rand::seed()'],['http://en.cppreference.com/w/cpp/numeric/random/subtract_with_carry_engine/seed.html',0,'std::ranlux48_base::seed()'],['http://en.cppreference.com/w/cpp/numeric/random/mersenne_twister_engine/seed.html',0,'std::mt19937::seed()'],['http://en.cppreference.com/w/cpp/numeric/random/shuffle_order_engine/seed.html',0,'std::shuffle_order_engine::seed()'],['http://en.cppreference.com/w/cpp/numeric/random/discard_block_engine/seed.html',0,'std::ranlux24::seed()'],['http://en.cppreference.com/w/cpp/numeric/random/linear_congruential_engine/seed.html',0,'std::linear_congruential_engine::seed()'],['http://en.cppreference.com/w/cpp/numeric/random/shuffle_order_engine/seed.html',0,'std::knuth_b::seed()'],['http://en.cppreference.com/w/cpp/numeric/random/linear_congruential_engine/seed.html',0,'std::minstd_rand0::seed()'],['http://en.cppreference.com/w/cpp/numeric/random/subtract_with_carry_engine/seed.html',0,'std::subtract_with_carry_engine::seed()']]], - ['seed_5fseq_35',['seed_seq',['http://en.cppreference.com/w/cpp/numeric/random/seed_seq.html',0,'std::seed_seq'],['http://en.cppreference.com/w/cpp/numeric/random/seed_seq/seed_seq.html',0,'std::seed_seq::seed_seq()']]], - ['seekg_36',['seekg',['http://en.cppreference.com/w/cpp/io/basic_istream/seekg.html',0,'std::fstream::seekg()'],['http://en.cppreference.com/w/cpp/io/basic_istream/seekg.html',0,'std::basic_fstream::seekg()'],['http://en.cppreference.com/w/cpp/io/basic_istream/seekg.html',0,'std::iostream::seekg()'],['http://en.cppreference.com/w/cpp/io/basic_istream/seekg.html',0,'std::wistream::seekg()'],['http://en.cppreference.com/w/cpp/io/basic_istream/seekg.html',0,'std::stringstream::seekg()'],['http://en.cppreference.com/w/cpp/io/basic_istream/seekg.html',0,'std::wifstream::seekg()'],['http://en.cppreference.com/w/cpp/io/basic_istream/seekg.html',0,'std::basic_istream::seekg()'],['http://en.cppreference.com/w/cpp/io/basic_istream/seekg.html',0,'std::strstream::seekg()'],['http://en.cppreference.com/w/cpp/io/basic_istream/seekg.html',0,'std::basic_stringstream::seekg()'],['http://en.cppreference.com/w/cpp/io/basic_istream/seekg.html',0,'std::istrstream::seekg()'],['http://en.cppreference.com/w/cpp/io/basic_istream/seekg.html',0,'std::wiostream::seekg()'],['http://en.cppreference.com/w/cpp/io/basic_istream/seekg.html',0,'std::basic_istringstream::seekg()'],['http://en.cppreference.com/w/cpp/io/basic_istream/seekg.html',0,'std::basic_ifstream::seekg()'],['http://en.cppreference.com/w/cpp/io/basic_istream/seekg.html',0,'std::istringstream::seekg()'],['http://en.cppreference.com/w/cpp/io/basic_istream/seekg.html',0,'std::istream::seekg()'],['http://en.cppreference.com/w/cpp/io/basic_istream/seekg.html',0,'std::wfstream::seekg()'],['http://en.cppreference.com/w/cpp/io/basic_istream/seekg.html',0,'std::basic_iostream::seekg()'],['http://en.cppreference.com/w/cpp/io/basic_istream/seekg.html',0,'std::wstringstream::seekg()'],['http://en.cppreference.com/w/cpp/io/basic_istream/seekg.html',0,'std::wistringstream::seekg()'],['http://en.cppreference.com/w/cpp/io/basic_istream/seekg.html',0,'std::ifstream::seekg()']]], - ['seekoff_37',['seekoff',['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubseekoff.html',0,'std::basic_filebuf::seekoff()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubseekoff.html',0,'std::wstringbuf::seekoff()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubseekoff.html',0,'std::stringbuf::seekoff()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubseekoff.html',0,'std::wfilebuf::seekoff()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubseekoff.html',0,'std::wstreambuf::seekoff()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubseekoff.html',0,'std::strstreambuf::seekoff()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubseekoff.html',0,'std::basic_stringbuf::seekoff()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubseekoff.html',0,'std::basic_streambuf::seekoff()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubseekoff.html',0,'std::filebuf::seekoff()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubseekoff.html',0,'std::streambuf::seekoff()']]], - ['seekp_38',['seekp',['http://en.cppreference.com/w/cpp/io/basic_ostream/seekp.html',0,'std::basic_ofstream::seekp()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/seekp.html',0,'std::fstream::seekp()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/seekp.html',0,'std::wostream::seekp()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/seekp.html',0,'std::basic_ostringstream::seekp()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/seekp.html',0,'std::ostringstream::seekp()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/seekp.html',0,'std::basic_fstream::seekp()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/seekp.html',0,'std::iostream::seekp()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/seekp.html',0,'std::stringstream::seekp()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/seekp.html',0,'std::ostream::seekp()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/seekp.html',0,'std::strstream::seekp()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/seekp.html',0,'std::basic_stringstream::seekp()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/seekp.html',0,'std::wostringstream::seekp()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/seekp.html',0,'std::basic_ostream::seekp()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/seekp.html',0,'std::wiostream::seekp()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/seekp.html',0,'std::ofstream::seekp()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/seekp.html',0,'std::ostrstream::seekp()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/seekp.html',0,'std::wfstream::seekp()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/seekp.html',0,'std::basic_iostream::seekp()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/seekp.html',0,'std::wofstream::seekp()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/seekp.html',0,'std::wstringstream::seekp()']]], - ['seekpos_39',['seekpos',['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubseekpos.html',0,'std::basic_filebuf::seekpos()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubseekpos.html',0,'std::wstringbuf::seekpos()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubseekpos.html',0,'std::stringbuf::seekpos()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubseekpos.html',0,'std::wfilebuf::seekpos()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubseekpos.html',0,'std::wstreambuf::seekpos()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubseekpos.html',0,'std::strstreambuf::seekpos()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubseekpos.html',0,'std::basic_stringbuf::seekpos()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubseekpos.html',0,'std::basic_streambuf::seekpos()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubseekpos.html',0,'std::filebuf::seekpos()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubseekpos.html',0,'std::streambuf::seekpos()']]], - ['segment_5ftree_2ecpp_40',['segment_tree.cpp',['../de/dd1/segment__tree_8cpp.html',1,'']]], - ['segmentintersection_41',['SegmentIntersection',['../d4/db4/struct_segment_intersection.html',1,'']]], - ['segmenttree_42',['SegmentTree',['../dd/d95/classdata__structures_1_1_segment_tree.html',1,'data_structures']]], - ['segtree_2ecpp_43',['segtree.cpp',['../d2/d45/segtree_8cpp.html',1,'']]], - ['select_5fon_5fcontainer_5fcopy_5fconstruction_44',['select_on_container_copy_construction',['http://en.cppreference.com/w/cpp/memory/allocator_traits/select_on_container_copy_construction.html',0,'std::allocator_traits::select_on_container_copy_construction()'],['http://en.cppreference.com/w/cpp/memory/scoped_allocator_adaptor/select_on_container_copy_construction.html',0,'std::scoped_allocator_adaptor::select_on_container_copy_construction()']]], - ['selection_5fsort_5frecursive_45',['selection_sort_recursive',['../df/d4a/namespaceselection__sort__recursive.html',1,'']]], - ['selection_5fsort_5frecursive_2ecpp_46',['selection_sort_recursive.cpp',['../d4/d9f/selection__sort__recursive_8cpp.html',1,'']]], - ['selectionsortrecursive_47',['selectionSortRecursive',['../d4/d9f/selection__sort__recursive_8cpp.html#ab6f7b33a070e376e1f4374e534435e89',1,'sorting::selection_sort_recursive']]], - ['selectiontop_5f3_48',['SelectionTop_3',['../d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html#aacafb8c9f3ebac7ac6c01d9645bb67b6',1,'operations_on_datastructures::trie_operations::Tnode']]], - ['self_20test_20examples_49',['Self-test examples',['../d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md30',1,'']]], - ['semi_5fimplicit_5feuler_50',['semi_implicit_euler',['../d6/d60/group__ode.html#ga3874d294ab00fe9ce8731c5b7991a089',1,'ode_semi_implicit_euler.cpp']]], - ['semi_5fimplicit_5feuler_5fstep_51',['semi_implicit_euler_step',['../d6/d60/group__ode.html#ga827bf009831ddc477c5fa8891d5cb35f',1,'ode_semi_implicit_euler.cpp']]], - ['sentry_52',['sentry',['http://en.cppreference.com/w/cpp/io/basic_ostream/sentry.html',0,'std::basic_fstream< Char >::sentry'],['http://en.cppreference.com/w/cpp/io/basic_istream/sentry.html',0,'std::basic_ifstream< Char >::sentry'],['http://en.cppreference.com/w/cpp/io/basic_ostream/sentry.html',0,'std::basic_iostream< Char >::sentry'],['http://en.cppreference.com/w/cpp/io/basic_istream/sentry.html',0,'std::basic_istream< Char >::sentry'],['http://en.cppreference.com/w/cpp/io/basic_istream/sentry.html',0,'std::basic_istringstream< Char >::sentry'],['http://en.cppreference.com/w/cpp/io/basic_ostream/sentry.html',0,'std::basic_ofstream< Char >::sentry'],['http://en.cppreference.com/w/cpp/io/basic_ostream/sentry.html',0,'std::basic_ostream< Char >::sentry'],['http://en.cppreference.com/w/cpp/io/basic_ostream/sentry.html',0,'std::basic_ostringstream< Char >::sentry'],['http://en.cppreference.com/w/cpp/io/basic_ostream/sentry.html',0,'std::basic_stringstream< Char >::sentry'],['http://en.cppreference.com/w/cpp/io/basic_ostream/sentry.html',0,'std::fstream::sentry'],['http://en.cppreference.com/w/cpp/io/basic_istream/sentry.html',0,'std::ifstream::sentry'],['http://en.cppreference.com/w/cpp/io/basic_ostream/sentry.html',0,'std::iostream::sentry'],['http://en.cppreference.com/w/cpp/io/basic_istream/sentry.html',0,'std::istream::sentry'],['http://en.cppreference.com/w/cpp/io/basic_istream/sentry.html',0,'std::istringstream::sentry'],['http://en.cppreference.com/w/cpp/io/basic_istream/sentry.html',0,'std::istrstream::sentry'],['http://en.cppreference.com/w/cpp/io/basic_ostream/sentry.html',0,'std::ofstream::sentry'],['http://en.cppreference.com/w/cpp/io/basic_ostream/sentry.html',0,'std::ostream::sentry'],['http://en.cppreference.com/w/cpp/io/basic_ostream/sentry.html',0,'std::ostringstream::sentry'],['http://en.cppreference.com/w/cpp/io/basic_ostream/sentry.html',0,'std::ostrstream::sentry'],['http://en.cppreference.com/w/cpp/io/basic_ostream/sentry.html',0,'std::stringstream::sentry'],['http://en.cppreference.com/w/cpp/io/basic_ostream/sentry.html',0,'std::strstream::sentry'],['http://en.cppreference.com/w/cpp/io/basic_ostream/sentry.html',0,'std::wfstream::sentry'],['http://en.cppreference.com/w/cpp/io/basic_istream/sentry.html',0,'std::wifstream::sentry'],['http://en.cppreference.com/w/cpp/io/basic_ostream/sentry.html',0,'std::wiostream::sentry'],['http://en.cppreference.com/w/cpp/io/basic_istream/sentry.html',0,'std::wistream::sentry'],['http://en.cppreference.com/w/cpp/io/basic_istream/sentry.html',0,'std::wistringstream::sentry'],['http://en.cppreference.com/w/cpp/io/basic_ostream/sentry.html',0,'std::wofstream::sentry'],['http://en.cppreference.com/w/cpp/io/basic_ostream/sentry.html',0,'std::wostream::sentry'],['http://en.cppreference.com/w/cpp/io/basic_ostream/sentry.html',0,'std::wostringstream::sentry'],['http://en.cppreference.com/w/cpp/io/basic_ostream/sentry.html',0,'std::wstringstream::sentry'],['http://en.cppreference.com/w/cpp/io/basic_ostream/sentry.html',0,'std::basic_ofstream::sentry::sentry()'],['http://en.cppreference.com/w/cpp/io/basic_istream/sentry.html',0,'std::fstream::sentry::sentry()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/sentry.html',0,'std::wostream::sentry::sentry()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/sentry.html',0,'std::basic_ostringstream::sentry::sentry()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/sentry.html',0,'std::ostringstream::sentry::sentry()'],['http://en.cppreference.com/w/cpp/io/basic_istream/sentry.html',0,'std::basic_fstream::sentry::sentry()'],['http://en.cppreference.com/w/cpp/io/basic_istream/sentry.html',0,'std::iostream::sentry::sentry()'],['http://en.cppreference.com/w/cpp/io/basic_istream/sentry.html',0,'std::wistream::sentry::sentry()'],['http://en.cppreference.com/w/cpp/io/basic_istream/sentry.html',0,'std::stringstream::sentry::sentry()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/sentry.html',0,'std::ostream::sentry::sentry()'],['http://en.cppreference.com/w/cpp/io/basic_istream/sentry.html',0,'std::wifstream::sentry::sentry()'],['http://en.cppreference.com/w/cpp/io/basic_istream/sentry.html',0,'std::basic_istream::sentry::sentry()'],['http://en.cppreference.com/w/cpp/io/basic_istream/sentry.html',0,'std::strstream::sentry::sentry()'],['http://en.cppreference.com/w/cpp/io/basic_istream/sentry.html',0,'std::basic_stringstream::sentry::sentry()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/sentry.html',0,'std::wostringstream::sentry::sentry()'],['http://en.cppreference.com/w/cpp/io/basic_istream/sentry.html',0,'std::istrstream::sentry::sentry()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/sentry.html',0,'std::basic_ostream::sentry::sentry()'],['http://en.cppreference.com/w/cpp/io/basic_istream/sentry.html',0,'std::wiostream::sentry::sentry()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/sentry.html',0,'std::ofstream::sentry::sentry()'],['http://en.cppreference.com/w/cpp/io/basic_istream/sentry.html',0,'std::basic_istringstream::sentry::sentry()'],['http://en.cppreference.com/w/cpp/io/basic_istream/sentry.html',0,'std::basic_ifstream::sentry::sentry()'],['http://en.cppreference.com/w/cpp/io/basic_istream/sentry.html',0,'std::istringstream::sentry::sentry()'],['http://en.cppreference.com/w/cpp/io/basic_istream/sentry.html',0,'std::istream::sentry::sentry()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/sentry.html',0,'std::ostrstream::sentry::sentry()'],['http://en.cppreference.com/w/cpp/io/basic_istream/sentry.html',0,'std::wfstream::sentry::sentry()'],['http://en.cppreference.com/w/cpp/io/basic_istream/sentry.html',0,'std::basic_iostream::sentry::sentry()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/sentry.html',0,'std::wofstream::sentry::sentry()'],['http://en.cppreference.com/w/cpp/io/basic_istream/sentry.html',0,'std::wstringstream::sentry::sentry()'],['http://en.cppreference.com/w/cpp/io/basic_istream/sentry.html',0,'std::wistringstream::sentry::sentry()'],['http://en.cppreference.com/w/cpp/io/basic_istream/sentry.html',0,'std::ifstream::sentry::sentry()']]], - ['set_53',['set',['http://en.cppreference.com/w/cpp/container/set.html',0,'std::set< K >'],['../dc/dd4/classdata__structures_1_1_bloom_filter.html#a90268d7901e2c1ab5f8bf8b24a30e119',1,'data_structures::BloomFilter::set'],['http://en.cppreference.com/w/cpp/container/set/set.html',0,'std::set::set()'],['http://en.cppreference.com/w/cpp/utility/bitset/set.html',0,'std::bitset::set()']]], - ['set_5fdifference_54',['set_difference',['http://en.cppreference.com/w/cpp/algorithm/set_difference.html',0,'std']]], - ['set_5fexception_55',['set_exception',['http://en.cppreference.com/w/cpp/thread/promise/set_exception.html',0,'std::promise']]], - ['set_5fexception_5fat_5fthread_5fexit_56',['set_exception_at_thread_exit',['http://en.cppreference.com/w/cpp/thread/promise/set_exception_at_thread_exit.html',0,'std::promise']]], - ['set_5fintersection_57',['set_intersection',['http://en.cppreference.com/w/cpp/algorithm/set_intersection.html',0,'std']]], - ['set_5fkth_5fbit_2ecpp_58',['set_kth_bit.cpp',['../d5/db5/set__kth__bit_8cpp.html',1,'']]], - ['set_5fnew_5fhandler_59',['set_new_handler',['http://en.cppreference.com/w/cpp/memory/new/set_new_handler.html',0,'std']]], - ['set_5fnode_5fval_60',['set_node_val',['../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html#a04cd96efaba147b19d3afc769b90ff70',1,'range_queries::heavy_light_decomposition::Tree']]], - ['set_5frdbuf_61',['set_rdbuf',['http://en.cppreference.com/w/cpp/io/basic_ios/set_rdbuf.html',0,'std::basic_ofstream::set_rdbuf()'],['http://en.cppreference.com/w/cpp/io/basic_ios/set_rdbuf.html',0,'std::fstream::set_rdbuf()'],['http://en.cppreference.com/w/cpp/io/basic_ios/set_rdbuf.html',0,'std::wostream::set_rdbuf()'],['http://en.cppreference.com/w/cpp/io/basic_ios/set_rdbuf.html',0,'std::basic_ostringstream::set_rdbuf()'],['http://en.cppreference.com/w/cpp/io/basic_ios/set_rdbuf.html',0,'std::basic_ios::set_rdbuf()'],['http://en.cppreference.com/w/cpp/io/basic_ios/set_rdbuf.html',0,'std::ostringstream::set_rdbuf()'],['http://en.cppreference.com/w/cpp/io/basic_ios/set_rdbuf.html',0,'std::basic_fstream::set_rdbuf()'],['http://en.cppreference.com/w/cpp/io/basic_ios/set_rdbuf.html',0,'std::iostream::set_rdbuf()'],['http://en.cppreference.com/w/cpp/io/basic_ios/set_rdbuf.html',0,'std::wistream::set_rdbuf()'],['http://en.cppreference.com/w/cpp/io/basic_ios/set_rdbuf.html',0,'std::stringstream::set_rdbuf()'],['http://en.cppreference.com/w/cpp/io/basic_ios/set_rdbuf.html',0,'std::ostream::set_rdbuf()'],['http://en.cppreference.com/w/cpp/io/basic_ios/set_rdbuf.html',0,'std::wifstream::set_rdbuf()'],['http://en.cppreference.com/w/cpp/io/basic_ios/set_rdbuf.html',0,'std::basic_istream::set_rdbuf()'],['http://en.cppreference.com/w/cpp/io/basic_ios/set_rdbuf.html',0,'std::strstream::set_rdbuf()'],['http://en.cppreference.com/w/cpp/io/basic_ios/set_rdbuf.html',0,'std::basic_stringstream::set_rdbuf()'],['http://en.cppreference.com/w/cpp/io/basic_ios/set_rdbuf.html',0,'std::wostringstream::set_rdbuf()'],['http://en.cppreference.com/w/cpp/io/basic_ios/set_rdbuf.html',0,'std::istrstream::set_rdbuf()'],['http://en.cppreference.com/w/cpp/io/basic_ios/set_rdbuf.html',0,'std::basic_ostream::set_rdbuf()'],['http://en.cppreference.com/w/cpp/io/basic_ios/set_rdbuf.html',0,'std::wiostream::set_rdbuf()'],['http://en.cppreference.com/w/cpp/io/basic_ios/set_rdbuf.html',0,'std::ofstream::set_rdbuf()'],['http://en.cppreference.com/w/cpp/io/basic_ios/set_rdbuf.html',0,'std::basic_istringstream::set_rdbuf()'],['http://en.cppreference.com/w/cpp/io/basic_ios/set_rdbuf.html',0,'std::basic_ifstream::set_rdbuf()'],['http://en.cppreference.com/w/cpp/io/basic_ios/set_rdbuf.html',0,'std::istringstream::set_rdbuf()'],['http://en.cppreference.com/w/cpp/io/basic_ios/set_rdbuf.html',0,'std::istream::set_rdbuf()'],['http://en.cppreference.com/w/cpp/io/basic_ios/set_rdbuf.html',0,'std::ostrstream::set_rdbuf()'],['http://en.cppreference.com/w/cpp/io/basic_ios/set_rdbuf.html',0,'std::wfstream::set_rdbuf()'],['http://en.cppreference.com/w/cpp/io/basic_ios/set_rdbuf.html',0,'std::basic_iostream::set_rdbuf()'],['http://en.cppreference.com/w/cpp/io/basic_ios/set_rdbuf.html',0,'std::wofstream::set_rdbuf()'],['http://en.cppreference.com/w/cpp/io/basic_ios/set_rdbuf.html',0,'std::wstringstream::set_rdbuf()'],['http://en.cppreference.com/w/cpp/io/basic_ios/set_rdbuf.html',0,'std::wistringstream::set_rdbuf()'],['http://en.cppreference.com/w/cpp/io/basic_ios/set_rdbuf.html',0,'std::ifstream::set_rdbuf()']]], - ['set_5fsret_5finit_62',['set_sret_init',['../d9/d35/classrange__queries_1_1heavy__light__decomposition_1_1_s_g.html#ad3b942be27a1b0fe3cff6cb6edf01294',1,'range_queries::heavy_light_decomposition::SG']]], - ['set_5fsymmetric_5fdifference_63',['set_symmetric_difference',['http://en.cppreference.com/w/cpp/algorithm/set_symmetric_difference.html',0,'std']]], - ['set_5fterminate_64',['set_terminate',['http://en.cppreference.com/w/cpp/error/set_terminate.html',0,'std']]], - ['set_5funexpected_65',['set_unexpected',['http://en.cppreference.com/w/cpp/error/set_unexpected.html',0,'std']]], - ['set_5funion_66',['set_union',['http://en.cppreference.com/w/cpp/algorithm/set_union.html',0,'std']]], - ['set_5fvalue_67',['set_value',['http://en.cppreference.com/w/cpp/thread/promise/set_value.html',0,'std::promise']]], - ['set_5fvalue_5fat_5fthread_5fexit_68',['set_value_at_thread_exit',['http://en.cppreference.com/w/cpp/thread/promise/set_value_at_thread_exit.html',0,'std::promise']]], - ['setbase_69',['setbase',['http://en.cppreference.com/w/cpp/io/manip/setbase.html',0,'std']]], - ['setbuf_70',['setbuf',['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubsetbuf.html',0,'std::basic_filebuf::setbuf()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubsetbuf.html',0,'std::wstringbuf::setbuf()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubsetbuf.html',0,'std::stringbuf::setbuf()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubsetbuf.html',0,'std::wfilebuf::setbuf()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubsetbuf.html',0,'std::wstreambuf::setbuf()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubsetbuf.html',0,'std::strstreambuf::setbuf()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubsetbuf.html',0,'std::basic_stringbuf::setbuf()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubsetbuf.html',0,'std::basic_streambuf::setbuf()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubsetbuf.html',0,'std::filebuf::setbuf()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubsetbuf.html',0,'std::streambuf::setbuf()'],['http://en.cppreference.com/w/cpp/io/c/setbuf.html',0,'std::setbuf()']]], - ['setchild_71',['SetChild',['../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#ab4e5f7b7b260bb81d9441652cc124c74',1,'data_structures::tree_234::Node']]], - ['setcount_72',['SetCount',['../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#af564fd4b0992fff69f90de201542d3d1',1,'data_structures::tree_234::Node']]], - ['setf_73',['setf',['http://en.cppreference.com/w/cpp/io/ios_base/setf.html',0,'std::basic_ofstream::setf()'],['http://en.cppreference.com/w/cpp/io/ios_base/setf.html',0,'std::fstream::setf()'],['http://en.cppreference.com/w/cpp/io/ios_base/setf.html',0,'std::wostream::setf()'],['http://en.cppreference.com/w/cpp/io/ios_base/setf.html',0,'std::basic_ostringstream::setf()'],['http://en.cppreference.com/w/cpp/io/ios_base/setf.html',0,'std::basic_ios::setf()'],['http://en.cppreference.com/w/cpp/io/ios_base/setf.html',0,'std::ostringstream::setf()'],['http://en.cppreference.com/w/cpp/io/ios_base/setf.html',0,'std::basic_fstream::setf()'],['http://en.cppreference.com/w/cpp/io/ios_base/setf.html',0,'std::iostream::setf()'],['http://en.cppreference.com/w/cpp/io/ios_base/setf.html',0,'std::ios_base::setf()'],['http://en.cppreference.com/w/cpp/io/ios_base/setf.html',0,'std::wistream::setf()'],['http://en.cppreference.com/w/cpp/io/ios_base/setf.html',0,'std::stringstream::setf()'],['http://en.cppreference.com/w/cpp/io/ios_base/setf.html',0,'std::ostream::setf()'],['http://en.cppreference.com/w/cpp/io/ios_base/setf.html',0,'std::wifstream::setf()'],['http://en.cppreference.com/w/cpp/io/ios_base/setf.html',0,'std::basic_istream::setf()'],['http://en.cppreference.com/w/cpp/io/ios_base/setf.html',0,'std::strstream::setf()'],['http://en.cppreference.com/w/cpp/io/ios_base/setf.html',0,'std::basic_stringstream::setf()'],['http://en.cppreference.com/w/cpp/io/ios_base/setf.html',0,'std::wostringstream::setf()'],['http://en.cppreference.com/w/cpp/io/ios_base/setf.html',0,'std::istrstream::setf()'],['http://en.cppreference.com/w/cpp/io/ios_base/setf.html',0,'std::basic_ostream::setf()'],['http://en.cppreference.com/w/cpp/io/ios_base/setf.html',0,'std::wiostream::setf()'],['http://en.cppreference.com/w/cpp/io/ios_base/setf.html',0,'std::ofstream::setf()'],['http://en.cppreference.com/w/cpp/io/ios_base/setf.html',0,'std::basic_istringstream::setf()'],['http://en.cppreference.com/w/cpp/io/ios_base/setf.html',0,'std::basic_ifstream::setf()'],['http://en.cppreference.com/w/cpp/io/ios_base/setf.html',0,'std::istringstream::setf()'],['http://en.cppreference.com/w/cpp/io/ios_base/setf.html',0,'std::istream::setf()'],['http://en.cppreference.com/w/cpp/io/ios_base/setf.html',0,'std::ostrstream::setf()'],['http://en.cppreference.com/w/cpp/io/ios_base/setf.html',0,'std::wfstream::setf()'],['http://en.cppreference.com/w/cpp/io/ios_base/setf.html',0,'std::basic_iostream::setf()'],['http://en.cppreference.com/w/cpp/io/ios_base/setf.html',0,'std::wofstream::setf()'],['http://en.cppreference.com/w/cpp/io/ios_base/setf.html',0,'std::wstringstream::setf()'],['http://en.cppreference.com/w/cpp/io/ios_base/setf.html',0,'std::wistringstream::setf()'],['http://en.cppreference.com/w/cpp/io/ios_base/setf.html',0,'std::ifstream::setf()']]], - ['setfill_74',['setfill',['http://en.cppreference.com/w/cpp/io/manip/setfill.html',0,'std']]], - ['setg_75',['setg',['http://en.cppreference.com/w/cpp/io/basic_streambuf/setg.html',0,'std::basic_filebuf::setg()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/setg.html',0,'std::wstringbuf::setg()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/setg.html',0,'std::stringbuf::setg()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/setg.html',0,'std::wfilebuf::setg()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/setg.html',0,'std::wstreambuf::setg()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/setg.html',0,'std::strstreambuf::setg()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/setg.html',0,'std::basic_stringbuf::setg()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/setg.html',0,'std::basic_streambuf::setg()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/setg.html',0,'std::filebuf::setg()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/setg.html',0,'std::streambuf::setg()']]], - ['setiosflags_76',['setiosflags',['http://en.cppreference.com/w/cpp/io/manip/setiosflags.html',0,'std']]], - ['setitem_77',['SetItem',['../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#aaa89a3016b5dd1be3552321c34343cbc',1,'data_structures::tree_234::Node']]], - ['setkthbit_78',['setKthBit',['../d8/d88/namespaceset_kth_bit.html',1,'setKthBit'],['../d5/db5/set__kth__bit_8cpp.html#ad4d0ffd9331242c42a28834ee19f5fd9',1,'bit_manipulation::set_kth_bit::setKthBit()']]], - ['setlocale_79',['setlocale',['http://en.cppreference.com/w/cpp/locale/setlocale.html',0,'std']]], - ['setp_80',['setp',['http://en.cppreference.com/w/cpp/io/basic_streambuf/setp.html',0,'std::basic_filebuf::setp()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/setp.html',0,'std::wstringbuf::setp()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/setp.html',0,'std::stringbuf::setp()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/setp.html',0,'std::wfilebuf::setp()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/setp.html',0,'std::wstreambuf::setp()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/setp.html',0,'std::strstreambuf::setp()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/setp.html',0,'std::basic_stringbuf::setp()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/setp.html',0,'std::basic_streambuf::setp()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/setp.html',0,'std::filebuf::setp()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/setp.html',0,'std::streambuf::setp()']]], - ['setprecision_81',['setprecision',['http://en.cppreference.com/w/cpp/io/manip/setprecision.html',0,'std']]], - ['setsize_82',['setSize',['../dd/d1f/classdsu.html#ac0dc3e17e49fe19b159b4ea4096d7b55',1,'dsu']]], - ['setstate_83',['setstate',['http://en.cppreference.com/w/cpp/io/basic_ios/setstate.html',0,'std::basic_ofstream::setstate()'],['http://en.cppreference.com/w/cpp/io/basic_ios/setstate.html',0,'std::fstream::setstate()'],['http://en.cppreference.com/w/cpp/io/basic_ios/setstate.html',0,'std::wostream::setstate()'],['http://en.cppreference.com/w/cpp/io/basic_ios/setstate.html',0,'std::basic_ostringstream::setstate()'],['http://en.cppreference.com/w/cpp/io/basic_ios/setstate.html',0,'std::basic_ios::setstate()'],['http://en.cppreference.com/w/cpp/io/basic_ios/setstate.html',0,'std::ostringstream::setstate()'],['http://en.cppreference.com/w/cpp/io/basic_ios/setstate.html',0,'std::basic_fstream::setstate()'],['http://en.cppreference.com/w/cpp/io/basic_ios/setstate.html',0,'std::iostream::setstate()'],['http://en.cppreference.com/w/cpp/io/basic_ios/setstate.html',0,'std::wistream::setstate()'],['http://en.cppreference.com/w/cpp/io/basic_ios/setstate.html',0,'std::stringstream::setstate()'],['http://en.cppreference.com/w/cpp/io/basic_ios/setstate.html',0,'std::ostream::setstate()'],['http://en.cppreference.com/w/cpp/io/basic_ios/setstate.html',0,'std::wifstream::setstate()'],['http://en.cppreference.com/w/cpp/io/basic_ios/setstate.html',0,'std::basic_istream::setstate()'],['http://en.cppreference.com/w/cpp/io/basic_ios/setstate.html',0,'std::strstream::setstate()'],['http://en.cppreference.com/w/cpp/io/basic_ios/setstate.html',0,'std::basic_stringstream::setstate()'],['http://en.cppreference.com/w/cpp/io/basic_ios/setstate.html',0,'std::wostringstream::setstate()'],['http://en.cppreference.com/w/cpp/io/basic_ios/setstate.html',0,'std::istrstream::setstate()'],['http://en.cppreference.com/w/cpp/io/basic_ios/setstate.html',0,'std::basic_ostream::setstate()'],['http://en.cppreference.com/w/cpp/io/basic_ios/setstate.html',0,'std::wiostream::setstate()'],['http://en.cppreference.com/w/cpp/io/basic_ios/setstate.html',0,'std::ofstream::setstate()'],['http://en.cppreference.com/w/cpp/io/basic_ios/setstate.html',0,'std::basic_istringstream::setstate()'],['http://en.cppreference.com/w/cpp/io/basic_ios/setstate.html',0,'std::basic_ifstream::setstate()'],['http://en.cppreference.com/w/cpp/io/basic_ios/setstate.html',0,'std::istringstream::setstate()'],['http://en.cppreference.com/w/cpp/io/basic_ios/setstate.html',0,'std::istream::setstate()'],['http://en.cppreference.com/w/cpp/io/basic_ios/setstate.html',0,'std::ostrstream::setstate()'],['http://en.cppreference.com/w/cpp/io/basic_ios/setstate.html',0,'std::wfstream::setstate()'],['http://en.cppreference.com/w/cpp/io/basic_ios/setstate.html',0,'std::basic_iostream::setstate()'],['http://en.cppreference.com/w/cpp/io/basic_ios/setstate.html',0,'std::wofstream::setstate()'],['http://en.cppreference.com/w/cpp/io/basic_ios/setstate.html',0,'std::wstringstream::setstate()'],['http://en.cppreference.com/w/cpp/io/basic_ios/setstate.html',0,'std::wistringstream::setstate()'],['http://en.cppreference.com/w/cpp/io/basic_ios/setstate.html',0,'std::ifstream::setstate()']]], - ['setvbuf_84',['setvbuf',['http://en.cppreference.com/w/cpp/io/c/setvbuf.html',0,'std']]], - ['setw_85',['setw',['http://en.cppreference.com/w/cpp/io/manip/setw.html',0,'std']]], - ['sg_86',['SG',['../d9/d35/classrange__queries_1_1heavy__light__decomposition_1_1_s_g.html',1,'range_queries::heavy_light_decomposition::SG< X >'],['../d9/d35/classrange__queries_1_1heavy__light__decomposition_1_1_s_g.html#afba5c1225ba04c0025c7786c09ff28f1',1,'range_queries::heavy_light_decomposition::SG::SG()']]], - ['sgetc_87',['sgetc',['http://en.cppreference.com/w/cpp/io/basic_streambuf/sgetc.html',0,'std::basic_filebuf::sgetc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sgetc.html',0,'std::wstringbuf::sgetc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sgetc.html',0,'std::stringbuf::sgetc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sgetc.html',0,'std::wfilebuf::sgetc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sgetc.html',0,'std::wstreambuf::sgetc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sgetc.html',0,'std::strstreambuf::sgetc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sgetc.html',0,'std::basic_stringbuf::sgetc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sgetc.html',0,'std::basic_streambuf::sgetc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sgetc.html',0,'std::filebuf::sgetc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sgetc.html',0,'std::streambuf::sgetc()']]], - ['sgetn_88',['sgetn',['http://en.cppreference.com/w/cpp/io/basic_streambuf/sgetn.html',0,'std::basic_filebuf::sgetn()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sgetn.html',0,'std::wstringbuf::sgetn()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sgetn.html',0,'std::stringbuf::sgetn()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sgetn.html',0,'std::wfilebuf::sgetn()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sgetn.html',0,'std::wstreambuf::sgetn()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sgetn.html',0,'std::strstreambuf::sgetn()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sgetn.html',0,'std::basic_stringbuf::sgetn()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sgetn.html',0,'std::basic_streambuf::sgetn()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sgetn.html',0,'std::filebuf::sgetn()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sgetn.html',0,'std::streambuf::sgetn()']]], - ['sgn_89',['sgn',['../d7/d6a/bisection__method_8cpp.html#a1ab31b90bc584c635ec159468ceed9b2',1,'bisection_method.cpp']]], - ['sha_90',['SHA',['../de/dd3/namespace_s_h_a.html',1,'']]], - ['sha1_2ecpp_91',['sha1.cpp',['../d8/d7a/sha1_8cpp.html',1,'']]], - ['sha256_92',['sha256',['../d4/d08/sha256_8cpp.html#a55475649a2bb7aae15de0716a217f43a',1,'hashing::sha256']]], - ['sha256_2ecpp_93',['sha256.cpp',['../d4/d08/sha256_8cpp.html',1,'']]], - ['share_94',['share',['http://en.cppreference.com/w/cpp/thread/future/share.html',0,'std::future']]], - ['shared_5ffrom_5fthis_95',['shared_from_this',['http://en.cppreference.com/w/cpp/memory/enable_shared_from_this/shared_from_this.html',0,'std::enable_shared_from_this']]], - ['shared_5ffuture_96',['shared_future',['http://en.cppreference.com/w/cpp/thread/shared_future.html',0,'std::shared_future'],['http://en.cppreference.com/w/cpp/thread/shared_future/shared_future.html',0,'std::shared_future::shared_future()']]], - ['shared_5flock_97',['shared_lock',['http://en.cppreference.com/w/cpp/thread/shared_lock.html',0,'std::shared_lock< T >'],['http://en.cppreference.com/w/cpp/thread/shared_lock/shared_lock.html',0,'std::shared_lock::shared_lock()']]], - ['shared_5fptr_98',['shared_ptr',['http://en.cppreference.com/w/cpp/memory/shared_ptr.html',0,'std::shared_ptr< T >'],['http://en.cppreference.com/w/cpp/memory/shared_ptr/shared_ptr.html',0,'std::shared_ptr::shared_ptr()']]], - ['shared_5fptr_3c_20data_5fstructures_3a_3alinked_5flist_3a_3alink_20_3e_99',['shared_ptr< data_structures::linked_list::link >',['http://en.cppreference.com/w/cpp/memory/shared_ptr.html',0,'std']]], - ['shared_5fptr_3c_20data_5fstructures_3a_3anode_20_3e_100',['shared_ptr< data_structures::Node >',['http://en.cppreference.com/w/cpp/memory/shared_ptr.html',0,'std']]], - ['shared_5fptr_3c_20data_5fstructures_3a_3atrie_5fusing_5fhashmap_3a_3atrie_3a_3anode_20_3e_101',['shared_ptr< data_structures::trie_using_hashmap::Trie::Node >',['http://en.cppreference.com/w/cpp/memory/shared_ptr.html',0,'std']]], - ['shared_5fptr_3c_20machine_5flearning_3a_3aaystar_5fsearch_3a_3aaystarsearch_3a_3ainfo_20_3e_102',['shared_ptr< machine_learning::aystar_search::AyStarSearch::Info >',['http://en.cppreference.com/w/cpp/memory/shared_ptr.html',0,'std']]], - ['shared_5fptr_3c_20node_20_3e_103',['shared_ptr< Node >',['http://en.cppreference.com/w/cpp/memory/shared_ptr.html',0,'std']]], - ['shared_5fptr_3c_20node_3c_20value_5ftype_20_3e_20_3e_104',['shared_ptr< Node< value_type > >',['http://en.cppreference.com/w/cpp/memory/shared_ptr.html',0,'std']]], - ['shared_5fptr_3c_20node_3c_20valuetype_20_3e_20_3e_105',['shared_ptr< Node< ValueType > >',['http://en.cppreference.com/w/cpp/memory/shared_ptr.html',0,'std']]], - ['shared_5fptr_3c_20puzzle_20_3e_106',['shared_ptr< Puzzle >',['http://en.cppreference.com/w/cpp/memory/shared_ptr.html',0,'std']]], - ['shared_5fptr_3c_20range_5fqueries_3a_3apersegtree_3a_3anode_20_3e_107',['shared_ptr< range_queries::perSegTree::Node >',['http://en.cppreference.com/w/cpp/memory/shared_ptr.html',0,'std']]], - ['shared_5fptr_3c_20trie_3a_3atrienode_20_3e_108',['shared_ptr< Trie::TrieNode >',['http://en.cppreference.com/w/cpp/memory/shared_ptr.html',0,'std']]], - ['shared_5ftimed_5fmutex_109',['shared_timed_mutex',['http://en.cppreference.com/w/cpp/thread/shared_timed_mutex.html',0,'std::shared_timed_mutex'],['http://en.cppreference.com/w/cpp/thread/shared_timed_mutex/shared_timed_mutex.html',0,'std::shared_timed_mutex::shared_timed_mutex()']]], - ['shell_5fsort_110',['shell_sort',['../d5/d91/namespacesorting.html#a5669396c6a6b1e14b97589b6e37980aa',1,'sorting::shell_sort(T *arr, size_t LEN)'],['../d5/d91/namespacesorting.html#a4d76603c54d3dc56146e92d10a043924',1,'sorting::shell_sort(T(&arr)[N])'],['../d5/d91/namespacesorting.html#af2c5b92cbfe73f63f6074c61b0a45331',1,'sorting::shell_sort(std::vector< T > *arr)']]], - ['shell_5fsort2_2ecpp_111',['shell_sort2.cpp',['../d4/d7a/shell__sort2_8cpp.html',1,'']]], - ['shift_5fleft_112',['shift_left',['../da/d6d/namespaceoperations__on__datastructures.html#afce39cf843989a39811a49ebe29dd6d8',1,'operations_on_datastructures']]], - ['shift_5fright_113',['shift_right',['../da/d6d/namespaceoperations__on__datastructures.html#a1bfb8711f49e591eb168ccaa3df6fb86',1,'operations_on_datastructures']]], - ['shortest_5fcommon_5fsupersequence_114',['shortest_common_supersequence',['../d3/deb/namespaceshortest__common__supersequence.html',1,'']]], - ['shortest_5fcommon_5fsupersequence_2ecpp_115',['shortest_common_supersequence.cpp',['../d7/d65/shortest__common__supersequence_8cpp.html',1,'']]], - ['shortest_5fpath_5fdistance_116',['Shortest_Path_Distance',['../d7/d07/bidirectional__dijkstra_8cpp.html#a22f1b7277e1dd4190f25014b48487ce6',1,'graph::bidirectional_dijkstra']]], - ['show_117',['show',['../d5/dab/structdata__structures_1_1list__array_1_1list.html#a0b7acf65026df1e9dd13eebf309dda5e',1,'data_structures::list_array::list::show()'],['../d2/dc8/classdata__structures_1_1_stack.html#abb86ed67d9d97112897a09cfb10ff586',1,'data_structures::Stack::show()'],['../db/d3c/tower__of__hanoi_8cpp.html#a746d9a3984bba88fd6dd91978f6931ed',1,'show(): tower_of_hanoi.cpp'],['../d2/d26/count__inversions_8cpp.html#a851ca6a0391d14fb49a97d55e4377497',1,'sorting::inversion::show()'],['../d5/d4c/group__sorting.html#ga0a9a57a1f1bbba3d4822531d002b7e07',1,'show(): merge_sort.cpp'],['../d1/d21/quick__sort_8cpp.html#aeccefcf6fcca62c54939c5ec9a93109b',1,'sorting::quick_sort::show()']]], - ['show_5farray_118',['show_array',['../d5/ddb/bogo__sort_8cpp.html#ae8adaeff66471f9ed84f2e673b38a859',1,'bogo_sort.cpp']]], - ['show_5fdata_119',['show_data',['../d4/d7a/shell__sort2_8cpp.html#a951127aea9d7e1e53ea9ae0868633246',1,'show_data(T *arr, size_t LEN): shell_sort2.cpp'],['../d4/d7a/shell__sort2_8cpp.html#a63aaff7cabfa3da2da8b9477b5fad9d6',1,'show_data(T(&arr)[N]): shell_sort2.cpp']]], - ['show_5fpascal_120',['show_pascal',['../dc/d1a/pascal__triangle_8cpp.html#ad7a31d9cb2818d21b1ba12aead7f4c5c',1,'pascal_triangle.cpp']]], - ['showarray_121',['showArray',['../d1/daa/random__pivot__quick__sort_8cpp.html#ac3281dc34a9cfd7beb332419b8a0aa10',1,'sorting::random_pivot_quick_sort']]], - ['showbase_122',['showbase',['http://en.cppreference.com/w/cpp/io/manip/showbase.html',0,'std']]], - ['showmanyc_123',['showmanyc',['http://en.cppreference.com/w/cpp/io/basic_streambuf/showmanyc.html',0,'std::basic_filebuf::showmanyc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/showmanyc.html',0,'std::wstringbuf::showmanyc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/showmanyc.html',0,'std::stringbuf::showmanyc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/showmanyc.html',0,'std::wfilebuf::showmanyc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/showmanyc.html',0,'std::wstreambuf::showmanyc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/showmanyc.html',0,'std::strstreambuf::showmanyc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/showmanyc.html',0,'std::basic_stringbuf::showmanyc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/showmanyc.html',0,'std::basic_streambuf::showmanyc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/showmanyc.html',0,'std::filebuf::showmanyc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/showmanyc.html',0,'std::streambuf::showmanyc()']]], - ['showpoint_124',['showpoint',['http://en.cppreference.com/w/cpp/io/manip/showpoint.html',0,'std']]], - ['showpos_125',['showpos',['http://en.cppreference.com/w/cpp/io/manip/showpos.html',0,'std']]], - ['shrink_5fto_5ffit_126',['shrink_to_fit',['http://en.cppreference.com/w/cpp/container/vector/shrink_to_fit.html',0,'std::vector::shrink_to_fit()'],['http://en.cppreference.com/w/cpp/string/basic_string/shrink_to_fit.html',0,'std::string::shrink_to_fit()'],['http://en.cppreference.com/w/cpp/container/deque/shrink_to_fit.html',0,'std::deque::shrink_to_fit()'],['http://en.cppreference.com/w/cpp/string/basic_string/shrink_to_fit.html',0,'std::basic_string::shrink_to_fit()'],['http://en.cppreference.com/w/cpp/string/basic_string/shrink_to_fit.html',0,'std::wstring::shrink_to_fit()'],['http://en.cppreference.com/w/cpp/string/basic_string/shrink_to_fit.html',0,'std::u16string::shrink_to_fit()'],['http://en.cppreference.com/w/cpp/string/basic_string/shrink_to_fit.html',0,'std::u32string::shrink_to_fit()']]], - ['shuffle_127',['shuffle',['http://en.cppreference.com/w/cpp/algorithm/random_shuffle.html',0,'std::shuffle()'],['../d5/d91/namespacesorting.html#a7bfe11bd4703eacd1dab93f25ec639c5',1,'sorting::shuffle()']]], - ['shuffle_5forder_5fengine_128',['shuffle_order_engine',['http://en.cppreference.com/w/cpp/numeric/random/shuffle_order_engine.html',0,'std::shuffle_order_engine'],['http://en.cppreference.com/w/cpp/numeric/random/shuffle_order_engine/shuffle_order_engine.html',0,'std::shuffle_order_engine::shuffle_order_engine()']]], - ['side_129',['side',['../de/d00/classgraph_1_1is__graph__bipartite_1_1_graph.html#a9d10768f927baa8a4d4a5ffce295b6b6',1,'graph::is_graph_bipartite::Graph']]], - ['sieve_130',['Sieve',['../d4/d9c/primes__up__to__billion_8cpp.html#a031cada84819ed6426f58e4f7e81261c',1,'primes_up_to_billion.cpp']]], - ['sieve_131',['sieve',['../dd/d47/namespacemath.html#a91366864111e1fac29722ca45e02ea8f',1,'math::sieve()'],['../d8/ddf/sieve__of__eratosthenes_8cpp.html#a22be949d160b26361f7e323310f7fa0c',1,'math::sieve_of_eratosthenes::sieve()']]], - ['sieve_5fof_5feratosthenes_132',['sieve_of_eratosthenes',['../d2/db0/namespacesieve__of__eratosthenes.html',1,'']]], - ['sieve_5fof_5feratosthenes_2ecpp_133',['sieve_of_eratosthenes.cpp',['../d8/ddf/sieve__of__eratosthenes_8cpp.html',1,'']]], - ['sieveoferatosthenes_134',['SieveOfEratosthenes',['../db/d0d/prime__factorization_8cpp.html#affe577b9bce8f604f5e2f861c63c7099',1,'prime_factorization.cpp']]], - ['sig2hex_135',['sig2hex',['../d5/d96/md5_8cpp.html#aaee69c6136a841043f956de32116e348',1,'hashing::md5::sig2hex()'],['../d8/d7a/sha1_8cpp.html#aada0803ef851d831b7a290a924e3c228',1,'hashing::sha1::sig2hex()']]], - ['sig_5fatomic_5ft_136',['sig_atomic_t',['http://en.cppreference.com/w/cpp/utility/program/sig_atomic_t.html',0,'std']]], - ['sigmoid_137',['sigmoid',['../d2/d58/neural__network_8cpp.html#a23aa9d32bcbcd65cfc85f0a41e2afadc',1,'machine_learning::neural_network::activations']]], - ['signal_138',['signal',['http://en.cppreference.com/w/cpp/utility/program/signal.html',0,'std']]], - ['signaling_5fnan_139',['signaling_NaN',['http://en.cppreference.com/w/cpp/types/numeric_limits/signaling_NaN.html',0,'std::numeric_limits']]], - ['signbit_140',['signbit',['http://en.cppreference.com/w/cpp/numeric/math/signbit.html',0,'std']]], - ['simpson_5fmethod_141',['simpson_method',['../d3/d6d/namespacesimpson__method.html',1,'']]], - ['sin_142',['sin',['http://en.cppreference.com/w/cpp/numeric/math/sin.html',0,'std']]], - ['single_5fpredict_143',['single_predict',['../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#a3b9eac1824d365dce715fb17c33cb96f',1,'machine_learning::neural_network::NeuralNetwork']]], - ['sinh_144',['sinh',['http://en.cppreference.com/w/cpp/numeric/math/sinh.html',0,'std']]], - ['size_145',['size',['../dd/d95/classdata__structures_1_1_segment_tree.html#a167fd91b68048e49e97859a8947690f3',1,'data_structures::SegmentTree::size'],['../d1/dc2/classstack.html#a0a6b2b93ec970296940798ee98a5072e',1,'stack::size'],['../d5/d95/structdata__structures_1_1treap_1_1_treap.html#af5f0b8263339485989f8a02ae026114c',1,'data_structures::treap::Treap::size'],['http://en.cppreference.com/w/cpp/container/dynarray/size.html',0,'std::dynarray::size()'],['http://en.cppreference.com/w/cpp/container/vector/size.html',0,'std::vector::size()'],['http://en.cppreference.com/w/cpp/regex/match_results/size.html',0,'std::match_results::size()'],['http://en.cppreference.com/w/cpp/container/multiset/size.html',0,'std::multiset::size()'],['http://en.cppreference.com/w/cpp/string/basic_string/size.html',0,'std::string::size()'],['http://en.cppreference.com/w/cpp/container/set/size.html',0,'std::set::size()'],['http://en.cppreference.com/w/cpp/container/unordered_map/size.html',0,'std::unordered_map::size()'],['http://en.cppreference.com/w/cpp/utility/initializer_list/size.html',0,'std::initializer_list::size()'],['http://en.cppreference.com/w/cpp/regex/match_results/size.html',0,'std::wsmatch::size()'],['http://en.cppreference.com/w/cpp/regex/match_results/size.html',0,'std::smatch::size()'],['http://en.cppreference.com/w/cpp/container/stack/size.html',0,'std::stack::size()'],['http://en.cppreference.com/w/cpp/container/unordered_multimap/size.html',0,'std::unordered_multimap::size()'],['http://en.cppreference.com/w/cpp/regex/match_results/size.html',0,'std::wcmatch::size()'],['http://en.cppreference.com/w/cpp/container/deque/size.html',0,'std::deque::size()'],['http://en.cppreference.com/w/cpp/container/queue/size.html',0,'std::queue::size()'],['http://en.cppreference.com/w/cpp/utility/bitset/size.html',0,'std::bitset::size()'],['http://en.cppreference.com/w/cpp/string/basic_string/size.html',0,'std::basic_string::size()'],['http://en.cppreference.com/w/cpp/container/priority_queue/size.html',0,'std::priority_queue::size()'],['http://en.cppreference.com/w/cpp/string/basic_string/size.html',0,'std::wstring::size()'],['http://en.cppreference.com/w/cpp/container/unordered_multiset/size.html',0,'std::unordered_multiset::size()'],['http://en.cppreference.com/w/cpp/string/basic_string/size.html',0,'std::u16string::size()'],['http://en.cppreference.com/w/cpp/string/basic_string/size.html',0,'std::u32string::size()'],['http://en.cppreference.com/w/cpp/container/list/size.html',0,'std::list::size()'],['http://en.cppreference.com/w/cpp/container/map/size.html',0,'std::map::size()'],['http://en.cppreference.com/w/cpp/regex/match_results/size.html',0,'std::cmatch::size()'],['http://en.cppreference.com/w/cpp/numeric/random/seed_seq/size.html',0,'std::seed_seq::size()'],['http://en.cppreference.com/w/cpp/container/unordered_set/size.html',0,'std::unordered_set::size()'],['http://en.cppreference.com/w/cpp/container/multimap/size.html',0,'std::multimap::size()'],['http://en.cppreference.com/w/cpp/container/array/size.html',0,'std::array::size()'],['../d9/dde/classbinary__search__tree.html#a564fe43e7e8f7ecb6f10667a70fbc6f3',1,'binary_search_tree::size()'],['../d9/dae/classdata__structures_1_1_bitset.html#a2f1f44d6a12b0de4aaf242872b1c7b54',1,'data_structures::Bitset::size()'],['../dd/d1f/classdsu.html#a1c24228b0f2f49220133fb8c3566a55c',1,'dsu::size()'],['../db/d5b/structdata__structures_1_1stack__using__queue_1_1_stack.html#ac0ddec9ab8f778dad23ec446d7a77b39',1,'data_structures::stack_using_queue::Stack::size()'],['../dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix.html#ae4e183ec8eab778cb243e4ae0b22a0f1',1,'divide_and_conquer::strassens_multiplication::Matrix::size()'],['../df/d8f/classothers_1_1_cache_1_1_l_f_u_cache.html#adbfb2ef7358423fdf1f49d410f55f195',1,'others::Cache::LFUCache::size()'],['../d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache.html#a1b709333874b4633ee02a3661cd042e1',1,'others::Cache::LRUCache::size()'],['../d8/d28/classrange__queries_1_1per_seg_tree.html#a0fe4e431f3e09c274ecd7d2d58dcb865',1,'range_queries::perSegTree::size()']]], - ['size_5f_146',['size_',['../d9/dde/classbinary__search__tree.html#a07ba32ce1a2af6e357600ac8c8e98dbc',1,'binary_search_tree']]], - ['size_5ft_147',['size_t',['http://en.cppreference.com/w/cpp/types/size_t.html',0,'std']]], - ['skip_5flist_2ecpp_148',['skip_list.cpp',['../d0/d5a/skip__list_8cpp.html',1,'']]], - ['skiplist_149',['SkipList',['../d4/d90/classdata__structures_1_1_skip_list.html',1,'data_structures::SkipList'],['../d4/d90/classdata__structures_1_1_skip_list.html#a7ffc3688725b9d1ec6e5bb881a6e2ae4',1,'data_structures::SkipList::SkipList()']]], - ['skipws_150',['skipws',['http://en.cppreference.com/w/cpp/io/manip/skipws.html',0,'std']]], - ['sleep_151',['SLEEP',['../dd/d92/memory__game_8cpp.html#a5bdc30951221eae9c33413ff9eb574f6',1,'memory_game.cpp']]], - ['sleep_5ffor_152',['sleep_for',['http://en.cppreference.com/w/cpp/thread/sleep_for.html',0,'std::this_thread']]], - ['sleep_5funtil_153',['sleep_until',['http://en.cppreference.com/w/cpp/thread/sleep_until.html',0,'std::this_thread']]], - ['slice_154',['slice',['../dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix.html#a1fcb7db9bdeabd874712ec4f00483d17',1,'divide_and_conquer::strassens_multiplication::Matrix']]], - ['smallest_5fcircle_2ecpp_155',['smallest_circle.cpp',['../d0/d01/smallest__circle_8cpp.html',1,'']]], - ['smatch_156',['smatch',['http://en.cppreference.com/w/cpp/regex/match_results.html',0,'std::smatch'],['http://en.cppreference.com/w/cpp/regex/match_results/match_results.html',0,'std::smatch::smatch()']]], - ['snextc_157',['snextc',['http://en.cppreference.com/w/cpp/io/basic_streambuf/snextc.html',0,'std::basic_filebuf::snextc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/snextc.html',0,'std::wstringbuf::snextc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/snextc.html',0,'std::stringbuf::snextc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/snextc.html',0,'std::wfilebuf::snextc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/snextc.html',0,'std::wstreambuf::snextc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/snextc.html',0,'std::strstreambuf::snextc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/snextc.html',0,'std::basic_stringbuf::snextc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/snextc.html',0,'std::basic_streambuf::snextc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/snextc.html',0,'std::filebuf::snextc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/snextc.html',0,'std::streambuf::snextc()']]], - ['snprintf_158',['snprintf',['http://en.cppreference.com/w/cpp/io/c/fprintf.html',0,'std']]], - ['solution_159',['Solution',['../dd/d4f/class_solution.html',1,'Solution'],['../da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search.html#a0a26aa9ad3d73707370d9fe83707aca4',1,'machine_learning::aystar_search::AyStarSearch::Solution()']]], - ['solve_160',['solve',['../d1/d2a/knight__tour_8cpp.html#aaa47356d98676cf5315d978f741e29c9',1,'backtracking::knight_tour']]], - ['solvemaze_161',['solveMaze',['../dc/d5a/rat__maze_8cpp.html#ab99107bfb4c6934cd4691868c66c0aa3',1,'backtracking::rat_maze']]], - ['solvenq_162',['solveNQ',['../d4/d3e/n__queens_8cpp.html#a0dbd7af47d87f0b956609fe9e3288ecb',1,'backtracking::n_queens']]], - ['solvesudoku_163',['solveSudoku',['../d3/d05/sudoku__solver_8cpp.html#ac911c8bca8556206ff64461b2424866b',1,'backtracking::sudoku_solver']]], - ['sort_164',['sort',['http://en.cppreference.com/w/cpp/container/forward_list/sort.html',0,'std::forward_list::sort()'],['http://en.cppreference.com/w/cpp/container/list/sort.html',0,'std::list::sort()'],['../d5/dab/structdata__structures_1_1list__array_1_1list.html#a133635ad53bd89e3947ca02448819180',1,'data_structures::list_array::list::sort()'],['http://en.cppreference.com/w/cpp/algorithm/sort.html',0,'std::sort()']]], - ['sort_20algorithm_20analysis_20best_20case_20worst_20case_20average_20case_165',['Bubble Sort Algorithm Analysis (Best Case - Worst Case - Average Case)',['../d8/d13/bubble__sort_8cpp.html#autotoc_md111',1,'']]], - ['sort_5fheap_166',['sort_heap',['http://en.cppreference.com/w/cpp/algorithm/sort_heap.html',0,'std']]], - ['sortcol_167',['sortcol',['../df/d47/fcfs__scheduling_8cpp.html#a18920aa331faf4476b251c8cdb2c2bec',1,'fcfs_scheduling.cpp']]], - ['sorting_168',['Sorting',['../d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md67',1,'']]], - ['sorting_169',['sorting',['../d5/d91/namespacesorting.html',1,'']]], - ['sorting_20algorithm_170',['Sorting Algorithm',['../d5/d4c/group__sorting.html',1,'']]], - ['sparse_5fmatrix_2ecpp_171',['sparse_matrix.cpp',['../d3/d19/sparse__matrix_8cpp.html',1,'']]], - ['sparse_5ftable_172',['Sparse_table',['../da/d37/structdata__structures_1_1sparse__table_1_1_sparse__table.html',1,'data_structures::sparse_table']]], - ['sparse_5ftable_173',['sparse_table',['../d9/d55/namespacesparse__table.html',1,'']]], - ['sparse_5ftable_2ecpp_174',['sparse_table.cpp',['../d8/dab/sparse__table_8cpp.html',1,'']]], - ['sphere_5fsurface_5farea_175',['sphere_surface_area',['../dd/d47/namespacemath.html#ab7f29862d30df351c317eedd60a0c656',1,'math']]], - ['sphere_5fvolume_176',['sphere_volume',['../dd/d47/namespacemath.html#a34d66a77c19ce9b8b3a3d14352b34551',1,'math']]], - ['spiral_5fprint_2ecpp_177',['spiral_print.cpp',['../db/d07/spiral__print_8cpp.html',1,'']]], - ['spiralprint_178',['spiralPrint',['../db/d07/spiral__print_8cpp.html#a850d3f55e1a8d227176cdcc67352c197',1,'spiral_print.cpp']]], - ['spirograph_179',['spirograph',['../da/dd3/namespacespirograph.html',1,'spirograph'],['../da/dd3/namespacespirograph.html#aeca22dbe4563358960e907a40cd3e1ac',1,'spirograph::spirograph()']]], - ['spirograph_2ecpp_180',['spirograph.cpp',['../da/d77/spirograph_8cpp.html',1,'']]], - ['splice_181',['splice',['http://en.cppreference.com/w/cpp/container/list/splice.html',0,'std::list']]], - ['splice_5fafter_182',['splice_after',['http://en.cppreference.com/w/cpp/container/forward_list/splice_after.html',0,'std::forward_list']]], - ['splitnode_183',['SplitNode',['../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a370b625ca9f16bbef2b65e024ef78ea9',1,'data_structures::tree_234::Tree234']]], - ['sprintf_184',['sprintf',['http://en.cppreference.com/w/cpp/io/c/fprintf.html',0,'std']]], - ['sputbackc_185',['sputbackc',['http://en.cppreference.com/w/cpp/io/basic_streambuf/sputbackc.html',0,'std::basic_filebuf::sputbackc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sputbackc.html',0,'std::wstringbuf::sputbackc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sputbackc.html',0,'std::stringbuf::sputbackc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sputbackc.html',0,'std::wfilebuf::sputbackc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sputbackc.html',0,'std::wstreambuf::sputbackc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sputbackc.html',0,'std::strstreambuf::sputbackc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sputbackc.html',0,'std::basic_stringbuf::sputbackc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sputbackc.html',0,'std::basic_streambuf::sputbackc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sputbackc.html',0,'std::filebuf::sputbackc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sputbackc.html',0,'std::streambuf::sputbackc()']]], - ['sputc_186',['sputc',['http://en.cppreference.com/w/cpp/io/basic_streambuf/sputc.html',0,'std::basic_filebuf::sputc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sputc.html',0,'std::wstringbuf::sputc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sputc.html',0,'std::stringbuf::sputc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sputc.html',0,'std::wfilebuf::sputc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sputc.html',0,'std::wstreambuf::sputc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sputc.html',0,'std::strstreambuf::sputc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sputc.html',0,'std::basic_stringbuf::sputc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sputc.html',0,'std::basic_streambuf::sputc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sputc.html',0,'std::filebuf::sputc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sputc.html',0,'std::streambuf::sputc()']]], - ['sputn_187',['sputn',['http://en.cppreference.com/w/cpp/io/basic_streambuf/sputn.html',0,'std::basic_filebuf::sputn()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sputn.html',0,'std::wstringbuf::sputn()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sputn.html',0,'std::stringbuf::sputn()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sputn.html',0,'std::wfilebuf::sputn()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sputn.html',0,'std::wstreambuf::sputn()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sputn.html',0,'std::strstreambuf::sputn()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sputn.html',0,'std::basic_stringbuf::sputn()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sputn.html',0,'std::basic_streambuf::sputn()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sputn.html',0,'std::filebuf::sputn()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sputn.html',0,'std::streambuf::sputn()']]], - ['sqrt_188',['Sqrt',['../da/d24/sqrt__double_8cpp.html#ae662282ad0740d2063ac404ca3bd74fc',1,'sqrt_double.cpp']]], - ['sqrt_189',['sqrt',['http://en.cppreference.com/w/cpp/numeric/math/sqrt.html',0,'std']]], - ['sqrt_5fdouble_2ecpp_190',['sqrt_double.cpp',['../da/d24/sqrt__double_8cpp.html',1,'']]], - ['square_191',['square',['../d2/d58/neural__network_8cpp.html#a45d3e30406712ada3d9713ece3c1b153',1,'machine_learning::neural_network::util_functions']]], - ['square_5farea_192',['square_area',['../dd/d47/namespacemath.html#a971ce57e368f2f631cf1f4ff3f864049',1,'math']]], - ['square_5fperimeter_193',['square_perimeter',['../dd/d47/namespacemath.html#a9236348755183644f1225e162d01ab14',1,'math']]], - ['srand_194',['srand',['http://en.cppreference.com/w/cpp/numeric/random/srand.html',0,'std']]], - ['sregex_5fiterator_195',['sregex_iterator',['http://en.cppreference.com/w/cpp/regex/regex_iterator.html',0,'std::sregex_iterator'],['http://en.cppreference.com/w/cpp/regex/regex_iterator/regex_iterator.html',0,'std::sregex_iterator::sregex_iterator()']]], - ['sregex_5ftoken_5fiterator_196',['sregex_token_iterator',['http://en.cppreference.com/w/cpp/regex/regex_token_iterator.html',0,'std::sregex_token_iterator'],['http://en.cppreference.com/w/cpp/regex/regex_token_iterator/regex_token_iterator.html',0,'std::sregex_token_iterator::sregex_token_iterator()']]], - ['sret_5finit_197',['sret_init',['../d9/d35/classrange__queries_1_1heavy__light__decomposition_1_1_s_g.html#aa7f93971a9f891e0bbb7023081f379d5',1,'range_queries::heavy_light_decomposition::SG']]], - ['sscanf_198',['sscanf',['http://en.cppreference.com/w/cpp/io/c/fscanf.html',0,'std']]], - ['ssub_5fmatch_199',['ssub_match',['http://en.cppreference.com/w/cpp/regex/sub_match.html',0,'std::ssub_match'],['http://en.cppreference.com/w/cpp/regex/sub_match/sub_match.html',0,'std::ssub_match::ssub_match()']]], - ['st_200',['ST',['../da/d37/structdata__structures_1_1sparse__table_1_1_sparse__table.html#ad36b9a20fed47b068e407008c04e9f81',1,'data_structures::sparse_table::Sparse_table']]], - ['stable_5fpartition_201',['stable_partition',['http://en.cppreference.com/w/cpp/algorithm/stable_partition.html',0,'std']]], - ['stable_5fsort_202',['stable_sort',['http://en.cppreference.com/w/cpp/algorithm/stable_sort.html',0,'std']]], - ['stack_203',['Stack',['../d2/dc8/classdata__structures_1_1_stack.html',1,'data_structures::Stack< T >'],['../db/d5b/structdata__structures_1_1stack__using__queue_1_1_stack.html',1,'data_structures::stack_using_queue::Stack'],['../d5/d8a/classothers_1_1postfix__expression_1_1_stack.html',1,'others::postfix_expression::Stack'],['../d2/dc8/classdata__structures_1_1_stack.html#a8cb0602c8a9c1603d0315938177ecc6a',1,'data_structures::Stack::Stack()']]], - ['stack_204',['stack',['../d1/dc2/classstack.html',1,'stack< ValueType >'],['http://en.cppreference.com/w/cpp/container/stack.html',0,'std::stack< T >'],['../d2/dc8/classdata__structures_1_1_stack.html#a3f912a0e9bed5b24b206584e3010dce3',1,'data_structures::Stack::stack'],['../d5/d8a/classothers_1_1postfix__expression_1_1_stack.html#af06360122e20ce2ba32c574a27a20ba1',1,'others::postfix_expression::Stack::stack'],['http://en.cppreference.com/w/cpp/container/stack/stack.html',0,'std::stack::stack()'],['../dc/dc5/paranthesis__matching_8cpp.html#aa37d24a036d239b3b528f13b9de880c7',1,'stack: paranthesis_matching.cpp']]], - ['stack_2ehpp_205',['stack.hpp',['../df/d47/stack_8hpp.html',1,'']]], - ['stack_5fidx_206',['stack_idx',['../dc/dc5/paranthesis__matching_8cpp.html#af4c937d823c412d99fbe60c99dbf0a4f',1,'paranthesis_matching.cpp']]], - ['stack_5flinkedlist_207',['stack_linkedList',['../d2/dc4/classstack__linked_list.html',1,'']]], - ['stack_5fusing_5fqueue_208',['stack_using_queue',['../df/d1c/namespacestack__using__queue.html',1,'']]], - ['stackindex_209',['stackIndex',['../d2/dc8/classdata__structures_1_1_stack.html#a71afc94746d47fb2c0c4fa4b612edee6',1,'data_structures::Stack']]], - ['stacksize_210',['stackSize',['../d2/dc8/classdata__structures_1_1_stack.html#a88a10062c0662a385f172669f2f19b86',1,'data_structures::Stack']]], - ['stacktop_211',['stackTop',['../d1/dc2/classstack.html#aefb3dac828e32b4ec014ff4b5d43a6b8',1,'stack::stackTop'],['../d5/d8a/classothers_1_1postfix__expression_1_1_stack.html#a6ae98710503b894b843d01cb69d5490c',1,'others::postfix_expression::Stack::stackTop']]], - ['stairs_5fpattern_2ecpp_212',['stairs_pattern.cpp',['../d5/def/stairs__pattern_8cpp.html',1,'']]], - ['standard_5fdeviation_213',['standard_deviation',['../da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution.html#a0a10c512e13dd3a052e1c6d7f4d6f0f2',1,'probability::geometric_dist::geometric_distribution']]], - ['standard_5finvsqrt_214',['Standard_InvSqrt',['../d6/db8/inv__sqrt_8cpp.html#aa2703e5cf3fecde8becd9066b9666b97',1,'inv_sqrt.cpp']]], - ['standards_215',['Our Standards',['../d3/dd7/md__c_o_d_e___o_f___c_o_n_d_u_c_t.html#autotoc_md6',1,'']]], - ['startwith_216',['startwith',['../d3/d26/classdata__structures_1_1trie__using__hashmap_1_1_trie.html#af3aee573fbabd2c1510c0f74f842dd17',1,'data_structures::trie_using_hashmap::Trie']]], - ['state_217',['state',['http://en.cppreference.com/w/cpp/locale/wbuffer_convert/state.html',0,'std::wbuffer_convert::state()'],['http://en.cppreference.com/w/cpp/locale/wstring_convert/state.html',0,'std::wstring_convert::state()'],['http://en.cppreference.com/w/cpp/io/fpos/state.html',0,'std::wstreampos::state()'],['http://en.cppreference.com/w/cpp/io/fpos/state.html',0,'std::u16streampos::state()'],['http://en.cppreference.com/w/cpp/io/fpos/state.html',0,'std::streampos::state()'],['http://en.cppreference.com/w/cpp/io/fpos/state.html',0,'std::fpos::state()'],['http://en.cppreference.com/w/cpp/io/fpos/state.html',0,'std::u32streampos::state()']]], - ['state_5ftype_218',['state_type',['http://en.cppreference.com/w/cpp/locale/codecvt.html',0,'std::codecvt::state_type'],['http://en.cppreference.com/w/cpp/locale/codecvt.html',0,'std::codecvt_byname::state_type'],['http://en.cppreference.com/w/cpp/locale/codecvt.html',0,'std::codecvt_utf16::state_type'],['http://en.cppreference.com/w/cpp/locale/codecvt.html',0,'std::codecvt_utf8::state_type'],['http://en.cppreference.com/w/cpp/locale/codecvt.html',0,'std::codecvt_utf8_utf16::state_type']]], - ['static_20code_20analyzer_219',['Static Code Analyzer',['../d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md38',1,'']]], - ['static_5fpointer_5fcast_220',['static_pointer_cast',['http://en.cppreference.com/w/cpp/memory/shared_ptr/pointer_cast.html',0,'std']]], - ['statistics_221',['statistics',['../d2/dcf/namespacestatistics.html',1,'']]], - ['stats_5fcomputer1_222',['stats_computer1',['../d7/d7c/classstatistics_1_1stats__computer1.html',1,'statistics']]], - ['stats_5fcomputer2_223',['stats_computer2',['../d8/dab/classstatistics_1_1stats__computer2.html',1,'statistics']]], - ['std_224',['std',['../d8/dcc/namespacestd.html',1,'std'],['../d7/d7c/classstatistics_1_1stats__computer1.html#af57e942d49f4fd70f059f224b4ac07e1',1,'statistics::stats_computer1::std()'],['../d8/dab/classstatistics_1_1stats__computer2.html#acf2e84df4fc386bb3295016ef8fd156e',1,'statistics::stats_computer2::std()']]], - ['std_3a_3achrono_225',['chrono',['http://en.cppreference.com/w/d4/d0c/namespacestd_1_1chrono.html',0,'std']]], - ['std_3a_3aexperimental_226',['experimental',['http://en.cppreference.com/w/de/d97/namespacestd_1_1experimental.html',0,'std']]], - ['std_3a_3aregex_5fconstants_227',['regex_constants',['http://en.cppreference.com/w/db/da4/namespacestd_1_1regex__constants.html',0,'std']]], - ['std_3a_3arel_5fops_228',['rel_ops',['http://en.cppreference.com/w/da/d42/namespacestd_1_1rel__ops.html',0,'std']]], - ['std_3a_3athis_5fthread_229',['this_thread',['http://en.cppreference.com/w/d7/dbf/namespacestd_1_1this__thread.html',0,'std']]], - ['stddev_230',['stddev',['http://en.cppreference.com/w/cpp/numeric/random/normal_distribution/params.html',0,'std::normal_distribution']]], - ['steady_5fclock_231',['steady_clock',['http://en.cppreference.com/w/cpp/chrono/steady_clock.html',0,'std::chrono']]], - ['step_5fith_232',['step_ith',['../d8/d61/radix__sort2_8cpp.html#a98ead7d43b11505398daf9a894f122f9',1,'sorting::radix_sort']]], - ['stod_233',['stod',['http://en.cppreference.com/w/cpp/string/basic_string/stof.html',0,'std']]], - ['stof_234',['stof',['http://en.cppreference.com/w/cpp/string/basic_string/stof.html',0,'std']]], - ['stoi_235',['stoi',['http://en.cppreference.com/w/cpp/string/basic_string/stol.html',0,'std']]], - ['stol_236',['stol',['http://en.cppreference.com/w/cpp/string/basic_string/stol.html',0,'std']]], - ['stold_237',['stold',['http://en.cppreference.com/w/cpp/string/basic_string/stof.html',0,'std']]], - ['stoll_238',['stoll',['http://en.cppreference.com/w/cpp/string/basic_string/stol.html',0,'std']]], - ['stooge_5fsort_2ecpp_239',['stooge_sort.cpp',['../d4/d4f/stooge__sort_8cpp.html',1,'']]], - ['stoogesort_240',['stoogeSort',['../d4/d4f/stooge__sort_8cpp.html#ac23852832437dc68327efe9b1da2d91b',1,'stooge_sort.cpp']]], - ['store_241',['store',['http://en.cppreference.com/w/cpp/atomic/atomic/store.html',0,'std::atomic']]], - ['store_20the_20address_20of_20parent_20nodes_242',['Method 1: Use parent pointer (store the address of parent nodes)',['../d4/d32/inorder__successor__of__bst_8cpp.html#autotoc_md91',1,'']]], - ['stoul_243',['stoul',['http://en.cppreference.com/w/cpp/string/basic_string/stoul.html',0,'std']]], - ['stoull_244',['stoull',['http://en.cppreference.com/w/cpp/string/basic_string/stoul.html',0,'std']]], - ['str_245',['str',['http://en.cppreference.com/w/cpp/regex/match_results/str.html',0,'std::match_results::str()'],['http://en.cppreference.com/w/cpp/io/basic_ostringstream/str.html',0,'std::basic_ostringstream::str()'],['http://en.cppreference.com/w/cpp/io/basic_stringbuf/str.html',0,'std::wstringbuf::str()'],['http://en.cppreference.com/w/cpp/regex/match_results/str.html',0,'std::wsmatch::str()'],['http://en.cppreference.com/w/cpp/regex/sub_match/str.html',0,'std::wcsub_match::str()'],['http://en.cppreference.com/w/cpp/io/basic_ostringstream/str.html',0,'std::ostringstream::str()'],['http://en.cppreference.com/w/cpp/io/basic_stringbuf/str.html',0,'std::stringbuf::str()'],['http://en.cppreference.com/w/cpp/regex/match_results/str.html',0,'std::smatch::str()'],['http://en.cppreference.com/w/cpp/io/basic_stringstream/str.html',0,'std::stringstream::str()'],['http://en.cppreference.com/w/cpp/io/strstreambuf/str.html',0,'std::strstreambuf::str()'],['http://en.cppreference.com/w/cpp/regex/match_results/str.html',0,'std::wcmatch::str()'],['http://en.cppreference.com/w/cpp/regex/sub_match/str.html',0,'std::wssub_match::str()'],['http://en.cppreference.com/w/cpp/regex/sub_match/str.html',0,'std::csub_match::str()'],['http://en.cppreference.com/w/cpp/io/basic_stringbuf/str.html',0,'std::basic_stringbuf::str()'],['http://en.cppreference.com/w/cpp/regex/sub_match/str.html',0,'std::ssub_match::str()'],['http://en.cppreference.com/w/cpp/io/strstream/str.html',0,'std::strstream::str()'],['http://en.cppreference.com/w/cpp/io/basic_stringstream/str.html',0,'std::basic_stringstream::str()'],['http://en.cppreference.com/w/cpp/io/basic_ostringstream/str.html',0,'std::wostringstream::str()'],['http://en.cppreference.com/w/cpp/io/istrstream/str.html',0,'std::istrstream::str()'],['http://en.cppreference.com/w/cpp/io/basic_istringstream/str.html',0,'std::basic_istringstream::str()'],['http://en.cppreference.com/w/cpp/regex/match_results/str.html',0,'std::cmatch::str()'],['http://en.cppreference.com/w/cpp/io/basic_istringstream/str.html',0,'std::istringstream::str()'],['http://en.cppreference.com/w/cpp/io/ostrstream/str.html',0,'std::ostrstream::str()'],['http://en.cppreference.com/w/cpp/io/basic_stringstream/str.html',0,'std::wstringstream::str()'],['http://en.cppreference.com/w/cpp/io/basic_istringstream/str.html',0,'std::wistringstream::str()'],['http://en.cppreference.com/w/cpp/regex/sub_match/str.html',0,'std::sub_match::str()']]], - ['strand_246',['strand',['../d8/d1d/namespacestrand.html',1,'']]], - ['strand_5fsort_247',['strand_sort',['../dc/dd9/strand__sort_8cpp.html#a2bea2fe5dd38ed63610fdeaddf5785cd',1,'sorting::strand']]], - ['strand_5fsort_2ecpp_248',['strand_sort.cpp',['../dc/dd9/strand__sort_8cpp.html',1,'']]], - ['strassens_5fmultiplication_249',['strassens_multiplication',['../d3/d91/namespacestrassens__multiplication.html',1,'strassens_multiplication'],['../dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix.html#a87c2ed8f19bda2ad21ee4cbed32c394a',1,'divide_and_conquer::strassens_multiplication::Matrix::strassens_multiplication()']]], - ['strcat_250',['strcat',['http://en.cppreference.com/w/cpp/string/byte/strcat.html',0,'std']]], - ['strchr_251',['strchr',['http://en.cppreference.com/w/cpp/string/byte/strchr.html',0,'std']]], - ['strcmp_252',['strcmp',['http://en.cppreference.com/w/cpp/string/byte/strcmp.html',0,'std']]], - ['strcoll_253',['strcoll',['http://en.cppreference.com/w/cpp/string/byte/strcoll.html',0,'std']]], - ['strcpy_254',['strcpy',['http://en.cppreference.com/w/cpp/string/byte/strcpy.html',0,'std']]], - ['strcspn_255',['strcspn',['http://en.cppreference.com/w/cpp/string/byte/strcspn.html',0,'std']]], - ['streambuf_256',['streambuf',['http://en.cppreference.com/w/cpp/io/basic_streambuf.html',0,'std::streambuf'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/basic_streambuf.html',0,'std::streambuf::streambuf()']]], - ['streamoff_257',['streamoff',['http://en.cppreference.com/w/cpp/io/streamoff.html',0,'std']]], - ['streampos_258',['streampos',['http://en.cppreference.com/w/cpp/io/fpos.html',0,'std']]], - ['streamsize_259',['streamsize',['http://en.cppreference.com/w/cpp/io/streamsize.html',0,'std']]], - ['strerror_260',['strerror',['http://en.cppreference.com/w/cpp/string/byte/strerror.html',0,'std']]], - ['strftime_261',['strftime',['http://en.cppreference.com/w/cpp/chrono/c/strftime.html',0,'std']]], - ['string_262',['string',['http://en.cppreference.com/w/cpp/string/basic_string.html',0,'std::string'],['../d6/dd6/namespacestring.html',1,'string'],['http://en.cppreference.com/w/cpp/string/basic_string/basic_string.html',0,'std::string::string()']]], - ['string_5ffibonacci_2ecpp_263',['string_fibonacci.cpp',['../de/d47/string__fibonacci_8cpp.html',1,'']]], - ['string_5fsearch_264',['string_search',['../d9/d03/namespacestring__search.html',1,'']]], - ['string_5ftype_265',['string_type',['http://en.cppreference.com/w/cpp/locale/collate.html',0,'std::collate::string_type'],['http://en.cppreference.com/w/cpp/locale/collate.html',0,'std::collate_byname::string_type'],['http://en.cppreference.com/w/cpp/locale/messages.html',0,'std::messages::string_type'],['http://en.cppreference.com/w/cpp/locale/messages.html',0,'std::messages_byname::string_type'],['http://en.cppreference.com/w/cpp/locale/money_get.html',0,'std::money_get::string_type'],['http://en.cppreference.com/w/cpp/locale/money_put.html',0,'std::money_put::string_type'],['http://en.cppreference.com/w/cpp/locale/moneypunct.html',0,'std::moneypunct::string_type'],['http://en.cppreference.com/w/cpp/locale/moneypunct.html',0,'std::moneypunct_byname::string_type'],['http://en.cppreference.com/w/cpp/locale/numpunct.html',0,'std::numpunct::string_type'],['http://en.cppreference.com/w/cpp/locale/numpunct.html',0,'std::numpunct_byname::string_type']]], - ['stringbuf_266',['stringbuf',['http://en.cppreference.com/w/cpp/io/basic_stringbuf.html',0,'std::stringbuf'],['http://en.cppreference.com/w/cpp/io/basic_stringbuf/basic_stringbuf.html',0,'std::stringbuf::stringbuf()']]], - ['strings_267',['Strings',['../d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md68',1,'']]], - ['strings_268',['strings',['../df/dcb/namespacestrings.html',1,'']]], - ['strings_3a_3aboyer_5fmoore_269',['boyer_moore',['../d0/dbc/namespacestrings_1_1boyer__moore.html',1,'strings']]], - ['stringstream_270',['stringstream',['http://en.cppreference.com/w/cpp/io/basic_stringstream.html',0,'std::stringstream'],['http://en.cppreference.com/w/cpp/io/basic_stringstream/basic_stringstream.html',0,'std::stringstream::stringstream()']]], - ['strkey_271',['STRKEY',['../d6/d4e/namespaceciphers.html#ab9aec0ccf4b6809f652bb540be87c216',1,'ciphers']]], - ['strlen_272',['strlen',['http://en.cppreference.com/w/cpp/string/byte/strlen.html',0,'std']]], - ['strncat_273',['strncat',['http://en.cppreference.com/w/cpp/string/byte/strncat.html',0,'std']]], - ['strncmp_274',['strncmp',['http://en.cppreference.com/w/cpp/string/byte/strncmp.html',0,'std']]], - ['strncpy_275',['strncpy',['http://en.cppreference.com/w/cpp/string/byte/strncpy.html',0,'std']]], - ['strpbrk_276',['strpbrk',['http://en.cppreference.com/w/cpp/string/byte/strpbrk.html',0,'std']]], - ['strrchr_277',['strrchr',['http://en.cppreference.com/w/cpp/string/byte/strrchr.html',0,'std']]], - ['strspn_278',['strspn',['http://en.cppreference.com/w/cpp/string/byte/strspn.html',0,'std']]], - ['strstr_279',['strstr',['http://en.cppreference.com/w/cpp/string/byte/strstr.html',0,'std']]], - ['strstream_280',['strstream',['http://en.cppreference.com/w/cpp/io/strstream.html',0,'std::strstream'],['http://en.cppreference.com/w/cpp/io/strstream/strstream.html',0,'std::strstream::strstream()']]], - ['strstreambuf_281',['strstreambuf',['http://en.cppreference.com/w/cpp/io/strstreambuf.html',0,'std::strstreambuf'],['http://en.cppreference.com/w/cpp/io/strstreambuf/strstreambuf.html',0,'std::strstreambuf::strstreambuf()']]], - ['strtod_282',['strtod',['http://en.cppreference.com/w/cpp/string/byte/strtof.html',0,'std']]], - ['strtof_283',['strtof',['http://en.cppreference.com/w/cpp/string/byte/strtof.html',0,'std']]], - ['strtoimax_284',['strtoimax',['http://en.cppreference.com/w/cpp/string/byte/strtoimax.html',0,'std']]], - ['strtok_285',['strtok',['http://en.cppreference.com/w/cpp/string/byte/strtok.html',0,'std']]], - ['strtol_286',['strtol',['http://en.cppreference.com/w/cpp/string/byte/strtol.html',0,'std']]], - ['strtold_287',['strtold',['http://en.cppreference.com/w/cpp/string/byte/strtof.html',0,'std']]], - ['strtoll_288',['strtoll',['http://en.cppreference.com/w/cpp/string/byte/strtol.html',0,'std']]], - ['strtoul_289',['strtoul',['http://en.cppreference.com/w/cpp/string/byte/strtoul.html',0,'std']]], - ['strtoull_290',['strtoull',['http://en.cppreference.com/w/cpp/string/byte/strtoul.html',0,'std']]], - ['strtoumax_291',['strtoumax',['http://en.cppreference.com/w/cpp/string/byte/strtoimax.html',0,'std']]], - ['structure_20of_20a_20program_292',['Typical structure of a program',['../d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md31',1,'']]], - ['structure_20used_293',['Data Structure used',['../d3/db3/lru__cache_8cpp.html#autotoc_md98',1,'']]], - ['structures_294',['Data Structures',['../d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md49',1,'']]], - ['struzik_5fsearch_295',['struzik_search',['../d8/d8a/exponential__search_8cpp.html#af421bf4b7b95f20ac86c233adfdb9208',1,'exponential_search.cpp']]], - ['strxfrm_296',['strxfrm',['http://en.cppreference.com/w/cpp/string/byte/strxfrm.html',0,'std']]], - ['student_5ft_5fdistribution_297',['student_t_distribution',['http://en.cppreference.com/w/cpp/numeric/random/student_t_distribution.html',0,'std::student_t_distribution'],['http://en.cppreference.com/w/cpp/numeric/random/student_t_distribution/student_t_distribution.html',0,'std::student_t_distribution::student_t_distribution()']]], - ['style_20convention_298',['Code style convention',['../dc/d64/md__coding_guidelines.html',1,'']]], - ['style_20conventions_299',['Code style conventions',['../dc/d64/md__coding_guidelines.html#autotoc_md20',1,'']]], - ['sub_5fmatch_300',['sub_match',['http://en.cppreference.com/w/cpp/regex/sub_match.html',0,'std::sub_match'],['http://en.cppreference.com/w/cpp/regex/sub_match/sub_match.html',0,'std::sub_match::sub_match()']]], - ['subarray_5fsum_301',['subarray_sum',['../df/d74/namespacesubarray__sum.html',1,'subarray_sum'],['../df/d94/subarray__sum_8cpp.html#af5687bbd9faf927fbd363c71e0baba5e',1,'backtracking::subarray_sum::subarray_sum()']]], - ['subarray_5fsum_2ecpp_302',['subarray_sum.cpp',['../df/d94/subarray__sum_8cpp.html',1,'']]], - ['sublist_5fsearch_303',['sublist_search',['../d9/def/namespacesublist__search.html',1,'']]], - ['sublist_5fsearch_2ecpp_304',['sublist_search.cpp',['../d5/d45/sublist__search_8cpp.html',1,'']]], - ['sublistsearch_305',['sublistSearch',['../d5/d45/sublist__search_8cpp.html#a4faee403e2758aaab682ed6622ae218c',1,'search::sublist_search']]], - ['subset_5fsum_306',['subset_sum',['../dc/d3a/namespacesubset__sum.html',1,'']]], - ['subset_5fsum_2ecpp_307',['subset_sum.cpp',['../d2/d5a/subset__sum_8cpp.html',1,'']]], - ['subset_5fsum_5fdynamic_2ecpp_308',['subset_sum_dynamic.cpp',['../dc/d67/subset__sum__dynamic_8cpp.html',1,'']]], - ['subset_5fsum_5fproblem_309',['subset_sum_problem',['../dc/d67/subset__sum__dynamic_8cpp.html#ac94e6c0dee11278ac0a5491f1b9a4a50',1,'dynamic_programming::subset_sum']]], - ['subset_5fsum_5frecursion_310',['subset_sum_recursion',['../dc/d67/subset__sum__dynamic_8cpp.html#a280fcfb2f6fe49a31c4da572e7032607',1,'dynamic_programming::subset_sum']]], - ['subsets_311',['Subsets',['../de/d95/namespace_subsets.html',1,'']]], - ['substr_312',['substr',['http://en.cppreference.com/w/cpp/string/basic_string/substr.html',0,'std::string::substr()'],['http://en.cppreference.com/w/cpp/string/basic_string/substr.html',0,'std::basic_string::substr()'],['http://en.cppreference.com/w/cpp/string/basic_string/substr.html',0,'std::wstring::substr()'],['http://en.cppreference.com/w/cpp/string/basic_string/substr.html',0,'std::u16string::substr()'],['http://en.cppreference.com/w/cpp/string/basic_string/substr.html',0,'std::u32string::substr()']]], - ['subtract_5fwith_5fcarry_5fengine_313',['subtract_with_carry_engine',['http://en.cppreference.com/w/cpp/numeric/random/subtract_with_carry_engine.html',0,'std::subtract_with_carry_engine'],['http://en.cppreference.com/w/cpp/numeric/random/subtract_with_carry_engine/subtract_with_carry_engine.html',0,'std::subtract_with_carry_engine::subtract_with_carry_engine()']]], - ['subtree_314',['subtree',['../d4/d32/inorder__successor__of__bst_8cpp.html#autotoc_md89',1,'Case 1: The given node has the right node/subtree'],['../d4/d32/inorder__successor__of__bst_8cpp.html#autotoc_md90',1,'Case 2: The given node does not have a right node/subtree']]], - ['succ_315',['succ',['../de/d9d/classdata__structures_1_1linked__list_1_1link.html#af6bbeb9bfde1683ba917071edeedd5c3',1,'data_structures::linked_list::link']]], - ['successive_5fapproximation_2ecpp_316',['successive_approximation.cpp',['../df/dc8/successive__approximation_8cpp.html',1,'']]], - ['sudoku_5fsolver_317',['sudoku_solver',['../d8/d9f/namespacesudoku__solver.html',1,'']]], - ['sudoku_5fsolver_2ecpp_318',['sudoku_solver.cpp',['../d3/d05/sudoku__solver_8cpp.html',1,'']]], - ['suffix_319',['suffix',['http://en.cppreference.com/w/cpp/regex/match_results/suffix.html',0,'std::match_results::suffix()'],['http://en.cppreference.com/w/cpp/regex/match_results/suffix.html',0,'std::wsmatch::suffix()'],['http://en.cppreference.com/w/cpp/regex/match_results/suffix.html',0,'std::smatch::suffix()'],['http://en.cppreference.com/w/cpp/regex/match_results/suffix.html',0,'std::wcmatch::suffix()'],['http://en.cppreference.com/w/cpp/regex/match_results/suffix.html',0,'std::cmatch::suffix()']]], - ['suggestautocomplete_320',['SuggestAutocomplete',['../d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html#a097913c4badec2b60d50a171ecc299fe',1,'operations_on_datastructures::trie_operations::Tnode']]], - ['suggestfreqautocomplete_321',['SuggestFreqAutocomplete',['../d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html#a9e556f52c837190ecf4265b1f05cfe9c',1,'operations_on_datastructures::trie_operations::Tnode']]], - ['sum_322',['sum',['../de/d0d/classrange__queries_1_1fenwick__tree.html#a1fa0559d987fde0044761b17b35f5abd',1,'range_queries::fenwick_tree::sum()'],['../d8/d77/namespacemachine__learning.html#a6f1c98c016ad34ff3d9f39372161bd35',1,'machine_learning::sum()']]], - ['sum_5fof_5fbinomial_5fcoefficient_2ecpp_323',['sum_of_binomial_coefficient.cpp',['../d4/d9d/sum__of__binomial__coefficient_8cpp.html',1,'']]], - ['sum_5fof_5fdigits_324',['sum_of_digits',['../d4/d83/sum__of__digits_8cpp.html#a4619c78b6ad985713024f930f31c4395',1,'sum_of_digits.cpp']]], - ['sum_5fof_5fdigits_2ecpp_325',['sum_of_digits.cpp',['../d4/d83/sum__of__digits_8cpp.html',1,'']]], - ['sum_5fof_5fdivisor_326',['sum_of_divisor',['../dd/d47/namespacemath.html#af05567415a9ea36c254b54e3d5a2152a',1,'math']]], - ['sum_5frange_327',['sum_range',['../de/d0d/classrange__queries_1_1fenwick__tree.html#a0914a4b1401a7c427de91c92885724fe',1,'range_queries::fenwick_tree']]], - ['summary_328',['summary',['../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#a61d30113d13304c664057118b92a5931',1,'machine_learning::neural_network::NeuralNetwork']]], - ['sungetc_329',['sungetc',['http://en.cppreference.com/w/cpp/io/basic_streambuf/sungetc.html',0,'std::basic_filebuf::sungetc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sungetc.html',0,'std::wstringbuf::sungetc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sungetc.html',0,'std::stringbuf::sungetc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sungetc.html',0,'std::wfilebuf::sungetc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sungetc.html',0,'std::wstreambuf::sungetc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sungetc.html',0,'std::strstreambuf::sungetc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sungetc.html',0,'std::basic_stringbuf::sungetc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sungetc.html',0,'std::basic_streambuf::sungetc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sungetc.html',0,'std::filebuf::sungetc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sungetc.html',0,'std::streambuf::sungetc()']]], - ['swap_330',['swap',['http://en.cppreference.com/w/cpp/io/basic_ios/swap.html',0,'std::basic_ofstream::swap()'],['http://en.cppreference.com/w/cpp/io/basic_ios/swap.html',0,'std::fstream::swap()'],['http://en.cppreference.com/w/cpp/container/vector/swap.html',0,'std::vector::swap()'],['http://en.cppreference.com/w/cpp/regex/match_results/swap.html',0,'std::match_results::swap()'],['http://en.cppreference.com/w/cpp/container/multiset/swap.html',0,'std::multiset::swap()'],['http://en.cppreference.com/w/cpp/memory/weak_ptr/swap.html',0,'std::weak_ptr::swap()'],['http://en.cppreference.com/w/cpp/string/basic_string/swap.html',0,'std::string::swap()'],['http://en.cppreference.com/w/cpp/io/basic_ios/swap.html',0,'std::wostream::swap()'],['http://en.cppreference.com/w/cpp/container/set/swap.html',0,'std::set::swap()'],['http://en.cppreference.com/w/cpp/thread/unique_lock/swap.html',0,'std::unique_lock::swap()'],['http://en.cppreference.com/w/cpp/io/basic_ios/swap.html',0,'std::basic_ostringstream::swap()'],['http://en.cppreference.com/w/cpp/regex/basic_regex/swap.html',0,'std::regex::swap()'],['http://en.cppreference.com/w/cpp/container/unordered_map/swap.html',0,'std::unordered_map::swap()'],['http://en.cppreference.com/w/cpp/regex/basic_regex/swap.html',0,'std::basic_regex::swap()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/swap.html',0,'std::basic_filebuf::swap()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/swap.html',0,'std::wstringbuf::swap()'],['http://en.cppreference.com/w/cpp/io/basic_ios/swap.html',0,'std::basic_ios::swap()'],['http://en.cppreference.com/w/cpp/regex/match_results/swap.html',0,'std::wsmatch::swap()'],['http://en.cppreference.com/w/cpp/utility/tuple/swap.html',0,'std::tuple::swap()'],['http://en.cppreference.com/w/cpp/memory/shared_ptr/swap.html',0,'std::shared_ptr::swap()'],['http://en.cppreference.com/w/cpp/io/basic_ios/swap.html',0,'std::ostringstream::swap()'],['http://en.cppreference.com/w/cpp/io/basic_ios/swap.html',0,'std::basic_fstream::swap()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/swap.html',0,'std::stringbuf::swap()'],['http://en.cppreference.com/w/cpp/regex/basic_regex/swap.html',0,'std::wregex::swap()'],['http://en.cppreference.com/w/cpp/regex/match_results/swap.html',0,'std::smatch::swap()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/swap.html',0,'std::wfilebuf::swap()'],['http://en.cppreference.com/w/cpp/io/basic_ios/swap.html',0,'std::iostream::swap()'],['http://en.cppreference.com/w/cpp/container/stack/swap.html',0,'std::stack::swap()'],['http://en.cppreference.com/w/cpp/io/basic_ios/swap.html',0,'std::wistream::swap()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/swap.html',0,'std::wstreambuf::swap()'],['http://en.cppreference.com/w/cpp/io/basic_ios/swap.html',0,'std::stringstream::swap()'],['http://en.cppreference.com/w/cpp/container/unordered_multimap/swap.html',0,'std::unordered_multimap::swap()'],['http://en.cppreference.com/w/cpp/memory/unique_ptr/swap.html',0,'std::unique_ptr::swap()'],['http://en.cppreference.com/w/cpp/container/forward_list/swap.html',0,'std::forward_list::swap()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/swap.html',0,'std::strstreambuf::swap()'],['http://en.cppreference.com/w/cpp/io/basic_ios/swap.html',0,'std::ostream::swap()'],['http://en.cppreference.com/w/cpp/thread/shared_lock/swap.html',0,'std::shared_lock::swap()'],['http://en.cppreference.com/w/cpp/regex/match_results/swap.html',0,'std::wcmatch::swap()'],['http://en.cppreference.com/w/cpp/utility/pair/swap.html',0,'std::pair::swap()'],['http://en.cppreference.com/w/cpp/io/basic_ios/swap.html',0,'std::wifstream::swap()'],['http://en.cppreference.com/w/cpp/io/basic_ios/swap.html',0,'std::basic_istream::swap()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/swap.html',0,'std::basic_stringbuf::swap()'],['http://en.cppreference.com/w/cpp/container/deque/swap.html',0,'std::deque::swap()'],['http://en.cppreference.com/w/cpp/thread/promise/swap.html',0,'std::promise::swap()'],['http://en.cppreference.com/w/cpp/io/basic_ios/swap.html',0,'std::strstream::swap()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/swap.html',0,'std::basic_streambuf::swap()'],['http://en.cppreference.com/w/cpp/container/queue/swap.html',0,'std::queue::swap()'],['http://en.cppreference.com/w/cpp/io/basic_ios/swap.html',0,'std::basic_stringstream::swap()'],['http://en.cppreference.com/w/cpp/thread/thread/swap.html',0,'std::thread::swap()'],['http://en.cppreference.com/w/cpp/string/basic_string/swap.html',0,'std::basic_string::swap()'],['http://en.cppreference.com/w/cpp/container/priority_queue/swap.html',0,'std::priority_queue::swap()'],['http://en.cppreference.com/w/cpp/io/basic_ios/swap.html',0,'std::wostringstream::swap()'],['http://en.cppreference.com/w/cpp/string/basic_string/swap.html',0,'std::wstring::swap()'],['http://en.cppreference.com/w/cpp/io/basic_ios/swap.html',0,'std::istrstream::swap()'],['http://en.cppreference.com/w/cpp/container/unordered_multiset/swap.html',0,'std::unordered_multiset::swap()'],['http://en.cppreference.com/w/cpp/io/basic_ios/swap.html',0,'std::basic_ostream::swap()'],['http://en.cppreference.com/w/cpp/utility/functional/function/swap.html',0,'std::function::swap()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/swap.html',0,'std::filebuf::swap()'],['http://en.cppreference.com/w/cpp/string/basic_string/swap.html',0,'std::u16string::swap()'],['http://en.cppreference.com/w/cpp/io/basic_ios/swap.html',0,'std::wiostream::swap()'],['http://en.cppreference.com/w/cpp/string/basic_string/swap.html',0,'std::u32string::swap()'],['http://en.cppreference.com/w/cpp/io/basic_ios/swap.html',0,'std::ofstream::swap()'],['http://en.cppreference.com/w/cpp/io/basic_ios/swap.html',0,'std::basic_istringstream::swap()'],['http://en.cppreference.com/w/cpp/io/basic_ios/swap.html',0,'std::basic_ifstream::swap()'],['http://en.cppreference.com/w/cpp/container/list/swap.html',0,'std::list::swap()'],['http://en.cppreference.com/w/cpp/container/map/swap.html',0,'std::map::swap()'],['http://en.cppreference.com/w/cpp/regex/match_results/swap.html',0,'std::cmatch::swap()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/swap.html',0,'std::streambuf::swap()'],['http://en.cppreference.com/w/cpp/experimental/optional/swap.html',0,'std::experimental::optional::swap()'],['http://en.cppreference.com/w/cpp/io/basic_ios/swap.html',0,'std::istringstream::swap()'],['http://en.cppreference.com/w/cpp/io/basic_ios/swap.html',0,'std::istream::swap()'],['http://en.cppreference.com/w/cpp/io/basic_ios/swap.html',0,'std::ostrstream::swap()'],['http://en.cppreference.com/w/cpp/thread/packaged_task/swap.html',0,'std::packaged_task::swap()'],['http://en.cppreference.com/w/cpp/container/unordered_set/swap.html',0,'std::unordered_set::swap()'],['http://en.cppreference.com/w/cpp/io/basic_ios/swap.html',0,'std::wfstream::swap()'],['http://en.cppreference.com/w/cpp/container/multimap/swap.html',0,'std::multimap::swap()'],['http://en.cppreference.com/w/cpp/io/basic_ios/swap.html',0,'std::basic_iostream::swap()'],['http://en.cppreference.com/w/cpp/io/basic_ios/swap.html',0,'std::wofstream::swap()'],['http://en.cppreference.com/w/cpp/io/basic_ios/swap.html',0,'std::wstringstream::swap()'],['http://en.cppreference.com/w/cpp/io/basic_ios/swap.html',0,'std::wistringstream::swap()'],['http://en.cppreference.com/w/cpp/io/basic_ios/swap.html',0,'std::ifstream::swap()'],['http://en.cppreference.com/w/cpp/container/array/swap.html',0,'std::array::swap()'],['http://en.cppreference.com/w/cpp/algorithm/swap.html',0,'std::swap(T... args)']]], - ['swap_5franges_331',['swap_ranges',['http://en.cppreference.com/w/cpp/algorithm/swap_ranges.html',0,'std']]], - ['swprintf_332',['swprintf',['http://en.cppreference.com/w/cpp/io/c/fwprintf.html',0,'std']]], - ['swscanf_333',['swscanf',['http://en.cppreference.com/w/cpp/io/c/fwscanf.html',0,'std']]], - ['sync_334',['sync',['http://en.cppreference.com/w/cpp/io/basic_istream/sync.html',0,'std::fstream::sync()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubsync.html',0,'std::basic_filebuf::sync()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubsync.html',0,'std::wstringbuf::sync()'],['http://en.cppreference.com/w/cpp/io/basic_istream/sync.html',0,'std::basic_fstream::sync()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubsync.html',0,'std::stringbuf::sync()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubsync.html',0,'std::wfilebuf::sync()'],['http://en.cppreference.com/w/cpp/io/basic_istream/sync.html',0,'std::iostream::sync()'],['http://en.cppreference.com/w/cpp/io/basic_istream/sync.html',0,'std::wistream::sync()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubsync.html',0,'std::wstreambuf::sync()'],['http://en.cppreference.com/w/cpp/io/basic_istream/sync.html',0,'std::stringstream::sync()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubsync.html',0,'std::strstreambuf::sync()'],['http://en.cppreference.com/w/cpp/io/basic_istream/sync.html',0,'std::wifstream::sync()'],['http://en.cppreference.com/w/cpp/io/basic_istream/sync.html',0,'std::basic_istream::sync()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubsync.html',0,'std::basic_stringbuf::sync()'],['http://en.cppreference.com/w/cpp/io/basic_istream/sync.html',0,'std::strstream::sync()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubsync.html',0,'std::basic_streambuf::sync()'],['http://en.cppreference.com/w/cpp/io/basic_istream/sync.html',0,'std::basic_stringstream::sync()'],['http://en.cppreference.com/w/cpp/io/basic_istream/sync.html',0,'std::istrstream::sync()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubsync.html',0,'std::filebuf::sync()'],['http://en.cppreference.com/w/cpp/io/basic_istream/sync.html',0,'std::wiostream::sync()'],['http://en.cppreference.com/w/cpp/io/basic_istream/sync.html',0,'std::basic_istringstream::sync()'],['http://en.cppreference.com/w/cpp/io/basic_istream/sync.html',0,'std::basic_ifstream::sync()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubsync.html',0,'std::streambuf::sync()'],['http://en.cppreference.com/w/cpp/io/basic_istream/sync.html',0,'std::istringstream::sync()'],['http://en.cppreference.com/w/cpp/io/basic_istream/sync.html',0,'std::istream::sync()'],['http://en.cppreference.com/w/cpp/io/basic_istream/sync.html',0,'std::wfstream::sync()'],['http://en.cppreference.com/w/cpp/io/basic_istream/sync.html',0,'std::basic_iostream::sync()'],['http://en.cppreference.com/w/cpp/io/basic_istream/sync.html',0,'std::wstringstream::sync()'],['http://en.cppreference.com/w/cpp/io/basic_istream/sync.html',0,'std::wistringstream::sync()'],['http://en.cppreference.com/w/cpp/io/basic_istream/sync.html',0,'std::ifstream::sync()']]], - ['sync_5fwith_5fstdio_335',['sync_with_stdio',['http://en.cppreference.com/w/cpp/io/ios_base/sync_with_stdio.html',0,'std::basic_ofstream::sync_with_stdio()'],['http://en.cppreference.com/w/cpp/io/ios_base/sync_with_stdio.html',0,'std::fstream::sync_with_stdio()'],['http://en.cppreference.com/w/cpp/io/ios_base/sync_with_stdio.html',0,'std::wostream::sync_with_stdio()'],['http://en.cppreference.com/w/cpp/io/ios_base/sync_with_stdio.html',0,'std::basic_ostringstream::sync_with_stdio()'],['http://en.cppreference.com/w/cpp/io/ios_base/sync_with_stdio.html',0,'std::basic_ios::sync_with_stdio()'],['http://en.cppreference.com/w/cpp/io/ios_base/sync_with_stdio.html',0,'std::ostringstream::sync_with_stdio()'],['http://en.cppreference.com/w/cpp/io/ios_base/sync_with_stdio.html',0,'std::basic_fstream::sync_with_stdio()'],['http://en.cppreference.com/w/cpp/io/ios_base/sync_with_stdio.html',0,'std::iostream::sync_with_stdio()'],['http://en.cppreference.com/w/cpp/io/ios_base/sync_with_stdio.html',0,'std::ios_base::sync_with_stdio()'],['http://en.cppreference.com/w/cpp/io/ios_base/sync_with_stdio.html',0,'std::wistream::sync_with_stdio()'],['http://en.cppreference.com/w/cpp/io/ios_base/sync_with_stdio.html',0,'std::stringstream::sync_with_stdio()'],['http://en.cppreference.com/w/cpp/io/ios_base/sync_with_stdio.html',0,'std::ostream::sync_with_stdio()'],['http://en.cppreference.com/w/cpp/io/ios_base/sync_with_stdio.html',0,'std::wifstream::sync_with_stdio()'],['http://en.cppreference.com/w/cpp/io/ios_base/sync_with_stdio.html',0,'std::basic_istream::sync_with_stdio()'],['http://en.cppreference.com/w/cpp/io/ios_base/sync_with_stdio.html',0,'std::strstream::sync_with_stdio()'],['http://en.cppreference.com/w/cpp/io/ios_base/sync_with_stdio.html',0,'std::basic_stringstream::sync_with_stdio()'],['http://en.cppreference.com/w/cpp/io/ios_base/sync_with_stdio.html',0,'std::wostringstream::sync_with_stdio()'],['http://en.cppreference.com/w/cpp/io/ios_base/sync_with_stdio.html',0,'std::istrstream::sync_with_stdio()'],['http://en.cppreference.com/w/cpp/io/ios_base/sync_with_stdio.html',0,'std::basic_ostream::sync_with_stdio()'],['http://en.cppreference.com/w/cpp/io/ios_base/sync_with_stdio.html',0,'std::wiostream::sync_with_stdio()'],['http://en.cppreference.com/w/cpp/io/ios_base/sync_with_stdio.html',0,'std::ofstream::sync_with_stdio()'],['http://en.cppreference.com/w/cpp/io/ios_base/sync_with_stdio.html',0,'std::basic_istringstream::sync_with_stdio()'],['http://en.cppreference.com/w/cpp/io/ios_base/sync_with_stdio.html',0,'std::basic_ifstream::sync_with_stdio()'],['http://en.cppreference.com/w/cpp/io/ios_base/sync_with_stdio.html',0,'std::istringstream::sync_with_stdio()'],['http://en.cppreference.com/w/cpp/io/ios_base/sync_with_stdio.html',0,'std::istream::sync_with_stdio()'],['http://en.cppreference.com/w/cpp/io/ios_base/sync_with_stdio.html',0,'std::ostrstream::sync_with_stdio()'],['http://en.cppreference.com/w/cpp/io/ios_base/sync_with_stdio.html',0,'std::wfstream::sync_with_stdio()'],['http://en.cppreference.com/w/cpp/io/ios_base/sync_with_stdio.html',0,'std::basic_iostream::sync_with_stdio()'],['http://en.cppreference.com/w/cpp/io/ios_base/sync_with_stdio.html',0,'std::wofstream::sync_with_stdio()'],['http://en.cppreference.com/w/cpp/io/ios_base/sync_with_stdio.html',0,'std::wstringstream::sync_with_stdio()'],['http://en.cppreference.com/w/cpp/io/ios_base/sync_with_stdio.html',0,'std::wistringstream::sync_with_stdio()'],['http://en.cppreference.com/w/cpp/io/ios_base/sync_with_stdio.html',0,'std::ifstream::sync_with_stdio()']]], - ['system_336',['system',['http://en.cppreference.com/w/cpp/utility/program/system.html',0,'std']]], - ['system_5fcategory_337',['system_category',['http://en.cppreference.com/w/cpp/error/system_category.html',0,'std']]], - ['system_5fclock_338',['system_clock',['http://en.cppreference.com/w/cpp/chrono/system_clock.html',0,'std::chrono']]], - ['system_5ferror_339',['system_error',['http://en.cppreference.com/w/cpp/error/system_error.html',0,'std::system_error'],['http://en.cppreference.com/w/cpp/error/system_error/system_error.html',0,'std::system_error::system_error()']]] + ['s_5fsize_0',['s_size',['../d9/d35/classrange__queries_1_1heavy__light__decomposition_1_1_s_g.html#ac6d912bbfafa3a7509f66bbc1729ca25',1,'range_queries::heavy_light_decomposition::SG']]], + ['s_5ftree_1',['s_tree',['../d9/d35/classrange__queries_1_1heavy__light__decomposition_1_1_s_g.html#afbf8a9cb9449d5ca844f4e141a801e6a',1,'range_queries::heavy_light_decomposition::SG']]], + ['saddleback_2',['saddleback',['../d0/dda/namespacesaddleback.html',1,'saddleback'],['../d3/d22/saddleback__search_8cpp.html#ad1e0ca34797d88490747c08eca70a2e6',1,'search::saddleback::saddleback()']]], + ['saddleback_5fsearch_2ecpp_3',['saddleback_search.cpp',['../d3/d22/saddleback__search_8cpp.html',1,'']]], + ['safe_5fsubstr_4',['safe_substr',['../da/dd3/karatsuba__algorithm__for__fast__multiplication_8cpp.html#aad9e3edfe156b59fc06a5585403fe0d6',1,'divide_and_conquer::karatsuba_algorithm']]], + ['sample_5ftest_5',['sample_test',['../de/d72/geometric__dist_8cpp.html#a70fd1cc5c3a2813f28683dc75dcd65b6',1,'geometric_dist.cpp']]], + ['save_5f2d_5fdata_6',['save_2d_data',['../d9/d66/group__machine__learning.html#gabc90175770bf0d5853c466e14993a08c',1,'kohonen_som_topology.cpp']]], + ['save_5fexact_5fsolution_7',['save_exact_solution',['../db/dd3/ode__forward__euler_8cpp.html#aa13517b8e5de1b75592052db7f7e237f',1,'save_exact_solution(const double &X0, const double &X_MAX, const double &step_size, const std::valarray< double > &Y0): ode_forward_euler.cpp'],['../d6/dd3/ode__midpoint__euler_8cpp.html#aa13517b8e5de1b75592052db7f7e237f',1,'save_exact_solution(const double &X0, const double &X_MAX, const double &step_size, const std::valarray< double > &Y0): ode_midpoint_euler.cpp'],['../d3/d06/ode__semi__implicit__euler_8cpp.html#aa13517b8e5de1b75592052db7f7e237f',1,'save_exact_solution(const double &X0, const double &X_MAX, const double &step_size, const std::valarray< double > &Y0): ode_semi_implicit_euler.cpp']]], + ['save_5fmodel_8',['save_model',['../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#a4f14e473bb0722c6490b9dc8da5982aa',1,'machine_learning::neural_network::NeuralNetwork']]], + ['save_5fnd_5fdata_9',['save_nd_data',['../d9/d66/group__machine__learning.html#gae0208548f8b393528e5db01717e88e67',1,'kohonen_som_trace.cpp']]], + ['save_5fu_5fmatrix_10',['save_u_matrix',['../d8/d77/namespacemachine__learning.html#aa72a53c88203fde278f1fe6c3afe5b07',1,'machine_learning']]], + ['schedule_11',['schedule',['../dd/dca/class_f_c_f_s.html#af2594e22a867b308e027623940193d46',1,'FCFS']]], + ['scheduleforfcfs_12',['scheduleForFcfs',['../dd/dca/class_f_c_f_s.html#aa25dbe30ba9930b5a7c1a6d11758bd91',1,'FCFS']]], + ['scheduling_20algorithms_13',['Cpu Scheduling Algorithms',['../d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md48',1,'']]], + ['scope_14',['Scope',['../d3/dd7/md__c_o_d_e___o_f___c_o_n_d_u_c_t.html#autotoc_md8',1,'']]], + ['scs_15',['scs',['../d7/d65/shortest__common__supersequence_8cpp.html#ad2ee8d7e67da9f6eb85146b08dad95e6',1,'dynamic_programming::shortest_common_supersequence']]], + ['search_16',['Search',['../d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md66',1,'']]], + ['search_17',['search',['../d9/dca/namespacesearch.html',1,'search'],['../d1/def/classdata__structures_1_1linked__list_1_1list.html#ad3423f7518671351340932db3c24959a',1,'data_structures::linked_list::list::search()'],['../dd/d2f/class_trie.html#a411e77126930a0942dd7b65e96b15206',1,'Trie::search()'],['../d0/d3e/classdata__structures_1_1trie.html#a961eb5d576d2420f2036009154397c63',1,'data_structures::trie::search(const std::shared_ptr< trie > &root, const std::string &str, int index)'],['../d0/d3e/classdata__structures_1_1trie.html#a499f87fd833203ef9492b4870aa6d42d',1,'data_structures::trie::search(const std::string &str, int index)'],['../d3/d26/classdata__structures_1_1trie__using__hashmap_1_1_trie.html#ad71eb24207c28b546631802dba97310f',1,'data_structures::trie_using_hashmap::Trie::search()'],['../d0/dbc/namespacestrings_1_1boyer__moore.html#a15703b553faed0d28202c10808cf9738',1,'strings::boyer_moore::search()']]], + ['search_20from_20the_20root_20node_18',['Method 2: Search from the root node',['../d4/d32/inorder__successor__of__bst_8cpp.html#autotoc_md92',1,'']]], + ['searchelement_19',['searchElement',['../d4/d90/classdata__structures_1_1_skip_list.html#af2f3d4e15b1f47afac849c2e08a730f4',1,'data_structures::SkipList']]], + ['searchfreqsuggestions_20',['SearchFreqSuggestions',['../d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html#a7c5ab271d8042540f64ef16d259d1503',1,'operations_on_datastructures::trie_operations::Tnode']]], + ['searchingprober_21',['searchingProber',['../d0/d65/namespacedouble__hashing.html#a29f543e2626bad58907661e1e45028a6',1,'double_hashing::searchingProber()'],['../d8/d89/namespacelinear__probing.html#a942fc8407b8001890ea26830cdcd9d77',1,'linear_probing::searchingProber()'],['../d4/dd2/namespacequadratic__probing.html#aeb6bca8db4768226f8ea8291ea4f83f6',1,'quadratic_probing::searchingProber()']]], + ['searchpresence_22',['SearchPresence',['../d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html#a4a624fcdf3c3beb2025d69f2cfda8023',1,'operations_on_datastructures::trie_operations::Tnode']]], + ['searchsuggestions_23',['SearchSuggestions',['../d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html#a18b70172ca4fb2811dbfb9a86e48b34c',1,'operations_on_datastructures::trie_operations::Tnode']]], + ['segment_5ftree_2ecpp_24',['segment_tree.cpp',['../de/dd1/segment__tree_8cpp.html',1,'']]], + ['segmentintersection_25',['SegmentIntersection',['../d4/db4/struct_segment_intersection.html',1,'']]], + ['segmenttree_26',['SegmentTree',['../dd/d95/classdata__structures_1_1_segment_tree.html',1,'data_structures']]], + ['segtree_2ecpp_27',['segtree.cpp',['../d2/d45/segtree_8cpp.html',1,'']]], + ['selection_5fsort_5frecursive_28',['selection_sort_recursive',['../df/d4a/namespaceselection__sort__recursive.html',1,'']]], + ['selection_5fsort_5frecursive_2ecpp_29',['selection_sort_recursive.cpp',['../d4/d9f/selection__sort__recursive_8cpp.html',1,'']]], + ['selectionsortrecursive_30',['selectionSortRecursive',['../d4/d9f/selection__sort__recursive_8cpp.html#ab6f7b33a070e376e1f4374e534435e89',1,'sorting::selection_sort_recursive']]], + ['selectiontop_5f3_31',['SelectionTop_3',['../d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html#aacafb8c9f3ebac7ac6c01d9645bb67b6',1,'operations_on_datastructures::trie_operations::Tnode']]], + ['self_20test_20examples_32',['Self-test examples',['../d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md30',1,'']]], + ['semi_5fimplicit_5feuler_33',['semi_implicit_euler',['../d6/d60/group__ode.html#ga3874d294ab00fe9ce8731c5b7991a089',1,'ode_semi_implicit_euler.cpp']]], + ['semi_5fimplicit_5feuler_5fstep_34',['semi_implicit_euler_step',['../d6/d60/group__ode.html#ga827bf009831ddc477c5fa8891d5cb35f',1,'ode_semi_implicit_euler.cpp']]], + ['set_35',['set',['../dc/dd4/classdata__structures_1_1_bloom_filter.html#a90268d7901e2c1ab5f8bf8b24a30e119',1,'data_structures::BloomFilter']]], + ['set_5fkth_5fbit_2ecpp_36',['set_kth_bit.cpp',['../d5/db5/set__kth__bit_8cpp.html',1,'']]], + ['set_5fnode_5fval_37',['set_node_val',['../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html#a04cd96efaba147b19d3afc769b90ff70',1,'range_queries::heavy_light_decomposition::Tree']]], + ['set_5fsret_5finit_38',['set_sret_init',['../d9/d35/classrange__queries_1_1heavy__light__decomposition_1_1_s_g.html#ad3b942be27a1b0fe3cff6cb6edf01294',1,'range_queries::heavy_light_decomposition::SG']]], + ['setchild_39',['SetChild',['../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#ab4e5f7b7b260bb81d9441652cc124c74',1,'data_structures::tree_234::Node']]], + ['setcount_40',['SetCount',['../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#af564fd4b0992fff69f90de201542d3d1',1,'data_structures::tree_234::Node']]], + ['setitem_41',['SetItem',['../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#aaa89a3016b5dd1be3552321c34343cbc',1,'data_structures::tree_234::Node']]], + ['setkthbit_42',['setKthBit',['../d8/d88/namespaceset_kth_bit.html',1,'setKthBit'],['../d5/db5/set__kth__bit_8cpp.html#ad4d0ffd9331242c42a28834ee19f5fd9',1,'bit_manipulation::set_kth_bit::setKthBit()']]], + ['setsize_43',['setSize',['../dd/d1f/classdsu.html#ac0dc3e17e49fe19b159b4ea4096d7b55',1,'dsu']]], + ['sg_44',['SG',['../d9/d35/classrange__queries_1_1heavy__light__decomposition_1_1_s_g.html',1,'range_queries::heavy_light_decomposition::SG< X >'],['../d9/d35/classrange__queries_1_1heavy__light__decomposition_1_1_s_g.html#afba5c1225ba04c0025c7786c09ff28f1',1,'range_queries::heavy_light_decomposition::SG::SG()']]], + ['sgn_45',['sgn',['../d7/d6a/bisection__method_8cpp.html#a1ab31b90bc584c635ec159468ceed9b2',1,'bisection_method.cpp']]], + ['sha_46',['SHA',['../de/dd3/namespace_s_h_a.html',1,'']]], + ['sha1_2ecpp_47',['sha1.cpp',['../d8/d7a/sha1_8cpp.html',1,'']]], + ['sha256_48',['sha256',['../d4/d08/sha256_8cpp.html#a55475649a2bb7aae15de0716a217f43a',1,'hashing::sha256']]], + ['sha256_2ecpp_49',['sha256.cpp',['../d4/d08/sha256_8cpp.html',1,'']]], + ['shell_5fsort_50',['shell_sort',['../d5/d91/namespacesorting.html#a5669396c6a6b1e14b97589b6e37980aa',1,'sorting::shell_sort(T *arr, size_t LEN)'],['../d5/d91/namespacesorting.html#a4d76603c54d3dc56146e92d10a043924',1,'sorting::shell_sort(T(&arr)[N])'],['../d5/d91/namespacesorting.html#af2c5b92cbfe73f63f6074c61b0a45331',1,'sorting::shell_sort(std::vector< T > *arr)']]], + ['shell_5fsort2_2ecpp_51',['shell_sort2.cpp',['../d4/d7a/shell__sort2_8cpp.html',1,'']]], + ['shift_5fleft_52',['shift_left',['../da/d6d/namespaceoperations__on__datastructures.html#afce39cf843989a39811a49ebe29dd6d8',1,'operations_on_datastructures']]], + ['shift_5fright_53',['shift_right',['../da/d6d/namespaceoperations__on__datastructures.html#a1bfb8711f49e591eb168ccaa3df6fb86',1,'operations_on_datastructures']]], + ['shortest_5fcommon_5fsupersequence_54',['shortest_common_supersequence',['../d3/deb/namespaceshortest__common__supersequence.html',1,'']]], + ['shortest_5fcommon_5fsupersequence_2ecpp_55',['shortest_common_supersequence.cpp',['../d7/d65/shortest__common__supersequence_8cpp.html',1,'']]], + ['shortest_5fpath_5fdistance_56',['Shortest_Path_Distance',['../d7/d07/bidirectional__dijkstra_8cpp.html#a22f1b7277e1dd4190f25014b48487ce6',1,'graph::bidirectional_dijkstra']]], + ['show_57',['show',['../d5/dab/structdata__structures_1_1list__array_1_1list.html#a0b7acf65026df1e9dd13eebf309dda5e',1,'data_structures::list_array::list::show()'],['../d2/dc8/classdata__structures_1_1_stack.html#abb86ed67d9d97112897a09cfb10ff586',1,'data_structures::Stack::show()'],['../db/d3c/tower__of__hanoi_8cpp.html#a746d9a3984bba88fd6dd91978f6931ed',1,'show(): tower_of_hanoi.cpp'],['../d2/d26/count__inversions_8cpp.html#a851ca6a0391d14fb49a97d55e4377497',1,'sorting::inversion::show()'],['../d5/d4c/group__sorting.html#ga0a9a57a1f1bbba3d4822531d002b7e07',1,'show(): merge_sort.cpp'],['../d1/d21/quick__sort_8cpp.html#aeccefcf6fcca62c54939c5ec9a93109b',1,'sorting::quick_sort::show()']]], + ['show_5farray_58',['show_array',['../d5/ddb/bogo__sort_8cpp.html#ae8adaeff66471f9ed84f2e673b38a859',1,'bogo_sort.cpp']]], + ['show_5fdata_59',['show_data',['../d4/d7a/shell__sort2_8cpp.html#a951127aea9d7e1e53ea9ae0868633246',1,'show_data(T *arr, size_t LEN): shell_sort2.cpp'],['../d4/d7a/shell__sort2_8cpp.html#a63aaff7cabfa3da2da8b9477b5fad9d6',1,'show_data(T(&arr)[N]): shell_sort2.cpp']]], + ['show_5fpascal_60',['show_pascal',['../dc/d1a/pascal__triangle_8cpp.html#ad7a31d9cb2818d21b1ba12aead7f4c5c',1,'pascal_triangle.cpp']]], + ['showarray_61',['showArray',['../d1/daa/random__pivot__quick__sort_8cpp.html#ac3281dc34a9cfd7beb332419b8a0aa10',1,'sorting::random_pivot_quick_sort']]], + ['shuffle_62',['shuffle',['../d5/d91/namespacesorting.html#a7bfe11bd4703eacd1dab93f25ec639c5',1,'sorting']]], + ['side_63',['side',['../de/d00/classgraph_1_1is__graph__bipartite_1_1_graph.html#a9d10768f927baa8a4d4a5ffce295b6b6',1,'graph::is_graph_bipartite::Graph']]], + ['sieve_64',['Sieve',['../d4/d9c/primes__up__to__billion_8cpp.html#a031cada84819ed6426f58e4f7e81261c',1,'primes_up_to_billion.cpp']]], + ['sieve_65',['sieve',['../dd/d47/namespacemath.html#a91366864111e1fac29722ca45e02ea8f',1,'math::sieve()'],['../d8/ddf/sieve__of__eratosthenes_8cpp.html#a22be949d160b26361f7e323310f7fa0c',1,'math::sieve_of_eratosthenes::sieve()']]], + ['sieve_5fof_5feratosthenes_66',['sieve_of_eratosthenes',['../d2/db0/namespacesieve__of__eratosthenes.html',1,'']]], + ['sieve_5fof_5feratosthenes_2ecpp_67',['sieve_of_eratosthenes.cpp',['../d8/ddf/sieve__of__eratosthenes_8cpp.html',1,'']]], + ['sieveoferatosthenes_68',['SieveOfEratosthenes',['../db/d0d/prime__factorization_8cpp.html#affe577b9bce8f604f5e2f861c63c7099',1,'prime_factorization.cpp']]], + ['sig2hex_69',['sig2hex',['../d5/d96/md5_8cpp.html#aaee69c6136a841043f956de32116e348',1,'hashing::md5::sig2hex()'],['../d8/d7a/sha1_8cpp.html#aada0803ef851d831b7a290a924e3c228',1,'hashing::sha1::sig2hex()']]], + ['sigmoid_70',['sigmoid',['../d2/d58/neural__network_8cpp.html#a23aa9d32bcbcd65cfc85f0a41e2afadc',1,'machine_learning::neural_network::activations']]], + ['simpson_5fmethod_71',['simpson_method',['../d3/d6d/namespacesimpson__method.html',1,'']]], + ['single_5fpredict_72',['single_predict',['../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#a3b9eac1824d365dce715fb17c33cb96f',1,'machine_learning::neural_network::NeuralNetwork']]], + ['size_73',['size',['../dd/d95/classdata__structures_1_1_segment_tree.html#a167fd91b68048e49e97859a8947690f3',1,'data_structures::SegmentTree::size'],['../d1/dc2/classstack.html#a0a6b2b93ec970296940798ee98a5072e',1,'stack::size'],['../d5/d95/structdata__structures_1_1treap_1_1_treap.html#af5f0b8263339485989f8a02ae026114c',1,'data_structures::treap::Treap::size'],['../d9/dde/classbinary__search__tree.html#a564fe43e7e8f7ecb6f10667a70fbc6f3',1,'binary_search_tree::size()'],['../d9/dae/classdata__structures_1_1_bitset.html#a2f1f44d6a12b0de4aaf242872b1c7b54',1,'data_structures::Bitset::size()'],['../dd/d1f/classdsu.html#a1c24228b0f2f49220133fb8c3566a55c',1,'dsu::size()'],['../db/d5b/structdata__structures_1_1stack__using__queue_1_1_stack.html#ac0ddec9ab8f778dad23ec446d7a77b39',1,'data_structures::stack_using_queue::Stack::size()'],['../dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix.html#ae4e183ec8eab778cb243e4ae0b22a0f1',1,'divide_and_conquer::strassens_multiplication::Matrix::size()'],['../df/d8f/classothers_1_1_cache_1_1_l_f_u_cache.html#adbfb2ef7358423fdf1f49d410f55f195',1,'others::Cache::LFUCache::size()'],['../d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache.html#a1b709333874b4633ee02a3661cd042e1',1,'others::Cache::LRUCache::size()'],['../d8/d28/classrange__queries_1_1per_seg_tree.html#a0fe4e431f3e09c274ecd7d2d58dcb865',1,'range_queries::perSegTree::size()']]], + ['size_5f_74',['size_',['../d9/dde/classbinary__search__tree.html#a07ba32ce1a2af6e357600ac8c8e98dbc',1,'binary_search_tree']]], + ['skip_5flist_2ecpp_75',['skip_list.cpp',['../d0/d5a/skip__list_8cpp.html',1,'']]], + ['skiplist_76',['SkipList',['../d4/d90/classdata__structures_1_1_skip_list.html',1,'data_structures::SkipList'],['../d4/d90/classdata__structures_1_1_skip_list.html#a7ffc3688725b9d1ec6e5bb881a6e2ae4',1,'data_structures::SkipList::SkipList()']]], + ['sleep_77',['SLEEP',['../dd/d92/memory__game_8cpp.html#a5bdc30951221eae9c33413ff9eb574f6',1,'memory_game.cpp']]], + ['slice_78',['slice',['../dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix.html#a1fcb7db9bdeabd874712ec4f00483d17',1,'divide_and_conquer::strassens_multiplication::Matrix']]], + ['smallest_5fcircle_2ecpp_79',['smallest_circle.cpp',['../d0/d01/smallest__circle_8cpp.html',1,'']]], + ['solution_80',['Solution',['../dd/d4f/class_solution.html',1,'Solution'],['../da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search.html#a0a26aa9ad3d73707370d9fe83707aca4',1,'machine_learning::aystar_search::AyStarSearch::Solution()']]], + ['solve_81',['solve',['../d1/d2a/knight__tour_8cpp.html#aaa47356d98676cf5315d978f741e29c9',1,'backtracking::knight_tour']]], + ['solvemaze_82',['solveMaze',['../dc/d5a/rat__maze_8cpp.html#ab99107bfb4c6934cd4691868c66c0aa3',1,'backtracking::rat_maze']]], + ['solvenq_83',['solveNQ',['../d4/d3e/n__queens_8cpp.html#a0dbd7af47d87f0b956609fe9e3288ecb',1,'backtracking::n_queens']]], + ['solvesudoku_84',['solveSudoku',['../d3/d05/sudoku__solver_8cpp.html#ac911c8bca8556206ff64461b2424866b',1,'backtracking::sudoku_solver']]], + ['sort_85',['sort',['../d5/dab/structdata__structures_1_1list__array_1_1list.html#a133635ad53bd89e3947ca02448819180',1,'data_structures::list_array::list']]], + ['sort_20algorithm_20analysis_20best_20case_20worst_20case_20average_20case_86',['Bubble Sort Algorithm Analysis (Best Case - Worst Case - Average Case)',['../d8/d13/bubble__sort_8cpp.html#autotoc_md111',1,'']]], + ['sortcol_87',['sortcol',['../df/d47/fcfs__scheduling_8cpp.html#a18920aa331faf4476b251c8cdb2c2bec',1,'fcfs_scheduling.cpp']]], + ['sorting_88',['Sorting',['../d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md67',1,'']]], + ['sorting_89',['sorting',['../d5/d91/namespacesorting.html',1,'']]], + ['sorting_20algorithm_90',['Sorting Algorithm',['../d5/d4c/group__sorting.html',1,'']]], + ['sparse_5fmatrix_2ecpp_91',['sparse_matrix.cpp',['../d3/d19/sparse__matrix_8cpp.html',1,'']]], + ['sparse_5ftable_92',['Sparse_table',['../da/d37/structdata__structures_1_1sparse__table_1_1_sparse__table.html',1,'data_structures::sparse_table']]], + ['sparse_5ftable_93',['sparse_table',['../d9/d55/namespacesparse__table.html',1,'']]], + ['sparse_5ftable_2ecpp_94',['sparse_table.cpp',['../d8/dab/sparse__table_8cpp.html',1,'']]], + ['sphere_5fsurface_5farea_95',['sphere_surface_area',['../dd/d47/namespacemath.html#ab7f29862d30df351c317eedd60a0c656',1,'math']]], + ['sphere_5fvolume_96',['sphere_volume',['../dd/d47/namespacemath.html#a34d66a77c19ce9b8b3a3d14352b34551',1,'math']]], + ['spiral_5fprint_2ecpp_97',['spiral_print.cpp',['../db/d07/spiral__print_8cpp.html',1,'']]], + ['spiralprint_98',['spiralPrint',['../db/d07/spiral__print_8cpp.html#a850d3f55e1a8d227176cdcc67352c197',1,'spiral_print.cpp']]], + ['spirograph_99',['spirograph',['../da/dd3/namespacespirograph.html',1,'spirograph'],['../da/dd3/namespacespirograph.html#aeca22dbe4563358960e907a40cd3e1ac',1,'spirograph::spirograph()']]], + ['spirograph_2ecpp_100',['spirograph.cpp',['../da/d77/spirograph_8cpp.html',1,'']]], + ['splitnode_101',['SplitNode',['../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a370b625ca9f16bbef2b65e024ef78ea9',1,'data_structures::tree_234::Tree234']]], + ['sqrt_102',['Sqrt',['../da/d24/sqrt__double_8cpp.html#ae662282ad0740d2063ac404ca3bd74fc',1,'sqrt_double.cpp']]], + ['sqrt_5fdouble_2ecpp_103',['sqrt_double.cpp',['../da/d24/sqrt__double_8cpp.html',1,'']]], + ['square_104',['square',['../d2/d58/neural__network_8cpp.html#a45d3e30406712ada3d9713ece3c1b153',1,'machine_learning::neural_network::util_functions']]], + ['square_5farea_105',['square_area',['../dd/d47/namespacemath.html#a971ce57e368f2f631cf1f4ff3f864049',1,'math']]], + ['square_5fperimeter_106',['square_perimeter',['../dd/d47/namespacemath.html#a9236348755183644f1225e162d01ab14',1,'math']]], + ['sret_5finit_107',['sret_init',['../d9/d35/classrange__queries_1_1heavy__light__decomposition_1_1_s_g.html#aa7f93971a9f891e0bbb7023081f379d5',1,'range_queries::heavy_light_decomposition::SG']]], + ['st_108',['ST',['../da/d37/structdata__structures_1_1sparse__table_1_1_sparse__table.html#ad36b9a20fed47b068e407008c04e9f81',1,'data_structures::sparse_table::Sparse_table']]], + ['stack_109',['Stack',['../d2/dc8/classdata__structures_1_1_stack.html',1,'data_structures::Stack< T >'],['../db/d5b/structdata__structures_1_1stack__using__queue_1_1_stack.html',1,'data_structures::stack_using_queue::Stack'],['../d5/d8a/classothers_1_1postfix__expression_1_1_stack.html',1,'others::postfix_expression::Stack'],['../d2/dc8/classdata__structures_1_1_stack.html#a8cb0602c8a9c1603d0315938177ecc6a',1,'data_structures::Stack::Stack()']]], + ['stack_110',['stack',['../d1/dc2/classstack.html',1,'stack< ValueType >'],['../d2/dc8/classdata__structures_1_1_stack.html#a3f912a0e9bed5b24b206584e3010dce3',1,'data_structures::Stack::stack'],['../d5/d8a/classothers_1_1postfix__expression_1_1_stack.html#af06360122e20ce2ba32c574a27a20ba1',1,'others::postfix_expression::Stack::stack'],['../dc/dc5/paranthesis__matching_8cpp.html#aa37d24a036d239b3b528f13b9de880c7',1,'stack: paranthesis_matching.cpp']]], + ['stack_2ehpp_111',['stack.hpp',['../df/d47/stack_8hpp.html',1,'']]], + ['stack_5fidx_112',['stack_idx',['../dc/dc5/paranthesis__matching_8cpp.html#af4c937d823c412d99fbe60c99dbf0a4f',1,'paranthesis_matching.cpp']]], + ['stack_5flinkedlist_113',['stack_linkedList',['../d2/dc4/classstack__linked_list.html',1,'']]], + ['stack_5fusing_5fqueue_114',['stack_using_queue',['../df/d1c/namespacestack__using__queue.html',1,'']]], + ['stackindex_115',['stackIndex',['../d2/dc8/classdata__structures_1_1_stack.html#a71afc94746d47fb2c0c4fa4b612edee6',1,'data_structures::Stack']]], + ['stacksize_116',['stackSize',['../d2/dc8/classdata__structures_1_1_stack.html#a88a10062c0662a385f172669f2f19b86',1,'data_structures::Stack']]], + ['stacktop_117',['stackTop',['../d1/dc2/classstack.html#aefb3dac828e32b4ec014ff4b5d43a6b8',1,'stack::stackTop'],['../d5/d8a/classothers_1_1postfix__expression_1_1_stack.html#a6ae98710503b894b843d01cb69d5490c',1,'others::postfix_expression::Stack::stackTop']]], + ['stairs_5fpattern_2ecpp_118',['stairs_pattern.cpp',['../d5/def/stairs__pattern_8cpp.html',1,'']]], + ['standard_5fdeviation_119',['standard_deviation',['../da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution.html#a0a10c512e13dd3a052e1c6d7f4d6f0f2',1,'probability::geometric_dist::geometric_distribution']]], + ['standard_5finvsqrt_120',['Standard_InvSqrt',['../d6/db8/inv__sqrt_8cpp.html#aa2703e5cf3fecde8becd9066b9666b97',1,'inv_sqrt.cpp']]], + ['standards_121',['Our Standards',['../d3/dd7/md__c_o_d_e___o_f___c_o_n_d_u_c_t.html#autotoc_md6',1,'']]], + ['startwith_122',['startwith',['../d3/d26/classdata__structures_1_1trie__using__hashmap_1_1_trie.html#af3aee573fbabd2c1510c0f74f842dd17',1,'data_structures::trie_using_hashmap::Trie']]], + ['static_20code_20analyzer_123',['Static Code Analyzer',['../d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md38',1,'']]], + ['statistics_124',['statistics',['../d2/dcf/namespacestatistics.html',1,'']]], + ['stats_5fcomputer1_125',['stats_computer1',['../d7/d7c/classstatistics_1_1stats__computer1.html',1,'statistics']]], + ['stats_5fcomputer2_126',['stats_computer2',['../d8/dab/classstatistics_1_1stats__computer2.html',1,'statistics']]], + ['std_127',['std',['../d7/d7c/classstatistics_1_1stats__computer1.html#af57e942d49f4fd70f059f224b4ac07e1',1,'statistics::stats_computer1::std()'],['../d8/dab/classstatistics_1_1stats__computer2.html#acf2e84df4fc386bb3295016ef8fd156e',1,'statistics::stats_computer2::std()']]], + ['step_5fith_128',['step_ith',['../d8/d61/radix__sort2_8cpp.html#a98ead7d43b11505398daf9a894f122f9',1,'sorting::radix_sort']]], + ['stooge_5fsort_2ecpp_129',['stooge_sort.cpp',['../d4/d4f/stooge__sort_8cpp.html',1,'']]], + ['stoogesort_130',['stoogeSort',['../d4/d4f/stooge__sort_8cpp.html#ac23852832437dc68327efe9b1da2d91b',1,'stooge_sort.cpp']]], + ['store_20the_20address_20of_20parent_20nodes_131',['Method 1: Use parent pointer (store the address of parent nodes)',['../d4/d32/inorder__successor__of__bst_8cpp.html#autotoc_md91',1,'']]], + ['strand_132',['strand',['../d8/d1d/namespacestrand.html',1,'']]], + ['strand_5fsort_133',['strand_sort',['../dc/dd9/strand__sort_8cpp.html#a2bea2fe5dd38ed63610fdeaddf5785cd',1,'sorting::strand']]], + ['strand_5fsort_2ecpp_134',['strand_sort.cpp',['../dc/dd9/strand__sort_8cpp.html',1,'']]], + ['strassens_5fmultiplication_135',['strassens_multiplication',['../d3/d91/namespacestrassens__multiplication.html',1,'strassens_multiplication'],['../dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix.html#a87c2ed8f19bda2ad21ee4cbed32c394a',1,'divide_and_conquer::strassens_multiplication::Matrix::strassens_multiplication()']]], + ['string_136',['string',['../d6/dd6/namespacestring.html',1,'']]], + ['string_5ffibonacci_2ecpp_137',['string_fibonacci.cpp',['../de/d47/string__fibonacci_8cpp.html',1,'']]], + ['string_5fsearch_138',['string_search',['../d9/d03/namespacestring__search.html',1,'']]], + ['strings_139',['Strings',['../d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md68',1,'']]], + ['strings_140',['strings',['../df/dcb/namespacestrings.html',1,'']]], + ['strings_3a_3aboyer_5fmoore_141',['boyer_moore',['../d0/dbc/namespacestrings_1_1boyer__moore.html',1,'strings']]], + ['strkey_142',['STRKEY',['../d6/d4e/namespaceciphers.html#ab9aec0ccf4b6809f652bb540be87c216',1,'ciphers']]], + ['structure_20of_20a_20program_143',['Typical structure of a program',['../d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md31',1,'']]], + ['structure_20used_144',['Data Structure used',['../d3/db3/lru__cache_8cpp.html#autotoc_md98',1,'']]], + ['structures_145',['Data Structures',['../d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md49',1,'']]], + ['struzik_5fsearch_146',['struzik_search',['../d8/d8a/exponential__search_8cpp.html#af421bf4b7b95f20ac86c233adfdb9208',1,'exponential_search.cpp']]], + ['style_20convention_147',['Code style convention',['../dc/d64/md__coding_guidelines.html',1,'']]], + ['style_20conventions_148',['Code style conventions',['../dc/d64/md__coding_guidelines.html#autotoc_md20',1,'']]], + ['subarray_5fsum_149',['subarray_sum',['../df/d74/namespacesubarray__sum.html',1,'subarray_sum'],['../df/d94/subarray__sum_8cpp.html#af5687bbd9faf927fbd363c71e0baba5e',1,'backtracking::subarray_sum::subarray_sum()']]], + ['subarray_5fsum_2ecpp_150',['subarray_sum.cpp',['../df/d94/subarray__sum_8cpp.html',1,'']]], + ['sublist_5fsearch_151',['sublist_search',['../d9/def/namespacesublist__search.html',1,'']]], + ['sublist_5fsearch_2ecpp_152',['sublist_search.cpp',['../d5/d45/sublist__search_8cpp.html',1,'']]], + ['sublistsearch_153',['sublistSearch',['../d5/d45/sublist__search_8cpp.html#a4faee403e2758aaab682ed6622ae218c',1,'search::sublist_search']]], + ['subset_5fsum_154',['subset_sum',['../dc/d3a/namespacesubset__sum.html',1,'']]], + ['subset_5fsum_2ecpp_155',['subset_sum.cpp',['../d2/d5a/subset__sum_8cpp.html',1,'']]], + ['subset_5fsum_5fdynamic_2ecpp_156',['subset_sum_dynamic.cpp',['../dc/d67/subset__sum__dynamic_8cpp.html',1,'']]], + ['subset_5fsum_5fproblem_157',['subset_sum_problem',['../dc/d67/subset__sum__dynamic_8cpp.html#ac94e6c0dee11278ac0a5491f1b9a4a50',1,'dynamic_programming::subset_sum']]], + ['subset_5fsum_5frecursion_158',['subset_sum_recursion',['../dc/d67/subset__sum__dynamic_8cpp.html#a280fcfb2f6fe49a31c4da572e7032607',1,'dynamic_programming::subset_sum']]], + ['subsets_159',['Subsets',['../de/d95/namespace_subsets.html',1,'']]], + ['subtree_160',['subtree',['../d4/d32/inorder__successor__of__bst_8cpp.html#autotoc_md89',1,'Case 1: The given node has the right node/subtree'],['../d4/d32/inorder__successor__of__bst_8cpp.html#autotoc_md90',1,'Case 2: The given node does not have a right node/subtree']]], + ['succ_161',['succ',['../de/d9d/classdata__structures_1_1linked__list_1_1link.html#af6bbeb9bfde1683ba917071edeedd5c3',1,'data_structures::linked_list::link']]], + ['successive_5fapproximation_2ecpp_162',['successive_approximation.cpp',['../df/dc8/successive__approximation_8cpp.html',1,'']]], + ['sudoku_5fsolver_163',['sudoku_solver',['../d8/d9f/namespacesudoku__solver.html',1,'']]], + ['sudoku_5fsolver_2ecpp_164',['sudoku_solver.cpp',['../d3/d05/sudoku__solver_8cpp.html',1,'']]], + ['suggestautocomplete_165',['SuggestAutocomplete',['../d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html#a097913c4badec2b60d50a171ecc299fe',1,'operations_on_datastructures::trie_operations::Tnode']]], + ['suggestfreqautocomplete_166',['SuggestFreqAutocomplete',['../d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html#a9e556f52c837190ecf4265b1f05cfe9c',1,'operations_on_datastructures::trie_operations::Tnode']]], + ['sum_167',['sum',['../de/d0d/classrange__queries_1_1fenwick__tree.html#a1fa0559d987fde0044761b17b35f5abd',1,'range_queries::fenwick_tree::sum()'],['../d8/d77/namespacemachine__learning.html#a6f1c98c016ad34ff3d9f39372161bd35',1,'machine_learning::sum()']]], + ['sum_5fof_5fbinomial_5fcoefficient_2ecpp_168',['sum_of_binomial_coefficient.cpp',['../d4/d9d/sum__of__binomial__coefficient_8cpp.html',1,'']]], + ['sum_5fof_5fdigits_169',['sum_of_digits',['../d4/d83/sum__of__digits_8cpp.html#a4619c78b6ad985713024f930f31c4395',1,'sum_of_digits.cpp']]], + ['sum_5fof_5fdigits_2ecpp_170',['sum_of_digits.cpp',['../d4/d83/sum__of__digits_8cpp.html',1,'']]], + ['sum_5fof_5fdivisor_171',['sum_of_divisor',['../dd/d47/namespacemath.html#af05567415a9ea36c254b54e3d5a2152a',1,'math']]], + ['sum_5frange_172',['sum_range',['../de/d0d/classrange__queries_1_1fenwick__tree.html#a0914a4b1401a7c427de91c92885724fe',1,'range_queries::fenwick_tree']]], + ['summary_173',['summary',['../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#a61d30113d13304c664057118b92a5931',1,'machine_learning::neural_network::NeuralNetwork']]] ]; diff --git a/search/all_19.js b/search/all_19.js index 7c6d4a7d1..ed8edccce 100644 --- a/search/all_19.js +++ b/search/all_19.js @@ -1,6 +1,6 @@ var searchData= [ - ['t_0',['t',['../dd/d95/classdata__structures_1_1_segment_tree.html#a735d072a603f3abb7c03818440575258',1,'data_structures::SegmentTree::t'],['http://en.cppreference.com/w/cpp/numeric/random/binomial_distribution/params.html',0,'std::binomial_distribution::t()']]], + ['t_0',['t',['../dd/d95/classdata__structures_1_1_segment_tree.html#a735d072a603f3abb7c03818440575258',1,'data_structures::SegmentTree']]], ['t_5fadj_1',['t_adj',['../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html#ab1aeaefa1bd97b867c652ba916fbdb43',1,'range_queries::heavy_light_decomposition::Tree']]], ['t_5fdepth_2',['t_depth',['../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html#a0efd0b9c564092f443ca97030d866ef1',1,'range_queries::heavy_light_decomposition::Tree']]], ['t_5fmaxlift_3',['t_maxlift',['../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html#ab2ab020f798d00be2613ecf63074b7c1',1,'range_queries::heavy_light_decomposition::Tree']]], @@ -10,178 +10,118 @@ var searchData= ['t_5fsize_7',['t_size',['../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html#ada1494fccbc7f1f07b2f9be9f7e07ad5',1,'range_queries::heavy_light_decomposition::Tree']]], ['t_5fval_8',['t_val',['../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html#a135b7952593c9b1aae38fcaf1cc1abf7',1,'range_queries::heavy_light_decomposition::Tree']]], ['tail_9',['tail',['../d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache.html#a448121f391a71f4cf88c3cb6c4cf3100',1,'others::Cache::LRUCache']]], - ['tan_10',['tan',['http://en.cppreference.com/w/cpp/numeric/math/tan.html',0,'std']]], - ['tanh_11',['tanh',['http://en.cppreference.com/w/cpp/numeric/math/tanh.html',0,'std::tanh()'],['../d2/d58/neural__network_8cpp.html#a371aa7dd5d5add0143d1756bb0a1b32f',1,'machine_learning::neural_network::activations::tanh()']]], - ['target_12',['target',['http://en.cppreference.com/w/cpp/utility/functional/function/target.html',0,'std::function']]], - ['target_5ftype_13',['target_type',['http://en.cppreference.com/w/cpp/utility/functional/function/target_type.html',0,'std::function']]], - ['tellg_14',['tellg',['http://en.cppreference.com/w/cpp/io/basic_istream/tellg.html',0,'std::fstream::tellg()'],['http://en.cppreference.com/w/cpp/io/basic_istream/tellg.html',0,'std::basic_fstream::tellg()'],['http://en.cppreference.com/w/cpp/io/basic_istream/tellg.html',0,'std::iostream::tellg()'],['http://en.cppreference.com/w/cpp/io/basic_istream/tellg.html',0,'std::wistream::tellg()'],['http://en.cppreference.com/w/cpp/io/basic_istream/tellg.html',0,'std::stringstream::tellg()'],['http://en.cppreference.com/w/cpp/io/basic_istream/tellg.html',0,'std::wifstream::tellg()'],['http://en.cppreference.com/w/cpp/io/basic_istream/tellg.html',0,'std::basic_istream::tellg()'],['http://en.cppreference.com/w/cpp/io/basic_istream/tellg.html',0,'std::strstream::tellg()'],['http://en.cppreference.com/w/cpp/io/basic_istream/tellg.html',0,'std::basic_stringstream::tellg()'],['http://en.cppreference.com/w/cpp/io/basic_istream/tellg.html',0,'std::istrstream::tellg()'],['http://en.cppreference.com/w/cpp/io/basic_istream/tellg.html',0,'std::wiostream::tellg()'],['http://en.cppreference.com/w/cpp/io/basic_istream/tellg.html',0,'std::basic_istringstream::tellg()'],['http://en.cppreference.com/w/cpp/io/basic_istream/tellg.html',0,'std::basic_ifstream::tellg()'],['http://en.cppreference.com/w/cpp/io/basic_istream/tellg.html',0,'std::istringstream::tellg()'],['http://en.cppreference.com/w/cpp/io/basic_istream/tellg.html',0,'std::istream::tellg()'],['http://en.cppreference.com/w/cpp/io/basic_istream/tellg.html',0,'std::wfstream::tellg()'],['http://en.cppreference.com/w/cpp/io/basic_istream/tellg.html',0,'std::basic_iostream::tellg()'],['http://en.cppreference.com/w/cpp/io/basic_istream/tellg.html',0,'std::wstringstream::tellg()'],['http://en.cppreference.com/w/cpp/io/basic_istream/tellg.html',0,'std::wistringstream::tellg()'],['http://en.cppreference.com/w/cpp/io/basic_istream/tellg.html',0,'std::ifstream::tellg()']]], - ['tellp_15',['tellp',['http://en.cppreference.com/w/cpp/io/basic_ostream/tellp.html',0,'std::basic_ofstream::tellp()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/tellp.html',0,'std::fstream::tellp()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/tellp.html',0,'std::wostream::tellp()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/tellp.html',0,'std::basic_ostringstream::tellp()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/tellp.html',0,'std::ostringstream::tellp()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/tellp.html',0,'std::basic_fstream::tellp()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/tellp.html',0,'std::iostream::tellp()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/tellp.html',0,'std::stringstream::tellp()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/tellp.html',0,'std::ostream::tellp()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/tellp.html',0,'std::strstream::tellp()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/tellp.html',0,'std::basic_stringstream::tellp()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/tellp.html',0,'std::wostringstream::tellp()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/tellp.html',0,'std::basic_ostream::tellp()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/tellp.html',0,'std::wiostream::tellp()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/tellp.html',0,'std::ofstream::tellp()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/tellp.html',0,'std::ostrstream::tellp()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/tellp.html',0,'std::wfstream::tellp()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/tellp.html',0,'std::basic_iostream::tellp()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/tellp.html',0,'std::wofstream::tellp()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/tellp.html',0,'std::wstringstream::tellp()']]], - ['temporary_20ban_16',['3. Temporary Ban',['../d3/dd7/md__c_o_d_e___o_f___c_o_n_d_u_c_t.html#autotoc_md13',1,'']]], - ['tera_17',['tera',['http://en.cppreference.com/w/cpp/numeric/ratio/ratio.html',0,'std']]], - ['terminate_18',['terminate',['http://en.cppreference.com/w/cpp/error/terminate.html',0,'std']]], - ['terminate_5fhandler_19',['terminate_handler',['http://en.cppreference.com/w/cpp/error/terminate_handler.html',0,'std']]], - ['ternary_5fsearch_20',['ternary_search',['../dc/dfe/ternary__search_8cpp.html#aef655a27eb82efa299bf9d0becf6e9c8',1,'ternary_search.cpp']]], - ['ternary_5fsearch_2ecpp_21',['ternary_search.cpp',['../dc/dfe/ternary__search_8cpp.html',1,'']]], - ['test_22',['Test',['../d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md29',1,'']]], - ['test_23',['test',['http://en.cppreference.com/w/cpp/utility/bitset/test.html',0,'std::bitset::test()'],['../db/d82/classlarge__number.html#a959c5c1a982949bbf98e1ea0f9afe6a9',1,'large_number::test()'],['../dd/d1e/generate__parentheses_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): generate_parentheses.cpp'],['../dc/d5a/rat__maze_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): rat_maze.cpp'],['../df/d94/subarray__sum_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): subarray_sum.cpp'],['../d2/d5a/subset__sum_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): subset_sum.cpp'],['../dc/d14/wildcard__matching_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): wildcard_matching.cpp'],['../d7/d56/count__bits__flip_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): count_bits_flip.cpp'],['../da/d50/count__of__trailing__ciphers__in__factorial__n_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): count_of_trailing_ciphers_in_factorial_n.cpp'],['../d6/d38/find__non__repeating__number_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): find_non_repeating_number.cpp'],['../d4/d48/hamming__distance_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): hamming_distance.cpp'],['../d5/d1e/next__higher__number__with__same__number__of__set__bits_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): next_higher_number_with_same_number_of_set_bits.cpp'],['../dc/d6d/power__of__2_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): power_of_2.cpp'],['../d5/db5/set__kth__bit_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): set_kth_bit.cpp'],['../d4/d8f/travelling__salesman__using__bit__manipulation_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): travelling_salesman_using_bit_manipulation.cpp'],['../de/db6/a1z26__cipher_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): a1z26_cipher.cpp'],['../dc/dfb/atbash__cipher_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): atbash_cipher.cpp'],['../d6/d2c/caesar__cipher_8cpp.html#ae1a3968e7947464bee7714f6d43b7002',1,'test(): caesar_cipher.cpp'],['../df/d2c/elliptic__curve__key__exchange_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): elliptic_curve_key_exchange.cpp'],['../d8/d76/morse__code_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): morse_code.cpp'],['../dd/d12/vigenere__cipher_8cpp.html#ae1a3968e7947464bee7714f6d43b7002',1,'test(): vigenere_cipher.cpp'],['../d3/d4c/xor__cipher_8cpp.html#ae1a3968e7947464bee7714f6d43b7002',1,'test(): xor_cipher.cpp'],['../df/d47/fcfs__scheduling_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): fcfs_scheduling.cpp'],['../d7/d00/list__array_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): list_array.cpp'],['../d6/d05/reverse__a__linked__list_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): reverse_a_linked_list.cpp'],['../de/dd1/segment__tree_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): segment_tree.cpp'],['../d8/dab/sparse__table_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): sparse_table.cpp'],['../d0/dd2/treap_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): treap.cpp'],['../d7/d83/trie__tree_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): trie_tree.cpp'],['../d5/d8a/trie__using__hashmap_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): trie_using_hashmap.cpp'],['../da/dd3/karatsuba__algorithm__for__fast__multiplication_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): karatsuba_algorithm_for_fast_multiplication.cpp'],['../db/d16/0__1__knapsack_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): 0_1_knapsack.cpp'],['../d7/d73/abbreviation_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): abbreviation.cpp'],['../d9/d31/coin__change__topdown_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): coin_change_topdown.cpp'],['../d6/d10/cut__rod_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): cut_rod.cpp'],['../d6/d26/house__robber_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): house_robber.cpp'],['../d7/d57/longest__increasing__subsequence_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): longest_increasing_subsequence.cpp'],['../d0/d77/longest__palindromic__subsequence_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): longest_palindromic_subsequence.cpp'],['../db/dfb/maximum__circular__subarray_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): maximum_circular_subarray.cpp'],['../da/d52/minimum__edit__distance_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): minimum_edit_distance.cpp'],['../d5/d90/palindrome__partitioning_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): palindrome_partitioning.cpp'],['../d7/d65/shortest__common__supersequence_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): shortest_common_supersequence.cpp'],['../dc/d67/subset__sum__dynamic_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): subset_sum_dynamic.cpp'],['../d9/d80/trapped__rainwater_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): trapped_rainwater.cpp'],['../d3/d84/word__break_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): word_break.cpp'],['../d4/d8d/jarvis__algorithm_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): jarvis_algorithm.cpp'],['../d8/d99/connected__components__with__dsu_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): connected_components_with_dsu.cpp'],['../d6/dd8/is__graph__bipartite_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): is_graph_bipartite.cpp'],['../d8/db9/topological__sort_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): topological_sort.cpp'],['../da/dd3/namespacespirograph.html#a8e83a64e8443fff1e5ffdc1c299c1e99',1,'spirograph::test()'],['../d6/dba/jump__game_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): jump_game.cpp'],['../d8/d7d/kruskals__minimum__spanning__tree_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): kruskals_minimum_spanning_tree.cpp'],['../d5/d96/md5_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): md5.cpp'],['../d8/d7a/sha1_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): sha1.cpp'],['../d4/d3e/k__nearest__neighbors_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): k_nearest_neighbors.cpp'],['../d2/d58/neural__network_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): neural_network.cpp'],['../de/d99/aliquot__sum_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): aliquot_sum.cpp'],['../dc/d82/area_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): area.cpp'],['../d7/d89/double__factorial_8cpp.html#abbbcebf3a2d0c67f4c3cfb5511a97981',1,'test(uint64_t n, uint64_t expected): double_factorial.cpp'],['../d7/da6/eratosthenes_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): eratosthenes.cpp'],['../da/d23/eulers__totient__function_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): eulers_totient_function.cpp'],['../d9/d89/fibonacci_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): fibonacci.cpp'],['../da/dc9/fibonacci__matrix__exponentiation_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): fibonacci_matrix_exponentiation.cpp'],['../de/dc3/fibonacci__sum_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): fibonacci_sum.cpp'],['../d1/d11/gcd__of__n__numbers_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): gcd_of_n_numbers.cpp'],['../db/d40/integral__approximation2_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): integral_approximation2.cpp'],['../d6/db8/inv__sqrt_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): inv_sqrt.cpp'],['../db/d9f/iterative__factorial_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): iterative_factorial.cpp'],['../d5/d7a/largest__power_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): largest_power.cpp'],['../d5/d83/lcm__sum_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): lcm_sum.cpp'],['../df/d72/modular__division_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): modular_division.cpp'],['../d0/d6d/modular__exponentiation_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): modular_exponentiation.cpp'],['../d8/d53/modular__inverse__fermat__little__theorem_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): modular_inverse_fermat_little_theorem.cpp'],['../d6/d2d/modular__inverse__simple_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): modular_inverse_simple.cpp'],['../db/d27/n__bonacci_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): n_bonacci.cpp'],['../d1/dbb/n__choose__r_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): n_choose_r.cpp'],['../d3/dfe/perimeter_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): perimeter.cpp'],['../d4/d38/power__of__two_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): power_of_two.cpp'],['../da/d18/quadratic__equations__complex__numbers_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): quadratic_equations_complex_numbers.cpp'],['../d4/d9d/sum__of__binomial__coefficient_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): sum_of_binomial_coefficient.cpp'],['../d4/d83/sum__of__digits_8cpp.html#ae1a3968e7947464bee7714f6d43b7002',1,'test(): sum_of_digits.cpp'],['../df/d66/vector__cross__product_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): vector_cross_product.cpp'],['../da/d39/volume_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): volume.cpp'],['../dc/d9c/babylonian__method_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): babylonian_method.cpp'],['../d4/d18/composite__simpson__rule_8cpp.html#a2ae48a41e43dc6ab11b962742349646e',1,'test(std::int32_t N, double h, double a, double b, bool used_argv_parameters): composite_simpson_rule.cpp'],['../d8/d9a/fast__fourier__transform_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): fast_fourier_transform.cpp'],['../d5/d33/gram__schmidt_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): gram_schmidt.cpp'],['../d9/d37/inverse__fast__fourier__transform_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): inverse_fast_fourier_transform.cpp'],['../df/d11/midpoint__integral__method_8cpp.html#a2ae48a41e43dc6ab11b962742349646e',1,'test(std::int32_t N, double h, double a, double b, bool used_argv_parameters): midpoint_integral_method.cpp'],['../d1/da6/rungekutta_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): rungekutta.cpp'],['../d9/d14/array__left__rotation_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): array_left_rotation.cpp'],['../d6/d57/array__right__rotation_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): array_right_rotation.cpp'],['../de/d33/circular__linked__list_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): circular_linked_list.cpp'],['../d4/d32/inorder__successor__of__bst_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): inorder_successor_of_bst.cpp'],['../de/dc5/intersection__of__two__arrays_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): intersection_of_two_arrays.cpp'],['../d4/db6/reverse__binary__tree_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): reverse_binary_tree.cpp'],['../d7/def/trie__multiple__search_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): trie_multiple_search.cpp'],['../d8/d9c/union__of__two__arrays_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): union_of_two_arrays.cpp'],['../de/dcd/kadanes3_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): kadanes3.cpp'],['../d9/d65/lfu__cache_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): lfu_cache.cpp'],['../dc/daa/lru__cache2_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): lru_cache2.cpp'],['../d0/d01/smallest__circle_8cpp.html#ae1a3968e7947464bee7714f6d43b7002',1,'test(): smallest_circle.cpp'],['../d9/d29/ground__to__ground__projectile__motion_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): ground_to_ground_projectile_motion.cpp'],['../d9/da2/exponential__dist_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): exponential_dist.cpp'],['../de/d72/geometric__dist_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): geometric_dist.cpp'],['../d1/ded/windowed__median_8cpp.html#a6dc652a36ea42ba262c4e4236e3e6601',1,'test(const std::vector< int > &vals, int windowSize): windowed_median.cpp'],['../d5/d58/persistent__seg__tree__lazy__prop_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): persistent_seg_tree_lazy_prop.cpp'],['../d1/d9e/prefix__sum__array_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): prefix_sum_array.cpp'],['../d2/d45/segtree_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): segtree.cpp'],['../db/dc4/floyd__cycle__detection__algo_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): floyd_cycle_detection_algo.cpp'],['../d9/d69/median__search_8cpp.html#ae1a3968e7947464bee7714f6d43b7002',1,'test(): median_search.cpp'],['../d8/dfa/median__search2_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): median_search2.cpp'],['../d3/d22/saddleback__search_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): saddleback_search.cpp'],['../d5/d45/sublist__search_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): sublist_search.cpp'],['../dc/db5/text__search_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): text_search.cpp'],['../d8/dcc/binary__insertion__sort_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): binary_insertion_sort.cpp'],['../d5/ddb/bogo__sort_8cpp.html#ae1a3968e7947464bee7714f6d43b7002',1,'test(): bogo_sort.cpp'],['../d8/d13/bubble__sort_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): bubble_sort.cpp'],['../d2/d26/count__inversions_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): count_inversions.cpp'],['../de/d07/cycle__sort_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): cycle_sort.cpp'],['../d6/d1a/dnf__sort_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): dnf_sort.cpp'],['../d2/d21/gnome__sort_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): gnome_sort.cpp'],['../d2/d52/heap__sort_8cpp.html#ae1a3968e7947464bee7714f6d43b7002',1,'test(): heap_sort.cpp'],['../de/d7b/merge__insertion__sort_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): merge_insertion_sort.cpp'],['../d3/d92/pancake__sort_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): pancake_sort.cpp'],['../d1/daa/random__pivot__quick__sort_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): random_pivot_quick_sort.cpp'],['../d3/df9/recursive__bubble__sort_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): recursive_bubble_sort.cpp'],['../d4/d9f/selection__sort__recursive_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): selection_sort_recursive.cpp'],['../dc/dd9/strand__sort_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): strand_sort.cpp'],['../db/d3f/wave__sort_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): wave_sort.cpp'],['../d5/d4c/group__sorting.html#gaa8dca7b867074164d5f45b0f3851269d',1,'test(): wiggle_sort.cpp'],['../db/d09/duval_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): duval.cpp'],['../d3/dfe/horspool_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): horspool.cpp'],['../d3/d39/manacher__algorithm_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): manacher_algorithm.cpp'],['../d3/d80/z__function_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): z_function.cpp']]], - ['test_20examples_24',['Self-test examples',['../d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md30',1,'']]], - ['test1_25',['test1',['../d7/db9/hill__cipher_8cpp.html#a3147ad576f8a94a2a6b66948672b452b',1,'test1(const std::string &text): hill_cipher.cpp'],['../d3/dae/dsu__path__compression_8cpp.html#ae7880ce913f3058a35ff106d5be9e243',1,'test1(): dsu_path_compression.cpp'],['../df/d28/dsu__union__rank_8cpp.html#ae7880ce913f3058a35ff106d5be9e243',1,'test1(): dsu_union_rank.cpp'],['../db/dbc/tree__234_8cpp.html#ae7880ce913f3058a35ff106d5be9e243',1,'test1(): tree_234.cpp'],['../dd/d0c/hamiltons__cycle_8cpp.html#ae7880ce913f3058a35ff106d5be9e243',1,'test1(): hamiltons_cycle.cpp'],['../d5/db0/adaline__learning_8cpp.html#a52053d88ea1bcbbed9aca67ab4eeb499',1,'test1(double eta=0.01): adaline_learning.cpp'],['../d4/def/kohonen__som__topology_8cpp.html#a1440a7779ac56f47a3f355ce4a8c7da0',1,'test1(): kohonen_som_topology.cpp'],['../d9/d49/kohonen__som__trace_8cpp.html#a1440a7779ac56f47a3f355ce4a8c7da0',1,'test1(): kohonen_som_trace.cpp'],['../d6/d9d/large__factorial_8cpp.html#a3f93b60e229b6683e24c4754a7106ee8',1,'test1(): large_factorial.cpp'],['../d4/d83/sum__of__digits_8cpp.html#a1440a7779ac56f47a3f355ce4a8c7da0',1,'test1(): sum_of_digits.cpp'],['../db/d01/brent__method__extrema_8cpp.html#a1440a7779ac56f47a3f355ce4a8c7da0',1,'test1(): brent_method_extrema.cpp'],['../da/df2/durand__kerner__roots_8cpp.html#a1440a7779ac56f47a3f355ce4a8c7da0',1,'test1(): durand_kerner_roots.cpp'],['../d6/d7a/golden__search__extrema_8cpp.html#a1440a7779ac56f47a3f355ce4a8c7da0',1,'test1(): golden_search_extrema.cpp'],['../dd/d65/lu__decompose_8cpp.html#a1440a7779ac56f47a3f355ce4a8c7da0',1,'test1(): lu_decompose.cpp'],['../de/d75/qr__eigen__values_8cpp.html#a1440a7779ac56f47a3f355ce4a8c7da0',1,'test1(): qr_eigen_values.cpp'],['../d9/df4/namespacetests.html#a167c24bd817469ae47358d12e034f2d5',1,'tests::test1()'],['../d8/d90/iterative__tree__traversals_8cpp.html#a21d922dbb5905993960c6a7f0ba71ac0',1,'test1(others::iterative_tree_traversals::BinaryTree binaryTree, others::iterative_tree_traversals::Node *root): iterative_tree_traversals.cpp'],['../dc/de1/recursive__tree__traversal_8cpp.html#a1440a7779ac56f47a3f355ce4a8c7da0',1,'test1(): recursive_tree_traversal.cpp'],['../d4/d4f/stooge__sort_8cpp.html#a1440a7779ac56f47a3f355ce4a8c7da0',1,'test1(): stooge_sort.cpp']]], - ['test2_26',['test2',['../d7/db9/hill__cipher_8cpp.html#a04391124480d2a49f2dec900237b0712',1,'test2(const std::string &text): hill_cipher.cpp'],['../d3/dae/dsu__path__compression_8cpp.html#a45d94ead4cf4e1ff9f87c38bc99f59ae',1,'test2(): dsu_path_compression.cpp'],['../df/d28/dsu__union__rank_8cpp.html#a45d94ead4cf4e1ff9f87c38bc99f59ae',1,'test2(): dsu_union_rank.cpp'],['../db/dbc/tree__234_8cpp.html#af1ac73779b0fcfbbdce3976c0ca57342',1,'test2(int64_t n): tree_234.cpp'],['../dd/d0c/hamiltons__cycle_8cpp.html#a45d94ead4cf4e1ff9f87c38bc99f59ae',1,'test2(): hamiltons_cycle.cpp'],['../d5/db0/adaline__learning_8cpp.html#a379f7488a305f2571f2932b319931f82',1,'test2(double eta=0.01): adaline_learning.cpp'],['../d4/def/kohonen__som__topology_8cpp.html#a0283886819c7c140a023582b7269e2d0',1,'test2(): kohonen_som_topology.cpp'],['../d9/d49/kohonen__som__trace_8cpp.html#a0283886819c7c140a023582b7269e2d0',1,'test2(): kohonen_som_trace.cpp'],['../d6/d9d/large__factorial_8cpp.html#a76aae4778fbe89a3d59fd61fbc050cfa',1,'test2(): large_factorial.cpp'],['../d4/d83/sum__of__digits_8cpp.html#a0283886819c7c140a023582b7269e2d0',1,'test2(): sum_of_digits.cpp'],['../db/d01/brent__method__extrema_8cpp.html#a0283886819c7c140a023582b7269e2d0',1,'test2(): brent_method_extrema.cpp'],['../da/df2/durand__kerner__roots_8cpp.html#a0283886819c7c140a023582b7269e2d0',1,'test2(): durand_kerner_roots.cpp'],['../d6/d7a/golden__search__extrema_8cpp.html#a0283886819c7c140a023582b7269e2d0',1,'test2(): golden_search_extrema.cpp'],['../dd/d65/lu__decompose_8cpp.html#a0283886819c7c140a023582b7269e2d0',1,'test2(): lu_decompose.cpp'],['../de/d75/qr__eigen__values_8cpp.html#a0283886819c7c140a023582b7269e2d0',1,'test2(): qr_eigen_values.cpp'],['../d9/df4/namespacetests.html#abdd77344d4af8fd56d14a5cabbf2f669',1,'tests::test2()'],['../d8/d90/iterative__tree__traversals_8cpp.html#ac35ae2868441f8a11c965b87b2494f21',1,'test2(others::iterative_tree_traversals::BinaryTree binaryTree, others::iterative_tree_traversals::Node *root): iterative_tree_traversals.cpp'],['../dc/de1/recursive__tree__traversal_8cpp.html#a0283886819c7c140a023582b7269e2d0',1,'test2(): recursive_tree_traversal.cpp'],['../d0/d01/smallest__circle_8cpp.html#a0283886819c7c140a023582b7269e2d0',1,'test2(): smallest_circle.cpp'],['../d4/d4f/stooge__sort_8cpp.html#a0283886819c7c140a023582b7269e2d0',1,'test2(): stooge_sort.cpp']]], - ['test3_27',['test3',['../dd/d0c/hamiltons__cycle_8cpp.html#a0cc94918b6831f308d4fe4fa27f08299',1,'test3(): hamiltons_cycle.cpp'],['../d5/db0/adaline__learning_8cpp.html#a992bdf1fdb0b9d414bcf7981d2d87aa9',1,'test3(double eta=0.01): adaline_learning.cpp'],['../d4/def/kohonen__som__topology_8cpp.html#a6d0455dd5c30adda100e95f0423c786e',1,'test3(): kohonen_som_topology.cpp'],['../d9/d49/kohonen__som__trace_8cpp.html#a6d0455dd5c30adda100e95f0423c786e',1,'test3(): kohonen_som_trace.cpp'],['../db/d01/brent__method__extrema_8cpp.html#a6d0455dd5c30adda100e95f0423c786e',1,'test3(): brent_method_extrema.cpp'],['../d6/d7a/golden__search__extrema_8cpp.html#a6d0455dd5c30adda100e95f0423c786e',1,'test3(): golden_search_extrema.cpp'],['../d9/df4/namespacetests.html#aa515639572647508b94986489aab6d76',1,'tests::test3()'],['../d8/d90/iterative__tree__traversals_8cpp.html#a425c4c8520991999ee6dbe13d99b87f4',1,'test3(others::iterative_tree_traversals::BinaryTree binaryTree, others::iterative_tree_traversals::Node *root): iterative_tree_traversals.cpp'],['../dc/de1/recursive__tree__traversal_8cpp.html#a6d0455dd5c30adda100e95f0423c786e',1,'test3(): recursive_tree_traversal.cpp'],['../d0/d01/smallest__circle_8cpp.html#a6d0455dd5c30adda100e95f0423c786e',1,'test3(): smallest_circle.cpp'],['../d4/d4f/stooge__sort_8cpp.html#a6d0455dd5c30adda100e95f0423c786e',1,'test3(): stooge_sort.cpp']]], - ['test4_28',['test4',['../d9/df4/namespacetests.html#a2b9769e44683dcb67fe1083ad91e134d',1,'tests::test4()'],['../d8/d90/iterative__tree__traversals_8cpp.html#a038b236fe900f7bb7e57164f5bed66c2',1,'test4(): iterative_tree_traversals.cpp']]], - ['test5_29',['test5',['../d9/df4/namespacetests.html#af7b81d7a1534216af6a36a80135beb86',1,'tests::test5()'],['../d8/d90/iterative__tree__traversals_8cpp.html#aa9ef334cd7eb607f4eb8732566ea00b8',1,'test5(): iterative_tree_traversals.cpp']]], - ['test6_30',['test6',['../d9/df4/namespacetests.html#aacafde185abd8670abee51157f273dc2',1,'tests::test6()'],['../d8/d90/iterative__tree__traversals_8cpp.html#af727f920064f2b8f484b589b60d49b89',1,'test6(): iterative_tree_traversals.cpp']]], - ['test_5f1_31',['test_1',['../d3/db3/lru__cache_8cpp.html#a6401e8f2d41d8cc9cd0e52ab381608d4',1,'lru_tests::test_1()'],['../d2/de9/heavy__light__decomposition_8cpp.html#a34b8683a2b429de5cce57e6d733ec817',1,'test_1(): heavy_light_decomposition.cpp'],['../dd/da8/pigeonhole__sort_8cpp.html#a34b8683a2b429de5cce57e6d733ec817',1,'test_1(): pigeonhole_sort.cpp']]], - ['test_5f2_32',['test_2',['../d3/db3/lru__cache_8cpp.html#a4b02e288a407876a8d6024f98a2a25ec',1,'lru_tests::test_2()'],['../d2/de9/heavy__light__decomposition_8cpp.html#a458410412185a5f09199deaff7157a8d',1,'test_2(): heavy_light_decomposition.cpp'],['../dd/da8/pigeonhole__sort_8cpp.html#a458410412185a5f09199deaff7157a8d',1,'test_2(): pigeonhole_sort.cpp']]], - ['test_5f2d_5fclasses_33',['test_2d_classes',['../d4/def/kohonen__som__topology_8cpp.html#a48efb079040c7aaa3a4917a0e486cba9',1,'kohonen_som_topology.cpp']]], - ['test_5f3_34',['test_3',['../d3/db3/lru__cache_8cpp.html#a01ec21fc91ddafd964ae2035ba7892c0',1,'lru_tests::test_3()'],['../d2/de9/heavy__light__decomposition_8cpp.html#af31ec5409537703d9c8a47350386b32a',1,'test_3(): heavy_light_decomposition.cpp'],['../dd/da8/pigeonhole__sort_8cpp.html#af31ec5409537703d9c8a47350386b32a',1,'test_3(): pigeonhole_sort.cpp']]], - ['test_5f3d_5fclasses_35',['test_3d_classes',['../d9/d49/kohonen__som__trace_8cpp.html#a7154fe319e6033485a8a6cd6f0d8932d',1,'kohonen_som_trace.cpp']]], - ['test_5f3d_5fclasses1_36',['test_3d_classes1',['../d4/def/kohonen__som__topology_8cpp.html#a1302662a56ebf67a21249270b017297e',1,'kohonen_som_topology.cpp']]], - ['test_5f3d_5fclasses2_37',['test_3d_classes2',['../d4/def/kohonen__som__topology_8cpp.html#a4b7ab643f6a5002f991837de46f70653',1,'kohonen_som_topology.cpp']]], - ['test_5fand_5fset_38',['test_and_set',['http://en.cppreference.com/w/cpp/atomic/atomic_flag/test_and_set.html',0,'std::atomic_flag']]], - ['test_5fbitset_39',['test_bitset',['../d9/dab/bloom__filter_8cpp.html#a6e509afe40db07681f676ad8da4fb905',1,'bloom_filter.cpp']]], - ['test_5fbloom_5ffilter_5fint_40',['test_bloom_filter_int',['../d9/dab/bloom__filter_8cpp.html#a30edc0d2bb59c185baec81d69d20ed3b',1,'bloom_filter.cpp']]], - ['test_5fbloom_5ffilter_5fstring_41',['test_bloom_filter_string',['../d9/dab/bloom__filter_8cpp.html#a71f57bf262fe55db928b19dc124cc0d8',1,'bloom_filter.cpp']]], - ['test_5fcircle_42',['test_circle',['../d9/d49/kohonen__som__trace_8cpp.html#ae571600aa42a81bc14a4a602ea5ff00d',1,'kohonen_som_trace.cpp']]], - ['test_5fcompute_5fpadded_5fsize_43',['test_compute_padded_size',['../d4/d08/sha256_8cpp.html#af9b52eba85d23e309035354141259f27',1,'sha256.cpp']]], - ['test_5fcontains_44',['test_contains',['../df/d42/binary__search__tree2_8cpp.html#a1d42876440ac5346e2850a32497385c3',1,'binary_search_tree2.cpp']]], - ['test_5fdouble_45',['test_double',['../d3/d4c/quick__sort__3_8cpp.html#a2635b04ad943fa28b7bbf8d1e6479792',1,'quick_sort_3.cpp']]], - ['test_5feval_46',['test_eval',['../dd/d47/namespacemath.html#a50936ee98f4d40f17823befc65a32aec',1,'math']]], - ['test_5ff_47',['test_f',['../d4/d7a/shell__sort2_8cpp.html#a22ea0d1f7943ebb4371d31e44b465b6d',1,'shell_sort2.cpp']]], - ['test_5ffind_5fmax_48',['test_find_max',['../df/d42/binary__search__tree2_8cpp.html#a9856b68e2cba50d2e26a1cbe374e0365',1,'binary_search_tree2.cpp']]], - ['test_5ffind_5fmin_49',['test_find_min',['../df/d42/binary__search__tree2_8cpp.html#af2847a901160fd45b4044550e9921cb4',1,'binary_search_tree2.cpp']]], - ['test_5ffindgraphsum_50',['test_findGraphSum',['../d4/d6c/boruvkas__minimum__spanning__tree_8cpp.html#a2311b22324cf09926726e4ce1309af8b',1,'greedy_algorithms::boruvkas_minimum_spanning_tree']]], - ['test_5ffunction_51',['test_function',['../d0/d08/realtime__stats_8cpp.html#aa54c915581fcc495489175a4386d59fd',1,'realtime_stats.cpp']]], - ['test_5ffunction_5f1_52',['test_function_1',['../d7/d75/postfix__evaluation_8cpp.html#a6a8eeb7d346d5cd6335d9780fb7c0f15',1,'postfix_evaluation.cpp']]], - ['test_5ffunction_5f2_53',['test_function_2',['../d7/d75/postfix__evaluation_8cpp.html#a5b97d12e8b61484f756a8721992bfae1',1,'postfix_evaluation.cpp']]], - ['test_5fget_5felements_5finorder_54',['test_get_elements_inorder',['../df/d42/binary__search__tree2_8cpp.html#a06f35064850e891d6fda0093c0d9ee6e',1,'binary_search_tree2.cpp']]], - ['test_5fget_5felements_5fpostorder_55',['test_get_elements_postorder',['../df/d42/binary__search__tree2_8cpp.html#a94b76f781fcbe1ad0e3397ace6bb1965',1,'binary_search_tree2.cpp']]], - ['test_5fget_5felements_5fpreorder_56',['test_get_elements_preorder',['../df/d42/binary__search__tree2_8cpp.html#ab00b8d0f21aeb5fbddb6decf3bcb640a',1,'binary_search_tree2.cpp']]], - ['test_5finsert_57',['test_insert',['../df/d42/binary__search__tree2_8cpp.html#a8c882f43e1e52948a7841a8bfb091350',1,'binary_search_tree2.cpp']]], - ['test_5fint_58',['test_int',['../d3/d4c/quick__sort__3_8cpp.html#a07e5c62de28aeddea986890ce7ac1bda',1,'test_int(): quick_sort_3.cpp'],['../d4/d7a/shell__sort2_8cpp.html#a895b313cb2671e8f712040460325573e',1,'test_int(const int NUM_DATA): shell_sort2.cpp']]], - ['test_5flamniscate_59',['test_lamniscate',['../d9/d49/kohonen__som__trace_8cpp.html#a53082f2e5bacec40266499da4547309a',1,'kohonen_som_trace.cpp']]], - ['test_5flongest_5fcommon_5fstring_5flength_60',['test_longest_common_string_length',['../da/d0d/longest__common__string_8cpp.html#a9b229daad982a186a4d8d90aa8f38561',1,'longest_common_string.cpp']]], - ['test_5flongest_5fcommon_5fstring_5flength_5ffor_5freversed_5finputs_61',['test_longest_common_string_length_for_reversed_inputs',['../da/d0d/longest__common__string_8cpp.html#a23ab67b0d9600697695fc8679462d8fe',1,'longest_common_string.cpp']]], - ['test_5flongest_5fcommon_5fstring_5flength_5fis_5fsymmetric_62',['test_longest_common_string_length_is_symmetric',['../da/d0d/longest__common__string_8cpp.html#ad1e613c1b85cc04ed931b6c745fec155',1,'longest_common_string.cpp']]], - ['test_5fremove_63',['test_remove',['../df/d42/binary__search__tree2_8cpp.html#ab1333c3ea06dcad896ee204bbd407c4e',1,'binary_search_tree2.cpp']]], - ['test_5fset_64',['test_set',['../d3/d7d/brute__force__string__searching_8cpp.html#ae2abaa9caa13fff35e45edca00bee123',1,'brute_force_string_searching.cpp']]], - ['testcase_65',['TestCase',['../da/d86/struct_test_case.html',1,'']]], - ['testcase_5f1_66',['testCase_1',['../d5/d58/class_test_cases.html#ac2636e8b5b9e053374c45bfcf0603008',1,'TestCases::testCase_1()'],['../d5/d58/class_test_cases.html#ac2636e8b5b9e053374c45bfcf0603008',1,'TestCases::testCase_1()'],['../d5/d58/class_test_cases.html#ac2636e8b5b9e053374c45bfcf0603008',1,'TestCases::testCase_1()']]], - ['testcase_5f2_67',['testCase_2',['../d5/d58/class_test_cases.html#abae0148985f159b582a385cf399254e3',1,'TestCases::testCase_2()'],['../d5/d58/class_test_cases.html#abae0148985f159b582a385cf399254e3',1,'TestCases::testCase_2()'],['../d5/d58/class_test_cases.html#abae0148985f159b582a385cf399254e3',1,'TestCases::testCase_2()']]], - ['testcase_5f3_68',['testCase_3',['../d5/d58/class_test_cases.html#ad9f95c09931625b41e3be1f88d1e28c5',1,'TestCases::testCase_3()'],['../d5/d58/class_test_cases.html#ad9f95c09931625b41e3be1f88d1e28c5',1,'TestCases::testCase_3()'],['../d5/d58/class_test_cases.html#ad9f95c09931625b41e3be1f88d1e28c5',1,'TestCases::testCase_3()']]], - ['testcases_69',['TestCases',['../d5/d58/class_test_cases.html',1,'']]], - ['tests_70',['tests',['../d9/df4/namespacetests.html',1,'tests'],['../d1/da7/armstrong__number__templated_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e',1,'tests(): armstrong_number_templated.cpp'],['../da/d0d/longest__common__string_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e',1,'tests(): longest_common_string.cpp'],['../d9/dec/unbounded__0__1__knapsack_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e',1,'tests(): unbounded_0_1_knapsack.cpp'],['../d7/d07/bidirectional__dijkstra_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e',1,'tests(): bidirectional_dijkstra.cpp'],['../df/d82/breadth__first__search_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e',1,'tests(): breadth_first_search.cpp'],['../df/ddd/connected__components_8cpp.html#a88ec9ad42717780d6caaff9d3d6977f9',1,'tests(): connected_components.cpp'],['../da/d4b/depth__first__search__with__stack_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e',1,'tests(): depth_first_search_with_stack.cpp'],['../d8/d68/dijkstra_8cpp.html#a88ec9ad42717780d6caaff9d3d6977f9',1,'tests(): dijkstra.cpp'],['../d1/d9a/hopcroft__karp_8cpp.html#a88ec9ad42717780d6caaff9d3d6977f9',1,'tests(): hopcroft_karp.cpp'],['../de/dde/lowest__common__ancestor_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e',1,'tests(): lowest_common_ancestor.cpp'],['../de/d88/travelling__salesman__problem_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e',1,'tests(): travelling_salesman_problem.cpp'],['../d9/d1f/binary__addition_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e',1,'tests(): binary_addition.cpp'],['../d4/d6c/boruvkas__minimum__spanning__tree_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e',1,'tests(): boruvkas_minimum_spanning_tree.cpp'],['../d3/d36/digit__separation_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e',1,'tests(): digit_separation.cpp'],['../da/de8/dijkstra__greedy_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e',1,'tests(): dijkstra_greedy.cpp'],['../db/d80/gale__shapley_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e',1,'tests(): gale_shapley.cpp'],['../d0/d51/approximate__pi_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e',1,'tests(): approximate_pi.cpp'],['../d8/db1/binomial__calculate_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e',1,'tests(): binomial_calculate.cpp'],['../d5/df6/check__amicable__pair_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e',1,'tests(): check_amicable_pair.cpp'],['../d8/dd5/check__factorial_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e',1,'tests(): check_factorial.cpp'],['../db/d93/check__prime_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e',1,'tests(): check_prime.cpp'],['../d5/d67/complex__numbers_8cpp.html#a88ec9ad42717780d6caaff9d3d6977f9',1,'tests(): complex_numbers.cpp'],['../d7/d89/double__factorial_8cpp.html#a88ec9ad42717780d6caaff9d3d6977f9',1,'tests(): double_factorial.cpp'],['../d9/d00/factorial_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e',1,'tests(): factorial.cpp'],['../d4/d21/least__common__multiple_8cpp.html#a88ec9ad42717780d6caaff9d3d6977f9',1,'tests(): least_common_multiple.cpp'],['../d9/d44/magic__number_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e',1,'tests(): magic_number.cpp'],['../d6/d42/miller__rabin_8cpp.html#a88ec9ad42717780d6caaff9d3d6977f9',1,'tests(): miller_rabin.cpp'],['../de/dab/ncr__modulo__p_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e',1,'tests(): ncr_modulo_p.cpp'],['../d0/da2/number__of__positive__divisors_8cpp.html#a88ec9ad42717780d6caaff9d3d6977f9',1,'tests(): number_of_positive_divisors.cpp'],['../d8/ddf/sieve__of__eratosthenes_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e',1,'tests(): sieve_of_eratosthenes.cpp'],['../db/d6b/kelvin__to__celsius_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e',1,'tests(): kelvin_to_celsius.cpp'],['../d4/db8/longest__substring__without__repeating__characters_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e',1,'tests(): longest_substring_without_repeating_characters.cpp'],['../dc/de1/recursive__tree__traversal_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e',1,'tests(): recursive_tree_traversal.cpp'],['../d6/d2e/fenwick__tree_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e',1,'tests(): fenwick_tree.cpp'],['../d9/d02/linear__search_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e',1,'tests(): linear_search.cpp'],['../d9/d5f/longest__increasing__subsequence__using__binary__search_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e',1,'tests(): longest_increasing_subsequence_using_binary_search.cpp'],['../d9/dfd/comb__sort_8cpp.html#a88ec9ad42717780d6caaff9d3d6977f9',1,'tests(): comb_sort.cpp'],['../dd/d0d/insertion__sort_8cpp.html#a88ec9ad42717780d6caaff9d3d6977f9',1,'tests(): insertion_sort.cpp'],['../dd/d89/insertion__sort__recursive_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e',1,'tests(): insertion_sort_recursive.cpp'],['../d1/d21/quick__sort_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e',1,'tests(): quick_sort.cpp'],['../d3/d22/quick__sort__iterative_8cpp.html#a88ec9ad42717780d6caaff9d3d6977f9',1,'tests(): quick_sort_iterative.cpp'],['../d8/d61/radix__sort2_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e',1,'tests(): radix_sort2.cpp'],['../d3/db2/boyer__moore_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e',1,'tests(): boyer_moore.cpp'],['../de/d6a/knuth__morris__pratt_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e',1,'tests(): knuth_morris_pratt.cpp']]], - ['text_5fsearch_2ecpp_71',['text_search.cpp',['../dc/db5/text__search_8cpp.html',1,'']]], - ['tgamma_72',['tgamma',['http://en.cppreference.com/w/cpp/numeric/math/tgamma.html',0,'std']]], - ['th_73',['TH',['../db/d3c/tower__of__hanoi_8cpp.html#ab037f72a5eac476535a6cfbbcb965417',1,'tower_of_hanoi.cpp']]], - ['the_20address_20of_20parent_20nodes_74',['Method 1: Use parent pointer (store the address of parent nodes)',['../d4/d32/inorder__successor__of__bst_8cpp.html#autotoc_md91',1,'']]], - ['the_20algorithms_20c_75',['The Algorithms - C++',['../index.html',1,'']]], - ['the_20given_20node_20does_20not_20have_20a_20right_20node_20subtree_76',['Case 2: The given node does not have a right node/subtree',['../d4/d32/inorder__successor__of__bst_8cpp.html#autotoc_md90',1,'']]], - ['the_20given_20node_20has_20the_20right_20node_20subtree_77',['Case 1: The given node has the right node/subtree',['../d4/d32/inorder__successor__of__bst_8cpp.html#autotoc_md89',1,'']]], - ['the_20right_20node_20subtree_78',['Case 1: The given node has the right node/subtree',['../d4/d32/inorder__successor__of__bst_8cpp.html#autotoc_md89',1,'']]], - ['the_20root_20node_79',['Method 2: Search from the root node',['../d4/d32/inorder__successor__of__bst_8cpp.html#autotoc_md92',1,'']]], - ['thousands_5fsep_80',['thousands_sep',['http://en.cppreference.com/w/cpp/locale/moneypunct/thousands_sep.html',0,'std::moneypunct_byname::thousands_sep()'],['http://en.cppreference.com/w/cpp/locale/moneypunct/thousands_sep.html',0,'std::moneypunct::thousands_sep()'],['http://en.cppreference.com/w/cpp/locale/numpunct/thousands_sep.html',0,'std::numpunct_byname::thousands_sep()'],['http://en.cppreference.com/w/cpp/locale/numpunct/thousands_sep.html',0,'std::numpunct::thousands_sep()']]], - ['thread_81',['thread',['http://en.cppreference.com/w/cpp/thread/thread.html',0,'std::thread'],['http://en.cppreference.com/w/cpp/thread/thread/thread.html',0,'std::thread::thread()']]], - ['throw_5fwith_5fnested_82',['throw_with_nested',['http://en.cppreference.com/w/cpp/error/throw_with_nested.html',0,'std']]], - ['tie_83',['tie',['http://en.cppreference.com/w/cpp/io/basic_ios/tie.html',0,'std::basic_ofstream::tie()'],['http://en.cppreference.com/w/cpp/io/basic_ios/tie.html',0,'std::fstream::tie()'],['http://en.cppreference.com/w/cpp/io/basic_ios/tie.html',0,'std::wostream::tie()'],['http://en.cppreference.com/w/cpp/io/basic_ios/tie.html',0,'std::basic_ostringstream::tie()'],['http://en.cppreference.com/w/cpp/io/basic_ios/tie.html',0,'std::basic_ios::tie()'],['http://en.cppreference.com/w/cpp/io/basic_ios/tie.html',0,'std::ostringstream::tie()'],['http://en.cppreference.com/w/cpp/io/basic_ios/tie.html',0,'std::basic_fstream::tie()'],['http://en.cppreference.com/w/cpp/io/basic_ios/tie.html',0,'std::iostream::tie()'],['http://en.cppreference.com/w/cpp/io/basic_ios/tie.html',0,'std::wistream::tie()'],['http://en.cppreference.com/w/cpp/io/basic_ios/tie.html',0,'std::stringstream::tie()'],['http://en.cppreference.com/w/cpp/io/basic_ios/tie.html',0,'std::ostream::tie()'],['http://en.cppreference.com/w/cpp/io/basic_ios/tie.html',0,'std::wifstream::tie()'],['http://en.cppreference.com/w/cpp/io/basic_ios/tie.html',0,'std::basic_istream::tie()'],['http://en.cppreference.com/w/cpp/io/basic_ios/tie.html',0,'std::strstream::tie()'],['http://en.cppreference.com/w/cpp/io/basic_ios/tie.html',0,'std::basic_stringstream::tie()'],['http://en.cppreference.com/w/cpp/io/basic_ios/tie.html',0,'std::wostringstream::tie()'],['http://en.cppreference.com/w/cpp/io/basic_ios/tie.html',0,'std::istrstream::tie()'],['http://en.cppreference.com/w/cpp/io/basic_ios/tie.html',0,'std::basic_ostream::tie()'],['http://en.cppreference.com/w/cpp/io/basic_ios/tie.html',0,'std::wiostream::tie()'],['http://en.cppreference.com/w/cpp/io/basic_ios/tie.html',0,'std::ofstream::tie()'],['http://en.cppreference.com/w/cpp/io/basic_ios/tie.html',0,'std::basic_istringstream::tie()'],['http://en.cppreference.com/w/cpp/io/basic_ios/tie.html',0,'std::basic_ifstream::tie()'],['http://en.cppreference.com/w/cpp/io/basic_ios/tie.html',0,'std::istringstream::tie()'],['http://en.cppreference.com/w/cpp/io/basic_ios/tie.html',0,'std::istream::tie()'],['http://en.cppreference.com/w/cpp/io/basic_ios/tie.html',0,'std::ostrstream::tie()'],['http://en.cppreference.com/w/cpp/io/basic_ios/tie.html',0,'std::wfstream::tie()'],['http://en.cppreference.com/w/cpp/io/basic_ios/tie.html',0,'std::basic_iostream::tie()'],['http://en.cppreference.com/w/cpp/io/basic_ios/tie.html',0,'std::wofstream::tie()'],['http://en.cppreference.com/w/cpp/io/basic_ios/tie.html',0,'std::wstringstream::tie()'],['http://en.cppreference.com/w/cpp/io/basic_ios/tie.html',0,'std::wistringstream::tie()'],['http://en.cppreference.com/w/cpp/io/basic_ios/tie.html',0,'std::ifstream::tie()'],['http://en.cppreference.com/w/cpp/utility/tuple/tie.html',0,'std::tie(T... args)']]], - ['time_84',['time',['http://en.cppreference.com/w/cpp/chrono/c/time.html',0,'std']]], - ['time_5fbase_85',['time_base',['http://en.cppreference.com/w/cpp/locale/time_base.html',0,'std']]], - ['time_5fget_86',['time_get',['http://en.cppreference.com/w/cpp/locale/time_get.html',0,'std::time_get'],['http://en.cppreference.com/w/cpp/locale/time_get/time_get.html',0,'std::time_get::time_get()']]], - ['time_5fget_5fbyname_87',['time_get_byname',['http://en.cppreference.com/w/cpp/locale/time_get_byname.html',0,'std::time_get_byname'],['http://en.cppreference.com/w/cpp/locale/time_get_byname.html',0,'std::time_get_byname::time_get_byname()']]], - ['time_5fof_5fflight_88',['time_of_flight',['../d9/d29/ground__to__ground__projectile__motion_8cpp.html#a563e066975fed1b84750a0a47c3cbb37',1,'physics::ground_to_ground_projectile_motion']]], - ['time_5fpoint_89',['time_point',['http://en.cppreference.com/w/cpp/chrono/time_point.html',0,'std::chrono::time_point'],['http://en.cppreference.com/w/cpp/chrono/time_point/time_point.html',0,'std::chrono::time_point::time_point()']]], - ['time_5fpoint_5fcast_90',['time_point_cast',['http://en.cppreference.com/w/cpp/chrono/time_point/time_point_cast.html',0,'std::chrono']]], - ['time_5fput_91',['time_put',['http://en.cppreference.com/w/cpp/locale/time_put.html',0,'std::time_put'],['http://en.cppreference.com/w/cpp/locale/time_put/time_put.html',0,'std::time_put::time_put()']]], - ['time_5fput_5fbyname_92',['time_put_byname',['http://en.cppreference.com/w/cpp/locale/time_put_byname.html',0,'std::time_put_byname'],['http://en.cppreference.com/w/cpp/locale/time_put_byname.html',0,'std::time_put_byname::time_put_byname()']]], - ['time_5fsince_5fepoch_93',['time_since_epoch',['http://en.cppreference.com/w/cpp/chrono/time_point/time_since_epoch.html',0,'std::chrono::time_point']]], - ['time_5ft_94',['time_t',['http://en.cppreference.com/w/cpp/chrono/c/time_t.html',0,'std']]], - ['timed_5fmutex_95',['timed_mutex',['http://en.cppreference.com/w/cpp/thread/timed_mutex.html',0,'std::timed_mutex'],['http://en.cppreference.com/w/cpp/thread/timed_mutex/timed_mutex.html',0,'std::timed_mutex::timed_mutex()']]], - ['tm_96',['tm',['http://en.cppreference.com/w/cpp/chrono/c/tm.html',0,'std']]], - ['tmpfile_97',['tmpfile',['http://en.cppreference.com/w/cpp/io/c/tmpfile.html',0,'std']]], - ['tmpnam_98',['tmpnam',['http://en.cppreference.com/w/cpp/io/c/tmpnam.html',0,'std']]], - ['tnode_99',['Tnode',['../d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html',1,'operations_on_datastructures::trie_operations']]], - ['to_5fbytes_100',['to_bytes',['http://en.cppreference.com/w/cpp/locale/wstring_convert/to_bytes.html',0,'std::wstring_convert']]], - ['to_5fchar_5ftype_101',['to_char_type',['http://en.cppreference.com/w/cpp/string/char_traits/to_char_type.html',0,'std::char_traits']]], - ['to_5fint_5ftype_102',['to_int_type',['http://en.cppreference.com/w/cpp/string/char_traits/to_int_type.html',0,'std::char_traits']]], - ['to_5fstring_103',['to_string',['http://en.cppreference.com/w/cpp/utility/bitset/to_string.html',0,'std::bitset::to_string()'],['../d6/d84/classhashing_1_1sha256_1_1_hash.html#a4581f503a263d8e928e5716d54477e08',1,'hashing::sha256::Hash::to_string()'],['http://en.cppreference.com/w/cpp/string/basic_string/to_string.html',0,'std::to_string()']]], - ['to_5ftime_5ft_104',['to_time_t',['http://en.cppreference.com/w/cpp/chrono/system_clock/to_time_t.html',0,'std::chrono::system_clock']]], - ['to_5fullong_105',['to_ullong',['http://en.cppreference.com/w/cpp/utility/bitset/to_ullong.html',0,'std::bitset']]], - ['to_5fulong_106',['to_ulong',['http://en.cppreference.com/w/cpp/utility/bitset/to_ulong.html',0,'std::bitset']]], - ['to_5fwstring_107',['to_wstring',['http://en.cppreference.com/w/cpp/string/basic_string/to_wstring.html',0,'std']]], - ['todo_20list_108',['Todo List',['../dd/da0/todo.html',1,'']]], - ['tolittleendian32_109',['toLittleEndian32',['../d5/d96/md5_8cpp.html#a694712c9665051ba52b686387b87a689',1,'hashing::md5']]], - ['tolittleendian64_110',['toLittleEndian64',['../d5/d96/md5_8cpp.html#a6be48c1e6e742f9bd329f501d61dcaef',1,'hashing::md5']]], - ['tolower_111',['tolower',['http://en.cppreference.com/w/cpp/locale/ctype/tolower.html',0,'std::ctype_byname::tolower()'],['http://en.cppreference.com/w/cpp/locale/ctype/tolower.html',0,'std::ctype::tolower()'],['http://en.cppreference.com/w/cpp/string/byte/tolower.html',0,'std::tolower()']]], - ['tolowerroman_112',['tolowerRoman',['../de/d85/decimal__to__roman__numeral_8cpp.html#a003fb4e1b08279fe4cd50fbbc2782c2d',1,'decimal_to_roman_numeral.cpp']]], - ['top_113',['top',['../d2/d2c/structtower.html#acb535964abd34c47678a4ade0628223d',1,'tower::top'],['http://en.cppreference.com/w/cpp/container/stack/top.html',0,'std::stack::top()'],['http://en.cppreference.com/w/cpp/container/priority_queue/top.html',0,'std::priority_queue::top()'],['../d1/def/classdata__structures_1_1linked__list_1_1list.html#a9785d1478e59f5a90288b2928a7094d6',1,'data_structures::linked_list::list::top()'],['../d1/dc2/classstack.html#ae09630c4384903d187801921b2ddc709',1,'stack::top()'],['../db/d5b/structdata__structures_1_1stack__using__queue_1_1_stack.html#a5540434e1b41245205eee86f664906f7',1,'data_structures::stack_using_queue::Stack::top()']]], - ['topmost_114',['topmost',['../d2/dc8/classdata__structures_1_1_stack.html#a61dc70e128ee64c9684f03a4c04818b0',1,'data_structures::Stack']]], - ['topological_5fsort_115',['topological_sort',['../d8/d76/namespacetopological__sort.html',1,'']]], - ['topological_5fsort_2ecpp_116',['topological_sort.cpp',['../d8/db9/topological__sort_8cpp.html',1,'']]], - ['topologicalsort_117',['topologicalSort',['../d8/db9/topological__sort_8cpp.html#a54dc5d7914958dbd24dda2fd862dc41b',1,'graph::topological_sort']]], - ['toupper_118',['toupper',['http://en.cppreference.com/w/cpp/locale/ctype/toupper.html',0,'std::ctype_byname::toupper()'],['http://en.cppreference.com/w/cpp/locale/ctype/toupper.html',0,'std::ctype::toupper()'],['http://en.cppreference.com/w/cpp/string/byte/toupper.html',0,'std::toupper()']]], - ['toupperroman_119',['toupperRoman',['../de/d85/decimal__to__roman__numeral_8cpp.html#a214743638eff1336f835310049aef979',1,'decimal_to_roman_numeral.cpp']]], - ['tovector_120',['toVector',['../db/da9/classqueue.html#a386fc1df8610948d3117b12f24655c7d',1,'queue']]], - ['towctrans_121',['towctrans',['http://en.cppreference.com/w/cpp/string/wide/towctrans.html',0,'std']]], - ['tower_122',['tower',['../d2/d2c/structtower.html',1,'']]], - ['tower_5fof_5fhanoi_2ecpp_123',['tower_of_hanoi.cpp',['../db/d3c/tower__of__hanoi_8cpp.html',1,'']]], - ['towlower_124',['towlower',['http://en.cppreference.com/w/cpp/string/wide/towlower.html',0,'std']]], - ['towupper_125',['towupper',['http://en.cppreference.com/w/cpp/string/wide/towupper.html',0,'std']]], - ['transform_126',['transform',['http://en.cppreference.com/w/cpp/locale/collate/transform.html',0,'std::collate_byname::transform()'],['http://en.cppreference.com/w/cpp/regex/regex_traits/transform.html',0,'std::regex_traits::transform()'],['http://en.cppreference.com/w/cpp/locale/collate/transform.html',0,'std::collate::transform()'],['http://en.cppreference.com/w/cpp/algorithm/transform.html',0,'std::transform()']]], - ['transform_5fprimary_127',['transform_primary',['http://en.cppreference.com/w/cpp/regex/regex_traits/transform_primary.html',0,'std::regex_traits']]], - ['translate_128',['translate',['http://en.cppreference.com/w/cpp/regex/regex_traits/translate.html',0,'std::regex_traits']]], - ['translate_5fnocase_129',['translate_nocase',['http://en.cppreference.com/w/cpp/regex/regex_traits/translate_nocase.html',0,'std::regex_traits']]], - ['transpose_130',['transpose',['../d8/d77/namespacemachine__learning.html#a89fde571b38f9483576594f66572958a',1,'machine_learning']]], - ['trapped_5frainwater_2ecpp_131',['trapped_rainwater.cpp',['../d9/d80/trapped__rainwater_8cpp.html',1,'']]], - ['trappedrainwater_132',['trappedRainwater',['../dd/d24/namespacedynamic__programming.html#a066e0e739e7c276eee6e61d5b4d37ce8',1,'dynamic_programming']]], - ['travelling_5fsalesman_5fproblem_2ecpp_133',['travelling_salesman_problem.cpp',['../de/d88/travelling__salesman__problem_8cpp.html',1,'']]], - ['travelling_5fsalesman_5fusing_5fbit_5fmanipulation_134',['travelling_salesman_using_bit_manipulation',['../d4/d8f/travelling__salesman__using__bit__manipulation_8cpp.html#ad08f082be02c3437c2fe89cb035fcee1',1,'bit_manipulation::travelling_salesman_using_bit_manipulation']]], - ['travelling_5fsalesman_5fusing_5fbit_5fmanipulation_2ecpp_135',['travelling_salesman_using_bit_manipulation.cpp',['../d4/d8f/travelling__salesman__using__bit__manipulation_8cpp.html',1,'']]], - ['travellingsalesman_5fbitmanipulation_136',['travellingSalesman_bitmanipulation',['../d7/d3f/namespacetravelling_salesman__bitmanipulation.html',1,'']]], - ['travellingsalesmanproblem_137',['TravellingSalesmanProblem',['../df/dce/namespacegraph.html#ab7706341d006e20d1ae58274187a3346',1,'graph']]], - ['traversal_20of_20a_20tree_138',['Traversal of a tree',['../d8/d90/iterative__tree__traversals_8cpp.html#autotoc_md95',1,'Iterative Inorder Traversal of a tree'],['../dc/de1/recursive__tree__traversal_8cpp.html#autotoc_md99',1,'Iterative Inorder Traversal of a tree'],['../d8/d90/iterative__tree__traversals_8cpp.html#autotoc_md94',1,'Iterative Postorder Traversal of a tree'],['../dc/de1/recursive__tree__traversal_8cpp.html#autotoc_md101',1,'Iterative Postorder Traversal of a tree'],['../d8/d90/iterative__tree__traversals_8cpp.html#autotoc_md93',1,'Iterative Preorder Traversal of a tree'],['../dc/de1/recursive__tree__traversal_8cpp.html#autotoc_md100',1,'Iterative Preorder Traversal of a tree']]], - ['traverse_139',['Traverse',['../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a84ab7b4fe7442b5e2eeed8c050bb86bd',1,'data_structures::tree_234::Tree234::Traverse()'],['../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a936bb546e6a94d8b9d35b30ee1bb291a',1,'data_structures::tree_234::Tree234::Traverse(Node *tree)']]], - ['traverse_140',['traverse',['../d1/def/classdata__structures_1_1linked__list_1_1list.html#a2b951a3f1123b9b2f4891ec96aa76d69',1,'data_structures::linked_list::list']]], - ['traverse_5finorder_141',['traverse_inorder',['../d9/dde/classbinary__search__tree.html#a2fcf37549bd002c174a45b0b4203c2bd',1,'binary_search_tree']]], - ['traverse_5fpostorder_142',['traverse_postorder',['../d9/dde/classbinary__search__tree.html#a87c0a35845d27e0f6fc1f4eaa0333362',1,'binary_search_tree']]], - ['traverse_5fpreorder_143',['traverse_preorder',['../d9/dde/classbinary__search__tree.html#ab81edd415324d372632c42dc7dbcb9e1',1,'binary_search_tree']]], - ['treap_144',['Treap',['../d5/d95/structdata__structures_1_1treap_1_1_treap.html',1,'data_structures::treap::Treap'],['../d5/d95/structdata__structures_1_1treap_1_1_treap.html#a5d200493aeaa02a269f6b6deda39a683',1,'data_structures::treap::Treap::Treap()']]], - ['treap_2ecpp_145',['treap.cpp',['../d0/dd2/treap_8cpp.html',1,'']]], - ['treapcnt_146',['treapCnt',['../d5/d95/structdata__structures_1_1treap_1_1_treap.html#a1ab082fe0aa95a238bbbc68ab6a72425',1,'data_structures::treap::Treap']]], - ['treat_5fas_5ffloating_5fpoint_147',['treat_as_floating_point',['http://en.cppreference.com/w/cpp/chrono/treat_as_floating_point.html',0,'std::chrono']]], - ['tree_148',['Tree',['../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html',1,'range_queries::heavy_light_decomposition::Tree< X >'],['../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html#a835fb2bbb27307b8cacad9b287968bc1',1,'range_queries::heavy_light_decomposition::Tree::Tree()']]], - ['tree_149',['tree',['../d8/d90/iterative__tree__traversals_8cpp.html#autotoc_md95',1,'Iterative Inorder Traversal of a tree'],['../dc/de1/recursive__tree__traversal_8cpp.html#autotoc_md99',1,'Iterative Inorder Traversal of a tree'],['../d8/d90/iterative__tree__traversals_8cpp.html#autotoc_md94',1,'Iterative Postorder Traversal of a tree'],['../dc/de1/recursive__tree__traversal_8cpp.html#autotoc_md101',1,'Iterative Postorder Traversal of a tree'],['../d8/d90/iterative__tree__traversals_8cpp.html#autotoc_md93',1,'Iterative Preorder Traversal of a tree'],['../dc/de1/recursive__tree__traversal_8cpp.html#autotoc_md100',1,'Iterative Preorder Traversal of a tree']]], - ['tree234_150',['Tree234',['../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html',1,'data_structures::tree_234']]], - ['tree_5f234_151',['tree_234',['../d6/dab/namespacetree__234.html',1,'']]], - ['tree_5f234_2ecpp_152',['tree_234.cpp',['../db/dbc/tree__234_8cpp.html',1,'']]], - ['triangle_5farea_153',['triangle_area',['../dd/d47/namespacemath.html#ab3b920cc56442abd92279ba23b50f4dc',1,'math']]], - ['triangle_5fperimeter_154',['triangle_perimeter',['../dd/d47/namespacemath.html#a3d1e4db743b189f309327572663415f3',1,'math']]], - ['triangle_5fprism_5fvolume_155',['triangle_prism_volume',['../dd/d47/namespacemath.html#a2d704a7b72a6b2db8b76c8581b577b2c',1,'math']]], - ['trianglearea_156',['TriangleArea',['../d0/d01/smallest__circle_8cpp.html#a94682a4a70d5906857ca09de5b9fb2cc',1,'smallest_circle.cpp']]], - ['trie_157',['Trie',['../d3/d26/classdata__structures_1_1trie__using__hashmap_1_1_trie.html',1,'data_structures::trie_using_hashmap::Trie'],['../dd/d2f/class_trie.html',1,'Trie'],['../dd/d2f/class_trie.html#a6af57e9f25d0d0a2d59eea5a4a802908',1,'Trie::Trie()'],['../d3/d26/classdata__structures_1_1trie__using__hashmap_1_1_trie.html#a092d0805a9e647c2048777dbe67b35ab',1,'data_structures::trie_using_hashmap::Trie::Trie()']]], - ['trie_158',['trie',['../d0/d3e/classdata__structures_1_1trie.html',1,'data_structures::trie'],['../d0/d3e/classdata__structures_1_1trie.html#a87d8bf99aea936f9381141753f1e90a8',1,'data_structures::trie::trie()']]], - ['trie_5fmodern_2ecpp_159',['trie_modern.cpp',['../dc/d93/trie__modern_8cpp.html',1,'']]], - ['trie_5fmultiple_5fsearch_2ecpp_160',['trie_multiple_search.cpp',['../d7/def/trie__multiple__search_8cpp.html',1,'']]], - ['trie_5foperations_161',['trie_operations',['../df/d8e/namespacetrie__operations.html',1,'']]], - ['trie_5ftree_2ecpp_162',['trie_tree.cpp',['../d7/d83/trie__tree_8cpp.html',1,'']]], - ['trie_5fusing_5fhashmap_163',['trie_using_hashmap',['../d7/d0a/namespacetrie__using__hashmap.html',1,'']]], - ['trie_5fusing_5fhashmap_2ecpp_164',['trie_using_hashmap.cpp',['../d5/d8a/trie__using__hashmap_8cpp.html',1,'']]], - ['trienode_165',['TrieNode',['../de/d48/struct_trie_1_1_trie_node.html',1,'Trie']]], - ['true_5ftype_166',['true_type',['http://en.cppreference.com/w/cpp/types/integral_constant.html',0,'std']]], - ['truename_167',['truename',['http://en.cppreference.com/w/cpp/locale/numpunct/truefalsename.html',0,'std::numpunct_byname::truename()'],['http://en.cppreference.com/w/cpp/locale/numpunct/truefalsename.html',0,'std::numpunct::truename()']]], - ['trunc_168',['trunc',['http://en.cppreference.com/w/cpp/numeric/math/trunc.html',0,'std']]], - ['try_5flock_169',['try_lock',['http://en.cppreference.com/w/cpp/thread/unique_lock/try_lock.html',0,'std::unique_lock::try_lock()'],['http://en.cppreference.com/w/cpp/thread/recursive_mutex/try_lock.html',0,'std::recursive_mutex::try_lock()'],['http://en.cppreference.com/w/cpp/thread/recursive_timed_mutex/try_lock.html',0,'std::recursive_timed_mutex::try_lock()'],['http://en.cppreference.com/w/cpp/thread/shared_lock/try_lock.html',0,'std::shared_lock::try_lock()'],['http://en.cppreference.com/w/cpp/thread/timed_mutex/try_lock.html',0,'std::timed_mutex::try_lock()'],['http://en.cppreference.com/w/cpp/thread/mutex/try_lock.html',0,'std::mutex::try_lock()'],['http://en.cppreference.com/w/cpp/thread/shared_timed_mutex/try_lock.html',0,'std::shared_timed_mutex::try_lock()'],['http://en.cppreference.com/w/cpp/thread/try_lock.html',0,'std::try_lock()']]], - ['try_5flock_5ffor_170',['try_lock_for',['http://en.cppreference.com/w/cpp/thread/unique_lock/try_lock_for.html',0,'std::unique_lock::try_lock_for()'],['http://en.cppreference.com/w/cpp/thread/recursive_timed_mutex/try_lock_for.html',0,'std::recursive_timed_mutex::try_lock_for()'],['http://en.cppreference.com/w/cpp/thread/shared_lock/try_lock_for.html',0,'std::shared_lock::try_lock_for()'],['http://en.cppreference.com/w/cpp/thread/timed_mutex/try_lock_for.html',0,'std::timed_mutex::try_lock_for()'],['http://en.cppreference.com/w/cpp/thread/shared_timed_mutex/try_lock_for.html',0,'std::shared_timed_mutex::try_lock_for(T... args)']]], - ['try_5flock_5fshared_171',['try_lock_shared',['http://en.cppreference.com/w/cpp/thread/shared_timed_mutex/try_lock_shared.html',0,'std::shared_timed_mutex']]], - ['try_5flock_5fshared_5ffor_172',['try_lock_shared_for',['http://en.cppreference.com/w/cpp/thread/shared_timed_mutex/try_lock_shared_for.html',0,'std::shared_timed_mutex']]], - ['try_5flock_5fshared_5funtil_173',['try_lock_shared_until',['http://en.cppreference.com/w/cpp/thread/shared_timed_mutex/try_lock_shared_until.html',0,'std::shared_timed_mutex']]], - ['try_5flock_5funtil_174',['try_lock_until',['http://en.cppreference.com/w/cpp/thread/unique_lock/try_lock_until.html',0,'std::unique_lock::try_lock_until()'],['http://en.cppreference.com/w/cpp/thread/recursive_timed_mutex/try_lock_until.html',0,'std::recursive_timed_mutex::try_lock_until()'],['http://en.cppreference.com/w/cpp/thread/shared_lock/try_lock_until.html',0,'std::shared_lock::try_lock_until()'],['http://en.cppreference.com/w/cpp/thread/timed_mutex/try_lock_until.html',0,'std::timed_mutex::try_lock_until()'],['http://en.cppreference.com/w/cpp/thread/shared_timed_mutex/try_lock_until.html',0,'std::shared_timed_mutex::try_lock_until()']]], - ['try_5fto_5flock_5ft_175',['try_to_lock_t',['http://en.cppreference.com/w/cpp/thread/lock_tag_t.html',0,'std']]], - ['tryleftrotate_176',['TryLeftRotate',['../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#ac5361479dd996eb331759f33808657d9',1,'data_structures::tree_234::Tree234']]], - ['tryrightrotate_177',['TryRightRotate',['../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#aec0642d1d151521ca7c70ea85cdb15d3',1,'data_structures::tree_234::Tree234']]], - ['tuple_178',['tuple',['http://en.cppreference.com/w/cpp/utility/tuple.html',0,'std::tuple'],['http://en.cppreference.com/w/cpp/utility/tuple/tuple.html',0,'std::tuple::tuple()']]], - ['tuple_3c_20int_2c_20int_2c_20int_20_3e_179',['tuple< int, int, int >',['http://en.cppreference.com/w/cpp/utility/tuple.html',0,'std']]], - ['tuple_5fcat_180',['tuple_cat',['http://en.cppreference.com/w/cpp/utility/tuple/tuple_cat.html',0,'std']]], - ['type_5findex_181',['type_index',['http://en.cppreference.com/w/cpp/types/type_index.html',0,'std::type_index'],['http://en.cppreference.com/w/cpp/types/type_index/type_index.html',0,'std::type_index::type_index()']]], - ['type_5finfo_182',['type_info',['http://en.cppreference.com/w/cpp/types/type_info.html',0,'std']]], - ['typical_20structure_20of_20a_20program_183',['Typical structure of a program',['../d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md31',1,'']]] + ['tanh_10',['tanh',['../d2/d58/neural__network_8cpp.html#a371aa7dd5d5add0143d1756bb0a1b32f',1,'machine_learning::neural_network::activations']]], + ['temporary_20ban_11',['3. Temporary Ban',['../d3/dd7/md__c_o_d_e___o_f___c_o_n_d_u_c_t.html#autotoc_md13',1,'']]], + ['ternary_5fsearch_12',['ternary_search',['../dc/dfe/ternary__search_8cpp.html#aef655a27eb82efa299bf9d0becf6e9c8',1,'ternary_search.cpp']]], + ['ternary_5fsearch_2ecpp_13',['ternary_search.cpp',['../dc/dfe/ternary__search_8cpp.html',1,'']]], + ['test_14',['Test',['../d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md29',1,'']]], + ['test_15',['test',['../db/d82/classlarge__number.html#a959c5c1a982949bbf98e1ea0f9afe6a9',1,'large_number::test()'],['../dd/d1e/generate__parentheses_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): generate_parentheses.cpp'],['../dc/d5a/rat__maze_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): rat_maze.cpp'],['../df/d94/subarray__sum_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): subarray_sum.cpp'],['../d2/d5a/subset__sum_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): subset_sum.cpp'],['../dc/d14/wildcard__matching_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): wildcard_matching.cpp'],['../d7/d56/count__bits__flip_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): count_bits_flip.cpp'],['../da/d50/count__of__trailing__ciphers__in__factorial__n_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): count_of_trailing_ciphers_in_factorial_n.cpp'],['../d6/d38/find__non__repeating__number_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): find_non_repeating_number.cpp'],['../d4/d48/hamming__distance_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): hamming_distance.cpp'],['../d5/d1e/next__higher__number__with__same__number__of__set__bits_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): next_higher_number_with_same_number_of_set_bits.cpp'],['../dc/d6d/power__of__2_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): power_of_2.cpp'],['../d5/db5/set__kth__bit_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): set_kth_bit.cpp'],['../d4/d8f/travelling__salesman__using__bit__manipulation_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): travelling_salesman_using_bit_manipulation.cpp'],['../de/db6/a1z26__cipher_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): a1z26_cipher.cpp'],['../dc/dfb/atbash__cipher_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): atbash_cipher.cpp'],['../d6/d2c/caesar__cipher_8cpp.html#ae1a3968e7947464bee7714f6d43b7002',1,'test(): caesar_cipher.cpp'],['../df/d2c/elliptic__curve__key__exchange_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): elliptic_curve_key_exchange.cpp'],['../d8/d76/morse__code_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): morse_code.cpp'],['../dd/d12/vigenere__cipher_8cpp.html#ae1a3968e7947464bee7714f6d43b7002',1,'test(): vigenere_cipher.cpp'],['../d3/d4c/xor__cipher_8cpp.html#ae1a3968e7947464bee7714f6d43b7002',1,'test(): xor_cipher.cpp'],['../df/d47/fcfs__scheduling_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): fcfs_scheduling.cpp'],['../d7/d00/list__array_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): list_array.cpp'],['../d6/d05/reverse__a__linked__list_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): reverse_a_linked_list.cpp'],['../de/dd1/segment__tree_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): segment_tree.cpp'],['../d8/dab/sparse__table_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): sparse_table.cpp'],['../d0/dd2/treap_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): treap.cpp'],['../d7/d83/trie__tree_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): trie_tree.cpp'],['../d5/d8a/trie__using__hashmap_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): trie_using_hashmap.cpp'],['../da/dd3/karatsuba__algorithm__for__fast__multiplication_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): karatsuba_algorithm_for_fast_multiplication.cpp'],['../db/d16/0__1__knapsack_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): 0_1_knapsack.cpp'],['../d7/d73/abbreviation_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): abbreviation.cpp'],['../d9/d31/coin__change__topdown_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): coin_change_topdown.cpp'],['../d6/d10/cut__rod_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): cut_rod.cpp'],['../d6/d26/house__robber_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): house_robber.cpp'],['../d7/d57/longest__increasing__subsequence_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): longest_increasing_subsequence.cpp'],['../d0/d77/longest__palindromic__subsequence_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): longest_palindromic_subsequence.cpp'],['../db/dfb/maximum__circular__subarray_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): maximum_circular_subarray.cpp'],['../da/d52/minimum__edit__distance_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): minimum_edit_distance.cpp'],['../d5/d90/palindrome__partitioning_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): palindrome_partitioning.cpp'],['../d7/d65/shortest__common__supersequence_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): shortest_common_supersequence.cpp'],['../dc/d67/subset__sum__dynamic_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): subset_sum_dynamic.cpp'],['../d9/d80/trapped__rainwater_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): trapped_rainwater.cpp'],['../d3/d84/word__break_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): word_break.cpp'],['../d4/d8d/jarvis__algorithm_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): jarvis_algorithm.cpp'],['../d8/d99/connected__components__with__dsu_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): connected_components_with_dsu.cpp'],['../d6/dd8/is__graph__bipartite_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): is_graph_bipartite.cpp'],['../d8/db9/topological__sort_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): topological_sort.cpp'],['../da/dd3/namespacespirograph.html#a8e83a64e8443fff1e5ffdc1c299c1e99',1,'spirograph::test()'],['../d6/dba/jump__game_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): jump_game.cpp'],['../d8/d7d/kruskals__minimum__spanning__tree_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): kruskals_minimum_spanning_tree.cpp'],['../d5/d96/md5_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): md5.cpp'],['../d8/d7a/sha1_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): sha1.cpp'],['../d4/d3e/k__nearest__neighbors_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): k_nearest_neighbors.cpp'],['../d2/d58/neural__network_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): neural_network.cpp'],['../de/d99/aliquot__sum_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): aliquot_sum.cpp'],['../dc/d82/area_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): area.cpp'],['../d7/d89/double__factorial_8cpp.html#abbbcebf3a2d0c67f4c3cfb5511a97981',1,'test(uint64_t n, uint64_t expected): double_factorial.cpp'],['../d7/da6/eratosthenes_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): eratosthenes.cpp'],['../da/d23/eulers__totient__function_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): eulers_totient_function.cpp'],['../d9/d89/fibonacci_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): fibonacci.cpp'],['../da/dc9/fibonacci__matrix__exponentiation_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): fibonacci_matrix_exponentiation.cpp'],['../de/dc3/fibonacci__sum_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): fibonacci_sum.cpp'],['../d1/d11/gcd__of__n__numbers_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): gcd_of_n_numbers.cpp'],['../db/d40/integral__approximation2_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): integral_approximation2.cpp'],['../d6/db8/inv__sqrt_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): inv_sqrt.cpp'],['../db/d9f/iterative__factorial_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): iterative_factorial.cpp'],['../d5/d7a/largest__power_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): largest_power.cpp'],['../d5/d83/lcm__sum_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): lcm_sum.cpp'],['../df/d72/modular__division_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): modular_division.cpp'],['../d0/d6d/modular__exponentiation_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): modular_exponentiation.cpp'],['../d8/d53/modular__inverse__fermat__little__theorem_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): modular_inverse_fermat_little_theorem.cpp'],['../d6/d2d/modular__inverse__simple_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): modular_inverse_simple.cpp'],['../db/d27/n__bonacci_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): n_bonacci.cpp'],['../d1/dbb/n__choose__r_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): n_choose_r.cpp'],['../d3/dfe/perimeter_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): perimeter.cpp'],['../d4/d38/power__of__two_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): power_of_two.cpp'],['../da/d18/quadratic__equations__complex__numbers_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): quadratic_equations_complex_numbers.cpp'],['../d4/d9d/sum__of__binomial__coefficient_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): sum_of_binomial_coefficient.cpp'],['../d4/d83/sum__of__digits_8cpp.html#ae1a3968e7947464bee7714f6d43b7002',1,'test(): sum_of_digits.cpp'],['../df/d66/vector__cross__product_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): vector_cross_product.cpp'],['../da/d39/volume_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): volume.cpp'],['../dc/d9c/babylonian__method_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): babylonian_method.cpp'],['../d4/d18/composite__simpson__rule_8cpp.html#a2ae48a41e43dc6ab11b962742349646e',1,'test(std::int32_t N, double h, double a, double b, bool used_argv_parameters): composite_simpson_rule.cpp'],['../d8/d9a/fast__fourier__transform_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): fast_fourier_transform.cpp'],['../d5/d33/gram__schmidt_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): gram_schmidt.cpp'],['../d9/d37/inverse__fast__fourier__transform_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): inverse_fast_fourier_transform.cpp'],['../df/d11/midpoint__integral__method_8cpp.html#a2ae48a41e43dc6ab11b962742349646e',1,'test(std::int32_t N, double h, double a, double b, bool used_argv_parameters): midpoint_integral_method.cpp'],['../d1/da6/rungekutta_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): rungekutta.cpp'],['../d9/d14/array__left__rotation_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): array_left_rotation.cpp'],['../d6/d57/array__right__rotation_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): array_right_rotation.cpp'],['../de/d33/circular__linked__list_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): circular_linked_list.cpp'],['../d4/d32/inorder__successor__of__bst_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): inorder_successor_of_bst.cpp'],['../de/dc5/intersection__of__two__arrays_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): intersection_of_two_arrays.cpp'],['../d4/db6/reverse__binary__tree_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): reverse_binary_tree.cpp'],['../d7/def/trie__multiple__search_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): trie_multiple_search.cpp'],['../d8/d9c/union__of__two__arrays_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): union_of_two_arrays.cpp'],['../de/dcd/kadanes3_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): kadanes3.cpp'],['../d9/d65/lfu__cache_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): lfu_cache.cpp'],['../dc/daa/lru__cache2_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): lru_cache2.cpp'],['../d0/d01/smallest__circle_8cpp.html#ae1a3968e7947464bee7714f6d43b7002',1,'test(): smallest_circle.cpp'],['../d9/d29/ground__to__ground__projectile__motion_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): ground_to_ground_projectile_motion.cpp'],['../d9/da2/exponential__dist_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): exponential_dist.cpp'],['../de/d72/geometric__dist_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): geometric_dist.cpp'],['../d1/ded/windowed__median_8cpp.html#a6dc652a36ea42ba262c4e4236e3e6601',1,'test(const std::vector< int > &vals, int windowSize): windowed_median.cpp'],['../d5/d58/persistent__seg__tree__lazy__prop_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): persistent_seg_tree_lazy_prop.cpp'],['../d1/d9e/prefix__sum__array_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): prefix_sum_array.cpp'],['../d2/d45/segtree_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): segtree.cpp'],['../db/dc4/floyd__cycle__detection__algo_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): floyd_cycle_detection_algo.cpp'],['../d9/d69/median__search_8cpp.html#ae1a3968e7947464bee7714f6d43b7002',1,'test(): median_search.cpp'],['../d8/dfa/median__search2_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): median_search2.cpp'],['../d3/d22/saddleback__search_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): saddleback_search.cpp'],['../d5/d45/sublist__search_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): sublist_search.cpp'],['../dc/db5/text__search_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): text_search.cpp'],['../d8/dcc/binary__insertion__sort_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): binary_insertion_sort.cpp'],['../d5/ddb/bogo__sort_8cpp.html#ae1a3968e7947464bee7714f6d43b7002',1,'test(): bogo_sort.cpp'],['../d8/d13/bubble__sort_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): bubble_sort.cpp'],['../d2/d26/count__inversions_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): count_inversions.cpp'],['../de/d07/cycle__sort_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): cycle_sort.cpp'],['../d6/d1a/dnf__sort_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): dnf_sort.cpp'],['../d2/d21/gnome__sort_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): gnome_sort.cpp'],['../d2/d52/heap__sort_8cpp.html#ae1a3968e7947464bee7714f6d43b7002',1,'test(): heap_sort.cpp'],['../de/d7b/merge__insertion__sort_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): merge_insertion_sort.cpp'],['../d3/d92/pancake__sort_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): pancake_sort.cpp'],['../d1/daa/random__pivot__quick__sort_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): random_pivot_quick_sort.cpp'],['../d3/df9/recursive__bubble__sort_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): recursive_bubble_sort.cpp'],['../d4/d9f/selection__sort__recursive_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): selection_sort_recursive.cpp'],['../dc/dd9/strand__sort_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): strand_sort.cpp'],['../db/d3f/wave__sort_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): wave_sort.cpp'],['../d5/d4c/group__sorting.html#gaa8dca7b867074164d5f45b0f3851269d',1,'test(): wiggle_sort.cpp'],['../db/d09/duval_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): duval.cpp'],['../d3/dfe/horspool_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): horspool.cpp'],['../d3/d39/manacher__algorithm_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): manacher_algorithm.cpp'],['../d3/d80/z__function_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): z_function.cpp']]], + ['test_20examples_16',['Self-test examples',['../d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md30',1,'']]], + ['test1_17',['test1',['../d7/db9/hill__cipher_8cpp.html#a3147ad576f8a94a2a6b66948672b452b',1,'test1(const std::string &text): hill_cipher.cpp'],['../d3/dae/dsu__path__compression_8cpp.html#ae7880ce913f3058a35ff106d5be9e243',1,'test1(): dsu_path_compression.cpp'],['../df/d28/dsu__union__rank_8cpp.html#ae7880ce913f3058a35ff106d5be9e243',1,'test1(): dsu_union_rank.cpp'],['../db/dbc/tree__234_8cpp.html#ae7880ce913f3058a35ff106d5be9e243',1,'test1(): tree_234.cpp'],['../dd/d0c/hamiltons__cycle_8cpp.html#ae7880ce913f3058a35ff106d5be9e243',1,'test1(): hamiltons_cycle.cpp'],['../d5/db0/adaline__learning_8cpp.html#a52053d88ea1bcbbed9aca67ab4eeb499',1,'test1(double eta=0.01): adaline_learning.cpp'],['../d4/def/kohonen__som__topology_8cpp.html#a1440a7779ac56f47a3f355ce4a8c7da0',1,'test1(): kohonen_som_topology.cpp'],['../d9/d49/kohonen__som__trace_8cpp.html#a1440a7779ac56f47a3f355ce4a8c7da0',1,'test1(): kohonen_som_trace.cpp'],['../d6/d9d/large__factorial_8cpp.html#a3f93b60e229b6683e24c4754a7106ee8',1,'test1(): large_factorial.cpp'],['../d4/d83/sum__of__digits_8cpp.html#a1440a7779ac56f47a3f355ce4a8c7da0',1,'test1(): sum_of_digits.cpp'],['../db/d01/brent__method__extrema_8cpp.html#a1440a7779ac56f47a3f355ce4a8c7da0',1,'test1(): brent_method_extrema.cpp'],['../da/df2/durand__kerner__roots_8cpp.html#a1440a7779ac56f47a3f355ce4a8c7da0',1,'test1(): durand_kerner_roots.cpp'],['../d6/d7a/golden__search__extrema_8cpp.html#a1440a7779ac56f47a3f355ce4a8c7da0',1,'test1(): golden_search_extrema.cpp'],['../dd/d65/lu__decompose_8cpp.html#a1440a7779ac56f47a3f355ce4a8c7da0',1,'test1(): lu_decompose.cpp'],['../de/d75/qr__eigen__values_8cpp.html#a1440a7779ac56f47a3f355ce4a8c7da0',1,'test1(): qr_eigen_values.cpp'],['../d9/df4/namespacetests.html#a167c24bd817469ae47358d12e034f2d5',1,'tests::test1()'],['../d8/d90/iterative__tree__traversals_8cpp.html#a21d922dbb5905993960c6a7f0ba71ac0',1,'test1(others::iterative_tree_traversals::BinaryTree binaryTree, others::iterative_tree_traversals::Node *root): iterative_tree_traversals.cpp'],['../dc/de1/recursive__tree__traversal_8cpp.html#a1440a7779ac56f47a3f355ce4a8c7da0',1,'test1(): recursive_tree_traversal.cpp'],['../d4/d4f/stooge__sort_8cpp.html#a1440a7779ac56f47a3f355ce4a8c7da0',1,'test1(): stooge_sort.cpp']]], + ['test2_18',['test2',['../d7/db9/hill__cipher_8cpp.html#a04391124480d2a49f2dec900237b0712',1,'test2(const std::string &text): hill_cipher.cpp'],['../d3/dae/dsu__path__compression_8cpp.html#a45d94ead4cf4e1ff9f87c38bc99f59ae',1,'test2(): dsu_path_compression.cpp'],['../df/d28/dsu__union__rank_8cpp.html#a45d94ead4cf4e1ff9f87c38bc99f59ae',1,'test2(): dsu_union_rank.cpp'],['../db/dbc/tree__234_8cpp.html#af1ac73779b0fcfbbdce3976c0ca57342',1,'test2(int64_t n): tree_234.cpp'],['../dd/d0c/hamiltons__cycle_8cpp.html#a45d94ead4cf4e1ff9f87c38bc99f59ae',1,'test2(): hamiltons_cycle.cpp'],['../d5/db0/adaline__learning_8cpp.html#a379f7488a305f2571f2932b319931f82',1,'test2(double eta=0.01): adaline_learning.cpp'],['../d4/def/kohonen__som__topology_8cpp.html#a0283886819c7c140a023582b7269e2d0',1,'test2(): kohonen_som_topology.cpp'],['../d9/d49/kohonen__som__trace_8cpp.html#a0283886819c7c140a023582b7269e2d0',1,'test2(): kohonen_som_trace.cpp'],['../d6/d9d/large__factorial_8cpp.html#a76aae4778fbe89a3d59fd61fbc050cfa',1,'test2(): large_factorial.cpp'],['../d4/d83/sum__of__digits_8cpp.html#a0283886819c7c140a023582b7269e2d0',1,'test2(): sum_of_digits.cpp'],['../db/d01/brent__method__extrema_8cpp.html#a0283886819c7c140a023582b7269e2d0',1,'test2(): brent_method_extrema.cpp'],['../da/df2/durand__kerner__roots_8cpp.html#a0283886819c7c140a023582b7269e2d0',1,'test2(): durand_kerner_roots.cpp'],['../d6/d7a/golden__search__extrema_8cpp.html#a0283886819c7c140a023582b7269e2d0',1,'test2(): golden_search_extrema.cpp'],['../dd/d65/lu__decompose_8cpp.html#a0283886819c7c140a023582b7269e2d0',1,'test2(): lu_decompose.cpp'],['../de/d75/qr__eigen__values_8cpp.html#a0283886819c7c140a023582b7269e2d0',1,'test2(): qr_eigen_values.cpp'],['../d9/df4/namespacetests.html#abdd77344d4af8fd56d14a5cabbf2f669',1,'tests::test2()'],['../d8/d90/iterative__tree__traversals_8cpp.html#ac35ae2868441f8a11c965b87b2494f21',1,'test2(others::iterative_tree_traversals::BinaryTree binaryTree, others::iterative_tree_traversals::Node *root): iterative_tree_traversals.cpp'],['../dc/de1/recursive__tree__traversal_8cpp.html#a0283886819c7c140a023582b7269e2d0',1,'test2(): recursive_tree_traversal.cpp'],['../d0/d01/smallest__circle_8cpp.html#a0283886819c7c140a023582b7269e2d0',1,'test2(): smallest_circle.cpp'],['../d4/d4f/stooge__sort_8cpp.html#a0283886819c7c140a023582b7269e2d0',1,'test2(): stooge_sort.cpp']]], + ['test3_19',['test3',['../dd/d0c/hamiltons__cycle_8cpp.html#a0cc94918b6831f308d4fe4fa27f08299',1,'test3(): hamiltons_cycle.cpp'],['../d5/db0/adaline__learning_8cpp.html#a992bdf1fdb0b9d414bcf7981d2d87aa9',1,'test3(double eta=0.01): adaline_learning.cpp'],['../d4/def/kohonen__som__topology_8cpp.html#a6d0455dd5c30adda100e95f0423c786e',1,'test3(): kohonen_som_topology.cpp'],['../d9/d49/kohonen__som__trace_8cpp.html#a6d0455dd5c30adda100e95f0423c786e',1,'test3(): kohonen_som_trace.cpp'],['../db/d01/brent__method__extrema_8cpp.html#a6d0455dd5c30adda100e95f0423c786e',1,'test3(): brent_method_extrema.cpp'],['../d6/d7a/golden__search__extrema_8cpp.html#a6d0455dd5c30adda100e95f0423c786e',1,'test3(): golden_search_extrema.cpp'],['../d9/df4/namespacetests.html#aa515639572647508b94986489aab6d76',1,'tests::test3()'],['../d8/d90/iterative__tree__traversals_8cpp.html#a425c4c8520991999ee6dbe13d99b87f4',1,'test3(others::iterative_tree_traversals::BinaryTree binaryTree, others::iterative_tree_traversals::Node *root): iterative_tree_traversals.cpp'],['../dc/de1/recursive__tree__traversal_8cpp.html#a6d0455dd5c30adda100e95f0423c786e',1,'test3(): recursive_tree_traversal.cpp'],['../d0/d01/smallest__circle_8cpp.html#a6d0455dd5c30adda100e95f0423c786e',1,'test3(): smallest_circle.cpp'],['../d4/d4f/stooge__sort_8cpp.html#a6d0455dd5c30adda100e95f0423c786e',1,'test3(): stooge_sort.cpp']]], + ['test4_20',['test4',['../d9/df4/namespacetests.html#a2b9769e44683dcb67fe1083ad91e134d',1,'tests::test4()'],['../d8/d90/iterative__tree__traversals_8cpp.html#a038b236fe900f7bb7e57164f5bed66c2',1,'test4(): iterative_tree_traversals.cpp']]], + ['test5_21',['test5',['../d9/df4/namespacetests.html#af7b81d7a1534216af6a36a80135beb86',1,'tests::test5()'],['../d8/d90/iterative__tree__traversals_8cpp.html#aa9ef334cd7eb607f4eb8732566ea00b8',1,'test5(): iterative_tree_traversals.cpp']]], + ['test6_22',['test6',['../d9/df4/namespacetests.html#aacafde185abd8670abee51157f273dc2',1,'tests::test6()'],['../d8/d90/iterative__tree__traversals_8cpp.html#af727f920064f2b8f484b589b60d49b89',1,'test6(): iterative_tree_traversals.cpp']]], + ['test_5f1_23',['test_1',['../d3/db3/lru__cache_8cpp.html#a6401e8f2d41d8cc9cd0e52ab381608d4',1,'lru_tests::test_1()'],['../d2/de9/heavy__light__decomposition_8cpp.html#a34b8683a2b429de5cce57e6d733ec817',1,'test_1(): heavy_light_decomposition.cpp'],['../dd/da8/pigeonhole__sort_8cpp.html#a34b8683a2b429de5cce57e6d733ec817',1,'test_1(): pigeonhole_sort.cpp']]], + ['test_5f2_24',['test_2',['../d3/db3/lru__cache_8cpp.html#a4b02e288a407876a8d6024f98a2a25ec',1,'lru_tests::test_2()'],['../d2/de9/heavy__light__decomposition_8cpp.html#a458410412185a5f09199deaff7157a8d',1,'test_2(): heavy_light_decomposition.cpp'],['../dd/da8/pigeonhole__sort_8cpp.html#a458410412185a5f09199deaff7157a8d',1,'test_2(): pigeonhole_sort.cpp']]], + ['test_5f2d_5fclasses_25',['test_2d_classes',['../d4/def/kohonen__som__topology_8cpp.html#a48efb079040c7aaa3a4917a0e486cba9',1,'kohonen_som_topology.cpp']]], + ['test_5f3_26',['test_3',['../d3/db3/lru__cache_8cpp.html#a01ec21fc91ddafd964ae2035ba7892c0',1,'lru_tests::test_3()'],['../d2/de9/heavy__light__decomposition_8cpp.html#af31ec5409537703d9c8a47350386b32a',1,'test_3(): heavy_light_decomposition.cpp'],['../dd/da8/pigeonhole__sort_8cpp.html#af31ec5409537703d9c8a47350386b32a',1,'test_3(): pigeonhole_sort.cpp']]], + ['test_5f3d_5fclasses_27',['test_3d_classes',['../d9/d49/kohonen__som__trace_8cpp.html#a7154fe319e6033485a8a6cd6f0d8932d',1,'kohonen_som_trace.cpp']]], + ['test_5f3d_5fclasses1_28',['test_3d_classes1',['../d4/def/kohonen__som__topology_8cpp.html#a1302662a56ebf67a21249270b017297e',1,'kohonen_som_topology.cpp']]], + ['test_5f3d_5fclasses2_29',['test_3d_classes2',['../d4/def/kohonen__som__topology_8cpp.html#a4b7ab643f6a5002f991837de46f70653',1,'kohonen_som_topology.cpp']]], + ['test_5fbitset_30',['test_bitset',['../d9/dab/bloom__filter_8cpp.html#a6e509afe40db07681f676ad8da4fb905',1,'bloom_filter.cpp']]], + ['test_5fbloom_5ffilter_5fint_31',['test_bloom_filter_int',['../d9/dab/bloom__filter_8cpp.html#a30edc0d2bb59c185baec81d69d20ed3b',1,'bloom_filter.cpp']]], + ['test_5fbloom_5ffilter_5fstring_32',['test_bloom_filter_string',['../d9/dab/bloom__filter_8cpp.html#a71f57bf262fe55db928b19dc124cc0d8',1,'bloom_filter.cpp']]], + ['test_5fcircle_33',['test_circle',['../d9/d49/kohonen__som__trace_8cpp.html#ae571600aa42a81bc14a4a602ea5ff00d',1,'kohonen_som_trace.cpp']]], + ['test_5fcompute_5fpadded_5fsize_34',['test_compute_padded_size',['../d4/d08/sha256_8cpp.html#af9b52eba85d23e309035354141259f27',1,'sha256.cpp']]], + ['test_5fcontains_35',['test_contains',['../df/d42/binary__search__tree2_8cpp.html#a1d42876440ac5346e2850a32497385c3',1,'binary_search_tree2.cpp']]], + ['test_5fdouble_36',['test_double',['../d3/d4c/quick__sort__3_8cpp.html#a2635b04ad943fa28b7bbf8d1e6479792',1,'quick_sort_3.cpp']]], + ['test_5feval_37',['test_eval',['../dd/d47/namespacemath.html#a50936ee98f4d40f17823befc65a32aec',1,'math']]], + ['test_5ff_38',['test_f',['../d4/d7a/shell__sort2_8cpp.html#a22ea0d1f7943ebb4371d31e44b465b6d',1,'shell_sort2.cpp']]], + ['test_5ffind_5fmax_39',['test_find_max',['../df/d42/binary__search__tree2_8cpp.html#a9856b68e2cba50d2e26a1cbe374e0365',1,'binary_search_tree2.cpp']]], + ['test_5ffind_5fmin_40',['test_find_min',['../df/d42/binary__search__tree2_8cpp.html#af2847a901160fd45b4044550e9921cb4',1,'binary_search_tree2.cpp']]], + ['test_5ffindgraphsum_41',['test_findGraphSum',['../d4/d6c/boruvkas__minimum__spanning__tree_8cpp.html#a2311b22324cf09926726e4ce1309af8b',1,'greedy_algorithms::boruvkas_minimum_spanning_tree']]], + ['test_5ffunction_42',['test_function',['../d0/d08/realtime__stats_8cpp.html#aa54c915581fcc495489175a4386d59fd',1,'realtime_stats.cpp']]], + ['test_5ffunction_5f1_43',['test_function_1',['../d7/d75/postfix__evaluation_8cpp.html#a6a8eeb7d346d5cd6335d9780fb7c0f15',1,'postfix_evaluation.cpp']]], + ['test_5ffunction_5f2_44',['test_function_2',['../d7/d75/postfix__evaluation_8cpp.html#a5b97d12e8b61484f756a8721992bfae1',1,'postfix_evaluation.cpp']]], + ['test_5fget_5felements_5finorder_45',['test_get_elements_inorder',['../df/d42/binary__search__tree2_8cpp.html#a06f35064850e891d6fda0093c0d9ee6e',1,'binary_search_tree2.cpp']]], + ['test_5fget_5felements_5fpostorder_46',['test_get_elements_postorder',['../df/d42/binary__search__tree2_8cpp.html#a94b76f781fcbe1ad0e3397ace6bb1965',1,'binary_search_tree2.cpp']]], + ['test_5fget_5felements_5fpreorder_47',['test_get_elements_preorder',['../df/d42/binary__search__tree2_8cpp.html#ab00b8d0f21aeb5fbddb6decf3bcb640a',1,'binary_search_tree2.cpp']]], + ['test_5finsert_48',['test_insert',['../df/d42/binary__search__tree2_8cpp.html#a8c882f43e1e52948a7841a8bfb091350',1,'binary_search_tree2.cpp']]], + ['test_5fint_49',['test_int',['../d3/d4c/quick__sort__3_8cpp.html#a07e5c62de28aeddea986890ce7ac1bda',1,'test_int(): quick_sort_3.cpp'],['../d4/d7a/shell__sort2_8cpp.html#a895b313cb2671e8f712040460325573e',1,'test_int(const int NUM_DATA): shell_sort2.cpp']]], + ['test_5flamniscate_50',['test_lamniscate',['../d9/d49/kohonen__som__trace_8cpp.html#a53082f2e5bacec40266499da4547309a',1,'kohonen_som_trace.cpp']]], + ['test_5flongest_5fcommon_5fstring_5flength_51',['test_longest_common_string_length',['../da/d0d/longest__common__string_8cpp.html#a9b229daad982a186a4d8d90aa8f38561',1,'longest_common_string.cpp']]], + ['test_5flongest_5fcommon_5fstring_5flength_5ffor_5freversed_5finputs_52',['test_longest_common_string_length_for_reversed_inputs',['../da/d0d/longest__common__string_8cpp.html#a23ab67b0d9600697695fc8679462d8fe',1,'longest_common_string.cpp']]], + ['test_5flongest_5fcommon_5fstring_5flength_5fis_5fsymmetric_53',['test_longest_common_string_length_is_symmetric',['../da/d0d/longest__common__string_8cpp.html#ad1e613c1b85cc04ed931b6c745fec155',1,'longest_common_string.cpp']]], + ['test_5fremove_54',['test_remove',['../df/d42/binary__search__tree2_8cpp.html#ab1333c3ea06dcad896ee204bbd407c4e',1,'binary_search_tree2.cpp']]], + ['test_5fset_55',['test_set',['../d3/d7d/brute__force__string__searching_8cpp.html#ae2abaa9caa13fff35e45edca00bee123',1,'brute_force_string_searching.cpp']]], + ['testcase_56',['TestCase',['../da/d86/struct_test_case.html',1,'']]], + ['testcase_5f1_57',['testCase_1',['../d5/d58/class_test_cases.html#ac2636e8b5b9e053374c45bfcf0603008',1,'TestCases::testCase_1()'],['../d5/d58/class_test_cases.html#ac2636e8b5b9e053374c45bfcf0603008',1,'TestCases::testCase_1()'],['../d5/d58/class_test_cases.html#ac2636e8b5b9e053374c45bfcf0603008',1,'TestCases::testCase_1()']]], + ['testcase_5f2_58',['testCase_2',['../d5/d58/class_test_cases.html#abae0148985f159b582a385cf399254e3',1,'TestCases::testCase_2()'],['../d5/d58/class_test_cases.html#abae0148985f159b582a385cf399254e3',1,'TestCases::testCase_2()'],['../d5/d58/class_test_cases.html#abae0148985f159b582a385cf399254e3',1,'TestCases::testCase_2()']]], + ['testcase_5f3_59',['testCase_3',['../d5/d58/class_test_cases.html#ad9f95c09931625b41e3be1f88d1e28c5',1,'TestCases::testCase_3()'],['../d5/d58/class_test_cases.html#ad9f95c09931625b41e3be1f88d1e28c5',1,'TestCases::testCase_3()'],['../d5/d58/class_test_cases.html#ad9f95c09931625b41e3be1f88d1e28c5',1,'TestCases::testCase_3()']]], + ['testcases_60',['TestCases',['../d5/d58/class_test_cases.html',1,'']]], + ['tests_61',['tests',['../d9/df4/namespacetests.html',1,'tests'],['../d1/da7/armstrong__number__templated_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e',1,'tests(): armstrong_number_templated.cpp'],['../da/d0d/longest__common__string_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e',1,'tests(): longest_common_string.cpp'],['../d9/dec/unbounded__0__1__knapsack_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e',1,'tests(): unbounded_0_1_knapsack.cpp'],['../d7/d07/bidirectional__dijkstra_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e',1,'tests(): bidirectional_dijkstra.cpp'],['../df/d82/breadth__first__search_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e',1,'tests(): breadth_first_search.cpp'],['../df/ddd/connected__components_8cpp.html#a88ec9ad42717780d6caaff9d3d6977f9',1,'tests(): connected_components.cpp'],['../da/d4b/depth__first__search__with__stack_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e',1,'tests(): depth_first_search_with_stack.cpp'],['../d8/d68/dijkstra_8cpp.html#a88ec9ad42717780d6caaff9d3d6977f9',1,'tests(): dijkstra.cpp'],['../d1/d9a/hopcroft__karp_8cpp.html#a88ec9ad42717780d6caaff9d3d6977f9',1,'tests(): hopcroft_karp.cpp'],['../de/dde/lowest__common__ancestor_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e',1,'tests(): lowest_common_ancestor.cpp'],['../de/d88/travelling__salesman__problem_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e',1,'tests(): travelling_salesman_problem.cpp'],['../d9/d1f/binary__addition_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e',1,'tests(): binary_addition.cpp'],['../d4/d6c/boruvkas__minimum__spanning__tree_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e',1,'tests(): boruvkas_minimum_spanning_tree.cpp'],['../d3/d36/digit__separation_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e',1,'tests(): digit_separation.cpp'],['../da/de8/dijkstra__greedy_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e',1,'tests(): dijkstra_greedy.cpp'],['../db/d80/gale__shapley_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e',1,'tests(): gale_shapley.cpp'],['../d0/d51/approximate__pi_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e',1,'tests(): approximate_pi.cpp'],['../d8/db1/binomial__calculate_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e',1,'tests(): binomial_calculate.cpp'],['../d5/df6/check__amicable__pair_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e',1,'tests(): check_amicable_pair.cpp'],['../d8/dd5/check__factorial_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e',1,'tests(): check_factorial.cpp'],['../db/d93/check__prime_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e',1,'tests(): check_prime.cpp'],['../d5/d67/complex__numbers_8cpp.html#a88ec9ad42717780d6caaff9d3d6977f9',1,'tests(): complex_numbers.cpp'],['../d7/d89/double__factorial_8cpp.html#a88ec9ad42717780d6caaff9d3d6977f9',1,'tests(): double_factorial.cpp'],['../d9/d00/factorial_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e',1,'tests(): factorial.cpp'],['../d4/d21/least__common__multiple_8cpp.html#a88ec9ad42717780d6caaff9d3d6977f9',1,'tests(): least_common_multiple.cpp'],['../d9/d44/magic__number_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e',1,'tests(): magic_number.cpp'],['../d6/d42/miller__rabin_8cpp.html#a88ec9ad42717780d6caaff9d3d6977f9',1,'tests(): miller_rabin.cpp'],['../de/dab/ncr__modulo__p_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e',1,'tests(): ncr_modulo_p.cpp'],['../d0/da2/number__of__positive__divisors_8cpp.html#a88ec9ad42717780d6caaff9d3d6977f9',1,'tests(): number_of_positive_divisors.cpp'],['../d8/ddf/sieve__of__eratosthenes_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e',1,'tests(): sieve_of_eratosthenes.cpp'],['../db/d6b/kelvin__to__celsius_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e',1,'tests(): kelvin_to_celsius.cpp'],['../d4/db8/longest__substring__without__repeating__characters_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e',1,'tests(): longest_substring_without_repeating_characters.cpp'],['../dc/de1/recursive__tree__traversal_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e',1,'tests(): recursive_tree_traversal.cpp'],['../d6/d2e/fenwick__tree_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e',1,'tests(): fenwick_tree.cpp'],['../d9/d02/linear__search_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e',1,'tests(): linear_search.cpp'],['../d9/d5f/longest__increasing__subsequence__using__binary__search_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e',1,'tests(): longest_increasing_subsequence_using_binary_search.cpp'],['../d9/dfd/comb__sort_8cpp.html#a88ec9ad42717780d6caaff9d3d6977f9',1,'tests(): comb_sort.cpp'],['../dd/d0d/insertion__sort_8cpp.html#a88ec9ad42717780d6caaff9d3d6977f9',1,'tests(): insertion_sort.cpp'],['../dd/d89/insertion__sort__recursive_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e',1,'tests(): insertion_sort_recursive.cpp'],['../d1/d21/quick__sort_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e',1,'tests(): quick_sort.cpp'],['../d3/d22/quick__sort__iterative_8cpp.html#a88ec9ad42717780d6caaff9d3d6977f9',1,'tests(): quick_sort_iterative.cpp'],['../d8/d61/radix__sort2_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e',1,'tests(): radix_sort2.cpp'],['../d3/db2/boyer__moore_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e',1,'tests(): boyer_moore.cpp'],['../de/d6a/knuth__morris__pratt_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e',1,'tests(): knuth_morris_pratt.cpp']]], + ['text_5fsearch_2ecpp_62',['text_search.cpp',['../dc/db5/text__search_8cpp.html',1,'']]], + ['th_63',['TH',['../db/d3c/tower__of__hanoi_8cpp.html#ab037f72a5eac476535a6cfbbcb965417',1,'tower_of_hanoi.cpp']]], + ['the_20address_20of_20parent_20nodes_64',['Method 1: Use parent pointer (store the address of parent nodes)',['../d4/d32/inorder__successor__of__bst_8cpp.html#autotoc_md91',1,'']]], + ['the_20algorithms_20c_65',['The Algorithms - C++',['../index.html',1,'']]], + ['the_20given_20node_20does_20not_20have_20a_20right_20node_20subtree_66',['Case 2: The given node does not have a right node/subtree',['../d4/d32/inorder__successor__of__bst_8cpp.html#autotoc_md90',1,'']]], + ['the_20given_20node_20has_20the_20right_20node_20subtree_67',['Case 1: The given node has the right node/subtree',['../d4/d32/inorder__successor__of__bst_8cpp.html#autotoc_md89',1,'']]], + ['the_20right_20node_20subtree_68',['Case 1: The given node has the right node/subtree',['../d4/d32/inorder__successor__of__bst_8cpp.html#autotoc_md89',1,'']]], + ['the_20root_20node_69',['Method 2: Search from the root node',['../d4/d32/inorder__successor__of__bst_8cpp.html#autotoc_md92',1,'']]], + ['time_5fof_5fflight_70',['time_of_flight',['../d9/d29/ground__to__ground__projectile__motion_8cpp.html#a563e066975fed1b84750a0a47c3cbb37',1,'physics::ground_to_ground_projectile_motion']]], + ['tnode_71',['Tnode',['../d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html',1,'operations_on_datastructures::trie_operations']]], + ['to_5fstring_72',['to_string',['../d6/d84/classhashing_1_1sha256_1_1_hash.html#a4581f503a263d8e928e5716d54477e08',1,'hashing::sha256::Hash']]], + ['todo_20list_73',['Todo List',['../dd/da0/todo.html',1,'']]], + ['tolittleendian32_74',['toLittleEndian32',['../d5/d96/md5_8cpp.html#a694712c9665051ba52b686387b87a689',1,'hashing::md5']]], + ['tolittleendian64_75',['toLittleEndian64',['../d5/d96/md5_8cpp.html#a6be48c1e6e742f9bd329f501d61dcaef',1,'hashing::md5']]], + ['tolowerroman_76',['tolowerRoman',['../de/d85/decimal__to__roman__numeral_8cpp.html#a003fb4e1b08279fe4cd50fbbc2782c2d',1,'decimal_to_roman_numeral.cpp']]], + ['top_77',['top',['../d2/d2c/structtower.html#acb535964abd34c47678a4ade0628223d',1,'tower::top'],['../d1/def/classdata__structures_1_1linked__list_1_1list.html#a9785d1478e59f5a90288b2928a7094d6',1,'data_structures::linked_list::list::top()'],['../d1/dc2/classstack.html#ae09630c4384903d187801921b2ddc709',1,'stack::top()'],['../db/d5b/structdata__structures_1_1stack__using__queue_1_1_stack.html#a5540434e1b41245205eee86f664906f7',1,'data_structures::stack_using_queue::Stack::top()']]], + ['topmost_78',['topmost',['../d2/dc8/classdata__structures_1_1_stack.html#a61dc70e128ee64c9684f03a4c04818b0',1,'data_structures::Stack']]], + ['topological_5fsort_79',['topological_sort',['../d8/d76/namespacetopological__sort.html',1,'']]], + ['topological_5fsort_2ecpp_80',['topological_sort.cpp',['../d8/db9/topological__sort_8cpp.html',1,'']]], + ['topologicalsort_81',['topologicalSort',['../d8/db9/topological__sort_8cpp.html#a54dc5d7914958dbd24dda2fd862dc41b',1,'graph::topological_sort']]], + ['toupperroman_82',['toupperRoman',['../de/d85/decimal__to__roman__numeral_8cpp.html#a214743638eff1336f835310049aef979',1,'decimal_to_roman_numeral.cpp']]], + ['tovector_83',['toVector',['../db/da9/classqueue.html#a386fc1df8610948d3117b12f24655c7d',1,'queue']]], + ['tower_84',['tower',['../d2/d2c/structtower.html',1,'']]], + ['tower_5fof_5fhanoi_2ecpp_85',['tower_of_hanoi.cpp',['../db/d3c/tower__of__hanoi_8cpp.html',1,'']]], + ['transpose_86',['transpose',['../d8/d77/namespacemachine__learning.html#a89fde571b38f9483576594f66572958a',1,'machine_learning']]], + ['trapped_5frainwater_2ecpp_87',['trapped_rainwater.cpp',['../d9/d80/trapped__rainwater_8cpp.html',1,'']]], + ['trappedrainwater_88',['trappedRainwater',['../dd/d24/namespacedynamic__programming.html#a066e0e739e7c276eee6e61d5b4d37ce8',1,'dynamic_programming']]], + ['travelling_5fsalesman_5fproblem_2ecpp_89',['travelling_salesman_problem.cpp',['../de/d88/travelling__salesman__problem_8cpp.html',1,'']]], + ['travelling_5fsalesman_5fusing_5fbit_5fmanipulation_90',['travelling_salesman_using_bit_manipulation',['../d4/d8f/travelling__salesman__using__bit__manipulation_8cpp.html#ad08f082be02c3437c2fe89cb035fcee1',1,'bit_manipulation::travelling_salesman_using_bit_manipulation']]], + ['travelling_5fsalesman_5fusing_5fbit_5fmanipulation_2ecpp_91',['travelling_salesman_using_bit_manipulation.cpp',['../d4/d8f/travelling__salesman__using__bit__manipulation_8cpp.html',1,'']]], + ['travellingsalesman_5fbitmanipulation_92',['travellingSalesman_bitmanipulation',['../d7/d3f/namespacetravelling_salesman__bitmanipulation.html',1,'']]], + ['travellingsalesmanproblem_93',['TravellingSalesmanProblem',['../df/dce/namespacegraph.html#ab7706341d006e20d1ae58274187a3346',1,'graph']]], + ['traversal_20of_20a_20tree_94',['Traversal of a tree',['../d8/d90/iterative__tree__traversals_8cpp.html#autotoc_md95',1,'Iterative Inorder Traversal of a tree'],['../dc/de1/recursive__tree__traversal_8cpp.html#autotoc_md99',1,'Iterative Inorder Traversal of a tree'],['../d8/d90/iterative__tree__traversals_8cpp.html#autotoc_md94',1,'Iterative Postorder Traversal of a tree'],['../dc/de1/recursive__tree__traversal_8cpp.html#autotoc_md101',1,'Iterative Postorder Traversal of a tree'],['../d8/d90/iterative__tree__traversals_8cpp.html#autotoc_md93',1,'Iterative Preorder Traversal of a tree'],['../dc/de1/recursive__tree__traversal_8cpp.html#autotoc_md100',1,'Iterative Preorder Traversal of a tree']]], + ['traverse_95',['Traverse',['../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a84ab7b4fe7442b5e2eeed8c050bb86bd',1,'data_structures::tree_234::Tree234::Traverse()'],['../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a936bb546e6a94d8b9d35b30ee1bb291a',1,'data_structures::tree_234::Tree234::Traverse(Node *tree)']]], + ['traverse_96',['traverse',['../d1/def/classdata__structures_1_1linked__list_1_1list.html#a2b951a3f1123b9b2f4891ec96aa76d69',1,'data_structures::linked_list::list']]], + ['traverse_5finorder_97',['traverse_inorder',['../d9/dde/classbinary__search__tree.html#a2fcf37549bd002c174a45b0b4203c2bd',1,'binary_search_tree']]], + ['traverse_5fpostorder_98',['traverse_postorder',['../d9/dde/classbinary__search__tree.html#a87c0a35845d27e0f6fc1f4eaa0333362',1,'binary_search_tree']]], + ['traverse_5fpreorder_99',['traverse_preorder',['../d9/dde/classbinary__search__tree.html#ab81edd415324d372632c42dc7dbcb9e1',1,'binary_search_tree']]], + ['treap_100',['Treap',['../d5/d95/structdata__structures_1_1treap_1_1_treap.html',1,'data_structures::treap::Treap'],['../d5/d95/structdata__structures_1_1treap_1_1_treap.html#a5d200493aeaa02a269f6b6deda39a683',1,'data_structures::treap::Treap::Treap()']]], + ['treap_2ecpp_101',['treap.cpp',['../d0/dd2/treap_8cpp.html',1,'']]], + ['treapcnt_102',['treapCnt',['../d5/d95/structdata__structures_1_1treap_1_1_treap.html#a1ab082fe0aa95a238bbbc68ab6a72425',1,'data_structures::treap::Treap']]], + ['tree_103',['Tree',['../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html',1,'range_queries::heavy_light_decomposition::Tree< X >'],['../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html#a835fb2bbb27307b8cacad9b287968bc1',1,'range_queries::heavy_light_decomposition::Tree::Tree()']]], + ['tree_104',['tree',['../d8/d90/iterative__tree__traversals_8cpp.html#autotoc_md95',1,'Iterative Inorder Traversal of a tree'],['../dc/de1/recursive__tree__traversal_8cpp.html#autotoc_md99',1,'Iterative Inorder Traversal of a tree'],['../d8/d90/iterative__tree__traversals_8cpp.html#autotoc_md94',1,'Iterative Postorder Traversal of a tree'],['../dc/de1/recursive__tree__traversal_8cpp.html#autotoc_md101',1,'Iterative Postorder Traversal of a tree'],['../d8/d90/iterative__tree__traversals_8cpp.html#autotoc_md93',1,'Iterative Preorder Traversal of a tree'],['../dc/de1/recursive__tree__traversal_8cpp.html#autotoc_md100',1,'Iterative Preorder Traversal of a tree']]], + ['tree234_105',['Tree234',['../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html',1,'data_structures::tree_234']]], + ['tree_5f234_106',['tree_234',['../d6/dab/namespacetree__234.html',1,'']]], + ['tree_5f234_2ecpp_107',['tree_234.cpp',['../db/dbc/tree__234_8cpp.html',1,'']]], + ['triangle_5farea_108',['triangle_area',['../dd/d47/namespacemath.html#ab3b920cc56442abd92279ba23b50f4dc',1,'math']]], + ['triangle_5fperimeter_109',['triangle_perimeter',['../dd/d47/namespacemath.html#a3d1e4db743b189f309327572663415f3',1,'math']]], + ['triangle_5fprism_5fvolume_110',['triangle_prism_volume',['../dd/d47/namespacemath.html#a2d704a7b72a6b2db8b76c8581b577b2c',1,'math']]], + ['trianglearea_111',['TriangleArea',['../d0/d01/smallest__circle_8cpp.html#a94682a4a70d5906857ca09de5b9fb2cc',1,'smallest_circle.cpp']]], + ['trie_112',['Trie',['../d3/d26/classdata__structures_1_1trie__using__hashmap_1_1_trie.html',1,'data_structures::trie_using_hashmap::Trie'],['../dd/d2f/class_trie.html',1,'Trie'],['../dd/d2f/class_trie.html#a6af57e9f25d0d0a2d59eea5a4a802908',1,'Trie::Trie()'],['../d3/d26/classdata__structures_1_1trie__using__hashmap_1_1_trie.html#a092d0805a9e647c2048777dbe67b35ab',1,'data_structures::trie_using_hashmap::Trie::Trie()']]], + ['trie_113',['trie',['../d0/d3e/classdata__structures_1_1trie.html',1,'data_structures::trie'],['../d0/d3e/classdata__structures_1_1trie.html#a87d8bf99aea936f9381141753f1e90a8',1,'data_structures::trie::trie()']]], + ['trie_5fmodern_2ecpp_114',['trie_modern.cpp',['../dc/d93/trie__modern_8cpp.html',1,'']]], + ['trie_5fmultiple_5fsearch_2ecpp_115',['trie_multiple_search.cpp',['../d7/def/trie__multiple__search_8cpp.html',1,'']]], + ['trie_5foperations_116',['trie_operations',['../df/d8e/namespacetrie__operations.html',1,'']]], + ['trie_5ftree_2ecpp_117',['trie_tree.cpp',['../d7/d83/trie__tree_8cpp.html',1,'']]], + ['trie_5fusing_5fhashmap_118',['trie_using_hashmap',['../d7/d0a/namespacetrie__using__hashmap.html',1,'']]], + ['trie_5fusing_5fhashmap_2ecpp_119',['trie_using_hashmap.cpp',['../d5/d8a/trie__using__hashmap_8cpp.html',1,'']]], + ['trienode_120',['TrieNode',['../de/d48/struct_trie_1_1_trie_node.html',1,'Trie']]], + ['tryleftrotate_121',['TryLeftRotate',['../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#ac5361479dd996eb331759f33808657d9',1,'data_structures::tree_234::Tree234']]], + ['tryrightrotate_122',['TryRightRotate',['../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#aec0642d1d151521ca7c70ea85cdb15d3',1,'data_structures::tree_234::Tree234']]], + ['typical_20structure_20of_20a_20program_123',['Typical structure of a program',['../d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md31',1,'']]] ]; diff --git a/search/all_1a.js b/search/all_1a.js index 409b9b8f3..5bacbb01c 100644 --- a/search/all_1a.js +++ b/search/all_1a.js @@ -1,93 +1,29 @@ var searchData= [ - ['u16streampos_0',['u16streampos',['http://en.cppreference.com/w/cpp/io/fpos.html',0,'std']]], - ['u16string_1',['u16string',['http://en.cppreference.com/w/cpp/string/basic_string.html',0,'std::u16string'],['http://en.cppreference.com/w/cpp/string/basic_string/basic_string.html',0,'std::u16string::u16string()']]], - ['u32streampos_2',['u32streampos',['http://en.cppreference.com/w/cpp/io/fpos.html',0,'std']]], - ['u32string_3',['u32string',['http://en.cppreference.com/w/cpp/string/basic_string.html',0,'std::u32string'],['http://en.cppreference.com/w/cpp/string/basic_string/basic_string.html',0,'std::u32string::u32string()']]], - ['uflow_4',['uflow',['http://en.cppreference.com/w/cpp/io/basic_streambuf/uflow.html',0,'std::basic_filebuf::uflow()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/uflow.html',0,'std::wstringbuf::uflow()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/uflow.html',0,'std::stringbuf::uflow()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/uflow.html',0,'std::wfilebuf::uflow()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/uflow.html',0,'std::wstreambuf::uflow()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/uflow.html',0,'std::strstreambuf::uflow()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/uflow.html',0,'std::basic_stringbuf::uflow()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/uflow.html',0,'std::basic_streambuf::uflow()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/uflow.html',0,'std::filebuf::uflow()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/uflow.html',0,'std::streambuf::uflow()']]], - ['uint128_5ft_5',['uint128_t',['../db/d9a/classuint128__t.html',1,'uint128_t'],['../db/d9a/classuint128__t.html#adce2432b148fe18179a5ea272f4eb040',1,'uint128_t::uint128_t(T low)'],['../db/d9a/classuint128__t.html#a0b6612186d8f678452e011d08ee1f5ac',1,'uint128_t::uint128_t(const std::string &str)'],['../db/d9a/classuint128__t.html#a95ac8be8f414fcbce09301b912f5079d',1,'uint128_t::uint128_t(const uint64_t high, const uint64_t low)'],['../db/d9a/classuint128__t.html#a60bf2739c93bb1cd41654fd60c76ae6b',1,'uint128_t::uint128_t(const uint128_t &num)=default'],['../db/d9a/classuint128__t.html#a7d56143b2e291e8087188192533d2e3c',1,'uint128_t::uint128_t(uint128_t &&num) noexcept']]], - ['uint128_5ft_2ehpp_6',['uint128_t.hpp',['../da/d41/uint128__t_8hpp.html',1,'']]], - ['uint128_5ft_5ftests_7',['uint128_t_tests',['../df/d2c/elliptic__curve__key__exchange_8cpp.html#a8800c8a84d77dadadb05ad5e83b77ef4',1,'elliptic_curve_key_exchange.cpp']]], - ['uint16_5ft_8',['uint16_t',['http://en.cppreference.com/w/cpp/types/integer.html',0,'std']]], - ['uint256_5ft_9',['uint256_t',['../d1/d83/classuint256__t.html',1,'uint256_t'],['../d1/d83/classuint256__t.html#aed0f8c3d5be23644c4bcb2fd2551e1dc',1,'uint256_t::uint256_t(T low)'],['../d1/d83/classuint256__t.html#a1fa3d95584d071add9b46597d3747b39',1,'uint256_t::uint256_t(const std::string &str)'],['../d1/d83/classuint256__t.html#a42bf7490b31d8c750a67fd9bb6f2df2e',1,'uint256_t::uint256_t(const uint256_t &num)=default'],['../d1/d83/classuint256__t.html#a092a766421ba5833452e86a2357d7cfa',1,'uint256_t::uint256_t(uint256_t &&num) noexcept'],['../d1/d83/classuint256__t.html#a02616a4a46727b4c158b2b90de8c75c3',1,'uint256_t::uint256_t(uint128_t high, uint128_t low)'],['../d1/d83/classuint256__t.html#a2b5f745c05d10fa85ba5c409ad92d052',1,'uint256_t::uint256_t(const uint64_t high, const uint64_t low)']]], - ['uint256_5ft_2ehpp_10',['uint256_t.hpp',['../da/da3/uint256__t_8hpp.html',1,'']]], - ['uint256_5ft_5ftests_11',['uint256_t_tests',['../df/d2c/elliptic__curve__key__exchange_8cpp.html#a37775d1724ffe404c088dabbc8da91ae',1,'elliptic_curve_key_exchange.cpp']]], - ['uint32_5ft_12',['uint32_t',['http://en.cppreference.com/w/cpp/types/integer.html',0,'std']]], - ['uint64_5ft_13',['uint64_t',['http://en.cppreference.com/w/cpp/types/integer.html',0,'std']]], - ['uint8_5ft_14',['uint8_t',['http://en.cppreference.com/w/cpp/types/integer.html',0,'std']]], - ['uint_5ffast16_5ft_15',['uint_fast16_t',['http://en.cppreference.com/w/cpp/types/integer.html',0,'std']]], - ['uint_5ffast32_5ft_16',['uint_fast32_t',['http://en.cppreference.com/w/cpp/types/integer.html',0,'std']]], - ['uint_5ffast64_5ft_17',['uint_fast64_t',['http://en.cppreference.com/w/cpp/types/integer.html',0,'std']]], - ['uint_5ffast8_5ft_18',['uint_fast8_t',['http://en.cppreference.com/w/cpp/types/integer.html',0,'std']]], - ['uint_5fleast16_5ft_19',['uint_least16_t',['http://en.cppreference.com/w/cpp/types/integer.html',0,'std']]], - ['uint_5fleast32_5ft_20',['uint_least32_t',['http://en.cppreference.com/w/cpp/types/integer.html',0,'std']]], - ['uint_5fleast64_5ft_21',['uint_least64_t',['http://en.cppreference.com/w/cpp/types/integer.html',0,'std']]], - ['uint_5fleast8_5ft_22',['uint_least8_t',['http://en.cppreference.com/w/cpp/types/integer.html',0,'std']]], - ['uintmax_5ft_23',['uintmax_t',['http://en.cppreference.com/w/cpp/types/integer.html',0,'std']]], - ['uintptr_5ft_24',['uintptr_t',['http://en.cppreference.com/w/cpp/types/integer.html',0,'std']]], - ['unary_5ffunction_25',['unary_function',['http://en.cppreference.com/w/cpp/utility/functional/unary_function.html',0,'std']]], - ['unary_5fnegate_26',['unary_negate',['http://en.cppreference.com/w/cpp/utility/functional/unary_negate.html',0,'std::unary_negate'],['http://en.cppreference.com/w/cpp/utility/functional/unary_negate.html',0,'std::unary_negate::unary_negate()']]], - ['unbounded_5f0_5f1_5fknapsack_2ecpp_27',['unbounded_0_1_knapsack.cpp',['../d9/dec/unbounded__0__1__knapsack_8cpp.html',1,'']]], - ['unboundedknapsack_28',['unboundedKnapsack',['../d9/dec/unbounded__0__1__knapsack_8cpp.html#a1bcff7f76de48fa7f629480f8f18b5ef',1,'dynamic_programming::unbounded_knapsack']]], - ['uncaught_5fexception_29',['uncaught_exception',['http://en.cppreference.com/w/cpp/error/uncaught_exception.html',0,'std']]], - ['undeclare_5fno_5fpointers_30',['undeclare_no_pointers',['http://en.cppreference.com/w/cpp/memory/gc/undeclare_no_pointers.html',0,'std']]], - ['undeclare_5freachable_31',['undeclare_reachable',['http://en.cppreference.com/w/cpp/memory/gc/undeclare_reachable.html',0,'std']]], - ['underflow_32',['underflow',['http://en.cppreference.com/w/cpp/io/basic_streambuf/underflow.html',0,'std::basic_filebuf::underflow()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/underflow.html',0,'std::wstringbuf::underflow()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/underflow.html',0,'std::stringbuf::underflow()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/underflow.html',0,'std::wfilebuf::underflow()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/underflow.html',0,'std::wstreambuf::underflow()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/underflow.html',0,'std::strstreambuf::underflow()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/underflow.html',0,'std::basic_stringbuf::underflow()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/underflow.html',0,'std::basic_streambuf::underflow()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/underflow.html',0,'std::filebuf::underflow()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/underflow.html',0,'std::streambuf::underflow()']]], - ['underflow_5ferror_33',['underflow_error',['http://en.cppreference.com/w/cpp/error/underflow_error.html',0,'std::underflow_error'],['http://en.cppreference.com/w/cpp/error/underflow_error.html',0,'std::underflow_error::underflow_error()']]], - ['underlying_5ftype_34',['underlying_type',['http://en.cppreference.com/w/cpp/types/underlying_type.html',0,'std']]], - ['unexpected_35',['unexpected',['http://en.cppreference.com/w/cpp/error/unexpected.html',0,'std']]], - ['unexpected_5fhandler_36',['unexpected_handler',['http://en.cppreference.com/w/cpp/error/unexpected_handler.html',0,'std']]], - ['unget_37',['unget',['http://en.cppreference.com/w/cpp/io/basic_istream/unget.html',0,'std::fstream::unget()'],['http://en.cppreference.com/w/cpp/io/basic_istream/unget.html',0,'std::basic_fstream::unget()'],['http://en.cppreference.com/w/cpp/io/basic_istream/unget.html',0,'std::iostream::unget()'],['http://en.cppreference.com/w/cpp/io/basic_istream/unget.html',0,'std::wistream::unget()'],['http://en.cppreference.com/w/cpp/io/basic_istream/unget.html',0,'std::stringstream::unget()'],['http://en.cppreference.com/w/cpp/io/basic_istream/unget.html',0,'std::wifstream::unget()'],['http://en.cppreference.com/w/cpp/io/basic_istream/unget.html',0,'std::basic_istream::unget()'],['http://en.cppreference.com/w/cpp/io/basic_istream/unget.html',0,'std::strstream::unget()'],['http://en.cppreference.com/w/cpp/io/basic_istream/unget.html',0,'std::basic_stringstream::unget()'],['http://en.cppreference.com/w/cpp/io/basic_istream/unget.html',0,'std::istrstream::unget()'],['http://en.cppreference.com/w/cpp/io/basic_istream/unget.html',0,'std::wiostream::unget()'],['http://en.cppreference.com/w/cpp/io/basic_istream/unget.html',0,'std::basic_istringstream::unget()'],['http://en.cppreference.com/w/cpp/io/basic_istream/unget.html',0,'std::basic_ifstream::unget()'],['http://en.cppreference.com/w/cpp/io/basic_istream/unget.html',0,'std::istringstream::unget()'],['http://en.cppreference.com/w/cpp/io/basic_istream/unget.html',0,'std::istream::unget()'],['http://en.cppreference.com/w/cpp/io/basic_istream/unget.html',0,'std::wfstream::unget()'],['http://en.cppreference.com/w/cpp/io/basic_istream/unget.html',0,'std::basic_iostream::unget()'],['http://en.cppreference.com/w/cpp/io/basic_istream/unget.html',0,'std::wstringstream::unget()'],['http://en.cppreference.com/w/cpp/io/basic_istream/unget.html',0,'std::wistringstream::unget()'],['http://en.cppreference.com/w/cpp/io/basic_istream/unget.html',0,'std::ifstream::unget()']]], - ['ungetc_38',['ungetc',['http://en.cppreference.com/w/cpp/io/c/ungetc.html',0,'std']]], - ['ungetwc_39',['ungetwc',['http://en.cppreference.com/w/cpp/io/c/ungetwc.html',0,'std']]], - ['uniform_5fint_5fdistribution_40',['uniform_int_distribution',['http://en.cppreference.com/w/cpp/numeric/random/uniform_int_distribution.html',0,'std::uniform_int_distribution'],['http://en.cppreference.com/w/cpp/numeric/random/uniform_int_distribution/uniform_int_distribution.html',0,'std::uniform_int_distribution::uniform_int_distribution()']]], - ['uniform_5frandom_5finitialization_41',['uniform_random_initialization',['../d8/d77/namespacemachine__learning.html#abee7b35403af3612222d3b7a53074905',1,'machine_learning']]], - ['uniform_5freal_5fdistribution_42',['uniform_real_distribution',['http://en.cppreference.com/w/cpp/numeric/random/uniform_real_distribution.html',0,'std::uniform_real_distribution'],['http://en.cppreference.com/w/cpp/numeric/random/uniform_real_distribution/uniform_real_distribution.html',0,'std::uniform_real_distribution::uniform_real_distribution()']]], - ['uninitialized_5fcopy_43',['uninitialized_copy',['http://en.cppreference.com/w/cpp/memory/uninitialized_copy.html',0,'std']]], - ['uninitialized_5fcopy_5fn_44',['uninitialized_copy_n',['http://en.cppreference.com/w/cpp/memory/uninitialized_copy_n.html',0,'std']]], - ['uninitialized_5ffill_45',['uninitialized_fill',['http://en.cppreference.com/w/cpp/memory/uninitialized_fill.html',0,'std']]], - ['uninitialized_5ffill_5fn_46',['uninitialized_fill_n',['http://en.cppreference.com/w/cpp/memory/uninitialized_fill_n.html',0,'std']]], - ['union_47',['Union',['../de/d23/disjoint__set_8cpp.html#a44481bb75386fbb0f958a388d4b9f757',1,'disjoint_set.cpp']]], - ['union_5fof_5ftwo_5farrays_2ecpp_48',['union_of_two_arrays.cpp',['../d8/d9c/union__of__two__arrays_8cpp.html',1,'']]], - ['union_5fsets_49',['union_sets',['../d8/d99/connected__components__with__dsu_8cpp.html#a67cb7472f310a798f555fe45cdf50145',1,'graph::disjoint_union']]], - ['unionset_50',['UnionSet',['../dd/d1f/classdsu.html#a6ac30c07abca2aaa3b291504c25c3559',1,'dsu']]], - ['unionset_51',['unionSet',['../dd/d1f/classdsu.html#a81897528bdb53fd5e796d75d7dbc430f',1,'dsu']]], - ['unique_52',['unique',['http://en.cppreference.com/w/cpp/memory/shared_ptr/unique.html',0,'std::shared_ptr::unique()'],['http://en.cppreference.com/w/cpp/container/forward_list/unique.html',0,'std::forward_list::unique()'],['http://en.cppreference.com/w/cpp/container/list/unique.html',0,'std::list::unique()'],['http://en.cppreference.com/w/cpp/algorithm/unique.html',0,'std::unique(T... args)']]], - ['unique_5fcopy_53',['unique_copy',['http://en.cppreference.com/w/cpp/algorithm/unique_copy.html',0,'std']]], - ['unique_5flock_54',['unique_lock',['http://en.cppreference.com/w/cpp/thread/unique_lock.html',0,'std::unique_lock< T >'],['http://en.cppreference.com/w/cpp/thread/unique_lock/unique_lock.html',0,'std::unique_lock::unique_lock()']]], - ['unique_5fptr_55',['unique_ptr',['http://en.cppreference.com/w/cpp/memory/unique_ptr.html',0,'std::unique_ptr< T >'],['http://en.cppreference.com/w/cpp/memory/unique_ptr/unique_ptr.html',0,'std::unique_ptr::unique_ptr()']]], - ['unique_5fptr_3c_20binary_5fsearch_5ftree_3a_3abst_5fnode_20_3e_56',['unique_ptr< binary_search_tree::bst_node >',['http://en.cppreference.com/w/cpp/memory/unique_ptr.html',0,'std']]], - ['unique_5fptr_3c_20t_5b_5d_3e_57',['unique_ptr< T[]>',['http://en.cppreference.com/w/cpp/memory/unique_ptr.html',0,'std']]], - ['unit_5fmatrix_5finitialization_58',['unit_matrix_initialization',['../d8/d77/namespacemachine__learning.html#a8dd3f1ffbc2f26a3c88da1b1f8b7e9c4',1,'machine_learning']]], - ['unitbuf_59',['unitbuf',['http://en.cppreference.com/w/cpp/io/manip/unitbuf.html',0,'std']]], - ['unlock_60',['unlock',['http://en.cppreference.com/w/cpp/thread/unique_lock/unlock.html',0,'std::unique_lock::unlock()'],['http://en.cppreference.com/w/cpp/thread/recursive_mutex/unlock.html',0,'std::recursive_mutex::unlock()'],['http://en.cppreference.com/w/cpp/thread/recursive_timed_mutex/unlock.html',0,'std::recursive_timed_mutex::unlock()'],['http://en.cppreference.com/w/cpp/thread/shared_lock/unlock.html',0,'std::shared_lock::unlock()'],['http://en.cppreference.com/w/cpp/thread/timed_mutex/unlock.html',0,'std::timed_mutex::unlock()'],['http://en.cppreference.com/w/cpp/thread/mutex/unlock.html',0,'std::mutex::unlock()'],['http://en.cppreference.com/w/cpp/thread/shared_timed_mutex/unlock.html',0,'std::shared_timed_mutex::unlock(T... args)']]], - ['unlock_5fshared_61',['unlock_shared',['http://en.cppreference.com/w/cpp/thread/shared_timed_mutex/unlock_shared.html',0,'std::shared_timed_mutex']]], - ['unordered_5fmap_62',['unordered_map',['http://en.cppreference.com/w/cpp/container/unordered_map.html',0,'std::unordered_map< K, T >'],['http://en.cppreference.com/w/cpp/container/unordered_map/unordered_map.html',0,'std::unordered_map::unordered_map()']]], - ['unordered_5fmap_3c_20char16_5ft_2c_20std_3a_3ashared_5fptr_3c_20data_5fstructures_3a_3atrie_5fusing_5fhashmap_3a_3atrie_3a_3anode_20_3e_20_3e_63',['unordered_map< char16_t, std::shared_ptr< data_structures::trie_using_hashmap::Trie::Node > >',['http://en.cppreference.com/w/cpp/container/unordered_map.html',0,'std']]], - ['unordered_5fmap_3c_20int_2c_20std_3a_3apair_3c_20others_3a_3acache_3a_3ad_5fnode_3c_20k_2c_20v_20_3e_20_2a_2c_20others_3a_3acache_3a_3ad_5fnode_3c_20k_2c_20v_20_3e_20_2a_20_3e_20_3e_64',['unordered_map< int, std::pair< others::Cache::D_Node< K, V > *, others::Cache::D_Node< K, V > * > >',['http://en.cppreference.com/w/cpp/container/unordered_map.html',0,'std']]], - ['unordered_5fmap_3c_20k_2c_20others_3a_3acache_3a_3ad_5fnode_3c_20k_2c_20v_20_3e_20_2a_20_3e_65',['unordered_map< K, others::Cache::D_Node< K, V > * >',['http://en.cppreference.com/w/cpp/container/unordered_map.html',0,'std']]], - ['unordered_5fmap_3c_20k_2c_20std_3a_3apair_3c_20others_3a_3acache_3a_3ad_5fnode_3c_20k_2c_20v_20_3e_20_2a_2c_20int_20_3e_20_3e_66',['unordered_map< K, std::pair< others::Cache::D_Node< K, V > *, int > >',['http://en.cppreference.com/w/cpp/container/unordered_map.html',0,'std']]], - ['unordered_5fmap_3c_20uint64_5ft_2c_20std_3a_3alist_3c_20uint64_5ft_20_3e_3a_3aiterator_20_3e_67',['unordered_map< uint64_t, std::list< uint64_t >::iterator >',['http://en.cppreference.com/w/cpp/container/unordered_map.html',0,'std']]], - ['unordered_5fmultimap_68',['unordered_multimap',['http://en.cppreference.com/w/cpp/container/unordered_multimap.html',0,'std::unordered_multimap< K, T >'],['http://en.cppreference.com/w/cpp/container/unordered_multimap/unordered_multimap.html',0,'std::unordered_multimap::unordered_multimap()']]], - ['unordered_5fmultiset_69',['unordered_multiset',['http://en.cppreference.com/w/cpp/container/unordered_multiset.html',0,'std::unordered_multiset< K >'],['http://en.cppreference.com/w/cpp/container/unordered_multiset/unordered_multiset.html',0,'std::unordered_multiset::unordered_multiset()']]], - ['unordered_5fset_70',['unordered_set',['http://en.cppreference.com/w/cpp/container/unordered_set.html',0,'std::unordered_set< K >'],['http://en.cppreference.com/w/cpp/container/unordered_set/unordered_set.html',0,'std::unordered_set::unordered_set()']]], - ['unordered_5fset_3c_20s_20_3e_71',['unordered_set< S >',['http://en.cppreference.com/w/cpp/container/unordered_set.html',0,'std']]], - ['unsetf_72',['unsetf',['http://en.cppreference.com/w/cpp/io/ios_base/unsetf.html',0,'std::basic_ofstream::unsetf()'],['http://en.cppreference.com/w/cpp/io/ios_base/unsetf.html',0,'std::fstream::unsetf()'],['http://en.cppreference.com/w/cpp/io/ios_base/unsetf.html',0,'std::wostream::unsetf()'],['http://en.cppreference.com/w/cpp/io/ios_base/unsetf.html',0,'std::basic_ostringstream::unsetf()'],['http://en.cppreference.com/w/cpp/io/ios_base/unsetf.html',0,'std::basic_ios::unsetf()'],['http://en.cppreference.com/w/cpp/io/ios_base/unsetf.html',0,'std::ostringstream::unsetf()'],['http://en.cppreference.com/w/cpp/io/ios_base/unsetf.html',0,'std::basic_fstream::unsetf()'],['http://en.cppreference.com/w/cpp/io/ios_base/unsetf.html',0,'std::iostream::unsetf()'],['http://en.cppreference.com/w/cpp/io/ios_base/unsetf.html',0,'std::ios_base::unsetf()'],['http://en.cppreference.com/w/cpp/io/ios_base/unsetf.html',0,'std::wistream::unsetf()'],['http://en.cppreference.com/w/cpp/io/ios_base/unsetf.html',0,'std::stringstream::unsetf()'],['http://en.cppreference.com/w/cpp/io/ios_base/unsetf.html',0,'std::ostream::unsetf()'],['http://en.cppreference.com/w/cpp/io/ios_base/unsetf.html',0,'std::wifstream::unsetf()'],['http://en.cppreference.com/w/cpp/io/ios_base/unsetf.html',0,'std::basic_istream::unsetf()'],['http://en.cppreference.com/w/cpp/io/ios_base/unsetf.html',0,'std::strstream::unsetf()'],['http://en.cppreference.com/w/cpp/io/ios_base/unsetf.html',0,'std::basic_stringstream::unsetf()'],['http://en.cppreference.com/w/cpp/io/ios_base/unsetf.html',0,'std::wostringstream::unsetf()'],['http://en.cppreference.com/w/cpp/io/ios_base/unsetf.html',0,'std::istrstream::unsetf()'],['http://en.cppreference.com/w/cpp/io/ios_base/unsetf.html',0,'std::basic_ostream::unsetf()'],['http://en.cppreference.com/w/cpp/io/ios_base/unsetf.html',0,'std::wiostream::unsetf()'],['http://en.cppreference.com/w/cpp/io/ios_base/unsetf.html',0,'std::ofstream::unsetf()'],['http://en.cppreference.com/w/cpp/io/ios_base/unsetf.html',0,'std::basic_istringstream::unsetf()'],['http://en.cppreference.com/w/cpp/io/ios_base/unsetf.html',0,'std::basic_ifstream::unsetf()'],['http://en.cppreference.com/w/cpp/io/ios_base/unsetf.html',0,'std::istringstream::unsetf()'],['http://en.cppreference.com/w/cpp/io/ios_base/unsetf.html',0,'std::istream::unsetf()'],['http://en.cppreference.com/w/cpp/io/ios_base/unsetf.html',0,'std::ostrstream::unsetf()'],['http://en.cppreference.com/w/cpp/io/ios_base/unsetf.html',0,'std::wfstream::unsetf()'],['http://en.cppreference.com/w/cpp/io/ios_base/unsetf.html',0,'std::basic_iostream::unsetf()'],['http://en.cppreference.com/w/cpp/io/ios_base/unsetf.html',0,'std::wofstream::unsetf()'],['http://en.cppreference.com/w/cpp/io/ios_base/unsetf.html',0,'std::wstringstream::unsetf()'],['http://en.cppreference.com/w/cpp/io/ios_base/unsetf.html',0,'std::wistringstream::unsetf()'],['http://en.cppreference.com/w/cpp/io/ios_base/unsetf.html',0,'std::ifstream::unsetf()']]], - ['unshift_73',['unshift',['http://en.cppreference.com/w/cpp/locale/codecvt/unshift.html',0,'std::codecvt::unshift()'],['http://en.cppreference.com/w/cpp/locale/codecvt/unshift.html',0,'std::codecvt_byname::unshift()'],['http://en.cppreference.com/w/cpp/locale/codecvt/unshift.html',0,'std::codecvt_utf8::unshift()'],['http://en.cppreference.com/w/cpp/locale/codecvt/unshift.html',0,'std::codecvt_utf8_utf16::unshift()'],['http://en.cppreference.com/w/cpp/locale/codecvt/unshift.html',0,'std::codecvt_utf16::unshift()']]], - ['up_74',['up',['../d9/d23/classgraph_1_1_lowest_common_ancestor.html#a46d10f669791e3da9a4809bd8ff8d3ad',1,'graph::LowestCommonAncestor']]], - ['update_75',['update',['../dd/d95/classdata__structures_1_1_segment_tree.html#a2a04f1832c5ce86def50c3021b2ab6b1',1,'data_structures::SegmentTree::update(int i, int l, int r, int pos, T val)'],['../dd/d95/classdata__structures_1_1_segment_tree.html#ad0e78179ab979ae2bc4304bdc181db17',1,'data_structures::SegmentTree::update(int pos, T val)'],['../d5/d95/structdata__structures_1_1treap_1_1_treap.html#aae9facaede462ad924856c4d707646d7',1,'data_structures::treap::Treap::update()'],['../d6/d84/classhashing_1_1sha256_1_1_hash.html#a0896c27ac39c780e0ee62417fdd0b9d3',1,'hashing::sha256::Hash::update()'],['../de/d0d/classrange__queries_1_1fenwick__tree.html#a19dea5e88bbd7683a719030623315de9',1,'range_queries::fenwick_tree::update()'],['../d9/d35/classrange__queries_1_1heavy__light__decomposition_1_1_s_g.html#a3c75bf5770790f8eba8cc92227b5400c',1,'range_queries::heavy_light_decomposition::SG::update()'],['../d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d.html#a9f1cb54ed09fde931bf3220d75ee4c57',1,'range_queries::heavy_light_decomposition::HLD::update()'],['../d8/d28/classrange__queries_1_1per_seg_tree.html#a24487eda25123bc4d112e8430821a6c6',1,'range_queries::perSegTree::update(const uint32_t &i, const uint32_t &j, const uint32_t &l, const uint32_t &r, const int64_t &value, std::shared_ptr< Node > const &curr)'],['../d8/d28/classrange__queries_1_1per_seg_tree.html#af87494e6cf012d28c4f5b9d1c15f9c5d',1,'range_queries::perSegTree::update(const uint32_t &l, const uint32_t &r, const int64_t &value)'],['../d2/d45/segtree_8cpp.html#abd3e818681fb2e29cf08f4f60f82c8e0',1,'update(std::vector< int64_t > *segtree, std::vector< int64_t > *lazy, int64_t start, int64_t end, int64_t delta, uint64_t low, uint64_t high, uint64_t pos): segtree.cpp']]], - ['update_5fstep_76',['update_step',['../d9/d5d/extended__euclid__algorithm_8cpp.html#abe92d63a0ff9bda7e304df510d5dd217',1,'extended_euclid_algorithm.cpp']]], - ['update_5fweights_77',['update_weights',['../d8/d77/namespacemachine__learning.html#ae868ad43698a1d69ba46ea3827d7d2c3',1,'machine_learning::update_weights(const std::valarray< double > &X, std::vector< std::vector< std::valarray< double > > > *W, std::vector< std::valarray< double > > *D, double alpha, int R)'],['../d8/d77/namespacemachine__learning.html#aa6aac06ccf128b0a9c55c9ee1a8e5631',1,'machine_learning::update_weights(const std::valarray< double > &x, std::vector< std::valarray< double > > *W, std::valarray< double > *D, double alpha, int R)']]], - ['upper_78',['upper',['../db/d9a/classuint128__t.html#a1ee2f1ffbd9984faad34883eb45e9705',1,'uint128_t::upper()'],['../d1/d83/classuint256__t.html#aecb2883133c8c8b9fcfb77ab69b03ab5',1,'uint256_t::upper()']]], - ['upper_5fbound_79',['upper_bound',['http://en.cppreference.com/w/cpp/container/multiset/upper_bound.html',0,'std::multiset::upper_bound()'],['http://en.cppreference.com/w/cpp/container/set/upper_bound.html',0,'std::set::upper_bound()'],['http://en.cppreference.com/w/cpp/container/map/upper_bound.html',0,'std::map::upper_bound()'],['http://en.cppreference.com/w/cpp/container/multimap/upper_bound.html',0,'std::multimap::upper_bound()'],['http://en.cppreference.com/w/cpp/algorithm/upper_bound.html',0,'std::upper_bound(T... args)']]], - ['uppercase_80',['uppercase',['http://en.cppreference.com/w/cpp/io/manip/uppercase.html',0,'std']]], - ['use_20parent_20pointer_20store_20the_20address_20of_20parent_20nodes_81',['Method 1: Use parent pointer (store the address of parent nodes)',['../d4/d32/inorder__successor__of__bst_8cpp.html#autotoc_md91',1,'']]], - ['use_5fcount_82',['use_count',['http://en.cppreference.com/w/cpp/memory/weak_ptr/use_count.html',0,'std::weak_ptr']]], - ['use_5ffacet_83',['use_facet',['http://en.cppreference.com/w/cpp/locale/use_facet.html',0,'std']]], - ['used_84',['Data Structure used',['../d3/db3/lru__cache_8cpp.html#autotoc_md98',1,'']]], - ['user_20interface_85',['User-interface',['../dc/d64/md__coding_guidelines.html#autotoc_md18',1,'']]], - ['user_5finput_5ftest_86',['user_input_test',['../d4/d38/power__of__two_8cpp.html#adfd6be45be425ae28c62ce3bfb4b40dc',1,'power_of_two.cpp']]], - ['uses_5fallocator_87',['uses_allocator',['http://en.cppreference.com/w/cpp/memory/uses_allocator.html',0,'std']]], - ['util_5ffunctions_88',['util_functions',['../d3/d17/namespaceutil__functions.html',1,'']]], - ['utils_89',['utils',['../d6/d84/namespaceutils.html',1,'']]] + ['uint128_5ft_0',['uint128_t',['../db/d9a/classuint128__t.html',1,'uint128_t'],['../db/d9a/classuint128__t.html#adce2432b148fe18179a5ea272f4eb040',1,'uint128_t::uint128_t(T low)'],['../db/d9a/classuint128__t.html#a0b6612186d8f678452e011d08ee1f5ac',1,'uint128_t::uint128_t(const std::string &str)'],['../db/d9a/classuint128__t.html#a95ac8be8f414fcbce09301b912f5079d',1,'uint128_t::uint128_t(const uint64_t high, const uint64_t low)'],['../db/d9a/classuint128__t.html#a60bf2739c93bb1cd41654fd60c76ae6b',1,'uint128_t::uint128_t(const uint128_t &num)=default'],['../db/d9a/classuint128__t.html#a7d56143b2e291e8087188192533d2e3c',1,'uint128_t::uint128_t(uint128_t &&num) noexcept']]], + ['uint128_5ft_2ehpp_1',['uint128_t.hpp',['../da/d41/uint128__t_8hpp.html',1,'']]], + ['uint128_5ft_5ftests_2',['uint128_t_tests',['../df/d2c/elliptic__curve__key__exchange_8cpp.html#a8800c8a84d77dadadb05ad5e83b77ef4',1,'elliptic_curve_key_exchange.cpp']]], + ['uint256_5ft_3',['uint256_t',['../d1/d83/classuint256__t.html',1,'uint256_t'],['../d1/d83/classuint256__t.html#aed0f8c3d5be23644c4bcb2fd2551e1dc',1,'uint256_t::uint256_t(T low)'],['../d1/d83/classuint256__t.html#a1fa3d95584d071add9b46597d3747b39',1,'uint256_t::uint256_t(const std::string &str)'],['../d1/d83/classuint256__t.html#a42bf7490b31d8c750a67fd9bb6f2df2e',1,'uint256_t::uint256_t(const uint256_t &num)=default'],['../d1/d83/classuint256__t.html#a092a766421ba5833452e86a2357d7cfa',1,'uint256_t::uint256_t(uint256_t &&num) noexcept'],['../d1/d83/classuint256__t.html#a02616a4a46727b4c158b2b90de8c75c3',1,'uint256_t::uint256_t(uint128_t high, uint128_t low)'],['../d1/d83/classuint256__t.html#a2b5f745c05d10fa85ba5c409ad92d052',1,'uint256_t::uint256_t(const uint64_t high, const uint64_t low)']]], + ['uint256_5ft_2ehpp_4',['uint256_t.hpp',['../da/da3/uint256__t_8hpp.html',1,'']]], + ['uint256_5ft_5ftests_5',['uint256_t_tests',['../df/d2c/elliptic__curve__key__exchange_8cpp.html#a37775d1724ffe404c088dabbc8da91ae',1,'elliptic_curve_key_exchange.cpp']]], + ['unbounded_5f0_5f1_5fknapsack_2ecpp_6',['unbounded_0_1_knapsack.cpp',['../d9/dec/unbounded__0__1__knapsack_8cpp.html',1,'']]], + ['unboundedknapsack_7',['unboundedKnapsack',['../d9/dec/unbounded__0__1__knapsack_8cpp.html#a1bcff7f76de48fa7f629480f8f18b5ef',1,'dynamic_programming::unbounded_knapsack']]], + ['uniform_5frandom_5finitialization_8',['uniform_random_initialization',['../d8/d77/namespacemachine__learning.html#abee7b35403af3612222d3b7a53074905',1,'machine_learning']]], + ['union_9',['Union',['../de/d23/disjoint__set_8cpp.html#a44481bb75386fbb0f958a388d4b9f757',1,'disjoint_set.cpp']]], + ['union_5fof_5ftwo_5farrays_2ecpp_10',['union_of_two_arrays.cpp',['../d8/d9c/union__of__two__arrays_8cpp.html',1,'']]], + ['union_5fsets_11',['union_sets',['../d8/d99/connected__components__with__dsu_8cpp.html#a67cb7472f310a798f555fe45cdf50145',1,'graph::disjoint_union']]], + ['unionset_12',['UnionSet',['../dd/d1f/classdsu.html#a6ac30c07abca2aaa3b291504c25c3559',1,'dsu']]], + ['unionset_13',['unionSet',['../dd/d1f/classdsu.html#a81897528bdb53fd5e796d75d7dbc430f',1,'dsu']]], + ['unit_5fmatrix_5finitialization_14',['unit_matrix_initialization',['../d8/d77/namespacemachine__learning.html#a8dd3f1ffbc2f26a3c88da1b1f8b7e9c4',1,'machine_learning']]], + ['up_15',['up',['../d9/d23/classgraph_1_1_lowest_common_ancestor.html#a46d10f669791e3da9a4809bd8ff8d3ad',1,'graph::LowestCommonAncestor']]], + ['update_16',['update',['../dd/d95/classdata__structures_1_1_segment_tree.html#a2a04f1832c5ce86def50c3021b2ab6b1',1,'data_structures::SegmentTree::update(int i, int l, int r, int pos, T val)'],['../dd/d95/classdata__structures_1_1_segment_tree.html#ad0e78179ab979ae2bc4304bdc181db17',1,'data_structures::SegmentTree::update(int pos, T val)'],['../d5/d95/structdata__structures_1_1treap_1_1_treap.html#aae9facaede462ad924856c4d707646d7',1,'data_structures::treap::Treap::update()'],['../d6/d84/classhashing_1_1sha256_1_1_hash.html#a0896c27ac39c780e0ee62417fdd0b9d3',1,'hashing::sha256::Hash::update()'],['../de/d0d/classrange__queries_1_1fenwick__tree.html#a19dea5e88bbd7683a719030623315de9',1,'range_queries::fenwick_tree::update()'],['../d9/d35/classrange__queries_1_1heavy__light__decomposition_1_1_s_g.html#a3c75bf5770790f8eba8cc92227b5400c',1,'range_queries::heavy_light_decomposition::SG::update()'],['../d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d.html#a9f1cb54ed09fde931bf3220d75ee4c57',1,'range_queries::heavy_light_decomposition::HLD::update()'],['../d8/d28/classrange__queries_1_1per_seg_tree.html#a24487eda25123bc4d112e8430821a6c6',1,'range_queries::perSegTree::update(const uint32_t &i, const uint32_t &j, const uint32_t &l, const uint32_t &r, const int64_t &value, std::shared_ptr< Node > const &curr)'],['../d8/d28/classrange__queries_1_1per_seg_tree.html#af87494e6cf012d28c4f5b9d1c15f9c5d',1,'range_queries::perSegTree::update(const uint32_t &l, const uint32_t &r, const int64_t &value)'],['../d2/d45/segtree_8cpp.html#abd3e818681fb2e29cf08f4f60f82c8e0',1,'update(std::vector< int64_t > *segtree, std::vector< int64_t > *lazy, int64_t start, int64_t end, int64_t delta, uint64_t low, uint64_t high, uint64_t pos): segtree.cpp']]], + ['update_5fstep_17',['update_step',['../d9/d5d/extended__euclid__algorithm_8cpp.html#abe92d63a0ff9bda7e304df510d5dd217',1,'extended_euclid_algorithm.cpp']]], + ['update_5fweights_18',['update_weights',['../d8/d77/namespacemachine__learning.html#ae868ad43698a1d69ba46ea3827d7d2c3',1,'machine_learning::update_weights(const std::valarray< double > &X, std::vector< std::vector< std::valarray< double > > > *W, std::vector< std::valarray< double > > *D, double alpha, int R)'],['../d8/d77/namespacemachine__learning.html#aa6aac06ccf128b0a9c55c9ee1a8e5631',1,'machine_learning::update_weights(const std::valarray< double > &x, std::vector< std::valarray< double > > *W, std::valarray< double > *D, double alpha, int R)']]], + ['upper_19',['upper',['../db/d9a/classuint128__t.html#a1ee2f1ffbd9984faad34883eb45e9705',1,'uint128_t::upper()'],['../d1/d83/classuint256__t.html#aecb2883133c8c8b9fcfb77ab69b03ab5',1,'uint256_t::upper()']]], + ['use_20parent_20pointer_20store_20the_20address_20of_20parent_20nodes_20',['Method 1: Use parent pointer (store the address of parent nodes)',['../d4/d32/inorder__successor__of__bst_8cpp.html#autotoc_md91',1,'']]], + ['used_21',['Data Structure used',['../d3/db3/lru__cache_8cpp.html#autotoc_md98',1,'']]], + ['user_20interface_22',['User-interface',['../dc/d64/md__coding_guidelines.html#autotoc_md18',1,'']]], + ['user_5finput_5ftest_23',['user_input_test',['../d4/d38/power__of__two_8cpp.html#adfd6be45be425ae28c62ce3bfb4b40dc',1,'power_of_two.cpp']]], + ['util_5ffunctions_24',['util_functions',['../d3/d17/namespaceutil__functions.html',1,'']]], + ['utils_25',['utils',['../d6/d84/namespaceutils.html',1,'']]] ]; diff --git a/search/all_1b.js b/search/all_1b.js index 5fcdfe5de..28978ec20 100644 --- a/search/all_1b.js +++ b/search/all_1b.js @@ -1,68 +1,19 @@ var searchData= [ ['v_5fstack_0',['v_stack',['../dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix.html#af12ceffdc07cc87eca8a4a8ac87d60fe',1,'divide_and_conquer::strassens_multiplication::Matrix']]], - ['va_5flist_1',['va_list',['http://en.cppreference.com/w/cpp/utility/variadic/va_list.html',0,'']]], - ['val_2',['val',['../d5/d66/classrange__queries_1_1per_seg_tree_1_1_node.html#acc044f787c90b815773726d7fdfdaccf',1,'range_queries::perSegTree::Node::val'],['../d7/da4/struct_list_node.html#a58389d1d1fc5430c2f4ce7c5d5dc48b3',1,'ListNode::val'],['../de/d9d/classdata__structures_1_1linked__list_1_1link.html#acf96f3a9a1d3b15268c38e8822300c11',1,'data_structures::linked_list::link::val()']]], - ['valarray_3',['valarray',['http://en.cppreference.com/w/cpp/numeric/valarray.html',0,'std']]], - ['valarray_3c_20double_20_3e_4',['valarray< double >',['http://en.cppreference.com/w/cpp/numeric/valarray.html',0,'std']]], - ['valid_5',['valid',['http://en.cppreference.com/w/cpp/thread/shared_future/valid.html',0,'std::shared_future::valid()'],['http://en.cppreference.com/w/cpp/thread/future/valid.html',0,'std::future::valid()'],['http://en.cppreference.com/w/cpp/thread/packaged_task/valid.html',0,'std::packaged_task::valid()']]], - ['value_6',['value',['../dd/db6/structbinary__search__tree_1_1bst__node.html#a09da9e5b801ede4764bc812975ff7f29',1,'binary_search_tree::bst_node::value'],['../d9/d49/structdata__structures_1_1_node.html#a6b973b0bded99b0c0bd84e887bf8c731',1,'data_structures::Node::value'],['http://en.cppreference.com/w/cpp/error/error_code/value.html',0,'std::error_code::value()'],['http://en.cppreference.com/w/cpp/regex/regex_traits/value.html',0,'std::regex_traits::value()'],['http://en.cppreference.com/w/cpp/error/error_condition/value.html',0,'std::error_condition::value()'],['http://en.cppreference.com/w/cpp/experimental/optional/value.html',0,'std::experimental::optional::value()']]], - ['value_5fcomp_7',['value_comp',['http://en.cppreference.com/w/cpp/container/multiset/value_comp.html',0,'std::multiset::value_comp()'],['http://en.cppreference.com/w/cpp/container/set/value_comp.html',0,'std::set::value_comp()'],['http://en.cppreference.com/w/cpp/container/map/value_comp.html',0,'std::map::value_comp()'],['http://en.cppreference.com/w/cpp/container/multimap/value_comp.html',0,'std::multimap::value_comp()']]], - ['value_5fcompare_8',['value_compare',['http://en.cppreference.com/w/cpp/container/map/value_compare.html',0,'std::map< K, T >::value_compare'],['http://en.cppreference.com/w/cpp/container/multimap/value_compare.html',0,'std::multimap< K, T >::value_compare']]], - ['value_5for_9',['value_or',['http://en.cppreference.com/w/cpp/experimental/optional/value_or.html',0,'std::experimental::optional']]], - ['values_10',['values',['../d2/d2c/structtower.html#a3ebb75c13c57d51a8a1ba1ea54a515e9',1,'tower::values'],['../d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list.html#a53611ec1fef92eeeb875aea1bde1e4de',1,'operations_on_datastructures::circular_linked_list::CircularLinkedList::values()'],['../d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list.html#a03a896b34d27fda69049827e0c4dab42',1,'operations_on_datastructures::circular_linked_list::CircularLinkedList::values(Node *root)']]], - ['variance_11',['variance',['../d7/d7c/classstatistics_1_1stats__computer1.html#a27f0a03e2fd2254f1c81fe668226bd92',1,'statistics::stats_computer1::variance()'],['../d8/dab/classstatistics_1_1stats__computer2.html#af6198817084276113b3c064e87ce0555',1,'statistics::stats_computer2::variance()'],['../da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution.html#aea8b0d649f0dc9a6f8baf3341a0b4960',1,'probability::geometric_dist::geometric_distribution::variance()']]], - ['vec_12',['vec',['../d8/d28/classrange__queries_1_1per_seg_tree.html#a8ff495d2f389b4aaa54449c26c6078f3',1,'range_queries::perSegTree']]], - ['vector_13',['vector',['http://en.cppreference.com/w/cpp/container/vector.html',0,'std::vector< T >'],['http://en.cppreference.com/w/cpp/container/vector/vector.html',0,'std::vector::vector()']]], - ['vector_3c_20bool_20_3e_14',['vector< bool >',['http://en.cppreference.com/w/cpp/container/vector.html',0,'std']]], - ['vector_3c_20double_20_3e_15',['vector< double >',['http://en.cppreference.com/w/cpp/container/vector.html',0,'std']]], - ['vector_3c_20edge_20_3e_16',['vector< Edge >',['http://en.cppreference.com/w/cpp/container/vector.html',0,'std']]], - ['vector_3c_20geometry_3a_3ajarvis_3a_3apoint_20_3e_17',['vector< geometry::jarvis::Point >',['http://en.cppreference.com/w/cpp/container/vector.html',0,'std']]], - ['vector_3c_20int_20_3e_18',['vector< int >',['http://en.cppreference.com/w/cpp/container/vector.html',0,'std']]], - ['vector_3c_20int64_5ft_20_3e_19',['vector< int64_t >',['http://en.cppreference.com/w/cpp/container/vector.html',0,'std']]], - ['vector_3c_20machine_5flearning_3a_3aneural_5fnetwork_3a_3alayers_3a_3adenselayer_20_3e_20',['vector< machine_learning::neural_network::layers::DenseLayer >',['http://en.cppreference.com/w/cpp/container/vector.html',0,'std']]], - ['vector_3c_20operations_5fon_5fdatastructures_3a_3atrie_5foperations_3a_3atnode_20_2a_20_3e_21',['vector< operations_on_datastructures::trie_operations::Tnode * >',['http://en.cppreference.com/w/cpp/container/vector.html',0,'std']]], - ['vector_3c_20size_5ft_20_3e_22',['vector< size_t >',['http://en.cppreference.com/w/cpp/container/vector.html',0,'std']]], - ['vector_3c_20std_3a_3afunction_3c_20std_3a_3asize_5ft_28t_29_3e_20_3e_23',['vector< std::function< std::size_t(T)> >',['http://en.cppreference.com/w/cpp/container/vector.html',0,'std']]], - ['vector_3c_20std_3a_3alist_3c_20int_20_3e_20_3e_24',['vector< std::list< int > >',['http://en.cppreference.com/w/cpp/container/vector.html',0,'std']]], - ['vector_3c_20std_3a_3apair_3c_20int8_5ft_2c_20int8_5ft_20_3e_20_3e_25',['vector< std::pair< int8_t, int8_t > >',['http://en.cppreference.com/w/cpp/container/vector.html',0,'std']]], - ['vector_3c_20std_3a_3ashared_5fptr_3c_20data_5fstructures_3a_3anode_20_3e_20_3e_26',['vector< std::shared_ptr< data_structures::Node > >',['http://en.cppreference.com/w/cpp/container/vector.html',0,'std']]], - ['vector_3c_20std_3a_3ashared_5fptr_3c_20node_20_3e_20_3e_27',['vector< std::shared_ptr< Node > >',['http://en.cppreference.com/w/cpp/container/vector.html',0,'std']]], - ['vector_3c_20std_3a_3ashared_5fptr_3c_20range_5fqueries_3a_3apersegtree_3a_3anode_20_3e_20_3e_28',['vector< std::shared_ptr< range_queries::perSegTree::Node > >',['http://en.cppreference.com/w/cpp/container/vector.html',0,'std']]], - ['vector_3c_20std_3a_3asize_5ft_20_3e_29',['vector< std::size_t >',['http://en.cppreference.com/w/cpp/container/vector.html',0,'std']]], - ['vector_3c_20std_3a_3astring_20_3e_30',['vector< std::string >',['http://en.cppreference.com/w/cpp/container/vector.html',0,'std']]], - ['vector_3c_20std_3a_3atuple_3c_20int_2c_20int_2c_20int_20_3e_20_3e_31',['vector< std::tuple< int, int, int > >',['http://en.cppreference.com/w/cpp/container/vector.html',0,'std']]], - ['vector_3c_20std_3a_3atuple_3c_20s_2c_20t_2c_20e_2c_20double_2c_20double_2c_20double_20_3e_20_3e_32',['vector< std::tuple< S, T, E, double, double, double > >',['http://en.cppreference.com/w/cpp/container/vector.html',0,'std']]], - ['vector_3c_20std_3a_3auint64_5ft_20_3e_33',['vector< std::uint64_t >',['http://en.cppreference.com/w/cpp/container/vector.html',0,'std']]], - ['vector_3c_20std_3a_3avalarray_3c_20double_20_3e_20_3e_34',['vector< std::valarray< double > >',['http://en.cppreference.com/w/cpp/container/vector.html',0,'std']]], - ['vector_3c_20std_3a_3avector_3c_20double_20_3e_20_3e_35',['vector< std::vector< double > >',['http://en.cppreference.com/w/cpp/container/vector.html',0,'std']]], - ['vector_3c_20std_3a_3avector_3c_20int_20_3e_20_3e_36',['vector< std::vector< int > >',['http://en.cppreference.com/w/cpp/container/vector.html',0,'std']]], - ['vector_3c_20std_3a_3avector_3c_20t_20_3e_20_3e_37',['vector< std::vector< T > >',['http://en.cppreference.com/w/cpp/container/vector.html',0,'std']]], - ['vector_3c_20uint64_5ft_20_3e_38',['vector< uint64_t >',['http://en.cppreference.com/w/cpp/container/vector.html',0,'std']]], - ['vector_3c_20unsigned_20char_20_3e_39',['vector< unsigned char >',['http://en.cppreference.com/w/cpp/container/vector.html',0,'std']]], - ['vector_3c_20unsigned_20int_20_3e_40',['vector< unsigned int >',['http://en.cppreference.com/w/cpp/container/vector.html',0,'std']]], - ['vector_3c_20x_20_3e_41',['vector< X >',['http://en.cppreference.com/w/cpp/container/vector.html',0,'std']]], - ['vector_5fcross_42',['vector_cross',['../d4/d91/namespacevector__cross.html',1,'']]], - ['vector_5fcross_5fproduct_2ecpp_43',['vector_cross_product.cpp',['../df/d66/vector__cross__product_8cpp.html',1,'']]], - ['vector_5fdot_44',['vector_dot',['../d2/d3b/namespaceqr__algorithm.html#a8ea313a1a1b5f9d0e3e332c29c6446ec',1,'qr_algorithm']]], - ['vector_5fimportant_5ffunctions_2ecpp_45',['vector_important_functions.cpp',['../d3/d61/vector__important__functions_8cpp.html',1,'']]], - ['vector_5fmag_46',['vector_mag',['../d2/d3b/namespaceqr__algorithm.html#ad16da2183db22378435042f26af43d5f',1,'qr_algorithm']]], - ['vector_5fops_2ehpp_47',['vector_ops.hpp',['../d8/d95/vector__ops_8hpp.html',1,'']]], - ['vector_5fproj_48',['vector_proj',['../d2/d3b/namespaceqr__algorithm.html#a6d3c7dce1f142141f509d09f6c0e25dc',1,'qr_algorithm']]], - ['vfprintf_49',['vfprintf',['http://en.cppreference.com/w/cpp/io/c/vfprintf.html',0,'std']]], - ['vfscanf_50',['vfscanf',['http://en.cppreference.com/w/cpp/io/c/vfscanf.html',0,'std']]], - ['vfwprintf_51',['vfwprintf',['http://en.cppreference.com/w/cpp/io/c/vfwprintf.html',0,'std']]], - ['vfwscanf_52',['vfwscanf',['http://en.cppreference.com/w/cpp/io/c/vfwscanf.html',0,'std']]], - ['vigenere_53',['vigenere',['../d6/da2/namespacevigenere.html',1,'']]], - ['vigenere_5fcipher_2ecpp_54',['vigenere_cipher.cpp',['../dd/d12/vigenere__cipher_8cpp.html',1,'']]], - ['volume_2ecpp_55',['volume.cpp',['../da/d39/volume_8cpp.html',1,'']]], - ['vprintf_56',['vprintf',['http://en.cppreference.com/w/cpp/io/c/vfprintf.html',0,'std']]], - ['vscanf_57',['vscanf',['http://en.cppreference.com/w/cpp/io/c/vfscanf.html',0,'std']]], - ['vsnprintf_58',['vsnprintf',['http://en.cppreference.com/w/cpp/io/c/vfprintf.html',0,'std']]], - ['vsprintf_59',['vsprintf',['http://en.cppreference.com/w/cpp/io/c/vfprintf.html',0,'std']]], - ['vsscanf_60',['vsscanf',['http://en.cppreference.com/w/cpp/io/c/vfscanf.html',0,'std']]], - ['vswprintf_61',['vswprintf',['http://en.cppreference.com/w/cpp/io/c/vfwprintf.html',0,'std']]], - ['vswscanf_62',['vswscanf',['http://en.cppreference.com/w/cpp/io/c/vfwscanf.html',0,'std']]], - ['vwprintf_63',['vwprintf',['http://en.cppreference.com/w/cpp/io/c/vfwprintf.html',0,'std']]], - ['vwscanf_64',['vwscanf',['http://en.cppreference.com/w/cpp/io/c/vfwscanf.html',0,'std']]] + ['val_1',['val',['../d5/d66/classrange__queries_1_1per_seg_tree_1_1_node.html#acc044f787c90b815773726d7fdfdaccf',1,'range_queries::perSegTree::Node::val'],['../d7/da4/struct_list_node.html#a58389d1d1fc5430c2f4ce7c5d5dc48b3',1,'ListNode::val'],['../de/d9d/classdata__structures_1_1linked__list_1_1link.html#acf96f3a9a1d3b15268c38e8822300c11',1,'data_structures::linked_list::link::val()']]], + ['value_2',['value',['../dd/db6/structbinary__search__tree_1_1bst__node.html#a09da9e5b801ede4764bc812975ff7f29',1,'binary_search_tree::bst_node::value'],['../d9/d49/structdata__structures_1_1_node.html#a6b973b0bded99b0c0bd84e887bf8c731',1,'data_structures::Node::value']]], + ['values_3',['values',['../d2/d2c/structtower.html#a3ebb75c13c57d51a8a1ba1ea54a515e9',1,'tower::values'],['../d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list.html#a53611ec1fef92eeeb875aea1bde1e4de',1,'operations_on_datastructures::circular_linked_list::CircularLinkedList::values()'],['../d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list.html#a03a896b34d27fda69049827e0c4dab42',1,'operations_on_datastructures::circular_linked_list::CircularLinkedList::values(Node *root)']]], + ['variance_4',['variance',['../d7/d7c/classstatistics_1_1stats__computer1.html#a27f0a03e2fd2254f1c81fe668226bd92',1,'statistics::stats_computer1::variance()'],['../d8/dab/classstatistics_1_1stats__computer2.html#af6198817084276113b3c064e87ce0555',1,'statistics::stats_computer2::variance()'],['../da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution.html#aea8b0d649f0dc9a6f8baf3341a0b4960',1,'probability::geometric_dist::geometric_distribution::variance()']]], + ['vec_5',['vec',['../d8/d28/classrange__queries_1_1per_seg_tree.html#a8ff495d2f389b4aaa54449c26c6078f3',1,'range_queries::perSegTree']]], + ['vector_5fcross_6',['vector_cross',['../d4/d91/namespacevector__cross.html',1,'']]], + ['vector_5fcross_5fproduct_2ecpp_7',['vector_cross_product.cpp',['../df/d66/vector__cross__product_8cpp.html',1,'']]], + ['vector_5fdot_8',['vector_dot',['../d2/d3b/namespaceqr__algorithm.html#a8ea313a1a1b5f9d0e3e332c29c6446ec',1,'qr_algorithm']]], + ['vector_5fimportant_5ffunctions_2ecpp_9',['vector_important_functions.cpp',['../d3/d61/vector__important__functions_8cpp.html',1,'']]], + ['vector_5fmag_10',['vector_mag',['../d2/d3b/namespaceqr__algorithm.html#ad16da2183db22378435042f26af43d5f',1,'qr_algorithm']]], + ['vector_5fops_2ehpp_11',['vector_ops.hpp',['../d8/d95/vector__ops_8hpp.html',1,'']]], + ['vector_5fproj_12',['vector_proj',['../d2/d3b/namespaceqr__algorithm.html#a6d3c7dce1f142141f509d09f6c0e25dc',1,'qr_algorithm']]], + ['vigenere_13',['vigenere',['../d6/da2/namespacevigenere.html',1,'']]], + ['vigenere_5fcipher_2ecpp_14',['vigenere_cipher.cpp',['../dd/d12/vigenere__cipher_8cpp.html',1,'']]], + ['volume_2ecpp_15',['volume.cpp',['../da/d39/volume_8cpp.html',1,'']]] ]; diff --git a/search/all_1c.js b/search/all_1c.js index c679ecaf2..e6f76d2df 100644 --- a/search/all_1c.js +++ b/search/all_1c.js @@ -1,102 +1,24 @@ var searchData= [ - ['wait_0',['wait',['http://en.cppreference.com/w/cpp/thread/condition_variable_any/wait.html',0,'std::condition_variable_any::wait()'],['http://en.cppreference.com/w/cpp/thread/condition_variable/wait.html',0,'std::condition_variable::wait()'],['http://en.cppreference.com/w/cpp/thread/shared_future/wait.html',0,'std::shared_future::wait()'],['http://en.cppreference.com/w/cpp/thread/future/wait.html',0,'std::future::wait()']]], - ['wait_5ffor_1',['wait_for',['http://en.cppreference.com/w/cpp/thread/condition_variable_any/wait_for.html',0,'std::condition_variable_any::wait_for()'],['http://en.cppreference.com/w/cpp/thread/condition_variable/wait_for.html',0,'std::condition_variable::wait_for()'],['http://en.cppreference.com/w/cpp/thread/shared_future/wait_for.html',0,'std::shared_future::wait_for()'],['http://en.cppreference.com/w/cpp/thread/future/wait_for.html',0,'std::future::wait_for()']]], - ['wait_5funtil_2',['wait_until',['http://en.cppreference.com/w/cpp/thread/condition_variable_any/wait_until.html',0,'std::condition_variable_any::wait_until()'],['http://en.cppreference.com/w/cpp/thread/condition_variable/wait_until.html',0,'std::condition_variable::wait_until()'],['http://en.cppreference.com/w/cpp/thread/shared_future/wait_until.html',0,'std::shared_future::wait_until()'],['http://en.cppreference.com/w/cpp/thread/future/wait_until.html',0,'std::future::wait_until()']]], - ['warning_3',['2. Warning',['../d3/dd7/md__c_o_d_e___o_f___c_o_n_d_u_c_t.html#autotoc_md12',1,'']]], - ['wave_5fsort_4',['wave_sort',['../d9/d21/namespacewave__sort.html',1,'']]], - ['wave_5fsort_2ecpp_5',['wave_sort.cpp',['../db/d3f/wave__sort_8cpp.html',1,'']]], - ['wavesort_6',['waveSort',['../db/d3f/wave__sort_8cpp.html#a7d4f243b9dc13ace4ef77e30dbc56f12',1,'sorting::wave_sort']]], - ['wbuffer_5fconvert_7',['wbuffer_convert',['http://en.cppreference.com/w/cpp/locale/wbuffer_convert.html',0,'std::wbuffer_convert'],['http://en.cppreference.com/w/cpp/locale/wbuffer_convert/wbuffer_convert.html',0,'std::wbuffer_convert::wbuffer_convert()']]], - ['wcerr_8',['wcerr',['http://en.cppreference.com/w/cpp/io/basic_ostream.html',0,'std']]], - ['wcin_9',['wcin',['http://en.cppreference.com/w/cpp/io/basic_istream.html',0,'std']]], - ['wclog_10',['wclog',['http://en.cppreference.com/w/cpp/io/basic_ostream.html',0,'std']]], - ['wcmatch_11',['wcmatch',['http://en.cppreference.com/w/cpp/regex/match_results.html',0,'std::wcmatch'],['http://en.cppreference.com/w/cpp/regex/match_results/match_results.html',0,'std::wcmatch::wcmatch()']]], - ['wcout_12',['wcout',['http://en.cppreference.com/w/cpp/io/basic_ostream.html',0,'std']]], - ['wcregex_5fiterator_13',['wcregex_iterator',['http://en.cppreference.com/w/cpp/regex/regex_iterator.html',0,'std::wcregex_iterator'],['http://en.cppreference.com/w/cpp/regex/regex_iterator/regex_iterator.html',0,'std::wcregex_iterator::wcregex_iterator()']]], - ['wcregex_5ftoken_5fiterator_14',['wcregex_token_iterator',['http://en.cppreference.com/w/cpp/regex/regex_token_iterator.html',0,'std::wcregex_token_iterator'],['http://en.cppreference.com/w/cpp/regex/regex_token_iterator/regex_token_iterator.html',0,'std::wcregex_token_iterator::wcregex_token_iterator()']]], - ['wcrtomb_15',['wcrtomb',['http://en.cppreference.com/w/cpp/string/multibyte/wcrtomb.html',0,'std']]], - ['wcscat_16',['wcscat',['http://en.cppreference.com/w/cpp/string/wide/wcscat.html',0,'std']]], - ['wcschr_17',['wcschr',['http://en.cppreference.com/w/cpp/string/wide/wcschr.html',0,'std']]], - ['wcscmp_18',['wcscmp',['http://en.cppreference.com/w/cpp/string/wide/wcscmp.html',0,'std']]], - ['wcscoll_19',['wcscoll',['http://en.cppreference.com/w/cpp/string/wide/wcscoll.html',0,'std']]], - ['wcscpy_20',['wcscpy',['http://en.cppreference.com/w/cpp/string/wide/wcscpy.html',0,'std']]], - ['wcscspn_21',['wcscspn',['http://en.cppreference.com/w/cpp/string/wide/wcscspn.html',0,'std']]], - ['wcsftime_22',['wcsftime',['http://en.cppreference.com/w/cpp/chrono/c/wcsftime.html',0,'std']]], - ['wcslen_23',['wcslen',['http://en.cppreference.com/w/cpp/string/wide/wcslen.html',0,'std']]], - ['wcsncat_24',['wcsncat',['http://en.cppreference.com/w/cpp/string/wide/wcsncat.html',0,'std']]], - ['wcsncmp_25',['wcsncmp',['http://en.cppreference.com/w/cpp/string/wide/wcsncmp.html',0,'std']]], - ['wcsncpy_26',['wcsncpy',['http://en.cppreference.com/w/cpp/string/wide/wcsncpy.html',0,'std']]], - ['wcspbrk_27',['wcspbrk',['http://en.cppreference.com/w/cpp/string/wide/wcspbrk.html',0,'std']]], - ['wcsrchr_28',['wcsrchr',['http://en.cppreference.com/w/cpp/string/wide/wcsrchr.html',0,'std']]], - ['wcsspn_29',['wcsspn',['http://en.cppreference.com/w/cpp/string/wide/wcsspn.html',0,'std']]], - ['wcsstr_30',['wcsstr',['http://en.cppreference.com/w/cpp/string/wide/wcsstr.html',0,'std']]], - ['wcstod_31',['wcstod',['http://en.cppreference.com/w/cpp/string/wide/wcstof.html',0,'std']]], - ['wcstof_32',['wcstof',['http://en.cppreference.com/w/cpp/string/wide/wcstof.html',0,'std']]], - ['wcstoimax_33',['wcstoimax',['http://en.cppreference.com/w/cpp/string/wide/wcstoimax.html',0,'std']]], - ['wcstok_34',['wcstok',['http://en.cppreference.com/w/cpp/string/wide/wcstok.html',0,'std']]], - ['wcstol_35',['wcstol',['http://en.cppreference.com/w/cpp/string/wide/wcstol.html',0,'std']]], - ['wcstold_36',['wcstold',['http://en.cppreference.com/w/cpp/string/wide/wcstof.html',0,'std']]], - ['wcstoll_37',['wcstoll',['http://en.cppreference.com/w/cpp/string/wide/wcstol.html',0,'std']]], - ['wcstombs_38',['wcstombs',['http://en.cppreference.com/w/cpp/string/multibyte/wcstombs.html',0,'std']]], - ['wcstoul_39',['wcstoul',['http://en.cppreference.com/w/cpp/string/wide/wcstoul.html',0,'std']]], - ['wcstoull_40',['wcstoull',['http://en.cppreference.com/w/cpp/string/wide/wcstoul.html',0,'std']]], - ['wcstoumax_41',['wcstoumax',['http://en.cppreference.com/w/cpp/string/wide/wcstoimax.html',0,'std']]], - ['wcsub_5fmatch_42',['wcsub_match',['http://en.cppreference.com/w/cpp/regex/sub_match.html',0,'std::wcsub_match'],['http://en.cppreference.com/w/cpp/regex/sub_match/sub_match.html',0,'std::wcsub_match::wcsub_match()']]], - ['wcsxfrm_43',['wcsxfrm',['http://en.cppreference.com/w/cpp/string/wide/wcsxfrm.html',0,'std']]], - ['wctob_44',['wctob',['http://en.cppreference.com/w/cpp/string/multibyte/wctob.html',0,'std']]], - ['wctomb_45',['wctomb',['http://en.cppreference.com/w/cpp/string/multibyte/wctomb.html',0,'std']]], - ['wctrans_46',['wctrans',['http://en.cppreference.com/w/cpp/string/wide/wctrans.html',0,'std']]], - ['wctype_47',['wctype',['http://en.cppreference.com/w/cpp/string/wide/wctype.html',0,'std']]], - ['weak_5fptr_48',['weak_ptr',['http://en.cppreference.com/w/cpp/memory/weak_ptr.html',0,'std::weak_ptr< T >'],['http://en.cppreference.com/w/cpp/memory/weak_ptr/weak_ptr.html',0,'std::weak_ptr::weak_ptr()']]], - ['weibull_5fdistribution_49',['weibull_distribution',['http://en.cppreference.com/w/cpp/numeric/random/weibull_distribution.html',0,'std::weibull_distribution'],['http://en.cppreference.com/w/cpp/numeric/random/weibull_distribution/weibull_distribution.html',0,'std::weibull_distribution::weibull_distribution()']]], - ['weights_50',['weights',['../d6/d30/classmachine__learning_1_1adaline.html#a4cd8fe438032fedaa66f93bfd66f5492',1,'machine_learning::adaline']]], - ['wfilebuf_51',['wfilebuf',['http://en.cppreference.com/w/cpp/io/basic_filebuf.html',0,'std::wfilebuf'],['http://en.cppreference.com/w/cpp/io/basic_filebuf/basic_filebuf.html',0,'std::wfilebuf::wfilebuf()']]], - ['wfstream_52',['wfstream',['http://en.cppreference.com/w/cpp/io/basic_fstream.html',0,'std::wfstream'],['http://en.cppreference.com/w/cpp/io/basic_fstream/basic_fstream.html',0,'std::wfstream::wfstream()']]], - ['what_53',['what',['http://en.cppreference.com/w/cpp/error/exception/what.html',0,'std::basic_ofstream::failure::what()'],['http://en.cppreference.com/w/cpp/error/exception/what.html',0,'std::fstream::failure::what()'],['http://en.cppreference.com/w/cpp/error/exception/what.html',0,'std::runtime_error::what()'],['http://en.cppreference.com/w/cpp/error/exception/what.html',0,'std::wostream::failure::what()'],['http://en.cppreference.com/w/cpp/memory/new/bad_alloc.html',0,'std::bad_array_new_length::what()'],['http://en.cppreference.com/w/cpp/error/exception/what.html',0,'std::basic_ostringstream::failure::what()'],['http://en.cppreference.com/w/cpp/error/exception/what.html',0,'std::bad_typeid::what()'],['http://en.cppreference.com/w/cpp/error/exception/what.html',0,'std::basic_ios::failure::what()'],['http://en.cppreference.com/w/cpp/error/exception/what.html',0,'std::logic_error::what()'],['http://en.cppreference.com/w/cpp/error/exception/what.html',0,'std::bad_alloc::what()'],['http://en.cppreference.com/w/cpp/error/exception/what.html',0,'std::ostringstream::failure::what()'],['http://en.cppreference.com/w/cpp/error/exception/what.html',0,'std::basic_fstream::failure::what()'],['http://en.cppreference.com/w/cpp/error/exception/what.html',0,'std::bad_function_call::what()'],['http://en.cppreference.com/w/cpp/error/exception/what.html',0,'std::range_error::what()'],['http://en.cppreference.com/w/cpp/error/exception/what.html',0,'std::invalid_argument::what()'],['http://en.cppreference.com/w/cpp/error/exception/what.html',0,'std::iostream::failure::what()'],['http://en.cppreference.com/w/cpp/error/exception/what.html',0,'std::ios_base::failure::what()'],['http://en.cppreference.com/w/cpp/error/exception/what.html',0,'std::wistream::failure::what()'],['http://en.cppreference.com/w/cpp/error/exception/what.html',0,'std::out_of_range::what()'],['http://en.cppreference.com/w/cpp/error/exception/what.html',0,'std::stringstream::failure::what()'],['http://en.cppreference.com/w/cpp/error/exception/what.html',0,'std::domain_error::what()'],['http://en.cppreference.com/w/cpp/error/exception/what.html',0,'std::ostream::failure::what()'],['http://en.cppreference.com/w/cpp/error/exception/what.html',0,'std::overflow_error::what()'],['http://en.cppreference.com/w/cpp/error/exception/what.html',0,'std::wifstream::failure::what()'],['http://en.cppreference.com/w/cpp/error/exception/what.html',0,'std::basic_istream::failure::what()'],['http://en.cppreference.com/w/cpp/error/exception/what.html',0,'std::strstream::failure::what()'],['http://en.cppreference.com/w/cpp/error/exception/what.html',0,'std::basic_stringstream::failure::what()'],['http://en.cppreference.com/w/cpp/error/exception/what.html',0,'std::future_error::what()'],['http://en.cppreference.com/w/cpp/error/exception/what.html',0,'std::wostringstream::failure::what()'],['http://en.cppreference.com/w/cpp/error/exception/what.html',0,'std::istrstream::failure::what()'],['http://en.cppreference.com/w/cpp/error/exception/what.html',0,'std::basic_ostream::failure::what()'],['http://en.cppreference.com/w/cpp/error/exception/what.html',0,'std::bad_cast::what()'],['http://en.cppreference.com/w/cpp/error/exception/what.html',0,'std::wiostream::failure::what()'],['http://en.cppreference.com/w/cpp/error/exception/what.html',0,'std::ofstream::failure::what()'],['http://en.cppreference.com/w/cpp/memory/new/bad_alloc.html',0,'std::bad_array_length::what()'],['http://en.cppreference.com/w/cpp/error/exception/what.html',0,'std::basic_istringstream::failure::what()'],['http://en.cppreference.com/w/cpp/error/exception/what.html',0,'std::basic_ifstream::failure::what()'],['http://en.cppreference.com/w/cpp/error/exception/what.html',0,'std::exception::what()'],['http://en.cppreference.com/w/cpp/error/exception/what.html',0,'std::bad_optional_access::what()'],['http://en.cppreference.com/w/cpp/error/exception/what.html',0,'std::istringstream::failure::what()'],['http://en.cppreference.com/w/cpp/error/exception/what.html',0,'std::istream::failure::what()'],['http://en.cppreference.com/w/cpp/error/exception/what.html',0,'std::ostrstream::failure::what()'],['http://en.cppreference.com/w/cpp/error/exception/what.html',0,'std::bad_weak_ptr::what()'],['http://en.cppreference.com/w/cpp/error/exception/what.html',0,'std::wfstream::failure::what()'],['http://en.cppreference.com/w/cpp/error/exception/what.html',0,'std::basic_iostream::failure::what()'],['http://en.cppreference.com/w/cpp/error/exception/what.html',0,'std::wofstream::failure::what()'],['http://en.cppreference.com/w/cpp/error/exception/what.html',0,'std::underflow_error::what()'],['http://en.cppreference.com/w/cpp/error/exception/what.html',0,'std::wstringstream::failure::what()'],['http://en.cppreference.com/w/cpp/error/exception/what.html',0,'std::regex_error::what()'],['http://en.cppreference.com/w/cpp/error/exception/what.html',0,'std::system_error::what()'],['http://en.cppreference.com/w/cpp/error/exception/what.html',0,'std::wistringstream::failure::what()'],['http://en.cppreference.com/w/cpp/error/exception/what.html',0,'std::ifstream::failure::what()'],['http://en.cppreference.com/w/cpp/error/exception/what.html',0,'std::length_error::what()']]], - ['white_54',['WHITE',['../da/d4b/depth__first__search__with__stack_8cpp.html#afb80b42b42381658a12a57a975ecd0c7',1,'depth_first_search_with_stack.cpp']]], - ['widen_55',['widen',['http://en.cppreference.com/w/cpp/io/basic_ios/widen.html',0,'std::basic_ofstream::widen()'],['http://en.cppreference.com/w/cpp/locale/ctype/widen.html',0,'std::ctype_byname::widen()'],['http://en.cppreference.com/w/cpp/io/basic_ios/widen.html',0,'std::fstream::widen()'],['http://en.cppreference.com/w/cpp/io/basic_ios/widen.html',0,'std::wostream::widen()'],['http://en.cppreference.com/w/cpp/io/basic_ios/widen.html',0,'std::basic_ostringstream::widen()'],['http://en.cppreference.com/w/cpp/io/basic_ios/widen.html',0,'std::basic_ios::widen()'],['http://en.cppreference.com/w/cpp/io/basic_ios/widen.html',0,'std::ostringstream::widen()'],['http://en.cppreference.com/w/cpp/io/basic_ios/widen.html',0,'std::basic_fstream::widen()'],['http://en.cppreference.com/w/cpp/io/basic_ios/widen.html',0,'std::iostream::widen()'],['http://en.cppreference.com/w/cpp/io/basic_ios/widen.html',0,'std::wistream::widen()'],['http://en.cppreference.com/w/cpp/io/basic_ios/widen.html',0,'std::stringstream::widen()'],['http://en.cppreference.com/w/cpp/io/basic_ios/widen.html',0,'std::ostream::widen()'],['http://en.cppreference.com/w/cpp/io/basic_ios/widen.html',0,'std::wifstream::widen()'],['http://en.cppreference.com/w/cpp/io/basic_ios/widen.html',0,'std::basic_istream::widen()'],['http://en.cppreference.com/w/cpp/io/basic_ios/widen.html',0,'std::strstream::widen()'],['http://en.cppreference.com/w/cpp/io/basic_ios/widen.html',0,'std::basic_stringstream::widen()'],['http://en.cppreference.com/w/cpp/io/basic_ios/widen.html',0,'std::wostringstream::widen()'],['http://en.cppreference.com/w/cpp/io/basic_ios/widen.html',0,'std::istrstream::widen()'],['http://en.cppreference.com/w/cpp/io/basic_ios/widen.html',0,'std::basic_ostream::widen()'],['http://en.cppreference.com/w/cpp/io/basic_ios/widen.html',0,'std::wiostream::widen()'],['http://en.cppreference.com/w/cpp/io/basic_ios/widen.html',0,'std::ofstream::widen()'],['http://en.cppreference.com/w/cpp/io/basic_ios/widen.html',0,'std::basic_istringstream::widen()'],['http://en.cppreference.com/w/cpp/io/basic_ios/widen.html',0,'std::basic_ifstream::widen()'],['http://en.cppreference.com/w/cpp/io/basic_ios/widen.html',0,'std::istringstream::widen()'],['http://en.cppreference.com/w/cpp/locale/ctype/widen.html',0,'std::ctype::widen()'],['http://en.cppreference.com/w/cpp/io/basic_ios/widen.html',0,'std::istream::widen()'],['http://en.cppreference.com/w/cpp/io/basic_ios/widen.html',0,'std::ostrstream::widen()'],['http://en.cppreference.com/w/cpp/io/basic_ios/widen.html',0,'std::wfstream::widen()'],['http://en.cppreference.com/w/cpp/io/basic_ios/widen.html',0,'std::basic_iostream::widen()'],['http://en.cppreference.com/w/cpp/io/basic_ios/widen.html',0,'std::wofstream::widen()'],['http://en.cppreference.com/w/cpp/io/basic_ios/widen.html',0,'std::wstringstream::widen()'],['http://en.cppreference.com/w/cpp/io/basic_ios/widen.html',0,'std::wistringstream::widen()'],['http://en.cppreference.com/w/cpp/io/basic_ios/widen.html',0,'std::ifstream::widen()']]], - ['width_56',['width',['http://en.cppreference.com/w/cpp/io/ios_base/width.html',0,'std::basic_ofstream::width()'],['http://en.cppreference.com/w/cpp/io/ios_base/width.html',0,'std::fstream::width()'],['http://en.cppreference.com/w/cpp/io/ios_base/width.html',0,'std::wostream::width()'],['http://en.cppreference.com/w/cpp/io/ios_base/width.html',0,'std::basic_ostringstream::width()'],['http://en.cppreference.com/w/cpp/io/ios_base/width.html',0,'std::basic_ios::width()'],['http://en.cppreference.com/w/cpp/io/ios_base/width.html',0,'std::ostringstream::width()'],['http://en.cppreference.com/w/cpp/io/ios_base/width.html',0,'std::basic_fstream::width()'],['http://en.cppreference.com/w/cpp/io/ios_base/width.html',0,'std::iostream::width()'],['http://en.cppreference.com/w/cpp/io/ios_base/width.html',0,'std::ios_base::width()'],['http://en.cppreference.com/w/cpp/io/ios_base/width.html',0,'std::wistream::width()'],['http://en.cppreference.com/w/cpp/io/ios_base/width.html',0,'std::stringstream::width()'],['http://en.cppreference.com/w/cpp/io/ios_base/width.html',0,'std::ostream::width()'],['http://en.cppreference.com/w/cpp/io/ios_base/width.html',0,'std::wifstream::width()'],['http://en.cppreference.com/w/cpp/io/ios_base/width.html',0,'std::basic_istream::width()'],['http://en.cppreference.com/w/cpp/io/ios_base/width.html',0,'std::strstream::width()'],['http://en.cppreference.com/w/cpp/io/ios_base/width.html',0,'std::basic_stringstream::width()'],['http://en.cppreference.com/w/cpp/io/ios_base/width.html',0,'std::wostringstream::width()'],['http://en.cppreference.com/w/cpp/io/ios_base/width.html',0,'std::istrstream::width()'],['http://en.cppreference.com/w/cpp/io/ios_base/width.html',0,'std::basic_ostream::width()'],['http://en.cppreference.com/w/cpp/io/ios_base/width.html',0,'std::wiostream::width()'],['http://en.cppreference.com/w/cpp/io/ios_base/width.html',0,'std::ofstream::width()'],['http://en.cppreference.com/w/cpp/io/ios_base/width.html',0,'std::basic_istringstream::width()'],['http://en.cppreference.com/w/cpp/io/ios_base/width.html',0,'std::basic_ifstream::width()'],['http://en.cppreference.com/w/cpp/io/ios_base/width.html',0,'std::istringstream::width()'],['http://en.cppreference.com/w/cpp/io/ios_base/width.html',0,'std::istream::width()'],['http://en.cppreference.com/w/cpp/io/ios_base/width.html',0,'std::ostrstream::width()'],['http://en.cppreference.com/w/cpp/io/ios_base/width.html',0,'std::wfstream::width()'],['http://en.cppreference.com/w/cpp/io/ios_base/width.html',0,'std::basic_iostream::width()'],['http://en.cppreference.com/w/cpp/io/ios_base/width.html',0,'std::wofstream::width()'],['http://en.cppreference.com/w/cpp/io/ios_base/width.html',0,'std::wstringstream::width()'],['http://en.cppreference.com/w/cpp/io/ios_base/width.html',0,'std::wistringstream::width()'],['http://en.cppreference.com/w/cpp/io/ios_base/width.html',0,'std::ifstream::width()']]], - ['wifstream_57',['wifstream',['http://en.cppreference.com/w/cpp/io/basic_ifstream.html',0,'std::wifstream'],['http://en.cppreference.com/w/cpp/io/basic_ifstream/basic_ifstream.html',0,'std::wifstream::wifstream()']]], - ['wiggle_5fsort_58',['wiggle_sort',['../d0/d52/namespacewiggle__sort.html',1,'']]], - ['wiggle_5fsort_2ecpp_59',['wiggle_sort.cpp',['../d1/dcc/wiggle__sort_8cpp.html',1,'']]], - ['wigglesort_60',['wiggleSort',['../d1/dcc/wiggle__sort_8cpp.html#a99eeded693ac073717282fae365957a1',1,'sorting::wiggle_sort']]], - ['wildcard_5fmatching_61',['wildcard_matching',['../db/d03/namespacewildcard__matching.html',1,'']]], - ['wildcard_5fmatching_2ecpp_62',['wildcard_matching.cpp',['../dc/d14/wildcard__matching_8cpp.html',1,'']]], - ['windowed_5fmedian_63',['windowed_median',['../dd/d21/namespacewindowed__median.html',1,'']]], - ['windowed_5fmedian_2ecpp_64',['windowed_median.cpp',['../d1/ded/windowed__median_8cpp.html',1,'']]], - ['windowedmedian_65',['WindowedMedian',['../df/d34/classprobability_1_1windowed__median_1_1_windowed_median.html',1,'probability::windowed_median::WindowedMedian'],['../df/d34/classprobability_1_1windowed__median_1_1_windowed_median.html#aac676369661d15a3eb782c0fee77d45d',1,'probability::windowed_median::WindowedMedian::WindowedMedian()']]], - ['wiostream_66',['wiostream',['http://en.cppreference.com/w/cpp/io/basic_iostream.html',0,'std::wiostream'],['http://en.cppreference.com/w/cpp/io/basic_iostream/basic_iostream.html',0,'std::wiostream::wiostream()']]], - ['wistream_67',['wistream',['http://en.cppreference.com/w/cpp/io/basic_istream.html',0,'std::wistream'],['http://en.cppreference.com/w/cpp/io/basic_istream/basic_istream.html',0,'std::wistream::wistream()']]], - ['wistringstream_68',['wistringstream',['http://en.cppreference.com/w/cpp/io/basic_istringstream.html',0,'std::wistringstream'],['http://en.cppreference.com/w/cpp/io/basic_istringstream/basic_istringstream.html',0,'std::wistringstream::wistringstream()']]], - ['wmemchr_69',['wmemchr',['http://en.cppreference.com/w/cpp/string/wide/wmemchr.html',0,'std']]], - ['wmemcmp_70',['wmemcmp',['http://en.cppreference.com/w/cpp/string/wide/wmemcmp.html',0,'std']]], - ['wmemcpy_71',['wmemcpy',['http://en.cppreference.com/w/cpp/string/wide/wmemcpy.html',0,'std']]], - ['wmemmove_72',['wmemmove',['http://en.cppreference.com/w/cpp/string/wide/wmemmove.html',0,'std']]], - ['wmemset_73',['wmemset',['http://en.cppreference.com/w/cpp/string/wide/wmemset.html',0,'std']]], - ['wofstream_74',['wofstream',['http://en.cppreference.com/w/cpp/io/basic_ofstream.html',0,'std::wofstream'],['http://en.cppreference.com/w/cpp/io/basic_ofstream/basic_ofstream.html',0,'std::wofstream::wofstream()']]], - ['word_5fbreak_75',['word_break',['../d6/d53/namespaceword__break.html',1,'']]], - ['word_5fbreak_2ecpp_76',['word_break.cpp',['../d3/d84/word__break_8cpp.html',1,'']]], - ['word_5fend_77',['word_end',['../d5/d12/structdata__structures_1_1trie__using__hashmap_1_1_trie_1_1_node.html#a3cdb077745d3dc97212d693132371219',1,'data_structures::trie_using_hashmap::Trie::Node']]], - ['wordbreak_78',['wordBreak',['../d3/d84/word__break_8cpp.html#afe4dcd6fd5282e535685361cba645d7c',1,'dynamic_programming::word_break']]], - ['working_79',['Working',['../d5/d45/sublist__search_8cpp.html#autotoc_md109',1,'']]], - ['worst_20case_80',['Worst Case',['../d8/d13/bubble__sort_8cpp.html#autotoc_md113',1,'']]], - ['worst_20case_20average_20case_81',['Bubble Sort Algorithm Analysis (Best Case - Worst Case - Average Case)',['../d8/d13/bubble__sort_8cpp.html#autotoc_md111',1,'']]], - ['wostream_82',['wostream',['http://en.cppreference.com/w/cpp/io/basic_ostream.html',0,'std::wostream'],['http://en.cppreference.com/w/cpp/io/basic_ostream/basic_ostream.html',0,'std::wostream::wostream()']]], - ['wostringstream_83',['wostringstream',['http://en.cppreference.com/w/cpp/io/basic_ostringstream.html',0,'std::wostringstream'],['http://en.cppreference.com/w/cpp/io/basic_ostringstream/basic_ostringstream.html',0,'std::wostringstream::wostringstream()']]], - ['wprintf_84',['wprintf',['http://en.cppreference.com/w/cpp/io/c/fwprintf.html',0,'std']]], - ['wregex_85',['wregex',['http://en.cppreference.com/w/cpp/regex/basic_regex.html',0,'std::wregex'],['http://en.cppreference.com/w/cpp/regex/basic_regex/basic_regex.html',0,'std::wregex::wregex()']]], - ['write_86',['write',['http://en.cppreference.com/w/cpp/io/basic_ostream/write.html',0,'std::basic_ofstream::write()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/write.html',0,'std::fstream::write()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/write.html',0,'std::wostream::write()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/write.html',0,'std::basic_ostringstream::write()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/write.html',0,'std::ostringstream::write()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/write.html',0,'std::basic_fstream::write()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/write.html',0,'std::iostream::write()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/write.html',0,'std::stringstream::write()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/write.html',0,'std::ostream::write()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/write.html',0,'std::strstream::write()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/write.html',0,'std::basic_stringstream::write()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/write.html',0,'std::wostringstream::write()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/write.html',0,'std::basic_ostream::write()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/write.html',0,'std::wiostream::write()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/write.html',0,'std::ofstream::write()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/write.html',0,'std::ostrstream::write()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/write.html',0,'std::wfstream::write()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/write.html',0,'std::basic_iostream::write()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/write.html',0,'std::wofstream::write()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/write.html',0,'std::wstringstream::write()']]], - ['ws_87',['ws',['http://en.cppreference.com/w/cpp/io/manip/ws.html',0,'std']]], - ['wscanf_88',['wscanf',['http://en.cppreference.com/w/cpp/io/c/fwscanf.html',0,'std']]], - ['wsmatch_89',['wsmatch',['http://en.cppreference.com/w/cpp/regex/match_results.html',0,'std::wsmatch'],['http://en.cppreference.com/w/cpp/regex/match_results/match_results.html',0,'std::wsmatch::wsmatch()']]], - ['wsregex_5fiterator_90',['wsregex_iterator',['http://en.cppreference.com/w/cpp/regex/regex_iterator.html',0,'std::wsregex_iterator'],['http://en.cppreference.com/w/cpp/regex/regex_iterator/regex_iterator.html',0,'std::wsregex_iterator::wsregex_iterator()']]], - ['wsregex_5ftoken_5fiterator_91',['wsregex_token_iterator',['http://en.cppreference.com/w/cpp/regex/regex_token_iterator.html',0,'std::wsregex_token_iterator'],['http://en.cppreference.com/w/cpp/regex/regex_token_iterator/regex_token_iterator.html',0,'std::wsregex_token_iterator::wsregex_token_iterator()']]], - ['wssub_5fmatch_92',['wssub_match',['http://en.cppreference.com/w/cpp/regex/sub_match.html',0,'std::wssub_match'],['http://en.cppreference.com/w/cpp/regex/sub_match/sub_match.html',0,'std::wssub_match::wssub_match()']]], - ['wstreambuf_93',['wstreambuf',['http://en.cppreference.com/w/cpp/io/basic_streambuf.html',0,'std::wstreambuf'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/basic_streambuf.html',0,'std::wstreambuf::wstreambuf()']]], - ['wstreampos_94',['wstreampos',['http://en.cppreference.com/w/cpp/io/fpos.html',0,'std']]], - ['wstring_95',['wstring',['http://en.cppreference.com/w/cpp/string/basic_string.html',0,'std::wstring'],['http://en.cppreference.com/w/cpp/string/basic_string/basic_string.html',0,'std::wstring::wstring()']]], - ['wstring_5fconvert_96',['wstring_convert',['http://en.cppreference.com/w/cpp/locale/wstring_convert.html',0,'std::wstring_convert'],['http://en.cppreference.com/w/cpp/locale/wstring_convert/wstring_convert.html',0,'std::wstring_convert::wstring_convert()']]], - ['wstringbuf_97',['wstringbuf',['http://en.cppreference.com/w/cpp/io/basic_stringbuf.html',0,'std::wstringbuf'],['http://en.cppreference.com/w/cpp/io/basic_stringbuf/basic_stringbuf.html',0,'std::wstringbuf::wstringbuf()']]], - ['wstringstream_98',['wstringstream',['http://en.cppreference.com/w/cpp/io/basic_stringstream.html',0,'std::wstringstream'],['http://en.cppreference.com/w/cpp/io/basic_stringstream/basic_stringstream.html',0,'std::wstringstream::wstringstream()']]] + ['warning_0',['2. Warning',['../d3/dd7/md__c_o_d_e___o_f___c_o_n_d_u_c_t.html#autotoc_md12',1,'']]], + ['wave_5fsort_1',['wave_sort',['../d9/d21/namespacewave__sort.html',1,'']]], + ['wave_5fsort_2ecpp_2',['wave_sort.cpp',['../db/d3f/wave__sort_8cpp.html',1,'']]], + ['wavesort_3',['waveSort',['../db/d3f/wave__sort_8cpp.html#a7d4f243b9dc13ace4ef77e30dbc56f12',1,'sorting::wave_sort']]], + ['weights_4',['weights',['../d6/d30/classmachine__learning_1_1adaline.html#a4cd8fe438032fedaa66f93bfd66f5492',1,'machine_learning::adaline']]], + ['white_5',['WHITE',['../da/d4b/depth__first__search__with__stack_8cpp.html#afb80b42b42381658a12a57a975ecd0c7',1,'depth_first_search_with_stack.cpp']]], + ['wiggle_5fsort_6',['wiggle_sort',['../d0/d52/namespacewiggle__sort.html',1,'']]], + ['wiggle_5fsort_2ecpp_7',['wiggle_sort.cpp',['../d1/dcc/wiggle__sort_8cpp.html',1,'']]], + ['wigglesort_8',['wiggleSort',['../d1/dcc/wiggle__sort_8cpp.html#a99eeded693ac073717282fae365957a1',1,'sorting::wiggle_sort']]], + ['wildcard_5fmatching_9',['wildcard_matching',['../db/d03/namespacewildcard__matching.html',1,'']]], + ['wildcard_5fmatching_2ecpp_10',['wildcard_matching.cpp',['../dc/d14/wildcard__matching_8cpp.html',1,'']]], + ['windowed_5fmedian_11',['windowed_median',['../dd/d21/namespacewindowed__median.html',1,'']]], + ['windowed_5fmedian_2ecpp_12',['windowed_median.cpp',['../d1/ded/windowed__median_8cpp.html',1,'']]], + ['windowedmedian_13',['WindowedMedian',['../df/d34/classprobability_1_1windowed__median_1_1_windowed_median.html',1,'probability::windowed_median::WindowedMedian'],['../df/d34/classprobability_1_1windowed__median_1_1_windowed_median.html#aac676369661d15a3eb782c0fee77d45d',1,'probability::windowed_median::WindowedMedian::WindowedMedian()']]], + ['word_5fbreak_14',['word_break',['../d6/d53/namespaceword__break.html',1,'']]], + ['word_5fbreak_2ecpp_15',['word_break.cpp',['../d3/d84/word__break_8cpp.html',1,'']]], + ['word_5fend_16',['word_end',['../d5/d12/structdata__structures_1_1trie__using__hashmap_1_1_trie_1_1_node.html#a3cdb077745d3dc97212d693132371219',1,'data_structures::trie_using_hashmap::Trie::Node']]], + ['wordbreak_17',['wordBreak',['../d3/d84/word__break_8cpp.html#afe4dcd6fd5282e535685361cba645d7c',1,'dynamic_programming::word_break']]], + ['working_18',['Working',['../d5/d45/sublist__search_8cpp.html#autotoc_md109',1,'']]], + ['worst_20case_19',['Worst Case',['../d8/d13/bubble__sort_8cpp.html#autotoc_md113',1,'']]], + ['worst_20case_20average_20case_20',['Bubble Sort Algorithm Analysis (Best Case - Worst Case - Average Case)',['../d8/d13/bubble__sort_8cpp.html#autotoc_md111',1,'']]] ]; diff --git a/search/all_1d.js b/search/all_1d.js index 78990c2c9..5d3bf13cc 100644 --- a/search/all_1d.js +++ b/search/all_1d.js @@ -2,9 +2,6 @@ var searchData= [ ['x_0',['x',['../d8/dc8/struct_point.html#ab99c56589bc8ad5fa5071387110a5bc7',1,'Point']]], ['x_5f_1',['X_',['../da/d94/classmachine__learning_1_1k__nearest__neighbors_1_1_knn.html#a16ddc13621eec6ac5f83658b3401a581',1,'machine_learning::k_nearest_neighbors::Knn']]], - ['xalloc_2',['xalloc',['http://en.cppreference.com/w/cpp/io/ios_base/xalloc.html',0,'std::basic_ofstream::xalloc()'],['http://en.cppreference.com/w/cpp/io/ios_base/xalloc.html',0,'std::fstream::xalloc()'],['http://en.cppreference.com/w/cpp/io/ios_base/xalloc.html',0,'std::wostream::xalloc()'],['http://en.cppreference.com/w/cpp/io/ios_base/xalloc.html',0,'std::basic_ostringstream::xalloc()'],['http://en.cppreference.com/w/cpp/io/ios_base/xalloc.html',0,'std::basic_ios::xalloc()'],['http://en.cppreference.com/w/cpp/io/ios_base/xalloc.html',0,'std::ostringstream::xalloc()'],['http://en.cppreference.com/w/cpp/io/ios_base/xalloc.html',0,'std::basic_fstream::xalloc()'],['http://en.cppreference.com/w/cpp/io/ios_base/xalloc.html',0,'std::iostream::xalloc()'],['http://en.cppreference.com/w/cpp/io/ios_base/xalloc.html',0,'std::ios_base::xalloc()'],['http://en.cppreference.com/w/cpp/io/ios_base/xalloc.html',0,'std::wistream::xalloc()'],['http://en.cppreference.com/w/cpp/io/ios_base/xalloc.html',0,'std::stringstream::xalloc()'],['http://en.cppreference.com/w/cpp/io/ios_base/xalloc.html',0,'std::ostream::xalloc()'],['http://en.cppreference.com/w/cpp/io/ios_base/xalloc.html',0,'std::wifstream::xalloc()'],['http://en.cppreference.com/w/cpp/io/ios_base/xalloc.html',0,'std::basic_istream::xalloc()'],['http://en.cppreference.com/w/cpp/io/ios_base/xalloc.html',0,'std::strstream::xalloc()'],['http://en.cppreference.com/w/cpp/io/ios_base/xalloc.html',0,'std::basic_stringstream::xalloc()'],['http://en.cppreference.com/w/cpp/io/ios_base/xalloc.html',0,'std::wostringstream::xalloc()'],['http://en.cppreference.com/w/cpp/io/ios_base/xalloc.html',0,'std::istrstream::xalloc()'],['http://en.cppreference.com/w/cpp/io/ios_base/xalloc.html',0,'std::basic_ostream::xalloc()'],['http://en.cppreference.com/w/cpp/io/ios_base/xalloc.html',0,'std::wiostream::xalloc()'],['http://en.cppreference.com/w/cpp/io/ios_base/xalloc.html',0,'std::ofstream::xalloc()'],['http://en.cppreference.com/w/cpp/io/ios_base/xalloc.html',0,'std::basic_istringstream::xalloc()'],['http://en.cppreference.com/w/cpp/io/ios_base/xalloc.html',0,'std::basic_ifstream::xalloc()'],['http://en.cppreference.com/w/cpp/io/ios_base/xalloc.html',0,'std::istringstream::xalloc()'],['http://en.cppreference.com/w/cpp/io/ios_base/xalloc.html',0,'std::istream::xalloc()'],['http://en.cppreference.com/w/cpp/io/ios_base/xalloc.html',0,'std::ostrstream::xalloc()'],['http://en.cppreference.com/w/cpp/io/ios_base/xalloc.html',0,'std::wfstream::xalloc()'],['http://en.cppreference.com/w/cpp/io/ios_base/xalloc.html',0,'std::basic_iostream::xalloc()'],['http://en.cppreference.com/w/cpp/io/ios_base/xalloc.html',0,'std::wofstream::xalloc()'],['http://en.cppreference.com/w/cpp/io/ios_base/xalloc.html',0,'std::wstringstream::xalloc()'],['http://en.cppreference.com/w/cpp/io/ios_base/xalloc.html',0,'std::wistringstream::xalloc()'],['http://en.cppreference.com/w/cpp/io/ios_base/xalloc.html',0,'std::ifstream::xalloc()']]], - ['xor_3',['XOR',['../d7/d47/namespace_x_o_r.html',1,'']]], - ['xor_5fcipher_2ecpp_4',['xor_cipher.cpp',['../d3/d4c/xor__cipher_8cpp.html',1,'']]], - ['xsgetn_5',['xsgetn',['http://en.cppreference.com/w/cpp/io/basic_streambuf/sgetn.html',0,'std::basic_filebuf::xsgetn()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sgetn.html',0,'std::wstringbuf::xsgetn()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sgetn.html',0,'std::stringbuf::xsgetn()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sgetn.html',0,'std::wfilebuf::xsgetn()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sgetn.html',0,'std::wstreambuf::xsgetn()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sgetn.html',0,'std::strstreambuf::xsgetn()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sgetn.html',0,'std::basic_stringbuf::xsgetn()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sgetn.html',0,'std::basic_streambuf::xsgetn()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sgetn.html',0,'std::filebuf::xsgetn()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sgetn.html',0,'std::streambuf::xsgetn()']]], - ['xsputn_6',['xsputn',['http://en.cppreference.com/w/cpp/io/basic_streambuf/sputn.html',0,'std::basic_filebuf::xsputn()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sputn.html',0,'std::wstringbuf::xsputn()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sputn.html',0,'std::stringbuf::xsputn()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sputn.html',0,'std::wfilebuf::xsputn()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sputn.html',0,'std::wstreambuf::xsputn()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sputn.html',0,'std::strstreambuf::xsputn()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sputn.html',0,'std::basic_stringbuf::xsputn()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sputn.html',0,'std::basic_streambuf::xsputn()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sputn.html',0,'std::filebuf::xsputn()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sputn.html',0,'std::streambuf::xsputn()']]] + ['xor_2',['XOR',['../d7/d47/namespace_x_o_r.html',1,'']]], + ['xor_5fcipher_2ecpp_3',['xor_cipher.cpp',['../d3/d4c/xor__cipher_8cpp.html',1,'']]] ]; diff --git a/search/all_1e.js b/search/all_1e.js index a5da38258..ec0d75c25 100644 --- a/search/all_1e.js +++ b/search/all_1e.js @@ -2,8 +2,5 @@ var searchData= [ ['y_0',['y',['../d8/dc8/struct_point.html#a2e1b5fb2b2a83571f5c0bc0f66a73cf7',1,'Point::y'],['../d8/dc8/struct_point.html#afa38be143ae800e6ad69ce8ed4df62d8',1,'Point::y']]], ['y_5f_1',['Y_',['../da/d94/classmachine__learning_1_1k__nearest__neighbors_1_1_knn.html#a209383503fb6c03afac405a80bace964',1,'machine_learning::k_nearest_neighbors::Knn']]], - ['year_2',['year',['../d1/df6/class_easter_year_month_day.html#a28d3cd09391390250932b7fb58fe61dc',1,'EasterYearMonthDay']]], - ['yield_3',['yield',['http://en.cppreference.com/w/cpp/thread/yield.html',0,'std::this_thread']]], - ['yocto_4',['yocto',['http://en.cppreference.com/w/cpp/numeric/ratio/ratio.html',0,'std']]], - ['yotta_5',['yotta',['http://en.cppreference.com/w/cpp/numeric/ratio/ratio.html',0,'std']]] + ['year_2',['year',['../d1/df6/class_easter_year_month_day.html#a28d3cd09391390250932b7fb58fe61dc',1,'EasterYearMonthDay']]] ]; diff --git a/search/all_1f.js b/search/all_1f.js index bc4acdc27..3f73ee9c3 100644 --- a/search/all_1f.js +++ b/search/all_1f.js @@ -2,7 +2,5 @@ var searchData= [ ['z_5ffunction_0',['Z_function',['../d3/d80/z__function_8cpp.html#ac044c4794349a8cff6256b99950d5773',1,'z_function.cpp']]], ['z_5ffunction_2ecpp_1',['z_function.cpp',['../d3/d80/z__function_8cpp.html',1,'']]], - ['zero_2',['zero',['http://en.cppreference.com/w/cpp/chrono/duration/zero.html',0,'std::chrono::minutes::zero()'],['http://en.cppreference.com/w/cpp/chrono/duration/zero.html',0,'std::chrono::seconds::zero()'],['http://en.cppreference.com/w/cpp/chrono/duration/zero.html',0,'std::chrono::duration::zero()'],['http://en.cppreference.com/w/cpp/chrono/duration/zero.html',0,'std::chrono::milliseconds::zero()'],['http://en.cppreference.com/w/cpp/chrono/duration/zero.html',0,'std::chrono::hours::zero()'],['http://en.cppreference.com/w/cpp/chrono/duration_values/zero.html',0,'std::chrono::duration_values::zero()'],['http://en.cppreference.com/w/cpp/chrono/duration/zero.html',0,'std::chrono::microseconds::zero()'],['http://en.cppreference.com/w/cpp/chrono/duration/zero.html',0,'std::chrono::nanoseconds::zero()']]], - ['zeroes_5finitialization_3',['zeroes_initialization',['../d8/d77/namespacemachine__learning.html#ac1bdaa2a724b4ce6a6bb371a5dbe2e7e',1,'machine_learning']]], - ['zetta_4',['zetta',['http://en.cppreference.com/w/cpp/numeric/ratio/ratio.html',0,'std']]] + ['zeroes_5finitialization_2',['zeroes_initialization',['../d8/d77/namespacemachine__learning.html#ac1bdaa2a724b4ce6a6bb371a5dbe2e7e',1,'machine_learning']]] ]; diff --git a/search/all_20.js b/search/all_20.js index 98a047a47..de71404ed 100644 --- a/search/all_20.js +++ b/search/all_20.js @@ -1,104 +1,13 @@ var searchData= [ - ['_7eallocator_0',['~allocator',['http://en.cppreference.com/w/cpp/memory/allocator/~allocator.html',0,'std::allocator']]], - ['_7eauto_5fptr_1',['~auto_ptr',['http://en.cppreference.com/w/cpp/memory/auto_ptr/~auto_ptr.html',0,'std::auto_ptr']]], - ['_7ebasic_5ffilebuf_2',['~basic_filebuf',['http://en.cppreference.com/w/cpp/io/basic_filebuf/~basic_filebuf.html',0,'std::basic_filebuf']]], - ['_7ebasic_5fios_3',['~basic_ios',['http://en.cppreference.com/w/cpp/io/basic_ios/~basic_ios.html',0,'std::basic_ios']]], - ['_7ebasic_5fiostream_4',['~basic_iostream',['http://en.cppreference.com/w/cpp/io/basic_iostream/~basic_iostream.html',0,'std::basic_iostream']]], - ['_7ebasic_5fistream_5',['~basic_istream',['http://en.cppreference.com/w/cpp/io/basic_istream/~basic_istream.html',0,'std::basic_istream']]], - ['_7ebasic_5fostream_6',['~basic_ostream',['http://en.cppreference.com/w/cpp/io/basic_ostream/~basic_ostream.html',0,'std::basic_ostream']]], - ['_7ebasic_5fregex_7',['~basic_regex',['http://en.cppreference.com/w/cpp/regex/basic_regex/~basic_regex.html',0,'std::basic_regex']]], - ['_7ebasic_5fstreambuf_8',['~basic_streambuf',['http://en.cppreference.com/w/cpp/io/basic_streambuf/~basic_streambuf.html',0,'std::basic_streambuf']]], - ['_7ecircularlinkedlist_9',['~CircularLinkedList',['../d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list.html#a46195fcf11b636064c7172cb74b55dd0',1,'operations_on_datastructures::circular_linked_list::CircularLinkedList']]], - ['_7ecmatch_10',['~cmatch',['http://en.cppreference.com/w/cpp/regex/match_results/~match_results.html',0,'std::cmatch']]], - ['_7ecodecvt_11',['~codecvt',['http://en.cppreference.com/w/cpp/locale/codecvt/~codecvt.html',0,'std::codecvt']]], - ['_7ecodecvt_5fbyname_12',['~codecvt_byname',['http://en.cppreference.com/w/cpp/locale/codecvt_byname.html',0,'std::codecvt_byname']]], - ['_7ecollate_13',['~collate',['http://en.cppreference.com/w/cpp/locale/collate/~collate.html',0,'std::collate']]], - ['_7ecollate_5fbyname_14',['~collate_byname',['http://en.cppreference.com/w/cpp/locale/collate_byname.html',0,'std::collate_byname']]], - ['_7econdition_5fvariable_15',['~condition_variable',['http://en.cppreference.com/w/cpp/thread/condition_variable/~condition_variable.html',0,'std::condition_variable']]], - ['_7econdition_5fvariable_5fany_16',['~condition_variable_any',['http://en.cppreference.com/w/cpp/thread/condition_variable_any/~condition_variable_any.html',0,'std::condition_variable_any']]], - ['_7ectype_17',['~ctype',['http://en.cppreference.com/w/cpp/locale/ctype/~ctype.html',0,'std::ctype']]], - ['_7ectype_5fbyname_18',['~ctype_byname',['http://en.cppreference.com/w/cpp/locale/ctype_byname.html',0,'std::ctype_byname']]], - ['_7edenselayer_19',['~DenseLayer',['../dc/d93/classmachine__learning_1_1neural__network_1_1layers_1_1_dense_layer.html#ac9cda9453c4a0caf5bae7f9213b019a0',1,'machine_learning::neural_network::layers::DenseLayer']]], - ['_7edeque_20',['~deque',['http://en.cppreference.com/w/cpp/container/deque/~deque.html',0,'std::deque']]], - ['_7edynarray_21',['~dynarray',['http://en.cppreference.com/w/cpp/container/dynarray/~dynarray.html',0,'std::dynarray']]], - ['_7eeightpuzzle_22',['~EightPuzzle',['../dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle.html#a194c2973b51a5467fc17064a4ea4e6f9',1,'machine_learning::aystar_search::EightPuzzle']]], - ['_7eenable_5fshared_5ffrom_5fthis_23',['~enable_shared_from_this',['http://en.cppreference.com/w/cpp/memory/enable_shared_from_this/~enable_shared_from_this.html',0,'std::enable_shared_from_this']]], - ['_7eerror_5fcategory_24',['~error_category',['http://en.cppreference.com/w/cpp/error/error_category/~error_category.html',0,'std::error_category']]], - ['_7eexception_25',['~exception',['http://en.cppreference.com/w/cpp/error/exception/~exception.html',0,'std::exception']]], - ['_7efilebuf_26',['~filebuf',['http://en.cppreference.com/w/cpp/io/basic_filebuf/~basic_filebuf.html',0,'std::filebuf']]], - ['_7eforward_5flist_27',['~forward_list',['http://en.cppreference.com/w/cpp/container/forward_list/~forward_list.html',0,'std::forward_list']]], - ['_7efunction_28',['~function',['http://en.cppreference.com/w/cpp/utility/functional/function/~function.html',0,'std::function']]], - ['_7efuture_29',['~future',['http://en.cppreference.com/w/cpp/thread/future/~future.html',0,'std::future']]], - ['_7einfo_30',['~Info',['../da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html#aa816af5a64b37c86be8acda89fdefba2',1,'machine_learning::aystar_search::AyStarSearch::Info']]], - ['_7eios_5fbase_31',['~ios_base',['http://en.cppreference.com/w/cpp/io/ios_base/~ios_base.html',0,'std::ios_base']]], - ['_7eiostream_32',['~iostream',['http://en.cppreference.com/w/cpp/io/basic_iostream/~basic_iostream.html',0,'std::iostream']]], - ['_7eistream_33',['~istream',['http://en.cppreference.com/w/cpp/io/basic_istream/~basic_istream.html',0,'std::istream']]], - ['_7eistrstream_34',['~istrstream',['http://en.cppreference.com/w/cpp/io/istrstream/~istrstream.html',0,'std::istrstream']]], - ['_7eknn_35',['~Knn',['../da/d94/classmachine__learning_1_1k__nearest__neighbors_1_1_knn.html#afe732a33112b457b738f403622d226e5',1,'machine_learning::k_nearest_neighbors::Knn']]], - ['_7elfucache_36',['~LFUCache',['../df/d8f/classothers_1_1_cache_1_1_l_f_u_cache.html#a8857531ecc8ed2e36868e267148eff36',1,'others::Cache::LFUCache']]], - ['_7elist_37',['~list',['http://en.cppreference.com/w/cpp/container/list/~list.html',0,'std::list']]], - ['_7elocale_38',['~locale',['http://en.cppreference.com/w/cpp/locale/locale/~locale.html',0,'std::locale']]], - ['_7elock_5fguard_39',['~lock_guard',['http://en.cppreference.com/w/cpp/thread/lock_guard/~lock_guard.html',0,'std::lock_guard']]], - ['_7elrucache_40',['~LRUCache',['../d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache.html#a6d855ff72ad6fe548eb564b7f87abe06',1,'others::Cache::LRUCache']]], - ['_7emap_41',['~map',['http://en.cppreference.com/w/cpp/container/map/~map.html',0,'std::map']]], - ['_7ematch_5fresults_42',['~match_results',['http://en.cppreference.com/w/cpp/regex/match_results/~match_results.html',0,'std::match_results']]], - ['_7emessages_43',['~messages',['http://en.cppreference.com/w/cpp/locale/messages/~messages.html',0,'std::messages']]], - ['_7emessages_5fbyname_44',['~messages_byname',['http://en.cppreference.com/w/cpp/locale/messages_byname.html',0,'std::messages_byname']]], - ['_7emoney_5fget_45',['~money_get',['http://en.cppreference.com/w/cpp/locale/money_get/~money_get.html',0,'std::money_get']]], - ['_7emoney_5fput_46',['~money_put',['http://en.cppreference.com/w/cpp/locale/money_put/~money_put.html',0,'std::money_put']]], - ['_7emoneypunct_47',['~moneypunct',['http://en.cppreference.com/w/cpp/locale/moneypunct/~moneypunct.html',0,'std::moneypunct']]], - ['_7emoneypunct_5fbyname_48',['~moneypunct_byname',['http://en.cppreference.com/w/cpp/locale/moneypunct_byname.html',0,'std::moneypunct_byname']]], - ['_7emultimap_49',['~multimap',['http://en.cppreference.com/w/cpp/container/multimap/~multimap.html',0,'std::multimap']]], - ['_7emultiset_50',['~multiset',['http://en.cppreference.com/w/cpp/container/multiset/~multiset.html',0,'std::multiset']]], - ['_7enested_5fexception_51',['~nested_exception',['http://en.cppreference.com/w/cpp/error/nested_exception/~nested_exception.html',0,'std::nested_exception']]], - ['_7eneuralnetwork_52',['~NeuralNetwork',['../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#a8973f687738ddd76f93b5562feae4027',1,'machine_learning::neural_network::NeuralNetwork']]], - ['_7enum_5fget_53',['~num_get',['http://en.cppreference.com/w/cpp/locale/num_get/~num_get.html',0,'std::num_get']]], - ['_7enum_5fput_54',['~num_put',['http://en.cppreference.com/w/cpp/locale/num_put/~num_put.html',0,'std::num_put']]], - ['_7enumpunct_55',['~numpunct',['http://en.cppreference.com/w/cpp/locale/numpunct/~numpunct.html',0,'std::numpunct']]], - ['_7enumpunct_5fbyname_56',['~numpunct_byname',['http://en.cppreference.com/w/cpp/locale/numpunct_byname.html',0,'std::numpunct_byname']]], - ['_7eoptional_57',['~optional',['http://en.cppreference.com/w/cpp/experimental/optional/~optional.html',0,'std::experimental::optional']]], - ['_7eostream_58',['~ostream',['http://en.cppreference.com/w/cpp/io/basic_ostream/~basic_ostream.html',0,'std::ostream']]], - ['_7eostrstream_59',['~ostrstream',['http://en.cppreference.com/w/cpp/io/ostrstream/~ostrstream.html',0,'std::ostrstream']]], - ['_7epackaged_5ftask_60',['~packaged_task',['http://en.cppreference.com/w/cpp/thread/packaged_task/~packaged_task.html',0,'std::packaged_task']]], - ['_7epriority_5fqueue_61',['~priority_queue',['http://en.cppreference.com/w/cpp/container/priority_queue/~priority_queue.html',0,'std::priority_queue']]], - ['_7epromise_62',['~promise',['http://en.cppreference.com/w/cpp/thread/promise/~promise.html',0,'std::promise']]], - ['_7equeue_63',['~queue',['http://en.cppreference.com/w/cpp/container/queue/~queue.html',0,'std::queue']]], - ['_7eregex_64',['~regex',['http://en.cppreference.com/w/cpp/regex/basic_regex/~basic_regex.html',0,'std::regex']]], - ['_7escoped_5fallocator_5fadaptor_65',['~scoped_allocator_adaptor',['http://en.cppreference.com/w/cpp/memory/scoped_allocator_adaptor/~scoped_allocator_adaptor.html',0,'std::scoped_allocator_adaptor']]], - ['_7esentry_66',['~sentry',['http://en.cppreference.com/w/cpp/io/basic_ostream/sentry.html',0,'std::basic_ofstream::sentry::~sentry()'],['http://en.cppreference.com/w/cpp/io/basic_istream/sentry.html',0,'std::fstream::sentry::~sentry()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/sentry.html',0,'std::wostream::sentry::~sentry()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/sentry.html',0,'std::basic_ostringstream::sentry::~sentry()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/sentry.html',0,'std::ostringstream::sentry::~sentry()'],['http://en.cppreference.com/w/cpp/io/basic_istream/sentry.html',0,'std::basic_fstream::sentry::~sentry()'],['http://en.cppreference.com/w/cpp/io/basic_istream/sentry.html',0,'std::iostream::sentry::~sentry()'],['http://en.cppreference.com/w/cpp/io/basic_istream/sentry.html',0,'std::wistream::sentry::~sentry()'],['http://en.cppreference.com/w/cpp/io/basic_istream/sentry.html',0,'std::stringstream::sentry::~sentry()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/sentry.html',0,'std::ostream::sentry::~sentry()'],['http://en.cppreference.com/w/cpp/io/basic_istream/sentry.html',0,'std::wifstream::sentry::~sentry()'],['http://en.cppreference.com/w/cpp/io/basic_istream/sentry.html',0,'std::basic_istream::sentry::~sentry()'],['http://en.cppreference.com/w/cpp/io/basic_istream/sentry.html',0,'std::strstream::sentry::~sentry()'],['http://en.cppreference.com/w/cpp/io/basic_istream/sentry.html',0,'std::basic_stringstream::sentry::~sentry()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/sentry.html',0,'std::wostringstream::sentry::~sentry()'],['http://en.cppreference.com/w/cpp/io/basic_istream/sentry.html',0,'std::istrstream::sentry::~sentry()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/sentry.html',0,'std::basic_ostream::sentry::~sentry()'],['http://en.cppreference.com/w/cpp/io/basic_istream/sentry.html',0,'std::wiostream::sentry::~sentry()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/sentry.html',0,'std::ofstream::sentry::~sentry()'],['http://en.cppreference.com/w/cpp/io/basic_istream/sentry.html',0,'std::basic_istringstream::sentry::~sentry()'],['http://en.cppreference.com/w/cpp/io/basic_istream/sentry.html',0,'std::basic_ifstream::sentry::~sentry()'],['http://en.cppreference.com/w/cpp/io/basic_istream/sentry.html',0,'std::istringstream::sentry::~sentry()'],['http://en.cppreference.com/w/cpp/io/basic_istream/sentry.html',0,'std::istream::sentry::~sentry()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/sentry.html',0,'std::ostrstream::sentry::~sentry()'],['http://en.cppreference.com/w/cpp/io/basic_istream/sentry.html',0,'std::wfstream::sentry::~sentry()'],['http://en.cppreference.com/w/cpp/io/basic_istream/sentry.html',0,'std::basic_iostream::sentry::~sentry()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/sentry.html',0,'std::wofstream::sentry::~sentry()'],['http://en.cppreference.com/w/cpp/io/basic_istream/sentry.html',0,'std::wstringstream::sentry::~sentry()'],['http://en.cppreference.com/w/cpp/io/basic_istream/sentry.html',0,'std::wistringstream::sentry::~sentry()'],['http://en.cppreference.com/w/cpp/io/basic_istream/sentry.html',0,'std::ifstream::sentry::~sentry()']]], - ['_7eset_67',['~set',['http://en.cppreference.com/w/cpp/container/set/~set.html',0,'std::set']]], - ['_7eshared_5ffuture_68',['~shared_future',['http://en.cppreference.com/w/cpp/thread/shared_future/~shared_future.html',0,'std::shared_future']]], - ['_7eshared_5flock_69',['~shared_lock',['http://en.cppreference.com/w/cpp/thread/shared_lock/~shared_lock.html',0,'std::shared_lock']]], - ['_7eshared_5fptr_70',['~shared_ptr',['http://en.cppreference.com/w/cpp/memory/shared_ptr/~shared_ptr.html',0,'std::shared_ptr']]], - ['_7esmatch_71',['~smatch',['http://en.cppreference.com/w/cpp/regex/match_results/~match_results.html',0,'std::smatch']]], - ['_7estack_72',['~stack',['http://en.cppreference.com/w/cpp/container/stack/~stack.html',0,'std::stack']]], - ['_7estreambuf_73',['~streambuf',['http://en.cppreference.com/w/cpp/io/basic_streambuf/~basic_streambuf.html',0,'std::streambuf']]], - ['_7estrstream_74',['~strstream',['http://en.cppreference.com/w/cpp/io/strstream/~strstream.html',0,'std::strstream']]], - ['_7estrstreambuf_75',['~strstreambuf',['http://en.cppreference.com/w/cpp/io/strstreambuf/~strstreambuf.html',0,'std::strstreambuf']]], - ['_7ethread_76',['~thread',['http://en.cppreference.com/w/cpp/thread/thread/~thread.html',0,'std::thread']]], - ['_7etime_5fget_77',['~time_get',['http://en.cppreference.com/w/cpp/locale/time_get/~time_get.html',0,'std::time_get']]], - ['_7etime_5fget_5fbyname_78',['~time_get_byname',['http://en.cppreference.com/w/cpp/locale/time_get_byname.html',0,'std::time_get_byname']]], - ['_7etime_5fput_79',['~time_put',['http://en.cppreference.com/w/cpp/locale/time_put/~time_put.html',0,'std::time_put']]], - ['_7etime_5fput_5fbyname_80',['~time_put_byname',['http://en.cppreference.com/w/cpp/locale/time_put_byname.html',0,'std::time_put_byname']]], - ['_7euint128_5ft_81',['~uint128_t',['../db/d9a/classuint128__t.html#a4147188abcdcdb12c61bfbe4e4c0a363',1,'uint128_t']]], - ['_7euint256_5ft_82',['~uint256_t',['../d1/d83/classuint256__t.html#a3ff17ab14b2371eb3239107d10947067',1,'uint256_t']]], - ['_7eunique_5flock_83',['~unique_lock',['http://en.cppreference.com/w/cpp/thread/unique_lock/~unique_lock.html',0,'std::unique_lock']]], - ['_7eunique_5fptr_84',['~unique_ptr',['http://en.cppreference.com/w/cpp/memory/unique_ptr/~unique_ptr.html',0,'std::unique_ptr']]], - ['_7eunordered_5fmap_85',['~unordered_map',['http://en.cppreference.com/w/cpp/container/unordered_map/~unordered_map.html',0,'std::unordered_map']]], - ['_7eunordered_5fmultimap_86',['~unordered_multimap',['http://en.cppreference.com/w/cpp/container/unordered_multimap/~unordered_multimap.html',0,'std::unordered_multimap']]], - ['_7eunordered_5fmultiset_87',['~unordered_multiset',['http://en.cppreference.com/w/cpp/container/unordered_multiset/~unordered_multiset.html',0,'std::unordered_multiset']]], - ['_7eunordered_5fset_88',['~unordered_set',['http://en.cppreference.com/w/cpp/container/unordered_set/~unordered_set.html',0,'std::unordered_set']]], - ['_7evector_89',['~vector',['http://en.cppreference.com/w/cpp/container/vector/~vector.html',0,'std::vector']]], - ['_7ewbuffer_5fconvert_90',['~wbuffer_convert',['http://en.cppreference.com/w/cpp/locale/wbuffer_convert/~wbuffer_convert.html',0,'std::wbuffer_convert']]], - ['_7ewcmatch_91',['~wcmatch',['http://en.cppreference.com/w/cpp/regex/match_results/~match_results.html',0,'std::wcmatch']]], - ['_7eweak_5fptr_92',['~weak_ptr',['http://en.cppreference.com/w/cpp/memory/weak_ptr/~weak_ptr.html',0,'std::weak_ptr']]], - ['_7ewfilebuf_93',['~wfilebuf',['http://en.cppreference.com/w/cpp/io/basic_filebuf/~basic_filebuf.html',0,'std::wfilebuf']]], - ['_7ewiostream_94',['~wiostream',['http://en.cppreference.com/w/cpp/io/basic_iostream/~basic_iostream.html',0,'std::wiostream']]], - ['_7ewistream_95',['~wistream',['http://en.cppreference.com/w/cpp/io/basic_istream/~basic_istream.html',0,'std::wistream']]], - ['_7ewostream_96',['~wostream',['http://en.cppreference.com/w/cpp/io/basic_ostream/~basic_ostream.html',0,'std::wostream']]], - ['_7ewregex_97',['~wregex',['http://en.cppreference.com/w/cpp/regex/basic_regex/~basic_regex.html',0,'std::wregex']]], - ['_7ewsmatch_98',['~wsmatch',['http://en.cppreference.com/w/cpp/regex/match_results/~match_results.html',0,'std::wsmatch']]], - ['_7ewstreambuf_99',['~wstreambuf',['http://en.cppreference.com/w/cpp/io/basic_streambuf/~basic_streambuf.html',0,'std::wstreambuf']]], - ['_7ewstring_5fconvert_100',['~wstring_convert',['http://en.cppreference.com/w/cpp/locale/wstring_convert/~wstring_convert.html',0,'std::wstring_convert']]] + ['_7ecircularlinkedlist_0',['~CircularLinkedList',['../d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list.html#a46195fcf11b636064c7172cb74b55dd0',1,'operations_on_datastructures::circular_linked_list::CircularLinkedList']]], + ['_7edenselayer_1',['~DenseLayer',['../dc/d93/classmachine__learning_1_1neural__network_1_1layers_1_1_dense_layer.html#ac9cda9453c4a0caf5bae7f9213b019a0',1,'machine_learning::neural_network::layers::DenseLayer']]], + ['_7eeightpuzzle_2',['~EightPuzzle',['../dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle.html#a194c2973b51a5467fc17064a4ea4e6f9',1,'machine_learning::aystar_search::EightPuzzle']]], + ['_7einfo_3',['~Info',['../da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html#aa816af5a64b37c86be8acda89fdefba2',1,'machine_learning::aystar_search::AyStarSearch::Info']]], + ['_7eknn_4',['~Knn',['../da/d94/classmachine__learning_1_1k__nearest__neighbors_1_1_knn.html#afe732a33112b457b738f403622d226e5',1,'machine_learning::k_nearest_neighbors::Knn']]], + ['_7elfucache_5',['~LFUCache',['../df/d8f/classothers_1_1_cache_1_1_l_f_u_cache.html#a8857531ecc8ed2e36868e267148eff36',1,'others::Cache::LFUCache']]], + ['_7elrucache_6',['~LRUCache',['../d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache.html#a6d855ff72ad6fe548eb564b7f87abe06',1,'others::Cache::LRUCache']]], + ['_7eneuralnetwork_7',['~NeuralNetwork',['../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#a8973f687738ddd76f93b5562feae4027',1,'machine_learning::neural_network::NeuralNetwork']]], + ['_7euint128_5ft_8',['~uint128_t',['../db/d9a/classuint128__t.html#a4147188abcdcdb12c61bfbe4e4c0a363',1,'uint128_t']]], + ['_7euint256_5ft_9',['~uint256_t',['../d1/d83/classuint256__t.html#a3ff17ab14b2371eb3239107d10947067',1,'uint256_t']]] ]; diff --git a/search/all_5.js b/search/all_5.js index 3691b6dbd..25f5c53b5 100644 --- a/search/all_5.js +++ b/search/all_5.js @@ -5,18 +5,17 @@ var searchData= ['_5fcapacity_2',['_capacity',['../df/d8f/classothers_1_1_cache_1_1_l_f_u_cache.html#a3acc10e6bb67d9d9c4187f625723e6c5',1,'others::Cache::LFUCache::_capacity'],['../d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache.html#af34bb8b8eaa34cc499b4fed30b9d05fc',1,'others::Cache::LRUCache::_capacity']]], ['_5fdigits_3',['_digits',['../db/d82/classlarge__number.html#af2b3ec9c35842d3a46ac7326f268af57',1,'large_number']]], ['_5ferase_4',['_erase',['../d5/d95/structdata__structures_1_1treap_1_1_treap.html#aeb4bb0db68c7c04ef9498c88c3777887',1,'data_structures::treap::Treap']]], - ['_5fexit_5',['_Exit',['http://en.cppreference.com/w/cpp/utility/program/_Exit.html',0,'std']]], - ['_5fget_5fk_5fth_6',['_get_k_th',['../d5/d95/structdata__structures_1_1treap_1_1_treap.html#ad08520c0617eb8dcfcbfa90d258aa6b2',1,'data_structures::treap::Treap']]], - ['_5fget_5frank_7',['_get_rank',['../d5/d95/structdata__structures_1_1treap_1_1_treap.html#a9a77d22f97add119123108211c6655ec',1,'data_structures::treap::Treap']]], - ['_5finsert_8',['_insert',['../d5/d95/structdata__structures_1_1treap_1_1_treap.html#a6a023a4f0c42fb8ed5b3368fba1a5f2c',1,'data_structures::treap::Treap']]], - ['_5fitmedian_9',['_itMedian',['../df/d34/classprobability_1_1windowed__median_1_1_windowed_median.html#a55ae3543a76045dffcb5ec7904a32a20',1,'probability::windowed_median::WindowedMedian']]], - ['_5flez_10',['_lez',['../db/d9a/classuint128__t.html#af139bb6e630f1a61919f180978611cd2',1,'uint128_t::_lez()'],['../d1/d83/classuint256__t.html#a033d66c965e8d1fbc5bafb59ad60e163',1,'uint256_t::_lez()']]], - ['_5fmod_11',['_mod',['../dd/d1c/classhash__chain.html#ae9ddce410015ed8dda6380130d82d6c2',1,'hash_chain']]], - ['_5frandom_12',['_random',['../d9/d66/group__machine__learning.html#gaf5ce14f026d6d231bef29161bac2b485',1,'kohonen_som_topology.cpp']]], - ['_5fsortedvalues_13',['_sortedValues',['../df/d34/classprobability_1_1windowed__median_1_1_windowed_median.html#aacd76f078632faee1a8788d031e6c2de',1,'probability::windowed_median::WindowedMedian']]], - ['_5ftarget_14',['_target',['../dc/dfe/ternary__search_8cpp.html#a23ad617bfce1e7cf4591059c85c1a027',1,'ternary_search.cpp']]], - ['_5ftrz_15',['_trz',['../db/d9a/classuint128__t.html#a7d2285a8a6e20b77f82f1f0351afe76e',1,'uint128_t::_trz()'],['../d1/d83/classuint256__t.html#a9ddd133cee83f3a2ab6ed60a7ccbc250',1,'uint256_t::_trz()']]], - ['_5fuse_5fmath_5fdefines_16',['_USE_MATH_DEFINES',['../da/d77/spirograph_8cpp.html#a525335710b53cb064ca56b936120431e',1,'_USE_MATH_DEFINES: spirograph.cpp'],['../db/d01/brent__method__extrema_8cpp.html#a525335710b53cb064ca56b936120431e',1,'_USE_MATH_DEFINES: brent_method_extrema.cpp'],['../d9/d29/ground__to__ground__projectile__motion_8cpp.html#a525335710b53cb064ca56b936120431e',1,'_USE_MATH_DEFINES: ground_to_ground_projectile_motion.cpp']]], - ['_5fwindow_17',['_window',['../df/d34/classprobability_1_1windowed__median_1_1_windowed_median.html#a825a7aaef844c9f743a27b268e8569b2',1,'probability::windowed_median::WindowedMedian']]], - ['_5fwindowsize_18',['_windowSize',['../df/d34/classprobability_1_1windowed__median_1_1_windowed_median.html#aafda847b152684578dab891e5268d750',1,'probability::windowed_median::WindowedMedian']]] + ['_5fget_5fk_5fth_5',['_get_k_th',['../d5/d95/structdata__structures_1_1treap_1_1_treap.html#ad08520c0617eb8dcfcbfa90d258aa6b2',1,'data_structures::treap::Treap']]], + ['_5fget_5frank_6',['_get_rank',['../d5/d95/structdata__structures_1_1treap_1_1_treap.html#a9a77d22f97add119123108211c6655ec',1,'data_structures::treap::Treap']]], + ['_5finsert_7',['_insert',['../d5/d95/structdata__structures_1_1treap_1_1_treap.html#a6a023a4f0c42fb8ed5b3368fba1a5f2c',1,'data_structures::treap::Treap']]], + ['_5fitmedian_8',['_itMedian',['../df/d34/classprobability_1_1windowed__median_1_1_windowed_median.html#a55ae3543a76045dffcb5ec7904a32a20',1,'probability::windowed_median::WindowedMedian']]], + ['_5flez_9',['_lez',['../db/d9a/classuint128__t.html#af139bb6e630f1a61919f180978611cd2',1,'uint128_t::_lez()'],['../d1/d83/classuint256__t.html#a033d66c965e8d1fbc5bafb59ad60e163',1,'uint256_t::_lez()']]], + ['_5fmod_10',['_mod',['../dd/d1c/classhash__chain.html#ae9ddce410015ed8dda6380130d82d6c2',1,'hash_chain']]], + ['_5frandom_11',['_random',['../d9/d66/group__machine__learning.html#gaf5ce14f026d6d231bef29161bac2b485',1,'kohonen_som_topology.cpp']]], + ['_5fsortedvalues_12',['_sortedValues',['../df/d34/classprobability_1_1windowed__median_1_1_windowed_median.html#aacd76f078632faee1a8788d031e6c2de',1,'probability::windowed_median::WindowedMedian']]], + ['_5ftarget_13',['_target',['../dc/dfe/ternary__search_8cpp.html#a23ad617bfce1e7cf4591059c85c1a027',1,'ternary_search.cpp']]], + ['_5ftrz_14',['_trz',['../db/d9a/classuint128__t.html#a7d2285a8a6e20b77f82f1f0351afe76e',1,'uint128_t::_trz()'],['../d1/d83/classuint256__t.html#a9ddd133cee83f3a2ab6ed60a7ccbc250',1,'uint256_t::_trz()']]], + ['_5fuse_5fmath_5fdefines_15',['_USE_MATH_DEFINES',['../da/d77/spirograph_8cpp.html#a525335710b53cb064ca56b936120431e',1,'_USE_MATH_DEFINES: spirograph.cpp'],['../db/d01/brent__method__extrema_8cpp.html#a525335710b53cb064ca56b936120431e',1,'_USE_MATH_DEFINES: brent_method_extrema.cpp'],['../d9/d29/ground__to__ground__projectile__motion_8cpp.html#a525335710b53cb064ca56b936120431e',1,'_USE_MATH_DEFINES: ground_to_ground_projectile_motion.cpp']]], + ['_5fwindow_16',['_window',['../df/d34/classprobability_1_1windowed__median_1_1_windowed_median.html#a825a7aaef844c9f743a27b268e8569b2',1,'probability::windowed_median::WindowedMedian']]], + ['_5fwindowsize_17',['_windowSize',['../df/d34/classprobability_1_1windowed__median_1_1_windowed_median.html#aafda847b152684578dab891e5268d750',1,'probability::windowed_median::WindowedMedian']]] ]; diff --git a/search/all_6.js b/search/all_6.js index 6b7e2bc0d..16441fcb5 100644 --- a/search/all_6.js +++ b/search/all_6.js @@ -1,170 +1,81 @@ var searchData= [ ['a_0',['A',['../da/d37/structdata__structures_1_1sparse__table_1_1_sparse__table.html#ab78620742305a35ff2f8d61179f47d3e',1,'data_structures::sparse_table::Sparse_table']]], - ['a_1',['a',['http://en.cppreference.com/w/cpp/numeric/random/extreme_value_distribution/params.html',0,'std::extreme_value_distribution::a()'],['http://en.cppreference.com/w/cpp/numeric/random/uniform_real_distribution/params.html',0,'std::uniform_real_distribution::a()'],['http://en.cppreference.com/w/cpp/numeric/random/weibull_distribution/params.html',0,'std::weibull_distribution::a()'],['http://en.cppreference.com/w/cpp/numeric/random/uniform_int_distribution/params.html',0,'std::uniform_int_distribution::a()'],['http://en.cppreference.com/w/cpp/numeric/random/cauchy_distribution/params.html',0,'std::cauchy_distribution::a()']]], - ['a_20new_20directory_2',['Integrating CMake in a new directory',['../d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md34',1,'']]], - ['a_20program_3',['Typical structure of a program',['../d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md31',1,'']]], - ['a_20right_20node_20subtree_4',['Case 2: The given node does not have a right node/subtree',['../d4/d32/inorder__successor__of__bst_8cpp.html#autotoc_md90',1,'']]], - ['a_20tree_5',['a tree',['../d8/d90/iterative__tree__traversals_8cpp.html#autotoc_md95',1,'Iterative Inorder Traversal of a tree'],['../dc/de1/recursive__tree__traversal_8cpp.html#autotoc_md99',1,'Iterative Inorder Traversal of a tree'],['../d8/d90/iterative__tree__traversals_8cpp.html#autotoc_md94',1,'Iterative Postorder Traversal of a tree'],['../dc/de1/recursive__tree__traversal_8cpp.html#autotoc_md101',1,'Iterative Postorder Traversal of a tree'],['../d8/d90/iterative__tree__traversals_8cpp.html#autotoc_md93',1,'Iterative Preorder Traversal of a tree'],['../dc/de1/recursive__tree__traversal_8cpp.html#autotoc_md100',1,'Iterative Preorder Traversal of a tree']]], - ['a1z26_6',['a1z26',['../d8/d2a/namespacea1z26.html',1,'']]], - ['a1z26_5fcipher_2ecpp_7',['a1z26_cipher.cpp',['../de/db6/a1z26__cipher_8cpp.html',1,'']]], - ['a_5fstar_5fsearch_8',['a_star_search',['../da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search.html#a48284e156fdd48fd0c41008c7e48f201',1,'machine_learning::aystar_search::AyStarSearch']]], - ['abbreviation_9',['abbreviation',['../d0/df8/namespaceabbreviation.html',1,'abbreviation'],['../d7/d73/abbreviation_8cpp.html#af53b2f647bee9c5b75ef8dd9ef685dc8',1,'dynamic_programming::abbreviation::abbreviation()']]], - ['abbreviation_2ecpp_10',['abbreviation.cpp',['../d7/d73/abbreviation_8cpp.html',1,'']]], - ['abbreviation_5frecursion_11',['abbreviation_recursion',['../d7/d73/abbreviation_8cpp.html#add60b8858720bf217df22d992d0fefaa',1,'dynamic_programming::abbreviation']]], - ['abort_12',['abort',['http://en.cppreference.com/w/cpp/utility/program/abort.html',0,'std']]], - ['abs_13',['abs',['../da/d5a/class_complex.html#ae5b51b749ea4964104b9527af9d8f556',1,'Complex']]], - ['abs_28float_29_14',['abs(float)',['http://en.cppreference.com/w/cpp/numeric/math/fabs.html',0,'std']]], - ['abs_28int_29_15',['abs(int)',['http://en.cppreference.com/w/cpp/numeric/math/abs.html',0,'std']]], - ['absoluteprecision_16',['absolutePrecision',['../dc/dfe/ternary__search_8cpp.html#ae01eda5098801bb6b5b778828fb4fddc',1,'ternary_search.cpp']]], - ['accumulate_17',['accumulate',['http://en.cppreference.com/w/cpp/algorithm/accumulate.html',0,'std']]], - ['accuracy_18',['ACCURACY',['../da/df2/durand__kerner__roots_8cpp.html#af270a96662132d0385cb6b4637c5a689',1,'durand_kerner_roots.cpp']]], - ['accuracy_19',['accuracy',['../d6/d30/classmachine__learning_1_1adaline.html#aa23d60262f917f35836ef4b1c1d9f7d3',1,'machine_learning::adaline']]], - ['acos_20',['acos',['http://en.cppreference.com/w/cpp/numeric/math/acos.html',0,'std']]], - ['acosh_21',['acosh',['http://en.cppreference.com/w/cpp/numeric/math/acosh.html',0,'std']]], - ['actions_22',['GitHub Actions',['../d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md40',1,'']]], - ['activation_23',['activation',['../d6/d30/classmachine__learning_1_1adaline.html#a082f758fb55fe19f22b3df66f89b2325',1,'machine_learning::adaline']]], - ['activations_24',['activations',['../d5/d39/namespaceactivations.html',1,'']]], - ['adaline_25',['adaline',['../d6/d30/classmachine__learning_1_1adaline.html',1,'machine_learning::adaline'],['../d6/d30/classmachine__learning_1_1adaline.html#a0acbe32aaab897e7939e5b0454035b8c',1,'machine_learning::adaline::adaline()']]], - ['adaline_5flearning_2ecpp_26',['adaline_learning.cpp',['../d5/db0/adaline__learning_8cpp.html',1,'']]], - ['add_27',['add',['../d9/dae/classdata__structures_1_1_bitset.html#a17dbe1b1d559302312e8091f82f7499c',1,'data_structures::Bitset::add()'],['../dc/dd4/classdata__structures_1_1_bloom_filter.html#a67bed8ef62fcb1f33b6c72df47dcf840',1,'data_structures::BloomFilter::add()'],['../dd/d1c/classhash__chain.html#a6b4b4de1a8c96f98a63a77f650a9dcff',1,'hash_chain::add()'],['../de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree.html#a534645d1aabdf1a7e5897c85376f173d',1,'operations_on_datastructures::reverse_binary_tree::BinaryTree::add()'],['../da/d41/uint128__t_8hpp.html#a3ff77262ffd6743df5b808d41382a6f3',1,'add(): uint128_t.hpp'],['../d0/d65/namespacedouble__hashing.html#a79a9c914a6c68275b3640303d7faad8a',1,'double_hashing::add()'],['../d8/d89/namespacelinear__probing.html#a16d34fd3511626a83ab00665d7bc34d1',1,'linear_probing::add()'],['../d4/dd2/namespacequadratic__probing.html#a00ebcc6d39653eccc26f8432efbfc8d9',1,'quadratic_probing::add()'],['../de/d47/string__fibonacci_8cpp.html#a28052eee05d43c2ebc5147c52bd50c35',1,'add(): string_fibonacci.cpp']]], - ['add_5fconst_28',['add_const',['http://en.cppreference.com/w/cpp/types/add_cv.html',0,'std']]], - ['add_5fcv_29',['add_cv',['http://en.cppreference.com/w/cpp/types/add_cv.html',0,'std']]], - ['add_5fdigit_30',['add_digit',['../db/d82/classlarge__number.html#a60c436d1a1c5e3795d6177d3815ad615',1,'large_number']]], - ['add_5fedge_31',['add_edge',['../dc/d61/classgraph_1_1_graph.html#a877b2cba40d8d46dde6fb4209effed19',1,'graph::Graph::add_edge()'],['../d2/daa/classgreedy__algorithms_1_1dijkstra_1_1_graph.html#a224b6efacbad55d59e11b046f792fe79',1,'greedy_algorithms::dijkstra::Graph::add_edge()'],['../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html#a79ab4601c4a95c0902ac04e779e5f54d',1,'range_queries::heavy_light_decomposition::Tree::add_edge()']]], - ['add_5flvalue_5freference_32',['add_lvalue_reference',['http://en.cppreference.com/w/cpp/types/add_reference.html',0,'std']]], - ['add_5fpointer_33',['add_pointer',['http://en.cppreference.com/w/cpp/types/add_pointer.html',0,'std']]], - ['add_5frvalue_5freference_34',['add_rvalue_reference',['http://en.cppreference.com/w/cpp/types/add_reference.html',0,'std']]], - ['add_5fstrings_35',['add_strings',['../da/dd3/karatsuba__algorithm__for__fast__multiplication_8cpp.html#ad76f5cac3ef8dc034f6abb99b64c2b20',1,'divide_and_conquer::karatsuba_algorithm']]], - ['add_5fvolatile_36',['add_volatile',['http://en.cppreference.com/w/cpp/types/add_cv.html',0,'std']]], - ['addbinary_37',['addBinary',['../de/df6/classgreedy__algorithms_1_1_binary_addition.html#a801fd1ec5cda76b0bb82cbf23ed4d527',1,'greedy_algorithms::BinaryAddition']]], - ['addedge_38',['addEdge',['../da/d9a/class_graph.html#af765dda8f21280e1cecea19e129f1bc5',1,'Graph::addEdge(Edge const &edge)'],['../da/d9a/class_graph.html#ac85c63bcca4764a621f9f8609a8e5910',1,'Graph::addEdge(unsigned int source, unsigned int destination)'],['../d8/d69/classgraph_1_1_h_k_graph.html#a3b49011c09cf90a116ab53bef61cd95a',1,'graph::HKGraph::addEdge()'],['../de/d00/classgraph_1_1is__graph__bipartite_1_1_graph.html#a816cda7e563198f778fd32e03992763b',1,'graph::is_graph_bipartite::Graph::addEdge()'],['../d5/dec/classgraph_1_1topological__sort_1_1_graph.html#a57036210706a45b9363563252393a345',1,'graph::topological_sort::Graph::addEdge()'],['../d7/d07/bidirectional__dijkstra_8cpp.html#a69172365aebde9be1997157f6f80e0cf',1,'graph::bidirectional_dijkstra::addEdge()'],['../df/dce/namespacegraph.html#a9125ceb66bfbec3093bba64c2c1e99e2',1,'graph::addEdge(std::vector< std::vector< int > > *adj, int u, int v)'],['../df/dce/namespacegraph.html#ad4016cfc80485a43748895a2c26c7d08',1,'graph::addEdge(std::vector< std::vector< size_t > > *adj, size_t u, size_t v)'],['../da/d4b/depth__first__search__with__stack_8cpp.html#aadebe9c855821d6515ca5b171222ef7b',1,'graph::depth_first_search::addEdge()'],['../df/dce/namespacegraph.html#a0e30e0dca68cb6e4f671440819b35b6a',1,'graph::addEdge()']]], - ['addinfo_39',['addInfo',['../d0/d65/namespacedouble__hashing.html#a9c652b2e467e5d250dfe3bed83b12560',1,'double_hashing::addInfo()'],['../d8/d89/namespacelinear__probing.html#a16680b8a37d442c2f208faa286e33908',1,'linear_probing::addInfo()'],['../d4/dd2/namespacequadratic__probing.html#a312143ed316d48978084c025ff8d9768',1,'quadratic_probing::addInfo()']]], - ['addition_40',['addition',['../df/d6b/namespaceciphers_1_1elliptic__curve__key__exchange.html#acc5fe9c2032fb7582c38a20d1fa69bcf',1,'ciphers::elliptic_curve_key_exchange']]], - ['addition_5frule_2ecpp_41',['addition_rule.cpp',['../d6/d4a/addition__rule_8cpp.html',1,'']]], - ['addition_5frule_5fdependent_42',['addition_rule_dependent',['../d6/d4a/addition__rule_8cpp.html#a565ffcbbdbe496ced37250bc8dc36bc0',1,'addition_rule.cpp']]], - ['addition_5frule_5findependent_43',['addition_rule_independent',['../d6/d4a/addition__rule_8cpp.html#a4adfd055c758546456d440ee9133555d',1,'addition_rule.cpp']]], - ['addprocess_44',['addProcess',['../dd/dca/class_f_c_f_s.html#a8fbfe4d85f7576b4a7aade07d29fbd69',1,'FCFS']]], - ['address_45',['address',['http://en.cppreference.com/w/cpp/memory/allocator/address.html',0,'std::allocator']]], - ['address_20of_20parent_20nodes_46',['Method 1: Use parent pointer (store the address of parent nodes)',['../d4/d32/inorder__successor__of__bst_8cpp.html#autotoc_md91',1,'']]], - ['addressing_47',['Open Addressing',['../d4/d39/group__open__addressing.html',1,'']]], - ['addressof_48',['addressof',['http://en.cppreference.com/w/cpp/memory/addressof.html',0,'std']]], - ['addvertices_49',['addVertices',['../da/d9a/class_graph.html#ac5a4d9a4f894a179198936042c778413',1,'Graph']]], - ['adj_50',['adj',['../d8/d69/classgraph_1_1_h_k_graph.html#a35893def7a1c5cd60907b4893117796f',1,'graph::HKGraph::adj'],['../de/d00/classgraph_1_1is__graph__bipartite_1_1_graph.html#ab0efcfa04fff8616aff0062522d1483f',1,'graph::is_graph_bipartite::Graph::adj']]], - ['adjacency_5flist_51',['adjacency_list',['../dc/d61/classgraph_1_1_graph.html#acebf0505d625b043bb9c8c27c7a8def0',1,'graph::Graph']]], - ['adjacent_5fdifference_52',['adjacent_difference',['http://en.cppreference.com/w/cpp/algorithm/adjacent_difference.html',0,'std']]], - ['adjacent_5ffind_53',['adjacent_find',['http://en.cppreference.com/w/cpp/algorithm/adjacent_find.html',0,'std']]], - ['adopt_5flock_5ft_54',['adopt_lock_t',['http://en.cppreference.com/w/cpp/thread/lock_tag_t.html',0,'std']]], - ['advance_55',['advance',['http://en.cppreference.com/w/cpp/iterator/advance.html',0,'std']]], - ['algorithm_56',['Algorithm',['../dc/dfb/atbash__cipher_8cpp.html#autotoc_md0',1,'Algorithm'],['../d6/d2c/caesar__cipher_8cpp.html#autotoc_md1',1,'Algorithm'],['../dd/d12/vigenere__cipher_8cpp.html#autotoc_md2',1,'Algorithm'],['../d3/d4c/xor__cipher_8cpp.html#autotoc_md3',1,'Algorithm'],['../da/dc3/linked__list_8cpp.html#autotoc_md41',1,'Algorithm'],['../d7/d00/list__array_8cpp.html#autotoc_md42',1,'Algorithm'],['../d8/df0/queue__using__array_8cpp.html#autotoc_md43',1,'Algorithm'],['../d6/d05/reverse__a__linked__list_8cpp.html#autotoc_md44',1,'Algorithm'],['../db/d16/0__1__knapsack_8cpp.html#autotoc_md69',1,'Algorithm'],['../d7/d73/abbreviation_8cpp.html#autotoc_md70',1,'Algorithm'],['../d6/d10/cut__rod_8cpp.html#autotoc_md71',1,'Algorithm'],['../d4/da0/kadane_8cpp.html#autotoc_md72',1,'Algorithm'],['../da/d52/minimum__edit__distance_8cpp.html#autotoc_md73',1,'Algorithm'],['../d9/dec/unbounded__0__1__knapsack_8cpp.html#autotoc_md74',1,'Algorithm'],['../d4/d8d/jarvis__algorithm_8cpp.html#autotoc_md75',1,'Algorithm'],['../d8/d99/connected__components__with__dsu_8cpp.html#autotoc_md76',1,'Algorithm'],['../d1/d9a/hopcroft__karp_8cpp.html#autotoc_md82',1,'Algorithm'],['../d5/d96/md5_8cpp.html#autotoc_md83',1,'Algorithm'],['../d8/d7a/sha1_8cpp.html#autotoc_md84',1,'Algorithm'],['../dd/d47/namespacemath.html#autotoc_md85',1,'Algorithm'],['../d4/d38/power__of__two_8cpp.html#autotoc_md86',1,'Algorithm'],['../d5/d33/gram__schmidt_8cpp.html#autotoc_md88',1,'Algorithm'],['../d1/ded/windowed__median_8cpp.html#autotoc_md102',1,'Algorithm'],['../d5/d45/sublist__search_8cpp.html#autotoc_md108',1,'Algorithm'],['../d5/ddb/bogo__sort_8cpp.html#autotoc_md110',1,'Algorithm'],['../d2/d26/count__inversions_8cpp.html#autotoc_md115',1,'Algorithm'],['../d3/df9/recursive__bubble__sort_8cpp.html#autotoc_md116',1,'Algorithm'],['../d5/d4c/group__sorting.html',1,'Sorting Algorithm']]], - ['algorithm_20analysis_20best_20case_20worst_20case_20average_20case_57',['Bubble Sort Algorithm Analysis (Best Case - Worst Case - Average Case)',['../d8/d13/bubble__sort_8cpp.html#autotoc_md111',1,'']]], - ['algorithm_20explanation_58',['Algorithm explanation',['../d3/db3/lru__cache_8cpp.html#autotoc_md97',1,'']]], - ['algorithms_59',['Algorithms',['../d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md48',1,'Cpu Scheduling Algorithms'],['../d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md56',1,'Greedy Algorithms'],['../d9/d66/group__machine__learning.html',1,'Machine Learning Algorithms']]], - ['algorithms_20c_60',['The Algorithms - C++',['../index.html',1,'']]], - ['align_61',['align',['http://en.cppreference.com/w/cpp/memory/align.html',0,'std']]], - ['aligned_5fstorage_62',['aligned_storage',['http://en.cppreference.com/w/cpp/types/aligned_storage.html',0,'std']]], - ['aligned_5funion_63',['aligned_union',['http://en.cppreference.com/w/cpp/types/aligned_union.html',0,'std']]], - ['alignment_5fof_64',['alignment_of',['http://en.cppreference.com/w/cpp/types/alignment_of.html',0,'std']]], - ['aliquot_5fsum_65',['aliquot_sum',['../dd/d47/namespacemath.html#ab37f3a7302a84179aae682c79d8390bf',1,'math']]], - ['aliquot_5fsum_2ecpp_66',['aliquot_sum.cpp',['../de/d99/aliquot__sum_8cpp.html',1,'']]], - ['all_67',['all',['http://en.cppreference.com/w/cpp/utility/bitset/all_any_none.html',0,'std::bitset']]], - ['all_5fof_68',['all_of',['http://en.cppreference.com/w/cpp/algorithm/all_any_none_of.html',0,'std']]], - ['allocate_69',['allocate',['http://en.cppreference.com/w/cpp/memory/allocator_traits/allocate.html',0,'std::allocator_traits::allocate()'],['http://en.cppreference.com/w/cpp/memory/allocator/allocate.html',0,'std::allocator::allocate()'],['http://en.cppreference.com/w/cpp/memory/scoped_allocator_adaptor/allocate.html',0,'std::scoped_allocator_adaptor::allocate()']]], - ['allocate_5fshared_70',['allocate_shared',['http://en.cppreference.com/w/cpp/memory/shared_ptr/allocate_shared.html',0,'std']]], - ['allocator_71',['allocator',['http://en.cppreference.com/w/cpp/memory/allocator.html',0,'std::allocator< T >'],['http://en.cppreference.com/w/cpp/memory/allocator/allocator.html',0,'std::allocator::allocator()']]], - ['allocator_5farg_5ft_72',['allocator_arg_t',['http://en.cppreference.com/w/cpp/memory/allocator_arg_t.html',0,'std']]], - ['allocator_5ftraits_73',['allocator_traits',['http://en.cppreference.com/w/cpp/memory/allocator_traits.html',0,'std']]], - ['alpha_74',['alpha',['http://en.cppreference.com/w/cpp/numeric/random/gamma_distribution/params.html',0,'std::gamma_distribution']]], - ['always_5fnoconv_75',['always_noconv',['http://en.cppreference.com/w/cpp/locale/codecvt/always_noconv.html',0,'std::codecvt::always_noconv()'],['http://en.cppreference.com/w/cpp/locale/codecvt/always_noconv.html',0,'std::codecvt_byname::always_noconv()'],['http://en.cppreference.com/w/cpp/locale/codecvt/always_noconv.html',0,'std::codecvt_utf8::always_noconv()'],['http://en.cppreference.com/w/cpp/locale/codecvt/always_noconv.html',0,'std::codecvt_utf8_utf16::always_noconv()'],['http://en.cppreference.com/w/cpp/locale/codecvt/always_noconv.html',0,'std::codecvt_utf16::always_noconv()']]], - ['analysis_20best_20case_20worst_20case_20average_20case_76',['Bubble Sort Algorithm Analysis (Best Case - Worst Case - Average Case)',['../d8/d13/bubble__sort_8cpp.html#autotoc_md111',1,'']]], - ['analyzer_77',['Static Code Analyzer',['../d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md38',1,'']]], - ['and_20conquer_78',['Divide And Conquer',['../d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md50',1,'']]], - ['and_20maintainers_79',['Guidelines for reviewers and maintainers',['../d7/d1b/md__r_e_v_i_e_w_e_r___c_o_d_e.html',1,'']]], - ['and_20not_20matching_20edges_80',['Matching and Not-Matching edges',['../d1/d9a/hopcroft__karp_8cpp.html#autotoc_md78',1,'']]], - ['and_5ftest_81',['and_test',['../d3/db2/boyer__moore_8cpp.html#acb8f69e7901ee7459d98bd4b9dda79d9',1,'boyer_moore.cpp']]], - ['ans_82',['ans',['../d7/d35/matrix__exponentiation_8cpp.html#ad8389ed58fd0ec66df248014775ad1fa',1,'matrix_exponentiation.cpp']]], - ['any_83',['any',['http://en.cppreference.com/w/cpp/utility/bitset/all_any_none.html',0,'std::bitset']]], - ['any_5fof_84',['any_of',['http://en.cppreference.com/w/cpp/algorithm/all_any_none_of.html',0,'std']]], - ['aplhabet_5fsize_85',['APLHABET_SIZE',['../d3/db2/boyer__moore_8cpp.html#a77c872c08612d7b8861ba13bc9881cbd',1,'boyer_moore.cpp']]], - ['append_86',['append',['http://en.cppreference.com/w/cpp/string/basic_string/append.html',0,'std::string::append()'],['http://en.cppreference.com/w/cpp/string/basic_string/append.html',0,'std::basic_string::append()'],['http://en.cppreference.com/w/cpp/string/basic_string/append.html',0,'std::wstring::append()'],['http://en.cppreference.com/w/cpp/string/basic_string/append.html',0,'std::u16string::append()'],['http://en.cppreference.com/w/cpp/string/basic_string/append.html',0,'std::u32string::append()']]], - ['apply_5ffunction_87',['apply_function',['../d8/d77/namespacemachine__learning.html#ad0bdc88e5f1be47c46c0f0c8ebf754bb',1,'machine_learning']]], - ['approximate_5fpi_88',['approximate_pi',['../dd/d47/namespacemath.html#abf7f2a6d91f1ca6c89698792aea3f188',1,'math']]], - ['approximate_5fpi_2ecpp_89',['approximate_pi.cpp',['../d0/d51/approximate__pi_8cpp.html',1,'']]], - ['are_5falmost_5fequal_90',['are_almost_equal',['../d0/d6f/namespaceothers.html#aa17dc6d061dff34f6b9a610bc5e26703',1,'others']]], - ['are_5famicable_91',['are_amicable',['../dd/d47/namespacemath.html#a8e6eede206201db0d1dbb618fa969bec',1,'math']]], - ['area_2ecpp_92',['area.cpp',['../dc/d82/area_8cpp.html',1,'']]], - ['arg_93',['arg',['../da/d5a/class_complex.html#ae1e03712837450549e0c9b4017533a41',1,'Complex']]], - ['argmax_94',['argmax',['../d8/d77/namespacemachine__learning.html#a50480fccfb39de20ca47f1bf51ecb6ec',1,'machine_learning']]], - ['armstrong_5fnumber_5ftemplated_2ecpp_95',['armstrong_number_templated.cpp',['../d1/da7/armstrong__number__templated_8cpp.html',1,'']]], - ['arr_96',['arr',['../d6/d04/classdata__structures_1_1queue__using__array_1_1_queue___array.html#ae69a0bf6c9921b37c516c8a4d2fb904d',1,'data_structures::queue_using_array::Queue_Array::arr'],['../d0/d3e/classdata__structures_1_1trie.html#a362dd78748a1f01ab019e55fd6098a8b',1,'data_structures::trie::arr']]], - ['array_97',['array',['http://en.cppreference.com/w/cpp/container/array.html',0,'std']]], - ['array_3c_20data_5fstructures_3a_3atree_5f234_3a_3anode_20_2a_2c_204_20_3e_98',['array< data_structures::tree_234::Node *, 4 >',['http://en.cppreference.com/w/cpp/container/array.html',0,'std']]], - ['array_3c_20float_2c_2020_20_3e_99',['array< float, 20 >',['http://en.cppreference.com/w/cpp/container/array.html',0,'std']]], - ['array_3c_20int_2c_20maxnode_20_3e_100',['array< int, maxNode >',['http://en.cppreference.com/w/cpp/container/array.html',0,'std']]], - ['array_3c_20int16_5ft_2c_20max_5fsize_20_3e_101',['array< int16_t, max_size >',['http://en.cppreference.com/w/cpp/container/array.html',0,'std']]], - ['array_3c_20int64_5ft_2c_203_20_3e_102',['array< int64_t, 3 >',['http://en.cppreference.com/w/cpp/container/array.html',0,'std']]], - ['array_3c_20int64_5ft_2c_20n_20_3e_103',['array< int64_t, N >',['http://en.cppreference.com/w/cpp/container/array.html',0,'std']]], - ['array_3c_20std_3a_3aarray_3c_20int_2c_202_20_3e_2c_20maxnode_20_3e_104',['array< std::array< int, 2 >, maxNode >',['http://en.cppreference.com/w/cpp/container/array.html',0,'std']]], - ['array_3c_20std_3a_3aarray_3c_20int64_5ft_2c_20n_20_3e_2c_20m_20_3e_105',['array< std::array< int64_t, N >, M >',['http://en.cppreference.com/w/cpp/container/array.html',0,'std']]], - ['array_3c_20std_3a_3aarray_3c_20uint32_5ft_2c_203_20_3e_2c_203_20_3e_106',['array< std::array< uint32_t, 3 >, 3 >',['http://en.cppreference.com/w/cpp/container/array.html',0,'std']]], - ['array_3c_20uint32_5ft_2c_208_20_3e_107',['array< uint32_t, 8 >',['http://en.cppreference.com/w/cpp/container/array.html',0,'std']]], - ['array_3c_20uint64_5ft_2c_20n_20_3e_108',['array< uint64_t, N >',['http://en.cppreference.com/w/cpp/container/array.html',0,'std']]], - ['array_5fleft_5frotation_2ecpp_109',['array_left_rotation.cpp',['../d9/d14/array__left__rotation_8cpp.html',1,'']]], - ['array_5fright_5frotation_2ecpp_110',['array_right_rotation.cpp',['../d6/d57/array__right__rotation_8cpp.html',1,'']]], - ['asctime_111',['asctime',['http://en.cppreference.com/w/cpp/chrono/c/asctime.html',0,'std']]], - ['asin_112',['asin',['http://en.cppreference.com/w/cpp/numeric/math/asin.html',0,'std']]], - ['asinh_113',['asinh',['http://en.cppreference.com/w/cpp/numeric/math/asinh.html',0,'std']]], - ['ask_5fdata_114',['ask_data',['../d8/d41/namespacegames_1_1memory__game.html#a5714d97649c0edd57b4fb449799676a3',1,'games::memory_game']]], - ['assertarray_115',['assertArray',['../da/d18/quadratic__equations__complex__numbers_8cpp.html#af7a6d4e3dc85a6288c8f1f7094830c5a',1,'quadratic_equations_complex_numbers.cpp']]], - ['assign_116',['assign',['http://en.cppreference.com/w/cpp/container/vector/assign.html',0,'std::vector::assign()'],['http://en.cppreference.com/w/cpp/string/char_traits/assign.html',0,'std::char_traits::assign()'],['http://en.cppreference.com/w/cpp/string/basic_string/assign.html',0,'std::string::assign()'],['http://en.cppreference.com/w/cpp/regex/basic_regex/assign.html',0,'std::regex::assign()'],['http://en.cppreference.com/w/cpp/regex/basic_regex/assign.html',0,'std::basic_regex::assign()'],['http://en.cppreference.com/w/cpp/regex/basic_regex/assign.html',0,'std::wregex::assign()'],['http://en.cppreference.com/w/cpp/container/forward_list/assign.html',0,'std::forward_list::assign()'],['http://en.cppreference.com/w/cpp/error/error_code/assign.html',0,'std::error_code::assign()'],['http://en.cppreference.com/w/cpp/container/deque/assign.html',0,'std::deque::assign()'],['http://en.cppreference.com/w/cpp/string/basic_string/assign.html',0,'std::basic_string::assign()'],['http://en.cppreference.com/w/cpp/string/basic_string/assign.html',0,'std::wstring::assign()'],['http://en.cppreference.com/w/cpp/utility/functional/function/assign.html',0,'std::function::assign()'],['http://en.cppreference.com/w/cpp/error/error_condition/assign.html',0,'std::error_condition::assign()'],['http://en.cppreference.com/w/cpp/string/basic_string/assign.html',0,'std::u16string::assign()'],['http://en.cppreference.com/w/cpp/string/basic_string/assign.html',0,'std::u32string::assign()'],['http://en.cppreference.com/w/cpp/container/list/assign.html',0,'std::list::assign()']]], - ['assign_5fresults_117',['assign_results',['../d8/d41/namespacegames_1_1memory__game.html#a3ceeea62d8fa6c563e2c66359fd73413',1,'games::memory_game']]], - ['async_118',['async',['http://en.cppreference.com/w/cpp/thread/async.html',0,'std']]], - ['at_119',['at',['http://en.cppreference.com/w/cpp/container/dynarray/at.html',0,'std::dynarray::at()'],['http://en.cppreference.com/w/cpp/container/vector/at.html',0,'std::vector::at()'],['http://en.cppreference.com/w/cpp/string/basic_string/at.html',0,'std::string::at()'],['http://en.cppreference.com/w/cpp/container/unordered_map/at.html',0,'std::unordered_map::at()'],['http://en.cppreference.com/w/cpp/container/deque/at.html',0,'std::deque::at()'],['http://en.cppreference.com/w/cpp/string/basic_string/at.html',0,'std::basic_string::at()'],['http://en.cppreference.com/w/cpp/string/basic_string/at.html',0,'std::wstring::at()'],['http://en.cppreference.com/w/cpp/string/basic_string/at.html',0,'std::u16string::at()'],['http://en.cppreference.com/w/cpp/string/basic_string/at.html',0,'std::u32string::at()'],['http://en.cppreference.com/w/cpp/container/map/at.html',0,'std::map::at()'],['http://en.cppreference.com/w/cpp/container/array/at.html',0,'std::array::at()']]], - ['at_5fquick_5fexit_120',['at_quick_exit',['http://en.cppreference.com/w/cpp/utility/program/at_quick_exit.html',0,'std']]], - ['atan_121',['atan',['http://en.cppreference.com/w/cpp/numeric/math/atan.html',0,'std']]], - ['atan2_122',['atan2',['http://en.cppreference.com/w/cpp/numeric/math/atan2.html',0,'std']]], - ['atanh_123',['atanh',['http://en.cppreference.com/w/cpp/numeric/math/atanh.html',0,'std']]], - ['atbash_124',['atbash',['../de/db3/namespaceatbash.html',1,'']]], - ['atbash_5fcipher_125',['atbash_cipher',['../dc/dfb/atbash__cipher_8cpp.html#a8f7dd4dcd3df7c512c20482afc2dbb9d',1,'ciphers::atbash']]], - ['atbash_5fcipher_2ecpp_126',['atbash_cipher.cpp',['../dc/dfb/atbash__cipher_8cpp.html',1,'']]], - ['atexit_127',['atexit',['http://en.cppreference.com/w/cpp/utility/program/atexit.html',0,'std']]], - ['atof_128',['atof',['http://en.cppreference.com/w/cpp/string/byte/atof.html',0,'std']]], - ['atoi_129',['atoi',['http://en.cppreference.com/w/cpp/string/byte/atoi.html',0,'std']]], - ['atol_130',['atol',['http://en.cppreference.com/w/cpp/string/byte/atoi.html',0,'std']]], - ['atoll_131',['atoll',['http://en.cppreference.com/w/cpp/string/byte/atoi.html',0,'std']]], - ['atomic_132',['atomic',['http://en.cppreference.com/w/cpp/atomic/atomic.html',0,'std::atomic< T >'],['http://en.cppreference.com/w/cpp/atomic/atomic/atomic.html',0,'std::atomic::atomic()']]], - ['atomic_5fcompare_5fexchange_5fstrong_133',['atomic_compare_exchange_strong',['http://en.cppreference.com/w/cpp/atomic/atomic_compare_exchange.html',0,'std']]], - ['atomic_5fcompare_5fexchange_5fstrong_5fexplicit_134',['atomic_compare_exchange_strong_explicit',['http://en.cppreference.com/w/cpp/atomic/atomic_compare_exchange.html',0,'std']]], - ['atomic_5fcompare_5fexchange_5fweak_135',['atomic_compare_exchange_weak',['http://en.cppreference.com/w/cpp/atomic/atomic_compare_exchange.html',0,'std']]], - ['atomic_5fcompare_5fexchange_5fweak_5fexplicit_136',['atomic_compare_exchange_weak_explicit',['http://en.cppreference.com/w/cpp/atomic/atomic_compare_exchange.html',0,'std']]], - ['atomic_5fexchange_137',['atomic_exchange',['http://en.cppreference.com/w/cpp/atomic/atomic_exchange.html',0,'std']]], - ['atomic_5fexchange_5fexplicit_138',['atomic_exchange_explicit',['http://en.cppreference.com/w/cpp/atomic/atomic_exchange.html',0,'std']]], - ['atomic_5ffetch_5fadd_139',['atomic_fetch_add',['http://en.cppreference.com/w/cpp/atomic/atomic_fetch_add.html',0,'std']]], - ['atomic_5ffetch_5fadd_5fexplicit_140',['atomic_fetch_add_explicit',['http://en.cppreference.com/w/cpp/atomic/atomic_fetch_add.html',0,'std']]], - ['atomic_5ffetch_5fand_141',['atomic_fetch_and',['http://en.cppreference.com/w/cpp/atomic/atomic_fetch_sub.html',0,'std']]], - ['atomic_5ffetch_5fand_5fexplicit_142',['atomic_fetch_and_explicit',['http://en.cppreference.com/w/cpp/atomic/atomic_fetch_sub.html',0,'std']]], - ['atomic_5ffetch_5for_143',['atomic_fetch_or',['http://en.cppreference.com/w/cpp/atomic/atomic_fetch_or.html',0,'std']]], - ['atomic_5ffetch_5for_5fexplicit_144',['atomic_fetch_or_explicit',['http://en.cppreference.com/w/cpp/atomic/atomic_fetch_or.html',0,'std']]], - ['atomic_5ffetch_5fsub_145',['atomic_fetch_sub',['http://en.cppreference.com/w/cpp/atomic/atomic_fetch_sub.html',0,'std']]], - ['atomic_5ffetch_5fsub_5fexplicit_146',['atomic_fetch_sub_explicit',['http://en.cppreference.com/w/cpp/atomic/atomic_fetch_sub.html',0,'std']]], - ['atomic_5ffetch_5fxor_147',['atomic_fetch_xor',['http://en.cppreference.com/w/cpp/atomic/atomic_fetch_xor.html',0,'std']]], - ['atomic_5ffetch_5fxor_5fexplicit_148',['atomic_fetch_xor_explicit',['http://en.cppreference.com/w/cpp/atomic/atomic_fetch_xor.html',0,'std']]], - ['atomic_5fflag_149',['atomic_flag',['http://en.cppreference.com/w/cpp/atomic/atomic_flag.html',0,'std::atomic_flag'],['http://en.cppreference.com/w/cpp/atomic/atomic_flag/atomic_flag.html',0,'std::atomic_flag::atomic_flag()']]], - ['atomic_5finit_150',['atomic_init',['http://en.cppreference.com/w/cpp/atomic/atomic_init.html',0,'std']]], - ['atomic_5fis_5flock_5ffree_151',['atomic_is_lock_free',['http://en.cppreference.com/w/cpp/atomic/atomic_is_lock_free.html',0,'std']]], - ['atomic_5fload_152',['atomic_load',['http://en.cppreference.com/w/cpp/atomic/atomic_load.html',0,'std']]], - ['atomic_5fload_5fexplicit_153',['atomic_load_explicit',['http://en.cppreference.com/w/cpp/atomic/atomic_load.html',0,'std']]], - ['atomic_5fsignal_5ffence_154',['atomic_signal_fence',['http://en.cppreference.com/w/cpp/atomic/atomic_signal_fence.html',0,'std']]], - ['atomic_5fstore_155',['atomic_store',['http://en.cppreference.com/w/cpp/atomic/atomic_store.html',0,'std']]], - ['atomic_5fstore_5fexplicit_156',['atomic_store_explicit',['http://en.cppreference.com/w/cpp/atomic/atomic_store.html',0,'std']]], - ['atomic_5fthread_5ffence_157',['atomic_thread_fence',['http://en.cppreference.com/w/cpp/atomic/atomic_thread_fence.html',0,'std']]], - ['attribution_158',['Attribution',['../d3/dd7/md__c_o_d_e___o_f___c_o_n_d_u_c_t.html#autotoc_md15',1,'']]], - ['augmenting_20paths_159',['Augmenting paths',['../d1/d9a/hopcroft__karp_8cpp.html#autotoc_md80',1,'']]], - ['auto_5fptr_160',['auto_ptr',['http://en.cppreference.com/w/cpp/memory/auto_ptr.html',0,'std::auto_ptr< T >'],['http://en.cppreference.com/w/cpp/memory/auto_ptr/auto_ptr.html',0,'std::auto_ptr::auto_ptr()']]], - ['auxiliary_5fq_161',['auxiliary_q',['../db/d5b/structdata__structures_1_1stack__using__queue_1_1_stack.html#a2f80f87fc6f6ded938426698bba89323',1,'data_structures::stack_using_queue::Stack']]], - ['availarray_162',['AvailArray',['../d3/dce/linkedlist__implentation__usingarray_8cpp.html#aed19b403f559fc5d5a4bce724f9e263c',1,'linkedlist_implentation_usingarray.cpp']]], - ['average_20case_163',['Average Case',['../d8/d13/bubble__sort_8cpp.html#autotoc_md114',1,'Average Case'],['../d8/d13/bubble__sort_8cpp.html#autotoc_md111',1,'Bubble Sort Algorithm Analysis (Best Case - Worst Case - Average Case)']]], - ['avltree_2ecpp_164',['avltree.cpp',['../d8/dee/avltree_8cpp.html',1,'']]], - ['aystar_5fsearch_165',['aystar_search',['../db/ddc/namespaceaystar__search.html',1,'']]], - ['aystarsearch_166',['AyStarSearch',['../da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search.html',1,'machine_learning::aystar_search::AyStarSearch< Puzzle >'],['../da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search.html#abaff2ea6d309e1133fd95bbd1e39946e',1,'machine_learning::aystar_search::AyStarSearch::AyStarSearch()']]] + ['a_20new_20directory_1',['Integrating CMake in a new directory',['../d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md34',1,'']]], + ['a_20program_2',['Typical structure of a program',['../d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md31',1,'']]], + ['a_20right_20node_20subtree_3',['Case 2: The given node does not have a right node/subtree',['../d4/d32/inorder__successor__of__bst_8cpp.html#autotoc_md90',1,'']]], + ['a_20tree_4',['a tree',['../d8/d90/iterative__tree__traversals_8cpp.html#autotoc_md95',1,'Iterative Inorder Traversal of a tree'],['../dc/de1/recursive__tree__traversal_8cpp.html#autotoc_md99',1,'Iterative Inorder Traversal of a tree'],['../d8/d90/iterative__tree__traversals_8cpp.html#autotoc_md94',1,'Iterative Postorder Traversal of a tree'],['../dc/de1/recursive__tree__traversal_8cpp.html#autotoc_md101',1,'Iterative Postorder Traversal of a tree'],['../d8/d90/iterative__tree__traversals_8cpp.html#autotoc_md93',1,'Iterative Preorder Traversal of a tree'],['../dc/de1/recursive__tree__traversal_8cpp.html#autotoc_md100',1,'Iterative Preorder Traversal of a tree']]], + ['a1z26_5',['a1z26',['../d8/d2a/namespacea1z26.html',1,'']]], + ['a1z26_5fcipher_2ecpp_6',['a1z26_cipher.cpp',['../de/db6/a1z26__cipher_8cpp.html',1,'']]], + ['a_5fstar_5fsearch_7',['a_star_search',['../da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search.html#a48284e156fdd48fd0c41008c7e48f201',1,'machine_learning::aystar_search::AyStarSearch']]], + ['abbreviation_8',['abbreviation',['../d0/df8/namespaceabbreviation.html',1,'abbreviation'],['../d7/d73/abbreviation_8cpp.html#af53b2f647bee9c5b75ef8dd9ef685dc8',1,'dynamic_programming::abbreviation::abbreviation()']]], + ['abbreviation_2ecpp_9',['abbreviation.cpp',['../d7/d73/abbreviation_8cpp.html',1,'']]], + ['abbreviation_5frecursion_10',['abbreviation_recursion',['../d7/d73/abbreviation_8cpp.html#add60b8858720bf217df22d992d0fefaa',1,'dynamic_programming::abbreviation']]], + ['abs_11',['abs',['../da/d5a/class_complex.html#ae5b51b749ea4964104b9527af9d8f556',1,'Complex']]], + ['absoluteprecision_12',['absolutePrecision',['../dc/dfe/ternary__search_8cpp.html#ae01eda5098801bb6b5b778828fb4fddc',1,'ternary_search.cpp']]], + ['accuracy_13',['ACCURACY',['../da/df2/durand__kerner__roots_8cpp.html#af270a96662132d0385cb6b4637c5a689',1,'durand_kerner_roots.cpp']]], + ['accuracy_14',['accuracy',['../d6/d30/classmachine__learning_1_1adaline.html#aa23d60262f917f35836ef4b1c1d9f7d3',1,'machine_learning::adaline']]], + ['actions_15',['GitHub Actions',['../d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md40',1,'']]], + ['activation_16',['activation',['../d6/d30/classmachine__learning_1_1adaline.html#a082f758fb55fe19f22b3df66f89b2325',1,'machine_learning::adaline']]], + ['activations_17',['activations',['../d5/d39/namespaceactivations.html',1,'']]], + ['adaline_18',['adaline',['../d6/d30/classmachine__learning_1_1adaline.html',1,'machine_learning::adaline'],['../d6/d30/classmachine__learning_1_1adaline.html#a0acbe32aaab897e7939e5b0454035b8c',1,'machine_learning::adaline::adaline()']]], + ['adaline_5flearning_2ecpp_19',['adaline_learning.cpp',['../d5/db0/adaline__learning_8cpp.html',1,'']]], + ['add_20',['add',['../d9/dae/classdata__structures_1_1_bitset.html#a17dbe1b1d559302312e8091f82f7499c',1,'data_structures::Bitset::add()'],['../dc/dd4/classdata__structures_1_1_bloom_filter.html#a67bed8ef62fcb1f33b6c72df47dcf840',1,'data_structures::BloomFilter::add()'],['../dd/d1c/classhash__chain.html#a6b4b4de1a8c96f98a63a77f650a9dcff',1,'hash_chain::add()'],['../de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree.html#a534645d1aabdf1a7e5897c85376f173d',1,'operations_on_datastructures::reverse_binary_tree::BinaryTree::add()'],['../da/d41/uint128__t_8hpp.html#a3ff77262ffd6743df5b808d41382a6f3',1,'add(): uint128_t.hpp'],['../d0/d65/namespacedouble__hashing.html#a79a9c914a6c68275b3640303d7faad8a',1,'double_hashing::add()'],['../d8/d89/namespacelinear__probing.html#a16d34fd3511626a83ab00665d7bc34d1',1,'linear_probing::add()'],['../d4/dd2/namespacequadratic__probing.html#a00ebcc6d39653eccc26f8432efbfc8d9',1,'quadratic_probing::add()'],['../de/d47/string__fibonacci_8cpp.html#a28052eee05d43c2ebc5147c52bd50c35',1,'add(): string_fibonacci.cpp']]], + ['add_5fdigit_21',['add_digit',['../db/d82/classlarge__number.html#a60c436d1a1c5e3795d6177d3815ad615',1,'large_number']]], + ['add_5fedge_22',['add_edge',['../dc/d61/classgraph_1_1_graph.html#a877b2cba40d8d46dde6fb4209effed19',1,'graph::Graph::add_edge()'],['../d2/daa/classgreedy__algorithms_1_1dijkstra_1_1_graph.html#a224b6efacbad55d59e11b046f792fe79',1,'greedy_algorithms::dijkstra::Graph::add_edge()'],['../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html#a79ab4601c4a95c0902ac04e779e5f54d',1,'range_queries::heavy_light_decomposition::Tree::add_edge()']]], + ['add_5fstrings_23',['add_strings',['../da/dd3/karatsuba__algorithm__for__fast__multiplication_8cpp.html#ad76f5cac3ef8dc034f6abb99b64c2b20',1,'divide_and_conquer::karatsuba_algorithm']]], + ['addbinary_24',['addBinary',['../de/df6/classgreedy__algorithms_1_1_binary_addition.html#a801fd1ec5cda76b0bb82cbf23ed4d527',1,'greedy_algorithms::BinaryAddition']]], + ['addedge_25',['addEdge',['../da/d9a/class_graph.html#af765dda8f21280e1cecea19e129f1bc5',1,'Graph::addEdge(Edge const &edge)'],['../da/d9a/class_graph.html#ac85c63bcca4764a621f9f8609a8e5910',1,'Graph::addEdge(unsigned int source, unsigned int destination)'],['../d8/d69/classgraph_1_1_h_k_graph.html#a3b49011c09cf90a116ab53bef61cd95a',1,'graph::HKGraph::addEdge()'],['../de/d00/classgraph_1_1is__graph__bipartite_1_1_graph.html#a816cda7e563198f778fd32e03992763b',1,'graph::is_graph_bipartite::Graph::addEdge()'],['../d5/dec/classgraph_1_1topological__sort_1_1_graph.html#a57036210706a45b9363563252393a345',1,'graph::topological_sort::Graph::addEdge()'],['../d7/d07/bidirectional__dijkstra_8cpp.html#a69172365aebde9be1997157f6f80e0cf',1,'graph::bidirectional_dijkstra::addEdge()'],['../df/dce/namespacegraph.html#a9125ceb66bfbec3093bba64c2c1e99e2',1,'graph::addEdge(std::vector< std::vector< int > > *adj, int u, int v)'],['../df/dce/namespacegraph.html#ad4016cfc80485a43748895a2c26c7d08',1,'graph::addEdge(std::vector< std::vector< size_t > > *adj, size_t u, size_t v)'],['../da/d4b/depth__first__search__with__stack_8cpp.html#aadebe9c855821d6515ca5b171222ef7b',1,'graph::depth_first_search::addEdge()'],['../df/dce/namespacegraph.html#a0e30e0dca68cb6e4f671440819b35b6a',1,'graph::addEdge()']]], + ['addinfo_26',['addInfo',['../d0/d65/namespacedouble__hashing.html#a9c652b2e467e5d250dfe3bed83b12560',1,'double_hashing::addInfo()'],['../d8/d89/namespacelinear__probing.html#a16680b8a37d442c2f208faa286e33908',1,'linear_probing::addInfo()'],['../d4/dd2/namespacequadratic__probing.html#a312143ed316d48978084c025ff8d9768',1,'quadratic_probing::addInfo()']]], + ['addition_27',['addition',['../df/d6b/namespaceciphers_1_1elliptic__curve__key__exchange.html#acc5fe9c2032fb7582c38a20d1fa69bcf',1,'ciphers::elliptic_curve_key_exchange']]], + ['addition_5frule_2ecpp_28',['addition_rule.cpp',['../d6/d4a/addition__rule_8cpp.html',1,'']]], + ['addition_5frule_5fdependent_29',['addition_rule_dependent',['../d6/d4a/addition__rule_8cpp.html#a565ffcbbdbe496ced37250bc8dc36bc0',1,'addition_rule.cpp']]], + ['addition_5frule_5findependent_30',['addition_rule_independent',['../d6/d4a/addition__rule_8cpp.html#a4adfd055c758546456d440ee9133555d',1,'addition_rule.cpp']]], + ['addprocess_31',['addProcess',['../dd/dca/class_f_c_f_s.html#a8fbfe4d85f7576b4a7aade07d29fbd69',1,'FCFS']]], + ['address_20of_20parent_20nodes_32',['Method 1: Use parent pointer (store the address of parent nodes)',['../d4/d32/inorder__successor__of__bst_8cpp.html#autotoc_md91',1,'']]], + ['addressing_33',['Open Addressing',['../d4/d39/group__open__addressing.html',1,'']]], + ['addvertices_34',['addVertices',['../da/d9a/class_graph.html#ac5a4d9a4f894a179198936042c778413',1,'Graph']]], + ['adj_35',['adj',['../d8/d69/classgraph_1_1_h_k_graph.html#a35893def7a1c5cd60907b4893117796f',1,'graph::HKGraph::adj'],['../de/d00/classgraph_1_1is__graph__bipartite_1_1_graph.html#ab0efcfa04fff8616aff0062522d1483f',1,'graph::is_graph_bipartite::Graph::adj']]], + ['adjacency_5flist_36',['adjacency_list',['../dc/d61/classgraph_1_1_graph.html#acebf0505d625b043bb9c8c27c7a8def0',1,'graph::Graph']]], + ['algorithm_37',['Algorithm',['../dc/dfb/atbash__cipher_8cpp.html#autotoc_md0',1,'Algorithm'],['../d6/d2c/caesar__cipher_8cpp.html#autotoc_md1',1,'Algorithm'],['../dd/d12/vigenere__cipher_8cpp.html#autotoc_md2',1,'Algorithm'],['../d3/d4c/xor__cipher_8cpp.html#autotoc_md3',1,'Algorithm'],['../da/dc3/linked__list_8cpp.html#autotoc_md41',1,'Algorithm'],['../d7/d00/list__array_8cpp.html#autotoc_md42',1,'Algorithm'],['../d8/df0/queue__using__array_8cpp.html#autotoc_md43',1,'Algorithm'],['../d6/d05/reverse__a__linked__list_8cpp.html#autotoc_md44',1,'Algorithm'],['../db/d16/0__1__knapsack_8cpp.html#autotoc_md69',1,'Algorithm'],['../d7/d73/abbreviation_8cpp.html#autotoc_md70',1,'Algorithm'],['../d6/d10/cut__rod_8cpp.html#autotoc_md71',1,'Algorithm'],['../d4/da0/kadane_8cpp.html#autotoc_md72',1,'Algorithm'],['../da/d52/minimum__edit__distance_8cpp.html#autotoc_md73',1,'Algorithm'],['../d9/dec/unbounded__0__1__knapsack_8cpp.html#autotoc_md74',1,'Algorithm'],['../d4/d8d/jarvis__algorithm_8cpp.html#autotoc_md75',1,'Algorithm'],['../d8/d99/connected__components__with__dsu_8cpp.html#autotoc_md76',1,'Algorithm'],['../d1/d9a/hopcroft__karp_8cpp.html#autotoc_md82',1,'Algorithm'],['../d5/d96/md5_8cpp.html#autotoc_md83',1,'Algorithm'],['../d8/d7a/sha1_8cpp.html#autotoc_md84',1,'Algorithm'],['../dd/d47/namespacemath.html#autotoc_md85',1,'Algorithm'],['../d4/d38/power__of__two_8cpp.html#autotoc_md86',1,'Algorithm'],['../d5/d33/gram__schmidt_8cpp.html#autotoc_md88',1,'Algorithm'],['../d1/ded/windowed__median_8cpp.html#autotoc_md102',1,'Algorithm'],['../d5/d45/sublist__search_8cpp.html#autotoc_md108',1,'Algorithm'],['../d5/ddb/bogo__sort_8cpp.html#autotoc_md110',1,'Algorithm'],['../d2/d26/count__inversions_8cpp.html#autotoc_md115',1,'Algorithm'],['../d3/df9/recursive__bubble__sort_8cpp.html#autotoc_md116',1,'Algorithm'],['../d5/d4c/group__sorting.html',1,'Sorting Algorithm']]], + ['algorithm_20analysis_20best_20case_20worst_20case_20average_20case_38',['Bubble Sort Algorithm Analysis (Best Case - Worst Case - Average Case)',['../d8/d13/bubble__sort_8cpp.html#autotoc_md111',1,'']]], + ['algorithm_20explanation_39',['Algorithm explanation',['../d3/db3/lru__cache_8cpp.html#autotoc_md97',1,'']]], + ['algorithms_40',['Algorithms',['../d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md48',1,'Cpu Scheduling Algorithms'],['../d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md56',1,'Greedy Algorithms'],['../d9/d66/group__machine__learning.html',1,'Machine Learning Algorithms']]], + ['algorithms_20c_41',['The Algorithms - C++',['../index.html',1,'']]], + ['aliquot_5fsum_42',['aliquot_sum',['../dd/d47/namespacemath.html#ab37f3a7302a84179aae682c79d8390bf',1,'math']]], + ['aliquot_5fsum_2ecpp_43',['aliquot_sum.cpp',['../de/d99/aliquot__sum_8cpp.html',1,'']]], + ['analysis_20best_20case_20worst_20case_20average_20case_44',['Bubble Sort Algorithm Analysis (Best Case - Worst Case - Average Case)',['../d8/d13/bubble__sort_8cpp.html#autotoc_md111',1,'']]], + ['analyzer_45',['Static Code Analyzer',['../d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md38',1,'']]], + ['and_20conquer_46',['Divide And Conquer',['../d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md50',1,'']]], + ['and_20maintainers_47',['Guidelines for reviewers and maintainers',['../d7/d1b/md__r_e_v_i_e_w_e_r___c_o_d_e.html',1,'']]], + ['and_20not_20matching_20edges_48',['Matching and Not-Matching edges',['../d1/d9a/hopcroft__karp_8cpp.html#autotoc_md78',1,'']]], + ['and_5ftest_49',['and_test',['../d3/db2/boyer__moore_8cpp.html#acb8f69e7901ee7459d98bd4b9dda79d9',1,'boyer_moore.cpp']]], + ['ans_50',['ans',['../d7/d35/matrix__exponentiation_8cpp.html#ad8389ed58fd0ec66df248014775ad1fa',1,'matrix_exponentiation.cpp']]], + ['aplhabet_5fsize_51',['APLHABET_SIZE',['../d3/db2/boyer__moore_8cpp.html#a77c872c08612d7b8861ba13bc9881cbd',1,'boyer_moore.cpp']]], + ['apply_5ffunction_52',['apply_function',['../d8/d77/namespacemachine__learning.html#ad0bdc88e5f1be47c46c0f0c8ebf754bb',1,'machine_learning']]], + ['approximate_5fpi_53',['approximate_pi',['../dd/d47/namespacemath.html#abf7f2a6d91f1ca6c89698792aea3f188',1,'math']]], + ['approximate_5fpi_2ecpp_54',['approximate_pi.cpp',['../d0/d51/approximate__pi_8cpp.html',1,'']]], + ['are_5falmost_5fequal_55',['are_almost_equal',['../d0/d6f/namespaceothers.html#aa17dc6d061dff34f6b9a610bc5e26703',1,'others']]], + ['are_5famicable_56',['are_amicable',['../dd/d47/namespacemath.html#a8e6eede206201db0d1dbb618fa969bec',1,'math']]], + ['area_2ecpp_57',['area.cpp',['../dc/d82/area_8cpp.html',1,'']]], + ['arg_58',['arg',['../da/d5a/class_complex.html#ae1e03712837450549e0c9b4017533a41',1,'Complex']]], + ['argmax_59',['argmax',['../d8/d77/namespacemachine__learning.html#a50480fccfb39de20ca47f1bf51ecb6ec',1,'machine_learning']]], + ['armstrong_5fnumber_5ftemplated_2ecpp_60',['armstrong_number_templated.cpp',['../d1/da7/armstrong__number__templated_8cpp.html',1,'']]], + ['arr_61',['arr',['../d6/d04/classdata__structures_1_1queue__using__array_1_1_queue___array.html#ae69a0bf6c9921b37c516c8a4d2fb904d',1,'data_structures::queue_using_array::Queue_Array::arr'],['../d0/d3e/classdata__structures_1_1trie.html#a362dd78748a1f01ab019e55fd6098a8b',1,'data_structures::trie::arr']]], + ['array_5fleft_5frotation_2ecpp_62',['array_left_rotation.cpp',['../d9/d14/array__left__rotation_8cpp.html',1,'']]], + ['array_5fright_5frotation_2ecpp_63',['array_right_rotation.cpp',['../d6/d57/array__right__rotation_8cpp.html',1,'']]], + ['ask_5fdata_64',['ask_data',['../d8/d41/namespacegames_1_1memory__game.html#a5714d97649c0edd57b4fb449799676a3',1,'games::memory_game']]], + ['assertarray_65',['assertArray',['../da/d18/quadratic__equations__complex__numbers_8cpp.html#af7a6d4e3dc85a6288c8f1f7094830c5a',1,'quadratic_equations_complex_numbers.cpp']]], + ['assign_5fresults_66',['assign_results',['../d8/d41/namespacegames_1_1memory__game.html#a3ceeea62d8fa6c563e2c66359fd73413',1,'games::memory_game']]], + ['atbash_67',['atbash',['../de/db3/namespaceatbash.html',1,'']]], + ['atbash_5fcipher_68',['atbash_cipher',['../dc/dfb/atbash__cipher_8cpp.html#a8f7dd4dcd3df7c512c20482afc2dbb9d',1,'ciphers::atbash']]], + ['atbash_5fcipher_2ecpp_69',['atbash_cipher.cpp',['../dc/dfb/atbash__cipher_8cpp.html',1,'']]], + ['attribution_70',['Attribution',['../d3/dd7/md__c_o_d_e___o_f___c_o_n_d_u_c_t.html#autotoc_md15',1,'']]], + ['augmenting_20paths_71',['Augmenting paths',['../d1/d9a/hopcroft__karp_8cpp.html#autotoc_md80',1,'']]], + ['auxiliary_5fq_72',['auxiliary_q',['../db/d5b/structdata__structures_1_1stack__using__queue_1_1_stack.html#a2f80f87fc6f6ded938426698bba89323',1,'data_structures::stack_using_queue::Stack']]], + ['availarray_73',['AvailArray',['../d3/dce/linkedlist__implentation__usingarray_8cpp.html#aed19b403f559fc5d5a4bce724f9e263c',1,'linkedlist_implentation_usingarray.cpp']]], + ['average_20case_74',['Average Case',['../d8/d13/bubble__sort_8cpp.html#autotoc_md114',1,'Average Case'],['../d8/d13/bubble__sort_8cpp.html#autotoc_md111',1,'Bubble Sort Algorithm Analysis (Best Case - Worst Case - Average Case)']]], + ['avltree_2ecpp_75',['avltree.cpp',['../d8/dee/avltree_8cpp.html',1,'']]], + ['aystar_5fsearch_76',['aystar_search',['../db/ddc/namespaceaystar__search.html',1,'']]], + ['aystarsearch_77',['AyStarSearch',['../da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search.html',1,'machine_learning::aystar_search::AyStarSearch< Puzzle >'],['../da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search.html#abaff2ea6d309e1133fd95bbd1e39946e',1,'machine_learning::aystar_search::AyStarSearch::AyStarSearch()']]] ]; diff --git a/search/all_7.js b/search/all_7.js index 1490a73ef..09ab2a363 100644 --- a/search/all_7.js +++ b/search/all_7.js @@ -1,152 +1,75 @@ var searchData= [ - ['b_0',['b',['http://en.cppreference.com/w/cpp/numeric/random/extreme_value_distribution/params.html',0,'std::extreme_value_distribution::b()'],['http://en.cppreference.com/w/cpp/numeric/random/uniform_real_distribution/params.html',0,'std::uniform_real_distribution::b()'],['http://en.cppreference.com/w/cpp/numeric/random/weibull_distribution/params.html',0,'std::weibull_distribution::b()'],['http://en.cppreference.com/w/cpp/numeric/random/uniform_int_distribution/params.html',0,'std::uniform_int_distribution::b()'],['http://en.cppreference.com/w/cpp/numeric/random/cauchy_distribution/params.html',0,'std::cauchy_distribution::b()']]], - ['babylonian_5fmethod_1',['babylonian_method',['../d1/de0/namespacenumerical__methods.html#a28e67885f8606564cc8335f483f63309',1,'numerical_methods']]], - ['babylonian_5fmethod_2ecpp_2',['babylonian_method.cpp',['../dc/d9c/babylonian__method_8cpp.html',1,'']]], - ['back_3',['back',['http://en.cppreference.com/w/cpp/container/dynarray/back.html',0,'std::dynarray::back()'],['http://en.cppreference.com/w/cpp/container/vector/back.html',0,'std::vector::back()'],['http://en.cppreference.com/w/cpp/string/basic_string/back.html',0,'std::string::back()'],['http://en.cppreference.com/w/cpp/container/deque/back.html',0,'std::deque::back()'],['http://en.cppreference.com/w/cpp/container/queue/back.html',0,'std::queue::back()'],['http://en.cppreference.com/w/cpp/string/basic_string/back.html',0,'std::basic_string::back()'],['http://en.cppreference.com/w/cpp/string/basic_string/back.html',0,'std::wstring::back()'],['http://en.cppreference.com/w/cpp/string/basic_string/back.html',0,'std::u16string::back()'],['http://en.cppreference.com/w/cpp/string/basic_string/back.html',0,'std::u32string::back()'],['http://en.cppreference.com/w/cpp/container/list/back.html',0,'std::list::back()'],['http://en.cppreference.com/w/cpp/container/array/back.html',0,'std::array::back()']]], - ['back_5finsert_5fiterator_4',['back_insert_iterator',['http://en.cppreference.com/w/cpp/iterator/back_insert_iterator.html',0,'std']]], - ['back_5finserter_5',['back_inserter',['http://en.cppreference.com/w/cpp/iterator/back_inserter.html',0,'std']]], - ['backtracking_6',['Backtracking',['../d5/d88/md__d_i_r_e_c_t_o_r_y.html',1,'']]], - ['backtracking_7',['backtracking',['../db/dc0/namespacebacktracking.html',1,'']]], - ['bad_8',['bad',['http://en.cppreference.com/w/cpp/io/basic_ios/bad.html',0,'std::basic_ofstream::bad()'],['http://en.cppreference.com/w/cpp/io/basic_ios/bad.html',0,'std::fstream::bad()'],['http://en.cppreference.com/w/cpp/io/basic_ios/bad.html',0,'std::wostream::bad()'],['http://en.cppreference.com/w/cpp/io/basic_ios/bad.html',0,'std::basic_ostringstream::bad()'],['http://en.cppreference.com/w/cpp/io/basic_ios/bad.html',0,'std::basic_ios::bad()'],['http://en.cppreference.com/w/cpp/io/basic_ios/bad.html',0,'std::ostringstream::bad()'],['http://en.cppreference.com/w/cpp/io/basic_ios/bad.html',0,'std::basic_fstream::bad()'],['http://en.cppreference.com/w/cpp/io/basic_ios/bad.html',0,'std::iostream::bad()'],['http://en.cppreference.com/w/cpp/io/basic_ios/bad.html',0,'std::wistream::bad()'],['http://en.cppreference.com/w/cpp/io/basic_ios/bad.html',0,'std::stringstream::bad()'],['http://en.cppreference.com/w/cpp/io/basic_ios/bad.html',0,'std::ostream::bad()'],['http://en.cppreference.com/w/cpp/io/basic_ios/bad.html',0,'std::wifstream::bad()'],['http://en.cppreference.com/w/cpp/io/basic_ios/bad.html',0,'std::basic_istream::bad()'],['http://en.cppreference.com/w/cpp/io/basic_ios/bad.html',0,'std::strstream::bad()'],['http://en.cppreference.com/w/cpp/io/basic_ios/bad.html',0,'std::basic_stringstream::bad()'],['http://en.cppreference.com/w/cpp/io/basic_ios/bad.html',0,'std::wostringstream::bad()'],['http://en.cppreference.com/w/cpp/io/basic_ios/bad.html',0,'std::istrstream::bad()'],['http://en.cppreference.com/w/cpp/io/basic_ios/bad.html',0,'std::basic_ostream::bad()'],['http://en.cppreference.com/w/cpp/io/basic_ios/bad.html',0,'std::wiostream::bad()'],['http://en.cppreference.com/w/cpp/io/basic_ios/bad.html',0,'std::ofstream::bad()'],['http://en.cppreference.com/w/cpp/io/basic_ios/bad.html',0,'std::basic_istringstream::bad()'],['http://en.cppreference.com/w/cpp/io/basic_ios/bad.html',0,'std::basic_ifstream::bad()'],['http://en.cppreference.com/w/cpp/io/basic_ios/bad.html',0,'std::istringstream::bad()'],['http://en.cppreference.com/w/cpp/io/basic_ios/bad.html',0,'std::istream::bad()'],['http://en.cppreference.com/w/cpp/io/basic_ios/bad.html',0,'std::ostrstream::bad()'],['http://en.cppreference.com/w/cpp/io/basic_ios/bad.html',0,'std::wfstream::bad()'],['http://en.cppreference.com/w/cpp/io/basic_ios/bad.html',0,'std::basic_iostream::bad()'],['http://en.cppreference.com/w/cpp/io/basic_ios/bad.html',0,'std::wofstream::bad()'],['http://en.cppreference.com/w/cpp/io/basic_ios/bad.html',0,'std::wstringstream::bad()'],['http://en.cppreference.com/w/cpp/io/basic_ios/bad.html',0,'std::wistringstream::bad()'],['http://en.cppreference.com/w/cpp/io/basic_ios/bad.html',0,'std::ifstream::bad()']]], - ['bad_5falloc_9',['bad_alloc',['http://en.cppreference.com/w/cpp/memory/new/bad_alloc.html',0,'std::bad_alloc'],['http://en.cppreference.com/w/cpp/memory/new/bad_alloc.html',0,'std::bad_alloc::bad_alloc()']]], - ['bad_5farray_5flength_10',['bad_array_length',['http://en.cppreference.com/w/cpp/memory/new/bad_array_length.html',0,'std::bad_array_length'],['http://en.cppreference.com/w/cpp/memory/new/bad_array_length.html',0,'std::bad_array_length::bad_array_length()']]], - ['bad_5farray_5fnew_5flength_11',['bad_array_new_length',['http://en.cppreference.com/w/cpp/memory/new/bad_array_new_length.html',0,'std::bad_array_new_length'],['http://en.cppreference.com/w/cpp/memory/new/bad_array_new_length/bad_array_new_length.html',0,'std::bad_array_new_length::bad_array_new_length()']]], - ['bad_5fcast_12',['bad_cast',['http://en.cppreference.com/w/cpp/types/bad_cast.html',0,'std::bad_cast'],['http://en.cppreference.com/w/cpp/types/bad_cast/bad_cast.html',0,'std::bad_cast::bad_cast()']]], - ['bad_5fchar_13',['bad_char',['../dd/d5a/structstrings_1_1boyer__moore_1_1pattern.html#ae5ca7abf15e939eddc80542131de3645',1,'strings::boyer_moore::pattern']]], - ['bad_5fexception_14',['bad_exception',['http://en.cppreference.com/w/cpp/error/bad_exception.html',0,'std']]], - ['bad_5ffunction_5fcall_15',['bad_function_call',['http://en.cppreference.com/w/cpp/utility/functional/bad_function_call.html',0,'std::bad_function_call'],['http://en.cppreference.com/w/cpp/utility/functional/bad_function_call.html',0,'std::bad_function_call::bad_function_call()']]], - ['bad_5foptional_5faccess_16',['bad_optional_access',['http://en.cppreference.com/w/cpp/utility/bad_optional_access.html',0,'std::bad_optional_access'],['http://en.cppreference.com/w/cpp/utility/bad_optional_access.html',0,'std::bad_optional_access::bad_optional_access()']]], - ['bad_5ftypeid_17',['bad_typeid',['http://en.cppreference.com/w/cpp/types/bad_typeid.html',0,'std::bad_typeid'],['http://en.cppreference.com/w/cpp/types/bad_typeid/bad_typeid.html',0,'std::bad_typeid::bad_typeid()']]], - ['bad_5fweak_5fptr_18',['bad_weak_ptr',['http://en.cppreference.com/w/cpp/memory/bad_weak_ptr.html',0,'std::bad_weak_ptr'],['http://en.cppreference.com/w/cpp/memory/bad_weak_ptr/bad_weak_ptr.html',0,'std::bad_weak_ptr::bad_weak_ptr()']]], - ['ban_19',['Ban',['../d3/dd7/md__c_o_d_e___o_f___c_o_n_d_u_c_t.html#autotoc_md13',1,'3. Temporary Ban'],['../d3/dd7/md__c_o_d_e___o_f___c_o_n_d_u_c_t.html#autotoc_md14',1,'4. Permanent Ban']]], - ['base_20',['base',['http://en.cppreference.com/w/cpp/numeric/random/discard_block_engine/base.html',0,'std::ranlux48::base()'],['http://en.cppreference.com/w/cpp/numeric/random/discard_block_engine/base.html',0,'std::discard_block_engine::base()'],['http://en.cppreference.com/w/cpp/numeric/random/independent_bits_engine/base.html',0,'std::independent_bits_engine::base()'],['http://en.cppreference.com/w/cpp/numeric/random/shuffle_order_engine/base.html',0,'std::shuffle_order_engine::base()'],['http://en.cppreference.com/w/cpp/numeric/random/discard_block_engine/base.html',0,'std::ranlux24::base()'],['http://en.cppreference.com/w/cpp/numeric/random/shuffle_order_engine/base.html',0,'std::knuth_b::base()']]], - ['base64_5fencoding_21',['base64_encoding',['../d9/dc9/namespacebase64__encoding.html',1,'']]], - ['basic_5ffilebuf_22',['basic_filebuf',['http://en.cppreference.com/w/cpp/io/basic_filebuf.html',0,'std::basic_filebuf'],['http://en.cppreference.com/w/cpp/io/basic_filebuf/basic_filebuf.html',0,'std::basic_filebuf::basic_filebuf()']]], - ['basic_5ffstream_23',['basic_fstream',['http://en.cppreference.com/w/cpp/io/basic_fstream.html',0,'std::basic_fstream< Char >'],['http://en.cppreference.com/w/cpp/io/basic_fstream/basic_fstream.html',0,'std::basic_fstream::basic_fstream()']]], - ['basic_5ffstream_3c_20char_20_3e_24',['basic_fstream< char >',['http://en.cppreference.com/w/cpp/io/basic_fstream.html',0,'std']]], - ['basic_5ffstream_3c_20wchar_5ft_20_3e_25',['basic_fstream< wchar_t >',['http://en.cppreference.com/w/cpp/io/basic_fstream.html',0,'std']]], - ['basic_5fifstream_26',['basic_ifstream',['http://en.cppreference.com/w/cpp/io/basic_ifstream.html',0,'std::basic_ifstream< Char >'],['http://en.cppreference.com/w/cpp/io/basic_ifstream/basic_ifstream.html',0,'std::basic_ifstream::basic_ifstream()']]], - ['basic_5fifstream_3c_20char_20_3e_27',['basic_ifstream< char >',['http://en.cppreference.com/w/cpp/io/basic_ifstream.html',0,'std']]], - ['basic_5fifstream_3c_20wchar_5ft_20_3e_28',['basic_ifstream< wchar_t >',['http://en.cppreference.com/w/cpp/io/basic_ifstream.html',0,'std']]], - ['basic_5fios_29',['basic_ios',['http://en.cppreference.com/w/cpp/io/basic_ios.html',0,'std::basic_ios< Char >'],['http://en.cppreference.com/w/cpp/io/basic_ios/basic_ios.html',0,'std::basic_ios::basic_ios()']]], - ['basic_5fios_3c_20char_20_3e_30',['basic_ios< char >',['http://en.cppreference.com/w/cpp/io/basic_ios.html',0,'std']]], - ['basic_5fios_3c_20wchar_5ft_20_3e_31',['basic_ios< wchar_t >',['http://en.cppreference.com/w/cpp/io/basic_ios.html',0,'std']]], - ['basic_5fiostream_32',['basic_iostream',['http://en.cppreference.com/w/cpp/io/basic_iostream.html',0,'std::basic_iostream< Char >'],['http://en.cppreference.com/w/cpp/io/basic_iostream/basic_iostream.html',0,'std::basic_iostream::basic_iostream()']]], - ['basic_5fiostream_3c_20char_20_3e_33',['basic_iostream< char >',['http://en.cppreference.com/w/cpp/io/basic_iostream.html',0,'std']]], - ['basic_5fiostream_3c_20wchar_5ft_20_3e_34',['basic_iostream< wchar_t >',['http://en.cppreference.com/w/cpp/io/basic_iostream.html',0,'std']]], - ['basic_5fistream_35',['basic_istream',['http://en.cppreference.com/w/cpp/io/basic_istream.html',0,'std::basic_istream< Char >'],['http://en.cppreference.com/w/cpp/io/basic_istream/basic_istream.html',0,'std::basic_istream::basic_istream()']]], - ['basic_5fistream_3c_20char_20_3e_36',['basic_istream< char >',['http://en.cppreference.com/w/cpp/io/basic_istream.html',0,'std']]], - ['basic_5fistream_3c_20wchar_5ft_20_3e_37',['basic_istream< wchar_t >',['http://en.cppreference.com/w/cpp/io/basic_istream.html',0,'std']]], - ['basic_5fistringstream_38',['basic_istringstream',['http://en.cppreference.com/w/cpp/io/basic_istringstream.html',0,'std::basic_istringstream< Char >'],['http://en.cppreference.com/w/cpp/io/basic_istringstream/basic_istringstream.html',0,'std::basic_istringstream::basic_istringstream()']]], - ['basic_5fistringstream_3c_20char_20_3e_39',['basic_istringstream< char >',['http://en.cppreference.com/w/cpp/io/basic_istringstream.html',0,'std']]], - ['basic_5fistringstream_3c_20wchar_5ft_20_3e_40',['basic_istringstream< wchar_t >',['http://en.cppreference.com/w/cpp/io/basic_istringstream.html',0,'std']]], - ['basic_5fofstream_41',['basic_ofstream',['http://en.cppreference.com/w/cpp/io/basic_ofstream.html',0,'std::basic_ofstream< Char >'],['http://en.cppreference.com/w/cpp/io/basic_ofstream/basic_ofstream.html',0,'std::basic_ofstream::basic_ofstream()']]], - ['basic_5fofstream_3c_20char_20_3e_42',['basic_ofstream< char >',['http://en.cppreference.com/w/cpp/io/basic_ofstream.html',0,'std']]], - ['basic_5fofstream_3c_20wchar_5ft_20_3e_43',['basic_ofstream< wchar_t >',['http://en.cppreference.com/w/cpp/io/basic_ofstream.html',0,'std']]], - ['basic_5fostream_44',['basic_ostream',['http://en.cppreference.com/w/cpp/io/basic_ostream.html',0,'std::basic_ostream< Char >'],['http://en.cppreference.com/w/cpp/io/basic_ostream/basic_ostream.html',0,'std::basic_ostream::basic_ostream()']]], - ['basic_5fostream_3c_20char_20_3e_45',['basic_ostream< char >',['http://en.cppreference.com/w/cpp/io/basic_ostream.html',0,'std']]], - ['basic_5fostream_3c_20wchar_5ft_20_3e_46',['basic_ostream< wchar_t >',['http://en.cppreference.com/w/cpp/io/basic_ostream.html',0,'std']]], - ['basic_5fostringstream_47',['basic_ostringstream',['http://en.cppreference.com/w/cpp/io/basic_ostringstream.html',0,'std::basic_ostringstream< Char >'],['http://en.cppreference.com/w/cpp/io/basic_ostringstream/basic_ostringstream.html',0,'std::basic_ostringstream::basic_ostringstream()']]], - ['basic_5fostringstream_3c_20char_20_3e_48',['basic_ostringstream< char >',['http://en.cppreference.com/w/cpp/io/basic_ostringstream.html',0,'std']]], - ['basic_5fostringstream_3c_20wchar_5ft_20_3e_49',['basic_ostringstream< wchar_t >',['http://en.cppreference.com/w/cpp/io/basic_ostringstream.html',0,'std']]], - ['basic_5fregex_50',['basic_regex',['http://en.cppreference.com/w/cpp/regex/basic_regex.html',0,'std::basic_regex'],['http://en.cppreference.com/w/cpp/regex/basic_regex/basic_regex.html',0,'std::basic_regex::basic_regex()']]], - ['basic_5fstreambuf_51',['basic_streambuf',['http://en.cppreference.com/w/cpp/io/basic_streambuf.html',0,'std::basic_streambuf'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/basic_streambuf.html',0,'std::basic_streambuf::basic_streambuf()']]], - ['basic_5fstring_52',['basic_string',['http://en.cppreference.com/w/cpp/string/basic_string.html',0,'std::basic_string< Char >'],['http://en.cppreference.com/w/cpp/string/basic_string/basic_string.html',0,'std::basic_string::basic_string()']]], - ['basic_5fstring_3c_20char_20_3e_53',['basic_string< char >',['http://en.cppreference.com/w/cpp/string/basic_string.html',0,'std']]], - ['basic_5fstring_3c_20char16_5ft_20_3e_54',['basic_string< char16_t >',['http://en.cppreference.com/w/cpp/string/basic_string.html',0,'std']]], - ['basic_5fstring_3c_20char32_5ft_20_3e_55',['basic_string< char32_t >',['http://en.cppreference.com/w/cpp/string/basic_string.html',0,'std']]], - ['basic_5fstring_3c_20char8_5ft_20_3e_56',['basic_string< char8_t >',['http://en.cppreference.com/w/cpp/string/basic_string.html',0,'std']]], - ['basic_5fstring_3c_20wchar_5ft_20_3e_57',['basic_string< wchar_t >',['http://en.cppreference.com/w/cpp/string/basic_string.html',0,'std']]], - ['basic_5fstringbuf_58',['basic_stringbuf',['http://en.cppreference.com/w/cpp/io/basic_stringbuf.html',0,'std::basic_stringbuf'],['http://en.cppreference.com/w/cpp/io/basic_stringbuf/basic_stringbuf.html',0,'std::basic_stringbuf::basic_stringbuf()']]], - ['basic_5fstringstream_59',['basic_stringstream',['http://en.cppreference.com/w/cpp/io/basic_stringstream.html',0,'std::basic_stringstream< Char >'],['http://en.cppreference.com/w/cpp/io/basic_stringstream/basic_stringstream.html',0,'std::basic_stringstream::basic_stringstream()']]], - ['basic_5fstringstream_3c_20char_20_3e_60',['basic_stringstream< char >',['http://en.cppreference.com/w/cpp/io/basic_stringstream.html',0,'std']]], - ['basic_5fstringstream_3c_20wchar_5ft_20_3e_61',['basic_stringstream< wchar_t >',['http://en.cppreference.com/w/cpp/io/basic_stringstream.html',0,'std']]], - ['batch_5fpredict_62',['batch_predict',['../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#a88bf9023ab3d4cdb61cf707c7cdfc86b',1,'machine_learning::neural_network::NeuralNetwork']]], - ['bayes_5fagivenb_63',['bayes_AgivenB',['../d5/d67/bayes__theorem_8cpp.html#a655bfe51252468d232dc639a340656ba',1,'bayes_theorem.cpp']]], - ['bayes_5fbgivena_64',['bayes_BgivenA',['../d5/d67/bayes__theorem_8cpp.html#abb4f22dc05887c2259fdfc55c687598f',1,'bayes_theorem.cpp']]], - ['bayes_5ftheorem_2ecpp_65',['bayes_theorem.cpp',['../d5/d67/bayes__theorem_8cpp.html',1,'']]], - ['before_66',['before',['http://en.cppreference.com/w/cpp/types/type_info/before.html',0,'std::type_info']]], - ['before_20contributing_67',['Before contributing',['../d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md22',1,'']]], - ['before_5fbegin_68',['before_begin',['http://en.cppreference.com/w/cpp/container/forward_list/before_begin.html',0,'std::forward_list']]], - ['begin_69',['begin',['http://en.cppreference.com/w/cpp/container/dynarray/begin.html',0,'std::dynarray::begin()'],['http://en.cppreference.com/w/cpp/container/vector/begin.html',0,'std::vector::begin()'],['http://en.cppreference.com/w/cpp/regex/match_results/begin.html',0,'std::match_results::begin()'],['http://en.cppreference.com/w/cpp/container/multiset/begin.html',0,'std::multiset::begin()'],['http://en.cppreference.com/w/cpp/string/basic_string/begin.html',0,'std::string::begin()'],['http://en.cppreference.com/w/cpp/container/set/begin.html',0,'std::set::begin()'],['http://en.cppreference.com/w/cpp/container/unordered_map/begin.html',0,'std::unordered_map::begin()'],['http://en.cppreference.com/w/cpp/utility/initializer_list/begin.html',0,'std::initializer_list::begin()'],['http://en.cppreference.com/w/cpp/regex/match_results/begin.html',0,'std::wsmatch::begin()'],['http://en.cppreference.com/w/cpp/regex/match_results/begin.html',0,'std::smatch::begin()'],['http://en.cppreference.com/w/cpp/container/unordered_multimap/begin.html',0,'std::unordered_multimap::begin()'],['http://en.cppreference.com/w/cpp/container/forward_list/begin.html',0,'std::forward_list::begin()'],['http://en.cppreference.com/w/cpp/regex/match_results/begin.html',0,'std::wcmatch::begin()'],['http://en.cppreference.com/w/cpp/container/deque/begin.html',0,'std::deque::begin()'],['http://en.cppreference.com/w/cpp/string/basic_string/begin.html',0,'std::basic_string::begin()'],['http://en.cppreference.com/w/cpp/string/basic_string/begin.html',0,'std::wstring::begin()'],['http://en.cppreference.com/w/cpp/container/unordered_multiset/begin.html',0,'std::unordered_multiset::begin()'],['http://en.cppreference.com/w/cpp/string/basic_string/begin.html',0,'std::u16string::begin()'],['http://en.cppreference.com/w/cpp/string/basic_string/begin.html',0,'std::u32string::begin()'],['http://en.cppreference.com/w/cpp/container/list/begin.html',0,'std::list::begin()'],['http://en.cppreference.com/w/cpp/container/map/begin.html',0,'std::map::begin()'],['http://en.cppreference.com/w/cpp/regex/match_results/begin.html',0,'std::cmatch::begin()'],['http://en.cppreference.com/w/cpp/container/unordered_set/begin.html',0,'std::unordered_set::begin()'],['http://en.cppreference.com/w/cpp/container/multimap/begin.html',0,'std::multimap::begin()'],['http://en.cppreference.com/w/cpp/container/array/begin.html',0,'std::array::begin()'],['http://en.cppreference.com/w/cpp/iterator/begin.html',0,'std::begin()']]], - ['begin_28int_29_70',['begin(int)',['http://en.cppreference.com/w/cpp/container/unordered_map/begin2.html',0,'std::unordered_map::begin(int)()'],['http://en.cppreference.com/w/cpp/container/unordered_multimap/begin2.html',0,'std::unordered_multimap::begin(int)()'],['http://en.cppreference.com/w/cpp/container/unordered_multiset/begin2.html',0,'std::unordered_multiset::begin(int)()'],['http://en.cppreference.com/w/cpp/container/unordered_set/begin2.html',0,'std::unordered_set::begin(int)()']]], - ['bernoulli_5fdistribution_71',['bernoulli_distribution',['http://en.cppreference.com/w/cpp/numeric/random/bernoulli_distribution.html',0,'std::bernoulli_distribution'],['http://en.cppreference.com/w/cpp/numeric/random/bernoulli_distribution/bernoulli_distribution.html',0,'std::bernoulli_distribution::bernoulli_distribution()']]], - ['best_20case_72',['Best Case',['../d8/d13/bubble__sort_8cpp.html#autotoc_md112',1,'']]], - ['best_20case_20worst_20case_20average_20case_73',['Bubble Sort Algorithm Analysis (Best Case - Worst Case - Average Case)',['../d8/d13/bubble__sort_8cpp.html#autotoc_md111',1,'']]], - ['beta_74',['beta',['http://en.cppreference.com/w/cpp/numeric/random/gamma_distribution/params.html',0,'std::gamma_distribution']]], - ['bfs_75',['bfs',['../d8/d69/classgraph_1_1_h_k_graph.html#a7491add14d9fc04f679114ca6d6f0f93',1,'graph::HKGraph']]], - ['bidijkstra_76',['Bidijkstra',['../d7/d07/bidirectional__dijkstra_8cpp.html#a1b2df3d52a403ad46523ab90d3a723c1',1,'graph::bidirectional_dijkstra']]], - ['bidirectional_5fdijkstra_77',['bidirectional_dijkstra',['../d4/d13/namespacebidirectional__dijkstra.html',1,'']]], - ['bidirectional_5fdijkstra_2ecpp_78',['bidirectional_dijkstra.cpp',['../d7/d07/bidirectional__dijkstra_8cpp.html',1,'']]], - ['bidirectional_5fiterator_5ftag_79',['bidirectional_iterator_tag',['http://en.cppreference.com/w/cpp/iterator/iterator_tags.html',0,'std']]], - ['binary_5faddition_2ecpp_80',['binary_addition.cpp',['../d9/d1f/binary__addition_8cpp.html',1,'']]], - ['binary_5fexponent_2ecpp_81',['binary_exponent.cpp',['../de/dcf/binary__exponent_8cpp.html',1,'']]], - ['binary_5ffunction_82',['binary_function',['http://en.cppreference.com/w/cpp/utility/functional/binary_function.html',0,'std']]], - ['binary_5finsertion_5fsort_2ecpp_83',['binary_insertion_sort.cpp',['../d8/dcc/binary__insertion__sort_8cpp.html',1,'']]], - ['binary_5fnegate_84',['binary_negate',['http://en.cppreference.com/w/cpp/utility/functional/binary_negate.html',0,'std::binary_negate'],['http://en.cppreference.com/w/cpp/utility/functional/binary_negate.html',0,'std::binary_negate::binary_negate()']]], - ['binary_5fs_85',['binary_s',['../d8/d8a/exponential__search_8cpp.html#ab06cedad209456eae95d37b7cd66acae',1,'exponential_search.cpp']]], - ['binary_5fsearch_86',['binary_search',['http://en.cppreference.com/w/cpp/algorithm/binary_search.html',0,'std::binary_search()'],['../d5/d91/namespacesorting.html#a034d8b276518a902962e87d3158b64fd',1,'sorting::binary_search()']]], - ['binary_5fsearch_5ftree_87',['binary_search_tree',['../d9/dde/classbinary__search__tree.html',1,'binary_search_tree< T >'],['../d9/dde/classbinary__search__tree.html#aa67321ed575ca313cd71d833d91234a6',1,'binary_search_tree::binary_search_tree()']]], - ['binary_5fsearch_5ftree_2ecpp_88',['binary_search_tree.cpp',['../d3/d26/binary__search__tree_8cpp.html',1,'']]], - ['binary_5fsearch_5ftree2_2ecpp_89',['binary_search_tree2.cpp',['../df/d42/binary__search__tree2_8cpp.html',1,'']]], - ['binaryaddition_90',['BinaryAddition',['../de/df6/classgreedy__algorithms_1_1_binary_addition.html',1,'greedy_algorithms']]], - ['binaryheap_2ecpp_91',['binaryheap.cpp',['../de/dc3/binaryheap_8cpp.html',1,'']]], - ['binarysearch_92',['BinarySearch',['../d5/dab/structdata__structures_1_1list__array_1_1list.html#a412bdb3910181f3c384d86aee7e217cf',1,'data_structures::list_array::list']]], - ['binarytree_93',['BinaryTree',['../de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree.html',1,'operations_on_datastructures::reverse_binary_tree::BinaryTree'],['../d9/d12/classothers_1_1iterative__tree__traversals_1_1_binary_tree.html',1,'others::iterative_tree_traversals::BinaryTree'],['../de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree.html#abcb1cc8da7b6759dc92cbe0254697c56',1,'operations_on_datastructures::reverse_binary_tree::BinaryTree::BinaryTree()'],['../de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree.html#abb44646a26a446efae7704c80efc011b',1,'operations_on_datastructures::reverse_binary_tree::BinaryTree::BinaryTree(int64_t data)']]], - ['bind_94',['bind',['http://en.cppreference.com/w/cpp/utility/functional/bind.html',0,'std']]], - ['binexpo_95',['binExpo',['../de/dcf/binary__exponent_8cpp.html#aeb48dce0725e63d19147944f41843c73',1,'binExpo(): binary_exponent.cpp'],['../d8/d53/modular__inverse__fermat__little__theorem_8cpp.html#a1c62a87e79f29b98d8fe5b12eacdd928',1,'math::modular_inverse_fermat::binExpo()']]], - ['binexpo_5falt_96',['binExpo_alt',['../de/dcf/binary__exponent_8cpp.html#a31dbf5f7ceb9c9eec831ef9f7782291f',1,'binary_exponent.cpp']]], - ['binomial_97',['binomial',['../d7/d7a/namespacebinomial.html',1,'']]], - ['binomial_5fcalculate_2ecpp_98',['binomial_calculate.cpp',['../d8/db1/binomial__calculate_8cpp.html',1,'']]], - ['binomial_5fdist_2ecpp_99',['binomial_dist.cpp',['../d6/db0/binomial__dist_8cpp.html',1,'']]], - ['binomial_5fdistribution_100',['binomial_distribution',['http://en.cppreference.com/w/cpp/numeric/random/binomial_distribution.html',0,'std::binomial_distribution'],['http://en.cppreference.com/w/cpp/numeric/random/binomial_distribution/binomial_distribution.html',0,'std::binomial_distribution::binomial_distribution()']]], - ['binomial_5fexpected_101',['binomial_expected',['../d6/db0/binomial__dist_8cpp.html#a4416a7bc7fa87201883c54cdc4c82813',1,'binomial_dist.cpp']]], - ['binomial_5frange_5fsuccesses_102',['binomial_range_successes',['../d6/db0/binomial__dist_8cpp.html#a76ed6ce71415fb400b65f0656cef3d25',1,'binomial_dist.cpp']]], - ['binomial_5fstandard_5fdeviation_103',['binomial_standard_deviation',['../d6/db0/binomial__dist_8cpp.html#af09e51f513cee647d41192ab0a872cdc',1,'binomial_dist.cpp']]], - ['binomial_5fvariance_104',['binomial_variance',['../d6/db0/binomial__dist_8cpp.html#acd4dd4558031e4c5d045c801f73d8861',1,'binomial_dist.cpp']]], - ['binomial_5fx_5fsuccesses_105',['binomial_x_successes',['../d6/db0/binomial__dist_8cpp.html#a19ae0a6a2bd200fd1eb0e31b2bf4cc76',1,'binomial_dist.cpp']]], - ['binomialcoeffsum_106',['binomialCoeffSum',['../dd/d47/namespacemath.html#ae1ca505751f5a6d3977b86372cfe75ea',1,'math']]], - ['bipartite_20graph_107',['Bipartite graph',['../d1/d9a/hopcroft__karp_8cpp.html#autotoc_md77',1,'']]], - ['bisection_5fmethod_2ecpp_108',['bisection_method.cpp',['../d7/d6a/bisection__method_8cpp.html',1,'']]], - ['bit_109',['bit',['../de/d0d/classrange__queries_1_1fenwick__tree.html#af7b7a8c1c5724ed8683d7e28bef526e6',1,'range_queries::fenwick_tree']]], - ['bit_20manipulation_110',['Bit Manipulation',['../d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md46',1,'']]], - ['bit_5fand_111',['bit_and',['http://en.cppreference.com/w/cpp/utility/functional/bit_and.html',0,'std']]], - ['bit_5fmanipulation_112',['bit_manipulation',['../d7/d81/namespacebit__manipulation.html',1,'']]], - ['bit_5fnot_113',['bit_not',['http://en.cppreference.com/w/cpp/utility/functional/bit_not.html',0,'std']]], - ['bit_5for_114',['bit_or',['http://en.cppreference.com/w/cpp/utility/functional/bit_or.html',0,'std']]], - ['bitcount_115',['bitCount',['../d4/d48/hamming__distance_8cpp.html#a65d845df3fecff7087a2126c7b72030b',1,'bit_manipulation::hamming_distance']]], - ['bitset_116',['Bitset',['../d9/dae/classdata__structures_1_1_bitset.html',1,'data_structures::Bitset'],['../d9/dae/classdata__structures_1_1_bitset.html#a15b05aabb28f9b1896b0a61e8ef60130',1,'data_structures::Bitset::Bitset()']]], - ['bitset_117',['bitset',['http://en.cppreference.com/w/cpp/utility/bitset.html',0,'std::bitset< Bits >'],['http://en.cppreference.com/w/cpp/utility/bitset/bitset.html',0,'std::bitset::bitset()']]], - ['bitset_3c_20maxn_20_3e_118',['bitset< MAXN >',['http://en.cppreference.com/w/cpp/utility/bitset.html',0,'std']]], - ['black_119',['BLACK',['../da/d4b/depth__first__search__with__stack_8cpp.html#a7f1cd94cf4da32933e8551cb3577e18b',1,'depth_first_search_with_stack.cpp']]], - ['blocksize_120',['blockSize',['../d9/dae/classdata__structures_1_1_bitset.html#ad7f7d479079a95bcc9175465395fa23f',1,'data_structures::Bitset']]], - ['bloom_5ffilter_2ecpp_121',['bloom_filter.cpp',['../d9/dab/bloom__filter_8cpp.html',1,'']]], - ['bloomfilter_122',['BloomFilter',['../dc/dd4/classdata__structures_1_1_bloom_filter.html',1,'data_structures::BloomFilter< T >'],['../dc/dd4/classdata__structures_1_1_bloom_filter.html#a6910d29951b57ab56e7a3db405aa1f1a',1,'data_structures::BloomFilter::BloomFilter()']]], - ['bogo_5fsort_2ecpp_123',['bogo_sort.cpp',['../d5/ddb/bogo__sort_8cpp.html',1,'']]], - ['boolalpha_124',['boolalpha',['http://en.cppreference.com/w/cpp/io/manip/boolalpha.html',0,'std']]], - ['boruvkas_125',['boruvkas',['../d4/d6c/boruvkas__minimum__spanning__tree_8cpp.html#a94c615fc66b72e0adbcbcb99aabb1a59',1,'greedy_algorithms::boruvkas_minimum_spanning_tree']]], - ['boruvkas_5fminimum_5fspanning_5ftree_126',['boruvkas_minimum_spanning_tree',['../d8/d64/namespaceboruvkas__minimum__spanning__tree.html',1,'']]], - ['boruvkas_5fminimum_5fspanning_5ftree_2ecpp_127',['boruvkas_minimum_spanning_tree.cpp',['../d4/d6c/boruvkas__minimum__spanning__tree_8cpp.html',1,'']]], - ['bottom_128',['bottom',['../d2/dc8/classdata__structures_1_1_stack.html#a2ac469fcc2229d273450e429139d90e6',1,'data_structures::Stack']]], - ['boyer_5fmoore_2ecpp_129',['boyer_moore.cpp',['../d3/db2/boyer__moore_8cpp.html',1,'']]], - ['breadth_5ffirst_5fsearch_130',['breadth_first_search',['../dc/d61/classgraph_1_1_graph.html#a3755ec9e6a842238c7f4aac10b661981',1,'graph::Graph']]], - ['breadth_5ffirst_5fsearch_2ecpp_131',['breadth_first_search.cpp',['../df/d82/breadth__first__search_8cpp.html',1,'']]], - ['brent_5fmethod_5fextrema_2ecpp_132',['brent_method_extrema.cpp',['../db/d01/brent__method__extrema_8cpp.html',1,'']]], - ['brute_5fforce_133',['brute_force',['../d9/d03/namespacestring__search.html#aeb2cd81064717aedd62bfb096b1a73d8',1,'string_search']]], - ['brute_5fforce_5fstring_5fsearching_2ecpp_134',['brute_force_string_searching.cpp',['../d3/d7d/brute__force__string__searching_8cpp.html',1,'']]], - ['bsearch_135',['bsearch',['http://en.cppreference.com/w/cpp/algorithm/bsearch.html',0,'std']]], - ['bst_5fnode_136',['bst_node',['../dd/db6/structbinary__search__tree_1_1bst__node.html',1,'binary_search_tree< T >::bst_node'],['../dd/db6/structbinary__search__tree_1_1bst__node.html#a51dd9bd6dd32bce3b74dd64557306778',1,'binary_search_tree::bst_node::bst_node()']]], - ['bt_137',['BT',['../dd/de1/classothers_1_1recursive__tree__traversals_1_1_b_t.html',1,'others::recursive_tree_traversals']]], - ['btowc_138',['btowc',['http://en.cppreference.com/w/cpp/string/multibyte/btowc.html',0,'std']]], - ['btree_139',['Btree',['../d9/d90/struct_btree.html',1,'']]], - ['bubble_20sort_20algorithm_20analysis_20best_20case_20worst_20case_20average_20case_140',['Bubble Sort Algorithm Analysis (Best Case - Worst Case - Average Case)',['../d8/d13/bubble__sort_8cpp.html#autotoc_md111',1,'']]], - ['bubble_5fsort_141',['bubble_sort',['../d0/dd5/namespacebubble__sort.html',1,'bubble_sort'],['../d8/d13/bubble__sort_8cpp.html#af3b12930a83915712461d53fe9659686',1,'sorting::bubble_sort::bubble_sort()']]], - ['bubble_5fsort_2ecpp_142',['bubble_sort.cpp',['../d8/d13/bubble__sort_8cpp.html',1,'']]], - ['bucket_143',['bucket',['http://en.cppreference.com/w/cpp/container/unordered_map/bucket.html',0,'std::unordered_map::bucket()'],['http://en.cppreference.com/w/cpp/container/unordered_multimap/bucket.html',0,'std::unordered_multimap::bucket()'],['http://en.cppreference.com/w/cpp/container/unordered_multiset/bucket.html',0,'std::unordered_multiset::bucket()'],['http://en.cppreference.com/w/cpp/container/unordered_set/bucket.html',0,'std::unordered_set::bucket()']]], - ['bucket_5fcount_144',['bucket_count',['http://en.cppreference.com/w/cpp/container/unordered_map/bucket_count.html',0,'std::unordered_map::bucket_count()'],['http://en.cppreference.com/w/cpp/container/unordered_multimap/bucket_count.html',0,'std::unordered_multimap::bucket_count()'],['http://en.cppreference.com/w/cpp/container/unordered_multiset/bucket_count.html',0,'std::unordered_multiset::bucket_count()'],['http://en.cppreference.com/w/cpp/container/unordered_set/bucket_count.html',0,'std::unordered_set::bucket_count()']]], - ['bucket_5fsize_145',['bucket_size',['http://en.cppreference.com/w/cpp/container/unordered_map/bucket_size.html',0,'std::unordered_map::bucket_size()'],['http://en.cppreference.com/w/cpp/container/unordered_multimap/bucket_size.html',0,'std::unordered_multimap::bucket_size()'],['http://en.cppreference.com/w/cpp/container/unordered_multiset/bucket_size.html',0,'std::unordered_multiset::bucket_size()'],['http://en.cppreference.com/w/cpp/container/unordered_set/bucket_size.html',0,'std::unordered_set::bucket_size()']]], - ['build_146',['build',['../d1/d9e/prefix__sum__array_8cpp.html#ab36151479ad37d53ef9fcb60a274b1d9',1,'range_queries::prefix_sum_array']]], - ['building_20locally_147',['Building Locally',['../d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md37',1,'']]], - ['buzz_5fnumber_2ecpp_148',['buzz_number.cpp',['../d1/d76/buzz__number_8cpp.html',1,'']]] + ['babylonian_5fmethod_0',['babylonian_method',['../d1/de0/namespacenumerical__methods.html#a28e67885f8606564cc8335f483f63309',1,'numerical_methods']]], + ['babylonian_5fmethod_2ecpp_1',['babylonian_method.cpp',['../dc/d9c/babylonian__method_8cpp.html',1,'']]], + ['backtracking_2',['Backtracking',['../d5/d88/md__d_i_r_e_c_t_o_r_y.html',1,'']]], + ['backtracking_3',['backtracking',['../db/dc0/namespacebacktracking.html',1,'']]], + ['bad_5fchar_4',['bad_char',['../dd/d5a/structstrings_1_1boyer__moore_1_1pattern.html#ae5ca7abf15e939eddc80542131de3645',1,'strings::boyer_moore::pattern']]], + ['ban_5',['Ban',['../d3/dd7/md__c_o_d_e___o_f___c_o_n_d_u_c_t.html#autotoc_md13',1,'3. Temporary Ban'],['../d3/dd7/md__c_o_d_e___o_f___c_o_n_d_u_c_t.html#autotoc_md14',1,'4. Permanent Ban']]], + ['base64_5fencoding_6',['base64_encoding',['../d9/dc9/namespacebase64__encoding.html',1,'']]], + ['batch_5fpredict_7',['batch_predict',['../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#a88bf9023ab3d4cdb61cf707c7cdfc86b',1,'machine_learning::neural_network::NeuralNetwork']]], + ['bayes_5fagivenb_8',['bayes_AgivenB',['../d5/d67/bayes__theorem_8cpp.html#a655bfe51252468d232dc639a340656ba',1,'bayes_theorem.cpp']]], + ['bayes_5fbgivena_9',['bayes_BgivenA',['../d5/d67/bayes__theorem_8cpp.html#abb4f22dc05887c2259fdfc55c687598f',1,'bayes_theorem.cpp']]], + ['bayes_5ftheorem_2ecpp_10',['bayes_theorem.cpp',['../d5/d67/bayes__theorem_8cpp.html',1,'']]], + ['before_20contributing_11',['Before contributing',['../d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md22',1,'']]], + ['best_20case_12',['Best Case',['../d8/d13/bubble__sort_8cpp.html#autotoc_md112',1,'']]], + ['best_20case_20worst_20case_20average_20case_13',['Bubble Sort Algorithm Analysis (Best Case - Worst Case - Average Case)',['../d8/d13/bubble__sort_8cpp.html#autotoc_md111',1,'']]], + ['bfs_14',['bfs',['../d8/d69/classgraph_1_1_h_k_graph.html#a7491add14d9fc04f679114ca6d6f0f93',1,'graph::HKGraph']]], + ['bidijkstra_15',['Bidijkstra',['../d7/d07/bidirectional__dijkstra_8cpp.html#a1b2df3d52a403ad46523ab90d3a723c1',1,'graph::bidirectional_dijkstra']]], + ['bidirectional_5fdijkstra_16',['bidirectional_dijkstra',['../d4/d13/namespacebidirectional__dijkstra.html',1,'']]], + ['bidirectional_5fdijkstra_2ecpp_17',['bidirectional_dijkstra.cpp',['../d7/d07/bidirectional__dijkstra_8cpp.html',1,'']]], + ['binary_5faddition_2ecpp_18',['binary_addition.cpp',['../d9/d1f/binary__addition_8cpp.html',1,'']]], + ['binary_5fexponent_2ecpp_19',['binary_exponent.cpp',['../de/dcf/binary__exponent_8cpp.html',1,'']]], + ['binary_5finsertion_5fsort_2ecpp_20',['binary_insertion_sort.cpp',['../d8/dcc/binary__insertion__sort_8cpp.html',1,'']]], + ['binary_5fs_21',['binary_s',['../d8/d8a/exponential__search_8cpp.html#ab06cedad209456eae95d37b7cd66acae',1,'exponential_search.cpp']]], + ['binary_5fsearch_22',['binary_search',['../d5/d91/namespacesorting.html#a034d8b276518a902962e87d3158b64fd',1,'sorting']]], + ['binary_5fsearch_5ftree_23',['binary_search_tree',['../d9/dde/classbinary__search__tree.html',1,'binary_search_tree< T >'],['../d9/dde/classbinary__search__tree.html#aa67321ed575ca313cd71d833d91234a6',1,'binary_search_tree::binary_search_tree()']]], + ['binary_5fsearch_5ftree_2ecpp_24',['binary_search_tree.cpp',['../d3/d26/binary__search__tree_8cpp.html',1,'']]], + ['binary_5fsearch_5ftree2_2ecpp_25',['binary_search_tree2.cpp',['../df/d42/binary__search__tree2_8cpp.html',1,'']]], + ['binaryaddition_26',['BinaryAddition',['../de/df6/classgreedy__algorithms_1_1_binary_addition.html',1,'greedy_algorithms']]], + ['binaryheap_2ecpp_27',['binaryheap.cpp',['../de/dc3/binaryheap_8cpp.html',1,'']]], + ['binarysearch_28',['BinarySearch',['../d5/dab/structdata__structures_1_1list__array_1_1list.html#a412bdb3910181f3c384d86aee7e217cf',1,'data_structures::list_array::list']]], + ['binarytree_29',['BinaryTree',['../de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree.html',1,'operations_on_datastructures::reverse_binary_tree::BinaryTree'],['../d9/d12/classothers_1_1iterative__tree__traversals_1_1_binary_tree.html',1,'others::iterative_tree_traversals::BinaryTree'],['../de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree.html#abcb1cc8da7b6759dc92cbe0254697c56',1,'operations_on_datastructures::reverse_binary_tree::BinaryTree::BinaryTree()'],['../de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree.html#abb44646a26a446efae7704c80efc011b',1,'operations_on_datastructures::reverse_binary_tree::BinaryTree::BinaryTree(int64_t data)']]], + ['binexpo_30',['binExpo',['../de/dcf/binary__exponent_8cpp.html#aeb48dce0725e63d19147944f41843c73',1,'binExpo(): binary_exponent.cpp'],['../d8/d53/modular__inverse__fermat__little__theorem_8cpp.html#a1c62a87e79f29b98d8fe5b12eacdd928',1,'math::modular_inverse_fermat::binExpo()']]], + ['binexpo_5falt_31',['binExpo_alt',['../de/dcf/binary__exponent_8cpp.html#a31dbf5f7ceb9c9eec831ef9f7782291f',1,'binary_exponent.cpp']]], + ['binomial_32',['binomial',['../d7/d7a/namespacebinomial.html',1,'']]], + ['binomial_5fcalculate_2ecpp_33',['binomial_calculate.cpp',['../d8/db1/binomial__calculate_8cpp.html',1,'']]], + ['binomial_5fdist_2ecpp_34',['binomial_dist.cpp',['../d6/db0/binomial__dist_8cpp.html',1,'']]], + ['binomial_5fexpected_35',['binomial_expected',['../d6/db0/binomial__dist_8cpp.html#a4416a7bc7fa87201883c54cdc4c82813',1,'binomial_dist.cpp']]], + ['binomial_5frange_5fsuccesses_36',['binomial_range_successes',['../d6/db0/binomial__dist_8cpp.html#a76ed6ce71415fb400b65f0656cef3d25',1,'binomial_dist.cpp']]], + ['binomial_5fstandard_5fdeviation_37',['binomial_standard_deviation',['../d6/db0/binomial__dist_8cpp.html#af09e51f513cee647d41192ab0a872cdc',1,'binomial_dist.cpp']]], + ['binomial_5fvariance_38',['binomial_variance',['../d6/db0/binomial__dist_8cpp.html#acd4dd4558031e4c5d045c801f73d8861',1,'binomial_dist.cpp']]], + ['binomial_5fx_5fsuccesses_39',['binomial_x_successes',['../d6/db0/binomial__dist_8cpp.html#a19ae0a6a2bd200fd1eb0e31b2bf4cc76',1,'binomial_dist.cpp']]], + ['binomialcoeffsum_40',['binomialCoeffSum',['../dd/d47/namespacemath.html#ae1ca505751f5a6d3977b86372cfe75ea',1,'math']]], + ['bipartite_20graph_41',['Bipartite graph',['../d1/d9a/hopcroft__karp_8cpp.html#autotoc_md77',1,'']]], + ['bisection_5fmethod_2ecpp_42',['bisection_method.cpp',['../d7/d6a/bisection__method_8cpp.html',1,'']]], + ['bit_43',['bit',['../de/d0d/classrange__queries_1_1fenwick__tree.html#af7b7a8c1c5724ed8683d7e28bef526e6',1,'range_queries::fenwick_tree']]], + ['bit_20manipulation_44',['Bit Manipulation',['../d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md46',1,'']]], + ['bit_5fmanipulation_45',['bit_manipulation',['../d7/d81/namespacebit__manipulation.html',1,'']]], + ['bitcount_46',['bitCount',['../d4/d48/hamming__distance_8cpp.html#a65d845df3fecff7087a2126c7b72030b',1,'bit_manipulation::hamming_distance']]], + ['bitset_47',['Bitset',['../d9/dae/classdata__structures_1_1_bitset.html',1,'data_structures::Bitset'],['../d9/dae/classdata__structures_1_1_bitset.html#a15b05aabb28f9b1896b0a61e8ef60130',1,'data_structures::Bitset::Bitset()']]], + ['black_48',['BLACK',['../da/d4b/depth__first__search__with__stack_8cpp.html#a7f1cd94cf4da32933e8551cb3577e18b',1,'depth_first_search_with_stack.cpp']]], + ['blocksize_49',['blockSize',['../d9/dae/classdata__structures_1_1_bitset.html#ad7f7d479079a95bcc9175465395fa23f',1,'data_structures::Bitset']]], + ['bloom_5ffilter_2ecpp_50',['bloom_filter.cpp',['../d9/dab/bloom__filter_8cpp.html',1,'']]], + ['bloomfilter_51',['BloomFilter',['../dc/dd4/classdata__structures_1_1_bloom_filter.html',1,'data_structures::BloomFilter< T >'],['../dc/dd4/classdata__structures_1_1_bloom_filter.html#a6910d29951b57ab56e7a3db405aa1f1a',1,'data_structures::BloomFilter::BloomFilter()']]], + ['bogo_5fsort_2ecpp_52',['bogo_sort.cpp',['../d5/ddb/bogo__sort_8cpp.html',1,'']]], + ['boruvkas_53',['boruvkas',['../d4/d6c/boruvkas__minimum__spanning__tree_8cpp.html#a94c615fc66b72e0adbcbcb99aabb1a59',1,'greedy_algorithms::boruvkas_minimum_spanning_tree']]], + ['boruvkas_5fminimum_5fspanning_5ftree_54',['boruvkas_minimum_spanning_tree',['../d8/d64/namespaceboruvkas__minimum__spanning__tree.html',1,'']]], + ['boruvkas_5fminimum_5fspanning_5ftree_2ecpp_55',['boruvkas_minimum_spanning_tree.cpp',['../d4/d6c/boruvkas__minimum__spanning__tree_8cpp.html',1,'']]], + ['bottom_56',['bottom',['../d2/dc8/classdata__structures_1_1_stack.html#a2ac469fcc2229d273450e429139d90e6',1,'data_structures::Stack']]], + ['boyer_5fmoore_2ecpp_57',['boyer_moore.cpp',['../d3/db2/boyer__moore_8cpp.html',1,'']]], + ['breadth_5ffirst_5fsearch_58',['breadth_first_search',['../dc/d61/classgraph_1_1_graph.html#a3755ec9e6a842238c7f4aac10b661981',1,'graph::Graph']]], + ['breadth_5ffirst_5fsearch_2ecpp_59',['breadth_first_search.cpp',['../df/d82/breadth__first__search_8cpp.html',1,'']]], + ['brent_5fmethod_5fextrema_2ecpp_60',['brent_method_extrema.cpp',['../db/d01/brent__method__extrema_8cpp.html',1,'']]], + ['brute_5fforce_61',['brute_force',['../d9/d03/namespacestring__search.html#aeb2cd81064717aedd62bfb096b1a73d8',1,'string_search']]], + ['brute_5fforce_5fstring_5fsearching_2ecpp_62',['brute_force_string_searching.cpp',['../d3/d7d/brute__force__string__searching_8cpp.html',1,'']]], + ['bst_5fnode_63',['bst_node',['../dd/db6/structbinary__search__tree_1_1bst__node.html',1,'binary_search_tree< T >::bst_node'],['../dd/db6/structbinary__search__tree_1_1bst__node.html#a51dd9bd6dd32bce3b74dd64557306778',1,'binary_search_tree::bst_node::bst_node()']]], + ['bt_64',['BT',['../dd/de1/classothers_1_1recursive__tree__traversals_1_1_b_t.html',1,'others::recursive_tree_traversals']]], + ['btree_65',['Btree',['../d9/d90/struct_btree.html',1,'']]], + ['bubble_20sort_20algorithm_20analysis_20best_20case_20worst_20case_20average_20case_66',['Bubble Sort Algorithm Analysis (Best Case - Worst Case - Average Case)',['../d8/d13/bubble__sort_8cpp.html#autotoc_md111',1,'']]], + ['bubble_5fsort_67',['bubble_sort',['../d0/dd5/namespacebubble__sort.html',1,'bubble_sort'],['../d8/d13/bubble__sort_8cpp.html#af3b12930a83915712461d53fe9659686',1,'sorting::bubble_sort::bubble_sort()']]], + ['bubble_5fsort_2ecpp_68',['bubble_sort.cpp',['../d8/d13/bubble__sort_8cpp.html',1,'']]], + ['build_69',['build',['../d1/d9e/prefix__sum__array_8cpp.html#ab36151479ad37d53ef9fcb60a274b1d9',1,'range_queries::prefix_sum_array']]], + ['building_20locally_70',['Building Locally',['../d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md37',1,'']]], + ['buzz_5fnumber_2ecpp_71',['buzz_number.cpp',['../d1/d76/buzz__number_8cpp.html',1,'']]] ]; diff --git a/search/all_8.js b/search/all_8.js index 3cccbcdd9..e2c5b0dc9 100644 --- a/search/all_8.js +++ b/search/all_8.js @@ -1,200 +1,132 @@ var searchData= [ ['c_0',['The Algorithms - C++',['../index.html',1,'']]], - ['c16rtomb_1',['c16rtomb',['http://en.cppreference.com/w/cpp/string/multibyte/c16rtomb.html',0,'std']]], - ['c32rtomb_2',['c32rtomb',['http://en.cppreference.com/w/cpp/string/multibyte/c32rtomb.html',0,'std']]], - ['c_5fstr_3',['c_str',['http://en.cppreference.com/w/cpp/string/basic_string/c_str.html',0,'std::string::c_str()'],['http://en.cppreference.com/w/cpp/string/basic_string/c_str.html',0,'std::basic_string::c_str()'],['http://en.cppreference.com/w/cpp/string/basic_string/c_str.html',0,'std::wstring::c_str()'],['http://en.cppreference.com/w/cpp/string/basic_string/c_str.html',0,'std::u16string::c_str()'],['http://en.cppreference.com/w/cpp/string/basic_string/c_str.html',0,'std::u32string::c_str()']]], - ['cache_4',['cache',['../d6/dae/classothers_1_1lru__cache_1_1_l_r_u_cache.html#a3ee3560a6b90e6f50f6e063d690ba8e8',1,'others::lru_cache::LRUCache']]], - ['caesar_5',['caesar',['../dd/d81/namespacecaesar.html',1,'']]], - ['caesar_5fcipher_2ecpp_6',['caesar_cipher.cpp',['../d6/d2c/caesar__cipher_8cpp.html',1,'']]], - ['calculate_7',['calculate',['../d8/db1/binomial__calculate_8cpp.html#aae407a2a13362c4c64fbe509ff325978',1,'math::binomial']]], - ['call_5fonce_8',['call_once',['http://en.cppreference.com/w/cpp/thread/call_once.html',0,'std']]], - ['calloc_9',['calloc',['http://en.cppreference.com/w/cpp/memory/c/calloc.html',0,'std']]], - ['can_5fjump_10',['can_jump',['../d2/d90/namespacegreedy__algorithms.html#a33e3819aa9ffec0e380383c52603b502',1,'greedy_algorithms']]], - ['canimove_11',['CanIMove',['../da/dac/n__queens__all__solution__optimised_8cpp.html#a9e48455584a4faa33e83dd1891efd9b9',1,'backtracking::n_queens_optimized::CanIMove()'],['../d7/d24/nqueen__print__all__solutions_8cpp.html#aea343d8a72a39c9a4c0fbcbc362f2648',1,'backtracking::n_queens_all_solutions::CanIMove()']]], - ['capacity_12',['capacity',['../d2/d05/class_min_heap.html#a88b4aa3e66392a3eabbf2517a9a79a02',1,'MinHeap::capacity'],['http://en.cppreference.com/w/cpp/container/vector/capacity.html',0,'std::vector::capacity()'],['http://en.cppreference.com/w/cpp/string/basic_string/capacity.html',0,'std::string::capacity()'],['http://en.cppreference.com/w/cpp/string/basic_string/capacity.html',0,'std::basic_string::capacity()'],['http://en.cppreference.com/w/cpp/string/basic_string/capacity.html',0,'std::wstring::capacity()'],['http://en.cppreference.com/w/cpp/string/basic_string/capacity.html',0,'std::u16string::capacity()'],['http://en.cppreference.com/w/cpp/string/basic_string/capacity.html',0,'std::u32string::capacity()'],['../df/d8f/classothers_1_1_cache_1_1_l_f_u_cache.html#ac27c9076377cbed2a2acc45a189fed2c',1,'others::Cache::LFUCache::capacity()'],['../d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache.html#af8edfe5a7def5d5b846463041c33136a',1,'others::Cache::LRUCache::capacity()']]], - ['cardinality_20matching_13',['Maximum cardinality matching',['../d1/d9a/hopcroft__karp_8cpp.html#autotoc_md79',1,'']]], - ['case_14',['Case',['../d8/d13/bubble__sort_8cpp.html#autotoc_md114',1,'Average Case'],['../d8/d13/bubble__sort_8cpp.html#autotoc_md112',1,'Best Case'],['../d8/d13/bubble__sort_8cpp.html#autotoc_md111',1,'Bubble Sort Algorithm Analysis (Best Case - Worst Case - Average Case)'],['../d8/d13/bubble__sort_8cpp.html#autotoc_md113',1,'Worst Case']]], - ['case_201_3a_20the_20given_20node_20has_20the_20right_20node_20subtree_15',['Case 1: The given node has the right node/subtree',['../d4/d32/inorder__successor__of__bst_8cpp.html#autotoc_md89',1,'']]], - ['case_202_3a_20the_20given_20node_20does_20not_20have_20a_20right_20node_20subtree_16',['Case 2: The given node does not have a right node/subtree',['../d4/d32/inorder__successor__of__bst_8cpp.html#autotoc_md90',1,'']]], - ['case_20average_20case_17',['Bubble Sort Algorithm Analysis (Best Case - Worst Case - Average Case)',['../d8/d13/bubble__sort_8cpp.html#autotoc_md111',1,'']]], - ['case_20worst_20case_20average_20case_18',['Bubble Sort Algorithm Analysis (Best Case - Worst Case - Average Case)',['../d8/d13/bubble__sort_8cpp.html#autotoc_md111',1,'']]], - ['catalan_5fnumbers_19',['catalan_numbers',['../dc/d1f/classcatalan__numbers.html',1,'']]], - ['catalan_5fnumbers_2ecpp_20',['catalan_numbers.cpp',['../de/dd9/catalan__numbers_8cpp.html',1,'']]], - ['catalog_21',['catalog',['http://en.cppreference.com/w/cpp/locale/messages_base.html',0,'std::messages::catalog'],['http://en.cppreference.com/w/cpp/locale/messages_base.html',0,'std::messages_base::catalog'],['http://en.cppreference.com/w/cpp/locale/messages_base.html',0,'std::messages_byname::catalog']]], - ['category_22',['category',['http://en.cppreference.com/w/cpp/error/error_code/category.html',0,'std::error_code::category()'],['http://en.cppreference.com/w/cpp/error/error_condition/category.html',0,'std::error_condition::category()']]], - ['cauchy_5fdistribution_23',['cauchy_distribution',['http://en.cppreference.com/w/cpp/numeric/random/cauchy_distribution.html',0,'std::cauchy_distribution'],['http://en.cppreference.com/w/cpp/numeric/random/cauchy_distribution/cauchy_distribution.html',0,'std::cauchy_distribution::cauchy_distribution()']]], - ['cbefore_5fbegin_24',['cbefore_begin',['http://en.cppreference.com/w/cpp/container/forward_list/before_begin.html',0,'std::forward_list']]], - ['cbegin_25',['cbegin',['http://en.cppreference.com/w/cpp/container/dynarray/begin.html',0,'std::dynarray::cbegin()'],['http://en.cppreference.com/w/cpp/container/vector/begin.html',0,'std::vector::cbegin()'],['http://en.cppreference.com/w/cpp/regex/match_results/begin.html',0,'std::match_results::cbegin()'],['http://en.cppreference.com/w/cpp/container/multiset/begin.html',0,'std::multiset::cbegin()'],['http://en.cppreference.com/w/cpp/string/basic_string/begin.html',0,'std::string::cbegin()'],['http://en.cppreference.com/w/cpp/container/set/begin.html',0,'std::set::cbegin()'],['http://en.cppreference.com/w/cpp/container/unordered_map/begin.html',0,'std::unordered_map::cbegin()'],['http://en.cppreference.com/w/cpp/regex/match_results/begin.html',0,'std::wsmatch::cbegin()'],['http://en.cppreference.com/w/cpp/regex/match_results/begin.html',0,'std::smatch::cbegin()'],['http://en.cppreference.com/w/cpp/container/unordered_multimap/begin.html',0,'std::unordered_multimap::cbegin()'],['http://en.cppreference.com/w/cpp/container/forward_list/begin.html',0,'std::forward_list::cbegin()'],['http://en.cppreference.com/w/cpp/regex/match_results/begin.html',0,'std::wcmatch::cbegin()'],['http://en.cppreference.com/w/cpp/container/deque/begin.html',0,'std::deque::cbegin()'],['http://en.cppreference.com/w/cpp/string/basic_string/begin.html',0,'std::basic_string::cbegin()'],['http://en.cppreference.com/w/cpp/string/basic_string/begin.html',0,'std::wstring::cbegin()'],['http://en.cppreference.com/w/cpp/container/unordered_multiset/begin.html',0,'std::unordered_multiset::cbegin()'],['http://en.cppreference.com/w/cpp/string/basic_string/begin.html',0,'std::u16string::cbegin()'],['http://en.cppreference.com/w/cpp/string/basic_string/begin.html',0,'std::u32string::cbegin()'],['http://en.cppreference.com/w/cpp/container/list/begin.html',0,'std::list::cbegin()'],['http://en.cppreference.com/w/cpp/container/map/begin.html',0,'std::map::cbegin()'],['http://en.cppreference.com/w/cpp/regex/match_results/begin.html',0,'std::cmatch::cbegin()'],['http://en.cppreference.com/w/cpp/container/unordered_set/begin.html',0,'std::unordered_set::cbegin()'],['http://en.cppreference.com/w/cpp/container/multimap/begin.html',0,'std::multimap::cbegin()'],['http://en.cppreference.com/w/cpp/container/array/begin.html',0,'std::array::cbegin()']]], - ['cbegin_28int_29_26',['cbegin(int)',['http://en.cppreference.com/w/cpp/container/unordered_map/begin2.html',0,'std::unordered_map::cbegin(int)()'],['http://en.cppreference.com/w/cpp/container/unordered_multimap/begin2.html',0,'std::unordered_multimap::cbegin(int)()'],['http://en.cppreference.com/w/cpp/container/unordered_multiset/begin2.html',0,'std::unordered_multiset::cbegin(int)()'],['http://en.cppreference.com/w/cpp/container/unordered_set/begin2.html',0,'std::unordered_set::cbegin(int)()']]], - ['cbrt_27',['cbrt',['http://en.cppreference.com/w/cpp/numeric/math/cbrt.html',0,'std']]], - ['ceil_28',['ceil',['http://en.cppreference.com/w/cpp/numeric/math/ceil.html',0,'std']]], - ['cend_29',['cend',['http://en.cppreference.com/w/cpp/container/dynarray/end.html',0,'std::dynarray::cend()'],['http://en.cppreference.com/w/cpp/container/vector/end.html',0,'std::vector::cend()'],['http://en.cppreference.com/w/cpp/regex/match_results/end.html',0,'std::match_results::cend()'],['http://en.cppreference.com/w/cpp/container/multiset/end.html',0,'std::multiset::cend()'],['http://en.cppreference.com/w/cpp/string/basic_string/end.html',0,'std::string::cend()'],['http://en.cppreference.com/w/cpp/container/set/end.html',0,'std::set::cend()'],['http://en.cppreference.com/w/cpp/container/unordered_map/end.html',0,'std::unordered_map::cend()'],['http://en.cppreference.com/w/cpp/regex/match_results/end.html',0,'std::wsmatch::cend()'],['http://en.cppreference.com/w/cpp/regex/match_results/end.html',0,'std::smatch::cend()'],['http://en.cppreference.com/w/cpp/container/unordered_multimap/end.html',0,'std::unordered_multimap::cend()'],['http://en.cppreference.com/w/cpp/container/forward_list/end.html',0,'std::forward_list::cend()'],['http://en.cppreference.com/w/cpp/regex/match_results/end.html',0,'std::wcmatch::cend()'],['http://en.cppreference.com/w/cpp/container/deque/end.html',0,'std::deque::cend()'],['http://en.cppreference.com/w/cpp/string/basic_string/end.html',0,'std::basic_string::cend()'],['http://en.cppreference.com/w/cpp/string/basic_string/end.html',0,'std::wstring::cend()'],['http://en.cppreference.com/w/cpp/container/unordered_multiset/end.html',0,'std::unordered_multiset::cend()'],['http://en.cppreference.com/w/cpp/string/basic_string/end.html',0,'std::u16string::cend()'],['http://en.cppreference.com/w/cpp/string/basic_string/end.html',0,'std::u32string::cend()'],['http://en.cppreference.com/w/cpp/container/list/end.html',0,'std::list::cend()'],['http://en.cppreference.com/w/cpp/container/map/end.html',0,'std::map::cend()'],['http://en.cppreference.com/w/cpp/regex/match_results/end.html',0,'std::cmatch::cend()'],['http://en.cppreference.com/w/cpp/container/unordered_set/end.html',0,'std::unordered_set::cend()'],['http://en.cppreference.com/w/cpp/container/multimap/end.html',0,'std::multimap::cend()'],['http://en.cppreference.com/w/cpp/container/array/end.html',0,'std::array::cend()']]], - ['cend_28int_29_30',['cend(int)',['http://en.cppreference.com/w/cpp/container/unordered_map/end2.html',0,'std::unordered_map::cend(int)()'],['http://en.cppreference.com/w/cpp/container/unordered_multimap/end2.html',0,'std::unordered_multimap::cend(int)()'],['http://en.cppreference.com/w/cpp/container/unordered_multiset/end2.html',0,'std::unordered_multiset::cend(int)()'],['http://en.cppreference.com/w/cpp/container/unordered_set/end2.html',0,'std::unordered_set::cend(int)()']]], - ['centi_31',['centi',['http://en.cppreference.com/w/cpp/numeric/ratio/ratio.html',0,'std']]], - ['cerr_32',['cerr',['http://en.cppreference.com/w/cpp/io/basic_ostream.html',0,'std']]], - ['chain_5fquery_33',['chain_query',['../d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d.html#a7d5b40c076347a6aabfb37a0590f2f24',1,'range_queries::heavy_light_decomposition::HLD']]], - ['chaining_2ecpp_34',['chaining.cpp',['../d9/d92/chaining_8cpp.html',1,'']]], - ['change_35',['change',['../d1/da6/rungekutta_8cpp.html#a450497475f5607333f9aca8f88901579',1,'rungekutta.cpp']]], - ['change_5froot_36',['change_root',['../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html#ab916d554afa8ca5230b4310c2c69fae0',1,'range_queries::heavy_light_decomposition::Tree']]], - ['changes_37',['Making Changes',['../d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md26',1,'']]], - ['char_5fto_5fint_38',['char_to_int',['../d0/d3e/classdata__structures_1_1trie.html#aab373beb3f618b90922528c68797d988',1,'data_structures::trie']]], - ['char_5fto_5fmorse_39',['char_to_morse',['../d8/d76/morse__code_8cpp.html#ab31773fd11555d21f70d6914138d9535',1,'ciphers::morse']]], - ['char_5ftraits_40',['char_traits',['http://en.cppreference.com/w/cpp/string/char_traits.html',0,'std']]], - ['char_5ftype_41',['char_type',['http://en.cppreference.com/w/cpp/locale/collate.html',0,'std::collate::char_type'],['http://en.cppreference.com/w/cpp/locale/collate.html',0,'std::collate_byname::char_type'],['http://en.cppreference.com/w/cpp/locale/messages.html',0,'std::messages::char_type'],['http://en.cppreference.com/w/cpp/locale/messages.html',0,'std::messages_byname::char_type'],['http://en.cppreference.com/w/cpp/locale/money_get.html',0,'std::money_get::char_type'],['http://en.cppreference.com/w/cpp/locale/money_put.html',0,'std::money_put::char_type'],['http://en.cppreference.com/w/cpp/locale/moneypunct.html',0,'std::moneypunct::char_type'],['http://en.cppreference.com/w/cpp/locale/moneypunct.html',0,'std::moneypunct_byname::char_type'],['http://en.cppreference.com/w/cpp/locale/num_get.html',0,'std::num_get::char_type'],['http://en.cppreference.com/w/cpp/locale/num_put.html',0,'std::num_put::char_type'],['http://en.cppreference.com/w/cpp/locale/numpunct.html',0,'std::numpunct::char_type'],['http://en.cppreference.com/w/cpp/locale/numpunct.html',0,'std::numpunct_byname::char_type'],['http://en.cppreference.com/w/cpp/locale/time_get.html',0,'std::time_get::char_type'],['http://en.cppreference.com/w/cpp/locale/time_get.html',0,'std::time_get_byname::char_type'],['http://en.cppreference.com/w/cpp/locale/time_put.html',0,'std::time_put::char_type'],['http://en.cppreference.com/w/cpp/locale/time_put.html',0,'std::time_put_byname::char_type']]], - ['check_42',['check',['../d3/d84/word__break_8cpp.html#a272b0f5cdb4e41fd6dee4538b808c06a',1,'dynamic_programming::word_break']]], - ['check_5fall_5fzeros_43',['check_all_zeros',['../d1/d11/gcd__of__n__numbers_8cpp.html#a71b9357c7a722f8208499d9ba573297a',1,'math::gcd_of_n_numbers']]], - ['check_5famicable_5fpair_2ecpp_44',['check_amicable_pair.cpp',['../d5/df6/check__amicable__pair_8cpp.html',1,'']]], - ['check_5ffactorial_2ecpp_45',['check_factorial.cpp',['../d8/dd5/check__factorial_8cpp.html',1,'']]], - ['check_5fif_5fequal_46',['check_if_equal',['../d9/d03/namespacestring__search.html#aebe07cea289a13142503d98be7df11fd',1,'string_search']]], - ['check_5fprime_2ecpp_47',['check_prime.cpp',['../db/d93/check__prime_8cpp.html',1,'']]], - ['check_5fsize_5fmatch_48',['check_size_match',['../d6/d30/classmachine__learning_1_1adaline.html#ac8a9c2aaaa63b0f27ea176857e1e7d56',1,'machine_learning::adaline']]], - ['check_5ftermination_49',['check_termination',['../da/df2/durand__kerner__roots_8cpp.html#a024b8bc4755863315456d573a6732377',1,'durand_kerner_roots.cpp']]], - ['checkbipartite_50',['checkBipartite',['../df/dce/namespacegraph.html#a8e1b547cd407c0774e63f0dc95cda9e7',1,'graph']]], - ['chi_5fsquared_5fdistribution_51',['chi_squared_distribution',['http://en.cppreference.com/w/cpp/numeric/random/chi_squared_distribution.html',0,'std::chi_squared_distribution'],['http://en.cppreference.com/w/cpp/numeric/random/chi_squared_distribution/chi_squared_distribution.html',0,'std::chi_squared_distribution::chi_squared_distribution()']]], - ['children_52',['children',['../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#ad5d6b6ce5fab21ccc88c6bf3153eee5d',1,'data_structures::tree_234::Node::children'],['../d5/d12/structdata__structures_1_1trie__using__hashmap_1_1_trie_1_1_node.html#a08212cdc99164b59da91b81f45e2f88e',1,'data_structures::trie_using_hashmap::Trie::Node::children']]], - ['childs_53',['childs',['../d5/d95/structdata__structures_1_1treap_1_1_treap.html#ab99f68b79e1c4ff0f1cd6f2f0b6a545f',1,'data_structures::treap::Treap']]], - ['cin_54',['cin',['http://en.cppreference.com/w/cpp/io/basic_istream.html',0,'std']]], - ['ciphers_55',['Ciphers',['../d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md47',1,'']]], - ['ciphers_56',['ciphers',['../d6/d4e/namespaceciphers.html',1,'']]], - ['ciphers_3a_3aelliptic_5fcurve_5fkey_5fexchange_57',['elliptic_curve_key_exchange',['../df/d6b/namespaceciphers_1_1elliptic__curve__key__exchange.html',1,'ciphers']]], - ['ciphers_5fuint128_5ft_5fhpp_5f_58',['CIPHERS_UINT128_T_HPP_',['../da/d41/uint128__t_8hpp.html#acce684d03a24f9c13a9ed36de6d24a57',1,'uint128_t.hpp']]], - ['ciphers_5fuint256_5ft_5fhpp_5f_59',['CIPHERS_UINT256_T_HPP_',['../da/da3/uint256__t_8hpp.html#a1d8c5ec5b5e419c5c8a740251485102c',1,'uint256_t.hpp']]], - ['circle_60',['circle',['../d0/d01/smallest__circle_8cpp.html#a0b0676df8e4da7a08c7ccaecea344903',1,'smallest_circle.cpp']]], - ['circle_5farea_61',['circle_area',['../dd/d47/namespacemath.html#a40e36c67da78d2131408c57ee091ad75',1,'math']]], - ['circle_5fperimeter_62',['circle_perimeter',['../dd/d47/namespacemath.html#ad0acf82b7bc920182bf8322d1e103953',1,'math']]], - ['circular_5flinked_5flist_63',['circular_linked_list',['../d4/dcd/namespacecircular__linked__list.html',1,'']]], - ['circular_5flinked_5flist_2ecpp_64',['circular_linked_list.cpp',['../de/d33/circular__linked__list_8cpp.html',1,'']]], - ['circularlinkedlist_65',['CircularLinkedList',['../d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list.html',1,'operations_on_datastructures::circular_linked_list::CircularLinkedList'],['../d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list.html#aa704319924f97fedfb41caf193a00888',1,'operations_on_datastructures::circular_linked_list::CircularLinkedList::CircularLinkedList()'],['../d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list.html#a142fa439b102c6f86341f421ddcfe0a1',1,'operations_on_datastructures::circular_linked_list::CircularLinkedList::CircularLinkedList(const CircularLinkedList &copy)'],['../d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list.html#abde75f6ee432b0378d264da8c7c64db2',1,'operations_on_datastructures::circular_linked_list::CircularLinkedList::CircularLinkedList(CircularLinkedList &&source) noexcept']]], - ['classic_66',['classic',['http://en.cppreference.com/w/cpp/locale/locale/classic.html',0,'std::locale']]], - ['clear_67',['clear',['http://en.cppreference.com/w/cpp/io/basic_ios/clear.html',0,'std::basic_ofstream::clear()'],['http://en.cppreference.com/w/cpp/io/basic_ios/clear.html',0,'std::fstream::clear()'],['http://en.cppreference.com/w/cpp/container/vector/clear.html',0,'std::vector::clear()'],['http://en.cppreference.com/w/cpp/container/multiset/clear.html',0,'std::multiset::clear()'],['http://en.cppreference.com/w/cpp/string/basic_string/clear.html',0,'std::string::clear()'],['http://en.cppreference.com/w/cpp/io/basic_ios/clear.html',0,'std::wostream::clear()'],['http://en.cppreference.com/w/cpp/container/set/clear.html',0,'std::set::clear()'],['http://en.cppreference.com/w/cpp/io/basic_ios/clear.html',0,'std::basic_ostringstream::clear()'],['http://en.cppreference.com/w/cpp/container/unordered_map/clear.html',0,'std::unordered_map::clear()'],['http://en.cppreference.com/w/cpp/io/basic_ios/clear.html',0,'std::basic_ios::clear()'],['http://en.cppreference.com/w/cpp/io/basic_ios/clear.html',0,'std::ostringstream::clear()'],['http://en.cppreference.com/w/cpp/io/basic_ios/clear.html',0,'std::basic_fstream::clear()'],['http://en.cppreference.com/w/cpp/io/basic_ios/clear.html',0,'std::iostream::clear()'],['http://en.cppreference.com/w/cpp/io/basic_ios/clear.html',0,'std::wistream::clear()'],['http://en.cppreference.com/w/cpp/io/basic_ios/clear.html',0,'std::stringstream::clear()'],['http://en.cppreference.com/w/cpp/container/unordered_multimap/clear.html',0,'std::unordered_multimap::clear()'],['http://en.cppreference.com/w/cpp/container/forward_list/clear.html',0,'std::forward_list::clear()'],['http://en.cppreference.com/w/cpp/io/basic_ios/clear.html',0,'std::ostream::clear()'],['http://en.cppreference.com/w/cpp/error/error_code/clear.html',0,'std::error_code::clear()'],['http://en.cppreference.com/w/cpp/io/basic_ios/clear.html',0,'std::wifstream::clear()'],['http://en.cppreference.com/w/cpp/io/basic_ios/clear.html',0,'std::basic_istream::clear()'],['http://en.cppreference.com/w/cpp/container/deque/clear.html',0,'std::deque::clear()'],['http://en.cppreference.com/w/cpp/io/basic_ios/clear.html',0,'std::strstream::clear()'],['http://en.cppreference.com/w/cpp/io/basic_ios/clear.html',0,'std::basic_stringstream::clear()'],['http://en.cppreference.com/w/cpp/string/basic_string/clear.html',0,'std::basic_string::clear()'],['http://en.cppreference.com/w/cpp/io/basic_ios/clear.html',0,'std::wostringstream::clear()'],['http://en.cppreference.com/w/cpp/string/basic_string/clear.html',0,'std::wstring::clear()'],['http://en.cppreference.com/w/cpp/io/basic_ios/clear.html',0,'std::istrstream::clear()'],['http://en.cppreference.com/w/cpp/container/unordered_multiset/clear.html',0,'std::unordered_multiset::clear()'],['http://en.cppreference.com/w/cpp/io/basic_ios/clear.html',0,'std::basic_ostream::clear()'],['http://en.cppreference.com/w/cpp/error/error_condition/clear.html',0,'std::error_condition::clear()'],['http://en.cppreference.com/w/cpp/string/basic_string/clear.html',0,'std::u16string::clear()'],['http://en.cppreference.com/w/cpp/io/basic_ios/clear.html',0,'std::wiostream::clear()'],['http://en.cppreference.com/w/cpp/string/basic_string/clear.html',0,'std::u32string::clear()'],['http://en.cppreference.com/w/cpp/io/basic_ios/clear.html',0,'std::ofstream::clear()'],['http://en.cppreference.com/w/cpp/io/basic_ios/clear.html',0,'std::basic_istringstream::clear()'],['http://en.cppreference.com/w/cpp/io/basic_ios/clear.html',0,'std::basic_ifstream::clear()'],['http://en.cppreference.com/w/cpp/container/list/clear.html',0,'std::list::clear()'],['http://en.cppreference.com/w/cpp/container/map/clear.html',0,'std::map::clear()'],['http://en.cppreference.com/w/cpp/io/basic_ios/clear.html',0,'std::istringstream::clear()'],['http://en.cppreference.com/w/cpp/io/basic_ios/clear.html',0,'std::istream::clear()'],['http://en.cppreference.com/w/cpp/io/basic_ios/clear.html',0,'std::ostrstream::clear()'],['http://en.cppreference.com/w/cpp/container/unordered_set/clear.html',0,'std::unordered_set::clear()'],['http://en.cppreference.com/w/cpp/io/basic_ios/clear.html',0,'std::wfstream::clear()'],['http://en.cppreference.com/w/cpp/container/multimap/clear.html',0,'std::multimap::clear()'],['http://en.cppreference.com/w/cpp/atomic/atomic_flag/clear.html',0,'std::atomic_flag::clear()'],['http://en.cppreference.com/w/cpp/io/basic_ios/clear.html',0,'std::basic_iostream::clear()'],['http://en.cppreference.com/w/cpp/io/basic_ios/clear.html',0,'std::wofstream::clear()'],['http://en.cppreference.com/w/cpp/io/basic_ios/clear.html',0,'std::wstringstream::clear()'],['http://en.cppreference.com/w/cpp/io/basic_ios/clear.html',0,'std::wistringstream::clear()'],['http://en.cppreference.com/w/cpp/io/basic_ios/clear.html',0,'std::ifstream::clear()'],['../db/da9/classqueue.html#a6ed7f8dfefe8687841f36f2223069375',1,'queue::clear()'],['../d1/dc2/classstack.html#a6f13157faa1a762c59e67da8b9516092',1,'stack::clear()']]], - ['clearerr_68',['clearerr',['http://en.cppreference.com/w/cpp/io/c/clearerr.html',0,'std']]], - ['cll_69',['cll',['../d5/d15/classcll.html',1,'']]], - ['clock_70',['clock',['http://en.cppreference.com/w/cpp/chrono/c/clock.html',0,'std']]], - ['clock_5ft_71',['clock_t',['http://en.cppreference.com/w/cpp/chrono/c/clock_t.html',0,'std']]], - ['clog_72',['clog',['http://en.cppreference.com/w/cpp/io/basic_ostream.html',0,'std']]], - ['close_73',['close',['http://en.cppreference.com/w/cpp/io/basic_ofstream/close.html',0,'std::basic_ofstream::close()'],['http://en.cppreference.com/w/cpp/io/basic_fstream/close.html',0,'std::fstream::close()'],['http://en.cppreference.com/w/cpp/io/basic_filebuf/close.html',0,'std::basic_filebuf::close()'],['http://en.cppreference.com/w/cpp/io/basic_fstream/close.html',0,'std::basic_fstream::close()'],['http://en.cppreference.com/w/cpp/io/basic_filebuf/close.html',0,'std::wfilebuf::close()'],['http://en.cppreference.com/w/cpp/io/basic_ifstream/close.html',0,'std::wifstream::close()'],['http://en.cppreference.com/w/cpp/locale/messages/close.html',0,'std::messages_byname::close()'],['http://en.cppreference.com/w/cpp/io/basic_filebuf/close.html',0,'std::filebuf::close()'],['http://en.cppreference.com/w/cpp/io/basic_ofstream/close.html',0,'std::ofstream::close()'],['http://en.cppreference.com/w/cpp/io/basic_ifstream/close.html',0,'std::basic_ifstream::close()'],['http://en.cppreference.com/w/cpp/locale/messages/close.html',0,'std::messages::close()'],['http://en.cppreference.com/w/cpp/io/basic_fstream/close.html',0,'std::wfstream::close()'],['http://en.cppreference.com/w/cpp/io/basic_ofstream/close.html',0,'std::wofstream::close()'],['http://en.cppreference.com/w/cpp/io/basic_ifstream/close.html',0,'std::ifstream::close()']]], - ['cmake_20in_20a_20new_20directory_74',['Integrating CMake in a new directory',['../d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md34',1,'']]], - ['cmatch_75',['cmatch',['http://en.cppreference.com/w/cpp/regex/match_results.html',0,'std::cmatch'],['http://en.cppreference.com/w/cpp/regex/match_results/match_results.html',0,'std::cmatch::cmatch()']]], - ['cnt_76',['cnt',['../d5/d95/structdata__structures_1_1treap_1_1_treap.html#af7e6c6620ab32bc96633d101245fa919',1,'data_structures::treap::Treap']]], - ['code_77',['Code',['../d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md27',1,'']]], - ['code_78',['code',['http://en.cppreference.com/w/cpp/thread/future_error/code.html',0,'std::future_error::code()'],['http://en.cppreference.com/w/cpp/regex/regex_error/code.html',0,'std::regex_error::code()'],['http://en.cppreference.com/w/cpp/error/system_error/code.html',0,'std::system_error::code()']]], - ['code_20analyzer_79',['Static Code Analyzer',['../d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md38',1,'']]], - ['code_20formatter_80',['Code Formatter',['../d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md39',1,'']]], - ['code_20of_20conduct_81',['Contributor Covenant Code of Conduct',['../d3/dd7/md__c_o_d_e___o_f___c_o_n_d_u_c_t.html',1,'']]], - ['code_20style_20convention_82',['Code style convention',['../dc/d64/md__coding_guidelines.html',1,'']]], - ['code_20style_20conventions_83',['Code style conventions',['../dc/d64/md__coding_guidelines.html#autotoc_md20',1,'']]], - ['codec_84',['codec',['../d6/d26/classciphers_1_1_hill_cipher.html#ad667fa0860977f6d6d443fa1dbcd80aa',1,'ciphers::HillCipher']]], - ['codecvt_85',['codecvt',['http://en.cppreference.com/w/cpp/locale/codecvt.html',0,'std::codecvt'],['http://en.cppreference.com/w/cpp/locale/codecvt/codecvt.html',0,'std::codecvt::codecvt()']]], - ['codecvt_5fbase_86',['codecvt_base',['http://en.cppreference.com/w/cpp/locale/codecvt_base.html',0,'std']]], - ['codecvt_5fbyname_87',['codecvt_byname',['http://en.cppreference.com/w/cpp/locale/codecvt_byname.html',0,'std::codecvt_byname'],['http://en.cppreference.com/w/cpp/locale/codecvt_byname.html',0,'std::codecvt_byname::codecvt_byname()']]], - ['codecvt_5futf16_88',['codecvt_utf16',['http://en.cppreference.com/w/cpp/locale/codecvt_utf16.html',0,'std']]], - ['codecvt_5futf8_89',['codecvt_utf8',['http://en.cppreference.com/w/cpp/locale/codecvt_utf8.html',0,'std']]], - ['codecvt_5futf8_5futf16_90',['codecvt_utf8_utf16',['http://en.cppreference.com/w/cpp/locale/codecvt_utf8_utf16.html',0,'std']]], - ['coin_5fchange_5ftopdown_2ecpp_91',['coin_change_topdown.cpp',['../d9/d31/coin__change__topdown_8cpp.html',1,'']]], - ['collate_92',['collate',['http://en.cppreference.com/w/cpp/locale/collate.html',0,'std::collate'],['http://en.cppreference.com/w/cpp/locale/collate/collate.html',0,'std::collate::collate()']]], - ['collate_5fbyname_93',['collate_byname',['http://en.cppreference.com/w/cpp/locale/collate_byname.html',0,'std::collate_byname'],['http://en.cppreference.com/w/cpp/locale/collate_byname.html',0,'std::collate_byname::collate_byname()']]], - ['comb_94',['comb',['../dd/d95/classdata__structures_1_1_segment_tree.html#a8d22286b7be3dcbb701ac5c7d9c79841',1,'data_structures::SegmentTree']]], - ['comb_5fsort_2ecpp_95',['comb_sort.cpp',['../d9/dfd/comb__sort_8cpp.html',1,'']]], - ['combine_96',['combine',['http://en.cppreference.com/w/cpp/locale/locale/combine.html',0,'std::locale::combine()'],['../d9/d35/classrange__queries_1_1heavy__light__decomposition_1_1_s_g.html#a41c733f5f5e262b308f7cb95c88c1e74',1,'range_queries::heavy_light_decomposition::SG::combine()']]], - ['combsort_97',['CombSort',['../d9/dfd/comb__sort_8cpp.html#a0f4e7569090083fb53d5cdeaf0e2974f',1,'comb_sort.cpp']]], - ['commit_20guidelines_98',['Commit Guidelines',['../d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md35',1,'']]], - ['common_5ftype_99',['common_type',['http://en.cppreference.com/w/cpp/types/common_type.html',0,'std']]], - ['compare_100',['Compare',['../de/d4a/class_compare.html',1,'']]], - ['compare_101',['compare',['../d1/db3/structcompare.html',1,'compare'],['http://en.cppreference.com/w/cpp/string/char_traits/compare.html',0,'std::char_traits::compare()'],['http://en.cppreference.com/w/cpp/string/basic_string/compare.html',0,'std::string::compare()'],['http://en.cppreference.com/w/cpp/regex/sub_match/compare.html',0,'std::wcsub_match::compare()'],['http://en.cppreference.com/w/cpp/locale/collate/compare.html',0,'std::collate_byname::compare()'],['http://en.cppreference.com/w/cpp/regex/sub_match/compare.html',0,'std::wssub_match::compare()'],['http://en.cppreference.com/w/cpp/regex/sub_match/compare.html',0,'std::csub_match::compare()'],['http://en.cppreference.com/w/cpp/regex/sub_match/compare.html',0,'std::ssub_match::compare()'],['http://en.cppreference.com/w/cpp/string/basic_string/compare.html',0,'std::basic_string::compare()'],['http://en.cppreference.com/w/cpp/string/basic_string/compare.html',0,'std::wstring::compare()'],['http://en.cppreference.com/w/cpp/string/basic_string/compare.html',0,'std::u16string::compare()'],['http://en.cppreference.com/w/cpp/locale/collate/compare.html',0,'std::collate::compare()'],['http://en.cppreference.com/w/cpp/string/basic_string/compare.html',0,'std::u32string::compare()'],['http://en.cppreference.com/w/cpp/regex/sub_match/compare.html',0,'std::sub_match::compare()'],['../d4/d7a/shell__sort2_8cpp.html#a7eb77daed2cf1513f6d68c47a1c2db1c',1,'compare(): shell_sort2.cpp']]], - ['compare_5fexchange_5fstrong_102',['compare_exchange_strong',['http://en.cppreference.com/w/cpp/atomic/atomic/compare_exchange.html',0,'std::atomic']]], - ['compare_5fexchange_5fweak_103',['compare_exchange_weak',['http://en.cppreference.com/w/cpp/atomic/atomic/compare_exchange.html',0,'std::atomic']]], - ['comparison_5foperator_104',['comparison_operator',['../d3/d2a/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1comparison__operator.html',1,'machine_learning::aystar_search::AyStarSearch']]], - ['complex_105',['Complex',['../da/d5a/class_complex.html',1,'Complex'],['../da/d5a/class_complex.html#a3cfc522c782726f49ee20af17b77f867',1,'Complex::Complex(double x=0.f, double y=0.f, bool is_polar=false)'],['../da/d5a/class_complex.html#a466cd7b664cc6a864937ceb3dead1323',1,'Complex::Complex(const Complex &other)']]], - ['complex_106',['complex',['http://en.cppreference.com/w/cpp/numeric/complex.html',0,'std::complex'],['http://en.cppreference.com/w/cpp/numeric/complex/complex.html',0,'std::complex::complex()']]], - ['complex_5fnumbers_2ecpp_107',['complex_numbers.cpp',['../d5/d67/complex__numbers_8cpp.html',1,'']]], - ['complex_5fstr_108',['complex_str',['../da/df2/durand__kerner__roots_8cpp.html#a90219e35062007d1f1b68e9af071ab5c',1,'durand_kerner_roots.cpp']]], - ['composite_5fsimpson_5frule_2ecpp_109',['composite_simpson_rule.cpp',['../d4/d18/composite__simpson__rule_8cpp.html',1,'']]], - ['compute_5fpadded_5fsize_110',['compute_padded_size',['../d4/d08/sha256_8cpp.html#a28c1c6724dc6bcf91a39818699bbec27',1,'hashing::sha256']]], - ['computefactorialsmod_111',['computeFactorialsMod',['../d6/dc1/classmath_1_1ncr__modulo__p_1_1_n_c_r_modulo_p.html#ab5744fa589f6a48f9fe7bca13dbe661f',1,'math::ncr_modulo_p::NCRModuloP']]], - ['concept_112',['Concept',['../d1/d9a/hopcroft__karp_8cpp.html#autotoc_md81',1,'']]], - ['condition_5fvariable_113',['condition_variable',['http://en.cppreference.com/w/cpp/thread/condition_variable.html',0,'std::condition_variable'],['http://en.cppreference.com/w/cpp/thread/condition_variable/condition_variable.html',0,'std::condition_variable::condition_variable()']]], - ['condition_5fvariable_5fany_114',['condition_variable_any',['http://en.cppreference.com/w/cpp/thread/condition_variable_any.html',0,'std::condition_variable_any'],['http://en.cppreference.com/w/cpp/thread/condition_variable_any/condition_variable_any.html',0,'std::condition_variable_any::condition_variable_any()']]], - ['conditional_115',['conditional',['http://en.cppreference.com/w/cpp/types/conditional.html',0,'std']]], - ['conduct_116',['Contributor Covenant Code of Conduct',['../d3/dd7/md__c_o_d_e___o_f___c_o_n_d_u_c_t.html',1,'']]], - ['cone_5fvolume_117',['cone_volume',['../dd/d47/namespacemath.html#a3fe35440c27758ecc2287e08217d63a7',1,'math']]], - ['connected_5fcomponents_2ecpp_118',['connected_components.cpp',['../df/ddd/connected__components_8cpp.html',1,'']]], - ['connected_5fcomponents_5fwith_5fdsu_2ecpp_119',['connected_components_with_dsu.cpp',['../d8/d99/connected__components__with__dsu_8cpp.html',1,'']]], - ['conquer_120',['Divide And Conquer',['../d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md50',1,'']]], - ['const_5fpointer_5fcast_121',['const_pointer_cast',['http://en.cppreference.com/w/cpp/memory/shared_ptr/pointer_cast.html',0,'std']]], - ['constree_122',['ConsTree',['../d2/d45/segtree_8cpp.html#ae752659b7c1719d68fdb2ca538a93696',1,'segtree.cpp']]], - ['construct_123',['construct',['http://en.cppreference.com/w/cpp/memory/allocator_traits/construct.html',0,'std::allocator_traits::construct()'],['http://en.cppreference.com/w/cpp/memory/allocator/construct.html',0,'std::allocator::construct()'],['http://en.cppreference.com/w/cpp/memory/scoped_allocator_adaptor/construct.html',0,'std::scoped_allocator_adaptor::construct()'],['../d8/d28/classrange__queries_1_1per_seg_tree.html#a6d3f2465a7c5803a1ff16c5378bcc5e4',1,'range_queries::perSegTree::construct(const uint32_t &i, const uint32_t &j)'],['../d8/d28/classrange__queries_1_1per_seg_tree.html#ac83bcabf5a8db8b0d8d156a4c1bcd4c3',1,'range_queries::perSegTree::construct(const std::vector< int64_t > &vec)']]], - ['contains_124',['Contains',['../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a22fd25c6c811c64b6b27b0850d8c532f',1,'data_structures::tree_234::Node']]], - ['contains_125',['contains',['../d9/dde/classbinary__search__tree.html#aa4f84b2eec9b9201af1840868ddb5fb2',1,'binary_search_tree::contains(std::unique_ptr< bst_node > &node, T value)'],['../d9/dde/classbinary__search__tree.html#a6bf5b410299df2320ddf2709dda61f63',1,'binary_search_tree::contains(T value)'],['../d9/dae/classdata__structures_1_1_bitset.html#a9ef54c7c3f6494b36ead3ae2e5cf43ac',1,'data_structures::Bitset::contains()'],['../dc/dd4/classdata__structures_1_1_bloom_filter.html#a576db259488dbfb67624a9652a5ab08b',1,'data_structures::BloomFilter::contains()']]], - ['contributing_126',['Contributing',['../d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md23',1,'']]], - ['contributing_127',['Before contributing',['../d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md22',1,'']]], - ['contribution_20guidelines_128',['CONTRIBUTION GUIDELINES',['../d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html',1,'']]], - ['contributions_129',['Contributions',['../index.html#autotoc_md106',1,'']]], - ['contributor_130',['Contributor',['../d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md25',1,'']]], - ['contributor_20covenant_20code_20of_20conduct_131',['Contributor Covenant Code of Conduct',['../d3/dd7/md__c_o_d_e___o_f___c_o_n_d_u_c_t.html',1,'']]], - ['convention_132',['Code style convention',['../dc/d64/md__coding_guidelines.html',1,'']]], - ['conventions_133',['Code style conventions',['../dc/d64/md__coding_guidelines.html#autotoc_md20',1,'']]], - ['converted_134',['converted',['http://en.cppreference.com/w/cpp/locale/wstring_convert/converted.html',0,'std::wstring_convert']]], - ['convexhull_135',['Convexhull',['../d4/dde/classgeometry_1_1jarvis_1_1_convexhull.html',1,'geometry::jarvis::Convexhull'],['../d4/dde/classgeometry_1_1jarvis_1_1_convexhull.html#a8306e48040a8570e164c58d1c530f870',1,'geometry::jarvis::Convexhull::Convexhull()']]], - ['copy_136',['copy',['http://en.cppreference.com/w/cpp/string/char_traits/copy.html',0,'std::char_traits::copy()'],['http://en.cppreference.com/w/cpp/string/basic_string/copy.html',0,'std::string::copy()'],['http://en.cppreference.com/w/cpp/string/basic_string/copy.html',0,'std::basic_string::copy()'],['http://en.cppreference.com/w/cpp/string/basic_string/copy.html',0,'std::wstring::copy()'],['http://en.cppreference.com/w/cpp/string/basic_string/copy.html',0,'std::u16string::copy()'],['http://en.cppreference.com/w/cpp/string/basic_string/copy.html',0,'std::u32string::copy()'],['http://en.cppreference.com/w/cpp/algorithm/copy.html',0,'std::copy()']]], - ['copy_5fall_5fnodes_137',['copy_all_nodes',['../d6/d05/reverse__a__linked__list_8cpp.html#a7f80d9712cc7d77399dcacb4c2917511',1,'data_structures::linked_list']]], - ['copy_5fbackward_138',['copy_backward',['http://en.cppreference.com/w/cpp/algorithm/copy_backward.html',0,'std']]], - ['copy_5fif_139',['copy_if',['http://en.cppreference.com/w/cpp/algorithm/copy.html',0,'std']]], - ['copy_5fn_140',['copy_n',['http://en.cppreference.com/w/cpp/algorithm/copy_n.html',0,'std']]], - ['copyfmt_141',['copyfmt',['http://en.cppreference.com/w/cpp/io/basic_ios/copyfmt.html',0,'std::basic_ofstream::copyfmt()'],['http://en.cppreference.com/w/cpp/io/basic_ios/copyfmt.html',0,'std::fstream::copyfmt()'],['http://en.cppreference.com/w/cpp/io/basic_ios/copyfmt.html',0,'std::wostream::copyfmt()'],['http://en.cppreference.com/w/cpp/io/basic_ios/copyfmt.html',0,'std::basic_ostringstream::copyfmt()'],['http://en.cppreference.com/w/cpp/io/basic_ios/copyfmt.html',0,'std::basic_ios::copyfmt()'],['http://en.cppreference.com/w/cpp/io/basic_ios/copyfmt.html',0,'std::ostringstream::copyfmt()'],['http://en.cppreference.com/w/cpp/io/basic_ios/copyfmt.html',0,'std::basic_fstream::copyfmt()'],['http://en.cppreference.com/w/cpp/io/basic_ios/copyfmt.html',0,'std::iostream::copyfmt()'],['http://en.cppreference.com/w/cpp/io/basic_ios/copyfmt.html',0,'std::wistream::copyfmt()'],['http://en.cppreference.com/w/cpp/io/basic_ios/copyfmt.html',0,'std::stringstream::copyfmt()'],['http://en.cppreference.com/w/cpp/io/basic_ios/copyfmt.html',0,'std::ostream::copyfmt()'],['http://en.cppreference.com/w/cpp/io/basic_ios/copyfmt.html',0,'std::wifstream::copyfmt()'],['http://en.cppreference.com/w/cpp/io/basic_ios/copyfmt.html',0,'std::basic_istream::copyfmt()'],['http://en.cppreference.com/w/cpp/io/basic_ios/copyfmt.html',0,'std::strstream::copyfmt()'],['http://en.cppreference.com/w/cpp/io/basic_ios/copyfmt.html',0,'std::basic_stringstream::copyfmt()'],['http://en.cppreference.com/w/cpp/io/basic_ios/copyfmt.html',0,'std::wostringstream::copyfmt()'],['http://en.cppreference.com/w/cpp/io/basic_ios/copyfmt.html',0,'std::istrstream::copyfmt()'],['http://en.cppreference.com/w/cpp/io/basic_ios/copyfmt.html',0,'std::basic_ostream::copyfmt()'],['http://en.cppreference.com/w/cpp/io/basic_ios/copyfmt.html',0,'std::wiostream::copyfmt()'],['http://en.cppreference.com/w/cpp/io/basic_ios/copyfmt.html',0,'std::ofstream::copyfmt()'],['http://en.cppreference.com/w/cpp/io/basic_ios/copyfmt.html',0,'std::basic_istringstream::copyfmt()'],['http://en.cppreference.com/w/cpp/io/basic_ios/copyfmt.html',0,'std::basic_ifstream::copyfmt()'],['http://en.cppreference.com/w/cpp/io/basic_ios/copyfmt.html',0,'std::istringstream::copyfmt()'],['http://en.cppreference.com/w/cpp/io/basic_ios/copyfmt.html',0,'std::istream::copyfmt()'],['http://en.cppreference.com/w/cpp/io/basic_ios/copyfmt.html',0,'std::ostrstream::copyfmt()'],['http://en.cppreference.com/w/cpp/io/basic_ios/copyfmt.html',0,'std::wfstream::copyfmt()'],['http://en.cppreference.com/w/cpp/io/basic_ios/copyfmt.html',0,'std::basic_iostream::copyfmt()'],['http://en.cppreference.com/w/cpp/io/basic_ios/copyfmt.html',0,'std::wofstream::copyfmt()'],['http://en.cppreference.com/w/cpp/io/basic_ios/copyfmt.html',0,'std::wstringstream::copyfmt()'],['http://en.cppreference.com/w/cpp/io/basic_ios/copyfmt.html',0,'std::wistringstream::copyfmt()'],['http://en.cppreference.com/w/cpp/io/basic_ios/copyfmt.html',0,'std::ifstream::copyfmt()']]], - ['copysign_142',['copysign',['http://en.cppreference.com/w/cpp/numeric/math/copysign.html',0,'std']]], - ['correction_143',['1. Correction',['../d3/dd7/md__c_o_d_e___o_f___c_o_n_d_u_c_t.html#autotoc_md11',1,'']]], - ['cos_144',['cos',['http://en.cppreference.com/w/cpp/numeric/math/cos.html',0,'std']]], - ['cosh_145',['cosh',['http://en.cppreference.com/w/cpp/numeric/math/cosh.html',0,'std']]], - ['count_146',['count',['../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a934e6d53cfefae2b971e1241a8a4c921',1,'data_structures::tree_234::Node::count'],['http://en.cppreference.com/w/cpp/container/multiset/count.html',0,'std::multiset::count()'],['http://en.cppreference.com/w/cpp/container/set/count.html',0,'std::set::count()'],['http://en.cppreference.com/w/cpp/container/unordered_map/count.html',0,'std::unordered_map::count()'],['http://en.cppreference.com/w/cpp/container/unordered_multimap/count.html',0,'std::unordered_multimap::count()'],['http://en.cppreference.com/w/cpp/chrono/duration/count.html',0,'std::chrono::minutes::count()'],['http://en.cppreference.com/w/cpp/chrono/duration/count.html',0,'std::chrono::seconds::count()'],['http://en.cppreference.com/w/cpp/chrono/duration/count.html',0,'std::chrono::duration::count()'],['http://en.cppreference.com/w/cpp/chrono/duration/count.html',0,'std::chrono::milliseconds::count()'],['http://en.cppreference.com/w/cpp/chrono/duration/count.html',0,'std::chrono::hours::count()'],['http://en.cppreference.com/w/cpp/chrono/duration/count.html',0,'std::chrono::microseconds::count()'],['http://en.cppreference.com/w/cpp/chrono/duration/count.html',0,'std::chrono::nanoseconds::count()'],['http://en.cppreference.com/w/cpp/utility/bitset/count.html',0,'std::bitset::count()'],['http://en.cppreference.com/w/cpp/container/unordered_multiset/count.html',0,'std::unordered_multiset::count()'],['http://en.cppreference.com/w/cpp/container/map/count.html',0,'std::map::count()'],['http://en.cppreference.com/w/cpp/container/unordered_set/count.html',0,'std::unordered_set::count()'],['http://en.cppreference.com/w/cpp/container/multimap/count.html',0,'std::multimap::count()'],['http://en.cppreference.com/w/cpp/algorithm/count.html',0,'std::count()']]], - ['count_5fbits_5fflip_147',['count_bits_flip',['../d4/d38/namespacecount__bits__flip.html',1,'']]], - ['count_5fbits_5fflip_2ecpp_148',['count_bits_flip.cpp',['../d7/d56/count__bits__flip_8cpp.html',1,'']]], - ['count_5fif_149',['count_if',['http://en.cppreference.com/w/cpp/algorithm/count.html',0,'std']]], - ['count_5finversions_2ecpp_150',['count_inversions.cpp',['../d2/d26/count__inversions_8cpp.html',1,'']]], - ['count_5fof_5fset_5fbits_151',['count_of_set_bits',['../dd/dae/namespacecount__of__set__bits.html',1,'']]], - ['count_5fof_5fset_5fbits_2ecpp_152',['count_of_set_bits.cpp',['../da/db8/count__of__set__bits_8cpp.html',1,'']]], - ['count_5fof_5ftrailing_5fciphers_5fin_5ffactorial_5fn_153',['count_of_trailing_ciphers_in_factorial_n',['../dc/d2f/namespacecount__of__trailing__ciphers__in__factorial__n.html',1,'']]], - ['count_5fof_5ftrailing_5fciphers_5fin_5ffactorial_5fn_2ecpp_154',['count_of_trailing_ciphers_in_factorial_n.cpp',['../da/d50/count__of__trailing__ciphers__in__factorial__n_8cpp.html',1,'']]], - ['countbitsflip_155',['countBitsFlip',['../d7/d56/count__bits__flip_8cpp.html#a2548486b6c3b80101e768562e687ef7b',1,'bit_manipulation::count_bits_flip']]], - ['countinversion_156',['countInversion',['../d2/d26/count__inversions_8cpp.html#a3332498eabf6579ef059c0d0e9f4ec80',1,'sorting::inversion']]], - ['countsetbits_157',['countSetBits',['../da/db8/count__of__set__bits_8cpp.html#a86c98dc299e4db28b73e08309d977e62',1,'bit_manipulation::count_of_set_bits']]], - ['cout_158',['cout',['http://en.cppreference.com/w/cpp/io/basic_ostream.html',0,'std']]], - ['covenant_20code_20of_20conduct_159',['Contributor Covenant Code of Conduct',['../d3/dd7/md__c_o_d_e___o_f___c_o_n_d_u_c_t.html',1,'']]], - ['cpu_20scheduling_20algorithms_160',['Cpu Scheduling Algorithms',['../d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md48',1,'']]], - ['crbegin_161',['crbegin',['http://en.cppreference.com/w/cpp/container/dynarray/rbegin.html',0,'std::dynarray::crbegin()'],['http://en.cppreference.com/w/cpp/container/vector/rbegin.html',0,'std::vector::crbegin()'],['http://en.cppreference.com/w/cpp/container/multiset/rbegin.html',0,'std::multiset::crbegin()'],['http://en.cppreference.com/w/cpp/string/basic_string/rbegin.html',0,'std::string::crbegin()'],['http://en.cppreference.com/w/cpp/container/set/rbegin.html',0,'std::set::crbegin()'],['http://en.cppreference.com/w/cpp/container/deque/rbegin.html',0,'std::deque::crbegin()'],['http://en.cppreference.com/w/cpp/string/basic_string/rbegin.html',0,'std::basic_string::crbegin()'],['http://en.cppreference.com/w/cpp/string/basic_string/rbegin.html',0,'std::wstring::crbegin()'],['http://en.cppreference.com/w/cpp/string/basic_string/rbegin.html',0,'std::u16string::crbegin()'],['http://en.cppreference.com/w/cpp/string/basic_string/rbegin.html',0,'std::u32string::crbegin()'],['http://en.cppreference.com/w/cpp/container/list/rbegin.html',0,'std::list::crbegin()'],['http://en.cppreference.com/w/cpp/container/map/rbegin.html',0,'std::map::crbegin()'],['http://en.cppreference.com/w/cpp/container/multimap/rbegin.html',0,'std::multimap::crbegin()'],['http://en.cppreference.com/w/cpp/container/array/rbegin.html',0,'std::array::crbegin()']]], - ['create_5fhash_162',['create_hash',['../d9/d03/namespacestring__search.html#a8fb0bc932ba8b582c9f4c71338d050f8',1,'string_search']]], - ['create_5flist_163',['create_list',['../d1/df3/hash__search_8cpp.html#ad0831425f1389166a9518f422d0c6ec5',1,'hash_search.cpp']]], - ['create_5fmatrix_164',['create_matrix',['../de/d75/qr__eigen__values_8cpp.html#a9bbf469d5525a816b0d6ca812119093d',1,'qr_eigen_values.cpp']]], - ['create_5fmessage_5fschedule_5farray_165',['create_message_schedule_array',['../d4/d08/sha256_8cpp.html#a525531b3939ed44fbf01674e21931b3a',1,'hashing::sha256']]], - ['create_5frandom_5farray_166',['create_random_array',['../dd/d0d/insertion__sort_8cpp.html#a59914553f24088342c139645a02a8a49',1,'create_random_array(T *arr, int N): insertion_sort.cpp'],['../dd/d89/insertion__sort__recursive_8cpp.html#a59914553f24088342c139645a02a8a49',1,'create_random_array(T *arr, int N): insertion_sort_recursive.cpp']]], - ['createnewnode_167',['createNewNode',['../d9/d12/classothers_1_1iterative__tree__traversals_1_1_binary_tree.html#a3078a5ccf45d6a7031dcf46e43de65b6',1,'others::iterative_tree_traversals::BinaryTree::createNewNode()'],['../dd/de1/classothers_1_1recursive__tree__traversals_1_1_b_t.html#af16da5fe0f5c54d31778d71d5a042114',1,'others::recursive_tree_traversals::BT::createNewNode()']]], - ['createnode_168',['createNode',['../d8/dee/avltree_8cpp.html#a48d897353aeb6a721dbc6b6c57e035e6',1,'avltree.cpp']]], - ['createset_169',['CreateSet',['../de/d23/disjoint__set_8cpp.html#a010965fc5f16cca5a62506afab24e4ec',1,'disjoint_set.cpp']]], - ['cref_170',['cref',['http://en.cppreference.com/w/cpp/utility/functional/ref.html',0,'std']]], - ['cregex_5fiterator_171',['cregex_iterator',['http://en.cppreference.com/w/cpp/regex/regex_iterator.html',0,'std::cregex_iterator'],['http://en.cppreference.com/w/cpp/regex/regex_iterator/regex_iterator.html',0,'std::cregex_iterator::cregex_iterator()']]], - ['cregex_5ftoken_5fiterator_172',['cregex_token_iterator',['http://en.cppreference.com/w/cpp/regex/regex_token_iterator.html',0,'std::cregex_token_iterator'],['http://en.cppreference.com/w/cpp/regex/regex_token_iterator/regex_token_iterator.html',0,'std::cregex_token_iterator::cregex_token_iterator()']]], - ['crend_173',['crend',['http://en.cppreference.com/w/cpp/container/dynarray/rend.html',0,'std::dynarray::crend()'],['http://en.cppreference.com/w/cpp/container/vector/rend.html',0,'std::vector::crend()'],['http://en.cppreference.com/w/cpp/container/multiset/rend.html',0,'std::multiset::crend()'],['http://en.cppreference.com/w/cpp/string/basic_string/rend.html',0,'std::string::crend()'],['http://en.cppreference.com/w/cpp/container/set/rend.html',0,'std::set::crend()'],['http://en.cppreference.com/w/cpp/container/deque/rend.html',0,'std::deque::crend()'],['http://en.cppreference.com/w/cpp/string/basic_string/rend.html',0,'std::basic_string::crend()'],['http://en.cppreference.com/w/cpp/string/basic_string/rend.html',0,'std::wstring::crend()'],['http://en.cppreference.com/w/cpp/string/basic_string/rend.html',0,'std::u16string::crend()'],['http://en.cppreference.com/w/cpp/string/basic_string/rend.html',0,'std::u32string::crend()'],['http://en.cppreference.com/w/cpp/container/list/rend.html',0,'std::list::crend()'],['http://en.cppreference.com/w/cpp/container/map/rend.html',0,'std::map::crend()'],['http://en.cppreference.com/w/cpp/container/multimap/rend.html',0,'std::multimap::crend()'],['http://en.cppreference.com/w/cpp/container/array/rend.html',0,'std::array::crend()']]], - ['cross_174',['cross',['../df/d66/vector__cross__product_8cpp.html#a225732399c5c076976eae5b180a9f8c9',1,'math::vector_cross']]], - ['csub_5fmatch_175',['csub_match',['http://en.cppreference.com/w/cpp/regex/sub_match.html',0,'std::csub_match'],['http://en.cppreference.com/w/cpp/regex/sub_match/sub_match.html',0,'std::csub_match::csub_match()']]], - ['ctime_176',['ctime',['http://en.cppreference.com/w/cpp/chrono/c/ctime.html',0,'std']]], - ['ctype_177',['ctype',['http://en.cppreference.com/w/cpp/locale/ctype.html',0,'std::ctype'],['http://en.cppreference.com/w/cpp/locale/ctype/ctype.html',0,'std::ctype::ctype()']]], - ['ctype_5fbase_178',['ctype_base',['http://en.cppreference.com/w/cpp/locale/ctype_base.html',0,'std']]], - ['ctype_5fbyname_179',['ctype_byname',['http://en.cppreference.com/w/cpp/locale/ctype_byname.html',0,'std::ctype_byname'],['http://en.cppreference.com/w/cpp/locale/ctype_byname.html',0,'std::ctype_byname::ctype_byname()']]], - ['cube_5fsurface_5farea_180',['cube_surface_area',['../dd/d47/namespacemath.html#abc46c784a297fc1d2eb8b33a327fba4c',1,'math']]], - ['cube_5fsurface_5fperimeter_181',['cube_surface_perimeter',['../dd/d47/namespacemath.html#a8998ca7b1886d1d7d00aef3b457a9b1b',1,'math']]], - ['cube_5fvolume_182',['cube_volume',['../dd/d47/namespacemath.html#ae413098478fa38acaac887b7654f0725',1,'math']]], - ['cumulative_5fdistribution_183',['cumulative_distribution',['../da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution.html#a08328dc7d62188427111f176b56a105a',1,'probability::geometric_dist::geometric_distribution']]], - ['curr_5fsymbol_184',['curr_symbol',['http://en.cppreference.com/w/cpp/locale/moneypunct/curr_symbol.html',0,'std::moneypunct_byname::curr_symbol()'],['http://en.cppreference.com/w/cpp/locale/moneypunct/curr_symbol.html',0,'std::moneypunct::curr_symbol()']]], - ['current_5fexception_185',['current_exception',['http://en.cppreference.com/w/cpp/error/current_exception.html',0,'std']]], - ['current_5fsize_186',['current_size',['../db/d5b/structdata__structures_1_1stack__using__queue_1_1_stack.html#afdfd2f4418c70b1bda50f2c3e416d80b',1,'data_structures::stack_using_queue::Stack']]], - ['cut_5frod_187',['cut_rod',['../d8/d36/namespacecut__rod.html',1,'']]], - ['cut_5frod_2ecpp_188',['cut_rod.cpp',['../d6/d10/cut__rod_8cpp.html',1,'']]], - ['cycle_5fdetection_189',['cycle_detection',['../da/d82/namespacecycle__detection.html',1,'']]], - ['cycle_5fsort_190',['cycle_sort',['../d4/dfb/namespacecycle__sort.html',1,'']]], - ['cycle_5fsort_2ecpp_191',['cycle_sort.cpp',['../de/d07/cycle__sort_8cpp.html',1,'']]], - ['cyclecheck_192',['CycleCheck',['../d3/dbb/class_cycle_check.html',1,'']]], - ['cyclesort_193',['cycleSort',['../de/d07/cycle__sort_8cpp.html#ae79a9d247691fce0d655fce75f1c04fa',1,'sorting::cycle_sort']]], - ['cylinder_5fsurface_5farea_194',['cylinder_surface_area',['../dd/d47/namespacemath.html#ac5803413618fcfb922cb32c6db0fc864',1,'math']]], - ['cylinder_5fsurface_5fperimeter_195',['cylinder_surface_perimeter',['../dd/d47/namespacemath.html#a1d4df7a4e43a2eac1acc0ac610487c73',1,'math']]], - ['cylinder_5fvolume_196',['cylinder_volume',['../dd/d47/namespacemath.html#abde24398be43538c62e4a496968e60ca',1,'math']]] + ['cache_1',['cache',['../d6/dae/classothers_1_1lru__cache_1_1_l_r_u_cache.html#a3ee3560a6b90e6f50f6e063d690ba8e8',1,'others::lru_cache::LRUCache']]], + ['caesar_2',['caesar',['../dd/d81/namespacecaesar.html',1,'']]], + ['caesar_5fcipher_2ecpp_3',['caesar_cipher.cpp',['../d6/d2c/caesar__cipher_8cpp.html',1,'']]], + ['calculate_4',['calculate',['../d8/db1/binomial__calculate_8cpp.html#aae407a2a13362c4c64fbe509ff325978',1,'math::binomial']]], + ['can_5fjump_5',['can_jump',['../d2/d90/namespacegreedy__algorithms.html#a33e3819aa9ffec0e380383c52603b502',1,'greedy_algorithms']]], + ['canimove_6',['CanIMove',['../da/dac/n__queens__all__solution__optimised_8cpp.html#a9e48455584a4faa33e83dd1891efd9b9',1,'backtracking::n_queens_optimized::CanIMove()'],['../d7/d24/nqueen__print__all__solutions_8cpp.html#aea343d8a72a39c9a4c0fbcbc362f2648',1,'backtracking::n_queens_all_solutions::CanIMove()']]], + ['capacity_7',['capacity',['../d2/d05/class_min_heap.html#a88b4aa3e66392a3eabbf2517a9a79a02',1,'MinHeap::capacity'],['../df/d8f/classothers_1_1_cache_1_1_l_f_u_cache.html#ac27c9076377cbed2a2acc45a189fed2c',1,'others::Cache::LFUCache::capacity()'],['../d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache.html#af8edfe5a7def5d5b846463041c33136a',1,'others::Cache::LRUCache::capacity()']]], + ['cardinality_20matching_8',['Maximum cardinality matching',['../d1/d9a/hopcroft__karp_8cpp.html#autotoc_md79',1,'']]], + ['case_9',['Case',['../d8/d13/bubble__sort_8cpp.html#autotoc_md114',1,'Average Case'],['../d8/d13/bubble__sort_8cpp.html#autotoc_md112',1,'Best Case'],['../d8/d13/bubble__sort_8cpp.html#autotoc_md111',1,'Bubble Sort Algorithm Analysis (Best Case - Worst Case - Average Case)'],['../d8/d13/bubble__sort_8cpp.html#autotoc_md113',1,'Worst Case']]], + ['case_201_3a_20the_20given_20node_20has_20the_20right_20node_20subtree_10',['Case 1: The given node has the right node/subtree',['../d4/d32/inorder__successor__of__bst_8cpp.html#autotoc_md89',1,'']]], + ['case_202_3a_20the_20given_20node_20does_20not_20have_20a_20right_20node_20subtree_11',['Case 2: The given node does not have a right node/subtree',['../d4/d32/inorder__successor__of__bst_8cpp.html#autotoc_md90',1,'']]], + ['case_20average_20case_12',['Bubble Sort Algorithm Analysis (Best Case - Worst Case - Average Case)',['../d8/d13/bubble__sort_8cpp.html#autotoc_md111',1,'']]], + ['case_20worst_20case_20average_20case_13',['Bubble Sort Algorithm Analysis (Best Case - Worst Case - Average Case)',['../d8/d13/bubble__sort_8cpp.html#autotoc_md111',1,'']]], + ['catalan_5fnumbers_14',['catalan_numbers',['../dc/d1f/classcatalan__numbers.html',1,'']]], + ['catalan_5fnumbers_2ecpp_15',['catalan_numbers.cpp',['../de/dd9/catalan__numbers_8cpp.html',1,'']]], + ['chain_5fquery_16',['chain_query',['../d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d.html#a7d5b40c076347a6aabfb37a0590f2f24',1,'range_queries::heavy_light_decomposition::HLD']]], + ['chaining_2ecpp_17',['chaining.cpp',['../d9/d92/chaining_8cpp.html',1,'']]], + ['change_18',['change',['../d1/da6/rungekutta_8cpp.html#a450497475f5607333f9aca8f88901579',1,'rungekutta.cpp']]], + ['change_5froot_19',['change_root',['../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html#ab916d554afa8ca5230b4310c2c69fae0',1,'range_queries::heavy_light_decomposition::Tree']]], + ['changes_20',['Making Changes',['../d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md26',1,'']]], + ['char_5fto_5fint_21',['char_to_int',['../d0/d3e/classdata__structures_1_1trie.html#aab373beb3f618b90922528c68797d988',1,'data_structures::trie']]], + ['char_5fto_5fmorse_22',['char_to_morse',['../d8/d76/morse__code_8cpp.html#ab31773fd11555d21f70d6914138d9535',1,'ciphers::morse']]], + ['check_23',['check',['../d3/d84/word__break_8cpp.html#a272b0f5cdb4e41fd6dee4538b808c06a',1,'dynamic_programming::word_break']]], + ['check_5fall_5fzeros_24',['check_all_zeros',['../d1/d11/gcd__of__n__numbers_8cpp.html#a71b9357c7a722f8208499d9ba573297a',1,'math::gcd_of_n_numbers']]], + ['check_5famicable_5fpair_2ecpp_25',['check_amicable_pair.cpp',['../d5/df6/check__amicable__pair_8cpp.html',1,'']]], + ['check_5ffactorial_2ecpp_26',['check_factorial.cpp',['../d8/dd5/check__factorial_8cpp.html',1,'']]], + ['check_5fif_5fequal_27',['check_if_equal',['../d9/d03/namespacestring__search.html#aebe07cea289a13142503d98be7df11fd',1,'string_search']]], + ['check_5fprime_2ecpp_28',['check_prime.cpp',['../db/d93/check__prime_8cpp.html',1,'']]], + ['check_5fsize_5fmatch_29',['check_size_match',['../d6/d30/classmachine__learning_1_1adaline.html#ac8a9c2aaaa63b0f27ea176857e1e7d56',1,'machine_learning::adaline']]], + ['check_5ftermination_30',['check_termination',['../da/df2/durand__kerner__roots_8cpp.html#a024b8bc4755863315456d573a6732377',1,'durand_kerner_roots.cpp']]], + ['checkbipartite_31',['checkBipartite',['../df/dce/namespacegraph.html#a8e1b547cd407c0774e63f0dc95cda9e7',1,'graph']]], + ['children_32',['children',['../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#ad5d6b6ce5fab21ccc88c6bf3153eee5d',1,'data_structures::tree_234::Node::children'],['../d5/d12/structdata__structures_1_1trie__using__hashmap_1_1_trie_1_1_node.html#a08212cdc99164b59da91b81f45e2f88e',1,'data_structures::trie_using_hashmap::Trie::Node::children']]], + ['childs_33',['childs',['../d5/d95/structdata__structures_1_1treap_1_1_treap.html#ab99f68b79e1c4ff0f1cd6f2f0b6a545f',1,'data_structures::treap::Treap']]], + ['ciphers_34',['Ciphers',['../d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md47',1,'']]], + ['ciphers_35',['ciphers',['../d6/d4e/namespaceciphers.html',1,'']]], + ['ciphers_3a_3aelliptic_5fcurve_5fkey_5fexchange_36',['elliptic_curve_key_exchange',['../df/d6b/namespaceciphers_1_1elliptic__curve__key__exchange.html',1,'ciphers']]], + ['ciphers_5fuint128_5ft_5fhpp_5f_37',['CIPHERS_UINT128_T_HPP_',['../da/d41/uint128__t_8hpp.html#acce684d03a24f9c13a9ed36de6d24a57',1,'uint128_t.hpp']]], + ['ciphers_5fuint256_5ft_5fhpp_5f_38',['CIPHERS_UINT256_T_HPP_',['../da/da3/uint256__t_8hpp.html#a1d8c5ec5b5e419c5c8a740251485102c',1,'uint256_t.hpp']]], + ['circle_39',['circle',['../d0/d01/smallest__circle_8cpp.html#a0b0676df8e4da7a08c7ccaecea344903',1,'smallest_circle.cpp']]], + ['circle_5farea_40',['circle_area',['../dd/d47/namespacemath.html#a40e36c67da78d2131408c57ee091ad75',1,'math']]], + ['circle_5fperimeter_41',['circle_perimeter',['../dd/d47/namespacemath.html#ad0acf82b7bc920182bf8322d1e103953',1,'math']]], + ['circular_5flinked_5flist_42',['circular_linked_list',['../d4/dcd/namespacecircular__linked__list.html',1,'']]], + ['circular_5flinked_5flist_2ecpp_43',['circular_linked_list.cpp',['../de/d33/circular__linked__list_8cpp.html',1,'']]], + ['circularlinkedlist_44',['CircularLinkedList',['../d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list.html',1,'operations_on_datastructures::circular_linked_list::CircularLinkedList'],['../d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list.html#aa704319924f97fedfb41caf193a00888',1,'operations_on_datastructures::circular_linked_list::CircularLinkedList::CircularLinkedList()'],['../d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list.html#a142fa439b102c6f86341f421ddcfe0a1',1,'operations_on_datastructures::circular_linked_list::CircularLinkedList::CircularLinkedList(const CircularLinkedList &copy)'],['../d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list.html#abde75f6ee432b0378d264da8c7c64db2',1,'operations_on_datastructures::circular_linked_list::CircularLinkedList::CircularLinkedList(CircularLinkedList &&source) noexcept']]], + ['clear_45',['clear',['../db/da9/classqueue.html#a6ed7f8dfefe8687841f36f2223069375',1,'queue::clear()'],['../d1/dc2/classstack.html#a6f13157faa1a762c59e67da8b9516092',1,'stack::clear()']]], + ['cll_46',['cll',['../d5/d15/classcll.html',1,'']]], + ['cmake_20in_20a_20new_20directory_47',['Integrating CMake in a new directory',['../d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md34',1,'']]], + ['cnt_48',['cnt',['../d5/d95/structdata__structures_1_1treap_1_1_treap.html#af7e6c6620ab32bc96633d101245fa919',1,'data_structures::treap::Treap']]], + ['code_49',['Code',['../d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md27',1,'']]], + ['code_20analyzer_50',['Static Code Analyzer',['../d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md38',1,'']]], + ['code_20formatter_51',['Code Formatter',['../d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md39',1,'']]], + ['code_20of_20conduct_52',['Contributor Covenant Code of Conduct',['../d3/dd7/md__c_o_d_e___o_f___c_o_n_d_u_c_t.html',1,'']]], + ['code_20style_20convention_53',['Code style convention',['../dc/d64/md__coding_guidelines.html',1,'']]], + ['code_20style_20conventions_54',['Code style conventions',['../dc/d64/md__coding_guidelines.html#autotoc_md20',1,'']]], + ['codec_55',['codec',['../d6/d26/classciphers_1_1_hill_cipher.html#ad667fa0860977f6d6d443fa1dbcd80aa',1,'ciphers::HillCipher']]], + ['coin_5fchange_5ftopdown_2ecpp_56',['coin_change_topdown.cpp',['../d9/d31/coin__change__topdown_8cpp.html',1,'']]], + ['comb_57',['comb',['../dd/d95/classdata__structures_1_1_segment_tree.html#a8d22286b7be3dcbb701ac5c7d9c79841',1,'data_structures::SegmentTree']]], + ['comb_5fsort_2ecpp_58',['comb_sort.cpp',['../d9/dfd/comb__sort_8cpp.html',1,'']]], + ['combine_59',['combine',['../d9/d35/classrange__queries_1_1heavy__light__decomposition_1_1_s_g.html#a41c733f5f5e262b308f7cb95c88c1e74',1,'range_queries::heavy_light_decomposition::SG']]], + ['combsort_60',['CombSort',['../d9/dfd/comb__sort_8cpp.html#a0f4e7569090083fb53d5cdeaf0e2974f',1,'comb_sort.cpp']]], + ['commit_20guidelines_61',['Commit Guidelines',['../d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md35',1,'']]], + ['compare_62',['Compare',['../de/d4a/class_compare.html',1,'']]], + ['compare_63',['compare',['../d1/db3/structcompare.html',1,'compare'],['../d4/d7a/shell__sort2_8cpp.html#a7eb77daed2cf1513f6d68c47a1c2db1c',1,'compare(const void *a, const void *b): shell_sort2.cpp']]], + ['comparison_5foperator_64',['comparison_operator',['../d3/d2a/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1comparison__operator.html',1,'machine_learning::aystar_search::AyStarSearch']]], + ['complex_65',['Complex',['../da/d5a/class_complex.html',1,'Complex'],['../da/d5a/class_complex.html#a3cfc522c782726f49ee20af17b77f867',1,'Complex::Complex(double x=0.f, double y=0.f, bool is_polar=false)'],['../da/d5a/class_complex.html#a466cd7b664cc6a864937ceb3dead1323',1,'Complex::Complex(const Complex &other)']]], + ['complex_5fnumbers_2ecpp_66',['complex_numbers.cpp',['../d5/d67/complex__numbers_8cpp.html',1,'']]], + ['complex_5fstr_67',['complex_str',['../da/df2/durand__kerner__roots_8cpp.html#a90219e35062007d1f1b68e9af071ab5c',1,'durand_kerner_roots.cpp']]], + ['composite_5fsimpson_5frule_2ecpp_68',['composite_simpson_rule.cpp',['../d4/d18/composite__simpson__rule_8cpp.html',1,'']]], + ['compute_5fpadded_5fsize_69',['compute_padded_size',['../d4/d08/sha256_8cpp.html#a28c1c6724dc6bcf91a39818699bbec27',1,'hashing::sha256']]], + ['computefactorialsmod_70',['computeFactorialsMod',['../d6/dc1/classmath_1_1ncr__modulo__p_1_1_n_c_r_modulo_p.html#ab5744fa589f6a48f9fe7bca13dbe661f',1,'math::ncr_modulo_p::NCRModuloP']]], + ['concept_71',['Concept',['../d1/d9a/hopcroft__karp_8cpp.html#autotoc_md81',1,'']]], + ['conduct_72',['Contributor Covenant Code of Conduct',['../d3/dd7/md__c_o_d_e___o_f___c_o_n_d_u_c_t.html',1,'']]], + ['cone_5fvolume_73',['cone_volume',['../dd/d47/namespacemath.html#a3fe35440c27758ecc2287e08217d63a7',1,'math']]], + ['connected_5fcomponents_2ecpp_74',['connected_components.cpp',['../df/ddd/connected__components_8cpp.html',1,'']]], + ['connected_5fcomponents_5fwith_5fdsu_2ecpp_75',['connected_components_with_dsu.cpp',['../d8/d99/connected__components__with__dsu_8cpp.html',1,'']]], + ['conquer_76',['Divide And Conquer',['../d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md50',1,'']]], + ['constree_77',['ConsTree',['../d2/d45/segtree_8cpp.html#ae752659b7c1719d68fdb2ca538a93696',1,'segtree.cpp']]], + ['construct_78',['construct',['../d8/d28/classrange__queries_1_1per_seg_tree.html#a6d3f2465a7c5803a1ff16c5378bcc5e4',1,'range_queries::perSegTree::construct(const uint32_t &i, const uint32_t &j)'],['../d8/d28/classrange__queries_1_1per_seg_tree.html#ac83bcabf5a8db8b0d8d156a4c1bcd4c3',1,'range_queries::perSegTree::construct(const std::vector< int64_t > &vec)']]], + ['contains_79',['Contains',['../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a22fd25c6c811c64b6b27b0850d8c532f',1,'data_structures::tree_234::Node']]], + ['contains_80',['contains',['../d9/dde/classbinary__search__tree.html#aa4f84b2eec9b9201af1840868ddb5fb2',1,'binary_search_tree::contains(std::unique_ptr< bst_node > &node, T value)'],['../d9/dde/classbinary__search__tree.html#a6bf5b410299df2320ddf2709dda61f63',1,'binary_search_tree::contains(T value)'],['../d9/dae/classdata__structures_1_1_bitset.html#a9ef54c7c3f6494b36ead3ae2e5cf43ac',1,'data_structures::Bitset::contains()'],['../dc/dd4/classdata__structures_1_1_bloom_filter.html#a576db259488dbfb67624a9652a5ab08b',1,'data_structures::BloomFilter::contains()']]], + ['contributing_81',['Contributing',['../d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md23',1,'']]], + ['contributing_82',['Before contributing',['../d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md22',1,'']]], + ['contribution_20guidelines_83',['CONTRIBUTION GUIDELINES',['../d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html',1,'']]], + ['contributions_84',['Contributions',['../index.html#autotoc_md106',1,'']]], + ['contributor_85',['Contributor',['../d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md25',1,'']]], + ['contributor_20covenant_20code_20of_20conduct_86',['Contributor Covenant Code of Conduct',['../d3/dd7/md__c_o_d_e___o_f___c_o_n_d_u_c_t.html',1,'']]], + ['convention_87',['Code style convention',['../dc/d64/md__coding_guidelines.html',1,'']]], + ['conventions_88',['Code style conventions',['../dc/d64/md__coding_guidelines.html#autotoc_md20',1,'']]], + ['convexhull_89',['Convexhull',['../d4/dde/classgeometry_1_1jarvis_1_1_convexhull.html',1,'geometry::jarvis::Convexhull'],['../d4/dde/classgeometry_1_1jarvis_1_1_convexhull.html#a8306e48040a8570e164c58d1c530f870',1,'geometry::jarvis::Convexhull::Convexhull()']]], + ['copy_5fall_5fnodes_90',['copy_all_nodes',['../d6/d05/reverse__a__linked__list_8cpp.html#a7f80d9712cc7d77399dcacb4c2917511',1,'data_structures::linked_list']]], + ['correction_91',['1. Correction',['../d3/dd7/md__c_o_d_e___o_f___c_o_n_d_u_c_t.html#autotoc_md11',1,'']]], + ['count_92',['count',['../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a934e6d53cfefae2b971e1241a8a4c921',1,'data_structures::tree_234::Node']]], + ['count_5fbits_5fflip_93',['count_bits_flip',['../d4/d38/namespacecount__bits__flip.html',1,'']]], + ['count_5fbits_5fflip_2ecpp_94',['count_bits_flip.cpp',['../d7/d56/count__bits__flip_8cpp.html',1,'']]], + ['count_5finversions_2ecpp_95',['count_inversions.cpp',['../d2/d26/count__inversions_8cpp.html',1,'']]], + ['count_5fof_5fset_5fbits_96',['count_of_set_bits',['../dd/dae/namespacecount__of__set__bits.html',1,'']]], + ['count_5fof_5fset_5fbits_2ecpp_97',['count_of_set_bits.cpp',['../da/db8/count__of__set__bits_8cpp.html',1,'']]], + ['count_5fof_5ftrailing_5fciphers_5fin_5ffactorial_5fn_98',['count_of_trailing_ciphers_in_factorial_n',['../dc/d2f/namespacecount__of__trailing__ciphers__in__factorial__n.html',1,'']]], + ['count_5fof_5ftrailing_5fciphers_5fin_5ffactorial_5fn_2ecpp_99',['count_of_trailing_ciphers_in_factorial_n.cpp',['../da/d50/count__of__trailing__ciphers__in__factorial__n_8cpp.html',1,'']]], + ['countbitsflip_100',['countBitsFlip',['../d7/d56/count__bits__flip_8cpp.html#a2548486b6c3b80101e768562e687ef7b',1,'bit_manipulation::count_bits_flip']]], + ['countinversion_101',['countInversion',['../d2/d26/count__inversions_8cpp.html#a3332498eabf6579ef059c0d0e9f4ec80',1,'sorting::inversion']]], + ['countsetbits_102',['countSetBits',['../da/db8/count__of__set__bits_8cpp.html#a86c98dc299e4db28b73e08309d977e62',1,'bit_manipulation::count_of_set_bits']]], + ['covenant_20code_20of_20conduct_103',['Contributor Covenant Code of Conduct',['../d3/dd7/md__c_o_d_e___o_f___c_o_n_d_u_c_t.html',1,'']]], + ['cpu_20scheduling_20algorithms_104',['Cpu Scheduling Algorithms',['../d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md48',1,'']]], + ['create_5fhash_105',['create_hash',['../d9/d03/namespacestring__search.html#a8fb0bc932ba8b582c9f4c71338d050f8',1,'string_search']]], + ['create_5flist_106',['create_list',['../d1/df3/hash__search_8cpp.html#ad0831425f1389166a9518f422d0c6ec5',1,'hash_search.cpp']]], + ['create_5fmatrix_107',['create_matrix',['../de/d75/qr__eigen__values_8cpp.html#a9bbf469d5525a816b0d6ca812119093d',1,'qr_eigen_values.cpp']]], + ['create_5fmessage_5fschedule_5farray_108',['create_message_schedule_array',['../d4/d08/sha256_8cpp.html#a525531b3939ed44fbf01674e21931b3a',1,'hashing::sha256']]], + ['create_5frandom_5farray_109',['create_random_array',['../dd/d0d/insertion__sort_8cpp.html#a59914553f24088342c139645a02a8a49',1,'create_random_array(T *arr, int N): insertion_sort.cpp'],['../dd/d89/insertion__sort__recursive_8cpp.html#a59914553f24088342c139645a02a8a49',1,'create_random_array(T *arr, int N): insertion_sort_recursive.cpp']]], + ['createnewnode_110',['createNewNode',['../d9/d12/classothers_1_1iterative__tree__traversals_1_1_binary_tree.html#a3078a5ccf45d6a7031dcf46e43de65b6',1,'others::iterative_tree_traversals::BinaryTree::createNewNode()'],['../dd/de1/classothers_1_1recursive__tree__traversals_1_1_b_t.html#af16da5fe0f5c54d31778d71d5a042114',1,'others::recursive_tree_traversals::BT::createNewNode()']]], + ['createnode_111',['createNode',['../d8/dee/avltree_8cpp.html#a48d897353aeb6a721dbc6b6c57e035e6',1,'avltree.cpp']]], + ['createset_112',['CreateSet',['../de/d23/disjoint__set_8cpp.html#a010965fc5f16cca5a62506afab24e4ec',1,'disjoint_set.cpp']]], + ['cross_113',['cross',['../df/d66/vector__cross__product_8cpp.html#a225732399c5c076976eae5b180a9f8c9',1,'math::vector_cross']]], + ['cube_5fsurface_5farea_114',['cube_surface_area',['../dd/d47/namespacemath.html#abc46c784a297fc1d2eb8b33a327fba4c',1,'math']]], + ['cube_5fsurface_5fperimeter_115',['cube_surface_perimeter',['../dd/d47/namespacemath.html#a8998ca7b1886d1d7d00aef3b457a9b1b',1,'math']]], + ['cube_5fvolume_116',['cube_volume',['../dd/d47/namespacemath.html#ae413098478fa38acaac887b7654f0725',1,'math']]], + ['cumulative_5fdistribution_117',['cumulative_distribution',['../da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution.html#a08328dc7d62188427111f176b56a105a',1,'probability::geometric_dist::geometric_distribution']]], + ['current_5fsize_118',['current_size',['../db/d5b/structdata__structures_1_1stack__using__queue_1_1_stack.html#afdfd2f4418c70b1bda50f2c3e416d80b',1,'data_structures::stack_using_queue::Stack']]], + ['cut_5frod_119',['cut_rod',['../d8/d36/namespacecut__rod.html',1,'']]], + ['cut_5frod_2ecpp_120',['cut_rod.cpp',['../d6/d10/cut__rod_8cpp.html',1,'']]], + ['cycle_5fdetection_121',['cycle_detection',['../da/d82/namespacecycle__detection.html',1,'']]], + ['cycle_5fsort_122',['cycle_sort',['../d4/dfb/namespacecycle__sort.html',1,'']]], + ['cycle_5fsort_2ecpp_123',['cycle_sort.cpp',['../de/d07/cycle__sort_8cpp.html',1,'']]], + ['cyclecheck_124',['CycleCheck',['../d3/dbb/class_cycle_check.html',1,'']]], + ['cyclesort_125',['cycleSort',['../de/d07/cycle__sort_8cpp.html#ae79a9d247691fce0d655fce75f1c04fa',1,'sorting::cycle_sort']]], + ['cylinder_5fsurface_5farea_126',['cylinder_surface_area',['../dd/d47/namespacemath.html#ac5803413618fcfb922cb32c6db0fc864',1,'math']]], + ['cylinder_5fsurface_5fperimeter_127',['cylinder_surface_perimeter',['../dd/d47/namespacemath.html#a1d4df7a4e43a2eac1acc0ac610487c73',1,'math']]], + ['cylinder_5fvolume_128',['cylinder_volume',['../dd/d47/namespacemath.html#abde24398be43538c62e4a496968e60ca',1,'math']]] ]; diff --git a/search/all_9.js b/search/all_9.js index a4e5574ae..616c00d9e 100644 --- a/search/all_9.js +++ b/search/all_9.js @@ -2,162 +2,93 @@ var searchData= [ ['d_5fnode_0',['D_Node',['../de/d21/classothers_1_1_cache_1_1_d___node.html',1,'others::Cache']]], ['d_5fnode_3c_20k_2c_20v_20_3e_1',['D_Node< K, V >',['../de/d21/classothers_1_1_cache_1_1_d___node.html',1,'others::Cache']]], - ['data_2',['data',['../d9/dae/classdata__structures_1_1_bitset.html#ae86688cf99b77342deedb75149573e73',1,'data_structures::Bitset::data'],['../da/d16/structoperations__on__datastructures_1_1circular__linked__list_1_1_node.html#a7461292b8b91aed86404d0ab019dfdd1',1,'operations_on_datastructures::circular_linked_list::Node::data'],['../d5/db5/classoperations__on__datastructures_1_1inorder__traversal__of__bst_1_1_node.html#ae161f3e5ef33ade73429cab9291612e2',1,'operations_on_datastructures::inorder_traversal_of_bst::Node::data'],['../d8/dfd/structoperations__on__datastructures_1_1reverse__binary__tree_1_1_node.html#ae54953a75091532303bb08d55087077f',1,'operations_on_datastructures::reverse_binary_tree::Node::data'],['../d2/d9a/structothers_1_1iterative__tree__traversals_1_1_node.html#ad443d44275337b9e361375ce66f1104f',1,'others::iterative_tree_traversals::Node::data'],['../de/d21/classothers_1_1_cache_1_1_d___node.html#a8902e7ff872fa3c80fe6ce5f5cf5cc75',1,'others::Cache::D_Node::data'],['../d9/df7/structothers_1_1recursive__tree__traversals_1_1_node.html#a59cc94ba784aeaefec2e915ddfdb1ade',1,'others::recursive_tree_traversals::Node::data'],['../da/d61/structsearch_1_1sublist__search_1_1_node.html#a912ae0b339da401fc33ad21494c60e2b',1,'search::sublist_search::Node::data'],['http://en.cppreference.com/w/cpp/container/dynarray/data.html',0,'std::dynarray::data()'],['http://en.cppreference.com/w/cpp/container/vector/data.html',0,'std::vector::data()'],['http://en.cppreference.com/w/cpp/string/basic_string/data.html',0,'std::string::data()'],['http://en.cppreference.com/w/cpp/string/basic_string/data.html',0,'std::basic_string::data()'],['http://en.cppreference.com/w/cpp/string/basic_string/data.html',0,'std::wstring::data()'],['http://en.cppreference.com/w/cpp/string/basic_string/data.html',0,'std::u16string::data()'],['http://en.cppreference.com/w/cpp/string/basic_string/data.html',0,'std::u32string::data()'],['http://en.cppreference.com/w/cpp/container/array/data.html',0,'std::array::data()'],['../d1/df3/hash__search_8cpp.html#a6e1a77282bc65ad359d753d25df23243',1,'data: hash_search.cpp']]], + ['data_2',['data',['../d9/dae/classdata__structures_1_1_bitset.html#ae86688cf99b77342deedb75149573e73',1,'data_structures::Bitset::data'],['../da/d16/structoperations__on__datastructures_1_1circular__linked__list_1_1_node.html#a7461292b8b91aed86404d0ab019dfdd1',1,'operations_on_datastructures::circular_linked_list::Node::data'],['../d5/db5/classoperations__on__datastructures_1_1inorder__traversal__of__bst_1_1_node.html#ae161f3e5ef33ade73429cab9291612e2',1,'operations_on_datastructures::inorder_traversal_of_bst::Node::data'],['../d8/dfd/structoperations__on__datastructures_1_1reverse__binary__tree_1_1_node.html#ae54953a75091532303bb08d55087077f',1,'operations_on_datastructures::reverse_binary_tree::Node::data'],['../d2/d9a/structothers_1_1iterative__tree__traversals_1_1_node.html#ad443d44275337b9e361375ce66f1104f',1,'others::iterative_tree_traversals::Node::data'],['../de/d21/classothers_1_1_cache_1_1_d___node.html#a8902e7ff872fa3c80fe6ce5f5cf5cc75',1,'others::Cache::D_Node::data'],['../d9/df7/structothers_1_1recursive__tree__traversals_1_1_node.html#a59cc94ba784aeaefec2e915ddfdb1ade',1,'others::recursive_tree_traversals::Node::data'],['../da/d61/structsearch_1_1sublist__search_1_1_node.html#a912ae0b339da401fc33ad21494c60e2b',1,'search::sublist_search::Node::data'],['../d1/df3/hash__search_8cpp.html#a6e1a77282bc65ad359d753d25df23243',1,'data: hash_search.cpp']]], ['data_20structure_20used_3',['Data Structure used',['../d3/db3/lru__cache_8cpp.html#autotoc_md98',1,'']]], ['data_20structures_4',['Data Structures',['../d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md49',1,'']]], ['data_5fstructures_5',['data_structures',['../d5/d3c/namespacedata__structures.html',1,'']]], ['data_5fstructures_3a_3atreap_6',['treap',['../dd/d2e/namespacedata__structures_1_1treap.html',1,'data_structures']]], ['datastructures_7',['Operations On Datastructures',['../d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md61',1,'']]], - ['date_5forder_8',['date_order',['http://en.cppreference.com/w/cpp/locale/time_get/date_order.html',0,'std::time_get::date_order()'],['http://en.cppreference.com/w/cpp/locale/time_get/date_order.html',0,'std::time_get_byname::date_order()']]], - ['day_9',['day',['../d1/df6/class_easter_year_month_day.html#ade0b934e5b1af24e19ff959673b2ec51',1,'EasterYearMonthDay']]], - ['deallocate_10',['deallocate',['http://en.cppreference.com/w/cpp/memory/allocator_traits/deallocate.html',0,'std::allocator_traits::deallocate()'],['http://en.cppreference.com/w/cpp/memory/allocator/deallocate.html',0,'std::allocator::deallocate()'],['http://en.cppreference.com/w/cpp/memory/scoped_allocator_adaptor/deallocate.html',0,'std::scoped_allocator_adaptor::deallocate()'],['../d4/d32/inorder__successor__of__bst_8cpp.html#a7b20eb99272665c1777949e26ab59589',1,'operations_on_datastructures::inorder_traversal_of_bst::deallocate()']]], - ['dec_11',['dec',['http://en.cppreference.com/w/cpp/io/manip/hex.html',0,'std']]], - ['deca_12',['deca',['http://en.cppreference.com/w/cpp/numeric/ratio/ratio.html',0,'std']]], - ['decay_13',['decay',['http://en.cppreference.com/w/cpp/types/decay.html',0,'std']]], - ['deci_14',['deci',['http://en.cppreference.com/w/cpp/numeric/ratio/ratio.html',0,'std']]], - ['decimal_5fpoint_15',['decimal_point',['http://en.cppreference.com/w/cpp/locale/moneypunct/decimal_point.html',0,'std::moneypunct_byname::decimal_point()'],['http://en.cppreference.com/w/cpp/locale/moneypunct/decimal_point.html',0,'std::moneypunct::decimal_point()'],['http://en.cppreference.com/w/cpp/locale/numpunct/decimal_point.html',0,'std::numpunct_byname::decimal_point()'],['http://en.cppreference.com/w/cpp/locale/numpunct/decimal_point.html',0,'std::numpunct::decimal_point()']]], - ['decimal_5fto_5fbinary_2ecpp_16',['decimal_to_binary.cpp',['../df/d06/decimal__to__binary_8cpp.html',1,'']]], - ['decimal_5fto_5fhexadecimal_2ecpp_17',['decimal_to_hexadecimal.cpp',['../da/de7/decimal__to__hexadecimal_8cpp.html',1,'']]], - ['decimal_5fto_5froman_5fnumeral_2ecpp_18',['decimal_to_roman_numeral.cpp',['../de/d85/decimal__to__roman__numeral_8cpp.html',1,'']]], - ['declare_5fno_5fpointers_19',['declare_no_pointers',['http://en.cppreference.com/w/cpp/memory/gc/declare_no_pointers.html',0,'std']]], - ['declare_5freachable_20',['declare_reachable',['http://en.cppreference.com/w/cpp/memory/gc/declare_reachable.html',0,'std']]], - ['declval_21',['declval',['http://en.cppreference.com/w/cpp/utility/declval.html',0,'std']]], - ['decreasekey_22',['decreaseKey',['../d2/d05/class_min_heap.html#aa7f726cc6327955d22871592227432f5',1,'MinHeap']]], - ['decrypt_23',['decrypt',['../de/db6/a1z26__cipher_8cpp.html#a0a78954e96c862430904ee3e64623c38',1,'ciphers::a1z26::decrypt()'],['../d6/d2c/caesar__cipher_8cpp.html#a355e69511cd2006b5c4c80ae95b71056',1,'ciphers::caesar::decrypt()'],['../d8/d76/morse__code_8cpp.html#a15c66ec8cf4cef0a35c50cbab86965dc',1,'ciphers::morse::decrypt()'],['../dd/d12/vigenere__cipher_8cpp.html#a3cfc3f9b20a0f230a2fcefd31dc6848e',1,'ciphers::vigenere::decrypt()'],['../d3/d4c/xor__cipher_8cpp.html#a6099b7e0f1793f418d2c1befca8355a4',1,'ciphers::XOR::decrypt()']]], - ['decrypt_5ftext_24',['decrypt_text',['../d6/d26/classciphers_1_1_hill_cipher.html#a427acfac1dbff3f48a2b071d449d965b',1,'ciphers::HillCipher']]], - ['default_5fdelete_25',['default_delete',['http://en.cppreference.com/w/cpp/memory/default_delete.html',0,'std::default_delete'],['http://en.cppreference.com/w/cpp/memory/default_delete.html',0,'std::default_delete::default_delete()']]], - ['default_5ferror_5fcondition_26',['default_error_condition',['http://en.cppreference.com/w/cpp/error/error_code/default_error_condition.html',0,'std::error_code::default_error_condition()'],['http://en.cppreference.com/w/cpp/error/error_category/default_error_condition.html',0,'std::error_category::default_error_condition()']]], - ['default_5frandom_5fengine_27',['default_random_engine',['http://en.cppreference.com/w/cpp/numeric/random.html',0,'std']]], - ['defaultfloat_28',['defaultfloat',['http://en.cppreference.com/w/cpp/io/manip/fixed.html',0,'std']]], - ['defer_5flock_5ft_29',['defer_lock_t',['http://en.cppreference.com/w/cpp/thread/lock_tag_t.html',0,'std']]], - ['degrees_5fto_5fradians_30',['degrees_to_radians',['../d9/d29/ground__to__ground__projectile__motion_8cpp.html#ab00e9785fb2670f7af99d6f3d636f87c',1,'physics::ground_to_ground_projectile_motion']]], - ['delete_31',['Delete',['../d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html#aefd24626ac47277431c9b8604e064340',1,'operations_on_datastructures::trie_operations::Tnode']]], - ['delete_5fall_5fnodes_32',['delete_all_nodes',['../d1/def/classdata__structures_1_1linked__list_1_1list.html#ac614ed8f1953f5486fab1cd6d7aa0500',1,'data_structures::linked_list::list']]], - ['delete_5fword_33',['delete_word',['../d3/d26/classdata__structures_1_1trie__using__hashmap_1_1_trie.html#ac0bf3d6791cba144b3f539835d835e75',1,'data_structures::trie_using_hashmap::Trie']]], - ['deleteallnodes_34',['deleteAllNodes',['../d8/dee/avltree_8cpp.html#a82659e9e223e520cf91d7e55c4a3f88c',1,'avltree.cpp']]], - ['deleteelement_35',['deleteElement',['../d4/d90/classdata__structures_1_1_skip_list.html#a86925c53e139cc6c3f7df1e9003bb0b0',1,'data_structures::SkipList']]], - ['deletefrom_36',['DeleteFrom',['../d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html#adef6940391f981ab86767775176b7169',1,'operations_on_datastructures::trie_operations::Tnode']]], - ['deletekey_37',['deleteKey',['../d2/d05/class_min_heap.html#a37ac126eabb0c3ce04047172abccca29',1,'MinHeap']]], - ['deletenode_38',['DeleteNode',['../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a273511e84a5243ffffe81be28bd24855',1,'data_structures::tree_234::Tree234']]], - ['deletenode_39',['deleteNode',['../d8/dee/avltree_8cpp.html#aa29a7fdc2db1784f5a6e25025ff7cbf5',1,'avltree.cpp']]], - ['deletestring_40',['deleteString',['../d0/d3e/classdata__structures_1_1trie.html#aeac27cfd397d2dd3f2f519efffafeeab',1,'data_structures::trie']]], - ['denorm_5fmin_41',['denorm_min',['http://en.cppreference.com/w/cpp/types/numeric_limits/denorm_min.html',0,'std::numeric_limits']]], - ['denselayer_42',['DenseLayer',['../dc/d93/classmachine__learning_1_1neural__network_1_1layers_1_1_dense_layer.html',1,'machine_learning::neural_network::layers::DenseLayer'],['../dc/d93/classmachine__learning_1_1neural__network_1_1layers_1_1_dense_layer.html#a11046825be0b6dbb73fbe834aa49200e',1,'machine_learning::neural_network::layers::DenseLayer::DenseLayer(const int &neurons, const std::string &activation, const std::pair< size_t, size_t > &kernel_shape, const bool &random_kernel)'],['../dc/d93/classmachine__learning_1_1neural__network_1_1layers_1_1_dense_layer.html#af136ec31dbd35b1be2eb9a057677c704',1,'machine_learning::neural_network::layers::DenseLayer::DenseLayer(const int &neurons, const std::string &activation, const std::vector< std::valarray< double > > &kernel)'],['../dc/d93/classmachine__learning_1_1neural__network_1_1layers_1_1_dense_layer.html#a2871146feaaa453558239df67b21e0d2',1,'machine_learning::neural_network::layers::DenseLayer::DenseLayer(const DenseLayer &layer)=default'],['../dc/d93/classmachine__learning_1_1neural__network_1_1layers_1_1_dense_layer.html#a6c859e3737aa88b29854df0347b29f4e',1,'machine_learning::neural_network::layers::DenseLayer::DenseLayer(DenseLayer &&)=default']]], - ['densities_43',['densities',['http://en.cppreference.com/w/cpp/numeric/random/piecewise_constant_distribution/params.html',0,'std::piecewise_constant_distribution::densities()'],['http://en.cppreference.com/w/cpp/numeric/random/piecewise_linear_distribution/params.html',0,'std::piecewise_linear_distribution::densities()']]], - ['depth_44',['depth',['../dd/d1f/classdsu.html#a4bf54d33fba178998dbbe4c57f2e9429',1,'dsu::depth'],['../da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html#a003a30bb165be50ce503c17df90c128d',1,'machine_learning::aystar_search::AyStarSearch::Info::depth']]], - ['depth_5ffirst_5fsearch_45',['depth_first_search',['../d8/da7/namespacedepth__first__search.html',1,'depth_first_search'],['../df/dce/namespacegraph.html#ab5428a3519267a28bba4b4310cfbb6ae',1,'graph::depth_first_search()']]], - ['depth_5ffirst_5fsearch_2ecpp_46',['depth_first_search.cpp',['../da/d8d/depth__first__search_8cpp.html',1,'']]], - ['depth_5ffirst_5fsearch_5fwith_5fstack_2ecpp_47',['depth_first_search_with_stack.cpp',['../da/d4b/depth__first__search__with__stack_8cpp.html',1,'']]], - ['deque_48',['deque',['http://en.cppreference.com/w/cpp/container/deque.html',0,'std::deque< T >'],['http://en.cppreference.com/w/cpp/container/deque/deque.html',0,'std::deque::deque()']]], - ['dequeue_49',['deQueue',['../db/da9/classqueue.html#af27dbb72fb63f58f817a88550d7faa85',1,'queue']]], - ['dequeue_50',['dequeue',['../d6/d04/classdata__structures_1_1queue__using__array_1_1_queue___array.html#a2aaf88c9954ef3ab686f8e4bfbd87622',1,'data_structures::queue_using_array::Queue_Array']]], - ['destroy_51',['destroy',['http://en.cppreference.com/w/cpp/memory/allocator_traits/destroy.html',0,'std::allocator_traits::destroy()'],['http://en.cppreference.com/w/cpp/memory/allocator/destroy.html',0,'std::allocator::destroy()'],['http://en.cppreference.com/w/cpp/memory/scoped_allocator_adaptor/destroy.html',0,'std::scoped_allocator_adaptor::destroy()']]], - ['detach_52',['detach',['http://en.cppreference.com/w/cpp/thread/thread/detach.html',0,'std::thread']]], - ['determinant_5flu_53',['determinant_lu',['../d1/dbe/lu__decomposition_8h.html#a3108d43bd32c6fb3b3c158476c51ba7f',1,'lu_decomposition.h']]], - ['dfs_54',['dfs',['../d8/d69/classgraph_1_1_h_k_graph.html#ae794950cb3407b6b47d3dc986cf714c0',1,'graph::HKGraph::dfs()'],['../da/d4b/depth__first__search__with__stack_8cpp.html#a5738da9f508f6a9e87f123c9fb6f2ea9',1,'graph::depth_first_search::dfs()'],['../d8/db9/topological__sort_8cpp.html#abcbcaa2bb70af0a11d0c090ea1796aea',1,'graph::topological_sort::dfs()']]], - ['dfs_5fhc_55',['dfs_hc',['../d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d.html#af64848d6630c39d0f09ce2359cc7c4f8',1,'range_queries::heavy_light_decomposition::HLD']]], - ['dfs_5flabels_56',['dfs_labels',['../d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d.html#a0579062b384e54b611b80c6337c7f2c8',1,'range_queries::heavy_light_decomposition::HLD']]], - ['dfs_5flca_57',['dfs_lca',['../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html#ae8de7aefcb6635d3dacdd174cd4890c4',1,'range_queries::heavy_light_decomposition::Tree']]], - ['dfs_5fpar_58',['dfs_par',['../d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d.html#a2dfbda148aad0bfaba2ebfda9ebc915a',1,'range_queries::heavy_light_decomposition::HLD']]], - ['dfs_5fsize_59',['dfs_size',['../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html#aa339c31ec74cd86a4842a8b09653d460',1,'range_queries::heavy_light_decomposition::Tree']]], - ['differential_20equations_60',['Ordinary Differential Equations',['../d6/d60/group__ode.html',1,'']]], - ['difftime_61',['difftime',['http://en.cppreference.com/w/cpp/chrono/c/difftime.html',0,'std']]], - ['digit_5fchar_62',['digit_char',['../db/d82/classlarge__number.html#ae35a55607cf52c0b0d485f2129bd39ac',1,'large_number']]], - ['digit_5fseparation_2ecpp_63',['digit_separation.cpp',['../d3/d36/digit__separation_8cpp.html',1,'']]], - ['digitseparation_64',['DigitSeparation',['../da/d49/classgreedy__algorithms_1_1_digit_separation.html',1,'greedy_algorithms::DigitSeparation'],['../da/d49/classgreedy__algorithms_1_1_digit_separation.html#afd54c969a6c9bab16b4a064fbc8ed40e',1,'greedy_algorithms::DigitSeparation::DigitSeparation()']]], - ['digitseparationforwardorder_65',['digitSeparationForwardOrder',['../da/d49/classgreedy__algorithms_1_1_digit_separation.html#a1809ae6828223999374bde5b197a59c8',1,'greedy_algorithms::DigitSeparation']]], - ['digitseparationreverseorder_66',['digitSeparationReverseOrder',['../da/d49/classgreedy__algorithms_1_1_digit_separation.html#a34769a780845e9d4279152899bd3bf79',1,'greedy_algorithms::DigitSeparation']]], - ['dijkstra_67',['dijkstra',['../df/dce/namespacegraph.html#adc68cbc8ba09eb1142265935c0d45b84',1,'graph::dijkstra()'],['../d2/d2f/namespacegreedy__algorithms_1_1dijkstra.html#af915876d0ca33cc71a6a6191a8cd3ccd',1,'greedy_algorithms::dijkstra::dijkstra()']]], - ['dijkstra_2ecpp_68',['dijkstra.cpp',['../d8/d68/dijkstra_8cpp.html',1,'']]], - ['dijkstra_5fgreedy_2ecpp_69',['dijkstra_greedy.cpp',['../da/de8/dijkstra__greedy_8cpp.html',1,'']]], - ['direction_70',['direction',['../d4/db4/struct_segment_intersection.html#a3beb2ac1b35d67354f1dbaf9a971e655',1,'SegmentIntersection']]], - ['directory_71',['Integrating CMake in a new directory',['../d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md34',1,'']]], - ['directory_20guidelines_72',['Directory guidelines',['../d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md33',1,'']]], - ['discard_73',['discard',['http://en.cppreference.com/w/cpp/numeric/random/mersenne_twister_engine/discard.html',0,'std::mt19937_64::discard()'],['http://en.cppreference.com/w/cpp/numeric/random/subtract_with_carry_engine/discard.html',0,'std::ranlux24_base::discard()'],['http://en.cppreference.com/w/cpp/numeric/random/discard_block_engine/discard.html',0,'std::ranlux48::discard()'],['http://en.cppreference.com/w/cpp/numeric/random/discard_block_engine/discard.html',0,'std::discard_block_engine::discard()'],['http://en.cppreference.com/w/cpp/numeric/random/mersenne_twister_engine/discard.html',0,'std::mersenne_twister_engine::discard()'],['http://en.cppreference.com/w/cpp/numeric/random/independent_bits_engine/discard.html',0,'std::independent_bits_engine::discard()'],['http://en.cppreference.com/w/cpp/numeric/random/linear_congruential_engine/discard.html',0,'std::minstd_rand::discard()'],['http://en.cppreference.com/w/cpp/numeric/random/subtract_with_carry_engine/discard.html',0,'std::ranlux48_base::discard()'],['http://en.cppreference.com/w/cpp/numeric/random/mersenne_twister_engine/discard.html',0,'std::mt19937::discard()'],['http://en.cppreference.com/w/cpp/numeric/random/shuffle_order_engine/discard.html',0,'std::shuffle_order_engine::discard()'],['http://en.cppreference.com/w/cpp/numeric/random/discard_block_engine/discard.html',0,'std::ranlux24::discard()'],['http://en.cppreference.com/w/cpp/numeric/random/linear_congruential_engine/discard.html',0,'std::linear_congruential_engine::discard()'],['http://en.cppreference.com/w/cpp/numeric/random/shuffle_order_engine/discard.html',0,'std::knuth_b::discard()'],['http://en.cppreference.com/w/cpp/numeric/random/linear_congruential_engine/discard.html',0,'std::minstd_rand0::discard()'],['http://en.cppreference.com/w/cpp/numeric/random/subtract_with_carry_engine/discard.html',0,'std::subtract_with_carry_engine::discard()']]], - ['discard_5fblock_5fengine_74',['discard_block_engine',['http://en.cppreference.com/w/cpp/numeric/random/discard_block_engine.html',0,'std::discard_block_engine'],['http://en.cppreference.com/w/cpp/numeric/random/discard_block_engine/discard_block_engine.html',0,'std::discard_block_engine::discard_block_engine()']]], - ['discrete_5fdistribution_75',['discrete_distribution',['http://en.cppreference.com/w/cpp/numeric/random/discrete_distribution.html',0,'std::discrete_distribution'],['http://en.cppreference.com/w/cpp/numeric/random/discrete_distribution/discrete_distribution.html',0,'std::discrete_distribution::discrete_distribution()']]], - ['disjoint_5fset_2ecpp_76',['disjoint_set.cpp',['../de/d23/disjoint__set_8cpp.html',1,'']]], - ['disjoint_5funion_77',['disjoint_union',['../de/db4/namespacedisjoint__union.html',1,'']]], - ['display_78',['display',['../d1/def/classdata__structures_1_1linked__list_1_1list.html#a1313837c0e9ec67fd9fbd17987e2d615',1,'data_structures::linked_list::list::display()'],['../db/da9/classqueue.html#a353e4dd5772575905c78b0b30856e368',1,'queue::display()'],['../d6/d04/classdata__structures_1_1queue__using__array_1_1_queue___array.html#a688b7ea064739ea9fa66bf64bf4ae631',1,'data_structures::queue_using_array::Queue_Array::display()'],['../d1/dc2/classstack.html#a8bce109630118a34faae717f72986033',1,'stack::display()'],['../dd/d1c/classhash__chain.html#a706964ad13587fc9a8b3fe8381d410ed',1,'hash_chain::display()'],['../d6/dae/classothers_1_1lru__cache_1_1_l_r_u_cache.html#aad506b1c1a3cd5b93cc7e497626bfb53',1,'others::lru_cache::LRUCache::display()'],['../d0/d65/namespacedouble__hashing.html#a1e901418c759627557eff359b8db38cd',1,'double_hashing::display()'],['../d8/d89/namespacelinear__probing.html#ad87b71d810901fab69c4ad9d4d0fa635',1,'linear_probing::display()'],['../d4/dd2/namespacequadratic__probing.html#a40d617ebf4d6ba21bcda8d8d1faa2357',1,'quadratic_probing::display()'],['../d5/d33/gram__schmidt_8cpp.html#ae6b496dce691e04f7f95ba0f0d33a289',1,'numerical_methods::gram_schmidt::display()']]], - ['displayelements_79',['displayElements',['../d5/d4c/group__sorting.html#ga135e4c638e3bcf548bd122b5f49a3e72',1,'wiggle_sort.cpp']]], - ['displaylist_80',['displayList',['../d4/d90/classdata__structures_1_1_skip_list.html#a812611f80b8079268dbb19cc4e9bee5c',1,'data_structures::SkipList']]], - ['dist_81',['dist',['../d8/d69/classgraph_1_1_h_k_graph.html#a6a0228bbba3818447fcf6b56128b552a',1,'graph::HKGraph']]], - ['distance_82',['distance',['http://en.cppreference.com/w/cpp/iterator/distance.html',0,'std']]], - ['div_83',['div',['http://en.cppreference.com/w/cpp/numeric/math/div.html',0,'std']]], - ['divide_84',['divide',['../db/d9a/classuint128__t.html#a8bf81f7f5f5c98f197822ec88e106c6c',1,'uint128_t::divide()'],['../d1/d83/classuint256__t.html#a8161d52d369e525f4e61129376adfcf1',1,'uint256_t::divide()']]], - ['divide_20and_20conquer_85',['Divide And Conquer',['../d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md50',1,'']]], - ['divide_5fand_5fconquer_86',['divide_and_conquer',['../dd/dba/namespacedivide__and__conquer.html',1,'']]], - ['divides_87',['divides',['http://en.cppreference.com/w/cpp/utility/functional/divides.html',0,'std']]], - ['dnf_5fsort_88',['dnf_sort',['../d9/d75/namespacednf__sort.html',1,'']]], - ['dnf_5fsort_2ecpp_89',['dnf_sort.cpp',['../d6/d1a/dnf__sort_8cpp.html',1,'']]], - ['dnfsort_90',['dnfSort',['../d6/d1a/dnf__sort_8cpp.html#a621767fe711db64fe57a2ac4987b11f0',1,'sorting::dnf_sort']]], - ['do_5falways_5fnoconv_91',['do_always_noconv',['http://en.cppreference.com/w/cpp/locale/codecvt/always_noconv.html',0,'std::codecvt::do_always_noconv()'],['http://en.cppreference.com/w/cpp/locale/codecvt/always_noconv.html',0,'std::codecvt_byname::do_always_noconv()'],['http://en.cppreference.com/w/cpp/locale/codecvt/always_noconv.html',0,'std::codecvt_utf8::do_always_noconv()'],['http://en.cppreference.com/w/cpp/locale/codecvt/always_noconv.html',0,'std::codecvt_utf8_utf16::do_always_noconv()'],['http://en.cppreference.com/w/cpp/locale/codecvt/always_noconv.html',0,'std::codecvt_utf16::do_always_noconv()']]], - ['do_5fclose_92',['do_close',['http://en.cppreference.com/w/cpp/locale/messages/close.html',0,'std::messages_byname::do_close()'],['http://en.cppreference.com/w/cpp/locale/messages/close.html',0,'std::messages::do_close()']]], - ['do_5fcompare_93',['do_compare',['http://en.cppreference.com/w/cpp/locale/collate/compare.html',0,'std::collate_byname::do_compare()'],['http://en.cppreference.com/w/cpp/locale/collate/compare.html',0,'std::collate::do_compare()']]], - ['do_5fcurr_5fsymbol_94',['do_curr_symbol',['http://en.cppreference.com/w/cpp/locale/moneypunct/curr_symbol.html',0,'std::moneypunct_byname::do_curr_symbol()'],['http://en.cppreference.com/w/cpp/locale/moneypunct/curr_symbol.html',0,'std::moneypunct::do_curr_symbol()']]], - ['do_5fdate_5forder_95',['do_date_order',['http://en.cppreference.com/w/cpp/locale/time_get/date_order.html',0,'std::time_get::do_date_order()'],['http://en.cppreference.com/w/cpp/locale/time_get/date_order.html',0,'std::time_get_byname::do_date_order()']]], - ['do_5fdecimal_5fpoint_96',['do_decimal_point',['http://en.cppreference.com/w/cpp/locale/moneypunct/decimal_point.html',0,'std::moneypunct_byname::do_decimal_point()'],['http://en.cppreference.com/w/cpp/locale/moneypunct/decimal_point.html',0,'std::moneypunct::do_decimal_point()'],['http://en.cppreference.com/w/cpp/locale/numpunct/decimal_point.html',0,'std::numpunct_byname::do_decimal_point()'],['http://en.cppreference.com/w/cpp/locale/numpunct/decimal_point.html',0,'std::numpunct::do_decimal_point()']]], - ['do_5fencoding_97',['do_encoding',['http://en.cppreference.com/w/cpp/locale/codecvt/encoding.html',0,'std::codecvt::do_encoding()'],['http://en.cppreference.com/w/cpp/locale/codecvt/encoding.html',0,'std::codecvt_byname::do_encoding()'],['http://en.cppreference.com/w/cpp/locale/codecvt/encoding.html',0,'std::codecvt_utf8::do_encoding()'],['http://en.cppreference.com/w/cpp/locale/codecvt/encoding.html',0,'std::codecvt_utf8_utf16::do_encoding()'],['http://en.cppreference.com/w/cpp/locale/codecvt/encoding.html',0,'std::codecvt_utf16::do_encoding()']]], - ['do_5ffalsename_98',['do_falsename',['http://en.cppreference.com/w/cpp/locale/numpunct/truefalsename.html',0,'std::numpunct_byname::do_falsename()'],['http://en.cppreference.com/w/cpp/locale/numpunct/truefalsename.html',0,'std::numpunct::do_falsename()']]], - ['do_5ffrac_5fdigits_99',['do_frac_digits',['http://en.cppreference.com/w/cpp/locale/moneypunct/frac_digits.html',0,'std::moneypunct_byname::do_frac_digits()'],['http://en.cppreference.com/w/cpp/locale/moneypunct/frac_digits.html',0,'std::moneypunct::do_frac_digits()']]], - ['do_5fget_100',['do_get',['http://en.cppreference.com/w/cpp/locale/money_get/get.html',0,'std::money_get::do_get()'],['http://en.cppreference.com/w/cpp/locale/num_get/get.html',0,'std::num_get::do_get()'],['http://en.cppreference.com/w/cpp/locale/time_get/get.html',0,'std::time_get::do_get()'],['http://en.cppreference.com/w/cpp/locale/messages/get.html',0,'std::messages_byname::do_get()'],['http://en.cppreference.com/w/cpp/locale/time_get/get.html',0,'std::time_get_byname::do_get()'],['http://en.cppreference.com/w/cpp/locale/messages/get.html',0,'std::messages::do_get()']]], - ['do_5fget_5fdate_101',['do_get_date',['http://en.cppreference.com/w/cpp/locale/time_get/get_date.html',0,'std::time_get::do_get_date()'],['http://en.cppreference.com/w/cpp/locale/time_get/get_date.html',0,'std::time_get_byname::do_get_date()']]], - ['do_5fget_5fmonthname_102',['do_get_monthname',['http://en.cppreference.com/w/cpp/locale/time_get/get_monthname.html',0,'std::time_get::do_get_monthname()'],['http://en.cppreference.com/w/cpp/locale/time_get/get_monthname.html',0,'std::time_get_byname::do_get_monthname()']]], - ['do_5fget_5ftime_103',['do_get_time',['http://en.cppreference.com/w/cpp/locale/time_get/get_time.html',0,'std::time_get::do_get_time()'],['http://en.cppreference.com/w/cpp/locale/time_get/get_time.html',0,'std::time_get_byname::do_get_time()']]], - ['do_5fget_5fweekday_104',['do_get_weekday',['http://en.cppreference.com/w/cpp/locale/time_get/get_weekday.html',0,'std::time_get::do_get_weekday()'],['http://en.cppreference.com/w/cpp/locale/time_get/get_weekday.html',0,'std::time_get_byname::do_get_weekday()']]], - ['do_5fget_5fyear_105',['do_get_year',['http://en.cppreference.com/w/cpp/locale/time_get/get_year.html',0,'std::time_get::do_get_year()'],['http://en.cppreference.com/w/cpp/locale/time_get/get_year.html',0,'std::time_get_byname::do_get_year()']]], - ['do_5fgrouping_106',['do_grouping',['http://en.cppreference.com/w/cpp/locale/moneypunct/grouping.html',0,'std::moneypunct_byname::do_grouping()'],['http://en.cppreference.com/w/cpp/locale/moneypunct/grouping.html',0,'std::moneypunct::do_grouping()'],['http://en.cppreference.com/w/cpp/locale/numpunct/grouping.html',0,'std::numpunct_byname::do_grouping()'],['http://en.cppreference.com/w/cpp/locale/numpunct/grouping.html',0,'std::numpunct::do_grouping()']]], - ['do_5fhash_107',['do_hash',['http://en.cppreference.com/w/cpp/locale/collate/hash.html',0,'std::collate_byname::do_hash()'],['http://en.cppreference.com/w/cpp/locale/collate/hash.html',0,'std::collate::do_hash()']]], - ['do_5fin_108',['do_in',['http://en.cppreference.com/w/cpp/locale/codecvt/in.html',0,'std::codecvt::do_in()'],['http://en.cppreference.com/w/cpp/locale/codecvt/in.html',0,'std::codecvt_byname::do_in()'],['http://en.cppreference.com/w/cpp/locale/codecvt/in.html',0,'std::codecvt_utf8::do_in()'],['http://en.cppreference.com/w/cpp/locale/codecvt/in.html',0,'std::codecvt_utf8_utf16::do_in()'],['http://en.cppreference.com/w/cpp/locale/codecvt/in.html',0,'std::codecvt_utf16::do_in()']]], - ['do_5fis_109',['do_is',['http://en.cppreference.com/w/cpp/locale/ctype/is.html',0,'std::ctype_byname::do_is()'],['http://en.cppreference.com/w/cpp/locale/ctype/is.html',0,'std::ctype::do_is()']]], - ['do_5flength_110',['do_length',['http://en.cppreference.com/w/cpp/locale/codecvt/length.html',0,'std::codecvt::do_length()'],['http://en.cppreference.com/w/cpp/locale/codecvt/length.html',0,'std::codecvt_byname::do_length()'],['http://en.cppreference.com/w/cpp/locale/codecvt/length.html',0,'std::codecvt_utf8::do_length()'],['http://en.cppreference.com/w/cpp/locale/codecvt/length.html',0,'std::codecvt_utf8_utf16::do_length()'],['http://en.cppreference.com/w/cpp/locale/codecvt/length.html',0,'std::codecvt_utf16::do_length()']]], - ['do_5fmax_5flength_111',['do_max_length',['http://en.cppreference.com/w/cpp/locale/codecvt/max_length.html',0,'std::codecvt::do_max_length()'],['http://en.cppreference.com/w/cpp/locale/codecvt/max_length.html',0,'std::codecvt_byname::do_max_length()'],['http://en.cppreference.com/w/cpp/locale/codecvt/max_length.html',0,'std::codecvt_utf8::do_max_length()'],['http://en.cppreference.com/w/cpp/locale/codecvt/max_length.html',0,'std::codecvt_utf8_utf16::do_max_length()'],['http://en.cppreference.com/w/cpp/locale/codecvt/max_length.html',0,'std::codecvt_utf16::do_max_length()']]], - ['do_5fnarrow_112',['do_narrow',['http://en.cppreference.com/w/cpp/locale/ctype/narrow.html',0,'std::ctype_byname::do_narrow()'],['http://en.cppreference.com/w/cpp/locale/ctype/narrow.html',0,'std::ctype::do_narrow()']]], - ['do_5fneg_5fformat_113',['do_neg_format',['http://en.cppreference.com/w/cpp/locale/moneypunct/pos_format.html',0,'std::moneypunct_byname::do_neg_format()'],['http://en.cppreference.com/w/cpp/locale/moneypunct/pos_format.html',0,'std::moneypunct::do_neg_format()']]], - ['do_5fnegative_5fsign_114',['do_negative_sign',['http://en.cppreference.com/w/cpp/locale/moneypunct/positive_sign.html',0,'std::moneypunct_byname::do_negative_sign()'],['http://en.cppreference.com/w/cpp/locale/moneypunct/positive_sign.html',0,'std::moneypunct::do_negative_sign()']]], - ['do_5fopen_115',['do_open',['http://en.cppreference.com/w/cpp/locale/messages/open.html',0,'std::messages_byname::do_open()'],['http://en.cppreference.com/w/cpp/locale/messages/open.html',0,'std::messages::do_open()']]], - ['do_5fout_116',['do_out',['http://en.cppreference.com/w/cpp/locale/codecvt/out.html',0,'std::codecvt::do_out()'],['http://en.cppreference.com/w/cpp/locale/codecvt/out.html',0,'std::codecvt_byname::do_out()'],['http://en.cppreference.com/w/cpp/locale/codecvt/out.html',0,'std::codecvt_utf8::do_out()'],['http://en.cppreference.com/w/cpp/locale/codecvt/out.html',0,'std::codecvt_utf8_utf16::do_out()'],['http://en.cppreference.com/w/cpp/locale/codecvt/out.html',0,'std::codecvt_utf16::do_out()']]], - ['do_5fpos_5fformat_117',['do_pos_format',['http://en.cppreference.com/w/cpp/locale/moneypunct/pos_format.html',0,'std::moneypunct_byname::do_pos_format()'],['http://en.cppreference.com/w/cpp/locale/moneypunct/pos_format.html',0,'std::moneypunct::do_pos_format()']]], - ['do_5fpositive_5fsign_118',['do_positive_sign',['http://en.cppreference.com/w/cpp/locale/moneypunct/positive_sign.html',0,'std::moneypunct_byname::do_positive_sign()'],['http://en.cppreference.com/w/cpp/locale/moneypunct/positive_sign.html',0,'std::moneypunct::do_positive_sign()']]], - ['do_5fput_119',['do_put',['http://en.cppreference.com/w/cpp/locale/time_put/put.html',0,'std::time_put_byname::do_put()'],['http://en.cppreference.com/w/cpp/locale/time_put/put.html',0,'std::time_put::do_put()'],['http://en.cppreference.com/w/cpp/locale/num_put/put.html',0,'std::num_put::do_put()'],['http://en.cppreference.com/w/cpp/locale/money_put/put.html',0,'std::money_put::do_put()']]], - ['do_5fscan_5fis_120',['do_scan_is',['http://en.cppreference.com/w/cpp/locale/ctype/scan_is.html',0,'std::ctype_byname::do_scan_is()'],['http://en.cppreference.com/w/cpp/locale/ctype/scan_is.html',0,'std::ctype::do_scan_is()']]], - ['do_5fthousands_5fsep_121',['do_thousands_sep',['http://en.cppreference.com/w/cpp/locale/moneypunct/thousands_sep.html',0,'std::moneypunct_byname::do_thousands_sep()'],['http://en.cppreference.com/w/cpp/locale/moneypunct/thousands_sep.html',0,'std::moneypunct::do_thousands_sep()'],['http://en.cppreference.com/w/cpp/locale/numpunct/thousands_sep.html',0,'std::numpunct_byname::do_thousands_sep()'],['http://en.cppreference.com/w/cpp/locale/numpunct/thousands_sep.html',0,'std::numpunct::do_thousands_sep()']]], - ['do_5ftolower_122',['do_tolower',['http://en.cppreference.com/w/cpp/locale/ctype/tolower.html',0,'std::ctype_byname::do_tolower()'],['http://en.cppreference.com/w/cpp/locale/ctype/tolower.html',0,'std::ctype::do_tolower()']]], - ['do_5ftoupper_123',['do_toupper',['http://en.cppreference.com/w/cpp/locale/ctype/toupper.html',0,'std::ctype_byname::do_toupper()'],['http://en.cppreference.com/w/cpp/locale/ctype/toupper.html',0,'std::ctype::do_toupper()']]], - ['do_5ftransform_124',['do_transform',['http://en.cppreference.com/w/cpp/locale/collate/transform.html',0,'std::collate_byname::do_transform()'],['http://en.cppreference.com/w/cpp/locale/collate/transform.html',0,'std::collate::do_transform()']]], - ['do_5ftruename_125',['do_truename',['http://en.cppreference.com/w/cpp/locale/numpunct/truefalsename.html',0,'std::numpunct_byname::do_truename()'],['http://en.cppreference.com/w/cpp/locale/numpunct/truefalsename.html',0,'std::numpunct::do_truename()']]], - ['do_5funshift_126',['do_unshift',['http://en.cppreference.com/w/cpp/locale/codecvt/unshift.html',0,'std::codecvt::do_unshift()'],['http://en.cppreference.com/w/cpp/locale/codecvt/unshift.html',0,'std::codecvt_byname::do_unshift()'],['http://en.cppreference.com/w/cpp/locale/codecvt/unshift.html',0,'std::codecvt_utf8::do_unshift()'],['http://en.cppreference.com/w/cpp/locale/codecvt/unshift.html',0,'std::codecvt_utf8_utf16::do_unshift()'],['http://en.cppreference.com/w/cpp/locale/codecvt/unshift.html',0,'std::codecvt_utf16::do_unshift()']]], - ['do_5fwiden_127',['do_widen',['http://en.cppreference.com/w/cpp/locale/ctype/widen.html',0,'std::ctype_byname::do_widen()'],['http://en.cppreference.com/w/cpp/locale/ctype/widen.html',0,'std::ctype::do_widen()']]], - ['documentation_128',['Documentation',['../d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md28',1,'Documentation'],['../index.html#autotoc_md105',1,'Documentation']]], - ['does_20not_20have_20a_20right_20node_20subtree_129',['Case 2: The given node does not have a right node/subtree',['../d4/d32/inorder__successor__of__bst_8cpp.html#autotoc_md90',1,'']]], - ['domain_5ferror_130',['domain_error',['http://en.cppreference.com/w/cpp/error/domain_error.html',0,'std::domain_error'],['http://en.cppreference.com/w/cpp/error/domain_error.html',0,'std::domain_error::domain_error()']]], - ['dot_5fproduct_131',['dot_product',['../d5/d33/gram__schmidt_8cpp.html#ac4a4504924ecc9f12a2ebd80788ec01d',1,'numerical_methods::gram_schmidt']]], - ['double_5ffactorial_2ecpp_132',['double_factorial.cpp',['../d7/d89/double__factorial_8cpp.html',1,'']]], - ['double_5ffactorial_5fiterative_133',['double_factorial_iterative',['../d7/d89/double__factorial_8cpp.html#a0a3c417360400093891a9ccddaa4be26',1,'double_factorial.cpp']]], - ['double_5ffactorial_5frecursive_134',['double_factorial_recursive',['../d7/d89/double__factorial_8cpp.html#a68ba20fed2ce427f6469c7689437829d',1,'double_factorial.cpp']]], - ['double_5fhash_5fhash_5ftable_2ecpp_135',['double_hash_hash_table.cpp',['../d6/d80/double__hash__hash__table_8cpp.html',1,'']]], - ['double_5fhashing_136',['double_hashing',['../d0/d65/namespacedouble__hashing.html',1,'']]], - ['double_5flinked_5flist_137',['double_linked_list',['../d9/dee/classdouble__linked__list.html',1,'']]], - ['doublehash_138',['doubleHash',['../d0/d65/namespacedouble__hashing.html#a8f8ff4fb018e1bb32d67d8a1885d3200',1,'double_hashing']]], - ['dp_139',['dp',['../df/d88/namespacedp.html',1,'']]], - ['dptable_140',['dpTable',['../dc/d14/wildcard__matching_8cpp.html#a4a5b107f93db24e424b12899fa692c5a',1,'backtracking::wildcard_matching']]], - ['draw_5fsample_141',['draw_sample',['../da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution.html#a8aae1cebcf42ed2332f1c7217c401aa3',1,'probability::geometric_dist::geometric_distribution']]], - ['drelu_142',['drelu',['../d2/d58/neural__network_8cpp.html#aa69e95a34054d7989bf446f96b2ffaf9',1,'machine_learning::neural_network::activations']]], - ['dsigmoid_143',['dsigmoid',['../d2/d58/neural__network_8cpp.html#a76eb66212d577f948a457b6e29d87c46',1,'machine_learning::neural_network::activations']]], - ['dsu_144',['dsu',['../dd/d1f/classdsu.html',1,'dsu'],['../dd/d1f/classdsu.html#a126e3002a464e53cd54b07ba56482a72',1,'dsu::dsu(uint64_t n)'],['../dd/d1f/classdsu.html#a126e3002a464e53cd54b07ba56482a72',1,'dsu::dsu(uint64_t n)']]], - ['dsu_5fpath_5fcompression_2ecpp_145',['dsu_path_compression.cpp',['../d3/dae/dsu__path__compression_8cpp.html',1,'']]], - ['dsu_5funion_5frank_2ecpp_146',['dsu_union_rank.cpp',['../df/d28/dsu__union__rank_8cpp.html',1,'']]], - ['dtanh_147',['dtanh',['../d2/d58/neural__network_8cpp.html#a2a5e874b9774aa5362dbcf288828b95c',1,'machine_learning::neural_network::activations']]], - ['duplicatenumber_148',['duplicateNumber',['../db/dc4/floyd__cycle__detection__algo_8cpp.html#a81ffc7a2c6bf530c8a496864e7a3ad88',1,'search::cycle_detection']]], - ['durand_5fkerner_5falgo_149',['durand_kerner_algo',['../da/df2/durand__kerner__roots_8cpp.html#a2c35b320ace8677f9b331faf94f8b2fd',1,'durand_kerner_roots.cpp']]], - ['durand_5fkerner_5froots_2ecpp_150',['durand_kerner_roots.cpp',['../da/df2/durand__kerner__roots_8cpp.html',1,'']]], - ['duration_151',['duration',['http://en.cppreference.com/w/cpp/chrono/duration.html',0,'std::chrono::duration'],['http://en.cppreference.com/w/cpp/chrono/duration/duration.html',0,'std::chrono::duration::duration()']]], - ['duration_5fcast_152',['duration_cast',['http://en.cppreference.com/w/cpp/chrono/duration/duration_cast.html',0,'std::chrono']]], - ['duration_5fvalues_153',['duration_values',['http://en.cppreference.com/w/cpp/chrono/duration_values.html',0,'std::chrono']]], - ['duval_154',['duval',['../d6/dd6/namespacestring.html#ac2a35302e6bed93c4b2c6f55a21a5632',1,'string']]], - ['duval_2ecpp_155',['duval.cpp',['../db/d09/duval_8cpp.html',1,'']]], - ['dynamic_20programming_156',['Dynamic Programming',['../d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md51',1,'']]], - ['dynamic_5fpointer_5fcast_157',['dynamic_pointer_cast',['http://en.cppreference.com/w/cpp/memory/shared_ptr/pointer_cast.html',0,'std']]], - ['dynamic_5fprogramming_158',['dynamic_programming',['../dd/d24/namespacedynamic__programming.html',1,'']]], - ['dynarray_159',['dynarray',['http://en.cppreference.com/w/cpp/container/dynarray.html',0,'std::dynarray'],['http://en.cppreference.com/w/cpp/container/dynarray/dynarray.html',0,'std::dynarray::dynarray()']]] + ['day_8',['day',['../d1/df6/class_easter_year_month_day.html#ade0b934e5b1af24e19ff959673b2ec51',1,'EasterYearMonthDay']]], + ['deallocate_9',['deallocate',['../d4/d32/inorder__successor__of__bst_8cpp.html#a7b20eb99272665c1777949e26ab59589',1,'operations_on_datastructures::inorder_traversal_of_bst']]], + ['decimal_5fto_5fbinary_2ecpp_10',['decimal_to_binary.cpp',['../df/d06/decimal__to__binary_8cpp.html',1,'']]], + ['decimal_5fto_5fhexadecimal_2ecpp_11',['decimal_to_hexadecimal.cpp',['../da/de7/decimal__to__hexadecimal_8cpp.html',1,'']]], + ['decimal_5fto_5froman_5fnumeral_2ecpp_12',['decimal_to_roman_numeral.cpp',['../de/d85/decimal__to__roman__numeral_8cpp.html',1,'']]], + ['decreasekey_13',['decreaseKey',['../d2/d05/class_min_heap.html#aa7f726cc6327955d22871592227432f5',1,'MinHeap']]], + ['decrypt_14',['decrypt',['../de/db6/a1z26__cipher_8cpp.html#a0a78954e96c862430904ee3e64623c38',1,'ciphers::a1z26::decrypt()'],['../d6/d2c/caesar__cipher_8cpp.html#a355e69511cd2006b5c4c80ae95b71056',1,'ciphers::caesar::decrypt()'],['../d8/d76/morse__code_8cpp.html#a15c66ec8cf4cef0a35c50cbab86965dc',1,'ciphers::morse::decrypt()'],['../dd/d12/vigenere__cipher_8cpp.html#a3cfc3f9b20a0f230a2fcefd31dc6848e',1,'ciphers::vigenere::decrypt()'],['../d3/d4c/xor__cipher_8cpp.html#a6099b7e0f1793f418d2c1befca8355a4',1,'ciphers::XOR::decrypt()']]], + ['decrypt_5ftext_15',['decrypt_text',['../d6/d26/classciphers_1_1_hill_cipher.html#a427acfac1dbff3f48a2b071d449d965b',1,'ciphers::HillCipher']]], + ['degrees_5fto_5fradians_16',['degrees_to_radians',['../d9/d29/ground__to__ground__projectile__motion_8cpp.html#ab00e9785fb2670f7af99d6f3d636f87c',1,'physics::ground_to_ground_projectile_motion']]], + ['delete_17',['Delete',['../d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html#aefd24626ac47277431c9b8604e064340',1,'operations_on_datastructures::trie_operations::Tnode']]], + ['delete_5fall_5fnodes_18',['delete_all_nodes',['../d1/def/classdata__structures_1_1linked__list_1_1list.html#ac614ed8f1953f5486fab1cd6d7aa0500',1,'data_structures::linked_list::list']]], + ['delete_5fword_19',['delete_word',['../d3/d26/classdata__structures_1_1trie__using__hashmap_1_1_trie.html#ac0bf3d6791cba144b3f539835d835e75',1,'data_structures::trie_using_hashmap::Trie']]], + ['deleteallnodes_20',['deleteAllNodes',['../d8/dee/avltree_8cpp.html#a82659e9e223e520cf91d7e55c4a3f88c',1,'avltree.cpp']]], + ['deleteelement_21',['deleteElement',['../d4/d90/classdata__structures_1_1_skip_list.html#a86925c53e139cc6c3f7df1e9003bb0b0',1,'data_structures::SkipList']]], + ['deletefrom_22',['DeleteFrom',['../d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html#adef6940391f981ab86767775176b7169',1,'operations_on_datastructures::trie_operations::Tnode']]], + ['deletekey_23',['deleteKey',['../d2/d05/class_min_heap.html#a37ac126eabb0c3ce04047172abccca29',1,'MinHeap']]], + ['deletenode_24',['DeleteNode',['../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a273511e84a5243ffffe81be28bd24855',1,'data_structures::tree_234::Tree234']]], + ['deletenode_25',['deleteNode',['../d8/dee/avltree_8cpp.html#aa29a7fdc2db1784f5a6e25025ff7cbf5',1,'avltree.cpp']]], + ['deletestring_26',['deleteString',['../d0/d3e/classdata__structures_1_1trie.html#aeac27cfd397d2dd3f2f519efffafeeab',1,'data_structures::trie']]], + ['denselayer_27',['DenseLayer',['../dc/d93/classmachine__learning_1_1neural__network_1_1layers_1_1_dense_layer.html',1,'machine_learning::neural_network::layers::DenseLayer'],['../dc/d93/classmachine__learning_1_1neural__network_1_1layers_1_1_dense_layer.html#a11046825be0b6dbb73fbe834aa49200e',1,'machine_learning::neural_network::layers::DenseLayer::DenseLayer(const int &neurons, const std::string &activation, const std::pair< size_t, size_t > &kernel_shape, const bool &random_kernel)'],['../dc/d93/classmachine__learning_1_1neural__network_1_1layers_1_1_dense_layer.html#af136ec31dbd35b1be2eb9a057677c704',1,'machine_learning::neural_network::layers::DenseLayer::DenseLayer(const int &neurons, const std::string &activation, const std::vector< std::valarray< double > > &kernel)'],['../dc/d93/classmachine__learning_1_1neural__network_1_1layers_1_1_dense_layer.html#a2871146feaaa453558239df67b21e0d2',1,'machine_learning::neural_network::layers::DenseLayer::DenseLayer(const DenseLayer &layer)=default'],['../dc/d93/classmachine__learning_1_1neural__network_1_1layers_1_1_dense_layer.html#a6c859e3737aa88b29854df0347b29f4e',1,'machine_learning::neural_network::layers::DenseLayer::DenseLayer(DenseLayer &&)=default']]], + ['depth_28',['depth',['../dd/d1f/classdsu.html#a4bf54d33fba178998dbbe4c57f2e9429',1,'dsu::depth'],['../da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html#a003a30bb165be50ce503c17df90c128d',1,'machine_learning::aystar_search::AyStarSearch::Info::depth']]], + ['depth_5ffirst_5fsearch_29',['depth_first_search',['../d8/da7/namespacedepth__first__search.html',1,'depth_first_search'],['../df/dce/namespacegraph.html#ab5428a3519267a28bba4b4310cfbb6ae',1,'graph::depth_first_search()']]], + ['depth_5ffirst_5fsearch_2ecpp_30',['depth_first_search.cpp',['../da/d8d/depth__first__search_8cpp.html',1,'']]], + ['depth_5ffirst_5fsearch_5fwith_5fstack_2ecpp_31',['depth_first_search_with_stack.cpp',['../da/d4b/depth__first__search__with__stack_8cpp.html',1,'']]], + ['dequeue_32',['deQueue',['../db/da9/classqueue.html#af27dbb72fb63f58f817a88550d7faa85',1,'queue']]], + ['dequeue_33',['dequeue',['../d6/d04/classdata__structures_1_1queue__using__array_1_1_queue___array.html#a2aaf88c9954ef3ab686f8e4bfbd87622',1,'data_structures::queue_using_array::Queue_Array']]], + ['determinant_5flu_34',['determinant_lu',['../d1/dbe/lu__decomposition_8h.html#a3108d43bd32c6fb3b3c158476c51ba7f',1,'lu_decomposition.h']]], + ['dfs_35',['dfs',['../d8/d69/classgraph_1_1_h_k_graph.html#ae794950cb3407b6b47d3dc986cf714c0',1,'graph::HKGraph::dfs()'],['../da/d4b/depth__first__search__with__stack_8cpp.html#a5738da9f508f6a9e87f123c9fb6f2ea9',1,'graph::depth_first_search::dfs()'],['../d8/db9/topological__sort_8cpp.html#abcbcaa2bb70af0a11d0c090ea1796aea',1,'graph::topological_sort::dfs()']]], + ['dfs_5fhc_36',['dfs_hc',['../d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d.html#af64848d6630c39d0f09ce2359cc7c4f8',1,'range_queries::heavy_light_decomposition::HLD']]], + ['dfs_5flabels_37',['dfs_labels',['../d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d.html#a0579062b384e54b611b80c6337c7f2c8',1,'range_queries::heavy_light_decomposition::HLD']]], + ['dfs_5flca_38',['dfs_lca',['../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html#ae8de7aefcb6635d3dacdd174cd4890c4',1,'range_queries::heavy_light_decomposition::Tree']]], + ['dfs_5fpar_39',['dfs_par',['../d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d.html#a2dfbda148aad0bfaba2ebfda9ebc915a',1,'range_queries::heavy_light_decomposition::HLD']]], + ['dfs_5fsize_40',['dfs_size',['../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html#aa339c31ec74cd86a4842a8b09653d460',1,'range_queries::heavy_light_decomposition::Tree']]], + ['differential_20equations_41',['Ordinary Differential Equations',['../d6/d60/group__ode.html',1,'']]], + ['digit_5fchar_42',['digit_char',['../db/d82/classlarge__number.html#ae35a55607cf52c0b0d485f2129bd39ac',1,'large_number']]], + ['digit_5fseparation_2ecpp_43',['digit_separation.cpp',['../d3/d36/digit__separation_8cpp.html',1,'']]], + ['digitseparation_44',['DigitSeparation',['../da/d49/classgreedy__algorithms_1_1_digit_separation.html',1,'greedy_algorithms::DigitSeparation'],['../da/d49/classgreedy__algorithms_1_1_digit_separation.html#afd54c969a6c9bab16b4a064fbc8ed40e',1,'greedy_algorithms::DigitSeparation::DigitSeparation()']]], + ['digitseparationforwardorder_45',['digitSeparationForwardOrder',['../da/d49/classgreedy__algorithms_1_1_digit_separation.html#a1809ae6828223999374bde5b197a59c8',1,'greedy_algorithms::DigitSeparation']]], + ['digitseparationreverseorder_46',['digitSeparationReverseOrder',['../da/d49/classgreedy__algorithms_1_1_digit_separation.html#a34769a780845e9d4279152899bd3bf79',1,'greedy_algorithms::DigitSeparation']]], + ['dijkstra_47',['dijkstra',['../df/dce/namespacegraph.html#adc68cbc8ba09eb1142265935c0d45b84',1,'graph::dijkstra()'],['../d2/d2f/namespacegreedy__algorithms_1_1dijkstra.html#af915876d0ca33cc71a6a6191a8cd3ccd',1,'greedy_algorithms::dijkstra::dijkstra()']]], + ['dijkstra_2ecpp_48',['dijkstra.cpp',['../d8/d68/dijkstra_8cpp.html',1,'']]], + ['dijkstra_5fgreedy_2ecpp_49',['dijkstra_greedy.cpp',['../da/de8/dijkstra__greedy_8cpp.html',1,'']]], + ['direction_50',['direction',['../d4/db4/struct_segment_intersection.html#a3beb2ac1b35d67354f1dbaf9a971e655',1,'SegmentIntersection']]], + ['directory_51',['Integrating CMake in a new directory',['../d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md34',1,'']]], + ['directory_20guidelines_52',['Directory guidelines',['../d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md33',1,'']]], + ['disjoint_5fset_2ecpp_53',['disjoint_set.cpp',['../de/d23/disjoint__set_8cpp.html',1,'']]], + ['disjoint_5funion_54',['disjoint_union',['../de/db4/namespacedisjoint__union.html',1,'']]], + ['display_55',['display',['../d1/def/classdata__structures_1_1linked__list_1_1list.html#a1313837c0e9ec67fd9fbd17987e2d615',1,'data_structures::linked_list::list::display()'],['../db/da9/classqueue.html#a353e4dd5772575905c78b0b30856e368',1,'queue::display()'],['../d6/d04/classdata__structures_1_1queue__using__array_1_1_queue___array.html#a688b7ea064739ea9fa66bf64bf4ae631',1,'data_structures::queue_using_array::Queue_Array::display()'],['../d1/dc2/classstack.html#a8bce109630118a34faae717f72986033',1,'stack::display()'],['../dd/d1c/classhash__chain.html#a706964ad13587fc9a8b3fe8381d410ed',1,'hash_chain::display()'],['../d6/dae/classothers_1_1lru__cache_1_1_l_r_u_cache.html#aad506b1c1a3cd5b93cc7e497626bfb53',1,'others::lru_cache::LRUCache::display()'],['../d0/d65/namespacedouble__hashing.html#a1e901418c759627557eff359b8db38cd',1,'double_hashing::display()'],['../d8/d89/namespacelinear__probing.html#ad87b71d810901fab69c4ad9d4d0fa635',1,'linear_probing::display()'],['../d4/dd2/namespacequadratic__probing.html#a40d617ebf4d6ba21bcda8d8d1faa2357',1,'quadratic_probing::display()'],['../d5/d33/gram__schmidt_8cpp.html#ae6b496dce691e04f7f95ba0f0d33a289',1,'numerical_methods::gram_schmidt::display()']]], + ['displayelements_56',['displayElements',['../d5/d4c/group__sorting.html#ga135e4c638e3bcf548bd122b5f49a3e72',1,'wiggle_sort.cpp']]], + ['displaylist_57',['displayList',['../d4/d90/classdata__structures_1_1_skip_list.html#a812611f80b8079268dbb19cc4e9bee5c',1,'data_structures::SkipList']]], + ['dist_58',['dist',['../d8/d69/classgraph_1_1_h_k_graph.html#a6a0228bbba3818447fcf6b56128b552a',1,'graph::HKGraph']]], + ['divide_59',['divide',['../db/d9a/classuint128__t.html#a8bf81f7f5f5c98f197822ec88e106c6c',1,'uint128_t::divide()'],['../d1/d83/classuint256__t.html#a8161d52d369e525f4e61129376adfcf1',1,'uint256_t::divide()']]], + ['divide_20and_20conquer_60',['Divide And Conquer',['../d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md50',1,'']]], + ['divide_5fand_5fconquer_61',['divide_and_conquer',['../dd/dba/namespacedivide__and__conquer.html',1,'']]], + ['dnf_5fsort_62',['dnf_sort',['../d9/d75/namespacednf__sort.html',1,'']]], + ['dnf_5fsort_2ecpp_63',['dnf_sort.cpp',['../d6/d1a/dnf__sort_8cpp.html',1,'']]], + ['dnfsort_64',['dnfSort',['../d6/d1a/dnf__sort_8cpp.html#a621767fe711db64fe57a2ac4987b11f0',1,'sorting::dnf_sort']]], + ['documentation_65',['Documentation',['../d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md28',1,'Documentation'],['../index.html#autotoc_md105',1,'Documentation']]], + ['does_20not_20have_20a_20right_20node_20subtree_66',['Case 2: The given node does not have a right node/subtree',['../d4/d32/inorder__successor__of__bst_8cpp.html#autotoc_md90',1,'']]], + ['dot_5fproduct_67',['dot_product',['../d5/d33/gram__schmidt_8cpp.html#ac4a4504924ecc9f12a2ebd80788ec01d',1,'numerical_methods::gram_schmidt']]], + ['double_5ffactorial_2ecpp_68',['double_factorial.cpp',['../d7/d89/double__factorial_8cpp.html',1,'']]], + ['double_5ffactorial_5fiterative_69',['double_factorial_iterative',['../d7/d89/double__factorial_8cpp.html#a0a3c417360400093891a9ccddaa4be26',1,'double_factorial.cpp']]], + ['double_5ffactorial_5frecursive_70',['double_factorial_recursive',['../d7/d89/double__factorial_8cpp.html#a68ba20fed2ce427f6469c7689437829d',1,'double_factorial.cpp']]], + ['double_5fhash_5fhash_5ftable_2ecpp_71',['double_hash_hash_table.cpp',['../d6/d80/double__hash__hash__table_8cpp.html',1,'']]], + ['double_5fhashing_72',['double_hashing',['../d0/d65/namespacedouble__hashing.html',1,'']]], + ['double_5flinked_5flist_73',['double_linked_list',['../d9/dee/classdouble__linked__list.html',1,'']]], + ['doublehash_74',['doubleHash',['../d0/d65/namespacedouble__hashing.html#a8f8ff4fb018e1bb32d67d8a1885d3200',1,'double_hashing']]], + ['dp_75',['dp',['../df/d88/namespacedp.html',1,'']]], + ['dptable_76',['dpTable',['../dc/d14/wildcard__matching_8cpp.html#a1f8c260cf0d7e22c666b85f1f71ee4a7',1,'backtracking::wildcard_matching']]], + ['draw_5fsample_77',['draw_sample',['../da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution.html#a8aae1cebcf42ed2332f1c7217c401aa3',1,'probability::geometric_dist::geometric_distribution']]], + ['drelu_78',['drelu',['../d2/d58/neural__network_8cpp.html#aa69e95a34054d7989bf446f96b2ffaf9',1,'machine_learning::neural_network::activations']]], + ['dsigmoid_79',['dsigmoid',['../d2/d58/neural__network_8cpp.html#a76eb66212d577f948a457b6e29d87c46',1,'machine_learning::neural_network::activations']]], + ['dsu_80',['dsu',['../dd/d1f/classdsu.html',1,'dsu'],['../dd/d1f/classdsu.html#a126e3002a464e53cd54b07ba56482a72',1,'dsu::dsu(uint64_t n)'],['../dd/d1f/classdsu.html#a126e3002a464e53cd54b07ba56482a72',1,'dsu::dsu(uint64_t n)']]], + ['dsu_5fpath_5fcompression_2ecpp_81',['dsu_path_compression.cpp',['../d3/dae/dsu__path__compression_8cpp.html',1,'']]], + ['dsu_5funion_5frank_2ecpp_82',['dsu_union_rank.cpp',['../df/d28/dsu__union__rank_8cpp.html',1,'']]], + ['dtanh_83',['dtanh',['../d2/d58/neural__network_8cpp.html#a2a5e874b9774aa5362dbcf288828b95c',1,'machine_learning::neural_network::activations']]], + ['duplicatenumber_84',['duplicateNumber',['../db/dc4/floyd__cycle__detection__algo_8cpp.html#a81ffc7a2c6bf530c8a496864e7a3ad88',1,'search::cycle_detection']]], + ['durand_5fkerner_5falgo_85',['durand_kerner_algo',['../da/df2/durand__kerner__roots_8cpp.html#a2c35b320ace8677f9b331faf94f8b2fd',1,'durand_kerner_roots.cpp']]], + ['durand_5fkerner_5froots_2ecpp_86',['durand_kerner_roots.cpp',['../da/df2/durand__kerner__roots_8cpp.html',1,'']]], + ['duval_87',['duval',['../d6/dd6/namespacestring.html#ac2a35302e6bed93c4b2c6f55a21a5632',1,'string']]], + ['duval_2ecpp_88',['duval.cpp',['../db/d09/duval_8cpp.html',1,'']]], + ['dynamic_20programming_89',['Dynamic Programming',['../d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md51',1,'']]], + ['dynamic_5fprogramming_90',['dynamic_programming',['../dd/d24/namespacedynamic__programming.html',1,'']]] ]; diff --git a/search/all_a.js b/search/all_a.js index 49c14d572..d00116233 100644 --- a/search/all_a.js +++ b/search/all_a.js @@ -1,98 +1,56 @@ var searchData= [ ['easteryearmonthday_0',['EasterYearMonthDay',['../d1/df6/class_easter_year_month_day.html',1,'']]], - ['eback_1',['eback',['http://en.cppreference.com/w/cpp/io/basic_streambuf/gptr.html',0,'std::basic_filebuf::eback()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/gptr.html',0,'std::wstringbuf::eback()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/gptr.html',0,'std::stringbuf::eback()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/gptr.html',0,'std::wfilebuf::eback()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/gptr.html',0,'std::wstreambuf::eback()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/gptr.html',0,'std::strstreambuf::eback()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/gptr.html',0,'std::basic_stringbuf::eback()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/gptr.html',0,'std::basic_streambuf::eback()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/gptr.html',0,'std::filebuf::eback()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/gptr.html',0,'std::streambuf::eback()']]], - ['edge_2',['Edge',['../d7/d77/class_edge.html',1,'Edge'],['../d7/d77/class_edge.html#a415a5d002fe11c58711e48aabe975980',1,'Edge::Edge()']]], - ['edges_3',['Matching and Not-Matching edges',['../d1/d9a/hopcroft__karp_8cpp.html#autotoc_md78',1,'']]], - ['editdistdp_4',['editDistDP',['../da/d52/minimum__edit__distance_8cpp.html#ade2fcfe0359f3c7691bfaa04b14943e2',1,'dynamic_programming::minimum_edit_distance']]], - ['egptr_5',['egptr',['http://en.cppreference.com/w/cpp/io/basic_streambuf/gptr.html',0,'std::basic_filebuf::egptr()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/gptr.html',0,'std::wstringbuf::egptr()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/gptr.html',0,'std::stringbuf::egptr()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/gptr.html',0,'std::wfilebuf::egptr()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/gptr.html',0,'std::wstreambuf::egptr()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/gptr.html',0,'std::strstreambuf::egptr()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/gptr.html',0,'std::basic_stringbuf::egptr()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/gptr.html',0,'std::basic_streambuf::egptr()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/gptr.html',0,'std::filebuf::egptr()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/gptr.html',0,'std::streambuf::egptr()']]], - ['eigen_5fvalues_6',['eigen_values',['../d2/d3b/namespaceqr__algorithm.html#a28e2fa3e803abaea6c568dc45d69d8cc',1,'qr_algorithm']]], - ['eightpuzzle_7',['EightPuzzle',['../dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle.html',1,'machine_learning::aystar_search::EightPuzzle< N >'],['../dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle.html#a3dc09f4742a0e1167ed202f7bf94721b',1,'machine_learning::aystar_search::EightPuzzle::EightPuzzle()'],['../dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle.html#ab7fd890a7ccf756e4b3313087b76a8c2',1,'machine_learning::aystar_search::EightPuzzle::EightPuzzle(const std::array< std::array< uint32_t, N >, N > &init)'],['../dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle.html#ad45fde095ac00effe1fe00b1d85ff9c7',1,'machine_learning::aystar_search::EightPuzzle::EightPuzzle(const EightPuzzle< N > &A)'],['../dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle.html#af22395b8e9e04222aa93a329523faef9',1,'machine_learning::aystar_search::EightPuzzle::EightPuzzle(const EightPuzzle< N > &&A) noexcept']]], - ['elliptic_5fcurve_5fkey_5fexchange_2ecpp_8',['elliptic_curve_key_exchange.cpp',['../df/d2c/elliptic__curve__key__exchange_8cpp.html',1,'']]], - ['emplace_9',['emplace',['http://en.cppreference.com/w/cpp/container/vector/emplace.html',0,'std::vector::emplace()'],['http://en.cppreference.com/w/cpp/container/multiset/emplace.html',0,'std::multiset::emplace()'],['http://en.cppreference.com/w/cpp/container/set/emplace.html',0,'std::set::emplace()'],['http://en.cppreference.com/w/cpp/container/unordered_map/emplace.html',0,'std::unordered_map::emplace()'],['http://en.cppreference.com/w/cpp/container/stack/emplace.html',0,'std::stack::emplace()'],['http://en.cppreference.com/w/cpp/container/unordered_multimap/emplace.html',0,'std::unordered_multimap::emplace()'],['http://en.cppreference.com/w/cpp/container/deque/emplace.html',0,'std::deque::emplace()'],['http://en.cppreference.com/w/cpp/container/queue/emplace.html',0,'std::queue::emplace()'],['http://en.cppreference.com/w/cpp/container/priority_queue/emplace.html',0,'std::priority_queue::emplace()'],['http://en.cppreference.com/w/cpp/container/unordered_multiset/emplace.html',0,'std::unordered_multiset::emplace()'],['http://en.cppreference.com/w/cpp/container/list/emplace.html',0,'std::list::emplace()'],['http://en.cppreference.com/w/cpp/container/map/emplace.html',0,'std::map::emplace()'],['http://en.cppreference.com/w/cpp/experimental/optional/emplace.html',0,'std::experimental::optional::emplace()'],['http://en.cppreference.com/w/cpp/container/unordered_set/emplace.html',0,'std::unordered_set::emplace()'],['http://en.cppreference.com/w/cpp/container/multimap/emplace.html',0,'std::multimap::emplace()']]], - ['emplace_5fafter_10',['emplace_after',['http://en.cppreference.com/w/cpp/container/forward_list/emplace_after.html',0,'std::forward_list']]], - ['emplace_5fback_11',['emplace_back',['http://en.cppreference.com/w/cpp/container/vector/emplace_back.html',0,'std::vector::emplace_back()'],['http://en.cppreference.com/w/cpp/container/deque/emplace_back.html',0,'std::deque::emplace_back()'],['http://en.cppreference.com/w/cpp/container/list/emplace_back.html',0,'std::list::emplace_back()']]], - ['emplace_5ffront_12',['emplace_front',['http://en.cppreference.com/w/cpp/container/forward_list/emplace_front.html',0,'std::forward_list::emplace_front()'],['http://en.cppreference.com/w/cpp/container/deque/emplace_front.html',0,'std::deque::emplace_front()'],['http://en.cppreference.com/w/cpp/container/list/emplace_front.html',0,'std::list::emplace_front()']]], - ['emplace_5fhint_13',['emplace_hint',['http://en.cppreference.com/w/cpp/container/multiset/emplace_hint.html',0,'std::multiset::emplace_hint()'],['http://en.cppreference.com/w/cpp/container/set/emplace_hint.html',0,'std::set::emplace_hint()'],['http://en.cppreference.com/w/cpp/container/unordered_map/emplace_hint.html',0,'std::unordered_map::emplace_hint()'],['http://en.cppreference.com/w/cpp/container/unordered_multimap/emplace_hint.html',0,'std::unordered_multimap::emplace_hint()'],['http://en.cppreference.com/w/cpp/container/unordered_multiset/emplace_hint.html',0,'std::unordered_multiset::emplace_hint()'],['http://en.cppreference.com/w/cpp/container/map/emplace_hint.html',0,'std::map::emplace_hint()'],['http://en.cppreference.com/w/cpp/container/unordered_set/emplace_hint.html',0,'std::unordered_set::emplace_hint()'],['http://en.cppreference.com/w/cpp/container/multimap/emplace_hint.html',0,'std::multimap::emplace_hint()']]], - ['empty_14',['empty',['http://en.cppreference.com/w/cpp/container/dynarray/empty.html',0,'std::dynarray::empty()'],['http://en.cppreference.com/w/cpp/container/vector/empty.html',0,'std::vector::empty()'],['http://en.cppreference.com/w/cpp/regex/match_results/empty.html',0,'std::match_results::empty()'],['http://en.cppreference.com/w/cpp/container/multiset/empty.html',0,'std::multiset::empty()'],['http://en.cppreference.com/w/cpp/string/basic_string/empty.html',0,'std::string::empty()'],['http://en.cppreference.com/w/cpp/container/set/empty.html',0,'std::set::empty()'],['http://en.cppreference.com/w/cpp/container/unordered_map/empty.html',0,'std::unordered_map::empty()'],['http://en.cppreference.com/w/cpp/regex/match_results/empty.html',0,'std::wsmatch::empty()'],['http://en.cppreference.com/w/cpp/regex/match_results/empty.html',0,'std::smatch::empty()'],['http://en.cppreference.com/w/cpp/container/stack/empty.html',0,'std::stack::empty()'],['http://en.cppreference.com/w/cpp/container/unordered_multimap/empty.html',0,'std::unordered_multimap::empty()'],['http://en.cppreference.com/w/cpp/container/forward_list/empty.html',0,'std::forward_list::empty()'],['http://en.cppreference.com/w/cpp/regex/match_results/empty.html',0,'std::wcmatch::empty()'],['http://en.cppreference.com/w/cpp/container/deque/empty.html',0,'std::deque::empty()'],['http://en.cppreference.com/w/cpp/container/queue/empty.html',0,'std::queue::empty()'],['http://en.cppreference.com/w/cpp/string/basic_string/empty.html',0,'std::basic_string::empty()'],['http://en.cppreference.com/w/cpp/container/priority_queue/empty.html',0,'std::priority_queue::empty()'],['http://en.cppreference.com/w/cpp/string/basic_string/empty.html',0,'std::wstring::empty()'],['http://en.cppreference.com/w/cpp/container/unordered_multiset/empty.html',0,'std::unordered_multiset::empty()'],['http://en.cppreference.com/w/cpp/string/basic_string/empty.html',0,'std::u16string::empty()'],['http://en.cppreference.com/w/cpp/string/basic_string/empty.html',0,'std::u32string::empty()'],['http://en.cppreference.com/w/cpp/container/list/empty.html',0,'std::list::empty()'],['http://en.cppreference.com/w/cpp/container/map/empty.html',0,'std::map::empty()'],['http://en.cppreference.com/w/cpp/regex/match_results/empty.html',0,'std::cmatch::empty()'],['http://en.cppreference.com/w/cpp/container/unordered_set/empty.html',0,'std::unordered_set::empty()'],['http://en.cppreference.com/w/cpp/container/multimap/empty.html',0,'std::multimap::empty()'],['http://en.cppreference.com/w/cpp/container/array/empty.html',0,'std::array::empty()'],['../d2/dc8/classdata__structures_1_1_stack.html#a04e2e7cb58b2de6d3a15053bfaaf6080',1,'data_structures::Stack::empty()'],['../df/d8f/classothers_1_1_cache_1_1_l_f_u_cache.html#a68e1be0a3e0a6478aa35f04000e0e9b0',1,'others::Cache::LFUCache::empty()'],['../d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache.html#ab8b6a6aa95db678596bc2a49e864683e',1,'others::Cache::LRUCache::empty()']]], - ['enable_5fif_15',['enable_if',['http://en.cppreference.com/w/cpp/types/enable_if.html',0,'std']]], - ['enable_5fshared_5ffrom_5fthis_16',['enable_shared_from_this',['http://en.cppreference.com/w/cpp/memory/enable_shared_from_this.html',0,'std::enable_shared_from_this'],['http://en.cppreference.com/w/cpp/memory/enable_shared_from_this/enable_shared_from_this.html',0,'std::enable_shared_from_this::enable_shared_from_this()']]], - ['encoding_17',['encoding',['http://en.cppreference.com/w/cpp/locale/codecvt/encoding.html',0,'std::codecvt::encoding()'],['http://en.cppreference.com/w/cpp/locale/codecvt/encoding.html',0,'std::codecvt_byname::encoding()'],['http://en.cppreference.com/w/cpp/locale/codecvt/encoding.html',0,'std::codecvt_utf8::encoding()'],['http://en.cppreference.com/w/cpp/locale/codecvt/encoding.html',0,'std::codecvt_utf8_utf16::encoding()'],['http://en.cppreference.com/w/cpp/locale/codecvt/encoding.html',0,'std::codecvt_utf16::encoding()']]], - ['encrypt_18',['encrypt',['../de/db6/a1z26__cipher_8cpp.html#a77a6b827a0b9c7aca2d705811459d744',1,'ciphers::a1z26::encrypt()'],['../d6/d2c/caesar__cipher_8cpp.html#ac3381121289548640b1c27a58a8524c3',1,'ciphers::caesar::encrypt()'],['../d8/d76/morse__code_8cpp.html#a0242e458904de8a242fcdaffe9e3ba1a',1,'ciphers::morse::encrypt()'],['../dd/d12/vigenere__cipher_8cpp.html#a6bd3880ea6820c232c1eddf47553c257',1,'ciphers::vigenere::encrypt()'],['../d3/d4c/xor__cipher_8cpp.html#aeff72a463ffc580c16cc849cbbdc58ef',1,'ciphers::XOR::encrypt()']]], - ['encrypt_5ftext_19',['encrypt_text',['../d6/d26/classciphers_1_1_hill_cipher.html#aa8bbb6e4a5749f6008b06602d5103917',1,'ciphers::HillCipher']]], - ['end_20',['end',['../d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list.html#ab682f854f39582a20c9c4102f0482208',1,'operations_on_datastructures::circular_linked_list::CircularLinkedList::end'],['http://en.cppreference.com/w/cpp/container/dynarray/end.html',0,'std::dynarray::end()'],['http://en.cppreference.com/w/cpp/container/vector/end.html',0,'std::vector::end()'],['http://en.cppreference.com/w/cpp/regex/match_results/end.html',0,'std::match_results::end()'],['http://en.cppreference.com/w/cpp/container/multiset/end.html',0,'std::multiset::end()'],['http://en.cppreference.com/w/cpp/string/basic_string/end.html',0,'std::string::end()'],['http://en.cppreference.com/w/cpp/container/set/end.html',0,'std::set::end()'],['http://en.cppreference.com/w/cpp/container/unordered_map/end.html',0,'std::unordered_map::end()'],['http://en.cppreference.com/w/cpp/utility/initializer_list/end.html',0,'std::initializer_list::end()'],['http://en.cppreference.com/w/cpp/regex/match_results/end.html',0,'std::wsmatch::end()'],['http://en.cppreference.com/w/cpp/regex/match_results/end.html',0,'std::smatch::end()'],['http://en.cppreference.com/w/cpp/container/unordered_multimap/end.html',0,'std::unordered_multimap::end()'],['http://en.cppreference.com/w/cpp/container/forward_list/end.html',0,'std::forward_list::end()'],['http://en.cppreference.com/w/cpp/regex/match_results/end.html',0,'std::wcmatch::end()'],['http://en.cppreference.com/w/cpp/container/deque/end.html',0,'std::deque::end()'],['http://en.cppreference.com/w/cpp/string/basic_string/end.html',0,'std::basic_string::end()'],['http://en.cppreference.com/w/cpp/string/basic_string/end.html',0,'std::wstring::end()'],['http://en.cppreference.com/w/cpp/container/unordered_multiset/end.html',0,'std::unordered_multiset::end()'],['http://en.cppreference.com/w/cpp/string/basic_string/end.html',0,'std::u16string::end()'],['http://en.cppreference.com/w/cpp/string/basic_string/end.html',0,'std::u32string::end()'],['http://en.cppreference.com/w/cpp/container/list/end.html',0,'std::list::end()'],['http://en.cppreference.com/w/cpp/container/map/end.html',0,'std::map::end()'],['http://en.cppreference.com/w/cpp/regex/match_results/end.html',0,'std::cmatch::end()'],['http://en.cppreference.com/w/cpp/container/unordered_set/end.html',0,'std::unordered_set::end()'],['http://en.cppreference.com/w/cpp/container/multimap/end.html',0,'std::multimap::end()'],['http://en.cppreference.com/w/cpp/container/array/end.html',0,'std::array::end()'],['http://en.cppreference.com/w/cpp/iterator/end.html',0,'std::end()']]], - ['end_28int_29_21',['end(int)',['http://en.cppreference.com/w/cpp/container/unordered_map/end2.html',0,'std::unordered_map::end(int)()'],['http://en.cppreference.com/w/cpp/container/unordered_multimap/end2.html',0,'std::unordered_multimap::end(int)()'],['http://en.cppreference.com/w/cpp/container/unordered_multiset/end2.html',0,'std::unordered_multiset::end(int)()'],['http://en.cppreference.com/w/cpp/container/unordered_set/end2.html',0,'std::unordered_set::end(int)()']]], - ['endl_22',['endl',['../d7/d35/matrix__exponentiation_8cpp.html#a600eaf353befc174637855795f12d258',1,'endl: matrix_exponentiation.cpp'],['http://en.cppreference.com/w/cpp/io/manip/endl.html',0,'std::endl(T... args)']]], - ['ends_23',['ends',['http://en.cppreference.com/w/cpp/io/manip/ends.html',0,'std']]], - ['enforcement_24',['Enforcement',['../d3/dd7/md__c_o_d_e___o_f___c_o_n_d_u_c_t.html#autotoc_md9',1,'']]], - ['enforcement_20guidelines_25',['Enforcement Guidelines',['../d3/dd7/md__c_o_d_e___o_f___c_o_n_d_u_c_t.html#autotoc_md10',1,'']]], - ['enforcement_20responsibilities_26',['Enforcement Responsibilities',['../d3/dd7/md__c_o_d_e___o_f___c_o_n_d_u_c_t.html#autotoc_md7',1,'']]], - ['enqueue_27',['enQueue',['../db/da9/classqueue.html#ada88d0c1f34946d66386b7a11bee4e4d',1,'queue']]], - ['enqueue_28',['enqueue',['../d6/d04/classdata__structures_1_1queue__using__array_1_1_queue___array.html#a4dc64488c36f84d927365fa8d1933663',1,'data_structures::queue_using_array::Queue_Array']]], - ['ensurenotempty_29',['ensureNotEmpty',['../db/da9/classqueue.html#ac08ebdd38cb4ad74fc0a3f51888da604',1,'queue']]], - ['entropy_30',['entropy',['http://en.cppreference.com/w/cpp/numeric/random/random_device/entropy.html',0,'std::random_device']]], - ['entry_31',['Entry',['../d9/dde/structdouble__hashing_1_1_entry.html',1,'double_hashing::Entry'],['../db/d19/structlinear__probing_1_1_entry.html',1,'linear_probing::Entry'],['../da/dd1/structquadratic__probing_1_1_entry.html',1,'quadratic_probing::Entry'],['../d9/dde/structdouble__hashing_1_1_entry.html#a287b92112b6b43b34808a93778873475',1,'double_hashing::Entry::Entry()'],['../db/d19/structlinear__probing_1_1_entry.html#a2139f643a3caf074da1db8a9fa16fa77',1,'linear_probing::Entry::Entry()'],['../da/dd1/structquadratic__probing_1_1_entry.html#a9df1118010a233d13ab3dd699bcb513e',1,'quadratic_probing::Entry::Entry()']]], - ['eof_32',['eof',['http://en.cppreference.com/w/cpp/io/basic_ios/eof.html',0,'std::basic_ofstream::eof()'],['http://en.cppreference.com/w/cpp/io/basic_ios/eof.html',0,'std::fstream::eof()'],['http://en.cppreference.com/w/cpp/string/char_traits/eof.html',0,'std::char_traits::eof()'],['http://en.cppreference.com/w/cpp/io/basic_ios/eof.html',0,'std::wostream::eof()'],['http://en.cppreference.com/w/cpp/io/basic_ios/eof.html',0,'std::basic_ostringstream::eof()'],['http://en.cppreference.com/w/cpp/io/basic_ios/eof.html',0,'std::basic_ios::eof()'],['http://en.cppreference.com/w/cpp/io/basic_ios/eof.html',0,'std::ostringstream::eof()'],['http://en.cppreference.com/w/cpp/io/basic_ios/eof.html',0,'std::basic_fstream::eof()'],['http://en.cppreference.com/w/cpp/io/basic_ios/eof.html',0,'std::iostream::eof()'],['http://en.cppreference.com/w/cpp/io/basic_ios/eof.html',0,'std::wistream::eof()'],['http://en.cppreference.com/w/cpp/io/basic_ios/eof.html',0,'std::stringstream::eof()'],['http://en.cppreference.com/w/cpp/io/basic_ios/eof.html',0,'std::ostream::eof()'],['http://en.cppreference.com/w/cpp/io/basic_ios/eof.html',0,'std::wifstream::eof()'],['http://en.cppreference.com/w/cpp/io/basic_ios/eof.html',0,'std::basic_istream::eof()'],['http://en.cppreference.com/w/cpp/io/basic_ios/eof.html',0,'std::strstream::eof()'],['http://en.cppreference.com/w/cpp/io/basic_ios/eof.html',0,'std::basic_stringstream::eof()'],['http://en.cppreference.com/w/cpp/io/basic_ios/eof.html',0,'std::wostringstream::eof()'],['http://en.cppreference.com/w/cpp/io/basic_ios/eof.html',0,'std::istrstream::eof()'],['http://en.cppreference.com/w/cpp/io/basic_ios/eof.html',0,'std::basic_ostream::eof()'],['http://en.cppreference.com/w/cpp/io/basic_ios/eof.html',0,'std::wiostream::eof()'],['http://en.cppreference.com/w/cpp/io/basic_ios/eof.html',0,'std::ofstream::eof()'],['http://en.cppreference.com/w/cpp/io/basic_ios/eof.html',0,'std::basic_istringstream::eof()'],['http://en.cppreference.com/w/cpp/io/basic_ios/eof.html',0,'std::basic_ifstream::eof()'],['http://en.cppreference.com/w/cpp/io/basic_ios/eof.html',0,'std::istringstream::eof()'],['http://en.cppreference.com/w/cpp/io/basic_ios/eof.html',0,'std::istream::eof()'],['http://en.cppreference.com/w/cpp/io/basic_ios/eof.html',0,'std::ostrstream::eof()'],['http://en.cppreference.com/w/cpp/io/basic_ios/eof.html',0,'std::wfstream::eof()'],['http://en.cppreference.com/w/cpp/io/basic_ios/eof.html',0,'std::basic_iostream::eof()'],['http://en.cppreference.com/w/cpp/io/basic_ios/eof.html',0,'std::wofstream::eof()'],['http://en.cppreference.com/w/cpp/io/basic_ios/eof.html',0,'std::wstringstream::eof()'],['http://en.cppreference.com/w/cpp/io/basic_ios/eof.html',0,'std::wistringstream::eof()'],['http://en.cppreference.com/w/cpp/io/basic_ios/eof.html',0,'std::ifstream::eof()']]], - ['epptr_33',['epptr',['http://en.cppreference.com/w/cpp/io/basic_streambuf/pptr.html',0,'std::basic_filebuf::epptr()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pptr.html',0,'std::wstringbuf::epptr()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pptr.html',0,'std::stringbuf::epptr()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pptr.html',0,'std::wfilebuf::epptr()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pptr.html',0,'std::wstreambuf::epptr()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pptr.html',0,'std::strstreambuf::epptr()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pptr.html',0,'std::basic_stringbuf::epptr()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pptr.html',0,'std::basic_streambuf::epptr()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pptr.html',0,'std::filebuf::epptr()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pptr.html',0,'std::streambuf::epptr()']]], - ['epsilon_34',['EPSILON',['../db/d01/brent__method__extrema_8cpp.html#a002b2f4894492820fe708b1b7e7c5e70',1,'EPSILON: brent_method_extrema.cpp'],['../d6/d7a/golden__search__extrema_8cpp.html#a002b2f4894492820fe708b1b7e7c5e70',1,'EPSILON: golden_search_extrema.cpp'],['../de/dd3/newton__raphson__method_8cpp.html#a75f355966e0a97665eaf5a4c79baa7af',1,'EPSILON: newton_raphson_method.cpp']]], - ['epsilon_35',['epsilon',['http://en.cppreference.com/w/cpp/types/numeric_limits/epsilon.html',0,'std::numeric_limits']]], - ['eq_36',['eq',['http://en.cppreference.com/w/cpp/string/char_traits/cmp.html',0,'std::char_traits::eq()'],['../d7/d6a/bisection__method_8cpp.html#a2003b5b2dcfff0769b957ab5c968b03d',1,'eq(): bisection_method.cpp'],['../dd/d29/false__position_8cpp.html#a85a6ec58b5064d63d4f0df3854496713',1,'numerical_methods::false_position::eq()'],['../de/dd3/newton__raphson__method_8cpp.html#a2003b5b2dcfff0769b957ab5c968b03d',1,'eq(double i): newton_raphson_method.cpp'],['../df/dc8/successive__approximation_8cpp.html#a79c1d08919ff7780a5d7723172602389',1,'eq(float y): successive_approximation.cpp']]], - ['eq_5fder_37',['eq_der',['../de/dd3/newton__raphson__method_8cpp.html#a3d3f7f41977394680af6ebbed96f3386',1,'newton_raphson_method.cpp']]], - ['eq_5fint_5ftype_38',['eq_int_type',['http://en.cppreference.com/w/cpp/string/char_traits/eq_int_type.html',0,'std::char_traits']]], - ['eqd_39',['eqd',['../df/dc8/successive__approximation_8cpp.html#ae89c36add7c55298c5195d0a83de1456',1,'successive_approximation.cpp']]], - ['equal_40',['equal',['http://en.cppreference.com/w/cpp/algorithm/equal.html',0,'std']]], - ['equal_5frange_41',['equal_range',['http://en.cppreference.com/w/cpp/container/multiset/equal_range.html',0,'std::multiset::equal_range()'],['http://en.cppreference.com/w/cpp/container/set/equal_range.html',0,'std::set::equal_range()'],['http://en.cppreference.com/w/cpp/container/unordered_map/equal_range.html',0,'std::unordered_map::equal_range()'],['http://en.cppreference.com/w/cpp/container/unordered_multimap/equal_range.html',0,'std::unordered_multimap::equal_range()'],['http://en.cppreference.com/w/cpp/container/unordered_multiset/equal_range.html',0,'std::unordered_multiset::equal_range()'],['http://en.cppreference.com/w/cpp/container/map/equal_range.html',0,'std::map::equal_range()'],['http://en.cppreference.com/w/cpp/container/unordered_set/equal_range.html',0,'std::unordered_set::equal_range()'],['http://en.cppreference.com/w/cpp/container/multimap/equal_range.html',0,'std::multimap::equal_range()'],['http://en.cppreference.com/w/cpp/algorithm/equal_range.html',0,'std::equal_range()']]], - ['equal_5fshuffle_42',['equal_shuffle',['../d8/d77/namespacemachine__learning.html#af801bf30591ca6b2c38ff4fed0ded23f',1,'machine_learning']]], - ['equal_5fto_43',['equal_to',['http://en.cppreference.com/w/cpp/utility/functional/equal_to.html',0,'std']]], - ['equations_44',['Ordinary Differential Equations',['../d6/d60/group__ode.html',1,'']]], - ['equivalent_45',['equivalent',['http://en.cppreference.com/w/cpp/error/error_category/equivalent.html',0,'std::error_category']]], - ['erase_46',['erase',['http://en.cppreference.com/w/cpp/container/vector/erase.html',0,'std::vector::erase()'],['http://en.cppreference.com/w/cpp/container/multiset/erase.html',0,'std::multiset::erase()'],['http://en.cppreference.com/w/cpp/string/basic_string/erase.html',0,'std::string::erase()'],['http://en.cppreference.com/w/cpp/container/set/erase.html',0,'std::set::erase()'],['http://en.cppreference.com/w/cpp/container/unordered_map/erase.html',0,'std::unordered_map::erase()'],['http://en.cppreference.com/w/cpp/container/unordered_multimap/erase.html',0,'std::unordered_multimap::erase()'],['http://en.cppreference.com/w/cpp/container/deque/erase.html',0,'std::deque::erase()'],['http://en.cppreference.com/w/cpp/string/basic_string/erase.html',0,'std::basic_string::erase()'],['http://en.cppreference.com/w/cpp/string/basic_string/erase.html',0,'std::wstring::erase()'],['http://en.cppreference.com/w/cpp/container/unordered_multiset/erase.html',0,'std::unordered_multiset::erase()'],['http://en.cppreference.com/w/cpp/string/basic_string/erase.html',0,'std::u16string::erase()'],['http://en.cppreference.com/w/cpp/string/basic_string/erase.html',0,'std::u32string::erase()'],['http://en.cppreference.com/w/cpp/container/list/erase.html',0,'std::list::erase()'],['http://en.cppreference.com/w/cpp/container/map/erase.html',0,'std::map::erase()'],['http://en.cppreference.com/w/cpp/container/unordered_set/erase.html',0,'std::unordered_set::erase()'],['http://en.cppreference.com/w/cpp/container/multimap/erase.html',0,'std::multimap::erase()'],['../d1/def/classdata__structures_1_1linked__list_1_1list.html#a009b19ac8cca40f2e4daa2e5989fa4f3',1,'data_structures::linked_list::list::erase()'],['../d5/d95/structdata__structures_1_1treap_1_1_treap.html#a9ea2becd904e2e7d22f23a001b444469',1,'data_structures::treap::Treap::erase()'],['../d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list.html#a398d6cc927a2c8e4a156ae2806f48986',1,'operations_on_datastructures::circular_linked_list::CircularLinkedList::erase()']]], - ['erase_5fafter_47',['erase_after',['http://en.cppreference.com/w/cpp/container/forward_list/erase_after.html',0,'std::forward_list']]], - ['erasefromsorted_48',['eraseFromSorted',['../df/d34/classprobability_1_1windowed__median_1_1_windowed_median.html#af544e271ea19a6fd69a6b3ed6816453e',1,'probability::windowed_median::WindowedMedian']]], - ['eratosthenes_2ecpp_49',['eratosthenes.cpp',['../d7/da6/eratosthenes_8cpp.html',1,'']]], - ['erf_50',['erf',['http://en.cppreference.com/w/cpp/numeric/math/erf.html',0,'std']]], - ['erfc_51',['erfc',['http://en.cppreference.com/w/cpp/numeric/math/erfc.html',0,'std']]], - ['errc_52',['errc',['http://en.cppreference.com/w/cpp/error/errc.html',0,'std']]], - ['error_5fcategory_53',['error_category',['http://en.cppreference.com/w/cpp/error/error_category.html',0,'std::error_category'],['http://en.cppreference.com/w/cpp/error/error_category/error_category.html',0,'std::error_category::error_category()']]], - ['error_5fcode_54',['error_code',['http://en.cppreference.com/w/cpp/error/error_code.html',0,'std::error_code'],['http://en.cppreference.com/w/cpp/error/error_code/error_code.html',0,'std::error_code::error_code()']]], - ['error_5fcondition_55',['error_condition',['http://en.cppreference.com/w/cpp/error/error_condition.html',0,'std::error_condition'],['http://en.cppreference.com/w/cpp/error/error_condition/error_condition.html',0,'std::error_condition::error_condition()']]], - ['eta_56',['eta',['../d6/d30/classmachine__learning_1_1adaline.html#a28160d17e492597a2f112e0d38551cda',1,'machine_learning::adaline']]], - ['euclidean_5fdistance_57',['euclidean_distance',['../d4/d3e/k__nearest__neighbors_8cpp.html#ad6ae16e50bb153ebaa7251d0aaa97b69',1,'machine_learning::k_nearest_neighbors']]], - ['eulers_5ftotient_5ffunction_2ecpp_58',['eulers_totient_function.cpp',['../da/d23/eulers__totient__function_8cpp.html',1,'']]], - ['evaluate_59',['evaluate',['../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#aec648ea4f40bd71123b5f907a681dd8e',1,'machine_learning::neural_network::NeuralNetwork::evaluate()'],['../d7/d75/postfix__evaluation_8cpp.html#a59fd597e0ea394abe027ced4d2ea3338',1,'others::postfix_expression::evaluate()']]], - ['evaluate_5ffrom_5fcsv_60',['evaluate_from_csv',['../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#a36494e26ff36d6e15c1022bb9a1ee848',1,'machine_learning::neural_network::NeuralNetwork']]], - ['event_5fcallback_61',['event_callback',['http://en.cppreference.com/w/cpp/io/ios_base/event_callback.html',0,'std::basic_fstream< Char >::event_callback'],['http://en.cppreference.com/w/cpp/io/ios_base/event_callback.html',0,'std::basic_ifstream< Char >::event_callback'],['http://en.cppreference.com/w/cpp/io/ios_base/event_callback.html',0,'std::basic_ios< Char >::event_callback'],['http://en.cppreference.com/w/cpp/io/ios_base/event_callback.html',0,'std::basic_iostream< Char >::event_callback'],['http://en.cppreference.com/w/cpp/io/ios_base/event_callback.html',0,'std::basic_istream< Char >::event_callback'],['http://en.cppreference.com/w/cpp/io/ios_base/event_callback.html',0,'std::basic_istringstream< Char >::event_callback'],['http://en.cppreference.com/w/cpp/io/ios_base/event_callback.html',0,'std::basic_ofstream< Char >::event_callback'],['http://en.cppreference.com/w/cpp/io/ios_base/event_callback.html',0,'std::basic_ostream< Char >::event_callback'],['http://en.cppreference.com/w/cpp/io/ios_base/event_callback.html',0,'std::basic_ostringstream< Char >::event_callback'],['http://en.cppreference.com/w/cpp/io/ios_base/event_callback.html',0,'std::basic_stringstream< Char >::event_callback'],['http://en.cppreference.com/w/cpp/io/ios_base/event_callback.html',0,'std::fstream::event_callback'],['http://en.cppreference.com/w/cpp/io/ios_base/event_callback.html',0,'std::ifstream::event_callback'],['http://en.cppreference.com/w/cpp/io/ios_base/event_callback.html',0,'std::ios_base::event_callback'],['http://en.cppreference.com/w/cpp/io/ios_base/event_callback.html',0,'std::iostream::event_callback'],['http://en.cppreference.com/w/cpp/io/ios_base/event_callback.html',0,'std::istream::event_callback'],['http://en.cppreference.com/w/cpp/io/ios_base/event_callback.html',0,'std::istringstream::event_callback'],['http://en.cppreference.com/w/cpp/io/ios_base/event_callback.html',0,'std::istrstream::event_callback'],['http://en.cppreference.com/w/cpp/io/ios_base/event_callback.html',0,'std::ofstream::event_callback'],['http://en.cppreference.com/w/cpp/io/ios_base/event_callback.html',0,'std::ostream::event_callback'],['http://en.cppreference.com/w/cpp/io/ios_base/event_callback.html',0,'std::ostringstream::event_callback'],['http://en.cppreference.com/w/cpp/io/ios_base/event_callback.html',0,'std::ostrstream::event_callback'],['http://en.cppreference.com/w/cpp/io/ios_base/event_callback.html',0,'std::stringstream::event_callback'],['http://en.cppreference.com/w/cpp/io/ios_base/event_callback.html',0,'std::strstream::event_callback'],['http://en.cppreference.com/w/cpp/io/ios_base/event_callback.html',0,'std::wfstream::event_callback'],['http://en.cppreference.com/w/cpp/io/ios_base/event_callback.html',0,'std::wifstream::event_callback'],['http://en.cppreference.com/w/cpp/io/ios_base/event_callback.html',0,'std::wiostream::event_callback'],['http://en.cppreference.com/w/cpp/io/ios_base/event_callback.html',0,'std::wistream::event_callback'],['http://en.cppreference.com/w/cpp/io/ios_base/event_callback.html',0,'std::wistringstream::event_callback'],['http://en.cppreference.com/w/cpp/io/ios_base/event_callback.html',0,'std::wofstream::event_callback'],['http://en.cppreference.com/w/cpp/io/ios_base/event_callback.html',0,'std::wostream::event_callback'],['http://en.cppreference.com/w/cpp/io/ios_base/event_callback.html',0,'std::wostringstream::event_callback'],['http://en.cppreference.com/w/cpp/io/ios_base/event_callback.html',0,'std::wstringstream::event_callback']]], - ['exa_62',['exa',['http://en.cppreference.com/w/cpp/numeric/ratio/ratio.html',0,'std']]], - ['exact_5fsolution_63',['exact_solution',['../db/dd3/ode__forward__euler_8cpp.html#af3adf7b092a87868917ee5fb4255192b',1,'exact_solution(const double &x, std::valarray< double > *y): ode_forward_euler.cpp'],['../d6/dd3/ode__midpoint__euler_8cpp.html#af3adf7b092a87868917ee5fb4255192b',1,'exact_solution(const double &x, std::valarray< double > *y): ode_midpoint_euler.cpp'],['../d3/d06/ode__semi__implicit__euler_8cpp.html#af3adf7b092a87868917ee5fb4255192b',1,'exact_solution(const double &x, std::valarray< double > *y): ode_semi_implicit_euler.cpp']]], - ['example_64',['example',['../de/dab/ncr__modulo__p_8cpp.html#afa2b50f4716fc3b42221a72e676e1422',1,'ncr_modulo_p.cpp']]], - ['example_3a_65',['Example:',['../df/d66/vector__cross__product_8cpp.html#autotoc_md87',1,'']]], - ['examples_66',['Self-test examples',['../d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md30',1,'']]], - ['exception_67',['exception',['http://en.cppreference.com/w/cpp/error/exception.html',0,'std::exception'],['http://en.cppreference.com/w/cpp/error/exception/exception.html',0,'std::exception::exception()']]], - ['exception_5fptr_68',['exception_ptr',['http://en.cppreference.com/w/cpp/error/exception_ptr.html',0,'std']]], - ['exceptions_69',['exceptions',['http://en.cppreference.com/w/cpp/io/basic_ios/exceptions.html',0,'std::basic_ofstream::exceptions()'],['http://en.cppreference.com/w/cpp/io/basic_ios/exceptions.html',0,'std::fstream::exceptions()'],['http://en.cppreference.com/w/cpp/io/basic_ios/exceptions.html',0,'std::wostream::exceptions()'],['http://en.cppreference.com/w/cpp/io/basic_ios/exceptions.html',0,'std::basic_ostringstream::exceptions()'],['http://en.cppreference.com/w/cpp/io/basic_ios/exceptions.html',0,'std::basic_ios::exceptions()'],['http://en.cppreference.com/w/cpp/io/basic_ios/exceptions.html',0,'std::ostringstream::exceptions()'],['http://en.cppreference.com/w/cpp/io/basic_ios/exceptions.html',0,'std::basic_fstream::exceptions()'],['http://en.cppreference.com/w/cpp/io/basic_ios/exceptions.html',0,'std::iostream::exceptions()'],['http://en.cppreference.com/w/cpp/io/basic_ios/exceptions.html',0,'std::wistream::exceptions()'],['http://en.cppreference.com/w/cpp/io/basic_ios/exceptions.html',0,'std::stringstream::exceptions()'],['http://en.cppreference.com/w/cpp/io/basic_ios/exceptions.html',0,'std::ostream::exceptions()'],['http://en.cppreference.com/w/cpp/io/basic_ios/exceptions.html',0,'std::wifstream::exceptions()'],['http://en.cppreference.com/w/cpp/io/basic_ios/exceptions.html',0,'std::basic_istream::exceptions()'],['http://en.cppreference.com/w/cpp/io/basic_ios/exceptions.html',0,'std::strstream::exceptions()'],['http://en.cppreference.com/w/cpp/io/basic_ios/exceptions.html',0,'std::basic_stringstream::exceptions()'],['http://en.cppreference.com/w/cpp/io/basic_ios/exceptions.html',0,'std::wostringstream::exceptions()'],['http://en.cppreference.com/w/cpp/io/basic_ios/exceptions.html',0,'std::istrstream::exceptions()'],['http://en.cppreference.com/w/cpp/io/basic_ios/exceptions.html',0,'std::basic_ostream::exceptions()'],['http://en.cppreference.com/w/cpp/io/basic_ios/exceptions.html',0,'std::wiostream::exceptions()'],['http://en.cppreference.com/w/cpp/io/basic_ios/exceptions.html',0,'std::ofstream::exceptions()'],['http://en.cppreference.com/w/cpp/io/basic_ios/exceptions.html',0,'std::basic_istringstream::exceptions()'],['http://en.cppreference.com/w/cpp/io/basic_ios/exceptions.html',0,'std::basic_ifstream::exceptions()'],['http://en.cppreference.com/w/cpp/io/basic_ios/exceptions.html',0,'std::istringstream::exceptions()'],['http://en.cppreference.com/w/cpp/io/basic_ios/exceptions.html',0,'std::istream::exceptions()'],['http://en.cppreference.com/w/cpp/io/basic_ios/exceptions.html',0,'std::ostrstream::exceptions()'],['http://en.cppreference.com/w/cpp/io/basic_ios/exceptions.html',0,'std::wfstream::exceptions()'],['http://en.cppreference.com/w/cpp/io/basic_ios/exceptions.html',0,'std::basic_iostream::exceptions()'],['http://en.cppreference.com/w/cpp/io/basic_ios/exceptions.html',0,'std::wofstream::exceptions()'],['http://en.cppreference.com/w/cpp/io/basic_ios/exceptions.html',0,'std::wstringstream::exceptions()'],['http://en.cppreference.com/w/cpp/io/basic_ios/exceptions.html',0,'std::wistringstream::exceptions()'],['http://en.cppreference.com/w/cpp/io/basic_ios/exceptions.html',0,'std::ifstream::exceptions()']]], - ['exchange_70',['exchange',['http://en.cppreference.com/w/cpp/atomic/atomic/exchange.html',0,'std::atomic']]], - ['exists_71',['exists',['../d3/d84/word__break_8cpp.html#a1cc9dd6e6190d10a010fdcdfe7a21a81',1,'dynamic_programming::word_break']]], - ['exit_72',['exit',['http://en.cppreference.com/w/cpp/utility/program/exit.html',0,'std']]], - ['exp_73',['exp',['http://en.cppreference.com/w/cpp/numeric/math/exp.html',0,'std::exp()'],['../df/d6b/namespaceciphers_1_1elliptic__curve__key__exchange.html#ac00616a4e40d3cd5cfb4da87d9ff9af0',1,'ciphers::elliptic_curve_key_exchange::exp()']]], - ['exp2_74',['exp2',['http://en.cppreference.com/w/cpp/numeric/math/exp2.html',0,'std']]], - ['expected_5fvalue_75',['expected_value',['../da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution.html#a41051365f8ac7700f2ed5880a6760413',1,'probability::geometric_dist::geometric_distribution']]], - ['expired_76',['expired',['http://en.cppreference.com/w/cpp/memory/weak_ptr/expired.html',0,'std::weak_ptr']]], - ['explanation_77',['Algorithm explanation',['../d3/db3/lru__cache_8cpp.html#autotoc_md97',1,'']]], - ['explore_78',['explore',['../df/dce/namespacegraph.html#a3ae80bc4c6a79d041b4f3a6589eb7fb8',1,'graph::explore(const std::vector< std::vector< int > > *adj, int u, std::vector< bool > *visited)'],['../df/dce/namespacegraph.html#a64c1db5aad7502c6f08e4652f6edd463',1,'graph::explore(const std::vector< std::vector< size_t > > &adj, size_t v, std::vector< bool > *visited)']]], - ['expm1_79',['expm1',['http://en.cppreference.com/w/cpp/numeric/math/expm1.html',0,'std']]], - ['exponential_5fdist_80',['exponential_dist',['../d1/d35/namespaceexponential__dist.html',1,'']]], - ['exponential_5fdist_2ecpp_81',['exponential_dist.cpp',['../d9/da2/exponential__dist_8cpp.html',1,'']]], - ['exponential_5fdistribution_82',['exponential_distribution',['http://en.cppreference.com/w/cpp/numeric/random/exponential_distribution.html',0,'std::exponential_distribution'],['http://en.cppreference.com/w/cpp/numeric/random/exponential_distribution/exponential_distribution.html',0,'std::exponential_distribution::exponential_distribution()']]], - ['exponential_5fexpected_83',['exponential_expected',['../d9/da2/exponential__dist_8cpp.html#a1c8b6e787f72a209ef96c096eedf7afc',1,'probability::geometric_dist']]], - ['exponential_5fsearch_2ecpp_84',['exponential_search.cpp',['../d8/d8a/exponential__search_8cpp.html',1,'']]], - ['exponential_5fstd_85',['exponential_std',['../d9/da2/exponential__dist_8cpp.html#ac7b0091e17479d47438a281fefc2549a',1,'probability::geometric_dist']]], - ['exponential_5fvar_86',['exponential_var',['../d9/da2/exponential__dist_8cpp.html#af435dbeb43a05c8c7785f53bf4ce1df1',1,'probability::geometric_dist']]], - ['extended_5feuclid_5falgorithm_2ecpp_87',['extended_euclid_algorithm.cpp',['../d9/d5d/extended__euclid__algorithm_8cpp.html',1,'']]], - ['extendedeuclid_88',['extendedEuclid',['../d9/d5d/extended__euclid__algorithm_8cpp.html#acba15ca55b3e7dcb91f3c65d72ba052d',1,'extended_euclid_algorithm.cpp']]], - ['extendedeuclid_5f1_89',['extendedEuclid_1',['../d9/d5d/extended__euclid__algorithm_8cpp.html#a1792ac7c33aaf26b860ab55f5652ab25',1,'extended_euclid_algorithm.cpp']]], - ['extent_90',['extent',['http://en.cppreference.com/w/cpp/types/extent.html',0,'std']]], - ['extern_5ftype_91',['extern_type',['http://en.cppreference.com/w/cpp/locale/codecvt.html',0,'std::codecvt::extern_type'],['http://en.cppreference.com/w/cpp/locale/codecvt.html',0,'std::codecvt_byname::extern_type'],['http://en.cppreference.com/w/cpp/locale/codecvt.html',0,'std::codecvt_utf16::extern_type'],['http://en.cppreference.com/w/cpp/locale/codecvt.html',0,'std::codecvt_utf8::extern_type'],['http://en.cppreference.com/w/cpp/locale/codecvt.html',0,'std::codecvt_utf8_utf16::extern_type']]], - ['extract_5fbyte_92',['extract_byte',['../d4/d08/sha256_8cpp.html#afea411191ec5281f43e91ea327984627',1,'hashing::sha256']]], - ['extractmin_93',['extractMin',['../d2/d05/class_min_heap.html#a4014f1edaed0bd7db0c0d2ca53228980',1,'MinHeap']]], - ['extreme_5fvalue_5fdistribution_94',['extreme_value_distribution',['http://en.cppreference.com/w/cpp/numeric/random/extreme_value_distribution.html',0,'std::extreme_value_distribution'],['http://en.cppreference.com/w/cpp/numeric/random/extreme_value_distribution/extreme_value_distribution.html',0,'std::extreme_value_distribution::extreme_value_distribution()']]] + ['edge_1',['Edge',['../d7/d77/class_edge.html',1,'Edge'],['../d7/d77/class_edge.html#a415a5d002fe11c58711e48aabe975980',1,'Edge::Edge()']]], + ['edges_2',['Matching and Not-Matching edges',['../d1/d9a/hopcroft__karp_8cpp.html#autotoc_md78',1,'']]], + ['editdistdp_3',['editDistDP',['../da/d52/minimum__edit__distance_8cpp.html#ade2fcfe0359f3c7691bfaa04b14943e2',1,'dynamic_programming::minimum_edit_distance']]], + ['eigen_5fvalues_4',['eigen_values',['../d2/d3b/namespaceqr__algorithm.html#a28e2fa3e803abaea6c568dc45d69d8cc',1,'qr_algorithm']]], + ['eightpuzzle_5',['EightPuzzle',['../dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle.html',1,'machine_learning::aystar_search::EightPuzzle< N >'],['../dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle.html#a3dc09f4742a0e1167ed202f7bf94721b',1,'machine_learning::aystar_search::EightPuzzle::EightPuzzle()'],['../dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle.html#ab7fd890a7ccf756e4b3313087b76a8c2',1,'machine_learning::aystar_search::EightPuzzle::EightPuzzle(const std::array< std::array< uint32_t, N >, N > &init)'],['../dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle.html#ad45fde095ac00effe1fe00b1d85ff9c7',1,'machine_learning::aystar_search::EightPuzzle::EightPuzzle(const EightPuzzle< N > &A)'],['../dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle.html#af22395b8e9e04222aa93a329523faef9',1,'machine_learning::aystar_search::EightPuzzle::EightPuzzle(const EightPuzzle< N > &&A) noexcept']]], + ['elliptic_5fcurve_5fkey_5fexchange_2ecpp_6',['elliptic_curve_key_exchange.cpp',['../df/d2c/elliptic__curve__key__exchange_8cpp.html',1,'']]], + ['empty_7',['empty',['../d2/dc8/classdata__structures_1_1_stack.html#a04e2e7cb58b2de6d3a15053bfaaf6080',1,'data_structures::Stack::empty()'],['../df/d8f/classothers_1_1_cache_1_1_l_f_u_cache.html#a68e1be0a3e0a6478aa35f04000e0e9b0',1,'others::Cache::LFUCache::empty()'],['../d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache.html#ab8b6a6aa95db678596bc2a49e864683e',1,'others::Cache::LRUCache::empty()']]], + ['encrypt_8',['encrypt',['../de/db6/a1z26__cipher_8cpp.html#a77a6b827a0b9c7aca2d705811459d744',1,'ciphers::a1z26::encrypt()'],['../d6/d2c/caesar__cipher_8cpp.html#ac3381121289548640b1c27a58a8524c3',1,'ciphers::caesar::encrypt()'],['../d8/d76/morse__code_8cpp.html#a0242e458904de8a242fcdaffe9e3ba1a',1,'ciphers::morse::encrypt()'],['../dd/d12/vigenere__cipher_8cpp.html#a6bd3880ea6820c232c1eddf47553c257',1,'ciphers::vigenere::encrypt()'],['../d3/d4c/xor__cipher_8cpp.html#aeff72a463ffc580c16cc849cbbdc58ef',1,'ciphers::XOR::encrypt()']]], + ['encrypt_5ftext_9',['encrypt_text',['../d6/d26/classciphers_1_1_hill_cipher.html#aa8bbb6e4a5749f6008b06602d5103917',1,'ciphers::HillCipher']]], + ['end_10',['end',['../d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list.html#ab682f854f39582a20c9c4102f0482208',1,'operations_on_datastructures::circular_linked_list::CircularLinkedList']]], + ['endl_11',['endl',['../d7/d35/matrix__exponentiation_8cpp.html#a600eaf353befc174637855795f12d258',1,'matrix_exponentiation.cpp']]], + ['enforcement_12',['Enforcement',['../d3/dd7/md__c_o_d_e___o_f___c_o_n_d_u_c_t.html#autotoc_md9',1,'']]], + ['enforcement_20guidelines_13',['Enforcement Guidelines',['../d3/dd7/md__c_o_d_e___o_f___c_o_n_d_u_c_t.html#autotoc_md10',1,'']]], + ['enforcement_20responsibilities_14',['Enforcement Responsibilities',['../d3/dd7/md__c_o_d_e___o_f___c_o_n_d_u_c_t.html#autotoc_md7',1,'']]], + ['enqueue_15',['enQueue',['../db/da9/classqueue.html#ada88d0c1f34946d66386b7a11bee4e4d',1,'queue']]], + ['enqueue_16',['enqueue',['../d6/d04/classdata__structures_1_1queue__using__array_1_1_queue___array.html#a4dc64488c36f84d927365fa8d1933663',1,'data_structures::queue_using_array::Queue_Array']]], + ['ensurenotempty_17',['ensureNotEmpty',['../db/da9/classqueue.html#ac08ebdd38cb4ad74fc0a3f51888da604',1,'queue']]], + ['entry_18',['Entry',['../d9/dde/structdouble__hashing_1_1_entry.html',1,'double_hashing::Entry'],['../db/d19/structlinear__probing_1_1_entry.html',1,'linear_probing::Entry'],['../da/dd1/structquadratic__probing_1_1_entry.html',1,'quadratic_probing::Entry'],['../d9/dde/structdouble__hashing_1_1_entry.html#a287b92112b6b43b34808a93778873475',1,'double_hashing::Entry::Entry()'],['../db/d19/structlinear__probing_1_1_entry.html#a2139f643a3caf074da1db8a9fa16fa77',1,'linear_probing::Entry::Entry()'],['../da/dd1/structquadratic__probing_1_1_entry.html#a9df1118010a233d13ab3dd699bcb513e',1,'quadratic_probing::Entry::Entry()']]], + ['epsilon_19',['EPSILON',['../db/d01/brent__method__extrema_8cpp.html#a002b2f4894492820fe708b1b7e7c5e70',1,'EPSILON: brent_method_extrema.cpp'],['../d6/d7a/golden__search__extrema_8cpp.html#a002b2f4894492820fe708b1b7e7c5e70',1,'EPSILON: golden_search_extrema.cpp'],['../de/dd3/newton__raphson__method_8cpp.html#a75f355966e0a97665eaf5a4c79baa7af',1,'EPSILON: newton_raphson_method.cpp']]], + ['eq_20',['eq',['../d7/d6a/bisection__method_8cpp.html#a2003b5b2dcfff0769b957ab5c968b03d',1,'eq(): bisection_method.cpp'],['../dd/d29/false__position_8cpp.html#a85a6ec58b5064d63d4f0df3854496713',1,'numerical_methods::false_position::eq()'],['../de/dd3/newton__raphson__method_8cpp.html#a2003b5b2dcfff0769b957ab5c968b03d',1,'eq(double i): newton_raphson_method.cpp'],['../df/dc8/successive__approximation_8cpp.html#a79c1d08919ff7780a5d7723172602389',1,'eq(float y): successive_approximation.cpp']]], + ['eq_5fder_21',['eq_der',['../de/dd3/newton__raphson__method_8cpp.html#a3d3f7f41977394680af6ebbed96f3386',1,'newton_raphson_method.cpp']]], + ['eqd_22',['eqd',['../df/dc8/successive__approximation_8cpp.html#ae89c36add7c55298c5195d0a83de1456',1,'successive_approximation.cpp']]], + ['equal_5fshuffle_23',['equal_shuffle',['../d8/d77/namespacemachine__learning.html#af801bf30591ca6b2c38ff4fed0ded23f',1,'machine_learning']]], + ['equations_24',['Ordinary Differential Equations',['../d6/d60/group__ode.html',1,'']]], + ['erase_25',['erase',['../d1/def/classdata__structures_1_1linked__list_1_1list.html#a009b19ac8cca40f2e4daa2e5989fa4f3',1,'data_structures::linked_list::list::erase()'],['../d5/d95/structdata__structures_1_1treap_1_1_treap.html#a9ea2becd904e2e7d22f23a001b444469',1,'data_structures::treap::Treap::erase()'],['../d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list.html#a398d6cc927a2c8e4a156ae2806f48986',1,'operations_on_datastructures::circular_linked_list::CircularLinkedList::erase()']]], + ['erasefromsorted_26',['eraseFromSorted',['../df/d34/classprobability_1_1windowed__median_1_1_windowed_median.html#af544e271ea19a6fd69a6b3ed6816453e',1,'probability::windowed_median::WindowedMedian']]], + ['eratosthenes_2ecpp_27',['eratosthenes.cpp',['../d7/da6/eratosthenes_8cpp.html',1,'']]], + ['eta_28',['eta',['../d6/d30/classmachine__learning_1_1adaline.html#a28160d17e492597a2f112e0d38551cda',1,'machine_learning::adaline']]], + ['euclidean_5fdistance_29',['euclidean_distance',['../d4/d3e/k__nearest__neighbors_8cpp.html#ad6ae16e50bb153ebaa7251d0aaa97b69',1,'machine_learning::k_nearest_neighbors']]], + ['eulers_5ftotient_5ffunction_2ecpp_30',['eulers_totient_function.cpp',['../da/d23/eulers__totient__function_8cpp.html',1,'']]], + ['evaluate_31',['evaluate',['../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#aec648ea4f40bd71123b5f907a681dd8e',1,'machine_learning::neural_network::NeuralNetwork::evaluate()'],['../d7/d75/postfix__evaluation_8cpp.html#a59fd597e0ea394abe027ced4d2ea3338',1,'others::postfix_expression::evaluate()']]], + ['evaluate_5ffrom_5fcsv_32',['evaluate_from_csv',['../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#a36494e26ff36d6e15c1022bb9a1ee848',1,'machine_learning::neural_network::NeuralNetwork']]], + ['exact_5fsolution_33',['exact_solution',['../db/dd3/ode__forward__euler_8cpp.html#af3adf7b092a87868917ee5fb4255192b',1,'exact_solution(const double &x, std::valarray< double > *y): ode_forward_euler.cpp'],['../d6/dd3/ode__midpoint__euler_8cpp.html#af3adf7b092a87868917ee5fb4255192b',1,'exact_solution(const double &x, std::valarray< double > *y): ode_midpoint_euler.cpp'],['../d3/d06/ode__semi__implicit__euler_8cpp.html#af3adf7b092a87868917ee5fb4255192b',1,'exact_solution(const double &x, std::valarray< double > *y): ode_semi_implicit_euler.cpp']]], + ['example_34',['example',['../de/dab/ncr__modulo__p_8cpp.html#afa2b50f4716fc3b42221a72e676e1422',1,'ncr_modulo_p.cpp']]], + ['example_3a_35',['Example:',['../df/d66/vector__cross__product_8cpp.html#autotoc_md87',1,'']]], + ['examples_36',['Self-test examples',['../d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md30',1,'']]], + ['exists_37',['exists',['../d3/d84/word__break_8cpp.html#a1cc9dd6e6190d10a010fdcdfe7a21a81',1,'dynamic_programming::word_break']]], + ['exp_38',['exp',['../df/d6b/namespaceciphers_1_1elliptic__curve__key__exchange.html#ac00616a4e40d3cd5cfb4da87d9ff9af0',1,'ciphers::elliptic_curve_key_exchange']]], + ['expected_5fvalue_39',['expected_value',['../da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution.html#a41051365f8ac7700f2ed5880a6760413',1,'probability::geometric_dist::geometric_distribution']]], + ['explanation_40',['Algorithm explanation',['../d3/db3/lru__cache_8cpp.html#autotoc_md97',1,'']]], + ['explore_41',['explore',['../df/dce/namespacegraph.html#a3ae80bc4c6a79d041b4f3a6589eb7fb8',1,'graph::explore(const std::vector< std::vector< int > > *adj, int u, std::vector< bool > *visited)'],['../df/dce/namespacegraph.html#a64c1db5aad7502c6f08e4652f6edd463',1,'graph::explore(const std::vector< std::vector< size_t > > &adj, size_t v, std::vector< bool > *visited)']]], + ['exponential_5fdist_42',['exponential_dist',['../d1/d35/namespaceexponential__dist.html',1,'']]], + ['exponential_5fdist_2ecpp_43',['exponential_dist.cpp',['../d9/da2/exponential__dist_8cpp.html',1,'']]], + ['exponential_5fexpected_44',['exponential_expected',['../d9/da2/exponential__dist_8cpp.html#a1c8b6e787f72a209ef96c096eedf7afc',1,'probability::geometric_dist']]], + ['exponential_5fsearch_2ecpp_45',['exponential_search.cpp',['../d8/d8a/exponential__search_8cpp.html',1,'']]], + ['exponential_5fstd_46',['exponential_std',['../d9/da2/exponential__dist_8cpp.html#ac7b0091e17479d47438a281fefc2549a',1,'probability::geometric_dist']]], + ['exponential_5fvar_47',['exponential_var',['../d9/da2/exponential__dist_8cpp.html#af435dbeb43a05c8c7785f53bf4ce1df1',1,'probability::geometric_dist']]], + ['extended_5feuclid_5falgorithm_2ecpp_48',['extended_euclid_algorithm.cpp',['../d9/d5d/extended__euclid__algorithm_8cpp.html',1,'']]], + ['extendedeuclid_49',['extendedEuclid',['../d9/d5d/extended__euclid__algorithm_8cpp.html#acba15ca55b3e7dcb91f3c65d72ba052d',1,'extended_euclid_algorithm.cpp']]], + ['extendedeuclid_5f1_50',['extendedEuclid_1',['../d9/d5d/extended__euclid__algorithm_8cpp.html#a1792ac7c33aaf26b860ab55f5652ab25',1,'extended_euclid_algorithm.cpp']]], + ['extract_5fbyte_51',['extract_byte',['../d4/d08/sha256_8cpp.html#afea411191ec5281f43e91ea327984627',1,'hashing::sha256']]], + ['extractmin_52',['extractMin',['../d2/d05/class_min_heap.html#a4014f1edaed0bd7db0c0d2ca53228980',1,'MinHeap']]] ]; diff --git a/search/all_b.js b/search/all_b.js index 58158e2c2..e8d8f2152 100644 --- a/search/all_b.js +++ b/search/all_b.js @@ -1,165 +1,76 @@ var searchData= [ ['f_0',['f',['../d4/d18/composite__simpson__rule_8cpp.html#a4251b4df4748a0b9c43a48f61bdd2397',1,'numerical_methods::simpson_method::f()'],['../df/d11/midpoint__integral__method_8cpp.html#a7ee8e824ef3e138a9a21883b26d97226',1,'numerical_methods::midpoint_rule::f()']]], - ['fabs_1',['fabs',['http://en.cppreference.com/w/cpp/numeric/math/fabs.html',0,'std']]], - ['fac_2',['fac',['../d6/dc1/classmath_1_1ncr__modulo__p_1_1_n_c_r_modulo_p.html#a738a5f59bb3560c81cdb7f43bcfe9fec',1,'math::ncr_modulo_p::NCRModuloP']]], - ['facet_3',['facet',['http://en.cppreference.com/w/cpp/locale/locale/facet.html',0,'std::locale::facet'],['http://en.cppreference.com/w/cpp/locale/locale/facet/facet.html',0,'std::locale::facet::facet()']]], - ['fact_4',['fact',['../d9/d24/poisson__dist_8cpp.html#a63ffd347e75d5ed7a518cbcfbfeec71a',1,'poisson_dist.cpp']]], - ['factorial_5',['factorial',['../dd/d47/namespacemath.html#a7e78996673df791014cfe540b183456a',1,'math']]], - ['factorial_2ecpp_6',['factorial.cpp',['../d9/d00/factorial_8cpp.html',1,'']]], - ['factorization_7',['Prime factorization',['../d7/d7f/section.html',1,'']]], - ['factors_8',['factors',['../db/d0d/prime__factorization_8cpp.html#acfb0df439a4beae5a34ef131ce737c1b',1,'prime_factorization.cpp']]], - ['fail_9',['fail',['http://en.cppreference.com/w/cpp/io/basic_ios/fail.html',0,'std::basic_ofstream::fail()'],['http://en.cppreference.com/w/cpp/io/basic_ios/fail.html',0,'std::fstream::fail()'],['http://en.cppreference.com/w/cpp/io/basic_ios/fail.html',0,'std::wostream::fail()'],['http://en.cppreference.com/w/cpp/io/basic_ios/fail.html',0,'std::basic_ostringstream::fail()'],['http://en.cppreference.com/w/cpp/io/basic_ios/fail.html',0,'std::basic_ios::fail()'],['http://en.cppreference.com/w/cpp/io/basic_ios/fail.html',0,'std::ostringstream::fail()'],['http://en.cppreference.com/w/cpp/io/basic_ios/fail.html',0,'std::basic_fstream::fail()'],['http://en.cppreference.com/w/cpp/io/basic_ios/fail.html',0,'std::iostream::fail()'],['http://en.cppreference.com/w/cpp/io/basic_ios/fail.html',0,'std::wistream::fail()'],['http://en.cppreference.com/w/cpp/io/basic_ios/fail.html',0,'std::stringstream::fail()'],['http://en.cppreference.com/w/cpp/io/basic_ios/fail.html',0,'std::ostream::fail()'],['http://en.cppreference.com/w/cpp/io/basic_ios/fail.html',0,'std::wifstream::fail()'],['http://en.cppreference.com/w/cpp/io/basic_ios/fail.html',0,'std::basic_istream::fail()'],['http://en.cppreference.com/w/cpp/io/basic_ios/fail.html',0,'std::strstream::fail()'],['http://en.cppreference.com/w/cpp/io/basic_ios/fail.html',0,'std::basic_stringstream::fail()'],['http://en.cppreference.com/w/cpp/io/basic_ios/fail.html',0,'std::wostringstream::fail()'],['http://en.cppreference.com/w/cpp/io/basic_ios/fail.html',0,'std::istrstream::fail()'],['http://en.cppreference.com/w/cpp/io/basic_ios/fail.html',0,'std::basic_ostream::fail()'],['http://en.cppreference.com/w/cpp/io/basic_ios/fail.html',0,'std::wiostream::fail()'],['http://en.cppreference.com/w/cpp/io/basic_ios/fail.html',0,'std::ofstream::fail()'],['http://en.cppreference.com/w/cpp/io/basic_ios/fail.html',0,'std::basic_istringstream::fail()'],['http://en.cppreference.com/w/cpp/io/basic_ios/fail.html',0,'std::basic_ifstream::fail()'],['http://en.cppreference.com/w/cpp/io/basic_ios/fail.html',0,'std::istringstream::fail()'],['http://en.cppreference.com/w/cpp/io/basic_ios/fail.html',0,'std::istream::fail()'],['http://en.cppreference.com/w/cpp/io/basic_ios/fail.html',0,'std::ostrstream::fail()'],['http://en.cppreference.com/w/cpp/io/basic_ios/fail.html',0,'std::wfstream::fail()'],['http://en.cppreference.com/w/cpp/io/basic_ios/fail.html',0,'std::basic_iostream::fail()'],['http://en.cppreference.com/w/cpp/io/basic_ios/fail.html',0,'std::wofstream::fail()'],['http://en.cppreference.com/w/cpp/io/basic_ios/fail.html',0,'std::wstringstream::fail()'],['http://en.cppreference.com/w/cpp/io/basic_ios/fail.html',0,'std::wistringstream::fail()'],['http://en.cppreference.com/w/cpp/io/basic_ios/fail.html',0,'std::ifstream::fail()']]], - ['failure_10',['failure',['http://en.cppreference.com/w/cpp/io/ios_base/failure.html',0,'std::basic_fstream< Char >::failure'],['http://en.cppreference.com/w/cpp/io/ios_base/failure.html',0,'std::basic_ifstream< Char >::failure'],['http://en.cppreference.com/w/cpp/io/ios_base/failure.html',0,'std::basic_ios< Char >::failure'],['http://en.cppreference.com/w/cpp/io/ios_base/failure.html',0,'std::basic_iostream< Char >::failure'],['http://en.cppreference.com/w/cpp/io/ios_base/failure.html',0,'std::basic_istream< Char >::failure'],['http://en.cppreference.com/w/cpp/io/ios_base/failure.html',0,'std::basic_istringstream< Char >::failure'],['http://en.cppreference.com/w/cpp/io/ios_base/failure.html',0,'std::basic_ofstream< Char >::failure'],['http://en.cppreference.com/w/cpp/io/ios_base/failure.html',0,'std::basic_ostream< Char >::failure'],['http://en.cppreference.com/w/cpp/io/ios_base/failure.html',0,'std::basic_ostringstream< Char >::failure'],['http://en.cppreference.com/w/cpp/io/ios_base/failure.html',0,'std::basic_stringstream< Char >::failure'],['http://en.cppreference.com/w/cpp/io/ios_base/failure.html',0,'std::fstream::failure'],['http://en.cppreference.com/w/cpp/io/ios_base/failure.html',0,'std::ifstream::failure'],['http://en.cppreference.com/w/cpp/io/ios_base/failure.html',0,'std::ios_base::failure'],['http://en.cppreference.com/w/cpp/io/ios_base/failure.html',0,'std::iostream::failure'],['http://en.cppreference.com/w/cpp/io/ios_base/failure.html',0,'std::istream::failure'],['http://en.cppreference.com/w/cpp/io/ios_base/failure.html',0,'std::istringstream::failure'],['http://en.cppreference.com/w/cpp/io/ios_base/failure.html',0,'std::istrstream::failure'],['http://en.cppreference.com/w/cpp/io/ios_base/failure.html',0,'std::ofstream::failure'],['http://en.cppreference.com/w/cpp/io/ios_base/failure.html',0,'std::ostream::failure'],['http://en.cppreference.com/w/cpp/io/ios_base/failure.html',0,'std::ostringstream::failure'],['http://en.cppreference.com/w/cpp/io/ios_base/failure.html',0,'std::ostrstream::failure'],['http://en.cppreference.com/w/cpp/io/ios_base/failure.html',0,'std::stringstream::failure'],['http://en.cppreference.com/w/cpp/io/ios_base/failure.html',0,'std::strstream::failure'],['http://en.cppreference.com/w/cpp/io/ios_base/failure.html',0,'std::wfstream::failure'],['http://en.cppreference.com/w/cpp/io/ios_base/failure.html',0,'std::wifstream::failure'],['http://en.cppreference.com/w/cpp/io/ios_base/failure.html',0,'std::wiostream::failure'],['http://en.cppreference.com/w/cpp/io/ios_base/failure.html',0,'std::wistream::failure'],['http://en.cppreference.com/w/cpp/io/ios_base/failure.html',0,'std::wistringstream::failure'],['http://en.cppreference.com/w/cpp/io/ios_base/failure.html',0,'std::wofstream::failure'],['http://en.cppreference.com/w/cpp/io/ios_base/failure.html',0,'std::wostream::failure'],['http://en.cppreference.com/w/cpp/io/ios_base/failure.html',0,'std::wostringstream::failure'],['http://en.cppreference.com/w/cpp/io/ios_base/failure.html',0,'std::wstringstream::failure'],['http://en.cppreference.com/w/cpp/io/ios_base/failure.html',0,'std::basic_ofstream::failure::failure()'],['http://en.cppreference.com/w/cpp/io/ios_base/failure.html',0,'std::fstream::failure::failure()'],['http://en.cppreference.com/w/cpp/io/ios_base/failure.html',0,'std::wostream::failure::failure()'],['http://en.cppreference.com/w/cpp/io/ios_base/failure.html',0,'std::basic_ostringstream::failure::failure()'],['http://en.cppreference.com/w/cpp/io/ios_base/failure.html',0,'std::basic_ios::failure::failure()'],['http://en.cppreference.com/w/cpp/io/ios_base/failure.html',0,'std::ostringstream::failure::failure()'],['http://en.cppreference.com/w/cpp/io/ios_base/failure.html',0,'std::basic_fstream::failure::failure()'],['http://en.cppreference.com/w/cpp/io/ios_base/failure.html',0,'std::iostream::failure::failure()'],['http://en.cppreference.com/w/cpp/io/ios_base/failure.html',0,'std::ios_base::failure::failure()'],['http://en.cppreference.com/w/cpp/io/ios_base/failure.html',0,'std::wistream::failure::failure()'],['http://en.cppreference.com/w/cpp/io/ios_base/failure.html',0,'std::stringstream::failure::failure()'],['http://en.cppreference.com/w/cpp/io/ios_base/failure.html',0,'std::ostream::failure::failure()'],['http://en.cppreference.com/w/cpp/io/ios_base/failure.html',0,'std::wifstream::failure::failure()'],['http://en.cppreference.com/w/cpp/io/ios_base/failure.html',0,'std::basic_istream::failure::failure()'],['http://en.cppreference.com/w/cpp/io/ios_base/failure.html',0,'std::strstream::failure::failure()'],['http://en.cppreference.com/w/cpp/io/ios_base/failure.html',0,'std::basic_stringstream::failure::failure()'],['http://en.cppreference.com/w/cpp/io/ios_base/failure.html',0,'std::wostringstream::failure::failure()'],['http://en.cppreference.com/w/cpp/io/ios_base/failure.html',0,'std::istrstream::failure::failure()'],['http://en.cppreference.com/w/cpp/io/ios_base/failure.html',0,'std::basic_ostream::failure::failure()'],['http://en.cppreference.com/w/cpp/io/ios_base/failure.html',0,'std::wiostream::failure::failure()'],['http://en.cppreference.com/w/cpp/io/ios_base/failure.html',0,'std::ofstream::failure::failure()'],['http://en.cppreference.com/w/cpp/io/ios_base/failure.html',0,'std::basic_istringstream::failure::failure()'],['http://en.cppreference.com/w/cpp/io/ios_base/failure.html',0,'std::basic_ifstream::failure::failure()'],['http://en.cppreference.com/w/cpp/io/ios_base/failure.html',0,'std::istringstream::failure::failure()'],['http://en.cppreference.com/w/cpp/io/ios_base/failure.html',0,'std::istream::failure::failure()'],['http://en.cppreference.com/w/cpp/io/ios_base/failure.html',0,'std::ostrstream::failure::failure()'],['http://en.cppreference.com/w/cpp/io/ios_base/failure.html',0,'std::wfstream::failure::failure()'],['http://en.cppreference.com/w/cpp/io/ios_base/failure.html',0,'std::basic_iostream::failure::failure()'],['http://en.cppreference.com/w/cpp/io/ios_base/failure.html',0,'std::wofstream::failure::failure()'],['http://en.cppreference.com/w/cpp/io/ios_base/failure.html',0,'std::wstringstream::failure::failure()'],['http://en.cppreference.com/w/cpp/io/ios_base/failure.html',0,'std::wistringstream::failure::failure()'],['http://en.cppreference.com/w/cpp/io/ios_base/failure.html',0,'std::ifstream::failure::failure()']]], - ['false_5fposition_11',['false_position',['../df/dea/namespacefalse__position.html',1,'']]], - ['false_5fposition_2ecpp_12',['false_position.cpp',['../dd/d29/false__position_8cpp.html',1,'']]], - ['false_5ftype_13',['false_type',['http://en.cppreference.com/w/cpp/types/integral_constant.html',0,'std']]], - ['falsename_14',['falsename',['http://en.cppreference.com/w/cpp/locale/numpunct/truefalsename.html',0,'std::numpunct_byname::falsename()'],['http://en.cppreference.com/w/cpp/locale/numpunct/truefalsename.html',0,'std::numpunct::falsename()']]], - ['fast_5ffourier_5ftransform_2ecpp_15',['fast_fourier_transform.cpp',['../d8/d9a/fast__fourier__transform_8cpp.html',1,'']]], - ['fast_5finteger_5finput_2ecpp_16',['fast_integer_input.cpp',['../d9/df0/fast__integer__input_8cpp.html',1,'']]], - ['fast_5finvsqrt_17',['Fast_InvSqrt',['../d6/db8/inv__sqrt_8cpp.html#ad219034bf5fba657f5035ec5a1d50f52',1,'inv_sqrt.cpp']]], - ['fast_5fpower_2ecpp_18',['fast_power.cpp',['../d2/d0b/fast__power_8cpp.html',1,'']]], - ['fast_5fpower_5flinear_19',['fast_power_linear',['../d2/d0b/fast__power_8cpp.html#a0d4e3f0099a6975b74a314a35bd0f94d',1,'fast_power.cpp']]], - ['fast_5fpower_5frecursive_20',['fast_power_recursive',['../d2/d0b/fast__power_8cpp.html#a8399b847626e5bba983cab7c7918b445',1,'fast_power.cpp']]], - ['fastfouriertransform_21',['FastFourierTransform',['../d1/de0/namespacenumerical__methods.html#a158fd271b9a53e8f3f60b08b18857150',1,'numerical_methods']]], - ['fastinput_22',['fastinput',['../d9/df0/fast__integer__input_8cpp.html#a4e097ac8509b717bdc8ab09ecd86ae82',1,'fast_integer_input.cpp']]], - ['fcfs_23',['FCFS',['../dd/dca/class_f_c_f_s.html',1,'']]], - ['fcfs_5fscheduling_2ecpp_24',['fcfs_scheduling.cpp',['../df/d47/fcfs__scheduling_8cpp.html',1,'']]], - ['fclose_25',['fclose',['http://en.cppreference.com/w/cpp/io/c/fclose.html',0,'std']]], - ['fdim_26',['fdim',['http://en.cppreference.com/w/cpp/numeric/math/fdim.html',0,'std']]], - ['features_27',['Features',['../index.html#autotoc_md104',1,'']]], - ['feclearexcept_28',['feclearexcept',['http://en.cppreference.com/w/cpp/numeric/fenv/feclearexcept.html',0,'std']]], - ['fegetenv_29',['fegetenv',['http://en.cppreference.com/w/cpp/numeric/fenv/feenv.html',0,'std']]], - ['fegetexceptflag_30',['fegetexceptflag',['http://en.cppreference.com/w/cpp/numeric/fenv/feexceptflag.html',0,'std']]], - ['fegetround_31',['fegetround',['http://en.cppreference.com/w/cpp/numeric/fenv/feround.html',0,'std']]], - ['feholdexcept_32',['feholdexcept',['http://en.cppreference.com/w/cpp/numeric/fenv/feholdexcept.html',0,'std']]], - ['femto_33',['femto',['http://en.cppreference.com/w/cpp/numeric/ratio/ratio.html',0,'std']]], - ['fenwick_5ftree_34',['fenwick_tree',['../de/d0d/classrange__queries_1_1fenwick__tree.html',1,'range_queries::fenwick_tree'],['../de/d0d/classrange__queries_1_1fenwick__tree.html#a5ea37183524553bbf2234a36a44a4b9a',1,'range_queries::fenwick_tree::fenwick_tree(const std::vector< T > &arr)'],['../de/d0d/classrange__queries_1_1fenwick__tree.html#aef7ba885b91af093e9e514358fa0f36c',1,'range_queries::fenwick_tree::fenwick_tree(T x)']]], - ['fenwick_5ftree_2ecpp_35',['fenwick_tree.cpp',['../d6/d2e/fenwick__tree_8cpp.html',1,'']]], - ['feof_36',['feof',['http://en.cppreference.com/w/cpp/io/c/feof.html',0,'std']]], - ['feraiseexcept_37',['feraiseexcept',['http://en.cppreference.com/w/cpp/numeric/fenv/feraiseexcept.html',0,'std']]], - ['ferror_38',['ferror',['http://en.cppreference.com/w/cpp/io/c/ferror.html',0,'std']]], - ['fesetenv_39',['fesetenv',['http://en.cppreference.com/w/cpp/numeric/fenv/feenv.html',0,'std']]], - ['fesetexceptflag_40',['fesetexceptflag',['http://en.cppreference.com/w/cpp/numeric/fenv/feexceptflag.html',0,'std']]], - ['fesetround_41',['fesetround',['http://en.cppreference.com/w/cpp/numeric/fenv/feround.html',0,'std']]], - ['fetch_5fadd_42',['fetch_add',['http://en.cppreference.com/w/cpp/atomic/atomic/fetch_add.html',0,'std::atomic']]], - ['fetch_5fand_43',['fetch_and',['http://en.cppreference.com/w/cpp/atomic/atomic/fetch_and.html',0,'std::atomic']]], - ['fetch_5for_44',['fetch_or',['http://en.cppreference.com/w/cpp/atomic/atomic/fetch_or.html',0,'std::atomic']]], - ['fetch_5fsub_45',['fetch_sub',['http://en.cppreference.com/w/cpp/atomic/atomic/fetch_sub.html',0,'std::atomic']]], - ['fetch_5fxor_46',['fetch_xor',['http://en.cppreference.com/w/cpp/atomic/atomic/fetch_xor.html',0,'std::atomic']]], - ['fetestexcept_47',['fetestexcept',['http://en.cppreference.com/w/cpp/numeric/fenv/fetestexcept.html',0,'std']]], - ['feupdateenv_48',['feupdateenv',['http://en.cppreference.com/w/cpp/numeric/fenv/feupdateenv.html',0,'std']]], - ['fflush_49',['fflush',['http://en.cppreference.com/w/cpp/io/c/fflush.html',0,'std']]], - ['fgetc_50',['fgetc',['http://en.cppreference.com/w/cpp/io/c/fgetc.html',0,'std']]], - ['fgetpos_51',['fgetpos',['http://en.cppreference.com/w/cpp/io/c/fgetpos.html',0,'std']]], - ['fgets_52',['fgets',['http://en.cppreference.com/w/cpp/io/c/fgets.html',0,'std']]], - ['fgetwc_53',['fgetwc',['http://en.cppreference.com/w/cpp/io/c/fgetwc.html',0,'std']]], - ['fgetws_54',['fgetws',['http://en.cppreference.com/w/cpp/io/c/fgetws.html',0,'std']]], - ['fib_55',['fib',['../d4/d32/fibonacci__fast_8cpp.html#a5712edca101204eca8accdb1e096707f',1,'fib(uint64_t n): fibonacci_fast.cpp'],['../de/de4/fibonacci__large_8cpp.html#adf3e906875ab257f7fab3bc1370aa2db',1,'fib(uint64_t n): fibonacci_large.cpp']]], - ['fib_5faccurate_56',['fib_Accurate',['../de/d47/string__fibonacci_8cpp.html#ad8055ee368a5d5b24de01bdde6bf8fca',1,'string_fibonacci.cpp']]], - ['fib_5fb_57',['fib_b',['../d7/d35/matrix__exponentiation_8cpp.html#a35b7c98af53ad2ec18658679ad7d43de',1,'matrix_exponentiation.cpp']]], - ['fibo_58',['fibo',['../da/dc9/fibonacci__matrix__exponentiation_8cpp.html#abc3bc08249058d57cfc8f54a29d9cf9f',1,'fibonacci_matrix_exponentiation.cpp']]], - ['fibonacci_59',['fibonacci',['../df/d76/namespacefibonacci.html',1,'fibonacci'],['../d9/d89/fibonacci_8cpp.html#aeaaf5439cb29de4630c7dff2fd914b28',1,'math::fibonacci::fibonacci()']]], - ['fibonacci_2ecpp_60',['fibonacci.cpp',['../d9/d89/fibonacci_8cpp.html',1,'']]], - ['fibonacci_5ffast_2ecpp_61',['fibonacci_fast.cpp',['../d4/d32/fibonacci__fast_8cpp.html',1,'']]], - ['fibonacci_5flarge_2ecpp_62',['fibonacci_large.cpp',['../de/de4/fibonacci__large_8cpp.html',1,'']]], - ['fibonacci_5fmatrix_5fexponentiation_2ecpp_63',['fibonacci_matrix_exponentiation.cpp',['../da/dc9/fibonacci__matrix__exponentiation_8cpp.html',1,'']]], - ['fibonacci_5fsearch_64',['fibonacci_search',['../de/d0d/fibonacci__search_8cpp.html#a0bc61b3903d9a53061bf31e5d110fe61',1,'fibonacci_search.cpp']]], - ['fibonacci_5fsearch_2ecpp_65',['fibonacci_search.cpp',['../de/d0d/fibonacci__search_8cpp.html',1,'']]], - ['fibonacci_5fsum_66',['fibonacci_sum',['../d3/dc9/namespacefibonacci__sum.html',1,'']]], - ['fibonacci_5fsum_2ecpp_67',['fibonacci_sum.cpp',['../de/dc3/fibonacci__sum_8cpp.html',1,'']]], - ['fibosum_68',['fiboSum',['../de/dc3/fibonacci__sum_8cpp.html#a493fbaa7a94e3b7ca573111237bb3742',1,'math::fibonacci_sum']]], - ['file_69',['FILE',['http://en.cppreference.com/w/cpp/io/c.html',0,'std']]], - ['file_20name_20guidelines_70',['File Name guidelines',['../d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md32',1,'']]], - ['filebuf_71',['filebuf',['http://en.cppreference.com/w/cpp/io/basic_filebuf.html',0,'std::filebuf'],['http://en.cppreference.com/w/cpp/io/basic_filebuf/basic_filebuf.html',0,'std::filebuf::filebuf()']]], - ['fill_72',['fill',['http://en.cppreference.com/w/cpp/io/basic_ios/fill.html',0,'std::basic_ofstream::fill()'],['http://en.cppreference.com/w/cpp/io/basic_ios/fill.html',0,'std::fstream::fill()'],['http://en.cppreference.com/w/cpp/container/dynarray/fill.html',0,'std::dynarray::fill()'],['http://en.cppreference.com/w/cpp/io/basic_ios/fill.html',0,'std::wostream::fill()'],['http://en.cppreference.com/w/cpp/io/basic_ios/fill.html',0,'std::basic_ostringstream::fill()'],['http://en.cppreference.com/w/cpp/io/basic_ios/fill.html',0,'std::basic_ios::fill()'],['http://en.cppreference.com/w/cpp/io/basic_ios/fill.html',0,'std::ostringstream::fill()'],['http://en.cppreference.com/w/cpp/io/basic_ios/fill.html',0,'std::basic_fstream::fill()'],['http://en.cppreference.com/w/cpp/io/basic_ios/fill.html',0,'std::iostream::fill()'],['http://en.cppreference.com/w/cpp/io/basic_ios/fill.html',0,'std::wistream::fill()'],['http://en.cppreference.com/w/cpp/io/basic_ios/fill.html',0,'std::stringstream::fill()'],['http://en.cppreference.com/w/cpp/io/basic_ios/fill.html',0,'std::ostream::fill()'],['http://en.cppreference.com/w/cpp/io/basic_ios/fill.html',0,'std::wifstream::fill()'],['http://en.cppreference.com/w/cpp/io/basic_ios/fill.html',0,'std::basic_istream::fill()'],['http://en.cppreference.com/w/cpp/io/basic_ios/fill.html',0,'std::strstream::fill()'],['http://en.cppreference.com/w/cpp/io/basic_ios/fill.html',0,'std::basic_stringstream::fill()'],['http://en.cppreference.com/w/cpp/io/basic_ios/fill.html',0,'std::wostringstream::fill()'],['http://en.cppreference.com/w/cpp/io/basic_ios/fill.html',0,'std::istrstream::fill()'],['http://en.cppreference.com/w/cpp/io/basic_ios/fill.html',0,'std::basic_ostream::fill()'],['http://en.cppreference.com/w/cpp/io/basic_ios/fill.html',0,'std::wiostream::fill()'],['http://en.cppreference.com/w/cpp/io/basic_ios/fill.html',0,'std::ofstream::fill()'],['http://en.cppreference.com/w/cpp/io/basic_ios/fill.html',0,'std::basic_istringstream::fill()'],['http://en.cppreference.com/w/cpp/io/basic_ios/fill.html',0,'std::basic_ifstream::fill()'],['http://en.cppreference.com/w/cpp/io/basic_ios/fill.html',0,'std::istringstream::fill()'],['http://en.cppreference.com/w/cpp/io/basic_ios/fill.html',0,'std::istream::fill()'],['http://en.cppreference.com/w/cpp/io/basic_ios/fill.html',0,'std::ostrstream::fill()'],['http://en.cppreference.com/w/cpp/io/basic_ios/fill.html',0,'std::wfstream::fill()'],['http://en.cppreference.com/w/cpp/io/basic_ios/fill.html',0,'std::basic_iostream::fill()'],['http://en.cppreference.com/w/cpp/io/basic_ios/fill.html',0,'std::wofstream::fill()'],['http://en.cppreference.com/w/cpp/io/basic_ios/fill.html',0,'std::wstringstream::fill()'],['http://en.cppreference.com/w/cpp/io/basic_ios/fill.html',0,'std::wistringstream::fill()'],['http://en.cppreference.com/w/cpp/io/basic_ios/fill.html',0,'std::ifstream::fill()'],['http://en.cppreference.com/w/cpp/container/array/fill.html',0,'std::array::fill()'],['http://en.cppreference.com/w/cpp/algorithm/fill.html',0,'std::fill()'],['../de/d85/decimal__to__roman__numeral_8cpp.html#a88203bd297e8405160c132faa1187780',1,'fill(): decimal_to_roman_numeral.cpp']]], - ['fill_5fn_73',['fill_n',['http://en.cppreference.com/w/cpp/algorithm/fill_n.html',0,'std']]], - ['find_74',['Find',['../de/d23/disjoint__set_8cpp.html#a34b9ead0608e676d9ae5188672427cc8',1,'disjoint_set.cpp']]], - ['find_75',['find',['http://en.cppreference.com/w/cpp/string/char_traits/find.html',0,'std::char_traits::find()'],['http://en.cppreference.com/w/cpp/container/multiset/find.html',0,'std::multiset::find()'],['http://en.cppreference.com/w/cpp/string/basic_string/find.html',0,'std::string::find()'],['http://en.cppreference.com/w/cpp/container/set/find.html',0,'std::set::find()'],['http://en.cppreference.com/w/cpp/container/unordered_map/find.html',0,'std::unordered_map::find()'],['http://en.cppreference.com/w/cpp/container/unordered_multimap/find.html',0,'std::unordered_multimap::find()'],['http://en.cppreference.com/w/cpp/string/basic_string/find.html',0,'std::basic_string::find()'],['http://en.cppreference.com/w/cpp/string/basic_string/find.html',0,'std::wstring::find()'],['http://en.cppreference.com/w/cpp/container/unordered_multiset/find.html',0,'std::unordered_multiset::find()'],['http://en.cppreference.com/w/cpp/string/basic_string/find.html',0,'std::u16string::find()'],['http://en.cppreference.com/w/cpp/string/basic_string/find.html',0,'std::u32string::find()'],['http://en.cppreference.com/w/cpp/container/map/find.html',0,'std::map::find()'],['http://en.cppreference.com/w/cpp/container/unordered_set/find.html',0,'std::unordered_set::find()'],['http://en.cppreference.com/w/cpp/container/multimap/find.html',0,'std::multimap::find()'],['../dd/d1c/classhash__chain.html#a55aa5c6753cb8853152d469c375d946a',1,'hash_chain::find()'],['http://en.cppreference.com/w/cpp/algorithm/find.html',0,'std::find()'],['../d4/dd2/namespacequadratic__probing.html#a5ceee4128d92ca4412040b7104d1299d',1,'quadratic_probing::find()']]], - ['find_5fend_76',['find_end',['http://en.cppreference.com/w/cpp/algorithm/find_end.html',0,'std']]], - ['find_5ffirst_5fnot_5fof_77',['find_first_not_of',['http://en.cppreference.com/w/cpp/string/basic_string/find_first_not_of.html',0,'std::string::find_first_not_of()'],['http://en.cppreference.com/w/cpp/string/basic_string/find_first_not_of.html',0,'std::basic_string::find_first_not_of()'],['http://en.cppreference.com/w/cpp/string/basic_string/find_first_not_of.html',0,'std::wstring::find_first_not_of()'],['http://en.cppreference.com/w/cpp/string/basic_string/find_first_not_of.html',0,'std::u16string::find_first_not_of()'],['http://en.cppreference.com/w/cpp/string/basic_string/find_first_not_of.html',0,'std::u32string::find_first_not_of()']]], - ['find_5ffirst_5fof_78',['find_first_of',['http://en.cppreference.com/w/cpp/string/basic_string/find_first_of.html',0,'std::string::find_first_of()'],['http://en.cppreference.com/w/cpp/string/basic_string/find_first_of.html',0,'std::basic_string::find_first_of()'],['http://en.cppreference.com/w/cpp/string/basic_string/find_first_of.html',0,'std::wstring::find_first_of()'],['http://en.cppreference.com/w/cpp/string/basic_string/find_first_of.html',0,'std::u16string::find_first_of()'],['http://en.cppreference.com/w/cpp/string/basic_string/find_first_of.html',0,'std::u32string::find_first_of()'],['http://en.cppreference.com/w/cpp/algorithm/find_first_of.html',0,'std::find_first_of(T... args)']]], - ['find_5fif_79',['find_if',['http://en.cppreference.com/w/cpp/algorithm/find.html',0,'std']]], - ['find_5fif_5fnot_80',['find_if_not',['http://en.cppreference.com/w/cpp/algorithm/find.html',0,'std']]], - ['find_5flast_5fnot_5fof_81',['find_last_not_of',['http://en.cppreference.com/w/cpp/string/basic_string/find_last_not_of.html',0,'std::string::find_last_not_of()'],['http://en.cppreference.com/w/cpp/string/basic_string/find_last_not_of.html',0,'std::basic_string::find_last_not_of()'],['http://en.cppreference.com/w/cpp/string/basic_string/find_last_not_of.html',0,'std::wstring::find_last_not_of()'],['http://en.cppreference.com/w/cpp/string/basic_string/find_last_not_of.html',0,'std::u16string::find_last_not_of()'],['http://en.cppreference.com/w/cpp/string/basic_string/find_last_not_of.html',0,'std::u32string::find_last_not_of()']]], - ['find_5flast_5fof_82',['find_last_of',['http://en.cppreference.com/w/cpp/string/basic_string/find_last_of.html',0,'std::string::find_last_of()'],['http://en.cppreference.com/w/cpp/string/basic_string/find_last_of.html',0,'std::basic_string::find_last_of()'],['http://en.cppreference.com/w/cpp/string/basic_string/find_last_of.html',0,'std::wstring::find_last_of()'],['http://en.cppreference.com/w/cpp/string/basic_string/find_last_of.html',0,'std::u16string::find_last_of()'],['http://en.cppreference.com/w/cpp/string/basic_string/find_last_of.html',0,'std::u32string::find_last_of()']]], - ['find_5fmax_83',['find_max',['../d9/dde/classbinary__search__tree.html#a75f897af6aa732a9901454401c869bcb',1,'binary_search_tree::find_max(std::unique_ptr< bst_node > &node, T &ret_value)'],['../d9/dde/classbinary__search__tree.html#a42b16f26928b5e994925100594a167a0',1,'binary_search_tree::find_max(T &ret_value)']]], - ['find_5fmin_84',['find_min',['../d9/dde/classbinary__search__tree.html#af9a2c7c187a7ca3142c77ce342ef3153',1,'binary_search_tree::find_min(std::unique_ptr< bst_node > &node, T &ret_value)'],['../d9/dde/classbinary__search__tree.html#ad9912e8574538e86f9bd2c38e7e63d03',1,'binary_search_tree::find_min(T &ret_value)']]], - ['find_5fnon_5frepeating_5finteger_85',['find_non_repeating_integer',['../d2/da7/namespacefind__non__repeating__integer.html',1,'find_non_repeating_integer'],['../d6/d38/find__non__repeating__number_8cpp.html#ac5ca4c0be0967b4dd572507f50451ae3',1,'bit_manipulation::find_non_repeating_integer::find_non_repeating_integer()']]], - ['find_5fnon_5frepeating_5fnumber_2ecpp_86',['find_non_repeating_number.cpp',['../d6/d38/find__non__repeating__number_8cpp.html',1,'']]], - ['find_5fpat_5fin_5ftext_87',['find_pat_in_text',['../d3/d80/z__function_8cpp.html#ac186ca3ac3a69b5e52543bb13fe46db8',1,'z_function.cpp']]], - ['find_5fset_88',['find_set',['../d8/d99/connected__components__with__dsu_8cpp.html#a469384d8a4197a9b24482ce7c321a85e',1,'graph::disjoint_union']]], - ['find_5fzero_89',['find_zero',['../dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle.html#a94f794bf44f424b1b0ca6ef9f4f6ebd3',1,'machine_learning::aystar_search::EightPuzzle']]], - ['finding_5fnumber_5fof_5fdigits_5fin_5fa_5fnumber_90',['finding_number_of_digits_in_a_number',['../d0/d46/finding__number__of__digits__in__a__number_8cpp.html#a8a3b522a675ab4cdec2d275f6f7798a1',1,'finding_number_of_digits_in_a_number.cpp']]], - ['finding_5fnumber_5fof_5fdigits_5fin_5fa_5fnumber_2ecpp_91',['finding_number_of_digits_in_a_number.cpp',['../d0/d46/finding__number__of__digits__in__a__number_8cpp.html',1,'']]], - ['finding_5fnumber_5fof_5fdigits_5fin_5fa_5fnumber_5fusing_5flog_92',['finding_number_of_digits_in_a_number_using_log',['../d0/d46/finding__number__of__digits__in__a__number_8cpp.html#ac0862b67cf73651707ece04673e1ae49',1,'finding_number_of_digits_in_a_number.cpp']]], - ['findminimumedge_93',['findMinimumEdge',['../d2/d90/namespacegreedy__algorithms.html#a349e4ab9a97532c3931a2bd2a19c0098',1,'greedy_algorithms']]], - ['findminindex_94',['findMinIndex',['../d4/d9f/selection__sort__recursive_8cpp.html#a5454eeb691725ccac0f59df1e133f834',1,'sorting::selection_sort_recursive']]], - ['findminnode_95',['findMinNode',['../d4/d32/inorder__successor__of__bst_8cpp.html#a72483e3f6933e004a8d86371e8a990db',1,'operations_on_datastructures::inorder_traversal_of_bst']]], - ['findnextgap_96',['FindNextGap',['../d9/dfd/comb__sort_8cpp.html#aede08143e63105faba10e9ee8e745fd5',1,'comb_sort.cpp']]], - ['findparent_97',['findParent',['../d4/d6c/boruvkas__minimum__spanning__tree_8cpp.html#a95de0f5e70e83164dbd1b4c515565e84',1,'greedy_algorithms::boruvkas_minimum_spanning_tree']]], - ['findset_98',['findSet',['../dd/d1f/classdsu.html#a16851f78fe390fc1430905c83d6a2f1c',1,'dsu::findSet(uint64_t i)'],['../dd/d1f/classdsu.html#a16851f78fe390fc1430905c83d6a2f1c',1,'dsu::findSet(uint64_t i)']]], - ['findshifttable_99',['findShiftTable',['../d3/dfe/horspool_8cpp.html#a1a9c3aa55ccc79d0f47d50c580997336',1,'strings::horspool']]], - ['first_100',['first',['../d1/def/classdata__structures_1_1linked__list_1_1list.html#aa3801cea564a3b3bb7b03abfffdcf1e1',1,'data_structures::linked_list::list']]], - ['first_5ftest_101',['first_test',['../d0/d46/finding__number__of__digits__in__a__number_8cpp.html#ab4c15b7f1aedd4419a65cd49562cc300',1,'finding_number_of_digits_in_a_number.cpp']]], - ['fisher_5ff_5fdistribution_102',['fisher_f_distribution',['http://en.cppreference.com/w/cpp/numeric/random/fisher_f_distribution.html',0,'std::fisher_f_distribution'],['http://en.cppreference.com/w/cpp/numeric/random/fisher_f_distribution/fisher_f_distribution.html',0,'std::fisher_f_distribution::fisher_f_distribution()']]], - ['fit_103',['fit',['../d6/d30/classmachine__learning_1_1adaline.html#a74e3c6c037b67895014414c5d75465e5',1,'machine_learning::adaline::fit(const std::vector< double > &x, const int &y)'],['../d6/d30/classmachine__learning_1_1adaline.html#a8d61f9ed872eef26bca39388cbda6a91',1,'machine_learning::adaline::fit(std::array< std::vector< double >, N > const &X, std::array< int, N > const &Y)'],['../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#a2be1b52bb9f57486f9a436f35c9089c0',1,'machine_learning::neural_network::NeuralNetwork::fit(const std::vector< std::vector< std::valarray< double > > > &X_, const std::vector< std::vector< std::valarray< double > > > &Y_, const int &epochs=100, const double &learning_rate=0.01, const size_t &batch_size=32, const bool &shuffle=true)']]], - ['fit_5ffrom_5fcsv_104',['fit_from_csv',['../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#a5172a6791b9bd24f4232bab8d6b81fff',1,'machine_learning::neural_network::NeuralNetwork']]], - ['fit_5fols_5fregressor_105',['fit_OLS_regressor',['../dc/d38/ordinary__least__squares__regressor_8cpp.html#aaddc683af581b51351e1023d2a01ef3b',1,'ordinary_least_squares_regressor.cpp']]], - ['fixed_106',['fixed',['http://en.cppreference.com/w/cpp/io/manip/fixed.html',0,'std']]], - ['flags_107',['flags',['http://en.cppreference.com/w/cpp/io/ios_base/flags.html',0,'std::basic_ofstream::flags()'],['http://en.cppreference.com/w/cpp/io/ios_base/flags.html',0,'std::fstream::flags()'],['http://en.cppreference.com/w/cpp/io/ios_base/flags.html',0,'std::wostream::flags()'],['http://en.cppreference.com/w/cpp/io/ios_base/flags.html',0,'std::basic_ostringstream::flags()'],['http://en.cppreference.com/w/cpp/regex/basic_regex/flags.html',0,'std::regex::flags()'],['http://en.cppreference.com/w/cpp/regex/basic_regex/flags.html',0,'std::basic_regex::flags()'],['http://en.cppreference.com/w/cpp/io/ios_base/flags.html',0,'std::basic_ios::flags()'],['http://en.cppreference.com/w/cpp/io/ios_base/flags.html',0,'std::ostringstream::flags()'],['http://en.cppreference.com/w/cpp/io/ios_base/flags.html',0,'std::basic_fstream::flags()'],['http://en.cppreference.com/w/cpp/regex/basic_regex/flags.html',0,'std::wregex::flags()'],['http://en.cppreference.com/w/cpp/io/ios_base/flags.html',0,'std::iostream::flags()'],['http://en.cppreference.com/w/cpp/io/ios_base/flags.html',0,'std::ios_base::flags()'],['http://en.cppreference.com/w/cpp/io/ios_base/flags.html',0,'std::wistream::flags()'],['http://en.cppreference.com/w/cpp/io/ios_base/flags.html',0,'std::stringstream::flags()'],['http://en.cppreference.com/w/cpp/io/ios_base/flags.html',0,'std::ostream::flags()'],['http://en.cppreference.com/w/cpp/io/ios_base/flags.html',0,'std::wifstream::flags()'],['http://en.cppreference.com/w/cpp/io/ios_base/flags.html',0,'std::basic_istream::flags()'],['http://en.cppreference.com/w/cpp/io/ios_base/flags.html',0,'std::strstream::flags()'],['http://en.cppreference.com/w/cpp/io/ios_base/flags.html',0,'std::basic_stringstream::flags()'],['http://en.cppreference.com/w/cpp/io/ios_base/flags.html',0,'std::wostringstream::flags()'],['http://en.cppreference.com/w/cpp/io/ios_base/flags.html',0,'std::istrstream::flags()'],['http://en.cppreference.com/w/cpp/io/ios_base/flags.html',0,'std::basic_ostream::flags()'],['http://en.cppreference.com/w/cpp/io/ios_base/flags.html',0,'std::wiostream::flags()'],['http://en.cppreference.com/w/cpp/io/ios_base/flags.html',0,'std::ofstream::flags()'],['http://en.cppreference.com/w/cpp/io/ios_base/flags.html',0,'std::basic_istringstream::flags()'],['http://en.cppreference.com/w/cpp/io/ios_base/flags.html',0,'std::basic_ifstream::flags()'],['http://en.cppreference.com/w/cpp/io/ios_base/flags.html',0,'std::istringstream::flags()'],['http://en.cppreference.com/w/cpp/io/ios_base/flags.html',0,'std::istream::flags()'],['http://en.cppreference.com/w/cpp/io/ios_base/flags.html',0,'std::ostrstream::flags()'],['http://en.cppreference.com/w/cpp/io/ios_base/flags.html',0,'std::wfstream::flags()'],['http://en.cppreference.com/w/cpp/io/ios_base/flags.html',0,'std::basic_iostream::flags()'],['http://en.cppreference.com/w/cpp/io/ios_base/flags.html',0,'std::wofstream::flags()'],['http://en.cppreference.com/w/cpp/io/ios_base/flags.html',0,'std::wstringstream::flags()'],['http://en.cppreference.com/w/cpp/io/ios_base/flags.html',0,'std::wistringstream::flags()'],['http://en.cppreference.com/w/cpp/io/ios_base/flags.html',0,'std::ifstream::flags()']]], - ['flip_108',['flip',['http://en.cppreference.com/w/cpp/utility/bitset/flip.html',0,'std::bitset']]], - ['floor_109',['floor',['http://en.cppreference.com/w/cpp/numeric/math/floor.html',0,'std']]], - ['floyd_5fcycle_5fdetection_5falgo_2ecpp_110',['floyd_cycle_detection_algo.cpp',['../db/dc4/floyd__cycle__detection__algo_8cpp.html',1,'']]], - ['flush_111',['flush',['http://en.cppreference.com/w/cpp/io/basic_ostream/flush.html',0,'std::basic_ofstream::flush()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/flush.html',0,'std::fstream::flush()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/flush.html',0,'std::wostream::flush()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/flush.html',0,'std::basic_ostringstream::flush()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/flush.html',0,'std::ostringstream::flush()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/flush.html',0,'std::basic_fstream::flush()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/flush.html',0,'std::iostream::flush()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/flush.html',0,'std::stringstream::flush()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/flush.html',0,'std::ostream::flush()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/flush.html',0,'std::strstream::flush()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/flush.html',0,'std::basic_stringstream::flush()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/flush.html',0,'std::wostringstream::flush()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/flush.html',0,'std::basic_ostream::flush()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/flush.html',0,'std::wiostream::flush()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/flush.html',0,'std::ofstream::flush()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/flush.html',0,'std::ostrstream::flush()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/flush.html',0,'std::wfstream::flush()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/flush.html',0,'std::basic_iostream::flush()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/flush.html',0,'std::wofstream::flush()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/flush.html',0,'std::wstringstream::flush()'],['http://en.cppreference.com/w/cpp/io/manip/flush.html',0,'std::flush(T... args)']]], - ['fma_112',['fma',['http://en.cppreference.com/w/cpp/numeric/math/fma.html',0,'std']]], - ['fmax_113',['fmax',['http://en.cppreference.com/w/cpp/numeric/math/fmax.html',0,'std']]], - ['fmin_114',['fmin',['http://en.cppreference.com/w/cpp/numeric/math/fmin.html',0,'std']]], - ['fmod_115',['fmod',['http://en.cppreference.com/w/cpp/numeric/math/fmod.html',0,'std']]], - ['fopen_116',['fopen',['http://en.cppreference.com/w/cpp/io/c/fopen.html',0,'std']]], - ['for_20reviewers_20and_20maintainers_117',['Guidelines for reviewers and maintainers',['../d7/d1b/md__r_e_v_i_e_w_e_r___c_o_d_e.html',1,'']]], - ['for_5feach_118',['for_each',['http://en.cppreference.com/w/cpp/algorithm/for_each.html',0,'std']]], - ['format_119',['format',['http://en.cppreference.com/w/cpp/regex/match_results/format.html',0,'std::match_results::format()'],['http://en.cppreference.com/w/cpp/regex/match_results/format.html',0,'std::wsmatch::format()'],['http://en.cppreference.com/w/cpp/regex/match_results/format.html',0,'std::smatch::format()'],['http://en.cppreference.com/w/cpp/regex/match_results/format.html',0,'std::wcmatch::format()'],['http://en.cppreference.com/w/cpp/regex/match_results/format.html',0,'std::cmatch::format()']]], - ['formatter_120',['Code Formatter',['../d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md39',1,'']]], - ['forward_121',['forward',['../d9/d49/structdata__structures_1_1_node.html#ac916d833aad2b9c41f01a92db2f8c48e',1,'data_structures::Node::forward'],['http://en.cppreference.com/w/cpp/utility/forward.html',0,'std::forward(T... args)']]], - ['forward_5fas_5ftuple_122',['forward_as_tuple',['http://en.cppreference.com/w/cpp/utility/tuple/forward_as_tuple.html',0,'std']]], - ['forward_5feuler_123',['forward_euler',['../d6/d60/group__ode.html#gae0509f8843e2bc42de2abbd00a14b7b9',1,'ode_forward_euler.cpp']]], - ['forward_5feuler_5fstep_124',['forward_euler_step',['../d6/d60/group__ode.html#ga195d23bbdfcb80e83c9cda45c9ad5723',1,'ode_forward_euler.cpp']]], - ['forward_5fiterator_5ftag_125',['forward_iterator_tag',['http://en.cppreference.com/w/cpp/iterator/iterator_tags.html',0,'std']]], - ['forward_5flist_126',['forward_list',['http://en.cppreference.com/w/cpp/container/forward_list.html',0,'std::forward_list< T >'],['http://en.cppreference.com/w/cpp/container/forward_list/forward_list.html',0,'std::forward_list::forward_list()']]], - ['fpclassify_127',['fpclassify',['http://en.cppreference.com/w/cpp/numeric/math/fpclassify.html',0,'std']]], - ['fpos_128',['fpos',['http://en.cppreference.com/w/cpp/io/fpos.html',0,'std']]], - ['fpos_5ft_129',['fpos_t',['http://en.cppreference.com/w/cpp/io/c.html',0,'std']]], - ['fprintf_130',['fprintf',['http://en.cppreference.com/w/cpp/io/c/fprintf.html',0,'std']]], - ['fputc_131',['fputc',['http://en.cppreference.com/w/cpp/io/c/fputc.html',0,'std']]], - ['fputs_132',['fputs',['http://en.cppreference.com/w/cpp/io/c/fputs.html',0,'std']]], - ['fputwc_133',['fputwc',['http://en.cppreference.com/w/cpp/io/c/fputwc.html',0,'std']]], - ['fputws_134',['fputws',['http://en.cppreference.com/w/cpp/io/c/fputws.html',0,'std']]], - ['frac_5fdigits_135',['frac_digits',['http://en.cppreference.com/w/cpp/locale/moneypunct/frac_digits.html',0,'std::moneypunct_byname::frac_digits()'],['http://en.cppreference.com/w/cpp/locale/moneypunct/frac_digits.html',0,'std::moneypunct::frac_digits()']]], - ['fread_136',['fread',['http://en.cppreference.com/w/cpp/io/c/fread.html',0,'std']]], - ['free_137',['free',['http://en.cppreference.com/w/cpp/memory/c/free.html',0,'std']]], - ['freenode_138',['freeNode',['../d3/dce/linkedlist__implentation__usingarray_8cpp.html#a08ba214242a900e7251cec556b592f02',1,'linkedlist_implentation_usingarray.cpp']]], - ['freeze_139',['freeze',['http://en.cppreference.com/w/cpp/io/strstreambuf/freeze.html',0,'std::strstreambuf::freeze()'],['http://en.cppreference.com/w/cpp/io/strstream/freeze.html',0,'std::strstream::freeze()'],['http://en.cppreference.com/w/cpp/io/ostrstream/freeze.html',0,'std::ostrstream::freeze()']]], - ['freopen_140',['freopen',['http://en.cppreference.com/w/cpp/io/c/freopen.html',0,'std']]], - ['freq_5fmap_141',['freq_map',['../df/d8f/classothers_1_1_cache_1_1_l_f_u_cache.html#aba5d59d0f6ab0c0d30a92551ca5a05f2',1,'others::Cache::LFUCache']]], - ['frexp_142',['frexp',['http://en.cppreference.com/w/cpp/numeric/math/frexp.html',0,'std']]], - ['from_20the_20root_20node_143',['Method 2: Search from the root node',['../d4/d32/inorder__successor__of__bst_8cpp.html#autotoc_md92',1,'']]], - ['from_5fbytes_144',['from_bytes',['http://en.cppreference.com/w/cpp/locale/wstring_convert/from_bytes.html',0,'std::wstring_convert']]], - ['from_5ftime_5ft_145',['from_time_t',['http://en.cppreference.com/w/cpp/chrono/system_clock/from_time_t.html',0,'std::chrono::system_clock']]], - ['front_146',['front',['../d6/d04/classdata__structures_1_1queue__using__array_1_1_queue___array.html#a2f676f2f249eb36dfd49711a03e9e67e',1,'data_structures::queue_using_array::Queue_Array::front'],['http://en.cppreference.com/w/cpp/container/dynarray/front.html',0,'std::dynarray::front()'],['http://en.cppreference.com/w/cpp/container/vector/front.html',0,'std::vector::front()'],['http://en.cppreference.com/w/cpp/string/basic_string/front.html',0,'std::string::front()'],['http://en.cppreference.com/w/cpp/container/forward_list/front.html',0,'std::forward_list::front()'],['http://en.cppreference.com/w/cpp/container/deque/front.html',0,'std::deque::front()'],['http://en.cppreference.com/w/cpp/container/queue/front.html',0,'std::queue::front()'],['http://en.cppreference.com/w/cpp/string/basic_string/front.html',0,'std::basic_string::front()'],['http://en.cppreference.com/w/cpp/string/basic_string/front.html',0,'std::wstring::front()'],['http://en.cppreference.com/w/cpp/string/basic_string/front.html',0,'std::u16string::front()'],['http://en.cppreference.com/w/cpp/string/basic_string/front.html',0,'std::u32string::front()'],['http://en.cppreference.com/w/cpp/container/list/front.html',0,'std::list::front()'],['http://en.cppreference.com/w/cpp/container/array/front.html',0,'std::array::front()'],['../db/da9/classqueue.html#a75e231798bc706b8b0773a07f78713e7',1,'queue::front()']]], - ['front_5finsert_5fiterator_147',['front_insert_iterator',['http://en.cppreference.com/w/cpp/iterator/front_insert_iterator.html',0,'std']]], - ['front_5finserter_148',['front_inserter',['http://en.cppreference.com/w/cpp/iterator/front_inserter.html',0,'std']]], - ['fscanf_149',['fscanf',['http://en.cppreference.com/w/cpp/io/c/fscanf.html',0,'std']]], - ['fseek_150',['fseek',['http://en.cppreference.com/w/cpp/io/c/fseek.html',0,'std']]], - ['fsetpos_151',['fsetpos',['http://en.cppreference.com/w/cpp/io/c/fsetpos.html',0,'std']]], - ['fstream_152',['fstream',['http://en.cppreference.com/w/cpp/io/basic_fstream.html',0,'std::fstream'],['http://en.cppreference.com/w/cpp/io/basic_fstream/basic_fstream.html',0,'std::fstream::fstream()']]], - ['ftell_153',['ftell',['http://en.cppreference.com/w/cpp/io/c/ftell.html',0,'std']]], - ['full_154',['full',['../d2/dc8/classdata__structures_1_1_stack.html#aa753346c8ee5f21d4f4482398fe6d5c1',1,'data_structures::Stack']]], - ['function_155',['function',['http://en.cppreference.com/w/cpp/utility/functional/function.html',0,'std::function'],['http://en.cppreference.com/w/cpp/utility/functional/function/function.html',0,'std::function::function()']]], - ['future_156',['future',['http://en.cppreference.com/w/cpp/thread/future.html',0,'std::future'],['http://en.cppreference.com/w/cpp/thread/future/future.html',0,'std::future::future()']]], - ['future_5fcategory_157',['future_category',['http://en.cppreference.com/w/cpp/thread/future/future_category.html',0,'std']]], - ['future_5ferror_158',['future_error',['http://en.cppreference.com/w/cpp/thread/future_error.html',0,'std::future_error'],['http://en.cppreference.com/w/cpp/thread/future_error/future_error.html',0,'std::future_error::future_error()']]], - ['fwprintf_159',['fwprintf',['http://en.cppreference.com/w/cpp/io/c/fwprintf.html',0,'std']]], - ['fwrite_160',['fwrite',['http://en.cppreference.com/w/cpp/io/c/fwrite.html',0,'std']]], - ['fwscanf_161',['fwscanf',['http://en.cppreference.com/w/cpp/io/c/fwscanf.html',0,'std']]] + ['fac_1',['fac',['../d6/dc1/classmath_1_1ncr__modulo__p_1_1_n_c_r_modulo_p.html#a738a5f59bb3560c81cdb7f43bcfe9fec',1,'math::ncr_modulo_p::NCRModuloP']]], + ['fact_2',['fact',['../d9/d24/poisson__dist_8cpp.html#a63ffd347e75d5ed7a518cbcfbfeec71a',1,'poisson_dist.cpp']]], + ['factorial_3',['factorial',['../dd/d47/namespacemath.html#a7e78996673df791014cfe540b183456a',1,'math']]], + ['factorial_2ecpp_4',['factorial.cpp',['../d9/d00/factorial_8cpp.html',1,'']]], + ['factorization_5',['Prime factorization',['../d7/d7f/section.html',1,'']]], + ['factors_6',['factors',['../db/d0d/prime__factorization_8cpp.html#acfb0df439a4beae5a34ef131ce737c1b',1,'prime_factorization.cpp']]], + ['false_5fposition_7',['false_position',['../df/dea/namespacefalse__position.html',1,'']]], + ['false_5fposition_2ecpp_8',['false_position.cpp',['../dd/d29/false__position_8cpp.html',1,'']]], + ['fast_5ffourier_5ftransform_2ecpp_9',['fast_fourier_transform.cpp',['../d8/d9a/fast__fourier__transform_8cpp.html',1,'']]], + ['fast_5finteger_5finput_2ecpp_10',['fast_integer_input.cpp',['../d9/df0/fast__integer__input_8cpp.html',1,'']]], + ['fast_5finvsqrt_11',['Fast_InvSqrt',['../d6/db8/inv__sqrt_8cpp.html#ad219034bf5fba657f5035ec5a1d50f52',1,'inv_sqrt.cpp']]], + ['fast_5fpower_2ecpp_12',['fast_power.cpp',['../d2/d0b/fast__power_8cpp.html',1,'']]], + ['fast_5fpower_5flinear_13',['fast_power_linear',['../d2/d0b/fast__power_8cpp.html#a0d4e3f0099a6975b74a314a35bd0f94d',1,'fast_power.cpp']]], + ['fast_5fpower_5frecursive_14',['fast_power_recursive',['../d2/d0b/fast__power_8cpp.html#a8399b847626e5bba983cab7c7918b445',1,'fast_power.cpp']]], + ['fastfouriertransform_15',['FastFourierTransform',['../d1/de0/namespacenumerical__methods.html#a158fd271b9a53e8f3f60b08b18857150',1,'numerical_methods']]], + ['fastinput_16',['fastinput',['../d9/df0/fast__integer__input_8cpp.html#a4e097ac8509b717bdc8ab09ecd86ae82',1,'fast_integer_input.cpp']]], + ['fcfs_17',['FCFS',['../dd/dca/class_f_c_f_s.html',1,'']]], + ['fcfs_5fscheduling_2ecpp_18',['fcfs_scheduling.cpp',['../df/d47/fcfs__scheduling_8cpp.html',1,'']]], + ['features_19',['Features',['../index.html#autotoc_md104',1,'']]], + ['fenwick_5ftree_20',['fenwick_tree',['../de/d0d/classrange__queries_1_1fenwick__tree.html',1,'range_queries::fenwick_tree'],['../de/d0d/classrange__queries_1_1fenwick__tree.html#a5ea37183524553bbf2234a36a44a4b9a',1,'range_queries::fenwick_tree::fenwick_tree(const std::vector< T > &arr)'],['../de/d0d/classrange__queries_1_1fenwick__tree.html#aef7ba885b91af093e9e514358fa0f36c',1,'range_queries::fenwick_tree::fenwick_tree(T x)']]], + ['fenwick_5ftree_2ecpp_21',['fenwick_tree.cpp',['../d6/d2e/fenwick__tree_8cpp.html',1,'']]], + ['fib_22',['fib',['../d4/d32/fibonacci__fast_8cpp.html#a5712edca101204eca8accdb1e096707f',1,'fib(uint64_t n): fibonacci_fast.cpp'],['../de/de4/fibonacci__large_8cpp.html#adf3e906875ab257f7fab3bc1370aa2db',1,'fib(uint64_t n): fibonacci_large.cpp']]], + ['fib_5faccurate_23',['fib_Accurate',['../de/d47/string__fibonacci_8cpp.html#ad8055ee368a5d5b24de01bdde6bf8fca',1,'string_fibonacci.cpp']]], + ['fib_5fb_24',['fib_b',['../d7/d35/matrix__exponentiation_8cpp.html#a35b7c98af53ad2ec18658679ad7d43de',1,'matrix_exponentiation.cpp']]], + ['fibo_25',['fibo',['../da/dc9/fibonacci__matrix__exponentiation_8cpp.html#abc3bc08249058d57cfc8f54a29d9cf9f',1,'fibonacci_matrix_exponentiation.cpp']]], + ['fibonacci_26',['fibonacci',['../df/d76/namespacefibonacci.html',1,'fibonacci'],['../d9/d89/fibonacci_8cpp.html#aeaaf5439cb29de4630c7dff2fd914b28',1,'math::fibonacci::fibonacci()']]], + ['fibonacci_2ecpp_27',['fibonacci.cpp',['../d9/d89/fibonacci_8cpp.html',1,'']]], + ['fibonacci_5ffast_2ecpp_28',['fibonacci_fast.cpp',['../d4/d32/fibonacci__fast_8cpp.html',1,'']]], + ['fibonacci_5flarge_2ecpp_29',['fibonacci_large.cpp',['../de/de4/fibonacci__large_8cpp.html',1,'']]], + ['fibonacci_5fmatrix_5fexponentiation_2ecpp_30',['fibonacci_matrix_exponentiation.cpp',['../da/dc9/fibonacci__matrix__exponentiation_8cpp.html',1,'']]], + ['fibonacci_5fsearch_31',['fibonacci_search',['../de/d0d/fibonacci__search_8cpp.html#a0bc61b3903d9a53061bf31e5d110fe61',1,'fibonacci_search.cpp']]], + ['fibonacci_5fsearch_2ecpp_32',['fibonacci_search.cpp',['../de/d0d/fibonacci__search_8cpp.html',1,'']]], + ['fibonacci_5fsum_33',['fibonacci_sum',['../d3/dc9/namespacefibonacci__sum.html',1,'']]], + ['fibonacci_5fsum_2ecpp_34',['fibonacci_sum.cpp',['../de/dc3/fibonacci__sum_8cpp.html',1,'']]], + ['fibosum_35',['fiboSum',['../de/dc3/fibonacci__sum_8cpp.html#a493fbaa7a94e3b7ca573111237bb3742',1,'math::fibonacci_sum']]], + ['file_20name_20guidelines_36',['File Name guidelines',['../d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md32',1,'']]], + ['fill_37',['fill',['../de/d85/decimal__to__roman__numeral_8cpp.html#a88203bd297e8405160c132faa1187780',1,'decimal_to_roman_numeral.cpp']]], + ['find_38',['Find',['../de/d23/disjoint__set_8cpp.html#a34b9ead0608e676d9ae5188672427cc8',1,'disjoint_set.cpp']]], + ['find_39',['find',['../dd/d1c/classhash__chain.html#a55aa5c6753cb8853152d469c375d946a',1,'hash_chain::find()'],['../d4/dd2/namespacequadratic__probing.html#a5ceee4128d92ca4412040b7104d1299d',1,'quadratic_probing::find()']]], + ['find_5fmax_40',['find_max',['../d9/dde/classbinary__search__tree.html#a75f897af6aa732a9901454401c869bcb',1,'binary_search_tree::find_max(std::unique_ptr< bst_node > &node, T &ret_value)'],['../d9/dde/classbinary__search__tree.html#a42b16f26928b5e994925100594a167a0',1,'binary_search_tree::find_max(T &ret_value)']]], + ['find_5fmin_41',['find_min',['../d9/dde/classbinary__search__tree.html#af9a2c7c187a7ca3142c77ce342ef3153',1,'binary_search_tree::find_min(std::unique_ptr< bst_node > &node, T &ret_value)'],['../d9/dde/classbinary__search__tree.html#ad9912e8574538e86f9bd2c38e7e63d03',1,'binary_search_tree::find_min(T &ret_value)']]], + ['find_5fnon_5frepeating_5finteger_42',['find_non_repeating_integer',['../d2/da7/namespacefind__non__repeating__integer.html',1,'find_non_repeating_integer'],['../d6/d38/find__non__repeating__number_8cpp.html#ac5ca4c0be0967b4dd572507f50451ae3',1,'bit_manipulation::find_non_repeating_integer::find_non_repeating_integer()']]], + ['find_5fnon_5frepeating_5fnumber_2ecpp_43',['find_non_repeating_number.cpp',['../d6/d38/find__non__repeating__number_8cpp.html',1,'']]], + ['find_5fpat_5fin_5ftext_44',['find_pat_in_text',['../d3/d80/z__function_8cpp.html#ac186ca3ac3a69b5e52543bb13fe46db8',1,'z_function.cpp']]], + ['find_5fset_45',['find_set',['../d8/d99/connected__components__with__dsu_8cpp.html#a469384d8a4197a9b24482ce7c321a85e',1,'graph::disjoint_union']]], + ['find_5fzero_46',['find_zero',['../dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle.html#a94f794bf44f424b1b0ca6ef9f4f6ebd3',1,'machine_learning::aystar_search::EightPuzzle']]], + ['finding_5fnumber_5fof_5fdigits_5fin_5fa_5fnumber_47',['finding_number_of_digits_in_a_number',['../d0/d46/finding__number__of__digits__in__a__number_8cpp.html#a8a3b522a675ab4cdec2d275f6f7798a1',1,'finding_number_of_digits_in_a_number.cpp']]], + ['finding_5fnumber_5fof_5fdigits_5fin_5fa_5fnumber_2ecpp_48',['finding_number_of_digits_in_a_number.cpp',['../d0/d46/finding__number__of__digits__in__a__number_8cpp.html',1,'']]], + ['finding_5fnumber_5fof_5fdigits_5fin_5fa_5fnumber_5fusing_5flog_49',['finding_number_of_digits_in_a_number_using_log',['../d0/d46/finding__number__of__digits__in__a__number_8cpp.html#ac0862b67cf73651707ece04673e1ae49',1,'finding_number_of_digits_in_a_number.cpp']]], + ['findminimumedge_50',['findMinimumEdge',['../d2/d90/namespacegreedy__algorithms.html#a349e4ab9a97532c3931a2bd2a19c0098',1,'greedy_algorithms']]], + ['findminindex_51',['findMinIndex',['../d4/d9f/selection__sort__recursive_8cpp.html#a5454eeb691725ccac0f59df1e133f834',1,'sorting::selection_sort_recursive']]], + ['findminnode_52',['findMinNode',['../d4/d32/inorder__successor__of__bst_8cpp.html#a72483e3f6933e004a8d86371e8a990db',1,'operations_on_datastructures::inorder_traversal_of_bst']]], + ['findnextgap_53',['FindNextGap',['../d9/dfd/comb__sort_8cpp.html#aede08143e63105faba10e9ee8e745fd5',1,'comb_sort.cpp']]], + ['findparent_54',['findParent',['../d4/d6c/boruvkas__minimum__spanning__tree_8cpp.html#a95de0f5e70e83164dbd1b4c515565e84',1,'greedy_algorithms::boruvkas_minimum_spanning_tree']]], + ['findset_55',['findSet',['../dd/d1f/classdsu.html#a16851f78fe390fc1430905c83d6a2f1c',1,'dsu::findSet(uint64_t i)'],['../dd/d1f/classdsu.html#a16851f78fe390fc1430905c83d6a2f1c',1,'dsu::findSet(uint64_t i)']]], + ['findshifttable_56',['findShiftTable',['../d3/dfe/horspool_8cpp.html#a1a9c3aa55ccc79d0f47d50c580997336',1,'strings::horspool']]], + ['first_57',['first',['../d1/def/classdata__structures_1_1linked__list_1_1list.html#aa3801cea564a3b3bb7b03abfffdcf1e1',1,'data_structures::linked_list::list']]], + ['first_5ftest_58',['first_test',['../d0/d46/finding__number__of__digits__in__a__number_8cpp.html#ab4c15b7f1aedd4419a65cd49562cc300',1,'finding_number_of_digits_in_a_number.cpp']]], + ['fit_59',['fit',['../d6/d30/classmachine__learning_1_1adaline.html#a74e3c6c037b67895014414c5d75465e5',1,'machine_learning::adaline::fit(const std::vector< double > &x, const int &y)'],['../d6/d30/classmachine__learning_1_1adaline.html#a8d61f9ed872eef26bca39388cbda6a91',1,'machine_learning::adaline::fit(std::array< std::vector< double >, N > const &X, std::array< int, N > const &Y)'],['../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#a2be1b52bb9f57486f9a436f35c9089c0',1,'machine_learning::neural_network::NeuralNetwork::fit(const std::vector< std::vector< std::valarray< double > > > &X_, const std::vector< std::vector< std::valarray< double > > > &Y_, const int &epochs=100, const double &learning_rate=0.01, const size_t &batch_size=32, const bool &shuffle=true)']]], + ['fit_5ffrom_5fcsv_60',['fit_from_csv',['../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#a5172a6791b9bd24f4232bab8d6b81fff',1,'machine_learning::neural_network::NeuralNetwork']]], + ['fit_5fols_5fregressor_61',['fit_OLS_regressor',['../dc/d38/ordinary__least__squares__regressor_8cpp.html#aaddc683af581b51351e1023d2a01ef3b',1,'ordinary_least_squares_regressor.cpp']]], + ['floyd_5fcycle_5fdetection_5falgo_2ecpp_62',['floyd_cycle_detection_algo.cpp',['../db/dc4/floyd__cycle__detection__algo_8cpp.html',1,'']]], + ['for_20reviewers_20and_20maintainers_63',['Guidelines for reviewers and maintainers',['../d7/d1b/md__r_e_v_i_e_w_e_r___c_o_d_e.html',1,'']]], + ['formatter_64',['Code Formatter',['../d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md39',1,'']]], + ['forward_65',['forward',['../d9/d49/structdata__structures_1_1_node.html#ac916d833aad2b9c41f01a92db2f8c48e',1,'data_structures::Node']]], + ['forward_5feuler_66',['forward_euler',['../d6/d60/group__ode.html#gae0509f8843e2bc42de2abbd00a14b7b9',1,'ode_forward_euler.cpp']]], + ['forward_5feuler_5fstep_67',['forward_euler_step',['../d6/d60/group__ode.html#ga195d23bbdfcb80e83c9cda45c9ad5723',1,'ode_forward_euler.cpp']]], + ['freenode_68',['freeNode',['../d3/dce/linkedlist__implentation__usingarray_8cpp.html#a08ba214242a900e7251cec556b592f02',1,'linkedlist_implentation_usingarray.cpp']]], + ['freq_5fmap_69',['freq_map',['../df/d8f/classothers_1_1_cache_1_1_l_f_u_cache.html#aba5d59d0f6ab0c0d30a92551ca5a05f2',1,'others::Cache::LFUCache']]], + ['from_20the_20root_20node_70',['Method 2: Search from the root node',['../d4/d32/inorder__successor__of__bst_8cpp.html#autotoc_md92',1,'']]], + ['front_71',['front',['../d6/d04/classdata__structures_1_1queue__using__array_1_1_queue___array.html#a2f676f2f249eb36dfd49711a03e9e67e',1,'data_structures::queue_using_array::Queue_Array::front'],['../db/da9/classqueue.html#a75e231798bc706b8b0773a07f78713e7',1,'queue::front()']]], + ['full_72',['full',['../d2/dc8/classdata__structures_1_1_stack.html#aa753346c8ee5f21d4f4482398fe6d5c1',1,'data_structures::Stack']]] ]; diff --git a/search/all_c.js b/search/all_c.js index 0748749ef..85c3e43db 100644 --- a/search/all_c.js +++ b/search/all_c.js @@ -6,153 +6,117 @@ var searchData= ['games_3',['Games',['../d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md52',1,'']]], ['games_4',['games',['../da/d9c/namespacegames.html',1,'']]], ['games_3a_3amemory_5fgame_5',['memory_game',['../d8/d41/namespacegames_1_1memory__game.html',1,'games']]], - ['gamma_5fdistribution_6',['gamma_distribution',['http://en.cppreference.com/w/cpp/numeric/random/gamma_distribution.html',0,'std::gamma_distribution'],['http://en.cppreference.com/w/cpp/numeric/random/gamma_distribution/gamma_distribution.html',0,'std::gamma_distribution::gamma_distribution()']]], - ['gaussian_5felimination_2ecpp_7',['gaussian_elimination.cpp',['../d0/de2/gaussian__elimination_8cpp.html',1,'']]], - ['gbump_8',['gbump',['http://en.cppreference.com/w/cpp/io/basic_streambuf/gbump.html',0,'std::basic_filebuf::gbump()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/gbump.html',0,'std::wstringbuf::gbump()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/gbump.html',0,'std::stringbuf::gbump()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/gbump.html',0,'std::wfilebuf::gbump()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/gbump.html',0,'std::wstreambuf::gbump()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/gbump.html',0,'std::strstreambuf::gbump()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/gbump.html',0,'std::basic_stringbuf::gbump()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/gbump.html',0,'std::basic_streambuf::gbump()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/gbump.html',0,'std::filebuf::gbump()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/gbump.html',0,'std::streambuf::gbump()']]], - ['gcd_9',['gcd',['../d6/d26/classciphers_1_1_hill_cipher.html#a7760f3665651a0a37937c79c62f219c0',1,'ciphers::HillCipher::gcd()'],['../d4/da0/gcd__iterative__euclidean_8cpp.html#ae48807fa2b7000afae599e67f327545e',1,'gcd(): gcd_iterative_euclidean.cpp'],['../d1/d11/gcd__of__n__numbers_8cpp.html#a1161713c662a14c2d5e33504f4324532',1,'math::gcd_of_n_numbers::gcd()'],['../d4/d45/gcd__recursive__euclidean_8cpp.html#ae48807fa2b7000afae599e67f327545e',1,'gcd(int num1, int num2): gcd_recursive_euclidean.cpp'],['../d4/d21/least__common__multiple_8cpp.html#a8ba1fc66e4134ab25b2602b323150563',1,'gcd(unsigned int x, unsigned int y): least_common_multiple.cpp']]], - ['gcd_5fiterative_5feuclidean_2ecpp_10',['gcd_iterative_euclidean.cpp',['../d4/da0/gcd__iterative__euclidean_8cpp.html',1,'']]], - ['gcd_5fof_5fn_5fnumbers_11',['gcd_of_n_numbers',['../d2/ddb/namespacegcd__of__n__numbers.html',1,'']]], - ['gcd_5fof_5fn_5fnumbers_2ecpp_12',['gcd_of_n_numbers.cpp',['../d1/d11/gcd__of__n__numbers_8cpp.html',1,'']]], - ['gcd_5frecursive_5feuclidean_2ecpp_13',['gcd_recursive_euclidean.cpp',['../d4/d45/gcd__recursive__euclidean_8cpp.html',1,'']]], - ['gcd_5ftwo_14',['gcd_two',['../d1/d11/gcd__of__n__numbers_8cpp.html#a509a35e11ed1e17a9e00dd56320a4181',1,'math::gcd_of_n_numbers']]], - ['gcdextended_15',['gcdExtended',['../de/dab/ncr__modulo__p_8cpp.html#a9010ad5669d31449c3bf3271ab5ebc86',1,'math::ncr_modulo_p::utils']]], - ['gcount_16',['gcount',['http://en.cppreference.com/w/cpp/io/basic_istream/gcount.html',0,'std::fstream::gcount()'],['http://en.cppreference.com/w/cpp/io/basic_istream/gcount.html',0,'std::basic_fstream::gcount()'],['http://en.cppreference.com/w/cpp/io/basic_istream/gcount.html',0,'std::iostream::gcount()'],['http://en.cppreference.com/w/cpp/io/basic_istream/gcount.html',0,'std::wistream::gcount()'],['http://en.cppreference.com/w/cpp/io/basic_istream/gcount.html',0,'std::stringstream::gcount()'],['http://en.cppreference.com/w/cpp/io/basic_istream/gcount.html',0,'std::wifstream::gcount()'],['http://en.cppreference.com/w/cpp/io/basic_istream/gcount.html',0,'std::basic_istream::gcount()'],['http://en.cppreference.com/w/cpp/io/basic_istream/gcount.html',0,'std::strstream::gcount()'],['http://en.cppreference.com/w/cpp/io/basic_istream/gcount.html',0,'std::basic_stringstream::gcount()'],['http://en.cppreference.com/w/cpp/io/basic_istream/gcount.html',0,'std::istrstream::gcount()'],['http://en.cppreference.com/w/cpp/io/basic_istream/gcount.html',0,'std::wiostream::gcount()'],['http://en.cppreference.com/w/cpp/io/basic_istream/gcount.html',0,'std::basic_istringstream::gcount()'],['http://en.cppreference.com/w/cpp/io/basic_istream/gcount.html',0,'std::basic_ifstream::gcount()'],['http://en.cppreference.com/w/cpp/io/basic_istream/gcount.html',0,'std::istringstream::gcount()'],['http://en.cppreference.com/w/cpp/io/basic_istream/gcount.html',0,'std::istream::gcount()'],['http://en.cppreference.com/w/cpp/io/basic_istream/gcount.html',0,'std::wfstream::gcount()'],['http://en.cppreference.com/w/cpp/io/basic_istream/gcount.html',0,'std::basic_iostream::gcount()'],['http://en.cppreference.com/w/cpp/io/basic_istream/gcount.html',0,'std::wstringstream::gcount()'],['http://en.cppreference.com/w/cpp/io/basic_istream/gcount.html',0,'std::wistringstream::gcount()'],['http://en.cppreference.com/w/cpp/io/basic_istream/gcount.html',0,'std::ifstream::gcount()']]], - ['genarray_17',['genArray',['../db/d07/spiral__print_8cpp.html#acfff36db81326fb990a643ab198ee8a5',1,'spiral_print.cpp']]], - ['generate_18',['generate',['http://en.cppreference.com/w/cpp/numeric/random/seed_seq/generate.html',0,'std::seed_seq::generate()'],['../df/de5/classbacktracking_1_1generate__parentheses.html#af39c03d80ce0ba9fbf659b420980d160',1,'backtracking::generate_parentheses::generate()'],['http://en.cppreference.com/w/cpp/algorithm/generate.html',0,'std::generate(T... args)']]], - ['generate_5fcanonical_19',['generate_canonical',['http://en.cppreference.com/w/cpp/numeric/random/generate_canonical.html',0,'std']]], - ['generate_5fdecryption_5fkey_20',['generate_decryption_key',['../d6/d26/classciphers_1_1_hill_cipher.html#ab02c7563889bf1e363deb8e21967b706',1,'ciphers::HillCipher']]], - ['generate_5fencryption_5fkey_21',['generate_encryption_key',['../d6/d26/classciphers_1_1_hill_cipher.html#a642f70fb54cb50b00fb6df7c3f2b120e',1,'ciphers::HillCipher']]], - ['generate_5fkeys_22',['generate_keys',['../d6/d26/classciphers_1_1_hill_cipher.html#a405b0a28d66a61239d3565d5256f9cb5',1,'ciphers::HillCipher']]], - ['generate_5fn_23',['generate_n',['http://en.cppreference.com/w/cpp/algorithm/generate_n.html',0,'std']]], - ['generate_5fparentheses_24',['generate_parentheses',['../df/de5/classbacktracking_1_1generate__parentheses.html',1,'backtracking']]], - ['generate_5fparentheses_2ecpp_25',['generate_parentheses.cpp',['../dd/d1e/generate__parentheses_8cpp.html',1,'']]], - ['generate_5fpossible_5fmoves_26',['generate_possible_moves',['../dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle.html#a26a976171392d257ca0f814ed73e0658',1,'machine_learning::aystar_search::EightPuzzle']]], - ['generate_5fsamples_27',['generate_samples',['../db/d40/integral__approximation2_8cpp.html#a71249ee535f16f8ed2e9cc8f0199a2cf',1,'math::monte_carlo']]], - ['generate_5funiform_28',['generate_uniform',['../de/d72/geometric__dist_8cpp.html#a82964ca6180507deb5fafc71050012ba',1,'probability::geometric_dist']]], - ['generateunsortedarray_29',['generateUnsortedArray',['../d1/daa/random__pivot__quick__sort_8cpp.html#a40675d2eb960c71ca31ec475ba90120d',1,'sorting::random_pivot_quick_sort']]], - ['generic_5fcategory_30',['generic_category',['http://en.cppreference.com/w/cpp/error/generic_category.html',0,'std']]], - ['geometric_5fdist_31',['geometric_dist',['../dd/d8a/namespacegeometric__dist.html',1,'']]], - ['geometric_5fdist_2ecpp_32',['geometric_dist.cpp',['../de/d72/geometric__dist_8cpp.html',1,'']]], - ['geometric_5fdistribution_33',['geometric_distribution',['../da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution.html',1,'probability::geometric_dist::geometric_distribution'],['http://en.cppreference.com/w/cpp/numeric/random/geometric_distribution.html',0,'std::geometric_distribution'],['http://en.cppreference.com/w/cpp/numeric/random/geometric_distribution/geometric_distribution.html',0,'std::geometric_distribution::geometric_distribution()'],['../da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution.html#aa12088ba133dd0910103db0eb0ef2797',1,'probability::geometric_dist::geometric_distribution::geometric_distribution()']]], - ['geometry_34',['Geometry',['../d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md53',1,'']]], - ['geometry_35',['geometry',['../d5/d5f/namespacegeometry.html',1,'']]], - ['get_36',['get',['http://en.cppreference.com/w/cpp/locale/money_get/get.html',0,'std::money_get::get()'],['http://en.cppreference.com/w/cpp/io/basic_istream/get.html',0,'std::fstream::get()'],['http://en.cppreference.com/w/cpp/locale/num_get/get.html',0,'std::num_get::get()'],['http://en.cppreference.com/w/cpp/locale/time_get/get.html',0,'std::time_get::get()'],['http://en.cppreference.com/w/cpp/memory/shared_ptr/get.html',0,'std::shared_ptr::get()'],['http://en.cppreference.com/w/cpp/io/basic_istream/get.html',0,'std::basic_fstream::get()'],['http://en.cppreference.com/w/cpp/io/basic_istream/get.html',0,'std::iostream::get()'],['http://en.cppreference.com/w/cpp/thread/shared_future/get.html',0,'std::shared_future::get()'],['http://en.cppreference.com/w/cpp/io/basic_istream/get.html',0,'std::wistream::get()'],['http://en.cppreference.com/w/cpp/io/basic_istream/get.html',0,'std::stringstream::get()'],['http://en.cppreference.com/w/cpp/memory/unique_ptr/get.html',0,'std::unique_ptr::get()'],['http://en.cppreference.com/w/cpp/thread/future/get.html',0,'std::future::get()'],['http://en.cppreference.com/w/cpp/io/basic_istream/get.html',0,'std::wifstream::get()'],['http://en.cppreference.com/w/cpp/utility/functional/reference_wrapper/get.html',0,'std::reference_wrapper::get()'],['http://en.cppreference.com/w/cpp/io/basic_istream/get.html',0,'std::basic_istream::get()'],['http://en.cppreference.com/w/cpp/locale/messages/get.html',0,'std::messages_byname::get()'],['http://en.cppreference.com/w/cpp/io/basic_istream/get.html',0,'std::strstream::get()'],['http://en.cppreference.com/w/cpp/locale/time_get/get.html',0,'std::time_get_byname::get()'],['http://en.cppreference.com/w/cpp/io/basic_istream/get.html',0,'std::basic_stringstream::get()'],['http://en.cppreference.com/w/cpp/io/basic_istream/get.html',0,'std::istrstream::get()'],['http://en.cppreference.com/w/cpp/io/basic_istream/get.html',0,'std::wiostream::get()'],['http://en.cppreference.com/w/cpp/io/basic_istream/get.html',0,'std::basic_istringstream::get()'],['http://en.cppreference.com/w/cpp/io/basic_istream/get.html',0,'std::basic_ifstream::get()'],['http://en.cppreference.com/w/cpp/locale/messages/get.html',0,'std::messages::get()'],['http://en.cppreference.com/w/cpp/io/basic_istream/get.html',0,'std::istringstream::get()'],['http://en.cppreference.com/w/cpp/memory/auto_ptr/get.html',0,'std::auto_ptr::get()'],['http://en.cppreference.com/w/cpp/io/basic_istream/get.html',0,'std::istream::get()'],['http://en.cppreference.com/w/cpp/io/basic_istream/get.html',0,'std::wfstream::get()'],['http://en.cppreference.com/w/cpp/io/basic_istream/get.html',0,'std::basic_iostream::get()'],['http://en.cppreference.com/w/cpp/io/basic_istream/get.html',0,'std::wstringstream::get()'],['http://en.cppreference.com/w/cpp/io/basic_istream/get.html',0,'std::wistringstream::get()'],['http://en.cppreference.com/w/cpp/io/basic_istream/get.html',0,'std::ifstream::get()'],['../dd/d1f/classdsu.html#a0ce2672c570f4235eafddb0c9a58115a',1,'dsu::get()'],['../dc/d1f/classcatalan__numbers.html#a54655c66cf89186d3d1fa90829b28ab8',1,'catalan_numbers::get()'],['../dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle.html#aa5c0486c7f29f323a2aced2ab33af420',1,'machine_learning::aystar_search::EightPuzzle::get()'],['../df/d8f/classothers_1_1_cache_1_1_l_f_u_cache.html#a58e37d3713f28d36abbb8cdf6c432781',1,'others::Cache::LFUCache::get()'],['../d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache.html#ac1be0357ecc7c34144f3d9a63c6cb3ea',1,'others::Cache::LRUCache::get()']]], - ['get_5fall_5fwords_37',['get_all_words',['../d3/d26/classdata__structures_1_1trie__using__hashmap_1_1_trie.html#a7bbe538c8015e8ce158e7ed43f605ebd',1,'data_structures::trie_using_hashmap::Trie']]], - ['get_5fallocator_38',['get_allocator',['http://en.cppreference.com/w/cpp/container/vector/get_allocator.html',0,'std::vector::get_allocator()'],['http://en.cppreference.com/w/cpp/regex/match_results/get_allocator.html',0,'std::match_results::get_allocator()'],['http://en.cppreference.com/w/cpp/container/multiset/get_allocator.html',0,'std::multiset::get_allocator()'],['http://en.cppreference.com/w/cpp/string/basic_string/get_allocator.html',0,'std::string::get_allocator()'],['http://en.cppreference.com/w/cpp/container/set/get_allocator.html',0,'std::set::get_allocator()'],['http://en.cppreference.com/w/cpp/container/unordered_map/get_allocator.html',0,'std::unordered_map::get_allocator()'],['http://en.cppreference.com/w/cpp/regex/match_results/get_allocator.html',0,'std::wsmatch::get_allocator()'],['http://en.cppreference.com/w/cpp/regex/match_results/get_allocator.html',0,'std::smatch::get_allocator()'],['http://en.cppreference.com/w/cpp/container/unordered_multimap/get_allocator.html',0,'std::unordered_multimap::get_allocator()'],['http://en.cppreference.com/w/cpp/container/forward_list/get_allocator.html',0,'std::forward_list::get_allocator()'],['http://en.cppreference.com/w/cpp/regex/match_results/get_allocator.html',0,'std::wcmatch::get_allocator()'],['http://en.cppreference.com/w/cpp/container/deque/get_allocator.html',0,'std::deque::get_allocator()'],['http://en.cppreference.com/w/cpp/string/basic_string/get_allocator.html',0,'std::basic_string::get_allocator()'],['http://en.cppreference.com/w/cpp/string/basic_string/get_allocator.html',0,'std::wstring::get_allocator()'],['http://en.cppreference.com/w/cpp/container/unordered_multiset/get_allocator.html',0,'std::unordered_multiset::get_allocator()'],['http://en.cppreference.com/w/cpp/string/basic_string/get_allocator.html',0,'std::u16string::get_allocator()'],['http://en.cppreference.com/w/cpp/string/basic_string/get_allocator.html',0,'std::u32string::get_allocator()'],['http://en.cppreference.com/w/cpp/container/list/get_allocator.html',0,'std::list::get_allocator()'],['http://en.cppreference.com/w/cpp/container/map/get_allocator.html',0,'std::map::get_allocator()'],['http://en.cppreference.com/w/cpp/regex/match_results/get_allocator.html',0,'std::cmatch::get_allocator()'],['http://en.cppreference.com/w/cpp/container/unordered_set/get_allocator.html',0,'std::unordered_set::get_allocator()'],['http://en.cppreference.com/w/cpp/container/multimap/get_allocator.html',0,'std::multimap::get_allocator()']]], - ['get_5fchar_39',['get_char',['../d4/d08/sha256_8cpp.html#a9e98c180d32b04aab6f767cb0c13e1da',1,'hashing::sha256']]], - ['get_5fchar_5fidx_40',['get_char_idx',['../d6/d26/classciphers_1_1_hill_cipher.html#ae77cad522fa44b8c985779a7188d2f41',1,'ciphers::HillCipher']]], - ['get_5fclock_5fdiff_41',['get_clock_diff',['../d4/def/kohonen__som__topology_8cpp.html#a2256c10b16edba377b64a44b6c656908',1,'get_clock_diff(clock_t start_t, clock_t end_t): kohonen_som_topology.cpp'],['../d9/d49/kohonen__som__trace_8cpp.html#a2256c10b16edba377b64a44b6c656908',1,'get_clock_diff(clock_t start_t, clock_t end_t): kohonen_som_trace.cpp']]], - ['get_5fdate_42',['get_date',['http://en.cppreference.com/w/cpp/locale/time_get/get_date.html',0,'std::time_get::get_date()'],['http://en.cppreference.com/w/cpp/locale/time_get/get_date.html',0,'std::time_get_byname::get_date()']]], - ['get_5fdeleter_43',['get_deleter',['http://en.cppreference.com/w/cpp/memory/unique_ptr/get_deleter.html',0,'std::unique_ptr']]], - ['get_5felements_5finorder_44',['get_elements_inorder',['../d9/dde/classbinary__search__tree.html#a1f23830316204664514f396a4eb5275a',1,'binary_search_tree']]], - ['get_5felements_5fpostorder_45',['get_elements_postorder',['../d9/dde/classbinary__search__tree.html#a5c011e1b0863d79c3a7c11a0426bdcff',1,'binary_search_tree']]], - ['get_5felements_5fpreorder_46',['get_elements_preorder',['../d9/dde/classbinary__search__tree.html#a5764c1cf848f84a5b77462036a6d8c13',1,'binary_search_tree']]], - ['get_5ffinal_5fstatus_47',['get_final_status',['../df/d47/fcfs__scheduling_8cpp.html#a8f2b90cb64d63a7080965e66a05ccf86',1,'fcfs_scheduling.cpp']]], - ['get_5ffuture_48',['get_future',['http://en.cppreference.com/w/cpp/thread/promise/get_future.html',0,'std::promise::get_future()'],['http://en.cppreference.com/w/cpp/thread/packaged_task/get_future.html',0,'std::packaged_task::get_future()']]], - ['get_5fid_49',['get_id',['http://en.cppreference.com/w/cpp/thread/thread/get_id.html',0,'std::thread::get_id()'],['http://en.cppreference.com/w/cpp/thread/get_id.html',0,'std::this_thread::get_id()']]], - ['get_5fidx_5fchar_50',['get_idx_char',['../d6/d26/classciphers_1_1_hill_cipher.html#a12f727cca9e21f9539cd74b6603adf0c',1,'ciphers::HillCipher']]], - ['get_5finput_51',['get_input',['../dc/dfe/ternary__search_8cpp.html#a7f7d866eccdabe51bb16818a792618b1',1,'ternary_search.cpp']]], - ['get_5fintersection_52',['get_intersection',['../da/d6d/namespaceoperations__on__datastructures.html#adaf9a06f0c236c2d95c97e441ea2d12e',1,'operations_on_datastructures']]], - ['get_5finverse_53',['get_inverse',['../d6/d26/classciphers_1_1_hill_cipher.html#a2eb58750b978a93ac5e6eb29e3e570b7',1,'ciphers::HillCipher::get_inverse()'],['../dc/d38/ordinary__least__squares__regressor_8cpp.html#af7243bdc6ae3c7169f01b85bb226e66a',1,'get_inverse(): ordinary_least_squares_regressor.cpp']]], - ['get_5fk_5fth_54',['get_k_th',['../d5/d95/structdata__structures_1_1treap_1_1_treap.html#ab2db3ad3aecc240011e0c8b8604d2c69',1,'data_structures::treap::Treap']]], - ['get_5flevel_5forder_55',['get_level_order',['../de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree.html#a2e683b271d8d5cd63e0d09cf8aaa325c',1,'operations_on_datastructures::reverse_binary_tree::BinaryTree']]], - ['get_5fmax_56',['get_max',['../dd/d1f/classdsu.html#a696141b8b092466767f4bfe1c5e46cde',1,'dsu']]], - ['get_5fmin_57',['get_min',['../dd/d1f/classdsu.html#ac713a5b496d0405c82e2808a85e58415',1,'dsu']]], - ['get_5fmin_5f2d_58',['get_min_2d',['../d9/d66/group__machine__learning.html#ga60f9186ccb682724a8792a2bf81e9b9e',1,'kohonen_som_topology.cpp']]], - ['get_5fminima_59',['get_minima',['../db/d01/brent__method__extrema_8cpp.html#a1aa76a6d5fd4d333f9072beff1dc486b',1,'get_minima(const std::function< double(double)> &f, double lim_a, double lim_b): brent_method_extrema.cpp'],['../d6/d7a/golden__search__extrema_8cpp.html#a1aa76a6d5fd4d333f9072beff1dc486b',1,'get_minima(const std::function< double(double)> &f, double lim_a, double lim_b): golden_search_extrema.cpp']]], - ['get_5fmoney_60',['get_money',['http://en.cppreference.com/w/cpp/io/manip/get_money.html',0,'std']]], - ['get_5fmonthname_61',['get_monthname',['http://en.cppreference.com/w/cpp/locale/time_get/get_monthname.html',0,'std::time_get::get_monthname()'],['http://en.cppreference.com/w/cpp/locale/time_get/get_monthname.html',0,'std::time_get_byname::get_monthname()']]], - ['get_5fnew_5fhandler_62',['get_new_handler',['http://en.cppreference.com/w/cpp/memory/new/get_new_handler.html',0,'std']]], - ['get_5fnext_63',['get_next',['../d5/d95/structdata__structures_1_1treap_1_1_treap.html#a767b28f9911fc32b8462862be058a4a4',1,'data_structures::treap::Treap']]], - ['get_5fpointer_5fsafety_64',['get_pointer_safety',['http://en.cppreference.com/w/cpp/memory/gc/get_pointer_safety.html',0,'std']]], - ['get_5fpredecessor_65',['get_predecessor',['../d5/d95/structdata__structures_1_1treap_1_1_treap.html#ab8b9899f22070cfa01db5bf874296126',1,'data_structures::treap::Treap']]], - ['get_5frand_66',['get_rand',['../d5/d67/complex__numbers_8cpp.html#a5d4d5b8250b50703de888514c8e7a7a0',1,'complex_numbers.cpp']]], - ['get_5frank_67',['get_rank',['../d5/d95/structdata__structures_1_1treap_1_1_treap.html#ac94e9d69305940f6d8804031455af039',1,'data_structures::treap::Treap']]], - ['get_5fshape_68',['get_shape',['../d8/d77/namespacemachine__learning.html#aa4bbf61e65f8cd297255fa94b983d078',1,'machine_learning']]], - ['get_5fsize_69',['get_size',['../dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle.html#ae145ac4a0d2ec58945b58fad3c04f00f',1,'machine_learning::aystar_search::EightPuzzle']]], - ['get_5fstate_70',['get_state',['../dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle.html#ade14b0e1a88543b91426e2008e4d0f99',1,'machine_learning::aystar_search::EightPuzzle']]], - ['get_5ftemporary_5fbuffer_71',['get_temporary_buffer',['http://en.cppreference.com/w/cpp/memory/get_temporary_buffer.html',0,'std']]], - ['get_5fterminate_72',['get_terminate',['http://en.cppreference.com/w/cpp/error/get_terminate.html',0,'std']]], - ['get_5ftest_5fcases_73',['get_test_cases',['../da/d0d/longest__common__string_8cpp.html#a967854a526bc15403d783a033155fc5c',1,'longest_common_string.cpp']]], - ['get_5ftime_74',['get_time',['http://en.cppreference.com/w/cpp/locale/time_get/get_time.html',0,'std::time_get::get_time()'],['http://en.cppreference.com/w/cpp/locale/time_get/get_time.html',0,'std::time_get_byname::get_time()'],['http://en.cppreference.com/w/cpp/io/manip/get_time.html',0,'std::get_time()']]], - ['get_5ftranspose_75',['get_transpose',['../dc/d38/ordinary__least__squares__regressor_8cpp.html#a21c80569aaffb7bf1657e54fa4b97deb',1,'ordinary_least_squares_regressor.cpp']]], - ['get_5funexpected_76',['get_unexpected',['http://en.cppreference.com/w/cpp/error/get_unexpected.html',0,'std']]], - ['get_5funion_77',['get_union',['../da/d6d/namespaceoperations__on__datastructures.html#a2b8ff06a84b041457873840bf82e2d74',1,'operations_on_datastructures']]], - ['get_5fweekday_78',['get_weekday',['http://en.cppreference.com/w/cpp/locale/time_get/get_weekday.html',0,'std::time_get::get_weekday()'],['http://en.cppreference.com/w/cpp/locale/time_get/get_weekday.html',0,'std::time_get_byname::get_weekday()']]], - ['get_5fxy_5ffrom_5fcsv_79',['get_XY_from_csv',['../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#a650c677fd6512665741ddd9b7983275d',1,'machine_learning::neural_network::NeuralNetwork']]], - ['get_5fyear_80',['get_year',['http://en.cppreference.com/w/cpp/locale/time_get/get_year.html',0,'std::time_get::get_year()'],['http://en.cppreference.com/w/cpp/locale/time_get/get_year.html',0,'std::time_get_byname::get_year()']]], - ['getadjacencylist_81',['getAdjacencyList',['../d5/dec/classgraph_1_1topological__sort_1_1_graph.html#a5e84b175ef768ff58eaeededd43e8368',1,'graph::topological_sort::Graph']]], - ['getadjlist_82',['getAdjList',['../da/d9a/class_graph.html#a5a090e1a63a5c47bdd1a539b21f7fd1d',1,'Graph']]], - ['getbalance_83',['getBalance',['../d8/dee/avltree_8cpp.html#aaa457ffec24c9643f2768e7a65e96546',1,'avltree.cpp']]], - ['getc_84',['getc',['http://en.cppreference.com/w/cpp/io/c/fgetc.html',0,'std']]], - ['getchar_85',['getchar',['http://en.cppreference.com/w/cpp/io/c/getchar.html',0,'std']]], - ['getchild_86',['GetChild',['../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a164574a9209b5df66368530d090b32c4',1,'data_structures::tree_234::Node']]], - ['getchildindex_87',['GetChildIndex',['../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#ad632a0440295bc88ceadae7478fe0d37',1,'data_structures::tree_234::Node']]], - ['getconnectedcomponents_88',['getConnectedComponents',['../df/dce/namespacegraph.html#a83ab16e96cec644109a58dfc9329bc2b',1,'graph']]], - ['getconvexhull_89',['getConvexHull',['../d4/dde/classgeometry_1_1jarvis_1_1_convexhull.html#aeec46e86786ddd461464b07a77c4d5f1',1,'geometry::jarvis::Convexhull']]], - ['getcount_90',['GetCount',['../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#aac82e17daa088ede9ee00dc69c1e6f06',1,'data_structures::tree_234::Node']]], - ['getenv_91',['getenv',['http://en.cppreference.com/w/cpp/utility/program/getenv.html',0,'std']]], - ['getfailurearray_92',['getFailureArray',['../d9/d03/namespacestring__search.html#a83c72ff237cdf623e42d4295e0029bf9',1,'string_search']]], - ['gethits_93',['getHits',['../d6/dae/classothers_1_1lru__cache_1_1_l_r_u_cache.html#aa24a141455b9fbcbec22392c28d04933',1,'others::lru_cache::LRUCache']]], - ['getinordersuccessor_94',['getInorderSuccessor',['../d4/d32/inorder__successor__of__bst_8cpp.html#a3923fb22b46e085376703cae0b44d690',1,'operations_on_datastructures::inorder_traversal_of_bst']]], - ['getitem_95',['GetItem',['../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a4808acb43668ff8cfd6f7cb44ceedad3',1,'data_structures::tree_234::Node']]], - ['getitemindex_96',['GetItemIndex',['../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a650f0ef26b7450e1addb5d80bb0ed629',1,'data_structures::tree_234::Node']]], - ['getitemleftchild_97',['GetItemLeftChild',['../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#ab654d7376d3449fdc78edab0e7fed06e',1,'data_structures::tree_234::Node']]], - ['getitemrightchild_98',['GetItemRightChild',['../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a441cbee9896391f2b167d5aa7b4f8c95',1,'data_structures::tree_234::Node']]], - ['getleftmostchild_99',['GetLeftmostChild',['../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#ac6f619a1605cb46196360889fff4529e',1,'data_structures::tree_234::Node']]], - ['getline_100',['getline',['http://en.cppreference.com/w/cpp/io/basic_istream/getline.html',0,'std::fstream::getline()'],['http://en.cppreference.com/w/cpp/io/basic_istream/getline.html',0,'std::basic_fstream::getline()'],['http://en.cppreference.com/w/cpp/io/basic_istream/getline.html',0,'std::iostream::getline()'],['http://en.cppreference.com/w/cpp/io/basic_istream/getline.html',0,'std::wistream::getline()'],['http://en.cppreference.com/w/cpp/io/basic_istream/getline.html',0,'std::stringstream::getline()'],['http://en.cppreference.com/w/cpp/io/basic_istream/getline.html',0,'std::wifstream::getline()'],['http://en.cppreference.com/w/cpp/io/basic_istream/getline.html',0,'std::basic_istream::getline()'],['http://en.cppreference.com/w/cpp/io/basic_istream/getline.html',0,'std::strstream::getline()'],['http://en.cppreference.com/w/cpp/io/basic_istream/getline.html',0,'std::basic_stringstream::getline()'],['http://en.cppreference.com/w/cpp/io/basic_istream/getline.html',0,'std::istrstream::getline()'],['http://en.cppreference.com/w/cpp/io/basic_istream/getline.html',0,'std::wiostream::getline()'],['http://en.cppreference.com/w/cpp/io/basic_istream/getline.html',0,'std::basic_istringstream::getline()'],['http://en.cppreference.com/w/cpp/io/basic_istream/getline.html',0,'std::basic_ifstream::getline()'],['http://en.cppreference.com/w/cpp/io/basic_istream/getline.html',0,'std::istringstream::getline()'],['http://en.cppreference.com/w/cpp/io/basic_istream/getline.html',0,'std::istream::getline()'],['http://en.cppreference.com/w/cpp/io/basic_istream/getline.html',0,'std::wfstream::getline()'],['http://en.cppreference.com/w/cpp/io/basic_istream/getline.html',0,'std::basic_iostream::getline()'],['http://en.cppreference.com/w/cpp/io/basic_istream/getline.html',0,'std::wstringstream::getline()'],['http://en.cppreference.com/w/cpp/io/basic_istream/getline.html',0,'std::wistringstream::getline()'],['http://en.cppreference.com/w/cpp/io/basic_istream/getline.html',0,'std::ifstream::getline()'],['http://en.cppreference.com/w/cpp/string/basic_string/getline.html',0,'std::getline()']]], - ['getloc_101',['getloc',['http://en.cppreference.com/w/cpp/io/ios_base/getloc.html',0,'std::basic_ofstream::getloc()'],['http://en.cppreference.com/w/cpp/io/ios_base/getloc.html',0,'std::fstream::getloc()'],['http://en.cppreference.com/w/cpp/io/ios_base/getloc.html',0,'std::wostream::getloc()'],['http://en.cppreference.com/w/cpp/io/ios_base/getloc.html',0,'std::basic_ostringstream::getloc()'],['http://en.cppreference.com/w/cpp/regex/basic_regex/getloc.html',0,'std::regex::getloc()'],['http://en.cppreference.com/w/cpp/regex/basic_regex/getloc.html',0,'std::basic_regex::getloc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/getloc.html',0,'std::basic_filebuf::getloc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/getloc.html',0,'std::wstringbuf::getloc()'],['http://en.cppreference.com/w/cpp/io/ios_base/getloc.html',0,'std::basic_ios::getloc()'],['http://en.cppreference.com/w/cpp/io/ios_base/getloc.html',0,'std::ostringstream::getloc()'],['http://en.cppreference.com/w/cpp/io/ios_base/getloc.html',0,'std::basic_fstream::getloc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/getloc.html',0,'std::stringbuf::getloc()'],['http://en.cppreference.com/w/cpp/regex/basic_regex/getloc.html',0,'std::wregex::getloc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/getloc.html',0,'std::wfilebuf::getloc()'],['http://en.cppreference.com/w/cpp/io/ios_base/getloc.html',0,'std::iostream::getloc()'],['http://en.cppreference.com/w/cpp/io/ios_base/getloc.html',0,'std::ios_base::getloc()'],['http://en.cppreference.com/w/cpp/io/ios_base/getloc.html',0,'std::wistream::getloc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/getloc.html',0,'std::wstreambuf::getloc()'],['http://en.cppreference.com/w/cpp/io/ios_base/getloc.html',0,'std::stringstream::getloc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/getloc.html',0,'std::strstreambuf::getloc()'],['http://en.cppreference.com/w/cpp/io/ios_base/getloc.html',0,'std::ostream::getloc()'],['http://en.cppreference.com/w/cpp/io/ios_base/getloc.html',0,'std::wifstream::getloc()'],['http://en.cppreference.com/w/cpp/regex/regex_traits/getloc.html',0,'std::regex_traits::getloc()'],['http://en.cppreference.com/w/cpp/io/ios_base/getloc.html',0,'std::basic_istream::getloc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/getloc.html',0,'std::basic_stringbuf::getloc()'],['http://en.cppreference.com/w/cpp/io/ios_base/getloc.html',0,'std::strstream::getloc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/getloc.html',0,'std::basic_streambuf::getloc()'],['http://en.cppreference.com/w/cpp/io/ios_base/getloc.html',0,'std::basic_stringstream::getloc()'],['http://en.cppreference.com/w/cpp/io/ios_base/getloc.html',0,'std::wostringstream::getloc()'],['http://en.cppreference.com/w/cpp/io/ios_base/getloc.html',0,'std::istrstream::getloc()'],['http://en.cppreference.com/w/cpp/io/ios_base/getloc.html',0,'std::basic_ostream::getloc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/getloc.html',0,'std::filebuf::getloc()'],['http://en.cppreference.com/w/cpp/io/ios_base/getloc.html',0,'std::wiostream::getloc()'],['http://en.cppreference.com/w/cpp/io/ios_base/getloc.html',0,'std::ofstream::getloc()'],['http://en.cppreference.com/w/cpp/io/ios_base/getloc.html',0,'std::basic_istringstream::getloc()'],['http://en.cppreference.com/w/cpp/io/ios_base/getloc.html',0,'std::basic_ifstream::getloc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/getloc.html',0,'std::streambuf::getloc()'],['http://en.cppreference.com/w/cpp/io/ios_base/getloc.html',0,'std::istringstream::getloc()'],['http://en.cppreference.com/w/cpp/io/ios_base/getloc.html',0,'std::istream::getloc()'],['http://en.cppreference.com/w/cpp/io/ios_base/getloc.html',0,'std::ostrstream::getloc()'],['http://en.cppreference.com/w/cpp/io/ios_base/getloc.html',0,'std::wfstream::getloc()'],['http://en.cppreference.com/w/cpp/io/ios_base/getloc.html',0,'std::basic_iostream::getloc()'],['http://en.cppreference.com/w/cpp/io/ios_base/getloc.html',0,'std::wofstream::getloc()'],['http://en.cppreference.com/w/cpp/io/ios_base/getloc.html',0,'std::wstringstream::getloc()'],['http://en.cppreference.com/w/cpp/io/ios_base/getloc.html',0,'std::wistringstream::getloc()'],['http://en.cppreference.com/w/cpp/io/ios_base/getloc.html',0,'std::ifstream::getloc()']]], - ['getmaxitem_102',['GetMaxItem',['../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a2753b6053b8c86c5bd987a44fdfa0a57',1,'data_structures::tree_234::Node']]], - ['getmedian_103',['getMedian',['../df/d34/classprobability_1_1windowed__median_1_1_windowed_median.html#a938cafbdf70dc01e86e9bb12d29ec65d',1,'probability::windowed_median::WindowedMedian']]], - ['getmediannaive_104',['getMedianNaive',['../df/d34/classprobability_1_1windowed__median_1_1_windowed_median.html#a61804988fcb1a6caf640f8291979aaa6',1,'probability::windowed_median::WindowedMedian']]], - ['getmin_105',['getMin',['../d2/d05/class_min_heap.html#a336ac71f0d857269fe9a98058a3cd130',1,'MinHeap']]], - ['getminitem_106',['GetMinItem',['../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a5438d0a47850f520b2262b5a42f75b71',1,'data_structures::tree_234::Node']]], - ['getnextpossiblechild_107',['GetNextPossibleChild',['../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a91322b3bb0b2b2175eb56e9e10d7db46',1,'data_structures::tree_234::Node']]], - ['getnode_108',['getNode',['../d4/d32/inorder__successor__of__bst_8cpp.html#a824cbf1814854824cf05f062eea07b95',1,'operations_on_datastructures::inorder_traversal_of_bst']]], - ['getnode_109',['getnode',['../d3/dce/linkedlist__implentation__usingarray_8cpp.html#a73e11e0871f56342a30da93b6c93e8be',1,'linkedlist_implentation_usingarray.cpp']]], - ['getnumnodes_110',['getNumNodes',['../d5/dec/classgraph_1_1topological__sort_1_1_graph.html#ad22018e4f4f80aecb0538044bb83d096',1,'graph::topological_sort::Graph']]], - ['getpagefault_111',['getPageFault',['../d6/dae/classothers_1_1lru__cache_1_1_l_r_u_cache.html#a78be932dac71c90f485a67d4fda877e2',1,'others::lru_cache::LRUCache']]], - ['getparents_112',['getParents',['../dd/d1f/classdsu.html#ab8ee27083a3c2e2df80755165a2ec280',1,'dsu']]], - ['getrandomindex_113',['getRandomIndex',['../d1/daa/random__pivot__quick__sort_8cpp.html#aac5657b4fe2251cd21073f44233f6ea5',1,'sorting::random_pivot_quick_sort']]], - ['getrightmostchild_114',['GetRightmostChild',['../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a731f9ae385840cf0a06d55e7f9924a94',1,'data_structures::tree_234::Node']]], - ['gets_115',['gets',['http://en.cppreference.com/w/cpp/io/c/gets.html',0,'std']]], - ['gettreemaxitem_116',['GetTreeMaxItem',['../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#ac85ba5abfd6d34dcd908b2afe6464657',1,'data_structures::tree_234::Tree234']]], - ['gettreeminitem_117',['GetTreeMinItem',['../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a65a1235659356166a3e9b451c64fcc36',1,'data_structures::tree_234::Tree234']]], - ['getvertices_118',['getVertices',['../da/d9a/class_graph.html#a8dcb5ce0b4a6f65827f5055d9d53a3f1',1,'Graph']]], - ['getwchar_119',['getwchar',['http://en.cppreference.com/w/cpp/io/c/getwchar.html',0,'std']]], - ['giga_120',['giga',['http://en.cppreference.com/w/cpp/numeric/ratio/ratio.html',0,'std']]], - ['github_20actions_121',['GitHub Actions',['../d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md40',1,'']]], - ['given_20node_20does_20not_20have_20a_20right_20node_20subtree_122',['Case 2: The given node does not have a right node/subtree',['../d4/d32/inorder__successor__of__bst_8cpp.html#autotoc_md90',1,'']]], - ['given_20node_20has_20the_20right_20node_20subtree_123',['Case 1: The given node has the right node/subtree',['../d4/d32/inorder__successor__of__bst_8cpp.html#autotoc_md89',1,'']]], - ['global_124',['global',['http://en.cppreference.com/w/cpp/locale/locale/global.html',0,'std::locale']]], - ['gmtime_125',['gmtime',['http://en.cppreference.com/w/cpp/chrono/c/gmtime.html',0,'std']]], - ['gnome_5fsort_2ecpp_126',['gnome_sort.cpp',['../d2/d21/gnome__sort_8cpp.html',1,'']]], - ['gnomesort_127',['gnomeSort',['../d5/d91/namespacesorting.html#a2f8bc626eb57acae24a94636a23af6a1',1,'sorting::gnomeSort(T *arr, int size)'],['../d5/d91/namespacesorting.html#aa3677f87b5b4756bc77e9e34c5f27935',1,'sorting::gnomeSort(std::array< T, size > arr)']]], - ['golden_5fsearch_5fextrema_2ecpp_128',['golden_search_extrema.cpp',['../d6/d7a/golden__search__extrema_8cpp.html',1,'']]], - ['good_129',['good',['http://en.cppreference.com/w/cpp/io/basic_ios/good.html',0,'std::basic_ofstream::good()'],['http://en.cppreference.com/w/cpp/io/basic_ios/good.html',0,'std::fstream::good()'],['http://en.cppreference.com/w/cpp/io/basic_ios/good.html',0,'std::wostream::good()'],['http://en.cppreference.com/w/cpp/io/basic_ios/good.html',0,'std::basic_ostringstream::good()'],['http://en.cppreference.com/w/cpp/io/basic_ios/good.html',0,'std::basic_ios::good()'],['http://en.cppreference.com/w/cpp/io/basic_ios/good.html',0,'std::ostringstream::good()'],['http://en.cppreference.com/w/cpp/io/basic_ios/good.html',0,'std::basic_fstream::good()'],['http://en.cppreference.com/w/cpp/io/basic_ios/good.html',0,'std::iostream::good()'],['http://en.cppreference.com/w/cpp/io/basic_ios/good.html',0,'std::wistream::good()'],['http://en.cppreference.com/w/cpp/io/basic_ios/good.html',0,'std::stringstream::good()'],['http://en.cppreference.com/w/cpp/io/basic_ios/good.html',0,'std::ostream::good()'],['http://en.cppreference.com/w/cpp/io/basic_ios/good.html',0,'std::wifstream::good()'],['http://en.cppreference.com/w/cpp/io/basic_ios/good.html',0,'std::basic_istream::good()'],['http://en.cppreference.com/w/cpp/io/basic_ios/good.html',0,'std::strstream::good()'],['http://en.cppreference.com/w/cpp/io/basic_ios/good.html',0,'std::basic_stringstream::good()'],['http://en.cppreference.com/w/cpp/io/basic_ios/good.html',0,'std::wostringstream::good()'],['http://en.cppreference.com/w/cpp/io/basic_ios/good.html',0,'std::istrstream::good()'],['http://en.cppreference.com/w/cpp/io/basic_ios/good.html',0,'std::basic_ostream::good()'],['http://en.cppreference.com/w/cpp/io/basic_ios/good.html',0,'std::wiostream::good()'],['http://en.cppreference.com/w/cpp/io/basic_ios/good.html',0,'std::ofstream::good()'],['http://en.cppreference.com/w/cpp/io/basic_ios/good.html',0,'std::basic_istringstream::good()'],['http://en.cppreference.com/w/cpp/io/basic_ios/good.html',0,'std::basic_ifstream::good()'],['http://en.cppreference.com/w/cpp/io/basic_ios/good.html',0,'std::istringstream::good()'],['http://en.cppreference.com/w/cpp/io/basic_ios/good.html',0,'std::istream::good()'],['http://en.cppreference.com/w/cpp/io/basic_ios/good.html',0,'std::ostrstream::good()'],['http://en.cppreference.com/w/cpp/io/basic_ios/good.html',0,'std::wfstream::good()'],['http://en.cppreference.com/w/cpp/io/basic_ios/good.html',0,'std::basic_iostream::good()'],['http://en.cppreference.com/w/cpp/io/basic_ios/good.html',0,'std::wofstream::good()'],['http://en.cppreference.com/w/cpp/io/basic_ios/good.html',0,'std::wstringstream::good()'],['http://en.cppreference.com/w/cpp/io/basic_ios/good.html',0,'std::wistringstream::good()'],['http://en.cppreference.com/w/cpp/io/basic_ios/good.html',0,'std::ifstream::good()']]], - ['good_5fsuffix_130',['good_suffix',['../dd/d5a/structstrings_1_1boyer__moore_1_1pattern.html#a3d62f615a0171a5d77e7018f704f3a7e',1,'strings::boyer_moore::pattern']]], - ['gptr_131',['gptr',['http://en.cppreference.com/w/cpp/io/basic_streambuf/gptr.html',0,'std::basic_filebuf::gptr()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/gptr.html',0,'std::wstringbuf::gptr()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/gptr.html',0,'std::stringbuf::gptr()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/gptr.html',0,'std::wfilebuf::gptr()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/gptr.html',0,'std::wstreambuf::gptr()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/gptr.html',0,'std::strstreambuf::gptr()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/gptr.html',0,'std::basic_stringbuf::gptr()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/gptr.html',0,'std::basic_streambuf::gptr()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/gptr.html',0,'std::filebuf::gptr()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/gptr.html',0,'std::streambuf::gptr()']]], - ['gram_5fschmidt_132',['gram_schmidt',['../d4/d0f/namespacegram__schmidt.html',1,'gram_schmidt'],['../d5/d33/gram__schmidt_8cpp.html#a0837468e1a653ed056e2cce3c914afa5',1,'numerical_methods::gram_schmidt::gram_schmidt()']]], - ['gram_5fschmidt_2ecpp_133',['gram_schmidt.cpp',['../d5/d33/gram__schmidt_8cpp.html',1,'']]], - ['graph_134',['Graph',['../da/d9a/class_graph.html',1,'Graph'],['../dc/d61/classgraph_1_1_graph.html',1,'graph::Graph< T >'],['../de/d00/classgraph_1_1is__graph__bipartite_1_1_graph.html',1,'graph::is_graph_bipartite::Graph'],['../d5/dec/classgraph_1_1topological__sort_1_1_graph.html',1,'graph::topological_sort::Graph'],['../d2/daa/classgreedy__algorithms_1_1dijkstra_1_1_graph.html',1,'greedy_algorithms::dijkstra::Graph'],['../da/d9a/class_graph.html#adcbd1b60cab30b97c54d700eee8e456d',1,'Graph::Graph(unsigned int vertices, AdjList adjList)'],['../da/d9a/class_graph.html#a8c95e00effaea0cd9404dd74cd802ae3',1,'Graph::Graph(unsigned int vertices, AdjList &&adjList)'],['../da/d9a/class_graph.html#aa99d44d3179d5bbbfa84a5031cf80cb1',1,'Graph::Graph(unsigned int vertices, std::vector< Edge > const &edges)'],['../de/d00/classgraph_1_1is__graph__bipartite_1_1_graph.html#a6aef65b40347c4606662cad4dd2e14d3',1,'graph::is_graph_bipartite::Graph::Graph()'],['../dc/d61/classgraph_1_1_graph.html#a8839fa14bff19d2deab4a618447c13e5',1,'graph::Graph::Graph()'],['../d5/dec/classgraph_1_1topological__sort_1_1_graph.html#a75a849f80a66304e7da39b3ccd6129d6',1,'graph::topological_sort::Graph::Graph()'],['../d2/daa/classgreedy__algorithms_1_1dijkstra_1_1_graph.html#afefaeb247734a7c64bd04e68e3c1c4bc',1,'greedy_algorithms::dijkstra::Graph::Graph()'],['../d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md54',1,'Graph']]], - ['graph_135',['graph',['../d1/d9a/hopcroft__karp_8cpp.html#autotoc_md77',1,'Bipartite graph'],['../df/dce/namespacegraph.html',1,'graph']]], - ['graph_5fcoloring_136',['graph_coloring',['../d7/d08/namespacegraph__coloring.html',1,'']]], - ['graph_5fcoloring_2ecpp_137',['graph_coloring.cpp',['../d3/d40/graph__coloring_8cpp.html',1,'']]], - ['graphcoloring_138',['graphColoring',['../d3/d40/graph__coloring_8cpp.html#a40337efc5dad761096489bf2c5b1c80c',1,'backtracking::graph_coloring']]], - ['graphics_139',['Graphics',['../d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md55',1,'']]], - ['gray_5fcode_140',['gray_code',['../de/d9b/namespacegray__code.html',1,'']]], - ['greater_141',['greater',['http://en.cppreference.com/w/cpp/utility/functional/greater.html',0,'std']]], - ['greater_5fequal_142',['greater_equal',['http://en.cppreference.com/w/cpp/utility/functional/greater_equal.html',0,'std']]], - ['greedy_20algorithms_143',['Greedy Algorithms',['../d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md56',1,'']]], - ['greedy_5falgorithms_144',['greedy_algorithms',['../d2/d90/namespacegreedy__algorithms.html',1,'']]], - ['greedy_5falgorithms_3a_3adijkstra_145',['dijkstra',['../d2/d2f/namespacegreedy__algorithms_1_1dijkstra.html',1,'greedy_algorithms']]], - ['greedy_5falgorithms_3a_3astable_5fmatching_146',['stable_matching',['../dd/d9a/namespacegreedy__algorithms_1_1stable__matching.html',1,'greedy_algorithms']]], - ['grey_147',['GREY',['../da/d4b/depth__first__search__with__stack_8cpp.html#a43e30173f12330e85cce6239a277527e',1,'depth_first_search_with_stack.cpp']]], - ['ground_5fto_5fground_5fprojectile_5fmotion_148',['ground_to_ground_projectile_motion',['../d0/d20/namespaceground__to__ground__projectile__motion.html',1,'']]], - ['ground_5fto_5fground_5fprojectile_5fmotion_2ecpp_149',['ground_to_ground_projectile_motion.cpp',['../d9/d29/ground__to__ground__projectile__motion_8cpp.html',1,'']]], - ['grouping_150',['grouping',['http://en.cppreference.com/w/cpp/locale/moneypunct/grouping.html',0,'std::moneypunct_byname::grouping()'],['http://en.cppreference.com/w/cpp/locale/moneypunct/grouping.html',0,'std::moneypunct::grouping()'],['http://en.cppreference.com/w/cpp/locale/numpunct/grouping.html',0,'std::numpunct_byname::grouping()'],['http://en.cppreference.com/w/cpp/locale/numpunct/grouping.html',0,'std::numpunct::grouping()']]], - ['guidelines_151',['CONTRIBUTION GUIDELINES',['../d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html',1,'']]], - ['guidelines_152',['Guidelines',['../d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md35',1,'Commit Guidelines'],['../d3/dd7/md__c_o_d_e___o_f___c_o_n_d_u_c_t.html#autotoc_md10',1,'Enforcement Guidelines']]], - ['guidelines_153',['guidelines',['../d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md33',1,'Directory guidelines'],['../d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md32',1,'File Name guidelines']]], - ['guidelines_20for_20reviewers_20and_20maintainers_154',['Guidelines for reviewers and maintainers',['../d7/d1b/md__r_e_v_i_e_w_e_r___c_o_d_e.html',1,'']]] + ['gaussian_5felimination_2ecpp_6',['gaussian_elimination.cpp',['../d0/de2/gaussian__elimination_8cpp.html',1,'']]], + ['gcd_7',['gcd',['../d6/d26/classciphers_1_1_hill_cipher.html#a7760f3665651a0a37937c79c62f219c0',1,'ciphers::HillCipher::gcd()'],['../d4/da0/gcd__iterative__euclidean_8cpp.html#ae48807fa2b7000afae599e67f327545e',1,'gcd(): gcd_iterative_euclidean.cpp'],['../d1/d11/gcd__of__n__numbers_8cpp.html#a1161713c662a14c2d5e33504f4324532',1,'math::gcd_of_n_numbers::gcd()'],['../d4/d45/gcd__recursive__euclidean_8cpp.html#ae48807fa2b7000afae599e67f327545e',1,'gcd(int num1, int num2): gcd_recursive_euclidean.cpp'],['../d4/d21/least__common__multiple_8cpp.html#a8ba1fc66e4134ab25b2602b323150563',1,'gcd(unsigned int x, unsigned int y): least_common_multiple.cpp']]], + ['gcd_5fiterative_5feuclidean_2ecpp_8',['gcd_iterative_euclidean.cpp',['../d4/da0/gcd__iterative__euclidean_8cpp.html',1,'']]], + ['gcd_5fof_5fn_5fnumbers_9',['gcd_of_n_numbers',['../d2/ddb/namespacegcd__of__n__numbers.html',1,'']]], + ['gcd_5fof_5fn_5fnumbers_2ecpp_10',['gcd_of_n_numbers.cpp',['../d1/d11/gcd__of__n__numbers_8cpp.html',1,'']]], + ['gcd_5frecursive_5feuclidean_2ecpp_11',['gcd_recursive_euclidean.cpp',['../d4/d45/gcd__recursive__euclidean_8cpp.html',1,'']]], + ['gcd_5ftwo_12',['gcd_two',['../d1/d11/gcd__of__n__numbers_8cpp.html#a509a35e11ed1e17a9e00dd56320a4181',1,'math::gcd_of_n_numbers']]], + ['gcdextended_13',['gcdExtended',['../de/dab/ncr__modulo__p_8cpp.html#a9010ad5669d31449c3bf3271ab5ebc86',1,'math::ncr_modulo_p::utils']]], + ['genarray_14',['genArray',['../db/d07/spiral__print_8cpp.html#acfff36db81326fb990a643ab198ee8a5',1,'spiral_print.cpp']]], + ['generate_15',['generate',['../df/de5/classbacktracking_1_1generate__parentheses.html#af39c03d80ce0ba9fbf659b420980d160',1,'backtracking::generate_parentheses']]], + ['generate_5fdecryption_5fkey_16',['generate_decryption_key',['../d6/d26/classciphers_1_1_hill_cipher.html#ab02c7563889bf1e363deb8e21967b706',1,'ciphers::HillCipher']]], + ['generate_5fencryption_5fkey_17',['generate_encryption_key',['../d6/d26/classciphers_1_1_hill_cipher.html#a642f70fb54cb50b00fb6df7c3f2b120e',1,'ciphers::HillCipher']]], + ['generate_5fkeys_18',['generate_keys',['../d6/d26/classciphers_1_1_hill_cipher.html#a405b0a28d66a61239d3565d5256f9cb5',1,'ciphers::HillCipher']]], + ['generate_5fparentheses_19',['generate_parentheses',['../df/de5/classbacktracking_1_1generate__parentheses.html',1,'backtracking']]], + ['generate_5fparentheses_2ecpp_20',['generate_parentheses.cpp',['../dd/d1e/generate__parentheses_8cpp.html',1,'']]], + ['generate_5fpossible_5fmoves_21',['generate_possible_moves',['../dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle.html#a26a976171392d257ca0f814ed73e0658',1,'machine_learning::aystar_search::EightPuzzle']]], + ['generate_5fsamples_22',['generate_samples',['../db/d40/integral__approximation2_8cpp.html#a71249ee535f16f8ed2e9cc8f0199a2cf',1,'math::monte_carlo']]], + ['generate_5funiform_23',['generate_uniform',['../de/d72/geometric__dist_8cpp.html#a82964ca6180507deb5fafc71050012ba',1,'probability::geometric_dist']]], + ['generateunsortedarray_24',['generateUnsortedArray',['../d1/daa/random__pivot__quick__sort_8cpp.html#a40675d2eb960c71ca31ec475ba90120d',1,'sorting::random_pivot_quick_sort']]], + ['geometric_5fdist_25',['geometric_dist',['../dd/d8a/namespacegeometric__dist.html',1,'']]], + ['geometric_5fdist_2ecpp_26',['geometric_dist.cpp',['../de/d72/geometric__dist_8cpp.html',1,'']]], + ['geometric_5fdistribution_27',['geometric_distribution',['../da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution.html',1,'probability::geometric_dist::geometric_distribution'],['../da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution.html#aa12088ba133dd0910103db0eb0ef2797',1,'probability::geometric_dist::geometric_distribution::geometric_distribution()']]], + ['geometry_28',['Geometry',['../d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md53',1,'']]], + ['geometry_29',['geometry',['../d5/d5f/namespacegeometry.html',1,'']]], + ['get_30',['get',['../dd/d1f/classdsu.html#a0ce2672c570f4235eafddb0c9a58115a',1,'dsu::get()'],['../dc/d1f/classcatalan__numbers.html#a54655c66cf89186d3d1fa90829b28ab8',1,'catalan_numbers::get()'],['../dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle.html#aa5c0486c7f29f323a2aced2ab33af420',1,'machine_learning::aystar_search::EightPuzzle::get()'],['../df/d8f/classothers_1_1_cache_1_1_l_f_u_cache.html#a58e37d3713f28d36abbb8cdf6c432781',1,'others::Cache::LFUCache::get()'],['../d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache.html#ac1be0357ecc7c34144f3d9a63c6cb3ea',1,'others::Cache::LRUCache::get()']]], + ['get_5fall_5fwords_31',['get_all_words',['../d3/d26/classdata__structures_1_1trie__using__hashmap_1_1_trie.html#a7bbe538c8015e8ce158e7ed43f605ebd',1,'data_structures::trie_using_hashmap::Trie']]], + ['get_5fchar_32',['get_char',['../d4/d08/sha256_8cpp.html#a9e98c180d32b04aab6f767cb0c13e1da',1,'hashing::sha256']]], + ['get_5fchar_5fidx_33',['get_char_idx',['../d6/d26/classciphers_1_1_hill_cipher.html#ae77cad522fa44b8c985779a7188d2f41',1,'ciphers::HillCipher']]], + ['get_5fclock_5fdiff_34',['get_clock_diff',['../d4/def/kohonen__som__topology_8cpp.html#a2256c10b16edba377b64a44b6c656908',1,'get_clock_diff(clock_t start_t, clock_t end_t): kohonen_som_topology.cpp'],['../d9/d49/kohonen__som__trace_8cpp.html#a2256c10b16edba377b64a44b6c656908',1,'get_clock_diff(clock_t start_t, clock_t end_t): kohonen_som_trace.cpp']]], + ['get_5felements_5finorder_35',['get_elements_inorder',['../d9/dde/classbinary__search__tree.html#a1f23830316204664514f396a4eb5275a',1,'binary_search_tree']]], + ['get_5felements_5fpostorder_36',['get_elements_postorder',['../d9/dde/classbinary__search__tree.html#a5c011e1b0863d79c3a7c11a0426bdcff',1,'binary_search_tree']]], + ['get_5felements_5fpreorder_37',['get_elements_preorder',['../d9/dde/classbinary__search__tree.html#a5764c1cf848f84a5b77462036a6d8c13',1,'binary_search_tree']]], + ['get_5ffinal_5fstatus_38',['get_final_status',['../df/d47/fcfs__scheduling_8cpp.html#a8f2b90cb64d63a7080965e66a05ccf86',1,'fcfs_scheduling.cpp']]], + ['get_5fidx_5fchar_39',['get_idx_char',['../d6/d26/classciphers_1_1_hill_cipher.html#a12f727cca9e21f9539cd74b6603adf0c',1,'ciphers::HillCipher']]], + ['get_5finput_40',['get_input',['../dc/dfe/ternary__search_8cpp.html#a7f7d866eccdabe51bb16818a792618b1',1,'ternary_search.cpp']]], + ['get_5fintersection_41',['get_intersection',['../da/d6d/namespaceoperations__on__datastructures.html#adaf9a06f0c236c2d95c97e441ea2d12e',1,'operations_on_datastructures']]], + ['get_5finverse_42',['get_inverse',['../d6/d26/classciphers_1_1_hill_cipher.html#a2eb58750b978a93ac5e6eb29e3e570b7',1,'ciphers::HillCipher::get_inverse()'],['../dc/d38/ordinary__least__squares__regressor_8cpp.html#af7243bdc6ae3c7169f01b85bb226e66a',1,'get_inverse(): ordinary_least_squares_regressor.cpp']]], + ['get_5fk_5fth_43',['get_k_th',['../d5/d95/structdata__structures_1_1treap_1_1_treap.html#ab2db3ad3aecc240011e0c8b8604d2c69',1,'data_structures::treap::Treap']]], + ['get_5flevel_5forder_44',['get_level_order',['../de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree.html#a2e683b271d8d5cd63e0d09cf8aaa325c',1,'operations_on_datastructures::reverse_binary_tree::BinaryTree']]], + ['get_5fmax_45',['get_max',['../dd/d1f/classdsu.html#a696141b8b092466767f4bfe1c5e46cde',1,'dsu']]], + ['get_5fmin_46',['get_min',['../dd/d1f/classdsu.html#ac713a5b496d0405c82e2808a85e58415',1,'dsu']]], + ['get_5fmin_5f2d_47',['get_min_2d',['../d9/d66/group__machine__learning.html#ga60f9186ccb682724a8792a2bf81e9b9e',1,'kohonen_som_topology.cpp']]], + ['get_5fminima_48',['get_minima',['../db/d01/brent__method__extrema_8cpp.html#a1aa76a6d5fd4d333f9072beff1dc486b',1,'get_minima(const std::function< double(double)> &f, double lim_a, double lim_b): brent_method_extrema.cpp'],['../d6/d7a/golden__search__extrema_8cpp.html#a1aa76a6d5fd4d333f9072beff1dc486b',1,'get_minima(const std::function< double(double)> &f, double lim_a, double lim_b): golden_search_extrema.cpp']]], + ['get_5fnext_49',['get_next',['../d5/d95/structdata__structures_1_1treap_1_1_treap.html#a767b28f9911fc32b8462862be058a4a4',1,'data_structures::treap::Treap']]], + ['get_5fpredecessor_50',['get_predecessor',['../d5/d95/structdata__structures_1_1treap_1_1_treap.html#ab8b9899f22070cfa01db5bf874296126',1,'data_structures::treap::Treap']]], + ['get_5frand_51',['get_rand',['../d5/d67/complex__numbers_8cpp.html#a5d4d5b8250b50703de888514c8e7a7a0',1,'complex_numbers.cpp']]], + ['get_5frank_52',['get_rank',['../d5/d95/structdata__structures_1_1treap_1_1_treap.html#ac94e9d69305940f6d8804031455af039',1,'data_structures::treap::Treap']]], + ['get_5fshape_53',['get_shape',['../d8/d77/namespacemachine__learning.html#aa4bbf61e65f8cd297255fa94b983d078',1,'machine_learning']]], + ['get_5fsize_54',['get_size',['../dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle.html#ae145ac4a0d2ec58945b58fad3c04f00f',1,'machine_learning::aystar_search::EightPuzzle']]], + ['get_5fstate_55',['get_state',['../dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle.html#ade14b0e1a88543b91426e2008e4d0f99',1,'machine_learning::aystar_search::EightPuzzle']]], + ['get_5ftest_5fcases_56',['get_test_cases',['../da/d0d/longest__common__string_8cpp.html#a967854a526bc15403d783a033155fc5c',1,'longest_common_string.cpp']]], + ['get_5ftranspose_57',['get_transpose',['../dc/d38/ordinary__least__squares__regressor_8cpp.html#a21c80569aaffb7bf1657e54fa4b97deb',1,'ordinary_least_squares_regressor.cpp']]], + ['get_5funion_58',['get_union',['../da/d6d/namespaceoperations__on__datastructures.html#a2b8ff06a84b041457873840bf82e2d74',1,'operations_on_datastructures']]], + ['get_5fxy_5ffrom_5fcsv_59',['get_XY_from_csv',['../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#a650c677fd6512665741ddd9b7983275d',1,'machine_learning::neural_network::NeuralNetwork']]], + ['getadjacencylist_60',['getAdjacencyList',['../d5/dec/classgraph_1_1topological__sort_1_1_graph.html#a5e84b175ef768ff58eaeededd43e8368',1,'graph::topological_sort::Graph']]], + ['getadjlist_61',['getAdjList',['../da/d9a/class_graph.html#a5a090e1a63a5c47bdd1a539b21f7fd1d',1,'Graph']]], + ['getbalance_62',['getBalance',['../d8/dee/avltree_8cpp.html#aaa457ffec24c9643f2768e7a65e96546',1,'avltree.cpp']]], + ['getchild_63',['GetChild',['../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a164574a9209b5df66368530d090b32c4',1,'data_structures::tree_234::Node']]], + ['getchildindex_64',['GetChildIndex',['../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#ad632a0440295bc88ceadae7478fe0d37',1,'data_structures::tree_234::Node']]], + ['getconnectedcomponents_65',['getConnectedComponents',['../df/dce/namespacegraph.html#a83ab16e96cec644109a58dfc9329bc2b',1,'graph']]], + ['getconvexhull_66',['getConvexHull',['../d4/dde/classgeometry_1_1jarvis_1_1_convexhull.html#aeec46e86786ddd461464b07a77c4d5f1',1,'geometry::jarvis::Convexhull']]], + ['getcount_67',['GetCount',['../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#aac82e17daa088ede9ee00dc69c1e6f06',1,'data_structures::tree_234::Node']]], + ['getfailurearray_68',['getFailureArray',['../d9/d03/namespacestring__search.html#a83c72ff237cdf623e42d4295e0029bf9',1,'string_search']]], + ['gethits_69',['getHits',['../d6/dae/classothers_1_1lru__cache_1_1_l_r_u_cache.html#aa24a141455b9fbcbec22392c28d04933',1,'others::lru_cache::LRUCache']]], + ['getinordersuccessor_70',['getInorderSuccessor',['../d4/d32/inorder__successor__of__bst_8cpp.html#a3923fb22b46e085376703cae0b44d690',1,'operations_on_datastructures::inorder_traversal_of_bst']]], + ['getitem_71',['GetItem',['../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a4808acb43668ff8cfd6f7cb44ceedad3',1,'data_structures::tree_234::Node']]], + ['getitemindex_72',['GetItemIndex',['../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a650f0ef26b7450e1addb5d80bb0ed629',1,'data_structures::tree_234::Node']]], + ['getitemleftchild_73',['GetItemLeftChild',['../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#ab654d7376d3449fdc78edab0e7fed06e',1,'data_structures::tree_234::Node']]], + ['getitemrightchild_74',['GetItemRightChild',['../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a441cbee9896391f2b167d5aa7b4f8c95',1,'data_structures::tree_234::Node']]], + ['getleftmostchild_75',['GetLeftmostChild',['../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#ac6f619a1605cb46196360889fff4529e',1,'data_structures::tree_234::Node']]], + ['getmaxitem_76',['GetMaxItem',['../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a2753b6053b8c86c5bd987a44fdfa0a57',1,'data_structures::tree_234::Node']]], + ['getmedian_77',['getMedian',['../df/d34/classprobability_1_1windowed__median_1_1_windowed_median.html#a938cafbdf70dc01e86e9bb12d29ec65d',1,'probability::windowed_median::WindowedMedian']]], + ['getmediannaive_78',['getMedianNaive',['../df/d34/classprobability_1_1windowed__median_1_1_windowed_median.html#a61804988fcb1a6caf640f8291979aaa6',1,'probability::windowed_median::WindowedMedian']]], + ['getmin_79',['getMin',['../d2/d05/class_min_heap.html#a336ac71f0d857269fe9a98058a3cd130',1,'MinHeap']]], + ['getminitem_80',['GetMinItem',['../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a5438d0a47850f520b2262b5a42f75b71',1,'data_structures::tree_234::Node']]], + ['getnextpossiblechild_81',['GetNextPossibleChild',['../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a91322b3bb0b2b2175eb56e9e10d7db46',1,'data_structures::tree_234::Node']]], + ['getnode_82',['getNode',['../d4/d32/inorder__successor__of__bst_8cpp.html#a824cbf1814854824cf05f062eea07b95',1,'operations_on_datastructures::inorder_traversal_of_bst']]], + ['getnode_83',['getnode',['../d3/dce/linkedlist__implentation__usingarray_8cpp.html#a73e11e0871f56342a30da93b6c93e8be',1,'linkedlist_implentation_usingarray.cpp']]], + ['getnumnodes_84',['getNumNodes',['../d5/dec/classgraph_1_1topological__sort_1_1_graph.html#ad22018e4f4f80aecb0538044bb83d096',1,'graph::topological_sort::Graph']]], + ['getpagefault_85',['getPageFault',['../d6/dae/classothers_1_1lru__cache_1_1_l_r_u_cache.html#a78be932dac71c90f485a67d4fda877e2',1,'others::lru_cache::LRUCache']]], + ['getparents_86',['getParents',['../dd/d1f/classdsu.html#ab8ee27083a3c2e2df80755165a2ec280',1,'dsu']]], + ['getrandomindex_87',['getRandomIndex',['../d1/daa/random__pivot__quick__sort_8cpp.html#aac5657b4fe2251cd21073f44233f6ea5',1,'sorting::random_pivot_quick_sort']]], + ['getrightmostchild_88',['GetRightmostChild',['../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a731f9ae385840cf0a06d55e7f9924a94',1,'data_structures::tree_234::Node']]], + ['gettreemaxitem_89',['GetTreeMaxItem',['../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#ac85ba5abfd6d34dcd908b2afe6464657',1,'data_structures::tree_234::Tree234']]], + ['gettreeminitem_90',['GetTreeMinItem',['../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a65a1235659356166a3e9b451c64fcc36',1,'data_structures::tree_234::Tree234']]], + ['getvertices_91',['getVertices',['../da/d9a/class_graph.html#a8dcb5ce0b4a6f65827f5055d9d53a3f1',1,'Graph']]], + ['github_20actions_92',['GitHub Actions',['../d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md40',1,'']]], + ['given_20node_20does_20not_20have_20a_20right_20node_20subtree_93',['Case 2: The given node does not have a right node/subtree',['../d4/d32/inorder__successor__of__bst_8cpp.html#autotoc_md90',1,'']]], + ['given_20node_20has_20the_20right_20node_20subtree_94',['Case 1: The given node has the right node/subtree',['../d4/d32/inorder__successor__of__bst_8cpp.html#autotoc_md89',1,'']]], + ['gnome_5fsort_2ecpp_95',['gnome_sort.cpp',['../d2/d21/gnome__sort_8cpp.html',1,'']]], + ['gnomesort_96',['gnomeSort',['../d5/d91/namespacesorting.html#a2f8bc626eb57acae24a94636a23af6a1',1,'sorting::gnomeSort(T *arr, int size)'],['../d5/d91/namespacesorting.html#aa3677f87b5b4756bc77e9e34c5f27935',1,'sorting::gnomeSort(std::array< T, size > arr)']]], + ['golden_5fsearch_5fextrema_2ecpp_97',['golden_search_extrema.cpp',['../d6/d7a/golden__search__extrema_8cpp.html',1,'']]], + ['good_5fsuffix_98',['good_suffix',['../dd/d5a/structstrings_1_1boyer__moore_1_1pattern.html#a3d62f615a0171a5d77e7018f704f3a7e',1,'strings::boyer_moore::pattern']]], + ['gram_5fschmidt_99',['gram_schmidt',['../d4/d0f/namespacegram__schmidt.html',1,'gram_schmidt'],['../d5/d33/gram__schmidt_8cpp.html#a0837468e1a653ed056e2cce3c914afa5',1,'numerical_methods::gram_schmidt::gram_schmidt()']]], + ['gram_5fschmidt_2ecpp_100',['gram_schmidt.cpp',['../d5/d33/gram__schmidt_8cpp.html',1,'']]], + ['graph_101',['Graph',['../da/d9a/class_graph.html',1,'Graph'],['../dc/d61/classgraph_1_1_graph.html',1,'graph::Graph< T >'],['../de/d00/classgraph_1_1is__graph__bipartite_1_1_graph.html',1,'graph::is_graph_bipartite::Graph'],['../d5/dec/classgraph_1_1topological__sort_1_1_graph.html',1,'graph::topological_sort::Graph'],['../d2/daa/classgreedy__algorithms_1_1dijkstra_1_1_graph.html',1,'greedy_algorithms::dijkstra::Graph'],['../da/d9a/class_graph.html#adcbd1b60cab30b97c54d700eee8e456d',1,'Graph::Graph(unsigned int vertices, AdjList adjList)'],['../da/d9a/class_graph.html#a8c95e00effaea0cd9404dd74cd802ae3',1,'Graph::Graph(unsigned int vertices, AdjList &&adjList)'],['../da/d9a/class_graph.html#aa99d44d3179d5bbbfa84a5031cf80cb1',1,'Graph::Graph(unsigned int vertices, std::vector< Edge > const &edges)'],['../de/d00/classgraph_1_1is__graph__bipartite_1_1_graph.html#a6aef65b40347c4606662cad4dd2e14d3',1,'graph::is_graph_bipartite::Graph::Graph()'],['../dc/d61/classgraph_1_1_graph.html#a8839fa14bff19d2deab4a618447c13e5',1,'graph::Graph::Graph()'],['../d5/dec/classgraph_1_1topological__sort_1_1_graph.html#a75a849f80a66304e7da39b3ccd6129d6',1,'graph::topological_sort::Graph::Graph()'],['../d2/daa/classgreedy__algorithms_1_1dijkstra_1_1_graph.html#afefaeb247734a7c64bd04e68e3c1c4bc',1,'greedy_algorithms::dijkstra::Graph::Graph()'],['../d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md54',1,'Graph']]], + ['graph_102',['graph',['../d1/d9a/hopcroft__karp_8cpp.html#autotoc_md77',1,'Bipartite graph'],['../df/dce/namespacegraph.html',1,'graph']]], + ['graph_5fcoloring_103',['graph_coloring',['../d7/d08/namespacegraph__coloring.html',1,'']]], + ['graph_5fcoloring_2ecpp_104',['graph_coloring.cpp',['../d3/d40/graph__coloring_8cpp.html',1,'']]], + ['graphcoloring_105',['graphColoring',['../d3/d40/graph__coloring_8cpp.html#a40337efc5dad761096489bf2c5b1c80c',1,'backtracking::graph_coloring']]], + ['graphics_106',['Graphics',['../d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md55',1,'']]], + ['gray_5fcode_107',['gray_code',['../de/d9b/namespacegray__code.html',1,'']]], + ['greedy_20algorithms_108',['Greedy Algorithms',['../d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md56',1,'']]], + ['greedy_5falgorithms_109',['greedy_algorithms',['../d2/d90/namespacegreedy__algorithms.html',1,'']]], + ['greedy_5falgorithms_3a_3adijkstra_110',['dijkstra',['../d2/d2f/namespacegreedy__algorithms_1_1dijkstra.html',1,'greedy_algorithms']]], + ['greedy_5falgorithms_3a_3astable_5fmatching_111',['stable_matching',['../dd/d9a/namespacegreedy__algorithms_1_1stable__matching.html',1,'greedy_algorithms']]], + ['grey_112',['GREY',['../da/d4b/depth__first__search__with__stack_8cpp.html#a43e30173f12330e85cce6239a277527e',1,'depth_first_search_with_stack.cpp']]], + ['ground_5fto_5fground_5fprojectile_5fmotion_113',['ground_to_ground_projectile_motion',['../d0/d20/namespaceground__to__ground__projectile__motion.html',1,'']]], + ['ground_5fto_5fground_5fprojectile_5fmotion_2ecpp_114',['ground_to_ground_projectile_motion.cpp',['../d9/d29/ground__to__ground__projectile__motion_8cpp.html',1,'']]], + ['guidelines_115',['CONTRIBUTION GUIDELINES',['../d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html',1,'']]], + ['guidelines_116',['Guidelines',['../d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md35',1,'Commit Guidelines'],['../d3/dd7/md__c_o_d_e___o_f___c_o_n_d_u_c_t.html#autotoc_md10',1,'Enforcement Guidelines']]], + ['guidelines_117',['guidelines',['../d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md33',1,'Directory guidelines'],['../d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md32',1,'File Name guidelines']]], + ['guidelines_20for_20reviewers_20and_20maintainers_118',['Guidelines for reviewers and maintainers',['../d7/d1b/md__r_e_v_i_e_w_e_r___c_o_d_e.html',1,'']]] ]; diff --git a/search/all_d.js b/search/all_d.js index 52b25d683..d58b03745 100644 --- a/search/all_d.js +++ b/search/all_d.js @@ -11,58 +11,47 @@ var searchData= ['hamming_5fdistance_8',['hamming_distance',['../d4/d1c/namespacehamming__distance.html',1,'hamming_distance'],['../d4/d48/hamming__distance_8cpp.html#abfe6fbb2f3460a2623c96f283178a07a',1,'bit_manipulation::hamming_distance::hamming_distance(uint64_t a, uint64_t b)'],['../d4/d48/hamming__distance_8cpp.html#a40ba9fe8b5df5c268f0c7d677ff2fe80',1,'bit_manipulation::hamming_distance::hamming_distance(const std::string &a, const std::string &b)']]], ['hamming_5fdistance_2ecpp_9',['hamming_distance.cpp',['../d4/d48/hamming__distance_8cpp.html',1,'']]], ['happy_5fnumber_2ecpp_10',['happy_number.cpp',['../db/df3/happy__number_8cpp.html',1,'']]], - ['hardware_5fconcurrency_11',['hardware_concurrency',['http://en.cppreference.com/w/cpp/thread/thread/hardware_concurrency.html',0,'std::thread']]], - ['harr_12',['harr',['../d2/d05/class_min_heap.html#a34a93a87967308eb516328c0aca3c48e',1,'MinHeap']]], - ['has_20the_20right_20node_20subtree_13',['Case 1: The given node has the right node/subtree',['../d4/d32/inorder__successor__of__bst_8cpp.html#autotoc_md89',1,'']]], - ['has_5ffacet_14',['has_facet',['http://en.cppreference.com/w/cpp/locale/has_facet.html',0,'std']]], - ['has_5fvirtual_5fdestructor_15',['has_virtual_destructor',['http://en.cppreference.com/w/cpp/types/has_virtual_destructor.html',0,'std']]], - ['haschildren_16',['hasChildren',['../dd/d2f/class_trie.html#a6d10eb1669453395d1900ebd401954fb',1,'Trie']]], - ['hash_17',['Hash',['../d6/d84/classhashing_1_1sha256_1_1_hash.html',1,'hashing::sha256']]], - ['hash_18',['hash',['http://en.cppreference.com/w/cpp/utility/hash.html',0,'std::hash'],['http://en.cppreference.com/w/cpp/locale/collate/hash.html',0,'std::collate_byname::hash()'],['http://en.cppreference.com/w/cpp/utility/hash/hash.html',0,'std::hash::hash()'],['http://en.cppreference.com/w/cpp/locale/collate/hash.html',0,'std::collate::hash()'],['../dd/d1c/classhash__chain.html#a846a2f921f8fb7ea572e03901b671d64',1,'hash_chain::hash()'],['../d5/d96/md5_8cpp.html#a88705fab5f92adf3427b4cf76ff33edb',1,'hashing::md5::hash()'],['../d8/d7a/sha1_8cpp.html#a2397f2444a05e4d1487c67e215410d3c',1,'hashing::sha1::hash()']]], - ['hash_5fbs_19',['hash_bs',['../d5/d96/md5_8cpp.html#a5341431cef7fcfc33794326e1deb2425',1,'hashing::md5::hash_bs()'],['../d8/d7a/sha1_8cpp.html#a7be3471f7e489d7d0df42b97a48bf141',1,'hashing::sha1::hash_bs()']]], - ['hash_5fchain_20',['hash_chain',['../dd/d1c/classhash__chain.html',1,'hash_chain'],['../dd/d1c/classhash__chain.html#a80c8b902a15b4fd062ed727ecf8f3595',1,'hash_chain::hash_chain()']]], - ['hash_5fcode_21',['hash_code',['http://en.cppreference.com/w/cpp/types/type_info/hash_code.html',0,'std::type_info::hash_code()'],['http://en.cppreference.com/w/cpp/types/type_index/hash_code.html',0,'std::type_index::hash_code()']]], - ['hash_5ffunction_22',['hash_function',['http://en.cppreference.com/w/cpp/container/unordered_map/hash_function.html',0,'std::unordered_map::hash_function()'],['http://en.cppreference.com/w/cpp/container/unordered_multimap/hash_function.html',0,'std::unordered_multimap::hash_function()'],['http://en.cppreference.com/w/cpp/container/unordered_multiset/hash_function.html',0,'std::unordered_multiset::hash_function()'],['http://en.cppreference.com/w/cpp/container/unordered_set/hash_function.html',0,'std::unordered_set::hash_function()']]], - ['hash_5fsearch_23',['hash_search',['../d1/df3/hash__search_8cpp.html#a36ea13c16028f18ef2d5ff47f3fda7a2',1,'hash_search.cpp']]], - ['hash_5fsearch_2ecpp_24',['hash_search.cpp',['../d1/df3/hash__search_8cpp.html',1,'']]], - ['hashdjb2_25',['hashDJB2',['../d5/d3c/namespacedata__structures.html#a271c753baf6dc5ac6f19fa03c5873eb4',1,'data_structures']]], - ['hashfunks_26',['hashFunks',['../dc/dd4/classdata__structures_1_1_bloom_filter.html#a65ca6742d3be88d4aca4f080068a7a80',1,'data_structures::BloomFilter']]], - ['hashfxn_27',['hashFxn',['../d0/d65/namespacedouble__hashing.html#a0d90726ed1de7b3d2ae261baed048003',1,'double_hashing::hashFxn()'],['../d8/d89/namespacelinear__probing.html#a4bde7a47f98dd1ad24c84038e2608527',1,'linear_probing::hashFxn()'],['../d4/dd2/namespacequadratic__probing.html#a2093d91dd3d377cf0a5c939e45dcefc7',1,'quadratic_probing::hashFxn()']]], - ['hashing_28',['Hashing',['../d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md57',1,'']]], - ['hashing_29',['hashing',['../d6/d0c/namespacehashing.html',1,'']]], - ['hashint_5f1_30',['hashInt_1',['../d5/d3c/namespacedata__structures.html#aa6deb9d4a0f63ea97aef3dce4c6c6677',1,'data_structures']]], - ['hashint_5f2_31',['hashInt_2',['../d5/d3c/namespacedata__structures.html#a9ed236419034917c5270c1dccd220b5c',1,'data_structures']]], - ['hashmax_32',['HASHMAX',['../d1/df3/hash__search_8cpp.html#a77c722016053a1d484aa177ce205b367',1,'hash_search.cpp']]], - ['hashstr_33',['hashStr',['../d5/d3c/namespacedata__structures.html#a35eb2bc3edbb52f9c5f0b1e51046ef15',1,'data_structures']]], - ['hashtab_34',['hashtab',['../d1/df3/hash__search_8cpp.html#af413b1740073db54796642b0ab814d6d',1,'hash_search.cpp']]], - ['have_20a_20right_20node_20subtree_35',['Case 2: The given node does not have a right node/subtree',['../d4/d32/inorder__successor__of__bst_8cpp.html#autotoc_md90',1,'']]], - ['head_36',['head',['../dd/d1c/classhash__chain.html#ae8457d13620497fa2046ac566252c4b0',1,'hash_chain::head'],['../d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache.html#a042bb403f4452ad8c669fbf87ef82821',1,'others::Cache::LRUCache::head']]], - ['header_37',['header',['../d4/d90/classdata__structures_1_1_skip_list.html#ad7e392386d7db622185d6f7c718e4f16',1,'data_structures::SkipList']]], - ['heap_5fsize_38',['heap_size',['../d2/d05/class_min_heap.html#ae4d358bf063bb196a1945b3fb99b4913',1,'MinHeap']]], - ['heap_5fsort_2ecpp_39',['heap_sort.cpp',['../d2/d52/heap__sort_8cpp.html',1,'']]], - ['heapsort_40',['heapSort',['../d5/d4c/group__sorting.html#ga29d28b140174dbdde7c9f5157758435f',1,'heap_sort.cpp']]], - ['heavy_5flight_5fdecomposition_41',['heavy_light_decomposition',['../db/d6f/namespaceheavy__light__decomposition.html',1,'']]], - ['heavy_5flight_5fdecomposition_2ecpp_42',['heavy_light_decomposition.cpp',['../d2/de9/heavy__light__decomposition_8cpp.html',1,'']]], - ['hecto_43',['hecto',['http://en.cppreference.com/w/cpp/numeric/ratio/ratio.html',0,'std']]], - ['height_44',['height',['../d8/dee/avltree_8cpp.html#ae4a66d8b0c2b0d626aea45977e358c83',1,'avltree.cpp']]], - ['hemi_5fsphere_5fsurface_5farea_45',['hemi_sphere_surface_area',['../dd/d47/namespacemath.html#a3277e65a8f380e7632791975bfba0efb',1,'math']]], - ['heuristic_5fvalue_46',['heuristic_value',['../da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html#a331d1070d008a4f9d55775a51013baa3',1,'machine_learning::aystar_search::AyStarSearch::Info']]], - ['hex_47',['hex',['http://en.cppreference.com/w/cpp/io/manip/hex.html',0,'std']]], - ['hexfloat_48',['hexfloat',['http://en.cppreference.com/w/cpp/io/manip/fixed.html',0,'std']]], - ['high_5fresolution_5fclock_49',['high_resolution_clock',['http://en.cppreference.com/w/cpp/chrono/high_resolution_clock.html',0,'std::chrono']]], - ['hill_5fcipher_2ecpp_50',['hill_cipher.cpp',['../d7/db9/hill__cipher_8cpp.html',1,'']]], - ['hillcipher_51',['HillCipher',['../d6/d26/classciphers_1_1_hill_cipher.html',1,'ciphers']]], - ['hits_52',['hits',['../d6/dae/classothers_1_1lru__cache_1_1_l_r_u_cache.html#a5f33913e7ddfbb38062362e7bd859154',1,'others::lru_cache::LRUCache']]], - ['hkgraph_53',['HKGraph',['../d8/d69/classgraph_1_1_h_k_graph.html',1,'graph::HKGraph'],['../d8/d69/classgraph_1_1_h_k_graph.html#af02b0c83911070ac6d95fc9905e58aa9',1,'graph::HKGraph::HKGraph()'],['../d8/d69/classgraph_1_1_h_k_graph.html#a0da5aa674d3b3e54a38251ee60d7cd64',1,'graph::HKGraph::HKGraph(int m, int n)']]], - ['hld_54',['HLD',['../d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d.html',1,'range_queries::heavy_light_decomposition::HLD< X >'],['../d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d.html#a6e486767434e44076c1ac374a22da726',1,'range_queries::heavy_light_decomposition::HLD::HLD()']]], - ['hopcroft_5fkarp_2ecpp_55',['hopcroft_karp.cpp',['../d1/d9a/hopcroft__karp_8cpp.html',1,'']]], - ['hopcroftkarpalgorithm_56',['hopcroftKarpAlgorithm',['../d8/d69/classgraph_1_1_h_k_graph.html#a9dbda80d02bdc26c3e8ff7330c9be75d',1,'graph::HKGraph']]], - ['horizontal_5frange_57',['horizontal_range',['../d9/d29/ground__to__ground__projectile__motion_8cpp.html#a10362eb607d7882bac3a0688504b00ff',1,'physics::ground_to_ground_projectile_motion']]], - ['horspool_58',['horspool',['../d5/d02/namespacehorspool.html',1,'horspool'],['../d3/dfe/horspool_8cpp.html#a9884bca75ce39c116697ea2574adb37d',1,'strings::horspool::horspool()']]], - ['horspool_2ecpp_59',['horspool.cpp',['../d3/dfe/horspool_8cpp.html',1,'']]], - ['hours_60',['hours',['http://en.cppreference.com/w/cpp/chrono/duration.html',0,'std::chrono::hours'],['http://en.cppreference.com/w/cpp/chrono/duration/duration.html',0,'std::chrono::hours::hours()']]], - ['house_5frobber_61',['house_robber',['../d2/de1/namespacehouse__robber.html',1,'']]], - ['house_5frobber_2ecpp_62',['house_robber.cpp',['../d6/d26/house__robber_8cpp.html',1,'']]], - ['houserobber_63',['houseRobber',['../d6/d26/house__robber_8cpp.html#a1e497c3e3f169afe5baaae6a5d40cbc8',1,'dynamic_programming::house_robber']]], - ['hypot_64',['hypot',['http://en.cppreference.com/w/cpp/numeric/math/hypot.html',0,'std']]] + ['harr_11',['harr',['../d2/d05/class_min_heap.html#a34a93a87967308eb516328c0aca3c48e',1,'MinHeap']]], + ['has_20the_20right_20node_20subtree_12',['Case 1: The given node has the right node/subtree',['../d4/d32/inorder__successor__of__bst_8cpp.html#autotoc_md89',1,'']]], + ['haschildren_13',['hasChildren',['../dd/d2f/class_trie.html#a6d10eb1669453395d1900ebd401954fb',1,'Trie']]], + ['hash_14',['Hash',['../d6/d84/classhashing_1_1sha256_1_1_hash.html',1,'hashing::sha256']]], + ['hash_15',['hash',['../dd/d1c/classhash__chain.html#a846a2f921f8fb7ea572e03901b671d64',1,'hash_chain::hash()'],['../d5/d96/md5_8cpp.html#a88705fab5f92adf3427b4cf76ff33edb',1,'hashing::md5::hash()'],['../d8/d7a/sha1_8cpp.html#a2397f2444a05e4d1487c67e215410d3c',1,'hashing::sha1::hash()']]], + ['hash_5fbs_16',['hash_bs',['../d5/d96/md5_8cpp.html#a5341431cef7fcfc33794326e1deb2425',1,'hashing::md5::hash_bs()'],['../d8/d7a/sha1_8cpp.html#a7be3471f7e489d7d0df42b97a48bf141',1,'hashing::sha1::hash_bs()']]], + ['hash_5fchain_17',['hash_chain',['../dd/d1c/classhash__chain.html',1,'hash_chain'],['../dd/d1c/classhash__chain.html#a80c8b902a15b4fd062ed727ecf8f3595',1,'hash_chain::hash_chain()']]], + ['hash_5fsearch_18',['hash_search',['../d1/df3/hash__search_8cpp.html#a36ea13c16028f18ef2d5ff47f3fda7a2',1,'hash_search.cpp']]], + ['hash_5fsearch_2ecpp_19',['hash_search.cpp',['../d1/df3/hash__search_8cpp.html',1,'']]], + ['hashdjb2_20',['hashDJB2',['../d5/d3c/namespacedata__structures.html#a271c753baf6dc5ac6f19fa03c5873eb4',1,'data_structures']]], + ['hashfunks_21',['hashFunks',['../dc/dd4/classdata__structures_1_1_bloom_filter.html#a65ca6742d3be88d4aca4f080068a7a80',1,'data_structures::BloomFilter']]], + ['hashfxn_22',['hashFxn',['../d0/d65/namespacedouble__hashing.html#a0d90726ed1de7b3d2ae261baed048003',1,'double_hashing::hashFxn()'],['../d8/d89/namespacelinear__probing.html#a4bde7a47f98dd1ad24c84038e2608527',1,'linear_probing::hashFxn()'],['../d4/dd2/namespacequadratic__probing.html#a2093d91dd3d377cf0a5c939e45dcefc7',1,'quadratic_probing::hashFxn()']]], + ['hashing_23',['Hashing',['../d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md57',1,'']]], + ['hashing_24',['hashing',['../d6/d0c/namespacehashing.html',1,'']]], + ['hashint_5f1_25',['hashInt_1',['../d5/d3c/namespacedata__structures.html#aa6deb9d4a0f63ea97aef3dce4c6c6677',1,'data_structures']]], + ['hashint_5f2_26',['hashInt_2',['../d5/d3c/namespacedata__structures.html#a9ed236419034917c5270c1dccd220b5c',1,'data_structures']]], + ['hashmax_27',['HASHMAX',['../d1/df3/hash__search_8cpp.html#a77c722016053a1d484aa177ce205b367',1,'hash_search.cpp']]], + ['hashstr_28',['hashStr',['../d5/d3c/namespacedata__structures.html#a35eb2bc3edbb52f9c5f0b1e51046ef15',1,'data_structures']]], + ['hashtab_29',['hashtab',['../d1/df3/hash__search_8cpp.html#af413b1740073db54796642b0ab814d6d',1,'hash_search.cpp']]], + ['have_20a_20right_20node_20subtree_30',['Case 2: The given node does not have a right node/subtree',['../d4/d32/inorder__successor__of__bst_8cpp.html#autotoc_md90',1,'']]], + ['head_31',['head',['../dd/d1c/classhash__chain.html#ae8457d13620497fa2046ac566252c4b0',1,'hash_chain::head'],['../d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache.html#a042bb403f4452ad8c669fbf87ef82821',1,'others::Cache::LRUCache::head']]], + ['header_32',['header',['../d4/d90/classdata__structures_1_1_skip_list.html#ad7e392386d7db622185d6f7c718e4f16',1,'data_structures::SkipList']]], + ['heap_5fsize_33',['heap_size',['../d2/d05/class_min_heap.html#ae4d358bf063bb196a1945b3fb99b4913',1,'MinHeap']]], + ['heap_5fsort_2ecpp_34',['heap_sort.cpp',['../d2/d52/heap__sort_8cpp.html',1,'']]], + ['heapsort_35',['heapSort',['../d5/d4c/group__sorting.html#ga29d28b140174dbdde7c9f5157758435f',1,'heap_sort.cpp']]], + ['heavy_5flight_5fdecomposition_36',['heavy_light_decomposition',['../db/d6f/namespaceheavy__light__decomposition.html',1,'']]], + ['heavy_5flight_5fdecomposition_2ecpp_37',['heavy_light_decomposition.cpp',['../d2/de9/heavy__light__decomposition_8cpp.html',1,'']]], + ['height_38',['height',['../d8/dee/avltree_8cpp.html#ae4a66d8b0c2b0d626aea45977e358c83',1,'avltree.cpp']]], + ['hemi_5fsphere_5fsurface_5farea_39',['hemi_sphere_surface_area',['../dd/d47/namespacemath.html#a3277e65a8f380e7632791975bfba0efb',1,'math']]], + ['heuristic_5fvalue_40',['heuristic_value',['../da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html#a331d1070d008a4f9d55775a51013baa3',1,'machine_learning::aystar_search::AyStarSearch::Info']]], + ['hill_5fcipher_2ecpp_41',['hill_cipher.cpp',['../d7/db9/hill__cipher_8cpp.html',1,'']]], + ['hillcipher_42',['HillCipher',['../d6/d26/classciphers_1_1_hill_cipher.html',1,'ciphers']]], + ['hits_43',['hits',['../d6/dae/classothers_1_1lru__cache_1_1_l_r_u_cache.html#a5f33913e7ddfbb38062362e7bd859154',1,'others::lru_cache::LRUCache']]], + ['hkgraph_44',['HKGraph',['../d8/d69/classgraph_1_1_h_k_graph.html',1,'graph::HKGraph'],['../d8/d69/classgraph_1_1_h_k_graph.html#af02b0c83911070ac6d95fc9905e58aa9',1,'graph::HKGraph::HKGraph()'],['../d8/d69/classgraph_1_1_h_k_graph.html#a0da5aa674d3b3e54a38251ee60d7cd64',1,'graph::HKGraph::HKGraph(int m, int n)']]], + ['hld_45',['HLD',['../d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d.html',1,'range_queries::heavy_light_decomposition::HLD< X >'],['../d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d.html#a6e486767434e44076c1ac374a22da726',1,'range_queries::heavy_light_decomposition::HLD::HLD()']]], + ['hopcroft_5fkarp_2ecpp_46',['hopcroft_karp.cpp',['../d1/d9a/hopcroft__karp_8cpp.html',1,'']]], + ['hopcroftkarpalgorithm_47',['hopcroftKarpAlgorithm',['../d8/d69/classgraph_1_1_h_k_graph.html#a9dbda80d02bdc26c3e8ff7330c9be75d',1,'graph::HKGraph']]], + ['horizontal_5frange_48',['horizontal_range',['../d9/d29/ground__to__ground__projectile__motion_8cpp.html#a10362eb607d7882bac3a0688504b00ff',1,'physics::ground_to_ground_projectile_motion']]], + ['horspool_49',['horspool',['../d5/d02/namespacehorspool.html',1,'horspool'],['../d3/dfe/horspool_8cpp.html#a9884bca75ce39c116697ea2574adb37d',1,'strings::horspool::horspool()']]], + ['horspool_2ecpp_50',['horspool.cpp',['../d3/dfe/horspool_8cpp.html',1,'']]], + ['house_5frobber_51',['house_robber',['../d2/de1/namespacehouse__robber.html',1,'']]], + ['house_5frobber_2ecpp_52',['house_robber.cpp',['../d6/d26/house__robber_8cpp.html',1,'']]], + ['houserobber_53',['houseRobber',['../d6/d26/house__robber_8cpp.html#a1e497c3e3f169afe5baaae6a5d40cbc8',1,'dynamic_programming::house_robber']]] ]; diff --git a/search/all_e.js b/search/all_e.js index 1fdf6dc40..aec0a5c37 100644 --- a/search/all_e.js +++ b/search/all_e.js @@ -1,257 +1,104 @@ var searchData= [ ['id_0',['ID',['../dd/d95/classdata__structures_1_1_segment_tree.html#a10ffa5fc03c66170f0bc2592b843baa3',1,'data_structures::SegmentTree']]], - ['id_1',['id',['http://en.cppreference.com/w/cpp/locale/locale/id.html',0,'std::locale::id'],['http://en.cppreference.com/w/cpp/thread/thread/id.html',0,'std::thread::id'],['http://en.cppreference.com/w/cpp/locale/locale/id/id.html',0,'std::locale::id::id()'],['http://en.cppreference.com/w/cpp/thread/thread/id/id.html',0,'std::thread::id::id()']]], - ['identity_5ffunction_2',['identity_function',['../d2/d58/neural__network_8cpp.html#a32c00da08f2cf641dd336270f6e3c407',1,'machine_learning::neural_network::util_functions']]], - ['ifstream_3',['ifstream',['http://en.cppreference.com/w/cpp/io/basic_ifstream.html',0,'std::ifstream'],['http://en.cppreference.com/w/cpp/io/basic_ifstream/basic_ifstream.html',0,'std::ifstream::ifstream()']]], - ['ignore_4',['ignore',['http://en.cppreference.com/w/cpp/io/basic_istream/ignore.html',0,'std::fstream::ignore()'],['http://en.cppreference.com/w/cpp/io/basic_istream/ignore.html',0,'std::basic_fstream::ignore()'],['http://en.cppreference.com/w/cpp/io/basic_istream/ignore.html',0,'std::iostream::ignore()'],['http://en.cppreference.com/w/cpp/io/basic_istream/ignore.html',0,'std::wistream::ignore()'],['http://en.cppreference.com/w/cpp/io/basic_istream/ignore.html',0,'std::stringstream::ignore()'],['http://en.cppreference.com/w/cpp/io/basic_istream/ignore.html',0,'std::wifstream::ignore()'],['http://en.cppreference.com/w/cpp/io/basic_istream/ignore.html',0,'std::basic_istream::ignore()'],['http://en.cppreference.com/w/cpp/io/basic_istream/ignore.html',0,'std::strstream::ignore()'],['http://en.cppreference.com/w/cpp/io/basic_istream/ignore.html',0,'std::basic_stringstream::ignore()'],['http://en.cppreference.com/w/cpp/io/basic_istream/ignore.html',0,'std::istrstream::ignore()'],['http://en.cppreference.com/w/cpp/io/basic_istream/ignore.html',0,'std::wiostream::ignore()'],['http://en.cppreference.com/w/cpp/io/basic_istream/ignore.html',0,'std::basic_istringstream::ignore()'],['http://en.cppreference.com/w/cpp/io/basic_istream/ignore.html',0,'std::basic_ifstream::ignore()'],['http://en.cppreference.com/w/cpp/io/basic_istream/ignore.html',0,'std::istringstream::ignore()'],['http://en.cppreference.com/w/cpp/io/basic_istream/ignore.html',0,'std::istream::ignore()'],['http://en.cppreference.com/w/cpp/io/basic_istream/ignore.html',0,'std::wfstream::ignore()'],['http://en.cppreference.com/w/cpp/io/basic_istream/ignore.html',0,'std::basic_iostream::ignore()'],['http://en.cppreference.com/w/cpp/io/basic_istream/ignore.html',0,'std::wstringstream::ignore()'],['http://en.cppreference.com/w/cpp/io/basic_istream/ignore.html',0,'std::wistringstream::ignore()'],['http://en.cppreference.com/w/cpp/io/basic_istream/ignore.html',0,'std::ifstream::ignore()']]], - ['ilogb_5',['ilogb',['http://en.cppreference.com/w/cpp/numeric/math/ilogb.html',0,'std']]], - ['imag_6',['imag',['http://en.cppreference.com/w/cpp/numeric/complex/imag.html',0,'std::complex::imag()'],['../da/d5a/class_complex.html#af8aacf982e2e6c142921bc850f6dc974',1,'Complex::imag()']]], - ['imbue_7',['imbue',['http://en.cppreference.com/w/cpp/io/basic_ios/imbue.html',0,'std::basic_ofstream::imbue()'],['http://en.cppreference.com/w/cpp/io/basic_ios/imbue.html',0,'std::fstream::imbue()'],['http://en.cppreference.com/w/cpp/io/basic_ios/imbue.html',0,'std::wostream::imbue()'],['http://en.cppreference.com/w/cpp/io/basic_ios/imbue.html',0,'std::basic_ostringstream::imbue()'],['http://en.cppreference.com/w/cpp/regex/basic_regex/imbue.html',0,'std::regex::imbue()'],['http://en.cppreference.com/w/cpp/regex/basic_regex/imbue.html',0,'std::basic_regex::imbue()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubimbue.html',0,'std::basic_filebuf::imbue()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubimbue.html',0,'std::wstringbuf::imbue()'],['http://en.cppreference.com/w/cpp/io/ios_base/imbue.html',0,'std::basic_ios::imbue()'],['http://en.cppreference.com/w/cpp/io/basic_ios/imbue.html',0,'std::ostringstream::imbue()'],['http://en.cppreference.com/w/cpp/io/basic_ios/imbue.html',0,'std::basic_fstream::imbue()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubimbue.html',0,'std::stringbuf::imbue()'],['http://en.cppreference.com/w/cpp/regex/basic_regex/imbue.html',0,'std::wregex::imbue()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubimbue.html',0,'std::wfilebuf::imbue()'],['http://en.cppreference.com/w/cpp/io/basic_ios/imbue.html',0,'std::iostream::imbue()'],['http://en.cppreference.com/w/cpp/io/ios_base/imbue.html',0,'std::ios_base::imbue()'],['http://en.cppreference.com/w/cpp/io/basic_ios/imbue.html',0,'std::wistream::imbue()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubimbue.html',0,'std::wstreambuf::imbue()'],['http://en.cppreference.com/w/cpp/io/basic_ios/imbue.html',0,'std::stringstream::imbue()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubimbue.html',0,'std::strstreambuf::imbue()'],['http://en.cppreference.com/w/cpp/io/basic_ios/imbue.html',0,'std::ostream::imbue()'],['http://en.cppreference.com/w/cpp/io/basic_ios/imbue.html',0,'std::wifstream::imbue()'],['http://en.cppreference.com/w/cpp/regex/regex_traits/imbue.html',0,'std::regex_traits::imbue()'],['http://en.cppreference.com/w/cpp/io/basic_ios/imbue.html',0,'std::basic_istream::imbue()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubimbue.html',0,'std::basic_stringbuf::imbue()'],['http://en.cppreference.com/w/cpp/io/basic_ios/imbue.html',0,'std::strstream::imbue()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubimbue.html',0,'std::basic_streambuf::imbue()'],['http://en.cppreference.com/w/cpp/io/basic_ios/imbue.html',0,'std::basic_stringstream::imbue()'],['http://en.cppreference.com/w/cpp/io/basic_ios/imbue.html',0,'std::wostringstream::imbue()'],['http://en.cppreference.com/w/cpp/io/basic_ios/imbue.html',0,'std::istrstream::imbue()'],['http://en.cppreference.com/w/cpp/io/basic_ios/imbue.html',0,'std::basic_ostream::imbue()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubimbue.html',0,'std::filebuf::imbue()'],['http://en.cppreference.com/w/cpp/io/basic_ios/imbue.html',0,'std::wiostream::imbue()'],['http://en.cppreference.com/w/cpp/io/basic_ios/imbue.html',0,'std::ofstream::imbue()'],['http://en.cppreference.com/w/cpp/io/basic_ios/imbue.html',0,'std::basic_istringstream::imbue()'],['http://en.cppreference.com/w/cpp/io/basic_ios/imbue.html',0,'std::basic_ifstream::imbue()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubimbue.html',0,'std::streambuf::imbue()'],['http://en.cppreference.com/w/cpp/io/basic_ios/imbue.html',0,'std::istringstream::imbue()'],['http://en.cppreference.com/w/cpp/io/basic_ios/imbue.html',0,'std::istream::imbue()'],['http://en.cppreference.com/w/cpp/io/basic_ios/imbue.html',0,'std::ostrstream::imbue()'],['http://en.cppreference.com/w/cpp/io/basic_ios/imbue.html',0,'std::wfstream::imbue()'],['http://en.cppreference.com/w/cpp/io/basic_ios/imbue.html',0,'std::basic_iostream::imbue()'],['http://en.cppreference.com/w/cpp/io/basic_ios/imbue.html',0,'std::wofstream::imbue()'],['http://en.cppreference.com/w/cpp/io/basic_ios/imbue.html',0,'std::wstringstream::imbue()'],['http://en.cppreference.com/w/cpp/io/basic_ios/imbue.html',0,'std::wistringstream::imbue()'],['http://en.cppreference.com/w/cpp/io/basic_ios/imbue.html',0,'std::ifstream::imbue()']]], - ['imod_8',['imod',['../d6/d2d/modular__inverse__simple_8cpp.html#a618b198f74a88ab0023355b3a05d9ad6',1,'modular_inverse_simple.cpp']]], - ['implementation_9',['Implementation',['../d4/d9f/selection__sort__recursive_8cpp.html#autotoc_md117',1,'']]], - ['in_10',['in',['http://en.cppreference.com/w/cpp/locale/codecvt/in.html',0,'std::codecvt::in()'],['http://en.cppreference.com/w/cpp/locale/codecvt/in.html',0,'std::codecvt_byname::in()'],['http://en.cppreference.com/w/cpp/locale/codecvt/in.html',0,'std::codecvt_utf8::in()'],['http://en.cppreference.com/w/cpp/locale/codecvt/in.html',0,'std::codecvt_utf8_utf16::in()'],['http://en.cppreference.com/w/cpp/locale/codecvt/in.html',0,'std::codecvt_utf16::in()']]], - ['in_20a_20new_20directory_11',['Integrating CMake in a new directory',['../d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md34',1,'']]], - ['in_5favail_12',['in_avail',['http://en.cppreference.com/w/cpp/io/basic_streambuf/in_avail.html',0,'std::basic_filebuf::in_avail()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/in_avail.html',0,'std::wstringbuf::in_avail()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/in_avail.html',0,'std::stringbuf::in_avail()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/in_avail.html',0,'std::wfilebuf::in_avail()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/in_avail.html',0,'std::wstreambuf::in_avail()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/in_avail.html',0,'std::strstreambuf::in_avail()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/in_avail.html',0,'std::basic_stringbuf::in_avail()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/in_avail.html',0,'std::basic_streambuf::in_avail()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/in_avail.html',0,'std::filebuf::in_avail()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/in_avail.html',0,'std::streambuf::in_avail()']]], - ['in_5frange_13',['in_range',['../dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle.html#a48d054230468b79037964f474d842b6e',1,'machine_learning::aystar_search::EightPuzzle']]], - ['includes_14',['includes',['http://en.cppreference.com/w/cpp/algorithm/includes.html',0,'std']]], - ['increase_5ffrequency_15',['increase_frequency',['../df/d8f/classothers_1_1_cache_1_1_l_f_u_cache.html#a16a25c102554c5653721a5112ef676c9',1,'others::Cache::LFUCache']]], - ['independent_5fbits_5fengine_16',['independent_bits_engine',['http://en.cppreference.com/w/cpp/numeric/random/independent_bits_engine.html',0,'std::independent_bits_engine'],['http://en.cppreference.com/w/cpp/numeric/random/independent_bits_engine/independent_bits_engine.html',0,'std::independent_bits_engine::independent_bits_engine()']]], - ['inf_17',['INF',['../d7/d07/bidirectional__dijkstra_8cpp.html#a330a2b0a904f01802ada1f8f3b28e76c',1,'INF: bidirectional_dijkstra.cpp'],['../da/d4b/depth__first__search__with__stack_8cpp.html#a330a2b0a904f01802ada1f8f3b28e76c',1,'INF: depth_first_search_with_stack.cpp']]], - ['infinity_18',['infinity',['http://en.cppreference.com/w/cpp/types/numeric_limits/infinity.html',0,'std::numeric_limits']]], - ['info_19',['Info',['../da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html',1,'machine_learning::aystar_search::AyStarSearch< Puzzle >::Info'],['../da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search.html#acd897e6e519849edb9fb0d1e1bfa881a',1,'machine_learning::aystar_search::AyStarSearch::Info'],['../da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html#aaa7ea27346659f0abe2df82ca57fc5a7',1,'machine_learning::aystar_search::AyStarSearch::Info::Info()=default'],['../da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html#a695e4314ebc3ab58e13004dc63599fe8',1,'machine_learning::aystar_search::AyStarSearch::Info::Info(const Puzzle &A)'],['../da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html#ad3950824936488f66408313b1f8a8ca8',1,'machine_learning::aystar_search::AyStarSearch::Info::Info(const Puzzle &A, size_t h_value, size_t d)'],['../da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html#a572de12115e39e34dde6e68b707d59f5',1,'machine_learning::aystar_search::AyStarSearch::Info::Info(const Info &A)'],['../da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html#a6abc89925ae7055a63b428e61525ad7a',1,'machine_learning::aystar_search::AyStarSearch::Info::Info(const Info &&A) noexcept']]], - ['init_20',['init',['http://en.cppreference.com/w/cpp/io/basic_ios/init.html',0,'std::basic_ofstream::init()'],['http://en.cppreference.com/w/cpp/io/basic_ios/init.html',0,'std::fstream::init()'],['http://en.cppreference.com/w/cpp/io/basic_ios/init.html',0,'std::wostream::init()'],['http://en.cppreference.com/w/cpp/io/basic_ios/init.html',0,'std::basic_ostringstream::init()'],['http://en.cppreference.com/w/cpp/io/basic_ios/init.html',0,'std::basic_ios::init()'],['http://en.cppreference.com/w/cpp/io/basic_ios/init.html',0,'std::ostringstream::init()'],['http://en.cppreference.com/w/cpp/io/basic_ios/init.html',0,'std::basic_fstream::init()'],['http://en.cppreference.com/w/cpp/io/basic_ios/init.html',0,'std::iostream::init()'],['http://en.cppreference.com/w/cpp/io/basic_ios/init.html',0,'std::wistream::init()'],['http://en.cppreference.com/w/cpp/io/basic_ios/init.html',0,'std::stringstream::init()'],['http://en.cppreference.com/w/cpp/io/basic_ios/init.html',0,'std::ostream::init()'],['http://en.cppreference.com/w/cpp/io/basic_ios/init.html',0,'std::wifstream::init()'],['http://en.cppreference.com/w/cpp/io/basic_ios/init.html',0,'std::basic_istream::init()'],['http://en.cppreference.com/w/cpp/io/basic_ios/init.html',0,'std::strstream::init()'],['http://en.cppreference.com/w/cpp/io/basic_ios/init.html',0,'std::basic_stringstream::init()'],['http://en.cppreference.com/w/cpp/io/basic_ios/init.html',0,'std::wostringstream::init()'],['http://en.cppreference.com/w/cpp/io/basic_ios/init.html',0,'std::istrstream::init()'],['http://en.cppreference.com/w/cpp/io/basic_ios/init.html',0,'std::basic_ostream::init()'],['http://en.cppreference.com/w/cpp/io/basic_ios/init.html',0,'std::wiostream::init()'],['http://en.cppreference.com/w/cpp/io/basic_ios/init.html',0,'std::ofstream::init()'],['http://en.cppreference.com/w/cpp/io/basic_ios/init.html',0,'std::basic_istringstream::init()'],['http://en.cppreference.com/w/cpp/io/basic_ios/init.html',0,'std::basic_ifstream::init()'],['http://en.cppreference.com/w/cpp/io/basic_ios/init.html',0,'std::istringstream::init()'],['http://en.cppreference.com/w/cpp/io/basic_ios/init.html',0,'std::istream::init()'],['http://en.cppreference.com/w/cpp/io/basic_ios/init.html',0,'std::ostrstream::init()'],['http://en.cppreference.com/w/cpp/io/basic_ios/init.html',0,'std::wfstream::init()'],['http://en.cppreference.com/w/cpp/io/basic_ios/init.html',0,'std::basic_iostream::init()'],['http://en.cppreference.com/w/cpp/io/basic_ios/init.html',0,'std::wofstream::init()'],['http://en.cppreference.com/w/cpp/io/basic_ios/init.html',0,'std::wstringstream::init()'],['http://en.cppreference.com/w/cpp/io/basic_ios/init.html',0,'std::wistringstream::init()'],['http://en.cppreference.com/w/cpp/io/basic_ios/init.html',0,'std::ifstream::init()'],['../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html#ad22d760a5a33545a70e7ea5e1786c8dc',1,'range_queries::heavy_light_decomposition::Tree::init()'],['../d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d.html#ae9e979edd69678b85665c01e2ee97828',1,'range_queries::heavy_light_decomposition::HLD::init()'],['../d8/d41/namespacegames_1_1memory__game.html#ad573c8ae66ab66156d03e5e81bbba214',1,'games::memory_game::init()']]], - ['init_5fbad_5fchar_21',['init_bad_char',['../d0/dbc/namespacestrings_1_1boyer__moore.html#a2f6688c9bb3e692297a3aa09cebc1c00',1,'strings::boyer_moore']]], - ['init_5fgood_5fsuffix_22',['init_good_suffix',['../d0/dbc/namespacestrings_1_1boyer__moore.html#aa709cf7fca02b7d3e1888423d5f739a1',1,'strings::boyer_moore']]], - ['init_5fpattern_23',['init_pattern',['../d0/dbc/namespacestrings_1_1boyer__moore.html#a0b165af1dc341289fd705be4c67728f8',1,'strings::boyer_moore']]], - ['initializer_5flist_24',['initializer_list',['http://en.cppreference.com/w/cpp/utility/initializer_list.html',0,'std::initializer_list'],['http://en.cppreference.com/w/cpp/utility/initializer_list/initializer_list.html',0,'std::initializer_list::initializer_list()']]], - ['inner_5fallocator_25',['inner_allocator',['http://en.cppreference.com/w/cpp/memory/scoped_allocator_adaptor/inner_allocator.html',0,'std::scoped_allocator_adaptor']]], - ['inner_5fproduct_26',['inner_product',['http://en.cppreference.com/w/cpp/algorithm/inner_product.html',0,'std']]], - ['inorder_20traversal_20of_20a_20tree_27',['Inorder Traversal of a tree',['../d8/d90/iterative__tree__traversals_8cpp.html#autotoc_md95',1,'Iterative Inorder Traversal of a tree'],['../dc/de1/recursive__tree__traversal_8cpp.html#autotoc_md99',1,'Iterative Inorder Traversal of a tree']]], - ['inorder_5fsuccessor_5fof_5fbst_28',['inorder_successor_of_bst',['../dd/d74/namespaceinorder__successor__of__bst.html',1,'']]], - ['inorder_5fsuccessor_5fof_5fbst_2ecpp_29',['inorder_successor_of_bst.cpp',['../d4/d32/inorder__successor__of__bst_8cpp.html',1,'']]], - ['inorderiterative_30',['inOrderIterative',['../d9/d12/classothers_1_1iterative__tree__traversals_1_1_binary_tree.html#a0c33f2c1a3a3deb486a1c33ee5239499',1,'others::iterative_tree_traversals::BinaryTree']]], - ['inplace_5fmerge_31',['inplace_merge',['http://en.cppreference.com/w/cpp/algorithm/inplace_merge.html',0,'std']]], - ['input_5fiterator_5ftag_32',['input_iterator_tag',['http://en.cppreference.com/w/cpp/iterator/iterator_tags.html',0,'std']]], - ['insameunion_33',['InSameUnion',['../de/d23/disjoint__set_8cpp.html#a2fb0a7cd26a477e2d48ba7e0118bc985',1,'disjoint_set.cpp']]], - ['insert_34',['Insert',['../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a6749ebb40710c9752a2771eda03c6b3e',1,'data_structures::tree_234::Tree234::Insert(int64_t item)'],['../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a02df91964915ca97609d35f847faff5f',1,'data_structures::tree_234::Tree234::Insert(Node *tree, int64_t item)'],['../d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html#a7ecb75b985b1ffc575a880274f855b1c',1,'operations_on_datastructures::trie_operations::Tnode::Insert()'],['../d4/d32/inorder__successor__of__bst_8cpp.html#a3ae0bea4123fd2ce155108e88f2ef78c',1,'operations_on_datastructures::inorder_traversal_of_bst::Insert()']]], - ['insert_35',['insert',['http://en.cppreference.com/w/cpp/container/vector/insert.html',0,'std::vector::insert()'],['http://en.cppreference.com/w/cpp/container/multiset/insert.html',0,'std::multiset::insert()'],['http://en.cppreference.com/w/cpp/string/basic_string/insert.html',0,'std::string::insert()'],['http://en.cppreference.com/w/cpp/container/set/insert.html',0,'std::set::insert()'],['http://en.cppreference.com/w/cpp/container/unordered_map/insert.html',0,'std::unordered_map::insert()'],['http://en.cppreference.com/w/cpp/container/unordered_multimap/insert.html',0,'std::unordered_multimap::insert()'],['http://en.cppreference.com/w/cpp/container/deque/insert.html',0,'std::deque::insert()'],['http://en.cppreference.com/w/cpp/string/basic_string/insert.html',0,'std::basic_string::insert()'],['http://en.cppreference.com/w/cpp/string/basic_string/insert.html',0,'std::wstring::insert()'],['http://en.cppreference.com/w/cpp/container/unordered_multiset/insert.html',0,'std::unordered_multiset::insert()'],['http://en.cppreference.com/w/cpp/string/basic_string/insert.html',0,'std::u16string::insert()'],['http://en.cppreference.com/w/cpp/string/basic_string/insert.html',0,'std::u32string::insert()'],['http://en.cppreference.com/w/cpp/container/list/insert.html',0,'std::list::insert()'],['http://en.cppreference.com/w/cpp/container/map/insert.html',0,'std::map::insert()'],['http://en.cppreference.com/w/cpp/container/unordered_set/insert.html',0,'std::unordered_set::insert()'],['http://en.cppreference.com/w/cpp/container/multimap/insert.html',0,'std::multimap::insert()'],['../d9/dde/classbinary__search__tree.html#a9d1e7e10efa74d741bf48cf032df3778',1,'binary_search_tree::insert(std::unique_ptr< bst_node > &node, T new_value)'],['../d9/dde/classbinary__search__tree.html#a8168edf29316f2b436eac1fc416c52e0',1,'binary_search_tree::insert(T new_value)'],['../d5/dab/structdata__structures_1_1list__array_1_1list.html#aa960d714d449612f25256850d72325f1',1,'data_structures::list_array::list::insert()'],['../d1/def/classdata__structures_1_1linked__list_1_1list.html#aa69707af46eb6d410eb3a54ee58e1ed1',1,'data_structures::linked_list::list::insert()'],['../d5/d95/structdata__structures_1_1treap_1_1_treap.html#a5e884d2686aff501ef589b0d1185492f',1,'data_structures::treap::Treap::insert()'],['../dd/d2f/class_trie.html#afd8b79959009b554e98ea7128b2886f2',1,'Trie::insert()'],['../d0/d3e/classdata__structures_1_1trie.html#a0ab94bc6417e3f59fab33cea5b64d546',1,'data_structures::trie::insert()'],['../d3/d26/classdata__structures_1_1trie__using__hashmap_1_1_trie.html#abcae0a4456e7f583ce716e3ef466dfd2',1,'data_structures::trie_using_hashmap::Trie::insert()'],['../d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list.html#ac38565472a07d07f63ec0d2fd8a69d4d',1,'operations_on_datastructures::circular_linked_list::CircularLinkedList::insert(const std::vector< int64_t > &values)'],['../d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list.html#a3b7bbb0918c261bc216aef9e6dd39aa4',1,'operations_on_datastructures::circular_linked_list::CircularLinkedList::insert(int64_t data)'],['../d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list.html#a15150d6d933c58190c9c1dd7d22c51ae',1,'operations_on_datastructures::circular_linked_list::CircularLinkedList::insert(Node *node)'],['../de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree.html#adb2b6be741b0500ee75d89b6d06b5d50',1,'operations_on_datastructures::reverse_binary_tree::BinaryTree::insert()'],['../df/d34/classprobability_1_1windowed__median_1_1_windowed_median.html#a6b52b7851750f28d53508e63c52a69f7',1,'probability::windowed_median::WindowedMedian::insert()'],['../d8/dee/avltree_8cpp.html#a2473fe7416332495b2678ebe89652e4b',1,'insert(): avltree.cpp']]], - ['insert_5fafter_36',['insert_after',['http://en.cppreference.com/w/cpp/container/forward_list/insert_after.html',0,'std::forward_list']]], - ['insert_5felement_37',['insert_element',['../d8/d77/namespacemachine__learning.html#a496302e3371aa7b478cb7d5917904bdd',1,'machine_learning']]], - ['insert_5fiterator_38',['insert_iterator',['http://en.cppreference.com/w/cpp/iterator/insert_iterator.html',0,'std']]], - ['insertatthebeginning_39',['insertAtTheBeginning',['../d3/dce/linkedlist__implentation__usingarray_8cpp.html#afcb07da7984e20b3207934696791f5df',1,'linkedlist_implentation_usingarray.cpp']]], - ['insertelement_40',['insertElement',['../d4/d90/classdata__structures_1_1_skip_list.html#a40a4042bdf0b6683b5f21ae7854de8a9',1,'data_structures::SkipList']]], - ['inserter_41',['inserter',['http://en.cppreference.com/w/cpp/iterator/inserter.html',0,'std']]], - ['insertion_5fsort_2ecpp_42',['insertion_sort.cpp',['../dd/d0d/insertion__sort_8cpp.html',1,'']]], - ['insertion_5fsort_5frecursive_2ecpp_43',['insertion_sort_recursive.cpp',['../dd/d89/insertion__sort__recursive_8cpp.html',1,'']]], - ['insertionsort_44',['InsertionSort',['../de/d7b/merge__insertion__sort_8cpp.html#a0cba4fbf287ab8cb978ed7f8fef886b1',1,'sorting::merge_insertion']]], - ['insertionsort_45',['insertionSort',['../d5/d91/namespacesorting.html#a78cb2f3b97b6db2c062b2a1df05c9ea9',1,'sorting::insertionSort(T *arr, int n)'],['../d5/d91/namespacesorting.html#a8fe6bac9e03f58abcc2ce26ef3de1b5f',1,'sorting::insertionSort(std::vector< T > *arr)']]], - ['insertionsort_5fbinsrch_46',['insertionSort_binsrch',['../d5/d91/namespacesorting.html#a5f4bc75cca6dd8294af2d0e328006c68',1,'sorting']]], - ['insertitem_47',['InsertItem',['../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a8e809ae85ae00e937f67ddb76951b6bb',1,'data_structures::tree_234::Node']]], - ['insertitembyindex_48',['InsertItemByIndex',['../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a306a30931f54c84098b38d6bc8f4a956',1,'data_structures::tree_234::Node']]], - ['insertkey_49',['insertKey',['../d2/d05/class_min_heap.html#aef78f3384f5a0ae880ad0883d2d44b82',1,'MinHeap']]], - ['insertpostmerge_50',['InsertPostMerge',['../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#aa7e5e00033f38006a224f30bdbf3f703',1,'data_structures::tree_234::Tree234']]], - ['insertpresplit_51',['InsertPreSplit',['../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a07811b3c564a3a443b106c9aa717629d',1,'data_structures::tree_234::Tree234']]], - ['inserttosorted_52',['insertToSorted',['../df/d34/classprobability_1_1windowed__median_1_1_windowed_median.html#a3a7f57679e9cd6c9f042dfd0612b2b24',1,'probability::windowed_median::WindowedMedian']]], - ['int16_5ft_53',['int16_t',['http://en.cppreference.com/w/cpp/types/integer.html',0,'std']]], - ['int32_5ft_54',['int32_t',['http://en.cppreference.com/w/cpp/types/integer.html',0,'std']]], - ['int64_5ft_55',['int64_t',['http://en.cppreference.com/w/cpp/types/integer.html',0,'std']]], - ['int8_5ft_56',['int8_t',['http://en.cppreference.com/w/cpp/types/integer.html',0,'std']]], - ['int_5ffast16_5ft_57',['int_fast16_t',['http://en.cppreference.com/w/cpp/types/integer.html',0,'std']]], - ['int_5ffast32_5ft_58',['int_fast32_t',['http://en.cppreference.com/w/cpp/types/integer.html',0,'std']]], - ['int_5ffast64_5ft_59',['int_fast64_t',['http://en.cppreference.com/w/cpp/types/integer.html',0,'std']]], - ['int_5ffast8_5ft_60',['int_fast8_t',['http://en.cppreference.com/w/cpp/types/integer.html',0,'std']]], - ['int_5fleast16_5ft_61',['int_least16_t',['http://en.cppreference.com/w/cpp/types/integer.html',0,'std']]], - ['int_5fleast32_5ft_62',['int_least32_t',['http://en.cppreference.com/w/cpp/types/integer.html',0,'std']]], - ['int_5fleast64_5ft_63',['int_least64_t',['http://en.cppreference.com/w/cpp/types/integer.html',0,'std']]], - ['int_5fleast8_5ft_64',['int_least8_t',['http://en.cppreference.com/w/cpp/types/integer.html',0,'std']]], - ['integer_5fsequence_65',['integer_sequence',['http://en.cppreference.com/w/cpp/utility/integer_sequence.html',0,'std']]], - ['integral_5fapprox_66',['integral_approx',['../dd/d47/namespacemath.html#aec65db4e5c7317323227f026fe50ef11',1,'math']]], - ['integral_5fapproximation_2ecpp_67',['integral_approximation.cpp',['../d1/de9/integral__approximation_8cpp.html',1,'']]], - ['integral_5fapproximation2_2ecpp_68',['integral_approximation2.cpp',['../db/d40/integral__approximation2_8cpp.html',1,'']]], - ['integral_5fconstant_69',['integral_constant',['http://en.cppreference.com/w/cpp/types/integral_constant.html',0,'std']]], - ['integral_5fmonte_5fcarlo_70',['integral_monte_carlo',['../db/d40/integral__approximation2_8cpp.html#af7da9ba8932f1f48b9bbc2d80471af51',1,'math::monte_carlo']]], - ['integrating_20cmake_20in_20a_20new_20directory_71',['Integrating CMake in a new directory',['../d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md34',1,'']]], - ['interactive_72',['interactive',['../d5/d96/md5_8cpp.html#ac9e1a11f44135b890dd10a00e73b5661',1,'interactive(): md5.cpp'],['../d8/d7a/sha1_8cpp.html#ac9e1a11f44135b890dd10a00e73b5661',1,'interactive(): sha1.cpp']]], - ['interface_73',['User-interface',['../dc/d64/md__coding_guidelines.html#autotoc_md18',1,'']]], - ['intern_5ftype_74',['intern_type',['http://en.cppreference.com/w/cpp/locale/codecvt.html',0,'std::codecvt::intern_type'],['http://en.cppreference.com/w/cpp/locale/codecvt.html',0,'std::codecvt_byname::intern_type'],['http://en.cppreference.com/w/cpp/locale/codecvt.html',0,'std::codecvt_utf16::intern_type'],['http://en.cppreference.com/w/cpp/locale/codecvt.html',0,'std::codecvt_utf8::intern_type'],['http://en.cppreference.com/w/cpp/locale/codecvt.html',0,'std::codecvt_utf8_utf16::intern_type']]], - ['internal_75',['internal',['http://en.cppreference.com/w/cpp/io/manip/left.html',0,'std']]], - ['interpolation_5fsearch_76',['interpolation_search',['../d1/d64/namespaceinterpolation__search.html',1,'']]], - ['interpolation_5fsearch2_2ecpp_77',['interpolation_search2.cpp',['../df/d39/interpolation__search2_8cpp.html',1,'']]], - ['interpolationsearch_78',['InterpolationSearch',['../df/d39/interpolation__search2_8cpp.html#aa3ec659ec8394d186c761df81ad1f629',1,'interpolation_search2.cpp']]], - ['intersection_5fof_5ftwo_5farrays_2ecpp_79',['intersection_of_two_arrays.cpp',['../de/dc5/intersection__of__two__arrays_8cpp.html',1,'']]], - ['intervals_80',['intervals',['http://en.cppreference.com/w/cpp/numeric/random/piecewise_constant_distribution/params.html',0,'std::piecewise_constant_distribution::intervals()'],['http://en.cppreference.com/w/cpp/numeric/random/piecewise_linear_distribution/params.html',0,'std::piecewise_linear_distribution::intervals()']]], - ['intmax_5ft_81',['intmax_t',['http://en.cppreference.com/w/cpp/types/integer.html',0,'std']]], - ['intptr_5ft_82',['intptr_t',['http://en.cppreference.com/w/cpp/types/integer.html',0,'std']]], - ['inv_5fsqrt_2ecpp_83',['inv_sqrt.cpp',['../d6/db8/inv__sqrt_8cpp.html',1,'']]], - ['invalid_5fargument_84',['invalid_argument',['http://en.cppreference.com/w/cpp/error/invalid_argument.html',0,'std::invalid_argument'],['http://en.cppreference.com/w/cpp/error/invalid_argument.html',0,'std::invalid_argument::invalid_argument()']]], - ['inverse_5fcumulative_5fdistribution_85',['inverse_cumulative_distribution',['../da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution.html#aaf762e88c66918d7afda4234f28a7ddf',1,'probability::geometric_dist::geometric_distribution']]], - ['inverse_5ffast_5ffourier_5ftransform_2ecpp_86',['inverse_fast_fourier_transform.cpp',['../d9/d37/inverse__fast__fourier__transform_8cpp.html',1,'']]], - ['inversefastfouriertransform_87',['InverseFastFourierTransform',['../d1/de0/namespacenumerical__methods.html#aee56dc85997b8cd42bad71a5d6bd2d93',1,'numerical_methods']]], - ['inversion_88',['inversion',['../d9/d13/namespaceinversion.html',1,'']]], - ['ios_5fbase_89',['ios_base',['http://en.cppreference.com/w/cpp/io/ios_base.html',0,'std::ios_base'],['http://en.cppreference.com/w/cpp/io/ios_base/ios_base.html',0,'std::ios_base::ios_base()']]], - ['iostream_90',['iostream',['http://en.cppreference.com/w/cpp/io/basic_iostream.html',0,'std::iostream'],['http://en.cppreference.com/w/cpp/io/basic_iostream/basic_iostream.html',0,'std::iostream::iostream()']]], - ['iota_91',['iota',['http://en.cppreference.com/w/cpp/algorithm/iota.html',0,'std']]], - ['is_92',['is',['http://en.cppreference.com/w/cpp/locale/ctype/is.html',0,'std::ctype_byname::is()'],['http://en.cppreference.com/w/cpp/locale/ctype/is.html',0,'std::ctype::is()']]], - ['is2node_93',['Is2Node',['../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#afd9f83e2d5d7f22f79c1348e98914631',1,'data_structures::tree_234::Node']]], - ['is34node_94',['Is34Node',['../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a6c5f929afcbad5219646990edee22e18',1,'data_structures::tree_234::Node']]], - ['is_5fabstract_95',['is_abstract',['http://en.cppreference.com/w/cpp/types/is_abstract.html',0,'std']]], - ['is_5farithmetic_96',['is_arithmetic',['http://en.cppreference.com/w/cpp/types/is_arithmetic.html',0,'std']]], - ['is_5farithmetic_3c_20uint128_5ft_20_3e_97',['is_arithmetic< uint128_t >',['../d2/dfc/structstd_1_1is__arithmetic_3_01uint128__t_01_4.html',1,'std']]], - ['is_5farithmetic_3c_20uint256_5ft_20_3e_98',['is_arithmetic< uint256_t >',['../dc/d6d/structstd_1_1is__arithmetic_3_01uint256__t_01_4.html',1,'std']]], - ['is_5farmstrong_99',['is_armstrong',['../dd/d24/namespacedynamic__programming.html#af046365a8d77a1267acc082f86135a26',1,'dynamic_programming']]], - ['is_5farray_100',['is_array',['http://en.cppreference.com/w/cpp/types/is_array.html',0,'std']]], - ['is_5fassignable_101',['is_assignable',['http://en.cppreference.com/w/cpp/types/is_assignable.html',0,'std']]], - ['is_5fbase_5fof_102',['is_base_of',['http://en.cppreference.com/w/cpp/types/is_base_of.html',0,'std']]], - ['is_5fbind_5fexpression_103',['is_bind_expression',['http://en.cppreference.com/w/cpp/utility/functional/is_bind_expression.html',0,'std']]], - ['is_5fbipartite_104',['is_bipartite',['../de/d00/classgraph_1_1is__graph__bipartite_1_1_graph.html#ad475f8b838693812f7569a490729f373',1,'graph::is_graph_bipartite::Graph']]], - ['is_5fclass_105',['is_class',['http://en.cppreference.com/w/cpp/types/is_class.html',0,'std']]], - ['is_5fcompound_106',['is_compound',['http://en.cppreference.com/w/cpp/types/is_compound.html',0,'std']]], - ['is_5fconst_107',['is_const',['http://en.cppreference.com/w/cpp/types/is_const.html',0,'std']]], - ['is_5fconstructible_108',['is_constructible',['http://en.cppreference.com/w/cpp/types/is_constructible.html',0,'std']]], - ['is_5fconvertible_109',['is_convertible',['http://en.cppreference.com/w/cpp/types/is_convertible.html',0,'std']]], - ['is_5fcopy_5fassignable_110',['is_copy_assignable',['http://en.cppreference.com/w/cpp/types/is_copy_assignable.html',0,'std']]], - ['is_5fcopy_5fconstructible_111',['is_copy_constructible',['http://en.cppreference.com/w/cpp/types/is_copy_constructible.html',0,'std']]], - ['is_5fdefault_5fconstructible_112',['is_default_constructible',['http://en.cppreference.com/w/cpp/types/is_default_constructible.html',0,'std']]], - ['is_5fdestructible_113',['is_destructible',['http://en.cppreference.com/w/cpp/types/is_destructible.html',0,'std']]], - ['is_5fempty_114',['is_empty',['http://en.cppreference.com/w/cpp/types/is_empty.html',0,'std']]], - ['is_5fenum_115',['is_enum',['http://en.cppreference.com/w/cpp/types/is_enum.html',0,'std']]], - ['is_5ferror_5fcode_5fenum_116',['is_error_code_enum',['http://en.cppreference.com/w/cpp/error/error_code/is_error_code_enum.html',0,'std']]], - ['is_5ferror_5fcondition_5fenum_117',['is_error_condition_enum',['http://en.cppreference.com/w/cpp/error/error_condition/is_error_condition_enum.html',0,'std']]], - ['is_5ffactorial_118',['is_factorial',['../dd/d47/namespacemath.html#a6c72f756a7bf1b9043c357e3fe7814ca',1,'math']]], - ['is_5ffloating_5fpoint_119',['is_floating_point',['http://en.cppreference.com/w/cpp/types/is_floating_point.html',0,'std']]], - ['is_5ffunction_120',['is_function',['http://en.cppreference.com/w/cpp/types/is_function.html',0,'std']]], - ['is_5ffundamental_121',['is_fundamental',['http://en.cppreference.com/w/cpp/types/is_fundamental.html',0,'std']]], - ['is_5fgraph_5fbipartite_122',['is_graph_bipartite',['../de/d83/namespaceis__graph__bipartite.html',1,'']]], - ['is_5fgraph_5fbipartite_2ecpp_123',['is_graph_bipartite.cpp',['../d6/dd8/is__graph__bipartite_8cpp.html',1,'']]], - ['is_5fhappy_124',['is_happy',['../db/df3/happy__number_8cpp.html#a00ccdb1166a7c83ac3c33ac67a2532b7',1,'happy_number.cpp']]], - ['is_5fheap_125',['is_heap',['http://en.cppreference.com/w/cpp/algorithm/is_heap.html',0,'std']]], - ['is_5fheap_5funtil_126',['is_heap_until',['http://en.cppreference.com/w/cpp/algorithm/is_heap_until.html',0,'std']]], - ['is_5fintegral_127',['is_integral',['http://en.cppreference.com/w/cpp/types/is_integral.html',0,'std']]], - ['is_5fintegral_3c_20uint128_5ft_20_3e_128',['is_integral< uint128_t >',['../d2/dd4/structstd_1_1is__integral_3_01uint128__t_01_4.html',1,'std']]], - ['is_5fintegral_3c_20uint256_5ft_20_3e_129',['is_integral< uint256_t >',['../d7/d47/structstd_1_1is__integral_3_01uint256__t_01_4.html',1,'std']]], - ['is_5fliteral_5ftype_130',['is_literal_type',['http://en.cppreference.com/w/cpp/types/is_literal_type.html',0,'std']]], - ['is_5flock_5ffree_131',['is_lock_free',['http://en.cppreference.com/w/cpp/atomic/atomic/is_lock_free.html',0,'std::atomic']]], - ['is_5flvalue_5freference_132',['is_lvalue_reference',['http://en.cppreference.com/w/cpp/types/is_lvalue_reference.html',0,'std']]], - ['is_5fmember_5ffunction_5fpointer_133',['is_member_function_pointer',['http://en.cppreference.com/w/cpp/types/is_member_function_pointer.html',0,'std']]], - ['is_5fmember_5fobject_5fpointer_134',['is_member_object_pointer',['http://en.cppreference.com/w/cpp/types/is_member_object_pointer.html',0,'std']]], - ['is_5fmember_5fpointer_135',['is_member_pointer',['http://en.cppreference.com/w/cpp/types/is_member_pointer.html',0,'std']]], - ['is_5fmove_5fassignable_136',['is_move_assignable',['http://en.cppreference.com/w/cpp/types/is_move_assignable.html',0,'std']]], - ['is_5fmove_5fconstructible_137',['is_move_constructible',['http://en.cppreference.com/w/cpp/types/is_move_constructible.html',0,'std']]], - ['is_5fnothrow_5fassignable_138',['is_nothrow_assignable',['http://en.cppreference.com/w/cpp/types/is_assignable.html',0,'std']]], - ['is_5fnothrow_5fconstructible_139',['is_nothrow_constructible',['http://en.cppreference.com/w/cpp/types/is_constructible.html',0,'std']]], - ['is_5fnothrow_5fcopy_5fassignable_140',['is_nothrow_copy_assignable',['http://en.cppreference.com/w/cpp/types/is_copy_assignable.html',0,'std']]], - ['is_5fnothrow_5fcopy_5fconstructible_141',['is_nothrow_copy_constructible',['http://en.cppreference.com/w/cpp/types/is_copy_constructible.html',0,'std']]], - ['is_5fnothrow_5fdefault_5fconstructible_142',['is_nothrow_default_constructible',['http://en.cppreference.com/w/cpp/types/is_default_constructible.html',0,'std']]], - ['is_5fnothrow_5fdestructible_143',['is_nothrow_destructible',['http://en.cppreference.com/w/cpp/types/is_destructible.html',0,'std']]], - ['is_5fnothrow_5fmove_5fassignable_144',['is_nothrow_move_assignable',['http://en.cppreference.com/w/cpp/types/is_move_assignable.html',0,'std']]], - ['is_5fnothrow_5fmove_5fconstructible_145',['is_nothrow_move_constructible',['http://en.cppreference.com/w/cpp/types/is_move_constructible.html',0,'std']]], - ['is_5fnumber_146',['is_number',['../d8/d41/namespacegames_1_1memory__game.html#a33167bb9cce6d527b478b4f6ae8c3f59',1,'games::memory_game::is_number()'],['../d7/d75/postfix__evaluation_8cpp.html#a4c27f949c9d6659be9f5bd2ccbe1360a',1,'others::postfix_expression::is_number()']]], - ['is_5fobject_147',['is_object',['http://en.cppreference.com/w/cpp/types/is_object.html',0,'std']]], - ['is_5fopen_148',['is_open',['http://en.cppreference.com/w/cpp/io/basic_ofstream/is_open.html',0,'std::basic_ofstream::is_open()'],['http://en.cppreference.com/w/cpp/io/basic_fstream/is_open.html',0,'std::fstream::is_open()'],['http://en.cppreference.com/w/cpp/io/basic_filebuf/is_open.html',0,'std::basic_filebuf::is_open()'],['http://en.cppreference.com/w/cpp/io/basic_fstream/is_open.html',0,'std::basic_fstream::is_open()'],['http://en.cppreference.com/w/cpp/io/basic_filebuf/is_open.html',0,'std::wfilebuf::is_open()'],['http://en.cppreference.com/w/cpp/io/basic_ifstream/is_open.html',0,'std::wifstream::is_open()'],['http://en.cppreference.com/w/cpp/io/basic_filebuf/is_open.html',0,'std::filebuf::is_open()'],['http://en.cppreference.com/w/cpp/io/basic_ofstream/is_open.html',0,'std::ofstream::is_open()'],['http://en.cppreference.com/w/cpp/io/basic_ifstream/is_open.html',0,'std::basic_ifstream::is_open()'],['http://en.cppreference.com/w/cpp/io/basic_fstream/is_open.html',0,'std::wfstream::is_open()'],['http://en.cppreference.com/w/cpp/io/basic_ofstream/is_open.html',0,'std::wofstream::is_open()'],['http://en.cppreference.com/w/cpp/io/basic_ifstream/is_open.html',0,'std::ifstream::is_open()']]], - ['is_5fpartitioned_149',['is_partitioned',['http://en.cppreference.com/w/cpp/algorithm/is_partitioned.html',0,'std']]], - ['is_5fpermutation_150',['is_permutation',['http://en.cppreference.com/w/cpp/algorithm/is_permutation.html',0,'std']]], - ['is_5fplaceholder_151',['is_placeholder',['http://en.cppreference.com/w/cpp/utility/functional/is_placeholder.html',0,'std']]], - ['is_5fpod_152',['is_pod',['http://en.cppreference.com/w/cpp/types/is_pod.html',0,'std']]], - ['is_5fpointer_153',['is_pointer',['http://en.cppreference.com/w/cpp/types/is_pointer.html',0,'std']]], - ['is_5fpolymorphic_154',['is_polymorphic',['http://en.cppreference.com/w/cpp/types/is_polymorphic.html',0,'std']]], - ['is_5fprefix_155',['is_prefix',['../d0/dbc/namespacestrings_1_1boyer__moore.html#a056122c8fe8fb0f5fca6428d3f7b5c3a',1,'strings::boyer_moore']]], - ['is_5fprime_156',['is_prime',['../dd/d47/namespacemath.html#abd8f794b2229b42876169ff841b6e444',1,'math']]], - ['is_5freference_157',['is_reference',['http://en.cppreference.com/w/cpp/types/is_reference.html',0,'std']]], - ['is_5frvalue_5freference_158',['is_rvalue_reference',['http://en.cppreference.com/w/cpp/types/is_rvalue_reference.html',0,'std']]], - ['is_5fsame_159',['is_same',['http://en.cppreference.com/w/cpp/types/is_same.html',0,'std']]], - ['is_5fscalar_160',['is_scalar',['http://en.cppreference.com/w/cpp/types/is_scalar.html',0,'std']]], - ['is_5fsigned_161',['is_signed',['http://en.cppreference.com/w/cpp/types/is_signed.html',0,'std']]], - ['is_5fsorted_162',['is_sorted',['http://en.cppreference.com/w/cpp/algorithm/is_sorted.html',0,'std']]], - ['is_5fsorted_5funtil_163',['is_sorted_until',['http://en.cppreference.com/w/cpp/algorithm/is_sorted_until.html',0,'std']]], - ['is_5fsquare_164',['is_square',['../dc/d38/ordinary__least__squares__regressor_8cpp.html#a8fa731952b0ee3bc7ec51c51ed21911e',1,'ordinary_least_squares_regressor.cpp']]], - ['is_5fstandard_5flayout_165',['is_standard_layout',['http://en.cppreference.com/w/cpp/types/is_standard_layout.html',0,'std']]], - ['is_5ftrivial_166',['is_trivial',['http://en.cppreference.com/w/cpp/types/is_trivial.html',0,'std']]], - ['is_5ftrivially_5fassignable_167',['is_trivially_assignable',['http://en.cppreference.com/w/cpp/types/is_assignable.html',0,'std']]], - ['is_5ftrivially_5fconstructible_168',['is_trivially_constructible',['http://en.cppreference.com/w/cpp/types/is_constructible.html',0,'std']]], - ['is_5ftrivially_5fcopy_5fassignable_169',['is_trivially_copy_assignable',['http://en.cppreference.com/w/cpp/types/is_copy_assignable.html',0,'std']]], - ['is_5ftrivially_5fcopy_5fconstructible_170',['is_trivially_copy_constructible',['http://en.cppreference.com/w/cpp/types/is_copy_constructible.html',0,'std']]], - ['is_5ftrivially_5fcopyable_171',['is_trivially_copyable',['http://en.cppreference.com/w/cpp/types/is_trivially_copyable.html',0,'std']]], - ['is_5ftrivially_5fdefault_5fconstructible_172',['is_trivially_default_constructible',['http://en.cppreference.com/w/cpp/types/is_default_constructible.html',0,'std']]], - ['is_5ftrivially_5fdestructible_173',['is_trivially_destructible',['http://en.cppreference.com/w/cpp/types/is_destructible.html',0,'std']]], - ['is_5ftrivially_5fmove_5fassignable_174',['is_trivially_move_assignable',['http://en.cppreference.com/w/cpp/types/is_move_assignable.html',0,'std']]], - ['is_5ftrivially_5fmove_5fconstructible_175',['is_trivially_move_constructible',['http://en.cppreference.com/w/cpp/types/is_move_constructible.html',0,'std']]], - ['is_5funion_176',['is_union',['http://en.cppreference.com/w/cpp/types/is_union.html',0,'std']]], - ['is_5funsigned_177',['is_unsigned',['http://en.cppreference.com/w/cpp/types/is_unsigned.html',0,'std']]], - ['is_5funsigned_3c_20uint128_5ft_20_3e_178',['is_unsigned< uint128_t >',['../d5/d25/structstd_1_1is__unsigned_3_01uint128__t_01_4.html',1,'std']]], - ['is_5funsigned_3c_20uint256_5ft_20_3e_179',['is_unsigned< uint256_t >',['../df/d99/structstd_1_1is__unsigned_3_01uint256__t_01_4.html',1,'std']]], - ['is_5fvoid_180',['is_void',['http://en.cppreference.com/w/cpp/types/is_void.html',0,'std']]], - ['is_5fvolatile_181',['is_volatile',['http://en.cppreference.com/w/cpp/types/is_volatile.html',0,'std']]], - ['isalnum_182',['isalnum',['http://en.cppreference.com/w/cpp/string/byte/isalnum.html',0,'std']]], - ['isalpha_183',['isalpha',['http://en.cppreference.com/w/cpp/string/byte/isalpha.html',0,'std']]], - ['isbigendian_184',['isBigEndian',['../d5/d96/md5_8cpp.html#af8e96bde0183c4b0a7ff04668f11e446',1,'hashing::md5']]], - ['isbipartite_185',['isBipartite',['../df/dce/namespacegraph.html#a84b0551489c613a681cc83b34450da4b',1,'graph']]], - ['isblank_186',['isblank',['http://en.cppreference.com/w/cpp/string/byte/isblank.html',0,'std']]], - ['iscntrl_187',['iscntrl',['http://en.cppreference.com/w/cpp/string/byte/iscntrl.html',0,'std']]], - ['isctype_188',['isctype',['http://en.cppreference.com/w/cpp/regex/regex_traits/isctype.html',0,'std::regex_traits']]], - ['iscyclicbfs_189',['isCyclicBFS',['../d3/dbb/class_cycle_check.html#a399292a33edf87499daa52b51315aca5',1,'CycleCheck']]], - ['iscyclicdfs_190',['isCyclicDFS',['../d3/dbb/class_cycle_check.html#ad9a270ffba3a68539b92272c702e3474',1,'CycleCheck']]], - ['iscyclicdfshelper_191',['isCyclicDFSHelper',['../d3/dbb/class_cycle_check.html#a2f4485c08b45e7a21a2e86f9c3f01d8b',1,'CycleCheck']]], - ['isdigit_192',['isDigit',['../da/dc3/linked__list_8cpp.html#ab1a372fe1e605bc0e0987dcdd7361180',1,'data_structures::linked_list']]], - ['isdigit_193',['isdigit',['http://en.cppreference.com/w/cpp/string/byte/isdigit.html',0,'std']]], - ['isempty_194',['isEmpty',['../d1/def/classdata__structures_1_1linked__list_1_1list.html#a454ab4918f579869dfed4bb420a3f897',1,'data_structures::linked_list::list::isEmpty()'],['../d1/def/classdata__structures_1_1linked__list_1_1list.html#a73c52b2243a6c9501af65756123e7149',1,'data_structures::linked_list::list::isEmpty() const']]], - ['isemptyqueue_195',['isEmptyQueue',['../db/da9/classqueue.html#a4bc52ad6ed6b0cc33ad05f87f05f8bec',1,'queue']]], - ['isemptystack_196',['isEmptyStack',['../d1/dc2/classstack.html#a163eb9a6206c874c9bf98d032fca11c5',1,'stack']]], - ['isendofword_197',['isEndofWord',['../d0/d3e/classdata__structures_1_1trie.html#a4cb0f775b5a4bc14a6d39b5c93883eb6',1,'data_structures::trie']]], - ['isfinite_198',['isfinite',['http://en.cppreference.com/w/cpp/numeric/math/isfinite.html',0,'std']]], - ['isfull_199',['IsFull',['../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a4a37381c0ef93d5ae2118b2e554974dd',1,'data_structures::tree_234::Node']]], - ['isgraph_200',['isgraph',['http://en.cppreference.com/w/cpp/string/byte/isgraph.html',0,'std']]], - ['isinf_201',['isinf',['http://en.cppreference.com/w/cpp/numeric/math/isinf.html',0,'std']]], - ['isleaf_202',['IsLeaf',['../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a607d8201b00b142bf1d6a34df2f936e8',1,'data_structures::tree_234::Node']]], - ['islower_203',['islower',['http://en.cppreference.com/w/cpp/string/byte/islower.html',0,'std']]], - ['isnan_204',['isnan',['http://en.cppreference.com/w/cpp/numeric/math/isnan.html',0,'std']]], - ['isnormal_205',['isnormal',['http://en.cppreference.com/w/cpp/numeric/math/isnormal.html',0,'std']]], - ['ispossible_206',['isPossible',['../d3/d05/sudoku__solver_8cpp.html#a07dc6acffd0500de9bdbf16b3ade94b0',1,'backtracking::sudoku_solver']]], - ['ispoweroftwo_207',['isPowerOfTwo',['../d7/d81/namespacebit__manipulation.html#a5032470c9974bbd6ec254bf296530a5f',1,'bit_manipulation']]], - ['isprime_208',['IsPrime',['../da/d7b/primality__test_8cpp.html#a2bfa6adead2bdcbf1dac94cbe08d7eaf',1,'primality_test.cpp']]], - ['isprime_209',['isPrime',['../d8/d53/modular__inverse__fermat__little__theorem_8cpp.html#aba4929409fee35c3cb559e962a544b3e',1,'math::modular_inverse_fermat']]], - ['isprime_210',['isprime',['../db/d0d/prime__factorization_8cpp.html#a7fe38b570a51e448430d6a0f072c2f23',1,'prime_factorization.cpp']]], - ['isprint_211',['isprint',['http://en.cppreference.com/w/cpp/string/byte/isprint.html',0,'std']]], - ['ispunct_212',['ispunct',['http://en.cppreference.com/w/cpp/string/byte/ispunct.html',0,'std']]], - ['issafe_213',['isSafe',['../d3/d40/graph__coloring_8cpp.html#a976efe049deb042bf1f02612e181ab1d',1,'backtracking::graph_coloring::isSafe()'],['../d4/d3e/n__queens_8cpp.html#a5730b6683f6adcf5c5ef75cf53dc7160',1,'backtracking::n_queens::isSafe()']]], - ['issafe_214',['issafe',['../d1/d2a/knight__tour_8cpp.html#af27031fbff093ffd625f64010d98aab2',1,'backtracking::knight_tour']]], - ['issame_215',['isSame',['../dd/d1f/classdsu.html#a64d25c5986742f7c234ed449b2ff7303',1,'dsu::isSame(uint64_t i, uint64_t j)'],['../dd/d1f/classdsu.html#a64d25c5986742f7c234ed449b2ff7303',1,'dsu::isSame(uint64_t i, uint64_t j)']]], - ['isspace_216',['isspace',['http://en.cppreference.com/w/cpp/string/byte/isspace.html',0,'std']]], - ['istream_217',['istream',['http://en.cppreference.com/w/cpp/io/basic_istream.html',0,'std::istream'],['http://en.cppreference.com/w/cpp/io/basic_istream/basic_istream.html',0,'std::istream::istream()']]], - ['istream_5fiterator_218',['istream_iterator',['http://en.cppreference.com/w/cpp/iterator/istream_iterator.html',0,'std']]], - ['istreambuf_5fiterator_219',['istreambuf_iterator',['http://en.cppreference.com/w/cpp/iterator/istreambuf_iterator.html',0,'std']]], - ['istringstream_220',['istringstream',['http://en.cppreference.com/w/cpp/io/basic_istringstream.html',0,'std::istringstream'],['http://en.cppreference.com/w/cpp/io/basic_istringstream/basic_istringstream.html',0,'std::istringstream::istringstream()']]], - ['istrstream_221',['istrstream',['http://en.cppreference.com/w/cpp/io/istrstream.html',0,'std::istrstream'],['http://en.cppreference.com/w/cpp/io/istrstream/istrstream.html',0,'std::istrstream::istrstream()']]], - ['isupper_222',['isupper',['http://en.cppreference.com/w/cpp/string/byte/isupper.html',0,'std']]], - ['isvalidbinarystring_223',['isValidBinaryString',['../de/df6/classgreedy__algorithms_1_1_binary_addition.html#a4cfb595ba80795a9efae0e3f6f5c34d2',1,'greedy_algorithms::BinaryAddition']]], - ['iswalnum_224',['iswalnum',['http://en.cppreference.com/w/cpp/string/wide/iswalnum.html',0,'std']]], - ['iswalpha_225',['iswalpha',['http://en.cppreference.com/w/cpp/string/wide/iswalpha.html',0,'std']]], - ['iswblank_226',['iswblank',['http://en.cppreference.com/w/cpp/string/wide/iswblank.html',0,'std']]], - ['iswcntrl_227',['iswcntrl',['http://en.cppreference.com/w/cpp/string/wide/iswcntrl.html',0,'std']]], - ['iswctype_228',['iswctype',['http://en.cppreference.com/w/cpp/string/wide/iswctype.html',0,'std']]], - ['iswdigit_229',['iswdigit',['http://en.cppreference.com/w/cpp/string/wide/iswdigit.html',0,'std']]], - ['iswgraph_230',['iswgraph',['http://en.cppreference.com/w/cpp/string/wide/iswgraph.html',0,'std']]], - ['iswlower_231',['iswlower',['http://en.cppreference.com/w/cpp/string/wide/iswlower.html',0,'std']]], - ['iswprint_232',['iswprint',['http://en.cppreference.com/w/cpp/string/wide/iswprint.html',0,'std']]], - ['iswpunct_233',['iswpunct',['http://en.cppreference.com/w/cpp/string/wide/iswpunct.html',0,'std']]], - ['iswspace_234',['iswspace',['http://en.cppreference.com/w/cpp/string/wide/iswspace.html',0,'std']]], - ['iswupper_235',['iswupper',['http://en.cppreference.com/w/cpp/string/wide/iswupper.html',0,'std']]], - ['iswxdigit_236',['iswxdigit',['http://en.cppreference.com/w/cpp/string/wide/iswxdigit.html',0,'std']]], - ['isxdigit_237',['isxdigit',['http://en.cppreference.com/w/cpp/string/byte/isxdigit.html',0,'std']]], - ['it_5fternary_5fsearch_238',['it_ternary_search',['../dc/dfe/ternary__search_8cpp.html#ae30dfe2894191bfeffe5b3b1854b95b0',1,'ternary_search.cpp']]], - ['item_239',['Item',['../db/d66/struct_item.html',1,'']]], - ['items_240',['items',['../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a8417d01c88b99ca56289843509fb71f9',1,'data_structures::tree_234::Node']]], - ['iter_5fswap_241',['iter_swap',['http://en.cppreference.com/w/cpp/algorithm/iter_swap.html',0,'std']]], - ['iter_5ftype_242',['iter_type',['http://en.cppreference.com/w/cpp/locale/money_get.html',0,'std::money_get::iter_type'],['http://en.cppreference.com/w/cpp/locale/money_put.html',0,'std::money_put::iter_type'],['http://en.cppreference.com/w/cpp/locale/num_get.html',0,'std::num_get::iter_type'],['http://en.cppreference.com/w/cpp/locale/num_put.html',0,'std::num_put::iter_type'],['http://en.cppreference.com/w/cpp/locale/time_get.html',0,'std::time_get::iter_type'],['http://en.cppreference.com/w/cpp/locale/time_get.html',0,'std::time_get_byname::iter_type'],['http://en.cppreference.com/w/cpp/locale/time_put.html',0,'std::time_put::iter_type'],['http://en.cppreference.com/w/cpp/locale/time_put.html',0,'std::time_put_byname::iter_type']]], - ['iterative_20inorder_20traversal_20of_20a_20tree_243',['Iterative Inorder Traversal of a tree',['../d8/d90/iterative__tree__traversals_8cpp.html#autotoc_md95',1,'Iterative Inorder Traversal of a tree'],['../dc/de1/recursive__tree__traversal_8cpp.html#autotoc_md99',1,'Iterative Inorder Traversal of a tree']]], - ['iterative_20postorder_20traversal_20of_20a_20tree_244',['Iterative Postorder Traversal of a tree',['../d8/d90/iterative__tree__traversals_8cpp.html#autotoc_md94',1,'Iterative Postorder Traversal of a tree'],['../dc/de1/recursive__tree__traversal_8cpp.html#autotoc_md101',1,'Iterative Postorder Traversal of a tree']]], - ['iterative_20preorder_20traversal_20of_20a_20tree_245',['Iterative Preorder Traversal of a tree',['../d8/d90/iterative__tree__traversals_8cpp.html#autotoc_md93',1,'Iterative Preorder Traversal of a tree'],['../dc/de1/recursive__tree__traversal_8cpp.html#autotoc_md100',1,'Iterative Preorder Traversal of a tree']]], - ['iterative_5ffactorial_2ecpp_246',['iterative_factorial.cpp',['../db/d9f/iterative__factorial_8cpp.html',1,'']]], - ['iterative_5ftree_5ftraversals_247',['iterative_tree_traversals',['../dd/d73/namespaceiterative__tree__traversals.html',1,'']]], - ['iterative_5ftree_5ftraversals_2ecpp_248',['iterative_tree_traversals.cpp',['../d8/d90/iterative__tree__traversals_8cpp.html',1,'']]], - ['iterativefactorial_249',['iterativeFactorial',['../dd/d47/namespacemath.html#a2565c745aac2f9561cc6fd9e56d9b77a',1,'math']]], - ['iterativequicksort_250',['iterativeQuickSort',['../d5/d91/namespacesorting.html#a263595fd9a0163b5b997b89fab3a0dc5',1,'sorting']]], - ['iterator_251',['iterator',['http://en.cppreference.com/w/cpp/iterator/iterator.html',0,'std']]], - ['iterator_5ftraits_252',['iterator_traits',['http://en.cppreference.com/w/cpp/iterator/iterator_traits.html',0,'std']]], - ['iword_253',['iword',['http://en.cppreference.com/w/cpp/io/ios_base/iword.html',0,'std::basic_ofstream::iword()'],['http://en.cppreference.com/w/cpp/io/ios_base/iword.html',0,'std::fstream::iword()'],['http://en.cppreference.com/w/cpp/io/ios_base/iword.html',0,'std::wostream::iword()'],['http://en.cppreference.com/w/cpp/io/ios_base/iword.html',0,'std::basic_ostringstream::iword()'],['http://en.cppreference.com/w/cpp/io/ios_base/iword.html',0,'std::basic_ios::iword()'],['http://en.cppreference.com/w/cpp/io/ios_base/iword.html',0,'std::ostringstream::iword()'],['http://en.cppreference.com/w/cpp/io/ios_base/iword.html',0,'std::basic_fstream::iword()'],['http://en.cppreference.com/w/cpp/io/ios_base/iword.html',0,'std::iostream::iword()'],['http://en.cppreference.com/w/cpp/io/ios_base/iword.html',0,'std::ios_base::iword()'],['http://en.cppreference.com/w/cpp/io/ios_base/iword.html',0,'std::wistream::iword()'],['http://en.cppreference.com/w/cpp/io/ios_base/iword.html',0,'std::stringstream::iword()'],['http://en.cppreference.com/w/cpp/io/ios_base/iword.html',0,'std::ostream::iword()'],['http://en.cppreference.com/w/cpp/io/ios_base/iword.html',0,'std::wifstream::iword()'],['http://en.cppreference.com/w/cpp/io/ios_base/iword.html',0,'std::basic_istream::iword()'],['http://en.cppreference.com/w/cpp/io/ios_base/iword.html',0,'std::strstream::iword()'],['http://en.cppreference.com/w/cpp/io/ios_base/iword.html',0,'std::basic_stringstream::iword()'],['http://en.cppreference.com/w/cpp/io/ios_base/iword.html',0,'std::wostringstream::iword()'],['http://en.cppreference.com/w/cpp/io/ios_base/iword.html',0,'std::istrstream::iword()'],['http://en.cppreference.com/w/cpp/io/ios_base/iword.html',0,'std::basic_ostream::iword()'],['http://en.cppreference.com/w/cpp/io/ios_base/iword.html',0,'std::wiostream::iword()'],['http://en.cppreference.com/w/cpp/io/ios_base/iword.html',0,'std::ofstream::iword()'],['http://en.cppreference.com/w/cpp/io/ios_base/iword.html',0,'std::basic_istringstream::iword()'],['http://en.cppreference.com/w/cpp/io/ios_base/iword.html',0,'std::basic_ifstream::iword()'],['http://en.cppreference.com/w/cpp/io/ios_base/iword.html',0,'std::istringstream::iword()'],['http://en.cppreference.com/w/cpp/io/ios_base/iword.html',0,'std::istream::iword()'],['http://en.cppreference.com/w/cpp/io/ios_base/iword.html',0,'std::ostrstream::iword()'],['http://en.cppreference.com/w/cpp/io/ios_base/iword.html',0,'std::wfstream::iword()'],['http://en.cppreference.com/w/cpp/io/ios_base/iword.html',0,'std::basic_iostream::iword()'],['http://en.cppreference.com/w/cpp/io/ios_base/iword.html',0,'std::wofstream::iword()'],['http://en.cppreference.com/w/cpp/io/ios_base/iword.html',0,'std::wstringstream::iword()'],['http://en.cppreference.com/w/cpp/io/ios_base/iword.html',0,'std::wistringstream::iword()'],['http://en.cppreference.com/w/cpp/io/ios_base/iword.html',0,'std::ifstream::iword()']]] + ['identity_5ffunction_1',['identity_function',['../d2/d58/neural__network_8cpp.html#a32c00da08f2cf641dd336270f6e3c407',1,'machine_learning::neural_network::util_functions']]], + ['imag_2',['imag',['../da/d5a/class_complex.html#af8aacf982e2e6c142921bc850f6dc974',1,'Complex']]], + ['imod_3',['imod',['../d6/d2d/modular__inverse__simple_8cpp.html#a618b198f74a88ab0023355b3a05d9ad6',1,'modular_inverse_simple.cpp']]], + ['implementation_4',['Implementation',['../d4/d9f/selection__sort__recursive_8cpp.html#autotoc_md117',1,'']]], + ['in_20a_20new_20directory_5',['Integrating CMake in a new directory',['../d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md34',1,'']]], + ['in_5frange_6',['in_range',['../dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle.html#a48d054230468b79037964f474d842b6e',1,'machine_learning::aystar_search::EightPuzzle']]], + ['increase_5ffrequency_7',['increase_frequency',['../df/d8f/classothers_1_1_cache_1_1_l_f_u_cache.html#a16a25c102554c5653721a5112ef676c9',1,'others::Cache::LFUCache']]], + ['inf_8',['INF',['../d7/d07/bidirectional__dijkstra_8cpp.html#a330a2b0a904f01802ada1f8f3b28e76c',1,'INF: bidirectional_dijkstra.cpp'],['../da/d4b/depth__first__search__with__stack_8cpp.html#a330a2b0a904f01802ada1f8f3b28e76c',1,'INF: depth_first_search_with_stack.cpp']]], + ['info_9',['Info',['../da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html',1,'machine_learning::aystar_search::AyStarSearch< Puzzle >::Info'],['../da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search.html#acd897e6e519849edb9fb0d1e1bfa881a',1,'machine_learning::aystar_search::AyStarSearch::Info'],['../da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html#aaa7ea27346659f0abe2df82ca57fc5a7',1,'machine_learning::aystar_search::AyStarSearch::Info::Info()=default'],['../da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html#a695e4314ebc3ab58e13004dc63599fe8',1,'machine_learning::aystar_search::AyStarSearch::Info::Info(const Puzzle &A)'],['../da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html#ad3950824936488f66408313b1f8a8ca8',1,'machine_learning::aystar_search::AyStarSearch::Info::Info(const Puzzle &A, size_t h_value, size_t d)'],['../da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html#a572de12115e39e34dde6e68b707d59f5',1,'machine_learning::aystar_search::AyStarSearch::Info::Info(const Info &A)'],['../da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html#a6abc89925ae7055a63b428e61525ad7a',1,'machine_learning::aystar_search::AyStarSearch::Info::Info(const Info &&A) noexcept']]], + ['init_10',['init',['../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html#ad22d760a5a33545a70e7ea5e1786c8dc',1,'range_queries::heavy_light_decomposition::Tree::init()'],['../d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d.html#ae9e979edd69678b85665c01e2ee97828',1,'range_queries::heavy_light_decomposition::HLD::init()'],['../d8/d41/namespacegames_1_1memory__game.html#ad573c8ae66ab66156d03e5e81bbba214',1,'games::memory_game::init()']]], + ['init_5fbad_5fchar_11',['init_bad_char',['../d0/dbc/namespacestrings_1_1boyer__moore.html#a2f6688c9bb3e692297a3aa09cebc1c00',1,'strings::boyer_moore']]], + ['init_5fgood_5fsuffix_12',['init_good_suffix',['../d0/dbc/namespacestrings_1_1boyer__moore.html#aa709cf7fca02b7d3e1888423d5f739a1',1,'strings::boyer_moore']]], + ['init_5fpattern_13',['init_pattern',['../d0/dbc/namespacestrings_1_1boyer__moore.html#a0b165af1dc341289fd705be4c67728f8',1,'strings::boyer_moore']]], + ['inorder_20traversal_20of_20a_20tree_14',['Inorder Traversal of a tree',['../d8/d90/iterative__tree__traversals_8cpp.html#autotoc_md95',1,'Iterative Inorder Traversal of a tree'],['../dc/de1/recursive__tree__traversal_8cpp.html#autotoc_md99',1,'Iterative Inorder Traversal of a tree']]], + ['inorder_5fsuccessor_5fof_5fbst_15',['inorder_successor_of_bst',['../dd/d74/namespaceinorder__successor__of__bst.html',1,'']]], + ['inorder_5fsuccessor_5fof_5fbst_2ecpp_16',['inorder_successor_of_bst.cpp',['../d4/d32/inorder__successor__of__bst_8cpp.html',1,'']]], + ['inorderiterative_17',['inOrderIterative',['../d9/d12/classothers_1_1iterative__tree__traversals_1_1_binary_tree.html#a0c33f2c1a3a3deb486a1c33ee5239499',1,'others::iterative_tree_traversals::BinaryTree']]], + ['insameunion_18',['InSameUnion',['../de/d23/disjoint__set_8cpp.html#a2fb0a7cd26a477e2d48ba7e0118bc985',1,'disjoint_set.cpp']]], + ['insert_19',['Insert',['../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a6749ebb40710c9752a2771eda03c6b3e',1,'data_structures::tree_234::Tree234::Insert(int64_t item)'],['../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a02df91964915ca97609d35f847faff5f',1,'data_structures::tree_234::Tree234::Insert(Node *tree, int64_t item)'],['../d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html#a7ecb75b985b1ffc575a880274f855b1c',1,'operations_on_datastructures::trie_operations::Tnode::Insert()'],['../d4/d32/inorder__successor__of__bst_8cpp.html#a3ae0bea4123fd2ce155108e88f2ef78c',1,'operations_on_datastructures::inorder_traversal_of_bst::Insert()']]], + ['insert_20',['insert',['../d9/dde/classbinary__search__tree.html#a9d1e7e10efa74d741bf48cf032df3778',1,'binary_search_tree::insert(std::unique_ptr< bst_node > &node, T new_value)'],['../d9/dde/classbinary__search__tree.html#a8168edf29316f2b436eac1fc416c52e0',1,'binary_search_tree::insert(T new_value)'],['../d5/dab/structdata__structures_1_1list__array_1_1list.html#aa960d714d449612f25256850d72325f1',1,'data_structures::list_array::list::insert()'],['../d1/def/classdata__structures_1_1linked__list_1_1list.html#aa69707af46eb6d410eb3a54ee58e1ed1',1,'data_structures::linked_list::list::insert()'],['../d5/d95/structdata__structures_1_1treap_1_1_treap.html#a5e884d2686aff501ef589b0d1185492f',1,'data_structures::treap::Treap::insert()'],['../dd/d2f/class_trie.html#afd8b79959009b554e98ea7128b2886f2',1,'Trie::insert()'],['../d0/d3e/classdata__structures_1_1trie.html#a0ab94bc6417e3f59fab33cea5b64d546',1,'data_structures::trie::insert()'],['../d3/d26/classdata__structures_1_1trie__using__hashmap_1_1_trie.html#abcae0a4456e7f583ce716e3ef466dfd2',1,'data_structures::trie_using_hashmap::Trie::insert()'],['../d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list.html#ac38565472a07d07f63ec0d2fd8a69d4d',1,'operations_on_datastructures::circular_linked_list::CircularLinkedList::insert(const std::vector< int64_t > &values)'],['../d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list.html#a3b7bbb0918c261bc216aef9e6dd39aa4',1,'operations_on_datastructures::circular_linked_list::CircularLinkedList::insert(int64_t data)'],['../d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list.html#a15150d6d933c58190c9c1dd7d22c51ae',1,'operations_on_datastructures::circular_linked_list::CircularLinkedList::insert(Node *node)'],['../de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree.html#adb2b6be741b0500ee75d89b6d06b5d50',1,'operations_on_datastructures::reverse_binary_tree::BinaryTree::insert()'],['../df/d34/classprobability_1_1windowed__median_1_1_windowed_median.html#a6b52b7851750f28d53508e63c52a69f7',1,'probability::windowed_median::WindowedMedian::insert()'],['../d8/dee/avltree_8cpp.html#a2473fe7416332495b2678ebe89652e4b',1,'insert(): avltree.cpp']]], + ['insert_5felement_21',['insert_element',['../d8/d77/namespacemachine__learning.html#a496302e3371aa7b478cb7d5917904bdd',1,'machine_learning']]], + ['insertatthebeginning_22',['insertAtTheBeginning',['../d3/dce/linkedlist__implentation__usingarray_8cpp.html#afcb07da7984e20b3207934696791f5df',1,'linkedlist_implentation_usingarray.cpp']]], + ['insertelement_23',['insertElement',['../d4/d90/classdata__structures_1_1_skip_list.html#a40a4042bdf0b6683b5f21ae7854de8a9',1,'data_structures::SkipList']]], + ['insertion_5fsort_2ecpp_24',['insertion_sort.cpp',['../dd/d0d/insertion__sort_8cpp.html',1,'']]], + ['insertion_5fsort_5frecursive_2ecpp_25',['insertion_sort_recursive.cpp',['../dd/d89/insertion__sort__recursive_8cpp.html',1,'']]], + ['insertionsort_26',['InsertionSort',['../de/d7b/merge__insertion__sort_8cpp.html#a0cba4fbf287ab8cb978ed7f8fef886b1',1,'sorting::merge_insertion']]], + ['insertionsort_27',['insertionSort',['../d5/d91/namespacesorting.html#a78cb2f3b97b6db2c062b2a1df05c9ea9',1,'sorting::insertionSort(T *arr, int n)'],['../d5/d91/namespacesorting.html#a8fe6bac9e03f58abcc2ce26ef3de1b5f',1,'sorting::insertionSort(std::vector< T > *arr)']]], + ['insertionsort_5fbinsrch_28',['insertionSort_binsrch',['../d5/d91/namespacesorting.html#a5f4bc75cca6dd8294af2d0e328006c68',1,'sorting']]], + ['insertitem_29',['InsertItem',['../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a8e809ae85ae00e937f67ddb76951b6bb',1,'data_structures::tree_234::Node']]], + ['insertitembyindex_30',['InsertItemByIndex',['../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a306a30931f54c84098b38d6bc8f4a956',1,'data_structures::tree_234::Node']]], + ['insertkey_31',['insertKey',['../d2/d05/class_min_heap.html#aef78f3384f5a0ae880ad0883d2d44b82',1,'MinHeap']]], + ['insertpostmerge_32',['InsertPostMerge',['../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#aa7e5e00033f38006a224f30bdbf3f703',1,'data_structures::tree_234::Tree234']]], + ['insertpresplit_33',['InsertPreSplit',['../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a07811b3c564a3a443b106c9aa717629d',1,'data_structures::tree_234::Tree234']]], + ['inserttosorted_34',['insertToSorted',['../df/d34/classprobability_1_1windowed__median_1_1_windowed_median.html#a3a7f57679e9cd6c9f042dfd0612b2b24',1,'probability::windowed_median::WindowedMedian']]], + ['integral_5fapprox_35',['integral_approx',['../dd/d47/namespacemath.html#aec65db4e5c7317323227f026fe50ef11',1,'math']]], + ['integral_5fapproximation_2ecpp_36',['integral_approximation.cpp',['../d1/de9/integral__approximation_8cpp.html',1,'']]], + ['integral_5fapproximation2_2ecpp_37',['integral_approximation2.cpp',['../db/d40/integral__approximation2_8cpp.html',1,'']]], + ['integral_5fmonte_5fcarlo_38',['integral_monte_carlo',['../db/d40/integral__approximation2_8cpp.html#af7da9ba8932f1f48b9bbc2d80471af51',1,'math::monte_carlo']]], + ['integrating_20cmake_20in_20a_20new_20directory_39',['Integrating CMake in a new directory',['../d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md34',1,'']]], + ['interactive_40',['interactive',['../d5/d96/md5_8cpp.html#ac9e1a11f44135b890dd10a00e73b5661',1,'interactive(): md5.cpp'],['../d8/d7a/sha1_8cpp.html#ac9e1a11f44135b890dd10a00e73b5661',1,'interactive(): sha1.cpp']]], + ['interface_41',['User-interface',['../dc/d64/md__coding_guidelines.html#autotoc_md18',1,'']]], + ['interpolation_5fsearch_42',['interpolation_search',['../d1/d64/namespaceinterpolation__search.html',1,'']]], + ['interpolation_5fsearch2_2ecpp_43',['interpolation_search2.cpp',['../df/d39/interpolation__search2_8cpp.html',1,'']]], + ['interpolationsearch_44',['InterpolationSearch',['../df/d39/interpolation__search2_8cpp.html#aa3ec659ec8394d186c761df81ad1f629',1,'interpolation_search2.cpp']]], + ['intersection_5fof_5ftwo_5farrays_2ecpp_45',['intersection_of_two_arrays.cpp',['../de/dc5/intersection__of__two__arrays_8cpp.html',1,'']]], + ['inv_5fsqrt_2ecpp_46',['inv_sqrt.cpp',['../d6/db8/inv__sqrt_8cpp.html',1,'']]], + ['inverse_5fcumulative_5fdistribution_47',['inverse_cumulative_distribution',['../da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution.html#aaf762e88c66918d7afda4234f28a7ddf',1,'probability::geometric_dist::geometric_distribution']]], + ['inverse_5ffast_5ffourier_5ftransform_2ecpp_48',['inverse_fast_fourier_transform.cpp',['../d9/d37/inverse__fast__fourier__transform_8cpp.html',1,'']]], + ['inversefastfouriertransform_49',['InverseFastFourierTransform',['../d1/de0/namespacenumerical__methods.html#aee56dc85997b8cd42bad71a5d6bd2d93',1,'numerical_methods']]], + ['inversion_50',['inversion',['../d9/d13/namespaceinversion.html',1,'']]], + ['is2node_51',['Is2Node',['../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#afd9f83e2d5d7f22f79c1348e98914631',1,'data_structures::tree_234::Node']]], + ['is34node_52',['Is34Node',['../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a6c5f929afcbad5219646990edee22e18',1,'data_structures::tree_234::Node']]], + ['is_5farithmetic_3c_20uint128_5ft_20_3e_53',['is_arithmetic< uint128_t >',['../d2/dfc/structstd_1_1is__arithmetic_3_01uint128__t_01_4.html',1,'std']]], + ['is_5farithmetic_3c_20uint256_5ft_20_3e_54',['is_arithmetic< uint256_t >',['../dc/d6d/structstd_1_1is__arithmetic_3_01uint256__t_01_4.html',1,'std']]], + ['is_5farmstrong_55',['is_armstrong',['../dd/d24/namespacedynamic__programming.html#af046365a8d77a1267acc082f86135a26',1,'dynamic_programming']]], + ['is_5fbipartite_56',['is_bipartite',['../de/d00/classgraph_1_1is__graph__bipartite_1_1_graph.html#ad475f8b838693812f7569a490729f373',1,'graph::is_graph_bipartite::Graph']]], + ['is_5ffactorial_57',['is_factorial',['../dd/d47/namespacemath.html#a6c72f756a7bf1b9043c357e3fe7814ca',1,'math']]], + ['is_5fgraph_5fbipartite_58',['is_graph_bipartite',['../de/d83/namespaceis__graph__bipartite.html',1,'']]], + ['is_5fgraph_5fbipartite_2ecpp_59',['is_graph_bipartite.cpp',['../d6/dd8/is__graph__bipartite_8cpp.html',1,'']]], + ['is_5fhappy_60',['is_happy',['../db/df3/happy__number_8cpp.html#a00ccdb1166a7c83ac3c33ac67a2532b7',1,'happy_number.cpp']]], + ['is_5fintegral_3c_20uint128_5ft_20_3e_61',['is_integral< uint128_t >',['../d2/dd4/structstd_1_1is__integral_3_01uint128__t_01_4.html',1,'std']]], + ['is_5fintegral_3c_20uint256_5ft_20_3e_62',['is_integral< uint256_t >',['../d7/d47/structstd_1_1is__integral_3_01uint256__t_01_4.html',1,'std']]], + ['is_5fnumber_63',['is_number',['../d8/d41/namespacegames_1_1memory__game.html#a33167bb9cce6d527b478b4f6ae8c3f59',1,'games::memory_game::is_number()'],['../d7/d75/postfix__evaluation_8cpp.html#a4c27f949c9d6659be9f5bd2ccbe1360a',1,'others::postfix_expression::is_number()']]], + ['is_5fprefix_64',['is_prefix',['../d0/dbc/namespacestrings_1_1boyer__moore.html#a056122c8fe8fb0f5fca6428d3f7b5c3a',1,'strings::boyer_moore']]], + ['is_5fprime_65',['is_prime',['../dd/d47/namespacemath.html#abd8f794b2229b42876169ff841b6e444',1,'math']]], + ['is_5fsquare_66',['is_square',['../dc/d38/ordinary__least__squares__regressor_8cpp.html#a8fa731952b0ee3bc7ec51c51ed21911e',1,'ordinary_least_squares_regressor.cpp']]], + ['is_5funsigned_3c_20uint128_5ft_20_3e_67',['is_unsigned< uint128_t >',['../d5/d25/structstd_1_1is__unsigned_3_01uint128__t_01_4.html',1,'std']]], + ['is_5funsigned_3c_20uint256_5ft_20_3e_68',['is_unsigned< uint256_t >',['../df/d99/structstd_1_1is__unsigned_3_01uint256__t_01_4.html',1,'std']]], + ['isbigendian_69',['isBigEndian',['../d5/d96/md5_8cpp.html#af8e96bde0183c4b0a7ff04668f11e446',1,'hashing::md5']]], + ['isbipartite_70',['isBipartite',['../df/dce/namespacegraph.html#a84b0551489c613a681cc83b34450da4b',1,'graph']]], + ['iscyclicbfs_71',['isCyclicBFS',['../d3/dbb/class_cycle_check.html#a399292a33edf87499daa52b51315aca5',1,'CycleCheck']]], + ['iscyclicdfs_72',['isCyclicDFS',['../d3/dbb/class_cycle_check.html#ad9a270ffba3a68539b92272c702e3474',1,'CycleCheck']]], + ['iscyclicdfshelper_73',['isCyclicDFSHelper',['../d3/dbb/class_cycle_check.html#a2f4485c08b45e7a21a2e86f9c3f01d8b',1,'CycleCheck']]], + ['isdigit_74',['isDigit',['../da/dc3/linked__list_8cpp.html#ab1a372fe1e605bc0e0987dcdd7361180',1,'data_structures::linked_list']]], + ['isempty_75',['isEmpty',['../d1/def/classdata__structures_1_1linked__list_1_1list.html#a454ab4918f579869dfed4bb420a3f897',1,'data_structures::linked_list::list::isEmpty()'],['../d1/def/classdata__structures_1_1linked__list_1_1list.html#a73c52b2243a6c9501af65756123e7149',1,'data_structures::linked_list::list::isEmpty() const']]], + ['isemptyqueue_76',['isEmptyQueue',['../db/da9/classqueue.html#a4bc52ad6ed6b0cc33ad05f87f05f8bec',1,'queue']]], + ['isemptystack_77',['isEmptyStack',['../d1/dc2/classstack.html#a163eb9a6206c874c9bf98d032fca11c5',1,'stack']]], + ['isendofword_78',['isEndofWord',['../d0/d3e/classdata__structures_1_1trie.html#a4cb0f775b5a4bc14a6d39b5c93883eb6',1,'data_structures::trie']]], + ['isfull_79',['IsFull',['../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a4a37381c0ef93d5ae2118b2e554974dd',1,'data_structures::tree_234::Node']]], + ['isleaf_80',['IsLeaf',['../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a607d8201b00b142bf1d6a34df2f936e8',1,'data_structures::tree_234::Node']]], + ['ispossible_81',['isPossible',['../d3/d05/sudoku__solver_8cpp.html#a07dc6acffd0500de9bdbf16b3ade94b0',1,'backtracking::sudoku_solver']]], + ['ispoweroftwo_82',['isPowerOfTwo',['../d7/d81/namespacebit__manipulation.html#a5032470c9974bbd6ec254bf296530a5f',1,'bit_manipulation']]], + ['isprime_83',['IsPrime',['../da/d7b/primality__test_8cpp.html#a2bfa6adead2bdcbf1dac94cbe08d7eaf',1,'primality_test.cpp']]], + ['isprime_84',['isPrime',['../d8/d53/modular__inverse__fermat__little__theorem_8cpp.html#aba4929409fee35c3cb559e962a544b3e',1,'math::modular_inverse_fermat']]], + ['isprime_85',['isprime',['../db/d0d/prime__factorization_8cpp.html#a7fe38b570a51e448430d6a0f072c2f23',1,'prime_factorization.cpp']]], + ['issafe_86',['isSafe',['../d3/d40/graph__coloring_8cpp.html#a976efe049deb042bf1f02612e181ab1d',1,'backtracking::graph_coloring::isSafe()'],['../d4/d3e/n__queens_8cpp.html#a5730b6683f6adcf5c5ef75cf53dc7160',1,'backtracking::n_queens::isSafe()']]], + ['issafe_87',['issafe',['../d1/d2a/knight__tour_8cpp.html#af27031fbff093ffd625f64010d98aab2',1,'backtracking::knight_tour']]], + ['issame_88',['isSame',['../dd/d1f/classdsu.html#a64d25c5986742f7c234ed449b2ff7303',1,'dsu::isSame(uint64_t i, uint64_t j)'],['../dd/d1f/classdsu.html#a64d25c5986742f7c234ed449b2ff7303',1,'dsu::isSame(uint64_t i, uint64_t j)']]], + ['isvalidbinarystring_89',['isValidBinaryString',['../de/df6/classgreedy__algorithms_1_1_binary_addition.html#a4cfb595ba80795a9efae0e3f6f5c34d2',1,'greedy_algorithms::BinaryAddition']]], + ['it_5fternary_5fsearch_90',['it_ternary_search',['../dc/dfe/ternary__search_8cpp.html#ae30dfe2894191bfeffe5b3b1854b95b0',1,'ternary_search.cpp']]], + ['item_91',['Item',['../db/d66/struct_item.html',1,'']]], + ['items_92',['items',['../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a8417d01c88b99ca56289843509fb71f9',1,'data_structures::tree_234::Node']]], + ['iterative_20inorder_20traversal_20of_20a_20tree_93',['Iterative Inorder Traversal of a tree',['../d8/d90/iterative__tree__traversals_8cpp.html#autotoc_md95',1,'Iterative Inorder Traversal of a tree'],['../dc/de1/recursive__tree__traversal_8cpp.html#autotoc_md99',1,'Iterative Inorder Traversal of a tree']]], + ['iterative_20postorder_20traversal_20of_20a_20tree_94',['Iterative Postorder Traversal of a tree',['../d8/d90/iterative__tree__traversals_8cpp.html#autotoc_md94',1,'Iterative Postorder Traversal of a tree'],['../dc/de1/recursive__tree__traversal_8cpp.html#autotoc_md101',1,'Iterative Postorder Traversal of a tree']]], + ['iterative_20preorder_20traversal_20of_20a_20tree_95',['Iterative Preorder Traversal of a tree',['../d8/d90/iterative__tree__traversals_8cpp.html#autotoc_md93',1,'Iterative Preorder Traversal of a tree'],['../dc/de1/recursive__tree__traversal_8cpp.html#autotoc_md100',1,'Iterative Preorder Traversal of a tree']]], + ['iterative_5ffactorial_2ecpp_96',['iterative_factorial.cpp',['../db/d9f/iterative__factorial_8cpp.html',1,'']]], + ['iterative_5ftree_5ftraversals_97',['iterative_tree_traversals',['../dd/d73/namespaceiterative__tree__traversals.html',1,'']]], + ['iterative_5ftree_5ftraversals_2ecpp_98',['iterative_tree_traversals.cpp',['../d8/d90/iterative__tree__traversals_8cpp.html',1,'']]], + ['iterativefactorial_99',['iterativeFactorial',['../dd/d47/namespacemath.html#a2565c745aac2f9561cc6fd9e56d9b77a',1,'math']]], + ['iterativequicksort_100',['iterativeQuickSort',['../d5/d91/namespacesorting.html#a263595fd9a0163b5b997b89fab3a0dc5',1,'sorting']]] ]; diff --git a/search/all_f.js b/search/all_f.js index aafac8b35..3e853819d 100644 --- a/search/all_f.js +++ b/search/all_f.js @@ -2,10 +2,7 @@ var searchData= [ ['jarvis_0',['jarvis',['../d5/da7/namespacejarvis.html',1,'']]], ['jarvis_5falgorithm_2ecpp_1',['jarvis_algorithm.cpp',['../d4/d8d/jarvis__algorithm_8cpp.html',1,'']]], - ['jmp_5fbuf_2',['jmp_buf',['http://en.cppreference.com/w/cpp/utility/program/jmp_buf.html',0,'std']]], - ['join_3',['join',['http://en.cppreference.com/w/cpp/thread/thread/join.html',0,'std::thread']]], - ['joinable_4',['joinable',['http://en.cppreference.com/w/cpp/thread/thread/joinable.html',0,'std::thread']]], - ['jump_5fgame_2ecpp_5',['jump_game.cpp',['../d6/dba/jump__game_8cpp.html',1,'']]], - ['jump_5fsearch_2ecpp_6',['jump_search.cpp',['../d2/d22/jump__search_8cpp.html',1,'']]], - ['jumpsearch_7',['jumpSearch',['../d2/d22/jump__search_8cpp.html#ab49fd8f401bfc71f63b74711390cccf0',1,'jump_search.cpp']]] + ['jump_5fgame_2ecpp_2',['jump_game.cpp',['../d6/dba/jump__game_8cpp.html',1,'']]], + ['jump_5fsearch_2ecpp_3',['jump_search.cpp',['../d2/d22/jump__search_8cpp.html',1,'']]], + ['jumpsearch_4',['jumpSearch',['../d2/d22/jump__search_8cpp.html#ab49fd8f401bfc71f63b74711390cccf0',1,'jump_search.cpp']]] ]; diff --git a/search/classes_0.js b/search/classes_0.js index f69b7c4d8..4fda64cb2 100644 --- a/search/classes_0.js +++ b/search/classes_0.js @@ -1,33 +1,5 @@ var searchData= [ ['adaline_0',['adaline',['../d6/d30/classmachine__learning_1_1adaline.html',1,'machine_learning']]], - ['add_5fconst_1',['add_const',['http://en.cppreference.com/w/cpp/types/add_cv.html',0,'std']]], - ['add_5fcv_2',['add_cv',['http://en.cppreference.com/w/cpp/types/add_cv.html',0,'std']]], - ['add_5flvalue_5freference_3',['add_lvalue_reference',['http://en.cppreference.com/w/cpp/types/add_reference.html',0,'std']]], - ['add_5fpointer_4',['add_pointer',['http://en.cppreference.com/w/cpp/types/add_pointer.html',0,'std']]], - ['add_5frvalue_5freference_5',['add_rvalue_reference',['http://en.cppreference.com/w/cpp/types/add_reference.html',0,'std']]], - ['add_5fvolatile_6',['add_volatile',['http://en.cppreference.com/w/cpp/types/add_cv.html',0,'std']]], - ['adopt_5flock_5ft_7',['adopt_lock_t',['http://en.cppreference.com/w/cpp/thread/lock_tag_t.html',0,'std']]], - ['aligned_5fstorage_8',['aligned_storage',['http://en.cppreference.com/w/cpp/types/aligned_storage.html',0,'std']]], - ['aligned_5funion_9',['aligned_union',['http://en.cppreference.com/w/cpp/types/aligned_union.html',0,'std']]], - ['alignment_5fof_10',['alignment_of',['http://en.cppreference.com/w/cpp/types/alignment_of.html',0,'std']]], - ['allocator_11',['allocator',['http://en.cppreference.com/w/cpp/memory/allocator.html',0,'std']]], - ['allocator_5farg_5ft_12',['allocator_arg_t',['http://en.cppreference.com/w/cpp/memory/allocator_arg_t.html',0,'std']]], - ['allocator_5ftraits_13',['allocator_traits',['http://en.cppreference.com/w/cpp/memory/allocator_traits.html',0,'std']]], - ['array_14',['array',['http://en.cppreference.com/w/cpp/container/array.html',0,'std']]], - ['array_3c_20data_5fstructures_3a_3atree_5f234_3a_3anode_20_2a_2c_204_20_3e_15',['array< data_structures::tree_234::Node *, 4 >',['http://en.cppreference.com/w/cpp/container/array.html',0,'std']]], - ['array_3c_20float_2c_2020_20_3e_16',['array< float, 20 >',['http://en.cppreference.com/w/cpp/container/array.html',0,'std']]], - ['array_3c_20int_2c_20maxnode_20_3e_17',['array< int, maxNode >',['http://en.cppreference.com/w/cpp/container/array.html',0,'std']]], - ['array_3c_20int16_5ft_2c_20max_5fsize_20_3e_18',['array< int16_t, max_size >',['http://en.cppreference.com/w/cpp/container/array.html',0,'std']]], - ['array_3c_20int64_5ft_2c_203_20_3e_19',['array< int64_t, 3 >',['http://en.cppreference.com/w/cpp/container/array.html',0,'std']]], - ['array_3c_20int64_5ft_2c_20n_20_3e_20',['array< int64_t, N >',['http://en.cppreference.com/w/cpp/container/array.html',0,'std']]], - ['array_3c_20std_3a_3aarray_3c_20int_2c_202_20_3e_2c_20maxnode_20_3e_21',['array< std::array< int, 2 >, maxNode >',['http://en.cppreference.com/w/cpp/container/array.html',0,'std']]], - ['array_3c_20std_3a_3aarray_3c_20int64_5ft_2c_20n_20_3e_2c_20m_20_3e_22',['array< std::array< int64_t, N >, M >',['http://en.cppreference.com/w/cpp/container/array.html',0,'std']]], - ['array_3c_20std_3a_3aarray_3c_20uint32_5ft_2c_203_20_3e_2c_203_20_3e_23',['array< std::array< uint32_t, 3 >, 3 >',['http://en.cppreference.com/w/cpp/container/array.html',0,'std']]], - ['array_3c_20uint32_5ft_2c_208_20_3e_24',['array< uint32_t, 8 >',['http://en.cppreference.com/w/cpp/container/array.html',0,'std']]], - ['array_3c_20uint64_5ft_2c_20n_20_3e_25',['array< uint64_t, N >',['http://en.cppreference.com/w/cpp/container/array.html',0,'std']]], - ['atomic_26',['atomic',['http://en.cppreference.com/w/cpp/atomic/atomic.html',0,'std']]], - ['atomic_5fflag_27',['atomic_flag',['http://en.cppreference.com/w/cpp/atomic/atomic_flag.html',0,'std']]], - ['auto_5fptr_28',['auto_ptr',['http://en.cppreference.com/w/cpp/memory/auto_ptr.html',0,'std']]], - ['aystarsearch_29',['AyStarSearch',['../da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search.html',1,'machine_learning::aystar_search']]] + ['aystarsearch_1',['AyStarSearch',['../da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search.html',1,'machine_learning::aystar_search']]] ]; diff --git a/search/classes_1.js b/search/classes_1.js index 51097c7fd..de21f2437 100644 --- a/search/classes_1.js +++ b/search/classes_1.js @@ -1,71 +1,11 @@ var searchData= [ - ['back_5finsert_5fiterator_0',['back_insert_iterator',['http://en.cppreference.com/w/cpp/iterator/back_insert_iterator.html',0,'std']]], - ['bad_5falloc_1',['bad_alloc',['http://en.cppreference.com/w/cpp/memory/new/bad_alloc.html',0,'std']]], - ['bad_5farray_5flength_2',['bad_array_length',['http://en.cppreference.com/w/cpp/memory/new/bad_array_length.html',0,'std']]], - ['bad_5farray_5fnew_5flength_3',['bad_array_new_length',['http://en.cppreference.com/w/cpp/memory/new/bad_array_new_length.html',0,'std']]], - ['bad_5fcast_4',['bad_cast',['http://en.cppreference.com/w/cpp/types/bad_cast.html',0,'std']]], - ['bad_5fexception_5',['bad_exception',['http://en.cppreference.com/w/cpp/error/bad_exception.html',0,'std']]], - ['bad_5ffunction_5fcall_6',['bad_function_call',['http://en.cppreference.com/w/cpp/utility/functional/bad_function_call.html',0,'std']]], - ['bad_5foptional_5faccess_7',['bad_optional_access',['http://en.cppreference.com/w/cpp/utility/bad_optional_access.html',0,'std']]], - ['bad_5ftypeid_8',['bad_typeid',['http://en.cppreference.com/w/cpp/types/bad_typeid.html',0,'std']]], - ['bad_5fweak_5fptr_9',['bad_weak_ptr',['http://en.cppreference.com/w/cpp/memory/bad_weak_ptr.html',0,'std']]], - ['basic_5ffilebuf_10',['basic_filebuf',['http://en.cppreference.com/w/cpp/io/basic_filebuf.html',0,'std']]], - ['basic_5ffstream_11',['basic_fstream',['http://en.cppreference.com/w/cpp/io/basic_fstream.html',0,'std']]], - ['basic_5ffstream_3c_20char_20_3e_12',['basic_fstream< char >',['http://en.cppreference.com/w/cpp/io/basic_fstream.html',0,'std']]], - ['basic_5ffstream_3c_20wchar_5ft_20_3e_13',['basic_fstream< wchar_t >',['http://en.cppreference.com/w/cpp/io/basic_fstream.html',0,'std']]], - ['basic_5fifstream_14',['basic_ifstream',['http://en.cppreference.com/w/cpp/io/basic_ifstream.html',0,'std']]], - ['basic_5fifstream_3c_20char_20_3e_15',['basic_ifstream< char >',['http://en.cppreference.com/w/cpp/io/basic_ifstream.html',0,'std']]], - ['basic_5fifstream_3c_20wchar_5ft_20_3e_16',['basic_ifstream< wchar_t >',['http://en.cppreference.com/w/cpp/io/basic_ifstream.html',0,'std']]], - ['basic_5fios_17',['basic_ios',['http://en.cppreference.com/w/cpp/io/basic_ios.html',0,'std']]], - ['basic_5fios_3c_20char_20_3e_18',['basic_ios< char >',['http://en.cppreference.com/w/cpp/io/basic_ios.html',0,'std']]], - ['basic_5fios_3c_20wchar_5ft_20_3e_19',['basic_ios< wchar_t >',['http://en.cppreference.com/w/cpp/io/basic_ios.html',0,'std']]], - ['basic_5fiostream_20',['basic_iostream',['http://en.cppreference.com/w/cpp/io/basic_iostream.html',0,'std']]], - ['basic_5fiostream_3c_20char_20_3e_21',['basic_iostream< char >',['http://en.cppreference.com/w/cpp/io/basic_iostream.html',0,'std']]], - ['basic_5fiostream_3c_20wchar_5ft_20_3e_22',['basic_iostream< wchar_t >',['http://en.cppreference.com/w/cpp/io/basic_iostream.html',0,'std']]], - ['basic_5fistream_23',['basic_istream',['http://en.cppreference.com/w/cpp/io/basic_istream.html',0,'std']]], - ['basic_5fistream_3c_20char_20_3e_24',['basic_istream< char >',['http://en.cppreference.com/w/cpp/io/basic_istream.html',0,'std']]], - ['basic_5fistream_3c_20wchar_5ft_20_3e_25',['basic_istream< wchar_t >',['http://en.cppreference.com/w/cpp/io/basic_istream.html',0,'std']]], - ['basic_5fistringstream_26',['basic_istringstream',['http://en.cppreference.com/w/cpp/io/basic_istringstream.html',0,'std']]], - ['basic_5fistringstream_3c_20char_20_3e_27',['basic_istringstream< char >',['http://en.cppreference.com/w/cpp/io/basic_istringstream.html',0,'std']]], - ['basic_5fistringstream_3c_20wchar_5ft_20_3e_28',['basic_istringstream< wchar_t >',['http://en.cppreference.com/w/cpp/io/basic_istringstream.html',0,'std']]], - ['basic_5fofstream_29',['basic_ofstream',['http://en.cppreference.com/w/cpp/io/basic_ofstream.html',0,'std']]], - ['basic_5fofstream_3c_20char_20_3e_30',['basic_ofstream< char >',['http://en.cppreference.com/w/cpp/io/basic_ofstream.html',0,'std']]], - ['basic_5fofstream_3c_20wchar_5ft_20_3e_31',['basic_ofstream< wchar_t >',['http://en.cppreference.com/w/cpp/io/basic_ofstream.html',0,'std']]], - ['basic_5fostream_32',['basic_ostream',['http://en.cppreference.com/w/cpp/io/basic_ostream.html',0,'std']]], - ['basic_5fostream_3c_20char_20_3e_33',['basic_ostream< char >',['http://en.cppreference.com/w/cpp/io/basic_ostream.html',0,'std']]], - ['basic_5fostream_3c_20wchar_5ft_20_3e_34',['basic_ostream< wchar_t >',['http://en.cppreference.com/w/cpp/io/basic_ostream.html',0,'std']]], - ['basic_5fostringstream_35',['basic_ostringstream',['http://en.cppreference.com/w/cpp/io/basic_ostringstream.html',0,'std']]], - ['basic_5fostringstream_3c_20char_20_3e_36',['basic_ostringstream< char >',['http://en.cppreference.com/w/cpp/io/basic_ostringstream.html',0,'std']]], - ['basic_5fostringstream_3c_20wchar_5ft_20_3e_37',['basic_ostringstream< wchar_t >',['http://en.cppreference.com/w/cpp/io/basic_ostringstream.html',0,'std']]], - ['basic_5fregex_38',['basic_regex',['http://en.cppreference.com/w/cpp/regex/basic_regex.html',0,'std']]], - ['basic_5fstreambuf_39',['basic_streambuf',['http://en.cppreference.com/w/cpp/io/basic_streambuf.html',0,'std']]], - ['basic_5fstring_40',['basic_string',['http://en.cppreference.com/w/cpp/string/basic_string.html',0,'std']]], - ['basic_5fstring_3c_20char_20_3e_41',['basic_string< char >',['http://en.cppreference.com/w/cpp/string/basic_string.html',0,'std']]], - ['basic_5fstring_3c_20char16_5ft_20_3e_42',['basic_string< char16_t >',['http://en.cppreference.com/w/cpp/string/basic_string.html',0,'std']]], - ['basic_5fstring_3c_20char32_5ft_20_3e_43',['basic_string< char32_t >',['http://en.cppreference.com/w/cpp/string/basic_string.html',0,'std']]], - ['basic_5fstring_3c_20char8_5ft_20_3e_44',['basic_string< char8_t >',['http://en.cppreference.com/w/cpp/string/basic_string.html',0,'std']]], - ['basic_5fstring_3c_20wchar_5ft_20_3e_45',['basic_string< wchar_t >',['http://en.cppreference.com/w/cpp/string/basic_string.html',0,'std']]], - ['basic_5fstringbuf_46',['basic_stringbuf',['http://en.cppreference.com/w/cpp/io/basic_stringbuf.html',0,'std']]], - ['basic_5fstringstream_47',['basic_stringstream',['http://en.cppreference.com/w/cpp/io/basic_stringstream.html',0,'std']]], - ['basic_5fstringstream_3c_20char_20_3e_48',['basic_stringstream< char >',['http://en.cppreference.com/w/cpp/io/basic_stringstream.html',0,'std']]], - ['basic_5fstringstream_3c_20wchar_5ft_20_3e_49',['basic_stringstream< wchar_t >',['http://en.cppreference.com/w/cpp/io/basic_stringstream.html',0,'std']]], - ['bernoulli_5fdistribution_50',['bernoulli_distribution',['http://en.cppreference.com/w/cpp/numeric/random/bernoulli_distribution.html',0,'std']]], - ['bidirectional_5fiterator_5ftag_51',['bidirectional_iterator_tag',['http://en.cppreference.com/w/cpp/iterator/iterator_tags.html',0,'std']]], - ['binary_5ffunction_52',['binary_function',['http://en.cppreference.com/w/cpp/utility/functional/binary_function.html',0,'std']]], - ['binary_5fnegate_53',['binary_negate',['http://en.cppreference.com/w/cpp/utility/functional/binary_negate.html',0,'std']]], - ['binary_5fsearch_5ftree_54',['binary_search_tree',['../d9/dde/classbinary__search__tree.html',1,'']]], - ['binaryaddition_55',['BinaryAddition',['../de/df6/classgreedy__algorithms_1_1_binary_addition.html',1,'greedy_algorithms']]], - ['binarytree_56',['BinaryTree',['../de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree.html',1,'operations_on_datastructures::reverse_binary_tree::BinaryTree'],['../d9/d12/classothers_1_1iterative__tree__traversals_1_1_binary_tree.html',1,'others::iterative_tree_traversals::BinaryTree']]], - ['binomial_5fdistribution_57',['binomial_distribution',['http://en.cppreference.com/w/cpp/numeric/random/binomial_distribution.html',0,'std']]], - ['bit_5fand_58',['bit_and',['http://en.cppreference.com/w/cpp/utility/functional/bit_and.html',0,'std']]], - ['bit_5fnot_59',['bit_not',['http://en.cppreference.com/w/cpp/utility/functional/bit_not.html',0,'std']]], - ['bit_5for_60',['bit_or',['http://en.cppreference.com/w/cpp/utility/functional/bit_or.html',0,'std']]], - ['bitset_61',['Bitset',['../d9/dae/classdata__structures_1_1_bitset.html',1,'data_structures']]], - ['bitset_62',['bitset',['http://en.cppreference.com/w/cpp/utility/bitset.html',0,'std']]], - ['bitset_3c_20maxn_20_3e_63',['bitset< MAXN >',['http://en.cppreference.com/w/cpp/utility/bitset.html',0,'std']]], - ['bloomfilter_64',['BloomFilter',['../dc/dd4/classdata__structures_1_1_bloom_filter.html',1,'data_structures']]], - ['bst_5fnode_65',['bst_node',['../dd/db6/structbinary__search__tree_1_1bst__node.html',1,'binary_search_tree']]], - ['bt_66',['BT',['../dd/de1/classothers_1_1recursive__tree__traversals_1_1_b_t.html',1,'others::recursive_tree_traversals']]], - ['btree_67',['Btree',['../d9/d90/struct_btree.html',1,'']]] + ['binary_5fsearch_5ftree_0',['binary_search_tree',['../d9/dde/classbinary__search__tree.html',1,'']]], + ['binaryaddition_1',['BinaryAddition',['../de/df6/classgreedy__algorithms_1_1_binary_addition.html',1,'greedy_algorithms']]], + ['binarytree_2',['BinaryTree',['../de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree.html',1,'operations_on_datastructures::reverse_binary_tree::BinaryTree'],['../d9/d12/classothers_1_1iterative__tree__traversals_1_1_binary_tree.html',1,'others::iterative_tree_traversals::BinaryTree']]], + ['bitset_3',['Bitset',['../d9/dae/classdata__structures_1_1_bitset.html',1,'data_structures']]], + ['bloomfilter_4',['BloomFilter',['../dc/dd4/classdata__structures_1_1_bloom_filter.html',1,'data_structures']]], + ['bst_5fnode_5',['bst_node',['../dd/db6/structbinary__search__tree_1_1bst__node.html',1,'binary_search_tree']]], + ['bt_6',['BT',['../dd/de1/classothers_1_1recursive__tree__traversals_1_1_b_t.html',1,'others::recursive_tree_traversals']]], + ['btree_7',['Btree',['../d9/d90/struct_btree.html',1,'']]] ]; diff --git a/search/classes_10.js b/search/classes_10.js index 113076bcb..5170c9692 100644 --- a/search/classes_10.js +++ b/search/classes_10.js @@ -1,8 +1,14 @@ var searchData= [ - ['query_0',['query',['../dd/d1b/structquery.html',1,'']]], - ['queue_1',['Queue',['../dc/db5/struct_queue.html',1,'']]], - ['queue_2',['queue',['../db/da9/classqueue.html',1,'queue< ValueType >'],['http://en.cppreference.com/w/cpp/container/queue.html',0,'std::queue< T >']]], - ['queue_3c_20int64_5ft_20_3e_3',['queue< int64_t >',['http://en.cppreference.com/w/cpp/container/queue.html',0,'std']]], - ['queue_5farray_4',['Queue_Array',['../d6/d04/classdata__structures_1_1queue__using__array_1_1_queue___array.html',1,'data_structures::queue_using_array']]] + ['segmentintersection_0',['SegmentIntersection',['../d4/db4/struct_segment_intersection.html',1,'']]], + ['segmenttree_1',['SegmentTree',['../dd/d95/classdata__structures_1_1_segment_tree.html',1,'data_structures']]], + ['sg_2',['SG',['../d9/d35/classrange__queries_1_1heavy__light__decomposition_1_1_s_g.html',1,'range_queries::heavy_light_decomposition']]], + ['skiplist_3',['SkipList',['../d4/d90/classdata__structures_1_1_skip_list.html',1,'data_structures']]], + ['solution_4',['Solution',['../dd/d4f/class_solution.html',1,'']]], + ['sparse_5ftable_5',['Sparse_table',['../da/d37/structdata__structures_1_1sparse__table_1_1_sparse__table.html',1,'data_structures::sparse_table']]], + ['stack_6',['Stack',['../d2/dc8/classdata__structures_1_1_stack.html',1,'data_structures::Stack< T >'],['../db/d5b/structdata__structures_1_1stack__using__queue_1_1_stack.html',1,'data_structures::stack_using_queue::Stack'],['../d5/d8a/classothers_1_1postfix__expression_1_1_stack.html',1,'others::postfix_expression::Stack']]], + ['stack_7',['stack',['../d1/dc2/classstack.html',1,'']]], + ['stack_5flinkedlist_8',['stack_linkedList',['../d2/dc4/classstack__linked_list.html',1,'']]], + ['stats_5fcomputer1_9',['stats_computer1',['../d7/d7c/classstatistics_1_1stats__computer1.html',1,'statistics']]], + ['stats_5fcomputer2_10',['stats_computer2',['../d8/dab/classstatistics_1_1stats__computer2.html',1,'statistics']]] ]; diff --git a/search/classes_11.js b/search/classes_11.js index 88cba9e05..bd9f550a4 100644 --- a/search/classes_11.js +++ b/search/classes_11.js @@ -1,44 +1,13 @@ var searchData= [ - ['random_5faccess_5fiterator_5ftag_0',['random_access_iterator_tag',['http://en.cppreference.com/w/cpp/iterator/iterator_tags.html',0,'std']]], - ['random_5fdevice_1',['random_device',['http://en.cppreference.com/w/cpp/numeric/random/random_device.html',0,'std']]], - ['range_5ferror_2',['range_error',['http://en.cppreference.com/w/cpp/error/range_error.html',0,'std']]], - ['rank_3',['rank',['http://en.cppreference.com/w/cpp/types/rank.html',0,'std']]], - ['ranlux24_4',['ranlux24',['http://en.cppreference.com/w/cpp/numeric/random/discard_block_engine.html',0,'std']]], - ['ranlux24_5fbase_5',['ranlux24_base',['http://en.cppreference.com/w/cpp/numeric/random/subtract_with_carry_engine.html',0,'std']]], - ['ranlux48_6',['ranlux48',['http://en.cppreference.com/w/cpp/numeric/random/discard_block_engine.html',0,'std']]], - ['ranlux48_5fbase_7',['ranlux48_base',['http://en.cppreference.com/w/cpp/numeric/random/subtract_with_carry_engine.html',0,'std']]], - ['ratio_8',['ratio',['http://en.cppreference.com/w/cpp/numeric/ratio/ratio.html',0,'std']]], - ['ratio_5fadd_9',['ratio_add',['http://en.cppreference.com/w/cpp/numeric/ratio/ratio_add.html',0,'std']]], - ['ratio_5fdivide_10',['ratio_divide',['http://en.cppreference.com/w/cpp/numeric/ratio/ratio_divide.html',0,'std']]], - ['ratio_5fequal_11',['ratio_equal',['http://en.cppreference.com/w/cpp/numeric/ratio/ratio_equal.html',0,'std']]], - ['ratio_5fgreater_12',['ratio_greater',['http://en.cppreference.com/w/cpp/numeric/ratio/ratio_greater.html',0,'std']]], - ['ratio_5fgreater_5fequal_13',['ratio_greater_equal',['http://en.cppreference.com/w/cpp/numeric/ratio/ratio_greater_equal.html',0,'std']]], - ['ratio_5fless_14',['ratio_less',['http://en.cppreference.com/w/cpp/numeric/ratio/ratio_less.html',0,'std']]], - ['ratio_5fless_5fequal_15',['ratio_less_equal',['http://en.cppreference.com/w/cpp/numeric/ratio/ratio_less_equal.html',0,'std']]], - ['ratio_5fmultiply_16',['ratio_multiply',['http://en.cppreference.com/w/cpp/numeric/ratio/ratio_multiply.html',0,'std']]], - ['ratio_5fnot_5fequal_17',['ratio_not_equal',['http://en.cppreference.com/w/cpp/numeric/ratio/ratio_not_equal.html',0,'std']]], - ['ratio_5fsubtract_18',['ratio_subtract',['http://en.cppreference.com/w/cpp/numeric/ratio/ratio_subtract.html',0,'std']]], - ['raw_5fstorage_5fiterator_19',['raw_storage_iterator',['http://en.cppreference.com/w/cpp/memory/raw_storage_iterator.html',0,'std']]], - ['rbtree_20',['RBtree',['../d8/d72/class_r_btree.html',1,'']]], - ['recursive_5fmutex_21',['recursive_mutex',['http://en.cppreference.com/w/cpp/thread/recursive_mutex.html',0,'std']]], - ['recursive_5ftimed_5fmutex_22',['recursive_timed_mutex',['http://en.cppreference.com/w/cpp/thread/recursive_timed_mutex.html',0,'std']]], - ['reference_23',['reference',['http://en.cppreference.com/w/cpp/utility/bitset/reference.html',0,'std::bitset']]], - ['reference_5fwrapper_24',['reference_wrapper',['http://en.cppreference.com/w/cpp/utility/functional/reference_wrapper.html',0,'std']]], - ['regex_25',['regex',['http://en.cppreference.com/w/cpp/regex/basic_regex.html',0,'std']]], - ['regex_5ferror_26',['regex_error',['http://en.cppreference.com/w/cpp/regex/regex_error.html',0,'std']]], - ['regex_5fiterator_27',['regex_iterator',['http://en.cppreference.com/w/cpp/regex/regex_iterator.html',0,'std']]], - ['regex_5ftoken_5fiterator_28',['regex_token_iterator',['http://en.cppreference.com/w/cpp/regex/regex_token_iterator.html',0,'std']]], - ['regex_5ftraits_29',['regex_traits',['http://en.cppreference.com/w/cpp/regex/regex_traits.html',0,'std']]], - ['remove_5fall_5fextents_30',['remove_all_extents',['http://en.cppreference.com/w/cpp/types/remove_all_extents.html',0,'std']]], - ['remove_5fconst_31',['remove_const',['http://en.cppreference.com/w/cpp/types/remove_cv.html',0,'std']]], - ['remove_5fcv_32',['remove_cv',['http://en.cppreference.com/w/cpp/types/remove_cv.html',0,'std']]], - ['remove_5fextent_33',['remove_extent',['http://en.cppreference.com/w/cpp/types/remove_extent.html',0,'std']]], - ['remove_5fpointer_34',['remove_pointer',['http://en.cppreference.com/w/cpp/types/remove_pointer.html',0,'std']]], - ['remove_5freference_35',['remove_reference',['http://en.cppreference.com/w/cpp/types/remove_reference.html',0,'std']]], - ['remove_5fvolatile_36',['remove_volatile',['http://en.cppreference.com/w/cpp/types/remove_cv.html',0,'std']]], - ['result_5fof_37',['result_of',['http://en.cppreference.com/w/cpp/types/result_of.html',0,'std']]], - ['reverse_5fiterator_38',['reverse_iterator',['http://en.cppreference.com/w/cpp/iterator/reverse_iterator.html',0,'std']]], - ['rootedtree_39',['RootedTree',['../d0/d58/classgraph_1_1_rooted_tree.html',1,'graph']]], - ['runtime_5ferror_40',['runtime_error',['http://en.cppreference.com/w/cpp/error/runtime_error.html',0,'std']]] + ['testcase_0',['TestCase',['../da/d86/struct_test_case.html',1,'']]], + ['testcases_1',['TestCases',['../d5/d58/class_test_cases.html',1,'']]], + ['tnode_2',['Tnode',['../d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html',1,'operations_on_datastructures::trie_operations']]], + ['tower_3',['tower',['../d2/d2c/structtower.html',1,'']]], + ['treap_4',['Treap',['../d5/d95/structdata__structures_1_1treap_1_1_treap.html',1,'data_structures::treap']]], + ['tree_5',['Tree',['../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html',1,'range_queries::heavy_light_decomposition']]], + ['tree234_6',['Tree234',['../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html',1,'data_structures::tree_234']]], + ['trie_7',['Trie',['../d3/d26/classdata__structures_1_1trie__using__hashmap_1_1_trie.html',1,'data_structures::trie_using_hashmap::Trie'],['../dd/d2f/class_trie.html',1,'Trie']]], + ['trie_8',['trie',['../d0/d3e/classdata__structures_1_1trie.html',1,'data_structures']]], + ['trienode_9',['TrieNode',['../de/d48/struct_trie_1_1_trie_node.html',1,'Trie']]] ]; diff --git a/search/classes_12.js b/search/classes_12.js index c8f6fd926..a48f8c81a 100644 --- a/search/classes_12.js +++ b/search/classes_12.js @@ -1,57 +1,5 @@ var searchData= [ - ['scoped_5fallocator_5fadaptor_0',['scoped_allocator_adaptor',['http://en.cppreference.com/w/cpp/memory/scoped_allocator_adaptor.html',0,'std']]], - ['seconds_1',['seconds',['http://en.cppreference.com/w/cpp/chrono/duration.html',0,'std::chrono']]], - ['seed_5fseq_2',['seed_seq',['http://en.cppreference.com/w/cpp/numeric/random/seed_seq.html',0,'std']]], - ['segmentintersection_3',['SegmentIntersection',['../d4/db4/struct_segment_intersection.html',1,'']]], - ['segmenttree_4',['SegmentTree',['../dd/d95/classdata__structures_1_1_segment_tree.html',1,'data_structures']]], - ['sentry_5',['sentry',['http://en.cppreference.com/w/cpp/io/basic_ostream/sentry.html',0,'std::basic_fstream< Char >::sentry'],['http://en.cppreference.com/w/cpp/io/basic_istream/sentry.html',0,'std::basic_ifstream< Char >::sentry'],['http://en.cppreference.com/w/cpp/io/basic_ostream/sentry.html',0,'std::basic_iostream< Char >::sentry'],['http://en.cppreference.com/w/cpp/io/basic_istream/sentry.html',0,'std::basic_istream< Char >::sentry'],['http://en.cppreference.com/w/cpp/io/basic_istream/sentry.html',0,'std::basic_istringstream< Char >::sentry'],['http://en.cppreference.com/w/cpp/io/basic_ostream/sentry.html',0,'std::basic_ofstream< Char >::sentry'],['http://en.cppreference.com/w/cpp/io/basic_ostream/sentry.html',0,'std::basic_ostream< Char >::sentry'],['http://en.cppreference.com/w/cpp/io/basic_ostream/sentry.html',0,'std::basic_ostringstream< Char >::sentry'],['http://en.cppreference.com/w/cpp/io/basic_ostream/sentry.html',0,'std::basic_stringstream< Char >::sentry'],['http://en.cppreference.com/w/cpp/io/basic_ostream/sentry.html',0,'std::fstream::sentry'],['http://en.cppreference.com/w/cpp/io/basic_istream/sentry.html',0,'std::ifstream::sentry'],['http://en.cppreference.com/w/cpp/io/basic_ostream/sentry.html',0,'std::iostream::sentry'],['http://en.cppreference.com/w/cpp/io/basic_istream/sentry.html',0,'std::istream::sentry'],['http://en.cppreference.com/w/cpp/io/basic_istream/sentry.html',0,'std::istringstream::sentry'],['http://en.cppreference.com/w/cpp/io/basic_istream/sentry.html',0,'std::istrstream::sentry'],['http://en.cppreference.com/w/cpp/io/basic_ostream/sentry.html',0,'std::ofstream::sentry'],['http://en.cppreference.com/w/cpp/io/basic_ostream/sentry.html',0,'std::ostream::sentry'],['http://en.cppreference.com/w/cpp/io/basic_ostream/sentry.html',0,'std::ostringstream::sentry'],['http://en.cppreference.com/w/cpp/io/basic_ostream/sentry.html',0,'std::ostrstream::sentry'],['http://en.cppreference.com/w/cpp/io/basic_ostream/sentry.html',0,'std::stringstream::sentry'],['http://en.cppreference.com/w/cpp/io/basic_ostream/sentry.html',0,'std::strstream::sentry'],['http://en.cppreference.com/w/cpp/io/basic_ostream/sentry.html',0,'std::wfstream::sentry'],['http://en.cppreference.com/w/cpp/io/basic_istream/sentry.html',0,'std::wifstream::sentry'],['http://en.cppreference.com/w/cpp/io/basic_ostream/sentry.html',0,'std::wiostream::sentry'],['http://en.cppreference.com/w/cpp/io/basic_istream/sentry.html',0,'std::wistream::sentry'],['http://en.cppreference.com/w/cpp/io/basic_istream/sentry.html',0,'std::wistringstream::sentry'],['http://en.cppreference.com/w/cpp/io/basic_ostream/sentry.html',0,'std::wofstream::sentry'],['http://en.cppreference.com/w/cpp/io/basic_ostream/sentry.html',0,'std::wostream::sentry'],['http://en.cppreference.com/w/cpp/io/basic_ostream/sentry.html',0,'std::wostringstream::sentry'],['http://en.cppreference.com/w/cpp/io/basic_ostream/sentry.html',0,'std::wstringstream::sentry']]], - ['set_6',['set',['http://en.cppreference.com/w/cpp/container/set.html',0,'std']]], - ['sg_7',['SG',['../d9/d35/classrange__queries_1_1heavy__light__decomposition_1_1_s_g.html',1,'range_queries::heavy_light_decomposition']]], - ['shared_5ffuture_8',['shared_future',['http://en.cppreference.com/w/cpp/thread/shared_future.html',0,'std']]], - ['shared_5flock_9',['shared_lock',['http://en.cppreference.com/w/cpp/thread/shared_lock.html',0,'std']]], - ['shared_5fptr_10',['shared_ptr',['http://en.cppreference.com/w/cpp/memory/shared_ptr.html',0,'std']]], - ['shared_5fptr_3c_20data_5fstructures_3a_3alinked_5flist_3a_3alink_20_3e_11',['shared_ptr< data_structures::linked_list::link >',['http://en.cppreference.com/w/cpp/memory/shared_ptr.html',0,'std']]], - ['shared_5fptr_3c_20data_5fstructures_3a_3anode_20_3e_12',['shared_ptr< data_structures::Node >',['http://en.cppreference.com/w/cpp/memory/shared_ptr.html',0,'std']]], - ['shared_5fptr_3c_20data_5fstructures_3a_3atrie_5fusing_5fhashmap_3a_3atrie_3a_3anode_20_3e_13',['shared_ptr< data_structures::trie_using_hashmap::Trie::Node >',['http://en.cppreference.com/w/cpp/memory/shared_ptr.html',0,'std']]], - ['shared_5fptr_3c_20machine_5flearning_3a_3aaystar_5fsearch_3a_3aaystarsearch_3a_3ainfo_20_3e_14',['shared_ptr< machine_learning::aystar_search::AyStarSearch::Info >',['http://en.cppreference.com/w/cpp/memory/shared_ptr.html',0,'std']]], - ['shared_5fptr_3c_20node_20_3e_15',['shared_ptr< Node >',['http://en.cppreference.com/w/cpp/memory/shared_ptr.html',0,'std']]], - ['shared_5fptr_3c_20node_3c_20value_5ftype_20_3e_20_3e_16',['shared_ptr< Node< value_type > >',['http://en.cppreference.com/w/cpp/memory/shared_ptr.html',0,'std']]], - ['shared_5fptr_3c_20node_3c_20valuetype_20_3e_20_3e_17',['shared_ptr< Node< ValueType > >',['http://en.cppreference.com/w/cpp/memory/shared_ptr.html',0,'std']]], - ['shared_5fptr_3c_20puzzle_20_3e_18',['shared_ptr< Puzzle >',['http://en.cppreference.com/w/cpp/memory/shared_ptr.html',0,'std']]], - ['shared_5fptr_3c_20range_5fqueries_3a_3apersegtree_3a_3anode_20_3e_19',['shared_ptr< range_queries::perSegTree::Node >',['http://en.cppreference.com/w/cpp/memory/shared_ptr.html',0,'std']]], - ['shared_5fptr_3c_20trie_3a_3atrienode_20_3e_20',['shared_ptr< Trie::TrieNode >',['http://en.cppreference.com/w/cpp/memory/shared_ptr.html',0,'std']]], - ['shared_5ftimed_5fmutex_21',['shared_timed_mutex',['http://en.cppreference.com/w/cpp/thread/shared_timed_mutex.html',0,'std']]], - ['shuffle_5forder_5fengine_22',['shuffle_order_engine',['http://en.cppreference.com/w/cpp/numeric/random/shuffle_order_engine.html',0,'std']]], - ['sig_5fatomic_5ft_23',['sig_atomic_t',['http://en.cppreference.com/w/cpp/utility/program/sig_atomic_t.html',0,'std']]], - ['size_5ft_24',['size_t',['http://en.cppreference.com/w/cpp/types/size_t.html',0,'std']]], - ['skiplist_25',['SkipList',['../d4/d90/classdata__structures_1_1_skip_list.html',1,'data_structures']]], - ['smatch_26',['smatch',['http://en.cppreference.com/w/cpp/regex/match_results.html',0,'std']]], - ['solution_27',['Solution',['../dd/d4f/class_solution.html',1,'']]], - ['sparse_5ftable_28',['Sparse_table',['../da/d37/structdata__structures_1_1sparse__table_1_1_sparse__table.html',1,'data_structures::sparse_table']]], - ['sregex_5fiterator_29',['sregex_iterator',['http://en.cppreference.com/w/cpp/regex/regex_iterator.html',0,'std']]], - ['sregex_5ftoken_5fiterator_30',['sregex_token_iterator',['http://en.cppreference.com/w/cpp/regex/regex_token_iterator.html',0,'std']]], - ['ssub_5fmatch_31',['ssub_match',['http://en.cppreference.com/w/cpp/regex/sub_match.html',0,'std']]], - ['stack_32',['Stack',['../d2/dc8/classdata__structures_1_1_stack.html',1,'data_structures::Stack< T >'],['../db/d5b/structdata__structures_1_1stack__using__queue_1_1_stack.html',1,'data_structures::stack_using_queue::Stack'],['../d5/d8a/classothers_1_1postfix__expression_1_1_stack.html',1,'others::postfix_expression::Stack']]], - ['stack_33',['stack',['../d1/dc2/classstack.html',1,'stack< ValueType >'],['http://en.cppreference.com/w/cpp/container/stack.html',0,'std::stack< T >']]], - ['stack_5flinkedlist_34',['stack_linkedList',['../d2/dc4/classstack__linked_list.html',1,'']]], - ['state_5ftype_35',['state_type',['http://en.cppreference.com/w/cpp/locale/codecvt.html',0,'std::codecvt::state_type'],['http://en.cppreference.com/w/cpp/locale/codecvt.html',0,'std::codecvt_byname::state_type'],['http://en.cppreference.com/w/cpp/locale/codecvt.html',0,'std::codecvt_utf16::state_type'],['http://en.cppreference.com/w/cpp/locale/codecvt.html',0,'std::codecvt_utf8::state_type'],['http://en.cppreference.com/w/cpp/locale/codecvt.html',0,'std::codecvt_utf8_utf16::state_type']]], - ['stats_5fcomputer1_36',['stats_computer1',['../d7/d7c/classstatistics_1_1stats__computer1.html',1,'statistics']]], - ['stats_5fcomputer2_37',['stats_computer2',['../d8/dab/classstatistics_1_1stats__computer2.html',1,'statistics']]], - ['steady_5fclock_38',['steady_clock',['http://en.cppreference.com/w/cpp/chrono/steady_clock.html',0,'std::chrono']]], - ['streambuf_39',['streambuf',['http://en.cppreference.com/w/cpp/io/basic_streambuf.html',0,'std']]], - ['streamoff_40',['streamoff',['http://en.cppreference.com/w/cpp/io/streamoff.html',0,'std']]], - ['streampos_41',['streampos',['http://en.cppreference.com/w/cpp/io/fpos.html',0,'std']]], - ['streamsize_42',['streamsize',['http://en.cppreference.com/w/cpp/io/streamsize.html',0,'std']]], - ['string_43',['string',['http://en.cppreference.com/w/cpp/string/basic_string.html',0,'std']]], - ['string_5ftype_44',['string_type',['http://en.cppreference.com/w/cpp/locale/collate.html',0,'std::collate::string_type'],['http://en.cppreference.com/w/cpp/locale/collate.html',0,'std::collate_byname::string_type'],['http://en.cppreference.com/w/cpp/locale/messages.html',0,'std::messages::string_type'],['http://en.cppreference.com/w/cpp/locale/messages.html',0,'std::messages_byname::string_type'],['http://en.cppreference.com/w/cpp/locale/money_get.html',0,'std::money_get::string_type'],['http://en.cppreference.com/w/cpp/locale/money_put.html',0,'std::money_put::string_type'],['http://en.cppreference.com/w/cpp/locale/moneypunct.html',0,'std::moneypunct::string_type'],['http://en.cppreference.com/w/cpp/locale/moneypunct.html',0,'std::moneypunct_byname::string_type'],['http://en.cppreference.com/w/cpp/locale/numpunct.html',0,'std::numpunct::string_type'],['http://en.cppreference.com/w/cpp/locale/numpunct.html',0,'std::numpunct_byname::string_type']]], - ['stringbuf_45',['stringbuf',['http://en.cppreference.com/w/cpp/io/basic_stringbuf.html',0,'std']]], - ['stringstream_46',['stringstream',['http://en.cppreference.com/w/cpp/io/basic_stringstream.html',0,'std']]], - ['strstream_47',['strstream',['http://en.cppreference.com/w/cpp/io/strstream.html',0,'std']]], - ['strstreambuf_48',['strstreambuf',['http://en.cppreference.com/w/cpp/io/strstreambuf.html',0,'std']]], - ['student_5ft_5fdistribution_49',['student_t_distribution',['http://en.cppreference.com/w/cpp/numeric/random/student_t_distribution.html',0,'std']]], - ['sub_5fmatch_50',['sub_match',['http://en.cppreference.com/w/cpp/regex/sub_match.html',0,'std']]], - ['subtract_5fwith_5fcarry_5fengine_51',['subtract_with_carry_engine',['http://en.cppreference.com/w/cpp/numeric/random/subtract_with_carry_engine.html',0,'std']]], - ['system_5fclock_52',['system_clock',['http://en.cppreference.com/w/cpp/chrono/system_clock.html',0,'std::chrono']]], - ['system_5ferror_53',['system_error',['http://en.cppreference.com/w/cpp/error/system_error.html',0,'std']]] + ['uint128_5ft_0',['uint128_t',['../db/d9a/classuint128__t.html',1,'']]], + ['uint256_5ft_1',['uint256_t',['../d1/d83/classuint256__t.html',1,'']]] ]; diff --git a/search/classes_13.js b/search/classes_13.js index 530c414f1..676823ff6 100644 --- a/search/classes_13.js +++ b/search/classes_13.js @@ -1,32 +1,4 @@ var searchData= [ - ['tera_0',['tera',['http://en.cppreference.com/w/cpp/numeric/ratio/ratio.html',0,'std']]], - ['terminate_5fhandler_1',['terminate_handler',['http://en.cppreference.com/w/cpp/error/terminate_handler.html',0,'std']]], - ['testcase_2',['TestCase',['../da/d86/struct_test_case.html',1,'']]], - ['testcases_3',['TestCases',['../d5/d58/class_test_cases.html',1,'']]], - ['thread_4',['thread',['http://en.cppreference.com/w/cpp/thread/thread.html',0,'std']]], - ['time_5fbase_5',['time_base',['http://en.cppreference.com/w/cpp/locale/time_base.html',0,'std']]], - ['time_5fget_6',['time_get',['http://en.cppreference.com/w/cpp/locale/time_get.html',0,'std']]], - ['time_5fget_5fbyname_7',['time_get_byname',['http://en.cppreference.com/w/cpp/locale/time_get_byname.html',0,'std']]], - ['time_5fpoint_8',['time_point',['http://en.cppreference.com/w/cpp/chrono/time_point.html',0,'std::chrono']]], - ['time_5fput_9',['time_put',['http://en.cppreference.com/w/cpp/locale/time_put.html',0,'std']]], - ['time_5fput_5fbyname_10',['time_put_byname',['http://en.cppreference.com/w/cpp/locale/time_put_byname.html',0,'std']]], - ['time_5ft_11',['time_t',['http://en.cppreference.com/w/cpp/chrono/c/time_t.html',0,'std']]], - ['timed_5fmutex_12',['timed_mutex',['http://en.cppreference.com/w/cpp/thread/timed_mutex.html',0,'std']]], - ['tm_13',['tm',['http://en.cppreference.com/w/cpp/chrono/c/tm.html',0,'std']]], - ['tnode_14',['Tnode',['../d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html',1,'operations_on_datastructures::trie_operations']]], - ['tower_15',['tower',['../d2/d2c/structtower.html',1,'']]], - ['treap_16',['Treap',['../d5/d95/structdata__structures_1_1treap_1_1_treap.html',1,'data_structures::treap']]], - ['treat_5fas_5ffloating_5fpoint_17',['treat_as_floating_point',['http://en.cppreference.com/w/cpp/chrono/treat_as_floating_point.html',0,'std::chrono']]], - ['tree_18',['Tree',['../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html',1,'range_queries::heavy_light_decomposition']]], - ['tree234_19',['Tree234',['../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html',1,'data_structures::tree_234']]], - ['trie_20',['Trie',['../d3/d26/classdata__structures_1_1trie__using__hashmap_1_1_trie.html',1,'data_structures::trie_using_hashmap::Trie'],['../dd/d2f/class_trie.html',1,'Trie']]], - ['trie_21',['trie',['../d0/d3e/classdata__structures_1_1trie.html',1,'data_structures']]], - ['trienode_22',['TrieNode',['../de/d48/struct_trie_1_1_trie_node.html',1,'Trie']]], - ['true_5ftype_23',['true_type',['http://en.cppreference.com/w/cpp/types/integral_constant.html',0,'std']]], - ['try_5fto_5flock_5ft_24',['try_to_lock_t',['http://en.cppreference.com/w/cpp/thread/lock_tag_t.html',0,'std']]], - ['tuple_25',['tuple',['http://en.cppreference.com/w/cpp/utility/tuple.html',0,'std']]], - ['tuple_3c_20int_2c_20int_2c_20int_20_3e_26',['tuple< int, int, int >',['http://en.cppreference.com/w/cpp/utility/tuple.html',0,'std']]], - ['type_5findex_27',['type_index',['http://en.cppreference.com/w/cpp/types/type_index.html',0,'std']]], - ['type_5finfo_28',['type_info',['http://en.cppreference.com/w/cpp/types/type_info.html',0,'std']]] + ['windowedmedian_0',['WindowedMedian',['../df/d34/classprobability_1_1windowed__median_1_1_windowed_median.html',1,'probability::windowed_median']]] ]; diff --git a/search/classes_2.js b/search/classes_2.js index 12ace7880..b1451d0dd 100644 --- a/search/classes_2.js +++ b/search/classes_2.js @@ -1,43 +1,12 @@ var searchData= [ ['catalan_5fnumbers_0',['catalan_numbers',['../dc/d1f/classcatalan__numbers.html',1,'']]], - ['catalog_1',['catalog',['http://en.cppreference.com/w/cpp/locale/messages_base.html',0,'std::messages::catalog'],['http://en.cppreference.com/w/cpp/locale/messages_base.html',0,'std::messages_base::catalog'],['http://en.cppreference.com/w/cpp/locale/messages_base.html',0,'std::messages_byname::catalog']]], - ['cauchy_5fdistribution_2',['cauchy_distribution',['http://en.cppreference.com/w/cpp/numeric/random/cauchy_distribution.html',0,'std']]], - ['centi_3',['centi',['http://en.cppreference.com/w/cpp/numeric/ratio/ratio.html',0,'std']]], - ['cerr_4',['cerr',['http://en.cppreference.com/w/cpp/io/basic_ostream.html',0,'std']]], - ['char_5ftraits_5',['char_traits',['http://en.cppreference.com/w/cpp/string/char_traits.html',0,'std']]], - ['char_5ftype_6',['char_type',['http://en.cppreference.com/w/cpp/locale/collate.html',0,'std::collate::char_type'],['http://en.cppreference.com/w/cpp/locale/collate.html',0,'std::collate_byname::char_type'],['http://en.cppreference.com/w/cpp/locale/messages.html',0,'std::messages::char_type'],['http://en.cppreference.com/w/cpp/locale/messages.html',0,'std::messages_byname::char_type'],['http://en.cppreference.com/w/cpp/locale/money_get.html',0,'std::money_get::char_type'],['http://en.cppreference.com/w/cpp/locale/money_put.html',0,'std::money_put::char_type'],['http://en.cppreference.com/w/cpp/locale/moneypunct.html',0,'std::moneypunct::char_type'],['http://en.cppreference.com/w/cpp/locale/moneypunct.html',0,'std::moneypunct_byname::char_type'],['http://en.cppreference.com/w/cpp/locale/num_get.html',0,'std::num_get::char_type'],['http://en.cppreference.com/w/cpp/locale/num_put.html',0,'std::num_put::char_type'],['http://en.cppreference.com/w/cpp/locale/numpunct.html',0,'std::numpunct::char_type'],['http://en.cppreference.com/w/cpp/locale/numpunct.html',0,'std::numpunct_byname::char_type'],['http://en.cppreference.com/w/cpp/locale/time_get.html',0,'std::time_get::char_type'],['http://en.cppreference.com/w/cpp/locale/time_get.html',0,'std::time_get_byname::char_type'],['http://en.cppreference.com/w/cpp/locale/time_put.html',0,'std::time_put::char_type'],['http://en.cppreference.com/w/cpp/locale/time_put.html',0,'std::time_put_byname::char_type']]], - ['chi_5fsquared_5fdistribution_7',['chi_squared_distribution',['http://en.cppreference.com/w/cpp/numeric/random/chi_squared_distribution.html',0,'std']]], - ['cin_8',['cin',['http://en.cppreference.com/w/cpp/io/basic_istream.html',0,'std']]], - ['circularlinkedlist_9',['CircularLinkedList',['../d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list.html',1,'operations_on_datastructures::circular_linked_list']]], - ['cll_10',['cll',['../d5/d15/classcll.html',1,'']]], - ['clock_5ft_11',['clock_t',['http://en.cppreference.com/w/cpp/chrono/c/clock_t.html',0,'std']]], - ['clog_12',['clog',['http://en.cppreference.com/w/cpp/io/basic_ostream.html',0,'std']]], - ['cmatch_13',['cmatch',['http://en.cppreference.com/w/cpp/regex/match_results.html',0,'std']]], - ['codecvt_14',['codecvt',['http://en.cppreference.com/w/cpp/locale/codecvt.html',0,'std']]], - ['codecvt_5fbase_15',['codecvt_base',['http://en.cppreference.com/w/cpp/locale/codecvt_base.html',0,'std']]], - ['codecvt_5fbyname_16',['codecvt_byname',['http://en.cppreference.com/w/cpp/locale/codecvt_byname.html',0,'std']]], - ['codecvt_5futf16_17',['codecvt_utf16',['http://en.cppreference.com/w/cpp/locale/codecvt_utf16.html',0,'std']]], - ['codecvt_5futf8_18',['codecvt_utf8',['http://en.cppreference.com/w/cpp/locale/codecvt_utf8.html',0,'std']]], - ['codecvt_5futf8_5futf16_19',['codecvt_utf8_utf16',['http://en.cppreference.com/w/cpp/locale/codecvt_utf8_utf16.html',0,'std']]], - ['collate_20',['collate',['http://en.cppreference.com/w/cpp/locale/collate.html',0,'std']]], - ['collate_5fbyname_21',['collate_byname',['http://en.cppreference.com/w/cpp/locale/collate_byname.html',0,'std']]], - ['common_5ftype_22',['common_type',['http://en.cppreference.com/w/cpp/types/common_type.html',0,'std']]], - ['compare_23',['Compare',['../de/d4a/class_compare.html',1,'']]], - ['compare_24',['compare',['../d1/db3/structcompare.html',1,'']]], - ['comparison_5foperator_25',['comparison_operator',['../d3/d2a/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1comparison__operator.html',1,'machine_learning::aystar_search::AyStarSearch']]], - ['complex_26',['Complex',['../da/d5a/class_complex.html',1,'']]], - ['complex_27',['complex',['http://en.cppreference.com/w/cpp/numeric/complex.html',0,'std']]], - ['condition_5fvariable_28',['condition_variable',['http://en.cppreference.com/w/cpp/thread/condition_variable.html',0,'std']]], - ['condition_5fvariable_5fany_29',['condition_variable_any',['http://en.cppreference.com/w/cpp/thread/condition_variable_any.html',0,'std']]], - ['conditional_30',['conditional',['http://en.cppreference.com/w/cpp/types/conditional.html',0,'std']]], - ['convexhull_31',['Convexhull',['../d4/dde/classgeometry_1_1jarvis_1_1_convexhull.html',1,'geometry::jarvis']]], - ['cout_32',['cout',['http://en.cppreference.com/w/cpp/io/basic_ostream.html',0,'std']]], - ['cregex_5fiterator_33',['cregex_iterator',['http://en.cppreference.com/w/cpp/regex/regex_iterator.html',0,'std']]], - ['cregex_5ftoken_5fiterator_34',['cregex_token_iterator',['http://en.cppreference.com/w/cpp/regex/regex_token_iterator.html',0,'std']]], - ['csub_5fmatch_35',['csub_match',['http://en.cppreference.com/w/cpp/regex/sub_match.html',0,'std']]], - ['ctype_36',['ctype',['http://en.cppreference.com/w/cpp/locale/ctype.html',0,'std']]], - ['ctype_5fbase_37',['ctype_base',['http://en.cppreference.com/w/cpp/locale/ctype_base.html',0,'std']]], - ['ctype_5fbyname_38',['ctype_byname',['http://en.cppreference.com/w/cpp/locale/ctype_byname.html',0,'std']]], - ['cyclecheck_39',['CycleCheck',['../d3/dbb/class_cycle_check.html',1,'']]] + ['circularlinkedlist_1',['CircularLinkedList',['../d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list.html',1,'operations_on_datastructures::circular_linked_list']]], + ['cll_2',['cll',['../d5/d15/classcll.html',1,'']]], + ['compare_3',['Compare',['../de/d4a/class_compare.html',1,'']]], + ['compare_4',['compare',['../d1/db3/structcompare.html',1,'']]], + ['comparison_5foperator_5',['comparison_operator',['../d3/d2a/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1comparison__operator.html',1,'machine_learning::aystar_search::AyStarSearch']]], + ['complex_6',['Complex',['../da/d5a/class_complex.html',1,'']]], + ['convexhull_7',['Convexhull',['../d4/dde/classgeometry_1_1jarvis_1_1_convexhull.html',1,'geometry::jarvis']]], + ['cyclecheck_8',['CycleCheck',['../d3/dbb/class_cycle_check.html',1,'']]] ]; diff --git a/search/classes_3.js b/search/classes_3.js index 29fbf3152..5775acd28 100644 --- a/search/classes_3.js +++ b/search/classes_3.js @@ -2,22 +2,8 @@ var searchData= [ ['d_5fnode_0',['D_Node',['../de/d21/classothers_1_1_cache_1_1_d___node.html',1,'others::Cache']]], ['d_5fnode_3c_20k_2c_20v_20_3e_1',['D_Node< K, V >',['../de/d21/classothers_1_1_cache_1_1_d___node.html',1,'others::Cache']]], - ['deca_2',['deca',['http://en.cppreference.com/w/cpp/numeric/ratio/ratio.html',0,'std']]], - ['decay_3',['decay',['http://en.cppreference.com/w/cpp/types/decay.html',0,'std']]], - ['deci_4',['deci',['http://en.cppreference.com/w/cpp/numeric/ratio/ratio.html',0,'std']]], - ['default_5fdelete_5',['default_delete',['http://en.cppreference.com/w/cpp/memory/default_delete.html',0,'std']]], - ['default_5frandom_5fengine_6',['default_random_engine',['http://en.cppreference.com/w/cpp/numeric/random.html',0,'std']]], - ['defer_5flock_5ft_7',['defer_lock_t',['http://en.cppreference.com/w/cpp/thread/lock_tag_t.html',0,'std']]], - ['denselayer_8',['DenseLayer',['../dc/d93/classmachine__learning_1_1neural__network_1_1layers_1_1_dense_layer.html',1,'machine_learning::neural_network::layers']]], - ['deque_9',['deque',['http://en.cppreference.com/w/cpp/container/deque.html',0,'std']]], - ['digitseparation_10',['DigitSeparation',['../da/d49/classgreedy__algorithms_1_1_digit_separation.html',1,'greedy_algorithms']]], - ['discard_5fblock_5fengine_11',['discard_block_engine',['http://en.cppreference.com/w/cpp/numeric/random/discard_block_engine.html',0,'std']]], - ['discrete_5fdistribution_12',['discrete_distribution',['http://en.cppreference.com/w/cpp/numeric/random/discrete_distribution.html',0,'std']]], - ['divides_13',['divides',['http://en.cppreference.com/w/cpp/utility/functional/divides.html',0,'std']]], - ['domain_5ferror_14',['domain_error',['http://en.cppreference.com/w/cpp/error/domain_error.html',0,'std']]], - ['double_5flinked_5flist_15',['double_linked_list',['../d9/dee/classdouble__linked__list.html',1,'']]], - ['dsu_16',['dsu',['../dd/d1f/classdsu.html',1,'']]], - ['duration_17',['duration',['http://en.cppreference.com/w/cpp/chrono/duration.html',0,'std::chrono']]], - ['duration_5fvalues_18',['duration_values',['http://en.cppreference.com/w/cpp/chrono/duration_values.html',0,'std::chrono']]], - ['dynarray_19',['dynarray',['http://en.cppreference.com/w/cpp/container/dynarray.html',0,'std']]] + ['denselayer_2',['DenseLayer',['../dc/d93/classmachine__learning_1_1neural__network_1_1layers_1_1_dense_layer.html',1,'machine_learning::neural_network::layers']]], + ['digitseparation_3',['DigitSeparation',['../da/d49/classgreedy__algorithms_1_1_digit_separation.html',1,'greedy_algorithms']]], + ['double_5flinked_5flist_4',['double_linked_list',['../d9/dee/classdouble__linked__list.html',1,'']]], + ['dsu_5',['dsu',['../dd/d1f/classdsu.html',1,'']]] ]; diff --git a/search/classes_4.js b/search/classes_4.js index ee97b953f..0353a9635 100644 --- a/search/classes_4.js +++ b/search/classes_4.js @@ -3,20 +3,5 @@ var searchData= ['easteryearmonthday_0',['EasterYearMonthDay',['../d1/df6/class_easter_year_month_day.html',1,'']]], ['edge_1',['Edge',['../d7/d77/class_edge.html',1,'']]], ['eightpuzzle_2',['EightPuzzle',['../dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle.html',1,'machine_learning::aystar_search']]], - ['enable_5fif_3',['enable_if',['http://en.cppreference.com/w/cpp/types/enable_if.html',0,'std']]], - ['enable_5fshared_5ffrom_5fthis_4',['enable_shared_from_this',['http://en.cppreference.com/w/cpp/memory/enable_shared_from_this.html',0,'std']]], - ['entry_5',['Entry',['../d9/dde/structdouble__hashing_1_1_entry.html',1,'double_hashing::Entry'],['../db/d19/structlinear__probing_1_1_entry.html',1,'linear_probing::Entry'],['../da/dd1/structquadratic__probing_1_1_entry.html',1,'quadratic_probing::Entry']]], - ['equal_5fto_6',['equal_to',['http://en.cppreference.com/w/cpp/utility/functional/equal_to.html',0,'std']]], - ['errc_7',['errc',['http://en.cppreference.com/w/cpp/error/errc.html',0,'std']]], - ['error_5fcategory_8',['error_category',['http://en.cppreference.com/w/cpp/error/error_category.html',0,'std']]], - ['error_5fcode_9',['error_code',['http://en.cppreference.com/w/cpp/error/error_code.html',0,'std']]], - ['error_5fcondition_10',['error_condition',['http://en.cppreference.com/w/cpp/error/error_condition.html',0,'std']]], - ['event_5fcallback_11',['event_callback',['http://en.cppreference.com/w/cpp/io/ios_base/event_callback.html',0,'std::basic_fstream< Char >::event_callback'],['http://en.cppreference.com/w/cpp/io/ios_base/event_callback.html',0,'std::basic_ifstream< Char >::event_callback'],['http://en.cppreference.com/w/cpp/io/ios_base/event_callback.html',0,'std::basic_ios< Char >::event_callback'],['http://en.cppreference.com/w/cpp/io/ios_base/event_callback.html',0,'std::basic_iostream< Char >::event_callback'],['http://en.cppreference.com/w/cpp/io/ios_base/event_callback.html',0,'std::basic_istream< Char >::event_callback'],['http://en.cppreference.com/w/cpp/io/ios_base/event_callback.html',0,'std::basic_istringstream< Char >::event_callback'],['http://en.cppreference.com/w/cpp/io/ios_base/event_callback.html',0,'std::basic_ofstream< Char >::event_callback'],['http://en.cppreference.com/w/cpp/io/ios_base/event_callback.html',0,'std::basic_ostream< Char >::event_callback'],['http://en.cppreference.com/w/cpp/io/ios_base/event_callback.html',0,'std::basic_ostringstream< Char >::event_callback'],['http://en.cppreference.com/w/cpp/io/ios_base/event_callback.html',0,'std::basic_stringstream< Char >::event_callback'],['http://en.cppreference.com/w/cpp/io/ios_base/event_callback.html',0,'std::fstream::event_callback'],['http://en.cppreference.com/w/cpp/io/ios_base/event_callback.html',0,'std::ifstream::event_callback'],['http://en.cppreference.com/w/cpp/io/ios_base/event_callback.html',0,'std::ios_base::event_callback'],['http://en.cppreference.com/w/cpp/io/ios_base/event_callback.html',0,'std::iostream::event_callback'],['http://en.cppreference.com/w/cpp/io/ios_base/event_callback.html',0,'std::istream::event_callback'],['http://en.cppreference.com/w/cpp/io/ios_base/event_callback.html',0,'std::istringstream::event_callback'],['http://en.cppreference.com/w/cpp/io/ios_base/event_callback.html',0,'std::istrstream::event_callback'],['http://en.cppreference.com/w/cpp/io/ios_base/event_callback.html',0,'std::ofstream::event_callback'],['http://en.cppreference.com/w/cpp/io/ios_base/event_callback.html',0,'std::ostream::event_callback'],['http://en.cppreference.com/w/cpp/io/ios_base/event_callback.html',0,'std::ostringstream::event_callback'],['http://en.cppreference.com/w/cpp/io/ios_base/event_callback.html',0,'std::ostrstream::event_callback'],['http://en.cppreference.com/w/cpp/io/ios_base/event_callback.html',0,'std::stringstream::event_callback'],['http://en.cppreference.com/w/cpp/io/ios_base/event_callback.html',0,'std::strstream::event_callback'],['http://en.cppreference.com/w/cpp/io/ios_base/event_callback.html',0,'std::wfstream::event_callback'],['http://en.cppreference.com/w/cpp/io/ios_base/event_callback.html',0,'std::wifstream::event_callback'],['http://en.cppreference.com/w/cpp/io/ios_base/event_callback.html',0,'std::wiostream::event_callback'],['http://en.cppreference.com/w/cpp/io/ios_base/event_callback.html',0,'std::wistream::event_callback'],['http://en.cppreference.com/w/cpp/io/ios_base/event_callback.html',0,'std::wistringstream::event_callback'],['http://en.cppreference.com/w/cpp/io/ios_base/event_callback.html',0,'std::wofstream::event_callback'],['http://en.cppreference.com/w/cpp/io/ios_base/event_callback.html',0,'std::wostream::event_callback'],['http://en.cppreference.com/w/cpp/io/ios_base/event_callback.html',0,'std::wostringstream::event_callback'],['http://en.cppreference.com/w/cpp/io/ios_base/event_callback.html',0,'std::wstringstream::event_callback']]], - ['exa_12',['exa',['http://en.cppreference.com/w/cpp/numeric/ratio/ratio.html',0,'std']]], - ['exception_13',['exception',['http://en.cppreference.com/w/cpp/error/exception.html',0,'std']]], - ['exception_5fptr_14',['exception_ptr',['http://en.cppreference.com/w/cpp/error/exception_ptr.html',0,'std']]], - ['exponential_5fdistribution_15',['exponential_distribution',['http://en.cppreference.com/w/cpp/numeric/random/exponential_distribution.html',0,'std']]], - ['extent_16',['extent',['http://en.cppreference.com/w/cpp/types/extent.html',0,'std']]], - ['extern_5ftype_17',['extern_type',['http://en.cppreference.com/w/cpp/locale/codecvt.html',0,'std::codecvt::extern_type'],['http://en.cppreference.com/w/cpp/locale/codecvt.html',0,'std::codecvt_byname::extern_type'],['http://en.cppreference.com/w/cpp/locale/codecvt.html',0,'std::codecvt_utf16::extern_type'],['http://en.cppreference.com/w/cpp/locale/codecvt.html',0,'std::codecvt_utf8::extern_type'],['http://en.cppreference.com/w/cpp/locale/codecvt.html',0,'std::codecvt_utf8_utf16::extern_type']]], - ['extreme_5fvalue_5fdistribution_18',['extreme_value_distribution',['http://en.cppreference.com/w/cpp/numeric/random/extreme_value_distribution.html',0,'std']]] + ['entry_3',['Entry',['../d9/dde/structdouble__hashing_1_1_entry.html',1,'double_hashing::Entry'],['../db/d19/structlinear__probing_1_1_entry.html',1,'linear_probing::Entry'],['../da/dd1/structquadratic__probing_1_1_entry.html',1,'quadratic_probing::Entry']]] ]; diff --git a/search/classes_5.js b/search/classes_5.js index 48030014f..a2a688fa9 100644 --- a/search/classes_5.js +++ b/search/classes_5.js @@ -1,21 +1,5 @@ var searchData= [ - ['facet_0',['facet',['http://en.cppreference.com/w/cpp/locale/locale/facet.html',0,'std::locale']]], - ['failure_1',['failure',['http://en.cppreference.com/w/cpp/io/ios_base/failure.html',0,'std::basic_fstream< Char >::failure'],['http://en.cppreference.com/w/cpp/io/ios_base/failure.html',0,'std::basic_ifstream< Char >::failure'],['http://en.cppreference.com/w/cpp/io/ios_base/failure.html',0,'std::basic_ios< Char >::failure'],['http://en.cppreference.com/w/cpp/io/ios_base/failure.html',0,'std::basic_iostream< Char >::failure'],['http://en.cppreference.com/w/cpp/io/ios_base/failure.html',0,'std::basic_istream< Char >::failure'],['http://en.cppreference.com/w/cpp/io/ios_base/failure.html',0,'std::basic_istringstream< Char >::failure'],['http://en.cppreference.com/w/cpp/io/ios_base/failure.html',0,'std::basic_ofstream< Char >::failure'],['http://en.cppreference.com/w/cpp/io/ios_base/failure.html',0,'std::basic_ostream< Char >::failure'],['http://en.cppreference.com/w/cpp/io/ios_base/failure.html',0,'std::basic_ostringstream< Char >::failure'],['http://en.cppreference.com/w/cpp/io/ios_base/failure.html',0,'std::basic_stringstream< Char >::failure'],['http://en.cppreference.com/w/cpp/io/ios_base/failure.html',0,'std::fstream::failure'],['http://en.cppreference.com/w/cpp/io/ios_base/failure.html',0,'std::ifstream::failure'],['http://en.cppreference.com/w/cpp/io/ios_base/failure.html',0,'std::ios_base::failure'],['http://en.cppreference.com/w/cpp/io/ios_base/failure.html',0,'std::iostream::failure'],['http://en.cppreference.com/w/cpp/io/ios_base/failure.html',0,'std::istream::failure'],['http://en.cppreference.com/w/cpp/io/ios_base/failure.html',0,'std::istringstream::failure'],['http://en.cppreference.com/w/cpp/io/ios_base/failure.html',0,'std::istrstream::failure'],['http://en.cppreference.com/w/cpp/io/ios_base/failure.html',0,'std::ofstream::failure'],['http://en.cppreference.com/w/cpp/io/ios_base/failure.html',0,'std::ostream::failure'],['http://en.cppreference.com/w/cpp/io/ios_base/failure.html',0,'std::ostringstream::failure'],['http://en.cppreference.com/w/cpp/io/ios_base/failure.html',0,'std::ostrstream::failure'],['http://en.cppreference.com/w/cpp/io/ios_base/failure.html',0,'std::stringstream::failure'],['http://en.cppreference.com/w/cpp/io/ios_base/failure.html',0,'std::strstream::failure'],['http://en.cppreference.com/w/cpp/io/ios_base/failure.html',0,'std::wfstream::failure'],['http://en.cppreference.com/w/cpp/io/ios_base/failure.html',0,'std::wifstream::failure'],['http://en.cppreference.com/w/cpp/io/ios_base/failure.html',0,'std::wiostream::failure'],['http://en.cppreference.com/w/cpp/io/ios_base/failure.html',0,'std::wistream::failure'],['http://en.cppreference.com/w/cpp/io/ios_base/failure.html',0,'std::wistringstream::failure'],['http://en.cppreference.com/w/cpp/io/ios_base/failure.html',0,'std::wofstream::failure'],['http://en.cppreference.com/w/cpp/io/ios_base/failure.html',0,'std::wostream::failure'],['http://en.cppreference.com/w/cpp/io/ios_base/failure.html',0,'std::wostringstream::failure'],['http://en.cppreference.com/w/cpp/io/ios_base/failure.html',0,'std::wstringstream::failure']]], - ['false_5ftype_2',['false_type',['http://en.cppreference.com/w/cpp/types/integral_constant.html',0,'std']]], - ['fcfs_3',['FCFS',['../dd/dca/class_f_c_f_s.html',1,'']]], - ['femto_4',['femto',['http://en.cppreference.com/w/cpp/numeric/ratio/ratio.html',0,'std']]], - ['fenwick_5ftree_5',['fenwick_tree',['../de/d0d/classrange__queries_1_1fenwick__tree.html',1,'range_queries']]], - ['file_6',['FILE',['http://en.cppreference.com/w/cpp/io/c.html',0,'std']]], - ['filebuf_7',['filebuf',['http://en.cppreference.com/w/cpp/io/basic_filebuf.html',0,'std']]], - ['fisher_5ff_5fdistribution_8',['fisher_f_distribution',['http://en.cppreference.com/w/cpp/numeric/random/fisher_f_distribution.html',0,'std']]], - ['forward_5fiterator_5ftag_9',['forward_iterator_tag',['http://en.cppreference.com/w/cpp/iterator/iterator_tags.html',0,'std']]], - ['forward_5flist_10',['forward_list',['http://en.cppreference.com/w/cpp/container/forward_list.html',0,'std']]], - ['fpos_11',['fpos',['http://en.cppreference.com/w/cpp/io/fpos.html',0,'std']]], - ['fpos_5ft_12',['fpos_t',['http://en.cppreference.com/w/cpp/io/c.html',0,'std']]], - ['front_5finsert_5fiterator_13',['front_insert_iterator',['http://en.cppreference.com/w/cpp/iterator/front_insert_iterator.html',0,'std']]], - ['fstream_14',['fstream',['http://en.cppreference.com/w/cpp/io/basic_fstream.html',0,'std']]], - ['function_15',['function',['http://en.cppreference.com/w/cpp/utility/functional/function.html',0,'std']]], - ['future_16',['future',['http://en.cppreference.com/w/cpp/thread/future.html',0,'std']]], - ['future_5ferror_17',['future_error',['http://en.cppreference.com/w/cpp/thread/future_error.html',0,'std']]] + ['fcfs_0',['FCFS',['../dd/dca/class_f_c_f_s.html',1,'']]], + ['fenwick_5ftree_1',['fenwick_tree',['../de/d0d/classrange__queries_1_1fenwick__tree.html',1,'range_queries']]] ]; diff --git a/search/classes_6.js b/search/classes_6.js index c0ca1a6fa..51652a352 100644 --- a/search/classes_6.js +++ b/search/classes_6.js @@ -1,10 +1,6 @@ var searchData= [ - ['gamma_5fdistribution_0',['gamma_distribution',['http://en.cppreference.com/w/cpp/numeric/random/gamma_distribution.html',0,'std']]], - ['generate_5fparentheses_1',['generate_parentheses',['../df/de5/classbacktracking_1_1generate__parentheses.html',1,'backtracking']]], - ['geometric_5fdistribution_2',['geometric_distribution',['../da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution.html',1,'probability::geometric_dist::geometric_distribution'],['http://en.cppreference.com/w/cpp/numeric/random/geometric_distribution.html',0,'std::geometric_distribution']]], - ['giga_3',['giga',['http://en.cppreference.com/w/cpp/numeric/ratio/ratio.html',0,'std']]], - ['graph_4',['Graph',['../da/d9a/class_graph.html',1,'Graph'],['../dc/d61/classgraph_1_1_graph.html',1,'graph::Graph< T >'],['../de/d00/classgraph_1_1is__graph__bipartite_1_1_graph.html',1,'graph::is_graph_bipartite::Graph'],['../d5/dec/classgraph_1_1topological__sort_1_1_graph.html',1,'graph::topological_sort::Graph'],['../d2/daa/classgreedy__algorithms_1_1dijkstra_1_1_graph.html',1,'greedy_algorithms::dijkstra::Graph']]], - ['greater_5',['greater',['http://en.cppreference.com/w/cpp/utility/functional/greater.html',0,'std']]], - ['greater_5fequal_6',['greater_equal',['http://en.cppreference.com/w/cpp/utility/functional/greater_equal.html',0,'std']]] + ['generate_5fparentheses_0',['generate_parentheses',['../df/de5/classbacktracking_1_1generate__parentheses.html',1,'backtracking']]], + ['geometric_5fdistribution_1',['geometric_distribution',['../da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution.html',1,'probability::geometric_dist']]], + ['graph_2',['Graph',['../da/d9a/class_graph.html',1,'Graph'],['../dc/d61/classgraph_1_1_graph.html',1,'graph::Graph< T >'],['../de/d00/classgraph_1_1is__graph__bipartite_1_1_graph.html',1,'graph::is_graph_bipartite::Graph'],['../d5/dec/classgraph_1_1topological__sort_1_1_graph.html',1,'graph::topological_sort::Graph'],['../d2/daa/classgreedy__algorithms_1_1dijkstra_1_1_graph.html',1,'greedy_algorithms::dijkstra::Graph']]] ]; diff --git a/search/classes_7.js b/search/classes_7.js index 078a74a3f..ec6def94a 100644 --- a/search/classes_7.js +++ b/search/classes_7.js @@ -1,13 +1,8 @@ var searchData= [ - ['has_5fvirtual_5fdestructor_0',['has_virtual_destructor',['http://en.cppreference.com/w/cpp/types/has_virtual_destructor.html',0,'std']]], - ['hash_1',['Hash',['../d6/d84/classhashing_1_1sha256_1_1_hash.html',1,'hashing::sha256']]], - ['hash_2',['hash',['http://en.cppreference.com/w/cpp/utility/hash.html',0,'std']]], - ['hash_5fchain_3',['hash_chain',['../dd/d1c/classhash__chain.html',1,'']]], - ['hecto_4',['hecto',['http://en.cppreference.com/w/cpp/numeric/ratio/ratio.html',0,'std']]], - ['high_5fresolution_5fclock_5',['high_resolution_clock',['http://en.cppreference.com/w/cpp/chrono/high_resolution_clock.html',0,'std::chrono']]], - ['hillcipher_6',['HillCipher',['../d6/d26/classciphers_1_1_hill_cipher.html',1,'ciphers']]], - ['hkgraph_7',['HKGraph',['../d8/d69/classgraph_1_1_h_k_graph.html',1,'graph']]], - ['hld_8',['HLD',['../d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d.html',1,'range_queries::heavy_light_decomposition']]], - ['hours_9',['hours',['http://en.cppreference.com/w/cpp/chrono/duration.html',0,'std::chrono']]] + ['hash_0',['Hash',['../d6/d84/classhashing_1_1sha256_1_1_hash.html',1,'hashing::sha256']]], + ['hash_5fchain_1',['hash_chain',['../dd/d1c/classhash__chain.html',1,'']]], + ['hillcipher_2',['HillCipher',['../d6/d26/classciphers_1_1_hill_cipher.html',1,'ciphers']]], + ['hkgraph_3',['HKGraph',['../d8/d69/classgraph_1_1_h_k_graph.html',1,'graph']]], + ['hld_4',['HLD',['../d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d.html',1,'range_queries::heavy_light_decomposition']]] ]; diff --git a/search/classes_8.js b/search/classes_8.js index 5562bc1e0..1664c9ea8 100644 --- a/search/classes_8.js +++ b/search/classes_8.js @@ -1,108 +1,11 @@ var searchData= [ - ['id_0',['id',['http://en.cppreference.com/w/cpp/locale/locale/id.html',0,'std::locale::id'],['http://en.cppreference.com/w/cpp/thread/thread/id.html',0,'std::thread::id']]], - ['ifstream_1',['ifstream',['http://en.cppreference.com/w/cpp/io/basic_ifstream.html',0,'std']]], - ['independent_5fbits_5fengine_2',['independent_bits_engine',['http://en.cppreference.com/w/cpp/numeric/random/independent_bits_engine.html',0,'std']]], - ['info_3',['Info',['../da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html',1,'machine_learning::aystar_search::AyStarSearch']]], - ['initializer_5flist_4',['initializer_list',['http://en.cppreference.com/w/cpp/utility/initializer_list.html',0,'std']]], - ['input_5fiterator_5ftag_5',['input_iterator_tag',['http://en.cppreference.com/w/cpp/iterator/iterator_tags.html',0,'std']]], - ['insert_5fiterator_6',['insert_iterator',['http://en.cppreference.com/w/cpp/iterator/insert_iterator.html',0,'std']]], - ['int16_5ft_7',['int16_t',['http://en.cppreference.com/w/cpp/types/integer.html',0,'std']]], - ['int32_5ft_8',['int32_t',['http://en.cppreference.com/w/cpp/types/integer.html',0,'std']]], - ['int64_5ft_9',['int64_t',['http://en.cppreference.com/w/cpp/types/integer.html',0,'std']]], - ['int8_5ft_10',['int8_t',['http://en.cppreference.com/w/cpp/types/integer.html',0,'std']]], - ['int_5ffast16_5ft_11',['int_fast16_t',['http://en.cppreference.com/w/cpp/types/integer.html',0,'std']]], - ['int_5ffast32_5ft_12',['int_fast32_t',['http://en.cppreference.com/w/cpp/types/integer.html',0,'std']]], - ['int_5ffast64_5ft_13',['int_fast64_t',['http://en.cppreference.com/w/cpp/types/integer.html',0,'std']]], - ['int_5ffast8_5ft_14',['int_fast8_t',['http://en.cppreference.com/w/cpp/types/integer.html',0,'std']]], - ['int_5fleast16_5ft_15',['int_least16_t',['http://en.cppreference.com/w/cpp/types/integer.html',0,'std']]], - ['int_5fleast32_5ft_16',['int_least32_t',['http://en.cppreference.com/w/cpp/types/integer.html',0,'std']]], - ['int_5fleast64_5ft_17',['int_least64_t',['http://en.cppreference.com/w/cpp/types/integer.html',0,'std']]], - ['int_5fleast8_5ft_18',['int_least8_t',['http://en.cppreference.com/w/cpp/types/integer.html',0,'std']]], - ['integer_5fsequence_19',['integer_sequence',['http://en.cppreference.com/w/cpp/utility/integer_sequence.html',0,'std']]], - ['integral_5fconstant_20',['integral_constant',['http://en.cppreference.com/w/cpp/types/integral_constant.html',0,'std']]], - ['intern_5ftype_21',['intern_type',['http://en.cppreference.com/w/cpp/locale/codecvt.html',0,'std::codecvt::intern_type'],['http://en.cppreference.com/w/cpp/locale/codecvt.html',0,'std::codecvt_byname::intern_type'],['http://en.cppreference.com/w/cpp/locale/codecvt.html',0,'std::codecvt_utf16::intern_type'],['http://en.cppreference.com/w/cpp/locale/codecvt.html',0,'std::codecvt_utf8::intern_type'],['http://en.cppreference.com/w/cpp/locale/codecvt.html',0,'std::codecvt_utf8_utf16::intern_type']]], - ['intmax_5ft_22',['intmax_t',['http://en.cppreference.com/w/cpp/types/integer.html',0,'std']]], - ['intptr_5ft_23',['intptr_t',['http://en.cppreference.com/w/cpp/types/integer.html',0,'std']]], - ['invalid_5fargument_24',['invalid_argument',['http://en.cppreference.com/w/cpp/error/invalid_argument.html',0,'std']]], - ['ios_5fbase_25',['ios_base',['http://en.cppreference.com/w/cpp/io/ios_base.html',0,'std']]], - ['iostream_26',['iostream',['http://en.cppreference.com/w/cpp/io/basic_iostream.html',0,'std']]], - ['is_5fabstract_27',['is_abstract',['http://en.cppreference.com/w/cpp/types/is_abstract.html',0,'std']]], - ['is_5farithmetic_28',['is_arithmetic',['http://en.cppreference.com/w/cpp/types/is_arithmetic.html',0,'std']]], - ['is_5farithmetic_3c_20uint128_5ft_20_3e_29',['is_arithmetic< uint128_t >',['../d2/dfc/structstd_1_1is__arithmetic_3_01uint128__t_01_4.html',1,'std']]], - ['is_5farithmetic_3c_20uint256_5ft_20_3e_30',['is_arithmetic< uint256_t >',['../dc/d6d/structstd_1_1is__arithmetic_3_01uint256__t_01_4.html',1,'std']]], - ['is_5farray_31',['is_array',['http://en.cppreference.com/w/cpp/types/is_array.html',0,'std']]], - ['is_5fassignable_32',['is_assignable',['http://en.cppreference.com/w/cpp/types/is_assignable.html',0,'std']]], - ['is_5fbase_5fof_33',['is_base_of',['http://en.cppreference.com/w/cpp/types/is_base_of.html',0,'std']]], - ['is_5fbind_5fexpression_34',['is_bind_expression',['http://en.cppreference.com/w/cpp/utility/functional/is_bind_expression.html',0,'std']]], - ['is_5fclass_35',['is_class',['http://en.cppreference.com/w/cpp/types/is_class.html',0,'std']]], - ['is_5fcompound_36',['is_compound',['http://en.cppreference.com/w/cpp/types/is_compound.html',0,'std']]], - ['is_5fconst_37',['is_const',['http://en.cppreference.com/w/cpp/types/is_const.html',0,'std']]], - ['is_5fconstructible_38',['is_constructible',['http://en.cppreference.com/w/cpp/types/is_constructible.html',0,'std']]], - ['is_5fconvertible_39',['is_convertible',['http://en.cppreference.com/w/cpp/types/is_convertible.html',0,'std']]], - ['is_5fcopy_5fassignable_40',['is_copy_assignable',['http://en.cppreference.com/w/cpp/types/is_copy_assignable.html',0,'std']]], - ['is_5fcopy_5fconstructible_41',['is_copy_constructible',['http://en.cppreference.com/w/cpp/types/is_copy_constructible.html',0,'std']]], - ['is_5fdefault_5fconstructible_42',['is_default_constructible',['http://en.cppreference.com/w/cpp/types/is_default_constructible.html',0,'std']]], - ['is_5fdestructible_43',['is_destructible',['http://en.cppreference.com/w/cpp/types/is_destructible.html',0,'std']]], - ['is_5fempty_44',['is_empty',['http://en.cppreference.com/w/cpp/types/is_empty.html',0,'std']]], - ['is_5fenum_45',['is_enum',['http://en.cppreference.com/w/cpp/types/is_enum.html',0,'std']]], - ['is_5ferror_5fcode_5fenum_46',['is_error_code_enum',['http://en.cppreference.com/w/cpp/error/error_code/is_error_code_enum.html',0,'std']]], - ['is_5ferror_5fcondition_5fenum_47',['is_error_condition_enum',['http://en.cppreference.com/w/cpp/error/error_condition/is_error_condition_enum.html',0,'std']]], - ['is_5ffloating_5fpoint_48',['is_floating_point',['http://en.cppreference.com/w/cpp/types/is_floating_point.html',0,'std']]], - ['is_5ffunction_49',['is_function',['http://en.cppreference.com/w/cpp/types/is_function.html',0,'std']]], - ['is_5ffundamental_50',['is_fundamental',['http://en.cppreference.com/w/cpp/types/is_fundamental.html',0,'std']]], - ['is_5fintegral_51',['is_integral',['http://en.cppreference.com/w/cpp/types/is_integral.html',0,'std']]], - ['is_5fintegral_3c_20uint128_5ft_20_3e_52',['is_integral< uint128_t >',['../d2/dd4/structstd_1_1is__integral_3_01uint128__t_01_4.html',1,'std']]], - ['is_5fintegral_3c_20uint256_5ft_20_3e_53',['is_integral< uint256_t >',['../d7/d47/structstd_1_1is__integral_3_01uint256__t_01_4.html',1,'std']]], - ['is_5fliteral_5ftype_54',['is_literal_type',['http://en.cppreference.com/w/cpp/types/is_literal_type.html',0,'std']]], - ['is_5flvalue_5freference_55',['is_lvalue_reference',['http://en.cppreference.com/w/cpp/types/is_lvalue_reference.html',0,'std']]], - ['is_5fmember_5ffunction_5fpointer_56',['is_member_function_pointer',['http://en.cppreference.com/w/cpp/types/is_member_function_pointer.html',0,'std']]], - ['is_5fmember_5fobject_5fpointer_57',['is_member_object_pointer',['http://en.cppreference.com/w/cpp/types/is_member_object_pointer.html',0,'std']]], - ['is_5fmember_5fpointer_58',['is_member_pointer',['http://en.cppreference.com/w/cpp/types/is_member_pointer.html',0,'std']]], - ['is_5fmove_5fassignable_59',['is_move_assignable',['http://en.cppreference.com/w/cpp/types/is_move_assignable.html',0,'std']]], - ['is_5fmove_5fconstructible_60',['is_move_constructible',['http://en.cppreference.com/w/cpp/types/is_move_constructible.html',0,'std']]], - ['is_5fnothrow_5fassignable_61',['is_nothrow_assignable',['http://en.cppreference.com/w/cpp/types/is_assignable.html',0,'std']]], - ['is_5fnothrow_5fconstructible_62',['is_nothrow_constructible',['http://en.cppreference.com/w/cpp/types/is_constructible.html',0,'std']]], - ['is_5fnothrow_5fcopy_5fassignable_63',['is_nothrow_copy_assignable',['http://en.cppreference.com/w/cpp/types/is_copy_assignable.html',0,'std']]], - ['is_5fnothrow_5fcopy_5fconstructible_64',['is_nothrow_copy_constructible',['http://en.cppreference.com/w/cpp/types/is_copy_constructible.html',0,'std']]], - ['is_5fnothrow_5fdefault_5fconstructible_65',['is_nothrow_default_constructible',['http://en.cppreference.com/w/cpp/types/is_default_constructible.html',0,'std']]], - ['is_5fnothrow_5fdestructible_66',['is_nothrow_destructible',['http://en.cppreference.com/w/cpp/types/is_destructible.html',0,'std']]], - ['is_5fnothrow_5fmove_5fassignable_67',['is_nothrow_move_assignable',['http://en.cppreference.com/w/cpp/types/is_move_assignable.html',0,'std']]], - ['is_5fnothrow_5fmove_5fconstructible_68',['is_nothrow_move_constructible',['http://en.cppreference.com/w/cpp/types/is_move_constructible.html',0,'std']]], - ['is_5fobject_69',['is_object',['http://en.cppreference.com/w/cpp/types/is_object.html',0,'std']]], - ['is_5fplaceholder_70',['is_placeholder',['http://en.cppreference.com/w/cpp/utility/functional/is_placeholder.html',0,'std']]], - ['is_5fpod_71',['is_pod',['http://en.cppreference.com/w/cpp/types/is_pod.html',0,'std']]], - ['is_5fpointer_72',['is_pointer',['http://en.cppreference.com/w/cpp/types/is_pointer.html',0,'std']]], - ['is_5fpolymorphic_73',['is_polymorphic',['http://en.cppreference.com/w/cpp/types/is_polymorphic.html',0,'std']]], - ['is_5freference_74',['is_reference',['http://en.cppreference.com/w/cpp/types/is_reference.html',0,'std']]], - ['is_5frvalue_5freference_75',['is_rvalue_reference',['http://en.cppreference.com/w/cpp/types/is_rvalue_reference.html',0,'std']]], - ['is_5fsame_76',['is_same',['http://en.cppreference.com/w/cpp/types/is_same.html',0,'std']]], - ['is_5fscalar_77',['is_scalar',['http://en.cppreference.com/w/cpp/types/is_scalar.html',0,'std']]], - ['is_5fsigned_78',['is_signed',['http://en.cppreference.com/w/cpp/types/is_signed.html',0,'std']]], - ['is_5fstandard_5flayout_79',['is_standard_layout',['http://en.cppreference.com/w/cpp/types/is_standard_layout.html',0,'std']]], - ['is_5ftrivial_80',['is_trivial',['http://en.cppreference.com/w/cpp/types/is_trivial.html',0,'std']]], - ['is_5ftrivially_5fassignable_81',['is_trivially_assignable',['http://en.cppreference.com/w/cpp/types/is_assignable.html',0,'std']]], - ['is_5ftrivially_5fconstructible_82',['is_trivially_constructible',['http://en.cppreference.com/w/cpp/types/is_constructible.html',0,'std']]], - ['is_5ftrivially_5fcopy_5fassignable_83',['is_trivially_copy_assignable',['http://en.cppreference.com/w/cpp/types/is_copy_assignable.html',0,'std']]], - ['is_5ftrivially_5fcopy_5fconstructible_84',['is_trivially_copy_constructible',['http://en.cppreference.com/w/cpp/types/is_copy_constructible.html',0,'std']]], - ['is_5ftrivially_5fcopyable_85',['is_trivially_copyable',['http://en.cppreference.com/w/cpp/types/is_trivially_copyable.html',0,'std']]], - ['is_5ftrivially_5fdefault_5fconstructible_86',['is_trivially_default_constructible',['http://en.cppreference.com/w/cpp/types/is_default_constructible.html',0,'std']]], - ['is_5ftrivially_5fdestructible_87',['is_trivially_destructible',['http://en.cppreference.com/w/cpp/types/is_destructible.html',0,'std']]], - ['is_5ftrivially_5fmove_5fassignable_88',['is_trivially_move_assignable',['http://en.cppreference.com/w/cpp/types/is_move_assignable.html',0,'std']]], - ['is_5ftrivially_5fmove_5fconstructible_89',['is_trivially_move_constructible',['http://en.cppreference.com/w/cpp/types/is_move_constructible.html',0,'std']]], - ['is_5funion_90',['is_union',['http://en.cppreference.com/w/cpp/types/is_union.html',0,'std']]], - ['is_5funsigned_91',['is_unsigned',['http://en.cppreference.com/w/cpp/types/is_unsigned.html',0,'std']]], - ['is_5funsigned_3c_20uint128_5ft_20_3e_92',['is_unsigned< uint128_t >',['../d5/d25/structstd_1_1is__unsigned_3_01uint128__t_01_4.html',1,'std']]], - ['is_5funsigned_3c_20uint256_5ft_20_3e_93',['is_unsigned< uint256_t >',['../df/d99/structstd_1_1is__unsigned_3_01uint256__t_01_4.html',1,'std']]], - ['is_5fvoid_94',['is_void',['http://en.cppreference.com/w/cpp/types/is_void.html',0,'std']]], - ['is_5fvolatile_95',['is_volatile',['http://en.cppreference.com/w/cpp/types/is_volatile.html',0,'std']]], - ['istream_96',['istream',['http://en.cppreference.com/w/cpp/io/basic_istream.html',0,'std']]], - ['istream_5fiterator_97',['istream_iterator',['http://en.cppreference.com/w/cpp/iterator/istream_iterator.html',0,'std']]], - ['istreambuf_5fiterator_98',['istreambuf_iterator',['http://en.cppreference.com/w/cpp/iterator/istreambuf_iterator.html',0,'std']]], - ['istringstream_99',['istringstream',['http://en.cppreference.com/w/cpp/io/basic_istringstream.html',0,'std']]], - ['istrstream_100',['istrstream',['http://en.cppreference.com/w/cpp/io/istrstream.html',0,'std']]], - ['item_101',['Item',['../db/d66/struct_item.html',1,'']]], - ['iter_5ftype_102',['iter_type',['http://en.cppreference.com/w/cpp/locale/money_get.html',0,'std::money_get::iter_type'],['http://en.cppreference.com/w/cpp/locale/money_put.html',0,'std::money_put::iter_type'],['http://en.cppreference.com/w/cpp/locale/num_get.html',0,'std::num_get::iter_type'],['http://en.cppreference.com/w/cpp/locale/num_put.html',0,'std::num_put::iter_type'],['http://en.cppreference.com/w/cpp/locale/time_get.html',0,'std::time_get::iter_type'],['http://en.cppreference.com/w/cpp/locale/time_get.html',0,'std::time_get_byname::iter_type'],['http://en.cppreference.com/w/cpp/locale/time_put.html',0,'std::time_put::iter_type'],['http://en.cppreference.com/w/cpp/locale/time_put.html',0,'std::time_put_byname::iter_type']]], - ['iterator_103',['iterator',['http://en.cppreference.com/w/cpp/iterator/iterator.html',0,'std']]], - ['iterator_5ftraits_104',['iterator_traits',['http://en.cppreference.com/w/cpp/iterator/iterator_traits.html',0,'std']]] + ['info_0',['Info',['../da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html',1,'machine_learning::aystar_search::AyStarSearch']]], + ['is_5farithmetic_3c_20uint128_5ft_20_3e_1',['is_arithmetic< uint128_t >',['../d2/dfc/structstd_1_1is__arithmetic_3_01uint128__t_01_4.html',1,'std']]], + ['is_5farithmetic_3c_20uint256_5ft_20_3e_2',['is_arithmetic< uint256_t >',['../dc/d6d/structstd_1_1is__arithmetic_3_01uint256__t_01_4.html',1,'std']]], + ['is_5fintegral_3c_20uint128_5ft_20_3e_3',['is_integral< uint128_t >',['../d2/dd4/structstd_1_1is__integral_3_01uint128__t_01_4.html',1,'std']]], + ['is_5fintegral_3c_20uint256_5ft_20_3e_4',['is_integral< uint256_t >',['../d7/d47/structstd_1_1is__integral_3_01uint256__t_01_4.html',1,'std']]], + ['is_5funsigned_3c_20uint128_5ft_20_3e_5',['is_unsigned< uint128_t >',['../d5/d25/structstd_1_1is__unsigned_3_01uint128__t_01_4.html',1,'std']]], + ['is_5funsigned_3c_20uint256_5ft_20_3e_6',['is_unsigned< uint256_t >',['../df/d99/structstd_1_1is__unsigned_3_01uint256__t_01_4.html',1,'std']]], + ['item_7',['Item',['../db/d66/struct_item.html',1,'']]] ]; diff --git a/search/classes_9.js b/search/classes_9.js index d62a24b31..a6f127cd0 100644 --- a/search/classes_9.js +++ b/search/classes_9.js @@ -1,4 +1,4 @@ var searchData= [ - ['jmp_5fbuf_0',['jmp_buf',['http://en.cppreference.com/w/cpp/utility/program/jmp_buf.html',0,'std']]] + ['knn_0',['Knn',['../da/d94/classmachine__learning_1_1k__nearest__neighbors_1_1_knn.html',1,'machine_learning::k_nearest_neighbors']]] ]; diff --git a/search/classes_a.js b/search/classes_a.js index 428636164..7841de90c 100644 --- a/search/classes_a.js +++ b/search/classes_a.js @@ -1,6 +1,12 @@ var searchData= [ - ['kilo_0',['kilo',['http://en.cppreference.com/w/cpp/numeric/ratio/ratio.html',0,'std']]], - ['knn_1',['Knn',['../da/d94/classmachine__learning_1_1k__nearest__neighbors_1_1_knn.html',1,'machine_learning::k_nearest_neighbors']]], - ['knuth_5fb_2',['knuth_b',['http://en.cppreference.com/w/cpp/numeric/random/shuffle_order_engine.html',0,'std']]] + ['large_5fnumber_0',['large_number',['../db/d82/classlarge__number.html',1,'']]], + ['lfucache_1',['LFUCache',['../df/d8f/classothers_1_1_cache_1_1_l_f_u_cache.html',1,'others::Cache']]], + ['link_2',['link',['../de/d9d/classdata__structures_1_1linked__list_1_1link.html',1,'data_structures::linked_list']]], + ['linkedlist_3',['linkedlist',['../d0/dff/structlinkedlist.html',1,'']]], + ['list_4',['list',['../d1/def/classdata__structures_1_1linked__list_1_1list.html',1,'data_structures::linked_list::list'],['../d5/dab/structdata__structures_1_1list__array_1_1list.html',1,'data_structures::list_array::list< N >'],['../d8/d10/structlist.html',1,'list']]], + ['listnode_5',['ListNode',['../d7/da4/struct_list_node.html',1,'']]], + ['longest_5fsubstring_6',['Longest_Substring',['../da/d21/class_longest___substring.html',1,'']]], + ['lowestcommonancestor_7',['LowestCommonAncestor',['../d9/d23/classgraph_1_1_lowest_common_ancestor.html',1,'graph']]], + ['lrucache_8',['LRUCache',['../d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache.html',1,'others::Cache::LRUCache< K, V >'],['../d6/dae/classothers_1_1lru__cache_1_1_l_r_u_cache.html',1,'others::lru_cache::LRUCache']]] ]; diff --git a/search/classes_b.js b/search/classes_b.js index 7abb99b73..e1ab8e2c4 100644 --- a/search/classes_b.js +++ b/search/classes_b.js @@ -1,26 +1,7 @@ var searchData= [ - ['large_5fnumber_0',['large_number',['../db/d82/classlarge__number.html',1,'']]], - ['lconv_1',['lconv',['http://en.cppreference.com/w/cpp/locale/lconv.html',0,'std']]], - ['length_5ferror_2',['length_error',['http://en.cppreference.com/w/cpp/error/length_error.html',0,'std']]], - ['less_3',['less',['http://en.cppreference.com/w/cpp/utility/functional/less.html',0,'std']]], - ['less_5fequal_4',['less_equal',['http://en.cppreference.com/w/cpp/utility/functional/less_equal.html',0,'std']]], - ['lfucache_5',['LFUCache',['../df/d8f/classothers_1_1_cache_1_1_l_f_u_cache.html',1,'others::Cache']]], - ['linear_5fcongruential_5fengine_6',['linear_congruential_engine',['http://en.cppreference.com/w/cpp/numeric/random/linear_congruential_engine.html',0,'std']]], - ['link_7',['link',['../de/d9d/classdata__structures_1_1linked__list_1_1link.html',1,'data_structures::linked_list']]], - ['linkedlist_8',['linkedlist',['../d0/dff/structlinkedlist.html',1,'']]], - ['list_9',['list',['../d1/def/classdata__structures_1_1linked__list_1_1list.html',1,'data_structures::linked_list::list'],['../d5/dab/structdata__structures_1_1list__array_1_1list.html',1,'data_structures::list_array::list< N >'],['../d8/d10/structlist.html',1,'list'],['http://en.cppreference.com/w/cpp/container/list.html',0,'std::list< T >']]], - ['list_3c_20int_20_3e_10',['list< int >',['http://en.cppreference.com/w/cpp/container/list.html',0,'std']]], - ['list_3c_20uint64_5ft_20_3e_11',['list< uint64_t >',['http://en.cppreference.com/w/cpp/container/list.html',0,'std']]], - ['listnode_12',['ListNode',['../d7/da4/struct_list_node.html',1,'']]], - ['locale_13',['locale',['http://en.cppreference.com/w/cpp/locale/locale.html',0,'std']]], - ['lock_5fguard_14',['lock_guard',['http://en.cppreference.com/w/cpp/thread/lock_guard.html',0,'std']]], - ['logic_5ferror_15',['logic_error',['http://en.cppreference.com/w/cpp/error/logic_error.html',0,'std']]], - ['logical_5fand_16',['logical_and',['http://en.cppreference.com/w/cpp/utility/functional/logical_and.html',0,'std']]], - ['logical_5fnot_17',['logical_not',['http://en.cppreference.com/w/cpp/utility/functional/logical_not.html',0,'std']]], - ['logical_5for_18',['logical_or',['http://en.cppreference.com/w/cpp/utility/functional/logical_or.html',0,'std']]], - ['lognormal_5fdistribution_19',['lognormal_distribution',['http://en.cppreference.com/w/cpp/numeric/random/lognormal_distribution.html',0,'std']]], - ['longest_5fsubstring_20',['Longest_Substring',['../da/d21/class_longest___substring.html',1,'']]], - ['lowestcommonancestor_21',['LowestCommonAncestor',['../d9/d23/classgraph_1_1_lowest_common_ancestor.html',1,'graph']]], - ['lrucache_22',['LRUCache',['../d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache.html',1,'others::Cache::LRUCache< K, V >'],['../d6/dae/classothers_1_1lru__cache_1_1_l_r_u_cache.html',1,'others::lru_cache::LRUCache']]] + ['matrix_0',['Matrix',['../dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix.html',1,'divide_and_conquer::strassens_multiplication']]], + ['minheap_1',['MinHeap',['../d2/d05/class_min_heap.html',1,'']]], + ['minheapnode_2',['MinHeapNode',['../d5/d29/struct_min_heap_node.html',1,'']]], + ['mst_3',['mst',['../d1/d77/structmst.html',1,'']]] ]; diff --git a/search/classes_c.js b/search/classes_c.js index e1e53a42f..4fd6d9035 100644 --- a/search/classes_c.js +++ b/search/classes_c.js @@ -1,43 +1,8 @@ var searchData= [ - ['make_5fsigned_0',['make_signed',['http://en.cppreference.com/w/cpp/types/make_signed.html',0,'std']]], - ['make_5funsigned_1',['make_unsigned',['http://en.cppreference.com/w/cpp/types/make_unsigned.html',0,'std']]], - ['map_2',['map',['http://en.cppreference.com/w/cpp/container/map.html',0,'std']]], - ['map_3c_20t_2c_20std_3a_3alist_3c_20t_20_3e_20_3e_3',['map< T, std::list< T > >',['http://en.cppreference.com/w/cpp/container/map.html',0,'std']]], - ['map_3c_20unsigned_20int_2c_20std_3a_3avector_3c_20unsigned_20int_20_3e_20_3e_4',['map< unsigned int, std::vector< unsigned int > >',['http://en.cppreference.com/w/cpp/container/map.html',0,'std']]], - ['mask_5',['mask',['http://en.cppreference.com/w/cpp/locale/ctype_base.html',0,'std::ctype::mask'],['http://en.cppreference.com/w/cpp/locale/ctype_base.html',0,'std::ctype_base::mask'],['http://en.cppreference.com/w/cpp/locale/ctype_base.html',0,'std::ctype_byname::mask']]], - ['match_5fresults_6',['match_results',['http://en.cppreference.com/w/cpp/regex/match_results.html',0,'std']]], - ['matrix_7',['Matrix',['../dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix.html',1,'divide_and_conquer::strassens_multiplication']]], - ['max_5falign_5ft_8',['max_align_t',['http://en.cppreference.com/w/cpp/types/max_align_t.html',0,'std']]], - ['mbstate_5ft_9',['mbstate_t',['http://en.cppreference.com/w/cpp/string/multibyte/mbstate_t.html',0,'std']]], - ['mega_10',['mega',['http://en.cppreference.com/w/cpp/numeric/ratio/ratio.html',0,'std']]], - ['mersenne_5ftwister_5fengine_11',['mersenne_twister_engine',['http://en.cppreference.com/w/cpp/numeric/random/mersenne_twister_engine.html',0,'std']]], - ['messages_12',['messages',['http://en.cppreference.com/w/cpp/locale/messages.html',0,'std']]], - ['messages_5fbase_13',['messages_base',['http://en.cppreference.com/w/cpp/locale/messages_base.html',0,'std']]], - ['messages_5fbyname_14',['messages_byname',['http://en.cppreference.com/w/cpp/locale/messages_byname.html',0,'std']]], - ['micro_15',['micro',['http://en.cppreference.com/w/cpp/numeric/ratio/ratio.html',0,'std']]], - ['microseconds_16',['microseconds',['http://en.cppreference.com/w/cpp/chrono/duration.html',0,'std::chrono']]], - ['milli_17',['milli',['http://en.cppreference.com/w/cpp/numeric/ratio/ratio.html',0,'std']]], - ['milliseconds_18',['milliseconds',['http://en.cppreference.com/w/cpp/chrono/duration.html',0,'std::chrono']]], - ['minheap_19',['MinHeap',['../d2/d05/class_min_heap.html',1,'']]], - ['minheapnode_20',['MinHeapNode',['../d5/d29/struct_min_heap_node.html',1,'']]], - ['minstd_5frand_21',['minstd_rand',['http://en.cppreference.com/w/cpp/numeric/random/linear_congruential_engine.html',0,'std']]], - ['minstd_5frand0_22',['minstd_rand0',['http://en.cppreference.com/w/cpp/numeric/random/linear_congruential_engine.html',0,'std']]], - ['minus_23',['minus',['http://en.cppreference.com/w/cpp/utility/functional/minus.html',0,'std']]], - ['minutes_24',['minutes',['http://en.cppreference.com/w/cpp/chrono/duration.html',0,'std::chrono']]], - ['modulus_25',['modulus',['http://en.cppreference.com/w/cpp/utility/functional/modulus.html',0,'std']]], - ['money_5fbase_26',['money_base',['http://en.cppreference.com/w/cpp/locale/money_base.html',0,'std']]], - ['money_5fget_27',['money_get',['http://en.cppreference.com/w/cpp/locale/money_get.html',0,'std']]], - ['money_5fput_28',['money_put',['http://en.cppreference.com/w/cpp/locale/money_put.html',0,'std']]], - ['moneypunct_29',['moneypunct',['http://en.cppreference.com/w/cpp/locale/moneypunct.html',0,'std']]], - ['moneypunct_5fbyname_30',['moneypunct_byname',['http://en.cppreference.com/w/cpp/locale/moneypunct_byname.html',0,'std']]], - ['move_5fiterator_31',['move_iterator',['http://en.cppreference.com/w/cpp/iterator/move_iterator.html',0,'std']]], - ['mst_32',['mst',['../d1/d77/structmst.html',1,'']]], - ['mt19937_33',['mt19937',['http://en.cppreference.com/w/cpp/numeric/random/mersenne_twister_engine.html',0,'std']]], - ['mt19937_5f64_34',['mt19937_64',['http://en.cppreference.com/w/cpp/numeric/random/mersenne_twister_engine.html',0,'std']]], - ['multimap_35',['multimap',['http://en.cppreference.com/w/cpp/container/multimap.html',0,'std']]], - ['multiplies_36',['multiplies',['http://en.cppreference.com/w/cpp/utility/functional/multiplies.html',0,'std']]], - ['multiset_37',['multiset',['http://en.cppreference.com/w/cpp/container/multiset.html',0,'std']]], - ['multiset_3c_20int_20_3e_38',['multiset< int >',['http://en.cppreference.com/w/cpp/container/multiset.html',0,'std']]], - ['mutex_39',['mutex',['http://en.cppreference.com/w/cpp/thread/mutex.html',0,'std']]] + ['ncrmodulop_0',['NCRModuloP',['../d6/dc1/classmath_1_1ncr__modulo__p_1_1_n_c_r_modulo_p.html',1,'math::ncr_modulo_p']]], + ['neuralnetwork_1',['NeuralNetwork',['../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html',1,'machine_learning::neural_network']]], + ['node_2',['Node',['../d4/d0e/classdata__structures_1_1linked__list_1_1_node.html',1,'data_structures::linked_list::Node'],['../d9/d49/structdata__structures_1_1_node.html',1,'data_structures::Node'],['../dd/d40/classdata__structures_1_1tree__234_1_1_node.html',1,'data_structures::tree_234::Node'],['../d5/d12/structdata__structures_1_1trie__using__hashmap_1_1_trie_1_1_node.html',1,'data_structures::trie_using_hashmap::Trie::Node'],['../db/d8b/struct_node.html',1,'Node< ValueType >'],['../da/d16/structoperations__on__datastructures_1_1circular__linked__list_1_1_node.html',1,'operations_on_datastructures::circular_linked_list::Node'],['../d5/db5/classoperations__on__datastructures_1_1inorder__traversal__of__bst_1_1_node.html',1,'operations_on_datastructures::inorder_traversal_of_bst::Node'],['../d8/dfd/structoperations__on__datastructures_1_1reverse__binary__tree_1_1_node.html',1,'operations_on_datastructures::reverse_binary_tree::Node'],['../d2/d9a/structothers_1_1iterative__tree__traversals_1_1_node.html',1,'others::iterative_tree_traversals::Node'],['../d9/df7/structothers_1_1recursive__tree__traversals_1_1_node.html',1,'others::recursive_tree_traversals::Node'],['../d5/d66/classrange__queries_1_1per_seg_tree_1_1_node.html',1,'range_queries::perSegTree::Node'],['../da/d61/structsearch_1_1sublist__search_1_1_node.html',1,'search::sublist_search::Node']]], + ['node_3',['node',['../d5/da1/structnode.html',1,'']]], + ['node_3c_20value_5ftype_20_3e_4',['Node< value_type >',['../db/d8b/struct_node.html',1,'']]] ]; diff --git a/search/classes_d.js b/search/classes_d.js index 9725bcc18..0c28d01a0 100644 --- a/search/classes_d.js +++ b/search/classes_d.js @@ -1,23 +1,6 @@ var searchData= [ - ['nano_0',['nano',['http://en.cppreference.com/w/cpp/numeric/ratio/ratio.html',0,'std']]], - ['nanoseconds_1',['nanoseconds',['http://en.cppreference.com/w/cpp/chrono/duration.html',0,'std::chrono']]], - ['ncrmodulop_2',['NCRModuloP',['../d6/dc1/classmath_1_1ncr__modulo__p_1_1_n_c_r_modulo_p.html',1,'math::ncr_modulo_p']]], - ['negate_3',['negate',['http://en.cppreference.com/w/cpp/utility/functional/negate.html',0,'std']]], - ['negative_5fbinomial_5fdistribution_4',['negative_binomial_distribution',['http://en.cppreference.com/w/cpp/numeric/random/negative_binomial_distribution.html',0,'std']]], - ['nested_5fexception_5',['nested_exception',['http://en.cppreference.com/w/cpp/error/nested_exception.html',0,'std']]], - ['neuralnetwork_6',['NeuralNetwork',['../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html',1,'machine_learning::neural_network']]], - ['new_5fhandler_7',['new_handler',['http://en.cppreference.com/w/cpp/memory/new/new_handler.html',0,'std']]], - ['node_8',['Node',['../d4/d0e/classdata__structures_1_1linked__list_1_1_node.html',1,'data_structures::linked_list::Node'],['../d9/d49/structdata__structures_1_1_node.html',1,'data_structures::Node'],['../dd/d40/classdata__structures_1_1tree__234_1_1_node.html',1,'data_structures::tree_234::Node'],['../d5/d12/structdata__structures_1_1trie__using__hashmap_1_1_trie_1_1_node.html',1,'data_structures::trie_using_hashmap::Trie::Node'],['../db/d8b/struct_node.html',1,'Node< ValueType >'],['../da/d16/structoperations__on__datastructures_1_1circular__linked__list_1_1_node.html',1,'operations_on_datastructures::circular_linked_list::Node'],['../d5/db5/classoperations__on__datastructures_1_1inorder__traversal__of__bst_1_1_node.html',1,'operations_on_datastructures::inorder_traversal_of_bst::Node'],['../d8/dfd/structoperations__on__datastructures_1_1reverse__binary__tree_1_1_node.html',1,'operations_on_datastructures::reverse_binary_tree::Node'],['../d2/d9a/structothers_1_1iterative__tree__traversals_1_1_node.html',1,'others::iterative_tree_traversals::Node'],['../d9/df7/structothers_1_1recursive__tree__traversals_1_1_node.html',1,'others::recursive_tree_traversals::Node'],['../d5/d66/classrange__queries_1_1per_seg_tree_1_1_node.html',1,'range_queries::perSegTree::Node'],['../da/d61/structsearch_1_1sublist__search_1_1_node.html',1,'search::sublist_search::Node']]], - ['node_9',['node',['../d5/da1/structnode.html',1,'']]], - ['node_3c_20value_5ftype_20_3e_10',['Node< value_type >',['../db/d8b/struct_node.html',1,'']]], - ['normal_5fdistribution_11',['normal_distribution',['http://en.cppreference.com/w/cpp/numeric/random/normal_distribution.html',0,'std']]], - ['not_5fequal_5fto_12',['not_equal_to',['http://en.cppreference.com/w/cpp/utility/functional/not_equal_to.html',0,'std']]], - ['nothrow_5ft_13',['nothrow_t',['http://en.cppreference.com/w/cpp/memory/new/nothrow_t.html',0,'std']]], - ['nullptr_5ft_14',['nullptr_t',['http://en.cppreference.com/w/cpp/types/nullptr_t.html',0,'std']]], - ['num_5fget_15',['num_get',['http://en.cppreference.com/w/cpp/locale/num_get.html',0,'std']]], - ['num_5fput_16',['num_put',['http://en.cppreference.com/w/cpp/locale/num_put.html',0,'std']]], - ['numeric_5flimits_17',['numeric_limits',['http://en.cppreference.com/w/cpp/types/numeric_limits.html',0,'std']]], - ['numpunct_18',['numpunct',['http://en.cppreference.com/w/cpp/locale/numpunct.html',0,'std']]], - ['numpunct_5fbyname_19',['numpunct_byname',['http://en.cppreference.com/w/cpp/locale/numpunct_byname.html',0,'std']]] + ['pattern_0',['pattern',['../dd/d5a/structstrings_1_1boyer__moore_1_1pattern.html',1,'strings::boyer_moore']]], + ['persegtree_1',['perSegTree',['../d8/d28/classrange__queries_1_1per_seg_tree.html',1,'range_queries']]], + ['point_2',['Point',['../d6/d45/structciphers_1_1elliptic__curve__key__exchange_1_1_point.html',1,'ciphers::elliptic_curve_key_exchange::Point'],['../d7/d48/structgeometry_1_1grahamscan_1_1_point.html',1,'geometry::grahamscan::Point'],['../d9/d5a/structgeometry_1_1jarvis_1_1_point.html',1,'geometry::jarvis::Point'],['../d8/dc8/struct_point.html',1,'Point']]] ]; diff --git a/search/classes_e.js b/search/classes_e.js index 35f87846d..d987de692 100644 --- a/search/classes_e.js +++ b/search/classes_e.js @@ -1,15 +1,7 @@ var searchData= [ - ['ofstream_0',['ofstream',['http://en.cppreference.com/w/cpp/io/basic_ofstream.html',0,'std']]], - ['once_5fflag_1',['once_flag',['http://en.cppreference.com/w/cpp/thread/once_flag.html',0,'std']]], - ['optional_2',['optional',['http://en.cppreference.com/w/cpp/experimental/optional.html',0,'std::experimental']]], - ['ostream_3',['ostream',['http://en.cppreference.com/w/cpp/io/basic_ostream.html',0,'std']]], - ['ostream_5fiterator_4',['ostream_iterator',['http://en.cppreference.com/w/cpp/iterator/ostream_iterator.html',0,'std']]], - ['ostreambuf_5fiterator_5',['ostreambuf_iterator',['http://en.cppreference.com/w/cpp/iterator/ostreambuf_iterator.html',0,'std']]], - ['ostringstream_6',['ostringstream',['http://en.cppreference.com/w/cpp/io/basic_ostringstream.html',0,'std']]], - ['ostrstream_7',['ostrstream',['http://en.cppreference.com/w/cpp/io/ostrstream.html',0,'std']]], - ['out_5fof_5frange_8',['out_of_range',['http://en.cppreference.com/w/cpp/error/out_of_range.html',0,'std']]], - ['output_5fiterator_5ftag_9',['output_iterator_tag',['http://en.cppreference.com/w/cpp/iterator/iterator_tags.html',0,'std']]], - ['overflow_5ferror_10',['overflow_error',['http://en.cppreference.com/w/cpp/error/overflow_error.html',0,'std']]], - ['owner_5fless_11',['owner_less',['http://en.cppreference.com/w/cpp/memory/owner_less.html',0,'std']]] + ['query_0',['query',['../dd/d1b/structquery.html',1,'']]], + ['queue_1',['Queue',['../dc/db5/struct_queue.html',1,'']]], + ['queue_2',['queue',['../db/da9/classqueue.html',1,'']]], + ['queue_5farray_3',['Queue_Array',['../d6/d04/classdata__structures_1_1queue__using__array_1_1_queue___array.html',1,'data_structures::queue_using_array']]] ]; diff --git a/search/classes_f.js b/search/classes_f.js index 850e61fbe..476da1b78 100644 --- a/search/classes_f.js +++ b/search/classes_f.js @@ -1,25 +1,5 @@ var searchData= [ - ['packaged_5ftask_0',['packaged_task',['http://en.cppreference.com/w/cpp/thread/packaged_task.html',0,'std']]], - ['pair_1',['pair',['http://en.cppreference.com/w/cpp/utility/pair.html',0,'std']]], - ['pair_3c_20int8_5ft_2c_20int8_5ft_20_3e_2',['pair< int8_t, int8_t >',['http://en.cppreference.com/w/cpp/utility/pair.html',0,'std']]], - ['pair_3c_20others_3a_3acache_3a_3ad_5fnode_3c_20k_2c_20v_20_3e_20_2a_2c_20int_20_3e_3',['pair< others::Cache::D_Node< K, V > *, int >',['http://en.cppreference.com/w/cpp/utility/pair.html',0,'std']]], - ['pair_3c_20others_3a_3acache_3a_3ad_5fnode_3c_20k_2c_20v_20_3e_20_2a_2c_20others_3a_3acache_3a_3ad_5fnode_3c_20k_2c_20v_20_3e_20_2a_20_3e_4',['pair< others::Cache::D_Node< K, V > *, others::Cache::D_Node< K, V > * >',['http://en.cppreference.com/w/cpp/utility/pair.html',0,'std']]], - ['pattern_5',['pattern',['http://en.cppreference.com/w/cpp/locale/money_base.html',0,'std::money_base::pattern'],['http://en.cppreference.com/w/cpp/locale/money_base.html',0,'std::money_get::pattern'],['http://en.cppreference.com/w/cpp/locale/money_base.html',0,'std::money_put::pattern'],['http://en.cppreference.com/w/cpp/locale/money_base.html',0,'std::moneypunct::pattern'],['http://en.cppreference.com/w/cpp/locale/money_base.html',0,'std::moneypunct_byname::pattern'],['../dd/d5a/structstrings_1_1boyer__moore_1_1pattern.html',1,'strings::boyer_moore::pattern']]], - ['persegtree_6',['perSegTree',['../d8/d28/classrange__queries_1_1per_seg_tree.html',1,'range_queries']]], - ['peta_7',['peta',['http://en.cppreference.com/w/cpp/numeric/ratio/ratio.html',0,'std']]], - ['pico_8',['pico',['http://en.cppreference.com/w/cpp/numeric/ratio/ratio.html',0,'std']]], - ['piecewise_5fconstant_5fdistribution_9',['piecewise_constant_distribution',['http://en.cppreference.com/w/cpp/numeric/random/piecewise_constant_distribution.html',0,'std']]], - ['piecewise_5fconstruct_5ft_10',['piecewise_construct_t',['http://en.cppreference.com/w/cpp/utility/piecewise_construct_t.html',0,'std']]], - ['piecewise_5flinear_5fdistribution_11',['piecewise_linear_distribution',['http://en.cppreference.com/w/cpp/numeric/random/piecewise_linear_distribution.html',0,'std']]], - ['placeholders_12',['placeholders',['http://en.cppreference.com/w/cpp/utility/functional/placeholders.html',0,'std']]], - ['plus_13',['plus',['http://en.cppreference.com/w/cpp/utility/functional/plus.html',0,'std']]], - ['point_14',['Point',['../d6/d45/structciphers_1_1elliptic__curve__key__exchange_1_1_point.html',1,'ciphers::elliptic_curve_key_exchange::Point'],['../d7/d48/structgeometry_1_1grahamscan_1_1_point.html',1,'geometry::grahamscan::Point'],['../d9/d5a/structgeometry_1_1jarvis_1_1_point.html',1,'geometry::jarvis::Point'],['../d8/dc8/struct_point.html',1,'Point']]], - ['pointer_5fsafety_15',['pointer_safety',['http://en.cppreference.com/w/cpp/memory/gc/pointer_safety.html',0,'std']]], - ['pointer_5ftraits_16',['pointer_traits',['http://en.cppreference.com/w/cpp/memory/pointer_traits.html',0,'std']]], - ['poisson_5fdistribution_17',['poisson_distribution',['http://en.cppreference.com/w/cpp/numeric/random/poisson_distribution.html',0,'std']]], - ['priority_5fqueue_18',['priority_queue',['http://en.cppreference.com/w/cpp/container/priority_queue.html',0,'std']]], - ['priority_5fqueue_3c_20std_3a_3atuple_3c_20s_2c_20t_2c_20e_2c_20double_2c_20double_2c_20double_20_3e_2c_20std_3a_3avector_3c_20std_3a_3atuple_3c_20s_2c_20t_2c_20e_2c_20double_2c_20double_2c_20double_20_3e_20_3e_2c_20compare_3c_20s_2c_20t_2c_20e_20_3e_20_3e_19',['priority_queue< std::tuple< S, T, E, double, double, double >, std::vector< std::tuple< S, T, E, double, double, double > >, Compare< S, T, E > >',['http://en.cppreference.com/w/cpp/container/priority_queue.html',0,'std']]], - ['promise_20',['promise',['http://en.cppreference.com/w/cpp/thread/promise.html',0,'std']]], - ['ptrdiff_5ft_21',['ptrdiff_t',['http://en.cppreference.com/w/cpp/types/ptrdiff_t.html',0,'std']]] + ['rbtree_0',['RBtree',['../d8/d72/class_r_btree.html',1,'']]], + ['rootedtree_1',['RootedTree',['../d0/d58/classgraph_1_1_rooted_tree.html',1,'graph']]] ]; diff --git a/search/functions_0.js b/search/functions_0.js index 9651c7188..63f714064 100644 --- a/search/functions_0.js +++ b/search/functions_0.js @@ -3,11 +3,10 @@ var searchData= ['_5f_5fdetailed_5fsingle_5fprediction_0',['__detailed_single_prediction',['../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#a361a45f3c3d8347d79103bf182d0570b',1,'machine_learning::neural_network::NeuralNetwork']]], ['_5f_5fget_5finteger_5ffrom_5fstring_1',['__get_integer_from_string',['../db/d9a/classuint128__t.html#a857a3c69c1e775a1bd3935c2bfbb02df',1,'uint128_t::__get_integer_from_string()'],['../d1/d83/classuint256__t.html#afee82fa5052e9d8c946b9205b943cec4',1,'uint256_t::__get_integer_from_string()']]], ['_5ferase_2',['_erase',['../d5/d95/structdata__structures_1_1treap_1_1_treap.html#aeb4bb0db68c7c04ef9498c88c3777887',1,'data_structures::treap::Treap']]], - ['_5fexit_3',['_Exit',['http://en.cppreference.com/w/cpp/utility/program/_Exit.html',0,'std']]], - ['_5fget_5fk_5fth_4',['_get_k_th',['../d5/d95/structdata__structures_1_1treap_1_1_treap.html#ad08520c0617eb8dcfcbfa90d258aa6b2',1,'data_structures::treap::Treap']]], - ['_5fget_5frank_5',['_get_rank',['../d5/d95/structdata__structures_1_1treap_1_1_treap.html#a9a77d22f97add119123108211c6655ec',1,'data_structures::treap::Treap']]], - ['_5finsert_6',['_insert',['../d5/d95/structdata__structures_1_1treap_1_1_treap.html#a6a023a4f0c42fb8ed5b3368fba1a5f2c',1,'data_structures::treap::Treap']]], - ['_5flez_7',['_lez',['../db/d9a/classuint128__t.html#af139bb6e630f1a61919f180978611cd2',1,'uint128_t::_lez()'],['../d1/d83/classuint256__t.html#a033d66c965e8d1fbc5bafb59ad60e163',1,'uint256_t::_lez()']]], - ['_5frandom_8',['_random',['../d9/d66/group__machine__learning.html#gaf5ce14f026d6d231bef29161bac2b485',1,'kohonen_som_topology.cpp']]], - ['_5ftrz_9',['_trz',['../db/d9a/classuint128__t.html#a7d2285a8a6e20b77f82f1f0351afe76e',1,'uint128_t::_trz()'],['../d1/d83/classuint256__t.html#a9ddd133cee83f3a2ab6ed60a7ccbc250',1,'uint256_t::_trz()']]] + ['_5fget_5fk_5fth_3',['_get_k_th',['../d5/d95/structdata__structures_1_1treap_1_1_treap.html#ad08520c0617eb8dcfcbfa90d258aa6b2',1,'data_structures::treap::Treap']]], + ['_5fget_5frank_4',['_get_rank',['../d5/d95/structdata__structures_1_1treap_1_1_treap.html#a9a77d22f97add119123108211c6655ec',1,'data_structures::treap::Treap']]], + ['_5finsert_5',['_insert',['../d5/d95/structdata__structures_1_1treap_1_1_treap.html#a6a023a4f0c42fb8ed5b3368fba1a5f2c',1,'data_structures::treap::Treap']]], + ['_5flez_6',['_lez',['../db/d9a/classuint128__t.html#af139bb6e630f1a61919f180978611cd2',1,'uint128_t::_lez()'],['../d1/d83/classuint256__t.html#a033d66c965e8d1fbc5bafb59ad60e163',1,'uint256_t::_lez()']]], + ['_5frandom_7',['_random',['../d9/d66/group__machine__learning.html#gaf5ce14f026d6d231bef29161bac2b485',1,'kohonen_som_topology.cpp']]], + ['_5ftrz_8',['_trz',['../db/d9a/classuint128__t.html#a7d2285a8a6e20b77f82f1f0351afe76e',1,'uint128_t::_trz()'],['../d1/d83/classuint256__t.html#a9ddd133cee83f3a2ab6ed60a7ccbc250',1,'uint256_t::_trz()']]] ]; diff --git a/search/functions_1.js b/search/functions_1.js index 22af57896..75b450b13 100644 --- a/search/functions_1.js +++ b/search/functions_1.js @@ -1,100 +1,35 @@ var searchData= [ - ['a_0',['a',['http://en.cppreference.com/w/cpp/numeric/random/extreme_value_distribution/params.html',0,'std::extreme_value_distribution::a()'],['http://en.cppreference.com/w/cpp/numeric/random/uniform_real_distribution/params.html',0,'std::uniform_real_distribution::a()'],['http://en.cppreference.com/w/cpp/numeric/random/weibull_distribution/params.html',0,'std::weibull_distribution::a()'],['http://en.cppreference.com/w/cpp/numeric/random/uniform_int_distribution/params.html',0,'std::uniform_int_distribution::a()'],['http://en.cppreference.com/w/cpp/numeric/random/cauchy_distribution/params.html',0,'std::cauchy_distribution::a()']]], - ['a_5fstar_5fsearch_1',['a_star_search',['../da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search.html#a48284e156fdd48fd0c41008c7e48f201',1,'machine_learning::aystar_search::AyStarSearch']]], - ['abbreviation_2',['abbreviation',['../d7/d73/abbreviation_8cpp.html#af53b2f647bee9c5b75ef8dd9ef685dc8',1,'dynamic_programming::abbreviation']]], - ['abbreviation_5frecursion_3',['abbreviation_recursion',['../d7/d73/abbreviation_8cpp.html#add60b8858720bf217df22d992d0fefaa',1,'dynamic_programming::abbreviation']]], - ['abort_4',['abort',['http://en.cppreference.com/w/cpp/utility/program/abort.html',0,'std']]], - ['abs_5',['abs',['../da/d5a/class_complex.html#ae5b51b749ea4964104b9527af9d8f556',1,'Complex']]], - ['abs_28float_29_6',['abs(float)',['http://en.cppreference.com/w/cpp/numeric/math/fabs.html',0,'std']]], - ['abs_28int_29_7',['abs(int)',['http://en.cppreference.com/w/cpp/numeric/math/abs.html',0,'std']]], - ['accumulate_8',['accumulate',['http://en.cppreference.com/w/cpp/algorithm/accumulate.html',0,'std']]], - ['acos_9',['acos',['http://en.cppreference.com/w/cpp/numeric/math/acos.html',0,'std']]], - ['acosh_10',['acosh',['http://en.cppreference.com/w/cpp/numeric/math/acosh.html',0,'std']]], - ['activation_11',['activation',['../d6/d30/classmachine__learning_1_1adaline.html#a082f758fb55fe19f22b3df66f89b2325',1,'machine_learning::adaline']]], - ['adaline_12',['adaline',['../d6/d30/classmachine__learning_1_1adaline.html#a0acbe32aaab897e7939e5b0454035b8c',1,'machine_learning::adaline']]], - ['add_13',['add',['../d9/dae/classdata__structures_1_1_bitset.html#a17dbe1b1d559302312e8091f82f7499c',1,'data_structures::Bitset::add()'],['../dc/dd4/classdata__structures_1_1_bloom_filter.html#a67bed8ef62fcb1f33b6c72df47dcf840',1,'data_structures::BloomFilter::add()'],['../dd/d1c/classhash__chain.html#a6b4b4de1a8c96f98a63a77f650a9dcff',1,'hash_chain::add()'],['../de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree.html#a534645d1aabdf1a7e5897c85376f173d',1,'operations_on_datastructures::reverse_binary_tree::BinaryTree::add()'],['../da/d41/uint128__t_8hpp.html#a3ff77262ffd6743df5b808d41382a6f3',1,'add(): uint128_t.hpp'],['../d0/d65/namespacedouble__hashing.html#a79a9c914a6c68275b3640303d7faad8a',1,'double_hashing::add()'],['../d8/d89/namespacelinear__probing.html#a16d34fd3511626a83ab00665d7bc34d1',1,'linear_probing::add()'],['../d4/dd2/namespacequadratic__probing.html#a00ebcc6d39653eccc26f8432efbfc8d9',1,'quadratic_probing::add()'],['../de/d47/string__fibonacci_8cpp.html#a28052eee05d43c2ebc5147c52bd50c35',1,'add(): string_fibonacci.cpp']]], - ['add_5fdigit_14',['add_digit',['../db/d82/classlarge__number.html#a60c436d1a1c5e3795d6177d3815ad615',1,'large_number']]], - ['add_5fedge_15',['add_edge',['../dc/d61/classgraph_1_1_graph.html#a877b2cba40d8d46dde6fb4209effed19',1,'graph::Graph::add_edge()'],['../d2/daa/classgreedy__algorithms_1_1dijkstra_1_1_graph.html#a224b6efacbad55d59e11b046f792fe79',1,'greedy_algorithms::dijkstra::Graph::add_edge()'],['../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html#a79ab4601c4a95c0902ac04e779e5f54d',1,'range_queries::heavy_light_decomposition::Tree::add_edge()']]], - ['add_5fstrings_16',['add_strings',['../da/dd3/karatsuba__algorithm__for__fast__multiplication_8cpp.html#ad76f5cac3ef8dc034f6abb99b64c2b20',1,'divide_and_conquer::karatsuba_algorithm']]], - ['addbinary_17',['addBinary',['../de/df6/classgreedy__algorithms_1_1_binary_addition.html#a801fd1ec5cda76b0bb82cbf23ed4d527',1,'greedy_algorithms::BinaryAddition']]], - ['addedge_18',['addEdge',['../da/d9a/class_graph.html#af765dda8f21280e1cecea19e129f1bc5',1,'Graph::addEdge(Edge const &edge)'],['../da/d9a/class_graph.html#ac85c63bcca4764a621f9f8609a8e5910',1,'Graph::addEdge(unsigned int source, unsigned int destination)'],['../d8/d69/classgraph_1_1_h_k_graph.html#a3b49011c09cf90a116ab53bef61cd95a',1,'graph::HKGraph::addEdge()'],['../de/d00/classgraph_1_1is__graph__bipartite_1_1_graph.html#a816cda7e563198f778fd32e03992763b',1,'graph::is_graph_bipartite::Graph::addEdge()'],['../d5/dec/classgraph_1_1topological__sort_1_1_graph.html#a57036210706a45b9363563252393a345',1,'graph::topological_sort::Graph::addEdge()'],['../d7/d07/bidirectional__dijkstra_8cpp.html#a69172365aebde9be1997157f6f80e0cf',1,'graph::bidirectional_dijkstra::addEdge()'],['../df/dce/namespacegraph.html#a9125ceb66bfbec3093bba64c2c1e99e2',1,'graph::addEdge(std::vector< std::vector< int > > *adj, int u, int v)'],['../df/dce/namespacegraph.html#ad4016cfc80485a43748895a2c26c7d08',1,'graph::addEdge(std::vector< std::vector< size_t > > *adj, size_t u, size_t v)'],['../da/d4b/depth__first__search__with__stack_8cpp.html#aadebe9c855821d6515ca5b171222ef7b',1,'graph::depth_first_search::addEdge()'],['../df/dce/namespacegraph.html#a0e30e0dca68cb6e4f671440819b35b6a',1,'graph::addEdge()']]], - ['addinfo_19',['addInfo',['../d0/d65/namespacedouble__hashing.html#a9c652b2e467e5d250dfe3bed83b12560',1,'double_hashing::addInfo()'],['../d8/d89/namespacelinear__probing.html#a16680b8a37d442c2f208faa286e33908',1,'linear_probing::addInfo()'],['../d4/dd2/namespacequadratic__probing.html#a312143ed316d48978084c025ff8d9768',1,'quadratic_probing::addInfo()']]], - ['addition_20',['addition',['../df/d6b/namespaceciphers_1_1elliptic__curve__key__exchange.html#acc5fe9c2032fb7582c38a20d1fa69bcf',1,'ciphers::elliptic_curve_key_exchange']]], - ['addition_5frule_5fdependent_21',['addition_rule_dependent',['../d6/d4a/addition__rule_8cpp.html#a565ffcbbdbe496ced37250bc8dc36bc0',1,'addition_rule.cpp']]], - ['addition_5frule_5findependent_22',['addition_rule_independent',['../d6/d4a/addition__rule_8cpp.html#a4adfd055c758546456d440ee9133555d',1,'addition_rule.cpp']]], - ['addprocess_23',['addProcess',['../dd/dca/class_f_c_f_s.html#a8fbfe4d85f7576b4a7aade07d29fbd69',1,'FCFS']]], - ['address_24',['address',['http://en.cppreference.com/w/cpp/memory/allocator/address.html',0,'std::allocator']]], - ['addressof_25',['addressof',['http://en.cppreference.com/w/cpp/memory/addressof.html',0,'std']]], - ['addvertices_26',['addVertices',['../da/d9a/class_graph.html#ac5a4d9a4f894a179198936042c778413',1,'Graph']]], - ['adjacent_5fdifference_27',['adjacent_difference',['http://en.cppreference.com/w/cpp/algorithm/adjacent_difference.html',0,'std']]], - ['adjacent_5ffind_28',['adjacent_find',['http://en.cppreference.com/w/cpp/algorithm/adjacent_find.html',0,'std']]], - ['advance_29',['advance',['http://en.cppreference.com/w/cpp/iterator/advance.html',0,'std']]], - ['align_30',['align',['http://en.cppreference.com/w/cpp/memory/align.html',0,'std']]], - ['aliquot_5fsum_31',['aliquot_sum',['../dd/d47/namespacemath.html#ab37f3a7302a84179aae682c79d8390bf',1,'math']]], - ['all_32',['all',['http://en.cppreference.com/w/cpp/utility/bitset/all_any_none.html',0,'std::bitset']]], - ['all_5fof_33',['all_of',['http://en.cppreference.com/w/cpp/algorithm/all_any_none_of.html',0,'std']]], - ['allocate_34',['allocate',['http://en.cppreference.com/w/cpp/memory/allocator_traits/allocate.html',0,'std::allocator_traits::allocate()'],['http://en.cppreference.com/w/cpp/memory/allocator/allocate.html',0,'std::allocator::allocate()'],['http://en.cppreference.com/w/cpp/memory/scoped_allocator_adaptor/allocate.html',0,'std::scoped_allocator_adaptor::allocate()']]], - ['allocate_5fshared_35',['allocate_shared',['http://en.cppreference.com/w/cpp/memory/shared_ptr/allocate_shared.html',0,'std']]], - ['allocator_36',['allocator',['http://en.cppreference.com/w/cpp/memory/allocator/allocator.html',0,'std::allocator']]], - ['alpha_37',['alpha',['http://en.cppreference.com/w/cpp/numeric/random/gamma_distribution/params.html',0,'std::gamma_distribution']]], - ['always_5fnoconv_38',['always_noconv',['http://en.cppreference.com/w/cpp/locale/codecvt/always_noconv.html',0,'std::codecvt::always_noconv()'],['http://en.cppreference.com/w/cpp/locale/codecvt/always_noconv.html',0,'std::codecvt_byname::always_noconv()'],['http://en.cppreference.com/w/cpp/locale/codecvt/always_noconv.html',0,'std::codecvt_utf8::always_noconv()'],['http://en.cppreference.com/w/cpp/locale/codecvt/always_noconv.html',0,'std::codecvt_utf8_utf16::always_noconv()'],['http://en.cppreference.com/w/cpp/locale/codecvt/always_noconv.html',0,'std::codecvt_utf16::always_noconv()']]], - ['and_5ftest_39',['and_test',['../d3/db2/boyer__moore_8cpp.html#acb8f69e7901ee7459d98bd4b9dda79d9',1,'boyer_moore.cpp']]], - ['ans_40',['ans',['../d7/d35/matrix__exponentiation_8cpp.html#ad8389ed58fd0ec66df248014775ad1fa',1,'matrix_exponentiation.cpp']]], - ['any_41',['any',['http://en.cppreference.com/w/cpp/utility/bitset/all_any_none.html',0,'std::bitset']]], - ['any_5fof_42',['any_of',['http://en.cppreference.com/w/cpp/algorithm/all_any_none_of.html',0,'std']]], - ['append_43',['append',['http://en.cppreference.com/w/cpp/string/basic_string/append.html',0,'std::string::append()'],['http://en.cppreference.com/w/cpp/string/basic_string/append.html',0,'std::basic_string::append()'],['http://en.cppreference.com/w/cpp/string/basic_string/append.html',0,'std::wstring::append()'],['http://en.cppreference.com/w/cpp/string/basic_string/append.html',0,'std::u16string::append()'],['http://en.cppreference.com/w/cpp/string/basic_string/append.html',0,'std::u32string::append()']]], - ['apply_5ffunction_44',['apply_function',['../d8/d77/namespacemachine__learning.html#ad0bdc88e5f1be47c46c0f0c8ebf754bb',1,'machine_learning']]], - ['approximate_5fpi_45',['approximate_pi',['../dd/d47/namespacemath.html#abf7f2a6d91f1ca6c89698792aea3f188',1,'math']]], - ['are_5falmost_5fequal_46',['are_almost_equal',['../d0/d6f/namespaceothers.html#aa17dc6d061dff34f6b9a610bc5e26703',1,'others']]], - ['are_5famicable_47',['are_amicable',['../dd/d47/namespacemath.html#a8e6eede206201db0d1dbb618fa969bec',1,'math']]], - ['arg_48',['arg',['../da/d5a/class_complex.html#ae1e03712837450549e0c9b4017533a41',1,'Complex']]], - ['argmax_49',['argmax',['../d8/d77/namespacemachine__learning.html#a50480fccfb39de20ca47f1bf51ecb6ec',1,'machine_learning']]], - ['asctime_50',['asctime',['http://en.cppreference.com/w/cpp/chrono/c/asctime.html',0,'std']]], - ['asin_51',['asin',['http://en.cppreference.com/w/cpp/numeric/math/asin.html',0,'std']]], - ['asinh_52',['asinh',['http://en.cppreference.com/w/cpp/numeric/math/asinh.html',0,'std']]], - ['ask_5fdata_53',['ask_data',['../d8/d41/namespacegames_1_1memory__game.html#a5714d97649c0edd57b4fb449799676a3',1,'games::memory_game']]], - ['assertarray_54',['assertArray',['../da/d18/quadratic__equations__complex__numbers_8cpp.html#af7a6d4e3dc85a6288c8f1f7094830c5a',1,'quadratic_equations_complex_numbers.cpp']]], - ['assign_55',['assign',['http://en.cppreference.com/w/cpp/container/vector/assign.html',0,'std::vector::assign()'],['http://en.cppreference.com/w/cpp/string/char_traits/assign.html',0,'std::char_traits::assign()'],['http://en.cppreference.com/w/cpp/string/basic_string/assign.html',0,'std::string::assign()'],['http://en.cppreference.com/w/cpp/regex/basic_regex/assign.html',0,'std::regex::assign()'],['http://en.cppreference.com/w/cpp/regex/basic_regex/assign.html',0,'std::basic_regex::assign()'],['http://en.cppreference.com/w/cpp/regex/basic_regex/assign.html',0,'std::wregex::assign()'],['http://en.cppreference.com/w/cpp/container/forward_list/assign.html',0,'std::forward_list::assign()'],['http://en.cppreference.com/w/cpp/error/error_code/assign.html',0,'std::error_code::assign()'],['http://en.cppreference.com/w/cpp/container/deque/assign.html',0,'std::deque::assign()'],['http://en.cppreference.com/w/cpp/string/basic_string/assign.html',0,'std::basic_string::assign()'],['http://en.cppreference.com/w/cpp/string/basic_string/assign.html',0,'std::wstring::assign()'],['http://en.cppreference.com/w/cpp/utility/functional/function/assign.html',0,'std::function::assign()'],['http://en.cppreference.com/w/cpp/error/error_condition/assign.html',0,'std::error_condition::assign()'],['http://en.cppreference.com/w/cpp/string/basic_string/assign.html',0,'std::u16string::assign()'],['http://en.cppreference.com/w/cpp/string/basic_string/assign.html',0,'std::u32string::assign()'],['http://en.cppreference.com/w/cpp/container/list/assign.html',0,'std::list::assign()']]], - ['assign_5fresults_56',['assign_results',['../d8/d41/namespacegames_1_1memory__game.html#a3ceeea62d8fa6c563e2c66359fd73413',1,'games::memory_game']]], - ['async_57',['async',['http://en.cppreference.com/w/cpp/thread/async.html',0,'std']]], - ['at_58',['at',['http://en.cppreference.com/w/cpp/container/dynarray/at.html',0,'std::dynarray::at()'],['http://en.cppreference.com/w/cpp/container/vector/at.html',0,'std::vector::at()'],['http://en.cppreference.com/w/cpp/string/basic_string/at.html',0,'std::string::at()'],['http://en.cppreference.com/w/cpp/container/unordered_map/at.html',0,'std::unordered_map::at()'],['http://en.cppreference.com/w/cpp/container/deque/at.html',0,'std::deque::at()'],['http://en.cppreference.com/w/cpp/string/basic_string/at.html',0,'std::basic_string::at()'],['http://en.cppreference.com/w/cpp/string/basic_string/at.html',0,'std::wstring::at()'],['http://en.cppreference.com/w/cpp/string/basic_string/at.html',0,'std::u16string::at()'],['http://en.cppreference.com/w/cpp/string/basic_string/at.html',0,'std::u32string::at()'],['http://en.cppreference.com/w/cpp/container/map/at.html',0,'std::map::at()'],['http://en.cppreference.com/w/cpp/container/array/at.html',0,'std::array::at()']]], - ['at_5fquick_5fexit_59',['at_quick_exit',['http://en.cppreference.com/w/cpp/utility/program/at_quick_exit.html',0,'std']]], - ['atan_60',['atan',['http://en.cppreference.com/w/cpp/numeric/math/atan.html',0,'std']]], - ['atan2_61',['atan2',['http://en.cppreference.com/w/cpp/numeric/math/atan2.html',0,'std']]], - ['atanh_62',['atanh',['http://en.cppreference.com/w/cpp/numeric/math/atanh.html',0,'std']]], - ['atbash_5fcipher_63',['atbash_cipher',['../dc/dfb/atbash__cipher_8cpp.html#a8f7dd4dcd3df7c512c20482afc2dbb9d',1,'ciphers::atbash']]], - ['atexit_64',['atexit',['http://en.cppreference.com/w/cpp/utility/program/atexit.html',0,'std']]], - ['atof_65',['atof',['http://en.cppreference.com/w/cpp/string/byte/atof.html',0,'std']]], - ['atoi_66',['atoi',['http://en.cppreference.com/w/cpp/string/byte/atoi.html',0,'std']]], - ['atol_67',['atol',['http://en.cppreference.com/w/cpp/string/byte/atoi.html',0,'std']]], - ['atoll_68',['atoll',['http://en.cppreference.com/w/cpp/string/byte/atoi.html',0,'std']]], - ['atomic_69',['atomic',['http://en.cppreference.com/w/cpp/atomic/atomic/atomic.html',0,'std::atomic']]], - ['atomic_5fcompare_5fexchange_5fstrong_70',['atomic_compare_exchange_strong',['http://en.cppreference.com/w/cpp/atomic/atomic_compare_exchange.html',0,'std']]], - ['atomic_5fcompare_5fexchange_5fstrong_5fexplicit_71',['atomic_compare_exchange_strong_explicit',['http://en.cppreference.com/w/cpp/atomic/atomic_compare_exchange.html',0,'std']]], - ['atomic_5fcompare_5fexchange_5fweak_72',['atomic_compare_exchange_weak',['http://en.cppreference.com/w/cpp/atomic/atomic_compare_exchange.html',0,'std']]], - ['atomic_5fcompare_5fexchange_5fweak_5fexplicit_73',['atomic_compare_exchange_weak_explicit',['http://en.cppreference.com/w/cpp/atomic/atomic_compare_exchange.html',0,'std']]], - ['atomic_5fexchange_74',['atomic_exchange',['http://en.cppreference.com/w/cpp/atomic/atomic_exchange.html',0,'std']]], - ['atomic_5fexchange_5fexplicit_75',['atomic_exchange_explicit',['http://en.cppreference.com/w/cpp/atomic/atomic_exchange.html',0,'std']]], - ['atomic_5ffetch_5fadd_76',['atomic_fetch_add',['http://en.cppreference.com/w/cpp/atomic/atomic_fetch_add.html',0,'std']]], - ['atomic_5ffetch_5fadd_5fexplicit_77',['atomic_fetch_add_explicit',['http://en.cppreference.com/w/cpp/atomic/atomic_fetch_add.html',0,'std']]], - ['atomic_5ffetch_5fand_78',['atomic_fetch_and',['http://en.cppreference.com/w/cpp/atomic/atomic_fetch_sub.html',0,'std']]], - ['atomic_5ffetch_5fand_5fexplicit_79',['atomic_fetch_and_explicit',['http://en.cppreference.com/w/cpp/atomic/atomic_fetch_sub.html',0,'std']]], - ['atomic_5ffetch_5for_80',['atomic_fetch_or',['http://en.cppreference.com/w/cpp/atomic/atomic_fetch_or.html',0,'std']]], - ['atomic_5ffetch_5for_5fexplicit_81',['atomic_fetch_or_explicit',['http://en.cppreference.com/w/cpp/atomic/atomic_fetch_or.html',0,'std']]], - ['atomic_5ffetch_5fsub_82',['atomic_fetch_sub',['http://en.cppreference.com/w/cpp/atomic/atomic_fetch_sub.html',0,'std']]], - ['atomic_5ffetch_5fsub_5fexplicit_83',['atomic_fetch_sub_explicit',['http://en.cppreference.com/w/cpp/atomic/atomic_fetch_sub.html',0,'std']]], - ['atomic_5ffetch_5fxor_84',['atomic_fetch_xor',['http://en.cppreference.com/w/cpp/atomic/atomic_fetch_xor.html',0,'std']]], - ['atomic_5ffetch_5fxor_5fexplicit_85',['atomic_fetch_xor_explicit',['http://en.cppreference.com/w/cpp/atomic/atomic_fetch_xor.html',0,'std']]], - ['atomic_5fflag_86',['atomic_flag',['http://en.cppreference.com/w/cpp/atomic/atomic_flag/atomic_flag.html',0,'std::atomic_flag']]], - ['atomic_5finit_87',['atomic_init',['http://en.cppreference.com/w/cpp/atomic/atomic_init.html',0,'std']]], - ['atomic_5fis_5flock_5ffree_88',['atomic_is_lock_free',['http://en.cppreference.com/w/cpp/atomic/atomic_is_lock_free.html',0,'std']]], - ['atomic_5fload_89',['atomic_load',['http://en.cppreference.com/w/cpp/atomic/atomic_load.html',0,'std']]], - ['atomic_5fload_5fexplicit_90',['atomic_load_explicit',['http://en.cppreference.com/w/cpp/atomic/atomic_load.html',0,'std']]], - ['atomic_5fsignal_5ffence_91',['atomic_signal_fence',['http://en.cppreference.com/w/cpp/atomic/atomic_signal_fence.html',0,'std']]], - ['atomic_5fstore_92',['atomic_store',['http://en.cppreference.com/w/cpp/atomic/atomic_store.html',0,'std']]], - ['atomic_5fstore_5fexplicit_93',['atomic_store_explicit',['http://en.cppreference.com/w/cpp/atomic/atomic_store.html',0,'std']]], - ['atomic_5fthread_5ffence_94',['atomic_thread_fence',['http://en.cppreference.com/w/cpp/atomic/atomic_thread_fence.html',0,'std']]], - ['auto_5fptr_95',['auto_ptr',['http://en.cppreference.com/w/cpp/memory/auto_ptr/auto_ptr.html',0,'std::auto_ptr']]], - ['aystarsearch_96',['AyStarSearch',['../da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search.html#abaff2ea6d309e1133fd95bbd1e39946e',1,'machine_learning::aystar_search::AyStarSearch']]] + ['a_5fstar_5fsearch_0',['a_star_search',['../da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search.html#a48284e156fdd48fd0c41008c7e48f201',1,'machine_learning::aystar_search::AyStarSearch']]], + ['abbreviation_1',['abbreviation',['../d7/d73/abbreviation_8cpp.html#af53b2f647bee9c5b75ef8dd9ef685dc8',1,'dynamic_programming::abbreviation']]], + ['abbreviation_5frecursion_2',['abbreviation_recursion',['../d7/d73/abbreviation_8cpp.html#add60b8858720bf217df22d992d0fefaa',1,'dynamic_programming::abbreviation']]], + ['abs_3',['abs',['../da/d5a/class_complex.html#ae5b51b749ea4964104b9527af9d8f556',1,'Complex']]], + ['activation_4',['activation',['../d6/d30/classmachine__learning_1_1adaline.html#a082f758fb55fe19f22b3df66f89b2325',1,'machine_learning::adaline']]], + ['adaline_5',['adaline',['../d6/d30/classmachine__learning_1_1adaline.html#a0acbe32aaab897e7939e5b0454035b8c',1,'machine_learning::adaline']]], + ['add_6',['add',['../d9/dae/classdata__structures_1_1_bitset.html#a17dbe1b1d559302312e8091f82f7499c',1,'data_structures::Bitset::add()'],['../dc/dd4/classdata__structures_1_1_bloom_filter.html#a67bed8ef62fcb1f33b6c72df47dcf840',1,'data_structures::BloomFilter::add()'],['../dd/d1c/classhash__chain.html#a6b4b4de1a8c96f98a63a77f650a9dcff',1,'hash_chain::add()'],['../de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree.html#a534645d1aabdf1a7e5897c85376f173d',1,'operations_on_datastructures::reverse_binary_tree::BinaryTree::add()'],['../da/d41/uint128__t_8hpp.html#a3ff77262ffd6743df5b808d41382a6f3',1,'add(): uint128_t.hpp'],['../d0/d65/namespacedouble__hashing.html#a79a9c914a6c68275b3640303d7faad8a',1,'double_hashing::add()'],['../d8/d89/namespacelinear__probing.html#a16d34fd3511626a83ab00665d7bc34d1',1,'linear_probing::add()'],['../d4/dd2/namespacequadratic__probing.html#a00ebcc6d39653eccc26f8432efbfc8d9',1,'quadratic_probing::add()'],['../de/d47/string__fibonacci_8cpp.html#a28052eee05d43c2ebc5147c52bd50c35',1,'add(): string_fibonacci.cpp']]], + ['add_5fdigit_7',['add_digit',['../db/d82/classlarge__number.html#a60c436d1a1c5e3795d6177d3815ad615',1,'large_number']]], + ['add_5fedge_8',['add_edge',['../dc/d61/classgraph_1_1_graph.html#a877b2cba40d8d46dde6fb4209effed19',1,'graph::Graph::add_edge()'],['../d2/daa/classgreedy__algorithms_1_1dijkstra_1_1_graph.html#a224b6efacbad55d59e11b046f792fe79',1,'greedy_algorithms::dijkstra::Graph::add_edge()'],['../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html#a79ab4601c4a95c0902ac04e779e5f54d',1,'range_queries::heavy_light_decomposition::Tree::add_edge()']]], + ['add_5fstrings_9',['add_strings',['../da/dd3/karatsuba__algorithm__for__fast__multiplication_8cpp.html#ad76f5cac3ef8dc034f6abb99b64c2b20',1,'divide_and_conquer::karatsuba_algorithm']]], + ['addbinary_10',['addBinary',['../de/df6/classgreedy__algorithms_1_1_binary_addition.html#a801fd1ec5cda76b0bb82cbf23ed4d527',1,'greedy_algorithms::BinaryAddition']]], + ['addedge_11',['addEdge',['../da/d9a/class_graph.html#af765dda8f21280e1cecea19e129f1bc5',1,'Graph::addEdge(Edge const &edge)'],['../da/d9a/class_graph.html#ac85c63bcca4764a621f9f8609a8e5910',1,'Graph::addEdge(unsigned int source, unsigned int destination)'],['../d8/d69/classgraph_1_1_h_k_graph.html#a3b49011c09cf90a116ab53bef61cd95a',1,'graph::HKGraph::addEdge()'],['../de/d00/classgraph_1_1is__graph__bipartite_1_1_graph.html#a816cda7e563198f778fd32e03992763b',1,'graph::is_graph_bipartite::Graph::addEdge()'],['../d5/dec/classgraph_1_1topological__sort_1_1_graph.html#a57036210706a45b9363563252393a345',1,'graph::topological_sort::Graph::addEdge()'],['../d7/d07/bidirectional__dijkstra_8cpp.html#a69172365aebde9be1997157f6f80e0cf',1,'graph::bidirectional_dijkstra::addEdge()'],['../df/dce/namespacegraph.html#a9125ceb66bfbec3093bba64c2c1e99e2',1,'graph::addEdge(std::vector< std::vector< int > > *adj, int u, int v)'],['../df/dce/namespacegraph.html#ad4016cfc80485a43748895a2c26c7d08',1,'graph::addEdge(std::vector< std::vector< size_t > > *adj, size_t u, size_t v)'],['../da/d4b/depth__first__search__with__stack_8cpp.html#aadebe9c855821d6515ca5b171222ef7b',1,'graph::depth_first_search::addEdge()'],['../df/dce/namespacegraph.html#a0e30e0dca68cb6e4f671440819b35b6a',1,'graph::addEdge()']]], + ['addinfo_12',['addInfo',['../d0/d65/namespacedouble__hashing.html#a9c652b2e467e5d250dfe3bed83b12560',1,'double_hashing::addInfo()'],['../d8/d89/namespacelinear__probing.html#a16680b8a37d442c2f208faa286e33908',1,'linear_probing::addInfo()'],['../d4/dd2/namespacequadratic__probing.html#a312143ed316d48978084c025ff8d9768',1,'quadratic_probing::addInfo()']]], + ['addition_13',['addition',['../df/d6b/namespaceciphers_1_1elliptic__curve__key__exchange.html#acc5fe9c2032fb7582c38a20d1fa69bcf',1,'ciphers::elliptic_curve_key_exchange']]], + ['addition_5frule_5fdependent_14',['addition_rule_dependent',['../d6/d4a/addition__rule_8cpp.html#a565ffcbbdbe496ced37250bc8dc36bc0',1,'addition_rule.cpp']]], + ['addition_5frule_5findependent_15',['addition_rule_independent',['../d6/d4a/addition__rule_8cpp.html#a4adfd055c758546456d440ee9133555d',1,'addition_rule.cpp']]], + ['addprocess_16',['addProcess',['../dd/dca/class_f_c_f_s.html#a8fbfe4d85f7576b4a7aade07d29fbd69',1,'FCFS']]], + ['addvertices_17',['addVertices',['../da/d9a/class_graph.html#ac5a4d9a4f894a179198936042c778413',1,'Graph']]], + ['aliquot_5fsum_18',['aliquot_sum',['../dd/d47/namespacemath.html#ab37f3a7302a84179aae682c79d8390bf',1,'math']]], + ['and_5ftest_19',['and_test',['../d3/db2/boyer__moore_8cpp.html#acb8f69e7901ee7459d98bd4b9dda79d9',1,'boyer_moore.cpp']]], + ['ans_20',['ans',['../d7/d35/matrix__exponentiation_8cpp.html#ad8389ed58fd0ec66df248014775ad1fa',1,'matrix_exponentiation.cpp']]], + ['apply_5ffunction_21',['apply_function',['../d8/d77/namespacemachine__learning.html#ad0bdc88e5f1be47c46c0f0c8ebf754bb',1,'machine_learning']]], + ['approximate_5fpi_22',['approximate_pi',['../dd/d47/namespacemath.html#abf7f2a6d91f1ca6c89698792aea3f188',1,'math']]], + ['are_5falmost_5fequal_23',['are_almost_equal',['../d0/d6f/namespaceothers.html#aa17dc6d061dff34f6b9a610bc5e26703',1,'others']]], + ['are_5famicable_24',['are_amicable',['../dd/d47/namespacemath.html#a8e6eede206201db0d1dbb618fa969bec',1,'math']]], + ['arg_25',['arg',['../da/d5a/class_complex.html#ae1e03712837450549e0c9b4017533a41',1,'Complex']]], + ['argmax_26',['argmax',['../d8/d77/namespacemachine__learning.html#a50480fccfb39de20ca47f1bf51ecb6ec',1,'machine_learning']]], + ['ask_5fdata_27',['ask_data',['../d8/d41/namespacegames_1_1memory__game.html#a5714d97649c0edd57b4fb449799676a3',1,'games::memory_game']]], + ['assertarray_28',['assertArray',['../da/d18/quadratic__equations__complex__numbers_8cpp.html#af7a6d4e3dc85a6288c8f1f7094830c5a',1,'quadratic_equations_complex_numbers.cpp']]], + ['assign_5fresults_29',['assign_results',['../d8/d41/namespacegames_1_1memory__game.html#a3ceeea62d8fa6c563e2c66359fd73413',1,'games::memory_game']]], + ['atbash_5fcipher_30',['atbash_cipher',['../dc/dfb/atbash__cipher_8cpp.html#a8f7dd4dcd3df7c512c20482afc2dbb9d',1,'ciphers::atbash']]], + ['aystarsearch_31',['AyStarSearch',['../da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search.html#abaff2ea6d309e1133fd95bbd1e39946e',1,'machine_learning::aystar_search::AyStarSearch']]] ]; diff --git a/search/functions_10.js b/search/functions_10.js index 1a8db56a6..60d25188a 100644 --- a/search/functions_10.js +++ b/search/functions_10.js @@ -1,105 +1,58 @@ var searchData= [ - ['p_0',['p',['http://en.cppreference.com/w/cpp/numeric/random/bernoulli_distribution/p.html',0,'std::bernoulli_distribution::p()'],['http://en.cppreference.com/w/cpp/numeric/random/geometric_distribution/p.html',0,'std::geometric_distribution::p()'],['http://en.cppreference.com/w/cpp/numeric/random/negative_binomial_distribution/params.html',0,'std::negative_binomial_distribution::p()'],['http://en.cppreference.com/w/cpp/numeric/random/binomial_distribution/params.html',0,'std::binomial_distribution::p()']]], - ['packaged_5ftask_1',['packaged_task',['http://en.cppreference.com/w/cpp/thread/packaged_task/packaged_task.html',0,'std::packaged_task']]], - ['pair_2',['pair',['http://en.cppreference.com/w/cpp/utility/pair/pair.html',0,'std::pair']]], - ['pal_5fpart_3',['pal_part',['../d5/d90/palindrome__partitioning_8cpp.html#a52ee22882858d2b1cf04293f02ed839a',1,'dynamic_programming::palindrome_partitioning']]], - ['pancakesort_4',['pancakeSort',['../d3/d92/pancake__sort_8cpp.html#abff90bc0f54e4f8ea5f0330471781bd5',1,'sorting::pancake_sort']]], - ['parallelogram_5farea_5',['parallelogram_area',['../dd/d47/namespacemath.html#a5de184925e68658f15415dd53954df4f',1,'math']]], - ['parallelogram_5fperimeter_6',['parallelogram_perimeter',['../dd/d47/namespacemath.html#a0efb235330ff48e14fd31faaccbcebb3',1,'math']]], - ['param_7',['param',['http://en.cppreference.com/w/cpp/numeric/random/student_t_distribution/param.html',0,'std::student_t_distribution::param()'],['http://en.cppreference.com/w/cpp/numeric/random/extreme_value_distribution/param.html',0,'std::extreme_value_distribution::param()'],['http://en.cppreference.com/w/cpp/numeric/random/lognormal_distribution/param.html',0,'std::lognormal_distribution::param()'],['http://en.cppreference.com/w/cpp/numeric/random/discrete_distribution/param.html',0,'std::discrete_distribution::param()'],['http://en.cppreference.com/w/cpp/numeric/random/piecewise_constant_distribution/param.html',0,'std::piecewise_constant_distribution::param()'],['http://en.cppreference.com/w/cpp/numeric/random/poisson_distribution/param.html',0,'std::poisson_distribution::param()'],['http://en.cppreference.com/w/cpp/numeric/random/bernoulli_distribution/param.html',0,'std::bernoulli_distribution::param()'],['http://en.cppreference.com/w/cpp/numeric/random/exponential_distribution/param.html',0,'std::exponential_distribution::param()'],['http://en.cppreference.com/w/cpp/numeric/random/uniform_real_distribution/param.html',0,'std::uniform_real_distribution::param()'],['http://en.cppreference.com/w/cpp/numeric/random/geometric_distribution/param.html',0,'std::geometric_distribution::param()'],['http://en.cppreference.com/w/cpp/numeric/random/normal_distribution/param.html',0,'std::normal_distribution::param()'],['http://en.cppreference.com/w/cpp/numeric/random/weibull_distribution/param.html',0,'std::weibull_distribution::param()'],['http://en.cppreference.com/w/cpp/numeric/random/negative_binomial_distribution/param.html',0,'std::negative_binomial_distribution::param()'],['http://en.cppreference.com/w/cpp/numeric/random/chi_squared_distribution/param.html',0,'std::chi_squared_distribution::param()'],['http://en.cppreference.com/w/cpp/numeric/random/piecewise_linear_distribution/param.html',0,'std::piecewise_linear_distribution::param()'],['http://en.cppreference.com/w/cpp/numeric/random/uniform_int_distribution/param.html',0,'std::uniform_int_distribution::param()'],['http://en.cppreference.com/w/cpp/numeric/random/fisher_f_distribution/param.html',0,'std::fisher_f_distribution::param()'],['http://en.cppreference.com/w/cpp/numeric/random/seed_seq/param.html',0,'std::seed_seq::param()'],['http://en.cppreference.com/w/cpp/numeric/random/gamma_distribution/param.html',0,'std::gamma_distribution::param()'],['http://en.cppreference.com/w/cpp/numeric/random/binomial_distribution/param.html',0,'std::binomial_distribution::param()'],['http://en.cppreference.com/w/cpp/numeric/random/cauchy_distribution/param.html',0,'std::cauchy_distribution::param()']]], - ['partial_5fsort_8',['partial_sort',['http://en.cppreference.com/w/cpp/algorithm/partial_sort.html',0,'std']]], - ['partial_5fsort_5fcopy_9',['partial_sort_copy',['http://en.cppreference.com/w/cpp/algorithm/partial_sort_copy.html',0,'std']]], - ['partial_5fsum_10',['partial_sum',['http://en.cppreference.com/w/cpp/algorithm/partial_sum.html',0,'std']]], - ['partition_11',['partition',['http://en.cppreference.com/w/cpp/algorithm/partition.html',0,'std::partition()'],['../d1/d21/quick__sort_8cpp.html#a1b2a2cc2d319240f3b65c5b2f479ed82',1,'sorting::quick_sort::partition()'],['../d5/d91/namespacesorting.html#aac8f44b28b4aa96444383030b28f8b34',1,'sorting::partition()'],['../d1/daa/random__pivot__quick__sort_8cpp.html#a3d1c39e1ff42c04fb8ec0c0b9411cd3e',1,'sorting::random_pivot_quick_sort::partition()']]], - ['partition_5fcopy_12',['partition_copy',['http://en.cppreference.com/w/cpp/algorithm/partition_copy.html',0,'std']]], - ['partition_5fpoint_13',['partition_point',['http://en.cppreference.com/w/cpp/algorithm/partition_point.html',0,'std']]], - ['pascal_5ftriangle_14',['pascal_triangle',['../dc/d1a/pascal__triangle_8cpp.html#a4fc0e5a112f715c3a73989450b2cc5fd',1,'pascal_triangle.cpp']]], - ['pat_5ftest_15',['pat_test',['../d3/db2/boyer__moore_8cpp.html#ac8fac0dd4b19973da103a434143a16d2',1,'boyer_moore.cpp']]], - ['pbackfail_16',['pbackfail',['http://en.cppreference.com/w/cpp/io/basic_streambuf/pbackfail.html',0,'std::basic_filebuf::pbackfail()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pbackfail.html',0,'std::wstringbuf::pbackfail()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pbackfail.html',0,'std::stringbuf::pbackfail()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pbackfail.html',0,'std::wfilebuf::pbackfail()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pbackfail.html',0,'std::wstreambuf::pbackfail()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pbackfail.html',0,'std::strstreambuf::pbackfail()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pbackfail.html',0,'std::basic_stringbuf::pbackfail()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pbackfail.html',0,'std::basic_streambuf::pbackfail()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pbackfail.html',0,'std::filebuf::pbackfail()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pbackfail.html',0,'std::streambuf::pbackfail()']]], - ['pbase_17',['pbase',['http://en.cppreference.com/w/cpp/io/basic_streambuf/pptr.html',0,'std::basic_filebuf::pbase()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pptr.html',0,'std::wstringbuf::pbase()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pptr.html',0,'std::stringbuf::pbase()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pptr.html',0,'std::wfilebuf::pbase()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pptr.html',0,'std::wstreambuf::pbase()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pptr.html',0,'std::strstreambuf::pbase()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pptr.html',0,'std::basic_stringbuf::pbase()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pptr.html',0,'std::basic_streambuf::pbase()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pptr.html',0,'std::filebuf::pbase()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pptr.html',0,'std::streambuf::pbase()']]], - ['pbump_18',['pbump',['http://en.cppreference.com/w/cpp/io/basic_streambuf/pbump.html',0,'std::basic_filebuf::pbump()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pbump.html',0,'std::wstringbuf::pbump()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pbump.html',0,'std::stringbuf::pbump()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pbump.html',0,'std::wfilebuf::pbump()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pbump.html',0,'std::wstreambuf::pbump()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pbump.html',0,'std::strstreambuf::pbump()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pbump.html',0,'std::basic_stringbuf::pbump()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pbump.html',0,'std::basic_streambuf::pbump()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pbump.html',0,'std::filebuf::pbump()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pbump.html',0,'std::streambuf::pbump()']]], - ['pcount_19',['pcount',['http://en.cppreference.com/w/cpp/io/strstreambuf/pcount.html',0,'std::strstreambuf::pcount()'],['http://en.cppreference.com/w/cpp/io/strstream/pcount.html',0,'std::strstream::pcount()'],['http://en.cppreference.com/w/cpp/io/ostrstream/pcount.html',0,'std::ostrstream::pcount()']]], - ['peek_20',['peek',['http://en.cppreference.com/w/cpp/io/basic_istream/peek.html',0,'std::fstream::peek()'],['http://en.cppreference.com/w/cpp/io/basic_istream/peek.html',0,'std::basic_fstream::peek()'],['http://en.cppreference.com/w/cpp/io/basic_istream/peek.html',0,'std::iostream::peek()'],['http://en.cppreference.com/w/cpp/io/basic_istream/peek.html',0,'std::wistream::peek()'],['http://en.cppreference.com/w/cpp/io/basic_istream/peek.html',0,'std::stringstream::peek()'],['http://en.cppreference.com/w/cpp/io/basic_istream/peek.html',0,'std::wifstream::peek()'],['http://en.cppreference.com/w/cpp/io/basic_istream/peek.html',0,'std::basic_istream::peek()'],['http://en.cppreference.com/w/cpp/io/basic_istream/peek.html',0,'std::strstream::peek()'],['http://en.cppreference.com/w/cpp/io/basic_istream/peek.html',0,'std::basic_stringstream::peek()'],['http://en.cppreference.com/w/cpp/io/basic_istream/peek.html',0,'std::istrstream::peek()'],['http://en.cppreference.com/w/cpp/io/basic_istream/peek.html',0,'std::wiostream::peek()'],['http://en.cppreference.com/w/cpp/io/basic_istream/peek.html',0,'std::basic_istringstream::peek()'],['http://en.cppreference.com/w/cpp/io/basic_istream/peek.html',0,'std::basic_ifstream::peek()'],['http://en.cppreference.com/w/cpp/io/basic_istream/peek.html',0,'std::istringstream::peek()'],['http://en.cppreference.com/w/cpp/io/basic_istream/peek.html',0,'std::istream::peek()'],['http://en.cppreference.com/w/cpp/io/basic_istream/peek.html',0,'std::wfstream::peek()'],['http://en.cppreference.com/w/cpp/io/basic_istream/peek.html',0,'std::basic_iostream::peek()'],['http://en.cppreference.com/w/cpp/io/basic_istream/peek.html',0,'std::wstringstream::peek()'],['http://en.cppreference.com/w/cpp/io/basic_istream/peek.html',0,'std::wistringstream::peek()'],['http://en.cppreference.com/w/cpp/io/basic_istream/peek.html',0,'std::ifstream::peek()']]], - ['perror_21',['perror',['http://en.cppreference.com/w/cpp/io/c/perror.html',0,'std']]], - ['phifunction_22',['phiFunction',['../dd/d47/namespacemath.html#ac37d3ba52eb296597d7a024ba8c4a5a5',1,'math']]], - ['piecewise_5fconstant_5fdistribution_23',['piecewise_constant_distribution',['http://en.cppreference.com/w/cpp/numeric/random/piecewise_constant_distribution/piecewise_constant_distribution.html',0,'std::piecewise_constant_distribution']]], - ['piecewise_5flinear_5fdistribution_24',['piecewise_linear_distribution',['http://en.cppreference.com/w/cpp/numeric/random/piecewise_linear_distribution/piecewise_linear_distribution.html',0,'std::piecewise_linear_distribution']]], - ['pigeonsort_25',['pigeonSort',['../d5/d91/namespacesorting.html#a0e9e1b21a1684585e9e50f9afe4d53a3',1,'sorting']]], - ['point_26',['Point',['../d8/dc8/struct_point.html#ae2d6fb1b3fd3a96169d963d62e37130a',1,'Point']]], - ['pointer_5fto_27',['pointer_to',['http://en.cppreference.com/w/cpp/memory/pointer_traits/pointer_to.html',0,'std::pointer_traits']]], - ['pointincircle_28',['PointInCircle',['../d0/d01/smallest__circle_8cpp.html#aee6d48762c1dfb9f14627927f0c16fad',1,'smallest_circle.cpp']]], - ['poisson_5fdistribution_29',['poisson_distribution',['http://en.cppreference.com/w/cpp/numeric/random/poisson_distribution/poisson_distribution.html',0,'std::poisson_distribution']]], - ['poisson_5fexpected_30',['poisson_expected',['../d9/d24/poisson__dist_8cpp.html#ad0aa718023ce802dd5899f0e03a7ac71',1,'poisson_dist.cpp']]], - ['poisson_5frange_5fsuccesses_31',['poisson_range_successes',['../d9/d24/poisson__dist_8cpp.html#ad9c9e74079278ca10e3b97a8d5391c9a',1,'poisson_dist.cpp']]], - ['poisson_5frate_32',['poisson_rate',['../d9/d24/poisson__dist_8cpp.html#ac217ab9a06291f360d816700a6958ca8',1,'poisson_dist.cpp']]], - ['poisson_5fx_5fsuccesses_33',['poisson_x_successes',['../d9/d24/poisson__dist_8cpp.html#a69a136b32707bdc7950fb9057b5fa1e1',1,'poisson_dist.cpp']]], - ['poly_5ffunction_34',['poly_function',['../da/df2/durand__kerner__roots_8cpp.html#ae2ab49ba1969d7a5988f9bc2c8924569',1,'durand_kerner_roots.cpp']]], - ['pop_35',['pop',['http://en.cppreference.com/w/cpp/container/stack/pop.html',0,'std::stack::pop()'],['http://en.cppreference.com/w/cpp/container/queue/pop.html',0,'std::queue::pop()'],['http://en.cppreference.com/w/cpp/container/priority_queue/pop.html',0,'std::priority_queue::pop()'],['../d1/dc2/classstack.html#a3647fb4418890f19e0dc414b8092b8b0',1,'stack::pop()'],['../d2/dc8/classdata__structures_1_1_stack.html#ac46842bdd9c655d84f865fa3a03da19b',1,'data_structures::Stack::pop()'],['../db/d5b/structdata__structures_1_1stack__using__queue_1_1_stack.html#abdd461689df4983a3ad3b05d853cf5eb',1,'data_structures::stack_using_queue::Stack::pop()'],['../df/d8f/classothers_1_1_cache_1_1_l_f_u_cache.html#ab3561ab204754295199f9566924f7e69',1,'others::Cache::LFUCache::pop()'],['../dc/dc5/paranthesis__matching_8cpp.html#a6d25c7dfbfeb52c3cb9d1b56ab49b664',1,'pop(): paranthesis_matching.cpp'],['../d7/d75/postfix__evaluation_8cpp.html#a421baa2002a64bc0bfc3e1b64800d734',1,'others::postfix_expression::pop()']]], - ['pop_5fback_36',['pop_back',['http://en.cppreference.com/w/cpp/container/vector/pop_back.html',0,'std::vector::pop_back()'],['http://en.cppreference.com/w/cpp/string/basic_string/pop_back.html',0,'std::string::pop_back()'],['http://en.cppreference.com/w/cpp/container/deque/pop_back.html',0,'std::deque::pop_back()'],['http://en.cppreference.com/w/cpp/string/basic_string/pop_back.html',0,'std::basic_string::pop_back()'],['http://en.cppreference.com/w/cpp/string/basic_string/pop_back.html',0,'std::wstring::pop_back()'],['http://en.cppreference.com/w/cpp/string/basic_string/pop_back.html',0,'std::u16string::pop_back()'],['http://en.cppreference.com/w/cpp/string/basic_string/pop_back.html',0,'std::u32string::pop_back()'],['http://en.cppreference.com/w/cpp/container/list/pop_back.html',0,'std::list::pop_back()'],['../d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache.html#ab211a4be58491bf11834cae88a0c44f7',1,'others::Cache::LRUCache::pop_back()'],['../d8/d77/namespacemachine__learning.html#ae10178b082f0205c326550877d998e5d',1,'machine_learning::pop_back()']]], - ['pop_5ffront_37',['pop_front',['http://en.cppreference.com/w/cpp/container/forward_list/pop_front.html',0,'std::forward_list::pop_front()'],['http://en.cppreference.com/w/cpp/container/deque/pop_front.html',0,'std::deque::pop_front()'],['http://en.cppreference.com/w/cpp/container/list/pop_front.html',0,'std::list::pop_front()'],['../d8/d77/namespacemachine__learning.html#a912cf68863063a38d6e63545be5eb093',1,'machine_learning::pop_front()']]], - ['pop_5fheap_38',['pop_heap',['http://en.cppreference.com/w/cpp/algorithm/pop_heap.html',0,'std']]], - ['populate_5fparents_39',['populate_parents',['../d0/d58/classgraph_1_1_rooted_tree.html#ae6928f3ebd491541e9570e746b877c1e',1,'graph::RootedTree']]], - ['populate_5fup_40',['populate_up',['../d9/d23/classgraph_1_1_lowest_common_ancestor.html#a42589cc39d6bbff6c997152f1b96e356',1,'graph::LowestCommonAncestor']]], - ['pos_5fformat_41',['pos_format',['http://en.cppreference.com/w/cpp/locale/moneypunct/pos_format.html',0,'std::moneypunct_byname::pos_format()'],['http://en.cppreference.com/w/cpp/locale/moneypunct/pos_format.html',0,'std::moneypunct::pos_format()']]], - ['position_42',['position',['http://en.cppreference.com/w/cpp/regex/match_results/position.html',0,'std::match_results::position()'],['http://en.cppreference.com/w/cpp/regex/match_results/position.html',0,'std::wsmatch::position()'],['http://en.cppreference.com/w/cpp/regex/match_results/position.html',0,'std::smatch::position()'],['http://en.cppreference.com/w/cpp/regex/match_results/position.html',0,'std::wcmatch::position()'],['http://en.cppreference.com/w/cpp/regex/match_results/position.html',0,'std::cmatch::position()']]], - ['positive_5fsign_43',['positive_sign',['http://en.cppreference.com/w/cpp/locale/moneypunct/positive_sign.html',0,'std::moneypunct_byname::positive_sign()'],['http://en.cppreference.com/w/cpp/locale/moneypunct/positive_sign.html',0,'std::moneypunct::positive_sign()']]], - ['postfix_5fevaluation_44',['postfix_evaluation',['../d7/d75/postfix__evaluation_8cpp.html#ae38bd3a177a6d61da3859a281233bbe1',1,'others::postfix_expression']]], - ['postorder_45',['postorder',['../dd/de1/classothers_1_1recursive__tree__traversals_1_1_b_t.html#ac9404b65f407f631915515fa2e08a40c',1,'others::recursive_tree_traversals::BT']]], - ['postorderiterative_46',['postOrderIterative',['../d9/d12/classothers_1_1iterative__tree__traversals_1_1_binary_tree.html#a636a07c90b7f312bb86d2ec104efca25',1,'others::iterative_tree_traversals::BinaryTree']]], - ['pow_47',['pow',['http://en.cppreference.com/w/cpp/numeric/math/pow.html',0,'std']]], - ['power_48',['power',['../de/dc3/fibonacci__sum_8cpp.html#a7cf5feaf168b88e74544da59ed830311',1,'math::fibonacci_sum::power()'],['../df/d72/modular__division_8cpp.html#a66cdf93153cbd1408bd74ac68961d179',1,'math::modular_division::power()'],['../dd/d47/namespacemath.html#afcd07701d73ed65cd616bcba02737f3d',1,'math::power()'],['../df/def/power__for__huge__numbers_8cpp.html#ae249a2af508aa94266023ce8aa81426f',1,'power(int x, int n): power_for_huge_numbers.cpp'],['../d7/d35/matrix__exponentiation_8cpp.html#a702a9fc90e79b05b863cc4efa26ae2ec',1,'power(const vector< vector< ll > > &A, ll p): matrix_exponentiation.cpp']]], - ['power_5fof_5ftwo_49',['power_of_two',['../dd/d47/namespacemath.html#a8a48be4d7f14e34c5c92925bc1cbf3bb',1,'math']]], - ['pptr_50',['pptr',['http://en.cppreference.com/w/cpp/io/basic_streambuf/pptr.html',0,'std::basic_filebuf::pptr()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pptr.html',0,'std::wstringbuf::pptr()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pptr.html',0,'std::stringbuf::pptr()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pptr.html',0,'std::wfilebuf::pptr()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pptr.html',0,'std::wstreambuf::pptr()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pptr.html',0,'std::strstreambuf::pptr()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pptr.html',0,'std::basic_stringbuf::pptr()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pptr.html',0,'std::basic_streambuf::pptr()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pptr.html',0,'std::filebuf::pptr()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pptr.html',0,'std::streambuf::pptr()']]], - ['precision_51',['precision',['http://en.cppreference.com/w/cpp/io/ios_base/precision.html',0,'std::basic_ofstream::precision()'],['http://en.cppreference.com/w/cpp/io/ios_base/precision.html',0,'std::fstream::precision()'],['http://en.cppreference.com/w/cpp/io/ios_base/precision.html',0,'std::wostream::precision()'],['http://en.cppreference.com/w/cpp/io/ios_base/precision.html',0,'std::basic_ostringstream::precision()'],['http://en.cppreference.com/w/cpp/io/ios_base/precision.html',0,'std::basic_ios::precision()'],['http://en.cppreference.com/w/cpp/io/ios_base/precision.html',0,'std::ostringstream::precision()'],['http://en.cppreference.com/w/cpp/io/ios_base/precision.html',0,'std::basic_fstream::precision()'],['http://en.cppreference.com/w/cpp/io/ios_base/precision.html',0,'std::iostream::precision()'],['http://en.cppreference.com/w/cpp/io/ios_base/precision.html',0,'std::ios_base::precision()'],['http://en.cppreference.com/w/cpp/io/ios_base/precision.html',0,'std::wistream::precision()'],['http://en.cppreference.com/w/cpp/io/ios_base/precision.html',0,'std::stringstream::precision()'],['http://en.cppreference.com/w/cpp/io/ios_base/precision.html',0,'std::ostream::precision()'],['http://en.cppreference.com/w/cpp/io/ios_base/precision.html',0,'std::wifstream::precision()'],['http://en.cppreference.com/w/cpp/io/ios_base/precision.html',0,'std::basic_istream::precision()'],['http://en.cppreference.com/w/cpp/io/ios_base/precision.html',0,'std::strstream::precision()'],['http://en.cppreference.com/w/cpp/io/ios_base/precision.html',0,'std::basic_stringstream::precision()'],['http://en.cppreference.com/w/cpp/io/ios_base/precision.html',0,'std::wostringstream::precision()'],['http://en.cppreference.com/w/cpp/io/ios_base/precision.html',0,'std::istrstream::precision()'],['http://en.cppreference.com/w/cpp/io/ios_base/precision.html',0,'std::basic_ostream::precision()'],['http://en.cppreference.com/w/cpp/io/ios_base/precision.html',0,'std::wiostream::precision()'],['http://en.cppreference.com/w/cpp/io/ios_base/precision.html',0,'std::ofstream::precision()'],['http://en.cppreference.com/w/cpp/io/ios_base/precision.html',0,'std::basic_istringstream::precision()'],['http://en.cppreference.com/w/cpp/io/ios_base/precision.html',0,'std::basic_ifstream::precision()'],['http://en.cppreference.com/w/cpp/io/ios_base/precision.html',0,'std::istringstream::precision()'],['http://en.cppreference.com/w/cpp/io/ios_base/precision.html',0,'std::istream::precision()'],['http://en.cppreference.com/w/cpp/io/ios_base/precision.html',0,'std::ostrstream::precision()'],['http://en.cppreference.com/w/cpp/io/ios_base/precision.html',0,'std::wfstream::precision()'],['http://en.cppreference.com/w/cpp/io/ios_base/precision.html',0,'std::basic_iostream::precision()'],['http://en.cppreference.com/w/cpp/io/ios_base/precision.html',0,'std::wofstream::precision()'],['http://en.cppreference.com/w/cpp/io/ios_base/precision.html',0,'std::wstringstream::precision()'],['http://en.cppreference.com/w/cpp/io/ios_base/precision.html',0,'std::wistringstream::precision()'],['http://en.cppreference.com/w/cpp/io/ios_base/precision.html',0,'std::ifstream::precision()']]], - ['predict_52',['predict',['../d6/d30/classmachine__learning_1_1adaline.html#ab11242d9ad5b03a75911e29b04f78fd3',1,'machine_learning::adaline::predict()'],['../da/d94/classmachine__learning_1_1k__nearest__neighbors_1_1_knn.html#a62e152db014cd4de675fa906e5ef2861',1,'machine_learning::k_nearest_neighbors::Knn::predict()']]], - ['predict_5fols_5fregressor_53',['predict_OLS_regressor',['../dc/d38/ordinary__least__squares__regressor_8cpp.html#ade6e463f37878fe2a219f927c65b5493',1,'ordinary_least_squares_regressor.cpp']]], - ['predict_5fwords_54',['predict_words',['../d3/d26/classdata__structures_1_1trie__using__hashmap_1_1_trie.html#ae15fdc7f2b5023992d87a711d78566c4',1,'data_structures::trie_using_hashmap::Trie']]], - ['prefix_55',['prefix',['http://en.cppreference.com/w/cpp/regex/match_results/prefix.html',0,'std::match_results::prefix()'],['http://en.cppreference.com/w/cpp/regex/match_results/prefix.html',0,'std::wsmatch::prefix()'],['http://en.cppreference.com/w/cpp/regex/match_results/prefix.html',0,'std::smatch::prefix()'],['http://en.cppreference.com/w/cpp/regex/match_results/prefix.html',0,'std::wcmatch::prefix()'],['http://en.cppreference.com/w/cpp/regex/match_results/prefix.html',0,'std::cmatch::prefix()']]], - ['preorder_56',['preorder',['../dd/de1/classothers_1_1recursive__tree__traversals_1_1_b_t.html#a6397b78ceec18cb1959a1d159e134da5',1,'others::recursive_tree_traversals::BT']]], - ['preorderiterative_57',['preOrderIterative',['../d9/d12/classothers_1_1iterative__tree__traversals_1_1_binary_tree.html#ad4c6a8e67fb8267a65439b035666b5ae',1,'others::iterative_tree_traversals::BinaryTree']]], - ['prev_58',['prev',['http://en.cppreference.com/w/cpp/iterator/prev.html',0,'std']]], - ['prev_5fpermutation_59',['prev_permutation',['http://en.cppreference.com/w/cpp/algorithm/prev_permutation.html',0,'std']]], - ['prime_5ffactorization_60',['prime_factorization',['../db/d0d/prime__factorization_8cpp.html#a0ece0145fb29a5cf48378c23dde2da46',1,'prime_factorization.cpp']]], - ['primes_61',['primes',['../de/d9b/prime__numbers_8cpp.html#a9575f3a51eeb8a57d657b3db6a4b441a',1,'prime_numbers.cpp']]], - ['print_62',['Print',['../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a2e9a9db7792cf5383f4c4cc418255165',1,'data_structures::tree_234::Tree234']]], - ['print_63',['print',['../d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list.html#ac341901e926b3fa3a796c64ca572f592',1,'operations_on_datastructures::circular_linked_list::CircularLinkedList::print()'],['../d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list.html#a424b17ddc672b25fe0bd9dc8612fba21',1,'operations_on_datastructures::circular_linked_list::CircularLinkedList::print(Node *root)'],['../de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree.html#a5cf972a2c994a4fa1a89fc77bd5ad503',1,'operations_on_datastructures::reverse_binary_tree::BinaryTree::print()'],['../d2/d2f/namespacegreedy__algorithms_1_1dijkstra.html#a7341d7c76a6145e991cdd231f689fca8',1,'greedy_algorithms::dijkstra::print()'],['../d8/ddf/sieve__of__eratosthenes_8cpp.html#a55bc4a221e584d33b79b322432ecc0f3',1,'math::sieve_of_eratosthenes::print()'],['../da/d6d/namespaceoperations__on__datastructures.html#a6109193567a5b7e36a27f2b4865fce20',1,'operations_on_datastructures::print()']]], - ['print_5fprimes_64',['print_primes',['../dd/d47/namespacemath.html#ad09d59850865012a6fd95d89954c82e4',1,'math']]], - ['print_5ftable_65',['print_table',['../d8/d41/namespacegames_1_1memory__game.html#ac589ef65abb0a6b9a7116ee0f9fd5280',1,'games::memory_game']]], - ['printarray_66',['printArray',['../d2/d52/heap__sort_8cpp.html#a9ed3e1510afdf3edd06cf2b68769a767',1,'heap_sort.cpp']]], - ['printf_67',['printf',['http://en.cppreference.com/w/cpp/io/c/fprintf.html',0,'std']]], - ['printinorder_68',['printInorder',['../d4/d32/inorder__successor__of__bst_8cpp.html#a5d7266b934ca50c4f53e4f1e725d89a4',1,'operations_on_datastructures::inorder_traversal_of_bst']]], - ['printlinkedlist_69',['printLinkedList',['../d5/d45/sublist__search_8cpp.html#ad1028bc215281d62e344af99da57fab2',1,'search::sublist_search']]], - ['printmat_70',['printMat',['../d3/d05/sudoku__solver_8cpp.html#ab040a12d7684cd85fb3684f4211ea5ac',1,'backtracking::sudoku_solver']]], - ['printnode_71',['PrintNode',['../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#af260f0760344771bf8fce4fc9b1739be',1,'data_structures::tree_234::Tree234']]], - ['printresult_72',['printResult',['../dd/dca/class_f_c_f_s.html#abb361a612b18bb189aa6d3c49288b793',1,'FCFS']]], - ['printroot_73',['printRoot',['../dd/d29/false__position_8cpp.html#a85cb7bfb90abc898e042d624372c5345',1,'numerical_methods::false_position']]], - ['printsol_74',['PrintSol',['../da/dac/n__queens__all__solution__optimised_8cpp.html#a04090463be4942a69ea91fe7386da905',1,'backtracking::n_queens_optimized::PrintSol()'],['../d7/d24/nqueen__print__all__solutions_8cpp.html#aebd5e11fab6dab282efccfb61beb0bd9',1,'backtracking::n_queens_all_solutions::PrintSol()']]], - ['printsolution_75',['printSolution',['../d3/d40/graph__coloring_8cpp.html#a8c47fa37fb6eeeb781b2ec1b05af6b07',1,'backtracking::graph_coloring::printSolution()'],['../d4/d3e/n__queens_8cpp.html#a40ae0c7fd04eb20e7f3bff13fc6a5808',1,'backtracking::n_queens::printSolution()']]], - ['priority_5fqueue_76',['priority_queue',['http://en.cppreference.com/w/cpp/container/priority_queue/priority_queue.html',0,'std::priority_queue']]], - ['probabilities_77',['probabilities',['http://en.cppreference.com/w/cpp/numeric/random/discrete_distribution/probabilities.html',0,'std::discrete_distribution']]], - ['probability_5fdensity_78',['probability_density',['../da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution.html#aee973db9f0435e0cb4cc70f8eb3447a1',1,'probability::geometric_dist::geometric_distribution']]], - ['problem_79',['problem',['../db/dd3/ode__forward__euler_8cpp.html#abaeae8f62a018d197f0187a1c80a90fe',1,'problem(const double &x, std::valarray< double > *y, std::valarray< double > *dy): ode_forward_euler.cpp'],['../d6/dd3/ode__midpoint__euler_8cpp.html#abaeae8f62a018d197f0187a1c80a90fe',1,'problem(const double &x, std::valarray< double > *y, std::valarray< double > *dy): ode_midpoint_euler.cpp'],['../d3/d06/ode__semi__implicit__euler_8cpp.html#abaeae8f62a018d197f0187a1c80a90fe',1,'problem(const double &x, std::valarray< double > *y, std::valarray< double > *dy): ode_semi_implicit_euler.cpp']]], - ['projection_80',['projection',['../d5/d33/gram__schmidt_8cpp.html#a8eeaafdde8b56f459aadc6013cf078bc',1,'numerical_methods::gram_schmidt']]], - ['promise_81',['promise',['http://en.cppreference.com/w/cpp/thread/promise/promise.html',0,'std::promise']]], - ['pubimbue_82',['pubimbue',['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubimbue.html',0,'std::basic_filebuf::pubimbue()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubimbue.html',0,'std::wstringbuf::pubimbue()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubimbue.html',0,'std::stringbuf::pubimbue()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubimbue.html',0,'std::wfilebuf::pubimbue()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubimbue.html',0,'std::wstreambuf::pubimbue()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubimbue.html',0,'std::strstreambuf::pubimbue()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubimbue.html',0,'std::basic_stringbuf::pubimbue()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubimbue.html',0,'std::basic_streambuf::pubimbue()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubimbue.html',0,'std::filebuf::pubimbue()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubimbue.html',0,'std::streambuf::pubimbue()']]], - ['pubseekoff_83',['pubseekoff',['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubseekoff.html',0,'std::basic_filebuf::pubseekoff()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubseekoff.html',0,'std::wstringbuf::pubseekoff()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubseekoff.html',0,'std::stringbuf::pubseekoff()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubseekoff.html',0,'std::wfilebuf::pubseekoff()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubseekoff.html',0,'std::wstreambuf::pubseekoff()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubseekoff.html',0,'std::strstreambuf::pubseekoff()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubseekoff.html',0,'std::basic_stringbuf::pubseekoff()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubseekoff.html',0,'std::basic_streambuf::pubseekoff()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubseekoff.html',0,'std::filebuf::pubseekoff()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubseekoff.html',0,'std::streambuf::pubseekoff()']]], - ['pubseekpos_84',['pubseekpos',['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubseekpos.html',0,'std::basic_filebuf::pubseekpos()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubseekpos.html',0,'std::wstringbuf::pubseekpos()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubseekpos.html',0,'std::stringbuf::pubseekpos()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubseekpos.html',0,'std::wfilebuf::pubseekpos()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubseekpos.html',0,'std::wstreambuf::pubseekpos()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubseekpos.html',0,'std::strstreambuf::pubseekpos()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubseekpos.html',0,'std::basic_stringbuf::pubseekpos()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubseekpos.html',0,'std::basic_streambuf::pubseekpos()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubseekpos.html',0,'std::filebuf::pubseekpos()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubseekpos.html',0,'std::streambuf::pubseekpos()']]], - ['pubsetbuf_85',['pubsetbuf',['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubsetbuf.html',0,'std::basic_filebuf::pubsetbuf()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubsetbuf.html',0,'std::wstringbuf::pubsetbuf()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubsetbuf.html',0,'std::stringbuf::pubsetbuf()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubsetbuf.html',0,'std::wfilebuf::pubsetbuf()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubsetbuf.html',0,'std::wstreambuf::pubsetbuf()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubsetbuf.html',0,'std::strstreambuf::pubsetbuf()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubsetbuf.html',0,'std::basic_stringbuf::pubsetbuf()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubsetbuf.html',0,'std::basic_streambuf::pubsetbuf()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubsetbuf.html',0,'std::filebuf::pubsetbuf()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubsetbuf.html',0,'std::streambuf::pubsetbuf()']]], - ['pubsync_86',['pubsync',['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubsync.html',0,'std::basic_filebuf::pubsync()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubsync.html',0,'std::wstringbuf::pubsync()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubsync.html',0,'std::stringbuf::pubsync()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubsync.html',0,'std::wfilebuf::pubsync()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubsync.html',0,'std::wstreambuf::pubsync()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubsync.html',0,'std::strstreambuf::pubsync()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubsync.html',0,'std::basic_stringbuf::pubsync()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubsync.html',0,'std::basic_streambuf::pubsync()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubsync.html',0,'std::filebuf::pubsync()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubsync.html',0,'std::streambuf::pubsync()']]], - ['push_87',['push',['http://en.cppreference.com/w/cpp/container/stack/push.html',0,'std::stack::push()'],['http://en.cppreference.com/w/cpp/container/queue/push.html',0,'std::queue::push()'],['http://en.cppreference.com/w/cpp/container/priority_queue/push.html',0,'std::priority_queue::push()'],['../d1/dc2/classstack.html#a90df277532c23519aa7ac3c08ed90a1d',1,'stack::push()'],['../d2/dc8/classdata__structures_1_1_stack.html#aa9f9b087e9e7c00628e1289f0f1de3b2',1,'data_structures::Stack::push()'],['../db/d5b/structdata__structures_1_1stack__using__queue_1_1_stack.html#af04a8f3536a52d8c9916086b656eefc2',1,'data_structures::stack_using_queue::Stack::push()'],['../df/d8f/classothers_1_1_cache_1_1_l_f_u_cache.html#adad4ab43141fb8ba43facd3a71e07047',1,'others::Cache::LFUCache::push()'],['../dc/dc5/paranthesis__matching_8cpp.html#aae41c72130114bf31204cde6873b6095',1,'push(): paranthesis_matching.cpp'],['../d7/d75/postfix__evaluation_8cpp.html#ad77f8c9cc594975756838d498c237cea',1,'others::postfix_expression::push()']]], - ['push_5fback_88',['push_back',['http://en.cppreference.com/w/cpp/container/vector/push_back.html',0,'std::vector::push_back()'],['http://en.cppreference.com/w/cpp/string/basic_string/push_back.html',0,'std::string::push_back()'],['http://en.cppreference.com/w/cpp/container/deque/push_back.html',0,'std::deque::push_back()'],['http://en.cppreference.com/w/cpp/string/basic_string/push_back.html',0,'std::basic_string::push_back()'],['http://en.cppreference.com/w/cpp/string/basic_string/push_back.html',0,'std::wstring::push_back()'],['http://en.cppreference.com/w/cpp/string/basic_string/push_back.html',0,'std::u16string::push_back()'],['http://en.cppreference.com/w/cpp/string/basic_string/push_back.html',0,'std::u32string::push_back()'],['http://en.cppreference.com/w/cpp/container/list/push_back.html',0,'std::list::push_back()'],['../d1/def/classdata__structures_1_1linked__list_1_1list.html#a6e9859d1a0755fb51e41904d20c95496',1,'data_structures::linked_list::list::push_back()']]], - ['push_5ffront_89',['push_front',['http://en.cppreference.com/w/cpp/container/forward_list/push_front.html',0,'std::forward_list::push_front()'],['http://en.cppreference.com/w/cpp/container/deque/push_front.html',0,'std::deque::push_front()'],['http://en.cppreference.com/w/cpp/container/list/push_front.html',0,'std::list::push_front()'],['../d1/def/classdata__structures_1_1linked__list_1_1list.html#a332b965afd9d6bea8d3246673acd52c7',1,'data_structures::linked_list::list::push_front()'],['../d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache.html#a2e53b5ad1368d87da501f61473eb9ea2',1,'others::Cache::LRUCache::push_front()']]], - ['push_5fheap_90',['push_heap',['http://en.cppreference.com/w/cpp/algorithm/push_heap.html',0,'std']]], - ['put_91',['put',['http://en.cppreference.com/w/cpp/io/basic_ostream/put.html',0,'std::basic_ofstream::put()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/put.html',0,'std::fstream::put()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/put.html',0,'std::wostream::put()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/put.html',0,'std::basic_ostringstream::put()'],['http://en.cppreference.com/w/cpp/locale/time_put/put.html',0,'std::time_put_byname::put()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/put.html',0,'std::ostringstream::put()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/put.html',0,'std::basic_fstream::put()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/put.html',0,'std::iostream::put()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/put.html',0,'std::stringstream::put()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/put.html',0,'std::ostream::put()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/put.html',0,'std::strstream::put()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/put.html',0,'std::basic_stringstream::put()'],['http://en.cppreference.com/w/cpp/locale/time_put/put.html',0,'std::time_put::put()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/put.html',0,'std::wostringstream::put()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/put.html',0,'std::basic_ostream::put()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/put.html',0,'std::wiostream::put()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/put.html',0,'std::ofstream::put()'],['http://en.cppreference.com/w/cpp/locale/num_put/put.html',0,'std::num_put::put()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/put.html',0,'std::ostrstream::put()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/put.html',0,'std::wfstream::put()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/put.html',0,'std::basic_iostream::put()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/put.html',0,'std::wofstream::put()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/put.html',0,'std::wstringstream::put()'],['http://en.cppreference.com/w/cpp/locale/money_put/put.html',0,'std::money_put::put()'],['../df/d8f/classothers_1_1_cache_1_1_l_f_u_cache.html#af6f8e5a66a45436b490dfe015ff8866e',1,'others::Cache::LFUCache::put()'],['../d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache.html#a5ee34fcee480f21bb6f68a34f0f69b45',1,'others::Cache::LRUCache::put()']]], - ['put_5fmoney_92',['put_money',['http://en.cppreference.com/w/cpp/io/manip/put_money.html',0,'std']]], - ['put_5ftime_93',['put_time',['http://en.cppreference.com/w/cpp/io/manip/put_time.html',0,'std']]], - ['putback_94',['putback',['http://en.cppreference.com/w/cpp/io/basic_istream/putback.html',0,'std::fstream::putback()'],['http://en.cppreference.com/w/cpp/io/basic_istream/putback.html',0,'std::basic_fstream::putback()'],['http://en.cppreference.com/w/cpp/io/basic_istream/putback.html',0,'std::iostream::putback()'],['http://en.cppreference.com/w/cpp/io/basic_istream/putback.html',0,'std::wistream::putback()'],['http://en.cppreference.com/w/cpp/io/basic_istream/putback.html',0,'std::stringstream::putback()'],['http://en.cppreference.com/w/cpp/io/basic_istream/putback.html',0,'std::wifstream::putback()'],['http://en.cppreference.com/w/cpp/io/basic_istream/putback.html',0,'std::basic_istream::putback()'],['http://en.cppreference.com/w/cpp/io/basic_istream/putback.html',0,'std::strstream::putback()'],['http://en.cppreference.com/w/cpp/io/basic_istream/putback.html',0,'std::basic_stringstream::putback()'],['http://en.cppreference.com/w/cpp/io/basic_istream/putback.html',0,'std::istrstream::putback()'],['http://en.cppreference.com/w/cpp/io/basic_istream/putback.html',0,'std::wiostream::putback()'],['http://en.cppreference.com/w/cpp/io/basic_istream/putback.html',0,'std::basic_istringstream::putback()'],['http://en.cppreference.com/w/cpp/io/basic_istream/putback.html',0,'std::basic_ifstream::putback()'],['http://en.cppreference.com/w/cpp/io/basic_istream/putback.html',0,'std::istringstream::putback()'],['http://en.cppreference.com/w/cpp/io/basic_istream/putback.html',0,'std::istream::putback()'],['http://en.cppreference.com/w/cpp/io/basic_istream/putback.html',0,'std::wfstream::putback()'],['http://en.cppreference.com/w/cpp/io/basic_istream/putback.html',0,'std::basic_iostream::putback()'],['http://en.cppreference.com/w/cpp/io/basic_istream/putback.html',0,'std::wstringstream::putback()'],['http://en.cppreference.com/w/cpp/io/basic_istream/putback.html',0,'std::wistringstream::putback()'],['http://en.cppreference.com/w/cpp/io/basic_istream/putback.html',0,'std::ifstream::putback()']]], - ['putc_95',['putc',['http://en.cppreference.com/w/cpp/io/c/fputc.html',0,'std']]], - ['putchar_96',['putchar',['http://en.cppreference.com/w/cpp/io/c/putchar.html',0,'std']]], - ['putprober_97',['putProber',['../d0/d65/namespacedouble__hashing.html#ac2adfce49ac57f6dbd1778d2c1ce0d2b',1,'double_hashing::putProber()'],['../d8/d89/namespacelinear__probing.html#a75d779938df7ebc68581d922b60a2541',1,'linear_probing::putProber()'],['../d4/dd2/namespacequadratic__probing.html#adccc63a7e57cc6dba75bd62f40feb88b',1,'quadratic_probing::putProber()']]], - ['puts_98',['puts',['http://en.cppreference.com/w/cpp/io/c/puts.html',0,'std']]], - ['putwchar_99',['putwchar',['http://en.cppreference.com/w/cpp/io/c/putwchar.html',0,'std']]], - ['pword_100',['pword',['http://en.cppreference.com/w/cpp/io/ios_base/pword.html',0,'std::basic_ofstream::pword()'],['http://en.cppreference.com/w/cpp/io/ios_base/pword.html',0,'std::fstream::pword()'],['http://en.cppreference.com/w/cpp/io/ios_base/pword.html',0,'std::wostream::pword()'],['http://en.cppreference.com/w/cpp/io/ios_base/pword.html',0,'std::basic_ostringstream::pword()'],['http://en.cppreference.com/w/cpp/io/ios_base/pword.html',0,'std::basic_ios::pword()'],['http://en.cppreference.com/w/cpp/io/ios_base/pword.html',0,'std::ostringstream::pword()'],['http://en.cppreference.com/w/cpp/io/ios_base/pword.html',0,'std::basic_fstream::pword()'],['http://en.cppreference.com/w/cpp/io/ios_base/pword.html',0,'std::iostream::pword()'],['http://en.cppreference.com/w/cpp/io/ios_base/pword.html',0,'std::ios_base::pword()'],['http://en.cppreference.com/w/cpp/io/ios_base/pword.html',0,'std::wistream::pword()'],['http://en.cppreference.com/w/cpp/io/ios_base/pword.html',0,'std::stringstream::pword()'],['http://en.cppreference.com/w/cpp/io/ios_base/pword.html',0,'std::ostream::pword()'],['http://en.cppreference.com/w/cpp/io/ios_base/pword.html',0,'std::wifstream::pword()'],['http://en.cppreference.com/w/cpp/io/ios_base/pword.html',0,'std::basic_istream::pword()'],['http://en.cppreference.com/w/cpp/io/ios_base/pword.html',0,'std::strstream::pword()'],['http://en.cppreference.com/w/cpp/io/ios_base/pword.html',0,'std::basic_stringstream::pword()'],['http://en.cppreference.com/w/cpp/io/ios_base/pword.html',0,'std::wostringstream::pword()'],['http://en.cppreference.com/w/cpp/io/ios_base/pword.html',0,'std::istrstream::pword()'],['http://en.cppreference.com/w/cpp/io/ios_base/pword.html',0,'std::basic_ostream::pword()'],['http://en.cppreference.com/w/cpp/io/ios_base/pword.html',0,'std::wiostream::pword()'],['http://en.cppreference.com/w/cpp/io/ios_base/pword.html',0,'std::ofstream::pword()'],['http://en.cppreference.com/w/cpp/io/ios_base/pword.html',0,'std::basic_istringstream::pword()'],['http://en.cppreference.com/w/cpp/io/ios_base/pword.html',0,'std::basic_ifstream::pword()'],['http://en.cppreference.com/w/cpp/io/ios_base/pword.html',0,'std::istringstream::pword()'],['http://en.cppreference.com/w/cpp/io/ios_base/pword.html',0,'std::istream::pword()'],['http://en.cppreference.com/w/cpp/io/ios_base/pword.html',0,'std::ostrstream::pword()'],['http://en.cppreference.com/w/cpp/io/ios_base/pword.html',0,'std::wfstream::pword()'],['http://en.cppreference.com/w/cpp/io/ios_base/pword.html',0,'std::basic_iostream::pword()'],['http://en.cppreference.com/w/cpp/io/ios_base/pword.html',0,'std::wofstream::pword()'],['http://en.cppreference.com/w/cpp/io/ios_base/pword.html',0,'std::wstringstream::pword()'],['http://en.cppreference.com/w/cpp/io/ios_base/pword.html',0,'std::wistringstream::pword()'],['http://en.cppreference.com/w/cpp/io/ios_base/pword.html',0,'std::ifstream::pword()']]], - ['pyramid_5fvolume_101',['pyramid_volume',['../dd/d47/namespacemath.html#a94db02b3c9e55a69ac1696f30e2f761c',1,'math']]] + ['pal_5fpart_0',['pal_part',['../d5/d90/palindrome__partitioning_8cpp.html#a52ee22882858d2b1cf04293f02ed839a',1,'dynamic_programming::palindrome_partitioning']]], + ['pancakesort_1',['pancakeSort',['../d3/d92/pancake__sort_8cpp.html#abff90bc0f54e4f8ea5f0330471781bd5',1,'sorting::pancake_sort']]], + ['parallelogram_5farea_2',['parallelogram_area',['../dd/d47/namespacemath.html#a5de184925e68658f15415dd53954df4f',1,'math']]], + ['parallelogram_5fperimeter_3',['parallelogram_perimeter',['../dd/d47/namespacemath.html#a0efb235330ff48e14fd31faaccbcebb3',1,'math']]], + ['partition_4',['partition',['../d1/d21/quick__sort_8cpp.html#a1b2a2cc2d319240f3b65c5b2f479ed82',1,'sorting::quick_sort::partition()'],['../d5/d91/namespacesorting.html#aac8f44b28b4aa96444383030b28f8b34',1,'sorting::partition()'],['../d1/daa/random__pivot__quick__sort_8cpp.html#a3d1c39e1ff42c04fb8ec0c0b9411cd3e',1,'sorting::random_pivot_quick_sort::partition()']]], + ['pascal_5ftriangle_5',['pascal_triangle',['../dc/d1a/pascal__triangle_8cpp.html#a4fc0e5a112f715c3a73989450b2cc5fd',1,'pascal_triangle.cpp']]], + ['pat_5ftest_6',['pat_test',['../d3/db2/boyer__moore_8cpp.html#ac8fac0dd4b19973da103a434143a16d2',1,'boyer_moore.cpp']]], + ['phifunction_7',['phiFunction',['../dd/d47/namespacemath.html#ac37d3ba52eb296597d7a024ba8c4a5a5',1,'math']]], + ['pigeonsort_8',['pigeonSort',['../d5/d91/namespacesorting.html#a0e9e1b21a1684585e9e50f9afe4d53a3',1,'sorting']]], + ['point_9',['Point',['../d8/dc8/struct_point.html#ae2d6fb1b3fd3a96169d963d62e37130a',1,'Point']]], + ['pointincircle_10',['PointInCircle',['../d0/d01/smallest__circle_8cpp.html#aee6d48762c1dfb9f14627927f0c16fad',1,'smallest_circle.cpp']]], + ['poisson_5fexpected_11',['poisson_expected',['../d9/d24/poisson__dist_8cpp.html#ad0aa718023ce802dd5899f0e03a7ac71',1,'poisson_dist.cpp']]], + ['poisson_5frange_5fsuccesses_12',['poisson_range_successes',['../d9/d24/poisson__dist_8cpp.html#ad9c9e74079278ca10e3b97a8d5391c9a',1,'poisson_dist.cpp']]], + ['poisson_5frate_13',['poisson_rate',['../d9/d24/poisson__dist_8cpp.html#ac217ab9a06291f360d816700a6958ca8',1,'poisson_dist.cpp']]], + ['poisson_5fx_5fsuccesses_14',['poisson_x_successes',['../d9/d24/poisson__dist_8cpp.html#a69a136b32707bdc7950fb9057b5fa1e1',1,'poisson_dist.cpp']]], + ['poly_5ffunction_15',['poly_function',['../da/df2/durand__kerner__roots_8cpp.html#ae2ab49ba1969d7a5988f9bc2c8924569',1,'durand_kerner_roots.cpp']]], + ['pop_16',['pop',['../d1/dc2/classstack.html#a3647fb4418890f19e0dc414b8092b8b0',1,'stack::pop()'],['../d2/dc8/classdata__structures_1_1_stack.html#ac46842bdd9c655d84f865fa3a03da19b',1,'data_structures::Stack::pop()'],['../db/d5b/structdata__structures_1_1stack__using__queue_1_1_stack.html#abdd461689df4983a3ad3b05d853cf5eb',1,'data_structures::stack_using_queue::Stack::pop()'],['../df/d8f/classothers_1_1_cache_1_1_l_f_u_cache.html#ab3561ab204754295199f9566924f7e69',1,'others::Cache::LFUCache::pop()'],['../dc/dc5/paranthesis__matching_8cpp.html#a6d25c7dfbfeb52c3cb9d1b56ab49b664',1,'pop(): paranthesis_matching.cpp'],['../d7/d75/postfix__evaluation_8cpp.html#a421baa2002a64bc0bfc3e1b64800d734',1,'others::postfix_expression::pop()']]], + ['pop_5fback_17',['pop_back',['../d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache.html#ab211a4be58491bf11834cae88a0c44f7',1,'others::Cache::LRUCache::pop_back()'],['../d8/d77/namespacemachine__learning.html#ae10178b082f0205c326550877d998e5d',1,'machine_learning::pop_back(const std::valarray< T > &A)']]], + ['pop_5ffront_18',['pop_front',['../d8/d77/namespacemachine__learning.html#a912cf68863063a38d6e63545be5eb093',1,'machine_learning']]], + ['populate_5fparents_19',['populate_parents',['../d0/d58/classgraph_1_1_rooted_tree.html#ae6928f3ebd491541e9570e746b877c1e',1,'graph::RootedTree']]], + ['populate_5fup_20',['populate_up',['../d9/d23/classgraph_1_1_lowest_common_ancestor.html#a42589cc39d6bbff6c997152f1b96e356',1,'graph::LowestCommonAncestor']]], + ['postfix_5fevaluation_21',['postfix_evaluation',['../d7/d75/postfix__evaluation_8cpp.html#ae38bd3a177a6d61da3859a281233bbe1',1,'others::postfix_expression']]], + ['postorder_22',['postorder',['../dd/de1/classothers_1_1recursive__tree__traversals_1_1_b_t.html#ac9404b65f407f631915515fa2e08a40c',1,'others::recursive_tree_traversals::BT']]], + ['postorderiterative_23',['postOrderIterative',['../d9/d12/classothers_1_1iterative__tree__traversals_1_1_binary_tree.html#a636a07c90b7f312bb86d2ec104efca25',1,'others::iterative_tree_traversals::BinaryTree']]], + ['power_24',['power',['../de/dc3/fibonacci__sum_8cpp.html#a7cf5feaf168b88e74544da59ed830311',1,'math::fibonacci_sum::power()'],['../df/d72/modular__division_8cpp.html#a66cdf93153cbd1408bd74ac68961d179',1,'math::modular_division::power()'],['../dd/d47/namespacemath.html#afcd07701d73ed65cd616bcba02737f3d',1,'math::power()'],['../df/def/power__for__huge__numbers_8cpp.html#ae249a2af508aa94266023ce8aa81426f',1,'power(int x, int n): power_for_huge_numbers.cpp'],['../d7/d35/matrix__exponentiation_8cpp.html#a702a9fc90e79b05b863cc4efa26ae2ec',1,'power(const vector< vector< ll > > &A, ll p): matrix_exponentiation.cpp']]], + ['power_5fof_5ftwo_25',['power_of_two',['../dd/d47/namespacemath.html#a8a48be4d7f14e34c5c92925bc1cbf3bb',1,'math']]], + ['predict_26',['predict',['../d6/d30/classmachine__learning_1_1adaline.html#ab11242d9ad5b03a75911e29b04f78fd3',1,'machine_learning::adaline::predict()'],['../da/d94/classmachine__learning_1_1k__nearest__neighbors_1_1_knn.html#a62e152db014cd4de675fa906e5ef2861',1,'machine_learning::k_nearest_neighbors::Knn::predict()']]], + ['predict_5fols_5fregressor_27',['predict_OLS_regressor',['../dc/d38/ordinary__least__squares__regressor_8cpp.html#ade6e463f37878fe2a219f927c65b5493',1,'ordinary_least_squares_regressor.cpp']]], + ['predict_5fwords_28',['predict_words',['../d3/d26/classdata__structures_1_1trie__using__hashmap_1_1_trie.html#ae15fdc7f2b5023992d87a711d78566c4',1,'data_structures::trie_using_hashmap::Trie']]], + ['preorder_29',['preorder',['../dd/de1/classothers_1_1recursive__tree__traversals_1_1_b_t.html#a6397b78ceec18cb1959a1d159e134da5',1,'others::recursive_tree_traversals::BT']]], + ['preorderiterative_30',['preOrderIterative',['../d9/d12/classothers_1_1iterative__tree__traversals_1_1_binary_tree.html#ad4c6a8e67fb8267a65439b035666b5ae',1,'others::iterative_tree_traversals::BinaryTree']]], + ['prime_5ffactorization_31',['prime_factorization',['../db/d0d/prime__factorization_8cpp.html#a0ece0145fb29a5cf48378c23dde2da46',1,'prime_factorization.cpp']]], + ['primes_32',['primes',['../de/d9b/prime__numbers_8cpp.html#a9575f3a51eeb8a57d657b3db6a4b441a',1,'prime_numbers.cpp']]], + ['print_33',['Print',['../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a2e9a9db7792cf5383f4c4cc418255165',1,'data_structures::tree_234::Tree234']]], + ['print_34',['print',['../d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list.html#ac341901e926b3fa3a796c64ca572f592',1,'operations_on_datastructures::circular_linked_list::CircularLinkedList::print()'],['../d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list.html#a424b17ddc672b25fe0bd9dc8612fba21',1,'operations_on_datastructures::circular_linked_list::CircularLinkedList::print(Node *root)'],['../de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree.html#a5cf972a2c994a4fa1a89fc77bd5ad503',1,'operations_on_datastructures::reverse_binary_tree::BinaryTree::print()'],['../d2/d2f/namespacegreedy__algorithms_1_1dijkstra.html#a7341d7c76a6145e991cdd231f689fca8',1,'greedy_algorithms::dijkstra::print()'],['../d8/ddf/sieve__of__eratosthenes_8cpp.html#a55bc4a221e584d33b79b322432ecc0f3',1,'math::sieve_of_eratosthenes::print()'],['../da/d6d/namespaceoperations__on__datastructures.html#a6109193567a5b7e36a27f2b4865fce20',1,'operations_on_datastructures::print()']]], + ['print_5fprimes_35',['print_primes',['../dd/d47/namespacemath.html#ad09d59850865012a6fd95d89954c82e4',1,'math']]], + ['print_5ftable_36',['print_table',['../d8/d41/namespacegames_1_1memory__game.html#ac589ef65abb0a6b9a7116ee0f9fd5280',1,'games::memory_game']]], + ['printarray_37',['printArray',['../d2/d52/heap__sort_8cpp.html#a9ed3e1510afdf3edd06cf2b68769a767',1,'heap_sort.cpp']]], + ['printinorder_38',['printInorder',['../d4/d32/inorder__successor__of__bst_8cpp.html#a5d7266b934ca50c4f53e4f1e725d89a4',1,'operations_on_datastructures::inorder_traversal_of_bst']]], + ['printlinkedlist_39',['printLinkedList',['../d5/d45/sublist__search_8cpp.html#ad1028bc215281d62e344af99da57fab2',1,'search::sublist_search']]], + ['printmat_40',['printMat',['../d3/d05/sudoku__solver_8cpp.html#ab040a12d7684cd85fb3684f4211ea5ac',1,'backtracking::sudoku_solver']]], + ['printnode_41',['PrintNode',['../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#af260f0760344771bf8fce4fc9b1739be',1,'data_structures::tree_234::Tree234']]], + ['printresult_42',['printResult',['../dd/dca/class_f_c_f_s.html#abb361a612b18bb189aa6d3c49288b793',1,'FCFS']]], + ['printroot_43',['printRoot',['../dd/d29/false__position_8cpp.html#a85cb7bfb90abc898e042d624372c5345',1,'numerical_methods::false_position']]], + ['printsol_44',['PrintSol',['../da/dac/n__queens__all__solution__optimised_8cpp.html#a04090463be4942a69ea91fe7386da905',1,'backtracking::n_queens_optimized::PrintSol()'],['../d7/d24/nqueen__print__all__solutions_8cpp.html#aebd5e11fab6dab282efccfb61beb0bd9',1,'backtracking::n_queens_all_solutions::PrintSol()']]], + ['printsolution_45',['printSolution',['../d3/d40/graph__coloring_8cpp.html#a8c47fa37fb6eeeb781b2ec1b05af6b07',1,'backtracking::graph_coloring::printSolution()'],['../d4/d3e/n__queens_8cpp.html#a40ae0c7fd04eb20e7f3bff13fc6a5808',1,'backtracking::n_queens::printSolution()']]], + ['probability_5fdensity_46',['probability_density',['../da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution.html#aee973db9f0435e0cb4cc70f8eb3447a1',1,'probability::geometric_dist::geometric_distribution']]], + ['problem_47',['problem',['../db/dd3/ode__forward__euler_8cpp.html#abaeae8f62a018d197f0187a1c80a90fe',1,'problem(const double &x, std::valarray< double > *y, std::valarray< double > *dy): ode_forward_euler.cpp'],['../d6/dd3/ode__midpoint__euler_8cpp.html#abaeae8f62a018d197f0187a1c80a90fe',1,'problem(const double &x, std::valarray< double > *y, std::valarray< double > *dy): ode_midpoint_euler.cpp'],['../d3/d06/ode__semi__implicit__euler_8cpp.html#abaeae8f62a018d197f0187a1c80a90fe',1,'problem(const double &x, std::valarray< double > *y, std::valarray< double > *dy): ode_semi_implicit_euler.cpp']]], + ['projection_48',['projection',['../d5/d33/gram__schmidt_8cpp.html#a8eeaafdde8b56f459aadc6013cf078bc',1,'numerical_methods::gram_schmidt']]], + ['push_49',['push',['../d1/dc2/classstack.html#a90df277532c23519aa7ac3c08ed90a1d',1,'stack::push()'],['../d2/dc8/classdata__structures_1_1_stack.html#aa9f9b087e9e7c00628e1289f0f1de3b2',1,'data_structures::Stack::push()'],['../db/d5b/structdata__structures_1_1stack__using__queue_1_1_stack.html#af04a8f3536a52d8c9916086b656eefc2',1,'data_structures::stack_using_queue::Stack::push()'],['../df/d8f/classothers_1_1_cache_1_1_l_f_u_cache.html#adad4ab43141fb8ba43facd3a71e07047',1,'others::Cache::LFUCache::push()'],['../dc/dc5/paranthesis__matching_8cpp.html#aae41c72130114bf31204cde6873b6095',1,'push(): paranthesis_matching.cpp'],['../d7/d75/postfix__evaluation_8cpp.html#ad77f8c9cc594975756838d498c237cea',1,'others::postfix_expression::push()']]], + ['push_5fback_50',['push_back',['../d1/def/classdata__structures_1_1linked__list_1_1list.html#a6e9859d1a0755fb51e41904d20c95496',1,'data_structures::linked_list::list']]], + ['push_5ffront_51',['push_front',['../d1/def/classdata__structures_1_1linked__list_1_1list.html#a332b965afd9d6bea8d3246673acd52c7',1,'data_structures::linked_list::list::push_front()'],['../d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache.html#a2e53b5ad1368d87da501f61473eb9ea2',1,'others::Cache::LRUCache::push_front()']]], + ['put_52',['put',['../df/d8f/classothers_1_1_cache_1_1_l_f_u_cache.html#af6f8e5a66a45436b490dfe015ff8866e',1,'others::Cache::LFUCache::put()'],['../d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache.html#a5ee34fcee480f21bb6f68a34f0f69b45',1,'others::Cache::LRUCache::put()']]], + ['putprober_53',['putProber',['../d0/d65/namespacedouble__hashing.html#ac2adfce49ac57f6dbd1778d2c1ce0d2b',1,'double_hashing::putProber()'],['../d8/d89/namespacelinear__probing.html#a75d779938df7ebc68581d922b60a2541',1,'linear_probing::putProber()'],['../d4/dd2/namespacequadratic__probing.html#adccc63a7e57cc6dba75bd62f40feb88b',1,'quadratic_probing::putProber()']]], + ['pyramid_5fvolume_54',['pyramid_volume',['../dd/d47/namespacemath.html#a94db02b3c9e55a69ac1696f30e2f761c',1,'math']]] ]; diff --git a/search/functions_11.js b/search/functions_11.js index 3e265c3a5..995d39a3b 100644 --- a/search/functions_11.js +++ b/search/functions_11.js @@ -1,15 +1,11 @@ var searchData= [ ['qr_5fdecompose_0',['qr_decompose',['../d2/d3b/namespaceqr__algorithm.html#a73ce637634fc49e1d10d190eb388ebf1',1,'qr_algorithm']]], - ['qsort_1',['qsort',['http://en.cppreference.com/w/cpp/algorithm/qsort.html',0,'std']]], - ['quadraticequation_2',['quadraticEquation',['../dd/d47/namespacemath.html#aacb1411ef2029e81f249c21e17c96fdb',1,'math']]], - ['quadraticprobe_3',['quadraticProbe',['../d4/dd2/namespacequadratic__probing.html#ab431981b54c0bae1b2956f716aee1dcf',1,'quadratic_probing']]], - ['query_4',['query',['../da/d37/structdata__structures_1_1sparse__table_1_1_sparse__table.html#a0c8cbe7239232863f104793c08273039',1,'data_structures::sparse_table::Sparse_table::query()'],['../d9/d35/classrange__queries_1_1heavy__light__decomposition_1_1_s_g.html#a1fda852e6e522707fd97f61cdb0a2591',1,'range_queries::heavy_light_decomposition::SG::query()'],['../d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d.html#a4dfbf5d9df825eeb63b294c6849bdcab',1,'range_queries::heavy_light_decomposition::HLD::query()'],['../d8/d28/classrange__queries_1_1per_seg_tree.html#ae8ae4b1835e5e8aec32f68c5059ed4d4',1,'range_queries::perSegTree::query(const uint32_t &i, const uint32_t &j, const uint32_t &l, const uint32_t &r, std::shared_ptr< Node > const &curr)'],['../d8/d28/classrange__queries_1_1per_seg_tree.html#ad484002bcb701820d55f32ea5d525571',1,'range_queries::perSegTree::query(const uint32_t &l, const uint32_t &r, const uint32_t &version)'],['../d1/d9e/prefix__sum__array_8cpp.html#a7c8fd967c36dbba5fdf9c71faed604cf',1,'range_queries::prefix_sum_array::query()'],['../d2/d45/segtree_8cpp.html#a423a97ea0c7ea6e33b5844a6858d902d',1,'query(): segtree.cpp']]], - ['queue_5',['queue',['http://en.cppreference.com/w/cpp/container/queue/queue.html',0,'std::queue']]], - ['queue_5ftest_6',['queue_test',['../df/dd0/queue__using__two__stacks_8cpp.html#a831ded10ecad88c14a8e22b96f4c1863',1,'queue_using_two_stacks.cpp']]], - ['quick_5fexit_7',['quick_exit',['http://en.cppreference.com/w/cpp/utility/program/quick_exit.html',0,'std']]], - ['quick_5fsort_8',['quick_sort',['../d1/d21/quick__sort_8cpp.html#a5e6213e8008356ac6eda9427f3f4b394',1,'sorting::quick_sort::quick_sort(std::vector< T > *arr, const int &low, const int &high)'],['../d1/d21/quick__sort_8cpp.html#a53adad7e4d83e1495df25fe8dbb4cc05',1,'sorting::quick_sort::quick_sort(std::vector< T > arr, const int &low, const int &high)']]], - ['quicksort_9',['quicksort',['../d5/d91/namespacesorting.html#a9f59fe72dacc1f1218ef3c303d843168',1,'sorting::quicksort(std::vector< T > *arr, int32_t low, int32_t high)'],['../d5/d91/namespacesorting.html#a6eb67c2f91c98cf4464f75b5882022de',1,'sorting::quicksort(std::vector< T > arr, int32_t low, int32_t high)']]], - ['quicksortrp_10',['quickSortRP',['../d1/daa/random__pivot__quick__sort_8cpp.html#a7d2e7465e7b5d54c2de6d5e9db1ea6a5',1,'sorting::random_pivot_quick_sort']]], - ['quiet_5fnan_11',['quiet_NaN',['http://en.cppreference.com/w/cpp/types/numeric_limits/quiet_NaN.html',0,'std::numeric_limits']]] + ['quadraticequation_1',['quadraticEquation',['../dd/d47/namespacemath.html#aacb1411ef2029e81f249c21e17c96fdb',1,'math']]], + ['quadraticprobe_2',['quadraticProbe',['../d4/dd2/namespacequadratic__probing.html#ab431981b54c0bae1b2956f716aee1dcf',1,'quadratic_probing']]], + ['query_3',['query',['../da/d37/structdata__structures_1_1sparse__table_1_1_sparse__table.html#a0c8cbe7239232863f104793c08273039',1,'data_structures::sparse_table::Sparse_table::query()'],['../d9/d35/classrange__queries_1_1heavy__light__decomposition_1_1_s_g.html#a1fda852e6e522707fd97f61cdb0a2591',1,'range_queries::heavy_light_decomposition::SG::query()'],['../d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d.html#a4dfbf5d9df825eeb63b294c6849bdcab',1,'range_queries::heavy_light_decomposition::HLD::query()'],['../d8/d28/classrange__queries_1_1per_seg_tree.html#ae8ae4b1835e5e8aec32f68c5059ed4d4',1,'range_queries::perSegTree::query(const uint32_t &i, const uint32_t &j, const uint32_t &l, const uint32_t &r, std::shared_ptr< Node > const &curr)'],['../d8/d28/classrange__queries_1_1per_seg_tree.html#ad484002bcb701820d55f32ea5d525571',1,'range_queries::perSegTree::query(const uint32_t &l, const uint32_t &r, const uint32_t &version)'],['../d1/d9e/prefix__sum__array_8cpp.html#a7c8fd967c36dbba5fdf9c71faed604cf',1,'range_queries::prefix_sum_array::query()'],['../d2/d45/segtree_8cpp.html#a423a97ea0c7ea6e33b5844a6858d902d',1,'query(std::vector< int64_t > *segtree, std::vector< int64_t > *lazy, uint64_t qlow, uint64_t qhigh, uint64_t low, uint64_t high, uint64_t pos): segtree.cpp']]], + ['queue_5ftest_4',['queue_test',['../df/dd0/queue__using__two__stacks_8cpp.html#a831ded10ecad88c14a8e22b96f4c1863',1,'queue_using_two_stacks.cpp']]], + ['quick_5fsort_5',['quick_sort',['../d1/d21/quick__sort_8cpp.html#a5e6213e8008356ac6eda9427f3f4b394',1,'sorting::quick_sort::quick_sort(std::vector< T > *arr, const int &low, const int &high)'],['../d1/d21/quick__sort_8cpp.html#a53adad7e4d83e1495df25fe8dbb4cc05',1,'sorting::quick_sort::quick_sort(std::vector< T > arr, const int &low, const int &high)']]], + ['quicksort_6',['quicksort',['../d5/d91/namespacesorting.html#a9f59fe72dacc1f1218ef3c303d843168',1,'sorting::quicksort(std::vector< T > *arr, int32_t low, int32_t high)'],['../d5/d91/namespacesorting.html#a6eb67c2f91c98cf4464f75b5882022de',1,'sorting::quicksort(std::vector< T > arr, int32_t low, int32_t high)']]], + ['quicksortrp_7',['quickSortRP',['../d1/daa/random__pivot__quick__sort_8cpp.html#a7d2e7465e7b5d54c2de6d5e9db1ea6a5',1,'sorting::random_pivot_quick_sort']]] ]; diff --git a/search/functions_12.js b/search/functions_12.js index d845f2dbb..82dae2c69 100644 --- a/search/functions_12.js +++ b/search/functions_12.js @@ -2,101 +2,43 @@ var searchData= [ ['rabin_5fkarp_0',['rabin_karp',['../d9/d03/namespacestring__search.html#a21c673d56cbf67b1d2ee4d869185b7d9',1,'string_search']]], ['radix_1',['radix',['../d8/d61/radix__sort2_8cpp.html#ae0cfd94fa3765b53d4ec7893ffaee5f8',1,'sorting::radix_sort']]], - ['raise_2',['raise',['http://en.cppreference.com/w/cpp/utility/program/raise.html',0,'std']]], - ['rand_3',['rand',['http://en.cppreference.com/w/cpp/numeric/random/rand.html',0,'std']]], - ['rand_5frange_4',['rand_range',['../d6/d26/classciphers_1_1_hill_cipher.html#a629be41c1ab78850963e4ce14e1d11d9',1,'ciphers::HillCipher::rand_range(T1 a, T1 b)'],['../d6/d26/classciphers_1_1_hill_cipher.html#a716d0313141499d16f57c0c107f04395',1,'ciphers::HillCipher::rand_range(matrix< T2 > *M, T1 a, T1 b)']]], - ['random_5fdevice_5',['random_device',['http://en.cppreference.com/w/cpp/numeric/random/random_device/random_device.html',0,'std::random_device']]], - ['random_5fshuffle_6',['random_shuffle',['http://en.cppreference.com/w/cpp/algorithm/random_shuffle.html',0,'std']]], - ['random_5ftests_7',['random_tests',['../de/d0d/fibonacci__search_8cpp.html#a2aa09bef74ee063c1331de0883af4f4f',1,'fibonacci_search.cpp']]], - ['randomized_5fbogosort_8',['randomized_bogosort',['../d5/d91/namespacesorting.html#affc6ee160142cd017f8c4b213437d0fd',1,'sorting']]], - ['randomlevel_9',['randomLevel',['../d4/d90/classdata__structures_1_1_skip_list.html#aa3f3813e9896792fc86b296547689ba4',1,'data_structures::SkipList']]], - ['range_5fcomb_10',['range_comb',['../dd/d95/classdata__structures_1_1_segment_tree.html#a8fecc48e8e3f6f5f6e728495a4282e52',1,'data_structures::SegmentTree::range_comb(int i, int l, int r, int tl, int tr)'],['../dd/d95/classdata__structures_1_1_segment_tree.html#a1c5331b509d9b55bedfadf979b30dd5b',1,'data_structures::SegmentTree::range_comb(int l, int r)']]], - ['range_5ferror_11',['range_error',['http://en.cppreference.com/w/cpp/error/range_error.html',0,'std::range_error']]], - ['range_5ftries_12',['range_tries',['../da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution.html#a4620163a196709484225774d87de6d69',1,'probability::geometric_dist::geometric_distribution']]], - ['ranlux24_13',['ranlux24',['http://en.cppreference.com/w/cpp/numeric/random/discard_block_engine/discard_block_engine.html',0,'std::ranlux24']]], - ['ranlux24_5fbase_14',['ranlux24_base',['http://en.cppreference.com/w/cpp/numeric/random/subtract_with_carry_engine/subtract_with_carry_engine.html',0,'std::ranlux24_base']]], - ['ranlux48_15',['ranlux48',['http://en.cppreference.com/w/cpp/numeric/random/discard_block_engine/discard_block_engine.html',0,'std::ranlux48']]], - ['ranlux48_5fbase_16',['ranlux48_base',['http://en.cppreference.com/w/cpp/numeric/random/subtract_with_carry_engine/subtract_with_carry_engine.html',0,'std::ranlux48_base']]], - ['raw_5fstorage_5fiterator_17',['raw_storage_iterator',['http://en.cppreference.com/w/cpp/memory/raw_storage_iterator/raw_storage_iterator.html',0,'std::raw_storage_iterator']]], - ['rbegin_18',['rbegin',['http://en.cppreference.com/w/cpp/container/dynarray/rbegin.html',0,'std::dynarray::rbegin()'],['http://en.cppreference.com/w/cpp/container/vector/rbegin.html',0,'std::vector::rbegin()'],['http://en.cppreference.com/w/cpp/container/multiset/rbegin.html',0,'std::multiset::rbegin()'],['http://en.cppreference.com/w/cpp/string/basic_string/rbegin.html',0,'std::string::rbegin()'],['http://en.cppreference.com/w/cpp/container/set/rbegin.html',0,'std::set::rbegin()'],['http://en.cppreference.com/w/cpp/container/deque/rbegin.html',0,'std::deque::rbegin()'],['http://en.cppreference.com/w/cpp/string/basic_string/rbegin.html',0,'std::basic_string::rbegin()'],['http://en.cppreference.com/w/cpp/string/basic_string/rbegin.html',0,'std::wstring::rbegin()'],['http://en.cppreference.com/w/cpp/string/basic_string/rbegin.html',0,'std::u16string::rbegin()'],['http://en.cppreference.com/w/cpp/string/basic_string/rbegin.html',0,'std::u32string::rbegin()'],['http://en.cppreference.com/w/cpp/container/list/rbegin.html',0,'std::list::rbegin()'],['http://en.cppreference.com/w/cpp/container/map/rbegin.html',0,'std::map::rbegin()'],['http://en.cppreference.com/w/cpp/container/multimap/rbegin.html',0,'std::multimap::rbegin()'],['http://en.cppreference.com/w/cpp/container/array/rbegin.html',0,'std::array::rbegin()']]], - ['rdbuf_19',['rdbuf',['http://en.cppreference.com/w/cpp/io/basic_ios/rdbuf.html',0,'std::basic_ofstream::rdbuf()'],['http://en.cppreference.com/w/cpp/io/basic_ios/rdbuf.html',0,'std::fstream::rdbuf()'],['http://en.cppreference.com/w/cpp/locale/wbuffer_convert/rdbuf.html',0,'std::wbuffer_convert::rdbuf()'],['http://en.cppreference.com/w/cpp/io/basic_ios/rdbuf.html',0,'std::wostream::rdbuf()'],['http://en.cppreference.com/w/cpp/io/basic_ios/rdbuf.html',0,'std::basic_ostringstream::rdbuf()'],['http://en.cppreference.com/w/cpp/io/basic_ios/rdbuf.html',0,'std::basic_ios::rdbuf()'],['http://en.cppreference.com/w/cpp/io/basic_ios/rdbuf.html',0,'std::ostringstream::rdbuf()'],['http://en.cppreference.com/w/cpp/io/basic_ios/rdbuf.html',0,'std::basic_fstream::rdbuf()'],['http://en.cppreference.com/w/cpp/io/basic_ios/rdbuf.html',0,'std::iostream::rdbuf()'],['http://en.cppreference.com/w/cpp/io/basic_ios/rdbuf.html',0,'std::wistream::rdbuf()'],['http://en.cppreference.com/w/cpp/io/basic_ios/rdbuf.html',0,'std::stringstream::rdbuf()'],['http://en.cppreference.com/w/cpp/io/basic_ios/rdbuf.html',0,'std::ostream::rdbuf()'],['http://en.cppreference.com/w/cpp/io/basic_ios/rdbuf.html',0,'std::wifstream::rdbuf()'],['http://en.cppreference.com/w/cpp/io/basic_ios/rdbuf.html',0,'std::basic_istream::rdbuf()'],['http://en.cppreference.com/w/cpp/io/basic_ios/rdbuf.html',0,'std::strstream::rdbuf()'],['http://en.cppreference.com/w/cpp/io/basic_ios/rdbuf.html',0,'std::basic_stringstream::rdbuf()'],['http://en.cppreference.com/w/cpp/io/basic_ios/rdbuf.html',0,'std::wostringstream::rdbuf()'],['http://en.cppreference.com/w/cpp/io/basic_ios/rdbuf.html',0,'std::istrstream::rdbuf()'],['http://en.cppreference.com/w/cpp/io/basic_ios/rdbuf.html',0,'std::basic_ostream::rdbuf()'],['http://en.cppreference.com/w/cpp/io/basic_ios/rdbuf.html',0,'std::wiostream::rdbuf()'],['http://en.cppreference.com/w/cpp/io/basic_ios/rdbuf.html',0,'std::ofstream::rdbuf()'],['http://en.cppreference.com/w/cpp/io/basic_ios/rdbuf.html',0,'std::basic_istringstream::rdbuf()'],['http://en.cppreference.com/w/cpp/io/basic_ios/rdbuf.html',0,'std::basic_ifstream::rdbuf()'],['http://en.cppreference.com/w/cpp/io/basic_ios/rdbuf.html',0,'std::istringstream::rdbuf()'],['http://en.cppreference.com/w/cpp/io/basic_ios/rdbuf.html',0,'std::istream::rdbuf()'],['http://en.cppreference.com/w/cpp/io/basic_ios/rdbuf.html',0,'std::ostrstream::rdbuf()'],['http://en.cppreference.com/w/cpp/io/basic_ios/rdbuf.html',0,'std::wfstream::rdbuf()'],['http://en.cppreference.com/w/cpp/io/basic_ios/rdbuf.html',0,'std::basic_iostream::rdbuf()'],['http://en.cppreference.com/w/cpp/io/basic_ios/rdbuf.html',0,'std::wofstream::rdbuf()'],['http://en.cppreference.com/w/cpp/io/basic_ios/rdbuf.html',0,'std::wstringstream::rdbuf()'],['http://en.cppreference.com/w/cpp/io/basic_ios/rdbuf.html',0,'std::wistringstream::rdbuf()'],['http://en.cppreference.com/w/cpp/io/basic_ios/rdbuf.html',0,'std::ifstream::rdbuf()']]], - ['rdstate_20',['rdstate',['http://en.cppreference.com/w/cpp/io/basic_ios/rdstate.html',0,'std::basic_ofstream::rdstate()'],['http://en.cppreference.com/w/cpp/io/basic_ios/rdstate.html',0,'std::fstream::rdstate()'],['http://en.cppreference.com/w/cpp/io/basic_ios/rdstate.html',0,'std::wostream::rdstate()'],['http://en.cppreference.com/w/cpp/io/basic_ios/rdstate.html',0,'std::basic_ostringstream::rdstate()'],['http://en.cppreference.com/w/cpp/io/basic_ios/rdstate.html',0,'std::basic_ios::rdstate()'],['http://en.cppreference.com/w/cpp/io/basic_ios/rdstate.html',0,'std::ostringstream::rdstate()'],['http://en.cppreference.com/w/cpp/io/basic_ios/rdstate.html',0,'std::basic_fstream::rdstate()'],['http://en.cppreference.com/w/cpp/io/basic_ios/rdstate.html',0,'std::iostream::rdstate()'],['http://en.cppreference.com/w/cpp/io/basic_ios/rdstate.html',0,'std::wistream::rdstate()'],['http://en.cppreference.com/w/cpp/io/basic_ios/rdstate.html',0,'std::stringstream::rdstate()'],['http://en.cppreference.com/w/cpp/io/basic_ios/rdstate.html',0,'std::ostream::rdstate()'],['http://en.cppreference.com/w/cpp/io/basic_ios/rdstate.html',0,'std::wifstream::rdstate()'],['http://en.cppreference.com/w/cpp/io/basic_ios/rdstate.html',0,'std::basic_istream::rdstate()'],['http://en.cppreference.com/w/cpp/io/basic_ios/rdstate.html',0,'std::strstream::rdstate()'],['http://en.cppreference.com/w/cpp/io/basic_ios/rdstate.html',0,'std::basic_stringstream::rdstate()'],['http://en.cppreference.com/w/cpp/io/basic_ios/rdstate.html',0,'std::wostringstream::rdstate()'],['http://en.cppreference.com/w/cpp/io/basic_ios/rdstate.html',0,'std::istrstream::rdstate()'],['http://en.cppreference.com/w/cpp/io/basic_ios/rdstate.html',0,'std::basic_ostream::rdstate()'],['http://en.cppreference.com/w/cpp/io/basic_ios/rdstate.html',0,'std::wiostream::rdstate()'],['http://en.cppreference.com/w/cpp/io/basic_ios/rdstate.html',0,'std::ofstream::rdstate()'],['http://en.cppreference.com/w/cpp/io/basic_ios/rdstate.html',0,'std::basic_istringstream::rdstate()'],['http://en.cppreference.com/w/cpp/io/basic_ios/rdstate.html',0,'std::basic_ifstream::rdstate()'],['http://en.cppreference.com/w/cpp/io/basic_ios/rdstate.html',0,'std::istringstream::rdstate()'],['http://en.cppreference.com/w/cpp/io/basic_ios/rdstate.html',0,'std::istream::rdstate()'],['http://en.cppreference.com/w/cpp/io/basic_ios/rdstate.html',0,'std::ostrstream::rdstate()'],['http://en.cppreference.com/w/cpp/io/basic_ios/rdstate.html',0,'std::wfstream::rdstate()'],['http://en.cppreference.com/w/cpp/io/basic_ios/rdstate.html',0,'std::basic_iostream::rdstate()'],['http://en.cppreference.com/w/cpp/io/basic_ios/rdstate.html',0,'std::wofstream::rdstate()'],['http://en.cppreference.com/w/cpp/io/basic_ios/rdstate.html',0,'std::wstringstream::rdstate()'],['http://en.cppreference.com/w/cpp/io/basic_ios/rdstate.html',0,'std::wistringstream::rdstate()'],['http://en.cppreference.com/w/cpp/io/basic_ios/rdstate.html',0,'std::ifstream::rdstate()']]], - ['read_21',['read',['http://en.cppreference.com/w/cpp/io/basic_istream/read.html',0,'std::fstream::read()'],['http://en.cppreference.com/w/cpp/io/basic_istream/read.html',0,'std::basic_fstream::read()'],['http://en.cppreference.com/w/cpp/io/basic_istream/read.html',0,'std::iostream::read()'],['http://en.cppreference.com/w/cpp/io/basic_istream/read.html',0,'std::wistream::read()'],['http://en.cppreference.com/w/cpp/io/basic_istream/read.html',0,'std::stringstream::read()'],['http://en.cppreference.com/w/cpp/io/basic_istream/read.html',0,'std::wifstream::read()'],['http://en.cppreference.com/w/cpp/io/basic_istream/read.html',0,'std::basic_istream::read()'],['http://en.cppreference.com/w/cpp/io/basic_istream/read.html',0,'std::strstream::read()'],['http://en.cppreference.com/w/cpp/io/basic_istream/read.html',0,'std::basic_stringstream::read()'],['http://en.cppreference.com/w/cpp/io/basic_istream/read.html',0,'std::istrstream::read()'],['http://en.cppreference.com/w/cpp/io/basic_istream/read.html',0,'std::wiostream::read()'],['http://en.cppreference.com/w/cpp/io/basic_istream/read.html',0,'std::basic_istringstream::read()'],['http://en.cppreference.com/w/cpp/io/basic_istream/read.html',0,'std::basic_ifstream::read()'],['http://en.cppreference.com/w/cpp/io/basic_istream/read.html',0,'std::istringstream::read()'],['http://en.cppreference.com/w/cpp/io/basic_istream/read.html',0,'std::istream::read()'],['http://en.cppreference.com/w/cpp/io/basic_istream/read.html',0,'std::wfstream::read()'],['http://en.cppreference.com/w/cpp/io/basic_istream/read.html',0,'std::basic_iostream::read()'],['http://en.cppreference.com/w/cpp/io/basic_istream/read.html',0,'std::wstringstream::read()'],['http://en.cppreference.com/w/cpp/io/basic_istream/read.html',0,'std::wistringstream::read()'],['http://en.cppreference.com/w/cpp/io/basic_istream/read.html',0,'std::ifstream::read()']]], - ['readsome_22',['readsome',['http://en.cppreference.com/w/cpp/io/basic_istream/readsome.html',0,'std::fstream::readsome()'],['http://en.cppreference.com/w/cpp/io/basic_istream/readsome.html',0,'std::basic_fstream::readsome()'],['http://en.cppreference.com/w/cpp/io/basic_istream/readsome.html',0,'std::iostream::readsome()'],['http://en.cppreference.com/w/cpp/io/basic_istream/readsome.html',0,'std::wistream::readsome()'],['http://en.cppreference.com/w/cpp/io/basic_istream/readsome.html',0,'std::stringstream::readsome()'],['http://en.cppreference.com/w/cpp/io/basic_istream/readsome.html',0,'std::wifstream::readsome()'],['http://en.cppreference.com/w/cpp/io/basic_istream/readsome.html',0,'std::basic_istream::readsome()'],['http://en.cppreference.com/w/cpp/io/basic_istream/readsome.html',0,'std::strstream::readsome()'],['http://en.cppreference.com/w/cpp/io/basic_istream/readsome.html',0,'std::basic_stringstream::readsome()'],['http://en.cppreference.com/w/cpp/io/basic_istream/readsome.html',0,'std::istrstream::readsome()'],['http://en.cppreference.com/w/cpp/io/basic_istream/readsome.html',0,'std::wiostream::readsome()'],['http://en.cppreference.com/w/cpp/io/basic_istream/readsome.html',0,'std::basic_istringstream::readsome()'],['http://en.cppreference.com/w/cpp/io/basic_istream/readsome.html',0,'std::basic_ifstream::readsome()'],['http://en.cppreference.com/w/cpp/io/basic_istream/readsome.html',0,'std::istringstream::readsome()'],['http://en.cppreference.com/w/cpp/io/basic_istream/readsome.html',0,'std::istream::readsome()'],['http://en.cppreference.com/w/cpp/io/basic_istream/readsome.html',0,'std::wfstream::readsome()'],['http://en.cppreference.com/w/cpp/io/basic_istream/readsome.html',0,'std::basic_iostream::readsome()'],['http://en.cppreference.com/w/cpp/io/basic_istream/readsome.html',0,'std::wstringstream::readsome()'],['http://en.cppreference.com/w/cpp/io/basic_istream/readsome.html',0,'std::wistringstream::readsome()'],['http://en.cppreference.com/w/cpp/io/basic_istream/readsome.html',0,'std::ifstream::readsome()']]], - ['ready_23',['ready',['http://en.cppreference.com/w/cpp/regex/match_results/ready.html',0,'std::match_results::ready()'],['http://en.cppreference.com/w/cpp/regex/match_results/ready.html',0,'std::wsmatch::ready()'],['http://en.cppreference.com/w/cpp/regex/match_results/ready.html',0,'std::smatch::ready()'],['http://en.cppreference.com/w/cpp/regex/match_results/ready.html',0,'std::wcmatch::ready()'],['http://en.cppreference.com/w/cpp/regex/match_results/ready.html',0,'std::cmatch::ready()']]], - ['real_24',['real',['http://en.cppreference.com/w/cpp/numeric/complex/real.html',0,'std::complex::real()'],['../da/d5a/class_complex.html#a312e4b19146128408fb06e0150b0faf6',1,'Complex::real()']]], - ['realloc_25',['realloc',['http://en.cppreference.com/w/cpp/memory/c/realloc.html',0,'std']]], - ['rec_5fternary_5fsearch_26',['rec_ternary_search',['../dc/dfe/ternary__search_8cpp.html#a93d0099db95022f1eb90ddfd68f73ead',1,'ternary_search.cpp']]], - ['recalculate_5fhash_27',['recalculate_hash',['../d9/d03/namespacestring__search.html#aed769d565b705a9b3e0eb1ec74088893',1,'string_search']]], - ['rect_5farea_28',['rect_area',['../dd/d47/namespacemath.html#ab31d141f7c5b551746b1eee0eb4dedca',1,'math']]], - ['rect_5fperimeter_29',['rect_perimeter',['../dd/d47/namespacemath.html#a428769a16e9525e56588d7c7709d25a6',1,'math']]], - ['rect_5fprism_5fvolume_30',['rect_prism_volume',['../dd/d47/namespacemath.html#a3fdc74c24697ec5bb5c3698c96117c12',1,'math']]], - ['recursive_5fbubble_5fsort_31',['recursive_bubble_sort',['../d5/d91/namespacesorting.html#ae3a775d99dbbb94c130a973df0cfddcf',1,'sorting']]], - ['recursive_5fmutex_32',['recursive_mutex',['http://en.cppreference.com/w/cpp/thread/recursive_mutex/recursive_mutex.html',0,'std::recursive_mutex']]], - ['recursive_5ftimed_5fmutex_33',['recursive_timed_mutex',['http://en.cppreference.com/w/cpp/thread/recursive_timed_mutex/recursive_timed_mutex.html',0,'std::recursive_timed_mutex']]], - ['ref_34',['ref',['http://en.cppreference.com/w/cpp/utility/functional/ref.html',0,'std']]], - ['refer_35',['refer',['../d6/dae/classothers_1_1lru__cache_1_1_l_r_u_cache.html#a7dbf04bf7e1472c48639694f0b110602',1,'others::lru_cache::LRUCache']]], - ['reference_5fwrapper_36',['reference_wrapper',['http://en.cppreference.com/w/cpp/utility/functional/reference_wrapper/reference_wrapper.html',0,'std::reference_wrapper']]], - ['regex_37',['regex',['http://en.cppreference.com/w/cpp/regex/basic_regex/basic_regex.html',0,'std::regex']]], - ['regex_5ferror_38',['regex_error',['http://en.cppreference.com/w/cpp/regex/regex_error/regex_error.html',0,'std::regex_error']]], - ['regex_5fiterator_39',['regex_iterator',['http://en.cppreference.com/w/cpp/regex/regex_iterator/regex_iterator.html',0,'std::regex_iterator']]], - ['regex_5fmatch_40',['regex_match',['http://en.cppreference.com/w/cpp/regex/regex_match.html',0,'std']]], - ['regex_5freplace_41',['regex_replace',['http://en.cppreference.com/w/cpp/regex/regex_replace.html',0,'std']]], - ['regex_5fsearch_42',['regex_search',['http://en.cppreference.com/w/cpp/regex/regex_search.html',0,'std']]], - ['regex_5ftoken_5fiterator_43',['regex_token_iterator',['http://en.cppreference.com/w/cpp/regex/regex_token_iterator/regex_token_iterator.html',0,'std::regex_token_iterator']]], - ['regex_5ftraits_44',['regex_traits',['http://en.cppreference.com/w/cpp/regex/regex_traits/regex_traits.html',0,'std::regex_traits']]], - ['register_5fcallback_45',['register_callback',['http://en.cppreference.com/w/cpp/io/ios_base/register_callback.html',0,'std::basic_ofstream::register_callback()'],['http://en.cppreference.com/w/cpp/io/ios_base/register_callback.html',0,'std::fstream::register_callback()'],['http://en.cppreference.com/w/cpp/io/ios_base/register_callback.html',0,'std::wostream::register_callback()'],['http://en.cppreference.com/w/cpp/io/ios_base/register_callback.html',0,'std::basic_ostringstream::register_callback()'],['http://en.cppreference.com/w/cpp/io/ios_base/register_callback.html',0,'std::basic_ios::register_callback()'],['http://en.cppreference.com/w/cpp/io/ios_base/register_callback.html',0,'std::ostringstream::register_callback()'],['http://en.cppreference.com/w/cpp/io/ios_base/register_callback.html',0,'std::basic_fstream::register_callback()'],['http://en.cppreference.com/w/cpp/io/ios_base/register_callback.html',0,'std::iostream::register_callback()'],['http://en.cppreference.com/w/cpp/io/ios_base/register_callback.html',0,'std::ios_base::register_callback()'],['http://en.cppreference.com/w/cpp/io/ios_base/register_callback.html',0,'std::wistream::register_callback()'],['http://en.cppreference.com/w/cpp/io/ios_base/register_callback.html',0,'std::stringstream::register_callback()'],['http://en.cppreference.com/w/cpp/io/ios_base/register_callback.html',0,'std::ostream::register_callback()'],['http://en.cppreference.com/w/cpp/io/ios_base/register_callback.html',0,'std::wifstream::register_callback()'],['http://en.cppreference.com/w/cpp/io/ios_base/register_callback.html',0,'std::basic_istream::register_callback()'],['http://en.cppreference.com/w/cpp/io/ios_base/register_callback.html',0,'std::strstream::register_callback()'],['http://en.cppreference.com/w/cpp/io/ios_base/register_callback.html',0,'std::basic_stringstream::register_callback()'],['http://en.cppreference.com/w/cpp/io/ios_base/register_callback.html',0,'std::wostringstream::register_callback()'],['http://en.cppreference.com/w/cpp/io/ios_base/register_callback.html',0,'std::istrstream::register_callback()'],['http://en.cppreference.com/w/cpp/io/ios_base/register_callback.html',0,'std::basic_ostream::register_callback()'],['http://en.cppreference.com/w/cpp/io/ios_base/register_callback.html',0,'std::wiostream::register_callback()'],['http://en.cppreference.com/w/cpp/io/ios_base/register_callback.html',0,'std::ofstream::register_callback()'],['http://en.cppreference.com/w/cpp/io/ios_base/register_callback.html',0,'std::basic_istringstream::register_callback()'],['http://en.cppreference.com/w/cpp/io/ios_base/register_callback.html',0,'std::basic_ifstream::register_callback()'],['http://en.cppreference.com/w/cpp/io/ios_base/register_callback.html',0,'std::istringstream::register_callback()'],['http://en.cppreference.com/w/cpp/io/ios_base/register_callback.html',0,'std::istream::register_callback()'],['http://en.cppreference.com/w/cpp/io/ios_base/register_callback.html',0,'std::ostrstream::register_callback()'],['http://en.cppreference.com/w/cpp/io/ios_base/register_callback.html',0,'std::wfstream::register_callback()'],['http://en.cppreference.com/w/cpp/io/ios_base/register_callback.html',0,'std::basic_iostream::register_callback()'],['http://en.cppreference.com/w/cpp/io/ios_base/register_callback.html',0,'std::wofstream::register_callback()'],['http://en.cppreference.com/w/cpp/io/ios_base/register_callback.html',0,'std::wstringstream::register_callback()'],['http://en.cppreference.com/w/cpp/io/ios_base/register_callback.html',0,'std::wistringstream::register_callback()'],['http://en.cppreference.com/w/cpp/io/ios_base/register_callback.html',0,'std::ifstream::register_callback()']]], - ['regula_5ffalsi_46',['regula_falsi',['../dd/d29/false__position_8cpp.html#a7d69b49dc37da1c02b3ab8c7fe783494',1,'numerical_methods::false_position']]], - ['rehash_47',['rehash',['http://en.cppreference.com/w/cpp/container/unordered_map/rehash.html',0,'std::unordered_map::rehash()'],['http://en.cppreference.com/w/cpp/container/unordered_multimap/rehash.html',0,'std::unordered_multimap::rehash()'],['http://en.cppreference.com/w/cpp/container/unordered_multiset/rehash.html',0,'std::unordered_multiset::rehash()'],['http://en.cppreference.com/w/cpp/container/unordered_set/rehash.html',0,'std::unordered_set::rehash()'],['../d0/d65/namespacedouble__hashing.html#af4981819aae8bc7e7beeaef02615e30d',1,'double_hashing::rehash()'],['../d8/d89/namespacelinear__probing.html#a6a082dc1426a79f866cee6b370df37b0',1,'linear_probing::rehash()'],['../d4/dd2/namespacequadratic__probing.html#ada6f1f44f7e83b0094fbcbe170788486',1,'quadratic_probing::rehash()']]], - ['release_48',['release',['http://en.cppreference.com/w/cpp/thread/unique_lock/release.html',0,'std::unique_lock::release()'],['http://en.cppreference.com/w/cpp/memory/unique_ptr/release.html',0,'std::unique_ptr::release()'],['http://en.cppreference.com/w/cpp/thread/shared_lock/release.html',0,'std::shared_lock::release()'],['http://en.cppreference.com/w/cpp/memory/auto_ptr/release.html',0,'std::auto_ptr::release()']]], - ['relu_49',['relu',['../d2/d58/neural__network_8cpp.html#af8f264600754602b6a9ea19cc690e50e',1,'machine_learning::neural_network::activations']]], - ['remainder_50',['remainder',['http://en.cppreference.com/w/cpp/numeric/math/remainder.html',0,'std']]], - ['removalinfo_51',['removalInfo',['../d0/d65/namespacedouble__hashing.html#a5d06e4598569526294f10104875f6824',1,'double_hashing::removalInfo()'],['../d8/d89/namespacelinear__probing.html#a75854f5aa216e61219154c62167ce8f0',1,'linear_probing::removalInfo()'],['../d4/dd2/namespacequadratic__probing.html#a69fe1f7c36fe004ba83eef2ca82e7e30',1,'quadratic_probing::removalInfo()']]], - ['remove_52',['Remove',['../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a5da1be3f5b5d967ebb36a201f3ebad11',1,'data_structures::tree_234::Tree234']]], - ['remove_53',['remove',['http://en.cppreference.com/w/cpp/container/forward_list/remove.html',0,'std::forward_list::remove()'],['http://en.cppreference.com/w/cpp/container/list/remove.html',0,'std::list::remove()'],['../d9/dde/classbinary__search__tree.html#af4a865ce5244608819b169fc78a41153',1,'binary_search_tree::remove(std::unique_ptr< bst_node > &parent, std::unique_ptr< bst_node > &node, T rm_value)'],['../d9/dde/classbinary__search__tree.html#a99771c2e1353e8ddfd4bb9d30b7a98fb',1,'binary_search_tree::remove(T rm_value)'],['../d5/dab/structdata__structures_1_1list__array_1_1list.html#a98f7d9079c0868e0f4e67d5c52174fb6',1,'data_structures::list_array::list::remove()'],['http://en.cppreference.com/w/cpp/algorithm/remove.html',0,'std::remove()'],['../d0/d65/namespacedouble__hashing.html#a28083ecac6eb94b643281875c8665931',1,'double_hashing::remove()'],['../d8/d89/namespacelinear__probing.html#abcf8d033f8115f39f3c93cfb6cee0b28',1,'linear_probing::remove()'],['../d4/dd2/namespacequadratic__probing.html#a07a0467b24102260fbb6b554c453c20a',1,'quadratic_probing::remove()']]], - ['remove_5fcopy_54',['remove_copy',['http://en.cppreference.com/w/cpp/algorithm/remove_copy.html',0,'std']]], - ['remove_5fcopy_5fif_55',['remove_copy_if',['http://en.cppreference.com/w/cpp/algorithm/remove_copy.html',0,'std']]], - ['remove_5fif_56',['remove_if',['http://en.cppreference.com/w/cpp/container/forward_list/remove.html',0,'std::forward_list::remove_if()'],['http://en.cppreference.com/w/cpp/container/list/remove.html',0,'std::list::remove_if()'],['http://en.cppreference.com/w/cpp/algorithm/remove.html',0,'std::remove_if()']]], - ['removeitembyindex_57',['RemoveItemByIndex',['../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a28944bb16ec22650b47fe3e80e3e13f8',1,'data_structures::tree_234::Node']]], - ['removepremerge_58',['RemovePreMerge',['../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a61dd051a74e5f36c8dc03dae8dca6ef4',1,'data_structures::tree_234::Tree234']]], - ['removewordhelper_59',['removeWordHelper',['../dd/d2f/class_trie.html#a26941759ecf94d67a27d4a610bc0f63d',1,'Trie']]], - ['remquo_60',['remquo',['http://en.cppreference.com/w/cpp/numeric/math/remquo.html',0,'std']]], - ['rename_61',['rename',['http://en.cppreference.com/w/cpp/io/c/rename.html',0,'std']]], - ['rend_62',['rend',['http://en.cppreference.com/w/cpp/container/dynarray/rend.html',0,'std::dynarray::rend()'],['http://en.cppreference.com/w/cpp/container/vector/rend.html',0,'std::vector::rend()'],['http://en.cppreference.com/w/cpp/container/multiset/rend.html',0,'std::multiset::rend()'],['http://en.cppreference.com/w/cpp/string/basic_string/rend.html',0,'std::string::rend()'],['http://en.cppreference.com/w/cpp/container/set/rend.html',0,'std::set::rend()'],['http://en.cppreference.com/w/cpp/container/deque/rend.html',0,'std::deque::rend()'],['http://en.cppreference.com/w/cpp/string/basic_string/rend.html',0,'std::basic_string::rend()'],['http://en.cppreference.com/w/cpp/string/basic_string/rend.html',0,'std::wstring::rend()'],['http://en.cppreference.com/w/cpp/string/basic_string/rend.html',0,'std::u16string::rend()'],['http://en.cppreference.com/w/cpp/string/basic_string/rend.html',0,'std::u32string::rend()'],['http://en.cppreference.com/w/cpp/container/list/rend.html',0,'std::list::rend()'],['http://en.cppreference.com/w/cpp/container/map/rend.html',0,'std::map::rend()'],['http://en.cppreference.com/w/cpp/container/multimap/rend.html',0,'std::multimap::rend()'],['http://en.cppreference.com/w/cpp/container/array/rend.html',0,'std::array::rend()']]], - ['replace_63',['replace',['http://en.cppreference.com/w/cpp/string/basic_string/replace.html',0,'std::string::replace()'],['http://en.cppreference.com/w/cpp/string/basic_string/replace.html',0,'std::basic_string::replace()'],['http://en.cppreference.com/w/cpp/string/basic_string/replace.html',0,'std::wstring::replace()'],['http://en.cppreference.com/w/cpp/string/basic_string/replace.html',0,'std::u16string::replace()'],['http://en.cppreference.com/w/cpp/string/basic_string/replace.html',0,'std::u32string::replace()'],['http://en.cppreference.com/w/cpp/algorithm/replace.html',0,'std::replace(T... args)']]], - ['replace_5fcopy_64',['replace_copy',['http://en.cppreference.com/w/cpp/algorithm/replace_copy.html',0,'std']]], - ['replace_5fcopy_5fif_65',['replace_copy_if',['http://en.cppreference.com/w/cpp/algorithm/replace_copy.html',0,'std']]], - ['replace_5fif_66',['replace_if',['http://en.cppreference.com/w/cpp/algorithm/replace.html',0,'std']]], - ['reserve_67',['reserve',['http://en.cppreference.com/w/cpp/container/vector/reserve.html',0,'std::vector::reserve()'],['http://en.cppreference.com/w/cpp/string/basic_string/reserve.html',0,'std::string::reserve()'],['http://en.cppreference.com/w/cpp/container/unordered_map/reserve.html',0,'std::unordered_map::reserve()'],['http://en.cppreference.com/w/cpp/container/unordered_multimap/reserve.html',0,'std::unordered_multimap::reserve()'],['http://en.cppreference.com/w/cpp/string/basic_string/reserve.html',0,'std::basic_string::reserve()'],['http://en.cppreference.com/w/cpp/string/basic_string/reserve.html',0,'std::wstring::reserve()'],['http://en.cppreference.com/w/cpp/container/unordered_multiset/reserve.html',0,'std::unordered_multiset::reserve()'],['http://en.cppreference.com/w/cpp/string/basic_string/reserve.html',0,'std::u16string::reserve()'],['http://en.cppreference.com/w/cpp/string/basic_string/reserve.html',0,'std::u32string::reserve()'],['http://en.cppreference.com/w/cpp/container/unordered_set/reserve.html',0,'std::unordered_set::reserve()']]], - ['reset_68',['reset',['http://en.cppreference.com/w/cpp/numeric/random/student_t_distribution/reset.html',0,'std::student_t_distribution::reset()'],['http://en.cppreference.com/w/cpp/numeric/random/extreme_value_distribution/reset.html',0,'std::extreme_value_distribution::reset()'],['http://en.cppreference.com/w/cpp/numeric/random/lognormal_distribution/reset.html',0,'std::lognormal_distribution::reset()'],['http://en.cppreference.com/w/cpp/memory/weak_ptr/reset.html',0,'std::weak_ptr::reset()'],['http://en.cppreference.com/w/cpp/numeric/random/discrete_distribution/reset.html',0,'std::discrete_distribution::reset()'],['http://en.cppreference.com/w/cpp/numeric/random/piecewise_constant_distribution/reset.html',0,'std::piecewise_constant_distribution::reset()'],['http://en.cppreference.com/w/cpp/numeric/random/poisson_distribution/reset.html',0,'std::poisson_distribution::reset()'],['http://en.cppreference.com/w/cpp/numeric/random/bernoulli_distribution/reset.html',0,'std::bernoulli_distribution::reset()'],['http://en.cppreference.com/w/cpp/memory/shared_ptr/reset.html',0,'std::shared_ptr::reset()'],['http://en.cppreference.com/w/cpp/numeric/random/exponential_distribution/reset.html',0,'std::exponential_distribution::reset()'],['http://en.cppreference.com/w/cpp/numeric/random/uniform_real_distribution/reset.html',0,'std::uniform_real_distribution::reset()'],['http://en.cppreference.com/w/cpp/numeric/random/geometric_distribution/reset.html',0,'std::geometric_distribution::reset()'],['http://en.cppreference.com/w/cpp/numeric/random/normal_distribution/reset.html',0,'std::normal_distribution::reset()'],['http://en.cppreference.com/w/cpp/memory/unique_ptr/reset.html',0,'std::unique_ptr::reset()'],['http://en.cppreference.com/w/cpp/numeric/random/weibull_distribution/reset.html',0,'std::weibull_distribution::reset()'],['http://en.cppreference.com/w/cpp/numeric/random/negative_binomial_distribution/reset.html',0,'std::negative_binomial_distribution::reset()'],['http://en.cppreference.com/w/cpp/numeric/random/chi_squared_distribution/reset.html',0,'std::chi_squared_distribution::reset()'],['http://en.cppreference.com/w/cpp/numeric/random/piecewise_linear_distribution/reset.html',0,'std::piecewise_linear_distribution::reset()'],['http://en.cppreference.com/w/cpp/numeric/random/uniform_int_distribution/reset.html',0,'std::uniform_int_distribution::reset()'],['http://en.cppreference.com/w/cpp/numeric/random/fisher_f_distribution/reset.html',0,'std::fisher_f_distribution::reset()'],['http://en.cppreference.com/w/cpp/utility/bitset/reset.html',0,'std::bitset::reset()'],['http://en.cppreference.com/w/cpp/memory/auto_ptr/reset.html',0,'std::auto_ptr::reset()'],['http://en.cppreference.com/w/cpp/numeric/random/gamma_distribution/reset.html',0,'std::gamma_distribution::reset()'],['http://en.cppreference.com/w/cpp/thread/packaged_task/reset.html',0,'std::packaged_task::reset()'],['http://en.cppreference.com/w/cpp/numeric/random/binomial_distribution/reset.html',0,'std::binomial_distribution::reset()'],['http://en.cppreference.com/w/cpp/numeric/random/cauchy_distribution/reset.html',0,'std::cauchy_distribution::reset()']]], - ['reset_5fdata_69',['reset_data',['../d8/d41/namespacegames_1_1memory__game.html#adc62ebb75853446656e24932bdc6dd6b',1,'games::memory_game']]], - ['resetiosflags_70',['resetiosflags',['http://en.cppreference.com/w/cpp/io/manip/resetiosflags.html',0,'std']]], - ['resize_71',['resize',['http://en.cppreference.com/w/cpp/container/vector/resize.html',0,'std::vector::resize()'],['http://en.cppreference.com/w/cpp/string/basic_string/resize.html',0,'std::string::resize()'],['http://en.cppreference.com/w/cpp/container/forward_list/resize.html',0,'std::forward_list::resize()'],['http://en.cppreference.com/w/cpp/container/deque/resize.html',0,'std::deque::resize()'],['http://en.cppreference.com/w/cpp/string/basic_string/resize.html',0,'std::basic_string::resize()'],['http://en.cppreference.com/w/cpp/string/basic_string/resize.html',0,'std::wstring::resize()'],['http://en.cppreference.com/w/cpp/string/basic_string/resize.html',0,'std::u16string::resize()'],['http://en.cppreference.com/w/cpp/string/basic_string/resize.html',0,'std::u32string::resize()'],['http://en.cppreference.com/w/cpp/container/list/resize.html',0,'std::list::resize()']]], - ['result_72',['result',['../de/dc3/fibonacci__sum_8cpp.html#aadb40ac4c74a7efc0680b83eeee138aa',1,'math::fibonacci_sum']]], - ['rethrow_5fexception_73',['rethrow_exception',['http://en.cppreference.com/w/cpp/error/rethrow_exception.html',0,'std']]], - ['rethrow_5fif_5fnested_74',['rethrow_if_nested',['http://en.cppreference.com/w/cpp/error/rethrow_if_nested.html',0,'std']]], - ['rethrow_5fnested_75',['rethrow_nested',['http://en.cppreference.com/w/cpp/error/nested_exception/rethrow_nested.html',0,'std::nested_exception']]], - ['return_5ftemporary_5fbuffer_76',['return_temporary_buffer',['http://en.cppreference.com/w/cpp/memory/return_temporary_buffer.html',0,'std']]], - ['reverse_77',['reverse',['http://en.cppreference.com/w/cpp/container/forward_list/reverse.html',0,'std::forward_list::reverse()'],['http://en.cppreference.com/w/cpp/container/list/reverse.html',0,'std::list::reverse()'],['../de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree.html#a1c0d27198372b36ef71bc58af8336b9c',1,'operations_on_datastructures::reverse_binary_tree::BinaryTree::reverse()'],['http://en.cppreference.com/w/cpp/algorithm/reverse.html',0,'std::reverse()'],['../d3/d92/pancake__sort_8cpp.html#a99e27ad84ad43df9977776b1a8d5416e',1,'sorting::pancake_sort::reverse()']]], - ['reverse_5fbinary_78',['reverse_binary',['../d6/d42/miller__rabin_8cpp.html#a091662a787d5ad4866713021f580fddb',1,'miller_rabin.cpp']]], - ['reverse_5fcopy_79',['reverse_copy',['http://en.cppreference.com/w/cpp/algorithm/reverse_copy.html',0,'std']]], - ['reverse_5fstr_80',['reverse_str',['../da/d0d/longest__common__string_8cpp.html#acb03dbbcee6d607db471021168be8541',1,'longest_common_string.cpp']]], - ['reversebinarytree_81',['reverseBinaryTree',['../de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree.html#af6f974381f523fdb981fc2d843bbf4a1',1,'operations_on_datastructures::reverse_binary_tree::BinaryTree']]], - ['reverselist_82',['reverseList',['../d1/def/classdata__structures_1_1linked__list_1_1list.html#ac466ec086c0835822467bd3d8f3ab90e',1,'data_structures::linked_list::list']]], - ['rewind_83',['rewind',['http://en.cppreference.com/w/cpp/io/c/rewind.html',0,'std']]], - ['rfind_84',['rfind',['http://en.cppreference.com/w/cpp/string/basic_string/rfind.html',0,'std::string::rfind()'],['http://en.cppreference.com/w/cpp/string/basic_string/rfind.html',0,'std::basic_string::rfind()'],['http://en.cppreference.com/w/cpp/string/basic_string/rfind.html',0,'std::wstring::rfind()'],['http://en.cppreference.com/w/cpp/string/basic_string/rfind.html',0,'std::u16string::rfind()'],['http://en.cppreference.com/w/cpp/string/basic_string/rfind.html',0,'std::u32string::rfind()']]], - ['right_85',['right',['../d2/d05/class_min_heap.html#ac760b85cf90265b8d674b942a43fb70e',1,'MinHeap::right()'],['http://en.cppreference.com/w/cpp/io/manip/left.html',0,'std::right()']]], - ['right_5frotate_86',['right_rotate',['../d4/d08/sha256_8cpp.html#adbcd504103c342a4da718f8fce6ff06c',1,'hashing::sha256']]], - ['rightrotate_87',['RightRotate',['../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#ae68f8e62be02657c1287def6b38d7cc9',1,'data_structures::tree_234::Tree234']]], - ['rightrotate_88',['rightRotate',['../d8/dee/avltree_8cpp.html#adfc1d482a564c041756719667b955b8c',1,'avltree.cpp']]], - ['rint_89',['rint',['http://en.cppreference.com/w/cpp/numeric/math/rint.html',0,'std']]], - ['rootedtree_90',['RootedTree',['../d0/d58/classgraph_1_1_rooted_tree.html#aacdeecac857623e9fbfe92590f3c504d',1,'graph::RootedTree']]], - ['rotate_91',['rotate',['../d5/d95/structdata__structures_1_1treap_1_1_treap.html#a75a48584a6560de20484fbba6229fd29',1,'data_structures::treap::Treap::rotate()'],['http://en.cppreference.com/w/cpp/algorithm/rotate.html',0,'std::rotate(T... args)']]], - ['rotate_5fcopy_92',['rotate_copy',['http://en.cppreference.com/w/cpp/algorithm/rotate_copy.html',0,'std']]], - ['round_93',['round',['http://en.cppreference.com/w/cpp/numeric/math/round.html',0,'std']]], - ['round_5ferror_94',['round_error',['http://en.cppreference.com/w/cpp/types/numeric_limits/round_error.html',0,'std::numeric_limits']]], - ['run_5ftests_95',['run_tests',['../d3/db3/lru__cache_8cpp.html#a6a3be6d8871b1f5dc03688da8f3ee9e6',1,'lru_tests']]], - ['rungekutta_96',['rungeKutta',['../d1/da6/rungekutta_8cpp.html#a7b9f40c7b5e9749cc550f19be3dc8856',1,'numerical_methods::runge_kutta']]], - ['runtests_97',['runTests',['../d5/d58/class_test_cases.html#aeabea90c02f9159e4a784bbf736e1e23',1,'TestCases::runTests()'],['../d5/d58/class_test_cases.html#aeabea90c02f9159e4a784bbf736e1e23',1,'TestCases::runTests()'],['../d5/d58/class_test_cases.html#aeabea90c02f9159e4a784bbf736e1e23',1,'TestCases::runTests()']]], - ['runtime_5ferror_98',['runtime_error',['http://en.cppreference.com/w/cpp/error/runtime_error.html',0,'std::runtime_error']]] + ['rand_5frange_2',['rand_range',['../d6/d26/classciphers_1_1_hill_cipher.html#a629be41c1ab78850963e4ce14e1d11d9',1,'ciphers::HillCipher::rand_range(T1 a, T1 b)'],['../d6/d26/classciphers_1_1_hill_cipher.html#a716d0313141499d16f57c0c107f04395',1,'ciphers::HillCipher::rand_range(matrix< T2 > *M, T1 a, T1 b)']]], + ['random_5ftests_3',['random_tests',['../de/d0d/fibonacci__search_8cpp.html#a2aa09bef74ee063c1331de0883af4f4f',1,'fibonacci_search.cpp']]], + ['randomized_5fbogosort_4',['randomized_bogosort',['../d5/d91/namespacesorting.html#affc6ee160142cd017f8c4b213437d0fd',1,'sorting']]], + ['randomlevel_5',['randomLevel',['../d4/d90/classdata__structures_1_1_skip_list.html#aa3f3813e9896792fc86b296547689ba4',1,'data_structures::SkipList']]], + ['range_5fcomb_6',['range_comb',['../dd/d95/classdata__structures_1_1_segment_tree.html#a8fecc48e8e3f6f5f6e728495a4282e52',1,'data_structures::SegmentTree::range_comb(int i, int l, int r, int tl, int tr)'],['../dd/d95/classdata__structures_1_1_segment_tree.html#a1c5331b509d9b55bedfadf979b30dd5b',1,'data_structures::SegmentTree::range_comb(int l, int r)']]], + ['range_5ftries_7',['range_tries',['../da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution.html#a4620163a196709484225774d87de6d69',1,'probability::geometric_dist::geometric_distribution']]], + ['real_8',['real',['../da/d5a/class_complex.html#a312e4b19146128408fb06e0150b0faf6',1,'Complex']]], + ['rec_5fternary_5fsearch_9',['rec_ternary_search',['../dc/dfe/ternary__search_8cpp.html#a93d0099db95022f1eb90ddfd68f73ead',1,'ternary_search.cpp']]], + ['recalculate_5fhash_10',['recalculate_hash',['../d9/d03/namespacestring__search.html#aed769d565b705a9b3e0eb1ec74088893',1,'string_search']]], + ['rect_5farea_11',['rect_area',['../dd/d47/namespacemath.html#ab31d141f7c5b551746b1eee0eb4dedca',1,'math']]], + ['rect_5fperimeter_12',['rect_perimeter',['../dd/d47/namespacemath.html#a428769a16e9525e56588d7c7709d25a6',1,'math']]], + ['rect_5fprism_5fvolume_13',['rect_prism_volume',['../dd/d47/namespacemath.html#a3fdc74c24697ec5bb5c3698c96117c12',1,'math']]], + ['recursive_5fbubble_5fsort_14',['recursive_bubble_sort',['../d5/d91/namespacesorting.html#ae3a775d99dbbb94c130a973df0cfddcf',1,'sorting']]], + ['refer_15',['refer',['../d6/dae/classothers_1_1lru__cache_1_1_l_r_u_cache.html#a7dbf04bf7e1472c48639694f0b110602',1,'others::lru_cache::LRUCache']]], + ['regula_5ffalsi_16',['regula_falsi',['../dd/d29/false__position_8cpp.html#a7d69b49dc37da1c02b3ab8c7fe783494',1,'numerical_methods::false_position']]], + ['rehash_17',['rehash',['../d0/d65/namespacedouble__hashing.html#af4981819aae8bc7e7beeaef02615e30d',1,'double_hashing::rehash()'],['../d8/d89/namespacelinear__probing.html#a6a082dc1426a79f866cee6b370df37b0',1,'linear_probing::rehash()'],['../d4/dd2/namespacequadratic__probing.html#ada6f1f44f7e83b0094fbcbe170788486',1,'quadratic_probing::rehash()']]], + ['relu_18',['relu',['../d2/d58/neural__network_8cpp.html#af8f264600754602b6a9ea19cc690e50e',1,'machine_learning::neural_network::activations']]], + ['removalinfo_19',['removalInfo',['../d0/d65/namespacedouble__hashing.html#a5d06e4598569526294f10104875f6824',1,'double_hashing::removalInfo()'],['../d8/d89/namespacelinear__probing.html#a75854f5aa216e61219154c62167ce8f0',1,'linear_probing::removalInfo()'],['../d4/dd2/namespacequadratic__probing.html#a69fe1f7c36fe004ba83eef2ca82e7e30',1,'quadratic_probing::removalInfo()']]], + ['remove_20',['Remove',['../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a5da1be3f5b5d967ebb36a201f3ebad11',1,'data_structures::tree_234::Tree234']]], + ['remove_21',['remove',['../d9/dde/classbinary__search__tree.html#af4a865ce5244608819b169fc78a41153',1,'binary_search_tree::remove(std::unique_ptr< bst_node > &parent, std::unique_ptr< bst_node > &node, T rm_value)'],['../d9/dde/classbinary__search__tree.html#a99771c2e1353e8ddfd4bb9d30b7a98fb',1,'binary_search_tree::remove(T rm_value)'],['../d5/dab/structdata__structures_1_1list__array_1_1list.html#a98f7d9079c0868e0f4e67d5c52174fb6',1,'data_structures::list_array::list::remove()'],['../d0/d65/namespacedouble__hashing.html#a28083ecac6eb94b643281875c8665931',1,'double_hashing::remove()'],['../d8/d89/namespacelinear__probing.html#abcf8d033f8115f39f3c93cfb6cee0b28',1,'linear_probing::remove()'],['../d4/dd2/namespacequadratic__probing.html#a07a0467b24102260fbb6b554c453c20a',1,'quadratic_probing::remove()']]], + ['removeitembyindex_22',['RemoveItemByIndex',['../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a28944bb16ec22650b47fe3e80e3e13f8',1,'data_structures::tree_234::Node']]], + ['removepremerge_23',['RemovePreMerge',['../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a61dd051a74e5f36c8dc03dae8dca6ef4',1,'data_structures::tree_234::Tree234']]], + ['removewordhelper_24',['removeWordHelper',['../dd/d2f/class_trie.html#a26941759ecf94d67a27d4a610bc0f63d',1,'Trie']]], + ['reset_5fdata_25',['reset_data',['../d8/d41/namespacegames_1_1memory__game.html#adc62ebb75853446656e24932bdc6dd6b',1,'games::memory_game']]], + ['result_26',['result',['../de/dc3/fibonacci__sum_8cpp.html#aadb40ac4c74a7efc0680b83eeee138aa',1,'math::fibonacci_sum']]], + ['reverse_27',['reverse',['../de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree.html#a1c0d27198372b36ef71bc58af8336b9c',1,'operations_on_datastructures::reverse_binary_tree::BinaryTree::reverse()'],['../d3/d92/pancake__sort_8cpp.html#a99e27ad84ad43df9977776b1a8d5416e',1,'sorting::pancake_sort::reverse()']]], + ['reverse_5fbinary_28',['reverse_binary',['../d6/d42/miller__rabin_8cpp.html#a091662a787d5ad4866713021f580fddb',1,'miller_rabin.cpp']]], + ['reverse_5fstr_29',['reverse_str',['../da/d0d/longest__common__string_8cpp.html#acb03dbbcee6d607db471021168be8541',1,'longest_common_string.cpp']]], + ['reversebinarytree_30',['reverseBinaryTree',['../de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree.html#af6f974381f523fdb981fc2d843bbf4a1',1,'operations_on_datastructures::reverse_binary_tree::BinaryTree']]], + ['reverselist_31',['reverseList',['../d1/def/classdata__structures_1_1linked__list_1_1list.html#ac466ec086c0835822467bd3d8f3ab90e',1,'data_structures::linked_list::list']]], + ['right_32',['right',['../d2/d05/class_min_heap.html#ac760b85cf90265b8d674b942a43fb70e',1,'MinHeap']]], + ['right_5frotate_33',['right_rotate',['../d4/d08/sha256_8cpp.html#adbcd504103c342a4da718f8fce6ff06c',1,'hashing::sha256']]], + ['rightrotate_34',['RightRotate',['../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#ae68f8e62be02657c1287def6b38d7cc9',1,'data_structures::tree_234::Tree234']]], + ['rightrotate_35',['rightRotate',['../d8/dee/avltree_8cpp.html#adfc1d482a564c041756719667b955b8c',1,'avltree.cpp']]], + ['rootedtree_36',['RootedTree',['../d0/d58/classgraph_1_1_rooted_tree.html#aacdeecac857623e9fbfe92590f3c504d',1,'graph::RootedTree']]], + ['rotate_37',['rotate',['../d5/d95/structdata__structures_1_1treap_1_1_treap.html#a75a48584a6560de20484fbba6229fd29',1,'data_structures::treap::Treap']]], + ['run_5ftests_38',['run_tests',['../d3/db3/lru__cache_8cpp.html#a6a3be6d8871b1f5dc03688da8f3ee9e6',1,'lru_tests']]], + ['rungekutta_39',['rungeKutta',['../d1/da6/rungekutta_8cpp.html#a7b9f40c7b5e9749cc550f19be3dc8856',1,'numerical_methods::runge_kutta']]], + ['runtests_40',['runTests',['../d5/d58/class_test_cases.html#aeabea90c02f9159e4a784bbf736e1e23',1,'TestCases::runTests()'],['../d5/d58/class_test_cases.html#aeabea90c02f9159e4a784bbf736e1e23',1,'TestCases::runTests()'],['../d5/d58/class_test_cases.html#aeabea90c02f9159e4a784bbf736e1e23',1,'TestCases::runTests()']]] ]; diff --git a/search/functions_13.js b/search/functions_13.js index 9702a28f1..732432ef3 100644 --- a/search/functions_13.js +++ b/search/functions_13.js @@ -1,235 +1,90 @@ var searchData= [ - ['s_0',['s',['http://en.cppreference.com/w/cpp/numeric/random/lognormal_distribution/params.html',0,'std::lognormal_distribution']]], - ['saddleback_1',['saddleback',['../d3/d22/saddleback__search_8cpp.html#ad1e0ca34797d88490747c08eca70a2e6',1,'search::saddleback']]], - ['safe_5fsubstr_2',['safe_substr',['../da/dd3/karatsuba__algorithm__for__fast__multiplication_8cpp.html#aad9e3edfe156b59fc06a5585403fe0d6',1,'divide_and_conquer::karatsuba_algorithm']]], - ['sample_5ftest_3',['sample_test',['../de/d72/geometric__dist_8cpp.html#a70fd1cc5c3a2813f28683dc75dcd65b6',1,'geometric_dist.cpp']]], - ['save_5f2d_5fdata_4',['save_2d_data',['../d9/d66/group__machine__learning.html#gabc90175770bf0d5853c466e14993a08c',1,'kohonen_som_topology.cpp']]], - ['save_5fexact_5fsolution_5',['save_exact_solution',['../db/dd3/ode__forward__euler_8cpp.html#aa13517b8e5de1b75592052db7f7e237f',1,'save_exact_solution(const double &X0, const double &X_MAX, const double &step_size, const std::valarray< double > &Y0): ode_forward_euler.cpp'],['../d6/dd3/ode__midpoint__euler_8cpp.html#aa13517b8e5de1b75592052db7f7e237f',1,'save_exact_solution(const double &X0, const double &X_MAX, const double &step_size, const std::valarray< double > &Y0): ode_midpoint_euler.cpp'],['../d3/d06/ode__semi__implicit__euler_8cpp.html#aa13517b8e5de1b75592052db7f7e237f',1,'save_exact_solution(const double &X0, const double &X_MAX, const double &step_size, const std::valarray< double > &Y0): ode_semi_implicit_euler.cpp']]], - ['save_5fmodel_6',['save_model',['../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#a4f14e473bb0722c6490b9dc8da5982aa',1,'machine_learning::neural_network::NeuralNetwork']]], - ['save_5fnd_5fdata_7',['save_nd_data',['../d9/d66/group__machine__learning.html#gae0208548f8b393528e5db01717e88e67',1,'kohonen_som_trace.cpp']]], - ['save_5fu_5fmatrix_8',['save_u_matrix',['../d8/d77/namespacemachine__learning.html#aa72a53c88203fde278f1fe6c3afe5b07',1,'machine_learning']]], - ['sbumpc_9',['sbumpc',['http://en.cppreference.com/w/cpp/io/basic_streambuf/sbumpc.html',0,'std::basic_filebuf::sbumpc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sbumpc.html',0,'std::wstringbuf::sbumpc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sbumpc.html',0,'std::stringbuf::sbumpc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sbumpc.html',0,'std::wfilebuf::sbumpc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sbumpc.html',0,'std::wstreambuf::sbumpc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sbumpc.html',0,'std::strstreambuf::sbumpc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sbumpc.html',0,'std::basic_stringbuf::sbumpc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sbumpc.html',0,'std::basic_streambuf::sbumpc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sbumpc.html',0,'std::filebuf::sbumpc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sbumpc.html',0,'std::streambuf::sbumpc()']]], - ['scalbln_10',['scalbln',['http://en.cppreference.com/w/cpp/numeric/math/scalbn.html',0,'std']]], - ['scalbn_11',['scalbn',['http://en.cppreference.com/w/cpp/numeric/math/scalbn.html',0,'std']]], - ['scan_5fis_12',['scan_is',['http://en.cppreference.com/w/cpp/locale/ctype/scan_is.html',0,'std::ctype_byname::scan_is()'],['http://en.cppreference.com/w/cpp/locale/ctype/scan_is.html',0,'std::ctype::scan_is()']]], - ['scanf_13',['scanf',['http://en.cppreference.com/w/cpp/io/c/fscanf.html',0,'std']]], - ['scheduleforfcfs_14',['scheduleForFcfs',['../dd/dca/class_f_c_f_s.html#aa25dbe30ba9930b5a7c1a6d11758bd91',1,'FCFS']]], - ['scientific_15',['scientific',['http://en.cppreference.com/w/cpp/io/manip/fixed.html',0,'std']]], - ['scoped_5fallocator_5fadaptor_16',['scoped_allocator_adaptor',['http://en.cppreference.com/w/cpp/memory/scoped_allocator_adaptor/scoped_allocator_adaptor.html',0,'std::scoped_allocator_adaptor']]], - ['scs_17',['scs',['../d7/d65/shortest__common__supersequence_8cpp.html#ad2ee8d7e67da9f6eb85146b08dad95e6',1,'dynamic_programming::shortest_common_supersequence']]], - ['search_18',['search',['../d1/def/classdata__structures_1_1linked__list_1_1list.html#ad3423f7518671351340932db3c24959a',1,'data_structures::linked_list::list::search()'],['../dd/d2f/class_trie.html#a411e77126930a0942dd7b65e96b15206',1,'Trie::search()'],['../d0/d3e/classdata__structures_1_1trie.html#a961eb5d576d2420f2036009154397c63',1,'data_structures::trie::search(const std::shared_ptr< trie > &root, const std::string &str, int index)'],['../d0/d3e/classdata__structures_1_1trie.html#a499f87fd833203ef9492b4870aa6d42d',1,'data_structures::trie::search(const std::string &str, int index)'],['../d3/d26/classdata__structures_1_1trie__using__hashmap_1_1_trie.html#ad71eb24207c28b546631802dba97310f',1,'data_structures::trie_using_hashmap::Trie::search()'],['http://en.cppreference.com/w/cpp/algorithm/search.html',0,'std::search()'],['../d0/dbc/namespacestrings_1_1boyer__moore.html#a15703b553faed0d28202c10808cf9738',1,'strings::boyer_moore::search()']]], - ['search_5fn_19',['search_n',['http://en.cppreference.com/w/cpp/algorithm/search_n.html',0,'std']]], - ['searchelement_20',['searchElement',['../d4/d90/classdata__structures_1_1_skip_list.html#af2f3d4e15b1f47afac849c2e08a730f4',1,'data_structures::SkipList']]], - ['searchfreqsuggestions_21',['SearchFreqSuggestions',['../d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html#a7c5ab271d8042540f64ef16d259d1503',1,'operations_on_datastructures::trie_operations::Tnode']]], - ['searchingprober_22',['searchingProber',['../d0/d65/namespacedouble__hashing.html#a29f543e2626bad58907661e1e45028a6',1,'double_hashing::searchingProber()'],['../d8/d89/namespacelinear__probing.html#a942fc8407b8001890ea26830cdcd9d77',1,'linear_probing::searchingProber()'],['../d4/dd2/namespacequadratic__probing.html#aeb6bca8db4768226f8ea8291ea4f83f6',1,'quadratic_probing::searchingProber()']]], - ['searchpresence_23',['SearchPresence',['../d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html#a4a624fcdf3c3beb2025d69f2cfda8023',1,'operations_on_datastructures::trie_operations::Tnode']]], - ['searchsuggestions_24',['SearchSuggestions',['../d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html#a18b70172ca4fb2811dbfb9a86e48b34c',1,'operations_on_datastructures::trie_operations::Tnode']]], - ['seconds_25',['seconds',['http://en.cppreference.com/w/cpp/chrono/duration/duration.html',0,'std::chrono::seconds']]], - ['seed_26',['seed',['http://en.cppreference.com/w/cpp/numeric/random/mersenne_twister_engine/seed.html',0,'std::mt19937_64::seed()'],['http://en.cppreference.com/w/cpp/numeric/random/subtract_with_carry_engine/seed.html',0,'std::ranlux24_base::seed()'],['http://en.cppreference.com/w/cpp/numeric/random/discard_block_engine/seed.html',0,'std::ranlux48::seed()'],['http://en.cppreference.com/w/cpp/numeric/random/discard_block_engine/seed.html',0,'std::discard_block_engine::seed()'],['http://en.cppreference.com/w/cpp/numeric/random/mersenne_twister_engine/seed.html',0,'std::mersenne_twister_engine::seed()'],['http://en.cppreference.com/w/cpp/numeric/random/independent_bits_engine/seed.html',0,'std::independent_bits_engine::seed()'],['http://en.cppreference.com/w/cpp/numeric/random/linear_congruential_engine/seed.html',0,'std::minstd_rand::seed()'],['http://en.cppreference.com/w/cpp/numeric/random/subtract_with_carry_engine/seed.html',0,'std::ranlux48_base::seed()'],['http://en.cppreference.com/w/cpp/numeric/random/mersenne_twister_engine/seed.html',0,'std::mt19937::seed()'],['http://en.cppreference.com/w/cpp/numeric/random/shuffle_order_engine/seed.html',0,'std::shuffle_order_engine::seed()'],['http://en.cppreference.com/w/cpp/numeric/random/discard_block_engine/seed.html',0,'std::ranlux24::seed()'],['http://en.cppreference.com/w/cpp/numeric/random/linear_congruential_engine/seed.html',0,'std::linear_congruential_engine::seed()'],['http://en.cppreference.com/w/cpp/numeric/random/shuffle_order_engine/seed.html',0,'std::knuth_b::seed()'],['http://en.cppreference.com/w/cpp/numeric/random/linear_congruential_engine/seed.html',0,'std::minstd_rand0::seed()'],['http://en.cppreference.com/w/cpp/numeric/random/subtract_with_carry_engine/seed.html',0,'std::subtract_with_carry_engine::seed()']]], - ['seed_5fseq_27',['seed_seq',['http://en.cppreference.com/w/cpp/numeric/random/seed_seq/seed_seq.html',0,'std::seed_seq']]], - ['seekg_28',['seekg',['http://en.cppreference.com/w/cpp/io/basic_istream/seekg.html',0,'std::fstream::seekg()'],['http://en.cppreference.com/w/cpp/io/basic_istream/seekg.html',0,'std::basic_fstream::seekg()'],['http://en.cppreference.com/w/cpp/io/basic_istream/seekg.html',0,'std::iostream::seekg()'],['http://en.cppreference.com/w/cpp/io/basic_istream/seekg.html',0,'std::wistream::seekg()'],['http://en.cppreference.com/w/cpp/io/basic_istream/seekg.html',0,'std::stringstream::seekg()'],['http://en.cppreference.com/w/cpp/io/basic_istream/seekg.html',0,'std::wifstream::seekg()'],['http://en.cppreference.com/w/cpp/io/basic_istream/seekg.html',0,'std::basic_istream::seekg()'],['http://en.cppreference.com/w/cpp/io/basic_istream/seekg.html',0,'std::strstream::seekg()'],['http://en.cppreference.com/w/cpp/io/basic_istream/seekg.html',0,'std::basic_stringstream::seekg()'],['http://en.cppreference.com/w/cpp/io/basic_istream/seekg.html',0,'std::istrstream::seekg()'],['http://en.cppreference.com/w/cpp/io/basic_istream/seekg.html',0,'std::wiostream::seekg()'],['http://en.cppreference.com/w/cpp/io/basic_istream/seekg.html',0,'std::basic_istringstream::seekg()'],['http://en.cppreference.com/w/cpp/io/basic_istream/seekg.html',0,'std::basic_ifstream::seekg()'],['http://en.cppreference.com/w/cpp/io/basic_istream/seekg.html',0,'std::istringstream::seekg()'],['http://en.cppreference.com/w/cpp/io/basic_istream/seekg.html',0,'std::istream::seekg()'],['http://en.cppreference.com/w/cpp/io/basic_istream/seekg.html',0,'std::wfstream::seekg()'],['http://en.cppreference.com/w/cpp/io/basic_istream/seekg.html',0,'std::basic_iostream::seekg()'],['http://en.cppreference.com/w/cpp/io/basic_istream/seekg.html',0,'std::wstringstream::seekg()'],['http://en.cppreference.com/w/cpp/io/basic_istream/seekg.html',0,'std::wistringstream::seekg()'],['http://en.cppreference.com/w/cpp/io/basic_istream/seekg.html',0,'std::ifstream::seekg()']]], - ['seekoff_29',['seekoff',['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubseekoff.html',0,'std::basic_filebuf::seekoff()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubseekoff.html',0,'std::wstringbuf::seekoff()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubseekoff.html',0,'std::stringbuf::seekoff()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubseekoff.html',0,'std::wfilebuf::seekoff()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubseekoff.html',0,'std::wstreambuf::seekoff()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubseekoff.html',0,'std::strstreambuf::seekoff()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubseekoff.html',0,'std::basic_stringbuf::seekoff()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubseekoff.html',0,'std::basic_streambuf::seekoff()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubseekoff.html',0,'std::filebuf::seekoff()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubseekoff.html',0,'std::streambuf::seekoff()']]], - ['seekp_30',['seekp',['http://en.cppreference.com/w/cpp/io/basic_ostream/seekp.html',0,'std::basic_ofstream::seekp()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/seekp.html',0,'std::fstream::seekp()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/seekp.html',0,'std::wostream::seekp()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/seekp.html',0,'std::basic_ostringstream::seekp()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/seekp.html',0,'std::ostringstream::seekp()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/seekp.html',0,'std::basic_fstream::seekp()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/seekp.html',0,'std::iostream::seekp()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/seekp.html',0,'std::stringstream::seekp()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/seekp.html',0,'std::ostream::seekp()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/seekp.html',0,'std::strstream::seekp()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/seekp.html',0,'std::basic_stringstream::seekp()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/seekp.html',0,'std::wostringstream::seekp()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/seekp.html',0,'std::basic_ostream::seekp()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/seekp.html',0,'std::wiostream::seekp()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/seekp.html',0,'std::ofstream::seekp()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/seekp.html',0,'std::ostrstream::seekp()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/seekp.html',0,'std::wfstream::seekp()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/seekp.html',0,'std::basic_iostream::seekp()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/seekp.html',0,'std::wofstream::seekp()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/seekp.html',0,'std::wstringstream::seekp()']]], - ['seekpos_31',['seekpos',['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubseekpos.html',0,'std::basic_filebuf::seekpos()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubseekpos.html',0,'std::wstringbuf::seekpos()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubseekpos.html',0,'std::stringbuf::seekpos()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubseekpos.html',0,'std::wfilebuf::seekpos()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubseekpos.html',0,'std::wstreambuf::seekpos()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubseekpos.html',0,'std::strstreambuf::seekpos()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubseekpos.html',0,'std::basic_stringbuf::seekpos()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubseekpos.html',0,'std::basic_streambuf::seekpos()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubseekpos.html',0,'std::filebuf::seekpos()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubseekpos.html',0,'std::streambuf::seekpos()']]], - ['select_5fon_5fcontainer_5fcopy_5fconstruction_32',['select_on_container_copy_construction',['http://en.cppreference.com/w/cpp/memory/allocator_traits/select_on_container_copy_construction.html',0,'std::allocator_traits::select_on_container_copy_construction()'],['http://en.cppreference.com/w/cpp/memory/scoped_allocator_adaptor/select_on_container_copy_construction.html',0,'std::scoped_allocator_adaptor::select_on_container_copy_construction()']]], - ['selectionsortrecursive_33',['selectionSortRecursive',['../d4/d9f/selection__sort__recursive_8cpp.html#ab6f7b33a070e376e1f4374e534435e89',1,'sorting::selection_sort_recursive']]], - ['selectiontop_5f3_34',['SelectionTop_3',['../d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html#aacafb8c9f3ebac7ac6c01d9645bb67b6',1,'operations_on_datastructures::trie_operations::Tnode']]], - ['semi_5fimplicit_5feuler_35',['semi_implicit_euler',['../d6/d60/group__ode.html#ga3874d294ab00fe9ce8731c5b7991a089',1,'ode_semi_implicit_euler.cpp']]], - ['semi_5fimplicit_5feuler_5fstep_36',['semi_implicit_euler_step',['../d6/d60/group__ode.html#ga827bf009831ddc477c5fa8891d5cb35f',1,'ode_semi_implicit_euler.cpp']]], - ['sentry_37',['sentry',['http://en.cppreference.com/w/cpp/io/basic_ostream/sentry.html',0,'std::basic_ofstream::sentry::sentry()'],['http://en.cppreference.com/w/cpp/io/basic_istream/sentry.html',0,'std::fstream::sentry::sentry()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/sentry.html',0,'std::wostream::sentry::sentry()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/sentry.html',0,'std::basic_ostringstream::sentry::sentry()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/sentry.html',0,'std::ostringstream::sentry::sentry()'],['http://en.cppreference.com/w/cpp/io/basic_istream/sentry.html',0,'std::basic_fstream::sentry::sentry()'],['http://en.cppreference.com/w/cpp/io/basic_istream/sentry.html',0,'std::iostream::sentry::sentry()'],['http://en.cppreference.com/w/cpp/io/basic_istream/sentry.html',0,'std::wistream::sentry::sentry()'],['http://en.cppreference.com/w/cpp/io/basic_istream/sentry.html',0,'std::stringstream::sentry::sentry()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/sentry.html',0,'std::ostream::sentry::sentry()'],['http://en.cppreference.com/w/cpp/io/basic_istream/sentry.html',0,'std::wifstream::sentry::sentry()'],['http://en.cppreference.com/w/cpp/io/basic_istream/sentry.html',0,'std::basic_istream::sentry::sentry()'],['http://en.cppreference.com/w/cpp/io/basic_istream/sentry.html',0,'std::strstream::sentry::sentry()'],['http://en.cppreference.com/w/cpp/io/basic_istream/sentry.html',0,'std::basic_stringstream::sentry::sentry()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/sentry.html',0,'std::wostringstream::sentry::sentry()'],['http://en.cppreference.com/w/cpp/io/basic_istream/sentry.html',0,'std::istrstream::sentry::sentry()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/sentry.html',0,'std::basic_ostream::sentry::sentry()'],['http://en.cppreference.com/w/cpp/io/basic_istream/sentry.html',0,'std::wiostream::sentry::sentry()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/sentry.html',0,'std::ofstream::sentry::sentry()'],['http://en.cppreference.com/w/cpp/io/basic_istream/sentry.html',0,'std::basic_istringstream::sentry::sentry()'],['http://en.cppreference.com/w/cpp/io/basic_istream/sentry.html',0,'std::basic_ifstream::sentry::sentry()'],['http://en.cppreference.com/w/cpp/io/basic_istream/sentry.html',0,'std::istringstream::sentry::sentry()'],['http://en.cppreference.com/w/cpp/io/basic_istream/sentry.html',0,'std::istream::sentry::sentry()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/sentry.html',0,'std::ostrstream::sentry::sentry()'],['http://en.cppreference.com/w/cpp/io/basic_istream/sentry.html',0,'std::wfstream::sentry::sentry()'],['http://en.cppreference.com/w/cpp/io/basic_istream/sentry.html',0,'std::basic_iostream::sentry::sentry()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/sentry.html',0,'std::wofstream::sentry::sentry()'],['http://en.cppreference.com/w/cpp/io/basic_istream/sentry.html',0,'std::wstringstream::sentry::sentry()'],['http://en.cppreference.com/w/cpp/io/basic_istream/sentry.html',0,'std::wistringstream::sentry::sentry()'],['http://en.cppreference.com/w/cpp/io/basic_istream/sentry.html',0,'std::ifstream::sentry::sentry()']]], - ['set_38',['set',['http://en.cppreference.com/w/cpp/container/set/set.html',0,'std::set::set()'],['http://en.cppreference.com/w/cpp/utility/bitset/set.html',0,'std::bitset::set()']]], - ['set_5fdifference_39',['set_difference',['http://en.cppreference.com/w/cpp/algorithm/set_difference.html',0,'std']]], - ['set_5fexception_40',['set_exception',['http://en.cppreference.com/w/cpp/thread/promise/set_exception.html',0,'std::promise']]], - ['set_5fexception_5fat_5fthread_5fexit_41',['set_exception_at_thread_exit',['http://en.cppreference.com/w/cpp/thread/promise/set_exception_at_thread_exit.html',0,'std::promise']]], - ['set_5fintersection_42',['set_intersection',['http://en.cppreference.com/w/cpp/algorithm/set_intersection.html',0,'std']]], - ['set_5fnew_5fhandler_43',['set_new_handler',['http://en.cppreference.com/w/cpp/memory/new/set_new_handler.html',0,'std']]], - ['set_5fnode_5fval_44',['set_node_val',['../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html#a04cd96efaba147b19d3afc769b90ff70',1,'range_queries::heavy_light_decomposition::Tree']]], - ['set_5frdbuf_45',['set_rdbuf',['http://en.cppreference.com/w/cpp/io/basic_ios/set_rdbuf.html',0,'std::basic_ofstream::set_rdbuf()'],['http://en.cppreference.com/w/cpp/io/basic_ios/set_rdbuf.html',0,'std::fstream::set_rdbuf()'],['http://en.cppreference.com/w/cpp/io/basic_ios/set_rdbuf.html',0,'std::wostream::set_rdbuf()'],['http://en.cppreference.com/w/cpp/io/basic_ios/set_rdbuf.html',0,'std::basic_ostringstream::set_rdbuf()'],['http://en.cppreference.com/w/cpp/io/basic_ios/set_rdbuf.html',0,'std::basic_ios::set_rdbuf()'],['http://en.cppreference.com/w/cpp/io/basic_ios/set_rdbuf.html',0,'std::ostringstream::set_rdbuf()'],['http://en.cppreference.com/w/cpp/io/basic_ios/set_rdbuf.html',0,'std::basic_fstream::set_rdbuf()'],['http://en.cppreference.com/w/cpp/io/basic_ios/set_rdbuf.html',0,'std::iostream::set_rdbuf()'],['http://en.cppreference.com/w/cpp/io/basic_ios/set_rdbuf.html',0,'std::wistream::set_rdbuf()'],['http://en.cppreference.com/w/cpp/io/basic_ios/set_rdbuf.html',0,'std::stringstream::set_rdbuf()'],['http://en.cppreference.com/w/cpp/io/basic_ios/set_rdbuf.html',0,'std::ostream::set_rdbuf()'],['http://en.cppreference.com/w/cpp/io/basic_ios/set_rdbuf.html',0,'std::wifstream::set_rdbuf()'],['http://en.cppreference.com/w/cpp/io/basic_ios/set_rdbuf.html',0,'std::basic_istream::set_rdbuf()'],['http://en.cppreference.com/w/cpp/io/basic_ios/set_rdbuf.html',0,'std::strstream::set_rdbuf()'],['http://en.cppreference.com/w/cpp/io/basic_ios/set_rdbuf.html',0,'std::basic_stringstream::set_rdbuf()'],['http://en.cppreference.com/w/cpp/io/basic_ios/set_rdbuf.html',0,'std::wostringstream::set_rdbuf()'],['http://en.cppreference.com/w/cpp/io/basic_ios/set_rdbuf.html',0,'std::istrstream::set_rdbuf()'],['http://en.cppreference.com/w/cpp/io/basic_ios/set_rdbuf.html',0,'std::basic_ostream::set_rdbuf()'],['http://en.cppreference.com/w/cpp/io/basic_ios/set_rdbuf.html',0,'std::wiostream::set_rdbuf()'],['http://en.cppreference.com/w/cpp/io/basic_ios/set_rdbuf.html',0,'std::ofstream::set_rdbuf()'],['http://en.cppreference.com/w/cpp/io/basic_ios/set_rdbuf.html',0,'std::basic_istringstream::set_rdbuf()'],['http://en.cppreference.com/w/cpp/io/basic_ios/set_rdbuf.html',0,'std::basic_ifstream::set_rdbuf()'],['http://en.cppreference.com/w/cpp/io/basic_ios/set_rdbuf.html',0,'std::istringstream::set_rdbuf()'],['http://en.cppreference.com/w/cpp/io/basic_ios/set_rdbuf.html',0,'std::istream::set_rdbuf()'],['http://en.cppreference.com/w/cpp/io/basic_ios/set_rdbuf.html',0,'std::ostrstream::set_rdbuf()'],['http://en.cppreference.com/w/cpp/io/basic_ios/set_rdbuf.html',0,'std::wfstream::set_rdbuf()'],['http://en.cppreference.com/w/cpp/io/basic_ios/set_rdbuf.html',0,'std::basic_iostream::set_rdbuf()'],['http://en.cppreference.com/w/cpp/io/basic_ios/set_rdbuf.html',0,'std::wofstream::set_rdbuf()'],['http://en.cppreference.com/w/cpp/io/basic_ios/set_rdbuf.html',0,'std::wstringstream::set_rdbuf()'],['http://en.cppreference.com/w/cpp/io/basic_ios/set_rdbuf.html',0,'std::wistringstream::set_rdbuf()'],['http://en.cppreference.com/w/cpp/io/basic_ios/set_rdbuf.html',0,'std::ifstream::set_rdbuf()']]], - ['set_5fsret_5finit_46',['set_sret_init',['../d9/d35/classrange__queries_1_1heavy__light__decomposition_1_1_s_g.html#ad3b942be27a1b0fe3cff6cb6edf01294',1,'range_queries::heavy_light_decomposition::SG']]], - ['set_5fsymmetric_5fdifference_47',['set_symmetric_difference',['http://en.cppreference.com/w/cpp/algorithm/set_symmetric_difference.html',0,'std']]], - ['set_5fterminate_48',['set_terminate',['http://en.cppreference.com/w/cpp/error/set_terminate.html',0,'std']]], - ['set_5funexpected_49',['set_unexpected',['http://en.cppreference.com/w/cpp/error/set_unexpected.html',0,'std']]], - ['set_5funion_50',['set_union',['http://en.cppreference.com/w/cpp/algorithm/set_union.html',0,'std']]], - ['set_5fvalue_51',['set_value',['http://en.cppreference.com/w/cpp/thread/promise/set_value.html',0,'std::promise']]], - ['set_5fvalue_5fat_5fthread_5fexit_52',['set_value_at_thread_exit',['http://en.cppreference.com/w/cpp/thread/promise/set_value_at_thread_exit.html',0,'std::promise']]], - ['setbase_53',['setbase',['http://en.cppreference.com/w/cpp/io/manip/setbase.html',0,'std']]], - ['setbuf_54',['setbuf',['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubsetbuf.html',0,'std::basic_filebuf::setbuf()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubsetbuf.html',0,'std::wstringbuf::setbuf()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubsetbuf.html',0,'std::stringbuf::setbuf()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubsetbuf.html',0,'std::wfilebuf::setbuf()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubsetbuf.html',0,'std::wstreambuf::setbuf()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubsetbuf.html',0,'std::strstreambuf::setbuf()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubsetbuf.html',0,'std::basic_stringbuf::setbuf()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubsetbuf.html',0,'std::basic_streambuf::setbuf()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubsetbuf.html',0,'std::filebuf::setbuf()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubsetbuf.html',0,'std::streambuf::setbuf()'],['http://en.cppreference.com/w/cpp/io/c/setbuf.html',0,'std::setbuf()']]], - ['setchild_55',['SetChild',['../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#ab4e5f7b7b260bb81d9441652cc124c74',1,'data_structures::tree_234::Node']]], - ['setcount_56',['SetCount',['../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#af564fd4b0992fff69f90de201542d3d1',1,'data_structures::tree_234::Node']]], - ['setf_57',['setf',['http://en.cppreference.com/w/cpp/io/ios_base/setf.html',0,'std::basic_ofstream::setf()'],['http://en.cppreference.com/w/cpp/io/ios_base/setf.html',0,'std::fstream::setf()'],['http://en.cppreference.com/w/cpp/io/ios_base/setf.html',0,'std::wostream::setf()'],['http://en.cppreference.com/w/cpp/io/ios_base/setf.html',0,'std::basic_ostringstream::setf()'],['http://en.cppreference.com/w/cpp/io/ios_base/setf.html',0,'std::basic_ios::setf()'],['http://en.cppreference.com/w/cpp/io/ios_base/setf.html',0,'std::ostringstream::setf()'],['http://en.cppreference.com/w/cpp/io/ios_base/setf.html',0,'std::basic_fstream::setf()'],['http://en.cppreference.com/w/cpp/io/ios_base/setf.html',0,'std::iostream::setf()'],['http://en.cppreference.com/w/cpp/io/ios_base/setf.html',0,'std::ios_base::setf()'],['http://en.cppreference.com/w/cpp/io/ios_base/setf.html',0,'std::wistream::setf()'],['http://en.cppreference.com/w/cpp/io/ios_base/setf.html',0,'std::stringstream::setf()'],['http://en.cppreference.com/w/cpp/io/ios_base/setf.html',0,'std::ostream::setf()'],['http://en.cppreference.com/w/cpp/io/ios_base/setf.html',0,'std::wifstream::setf()'],['http://en.cppreference.com/w/cpp/io/ios_base/setf.html',0,'std::basic_istream::setf()'],['http://en.cppreference.com/w/cpp/io/ios_base/setf.html',0,'std::strstream::setf()'],['http://en.cppreference.com/w/cpp/io/ios_base/setf.html',0,'std::basic_stringstream::setf()'],['http://en.cppreference.com/w/cpp/io/ios_base/setf.html',0,'std::wostringstream::setf()'],['http://en.cppreference.com/w/cpp/io/ios_base/setf.html',0,'std::istrstream::setf()'],['http://en.cppreference.com/w/cpp/io/ios_base/setf.html',0,'std::basic_ostream::setf()'],['http://en.cppreference.com/w/cpp/io/ios_base/setf.html',0,'std::wiostream::setf()'],['http://en.cppreference.com/w/cpp/io/ios_base/setf.html',0,'std::ofstream::setf()'],['http://en.cppreference.com/w/cpp/io/ios_base/setf.html',0,'std::basic_istringstream::setf()'],['http://en.cppreference.com/w/cpp/io/ios_base/setf.html',0,'std::basic_ifstream::setf()'],['http://en.cppreference.com/w/cpp/io/ios_base/setf.html',0,'std::istringstream::setf()'],['http://en.cppreference.com/w/cpp/io/ios_base/setf.html',0,'std::istream::setf()'],['http://en.cppreference.com/w/cpp/io/ios_base/setf.html',0,'std::ostrstream::setf()'],['http://en.cppreference.com/w/cpp/io/ios_base/setf.html',0,'std::wfstream::setf()'],['http://en.cppreference.com/w/cpp/io/ios_base/setf.html',0,'std::basic_iostream::setf()'],['http://en.cppreference.com/w/cpp/io/ios_base/setf.html',0,'std::wofstream::setf()'],['http://en.cppreference.com/w/cpp/io/ios_base/setf.html',0,'std::wstringstream::setf()'],['http://en.cppreference.com/w/cpp/io/ios_base/setf.html',0,'std::wistringstream::setf()'],['http://en.cppreference.com/w/cpp/io/ios_base/setf.html',0,'std::ifstream::setf()']]], - ['setfill_58',['setfill',['http://en.cppreference.com/w/cpp/io/manip/setfill.html',0,'std']]], - ['setg_59',['setg',['http://en.cppreference.com/w/cpp/io/basic_streambuf/setg.html',0,'std::basic_filebuf::setg()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/setg.html',0,'std::wstringbuf::setg()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/setg.html',0,'std::stringbuf::setg()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/setg.html',0,'std::wfilebuf::setg()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/setg.html',0,'std::wstreambuf::setg()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/setg.html',0,'std::strstreambuf::setg()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/setg.html',0,'std::basic_stringbuf::setg()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/setg.html',0,'std::basic_streambuf::setg()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/setg.html',0,'std::filebuf::setg()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/setg.html',0,'std::streambuf::setg()']]], - ['setiosflags_60',['setiosflags',['http://en.cppreference.com/w/cpp/io/manip/setiosflags.html',0,'std']]], - ['setitem_61',['SetItem',['../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#aaa89a3016b5dd1be3552321c34343cbc',1,'data_structures::tree_234::Node']]], - ['setkthbit_62',['setKthBit',['../d5/db5/set__kth__bit_8cpp.html#ad4d0ffd9331242c42a28834ee19f5fd9',1,'bit_manipulation::set_kth_bit']]], - ['setlocale_63',['setlocale',['http://en.cppreference.com/w/cpp/locale/setlocale.html',0,'std']]], - ['setp_64',['setp',['http://en.cppreference.com/w/cpp/io/basic_streambuf/setp.html',0,'std::basic_filebuf::setp()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/setp.html',0,'std::wstringbuf::setp()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/setp.html',0,'std::stringbuf::setp()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/setp.html',0,'std::wfilebuf::setp()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/setp.html',0,'std::wstreambuf::setp()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/setp.html',0,'std::strstreambuf::setp()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/setp.html',0,'std::basic_stringbuf::setp()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/setp.html',0,'std::basic_streambuf::setp()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/setp.html',0,'std::filebuf::setp()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/setp.html',0,'std::streambuf::setp()']]], - ['setprecision_65',['setprecision',['http://en.cppreference.com/w/cpp/io/manip/setprecision.html',0,'std']]], - ['setstate_66',['setstate',['http://en.cppreference.com/w/cpp/io/basic_ios/setstate.html',0,'std::basic_ofstream::setstate()'],['http://en.cppreference.com/w/cpp/io/basic_ios/setstate.html',0,'std::fstream::setstate()'],['http://en.cppreference.com/w/cpp/io/basic_ios/setstate.html',0,'std::wostream::setstate()'],['http://en.cppreference.com/w/cpp/io/basic_ios/setstate.html',0,'std::basic_ostringstream::setstate()'],['http://en.cppreference.com/w/cpp/io/basic_ios/setstate.html',0,'std::basic_ios::setstate()'],['http://en.cppreference.com/w/cpp/io/basic_ios/setstate.html',0,'std::ostringstream::setstate()'],['http://en.cppreference.com/w/cpp/io/basic_ios/setstate.html',0,'std::basic_fstream::setstate()'],['http://en.cppreference.com/w/cpp/io/basic_ios/setstate.html',0,'std::iostream::setstate()'],['http://en.cppreference.com/w/cpp/io/basic_ios/setstate.html',0,'std::wistream::setstate()'],['http://en.cppreference.com/w/cpp/io/basic_ios/setstate.html',0,'std::stringstream::setstate()'],['http://en.cppreference.com/w/cpp/io/basic_ios/setstate.html',0,'std::ostream::setstate()'],['http://en.cppreference.com/w/cpp/io/basic_ios/setstate.html',0,'std::wifstream::setstate()'],['http://en.cppreference.com/w/cpp/io/basic_ios/setstate.html',0,'std::basic_istream::setstate()'],['http://en.cppreference.com/w/cpp/io/basic_ios/setstate.html',0,'std::strstream::setstate()'],['http://en.cppreference.com/w/cpp/io/basic_ios/setstate.html',0,'std::basic_stringstream::setstate()'],['http://en.cppreference.com/w/cpp/io/basic_ios/setstate.html',0,'std::wostringstream::setstate()'],['http://en.cppreference.com/w/cpp/io/basic_ios/setstate.html',0,'std::istrstream::setstate()'],['http://en.cppreference.com/w/cpp/io/basic_ios/setstate.html',0,'std::basic_ostream::setstate()'],['http://en.cppreference.com/w/cpp/io/basic_ios/setstate.html',0,'std::wiostream::setstate()'],['http://en.cppreference.com/w/cpp/io/basic_ios/setstate.html',0,'std::ofstream::setstate()'],['http://en.cppreference.com/w/cpp/io/basic_ios/setstate.html',0,'std::basic_istringstream::setstate()'],['http://en.cppreference.com/w/cpp/io/basic_ios/setstate.html',0,'std::basic_ifstream::setstate()'],['http://en.cppreference.com/w/cpp/io/basic_ios/setstate.html',0,'std::istringstream::setstate()'],['http://en.cppreference.com/w/cpp/io/basic_ios/setstate.html',0,'std::istream::setstate()'],['http://en.cppreference.com/w/cpp/io/basic_ios/setstate.html',0,'std::ostrstream::setstate()'],['http://en.cppreference.com/w/cpp/io/basic_ios/setstate.html',0,'std::wfstream::setstate()'],['http://en.cppreference.com/w/cpp/io/basic_ios/setstate.html',0,'std::basic_iostream::setstate()'],['http://en.cppreference.com/w/cpp/io/basic_ios/setstate.html',0,'std::wofstream::setstate()'],['http://en.cppreference.com/w/cpp/io/basic_ios/setstate.html',0,'std::wstringstream::setstate()'],['http://en.cppreference.com/w/cpp/io/basic_ios/setstate.html',0,'std::wistringstream::setstate()'],['http://en.cppreference.com/w/cpp/io/basic_ios/setstate.html',0,'std::ifstream::setstate()']]], - ['setvbuf_67',['setvbuf',['http://en.cppreference.com/w/cpp/io/c/setvbuf.html',0,'std']]], - ['setw_68',['setw',['http://en.cppreference.com/w/cpp/io/manip/setw.html',0,'std']]], - ['sg_69',['SG',['../d9/d35/classrange__queries_1_1heavy__light__decomposition_1_1_s_g.html#afba5c1225ba04c0025c7786c09ff28f1',1,'range_queries::heavy_light_decomposition::SG']]], - ['sgetc_70',['sgetc',['http://en.cppreference.com/w/cpp/io/basic_streambuf/sgetc.html',0,'std::basic_filebuf::sgetc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sgetc.html',0,'std::wstringbuf::sgetc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sgetc.html',0,'std::stringbuf::sgetc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sgetc.html',0,'std::wfilebuf::sgetc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sgetc.html',0,'std::wstreambuf::sgetc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sgetc.html',0,'std::strstreambuf::sgetc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sgetc.html',0,'std::basic_stringbuf::sgetc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sgetc.html',0,'std::basic_streambuf::sgetc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sgetc.html',0,'std::filebuf::sgetc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sgetc.html',0,'std::streambuf::sgetc()']]], - ['sgetn_71',['sgetn',['http://en.cppreference.com/w/cpp/io/basic_streambuf/sgetn.html',0,'std::basic_filebuf::sgetn()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sgetn.html',0,'std::wstringbuf::sgetn()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sgetn.html',0,'std::stringbuf::sgetn()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sgetn.html',0,'std::wfilebuf::sgetn()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sgetn.html',0,'std::wstreambuf::sgetn()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sgetn.html',0,'std::strstreambuf::sgetn()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sgetn.html',0,'std::basic_stringbuf::sgetn()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sgetn.html',0,'std::basic_streambuf::sgetn()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sgetn.html',0,'std::filebuf::sgetn()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sgetn.html',0,'std::streambuf::sgetn()']]], - ['sgn_72',['sgn',['../d7/d6a/bisection__method_8cpp.html#a1ab31b90bc584c635ec159468ceed9b2',1,'bisection_method.cpp']]], - ['sha256_73',['sha256',['../d4/d08/sha256_8cpp.html#a55475649a2bb7aae15de0716a217f43a',1,'hashing::sha256']]], - ['share_74',['share',['http://en.cppreference.com/w/cpp/thread/future/share.html',0,'std::future']]], - ['shared_5ffrom_5fthis_75',['shared_from_this',['http://en.cppreference.com/w/cpp/memory/enable_shared_from_this/shared_from_this.html',0,'std::enable_shared_from_this']]], - ['shared_5ffuture_76',['shared_future',['http://en.cppreference.com/w/cpp/thread/shared_future/shared_future.html',0,'std::shared_future']]], - ['shared_5flock_77',['shared_lock',['http://en.cppreference.com/w/cpp/thread/shared_lock/shared_lock.html',0,'std::shared_lock']]], - ['shared_5fptr_78',['shared_ptr',['http://en.cppreference.com/w/cpp/memory/shared_ptr/shared_ptr.html',0,'std::shared_ptr']]], - ['shared_5ftimed_5fmutex_79',['shared_timed_mutex',['http://en.cppreference.com/w/cpp/thread/shared_timed_mutex/shared_timed_mutex.html',0,'std::shared_timed_mutex']]], - ['shell_5fsort_80',['shell_sort',['../d5/d91/namespacesorting.html#a5669396c6a6b1e14b97589b6e37980aa',1,'sorting::shell_sort(T *arr, size_t LEN)'],['../d5/d91/namespacesorting.html#a4d76603c54d3dc56146e92d10a043924',1,'sorting::shell_sort(T(&arr)[N])'],['../d5/d91/namespacesorting.html#af2c5b92cbfe73f63f6074c61b0a45331',1,'sorting::shell_sort(std::vector< T > *arr)']]], - ['shift_5fleft_81',['shift_left',['../da/d6d/namespaceoperations__on__datastructures.html#afce39cf843989a39811a49ebe29dd6d8',1,'operations_on_datastructures']]], - ['shift_5fright_82',['shift_right',['../da/d6d/namespaceoperations__on__datastructures.html#a1bfb8711f49e591eb168ccaa3df6fb86',1,'operations_on_datastructures']]], - ['shortest_5fpath_5fdistance_83',['Shortest_Path_Distance',['../d7/d07/bidirectional__dijkstra_8cpp.html#a22f1b7277e1dd4190f25014b48487ce6',1,'graph::bidirectional_dijkstra']]], - ['show_84',['show',['../d5/dab/structdata__structures_1_1list__array_1_1list.html#a0b7acf65026df1e9dd13eebf309dda5e',1,'data_structures::list_array::list::show()'],['../d2/dc8/classdata__structures_1_1_stack.html#abb86ed67d9d97112897a09cfb10ff586',1,'data_structures::Stack::show()'],['../db/d3c/tower__of__hanoi_8cpp.html#a746d9a3984bba88fd6dd91978f6931ed',1,'show(): tower_of_hanoi.cpp'],['../d2/d26/count__inversions_8cpp.html#a851ca6a0391d14fb49a97d55e4377497',1,'sorting::inversion::show()'],['../d5/d4c/group__sorting.html#ga0a9a57a1f1bbba3d4822531d002b7e07',1,'show(): merge_sort.cpp'],['../d1/d21/quick__sort_8cpp.html#aeccefcf6fcca62c54939c5ec9a93109b',1,'sorting::quick_sort::show()']]], - ['show_5farray_85',['show_array',['../d5/ddb/bogo__sort_8cpp.html#ae8adaeff66471f9ed84f2e673b38a859',1,'bogo_sort.cpp']]], - ['show_5fdata_86',['show_data',['../d4/d7a/shell__sort2_8cpp.html#a951127aea9d7e1e53ea9ae0868633246',1,'show_data(T *arr, size_t LEN): shell_sort2.cpp'],['../d4/d7a/shell__sort2_8cpp.html#a63aaff7cabfa3da2da8b9477b5fad9d6',1,'show_data(T(&arr)[N]): shell_sort2.cpp']]], - ['show_5fpascal_87',['show_pascal',['../dc/d1a/pascal__triangle_8cpp.html#ad7a31d9cb2818d21b1ba12aead7f4c5c',1,'pascal_triangle.cpp']]], - ['showarray_88',['showArray',['../d1/daa/random__pivot__quick__sort_8cpp.html#ac3281dc34a9cfd7beb332419b8a0aa10',1,'sorting::random_pivot_quick_sort']]], - ['showbase_89',['showbase',['http://en.cppreference.com/w/cpp/io/manip/showbase.html',0,'std']]], - ['showmanyc_90',['showmanyc',['http://en.cppreference.com/w/cpp/io/basic_streambuf/showmanyc.html',0,'std::basic_filebuf::showmanyc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/showmanyc.html',0,'std::wstringbuf::showmanyc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/showmanyc.html',0,'std::stringbuf::showmanyc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/showmanyc.html',0,'std::wfilebuf::showmanyc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/showmanyc.html',0,'std::wstreambuf::showmanyc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/showmanyc.html',0,'std::strstreambuf::showmanyc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/showmanyc.html',0,'std::basic_stringbuf::showmanyc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/showmanyc.html',0,'std::basic_streambuf::showmanyc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/showmanyc.html',0,'std::filebuf::showmanyc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/showmanyc.html',0,'std::streambuf::showmanyc()']]], - ['showpoint_91',['showpoint',['http://en.cppreference.com/w/cpp/io/manip/showpoint.html',0,'std']]], - ['showpos_92',['showpos',['http://en.cppreference.com/w/cpp/io/manip/showpos.html',0,'std']]], - ['shrink_5fto_5ffit_93',['shrink_to_fit',['http://en.cppreference.com/w/cpp/container/vector/shrink_to_fit.html',0,'std::vector::shrink_to_fit()'],['http://en.cppreference.com/w/cpp/string/basic_string/shrink_to_fit.html',0,'std::string::shrink_to_fit()'],['http://en.cppreference.com/w/cpp/container/deque/shrink_to_fit.html',0,'std::deque::shrink_to_fit()'],['http://en.cppreference.com/w/cpp/string/basic_string/shrink_to_fit.html',0,'std::basic_string::shrink_to_fit()'],['http://en.cppreference.com/w/cpp/string/basic_string/shrink_to_fit.html',0,'std::wstring::shrink_to_fit()'],['http://en.cppreference.com/w/cpp/string/basic_string/shrink_to_fit.html',0,'std::u16string::shrink_to_fit()'],['http://en.cppreference.com/w/cpp/string/basic_string/shrink_to_fit.html',0,'std::u32string::shrink_to_fit()']]], - ['shuffle_94',['shuffle',['http://en.cppreference.com/w/cpp/algorithm/random_shuffle.html',0,'std::shuffle()'],['../d5/d91/namespacesorting.html#a7bfe11bd4703eacd1dab93f25ec639c5',1,'sorting::shuffle()']]], - ['shuffle_5forder_5fengine_95',['shuffle_order_engine',['http://en.cppreference.com/w/cpp/numeric/random/shuffle_order_engine/shuffle_order_engine.html',0,'std::shuffle_order_engine']]], - ['sieve_96',['Sieve',['../d4/d9c/primes__up__to__billion_8cpp.html#a031cada84819ed6426f58e4f7e81261c',1,'primes_up_to_billion.cpp']]], - ['sieve_97',['sieve',['../dd/d47/namespacemath.html#a91366864111e1fac29722ca45e02ea8f',1,'math::sieve()'],['../d8/ddf/sieve__of__eratosthenes_8cpp.html#a22be949d160b26361f7e323310f7fa0c',1,'math::sieve_of_eratosthenes::sieve()']]], - ['sieveoferatosthenes_98',['SieveOfEratosthenes',['../db/d0d/prime__factorization_8cpp.html#affe577b9bce8f604f5e2f861c63c7099',1,'prime_factorization.cpp']]], - ['sig2hex_99',['sig2hex',['../d5/d96/md5_8cpp.html#aaee69c6136a841043f956de32116e348',1,'hashing::md5::sig2hex()'],['../d8/d7a/sha1_8cpp.html#aada0803ef851d831b7a290a924e3c228',1,'hashing::sha1::sig2hex()']]], - ['sigmoid_100',['sigmoid',['../d2/d58/neural__network_8cpp.html#a23aa9d32bcbcd65cfc85f0a41e2afadc',1,'machine_learning::neural_network::activations']]], - ['signal_101',['signal',['http://en.cppreference.com/w/cpp/utility/program/signal.html',0,'std']]], - ['signaling_5fnan_102',['signaling_NaN',['http://en.cppreference.com/w/cpp/types/numeric_limits/signaling_NaN.html',0,'std::numeric_limits']]], - ['signbit_103',['signbit',['http://en.cppreference.com/w/cpp/numeric/math/signbit.html',0,'std']]], - ['sin_104',['sin',['http://en.cppreference.com/w/cpp/numeric/math/sin.html',0,'std']]], - ['single_5fpredict_105',['single_predict',['../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#a3b9eac1824d365dce715fb17c33cb96f',1,'machine_learning::neural_network::NeuralNetwork']]], - ['sinh_106',['sinh',['http://en.cppreference.com/w/cpp/numeric/math/sinh.html',0,'std']]], - ['size_107',['size',['http://en.cppreference.com/w/cpp/container/dynarray/size.html',0,'std::dynarray::size()'],['http://en.cppreference.com/w/cpp/container/vector/size.html',0,'std::vector::size()'],['http://en.cppreference.com/w/cpp/regex/match_results/size.html',0,'std::match_results::size()'],['http://en.cppreference.com/w/cpp/container/multiset/size.html',0,'std::multiset::size()'],['http://en.cppreference.com/w/cpp/string/basic_string/size.html',0,'std::string::size()'],['http://en.cppreference.com/w/cpp/container/set/size.html',0,'std::set::size()'],['http://en.cppreference.com/w/cpp/container/unordered_map/size.html',0,'std::unordered_map::size()'],['http://en.cppreference.com/w/cpp/utility/initializer_list/size.html',0,'std::initializer_list::size()'],['http://en.cppreference.com/w/cpp/regex/match_results/size.html',0,'std::wsmatch::size()'],['http://en.cppreference.com/w/cpp/regex/match_results/size.html',0,'std::smatch::size()'],['http://en.cppreference.com/w/cpp/container/stack/size.html',0,'std::stack::size()'],['http://en.cppreference.com/w/cpp/container/unordered_multimap/size.html',0,'std::unordered_multimap::size()'],['http://en.cppreference.com/w/cpp/regex/match_results/size.html',0,'std::wcmatch::size()'],['http://en.cppreference.com/w/cpp/container/deque/size.html',0,'std::deque::size()'],['http://en.cppreference.com/w/cpp/container/queue/size.html',0,'std::queue::size()'],['http://en.cppreference.com/w/cpp/utility/bitset/size.html',0,'std::bitset::size()'],['http://en.cppreference.com/w/cpp/string/basic_string/size.html',0,'std::basic_string::size()'],['http://en.cppreference.com/w/cpp/container/priority_queue/size.html',0,'std::priority_queue::size()'],['http://en.cppreference.com/w/cpp/string/basic_string/size.html',0,'std::wstring::size()'],['http://en.cppreference.com/w/cpp/container/unordered_multiset/size.html',0,'std::unordered_multiset::size()'],['http://en.cppreference.com/w/cpp/string/basic_string/size.html',0,'std::u16string::size()'],['http://en.cppreference.com/w/cpp/string/basic_string/size.html',0,'std::u32string::size()'],['http://en.cppreference.com/w/cpp/container/list/size.html',0,'std::list::size()'],['http://en.cppreference.com/w/cpp/container/map/size.html',0,'std::map::size()'],['http://en.cppreference.com/w/cpp/regex/match_results/size.html',0,'std::cmatch::size()'],['http://en.cppreference.com/w/cpp/numeric/random/seed_seq/size.html',0,'std::seed_seq::size()'],['http://en.cppreference.com/w/cpp/container/unordered_set/size.html',0,'std::unordered_set::size()'],['http://en.cppreference.com/w/cpp/container/multimap/size.html',0,'std::multimap::size()'],['http://en.cppreference.com/w/cpp/container/array/size.html',0,'std::array::size()'],['../d9/dde/classbinary__search__tree.html#a564fe43e7e8f7ecb6f10667a70fbc6f3',1,'binary_search_tree::size()'],['../d9/dae/classdata__structures_1_1_bitset.html#a2f1f44d6a12b0de4aaf242872b1c7b54',1,'data_structures::Bitset::size()'],['../dd/d1f/classdsu.html#a1c24228b0f2f49220133fb8c3566a55c',1,'dsu::size()'],['../db/d5b/structdata__structures_1_1stack__using__queue_1_1_stack.html#ac0ddec9ab8f778dad23ec446d7a77b39',1,'data_structures::stack_using_queue::Stack::size()'],['../dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix.html#ae4e183ec8eab778cb243e4ae0b22a0f1',1,'divide_and_conquer::strassens_multiplication::Matrix::size()'],['../df/d8f/classothers_1_1_cache_1_1_l_f_u_cache.html#adbfb2ef7358423fdf1f49d410f55f195',1,'others::Cache::LFUCache::size()'],['../d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache.html#a1b709333874b4633ee02a3661cd042e1',1,'others::Cache::LRUCache::size()'],['../d8/d28/classrange__queries_1_1per_seg_tree.html#a0fe4e431f3e09c274ecd7d2d58dcb865',1,'range_queries::perSegTree::size()']]], - ['skiplist_108',['SkipList',['../d4/d90/classdata__structures_1_1_skip_list.html#a7ffc3688725b9d1ec6e5bb881a6e2ae4',1,'data_structures::SkipList']]], - ['skipws_109',['skipws',['http://en.cppreference.com/w/cpp/io/manip/skipws.html',0,'std']]], - ['sleep_110',['SLEEP',['../dd/d92/memory__game_8cpp.html#a5bdc30951221eae9c33413ff9eb574f6',1,'memory_game.cpp']]], - ['sleep_5ffor_111',['sleep_for',['http://en.cppreference.com/w/cpp/thread/sleep_for.html',0,'std::this_thread']]], - ['sleep_5funtil_112',['sleep_until',['http://en.cppreference.com/w/cpp/thread/sleep_until.html',0,'std::this_thread']]], - ['slice_113',['slice',['../dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix.html#a1fcb7db9bdeabd874712ec4f00483d17',1,'divide_and_conquer::strassens_multiplication::Matrix']]], - ['smatch_114',['smatch',['http://en.cppreference.com/w/cpp/regex/match_results/match_results.html',0,'std::smatch']]], - ['snextc_115',['snextc',['http://en.cppreference.com/w/cpp/io/basic_streambuf/snextc.html',0,'std::basic_filebuf::snextc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/snextc.html',0,'std::wstringbuf::snextc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/snextc.html',0,'std::stringbuf::snextc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/snextc.html',0,'std::wfilebuf::snextc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/snextc.html',0,'std::wstreambuf::snextc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/snextc.html',0,'std::strstreambuf::snextc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/snextc.html',0,'std::basic_stringbuf::snextc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/snextc.html',0,'std::basic_streambuf::snextc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/snextc.html',0,'std::filebuf::snextc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/snextc.html',0,'std::streambuf::snextc()']]], - ['snprintf_116',['snprintf',['http://en.cppreference.com/w/cpp/io/c/fprintf.html',0,'std']]], - ['solution_117',['Solution',['../da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search.html#a0a26aa9ad3d73707370d9fe83707aca4',1,'machine_learning::aystar_search::AyStarSearch']]], - ['solve_118',['solve',['../d1/d2a/knight__tour_8cpp.html#aaa47356d98676cf5315d978f741e29c9',1,'backtracking::knight_tour']]], - ['solvemaze_119',['solveMaze',['../dc/d5a/rat__maze_8cpp.html#ab99107bfb4c6934cd4691868c66c0aa3',1,'backtracking::rat_maze']]], - ['solvenq_120',['solveNQ',['../d4/d3e/n__queens_8cpp.html#a0dbd7af47d87f0b956609fe9e3288ecb',1,'backtracking::n_queens']]], - ['solvesudoku_121',['solveSudoku',['../d3/d05/sudoku__solver_8cpp.html#ac911c8bca8556206ff64461b2424866b',1,'backtracking::sudoku_solver']]], - ['sort_122',['sort',['http://en.cppreference.com/w/cpp/container/forward_list/sort.html',0,'std::forward_list::sort()'],['http://en.cppreference.com/w/cpp/container/list/sort.html',0,'std::list::sort()'],['../d5/dab/structdata__structures_1_1list__array_1_1list.html#a133635ad53bd89e3947ca02448819180',1,'data_structures::list_array::list::sort()'],['http://en.cppreference.com/w/cpp/algorithm/sort.html',0,'std::sort(T... args)']]], - ['sort_5fheap_123',['sort_heap',['http://en.cppreference.com/w/cpp/algorithm/sort_heap.html',0,'std']]], - ['sortcol_124',['sortcol',['../df/d47/fcfs__scheduling_8cpp.html#a18920aa331faf4476b251c8cdb2c2bec',1,'fcfs_scheduling.cpp']]], - ['sphere_5fsurface_5farea_125',['sphere_surface_area',['../dd/d47/namespacemath.html#ab7f29862d30df351c317eedd60a0c656',1,'math']]], - ['sphere_5fvolume_126',['sphere_volume',['../dd/d47/namespacemath.html#a34d66a77c19ce9b8b3a3d14352b34551',1,'math']]], - ['spiralprint_127',['spiralPrint',['../db/d07/spiral__print_8cpp.html#a850d3f55e1a8d227176cdcc67352c197',1,'spiral_print.cpp']]], - ['spirograph_128',['spirograph',['../da/dd3/namespacespirograph.html#aeca22dbe4563358960e907a40cd3e1ac',1,'spirograph']]], - ['splice_129',['splice',['http://en.cppreference.com/w/cpp/container/list/splice.html',0,'std::list']]], - ['splice_5fafter_130',['splice_after',['http://en.cppreference.com/w/cpp/container/forward_list/splice_after.html',0,'std::forward_list']]], - ['splitnode_131',['SplitNode',['../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a370b625ca9f16bbef2b65e024ef78ea9',1,'data_structures::tree_234::Tree234']]], - ['sprintf_132',['sprintf',['http://en.cppreference.com/w/cpp/io/c/fprintf.html',0,'std']]], - ['sputbackc_133',['sputbackc',['http://en.cppreference.com/w/cpp/io/basic_streambuf/sputbackc.html',0,'std::basic_filebuf::sputbackc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sputbackc.html',0,'std::wstringbuf::sputbackc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sputbackc.html',0,'std::stringbuf::sputbackc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sputbackc.html',0,'std::wfilebuf::sputbackc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sputbackc.html',0,'std::wstreambuf::sputbackc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sputbackc.html',0,'std::strstreambuf::sputbackc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sputbackc.html',0,'std::basic_stringbuf::sputbackc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sputbackc.html',0,'std::basic_streambuf::sputbackc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sputbackc.html',0,'std::filebuf::sputbackc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sputbackc.html',0,'std::streambuf::sputbackc()']]], - ['sputc_134',['sputc',['http://en.cppreference.com/w/cpp/io/basic_streambuf/sputc.html',0,'std::basic_filebuf::sputc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sputc.html',0,'std::wstringbuf::sputc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sputc.html',0,'std::stringbuf::sputc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sputc.html',0,'std::wfilebuf::sputc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sputc.html',0,'std::wstreambuf::sputc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sputc.html',0,'std::strstreambuf::sputc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sputc.html',0,'std::basic_stringbuf::sputc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sputc.html',0,'std::basic_streambuf::sputc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sputc.html',0,'std::filebuf::sputc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sputc.html',0,'std::streambuf::sputc()']]], - ['sputn_135',['sputn',['http://en.cppreference.com/w/cpp/io/basic_streambuf/sputn.html',0,'std::basic_filebuf::sputn()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sputn.html',0,'std::wstringbuf::sputn()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sputn.html',0,'std::stringbuf::sputn()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sputn.html',0,'std::wfilebuf::sputn()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sputn.html',0,'std::wstreambuf::sputn()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sputn.html',0,'std::strstreambuf::sputn()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sputn.html',0,'std::basic_stringbuf::sputn()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sputn.html',0,'std::basic_streambuf::sputn()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sputn.html',0,'std::filebuf::sputn()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sputn.html',0,'std::streambuf::sputn()']]], - ['sqrt_136',['Sqrt',['../da/d24/sqrt__double_8cpp.html#ae662282ad0740d2063ac404ca3bd74fc',1,'sqrt_double.cpp']]], - ['sqrt_137',['sqrt',['http://en.cppreference.com/w/cpp/numeric/math/sqrt.html',0,'std']]], - ['square_138',['square',['../d2/d58/neural__network_8cpp.html#a45d3e30406712ada3d9713ece3c1b153',1,'machine_learning::neural_network::util_functions']]], - ['square_5farea_139',['square_area',['../dd/d47/namespacemath.html#a971ce57e368f2f631cf1f4ff3f864049',1,'math']]], - ['square_5fperimeter_140',['square_perimeter',['../dd/d47/namespacemath.html#a9236348755183644f1225e162d01ab14',1,'math']]], - ['srand_141',['srand',['http://en.cppreference.com/w/cpp/numeric/random/srand.html',0,'std']]], - ['sregex_5fiterator_142',['sregex_iterator',['http://en.cppreference.com/w/cpp/regex/regex_iterator/regex_iterator.html',0,'std::sregex_iterator']]], - ['sregex_5ftoken_5fiterator_143',['sregex_token_iterator',['http://en.cppreference.com/w/cpp/regex/regex_token_iterator/regex_token_iterator.html',0,'std::sregex_token_iterator']]], - ['sscanf_144',['sscanf',['http://en.cppreference.com/w/cpp/io/c/fscanf.html',0,'std']]], - ['ssub_5fmatch_145',['ssub_match',['http://en.cppreference.com/w/cpp/regex/sub_match/sub_match.html',0,'std::ssub_match']]], - ['stable_5fpartition_146',['stable_partition',['http://en.cppreference.com/w/cpp/algorithm/stable_partition.html',0,'std']]], - ['stable_5fsort_147',['stable_sort',['http://en.cppreference.com/w/cpp/algorithm/stable_sort.html',0,'std']]], - ['stack_148',['Stack',['../d2/dc8/classdata__structures_1_1_stack.html#a8cb0602c8a9c1603d0315938177ecc6a',1,'data_structures::Stack']]], - ['stack_149',['stack',['http://en.cppreference.com/w/cpp/container/stack/stack.html',0,'std::stack']]], - ['standard_5fdeviation_150',['standard_deviation',['../da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution.html#a0a10c512e13dd3a052e1c6d7f4d6f0f2',1,'probability::geometric_dist::geometric_distribution']]], - ['standard_5finvsqrt_151',['Standard_InvSqrt',['../d6/db8/inv__sqrt_8cpp.html#aa2703e5cf3fecde8becd9066b9666b97',1,'inv_sqrt.cpp']]], - ['startwith_152',['startwith',['../d3/d26/classdata__structures_1_1trie__using__hashmap_1_1_trie.html#af3aee573fbabd2c1510c0f74f842dd17',1,'data_structures::trie_using_hashmap::Trie']]], - ['state_153',['state',['http://en.cppreference.com/w/cpp/locale/wbuffer_convert/state.html',0,'std::wbuffer_convert::state()'],['http://en.cppreference.com/w/cpp/locale/wstring_convert/state.html',0,'std::wstring_convert::state()'],['http://en.cppreference.com/w/cpp/io/fpos/state.html',0,'std::wstreampos::state()'],['http://en.cppreference.com/w/cpp/io/fpos/state.html',0,'std::u16streampos::state()'],['http://en.cppreference.com/w/cpp/io/fpos/state.html',0,'std::streampos::state()'],['http://en.cppreference.com/w/cpp/io/fpos/state.html',0,'std::fpos::state()'],['http://en.cppreference.com/w/cpp/io/fpos/state.html',0,'std::u32streampos::state()']]], - ['static_5fpointer_5fcast_154',['static_pointer_cast',['http://en.cppreference.com/w/cpp/memory/shared_ptr/pointer_cast.html',0,'std']]], - ['std_155',['std',['../d7/d7c/classstatistics_1_1stats__computer1.html#af57e942d49f4fd70f059f224b4ac07e1',1,'statistics::stats_computer1::std()'],['../d8/dab/classstatistics_1_1stats__computer2.html#acf2e84df4fc386bb3295016ef8fd156e',1,'statistics::stats_computer2::std()']]], - ['stddev_156',['stddev',['http://en.cppreference.com/w/cpp/numeric/random/normal_distribution/params.html',0,'std::normal_distribution']]], - ['step_5fith_157',['step_ith',['../d8/d61/radix__sort2_8cpp.html#a98ead7d43b11505398daf9a894f122f9',1,'sorting::radix_sort']]], - ['stod_158',['stod',['http://en.cppreference.com/w/cpp/string/basic_string/stof.html',0,'std']]], - ['stof_159',['stof',['http://en.cppreference.com/w/cpp/string/basic_string/stof.html',0,'std']]], - ['stoi_160',['stoi',['http://en.cppreference.com/w/cpp/string/basic_string/stol.html',0,'std']]], - ['stol_161',['stol',['http://en.cppreference.com/w/cpp/string/basic_string/stol.html',0,'std']]], - ['stold_162',['stold',['http://en.cppreference.com/w/cpp/string/basic_string/stof.html',0,'std']]], - ['stoll_163',['stoll',['http://en.cppreference.com/w/cpp/string/basic_string/stol.html',0,'std']]], - ['stoogesort_164',['stoogeSort',['../d4/d4f/stooge__sort_8cpp.html#ac23852832437dc68327efe9b1da2d91b',1,'stooge_sort.cpp']]], - ['store_165',['store',['http://en.cppreference.com/w/cpp/atomic/atomic/store.html',0,'std::atomic']]], - ['stoul_166',['stoul',['http://en.cppreference.com/w/cpp/string/basic_string/stoul.html',0,'std']]], - ['stoull_167',['stoull',['http://en.cppreference.com/w/cpp/string/basic_string/stoul.html',0,'std']]], - ['str_168',['str',['http://en.cppreference.com/w/cpp/regex/match_results/str.html',0,'std::match_results::str()'],['http://en.cppreference.com/w/cpp/io/basic_ostringstream/str.html',0,'std::basic_ostringstream::str()'],['http://en.cppreference.com/w/cpp/io/basic_stringbuf/str.html',0,'std::wstringbuf::str()'],['http://en.cppreference.com/w/cpp/regex/match_results/str.html',0,'std::wsmatch::str()'],['http://en.cppreference.com/w/cpp/regex/sub_match/str.html',0,'std::wcsub_match::str()'],['http://en.cppreference.com/w/cpp/io/basic_ostringstream/str.html',0,'std::ostringstream::str()'],['http://en.cppreference.com/w/cpp/io/basic_stringbuf/str.html',0,'std::stringbuf::str()'],['http://en.cppreference.com/w/cpp/regex/match_results/str.html',0,'std::smatch::str()'],['http://en.cppreference.com/w/cpp/io/basic_stringstream/str.html',0,'std::stringstream::str()'],['http://en.cppreference.com/w/cpp/io/strstreambuf/str.html',0,'std::strstreambuf::str()'],['http://en.cppreference.com/w/cpp/regex/match_results/str.html',0,'std::wcmatch::str()'],['http://en.cppreference.com/w/cpp/regex/sub_match/str.html',0,'std::wssub_match::str()'],['http://en.cppreference.com/w/cpp/regex/sub_match/str.html',0,'std::csub_match::str()'],['http://en.cppreference.com/w/cpp/io/basic_stringbuf/str.html',0,'std::basic_stringbuf::str()'],['http://en.cppreference.com/w/cpp/regex/sub_match/str.html',0,'std::ssub_match::str()'],['http://en.cppreference.com/w/cpp/io/strstream/str.html',0,'std::strstream::str()'],['http://en.cppreference.com/w/cpp/io/basic_stringstream/str.html',0,'std::basic_stringstream::str()'],['http://en.cppreference.com/w/cpp/io/basic_ostringstream/str.html',0,'std::wostringstream::str()'],['http://en.cppreference.com/w/cpp/io/istrstream/str.html',0,'std::istrstream::str()'],['http://en.cppreference.com/w/cpp/io/basic_istringstream/str.html',0,'std::basic_istringstream::str()'],['http://en.cppreference.com/w/cpp/regex/match_results/str.html',0,'std::cmatch::str()'],['http://en.cppreference.com/w/cpp/io/basic_istringstream/str.html',0,'std::istringstream::str()'],['http://en.cppreference.com/w/cpp/io/ostrstream/str.html',0,'std::ostrstream::str()'],['http://en.cppreference.com/w/cpp/io/basic_stringstream/str.html',0,'std::wstringstream::str()'],['http://en.cppreference.com/w/cpp/io/basic_istringstream/str.html',0,'std::wistringstream::str()'],['http://en.cppreference.com/w/cpp/regex/sub_match/str.html',0,'std::sub_match::str()']]], - ['strand_5fsort_169',['strand_sort',['../dc/dd9/strand__sort_8cpp.html#a2bea2fe5dd38ed63610fdeaddf5785cd',1,'sorting::strand']]], - ['strassens_5fmultiplication_170',['strassens_multiplication',['../dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix.html#a87c2ed8f19bda2ad21ee4cbed32c394a',1,'divide_and_conquer::strassens_multiplication::Matrix']]], - ['strcat_171',['strcat',['http://en.cppreference.com/w/cpp/string/byte/strcat.html',0,'std']]], - ['strchr_172',['strchr',['http://en.cppreference.com/w/cpp/string/byte/strchr.html',0,'std']]], - ['strcmp_173',['strcmp',['http://en.cppreference.com/w/cpp/string/byte/strcmp.html',0,'std']]], - ['strcoll_174',['strcoll',['http://en.cppreference.com/w/cpp/string/byte/strcoll.html',0,'std']]], - ['strcpy_175',['strcpy',['http://en.cppreference.com/w/cpp/string/byte/strcpy.html',0,'std']]], - ['strcspn_176',['strcspn',['http://en.cppreference.com/w/cpp/string/byte/strcspn.html',0,'std']]], - ['streambuf_177',['streambuf',['http://en.cppreference.com/w/cpp/io/basic_streambuf/basic_streambuf.html',0,'std::streambuf']]], - ['strerror_178',['strerror',['http://en.cppreference.com/w/cpp/string/byte/strerror.html',0,'std']]], - ['strftime_179',['strftime',['http://en.cppreference.com/w/cpp/chrono/c/strftime.html',0,'std']]], - ['string_180',['string',['http://en.cppreference.com/w/cpp/string/basic_string/basic_string.html',0,'std::string']]], - ['stringbuf_181',['stringbuf',['http://en.cppreference.com/w/cpp/io/basic_stringbuf/basic_stringbuf.html',0,'std::stringbuf']]], - ['stringstream_182',['stringstream',['http://en.cppreference.com/w/cpp/io/basic_stringstream/basic_stringstream.html',0,'std::stringstream']]], - ['strlen_183',['strlen',['http://en.cppreference.com/w/cpp/string/byte/strlen.html',0,'std']]], - ['strncat_184',['strncat',['http://en.cppreference.com/w/cpp/string/byte/strncat.html',0,'std']]], - ['strncmp_185',['strncmp',['http://en.cppreference.com/w/cpp/string/byte/strncmp.html',0,'std']]], - ['strncpy_186',['strncpy',['http://en.cppreference.com/w/cpp/string/byte/strncpy.html',0,'std']]], - ['strpbrk_187',['strpbrk',['http://en.cppreference.com/w/cpp/string/byte/strpbrk.html',0,'std']]], - ['strrchr_188',['strrchr',['http://en.cppreference.com/w/cpp/string/byte/strrchr.html',0,'std']]], - ['strspn_189',['strspn',['http://en.cppreference.com/w/cpp/string/byte/strspn.html',0,'std']]], - ['strstr_190',['strstr',['http://en.cppreference.com/w/cpp/string/byte/strstr.html',0,'std']]], - ['strstream_191',['strstream',['http://en.cppreference.com/w/cpp/io/strstream/strstream.html',0,'std::strstream']]], - ['strstreambuf_192',['strstreambuf',['http://en.cppreference.com/w/cpp/io/strstreambuf/strstreambuf.html',0,'std::strstreambuf']]], - ['strtod_193',['strtod',['http://en.cppreference.com/w/cpp/string/byte/strtof.html',0,'std']]], - ['strtof_194',['strtof',['http://en.cppreference.com/w/cpp/string/byte/strtof.html',0,'std']]], - ['strtoimax_195',['strtoimax',['http://en.cppreference.com/w/cpp/string/byte/strtoimax.html',0,'std']]], - ['strtok_196',['strtok',['http://en.cppreference.com/w/cpp/string/byte/strtok.html',0,'std']]], - ['strtol_197',['strtol',['http://en.cppreference.com/w/cpp/string/byte/strtol.html',0,'std']]], - ['strtold_198',['strtold',['http://en.cppreference.com/w/cpp/string/byte/strtof.html',0,'std']]], - ['strtoll_199',['strtoll',['http://en.cppreference.com/w/cpp/string/byte/strtol.html',0,'std']]], - ['strtoul_200',['strtoul',['http://en.cppreference.com/w/cpp/string/byte/strtoul.html',0,'std']]], - ['strtoull_201',['strtoull',['http://en.cppreference.com/w/cpp/string/byte/strtoul.html',0,'std']]], - ['strtoumax_202',['strtoumax',['http://en.cppreference.com/w/cpp/string/byte/strtoimax.html',0,'std']]], - ['struzik_5fsearch_203',['struzik_search',['../d8/d8a/exponential__search_8cpp.html#af421bf4b7b95f20ac86c233adfdb9208',1,'exponential_search.cpp']]], - ['strxfrm_204',['strxfrm',['http://en.cppreference.com/w/cpp/string/byte/strxfrm.html',0,'std']]], - ['student_5ft_5fdistribution_205',['student_t_distribution',['http://en.cppreference.com/w/cpp/numeric/random/student_t_distribution/student_t_distribution.html',0,'std::student_t_distribution']]], - ['sub_5fmatch_206',['sub_match',['http://en.cppreference.com/w/cpp/regex/sub_match/sub_match.html',0,'std::sub_match']]], - ['subarray_5fsum_207',['subarray_sum',['../df/d94/subarray__sum_8cpp.html#af5687bbd9faf927fbd363c71e0baba5e',1,'backtracking::subarray_sum']]], - ['sublistsearch_208',['sublistSearch',['../d5/d45/sublist__search_8cpp.html#a4faee403e2758aaab682ed6622ae218c',1,'search::sublist_search']]], - ['subset_5fsum_5fproblem_209',['subset_sum_problem',['../dc/d67/subset__sum__dynamic_8cpp.html#ac94e6c0dee11278ac0a5491f1b9a4a50',1,'dynamic_programming::subset_sum']]], - ['subset_5fsum_5frecursion_210',['subset_sum_recursion',['../dc/d67/subset__sum__dynamic_8cpp.html#a280fcfb2f6fe49a31c4da572e7032607',1,'dynamic_programming::subset_sum']]], - ['substr_211',['substr',['http://en.cppreference.com/w/cpp/string/basic_string/substr.html',0,'std::string::substr()'],['http://en.cppreference.com/w/cpp/string/basic_string/substr.html',0,'std::basic_string::substr()'],['http://en.cppreference.com/w/cpp/string/basic_string/substr.html',0,'std::wstring::substr()'],['http://en.cppreference.com/w/cpp/string/basic_string/substr.html',0,'std::u16string::substr()'],['http://en.cppreference.com/w/cpp/string/basic_string/substr.html',0,'std::u32string::substr()']]], - ['subtract_5fwith_5fcarry_5fengine_212',['subtract_with_carry_engine',['http://en.cppreference.com/w/cpp/numeric/random/subtract_with_carry_engine/subtract_with_carry_engine.html',0,'std::subtract_with_carry_engine']]], - ['succ_213',['succ',['../de/d9d/classdata__structures_1_1linked__list_1_1link.html#af6bbeb9bfde1683ba917071edeedd5c3',1,'data_structures::linked_list::link']]], - ['suffix_214',['suffix',['http://en.cppreference.com/w/cpp/regex/match_results/suffix.html',0,'std::match_results::suffix()'],['http://en.cppreference.com/w/cpp/regex/match_results/suffix.html',0,'std::wsmatch::suffix()'],['http://en.cppreference.com/w/cpp/regex/match_results/suffix.html',0,'std::smatch::suffix()'],['http://en.cppreference.com/w/cpp/regex/match_results/suffix.html',0,'std::wcmatch::suffix()'],['http://en.cppreference.com/w/cpp/regex/match_results/suffix.html',0,'std::cmatch::suffix()']]], - ['suggestautocomplete_215',['SuggestAutocomplete',['../d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html#a097913c4badec2b60d50a171ecc299fe',1,'operations_on_datastructures::trie_operations::Tnode']]], - ['suggestfreqautocomplete_216',['SuggestFreqAutocomplete',['../d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html#a9e556f52c837190ecf4265b1f05cfe9c',1,'operations_on_datastructures::trie_operations::Tnode']]], - ['sum_217',['sum',['../de/d0d/classrange__queries_1_1fenwick__tree.html#a1fa0559d987fde0044761b17b35f5abd',1,'range_queries::fenwick_tree::sum()'],['../d8/d77/namespacemachine__learning.html#a6f1c98c016ad34ff3d9f39372161bd35',1,'machine_learning::sum()']]], - ['sum_5fof_5fdigits_218',['sum_of_digits',['../d4/d83/sum__of__digits_8cpp.html#a4619c78b6ad985713024f930f31c4395',1,'sum_of_digits.cpp']]], - ['sum_5fof_5fdivisor_219',['sum_of_divisor',['../dd/d47/namespacemath.html#af05567415a9ea36c254b54e3d5a2152a',1,'math']]], - ['sum_5frange_220',['sum_range',['../de/d0d/classrange__queries_1_1fenwick__tree.html#a0914a4b1401a7c427de91c92885724fe',1,'range_queries::fenwick_tree']]], - ['summary_221',['summary',['../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#a61d30113d13304c664057118b92a5931',1,'machine_learning::neural_network::NeuralNetwork']]], - ['sungetc_222',['sungetc',['http://en.cppreference.com/w/cpp/io/basic_streambuf/sungetc.html',0,'std::basic_filebuf::sungetc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sungetc.html',0,'std::wstringbuf::sungetc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sungetc.html',0,'std::stringbuf::sungetc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sungetc.html',0,'std::wfilebuf::sungetc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sungetc.html',0,'std::wstreambuf::sungetc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sungetc.html',0,'std::strstreambuf::sungetc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sungetc.html',0,'std::basic_stringbuf::sungetc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sungetc.html',0,'std::basic_streambuf::sungetc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sungetc.html',0,'std::filebuf::sungetc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sungetc.html',0,'std::streambuf::sungetc()']]], - ['swap_223',['swap',['http://en.cppreference.com/w/cpp/io/basic_ios/swap.html',0,'std::basic_ofstream::swap()'],['http://en.cppreference.com/w/cpp/io/basic_ios/swap.html',0,'std::fstream::swap()'],['http://en.cppreference.com/w/cpp/container/vector/swap.html',0,'std::vector::swap()'],['http://en.cppreference.com/w/cpp/regex/match_results/swap.html',0,'std::match_results::swap()'],['http://en.cppreference.com/w/cpp/container/multiset/swap.html',0,'std::multiset::swap()'],['http://en.cppreference.com/w/cpp/memory/weak_ptr/swap.html',0,'std::weak_ptr::swap()'],['http://en.cppreference.com/w/cpp/string/basic_string/swap.html',0,'std::string::swap()'],['http://en.cppreference.com/w/cpp/io/basic_ios/swap.html',0,'std::wostream::swap()'],['http://en.cppreference.com/w/cpp/container/set/swap.html',0,'std::set::swap()'],['http://en.cppreference.com/w/cpp/thread/unique_lock/swap.html',0,'std::unique_lock::swap()'],['http://en.cppreference.com/w/cpp/io/basic_ios/swap.html',0,'std::basic_ostringstream::swap()'],['http://en.cppreference.com/w/cpp/regex/basic_regex/swap.html',0,'std::regex::swap()'],['http://en.cppreference.com/w/cpp/container/unordered_map/swap.html',0,'std::unordered_map::swap()'],['http://en.cppreference.com/w/cpp/regex/basic_regex/swap.html',0,'std::basic_regex::swap()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/swap.html',0,'std::basic_filebuf::swap()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/swap.html',0,'std::wstringbuf::swap()'],['http://en.cppreference.com/w/cpp/io/basic_ios/swap.html',0,'std::basic_ios::swap()'],['http://en.cppreference.com/w/cpp/regex/match_results/swap.html',0,'std::wsmatch::swap()'],['http://en.cppreference.com/w/cpp/utility/tuple/swap.html',0,'std::tuple::swap()'],['http://en.cppreference.com/w/cpp/memory/shared_ptr/swap.html',0,'std::shared_ptr::swap()'],['http://en.cppreference.com/w/cpp/io/basic_ios/swap.html',0,'std::ostringstream::swap()'],['http://en.cppreference.com/w/cpp/io/basic_ios/swap.html',0,'std::basic_fstream::swap()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/swap.html',0,'std::stringbuf::swap()'],['http://en.cppreference.com/w/cpp/regex/basic_regex/swap.html',0,'std::wregex::swap()'],['http://en.cppreference.com/w/cpp/regex/match_results/swap.html',0,'std::smatch::swap()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/swap.html',0,'std::wfilebuf::swap()'],['http://en.cppreference.com/w/cpp/io/basic_ios/swap.html',0,'std::iostream::swap()'],['http://en.cppreference.com/w/cpp/container/stack/swap.html',0,'std::stack::swap()'],['http://en.cppreference.com/w/cpp/io/basic_ios/swap.html',0,'std::wistream::swap()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/swap.html',0,'std::wstreambuf::swap()'],['http://en.cppreference.com/w/cpp/io/basic_ios/swap.html',0,'std::stringstream::swap()'],['http://en.cppreference.com/w/cpp/container/unordered_multimap/swap.html',0,'std::unordered_multimap::swap()'],['http://en.cppreference.com/w/cpp/memory/unique_ptr/swap.html',0,'std::unique_ptr::swap()'],['http://en.cppreference.com/w/cpp/container/forward_list/swap.html',0,'std::forward_list::swap()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/swap.html',0,'std::strstreambuf::swap()'],['http://en.cppreference.com/w/cpp/io/basic_ios/swap.html',0,'std::ostream::swap()'],['http://en.cppreference.com/w/cpp/thread/shared_lock/swap.html',0,'std::shared_lock::swap()'],['http://en.cppreference.com/w/cpp/regex/match_results/swap.html',0,'std::wcmatch::swap()'],['http://en.cppreference.com/w/cpp/utility/pair/swap.html',0,'std::pair::swap()'],['http://en.cppreference.com/w/cpp/io/basic_ios/swap.html',0,'std::wifstream::swap()'],['http://en.cppreference.com/w/cpp/io/basic_ios/swap.html',0,'std::basic_istream::swap()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/swap.html',0,'std::basic_stringbuf::swap()'],['http://en.cppreference.com/w/cpp/container/deque/swap.html',0,'std::deque::swap()'],['http://en.cppreference.com/w/cpp/thread/promise/swap.html',0,'std::promise::swap()'],['http://en.cppreference.com/w/cpp/io/basic_ios/swap.html',0,'std::strstream::swap()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/swap.html',0,'std::basic_streambuf::swap()'],['http://en.cppreference.com/w/cpp/container/queue/swap.html',0,'std::queue::swap()'],['http://en.cppreference.com/w/cpp/io/basic_ios/swap.html',0,'std::basic_stringstream::swap()'],['http://en.cppreference.com/w/cpp/thread/thread/swap.html',0,'std::thread::swap()'],['http://en.cppreference.com/w/cpp/string/basic_string/swap.html',0,'std::basic_string::swap()'],['http://en.cppreference.com/w/cpp/container/priority_queue/swap.html',0,'std::priority_queue::swap()'],['http://en.cppreference.com/w/cpp/io/basic_ios/swap.html',0,'std::wostringstream::swap()'],['http://en.cppreference.com/w/cpp/string/basic_string/swap.html',0,'std::wstring::swap()'],['http://en.cppreference.com/w/cpp/io/basic_ios/swap.html',0,'std::istrstream::swap()'],['http://en.cppreference.com/w/cpp/container/unordered_multiset/swap.html',0,'std::unordered_multiset::swap()'],['http://en.cppreference.com/w/cpp/io/basic_ios/swap.html',0,'std::basic_ostream::swap()'],['http://en.cppreference.com/w/cpp/utility/functional/function/swap.html',0,'std::function::swap()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/swap.html',0,'std::filebuf::swap()'],['http://en.cppreference.com/w/cpp/string/basic_string/swap.html',0,'std::u16string::swap()'],['http://en.cppreference.com/w/cpp/io/basic_ios/swap.html',0,'std::wiostream::swap()'],['http://en.cppreference.com/w/cpp/string/basic_string/swap.html',0,'std::u32string::swap()'],['http://en.cppreference.com/w/cpp/io/basic_ios/swap.html',0,'std::ofstream::swap()'],['http://en.cppreference.com/w/cpp/io/basic_ios/swap.html',0,'std::basic_istringstream::swap()'],['http://en.cppreference.com/w/cpp/io/basic_ios/swap.html',0,'std::basic_ifstream::swap()'],['http://en.cppreference.com/w/cpp/container/list/swap.html',0,'std::list::swap()'],['http://en.cppreference.com/w/cpp/container/map/swap.html',0,'std::map::swap()'],['http://en.cppreference.com/w/cpp/regex/match_results/swap.html',0,'std::cmatch::swap()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/swap.html',0,'std::streambuf::swap()'],['http://en.cppreference.com/w/cpp/experimental/optional/swap.html',0,'std::experimental::optional::swap()'],['http://en.cppreference.com/w/cpp/io/basic_ios/swap.html',0,'std::istringstream::swap()'],['http://en.cppreference.com/w/cpp/io/basic_ios/swap.html',0,'std::istream::swap()'],['http://en.cppreference.com/w/cpp/io/basic_ios/swap.html',0,'std::ostrstream::swap()'],['http://en.cppreference.com/w/cpp/thread/packaged_task/swap.html',0,'std::packaged_task::swap()'],['http://en.cppreference.com/w/cpp/container/unordered_set/swap.html',0,'std::unordered_set::swap()'],['http://en.cppreference.com/w/cpp/io/basic_ios/swap.html',0,'std::wfstream::swap()'],['http://en.cppreference.com/w/cpp/container/multimap/swap.html',0,'std::multimap::swap()'],['http://en.cppreference.com/w/cpp/io/basic_ios/swap.html',0,'std::basic_iostream::swap()'],['http://en.cppreference.com/w/cpp/io/basic_ios/swap.html',0,'std::wofstream::swap()'],['http://en.cppreference.com/w/cpp/io/basic_ios/swap.html',0,'std::wstringstream::swap()'],['http://en.cppreference.com/w/cpp/io/basic_ios/swap.html',0,'std::wistringstream::swap()'],['http://en.cppreference.com/w/cpp/io/basic_ios/swap.html',0,'std::ifstream::swap()'],['http://en.cppreference.com/w/cpp/container/array/swap.html',0,'std::array::swap()'],['http://en.cppreference.com/w/cpp/algorithm/swap.html',0,'std::swap(T... args)']]], - ['swap_5franges_224',['swap_ranges',['http://en.cppreference.com/w/cpp/algorithm/swap_ranges.html',0,'std']]], - ['swprintf_225',['swprintf',['http://en.cppreference.com/w/cpp/io/c/fwprintf.html',0,'std']]], - ['swscanf_226',['swscanf',['http://en.cppreference.com/w/cpp/io/c/fwscanf.html',0,'std']]], - ['sync_227',['sync',['http://en.cppreference.com/w/cpp/io/basic_istream/sync.html',0,'std::fstream::sync()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubsync.html',0,'std::basic_filebuf::sync()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubsync.html',0,'std::wstringbuf::sync()'],['http://en.cppreference.com/w/cpp/io/basic_istream/sync.html',0,'std::basic_fstream::sync()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubsync.html',0,'std::stringbuf::sync()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubsync.html',0,'std::wfilebuf::sync()'],['http://en.cppreference.com/w/cpp/io/basic_istream/sync.html',0,'std::iostream::sync()'],['http://en.cppreference.com/w/cpp/io/basic_istream/sync.html',0,'std::wistream::sync()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubsync.html',0,'std::wstreambuf::sync()'],['http://en.cppreference.com/w/cpp/io/basic_istream/sync.html',0,'std::stringstream::sync()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubsync.html',0,'std::strstreambuf::sync()'],['http://en.cppreference.com/w/cpp/io/basic_istream/sync.html',0,'std::wifstream::sync()'],['http://en.cppreference.com/w/cpp/io/basic_istream/sync.html',0,'std::basic_istream::sync()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubsync.html',0,'std::basic_stringbuf::sync()'],['http://en.cppreference.com/w/cpp/io/basic_istream/sync.html',0,'std::strstream::sync()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubsync.html',0,'std::basic_streambuf::sync()'],['http://en.cppreference.com/w/cpp/io/basic_istream/sync.html',0,'std::basic_stringstream::sync()'],['http://en.cppreference.com/w/cpp/io/basic_istream/sync.html',0,'std::istrstream::sync()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubsync.html',0,'std::filebuf::sync()'],['http://en.cppreference.com/w/cpp/io/basic_istream/sync.html',0,'std::wiostream::sync()'],['http://en.cppreference.com/w/cpp/io/basic_istream/sync.html',0,'std::basic_istringstream::sync()'],['http://en.cppreference.com/w/cpp/io/basic_istream/sync.html',0,'std::basic_ifstream::sync()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubsync.html',0,'std::streambuf::sync()'],['http://en.cppreference.com/w/cpp/io/basic_istream/sync.html',0,'std::istringstream::sync()'],['http://en.cppreference.com/w/cpp/io/basic_istream/sync.html',0,'std::istream::sync()'],['http://en.cppreference.com/w/cpp/io/basic_istream/sync.html',0,'std::wfstream::sync()'],['http://en.cppreference.com/w/cpp/io/basic_istream/sync.html',0,'std::basic_iostream::sync()'],['http://en.cppreference.com/w/cpp/io/basic_istream/sync.html',0,'std::wstringstream::sync()'],['http://en.cppreference.com/w/cpp/io/basic_istream/sync.html',0,'std::wistringstream::sync()'],['http://en.cppreference.com/w/cpp/io/basic_istream/sync.html',0,'std::ifstream::sync()']]], - ['sync_5fwith_5fstdio_228',['sync_with_stdio',['http://en.cppreference.com/w/cpp/io/ios_base/sync_with_stdio.html',0,'std::basic_ofstream::sync_with_stdio()'],['http://en.cppreference.com/w/cpp/io/ios_base/sync_with_stdio.html',0,'std::fstream::sync_with_stdio()'],['http://en.cppreference.com/w/cpp/io/ios_base/sync_with_stdio.html',0,'std::wostream::sync_with_stdio()'],['http://en.cppreference.com/w/cpp/io/ios_base/sync_with_stdio.html',0,'std::basic_ostringstream::sync_with_stdio()'],['http://en.cppreference.com/w/cpp/io/ios_base/sync_with_stdio.html',0,'std::basic_ios::sync_with_stdio()'],['http://en.cppreference.com/w/cpp/io/ios_base/sync_with_stdio.html',0,'std::ostringstream::sync_with_stdio()'],['http://en.cppreference.com/w/cpp/io/ios_base/sync_with_stdio.html',0,'std::basic_fstream::sync_with_stdio()'],['http://en.cppreference.com/w/cpp/io/ios_base/sync_with_stdio.html',0,'std::iostream::sync_with_stdio()'],['http://en.cppreference.com/w/cpp/io/ios_base/sync_with_stdio.html',0,'std::ios_base::sync_with_stdio()'],['http://en.cppreference.com/w/cpp/io/ios_base/sync_with_stdio.html',0,'std::wistream::sync_with_stdio()'],['http://en.cppreference.com/w/cpp/io/ios_base/sync_with_stdio.html',0,'std::stringstream::sync_with_stdio()'],['http://en.cppreference.com/w/cpp/io/ios_base/sync_with_stdio.html',0,'std::ostream::sync_with_stdio()'],['http://en.cppreference.com/w/cpp/io/ios_base/sync_with_stdio.html',0,'std::wifstream::sync_with_stdio()'],['http://en.cppreference.com/w/cpp/io/ios_base/sync_with_stdio.html',0,'std::basic_istream::sync_with_stdio()'],['http://en.cppreference.com/w/cpp/io/ios_base/sync_with_stdio.html',0,'std::strstream::sync_with_stdio()'],['http://en.cppreference.com/w/cpp/io/ios_base/sync_with_stdio.html',0,'std::basic_stringstream::sync_with_stdio()'],['http://en.cppreference.com/w/cpp/io/ios_base/sync_with_stdio.html',0,'std::wostringstream::sync_with_stdio()'],['http://en.cppreference.com/w/cpp/io/ios_base/sync_with_stdio.html',0,'std::istrstream::sync_with_stdio()'],['http://en.cppreference.com/w/cpp/io/ios_base/sync_with_stdio.html',0,'std::basic_ostream::sync_with_stdio()'],['http://en.cppreference.com/w/cpp/io/ios_base/sync_with_stdio.html',0,'std::wiostream::sync_with_stdio()'],['http://en.cppreference.com/w/cpp/io/ios_base/sync_with_stdio.html',0,'std::ofstream::sync_with_stdio()'],['http://en.cppreference.com/w/cpp/io/ios_base/sync_with_stdio.html',0,'std::basic_istringstream::sync_with_stdio()'],['http://en.cppreference.com/w/cpp/io/ios_base/sync_with_stdio.html',0,'std::basic_ifstream::sync_with_stdio()'],['http://en.cppreference.com/w/cpp/io/ios_base/sync_with_stdio.html',0,'std::istringstream::sync_with_stdio()'],['http://en.cppreference.com/w/cpp/io/ios_base/sync_with_stdio.html',0,'std::istream::sync_with_stdio()'],['http://en.cppreference.com/w/cpp/io/ios_base/sync_with_stdio.html',0,'std::ostrstream::sync_with_stdio()'],['http://en.cppreference.com/w/cpp/io/ios_base/sync_with_stdio.html',0,'std::wfstream::sync_with_stdio()'],['http://en.cppreference.com/w/cpp/io/ios_base/sync_with_stdio.html',0,'std::basic_iostream::sync_with_stdio()'],['http://en.cppreference.com/w/cpp/io/ios_base/sync_with_stdio.html',0,'std::wofstream::sync_with_stdio()'],['http://en.cppreference.com/w/cpp/io/ios_base/sync_with_stdio.html',0,'std::wstringstream::sync_with_stdio()'],['http://en.cppreference.com/w/cpp/io/ios_base/sync_with_stdio.html',0,'std::wistringstream::sync_with_stdio()'],['http://en.cppreference.com/w/cpp/io/ios_base/sync_with_stdio.html',0,'std::ifstream::sync_with_stdio()']]], - ['system_229',['system',['http://en.cppreference.com/w/cpp/utility/program/system.html',0,'std']]], - ['system_5fcategory_230',['system_category',['http://en.cppreference.com/w/cpp/error/system_category.html',0,'std']]], - ['system_5ferror_231',['system_error',['http://en.cppreference.com/w/cpp/error/system_error/system_error.html',0,'std::system_error']]] + ['saddleback_0',['saddleback',['../d3/d22/saddleback__search_8cpp.html#ad1e0ca34797d88490747c08eca70a2e6',1,'search::saddleback']]], + ['safe_5fsubstr_1',['safe_substr',['../da/dd3/karatsuba__algorithm__for__fast__multiplication_8cpp.html#aad9e3edfe156b59fc06a5585403fe0d6',1,'divide_and_conquer::karatsuba_algorithm']]], + ['sample_5ftest_2',['sample_test',['../de/d72/geometric__dist_8cpp.html#a70fd1cc5c3a2813f28683dc75dcd65b6',1,'geometric_dist.cpp']]], + ['save_5f2d_5fdata_3',['save_2d_data',['../d9/d66/group__machine__learning.html#gabc90175770bf0d5853c466e14993a08c',1,'kohonen_som_topology.cpp']]], + ['save_5fexact_5fsolution_4',['save_exact_solution',['../db/dd3/ode__forward__euler_8cpp.html#aa13517b8e5de1b75592052db7f7e237f',1,'save_exact_solution(const double &X0, const double &X_MAX, const double &step_size, const std::valarray< double > &Y0): ode_forward_euler.cpp'],['../d6/dd3/ode__midpoint__euler_8cpp.html#aa13517b8e5de1b75592052db7f7e237f',1,'save_exact_solution(const double &X0, const double &X_MAX, const double &step_size, const std::valarray< double > &Y0): ode_midpoint_euler.cpp'],['../d3/d06/ode__semi__implicit__euler_8cpp.html#aa13517b8e5de1b75592052db7f7e237f',1,'save_exact_solution(const double &X0, const double &X_MAX, const double &step_size, const std::valarray< double > &Y0): ode_semi_implicit_euler.cpp']]], + ['save_5fmodel_5',['save_model',['../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#a4f14e473bb0722c6490b9dc8da5982aa',1,'machine_learning::neural_network::NeuralNetwork']]], + ['save_5fnd_5fdata_6',['save_nd_data',['../d9/d66/group__machine__learning.html#gae0208548f8b393528e5db01717e88e67',1,'kohonen_som_trace.cpp']]], + ['save_5fu_5fmatrix_7',['save_u_matrix',['../d8/d77/namespacemachine__learning.html#aa72a53c88203fde278f1fe6c3afe5b07',1,'machine_learning']]], + ['scheduleforfcfs_8',['scheduleForFcfs',['../dd/dca/class_f_c_f_s.html#aa25dbe30ba9930b5a7c1a6d11758bd91',1,'FCFS']]], + ['scs_9',['scs',['../d7/d65/shortest__common__supersequence_8cpp.html#ad2ee8d7e67da9f6eb85146b08dad95e6',1,'dynamic_programming::shortest_common_supersequence']]], + ['search_10',['search',['../d1/def/classdata__structures_1_1linked__list_1_1list.html#ad3423f7518671351340932db3c24959a',1,'data_structures::linked_list::list::search()'],['../dd/d2f/class_trie.html#a411e77126930a0942dd7b65e96b15206',1,'Trie::search()'],['../d0/d3e/classdata__structures_1_1trie.html#a961eb5d576d2420f2036009154397c63',1,'data_structures::trie::search(const std::shared_ptr< trie > &root, const std::string &str, int index)'],['../d0/d3e/classdata__structures_1_1trie.html#a499f87fd833203ef9492b4870aa6d42d',1,'data_structures::trie::search(const std::string &str, int index)'],['../d3/d26/classdata__structures_1_1trie__using__hashmap_1_1_trie.html#ad71eb24207c28b546631802dba97310f',1,'data_structures::trie_using_hashmap::Trie::search()'],['../d0/dbc/namespacestrings_1_1boyer__moore.html#a15703b553faed0d28202c10808cf9738',1,'strings::boyer_moore::search()']]], + ['searchelement_11',['searchElement',['../d4/d90/classdata__structures_1_1_skip_list.html#af2f3d4e15b1f47afac849c2e08a730f4',1,'data_structures::SkipList']]], + ['searchfreqsuggestions_12',['SearchFreqSuggestions',['../d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html#a7c5ab271d8042540f64ef16d259d1503',1,'operations_on_datastructures::trie_operations::Tnode']]], + ['searchingprober_13',['searchingProber',['../d0/d65/namespacedouble__hashing.html#a29f543e2626bad58907661e1e45028a6',1,'double_hashing::searchingProber()'],['../d8/d89/namespacelinear__probing.html#a942fc8407b8001890ea26830cdcd9d77',1,'linear_probing::searchingProber()'],['../d4/dd2/namespacequadratic__probing.html#aeb6bca8db4768226f8ea8291ea4f83f6',1,'quadratic_probing::searchingProber()']]], + ['searchpresence_14',['SearchPresence',['../d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html#a4a624fcdf3c3beb2025d69f2cfda8023',1,'operations_on_datastructures::trie_operations::Tnode']]], + ['searchsuggestions_15',['SearchSuggestions',['../d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html#a18b70172ca4fb2811dbfb9a86e48b34c',1,'operations_on_datastructures::trie_operations::Tnode']]], + ['selectionsortrecursive_16',['selectionSortRecursive',['../d4/d9f/selection__sort__recursive_8cpp.html#ab6f7b33a070e376e1f4374e534435e89',1,'sorting::selection_sort_recursive']]], + ['selectiontop_5f3_17',['SelectionTop_3',['../d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html#aacafb8c9f3ebac7ac6c01d9645bb67b6',1,'operations_on_datastructures::trie_operations::Tnode']]], + ['semi_5fimplicit_5feuler_18',['semi_implicit_euler',['../d6/d60/group__ode.html#ga3874d294ab00fe9ce8731c5b7991a089',1,'ode_semi_implicit_euler.cpp']]], + ['semi_5fimplicit_5feuler_5fstep_19',['semi_implicit_euler_step',['../d6/d60/group__ode.html#ga827bf009831ddc477c5fa8891d5cb35f',1,'ode_semi_implicit_euler.cpp']]], + ['set_5fnode_5fval_20',['set_node_val',['../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html#a04cd96efaba147b19d3afc769b90ff70',1,'range_queries::heavy_light_decomposition::Tree']]], + ['set_5fsret_5finit_21',['set_sret_init',['../d9/d35/classrange__queries_1_1heavy__light__decomposition_1_1_s_g.html#ad3b942be27a1b0fe3cff6cb6edf01294',1,'range_queries::heavy_light_decomposition::SG']]], + ['setchild_22',['SetChild',['../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#ab4e5f7b7b260bb81d9441652cc124c74',1,'data_structures::tree_234::Node']]], + ['setcount_23',['SetCount',['../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#af564fd4b0992fff69f90de201542d3d1',1,'data_structures::tree_234::Node']]], + ['setitem_24',['SetItem',['../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#aaa89a3016b5dd1be3552321c34343cbc',1,'data_structures::tree_234::Node']]], + ['setkthbit_25',['setKthBit',['../d5/db5/set__kth__bit_8cpp.html#ad4d0ffd9331242c42a28834ee19f5fd9',1,'bit_manipulation::set_kth_bit']]], + ['sg_26',['SG',['../d9/d35/classrange__queries_1_1heavy__light__decomposition_1_1_s_g.html#afba5c1225ba04c0025c7786c09ff28f1',1,'range_queries::heavy_light_decomposition::SG']]], + ['sgn_27',['sgn',['../d7/d6a/bisection__method_8cpp.html#a1ab31b90bc584c635ec159468ceed9b2',1,'bisection_method.cpp']]], + ['sha256_28',['sha256',['../d4/d08/sha256_8cpp.html#a55475649a2bb7aae15de0716a217f43a',1,'hashing::sha256']]], + ['shell_5fsort_29',['shell_sort',['../d5/d91/namespacesorting.html#a5669396c6a6b1e14b97589b6e37980aa',1,'sorting::shell_sort(T *arr, size_t LEN)'],['../d5/d91/namespacesorting.html#a4d76603c54d3dc56146e92d10a043924',1,'sorting::shell_sort(T(&arr)[N])'],['../d5/d91/namespacesorting.html#af2c5b92cbfe73f63f6074c61b0a45331',1,'sorting::shell_sort(std::vector< T > *arr)']]], + ['shift_5fleft_30',['shift_left',['../da/d6d/namespaceoperations__on__datastructures.html#afce39cf843989a39811a49ebe29dd6d8',1,'operations_on_datastructures']]], + ['shift_5fright_31',['shift_right',['../da/d6d/namespaceoperations__on__datastructures.html#a1bfb8711f49e591eb168ccaa3df6fb86',1,'operations_on_datastructures']]], + ['shortest_5fpath_5fdistance_32',['Shortest_Path_Distance',['../d7/d07/bidirectional__dijkstra_8cpp.html#a22f1b7277e1dd4190f25014b48487ce6',1,'graph::bidirectional_dijkstra']]], + ['show_33',['show',['../d5/dab/structdata__structures_1_1list__array_1_1list.html#a0b7acf65026df1e9dd13eebf309dda5e',1,'data_structures::list_array::list::show()'],['../d2/dc8/classdata__structures_1_1_stack.html#abb86ed67d9d97112897a09cfb10ff586',1,'data_structures::Stack::show()'],['../db/d3c/tower__of__hanoi_8cpp.html#a746d9a3984bba88fd6dd91978f6931ed',1,'show(): tower_of_hanoi.cpp'],['../d2/d26/count__inversions_8cpp.html#a851ca6a0391d14fb49a97d55e4377497',1,'sorting::inversion::show()'],['../d5/d4c/group__sorting.html#ga0a9a57a1f1bbba3d4822531d002b7e07',1,'show(): merge_sort.cpp'],['../d1/d21/quick__sort_8cpp.html#aeccefcf6fcca62c54939c5ec9a93109b',1,'sorting::quick_sort::show()']]], + ['show_5farray_34',['show_array',['../d5/ddb/bogo__sort_8cpp.html#ae8adaeff66471f9ed84f2e673b38a859',1,'bogo_sort.cpp']]], + ['show_5fdata_35',['show_data',['../d4/d7a/shell__sort2_8cpp.html#a951127aea9d7e1e53ea9ae0868633246',1,'show_data(T *arr, size_t LEN): shell_sort2.cpp'],['../d4/d7a/shell__sort2_8cpp.html#a63aaff7cabfa3da2da8b9477b5fad9d6',1,'show_data(T(&arr)[N]): shell_sort2.cpp']]], + ['show_5fpascal_36',['show_pascal',['../dc/d1a/pascal__triangle_8cpp.html#ad7a31d9cb2818d21b1ba12aead7f4c5c',1,'pascal_triangle.cpp']]], + ['showarray_37',['showArray',['../d1/daa/random__pivot__quick__sort_8cpp.html#ac3281dc34a9cfd7beb332419b8a0aa10',1,'sorting::random_pivot_quick_sort']]], + ['shuffle_38',['shuffle',['../d5/d91/namespacesorting.html#a7bfe11bd4703eacd1dab93f25ec639c5',1,'sorting']]], + ['sieve_39',['Sieve',['../d4/d9c/primes__up__to__billion_8cpp.html#a031cada84819ed6426f58e4f7e81261c',1,'primes_up_to_billion.cpp']]], + ['sieve_40',['sieve',['../dd/d47/namespacemath.html#a91366864111e1fac29722ca45e02ea8f',1,'math::sieve()'],['../d8/ddf/sieve__of__eratosthenes_8cpp.html#a22be949d160b26361f7e323310f7fa0c',1,'math::sieve_of_eratosthenes::sieve()']]], + ['sieveoferatosthenes_41',['SieveOfEratosthenes',['../db/d0d/prime__factorization_8cpp.html#affe577b9bce8f604f5e2f861c63c7099',1,'prime_factorization.cpp']]], + ['sig2hex_42',['sig2hex',['../d5/d96/md5_8cpp.html#aaee69c6136a841043f956de32116e348',1,'hashing::md5::sig2hex()'],['../d8/d7a/sha1_8cpp.html#aada0803ef851d831b7a290a924e3c228',1,'hashing::sha1::sig2hex()']]], + ['sigmoid_43',['sigmoid',['../d2/d58/neural__network_8cpp.html#a23aa9d32bcbcd65cfc85f0a41e2afadc',1,'machine_learning::neural_network::activations']]], + ['single_5fpredict_44',['single_predict',['../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#a3b9eac1824d365dce715fb17c33cb96f',1,'machine_learning::neural_network::NeuralNetwork']]], + ['size_45',['size',['../d9/dde/classbinary__search__tree.html#a564fe43e7e8f7ecb6f10667a70fbc6f3',1,'binary_search_tree::size()'],['../d9/dae/classdata__structures_1_1_bitset.html#a2f1f44d6a12b0de4aaf242872b1c7b54',1,'data_structures::Bitset::size()'],['../dd/d1f/classdsu.html#a1c24228b0f2f49220133fb8c3566a55c',1,'dsu::size()'],['../db/d5b/structdata__structures_1_1stack__using__queue_1_1_stack.html#ac0ddec9ab8f778dad23ec446d7a77b39',1,'data_structures::stack_using_queue::Stack::size()'],['../dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix.html#ae4e183ec8eab778cb243e4ae0b22a0f1',1,'divide_and_conquer::strassens_multiplication::Matrix::size()'],['../df/d8f/classothers_1_1_cache_1_1_l_f_u_cache.html#adbfb2ef7358423fdf1f49d410f55f195',1,'others::Cache::LFUCache::size()'],['../d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache.html#a1b709333874b4633ee02a3661cd042e1',1,'others::Cache::LRUCache::size()'],['../d8/d28/classrange__queries_1_1per_seg_tree.html#a0fe4e431f3e09c274ecd7d2d58dcb865',1,'range_queries::perSegTree::size()']]], + ['skiplist_46',['SkipList',['../d4/d90/classdata__structures_1_1_skip_list.html#a7ffc3688725b9d1ec6e5bb881a6e2ae4',1,'data_structures::SkipList']]], + ['sleep_47',['SLEEP',['../dd/d92/memory__game_8cpp.html#a5bdc30951221eae9c33413ff9eb574f6',1,'memory_game.cpp']]], + ['slice_48',['slice',['../dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix.html#a1fcb7db9bdeabd874712ec4f00483d17',1,'divide_and_conquer::strassens_multiplication::Matrix']]], + ['solution_49',['Solution',['../da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search.html#a0a26aa9ad3d73707370d9fe83707aca4',1,'machine_learning::aystar_search::AyStarSearch']]], + ['solve_50',['solve',['../d1/d2a/knight__tour_8cpp.html#aaa47356d98676cf5315d978f741e29c9',1,'backtracking::knight_tour']]], + ['solvemaze_51',['solveMaze',['../dc/d5a/rat__maze_8cpp.html#ab99107bfb4c6934cd4691868c66c0aa3',1,'backtracking::rat_maze']]], + ['solvenq_52',['solveNQ',['../d4/d3e/n__queens_8cpp.html#a0dbd7af47d87f0b956609fe9e3288ecb',1,'backtracking::n_queens']]], + ['solvesudoku_53',['solveSudoku',['../d3/d05/sudoku__solver_8cpp.html#ac911c8bca8556206ff64461b2424866b',1,'backtracking::sudoku_solver']]], + ['sort_54',['sort',['../d5/dab/structdata__structures_1_1list__array_1_1list.html#a133635ad53bd89e3947ca02448819180',1,'data_structures::list_array::list']]], + ['sortcol_55',['sortcol',['../df/d47/fcfs__scheduling_8cpp.html#a18920aa331faf4476b251c8cdb2c2bec',1,'fcfs_scheduling.cpp']]], + ['sphere_5fsurface_5farea_56',['sphere_surface_area',['../dd/d47/namespacemath.html#ab7f29862d30df351c317eedd60a0c656',1,'math']]], + ['sphere_5fvolume_57',['sphere_volume',['../dd/d47/namespacemath.html#a34d66a77c19ce9b8b3a3d14352b34551',1,'math']]], + ['spiralprint_58',['spiralPrint',['../db/d07/spiral__print_8cpp.html#a850d3f55e1a8d227176cdcc67352c197',1,'spiral_print.cpp']]], + ['spirograph_59',['spirograph',['../da/dd3/namespacespirograph.html#aeca22dbe4563358960e907a40cd3e1ac',1,'spirograph']]], + ['splitnode_60',['SplitNode',['../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a370b625ca9f16bbef2b65e024ef78ea9',1,'data_structures::tree_234::Tree234']]], + ['sqrt_61',['Sqrt',['../da/d24/sqrt__double_8cpp.html#ae662282ad0740d2063ac404ca3bd74fc',1,'sqrt_double.cpp']]], + ['square_62',['square',['../d2/d58/neural__network_8cpp.html#a45d3e30406712ada3d9713ece3c1b153',1,'machine_learning::neural_network::util_functions']]], + ['square_5farea_63',['square_area',['../dd/d47/namespacemath.html#a971ce57e368f2f631cf1f4ff3f864049',1,'math']]], + ['square_5fperimeter_64',['square_perimeter',['../dd/d47/namespacemath.html#a9236348755183644f1225e162d01ab14',1,'math']]], + ['stack_65',['Stack',['../d2/dc8/classdata__structures_1_1_stack.html#a8cb0602c8a9c1603d0315938177ecc6a',1,'data_structures::Stack']]], + ['standard_5fdeviation_66',['standard_deviation',['../da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution.html#a0a10c512e13dd3a052e1c6d7f4d6f0f2',1,'probability::geometric_dist::geometric_distribution']]], + ['standard_5finvsqrt_67',['Standard_InvSqrt',['../d6/db8/inv__sqrt_8cpp.html#aa2703e5cf3fecde8becd9066b9666b97',1,'inv_sqrt.cpp']]], + ['startwith_68',['startwith',['../d3/d26/classdata__structures_1_1trie__using__hashmap_1_1_trie.html#af3aee573fbabd2c1510c0f74f842dd17',1,'data_structures::trie_using_hashmap::Trie']]], + ['std_69',['std',['../d7/d7c/classstatistics_1_1stats__computer1.html#af57e942d49f4fd70f059f224b4ac07e1',1,'statistics::stats_computer1::std()'],['../d8/dab/classstatistics_1_1stats__computer2.html#acf2e84df4fc386bb3295016ef8fd156e',1,'statistics::stats_computer2::std()']]], + ['step_5fith_70',['step_ith',['../d8/d61/radix__sort2_8cpp.html#a98ead7d43b11505398daf9a894f122f9',1,'sorting::radix_sort']]], + ['stoogesort_71',['stoogeSort',['../d4/d4f/stooge__sort_8cpp.html#ac23852832437dc68327efe9b1da2d91b',1,'stooge_sort.cpp']]], + ['strand_5fsort_72',['strand_sort',['../dc/dd9/strand__sort_8cpp.html#a2bea2fe5dd38ed63610fdeaddf5785cd',1,'sorting::strand']]], + ['strassens_5fmultiplication_73',['strassens_multiplication',['../dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix.html#a87c2ed8f19bda2ad21ee4cbed32c394a',1,'divide_and_conquer::strassens_multiplication::Matrix']]], + ['struzik_5fsearch_74',['struzik_search',['../d8/d8a/exponential__search_8cpp.html#af421bf4b7b95f20ac86c233adfdb9208',1,'exponential_search.cpp']]], + ['subarray_5fsum_75',['subarray_sum',['../df/d94/subarray__sum_8cpp.html#af5687bbd9faf927fbd363c71e0baba5e',1,'backtracking::subarray_sum']]], + ['sublistsearch_76',['sublistSearch',['../d5/d45/sublist__search_8cpp.html#a4faee403e2758aaab682ed6622ae218c',1,'search::sublist_search']]], + ['subset_5fsum_5fproblem_77',['subset_sum_problem',['../dc/d67/subset__sum__dynamic_8cpp.html#ac94e6c0dee11278ac0a5491f1b9a4a50',1,'dynamic_programming::subset_sum']]], + ['subset_5fsum_5frecursion_78',['subset_sum_recursion',['../dc/d67/subset__sum__dynamic_8cpp.html#a280fcfb2f6fe49a31c4da572e7032607',1,'dynamic_programming::subset_sum']]], + ['succ_79',['succ',['../de/d9d/classdata__structures_1_1linked__list_1_1link.html#af6bbeb9bfde1683ba917071edeedd5c3',1,'data_structures::linked_list::link']]], + ['suggestautocomplete_80',['SuggestAutocomplete',['../d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html#a097913c4badec2b60d50a171ecc299fe',1,'operations_on_datastructures::trie_operations::Tnode']]], + ['suggestfreqautocomplete_81',['SuggestFreqAutocomplete',['../d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html#a9e556f52c837190ecf4265b1f05cfe9c',1,'operations_on_datastructures::trie_operations::Tnode']]], + ['sum_82',['sum',['../de/d0d/classrange__queries_1_1fenwick__tree.html#a1fa0559d987fde0044761b17b35f5abd',1,'range_queries::fenwick_tree::sum()'],['../d8/d77/namespacemachine__learning.html#a6f1c98c016ad34ff3d9f39372161bd35',1,'machine_learning::sum()']]], + ['sum_5fof_5fdigits_83',['sum_of_digits',['../d4/d83/sum__of__digits_8cpp.html#a4619c78b6ad985713024f930f31c4395',1,'sum_of_digits.cpp']]], + ['sum_5fof_5fdivisor_84',['sum_of_divisor',['../dd/d47/namespacemath.html#af05567415a9ea36c254b54e3d5a2152a',1,'math']]], + ['sum_5frange_85',['sum_range',['../de/d0d/classrange__queries_1_1fenwick__tree.html#a0914a4b1401a7c427de91c92885724fe',1,'range_queries::fenwick_tree']]], + ['summary_86',['summary',['../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#a61d30113d13304c664057118b92a5931',1,'machine_learning::neural_network::NeuralNetwork']]] ]; diff --git a/search/functions_14.js b/search/functions_14.js index 91da182f1..afff62521 100644 --- a/search/functions_14.js +++ b/search/functions_14.js @@ -1,129 +1,78 @@ var searchData= [ - ['t_0',['t',['http://en.cppreference.com/w/cpp/numeric/random/binomial_distribution/params.html',0,'std::binomial_distribution']]], - ['tan_1',['tan',['http://en.cppreference.com/w/cpp/numeric/math/tan.html',0,'std']]], - ['tanh_2',['tanh',['http://en.cppreference.com/w/cpp/numeric/math/tanh.html',0,'std::tanh()'],['../d2/d58/neural__network_8cpp.html#a371aa7dd5d5add0143d1756bb0a1b32f',1,'machine_learning::neural_network::activations::tanh()']]], - ['target_3',['target',['http://en.cppreference.com/w/cpp/utility/functional/function/target.html',0,'std::function']]], - ['target_5ftype_4',['target_type',['http://en.cppreference.com/w/cpp/utility/functional/function/target_type.html',0,'std::function']]], - ['tellg_5',['tellg',['http://en.cppreference.com/w/cpp/io/basic_istream/tellg.html',0,'std::fstream::tellg()'],['http://en.cppreference.com/w/cpp/io/basic_istream/tellg.html',0,'std::basic_fstream::tellg()'],['http://en.cppreference.com/w/cpp/io/basic_istream/tellg.html',0,'std::iostream::tellg()'],['http://en.cppreference.com/w/cpp/io/basic_istream/tellg.html',0,'std::wistream::tellg()'],['http://en.cppreference.com/w/cpp/io/basic_istream/tellg.html',0,'std::stringstream::tellg()'],['http://en.cppreference.com/w/cpp/io/basic_istream/tellg.html',0,'std::wifstream::tellg()'],['http://en.cppreference.com/w/cpp/io/basic_istream/tellg.html',0,'std::basic_istream::tellg()'],['http://en.cppreference.com/w/cpp/io/basic_istream/tellg.html',0,'std::strstream::tellg()'],['http://en.cppreference.com/w/cpp/io/basic_istream/tellg.html',0,'std::basic_stringstream::tellg()'],['http://en.cppreference.com/w/cpp/io/basic_istream/tellg.html',0,'std::istrstream::tellg()'],['http://en.cppreference.com/w/cpp/io/basic_istream/tellg.html',0,'std::wiostream::tellg()'],['http://en.cppreference.com/w/cpp/io/basic_istream/tellg.html',0,'std::basic_istringstream::tellg()'],['http://en.cppreference.com/w/cpp/io/basic_istream/tellg.html',0,'std::basic_ifstream::tellg()'],['http://en.cppreference.com/w/cpp/io/basic_istream/tellg.html',0,'std::istringstream::tellg()'],['http://en.cppreference.com/w/cpp/io/basic_istream/tellg.html',0,'std::istream::tellg()'],['http://en.cppreference.com/w/cpp/io/basic_istream/tellg.html',0,'std::wfstream::tellg()'],['http://en.cppreference.com/w/cpp/io/basic_istream/tellg.html',0,'std::basic_iostream::tellg()'],['http://en.cppreference.com/w/cpp/io/basic_istream/tellg.html',0,'std::wstringstream::tellg()'],['http://en.cppreference.com/w/cpp/io/basic_istream/tellg.html',0,'std::wistringstream::tellg()'],['http://en.cppreference.com/w/cpp/io/basic_istream/tellg.html',0,'std::ifstream::tellg()']]], - ['tellp_6',['tellp',['http://en.cppreference.com/w/cpp/io/basic_ostream/tellp.html',0,'std::basic_ofstream::tellp()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/tellp.html',0,'std::fstream::tellp()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/tellp.html',0,'std::wostream::tellp()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/tellp.html',0,'std::basic_ostringstream::tellp()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/tellp.html',0,'std::ostringstream::tellp()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/tellp.html',0,'std::basic_fstream::tellp()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/tellp.html',0,'std::iostream::tellp()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/tellp.html',0,'std::stringstream::tellp()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/tellp.html',0,'std::ostream::tellp()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/tellp.html',0,'std::strstream::tellp()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/tellp.html',0,'std::basic_stringstream::tellp()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/tellp.html',0,'std::wostringstream::tellp()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/tellp.html',0,'std::basic_ostream::tellp()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/tellp.html',0,'std::wiostream::tellp()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/tellp.html',0,'std::ofstream::tellp()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/tellp.html',0,'std::ostrstream::tellp()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/tellp.html',0,'std::wfstream::tellp()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/tellp.html',0,'std::basic_iostream::tellp()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/tellp.html',0,'std::wofstream::tellp()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/tellp.html',0,'std::wstringstream::tellp()']]], - ['terminate_7',['terminate',['http://en.cppreference.com/w/cpp/error/terminate.html',0,'std']]], - ['ternary_5fsearch_8',['ternary_search',['../dc/dfe/ternary__search_8cpp.html#aef655a27eb82efa299bf9d0becf6e9c8',1,'ternary_search.cpp']]], - ['test_9',['test',['http://en.cppreference.com/w/cpp/utility/bitset/test.html',0,'std::bitset::test()'],['../db/d82/classlarge__number.html#a959c5c1a982949bbf98e1ea0f9afe6a9',1,'large_number::test()'],['../dd/d1e/generate__parentheses_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): generate_parentheses.cpp'],['../dc/d5a/rat__maze_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): rat_maze.cpp'],['../df/d94/subarray__sum_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): subarray_sum.cpp'],['../d2/d5a/subset__sum_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): subset_sum.cpp'],['../dc/d14/wildcard__matching_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): wildcard_matching.cpp'],['../d7/d56/count__bits__flip_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): count_bits_flip.cpp'],['../da/d50/count__of__trailing__ciphers__in__factorial__n_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): count_of_trailing_ciphers_in_factorial_n.cpp'],['../d6/d38/find__non__repeating__number_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): find_non_repeating_number.cpp'],['../d4/d48/hamming__distance_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): hamming_distance.cpp'],['../d5/d1e/next__higher__number__with__same__number__of__set__bits_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): next_higher_number_with_same_number_of_set_bits.cpp'],['../dc/d6d/power__of__2_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): power_of_2.cpp'],['../d5/db5/set__kth__bit_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): set_kth_bit.cpp'],['../d4/d8f/travelling__salesman__using__bit__manipulation_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): travelling_salesman_using_bit_manipulation.cpp'],['../de/db6/a1z26__cipher_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): a1z26_cipher.cpp'],['../dc/dfb/atbash__cipher_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): atbash_cipher.cpp'],['../d6/d2c/caesar__cipher_8cpp.html#ae1a3968e7947464bee7714f6d43b7002',1,'test(): caesar_cipher.cpp'],['../df/d2c/elliptic__curve__key__exchange_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): elliptic_curve_key_exchange.cpp'],['../d8/d76/morse__code_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): morse_code.cpp'],['../dd/d12/vigenere__cipher_8cpp.html#ae1a3968e7947464bee7714f6d43b7002',1,'test(): vigenere_cipher.cpp'],['../d3/d4c/xor__cipher_8cpp.html#ae1a3968e7947464bee7714f6d43b7002',1,'test(): xor_cipher.cpp'],['../df/d47/fcfs__scheduling_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): fcfs_scheduling.cpp'],['../d7/d00/list__array_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): list_array.cpp'],['../d6/d05/reverse__a__linked__list_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): reverse_a_linked_list.cpp'],['../de/dd1/segment__tree_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): segment_tree.cpp'],['../d8/dab/sparse__table_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): sparse_table.cpp'],['../d0/dd2/treap_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): treap.cpp'],['../d7/d83/trie__tree_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): trie_tree.cpp'],['../d5/d8a/trie__using__hashmap_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): trie_using_hashmap.cpp'],['../da/dd3/karatsuba__algorithm__for__fast__multiplication_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): karatsuba_algorithm_for_fast_multiplication.cpp'],['../db/d16/0__1__knapsack_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): 0_1_knapsack.cpp'],['../d7/d73/abbreviation_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): abbreviation.cpp'],['../d9/d31/coin__change__topdown_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): coin_change_topdown.cpp'],['../d6/d10/cut__rod_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): cut_rod.cpp'],['../d6/d26/house__robber_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): house_robber.cpp'],['../d7/d57/longest__increasing__subsequence_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): longest_increasing_subsequence.cpp'],['../d0/d77/longest__palindromic__subsequence_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): longest_palindromic_subsequence.cpp'],['../db/dfb/maximum__circular__subarray_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): maximum_circular_subarray.cpp'],['../da/d52/minimum__edit__distance_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): minimum_edit_distance.cpp'],['../d5/d90/palindrome__partitioning_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): palindrome_partitioning.cpp'],['../d7/d65/shortest__common__supersequence_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): shortest_common_supersequence.cpp'],['../dc/d67/subset__sum__dynamic_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): subset_sum_dynamic.cpp'],['../d9/d80/trapped__rainwater_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): trapped_rainwater.cpp'],['../d3/d84/word__break_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): word_break.cpp'],['../d4/d8d/jarvis__algorithm_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): jarvis_algorithm.cpp'],['../d8/d99/connected__components__with__dsu_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): connected_components_with_dsu.cpp'],['../d6/dd8/is__graph__bipartite_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): is_graph_bipartite.cpp'],['../d8/db9/topological__sort_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): topological_sort.cpp'],['../da/dd3/namespacespirograph.html#a8e83a64e8443fff1e5ffdc1c299c1e99',1,'spirograph::test()'],['../d6/dba/jump__game_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): jump_game.cpp'],['../d8/d7d/kruskals__minimum__spanning__tree_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): kruskals_minimum_spanning_tree.cpp'],['../d5/d96/md5_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): md5.cpp'],['../d8/d7a/sha1_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): sha1.cpp'],['../d4/d3e/k__nearest__neighbors_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): k_nearest_neighbors.cpp'],['../d2/d58/neural__network_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): neural_network.cpp'],['../de/d99/aliquot__sum_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): aliquot_sum.cpp'],['../dc/d82/area_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): area.cpp'],['../d7/d89/double__factorial_8cpp.html#abbbcebf3a2d0c67f4c3cfb5511a97981',1,'test(uint64_t n, uint64_t expected): double_factorial.cpp'],['../d7/da6/eratosthenes_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): eratosthenes.cpp'],['../da/d23/eulers__totient__function_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): eulers_totient_function.cpp'],['../d9/d89/fibonacci_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): fibonacci.cpp'],['../da/dc9/fibonacci__matrix__exponentiation_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): fibonacci_matrix_exponentiation.cpp'],['../de/dc3/fibonacci__sum_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): fibonacci_sum.cpp'],['../d1/d11/gcd__of__n__numbers_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): gcd_of_n_numbers.cpp'],['../db/d40/integral__approximation2_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): integral_approximation2.cpp'],['../d6/db8/inv__sqrt_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): inv_sqrt.cpp'],['../db/d9f/iterative__factorial_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): iterative_factorial.cpp'],['../d5/d7a/largest__power_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): largest_power.cpp'],['../d5/d83/lcm__sum_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): lcm_sum.cpp'],['../df/d72/modular__division_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): modular_division.cpp'],['../d0/d6d/modular__exponentiation_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): modular_exponentiation.cpp'],['../d8/d53/modular__inverse__fermat__little__theorem_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): modular_inverse_fermat_little_theorem.cpp'],['../d6/d2d/modular__inverse__simple_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): modular_inverse_simple.cpp'],['../db/d27/n__bonacci_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): n_bonacci.cpp'],['../d1/dbb/n__choose__r_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): n_choose_r.cpp'],['../d3/dfe/perimeter_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): perimeter.cpp'],['../d4/d38/power__of__two_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): power_of_two.cpp'],['../da/d18/quadratic__equations__complex__numbers_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): quadratic_equations_complex_numbers.cpp'],['../d4/d9d/sum__of__binomial__coefficient_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): sum_of_binomial_coefficient.cpp'],['../d4/d83/sum__of__digits_8cpp.html#ae1a3968e7947464bee7714f6d43b7002',1,'test(): sum_of_digits.cpp'],['../df/d66/vector__cross__product_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): vector_cross_product.cpp'],['../da/d39/volume_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): volume.cpp'],['../dc/d9c/babylonian__method_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): babylonian_method.cpp'],['../d4/d18/composite__simpson__rule_8cpp.html#a2ae48a41e43dc6ab11b962742349646e',1,'test(std::int32_t N, double h, double a, double b, bool used_argv_parameters): composite_simpson_rule.cpp'],['../d8/d9a/fast__fourier__transform_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): fast_fourier_transform.cpp'],['../d5/d33/gram__schmidt_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): gram_schmidt.cpp'],['../d9/d37/inverse__fast__fourier__transform_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): inverse_fast_fourier_transform.cpp'],['../df/d11/midpoint__integral__method_8cpp.html#a2ae48a41e43dc6ab11b962742349646e',1,'test(std::int32_t N, double h, double a, double b, bool used_argv_parameters): midpoint_integral_method.cpp'],['../d1/da6/rungekutta_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): rungekutta.cpp'],['../d9/d14/array__left__rotation_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): array_left_rotation.cpp'],['../d6/d57/array__right__rotation_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): array_right_rotation.cpp'],['../de/d33/circular__linked__list_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): circular_linked_list.cpp'],['../d4/d32/inorder__successor__of__bst_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): inorder_successor_of_bst.cpp'],['../de/dc5/intersection__of__two__arrays_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): intersection_of_two_arrays.cpp'],['../d4/db6/reverse__binary__tree_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): reverse_binary_tree.cpp'],['../d7/def/trie__multiple__search_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): trie_multiple_search.cpp'],['../d8/d9c/union__of__two__arrays_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): union_of_two_arrays.cpp'],['../de/dcd/kadanes3_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): kadanes3.cpp'],['../d9/d65/lfu__cache_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): lfu_cache.cpp'],['../dc/daa/lru__cache2_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): lru_cache2.cpp'],['../d0/d01/smallest__circle_8cpp.html#ae1a3968e7947464bee7714f6d43b7002',1,'test(): smallest_circle.cpp'],['../d9/d29/ground__to__ground__projectile__motion_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): ground_to_ground_projectile_motion.cpp'],['../d9/da2/exponential__dist_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): exponential_dist.cpp'],['../de/d72/geometric__dist_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): geometric_dist.cpp'],['../d1/ded/windowed__median_8cpp.html#a6dc652a36ea42ba262c4e4236e3e6601',1,'test(const std::vector< int > &vals, int windowSize): windowed_median.cpp'],['../d5/d58/persistent__seg__tree__lazy__prop_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): persistent_seg_tree_lazy_prop.cpp'],['../d1/d9e/prefix__sum__array_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): prefix_sum_array.cpp'],['../d2/d45/segtree_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): segtree.cpp'],['../db/dc4/floyd__cycle__detection__algo_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): floyd_cycle_detection_algo.cpp'],['../d9/d69/median__search_8cpp.html#ae1a3968e7947464bee7714f6d43b7002',1,'test(): median_search.cpp'],['../d8/dfa/median__search2_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): median_search2.cpp'],['../d3/d22/saddleback__search_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): saddleback_search.cpp'],['../d5/d45/sublist__search_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): sublist_search.cpp'],['../dc/db5/text__search_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): text_search.cpp'],['../d8/dcc/binary__insertion__sort_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): binary_insertion_sort.cpp'],['../d5/ddb/bogo__sort_8cpp.html#ae1a3968e7947464bee7714f6d43b7002',1,'test(): bogo_sort.cpp'],['../d8/d13/bubble__sort_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): bubble_sort.cpp'],['../d2/d26/count__inversions_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): count_inversions.cpp'],['../de/d07/cycle__sort_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): cycle_sort.cpp'],['../d6/d1a/dnf__sort_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): dnf_sort.cpp'],['../d2/d21/gnome__sort_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): gnome_sort.cpp'],['../d2/d52/heap__sort_8cpp.html#ae1a3968e7947464bee7714f6d43b7002',1,'test(): heap_sort.cpp'],['../de/d7b/merge__insertion__sort_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): merge_insertion_sort.cpp'],['../d3/d92/pancake__sort_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): pancake_sort.cpp'],['../d1/daa/random__pivot__quick__sort_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): random_pivot_quick_sort.cpp'],['../d3/df9/recursive__bubble__sort_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): recursive_bubble_sort.cpp'],['../d4/d9f/selection__sort__recursive_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): selection_sort_recursive.cpp'],['../dc/dd9/strand__sort_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): strand_sort.cpp'],['../db/d3f/wave__sort_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): wave_sort.cpp'],['../d5/d4c/group__sorting.html#gaa8dca7b867074164d5f45b0f3851269d',1,'test(): wiggle_sort.cpp'],['../db/d09/duval_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): duval.cpp'],['../d3/dfe/horspool_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): horspool.cpp'],['../d3/d39/manacher__algorithm_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): manacher_algorithm.cpp'],['../d3/d80/z__function_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): z_function.cpp']]], - ['test1_10',['test1',['../d7/db9/hill__cipher_8cpp.html#a3147ad576f8a94a2a6b66948672b452b',1,'test1(const std::string &text): hill_cipher.cpp'],['../d3/dae/dsu__path__compression_8cpp.html#ae7880ce913f3058a35ff106d5be9e243',1,'test1(): dsu_path_compression.cpp'],['../df/d28/dsu__union__rank_8cpp.html#ae7880ce913f3058a35ff106d5be9e243',1,'test1(): dsu_union_rank.cpp'],['../db/dbc/tree__234_8cpp.html#ae7880ce913f3058a35ff106d5be9e243',1,'test1(): tree_234.cpp'],['../dd/d0c/hamiltons__cycle_8cpp.html#ae7880ce913f3058a35ff106d5be9e243',1,'test1(): hamiltons_cycle.cpp'],['../d5/db0/adaline__learning_8cpp.html#a52053d88ea1bcbbed9aca67ab4eeb499',1,'test1(double eta=0.01): adaline_learning.cpp'],['../d4/def/kohonen__som__topology_8cpp.html#a1440a7779ac56f47a3f355ce4a8c7da0',1,'test1(): kohonen_som_topology.cpp'],['../d9/d49/kohonen__som__trace_8cpp.html#a1440a7779ac56f47a3f355ce4a8c7da0',1,'test1(): kohonen_som_trace.cpp'],['../d6/d9d/large__factorial_8cpp.html#a3f93b60e229b6683e24c4754a7106ee8',1,'test1(): large_factorial.cpp'],['../d4/d83/sum__of__digits_8cpp.html#a1440a7779ac56f47a3f355ce4a8c7da0',1,'test1(): sum_of_digits.cpp'],['../db/d01/brent__method__extrema_8cpp.html#a1440a7779ac56f47a3f355ce4a8c7da0',1,'test1(): brent_method_extrema.cpp'],['../da/df2/durand__kerner__roots_8cpp.html#a1440a7779ac56f47a3f355ce4a8c7da0',1,'test1(): durand_kerner_roots.cpp'],['../d6/d7a/golden__search__extrema_8cpp.html#a1440a7779ac56f47a3f355ce4a8c7da0',1,'test1(): golden_search_extrema.cpp'],['../dd/d65/lu__decompose_8cpp.html#a1440a7779ac56f47a3f355ce4a8c7da0',1,'test1(): lu_decompose.cpp'],['../de/d75/qr__eigen__values_8cpp.html#a1440a7779ac56f47a3f355ce4a8c7da0',1,'test1(): qr_eigen_values.cpp'],['../d9/df4/namespacetests.html#a167c24bd817469ae47358d12e034f2d5',1,'tests::test1()'],['../d8/d90/iterative__tree__traversals_8cpp.html#a21d922dbb5905993960c6a7f0ba71ac0',1,'test1(others::iterative_tree_traversals::BinaryTree binaryTree, others::iterative_tree_traversals::Node *root): iterative_tree_traversals.cpp'],['../dc/de1/recursive__tree__traversal_8cpp.html#a1440a7779ac56f47a3f355ce4a8c7da0',1,'test1(): recursive_tree_traversal.cpp'],['../d4/d4f/stooge__sort_8cpp.html#a1440a7779ac56f47a3f355ce4a8c7da0',1,'test1(): stooge_sort.cpp']]], - ['test2_11',['test2',['../d7/db9/hill__cipher_8cpp.html#a04391124480d2a49f2dec900237b0712',1,'test2(const std::string &text): hill_cipher.cpp'],['../d3/dae/dsu__path__compression_8cpp.html#a45d94ead4cf4e1ff9f87c38bc99f59ae',1,'test2(): dsu_path_compression.cpp'],['../df/d28/dsu__union__rank_8cpp.html#a45d94ead4cf4e1ff9f87c38bc99f59ae',1,'test2(): dsu_union_rank.cpp'],['../db/dbc/tree__234_8cpp.html#af1ac73779b0fcfbbdce3976c0ca57342',1,'test2(int64_t n): tree_234.cpp'],['../dd/d0c/hamiltons__cycle_8cpp.html#a45d94ead4cf4e1ff9f87c38bc99f59ae',1,'test2(): hamiltons_cycle.cpp'],['../d5/db0/adaline__learning_8cpp.html#a379f7488a305f2571f2932b319931f82',1,'test2(double eta=0.01): adaline_learning.cpp'],['../d4/def/kohonen__som__topology_8cpp.html#a0283886819c7c140a023582b7269e2d0',1,'test2(): kohonen_som_topology.cpp'],['../d9/d49/kohonen__som__trace_8cpp.html#a0283886819c7c140a023582b7269e2d0',1,'test2(): kohonen_som_trace.cpp'],['../d6/d9d/large__factorial_8cpp.html#a76aae4778fbe89a3d59fd61fbc050cfa',1,'test2(): large_factorial.cpp'],['../d4/d83/sum__of__digits_8cpp.html#a0283886819c7c140a023582b7269e2d0',1,'test2(): sum_of_digits.cpp'],['../db/d01/brent__method__extrema_8cpp.html#a0283886819c7c140a023582b7269e2d0',1,'test2(): brent_method_extrema.cpp'],['../da/df2/durand__kerner__roots_8cpp.html#a0283886819c7c140a023582b7269e2d0',1,'test2(): durand_kerner_roots.cpp'],['../d6/d7a/golden__search__extrema_8cpp.html#a0283886819c7c140a023582b7269e2d0',1,'test2(): golden_search_extrema.cpp'],['../dd/d65/lu__decompose_8cpp.html#a0283886819c7c140a023582b7269e2d0',1,'test2(): lu_decompose.cpp'],['../de/d75/qr__eigen__values_8cpp.html#a0283886819c7c140a023582b7269e2d0',1,'test2(): qr_eigen_values.cpp'],['../d9/df4/namespacetests.html#abdd77344d4af8fd56d14a5cabbf2f669',1,'tests::test2()'],['../d8/d90/iterative__tree__traversals_8cpp.html#ac35ae2868441f8a11c965b87b2494f21',1,'test2(others::iterative_tree_traversals::BinaryTree binaryTree, others::iterative_tree_traversals::Node *root): iterative_tree_traversals.cpp'],['../dc/de1/recursive__tree__traversal_8cpp.html#a0283886819c7c140a023582b7269e2d0',1,'test2(): recursive_tree_traversal.cpp'],['../d0/d01/smallest__circle_8cpp.html#a0283886819c7c140a023582b7269e2d0',1,'test2(): smallest_circle.cpp'],['../d4/d4f/stooge__sort_8cpp.html#a0283886819c7c140a023582b7269e2d0',1,'test2(): stooge_sort.cpp']]], - ['test3_12',['test3',['../dd/d0c/hamiltons__cycle_8cpp.html#a0cc94918b6831f308d4fe4fa27f08299',1,'test3(): hamiltons_cycle.cpp'],['../d5/db0/adaline__learning_8cpp.html#a992bdf1fdb0b9d414bcf7981d2d87aa9',1,'test3(double eta=0.01): adaline_learning.cpp'],['../d4/def/kohonen__som__topology_8cpp.html#a6d0455dd5c30adda100e95f0423c786e',1,'test3(): kohonen_som_topology.cpp'],['../d9/d49/kohonen__som__trace_8cpp.html#a6d0455dd5c30adda100e95f0423c786e',1,'test3(): kohonen_som_trace.cpp'],['../db/d01/brent__method__extrema_8cpp.html#a6d0455dd5c30adda100e95f0423c786e',1,'test3(): brent_method_extrema.cpp'],['../d6/d7a/golden__search__extrema_8cpp.html#a6d0455dd5c30adda100e95f0423c786e',1,'test3(): golden_search_extrema.cpp'],['../d9/df4/namespacetests.html#aa515639572647508b94986489aab6d76',1,'tests::test3()'],['../d8/d90/iterative__tree__traversals_8cpp.html#a425c4c8520991999ee6dbe13d99b87f4',1,'test3(others::iterative_tree_traversals::BinaryTree binaryTree, others::iterative_tree_traversals::Node *root): iterative_tree_traversals.cpp'],['../dc/de1/recursive__tree__traversal_8cpp.html#a6d0455dd5c30adda100e95f0423c786e',1,'test3(): recursive_tree_traversal.cpp'],['../d0/d01/smallest__circle_8cpp.html#a6d0455dd5c30adda100e95f0423c786e',1,'test3(): smallest_circle.cpp'],['../d4/d4f/stooge__sort_8cpp.html#a6d0455dd5c30adda100e95f0423c786e',1,'test3(): stooge_sort.cpp']]], - ['test4_13',['test4',['../d9/df4/namespacetests.html#a2b9769e44683dcb67fe1083ad91e134d',1,'tests::test4()'],['../d8/d90/iterative__tree__traversals_8cpp.html#a038b236fe900f7bb7e57164f5bed66c2',1,'test4(): iterative_tree_traversals.cpp']]], - ['test5_14',['test5',['../d9/df4/namespacetests.html#af7b81d7a1534216af6a36a80135beb86',1,'tests::test5()'],['../d8/d90/iterative__tree__traversals_8cpp.html#aa9ef334cd7eb607f4eb8732566ea00b8',1,'test5(): iterative_tree_traversals.cpp']]], - ['test6_15',['test6',['../d9/df4/namespacetests.html#aacafde185abd8670abee51157f273dc2',1,'tests::test6()'],['../d8/d90/iterative__tree__traversals_8cpp.html#af727f920064f2b8f484b589b60d49b89',1,'test6(): iterative_tree_traversals.cpp']]], - ['test_5f1_16',['test_1',['../d3/db3/lru__cache_8cpp.html#a6401e8f2d41d8cc9cd0e52ab381608d4',1,'lru_tests::test_1()'],['../d2/de9/heavy__light__decomposition_8cpp.html#a34b8683a2b429de5cce57e6d733ec817',1,'test_1(): heavy_light_decomposition.cpp'],['../dd/da8/pigeonhole__sort_8cpp.html#a34b8683a2b429de5cce57e6d733ec817',1,'test_1(): pigeonhole_sort.cpp']]], - ['test_5f2_17',['test_2',['../d3/db3/lru__cache_8cpp.html#a4b02e288a407876a8d6024f98a2a25ec',1,'lru_tests::test_2()'],['../d2/de9/heavy__light__decomposition_8cpp.html#a458410412185a5f09199deaff7157a8d',1,'test_2(): heavy_light_decomposition.cpp'],['../dd/da8/pigeonhole__sort_8cpp.html#a458410412185a5f09199deaff7157a8d',1,'test_2(): pigeonhole_sort.cpp']]], - ['test_5f2d_5fclasses_18',['test_2d_classes',['../d4/def/kohonen__som__topology_8cpp.html#a48efb079040c7aaa3a4917a0e486cba9',1,'kohonen_som_topology.cpp']]], - ['test_5f3_19',['test_3',['../d3/db3/lru__cache_8cpp.html#a01ec21fc91ddafd964ae2035ba7892c0',1,'lru_tests::test_3()'],['../d2/de9/heavy__light__decomposition_8cpp.html#af31ec5409537703d9c8a47350386b32a',1,'test_3(): heavy_light_decomposition.cpp'],['../dd/da8/pigeonhole__sort_8cpp.html#af31ec5409537703d9c8a47350386b32a',1,'test_3(): pigeonhole_sort.cpp']]], - ['test_5f3d_5fclasses_20',['test_3d_classes',['../d9/d49/kohonen__som__trace_8cpp.html#a7154fe319e6033485a8a6cd6f0d8932d',1,'kohonen_som_trace.cpp']]], - ['test_5f3d_5fclasses1_21',['test_3d_classes1',['../d4/def/kohonen__som__topology_8cpp.html#a1302662a56ebf67a21249270b017297e',1,'kohonen_som_topology.cpp']]], - ['test_5f3d_5fclasses2_22',['test_3d_classes2',['../d4/def/kohonen__som__topology_8cpp.html#a4b7ab643f6a5002f991837de46f70653',1,'kohonen_som_topology.cpp']]], - ['test_5fand_5fset_23',['test_and_set',['http://en.cppreference.com/w/cpp/atomic/atomic_flag/test_and_set.html',0,'std::atomic_flag']]], - ['test_5fbitset_24',['test_bitset',['../d9/dab/bloom__filter_8cpp.html#a6e509afe40db07681f676ad8da4fb905',1,'bloom_filter.cpp']]], - ['test_5fbloom_5ffilter_5fint_25',['test_bloom_filter_int',['../d9/dab/bloom__filter_8cpp.html#a30edc0d2bb59c185baec81d69d20ed3b',1,'bloom_filter.cpp']]], - ['test_5fbloom_5ffilter_5fstring_26',['test_bloom_filter_string',['../d9/dab/bloom__filter_8cpp.html#a71f57bf262fe55db928b19dc124cc0d8',1,'bloom_filter.cpp']]], - ['test_5fcircle_27',['test_circle',['../d9/d49/kohonen__som__trace_8cpp.html#ae571600aa42a81bc14a4a602ea5ff00d',1,'kohonen_som_trace.cpp']]], - ['test_5fcompute_5fpadded_5fsize_28',['test_compute_padded_size',['../d4/d08/sha256_8cpp.html#af9b52eba85d23e309035354141259f27',1,'sha256.cpp']]], - ['test_5fcontains_29',['test_contains',['../df/d42/binary__search__tree2_8cpp.html#a1d42876440ac5346e2850a32497385c3',1,'binary_search_tree2.cpp']]], - ['test_5fdouble_30',['test_double',['../d3/d4c/quick__sort__3_8cpp.html#a2635b04ad943fa28b7bbf8d1e6479792',1,'quick_sort_3.cpp']]], - ['test_5feval_31',['test_eval',['../dd/d47/namespacemath.html#a50936ee98f4d40f17823befc65a32aec',1,'math']]], - ['test_5ff_32',['test_f',['../d4/d7a/shell__sort2_8cpp.html#a22ea0d1f7943ebb4371d31e44b465b6d',1,'shell_sort2.cpp']]], - ['test_5ffind_5fmax_33',['test_find_max',['../df/d42/binary__search__tree2_8cpp.html#a9856b68e2cba50d2e26a1cbe374e0365',1,'binary_search_tree2.cpp']]], - ['test_5ffind_5fmin_34',['test_find_min',['../df/d42/binary__search__tree2_8cpp.html#af2847a901160fd45b4044550e9921cb4',1,'binary_search_tree2.cpp']]], - ['test_5ffindgraphsum_35',['test_findGraphSum',['../d4/d6c/boruvkas__minimum__spanning__tree_8cpp.html#a2311b22324cf09926726e4ce1309af8b',1,'greedy_algorithms::boruvkas_minimum_spanning_tree']]], - ['test_5ffunction_36',['test_function',['../d0/d08/realtime__stats_8cpp.html#aa54c915581fcc495489175a4386d59fd',1,'realtime_stats.cpp']]], - ['test_5ffunction_5f1_37',['test_function_1',['../d7/d75/postfix__evaluation_8cpp.html#a6a8eeb7d346d5cd6335d9780fb7c0f15',1,'postfix_evaluation.cpp']]], - ['test_5ffunction_5f2_38',['test_function_2',['../d7/d75/postfix__evaluation_8cpp.html#a5b97d12e8b61484f756a8721992bfae1',1,'postfix_evaluation.cpp']]], - ['test_5fget_5felements_5finorder_39',['test_get_elements_inorder',['../df/d42/binary__search__tree2_8cpp.html#a06f35064850e891d6fda0093c0d9ee6e',1,'binary_search_tree2.cpp']]], - ['test_5fget_5felements_5fpostorder_40',['test_get_elements_postorder',['../df/d42/binary__search__tree2_8cpp.html#a94b76f781fcbe1ad0e3397ace6bb1965',1,'binary_search_tree2.cpp']]], - ['test_5fget_5felements_5fpreorder_41',['test_get_elements_preorder',['../df/d42/binary__search__tree2_8cpp.html#ab00b8d0f21aeb5fbddb6decf3bcb640a',1,'binary_search_tree2.cpp']]], - ['test_5finsert_42',['test_insert',['../df/d42/binary__search__tree2_8cpp.html#a8c882f43e1e52948a7841a8bfb091350',1,'binary_search_tree2.cpp']]], - ['test_5fint_43',['test_int',['../d3/d4c/quick__sort__3_8cpp.html#a07e5c62de28aeddea986890ce7ac1bda',1,'test_int(): quick_sort_3.cpp'],['../d4/d7a/shell__sort2_8cpp.html#a895b313cb2671e8f712040460325573e',1,'test_int(const int NUM_DATA): shell_sort2.cpp']]], - ['test_5flamniscate_44',['test_lamniscate',['../d9/d49/kohonen__som__trace_8cpp.html#a53082f2e5bacec40266499da4547309a',1,'kohonen_som_trace.cpp']]], - ['test_5flongest_5fcommon_5fstring_5flength_45',['test_longest_common_string_length',['../da/d0d/longest__common__string_8cpp.html#a9b229daad982a186a4d8d90aa8f38561',1,'longest_common_string.cpp']]], - ['test_5flongest_5fcommon_5fstring_5flength_5ffor_5freversed_5finputs_46',['test_longest_common_string_length_for_reversed_inputs',['../da/d0d/longest__common__string_8cpp.html#a23ab67b0d9600697695fc8679462d8fe',1,'longest_common_string.cpp']]], - ['test_5flongest_5fcommon_5fstring_5flength_5fis_5fsymmetric_47',['test_longest_common_string_length_is_symmetric',['../da/d0d/longest__common__string_8cpp.html#ad1e613c1b85cc04ed931b6c745fec155',1,'longest_common_string.cpp']]], - ['test_5fremove_48',['test_remove',['../df/d42/binary__search__tree2_8cpp.html#ab1333c3ea06dcad896ee204bbd407c4e',1,'binary_search_tree2.cpp']]], - ['testcase_5f1_49',['testCase_1',['../d5/d58/class_test_cases.html#ac2636e8b5b9e053374c45bfcf0603008',1,'TestCases::testCase_1()'],['../d5/d58/class_test_cases.html#ac2636e8b5b9e053374c45bfcf0603008',1,'TestCases::testCase_1()'],['../d5/d58/class_test_cases.html#ac2636e8b5b9e053374c45bfcf0603008',1,'TestCases::testCase_1()']]], - ['testcase_5f2_50',['testCase_2',['../d5/d58/class_test_cases.html#abae0148985f159b582a385cf399254e3',1,'TestCases::testCase_2()'],['../d5/d58/class_test_cases.html#abae0148985f159b582a385cf399254e3',1,'TestCases::testCase_2()'],['../d5/d58/class_test_cases.html#abae0148985f159b582a385cf399254e3',1,'TestCases::testCase_2()']]], - ['testcase_5f3_51',['testCase_3',['../d5/d58/class_test_cases.html#ad9f95c09931625b41e3be1f88d1e28c5',1,'TestCases::testCase_3()'],['../d5/d58/class_test_cases.html#ad9f95c09931625b41e3be1f88d1e28c5',1,'TestCases::testCase_3()'],['../d5/d58/class_test_cases.html#ad9f95c09931625b41e3be1f88d1e28c5',1,'TestCases::testCase_3()']]], - ['tests_52',['tests',['../d1/da7/armstrong__number__templated_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e',1,'tests(): armstrong_number_templated.cpp'],['../da/d0d/longest__common__string_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e',1,'tests(): longest_common_string.cpp'],['../d9/dec/unbounded__0__1__knapsack_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e',1,'tests(): unbounded_0_1_knapsack.cpp'],['../d7/d07/bidirectional__dijkstra_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e',1,'tests(): bidirectional_dijkstra.cpp'],['../df/d82/breadth__first__search_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e',1,'tests(): breadth_first_search.cpp'],['../df/ddd/connected__components_8cpp.html#a88ec9ad42717780d6caaff9d3d6977f9',1,'tests(): connected_components.cpp'],['../da/d4b/depth__first__search__with__stack_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e',1,'tests(): depth_first_search_with_stack.cpp'],['../d8/d68/dijkstra_8cpp.html#a88ec9ad42717780d6caaff9d3d6977f9',1,'tests(): dijkstra.cpp'],['../d1/d9a/hopcroft__karp_8cpp.html#a88ec9ad42717780d6caaff9d3d6977f9',1,'tests(): hopcroft_karp.cpp'],['../de/dde/lowest__common__ancestor_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e',1,'tests(): lowest_common_ancestor.cpp'],['../de/d88/travelling__salesman__problem_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e',1,'tests(): travelling_salesman_problem.cpp'],['../d9/d1f/binary__addition_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e',1,'tests(): binary_addition.cpp'],['../d4/d6c/boruvkas__minimum__spanning__tree_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e',1,'tests(): boruvkas_minimum_spanning_tree.cpp'],['../d3/d36/digit__separation_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e',1,'tests(): digit_separation.cpp'],['../da/de8/dijkstra__greedy_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e',1,'tests(): dijkstra_greedy.cpp'],['../db/d80/gale__shapley_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e',1,'tests(): gale_shapley.cpp'],['../d0/d51/approximate__pi_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e',1,'tests(): approximate_pi.cpp'],['../d8/db1/binomial__calculate_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e',1,'tests(): binomial_calculate.cpp'],['../d5/df6/check__amicable__pair_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e',1,'tests(): check_amicable_pair.cpp'],['../d8/dd5/check__factorial_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e',1,'tests(): check_factorial.cpp'],['../db/d93/check__prime_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e',1,'tests(): check_prime.cpp'],['../d5/d67/complex__numbers_8cpp.html#a88ec9ad42717780d6caaff9d3d6977f9',1,'tests(): complex_numbers.cpp'],['../d7/d89/double__factorial_8cpp.html#a88ec9ad42717780d6caaff9d3d6977f9',1,'tests(): double_factorial.cpp'],['../d9/d00/factorial_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e',1,'tests(): factorial.cpp'],['../d4/d21/least__common__multiple_8cpp.html#a88ec9ad42717780d6caaff9d3d6977f9',1,'tests(): least_common_multiple.cpp'],['../d9/d44/magic__number_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e',1,'tests(): magic_number.cpp'],['../d6/d42/miller__rabin_8cpp.html#a88ec9ad42717780d6caaff9d3d6977f9',1,'tests(): miller_rabin.cpp'],['../de/dab/ncr__modulo__p_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e',1,'tests(): ncr_modulo_p.cpp'],['../d0/da2/number__of__positive__divisors_8cpp.html#a88ec9ad42717780d6caaff9d3d6977f9',1,'tests(): number_of_positive_divisors.cpp'],['../d8/ddf/sieve__of__eratosthenes_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e',1,'tests(): sieve_of_eratosthenes.cpp'],['../db/d6b/kelvin__to__celsius_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e',1,'tests(): kelvin_to_celsius.cpp'],['../d4/db8/longest__substring__without__repeating__characters_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e',1,'tests(): longest_substring_without_repeating_characters.cpp'],['../dc/de1/recursive__tree__traversal_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e',1,'tests(): recursive_tree_traversal.cpp'],['../d6/d2e/fenwick__tree_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e',1,'tests(): fenwick_tree.cpp'],['../d9/d02/linear__search_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e',1,'tests(): linear_search.cpp'],['../d9/d5f/longest__increasing__subsequence__using__binary__search_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e',1,'tests(): longest_increasing_subsequence_using_binary_search.cpp'],['../d9/dfd/comb__sort_8cpp.html#a88ec9ad42717780d6caaff9d3d6977f9',1,'tests(): comb_sort.cpp'],['../dd/d0d/insertion__sort_8cpp.html#a88ec9ad42717780d6caaff9d3d6977f9',1,'tests(): insertion_sort.cpp'],['../dd/d89/insertion__sort__recursive_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e',1,'tests(): insertion_sort_recursive.cpp'],['../d1/d21/quick__sort_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e',1,'tests(): quick_sort.cpp'],['../d3/d22/quick__sort__iterative_8cpp.html#a88ec9ad42717780d6caaff9d3d6977f9',1,'tests(): quick_sort_iterative.cpp'],['../d8/d61/radix__sort2_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e',1,'tests(): radix_sort2.cpp'],['../d3/db2/boyer__moore_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e',1,'tests(): boyer_moore.cpp'],['../de/d6a/knuth__morris__pratt_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e',1,'tests(): knuth_morris_pratt.cpp']]], - ['tgamma_53',['tgamma',['http://en.cppreference.com/w/cpp/numeric/math/tgamma.html',0,'std']]], - ['th_54',['TH',['../db/d3c/tower__of__hanoi_8cpp.html#ab037f72a5eac476535a6cfbbcb965417',1,'tower_of_hanoi.cpp']]], - ['thousands_5fsep_55',['thousands_sep',['http://en.cppreference.com/w/cpp/locale/moneypunct/thousands_sep.html',0,'std::moneypunct_byname::thousands_sep()'],['http://en.cppreference.com/w/cpp/locale/moneypunct/thousands_sep.html',0,'std::moneypunct::thousands_sep()'],['http://en.cppreference.com/w/cpp/locale/numpunct/thousands_sep.html',0,'std::numpunct_byname::thousands_sep()'],['http://en.cppreference.com/w/cpp/locale/numpunct/thousands_sep.html',0,'std::numpunct::thousands_sep()']]], - ['thread_56',['thread',['http://en.cppreference.com/w/cpp/thread/thread/thread.html',0,'std::thread']]], - ['throw_5fwith_5fnested_57',['throw_with_nested',['http://en.cppreference.com/w/cpp/error/throw_with_nested.html',0,'std']]], - ['tie_58',['tie',['http://en.cppreference.com/w/cpp/io/basic_ios/tie.html',0,'std::basic_ofstream::tie()'],['http://en.cppreference.com/w/cpp/io/basic_ios/tie.html',0,'std::fstream::tie()'],['http://en.cppreference.com/w/cpp/io/basic_ios/tie.html',0,'std::wostream::tie()'],['http://en.cppreference.com/w/cpp/io/basic_ios/tie.html',0,'std::basic_ostringstream::tie()'],['http://en.cppreference.com/w/cpp/io/basic_ios/tie.html',0,'std::basic_ios::tie()'],['http://en.cppreference.com/w/cpp/io/basic_ios/tie.html',0,'std::ostringstream::tie()'],['http://en.cppreference.com/w/cpp/io/basic_ios/tie.html',0,'std::basic_fstream::tie()'],['http://en.cppreference.com/w/cpp/io/basic_ios/tie.html',0,'std::iostream::tie()'],['http://en.cppreference.com/w/cpp/io/basic_ios/tie.html',0,'std::wistream::tie()'],['http://en.cppreference.com/w/cpp/io/basic_ios/tie.html',0,'std::stringstream::tie()'],['http://en.cppreference.com/w/cpp/io/basic_ios/tie.html',0,'std::ostream::tie()'],['http://en.cppreference.com/w/cpp/io/basic_ios/tie.html',0,'std::wifstream::tie()'],['http://en.cppreference.com/w/cpp/io/basic_ios/tie.html',0,'std::basic_istream::tie()'],['http://en.cppreference.com/w/cpp/io/basic_ios/tie.html',0,'std::strstream::tie()'],['http://en.cppreference.com/w/cpp/io/basic_ios/tie.html',0,'std::basic_stringstream::tie()'],['http://en.cppreference.com/w/cpp/io/basic_ios/tie.html',0,'std::wostringstream::tie()'],['http://en.cppreference.com/w/cpp/io/basic_ios/tie.html',0,'std::istrstream::tie()'],['http://en.cppreference.com/w/cpp/io/basic_ios/tie.html',0,'std::basic_ostream::tie()'],['http://en.cppreference.com/w/cpp/io/basic_ios/tie.html',0,'std::wiostream::tie()'],['http://en.cppreference.com/w/cpp/io/basic_ios/tie.html',0,'std::ofstream::tie()'],['http://en.cppreference.com/w/cpp/io/basic_ios/tie.html',0,'std::basic_istringstream::tie()'],['http://en.cppreference.com/w/cpp/io/basic_ios/tie.html',0,'std::basic_ifstream::tie()'],['http://en.cppreference.com/w/cpp/io/basic_ios/tie.html',0,'std::istringstream::tie()'],['http://en.cppreference.com/w/cpp/io/basic_ios/tie.html',0,'std::istream::tie()'],['http://en.cppreference.com/w/cpp/io/basic_ios/tie.html',0,'std::ostrstream::tie()'],['http://en.cppreference.com/w/cpp/io/basic_ios/tie.html',0,'std::wfstream::tie()'],['http://en.cppreference.com/w/cpp/io/basic_ios/tie.html',0,'std::basic_iostream::tie()'],['http://en.cppreference.com/w/cpp/io/basic_ios/tie.html',0,'std::wofstream::tie()'],['http://en.cppreference.com/w/cpp/io/basic_ios/tie.html',0,'std::wstringstream::tie()'],['http://en.cppreference.com/w/cpp/io/basic_ios/tie.html',0,'std::wistringstream::tie()'],['http://en.cppreference.com/w/cpp/io/basic_ios/tie.html',0,'std::ifstream::tie()'],['http://en.cppreference.com/w/cpp/utility/tuple/tie.html',0,'std::tie(T... args)']]], - ['time_59',['time',['http://en.cppreference.com/w/cpp/chrono/c/time.html',0,'std']]], - ['time_5fget_60',['time_get',['http://en.cppreference.com/w/cpp/locale/time_get/time_get.html',0,'std::time_get']]], - ['time_5fget_5fbyname_61',['time_get_byname',['http://en.cppreference.com/w/cpp/locale/time_get_byname.html',0,'std::time_get_byname']]], - ['time_5fof_5fflight_62',['time_of_flight',['../d9/d29/ground__to__ground__projectile__motion_8cpp.html#a563e066975fed1b84750a0a47c3cbb37',1,'physics::ground_to_ground_projectile_motion']]], - ['time_5fpoint_63',['time_point',['http://en.cppreference.com/w/cpp/chrono/time_point/time_point.html',0,'std::chrono::time_point']]], - ['time_5fpoint_5fcast_64',['time_point_cast',['http://en.cppreference.com/w/cpp/chrono/time_point/time_point_cast.html',0,'std::chrono']]], - ['time_5fput_65',['time_put',['http://en.cppreference.com/w/cpp/locale/time_put/time_put.html',0,'std::time_put']]], - ['time_5fput_5fbyname_66',['time_put_byname',['http://en.cppreference.com/w/cpp/locale/time_put_byname.html',0,'std::time_put_byname']]], - ['time_5fsince_5fepoch_67',['time_since_epoch',['http://en.cppreference.com/w/cpp/chrono/time_point/time_since_epoch.html',0,'std::chrono::time_point']]], - ['timed_5fmutex_68',['timed_mutex',['http://en.cppreference.com/w/cpp/thread/timed_mutex/timed_mutex.html',0,'std::timed_mutex']]], - ['tmpfile_69',['tmpfile',['http://en.cppreference.com/w/cpp/io/c/tmpfile.html',0,'std']]], - ['tmpnam_70',['tmpnam',['http://en.cppreference.com/w/cpp/io/c/tmpnam.html',0,'std']]], - ['to_5fbytes_71',['to_bytes',['http://en.cppreference.com/w/cpp/locale/wstring_convert/to_bytes.html',0,'std::wstring_convert']]], - ['to_5fchar_5ftype_72',['to_char_type',['http://en.cppreference.com/w/cpp/string/char_traits/to_char_type.html',0,'std::char_traits']]], - ['to_5fint_5ftype_73',['to_int_type',['http://en.cppreference.com/w/cpp/string/char_traits/to_int_type.html',0,'std::char_traits']]], - ['to_5fstring_74',['to_string',['http://en.cppreference.com/w/cpp/utility/bitset/to_string.html',0,'std::bitset::to_string()'],['../d6/d84/classhashing_1_1sha256_1_1_hash.html#a4581f503a263d8e928e5716d54477e08',1,'hashing::sha256::Hash::to_string()'],['http://en.cppreference.com/w/cpp/string/basic_string/to_string.html',0,'std::to_string()']]], - ['to_5ftime_5ft_75',['to_time_t',['http://en.cppreference.com/w/cpp/chrono/system_clock/to_time_t.html',0,'std::chrono::system_clock']]], - ['to_5fullong_76',['to_ullong',['http://en.cppreference.com/w/cpp/utility/bitset/to_ullong.html',0,'std::bitset']]], - ['to_5fulong_77',['to_ulong',['http://en.cppreference.com/w/cpp/utility/bitset/to_ulong.html',0,'std::bitset']]], - ['to_5fwstring_78',['to_wstring',['http://en.cppreference.com/w/cpp/string/basic_string/to_wstring.html',0,'std']]], - ['tolittleendian32_79',['toLittleEndian32',['../d5/d96/md5_8cpp.html#a694712c9665051ba52b686387b87a689',1,'hashing::md5']]], - ['tolittleendian64_80',['toLittleEndian64',['../d5/d96/md5_8cpp.html#a6be48c1e6e742f9bd329f501d61dcaef',1,'hashing::md5']]], - ['tolower_81',['tolower',['http://en.cppreference.com/w/cpp/locale/ctype/tolower.html',0,'std::ctype_byname::tolower()'],['http://en.cppreference.com/w/cpp/locale/ctype/tolower.html',0,'std::ctype::tolower()'],['http://en.cppreference.com/w/cpp/string/byte/tolower.html',0,'std::tolower()']]], - ['tolowerroman_82',['tolowerRoman',['../de/d85/decimal__to__roman__numeral_8cpp.html#a003fb4e1b08279fe4cd50fbbc2782c2d',1,'decimal_to_roman_numeral.cpp']]], - ['top_83',['top',['http://en.cppreference.com/w/cpp/container/stack/top.html',0,'std::stack::top()'],['http://en.cppreference.com/w/cpp/container/priority_queue/top.html',0,'std::priority_queue::top()'],['../d1/def/classdata__structures_1_1linked__list_1_1list.html#a9785d1478e59f5a90288b2928a7094d6',1,'data_structures::linked_list::list::top()'],['../d1/dc2/classstack.html#ae09630c4384903d187801921b2ddc709',1,'stack::top()'],['../db/d5b/structdata__structures_1_1stack__using__queue_1_1_stack.html#a5540434e1b41245205eee86f664906f7',1,'data_structures::stack_using_queue::Stack::top()']]], - ['topmost_84',['topmost',['../d2/dc8/classdata__structures_1_1_stack.html#a61dc70e128ee64c9684f03a4c04818b0',1,'data_structures::Stack']]], - ['topologicalsort_85',['topologicalSort',['../d8/db9/topological__sort_8cpp.html#a54dc5d7914958dbd24dda2fd862dc41b',1,'graph::topological_sort']]], - ['toupper_86',['toupper',['http://en.cppreference.com/w/cpp/locale/ctype/toupper.html',0,'std::ctype_byname::toupper()'],['http://en.cppreference.com/w/cpp/locale/ctype/toupper.html',0,'std::ctype::toupper()'],['http://en.cppreference.com/w/cpp/string/byte/toupper.html',0,'std::toupper()']]], - ['toupperroman_87',['toupperRoman',['../de/d85/decimal__to__roman__numeral_8cpp.html#a214743638eff1336f835310049aef979',1,'decimal_to_roman_numeral.cpp']]], - ['tovector_88',['toVector',['../db/da9/classqueue.html#a386fc1df8610948d3117b12f24655c7d',1,'queue']]], - ['towctrans_89',['towctrans',['http://en.cppreference.com/w/cpp/string/wide/towctrans.html',0,'std']]], - ['towlower_90',['towlower',['http://en.cppreference.com/w/cpp/string/wide/towlower.html',0,'std']]], - ['towupper_91',['towupper',['http://en.cppreference.com/w/cpp/string/wide/towupper.html',0,'std']]], - ['transform_92',['transform',['http://en.cppreference.com/w/cpp/locale/collate/transform.html',0,'std::collate_byname::transform()'],['http://en.cppreference.com/w/cpp/regex/regex_traits/transform.html',0,'std::regex_traits::transform()'],['http://en.cppreference.com/w/cpp/locale/collate/transform.html',0,'std::collate::transform()'],['http://en.cppreference.com/w/cpp/algorithm/transform.html',0,'std::transform()']]], - ['transform_5fprimary_93',['transform_primary',['http://en.cppreference.com/w/cpp/regex/regex_traits/transform_primary.html',0,'std::regex_traits']]], - ['translate_94',['translate',['http://en.cppreference.com/w/cpp/regex/regex_traits/translate.html',0,'std::regex_traits']]], - ['translate_5fnocase_95',['translate_nocase',['http://en.cppreference.com/w/cpp/regex/regex_traits/translate_nocase.html',0,'std::regex_traits']]], - ['transpose_96',['transpose',['../d8/d77/namespacemachine__learning.html#a89fde571b38f9483576594f66572958a',1,'machine_learning']]], - ['trappedrainwater_97',['trappedRainwater',['../dd/d24/namespacedynamic__programming.html#a066e0e739e7c276eee6e61d5b4d37ce8',1,'dynamic_programming']]], - ['travelling_5fsalesman_5fusing_5fbit_5fmanipulation_98',['travelling_salesman_using_bit_manipulation',['../d4/d8f/travelling__salesman__using__bit__manipulation_8cpp.html#ad08f082be02c3437c2fe89cb035fcee1',1,'bit_manipulation::travelling_salesman_using_bit_manipulation']]], - ['travellingsalesmanproblem_99',['TravellingSalesmanProblem',['../df/dce/namespacegraph.html#ab7706341d006e20d1ae58274187a3346',1,'graph']]], - ['traverse_100',['Traverse',['../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a84ab7b4fe7442b5e2eeed8c050bb86bd',1,'data_structures::tree_234::Tree234::Traverse()'],['../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a936bb546e6a94d8b9d35b30ee1bb291a',1,'data_structures::tree_234::Tree234::Traverse(Node *tree)']]], - ['traverse_101',['traverse',['../d1/def/classdata__structures_1_1linked__list_1_1list.html#a2b951a3f1123b9b2f4891ec96aa76d69',1,'data_structures::linked_list::list']]], - ['traverse_5finorder_102',['traverse_inorder',['../d9/dde/classbinary__search__tree.html#a2fcf37549bd002c174a45b0b4203c2bd',1,'binary_search_tree']]], - ['traverse_5fpostorder_103',['traverse_postorder',['../d9/dde/classbinary__search__tree.html#a87c0a35845d27e0f6fc1f4eaa0333362',1,'binary_search_tree']]], - ['traverse_5fpreorder_104',['traverse_preorder',['../d9/dde/classbinary__search__tree.html#ab81edd415324d372632c42dc7dbcb9e1',1,'binary_search_tree']]], - ['treap_105',['Treap',['../d5/d95/structdata__structures_1_1treap_1_1_treap.html#a5d200493aeaa02a269f6b6deda39a683',1,'data_structures::treap::Treap']]], - ['tree_106',['Tree',['../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html#a835fb2bbb27307b8cacad9b287968bc1',1,'range_queries::heavy_light_decomposition::Tree']]], - ['triangle_5farea_107',['triangle_area',['../dd/d47/namespacemath.html#ab3b920cc56442abd92279ba23b50f4dc',1,'math']]], - ['triangle_5fperimeter_108',['triangle_perimeter',['../dd/d47/namespacemath.html#a3d1e4db743b189f309327572663415f3',1,'math']]], - ['triangle_5fprism_5fvolume_109',['triangle_prism_volume',['../dd/d47/namespacemath.html#a2d704a7b72a6b2db8b76c8581b577b2c',1,'math']]], - ['trianglearea_110',['TriangleArea',['../d0/d01/smallest__circle_8cpp.html#a94682a4a70d5906857ca09de5b9fb2cc',1,'smallest_circle.cpp']]], - ['trie_111',['Trie',['../dd/d2f/class_trie.html#a6af57e9f25d0d0a2d59eea5a4a802908',1,'Trie::Trie()'],['../d3/d26/classdata__structures_1_1trie__using__hashmap_1_1_trie.html#a092d0805a9e647c2048777dbe67b35ab',1,'data_structures::trie_using_hashmap::Trie::Trie()']]], - ['trie_112',['trie',['../d0/d3e/classdata__structures_1_1trie.html#a87d8bf99aea936f9381141753f1e90a8',1,'data_structures::trie']]], - ['truename_113',['truename',['http://en.cppreference.com/w/cpp/locale/numpunct/truefalsename.html',0,'std::numpunct_byname::truename()'],['http://en.cppreference.com/w/cpp/locale/numpunct/truefalsename.html',0,'std::numpunct::truename()']]], - ['trunc_114',['trunc',['http://en.cppreference.com/w/cpp/numeric/math/trunc.html',0,'std']]], - ['try_5flock_115',['try_lock',['http://en.cppreference.com/w/cpp/thread/unique_lock/try_lock.html',0,'std::unique_lock::try_lock()'],['http://en.cppreference.com/w/cpp/thread/recursive_mutex/try_lock.html',0,'std::recursive_mutex::try_lock()'],['http://en.cppreference.com/w/cpp/thread/recursive_timed_mutex/try_lock.html',0,'std::recursive_timed_mutex::try_lock()'],['http://en.cppreference.com/w/cpp/thread/shared_lock/try_lock.html',0,'std::shared_lock::try_lock()'],['http://en.cppreference.com/w/cpp/thread/timed_mutex/try_lock.html',0,'std::timed_mutex::try_lock()'],['http://en.cppreference.com/w/cpp/thread/mutex/try_lock.html',0,'std::mutex::try_lock()'],['http://en.cppreference.com/w/cpp/thread/shared_timed_mutex/try_lock.html',0,'std::shared_timed_mutex::try_lock()'],['http://en.cppreference.com/w/cpp/thread/try_lock.html',0,'std::try_lock()']]], - ['try_5flock_5ffor_116',['try_lock_for',['http://en.cppreference.com/w/cpp/thread/unique_lock/try_lock_for.html',0,'std::unique_lock::try_lock_for()'],['http://en.cppreference.com/w/cpp/thread/recursive_timed_mutex/try_lock_for.html',0,'std::recursive_timed_mutex::try_lock_for()'],['http://en.cppreference.com/w/cpp/thread/shared_lock/try_lock_for.html',0,'std::shared_lock::try_lock_for()'],['http://en.cppreference.com/w/cpp/thread/timed_mutex/try_lock_for.html',0,'std::timed_mutex::try_lock_for()'],['http://en.cppreference.com/w/cpp/thread/shared_timed_mutex/try_lock_for.html',0,'std::shared_timed_mutex::try_lock_for(T... args)']]], - ['try_5flock_5fshared_117',['try_lock_shared',['http://en.cppreference.com/w/cpp/thread/shared_timed_mutex/try_lock_shared.html',0,'std::shared_timed_mutex']]], - ['try_5flock_5fshared_5ffor_118',['try_lock_shared_for',['http://en.cppreference.com/w/cpp/thread/shared_timed_mutex/try_lock_shared_for.html',0,'std::shared_timed_mutex']]], - ['try_5flock_5fshared_5funtil_119',['try_lock_shared_until',['http://en.cppreference.com/w/cpp/thread/shared_timed_mutex/try_lock_shared_until.html',0,'std::shared_timed_mutex']]], - ['try_5flock_5funtil_120',['try_lock_until',['http://en.cppreference.com/w/cpp/thread/unique_lock/try_lock_until.html',0,'std::unique_lock::try_lock_until()'],['http://en.cppreference.com/w/cpp/thread/recursive_timed_mutex/try_lock_until.html',0,'std::recursive_timed_mutex::try_lock_until()'],['http://en.cppreference.com/w/cpp/thread/shared_lock/try_lock_until.html',0,'std::shared_lock::try_lock_until()'],['http://en.cppreference.com/w/cpp/thread/timed_mutex/try_lock_until.html',0,'std::timed_mutex::try_lock_until()'],['http://en.cppreference.com/w/cpp/thread/shared_timed_mutex/try_lock_until.html',0,'std::shared_timed_mutex::try_lock_until()']]], - ['tryleftrotate_121',['TryLeftRotate',['../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#ac5361479dd996eb331759f33808657d9',1,'data_structures::tree_234::Tree234']]], - ['tryrightrotate_122',['TryRightRotate',['../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#aec0642d1d151521ca7c70ea85cdb15d3',1,'data_structures::tree_234::Tree234']]], - ['tuple_123',['tuple',['http://en.cppreference.com/w/cpp/utility/tuple/tuple.html',0,'std::tuple']]], - ['tuple_5fcat_124',['tuple_cat',['http://en.cppreference.com/w/cpp/utility/tuple/tuple_cat.html',0,'std']]], - ['type_5findex_125',['type_index',['http://en.cppreference.com/w/cpp/types/type_index/type_index.html',0,'std::type_index']]] + ['tanh_0',['tanh',['../d2/d58/neural__network_8cpp.html#a371aa7dd5d5add0143d1756bb0a1b32f',1,'machine_learning::neural_network::activations']]], + ['ternary_5fsearch_1',['ternary_search',['../dc/dfe/ternary__search_8cpp.html#aef655a27eb82efa299bf9d0becf6e9c8',1,'ternary_search.cpp']]], + ['test_2',['test',['../db/d82/classlarge__number.html#a959c5c1a982949bbf98e1ea0f9afe6a9',1,'large_number::test()'],['../dd/d1e/generate__parentheses_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): generate_parentheses.cpp'],['../dc/d5a/rat__maze_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): rat_maze.cpp'],['../df/d94/subarray__sum_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): subarray_sum.cpp'],['../d2/d5a/subset__sum_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): subset_sum.cpp'],['../dc/d14/wildcard__matching_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): wildcard_matching.cpp'],['../d7/d56/count__bits__flip_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): count_bits_flip.cpp'],['../da/d50/count__of__trailing__ciphers__in__factorial__n_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): count_of_trailing_ciphers_in_factorial_n.cpp'],['../d6/d38/find__non__repeating__number_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): find_non_repeating_number.cpp'],['../d4/d48/hamming__distance_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): hamming_distance.cpp'],['../d5/d1e/next__higher__number__with__same__number__of__set__bits_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): next_higher_number_with_same_number_of_set_bits.cpp'],['../dc/d6d/power__of__2_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): power_of_2.cpp'],['../d5/db5/set__kth__bit_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): set_kth_bit.cpp'],['../d4/d8f/travelling__salesman__using__bit__manipulation_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): travelling_salesman_using_bit_manipulation.cpp'],['../de/db6/a1z26__cipher_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): a1z26_cipher.cpp'],['../dc/dfb/atbash__cipher_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): atbash_cipher.cpp'],['../d6/d2c/caesar__cipher_8cpp.html#ae1a3968e7947464bee7714f6d43b7002',1,'test(): caesar_cipher.cpp'],['../df/d2c/elliptic__curve__key__exchange_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): elliptic_curve_key_exchange.cpp'],['../d8/d76/morse__code_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): morse_code.cpp'],['../dd/d12/vigenere__cipher_8cpp.html#ae1a3968e7947464bee7714f6d43b7002',1,'test(): vigenere_cipher.cpp'],['../d3/d4c/xor__cipher_8cpp.html#ae1a3968e7947464bee7714f6d43b7002',1,'test(): xor_cipher.cpp'],['../df/d47/fcfs__scheduling_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): fcfs_scheduling.cpp'],['../d7/d00/list__array_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): list_array.cpp'],['../d6/d05/reverse__a__linked__list_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): reverse_a_linked_list.cpp'],['../de/dd1/segment__tree_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): segment_tree.cpp'],['../d8/dab/sparse__table_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): sparse_table.cpp'],['../d0/dd2/treap_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): treap.cpp'],['../d7/d83/trie__tree_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): trie_tree.cpp'],['../d5/d8a/trie__using__hashmap_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): trie_using_hashmap.cpp'],['../da/dd3/karatsuba__algorithm__for__fast__multiplication_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): karatsuba_algorithm_for_fast_multiplication.cpp'],['../db/d16/0__1__knapsack_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): 0_1_knapsack.cpp'],['../d7/d73/abbreviation_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): abbreviation.cpp'],['../d9/d31/coin__change__topdown_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): coin_change_topdown.cpp'],['../d6/d10/cut__rod_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): cut_rod.cpp'],['../d6/d26/house__robber_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): house_robber.cpp'],['../d7/d57/longest__increasing__subsequence_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): longest_increasing_subsequence.cpp'],['../d0/d77/longest__palindromic__subsequence_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): longest_palindromic_subsequence.cpp'],['../db/dfb/maximum__circular__subarray_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): maximum_circular_subarray.cpp'],['../da/d52/minimum__edit__distance_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): minimum_edit_distance.cpp'],['../d5/d90/palindrome__partitioning_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): palindrome_partitioning.cpp'],['../d7/d65/shortest__common__supersequence_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): shortest_common_supersequence.cpp'],['../dc/d67/subset__sum__dynamic_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): subset_sum_dynamic.cpp'],['../d9/d80/trapped__rainwater_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): trapped_rainwater.cpp'],['../d3/d84/word__break_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): word_break.cpp'],['../d4/d8d/jarvis__algorithm_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): jarvis_algorithm.cpp'],['../d8/d99/connected__components__with__dsu_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): connected_components_with_dsu.cpp'],['../d6/dd8/is__graph__bipartite_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): is_graph_bipartite.cpp'],['../d8/db9/topological__sort_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): topological_sort.cpp'],['../da/dd3/namespacespirograph.html#a8e83a64e8443fff1e5ffdc1c299c1e99',1,'spirograph::test()'],['../d6/dba/jump__game_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): jump_game.cpp'],['../d8/d7d/kruskals__minimum__spanning__tree_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): kruskals_minimum_spanning_tree.cpp'],['../d5/d96/md5_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): md5.cpp'],['../d8/d7a/sha1_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): sha1.cpp'],['../d4/d3e/k__nearest__neighbors_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): k_nearest_neighbors.cpp'],['../d2/d58/neural__network_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): neural_network.cpp'],['../de/d99/aliquot__sum_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): aliquot_sum.cpp'],['../dc/d82/area_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): area.cpp'],['../d7/d89/double__factorial_8cpp.html#abbbcebf3a2d0c67f4c3cfb5511a97981',1,'test(uint64_t n, uint64_t expected): double_factorial.cpp'],['../d7/da6/eratosthenes_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): eratosthenes.cpp'],['../da/d23/eulers__totient__function_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): eulers_totient_function.cpp'],['../d9/d89/fibonacci_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): fibonacci.cpp'],['../da/dc9/fibonacci__matrix__exponentiation_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): fibonacci_matrix_exponentiation.cpp'],['../de/dc3/fibonacci__sum_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): fibonacci_sum.cpp'],['../d1/d11/gcd__of__n__numbers_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): gcd_of_n_numbers.cpp'],['../db/d40/integral__approximation2_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): integral_approximation2.cpp'],['../d6/db8/inv__sqrt_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): inv_sqrt.cpp'],['../db/d9f/iterative__factorial_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): iterative_factorial.cpp'],['../d5/d7a/largest__power_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): largest_power.cpp'],['../d5/d83/lcm__sum_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): lcm_sum.cpp'],['../df/d72/modular__division_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): modular_division.cpp'],['../d0/d6d/modular__exponentiation_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): modular_exponentiation.cpp'],['../d8/d53/modular__inverse__fermat__little__theorem_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): modular_inverse_fermat_little_theorem.cpp'],['../d6/d2d/modular__inverse__simple_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): modular_inverse_simple.cpp'],['../db/d27/n__bonacci_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): n_bonacci.cpp'],['../d1/dbb/n__choose__r_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): n_choose_r.cpp'],['../d3/dfe/perimeter_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): perimeter.cpp'],['../d4/d38/power__of__two_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): power_of_two.cpp'],['../da/d18/quadratic__equations__complex__numbers_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): quadratic_equations_complex_numbers.cpp'],['../d4/d9d/sum__of__binomial__coefficient_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): sum_of_binomial_coefficient.cpp'],['../d4/d83/sum__of__digits_8cpp.html#ae1a3968e7947464bee7714f6d43b7002',1,'test(): sum_of_digits.cpp'],['../df/d66/vector__cross__product_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): vector_cross_product.cpp'],['../da/d39/volume_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): volume.cpp'],['../dc/d9c/babylonian__method_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): babylonian_method.cpp'],['../d4/d18/composite__simpson__rule_8cpp.html#a2ae48a41e43dc6ab11b962742349646e',1,'test(std::int32_t N, double h, double a, double b, bool used_argv_parameters): composite_simpson_rule.cpp'],['../d8/d9a/fast__fourier__transform_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): fast_fourier_transform.cpp'],['../d5/d33/gram__schmidt_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): gram_schmidt.cpp'],['../d9/d37/inverse__fast__fourier__transform_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): inverse_fast_fourier_transform.cpp'],['../df/d11/midpoint__integral__method_8cpp.html#a2ae48a41e43dc6ab11b962742349646e',1,'test(std::int32_t N, double h, double a, double b, bool used_argv_parameters): midpoint_integral_method.cpp'],['../d1/da6/rungekutta_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): rungekutta.cpp'],['../d9/d14/array__left__rotation_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): array_left_rotation.cpp'],['../d6/d57/array__right__rotation_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): array_right_rotation.cpp'],['../de/d33/circular__linked__list_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): circular_linked_list.cpp'],['../d4/d32/inorder__successor__of__bst_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): inorder_successor_of_bst.cpp'],['../de/dc5/intersection__of__two__arrays_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): intersection_of_two_arrays.cpp'],['../d4/db6/reverse__binary__tree_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): reverse_binary_tree.cpp'],['../d7/def/trie__multiple__search_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): trie_multiple_search.cpp'],['../d8/d9c/union__of__two__arrays_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): union_of_two_arrays.cpp'],['../de/dcd/kadanes3_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): kadanes3.cpp'],['../d9/d65/lfu__cache_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): lfu_cache.cpp'],['../dc/daa/lru__cache2_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): lru_cache2.cpp'],['../d0/d01/smallest__circle_8cpp.html#ae1a3968e7947464bee7714f6d43b7002',1,'test(): smallest_circle.cpp'],['../d9/d29/ground__to__ground__projectile__motion_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): ground_to_ground_projectile_motion.cpp'],['../d9/da2/exponential__dist_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): exponential_dist.cpp'],['../de/d72/geometric__dist_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): geometric_dist.cpp'],['../d1/ded/windowed__median_8cpp.html#a6dc652a36ea42ba262c4e4236e3e6601',1,'test(const std::vector< int > &vals, int windowSize): windowed_median.cpp'],['../d5/d58/persistent__seg__tree__lazy__prop_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): persistent_seg_tree_lazy_prop.cpp'],['../d1/d9e/prefix__sum__array_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): prefix_sum_array.cpp'],['../d2/d45/segtree_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): segtree.cpp'],['../db/dc4/floyd__cycle__detection__algo_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): floyd_cycle_detection_algo.cpp'],['../d9/d69/median__search_8cpp.html#ae1a3968e7947464bee7714f6d43b7002',1,'test(): median_search.cpp'],['../d8/dfa/median__search2_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): median_search2.cpp'],['../d3/d22/saddleback__search_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): saddleback_search.cpp'],['../d5/d45/sublist__search_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): sublist_search.cpp'],['../dc/db5/text__search_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): text_search.cpp'],['../d8/dcc/binary__insertion__sort_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): binary_insertion_sort.cpp'],['../d5/ddb/bogo__sort_8cpp.html#ae1a3968e7947464bee7714f6d43b7002',1,'test(): bogo_sort.cpp'],['../d8/d13/bubble__sort_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): bubble_sort.cpp'],['../d2/d26/count__inversions_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): count_inversions.cpp'],['../de/d07/cycle__sort_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): cycle_sort.cpp'],['../d6/d1a/dnf__sort_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): dnf_sort.cpp'],['../d2/d21/gnome__sort_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): gnome_sort.cpp'],['../d2/d52/heap__sort_8cpp.html#ae1a3968e7947464bee7714f6d43b7002',1,'test(): heap_sort.cpp'],['../de/d7b/merge__insertion__sort_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): merge_insertion_sort.cpp'],['../d3/d92/pancake__sort_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): pancake_sort.cpp'],['../d1/daa/random__pivot__quick__sort_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): random_pivot_quick_sort.cpp'],['../d3/df9/recursive__bubble__sort_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): recursive_bubble_sort.cpp'],['../d4/d9f/selection__sort__recursive_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): selection_sort_recursive.cpp'],['../dc/dd9/strand__sort_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): strand_sort.cpp'],['../db/d3f/wave__sort_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): wave_sort.cpp'],['../d5/d4c/group__sorting.html#gaa8dca7b867074164d5f45b0f3851269d',1,'test(): wiggle_sort.cpp'],['../db/d09/duval_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): duval.cpp'],['../d3/dfe/horspool_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): horspool.cpp'],['../d3/d39/manacher__algorithm_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): manacher_algorithm.cpp'],['../d3/d80/z__function_8cpp.html#aa8dca7b867074164d5f45b0f3851269d',1,'test(): z_function.cpp']]], + ['test1_3',['test1',['../d7/db9/hill__cipher_8cpp.html#a3147ad576f8a94a2a6b66948672b452b',1,'test1(const std::string &text): hill_cipher.cpp'],['../d3/dae/dsu__path__compression_8cpp.html#ae7880ce913f3058a35ff106d5be9e243',1,'test1(): dsu_path_compression.cpp'],['../df/d28/dsu__union__rank_8cpp.html#ae7880ce913f3058a35ff106d5be9e243',1,'test1(): dsu_union_rank.cpp'],['../db/dbc/tree__234_8cpp.html#ae7880ce913f3058a35ff106d5be9e243',1,'test1(): tree_234.cpp'],['../dd/d0c/hamiltons__cycle_8cpp.html#ae7880ce913f3058a35ff106d5be9e243',1,'test1(): hamiltons_cycle.cpp'],['../d5/db0/adaline__learning_8cpp.html#a52053d88ea1bcbbed9aca67ab4eeb499',1,'test1(double eta=0.01): adaline_learning.cpp'],['../d4/def/kohonen__som__topology_8cpp.html#a1440a7779ac56f47a3f355ce4a8c7da0',1,'test1(): kohonen_som_topology.cpp'],['../d9/d49/kohonen__som__trace_8cpp.html#a1440a7779ac56f47a3f355ce4a8c7da0',1,'test1(): kohonen_som_trace.cpp'],['../d6/d9d/large__factorial_8cpp.html#a3f93b60e229b6683e24c4754a7106ee8',1,'test1(): large_factorial.cpp'],['../d4/d83/sum__of__digits_8cpp.html#a1440a7779ac56f47a3f355ce4a8c7da0',1,'test1(): sum_of_digits.cpp'],['../db/d01/brent__method__extrema_8cpp.html#a1440a7779ac56f47a3f355ce4a8c7da0',1,'test1(): brent_method_extrema.cpp'],['../da/df2/durand__kerner__roots_8cpp.html#a1440a7779ac56f47a3f355ce4a8c7da0',1,'test1(): durand_kerner_roots.cpp'],['../d6/d7a/golden__search__extrema_8cpp.html#a1440a7779ac56f47a3f355ce4a8c7da0',1,'test1(): golden_search_extrema.cpp'],['../dd/d65/lu__decompose_8cpp.html#a1440a7779ac56f47a3f355ce4a8c7da0',1,'test1(): lu_decompose.cpp'],['../de/d75/qr__eigen__values_8cpp.html#a1440a7779ac56f47a3f355ce4a8c7da0',1,'test1(): qr_eigen_values.cpp'],['../d9/df4/namespacetests.html#a167c24bd817469ae47358d12e034f2d5',1,'tests::test1()'],['../d8/d90/iterative__tree__traversals_8cpp.html#a21d922dbb5905993960c6a7f0ba71ac0',1,'test1(others::iterative_tree_traversals::BinaryTree binaryTree, others::iterative_tree_traversals::Node *root): iterative_tree_traversals.cpp'],['../dc/de1/recursive__tree__traversal_8cpp.html#a1440a7779ac56f47a3f355ce4a8c7da0',1,'test1(): recursive_tree_traversal.cpp'],['../d4/d4f/stooge__sort_8cpp.html#a1440a7779ac56f47a3f355ce4a8c7da0',1,'test1(): stooge_sort.cpp']]], + ['test2_4',['test2',['../d7/db9/hill__cipher_8cpp.html#a04391124480d2a49f2dec900237b0712',1,'test2(const std::string &text): hill_cipher.cpp'],['../d3/dae/dsu__path__compression_8cpp.html#a45d94ead4cf4e1ff9f87c38bc99f59ae',1,'test2(): dsu_path_compression.cpp'],['../df/d28/dsu__union__rank_8cpp.html#a45d94ead4cf4e1ff9f87c38bc99f59ae',1,'test2(): dsu_union_rank.cpp'],['../db/dbc/tree__234_8cpp.html#af1ac73779b0fcfbbdce3976c0ca57342',1,'test2(int64_t n): tree_234.cpp'],['../dd/d0c/hamiltons__cycle_8cpp.html#a45d94ead4cf4e1ff9f87c38bc99f59ae',1,'test2(): hamiltons_cycle.cpp'],['../d5/db0/adaline__learning_8cpp.html#a379f7488a305f2571f2932b319931f82',1,'test2(double eta=0.01): adaline_learning.cpp'],['../d4/def/kohonen__som__topology_8cpp.html#a0283886819c7c140a023582b7269e2d0',1,'test2(): kohonen_som_topology.cpp'],['../d9/d49/kohonen__som__trace_8cpp.html#a0283886819c7c140a023582b7269e2d0',1,'test2(): kohonen_som_trace.cpp'],['../d6/d9d/large__factorial_8cpp.html#a76aae4778fbe89a3d59fd61fbc050cfa',1,'test2(): large_factorial.cpp'],['../d4/d83/sum__of__digits_8cpp.html#a0283886819c7c140a023582b7269e2d0',1,'test2(): sum_of_digits.cpp'],['../db/d01/brent__method__extrema_8cpp.html#a0283886819c7c140a023582b7269e2d0',1,'test2(): brent_method_extrema.cpp'],['../da/df2/durand__kerner__roots_8cpp.html#a0283886819c7c140a023582b7269e2d0',1,'test2(): durand_kerner_roots.cpp'],['../d6/d7a/golden__search__extrema_8cpp.html#a0283886819c7c140a023582b7269e2d0',1,'test2(): golden_search_extrema.cpp'],['../dd/d65/lu__decompose_8cpp.html#a0283886819c7c140a023582b7269e2d0',1,'test2(): lu_decompose.cpp'],['../de/d75/qr__eigen__values_8cpp.html#a0283886819c7c140a023582b7269e2d0',1,'test2(): qr_eigen_values.cpp'],['../d9/df4/namespacetests.html#abdd77344d4af8fd56d14a5cabbf2f669',1,'tests::test2()'],['../d8/d90/iterative__tree__traversals_8cpp.html#ac35ae2868441f8a11c965b87b2494f21',1,'test2(others::iterative_tree_traversals::BinaryTree binaryTree, others::iterative_tree_traversals::Node *root): iterative_tree_traversals.cpp'],['../dc/de1/recursive__tree__traversal_8cpp.html#a0283886819c7c140a023582b7269e2d0',1,'test2(): recursive_tree_traversal.cpp'],['../d0/d01/smallest__circle_8cpp.html#a0283886819c7c140a023582b7269e2d0',1,'test2(): smallest_circle.cpp'],['../d4/d4f/stooge__sort_8cpp.html#a0283886819c7c140a023582b7269e2d0',1,'test2(): stooge_sort.cpp']]], + ['test3_5',['test3',['../dd/d0c/hamiltons__cycle_8cpp.html#a0cc94918b6831f308d4fe4fa27f08299',1,'test3(): hamiltons_cycle.cpp'],['../d5/db0/adaline__learning_8cpp.html#a992bdf1fdb0b9d414bcf7981d2d87aa9',1,'test3(double eta=0.01): adaline_learning.cpp'],['../d4/def/kohonen__som__topology_8cpp.html#a6d0455dd5c30adda100e95f0423c786e',1,'test3(): kohonen_som_topology.cpp'],['../d9/d49/kohonen__som__trace_8cpp.html#a6d0455dd5c30adda100e95f0423c786e',1,'test3(): kohonen_som_trace.cpp'],['../db/d01/brent__method__extrema_8cpp.html#a6d0455dd5c30adda100e95f0423c786e',1,'test3(): brent_method_extrema.cpp'],['../d6/d7a/golden__search__extrema_8cpp.html#a6d0455dd5c30adda100e95f0423c786e',1,'test3(): golden_search_extrema.cpp'],['../d9/df4/namespacetests.html#aa515639572647508b94986489aab6d76',1,'tests::test3()'],['../d8/d90/iterative__tree__traversals_8cpp.html#a425c4c8520991999ee6dbe13d99b87f4',1,'test3(others::iterative_tree_traversals::BinaryTree binaryTree, others::iterative_tree_traversals::Node *root): iterative_tree_traversals.cpp'],['../dc/de1/recursive__tree__traversal_8cpp.html#a6d0455dd5c30adda100e95f0423c786e',1,'test3(): recursive_tree_traversal.cpp'],['../d0/d01/smallest__circle_8cpp.html#a6d0455dd5c30adda100e95f0423c786e',1,'test3(): smallest_circle.cpp'],['../d4/d4f/stooge__sort_8cpp.html#a6d0455dd5c30adda100e95f0423c786e',1,'test3(): stooge_sort.cpp']]], + ['test4_6',['test4',['../d9/df4/namespacetests.html#a2b9769e44683dcb67fe1083ad91e134d',1,'tests::test4()'],['../d8/d90/iterative__tree__traversals_8cpp.html#a038b236fe900f7bb7e57164f5bed66c2',1,'test4(): iterative_tree_traversals.cpp']]], + ['test5_7',['test5',['../d9/df4/namespacetests.html#af7b81d7a1534216af6a36a80135beb86',1,'tests::test5()'],['../d8/d90/iterative__tree__traversals_8cpp.html#aa9ef334cd7eb607f4eb8732566ea00b8',1,'test5(): iterative_tree_traversals.cpp']]], + ['test6_8',['test6',['../d9/df4/namespacetests.html#aacafde185abd8670abee51157f273dc2',1,'tests::test6()'],['../d8/d90/iterative__tree__traversals_8cpp.html#af727f920064f2b8f484b589b60d49b89',1,'test6(): iterative_tree_traversals.cpp']]], + ['test_5f1_9',['test_1',['../d3/db3/lru__cache_8cpp.html#a6401e8f2d41d8cc9cd0e52ab381608d4',1,'lru_tests::test_1()'],['../d2/de9/heavy__light__decomposition_8cpp.html#a34b8683a2b429de5cce57e6d733ec817',1,'test_1(): heavy_light_decomposition.cpp'],['../dd/da8/pigeonhole__sort_8cpp.html#a34b8683a2b429de5cce57e6d733ec817',1,'test_1(): pigeonhole_sort.cpp']]], + ['test_5f2_10',['test_2',['../d3/db3/lru__cache_8cpp.html#a4b02e288a407876a8d6024f98a2a25ec',1,'lru_tests::test_2()'],['../d2/de9/heavy__light__decomposition_8cpp.html#a458410412185a5f09199deaff7157a8d',1,'test_2(): heavy_light_decomposition.cpp'],['../dd/da8/pigeonhole__sort_8cpp.html#a458410412185a5f09199deaff7157a8d',1,'test_2(): pigeonhole_sort.cpp']]], + ['test_5f2d_5fclasses_11',['test_2d_classes',['../d4/def/kohonen__som__topology_8cpp.html#a48efb079040c7aaa3a4917a0e486cba9',1,'kohonen_som_topology.cpp']]], + ['test_5f3_12',['test_3',['../d3/db3/lru__cache_8cpp.html#a01ec21fc91ddafd964ae2035ba7892c0',1,'lru_tests::test_3()'],['../d2/de9/heavy__light__decomposition_8cpp.html#af31ec5409537703d9c8a47350386b32a',1,'test_3(): heavy_light_decomposition.cpp'],['../dd/da8/pigeonhole__sort_8cpp.html#af31ec5409537703d9c8a47350386b32a',1,'test_3(): pigeonhole_sort.cpp']]], + ['test_5f3d_5fclasses_13',['test_3d_classes',['../d9/d49/kohonen__som__trace_8cpp.html#a7154fe319e6033485a8a6cd6f0d8932d',1,'kohonen_som_trace.cpp']]], + ['test_5f3d_5fclasses1_14',['test_3d_classes1',['../d4/def/kohonen__som__topology_8cpp.html#a1302662a56ebf67a21249270b017297e',1,'kohonen_som_topology.cpp']]], + ['test_5f3d_5fclasses2_15',['test_3d_classes2',['../d4/def/kohonen__som__topology_8cpp.html#a4b7ab643f6a5002f991837de46f70653',1,'kohonen_som_topology.cpp']]], + ['test_5fbitset_16',['test_bitset',['../d9/dab/bloom__filter_8cpp.html#a6e509afe40db07681f676ad8da4fb905',1,'bloom_filter.cpp']]], + ['test_5fbloom_5ffilter_5fint_17',['test_bloom_filter_int',['../d9/dab/bloom__filter_8cpp.html#a30edc0d2bb59c185baec81d69d20ed3b',1,'bloom_filter.cpp']]], + ['test_5fbloom_5ffilter_5fstring_18',['test_bloom_filter_string',['../d9/dab/bloom__filter_8cpp.html#a71f57bf262fe55db928b19dc124cc0d8',1,'bloom_filter.cpp']]], + ['test_5fcircle_19',['test_circle',['../d9/d49/kohonen__som__trace_8cpp.html#ae571600aa42a81bc14a4a602ea5ff00d',1,'kohonen_som_trace.cpp']]], + ['test_5fcompute_5fpadded_5fsize_20',['test_compute_padded_size',['../d4/d08/sha256_8cpp.html#af9b52eba85d23e309035354141259f27',1,'sha256.cpp']]], + ['test_5fcontains_21',['test_contains',['../df/d42/binary__search__tree2_8cpp.html#a1d42876440ac5346e2850a32497385c3',1,'binary_search_tree2.cpp']]], + ['test_5fdouble_22',['test_double',['../d3/d4c/quick__sort__3_8cpp.html#a2635b04ad943fa28b7bbf8d1e6479792',1,'quick_sort_3.cpp']]], + ['test_5feval_23',['test_eval',['../dd/d47/namespacemath.html#a50936ee98f4d40f17823befc65a32aec',1,'math']]], + ['test_5ff_24',['test_f',['../d4/d7a/shell__sort2_8cpp.html#a22ea0d1f7943ebb4371d31e44b465b6d',1,'shell_sort2.cpp']]], + ['test_5ffind_5fmax_25',['test_find_max',['../df/d42/binary__search__tree2_8cpp.html#a9856b68e2cba50d2e26a1cbe374e0365',1,'binary_search_tree2.cpp']]], + ['test_5ffind_5fmin_26',['test_find_min',['../df/d42/binary__search__tree2_8cpp.html#af2847a901160fd45b4044550e9921cb4',1,'binary_search_tree2.cpp']]], + ['test_5ffindgraphsum_27',['test_findGraphSum',['../d4/d6c/boruvkas__minimum__spanning__tree_8cpp.html#a2311b22324cf09926726e4ce1309af8b',1,'greedy_algorithms::boruvkas_minimum_spanning_tree']]], + ['test_5ffunction_28',['test_function',['../d0/d08/realtime__stats_8cpp.html#aa54c915581fcc495489175a4386d59fd',1,'realtime_stats.cpp']]], + ['test_5ffunction_5f1_29',['test_function_1',['../d7/d75/postfix__evaluation_8cpp.html#a6a8eeb7d346d5cd6335d9780fb7c0f15',1,'postfix_evaluation.cpp']]], + ['test_5ffunction_5f2_30',['test_function_2',['../d7/d75/postfix__evaluation_8cpp.html#a5b97d12e8b61484f756a8721992bfae1',1,'postfix_evaluation.cpp']]], + ['test_5fget_5felements_5finorder_31',['test_get_elements_inorder',['../df/d42/binary__search__tree2_8cpp.html#a06f35064850e891d6fda0093c0d9ee6e',1,'binary_search_tree2.cpp']]], + ['test_5fget_5felements_5fpostorder_32',['test_get_elements_postorder',['../df/d42/binary__search__tree2_8cpp.html#a94b76f781fcbe1ad0e3397ace6bb1965',1,'binary_search_tree2.cpp']]], + ['test_5fget_5felements_5fpreorder_33',['test_get_elements_preorder',['../df/d42/binary__search__tree2_8cpp.html#ab00b8d0f21aeb5fbddb6decf3bcb640a',1,'binary_search_tree2.cpp']]], + ['test_5finsert_34',['test_insert',['../df/d42/binary__search__tree2_8cpp.html#a8c882f43e1e52948a7841a8bfb091350',1,'binary_search_tree2.cpp']]], + ['test_5fint_35',['test_int',['../d3/d4c/quick__sort__3_8cpp.html#a07e5c62de28aeddea986890ce7ac1bda',1,'test_int(): quick_sort_3.cpp'],['../d4/d7a/shell__sort2_8cpp.html#a895b313cb2671e8f712040460325573e',1,'test_int(const int NUM_DATA): shell_sort2.cpp']]], + ['test_5flamniscate_36',['test_lamniscate',['../d9/d49/kohonen__som__trace_8cpp.html#a53082f2e5bacec40266499da4547309a',1,'kohonen_som_trace.cpp']]], + ['test_5flongest_5fcommon_5fstring_5flength_37',['test_longest_common_string_length',['../da/d0d/longest__common__string_8cpp.html#a9b229daad982a186a4d8d90aa8f38561',1,'longest_common_string.cpp']]], + ['test_5flongest_5fcommon_5fstring_5flength_5ffor_5freversed_5finputs_38',['test_longest_common_string_length_for_reversed_inputs',['../da/d0d/longest__common__string_8cpp.html#a23ab67b0d9600697695fc8679462d8fe',1,'longest_common_string.cpp']]], + ['test_5flongest_5fcommon_5fstring_5flength_5fis_5fsymmetric_39',['test_longest_common_string_length_is_symmetric',['../da/d0d/longest__common__string_8cpp.html#ad1e613c1b85cc04ed931b6c745fec155',1,'longest_common_string.cpp']]], + ['test_5fremove_40',['test_remove',['../df/d42/binary__search__tree2_8cpp.html#ab1333c3ea06dcad896ee204bbd407c4e',1,'binary_search_tree2.cpp']]], + ['testcase_5f1_41',['testCase_1',['../d5/d58/class_test_cases.html#ac2636e8b5b9e053374c45bfcf0603008',1,'TestCases::testCase_1()'],['../d5/d58/class_test_cases.html#ac2636e8b5b9e053374c45bfcf0603008',1,'TestCases::testCase_1()'],['../d5/d58/class_test_cases.html#ac2636e8b5b9e053374c45bfcf0603008',1,'TestCases::testCase_1()']]], + ['testcase_5f2_42',['testCase_2',['../d5/d58/class_test_cases.html#abae0148985f159b582a385cf399254e3',1,'TestCases::testCase_2()'],['../d5/d58/class_test_cases.html#abae0148985f159b582a385cf399254e3',1,'TestCases::testCase_2()'],['../d5/d58/class_test_cases.html#abae0148985f159b582a385cf399254e3',1,'TestCases::testCase_2()']]], + ['testcase_5f3_43',['testCase_3',['../d5/d58/class_test_cases.html#ad9f95c09931625b41e3be1f88d1e28c5',1,'TestCases::testCase_3()'],['../d5/d58/class_test_cases.html#ad9f95c09931625b41e3be1f88d1e28c5',1,'TestCases::testCase_3()'],['../d5/d58/class_test_cases.html#ad9f95c09931625b41e3be1f88d1e28c5',1,'TestCases::testCase_3()']]], + ['tests_44',['tests',['../d1/da7/armstrong__number__templated_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e',1,'tests(): armstrong_number_templated.cpp'],['../da/d0d/longest__common__string_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e',1,'tests(): longest_common_string.cpp'],['../d9/dec/unbounded__0__1__knapsack_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e',1,'tests(): unbounded_0_1_knapsack.cpp'],['../d7/d07/bidirectional__dijkstra_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e',1,'tests(): bidirectional_dijkstra.cpp'],['../df/d82/breadth__first__search_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e',1,'tests(): breadth_first_search.cpp'],['../df/ddd/connected__components_8cpp.html#a88ec9ad42717780d6caaff9d3d6977f9',1,'tests(): connected_components.cpp'],['../da/d4b/depth__first__search__with__stack_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e',1,'tests(): depth_first_search_with_stack.cpp'],['../d8/d68/dijkstra_8cpp.html#a88ec9ad42717780d6caaff9d3d6977f9',1,'tests(): dijkstra.cpp'],['../d1/d9a/hopcroft__karp_8cpp.html#a88ec9ad42717780d6caaff9d3d6977f9',1,'tests(): hopcroft_karp.cpp'],['../de/dde/lowest__common__ancestor_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e',1,'tests(): lowest_common_ancestor.cpp'],['../de/d88/travelling__salesman__problem_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e',1,'tests(): travelling_salesman_problem.cpp'],['../d9/d1f/binary__addition_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e',1,'tests(): binary_addition.cpp'],['../d4/d6c/boruvkas__minimum__spanning__tree_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e',1,'tests(): boruvkas_minimum_spanning_tree.cpp'],['../d3/d36/digit__separation_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e',1,'tests(): digit_separation.cpp'],['../da/de8/dijkstra__greedy_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e',1,'tests(): dijkstra_greedy.cpp'],['../db/d80/gale__shapley_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e',1,'tests(): gale_shapley.cpp'],['../d0/d51/approximate__pi_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e',1,'tests(): approximate_pi.cpp'],['../d8/db1/binomial__calculate_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e',1,'tests(): binomial_calculate.cpp'],['../d5/df6/check__amicable__pair_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e',1,'tests(): check_amicable_pair.cpp'],['../d8/dd5/check__factorial_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e',1,'tests(): check_factorial.cpp'],['../db/d93/check__prime_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e',1,'tests(): check_prime.cpp'],['../d5/d67/complex__numbers_8cpp.html#a88ec9ad42717780d6caaff9d3d6977f9',1,'tests(): complex_numbers.cpp'],['../d7/d89/double__factorial_8cpp.html#a88ec9ad42717780d6caaff9d3d6977f9',1,'tests(): double_factorial.cpp'],['../d9/d00/factorial_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e',1,'tests(): factorial.cpp'],['../d4/d21/least__common__multiple_8cpp.html#a88ec9ad42717780d6caaff9d3d6977f9',1,'tests(): least_common_multiple.cpp'],['../d9/d44/magic__number_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e',1,'tests(): magic_number.cpp'],['../d6/d42/miller__rabin_8cpp.html#a88ec9ad42717780d6caaff9d3d6977f9',1,'tests(): miller_rabin.cpp'],['../de/dab/ncr__modulo__p_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e',1,'tests(): ncr_modulo_p.cpp'],['../d0/da2/number__of__positive__divisors_8cpp.html#a88ec9ad42717780d6caaff9d3d6977f9',1,'tests(): number_of_positive_divisors.cpp'],['../d8/ddf/sieve__of__eratosthenes_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e',1,'tests(): sieve_of_eratosthenes.cpp'],['../db/d6b/kelvin__to__celsius_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e',1,'tests(): kelvin_to_celsius.cpp'],['../d4/db8/longest__substring__without__repeating__characters_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e',1,'tests(): longest_substring_without_repeating_characters.cpp'],['../dc/de1/recursive__tree__traversal_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e',1,'tests(): recursive_tree_traversal.cpp'],['../d6/d2e/fenwick__tree_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e',1,'tests(): fenwick_tree.cpp'],['../d9/d02/linear__search_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e',1,'tests(): linear_search.cpp'],['../d9/d5f/longest__increasing__subsequence__using__binary__search_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e',1,'tests(): longest_increasing_subsequence_using_binary_search.cpp'],['../d9/dfd/comb__sort_8cpp.html#a88ec9ad42717780d6caaff9d3d6977f9',1,'tests(): comb_sort.cpp'],['../dd/d0d/insertion__sort_8cpp.html#a88ec9ad42717780d6caaff9d3d6977f9',1,'tests(): insertion_sort.cpp'],['../dd/d89/insertion__sort__recursive_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e',1,'tests(): insertion_sort_recursive.cpp'],['../d1/d21/quick__sort_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e',1,'tests(): quick_sort.cpp'],['../d3/d22/quick__sort__iterative_8cpp.html#a88ec9ad42717780d6caaff9d3d6977f9',1,'tests(): quick_sort_iterative.cpp'],['../d8/d61/radix__sort2_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e',1,'tests(): radix_sort2.cpp'],['../d3/db2/boyer__moore_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e',1,'tests(): boyer_moore.cpp'],['../de/d6a/knuth__morris__pratt_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e',1,'tests(): knuth_morris_pratt.cpp']]], + ['th_45',['TH',['../db/d3c/tower__of__hanoi_8cpp.html#ab037f72a5eac476535a6cfbbcb965417',1,'tower_of_hanoi.cpp']]], + ['time_5fof_5fflight_46',['time_of_flight',['../d9/d29/ground__to__ground__projectile__motion_8cpp.html#a563e066975fed1b84750a0a47c3cbb37',1,'physics::ground_to_ground_projectile_motion']]], + ['to_5fstring_47',['to_string',['../d6/d84/classhashing_1_1sha256_1_1_hash.html#a4581f503a263d8e928e5716d54477e08',1,'hashing::sha256::Hash']]], + ['tolittleendian32_48',['toLittleEndian32',['../d5/d96/md5_8cpp.html#a694712c9665051ba52b686387b87a689',1,'hashing::md5']]], + ['tolittleendian64_49',['toLittleEndian64',['../d5/d96/md5_8cpp.html#a6be48c1e6e742f9bd329f501d61dcaef',1,'hashing::md5']]], + ['tolowerroman_50',['tolowerRoman',['../de/d85/decimal__to__roman__numeral_8cpp.html#a003fb4e1b08279fe4cd50fbbc2782c2d',1,'decimal_to_roman_numeral.cpp']]], + ['top_51',['top',['../d1/def/classdata__structures_1_1linked__list_1_1list.html#a9785d1478e59f5a90288b2928a7094d6',1,'data_structures::linked_list::list::top()'],['../d1/dc2/classstack.html#ae09630c4384903d187801921b2ddc709',1,'stack::top()'],['../db/d5b/structdata__structures_1_1stack__using__queue_1_1_stack.html#a5540434e1b41245205eee86f664906f7',1,'data_structures::stack_using_queue::Stack::top()']]], + ['topmost_52',['topmost',['../d2/dc8/classdata__structures_1_1_stack.html#a61dc70e128ee64c9684f03a4c04818b0',1,'data_structures::Stack']]], + ['topologicalsort_53',['topologicalSort',['../d8/db9/topological__sort_8cpp.html#a54dc5d7914958dbd24dda2fd862dc41b',1,'graph::topological_sort']]], + ['toupperroman_54',['toupperRoman',['../de/d85/decimal__to__roman__numeral_8cpp.html#a214743638eff1336f835310049aef979',1,'decimal_to_roman_numeral.cpp']]], + ['tovector_55',['toVector',['../db/da9/classqueue.html#a386fc1df8610948d3117b12f24655c7d',1,'queue']]], + ['transpose_56',['transpose',['../d8/d77/namespacemachine__learning.html#a89fde571b38f9483576594f66572958a',1,'machine_learning']]], + ['trappedrainwater_57',['trappedRainwater',['../dd/d24/namespacedynamic__programming.html#a066e0e739e7c276eee6e61d5b4d37ce8',1,'dynamic_programming']]], + ['travelling_5fsalesman_5fusing_5fbit_5fmanipulation_58',['travelling_salesman_using_bit_manipulation',['../d4/d8f/travelling__salesman__using__bit__manipulation_8cpp.html#ad08f082be02c3437c2fe89cb035fcee1',1,'bit_manipulation::travelling_salesman_using_bit_manipulation']]], + ['travellingsalesmanproblem_59',['TravellingSalesmanProblem',['../df/dce/namespacegraph.html#ab7706341d006e20d1ae58274187a3346',1,'graph']]], + ['traverse_60',['Traverse',['../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a84ab7b4fe7442b5e2eeed8c050bb86bd',1,'data_structures::tree_234::Tree234::Traverse()'],['../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a936bb546e6a94d8b9d35b30ee1bb291a',1,'data_structures::tree_234::Tree234::Traverse(Node *tree)']]], + ['traverse_61',['traverse',['../d1/def/classdata__structures_1_1linked__list_1_1list.html#a2b951a3f1123b9b2f4891ec96aa76d69',1,'data_structures::linked_list::list']]], + ['traverse_5finorder_62',['traverse_inorder',['../d9/dde/classbinary__search__tree.html#a2fcf37549bd002c174a45b0b4203c2bd',1,'binary_search_tree']]], + ['traverse_5fpostorder_63',['traverse_postorder',['../d9/dde/classbinary__search__tree.html#a87c0a35845d27e0f6fc1f4eaa0333362',1,'binary_search_tree']]], + ['traverse_5fpreorder_64',['traverse_preorder',['../d9/dde/classbinary__search__tree.html#ab81edd415324d372632c42dc7dbcb9e1',1,'binary_search_tree']]], + ['treap_65',['Treap',['../d5/d95/structdata__structures_1_1treap_1_1_treap.html#a5d200493aeaa02a269f6b6deda39a683',1,'data_structures::treap::Treap']]], + ['tree_66',['Tree',['../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html#a835fb2bbb27307b8cacad9b287968bc1',1,'range_queries::heavy_light_decomposition::Tree']]], + ['triangle_5farea_67',['triangle_area',['../dd/d47/namespacemath.html#ab3b920cc56442abd92279ba23b50f4dc',1,'math']]], + ['triangle_5fperimeter_68',['triangle_perimeter',['../dd/d47/namespacemath.html#a3d1e4db743b189f309327572663415f3',1,'math']]], + ['triangle_5fprism_5fvolume_69',['triangle_prism_volume',['../dd/d47/namespacemath.html#a2d704a7b72a6b2db8b76c8581b577b2c',1,'math']]], + ['trianglearea_70',['TriangleArea',['../d0/d01/smallest__circle_8cpp.html#a94682a4a70d5906857ca09de5b9fb2cc',1,'smallest_circle.cpp']]], + ['trie_71',['Trie',['../dd/d2f/class_trie.html#a6af57e9f25d0d0a2d59eea5a4a802908',1,'Trie::Trie()'],['../d3/d26/classdata__structures_1_1trie__using__hashmap_1_1_trie.html#a092d0805a9e647c2048777dbe67b35ab',1,'data_structures::trie_using_hashmap::Trie::Trie()']]], + ['trie_72',['trie',['../d0/d3e/classdata__structures_1_1trie.html#a87d8bf99aea936f9381141753f1e90a8',1,'data_structures::trie']]], + ['tryleftrotate_73',['TryLeftRotate',['../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#ac5361479dd996eb331759f33808657d9',1,'data_structures::tree_234::Tree234']]], + ['tryrightrotate_74',['TryRightRotate',['../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#aec0642d1d151521ca7c70ea85cdb15d3',1,'data_structures::tree_234::Tree234']]] ]; diff --git a/search/functions_15.js b/search/functions_15.js index bd847d05f..8ac1d9e76 100644 --- a/search/functions_15.js +++ b/search/functions_15.js @@ -1,55 +1,19 @@ var searchData= [ - ['u16string_0',['u16string',['http://en.cppreference.com/w/cpp/string/basic_string/basic_string.html',0,'std::u16string']]], - ['u32string_1',['u32string',['http://en.cppreference.com/w/cpp/string/basic_string/basic_string.html',0,'std::u32string']]], - ['uflow_2',['uflow',['http://en.cppreference.com/w/cpp/io/basic_streambuf/uflow.html',0,'std::basic_filebuf::uflow()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/uflow.html',0,'std::wstringbuf::uflow()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/uflow.html',0,'std::stringbuf::uflow()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/uflow.html',0,'std::wfilebuf::uflow()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/uflow.html',0,'std::wstreambuf::uflow()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/uflow.html',0,'std::strstreambuf::uflow()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/uflow.html',0,'std::basic_stringbuf::uflow()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/uflow.html',0,'std::basic_streambuf::uflow()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/uflow.html',0,'std::filebuf::uflow()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/uflow.html',0,'std::streambuf::uflow()']]], - ['uint128_5ft_3',['uint128_t',['../db/d9a/classuint128__t.html#adce2432b148fe18179a5ea272f4eb040',1,'uint128_t::uint128_t(T low)'],['../db/d9a/classuint128__t.html#a0b6612186d8f678452e011d08ee1f5ac',1,'uint128_t::uint128_t(const std::string &str)'],['../db/d9a/classuint128__t.html#a95ac8be8f414fcbce09301b912f5079d',1,'uint128_t::uint128_t(const uint64_t high, const uint64_t low)'],['../db/d9a/classuint128__t.html#a60bf2739c93bb1cd41654fd60c76ae6b',1,'uint128_t::uint128_t(const uint128_t &num)=default'],['../db/d9a/classuint128__t.html#a7d56143b2e291e8087188192533d2e3c',1,'uint128_t::uint128_t(uint128_t &&num) noexcept']]], - ['uint128_5ft_5ftests_4',['uint128_t_tests',['../df/d2c/elliptic__curve__key__exchange_8cpp.html#a8800c8a84d77dadadb05ad5e83b77ef4',1,'elliptic_curve_key_exchange.cpp']]], - ['uint256_5ft_5',['uint256_t',['../d1/d83/classuint256__t.html#aed0f8c3d5be23644c4bcb2fd2551e1dc',1,'uint256_t::uint256_t(T low)'],['../d1/d83/classuint256__t.html#a1fa3d95584d071add9b46597d3747b39',1,'uint256_t::uint256_t(const std::string &str)'],['../d1/d83/classuint256__t.html#a42bf7490b31d8c750a67fd9bb6f2df2e',1,'uint256_t::uint256_t(const uint256_t &num)=default'],['../d1/d83/classuint256__t.html#a092a766421ba5833452e86a2357d7cfa',1,'uint256_t::uint256_t(uint256_t &&num) noexcept'],['../d1/d83/classuint256__t.html#a02616a4a46727b4c158b2b90de8c75c3',1,'uint256_t::uint256_t(uint128_t high, uint128_t low)'],['../d1/d83/classuint256__t.html#a2b5f745c05d10fa85ba5c409ad92d052',1,'uint256_t::uint256_t(const uint64_t high, const uint64_t low)']]], - ['uint256_5ft_5ftests_6',['uint256_t_tests',['../df/d2c/elliptic__curve__key__exchange_8cpp.html#a37775d1724ffe404c088dabbc8da91ae',1,'elliptic_curve_key_exchange.cpp']]], - ['unary_5fnegate_7',['unary_negate',['http://en.cppreference.com/w/cpp/utility/functional/unary_negate.html',0,'std::unary_negate']]], - ['unboundedknapsack_8',['unboundedKnapsack',['../d9/dec/unbounded__0__1__knapsack_8cpp.html#a1bcff7f76de48fa7f629480f8f18b5ef',1,'dynamic_programming::unbounded_knapsack']]], - ['uncaught_5fexception_9',['uncaught_exception',['http://en.cppreference.com/w/cpp/error/uncaught_exception.html',0,'std']]], - ['undeclare_5fno_5fpointers_10',['undeclare_no_pointers',['http://en.cppreference.com/w/cpp/memory/gc/undeclare_no_pointers.html',0,'std']]], - ['undeclare_5freachable_11',['undeclare_reachable',['http://en.cppreference.com/w/cpp/memory/gc/undeclare_reachable.html',0,'std']]], - ['underflow_12',['underflow',['http://en.cppreference.com/w/cpp/io/basic_streambuf/underflow.html',0,'std::basic_filebuf::underflow()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/underflow.html',0,'std::wstringbuf::underflow()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/underflow.html',0,'std::stringbuf::underflow()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/underflow.html',0,'std::wfilebuf::underflow()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/underflow.html',0,'std::wstreambuf::underflow()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/underflow.html',0,'std::strstreambuf::underflow()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/underflow.html',0,'std::basic_stringbuf::underflow()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/underflow.html',0,'std::basic_streambuf::underflow()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/underflow.html',0,'std::filebuf::underflow()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/underflow.html',0,'std::streambuf::underflow()']]], - ['underflow_5ferror_13',['underflow_error',['http://en.cppreference.com/w/cpp/error/underflow_error.html',0,'std::underflow_error']]], - ['unexpected_14',['unexpected',['http://en.cppreference.com/w/cpp/error/unexpected.html',0,'std']]], - ['unget_15',['unget',['http://en.cppreference.com/w/cpp/io/basic_istream/unget.html',0,'std::fstream::unget()'],['http://en.cppreference.com/w/cpp/io/basic_istream/unget.html',0,'std::basic_fstream::unget()'],['http://en.cppreference.com/w/cpp/io/basic_istream/unget.html',0,'std::iostream::unget()'],['http://en.cppreference.com/w/cpp/io/basic_istream/unget.html',0,'std::wistream::unget()'],['http://en.cppreference.com/w/cpp/io/basic_istream/unget.html',0,'std::stringstream::unget()'],['http://en.cppreference.com/w/cpp/io/basic_istream/unget.html',0,'std::wifstream::unget()'],['http://en.cppreference.com/w/cpp/io/basic_istream/unget.html',0,'std::basic_istream::unget()'],['http://en.cppreference.com/w/cpp/io/basic_istream/unget.html',0,'std::strstream::unget()'],['http://en.cppreference.com/w/cpp/io/basic_istream/unget.html',0,'std::basic_stringstream::unget()'],['http://en.cppreference.com/w/cpp/io/basic_istream/unget.html',0,'std::istrstream::unget()'],['http://en.cppreference.com/w/cpp/io/basic_istream/unget.html',0,'std::wiostream::unget()'],['http://en.cppreference.com/w/cpp/io/basic_istream/unget.html',0,'std::basic_istringstream::unget()'],['http://en.cppreference.com/w/cpp/io/basic_istream/unget.html',0,'std::basic_ifstream::unget()'],['http://en.cppreference.com/w/cpp/io/basic_istream/unget.html',0,'std::istringstream::unget()'],['http://en.cppreference.com/w/cpp/io/basic_istream/unget.html',0,'std::istream::unget()'],['http://en.cppreference.com/w/cpp/io/basic_istream/unget.html',0,'std::wfstream::unget()'],['http://en.cppreference.com/w/cpp/io/basic_istream/unget.html',0,'std::basic_iostream::unget()'],['http://en.cppreference.com/w/cpp/io/basic_istream/unget.html',0,'std::wstringstream::unget()'],['http://en.cppreference.com/w/cpp/io/basic_istream/unget.html',0,'std::wistringstream::unget()'],['http://en.cppreference.com/w/cpp/io/basic_istream/unget.html',0,'std::ifstream::unget()']]], - ['ungetc_16',['ungetc',['http://en.cppreference.com/w/cpp/io/c/ungetc.html',0,'std']]], - ['ungetwc_17',['ungetwc',['http://en.cppreference.com/w/cpp/io/c/ungetwc.html',0,'std']]], - ['uniform_5fint_5fdistribution_18',['uniform_int_distribution',['http://en.cppreference.com/w/cpp/numeric/random/uniform_int_distribution/uniform_int_distribution.html',0,'std::uniform_int_distribution']]], - ['uniform_5frandom_5finitialization_19',['uniform_random_initialization',['../d8/d77/namespacemachine__learning.html#abee7b35403af3612222d3b7a53074905',1,'machine_learning']]], - ['uniform_5freal_5fdistribution_20',['uniform_real_distribution',['http://en.cppreference.com/w/cpp/numeric/random/uniform_real_distribution/uniform_real_distribution.html',0,'std::uniform_real_distribution']]], - ['uninitialized_5fcopy_21',['uninitialized_copy',['http://en.cppreference.com/w/cpp/memory/uninitialized_copy.html',0,'std']]], - ['uninitialized_5fcopy_5fn_22',['uninitialized_copy_n',['http://en.cppreference.com/w/cpp/memory/uninitialized_copy_n.html',0,'std']]], - ['uninitialized_5ffill_23',['uninitialized_fill',['http://en.cppreference.com/w/cpp/memory/uninitialized_fill.html',0,'std']]], - ['uninitialized_5ffill_5fn_24',['uninitialized_fill_n',['http://en.cppreference.com/w/cpp/memory/uninitialized_fill_n.html',0,'std']]], - ['union_25',['Union',['../de/d23/disjoint__set_8cpp.html#a44481bb75386fbb0f958a388d4b9f757',1,'disjoint_set.cpp']]], - ['union_5fsets_26',['union_sets',['../d8/d99/connected__components__with__dsu_8cpp.html#a67cb7472f310a798f555fe45cdf50145',1,'graph::disjoint_union']]], - ['unionset_27',['UnionSet',['../dd/d1f/classdsu.html#a6ac30c07abca2aaa3b291504c25c3559',1,'dsu']]], - ['unionset_28',['unionSet',['../dd/d1f/classdsu.html#a81897528bdb53fd5e796d75d7dbc430f',1,'dsu']]], - ['unique_29',['unique',['http://en.cppreference.com/w/cpp/memory/shared_ptr/unique.html',0,'std::shared_ptr::unique()'],['http://en.cppreference.com/w/cpp/container/forward_list/unique.html',0,'std::forward_list::unique()'],['http://en.cppreference.com/w/cpp/container/list/unique.html',0,'std::list::unique()'],['http://en.cppreference.com/w/cpp/algorithm/unique.html',0,'std::unique(T... args)']]], - ['unique_5fcopy_30',['unique_copy',['http://en.cppreference.com/w/cpp/algorithm/unique_copy.html',0,'std']]], - ['unique_5flock_31',['unique_lock',['http://en.cppreference.com/w/cpp/thread/unique_lock/unique_lock.html',0,'std::unique_lock']]], - ['unique_5fptr_32',['unique_ptr',['http://en.cppreference.com/w/cpp/memory/unique_ptr/unique_ptr.html',0,'std::unique_ptr']]], - ['unit_5fmatrix_5finitialization_33',['unit_matrix_initialization',['../d8/d77/namespacemachine__learning.html#a8dd3f1ffbc2f26a3c88da1b1f8b7e9c4',1,'machine_learning']]], - ['unitbuf_34',['unitbuf',['http://en.cppreference.com/w/cpp/io/manip/unitbuf.html',0,'std']]], - ['unlock_35',['unlock',['http://en.cppreference.com/w/cpp/thread/unique_lock/unlock.html',0,'std::unique_lock::unlock()'],['http://en.cppreference.com/w/cpp/thread/recursive_mutex/unlock.html',0,'std::recursive_mutex::unlock()'],['http://en.cppreference.com/w/cpp/thread/recursive_timed_mutex/unlock.html',0,'std::recursive_timed_mutex::unlock()'],['http://en.cppreference.com/w/cpp/thread/shared_lock/unlock.html',0,'std::shared_lock::unlock()'],['http://en.cppreference.com/w/cpp/thread/timed_mutex/unlock.html',0,'std::timed_mutex::unlock()'],['http://en.cppreference.com/w/cpp/thread/mutex/unlock.html',0,'std::mutex::unlock()'],['http://en.cppreference.com/w/cpp/thread/shared_timed_mutex/unlock.html',0,'std::shared_timed_mutex::unlock(T... args)']]], - ['unlock_5fshared_36',['unlock_shared',['http://en.cppreference.com/w/cpp/thread/shared_timed_mutex/unlock_shared.html',0,'std::shared_timed_mutex']]], - ['unordered_5fmap_37',['unordered_map',['http://en.cppreference.com/w/cpp/container/unordered_map/unordered_map.html',0,'std::unordered_map']]], - ['unordered_5fmultimap_38',['unordered_multimap',['http://en.cppreference.com/w/cpp/container/unordered_multimap/unordered_multimap.html',0,'std::unordered_multimap']]], - ['unordered_5fmultiset_39',['unordered_multiset',['http://en.cppreference.com/w/cpp/container/unordered_multiset/unordered_multiset.html',0,'std::unordered_multiset']]], - ['unordered_5fset_40',['unordered_set',['http://en.cppreference.com/w/cpp/container/unordered_set/unordered_set.html',0,'std::unordered_set']]], - ['unsetf_41',['unsetf',['http://en.cppreference.com/w/cpp/io/ios_base/unsetf.html',0,'std::basic_ofstream::unsetf()'],['http://en.cppreference.com/w/cpp/io/ios_base/unsetf.html',0,'std::fstream::unsetf()'],['http://en.cppreference.com/w/cpp/io/ios_base/unsetf.html',0,'std::wostream::unsetf()'],['http://en.cppreference.com/w/cpp/io/ios_base/unsetf.html',0,'std::basic_ostringstream::unsetf()'],['http://en.cppreference.com/w/cpp/io/ios_base/unsetf.html',0,'std::basic_ios::unsetf()'],['http://en.cppreference.com/w/cpp/io/ios_base/unsetf.html',0,'std::ostringstream::unsetf()'],['http://en.cppreference.com/w/cpp/io/ios_base/unsetf.html',0,'std::basic_fstream::unsetf()'],['http://en.cppreference.com/w/cpp/io/ios_base/unsetf.html',0,'std::iostream::unsetf()'],['http://en.cppreference.com/w/cpp/io/ios_base/unsetf.html',0,'std::ios_base::unsetf()'],['http://en.cppreference.com/w/cpp/io/ios_base/unsetf.html',0,'std::wistream::unsetf()'],['http://en.cppreference.com/w/cpp/io/ios_base/unsetf.html',0,'std::stringstream::unsetf()'],['http://en.cppreference.com/w/cpp/io/ios_base/unsetf.html',0,'std::ostream::unsetf()'],['http://en.cppreference.com/w/cpp/io/ios_base/unsetf.html',0,'std::wifstream::unsetf()'],['http://en.cppreference.com/w/cpp/io/ios_base/unsetf.html',0,'std::basic_istream::unsetf()'],['http://en.cppreference.com/w/cpp/io/ios_base/unsetf.html',0,'std::strstream::unsetf()'],['http://en.cppreference.com/w/cpp/io/ios_base/unsetf.html',0,'std::basic_stringstream::unsetf()'],['http://en.cppreference.com/w/cpp/io/ios_base/unsetf.html',0,'std::wostringstream::unsetf()'],['http://en.cppreference.com/w/cpp/io/ios_base/unsetf.html',0,'std::istrstream::unsetf()'],['http://en.cppreference.com/w/cpp/io/ios_base/unsetf.html',0,'std::basic_ostream::unsetf()'],['http://en.cppreference.com/w/cpp/io/ios_base/unsetf.html',0,'std::wiostream::unsetf()'],['http://en.cppreference.com/w/cpp/io/ios_base/unsetf.html',0,'std::ofstream::unsetf()'],['http://en.cppreference.com/w/cpp/io/ios_base/unsetf.html',0,'std::basic_istringstream::unsetf()'],['http://en.cppreference.com/w/cpp/io/ios_base/unsetf.html',0,'std::basic_ifstream::unsetf()'],['http://en.cppreference.com/w/cpp/io/ios_base/unsetf.html',0,'std::istringstream::unsetf()'],['http://en.cppreference.com/w/cpp/io/ios_base/unsetf.html',0,'std::istream::unsetf()'],['http://en.cppreference.com/w/cpp/io/ios_base/unsetf.html',0,'std::ostrstream::unsetf()'],['http://en.cppreference.com/w/cpp/io/ios_base/unsetf.html',0,'std::wfstream::unsetf()'],['http://en.cppreference.com/w/cpp/io/ios_base/unsetf.html',0,'std::basic_iostream::unsetf()'],['http://en.cppreference.com/w/cpp/io/ios_base/unsetf.html',0,'std::wofstream::unsetf()'],['http://en.cppreference.com/w/cpp/io/ios_base/unsetf.html',0,'std::wstringstream::unsetf()'],['http://en.cppreference.com/w/cpp/io/ios_base/unsetf.html',0,'std::wistringstream::unsetf()'],['http://en.cppreference.com/w/cpp/io/ios_base/unsetf.html',0,'std::ifstream::unsetf()']]], - ['unshift_42',['unshift',['http://en.cppreference.com/w/cpp/locale/codecvt/unshift.html',0,'std::codecvt::unshift()'],['http://en.cppreference.com/w/cpp/locale/codecvt/unshift.html',0,'std::codecvt_byname::unshift()'],['http://en.cppreference.com/w/cpp/locale/codecvt/unshift.html',0,'std::codecvt_utf8::unshift()'],['http://en.cppreference.com/w/cpp/locale/codecvt/unshift.html',0,'std::codecvt_utf8_utf16::unshift()'],['http://en.cppreference.com/w/cpp/locale/codecvt/unshift.html',0,'std::codecvt_utf16::unshift()']]], - ['update_43',['update',['../dd/d95/classdata__structures_1_1_segment_tree.html#a2a04f1832c5ce86def50c3021b2ab6b1',1,'data_structures::SegmentTree::update(int i, int l, int r, int pos, T val)'],['../dd/d95/classdata__structures_1_1_segment_tree.html#ad0e78179ab979ae2bc4304bdc181db17',1,'data_structures::SegmentTree::update(int pos, T val)'],['../d5/d95/structdata__structures_1_1treap_1_1_treap.html#aae9facaede462ad924856c4d707646d7',1,'data_structures::treap::Treap::update()'],['../d6/d84/classhashing_1_1sha256_1_1_hash.html#a0896c27ac39c780e0ee62417fdd0b9d3',1,'hashing::sha256::Hash::update()'],['../de/d0d/classrange__queries_1_1fenwick__tree.html#a19dea5e88bbd7683a719030623315de9',1,'range_queries::fenwick_tree::update()'],['../d9/d35/classrange__queries_1_1heavy__light__decomposition_1_1_s_g.html#a3c75bf5770790f8eba8cc92227b5400c',1,'range_queries::heavy_light_decomposition::SG::update()'],['../d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d.html#a9f1cb54ed09fde931bf3220d75ee4c57',1,'range_queries::heavy_light_decomposition::HLD::update()'],['../d8/d28/classrange__queries_1_1per_seg_tree.html#a24487eda25123bc4d112e8430821a6c6',1,'range_queries::perSegTree::update(const uint32_t &i, const uint32_t &j, const uint32_t &l, const uint32_t &r, const int64_t &value, std::shared_ptr< Node > const &curr)'],['../d8/d28/classrange__queries_1_1per_seg_tree.html#af87494e6cf012d28c4f5b9d1c15f9c5d',1,'range_queries::perSegTree::update(const uint32_t &l, const uint32_t &r, const int64_t &value)'],['../d2/d45/segtree_8cpp.html#abd3e818681fb2e29cf08f4f60f82c8e0',1,'update(std::vector< int64_t > *segtree, std::vector< int64_t > *lazy, int64_t start, int64_t end, int64_t delta, uint64_t low, uint64_t high, uint64_t pos): segtree.cpp']]], - ['update_5fstep_44',['update_step',['../d9/d5d/extended__euclid__algorithm_8cpp.html#abe92d63a0ff9bda7e304df510d5dd217',1,'extended_euclid_algorithm.cpp']]], - ['update_5fweights_45',['update_weights',['../d8/d77/namespacemachine__learning.html#ae868ad43698a1d69ba46ea3827d7d2c3',1,'machine_learning::update_weights(const std::valarray< double > &X, std::vector< std::vector< std::valarray< double > > > *W, std::vector< std::valarray< double > > *D, double alpha, int R)'],['../d8/d77/namespacemachine__learning.html#aa6aac06ccf128b0a9c55c9ee1a8e5631',1,'machine_learning::update_weights(const std::valarray< double > &x, std::vector< std::valarray< double > > *W, std::valarray< double > *D, double alpha, int R)']]], - ['upper_46',['upper',['../db/d9a/classuint128__t.html#a1ee2f1ffbd9984faad34883eb45e9705',1,'uint128_t::upper()'],['../d1/d83/classuint256__t.html#aecb2883133c8c8b9fcfb77ab69b03ab5',1,'uint256_t::upper()']]], - ['upper_5fbound_47',['upper_bound',['http://en.cppreference.com/w/cpp/container/multiset/upper_bound.html',0,'std::multiset::upper_bound()'],['http://en.cppreference.com/w/cpp/container/set/upper_bound.html',0,'std::set::upper_bound()'],['http://en.cppreference.com/w/cpp/container/map/upper_bound.html',0,'std::map::upper_bound()'],['http://en.cppreference.com/w/cpp/container/multimap/upper_bound.html',0,'std::multimap::upper_bound()'],['http://en.cppreference.com/w/cpp/algorithm/upper_bound.html',0,'std::upper_bound(T... args)']]], - ['uppercase_48',['uppercase',['http://en.cppreference.com/w/cpp/io/manip/uppercase.html',0,'std']]], - ['use_5fcount_49',['use_count',['http://en.cppreference.com/w/cpp/memory/weak_ptr/use_count.html',0,'std::weak_ptr']]], - ['use_5ffacet_50',['use_facet',['http://en.cppreference.com/w/cpp/locale/use_facet.html',0,'std']]], - ['user_5finput_5ftest_51',['user_input_test',['../d4/d38/power__of__two_8cpp.html#adfd6be45be425ae28c62ce3bfb4b40dc',1,'power_of_two.cpp']]] + ['uint128_5ft_0',['uint128_t',['../db/d9a/classuint128__t.html#adce2432b148fe18179a5ea272f4eb040',1,'uint128_t::uint128_t(T low)'],['../db/d9a/classuint128__t.html#a0b6612186d8f678452e011d08ee1f5ac',1,'uint128_t::uint128_t(const std::string &str)'],['../db/d9a/classuint128__t.html#a95ac8be8f414fcbce09301b912f5079d',1,'uint128_t::uint128_t(const uint64_t high, const uint64_t low)'],['../db/d9a/classuint128__t.html#a60bf2739c93bb1cd41654fd60c76ae6b',1,'uint128_t::uint128_t(const uint128_t &num)=default'],['../db/d9a/classuint128__t.html#a7d56143b2e291e8087188192533d2e3c',1,'uint128_t::uint128_t(uint128_t &&num) noexcept']]], + ['uint128_5ft_5ftests_1',['uint128_t_tests',['../df/d2c/elliptic__curve__key__exchange_8cpp.html#a8800c8a84d77dadadb05ad5e83b77ef4',1,'elliptic_curve_key_exchange.cpp']]], + ['uint256_5ft_2',['uint256_t',['../d1/d83/classuint256__t.html#aed0f8c3d5be23644c4bcb2fd2551e1dc',1,'uint256_t::uint256_t(T low)'],['../d1/d83/classuint256__t.html#a1fa3d95584d071add9b46597d3747b39',1,'uint256_t::uint256_t(const std::string &str)'],['../d1/d83/classuint256__t.html#a42bf7490b31d8c750a67fd9bb6f2df2e',1,'uint256_t::uint256_t(const uint256_t &num)=default'],['../d1/d83/classuint256__t.html#a092a766421ba5833452e86a2357d7cfa',1,'uint256_t::uint256_t(uint256_t &&num) noexcept'],['../d1/d83/classuint256__t.html#a02616a4a46727b4c158b2b90de8c75c3',1,'uint256_t::uint256_t(uint128_t high, uint128_t low)'],['../d1/d83/classuint256__t.html#a2b5f745c05d10fa85ba5c409ad92d052',1,'uint256_t::uint256_t(const uint64_t high, const uint64_t low)']]], + ['uint256_5ft_5ftests_3',['uint256_t_tests',['../df/d2c/elliptic__curve__key__exchange_8cpp.html#a37775d1724ffe404c088dabbc8da91ae',1,'elliptic_curve_key_exchange.cpp']]], + ['unboundedknapsack_4',['unboundedKnapsack',['../d9/dec/unbounded__0__1__knapsack_8cpp.html#a1bcff7f76de48fa7f629480f8f18b5ef',1,'dynamic_programming::unbounded_knapsack']]], + ['uniform_5frandom_5finitialization_5',['uniform_random_initialization',['../d8/d77/namespacemachine__learning.html#abee7b35403af3612222d3b7a53074905',1,'machine_learning']]], + ['union_6',['Union',['../de/d23/disjoint__set_8cpp.html#a44481bb75386fbb0f958a388d4b9f757',1,'disjoint_set.cpp']]], + ['union_5fsets_7',['union_sets',['../d8/d99/connected__components__with__dsu_8cpp.html#a67cb7472f310a798f555fe45cdf50145',1,'graph::disjoint_union']]], + ['unionset_8',['UnionSet',['../dd/d1f/classdsu.html#a6ac30c07abca2aaa3b291504c25c3559',1,'dsu']]], + ['unionset_9',['unionSet',['../dd/d1f/classdsu.html#a81897528bdb53fd5e796d75d7dbc430f',1,'dsu']]], + ['unit_5fmatrix_5finitialization_10',['unit_matrix_initialization',['../d8/d77/namespacemachine__learning.html#a8dd3f1ffbc2f26a3c88da1b1f8b7e9c4',1,'machine_learning']]], + ['update_11',['update',['../dd/d95/classdata__structures_1_1_segment_tree.html#a2a04f1832c5ce86def50c3021b2ab6b1',1,'data_structures::SegmentTree::update(int i, int l, int r, int pos, T val)'],['../dd/d95/classdata__structures_1_1_segment_tree.html#ad0e78179ab979ae2bc4304bdc181db17',1,'data_structures::SegmentTree::update(int pos, T val)'],['../d5/d95/structdata__structures_1_1treap_1_1_treap.html#aae9facaede462ad924856c4d707646d7',1,'data_structures::treap::Treap::update()'],['../d6/d84/classhashing_1_1sha256_1_1_hash.html#a0896c27ac39c780e0ee62417fdd0b9d3',1,'hashing::sha256::Hash::update()'],['../de/d0d/classrange__queries_1_1fenwick__tree.html#a19dea5e88bbd7683a719030623315de9',1,'range_queries::fenwick_tree::update()'],['../d9/d35/classrange__queries_1_1heavy__light__decomposition_1_1_s_g.html#a3c75bf5770790f8eba8cc92227b5400c',1,'range_queries::heavy_light_decomposition::SG::update()'],['../d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d.html#a9f1cb54ed09fde931bf3220d75ee4c57',1,'range_queries::heavy_light_decomposition::HLD::update()'],['../d8/d28/classrange__queries_1_1per_seg_tree.html#a24487eda25123bc4d112e8430821a6c6',1,'range_queries::perSegTree::update(const uint32_t &i, const uint32_t &j, const uint32_t &l, const uint32_t &r, const int64_t &value, std::shared_ptr< Node > const &curr)'],['../d8/d28/classrange__queries_1_1per_seg_tree.html#af87494e6cf012d28c4f5b9d1c15f9c5d',1,'range_queries::perSegTree::update(const uint32_t &l, const uint32_t &r, const int64_t &value)'],['../d2/d45/segtree_8cpp.html#abd3e818681fb2e29cf08f4f60f82c8e0',1,'update(std::vector< int64_t > *segtree, std::vector< int64_t > *lazy, int64_t start, int64_t end, int64_t delta, uint64_t low, uint64_t high, uint64_t pos): segtree.cpp']]], + ['update_5fstep_12',['update_step',['../d9/d5d/extended__euclid__algorithm_8cpp.html#abe92d63a0ff9bda7e304df510d5dd217',1,'extended_euclid_algorithm.cpp']]], + ['update_5fweights_13',['update_weights',['../d8/d77/namespacemachine__learning.html#ae868ad43698a1d69ba46ea3827d7d2c3',1,'machine_learning::update_weights(const std::valarray< double > &X, std::vector< std::vector< std::valarray< double > > > *W, std::vector< std::valarray< double > > *D, double alpha, int R)'],['../d8/d77/namespacemachine__learning.html#aa6aac06ccf128b0a9c55c9ee1a8e5631',1,'machine_learning::update_weights(const std::valarray< double > &x, std::vector< std::valarray< double > > *W, std::valarray< double > *D, double alpha, int R)']]], + ['upper_14',['upper',['../db/d9a/classuint128__t.html#a1ee2f1ffbd9984faad34883eb45e9705',1,'uint128_t::upper()'],['../d1/d83/classuint256__t.html#aecb2883133c8c8b9fcfb77ab69b03ab5',1,'uint256_t::upper()']]], + ['user_5finput_5ftest_15',['user_input_test',['../d4/d38/power__of__two_8cpp.html#adfd6be45be425ae28c62ce3bfb4b40dc',1,'power_of_two.cpp']]] ]; diff --git a/search/functions_16.js b/search/functions_16.js index e450ee097..d93c5b54b 100644 --- a/search/functions_16.js +++ b/search/functions_16.js @@ -2,27 +2,9 @@ var searchData= [ ['v_5fstack_0',['v_stack',['../dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix.html#af12ceffdc07cc87eca8a4a8ac87d60fe',1,'divide_and_conquer::strassens_multiplication::Matrix']]], ['val_1',['val',['../de/d9d/classdata__structures_1_1linked__list_1_1link.html#acf96f3a9a1d3b15268c38e8822300c11',1,'data_structures::linked_list::link']]], - ['valid_2',['valid',['http://en.cppreference.com/w/cpp/thread/shared_future/valid.html',0,'std::shared_future::valid()'],['http://en.cppreference.com/w/cpp/thread/future/valid.html',0,'std::future::valid()'],['http://en.cppreference.com/w/cpp/thread/packaged_task/valid.html',0,'std::packaged_task::valid()']]], - ['value_3',['value',['http://en.cppreference.com/w/cpp/error/error_code/value.html',0,'std::error_code::value()'],['http://en.cppreference.com/w/cpp/regex/regex_traits/value.html',0,'std::regex_traits::value()'],['http://en.cppreference.com/w/cpp/error/error_condition/value.html',0,'std::error_condition::value()'],['http://en.cppreference.com/w/cpp/experimental/optional/value.html',0,'std::experimental::optional::value()']]], - ['value_5fcomp_4',['value_comp',['http://en.cppreference.com/w/cpp/container/multiset/value_comp.html',0,'std::multiset::value_comp()'],['http://en.cppreference.com/w/cpp/container/set/value_comp.html',0,'std::set::value_comp()'],['http://en.cppreference.com/w/cpp/container/map/value_comp.html',0,'std::map::value_comp()'],['http://en.cppreference.com/w/cpp/container/multimap/value_comp.html',0,'std::multimap::value_comp()']]], - ['value_5for_5',['value_or',['http://en.cppreference.com/w/cpp/experimental/optional/value_or.html',0,'std::experimental::optional']]], - ['values_6',['values',['../d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list.html#a53611ec1fef92eeeb875aea1bde1e4de',1,'operations_on_datastructures::circular_linked_list::CircularLinkedList::values()'],['../d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list.html#a03a896b34d27fda69049827e0c4dab42',1,'operations_on_datastructures::circular_linked_list::CircularLinkedList::values(Node *root)']]], - ['variance_7',['variance',['../d7/d7c/classstatistics_1_1stats__computer1.html#a27f0a03e2fd2254f1c81fe668226bd92',1,'statistics::stats_computer1::variance()'],['../d8/dab/classstatistics_1_1stats__computer2.html#af6198817084276113b3c064e87ce0555',1,'statistics::stats_computer2::variance()'],['../da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution.html#aea8b0d649f0dc9a6f8baf3341a0b4960',1,'probability::geometric_dist::geometric_distribution::variance()']]], - ['vector_8',['vector',['http://en.cppreference.com/w/cpp/container/vector/vector.html',0,'std::vector']]], - ['vector_5fdot_9',['vector_dot',['../d2/d3b/namespaceqr__algorithm.html#a8ea313a1a1b5f9d0e3e332c29c6446ec',1,'qr_algorithm']]], - ['vector_5fmag_10',['vector_mag',['../d2/d3b/namespaceqr__algorithm.html#ad16da2183db22378435042f26af43d5f',1,'qr_algorithm']]], - ['vector_5fproj_11',['vector_proj',['../d2/d3b/namespaceqr__algorithm.html#a6d3c7dce1f142141f509d09f6c0e25dc',1,'qr_algorithm']]], - ['vfprintf_12',['vfprintf',['http://en.cppreference.com/w/cpp/io/c/vfprintf.html',0,'std']]], - ['vfscanf_13',['vfscanf',['http://en.cppreference.com/w/cpp/io/c/vfscanf.html',0,'std']]], - ['vfwprintf_14',['vfwprintf',['http://en.cppreference.com/w/cpp/io/c/vfwprintf.html',0,'std']]], - ['vfwscanf_15',['vfwscanf',['http://en.cppreference.com/w/cpp/io/c/vfwscanf.html',0,'std']]], - ['vprintf_16',['vprintf',['http://en.cppreference.com/w/cpp/io/c/vfprintf.html',0,'std']]], - ['vscanf_17',['vscanf',['http://en.cppreference.com/w/cpp/io/c/vfscanf.html',0,'std']]], - ['vsnprintf_18',['vsnprintf',['http://en.cppreference.com/w/cpp/io/c/vfprintf.html',0,'std']]], - ['vsprintf_19',['vsprintf',['http://en.cppreference.com/w/cpp/io/c/vfprintf.html',0,'std']]], - ['vsscanf_20',['vsscanf',['http://en.cppreference.com/w/cpp/io/c/vfscanf.html',0,'std']]], - ['vswprintf_21',['vswprintf',['http://en.cppreference.com/w/cpp/io/c/vfwprintf.html',0,'std']]], - ['vswscanf_22',['vswscanf',['http://en.cppreference.com/w/cpp/io/c/vfwscanf.html',0,'std']]], - ['vwprintf_23',['vwprintf',['http://en.cppreference.com/w/cpp/io/c/vfwprintf.html',0,'std']]], - ['vwscanf_24',['vwscanf',['http://en.cppreference.com/w/cpp/io/c/vfwscanf.html',0,'std']]] + ['values_2',['values',['../d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list.html#a53611ec1fef92eeeb875aea1bde1e4de',1,'operations_on_datastructures::circular_linked_list::CircularLinkedList::values()'],['../d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list.html#a03a896b34d27fda69049827e0c4dab42',1,'operations_on_datastructures::circular_linked_list::CircularLinkedList::values(Node *root)']]], + ['variance_3',['variance',['../d7/d7c/classstatistics_1_1stats__computer1.html#a27f0a03e2fd2254f1c81fe668226bd92',1,'statistics::stats_computer1::variance()'],['../d8/dab/classstatistics_1_1stats__computer2.html#af6198817084276113b3c064e87ce0555',1,'statistics::stats_computer2::variance()'],['../da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution.html#aea8b0d649f0dc9a6f8baf3341a0b4960',1,'probability::geometric_dist::geometric_distribution::variance()']]], + ['vector_5fdot_4',['vector_dot',['../d2/d3b/namespaceqr__algorithm.html#a8ea313a1a1b5f9d0e3e332c29c6446ec',1,'qr_algorithm']]], + ['vector_5fmag_5',['vector_mag',['../d2/d3b/namespaceqr__algorithm.html#ad16da2183db22378435042f26af43d5f',1,'qr_algorithm']]], + ['vector_5fproj_6',['vector_proj',['../d2/d3b/namespaceqr__algorithm.html#a6d3c7dce1f142141f509d09f6c0e25dc',1,'qr_algorithm']]] ]; diff --git a/search/functions_17.js b/search/functions_17.js index 584020871..7e8b2f1ee 100644 --- a/search/functions_17.js +++ b/search/functions_17.js @@ -1,80 +1,7 @@ var searchData= [ - ['wait_0',['wait',['http://en.cppreference.com/w/cpp/thread/condition_variable_any/wait.html',0,'std::condition_variable_any::wait()'],['http://en.cppreference.com/w/cpp/thread/condition_variable/wait.html',0,'std::condition_variable::wait()'],['http://en.cppreference.com/w/cpp/thread/shared_future/wait.html',0,'std::shared_future::wait()'],['http://en.cppreference.com/w/cpp/thread/future/wait.html',0,'std::future::wait()']]], - ['wait_5ffor_1',['wait_for',['http://en.cppreference.com/w/cpp/thread/condition_variable_any/wait_for.html',0,'std::condition_variable_any::wait_for()'],['http://en.cppreference.com/w/cpp/thread/condition_variable/wait_for.html',0,'std::condition_variable::wait_for()'],['http://en.cppreference.com/w/cpp/thread/shared_future/wait_for.html',0,'std::shared_future::wait_for()'],['http://en.cppreference.com/w/cpp/thread/future/wait_for.html',0,'std::future::wait_for()']]], - ['wait_5funtil_2',['wait_until',['http://en.cppreference.com/w/cpp/thread/condition_variable_any/wait_until.html',0,'std::condition_variable_any::wait_until()'],['http://en.cppreference.com/w/cpp/thread/condition_variable/wait_until.html',0,'std::condition_variable::wait_until()'],['http://en.cppreference.com/w/cpp/thread/shared_future/wait_until.html',0,'std::shared_future::wait_until()'],['http://en.cppreference.com/w/cpp/thread/future/wait_until.html',0,'std::future::wait_until()']]], - ['wavesort_3',['waveSort',['../db/d3f/wave__sort_8cpp.html#a7d4f243b9dc13ace4ef77e30dbc56f12',1,'sorting::wave_sort']]], - ['wbuffer_5fconvert_4',['wbuffer_convert',['http://en.cppreference.com/w/cpp/locale/wbuffer_convert/wbuffer_convert.html',0,'std::wbuffer_convert']]], - ['wcmatch_5',['wcmatch',['http://en.cppreference.com/w/cpp/regex/match_results/match_results.html',0,'std::wcmatch']]], - ['wcregex_5fiterator_6',['wcregex_iterator',['http://en.cppreference.com/w/cpp/regex/regex_iterator/regex_iterator.html',0,'std::wcregex_iterator']]], - ['wcregex_5ftoken_5fiterator_7',['wcregex_token_iterator',['http://en.cppreference.com/w/cpp/regex/regex_token_iterator/regex_token_iterator.html',0,'std::wcregex_token_iterator']]], - ['wcrtomb_8',['wcrtomb',['http://en.cppreference.com/w/cpp/string/multibyte/wcrtomb.html',0,'std']]], - ['wcscat_9',['wcscat',['http://en.cppreference.com/w/cpp/string/wide/wcscat.html',0,'std']]], - ['wcschr_10',['wcschr',['http://en.cppreference.com/w/cpp/string/wide/wcschr.html',0,'std']]], - ['wcscmp_11',['wcscmp',['http://en.cppreference.com/w/cpp/string/wide/wcscmp.html',0,'std']]], - ['wcscoll_12',['wcscoll',['http://en.cppreference.com/w/cpp/string/wide/wcscoll.html',0,'std']]], - ['wcscpy_13',['wcscpy',['http://en.cppreference.com/w/cpp/string/wide/wcscpy.html',0,'std']]], - ['wcscspn_14',['wcscspn',['http://en.cppreference.com/w/cpp/string/wide/wcscspn.html',0,'std']]], - ['wcsftime_15',['wcsftime',['http://en.cppreference.com/w/cpp/chrono/c/wcsftime.html',0,'std']]], - ['wcslen_16',['wcslen',['http://en.cppreference.com/w/cpp/string/wide/wcslen.html',0,'std']]], - ['wcsncat_17',['wcsncat',['http://en.cppreference.com/w/cpp/string/wide/wcsncat.html',0,'std']]], - ['wcsncmp_18',['wcsncmp',['http://en.cppreference.com/w/cpp/string/wide/wcsncmp.html',0,'std']]], - ['wcsncpy_19',['wcsncpy',['http://en.cppreference.com/w/cpp/string/wide/wcsncpy.html',0,'std']]], - ['wcspbrk_20',['wcspbrk',['http://en.cppreference.com/w/cpp/string/wide/wcspbrk.html',0,'std']]], - ['wcsrchr_21',['wcsrchr',['http://en.cppreference.com/w/cpp/string/wide/wcsrchr.html',0,'std']]], - ['wcsspn_22',['wcsspn',['http://en.cppreference.com/w/cpp/string/wide/wcsspn.html',0,'std']]], - ['wcsstr_23',['wcsstr',['http://en.cppreference.com/w/cpp/string/wide/wcsstr.html',0,'std']]], - ['wcstod_24',['wcstod',['http://en.cppreference.com/w/cpp/string/wide/wcstof.html',0,'std']]], - ['wcstof_25',['wcstof',['http://en.cppreference.com/w/cpp/string/wide/wcstof.html',0,'std']]], - ['wcstoimax_26',['wcstoimax',['http://en.cppreference.com/w/cpp/string/wide/wcstoimax.html',0,'std']]], - ['wcstok_27',['wcstok',['http://en.cppreference.com/w/cpp/string/wide/wcstok.html',0,'std']]], - ['wcstol_28',['wcstol',['http://en.cppreference.com/w/cpp/string/wide/wcstol.html',0,'std']]], - ['wcstold_29',['wcstold',['http://en.cppreference.com/w/cpp/string/wide/wcstof.html',0,'std']]], - ['wcstoll_30',['wcstoll',['http://en.cppreference.com/w/cpp/string/wide/wcstol.html',0,'std']]], - ['wcstombs_31',['wcstombs',['http://en.cppreference.com/w/cpp/string/multibyte/wcstombs.html',0,'std']]], - ['wcstoul_32',['wcstoul',['http://en.cppreference.com/w/cpp/string/wide/wcstoul.html',0,'std']]], - ['wcstoull_33',['wcstoull',['http://en.cppreference.com/w/cpp/string/wide/wcstoul.html',0,'std']]], - ['wcstoumax_34',['wcstoumax',['http://en.cppreference.com/w/cpp/string/wide/wcstoimax.html',0,'std']]], - ['wcsub_5fmatch_35',['wcsub_match',['http://en.cppreference.com/w/cpp/regex/sub_match/sub_match.html',0,'std::wcsub_match']]], - ['wcsxfrm_36',['wcsxfrm',['http://en.cppreference.com/w/cpp/string/wide/wcsxfrm.html',0,'std']]], - ['wctob_37',['wctob',['http://en.cppreference.com/w/cpp/string/multibyte/wctob.html',0,'std']]], - ['wctomb_38',['wctomb',['http://en.cppreference.com/w/cpp/string/multibyte/wctomb.html',0,'std']]], - ['wctrans_39',['wctrans',['http://en.cppreference.com/w/cpp/string/wide/wctrans.html',0,'std']]], - ['wctype_40',['wctype',['http://en.cppreference.com/w/cpp/string/wide/wctype.html',0,'std']]], - ['weak_5fptr_41',['weak_ptr',['http://en.cppreference.com/w/cpp/memory/weak_ptr/weak_ptr.html',0,'std::weak_ptr']]], - ['weibull_5fdistribution_42',['weibull_distribution',['http://en.cppreference.com/w/cpp/numeric/random/weibull_distribution/weibull_distribution.html',0,'std::weibull_distribution']]], - ['wfilebuf_43',['wfilebuf',['http://en.cppreference.com/w/cpp/io/basic_filebuf/basic_filebuf.html',0,'std::wfilebuf']]], - ['wfstream_44',['wfstream',['http://en.cppreference.com/w/cpp/io/basic_fstream/basic_fstream.html',0,'std::wfstream']]], - ['what_45',['what',['http://en.cppreference.com/w/cpp/error/exception/what.html',0,'std::basic_ofstream::failure::what()'],['http://en.cppreference.com/w/cpp/error/exception/what.html',0,'std::fstream::failure::what()'],['http://en.cppreference.com/w/cpp/error/exception/what.html',0,'std::runtime_error::what()'],['http://en.cppreference.com/w/cpp/error/exception/what.html',0,'std::wostream::failure::what()'],['http://en.cppreference.com/w/cpp/memory/new/bad_alloc.html',0,'std::bad_array_new_length::what()'],['http://en.cppreference.com/w/cpp/error/exception/what.html',0,'std::basic_ostringstream::failure::what()'],['http://en.cppreference.com/w/cpp/error/exception/what.html',0,'std::bad_typeid::what()'],['http://en.cppreference.com/w/cpp/error/exception/what.html',0,'std::basic_ios::failure::what()'],['http://en.cppreference.com/w/cpp/error/exception/what.html',0,'std::logic_error::what()'],['http://en.cppreference.com/w/cpp/error/exception/what.html',0,'std::bad_alloc::what()'],['http://en.cppreference.com/w/cpp/error/exception/what.html',0,'std::ostringstream::failure::what()'],['http://en.cppreference.com/w/cpp/error/exception/what.html',0,'std::basic_fstream::failure::what()'],['http://en.cppreference.com/w/cpp/error/exception/what.html',0,'std::bad_function_call::what()'],['http://en.cppreference.com/w/cpp/error/exception/what.html',0,'std::range_error::what()'],['http://en.cppreference.com/w/cpp/error/exception/what.html',0,'std::invalid_argument::what()'],['http://en.cppreference.com/w/cpp/error/exception/what.html',0,'std::iostream::failure::what()'],['http://en.cppreference.com/w/cpp/error/exception/what.html',0,'std::ios_base::failure::what()'],['http://en.cppreference.com/w/cpp/error/exception/what.html',0,'std::wistream::failure::what()'],['http://en.cppreference.com/w/cpp/error/exception/what.html',0,'std::out_of_range::what()'],['http://en.cppreference.com/w/cpp/error/exception/what.html',0,'std::stringstream::failure::what()'],['http://en.cppreference.com/w/cpp/error/exception/what.html',0,'std::domain_error::what()'],['http://en.cppreference.com/w/cpp/error/exception/what.html',0,'std::ostream::failure::what()'],['http://en.cppreference.com/w/cpp/error/exception/what.html',0,'std::overflow_error::what()'],['http://en.cppreference.com/w/cpp/error/exception/what.html',0,'std::wifstream::failure::what()'],['http://en.cppreference.com/w/cpp/error/exception/what.html',0,'std::basic_istream::failure::what()'],['http://en.cppreference.com/w/cpp/error/exception/what.html',0,'std::strstream::failure::what()'],['http://en.cppreference.com/w/cpp/error/exception/what.html',0,'std::basic_stringstream::failure::what()'],['http://en.cppreference.com/w/cpp/error/exception/what.html',0,'std::future_error::what()'],['http://en.cppreference.com/w/cpp/error/exception/what.html',0,'std::wostringstream::failure::what()'],['http://en.cppreference.com/w/cpp/error/exception/what.html',0,'std::istrstream::failure::what()'],['http://en.cppreference.com/w/cpp/error/exception/what.html',0,'std::basic_ostream::failure::what()'],['http://en.cppreference.com/w/cpp/error/exception/what.html',0,'std::bad_cast::what()'],['http://en.cppreference.com/w/cpp/error/exception/what.html',0,'std::wiostream::failure::what()'],['http://en.cppreference.com/w/cpp/error/exception/what.html',0,'std::ofstream::failure::what()'],['http://en.cppreference.com/w/cpp/memory/new/bad_alloc.html',0,'std::bad_array_length::what()'],['http://en.cppreference.com/w/cpp/error/exception/what.html',0,'std::basic_istringstream::failure::what()'],['http://en.cppreference.com/w/cpp/error/exception/what.html',0,'std::basic_ifstream::failure::what()'],['http://en.cppreference.com/w/cpp/error/exception/what.html',0,'std::exception::what()'],['http://en.cppreference.com/w/cpp/error/exception/what.html',0,'std::bad_optional_access::what()'],['http://en.cppreference.com/w/cpp/error/exception/what.html',0,'std::istringstream::failure::what()'],['http://en.cppreference.com/w/cpp/error/exception/what.html',0,'std::istream::failure::what()'],['http://en.cppreference.com/w/cpp/error/exception/what.html',0,'std::ostrstream::failure::what()'],['http://en.cppreference.com/w/cpp/error/exception/what.html',0,'std::bad_weak_ptr::what()'],['http://en.cppreference.com/w/cpp/error/exception/what.html',0,'std::wfstream::failure::what()'],['http://en.cppreference.com/w/cpp/error/exception/what.html',0,'std::basic_iostream::failure::what()'],['http://en.cppreference.com/w/cpp/error/exception/what.html',0,'std::wofstream::failure::what()'],['http://en.cppreference.com/w/cpp/error/exception/what.html',0,'std::underflow_error::what()'],['http://en.cppreference.com/w/cpp/error/exception/what.html',0,'std::wstringstream::failure::what()'],['http://en.cppreference.com/w/cpp/error/exception/what.html',0,'std::regex_error::what()'],['http://en.cppreference.com/w/cpp/error/exception/what.html',0,'std::system_error::what()'],['http://en.cppreference.com/w/cpp/error/exception/what.html',0,'std::wistringstream::failure::what()'],['http://en.cppreference.com/w/cpp/error/exception/what.html',0,'std::ifstream::failure::what()'],['http://en.cppreference.com/w/cpp/error/exception/what.html',0,'std::length_error::what()']]], - ['widen_46',['widen',['http://en.cppreference.com/w/cpp/io/basic_ios/widen.html',0,'std::basic_ofstream::widen()'],['http://en.cppreference.com/w/cpp/locale/ctype/widen.html',0,'std::ctype_byname::widen()'],['http://en.cppreference.com/w/cpp/io/basic_ios/widen.html',0,'std::fstream::widen()'],['http://en.cppreference.com/w/cpp/io/basic_ios/widen.html',0,'std::wostream::widen()'],['http://en.cppreference.com/w/cpp/io/basic_ios/widen.html',0,'std::basic_ostringstream::widen()'],['http://en.cppreference.com/w/cpp/io/basic_ios/widen.html',0,'std::basic_ios::widen()'],['http://en.cppreference.com/w/cpp/io/basic_ios/widen.html',0,'std::ostringstream::widen()'],['http://en.cppreference.com/w/cpp/io/basic_ios/widen.html',0,'std::basic_fstream::widen()'],['http://en.cppreference.com/w/cpp/io/basic_ios/widen.html',0,'std::iostream::widen()'],['http://en.cppreference.com/w/cpp/io/basic_ios/widen.html',0,'std::wistream::widen()'],['http://en.cppreference.com/w/cpp/io/basic_ios/widen.html',0,'std::stringstream::widen()'],['http://en.cppreference.com/w/cpp/io/basic_ios/widen.html',0,'std::ostream::widen()'],['http://en.cppreference.com/w/cpp/io/basic_ios/widen.html',0,'std::wifstream::widen()'],['http://en.cppreference.com/w/cpp/io/basic_ios/widen.html',0,'std::basic_istream::widen()'],['http://en.cppreference.com/w/cpp/io/basic_ios/widen.html',0,'std::strstream::widen()'],['http://en.cppreference.com/w/cpp/io/basic_ios/widen.html',0,'std::basic_stringstream::widen()'],['http://en.cppreference.com/w/cpp/io/basic_ios/widen.html',0,'std::wostringstream::widen()'],['http://en.cppreference.com/w/cpp/io/basic_ios/widen.html',0,'std::istrstream::widen()'],['http://en.cppreference.com/w/cpp/io/basic_ios/widen.html',0,'std::basic_ostream::widen()'],['http://en.cppreference.com/w/cpp/io/basic_ios/widen.html',0,'std::wiostream::widen()'],['http://en.cppreference.com/w/cpp/io/basic_ios/widen.html',0,'std::ofstream::widen()'],['http://en.cppreference.com/w/cpp/io/basic_ios/widen.html',0,'std::basic_istringstream::widen()'],['http://en.cppreference.com/w/cpp/io/basic_ios/widen.html',0,'std::basic_ifstream::widen()'],['http://en.cppreference.com/w/cpp/io/basic_ios/widen.html',0,'std::istringstream::widen()'],['http://en.cppreference.com/w/cpp/locale/ctype/widen.html',0,'std::ctype::widen()'],['http://en.cppreference.com/w/cpp/io/basic_ios/widen.html',0,'std::istream::widen()'],['http://en.cppreference.com/w/cpp/io/basic_ios/widen.html',0,'std::ostrstream::widen()'],['http://en.cppreference.com/w/cpp/io/basic_ios/widen.html',0,'std::wfstream::widen()'],['http://en.cppreference.com/w/cpp/io/basic_ios/widen.html',0,'std::basic_iostream::widen()'],['http://en.cppreference.com/w/cpp/io/basic_ios/widen.html',0,'std::wofstream::widen()'],['http://en.cppreference.com/w/cpp/io/basic_ios/widen.html',0,'std::wstringstream::widen()'],['http://en.cppreference.com/w/cpp/io/basic_ios/widen.html',0,'std::wistringstream::widen()'],['http://en.cppreference.com/w/cpp/io/basic_ios/widen.html',0,'std::ifstream::widen()']]], - ['width_47',['width',['http://en.cppreference.com/w/cpp/io/ios_base/width.html',0,'std::basic_ofstream::width()'],['http://en.cppreference.com/w/cpp/io/ios_base/width.html',0,'std::fstream::width()'],['http://en.cppreference.com/w/cpp/io/ios_base/width.html',0,'std::wostream::width()'],['http://en.cppreference.com/w/cpp/io/ios_base/width.html',0,'std::basic_ostringstream::width()'],['http://en.cppreference.com/w/cpp/io/ios_base/width.html',0,'std::basic_ios::width()'],['http://en.cppreference.com/w/cpp/io/ios_base/width.html',0,'std::ostringstream::width()'],['http://en.cppreference.com/w/cpp/io/ios_base/width.html',0,'std::basic_fstream::width()'],['http://en.cppreference.com/w/cpp/io/ios_base/width.html',0,'std::iostream::width()'],['http://en.cppreference.com/w/cpp/io/ios_base/width.html',0,'std::ios_base::width()'],['http://en.cppreference.com/w/cpp/io/ios_base/width.html',0,'std::wistream::width()'],['http://en.cppreference.com/w/cpp/io/ios_base/width.html',0,'std::stringstream::width()'],['http://en.cppreference.com/w/cpp/io/ios_base/width.html',0,'std::ostream::width()'],['http://en.cppreference.com/w/cpp/io/ios_base/width.html',0,'std::wifstream::width()'],['http://en.cppreference.com/w/cpp/io/ios_base/width.html',0,'std::basic_istream::width()'],['http://en.cppreference.com/w/cpp/io/ios_base/width.html',0,'std::strstream::width()'],['http://en.cppreference.com/w/cpp/io/ios_base/width.html',0,'std::basic_stringstream::width()'],['http://en.cppreference.com/w/cpp/io/ios_base/width.html',0,'std::wostringstream::width()'],['http://en.cppreference.com/w/cpp/io/ios_base/width.html',0,'std::istrstream::width()'],['http://en.cppreference.com/w/cpp/io/ios_base/width.html',0,'std::basic_ostream::width()'],['http://en.cppreference.com/w/cpp/io/ios_base/width.html',0,'std::wiostream::width()'],['http://en.cppreference.com/w/cpp/io/ios_base/width.html',0,'std::ofstream::width()'],['http://en.cppreference.com/w/cpp/io/ios_base/width.html',0,'std::basic_istringstream::width()'],['http://en.cppreference.com/w/cpp/io/ios_base/width.html',0,'std::basic_ifstream::width()'],['http://en.cppreference.com/w/cpp/io/ios_base/width.html',0,'std::istringstream::width()'],['http://en.cppreference.com/w/cpp/io/ios_base/width.html',0,'std::istream::width()'],['http://en.cppreference.com/w/cpp/io/ios_base/width.html',0,'std::ostrstream::width()'],['http://en.cppreference.com/w/cpp/io/ios_base/width.html',0,'std::wfstream::width()'],['http://en.cppreference.com/w/cpp/io/ios_base/width.html',0,'std::basic_iostream::width()'],['http://en.cppreference.com/w/cpp/io/ios_base/width.html',0,'std::wofstream::width()'],['http://en.cppreference.com/w/cpp/io/ios_base/width.html',0,'std::wstringstream::width()'],['http://en.cppreference.com/w/cpp/io/ios_base/width.html',0,'std::wistringstream::width()'],['http://en.cppreference.com/w/cpp/io/ios_base/width.html',0,'std::ifstream::width()']]], - ['wifstream_48',['wifstream',['http://en.cppreference.com/w/cpp/io/basic_ifstream/basic_ifstream.html',0,'std::wifstream']]], - ['wigglesort_49',['wiggleSort',['../d1/dcc/wiggle__sort_8cpp.html#a99eeded693ac073717282fae365957a1',1,'sorting::wiggle_sort']]], - ['windowedmedian_50',['WindowedMedian',['../df/d34/classprobability_1_1windowed__median_1_1_windowed_median.html#aac676369661d15a3eb782c0fee77d45d',1,'probability::windowed_median::WindowedMedian']]], - ['wiostream_51',['wiostream',['http://en.cppreference.com/w/cpp/io/basic_iostream/basic_iostream.html',0,'std::wiostream']]], - ['wistream_52',['wistream',['http://en.cppreference.com/w/cpp/io/basic_istream/basic_istream.html',0,'std::wistream']]], - ['wistringstream_53',['wistringstream',['http://en.cppreference.com/w/cpp/io/basic_istringstream/basic_istringstream.html',0,'std::wistringstream']]], - ['wmemchr_54',['wmemchr',['http://en.cppreference.com/w/cpp/string/wide/wmemchr.html',0,'std']]], - ['wmemcmp_55',['wmemcmp',['http://en.cppreference.com/w/cpp/string/wide/wmemcmp.html',0,'std']]], - ['wmemcpy_56',['wmemcpy',['http://en.cppreference.com/w/cpp/string/wide/wmemcpy.html',0,'std']]], - ['wmemmove_57',['wmemmove',['http://en.cppreference.com/w/cpp/string/wide/wmemmove.html',0,'std']]], - ['wmemset_58',['wmemset',['http://en.cppreference.com/w/cpp/string/wide/wmemset.html',0,'std']]], - ['wofstream_59',['wofstream',['http://en.cppreference.com/w/cpp/io/basic_ofstream/basic_ofstream.html',0,'std::wofstream']]], - ['wordbreak_60',['wordBreak',['../d3/d84/word__break_8cpp.html#afe4dcd6fd5282e535685361cba645d7c',1,'dynamic_programming::word_break']]], - ['wostream_61',['wostream',['http://en.cppreference.com/w/cpp/io/basic_ostream/basic_ostream.html',0,'std::wostream']]], - ['wostringstream_62',['wostringstream',['http://en.cppreference.com/w/cpp/io/basic_ostringstream/basic_ostringstream.html',0,'std::wostringstream']]], - ['wprintf_63',['wprintf',['http://en.cppreference.com/w/cpp/io/c/fwprintf.html',0,'std']]], - ['wregex_64',['wregex',['http://en.cppreference.com/w/cpp/regex/basic_regex/basic_regex.html',0,'std::wregex']]], - ['write_65',['write',['http://en.cppreference.com/w/cpp/io/basic_ostream/write.html',0,'std::basic_ofstream::write()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/write.html',0,'std::fstream::write()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/write.html',0,'std::wostream::write()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/write.html',0,'std::basic_ostringstream::write()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/write.html',0,'std::ostringstream::write()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/write.html',0,'std::basic_fstream::write()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/write.html',0,'std::iostream::write()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/write.html',0,'std::stringstream::write()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/write.html',0,'std::ostream::write()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/write.html',0,'std::strstream::write()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/write.html',0,'std::basic_stringstream::write()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/write.html',0,'std::wostringstream::write()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/write.html',0,'std::basic_ostream::write()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/write.html',0,'std::wiostream::write()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/write.html',0,'std::ofstream::write()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/write.html',0,'std::ostrstream::write()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/write.html',0,'std::wfstream::write()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/write.html',0,'std::basic_iostream::write()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/write.html',0,'std::wofstream::write()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/write.html',0,'std::wstringstream::write()']]], - ['ws_66',['ws',['http://en.cppreference.com/w/cpp/io/manip/ws.html',0,'std']]], - ['wscanf_67',['wscanf',['http://en.cppreference.com/w/cpp/io/c/fwscanf.html',0,'std']]], - ['wsmatch_68',['wsmatch',['http://en.cppreference.com/w/cpp/regex/match_results/match_results.html',0,'std::wsmatch']]], - ['wsregex_5fiterator_69',['wsregex_iterator',['http://en.cppreference.com/w/cpp/regex/regex_iterator/regex_iterator.html',0,'std::wsregex_iterator']]], - ['wsregex_5ftoken_5fiterator_70',['wsregex_token_iterator',['http://en.cppreference.com/w/cpp/regex/regex_token_iterator/regex_token_iterator.html',0,'std::wsregex_token_iterator']]], - ['wssub_5fmatch_71',['wssub_match',['http://en.cppreference.com/w/cpp/regex/sub_match/sub_match.html',0,'std::wssub_match']]], - ['wstreambuf_72',['wstreambuf',['http://en.cppreference.com/w/cpp/io/basic_streambuf/basic_streambuf.html',0,'std::wstreambuf']]], - ['wstring_73',['wstring',['http://en.cppreference.com/w/cpp/string/basic_string/basic_string.html',0,'std::wstring']]], - ['wstring_5fconvert_74',['wstring_convert',['http://en.cppreference.com/w/cpp/locale/wstring_convert/wstring_convert.html',0,'std::wstring_convert']]], - ['wstringbuf_75',['wstringbuf',['http://en.cppreference.com/w/cpp/io/basic_stringbuf/basic_stringbuf.html',0,'std::wstringbuf']]], - ['wstringstream_76',['wstringstream',['http://en.cppreference.com/w/cpp/io/basic_stringstream/basic_stringstream.html',0,'std::wstringstream']]] + ['wavesort_0',['waveSort',['../db/d3f/wave__sort_8cpp.html#a7d4f243b9dc13ace4ef77e30dbc56f12',1,'sorting::wave_sort']]], + ['wigglesort_1',['wiggleSort',['../d1/dcc/wiggle__sort_8cpp.html#a99eeded693ac073717282fae365957a1',1,'sorting::wiggle_sort']]], + ['windowedmedian_2',['WindowedMedian',['../df/d34/classprobability_1_1windowed__median_1_1_windowed_median.html#aac676369661d15a3eb782c0fee77d45d',1,'probability::windowed_median::WindowedMedian']]], + ['wordbreak_3',['wordBreak',['../d3/d84/word__break_8cpp.html#afe4dcd6fd5282e535685361cba645d7c',1,'dynamic_programming::word_break']]] ]; diff --git a/search/functions_18.js b/search/functions_18.js index b86214cb9..c691fff12 100644 --- a/search/functions_18.js +++ b/search/functions_18.js @@ -1,6 +1,5 @@ var searchData= [ - ['xalloc_0',['xalloc',['http://en.cppreference.com/w/cpp/io/ios_base/xalloc.html',0,'std::basic_ofstream::xalloc()'],['http://en.cppreference.com/w/cpp/io/ios_base/xalloc.html',0,'std::fstream::xalloc()'],['http://en.cppreference.com/w/cpp/io/ios_base/xalloc.html',0,'std::wostream::xalloc()'],['http://en.cppreference.com/w/cpp/io/ios_base/xalloc.html',0,'std::basic_ostringstream::xalloc()'],['http://en.cppreference.com/w/cpp/io/ios_base/xalloc.html',0,'std::basic_ios::xalloc()'],['http://en.cppreference.com/w/cpp/io/ios_base/xalloc.html',0,'std::ostringstream::xalloc()'],['http://en.cppreference.com/w/cpp/io/ios_base/xalloc.html',0,'std::basic_fstream::xalloc()'],['http://en.cppreference.com/w/cpp/io/ios_base/xalloc.html',0,'std::iostream::xalloc()'],['http://en.cppreference.com/w/cpp/io/ios_base/xalloc.html',0,'std::ios_base::xalloc()'],['http://en.cppreference.com/w/cpp/io/ios_base/xalloc.html',0,'std::wistream::xalloc()'],['http://en.cppreference.com/w/cpp/io/ios_base/xalloc.html',0,'std::stringstream::xalloc()'],['http://en.cppreference.com/w/cpp/io/ios_base/xalloc.html',0,'std::ostream::xalloc()'],['http://en.cppreference.com/w/cpp/io/ios_base/xalloc.html',0,'std::wifstream::xalloc()'],['http://en.cppreference.com/w/cpp/io/ios_base/xalloc.html',0,'std::basic_istream::xalloc()'],['http://en.cppreference.com/w/cpp/io/ios_base/xalloc.html',0,'std::strstream::xalloc()'],['http://en.cppreference.com/w/cpp/io/ios_base/xalloc.html',0,'std::basic_stringstream::xalloc()'],['http://en.cppreference.com/w/cpp/io/ios_base/xalloc.html',0,'std::wostringstream::xalloc()'],['http://en.cppreference.com/w/cpp/io/ios_base/xalloc.html',0,'std::istrstream::xalloc()'],['http://en.cppreference.com/w/cpp/io/ios_base/xalloc.html',0,'std::basic_ostream::xalloc()'],['http://en.cppreference.com/w/cpp/io/ios_base/xalloc.html',0,'std::wiostream::xalloc()'],['http://en.cppreference.com/w/cpp/io/ios_base/xalloc.html',0,'std::ofstream::xalloc()'],['http://en.cppreference.com/w/cpp/io/ios_base/xalloc.html',0,'std::basic_istringstream::xalloc()'],['http://en.cppreference.com/w/cpp/io/ios_base/xalloc.html',0,'std::basic_ifstream::xalloc()'],['http://en.cppreference.com/w/cpp/io/ios_base/xalloc.html',0,'std::istringstream::xalloc()'],['http://en.cppreference.com/w/cpp/io/ios_base/xalloc.html',0,'std::istream::xalloc()'],['http://en.cppreference.com/w/cpp/io/ios_base/xalloc.html',0,'std::ostrstream::xalloc()'],['http://en.cppreference.com/w/cpp/io/ios_base/xalloc.html',0,'std::wfstream::xalloc()'],['http://en.cppreference.com/w/cpp/io/ios_base/xalloc.html',0,'std::basic_iostream::xalloc()'],['http://en.cppreference.com/w/cpp/io/ios_base/xalloc.html',0,'std::wofstream::xalloc()'],['http://en.cppreference.com/w/cpp/io/ios_base/xalloc.html',0,'std::wstringstream::xalloc()'],['http://en.cppreference.com/w/cpp/io/ios_base/xalloc.html',0,'std::wistringstream::xalloc()'],['http://en.cppreference.com/w/cpp/io/ios_base/xalloc.html',0,'std::ifstream::xalloc()']]], - ['xsgetn_1',['xsgetn',['http://en.cppreference.com/w/cpp/io/basic_streambuf/sgetn.html',0,'std::basic_filebuf::xsgetn()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sgetn.html',0,'std::wstringbuf::xsgetn()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sgetn.html',0,'std::stringbuf::xsgetn()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sgetn.html',0,'std::wfilebuf::xsgetn()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sgetn.html',0,'std::wstreambuf::xsgetn()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sgetn.html',0,'std::strstreambuf::xsgetn()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sgetn.html',0,'std::basic_stringbuf::xsgetn()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sgetn.html',0,'std::basic_streambuf::xsgetn()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sgetn.html',0,'std::filebuf::xsgetn()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sgetn.html',0,'std::streambuf::xsgetn()']]], - ['xsputn_2',['xsputn',['http://en.cppreference.com/w/cpp/io/basic_streambuf/sputn.html',0,'std::basic_filebuf::xsputn()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sputn.html',0,'std::wstringbuf::xsputn()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sputn.html',0,'std::stringbuf::xsputn()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sputn.html',0,'std::wfilebuf::xsputn()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sputn.html',0,'std::wstreambuf::xsputn()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sputn.html',0,'std::strstreambuf::xsputn()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sputn.html',0,'std::basic_stringbuf::xsputn()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sputn.html',0,'std::basic_streambuf::xsputn()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sputn.html',0,'std::filebuf::xsputn()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/sputn.html',0,'std::streambuf::xsputn()']]] + ['z_5ffunction_0',['Z_function',['../d3/d80/z__function_8cpp.html#ac044c4794349a8cff6256b99950d5773',1,'z_function.cpp']]], + ['zeroes_5finitialization_1',['zeroes_initialization',['../d8/d77/namespacemachine__learning.html#ac1bdaa2a724b4ce6a6bb371a5dbe2e7e',1,'machine_learning']]] ]; diff --git a/search/functions_19.js b/search/functions_19.js index 58ba673f3..de71404ed 100644 --- a/search/functions_19.js +++ b/search/functions_19.js @@ -1,4 +1,13 @@ var searchData= [ - ['yield_0',['yield',['http://en.cppreference.com/w/cpp/thread/yield.html',0,'std::this_thread']]] + ['_7ecircularlinkedlist_0',['~CircularLinkedList',['../d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list.html#a46195fcf11b636064c7172cb74b55dd0',1,'operations_on_datastructures::circular_linked_list::CircularLinkedList']]], + ['_7edenselayer_1',['~DenseLayer',['../dc/d93/classmachine__learning_1_1neural__network_1_1layers_1_1_dense_layer.html#ac9cda9453c4a0caf5bae7f9213b019a0',1,'machine_learning::neural_network::layers::DenseLayer']]], + ['_7eeightpuzzle_2',['~EightPuzzle',['../dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle.html#a194c2973b51a5467fc17064a4ea4e6f9',1,'machine_learning::aystar_search::EightPuzzle']]], + ['_7einfo_3',['~Info',['../da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html#aa816af5a64b37c86be8acda89fdefba2',1,'machine_learning::aystar_search::AyStarSearch::Info']]], + ['_7eknn_4',['~Knn',['../da/d94/classmachine__learning_1_1k__nearest__neighbors_1_1_knn.html#afe732a33112b457b738f403622d226e5',1,'machine_learning::k_nearest_neighbors::Knn']]], + ['_7elfucache_5',['~LFUCache',['../df/d8f/classothers_1_1_cache_1_1_l_f_u_cache.html#a8857531ecc8ed2e36868e267148eff36',1,'others::Cache::LFUCache']]], + ['_7elrucache_6',['~LRUCache',['../d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache.html#a6d855ff72ad6fe548eb564b7f87abe06',1,'others::Cache::LRUCache']]], + ['_7eneuralnetwork_7',['~NeuralNetwork',['../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#a8973f687738ddd76f93b5562feae4027',1,'machine_learning::neural_network::NeuralNetwork']]], + ['_7euint128_5ft_8',['~uint128_t',['../db/d9a/classuint128__t.html#a4147188abcdcdb12c61bfbe4e4c0a363',1,'uint128_t']]], + ['_7euint256_5ft_9',['~uint256_t',['../d1/d83/classuint256__t.html#a3ff17ab14b2371eb3239107d10947067',1,'uint256_t']]] ]; diff --git a/search/functions_2.js b/search/functions_2.js index 139772b73..1a2522a57 100644 --- a/search/functions_2.js +++ b/search/functions_2.js @@ -1,76 +1,32 @@ var searchData= [ - ['b_0',['b',['http://en.cppreference.com/w/cpp/numeric/random/extreme_value_distribution/params.html',0,'std::extreme_value_distribution::b()'],['http://en.cppreference.com/w/cpp/numeric/random/uniform_real_distribution/params.html',0,'std::uniform_real_distribution::b()'],['http://en.cppreference.com/w/cpp/numeric/random/weibull_distribution/params.html',0,'std::weibull_distribution::b()'],['http://en.cppreference.com/w/cpp/numeric/random/uniform_int_distribution/params.html',0,'std::uniform_int_distribution::b()'],['http://en.cppreference.com/w/cpp/numeric/random/cauchy_distribution/params.html',0,'std::cauchy_distribution::b()']]], - ['babylonian_5fmethod_1',['babylonian_method',['../d1/de0/namespacenumerical__methods.html#a28e67885f8606564cc8335f483f63309',1,'numerical_methods']]], - ['back_2',['back',['http://en.cppreference.com/w/cpp/container/dynarray/back.html',0,'std::dynarray::back()'],['http://en.cppreference.com/w/cpp/container/vector/back.html',0,'std::vector::back()'],['http://en.cppreference.com/w/cpp/string/basic_string/back.html',0,'std::string::back()'],['http://en.cppreference.com/w/cpp/container/deque/back.html',0,'std::deque::back()'],['http://en.cppreference.com/w/cpp/container/queue/back.html',0,'std::queue::back()'],['http://en.cppreference.com/w/cpp/string/basic_string/back.html',0,'std::basic_string::back()'],['http://en.cppreference.com/w/cpp/string/basic_string/back.html',0,'std::wstring::back()'],['http://en.cppreference.com/w/cpp/string/basic_string/back.html',0,'std::u16string::back()'],['http://en.cppreference.com/w/cpp/string/basic_string/back.html',0,'std::u32string::back()'],['http://en.cppreference.com/w/cpp/container/list/back.html',0,'std::list::back()'],['http://en.cppreference.com/w/cpp/container/array/back.html',0,'std::array::back()']]], - ['back_5finserter_3',['back_inserter',['http://en.cppreference.com/w/cpp/iterator/back_inserter.html',0,'std']]], - ['bad_4',['bad',['http://en.cppreference.com/w/cpp/io/basic_ios/bad.html',0,'std::basic_ofstream::bad()'],['http://en.cppreference.com/w/cpp/io/basic_ios/bad.html',0,'std::fstream::bad()'],['http://en.cppreference.com/w/cpp/io/basic_ios/bad.html',0,'std::wostream::bad()'],['http://en.cppreference.com/w/cpp/io/basic_ios/bad.html',0,'std::basic_ostringstream::bad()'],['http://en.cppreference.com/w/cpp/io/basic_ios/bad.html',0,'std::basic_ios::bad()'],['http://en.cppreference.com/w/cpp/io/basic_ios/bad.html',0,'std::ostringstream::bad()'],['http://en.cppreference.com/w/cpp/io/basic_ios/bad.html',0,'std::basic_fstream::bad()'],['http://en.cppreference.com/w/cpp/io/basic_ios/bad.html',0,'std::iostream::bad()'],['http://en.cppreference.com/w/cpp/io/basic_ios/bad.html',0,'std::wistream::bad()'],['http://en.cppreference.com/w/cpp/io/basic_ios/bad.html',0,'std::stringstream::bad()'],['http://en.cppreference.com/w/cpp/io/basic_ios/bad.html',0,'std::ostream::bad()'],['http://en.cppreference.com/w/cpp/io/basic_ios/bad.html',0,'std::wifstream::bad()'],['http://en.cppreference.com/w/cpp/io/basic_ios/bad.html',0,'std::basic_istream::bad()'],['http://en.cppreference.com/w/cpp/io/basic_ios/bad.html',0,'std::strstream::bad()'],['http://en.cppreference.com/w/cpp/io/basic_ios/bad.html',0,'std::basic_stringstream::bad()'],['http://en.cppreference.com/w/cpp/io/basic_ios/bad.html',0,'std::wostringstream::bad()'],['http://en.cppreference.com/w/cpp/io/basic_ios/bad.html',0,'std::istrstream::bad()'],['http://en.cppreference.com/w/cpp/io/basic_ios/bad.html',0,'std::basic_ostream::bad()'],['http://en.cppreference.com/w/cpp/io/basic_ios/bad.html',0,'std::wiostream::bad()'],['http://en.cppreference.com/w/cpp/io/basic_ios/bad.html',0,'std::ofstream::bad()'],['http://en.cppreference.com/w/cpp/io/basic_ios/bad.html',0,'std::basic_istringstream::bad()'],['http://en.cppreference.com/w/cpp/io/basic_ios/bad.html',0,'std::basic_ifstream::bad()'],['http://en.cppreference.com/w/cpp/io/basic_ios/bad.html',0,'std::istringstream::bad()'],['http://en.cppreference.com/w/cpp/io/basic_ios/bad.html',0,'std::istream::bad()'],['http://en.cppreference.com/w/cpp/io/basic_ios/bad.html',0,'std::ostrstream::bad()'],['http://en.cppreference.com/w/cpp/io/basic_ios/bad.html',0,'std::wfstream::bad()'],['http://en.cppreference.com/w/cpp/io/basic_ios/bad.html',0,'std::basic_iostream::bad()'],['http://en.cppreference.com/w/cpp/io/basic_ios/bad.html',0,'std::wofstream::bad()'],['http://en.cppreference.com/w/cpp/io/basic_ios/bad.html',0,'std::wstringstream::bad()'],['http://en.cppreference.com/w/cpp/io/basic_ios/bad.html',0,'std::wistringstream::bad()'],['http://en.cppreference.com/w/cpp/io/basic_ios/bad.html',0,'std::ifstream::bad()']]], - ['bad_5falloc_5',['bad_alloc',['http://en.cppreference.com/w/cpp/memory/new/bad_alloc.html',0,'std::bad_alloc']]], - ['bad_5farray_5flength_6',['bad_array_length',['http://en.cppreference.com/w/cpp/memory/new/bad_array_length.html',0,'std::bad_array_length']]], - ['bad_5farray_5fnew_5flength_7',['bad_array_new_length',['http://en.cppreference.com/w/cpp/memory/new/bad_array_new_length/bad_array_new_length.html',0,'std::bad_array_new_length']]], - ['bad_5fcast_8',['bad_cast',['http://en.cppreference.com/w/cpp/types/bad_cast/bad_cast.html',0,'std::bad_cast']]], - ['bad_5ffunction_5fcall_9',['bad_function_call',['http://en.cppreference.com/w/cpp/utility/functional/bad_function_call.html',0,'std::bad_function_call']]], - ['bad_5foptional_5faccess_10',['bad_optional_access',['http://en.cppreference.com/w/cpp/utility/bad_optional_access.html',0,'std::bad_optional_access']]], - ['bad_5ftypeid_11',['bad_typeid',['http://en.cppreference.com/w/cpp/types/bad_typeid/bad_typeid.html',0,'std::bad_typeid']]], - ['bad_5fweak_5fptr_12',['bad_weak_ptr',['http://en.cppreference.com/w/cpp/memory/bad_weak_ptr/bad_weak_ptr.html',0,'std::bad_weak_ptr']]], - ['base_13',['base',['http://en.cppreference.com/w/cpp/numeric/random/discard_block_engine/base.html',0,'std::ranlux48::base()'],['http://en.cppreference.com/w/cpp/numeric/random/discard_block_engine/base.html',0,'std::discard_block_engine::base()'],['http://en.cppreference.com/w/cpp/numeric/random/independent_bits_engine/base.html',0,'std::independent_bits_engine::base()'],['http://en.cppreference.com/w/cpp/numeric/random/shuffle_order_engine/base.html',0,'std::shuffle_order_engine::base()'],['http://en.cppreference.com/w/cpp/numeric/random/discard_block_engine/base.html',0,'std::ranlux24::base()'],['http://en.cppreference.com/w/cpp/numeric/random/shuffle_order_engine/base.html',0,'std::knuth_b::base()']]], - ['basic_5ffilebuf_14',['basic_filebuf',['http://en.cppreference.com/w/cpp/io/basic_filebuf/basic_filebuf.html',0,'std::basic_filebuf']]], - ['basic_5ffstream_15',['basic_fstream',['http://en.cppreference.com/w/cpp/io/basic_fstream/basic_fstream.html',0,'std::basic_fstream']]], - ['basic_5fifstream_16',['basic_ifstream',['http://en.cppreference.com/w/cpp/io/basic_ifstream/basic_ifstream.html',0,'std::basic_ifstream']]], - ['basic_5fios_17',['basic_ios',['http://en.cppreference.com/w/cpp/io/basic_ios/basic_ios.html',0,'std::basic_ios']]], - ['basic_5fiostream_18',['basic_iostream',['http://en.cppreference.com/w/cpp/io/basic_iostream/basic_iostream.html',0,'std::basic_iostream']]], - ['basic_5fistream_19',['basic_istream',['http://en.cppreference.com/w/cpp/io/basic_istream/basic_istream.html',0,'std::basic_istream']]], - ['basic_5fistringstream_20',['basic_istringstream',['http://en.cppreference.com/w/cpp/io/basic_istringstream/basic_istringstream.html',0,'std::basic_istringstream']]], - ['basic_5fofstream_21',['basic_ofstream',['http://en.cppreference.com/w/cpp/io/basic_ofstream/basic_ofstream.html',0,'std::basic_ofstream']]], - ['basic_5fostream_22',['basic_ostream',['http://en.cppreference.com/w/cpp/io/basic_ostream/basic_ostream.html',0,'std::basic_ostream']]], - ['basic_5fostringstream_23',['basic_ostringstream',['http://en.cppreference.com/w/cpp/io/basic_ostringstream/basic_ostringstream.html',0,'std::basic_ostringstream']]], - ['basic_5fregex_24',['basic_regex',['http://en.cppreference.com/w/cpp/regex/basic_regex/basic_regex.html',0,'std::basic_regex']]], - ['basic_5fstreambuf_25',['basic_streambuf',['http://en.cppreference.com/w/cpp/io/basic_streambuf/basic_streambuf.html',0,'std::basic_streambuf']]], - ['basic_5fstring_26',['basic_string',['http://en.cppreference.com/w/cpp/string/basic_string/basic_string.html',0,'std::basic_string']]], - ['basic_5fstringbuf_27',['basic_stringbuf',['http://en.cppreference.com/w/cpp/io/basic_stringbuf/basic_stringbuf.html',0,'std::basic_stringbuf']]], - ['basic_5fstringstream_28',['basic_stringstream',['http://en.cppreference.com/w/cpp/io/basic_stringstream/basic_stringstream.html',0,'std::basic_stringstream']]], - ['batch_5fpredict_29',['batch_predict',['../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#a88bf9023ab3d4cdb61cf707c7cdfc86b',1,'machine_learning::neural_network::NeuralNetwork']]], - ['bayes_5fagivenb_30',['bayes_AgivenB',['../d5/d67/bayes__theorem_8cpp.html#a655bfe51252468d232dc639a340656ba',1,'bayes_theorem.cpp']]], - ['bayes_5fbgivena_31',['bayes_BgivenA',['../d5/d67/bayes__theorem_8cpp.html#abb4f22dc05887c2259fdfc55c687598f',1,'bayes_theorem.cpp']]], - ['before_32',['before',['http://en.cppreference.com/w/cpp/types/type_info/before.html',0,'std::type_info']]], - ['before_5fbegin_33',['before_begin',['http://en.cppreference.com/w/cpp/container/forward_list/before_begin.html',0,'std::forward_list']]], - ['begin_34',['begin',['http://en.cppreference.com/w/cpp/container/dynarray/begin.html',0,'std::dynarray::begin()'],['http://en.cppreference.com/w/cpp/container/vector/begin.html',0,'std::vector::begin()'],['http://en.cppreference.com/w/cpp/regex/match_results/begin.html',0,'std::match_results::begin()'],['http://en.cppreference.com/w/cpp/container/multiset/begin.html',0,'std::multiset::begin()'],['http://en.cppreference.com/w/cpp/string/basic_string/begin.html',0,'std::string::begin()'],['http://en.cppreference.com/w/cpp/container/set/begin.html',0,'std::set::begin()'],['http://en.cppreference.com/w/cpp/container/unordered_map/begin.html',0,'std::unordered_map::begin()'],['http://en.cppreference.com/w/cpp/utility/initializer_list/begin.html',0,'std::initializer_list::begin()'],['http://en.cppreference.com/w/cpp/regex/match_results/begin.html',0,'std::wsmatch::begin()'],['http://en.cppreference.com/w/cpp/regex/match_results/begin.html',0,'std::smatch::begin()'],['http://en.cppreference.com/w/cpp/container/unordered_multimap/begin.html',0,'std::unordered_multimap::begin()'],['http://en.cppreference.com/w/cpp/container/forward_list/begin.html',0,'std::forward_list::begin()'],['http://en.cppreference.com/w/cpp/regex/match_results/begin.html',0,'std::wcmatch::begin()'],['http://en.cppreference.com/w/cpp/container/deque/begin.html',0,'std::deque::begin()'],['http://en.cppreference.com/w/cpp/string/basic_string/begin.html',0,'std::basic_string::begin()'],['http://en.cppreference.com/w/cpp/string/basic_string/begin.html',0,'std::wstring::begin()'],['http://en.cppreference.com/w/cpp/container/unordered_multiset/begin.html',0,'std::unordered_multiset::begin()'],['http://en.cppreference.com/w/cpp/string/basic_string/begin.html',0,'std::u16string::begin()'],['http://en.cppreference.com/w/cpp/string/basic_string/begin.html',0,'std::u32string::begin()'],['http://en.cppreference.com/w/cpp/container/list/begin.html',0,'std::list::begin()'],['http://en.cppreference.com/w/cpp/container/map/begin.html',0,'std::map::begin()'],['http://en.cppreference.com/w/cpp/regex/match_results/begin.html',0,'std::cmatch::begin()'],['http://en.cppreference.com/w/cpp/container/unordered_set/begin.html',0,'std::unordered_set::begin()'],['http://en.cppreference.com/w/cpp/container/multimap/begin.html',0,'std::multimap::begin()'],['http://en.cppreference.com/w/cpp/container/array/begin.html',0,'std::array::begin()'],['http://en.cppreference.com/w/cpp/iterator/begin.html',0,'std::begin()']]], - ['begin_28int_29_35',['begin(int)',['http://en.cppreference.com/w/cpp/container/unordered_map/begin2.html',0,'std::unordered_map::begin(int)()'],['http://en.cppreference.com/w/cpp/container/unordered_multimap/begin2.html',0,'std::unordered_multimap::begin(int)()'],['http://en.cppreference.com/w/cpp/container/unordered_multiset/begin2.html',0,'std::unordered_multiset::begin(int)()'],['http://en.cppreference.com/w/cpp/container/unordered_set/begin2.html',0,'std::unordered_set::begin(int)()']]], - ['bernoulli_5fdistribution_36',['bernoulli_distribution',['http://en.cppreference.com/w/cpp/numeric/random/bernoulli_distribution/bernoulli_distribution.html',0,'std::bernoulli_distribution']]], - ['beta_37',['beta',['http://en.cppreference.com/w/cpp/numeric/random/gamma_distribution/params.html',0,'std::gamma_distribution']]], - ['bfs_38',['bfs',['../d8/d69/classgraph_1_1_h_k_graph.html#a7491add14d9fc04f679114ca6d6f0f93',1,'graph::HKGraph']]], - ['bidijkstra_39',['Bidijkstra',['../d7/d07/bidirectional__dijkstra_8cpp.html#a1b2df3d52a403ad46523ab90d3a723c1',1,'graph::bidirectional_dijkstra']]], - ['binary_5fnegate_40',['binary_negate',['http://en.cppreference.com/w/cpp/utility/functional/binary_negate.html',0,'std::binary_negate']]], - ['binary_5fs_41',['binary_s',['../d8/d8a/exponential__search_8cpp.html#ab06cedad209456eae95d37b7cd66acae',1,'exponential_search.cpp']]], - ['binary_5fsearch_42',['binary_search',['http://en.cppreference.com/w/cpp/algorithm/binary_search.html',0,'std::binary_search()'],['../d5/d91/namespacesorting.html#a034d8b276518a902962e87d3158b64fd',1,'sorting::binary_search()']]], - ['binary_5fsearch_5ftree_43',['binary_search_tree',['../d9/dde/classbinary__search__tree.html#aa67321ed575ca313cd71d833d91234a6',1,'binary_search_tree']]], - ['binarysearch_44',['BinarySearch',['../d5/dab/structdata__structures_1_1list__array_1_1list.html#a412bdb3910181f3c384d86aee7e217cf',1,'data_structures::list_array::list']]], - ['binarytree_45',['BinaryTree',['../de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree.html#abcb1cc8da7b6759dc92cbe0254697c56',1,'operations_on_datastructures::reverse_binary_tree::BinaryTree::BinaryTree()'],['../de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree.html#abb44646a26a446efae7704c80efc011b',1,'operations_on_datastructures::reverse_binary_tree::BinaryTree::BinaryTree(int64_t data)']]], - ['bind_46',['bind',['http://en.cppreference.com/w/cpp/utility/functional/bind.html',0,'std']]], - ['binexpo_47',['binExpo',['../de/dcf/binary__exponent_8cpp.html#aeb48dce0725e63d19147944f41843c73',1,'binExpo(): binary_exponent.cpp'],['../d8/d53/modular__inverse__fermat__little__theorem_8cpp.html#a1c62a87e79f29b98d8fe5b12eacdd928',1,'math::modular_inverse_fermat::binExpo()']]], - ['binexpo_5falt_48',['binExpo_alt',['../de/dcf/binary__exponent_8cpp.html#a31dbf5f7ceb9c9eec831ef9f7782291f',1,'binary_exponent.cpp']]], - ['binomial_5fdistribution_49',['binomial_distribution',['http://en.cppreference.com/w/cpp/numeric/random/binomial_distribution/binomial_distribution.html',0,'std::binomial_distribution']]], - ['binomial_5fexpected_50',['binomial_expected',['../d6/db0/binomial__dist_8cpp.html#a4416a7bc7fa87201883c54cdc4c82813',1,'binomial_dist.cpp']]], - ['binomial_5frange_5fsuccesses_51',['binomial_range_successes',['../d6/db0/binomial__dist_8cpp.html#a76ed6ce71415fb400b65f0656cef3d25',1,'binomial_dist.cpp']]], - ['binomial_5fstandard_5fdeviation_52',['binomial_standard_deviation',['../d6/db0/binomial__dist_8cpp.html#af09e51f513cee647d41192ab0a872cdc',1,'binomial_dist.cpp']]], - ['binomial_5fvariance_53',['binomial_variance',['../d6/db0/binomial__dist_8cpp.html#acd4dd4558031e4c5d045c801f73d8861',1,'binomial_dist.cpp']]], - ['binomial_5fx_5fsuccesses_54',['binomial_x_successes',['../d6/db0/binomial__dist_8cpp.html#a19ae0a6a2bd200fd1eb0e31b2bf4cc76',1,'binomial_dist.cpp']]], - ['binomialcoeffsum_55',['binomialCoeffSum',['../dd/d47/namespacemath.html#ae1ca505751f5a6d3977b86372cfe75ea',1,'math']]], - ['bitcount_56',['bitCount',['../d4/d48/hamming__distance_8cpp.html#a65d845df3fecff7087a2126c7b72030b',1,'bit_manipulation::hamming_distance']]], - ['bitset_57',['Bitset',['../d9/dae/classdata__structures_1_1_bitset.html#a15b05aabb28f9b1896b0a61e8ef60130',1,'data_structures::Bitset']]], - ['bitset_58',['bitset',['http://en.cppreference.com/w/cpp/utility/bitset/bitset.html',0,'std::bitset']]], - ['bloomfilter_59',['BloomFilter',['../dc/dd4/classdata__structures_1_1_bloom_filter.html#a6910d29951b57ab56e7a3db405aa1f1a',1,'data_structures::BloomFilter']]], - ['boolalpha_60',['boolalpha',['http://en.cppreference.com/w/cpp/io/manip/boolalpha.html',0,'std']]], - ['boruvkas_61',['boruvkas',['../d4/d6c/boruvkas__minimum__spanning__tree_8cpp.html#a94c615fc66b72e0adbcbcb99aabb1a59',1,'greedy_algorithms::boruvkas_minimum_spanning_tree']]], - ['bottom_62',['bottom',['../d2/dc8/classdata__structures_1_1_stack.html#a2ac469fcc2229d273450e429139d90e6',1,'data_structures::Stack']]], - ['breadth_5ffirst_5fsearch_63',['breadth_first_search',['../dc/d61/classgraph_1_1_graph.html#a3755ec9e6a842238c7f4aac10b661981',1,'graph::Graph']]], - ['brute_5fforce_64',['brute_force',['../d9/d03/namespacestring__search.html#aeb2cd81064717aedd62bfb096b1a73d8',1,'string_search']]], - ['bsearch_65',['bsearch',['http://en.cppreference.com/w/cpp/algorithm/bsearch.html',0,'std']]], - ['bst_5fnode_66',['bst_node',['../dd/db6/structbinary__search__tree_1_1bst__node.html#a51dd9bd6dd32bce3b74dd64557306778',1,'binary_search_tree::bst_node']]], - ['btowc_67',['btowc',['http://en.cppreference.com/w/cpp/string/multibyte/btowc.html',0,'std']]], - ['bubble_5fsort_68',['bubble_sort',['../d8/d13/bubble__sort_8cpp.html#af3b12930a83915712461d53fe9659686',1,'sorting::bubble_sort']]], - ['bucket_69',['bucket',['http://en.cppreference.com/w/cpp/container/unordered_map/bucket.html',0,'std::unordered_map::bucket()'],['http://en.cppreference.com/w/cpp/container/unordered_multimap/bucket.html',0,'std::unordered_multimap::bucket()'],['http://en.cppreference.com/w/cpp/container/unordered_multiset/bucket.html',0,'std::unordered_multiset::bucket()'],['http://en.cppreference.com/w/cpp/container/unordered_set/bucket.html',0,'std::unordered_set::bucket()']]], - ['bucket_5fcount_70',['bucket_count',['http://en.cppreference.com/w/cpp/container/unordered_map/bucket_count.html',0,'std::unordered_map::bucket_count()'],['http://en.cppreference.com/w/cpp/container/unordered_multimap/bucket_count.html',0,'std::unordered_multimap::bucket_count()'],['http://en.cppreference.com/w/cpp/container/unordered_multiset/bucket_count.html',0,'std::unordered_multiset::bucket_count()'],['http://en.cppreference.com/w/cpp/container/unordered_set/bucket_count.html',0,'std::unordered_set::bucket_count()']]], - ['bucket_5fsize_71',['bucket_size',['http://en.cppreference.com/w/cpp/container/unordered_map/bucket_size.html',0,'std::unordered_map::bucket_size()'],['http://en.cppreference.com/w/cpp/container/unordered_multimap/bucket_size.html',0,'std::unordered_multimap::bucket_size()'],['http://en.cppreference.com/w/cpp/container/unordered_multiset/bucket_size.html',0,'std::unordered_multiset::bucket_size()'],['http://en.cppreference.com/w/cpp/container/unordered_set/bucket_size.html',0,'std::unordered_set::bucket_size()']]], - ['build_72',['build',['../d1/d9e/prefix__sum__array_8cpp.html#ab36151479ad37d53ef9fcb60a274b1d9',1,'range_queries::prefix_sum_array']]] + ['babylonian_5fmethod_0',['babylonian_method',['../d1/de0/namespacenumerical__methods.html#a28e67885f8606564cc8335f483f63309',1,'numerical_methods']]], + ['batch_5fpredict_1',['batch_predict',['../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#a88bf9023ab3d4cdb61cf707c7cdfc86b',1,'machine_learning::neural_network::NeuralNetwork']]], + ['bayes_5fagivenb_2',['bayes_AgivenB',['../d5/d67/bayes__theorem_8cpp.html#a655bfe51252468d232dc639a340656ba',1,'bayes_theorem.cpp']]], + ['bayes_5fbgivena_3',['bayes_BgivenA',['../d5/d67/bayes__theorem_8cpp.html#abb4f22dc05887c2259fdfc55c687598f',1,'bayes_theorem.cpp']]], + ['bfs_4',['bfs',['../d8/d69/classgraph_1_1_h_k_graph.html#a7491add14d9fc04f679114ca6d6f0f93',1,'graph::HKGraph']]], + ['bidijkstra_5',['Bidijkstra',['../d7/d07/bidirectional__dijkstra_8cpp.html#a1b2df3d52a403ad46523ab90d3a723c1',1,'graph::bidirectional_dijkstra']]], + ['binary_5fs_6',['binary_s',['../d8/d8a/exponential__search_8cpp.html#ab06cedad209456eae95d37b7cd66acae',1,'exponential_search.cpp']]], + ['binary_5fsearch_7',['binary_search',['../d5/d91/namespacesorting.html#a034d8b276518a902962e87d3158b64fd',1,'sorting']]], + ['binary_5fsearch_5ftree_8',['binary_search_tree',['../d9/dde/classbinary__search__tree.html#aa67321ed575ca313cd71d833d91234a6',1,'binary_search_tree']]], + ['binarysearch_9',['BinarySearch',['../d5/dab/structdata__structures_1_1list__array_1_1list.html#a412bdb3910181f3c384d86aee7e217cf',1,'data_structures::list_array::list']]], + ['binarytree_10',['BinaryTree',['../de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree.html#abcb1cc8da7b6759dc92cbe0254697c56',1,'operations_on_datastructures::reverse_binary_tree::BinaryTree::BinaryTree()'],['../de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree.html#abb44646a26a446efae7704c80efc011b',1,'operations_on_datastructures::reverse_binary_tree::BinaryTree::BinaryTree(int64_t data)']]], + ['binexpo_11',['binExpo',['../de/dcf/binary__exponent_8cpp.html#aeb48dce0725e63d19147944f41843c73',1,'binExpo(): binary_exponent.cpp'],['../d8/d53/modular__inverse__fermat__little__theorem_8cpp.html#a1c62a87e79f29b98d8fe5b12eacdd928',1,'math::modular_inverse_fermat::binExpo()']]], + ['binexpo_5falt_12',['binExpo_alt',['../de/dcf/binary__exponent_8cpp.html#a31dbf5f7ceb9c9eec831ef9f7782291f',1,'binary_exponent.cpp']]], + ['binomial_5fexpected_13',['binomial_expected',['../d6/db0/binomial__dist_8cpp.html#a4416a7bc7fa87201883c54cdc4c82813',1,'binomial_dist.cpp']]], + ['binomial_5frange_5fsuccesses_14',['binomial_range_successes',['../d6/db0/binomial__dist_8cpp.html#a76ed6ce71415fb400b65f0656cef3d25',1,'binomial_dist.cpp']]], + ['binomial_5fstandard_5fdeviation_15',['binomial_standard_deviation',['../d6/db0/binomial__dist_8cpp.html#af09e51f513cee647d41192ab0a872cdc',1,'binomial_dist.cpp']]], + ['binomial_5fvariance_16',['binomial_variance',['../d6/db0/binomial__dist_8cpp.html#acd4dd4558031e4c5d045c801f73d8861',1,'binomial_dist.cpp']]], + ['binomial_5fx_5fsuccesses_17',['binomial_x_successes',['../d6/db0/binomial__dist_8cpp.html#a19ae0a6a2bd200fd1eb0e31b2bf4cc76',1,'binomial_dist.cpp']]], + ['binomialcoeffsum_18',['binomialCoeffSum',['../dd/d47/namespacemath.html#ae1ca505751f5a6d3977b86372cfe75ea',1,'math']]], + ['bitcount_19',['bitCount',['../d4/d48/hamming__distance_8cpp.html#a65d845df3fecff7087a2126c7b72030b',1,'bit_manipulation::hamming_distance']]], + ['bitset_20',['Bitset',['../d9/dae/classdata__structures_1_1_bitset.html#a15b05aabb28f9b1896b0a61e8ef60130',1,'data_structures::Bitset']]], + ['bloomfilter_21',['BloomFilter',['../dc/dd4/classdata__structures_1_1_bloom_filter.html#a6910d29951b57ab56e7a3db405aa1f1a',1,'data_structures::BloomFilter']]], + ['boruvkas_22',['boruvkas',['../d4/d6c/boruvkas__minimum__spanning__tree_8cpp.html#a94c615fc66b72e0adbcbcb99aabb1a59',1,'greedy_algorithms::boruvkas_minimum_spanning_tree']]], + ['bottom_23',['bottom',['../d2/dc8/classdata__structures_1_1_stack.html#a2ac469fcc2229d273450e429139d90e6',1,'data_structures::Stack']]], + ['breadth_5ffirst_5fsearch_24',['breadth_first_search',['../dc/d61/classgraph_1_1_graph.html#a3755ec9e6a842238c7f4aac10b661981',1,'graph::Graph']]], + ['brute_5fforce_25',['brute_force',['../d9/d03/namespacestring__search.html#aeb2cd81064717aedd62bfb096b1a73d8',1,'string_search']]], + ['bst_5fnode_26',['bst_node',['../dd/db6/structbinary__search__tree_1_1bst__node.html#a51dd9bd6dd32bce3b74dd64557306778',1,'binary_search_tree::bst_node']]], + ['bubble_5fsort_27',['bubble_sort',['../d8/d13/bubble__sort_8cpp.html#af3b12930a83915712461d53fe9659686',1,'sorting::bubble_sort']]], + ['build_28',['build',['../d1/d9e/prefix__sum__array_8cpp.html#ab36151479ad37d53ef9fcb60a274b1d9',1,'range_queries::prefix_sum_array']]] ]; diff --git a/search/functions_3.js b/search/functions_3.js index 6a114246a..dfbc39480 100644 --- a/search/functions_3.js +++ b/search/functions_3.js @@ -1,112 +1,59 @@ var searchData= [ - ['c16rtomb_0',['c16rtomb',['http://en.cppreference.com/w/cpp/string/multibyte/c16rtomb.html',0,'std']]], - ['c32rtomb_1',['c32rtomb',['http://en.cppreference.com/w/cpp/string/multibyte/c32rtomb.html',0,'std']]], - ['c_5fstr_2',['c_str',['http://en.cppreference.com/w/cpp/string/basic_string/c_str.html',0,'std::string::c_str()'],['http://en.cppreference.com/w/cpp/string/basic_string/c_str.html',0,'std::basic_string::c_str()'],['http://en.cppreference.com/w/cpp/string/basic_string/c_str.html',0,'std::wstring::c_str()'],['http://en.cppreference.com/w/cpp/string/basic_string/c_str.html',0,'std::u16string::c_str()'],['http://en.cppreference.com/w/cpp/string/basic_string/c_str.html',0,'std::u32string::c_str()']]], - ['calculate_3',['calculate',['../d8/db1/binomial__calculate_8cpp.html#aae407a2a13362c4c64fbe509ff325978',1,'math::binomial']]], - ['call_5fonce_4',['call_once',['http://en.cppreference.com/w/cpp/thread/call_once.html',0,'std']]], - ['calloc_5',['calloc',['http://en.cppreference.com/w/cpp/memory/c/calloc.html',0,'std']]], - ['can_5fjump_6',['can_jump',['../d2/d90/namespacegreedy__algorithms.html#a33e3819aa9ffec0e380383c52603b502',1,'greedy_algorithms']]], - ['canimove_7',['CanIMove',['../da/dac/n__queens__all__solution__optimised_8cpp.html#a9e48455584a4faa33e83dd1891efd9b9',1,'backtracking::n_queens_optimized::CanIMove()'],['../d7/d24/nqueen__print__all__solutions_8cpp.html#aea343d8a72a39c9a4c0fbcbc362f2648',1,'backtracking::n_queens_all_solutions::CanIMove()']]], - ['capacity_8',['capacity',['http://en.cppreference.com/w/cpp/container/vector/capacity.html',0,'std::vector::capacity()'],['http://en.cppreference.com/w/cpp/string/basic_string/capacity.html',0,'std::string::capacity()'],['http://en.cppreference.com/w/cpp/string/basic_string/capacity.html',0,'std::basic_string::capacity()'],['http://en.cppreference.com/w/cpp/string/basic_string/capacity.html',0,'std::wstring::capacity()'],['http://en.cppreference.com/w/cpp/string/basic_string/capacity.html',0,'std::u16string::capacity()'],['http://en.cppreference.com/w/cpp/string/basic_string/capacity.html',0,'std::u32string::capacity()'],['../df/d8f/classothers_1_1_cache_1_1_l_f_u_cache.html#ac27c9076377cbed2a2acc45a189fed2c',1,'others::Cache::LFUCache::capacity()'],['../d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache.html#af8edfe5a7def5d5b846463041c33136a',1,'others::Cache::LRUCache::capacity()']]], - ['category_9',['category',['http://en.cppreference.com/w/cpp/error/error_code/category.html',0,'std::error_code::category()'],['http://en.cppreference.com/w/cpp/error/error_condition/category.html',0,'std::error_condition::category()']]], - ['cauchy_5fdistribution_10',['cauchy_distribution',['http://en.cppreference.com/w/cpp/numeric/random/cauchy_distribution/cauchy_distribution.html',0,'std::cauchy_distribution']]], - ['cbefore_5fbegin_11',['cbefore_begin',['http://en.cppreference.com/w/cpp/container/forward_list/before_begin.html',0,'std::forward_list']]], - ['cbegin_12',['cbegin',['http://en.cppreference.com/w/cpp/container/dynarray/begin.html',0,'std::dynarray::cbegin()'],['http://en.cppreference.com/w/cpp/container/vector/begin.html',0,'std::vector::cbegin()'],['http://en.cppreference.com/w/cpp/regex/match_results/begin.html',0,'std::match_results::cbegin()'],['http://en.cppreference.com/w/cpp/container/multiset/begin.html',0,'std::multiset::cbegin()'],['http://en.cppreference.com/w/cpp/string/basic_string/begin.html',0,'std::string::cbegin()'],['http://en.cppreference.com/w/cpp/container/set/begin.html',0,'std::set::cbegin()'],['http://en.cppreference.com/w/cpp/container/unordered_map/begin.html',0,'std::unordered_map::cbegin()'],['http://en.cppreference.com/w/cpp/regex/match_results/begin.html',0,'std::wsmatch::cbegin()'],['http://en.cppreference.com/w/cpp/regex/match_results/begin.html',0,'std::smatch::cbegin()'],['http://en.cppreference.com/w/cpp/container/unordered_multimap/begin.html',0,'std::unordered_multimap::cbegin()'],['http://en.cppreference.com/w/cpp/container/forward_list/begin.html',0,'std::forward_list::cbegin()'],['http://en.cppreference.com/w/cpp/regex/match_results/begin.html',0,'std::wcmatch::cbegin()'],['http://en.cppreference.com/w/cpp/container/deque/begin.html',0,'std::deque::cbegin()'],['http://en.cppreference.com/w/cpp/string/basic_string/begin.html',0,'std::basic_string::cbegin()'],['http://en.cppreference.com/w/cpp/string/basic_string/begin.html',0,'std::wstring::cbegin()'],['http://en.cppreference.com/w/cpp/container/unordered_multiset/begin.html',0,'std::unordered_multiset::cbegin()'],['http://en.cppreference.com/w/cpp/string/basic_string/begin.html',0,'std::u16string::cbegin()'],['http://en.cppreference.com/w/cpp/string/basic_string/begin.html',0,'std::u32string::cbegin()'],['http://en.cppreference.com/w/cpp/container/list/begin.html',0,'std::list::cbegin()'],['http://en.cppreference.com/w/cpp/container/map/begin.html',0,'std::map::cbegin()'],['http://en.cppreference.com/w/cpp/regex/match_results/begin.html',0,'std::cmatch::cbegin()'],['http://en.cppreference.com/w/cpp/container/unordered_set/begin.html',0,'std::unordered_set::cbegin()'],['http://en.cppreference.com/w/cpp/container/multimap/begin.html',0,'std::multimap::cbegin()'],['http://en.cppreference.com/w/cpp/container/array/begin.html',0,'std::array::cbegin()']]], - ['cbegin_28int_29_13',['cbegin(int)',['http://en.cppreference.com/w/cpp/container/unordered_map/begin2.html',0,'std::unordered_map::cbegin(int)()'],['http://en.cppreference.com/w/cpp/container/unordered_multimap/begin2.html',0,'std::unordered_multimap::cbegin(int)()'],['http://en.cppreference.com/w/cpp/container/unordered_multiset/begin2.html',0,'std::unordered_multiset::cbegin(int)()'],['http://en.cppreference.com/w/cpp/container/unordered_set/begin2.html',0,'std::unordered_set::cbegin(int)()']]], - ['cbrt_14',['cbrt',['http://en.cppreference.com/w/cpp/numeric/math/cbrt.html',0,'std']]], - ['ceil_15',['ceil',['http://en.cppreference.com/w/cpp/numeric/math/ceil.html',0,'std']]], - ['cend_16',['cend',['http://en.cppreference.com/w/cpp/container/dynarray/end.html',0,'std::dynarray::cend()'],['http://en.cppreference.com/w/cpp/container/vector/end.html',0,'std::vector::cend()'],['http://en.cppreference.com/w/cpp/regex/match_results/end.html',0,'std::match_results::cend()'],['http://en.cppreference.com/w/cpp/container/multiset/end.html',0,'std::multiset::cend()'],['http://en.cppreference.com/w/cpp/string/basic_string/end.html',0,'std::string::cend()'],['http://en.cppreference.com/w/cpp/container/set/end.html',0,'std::set::cend()'],['http://en.cppreference.com/w/cpp/container/unordered_map/end.html',0,'std::unordered_map::cend()'],['http://en.cppreference.com/w/cpp/regex/match_results/end.html',0,'std::wsmatch::cend()'],['http://en.cppreference.com/w/cpp/regex/match_results/end.html',0,'std::smatch::cend()'],['http://en.cppreference.com/w/cpp/container/unordered_multimap/end.html',0,'std::unordered_multimap::cend()'],['http://en.cppreference.com/w/cpp/container/forward_list/end.html',0,'std::forward_list::cend()'],['http://en.cppreference.com/w/cpp/regex/match_results/end.html',0,'std::wcmatch::cend()'],['http://en.cppreference.com/w/cpp/container/deque/end.html',0,'std::deque::cend()'],['http://en.cppreference.com/w/cpp/string/basic_string/end.html',0,'std::basic_string::cend()'],['http://en.cppreference.com/w/cpp/string/basic_string/end.html',0,'std::wstring::cend()'],['http://en.cppreference.com/w/cpp/container/unordered_multiset/end.html',0,'std::unordered_multiset::cend()'],['http://en.cppreference.com/w/cpp/string/basic_string/end.html',0,'std::u16string::cend()'],['http://en.cppreference.com/w/cpp/string/basic_string/end.html',0,'std::u32string::cend()'],['http://en.cppreference.com/w/cpp/container/list/end.html',0,'std::list::cend()'],['http://en.cppreference.com/w/cpp/container/map/end.html',0,'std::map::cend()'],['http://en.cppreference.com/w/cpp/regex/match_results/end.html',0,'std::cmatch::cend()'],['http://en.cppreference.com/w/cpp/container/unordered_set/end.html',0,'std::unordered_set::cend()'],['http://en.cppreference.com/w/cpp/container/multimap/end.html',0,'std::multimap::cend()'],['http://en.cppreference.com/w/cpp/container/array/end.html',0,'std::array::cend()']]], - ['cend_28int_29_17',['cend(int)',['http://en.cppreference.com/w/cpp/container/unordered_map/end2.html',0,'std::unordered_map::cend(int)()'],['http://en.cppreference.com/w/cpp/container/unordered_multimap/end2.html',0,'std::unordered_multimap::cend(int)()'],['http://en.cppreference.com/w/cpp/container/unordered_multiset/end2.html',0,'std::unordered_multiset::cend(int)()'],['http://en.cppreference.com/w/cpp/container/unordered_set/end2.html',0,'std::unordered_set::cend(int)()']]], - ['chain_5fquery_18',['chain_query',['../d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d.html#a7d5b40c076347a6aabfb37a0590f2f24',1,'range_queries::heavy_light_decomposition::HLD']]], - ['change_19',['change',['../d1/da6/rungekutta_8cpp.html#a450497475f5607333f9aca8f88901579',1,'rungekutta.cpp']]], - ['change_5froot_20',['change_root',['../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html#ab916d554afa8ca5230b4310c2c69fae0',1,'range_queries::heavy_light_decomposition::Tree']]], - ['char_5fto_5fint_21',['char_to_int',['../d0/d3e/classdata__structures_1_1trie.html#aab373beb3f618b90922528c68797d988',1,'data_structures::trie']]], - ['char_5fto_5fmorse_22',['char_to_morse',['../d8/d76/morse__code_8cpp.html#ab31773fd11555d21f70d6914138d9535',1,'ciphers::morse']]], - ['check_23',['check',['../d3/d84/word__break_8cpp.html#a272b0f5cdb4e41fd6dee4538b808c06a',1,'dynamic_programming::word_break']]], - ['check_5fall_5fzeros_24',['check_all_zeros',['../d1/d11/gcd__of__n__numbers_8cpp.html#a71b9357c7a722f8208499d9ba573297a',1,'math::gcd_of_n_numbers']]], - ['check_5fif_5fequal_25',['check_if_equal',['../d9/d03/namespacestring__search.html#aebe07cea289a13142503d98be7df11fd',1,'string_search']]], - ['check_5fsize_5fmatch_26',['check_size_match',['../d6/d30/classmachine__learning_1_1adaline.html#ac8a9c2aaaa63b0f27ea176857e1e7d56',1,'machine_learning::adaline']]], - ['check_5ftermination_27',['check_termination',['../da/df2/durand__kerner__roots_8cpp.html#a024b8bc4755863315456d573a6732377',1,'durand_kerner_roots.cpp']]], - ['checkbipartite_28',['checkBipartite',['../df/dce/namespacegraph.html#a8e1b547cd407c0774e63f0dc95cda9e7',1,'graph']]], - ['chi_5fsquared_5fdistribution_29',['chi_squared_distribution',['http://en.cppreference.com/w/cpp/numeric/random/chi_squared_distribution/chi_squared_distribution.html',0,'std::chi_squared_distribution']]], - ['circle_30',['circle',['../d0/d01/smallest__circle_8cpp.html#a0b0676df8e4da7a08c7ccaecea344903',1,'smallest_circle.cpp']]], - ['circle_5farea_31',['circle_area',['../dd/d47/namespacemath.html#a40e36c67da78d2131408c57ee091ad75',1,'math']]], - ['circle_5fperimeter_32',['circle_perimeter',['../dd/d47/namespacemath.html#ad0acf82b7bc920182bf8322d1e103953',1,'math']]], - ['circularlinkedlist_33',['CircularLinkedList',['../d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list.html#aa704319924f97fedfb41caf193a00888',1,'operations_on_datastructures::circular_linked_list::CircularLinkedList::CircularLinkedList()'],['../d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list.html#a142fa439b102c6f86341f421ddcfe0a1',1,'operations_on_datastructures::circular_linked_list::CircularLinkedList::CircularLinkedList(const CircularLinkedList &copy)'],['../d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list.html#abde75f6ee432b0378d264da8c7c64db2',1,'operations_on_datastructures::circular_linked_list::CircularLinkedList::CircularLinkedList(CircularLinkedList &&source) noexcept']]], - ['classic_34',['classic',['http://en.cppreference.com/w/cpp/locale/locale/classic.html',0,'std::locale']]], - ['clear_35',['clear',['http://en.cppreference.com/w/cpp/io/basic_ios/clear.html',0,'std::basic_ofstream::clear()'],['http://en.cppreference.com/w/cpp/io/basic_ios/clear.html',0,'std::fstream::clear()'],['http://en.cppreference.com/w/cpp/container/vector/clear.html',0,'std::vector::clear()'],['http://en.cppreference.com/w/cpp/container/multiset/clear.html',0,'std::multiset::clear()'],['http://en.cppreference.com/w/cpp/string/basic_string/clear.html',0,'std::string::clear()'],['http://en.cppreference.com/w/cpp/io/basic_ios/clear.html',0,'std::wostream::clear()'],['http://en.cppreference.com/w/cpp/container/set/clear.html',0,'std::set::clear()'],['http://en.cppreference.com/w/cpp/io/basic_ios/clear.html',0,'std::basic_ostringstream::clear()'],['http://en.cppreference.com/w/cpp/container/unordered_map/clear.html',0,'std::unordered_map::clear()'],['http://en.cppreference.com/w/cpp/io/basic_ios/clear.html',0,'std::basic_ios::clear()'],['http://en.cppreference.com/w/cpp/io/basic_ios/clear.html',0,'std::ostringstream::clear()'],['http://en.cppreference.com/w/cpp/io/basic_ios/clear.html',0,'std::basic_fstream::clear()'],['http://en.cppreference.com/w/cpp/io/basic_ios/clear.html',0,'std::iostream::clear()'],['http://en.cppreference.com/w/cpp/io/basic_ios/clear.html',0,'std::wistream::clear()'],['http://en.cppreference.com/w/cpp/io/basic_ios/clear.html',0,'std::stringstream::clear()'],['http://en.cppreference.com/w/cpp/container/unordered_multimap/clear.html',0,'std::unordered_multimap::clear()'],['http://en.cppreference.com/w/cpp/container/forward_list/clear.html',0,'std::forward_list::clear()'],['http://en.cppreference.com/w/cpp/io/basic_ios/clear.html',0,'std::ostream::clear()'],['http://en.cppreference.com/w/cpp/error/error_code/clear.html',0,'std::error_code::clear()'],['http://en.cppreference.com/w/cpp/io/basic_ios/clear.html',0,'std::wifstream::clear()'],['http://en.cppreference.com/w/cpp/io/basic_ios/clear.html',0,'std::basic_istream::clear()'],['http://en.cppreference.com/w/cpp/container/deque/clear.html',0,'std::deque::clear()'],['http://en.cppreference.com/w/cpp/io/basic_ios/clear.html',0,'std::strstream::clear()'],['http://en.cppreference.com/w/cpp/io/basic_ios/clear.html',0,'std::basic_stringstream::clear()'],['http://en.cppreference.com/w/cpp/string/basic_string/clear.html',0,'std::basic_string::clear()'],['http://en.cppreference.com/w/cpp/io/basic_ios/clear.html',0,'std::wostringstream::clear()'],['http://en.cppreference.com/w/cpp/string/basic_string/clear.html',0,'std::wstring::clear()'],['http://en.cppreference.com/w/cpp/io/basic_ios/clear.html',0,'std::istrstream::clear()'],['http://en.cppreference.com/w/cpp/container/unordered_multiset/clear.html',0,'std::unordered_multiset::clear()'],['http://en.cppreference.com/w/cpp/io/basic_ios/clear.html',0,'std::basic_ostream::clear()'],['http://en.cppreference.com/w/cpp/error/error_condition/clear.html',0,'std::error_condition::clear()'],['http://en.cppreference.com/w/cpp/string/basic_string/clear.html',0,'std::u16string::clear()'],['http://en.cppreference.com/w/cpp/io/basic_ios/clear.html',0,'std::wiostream::clear()'],['http://en.cppreference.com/w/cpp/string/basic_string/clear.html',0,'std::u32string::clear()'],['http://en.cppreference.com/w/cpp/io/basic_ios/clear.html',0,'std::ofstream::clear()'],['http://en.cppreference.com/w/cpp/io/basic_ios/clear.html',0,'std::basic_istringstream::clear()'],['http://en.cppreference.com/w/cpp/io/basic_ios/clear.html',0,'std::basic_ifstream::clear()'],['http://en.cppreference.com/w/cpp/container/list/clear.html',0,'std::list::clear()'],['http://en.cppreference.com/w/cpp/container/map/clear.html',0,'std::map::clear()'],['http://en.cppreference.com/w/cpp/io/basic_ios/clear.html',0,'std::istringstream::clear()'],['http://en.cppreference.com/w/cpp/io/basic_ios/clear.html',0,'std::istream::clear()'],['http://en.cppreference.com/w/cpp/io/basic_ios/clear.html',0,'std::ostrstream::clear()'],['http://en.cppreference.com/w/cpp/container/unordered_set/clear.html',0,'std::unordered_set::clear()'],['http://en.cppreference.com/w/cpp/io/basic_ios/clear.html',0,'std::wfstream::clear()'],['http://en.cppreference.com/w/cpp/container/multimap/clear.html',0,'std::multimap::clear()'],['http://en.cppreference.com/w/cpp/atomic/atomic_flag/clear.html',0,'std::atomic_flag::clear()'],['http://en.cppreference.com/w/cpp/io/basic_ios/clear.html',0,'std::basic_iostream::clear()'],['http://en.cppreference.com/w/cpp/io/basic_ios/clear.html',0,'std::wofstream::clear()'],['http://en.cppreference.com/w/cpp/io/basic_ios/clear.html',0,'std::wstringstream::clear()'],['http://en.cppreference.com/w/cpp/io/basic_ios/clear.html',0,'std::wistringstream::clear()'],['http://en.cppreference.com/w/cpp/io/basic_ios/clear.html',0,'std::ifstream::clear()'],['../db/da9/classqueue.html#a6ed7f8dfefe8687841f36f2223069375',1,'queue::clear()'],['../d1/dc2/classstack.html#a6f13157faa1a762c59e67da8b9516092',1,'stack::clear()']]], - ['clearerr_36',['clearerr',['http://en.cppreference.com/w/cpp/io/c/clearerr.html',0,'std']]], - ['clock_37',['clock',['http://en.cppreference.com/w/cpp/chrono/c/clock.html',0,'std']]], - ['close_38',['close',['http://en.cppreference.com/w/cpp/io/basic_ofstream/close.html',0,'std::basic_ofstream::close()'],['http://en.cppreference.com/w/cpp/io/basic_fstream/close.html',0,'std::fstream::close()'],['http://en.cppreference.com/w/cpp/io/basic_filebuf/close.html',0,'std::basic_filebuf::close()'],['http://en.cppreference.com/w/cpp/io/basic_fstream/close.html',0,'std::basic_fstream::close()'],['http://en.cppreference.com/w/cpp/io/basic_filebuf/close.html',0,'std::wfilebuf::close()'],['http://en.cppreference.com/w/cpp/io/basic_ifstream/close.html',0,'std::wifstream::close()'],['http://en.cppreference.com/w/cpp/locale/messages/close.html',0,'std::messages_byname::close()'],['http://en.cppreference.com/w/cpp/io/basic_filebuf/close.html',0,'std::filebuf::close()'],['http://en.cppreference.com/w/cpp/io/basic_ofstream/close.html',0,'std::ofstream::close()'],['http://en.cppreference.com/w/cpp/io/basic_ifstream/close.html',0,'std::basic_ifstream::close()'],['http://en.cppreference.com/w/cpp/locale/messages/close.html',0,'std::messages::close()'],['http://en.cppreference.com/w/cpp/io/basic_fstream/close.html',0,'std::wfstream::close()'],['http://en.cppreference.com/w/cpp/io/basic_ofstream/close.html',0,'std::wofstream::close()'],['http://en.cppreference.com/w/cpp/io/basic_ifstream/close.html',0,'std::ifstream::close()']]], - ['cmatch_39',['cmatch',['http://en.cppreference.com/w/cpp/regex/match_results/match_results.html',0,'std::cmatch']]], - ['code_40',['code',['http://en.cppreference.com/w/cpp/thread/future_error/code.html',0,'std::future_error::code()'],['http://en.cppreference.com/w/cpp/regex/regex_error/code.html',0,'std::regex_error::code()'],['http://en.cppreference.com/w/cpp/error/system_error/code.html',0,'std::system_error::code()']]], - ['codec_41',['codec',['../d6/d26/classciphers_1_1_hill_cipher.html#ad667fa0860977f6d6d443fa1dbcd80aa',1,'ciphers::HillCipher']]], - ['codecvt_42',['codecvt',['http://en.cppreference.com/w/cpp/locale/codecvt/codecvt.html',0,'std::codecvt']]], - ['codecvt_5fbyname_43',['codecvt_byname',['http://en.cppreference.com/w/cpp/locale/codecvt_byname.html',0,'std::codecvt_byname']]], - ['collate_44',['collate',['http://en.cppreference.com/w/cpp/locale/collate/collate.html',0,'std::collate']]], - ['collate_5fbyname_45',['collate_byname',['http://en.cppreference.com/w/cpp/locale/collate_byname.html',0,'std::collate_byname']]], - ['comb_46',['comb',['../dd/d95/classdata__structures_1_1_segment_tree.html#a8d22286b7be3dcbb701ac5c7d9c79841',1,'data_structures::SegmentTree']]], - ['combine_47',['combine',['http://en.cppreference.com/w/cpp/locale/locale/combine.html',0,'std::locale::combine()'],['../d9/d35/classrange__queries_1_1heavy__light__decomposition_1_1_s_g.html#a41c733f5f5e262b308f7cb95c88c1e74',1,'range_queries::heavy_light_decomposition::SG::combine()']]], - ['combsort_48',['CombSort',['../d9/dfd/comb__sort_8cpp.html#a0f4e7569090083fb53d5cdeaf0e2974f',1,'comb_sort.cpp']]], - ['compare_49',['compare',['http://en.cppreference.com/w/cpp/string/char_traits/compare.html',0,'std::char_traits::compare()'],['http://en.cppreference.com/w/cpp/string/basic_string/compare.html',0,'std::string::compare()'],['http://en.cppreference.com/w/cpp/regex/sub_match/compare.html',0,'std::wcsub_match::compare()'],['http://en.cppreference.com/w/cpp/locale/collate/compare.html',0,'std::collate_byname::compare()'],['http://en.cppreference.com/w/cpp/regex/sub_match/compare.html',0,'std::wssub_match::compare()'],['http://en.cppreference.com/w/cpp/regex/sub_match/compare.html',0,'std::csub_match::compare()'],['http://en.cppreference.com/w/cpp/regex/sub_match/compare.html',0,'std::ssub_match::compare()'],['http://en.cppreference.com/w/cpp/string/basic_string/compare.html',0,'std::basic_string::compare()'],['http://en.cppreference.com/w/cpp/string/basic_string/compare.html',0,'std::wstring::compare()'],['http://en.cppreference.com/w/cpp/string/basic_string/compare.html',0,'std::u16string::compare()'],['http://en.cppreference.com/w/cpp/locale/collate/compare.html',0,'std::collate::compare()'],['http://en.cppreference.com/w/cpp/string/basic_string/compare.html',0,'std::u32string::compare()'],['http://en.cppreference.com/w/cpp/regex/sub_match/compare.html',0,'std::sub_match::compare()'],['../d4/d7a/shell__sort2_8cpp.html#a7eb77daed2cf1513f6d68c47a1c2db1c',1,'compare(): shell_sort2.cpp']]], - ['compare_5fexchange_5fstrong_50',['compare_exchange_strong',['http://en.cppreference.com/w/cpp/atomic/atomic/compare_exchange.html',0,'std::atomic']]], - ['compare_5fexchange_5fweak_51',['compare_exchange_weak',['http://en.cppreference.com/w/cpp/atomic/atomic/compare_exchange.html',0,'std::atomic']]], - ['complex_52',['Complex',['../da/d5a/class_complex.html#a3cfc522c782726f49ee20af17b77f867',1,'Complex::Complex(double x=0.f, double y=0.f, bool is_polar=false)'],['../da/d5a/class_complex.html#a466cd7b664cc6a864937ceb3dead1323',1,'Complex::Complex(const Complex &other)']]], - ['complex_53',['complex',['http://en.cppreference.com/w/cpp/numeric/complex/complex.html',0,'std::complex']]], - ['complex_5fstr_54',['complex_str',['../da/df2/durand__kerner__roots_8cpp.html#a90219e35062007d1f1b68e9af071ab5c',1,'durand_kerner_roots.cpp']]], - ['compute_5fpadded_5fsize_55',['compute_padded_size',['../d4/d08/sha256_8cpp.html#a28c1c6724dc6bcf91a39818699bbec27',1,'hashing::sha256']]], - ['computefactorialsmod_56',['computeFactorialsMod',['../d6/dc1/classmath_1_1ncr__modulo__p_1_1_n_c_r_modulo_p.html#ab5744fa589f6a48f9fe7bca13dbe661f',1,'math::ncr_modulo_p::NCRModuloP']]], - ['condition_5fvariable_57',['condition_variable',['http://en.cppreference.com/w/cpp/thread/condition_variable/condition_variable.html',0,'std::condition_variable']]], - ['condition_5fvariable_5fany_58',['condition_variable_any',['http://en.cppreference.com/w/cpp/thread/condition_variable_any/condition_variable_any.html',0,'std::condition_variable_any']]], - ['cone_5fvolume_59',['cone_volume',['../dd/d47/namespacemath.html#a3fe35440c27758ecc2287e08217d63a7',1,'math']]], - ['const_5fpointer_5fcast_60',['const_pointer_cast',['http://en.cppreference.com/w/cpp/memory/shared_ptr/pointer_cast.html',0,'std']]], - ['constree_61',['ConsTree',['../d2/d45/segtree_8cpp.html#ae752659b7c1719d68fdb2ca538a93696',1,'segtree.cpp']]], - ['construct_62',['construct',['http://en.cppreference.com/w/cpp/memory/allocator_traits/construct.html',0,'std::allocator_traits::construct()'],['http://en.cppreference.com/w/cpp/memory/allocator/construct.html',0,'std::allocator::construct()'],['http://en.cppreference.com/w/cpp/memory/scoped_allocator_adaptor/construct.html',0,'std::scoped_allocator_adaptor::construct()'],['../d8/d28/classrange__queries_1_1per_seg_tree.html#a6d3f2465a7c5803a1ff16c5378bcc5e4',1,'range_queries::perSegTree::construct(const uint32_t &i, const uint32_t &j)'],['../d8/d28/classrange__queries_1_1per_seg_tree.html#ac83bcabf5a8db8b0d8d156a4c1bcd4c3',1,'range_queries::perSegTree::construct(const std::vector< int64_t > &vec)']]], - ['contains_63',['Contains',['../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a22fd25c6c811c64b6b27b0850d8c532f',1,'data_structures::tree_234::Node']]], - ['contains_64',['contains',['../d9/dde/classbinary__search__tree.html#aa4f84b2eec9b9201af1840868ddb5fb2',1,'binary_search_tree::contains(std::unique_ptr< bst_node > &node, T value)'],['../d9/dde/classbinary__search__tree.html#a6bf5b410299df2320ddf2709dda61f63',1,'binary_search_tree::contains(T value)'],['../d9/dae/classdata__structures_1_1_bitset.html#a9ef54c7c3f6494b36ead3ae2e5cf43ac',1,'data_structures::Bitset::contains()'],['../dc/dd4/classdata__structures_1_1_bloom_filter.html#a576db259488dbfb67624a9652a5ab08b',1,'data_structures::BloomFilter::contains()']]], - ['converted_65',['converted',['http://en.cppreference.com/w/cpp/locale/wstring_convert/converted.html',0,'std::wstring_convert']]], - ['convexhull_66',['Convexhull',['../d4/dde/classgeometry_1_1jarvis_1_1_convexhull.html#a8306e48040a8570e164c58d1c530f870',1,'geometry::jarvis::Convexhull']]], - ['copy_67',['copy',['http://en.cppreference.com/w/cpp/string/char_traits/copy.html',0,'std::char_traits::copy()'],['http://en.cppreference.com/w/cpp/string/basic_string/copy.html',0,'std::string::copy()'],['http://en.cppreference.com/w/cpp/string/basic_string/copy.html',0,'std::basic_string::copy()'],['http://en.cppreference.com/w/cpp/string/basic_string/copy.html',0,'std::wstring::copy()'],['http://en.cppreference.com/w/cpp/string/basic_string/copy.html',0,'std::u16string::copy()'],['http://en.cppreference.com/w/cpp/string/basic_string/copy.html',0,'std::u32string::copy()'],['http://en.cppreference.com/w/cpp/algorithm/copy.html',0,'std::copy()']]], - ['copy_5fall_5fnodes_68',['copy_all_nodes',['../d6/d05/reverse__a__linked__list_8cpp.html#a7f80d9712cc7d77399dcacb4c2917511',1,'data_structures::linked_list']]], - ['copy_5fbackward_69',['copy_backward',['http://en.cppreference.com/w/cpp/algorithm/copy_backward.html',0,'std']]], - ['copy_5fif_70',['copy_if',['http://en.cppreference.com/w/cpp/algorithm/copy.html',0,'std']]], - ['copy_5fn_71',['copy_n',['http://en.cppreference.com/w/cpp/algorithm/copy_n.html',0,'std']]], - ['copyfmt_72',['copyfmt',['http://en.cppreference.com/w/cpp/io/basic_ios/copyfmt.html',0,'std::basic_ofstream::copyfmt()'],['http://en.cppreference.com/w/cpp/io/basic_ios/copyfmt.html',0,'std::fstream::copyfmt()'],['http://en.cppreference.com/w/cpp/io/basic_ios/copyfmt.html',0,'std::wostream::copyfmt()'],['http://en.cppreference.com/w/cpp/io/basic_ios/copyfmt.html',0,'std::basic_ostringstream::copyfmt()'],['http://en.cppreference.com/w/cpp/io/basic_ios/copyfmt.html',0,'std::basic_ios::copyfmt()'],['http://en.cppreference.com/w/cpp/io/basic_ios/copyfmt.html',0,'std::ostringstream::copyfmt()'],['http://en.cppreference.com/w/cpp/io/basic_ios/copyfmt.html',0,'std::basic_fstream::copyfmt()'],['http://en.cppreference.com/w/cpp/io/basic_ios/copyfmt.html',0,'std::iostream::copyfmt()'],['http://en.cppreference.com/w/cpp/io/basic_ios/copyfmt.html',0,'std::wistream::copyfmt()'],['http://en.cppreference.com/w/cpp/io/basic_ios/copyfmt.html',0,'std::stringstream::copyfmt()'],['http://en.cppreference.com/w/cpp/io/basic_ios/copyfmt.html',0,'std::ostream::copyfmt()'],['http://en.cppreference.com/w/cpp/io/basic_ios/copyfmt.html',0,'std::wifstream::copyfmt()'],['http://en.cppreference.com/w/cpp/io/basic_ios/copyfmt.html',0,'std::basic_istream::copyfmt()'],['http://en.cppreference.com/w/cpp/io/basic_ios/copyfmt.html',0,'std::strstream::copyfmt()'],['http://en.cppreference.com/w/cpp/io/basic_ios/copyfmt.html',0,'std::basic_stringstream::copyfmt()'],['http://en.cppreference.com/w/cpp/io/basic_ios/copyfmt.html',0,'std::wostringstream::copyfmt()'],['http://en.cppreference.com/w/cpp/io/basic_ios/copyfmt.html',0,'std::istrstream::copyfmt()'],['http://en.cppreference.com/w/cpp/io/basic_ios/copyfmt.html',0,'std::basic_ostream::copyfmt()'],['http://en.cppreference.com/w/cpp/io/basic_ios/copyfmt.html',0,'std::wiostream::copyfmt()'],['http://en.cppreference.com/w/cpp/io/basic_ios/copyfmt.html',0,'std::ofstream::copyfmt()'],['http://en.cppreference.com/w/cpp/io/basic_ios/copyfmt.html',0,'std::basic_istringstream::copyfmt()'],['http://en.cppreference.com/w/cpp/io/basic_ios/copyfmt.html',0,'std::basic_ifstream::copyfmt()'],['http://en.cppreference.com/w/cpp/io/basic_ios/copyfmt.html',0,'std::istringstream::copyfmt()'],['http://en.cppreference.com/w/cpp/io/basic_ios/copyfmt.html',0,'std::istream::copyfmt()'],['http://en.cppreference.com/w/cpp/io/basic_ios/copyfmt.html',0,'std::ostrstream::copyfmt()'],['http://en.cppreference.com/w/cpp/io/basic_ios/copyfmt.html',0,'std::wfstream::copyfmt()'],['http://en.cppreference.com/w/cpp/io/basic_ios/copyfmt.html',0,'std::basic_iostream::copyfmt()'],['http://en.cppreference.com/w/cpp/io/basic_ios/copyfmt.html',0,'std::wofstream::copyfmt()'],['http://en.cppreference.com/w/cpp/io/basic_ios/copyfmt.html',0,'std::wstringstream::copyfmt()'],['http://en.cppreference.com/w/cpp/io/basic_ios/copyfmt.html',0,'std::wistringstream::copyfmt()'],['http://en.cppreference.com/w/cpp/io/basic_ios/copyfmt.html',0,'std::ifstream::copyfmt()']]], - ['copysign_73',['copysign',['http://en.cppreference.com/w/cpp/numeric/math/copysign.html',0,'std']]], - ['cos_74',['cos',['http://en.cppreference.com/w/cpp/numeric/math/cos.html',0,'std']]], - ['cosh_75',['cosh',['http://en.cppreference.com/w/cpp/numeric/math/cosh.html',0,'std']]], - ['count_76',['count',['http://en.cppreference.com/w/cpp/container/multiset/count.html',0,'std::multiset::count()'],['http://en.cppreference.com/w/cpp/container/set/count.html',0,'std::set::count()'],['http://en.cppreference.com/w/cpp/container/unordered_map/count.html',0,'std::unordered_map::count()'],['http://en.cppreference.com/w/cpp/container/unordered_multimap/count.html',0,'std::unordered_multimap::count()'],['http://en.cppreference.com/w/cpp/chrono/duration/count.html',0,'std::chrono::minutes::count()'],['http://en.cppreference.com/w/cpp/chrono/duration/count.html',0,'std::chrono::seconds::count()'],['http://en.cppreference.com/w/cpp/chrono/duration/count.html',0,'std::chrono::duration::count()'],['http://en.cppreference.com/w/cpp/chrono/duration/count.html',0,'std::chrono::milliseconds::count()'],['http://en.cppreference.com/w/cpp/chrono/duration/count.html',0,'std::chrono::hours::count()'],['http://en.cppreference.com/w/cpp/chrono/duration/count.html',0,'std::chrono::microseconds::count()'],['http://en.cppreference.com/w/cpp/chrono/duration/count.html',0,'std::chrono::nanoseconds::count()'],['http://en.cppreference.com/w/cpp/utility/bitset/count.html',0,'std::bitset::count()'],['http://en.cppreference.com/w/cpp/container/unordered_multiset/count.html',0,'std::unordered_multiset::count()'],['http://en.cppreference.com/w/cpp/container/map/count.html',0,'std::map::count()'],['http://en.cppreference.com/w/cpp/container/unordered_set/count.html',0,'std::unordered_set::count()'],['http://en.cppreference.com/w/cpp/container/multimap/count.html',0,'std::multimap::count()'],['http://en.cppreference.com/w/cpp/algorithm/count.html',0,'std::count(T... args)']]], - ['count_5fif_77',['count_if',['http://en.cppreference.com/w/cpp/algorithm/count.html',0,'std']]], - ['countbitsflip_78',['countBitsFlip',['../d7/d56/count__bits__flip_8cpp.html#a2548486b6c3b80101e768562e687ef7b',1,'bit_manipulation::count_bits_flip']]], - ['countinversion_79',['countInversion',['../d2/d26/count__inversions_8cpp.html#a3332498eabf6579ef059c0d0e9f4ec80',1,'sorting::inversion']]], - ['countsetbits_80',['countSetBits',['../da/db8/count__of__set__bits_8cpp.html#a86c98dc299e4db28b73e08309d977e62',1,'bit_manipulation::count_of_set_bits']]], - ['crbegin_81',['crbegin',['http://en.cppreference.com/w/cpp/container/dynarray/rbegin.html',0,'std::dynarray::crbegin()'],['http://en.cppreference.com/w/cpp/container/vector/rbegin.html',0,'std::vector::crbegin()'],['http://en.cppreference.com/w/cpp/container/multiset/rbegin.html',0,'std::multiset::crbegin()'],['http://en.cppreference.com/w/cpp/string/basic_string/rbegin.html',0,'std::string::crbegin()'],['http://en.cppreference.com/w/cpp/container/set/rbegin.html',0,'std::set::crbegin()'],['http://en.cppreference.com/w/cpp/container/deque/rbegin.html',0,'std::deque::crbegin()'],['http://en.cppreference.com/w/cpp/string/basic_string/rbegin.html',0,'std::basic_string::crbegin()'],['http://en.cppreference.com/w/cpp/string/basic_string/rbegin.html',0,'std::wstring::crbegin()'],['http://en.cppreference.com/w/cpp/string/basic_string/rbegin.html',0,'std::u16string::crbegin()'],['http://en.cppreference.com/w/cpp/string/basic_string/rbegin.html',0,'std::u32string::crbegin()'],['http://en.cppreference.com/w/cpp/container/list/rbegin.html',0,'std::list::crbegin()'],['http://en.cppreference.com/w/cpp/container/map/rbegin.html',0,'std::map::crbegin()'],['http://en.cppreference.com/w/cpp/container/multimap/rbegin.html',0,'std::multimap::crbegin()'],['http://en.cppreference.com/w/cpp/container/array/rbegin.html',0,'std::array::crbegin()']]], - ['create_5fhash_82',['create_hash',['../d9/d03/namespacestring__search.html#a8fb0bc932ba8b582c9f4c71338d050f8',1,'string_search']]], - ['create_5flist_83',['create_list',['../d1/df3/hash__search_8cpp.html#ad0831425f1389166a9518f422d0c6ec5',1,'hash_search.cpp']]], - ['create_5fmatrix_84',['create_matrix',['../de/d75/qr__eigen__values_8cpp.html#a9bbf469d5525a816b0d6ca812119093d',1,'qr_eigen_values.cpp']]], - ['create_5fmessage_5fschedule_5farray_85',['create_message_schedule_array',['../d4/d08/sha256_8cpp.html#a525531b3939ed44fbf01674e21931b3a',1,'hashing::sha256']]], - ['create_5frandom_5farray_86',['create_random_array',['../dd/d0d/insertion__sort_8cpp.html#a59914553f24088342c139645a02a8a49',1,'create_random_array(T *arr, int N): insertion_sort.cpp'],['../dd/d89/insertion__sort__recursive_8cpp.html#a59914553f24088342c139645a02a8a49',1,'create_random_array(T *arr, int N): insertion_sort_recursive.cpp']]], - ['createnewnode_87',['createNewNode',['../d9/d12/classothers_1_1iterative__tree__traversals_1_1_binary_tree.html#a3078a5ccf45d6a7031dcf46e43de65b6',1,'others::iterative_tree_traversals::BinaryTree::createNewNode()'],['../dd/de1/classothers_1_1recursive__tree__traversals_1_1_b_t.html#af16da5fe0f5c54d31778d71d5a042114',1,'others::recursive_tree_traversals::BT::createNewNode()']]], - ['createnode_88',['createNode',['../d8/dee/avltree_8cpp.html#a48d897353aeb6a721dbc6b6c57e035e6',1,'avltree.cpp']]], - ['createset_89',['CreateSet',['../de/d23/disjoint__set_8cpp.html#a010965fc5f16cca5a62506afab24e4ec',1,'disjoint_set.cpp']]], - ['cref_90',['cref',['http://en.cppreference.com/w/cpp/utility/functional/ref.html',0,'std']]], - ['cregex_5fiterator_91',['cregex_iterator',['http://en.cppreference.com/w/cpp/regex/regex_iterator/regex_iterator.html',0,'std::cregex_iterator']]], - ['cregex_5ftoken_5fiterator_92',['cregex_token_iterator',['http://en.cppreference.com/w/cpp/regex/regex_token_iterator/regex_token_iterator.html',0,'std::cregex_token_iterator']]], - ['crend_93',['crend',['http://en.cppreference.com/w/cpp/container/dynarray/rend.html',0,'std::dynarray::crend()'],['http://en.cppreference.com/w/cpp/container/vector/rend.html',0,'std::vector::crend()'],['http://en.cppreference.com/w/cpp/container/multiset/rend.html',0,'std::multiset::crend()'],['http://en.cppreference.com/w/cpp/string/basic_string/rend.html',0,'std::string::crend()'],['http://en.cppreference.com/w/cpp/container/set/rend.html',0,'std::set::crend()'],['http://en.cppreference.com/w/cpp/container/deque/rend.html',0,'std::deque::crend()'],['http://en.cppreference.com/w/cpp/string/basic_string/rend.html',0,'std::basic_string::crend()'],['http://en.cppreference.com/w/cpp/string/basic_string/rend.html',0,'std::wstring::crend()'],['http://en.cppreference.com/w/cpp/string/basic_string/rend.html',0,'std::u16string::crend()'],['http://en.cppreference.com/w/cpp/string/basic_string/rend.html',0,'std::u32string::crend()'],['http://en.cppreference.com/w/cpp/container/list/rend.html',0,'std::list::crend()'],['http://en.cppreference.com/w/cpp/container/map/rend.html',0,'std::map::crend()'],['http://en.cppreference.com/w/cpp/container/multimap/rend.html',0,'std::multimap::crend()'],['http://en.cppreference.com/w/cpp/container/array/rend.html',0,'std::array::crend()']]], - ['cross_94',['cross',['../df/d66/vector__cross__product_8cpp.html#a225732399c5c076976eae5b180a9f8c9',1,'math::vector_cross']]], - ['csub_5fmatch_95',['csub_match',['http://en.cppreference.com/w/cpp/regex/sub_match/sub_match.html',0,'std::csub_match']]], - ['ctime_96',['ctime',['http://en.cppreference.com/w/cpp/chrono/c/ctime.html',0,'std']]], - ['ctype_97',['ctype',['http://en.cppreference.com/w/cpp/locale/ctype/ctype.html',0,'std::ctype']]], - ['ctype_5fbyname_98',['ctype_byname',['http://en.cppreference.com/w/cpp/locale/ctype_byname.html',0,'std::ctype_byname']]], - ['cube_5fsurface_5farea_99',['cube_surface_area',['../dd/d47/namespacemath.html#abc46c784a297fc1d2eb8b33a327fba4c',1,'math']]], - ['cube_5fsurface_5fperimeter_100',['cube_surface_perimeter',['../dd/d47/namespacemath.html#a8998ca7b1886d1d7d00aef3b457a9b1b',1,'math']]], - ['cube_5fvolume_101',['cube_volume',['../dd/d47/namespacemath.html#ae413098478fa38acaac887b7654f0725',1,'math']]], - ['cumulative_5fdistribution_102',['cumulative_distribution',['../da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution.html#a08328dc7d62188427111f176b56a105a',1,'probability::geometric_dist::geometric_distribution']]], - ['curr_5fsymbol_103',['curr_symbol',['http://en.cppreference.com/w/cpp/locale/moneypunct/curr_symbol.html',0,'std::moneypunct_byname::curr_symbol()'],['http://en.cppreference.com/w/cpp/locale/moneypunct/curr_symbol.html',0,'std::moneypunct::curr_symbol()']]], - ['current_5fexception_104',['current_exception',['http://en.cppreference.com/w/cpp/error/current_exception.html',0,'std']]], - ['cyclesort_105',['cycleSort',['../de/d07/cycle__sort_8cpp.html#ae79a9d247691fce0d655fce75f1c04fa',1,'sorting::cycle_sort']]], - ['cylinder_5fsurface_5farea_106',['cylinder_surface_area',['../dd/d47/namespacemath.html#ac5803413618fcfb922cb32c6db0fc864',1,'math']]], - ['cylinder_5fsurface_5fperimeter_107',['cylinder_surface_perimeter',['../dd/d47/namespacemath.html#a1d4df7a4e43a2eac1acc0ac610487c73',1,'math']]], - ['cylinder_5fvolume_108',['cylinder_volume',['../dd/d47/namespacemath.html#abde24398be43538c62e4a496968e60ca',1,'math']]] + ['calculate_0',['calculate',['../d8/db1/binomial__calculate_8cpp.html#aae407a2a13362c4c64fbe509ff325978',1,'math::binomial']]], + ['can_5fjump_1',['can_jump',['../d2/d90/namespacegreedy__algorithms.html#a33e3819aa9ffec0e380383c52603b502',1,'greedy_algorithms']]], + ['canimove_2',['CanIMove',['../da/dac/n__queens__all__solution__optimised_8cpp.html#a9e48455584a4faa33e83dd1891efd9b9',1,'backtracking::n_queens_optimized::CanIMove()'],['../d7/d24/nqueen__print__all__solutions_8cpp.html#aea343d8a72a39c9a4c0fbcbc362f2648',1,'backtracking::n_queens_all_solutions::CanIMove()']]], + ['capacity_3',['capacity',['../df/d8f/classothers_1_1_cache_1_1_l_f_u_cache.html#ac27c9076377cbed2a2acc45a189fed2c',1,'others::Cache::LFUCache::capacity()'],['../d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache.html#af8edfe5a7def5d5b846463041c33136a',1,'others::Cache::LRUCache::capacity()']]], + ['chain_5fquery_4',['chain_query',['../d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d.html#a7d5b40c076347a6aabfb37a0590f2f24',1,'range_queries::heavy_light_decomposition::HLD']]], + ['change_5',['change',['../d1/da6/rungekutta_8cpp.html#a450497475f5607333f9aca8f88901579',1,'rungekutta.cpp']]], + ['change_5froot_6',['change_root',['../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html#ab916d554afa8ca5230b4310c2c69fae0',1,'range_queries::heavy_light_decomposition::Tree']]], + ['char_5fto_5fint_7',['char_to_int',['../d0/d3e/classdata__structures_1_1trie.html#aab373beb3f618b90922528c68797d988',1,'data_structures::trie']]], + ['char_5fto_5fmorse_8',['char_to_morse',['../d8/d76/morse__code_8cpp.html#ab31773fd11555d21f70d6914138d9535',1,'ciphers::morse']]], + ['check_9',['check',['../d3/d84/word__break_8cpp.html#a272b0f5cdb4e41fd6dee4538b808c06a',1,'dynamic_programming::word_break']]], + ['check_5fall_5fzeros_10',['check_all_zeros',['../d1/d11/gcd__of__n__numbers_8cpp.html#a71b9357c7a722f8208499d9ba573297a',1,'math::gcd_of_n_numbers']]], + ['check_5fif_5fequal_11',['check_if_equal',['../d9/d03/namespacestring__search.html#aebe07cea289a13142503d98be7df11fd',1,'string_search']]], + ['check_5fsize_5fmatch_12',['check_size_match',['../d6/d30/classmachine__learning_1_1adaline.html#ac8a9c2aaaa63b0f27ea176857e1e7d56',1,'machine_learning::adaline']]], + ['check_5ftermination_13',['check_termination',['../da/df2/durand__kerner__roots_8cpp.html#a024b8bc4755863315456d573a6732377',1,'durand_kerner_roots.cpp']]], + ['checkbipartite_14',['checkBipartite',['../df/dce/namespacegraph.html#a8e1b547cd407c0774e63f0dc95cda9e7',1,'graph']]], + ['circle_15',['circle',['../d0/d01/smallest__circle_8cpp.html#a0b0676df8e4da7a08c7ccaecea344903',1,'smallest_circle.cpp']]], + ['circle_5farea_16',['circle_area',['../dd/d47/namespacemath.html#a40e36c67da78d2131408c57ee091ad75',1,'math']]], + ['circle_5fperimeter_17',['circle_perimeter',['../dd/d47/namespacemath.html#ad0acf82b7bc920182bf8322d1e103953',1,'math']]], + ['circularlinkedlist_18',['CircularLinkedList',['../d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list.html#aa704319924f97fedfb41caf193a00888',1,'operations_on_datastructures::circular_linked_list::CircularLinkedList::CircularLinkedList()'],['../d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list.html#a142fa439b102c6f86341f421ddcfe0a1',1,'operations_on_datastructures::circular_linked_list::CircularLinkedList::CircularLinkedList(const CircularLinkedList &copy)'],['../d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list.html#abde75f6ee432b0378d264da8c7c64db2',1,'operations_on_datastructures::circular_linked_list::CircularLinkedList::CircularLinkedList(CircularLinkedList &&source) noexcept']]], + ['clear_19',['clear',['../db/da9/classqueue.html#a6ed7f8dfefe8687841f36f2223069375',1,'queue::clear()'],['../d1/dc2/classstack.html#a6f13157faa1a762c59e67da8b9516092',1,'stack::clear()']]], + ['codec_20',['codec',['../d6/d26/classciphers_1_1_hill_cipher.html#ad667fa0860977f6d6d443fa1dbcd80aa',1,'ciphers::HillCipher']]], + ['comb_21',['comb',['../dd/d95/classdata__structures_1_1_segment_tree.html#a8d22286b7be3dcbb701ac5c7d9c79841',1,'data_structures::SegmentTree']]], + ['combine_22',['combine',['../d9/d35/classrange__queries_1_1heavy__light__decomposition_1_1_s_g.html#a41c733f5f5e262b308f7cb95c88c1e74',1,'range_queries::heavy_light_decomposition::SG']]], + ['combsort_23',['CombSort',['../d9/dfd/comb__sort_8cpp.html#a0f4e7569090083fb53d5cdeaf0e2974f',1,'comb_sort.cpp']]], + ['compare_24',['compare',['../d4/d7a/shell__sort2_8cpp.html#a7eb77daed2cf1513f6d68c47a1c2db1c',1,'shell_sort2.cpp']]], + ['complex_25',['Complex',['../da/d5a/class_complex.html#a3cfc522c782726f49ee20af17b77f867',1,'Complex::Complex(double x=0.f, double y=0.f, bool is_polar=false)'],['../da/d5a/class_complex.html#a466cd7b664cc6a864937ceb3dead1323',1,'Complex::Complex(const Complex &other)']]], + ['complex_5fstr_26',['complex_str',['../da/df2/durand__kerner__roots_8cpp.html#a90219e35062007d1f1b68e9af071ab5c',1,'durand_kerner_roots.cpp']]], + ['compute_5fpadded_5fsize_27',['compute_padded_size',['../d4/d08/sha256_8cpp.html#a28c1c6724dc6bcf91a39818699bbec27',1,'hashing::sha256']]], + ['computefactorialsmod_28',['computeFactorialsMod',['../d6/dc1/classmath_1_1ncr__modulo__p_1_1_n_c_r_modulo_p.html#ab5744fa589f6a48f9fe7bca13dbe661f',1,'math::ncr_modulo_p::NCRModuloP']]], + ['cone_5fvolume_29',['cone_volume',['../dd/d47/namespacemath.html#a3fe35440c27758ecc2287e08217d63a7',1,'math']]], + ['constree_30',['ConsTree',['../d2/d45/segtree_8cpp.html#ae752659b7c1719d68fdb2ca538a93696',1,'segtree.cpp']]], + ['construct_31',['construct',['../d8/d28/classrange__queries_1_1per_seg_tree.html#a6d3f2465a7c5803a1ff16c5378bcc5e4',1,'range_queries::perSegTree::construct(const uint32_t &i, const uint32_t &j)'],['../d8/d28/classrange__queries_1_1per_seg_tree.html#ac83bcabf5a8db8b0d8d156a4c1bcd4c3',1,'range_queries::perSegTree::construct(const std::vector< int64_t > &vec)']]], + ['contains_32',['Contains',['../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a22fd25c6c811c64b6b27b0850d8c532f',1,'data_structures::tree_234::Node']]], + ['contains_33',['contains',['../d9/dde/classbinary__search__tree.html#aa4f84b2eec9b9201af1840868ddb5fb2',1,'binary_search_tree::contains(std::unique_ptr< bst_node > &node, T value)'],['../d9/dde/classbinary__search__tree.html#a6bf5b410299df2320ddf2709dda61f63',1,'binary_search_tree::contains(T value)'],['../d9/dae/classdata__structures_1_1_bitset.html#a9ef54c7c3f6494b36ead3ae2e5cf43ac',1,'data_structures::Bitset::contains()'],['../dc/dd4/classdata__structures_1_1_bloom_filter.html#a576db259488dbfb67624a9652a5ab08b',1,'data_structures::BloomFilter::contains()']]], + ['convexhull_34',['Convexhull',['../d4/dde/classgeometry_1_1jarvis_1_1_convexhull.html#a8306e48040a8570e164c58d1c530f870',1,'geometry::jarvis::Convexhull']]], + ['copy_5fall_5fnodes_35',['copy_all_nodes',['../d6/d05/reverse__a__linked__list_8cpp.html#a7f80d9712cc7d77399dcacb4c2917511',1,'data_structures::linked_list']]], + ['countbitsflip_36',['countBitsFlip',['../d7/d56/count__bits__flip_8cpp.html#a2548486b6c3b80101e768562e687ef7b',1,'bit_manipulation::count_bits_flip']]], + ['countinversion_37',['countInversion',['../d2/d26/count__inversions_8cpp.html#a3332498eabf6579ef059c0d0e9f4ec80',1,'sorting::inversion']]], + ['countsetbits_38',['countSetBits',['../da/db8/count__of__set__bits_8cpp.html#a86c98dc299e4db28b73e08309d977e62',1,'bit_manipulation::count_of_set_bits']]], + ['create_5fhash_39',['create_hash',['../d9/d03/namespacestring__search.html#a8fb0bc932ba8b582c9f4c71338d050f8',1,'string_search']]], + ['create_5flist_40',['create_list',['../d1/df3/hash__search_8cpp.html#ad0831425f1389166a9518f422d0c6ec5',1,'hash_search.cpp']]], + ['create_5fmatrix_41',['create_matrix',['../de/d75/qr__eigen__values_8cpp.html#a9bbf469d5525a816b0d6ca812119093d',1,'qr_eigen_values.cpp']]], + ['create_5fmessage_5fschedule_5farray_42',['create_message_schedule_array',['../d4/d08/sha256_8cpp.html#a525531b3939ed44fbf01674e21931b3a',1,'hashing::sha256']]], + ['create_5frandom_5farray_43',['create_random_array',['../dd/d0d/insertion__sort_8cpp.html#a59914553f24088342c139645a02a8a49',1,'create_random_array(T *arr, int N): insertion_sort.cpp'],['../dd/d89/insertion__sort__recursive_8cpp.html#a59914553f24088342c139645a02a8a49',1,'create_random_array(T *arr, int N): insertion_sort_recursive.cpp']]], + ['createnewnode_44',['createNewNode',['../d9/d12/classothers_1_1iterative__tree__traversals_1_1_binary_tree.html#a3078a5ccf45d6a7031dcf46e43de65b6',1,'others::iterative_tree_traversals::BinaryTree::createNewNode()'],['../dd/de1/classothers_1_1recursive__tree__traversals_1_1_b_t.html#af16da5fe0f5c54d31778d71d5a042114',1,'others::recursive_tree_traversals::BT::createNewNode()']]], + ['createnode_45',['createNode',['../d8/dee/avltree_8cpp.html#a48d897353aeb6a721dbc6b6c57e035e6',1,'avltree.cpp']]], + ['createset_46',['CreateSet',['../de/d23/disjoint__set_8cpp.html#a010965fc5f16cca5a62506afab24e4ec',1,'disjoint_set.cpp']]], + ['cross_47',['cross',['../df/d66/vector__cross__product_8cpp.html#a225732399c5c076976eae5b180a9f8c9',1,'math::vector_cross']]], + ['cube_5fsurface_5farea_48',['cube_surface_area',['../dd/d47/namespacemath.html#abc46c784a297fc1d2eb8b33a327fba4c',1,'math']]], + ['cube_5fsurface_5fperimeter_49',['cube_surface_perimeter',['../dd/d47/namespacemath.html#a8998ca7b1886d1d7d00aef3b457a9b1b',1,'math']]], + ['cube_5fvolume_50',['cube_volume',['../dd/d47/namespacemath.html#ae413098478fa38acaac887b7654f0725',1,'math']]], + ['cumulative_5fdistribution_51',['cumulative_distribution',['../da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution.html#a08328dc7d62188427111f176b56a105a',1,'probability::geometric_dist::geometric_distribution']]], + ['cyclesort_52',['cycleSort',['../de/d07/cycle__sort_8cpp.html#ae79a9d247691fce0d655fce75f1c04fa',1,'sorting::cycle_sort']]], + ['cylinder_5fsurface_5farea_53',['cylinder_surface_area',['../dd/d47/namespacemath.html#ac5803413618fcfb922cb32c6db0fc864',1,'math']]], + ['cylinder_5fsurface_5fperimeter_54',['cylinder_surface_perimeter',['../dd/d47/namespacemath.html#a1d4df7a4e43a2eac1acc0ac610487c73',1,'math']]], + ['cylinder_5fvolume_55',['cylinder_volume',['../dd/d47/namespacemath.html#abde24398be43538c62e4a496968e60ca',1,'math']]] ]; diff --git a/search/functions_4.js b/search/functions_4.js index 3fde5349c..2b695b514 100644 --- a/search/functions_4.js +++ b/search/functions_4.js @@ -1,115 +1,53 @@ var searchData= [ - ['data_0',['data',['http://en.cppreference.com/w/cpp/container/dynarray/data.html',0,'std::dynarray::data()'],['http://en.cppreference.com/w/cpp/container/vector/data.html',0,'std::vector::data()'],['http://en.cppreference.com/w/cpp/string/basic_string/data.html',0,'std::string::data()'],['http://en.cppreference.com/w/cpp/string/basic_string/data.html',0,'std::basic_string::data()'],['http://en.cppreference.com/w/cpp/string/basic_string/data.html',0,'std::wstring::data()'],['http://en.cppreference.com/w/cpp/string/basic_string/data.html',0,'std::u16string::data()'],['http://en.cppreference.com/w/cpp/string/basic_string/data.html',0,'std::u32string::data()'],['http://en.cppreference.com/w/cpp/container/array/data.html',0,'std::array::data()']]], - ['date_5forder_1',['date_order',['http://en.cppreference.com/w/cpp/locale/time_get/date_order.html',0,'std::time_get::date_order()'],['http://en.cppreference.com/w/cpp/locale/time_get/date_order.html',0,'std::time_get_byname::date_order()']]], - ['deallocate_2',['deallocate',['http://en.cppreference.com/w/cpp/memory/allocator_traits/deallocate.html',0,'std::allocator_traits::deallocate()'],['http://en.cppreference.com/w/cpp/memory/allocator/deallocate.html',0,'std::allocator::deallocate()'],['http://en.cppreference.com/w/cpp/memory/scoped_allocator_adaptor/deallocate.html',0,'std::scoped_allocator_adaptor::deallocate()'],['../d4/d32/inorder__successor__of__bst_8cpp.html#a7b20eb99272665c1777949e26ab59589',1,'operations_on_datastructures::inorder_traversal_of_bst::deallocate()']]], - ['dec_3',['dec',['http://en.cppreference.com/w/cpp/io/manip/hex.html',0,'std']]], - ['decimal_5fpoint_4',['decimal_point',['http://en.cppreference.com/w/cpp/locale/moneypunct/decimal_point.html',0,'std::moneypunct_byname::decimal_point()'],['http://en.cppreference.com/w/cpp/locale/moneypunct/decimal_point.html',0,'std::moneypunct::decimal_point()'],['http://en.cppreference.com/w/cpp/locale/numpunct/decimal_point.html',0,'std::numpunct_byname::decimal_point()'],['http://en.cppreference.com/w/cpp/locale/numpunct/decimal_point.html',0,'std::numpunct::decimal_point()']]], - ['declare_5fno_5fpointers_5',['declare_no_pointers',['http://en.cppreference.com/w/cpp/memory/gc/declare_no_pointers.html',0,'std']]], - ['declare_5freachable_6',['declare_reachable',['http://en.cppreference.com/w/cpp/memory/gc/declare_reachable.html',0,'std']]], - ['declval_7',['declval',['http://en.cppreference.com/w/cpp/utility/declval.html',0,'std']]], - ['decreasekey_8',['decreaseKey',['../d2/d05/class_min_heap.html#aa7f726cc6327955d22871592227432f5',1,'MinHeap']]], - ['decrypt_9',['decrypt',['../de/db6/a1z26__cipher_8cpp.html#a0a78954e96c862430904ee3e64623c38',1,'ciphers::a1z26::decrypt()'],['../d6/d2c/caesar__cipher_8cpp.html#a355e69511cd2006b5c4c80ae95b71056',1,'ciphers::caesar::decrypt()'],['../d8/d76/morse__code_8cpp.html#a15c66ec8cf4cef0a35c50cbab86965dc',1,'ciphers::morse::decrypt()'],['../dd/d12/vigenere__cipher_8cpp.html#a3cfc3f9b20a0f230a2fcefd31dc6848e',1,'ciphers::vigenere::decrypt()'],['../d3/d4c/xor__cipher_8cpp.html#a6099b7e0f1793f418d2c1befca8355a4',1,'ciphers::XOR::decrypt()']]], - ['decrypt_5ftext_10',['decrypt_text',['../d6/d26/classciphers_1_1_hill_cipher.html#a427acfac1dbff3f48a2b071d449d965b',1,'ciphers::HillCipher']]], - ['default_5fdelete_11',['default_delete',['http://en.cppreference.com/w/cpp/memory/default_delete.html',0,'std::default_delete']]], - ['default_5ferror_5fcondition_12',['default_error_condition',['http://en.cppreference.com/w/cpp/error/error_code/default_error_condition.html',0,'std::error_code::default_error_condition()'],['http://en.cppreference.com/w/cpp/error/error_category/default_error_condition.html',0,'std::error_category::default_error_condition()']]], - ['defaultfloat_13',['defaultfloat',['http://en.cppreference.com/w/cpp/io/manip/fixed.html',0,'std']]], - ['degrees_5fto_5fradians_14',['degrees_to_radians',['../d9/d29/ground__to__ground__projectile__motion_8cpp.html#ab00e9785fb2670f7af99d6f3d636f87c',1,'physics::ground_to_ground_projectile_motion']]], - ['delete_15',['Delete',['../d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html#aefd24626ac47277431c9b8604e064340',1,'operations_on_datastructures::trie_operations::Tnode']]], - ['delete_5fall_5fnodes_16',['delete_all_nodes',['../d1/def/classdata__structures_1_1linked__list_1_1list.html#ac614ed8f1953f5486fab1cd6d7aa0500',1,'data_structures::linked_list::list']]], - ['delete_5fword_17',['delete_word',['../d3/d26/classdata__structures_1_1trie__using__hashmap_1_1_trie.html#ac0bf3d6791cba144b3f539835d835e75',1,'data_structures::trie_using_hashmap::Trie']]], - ['deleteallnodes_18',['deleteAllNodes',['../d8/dee/avltree_8cpp.html#a82659e9e223e520cf91d7e55c4a3f88c',1,'avltree.cpp']]], - ['deleteelement_19',['deleteElement',['../d4/d90/classdata__structures_1_1_skip_list.html#a86925c53e139cc6c3f7df1e9003bb0b0',1,'data_structures::SkipList']]], - ['deletefrom_20',['DeleteFrom',['../d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html#adef6940391f981ab86767775176b7169',1,'operations_on_datastructures::trie_operations::Tnode']]], - ['deletekey_21',['deleteKey',['../d2/d05/class_min_heap.html#a37ac126eabb0c3ce04047172abccca29',1,'MinHeap']]], - ['deletenode_22',['DeleteNode',['../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a273511e84a5243ffffe81be28bd24855',1,'data_structures::tree_234::Tree234']]], - ['deletenode_23',['deleteNode',['../d8/dee/avltree_8cpp.html#aa29a7fdc2db1784f5a6e25025ff7cbf5',1,'avltree.cpp']]], - ['deletestring_24',['deleteString',['../d0/d3e/classdata__structures_1_1trie.html#aeac27cfd397d2dd3f2f519efffafeeab',1,'data_structures::trie']]], - ['denorm_5fmin_25',['denorm_min',['http://en.cppreference.com/w/cpp/types/numeric_limits/denorm_min.html',0,'std::numeric_limits']]], - ['denselayer_26',['DenseLayer',['../dc/d93/classmachine__learning_1_1neural__network_1_1layers_1_1_dense_layer.html#a11046825be0b6dbb73fbe834aa49200e',1,'machine_learning::neural_network::layers::DenseLayer::DenseLayer(const int &neurons, const std::string &activation, const std::pair< size_t, size_t > &kernel_shape, const bool &random_kernel)'],['../dc/d93/classmachine__learning_1_1neural__network_1_1layers_1_1_dense_layer.html#af136ec31dbd35b1be2eb9a057677c704',1,'machine_learning::neural_network::layers::DenseLayer::DenseLayer(const int &neurons, const std::string &activation, const std::vector< std::valarray< double > > &kernel)'],['../dc/d93/classmachine__learning_1_1neural__network_1_1layers_1_1_dense_layer.html#a2871146feaaa453558239df67b21e0d2',1,'machine_learning::neural_network::layers::DenseLayer::DenseLayer(const DenseLayer &layer)=default'],['../dc/d93/classmachine__learning_1_1neural__network_1_1layers_1_1_dense_layer.html#a6c859e3737aa88b29854df0347b29f4e',1,'machine_learning::neural_network::layers::DenseLayer::DenseLayer(DenseLayer &&)=default']]], - ['densities_27',['densities',['http://en.cppreference.com/w/cpp/numeric/random/piecewise_constant_distribution/params.html',0,'std::piecewise_constant_distribution::densities()'],['http://en.cppreference.com/w/cpp/numeric/random/piecewise_linear_distribution/params.html',0,'std::piecewise_linear_distribution::densities()']]], - ['depth_5ffirst_5fsearch_28',['depth_first_search',['../df/dce/namespacegraph.html#ab5428a3519267a28bba4b4310cfbb6ae',1,'graph']]], - ['deque_29',['deque',['http://en.cppreference.com/w/cpp/container/deque/deque.html',0,'std::deque']]], - ['dequeue_30',['deQueue',['../db/da9/classqueue.html#af27dbb72fb63f58f817a88550d7faa85',1,'queue']]], - ['dequeue_31',['dequeue',['../d6/d04/classdata__structures_1_1queue__using__array_1_1_queue___array.html#a2aaf88c9954ef3ab686f8e4bfbd87622',1,'data_structures::queue_using_array::Queue_Array']]], - ['destroy_32',['destroy',['http://en.cppreference.com/w/cpp/memory/allocator_traits/destroy.html',0,'std::allocator_traits::destroy()'],['http://en.cppreference.com/w/cpp/memory/allocator/destroy.html',0,'std::allocator::destroy()'],['http://en.cppreference.com/w/cpp/memory/scoped_allocator_adaptor/destroy.html',0,'std::scoped_allocator_adaptor::destroy()']]], - ['detach_33',['detach',['http://en.cppreference.com/w/cpp/thread/thread/detach.html',0,'std::thread']]], - ['determinant_5flu_34',['determinant_lu',['../d1/dbe/lu__decomposition_8h.html#a3108d43bd32c6fb3b3c158476c51ba7f',1,'lu_decomposition.h']]], - ['dfs_35',['dfs',['../d8/d69/classgraph_1_1_h_k_graph.html#ae794950cb3407b6b47d3dc986cf714c0',1,'graph::HKGraph::dfs()'],['../da/d4b/depth__first__search__with__stack_8cpp.html#a5738da9f508f6a9e87f123c9fb6f2ea9',1,'graph::depth_first_search::dfs()'],['../d8/db9/topological__sort_8cpp.html#abcbcaa2bb70af0a11d0c090ea1796aea',1,'graph::topological_sort::dfs()']]], - ['dfs_5fhc_36',['dfs_hc',['../d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d.html#af64848d6630c39d0f09ce2359cc7c4f8',1,'range_queries::heavy_light_decomposition::HLD']]], - ['dfs_5flabels_37',['dfs_labels',['../d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d.html#a0579062b384e54b611b80c6337c7f2c8',1,'range_queries::heavy_light_decomposition::HLD']]], - ['dfs_5flca_38',['dfs_lca',['../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html#ae8de7aefcb6635d3dacdd174cd4890c4',1,'range_queries::heavy_light_decomposition::Tree']]], - ['dfs_5fpar_39',['dfs_par',['../d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d.html#a2dfbda148aad0bfaba2ebfda9ebc915a',1,'range_queries::heavy_light_decomposition::HLD']]], - ['dfs_5fsize_40',['dfs_size',['../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html#aa339c31ec74cd86a4842a8b09653d460',1,'range_queries::heavy_light_decomposition::Tree']]], - ['difftime_41',['difftime',['http://en.cppreference.com/w/cpp/chrono/c/difftime.html',0,'std']]], - ['digit_5fchar_42',['digit_char',['../db/d82/classlarge__number.html#ae35a55607cf52c0b0d485f2129bd39ac',1,'large_number']]], - ['digitseparation_43',['DigitSeparation',['../da/d49/classgreedy__algorithms_1_1_digit_separation.html#afd54c969a6c9bab16b4a064fbc8ed40e',1,'greedy_algorithms::DigitSeparation']]], - ['digitseparationforwardorder_44',['digitSeparationForwardOrder',['../da/d49/classgreedy__algorithms_1_1_digit_separation.html#a1809ae6828223999374bde5b197a59c8',1,'greedy_algorithms::DigitSeparation']]], - ['digitseparationreverseorder_45',['digitSeparationReverseOrder',['../da/d49/classgreedy__algorithms_1_1_digit_separation.html#a34769a780845e9d4279152899bd3bf79',1,'greedy_algorithms::DigitSeparation']]], - ['dijkstra_46',['dijkstra',['../df/dce/namespacegraph.html#adc68cbc8ba09eb1142265935c0d45b84',1,'graph::dijkstra()'],['../d2/d2f/namespacegreedy__algorithms_1_1dijkstra.html#af915876d0ca33cc71a6a6191a8cd3ccd',1,'greedy_algorithms::dijkstra::dijkstra()']]], - ['direction_47',['direction',['../d4/db4/struct_segment_intersection.html#a3beb2ac1b35d67354f1dbaf9a971e655',1,'SegmentIntersection']]], - ['discard_48',['discard',['http://en.cppreference.com/w/cpp/numeric/random/mersenne_twister_engine/discard.html',0,'std::mt19937_64::discard()'],['http://en.cppreference.com/w/cpp/numeric/random/subtract_with_carry_engine/discard.html',0,'std::ranlux24_base::discard()'],['http://en.cppreference.com/w/cpp/numeric/random/discard_block_engine/discard.html',0,'std::ranlux48::discard()'],['http://en.cppreference.com/w/cpp/numeric/random/discard_block_engine/discard.html',0,'std::discard_block_engine::discard()'],['http://en.cppreference.com/w/cpp/numeric/random/mersenne_twister_engine/discard.html',0,'std::mersenne_twister_engine::discard()'],['http://en.cppreference.com/w/cpp/numeric/random/independent_bits_engine/discard.html',0,'std::independent_bits_engine::discard()'],['http://en.cppreference.com/w/cpp/numeric/random/linear_congruential_engine/discard.html',0,'std::minstd_rand::discard()'],['http://en.cppreference.com/w/cpp/numeric/random/subtract_with_carry_engine/discard.html',0,'std::ranlux48_base::discard()'],['http://en.cppreference.com/w/cpp/numeric/random/mersenne_twister_engine/discard.html',0,'std::mt19937::discard()'],['http://en.cppreference.com/w/cpp/numeric/random/shuffle_order_engine/discard.html',0,'std::shuffle_order_engine::discard()'],['http://en.cppreference.com/w/cpp/numeric/random/discard_block_engine/discard.html',0,'std::ranlux24::discard()'],['http://en.cppreference.com/w/cpp/numeric/random/linear_congruential_engine/discard.html',0,'std::linear_congruential_engine::discard()'],['http://en.cppreference.com/w/cpp/numeric/random/shuffle_order_engine/discard.html',0,'std::knuth_b::discard()'],['http://en.cppreference.com/w/cpp/numeric/random/linear_congruential_engine/discard.html',0,'std::minstd_rand0::discard()'],['http://en.cppreference.com/w/cpp/numeric/random/subtract_with_carry_engine/discard.html',0,'std::subtract_with_carry_engine::discard()']]], - ['discard_5fblock_5fengine_49',['discard_block_engine',['http://en.cppreference.com/w/cpp/numeric/random/discard_block_engine/discard_block_engine.html',0,'std::discard_block_engine']]], - ['discrete_5fdistribution_50',['discrete_distribution',['http://en.cppreference.com/w/cpp/numeric/random/discrete_distribution/discrete_distribution.html',0,'std::discrete_distribution']]], - ['display_51',['display',['../d1/def/classdata__structures_1_1linked__list_1_1list.html#a1313837c0e9ec67fd9fbd17987e2d615',1,'data_structures::linked_list::list::display()'],['../db/da9/classqueue.html#a353e4dd5772575905c78b0b30856e368',1,'queue::display()'],['../d6/d04/classdata__structures_1_1queue__using__array_1_1_queue___array.html#a688b7ea064739ea9fa66bf64bf4ae631',1,'data_structures::queue_using_array::Queue_Array::display()'],['../d1/dc2/classstack.html#a8bce109630118a34faae717f72986033',1,'stack::display()'],['../dd/d1c/classhash__chain.html#a706964ad13587fc9a8b3fe8381d410ed',1,'hash_chain::display()'],['../d6/dae/classothers_1_1lru__cache_1_1_l_r_u_cache.html#aad506b1c1a3cd5b93cc7e497626bfb53',1,'others::lru_cache::LRUCache::display()'],['../d0/d65/namespacedouble__hashing.html#a1e901418c759627557eff359b8db38cd',1,'double_hashing::display()'],['../d8/d89/namespacelinear__probing.html#ad87b71d810901fab69c4ad9d4d0fa635',1,'linear_probing::display()'],['../d4/dd2/namespacequadratic__probing.html#a40d617ebf4d6ba21bcda8d8d1faa2357',1,'quadratic_probing::display()'],['../d5/d33/gram__schmidt_8cpp.html#ae6b496dce691e04f7f95ba0f0d33a289',1,'numerical_methods::gram_schmidt::display()']]], - ['displayelements_52',['displayElements',['../d5/d4c/group__sorting.html#ga135e4c638e3bcf548bd122b5f49a3e72',1,'wiggle_sort.cpp']]], - ['displaylist_53',['displayList',['../d4/d90/classdata__structures_1_1_skip_list.html#a812611f80b8079268dbb19cc4e9bee5c',1,'data_structures::SkipList']]], - ['distance_54',['distance',['http://en.cppreference.com/w/cpp/iterator/distance.html',0,'std']]], - ['div_55',['div',['http://en.cppreference.com/w/cpp/numeric/math/div.html',0,'std']]], - ['divide_56',['divide',['../db/d9a/classuint128__t.html#a8bf81f7f5f5c98f197822ec88e106c6c',1,'uint128_t::divide()'],['../d1/d83/classuint256__t.html#a8161d52d369e525f4e61129376adfcf1',1,'uint256_t::divide()']]], - ['dnfsort_57',['dnfSort',['../d6/d1a/dnf__sort_8cpp.html#a621767fe711db64fe57a2ac4987b11f0',1,'sorting::dnf_sort']]], - ['do_5falways_5fnoconv_58',['do_always_noconv',['http://en.cppreference.com/w/cpp/locale/codecvt/always_noconv.html',0,'std::codecvt::do_always_noconv()'],['http://en.cppreference.com/w/cpp/locale/codecvt/always_noconv.html',0,'std::codecvt_byname::do_always_noconv()'],['http://en.cppreference.com/w/cpp/locale/codecvt/always_noconv.html',0,'std::codecvt_utf8::do_always_noconv()'],['http://en.cppreference.com/w/cpp/locale/codecvt/always_noconv.html',0,'std::codecvt_utf8_utf16::do_always_noconv()'],['http://en.cppreference.com/w/cpp/locale/codecvt/always_noconv.html',0,'std::codecvt_utf16::do_always_noconv()']]], - ['do_5fclose_59',['do_close',['http://en.cppreference.com/w/cpp/locale/messages/close.html',0,'std::messages_byname::do_close()'],['http://en.cppreference.com/w/cpp/locale/messages/close.html',0,'std::messages::do_close()']]], - ['do_5fcompare_60',['do_compare',['http://en.cppreference.com/w/cpp/locale/collate/compare.html',0,'std::collate_byname::do_compare()'],['http://en.cppreference.com/w/cpp/locale/collate/compare.html',0,'std::collate::do_compare()']]], - ['do_5fcurr_5fsymbol_61',['do_curr_symbol',['http://en.cppreference.com/w/cpp/locale/moneypunct/curr_symbol.html',0,'std::moneypunct_byname::do_curr_symbol()'],['http://en.cppreference.com/w/cpp/locale/moneypunct/curr_symbol.html',0,'std::moneypunct::do_curr_symbol()']]], - ['do_5fdate_5forder_62',['do_date_order',['http://en.cppreference.com/w/cpp/locale/time_get/date_order.html',0,'std::time_get::do_date_order()'],['http://en.cppreference.com/w/cpp/locale/time_get/date_order.html',0,'std::time_get_byname::do_date_order()']]], - ['do_5fdecimal_5fpoint_63',['do_decimal_point',['http://en.cppreference.com/w/cpp/locale/moneypunct/decimal_point.html',0,'std::moneypunct_byname::do_decimal_point()'],['http://en.cppreference.com/w/cpp/locale/moneypunct/decimal_point.html',0,'std::moneypunct::do_decimal_point()'],['http://en.cppreference.com/w/cpp/locale/numpunct/decimal_point.html',0,'std::numpunct_byname::do_decimal_point()'],['http://en.cppreference.com/w/cpp/locale/numpunct/decimal_point.html',0,'std::numpunct::do_decimal_point()']]], - ['do_5fencoding_64',['do_encoding',['http://en.cppreference.com/w/cpp/locale/codecvt/encoding.html',0,'std::codecvt::do_encoding()'],['http://en.cppreference.com/w/cpp/locale/codecvt/encoding.html',0,'std::codecvt_byname::do_encoding()'],['http://en.cppreference.com/w/cpp/locale/codecvt/encoding.html',0,'std::codecvt_utf8::do_encoding()'],['http://en.cppreference.com/w/cpp/locale/codecvt/encoding.html',0,'std::codecvt_utf8_utf16::do_encoding()'],['http://en.cppreference.com/w/cpp/locale/codecvt/encoding.html',0,'std::codecvt_utf16::do_encoding()']]], - ['do_5ffalsename_65',['do_falsename',['http://en.cppreference.com/w/cpp/locale/numpunct/truefalsename.html',0,'std::numpunct_byname::do_falsename()'],['http://en.cppreference.com/w/cpp/locale/numpunct/truefalsename.html',0,'std::numpunct::do_falsename()']]], - ['do_5ffrac_5fdigits_66',['do_frac_digits',['http://en.cppreference.com/w/cpp/locale/moneypunct/frac_digits.html',0,'std::moneypunct_byname::do_frac_digits()'],['http://en.cppreference.com/w/cpp/locale/moneypunct/frac_digits.html',0,'std::moneypunct::do_frac_digits()']]], - ['do_5fget_67',['do_get',['http://en.cppreference.com/w/cpp/locale/money_get/get.html',0,'std::money_get::do_get()'],['http://en.cppreference.com/w/cpp/locale/num_get/get.html',0,'std::num_get::do_get()'],['http://en.cppreference.com/w/cpp/locale/time_get/get.html',0,'std::time_get::do_get()'],['http://en.cppreference.com/w/cpp/locale/messages/get.html',0,'std::messages_byname::do_get()'],['http://en.cppreference.com/w/cpp/locale/time_get/get.html',0,'std::time_get_byname::do_get()'],['http://en.cppreference.com/w/cpp/locale/messages/get.html',0,'std::messages::do_get()']]], - ['do_5fget_5fdate_68',['do_get_date',['http://en.cppreference.com/w/cpp/locale/time_get/get_date.html',0,'std::time_get::do_get_date()'],['http://en.cppreference.com/w/cpp/locale/time_get/get_date.html',0,'std::time_get_byname::do_get_date()']]], - ['do_5fget_5fmonthname_69',['do_get_monthname',['http://en.cppreference.com/w/cpp/locale/time_get/get_monthname.html',0,'std::time_get::do_get_monthname()'],['http://en.cppreference.com/w/cpp/locale/time_get/get_monthname.html',0,'std::time_get_byname::do_get_monthname()']]], - ['do_5fget_5ftime_70',['do_get_time',['http://en.cppreference.com/w/cpp/locale/time_get/get_time.html',0,'std::time_get::do_get_time()'],['http://en.cppreference.com/w/cpp/locale/time_get/get_time.html',0,'std::time_get_byname::do_get_time()']]], - ['do_5fget_5fweekday_71',['do_get_weekday',['http://en.cppreference.com/w/cpp/locale/time_get/get_weekday.html',0,'std::time_get::do_get_weekday()'],['http://en.cppreference.com/w/cpp/locale/time_get/get_weekday.html',0,'std::time_get_byname::do_get_weekday()']]], - ['do_5fget_5fyear_72',['do_get_year',['http://en.cppreference.com/w/cpp/locale/time_get/get_year.html',0,'std::time_get::do_get_year()'],['http://en.cppreference.com/w/cpp/locale/time_get/get_year.html',0,'std::time_get_byname::do_get_year()']]], - ['do_5fgrouping_73',['do_grouping',['http://en.cppreference.com/w/cpp/locale/moneypunct/grouping.html',0,'std::moneypunct_byname::do_grouping()'],['http://en.cppreference.com/w/cpp/locale/moneypunct/grouping.html',0,'std::moneypunct::do_grouping()'],['http://en.cppreference.com/w/cpp/locale/numpunct/grouping.html',0,'std::numpunct_byname::do_grouping()'],['http://en.cppreference.com/w/cpp/locale/numpunct/grouping.html',0,'std::numpunct::do_grouping()']]], - ['do_5fhash_74',['do_hash',['http://en.cppreference.com/w/cpp/locale/collate/hash.html',0,'std::collate_byname::do_hash()'],['http://en.cppreference.com/w/cpp/locale/collate/hash.html',0,'std::collate::do_hash()']]], - ['do_5fin_75',['do_in',['http://en.cppreference.com/w/cpp/locale/codecvt/in.html',0,'std::codecvt::do_in()'],['http://en.cppreference.com/w/cpp/locale/codecvt/in.html',0,'std::codecvt_byname::do_in()'],['http://en.cppreference.com/w/cpp/locale/codecvt/in.html',0,'std::codecvt_utf8::do_in()'],['http://en.cppreference.com/w/cpp/locale/codecvt/in.html',0,'std::codecvt_utf8_utf16::do_in()'],['http://en.cppreference.com/w/cpp/locale/codecvt/in.html',0,'std::codecvt_utf16::do_in()']]], - ['do_5fis_76',['do_is',['http://en.cppreference.com/w/cpp/locale/ctype/is.html',0,'std::ctype_byname::do_is()'],['http://en.cppreference.com/w/cpp/locale/ctype/is.html',0,'std::ctype::do_is()']]], - ['do_5flength_77',['do_length',['http://en.cppreference.com/w/cpp/locale/codecvt/length.html',0,'std::codecvt::do_length()'],['http://en.cppreference.com/w/cpp/locale/codecvt/length.html',0,'std::codecvt_byname::do_length()'],['http://en.cppreference.com/w/cpp/locale/codecvt/length.html',0,'std::codecvt_utf8::do_length()'],['http://en.cppreference.com/w/cpp/locale/codecvt/length.html',0,'std::codecvt_utf8_utf16::do_length()'],['http://en.cppreference.com/w/cpp/locale/codecvt/length.html',0,'std::codecvt_utf16::do_length()']]], - ['do_5fmax_5flength_78',['do_max_length',['http://en.cppreference.com/w/cpp/locale/codecvt/max_length.html',0,'std::codecvt::do_max_length()'],['http://en.cppreference.com/w/cpp/locale/codecvt/max_length.html',0,'std::codecvt_byname::do_max_length()'],['http://en.cppreference.com/w/cpp/locale/codecvt/max_length.html',0,'std::codecvt_utf8::do_max_length()'],['http://en.cppreference.com/w/cpp/locale/codecvt/max_length.html',0,'std::codecvt_utf8_utf16::do_max_length()'],['http://en.cppreference.com/w/cpp/locale/codecvt/max_length.html',0,'std::codecvt_utf16::do_max_length()']]], - ['do_5fnarrow_79',['do_narrow',['http://en.cppreference.com/w/cpp/locale/ctype/narrow.html',0,'std::ctype_byname::do_narrow()'],['http://en.cppreference.com/w/cpp/locale/ctype/narrow.html',0,'std::ctype::do_narrow()']]], - ['do_5fneg_5fformat_80',['do_neg_format',['http://en.cppreference.com/w/cpp/locale/moneypunct/pos_format.html',0,'std::moneypunct_byname::do_neg_format()'],['http://en.cppreference.com/w/cpp/locale/moneypunct/pos_format.html',0,'std::moneypunct::do_neg_format()']]], - ['do_5fnegative_5fsign_81',['do_negative_sign',['http://en.cppreference.com/w/cpp/locale/moneypunct/positive_sign.html',0,'std::moneypunct_byname::do_negative_sign()'],['http://en.cppreference.com/w/cpp/locale/moneypunct/positive_sign.html',0,'std::moneypunct::do_negative_sign()']]], - ['do_5fopen_82',['do_open',['http://en.cppreference.com/w/cpp/locale/messages/open.html',0,'std::messages_byname::do_open()'],['http://en.cppreference.com/w/cpp/locale/messages/open.html',0,'std::messages::do_open()']]], - ['do_5fout_83',['do_out',['http://en.cppreference.com/w/cpp/locale/codecvt/out.html',0,'std::codecvt::do_out()'],['http://en.cppreference.com/w/cpp/locale/codecvt/out.html',0,'std::codecvt_byname::do_out()'],['http://en.cppreference.com/w/cpp/locale/codecvt/out.html',0,'std::codecvt_utf8::do_out()'],['http://en.cppreference.com/w/cpp/locale/codecvt/out.html',0,'std::codecvt_utf8_utf16::do_out()'],['http://en.cppreference.com/w/cpp/locale/codecvt/out.html',0,'std::codecvt_utf16::do_out()']]], - ['do_5fpos_5fformat_84',['do_pos_format',['http://en.cppreference.com/w/cpp/locale/moneypunct/pos_format.html',0,'std::moneypunct_byname::do_pos_format()'],['http://en.cppreference.com/w/cpp/locale/moneypunct/pos_format.html',0,'std::moneypunct::do_pos_format()']]], - ['do_5fpositive_5fsign_85',['do_positive_sign',['http://en.cppreference.com/w/cpp/locale/moneypunct/positive_sign.html',0,'std::moneypunct_byname::do_positive_sign()'],['http://en.cppreference.com/w/cpp/locale/moneypunct/positive_sign.html',0,'std::moneypunct::do_positive_sign()']]], - ['do_5fput_86',['do_put',['http://en.cppreference.com/w/cpp/locale/time_put/put.html',0,'std::time_put_byname::do_put()'],['http://en.cppreference.com/w/cpp/locale/time_put/put.html',0,'std::time_put::do_put()'],['http://en.cppreference.com/w/cpp/locale/num_put/put.html',0,'std::num_put::do_put()'],['http://en.cppreference.com/w/cpp/locale/money_put/put.html',0,'std::money_put::do_put()']]], - ['do_5fscan_5fis_87',['do_scan_is',['http://en.cppreference.com/w/cpp/locale/ctype/scan_is.html',0,'std::ctype_byname::do_scan_is()'],['http://en.cppreference.com/w/cpp/locale/ctype/scan_is.html',0,'std::ctype::do_scan_is()']]], - ['do_5fthousands_5fsep_88',['do_thousands_sep',['http://en.cppreference.com/w/cpp/locale/moneypunct/thousands_sep.html',0,'std::moneypunct_byname::do_thousands_sep()'],['http://en.cppreference.com/w/cpp/locale/moneypunct/thousands_sep.html',0,'std::moneypunct::do_thousands_sep()'],['http://en.cppreference.com/w/cpp/locale/numpunct/thousands_sep.html',0,'std::numpunct_byname::do_thousands_sep()'],['http://en.cppreference.com/w/cpp/locale/numpunct/thousands_sep.html',0,'std::numpunct::do_thousands_sep()']]], - ['do_5ftolower_89',['do_tolower',['http://en.cppreference.com/w/cpp/locale/ctype/tolower.html',0,'std::ctype_byname::do_tolower()'],['http://en.cppreference.com/w/cpp/locale/ctype/tolower.html',0,'std::ctype::do_tolower()']]], - ['do_5ftoupper_90',['do_toupper',['http://en.cppreference.com/w/cpp/locale/ctype/toupper.html',0,'std::ctype_byname::do_toupper()'],['http://en.cppreference.com/w/cpp/locale/ctype/toupper.html',0,'std::ctype::do_toupper()']]], - ['do_5ftransform_91',['do_transform',['http://en.cppreference.com/w/cpp/locale/collate/transform.html',0,'std::collate_byname::do_transform()'],['http://en.cppreference.com/w/cpp/locale/collate/transform.html',0,'std::collate::do_transform()']]], - ['do_5ftruename_92',['do_truename',['http://en.cppreference.com/w/cpp/locale/numpunct/truefalsename.html',0,'std::numpunct_byname::do_truename()'],['http://en.cppreference.com/w/cpp/locale/numpunct/truefalsename.html',0,'std::numpunct::do_truename()']]], - ['do_5funshift_93',['do_unshift',['http://en.cppreference.com/w/cpp/locale/codecvt/unshift.html',0,'std::codecvt::do_unshift()'],['http://en.cppreference.com/w/cpp/locale/codecvt/unshift.html',0,'std::codecvt_byname::do_unshift()'],['http://en.cppreference.com/w/cpp/locale/codecvt/unshift.html',0,'std::codecvt_utf8::do_unshift()'],['http://en.cppreference.com/w/cpp/locale/codecvt/unshift.html',0,'std::codecvt_utf8_utf16::do_unshift()'],['http://en.cppreference.com/w/cpp/locale/codecvt/unshift.html',0,'std::codecvt_utf16::do_unshift()']]], - ['do_5fwiden_94',['do_widen',['http://en.cppreference.com/w/cpp/locale/ctype/widen.html',0,'std::ctype_byname::do_widen()'],['http://en.cppreference.com/w/cpp/locale/ctype/widen.html',0,'std::ctype::do_widen()']]], - ['domain_5ferror_95',['domain_error',['http://en.cppreference.com/w/cpp/error/domain_error.html',0,'std::domain_error']]], - ['dot_5fproduct_96',['dot_product',['../d5/d33/gram__schmidt_8cpp.html#ac4a4504924ecc9f12a2ebd80788ec01d',1,'numerical_methods::gram_schmidt']]], - ['double_5ffactorial_5fiterative_97',['double_factorial_iterative',['../d7/d89/double__factorial_8cpp.html#a0a3c417360400093891a9ccddaa4be26',1,'double_factorial.cpp']]], - ['double_5ffactorial_5frecursive_98',['double_factorial_recursive',['../d7/d89/double__factorial_8cpp.html#a68ba20fed2ce427f6469c7689437829d',1,'double_factorial.cpp']]], - ['doublehash_99',['doubleHash',['../d0/d65/namespacedouble__hashing.html#a8f8ff4fb018e1bb32d67d8a1885d3200',1,'double_hashing']]], - ['draw_5fsample_100',['draw_sample',['../da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution.html#a8aae1cebcf42ed2332f1c7217c401aa3',1,'probability::geometric_dist::geometric_distribution']]], - ['drelu_101',['drelu',['../d2/d58/neural__network_8cpp.html#aa69e95a34054d7989bf446f96b2ffaf9',1,'machine_learning::neural_network::activations']]], - ['dsigmoid_102',['dsigmoid',['../d2/d58/neural__network_8cpp.html#a76eb66212d577f948a457b6e29d87c46',1,'machine_learning::neural_network::activations']]], - ['dsu_103',['dsu',['../dd/d1f/classdsu.html#a126e3002a464e53cd54b07ba56482a72',1,'dsu::dsu(uint64_t n)'],['../dd/d1f/classdsu.html#a126e3002a464e53cd54b07ba56482a72',1,'dsu::dsu(uint64_t n)']]], - ['dtanh_104',['dtanh',['../d2/d58/neural__network_8cpp.html#a2a5e874b9774aa5362dbcf288828b95c',1,'machine_learning::neural_network::activations']]], - ['duplicatenumber_105',['duplicateNumber',['../db/dc4/floyd__cycle__detection__algo_8cpp.html#a81ffc7a2c6bf530c8a496864e7a3ad88',1,'search::cycle_detection']]], - ['durand_5fkerner_5falgo_106',['durand_kerner_algo',['../da/df2/durand__kerner__roots_8cpp.html#a2c35b320ace8677f9b331faf94f8b2fd',1,'durand_kerner_roots.cpp']]], - ['duration_107',['duration',['http://en.cppreference.com/w/cpp/chrono/duration/duration.html',0,'std::chrono::duration']]], - ['duration_5fcast_108',['duration_cast',['http://en.cppreference.com/w/cpp/chrono/duration/duration_cast.html',0,'std::chrono']]], - ['duval_109',['duval',['../d6/dd6/namespacestring.html#ac2a35302e6bed93c4b2c6f55a21a5632',1,'string']]], - ['dynamic_5fpointer_5fcast_110',['dynamic_pointer_cast',['http://en.cppreference.com/w/cpp/memory/shared_ptr/pointer_cast.html',0,'std']]], - ['dynarray_111',['dynarray',['http://en.cppreference.com/w/cpp/container/dynarray/dynarray.html',0,'std::dynarray']]] + ['deallocate_0',['deallocate',['../d4/d32/inorder__successor__of__bst_8cpp.html#a7b20eb99272665c1777949e26ab59589',1,'operations_on_datastructures::inorder_traversal_of_bst']]], + ['decreasekey_1',['decreaseKey',['../d2/d05/class_min_heap.html#aa7f726cc6327955d22871592227432f5',1,'MinHeap']]], + ['decrypt_2',['decrypt',['../de/db6/a1z26__cipher_8cpp.html#a0a78954e96c862430904ee3e64623c38',1,'ciphers::a1z26::decrypt()'],['../d6/d2c/caesar__cipher_8cpp.html#a355e69511cd2006b5c4c80ae95b71056',1,'ciphers::caesar::decrypt()'],['../d8/d76/morse__code_8cpp.html#a15c66ec8cf4cef0a35c50cbab86965dc',1,'ciphers::morse::decrypt()'],['../dd/d12/vigenere__cipher_8cpp.html#a3cfc3f9b20a0f230a2fcefd31dc6848e',1,'ciphers::vigenere::decrypt()'],['../d3/d4c/xor__cipher_8cpp.html#a6099b7e0f1793f418d2c1befca8355a4',1,'ciphers::XOR::decrypt()']]], + ['decrypt_5ftext_3',['decrypt_text',['../d6/d26/classciphers_1_1_hill_cipher.html#a427acfac1dbff3f48a2b071d449d965b',1,'ciphers::HillCipher']]], + ['degrees_5fto_5fradians_4',['degrees_to_radians',['../d9/d29/ground__to__ground__projectile__motion_8cpp.html#ab00e9785fb2670f7af99d6f3d636f87c',1,'physics::ground_to_ground_projectile_motion']]], + ['delete_5',['Delete',['../d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html#aefd24626ac47277431c9b8604e064340',1,'operations_on_datastructures::trie_operations::Tnode']]], + ['delete_5fall_5fnodes_6',['delete_all_nodes',['../d1/def/classdata__structures_1_1linked__list_1_1list.html#ac614ed8f1953f5486fab1cd6d7aa0500',1,'data_structures::linked_list::list']]], + ['delete_5fword_7',['delete_word',['../d3/d26/classdata__structures_1_1trie__using__hashmap_1_1_trie.html#ac0bf3d6791cba144b3f539835d835e75',1,'data_structures::trie_using_hashmap::Trie']]], + ['deleteallnodes_8',['deleteAllNodes',['../d8/dee/avltree_8cpp.html#a82659e9e223e520cf91d7e55c4a3f88c',1,'avltree.cpp']]], + ['deleteelement_9',['deleteElement',['../d4/d90/classdata__structures_1_1_skip_list.html#a86925c53e139cc6c3f7df1e9003bb0b0',1,'data_structures::SkipList']]], + ['deletefrom_10',['DeleteFrom',['../d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html#adef6940391f981ab86767775176b7169',1,'operations_on_datastructures::trie_operations::Tnode']]], + ['deletekey_11',['deleteKey',['../d2/d05/class_min_heap.html#a37ac126eabb0c3ce04047172abccca29',1,'MinHeap']]], + ['deletenode_12',['DeleteNode',['../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a273511e84a5243ffffe81be28bd24855',1,'data_structures::tree_234::Tree234']]], + ['deletenode_13',['deleteNode',['../d8/dee/avltree_8cpp.html#aa29a7fdc2db1784f5a6e25025ff7cbf5',1,'avltree.cpp']]], + ['deletestring_14',['deleteString',['../d0/d3e/classdata__structures_1_1trie.html#aeac27cfd397d2dd3f2f519efffafeeab',1,'data_structures::trie']]], + ['denselayer_15',['DenseLayer',['../dc/d93/classmachine__learning_1_1neural__network_1_1layers_1_1_dense_layer.html#a11046825be0b6dbb73fbe834aa49200e',1,'machine_learning::neural_network::layers::DenseLayer::DenseLayer(const int &neurons, const std::string &activation, const std::pair< size_t, size_t > &kernel_shape, const bool &random_kernel)'],['../dc/d93/classmachine__learning_1_1neural__network_1_1layers_1_1_dense_layer.html#af136ec31dbd35b1be2eb9a057677c704',1,'machine_learning::neural_network::layers::DenseLayer::DenseLayer(const int &neurons, const std::string &activation, const std::vector< std::valarray< double > > &kernel)'],['../dc/d93/classmachine__learning_1_1neural__network_1_1layers_1_1_dense_layer.html#a2871146feaaa453558239df67b21e0d2',1,'machine_learning::neural_network::layers::DenseLayer::DenseLayer(const DenseLayer &layer)=default'],['../dc/d93/classmachine__learning_1_1neural__network_1_1layers_1_1_dense_layer.html#a6c859e3737aa88b29854df0347b29f4e',1,'machine_learning::neural_network::layers::DenseLayer::DenseLayer(DenseLayer &&)=default']]], + ['depth_5ffirst_5fsearch_16',['depth_first_search',['../df/dce/namespacegraph.html#ab5428a3519267a28bba4b4310cfbb6ae',1,'graph']]], + ['dequeue_17',['deQueue',['../db/da9/classqueue.html#af27dbb72fb63f58f817a88550d7faa85',1,'queue']]], + ['dequeue_18',['dequeue',['../d6/d04/classdata__structures_1_1queue__using__array_1_1_queue___array.html#a2aaf88c9954ef3ab686f8e4bfbd87622',1,'data_structures::queue_using_array::Queue_Array']]], + ['determinant_5flu_19',['determinant_lu',['../d1/dbe/lu__decomposition_8h.html#a3108d43bd32c6fb3b3c158476c51ba7f',1,'lu_decomposition.h']]], + ['dfs_20',['dfs',['../d8/d69/classgraph_1_1_h_k_graph.html#ae794950cb3407b6b47d3dc986cf714c0',1,'graph::HKGraph::dfs()'],['../da/d4b/depth__first__search__with__stack_8cpp.html#a5738da9f508f6a9e87f123c9fb6f2ea9',1,'graph::depth_first_search::dfs()'],['../d8/db9/topological__sort_8cpp.html#abcbcaa2bb70af0a11d0c090ea1796aea',1,'graph::topological_sort::dfs()']]], + ['dfs_5fhc_21',['dfs_hc',['../d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d.html#af64848d6630c39d0f09ce2359cc7c4f8',1,'range_queries::heavy_light_decomposition::HLD']]], + ['dfs_5flabels_22',['dfs_labels',['../d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d.html#a0579062b384e54b611b80c6337c7f2c8',1,'range_queries::heavy_light_decomposition::HLD']]], + ['dfs_5flca_23',['dfs_lca',['../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html#ae8de7aefcb6635d3dacdd174cd4890c4',1,'range_queries::heavy_light_decomposition::Tree']]], + ['dfs_5fpar_24',['dfs_par',['../d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d.html#a2dfbda148aad0bfaba2ebfda9ebc915a',1,'range_queries::heavy_light_decomposition::HLD']]], + ['dfs_5fsize_25',['dfs_size',['../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html#aa339c31ec74cd86a4842a8b09653d460',1,'range_queries::heavy_light_decomposition::Tree']]], + ['digit_5fchar_26',['digit_char',['../db/d82/classlarge__number.html#ae35a55607cf52c0b0d485f2129bd39ac',1,'large_number']]], + ['digitseparation_27',['DigitSeparation',['../da/d49/classgreedy__algorithms_1_1_digit_separation.html#afd54c969a6c9bab16b4a064fbc8ed40e',1,'greedy_algorithms::DigitSeparation']]], + ['digitseparationforwardorder_28',['digitSeparationForwardOrder',['../da/d49/classgreedy__algorithms_1_1_digit_separation.html#a1809ae6828223999374bde5b197a59c8',1,'greedy_algorithms::DigitSeparation']]], + ['digitseparationreverseorder_29',['digitSeparationReverseOrder',['../da/d49/classgreedy__algorithms_1_1_digit_separation.html#a34769a780845e9d4279152899bd3bf79',1,'greedy_algorithms::DigitSeparation']]], + ['dijkstra_30',['dijkstra',['../df/dce/namespacegraph.html#adc68cbc8ba09eb1142265935c0d45b84',1,'graph::dijkstra()'],['../d2/d2f/namespacegreedy__algorithms_1_1dijkstra.html#af915876d0ca33cc71a6a6191a8cd3ccd',1,'greedy_algorithms::dijkstra::dijkstra()']]], + ['direction_31',['direction',['../d4/db4/struct_segment_intersection.html#a3beb2ac1b35d67354f1dbaf9a971e655',1,'SegmentIntersection']]], + ['display_32',['display',['../d1/def/classdata__structures_1_1linked__list_1_1list.html#a1313837c0e9ec67fd9fbd17987e2d615',1,'data_structures::linked_list::list::display()'],['../db/da9/classqueue.html#a353e4dd5772575905c78b0b30856e368',1,'queue::display()'],['../d6/d04/classdata__structures_1_1queue__using__array_1_1_queue___array.html#a688b7ea064739ea9fa66bf64bf4ae631',1,'data_structures::queue_using_array::Queue_Array::display()'],['../d1/dc2/classstack.html#a8bce109630118a34faae717f72986033',1,'stack::display()'],['../dd/d1c/classhash__chain.html#a706964ad13587fc9a8b3fe8381d410ed',1,'hash_chain::display()'],['../d6/dae/classothers_1_1lru__cache_1_1_l_r_u_cache.html#aad506b1c1a3cd5b93cc7e497626bfb53',1,'others::lru_cache::LRUCache::display()'],['../d0/d65/namespacedouble__hashing.html#a1e901418c759627557eff359b8db38cd',1,'double_hashing::display()'],['../d8/d89/namespacelinear__probing.html#ad87b71d810901fab69c4ad9d4d0fa635',1,'linear_probing::display()'],['../d4/dd2/namespacequadratic__probing.html#a40d617ebf4d6ba21bcda8d8d1faa2357',1,'quadratic_probing::display()'],['../d5/d33/gram__schmidt_8cpp.html#ae6b496dce691e04f7f95ba0f0d33a289',1,'numerical_methods::gram_schmidt::display()']]], + ['displayelements_33',['displayElements',['../d5/d4c/group__sorting.html#ga135e4c638e3bcf548bd122b5f49a3e72',1,'wiggle_sort.cpp']]], + ['displaylist_34',['displayList',['../d4/d90/classdata__structures_1_1_skip_list.html#a812611f80b8079268dbb19cc4e9bee5c',1,'data_structures::SkipList']]], + ['divide_35',['divide',['../db/d9a/classuint128__t.html#a8bf81f7f5f5c98f197822ec88e106c6c',1,'uint128_t::divide()'],['../d1/d83/classuint256__t.html#a8161d52d369e525f4e61129376adfcf1',1,'uint256_t::divide()']]], + ['dnfsort_36',['dnfSort',['../d6/d1a/dnf__sort_8cpp.html#a621767fe711db64fe57a2ac4987b11f0',1,'sorting::dnf_sort']]], + ['dot_5fproduct_37',['dot_product',['../d5/d33/gram__schmidt_8cpp.html#ac4a4504924ecc9f12a2ebd80788ec01d',1,'numerical_methods::gram_schmidt']]], + ['double_5ffactorial_5fiterative_38',['double_factorial_iterative',['../d7/d89/double__factorial_8cpp.html#a0a3c417360400093891a9ccddaa4be26',1,'double_factorial.cpp']]], + ['double_5ffactorial_5frecursive_39',['double_factorial_recursive',['../d7/d89/double__factorial_8cpp.html#a68ba20fed2ce427f6469c7689437829d',1,'double_factorial.cpp']]], + ['doublehash_40',['doubleHash',['../d0/d65/namespacedouble__hashing.html#a8f8ff4fb018e1bb32d67d8a1885d3200',1,'double_hashing']]], + ['dptable_41',['dpTable',['../dc/d14/wildcard__matching_8cpp.html#a1f8c260cf0d7e22c666b85f1f71ee4a7',1,'backtracking::wildcard_matching']]], + ['draw_5fsample_42',['draw_sample',['../da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution.html#a8aae1cebcf42ed2332f1c7217c401aa3',1,'probability::geometric_dist::geometric_distribution']]], + ['drelu_43',['drelu',['../d2/d58/neural__network_8cpp.html#aa69e95a34054d7989bf446f96b2ffaf9',1,'machine_learning::neural_network::activations']]], + ['dsigmoid_44',['dsigmoid',['../d2/d58/neural__network_8cpp.html#a76eb66212d577f948a457b6e29d87c46',1,'machine_learning::neural_network::activations']]], + ['dsu_45',['dsu',['../dd/d1f/classdsu.html#a126e3002a464e53cd54b07ba56482a72',1,'dsu::dsu(uint64_t n)'],['../dd/d1f/classdsu.html#a126e3002a464e53cd54b07ba56482a72',1,'dsu::dsu(uint64_t n)']]], + ['dtanh_46',['dtanh',['../d2/d58/neural__network_8cpp.html#a2a5e874b9774aa5362dbcf288828b95c',1,'machine_learning::neural_network::activations']]], + ['duplicatenumber_47',['duplicateNumber',['../db/dc4/floyd__cycle__detection__algo_8cpp.html#a81ffc7a2c6bf530c8a496864e7a3ad88',1,'search::cycle_detection']]], + ['durand_5fkerner_5falgo_48',['durand_kerner_algo',['../da/df2/durand__kerner__roots_8cpp.html#a2c35b320ace8677f9b331faf94f8b2fd',1,'durand_kerner_roots.cpp']]], + ['duval_49',['duval',['../d6/dd6/namespacestring.html#ac2a35302e6bed93c4b2c6f55a21a5632',1,'string']]] ]; diff --git a/search/functions_5.js b/search/functions_5.js index 8d5e2a28a..09a97567f 100644 --- a/search/functions_5.js +++ b/search/functions_5.js @@ -1,72 +1,36 @@ var searchData= [ - ['eback_0',['eback',['http://en.cppreference.com/w/cpp/io/basic_streambuf/gptr.html',0,'std::basic_filebuf::eback()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/gptr.html',0,'std::wstringbuf::eback()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/gptr.html',0,'std::stringbuf::eback()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/gptr.html',0,'std::wfilebuf::eback()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/gptr.html',0,'std::wstreambuf::eback()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/gptr.html',0,'std::strstreambuf::eback()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/gptr.html',0,'std::basic_stringbuf::eback()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/gptr.html',0,'std::basic_streambuf::eback()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/gptr.html',0,'std::filebuf::eback()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/gptr.html',0,'std::streambuf::eback()']]], - ['edge_1',['Edge',['../d7/d77/class_edge.html#a415a5d002fe11c58711e48aabe975980',1,'Edge']]], - ['editdistdp_2',['editDistDP',['../da/d52/minimum__edit__distance_8cpp.html#ade2fcfe0359f3c7691bfaa04b14943e2',1,'dynamic_programming::minimum_edit_distance']]], - ['egptr_3',['egptr',['http://en.cppreference.com/w/cpp/io/basic_streambuf/gptr.html',0,'std::basic_filebuf::egptr()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/gptr.html',0,'std::wstringbuf::egptr()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/gptr.html',0,'std::stringbuf::egptr()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/gptr.html',0,'std::wfilebuf::egptr()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/gptr.html',0,'std::wstreambuf::egptr()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/gptr.html',0,'std::strstreambuf::egptr()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/gptr.html',0,'std::basic_stringbuf::egptr()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/gptr.html',0,'std::basic_streambuf::egptr()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/gptr.html',0,'std::filebuf::egptr()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/gptr.html',0,'std::streambuf::egptr()']]], - ['eigen_5fvalues_4',['eigen_values',['../d2/d3b/namespaceqr__algorithm.html#a28e2fa3e803abaea6c568dc45d69d8cc',1,'qr_algorithm']]], - ['eightpuzzle_5',['EightPuzzle',['../dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle.html#a3dc09f4742a0e1167ed202f7bf94721b',1,'machine_learning::aystar_search::EightPuzzle::EightPuzzle()'],['../dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle.html#ab7fd890a7ccf756e4b3313087b76a8c2',1,'machine_learning::aystar_search::EightPuzzle::EightPuzzle(const std::array< std::array< uint32_t, N >, N > &init)'],['../dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle.html#ad45fde095ac00effe1fe00b1d85ff9c7',1,'machine_learning::aystar_search::EightPuzzle::EightPuzzle(const EightPuzzle< N > &A)'],['../dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle.html#af22395b8e9e04222aa93a329523faef9',1,'machine_learning::aystar_search::EightPuzzle::EightPuzzle(const EightPuzzle< N > &&A) noexcept']]], - ['emplace_6',['emplace',['http://en.cppreference.com/w/cpp/container/vector/emplace.html',0,'std::vector::emplace()'],['http://en.cppreference.com/w/cpp/container/multiset/emplace.html',0,'std::multiset::emplace()'],['http://en.cppreference.com/w/cpp/container/set/emplace.html',0,'std::set::emplace()'],['http://en.cppreference.com/w/cpp/container/unordered_map/emplace.html',0,'std::unordered_map::emplace()'],['http://en.cppreference.com/w/cpp/container/stack/emplace.html',0,'std::stack::emplace()'],['http://en.cppreference.com/w/cpp/container/unordered_multimap/emplace.html',0,'std::unordered_multimap::emplace()'],['http://en.cppreference.com/w/cpp/container/deque/emplace.html',0,'std::deque::emplace()'],['http://en.cppreference.com/w/cpp/container/queue/emplace.html',0,'std::queue::emplace()'],['http://en.cppreference.com/w/cpp/container/priority_queue/emplace.html',0,'std::priority_queue::emplace()'],['http://en.cppreference.com/w/cpp/container/unordered_multiset/emplace.html',0,'std::unordered_multiset::emplace()'],['http://en.cppreference.com/w/cpp/container/list/emplace.html',0,'std::list::emplace()'],['http://en.cppreference.com/w/cpp/container/map/emplace.html',0,'std::map::emplace()'],['http://en.cppreference.com/w/cpp/experimental/optional/emplace.html',0,'std::experimental::optional::emplace()'],['http://en.cppreference.com/w/cpp/container/unordered_set/emplace.html',0,'std::unordered_set::emplace()'],['http://en.cppreference.com/w/cpp/container/multimap/emplace.html',0,'std::multimap::emplace()']]], - ['emplace_5fafter_7',['emplace_after',['http://en.cppreference.com/w/cpp/container/forward_list/emplace_after.html',0,'std::forward_list']]], - ['emplace_5fback_8',['emplace_back',['http://en.cppreference.com/w/cpp/container/vector/emplace_back.html',0,'std::vector::emplace_back()'],['http://en.cppreference.com/w/cpp/container/deque/emplace_back.html',0,'std::deque::emplace_back()'],['http://en.cppreference.com/w/cpp/container/list/emplace_back.html',0,'std::list::emplace_back()']]], - ['emplace_5ffront_9',['emplace_front',['http://en.cppreference.com/w/cpp/container/forward_list/emplace_front.html',0,'std::forward_list::emplace_front()'],['http://en.cppreference.com/w/cpp/container/deque/emplace_front.html',0,'std::deque::emplace_front()'],['http://en.cppreference.com/w/cpp/container/list/emplace_front.html',0,'std::list::emplace_front()']]], - ['emplace_5fhint_10',['emplace_hint',['http://en.cppreference.com/w/cpp/container/multiset/emplace_hint.html',0,'std::multiset::emplace_hint()'],['http://en.cppreference.com/w/cpp/container/set/emplace_hint.html',0,'std::set::emplace_hint()'],['http://en.cppreference.com/w/cpp/container/unordered_map/emplace_hint.html',0,'std::unordered_map::emplace_hint()'],['http://en.cppreference.com/w/cpp/container/unordered_multimap/emplace_hint.html',0,'std::unordered_multimap::emplace_hint()'],['http://en.cppreference.com/w/cpp/container/unordered_multiset/emplace_hint.html',0,'std::unordered_multiset::emplace_hint()'],['http://en.cppreference.com/w/cpp/container/map/emplace_hint.html',0,'std::map::emplace_hint()'],['http://en.cppreference.com/w/cpp/container/unordered_set/emplace_hint.html',0,'std::unordered_set::emplace_hint()'],['http://en.cppreference.com/w/cpp/container/multimap/emplace_hint.html',0,'std::multimap::emplace_hint()']]], - ['empty_11',['empty',['http://en.cppreference.com/w/cpp/container/dynarray/empty.html',0,'std::dynarray::empty()'],['http://en.cppreference.com/w/cpp/container/vector/empty.html',0,'std::vector::empty()'],['http://en.cppreference.com/w/cpp/regex/match_results/empty.html',0,'std::match_results::empty()'],['http://en.cppreference.com/w/cpp/container/multiset/empty.html',0,'std::multiset::empty()'],['http://en.cppreference.com/w/cpp/string/basic_string/empty.html',0,'std::string::empty()'],['http://en.cppreference.com/w/cpp/container/set/empty.html',0,'std::set::empty()'],['http://en.cppreference.com/w/cpp/container/unordered_map/empty.html',0,'std::unordered_map::empty()'],['http://en.cppreference.com/w/cpp/regex/match_results/empty.html',0,'std::wsmatch::empty()'],['http://en.cppreference.com/w/cpp/regex/match_results/empty.html',0,'std::smatch::empty()'],['http://en.cppreference.com/w/cpp/container/stack/empty.html',0,'std::stack::empty()'],['http://en.cppreference.com/w/cpp/container/unordered_multimap/empty.html',0,'std::unordered_multimap::empty()'],['http://en.cppreference.com/w/cpp/container/forward_list/empty.html',0,'std::forward_list::empty()'],['http://en.cppreference.com/w/cpp/regex/match_results/empty.html',0,'std::wcmatch::empty()'],['http://en.cppreference.com/w/cpp/container/deque/empty.html',0,'std::deque::empty()'],['http://en.cppreference.com/w/cpp/container/queue/empty.html',0,'std::queue::empty()'],['http://en.cppreference.com/w/cpp/string/basic_string/empty.html',0,'std::basic_string::empty()'],['http://en.cppreference.com/w/cpp/container/priority_queue/empty.html',0,'std::priority_queue::empty()'],['http://en.cppreference.com/w/cpp/string/basic_string/empty.html',0,'std::wstring::empty()'],['http://en.cppreference.com/w/cpp/container/unordered_multiset/empty.html',0,'std::unordered_multiset::empty()'],['http://en.cppreference.com/w/cpp/string/basic_string/empty.html',0,'std::u16string::empty()'],['http://en.cppreference.com/w/cpp/string/basic_string/empty.html',0,'std::u32string::empty()'],['http://en.cppreference.com/w/cpp/container/list/empty.html',0,'std::list::empty()'],['http://en.cppreference.com/w/cpp/container/map/empty.html',0,'std::map::empty()'],['http://en.cppreference.com/w/cpp/regex/match_results/empty.html',0,'std::cmatch::empty()'],['http://en.cppreference.com/w/cpp/container/unordered_set/empty.html',0,'std::unordered_set::empty()'],['http://en.cppreference.com/w/cpp/container/multimap/empty.html',0,'std::multimap::empty()'],['http://en.cppreference.com/w/cpp/container/array/empty.html',0,'std::array::empty()'],['../d2/dc8/classdata__structures_1_1_stack.html#a04e2e7cb58b2de6d3a15053bfaaf6080',1,'data_structures::Stack::empty()'],['../df/d8f/classothers_1_1_cache_1_1_l_f_u_cache.html#a68e1be0a3e0a6478aa35f04000e0e9b0',1,'others::Cache::LFUCache::empty()'],['../d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache.html#ab8b6a6aa95db678596bc2a49e864683e',1,'others::Cache::LRUCache::empty()']]], - ['enable_5fshared_5ffrom_5fthis_12',['enable_shared_from_this',['http://en.cppreference.com/w/cpp/memory/enable_shared_from_this/enable_shared_from_this.html',0,'std::enable_shared_from_this']]], - ['encoding_13',['encoding',['http://en.cppreference.com/w/cpp/locale/codecvt/encoding.html',0,'std::codecvt::encoding()'],['http://en.cppreference.com/w/cpp/locale/codecvt/encoding.html',0,'std::codecvt_byname::encoding()'],['http://en.cppreference.com/w/cpp/locale/codecvt/encoding.html',0,'std::codecvt_utf8::encoding()'],['http://en.cppreference.com/w/cpp/locale/codecvt/encoding.html',0,'std::codecvt_utf8_utf16::encoding()'],['http://en.cppreference.com/w/cpp/locale/codecvt/encoding.html',0,'std::codecvt_utf16::encoding()']]], - ['encrypt_14',['encrypt',['../de/db6/a1z26__cipher_8cpp.html#a77a6b827a0b9c7aca2d705811459d744',1,'ciphers::a1z26::encrypt()'],['../d6/d2c/caesar__cipher_8cpp.html#ac3381121289548640b1c27a58a8524c3',1,'ciphers::caesar::encrypt()'],['../d8/d76/morse__code_8cpp.html#a0242e458904de8a242fcdaffe9e3ba1a',1,'ciphers::morse::encrypt()'],['../dd/d12/vigenere__cipher_8cpp.html#a6bd3880ea6820c232c1eddf47553c257',1,'ciphers::vigenere::encrypt()'],['../d3/d4c/xor__cipher_8cpp.html#aeff72a463ffc580c16cc849cbbdc58ef',1,'ciphers::XOR::encrypt()']]], - ['encrypt_5ftext_15',['encrypt_text',['../d6/d26/classciphers_1_1_hill_cipher.html#aa8bbb6e4a5749f6008b06602d5103917',1,'ciphers::HillCipher']]], - ['end_16',['end',['http://en.cppreference.com/w/cpp/container/dynarray/end.html',0,'std::dynarray::end()'],['http://en.cppreference.com/w/cpp/container/vector/end.html',0,'std::vector::end()'],['http://en.cppreference.com/w/cpp/regex/match_results/end.html',0,'std::match_results::end()'],['http://en.cppreference.com/w/cpp/container/multiset/end.html',0,'std::multiset::end()'],['http://en.cppreference.com/w/cpp/string/basic_string/end.html',0,'std::string::end()'],['http://en.cppreference.com/w/cpp/container/set/end.html',0,'std::set::end()'],['http://en.cppreference.com/w/cpp/container/unordered_map/end.html',0,'std::unordered_map::end()'],['http://en.cppreference.com/w/cpp/utility/initializer_list/end.html',0,'std::initializer_list::end()'],['http://en.cppreference.com/w/cpp/regex/match_results/end.html',0,'std::wsmatch::end()'],['http://en.cppreference.com/w/cpp/regex/match_results/end.html',0,'std::smatch::end()'],['http://en.cppreference.com/w/cpp/container/unordered_multimap/end.html',0,'std::unordered_multimap::end()'],['http://en.cppreference.com/w/cpp/container/forward_list/end.html',0,'std::forward_list::end()'],['http://en.cppreference.com/w/cpp/regex/match_results/end.html',0,'std::wcmatch::end()'],['http://en.cppreference.com/w/cpp/container/deque/end.html',0,'std::deque::end()'],['http://en.cppreference.com/w/cpp/string/basic_string/end.html',0,'std::basic_string::end()'],['http://en.cppreference.com/w/cpp/string/basic_string/end.html',0,'std::wstring::end()'],['http://en.cppreference.com/w/cpp/container/unordered_multiset/end.html',0,'std::unordered_multiset::end()'],['http://en.cppreference.com/w/cpp/string/basic_string/end.html',0,'std::u16string::end()'],['http://en.cppreference.com/w/cpp/string/basic_string/end.html',0,'std::u32string::end()'],['http://en.cppreference.com/w/cpp/container/list/end.html',0,'std::list::end()'],['http://en.cppreference.com/w/cpp/container/map/end.html',0,'std::map::end()'],['http://en.cppreference.com/w/cpp/regex/match_results/end.html',0,'std::cmatch::end()'],['http://en.cppreference.com/w/cpp/container/unordered_set/end.html',0,'std::unordered_set::end()'],['http://en.cppreference.com/w/cpp/container/multimap/end.html',0,'std::multimap::end()'],['http://en.cppreference.com/w/cpp/container/array/end.html',0,'std::array::end()'],['http://en.cppreference.com/w/cpp/iterator/end.html',0,'std::end()']]], - ['end_28int_29_17',['end(int)',['http://en.cppreference.com/w/cpp/container/unordered_map/end2.html',0,'std::unordered_map::end(int)()'],['http://en.cppreference.com/w/cpp/container/unordered_multimap/end2.html',0,'std::unordered_multimap::end(int)()'],['http://en.cppreference.com/w/cpp/container/unordered_multiset/end2.html',0,'std::unordered_multiset::end(int)()'],['http://en.cppreference.com/w/cpp/container/unordered_set/end2.html',0,'std::unordered_set::end(int)()']]], - ['endl_18',['endl',['http://en.cppreference.com/w/cpp/io/manip/endl.html',0,'std']]], - ['ends_19',['ends',['http://en.cppreference.com/w/cpp/io/manip/ends.html',0,'std']]], - ['enqueue_20',['enQueue',['../db/da9/classqueue.html#ada88d0c1f34946d66386b7a11bee4e4d',1,'queue']]], - ['enqueue_21',['enqueue',['../d6/d04/classdata__structures_1_1queue__using__array_1_1_queue___array.html#a4dc64488c36f84d927365fa8d1933663',1,'data_structures::queue_using_array::Queue_Array']]], - ['ensurenotempty_22',['ensureNotEmpty',['../db/da9/classqueue.html#ac08ebdd38cb4ad74fc0a3f51888da604',1,'queue']]], - ['entropy_23',['entropy',['http://en.cppreference.com/w/cpp/numeric/random/random_device/entropy.html',0,'std::random_device']]], - ['entry_24',['Entry',['../d9/dde/structdouble__hashing_1_1_entry.html#a287b92112b6b43b34808a93778873475',1,'double_hashing::Entry::Entry()'],['../db/d19/structlinear__probing_1_1_entry.html#a2139f643a3caf074da1db8a9fa16fa77',1,'linear_probing::Entry::Entry()'],['../da/dd1/structquadratic__probing_1_1_entry.html#a9df1118010a233d13ab3dd699bcb513e',1,'quadratic_probing::Entry::Entry()']]], - ['eof_25',['eof',['http://en.cppreference.com/w/cpp/io/basic_ios/eof.html',0,'std::basic_ofstream::eof()'],['http://en.cppreference.com/w/cpp/io/basic_ios/eof.html',0,'std::fstream::eof()'],['http://en.cppreference.com/w/cpp/string/char_traits/eof.html',0,'std::char_traits::eof()'],['http://en.cppreference.com/w/cpp/io/basic_ios/eof.html',0,'std::wostream::eof()'],['http://en.cppreference.com/w/cpp/io/basic_ios/eof.html',0,'std::basic_ostringstream::eof()'],['http://en.cppreference.com/w/cpp/io/basic_ios/eof.html',0,'std::basic_ios::eof()'],['http://en.cppreference.com/w/cpp/io/basic_ios/eof.html',0,'std::ostringstream::eof()'],['http://en.cppreference.com/w/cpp/io/basic_ios/eof.html',0,'std::basic_fstream::eof()'],['http://en.cppreference.com/w/cpp/io/basic_ios/eof.html',0,'std::iostream::eof()'],['http://en.cppreference.com/w/cpp/io/basic_ios/eof.html',0,'std::wistream::eof()'],['http://en.cppreference.com/w/cpp/io/basic_ios/eof.html',0,'std::stringstream::eof()'],['http://en.cppreference.com/w/cpp/io/basic_ios/eof.html',0,'std::ostream::eof()'],['http://en.cppreference.com/w/cpp/io/basic_ios/eof.html',0,'std::wifstream::eof()'],['http://en.cppreference.com/w/cpp/io/basic_ios/eof.html',0,'std::basic_istream::eof()'],['http://en.cppreference.com/w/cpp/io/basic_ios/eof.html',0,'std::strstream::eof()'],['http://en.cppreference.com/w/cpp/io/basic_ios/eof.html',0,'std::basic_stringstream::eof()'],['http://en.cppreference.com/w/cpp/io/basic_ios/eof.html',0,'std::wostringstream::eof()'],['http://en.cppreference.com/w/cpp/io/basic_ios/eof.html',0,'std::istrstream::eof()'],['http://en.cppreference.com/w/cpp/io/basic_ios/eof.html',0,'std::basic_ostream::eof()'],['http://en.cppreference.com/w/cpp/io/basic_ios/eof.html',0,'std::wiostream::eof()'],['http://en.cppreference.com/w/cpp/io/basic_ios/eof.html',0,'std::ofstream::eof()'],['http://en.cppreference.com/w/cpp/io/basic_ios/eof.html',0,'std::basic_istringstream::eof()'],['http://en.cppreference.com/w/cpp/io/basic_ios/eof.html',0,'std::basic_ifstream::eof()'],['http://en.cppreference.com/w/cpp/io/basic_ios/eof.html',0,'std::istringstream::eof()'],['http://en.cppreference.com/w/cpp/io/basic_ios/eof.html',0,'std::istream::eof()'],['http://en.cppreference.com/w/cpp/io/basic_ios/eof.html',0,'std::ostrstream::eof()'],['http://en.cppreference.com/w/cpp/io/basic_ios/eof.html',0,'std::wfstream::eof()'],['http://en.cppreference.com/w/cpp/io/basic_ios/eof.html',0,'std::basic_iostream::eof()'],['http://en.cppreference.com/w/cpp/io/basic_ios/eof.html',0,'std::wofstream::eof()'],['http://en.cppreference.com/w/cpp/io/basic_ios/eof.html',0,'std::wstringstream::eof()'],['http://en.cppreference.com/w/cpp/io/basic_ios/eof.html',0,'std::wistringstream::eof()'],['http://en.cppreference.com/w/cpp/io/basic_ios/eof.html',0,'std::ifstream::eof()']]], - ['epptr_26',['epptr',['http://en.cppreference.com/w/cpp/io/basic_streambuf/pptr.html',0,'std::basic_filebuf::epptr()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pptr.html',0,'std::wstringbuf::epptr()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pptr.html',0,'std::stringbuf::epptr()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pptr.html',0,'std::wfilebuf::epptr()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pptr.html',0,'std::wstreambuf::epptr()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pptr.html',0,'std::strstreambuf::epptr()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pptr.html',0,'std::basic_stringbuf::epptr()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pptr.html',0,'std::basic_streambuf::epptr()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pptr.html',0,'std::filebuf::epptr()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pptr.html',0,'std::streambuf::epptr()']]], - ['epsilon_27',['epsilon',['http://en.cppreference.com/w/cpp/types/numeric_limits/epsilon.html',0,'std::numeric_limits']]], - ['eq_28',['eq',['http://en.cppreference.com/w/cpp/string/char_traits/cmp.html',0,'std::char_traits::eq()'],['../d7/d6a/bisection__method_8cpp.html#a2003b5b2dcfff0769b957ab5c968b03d',1,'eq(): bisection_method.cpp'],['../dd/d29/false__position_8cpp.html#a85a6ec58b5064d63d4f0df3854496713',1,'numerical_methods::false_position::eq()'],['../de/dd3/newton__raphson__method_8cpp.html#a2003b5b2dcfff0769b957ab5c968b03d',1,'eq(double i): newton_raphson_method.cpp'],['../df/dc8/successive__approximation_8cpp.html#a79c1d08919ff7780a5d7723172602389',1,'eq(float y): successive_approximation.cpp']]], - ['eq_5fder_29',['eq_der',['../de/dd3/newton__raphson__method_8cpp.html#a3d3f7f41977394680af6ebbed96f3386',1,'newton_raphson_method.cpp']]], - ['eq_5fint_5ftype_30',['eq_int_type',['http://en.cppreference.com/w/cpp/string/char_traits/eq_int_type.html',0,'std::char_traits']]], - ['eqd_31',['eqd',['../df/dc8/successive__approximation_8cpp.html#ae89c36add7c55298c5195d0a83de1456',1,'successive_approximation.cpp']]], - ['equal_32',['equal',['http://en.cppreference.com/w/cpp/algorithm/equal.html',0,'std']]], - ['equal_5frange_33',['equal_range',['http://en.cppreference.com/w/cpp/container/multiset/equal_range.html',0,'std::multiset::equal_range()'],['http://en.cppreference.com/w/cpp/container/set/equal_range.html',0,'std::set::equal_range()'],['http://en.cppreference.com/w/cpp/container/unordered_map/equal_range.html',0,'std::unordered_map::equal_range()'],['http://en.cppreference.com/w/cpp/container/unordered_multimap/equal_range.html',0,'std::unordered_multimap::equal_range()'],['http://en.cppreference.com/w/cpp/container/unordered_multiset/equal_range.html',0,'std::unordered_multiset::equal_range()'],['http://en.cppreference.com/w/cpp/container/map/equal_range.html',0,'std::map::equal_range()'],['http://en.cppreference.com/w/cpp/container/unordered_set/equal_range.html',0,'std::unordered_set::equal_range()'],['http://en.cppreference.com/w/cpp/container/multimap/equal_range.html',0,'std::multimap::equal_range()'],['http://en.cppreference.com/w/cpp/algorithm/equal_range.html',0,'std::equal_range()']]], - ['equal_5fshuffle_34',['equal_shuffle',['../d8/d77/namespacemachine__learning.html#af801bf30591ca6b2c38ff4fed0ded23f',1,'machine_learning']]], - ['equivalent_35',['equivalent',['http://en.cppreference.com/w/cpp/error/error_category/equivalent.html',0,'std::error_category']]], - ['erase_36',['erase',['http://en.cppreference.com/w/cpp/container/vector/erase.html',0,'std::vector::erase()'],['http://en.cppreference.com/w/cpp/container/multiset/erase.html',0,'std::multiset::erase()'],['http://en.cppreference.com/w/cpp/string/basic_string/erase.html',0,'std::string::erase()'],['http://en.cppreference.com/w/cpp/container/set/erase.html',0,'std::set::erase()'],['http://en.cppreference.com/w/cpp/container/unordered_map/erase.html',0,'std::unordered_map::erase()'],['http://en.cppreference.com/w/cpp/container/unordered_multimap/erase.html',0,'std::unordered_multimap::erase()'],['http://en.cppreference.com/w/cpp/container/deque/erase.html',0,'std::deque::erase()'],['http://en.cppreference.com/w/cpp/string/basic_string/erase.html',0,'std::basic_string::erase()'],['http://en.cppreference.com/w/cpp/string/basic_string/erase.html',0,'std::wstring::erase()'],['http://en.cppreference.com/w/cpp/container/unordered_multiset/erase.html',0,'std::unordered_multiset::erase()'],['http://en.cppreference.com/w/cpp/string/basic_string/erase.html',0,'std::u16string::erase()'],['http://en.cppreference.com/w/cpp/string/basic_string/erase.html',0,'std::u32string::erase()'],['http://en.cppreference.com/w/cpp/container/list/erase.html',0,'std::list::erase()'],['http://en.cppreference.com/w/cpp/container/map/erase.html',0,'std::map::erase()'],['http://en.cppreference.com/w/cpp/container/unordered_set/erase.html',0,'std::unordered_set::erase()'],['http://en.cppreference.com/w/cpp/container/multimap/erase.html',0,'std::multimap::erase()'],['../d1/def/classdata__structures_1_1linked__list_1_1list.html#a009b19ac8cca40f2e4daa2e5989fa4f3',1,'data_structures::linked_list::list::erase()'],['../d5/d95/structdata__structures_1_1treap_1_1_treap.html#a9ea2becd904e2e7d22f23a001b444469',1,'data_structures::treap::Treap::erase()'],['../d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list.html#a398d6cc927a2c8e4a156ae2806f48986',1,'operations_on_datastructures::circular_linked_list::CircularLinkedList::erase()']]], - ['erase_5fafter_37',['erase_after',['http://en.cppreference.com/w/cpp/container/forward_list/erase_after.html',0,'std::forward_list']]], - ['erasefromsorted_38',['eraseFromSorted',['../df/d34/classprobability_1_1windowed__median_1_1_windowed_median.html#af544e271ea19a6fd69a6b3ed6816453e',1,'probability::windowed_median::WindowedMedian']]], - ['erf_39',['erf',['http://en.cppreference.com/w/cpp/numeric/math/erf.html',0,'std']]], - ['erfc_40',['erfc',['http://en.cppreference.com/w/cpp/numeric/math/erfc.html',0,'std']]], - ['error_5fcategory_41',['error_category',['http://en.cppreference.com/w/cpp/error/error_category/error_category.html',0,'std::error_category']]], - ['error_5fcode_42',['error_code',['http://en.cppreference.com/w/cpp/error/error_code/error_code.html',0,'std::error_code']]], - ['error_5fcondition_43',['error_condition',['http://en.cppreference.com/w/cpp/error/error_condition/error_condition.html',0,'std::error_condition']]], - ['euclidean_5fdistance_44',['euclidean_distance',['../d4/d3e/k__nearest__neighbors_8cpp.html#ad6ae16e50bb153ebaa7251d0aaa97b69',1,'machine_learning::k_nearest_neighbors']]], - ['evaluate_45',['evaluate',['../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#aec648ea4f40bd71123b5f907a681dd8e',1,'machine_learning::neural_network::NeuralNetwork::evaluate()'],['../d7/d75/postfix__evaluation_8cpp.html#a59fd597e0ea394abe027ced4d2ea3338',1,'others::postfix_expression::evaluate()']]], - ['evaluate_5ffrom_5fcsv_46',['evaluate_from_csv',['../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#a36494e26ff36d6e15c1022bb9a1ee848',1,'machine_learning::neural_network::NeuralNetwork']]], - ['exact_5fsolution_47',['exact_solution',['../db/dd3/ode__forward__euler_8cpp.html#af3adf7b092a87868917ee5fb4255192b',1,'exact_solution(const double &x, std::valarray< double > *y): ode_forward_euler.cpp'],['../d6/dd3/ode__midpoint__euler_8cpp.html#af3adf7b092a87868917ee5fb4255192b',1,'exact_solution(const double &x, std::valarray< double > *y): ode_midpoint_euler.cpp'],['../d3/d06/ode__semi__implicit__euler_8cpp.html#af3adf7b092a87868917ee5fb4255192b',1,'exact_solution(const double &x, std::valarray< double > *y): ode_semi_implicit_euler.cpp']]], - ['example_48',['example',['../de/dab/ncr__modulo__p_8cpp.html#afa2b50f4716fc3b42221a72e676e1422',1,'ncr_modulo_p.cpp']]], - ['exception_49',['exception',['http://en.cppreference.com/w/cpp/error/exception/exception.html',0,'std::exception']]], - ['exceptions_50',['exceptions',['http://en.cppreference.com/w/cpp/io/basic_ios/exceptions.html',0,'std::basic_ofstream::exceptions()'],['http://en.cppreference.com/w/cpp/io/basic_ios/exceptions.html',0,'std::fstream::exceptions()'],['http://en.cppreference.com/w/cpp/io/basic_ios/exceptions.html',0,'std::wostream::exceptions()'],['http://en.cppreference.com/w/cpp/io/basic_ios/exceptions.html',0,'std::basic_ostringstream::exceptions()'],['http://en.cppreference.com/w/cpp/io/basic_ios/exceptions.html',0,'std::basic_ios::exceptions()'],['http://en.cppreference.com/w/cpp/io/basic_ios/exceptions.html',0,'std::ostringstream::exceptions()'],['http://en.cppreference.com/w/cpp/io/basic_ios/exceptions.html',0,'std::basic_fstream::exceptions()'],['http://en.cppreference.com/w/cpp/io/basic_ios/exceptions.html',0,'std::iostream::exceptions()'],['http://en.cppreference.com/w/cpp/io/basic_ios/exceptions.html',0,'std::wistream::exceptions()'],['http://en.cppreference.com/w/cpp/io/basic_ios/exceptions.html',0,'std::stringstream::exceptions()'],['http://en.cppreference.com/w/cpp/io/basic_ios/exceptions.html',0,'std::ostream::exceptions()'],['http://en.cppreference.com/w/cpp/io/basic_ios/exceptions.html',0,'std::wifstream::exceptions()'],['http://en.cppreference.com/w/cpp/io/basic_ios/exceptions.html',0,'std::basic_istream::exceptions()'],['http://en.cppreference.com/w/cpp/io/basic_ios/exceptions.html',0,'std::strstream::exceptions()'],['http://en.cppreference.com/w/cpp/io/basic_ios/exceptions.html',0,'std::basic_stringstream::exceptions()'],['http://en.cppreference.com/w/cpp/io/basic_ios/exceptions.html',0,'std::wostringstream::exceptions()'],['http://en.cppreference.com/w/cpp/io/basic_ios/exceptions.html',0,'std::istrstream::exceptions()'],['http://en.cppreference.com/w/cpp/io/basic_ios/exceptions.html',0,'std::basic_ostream::exceptions()'],['http://en.cppreference.com/w/cpp/io/basic_ios/exceptions.html',0,'std::wiostream::exceptions()'],['http://en.cppreference.com/w/cpp/io/basic_ios/exceptions.html',0,'std::ofstream::exceptions()'],['http://en.cppreference.com/w/cpp/io/basic_ios/exceptions.html',0,'std::basic_istringstream::exceptions()'],['http://en.cppreference.com/w/cpp/io/basic_ios/exceptions.html',0,'std::basic_ifstream::exceptions()'],['http://en.cppreference.com/w/cpp/io/basic_ios/exceptions.html',0,'std::istringstream::exceptions()'],['http://en.cppreference.com/w/cpp/io/basic_ios/exceptions.html',0,'std::istream::exceptions()'],['http://en.cppreference.com/w/cpp/io/basic_ios/exceptions.html',0,'std::ostrstream::exceptions()'],['http://en.cppreference.com/w/cpp/io/basic_ios/exceptions.html',0,'std::wfstream::exceptions()'],['http://en.cppreference.com/w/cpp/io/basic_ios/exceptions.html',0,'std::basic_iostream::exceptions()'],['http://en.cppreference.com/w/cpp/io/basic_ios/exceptions.html',0,'std::wofstream::exceptions()'],['http://en.cppreference.com/w/cpp/io/basic_ios/exceptions.html',0,'std::wstringstream::exceptions()'],['http://en.cppreference.com/w/cpp/io/basic_ios/exceptions.html',0,'std::wistringstream::exceptions()'],['http://en.cppreference.com/w/cpp/io/basic_ios/exceptions.html',0,'std::ifstream::exceptions()']]], - ['exchange_51',['exchange',['http://en.cppreference.com/w/cpp/atomic/atomic/exchange.html',0,'std::atomic']]], - ['exists_52',['exists',['../d3/d84/word__break_8cpp.html#a1cc9dd6e6190d10a010fdcdfe7a21a81',1,'dynamic_programming::word_break']]], - ['exit_53',['exit',['http://en.cppreference.com/w/cpp/utility/program/exit.html',0,'std']]], - ['exp_54',['exp',['http://en.cppreference.com/w/cpp/numeric/math/exp.html',0,'std::exp()'],['../df/d6b/namespaceciphers_1_1elliptic__curve__key__exchange.html#ac00616a4e40d3cd5cfb4da87d9ff9af0',1,'ciphers::elliptic_curve_key_exchange::exp()']]], - ['exp2_55',['exp2',['http://en.cppreference.com/w/cpp/numeric/math/exp2.html',0,'std']]], - ['expected_5fvalue_56',['expected_value',['../da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution.html#a41051365f8ac7700f2ed5880a6760413',1,'probability::geometric_dist::geometric_distribution']]], - ['expired_57',['expired',['http://en.cppreference.com/w/cpp/memory/weak_ptr/expired.html',0,'std::weak_ptr']]], - ['explore_58',['explore',['../df/dce/namespacegraph.html#a3ae80bc4c6a79d041b4f3a6589eb7fb8',1,'graph::explore(const std::vector< std::vector< int > > *adj, int u, std::vector< bool > *visited)'],['../df/dce/namespacegraph.html#a64c1db5aad7502c6f08e4652f6edd463',1,'graph::explore(const std::vector< std::vector< size_t > > &adj, size_t v, std::vector< bool > *visited)']]], - ['expm1_59',['expm1',['http://en.cppreference.com/w/cpp/numeric/math/expm1.html',0,'std']]], - ['exponential_5fdistribution_60',['exponential_distribution',['http://en.cppreference.com/w/cpp/numeric/random/exponential_distribution/exponential_distribution.html',0,'std::exponential_distribution']]], - ['exponential_5fexpected_61',['exponential_expected',['../d9/da2/exponential__dist_8cpp.html#a1c8b6e787f72a209ef96c096eedf7afc',1,'probability::geometric_dist']]], - ['exponential_5fstd_62',['exponential_std',['../d9/da2/exponential__dist_8cpp.html#ac7b0091e17479d47438a281fefc2549a',1,'probability::geometric_dist']]], - ['exponential_5fvar_63',['exponential_var',['../d9/da2/exponential__dist_8cpp.html#af435dbeb43a05c8c7785f53bf4ce1df1',1,'probability::geometric_dist']]], - ['extendedeuclid_64',['extendedEuclid',['../d9/d5d/extended__euclid__algorithm_8cpp.html#acba15ca55b3e7dcb91f3c65d72ba052d',1,'extended_euclid_algorithm.cpp']]], - ['extendedeuclid_5f1_65',['extendedEuclid_1',['../d9/d5d/extended__euclid__algorithm_8cpp.html#a1792ac7c33aaf26b860ab55f5652ab25',1,'extended_euclid_algorithm.cpp']]], - ['extract_5fbyte_66',['extract_byte',['../d4/d08/sha256_8cpp.html#afea411191ec5281f43e91ea327984627',1,'hashing::sha256']]], - ['extractmin_67',['extractMin',['../d2/d05/class_min_heap.html#a4014f1edaed0bd7db0c0d2ca53228980',1,'MinHeap']]], - ['extreme_5fvalue_5fdistribution_68',['extreme_value_distribution',['http://en.cppreference.com/w/cpp/numeric/random/extreme_value_distribution/extreme_value_distribution.html',0,'std::extreme_value_distribution']]] + ['edge_0',['Edge',['../d7/d77/class_edge.html#a415a5d002fe11c58711e48aabe975980',1,'Edge']]], + ['editdistdp_1',['editDistDP',['../da/d52/minimum__edit__distance_8cpp.html#ade2fcfe0359f3c7691bfaa04b14943e2',1,'dynamic_programming::minimum_edit_distance']]], + ['eigen_5fvalues_2',['eigen_values',['../d2/d3b/namespaceqr__algorithm.html#a28e2fa3e803abaea6c568dc45d69d8cc',1,'qr_algorithm']]], + ['eightpuzzle_3',['EightPuzzle',['../dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle.html#a3dc09f4742a0e1167ed202f7bf94721b',1,'machine_learning::aystar_search::EightPuzzle::EightPuzzle()'],['../dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle.html#ab7fd890a7ccf756e4b3313087b76a8c2',1,'machine_learning::aystar_search::EightPuzzle::EightPuzzle(const std::array< std::array< uint32_t, N >, N > &init)'],['../dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle.html#ad45fde095ac00effe1fe00b1d85ff9c7',1,'machine_learning::aystar_search::EightPuzzle::EightPuzzle(const EightPuzzle< N > &A)'],['../dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle.html#af22395b8e9e04222aa93a329523faef9',1,'machine_learning::aystar_search::EightPuzzle::EightPuzzle(const EightPuzzle< N > &&A) noexcept']]], + ['empty_4',['empty',['../d2/dc8/classdata__structures_1_1_stack.html#a04e2e7cb58b2de6d3a15053bfaaf6080',1,'data_structures::Stack::empty()'],['../df/d8f/classothers_1_1_cache_1_1_l_f_u_cache.html#a68e1be0a3e0a6478aa35f04000e0e9b0',1,'others::Cache::LFUCache::empty()'],['../d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache.html#ab8b6a6aa95db678596bc2a49e864683e',1,'others::Cache::LRUCache::empty()']]], + ['encrypt_5',['encrypt',['../de/db6/a1z26__cipher_8cpp.html#a77a6b827a0b9c7aca2d705811459d744',1,'ciphers::a1z26::encrypt()'],['../d6/d2c/caesar__cipher_8cpp.html#ac3381121289548640b1c27a58a8524c3',1,'ciphers::caesar::encrypt()'],['../d8/d76/morse__code_8cpp.html#a0242e458904de8a242fcdaffe9e3ba1a',1,'ciphers::morse::encrypt()'],['../dd/d12/vigenere__cipher_8cpp.html#a6bd3880ea6820c232c1eddf47553c257',1,'ciphers::vigenere::encrypt()'],['../d3/d4c/xor__cipher_8cpp.html#aeff72a463ffc580c16cc849cbbdc58ef',1,'ciphers::XOR::encrypt()']]], + ['encrypt_5ftext_6',['encrypt_text',['../d6/d26/classciphers_1_1_hill_cipher.html#aa8bbb6e4a5749f6008b06602d5103917',1,'ciphers::HillCipher']]], + ['enqueue_7',['enQueue',['../db/da9/classqueue.html#ada88d0c1f34946d66386b7a11bee4e4d',1,'queue']]], + ['enqueue_8',['enqueue',['../d6/d04/classdata__structures_1_1queue__using__array_1_1_queue___array.html#a4dc64488c36f84d927365fa8d1933663',1,'data_structures::queue_using_array::Queue_Array']]], + ['ensurenotempty_9',['ensureNotEmpty',['../db/da9/classqueue.html#ac08ebdd38cb4ad74fc0a3f51888da604',1,'queue']]], + ['entry_10',['Entry',['../d9/dde/structdouble__hashing_1_1_entry.html#a287b92112b6b43b34808a93778873475',1,'double_hashing::Entry::Entry()'],['../db/d19/structlinear__probing_1_1_entry.html#a2139f643a3caf074da1db8a9fa16fa77',1,'linear_probing::Entry::Entry()'],['../da/dd1/structquadratic__probing_1_1_entry.html#a9df1118010a233d13ab3dd699bcb513e',1,'quadratic_probing::Entry::Entry()']]], + ['eq_11',['eq',['../d7/d6a/bisection__method_8cpp.html#a2003b5b2dcfff0769b957ab5c968b03d',1,'eq(): bisection_method.cpp'],['../dd/d29/false__position_8cpp.html#a85a6ec58b5064d63d4f0df3854496713',1,'numerical_methods::false_position::eq()'],['../de/dd3/newton__raphson__method_8cpp.html#a2003b5b2dcfff0769b957ab5c968b03d',1,'eq(double i): newton_raphson_method.cpp'],['../df/dc8/successive__approximation_8cpp.html#a79c1d08919ff7780a5d7723172602389',1,'eq(float y): successive_approximation.cpp']]], + ['eq_5fder_12',['eq_der',['../de/dd3/newton__raphson__method_8cpp.html#a3d3f7f41977394680af6ebbed96f3386',1,'newton_raphson_method.cpp']]], + ['eqd_13',['eqd',['../df/dc8/successive__approximation_8cpp.html#ae89c36add7c55298c5195d0a83de1456',1,'successive_approximation.cpp']]], + ['equal_5fshuffle_14',['equal_shuffle',['../d8/d77/namespacemachine__learning.html#af801bf30591ca6b2c38ff4fed0ded23f',1,'machine_learning']]], + ['erase_15',['erase',['../d1/def/classdata__structures_1_1linked__list_1_1list.html#a009b19ac8cca40f2e4daa2e5989fa4f3',1,'data_structures::linked_list::list::erase()'],['../d5/d95/structdata__structures_1_1treap_1_1_treap.html#a9ea2becd904e2e7d22f23a001b444469',1,'data_structures::treap::Treap::erase()'],['../d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list.html#a398d6cc927a2c8e4a156ae2806f48986',1,'operations_on_datastructures::circular_linked_list::CircularLinkedList::erase()']]], + ['erasefromsorted_16',['eraseFromSorted',['../df/d34/classprobability_1_1windowed__median_1_1_windowed_median.html#af544e271ea19a6fd69a6b3ed6816453e',1,'probability::windowed_median::WindowedMedian']]], + ['euclidean_5fdistance_17',['euclidean_distance',['../d4/d3e/k__nearest__neighbors_8cpp.html#ad6ae16e50bb153ebaa7251d0aaa97b69',1,'machine_learning::k_nearest_neighbors']]], + ['evaluate_18',['evaluate',['../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#aec648ea4f40bd71123b5f907a681dd8e',1,'machine_learning::neural_network::NeuralNetwork::evaluate()'],['../d7/d75/postfix__evaluation_8cpp.html#a59fd597e0ea394abe027ced4d2ea3338',1,'others::postfix_expression::evaluate()']]], + ['evaluate_5ffrom_5fcsv_19',['evaluate_from_csv',['../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#a36494e26ff36d6e15c1022bb9a1ee848',1,'machine_learning::neural_network::NeuralNetwork']]], + ['exact_5fsolution_20',['exact_solution',['../db/dd3/ode__forward__euler_8cpp.html#af3adf7b092a87868917ee5fb4255192b',1,'exact_solution(const double &x, std::valarray< double > *y): ode_forward_euler.cpp'],['../d6/dd3/ode__midpoint__euler_8cpp.html#af3adf7b092a87868917ee5fb4255192b',1,'exact_solution(const double &x, std::valarray< double > *y): ode_midpoint_euler.cpp'],['../d3/d06/ode__semi__implicit__euler_8cpp.html#af3adf7b092a87868917ee5fb4255192b',1,'exact_solution(const double &x, std::valarray< double > *y): ode_semi_implicit_euler.cpp']]], + ['example_21',['example',['../de/dab/ncr__modulo__p_8cpp.html#afa2b50f4716fc3b42221a72e676e1422',1,'ncr_modulo_p.cpp']]], + ['exists_22',['exists',['../d3/d84/word__break_8cpp.html#a1cc9dd6e6190d10a010fdcdfe7a21a81',1,'dynamic_programming::word_break']]], + ['exp_23',['exp',['../df/d6b/namespaceciphers_1_1elliptic__curve__key__exchange.html#ac00616a4e40d3cd5cfb4da87d9ff9af0',1,'ciphers::elliptic_curve_key_exchange']]], + ['expected_5fvalue_24',['expected_value',['../da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution.html#a41051365f8ac7700f2ed5880a6760413',1,'probability::geometric_dist::geometric_distribution']]], + ['explore_25',['explore',['../df/dce/namespacegraph.html#a3ae80bc4c6a79d041b4f3a6589eb7fb8',1,'graph::explore(const std::vector< std::vector< int > > *adj, int u, std::vector< bool > *visited)'],['../df/dce/namespacegraph.html#a64c1db5aad7502c6f08e4652f6edd463',1,'graph::explore(const std::vector< std::vector< size_t > > &adj, size_t v, std::vector< bool > *visited)']]], + ['exponential_5fexpected_26',['exponential_expected',['../d9/da2/exponential__dist_8cpp.html#a1c8b6e787f72a209ef96c096eedf7afc',1,'probability::geometric_dist']]], + ['exponential_5fstd_27',['exponential_std',['../d9/da2/exponential__dist_8cpp.html#ac7b0091e17479d47438a281fefc2549a',1,'probability::geometric_dist']]], + ['exponential_5fvar_28',['exponential_var',['../d9/da2/exponential__dist_8cpp.html#af435dbeb43a05c8c7785f53bf4ce1df1',1,'probability::geometric_dist']]], + ['extendedeuclid_29',['extendedEuclid',['../d9/d5d/extended__euclid__algorithm_8cpp.html#acba15ca55b3e7dcb91f3c65d72ba052d',1,'extended_euclid_algorithm.cpp']]], + ['extendedeuclid_5f1_30',['extendedEuclid_1',['../d9/d5d/extended__euclid__algorithm_8cpp.html#a1792ac7c33aaf26b860ab55f5652ab25',1,'extended_euclid_algorithm.cpp']]], + ['extract_5fbyte_31',['extract_byte',['../d4/d08/sha256_8cpp.html#afea411191ec5281f43e91ea327984627',1,'hashing::sha256']]], + ['extractmin_32',['extractMin',['../d2/d05/class_min_heap.html#a4014f1edaed0bd7db0c0d2ca53228980',1,'MinHeap']]] ]; diff --git a/search/functions_6.js b/search/functions_6.js index 2726f2736..5ba30c87b 100644 --- a/search/functions_6.js +++ b/search/functions_6.js @@ -1,128 +1,45 @@ var searchData= [ ['f_0',['f',['../d4/d18/composite__simpson__rule_8cpp.html#a4251b4df4748a0b9c43a48f61bdd2397',1,'numerical_methods::simpson_method::f()'],['../df/d11/midpoint__integral__method_8cpp.html#a7ee8e824ef3e138a9a21883b26d97226',1,'numerical_methods::midpoint_rule::f()']]], - ['fabs_1',['fabs',['http://en.cppreference.com/w/cpp/numeric/math/fabs.html',0,'std']]], - ['facet_2',['facet',['http://en.cppreference.com/w/cpp/locale/locale/facet/facet.html',0,'std::locale::facet']]], - ['fact_3',['fact',['../d9/d24/poisson__dist_8cpp.html#a63ffd347e75d5ed7a518cbcfbfeec71a',1,'poisson_dist.cpp']]], - ['factorial_4',['factorial',['../dd/d47/namespacemath.html#a7e78996673df791014cfe540b183456a',1,'math']]], - ['fail_5',['fail',['http://en.cppreference.com/w/cpp/io/basic_ios/fail.html',0,'std::basic_ofstream::fail()'],['http://en.cppreference.com/w/cpp/io/basic_ios/fail.html',0,'std::fstream::fail()'],['http://en.cppreference.com/w/cpp/io/basic_ios/fail.html',0,'std::wostream::fail()'],['http://en.cppreference.com/w/cpp/io/basic_ios/fail.html',0,'std::basic_ostringstream::fail()'],['http://en.cppreference.com/w/cpp/io/basic_ios/fail.html',0,'std::basic_ios::fail()'],['http://en.cppreference.com/w/cpp/io/basic_ios/fail.html',0,'std::ostringstream::fail()'],['http://en.cppreference.com/w/cpp/io/basic_ios/fail.html',0,'std::basic_fstream::fail()'],['http://en.cppreference.com/w/cpp/io/basic_ios/fail.html',0,'std::iostream::fail()'],['http://en.cppreference.com/w/cpp/io/basic_ios/fail.html',0,'std::wistream::fail()'],['http://en.cppreference.com/w/cpp/io/basic_ios/fail.html',0,'std::stringstream::fail()'],['http://en.cppreference.com/w/cpp/io/basic_ios/fail.html',0,'std::ostream::fail()'],['http://en.cppreference.com/w/cpp/io/basic_ios/fail.html',0,'std::wifstream::fail()'],['http://en.cppreference.com/w/cpp/io/basic_ios/fail.html',0,'std::basic_istream::fail()'],['http://en.cppreference.com/w/cpp/io/basic_ios/fail.html',0,'std::strstream::fail()'],['http://en.cppreference.com/w/cpp/io/basic_ios/fail.html',0,'std::basic_stringstream::fail()'],['http://en.cppreference.com/w/cpp/io/basic_ios/fail.html',0,'std::wostringstream::fail()'],['http://en.cppreference.com/w/cpp/io/basic_ios/fail.html',0,'std::istrstream::fail()'],['http://en.cppreference.com/w/cpp/io/basic_ios/fail.html',0,'std::basic_ostream::fail()'],['http://en.cppreference.com/w/cpp/io/basic_ios/fail.html',0,'std::wiostream::fail()'],['http://en.cppreference.com/w/cpp/io/basic_ios/fail.html',0,'std::ofstream::fail()'],['http://en.cppreference.com/w/cpp/io/basic_ios/fail.html',0,'std::basic_istringstream::fail()'],['http://en.cppreference.com/w/cpp/io/basic_ios/fail.html',0,'std::basic_ifstream::fail()'],['http://en.cppreference.com/w/cpp/io/basic_ios/fail.html',0,'std::istringstream::fail()'],['http://en.cppreference.com/w/cpp/io/basic_ios/fail.html',0,'std::istream::fail()'],['http://en.cppreference.com/w/cpp/io/basic_ios/fail.html',0,'std::ostrstream::fail()'],['http://en.cppreference.com/w/cpp/io/basic_ios/fail.html',0,'std::wfstream::fail()'],['http://en.cppreference.com/w/cpp/io/basic_ios/fail.html',0,'std::basic_iostream::fail()'],['http://en.cppreference.com/w/cpp/io/basic_ios/fail.html',0,'std::wofstream::fail()'],['http://en.cppreference.com/w/cpp/io/basic_ios/fail.html',0,'std::wstringstream::fail()'],['http://en.cppreference.com/w/cpp/io/basic_ios/fail.html',0,'std::wistringstream::fail()'],['http://en.cppreference.com/w/cpp/io/basic_ios/fail.html',0,'std::ifstream::fail()']]], - ['failure_6',['failure',['http://en.cppreference.com/w/cpp/io/ios_base/failure.html',0,'std::basic_ofstream::failure::failure()'],['http://en.cppreference.com/w/cpp/io/ios_base/failure.html',0,'std::fstream::failure::failure()'],['http://en.cppreference.com/w/cpp/io/ios_base/failure.html',0,'std::wostream::failure::failure()'],['http://en.cppreference.com/w/cpp/io/ios_base/failure.html',0,'std::basic_ostringstream::failure::failure()'],['http://en.cppreference.com/w/cpp/io/ios_base/failure.html',0,'std::basic_ios::failure::failure()'],['http://en.cppreference.com/w/cpp/io/ios_base/failure.html',0,'std::ostringstream::failure::failure()'],['http://en.cppreference.com/w/cpp/io/ios_base/failure.html',0,'std::basic_fstream::failure::failure()'],['http://en.cppreference.com/w/cpp/io/ios_base/failure.html',0,'std::iostream::failure::failure()'],['http://en.cppreference.com/w/cpp/io/ios_base/failure.html',0,'std::ios_base::failure::failure()'],['http://en.cppreference.com/w/cpp/io/ios_base/failure.html',0,'std::wistream::failure::failure()'],['http://en.cppreference.com/w/cpp/io/ios_base/failure.html',0,'std::stringstream::failure::failure()'],['http://en.cppreference.com/w/cpp/io/ios_base/failure.html',0,'std::ostream::failure::failure()'],['http://en.cppreference.com/w/cpp/io/ios_base/failure.html',0,'std::wifstream::failure::failure()'],['http://en.cppreference.com/w/cpp/io/ios_base/failure.html',0,'std::basic_istream::failure::failure()'],['http://en.cppreference.com/w/cpp/io/ios_base/failure.html',0,'std::strstream::failure::failure()'],['http://en.cppreference.com/w/cpp/io/ios_base/failure.html',0,'std::basic_stringstream::failure::failure()'],['http://en.cppreference.com/w/cpp/io/ios_base/failure.html',0,'std::wostringstream::failure::failure()'],['http://en.cppreference.com/w/cpp/io/ios_base/failure.html',0,'std::istrstream::failure::failure()'],['http://en.cppreference.com/w/cpp/io/ios_base/failure.html',0,'std::basic_ostream::failure::failure()'],['http://en.cppreference.com/w/cpp/io/ios_base/failure.html',0,'std::wiostream::failure::failure()'],['http://en.cppreference.com/w/cpp/io/ios_base/failure.html',0,'std::ofstream::failure::failure()'],['http://en.cppreference.com/w/cpp/io/ios_base/failure.html',0,'std::basic_istringstream::failure::failure()'],['http://en.cppreference.com/w/cpp/io/ios_base/failure.html',0,'std::basic_ifstream::failure::failure()'],['http://en.cppreference.com/w/cpp/io/ios_base/failure.html',0,'std::istringstream::failure::failure()'],['http://en.cppreference.com/w/cpp/io/ios_base/failure.html',0,'std::istream::failure::failure()'],['http://en.cppreference.com/w/cpp/io/ios_base/failure.html',0,'std::ostrstream::failure::failure()'],['http://en.cppreference.com/w/cpp/io/ios_base/failure.html',0,'std::wfstream::failure::failure()'],['http://en.cppreference.com/w/cpp/io/ios_base/failure.html',0,'std::basic_iostream::failure::failure()'],['http://en.cppreference.com/w/cpp/io/ios_base/failure.html',0,'std::wofstream::failure::failure()'],['http://en.cppreference.com/w/cpp/io/ios_base/failure.html',0,'std::wstringstream::failure::failure()'],['http://en.cppreference.com/w/cpp/io/ios_base/failure.html',0,'std::wistringstream::failure::failure()'],['http://en.cppreference.com/w/cpp/io/ios_base/failure.html',0,'std::ifstream::failure::failure()']]], - ['falsename_7',['falsename',['http://en.cppreference.com/w/cpp/locale/numpunct/truefalsename.html',0,'std::numpunct_byname::falsename()'],['http://en.cppreference.com/w/cpp/locale/numpunct/truefalsename.html',0,'std::numpunct::falsename()']]], - ['fast_5finvsqrt_8',['Fast_InvSqrt',['../d6/db8/inv__sqrt_8cpp.html#ad219034bf5fba657f5035ec5a1d50f52',1,'inv_sqrt.cpp']]], - ['fast_5fpower_5flinear_9',['fast_power_linear',['../d2/d0b/fast__power_8cpp.html#a0d4e3f0099a6975b74a314a35bd0f94d',1,'fast_power.cpp']]], - ['fast_5fpower_5frecursive_10',['fast_power_recursive',['../d2/d0b/fast__power_8cpp.html#a8399b847626e5bba983cab7c7918b445',1,'fast_power.cpp']]], - ['fastfouriertransform_11',['FastFourierTransform',['../d1/de0/namespacenumerical__methods.html#a158fd271b9a53e8f3f60b08b18857150',1,'numerical_methods']]], - ['fastinput_12',['fastinput',['../d9/df0/fast__integer__input_8cpp.html#a4e097ac8509b717bdc8ab09ecd86ae82',1,'fast_integer_input.cpp']]], - ['fclose_13',['fclose',['http://en.cppreference.com/w/cpp/io/c/fclose.html',0,'std']]], - ['fdim_14',['fdim',['http://en.cppreference.com/w/cpp/numeric/math/fdim.html',0,'std']]], - ['feclearexcept_15',['feclearexcept',['http://en.cppreference.com/w/cpp/numeric/fenv/feclearexcept.html',0,'std']]], - ['fegetenv_16',['fegetenv',['http://en.cppreference.com/w/cpp/numeric/fenv/feenv.html',0,'std']]], - ['fegetexceptflag_17',['fegetexceptflag',['http://en.cppreference.com/w/cpp/numeric/fenv/feexceptflag.html',0,'std']]], - ['fegetround_18',['fegetround',['http://en.cppreference.com/w/cpp/numeric/fenv/feround.html',0,'std']]], - ['feholdexcept_19',['feholdexcept',['http://en.cppreference.com/w/cpp/numeric/fenv/feholdexcept.html',0,'std']]], - ['fenwick_5ftree_20',['fenwick_tree',['../de/d0d/classrange__queries_1_1fenwick__tree.html#a5ea37183524553bbf2234a36a44a4b9a',1,'range_queries::fenwick_tree::fenwick_tree(const std::vector< T > &arr)'],['../de/d0d/classrange__queries_1_1fenwick__tree.html#aef7ba885b91af093e9e514358fa0f36c',1,'range_queries::fenwick_tree::fenwick_tree(T x)']]], - ['feof_21',['feof',['http://en.cppreference.com/w/cpp/io/c/feof.html',0,'std']]], - ['feraiseexcept_22',['feraiseexcept',['http://en.cppreference.com/w/cpp/numeric/fenv/feraiseexcept.html',0,'std']]], - ['ferror_23',['ferror',['http://en.cppreference.com/w/cpp/io/c/ferror.html',0,'std']]], - ['fesetenv_24',['fesetenv',['http://en.cppreference.com/w/cpp/numeric/fenv/feenv.html',0,'std']]], - ['fesetexceptflag_25',['fesetexceptflag',['http://en.cppreference.com/w/cpp/numeric/fenv/feexceptflag.html',0,'std']]], - ['fesetround_26',['fesetround',['http://en.cppreference.com/w/cpp/numeric/fenv/feround.html',0,'std']]], - ['fetch_5fadd_27',['fetch_add',['http://en.cppreference.com/w/cpp/atomic/atomic/fetch_add.html',0,'std::atomic']]], - ['fetch_5fand_28',['fetch_and',['http://en.cppreference.com/w/cpp/atomic/atomic/fetch_and.html',0,'std::atomic']]], - ['fetch_5for_29',['fetch_or',['http://en.cppreference.com/w/cpp/atomic/atomic/fetch_or.html',0,'std::atomic']]], - ['fetch_5fsub_30',['fetch_sub',['http://en.cppreference.com/w/cpp/atomic/atomic/fetch_sub.html',0,'std::atomic']]], - ['fetch_5fxor_31',['fetch_xor',['http://en.cppreference.com/w/cpp/atomic/atomic/fetch_xor.html',0,'std::atomic']]], - ['fetestexcept_32',['fetestexcept',['http://en.cppreference.com/w/cpp/numeric/fenv/fetestexcept.html',0,'std']]], - ['feupdateenv_33',['feupdateenv',['http://en.cppreference.com/w/cpp/numeric/fenv/feupdateenv.html',0,'std']]], - ['fflush_34',['fflush',['http://en.cppreference.com/w/cpp/io/c/fflush.html',0,'std']]], - ['fgetc_35',['fgetc',['http://en.cppreference.com/w/cpp/io/c/fgetc.html',0,'std']]], - ['fgetpos_36',['fgetpos',['http://en.cppreference.com/w/cpp/io/c/fgetpos.html',0,'std']]], - ['fgets_37',['fgets',['http://en.cppreference.com/w/cpp/io/c/fgets.html',0,'std']]], - ['fgetwc_38',['fgetwc',['http://en.cppreference.com/w/cpp/io/c/fgetwc.html',0,'std']]], - ['fgetws_39',['fgetws',['http://en.cppreference.com/w/cpp/io/c/fgetws.html',0,'std']]], - ['fib_40',['fib',['../d4/d32/fibonacci__fast_8cpp.html#a5712edca101204eca8accdb1e096707f',1,'fib(uint64_t n): fibonacci_fast.cpp'],['../de/de4/fibonacci__large_8cpp.html#adf3e906875ab257f7fab3bc1370aa2db',1,'fib(uint64_t n): fibonacci_large.cpp']]], - ['fib_5faccurate_41',['fib_Accurate',['../de/d47/string__fibonacci_8cpp.html#ad8055ee368a5d5b24de01bdde6bf8fca',1,'string_fibonacci.cpp']]], - ['fibo_42',['fibo',['../da/dc9/fibonacci__matrix__exponentiation_8cpp.html#abc3bc08249058d57cfc8f54a29d9cf9f',1,'fibonacci_matrix_exponentiation.cpp']]], - ['fibonacci_43',['fibonacci',['../d9/d89/fibonacci_8cpp.html#aeaaf5439cb29de4630c7dff2fd914b28',1,'math::fibonacci']]], - ['fibonacci_5fsearch_44',['fibonacci_search',['../de/d0d/fibonacci__search_8cpp.html#a0bc61b3903d9a53061bf31e5d110fe61',1,'fibonacci_search.cpp']]], - ['fibosum_45',['fiboSum',['../de/dc3/fibonacci__sum_8cpp.html#a493fbaa7a94e3b7ca573111237bb3742',1,'math::fibonacci_sum']]], - ['filebuf_46',['filebuf',['http://en.cppreference.com/w/cpp/io/basic_filebuf/basic_filebuf.html',0,'std::filebuf']]], - ['fill_47',['fill',['http://en.cppreference.com/w/cpp/io/basic_ios/fill.html',0,'std::basic_ofstream::fill()'],['http://en.cppreference.com/w/cpp/io/basic_ios/fill.html',0,'std::fstream::fill()'],['http://en.cppreference.com/w/cpp/container/dynarray/fill.html',0,'std::dynarray::fill()'],['http://en.cppreference.com/w/cpp/io/basic_ios/fill.html',0,'std::wostream::fill()'],['http://en.cppreference.com/w/cpp/io/basic_ios/fill.html',0,'std::basic_ostringstream::fill()'],['http://en.cppreference.com/w/cpp/io/basic_ios/fill.html',0,'std::basic_ios::fill()'],['http://en.cppreference.com/w/cpp/io/basic_ios/fill.html',0,'std::ostringstream::fill()'],['http://en.cppreference.com/w/cpp/io/basic_ios/fill.html',0,'std::basic_fstream::fill()'],['http://en.cppreference.com/w/cpp/io/basic_ios/fill.html',0,'std::iostream::fill()'],['http://en.cppreference.com/w/cpp/io/basic_ios/fill.html',0,'std::wistream::fill()'],['http://en.cppreference.com/w/cpp/io/basic_ios/fill.html',0,'std::stringstream::fill()'],['http://en.cppreference.com/w/cpp/io/basic_ios/fill.html',0,'std::ostream::fill()'],['http://en.cppreference.com/w/cpp/io/basic_ios/fill.html',0,'std::wifstream::fill()'],['http://en.cppreference.com/w/cpp/io/basic_ios/fill.html',0,'std::basic_istream::fill()'],['http://en.cppreference.com/w/cpp/io/basic_ios/fill.html',0,'std::strstream::fill()'],['http://en.cppreference.com/w/cpp/io/basic_ios/fill.html',0,'std::basic_stringstream::fill()'],['http://en.cppreference.com/w/cpp/io/basic_ios/fill.html',0,'std::wostringstream::fill()'],['http://en.cppreference.com/w/cpp/io/basic_ios/fill.html',0,'std::istrstream::fill()'],['http://en.cppreference.com/w/cpp/io/basic_ios/fill.html',0,'std::basic_ostream::fill()'],['http://en.cppreference.com/w/cpp/io/basic_ios/fill.html',0,'std::wiostream::fill()'],['http://en.cppreference.com/w/cpp/io/basic_ios/fill.html',0,'std::ofstream::fill()'],['http://en.cppreference.com/w/cpp/io/basic_ios/fill.html',0,'std::basic_istringstream::fill()'],['http://en.cppreference.com/w/cpp/io/basic_ios/fill.html',0,'std::basic_ifstream::fill()'],['http://en.cppreference.com/w/cpp/io/basic_ios/fill.html',0,'std::istringstream::fill()'],['http://en.cppreference.com/w/cpp/io/basic_ios/fill.html',0,'std::istream::fill()'],['http://en.cppreference.com/w/cpp/io/basic_ios/fill.html',0,'std::ostrstream::fill()'],['http://en.cppreference.com/w/cpp/io/basic_ios/fill.html',0,'std::wfstream::fill()'],['http://en.cppreference.com/w/cpp/io/basic_ios/fill.html',0,'std::basic_iostream::fill()'],['http://en.cppreference.com/w/cpp/io/basic_ios/fill.html',0,'std::wofstream::fill()'],['http://en.cppreference.com/w/cpp/io/basic_ios/fill.html',0,'std::wstringstream::fill()'],['http://en.cppreference.com/w/cpp/io/basic_ios/fill.html',0,'std::wistringstream::fill()'],['http://en.cppreference.com/w/cpp/io/basic_ios/fill.html',0,'std::ifstream::fill()'],['http://en.cppreference.com/w/cpp/container/array/fill.html',0,'std::array::fill()'],['http://en.cppreference.com/w/cpp/algorithm/fill.html',0,'std::fill()'],['../de/d85/decimal__to__roman__numeral_8cpp.html#a88203bd297e8405160c132faa1187780',1,'fill(): decimal_to_roman_numeral.cpp']]], - ['fill_5fn_48',['fill_n',['http://en.cppreference.com/w/cpp/algorithm/fill_n.html',0,'std']]], - ['find_49',['Find',['../de/d23/disjoint__set_8cpp.html#a34b9ead0608e676d9ae5188672427cc8',1,'disjoint_set.cpp']]], - ['find_50',['find',['http://en.cppreference.com/w/cpp/string/char_traits/find.html',0,'std::char_traits::find()'],['http://en.cppreference.com/w/cpp/container/multiset/find.html',0,'std::multiset::find()'],['http://en.cppreference.com/w/cpp/string/basic_string/find.html',0,'std::string::find()'],['http://en.cppreference.com/w/cpp/container/set/find.html',0,'std::set::find()'],['http://en.cppreference.com/w/cpp/container/unordered_map/find.html',0,'std::unordered_map::find()'],['http://en.cppreference.com/w/cpp/container/unordered_multimap/find.html',0,'std::unordered_multimap::find()'],['http://en.cppreference.com/w/cpp/string/basic_string/find.html',0,'std::basic_string::find()'],['http://en.cppreference.com/w/cpp/string/basic_string/find.html',0,'std::wstring::find()'],['http://en.cppreference.com/w/cpp/container/unordered_multiset/find.html',0,'std::unordered_multiset::find()'],['http://en.cppreference.com/w/cpp/string/basic_string/find.html',0,'std::u16string::find()'],['http://en.cppreference.com/w/cpp/string/basic_string/find.html',0,'std::u32string::find()'],['http://en.cppreference.com/w/cpp/container/map/find.html',0,'std::map::find()'],['http://en.cppreference.com/w/cpp/container/unordered_set/find.html',0,'std::unordered_set::find()'],['http://en.cppreference.com/w/cpp/container/multimap/find.html',0,'std::multimap::find()'],['../dd/d1c/classhash__chain.html#a55aa5c6753cb8853152d469c375d946a',1,'hash_chain::find()'],['http://en.cppreference.com/w/cpp/algorithm/find.html',0,'std::find()'],['../d4/dd2/namespacequadratic__probing.html#a5ceee4128d92ca4412040b7104d1299d',1,'quadratic_probing::find()']]], - ['find_5fend_51',['find_end',['http://en.cppreference.com/w/cpp/algorithm/find_end.html',0,'std']]], - ['find_5ffirst_5fnot_5fof_52',['find_first_not_of',['http://en.cppreference.com/w/cpp/string/basic_string/find_first_not_of.html',0,'std::string::find_first_not_of()'],['http://en.cppreference.com/w/cpp/string/basic_string/find_first_not_of.html',0,'std::basic_string::find_first_not_of()'],['http://en.cppreference.com/w/cpp/string/basic_string/find_first_not_of.html',0,'std::wstring::find_first_not_of()'],['http://en.cppreference.com/w/cpp/string/basic_string/find_first_not_of.html',0,'std::u16string::find_first_not_of()'],['http://en.cppreference.com/w/cpp/string/basic_string/find_first_not_of.html',0,'std::u32string::find_first_not_of()']]], - ['find_5ffirst_5fof_53',['find_first_of',['http://en.cppreference.com/w/cpp/string/basic_string/find_first_of.html',0,'std::string::find_first_of()'],['http://en.cppreference.com/w/cpp/string/basic_string/find_first_of.html',0,'std::basic_string::find_first_of()'],['http://en.cppreference.com/w/cpp/string/basic_string/find_first_of.html',0,'std::wstring::find_first_of()'],['http://en.cppreference.com/w/cpp/string/basic_string/find_first_of.html',0,'std::u16string::find_first_of()'],['http://en.cppreference.com/w/cpp/string/basic_string/find_first_of.html',0,'std::u32string::find_first_of()'],['http://en.cppreference.com/w/cpp/algorithm/find_first_of.html',0,'std::find_first_of(T... args)']]], - ['find_5fif_54',['find_if',['http://en.cppreference.com/w/cpp/algorithm/find.html',0,'std']]], - ['find_5fif_5fnot_55',['find_if_not',['http://en.cppreference.com/w/cpp/algorithm/find.html',0,'std']]], - ['find_5flast_5fnot_5fof_56',['find_last_not_of',['http://en.cppreference.com/w/cpp/string/basic_string/find_last_not_of.html',0,'std::string::find_last_not_of()'],['http://en.cppreference.com/w/cpp/string/basic_string/find_last_not_of.html',0,'std::basic_string::find_last_not_of()'],['http://en.cppreference.com/w/cpp/string/basic_string/find_last_not_of.html',0,'std::wstring::find_last_not_of()'],['http://en.cppreference.com/w/cpp/string/basic_string/find_last_not_of.html',0,'std::u16string::find_last_not_of()'],['http://en.cppreference.com/w/cpp/string/basic_string/find_last_not_of.html',0,'std::u32string::find_last_not_of()']]], - ['find_5flast_5fof_57',['find_last_of',['http://en.cppreference.com/w/cpp/string/basic_string/find_last_of.html',0,'std::string::find_last_of()'],['http://en.cppreference.com/w/cpp/string/basic_string/find_last_of.html',0,'std::basic_string::find_last_of()'],['http://en.cppreference.com/w/cpp/string/basic_string/find_last_of.html',0,'std::wstring::find_last_of()'],['http://en.cppreference.com/w/cpp/string/basic_string/find_last_of.html',0,'std::u16string::find_last_of()'],['http://en.cppreference.com/w/cpp/string/basic_string/find_last_of.html',0,'std::u32string::find_last_of()']]], - ['find_5fmax_58',['find_max',['../d9/dde/classbinary__search__tree.html#a75f897af6aa732a9901454401c869bcb',1,'binary_search_tree::find_max(std::unique_ptr< bst_node > &node, T &ret_value)'],['../d9/dde/classbinary__search__tree.html#a42b16f26928b5e994925100594a167a0',1,'binary_search_tree::find_max(T &ret_value)']]], - ['find_5fmin_59',['find_min',['../d9/dde/classbinary__search__tree.html#af9a2c7c187a7ca3142c77ce342ef3153',1,'binary_search_tree::find_min(std::unique_ptr< bst_node > &node, T &ret_value)'],['../d9/dde/classbinary__search__tree.html#ad9912e8574538e86f9bd2c38e7e63d03',1,'binary_search_tree::find_min(T &ret_value)']]], - ['find_5fnon_5frepeating_5finteger_60',['find_non_repeating_integer',['../d6/d38/find__non__repeating__number_8cpp.html#ac5ca4c0be0967b4dd572507f50451ae3',1,'bit_manipulation::find_non_repeating_integer']]], - ['find_5fpat_5fin_5ftext_61',['find_pat_in_text',['../d3/d80/z__function_8cpp.html#ac186ca3ac3a69b5e52543bb13fe46db8',1,'z_function.cpp']]], - ['find_5fset_62',['find_set',['../d8/d99/connected__components__with__dsu_8cpp.html#a469384d8a4197a9b24482ce7c321a85e',1,'graph::disjoint_union']]], - ['find_5fzero_63',['find_zero',['../dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle.html#a94f794bf44f424b1b0ca6ef9f4f6ebd3',1,'machine_learning::aystar_search::EightPuzzle']]], - ['finding_5fnumber_5fof_5fdigits_5fin_5fa_5fnumber_64',['finding_number_of_digits_in_a_number',['../d0/d46/finding__number__of__digits__in__a__number_8cpp.html#a8a3b522a675ab4cdec2d275f6f7798a1',1,'finding_number_of_digits_in_a_number.cpp']]], - ['finding_5fnumber_5fof_5fdigits_5fin_5fa_5fnumber_5fusing_5flog_65',['finding_number_of_digits_in_a_number_using_log',['../d0/d46/finding__number__of__digits__in__a__number_8cpp.html#ac0862b67cf73651707ece04673e1ae49',1,'finding_number_of_digits_in_a_number.cpp']]], - ['findminimumedge_66',['findMinimumEdge',['../d2/d90/namespacegreedy__algorithms.html#a349e4ab9a97532c3931a2bd2a19c0098',1,'greedy_algorithms']]], - ['findminindex_67',['findMinIndex',['../d4/d9f/selection__sort__recursive_8cpp.html#a5454eeb691725ccac0f59df1e133f834',1,'sorting::selection_sort_recursive']]], - ['findminnode_68',['findMinNode',['../d4/d32/inorder__successor__of__bst_8cpp.html#a72483e3f6933e004a8d86371e8a990db',1,'operations_on_datastructures::inorder_traversal_of_bst']]], - ['findnextgap_69',['FindNextGap',['../d9/dfd/comb__sort_8cpp.html#aede08143e63105faba10e9ee8e745fd5',1,'comb_sort.cpp']]], - ['findparent_70',['findParent',['../d4/d6c/boruvkas__minimum__spanning__tree_8cpp.html#a95de0f5e70e83164dbd1b4c515565e84',1,'greedy_algorithms::boruvkas_minimum_spanning_tree']]], - ['findset_71',['findSet',['../dd/d1f/classdsu.html#a16851f78fe390fc1430905c83d6a2f1c',1,'dsu::findSet(uint64_t i)'],['../dd/d1f/classdsu.html#a16851f78fe390fc1430905c83d6a2f1c',1,'dsu::findSet(uint64_t i)']]], - ['findshifttable_72',['findShiftTable',['../d3/dfe/horspool_8cpp.html#a1a9c3aa55ccc79d0f47d50c580997336',1,'strings::horspool']]], - ['first_5ftest_73',['first_test',['../d0/d46/finding__number__of__digits__in__a__number_8cpp.html#ab4c15b7f1aedd4419a65cd49562cc300',1,'finding_number_of_digits_in_a_number.cpp']]], - ['fisher_5ff_5fdistribution_74',['fisher_f_distribution',['http://en.cppreference.com/w/cpp/numeric/random/fisher_f_distribution/fisher_f_distribution.html',0,'std::fisher_f_distribution']]], - ['fit_75',['fit',['../d6/d30/classmachine__learning_1_1adaline.html#a74e3c6c037b67895014414c5d75465e5',1,'machine_learning::adaline::fit(const std::vector< double > &x, const int &y)'],['../d6/d30/classmachine__learning_1_1adaline.html#a8d61f9ed872eef26bca39388cbda6a91',1,'machine_learning::adaline::fit(std::array< std::vector< double >, N > const &X, std::array< int, N > const &Y)'],['../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#a2be1b52bb9f57486f9a436f35c9089c0',1,'machine_learning::neural_network::NeuralNetwork::fit(const std::vector< std::vector< std::valarray< double > > > &X_, const std::vector< std::vector< std::valarray< double > > > &Y_, const int &epochs=100, const double &learning_rate=0.01, const size_t &batch_size=32, const bool &shuffle=true)']]], - ['fit_5ffrom_5fcsv_76',['fit_from_csv',['../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#a5172a6791b9bd24f4232bab8d6b81fff',1,'machine_learning::neural_network::NeuralNetwork']]], - ['fit_5fols_5fregressor_77',['fit_OLS_regressor',['../dc/d38/ordinary__least__squares__regressor_8cpp.html#aaddc683af581b51351e1023d2a01ef3b',1,'ordinary_least_squares_regressor.cpp']]], - ['fixed_78',['fixed',['http://en.cppreference.com/w/cpp/io/manip/fixed.html',0,'std']]], - ['flags_79',['flags',['http://en.cppreference.com/w/cpp/io/ios_base/flags.html',0,'std::basic_ofstream::flags()'],['http://en.cppreference.com/w/cpp/io/ios_base/flags.html',0,'std::fstream::flags()'],['http://en.cppreference.com/w/cpp/io/ios_base/flags.html',0,'std::wostream::flags()'],['http://en.cppreference.com/w/cpp/io/ios_base/flags.html',0,'std::basic_ostringstream::flags()'],['http://en.cppreference.com/w/cpp/regex/basic_regex/flags.html',0,'std::regex::flags()'],['http://en.cppreference.com/w/cpp/regex/basic_regex/flags.html',0,'std::basic_regex::flags()'],['http://en.cppreference.com/w/cpp/io/ios_base/flags.html',0,'std::basic_ios::flags()'],['http://en.cppreference.com/w/cpp/io/ios_base/flags.html',0,'std::ostringstream::flags()'],['http://en.cppreference.com/w/cpp/io/ios_base/flags.html',0,'std::basic_fstream::flags()'],['http://en.cppreference.com/w/cpp/regex/basic_regex/flags.html',0,'std::wregex::flags()'],['http://en.cppreference.com/w/cpp/io/ios_base/flags.html',0,'std::iostream::flags()'],['http://en.cppreference.com/w/cpp/io/ios_base/flags.html',0,'std::ios_base::flags()'],['http://en.cppreference.com/w/cpp/io/ios_base/flags.html',0,'std::wistream::flags()'],['http://en.cppreference.com/w/cpp/io/ios_base/flags.html',0,'std::stringstream::flags()'],['http://en.cppreference.com/w/cpp/io/ios_base/flags.html',0,'std::ostream::flags()'],['http://en.cppreference.com/w/cpp/io/ios_base/flags.html',0,'std::wifstream::flags()'],['http://en.cppreference.com/w/cpp/io/ios_base/flags.html',0,'std::basic_istream::flags()'],['http://en.cppreference.com/w/cpp/io/ios_base/flags.html',0,'std::strstream::flags()'],['http://en.cppreference.com/w/cpp/io/ios_base/flags.html',0,'std::basic_stringstream::flags()'],['http://en.cppreference.com/w/cpp/io/ios_base/flags.html',0,'std::wostringstream::flags()'],['http://en.cppreference.com/w/cpp/io/ios_base/flags.html',0,'std::istrstream::flags()'],['http://en.cppreference.com/w/cpp/io/ios_base/flags.html',0,'std::basic_ostream::flags()'],['http://en.cppreference.com/w/cpp/io/ios_base/flags.html',0,'std::wiostream::flags()'],['http://en.cppreference.com/w/cpp/io/ios_base/flags.html',0,'std::ofstream::flags()'],['http://en.cppreference.com/w/cpp/io/ios_base/flags.html',0,'std::basic_istringstream::flags()'],['http://en.cppreference.com/w/cpp/io/ios_base/flags.html',0,'std::basic_ifstream::flags()'],['http://en.cppreference.com/w/cpp/io/ios_base/flags.html',0,'std::istringstream::flags()'],['http://en.cppreference.com/w/cpp/io/ios_base/flags.html',0,'std::istream::flags()'],['http://en.cppreference.com/w/cpp/io/ios_base/flags.html',0,'std::ostrstream::flags()'],['http://en.cppreference.com/w/cpp/io/ios_base/flags.html',0,'std::wfstream::flags()'],['http://en.cppreference.com/w/cpp/io/ios_base/flags.html',0,'std::basic_iostream::flags()'],['http://en.cppreference.com/w/cpp/io/ios_base/flags.html',0,'std::wofstream::flags()'],['http://en.cppreference.com/w/cpp/io/ios_base/flags.html',0,'std::wstringstream::flags()'],['http://en.cppreference.com/w/cpp/io/ios_base/flags.html',0,'std::wistringstream::flags()'],['http://en.cppreference.com/w/cpp/io/ios_base/flags.html',0,'std::ifstream::flags()']]], - ['flip_80',['flip',['http://en.cppreference.com/w/cpp/utility/bitset/flip.html',0,'std::bitset']]], - ['floor_81',['floor',['http://en.cppreference.com/w/cpp/numeric/math/floor.html',0,'std']]], - ['flush_82',['flush',['http://en.cppreference.com/w/cpp/io/basic_ostream/flush.html',0,'std::basic_ofstream::flush()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/flush.html',0,'std::fstream::flush()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/flush.html',0,'std::wostream::flush()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/flush.html',0,'std::basic_ostringstream::flush()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/flush.html',0,'std::ostringstream::flush()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/flush.html',0,'std::basic_fstream::flush()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/flush.html',0,'std::iostream::flush()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/flush.html',0,'std::stringstream::flush()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/flush.html',0,'std::ostream::flush()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/flush.html',0,'std::strstream::flush()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/flush.html',0,'std::basic_stringstream::flush()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/flush.html',0,'std::wostringstream::flush()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/flush.html',0,'std::basic_ostream::flush()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/flush.html',0,'std::wiostream::flush()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/flush.html',0,'std::ofstream::flush()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/flush.html',0,'std::ostrstream::flush()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/flush.html',0,'std::wfstream::flush()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/flush.html',0,'std::basic_iostream::flush()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/flush.html',0,'std::wofstream::flush()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/flush.html',0,'std::wstringstream::flush()'],['http://en.cppreference.com/w/cpp/io/manip/flush.html',0,'std::flush(T... args)']]], - ['fma_83',['fma',['http://en.cppreference.com/w/cpp/numeric/math/fma.html',0,'std']]], - ['fmax_84',['fmax',['http://en.cppreference.com/w/cpp/numeric/math/fmax.html',0,'std']]], - ['fmin_85',['fmin',['http://en.cppreference.com/w/cpp/numeric/math/fmin.html',0,'std']]], - ['fmod_86',['fmod',['http://en.cppreference.com/w/cpp/numeric/math/fmod.html',0,'std']]], - ['fopen_87',['fopen',['http://en.cppreference.com/w/cpp/io/c/fopen.html',0,'std']]], - ['for_5feach_88',['for_each',['http://en.cppreference.com/w/cpp/algorithm/for_each.html',0,'std']]], - ['format_89',['format',['http://en.cppreference.com/w/cpp/regex/match_results/format.html',0,'std::match_results::format()'],['http://en.cppreference.com/w/cpp/regex/match_results/format.html',0,'std::wsmatch::format()'],['http://en.cppreference.com/w/cpp/regex/match_results/format.html',0,'std::smatch::format()'],['http://en.cppreference.com/w/cpp/regex/match_results/format.html',0,'std::wcmatch::format()'],['http://en.cppreference.com/w/cpp/regex/match_results/format.html',0,'std::cmatch::format()']]], - ['forward_90',['forward',['http://en.cppreference.com/w/cpp/utility/forward.html',0,'std']]], - ['forward_5fas_5ftuple_91',['forward_as_tuple',['http://en.cppreference.com/w/cpp/utility/tuple/forward_as_tuple.html',0,'std']]], - ['forward_5feuler_92',['forward_euler',['../d6/d60/group__ode.html#gae0509f8843e2bc42de2abbd00a14b7b9',1,'ode_forward_euler.cpp']]], - ['forward_5feuler_5fstep_93',['forward_euler_step',['../d6/d60/group__ode.html#ga195d23bbdfcb80e83c9cda45c9ad5723',1,'ode_forward_euler.cpp']]], - ['forward_5flist_94',['forward_list',['http://en.cppreference.com/w/cpp/container/forward_list/forward_list.html',0,'std::forward_list']]], - ['fpclassify_95',['fpclassify',['http://en.cppreference.com/w/cpp/numeric/math/fpclassify.html',0,'std']]], - ['fprintf_96',['fprintf',['http://en.cppreference.com/w/cpp/io/c/fprintf.html',0,'std']]], - ['fputc_97',['fputc',['http://en.cppreference.com/w/cpp/io/c/fputc.html',0,'std']]], - ['fputs_98',['fputs',['http://en.cppreference.com/w/cpp/io/c/fputs.html',0,'std']]], - ['fputwc_99',['fputwc',['http://en.cppreference.com/w/cpp/io/c/fputwc.html',0,'std']]], - ['fputws_100',['fputws',['http://en.cppreference.com/w/cpp/io/c/fputws.html',0,'std']]], - ['frac_5fdigits_101',['frac_digits',['http://en.cppreference.com/w/cpp/locale/moneypunct/frac_digits.html',0,'std::moneypunct_byname::frac_digits()'],['http://en.cppreference.com/w/cpp/locale/moneypunct/frac_digits.html',0,'std::moneypunct::frac_digits()']]], - ['fread_102',['fread',['http://en.cppreference.com/w/cpp/io/c/fread.html',0,'std']]], - ['free_103',['free',['http://en.cppreference.com/w/cpp/memory/c/free.html',0,'std']]], - ['freenode_104',['freeNode',['../d3/dce/linkedlist__implentation__usingarray_8cpp.html#a08ba214242a900e7251cec556b592f02',1,'linkedlist_implentation_usingarray.cpp']]], - ['freeze_105',['freeze',['http://en.cppreference.com/w/cpp/io/strstreambuf/freeze.html',0,'std::strstreambuf::freeze()'],['http://en.cppreference.com/w/cpp/io/strstream/freeze.html',0,'std::strstream::freeze()'],['http://en.cppreference.com/w/cpp/io/ostrstream/freeze.html',0,'std::ostrstream::freeze()']]], - ['freopen_106',['freopen',['http://en.cppreference.com/w/cpp/io/c/freopen.html',0,'std']]], - ['frexp_107',['frexp',['http://en.cppreference.com/w/cpp/numeric/math/frexp.html',0,'std']]], - ['from_5fbytes_108',['from_bytes',['http://en.cppreference.com/w/cpp/locale/wstring_convert/from_bytes.html',0,'std::wstring_convert']]], - ['from_5ftime_5ft_109',['from_time_t',['http://en.cppreference.com/w/cpp/chrono/system_clock/from_time_t.html',0,'std::chrono::system_clock']]], - ['front_110',['front',['http://en.cppreference.com/w/cpp/container/dynarray/front.html',0,'std::dynarray::front()'],['http://en.cppreference.com/w/cpp/container/vector/front.html',0,'std::vector::front()'],['http://en.cppreference.com/w/cpp/string/basic_string/front.html',0,'std::string::front()'],['http://en.cppreference.com/w/cpp/container/forward_list/front.html',0,'std::forward_list::front()'],['http://en.cppreference.com/w/cpp/container/deque/front.html',0,'std::deque::front()'],['http://en.cppreference.com/w/cpp/container/queue/front.html',0,'std::queue::front()'],['http://en.cppreference.com/w/cpp/string/basic_string/front.html',0,'std::basic_string::front()'],['http://en.cppreference.com/w/cpp/string/basic_string/front.html',0,'std::wstring::front()'],['http://en.cppreference.com/w/cpp/string/basic_string/front.html',0,'std::u16string::front()'],['http://en.cppreference.com/w/cpp/string/basic_string/front.html',0,'std::u32string::front()'],['http://en.cppreference.com/w/cpp/container/list/front.html',0,'std::list::front()'],['http://en.cppreference.com/w/cpp/container/array/front.html',0,'std::array::front()'],['../db/da9/classqueue.html#a75e231798bc706b8b0773a07f78713e7',1,'queue::front()']]], - ['front_5finserter_111',['front_inserter',['http://en.cppreference.com/w/cpp/iterator/front_inserter.html',0,'std']]], - ['fscanf_112',['fscanf',['http://en.cppreference.com/w/cpp/io/c/fscanf.html',0,'std']]], - ['fseek_113',['fseek',['http://en.cppreference.com/w/cpp/io/c/fseek.html',0,'std']]], - ['fsetpos_114',['fsetpos',['http://en.cppreference.com/w/cpp/io/c/fsetpos.html',0,'std']]], - ['fstream_115',['fstream',['http://en.cppreference.com/w/cpp/io/basic_fstream/basic_fstream.html',0,'std::fstream']]], - ['ftell_116',['ftell',['http://en.cppreference.com/w/cpp/io/c/ftell.html',0,'std']]], - ['full_117',['full',['../d2/dc8/classdata__structures_1_1_stack.html#aa753346c8ee5f21d4f4482398fe6d5c1',1,'data_structures::Stack']]], - ['function_118',['function',['http://en.cppreference.com/w/cpp/utility/functional/function/function.html',0,'std::function']]], - ['future_119',['future',['http://en.cppreference.com/w/cpp/thread/future/future.html',0,'std::future']]], - ['future_5fcategory_120',['future_category',['http://en.cppreference.com/w/cpp/thread/future/future_category.html',0,'std']]], - ['future_5ferror_121',['future_error',['http://en.cppreference.com/w/cpp/thread/future_error/future_error.html',0,'std::future_error']]], - ['fwprintf_122',['fwprintf',['http://en.cppreference.com/w/cpp/io/c/fwprintf.html',0,'std']]], - ['fwrite_123',['fwrite',['http://en.cppreference.com/w/cpp/io/c/fwrite.html',0,'std']]], - ['fwscanf_124',['fwscanf',['http://en.cppreference.com/w/cpp/io/c/fwscanf.html',0,'std']]] + ['fact_1',['fact',['../d9/d24/poisson__dist_8cpp.html#a63ffd347e75d5ed7a518cbcfbfeec71a',1,'poisson_dist.cpp']]], + ['factorial_2',['factorial',['../dd/d47/namespacemath.html#a7e78996673df791014cfe540b183456a',1,'math']]], + ['fast_5finvsqrt_3',['Fast_InvSqrt',['../d6/db8/inv__sqrt_8cpp.html#ad219034bf5fba657f5035ec5a1d50f52',1,'inv_sqrt.cpp']]], + ['fast_5fpower_5flinear_4',['fast_power_linear',['../d2/d0b/fast__power_8cpp.html#a0d4e3f0099a6975b74a314a35bd0f94d',1,'fast_power.cpp']]], + ['fast_5fpower_5frecursive_5',['fast_power_recursive',['../d2/d0b/fast__power_8cpp.html#a8399b847626e5bba983cab7c7918b445',1,'fast_power.cpp']]], + ['fastfouriertransform_6',['FastFourierTransform',['../d1/de0/namespacenumerical__methods.html#a158fd271b9a53e8f3f60b08b18857150',1,'numerical_methods']]], + ['fastinput_7',['fastinput',['../d9/df0/fast__integer__input_8cpp.html#a4e097ac8509b717bdc8ab09ecd86ae82',1,'fast_integer_input.cpp']]], + ['fenwick_5ftree_8',['fenwick_tree',['../de/d0d/classrange__queries_1_1fenwick__tree.html#a5ea37183524553bbf2234a36a44a4b9a',1,'range_queries::fenwick_tree::fenwick_tree(const std::vector< T > &arr)'],['../de/d0d/classrange__queries_1_1fenwick__tree.html#aef7ba885b91af093e9e514358fa0f36c',1,'range_queries::fenwick_tree::fenwick_tree(T x)']]], + ['fib_9',['fib',['../d4/d32/fibonacci__fast_8cpp.html#a5712edca101204eca8accdb1e096707f',1,'fib(uint64_t n): fibonacci_fast.cpp'],['../de/de4/fibonacci__large_8cpp.html#adf3e906875ab257f7fab3bc1370aa2db',1,'fib(uint64_t n): fibonacci_large.cpp']]], + ['fib_5faccurate_10',['fib_Accurate',['../de/d47/string__fibonacci_8cpp.html#ad8055ee368a5d5b24de01bdde6bf8fca',1,'string_fibonacci.cpp']]], + ['fibo_11',['fibo',['../da/dc9/fibonacci__matrix__exponentiation_8cpp.html#abc3bc08249058d57cfc8f54a29d9cf9f',1,'fibonacci_matrix_exponentiation.cpp']]], + ['fibonacci_12',['fibonacci',['../d9/d89/fibonacci_8cpp.html#aeaaf5439cb29de4630c7dff2fd914b28',1,'math::fibonacci']]], + ['fibonacci_5fsearch_13',['fibonacci_search',['../de/d0d/fibonacci__search_8cpp.html#a0bc61b3903d9a53061bf31e5d110fe61',1,'fibonacci_search.cpp']]], + ['fibosum_14',['fiboSum',['../de/dc3/fibonacci__sum_8cpp.html#a493fbaa7a94e3b7ca573111237bb3742',1,'math::fibonacci_sum']]], + ['fill_15',['fill',['../de/d85/decimal__to__roman__numeral_8cpp.html#a88203bd297e8405160c132faa1187780',1,'decimal_to_roman_numeral.cpp']]], + ['find_16',['Find',['../de/d23/disjoint__set_8cpp.html#a34b9ead0608e676d9ae5188672427cc8',1,'disjoint_set.cpp']]], + ['find_17',['find',['../dd/d1c/classhash__chain.html#a55aa5c6753cb8853152d469c375d946a',1,'hash_chain::find()'],['../d4/dd2/namespacequadratic__probing.html#a5ceee4128d92ca4412040b7104d1299d',1,'quadratic_probing::find()']]], + ['find_5fmax_18',['find_max',['../d9/dde/classbinary__search__tree.html#a75f897af6aa732a9901454401c869bcb',1,'binary_search_tree::find_max(std::unique_ptr< bst_node > &node, T &ret_value)'],['../d9/dde/classbinary__search__tree.html#a42b16f26928b5e994925100594a167a0',1,'binary_search_tree::find_max(T &ret_value)']]], + ['find_5fmin_19',['find_min',['../d9/dde/classbinary__search__tree.html#af9a2c7c187a7ca3142c77ce342ef3153',1,'binary_search_tree::find_min(std::unique_ptr< bst_node > &node, T &ret_value)'],['../d9/dde/classbinary__search__tree.html#ad9912e8574538e86f9bd2c38e7e63d03',1,'binary_search_tree::find_min(T &ret_value)']]], + ['find_5fnon_5frepeating_5finteger_20',['find_non_repeating_integer',['../d6/d38/find__non__repeating__number_8cpp.html#ac5ca4c0be0967b4dd572507f50451ae3',1,'bit_manipulation::find_non_repeating_integer']]], + ['find_5fpat_5fin_5ftext_21',['find_pat_in_text',['../d3/d80/z__function_8cpp.html#ac186ca3ac3a69b5e52543bb13fe46db8',1,'z_function.cpp']]], + ['find_5fset_22',['find_set',['../d8/d99/connected__components__with__dsu_8cpp.html#a469384d8a4197a9b24482ce7c321a85e',1,'graph::disjoint_union']]], + ['find_5fzero_23',['find_zero',['../dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle.html#a94f794bf44f424b1b0ca6ef9f4f6ebd3',1,'machine_learning::aystar_search::EightPuzzle']]], + ['finding_5fnumber_5fof_5fdigits_5fin_5fa_5fnumber_24',['finding_number_of_digits_in_a_number',['../d0/d46/finding__number__of__digits__in__a__number_8cpp.html#a8a3b522a675ab4cdec2d275f6f7798a1',1,'finding_number_of_digits_in_a_number.cpp']]], + ['finding_5fnumber_5fof_5fdigits_5fin_5fa_5fnumber_5fusing_5flog_25',['finding_number_of_digits_in_a_number_using_log',['../d0/d46/finding__number__of__digits__in__a__number_8cpp.html#ac0862b67cf73651707ece04673e1ae49',1,'finding_number_of_digits_in_a_number.cpp']]], + ['findminimumedge_26',['findMinimumEdge',['../d2/d90/namespacegreedy__algorithms.html#a349e4ab9a97532c3931a2bd2a19c0098',1,'greedy_algorithms']]], + ['findminindex_27',['findMinIndex',['../d4/d9f/selection__sort__recursive_8cpp.html#a5454eeb691725ccac0f59df1e133f834',1,'sorting::selection_sort_recursive']]], + ['findminnode_28',['findMinNode',['../d4/d32/inorder__successor__of__bst_8cpp.html#a72483e3f6933e004a8d86371e8a990db',1,'operations_on_datastructures::inorder_traversal_of_bst']]], + ['findnextgap_29',['FindNextGap',['../d9/dfd/comb__sort_8cpp.html#aede08143e63105faba10e9ee8e745fd5',1,'comb_sort.cpp']]], + ['findparent_30',['findParent',['../d4/d6c/boruvkas__minimum__spanning__tree_8cpp.html#a95de0f5e70e83164dbd1b4c515565e84',1,'greedy_algorithms::boruvkas_minimum_spanning_tree']]], + ['findset_31',['findSet',['../dd/d1f/classdsu.html#a16851f78fe390fc1430905c83d6a2f1c',1,'dsu::findSet(uint64_t i)'],['../dd/d1f/classdsu.html#a16851f78fe390fc1430905c83d6a2f1c',1,'dsu::findSet(uint64_t i)']]], + ['findshifttable_32',['findShiftTable',['../d3/dfe/horspool_8cpp.html#a1a9c3aa55ccc79d0f47d50c580997336',1,'strings::horspool']]], + ['first_5ftest_33',['first_test',['../d0/d46/finding__number__of__digits__in__a__number_8cpp.html#ab4c15b7f1aedd4419a65cd49562cc300',1,'finding_number_of_digits_in_a_number.cpp']]], + ['fit_34',['fit',['../d6/d30/classmachine__learning_1_1adaline.html#a74e3c6c037b67895014414c5d75465e5',1,'machine_learning::adaline::fit(const std::vector< double > &x, const int &y)'],['../d6/d30/classmachine__learning_1_1adaline.html#a8d61f9ed872eef26bca39388cbda6a91',1,'machine_learning::adaline::fit(std::array< std::vector< double >, N > const &X, std::array< int, N > const &Y)'],['../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#a2be1b52bb9f57486f9a436f35c9089c0',1,'machine_learning::neural_network::NeuralNetwork::fit(const std::vector< std::vector< std::valarray< double > > > &X_, const std::vector< std::vector< std::valarray< double > > > &Y_, const int &epochs=100, const double &learning_rate=0.01, const size_t &batch_size=32, const bool &shuffle=true)']]], + ['fit_5ffrom_5fcsv_35',['fit_from_csv',['../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#a5172a6791b9bd24f4232bab8d6b81fff',1,'machine_learning::neural_network::NeuralNetwork']]], + ['fit_5fols_5fregressor_36',['fit_OLS_regressor',['../dc/d38/ordinary__least__squares__regressor_8cpp.html#aaddc683af581b51351e1023d2a01ef3b',1,'ordinary_least_squares_regressor.cpp']]], + ['forward_5feuler_37',['forward_euler',['../d6/d60/group__ode.html#gae0509f8843e2bc42de2abbd00a14b7b9',1,'ode_forward_euler.cpp']]], + ['forward_5feuler_5fstep_38',['forward_euler_step',['../d6/d60/group__ode.html#ga195d23bbdfcb80e83c9cda45c9ad5723',1,'ode_forward_euler.cpp']]], + ['freenode_39',['freeNode',['../d3/dce/linkedlist__implentation__usingarray_8cpp.html#a08ba214242a900e7251cec556b592f02',1,'linkedlist_implentation_usingarray.cpp']]], + ['front_40',['front',['../db/da9/classqueue.html#a75e231798bc706b8b0773a07f78713e7',1,'queue']]], + ['full_41',['full',['../d2/dc8/classdata__structures_1_1_stack.html#aa753346c8ee5f21d4f4482398fe6d5c1',1,'data_structures::Stack']]] ]; diff --git a/search/functions_7.js b/search/functions_7.js index fdd113653..add149a08 100644 --- a/search/functions_7.js +++ b/search/functions_7.js @@ -2,116 +2,83 @@ var searchData= [ ['g_0',['g',['../d4/d18/composite__simpson__rule_8cpp.html#a2f67508d5f392b0321772169342c98ad',1,'numerical_methods::simpson_method::g()'],['../df/d11/midpoint__integral__method_8cpp.html#ae682ee71af44b1e9e884849cc6a6b040',1,'numerical_methods::midpoint_rule::g()']]], ['gale_5fshapley_1',['gale_shapley',['../dd/d9a/namespacegreedy__algorithms_1_1stable__matching.html#a6d7e84df47dcf19e88f95f8f9040306c',1,'greedy_algorithms::stable_matching']]], - ['gamma_5fdistribution_2',['gamma_distribution',['http://en.cppreference.com/w/cpp/numeric/random/gamma_distribution/gamma_distribution.html',0,'std::gamma_distribution']]], - ['gbump_3',['gbump',['http://en.cppreference.com/w/cpp/io/basic_streambuf/gbump.html',0,'std::basic_filebuf::gbump()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/gbump.html',0,'std::wstringbuf::gbump()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/gbump.html',0,'std::stringbuf::gbump()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/gbump.html',0,'std::wfilebuf::gbump()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/gbump.html',0,'std::wstreambuf::gbump()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/gbump.html',0,'std::strstreambuf::gbump()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/gbump.html',0,'std::basic_stringbuf::gbump()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/gbump.html',0,'std::basic_streambuf::gbump()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/gbump.html',0,'std::filebuf::gbump()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/gbump.html',0,'std::streambuf::gbump()']]], - ['gcd_4',['gcd',['../d6/d26/classciphers_1_1_hill_cipher.html#a7760f3665651a0a37937c79c62f219c0',1,'ciphers::HillCipher::gcd()'],['../d4/da0/gcd__iterative__euclidean_8cpp.html#ae48807fa2b7000afae599e67f327545e',1,'gcd(): gcd_iterative_euclidean.cpp'],['../d1/d11/gcd__of__n__numbers_8cpp.html#a1161713c662a14c2d5e33504f4324532',1,'math::gcd_of_n_numbers::gcd()'],['../d4/d45/gcd__recursive__euclidean_8cpp.html#ae48807fa2b7000afae599e67f327545e',1,'gcd(int num1, int num2): gcd_recursive_euclidean.cpp'],['../d4/d21/least__common__multiple_8cpp.html#a8ba1fc66e4134ab25b2602b323150563',1,'gcd(unsigned int x, unsigned int y): least_common_multiple.cpp']]], - ['gcd_5ftwo_5',['gcd_two',['../d1/d11/gcd__of__n__numbers_8cpp.html#a509a35e11ed1e17a9e00dd56320a4181',1,'math::gcd_of_n_numbers']]], - ['gcdextended_6',['gcdExtended',['../de/dab/ncr__modulo__p_8cpp.html#a9010ad5669d31449c3bf3271ab5ebc86',1,'math::ncr_modulo_p::utils']]], - ['gcount_7',['gcount',['http://en.cppreference.com/w/cpp/io/basic_istream/gcount.html',0,'std::fstream::gcount()'],['http://en.cppreference.com/w/cpp/io/basic_istream/gcount.html',0,'std::basic_fstream::gcount()'],['http://en.cppreference.com/w/cpp/io/basic_istream/gcount.html',0,'std::iostream::gcount()'],['http://en.cppreference.com/w/cpp/io/basic_istream/gcount.html',0,'std::wistream::gcount()'],['http://en.cppreference.com/w/cpp/io/basic_istream/gcount.html',0,'std::stringstream::gcount()'],['http://en.cppreference.com/w/cpp/io/basic_istream/gcount.html',0,'std::wifstream::gcount()'],['http://en.cppreference.com/w/cpp/io/basic_istream/gcount.html',0,'std::basic_istream::gcount()'],['http://en.cppreference.com/w/cpp/io/basic_istream/gcount.html',0,'std::strstream::gcount()'],['http://en.cppreference.com/w/cpp/io/basic_istream/gcount.html',0,'std::basic_stringstream::gcount()'],['http://en.cppreference.com/w/cpp/io/basic_istream/gcount.html',0,'std::istrstream::gcount()'],['http://en.cppreference.com/w/cpp/io/basic_istream/gcount.html',0,'std::wiostream::gcount()'],['http://en.cppreference.com/w/cpp/io/basic_istream/gcount.html',0,'std::basic_istringstream::gcount()'],['http://en.cppreference.com/w/cpp/io/basic_istream/gcount.html',0,'std::basic_ifstream::gcount()'],['http://en.cppreference.com/w/cpp/io/basic_istream/gcount.html',0,'std::istringstream::gcount()'],['http://en.cppreference.com/w/cpp/io/basic_istream/gcount.html',0,'std::istream::gcount()'],['http://en.cppreference.com/w/cpp/io/basic_istream/gcount.html',0,'std::wfstream::gcount()'],['http://en.cppreference.com/w/cpp/io/basic_istream/gcount.html',0,'std::basic_iostream::gcount()'],['http://en.cppreference.com/w/cpp/io/basic_istream/gcount.html',0,'std::wstringstream::gcount()'],['http://en.cppreference.com/w/cpp/io/basic_istream/gcount.html',0,'std::wistringstream::gcount()'],['http://en.cppreference.com/w/cpp/io/basic_istream/gcount.html',0,'std::ifstream::gcount()']]], - ['genarray_8',['genArray',['../db/d07/spiral__print_8cpp.html#acfff36db81326fb990a643ab198ee8a5',1,'spiral_print.cpp']]], - ['generate_9',['generate',['http://en.cppreference.com/w/cpp/numeric/random/seed_seq/generate.html',0,'std::seed_seq::generate()'],['../df/de5/classbacktracking_1_1generate__parentheses.html#af39c03d80ce0ba9fbf659b420980d160',1,'backtracking::generate_parentheses::generate()'],['http://en.cppreference.com/w/cpp/algorithm/generate.html',0,'std::generate(T... args)']]], - ['generate_5fcanonical_10',['generate_canonical',['http://en.cppreference.com/w/cpp/numeric/random/generate_canonical.html',0,'std']]], - ['generate_5fdecryption_5fkey_11',['generate_decryption_key',['../d6/d26/classciphers_1_1_hill_cipher.html#ab02c7563889bf1e363deb8e21967b706',1,'ciphers::HillCipher']]], - ['generate_5fencryption_5fkey_12',['generate_encryption_key',['../d6/d26/classciphers_1_1_hill_cipher.html#a642f70fb54cb50b00fb6df7c3f2b120e',1,'ciphers::HillCipher']]], - ['generate_5fkeys_13',['generate_keys',['../d6/d26/classciphers_1_1_hill_cipher.html#a405b0a28d66a61239d3565d5256f9cb5',1,'ciphers::HillCipher']]], - ['generate_5fn_14',['generate_n',['http://en.cppreference.com/w/cpp/algorithm/generate_n.html',0,'std']]], - ['generate_5fpossible_5fmoves_15',['generate_possible_moves',['../dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle.html#a26a976171392d257ca0f814ed73e0658',1,'machine_learning::aystar_search::EightPuzzle']]], - ['generate_5fsamples_16',['generate_samples',['../db/d40/integral__approximation2_8cpp.html#a71249ee535f16f8ed2e9cc8f0199a2cf',1,'math::monte_carlo']]], - ['generate_5funiform_17',['generate_uniform',['../de/d72/geometric__dist_8cpp.html#a82964ca6180507deb5fafc71050012ba',1,'probability::geometric_dist']]], - ['generateunsortedarray_18',['generateUnsortedArray',['../d1/daa/random__pivot__quick__sort_8cpp.html#a40675d2eb960c71ca31ec475ba90120d',1,'sorting::random_pivot_quick_sort']]], - ['generic_5fcategory_19',['generic_category',['http://en.cppreference.com/w/cpp/error/generic_category.html',0,'std']]], - ['geometric_5fdistribution_20',['geometric_distribution',['http://en.cppreference.com/w/cpp/numeric/random/geometric_distribution/geometric_distribution.html',0,'std::geometric_distribution::geometric_distribution()'],['../da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution.html#aa12088ba133dd0910103db0eb0ef2797',1,'probability::geometric_dist::geometric_distribution::geometric_distribution()']]], - ['get_21',['get',['http://en.cppreference.com/w/cpp/locale/money_get/get.html',0,'std::money_get::get()'],['http://en.cppreference.com/w/cpp/io/basic_istream/get.html',0,'std::fstream::get()'],['http://en.cppreference.com/w/cpp/locale/num_get/get.html',0,'std::num_get::get()'],['http://en.cppreference.com/w/cpp/locale/time_get/get.html',0,'std::time_get::get()'],['http://en.cppreference.com/w/cpp/memory/shared_ptr/get.html',0,'std::shared_ptr::get()'],['http://en.cppreference.com/w/cpp/io/basic_istream/get.html',0,'std::basic_fstream::get()'],['http://en.cppreference.com/w/cpp/io/basic_istream/get.html',0,'std::iostream::get()'],['http://en.cppreference.com/w/cpp/thread/shared_future/get.html',0,'std::shared_future::get()'],['http://en.cppreference.com/w/cpp/io/basic_istream/get.html',0,'std::wistream::get()'],['http://en.cppreference.com/w/cpp/io/basic_istream/get.html',0,'std::stringstream::get()'],['http://en.cppreference.com/w/cpp/memory/unique_ptr/get.html',0,'std::unique_ptr::get()'],['http://en.cppreference.com/w/cpp/thread/future/get.html',0,'std::future::get()'],['http://en.cppreference.com/w/cpp/io/basic_istream/get.html',0,'std::wifstream::get()'],['http://en.cppreference.com/w/cpp/utility/functional/reference_wrapper/get.html',0,'std::reference_wrapper::get()'],['http://en.cppreference.com/w/cpp/io/basic_istream/get.html',0,'std::basic_istream::get()'],['http://en.cppreference.com/w/cpp/locale/messages/get.html',0,'std::messages_byname::get()'],['http://en.cppreference.com/w/cpp/io/basic_istream/get.html',0,'std::strstream::get()'],['http://en.cppreference.com/w/cpp/locale/time_get/get.html',0,'std::time_get_byname::get()'],['http://en.cppreference.com/w/cpp/io/basic_istream/get.html',0,'std::basic_stringstream::get()'],['http://en.cppreference.com/w/cpp/io/basic_istream/get.html',0,'std::istrstream::get()'],['http://en.cppreference.com/w/cpp/io/basic_istream/get.html',0,'std::wiostream::get()'],['http://en.cppreference.com/w/cpp/io/basic_istream/get.html',0,'std::basic_istringstream::get()'],['http://en.cppreference.com/w/cpp/io/basic_istream/get.html',0,'std::basic_ifstream::get()'],['http://en.cppreference.com/w/cpp/locale/messages/get.html',0,'std::messages::get()'],['http://en.cppreference.com/w/cpp/io/basic_istream/get.html',0,'std::istringstream::get()'],['http://en.cppreference.com/w/cpp/memory/auto_ptr/get.html',0,'std::auto_ptr::get()'],['http://en.cppreference.com/w/cpp/io/basic_istream/get.html',0,'std::istream::get()'],['http://en.cppreference.com/w/cpp/io/basic_istream/get.html',0,'std::wfstream::get()'],['http://en.cppreference.com/w/cpp/io/basic_istream/get.html',0,'std::basic_iostream::get()'],['http://en.cppreference.com/w/cpp/io/basic_istream/get.html',0,'std::wstringstream::get()'],['http://en.cppreference.com/w/cpp/io/basic_istream/get.html',0,'std::wistringstream::get()'],['http://en.cppreference.com/w/cpp/io/basic_istream/get.html',0,'std::ifstream::get()'],['../dd/d1f/classdsu.html#a0ce2672c570f4235eafddb0c9a58115a',1,'dsu::get()'],['../dc/d1f/classcatalan__numbers.html#a54655c66cf89186d3d1fa90829b28ab8',1,'catalan_numbers::get()'],['../dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle.html#aa5c0486c7f29f323a2aced2ab33af420',1,'machine_learning::aystar_search::EightPuzzle::get()'],['../df/d8f/classothers_1_1_cache_1_1_l_f_u_cache.html#a58e37d3713f28d36abbb8cdf6c432781',1,'others::Cache::LFUCache::get()'],['../d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache.html#ac1be0357ecc7c34144f3d9a63c6cb3ea',1,'others::Cache::LRUCache::get()']]], - ['get_5fall_5fwords_22',['get_all_words',['../d3/d26/classdata__structures_1_1trie__using__hashmap_1_1_trie.html#a7bbe538c8015e8ce158e7ed43f605ebd',1,'data_structures::trie_using_hashmap::Trie']]], - ['get_5fallocator_23',['get_allocator',['http://en.cppreference.com/w/cpp/container/vector/get_allocator.html',0,'std::vector::get_allocator()'],['http://en.cppreference.com/w/cpp/regex/match_results/get_allocator.html',0,'std::match_results::get_allocator()'],['http://en.cppreference.com/w/cpp/container/multiset/get_allocator.html',0,'std::multiset::get_allocator()'],['http://en.cppreference.com/w/cpp/string/basic_string/get_allocator.html',0,'std::string::get_allocator()'],['http://en.cppreference.com/w/cpp/container/set/get_allocator.html',0,'std::set::get_allocator()'],['http://en.cppreference.com/w/cpp/container/unordered_map/get_allocator.html',0,'std::unordered_map::get_allocator()'],['http://en.cppreference.com/w/cpp/regex/match_results/get_allocator.html',0,'std::wsmatch::get_allocator()'],['http://en.cppreference.com/w/cpp/regex/match_results/get_allocator.html',0,'std::smatch::get_allocator()'],['http://en.cppreference.com/w/cpp/container/unordered_multimap/get_allocator.html',0,'std::unordered_multimap::get_allocator()'],['http://en.cppreference.com/w/cpp/container/forward_list/get_allocator.html',0,'std::forward_list::get_allocator()'],['http://en.cppreference.com/w/cpp/regex/match_results/get_allocator.html',0,'std::wcmatch::get_allocator()'],['http://en.cppreference.com/w/cpp/container/deque/get_allocator.html',0,'std::deque::get_allocator()'],['http://en.cppreference.com/w/cpp/string/basic_string/get_allocator.html',0,'std::basic_string::get_allocator()'],['http://en.cppreference.com/w/cpp/string/basic_string/get_allocator.html',0,'std::wstring::get_allocator()'],['http://en.cppreference.com/w/cpp/container/unordered_multiset/get_allocator.html',0,'std::unordered_multiset::get_allocator()'],['http://en.cppreference.com/w/cpp/string/basic_string/get_allocator.html',0,'std::u16string::get_allocator()'],['http://en.cppreference.com/w/cpp/string/basic_string/get_allocator.html',0,'std::u32string::get_allocator()'],['http://en.cppreference.com/w/cpp/container/list/get_allocator.html',0,'std::list::get_allocator()'],['http://en.cppreference.com/w/cpp/container/map/get_allocator.html',0,'std::map::get_allocator()'],['http://en.cppreference.com/w/cpp/regex/match_results/get_allocator.html',0,'std::cmatch::get_allocator()'],['http://en.cppreference.com/w/cpp/container/unordered_set/get_allocator.html',0,'std::unordered_set::get_allocator()'],['http://en.cppreference.com/w/cpp/container/multimap/get_allocator.html',0,'std::multimap::get_allocator()']]], - ['get_5fchar_24',['get_char',['../d4/d08/sha256_8cpp.html#a9e98c180d32b04aab6f767cb0c13e1da',1,'hashing::sha256']]], - ['get_5fchar_5fidx_25',['get_char_idx',['../d6/d26/classciphers_1_1_hill_cipher.html#ae77cad522fa44b8c985779a7188d2f41',1,'ciphers::HillCipher']]], - ['get_5fclock_5fdiff_26',['get_clock_diff',['../d4/def/kohonen__som__topology_8cpp.html#a2256c10b16edba377b64a44b6c656908',1,'get_clock_diff(clock_t start_t, clock_t end_t): kohonen_som_topology.cpp'],['../d9/d49/kohonen__som__trace_8cpp.html#a2256c10b16edba377b64a44b6c656908',1,'get_clock_diff(clock_t start_t, clock_t end_t): kohonen_som_trace.cpp']]], - ['get_5fdate_27',['get_date',['http://en.cppreference.com/w/cpp/locale/time_get/get_date.html',0,'std::time_get::get_date()'],['http://en.cppreference.com/w/cpp/locale/time_get/get_date.html',0,'std::time_get_byname::get_date()']]], - ['get_5fdeleter_28',['get_deleter',['http://en.cppreference.com/w/cpp/memory/unique_ptr/get_deleter.html',0,'std::unique_ptr']]], - ['get_5felements_5finorder_29',['get_elements_inorder',['../d9/dde/classbinary__search__tree.html#a1f23830316204664514f396a4eb5275a',1,'binary_search_tree']]], - ['get_5felements_5fpostorder_30',['get_elements_postorder',['../d9/dde/classbinary__search__tree.html#a5c011e1b0863d79c3a7c11a0426bdcff',1,'binary_search_tree']]], - ['get_5felements_5fpreorder_31',['get_elements_preorder',['../d9/dde/classbinary__search__tree.html#a5764c1cf848f84a5b77462036a6d8c13',1,'binary_search_tree']]], - ['get_5ffinal_5fstatus_32',['get_final_status',['../df/d47/fcfs__scheduling_8cpp.html#a8f2b90cb64d63a7080965e66a05ccf86',1,'fcfs_scheduling.cpp']]], - ['get_5ffuture_33',['get_future',['http://en.cppreference.com/w/cpp/thread/promise/get_future.html',0,'std::promise::get_future()'],['http://en.cppreference.com/w/cpp/thread/packaged_task/get_future.html',0,'std::packaged_task::get_future()']]], - ['get_5fid_34',['get_id',['http://en.cppreference.com/w/cpp/thread/thread/get_id.html',0,'std::thread::get_id()'],['http://en.cppreference.com/w/cpp/thread/get_id.html',0,'std::this_thread::get_id()']]], - ['get_5fidx_5fchar_35',['get_idx_char',['../d6/d26/classciphers_1_1_hill_cipher.html#a12f727cca9e21f9539cd74b6603adf0c',1,'ciphers::HillCipher']]], - ['get_5finput_36',['get_input',['../dc/dfe/ternary__search_8cpp.html#a7f7d866eccdabe51bb16818a792618b1',1,'ternary_search.cpp']]], - ['get_5fintersection_37',['get_intersection',['../da/d6d/namespaceoperations__on__datastructures.html#adaf9a06f0c236c2d95c97e441ea2d12e',1,'operations_on_datastructures']]], - ['get_5finverse_38',['get_inverse',['../d6/d26/classciphers_1_1_hill_cipher.html#a2eb58750b978a93ac5e6eb29e3e570b7',1,'ciphers::HillCipher::get_inverse()'],['../dc/d38/ordinary__least__squares__regressor_8cpp.html#af7243bdc6ae3c7169f01b85bb226e66a',1,'get_inverse(): ordinary_least_squares_regressor.cpp']]], - ['get_5fk_5fth_39',['get_k_th',['../d5/d95/structdata__structures_1_1treap_1_1_treap.html#ab2db3ad3aecc240011e0c8b8604d2c69',1,'data_structures::treap::Treap']]], - ['get_5flevel_5forder_40',['get_level_order',['../de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree.html#a2e683b271d8d5cd63e0d09cf8aaa325c',1,'operations_on_datastructures::reverse_binary_tree::BinaryTree']]], - ['get_5fmax_41',['get_max',['../dd/d1f/classdsu.html#a696141b8b092466767f4bfe1c5e46cde',1,'dsu']]], - ['get_5fmin_42',['get_min',['../dd/d1f/classdsu.html#ac713a5b496d0405c82e2808a85e58415',1,'dsu']]], - ['get_5fmin_5f2d_43',['get_min_2d',['../d9/d66/group__machine__learning.html#ga60f9186ccb682724a8792a2bf81e9b9e',1,'kohonen_som_topology.cpp']]], - ['get_5fminima_44',['get_minima',['../db/d01/brent__method__extrema_8cpp.html#a1aa76a6d5fd4d333f9072beff1dc486b',1,'get_minima(const std::function< double(double)> &f, double lim_a, double lim_b): brent_method_extrema.cpp'],['../d6/d7a/golden__search__extrema_8cpp.html#a1aa76a6d5fd4d333f9072beff1dc486b',1,'get_minima(const std::function< double(double)> &f, double lim_a, double lim_b): golden_search_extrema.cpp']]], - ['get_5fmoney_45',['get_money',['http://en.cppreference.com/w/cpp/io/manip/get_money.html',0,'std']]], - ['get_5fmonthname_46',['get_monthname',['http://en.cppreference.com/w/cpp/locale/time_get/get_monthname.html',0,'std::time_get::get_monthname()'],['http://en.cppreference.com/w/cpp/locale/time_get/get_monthname.html',0,'std::time_get_byname::get_monthname()']]], - ['get_5fnew_5fhandler_47',['get_new_handler',['http://en.cppreference.com/w/cpp/memory/new/get_new_handler.html',0,'std']]], - ['get_5fnext_48',['get_next',['../d5/d95/structdata__structures_1_1treap_1_1_treap.html#a767b28f9911fc32b8462862be058a4a4',1,'data_structures::treap::Treap']]], - ['get_5fpointer_5fsafety_49',['get_pointer_safety',['http://en.cppreference.com/w/cpp/memory/gc/get_pointer_safety.html',0,'std']]], - ['get_5fpredecessor_50',['get_predecessor',['../d5/d95/structdata__structures_1_1treap_1_1_treap.html#ab8b9899f22070cfa01db5bf874296126',1,'data_structures::treap::Treap']]], - ['get_5frand_51',['get_rand',['../d5/d67/complex__numbers_8cpp.html#a5d4d5b8250b50703de888514c8e7a7a0',1,'complex_numbers.cpp']]], - ['get_5frank_52',['get_rank',['../d5/d95/structdata__structures_1_1treap_1_1_treap.html#ac94e9d69305940f6d8804031455af039',1,'data_structures::treap::Treap']]], - ['get_5fshape_53',['get_shape',['../d8/d77/namespacemachine__learning.html#aa4bbf61e65f8cd297255fa94b983d078',1,'machine_learning']]], - ['get_5fsize_54',['get_size',['../dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle.html#ae145ac4a0d2ec58945b58fad3c04f00f',1,'machine_learning::aystar_search::EightPuzzle']]], - ['get_5fstate_55',['get_state',['../dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle.html#ade14b0e1a88543b91426e2008e4d0f99',1,'machine_learning::aystar_search::EightPuzzle']]], - ['get_5ftemporary_5fbuffer_56',['get_temporary_buffer',['http://en.cppreference.com/w/cpp/memory/get_temporary_buffer.html',0,'std']]], - ['get_5fterminate_57',['get_terminate',['http://en.cppreference.com/w/cpp/error/get_terminate.html',0,'std']]], - ['get_5ftest_5fcases_58',['get_test_cases',['../da/d0d/longest__common__string_8cpp.html#a967854a526bc15403d783a033155fc5c',1,'longest_common_string.cpp']]], - ['get_5ftime_59',['get_time',['http://en.cppreference.com/w/cpp/locale/time_get/get_time.html',0,'std::time_get::get_time()'],['http://en.cppreference.com/w/cpp/locale/time_get/get_time.html',0,'std::time_get_byname::get_time()'],['http://en.cppreference.com/w/cpp/io/manip/get_time.html',0,'std::get_time()']]], - ['get_5ftranspose_60',['get_transpose',['../dc/d38/ordinary__least__squares__regressor_8cpp.html#a21c80569aaffb7bf1657e54fa4b97deb',1,'ordinary_least_squares_regressor.cpp']]], - ['get_5funexpected_61',['get_unexpected',['http://en.cppreference.com/w/cpp/error/get_unexpected.html',0,'std']]], - ['get_5funion_62',['get_union',['../da/d6d/namespaceoperations__on__datastructures.html#a2b8ff06a84b041457873840bf82e2d74',1,'operations_on_datastructures']]], - ['get_5fweekday_63',['get_weekday',['http://en.cppreference.com/w/cpp/locale/time_get/get_weekday.html',0,'std::time_get::get_weekday()'],['http://en.cppreference.com/w/cpp/locale/time_get/get_weekday.html',0,'std::time_get_byname::get_weekday()']]], - ['get_5fxy_5ffrom_5fcsv_64',['get_XY_from_csv',['../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#a650c677fd6512665741ddd9b7983275d',1,'machine_learning::neural_network::NeuralNetwork']]], - ['get_5fyear_65',['get_year',['http://en.cppreference.com/w/cpp/locale/time_get/get_year.html',0,'std::time_get::get_year()'],['http://en.cppreference.com/w/cpp/locale/time_get/get_year.html',0,'std::time_get_byname::get_year()']]], - ['getadjacencylist_66',['getAdjacencyList',['../d5/dec/classgraph_1_1topological__sort_1_1_graph.html#a5e84b175ef768ff58eaeededd43e8368',1,'graph::topological_sort::Graph']]], - ['getadjlist_67',['getAdjList',['../da/d9a/class_graph.html#a5a090e1a63a5c47bdd1a539b21f7fd1d',1,'Graph']]], - ['getbalance_68',['getBalance',['../d8/dee/avltree_8cpp.html#aaa457ffec24c9643f2768e7a65e96546',1,'avltree.cpp']]], - ['getc_69',['getc',['http://en.cppreference.com/w/cpp/io/c/fgetc.html',0,'std']]], - ['getchar_70',['getchar',['http://en.cppreference.com/w/cpp/io/c/getchar.html',0,'std']]], - ['getchild_71',['GetChild',['../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a164574a9209b5df66368530d090b32c4',1,'data_structures::tree_234::Node']]], - ['getchildindex_72',['GetChildIndex',['../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#ad632a0440295bc88ceadae7478fe0d37',1,'data_structures::tree_234::Node']]], - ['getconnectedcomponents_73',['getConnectedComponents',['../df/dce/namespacegraph.html#a83ab16e96cec644109a58dfc9329bc2b',1,'graph']]], - ['getconvexhull_74',['getConvexHull',['../d4/dde/classgeometry_1_1jarvis_1_1_convexhull.html#aeec46e86786ddd461464b07a77c4d5f1',1,'geometry::jarvis::Convexhull']]], - ['getcount_75',['GetCount',['../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#aac82e17daa088ede9ee00dc69c1e6f06',1,'data_structures::tree_234::Node']]], - ['getenv_76',['getenv',['http://en.cppreference.com/w/cpp/utility/program/getenv.html',0,'std']]], - ['getfailurearray_77',['getFailureArray',['../d9/d03/namespacestring__search.html#a83c72ff237cdf623e42d4295e0029bf9',1,'string_search']]], - ['gethits_78',['getHits',['../d6/dae/classothers_1_1lru__cache_1_1_l_r_u_cache.html#aa24a141455b9fbcbec22392c28d04933',1,'others::lru_cache::LRUCache']]], - ['getinordersuccessor_79',['getInorderSuccessor',['../d4/d32/inorder__successor__of__bst_8cpp.html#a3923fb22b46e085376703cae0b44d690',1,'operations_on_datastructures::inorder_traversal_of_bst']]], - ['getitem_80',['GetItem',['../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a4808acb43668ff8cfd6f7cb44ceedad3',1,'data_structures::tree_234::Node']]], - ['getitemindex_81',['GetItemIndex',['../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a650f0ef26b7450e1addb5d80bb0ed629',1,'data_structures::tree_234::Node']]], - ['getitemleftchild_82',['GetItemLeftChild',['../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#ab654d7376d3449fdc78edab0e7fed06e',1,'data_structures::tree_234::Node']]], - ['getitemrightchild_83',['GetItemRightChild',['../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a441cbee9896391f2b167d5aa7b4f8c95',1,'data_structures::tree_234::Node']]], - ['getleftmostchild_84',['GetLeftmostChild',['../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#ac6f619a1605cb46196360889fff4529e',1,'data_structures::tree_234::Node']]], - ['getline_85',['getline',['http://en.cppreference.com/w/cpp/io/basic_istream/getline.html',0,'std::fstream::getline()'],['http://en.cppreference.com/w/cpp/io/basic_istream/getline.html',0,'std::basic_fstream::getline()'],['http://en.cppreference.com/w/cpp/io/basic_istream/getline.html',0,'std::iostream::getline()'],['http://en.cppreference.com/w/cpp/io/basic_istream/getline.html',0,'std::wistream::getline()'],['http://en.cppreference.com/w/cpp/io/basic_istream/getline.html',0,'std::stringstream::getline()'],['http://en.cppreference.com/w/cpp/io/basic_istream/getline.html',0,'std::wifstream::getline()'],['http://en.cppreference.com/w/cpp/io/basic_istream/getline.html',0,'std::basic_istream::getline()'],['http://en.cppreference.com/w/cpp/io/basic_istream/getline.html',0,'std::strstream::getline()'],['http://en.cppreference.com/w/cpp/io/basic_istream/getline.html',0,'std::basic_stringstream::getline()'],['http://en.cppreference.com/w/cpp/io/basic_istream/getline.html',0,'std::istrstream::getline()'],['http://en.cppreference.com/w/cpp/io/basic_istream/getline.html',0,'std::wiostream::getline()'],['http://en.cppreference.com/w/cpp/io/basic_istream/getline.html',0,'std::basic_istringstream::getline()'],['http://en.cppreference.com/w/cpp/io/basic_istream/getline.html',0,'std::basic_ifstream::getline()'],['http://en.cppreference.com/w/cpp/io/basic_istream/getline.html',0,'std::istringstream::getline()'],['http://en.cppreference.com/w/cpp/io/basic_istream/getline.html',0,'std::istream::getline()'],['http://en.cppreference.com/w/cpp/io/basic_istream/getline.html',0,'std::wfstream::getline()'],['http://en.cppreference.com/w/cpp/io/basic_istream/getline.html',0,'std::basic_iostream::getline()'],['http://en.cppreference.com/w/cpp/io/basic_istream/getline.html',0,'std::wstringstream::getline()'],['http://en.cppreference.com/w/cpp/io/basic_istream/getline.html',0,'std::wistringstream::getline()'],['http://en.cppreference.com/w/cpp/io/basic_istream/getline.html',0,'std::ifstream::getline()'],['http://en.cppreference.com/w/cpp/string/basic_string/getline.html',0,'std::getline()']]], - ['getloc_86',['getloc',['http://en.cppreference.com/w/cpp/io/ios_base/getloc.html',0,'std::basic_ofstream::getloc()'],['http://en.cppreference.com/w/cpp/io/ios_base/getloc.html',0,'std::fstream::getloc()'],['http://en.cppreference.com/w/cpp/io/ios_base/getloc.html',0,'std::wostream::getloc()'],['http://en.cppreference.com/w/cpp/io/ios_base/getloc.html',0,'std::basic_ostringstream::getloc()'],['http://en.cppreference.com/w/cpp/regex/basic_regex/getloc.html',0,'std::regex::getloc()'],['http://en.cppreference.com/w/cpp/regex/basic_regex/getloc.html',0,'std::basic_regex::getloc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/getloc.html',0,'std::basic_filebuf::getloc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/getloc.html',0,'std::wstringbuf::getloc()'],['http://en.cppreference.com/w/cpp/io/ios_base/getloc.html',0,'std::basic_ios::getloc()'],['http://en.cppreference.com/w/cpp/io/ios_base/getloc.html',0,'std::ostringstream::getloc()'],['http://en.cppreference.com/w/cpp/io/ios_base/getloc.html',0,'std::basic_fstream::getloc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/getloc.html',0,'std::stringbuf::getloc()'],['http://en.cppreference.com/w/cpp/regex/basic_regex/getloc.html',0,'std::wregex::getloc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/getloc.html',0,'std::wfilebuf::getloc()'],['http://en.cppreference.com/w/cpp/io/ios_base/getloc.html',0,'std::iostream::getloc()'],['http://en.cppreference.com/w/cpp/io/ios_base/getloc.html',0,'std::ios_base::getloc()'],['http://en.cppreference.com/w/cpp/io/ios_base/getloc.html',0,'std::wistream::getloc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/getloc.html',0,'std::wstreambuf::getloc()'],['http://en.cppreference.com/w/cpp/io/ios_base/getloc.html',0,'std::stringstream::getloc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/getloc.html',0,'std::strstreambuf::getloc()'],['http://en.cppreference.com/w/cpp/io/ios_base/getloc.html',0,'std::ostream::getloc()'],['http://en.cppreference.com/w/cpp/io/ios_base/getloc.html',0,'std::wifstream::getloc()'],['http://en.cppreference.com/w/cpp/regex/regex_traits/getloc.html',0,'std::regex_traits::getloc()'],['http://en.cppreference.com/w/cpp/io/ios_base/getloc.html',0,'std::basic_istream::getloc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/getloc.html',0,'std::basic_stringbuf::getloc()'],['http://en.cppreference.com/w/cpp/io/ios_base/getloc.html',0,'std::strstream::getloc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/getloc.html',0,'std::basic_streambuf::getloc()'],['http://en.cppreference.com/w/cpp/io/ios_base/getloc.html',0,'std::basic_stringstream::getloc()'],['http://en.cppreference.com/w/cpp/io/ios_base/getloc.html',0,'std::wostringstream::getloc()'],['http://en.cppreference.com/w/cpp/io/ios_base/getloc.html',0,'std::istrstream::getloc()'],['http://en.cppreference.com/w/cpp/io/ios_base/getloc.html',0,'std::basic_ostream::getloc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/getloc.html',0,'std::filebuf::getloc()'],['http://en.cppreference.com/w/cpp/io/ios_base/getloc.html',0,'std::wiostream::getloc()'],['http://en.cppreference.com/w/cpp/io/ios_base/getloc.html',0,'std::ofstream::getloc()'],['http://en.cppreference.com/w/cpp/io/ios_base/getloc.html',0,'std::basic_istringstream::getloc()'],['http://en.cppreference.com/w/cpp/io/ios_base/getloc.html',0,'std::basic_ifstream::getloc()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/getloc.html',0,'std::streambuf::getloc()'],['http://en.cppreference.com/w/cpp/io/ios_base/getloc.html',0,'std::istringstream::getloc()'],['http://en.cppreference.com/w/cpp/io/ios_base/getloc.html',0,'std::istream::getloc()'],['http://en.cppreference.com/w/cpp/io/ios_base/getloc.html',0,'std::ostrstream::getloc()'],['http://en.cppreference.com/w/cpp/io/ios_base/getloc.html',0,'std::wfstream::getloc()'],['http://en.cppreference.com/w/cpp/io/ios_base/getloc.html',0,'std::basic_iostream::getloc()'],['http://en.cppreference.com/w/cpp/io/ios_base/getloc.html',0,'std::wofstream::getloc()'],['http://en.cppreference.com/w/cpp/io/ios_base/getloc.html',0,'std::wstringstream::getloc()'],['http://en.cppreference.com/w/cpp/io/ios_base/getloc.html',0,'std::wistringstream::getloc()'],['http://en.cppreference.com/w/cpp/io/ios_base/getloc.html',0,'std::ifstream::getloc()']]], - ['getmaxitem_87',['GetMaxItem',['../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a2753b6053b8c86c5bd987a44fdfa0a57',1,'data_structures::tree_234::Node']]], - ['getmedian_88',['getMedian',['../df/d34/classprobability_1_1windowed__median_1_1_windowed_median.html#a938cafbdf70dc01e86e9bb12d29ec65d',1,'probability::windowed_median::WindowedMedian']]], - ['getmediannaive_89',['getMedianNaive',['../df/d34/classprobability_1_1windowed__median_1_1_windowed_median.html#a61804988fcb1a6caf640f8291979aaa6',1,'probability::windowed_median::WindowedMedian']]], - ['getmin_90',['getMin',['../d2/d05/class_min_heap.html#a336ac71f0d857269fe9a98058a3cd130',1,'MinHeap']]], - ['getminitem_91',['GetMinItem',['../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a5438d0a47850f520b2262b5a42f75b71',1,'data_structures::tree_234::Node']]], - ['getnextpossiblechild_92',['GetNextPossibleChild',['../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a91322b3bb0b2b2175eb56e9e10d7db46',1,'data_structures::tree_234::Node']]], - ['getnode_93',['getNode',['../d4/d32/inorder__successor__of__bst_8cpp.html#a824cbf1814854824cf05f062eea07b95',1,'operations_on_datastructures::inorder_traversal_of_bst']]], - ['getnode_94',['getnode',['../d3/dce/linkedlist__implentation__usingarray_8cpp.html#a73e11e0871f56342a30da93b6c93e8be',1,'linkedlist_implentation_usingarray.cpp']]], - ['getnumnodes_95',['getNumNodes',['../d5/dec/classgraph_1_1topological__sort_1_1_graph.html#ad22018e4f4f80aecb0538044bb83d096',1,'graph::topological_sort::Graph']]], - ['getpagefault_96',['getPageFault',['../d6/dae/classothers_1_1lru__cache_1_1_l_r_u_cache.html#a78be932dac71c90f485a67d4fda877e2',1,'others::lru_cache::LRUCache']]], - ['getparents_97',['getParents',['../dd/d1f/classdsu.html#ab8ee27083a3c2e2df80755165a2ec280',1,'dsu']]], - ['getrandomindex_98',['getRandomIndex',['../d1/daa/random__pivot__quick__sort_8cpp.html#aac5657b4fe2251cd21073f44233f6ea5',1,'sorting::random_pivot_quick_sort']]], - ['getrightmostchild_99',['GetRightmostChild',['../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a731f9ae385840cf0a06d55e7f9924a94',1,'data_structures::tree_234::Node']]], - ['gets_100',['gets',['http://en.cppreference.com/w/cpp/io/c/gets.html',0,'std']]], - ['gettreemaxitem_101',['GetTreeMaxItem',['../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#ac85ba5abfd6d34dcd908b2afe6464657',1,'data_structures::tree_234::Tree234']]], - ['gettreeminitem_102',['GetTreeMinItem',['../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a65a1235659356166a3e9b451c64fcc36',1,'data_structures::tree_234::Tree234']]], - ['getvertices_103',['getVertices',['../da/d9a/class_graph.html#a8dcb5ce0b4a6f65827f5055d9d53a3f1',1,'Graph']]], - ['getwchar_104',['getwchar',['http://en.cppreference.com/w/cpp/io/c/getwchar.html',0,'std']]], - ['global_105',['global',['http://en.cppreference.com/w/cpp/locale/locale/global.html',0,'std::locale']]], - ['gmtime_106',['gmtime',['http://en.cppreference.com/w/cpp/chrono/c/gmtime.html',0,'std']]], - ['gnomesort_107',['gnomeSort',['../d5/d91/namespacesorting.html#a2f8bc626eb57acae24a94636a23af6a1',1,'sorting::gnomeSort(T *arr, int size)'],['../d5/d91/namespacesorting.html#aa3677f87b5b4756bc77e9e34c5f27935',1,'sorting::gnomeSort(std::array< T, size > arr)']]], - ['good_108',['good',['http://en.cppreference.com/w/cpp/io/basic_ios/good.html',0,'std::basic_ofstream::good()'],['http://en.cppreference.com/w/cpp/io/basic_ios/good.html',0,'std::fstream::good()'],['http://en.cppreference.com/w/cpp/io/basic_ios/good.html',0,'std::wostream::good()'],['http://en.cppreference.com/w/cpp/io/basic_ios/good.html',0,'std::basic_ostringstream::good()'],['http://en.cppreference.com/w/cpp/io/basic_ios/good.html',0,'std::basic_ios::good()'],['http://en.cppreference.com/w/cpp/io/basic_ios/good.html',0,'std::ostringstream::good()'],['http://en.cppreference.com/w/cpp/io/basic_ios/good.html',0,'std::basic_fstream::good()'],['http://en.cppreference.com/w/cpp/io/basic_ios/good.html',0,'std::iostream::good()'],['http://en.cppreference.com/w/cpp/io/basic_ios/good.html',0,'std::wistream::good()'],['http://en.cppreference.com/w/cpp/io/basic_ios/good.html',0,'std::stringstream::good()'],['http://en.cppreference.com/w/cpp/io/basic_ios/good.html',0,'std::ostream::good()'],['http://en.cppreference.com/w/cpp/io/basic_ios/good.html',0,'std::wifstream::good()'],['http://en.cppreference.com/w/cpp/io/basic_ios/good.html',0,'std::basic_istream::good()'],['http://en.cppreference.com/w/cpp/io/basic_ios/good.html',0,'std::strstream::good()'],['http://en.cppreference.com/w/cpp/io/basic_ios/good.html',0,'std::basic_stringstream::good()'],['http://en.cppreference.com/w/cpp/io/basic_ios/good.html',0,'std::wostringstream::good()'],['http://en.cppreference.com/w/cpp/io/basic_ios/good.html',0,'std::istrstream::good()'],['http://en.cppreference.com/w/cpp/io/basic_ios/good.html',0,'std::basic_ostream::good()'],['http://en.cppreference.com/w/cpp/io/basic_ios/good.html',0,'std::wiostream::good()'],['http://en.cppreference.com/w/cpp/io/basic_ios/good.html',0,'std::ofstream::good()'],['http://en.cppreference.com/w/cpp/io/basic_ios/good.html',0,'std::basic_istringstream::good()'],['http://en.cppreference.com/w/cpp/io/basic_ios/good.html',0,'std::basic_ifstream::good()'],['http://en.cppreference.com/w/cpp/io/basic_ios/good.html',0,'std::istringstream::good()'],['http://en.cppreference.com/w/cpp/io/basic_ios/good.html',0,'std::istream::good()'],['http://en.cppreference.com/w/cpp/io/basic_ios/good.html',0,'std::ostrstream::good()'],['http://en.cppreference.com/w/cpp/io/basic_ios/good.html',0,'std::wfstream::good()'],['http://en.cppreference.com/w/cpp/io/basic_ios/good.html',0,'std::basic_iostream::good()'],['http://en.cppreference.com/w/cpp/io/basic_ios/good.html',0,'std::wofstream::good()'],['http://en.cppreference.com/w/cpp/io/basic_ios/good.html',0,'std::wstringstream::good()'],['http://en.cppreference.com/w/cpp/io/basic_ios/good.html',0,'std::wistringstream::good()'],['http://en.cppreference.com/w/cpp/io/basic_ios/good.html',0,'std::ifstream::good()']]], - ['gptr_109',['gptr',['http://en.cppreference.com/w/cpp/io/basic_streambuf/gptr.html',0,'std::basic_filebuf::gptr()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/gptr.html',0,'std::wstringbuf::gptr()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/gptr.html',0,'std::stringbuf::gptr()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/gptr.html',0,'std::wfilebuf::gptr()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/gptr.html',0,'std::wstreambuf::gptr()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/gptr.html',0,'std::strstreambuf::gptr()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/gptr.html',0,'std::basic_stringbuf::gptr()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/gptr.html',0,'std::basic_streambuf::gptr()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/gptr.html',0,'std::filebuf::gptr()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/gptr.html',0,'std::streambuf::gptr()']]], - ['gram_5fschmidt_110',['gram_schmidt',['../d5/d33/gram__schmidt_8cpp.html#a0837468e1a653ed056e2cce3c914afa5',1,'numerical_methods::gram_schmidt']]], - ['graph_111',['Graph',['../da/d9a/class_graph.html#adcbd1b60cab30b97c54d700eee8e456d',1,'Graph::Graph(unsigned int vertices, AdjList adjList)'],['../da/d9a/class_graph.html#a8c95e00effaea0cd9404dd74cd802ae3',1,'Graph::Graph(unsigned int vertices, AdjList &&adjList)'],['../da/d9a/class_graph.html#aa99d44d3179d5bbbfa84a5031cf80cb1',1,'Graph::Graph(unsigned int vertices, std::vector< Edge > const &edges)'],['../de/d00/classgraph_1_1is__graph__bipartite_1_1_graph.html#a6aef65b40347c4606662cad4dd2e14d3',1,'graph::is_graph_bipartite::Graph::Graph()'],['../dc/d61/classgraph_1_1_graph.html#a8839fa14bff19d2deab4a618447c13e5',1,'graph::Graph::Graph()'],['../d5/dec/classgraph_1_1topological__sort_1_1_graph.html#a75a849f80a66304e7da39b3ccd6129d6',1,'graph::topological_sort::Graph::Graph()'],['../d2/daa/classgreedy__algorithms_1_1dijkstra_1_1_graph.html#afefaeb247734a7c64bd04e68e3c1c4bc',1,'greedy_algorithms::dijkstra::Graph::Graph()']]], - ['graphcoloring_112',['graphColoring',['../d3/d40/graph__coloring_8cpp.html#a40337efc5dad761096489bf2c5b1c80c',1,'backtracking::graph_coloring']]], - ['grouping_113',['grouping',['http://en.cppreference.com/w/cpp/locale/moneypunct/grouping.html',0,'std::moneypunct_byname::grouping()'],['http://en.cppreference.com/w/cpp/locale/moneypunct/grouping.html',0,'std::moneypunct::grouping()'],['http://en.cppreference.com/w/cpp/locale/numpunct/grouping.html',0,'std::numpunct_byname::grouping()'],['http://en.cppreference.com/w/cpp/locale/numpunct/grouping.html',0,'std::numpunct::grouping()']]] + ['gcd_2',['gcd',['../d6/d26/classciphers_1_1_hill_cipher.html#a7760f3665651a0a37937c79c62f219c0',1,'ciphers::HillCipher::gcd()'],['../d4/da0/gcd__iterative__euclidean_8cpp.html#ae48807fa2b7000afae599e67f327545e',1,'gcd(): gcd_iterative_euclidean.cpp'],['../d1/d11/gcd__of__n__numbers_8cpp.html#a1161713c662a14c2d5e33504f4324532',1,'math::gcd_of_n_numbers::gcd()'],['../d4/d45/gcd__recursive__euclidean_8cpp.html#ae48807fa2b7000afae599e67f327545e',1,'gcd(int num1, int num2): gcd_recursive_euclidean.cpp'],['../d4/d21/least__common__multiple_8cpp.html#a8ba1fc66e4134ab25b2602b323150563',1,'gcd(unsigned int x, unsigned int y): least_common_multiple.cpp']]], + ['gcd_5ftwo_3',['gcd_two',['../d1/d11/gcd__of__n__numbers_8cpp.html#a509a35e11ed1e17a9e00dd56320a4181',1,'math::gcd_of_n_numbers']]], + ['gcdextended_4',['gcdExtended',['../de/dab/ncr__modulo__p_8cpp.html#a9010ad5669d31449c3bf3271ab5ebc86',1,'math::ncr_modulo_p::utils']]], + ['genarray_5',['genArray',['../db/d07/spiral__print_8cpp.html#acfff36db81326fb990a643ab198ee8a5',1,'spiral_print.cpp']]], + ['generate_6',['generate',['../df/de5/classbacktracking_1_1generate__parentheses.html#af39c03d80ce0ba9fbf659b420980d160',1,'backtracking::generate_parentheses']]], + ['generate_5fdecryption_5fkey_7',['generate_decryption_key',['../d6/d26/classciphers_1_1_hill_cipher.html#ab02c7563889bf1e363deb8e21967b706',1,'ciphers::HillCipher']]], + ['generate_5fencryption_5fkey_8',['generate_encryption_key',['../d6/d26/classciphers_1_1_hill_cipher.html#a642f70fb54cb50b00fb6df7c3f2b120e',1,'ciphers::HillCipher']]], + ['generate_5fkeys_9',['generate_keys',['../d6/d26/classciphers_1_1_hill_cipher.html#a405b0a28d66a61239d3565d5256f9cb5',1,'ciphers::HillCipher']]], + ['generate_5fpossible_5fmoves_10',['generate_possible_moves',['../dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle.html#a26a976171392d257ca0f814ed73e0658',1,'machine_learning::aystar_search::EightPuzzle']]], + ['generate_5fsamples_11',['generate_samples',['../db/d40/integral__approximation2_8cpp.html#a71249ee535f16f8ed2e9cc8f0199a2cf',1,'math::monte_carlo']]], + ['generate_5funiform_12',['generate_uniform',['../de/d72/geometric__dist_8cpp.html#a82964ca6180507deb5fafc71050012ba',1,'probability::geometric_dist']]], + ['generateunsortedarray_13',['generateUnsortedArray',['../d1/daa/random__pivot__quick__sort_8cpp.html#a40675d2eb960c71ca31ec475ba90120d',1,'sorting::random_pivot_quick_sort']]], + ['geometric_5fdistribution_14',['geometric_distribution',['../da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution.html#aa12088ba133dd0910103db0eb0ef2797',1,'probability::geometric_dist::geometric_distribution']]], + ['get_15',['get',['../dd/d1f/classdsu.html#a0ce2672c570f4235eafddb0c9a58115a',1,'dsu::get()'],['../dc/d1f/classcatalan__numbers.html#a54655c66cf89186d3d1fa90829b28ab8',1,'catalan_numbers::get()'],['../dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle.html#aa5c0486c7f29f323a2aced2ab33af420',1,'machine_learning::aystar_search::EightPuzzle::get()'],['../df/d8f/classothers_1_1_cache_1_1_l_f_u_cache.html#a58e37d3713f28d36abbb8cdf6c432781',1,'others::Cache::LFUCache::get()'],['../d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache.html#ac1be0357ecc7c34144f3d9a63c6cb3ea',1,'others::Cache::LRUCache::get()']]], + ['get_5fall_5fwords_16',['get_all_words',['../d3/d26/classdata__structures_1_1trie__using__hashmap_1_1_trie.html#a7bbe538c8015e8ce158e7ed43f605ebd',1,'data_structures::trie_using_hashmap::Trie']]], + ['get_5fchar_17',['get_char',['../d4/d08/sha256_8cpp.html#a9e98c180d32b04aab6f767cb0c13e1da',1,'hashing::sha256']]], + ['get_5fchar_5fidx_18',['get_char_idx',['../d6/d26/classciphers_1_1_hill_cipher.html#ae77cad522fa44b8c985779a7188d2f41',1,'ciphers::HillCipher']]], + ['get_5fclock_5fdiff_19',['get_clock_diff',['../d4/def/kohonen__som__topology_8cpp.html#a2256c10b16edba377b64a44b6c656908',1,'get_clock_diff(clock_t start_t, clock_t end_t): kohonen_som_topology.cpp'],['../d9/d49/kohonen__som__trace_8cpp.html#a2256c10b16edba377b64a44b6c656908',1,'get_clock_diff(clock_t start_t, clock_t end_t): kohonen_som_trace.cpp']]], + ['get_5felements_5finorder_20',['get_elements_inorder',['../d9/dde/classbinary__search__tree.html#a1f23830316204664514f396a4eb5275a',1,'binary_search_tree']]], + ['get_5felements_5fpostorder_21',['get_elements_postorder',['../d9/dde/classbinary__search__tree.html#a5c011e1b0863d79c3a7c11a0426bdcff',1,'binary_search_tree']]], + ['get_5felements_5fpreorder_22',['get_elements_preorder',['../d9/dde/classbinary__search__tree.html#a5764c1cf848f84a5b77462036a6d8c13',1,'binary_search_tree']]], + ['get_5ffinal_5fstatus_23',['get_final_status',['../df/d47/fcfs__scheduling_8cpp.html#a8f2b90cb64d63a7080965e66a05ccf86',1,'fcfs_scheduling.cpp']]], + ['get_5fidx_5fchar_24',['get_idx_char',['../d6/d26/classciphers_1_1_hill_cipher.html#a12f727cca9e21f9539cd74b6603adf0c',1,'ciphers::HillCipher']]], + ['get_5finput_25',['get_input',['../dc/dfe/ternary__search_8cpp.html#a7f7d866eccdabe51bb16818a792618b1',1,'ternary_search.cpp']]], + ['get_5fintersection_26',['get_intersection',['../da/d6d/namespaceoperations__on__datastructures.html#adaf9a06f0c236c2d95c97e441ea2d12e',1,'operations_on_datastructures']]], + ['get_5finverse_27',['get_inverse',['../d6/d26/classciphers_1_1_hill_cipher.html#a2eb58750b978a93ac5e6eb29e3e570b7',1,'ciphers::HillCipher::get_inverse()'],['../dc/d38/ordinary__least__squares__regressor_8cpp.html#af7243bdc6ae3c7169f01b85bb226e66a',1,'get_inverse(): ordinary_least_squares_regressor.cpp']]], + ['get_5fk_5fth_28',['get_k_th',['../d5/d95/structdata__structures_1_1treap_1_1_treap.html#ab2db3ad3aecc240011e0c8b8604d2c69',1,'data_structures::treap::Treap']]], + ['get_5flevel_5forder_29',['get_level_order',['../de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree.html#a2e683b271d8d5cd63e0d09cf8aaa325c',1,'operations_on_datastructures::reverse_binary_tree::BinaryTree']]], + ['get_5fmax_30',['get_max',['../dd/d1f/classdsu.html#a696141b8b092466767f4bfe1c5e46cde',1,'dsu']]], + ['get_5fmin_31',['get_min',['../dd/d1f/classdsu.html#ac713a5b496d0405c82e2808a85e58415',1,'dsu']]], + ['get_5fmin_5f2d_32',['get_min_2d',['../d9/d66/group__machine__learning.html#ga60f9186ccb682724a8792a2bf81e9b9e',1,'kohonen_som_topology.cpp']]], + ['get_5fminima_33',['get_minima',['../db/d01/brent__method__extrema_8cpp.html#a1aa76a6d5fd4d333f9072beff1dc486b',1,'get_minima(const std::function< double(double)> &f, double lim_a, double lim_b): brent_method_extrema.cpp'],['../d6/d7a/golden__search__extrema_8cpp.html#a1aa76a6d5fd4d333f9072beff1dc486b',1,'get_minima(const std::function< double(double)> &f, double lim_a, double lim_b): golden_search_extrema.cpp']]], + ['get_5fnext_34',['get_next',['../d5/d95/structdata__structures_1_1treap_1_1_treap.html#a767b28f9911fc32b8462862be058a4a4',1,'data_structures::treap::Treap']]], + ['get_5fpredecessor_35',['get_predecessor',['../d5/d95/structdata__structures_1_1treap_1_1_treap.html#ab8b9899f22070cfa01db5bf874296126',1,'data_structures::treap::Treap']]], + ['get_5frand_36',['get_rand',['../d5/d67/complex__numbers_8cpp.html#a5d4d5b8250b50703de888514c8e7a7a0',1,'complex_numbers.cpp']]], + ['get_5frank_37',['get_rank',['../d5/d95/structdata__structures_1_1treap_1_1_treap.html#ac94e9d69305940f6d8804031455af039',1,'data_structures::treap::Treap']]], + ['get_5fshape_38',['get_shape',['../d8/d77/namespacemachine__learning.html#aa4bbf61e65f8cd297255fa94b983d078',1,'machine_learning']]], + ['get_5fsize_39',['get_size',['../dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle.html#ae145ac4a0d2ec58945b58fad3c04f00f',1,'machine_learning::aystar_search::EightPuzzle']]], + ['get_5fstate_40',['get_state',['../dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle.html#ade14b0e1a88543b91426e2008e4d0f99',1,'machine_learning::aystar_search::EightPuzzle']]], + ['get_5ftest_5fcases_41',['get_test_cases',['../da/d0d/longest__common__string_8cpp.html#a967854a526bc15403d783a033155fc5c',1,'longest_common_string.cpp']]], + ['get_5ftranspose_42',['get_transpose',['../dc/d38/ordinary__least__squares__regressor_8cpp.html#a21c80569aaffb7bf1657e54fa4b97deb',1,'ordinary_least_squares_regressor.cpp']]], + ['get_5funion_43',['get_union',['../da/d6d/namespaceoperations__on__datastructures.html#a2b8ff06a84b041457873840bf82e2d74',1,'operations_on_datastructures']]], + ['get_5fxy_5ffrom_5fcsv_44',['get_XY_from_csv',['../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#a650c677fd6512665741ddd9b7983275d',1,'machine_learning::neural_network::NeuralNetwork']]], + ['getadjacencylist_45',['getAdjacencyList',['../d5/dec/classgraph_1_1topological__sort_1_1_graph.html#a5e84b175ef768ff58eaeededd43e8368',1,'graph::topological_sort::Graph']]], + ['getadjlist_46',['getAdjList',['../da/d9a/class_graph.html#a5a090e1a63a5c47bdd1a539b21f7fd1d',1,'Graph']]], + ['getbalance_47',['getBalance',['../d8/dee/avltree_8cpp.html#aaa457ffec24c9643f2768e7a65e96546',1,'avltree.cpp']]], + ['getchild_48',['GetChild',['../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a164574a9209b5df66368530d090b32c4',1,'data_structures::tree_234::Node']]], + ['getchildindex_49',['GetChildIndex',['../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#ad632a0440295bc88ceadae7478fe0d37',1,'data_structures::tree_234::Node']]], + ['getconnectedcomponents_50',['getConnectedComponents',['../df/dce/namespacegraph.html#a83ab16e96cec644109a58dfc9329bc2b',1,'graph']]], + ['getconvexhull_51',['getConvexHull',['../d4/dde/classgeometry_1_1jarvis_1_1_convexhull.html#aeec46e86786ddd461464b07a77c4d5f1',1,'geometry::jarvis::Convexhull']]], + ['getcount_52',['GetCount',['../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#aac82e17daa088ede9ee00dc69c1e6f06',1,'data_structures::tree_234::Node']]], + ['getfailurearray_53',['getFailureArray',['../d9/d03/namespacestring__search.html#a83c72ff237cdf623e42d4295e0029bf9',1,'string_search']]], + ['gethits_54',['getHits',['../d6/dae/classothers_1_1lru__cache_1_1_l_r_u_cache.html#aa24a141455b9fbcbec22392c28d04933',1,'others::lru_cache::LRUCache']]], + ['getinordersuccessor_55',['getInorderSuccessor',['../d4/d32/inorder__successor__of__bst_8cpp.html#a3923fb22b46e085376703cae0b44d690',1,'operations_on_datastructures::inorder_traversal_of_bst']]], + ['getitem_56',['GetItem',['../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a4808acb43668ff8cfd6f7cb44ceedad3',1,'data_structures::tree_234::Node']]], + ['getitemindex_57',['GetItemIndex',['../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a650f0ef26b7450e1addb5d80bb0ed629',1,'data_structures::tree_234::Node']]], + ['getitemleftchild_58',['GetItemLeftChild',['../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#ab654d7376d3449fdc78edab0e7fed06e',1,'data_structures::tree_234::Node']]], + ['getitemrightchild_59',['GetItemRightChild',['../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a441cbee9896391f2b167d5aa7b4f8c95',1,'data_structures::tree_234::Node']]], + ['getleftmostchild_60',['GetLeftmostChild',['../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#ac6f619a1605cb46196360889fff4529e',1,'data_structures::tree_234::Node']]], + ['getmaxitem_61',['GetMaxItem',['../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a2753b6053b8c86c5bd987a44fdfa0a57',1,'data_structures::tree_234::Node']]], + ['getmedian_62',['getMedian',['../df/d34/classprobability_1_1windowed__median_1_1_windowed_median.html#a938cafbdf70dc01e86e9bb12d29ec65d',1,'probability::windowed_median::WindowedMedian']]], + ['getmediannaive_63',['getMedianNaive',['../df/d34/classprobability_1_1windowed__median_1_1_windowed_median.html#a61804988fcb1a6caf640f8291979aaa6',1,'probability::windowed_median::WindowedMedian']]], + ['getmin_64',['getMin',['../d2/d05/class_min_heap.html#a336ac71f0d857269fe9a98058a3cd130',1,'MinHeap']]], + ['getminitem_65',['GetMinItem',['../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a5438d0a47850f520b2262b5a42f75b71',1,'data_structures::tree_234::Node']]], + ['getnextpossiblechild_66',['GetNextPossibleChild',['../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a91322b3bb0b2b2175eb56e9e10d7db46',1,'data_structures::tree_234::Node']]], + ['getnode_67',['getNode',['../d4/d32/inorder__successor__of__bst_8cpp.html#a824cbf1814854824cf05f062eea07b95',1,'operations_on_datastructures::inorder_traversal_of_bst']]], + ['getnode_68',['getnode',['../d3/dce/linkedlist__implentation__usingarray_8cpp.html#a73e11e0871f56342a30da93b6c93e8be',1,'linkedlist_implentation_usingarray.cpp']]], + ['getnumnodes_69',['getNumNodes',['../d5/dec/classgraph_1_1topological__sort_1_1_graph.html#ad22018e4f4f80aecb0538044bb83d096',1,'graph::topological_sort::Graph']]], + ['getpagefault_70',['getPageFault',['../d6/dae/classothers_1_1lru__cache_1_1_l_r_u_cache.html#a78be932dac71c90f485a67d4fda877e2',1,'others::lru_cache::LRUCache']]], + ['getparents_71',['getParents',['../dd/d1f/classdsu.html#ab8ee27083a3c2e2df80755165a2ec280',1,'dsu']]], + ['getrandomindex_72',['getRandomIndex',['../d1/daa/random__pivot__quick__sort_8cpp.html#aac5657b4fe2251cd21073f44233f6ea5',1,'sorting::random_pivot_quick_sort']]], + ['getrightmostchild_73',['GetRightmostChild',['../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a731f9ae385840cf0a06d55e7f9924a94',1,'data_structures::tree_234::Node']]], + ['gettreemaxitem_74',['GetTreeMaxItem',['../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#ac85ba5abfd6d34dcd908b2afe6464657',1,'data_structures::tree_234::Tree234']]], + ['gettreeminitem_75',['GetTreeMinItem',['../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a65a1235659356166a3e9b451c64fcc36',1,'data_structures::tree_234::Tree234']]], + ['getvertices_76',['getVertices',['../da/d9a/class_graph.html#a8dcb5ce0b4a6f65827f5055d9d53a3f1',1,'Graph']]], + ['gnomesort_77',['gnomeSort',['../d5/d91/namespacesorting.html#a2f8bc626eb57acae24a94636a23af6a1',1,'sorting::gnomeSort(T *arr, int size)'],['../d5/d91/namespacesorting.html#aa3677f87b5b4756bc77e9e34c5f27935',1,'sorting::gnomeSort(std::array< T, size > arr)']]], + ['gram_5fschmidt_78',['gram_schmidt',['../d5/d33/gram__schmidt_8cpp.html#a0837468e1a653ed056e2cce3c914afa5',1,'numerical_methods::gram_schmidt']]], + ['graph_79',['Graph',['../da/d9a/class_graph.html#adcbd1b60cab30b97c54d700eee8e456d',1,'Graph::Graph(unsigned int vertices, AdjList adjList)'],['../da/d9a/class_graph.html#a8c95e00effaea0cd9404dd74cd802ae3',1,'Graph::Graph(unsigned int vertices, AdjList &&adjList)'],['../da/d9a/class_graph.html#aa99d44d3179d5bbbfa84a5031cf80cb1',1,'Graph::Graph(unsigned int vertices, std::vector< Edge > const &edges)'],['../de/d00/classgraph_1_1is__graph__bipartite_1_1_graph.html#a6aef65b40347c4606662cad4dd2e14d3',1,'graph::is_graph_bipartite::Graph::Graph()'],['../dc/d61/classgraph_1_1_graph.html#a8839fa14bff19d2deab4a618447c13e5',1,'graph::Graph::Graph()'],['../d5/dec/classgraph_1_1topological__sort_1_1_graph.html#a75a849f80a66304e7da39b3ccd6129d6',1,'graph::topological_sort::Graph::Graph()'],['../d2/daa/classgreedy__algorithms_1_1dijkstra_1_1_graph.html#afefaeb247734a7c64bd04e68e3c1c4bc',1,'greedy_algorithms::dijkstra::Graph::Graph()']]], + ['graphcoloring_80',['graphColoring',['../d3/d40/graph__coloring_8cpp.html#a40337efc5dad761096489bf2c5b1c80c',1,'backtracking::graph_coloring']]] ]; diff --git a/search/functions_8.js b/search/functions_8.js index fb30c8dae..3ce5e168e 100644 --- a/search/functions_8.js +++ b/search/functions_8.js @@ -5,31 +5,23 @@ var searchData= ['hadamard_5fproduct_2',['hadamard_product',['../d8/d77/namespacemachine__learning.html#acafa3e62b686aebdbad81c4f89913f43',1,'machine_learning']]], ['hamilton_5fcycle_3',['hamilton_cycle',['../dd/d0c/hamiltons__cycle_8cpp.html#abcf824e347eecfeeb69ea0280f34f3e4',1,'hamiltons_cycle.cpp']]], ['hamming_5fdistance_4',['hamming_distance',['../d4/d48/hamming__distance_8cpp.html#abfe6fbb2f3460a2623c96f283178a07a',1,'bit_manipulation::hamming_distance::hamming_distance(uint64_t a, uint64_t b)'],['../d4/d48/hamming__distance_8cpp.html#a40ba9fe8b5df5c268f0c7d677ff2fe80',1,'bit_manipulation::hamming_distance::hamming_distance(const std::string &a, const std::string &b)']]], - ['hardware_5fconcurrency_5',['hardware_concurrency',['http://en.cppreference.com/w/cpp/thread/thread/hardware_concurrency.html',0,'std::thread']]], - ['has_5ffacet_6',['has_facet',['http://en.cppreference.com/w/cpp/locale/has_facet.html',0,'std']]], - ['haschildren_7',['hasChildren',['../dd/d2f/class_trie.html#a6d10eb1669453395d1900ebd401954fb',1,'Trie']]], - ['hash_8',['hash',['http://en.cppreference.com/w/cpp/locale/collate/hash.html',0,'std::collate_byname::hash()'],['http://en.cppreference.com/w/cpp/utility/hash/hash.html',0,'std::hash::hash()'],['http://en.cppreference.com/w/cpp/locale/collate/hash.html',0,'std::collate::hash()'],['../dd/d1c/classhash__chain.html#a846a2f921f8fb7ea572e03901b671d64',1,'hash_chain::hash()'],['../d5/d96/md5_8cpp.html#a88705fab5f92adf3427b4cf76ff33edb',1,'hashing::md5::hash()'],['../d8/d7a/sha1_8cpp.html#a2397f2444a05e4d1487c67e215410d3c',1,'hashing::sha1::hash()']]], - ['hash_5fbs_9',['hash_bs',['../d5/d96/md5_8cpp.html#a5341431cef7fcfc33794326e1deb2425',1,'hashing::md5::hash_bs()'],['../d8/d7a/sha1_8cpp.html#a7be3471f7e489d7d0df42b97a48bf141',1,'hashing::sha1::hash_bs()']]], - ['hash_5fchain_10',['hash_chain',['../dd/d1c/classhash__chain.html#a80c8b902a15b4fd062ed727ecf8f3595',1,'hash_chain']]], - ['hash_5fcode_11',['hash_code',['http://en.cppreference.com/w/cpp/types/type_info/hash_code.html',0,'std::type_info::hash_code()'],['http://en.cppreference.com/w/cpp/types/type_index/hash_code.html',0,'std::type_index::hash_code()']]], - ['hash_5ffunction_12',['hash_function',['http://en.cppreference.com/w/cpp/container/unordered_map/hash_function.html',0,'std::unordered_map::hash_function()'],['http://en.cppreference.com/w/cpp/container/unordered_multimap/hash_function.html',0,'std::unordered_multimap::hash_function()'],['http://en.cppreference.com/w/cpp/container/unordered_multiset/hash_function.html',0,'std::unordered_multiset::hash_function()'],['http://en.cppreference.com/w/cpp/container/unordered_set/hash_function.html',0,'std::unordered_set::hash_function()']]], - ['hash_5fsearch_13',['hash_search',['../d1/df3/hash__search_8cpp.html#a36ea13c16028f18ef2d5ff47f3fda7a2',1,'hash_search.cpp']]], - ['hashdjb2_14',['hashDJB2',['../d5/d3c/namespacedata__structures.html#a271c753baf6dc5ac6f19fa03c5873eb4',1,'data_structures']]], - ['hashfxn_15',['hashFxn',['../d0/d65/namespacedouble__hashing.html#a0d90726ed1de7b3d2ae261baed048003',1,'double_hashing::hashFxn()'],['../d8/d89/namespacelinear__probing.html#a4bde7a47f98dd1ad24c84038e2608527',1,'linear_probing::hashFxn()'],['../d4/dd2/namespacequadratic__probing.html#a2093d91dd3d377cf0a5c939e45dcefc7',1,'quadratic_probing::hashFxn()']]], - ['hashint_5f1_16',['hashInt_1',['../d5/d3c/namespacedata__structures.html#aa6deb9d4a0f63ea97aef3dce4c6c6677',1,'data_structures']]], - ['hashint_5f2_17',['hashInt_2',['../d5/d3c/namespacedata__structures.html#a9ed236419034917c5270c1dccd220b5c',1,'data_structures']]], - ['hashstr_18',['hashStr',['../d5/d3c/namespacedata__structures.html#a35eb2bc3edbb52f9c5f0b1e51046ef15',1,'data_structures']]], - ['heapsort_19',['heapSort',['../d5/d4c/group__sorting.html#ga29d28b140174dbdde7c9f5157758435f',1,'heap_sort.cpp']]], - ['height_20',['height',['../d8/dee/avltree_8cpp.html#ae4a66d8b0c2b0d626aea45977e358c83',1,'avltree.cpp']]], - ['hemi_5fsphere_5fsurface_5farea_21',['hemi_sphere_surface_area',['../dd/d47/namespacemath.html#a3277e65a8f380e7632791975bfba0efb',1,'math']]], - ['hex_22',['hex',['http://en.cppreference.com/w/cpp/io/manip/hex.html',0,'std']]], - ['hexfloat_23',['hexfloat',['http://en.cppreference.com/w/cpp/io/manip/fixed.html',0,'std']]], - ['hkgraph_24',['HKGraph',['../d8/d69/classgraph_1_1_h_k_graph.html#af02b0c83911070ac6d95fc9905e58aa9',1,'graph::HKGraph::HKGraph()'],['../d8/d69/classgraph_1_1_h_k_graph.html#a0da5aa674d3b3e54a38251ee60d7cd64',1,'graph::HKGraph::HKGraph(int m, int n)']]], - ['hld_25',['HLD',['../d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d.html#a6e486767434e44076c1ac374a22da726',1,'range_queries::heavy_light_decomposition::HLD']]], - ['hopcroftkarpalgorithm_26',['hopcroftKarpAlgorithm',['../d8/d69/classgraph_1_1_h_k_graph.html#a9dbda80d02bdc26c3e8ff7330c9be75d',1,'graph::HKGraph']]], - ['horizontal_5frange_27',['horizontal_range',['../d9/d29/ground__to__ground__projectile__motion_8cpp.html#a10362eb607d7882bac3a0688504b00ff',1,'physics::ground_to_ground_projectile_motion']]], - ['horspool_28',['horspool',['../d3/dfe/horspool_8cpp.html#a9884bca75ce39c116697ea2574adb37d',1,'strings::horspool']]], - ['hours_29',['hours',['http://en.cppreference.com/w/cpp/chrono/duration/duration.html',0,'std::chrono::hours']]], - ['houserobber_30',['houseRobber',['../d6/d26/house__robber_8cpp.html#a1e497c3e3f169afe5baaae6a5d40cbc8',1,'dynamic_programming::house_robber']]], - ['hypot_31',['hypot',['http://en.cppreference.com/w/cpp/numeric/math/hypot.html',0,'std']]] + ['haschildren_5',['hasChildren',['../dd/d2f/class_trie.html#a6d10eb1669453395d1900ebd401954fb',1,'Trie']]], + ['hash_6',['hash',['../dd/d1c/classhash__chain.html#a846a2f921f8fb7ea572e03901b671d64',1,'hash_chain::hash()'],['../d5/d96/md5_8cpp.html#a88705fab5f92adf3427b4cf76ff33edb',1,'hashing::md5::hash()'],['../d8/d7a/sha1_8cpp.html#a2397f2444a05e4d1487c67e215410d3c',1,'hashing::sha1::hash()']]], + ['hash_5fbs_7',['hash_bs',['../d5/d96/md5_8cpp.html#a5341431cef7fcfc33794326e1deb2425',1,'hashing::md5::hash_bs()'],['../d8/d7a/sha1_8cpp.html#a7be3471f7e489d7d0df42b97a48bf141',1,'hashing::sha1::hash_bs()']]], + ['hash_5fchain_8',['hash_chain',['../dd/d1c/classhash__chain.html#a80c8b902a15b4fd062ed727ecf8f3595',1,'hash_chain']]], + ['hash_5fsearch_9',['hash_search',['../d1/df3/hash__search_8cpp.html#a36ea13c16028f18ef2d5ff47f3fda7a2',1,'hash_search.cpp']]], + ['hashdjb2_10',['hashDJB2',['../d5/d3c/namespacedata__structures.html#a271c753baf6dc5ac6f19fa03c5873eb4',1,'data_structures']]], + ['hashfxn_11',['hashFxn',['../d0/d65/namespacedouble__hashing.html#a0d90726ed1de7b3d2ae261baed048003',1,'double_hashing::hashFxn()'],['../d8/d89/namespacelinear__probing.html#a4bde7a47f98dd1ad24c84038e2608527',1,'linear_probing::hashFxn()'],['../d4/dd2/namespacequadratic__probing.html#a2093d91dd3d377cf0a5c939e45dcefc7',1,'quadratic_probing::hashFxn()']]], + ['hashint_5f1_12',['hashInt_1',['../d5/d3c/namespacedata__structures.html#aa6deb9d4a0f63ea97aef3dce4c6c6677',1,'data_structures']]], + ['hashint_5f2_13',['hashInt_2',['../d5/d3c/namespacedata__structures.html#a9ed236419034917c5270c1dccd220b5c',1,'data_structures']]], + ['hashstr_14',['hashStr',['../d5/d3c/namespacedata__structures.html#a35eb2bc3edbb52f9c5f0b1e51046ef15',1,'data_structures']]], + ['heapsort_15',['heapSort',['../d5/d4c/group__sorting.html#ga29d28b140174dbdde7c9f5157758435f',1,'heap_sort.cpp']]], + ['height_16',['height',['../d8/dee/avltree_8cpp.html#ae4a66d8b0c2b0d626aea45977e358c83',1,'avltree.cpp']]], + ['hemi_5fsphere_5fsurface_5farea_17',['hemi_sphere_surface_area',['../dd/d47/namespacemath.html#a3277e65a8f380e7632791975bfba0efb',1,'math']]], + ['hkgraph_18',['HKGraph',['../d8/d69/classgraph_1_1_h_k_graph.html#af02b0c83911070ac6d95fc9905e58aa9',1,'graph::HKGraph::HKGraph()'],['../d8/d69/classgraph_1_1_h_k_graph.html#a0da5aa674d3b3e54a38251ee60d7cd64',1,'graph::HKGraph::HKGraph(int m, int n)']]], + ['hld_19',['HLD',['../d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d.html#a6e486767434e44076c1ac374a22da726',1,'range_queries::heavy_light_decomposition::HLD']]], + ['hopcroftkarpalgorithm_20',['hopcroftKarpAlgorithm',['../d8/d69/classgraph_1_1_h_k_graph.html#a9dbda80d02bdc26c3e8ff7330c9be75d',1,'graph::HKGraph']]], + ['horizontal_5frange_21',['horizontal_range',['../d9/d29/ground__to__ground__projectile__motion_8cpp.html#a10362eb607d7882bac3a0688504b00ff',1,'physics::ground_to_ground_projectile_motion']]], + ['horspool_22',['horspool',['../d3/dfe/horspool_8cpp.html#a9884bca75ce39c116697ea2574adb37d',1,'strings::horspool']]], + ['houserobber_23',['houseRobber',['../d6/d26/house__robber_8cpp.html#a1e497c3e3f169afe5baaae6a5d40cbc8',1,'dynamic_programming::house_robber']]] ]; diff --git a/search/functions_9.js b/search/functions_9.js index 7f71a4813..7b58d6a9b 100644 --- a/search/functions_9.js +++ b/search/functions_9.js @@ -1,133 +1,67 @@ var searchData= [ - ['id_0',['id',['http://en.cppreference.com/w/cpp/locale/locale/id/id.html',0,'std::locale::id::id()'],['http://en.cppreference.com/w/cpp/thread/thread/id/id.html',0,'std::thread::id::id()']]], - ['identity_5ffunction_1',['identity_function',['../d2/d58/neural__network_8cpp.html#a32c00da08f2cf641dd336270f6e3c407',1,'machine_learning::neural_network::util_functions']]], - ['ifstream_2',['ifstream',['http://en.cppreference.com/w/cpp/io/basic_ifstream/basic_ifstream.html',0,'std::ifstream']]], - ['ignore_3',['ignore',['http://en.cppreference.com/w/cpp/io/basic_istream/ignore.html',0,'std::fstream::ignore()'],['http://en.cppreference.com/w/cpp/io/basic_istream/ignore.html',0,'std::basic_fstream::ignore()'],['http://en.cppreference.com/w/cpp/io/basic_istream/ignore.html',0,'std::iostream::ignore()'],['http://en.cppreference.com/w/cpp/io/basic_istream/ignore.html',0,'std::wistream::ignore()'],['http://en.cppreference.com/w/cpp/io/basic_istream/ignore.html',0,'std::stringstream::ignore()'],['http://en.cppreference.com/w/cpp/io/basic_istream/ignore.html',0,'std::wifstream::ignore()'],['http://en.cppreference.com/w/cpp/io/basic_istream/ignore.html',0,'std::basic_istream::ignore()'],['http://en.cppreference.com/w/cpp/io/basic_istream/ignore.html',0,'std::strstream::ignore()'],['http://en.cppreference.com/w/cpp/io/basic_istream/ignore.html',0,'std::basic_stringstream::ignore()'],['http://en.cppreference.com/w/cpp/io/basic_istream/ignore.html',0,'std::istrstream::ignore()'],['http://en.cppreference.com/w/cpp/io/basic_istream/ignore.html',0,'std::wiostream::ignore()'],['http://en.cppreference.com/w/cpp/io/basic_istream/ignore.html',0,'std::basic_istringstream::ignore()'],['http://en.cppreference.com/w/cpp/io/basic_istream/ignore.html',0,'std::basic_ifstream::ignore()'],['http://en.cppreference.com/w/cpp/io/basic_istream/ignore.html',0,'std::istringstream::ignore()'],['http://en.cppreference.com/w/cpp/io/basic_istream/ignore.html',0,'std::istream::ignore()'],['http://en.cppreference.com/w/cpp/io/basic_istream/ignore.html',0,'std::wfstream::ignore()'],['http://en.cppreference.com/w/cpp/io/basic_istream/ignore.html',0,'std::basic_iostream::ignore()'],['http://en.cppreference.com/w/cpp/io/basic_istream/ignore.html',0,'std::wstringstream::ignore()'],['http://en.cppreference.com/w/cpp/io/basic_istream/ignore.html',0,'std::wistringstream::ignore()'],['http://en.cppreference.com/w/cpp/io/basic_istream/ignore.html',0,'std::ifstream::ignore()']]], - ['ilogb_4',['ilogb',['http://en.cppreference.com/w/cpp/numeric/math/ilogb.html',0,'std']]], - ['imag_5',['imag',['http://en.cppreference.com/w/cpp/numeric/complex/imag.html',0,'std::complex::imag()'],['../da/d5a/class_complex.html#af8aacf982e2e6c142921bc850f6dc974',1,'Complex::imag()']]], - ['imbue_6',['imbue',['http://en.cppreference.com/w/cpp/io/basic_ios/imbue.html',0,'std::basic_ofstream::imbue()'],['http://en.cppreference.com/w/cpp/io/basic_ios/imbue.html',0,'std::fstream::imbue()'],['http://en.cppreference.com/w/cpp/io/basic_ios/imbue.html',0,'std::wostream::imbue()'],['http://en.cppreference.com/w/cpp/io/basic_ios/imbue.html',0,'std::basic_ostringstream::imbue()'],['http://en.cppreference.com/w/cpp/regex/basic_regex/imbue.html',0,'std::regex::imbue()'],['http://en.cppreference.com/w/cpp/regex/basic_regex/imbue.html',0,'std::basic_regex::imbue()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubimbue.html',0,'std::basic_filebuf::imbue()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubimbue.html',0,'std::wstringbuf::imbue()'],['http://en.cppreference.com/w/cpp/io/ios_base/imbue.html',0,'std::basic_ios::imbue()'],['http://en.cppreference.com/w/cpp/io/basic_ios/imbue.html',0,'std::ostringstream::imbue()'],['http://en.cppreference.com/w/cpp/io/basic_ios/imbue.html',0,'std::basic_fstream::imbue()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubimbue.html',0,'std::stringbuf::imbue()'],['http://en.cppreference.com/w/cpp/regex/basic_regex/imbue.html',0,'std::wregex::imbue()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubimbue.html',0,'std::wfilebuf::imbue()'],['http://en.cppreference.com/w/cpp/io/basic_ios/imbue.html',0,'std::iostream::imbue()'],['http://en.cppreference.com/w/cpp/io/ios_base/imbue.html',0,'std::ios_base::imbue()'],['http://en.cppreference.com/w/cpp/io/basic_ios/imbue.html',0,'std::wistream::imbue()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubimbue.html',0,'std::wstreambuf::imbue()'],['http://en.cppreference.com/w/cpp/io/basic_ios/imbue.html',0,'std::stringstream::imbue()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubimbue.html',0,'std::strstreambuf::imbue()'],['http://en.cppreference.com/w/cpp/io/basic_ios/imbue.html',0,'std::ostream::imbue()'],['http://en.cppreference.com/w/cpp/io/basic_ios/imbue.html',0,'std::wifstream::imbue()'],['http://en.cppreference.com/w/cpp/regex/regex_traits/imbue.html',0,'std::regex_traits::imbue()'],['http://en.cppreference.com/w/cpp/io/basic_ios/imbue.html',0,'std::basic_istream::imbue()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubimbue.html',0,'std::basic_stringbuf::imbue()'],['http://en.cppreference.com/w/cpp/io/basic_ios/imbue.html',0,'std::strstream::imbue()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubimbue.html',0,'std::basic_streambuf::imbue()'],['http://en.cppreference.com/w/cpp/io/basic_ios/imbue.html',0,'std::basic_stringstream::imbue()'],['http://en.cppreference.com/w/cpp/io/basic_ios/imbue.html',0,'std::wostringstream::imbue()'],['http://en.cppreference.com/w/cpp/io/basic_ios/imbue.html',0,'std::istrstream::imbue()'],['http://en.cppreference.com/w/cpp/io/basic_ios/imbue.html',0,'std::basic_ostream::imbue()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubimbue.html',0,'std::filebuf::imbue()'],['http://en.cppreference.com/w/cpp/io/basic_ios/imbue.html',0,'std::wiostream::imbue()'],['http://en.cppreference.com/w/cpp/io/basic_ios/imbue.html',0,'std::ofstream::imbue()'],['http://en.cppreference.com/w/cpp/io/basic_ios/imbue.html',0,'std::basic_istringstream::imbue()'],['http://en.cppreference.com/w/cpp/io/basic_ios/imbue.html',0,'std::basic_ifstream::imbue()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/pubimbue.html',0,'std::streambuf::imbue()'],['http://en.cppreference.com/w/cpp/io/basic_ios/imbue.html',0,'std::istringstream::imbue()'],['http://en.cppreference.com/w/cpp/io/basic_ios/imbue.html',0,'std::istream::imbue()'],['http://en.cppreference.com/w/cpp/io/basic_ios/imbue.html',0,'std::ostrstream::imbue()'],['http://en.cppreference.com/w/cpp/io/basic_ios/imbue.html',0,'std::wfstream::imbue()'],['http://en.cppreference.com/w/cpp/io/basic_ios/imbue.html',0,'std::basic_iostream::imbue()'],['http://en.cppreference.com/w/cpp/io/basic_ios/imbue.html',0,'std::wofstream::imbue()'],['http://en.cppreference.com/w/cpp/io/basic_ios/imbue.html',0,'std::wstringstream::imbue()'],['http://en.cppreference.com/w/cpp/io/basic_ios/imbue.html',0,'std::wistringstream::imbue()'],['http://en.cppreference.com/w/cpp/io/basic_ios/imbue.html',0,'std::ifstream::imbue()']]], - ['imod_7',['imod',['../d6/d2d/modular__inverse__simple_8cpp.html#a618b198f74a88ab0023355b3a05d9ad6',1,'modular_inverse_simple.cpp']]], - ['in_8',['in',['http://en.cppreference.com/w/cpp/locale/codecvt/in.html',0,'std::codecvt::in()'],['http://en.cppreference.com/w/cpp/locale/codecvt/in.html',0,'std::codecvt_byname::in()'],['http://en.cppreference.com/w/cpp/locale/codecvt/in.html',0,'std::codecvt_utf8::in()'],['http://en.cppreference.com/w/cpp/locale/codecvt/in.html',0,'std::codecvt_utf8_utf16::in()'],['http://en.cppreference.com/w/cpp/locale/codecvt/in.html',0,'std::codecvt_utf16::in()']]], - ['in_5favail_9',['in_avail',['http://en.cppreference.com/w/cpp/io/basic_streambuf/in_avail.html',0,'std::basic_filebuf::in_avail()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/in_avail.html',0,'std::wstringbuf::in_avail()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/in_avail.html',0,'std::stringbuf::in_avail()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/in_avail.html',0,'std::wfilebuf::in_avail()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/in_avail.html',0,'std::wstreambuf::in_avail()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/in_avail.html',0,'std::strstreambuf::in_avail()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/in_avail.html',0,'std::basic_stringbuf::in_avail()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/in_avail.html',0,'std::basic_streambuf::in_avail()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/in_avail.html',0,'std::filebuf::in_avail()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/in_avail.html',0,'std::streambuf::in_avail()']]], - ['in_5frange_10',['in_range',['../dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle.html#a48d054230468b79037964f474d842b6e',1,'machine_learning::aystar_search::EightPuzzle']]], - ['includes_11',['includes',['http://en.cppreference.com/w/cpp/algorithm/includes.html',0,'std']]], - ['increase_5ffrequency_12',['increase_frequency',['../df/d8f/classothers_1_1_cache_1_1_l_f_u_cache.html#a16a25c102554c5653721a5112ef676c9',1,'others::Cache::LFUCache']]], - ['independent_5fbits_5fengine_13',['independent_bits_engine',['http://en.cppreference.com/w/cpp/numeric/random/independent_bits_engine/independent_bits_engine.html',0,'std::independent_bits_engine']]], - ['infinity_14',['infinity',['http://en.cppreference.com/w/cpp/types/numeric_limits/infinity.html',0,'std::numeric_limits']]], - ['info_15',['Info',['../da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html#aaa7ea27346659f0abe2df82ca57fc5a7',1,'machine_learning::aystar_search::AyStarSearch::Info::Info()=default'],['../da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html#a695e4314ebc3ab58e13004dc63599fe8',1,'machine_learning::aystar_search::AyStarSearch::Info::Info(const Puzzle &A)'],['../da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html#ad3950824936488f66408313b1f8a8ca8',1,'machine_learning::aystar_search::AyStarSearch::Info::Info(const Puzzle &A, size_t h_value, size_t d)'],['../da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html#a572de12115e39e34dde6e68b707d59f5',1,'machine_learning::aystar_search::AyStarSearch::Info::Info(const Info &A)'],['../da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html#a6abc89925ae7055a63b428e61525ad7a',1,'machine_learning::aystar_search::AyStarSearch::Info::Info(const Info &&A) noexcept']]], - ['init_16',['init',['http://en.cppreference.com/w/cpp/io/basic_ios/init.html',0,'std::basic_ofstream::init()'],['http://en.cppreference.com/w/cpp/io/basic_ios/init.html',0,'std::fstream::init()'],['http://en.cppreference.com/w/cpp/io/basic_ios/init.html',0,'std::wostream::init()'],['http://en.cppreference.com/w/cpp/io/basic_ios/init.html',0,'std::basic_ostringstream::init()'],['http://en.cppreference.com/w/cpp/io/basic_ios/init.html',0,'std::basic_ios::init()'],['http://en.cppreference.com/w/cpp/io/basic_ios/init.html',0,'std::ostringstream::init()'],['http://en.cppreference.com/w/cpp/io/basic_ios/init.html',0,'std::basic_fstream::init()'],['http://en.cppreference.com/w/cpp/io/basic_ios/init.html',0,'std::iostream::init()'],['http://en.cppreference.com/w/cpp/io/basic_ios/init.html',0,'std::wistream::init()'],['http://en.cppreference.com/w/cpp/io/basic_ios/init.html',0,'std::stringstream::init()'],['http://en.cppreference.com/w/cpp/io/basic_ios/init.html',0,'std::ostream::init()'],['http://en.cppreference.com/w/cpp/io/basic_ios/init.html',0,'std::wifstream::init()'],['http://en.cppreference.com/w/cpp/io/basic_ios/init.html',0,'std::basic_istream::init()'],['http://en.cppreference.com/w/cpp/io/basic_ios/init.html',0,'std::strstream::init()'],['http://en.cppreference.com/w/cpp/io/basic_ios/init.html',0,'std::basic_stringstream::init()'],['http://en.cppreference.com/w/cpp/io/basic_ios/init.html',0,'std::wostringstream::init()'],['http://en.cppreference.com/w/cpp/io/basic_ios/init.html',0,'std::istrstream::init()'],['http://en.cppreference.com/w/cpp/io/basic_ios/init.html',0,'std::basic_ostream::init()'],['http://en.cppreference.com/w/cpp/io/basic_ios/init.html',0,'std::wiostream::init()'],['http://en.cppreference.com/w/cpp/io/basic_ios/init.html',0,'std::ofstream::init()'],['http://en.cppreference.com/w/cpp/io/basic_ios/init.html',0,'std::basic_istringstream::init()'],['http://en.cppreference.com/w/cpp/io/basic_ios/init.html',0,'std::basic_ifstream::init()'],['http://en.cppreference.com/w/cpp/io/basic_ios/init.html',0,'std::istringstream::init()'],['http://en.cppreference.com/w/cpp/io/basic_ios/init.html',0,'std::istream::init()'],['http://en.cppreference.com/w/cpp/io/basic_ios/init.html',0,'std::ostrstream::init()'],['http://en.cppreference.com/w/cpp/io/basic_ios/init.html',0,'std::wfstream::init()'],['http://en.cppreference.com/w/cpp/io/basic_ios/init.html',0,'std::basic_iostream::init()'],['http://en.cppreference.com/w/cpp/io/basic_ios/init.html',0,'std::wofstream::init()'],['http://en.cppreference.com/w/cpp/io/basic_ios/init.html',0,'std::wstringstream::init()'],['http://en.cppreference.com/w/cpp/io/basic_ios/init.html',0,'std::wistringstream::init()'],['http://en.cppreference.com/w/cpp/io/basic_ios/init.html',0,'std::ifstream::init()'],['../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html#ad22d760a5a33545a70e7ea5e1786c8dc',1,'range_queries::heavy_light_decomposition::Tree::init()'],['../d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d.html#ae9e979edd69678b85665c01e2ee97828',1,'range_queries::heavy_light_decomposition::HLD::init()'],['../d8/d41/namespacegames_1_1memory__game.html#ad573c8ae66ab66156d03e5e81bbba214',1,'games::memory_game::init()']]], - ['init_5fbad_5fchar_17',['init_bad_char',['../d0/dbc/namespacestrings_1_1boyer__moore.html#a2f6688c9bb3e692297a3aa09cebc1c00',1,'strings::boyer_moore']]], - ['init_5fgood_5fsuffix_18',['init_good_suffix',['../d0/dbc/namespacestrings_1_1boyer__moore.html#aa709cf7fca02b7d3e1888423d5f739a1',1,'strings::boyer_moore']]], - ['init_5fpattern_19',['init_pattern',['../d0/dbc/namespacestrings_1_1boyer__moore.html#a0b165af1dc341289fd705be4c67728f8',1,'strings::boyer_moore']]], - ['initializer_5flist_20',['initializer_list',['http://en.cppreference.com/w/cpp/utility/initializer_list/initializer_list.html',0,'std::initializer_list']]], - ['inner_5fallocator_21',['inner_allocator',['http://en.cppreference.com/w/cpp/memory/scoped_allocator_adaptor/inner_allocator.html',0,'std::scoped_allocator_adaptor']]], - ['inner_5fproduct_22',['inner_product',['http://en.cppreference.com/w/cpp/algorithm/inner_product.html',0,'std']]], - ['inorderiterative_23',['inOrderIterative',['../d9/d12/classothers_1_1iterative__tree__traversals_1_1_binary_tree.html#a0c33f2c1a3a3deb486a1c33ee5239499',1,'others::iterative_tree_traversals::BinaryTree']]], - ['inplace_5fmerge_24',['inplace_merge',['http://en.cppreference.com/w/cpp/algorithm/inplace_merge.html',0,'std']]], - ['insameunion_25',['InSameUnion',['../de/d23/disjoint__set_8cpp.html#a2fb0a7cd26a477e2d48ba7e0118bc985',1,'disjoint_set.cpp']]], - ['insert_26',['Insert',['../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a6749ebb40710c9752a2771eda03c6b3e',1,'data_structures::tree_234::Tree234::Insert(int64_t item)'],['../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a02df91964915ca97609d35f847faff5f',1,'data_structures::tree_234::Tree234::Insert(Node *tree, int64_t item)'],['../d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html#a7ecb75b985b1ffc575a880274f855b1c',1,'operations_on_datastructures::trie_operations::Tnode::Insert()'],['../d4/d32/inorder__successor__of__bst_8cpp.html#a3ae0bea4123fd2ce155108e88f2ef78c',1,'operations_on_datastructures::inorder_traversal_of_bst::Insert()']]], - ['insert_27',['insert',['http://en.cppreference.com/w/cpp/container/vector/insert.html',0,'std::vector::insert()'],['http://en.cppreference.com/w/cpp/container/multiset/insert.html',0,'std::multiset::insert()'],['http://en.cppreference.com/w/cpp/string/basic_string/insert.html',0,'std::string::insert()'],['http://en.cppreference.com/w/cpp/container/set/insert.html',0,'std::set::insert()'],['http://en.cppreference.com/w/cpp/container/unordered_map/insert.html',0,'std::unordered_map::insert()'],['http://en.cppreference.com/w/cpp/container/unordered_multimap/insert.html',0,'std::unordered_multimap::insert()'],['http://en.cppreference.com/w/cpp/container/deque/insert.html',0,'std::deque::insert()'],['http://en.cppreference.com/w/cpp/string/basic_string/insert.html',0,'std::basic_string::insert()'],['http://en.cppreference.com/w/cpp/string/basic_string/insert.html',0,'std::wstring::insert()'],['http://en.cppreference.com/w/cpp/container/unordered_multiset/insert.html',0,'std::unordered_multiset::insert()'],['http://en.cppreference.com/w/cpp/string/basic_string/insert.html',0,'std::u16string::insert()'],['http://en.cppreference.com/w/cpp/string/basic_string/insert.html',0,'std::u32string::insert()'],['http://en.cppreference.com/w/cpp/container/list/insert.html',0,'std::list::insert()'],['http://en.cppreference.com/w/cpp/container/map/insert.html',0,'std::map::insert()'],['http://en.cppreference.com/w/cpp/container/unordered_set/insert.html',0,'std::unordered_set::insert()'],['http://en.cppreference.com/w/cpp/container/multimap/insert.html',0,'std::multimap::insert()'],['../d9/dde/classbinary__search__tree.html#a9d1e7e10efa74d741bf48cf032df3778',1,'binary_search_tree::insert(std::unique_ptr< bst_node > &node, T new_value)'],['../d9/dde/classbinary__search__tree.html#a8168edf29316f2b436eac1fc416c52e0',1,'binary_search_tree::insert(T new_value)'],['../d5/dab/structdata__structures_1_1list__array_1_1list.html#aa960d714d449612f25256850d72325f1',1,'data_structures::list_array::list::insert()'],['../d1/def/classdata__structures_1_1linked__list_1_1list.html#aa69707af46eb6d410eb3a54ee58e1ed1',1,'data_structures::linked_list::list::insert()'],['../d5/d95/structdata__structures_1_1treap_1_1_treap.html#a5e884d2686aff501ef589b0d1185492f',1,'data_structures::treap::Treap::insert()'],['../dd/d2f/class_trie.html#afd8b79959009b554e98ea7128b2886f2',1,'Trie::insert()'],['../d0/d3e/classdata__structures_1_1trie.html#a0ab94bc6417e3f59fab33cea5b64d546',1,'data_structures::trie::insert()'],['../d3/d26/classdata__structures_1_1trie__using__hashmap_1_1_trie.html#abcae0a4456e7f583ce716e3ef466dfd2',1,'data_structures::trie_using_hashmap::Trie::insert()'],['../d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list.html#ac38565472a07d07f63ec0d2fd8a69d4d',1,'operations_on_datastructures::circular_linked_list::CircularLinkedList::insert(const std::vector< int64_t > &values)'],['../d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list.html#a3b7bbb0918c261bc216aef9e6dd39aa4',1,'operations_on_datastructures::circular_linked_list::CircularLinkedList::insert(int64_t data)'],['../d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list.html#a15150d6d933c58190c9c1dd7d22c51ae',1,'operations_on_datastructures::circular_linked_list::CircularLinkedList::insert(Node *node)'],['../de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree.html#adb2b6be741b0500ee75d89b6d06b5d50',1,'operations_on_datastructures::reverse_binary_tree::BinaryTree::insert()'],['../df/d34/classprobability_1_1windowed__median_1_1_windowed_median.html#a6b52b7851750f28d53508e63c52a69f7',1,'probability::windowed_median::WindowedMedian::insert()'],['../d8/dee/avltree_8cpp.html#a2473fe7416332495b2678ebe89652e4b',1,'insert(): avltree.cpp']]], - ['insert_5fafter_28',['insert_after',['http://en.cppreference.com/w/cpp/container/forward_list/insert_after.html',0,'std::forward_list']]], - ['insert_5felement_29',['insert_element',['../d8/d77/namespacemachine__learning.html#a496302e3371aa7b478cb7d5917904bdd',1,'machine_learning']]], - ['insertatthebeginning_30',['insertAtTheBeginning',['../d3/dce/linkedlist__implentation__usingarray_8cpp.html#afcb07da7984e20b3207934696791f5df',1,'linkedlist_implentation_usingarray.cpp']]], - ['insertelement_31',['insertElement',['../d4/d90/classdata__structures_1_1_skip_list.html#a40a4042bdf0b6683b5f21ae7854de8a9',1,'data_structures::SkipList']]], - ['inserter_32',['inserter',['http://en.cppreference.com/w/cpp/iterator/inserter.html',0,'std']]], - ['insertionsort_33',['InsertionSort',['../de/d7b/merge__insertion__sort_8cpp.html#a0cba4fbf287ab8cb978ed7f8fef886b1',1,'sorting::merge_insertion']]], - ['insertionsort_34',['insertionSort',['../d5/d91/namespacesorting.html#a78cb2f3b97b6db2c062b2a1df05c9ea9',1,'sorting::insertionSort(T *arr, int n)'],['../d5/d91/namespacesorting.html#a8fe6bac9e03f58abcc2ce26ef3de1b5f',1,'sorting::insertionSort(std::vector< T > *arr)']]], - ['insertionsort_5fbinsrch_35',['insertionSort_binsrch',['../d5/d91/namespacesorting.html#a5f4bc75cca6dd8294af2d0e328006c68',1,'sorting']]], - ['insertitem_36',['InsertItem',['../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a8e809ae85ae00e937f67ddb76951b6bb',1,'data_structures::tree_234::Node']]], - ['insertitembyindex_37',['InsertItemByIndex',['../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a306a30931f54c84098b38d6bc8f4a956',1,'data_structures::tree_234::Node']]], - ['insertkey_38',['insertKey',['../d2/d05/class_min_heap.html#aef78f3384f5a0ae880ad0883d2d44b82',1,'MinHeap']]], - ['insertpostmerge_39',['InsertPostMerge',['../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#aa7e5e00033f38006a224f30bdbf3f703',1,'data_structures::tree_234::Tree234']]], - ['insertpresplit_40',['InsertPreSplit',['../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a07811b3c564a3a443b106c9aa717629d',1,'data_structures::tree_234::Tree234']]], - ['inserttosorted_41',['insertToSorted',['../df/d34/classprobability_1_1windowed__median_1_1_windowed_median.html#a3a7f57679e9cd6c9f042dfd0612b2b24',1,'probability::windowed_median::WindowedMedian']]], - ['integral_5fapprox_42',['integral_approx',['../dd/d47/namespacemath.html#aec65db4e5c7317323227f026fe50ef11',1,'math']]], - ['integral_5fmonte_5fcarlo_43',['integral_monte_carlo',['../db/d40/integral__approximation2_8cpp.html#af7da9ba8932f1f48b9bbc2d80471af51',1,'math::monte_carlo']]], - ['interactive_44',['interactive',['../d5/d96/md5_8cpp.html#ac9e1a11f44135b890dd10a00e73b5661',1,'interactive(): md5.cpp'],['../d8/d7a/sha1_8cpp.html#ac9e1a11f44135b890dd10a00e73b5661',1,'interactive(): sha1.cpp']]], - ['internal_45',['internal',['http://en.cppreference.com/w/cpp/io/manip/left.html',0,'std']]], - ['interpolationsearch_46',['InterpolationSearch',['../df/d39/interpolation__search2_8cpp.html#aa3ec659ec8394d186c761df81ad1f629',1,'interpolation_search2.cpp']]], - ['intervals_47',['intervals',['http://en.cppreference.com/w/cpp/numeric/random/piecewise_constant_distribution/params.html',0,'std::piecewise_constant_distribution::intervals()'],['http://en.cppreference.com/w/cpp/numeric/random/piecewise_linear_distribution/params.html',0,'std::piecewise_linear_distribution::intervals()']]], - ['invalid_5fargument_48',['invalid_argument',['http://en.cppreference.com/w/cpp/error/invalid_argument.html',0,'std::invalid_argument']]], - ['inverse_5fcumulative_5fdistribution_49',['inverse_cumulative_distribution',['../da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution.html#aaf762e88c66918d7afda4234f28a7ddf',1,'probability::geometric_dist::geometric_distribution']]], - ['inversefastfouriertransform_50',['InverseFastFourierTransform',['../d1/de0/namespacenumerical__methods.html#aee56dc85997b8cd42bad71a5d6bd2d93',1,'numerical_methods']]], - ['ios_5fbase_51',['ios_base',['http://en.cppreference.com/w/cpp/io/ios_base/ios_base.html',0,'std::ios_base']]], - ['iostream_52',['iostream',['http://en.cppreference.com/w/cpp/io/basic_iostream/basic_iostream.html',0,'std::iostream']]], - ['iota_53',['iota',['http://en.cppreference.com/w/cpp/algorithm/iota.html',0,'std']]], - ['is_54',['is',['http://en.cppreference.com/w/cpp/locale/ctype/is.html',0,'std::ctype_byname::is()'],['http://en.cppreference.com/w/cpp/locale/ctype/is.html',0,'std::ctype::is()']]], - ['is2node_55',['Is2Node',['../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#afd9f83e2d5d7f22f79c1348e98914631',1,'data_structures::tree_234::Node']]], - ['is34node_56',['Is34Node',['../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a6c5f929afcbad5219646990edee22e18',1,'data_structures::tree_234::Node']]], - ['is_5farmstrong_57',['is_armstrong',['../dd/d24/namespacedynamic__programming.html#af046365a8d77a1267acc082f86135a26',1,'dynamic_programming']]], - ['is_5fbipartite_58',['is_bipartite',['../de/d00/classgraph_1_1is__graph__bipartite_1_1_graph.html#ad475f8b838693812f7569a490729f373',1,'graph::is_graph_bipartite::Graph']]], - ['is_5ffactorial_59',['is_factorial',['../dd/d47/namespacemath.html#a6c72f756a7bf1b9043c357e3fe7814ca',1,'math']]], - ['is_5fhappy_60',['is_happy',['../db/df3/happy__number_8cpp.html#a00ccdb1166a7c83ac3c33ac67a2532b7',1,'happy_number.cpp']]], - ['is_5fheap_61',['is_heap',['http://en.cppreference.com/w/cpp/algorithm/is_heap.html',0,'std']]], - ['is_5fheap_5funtil_62',['is_heap_until',['http://en.cppreference.com/w/cpp/algorithm/is_heap_until.html',0,'std']]], - ['is_5flock_5ffree_63',['is_lock_free',['http://en.cppreference.com/w/cpp/atomic/atomic/is_lock_free.html',0,'std::atomic']]], - ['is_5fnumber_64',['is_number',['../d8/d41/namespacegames_1_1memory__game.html#a33167bb9cce6d527b478b4f6ae8c3f59',1,'games::memory_game::is_number()'],['../d7/d75/postfix__evaluation_8cpp.html#a4c27f949c9d6659be9f5bd2ccbe1360a',1,'others::postfix_expression::is_number()']]], - ['is_5fopen_65',['is_open',['http://en.cppreference.com/w/cpp/io/basic_ofstream/is_open.html',0,'std::basic_ofstream::is_open()'],['http://en.cppreference.com/w/cpp/io/basic_fstream/is_open.html',0,'std::fstream::is_open()'],['http://en.cppreference.com/w/cpp/io/basic_filebuf/is_open.html',0,'std::basic_filebuf::is_open()'],['http://en.cppreference.com/w/cpp/io/basic_fstream/is_open.html',0,'std::basic_fstream::is_open()'],['http://en.cppreference.com/w/cpp/io/basic_filebuf/is_open.html',0,'std::wfilebuf::is_open()'],['http://en.cppreference.com/w/cpp/io/basic_ifstream/is_open.html',0,'std::wifstream::is_open()'],['http://en.cppreference.com/w/cpp/io/basic_filebuf/is_open.html',0,'std::filebuf::is_open()'],['http://en.cppreference.com/w/cpp/io/basic_ofstream/is_open.html',0,'std::ofstream::is_open()'],['http://en.cppreference.com/w/cpp/io/basic_ifstream/is_open.html',0,'std::basic_ifstream::is_open()'],['http://en.cppreference.com/w/cpp/io/basic_fstream/is_open.html',0,'std::wfstream::is_open()'],['http://en.cppreference.com/w/cpp/io/basic_ofstream/is_open.html',0,'std::wofstream::is_open()'],['http://en.cppreference.com/w/cpp/io/basic_ifstream/is_open.html',0,'std::ifstream::is_open()']]], - ['is_5fpartitioned_66',['is_partitioned',['http://en.cppreference.com/w/cpp/algorithm/is_partitioned.html',0,'std']]], - ['is_5fpermutation_67',['is_permutation',['http://en.cppreference.com/w/cpp/algorithm/is_permutation.html',0,'std']]], - ['is_5fprefix_68',['is_prefix',['../d0/dbc/namespacestrings_1_1boyer__moore.html#a056122c8fe8fb0f5fca6428d3f7b5c3a',1,'strings::boyer_moore']]], - ['is_5fprime_69',['is_prime',['../dd/d47/namespacemath.html#abd8f794b2229b42876169ff841b6e444',1,'math']]], - ['is_5fsorted_70',['is_sorted',['http://en.cppreference.com/w/cpp/algorithm/is_sorted.html',0,'std']]], - ['is_5fsorted_5funtil_71',['is_sorted_until',['http://en.cppreference.com/w/cpp/algorithm/is_sorted_until.html',0,'std']]], - ['is_5fsquare_72',['is_square',['../dc/d38/ordinary__least__squares__regressor_8cpp.html#a8fa731952b0ee3bc7ec51c51ed21911e',1,'ordinary_least_squares_regressor.cpp']]], - ['isalnum_73',['isalnum',['http://en.cppreference.com/w/cpp/string/byte/isalnum.html',0,'std']]], - ['isalpha_74',['isalpha',['http://en.cppreference.com/w/cpp/string/byte/isalpha.html',0,'std']]], - ['isbigendian_75',['isBigEndian',['../d5/d96/md5_8cpp.html#af8e96bde0183c4b0a7ff04668f11e446',1,'hashing::md5']]], - ['isbipartite_76',['isBipartite',['../df/dce/namespacegraph.html#a84b0551489c613a681cc83b34450da4b',1,'graph']]], - ['isblank_77',['isblank',['http://en.cppreference.com/w/cpp/string/byte/isblank.html',0,'std']]], - ['iscntrl_78',['iscntrl',['http://en.cppreference.com/w/cpp/string/byte/iscntrl.html',0,'std']]], - ['isctype_79',['isctype',['http://en.cppreference.com/w/cpp/regex/regex_traits/isctype.html',0,'std::regex_traits']]], - ['iscyclicbfs_80',['isCyclicBFS',['../d3/dbb/class_cycle_check.html#a399292a33edf87499daa52b51315aca5',1,'CycleCheck']]], - ['iscyclicdfs_81',['isCyclicDFS',['../d3/dbb/class_cycle_check.html#ad9a270ffba3a68539b92272c702e3474',1,'CycleCheck']]], - ['iscyclicdfshelper_82',['isCyclicDFSHelper',['../d3/dbb/class_cycle_check.html#a2f4485c08b45e7a21a2e86f9c3f01d8b',1,'CycleCheck']]], - ['isdigit_83',['isDigit',['../da/dc3/linked__list_8cpp.html#ab1a372fe1e605bc0e0987dcdd7361180',1,'data_structures::linked_list']]], - ['isdigit_84',['isdigit',['http://en.cppreference.com/w/cpp/string/byte/isdigit.html',0,'std']]], - ['isempty_85',['isEmpty',['../d1/def/classdata__structures_1_1linked__list_1_1list.html#a454ab4918f579869dfed4bb420a3f897',1,'data_structures::linked_list::list::isEmpty()'],['../d1/def/classdata__structures_1_1linked__list_1_1list.html#a73c52b2243a6c9501af65756123e7149',1,'data_structures::linked_list::list::isEmpty() const']]], - ['isemptyqueue_86',['isEmptyQueue',['../db/da9/classqueue.html#a4bc52ad6ed6b0cc33ad05f87f05f8bec',1,'queue']]], - ['isemptystack_87',['isEmptyStack',['../d1/dc2/classstack.html#a163eb9a6206c874c9bf98d032fca11c5',1,'stack']]], - ['isfinite_88',['isfinite',['http://en.cppreference.com/w/cpp/numeric/math/isfinite.html',0,'std']]], - ['isfull_89',['IsFull',['../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a4a37381c0ef93d5ae2118b2e554974dd',1,'data_structures::tree_234::Node']]], - ['isgraph_90',['isgraph',['http://en.cppreference.com/w/cpp/string/byte/isgraph.html',0,'std']]], - ['isinf_91',['isinf',['http://en.cppreference.com/w/cpp/numeric/math/isinf.html',0,'std']]], - ['isleaf_92',['IsLeaf',['../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a607d8201b00b142bf1d6a34df2f936e8',1,'data_structures::tree_234::Node']]], - ['islower_93',['islower',['http://en.cppreference.com/w/cpp/string/byte/islower.html',0,'std']]], - ['isnan_94',['isnan',['http://en.cppreference.com/w/cpp/numeric/math/isnan.html',0,'std']]], - ['isnormal_95',['isnormal',['http://en.cppreference.com/w/cpp/numeric/math/isnormal.html',0,'std']]], - ['ispossible_96',['isPossible',['../d3/d05/sudoku__solver_8cpp.html#a07dc6acffd0500de9bdbf16b3ade94b0',1,'backtracking::sudoku_solver']]], - ['ispoweroftwo_97',['isPowerOfTwo',['../d7/d81/namespacebit__manipulation.html#a5032470c9974bbd6ec254bf296530a5f',1,'bit_manipulation']]], - ['isprime_98',['IsPrime',['../da/d7b/primality__test_8cpp.html#a2bfa6adead2bdcbf1dac94cbe08d7eaf',1,'primality_test.cpp']]], - ['isprime_99',['isPrime',['../d8/d53/modular__inverse__fermat__little__theorem_8cpp.html#aba4929409fee35c3cb559e962a544b3e',1,'math::modular_inverse_fermat']]], - ['isprint_100',['isprint',['http://en.cppreference.com/w/cpp/string/byte/isprint.html',0,'std']]], - ['ispunct_101',['ispunct',['http://en.cppreference.com/w/cpp/string/byte/ispunct.html',0,'std']]], - ['issafe_102',['isSafe',['../d3/d40/graph__coloring_8cpp.html#a976efe049deb042bf1f02612e181ab1d',1,'backtracking::graph_coloring::isSafe()'],['../d4/d3e/n__queens_8cpp.html#a5730b6683f6adcf5c5ef75cf53dc7160',1,'backtracking::n_queens::isSafe()']]], - ['issafe_103',['issafe',['../d1/d2a/knight__tour_8cpp.html#af27031fbff093ffd625f64010d98aab2',1,'backtracking::knight_tour']]], - ['issame_104',['isSame',['../dd/d1f/classdsu.html#a64d25c5986742f7c234ed449b2ff7303',1,'dsu::isSame(uint64_t i, uint64_t j)'],['../dd/d1f/classdsu.html#a64d25c5986742f7c234ed449b2ff7303',1,'dsu::isSame(uint64_t i, uint64_t j)']]], - ['isspace_105',['isspace',['http://en.cppreference.com/w/cpp/string/byte/isspace.html',0,'std']]], - ['istream_106',['istream',['http://en.cppreference.com/w/cpp/io/basic_istream/basic_istream.html',0,'std::istream']]], - ['istringstream_107',['istringstream',['http://en.cppreference.com/w/cpp/io/basic_istringstream/basic_istringstream.html',0,'std::istringstream']]], - ['istrstream_108',['istrstream',['http://en.cppreference.com/w/cpp/io/istrstream/istrstream.html',0,'std::istrstream']]], - ['isupper_109',['isupper',['http://en.cppreference.com/w/cpp/string/byte/isupper.html',0,'std']]], - ['isvalidbinarystring_110',['isValidBinaryString',['../de/df6/classgreedy__algorithms_1_1_binary_addition.html#a4cfb595ba80795a9efae0e3f6f5c34d2',1,'greedy_algorithms::BinaryAddition']]], - ['iswalnum_111',['iswalnum',['http://en.cppreference.com/w/cpp/string/wide/iswalnum.html',0,'std']]], - ['iswalpha_112',['iswalpha',['http://en.cppreference.com/w/cpp/string/wide/iswalpha.html',0,'std']]], - ['iswblank_113',['iswblank',['http://en.cppreference.com/w/cpp/string/wide/iswblank.html',0,'std']]], - ['iswcntrl_114',['iswcntrl',['http://en.cppreference.com/w/cpp/string/wide/iswcntrl.html',0,'std']]], - ['iswctype_115',['iswctype',['http://en.cppreference.com/w/cpp/string/wide/iswctype.html',0,'std']]], - ['iswdigit_116',['iswdigit',['http://en.cppreference.com/w/cpp/string/wide/iswdigit.html',0,'std']]], - ['iswgraph_117',['iswgraph',['http://en.cppreference.com/w/cpp/string/wide/iswgraph.html',0,'std']]], - ['iswlower_118',['iswlower',['http://en.cppreference.com/w/cpp/string/wide/iswlower.html',0,'std']]], - ['iswprint_119',['iswprint',['http://en.cppreference.com/w/cpp/string/wide/iswprint.html',0,'std']]], - ['iswpunct_120',['iswpunct',['http://en.cppreference.com/w/cpp/string/wide/iswpunct.html',0,'std']]], - ['iswspace_121',['iswspace',['http://en.cppreference.com/w/cpp/string/wide/iswspace.html',0,'std']]], - ['iswupper_122',['iswupper',['http://en.cppreference.com/w/cpp/string/wide/iswupper.html',0,'std']]], - ['iswxdigit_123',['iswxdigit',['http://en.cppreference.com/w/cpp/string/wide/iswxdigit.html',0,'std']]], - ['isxdigit_124',['isxdigit',['http://en.cppreference.com/w/cpp/string/byte/isxdigit.html',0,'std']]], - ['it_5fternary_5fsearch_125',['it_ternary_search',['../dc/dfe/ternary__search_8cpp.html#ae30dfe2894191bfeffe5b3b1854b95b0',1,'ternary_search.cpp']]], - ['iter_5fswap_126',['iter_swap',['http://en.cppreference.com/w/cpp/algorithm/iter_swap.html',0,'std']]], - ['iterativefactorial_127',['iterativeFactorial',['../dd/d47/namespacemath.html#a2565c745aac2f9561cc6fd9e56d9b77a',1,'math']]], - ['iterativequicksort_128',['iterativeQuickSort',['../d5/d91/namespacesorting.html#a263595fd9a0163b5b997b89fab3a0dc5',1,'sorting']]], - ['iword_129',['iword',['http://en.cppreference.com/w/cpp/io/ios_base/iword.html',0,'std::basic_ofstream::iword()'],['http://en.cppreference.com/w/cpp/io/ios_base/iword.html',0,'std::fstream::iword()'],['http://en.cppreference.com/w/cpp/io/ios_base/iword.html',0,'std::wostream::iword()'],['http://en.cppreference.com/w/cpp/io/ios_base/iword.html',0,'std::basic_ostringstream::iword()'],['http://en.cppreference.com/w/cpp/io/ios_base/iword.html',0,'std::basic_ios::iword()'],['http://en.cppreference.com/w/cpp/io/ios_base/iword.html',0,'std::ostringstream::iword()'],['http://en.cppreference.com/w/cpp/io/ios_base/iword.html',0,'std::basic_fstream::iword()'],['http://en.cppreference.com/w/cpp/io/ios_base/iword.html',0,'std::iostream::iword()'],['http://en.cppreference.com/w/cpp/io/ios_base/iword.html',0,'std::ios_base::iword()'],['http://en.cppreference.com/w/cpp/io/ios_base/iword.html',0,'std::wistream::iword()'],['http://en.cppreference.com/w/cpp/io/ios_base/iword.html',0,'std::stringstream::iword()'],['http://en.cppreference.com/w/cpp/io/ios_base/iword.html',0,'std::ostream::iword()'],['http://en.cppreference.com/w/cpp/io/ios_base/iword.html',0,'std::wifstream::iword()'],['http://en.cppreference.com/w/cpp/io/ios_base/iword.html',0,'std::basic_istream::iword()'],['http://en.cppreference.com/w/cpp/io/ios_base/iword.html',0,'std::strstream::iword()'],['http://en.cppreference.com/w/cpp/io/ios_base/iword.html',0,'std::basic_stringstream::iword()'],['http://en.cppreference.com/w/cpp/io/ios_base/iword.html',0,'std::wostringstream::iword()'],['http://en.cppreference.com/w/cpp/io/ios_base/iword.html',0,'std::istrstream::iword()'],['http://en.cppreference.com/w/cpp/io/ios_base/iword.html',0,'std::basic_ostream::iword()'],['http://en.cppreference.com/w/cpp/io/ios_base/iword.html',0,'std::wiostream::iword()'],['http://en.cppreference.com/w/cpp/io/ios_base/iword.html',0,'std::ofstream::iword()'],['http://en.cppreference.com/w/cpp/io/ios_base/iword.html',0,'std::basic_istringstream::iword()'],['http://en.cppreference.com/w/cpp/io/ios_base/iword.html',0,'std::basic_ifstream::iword()'],['http://en.cppreference.com/w/cpp/io/ios_base/iword.html',0,'std::istringstream::iword()'],['http://en.cppreference.com/w/cpp/io/ios_base/iword.html',0,'std::istream::iword()'],['http://en.cppreference.com/w/cpp/io/ios_base/iword.html',0,'std::ostrstream::iword()'],['http://en.cppreference.com/w/cpp/io/ios_base/iword.html',0,'std::wfstream::iword()'],['http://en.cppreference.com/w/cpp/io/ios_base/iword.html',0,'std::basic_iostream::iword()'],['http://en.cppreference.com/w/cpp/io/ios_base/iword.html',0,'std::wofstream::iword()'],['http://en.cppreference.com/w/cpp/io/ios_base/iword.html',0,'std::wstringstream::iword()'],['http://en.cppreference.com/w/cpp/io/ios_base/iword.html',0,'std::wistringstream::iword()'],['http://en.cppreference.com/w/cpp/io/ios_base/iword.html',0,'std::ifstream::iword()']]] + ['identity_5ffunction_0',['identity_function',['../d2/d58/neural__network_8cpp.html#a32c00da08f2cf641dd336270f6e3c407',1,'machine_learning::neural_network::util_functions']]], + ['imag_1',['imag',['../da/d5a/class_complex.html#af8aacf982e2e6c142921bc850f6dc974',1,'Complex']]], + ['imod_2',['imod',['../d6/d2d/modular__inverse__simple_8cpp.html#a618b198f74a88ab0023355b3a05d9ad6',1,'modular_inverse_simple.cpp']]], + ['in_5frange_3',['in_range',['../dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle.html#a48d054230468b79037964f474d842b6e',1,'machine_learning::aystar_search::EightPuzzle']]], + ['increase_5ffrequency_4',['increase_frequency',['../df/d8f/classothers_1_1_cache_1_1_l_f_u_cache.html#a16a25c102554c5653721a5112ef676c9',1,'others::Cache::LFUCache']]], + ['info_5',['Info',['../da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html#aaa7ea27346659f0abe2df82ca57fc5a7',1,'machine_learning::aystar_search::AyStarSearch::Info::Info()=default'],['../da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html#a695e4314ebc3ab58e13004dc63599fe8',1,'machine_learning::aystar_search::AyStarSearch::Info::Info(const Puzzle &A)'],['../da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html#ad3950824936488f66408313b1f8a8ca8',1,'machine_learning::aystar_search::AyStarSearch::Info::Info(const Puzzle &A, size_t h_value, size_t d)'],['../da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html#a572de12115e39e34dde6e68b707d59f5',1,'machine_learning::aystar_search::AyStarSearch::Info::Info(const Info &A)'],['../da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html#a6abc89925ae7055a63b428e61525ad7a',1,'machine_learning::aystar_search::AyStarSearch::Info::Info(const Info &&A) noexcept']]], + ['init_6',['init',['../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html#ad22d760a5a33545a70e7ea5e1786c8dc',1,'range_queries::heavy_light_decomposition::Tree::init()'],['../d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d.html#ae9e979edd69678b85665c01e2ee97828',1,'range_queries::heavy_light_decomposition::HLD::init()'],['../d8/d41/namespacegames_1_1memory__game.html#ad573c8ae66ab66156d03e5e81bbba214',1,'games::memory_game::init()']]], + ['init_5fbad_5fchar_7',['init_bad_char',['../d0/dbc/namespacestrings_1_1boyer__moore.html#a2f6688c9bb3e692297a3aa09cebc1c00',1,'strings::boyer_moore']]], + ['init_5fgood_5fsuffix_8',['init_good_suffix',['../d0/dbc/namespacestrings_1_1boyer__moore.html#aa709cf7fca02b7d3e1888423d5f739a1',1,'strings::boyer_moore']]], + ['init_5fpattern_9',['init_pattern',['../d0/dbc/namespacestrings_1_1boyer__moore.html#a0b165af1dc341289fd705be4c67728f8',1,'strings::boyer_moore']]], + ['inorderiterative_10',['inOrderIterative',['../d9/d12/classothers_1_1iterative__tree__traversals_1_1_binary_tree.html#a0c33f2c1a3a3deb486a1c33ee5239499',1,'others::iterative_tree_traversals::BinaryTree']]], + ['insameunion_11',['InSameUnion',['../de/d23/disjoint__set_8cpp.html#a2fb0a7cd26a477e2d48ba7e0118bc985',1,'disjoint_set.cpp']]], + ['insert_12',['Insert',['../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a6749ebb40710c9752a2771eda03c6b3e',1,'data_structures::tree_234::Tree234::Insert(int64_t item)'],['../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a02df91964915ca97609d35f847faff5f',1,'data_structures::tree_234::Tree234::Insert(Node *tree, int64_t item)'],['../d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html#a7ecb75b985b1ffc575a880274f855b1c',1,'operations_on_datastructures::trie_operations::Tnode::Insert()'],['../d4/d32/inorder__successor__of__bst_8cpp.html#a3ae0bea4123fd2ce155108e88f2ef78c',1,'operations_on_datastructures::inorder_traversal_of_bst::Insert()']]], + ['insert_13',['insert',['../d9/dde/classbinary__search__tree.html#a9d1e7e10efa74d741bf48cf032df3778',1,'binary_search_tree::insert(std::unique_ptr< bst_node > &node, T new_value)'],['../d9/dde/classbinary__search__tree.html#a8168edf29316f2b436eac1fc416c52e0',1,'binary_search_tree::insert(T new_value)'],['../d5/dab/structdata__structures_1_1list__array_1_1list.html#aa960d714d449612f25256850d72325f1',1,'data_structures::list_array::list::insert()'],['../d1/def/classdata__structures_1_1linked__list_1_1list.html#aa69707af46eb6d410eb3a54ee58e1ed1',1,'data_structures::linked_list::list::insert()'],['../d5/d95/structdata__structures_1_1treap_1_1_treap.html#a5e884d2686aff501ef589b0d1185492f',1,'data_structures::treap::Treap::insert()'],['../dd/d2f/class_trie.html#afd8b79959009b554e98ea7128b2886f2',1,'Trie::insert()'],['../d0/d3e/classdata__structures_1_1trie.html#a0ab94bc6417e3f59fab33cea5b64d546',1,'data_structures::trie::insert()'],['../d3/d26/classdata__structures_1_1trie__using__hashmap_1_1_trie.html#abcae0a4456e7f583ce716e3ef466dfd2',1,'data_structures::trie_using_hashmap::Trie::insert()'],['../d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list.html#ac38565472a07d07f63ec0d2fd8a69d4d',1,'operations_on_datastructures::circular_linked_list::CircularLinkedList::insert(const std::vector< int64_t > &values)'],['../d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list.html#a3b7bbb0918c261bc216aef9e6dd39aa4',1,'operations_on_datastructures::circular_linked_list::CircularLinkedList::insert(int64_t data)'],['../d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list.html#a15150d6d933c58190c9c1dd7d22c51ae',1,'operations_on_datastructures::circular_linked_list::CircularLinkedList::insert(Node *node)'],['../de/dcf/classoperations__on__datastructures_1_1reverse__binary__tree_1_1_binary_tree.html#adb2b6be741b0500ee75d89b6d06b5d50',1,'operations_on_datastructures::reverse_binary_tree::BinaryTree::insert()'],['../df/d34/classprobability_1_1windowed__median_1_1_windowed_median.html#a6b52b7851750f28d53508e63c52a69f7',1,'probability::windowed_median::WindowedMedian::insert()'],['../d8/dee/avltree_8cpp.html#a2473fe7416332495b2678ebe89652e4b',1,'insert(): avltree.cpp']]], + ['insert_5felement_14',['insert_element',['../d8/d77/namespacemachine__learning.html#a496302e3371aa7b478cb7d5917904bdd',1,'machine_learning']]], + ['insertatthebeginning_15',['insertAtTheBeginning',['../d3/dce/linkedlist__implentation__usingarray_8cpp.html#afcb07da7984e20b3207934696791f5df',1,'linkedlist_implentation_usingarray.cpp']]], + ['insertelement_16',['insertElement',['../d4/d90/classdata__structures_1_1_skip_list.html#a40a4042bdf0b6683b5f21ae7854de8a9',1,'data_structures::SkipList']]], + ['insertionsort_17',['InsertionSort',['../de/d7b/merge__insertion__sort_8cpp.html#a0cba4fbf287ab8cb978ed7f8fef886b1',1,'sorting::merge_insertion']]], + ['insertionsort_18',['insertionSort',['../d5/d91/namespacesorting.html#a78cb2f3b97b6db2c062b2a1df05c9ea9',1,'sorting::insertionSort(T *arr, int n)'],['../d5/d91/namespacesorting.html#a8fe6bac9e03f58abcc2ce26ef3de1b5f',1,'sorting::insertionSort(std::vector< T > *arr)']]], + ['insertionsort_5fbinsrch_19',['insertionSort_binsrch',['../d5/d91/namespacesorting.html#a5f4bc75cca6dd8294af2d0e328006c68',1,'sorting']]], + ['insertitem_20',['InsertItem',['../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a8e809ae85ae00e937f67ddb76951b6bb',1,'data_structures::tree_234::Node']]], + ['insertitembyindex_21',['InsertItemByIndex',['../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a306a30931f54c84098b38d6bc8f4a956',1,'data_structures::tree_234::Node']]], + ['insertkey_22',['insertKey',['../d2/d05/class_min_heap.html#aef78f3384f5a0ae880ad0883d2d44b82',1,'MinHeap']]], + ['insertpostmerge_23',['InsertPostMerge',['../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#aa7e5e00033f38006a224f30bdbf3f703',1,'data_structures::tree_234::Tree234']]], + ['insertpresplit_24',['InsertPreSplit',['../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a07811b3c564a3a443b106c9aa717629d',1,'data_structures::tree_234::Tree234']]], + ['inserttosorted_25',['insertToSorted',['../df/d34/classprobability_1_1windowed__median_1_1_windowed_median.html#a3a7f57679e9cd6c9f042dfd0612b2b24',1,'probability::windowed_median::WindowedMedian']]], + ['integral_5fapprox_26',['integral_approx',['../dd/d47/namespacemath.html#aec65db4e5c7317323227f026fe50ef11',1,'math']]], + ['integral_5fmonte_5fcarlo_27',['integral_monte_carlo',['../db/d40/integral__approximation2_8cpp.html#af7da9ba8932f1f48b9bbc2d80471af51',1,'math::monte_carlo']]], + ['interactive_28',['interactive',['../d5/d96/md5_8cpp.html#ac9e1a11f44135b890dd10a00e73b5661',1,'interactive(): md5.cpp'],['../d8/d7a/sha1_8cpp.html#ac9e1a11f44135b890dd10a00e73b5661',1,'interactive(): sha1.cpp']]], + ['interpolationsearch_29',['InterpolationSearch',['../df/d39/interpolation__search2_8cpp.html#aa3ec659ec8394d186c761df81ad1f629',1,'interpolation_search2.cpp']]], + ['inverse_5fcumulative_5fdistribution_30',['inverse_cumulative_distribution',['../da/d19/classprobability_1_1geometric__dist_1_1geometric__distribution.html#aaf762e88c66918d7afda4234f28a7ddf',1,'probability::geometric_dist::geometric_distribution']]], + ['inversefastfouriertransform_31',['InverseFastFourierTransform',['../d1/de0/namespacenumerical__methods.html#aee56dc85997b8cd42bad71a5d6bd2d93',1,'numerical_methods']]], + ['is2node_32',['Is2Node',['../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#afd9f83e2d5d7f22f79c1348e98914631',1,'data_structures::tree_234::Node']]], + ['is34node_33',['Is34Node',['../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a6c5f929afcbad5219646990edee22e18',1,'data_structures::tree_234::Node']]], + ['is_5farmstrong_34',['is_armstrong',['../dd/d24/namespacedynamic__programming.html#af046365a8d77a1267acc082f86135a26',1,'dynamic_programming']]], + ['is_5fbipartite_35',['is_bipartite',['../de/d00/classgraph_1_1is__graph__bipartite_1_1_graph.html#ad475f8b838693812f7569a490729f373',1,'graph::is_graph_bipartite::Graph']]], + ['is_5ffactorial_36',['is_factorial',['../dd/d47/namespacemath.html#a6c72f756a7bf1b9043c357e3fe7814ca',1,'math']]], + ['is_5fhappy_37',['is_happy',['../db/df3/happy__number_8cpp.html#a00ccdb1166a7c83ac3c33ac67a2532b7',1,'happy_number.cpp']]], + ['is_5fnumber_38',['is_number',['../d8/d41/namespacegames_1_1memory__game.html#a33167bb9cce6d527b478b4f6ae8c3f59',1,'games::memory_game::is_number()'],['../d7/d75/postfix__evaluation_8cpp.html#a4c27f949c9d6659be9f5bd2ccbe1360a',1,'others::postfix_expression::is_number()']]], + ['is_5fprefix_39',['is_prefix',['../d0/dbc/namespacestrings_1_1boyer__moore.html#a056122c8fe8fb0f5fca6428d3f7b5c3a',1,'strings::boyer_moore']]], + ['is_5fprime_40',['is_prime',['../dd/d47/namespacemath.html#abd8f794b2229b42876169ff841b6e444',1,'math']]], + ['is_5fsquare_41',['is_square',['../dc/d38/ordinary__least__squares__regressor_8cpp.html#a8fa731952b0ee3bc7ec51c51ed21911e',1,'ordinary_least_squares_regressor.cpp']]], + ['isbigendian_42',['isBigEndian',['../d5/d96/md5_8cpp.html#af8e96bde0183c4b0a7ff04668f11e446',1,'hashing::md5']]], + ['isbipartite_43',['isBipartite',['../df/dce/namespacegraph.html#a84b0551489c613a681cc83b34450da4b',1,'graph']]], + ['iscyclicbfs_44',['isCyclicBFS',['../d3/dbb/class_cycle_check.html#a399292a33edf87499daa52b51315aca5',1,'CycleCheck']]], + ['iscyclicdfs_45',['isCyclicDFS',['../d3/dbb/class_cycle_check.html#ad9a270ffba3a68539b92272c702e3474',1,'CycleCheck']]], + ['iscyclicdfshelper_46',['isCyclicDFSHelper',['../d3/dbb/class_cycle_check.html#a2f4485c08b45e7a21a2e86f9c3f01d8b',1,'CycleCheck']]], + ['isdigit_47',['isDigit',['../da/dc3/linked__list_8cpp.html#ab1a372fe1e605bc0e0987dcdd7361180',1,'data_structures::linked_list']]], + ['isempty_48',['isEmpty',['../d1/def/classdata__structures_1_1linked__list_1_1list.html#a454ab4918f579869dfed4bb420a3f897',1,'data_structures::linked_list::list::isEmpty()'],['../d1/def/classdata__structures_1_1linked__list_1_1list.html#a73c52b2243a6c9501af65756123e7149',1,'data_structures::linked_list::list::isEmpty() const']]], + ['isemptyqueue_49',['isEmptyQueue',['../db/da9/classqueue.html#a4bc52ad6ed6b0cc33ad05f87f05f8bec',1,'queue']]], + ['isemptystack_50',['isEmptyStack',['../d1/dc2/classstack.html#a163eb9a6206c874c9bf98d032fca11c5',1,'stack']]], + ['isfull_51',['IsFull',['../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a4a37381c0ef93d5ae2118b2e554974dd',1,'data_structures::tree_234::Node']]], + ['isleaf_52',['IsLeaf',['../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#a607d8201b00b142bf1d6a34df2f936e8',1,'data_structures::tree_234::Node']]], + ['ispossible_53',['isPossible',['../d3/d05/sudoku__solver_8cpp.html#a07dc6acffd0500de9bdbf16b3ade94b0',1,'backtracking::sudoku_solver']]], + ['ispoweroftwo_54',['isPowerOfTwo',['../d7/d81/namespacebit__manipulation.html#a5032470c9974bbd6ec254bf296530a5f',1,'bit_manipulation']]], + ['isprime_55',['IsPrime',['../da/d7b/primality__test_8cpp.html#a2bfa6adead2bdcbf1dac94cbe08d7eaf',1,'primality_test.cpp']]], + ['isprime_56',['isPrime',['../d8/d53/modular__inverse__fermat__little__theorem_8cpp.html#aba4929409fee35c3cb559e962a544b3e',1,'math::modular_inverse_fermat']]], + ['issafe_57',['isSafe',['../d3/d40/graph__coloring_8cpp.html#a976efe049deb042bf1f02612e181ab1d',1,'backtracking::graph_coloring::isSafe()'],['../d4/d3e/n__queens_8cpp.html#a5730b6683f6adcf5c5ef75cf53dc7160',1,'backtracking::n_queens::isSafe()']]], + ['issafe_58',['issafe',['../d1/d2a/knight__tour_8cpp.html#af27031fbff093ffd625f64010d98aab2',1,'backtracking::knight_tour']]], + ['issame_59',['isSame',['../dd/d1f/classdsu.html#a64d25c5986742f7c234ed449b2ff7303',1,'dsu::isSame(uint64_t i, uint64_t j)'],['../dd/d1f/classdsu.html#a64d25c5986742f7c234ed449b2ff7303',1,'dsu::isSame(uint64_t i, uint64_t j)']]], + ['isvalidbinarystring_60',['isValidBinaryString',['../de/df6/classgreedy__algorithms_1_1_binary_addition.html#a4cfb595ba80795a9efae0e3f6f5c34d2',1,'greedy_algorithms::BinaryAddition']]], + ['it_5fternary_5fsearch_61',['it_ternary_search',['../dc/dfe/ternary__search_8cpp.html#ae30dfe2894191bfeffe5b3b1854b95b0',1,'ternary_search.cpp']]], + ['iterativefactorial_62',['iterativeFactorial',['../dd/d47/namespacemath.html#a2565c745aac2f9561cc6fd9e56d9b77a',1,'math']]], + ['iterativequicksort_63',['iterativeQuickSort',['../d5/d91/namespacesorting.html#a263595fd9a0163b5b997b89fab3a0dc5',1,'sorting']]] ]; diff --git a/search/functions_a.js b/search/functions_a.js index 659adc86b..fe876b46f 100644 --- a/search/functions_a.js +++ b/search/functions_a.js @@ -1,6 +1,4 @@ var searchData= [ - ['join_0',['join',['http://en.cppreference.com/w/cpp/thread/thread/join.html',0,'std::thread']]], - ['joinable_1',['joinable',['http://en.cppreference.com/w/cpp/thread/thread/joinable.html',0,'std::thread']]], - ['jumpsearch_2',['jumpSearch',['../d2/d22/jump__search_8cpp.html#ab49fd8f401bfc71f63b74711390cccf0',1,'jump_search.cpp']]] + ['jumpsearch_0',['jumpSearch',['../d2/d22/jump__search_8cpp.html#ab49fd8f401bfc71f63b74711390cccf0',1,'jump_search.cpp']]] ]; diff --git a/search/functions_b.js b/search/functions_b.js index 3e486650b..01da54c1d 100644 --- a/search/functions_b.js +++ b/search/functions_b.js @@ -1,16 +1,12 @@ var searchData= [ - ['k_0',['k',['http://en.cppreference.com/w/cpp/numeric/random/negative_binomial_distribution/params.html',0,'std::negative_binomial_distribution::k()'],['../d4/d18/composite__simpson__rule_8cpp.html#a1b74d828b33760094906797042b89442',1,'numerical_methods::simpson_method::k()'],['../df/d11/midpoint__integral__method_8cpp.html#ae9f66040f8e0ba73c1c741261c22a52a',1,'numerical_methods::midpoint_rule::k()']]], + ['k_0',['k',['../d4/d18/composite__simpson__rule_8cpp.html#a1b74d828b33760094906797042b89442',1,'numerical_methods::simpson_method::k()'],['../df/d11/midpoint__integral__method_8cpp.html#ae9f66040f8e0ba73c1c741261c22a52a',1,'numerical_methods::midpoint_rule::k()']]], ['karatsuba_5falgorithm_1',['karatsuba_algorithm',['../da/dd3/karatsuba__algorithm__for__fast__multiplication_8cpp.html#a7a890d2f26855ada3b9f1d43aec70a86',1,'divide_and_conquer::karatsuba_algorithm']]], ['kelvin_5fto_5fcelsius_2',['kelvin_to_celsius',['../d0/d6f/namespaceothers.html#a48677fae5d683070432b1a905722d9ec',1,'others']]], - ['key_5fcomp_3',['key_comp',['http://en.cppreference.com/w/cpp/container/multiset/key_comp.html',0,'std::multiset::key_comp()'],['http://en.cppreference.com/w/cpp/container/set/key_comp.html',0,'std::set::key_comp()'],['http://en.cppreference.com/w/cpp/container/map/key_comp.html',0,'std::map::key_comp()'],['http://en.cppreference.com/w/cpp/container/multimap/key_comp.html',0,'std::multimap::key_comp()']]], - ['key_5feq_4',['key_eq',['http://en.cppreference.com/w/cpp/container/unordered_map/key_eq.html',0,'std::unordered_map::key_eq()'],['http://en.cppreference.com/w/cpp/container/unordered_multimap/key_eq.html',0,'std::unordered_multimap::key_eq()'],['http://en.cppreference.com/w/cpp/container/unordered_multiset/key_eq.html',0,'std::unordered_multiset::key_eq()'],['http://en.cppreference.com/w/cpp/container/unordered_set/key_eq.html',0,'std::unordered_set::key_eq()']]], - ['kill_5fdependency_5',['kill_dependency',['http://en.cppreference.com/w/cpp/atomic/kill_dependency.html',0,'std']]], - ['kmp_6',['kmp',['../d9/d03/namespacestring__search.html#a1e37af2f023495129cb57338c801209e',1,'string_search']]], - ['knapsackfilling_7',['KnapSackFilling',['../d9/dec/unbounded__0__1__knapsack_8cpp.html#afe447a5979582174908695952c8a079c',1,'dynamic_programming::unbounded_knapsack']]], - ['knn_8',['Knn',['../da/d94/classmachine__learning_1_1k__nearest__neighbors_1_1_knn.html#a188d29ffcefdb5900a8cd41eccd89200',1,'machine_learning::k_nearest_neighbors::Knn::Knn(std::vector< std::vector< double > > &X, std::vector< int > &Y)'],['../da/d94/classmachine__learning_1_1k__nearest__neighbors_1_1_knn.html#a9f5885c40112481ae5b588fe81d7910b',1,'machine_learning::k_nearest_neighbors::Knn::Knn(const Knn &model)=default'],['../da/d94/classmachine__learning_1_1k__nearest__neighbors_1_1_knn.html#a4b17dcf17c847f0295b60029512c120e',1,'machine_learning::k_nearest_neighbors::Knn::Knn(Knn &&)=default']]], - ['knuth_5fb_9',['knuth_b',['http://en.cppreference.com/w/cpp/numeric/random/shuffle_order_engine/shuffle_order_engine.html',0,'std::knuth_b']]], - ['kohonen_5fsom_10',['kohonen_som',['../d8/d77/namespacemachine__learning.html#ac43d294e21a0c4fa33c53757df054576',1,'machine_learning']]], - ['kohonen_5fsom_5ftracer_11',['kohonen_som_tracer',['../d8/d77/namespacemachine__learning.html#a042f435bca0839e721fc1574a61e8da3',1,'machine_learning']]], - ['kth_5fancestor_12',['kth_ancestor',['../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html#a8f7bca1746d40f21ad832fcea59aa6c6',1,'range_queries::heavy_light_decomposition::Tree']]] + ['kmp_3',['kmp',['../d9/d03/namespacestring__search.html#a1e37af2f023495129cb57338c801209e',1,'string_search']]], + ['knapsackfilling_4',['KnapSackFilling',['../d9/dec/unbounded__0__1__knapsack_8cpp.html#afe447a5979582174908695952c8a079c',1,'dynamic_programming::unbounded_knapsack']]], + ['knn_5',['Knn',['../da/d94/classmachine__learning_1_1k__nearest__neighbors_1_1_knn.html#a188d29ffcefdb5900a8cd41eccd89200',1,'machine_learning::k_nearest_neighbors::Knn::Knn(std::vector< std::vector< double > > &X, std::vector< int > &Y)'],['../da/d94/classmachine__learning_1_1k__nearest__neighbors_1_1_knn.html#a9f5885c40112481ae5b588fe81d7910b',1,'machine_learning::k_nearest_neighbors::Knn::Knn(const Knn &model)=default'],['../da/d94/classmachine__learning_1_1k__nearest__neighbors_1_1_knn.html#a4b17dcf17c847f0295b60029512c120e',1,'machine_learning::k_nearest_neighbors::Knn::Knn(Knn &&)=default']]], + ['kohonen_5fsom_6',['kohonen_som',['../d8/d77/namespacemachine__learning.html#ac43d294e21a0c4fa33c53757df054576',1,'machine_learning']]], + ['kohonen_5fsom_5ftracer_7',['kohonen_som_tracer',['../d8/d77/namespacemachine__learning.html#a042f435bca0839e721fc1574a61e8da3',1,'machine_learning']]], + ['kth_5fancestor_8',['kth_ancestor',['../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html#a8f7bca1746d40f21ad832fcea59aa6c6',1,'range_queries::heavy_light_decomposition::Tree']]] ]; diff --git a/search/functions_c.js b/search/functions_c.js index 9a9285179..1fe94b909 100644 --- a/search/functions_c.js +++ b/search/functions_c.js @@ -1,68 +1,35 @@ var searchData= [ ['l_0',['l',['../d4/d18/composite__simpson__rule_8cpp.html#a6d8df83a6f26ce24a75d3b358b7f5b8a',1,'numerical_methods::simpson_method::l()'],['../df/d11/midpoint__integral__method_8cpp.html#ad53616fb4fa6880ae876bcba53365c51',1,'numerical_methods::midpoint_rule::l()']]], - ['labs_1',['labs',['http://en.cppreference.com/w/cpp/numeric/math/abs.html',0,'std']]], - ['lambda_2',['lambda',['http://en.cppreference.com/w/cpp/numeric/random/exponential_distribution/lambda.html',0,'std::exponential_distribution']]], - ['large_5fnumber_3',['large_number',['../db/d82/classlarge__number.html#a10119a83839e65962621b73df46a5337',1,'large_number::large_number()'],['../db/d82/classlarge__number.html#af4598f1f2794b5e17e10c25e0501e41a',1,'large_number::large_number(int n)'],['../db/d82/classlarge__number.html#a0b1efd203274e38a67b78937dfb9b872',1,'large_number::large_number(const large_number &a)'],['../db/d82/classlarge__number.html#a76ddf1ed1b00fb8c107ea56f7f91e42f',1,'large_number::large_number(std::vector< unsigned char > &vec)']]], - ['largestpower_4',['largestPower',['../dd/d47/namespacemath.html#afa39ec943a4836c878e1614fd89b146f',1,'math']]], - ['lazy_5',['lazy',['../d8/d28/classrange__queries_1_1per_seg_tree.html#ace7f57935b3bb9446f11c239fd89ae79',1,'range_queries::perSegTree']]], - ['lca_6',['lca',['../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html#ae2b407e64aaf9878fbee7ee6efe9c7d4',1,'range_queries::heavy_light_decomposition::Tree']]], - ['lcm_7',['lcm',['../d4/d21/least__common__multiple_8cpp.html#aa8d0e241db517813725e721a152e3a25',1,'least_common_multiple.cpp']]], - ['lcmsum_8',['lcmSum',['../dd/d47/namespacemath.html#a04065193d190d605e1f0d0d93a87e244',1,'math']]], - ['ldexp_9',['ldexp',['http://en.cppreference.com/w/cpp/numeric/math/ldexp.html',0,'std']]], - ['ldiv_10',['ldiv',['http://en.cppreference.com/w/cpp/numeric/math/div.html',0,'std']]], - ['left_11',['left',['../d2/d05/class_min_heap.html#aa8c6c141e3de664819686aa637e1afca',1,'MinHeap::left()'],['http://en.cppreference.com/w/cpp/io/manip/left.html',0,'std::left()']]], - ['leftrotate_12',['LeftRotate',['../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#ae58dca20f08eaf9313f6e7b0869c2d0e',1,'data_structures::tree_234::Tree234']]], - ['leftrotate_13',['leftRotate',['../d8/dee/avltree_8cpp.html#a473eee1803e4e44a54d685e4b0eef5a6',1,'avltree.cpp']]], - ['leftrotate32bits_14',['leftRotate32bits',['../d5/d96/md5_8cpp.html#add2bf982d5dd64a45d13cba52c2b371d',1,'hashing::md5::leftRotate32bits()'],['../d8/d7a/sha1_8cpp.html#acf6bd970f29a68702bdbdfe8338e45e0',1,'hashing::sha1::leftRotate32bits()']]], - ['lenghtline_15',['LenghtLine',['../d0/d01/smallest__circle_8cpp.html#a3cbebd6f4d2cdf227663c67fe41ba12a',1,'smallest_circle.cpp']]], - ['length_16',['length',['http://en.cppreference.com/w/cpp/regex/match_results/length.html',0,'std::match_results::length()'],['http://en.cppreference.com/w/cpp/locale/codecvt/length.html',0,'std::codecvt::length()'],['http://en.cppreference.com/w/cpp/string/char_traits/length.html',0,'std::char_traits::length()'],['http://en.cppreference.com/w/cpp/string/basic_string/size.html',0,'std::string::length()'],['http://en.cppreference.com/w/cpp/locale/codecvt/length.html',0,'std::codecvt_byname::length()'],['http://en.cppreference.com/w/cpp/regex/match_results/length.html',0,'std::wsmatch::length()'],['http://en.cppreference.com/w/cpp/locale/codecvt/length.html',0,'std::codecvt_utf8::length()'],['http://en.cppreference.com/w/cpp/regex/sub_match/length.html',0,'std::wcsub_match::length()'],['http://en.cppreference.com/w/cpp/regex/match_results/length.html',0,'std::smatch::length()'],['http://en.cppreference.com/w/cpp/locale/codecvt/length.html',0,'std::codecvt_utf8_utf16::length()'],['http://en.cppreference.com/w/cpp/regex/match_results/length.html',0,'std::wcmatch::length()'],['http://en.cppreference.com/w/cpp/regex/sub_match/length.html',0,'std::wssub_match::length()'],['http://en.cppreference.com/w/cpp/regex/regex_traits/length.html',0,'std::regex_traits::length()'],['http://en.cppreference.com/w/cpp/regex/sub_match/length.html',0,'std::csub_match::length()'],['http://en.cppreference.com/w/cpp/regex/sub_match/length.html',0,'std::ssub_match::length()'],['http://en.cppreference.com/w/cpp/string/basic_string/size.html',0,'std::basic_string::length()'],['http://en.cppreference.com/w/cpp/string/basic_string/size.html',0,'std::wstring::length()'],['http://en.cppreference.com/w/cpp/string/basic_string/size.html',0,'std::u16string::length()'],['http://en.cppreference.com/w/cpp/string/basic_string/size.html',0,'std::u32string::length()'],['http://en.cppreference.com/w/cpp/locale/codecvt/length.html',0,'std::codecvt_utf16::length()'],['http://en.cppreference.com/w/cpp/regex/match_results/length.html',0,'std::cmatch::length()'],['http://en.cppreference.com/w/cpp/regex/sub_match/length.html',0,'std::sub_match::length()']]], - ['length_5ferror_17',['length_error',['http://en.cppreference.com/w/cpp/error/length_error.html',0,'std::length_error']]], - ['lengthoflongestsubstring_18',['lengthOfLongestSubstring',['../da/d21/class_longest___substring.html#af8a3672bc8d95e7da4f9a45e5e2e387d',1,'Longest_Substring']]], - ['levelorder_19',['levelOrder',['../d8/dee/avltree_8cpp.html#ae197eb50188fb761346952b9b5f6be59',1,'avltree.cpp']]], - ['lexicographical_5fcompare_20',['lexicographical_compare',['http://en.cppreference.com/w/cpp/algorithm/lexicographical_compare.html',0,'std']]], - ['lfucache_21',['LFUCache',['../df/d8f/classothers_1_1_cache_1_1_l_f_u_cache.html#affd7776c246caa2d0f92fd8616f6e5dc',1,'others::Cache::LFUCache']]], - ['lgamma_22',['lgamma',['http://en.cppreference.com/w/cpp/numeric/math/lgamma.html',0,'std']]], - ['lift_23',['lift',['../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html#ac7761255f2ba06b398b9aae5e4dce5f3',1,'range_queries::heavy_light_decomposition::Tree']]], - ['linear_5fcongruential_5fengine_24',['linear_congruential_engine',['http://en.cppreference.com/w/cpp/numeric/random/linear_congruential_engine/linear_congruential_engine.html',0,'std::linear_congruential_engine']]], - ['linearprobe_25',['linearProbe',['../d8/d89/namespacelinear__probing.html#a6322209aaa91b7bbf16f96e1cc52b746',1,'linear_probing']]], - ['linearsearch_26',['LinearSearch',['../d5/dab/structdata__structures_1_1list__array_1_1list.html#ad202ae68fe8d98082afa9dafea9e22b9',1,'data_structures::list_array::list::LinearSearch()'],['../d9/d02/linear__search_8cpp.html#a84ac3988a534eb60ca351ed6caf56d84',1,'LinearSearch(): linear_search.cpp']]], - ['link_27',['link',['../de/d9d/classdata__structures_1_1linked__list_1_1link.html#aba4672fbc40c38962d1510b843a577bb',1,'data_structures::linked_list::link']]], - ['lis_28',['LIS',['../dd/d24/namespacedynamic__programming.html#a0a2215194e58786c34db1ccaf8031079',1,'dynamic_programming']]], - ['list_29',['list',['http://en.cppreference.com/w/cpp/container/list/list.html',0,'std::list::list()'],['../d1/def/classdata__structures_1_1linked__list_1_1list.html#a50e209b55b83622254177050945e7826',1,'data_structures::linked_list::list::list()'],['../d1/def/classdata__structures_1_1linked__list_1_1list.html#a326ac4f721f7b74d5ed4f418a67b8d38',1,'data_structures::linked_list::list::list(const list &other)']]], - ['listnode_30',['ListNode',['../d7/da4/struct_list_node.html#a3cfee2eb667c332dc32595208164ef0a',1,'ListNode::ListNode()=default'],['../d7/da4/struct_list_node.html#aaad9b553e2f936726f5b35ff2734125d',1,'ListNode::ListNode(int x)'],['../d7/da4/struct_list_node.html#afc97c5b9d2e7cc82d0718245688f6ff9',1,'ListNode::ListNode(int x, ListNode *next)']]], - ['llabs_31',['llabs',['http://en.cppreference.com/w/cpp/numeric/math/abs.html',0,'std']]], - ['llrint_32',['llrint',['http://en.cppreference.com/w/cpp/numeric/math/rint.html',0,'std']]], - ['llround_33',['llround',['http://en.cppreference.com/w/cpp/numeric/math/round.html',0,'std']]], - ['load_34',['load',['http://en.cppreference.com/w/cpp/atomic/atomic/load.html',0,'std::atomic']]], - ['load_5ffactor_35',['load_factor',['http://en.cppreference.com/w/cpp/container/unordered_map/load_factor.html',0,'std::unordered_map::load_factor()'],['http://en.cppreference.com/w/cpp/container/unordered_multimap/load_factor.html',0,'std::unordered_multimap::load_factor()'],['http://en.cppreference.com/w/cpp/container/unordered_multiset/load_factor.html',0,'std::unordered_multiset::load_factor()'],['http://en.cppreference.com/w/cpp/container/unordered_set/load_factor.html',0,'std::unordered_set::load_factor()']]], - ['load_5fmodel_36',['load_model',['../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#a58ed20abf6ce3744535bd8b5bb9e741b',1,'machine_learning::neural_network::NeuralNetwork']]], - ['locale_37',['locale',['http://en.cppreference.com/w/cpp/locale/locale/locale.html',0,'std::locale']]], - ['localeconv_38',['localeconv',['http://en.cppreference.com/w/cpp/locale/localeconv.html',0,'std']]], - ['localtime_39',['localtime',['http://en.cppreference.com/w/cpp/chrono/c/localtime.html',0,'std']]], - ['lock_40',['lock',['http://en.cppreference.com/w/cpp/memory/weak_ptr/lock.html',0,'std::weak_ptr::lock()'],['http://en.cppreference.com/w/cpp/thread/unique_lock/lock.html',0,'std::unique_lock::lock()'],['http://en.cppreference.com/w/cpp/thread/recursive_mutex/lock.html',0,'std::recursive_mutex::lock()'],['http://en.cppreference.com/w/cpp/thread/recursive_timed_mutex/lock.html',0,'std::recursive_timed_mutex::lock()'],['http://en.cppreference.com/w/cpp/thread/shared_lock/lock.html',0,'std::shared_lock::lock()'],['http://en.cppreference.com/w/cpp/thread/timed_mutex/lock.html',0,'std::timed_mutex::lock()'],['http://en.cppreference.com/w/cpp/thread/mutex/lock.html',0,'std::mutex::lock()'],['http://en.cppreference.com/w/cpp/thread/shared_timed_mutex/lock.html',0,'std::shared_timed_mutex::lock()'],['http://en.cppreference.com/w/cpp/thread/lock.html',0,'std::lock()']]], - ['lock_5fguard_41',['lock_guard',['http://en.cppreference.com/w/cpp/thread/lock_guard/lock_guard.html',0,'std::lock_guard']]], - ['lock_5fshared_42',['lock_shared',['http://en.cppreference.com/w/cpp/thread/shared_timed_mutex/lock_shared.html',0,'std::shared_timed_mutex']]], - ['log_43',['log',['../d5/d58/class_test_cases.html#aa3aa3d5bf666f327ee8e2d11d397b06e',1,'TestCases::log(T msg)'],['../d5/d58/class_test_cases.html#aa3aa3d5bf666f327ee8e2d11d397b06e',1,'TestCases::log(T msg)'],['../d5/d58/class_test_cases.html#aa3aa3d5bf666f327ee8e2d11d397b06e',1,'TestCases::log(T msg)'],['http://en.cppreference.com/w/cpp/numeric/math/log.html',0,'std::log()'],['../d3/db3/lru__cache_8cpp.html#a24d21a345ed06f7fba6919718cf3e058',1,'lru_tests::log()']]], - ['log10_44',['log10',['http://en.cppreference.com/w/cpp/numeric/math/log10.html',0,'std']]], - ['log1p_45',['log1p',['http://en.cppreference.com/w/cpp/numeric/math/log1p.html',0,'std']]], - ['logb_46',['logb',['http://en.cppreference.com/w/cpp/numeric/math/logb.html',0,'std']]], - ['logic_5ferror_47',['logic_error',['http://en.cppreference.com/w/cpp/error/logic_error.html',0,'std::logic_error']]], - ['lognormal_5fdistribution_48',['lognormal_distribution',['http://en.cppreference.com/w/cpp/numeric/random/lognormal_distribution/lognormal_distribution.html',0,'std::lognormal_distribution']]], - ['longest_5fcommon_5fstring_5flength_49',['longest_common_string_length',['../da/d0d/longest__common__string_8cpp.html#aa38b6b17bc5d46ed88acdd8414e18fa5',1,'longest_common_string.cpp']]], - ['longest_5fincreasing_5fsubsequence_5fusing_5fbinary_5fsearch_50',['longest_increasing_subsequence_using_binary_search',['../d9/d5f/longest__increasing__subsequence__using__binary__search_8cpp.html#a313539d9a97fc6e121ce496873ba892e',1,'longest_increasing_subsequence_using_binary_search.cpp']]], - ['longjmp_51',['longjmp',['http://en.cppreference.com/w/cpp/utility/program/longjmp.html',0,'std']]], - ['lookup_5fclassname_52',['lookup_classname',['http://en.cppreference.com/w/cpp/regex/regex_traits/lookup_classname.html',0,'std::regex_traits']]], - ['lookup_5fcollatename_53',['lookup_collatename',['http://en.cppreference.com/w/cpp/regex/regex_traits/lookup_collatename.html',0,'std::regex_traits']]], - ['lower_54',['lower',['../db/d9a/classuint128__t.html#aa69e1064c0b0b1df1c61acd2ea04fabd',1,'uint128_t::lower()'],['../d1/d83/classuint256__t.html#aa4cf08fa6a33f17594b5a842866f39a1',1,'uint256_t::lower()'],['../dc/db5/text__search_8cpp.html#a3f8975d227cd0e58f298b380c5dac0d9',1,'lower(): text_search.cpp']]], - ['lower_5fbound_55',['lower_bound',['http://en.cppreference.com/w/cpp/container/multiset/lower_bound.html',0,'std::multiset::lower_bound()'],['http://en.cppreference.com/w/cpp/container/set/lower_bound.html',0,'std::set::lower_bound()'],['http://en.cppreference.com/w/cpp/container/map/lower_bound.html',0,'std::map::lower_bound()'],['http://en.cppreference.com/w/cpp/container/multimap/lower_bound.html',0,'std::multimap::lower_bound()'],['http://en.cppreference.com/w/cpp/algorithm/lower_bound.html',0,'std::lower_bound()']]], - ['lowest_56',['lowest',['http://en.cppreference.com/w/cpp/types/numeric_limits/lowest.html',0,'std::numeric_limits']]], - ['lowest_5fcommon_5fancestor_57',['lowest_common_ancestor',['../d9/d23/classgraph_1_1_lowest_common_ancestor.html#a60151e19512b48cc0b14ea121df00488',1,'graph::LowestCommonAncestor']]], - ['lowestcommonancestor_58',['LowestCommonAncestor',['../d9/d23/classgraph_1_1_lowest_common_ancestor.html#a80825a4fd4c41860b689d253dd2c8e93',1,'graph::LowestCommonAncestor']]], - ['lps_59',['lps',['../dd/d24/namespacedynamic__programming.html#afe9f45b6e30ee187509da2d1d0093412',1,'dynamic_programming']]], - ['lrint_60',['lrint',['http://en.cppreference.com/w/cpp/numeric/math/rint.html',0,'std']]], - ['lround_61',['lround',['http://en.cppreference.com/w/cpp/numeric/math/round.html',0,'std']]], - ['lrucache_62',['LRUCache',['../d6/dae/classothers_1_1lru__cache_1_1_l_r_u_cache.html#a41c9b6f1693b8a316cc4a2d8c9149ba4',1,'others::lru_cache::LRUCache::LRUCache()'],['../d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache.html#a8980cbbc9cf0a98a9592b40c4d6ec28f',1,'others::Cache::LRUCache::LRUCache()']]], - ['lt_63',['lt',['http://en.cppreference.com/w/cpp/string/char_traits/cmp.html',0,'std::char_traits']]], - ['lu_5fdecomposition_64',['lu_decomposition',['../d1/dbe/lu__decomposition_8h.html#a75b8a228c6419ecda6077255d6d60509',1,'lu_decomposition.h']]] + ['large_5fnumber_1',['large_number',['../db/d82/classlarge__number.html#a10119a83839e65962621b73df46a5337',1,'large_number::large_number()'],['../db/d82/classlarge__number.html#af4598f1f2794b5e17e10c25e0501e41a',1,'large_number::large_number(int n)'],['../db/d82/classlarge__number.html#a0b1efd203274e38a67b78937dfb9b872',1,'large_number::large_number(const large_number &a)'],['../db/d82/classlarge__number.html#a76ddf1ed1b00fb8c107ea56f7f91e42f',1,'large_number::large_number(std::vector< unsigned char > &vec)']]], + ['largestpower_2',['largestPower',['../dd/d47/namespacemath.html#afa39ec943a4836c878e1614fd89b146f',1,'math']]], + ['lazy_3',['lazy',['../d8/d28/classrange__queries_1_1per_seg_tree.html#ace7f57935b3bb9446f11c239fd89ae79',1,'range_queries::perSegTree']]], + ['lca_4',['lca',['../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html#ae2b407e64aaf9878fbee7ee6efe9c7d4',1,'range_queries::heavy_light_decomposition::Tree']]], + ['lcm_5',['lcm',['../d4/d21/least__common__multiple_8cpp.html#aa8d0e241db517813725e721a152e3a25',1,'least_common_multiple.cpp']]], + ['lcmsum_6',['lcmSum',['../dd/d47/namespacemath.html#a04065193d190d605e1f0d0d93a87e244',1,'math']]], + ['left_7',['left',['../d2/d05/class_min_heap.html#aa8c6c141e3de664819686aa637e1afca',1,'MinHeap']]], + ['leftrotate_8',['LeftRotate',['../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#ae58dca20f08eaf9313f6e7b0869c2d0e',1,'data_structures::tree_234::Tree234']]], + ['leftrotate_9',['leftRotate',['../d8/dee/avltree_8cpp.html#a473eee1803e4e44a54d685e4b0eef5a6',1,'avltree.cpp']]], + ['leftrotate32bits_10',['leftRotate32bits',['../d5/d96/md5_8cpp.html#add2bf982d5dd64a45d13cba52c2b371d',1,'hashing::md5::leftRotate32bits()'],['../d8/d7a/sha1_8cpp.html#acf6bd970f29a68702bdbdfe8338e45e0',1,'hashing::sha1::leftRotate32bits()']]], + ['lenghtline_11',['LenghtLine',['../d0/d01/smallest__circle_8cpp.html#a3cbebd6f4d2cdf227663c67fe41ba12a',1,'smallest_circle.cpp']]], + ['lengthoflongestsubstring_12',['lengthOfLongestSubstring',['../da/d21/class_longest___substring.html#af8a3672bc8d95e7da4f9a45e5e2e387d',1,'Longest_Substring']]], + ['levelorder_13',['levelOrder',['../d8/dee/avltree_8cpp.html#ae197eb50188fb761346952b9b5f6be59',1,'avltree.cpp']]], + ['lfucache_14',['LFUCache',['../df/d8f/classothers_1_1_cache_1_1_l_f_u_cache.html#affd7776c246caa2d0f92fd8616f6e5dc',1,'others::Cache::LFUCache']]], + ['lift_15',['lift',['../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html#ac7761255f2ba06b398b9aae5e4dce5f3',1,'range_queries::heavy_light_decomposition::Tree']]], + ['linearprobe_16',['linearProbe',['../d8/d89/namespacelinear__probing.html#a6322209aaa91b7bbf16f96e1cc52b746',1,'linear_probing']]], + ['linearsearch_17',['LinearSearch',['../d5/dab/structdata__structures_1_1list__array_1_1list.html#ad202ae68fe8d98082afa9dafea9e22b9',1,'data_structures::list_array::list::LinearSearch()'],['../d9/d02/linear__search_8cpp.html#a84ac3988a534eb60ca351ed6caf56d84',1,'LinearSearch(): linear_search.cpp']]], + ['link_18',['link',['../de/d9d/classdata__structures_1_1linked__list_1_1link.html#aba4672fbc40c38962d1510b843a577bb',1,'data_structures::linked_list::link']]], + ['lis_19',['LIS',['../dd/d24/namespacedynamic__programming.html#a0a2215194e58786c34db1ccaf8031079',1,'dynamic_programming']]], + ['list_20',['list',['../d1/def/classdata__structures_1_1linked__list_1_1list.html#a50e209b55b83622254177050945e7826',1,'data_structures::linked_list::list::list()'],['../d1/def/classdata__structures_1_1linked__list_1_1list.html#a326ac4f721f7b74d5ed4f418a67b8d38',1,'data_structures::linked_list::list::list(const list &other)']]], + ['listnode_21',['ListNode',['../d7/da4/struct_list_node.html#a3cfee2eb667c332dc32595208164ef0a',1,'ListNode::ListNode()=default'],['../d7/da4/struct_list_node.html#aaad9b553e2f936726f5b35ff2734125d',1,'ListNode::ListNode(int x)'],['../d7/da4/struct_list_node.html#afc97c5b9d2e7cc82d0718245688f6ff9',1,'ListNode::ListNode(int x, ListNode *next)']]], + ['load_5fmodel_22',['load_model',['../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#a58ed20abf6ce3744535bd8b5bb9e741b',1,'machine_learning::neural_network::NeuralNetwork']]], + ['log_23',['log',['../d5/d58/class_test_cases.html#aa3aa3d5bf666f327ee8e2d11d397b06e',1,'TestCases::log(T msg)'],['../d5/d58/class_test_cases.html#aa3aa3d5bf666f327ee8e2d11d397b06e',1,'TestCases::log(T msg)'],['../d5/d58/class_test_cases.html#aa3aa3d5bf666f327ee8e2d11d397b06e',1,'TestCases::log(T msg)'],['../d3/db3/lru__cache_8cpp.html#a24d21a345ed06f7fba6919718cf3e058',1,'lru_tests::log()']]], + ['longest_5fcommon_5fstring_5flength_24',['longest_common_string_length',['../da/d0d/longest__common__string_8cpp.html#aa38b6b17bc5d46ed88acdd8414e18fa5',1,'longest_common_string.cpp']]], + ['longest_5fincreasing_5fsubsequence_5fusing_5fbinary_5fsearch_25',['longest_increasing_subsequence_using_binary_search',['../d9/d5f/longest__increasing__subsequence__using__binary__search_8cpp.html#a313539d9a97fc6e121ce496873ba892e',1,'longest_increasing_subsequence_using_binary_search.cpp']]], + ['lower_26',['lower',['../db/d9a/classuint128__t.html#aa69e1064c0b0b1df1c61acd2ea04fabd',1,'uint128_t::lower()'],['../d1/d83/classuint256__t.html#aa4cf08fa6a33f17594b5a842866f39a1',1,'uint256_t::lower()'],['../dc/db5/text__search_8cpp.html#a3f8975d227cd0e58f298b380c5dac0d9',1,'lower(): text_search.cpp']]], + ['lowest_5fcommon_5fancestor_27',['lowest_common_ancestor',['../d9/d23/classgraph_1_1_lowest_common_ancestor.html#a60151e19512b48cc0b14ea121df00488',1,'graph::LowestCommonAncestor']]], + ['lowestcommonancestor_28',['LowestCommonAncestor',['../d9/d23/classgraph_1_1_lowest_common_ancestor.html#a80825a4fd4c41860b689d253dd2c8e93',1,'graph::LowestCommonAncestor']]], + ['lps_29',['lps',['../dd/d24/namespacedynamic__programming.html#afe9f45b6e30ee187509da2d1d0093412',1,'dynamic_programming']]], + ['lrucache_30',['LRUCache',['../d6/dae/classothers_1_1lru__cache_1_1_l_r_u_cache.html#a41c9b6f1693b8a316cc4a2d8c9149ba4',1,'others::lru_cache::LRUCache::LRUCache()'],['../d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache.html#a8980cbbc9cf0a98a9592b40c4d6ec28f',1,'others::Cache::LRUCache::LRUCache()']]], + ['lu_5fdecomposition_31',['lu_decomposition',['../d1/dbe/lu__decomposition_8h.html#a75b8a228c6419ecda6077255d6d60509',1,'lu_decomposition.h']]] ]; diff --git a/search/functions_d.js b/search/functions_d.js index b6557f32e..c79987aa7 100644 --- a/search/functions_d.js +++ b/search/functions_d.js @@ -1,114 +1,53 @@ var searchData= [ - ['m_0',['m',['http://en.cppreference.com/w/cpp/numeric/random/lognormal_distribution/params.html',0,'std::lognormal_distribution::m()'],['http://en.cppreference.com/w/cpp/numeric/random/fisher_f_distribution/params.html',0,'std::fisher_f_distribution::m()']]], - ['mag_1',['mag',['../df/d66/vector__cross__product_8cpp.html#a4b2a9757a87c18e1642d72410ecfaba8',1,'math::vector_cross']]], - ['magic_5fnumber_2',['magic_number',['../dd/d47/namespacemath.html#a8d8e81a7cd59644b311ef9adb268f5f0',1,'math']]], - ['main_3',['main',['../dd/d1e/generate__parentheses_8cpp.html#gae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): generate_parentheses.cpp'],['../d3/d40/graph__coloring_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): graph_coloring.cpp'],['../d1/d2a/knight__tour_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): knight_tour.cpp'],['../df/dfb/minimax_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): minimax.cpp'],['../d4/d3e/n__queens_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): n_queens.cpp'],['../da/dac/n__queens__all__solution__optimised_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): n_queens_all_solution_optimised.cpp'],['../d7/d24/nqueen__print__all__solutions_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): nqueen_print_all_solutions.cpp'],['../dc/d5a/rat__maze_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): rat_maze.cpp'],['../df/d94/subarray__sum_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): subarray_sum.cpp'],['../d2/d5a/subset__sum_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): subset_sum.cpp'],['../d3/d05/sudoku__solver_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): sudoku_solver.cpp'],['../dc/d14/wildcard__matching_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): wildcard_matching.cpp'],['../d7/d56/count__bits__flip_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): count_bits_flip.cpp'],['../da/db8/count__of__set__bits_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): count_of_set_bits.cpp'],['../da/d50/count__of__trailing__ciphers__in__factorial__n_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): count_of_trailing_ciphers_in_factorial_n.cpp'],['../d6/d38/find__non__repeating__number_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): find_non_repeating_number.cpp'],['../d4/d48/hamming__distance_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): hamming_distance.cpp'],['../d5/d1e/next__higher__number__with__same__number__of__set__bits_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): next_higher_number_with_same_number_of_set_bits.cpp'],['../dc/d6d/power__of__2_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): power_of_2.cpp'],['../d5/db5/set__kth__bit_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): set_kth_bit.cpp'],['../d4/d8f/travelling__salesman__using__bit__manipulation_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): travelling_salesman_using_bit_manipulation.cpp'],['../de/db6/a1z26__cipher_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): a1z26_cipher.cpp'],['../dc/dfb/atbash__cipher_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): atbash_cipher.cpp'],['../d6/d2c/caesar__cipher_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): caesar_cipher.cpp'],['../df/d2c/elliptic__curve__key__exchange_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): elliptic_curve_key_exchange.cpp'],['../d7/db9/hill__cipher_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): hill_cipher.cpp'],['../d8/d76/morse__code_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): morse_code.cpp'],['../dd/d12/vigenere__cipher_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): vigenere_cipher.cpp'],['../d3/d4c/xor__cipher_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): xor_cipher.cpp'],['../df/d47/fcfs__scheduling_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): fcfs_scheduling.cpp'],['../d8/dee/avltree_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): avltree.cpp'],['../d9/dab/bloom__filter_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): bloom_filter.cpp'],['../de/d23/disjoint__set_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): disjoint_set.cpp'],['../d3/dae/dsu__path__compression_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): dsu_path_compression.cpp'],['../df/d28/dsu__union__rank_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): dsu_union_rank.cpp'],['../da/dc3/linked__list_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): linked_list.cpp'],['../d3/dce/linkedlist__implentation__usingarray_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): linkedlist_implentation_usingarray.cpp'],['../d7/d00/list__array_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): list_array.cpp'],['../d8/df0/queue__using__array_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): queue_using_array.cpp'],['../df/dd0/queue__using__two__stacks_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): queue_using_two_stacks.cpp'],['../d6/d05/reverse__a__linked__list_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): reverse_a_linked_list.cpp'],['../de/dd1/segment__tree_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): segment_tree.cpp'],['../d0/d5a/skip__list_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): skip_list.cpp'],['../d8/dab/sparse__table_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97',1,'main(int argc, char *argv[]): sparse_table.cpp'],['../d0/dd2/treap_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): treap.cpp'],['../db/dbc/tree__234_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97',1,'main(int argc, char *argv[]): tree_234.cpp'],['../dc/d93/trie__modern_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): trie_modern.cpp'],['../d7/d83/trie__tree_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): trie_tree.cpp'],['../d5/d8a/trie__using__hashmap_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): trie_using_hashmap.cpp'],['../da/dd3/karatsuba__algorithm__for__fast__multiplication_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): karatsuba_algorithm_for_fast_multiplication.cpp'],['../db/d16/0__1__knapsack_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): 0_1_knapsack.cpp'],['../d7/d73/abbreviation_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): abbreviation.cpp'],['../d1/da7/armstrong__number__templated_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): armstrong_number_templated.cpp'],['../d9/d31/coin__change__topdown_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): coin_change_topdown.cpp'],['../d6/d10/cut__rod_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): cut_rod.cpp'],['../d6/d26/house__robber_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): house_robber.cpp'],['../d4/da0/kadane_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): kadane.cpp'],['../da/d0d/longest__common__string_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): longest_common_string.cpp'],['../d7/d57/longest__increasing__subsequence_8cpp.html#abf9e6b7e6f15df4b525a2e7705ba3089',1,'main(int argc, char const *argv[]): longest_increasing_subsequence.cpp'],['../d0/d77/longest__palindromic__subsequence_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): longest_palindromic_subsequence.cpp'],['../db/dfb/maximum__circular__subarray_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97',1,'main(int argc, char *argv[]): maximum_circular_subarray.cpp'],['../da/d52/minimum__edit__distance_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97',1,'main(int argc, char *argv[]): minimum_edit_distance.cpp'],['../d5/d90/palindrome__partitioning_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): palindrome_partitioning.cpp'],['../d7/d65/shortest__common__supersequence_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): shortest_common_supersequence.cpp'],['../dc/d67/subset__sum__dynamic_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): subset_sum_dynamic.cpp'],['../d9/d80/trapped__rainwater_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): trapped_rainwater.cpp'],['../d9/dec/unbounded__0__1__knapsack_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): unbounded_0_1_knapsack.cpp'],['../d3/d84/word__break_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): word_break.cpp'],['../dd/d92/memory__game_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): memory_game.cpp'],['../d4/d8d/jarvis__algorithm_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): jarvis_algorithm.cpp'],['../d8/d6c/line__segment__intersection_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): line_segment_intersection.cpp'],['../d7/d07/bidirectional__dijkstra_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): bidirectional_dijkstra.cpp'],['../df/d82/breadth__first__search_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): breadth_first_search.cpp'],['../df/ddd/connected__components_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): connected_components.cpp'],['../d8/d99/connected__components__with__dsu_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): connected_components_with_dsu.cpp'],['../da/d8d/depth__first__search_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): depth_first_search.cpp'],['../da/d4b/depth__first__search__with__stack_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): depth_first_search_with_stack.cpp'],['../d8/d68/dijkstra_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): dijkstra.cpp'],['../dd/d0c/hamiltons__cycle_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627',1,'main(int argc, char **argv): hamiltons_cycle.cpp'],['../d1/d9a/hopcroft__karp_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): hopcroft_karp.cpp'],['../d6/dd8/is__graph__bipartite_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): is_graph_bipartite.cpp'],['../de/dde/lowest__common__ancestor_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): lowest_common_ancestor.cpp'],['../d8/db9/topological__sort_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): topological_sort.cpp'],['../de/d88/travelling__salesman__problem_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): travelling_salesman_problem.cpp'],['../da/d77/spirograph_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627',1,'main(int argc, char **argv): spirograph.cpp'],['../d9/d1f/binary__addition_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): binary_addition.cpp'],['../d4/d6c/boruvkas__minimum__spanning__tree_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): boruvkas_minimum_spanning_tree.cpp'],['../d3/d36/digit__separation_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): digit_separation.cpp'],['../da/de8/dijkstra__greedy_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): dijkstra_greedy.cpp'],['../db/d80/gale__shapley_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): gale_shapley.cpp'],['../d6/dba/jump__game_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): jump_game.cpp'],['../d8/d7d/kruskals__minimum__spanning__tree_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): kruskals_minimum_spanning_tree.cpp'],['../d9/d92/chaining_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): chaining.cpp'],['../d6/d80/double__hash__hash__table_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): double_hash_hash_table.cpp'],['../d1/dc7/linear__probing__hash__table_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): linear_probing_hash_table.cpp'],['../d5/d96/md5_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): md5.cpp'],['../db/d71/quadratic__probing__hash__table_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): quadratic_probing_hash_table.cpp'],['../d8/d7a/sha1_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): sha1.cpp'],['../d4/d08/sha256_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): sha256.cpp'],['../d5/db0/adaline__learning_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627',1,'main(int argc, char **argv): adaline_learning.cpp'],['../d4/d3e/k__nearest__neighbors_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97',1,'main(int argc, char *argv[]): k_nearest_neighbors.cpp'],['../d4/def/kohonen__som__topology_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627',1,'main(int argc, char **argv): kohonen_som_topology.cpp'],['../d9/d49/kohonen__som__trace_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627',1,'main(int argc, char **argv): kohonen_som_trace.cpp'],['../d2/d58/neural__network_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): neural_network.cpp'],['../dc/d38/ordinary__least__squares__regressor_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): ordinary_least_squares_regressor.cpp'],['../de/d99/aliquot__sum_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): aliquot_sum.cpp'],['../d0/d51/approximate__pi_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): approximate_pi.cpp'],['../dc/d82/area_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): area.cpp'],['../de/dcf/binary__exponent_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): binary_exponent.cpp'],['../d8/db1/binomial__calculate_8cpp.html#ac0f2228420376f4db7e1274f2b41667c',1,'main(int argc, const char *argv[]): binomial_calculate.cpp'],['../d5/df6/check__amicable__pair_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): check_amicable_pair.cpp'],['../d8/dd5/check__factorial_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): check_factorial.cpp'],['../db/d93/check__prime_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): check_prime.cpp'],['../d5/d67/complex__numbers_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): complex_numbers.cpp'],['../d7/d89/double__factorial_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): double_factorial.cpp'],['../d7/da6/eratosthenes_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97',1,'main(int argc, char *argv[]): eratosthenes.cpp'],['../da/d23/eulers__totient__function_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97',1,'main(int argc, char *argv[]): eulers_totient_function.cpp'],['../d9/d5d/extended__euclid__algorithm_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): extended_euclid_algorithm.cpp'],['../d9/d00/factorial_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): factorial.cpp'],['../d2/d0b/fast__power_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): fast_power.cpp'],['../d9/d89/fibonacci_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): fibonacci.cpp'],['../d4/d32/fibonacci__fast_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): fibonacci_fast.cpp'],['../da/dc9/fibonacci__matrix__exponentiation_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): fibonacci_matrix_exponentiation.cpp'],['../de/dc3/fibonacci__sum_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): fibonacci_sum.cpp'],['../d0/d46/finding__number__of__digits__in__a__number_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): finding_number_of_digits_in_a_number.cpp'],['../d4/da0/gcd__iterative__euclidean_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): gcd_iterative_euclidean.cpp'],['../d1/d11/gcd__of__n__numbers_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): gcd_of_n_numbers.cpp'],['../d4/d45/gcd__recursive__euclidean_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): gcd_recursive_euclidean.cpp'],['../d1/de9/integral__approximation_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): integral_approximation.cpp'],['../db/d40/integral__approximation2_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): integral_approximation2.cpp'],['../d6/db8/inv__sqrt_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): inv_sqrt.cpp'],['../db/d9f/iterative__factorial_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): iterative_factorial.cpp'],['../d6/d9d/large__factorial_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97',1,'main(int argc, char *argv[]): large_factorial.cpp'],['../d5/d7a/largest__power_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): largest_power.cpp'],['../d5/d83/lcm__sum_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): lcm_sum.cpp'],['../d4/d21/least__common__multiple_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): least_common_multiple.cpp'],['../d9/d44/magic__number_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): magic_number.cpp'],['../d6/d42/miller__rabin_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): miller_rabin.cpp'],['../df/d72/modular__division_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97',1,'main(int argc, char *argv[]): modular_division.cpp'],['../d0/d6d/modular__exponentiation_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): modular_exponentiation.cpp'],['../d8/d53/modular__inverse__fermat__little__theorem_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): modular_inverse_fermat_little_theorem.cpp'],['../d6/d2d/modular__inverse__simple_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): modular_inverse_simple.cpp'],['../db/d27/n__bonacci_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): n_bonacci.cpp'],['../d1/dbb/n__choose__r_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97',1,'main(int argc, char *argv[]): n_choose_r.cpp'],['../d0/da2/number__of__positive__divisors_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): number_of_positive_divisors.cpp'],['../d3/dfe/perimeter_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): perimeter.cpp'],['../df/def/power__for__huge__numbers_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): power_for_huge_numbers.cpp'],['../d4/d38/power__of__two_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): power_of_two.cpp'],['../db/d0d/prime__factorization_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): prime_factorization.cpp'],['../de/d9b/prime__numbers_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): prime_numbers.cpp'],['../d4/d9c/primes__up__to__billion_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): primes_up_to_billion.cpp'],['../da/d18/quadratic__equations__complex__numbers_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): quadratic_equations_complex_numbers.cpp'],['../d0/d08/realtime__stats_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627',1,'main(int argc, char **argv): realtime_stats.cpp'],['../d8/ddf/sieve__of__eratosthenes_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): sieve_of_eratosthenes.cpp'],['../da/d24/sqrt__double_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): sqrt_double.cpp'],['../de/d47/string__fibonacci_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): string_fibonacci.cpp'],['../d4/d9d/sum__of__binomial__coefficient_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): sum_of_binomial_coefficient.cpp'],['../d4/d83/sum__of__digits_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): sum_of_digits.cpp'],['../df/d66/vector__cross__product_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): vector_cross_product.cpp'],['../da/d39/volume_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): volume.cpp'],['../dc/d9c/babylonian__method_8cpp.html#abf9e6b7e6f15df4b525a2e7705ba3089',1,'main(int argc, char const *argv[]): babylonian_method.cpp'],['../d7/d6a/bisection__method_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): bisection_method.cpp'],['../db/d01/brent__method__extrema_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): brent_method_extrema.cpp'],['../d4/d18/composite__simpson__rule_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627',1,'main(int argc, char **argv): composite_simpson_rule.cpp'],['../dd/d29/false__position_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): false_position.cpp'],['../d8/d9a/fast__fourier__transform_8cpp.html#abf9e6b7e6f15df4b525a2e7705ba3089',1,'main(int argc, char const *argv[]): fast_fourier_transform.cpp'],['../d0/de2/gaussian__elimination_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): gaussian_elimination.cpp'],['../d6/d7a/golden__search__extrema_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): golden_search_extrema.cpp'],['../d5/d33/gram__schmidt_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): gram_schmidt.cpp'],['../d9/d37/inverse__fast__fourier__transform_8cpp.html#abf9e6b7e6f15df4b525a2e7705ba3089',1,'main(int argc, char const *argv[]): inverse_fast_fourier_transform.cpp'],['../dd/d65/lu__decompose_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627',1,'main(int argc, char **argv): lu_decompose.cpp'],['../df/d11/midpoint__integral__method_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627',1,'main(int argc, char **argv): midpoint_integral_method.cpp'],['../de/dd3/newton__raphson__method_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): newton_raphson_method.cpp'],['../db/dd3/ode__forward__euler_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97',1,'main(int argc, char *argv[]): ode_forward_euler.cpp'],['../d6/dd3/ode__midpoint__euler_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97',1,'main(int argc, char *argv[]): ode_midpoint_euler.cpp'],['../d3/d06/ode__semi__implicit__euler_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97',1,'main(int argc, char *argv[]): ode_semi_implicit_euler.cpp'],['../d3/d24/qr__decomposition_8cpp.html#a840291bc02cba5474a4cb46a9b9566fe',1,'main(void): qr_decomposition.cpp'],['../de/d75/qr__eigen__values_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627',1,'main(int argc, char **argv): qr_eigen_values.cpp'],['../d1/da6/rungekutta_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): rungekutta.cpp'],['../df/dc8/successive__approximation_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): successive_approximation.cpp'],['../d9/d14/array__left__rotation_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): array_left_rotation.cpp'],['../d6/d57/array__right__rotation_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): array_right_rotation.cpp'],['../de/d33/circular__linked__list_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): circular_linked_list.cpp'],['../d4/d32/inorder__successor__of__bst_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97',1,'main(int argc, char *argv[]): inorder_successor_of_bst.cpp'],['../de/dc5/intersection__of__two__arrays_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): intersection_of_two_arrays.cpp'],['../d4/db6/reverse__binary__tree_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): reverse_binary_tree.cpp'],['../d7/def/trie__multiple__search_8cpp.html#abf9e6b7e6f15df4b525a2e7705ba3089',1,'main(int argc, char const *argv[]): trie_multiple_search.cpp'],['../d8/d9c/union__of__two__arrays_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): union_of_two_arrays.cpp'],['../d1/d76/buzz__number_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): buzz_number.cpp'],['../da/de7/decimal__to__hexadecimal_8cpp.html#a840291bc02cba5474a4cb46a9b9566fe',1,'main(void): decimal_to_hexadecimal.cpp'],['../de/d85/decimal__to__roman__numeral_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): decimal_to_roman_numeral.cpp'],['../d9/df0/fast__integer__input_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): fast_integer_input.cpp'],['../db/df3/happy__number_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): happy_number.cpp'],['../d8/d90/iterative__tree__traversals_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): iterative_tree_traversals.cpp'],['../de/dcd/kadanes3_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): kadanes3.cpp'],['../db/d6b/kelvin__to__celsius_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): kelvin_to_celsius.cpp'],['../d9/d65/lfu__cache_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): lfu_cache.cpp'],['../d4/db8/longest__substring__without__repeating__characters_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): longest_substring_without_repeating_characters.cpp'],['../d3/db3/lru__cache_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): lru_cache.cpp'],['../dc/daa/lru__cache2_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): lru_cache2.cpp'],['../d7/d35/matrix__exponentiation_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): matrix_exponentiation.cpp'],['../da/d9a/palindrome__of__number_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): palindrome_of_number.cpp'],['../dc/d1a/pascal__triangle_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): pascal_triangle.cpp'],['../d7/d75/postfix__evaluation_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): postfix_evaluation.cpp'],['../da/d7b/primality__test_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): primality_test.cpp'],['../dc/de1/recursive__tree__traversal_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): recursive_tree_traversal.cpp'],['../d0/d01/smallest__circle_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): smallest_circle.cpp'],['../d3/d19/sparse__matrix_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): sparse_matrix.cpp'],['../db/d07/spiral__print_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): spiral_print.cpp'],['../d5/def/stairs__pattern_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): stairs_pattern.cpp'],['../db/d3c/tower__of__hanoi_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): tower_of_hanoi.cpp'],['../d3/d61/vector__important__functions_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): vector_important_functions.cpp'],['../d9/d29/ground__to__ground__projectile__motion_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): ground_to_ground_projectile_motion.cpp'],['../d6/d4a/addition__rule_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): addition_rule.cpp'],['../d5/d67/bayes__theorem_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): bayes_theorem.cpp'],['../d6/db0/binomial__dist_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): binomial_dist.cpp'],['../d9/da2/exponential__dist_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): exponential_dist.cpp'],['../de/d72/geometric__dist_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): geometric_dist.cpp'],['../d9/d24/poisson__dist_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): poisson_dist.cpp'],['../d1/ded/windowed__median_8cpp.html#ac0f2228420376f4db7e1274f2b41667c',1,'main(int argc, const char *argv[]): windowed_median.cpp'],['../d6/d2e/fenwick__tree_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): fenwick_tree.cpp'],['../d2/de9/heavy__light__decomposition_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): heavy_light_decomposition.cpp'],['../d5/d58/persistent__seg__tree__lazy__prop_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): persistent_seg_tree_lazy_prop.cpp'],['../d1/d9e/prefix__sum__array_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): prefix_sum_array.cpp'],['../d2/d45/segtree_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): segtree.cpp'],['../d8/d8a/exponential__search_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): exponential_search.cpp'],['../de/d0d/fibonacci__search_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): fibonacci_search.cpp'],['../db/dc4/floyd__cycle__detection__algo_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): floyd_cycle_detection_algo.cpp'],['../d1/df3/hash__search_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): hash_search.cpp'],['../df/d39/interpolation__search2_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): interpolation_search2.cpp'],['../d9/d02/linear__search_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): linear_search.cpp'],['../d9/d5f/longest__increasing__subsequence__using__binary__search_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): longest_increasing_subsequence_using_binary_search.cpp'],['../d9/d69/median__search_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): median_search.cpp'],['../d8/dfa/median__search2_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): median_search2.cpp'],['../d3/d22/saddleback__search_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): saddleback_search.cpp'],['../d5/d45/sublist__search_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97',1,'main(int argc, char *argv[]): sublist_search.cpp'],['../dc/dfe/ternary__search_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): ternary_search.cpp'],['../dc/db5/text__search_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): text_search.cpp'],['../d8/dcc/binary__insertion__sort_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): binary_insertion_sort.cpp'],['../d5/ddb/bogo__sort_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): bogo_sort.cpp'],['../d8/d13/bubble__sort_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): bubble_sort.cpp'],['../d9/dfd/comb__sort_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): comb_sort.cpp'],['../d2/d26/count__inversions_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): count_inversions.cpp'],['../de/d07/cycle__sort_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): cycle_sort.cpp'],['../d6/d1a/dnf__sort_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): dnf_sort.cpp'],['../d2/d21/gnome__sort_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): gnome_sort.cpp'],['../d2/d52/heap__sort_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): heap_sort.cpp'],['../dd/d0d/insertion__sort_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): insertion_sort.cpp'],['../dd/d89/insertion__sort__recursive_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): insertion_sort_recursive.cpp'],['../de/d7b/merge__insertion__sort_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): merge_insertion_sort.cpp'],['../d5/d4c/group__sorting.html#gae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): merge_sort.cpp'],['../d3/d92/pancake__sort_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): pancake_sort.cpp'],['../dd/da8/pigeonhole__sort_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): pigeonhole_sort.cpp'],['../d1/d21/quick__sort_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): quick_sort.cpp'],['../d3/d4c/quick__sort__3_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): quick_sort_3.cpp'],['../d3/d22/quick__sort__iterative_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): quick_sort_iterative.cpp'],['../d8/d61/radix__sort2_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): radix_sort2.cpp'],['../d1/daa/random__pivot__quick__sort_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97',1,'main(int argc, char *argv[]): random_pivot_quick_sort.cpp'],['../d3/df9/recursive__bubble__sort_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): recursive_bubble_sort.cpp'],['../d4/d9f/selection__sort__recursive_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): selection_sort_recursive.cpp'],['../d4/d7a/shell__sort2_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97',1,'main(int argc, char *argv[]): shell_sort2.cpp'],['../d4/d4f/stooge__sort_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): stooge_sort.cpp'],['../dc/dd9/strand__sort_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): strand_sort.cpp'],['../db/d3f/wave__sort_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): wave_sort.cpp'],['../d3/db2/boyer__moore_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): boyer_moore.cpp'],['../d3/d7d/brute__force__string__searching_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): brute_force_string_searching.cpp'],['../db/d09/duval_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): duval.cpp'],['../d3/dfe/horspool_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): horspool.cpp'],['../d3/d39/manacher__algorithm_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): manacher_algorithm.cpp'],['../d6/dce/rabin__karp_8cpp.html#a840291bc02cba5474a4cb46a9b9566fe',1,'main(void): rabin_karp.cpp'],['../d3/d80/z__function_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): z_function.cpp']]], - ['make_5fexception_5fptr_4',['make_exception_ptr',['http://en.cppreference.com/w/cpp/error/make_exception_ptr.html',0,'std']]], - ['make_5fheap_5',['make_heap',['http://en.cppreference.com/w/cpp/algorithm/make_heap.html',0,'std']]], - ['make_5fmove_5fiterator_6',['make_move_iterator',['http://en.cppreference.com/w/cpp/iterator/make_move_iterator.html',0,'std']]], - ['make_5foptional_7',['make_optional',['http://en.cppreference.com/w/cpp/experimental/optional/make_optional.html',0,'std::experimental']]], - ['make_5fpair_8',['make_pair',['http://en.cppreference.com/w/cpp/utility/pair/make_pair.html',0,'std']]], - ['make_5fready_5fat_5fthread_5fexit_9',['make_ready_at_thread_exit',['http://en.cppreference.com/w/cpp/thread/packaged_task/make_ready_at_thread_exit.html',0,'std::packaged_task']]], - ['make_5frecent_10',['make_recent',['../d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache.html#ad022d494b40f82417340b113445e79a4',1,'others::Cache::LRUCache']]], - ['make_5fset_11',['make_set',['../d8/d99/connected__components__with__dsu_8cpp.html#ae91ed94113c56191b75fe45f688d6e62',1,'graph::disjoint_union']]], - ['make_5fshared_12',['make_shared',['http://en.cppreference.com/w/cpp/memory/shared_ptr/make_shared.html',0,'std']]], - ['make_5ftuple_13',['make_tuple',['http://en.cppreference.com/w/cpp/utility/tuple/make_tuple.html',0,'std']]], - ['makebst_14',['makeBST',['../d4/d32/inorder__successor__of__bst_8cpp.html#a05fe8a029e155c43e4efa598d4d089d9',1,'operations_on_datastructures::inorder_traversal_of_bst']]], - ['makelinkedlist_15',['makeLinkedList',['../d5/d45/sublist__search_8cpp.html#a70ca8d0267008e09cfa50b4e2ddfbe53',1,'search::sublist_search']]], - ['makenode_16',['makeNode',['../d4/d32/inorder__successor__of__bst_8cpp.html#a7f6f73a33beec448c27cc1d70b220702',1,'operations_on_datastructures::inorder_traversal_of_bst']]], - ['makestrings_17',['makeStrings',['../df/de5/classbacktracking_1_1generate__parentheses.html#ac1489edd65374f22fe04851051f0a2ec',1,'backtracking::generate_parentheses']]], - ['malloc_18',['malloc',['http://en.cppreference.com/w/cpp/memory/c/malloc.html',0,'std']]], - ['manacher_19',['manacher',['../d3/d39/manacher__algorithm_8cpp.html#a95e6a2976bb2f332898f373941d52098',1,'strings::manacher']]], - ['map_20',['map',['http://en.cppreference.com/w/cpp/container/map/map.html',0,'std::map']]], - ['mark_5fcount_21',['mark_count',['http://en.cppreference.com/w/cpp/regex/basic_regex/mark_count.html',0,'std::regex::mark_count()'],['http://en.cppreference.com/w/cpp/regex/basic_regex/mark_count.html',0,'std::basic_regex::mark_count()'],['http://en.cppreference.com/w/cpp/regex/basic_regex/mark_count.html',0,'std::wregex::mark_count()']]], - ['mat_5fmul_22',['mat_mul',['../d6/d26/classciphers_1_1_hill_cipher.html#ad36cbcc7a458b3f3a2af0c4aa1126590',1,'ciphers::HillCipher::mat_mul()'],['../de/d75/qr__eigen__values_8cpp.html#abb8bf4c55e10685a5eb2ad3797fde1ae',1,'mat_mul(): qr_eigen_values.cpp']]], - ['match_23',['match',['../d8/d41/namespacegames_1_1memory__game.html#a370760f2b328ad341bcb77d82fa17b01',1,'games::memory_game']]], - ['match_5fresults_24',['match_results',['http://en.cppreference.com/w/cpp/regex/match_results/match_results.html',0,'std::match_results']]], - ['matrix_25',['Matrix',['../dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix.html#a01f3a05cf5abdc5d63999ef1bf9f9256',1,'divide_and_conquer::strassens_multiplication::Matrix::Matrix(const Integer size)'],['../dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix.html#a4aa49765cce39ce48b9241e993e0cfb9',1,'divide_and_conquer::strassens_multiplication::Matrix::Matrix(const Integer rows, const Integer cols)']]], - ['max_26',['max',['http://en.cppreference.com/w/cpp/numeric/random/student_t_distribution/max.html',0,'std::student_t_distribution::max()'],['http://en.cppreference.com/w/cpp/numeric/random/mersenne_twister_engine/max.html',0,'std::mt19937_64::max()'],['http://en.cppreference.com/w/cpp/numeric/random/subtract_with_carry_engine/max.html',0,'std::ranlux24_base::max()'],['http://en.cppreference.com/w/cpp/numeric/random/extreme_value_distribution/max.html',0,'std::extreme_value_distribution::max()'],['http://en.cppreference.com/w/cpp/numeric/random/lognormal_distribution/max.html',0,'std::lognormal_distribution::max()'],['http://en.cppreference.com/w/cpp/numeric/random/discrete_distribution/max.html',0,'std::discrete_distribution::max()'],['http://en.cppreference.com/w/cpp/numeric/random/discard_block_engine/max.html',0,'std::ranlux48::max()'],['http://en.cppreference.com/w/cpp/numeric/random/piecewise_constant_distribution/max.html',0,'std::piecewise_constant_distribution::max()'],['http://en.cppreference.com/w/cpp/numeric/random/poisson_distribution/max.html',0,'std::poisson_distribution::max()'],['http://en.cppreference.com/w/cpp/numeric/random/bernoulli_distribution/max.html',0,'std::bernoulli_distribution::max()'],['http://en.cppreference.com/w/cpp/numeric/random/discard_block_engine/max.html',0,'std::discard_block_engine::max()'],['http://en.cppreference.com/w/cpp/numeric/random/exponential_distribution/max.html',0,'std::exponential_distribution::max()'],['http://en.cppreference.com/w/cpp/numeric/random/uniform_real_distribution/max.html',0,'std::uniform_real_distribution::max()'],['http://en.cppreference.com/w/cpp/numeric/random/geometric_distribution/max.html',0,'std::geometric_distribution::max()'],['http://en.cppreference.com/w/cpp/numeric/random/mersenne_twister_engine/max.html',0,'std::mersenne_twister_engine::max()'],['http://en.cppreference.com/w/cpp/numeric/random/independent_bits_engine/max.html',0,'std::independent_bits_engine::max()'],['http://en.cppreference.com/w/cpp/numeric/random/normal_distribution/max.html',0,'std::normal_distribution::max()'],['http://en.cppreference.com/w/cpp/numeric/random/linear_congruential_engine/max.html',0,'std::minstd_rand::max()'],['http://en.cppreference.com/w/cpp/numeric/random/weibull_distribution/max.html',0,'std::weibull_distribution::max()'],['http://en.cppreference.com/w/cpp/numeric/random/subtract_with_carry_engine/max.html',0,'std::ranlux48_base::max()'],['http://en.cppreference.com/w/cpp/numeric/random/negative_binomial_distribution/max.html',0,'std::negative_binomial_distribution::max()'],['http://en.cppreference.com/w/cpp/numeric/random/mersenne_twister_engine/max.html',0,'std::mt19937::max()'],['http://en.cppreference.com/w/cpp/numeric/random/chi_squared_distribution/max.html',0,'std::chi_squared_distribution::max()'],['http://en.cppreference.com/w/cpp/numeric/random/piecewise_linear_distribution/max.html',0,'std::piecewise_linear_distribution::max()'],['http://en.cppreference.com/w/cpp/numeric/random/shuffle_order_engine/max.html',0,'std::shuffle_order_engine::max()'],['http://en.cppreference.com/w/cpp/chrono/duration/max.html',0,'std::chrono::minutes::max()'],['http://en.cppreference.com/w/cpp/chrono/duration/max.html',0,'std::chrono::seconds::max()'],['http://en.cppreference.com/w/cpp/chrono/duration/max.html',0,'std::chrono::duration::max()'],['http://en.cppreference.com/w/cpp/chrono/duration/max.html',0,'std::chrono::milliseconds::max()'],['http://en.cppreference.com/w/cpp/chrono/duration/max.html',0,'std::chrono::hours::max()'],['http://en.cppreference.com/w/cpp/chrono/time_point/max.html',0,'std::chrono::time_point::max()'],['http://en.cppreference.com/w/cpp/chrono/duration_values/max.html',0,'std::chrono::duration_values::max()'],['http://en.cppreference.com/w/cpp/chrono/duration/max.html',0,'std::chrono::microseconds::max()'],['http://en.cppreference.com/w/cpp/chrono/duration/max.html',0,'std::chrono::nanoseconds::max()'],['http://en.cppreference.com/w/cpp/types/numeric_limits/max.html',0,'std::numeric_limits::max()'],['http://en.cppreference.com/w/cpp/numeric/random/uniform_int_distribution/max.html',0,'std::uniform_int_distribution::max()'],['http://en.cppreference.com/w/cpp/numeric/random/fisher_f_distribution/max.html',0,'std::fisher_f_distribution::max()'],['http://en.cppreference.com/w/cpp/numeric/random/discard_block_engine/max.html',0,'std::ranlux24::max()'],['http://en.cppreference.com/w/cpp/numeric/random/linear_congruential_engine/max.html',0,'std::linear_congruential_engine::max()'],['http://en.cppreference.com/w/cpp/numeric/random/shuffle_order_engine/max.html',0,'std::knuth_b::max()'],['http://en.cppreference.com/w/cpp/numeric/random/linear_congruential_engine/max.html',0,'std::minstd_rand0::max()'],['http://en.cppreference.com/w/cpp/numeric/random/gamma_distribution/max.html',0,'std::gamma_distribution::max()'],['http://en.cppreference.com/w/cpp/numeric/random/binomial_distribution/max.html',0,'std::binomial_distribution::max()'],['http://en.cppreference.com/w/cpp/numeric/random/cauchy_distribution/max.html',0,'std::cauchy_distribution::max()'],['http://en.cppreference.com/w/cpp/numeric/random/subtract_with_carry_engine/max.html',0,'std::subtract_with_carry_engine::max()'],['http://en.cppreference.com/w/cpp/numeric/random/random_device/max.html',0,'std::random_device::max()'],['http://en.cppreference.com/w/cpp/algorithm/max.html',0,'std::max()']]], - ['max_5fbucket_5fcount_27',['max_bucket_count',['http://en.cppreference.com/w/cpp/container/unordered_map/max_bucket_count.html',0,'std::unordered_map::max_bucket_count()'],['http://en.cppreference.com/w/cpp/container/unordered_multimap/max_bucket_count.html',0,'std::unordered_multimap::max_bucket_count()'],['http://en.cppreference.com/w/cpp/container/unordered_multiset/max_bucket_count.html',0,'std::unordered_multiset::max_bucket_count()'],['http://en.cppreference.com/w/cpp/container/unordered_set/max_bucket_count.html',0,'std::unordered_set::max_bucket_count()']]], - ['max_5felement_28',['max_element',['http://en.cppreference.com/w/cpp/algorithm/max_element.html',0,'std']]], - ['max_5fheight_29',['max_height',['../d9/d29/ground__to__ground__projectile__motion_8cpp.html#aa554429def63077ab7a550c0affbfefa',1,'physics::ground_to_ground_projectile_motion']]], - ['max_5flength_30',['max_length',['http://en.cppreference.com/w/cpp/locale/codecvt/max_length.html',0,'std::codecvt::max_length()'],['http://en.cppreference.com/w/cpp/locale/codecvt/max_length.html',0,'std::codecvt_byname::max_length()'],['http://en.cppreference.com/w/cpp/locale/codecvt/max_length.html',0,'std::codecvt_utf8::max_length()'],['http://en.cppreference.com/w/cpp/locale/codecvt/max_length.html',0,'std::codecvt_utf8_utf16::max_length()'],['http://en.cppreference.com/w/cpp/locale/codecvt/max_length.html',0,'std::codecvt_utf16::max_length()']]], - ['max_5fload_5ffactor_31',['max_load_factor',['http://en.cppreference.com/w/cpp/container/unordered_map/max_load_factor.html',0,'std::unordered_map::max_load_factor()'],['http://en.cppreference.com/w/cpp/container/unordered_multimap/max_load_factor.html',0,'std::unordered_multimap::max_load_factor()'],['http://en.cppreference.com/w/cpp/container/unordered_multiset/max_load_factor.html',0,'std::unordered_multiset::max_load_factor()'],['http://en.cppreference.com/w/cpp/container/unordered_set/max_load_factor.html',0,'std::unordered_set::max_load_factor()']]], - ['max_5fsize_32',['max_size',['http://en.cppreference.com/w/cpp/container/dynarray/max_size.html',0,'std::dynarray::max_size()'],['http://en.cppreference.com/w/cpp/container/vector/max_size.html',0,'std::vector::max_size()'],['http://en.cppreference.com/w/cpp/regex/match_results/max_size.html',0,'std::match_results::max_size()'],['http://en.cppreference.com/w/cpp/memory/allocator_traits/max_size.html',0,'std::allocator_traits::max_size()'],['http://en.cppreference.com/w/cpp/container/multiset/max_size.html',0,'std::multiset::max_size()'],['http://en.cppreference.com/w/cpp/string/basic_string/max_size.html',0,'std::string::max_size()'],['http://en.cppreference.com/w/cpp/container/set/max_size.html',0,'std::set::max_size()'],['http://en.cppreference.com/w/cpp/container/unordered_map/max_size.html',0,'std::unordered_map::max_size()'],['http://en.cppreference.com/w/cpp/regex/match_results/max_size.html',0,'std::wsmatch::max_size()'],['http://en.cppreference.com/w/cpp/regex/match_results/max_size.html',0,'std::smatch::max_size()'],['http://en.cppreference.com/w/cpp/container/unordered_multimap/max_size.html',0,'std::unordered_multimap::max_size()'],['http://en.cppreference.com/w/cpp/container/forward_list/max_size.html',0,'std::forward_list::max_size()'],['http://en.cppreference.com/w/cpp/regex/match_results/max_size.html',0,'std::wcmatch::max_size()'],['http://en.cppreference.com/w/cpp/container/deque/max_size.html',0,'std::deque::max_size()'],['http://en.cppreference.com/w/cpp/memory/allocator/max_size.html',0,'std::allocator::max_size()'],['http://en.cppreference.com/w/cpp/memory/scoped_allocator_adaptor/max_size.html',0,'std::scoped_allocator_adaptor::max_size()'],['http://en.cppreference.com/w/cpp/string/basic_string/max_size.html',0,'std::basic_string::max_size()'],['http://en.cppreference.com/w/cpp/string/basic_string/max_size.html',0,'std::wstring::max_size()'],['http://en.cppreference.com/w/cpp/container/unordered_multiset/max_size.html',0,'std::unordered_multiset::max_size()'],['http://en.cppreference.com/w/cpp/string/basic_string/max_size.html',0,'std::u16string::max_size()'],['http://en.cppreference.com/w/cpp/string/basic_string/max_size.html',0,'std::u32string::max_size()'],['http://en.cppreference.com/w/cpp/container/list/max_size.html',0,'std::list::max_size()'],['http://en.cppreference.com/w/cpp/container/map/max_size.html',0,'std::map::max_size()'],['http://en.cppreference.com/w/cpp/regex/match_results/max_size.html',0,'std::cmatch::max_size()'],['http://en.cppreference.com/w/cpp/container/unordered_set/max_size.html',0,'std::unordered_set::max_size()'],['http://en.cppreference.com/w/cpp/container/multimap/max_size.html',0,'std::multimap::max_size()'],['http://en.cppreference.com/w/cpp/container/array/max_size.html',0,'std::array::max_size()']]], - ['max_5fsubarray_5fsum_33',['max_subarray_sum',['../de/dcd/kadanes3_8cpp.html#a338439a04148ae89f695595acfa5c147',1,'kadanes3.cpp']]], - ['maxcircularsum_34',['maxCircularSum',['../dd/d24/namespacedynamic__programming.html#a5239174fa0d987f2c67edc1f2af82beb',1,'dynamic_programming']]], - ['maxknapsackvalue_35',['maxKnapsackValue',['../db/d16/0__1__knapsack_8cpp.html#a15edf30f336885e5b851f6b7199c6cd1',1,'dynamic_programming::knapsack']]], - ['maxprofitbycuttingrod_36',['maxProfitByCuttingRod',['../d6/d10/cut__rod_8cpp.html#a1cc523a30c18c63eac58220c3c494cfa',1,'dynamic_programming::cut_rod']]], - ['maxsubarray_37',['maxSubArray',['../d4/da0/kadane_8cpp.html#af3029007a422a914a85c0b0122f1c7b4',1,'dynamic_programming::kadane']]], - ['mblen_38',['mblen',['http://en.cppreference.com/w/cpp/string/multibyte/mblen.html',0,'std']]], - ['mbrlen_39',['mbrlen',['http://en.cppreference.com/w/cpp/string/multibyte/mbrlen.html',0,'std']]], - ['mbrtoc16_40',['mbrtoc16',['http://en.cppreference.com/w/cpp/string/multibyte/mbrtoc16.html',0,'std']]], - ['mbrtoc32_41',['mbrtoc32',['http://en.cppreference.com/w/cpp/string/multibyte/mbrtoc32.html',0,'std']]], - ['mbrtowc_42',['mbrtowc',['http://en.cppreference.com/w/cpp/string/multibyte/mbrtowc.html',0,'std']]], - ['mbsinit_43',['mbsinit',['http://en.cppreference.com/w/cpp/string/multibyte/mbsinit.html',0,'std']]], - ['mbsrtowcs_44',['mbsrtowcs',['http://en.cppreference.com/w/cpp/string/multibyte/mbsrtowcs.html',0,'std']]], - ['mbstowcs_45',['mbstowcs',['http://en.cppreference.com/w/cpp/string/multibyte/mbstowcs.html',0,'std']]], - ['mbtowc_46',['mbtowc',['http://en.cppreference.com/w/cpp/string/multibyte/mbtowc.html',0,'std']]], - ['mean_47',['mean',['http://en.cppreference.com/w/cpp/numeric/random/poisson_distribution/mean.html',0,'std::poisson_distribution::mean()'],['http://en.cppreference.com/w/cpp/numeric/random/normal_distribution/params.html',0,'std::normal_distribution::mean()'],['../d7/d7c/classstatistics_1_1stats__computer1.html#a390697dcee210b91823ceff04b25081b',1,'statistics::stats_computer1::mean()'],['../d8/dab/classstatistics_1_1stats__computer2.html#a8290966ad468f2a8c266d008bc60720e',1,'statistics::stats_computer2::mean()']]], - ['median_5fof_5fmedians_48',['median_of_medians',['../d9/d69/median__search_8cpp.html#a868847218f694e78bf433a0ff7648bae',1,'search::median_search']]], - ['mem_5ffn_49',['mem_fn',['http://en.cppreference.com/w/cpp/utility/functional/mem_fn.html',0,'std']]], - ['memchr_50',['memchr',['http://en.cppreference.com/w/cpp/string/byte/memchr.html',0,'std']]], - ['memcmp_51',['memcmp',['http://en.cppreference.com/w/cpp/string/byte/memcmp.html',0,'std']]], - ['memcpy_52',['memcpy',['http://en.cppreference.com/w/cpp/string/byte/memcpy.html',0,'std']]], - ['memmove_53',['memmove',['http://en.cppreference.com/w/cpp/string/byte/memmove.html',0,'std']]], - ['memset_54',['memset',['http://en.cppreference.com/w/cpp/string/byte/memset.html',0,'std']]], - ['merge_55',['Merge',['../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a36f4d5f603f7edb7db7c73fb53ba14e9',1,'data_structures::tree_234::Tree234']]], - ['merge_56',['merge',['http://en.cppreference.com/w/cpp/container/forward_list/merge.html',0,'std::forward_list::merge()'],['http://en.cppreference.com/w/cpp/container/list/merge.html',0,'std::list::merge()'],['http://en.cppreference.com/w/cpp/algorithm/merge.html',0,'std::merge()'],['../d2/d26/count__inversions_8cpp.html#aad643c14734394e784a75169cb58132f',1,'sorting::inversion::merge()'],['../de/d7b/merge__insertion__sort_8cpp.html#af4de4067a9a866ffd985c5b5055ccedf',1,'sorting::merge_insertion::merge()'],['../d5/d4c/group__sorting.html#ga460c61cd948203b4816bef2accb3fc73',1,'merge(): merge_sort.cpp'],['../d5/d91/namespacesorting.html#aa26de383227859210f14dcf12201a079',1,'sorting::merge()']]], - ['mergenode_57',['MergeNode',['../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a11f0d016dff7f7e62b3dddb9fdf47805',1,'data_structures::tree_234::Tree234']]], - ['mergenodenotfull_58',['MergeNodeNotFull',['../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#ad37e29e2a4a6cc0eb65cbd5595e1da95',1,'data_structures::tree_234::Tree234']]], - ['mergesort_59',['mergeSort',['../d2/d26/count__inversions_8cpp.html#ae97a486e14101c4822ea8dc47f0d1661',1,'sorting::inversion::mergeSort()'],['../de/d7b/merge__insertion__sort_8cpp.html#a7161278f18e83b671c6454b139cc5674',1,'sorting::merge_insertion::mergeSort()'],['../d5/d4c/group__sorting.html#gab6b14fea48d9841e29b9fc26be6e05d7',1,'mergeSort(): merge_sort.cpp']]], - ['mersenne_5ftwister_5fengine_60',['mersenne_twister_engine',['http://en.cppreference.com/w/cpp/numeric/random/mersenne_twister_engine/mersenne_twister_engine.html',0,'std::mersenne_twister_engine']]], - ['message_61',['message',['http://en.cppreference.com/w/cpp/error/error_code/message.html',0,'std::error_code::message()'],['http://en.cppreference.com/w/cpp/error/error_category/message.html',0,'std::error_category::message()'],['http://en.cppreference.com/w/cpp/error/error_condition/message.html',0,'std::error_condition::message()']]], - ['messages_62',['messages',['http://en.cppreference.com/w/cpp/locale/messages/messages.html',0,'std::messages']]], - ['messages_5fbyname_63',['messages_byname',['http://en.cppreference.com/w/cpp/locale/messages_byname.html',0,'std::messages_byname']]], - ['method1_64',['method1',['../df/d06/decimal__to__binary_8cpp.html#a9240f2e79074a2a248395258aebbfa11',1,'decimal_to_binary.cpp']]], - ['method2_65',['method2',['../df/d06/decimal__to__binary_8cpp.html#a10df57491019f0ac39b492740fb388f7',1,'decimal_to_binary.cpp']]], - ['microseconds_66',['microseconds',['http://en.cppreference.com/w/cpp/chrono/duration/duration.html',0,'std::chrono::microseconds']]], - ['mid_67',['mid',['../dd/d95/classdata__structures_1_1_segment_tree.html#a6d3beccc936af2377c8eeb17067fd141',1,'data_structures::SegmentTree']]], - ['middlenode_68',['middleNode',['../d8/dfa/median__search2_8cpp.html#a5fefe132a0c3ee780ebc703f37ebce6a',1,'search::median_search2']]], - ['midpoint_69',['midpoint',['../df/d11/midpoint__integral__method_8cpp.html#a7072493d1f0f8a91b2a71d4cc456c09c',1,'numerical_methods::midpoint_rule']]], - ['midpoint_5feuler_70',['midpoint_euler',['../d6/d60/group__ode.html#ga36ff0710861ca39d957046c0b09b2985',1,'ode_midpoint_euler.cpp']]], - ['midpoint_5feuler_5fstep_71',['midpoint_euler_step',['../d6/d60/group__ode.html#ga8c319db420c3d97a83e9dcca803b6812',1,'ode_midpoint_euler.cpp']]], - ['miller_5frabin_5fprimality_5ftest_72',['miller_rabin_primality_test',['../d6/d42/miller__rabin_8cpp.html#a901288288ef5ebe8e97414cc30797cce',1,'miller_rabin.cpp']]], - ['miller_5ftest_73',['miller_test',['../d6/d42/miller__rabin_8cpp.html#a6f9c31c1047aa3191676d64571d4c506',1,'miller_rabin.cpp']]], - ['milliseconds_74',['milliseconds',['http://en.cppreference.com/w/cpp/chrono/duration/duration.html',0,'std::chrono::milliseconds']]], - ['min_75',['min',['http://en.cppreference.com/w/cpp/numeric/random/student_t_distribution/min.html',0,'std::student_t_distribution::min()'],['http://en.cppreference.com/w/cpp/numeric/random/mersenne_twister_engine/min.html',0,'std::mt19937_64::min()'],['http://en.cppreference.com/w/cpp/numeric/random/subtract_with_carry_engine/min.html',0,'std::ranlux24_base::min()'],['http://en.cppreference.com/w/cpp/numeric/random/extreme_value_distribution/min.html',0,'std::extreme_value_distribution::min()'],['http://en.cppreference.com/w/cpp/numeric/random/lognormal_distribution/min.html',0,'std::lognormal_distribution::min()'],['http://en.cppreference.com/w/cpp/numeric/random/discrete_distribution/min.html',0,'std::discrete_distribution::min()'],['http://en.cppreference.com/w/cpp/numeric/random/discard_block_engine/min.html',0,'std::ranlux48::min()'],['http://en.cppreference.com/w/cpp/numeric/random/piecewise_constant_distribution/min.html',0,'std::piecewise_constant_distribution::min()'],['http://en.cppreference.com/w/cpp/numeric/random/poisson_distribution/min.html',0,'std::poisson_distribution::min()'],['http://en.cppreference.com/w/cpp/numeric/random/bernoulli_distribution/min.html',0,'std::bernoulli_distribution::min()'],['http://en.cppreference.com/w/cpp/numeric/random/discard_block_engine/min.html',0,'std::discard_block_engine::min()'],['http://en.cppreference.com/w/cpp/numeric/random/exponential_distribution/min.html',0,'std::exponential_distribution::min()'],['http://en.cppreference.com/w/cpp/numeric/random/uniform_real_distribution/min.html',0,'std::uniform_real_distribution::min()'],['http://en.cppreference.com/w/cpp/numeric/random/geometric_distribution/min.html',0,'std::geometric_distribution::min()'],['http://en.cppreference.com/w/cpp/numeric/random/mersenne_twister_engine/min.html',0,'std::mersenne_twister_engine::min()'],['http://en.cppreference.com/w/cpp/numeric/random/independent_bits_engine/min.html',0,'std::independent_bits_engine::min()'],['http://en.cppreference.com/w/cpp/numeric/random/normal_distribution/min.html',0,'std::normal_distribution::min()'],['http://en.cppreference.com/w/cpp/numeric/random/linear_congruential_engine/min.html',0,'std::minstd_rand::min()'],['http://en.cppreference.com/w/cpp/numeric/random/weibull_distribution/min.html',0,'std::weibull_distribution::min()'],['http://en.cppreference.com/w/cpp/numeric/random/subtract_with_carry_engine/min.html',0,'std::ranlux48_base::min()'],['http://en.cppreference.com/w/cpp/numeric/random/negative_binomial_distribution/min.html',0,'std::negative_binomial_distribution::min()'],['http://en.cppreference.com/w/cpp/numeric/random/mersenne_twister_engine/min.html',0,'std::mt19937::min()'],['http://en.cppreference.com/w/cpp/numeric/random/chi_squared_distribution/min.html',0,'std::chi_squared_distribution::min()'],['http://en.cppreference.com/w/cpp/numeric/random/piecewise_linear_distribution/min.html',0,'std::piecewise_linear_distribution::min()'],['http://en.cppreference.com/w/cpp/numeric/random/shuffle_order_engine/min.html',0,'std::shuffle_order_engine::min()'],['http://en.cppreference.com/w/cpp/chrono/duration/min.html',0,'std::chrono::minutes::min()'],['http://en.cppreference.com/w/cpp/chrono/duration/min.html',0,'std::chrono::seconds::min()'],['http://en.cppreference.com/w/cpp/chrono/duration/min.html',0,'std::chrono::duration::min()'],['http://en.cppreference.com/w/cpp/chrono/duration/min.html',0,'std::chrono::milliseconds::min()'],['http://en.cppreference.com/w/cpp/chrono/duration/min.html',0,'std::chrono::hours::min()'],['http://en.cppreference.com/w/cpp/chrono/time_point/min.html',0,'std::chrono::time_point::min()'],['http://en.cppreference.com/w/cpp/chrono/duration_values/min.html',0,'std::chrono::duration_values::min()'],['http://en.cppreference.com/w/cpp/chrono/duration/min.html',0,'std::chrono::microseconds::min()'],['http://en.cppreference.com/w/cpp/chrono/duration/min.html',0,'std::chrono::nanoseconds::min()'],['http://en.cppreference.com/w/cpp/types/numeric_limits/min.html',0,'std::numeric_limits::min()'],['http://en.cppreference.com/w/cpp/numeric/random/uniform_int_distribution/min.html',0,'std::uniform_int_distribution::min()'],['http://en.cppreference.com/w/cpp/numeric/random/fisher_f_distribution/min.html',0,'std::fisher_f_distribution::min()'],['http://en.cppreference.com/w/cpp/numeric/random/discard_block_engine/min.html',0,'std::ranlux24::min()'],['http://en.cppreference.com/w/cpp/numeric/random/linear_congruential_engine/min.html',0,'std::linear_congruential_engine::min()'],['http://en.cppreference.com/w/cpp/numeric/random/shuffle_order_engine/min.html',0,'std::knuth_b::min()'],['http://en.cppreference.com/w/cpp/numeric/random/linear_congruential_engine/min.html',0,'std::minstd_rand0::min()'],['http://en.cppreference.com/w/cpp/numeric/random/gamma_distribution/min.html',0,'std::gamma_distribution::min()'],['http://en.cppreference.com/w/cpp/numeric/random/binomial_distribution/min.html',0,'std::binomial_distribution::min()'],['http://en.cppreference.com/w/cpp/numeric/random/cauchy_distribution/min.html',0,'std::cauchy_distribution::min()'],['http://en.cppreference.com/w/cpp/numeric/random/subtract_with_carry_engine/min.html',0,'std::subtract_with_carry_engine::min()'],['http://en.cppreference.com/w/cpp/numeric/random/random_device/min.html',0,'std::random_device::min()'],['http://en.cppreference.com/w/cpp/algorithm/min.html',0,'std::min()'],['../da/d52/minimum__edit__distance_8cpp.html#a0138c226bd79ffe6d839c787cfc60347',1,'dynamic_programming::minimum_edit_distance::min()']]], - ['min_5felement_76',['min_element',['http://en.cppreference.com/w/cpp/algorithm/min_element.html',0,'std']]], - ['mincoins_77',['mincoins',['../d9/d31/coin__change__topdown_8cpp.html#ac816a4ae8a29c156b90377041000929a',1,'dynamic_programming::mincoins_topdown']]], - ['minheap_78',['MinHeap',['../d2/d05/class_min_heap.html#a078cb888e642bb1f95dd0e03f0a35820',1,'MinHeap']]], - ['minheapify_79',['MinHeapify',['../d2/d05/class_min_heap.html#aaef438c1056492cb62c4a4d9035b5cad',1,'MinHeap']]], - ['minimax_80',['minimax',['../db/dc0/namespacebacktracking.html#a78540bcb5ef3473b2348cbc34748ec50',1,'backtracking']]], - ['minimum_5fdistance_81',['minimum_distance',['../d2/d2f/namespacegreedy__algorithms_1_1dijkstra.html#af6cb29ca6dc5771439f6ea7262058a71',1,'greedy_algorithms::dijkstra']]], - ['minmax_82',['minmax',['http://en.cppreference.com/w/cpp/algorithm/minmax.html',0,'std']]], - ['minmax_5felement_83',['minmax_element',['http://en.cppreference.com/w/cpp/algorithm/minmax_element.html',0,'std']]], - ['minmax_5fscaler_84',['minmax_scaler',['../d8/d77/namespacemachine__learning.html#ac332d152078e96311e43ac5e7183ea26',1,'machine_learning']]], - ['minstd_5frand_85',['minstd_rand',['http://en.cppreference.com/w/cpp/numeric/random/linear_congruential_engine/linear_congruential_engine.html',0,'std::minstd_rand']]], - ['minstd_5frand0_86',['minstd_rand0',['http://en.cppreference.com/w/cpp/numeric/random/linear_congruential_engine/linear_congruential_engine.html',0,'std::minstd_rand0']]], - ['minutes_87',['minutes',['http://en.cppreference.com/w/cpp/chrono/duration/duration.html',0,'std::chrono::minutes']]], - ['minvalue_88',['minValue',['../d8/dee/avltree_8cpp.html#a5fa160a678a34dd51c0aea1c0c00ed5e',1,'avltree.cpp']]], - ['mismatch_89',['mismatch',['http://en.cppreference.com/w/cpp/algorithm/mismatch.html',0,'std']]], - ['mktime_90',['mktime',['http://en.cppreference.com/w/cpp/chrono/c/mktime.html',0,'std']]], - ['mod_5fdivision_91',['mod_division',['../df/d72/modular__division_8cpp.html#a905e368ae121beb7e7ea35349ddcdac7',1,'math::modular_division']]], - ['modf_92',['modf',['http://en.cppreference.com/w/cpp/numeric/math/modf.html',0,'std']]], - ['modinverse_93',['modInverse',['../de/dab/ncr__modulo__p_8cpp.html#a6c7bfe3bdaa086d32261a5c5584d0fa9',1,'math::ncr_modulo_p::utils']]], - ['modular_5fexponentiation_94',['modular_exponentiation',['../d6/d42/miller__rabin_8cpp.html#ad6c2c67ea416d0e80003a88623f98b29',1,'miller_rabin.cpp']]], - ['modular_5finverse_95',['modular_inverse',['../d8/d53/modular__inverse__fermat__little__theorem_8cpp.html#ae7e807e02c65c6fffd6162b4c66290c2',1,'math::modular_inverse_fermat']]], - ['money_5fget_96',['money_get',['http://en.cppreference.com/w/cpp/locale/money_get/money_get.html',0,'std::money_get']]], - ['money_5fput_97',['money_put',['http://en.cppreference.com/w/cpp/locale/money_put/money_put.html',0,'std::money_put']]], - ['moneypunct_98',['moneypunct',['http://en.cppreference.com/w/cpp/locale/moneypunct/moneypunct.html',0,'std::moneypunct']]], - ['moneypunct_5fbyname_99',['moneypunct_byname',['http://en.cppreference.com/w/cpp/locale/moneypunct_byname.html',0,'std::moneypunct_byname']]], - ['morse_5fto_5fchar_100',['morse_to_char',['../d8/d76/morse__code_8cpp.html#ac9f294b0dec08a4a11d477a32f9bd829',1,'ciphers::morse']]], - ['mov_101',['mov',['../db/d3c/tower__of__hanoi_8cpp.html#af4cfc41e546f1f8d25f01e0804e8b61d',1,'tower_of_hanoi.cpp']]], - ['move_102',['move',['http://en.cppreference.com/w/cpp/io/basic_ios/move.html',0,'std::basic_ofstream::move()'],['http://en.cppreference.com/w/cpp/io/basic_ios/move.html',0,'std::fstream::move()'],['http://en.cppreference.com/w/cpp/string/char_traits/move.html',0,'std::char_traits::move()'],['http://en.cppreference.com/w/cpp/io/basic_ios/move.html',0,'std::wostream::move()'],['http://en.cppreference.com/w/cpp/io/basic_ios/move.html',0,'std::basic_ostringstream::move()'],['http://en.cppreference.com/w/cpp/io/basic_ios/move.html',0,'std::basic_ios::move()'],['http://en.cppreference.com/w/cpp/io/basic_ios/move.html',0,'std::ostringstream::move()'],['http://en.cppreference.com/w/cpp/io/basic_ios/move.html',0,'std::basic_fstream::move()'],['http://en.cppreference.com/w/cpp/io/basic_ios/move.html',0,'std::iostream::move()'],['http://en.cppreference.com/w/cpp/io/basic_ios/move.html',0,'std::wistream::move()'],['http://en.cppreference.com/w/cpp/io/basic_ios/move.html',0,'std::stringstream::move()'],['http://en.cppreference.com/w/cpp/io/basic_ios/move.html',0,'std::ostream::move()'],['http://en.cppreference.com/w/cpp/io/basic_ios/move.html',0,'std::wifstream::move()'],['http://en.cppreference.com/w/cpp/io/basic_ios/move.html',0,'std::basic_istream::move()'],['http://en.cppreference.com/w/cpp/io/basic_ios/move.html',0,'std::strstream::move()'],['http://en.cppreference.com/w/cpp/io/basic_ios/move.html',0,'std::basic_stringstream::move()'],['http://en.cppreference.com/w/cpp/io/basic_ios/move.html',0,'std::wostringstream::move()'],['http://en.cppreference.com/w/cpp/io/basic_ios/move.html',0,'std::istrstream::move()'],['http://en.cppreference.com/w/cpp/io/basic_ios/move.html',0,'std::basic_ostream::move()'],['http://en.cppreference.com/w/cpp/io/basic_ios/move.html',0,'std::wiostream::move()'],['http://en.cppreference.com/w/cpp/io/basic_ios/move.html',0,'std::ofstream::move()'],['http://en.cppreference.com/w/cpp/io/basic_ios/move.html',0,'std::basic_istringstream::move()'],['http://en.cppreference.com/w/cpp/io/basic_ios/move.html',0,'std::basic_ifstream::move()'],['http://en.cppreference.com/w/cpp/io/basic_ios/move.html',0,'std::istringstream::move()'],['http://en.cppreference.com/w/cpp/io/basic_ios/move.html',0,'std::istream::move()'],['http://en.cppreference.com/w/cpp/io/basic_ios/move.html',0,'std::ostrstream::move()'],['http://en.cppreference.com/w/cpp/io/basic_ios/move.html',0,'std::wfstream::move()'],['http://en.cppreference.com/w/cpp/io/basic_ios/move.html',0,'std::basic_iostream::move()'],['http://en.cppreference.com/w/cpp/io/basic_ios/move.html',0,'std::wofstream::move()'],['http://en.cppreference.com/w/cpp/io/basic_ios/move.html',0,'std::wstringstream::move()'],['http://en.cppreference.com/w/cpp/io/basic_ios/move.html',0,'std::wistringstream::move()'],['http://en.cppreference.com/w/cpp/io/basic_ios/move.html',0,'std::ifstream::move()'],['http://en.cppreference.com/w/cpp/utility/move.html',0,'std::move(T... args)']]], - ['move_5fbackward_103',['move_backward',['http://en.cppreference.com/w/cpp/algorithm/move_backward.html',0,'std']]], - ['move_5fif_5fnoexcept_104',['move_if_noexcept',['http://en.cppreference.com/w/cpp/utility/move_if_noexcept.html',0,'std']]], - ['mt19937_105',['mt19937',['http://en.cppreference.com/w/cpp/numeric/random/mersenne_twister_engine/mersenne_twister_engine.html',0,'std::mt19937']]], - ['mt19937_5f64_106',['mt19937_64',['http://en.cppreference.com/w/cpp/numeric/random/mersenne_twister_engine/mersenne_twister_engine.html',0,'std::mt19937_64']]], - ['multimap_107',['multimap',['http://en.cppreference.com/w/cpp/container/multimap/multimap.html',0,'std::multimap']]], - ['multiply_108',['multiply',['../db/d82/classlarge__number.html#a2f5571e66305cf68bb8283e4aeda58bc',1,'large_number::multiply()'],['../df/d6b/namespaceciphers_1_1elliptic__curve__key__exchange.html#a17f3d667241b88115a95282cdd719cb2',1,'ciphers::elliptic_curve_key_exchange::multiply()'],['../d8/d77/namespacemachine__learning.html#a5342906d42b80fc6b6b3ad17bf00fcb9',1,'machine_learning::multiply()'],['../de/dc3/fibonacci__sum_8cpp.html#a9c83cca09a3e4ff2a25c816a9303448e',1,'math::fibonacci_sum::multiply()'],['../df/def/power__for__huge__numbers_8cpp.html#aa141a7904f0c4668bac112d652a3acf9',1,'multiply(int x, int res[], int res_size): power_for_huge_numbers.cpp'],['../d7/d35/matrix__exponentiation_8cpp.html#a357cfbebfdc47a237a2862fe146af252',1,'multiply(const vector< vector< ll > > &A, const vector< vector< ll > > &B): matrix_exponentiation.cpp']]], - ['multiset_109',['multiset',['http://en.cppreference.com/w/cpp/container/multiset/multiset.html',0,'std::multiset']]], - ['mutex_110',['mutex',['http://en.cppreference.com/w/cpp/thread/unique_lock/mutex.html',0,'std::unique_lock::mutex()'],['http://en.cppreference.com/w/cpp/thread/shared_lock/mutex.html',0,'std::shared_lock::mutex()'],['http://en.cppreference.com/w/cpp/thread/mutex/mutex.html',0,'std::mutex::mutex()']]] + ['mag_0',['mag',['../df/d66/vector__cross__product_8cpp.html#a4b2a9757a87c18e1642d72410ecfaba8',1,'math::vector_cross']]], + ['magic_5fnumber_1',['magic_number',['../dd/d47/namespacemath.html#a8d8e81a7cd59644b311ef9adb268f5f0',1,'math']]], + ['main_2',['main',['../dd/d1e/generate__parentheses_8cpp.html#gae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): generate_parentheses.cpp'],['../d3/d40/graph__coloring_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): graph_coloring.cpp'],['../d1/d2a/knight__tour_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): knight_tour.cpp'],['../df/dfb/minimax_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): minimax.cpp'],['../d4/d3e/n__queens_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): n_queens.cpp'],['../da/dac/n__queens__all__solution__optimised_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): n_queens_all_solution_optimised.cpp'],['../d7/d24/nqueen__print__all__solutions_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): nqueen_print_all_solutions.cpp'],['../dc/d5a/rat__maze_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): rat_maze.cpp'],['../df/d94/subarray__sum_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): subarray_sum.cpp'],['../d2/d5a/subset__sum_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): subset_sum.cpp'],['../d3/d05/sudoku__solver_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): sudoku_solver.cpp'],['../dc/d14/wildcard__matching_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): wildcard_matching.cpp'],['../d7/d56/count__bits__flip_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): count_bits_flip.cpp'],['../da/db8/count__of__set__bits_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): count_of_set_bits.cpp'],['../da/d50/count__of__trailing__ciphers__in__factorial__n_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): count_of_trailing_ciphers_in_factorial_n.cpp'],['../d6/d38/find__non__repeating__number_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): find_non_repeating_number.cpp'],['../d4/d48/hamming__distance_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): hamming_distance.cpp'],['../d5/d1e/next__higher__number__with__same__number__of__set__bits_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): next_higher_number_with_same_number_of_set_bits.cpp'],['../dc/d6d/power__of__2_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): power_of_2.cpp'],['../d5/db5/set__kth__bit_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): set_kth_bit.cpp'],['../d4/d8f/travelling__salesman__using__bit__manipulation_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): travelling_salesman_using_bit_manipulation.cpp'],['../de/db6/a1z26__cipher_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): a1z26_cipher.cpp'],['../dc/dfb/atbash__cipher_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): atbash_cipher.cpp'],['../d6/d2c/caesar__cipher_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): caesar_cipher.cpp'],['../df/d2c/elliptic__curve__key__exchange_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): elliptic_curve_key_exchange.cpp'],['../d7/db9/hill__cipher_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): hill_cipher.cpp'],['../d8/d76/morse__code_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): morse_code.cpp'],['../dd/d12/vigenere__cipher_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): vigenere_cipher.cpp'],['../d3/d4c/xor__cipher_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): xor_cipher.cpp'],['../df/d47/fcfs__scheduling_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): fcfs_scheduling.cpp'],['../d8/dee/avltree_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): avltree.cpp'],['../d9/dab/bloom__filter_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): bloom_filter.cpp'],['../de/d23/disjoint__set_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): disjoint_set.cpp'],['../d3/dae/dsu__path__compression_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): dsu_path_compression.cpp'],['../df/d28/dsu__union__rank_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): dsu_union_rank.cpp'],['../da/dc3/linked__list_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): linked_list.cpp'],['../d3/dce/linkedlist__implentation__usingarray_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): linkedlist_implentation_usingarray.cpp'],['../d7/d00/list__array_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): list_array.cpp'],['../d8/df0/queue__using__array_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): queue_using_array.cpp'],['../df/dd0/queue__using__two__stacks_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): queue_using_two_stacks.cpp'],['../d6/d05/reverse__a__linked__list_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): reverse_a_linked_list.cpp'],['../de/dd1/segment__tree_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): segment_tree.cpp'],['../d0/d5a/skip__list_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): skip_list.cpp'],['../d8/dab/sparse__table_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97',1,'main(int argc, char *argv[]): sparse_table.cpp'],['../d0/dd2/treap_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): treap.cpp'],['../db/dbc/tree__234_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97',1,'main(int argc, char *argv[]): tree_234.cpp'],['../dc/d93/trie__modern_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): trie_modern.cpp'],['../d7/d83/trie__tree_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): trie_tree.cpp'],['../d5/d8a/trie__using__hashmap_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): trie_using_hashmap.cpp'],['../da/dd3/karatsuba__algorithm__for__fast__multiplication_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): karatsuba_algorithm_for_fast_multiplication.cpp'],['../db/d16/0__1__knapsack_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): 0_1_knapsack.cpp'],['../d7/d73/abbreviation_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): abbreviation.cpp'],['../d1/da7/armstrong__number__templated_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): armstrong_number_templated.cpp'],['../d9/d31/coin__change__topdown_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): coin_change_topdown.cpp'],['../d6/d10/cut__rod_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): cut_rod.cpp'],['../d6/d26/house__robber_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): house_robber.cpp'],['../d4/da0/kadane_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): kadane.cpp'],['../da/d0d/longest__common__string_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): longest_common_string.cpp'],['../d7/d57/longest__increasing__subsequence_8cpp.html#abf9e6b7e6f15df4b525a2e7705ba3089',1,'main(int argc, char const *argv[]): longest_increasing_subsequence.cpp'],['../d0/d77/longest__palindromic__subsequence_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): longest_palindromic_subsequence.cpp'],['../db/dfb/maximum__circular__subarray_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97',1,'main(int argc, char *argv[]): maximum_circular_subarray.cpp'],['../da/d52/minimum__edit__distance_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97',1,'main(int argc, char *argv[]): minimum_edit_distance.cpp'],['../d5/d90/palindrome__partitioning_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): palindrome_partitioning.cpp'],['../d7/d65/shortest__common__supersequence_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): shortest_common_supersequence.cpp'],['../dc/d67/subset__sum__dynamic_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): subset_sum_dynamic.cpp'],['../d9/d80/trapped__rainwater_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): trapped_rainwater.cpp'],['../d9/dec/unbounded__0__1__knapsack_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): unbounded_0_1_knapsack.cpp'],['../d3/d84/word__break_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): word_break.cpp'],['../dd/d92/memory__game_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): memory_game.cpp'],['../d4/d8d/jarvis__algorithm_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): jarvis_algorithm.cpp'],['../d8/d6c/line__segment__intersection_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): line_segment_intersection.cpp'],['../d7/d07/bidirectional__dijkstra_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): bidirectional_dijkstra.cpp'],['../df/d82/breadth__first__search_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): breadth_first_search.cpp'],['../df/ddd/connected__components_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): connected_components.cpp'],['../d8/d99/connected__components__with__dsu_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): connected_components_with_dsu.cpp'],['../da/d8d/depth__first__search_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): depth_first_search.cpp'],['../da/d4b/depth__first__search__with__stack_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): depth_first_search_with_stack.cpp'],['../d8/d68/dijkstra_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): dijkstra.cpp'],['../dd/d0c/hamiltons__cycle_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627',1,'main(int argc, char **argv): hamiltons_cycle.cpp'],['../d1/d9a/hopcroft__karp_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): hopcroft_karp.cpp'],['../d6/dd8/is__graph__bipartite_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): is_graph_bipartite.cpp'],['../de/dde/lowest__common__ancestor_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): lowest_common_ancestor.cpp'],['../d8/db9/topological__sort_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): topological_sort.cpp'],['../de/d88/travelling__salesman__problem_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): travelling_salesman_problem.cpp'],['../da/d77/spirograph_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627',1,'main(int argc, char **argv): spirograph.cpp'],['../d9/d1f/binary__addition_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): binary_addition.cpp'],['../d4/d6c/boruvkas__minimum__spanning__tree_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): boruvkas_minimum_spanning_tree.cpp'],['../d3/d36/digit__separation_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): digit_separation.cpp'],['../da/de8/dijkstra__greedy_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): dijkstra_greedy.cpp'],['../db/d80/gale__shapley_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): gale_shapley.cpp'],['../d6/dba/jump__game_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): jump_game.cpp'],['../d8/d7d/kruskals__minimum__spanning__tree_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): kruskals_minimum_spanning_tree.cpp'],['../d9/d92/chaining_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): chaining.cpp'],['../d6/d80/double__hash__hash__table_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): double_hash_hash_table.cpp'],['../d1/dc7/linear__probing__hash__table_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): linear_probing_hash_table.cpp'],['../d5/d96/md5_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): md5.cpp'],['../db/d71/quadratic__probing__hash__table_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): quadratic_probing_hash_table.cpp'],['../d8/d7a/sha1_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): sha1.cpp'],['../d4/d08/sha256_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): sha256.cpp'],['../d5/db0/adaline__learning_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627',1,'main(int argc, char **argv): adaline_learning.cpp'],['../d4/d3e/k__nearest__neighbors_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97',1,'main(int argc, char *argv[]): k_nearest_neighbors.cpp'],['../d4/def/kohonen__som__topology_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627',1,'main(int argc, char **argv): kohonen_som_topology.cpp'],['../d9/d49/kohonen__som__trace_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627',1,'main(int argc, char **argv): kohonen_som_trace.cpp'],['../d2/d58/neural__network_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): neural_network.cpp'],['../dc/d38/ordinary__least__squares__regressor_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): ordinary_least_squares_regressor.cpp'],['../de/d99/aliquot__sum_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): aliquot_sum.cpp'],['../d0/d51/approximate__pi_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): approximate_pi.cpp'],['../dc/d82/area_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): area.cpp'],['../de/dcf/binary__exponent_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): binary_exponent.cpp'],['../d8/db1/binomial__calculate_8cpp.html#ac0f2228420376f4db7e1274f2b41667c',1,'main(int argc, const char *argv[]): binomial_calculate.cpp'],['../d5/df6/check__amicable__pair_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): check_amicable_pair.cpp'],['../d8/dd5/check__factorial_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): check_factorial.cpp'],['../db/d93/check__prime_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): check_prime.cpp'],['../d5/d67/complex__numbers_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): complex_numbers.cpp'],['../d7/d89/double__factorial_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): double_factorial.cpp'],['../d7/da6/eratosthenes_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97',1,'main(int argc, char *argv[]): eratosthenes.cpp'],['../da/d23/eulers__totient__function_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97',1,'main(int argc, char *argv[]): eulers_totient_function.cpp'],['../d9/d5d/extended__euclid__algorithm_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): extended_euclid_algorithm.cpp'],['../d9/d00/factorial_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): factorial.cpp'],['../d2/d0b/fast__power_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): fast_power.cpp'],['../d9/d89/fibonacci_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): fibonacci.cpp'],['../d4/d32/fibonacci__fast_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): fibonacci_fast.cpp'],['../da/dc9/fibonacci__matrix__exponentiation_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): fibonacci_matrix_exponentiation.cpp'],['../de/dc3/fibonacci__sum_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): fibonacci_sum.cpp'],['../d0/d46/finding__number__of__digits__in__a__number_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): finding_number_of_digits_in_a_number.cpp'],['../d4/da0/gcd__iterative__euclidean_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): gcd_iterative_euclidean.cpp'],['../d1/d11/gcd__of__n__numbers_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): gcd_of_n_numbers.cpp'],['../d4/d45/gcd__recursive__euclidean_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): gcd_recursive_euclidean.cpp'],['../d1/de9/integral__approximation_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): integral_approximation.cpp'],['../db/d40/integral__approximation2_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): integral_approximation2.cpp'],['../d6/db8/inv__sqrt_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): inv_sqrt.cpp'],['../db/d9f/iterative__factorial_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): iterative_factorial.cpp'],['../d6/d9d/large__factorial_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97',1,'main(int argc, char *argv[]): large_factorial.cpp'],['../d5/d7a/largest__power_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): largest_power.cpp'],['../d5/d83/lcm__sum_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): lcm_sum.cpp'],['../d4/d21/least__common__multiple_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): least_common_multiple.cpp'],['../d9/d44/magic__number_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): magic_number.cpp'],['../d6/d42/miller__rabin_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): miller_rabin.cpp'],['../df/d72/modular__division_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97',1,'main(int argc, char *argv[]): modular_division.cpp'],['../d0/d6d/modular__exponentiation_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): modular_exponentiation.cpp'],['../d8/d53/modular__inverse__fermat__little__theorem_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): modular_inverse_fermat_little_theorem.cpp'],['../d6/d2d/modular__inverse__simple_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): modular_inverse_simple.cpp'],['../db/d27/n__bonacci_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): n_bonacci.cpp'],['../d1/dbb/n__choose__r_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97',1,'main(int argc, char *argv[]): n_choose_r.cpp'],['../d0/da2/number__of__positive__divisors_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): number_of_positive_divisors.cpp'],['../d3/dfe/perimeter_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): perimeter.cpp'],['../df/def/power__for__huge__numbers_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): power_for_huge_numbers.cpp'],['../d4/d38/power__of__two_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): power_of_two.cpp'],['../db/d0d/prime__factorization_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): prime_factorization.cpp'],['../de/d9b/prime__numbers_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): prime_numbers.cpp'],['../d4/d9c/primes__up__to__billion_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): primes_up_to_billion.cpp'],['../da/d18/quadratic__equations__complex__numbers_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): quadratic_equations_complex_numbers.cpp'],['../d0/d08/realtime__stats_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627',1,'main(int argc, char **argv): realtime_stats.cpp'],['../d8/ddf/sieve__of__eratosthenes_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): sieve_of_eratosthenes.cpp'],['../da/d24/sqrt__double_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): sqrt_double.cpp'],['../de/d47/string__fibonacci_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): string_fibonacci.cpp'],['../d4/d9d/sum__of__binomial__coefficient_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): sum_of_binomial_coefficient.cpp'],['../d4/d83/sum__of__digits_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): sum_of_digits.cpp'],['../df/d66/vector__cross__product_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): vector_cross_product.cpp'],['../da/d39/volume_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): volume.cpp'],['../dc/d9c/babylonian__method_8cpp.html#abf9e6b7e6f15df4b525a2e7705ba3089',1,'main(int argc, char const *argv[]): babylonian_method.cpp'],['../d7/d6a/bisection__method_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): bisection_method.cpp'],['../db/d01/brent__method__extrema_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): brent_method_extrema.cpp'],['../d4/d18/composite__simpson__rule_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627',1,'main(int argc, char **argv): composite_simpson_rule.cpp'],['../dd/d29/false__position_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): false_position.cpp'],['../d8/d9a/fast__fourier__transform_8cpp.html#abf9e6b7e6f15df4b525a2e7705ba3089',1,'main(int argc, char const *argv[]): fast_fourier_transform.cpp'],['../d0/de2/gaussian__elimination_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): gaussian_elimination.cpp'],['../d6/d7a/golden__search__extrema_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): golden_search_extrema.cpp'],['../d5/d33/gram__schmidt_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): gram_schmidt.cpp'],['../d9/d37/inverse__fast__fourier__transform_8cpp.html#abf9e6b7e6f15df4b525a2e7705ba3089',1,'main(int argc, char const *argv[]): inverse_fast_fourier_transform.cpp'],['../dd/d65/lu__decompose_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627',1,'main(int argc, char **argv): lu_decompose.cpp'],['../df/d11/midpoint__integral__method_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627',1,'main(int argc, char **argv): midpoint_integral_method.cpp'],['../de/dd3/newton__raphson__method_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): newton_raphson_method.cpp'],['../db/dd3/ode__forward__euler_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97',1,'main(int argc, char *argv[]): ode_forward_euler.cpp'],['../d6/dd3/ode__midpoint__euler_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97',1,'main(int argc, char *argv[]): ode_midpoint_euler.cpp'],['../d3/d06/ode__semi__implicit__euler_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97',1,'main(int argc, char *argv[]): ode_semi_implicit_euler.cpp'],['../d3/d24/qr__decomposition_8cpp.html#a840291bc02cba5474a4cb46a9b9566fe',1,'main(void): qr_decomposition.cpp'],['../de/d75/qr__eigen__values_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627',1,'main(int argc, char **argv): qr_eigen_values.cpp'],['../d1/da6/rungekutta_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): rungekutta.cpp'],['../df/dc8/successive__approximation_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): successive_approximation.cpp'],['../d9/d14/array__left__rotation_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): array_left_rotation.cpp'],['../d6/d57/array__right__rotation_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): array_right_rotation.cpp'],['../de/d33/circular__linked__list_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): circular_linked_list.cpp'],['../d4/d32/inorder__successor__of__bst_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97',1,'main(int argc, char *argv[]): inorder_successor_of_bst.cpp'],['../de/dc5/intersection__of__two__arrays_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): intersection_of_two_arrays.cpp'],['../d4/db6/reverse__binary__tree_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): reverse_binary_tree.cpp'],['../d7/def/trie__multiple__search_8cpp.html#abf9e6b7e6f15df4b525a2e7705ba3089',1,'main(int argc, char const *argv[]): trie_multiple_search.cpp'],['../d8/d9c/union__of__two__arrays_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): union_of_two_arrays.cpp'],['../d1/d76/buzz__number_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): buzz_number.cpp'],['../da/de7/decimal__to__hexadecimal_8cpp.html#a840291bc02cba5474a4cb46a9b9566fe',1,'main(void): decimal_to_hexadecimal.cpp'],['../de/d85/decimal__to__roman__numeral_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): decimal_to_roman_numeral.cpp'],['../d9/df0/fast__integer__input_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): fast_integer_input.cpp'],['../db/df3/happy__number_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): happy_number.cpp'],['../d8/d90/iterative__tree__traversals_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): iterative_tree_traversals.cpp'],['../de/dcd/kadanes3_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): kadanes3.cpp'],['../db/d6b/kelvin__to__celsius_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): kelvin_to_celsius.cpp'],['../d9/d65/lfu__cache_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): lfu_cache.cpp'],['../d4/db8/longest__substring__without__repeating__characters_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): longest_substring_without_repeating_characters.cpp'],['../d3/db3/lru__cache_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): lru_cache.cpp'],['../dc/daa/lru__cache2_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): lru_cache2.cpp'],['../d7/d35/matrix__exponentiation_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): matrix_exponentiation.cpp'],['../da/d9a/palindrome__of__number_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): palindrome_of_number.cpp'],['../dc/d1a/pascal__triangle_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): pascal_triangle.cpp'],['../d7/d75/postfix__evaluation_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): postfix_evaluation.cpp'],['../da/d7b/primality__test_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): primality_test.cpp'],['../dc/de1/recursive__tree__traversal_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): recursive_tree_traversal.cpp'],['../d0/d01/smallest__circle_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): smallest_circle.cpp'],['../d3/d19/sparse__matrix_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): sparse_matrix.cpp'],['../db/d07/spiral__print_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): spiral_print.cpp'],['../d5/def/stairs__pattern_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): stairs_pattern.cpp'],['../db/d3c/tower__of__hanoi_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): tower_of_hanoi.cpp'],['../d3/d61/vector__important__functions_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): vector_important_functions.cpp'],['../d9/d29/ground__to__ground__projectile__motion_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): ground_to_ground_projectile_motion.cpp'],['../d6/d4a/addition__rule_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): addition_rule.cpp'],['../d5/d67/bayes__theorem_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): bayes_theorem.cpp'],['../d6/db0/binomial__dist_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): binomial_dist.cpp'],['../d9/da2/exponential__dist_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): exponential_dist.cpp'],['../de/d72/geometric__dist_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): geometric_dist.cpp'],['../d9/d24/poisson__dist_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): poisson_dist.cpp'],['../d1/ded/windowed__median_8cpp.html#ac0f2228420376f4db7e1274f2b41667c',1,'main(int argc, const char *argv[]): windowed_median.cpp'],['../d6/d2e/fenwick__tree_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): fenwick_tree.cpp'],['../d2/de9/heavy__light__decomposition_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): heavy_light_decomposition.cpp'],['../d5/d58/persistent__seg__tree__lazy__prop_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): persistent_seg_tree_lazy_prop.cpp'],['../d1/d9e/prefix__sum__array_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): prefix_sum_array.cpp'],['../d2/d45/segtree_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): segtree.cpp'],['../d8/d8a/exponential__search_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): exponential_search.cpp'],['../de/d0d/fibonacci__search_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): fibonacci_search.cpp'],['../db/dc4/floyd__cycle__detection__algo_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): floyd_cycle_detection_algo.cpp'],['../d1/df3/hash__search_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): hash_search.cpp'],['../df/d39/interpolation__search2_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): interpolation_search2.cpp'],['../d9/d02/linear__search_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): linear_search.cpp'],['../d9/d5f/longest__increasing__subsequence__using__binary__search_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): longest_increasing_subsequence_using_binary_search.cpp'],['../d9/d69/median__search_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): median_search.cpp'],['../d8/dfa/median__search2_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): median_search2.cpp'],['../d3/d22/saddleback__search_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): saddleback_search.cpp'],['../d5/d45/sublist__search_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97',1,'main(int argc, char *argv[]): sublist_search.cpp'],['../dc/dfe/ternary__search_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): ternary_search.cpp'],['../dc/db5/text__search_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): text_search.cpp'],['../d8/dcc/binary__insertion__sort_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): binary_insertion_sort.cpp'],['../d5/ddb/bogo__sort_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): bogo_sort.cpp'],['../d8/d13/bubble__sort_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): bubble_sort.cpp'],['../d9/dfd/comb__sort_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): comb_sort.cpp'],['../d2/d26/count__inversions_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): count_inversions.cpp'],['../de/d07/cycle__sort_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): cycle_sort.cpp'],['../d6/d1a/dnf__sort_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): dnf_sort.cpp'],['../d2/d21/gnome__sort_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): gnome_sort.cpp'],['../d2/d52/heap__sort_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): heap_sort.cpp'],['../dd/d0d/insertion__sort_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): insertion_sort.cpp'],['../dd/d89/insertion__sort__recursive_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): insertion_sort_recursive.cpp'],['../de/d7b/merge__insertion__sort_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): merge_insertion_sort.cpp'],['../d5/d4c/group__sorting.html#gae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): merge_sort.cpp'],['../d3/d92/pancake__sort_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): pancake_sort.cpp'],['../dd/da8/pigeonhole__sort_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): pigeonhole_sort.cpp'],['../d1/d21/quick__sort_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): quick_sort.cpp'],['../d3/d4c/quick__sort__3_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): quick_sort_3.cpp'],['../d3/d22/quick__sort__iterative_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): quick_sort_iterative.cpp'],['../d8/d61/radix__sort2_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): radix_sort2.cpp'],['../d1/daa/random__pivot__quick__sort_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97',1,'main(int argc, char *argv[]): random_pivot_quick_sort.cpp'],['../d3/df9/recursive__bubble__sort_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): recursive_bubble_sort.cpp'],['../d4/d9f/selection__sort__recursive_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): selection_sort_recursive.cpp'],['../d4/d7a/shell__sort2_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97',1,'main(int argc, char *argv[]): shell_sort2.cpp'],['../d4/d4f/stooge__sort_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): stooge_sort.cpp'],['../dc/dd9/strand__sort_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): strand_sort.cpp'],['../db/d3f/wave__sort_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): wave_sort.cpp'],['../d3/db2/boyer__moore_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): boyer_moore.cpp'],['../d3/d7d/brute__force__string__searching_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): brute_force_string_searching.cpp'],['../db/d09/duval_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): duval.cpp'],['../d3/dfe/horspool_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): horspool.cpp'],['../d3/d39/manacher__algorithm_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): manacher_algorithm.cpp'],['../d6/dce/rabin__karp_8cpp.html#a840291bc02cba5474a4cb46a9b9566fe',1,'main(void): rabin_karp.cpp'],['../d3/d80/z__function_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): z_function.cpp']]], + ['make_5frecent_3',['make_recent',['../d8/d2e/classothers_1_1_cache_1_1_l_r_u_cache.html#ad022d494b40f82417340b113445e79a4',1,'others::Cache::LRUCache']]], + ['make_5fset_4',['make_set',['../d8/d99/connected__components__with__dsu_8cpp.html#ae91ed94113c56191b75fe45f688d6e62',1,'graph::disjoint_union']]], + ['makebst_5',['makeBST',['../d4/d32/inorder__successor__of__bst_8cpp.html#a05fe8a029e155c43e4efa598d4d089d9',1,'operations_on_datastructures::inorder_traversal_of_bst']]], + ['makelinkedlist_6',['makeLinkedList',['../d5/d45/sublist__search_8cpp.html#a70ca8d0267008e09cfa50b4e2ddfbe53',1,'search::sublist_search']]], + ['makenode_7',['makeNode',['../d4/d32/inorder__successor__of__bst_8cpp.html#a7f6f73a33beec448c27cc1d70b220702',1,'operations_on_datastructures::inorder_traversal_of_bst']]], + ['makestrings_8',['makeStrings',['../df/de5/classbacktracking_1_1generate__parentheses.html#ac1489edd65374f22fe04851051f0a2ec',1,'backtracking::generate_parentheses']]], + ['manacher_9',['manacher',['../d3/d39/manacher__algorithm_8cpp.html#a95e6a2976bb2f332898f373941d52098',1,'strings::manacher']]], + ['mat_5fmul_10',['mat_mul',['../d6/d26/classciphers_1_1_hill_cipher.html#ad36cbcc7a458b3f3a2af0c4aa1126590',1,'ciphers::HillCipher::mat_mul()'],['../de/d75/qr__eigen__values_8cpp.html#abb8bf4c55e10685a5eb2ad3797fde1ae',1,'mat_mul(): qr_eigen_values.cpp']]], + ['match_11',['match',['../d8/d41/namespacegames_1_1memory__game.html#a370760f2b328ad341bcb77d82fa17b01',1,'games::memory_game']]], + ['matrix_12',['Matrix',['../dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix.html#a01f3a05cf5abdc5d63999ef1bf9f9256',1,'divide_and_conquer::strassens_multiplication::Matrix::Matrix(const Integer size)'],['../dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix.html#a4aa49765cce39ce48b9241e993e0cfb9',1,'divide_and_conquer::strassens_multiplication::Matrix::Matrix(const Integer rows, const Integer cols)']]], + ['max_5fheight_13',['max_height',['../d9/d29/ground__to__ground__projectile__motion_8cpp.html#aa554429def63077ab7a550c0affbfefa',1,'physics::ground_to_ground_projectile_motion']]], + ['max_5fsubarray_5fsum_14',['max_subarray_sum',['../de/dcd/kadanes3_8cpp.html#a338439a04148ae89f695595acfa5c147',1,'kadanes3.cpp']]], + ['maxcircularsum_15',['maxCircularSum',['../dd/d24/namespacedynamic__programming.html#a5239174fa0d987f2c67edc1f2af82beb',1,'dynamic_programming']]], + ['maxknapsackvalue_16',['maxKnapsackValue',['../db/d16/0__1__knapsack_8cpp.html#a15edf30f336885e5b851f6b7199c6cd1',1,'dynamic_programming::knapsack']]], + ['maxprofitbycuttingrod_17',['maxProfitByCuttingRod',['../d6/d10/cut__rod_8cpp.html#a1cc523a30c18c63eac58220c3c494cfa',1,'dynamic_programming::cut_rod']]], + ['maxsubarray_18',['maxSubArray',['../d4/da0/kadane_8cpp.html#af3029007a422a914a85c0b0122f1c7b4',1,'dynamic_programming::kadane']]], + ['mean_19',['mean',['../d7/d7c/classstatistics_1_1stats__computer1.html#a390697dcee210b91823ceff04b25081b',1,'statistics::stats_computer1::mean()'],['../d8/dab/classstatistics_1_1stats__computer2.html#a8290966ad468f2a8c266d008bc60720e',1,'statistics::stats_computer2::mean()']]], + ['median_5fof_5fmedians_20',['median_of_medians',['../d9/d69/median__search_8cpp.html#a868847218f694e78bf433a0ff7648bae',1,'search::median_search']]], + ['merge_21',['Merge',['../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a36f4d5f603f7edb7db7c73fb53ba14e9',1,'data_structures::tree_234::Tree234']]], + ['merge_22',['merge',['../d2/d26/count__inversions_8cpp.html#aad643c14734394e784a75169cb58132f',1,'sorting::inversion::merge()'],['../de/d7b/merge__insertion__sort_8cpp.html#af4de4067a9a866ffd985c5b5055ccedf',1,'sorting::merge_insertion::merge()'],['../d5/d4c/group__sorting.html#ga460c61cd948203b4816bef2accb3fc73',1,'merge(): merge_sort.cpp'],['../d5/d91/namespacesorting.html#aa26de383227859210f14dcf12201a079',1,'sorting::merge()']]], + ['mergenode_23',['MergeNode',['../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#a11f0d016dff7f7e62b3dddb9fdf47805',1,'data_structures::tree_234::Tree234']]], + ['mergenodenotfull_24',['MergeNodeNotFull',['../d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#ad37e29e2a4a6cc0eb65cbd5595e1da95',1,'data_structures::tree_234::Tree234']]], + ['mergesort_25',['mergeSort',['../d2/d26/count__inversions_8cpp.html#ae97a486e14101c4822ea8dc47f0d1661',1,'sorting::inversion::mergeSort()'],['../de/d7b/merge__insertion__sort_8cpp.html#a7161278f18e83b671c6454b139cc5674',1,'sorting::merge_insertion::mergeSort()'],['../d5/d4c/group__sorting.html#gab6b14fea48d9841e29b9fc26be6e05d7',1,'mergeSort(int *arr, int l, int r): merge_sort.cpp']]], + ['method1_26',['method1',['../df/d06/decimal__to__binary_8cpp.html#a9240f2e79074a2a248395258aebbfa11',1,'decimal_to_binary.cpp']]], + ['method2_27',['method2',['../df/d06/decimal__to__binary_8cpp.html#a10df57491019f0ac39b492740fb388f7',1,'decimal_to_binary.cpp']]], + ['mid_28',['mid',['../dd/d95/classdata__structures_1_1_segment_tree.html#a6d3beccc936af2377c8eeb17067fd141',1,'data_structures::SegmentTree']]], + ['middlenode_29',['middleNode',['../d8/dfa/median__search2_8cpp.html#a5fefe132a0c3ee780ebc703f37ebce6a',1,'search::median_search2']]], + ['midpoint_30',['midpoint',['../df/d11/midpoint__integral__method_8cpp.html#a7072493d1f0f8a91b2a71d4cc456c09c',1,'numerical_methods::midpoint_rule']]], + ['midpoint_5feuler_31',['midpoint_euler',['../d6/d60/group__ode.html#ga36ff0710861ca39d957046c0b09b2985',1,'ode_midpoint_euler.cpp']]], + ['midpoint_5feuler_5fstep_32',['midpoint_euler_step',['../d6/d60/group__ode.html#ga8c319db420c3d97a83e9dcca803b6812',1,'ode_midpoint_euler.cpp']]], + ['miller_5frabin_5fprimality_5ftest_33',['miller_rabin_primality_test',['../d6/d42/miller__rabin_8cpp.html#a901288288ef5ebe8e97414cc30797cce',1,'miller_rabin.cpp']]], + ['miller_5ftest_34',['miller_test',['../d6/d42/miller__rabin_8cpp.html#a6f9c31c1047aa3191676d64571d4c506',1,'miller_rabin.cpp']]], + ['min_35',['min',['../da/d52/minimum__edit__distance_8cpp.html#a0138c226bd79ffe6d839c787cfc60347',1,'dynamic_programming::minimum_edit_distance']]], + ['mincoins_36',['mincoins',['../d9/d31/coin__change__topdown_8cpp.html#ac816a4ae8a29c156b90377041000929a',1,'dynamic_programming::mincoins_topdown']]], + ['minheap_37',['MinHeap',['../d2/d05/class_min_heap.html#a078cb888e642bb1f95dd0e03f0a35820',1,'MinHeap']]], + ['minheapify_38',['MinHeapify',['../d2/d05/class_min_heap.html#aaef438c1056492cb62c4a4d9035b5cad',1,'MinHeap']]], + ['minimax_39',['minimax',['../db/dc0/namespacebacktracking.html#a78540bcb5ef3473b2348cbc34748ec50',1,'backtracking']]], + ['minimum_5fdistance_40',['minimum_distance',['../d2/d2f/namespacegreedy__algorithms_1_1dijkstra.html#af6cb29ca6dc5771439f6ea7262058a71',1,'greedy_algorithms::dijkstra']]], + ['minmax_5fscaler_41',['minmax_scaler',['../d8/d77/namespacemachine__learning.html#ac332d152078e96311e43ac5e7183ea26',1,'machine_learning']]], + ['minvalue_42',['minValue',['../d8/dee/avltree_8cpp.html#a5fa160a678a34dd51c0aea1c0c00ed5e',1,'avltree.cpp']]], + ['mod_5fdivision_43',['mod_division',['../df/d72/modular__division_8cpp.html#a905e368ae121beb7e7ea35349ddcdac7',1,'math::modular_division']]], + ['modinverse_44',['modInverse',['../de/dab/ncr__modulo__p_8cpp.html#a6c7bfe3bdaa086d32261a5c5584d0fa9',1,'math::ncr_modulo_p::utils']]], + ['modular_5fexponentiation_45',['modular_exponentiation',['../d6/d42/miller__rabin_8cpp.html#ad6c2c67ea416d0e80003a88623f98b29',1,'miller_rabin.cpp']]], + ['modular_5finverse_46',['modular_inverse',['../d8/d53/modular__inverse__fermat__little__theorem_8cpp.html#ae7e807e02c65c6fffd6162b4c66290c2',1,'math::modular_inverse_fermat']]], + ['morse_5fto_5fchar_47',['morse_to_char',['../d8/d76/morse__code_8cpp.html#ac9f294b0dec08a4a11d477a32f9bd829',1,'ciphers::morse']]], + ['mov_48',['mov',['../db/d3c/tower__of__hanoi_8cpp.html#af4cfc41e546f1f8d25f01e0804e8b61d',1,'tower_of_hanoi.cpp']]], + ['multiply_49',['multiply',['../db/d82/classlarge__number.html#a2f5571e66305cf68bb8283e4aeda58bc',1,'large_number::multiply()'],['../df/d6b/namespaceciphers_1_1elliptic__curve__key__exchange.html#a17f3d667241b88115a95282cdd719cb2',1,'ciphers::elliptic_curve_key_exchange::multiply()'],['../d8/d77/namespacemachine__learning.html#a5342906d42b80fc6b6b3ad17bf00fcb9',1,'machine_learning::multiply()'],['../de/dc3/fibonacci__sum_8cpp.html#a9c83cca09a3e4ff2a25c816a9303448e',1,'math::fibonacci_sum::multiply()'],['../df/def/power__for__huge__numbers_8cpp.html#aa141a7904f0c4668bac112d652a3acf9',1,'multiply(int x, int res[], int res_size): power_for_huge_numbers.cpp'],['../d7/d35/matrix__exponentiation_8cpp.html#a357cfbebfdc47a237a2862fe146af252',1,'multiply(const vector< vector< ll > > &A, const vector< vector< ll > > &B): matrix_exponentiation.cpp']]] ]; diff --git a/search/functions_e.js b/search/functions_e.js index 6f7798018..0ba393a58 100644 --- a/search/functions_e.js +++ b/search/functions_e.js @@ -1,65 +1,25 @@ var searchData= [ - ['n_0',['n',['http://en.cppreference.com/w/cpp/numeric/random/student_t_distribution/n.html',0,'std::student_t_distribution::n()'],['http://en.cppreference.com/w/cpp/numeric/random/chi_squared_distribution/n.html',0,'std::chi_squared_distribution::n()'],['http://en.cppreference.com/w/cpp/numeric/random/fisher_f_distribution/params.html',0,'std::fisher_f_distribution::n()']]], - ['n_5fbonacci_1',['N_bonacci',['../db/d27/n__bonacci_8cpp.html#a6849b68f760be628d5975ab3eddec63d',1,'math::n_bonacci']]], - ['n_5fchoose_5fr_2',['n_choose_r',['../dd/d47/namespacemath.html#a6e2dff75c5de70455b90c799d6ad6967',1,'math']]], - ['n_5fpolygon_5fsurface_5fperimeter_3',['n_polygon_surface_perimeter',['../dd/d47/namespacemath.html#aa8592c3279c41a2c6d4d64eeb488f63f',1,'math']]], - ['naive_5fmultiplication_4',['naive_multiplication',['../dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix.html#a5d8eb669b37a27224376b08515b4ee50',1,'divide_and_conquer::strassens_multiplication::Matrix']]], - ['name_5',['name',['http://en.cppreference.com/w/cpp/locale/locale/name.html',0,'std::locale::name()'],['http://en.cppreference.com/w/cpp/error/error_category/name.html',0,'std::error_category::name()'],['http://en.cppreference.com/w/cpp/types/type_info/name.html',0,'std::type_info::name()'],['http://en.cppreference.com/w/cpp/types/type_index/name.html',0,'std::type_index::name()']]], - ['nan_6',['nan',['http://en.cppreference.com/w/cpp/numeric/math/nan.html',0,'std']]], - ['nanf_7',['nanf',['http://en.cppreference.com/w/cpp/numeric/math/nan.html',0,'std']]], - ['nanl_8',['nanl',['http://en.cppreference.com/w/cpp/numeric/math/nan.html',0,'std']]], - ['nanoseconds_9',['nanoseconds',['http://en.cppreference.com/w/cpp/chrono/duration/duration.html',0,'std::chrono::nanoseconds']]], - ['narrow_10',['narrow',['http://en.cppreference.com/w/cpp/io/basic_ios/narrow.html',0,'std::basic_ofstream::narrow()'],['http://en.cppreference.com/w/cpp/locale/ctype/narrow.html',0,'std::ctype_byname::narrow()'],['http://en.cppreference.com/w/cpp/io/basic_ios/narrow.html',0,'std::fstream::narrow()'],['http://en.cppreference.com/w/cpp/io/basic_ios/narrow.html',0,'std::wostream::narrow()'],['http://en.cppreference.com/w/cpp/io/basic_ios/narrow.html',0,'std::basic_ostringstream::narrow()'],['http://en.cppreference.com/w/cpp/io/basic_ios/narrow.html',0,'std::basic_ios::narrow()'],['http://en.cppreference.com/w/cpp/io/basic_ios/narrow.html',0,'std::ostringstream::narrow()'],['http://en.cppreference.com/w/cpp/io/basic_ios/narrow.html',0,'std::basic_fstream::narrow()'],['http://en.cppreference.com/w/cpp/io/basic_ios/narrow.html',0,'std::iostream::narrow()'],['http://en.cppreference.com/w/cpp/io/basic_ios/narrow.html',0,'std::wistream::narrow()'],['http://en.cppreference.com/w/cpp/io/basic_ios/narrow.html',0,'std::stringstream::narrow()'],['http://en.cppreference.com/w/cpp/io/basic_ios/narrow.html',0,'std::ostream::narrow()'],['http://en.cppreference.com/w/cpp/io/basic_ios/narrow.html',0,'std::wifstream::narrow()'],['http://en.cppreference.com/w/cpp/io/basic_ios/narrow.html',0,'std::basic_istream::narrow()'],['http://en.cppreference.com/w/cpp/io/basic_ios/narrow.html',0,'std::strstream::narrow()'],['http://en.cppreference.com/w/cpp/io/basic_ios/narrow.html',0,'std::basic_stringstream::narrow()'],['http://en.cppreference.com/w/cpp/io/basic_ios/narrow.html',0,'std::wostringstream::narrow()'],['http://en.cppreference.com/w/cpp/io/basic_ios/narrow.html',0,'std::istrstream::narrow()'],['http://en.cppreference.com/w/cpp/io/basic_ios/narrow.html',0,'std::basic_ostream::narrow()'],['http://en.cppreference.com/w/cpp/io/basic_ios/narrow.html',0,'std::wiostream::narrow()'],['http://en.cppreference.com/w/cpp/io/basic_ios/narrow.html',0,'std::ofstream::narrow()'],['http://en.cppreference.com/w/cpp/io/basic_ios/narrow.html',0,'std::basic_istringstream::narrow()'],['http://en.cppreference.com/w/cpp/io/basic_ios/narrow.html',0,'std::basic_ifstream::narrow()'],['http://en.cppreference.com/w/cpp/io/basic_ios/narrow.html',0,'std::istringstream::narrow()'],['http://en.cppreference.com/w/cpp/locale/ctype/narrow.html',0,'std::ctype::narrow()'],['http://en.cppreference.com/w/cpp/io/basic_ios/narrow.html',0,'std::istream::narrow()'],['http://en.cppreference.com/w/cpp/io/basic_ios/narrow.html',0,'std::ostrstream::narrow()'],['http://en.cppreference.com/w/cpp/io/basic_ios/narrow.html',0,'std::wfstream::narrow()'],['http://en.cppreference.com/w/cpp/io/basic_ios/narrow.html',0,'std::basic_iostream::narrow()'],['http://en.cppreference.com/w/cpp/io/basic_ios/narrow.html',0,'std::wofstream::narrow()'],['http://en.cppreference.com/w/cpp/io/basic_ios/narrow.html',0,'std::wstringstream::narrow()'],['http://en.cppreference.com/w/cpp/io/basic_ios/narrow.html',0,'std::wistringstream::narrow()'],['http://en.cppreference.com/w/cpp/io/basic_ios/narrow.html',0,'std::ifstream::narrow()']]], - ['native_5fhandle_11',['native_handle',['http://en.cppreference.com/w/cpp/thread/condition_variable_any/native_handle.html',0,'std::condition_variable_any::native_handle()'],['http://en.cppreference.com/w/cpp/thread/condition_variable/native_handle.html',0,'std::condition_variable::native_handle()'],['http://en.cppreference.com/w/cpp/thread/recursive_mutex/native_handle.html',0,'std::recursive_mutex::native_handle()'],['http://en.cppreference.com/w/cpp/thread/recursive_timed_mutex/native_handle.html',0,'std::recursive_timed_mutex::native_handle()'],['http://en.cppreference.com/w/cpp/thread/thread/native_handle.html',0,'std::thread::native_handle()'],['http://en.cppreference.com/w/cpp/thread/timed_mutex/native_handle.html',0,'std::timed_mutex::native_handle()'],['http://en.cppreference.com/w/cpp/thread/mutex/native_handle.html',0,'std::mutex::native_handle()']]], - ['ncr_12',['nCr',['../d6/db0/binomial__dist_8cpp.html#a78d36635232e54b5d71fcbf1eac9a49a',1,'binomial_dist.cpp']]], - ['ncr_13',['ncr',['../d6/dc1/classmath_1_1ncr__modulo__p_1_1_n_c_r_modulo_p.html#a499df7a01bcd348345dc5a0ab79bb0e9',1,'math::ncr_modulo_p::NCRModuloP']]], - ['ncrmodulop_14',['NCRModuloP',['../d6/dc1/classmath_1_1ncr__modulo__p_1_1_n_c_r_modulo_p.html#a94b07e7dc61d8d7a1e9c5a28988e72f9',1,'math::ncr_modulo_p::NCRModuloP']]], - ['nearbyint_15',['nearbyint',['http://en.cppreference.com/w/cpp/numeric/math/nearbyint.html',0,'std']]], - ['neg_5fformat_16',['neg_format',['http://en.cppreference.com/w/cpp/locale/moneypunct/pos_format.html',0,'std::moneypunct_byname::neg_format()'],['http://en.cppreference.com/w/cpp/locale/moneypunct/pos_format.html',0,'std::moneypunct::neg_format()']]], - ['negative_5fbinomial_5fdistribution_17',['negative_binomial_distribution',['http://en.cppreference.com/w/cpp/numeric/random/negative_binomial_distribution/negative_binomial_distribution.html',0,'std::negative_binomial_distribution']]], - ['negative_5fsign_18',['negative_sign',['http://en.cppreference.com/w/cpp/locale/moneypunct/positive_sign.html',0,'std::moneypunct_byname::negative_sign()'],['http://en.cppreference.com/w/cpp/locale/moneypunct/positive_sign.html',0,'std::moneypunct::negative_sign()']]], - ['nested_5fexception_19',['nested_exception',['http://en.cppreference.com/w/cpp/error/nested_exception/nested_exception.html',0,'std::nested_exception']]], - ['nested_5fptr_20',['nested_ptr',['http://en.cppreference.com/w/cpp/error/nested_exception/nested_ptr.html',0,'std::nested_exception']]], - ['neuralnetwork_21',['NeuralNetwork',['../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#a4c4c6f63ab965317f9471518ee931b89',1,'machine_learning::neural_network::NeuralNetwork::NeuralNetwork(const std::vector< std::pair< int, std::string > > &config, const std::vector< std::vector< std::valarray< double > > > &kernels)'],['../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#ae7cf126a3a8f9d20c81b21584d061a08',1,'machine_learning::neural_network::NeuralNetwork::NeuralNetwork()=default'],['../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#a62151b0398a2536be60d950e10ffe9a8',1,'machine_learning::neural_network::NeuralNetwork::NeuralNetwork(const std::vector< std::pair< int, std::string > > &config)'],['../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#a176b955c90ae57d7dbc3c63f27c84c75',1,'machine_learning::neural_network::NeuralNetwork::NeuralNetwork(const NeuralNetwork &model)=default'],['../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#a173bb71780af6953ec2e307a4c74b025',1,'machine_learning::neural_network::NeuralNetwork::NeuralNetwork(NeuralNetwork &&)=default']]], - ['new_5fval_22',['new_val',['../d7/d7c/classstatistics_1_1stats__computer1.html#aa13bf7c38de112f71921a5525d71a2f2',1,'statistics::stats_computer1::new_val()'],['../d8/dab/classstatistics_1_1stats__computer2.html#ade6de704deea24fdc88077b3d9a0d534',1,'statistics::stats_computer2::new_val()']]], - ['newkid_23',['newKid',['../d8/d28/classrange__queries_1_1per_seg_tree.html#a0cec4b77d264521717cf9b0482c45817',1,'range_queries::perSegTree']]], - ['next_24',['next',['http://en.cppreference.com/w/cpp/iterator/next.html',0,'std']]], - ['next_5fhigher_5fnumber_25',['next_higher_number',['../d7/d81/namespacebit__manipulation.html#a4b76571a2a04fa99c30a96eca9997f0e',1,'bit_manipulation']]], - ['next_5fpermutation_26',['next_permutation',['http://en.cppreference.com/w/cpp/algorithm/next_permutation.html',0,'std']]], - ['nextafter_27',['nextafter',['http://en.cppreference.com/w/cpp/numeric/math/nextafter.html',0,'std']]], - ['nexttoward_28',['nexttoward',['http://en.cppreference.com/w/cpp/numeric/math/nextafter.html',0,'std']]], - ['no_5foccurence_5ftests_29',['no_occurence_tests',['../de/d0d/fibonacci__search_8cpp.html#a5e144326104e57a3808aed7eb098db0d',1,'fibonacci_search.cpp']]], - ['no_5fof_5fconnected_5fcomponents_30',['no_of_connected_components',['../d8/d99/connected__components__with__dsu_8cpp.html#ac2d6698b71384a352ec4b81b31b13141',1,'graph::disjoint_union']]], - ['noboolalpha_31',['noboolalpha',['http://en.cppreference.com/w/cpp/io/manip/boolalpha.html',0,'std']]], - ['node_32',['Node',['../d9/d49/structdata__structures_1_1_node.html#a54a6777e72b639c3ee6446a541db8e78',1,'data_structures::Node::Node()'],['../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#ad5219979ea9a8baa3a273a9ec0f0c670',1,'data_structures::tree_234::Node::Node()'],['../da/d16/structoperations__on__datastructures_1_1circular__linked__list_1_1_node.html#a005dc56b0c58350a13f4796b9b30b6c5',1,'operations_on_datastructures::circular_linked_list::Node::Node(int64_t _data)'],['../da/d16/structoperations__on__datastructures_1_1circular__linked__list_1_1_node.html#a12a06eef5ccaf667f319506eee655d95',1,'operations_on_datastructures::circular_linked_list::Node::Node(int64_t _data, Node *_next)'],['../d8/dfd/structoperations__on__datastructures_1_1reverse__binary__tree_1_1_node.html#a15dd7a0a7d9b1e8b2012c5161aecd6e3',1,'operations_on_datastructures::reverse_binary_tree::Node::Node()']]], - ['non_5frecursive_5fmerge_5fsort_33',['non_recursive_merge_sort',['../d5/d91/namespacesorting.html#a140d913e42fb94176a0b2c8b29a80420',1,'sorting::non_recursive_merge_sort(const Iterator first, const Iterator last, const size_t n)'],['../d5/d91/namespacesorting.html#a27236b8d3df3832e1f1225576a122534',1,'sorting::non_recursive_merge_sort(const Iterator first, const size_t n)'],['../d5/d91/namespacesorting.html#ae97f4dd815654c4682f564afd718e824',1,'sorting::non_recursive_merge_sort(const Iterator first, const Iterator last)']]], - ['none_34',['none',['http://en.cppreference.com/w/cpp/utility/bitset/all_any_none.html',0,'std::bitset']]], - ['none_5fof_35',['none_of',['http://en.cppreference.com/w/cpp/algorithm/all_any_none_of.html',0,'std']]], - ['normal_5fdistribution_36',['normal_distribution',['http://en.cppreference.com/w/cpp/numeric/random/normal_distribution/normal_distribution.html',0,'std::normal_distribution']]], - ['noshowbase_37',['noshowbase',['http://en.cppreference.com/w/cpp/io/manip/showbase.html',0,'std']]], - ['noshowpoint_38',['noshowpoint',['http://en.cppreference.com/w/cpp/io/manip/showpoint.html',0,'std']]], - ['noshowpos_39',['noshowpos',['http://en.cppreference.com/w/cpp/io/manip/showpos.html',0,'std']]], - ['noskipws_40',['noskipws',['http://en.cppreference.com/w/cpp/io/manip/skipws.html',0,'std']]], - ['not1_41',['not1',['http://en.cppreference.com/w/cpp/utility/functional/not1.html',0,'std']]], - ['not2_42',['not2',['http://en.cppreference.com/w/cpp/utility/functional/not2.html',0,'std']]], - ['not_5feof_43',['not_eof',['http://en.cppreference.com/w/cpp/string/char_traits/not_eof.html',0,'std::char_traits']]], - ['notify_5fall_44',['notify_all',['http://en.cppreference.com/w/cpp/thread/condition_variable_any/notify_all.html',0,'std::condition_variable_any::notify_all()'],['http://en.cppreference.com/w/cpp/thread/condition_variable/notify_all.html',0,'std::condition_variable::notify_all()']]], - ['notify_5fall_5fat_5fthread_5fexit_45',['notify_all_at_thread_exit',['http://en.cppreference.com/w/cpp/thread/notify_all_at_thread_exit.html',0,'std']]], - ['notify_5fone_46',['notify_one',['http://en.cppreference.com/w/cpp/thread/condition_variable_any/notify_one.html',0,'std::condition_variable_any::notify_one()'],['http://en.cppreference.com/w/cpp/thread/condition_variable/notify_one.html',0,'std::condition_variable::notify_one()']]], - ['nounitbuf_47',['nounitbuf',['http://en.cppreference.com/w/cpp/io/manip/unitbuf.html',0,'std']]], - ['nouppercase_48',['nouppercase',['http://en.cppreference.com/w/cpp/io/manip/uppercase.html',0,'std']]], - ['now_49',['now',['http://en.cppreference.com/w/cpp/chrono/steady_clock/now.html',0,'std::chrono::steady_clock::now()'],['http://en.cppreference.com/w/cpp/chrono/system_clock/now.html',0,'std::chrono::system_clock::now()'],['http://en.cppreference.com/w/cpp/chrono/high_resolution_clock/now.html',0,'std::chrono::high_resolution_clock::now()']]], - ['nqueensol_50',['NQueenSol',['../da/dac/n__queens__all__solution__optimised_8cpp.html#a23c0547e4fd1708e6fb643b08327a60f',1,'backtracking::n_queens_optimized::NQueenSol()'],['../d7/d24/nqueen__print__all__solutions_8cpp.html#acc809c055f335011de0d9030034c7108',1,'backtracking::n_queens_all_solutions::NQueenSol()']]], - ['nth_5felement_51',['nth_element',['http://en.cppreference.com/w/cpp/algorithm/nth_element.html',0,'std']]], - ['num_5fdigits_52',['num_digits',['../db/d82/classlarge__number.html#ac09a05ec4aafb4d9e0b4440d6f0e2a93',1,'large_number']]], - ['num_5fget_53',['num_get',['http://en.cppreference.com/w/cpp/locale/num_get/num_get.html',0,'std::num_get']]], - ['num_5fput_54',['num_put',['http://en.cppreference.com/w/cpp/locale/num_put/num_put.html',0,'std::num_put']]], - ['number_5fof_5fpositive_5fdivisors_55',['number_of_positive_divisors',['../d0/da2/number__of__positive__divisors_8cpp.html#ad89ccced8504b5116046cfa03066ffeb',1,'number_of_positive_divisors.cpp']]], - ['number_5fof_5fsubsets_56',['number_of_subsets',['../d2/d5a/subset__sum_8cpp.html#a7cb50d36a59427a33f64a266dac83d99',1,'backtracking::subset_sum']]], - ['number_5fof_5fvertices_57',['number_of_vertices',['../dc/d61/classgraph_1_1_graph.html#a8930d1470d132b19e430d1c71f94c904',1,'graph::Graph']]], - ['numberofchildren_58',['numberOfChildren',['../d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html#afca808362c13273ca8c8ae7d58e8eee0',1,'operations_on_datastructures::trie_operations::Tnode']]], - ['numberofciphersinfactorialn_59',['numberOfCiphersInFactorialN',['../da/d50/count__of__trailing__ciphers__in__factorial__n_8cpp.html#a0d5e1d651d0d30bd682f176d8f2b83d0',1,'bit_manipulation::count_of_trailing_ciphers_in_factorial_n']]], - ['numpunct_60',['numpunct',['http://en.cppreference.com/w/cpp/locale/numpunct/numpunct.html',0,'std::numpunct']]], - ['numpunct_5fbyname_61',['numpunct_byname',['http://en.cppreference.com/w/cpp/locale/numpunct_byname.html',0,'std::numpunct_byname']]] + ['n_5fbonacci_0',['N_bonacci',['../db/d27/n__bonacci_8cpp.html#a6849b68f760be628d5975ab3eddec63d',1,'math::n_bonacci']]], + ['n_5fchoose_5fr_1',['n_choose_r',['../dd/d47/namespacemath.html#a6e2dff75c5de70455b90c799d6ad6967',1,'math']]], + ['n_5fpolygon_5fsurface_5fperimeter_2',['n_polygon_surface_perimeter',['../dd/d47/namespacemath.html#aa8592c3279c41a2c6d4d64eeb488f63f',1,'math']]], + ['naive_5fmultiplication_3',['naive_multiplication',['../dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix.html#a5d8eb669b37a27224376b08515b4ee50',1,'divide_and_conquer::strassens_multiplication::Matrix']]], + ['ncr_4',['nCr',['../d6/db0/binomial__dist_8cpp.html#a78d36635232e54b5d71fcbf1eac9a49a',1,'binomial_dist.cpp']]], + ['ncr_5',['ncr',['../d6/dc1/classmath_1_1ncr__modulo__p_1_1_n_c_r_modulo_p.html#a499df7a01bcd348345dc5a0ab79bb0e9',1,'math::ncr_modulo_p::NCRModuloP']]], + ['ncrmodulop_6',['NCRModuloP',['../d6/dc1/classmath_1_1ncr__modulo__p_1_1_n_c_r_modulo_p.html#a94b07e7dc61d8d7a1e9c5a28988e72f9',1,'math::ncr_modulo_p::NCRModuloP']]], + ['neuralnetwork_7',['NeuralNetwork',['../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#a4c4c6f63ab965317f9471518ee931b89',1,'machine_learning::neural_network::NeuralNetwork::NeuralNetwork(const std::vector< std::pair< int, std::string > > &config, const std::vector< std::vector< std::valarray< double > > > &kernels)'],['../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#ae7cf126a3a8f9d20c81b21584d061a08',1,'machine_learning::neural_network::NeuralNetwork::NeuralNetwork()=default'],['../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#a62151b0398a2536be60d950e10ffe9a8',1,'machine_learning::neural_network::NeuralNetwork::NeuralNetwork(const std::vector< std::pair< int, std::string > > &config)'],['../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#a176b955c90ae57d7dbc3c63f27c84c75',1,'machine_learning::neural_network::NeuralNetwork::NeuralNetwork(const NeuralNetwork &model)=default'],['../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#a173bb71780af6953ec2e307a4c74b025',1,'machine_learning::neural_network::NeuralNetwork::NeuralNetwork(NeuralNetwork &&)=default']]], + ['new_5fval_8',['new_val',['../d7/d7c/classstatistics_1_1stats__computer1.html#aa13bf7c38de112f71921a5525d71a2f2',1,'statistics::stats_computer1::new_val()'],['../d8/dab/classstatistics_1_1stats__computer2.html#ade6de704deea24fdc88077b3d9a0d534',1,'statistics::stats_computer2::new_val()']]], + ['newkid_9',['newKid',['../d8/d28/classrange__queries_1_1per_seg_tree.html#a0cec4b77d264521717cf9b0482c45817',1,'range_queries::perSegTree']]], + ['next_5fhigher_5fnumber_10',['next_higher_number',['../d7/d81/namespacebit__manipulation.html#a4b76571a2a04fa99c30a96eca9997f0e',1,'bit_manipulation']]], + ['no_5foccurence_5ftests_11',['no_occurence_tests',['../de/d0d/fibonacci__search_8cpp.html#a5e144326104e57a3808aed7eb098db0d',1,'fibonacci_search.cpp']]], + ['no_5fof_5fconnected_5fcomponents_12',['no_of_connected_components',['../d8/d99/connected__components__with__dsu_8cpp.html#ac2d6698b71384a352ec4b81b31b13141',1,'graph::disjoint_union']]], + ['node_13',['Node',['../d9/d49/structdata__structures_1_1_node.html#a54a6777e72b639c3ee6446a541db8e78',1,'data_structures::Node::Node()'],['../dd/d40/classdata__structures_1_1tree__234_1_1_node.html#ad5219979ea9a8baa3a273a9ec0f0c670',1,'data_structures::tree_234::Node::Node()'],['../da/d16/structoperations__on__datastructures_1_1circular__linked__list_1_1_node.html#a005dc56b0c58350a13f4796b9b30b6c5',1,'operations_on_datastructures::circular_linked_list::Node::Node(int64_t _data)'],['../da/d16/structoperations__on__datastructures_1_1circular__linked__list_1_1_node.html#a12a06eef5ccaf667f319506eee655d95',1,'operations_on_datastructures::circular_linked_list::Node::Node(int64_t _data, Node *_next)'],['../d8/dfd/structoperations__on__datastructures_1_1reverse__binary__tree_1_1_node.html#a15dd7a0a7d9b1e8b2012c5161aecd6e3',1,'operations_on_datastructures::reverse_binary_tree::Node::Node()']]], + ['non_5frecursive_5fmerge_5fsort_14',['non_recursive_merge_sort',['../d5/d91/namespacesorting.html#a140d913e42fb94176a0b2c8b29a80420',1,'sorting::non_recursive_merge_sort(const Iterator first, const Iterator last, const size_t n)'],['../d5/d91/namespacesorting.html#a27236b8d3df3832e1f1225576a122534',1,'sorting::non_recursive_merge_sort(const Iterator first, const size_t n)'],['../d5/d91/namespacesorting.html#ae97f4dd815654c4682f564afd718e824',1,'sorting::non_recursive_merge_sort(const Iterator first, const Iterator last)']]], + ['nqueensol_15',['NQueenSol',['../da/dac/n__queens__all__solution__optimised_8cpp.html#a23c0547e4fd1708e6fb643b08327a60f',1,'backtracking::n_queens_optimized::NQueenSol()'],['../d7/d24/nqueen__print__all__solutions_8cpp.html#acc809c055f335011de0d9030034c7108',1,'backtracking::n_queens_all_solutions::NQueenSol()']]], + ['num_5fdigits_16',['num_digits',['../db/d82/classlarge__number.html#ac09a05ec4aafb4d9e0b4440d6f0e2a93',1,'large_number']]], + ['number_5fof_5fpositive_5fdivisors_17',['number_of_positive_divisors',['../d0/da2/number__of__positive__divisors_8cpp.html#ad89ccced8504b5116046cfa03066ffeb',1,'number_of_positive_divisors.cpp']]], + ['number_5fof_5fsubsets_18',['number_of_subsets',['../d2/d5a/subset__sum_8cpp.html#a7cb50d36a59427a33f64a266dac83d99',1,'backtracking::subset_sum']]], + ['number_5fof_5fvertices_19',['number_of_vertices',['../dc/d61/classgraph_1_1_graph.html#a8930d1470d132b19e430d1c71f94c904',1,'graph::Graph']]], + ['numberofchildren_20',['numberOfChildren',['../d0/d5f/classoperations__on__datastructures_1_1trie__operations_1_1_tnode.html#afca808362c13273ca8c8ae7d58e8eee0',1,'operations_on_datastructures::trie_operations::Tnode']]], + ['numberofciphersinfactorialn_21',['numberOfCiphersInFactorialN',['../da/d50/count__of__trailing__ciphers__in__factorial__n_8cpp.html#a0d5e1d651d0d30bd682f176d8f2b83d0',1,'bit_manipulation::count_of_trailing_ciphers_in_factorial_n']]] ]; diff --git a/search/functions_f.js b/search/functions_f.js index d87d2802b..f6bd55be6 100644 --- a/search/functions_f.js +++ b/search/functions_f.js @@ -1,68 +1,47 @@ var searchData= [ - ['oct_0',['oct',['http://en.cppreference.com/w/cpp/io/manip/hex.html',0,'std']]], - ['offset_1',['offset',['../de/d0d/classrange__queries_1_1fenwick__tree.html#ab492ebf07cab0e3c32d277ad986de801',1,'range_queries::fenwick_tree']]], - ['ofstream_2',['ofstream',['http://en.cppreference.com/w/cpp/io/basic_ofstream/basic_ofstream.html',0,'std::ofstream']]], - ['ols_5ftest_3',['ols_test',['../dc/d38/ordinary__least__squares__regressor_8cpp.html#a4261f3c3c3dfdb86f3004eb8aaffea8d',1,'ordinary_least_squares_regressor.cpp']]], - ['on_5fsegment_4',['on_segment',['../d4/db4/struct_segment_intersection.html#a008941b2272866c64cdaf959afa939bf',1,'SegmentIntersection']]], - ['once_5fflag_5',['once_flag',['http://en.cppreference.com/w/cpp/thread/once_flag.html',0,'std::once_flag']]], - ['open_6',['open',['http://en.cppreference.com/w/cpp/io/basic_ofstream/open.html',0,'std::basic_ofstream::open()'],['http://en.cppreference.com/w/cpp/io/basic_fstream/open.html',0,'std::fstream::open()'],['http://en.cppreference.com/w/cpp/io/basic_filebuf/open.html',0,'std::basic_filebuf::open()'],['http://en.cppreference.com/w/cpp/io/basic_fstream/open.html',0,'std::basic_fstream::open()'],['http://en.cppreference.com/w/cpp/io/basic_filebuf/open.html',0,'std::wfilebuf::open()'],['http://en.cppreference.com/w/cpp/io/basic_ifstream/open.html',0,'std::wifstream::open()'],['http://en.cppreference.com/w/cpp/locale/messages/open.html',0,'std::messages_byname::open()'],['http://en.cppreference.com/w/cpp/io/basic_filebuf/open.html',0,'std::filebuf::open()'],['http://en.cppreference.com/w/cpp/io/basic_ofstream/open.html',0,'std::ofstream::open()'],['http://en.cppreference.com/w/cpp/io/basic_ifstream/open.html',0,'std::basic_ifstream::open()'],['http://en.cppreference.com/w/cpp/locale/messages/open.html',0,'std::messages::open()'],['http://en.cppreference.com/w/cpp/io/basic_fstream/open.html',0,'std::wfstream::open()'],['http://en.cppreference.com/w/cpp/io/basic_ofstream/open.html',0,'std::wofstream::open()'],['http://en.cppreference.com/w/cpp/io/basic_ifstream/open.html',0,'std::ifstream::open()']]], - ['opening_7',['opening',['../dc/dc5/paranthesis__matching_8cpp.html#ade525d33459755a32ba21e1b6910ff21',1,'paranthesis_matching.cpp']]], - ['operator_20auto_5fptr_3c_20y_20_3e_8',['operator auto_ptr< Y >',['http://en.cppreference.com/w/cpp/memory/auto_ptr/operator_auto_ptr.html',0,'std::auto_ptr']]], - ['operator_20bool_9',['operator bool',['http://en.cppreference.com/w/cpp/io/basic_ios/operator_bool.html',0,'std::basic_ofstream::operator bool()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/sentry.html',0,'std::basic_ofstream::sentry::operator bool()'],['http://en.cppreference.com/w/cpp/io/basic_ios/operator_bool.html',0,'std::fstream::operator bool()'],['http://en.cppreference.com/w/cpp/io/basic_istream/sentry.html',0,'std::fstream::sentry::operator bool()'],['http://en.cppreference.com/w/cpp/io/basic_ios/operator_bool.html',0,'std::wostream::operator bool()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/sentry.html',0,'std::wostream::sentry::operator bool()'],['http://en.cppreference.com/w/cpp/thread/unique_lock/operator_bool.html',0,'std::unique_lock::operator bool()'],['http://en.cppreference.com/w/cpp/io/basic_ios/operator_bool.html',0,'std::basic_ostringstream::operator bool()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/sentry.html',0,'std::basic_ostringstream::sentry::operator bool()'],['http://en.cppreference.com/w/cpp/io/basic_ios/operator_bool.html',0,'std::basic_ios::operator bool()'],['http://en.cppreference.com/w/cpp/memory/shared_ptr/operator_bool.html',0,'std::shared_ptr::operator bool()'],['http://en.cppreference.com/w/cpp/io/basic_ios/operator_bool.html',0,'std::ostringstream::operator bool()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/sentry.html',0,'std::ostringstream::sentry::operator bool()'],['http://en.cppreference.com/w/cpp/io/basic_ios/operator_bool.html',0,'std::basic_fstream::operator bool()'],['http://en.cppreference.com/w/cpp/io/basic_istream/sentry.html',0,'std::basic_fstream::sentry::operator bool()'],['http://en.cppreference.com/w/cpp/io/basic_ios/operator_bool.html',0,'std::iostream::operator bool()'],['http://en.cppreference.com/w/cpp/io/basic_istream/sentry.html',0,'std::iostream::sentry::operator bool()'],['http://en.cppreference.com/w/cpp/io/basic_ios/operator_bool.html',0,'std::wistream::operator bool()'],['http://en.cppreference.com/w/cpp/io/basic_istream/sentry.html',0,'std::wistream::sentry::operator bool()'],['http://en.cppreference.com/w/cpp/io/basic_ios/operator_bool.html',0,'std::stringstream::operator bool()'],['http://en.cppreference.com/w/cpp/io/basic_istream/sentry.html',0,'std::stringstream::sentry::operator bool()'],['http://en.cppreference.com/w/cpp/memory/unique_ptr/operator_bool.html',0,'std::unique_ptr::operator bool()'],['http://en.cppreference.com/w/cpp/io/basic_ios/operator_bool.html',0,'std::ostream::operator bool()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/sentry.html',0,'std::ostream::sentry::operator bool()'],['http://en.cppreference.com/w/cpp/thread/shared_lock/operator_bool.html',0,'std::shared_lock::operator bool()'],['http://en.cppreference.com/w/cpp/error/error_code/operator_bool.html',0,'std::error_code::operator bool()'],['http://en.cppreference.com/w/cpp/io/basic_ios/operator_bool.html',0,'std::wifstream::operator bool()'],['http://en.cppreference.com/w/cpp/io/basic_istream/sentry.html',0,'std::wifstream::sentry::operator bool()'],['http://en.cppreference.com/w/cpp/io/basic_ios/operator_bool.html',0,'std::basic_istream::operator bool()'],['http://en.cppreference.com/w/cpp/io/basic_istream/sentry.html',0,'std::basic_istream::sentry::operator bool()'],['http://en.cppreference.com/w/cpp/io/basic_ios/operator_bool.html',0,'std::strstream::operator bool()'],['http://en.cppreference.com/w/cpp/io/basic_istream/sentry.html',0,'std::strstream::sentry::operator bool()'],['http://en.cppreference.com/w/cpp/io/basic_ios/operator_bool.html',0,'std::basic_stringstream::operator bool()'],['http://en.cppreference.com/w/cpp/io/basic_istream/sentry.html',0,'std::basic_stringstream::sentry::operator bool()'],['http://en.cppreference.com/w/cpp/io/basic_ios/operator_bool.html',0,'std::wostringstream::operator bool()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/sentry.html',0,'std::wostringstream::sentry::operator bool()'],['http://en.cppreference.com/w/cpp/io/basic_ios/operator_bool.html',0,'std::istrstream::operator bool()'],['http://en.cppreference.com/w/cpp/io/basic_istream/sentry.html',0,'std::istrstream::sentry::operator bool()'],['http://en.cppreference.com/w/cpp/io/basic_ios/operator_bool.html',0,'std::basic_ostream::operator bool()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/sentry.html',0,'std::basic_ostream::sentry::operator bool()'],['http://en.cppreference.com/w/cpp/utility/functional/function/operator_bool.html',0,'std::function::operator bool()'],['http://en.cppreference.com/w/cpp/error/error_condition/operator_bool.html',0,'std::error_condition::operator bool()'],['http://en.cppreference.com/w/cpp/io/basic_ios/operator_bool.html',0,'std::wiostream::operator bool()'],['http://en.cppreference.com/w/cpp/io/basic_istream/sentry.html',0,'std::wiostream::sentry::operator bool()'],['http://en.cppreference.com/w/cpp/io/basic_ios/operator_bool.html',0,'std::ofstream::operator bool()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/sentry.html',0,'std::ofstream::sentry::operator bool()'],['http://en.cppreference.com/w/cpp/io/basic_ios/operator_bool.html',0,'std::basic_istringstream::operator bool()'],['http://en.cppreference.com/w/cpp/io/basic_istream/sentry.html',0,'std::basic_istringstream::sentry::operator bool()'],['http://en.cppreference.com/w/cpp/io/basic_ios/operator_bool.html',0,'std::basic_ifstream::operator bool()'],['http://en.cppreference.com/w/cpp/io/basic_istream/sentry.html',0,'std::basic_ifstream::sentry::operator bool()'],['http://en.cppreference.com/w/cpp/experimental/optional/operator_bool.html',0,'std::experimental::optional::operator bool()'],['http://en.cppreference.com/w/cpp/io/basic_ios/operator_bool.html',0,'std::istringstream::operator bool()'],['http://en.cppreference.com/w/cpp/io/basic_istream/sentry.html',0,'std::istringstream::sentry::operator bool()'],['http://en.cppreference.com/w/cpp/io/basic_ios/operator_bool.html',0,'std::istream::operator bool()'],['http://en.cppreference.com/w/cpp/io/basic_istream/sentry.html',0,'std::istream::sentry::operator bool()'],['http://en.cppreference.com/w/cpp/io/basic_ios/operator_bool.html',0,'std::ostrstream::operator bool()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/sentry.html',0,'std::ostrstream::sentry::operator bool()'],['http://en.cppreference.com/w/cpp/io/basic_ios/operator_bool.html',0,'std::wfstream::operator bool()'],['http://en.cppreference.com/w/cpp/io/basic_istream/sentry.html',0,'std::wfstream::sentry::operator bool()'],['http://en.cppreference.com/w/cpp/io/basic_ios/operator_bool.html',0,'std::basic_iostream::operator bool()'],['http://en.cppreference.com/w/cpp/io/basic_istream/sentry.html',0,'std::basic_iostream::sentry::operator bool()'],['http://en.cppreference.com/w/cpp/io/basic_ios/operator_bool.html',0,'std::wofstream::operator bool()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/sentry.html',0,'std::wofstream::sentry::operator bool()'],['http://en.cppreference.com/w/cpp/io/basic_ios/operator_bool.html',0,'std::wstringstream::operator bool()'],['http://en.cppreference.com/w/cpp/io/basic_istream/sentry.html',0,'std::wstringstream::sentry::operator bool()'],['http://en.cppreference.com/w/cpp/io/basic_ios/operator_bool.html',0,'std::wistringstream::operator bool()'],['http://en.cppreference.com/w/cpp/io/basic_istream/sentry.html',0,'std::wistringstream::sentry::operator bool()'],['http://en.cppreference.com/w/cpp/io/basic_ios/operator_bool.html',0,'std::ifstream::operator bool()'],['http://en.cppreference.com/w/cpp/io/basic_istream/sentry.html',0,'std::ifstream::sentry::operator bool()'],['../db/d9a/classuint128__t.html#a6d45302022ef7f5195458f41b8aedb6e',1,'uint128_t::operator bool()'],['../d1/d83/classuint256__t.html#a28aa5786bbfce1b00398a8d38691bdaa',1,'uint256_t::operator bool()']]], - ['operator_20string_5ftype_10',['operator string_type',['http://en.cppreference.com/w/cpp/regex/sub_match/str.html',0,'std::wcsub_match::operator string_type()'],['http://en.cppreference.com/w/cpp/regex/sub_match/str.html',0,'std::wssub_match::operator string_type()'],['http://en.cppreference.com/w/cpp/regex/sub_match/str.html',0,'std::csub_match::operator string_type()'],['http://en.cppreference.com/w/cpp/regex/sub_match/str.html',0,'std::ssub_match::operator string_type()'],['http://en.cppreference.com/w/cpp/regex/sub_match/str.html',0,'std::sub_match::operator string_type()']]], - ['operator_20t_11',['operator T',['http://en.cppreference.com/w/cpp/atomic/atomic/operator_T.html',0,'std::atomic::operator T()'],['../db/d9a/classuint128__t.html#a75767cb2b6fd47ecb1f721755fdc7639',1,'uint128_t::operator T()'],['../d1/d83/classuint256__t.html#a9e1b39a46ea16bc6587e25e294c6c363',1,'uint256_t::operator T()']]], - ['operator_20t_26_12',['operator T&',['http://en.cppreference.com/w/cpp/utility/functional/reference_wrapper/get.html',0,'std::reference_wrapper']]], - ['operator_20uint128_5ft_13',['operator uint128_t',['../d1/d83/classuint256__t.html#ad5bd38b2d3becca998457af1124d6e8b',1,'uint256_t']]], - ['operator_21_14',['operator!',['http://en.cppreference.com/w/cpp/io/basic_ios/operator!.html',0,'std::basic_ofstream::operator!()'],['http://en.cppreference.com/w/cpp/io/basic_ios/operator!.html',0,'std::fstream::operator!()'],['http://en.cppreference.com/w/cpp/io/basic_ios/operator!.html',0,'std::wostream::operator!()'],['http://en.cppreference.com/w/cpp/io/basic_ios/operator!.html',0,'std::basic_ostringstream::operator!()'],['http://en.cppreference.com/w/cpp/io/basic_ios/operator!.html',0,'std::basic_ios::operator!()'],['http://en.cppreference.com/w/cpp/io/basic_ios/operator!.html',0,'std::ostringstream::operator!()'],['http://en.cppreference.com/w/cpp/io/basic_ios/operator!.html',0,'std::basic_fstream::operator!()'],['http://en.cppreference.com/w/cpp/io/basic_ios/operator!.html',0,'std::iostream::operator!()'],['http://en.cppreference.com/w/cpp/io/basic_ios/operator!.html',0,'std::wistream::operator!()'],['http://en.cppreference.com/w/cpp/io/basic_ios/operator!.html',0,'std::stringstream::operator!()'],['http://en.cppreference.com/w/cpp/io/basic_ios/operator!.html',0,'std::ostream::operator!()'],['http://en.cppreference.com/w/cpp/io/basic_ios/operator!.html',0,'std::wifstream::operator!()'],['http://en.cppreference.com/w/cpp/io/basic_ios/operator!.html',0,'std::basic_istream::operator!()'],['http://en.cppreference.com/w/cpp/io/basic_ios/operator!.html',0,'std::strstream::operator!()'],['http://en.cppreference.com/w/cpp/io/basic_ios/operator!.html',0,'std::basic_stringstream::operator!()'],['http://en.cppreference.com/w/cpp/io/basic_ios/operator!.html',0,'std::wostringstream::operator!()'],['http://en.cppreference.com/w/cpp/io/basic_ios/operator!.html',0,'std::istrstream::operator!()'],['http://en.cppreference.com/w/cpp/io/basic_ios/operator!.html',0,'std::basic_ostream::operator!()'],['http://en.cppreference.com/w/cpp/io/basic_ios/operator!.html',0,'std::wiostream::operator!()'],['http://en.cppreference.com/w/cpp/io/basic_ios/operator!.html',0,'std::ofstream::operator!()'],['http://en.cppreference.com/w/cpp/io/basic_ios/operator!.html',0,'std::basic_istringstream::operator!()'],['http://en.cppreference.com/w/cpp/io/basic_ios/operator!.html',0,'std::basic_ifstream::operator!()'],['http://en.cppreference.com/w/cpp/io/basic_ios/operator!.html',0,'std::istringstream::operator!()'],['http://en.cppreference.com/w/cpp/io/basic_ios/operator!.html',0,'std::istream::operator!()'],['http://en.cppreference.com/w/cpp/io/basic_ios/operator!.html',0,'std::ostrstream::operator!()'],['http://en.cppreference.com/w/cpp/io/basic_ios/operator!.html',0,'std::wfstream::operator!()'],['http://en.cppreference.com/w/cpp/io/basic_ios/operator!.html',0,'std::basic_iostream::operator!()'],['http://en.cppreference.com/w/cpp/io/basic_ios/operator!.html',0,'std::wofstream::operator!()'],['http://en.cppreference.com/w/cpp/io/basic_ios/operator!.html',0,'std::wstringstream::operator!()'],['http://en.cppreference.com/w/cpp/io/basic_ios/operator!.html',0,'std::wistringstream::operator!()'],['http://en.cppreference.com/w/cpp/io/basic_ios/operator!.html',0,'std::ifstream::operator!()'],['../db/d9a/classuint128__t.html#ad24d6fe1fe63f415fee806b377dfa47d',1,'uint128_t::operator!()'],['../d1/d83/classuint256__t.html#a028c585069fa53b74c153667ff66352c',1,'uint256_t::operator!()']]], - ['operator_21_3d_15',['operator!=',['http://en.cppreference.com/w/cpp/regex/regex_iterator/operator_cmp.html',0,'std::regex_iterator::operator!=()'],['http://en.cppreference.com/w/cpp/regex/regex_iterator/operator_cmp.html',0,'std::sregex_iterator::operator!=()'],['http://en.cppreference.com/w/cpp/regex/regex_iterator/operator_cmp.html',0,'std::wcregex_iterator::operator!=()'],['http://en.cppreference.com/w/cpp/regex/regex_token_iterator/operator_cmp.html',0,'std::cregex_token_iterator::operator!=()'],['http://en.cppreference.com/w/cpp/locale/locale/operator_cmp.html',0,'std::locale::operator!=()'],['http://en.cppreference.com/w/cpp/regex/regex_token_iterator/operator_cmp.html',0,'std::wsregex_token_iterator::operator!=()'],['http://en.cppreference.com/w/cpp/error/error_category/operator_cmp.html',0,'std::error_category::operator!=()'],['http://en.cppreference.com/w/cpp/types/type_info/operator_cmp.html',0,'std::type_info::operator!=()'],['http://en.cppreference.com/w/cpp/utility/bitset/operator_cmp.html',0,'std::bitset::operator!=()'],['http://en.cppreference.com/w/cpp/thread/thread/id/operator_cmp.html',0,'std::thread::id::operator!=()'],['http://en.cppreference.com/w/cpp/regex/regex_iterator/operator_cmp.html',0,'std::cregex_iterator::operator!=()'],['http://en.cppreference.com/w/cpp/regex/regex_iterator/operator_cmp.html',0,'std::wsregex_iterator::operator!=()'],['http://en.cppreference.com/w/cpp/types/type_index/operator_cmp.html',0,'std::type_index::operator!=()'],['http://en.cppreference.com/w/cpp/regex/regex_token_iterator/operator_cmp.html',0,'std::wcregex_token_iterator::operator!=()'],['http://en.cppreference.com/w/cpp/regex/regex_token_iterator/operator_cmp.html',0,'std::regex_token_iterator::operator!=()'],['http://en.cppreference.com/w/cpp/regex/regex_token_iterator/operator_cmp.html',0,'std::sregex_token_iterator::operator!=()'],['../db/d9a/classuint128__t.html#ab3359b104bbb5a31c11c2027387c4b4e',1,'uint128_t::operator!=(const uint128_t &other)'],['../db/d9a/classuint128__t.html#a7737bb30a5480c7286546b911d82e696',1,'uint128_t::operator!=(const T other)'],['../d1/d83/classuint256__t.html#aae68a7bd17c14a926fb77758b5c8e547',1,'uint256_t::operator!=(const uint256_t &other)'],['../d1/d83/classuint256__t.html#a89cf7fa466458ee08edd9a809d072bcb',1,'uint256_t::operator!=(const T &other)'],['http://en.cppreference.com/w/cpp/utility/rel_ops/operator_cmp.html',0,'std::rel_ops::operator!=()']]], - ['operator_25_16',['operator%',['../db/d9a/classuint128__t.html#abfc6a8765039cacc829a5cd386b5a066',1,'uint128_t::operator%(const uint128_t &p)'],['../db/d9a/classuint128__t.html#add9938b97fc66560cec2d32e8c83eaad',1,'uint128_t::operator%(const T &p)'],['../d1/d83/classuint256__t.html#ad4928175eaaaa2b559bc945affe63ad2',1,'uint256_t::operator%(const uint256_t &p)'],['../d1/d83/classuint256__t.html#a7bd9693b88c4df08b1f8d1fd81c597cc',1,'uint256_t::operator%(const T &p)']]], - ['operator_25_3d_17',['operator%=',['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith3.html',0,'std::chrono::minutes::operator%=()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith3.html',0,'std::chrono::seconds::operator%=()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith3.html',0,'std::chrono::duration::operator%=()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith3.html',0,'std::chrono::milliseconds::operator%=()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith3.html',0,'std::chrono::hours::operator%=()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith3.html',0,'std::chrono::microseconds::operator%=()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith3.html',0,'std::chrono::nanoseconds::operator%=()'],['../db/d9a/classuint128__t.html#a279209a184db20a7ffc8e687fdb05be2',1,'uint128_t::operator%=(const uint128_t &p)'],['../db/d9a/classuint128__t.html#a0500a90bcde5a8254750c361eed9bc40',1,'uint128_t::operator%=(const T &p)'],['../d1/d83/classuint256__t.html#a2cd43a4a92dc825a010a17578b3bdedb',1,'uint256_t::operator%=(const uint256_t &p)'],['../d1/d83/classuint256__t.html#a76914bc727eab927a3941ef71275327d',1,'uint256_t::operator%=(const T &p)']]], - ['operator_26_18',['operator&',['../db/d9a/classuint128__t.html#ad1717d3a38391258befa413b7e2b9244',1,'uint128_t::operator&(const uint128_t &p)'],['../db/d9a/classuint128__t.html#a9fa81ef0d54ecb9050d0be4249358ca4',1,'uint128_t::operator&(const T p)'],['../d1/d83/classuint256__t.html#a6eadaa829087e07eebafca3981566bb8',1,'uint256_t::operator&(const T &p)'],['../d1/d83/classuint256__t.html#a9bc6cc460108306a59281ce4ca216839',1,'uint256_t::operator&(const uint256_t &p)']]], - ['operator_26_26_19',['operator&&',['../db/d9a/classuint128__t.html#ab07413c67d205e406abf3a9f554d59e1',1,'uint128_t::operator&&(const uint128_t &b)'],['../db/d9a/classuint128__t.html#a0ad881643c707f6ae3c5de3822a8cb8a',1,'uint128_t::operator&&(const T b)'],['../d1/d83/classuint256__t.html#aa0e532832640e9fe273b35c481b18963',1,'uint256_t::operator&&(const uint256_t &b)'],['../d1/d83/classuint256__t.html#a303287d7bc8686dcb47fcb04720ad409',1,'uint256_t::operator&&(const T &b)']]], - ['operator_26_3d_20',['operator&=',['http://en.cppreference.com/w/cpp/atomic/atomic/operator_arith2.html',0,'std::atomic::operator&=()'],['http://en.cppreference.com/w/cpp/utility/bitset/operator_logic.html',0,'std::bitset::operator&=()'],['../db/d9a/classuint128__t.html#ac7d55ed3bac01075b9cd11cc59508050',1,'uint128_t::operator&=(const uint128_t &p)'],['../db/d9a/classuint128__t.html#a225146042c6456a3c5595645870ca640',1,'uint128_t::operator&=(const T p)'],['../d1/d83/classuint256__t.html#a357cdfee6a79e0484cd1e07511eb9f2d',1,'uint256_t::operator&=(const uint256_t &p)'],['../d1/d83/classuint256__t.html#afa79020c27caea31236d04ecaa0e5ef5',1,'uint256_t::operator&=(const T p)']]], - ['operator_28_29_21',['operator()',['http://en.cppreference.com/w/cpp/utility/functional/logical_and.html',0,'std::logical_and::operator()()'],['http://en.cppreference.com/w/cpp/utility/functional/modulus.html',0,'std::modulus::operator()()'],['http://en.cppreference.com/w/cpp/numeric/random/student_t_distribution/operator().html',0,'std::student_t_distribution::operator()()'],['http://en.cppreference.com/w/cpp/numeric/random/mersenne_twister_engine/operator().html',0,'std::mt19937_64::operator()()'],['http://en.cppreference.com/w/cpp/numeric/random/subtract_with_carry_engine/operator().html',0,'std::ranlux24_base::operator()()'],['http://en.cppreference.com/w/cpp/numeric/random/extreme_value_distribution/operator().html',0,'std::extreme_value_distribution::operator()()'],['http://en.cppreference.com/w/cpp/numeric/random/lognormal_distribution/operator().html',0,'std::lognormal_distribution::operator()()'],['http://en.cppreference.com/w/cpp/utility/functional/greater_equal.html',0,'std::greater_equal::operator()()'],['http://en.cppreference.com/w/cpp/numeric/random/discrete_distribution/operator().html',0,'std::discrete_distribution::operator()()'],['http://en.cppreference.com/w/cpp/numeric/random/discard_block_engine/operator().html',0,'std::ranlux48::operator()()'],['http://en.cppreference.com/w/cpp/numeric/random/piecewise_constant_distribution/operator().html',0,'std::piecewise_constant_distribution::operator()()'],['http://en.cppreference.com/w/cpp/utility/functional/less_equal.html',0,'std::less_equal::operator()()'],['http://en.cppreference.com/w/cpp/utility/functional/logical_or.html',0,'std::logical_or::operator()()'],['http://en.cppreference.com/w/cpp/utility/functional/binary_negate.html',0,'std::binary_negate::operator()()'],['http://en.cppreference.com/w/cpp/numeric/random/discard_block_engine/operator().html',0,'std::discard_block_engine::operator()()'],['http://en.cppreference.com/w/cpp/numeric/random/exponential_distribution/operator().html',0,'std::exponential_distribution::operator()()'],['http://en.cppreference.com/w/cpp/numeric/random/mersenne_twister_engine/operator().html',0,'std::mersenne_twister_engine::operator()()'],['http://en.cppreference.com/w/cpp/utility/functional/negate.html',0,'std::negate::operator()()'],['http://en.cppreference.com/w/cpp/utility/functional/not_equal_to.html',0,'std::not_equal_to::operator()()'],['http://en.cppreference.com/w/cpp/numeric/random/independent_bits_engine/operator().html',0,'std::independent_bits_engine::operator()()'],['http://en.cppreference.com/w/cpp/numeric/random/normal_distribution/operator().html',0,'std::normal_distribution::operator()()'],['http://en.cppreference.com/w/cpp/numeric/random/linear_congruential_engine/operator().html',0,'std::minstd_rand::operator()()'],['http://en.cppreference.com/w/cpp/locale/locale/operator().html',0,'std::locale::operator()()'],['http://en.cppreference.com/w/cpp/utility/functional/equal_to.html',0,'std::equal_to::operator()()'],['http://en.cppreference.com/w/cpp/utility/functional/divides.html',0,'std::divides::operator()()'],['http://en.cppreference.com/w/cpp/numeric/random/weibull_distribution/operator().html',0,'std::weibull_distribution::operator()()'],['http://en.cppreference.com/w/cpp/utility/functional/less.html',0,'std::less::operator()()'],['http://en.cppreference.com/w/cpp/utility/functional/multiplies.html',0,'std::multiplies::operator()()'],['http://en.cppreference.com/w/cpp/utility/functional/reference_wrapper/operator().html',0,'std::reference_wrapper::operator()()'],['http://en.cppreference.com/w/cpp/numeric/random/subtract_with_carry_engine/operator().html',0,'std::ranlux48_base::operator()()'],['http://en.cppreference.com/w/cpp/utility/functional/bit_not.html',0,'std::bit_not::operator()()'],['http://en.cppreference.com/w/cpp/numeric/random/mersenne_twister_engine/operator().html',0,'std::mt19937::operator()()'],['http://en.cppreference.com/w/cpp/numeric/random/chi_squared_distribution/operator().html',0,'std::chi_squared_distribution::operator()()'],['http://en.cppreference.com/w/cpp/numeric/random/piecewise_linear_distribution/operator().html',0,'std::piecewise_linear_distribution::operator()()'],['http://en.cppreference.com/w/cpp/utility/hash/operator().html',0,'std::hash::operator()()'],['http://en.cppreference.com/w/cpp/numeric/random/shuffle_order_engine/operator().html',0,'std::shuffle_order_engine::operator()()'],['http://en.cppreference.com/w/cpp/utility/functional/greater.html',0,'std::greater::operator()()'],['http://en.cppreference.com/w/cpp/utility/functional/bit_and.html',0,'std::bit_and::operator()()'],['http://en.cppreference.com/w/cpp/numeric/random/uniform_int_distribution/operator().html',0,'std::uniform_int_distribution::operator()()'],['http://en.cppreference.com/w/cpp/numeric/random/fisher_f_distribution/operator().html',0,'std::fisher_f_distribution::operator()()'],['http://en.cppreference.com/w/cpp/numeric/random/discard_block_engine/operator().html',0,'std::ranlux24::operator()()'],['http://en.cppreference.com/w/cpp/utility/functional/plus.html',0,'std::plus::operator()()'],['http://en.cppreference.com/w/cpp/utility/functional/bit_or.html',0,'std::bit_or::operator()()'],['http://en.cppreference.com/w/cpp/utility/functional/unary_negate.html',0,'std::unary_negate::operator()()'],['http://en.cppreference.com/w/cpp/utility/functional/function/operator().html',0,'std::function::operator()()'],['http://en.cppreference.com/w/cpp/utility/functional/minus.html',0,'std::minus::operator()()'],['http://en.cppreference.com/w/cpp/numeric/random/linear_congruential_engine/operator().html',0,'std::linear_congruential_engine::operator()()'],['http://en.cppreference.com/w/cpp/memory/owner_less.html',0,'std::owner_less::operator()()'],['http://en.cppreference.com/w/cpp/numeric/random/shuffle_order_engine/operator().html',0,'std::knuth_b::operator()()'],['http://en.cppreference.com/w/cpp/numeric/random/linear_congruential_engine/operator().html',0,'std::minstd_rand0::operator()()'],['http://en.cppreference.com/w/cpp/utility/functional/logical_not.html',0,'std::logical_not::operator()()'],['http://en.cppreference.com/w/cpp/memory/default_delete.html',0,'std::default_delete::operator()()'],['http://en.cppreference.com/w/cpp/numeric/random/gamma_distribution/operator().html',0,'std::gamma_distribution::operator()()'],['http://en.cppreference.com/w/cpp/thread/packaged_task/operator().html',0,'std::packaged_task::operator()()'],['http://en.cppreference.com/w/cpp/numeric/random/cauchy_distribution/operator().html',0,'std::cauchy_distribution::operator()()'],['http://en.cppreference.com/w/cpp/numeric/random/subtract_with_carry_engine/operator().html',0,'std::subtract_with_carry_engine::operator()()'],['http://en.cppreference.com/w/cpp/numeric/random/random_device/operator().html',0,'std::random_device::operator()()'],['../db/d9a/classuint128__t.html#af4ce01d81a0369218f7d46567d136733',1,'uint128_t::operator()()'],['../d1/d83/classuint256__t.html#a7ac99dea14428200f0101452293e2b3b',1,'uint256_t::operator()()'],['../de/d4a/class_compare.html#afbdf9a44adb49728dc704155d7d1570c',1,'Compare::operator()()']]], - ['operator_2a_22',['operator*',['http://en.cppreference.com/w/cpp/regex/regex_iterator/operator*.html',0,'std::regex_iterator::operator*()'],['http://en.cppreference.com/w/cpp/regex/regex_iterator/operator*.html',0,'std::sregex_iterator::operator*()'],['http://en.cppreference.com/w/cpp/memory/shared_ptr/operator*.html',0,'std::shared_ptr::operator*()'],['http://en.cppreference.com/w/cpp/regex/regex_iterator/operator*.html',0,'std::wcregex_iterator::operator*()'],['http://en.cppreference.com/w/cpp/regex/regex_token_iterator/operator*.html',0,'std::cregex_token_iterator::operator*()'],['http://en.cppreference.com/w/cpp/memory/unique_ptr/operator*.html',0,'std::unique_ptr::operator*()'],['http://en.cppreference.com/w/cpp/regex/regex_token_iterator/operator*.html',0,'std::wsregex_token_iterator::operator*()'],['http://en.cppreference.com/w/cpp/regex/regex_iterator/operator*.html',0,'std::cregex_iterator::operator*()'],['http://en.cppreference.com/w/cpp/regex/regex_iterator/operator*.html',0,'std::wsregex_iterator::operator*()'],['http://en.cppreference.com/w/cpp/experimental/optional/operator*.html',0,'std::experimental::optional::operator*()'],['http://en.cppreference.com/w/cpp/regex/regex_token_iterator/operator*.html',0,'std::wcregex_token_iterator::operator*()'],['http://en.cppreference.com/w/cpp/regex/regex_token_iterator/operator*.html',0,'std::regex_token_iterator::operator*()'],['http://en.cppreference.com/w/cpp/memory/auto_ptr/operator*.html',0,'std::auto_ptr::operator*()'],['http://en.cppreference.com/w/cpp/regex/regex_token_iterator/operator*.html',0,'std::sregex_token_iterator::operator*()'],['http://en.cppreference.com/w/cpp/memory/raw_storage_iterator/operator*.html',0,'std::raw_storage_iterator::operator*()'],['../db/d9a/classuint128__t.html#a488e65a14d4c32a096011aa4725cdb30',1,'uint128_t::operator*(const T p)'],['../db/d9a/classuint128__t.html#a44e472cf685cac6edc5172eac2e66860',1,'uint128_t::operator*(const uint128_t &p)'],['../d1/d83/classuint256__t.html#aaca9288fd28fc07e1386f1586bd51616',1,'uint256_t::operator*(const T &p)'],['../d1/d83/classuint256__t.html#aa9e585b186e71d7cbe9c1d7387c38967',1,'uint256_t::operator*(const uint256_t &p)'],['../dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix.html#a60599668b56001cef4bb59d4cb5c6c6c',1,'divide_and_conquer::strassens_multiplication::Matrix::operator*(const Matrix< Number > &other) const'],['../dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix.html#aedbe01e48a96fefa0b393ec577b0f19e',1,'divide_and_conquer::strassens_multiplication::Matrix::operator*(const Number other) const'],['../da/d5a/class_complex.html#aa9b4a7d6083ca7040ddd4fe93db5c19d',1,'Complex::operator*()'],['../dc/d38/ordinary__least__squares__regressor_8cpp.html#ae2edd40354a1ca7aeaee3d1e3589e713',1,'operator*(std::vector< std::vector< T > > const &A, std::vector< std::vector< T > > const &B): ordinary_least_squares_regressor.cpp'],['../dc/d38/ordinary__least__squares__regressor_8cpp.html#a865e8d26a01962cc93aca66e71346f37',1,'operator*(std::vector< std::vector< T > > const &A, std::vector< T > const &B): ordinary_least_squares_regressor.cpp'],['../dc/d38/ordinary__least__squares__regressor_8cpp.html#a207b3a99fd5974d3117e0b0ac0aad234',1,'operator*(float const scalar, std::vector< T > const &A): ordinary_least_squares_regressor.cpp'],['../dc/d38/ordinary__least__squares__regressor_8cpp.html#a42535e20e97d85aa61271e0894cc0359',1,'operator*(std::vector< T > const &A, float const scalar): ordinary_least_squares_regressor.cpp'],['../d8/d77/namespacemachine__learning.html#a16f34574b7e0dd51bc3b3fda37446695',1,'machine_learning::operator*()']]], - ['operator_2a_3d_23',['operator*=',['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith3.html',0,'std::chrono::minutes::operator*=()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith3.html',0,'std::chrono::seconds::operator*=()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith3.html',0,'std::chrono::duration::operator*=()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith3.html',0,'std::chrono::milliseconds::operator*=()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith3.html',0,'std::chrono::hours::operator*=()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith3.html',0,'std::chrono::microseconds::operator*=()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith3.html',0,'std::chrono::nanoseconds::operator*=()'],['http://en.cppreference.com/w/cpp/numeric/complex/operator_arith.html',0,'std::complex::operator*=()'],['../db/d9a/classuint128__t.html#a3016b71f92a0c7e090a7c5b6a3935092',1,'uint128_t::operator*=(const T p)'],['../db/d9a/classuint128__t.html#a96fc7c2df4325bb1a0c22b566bcc6295',1,'uint128_t::operator*=(const uint128_t &p)'],['../d1/d83/classuint256__t.html#af2193ff0d0e93143fb71f4847df16028',1,'uint256_t::operator*=(const T &p)'],['../d1/d83/classuint256__t.html#a4645040fe68ff01d83400f173fd2bb21',1,'uint256_t::operator*=(const uint256_t &p)'],['../dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix.html#af09566a6a59d30875434c140e18e0a12',1,'divide_and_conquer::strassens_multiplication::Matrix::operator*=()'],['../db/d82/classlarge__number.html#a771e9b28cfddf1ad94668566e396e350',1,'large_number::operator*=()']]], - ['operator_2b_24',['operator+',['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith.html',0,'std::chrono::minutes::operator+()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith.html',0,'std::chrono::seconds::operator+()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith.html',0,'std::chrono::duration::operator+()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith.html',0,'std::chrono::milliseconds::operator+()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith.html',0,'std::chrono::hours::operator+()'],['http://en.cppreference.com/w/cpp/chrono/time_point/operator_arith.html',0,'std::chrono::time_point::operator+()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith.html',0,'std::chrono::microseconds::operator+()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith.html',0,'std::chrono::nanoseconds::operator+()'],['../db/d9a/classuint128__t.html#a5133f854a93efe47fd1f0f6a9589856d',1,'uint128_t::operator+(const T p)'],['../db/d9a/classuint128__t.html#a0fd125cc2b7702370a4aefa740d57606',1,'uint128_t::operator+(const uint128_t &p)'],['../d1/d83/classuint256__t.html#a20dc3a017b1a740c4bafd3f146a90b0f',1,'uint256_t::operator+(const T &p)'],['../d1/d83/classuint256__t.html#af18e2e3d7ed635c4056062bc906fef75',1,'uint256_t::operator+(const uint256_t &p)'],['../dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix.html#ad36ec1f1a97298e49de605384e5f8211',1,'divide_and_conquer::strassens_multiplication::Matrix::operator+()'],['../da/d5a/class_complex.html#a820afcbb330df716577459d7a3aa3a1c',1,'Complex::operator+()'],['../dc/d38/ordinary__least__squares__regressor_8cpp.html#a01e6c7bf2b09272578b9c5819ce0f36f',1,'operator+(): ordinary_least_squares_regressor.cpp'],['../d8/d77/namespacemachine__learning.html#a2466857dab977a49f117029835b3b6d2',1,'machine_learning::operator+()']]], - ['operator_2b_2b_25',['operator++',['http://en.cppreference.com/w/cpp/regex/regex_iterator/operator_arith.html',0,'std::regex_iterator::operator++()'],['http://en.cppreference.com/w/cpp/regex/regex_iterator/operator_arith.html',0,'std::sregex_iterator::operator++()'],['http://en.cppreference.com/w/cpp/regex/regex_iterator/operator_arith.html',0,'std::wcregex_iterator::operator++()'],['http://en.cppreference.com/w/cpp/regex/regex_token_iterator/operator_arith.html',0,'std::cregex_token_iterator::operator++()'],['http://en.cppreference.com/w/cpp/regex/regex_token_iterator/operator_arith.html',0,'std::wsregex_token_iterator::operator++()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith2.html',0,'std::chrono::minutes::operator++()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith2.html',0,'std::chrono::seconds::operator++()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith2.html',0,'std::chrono::duration::operator++()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith2.html',0,'std::chrono::milliseconds::operator++()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith2.html',0,'std::chrono::hours::operator++()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith2.html',0,'std::chrono::microseconds::operator++()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith2.html',0,'std::chrono::nanoseconds::operator++()'],['http://en.cppreference.com/w/cpp/atomic/atomic/operator_arith.html',0,'std::atomic::operator++()'],['http://en.cppreference.com/w/cpp/regex/regex_iterator/operator_arith.html',0,'std::cregex_iterator::operator++()'],['http://en.cppreference.com/w/cpp/regex/regex_iterator/operator_arith.html',0,'std::wsregex_iterator::operator++()'],['http://en.cppreference.com/w/cpp/regex/regex_token_iterator/operator_arith.html',0,'std::wcregex_token_iterator::operator++()'],['http://en.cppreference.com/w/cpp/regex/regex_token_iterator/operator_arith.html',0,'std::regex_token_iterator::operator++()'],['http://en.cppreference.com/w/cpp/regex/regex_token_iterator/operator_arith.html',0,'std::sregex_token_iterator::operator++()'],['http://en.cppreference.com/w/cpp/memory/raw_storage_iterator/operator_arith.html',0,'std::raw_storage_iterator::operator++()'],['../db/d9a/classuint128__t.html#ac8d293d20cdf65c48d8d1e0ba7034c8e',1,'uint128_t::operator++()'],['../db/d9a/classuint128__t.html#af71990a1fba93a5528ddb1e6662bffd6',1,'uint128_t::operator++(int)'],['../d1/d83/classuint256__t.html#af0ad4080bb5ddc16b54a7e87911005c9',1,'uint256_t::operator++()'],['../d1/d83/classuint256__t.html#a7bbe36e2ebd52df5efab118897b3050c',1,'uint256_t::operator++(int)'],['../db/d82/classlarge__number.html#a4757697b1f7584b69e779a72abc4ae2a',1,'large_number::operator++()'],['../db/d82/classlarge__number.html#a8d4364ee5a62964451d8cfee82649687',1,'large_number::operator++(int)']]], - ['operator_2b_2b_28int_29_26',['operator++(int)',['http://en.cppreference.com/w/cpp/regex/regex_iterator/operator_arith.html',0,'std::regex_iterator::operator++(int)()'],['http://en.cppreference.com/w/cpp/regex/regex_iterator/operator_arith.html',0,'std::sregex_iterator::operator++(int)()'],['http://en.cppreference.com/w/cpp/regex/regex_iterator/operator_arith.html',0,'std::wcregex_iterator::operator++(int)()'],['http://en.cppreference.com/w/cpp/regex/regex_token_iterator/operator_arith.html',0,'std::cregex_token_iterator::operator++(int)()'],['http://en.cppreference.com/w/cpp/regex/regex_token_iterator/operator_arith.html',0,'std::wsregex_token_iterator::operator++(int)()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith2.html',0,'std::chrono::minutes::operator++(int)()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith2.html',0,'std::chrono::seconds::operator++(int)()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith2.html',0,'std::chrono::duration::operator++(int)()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith2.html',0,'std::chrono::milliseconds::operator++(int)()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith2.html',0,'std::chrono::hours::operator++(int)()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith2.html',0,'std::chrono::microseconds::operator++(int)()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith2.html',0,'std::chrono::nanoseconds::operator++(int)()'],['http://en.cppreference.com/w/cpp/atomic/atomic/operator_arith.html',0,'std::atomic::operator++(int)()'],['http://en.cppreference.com/w/cpp/regex/regex_iterator/operator_arith.html',0,'std::cregex_iterator::operator++(int)()'],['http://en.cppreference.com/w/cpp/regex/regex_iterator/operator_arith.html',0,'std::wsregex_iterator::operator++(int)()'],['http://en.cppreference.com/w/cpp/regex/regex_token_iterator/operator_arith.html',0,'std::wcregex_token_iterator::operator++(int)()'],['http://en.cppreference.com/w/cpp/regex/regex_token_iterator/operator_arith.html',0,'std::regex_token_iterator::operator++(int)()'],['http://en.cppreference.com/w/cpp/regex/regex_token_iterator/operator_arith.html',0,'std::sregex_token_iterator::operator++(int)()']]], - ['operator_2b_3d_27',['operator+=',['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith3.html',0,'std::chrono::minutes::operator+=()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith3.html',0,'std::chrono::seconds::operator+=()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith3.html',0,'std::chrono::duration::operator+=()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith3.html',0,'std::chrono::milliseconds::operator+=()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith3.html',0,'std::chrono::hours::operator+=()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith3.html',0,'std::chrono::microseconds::operator+=()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith3.html',0,'std::chrono::nanoseconds::operator+=()'],['http://en.cppreference.com/w/cpp/atomic/atomic/operator_arith2.html',0,'std::atomic::operator+=()'],['http://en.cppreference.com/w/cpp/numeric/complex/operator_arith.html',0,'std::complex::operator+=()'],['../db/d9a/classuint128__t.html#a55a3f122c4d982c60c2eb9fc09b9e004',1,'uint128_t::operator+=(const T p)'],['../db/d9a/classuint128__t.html#a9704e6a4d32750461bff663e40e537cb',1,'uint128_t::operator+=(const uint128_t &p)'],['../d1/d83/classuint256__t.html#a5363ec0f36de1a8a9c985907db4e95d1',1,'uint256_t::operator+=(const T &p)'],['../d1/d83/classuint256__t.html#ac75a46fe3625caf10e07db1eb75a1d6e',1,'uint256_t::operator+=(const uint256_t &p)'],['../dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix.html#ae190115f8d4d31e47d7290e0b6871391',1,'divide_and_conquer::strassens_multiplication::Matrix::operator+=()'],['../db/d82/classlarge__number.html#aab5644405094740e34983cedfecb36cf',1,'large_number::operator+=()']]], - ['operator_2d_28',['operator-',['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith.html',0,'std::chrono::minutes::operator-()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith.html',0,'std::chrono::seconds::operator-()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith.html',0,'std::chrono::duration::operator-()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith.html',0,'std::chrono::milliseconds::operator-()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith.html',0,'std::chrono::hours::operator-()'],['http://en.cppreference.com/w/cpp/chrono/time_point/operator_arith.html',0,'std::chrono::time_point::operator-()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith.html',0,'std::chrono::microseconds::operator-()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith.html',0,'std::chrono::nanoseconds::operator-()'],['../db/d9a/classuint128__t.html#a6824700c9c732a4200e7493fe7ed0eec',1,'uint128_t::operator-(const T &p)'],['../db/d9a/classuint128__t.html#a81a568510e6d0b0950133dd9fc37fc0c',1,'uint128_t::operator-(const uint128_t &p)'],['../db/d9a/classuint128__t.html#a07945fe010079a35e18812636d5c70c3',1,'uint128_t::operator-()'],['../d1/d83/classuint256__t.html#a88978d00fa6a624c50c2737dc2c294b4',1,'uint256_t::operator-(const T &p)'],['../d1/d83/classuint256__t.html#ab909ef62a0c85121e7d743c016fb723d',1,'uint256_t::operator-(const uint256_t &p)'],['../d1/d83/classuint256__t.html#a406c951a07d8173685dbe384c6ab6a06',1,'uint256_t::operator-()'],['../dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix.html#a678681c9f6266a8219bd6bee6972d70e',1,'divide_and_conquer::strassens_multiplication::Matrix::operator-()'],['../da/d5a/class_complex.html#a36739619a07b5478bcd8a28ad2f8b7da',1,'Complex::operator-()'],['../dc/d38/ordinary__least__squares__regressor_8cpp.html#a4a6a560dbdd0177633783b72db37dc19',1,'operator-(): ordinary_least_squares_regressor.cpp'],['../d8/d77/namespacemachine__learning.html#a0cc29566568e0383dd7d374068cbe6b3',1,'machine_learning::operator-()']]], - ['operator_2d_2d_29',['operator--',['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith2.html',0,'std::chrono::minutes::operator--()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith2.html',0,'std::chrono::seconds::operator--()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith2.html',0,'std::chrono::duration::operator--()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith2.html',0,'std::chrono::milliseconds::operator--()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith2.html',0,'std::chrono::hours::operator--()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith2.html',0,'std::chrono::microseconds::operator--()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith2.html',0,'std::chrono::nanoseconds::operator--()'],['http://en.cppreference.com/w/cpp/atomic/atomic/operator_arith.html',0,'std::atomic::operator--()'],['../db/d9a/classuint128__t.html#a1d390c6ea5450680dcaff341235f0fed',1,'uint128_t::operator--()'],['../db/d9a/classuint128__t.html#a2ecb71686e1c9ed0267124580c91c414',1,'uint128_t::operator--(int p)'],['../d1/d83/classuint256__t.html#a9f6f3e39783c893473315bada864a183',1,'uint256_t::operator--()'],['../d1/d83/classuint256__t.html#a28d26847f9b19a4f86c187791cb0db13',1,'uint256_t::operator--(int p)']]], - ['operator_2d_2d_28int_29_30',['operator--(int)',['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith2.html',0,'std::chrono::minutes::operator--(int)()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith2.html',0,'std::chrono::seconds::operator--(int)()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith2.html',0,'std::chrono::duration::operator--(int)()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith2.html',0,'std::chrono::milliseconds::operator--(int)()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith2.html',0,'std::chrono::hours::operator--(int)()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith2.html',0,'std::chrono::microseconds::operator--(int)()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith2.html',0,'std::chrono::nanoseconds::operator--(int)()'],['http://en.cppreference.com/w/cpp/atomic/atomic/operator_arith.html',0,'std::atomic::operator--(int)()']]], - ['operator_2d_3d_31',['operator-=',['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith3.html',0,'std::chrono::minutes::operator-=()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith3.html',0,'std::chrono::seconds::operator-=()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith3.html',0,'std::chrono::duration::operator-=()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith3.html',0,'std::chrono::milliseconds::operator-=()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith3.html',0,'std::chrono::hours::operator-=()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith3.html',0,'std::chrono::microseconds::operator-=()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith3.html',0,'std::chrono::nanoseconds::operator-=()'],['http://en.cppreference.com/w/cpp/atomic/atomic/operator_arith2.html',0,'std::atomic::operator-=()'],['http://en.cppreference.com/w/cpp/numeric/complex/operator_arith.html',0,'std::complex::operator-=()'],['../db/d9a/classuint128__t.html#a0a4623fae71566dfcf2e742c8c156798',1,'uint128_t::operator-=(const T &p)'],['../db/d9a/classuint128__t.html#abea727c69c2acd74ffe21464199d27c8',1,'uint128_t::operator-=(const uint128_t &p)'],['../d1/d83/classuint256__t.html#acd3970c633eb2c597874e2712392f0c7',1,'uint256_t::operator-=(const T p)'],['../d1/d83/classuint256__t.html#a5e84ed2a2f99cee81ede4a0107702a45',1,'uint256_t::operator-=(const uint256_t &p)'],['../dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix.html#a42c986fb57b74fe1b7c5953cb1922c3d',1,'divide_and_conquer::strassens_multiplication::Matrix::operator-=()']]], - ['operator_2d_3e_32',['operator->',['http://en.cppreference.com/w/cpp/regex/regex_iterator/operator*.html',0,'std::regex_iterator::operator->()'],['http://en.cppreference.com/w/cpp/regex/regex_iterator/operator*.html',0,'std::sregex_iterator::operator->()'],['http://en.cppreference.com/w/cpp/memory/shared_ptr/operator*.html',0,'std::shared_ptr::operator->()'],['http://en.cppreference.com/w/cpp/regex/regex_iterator/operator*.html',0,'std::wcregex_iterator::operator->()'],['http://en.cppreference.com/w/cpp/regex/regex_token_iterator/operator*.html',0,'std::cregex_token_iterator::operator->()'],['http://en.cppreference.com/w/cpp/memory/unique_ptr/operator*.html',0,'std::unique_ptr::operator->()'],['http://en.cppreference.com/w/cpp/regex/regex_token_iterator/operator*.html',0,'std::wsregex_token_iterator::operator->()'],['http://en.cppreference.com/w/cpp/regex/regex_iterator/operator*.html',0,'std::cregex_iterator::operator->()'],['http://en.cppreference.com/w/cpp/regex/regex_iterator/operator*.html',0,'std::wsregex_iterator::operator->()'],['http://en.cppreference.com/w/cpp/experimental/optional/operator*.html',0,'std::experimental::optional::operator->()'],['http://en.cppreference.com/w/cpp/regex/regex_token_iterator/operator*.html',0,'std::wcregex_token_iterator::operator->()'],['http://en.cppreference.com/w/cpp/regex/regex_token_iterator/operator*.html',0,'std::regex_token_iterator::operator->()'],['http://en.cppreference.com/w/cpp/memory/auto_ptr/operator*.html',0,'std::auto_ptr::operator->()'],['http://en.cppreference.com/w/cpp/regex/regex_token_iterator/operator*.html',0,'std::sregex_token_iterator::operator->()']]], - ['operator_2f_33',['operator/',['../db/d9a/classuint128__t.html#a3072a7e43da3600c345c81bc80c957ee',1,'uint128_t::operator/(const uint128_t &p)'],['../db/d9a/classuint128__t.html#aed49b24b99293ae6b14ac9850f5deb94',1,'uint128_t::operator/(const T p)'],['../d1/d83/classuint256__t.html#acac9901ab133caa57d058a377d873bf6',1,'uint256_t::operator/(const T &p)'],['../d1/d83/classuint256__t.html#a4fdeb4d4bf8cca4ee99b8487e59831df',1,'uint256_t::operator/(const uint256_t &p)'],['../da/d5a/class_complex.html#ac38437c10eb798f176c384a695171b90',1,'Complex::operator/()'],['../dc/d38/ordinary__least__squares__regressor_8cpp.html#a7a2d742b9a3ae7b85292e1f86428bb4f',1,'operator/(): ordinary_least_squares_regressor.cpp'],['../d8/d77/namespacemachine__learning.html#ae6ec42318d172b97fbdf45638d09d7b5',1,'machine_learning::operator/()']]], - ['operator_2f_3d_34',['operator/=',['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith3.html',0,'std::chrono::minutes::operator/=()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith3.html',0,'std::chrono::seconds::operator/=()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith3.html',0,'std::chrono::duration::operator/=()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith3.html',0,'std::chrono::milliseconds::operator/=()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith3.html',0,'std::chrono::hours::operator/=()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith3.html',0,'std::chrono::microseconds::operator/=()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator_arith3.html',0,'std::chrono::nanoseconds::operator/=()'],['http://en.cppreference.com/w/cpp/numeric/complex/operator_arith.html',0,'std::complex::operator/=()'],['../db/d9a/classuint128__t.html#a300ed88fe2054788cc6e0b6a8fdf66db',1,'uint128_t::operator/=(const uint128_t &p)'],['../db/d9a/classuint128__t.html#aaacb9fda7adcfee224f1b09124c0438b',1,'uint128_t::operator/=(const T p)'],['../d1/d83/classuint256__t.html#ac1b36e64de42f3622e7d6ec5efa273d4',1,'uint256_t::operator/=(const uint256_t &p)'],['../d1/d83/classuint256__t.html#abc793979ec70bb8e5cf177d83649a259',1,'uint256_t::operator/=(const T &p)']]], - ['operator_3c_35',['operator<',['http://en.cppreference.com/w/cpp/error/error_category/operator_cmp.html',0,'std::error_category::operator<()'],['http://en.cppreference.com/w/cpp/thread/thread/id/operator_cmp.html',0,'std::thread::id::operator<()'],['http://en.cppreference.com/w/cpp/types/type_index/operator_cmp.html',0,'std::type_index::operator<()'],['../db/d9a/classuint128__t.html#ac9a4365fb9ea5e2d2c751258f09168a4',1,'uint128_t::operator<(const uint128_t &other)'],['../db/d9a/classuint128__t.html#a56f579c802a6cc16f31e43af274453dc',1,'uint128_t::operator<(const T other)'],['../d1/d83/classuint256__t.html#afe9f4828d73dd51a080585dd0b99af96',1,'uint256_t::operator<(const uint256_t &other)'],['../d1/d83/classuint256__t.html#ac6bdcf64653af8173987bf7217e99056',1,'uint256_t::operator<(const T &other)'],['../dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle.html#a64815f10cf9fb9fdb4cc92731ccf10ba',1,'machine_learning::aystar_search::EightPuzzle::operator<()']]], - ['operator_3c_3c_36',['operator<<',['http://en.cppreference.com/w/cpp/io/basic_ostream/operator_ltlt.html',0,'std::basic_ofstream::operator<<()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/operator_ltlt.html',0,'std::fstream::operator<<()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/operator_ltlt.html',0,'std::wostream::operator<<()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/operator_ltlt.html',0,'std::basic_ostringstream::operator<<()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/operator_ltlt.html',0,'std::ostringstream::operator<<()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/operator_ltlt.html',0,'std::basic_fstream::operator<<()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/operator_ltlt.html',0,'std::iostream::operator<<()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/operator_ltlt.html',0,'std::stringstream::operator<<()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/operator_ltlt.html',0,'std::ostream::operator<<()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/operator_ltlt.html',0,'std::strstream::operator<<()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/operator_ltlt.html',0,'std::basic_stringstream::operator<<()'],['http://en.cppreference.com/w/cpp/utility/bitset/operator_ltltgtgt.html',0,'std::bitset::operator<<()'],['http://en.cppreference.com/w/cpp/thread/thread/id/operator_ltlt.html',0,'std::thread::id::operator<<()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/operator_ltlt.html',0,'std::wostringstream::operator<<()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/operator_ltlt.html',0,'std::basic_ostream::operator<<()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/operator_ltlt.html',0,'std::wiostream::operator<<()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/operator_ltlt.html',0,'std::ofstream::operator<<()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/operator_ltlt.html',0,'std::ostrstream::operator<<()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/operator_ltlt.html',0,'std::wfstream::operator<<()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/operator_ltlt.html',0,'std::basic_iostream::operator<<()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/operator_ltlt.html',0,'std::wofstream::operator<<()'],['http://en.cppreference.com/w/cpp/io/basic_ostream/operator_ltlt.html',0,'std::wstringstream::operator<<()'],['../db/d9a/classuint128__t.html#a16e7e1211ba6c27e9a229d97fb0d9190',1,'uint128_t::operator<<()'],['../d1/d83/classuint256__t.html#a4831263abc4430c363fdabce6e6e96d5',1,'uint256_t::operator<<()'],['../d7/db9/hill__cipher_8cpp.html#a34bfcd756610834acac501f9eea1e2eb',1,'operator<<(std::ostream &out, matrix< T > const &v): hill_cipher.cpp'],['../dc/d38/ordinary__least__squares__regressor_8cpp.html#a7075a0fccad9b2d79be0275bfe8948d4',1,'operator<<(std::ostream &out, std::vector< std::vector< T > > const &v): ordinary_least_squares_regressor.cpp'],['../dc/d38/ordinary__least__squares__regressor_8cpp.html#ab1ad727903d7817c2758d25bcb52cbc8',1,'operator<<(std::ostream &out, std::vector< T > const &v): ordinary_least_squares_regressor.cpp'],['../d8/d77/namespacemachine__learning.html#a84260cb1be9b63d6e38107000ac4b7e7',1,'machine_learning::operator<<(std::ostream &out, std::vector< std::valarray< T > > const &A)'],['../d8/d77/namespacemachine__learning.html#af4986b23760039711848155739c31b35',1,'machine_learning::operator<<(std::ostream &out, const std::pair< T, T > &A)'],['../d8/d77/namespacemachine__learning.html#a54bf1f3c43271a5fc93101f6ae2e6269',1,'machine_learning::operator<<(std::ostream &out, const std::valarray< T > &A)'],['../d5/d67/complex__numbers_8cpp.html#a44d5f25b573e870accdf26fd32b8484d',1,'operator<<(std::ostream &os, const Complex &num): complex_numbers.cpp'],['../dd/d65/lu__decompose_8cpp.html#a575c989afcc78e875031cd4273e62a3e',1,'operator<<(std::ostream &out, matrix< T > const &v): lu_decompose.cpp'],['../d2/d3b/namespaceqr__algorithm.html#adfbdf47277c8cfee229b05b72f1f7834',1,'qr_algorithm::operator<<(std::ostream &out, std::valarray< std::valarray< T > > const &v)'],['../d2/d3b/namespaceqr__algorithm.html#a257425cb2365359da51c6fe6741834d8',1,'qr_algorithm::operator<<(std::ostream &out, std::valarray< T > const &v)']]], - ['operator_3c_3c_3d_37',['operator<<=',['http://en.cppreference.com/w/cpp/utility/bitset/operator_ltltgtgt.html',0,'std::bitset::operator<<=()'],['../db/d9a/classuint128__t.html#aa5b93187b1d199071f204b9987d5d16a',1,'uint128_t::operator<<=()'],['../d1/d83/classuint256__t.html#a0d96ce2d022dc30c2f303ab0698f52f5',1,'uint256_t::operator<<=()']]], - ['operator_3c_3d_38',['operator<=',['http://en.cppreference.com/w/cpp/thread/thread/id/operator_cmp.html',0,'std::thread::id::operator<=()'],['http://en.cppreference.com/w/cpp/types/type_index/operator_cmp.html',0,'std::type_index::operator<=()'],['../db/d9a/classuint128__t.html#a16eb351c1d0ed3b89c771c63808e035a',1,'uint128_t::operator<=(const uint128_t &other)'],['../db/d9a/classuint128__t.html#a4562c218813c8705bccb25d8786ca77c',1,'uint128_t::operator<=(const T other)'],['../d1/d83/classuint256__t.html#a19c88f8f2736750822b82ef9a7096d88',1,'uint256_t::operator<=(const uint256_t &other)'],['../d1/d83/classuint256__t.html#a2029e9777f999bffef6004429b4f19f2',1,'uint256_t::operator<=(const T &other)'],['../dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle.html#af778034b2942ecac6df1e9ec8b5412ee',1,'machine_learning::aystar_search::EightPuzzle::operator<=()'],['http://en.cppreference.com/w/cpp/utility/rel_ops/operator_cmp.html',0,'std::rel_ops::operator<=()']]], - ['operator_3d_39',['operator=',['http://en.cppreference.com/w/cpp/io/basic_ofstream/operator=.html',0,'std::basic_ofstream::operator=()'],['http://en.cppreference.com/w/cpp/io/basic_fstream/operator=.html',0,'std::fstream::operator=()'],['http://en.cppreference.com/w/cpp/regex/regex_iterator/operator=.html',0,'std::regex_iterator::operator=()'],['http://en.cppreference.com/w/cpp/container/vector/operator=.html',0,'std::vector::operator=()'],['http://en.cppreference.com/w/cpp/container/multiset/operator=.html',0,'std::multiset::operator=()'],['http://en.cppreference.com/w/cpp/memory/weak_ptr/operator=.html',0,'std::weak_ptr::operator=()'],['http://en.cppreference.com/w/cpp/string/basic_string/operator=.html',0,'std::string::operator=()'],['http://en.cppreference.com/w/cpp/container/set/operator=.html',0,'std::set::operator=()'],['http://en.cppreference.com/w/cpp/thread/unique_lock/operator=.html',0,'std::unique_lock::operator=()'],['http://en.cppreference.com/w/cpp/io/basic_ostringstream/operator=.html',0,'std::basic_ostringstream::operator=()'],['http://en.cppreference.com/w/cpp/regex/basic_regex/operator=.html',0,'std::regex::operator=()'],['http://en.cppreference.com/w/cpp/container/unordered_map/operator=.html',0,'std::unordered_map::operator=()'],['http://en.cppreference.com/w/cpp/regex/basic_regex/operator=.html',0,'std::basic_regex::operator=()'],['http://en.cppreference.com/w/cpp/io/basic_filebuf/operator=.html',0,'std::basic_filebuf::operator=()'],['http://en.cppreference.com/w/cpp/io/basic_stringbuf/operator=.html',0,'std::wstringbuf::operator=()'],['http://en.cppreference.com/w/cpp/utility/tuple/operator=.html',0,'std::tuple::operator=()'],['http://en.cppreference.com/w/cpp/regex/regex_iterator/operator=.html',0,'std::sregex_iterator::operator=()'],['http://en.cppreference.com/w/cpp/memory/shared_ptr/operator=.html',0,'std::shared_ptr::operator=()'],['http://en.cppreference.com/w/cpp/memory/new/bad_alloc.html',0,'std::bad_alloc::operator=()'],['http://en.cppreference.com/w/cpp/io/basic_ostringstream/operator=.html',0,'std::ostringstream::operator=()'],['http://en.cppreference.com/w/cpp/io/basic_fstream/operator=.html',0,'std::basic_fstream::operator=()'],['http://en.cppreference.com/w/cpp/io/basic_stringbuf/operator=.html',0,'std::stringbuf::operator=()'],['http://en.cppreference.com/w/cpp/regex/regex_iterator/operator=.html',0,'std::wcregex_iterator::operator=()'],['http://en.cppreference.com/w/cpp/regex/basic_regex/operator=.html',0,'std::wregex::operator=()'],['http://en.cppreference.com/w/cpp/regex/regex_token_iterator/operator=.html',0,'std::cregex_token_iterator::operator=()'],['http://en.cppreference.com/w/cpp/io/basic_filebuf/operator=.html',0,'std::wfilebuf::operator=()'],['http://en.cppreference.com/w/cpp/container/stack/operator=.html',0,'std::stack::operator=()'],['http://en.cppreference.com/w/cpp/thread/shared_future/operator=.html',0,'std::shared_future::operator=()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/operator=.html',0,'std::wstreambuf::operator=()'],['http://en.cppreference.com/w/cpp/io/basic_stringstream/operator=.html',0,'std::stringstream::operator=()'],['http://en.cppreference.com/w/cpp/container/unordered_multimap/operator=.html',0,'std::unordered_multimap::operator=()'],['http://en.cppreference.com/w/cpp/memory/unique_ptr/operator=.html',0,'std::unique_ptr::operator=()'],['http://en.cppreference.com/w/cpp/container/forward_list/operator=.html',0,'std::forward_list::operator=()'],['http://en.cppreference.com/w/cpp/locale/locale/operator=.html',0,'std::locale::operator=()'],['http://en.cppreference.com/w/cpp/thread/shared_lock/operator=.html',0,'std::shared_lock::operator=()'],['http://en.cppreference.com/w/cpp/memory/enable_shared_from_this/operator=.html',0,'std::enable_shared_from_this::operator=()'],['http://en.cppreference.com/w/cpp/thread/future/operator=.html',0,'std::future::operator=()'],['http://en.cppreference.com/w/cpp/utility/pair/operator=.html',0,'std::pair::operator=()'],['http://en.cppreference.com/w/cpp/regex/regex_token_iterator/operator=.html',0,'std::wsregex_token_iterator::operator=()'],['http://en.cppreference.com/w/cpp/error/error_code/operator=.html',0,'std::error_code::operator=()'],['http://en.cppreference.com/w/cpp/io/basic_ifstream/operator=.html',0,'std::wifstream::operator=()'],['http://en.cppreference.com/w/cpp/utility/functional/reference_wrapper/operator=.html',0,'std::reference_wrapper::operator=()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator=.html',0,'std::chrono::minutes::operator=()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator=.html',0,'std::chrono::seconds::operator=()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator=.html',0,'std::chrono::duration::operator=()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator=.html',0,'std::chrono::milliseconds::operator=()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator=.html',0,'std::chrono::hours::operator=()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator=.html',0,'std::chrono::microseconds::operator=()'],['http://en.cppreference.com/w/cpp/chrono/duration/operator=.html',0,'std::chrono::nanoseconds::operator=()'],['http://en.cppreference.com/w/cpp/io/basic_stringbuf/operator=.html',0,'std::basic_stringbuf::operator=()'],['http://en.cppreference.com/w/cpp/container/deque/operator=.html',0,'std::deque::operator=()'],['http://en.cppreference.com/w/cpp/thread/promise/operator=.html',0,'std::promise::operator=()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/operator=.html',0,'std::basic_streambuf::operator=()'],['http://en.cppreference.com/w/cpp/container/queue/operator=.html',0,'std::queue::operator=()'],['http://en.cppreference.com/w/cpp/atomic/atomic/operator=.html',0,'std::atomic::operator=()'],['http://en.cppreference.com/w/cpp/io/basic_stringstream/operator=.html',0,'std::basic_stringstream::operator=()'],['http://en.cppreference.com/w/cpp/thread/thread/operator=.html',0,'std::thread::operator=()'],['http://en.cppreference.com/w/cpp/string/basic_string/operator=.html',0,'std::basic_string::operator=()'],['http://en.cppreference.com/w/cpp/container/priority_queue/operator=.html',0,'std::priority_queue::operator=()'],['http://en.cppreference.com/w/cpp/io/basic_ostringstream/operator=.html',0,'std::wostringstream::operator=()'],['http://en.cppreference.com/w/cpp/regex/regex_iterator/operator=.html',0,'std::cregex_iterator::operator=()'],['http://en.cppreference.com/w/cpp/string/basic_string/operator=.html',0,'std::wstring::operator=()'],['http://en.cppreference.com/w/cpp/container/unordered_multiset/operator=.html',0,'std::unordered_multiset::operator=()'],['http://en.cppreference.com/w/cpp/regex/regex_iterator/operator=.html',0,'std::wsregex_iterator::operator=()'],['http://en.cppreference.com/w/cpp/utility/functional/function/operator=.html',0,'std::function::operator=()'],['http://en.cppreference.com/w/cpp/error/error_condition/operator=.html',0,'std::error_condition::operator=()'],['http://en.cppreference.com/w/cpp/io/basic_filebuf/operator=.html',0,'std::filebuf::operator=()'],['http://en.cppreference.com/w/cpp/string/basic_string/operator=.html',0,'std::u16string::operator=()'],['http://en.cppreference.com/w/cpp/string/basic_string/operator=.html',0,'std::u32string::operator=()'],['http://en.cppreference.com/w/cpp/numeric/complex/operator=.html',0,'std::complex::operator=()'],['http://en.cppreference.com/w/cpp/io/basic_ofstream/operator=.html',0,'std::ofstream::operator=()'],['http://en.cppreference.com/w/cpp/io/basic_istringstream/operator=.html',0,'std::basic_istringstream::operator=()'],['http://en.cppreference.com/w/cpp/io/basic_ifstream/operator=.html',0,'std::basic_ifstream::operator=()'],['http://en.cppreference.com/w/cpp/container/list/operator=.html',0,'std::list::operator=()'],['http://en.cppreference.com/w/cpp/container/map/operator=.html',0,'std::map::operator=()'],['http://en.cppreference.com/w/cpp/error/exception/operator=.html',0,'std::exception::operator=()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/operator=.html',0,'std::streambuf::operator=()'],['http://en.cppreference.com/w/cpp/experimental/optional/operator=.html',0,'std::experimental::optional::operator=()'],['http://en.cppreference.com/w/cpp/regex/regex_token_iterator/operator=.html',0,'std::wcregex_token_iterator::operator=()'],['http://en.cppreference.com/w/cpp/regex/regex_token_iterator/operator=.html',0,'std::regex_token_iterator::operator=()'],['http://en.cppreference.com/w/cpp/io/basic_istringstream/operator=.html',0,'std::istringstream::operator=()'],['http://en.cppreference.com/w/cpp/error/nested_exception/operator=.html',0,'std::nested_exception::operator=()'],['http://en.cppreference.com/w/cpp/memory/auto_ptr/operator=.html',0,'std::auto_ptr::operator=()'],['http://en.cppreference.com/w/cpp/regex/regex_token_iterator/operator=.html',0,'std::sregex_token_iterator::operator=()'],['http://en.cppreference.com/w/cpp/thread/packaged_task/operator=.html',0,'std::packaged_task::operator=()'],['http://en.cppreference.com/w/cpp/container/unordered_set/operator=.html',0,'std::unordered_set::operator=()'],['http://en.cppreference.com/w/cpp/io/basic_fstream/operator=.html',0,'std::wfstream::operator=()'],['http://en.cppreference.com/w/cpp/container/multimap/operator=.html',0,'std::multimap::operator=()'],['http://en.cppreference.com/w/cpp/atomic/atomic_flag/operator=.html',0,'std::atomic_flag::operator=()'],['http://en.cppreference.com/w/cpp/io/basic_ofstream/operator=.html',0,'std::wofstream::operator=()'],['http://en.cppreference.com/w/cpp/io/basic_stringstream/operator=.html',0,'std::wstringstream::operator=()'],['http://en.cppreference.com/w/cpp/io/basic_istringstream/operator=.html',0,'std::wistringstream::operator=()'],['http://en.cppreference.com/w/cpp/io/basic_ifstream/operator=.html',0,'std::ifstream::operator=()'],['http://en.cppreference.com/w/cpp/memory/raw_storage_iterator/operator=.html',0,'std::raw_storage_iterator::operator=()'],['../db/d9a/classuint128__t.html#ac924cc09bbb919532dc42f1f93f6f544',1,'uint128_t::operator=(const T &p)'],['../db/d9a/classuint128__t.html#abae08ef3c1d6dc512edd68ca68327f74',1,'uint128_t::operator=(const std::string &p)'],['../db/d9a/classuint128__t.html#ab6aa4d14ed52c7c640468c45350da0c5',1,'uint128_t::operator=(const uint128_t &p)=default'],['../db/d9a/classuint128__t.html#a3c4a7e775a0820196fc08303bbeed44a',1,'uint128_t::operator=(uint128_t &&p)=default'],['../d1/d83/classuint256__t.html#a4c6db67d21c4927a45a4e1e7c2357bfc',1,'uint256_t::operator=(const uint256_t &p)=default'],['../d1/d83/classuint256__t.html#addff5645f6005e7b50a6ad0731e4f19c',1,'uint256_t::operator=(const T &p)'],['../d1/d83/classuint256__t.html#a86aab081bb7db2771e4a4f30c3eed8e2',1,'uint256_t::operator=(const std::string &p)'],['../d1/d83/classuint256__t.html#a6c5e025f901f6af4b748f98013350638',1,'uint256_t::operator=(uint256_t &&p)=default'],['../d1/def/classdata__structures_1_1linked__list_1_1list.html#adb04f732911fcfd30f7177b367c6af41',1,'data_structures::linked_list::list::operator=()'],['../dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle.html#a467e722dc1fcc82bfb4cef55744e04e2',1,'machine_learning::aystar_search::EightPuzzle::operator=(const EightPuzzle &A)'],['../dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle.html#a1802cf6197a255055cb734d626abc101',1,'machine_learning::aystar_search::EightPuzzle::operator=(EightPuzzle &&A) noexcept'],['../da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html#ac77d992953fa0de10a755e5a9aa06317',1,'machine_learning::aystar_search::AyStarSearch::Info::operator=(const Info &A)'],['../da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html#ad3993dbca9c5b3ef9ac361dc7f62ce57',1,'machine_learning::aystar_search::AyStarSearch::Info::operator=(Info &&A) noexcept'],['../da/d94/classmachine__learning_1_1k__nearest__neighbors_1_1_knn.html#a080f5b1742832a03c1cbba596a48bd1a',1,'machine_learning::k_nearest_neighbors::Knn::operator=(const Knn &model)=default'],['../da/d94/classmachine__learning_1_1k__nearest__neighbors_1_1_knn.html#ac06986d5afddc767ddba4da738f75563',1,'machine_learning::k_nearest_neighbors::Knn::operator=(Knn &&)=default'],['../dc/d93/classmachine__learning_1_1neural__network_1_1layers_1_1_dense_layer.html#ae077132526d2863e46aa77cb0f7d6aa2',1,'machine_learning::neural_network::layers::DenseLayer::operator=(const DenseLayer &layer)=default'],['../dc/d93/classmachine__learning_1_1neural__network_1_1layers_1_1_dense_layer.html#a19aaccad279b22dbbb6c55e5697b4114',1,'machine_learning::neural_network::layers::DenseLayer::operator=(DenseLayer &&)=default'],['../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#a58a9614e4c6d4ca672d3358e99a3404f',1,'machine_learning::neural_network::NeuralNetwork::operator=(const NeuralNetwork &model)=default'],['../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#a2c49bfebf9b859d5ceb26035d3003601',1,'machine_learning::neural_network::NeuralNetwork::operator=(NeuralNetwork &&)=default'],['../da/d5a/class_complex.html#a4ac9f529d54cacf2969f2c7179b4c4ac',1,'Complex::operator=()'],['../db/d82/classlarge__number.html#ab84f29685709cbb3b6fd29b7b4a7bc7b',1,'large_number::operator=()'],['../d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list.html#a9cc37166f2f73763df39894b675f89c9',1,'operations_on_datastructures::circular_linked_list::CircularLinkedList::operator=(const CircularLinkedList &other)'],['../d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list.html#a8f26dc32615abc5bab8ac458ef424bc5',1,'operations_on_datastructures::circular_linked_list::CircularLinkedList::operator=(CircularLinkedList &&other) noexcept']]], - ['operator_3d_3d_40',['operator==',['http://en.cppreference.com/w/cpp/regex/regex_iterator/operator_cmp.html',0,'std::regex_iterator::operator==()'],['http://en.cppreference.com/w/cpp/regex/regex_iterator/operator_cmp.html',0,'std::sregex_iterator::operator==()'],['http://en.cppreference.com/w/cpp/regex/regex_iterator/operator_cmp.html',0,'std::wcregex_iterator::operator==()'],['http://en.cppreference.com/w/cpp/regex/regex_token_iterator/operator_cmp.html',0,'std::cregex_token_iterator::operator==()'],['http://en.cppreference.com/w/cpp/locale/locale/operator_cmp.html',0,'std::locale::operator==()'],['http://en.cppreference.com/w/cpp/regex/regex_token_iterator/operator_cmp.html',0,'std::wsregex_token_iterator::operator==()'],['http://en.cppreference.com/w/cpp/error/error_category/operator_cmp.html',0,'std::error_category::operator==()'],['http://en.cppreference.com/w/cpp/types/type_info/operator_cmp.html',0,'std::type_info::operator==()'],['http://en.cppreference.com/w/cpp/utility/bitset/operator_cmp.html',0,'std::bitset::operator==()'],['http://en.cppreference.com/w/cpp/thread/thread/id/operator_cmp.html',0,'std::thread::id::operator==()'],['http://en.cppreference.com/w/cpp/regex/regex_iterator/operator_cmp.html',0,'std::cregex_iterator::operator==()'],['http://en.cppreference.com/w/cpp/regex/regex_iterator/operator_cmp.html',0,'std::wsregex_iterator::operator==()'],['http://en.cppreference.com/w/cpp/types/type_index/operator_cmp.html',0,'std::type_index::operator==()'],['http://en.cppreference.com/w/cpp/regex/regex_token_iterator/operator_cmp.html',0,'std::wcregex_token_iterator::operator==()'],['http://en.cppreference.com/w/cpp/regex/regex_token_iterator/operator_cmp.html',0,'std::regex_token_iterator::operator==()'],['http://en.cppreference.com/w/cpp/regex/regex_token_iterator/operator_cmp.html',0,'std::sregex_token_iterator::operator==()'],['../d6/d45/structciphers_1_1elliptic__curve__key__exchange_1_1_point.html#a5084e9ca27837662c31d4dc003815446',1,'ciphers::elliptic_curve_key_exchange::Point::operator==()'],['../db/d9a/classuint128__t.html#a7b1de5584505c189664d0edd306e979e',1,'uint128_t::operator==(const uint128_t &other)'],['../db/d9a/classuint128__t.html#a7a95e3accdac1cb38c9767f9550c0896',1,'uint128_t::operator==(const T other)'],['../d1/d83/classuint256__t.html#a90ce75bec5b525de55bbf92c564a2261',1,'uint256_t::operator==(const uint256_t &other)'],['../d1/d83/classuint256__t.html#a9879f7ec85fc148e1931fcb492ddc484',1,'uint256_t::operator==(const T &other)'],['../dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix.html#a562faa16a4b4ed5d4804823c56f99c9c',1,'divide_and_conquer::strassens_multiplication::Matrix::operator==()'],['../dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle.html#aa17e0227321b109ed91e156ac1332915',1,'machine_learning::aystar_search::EightPuzzle::operator==()'],['../d5/d67/complex__numbers_8cpp.html#a5a73e9d4e68af8cedb95bd0864054b89',1,'operator==(): complex_numbers.cpp']]], - ['operator_3e_41',['operator>',['http://en.cppreference.com/w/cpp/thread/thread/id/operator_cmp.html',0,'std::thread::id::operator>()'],['http://en.cppreference.com/w/cpp/types/type_index/operator_cmp.html',0,'std::type_index::operator>()'],['../db/d9a/classuint128__t.html#a291d2787d668e8d06a7cfab0f5144440',1,'uint128_t::operator>(const uint128_t &other)'],['../db/d9a/classuint128__t.html#a82c63f8c18b8d2d255b8b0d373ac7d6e',1,'uint128_t::operator>(const T other)'],['../d1/d83/classuint256__t.html#acadd235e0029ec43d5990d24affaf42d',1,'uint256_t::operator>(const uint256_t &other)'],['../d1/d83/classuint256__t.html#ad74d33215517459c2b33ace7a9c6bc13',1,'uint256_t::operator>(const T &other)'],['http://en.cppreference.com/w/cpp/utility/rel_ops/operator_cmp.html',0,'std::rel_ops::operator>()']]], - ['operator_3e_3d_42',['operator>=',['http://en.cppreference.com/w/cpp/thread/thread/id/operator_cmp.html',0,'std::thread::id::operator>=()'],['http://en.cppreference.com/w/cpp/types/type_index/operator_cmp.html',0,'std::type_index::operator>=()'],['../db/d9a/classuint128__t.html#ae7af1bad048942eeabc092d8e0194292',1,'uint128_t::operator>=(const uint128_t &other)'],['../db/d9a/classuint128__t.html#a334bc710f411f108a0243b24ac73b481',1,'uint128_t::operator>=(const T other)'],['../d1/d83/classuint256__t.html#adf09395f9113a69a05fed7e25b46c8ad',1,'uint256_t::operator>=(const uint256_t &other)'],['../d1/d83/classuint256__t.html#aff4d49cf84de64301b169ad974f00bad',1,'uint256_t::operator>=(const T &other)'],['http://en.cppreference.com/w/cpp/utility/rel_ops/operator_cmp.html',0,'std::rel_ops::operator>=()']]], - ['operator_3e_3e_43',['operator>>',['http://en.cppreference.com/w/cpp/io/basic_istream/operator_gtgt.html',0,'std::fstream::operator>>()'],['http://en.cppreference.com/w/cpp/io/basic_istream/operator_gtgt.html',0,'std::basic_fstream::operator>>()'],['http://en.cppreference.com/w/cpp/io/basic_istream/operator_gtgt.html',0,'std::iostream::operator>>()'],['http://en.cppreference.com/w/cpp/io/basic_istream/operator_gtgt.html',0,'std::wistream::operator>>()'],['http://en.cppreference.com/w/cpp/io/basic_istream/operator_gtgt.html',0,'std::stringstream::operator>>()'],['http://en.cppreference.com/w/cpp/io/basic_istream/operator_gtgt.html',0,'std::wifstream::operator>>()'],['http://en.cppreference.com/w/cpp/io/basic_istream/operator_gtgt.html',0,'std::basic_istream::operator>>()'],['http://en.cppreference.com/w/cpp/io/basic_istream/operator_gtgt.html',0,'std::strstream::operator>>()'],['http://en.cppreference.com/w/cpp/io/basic_istream/operator_gtgt.html',0,'std::basic_stringstream::operator>>()'],['http://en.cppreference.com/w/cpp/utility/bitset/operator_ltltgtgt.html',0,'std::bitset::operator>>()'],['http://en.cppreference.com/w/cpp/io/basic_istream/operator_gtgt.html',0,'std::istrstream::operator>>()'],['http://en.cppreference.com/w/cpp/io/basic_istream/operator_gtgt.html',0,'std::wiostream::operator>>()'],['http://en.cppreference.com/w/cpp/io/basic_istream/operator_gtgt.html',0,'std::basic_istringstream::operator>>()'],['http://en.cppreference.com/w/cpp/io/basic_istream/operator_gtgt.html',0,'std::basic_ifstream::operator>>()'],['http://en.cppreference.com/w/cpp/io/basic_istream/operator_gtgt.html',0,'std::istringstream::operator>>()'],['http://en.cppreference.com/w/cpp/io/basic_istream/operator_gtgt.html',0,'std::istream::operator>>()'],['http://en.cppreference.com/w/cpp/io/basic_istream/operator_gtgt.html',0,'std::wfstream::operator>>()'],['http://en.cppreference.com/w/cpp/io/basic_istream/operator_gtgt.html',0,'std::basic_iostream::operator>>()'],['http://en.cppreference.com/w/cpp/io/basic_istream/operator_gtgt.html',0,'std::wstringstream::operator>>()'],['http://en.cppreference.com/w/cpp/io/basic_istream/operator_gtgt.html',0,'std::wistringstream::operator>>()'],['http://en.cppreference.com/w/cpp/io/basic_istream/operator_gtgt.html',0,'std::ifstream::operator>>()'],['../db/d9a/classuint128__t.html#a6f24982de03e0e3d04ac7f8ae30f5848',1,'uint128_t::operator>>()'],['../d1/d83/classuint256__t.html#a47a19142e86b7369e18da1fc0a713c51',1,'uint256_t::operator>>()']]], - ['operator_3e_3e_3d_44',['operator>>=',['http://en.cppreference.com/w/cpp/utility/bitset/operator_ltltgtgt.html',0,'std::bitset::operator>>=()'],['../db/d9a/classuint128__t.html#a0ae5fc0c2bcc9138b32d7582466aa7f9',1,'uint128_t::operator>>=()'],['../d1/d83/classuint256__t.html#ad9ce2370b1497efbcc426793048e1f78',1,'uint256_t::operator>>=()']]], - ['operator_5b_5d_45',['operator[]',['http://en.cppreference.com/w/cpp/container/dynarray/operator_at.html',0,'std::dynarray::operator[]()'],['http://en.cppreference.com/w/cpp/container/vector/operator_at.html',0,'std::vector::operator[]()'],['http://en.cppreference.com/w/cpp/regex/match_results/operator_at.html',0,'std::match_results::operator[]()'],['http://en.cppreference.com/w/cpp/string/basic_string/operator_at.html',0,'std::string::operator[]()'],['http://en.cppreference.com/w/cpp/container/unordered_map/operator_at.html',0,'std::unordered_map::operator[]()'],['http://en.cppreference.com/w/cpp/regex/match_results/operator_at.html',0,'std::wsmatch::operator[]()'],['http://en.cppreference.com/w/cpp/regex/match_results/operator_at.html',0,'std::smatch::operator[]()'],['http://en.cppreference.com/w/cpp/regex/match_results/operator_at.html',0,'std::wcmatch::operator[]()'],['http://en.cppreference.com/w/cpp/container/deque/operator_at.html',0,'std::deque::operator[]()'],['http://en.cppreference.com/w/cpp/utility/bitset/operator_at.html',0,'std::bitset::operator[]()'],['http://en.cppreference.com/w/cpp/string/basic_string/operator_at.html',0,'std::basic_string::operator[]()'],['http://en.cppreference.com/w/cpp/string/basic_string/operator_at.html',0,'std::wstring::operator[]()'],['http://en.cppreference.com/w/cpp/string/basic_string/operator_at.html',0,'std::u16string::operator[]()'],['http://en.cppreference.com/w/cpp/string/basic_string/operator_at.html',0,'std::u32string::operator[]()'],['http://en.cppreference.com/w/cpp/container/map/operator_at.html',0,'std::map::operator[]()'],['http://en.cppreference.com/w/cpp/regex/match_results/operator_at.html',0,'std::cmatch::operator[]()'],['http://en.cppreference.com/w/cpp/container/array/operator_at.html',0,'std::array::operator[]()'],['../dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix.html#ac4c64e5723fa12a043fd0a7f5ed5bb37',1,'divide_and_conquer::strassens_multiplication::Matrix::operator[]()'],['../db/d82/classlarge__number.html#a8c381aa1ecc960cefd82ec72f59e0e08',1,'large_number::operator[]()']]], - ['operator_5e_46',['operator^',['../db/d9a/classuint128__t.html#aab88fd72d0370b12e4a257e378b82d37',1,'uint128_t::operator^(const T p)'],['../db/d9a/classuint128__t.html#a9487ed06019d846add5dc8874e41eb8b',1,'uint128_t::operator^(const uint128_t &p)'],['../d1/d83/classuint256__t.html#acb61fe17d064c61adc02defa651f9a5e',1,'uint256_t::operator^(const T &p)'],['../d1/d83/classuint256__t.html#a74d1e1dd8cd2b31e00813ed939943be7',1,'uint256_t::operator^(const uint256_t &p)']]], - ['operator_5e_3d_47',['operator^=',['http://en.cppreference.com/w/cpp/atomic/atomic/operator_arith2.html',0,'std::atomic::operator^=()'],['http://en.cppreference.com/w/cpp/utility/bitset/operator_logic.html',0,'std::bitset::operator^=()'],['../db/d9a/classuint128__t.html#ae3f0ef8a3f68d9cbd9d99e772f1a947a',1,'uint128_t::operator^=(const uint128_t &p)'],['../db/d9a/classuint128__t.html#a44fd2a4a4cc1d13f93ac222db5a46c67',1,'uint128_t::operator^=(const T &p)'],['../d1/d83/classuint256__t.html#ac92ac0b2368990fbbaf3cca3ee8247d7',1,'uint256_t::operator^=(const uint256_t &p)'],['../d1/d83/classuint256__t.html#a3dc4d3ab175f5f2a3172eb8d99a60fc3',1,'uint256_t::operator^=(const T &p)']]], - ['operator_7c_48',['operator|',['../db/d9a/classuint128__t.html#a3facc74d6d078604fe2c80d0abfd3304',1,'uint128_t::operator|(const T p)'],['../db/d9a/classuint128__t.html#a2fda65032d9fdbaf9142a6322654dbdd',1,'uint128_t::operator|(const uint128_t &p)'],['../d1/d83/classuint256__t.html#acefecc3b1a4044f2be5ab46eea0099bf',1,'uint256_t::operator|(const T &p)'],['../d1/d83/classuint256__t.html#a2d7c8a1a5ecaf3e0dcb4bf6b6cff2da2',1,'uint256_t::operator|(const uint256_t &p)']]], - ['operator_7c_3d_49',['operator|=',['http://en.cppreference.com/w/cpp/atomic/atomic/operator_arith2.html',0,'std::atomic::operator|=()'],['http://en.cppreference.com/w/cpp/utility/bitset/operator_logic.html',0,'std::bitset::operator|=()'],['../db/d9a/classuint128__t.html#ab88330f3c4f3bcde75dc5ef9eb8eb39d',1,'uint128_t::operator|=(const uint128_t &p)'],['../db/d9a/classuint128__t.html#a6110aa452a6d114fcd2f42d2bc106fee',1,'uint128_t::operator|=(const T p)'],['../d1/d83/classuint256__t.html#af0a6e09fcf1cbf234ed32df6d7265a0b',1,'uint256_t::operator|=(const T &p)'],['../d1/d83/classuint256__t.html#aa28ae272e9176557133a10dffa3b94dc',1,'uint256_t::operator|=(const uint256_t &p)']]], - ['operator_7c_7c_50',['operator||',['../db/d9a/classuint128__t.html#a312509b1c5b3ae5eaaf342f2ba131d03',1,'uint128_t::operator||(const uint128_t &b)'],['../db/d9a/classuint128__t.html#a817b66c32268cf46244058a50db99503',1,'uint128_t::operator||(const T b)'],['../d1/d83/classuint256__t.html#a41f4bb928c4ee067732503395b65f9d7',1,'uint256_t::operator||(const uint256_t &b)'],['../d1/d83/classuint256__t.html#a4886747ffff15cdeb6bc93712629f9e7',1,'uint256_t::operator||(const T &b)']]], - ['operator_7e_51',['operator~',['http://en.cppreference.com/w/cpp/utility/bitset/operator_logic.html',0,'std::bitset::operator~()'],['../db/d9a/classuint128__t.html#a43eafd4824666b413befe5edbc90ae7f',1,'uint128_t::operator~()'],['../d1/d83/classuint256__t.html#a6eec1f632aebfc44fee8a74c395e10c2',1,'uint256_t::operator~()'],['../da/d5a/class_complex.html#a8d5427f6c42c15283031d73e1418c59d',1,'Complex::operator~()']]], - ['optional_52',['optional',['http://en.cppreference.com/w/cpp/experimental/optional/optional.html',0,'std::experimental::optional']]], - ['orientation_53',['orientation',['../d4/dde/classgeometry_1_1jarvis_1_1_convexhull.html#a54df5f9a8f37170bd97c91127664655c',1,'geometry::jarvis::Convexhull']]], - ['ostream_54',['ostream',['http://en.cppreference.com/w/cpp/io/basic_ostream/basic_ostream.html',0,'std::ostream']]], - ['ostringstream_55',['ostringstream',['http://en.cppreference.com/w/cpp/io/basic_ostringstream/basic_ostringstream.html',0,'std::ostringstream']]], - ['ostrstream_56',['ostrstream',['http://en.cppreference.com/w/cpp/io/ostrstream/ostrstream.html',0,'std::ostrstream']]], - ['otherhashfxn_57',['otherHashFxn',['../d0/d65/namespacedouble__hashing.html#a33968a1178289ab61445dd4000df7082',1,'double_hashing']]], - ['out_58',['out',['http://en.cppreference.com/w/cpp/locale/codecvt/out.html',0,'std::codecvt::out()'],['http://en.cppreference.com/w/cpp/locale/codecvt/out.html',0,'std::codecvt_byname::out()'],['http://en.cppreference.com/w/cpp/locale/codecvt/out.html',0,'std::codecvt_utf8::out()'],['http://en.cppreference.com/w/cpp/locale/codecvt/out.html',0,'std::codecvt_utf8_utf16::out()'],['http://en.cppreference.com/w/cpp/locale/codecvt/out.html',0,'std::codecvt_utf16::out()']]], - ['out_5fof_5frange_59',['out_of_range',['http://en.cppreference.com/w/cpp/error/out_of_range.html',0,'std::out_of_range']]], - ['outer_5fallocator_60',['outer_allocator',['http://en.cppreference.com/w/cpp/memory/scoped_allocator_adaptor/outer_allocator.html',0,'std::scoped_allocator_adaptor']]], - ['overflow_61',['overflow',['http://en.cppreference.com/w/cpp/io/basic_streambuf/overflow.html',0,'std::basic_filebuf::overflow()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/overflow.html',0,'std::wstringbuf::overflow()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/overflow.html',0,'std::stringbuf::overflow()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/overflow.html',0,'std::wfilebuf::overflow()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/overflow.html',0,'std::wstreambuf::overflow()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/overflow.html',0,'std::strstreambuf::overflow()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/overflow.html',0,'std::basic_stringbuf::overflow()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/overflow.html',0,'std::basic_streambuf::overflow()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/overflow.html',0,'std::filebuf::overflow()'],['http://en.cppreference.com/w/cpp/io/basic_streambuf/overflow.html',0,'std::streambuf::overflow()']]], - ['overflow_5ferror_62',['overflow_error',['http://en.cppreference.com/w/cpp/error/overflow_error.html',0,'std::overflow_error']]], - ['owner_5fbefore_63',['owner_before',['http://en.cppreference.com/w/cpp/memory/weak_ptr/owner_before.html',0,'std::weak_ptr::owner_before()'],['http://en.cppreference.com/w/cpp/memory/shared_ptr/owner_before.html',0,'std::shared_ptr::owner_before()']]], - ['owns_5flock_64',['owns_lock',['http://en.cppreference.com/w/cpp/thread/unique_lock/owns_lock.html',0,'std::unique_lock::owns_lock()'],['http://en.cppreference.com/w/cpp/thread/shared_lock/owns_lock.html',0,'std::shared_lock::owns_lock()']]] + ['offset_0',['offset',['../de/d0d/classrange__queries_1_1fenwick__tree.html#ab492ebf07cab0e3c32d277ad986de801',1,'range_queries::fenwick_tree']]], + ['ols_5ftest_1',['ols_test',['../dc/d38/ordinary__least__squares__regressor_8cpp.html#a4261f3c3c3dfdb86f3004eb8aaffea8d',1,'ordinary_least_squares_regressor.cpp']]], + ['on_5fsegment_2',['on_segment',['../d4/db4/struct_segment_intersection.html#a008941b2272866c64cdaf959afa939bf',1,'SegmentIntersection']]], + ['opening_3',['opening',['../dc/dc5/paranthesis__matching_8cpp.html#ade525d33459755a32ba21e1b6910ff21',1,'paranthesis_matching.cpp']]], + ['operator_20bool_4',['operator bool',['../db/d9a/classuint128__t.html#a6d45302022ef7f5195458f41b8aedb6e',1,'uint128_t::operator bool()'],['../d1/d83/classuint256__t.html#a28aa5786bbfce1b00398a8d38691bdaa',1,'uint256_t::operator bool()']]], + ['operator_20t_5',['operator T',['../db/d9a/classuint128__t.html#a75767cb2b6fd47ecb1f721755fdc7639',1,'uint128_t::operator T()'],['../d1/d83/classuint256__t.html#a9e1b39a46ea16bc6587e25e294c6c363',1,'uint256_t::operator T() const']]], + ['operator_20uint128_5ft_6',['operator uint128_t',['../d1/d83/classuint256__t.html#ad5bd38b2d3becca998457af1124d6e8b',1,'uint256_t']]], + ['operator_21_7',['operator!',['../db/d9a/classuint128__t.html#ad24d6fe1fe63f415fee806b377dfa47d',1,'uint128_t::operator!()'],['../d1/d83/classuint256__t.html#a028c585069fa53b74c153667ff66352c',1,'uint256_t::operator!()']]], + ['operator_21_3d_8',['operator!=',['../db/d9a/classuint128__t.html#ab3359b104bbb5a31c11c2027387c4b4e',1,'uint128_t::operator!=(const uint128_t &other)'],['../db/d9a/classuint128__t.html#a7737bb30a5480c7286546b911d82e696',1,'uint128_t::operator!=(const T other)'],['../d1/d83/classuint256__t.html#aae68a7bd17c14a926fb77758b5c8e547',1,'uint256_t::operator!=(const uint256_t &other)'],['../d1/d83/classuint256__t.html#a89cf7fa466458ee08edd9a809d072bcb',1,'uint256_t::operator!=(const T &other)']]], + ['operator_25_9',['operator%',['../db/d9a/classuint128__t.html#abfc6a8765039cacc829a5cd386b5a066',1,'uint128_t::operator%(const uint128_t &p)'],['../db/d9a/classuint128__t.html#add9938b97fc66560cec2d32e8c83eaad',1,'uint128_t::operator%(const T &p)'],['../d1/d83/classuint256__t.html#ad4928175eaaaa2b559bc945affe63ad2',1,'uint256_t::operator%(const uint256_t &p)'],['../d1/d83/classuint256__t.html#a7bd9693b88c4df08b1f8d1fd81c597cc',1,'uint256_t::operator%(const T &p)']]], + ['operator_25_3d_10',['operator%=',['../db/d9a/classuint128__t.html#a279209a184db20a7ffc8e687fdb05be2',1,'uint128_t::operator%=(const uint128_t &p)'],['../db/d9a/classuint128__t.html#a0500a90bcde5a8254750c361eed9bc40',1,'uint128_t::operator%=(const T &p)'],['../d1/d83/classuint256__t.html#a2cd43a4a92dc825a010a17578b3bdedb',1,'uint256_t::operator%=(const uint256_t &p)'],['../d1/d83/classuint256__t.html#a76914bc727eab927a3941ef71275327d',1,'uint256_t::operator%=(const T &p)']]], + ['operator_26_11',['operator&',['../db/d9a/classuint128__t.html#ad1717d3a38391258befa413b7e2b9244',1,'uint128_t::operator&(const uint128_t &p)'],['../db/d9a/classuint128__t.html#a9fa81ef0d54ecb9050d0be4249358ca4',1,'uint128_t::operator&(const T p)'],['../d1/d83/classuint256__t.html#a6eadaa829087e07eebafca3981566bb8',1,'uint256_t::operator&(const T &p)'],['../d1/d83/classuint256__t.html#a9bc6cc460108306a59281ce4ca216839',1,'uint256_t::operator&(const uint256_t &p)']]], + ['operator_26_26_12',['operator&&',['../db/d9a/classuint128__t.html#ab07413c67d205e406abf3a9f554d59e1',1,'uint128_t::operator&&(const uint128_t &b)'],['../db/d9a/classuint128__t.html#a0ad881643c707f6ae3c5de3822a8cb8a',1,'uint128_t::operator&&(const T b)'],['../d1/d83/classuint256__t.html#aa0e532832640e9fe273b35c481b18963',1,'uint256_t::operator&&(const uint256_t &b)'],['../d1/d83/classuint256__t.html#a303287d7bc8686dcb47fcb04720ad409',1,'uint256_t::operator&&(const T &b)']]], + ['operator_26_3d_13',['operator&=',['../db/d9a/classuint128__t.html#ac7d55ed3bac01075b9cd11cc59508050',1,'uint128_t::operator&=(const uint128_t &p)'],['../db/d9a/classuint128__t.html#a225146042c6456a3c5595645870ca640',1,'uint128_t::operator&=(const T p)'],['../d1/d83/classuint256__t.html#a357cdfee6a79e0484cd1e07511eb9f2d',1,'uint256_t::operator&=(const uint256_t &p)'],['../d1/d83/classuint256__t.html#afa79020c27caea31236d04ecaa0e5ef5',1,'uint256_t::operator&=(const T p)']]], + ['operator_28_29_14',['operator()',['../db/d9a/classuint128__t.html#af4ce01d81a0369218f7d46567d136733',1,'uint128_t::operator()()'],['../d1/d83/classuint256__t.html#a7ac99dea14428200f0101452293e2b3b',1,'uint256_t::operator()()'],['../de/d4a/class_compare.html#afbdf9a44adb49728dc704155d7d1570c',1,'Compare::operator()()']]], + ['operator_2a_15',['operator*',['../db/d9a/classuint128__t.html#a488e65a14d4c32a096011aa4725cdb30',1,'uint128_t::operator*(const T p)'],['../db/d9a/classuint128__t.html#a44e472cf685cac6edc5172eac2e66860',1,'uint128_t::operator*(const uint128_t &p)'],['../d1/d83/classuint256__t.html#aaca9288fd28fc07e1386f1586bd51616',1,'uint256_t::operator*(const T &p)'],['../d1/d83/classuint256__t.html#aa9e585b186e71d7cbe9c1d7387c38967',1,'uint256_t::operator*(const uint256_t &p)'],['../dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix.html#a60599668b56001cef4bb59d4cb5c6c6c',1,'divide_and_conquer::strassens_multiplication::Matrix::operator*(const Matrix< Number > &other) const'],['../dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix.html#aedbe01e48a96fefa0b393ec577b0f19e',1,'divide_and_conquer::strassens_multiplication::Matrix::operator*(const Number other) const'],['../da/d5a/class_complex.html#aa9b4a7d6083ca7040ddd4fe93db5c19d',1,'Complex::operator*()'],['../dc/d38/ordinary__least__squares__regressor_8cpp.html#ae2edd40354a1ca7aeaee3d1e3589e713',1,'operator*(std::vector< std::vector< T > > const &A, std::vector< std::vector< T > > const &B): ordinary_least_squares_regressor.cpp'],['../dc/d38/ordinary__least__squares__regressor_8cpp.html#a865e8d26a01962cc93aca66e71346f37',1,'operator*(std::vector< std::vector< T > > const &A, std::vector< T > const &B): ordinary_least_squares_regressor.cpp'],['../dc/d38/ordinary__least__squares__regressor_8cpp.html#a207b3a99fd5974d3117e0b0ac0aad234',1,'operator*(float const scalar, std::vector< T > const &A): ordinary_least_squares_regressor.cpp'],['../dc/d38/ordinary__least__squares__regressor_8cpp.html#a42535e20e97d85aa61271e0894cc0359',1,'operator*(std::vector< T > const &A, float const scalar): ordinary_least_squares_regressor.cpp'],['../d8/d77/namespacemachine__learning.html#a16f34574b7e0dd51bc3b3fda37446695',1,'machine_learning::operator*()']]], + ['operator_2a_3d_16',['operator*=',['../db/d9a/classuint128__t.html#a3016b71f92a0c7e090a7c5b6a3935092',1,'uint128_t::operator*=(const T p)'],['../db/d9a/classuint128__t.html#a96fc7c2df4325bb1a0c22b566bcc6295',1,'uint128_t::operator*=(const uint128_t &p)'],['../d1/d83/classuint256__t.html#af2193ff0d0e93143fb71f4847df16028',1,'uint256_t::operator*=(const T &p)'],['../d1/d83/classuint256__t.html#a4645040fe68ff01d83400f173fd2bb21',1,'uint256_t::operator*=(const uint256_t &p)'],['../dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix.html#af09566a6a59d30875434c140e18e0a12',1,'divide_and_conquer::strassens_multiplication::Matrix::operator*=()'],['../db/d82/classlarge__number.html#a771e9b28cfddf1ad94668566e396e350',1,'large_number::operator*=()']]], + ['operator_2b_17',['operator+',['../db/d9a/classuint128__t.html#a5133f854a93efe47fd1f0f6a9589856d',1,'uint128_t::operator+(const T p)'],['../db/d9a/classuint128__t.html#a0fd125cc2b7702370a4aefa740d57606',1,'uint128_t::operator+(const uint128_t &p)'],['../d1/d83/classuint256__t.html#a20dc3a017b1a740c4bafd3f146a90b0f',1,'uint256_t::operator+(const T &p)'],['../d1/d83/classuint256__t.html#af18e2e3d7ed635c4056062bc906fef75',1,'uint256_t::operator+(const uint256_t &p)'],['../dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix.html#ad36ec1f1a97298e49de605384e5f8211',1,'divide_and_conquer::strassens_multiplication::Matrix::operator+()'],['../da/d5a/class_complex.html#a820afcbb330df716577459d7a3aa3a1c',1,'Complex::operator+()'],['../dc/d38/ordinary__least__squares__regressor_8cpp.html#a01e6c7bf2b09272578b9c5819ce0f36f',1,'operator+(): ordinary_least_squares_regressor.cpp'],['../d8/d77/namespacemachine__learning.html#a2466857dab977a49f117029835b3b6d2',1,'machine_learning::operator+()']]], + ['operator_2b_2b_18',['operator++',['../db/d9a/classuint128__t.html#ac8d293d20cdf65c48d8d1e0ba7034c8e',1,'uint128_t::operator++()'],['../db/d9a/classuint128__t.html#af71990a1fba93a5528ddb1e6662bffd6',1,'uint128_t::operator++(int)'],['../d1/d83/classuint256__t.html#af0ad4080bb5ddc16b54a7e87911005c9',1,'uint256_t::operator++()'],['../d1/d83/classuint256__t.html#a7bbe36e2ebd52df5efab118897b3050c',1,'uint256_t::operator++(int)'],['../db/d82/classlarge__number.html#a4757697b1f7584b69e779a72abc4ae2a',1,'large_number::operator++()'],['../db/d82/classlarge__number.html#a8d4364ee5a62964451d8cfee82649687',1,'large_number::operator++(int)']]], + ['operator_2b_3d_19',['operator+=',['../db/d9a/classuint128__t.html#a55a3f122c4d982c60c2eb9fc09b9e004',1,'uint128_t::operator+=(const T p)'],['../db/d9a/classuint128__t.html#a9704e6a4d32750461bff663e40e537cb',1,'uint128_t::operator+=(const uint128_t &p)'],['../d1/d83/classuint256__t.html#a5363ec0f36de1a8a9c985907db4e95d1',1,'uint256_t::operator+=(const T &p)'],['../d1/d83/classuint256__t.html#ac75a46fe3625caf10e07db1eb75a1d6e',1,'uint256_t::operator+=(const uint256_t &p)'],['../dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix.html#ae190115f8d4d31e47d7290e0b6871391',1,'divide_and_conquer::strassens_multiplication::Matrix::operator+=()'],['../db/d82/classlarge__number.html#aab5644405094740e34983cedfecb36cf',1,'large_number::operator+=()']]], + ['operator_2d_20',['operator-',['../db/d9a/classuint128__t.html#a6824700c9c732a4200e7493fe7ed0eec',1,'uint128_t::operator-(const T &p)'],['../db/d9a/classuint128__t.html#a81a568510e6d0b0950133dd9fc37fc0c',1,'uint128_t::operator-(const uint128_t &p)'],['../db/d9a/classuint128__t.html#a07945fe010079a35e18812636d5c70c3',1,'uint128_t::operator-()'],['../d1/d83/classuint256__t.html#a88978d00fa6a624c50c2737dc2c294b4',1,'uint256_t::operator-(const T &p)'],['../d1/d83/classuint256__t.html#ab909ef62a0c85121e7d743c016fb723d',1,'uint256_t::operator-(const uint256_t &p)'],['../d1/d83/classuint256__t.html#a406c951a07d8173685dbe384c6ab6a06',1,'uint256_t::operator-()'],['../dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix.html#a678681c9f6266a8219bd6bee6972d70e',1,'divide_and_conquer::strassens_multiplication::Matrix::operator-()'],['../da/d5a/class_complex.html#a36739619a07b5478bcd8a28ad2f8b7da',1,'Complex::operator-()'],['../dc/d38/ordinary__least__squares__regressor_8cpp.html#a4a6a560dbdd0177633783b72db37dc19',1,'operator-(): ordinary_least_squares_regressor.cpp'],['../d8/d77/namespacemachine__learning.html#a0cc29566568e0383dd7d374068cbe6b3',1,'machine_learning::operator-()']]], + ['operator_2d_2d_21',['operator--',['../db/d9a/classuint128__t.html#a1d390c6ea5450680dcaff341235f0fed',1,'uint128_t::operator--()'],['../db/d9a/classuint128__t.html#a2ecb71686e1c9ed0267124580c91c414',1,'uint128_t::operator--(int p)'],['../d1/d83/classuint256__t.html#a9f6f3e39783c893473315bada864a183',1,'uint256_t::operator--()'],['../d1/d83/classuint256__t.html#a28d26847f9b19a4f86c187791cb0db13',1,'uint256_t::operator--(int p)']]], + ['operator_2d_3d_22',['operator-=',['../db/d9a/classuint128__t.html#a0a4623fae71566dfcf2e742c8c156798',1,'uint128_t::operator-=(const T &p)'],['../db/d9a/classuint128__t.html#abea727c69c2acd74ffe21464199d27c8',1,'uint128_t::operator-=(const uint128_t &p)'],['../d1/d83/classuint256__t.html#acd3970c633eb2c597874e2712392f0c7',1,'uint256_t::operator-=(const T p)'],['../d1/d83/classuint256__t.html#a5e84ed2a2f99cee81ede4a0107702a45',1,'uint256_t::operator-=(const uint256_t &p)'],['../dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix.html#a42c986fb57b74fe1b7c5953cb1922c3d',1,'divide_and_conquer::strassens_multiplication::Matrix::operator-=()']]], + ['operator_2f_23',['operator/',['../db/d9a/classuint128__t.html#a3072a7e43da3600c345c81bc80c957ee',1,'uint128_t::operator/(const uint128_t &p)'],['../db/d9a/classuint128__t.html#aed49b24b99293ae6b14ac9850f5deb94',1,'uint128_t::operator/(const T p)'],['../d1/d83/classuint256__t.html#acac9901ab133caa57d058a377d873bf6',1,'uint256_t::operator/(const T &p)'],['../d1/d83/classuint256__t.html#a4fdeb4d4bf8cca4ee99b8487e59831df',1,'uint256_t::operator/(const uint256_t &p)'],['../da/d5a/class_complex.html#ac38437c10eb798f176c384a695171b90',1,'Complex::operator/()'],['../dc/d38/ordinary__least__squares__regressor_8cpp.html#a7a2d742b9a3ae7b85292e1f86428bb4f',1,'operator/(): ordinary_least_squares_regressor.cpp'],['../d8/d77/namespacemachine__learning.html#ae6ec42318d172b97fbdf45638d09d7b5',1,'machine_learning::operator/()']]], + ['operator_2f_3d_24',['operator/=',['../db/d9a/classuint128__t.html#a300ed88fe2054788cc6e0b6a8fdf66db',1,'uint128_t::operator/=(const uint128_t &p)'],['../db/d9a/classuint128__t.html#aaacb9fda7adcfee224f1b09124c0438b',1,'uint128_t::operator/=(const T p)'],['../d1/d83/classuint256__t.html#ac1b36e64de42f3622e7d6ec5efa273d4',1,'uint256_t::operator/=(const uint256_t &p)'],['../d1/d83/classuint256__t.html#abc793979ec70bb8e5cf177d83649a259',1,'uint256_t::operator/=(const T &p)']]], + ['operator_3c_25',['operator<',['../db/d9a/classuint128__t.html#ac9a4365fb9ea5e2d2c751258f09168a4',1,'uint128_t::operator<(const uint128_t &other)'],['../db/d9a/classuint128__t.html#a56f579c802a6cc16f31e43af274453dc',1,'uint128_t::operator<(const T other)'],['../d1/d83/classuint256__t.html#afe9f4828d73dd51a080585dd0b99af96',1,'uint256_t::operator<(const uint256_t &other)'],['../d1/d83/classuint256__t.html#ac6bdcf64653af8173987bf7217e99056',1,'uint256_t::operator<(const T &other)'],['../dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle.html#a64815f10cf9fb9fdb4cc92731ccf10ba',1,'machine_learning::aystar_search::EightPuzzle::operator<()']]], + ['operator_3c_3c_26',['operator<<',['../db/d9a/classuint128__t.html#a16e7e1211ba6c27e9a229d97fb0d9190',1,'uint128_t::operator<<()'],['../d1/d83/classuint256__t.html#a4831263abc4430c363fdabce6e6e96d5',1,'uint256_t::operator<<()'],['../d7/db9/hill__cipher_8cpp.html#a34bfcd756610834acac501f9eea1e2eb',1,'operator<<(std::ostream &out, matrix< T > const &v): hill_cipher.cpp'],['../dc/d38/ordinary__least__squares__regressor_8cpp.html#a7075a0fccad9b2d79be0275bfe8948d4',1,'operator<<(std::ostream &out, std::vector< std::vector< T > > const &v): ordinary_least_squares_regressor.cpp'],['../dc/d38/ordinary__least__squares__regressor_8cpp.html#ab1ad727903d7817c2758d25bcb52cbc8',1,'operator<<(std::ostream &out, std::vector< T > const &v): ordinary_least_squares_regressor.cpp'],['../d8/d77/namespacemachine__learning.html#a84260cb1be9b63d6e38107000ac4b7e7',1,'machine_learning::operator<<(std::ostream &out, std::vector< std::valarray< T > > const &A)'],['../d8/d77/namespacemachine__learning.html#af4986b23760039711848155739c31b35',1,'machine_learning::operator<<(std::ostream &out, const std::pair< T, T > &A)'],['../d8/d77/namespacemachine__learning.html#a54bf1f3c43271a5fc93101f6ae2e6269',1,'machine_learning::operator<<(std::ostream &out, const std::valarray< T > &A)'],['../d5/d67/complex__numbers_8cpp.html#a44d5f25b573e870accdf26fd32b8484d',1,'operator<<(std::ostream &os, const Complex &num): complex_numbers.cpp'],['../dd/d65/lu__decompose_8cpp.html#a575c989afcc78e875031cd4273e62a3e',1,'operator<<(std::ostream &out, matrix< T > const &v): lu_decompose.cpp'],['../d2/d3b/namespaceqr__algorithm.html#adfbdf47277c8cfee229b05b72f1f7834',1,'qr_algorithm::operator<<(std::ostream &out, std::valarray< std::valarray< T > > const &v)'],['../d2/d3b/namespaceqr__algorithm.html#a257425cb2365359da51c6fe6741834d8',1,'qr_algorithm::operator<<(std::ostream &out, std::valarray< T > const &v)']]], + ['operator_3c_3c_3d_27',['operator<<=',['../db/d9a/classuint128__t.html#aa5b93187b1d199071f204b9987d5d16a',1,'uint128_t::operator<<=()'],['../d1/d83/classuint256__t.html#a0d96ce2d022dc30c2f303ab0698f52f5',1,'uint256_t::operator<<=()']]], + ['operator_3c_3d_28',['operator<=',['../db/d9a/classuint128__t.html#a16eb351c1d0ed3b89c771c63808e035a',1,'uint128_t::operator<=(const uint128_t &other)'],['../db/d9a/classuint128__t.html#a4562c218813c8705bccb25d8786ca77c',1,'uint128_t::operator<=(const T other)'],['../d1/d83/classuint256__t.html#a19c88f8f2736750822b82ef9a7096d88',1,'uint256_t::operator<=(const uint256_t &other)'],['../d1/d83/classuint256__t.html#a2029e9777f999bffef6004429b4f19f2',1,'uint256_t::operator<=(const T &other)'],['../dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle.html#af778034b2942ecac6df1e9ec8b5412ee',1,'machine_learning::aystar_search::EightPuzzle::operator<=()']]], + ['operator_3d_29',['operator=',['../db/d9a/classuint128__t.html#ac924cc09bbb919532dc42f1f93f6f544',1,'uint128_t::operator=(const T &p)'],['../db/d9a/classuint128__t.html#abae08ef3c1d6dc512edd68ca68327f74',1,'uint128_t::operator=(const std::string &p)'],['../db/d9a/classuint128__t.html#ab6aa4d14ed52c7c640468c45350da0c5',1,'uint128_t::operator=(const uint128_t &p)=default'],['../db/d9a/classuint128__t.html#a3c4a7e775a0820196fc08303bbeed44a',1,'uint128_t::operator=(uint128_t &&p)=default'],['../d1/d83/classuint256__t.html#a4c6db67d21c4927a45a4e1e7c2357bfc',1,'uint256_t::operator=(const uint256_t &p)=default'],['../d1/d83/classuint256__t.html#addff5645f6005e7b50a6ad0731e4f19c',1,'uint256_t::operator=(const T &p)'],['../d1/d83/classuint256__t.html#a86aab081bb7db2771e4a4f30c3eed8e2',1,'uint256_t::operator=(const std::string &p)'],['../d1/d83/classuint256__t.html#a6c5e025f901f6af4b748f98013350638',1,'uint256_t::operator=(uint256_t &&p)=default'],['../d1/def/classdata__structures_1_1linked__list_1_1list.html#adb04f732911fcfd30f7177b367c6af41',1,'data_structures::linked_list::list::operator=()'],['../dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle.html#a467e722dc1fcc82bfb4cef55744e04e2',1,'machine_learning::aystar_search::EightPuzzle::operator=(const EightPuzzle &A)'],['../dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle.html#a1802cf6197a255055cb734d626abc101',1,'machine_learning::aystar_search::EightPuzzle::operator=(EightPuzzle &&A) noexcept'],['../da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html#ac77d992953fa0de10a755e5a9aa06317',1,'machine_learning::aystar_search::AyStarSearch::Info::operator=(const Info &A)'],['../da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html#ad3993dbca9c5b3ef9ac361dc7f62ce57',1,'machine_learning::aystar_search::AyStarSearch::Info::operator=(Info &&A) noexcept'],['../da/d94/classmachine__learning_1_1k__nearest__neighbors_1_1_knn.html#a080f5b1742832a03c1cbba596a48bd1a',1,'machine_learning::k_nearest_neighbors::Knn::operator=(const Knn &model)=default'],['../da/d94/classmachine__learning_1_1k__nearest__neighbors_1_1_knn.html#ac06986d5afddc767ddba4da738f75563',1,'machine_learning::k_nearest_neighbors::Knn::operator=(Knn &&)=default'],['../dc/d93/classmachine__learning_1_1neural__network_1_1layers_1_1_dense_layer.html#ae077132526d2863e46aa77cb0f7d6aa2',1,'machine_learning::neural_network::layers::DenseLayer::operator=(const DenseLayer &layer)=default'],['../dc/d93/classmachine__learning_1_1neural__network_1_1layers_1_1_dense_layer.html#a19aaccad279b22dbbb6c55e5697b4114',1,'machine_learning::neural_network::layers::DenseLayer::operator=(DenseLayer &&)=default'],['../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#a58a9614e4c6d4ca672d3358e99a3404f',1,'machine_learning::neural_network::NeuralNetwork::operator=(const NeuralNetwork &model)=default'],['../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#a2c49bfebf9b859d5ceb26035d3003601',1,'machine_learning::neural_network::NeuralNetwork::operator=(NeuralNetwork &&)=default'],['../da/d5a/class_complex.html#a4ac9f529d54cacf2969f2c7179b4c4ac',1,'Complex::operator=()'],['../db/d82/classlarge__number.html#ab84f29685709cbb3b6fd29b7b4a7bc7b',1,'large_number::operator=()'],['../d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list.html#a9cc37166f2f73763df39894b675f89c9',1,'operations_on_datastructures::circular_linked_list::CircularLinkedList::operator=(const CircularLinkedList &other)'],['../d8/d7c/classoperations__on__datastructures_1_1circular__linked__list_1_1_circular_linked_list.html#a8f26dc32615abc5bab8ac458ef424bc5',1,'operations_on_datastructures::circular_linked_list::CircularLinkedList::operator=(CircularLinkedList &&other) noexcept']]], + ['operator_3d_3d_30',['operator==',['../d6/d45/structciphers_1_1elliptic__curve__key__exchange_1_1_point.html#a5084e9ca27837662c31d4dc003815446',1,'ciphers::elliptic_curve_key_exchange::Point::operator==()'],['../db/d9a/classuint128__t.html#a7b1de5584505c189664d0edd306e979e',1,'uint128_t::operator==(const uint128_t &other)'],['../db/d9a/classuint128__t.html#a7a95e3accdac1cb38c9767f9550c0896',1,'uint128_t::operator==(const T other)'],['../d1/d83/classuint256__t.html#a90ce75bec5b525de55bbf92c564a2261',1,'uint256_t::operator==(const uint256_t &other)'],['../d1/d83/classuint256__t.html#a9879f7ec85fc148e1931fcb492ddc484',1,'uint256_t::operator==(const T &other)'],['../dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix.html#a562faa16a4b4ed5d4804823c56f99c9c',1,'divide_and_conquer::strassens_multiplication::Matrix::operator==()'],['../dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle.html#aa17e0227321b109ed91e156ac1332915',1,'machine_learning::aystar_search::EightPuzzle::operator==()'],['../d5/d67/complex__numbers_8cpp.html#a5a73e9d4e68af8cedb95bd0864054b89',1,'operator==(): complex_numbers.cpp']]], + ['operator_3e_31',['operator>',['../db/d9a/classuint128__t.html#a291d2787d668e8d06a7cfab0f5144440',1,'uint128_t::operator>(const uint128_t &other)'],['../db/d9a/classuint128__t.html#a82c63f8c18b8d2d255b8b0d373ac7d6e',1,'uint128_t::operator>(const T other)'],['../d1/d83/classuint256__t.html#acadd235e0029ec43d5990d24affaf42d',1,'uint256_t::operator>(const uint256_t &other)'],['../d1/d83/classuint256__t.html#ad74d33215517459c2b33ace7a9c6bc13',1,'uint256_t::operator>(const T &other)']]], + ['operator_3e_3d_32',['operator>=',['../db/d9a/classuint128__t.html#ae7af1bad048942eeabc092d8e0194292',1,'uint128_t::operator>=(const uint128_t &other)'],['../db/d9a/classuint128__t.html#a334bc710f411f108a0243b24ac73b481',1,'uint128_t::operator>=(const T other)'],['../d1/d83/classuint256__t.html#adf09395f9113a69a05fed7e25b46c8ad',1,'uint256_t::operator>=(const uint256_t &other)'],['../d1/d83/classuint256__t.html#aff4d49cf84de64301b169ad974f00bad',1,'uint256_t::operator>=(const T &other)']]], + ['operator_3e_3e_33',['operator>>',['../db/d9a/classuint128__t.html#a6f24982de03e0e3d04ac7f8ae30f5848',1,'uint128_t::operator>>()'],['../d1/d83/classuint256__t.html#a47a19142e86b7369e18da1fc0a713c51',1,'uint256_t::operator>>()']]], + ['operator_3e_3e_3d_34',['operator>>=',['../db/d9a/classuint128__t.html#a0ae5fc0c2bcc9138b32d7582466aa7f9',1,'uint128_t::operator>>=()'],['../d1/d83/classuint256__t.html#ad9ce2370b1497efbcc426793048e1f78',1,'uint256_t::operator>>=()']]], + ['operator_5b_5d_35',['operator[]',['../dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix.html#ac4c64e5723fa12a043fd0a7f5ed5bb37',1,'divide_and_conquer::strassens_multiplication::Matrix::operator[]()'],['../db/d82/classlarge__number.html#a8c381aa1ecc960cefd82ec72f59e0e08',1,'large_number::operator[]()']]], + ['operator_5e_36',['operator^',['../db/d9a/classuint128__t.html#aab88fd72d0370b12e4a257e378b82d37',1,'uint128_t::operator^(const T p)'],['../db/d9a/classuint128__t.html#a9487ed06019d846add5dc8874e41eb8b',1,'uint128_t::operator^(const uint128_t &p)'],['../d1/d83/classuint256__t.html#acb61fe17d064c61adc02defa651f9a5e',1,'uint256_t::operator^(const T &p)'],['../d1/d83/classuint256__t.html#a74d1e1dd8cd2b31e00813ed939943be7',1,'uint256_t::operator^(const uint256_t &p)']]], + ['operator_5e_3d_37',['operator^=',['../db/d9a/classuint128__t.html#ae3f0ef8a3f68d9cbd9d99e772f1a947a',1,'uint128_t::operator^=(const uint128_t &p)'],['../db/d9a/classuint128__t.html#a44fd2a4a4cc1d13f93ac222db5a46c67',1,'uint128_t::operator^=(const T &p)'],['../d1/d83/classuint256__t.html#ac92ac0b2368990fbbaf3cca3ee8247d7',1,'uint256_t::operator^=(const uint256_t &p)'],['../d1/d83/classuint256__t.html#a3dc4d3ab175f5f2a3172eb8d99a60fc3',1,'uint256_t::operator^=(const T &p)']]], + ['operator_7c_38',['operator|',['../db/d9a/classuint128__t.html#a3facc74d6d078604fe2c80d0abfd3304',1,'uint128_t::operator|(const T p)'],['../db/d9a/classuint128__t.html#a2fda65032d9fdbaf9142a6322654dbdd',1,'uint128_t::operator|(const uint128_t &p)'],['../d1/d83/classuint256__t.html#acefecc3b1a4044f2be5ab46eea0099bf',1,'uint256_t::operator|(const T &p)'],['../d1/d83/classuint256__t.html#a2d7c8a1a5ecaf3e0dcb4bf6b6cff2da2',1,'uint256_t::operator|(const uint256_t &p)']]], + ['operator_7c_3d_39',['operator|=',['../db/d9a/classuint128__t.html#ab88330f3c4f3bcde75dc5ef9eb8eb39d',1,'uint128_t::operator|=(const uint128_t &p)'],['../db/d9a/classuint128__t.html#a6110aa452a6d114fcd2f42d2bc106fee',1,'uint128_t::operator|=(const T p)'],['../d1/d83/classuint256__t.html#af0a6e09fcf1cbf234ed32df6d7265a0b',1,'uint256_t::operator|=(const T &p)'],['../d1/d83/classuint256__t.html#aa28ae272e9176557133a10dffa3b94dc',1,'uint256_t::operator|=(const uint256_t &p)']]], + ['operator_7c_7c_40',['operator||',['../db/d9a/classuint128__t.html#a312509b1c5b3ae5eaaf342f2ba131d03',1,'uint128_t::operator||(const uint128_t &b)'],['../db/d9a/classuint128__t.html#a817b66c32268cf46244058a50db99503',1,'uint128_t::operator||(const T b)'],['../d1/d83/classuint256__t.html#a41f4bb928c4ee067732503395b65f9d7',1,'uint256_t::operator||(const uint256_t &b)'],['../d1/d83/classuint256__t.html#a4886747ffff15cdeb6bc93712629f9e7',1,'uint256_t::operator||(const T &b)']]], + ['operator_7e_41',['operator~',['../db/d9a/classuint128__t.html#a43eafd4824666b413befe5edbc90ae7f',1,'uint128_t::operator~()'],['../d1/d83/classuint256__t.html#a6eec1f632aebfc44fee8a74c395e10c2',1,'uint256_t::operator~()'],['../da/d5a/class_complex.html#a8d5427f6c42c15283031d73e1418c59d',1,'Complex::operator~()']]], + ['orientation_42',['orientation',['../d4/dde/classgeometry_1_1jarvis_1_1_convexhull.html#a54df5f9a8f37170bd97c91127664655c',1,'geometry::jarvis::Convexhull']]], + ['otherhashfxn_43',['otherHashFxn',['../d0/d65/namespacedouble__hashing.html#a33968a1178289ab61445dd4000df7082',1,'double_hashing']]] ]; diff --git a/search/namespaces_12.js b/search/namespaces_12.js index 145688c48..bb5e1825e 100644 --- a/search/namespaces_12.js +++ b/search/namespaces_12.js @@ -13,21 +13,15 @@ var searchData= ['spirograph_10',['spirograph',['../da/dd3/namespacespirograph.html',1,'']]], ['stack_5fusing_5fqueue_11',['stack_using_queue',['../df/d1c/namespacestack__using__queue.html',1,'']]], ['statistics_12',['statistics',['../d2/dcf/namespacestatistics.html',1,'']]], - ['std_13',['std',['../d8/dcc/namespacestd.html',1,'']]], - ['std_3a_3achrono_14',['chrono',['http://en.cppreference.com/w/d4/d0c/namespacestd_1_1chrono.html',0,'std']]], - ['std_3a_3aexperimental_15',['experimental',['http://en.cppreference.com/w/de/d97/namespacestd_1_1experimental.html',0,'std']]], - ['std_3a_3aregex_5fconstants_16',['regex_constants',['http://en.cppreference.com/w/db/da4/namespacestd_1_1regex__constants.html',0,'std']]], - ['std_3a_3arel_5fops_17',['rel_ops',['http://en.cppreference.com/w/da/d42/namespacestd_1_1rel__ops.html',0,'std']]], - ['std_3a_3athis_5fthread_18',['this_thread',['http://en.cppreference.com/w/d7/dbf/namespacestd_1_1this__thread.html',0,'std']]], - ['strand_19',['strand',['../d8/d1d/namespacestrand.html',1,'']]], - ['strassens_5fmultiplication_20',['strassens_multiplication',['../d3/d91/namespacestrassens__multiplication.html',1,'']]], - ['string_21',['string',['../d6/dd6/namespacestring.html',1,'']]], - ['string_5fsearch_22',['string_search',['../d9/d03/namespacestring__search.html',1,'']]], - ['strings_23',['strings',['../df/dcb/namespacestrings.html',1,'']]], - ['strings_3a_3aboyer_5fmoore_24',['boyer_moore',['../d0/dbc/namespacestrings_1_1boyer__moore.html',1,'strings']]], - ['subarray_5fsum_25',['subarray_sum',['../df/d74/namespacesubarray__sum.html',1,'']]], - ['sublist_5fsearch_26',['sublist_search',['../d9/def/namespacesublist__search.html',1,'']]], - ['subset_5fsum_27',['subset_sum',['../dc/d3a/namespacesubset__sum.html',1,'']]], - ['subsets_28',['Subsets',['../de/d95/namespace_subsets.html',1,'']]], - ['sudoku_5fsolver_29',['sudoku_solver',['../d8/d9f/namespacesudoku__solver.html',1,'']]] + ['strand_13',['strand',['../d8/d1d/namespacestrand.html',1,'']]], + ['strassens_5fmultiplication_14',['strassens_multiplication',['../d3/d91/namespacestrassens__multiplication.html',1,'']]], + ['string_15',['string',['../d6/dd6/namespacestring.html',1,'']]], + ['string_5fsearch_16',['string_search',['../d9/d03/namespacestring__search.html',1,'']]], + ['strings_17',['strings',['../df/dcb/namespacestrings.html',1,'']]], + ['strings_3a_3aboyer_5fmoore_18',['boyer_moore',['../d0/dbc/namespacestrings_1_1boyer__moore.html',1,'strings']]], + ['subarray_5fsum_19',['subarray_sum',['../df/d74/namespacesubarray__sum.html',1,'']]], + ['sublist_5fsearch_20',['sublist_search',['../d9/def/namespacesublist__search.html',1,'']]], + ['subset_5fsum_21',['subset_sum',['../dc/d3a/namespacesubset__sum.html',1,'']]], + ['subsets_22',['Subsets',['../de/d95/namespace_subsets.html',1,'']]], + ['sudoku_5fsolver_23',['sudoku_solver',['../d8/d9f/namespacesudoku__solver.html',1,'']]] ]; diff --git a/search/search.css b/search/search.css index 19f76f9d5..d7b0f90b7 100644 --- a/search/search.css +++ b/search/search.css @@ -25,9 +25,9 @@ dark-mode-toggle { #MSearchBox { display: inline-block; white-space : nowrap; - background: var(--search-background-color); + background: white; border-radius: 0.65em; - box-shadow: var(--search-box-shadow); + box-shadow: inset 0.5px 0.5px 3px 0px #555; z-index: 102; } @@ -42,7 +42,7 @@ dark-mode-toggle { vertical-align: middle; width: 20px; height: 19px; - background-image: var(--search-magnification-select-image); + background-image: url('mag_sel.svg'); margin: 0 0 0 0.3em; padding: 0; } @@ -52,7 +52,7 @@ dark-mode-toggle { vertical-align: middle; width: 10px; height: 19px; - background-image: var(--search-magnification-image); + background-image: url('mag.svg'); margin: 0 0 0 0.5em; padding: 0; } @@ -67,9 +67,9 @@ dark-mode-toggle { padding: 0; line-height: 1em; border:none; - color: var(--search-foreground-color); + color: #909090; outline: none; - font-family: var(--font-family-search); + font-family: Arial,Verdana,sans-serif; -webkit-border-radius: 0px; border-radius: 0px; background: none; @@ -106,7 +106,7 @@ dark-mode-toggle { } .MSearchBoxActive #MSearchField { - color: var(--search-active-color); + color: black; } @@ -117,8 +117,8 @@ dark-mode-toggle { display: none; position: absolute; left: 0; top: 0; - border: 1px solid var(--search-filter-border-color); - background-color: var(--search-filter-background-color); + border: 1px solid #90A5CE; + background-color: #F9FAFC; z-index: 10001; padding-top: 4px; padding-bottom: 4px; @@ -131,7 +131,7 @@ dark-mode-toggle { } .SelectItem { - font: 8pt var(--font-family-search); + font: 8pt Arial,Verdana,sans-serif; padding-left: 2px; padding-right: 12px; border: 0px; @@ -139,7 +139,7 @@ dark-mode-toggle { span.SelectionMark { margin-right: 4px; - font-family: var(--font-family-monospace); + font-family: 'JetBrains Mono',Consolas,Monaco,'Andale Mono','Ubuntu Mono',monospace,fixed; outline-style: none; text-decoration: none; } @@ -147,7 +147,7 @@ span.SelectionMark { a.SelectItem { display: block; outline-style: none; - color: var(--search-filter-foreground-color); + color: black; text-decoration: none; padding-left: 6px; padding-right: 12px; @@ -155,14 +155,14 @@ a.SelectItem { a.SelectItem:focus, a.SelectItem:active { - color: var(--search-filter-foreground-color); + color: black; outline-style: none; text-decoration: none; } a.SelectItem:hover { - color: var(--search-filter-highlight-text-color); - background-color: var(--search-filter-highlight-bg-color); + color: white; + background-color: #3D578C; outline-style: none; text-decoration: none; cursor: pointer; @@ -180,8 +180,8 @@ iframe#MSearchResults { display: none; position: absolute; left: 0; top: 0; - border: 1px solid var(--search-results-border-color); - background-color: var(--search-results-background-color); + border: 1px solid black; + background-color: #EEF1F7; z-index:10000; width: 300px; height: 400px; @@ -207,7 +207,7 @@ iframe#MSearchResults { div.SRPage { margin: 5px 2px; - background-color: var(--search-results-background-color); + background-color: #EEF1F7; } .SRChildren { @@ -220,16 +220,16 @@ div.SRPage { .SRSymbol { font-weight: bold; - color: var(--search-results-foreground-color); - font-family: var(--font-family-search); + color: #425E97; + font-family: Arial,Verdana,sans-serif; text-decoration: none; outline: none; } a.SRScope { display: block; - color: var(--search-results-foreground-color); - font-family: var(--font-family-search); + color: #425E97; + font-family: Arial,Verdana,sans-serif; font-size: 8pt; text-decoration: none; outline: none; @@ -242,14 +242,14 @@ a.SRScope:focus, a.SRScope:active { span.SRScope { padding-left: 4px; - font-family: var(--font-family-search); + font-family: Arial,Verdana,sans-serif; } .SRPage .SRStatus { padding: 2px 5px; font-size: 8pt; font-style: italic; - font-family: var(--font-family-search); + font-family: Arial,Verdana,sans-serif; } .SRResult { @@ -266,7 +266,7 @@ div.searchresults { .pages b { color: white; padding: 5px 5px 3px 5px; - background-image: var(--nav-gradient-active-image-parent); + background-image: url("../tab_a.png"); background-repeat: repeat-x; text-shadow: 0 1px 1px #000000; } diff --git a/search/searchdata.js b/search/searchdata.js index a5d7736c5..6f52ec9bb 100644 --- a/search/searchdata.js +++ b/search/searchdata.js @@ -1,10 +1,10 @@ var indexSectionsWithContent = { 0: "01234_abcdefghijklmnopqrstuvwxyz~", - 1: "abcdefghijklmnopqrstuvwyz", + 1: "abcdefghiklmnpqrstuw", 2: "abcdefghijklmnopqrstuvwx", 3: "0abcdefghijklmnopqrstuvwxz", - 4: "_abcdefghijklmnopqrstuvwxyz~", + 4: "_abcdefghijklmnopqrstuvwz~", 5: "_abcdefghiklmnpqrstuvwxy", 6: "ilmnp", 7: "o", diff --git a/search/variables_4.js b/search/variables_4.js index 5fd8049bc..d5e82da4c 100644 --- a/search/variables_4.js +++ b/search/variables_4.js @@ -3,6 +3,5 @@ var searchData= ['data_0',['data',['../d9/dae/classdata__structures_1_1_bitset.html#ae86688cf99b77342deedb75149573e73',1,'data_structures::Bitset::data'],['../da/d16/structoperations__on__datastructures_1_1circular__linked__list_1_1_node.html#a7461292b8b91aed86404d0ab019dfdd1',1,'operations_on_datastructures::circular_linked_list::Node::data'],['../d5/db5/classoperations__on__datastructures_1_1inorder__traversal__of__bst_1_1_node.html#ae161f3e5ef33ade73429cab9291612e2',1,'operations_on_datastructures::inorder_traversal_of_bst::Node::data'],['../d8/dfd/structoperations__on__datastructures_1_1reverse__binary__tree_1_1_node.html#ae54953a75091532303bb08d55087077f',1,'operations_on_datastructures::reverse_binary_tree::Node::data'],['../d2/d9a/structothers_1_1iterative__tree__traversals_1_1_node.html#ad443d44275337b9e361375ce66f1104f',1,'others::iterative_tree_traversals::Node::data'],['../de/d21/classothers_1_1_cache_1_1_d___node.html#a8902e7ff872fa3c80fe6ce5f5cf5cc75',1,'others::Cache::D_Node::data'],['../d9/df7/structothers_1_1recursive__tree__traversals_1_1_node.html#a59cc94ba784aeaefec2e915ddfdb1ade',1,'others::recursive_tree_traversals::Node::data'],['../da/d61/structsearch_1_1sublist__search_1_1_node.html#a912ae0b339da401fc33ad21494c60e2b',1,'search::sublist_search::Node::data'],['../d1/df3/hash__search_8cpp.html#a6e1a77282bc65ad359d753d25df23243',1,'data: hash_search.cpp']]], ['day_1',['day',['../d1/df6/class_easter_year_month_day.html#ade0b934e5b1af24e19ff959673b2ec51',1,'EasterYearMonthDay']]], ['depth_2',['depth',['../dd/d1f/classdsu.html#a4bf54d33fba178998dbbe4c57f2e9429',1,'dsu::depth'],['../da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html#a003a30bb165be50ce503c17df90c128d',1,'machine_learning::aystar_search::AyStarSearch::Info::depth']]], - ['dist_3',['dist',['../d8/d69/classgraph_1_1_h_k_graph.html#a6a0228bbba3818447fcf6b56128b552a',1,'graph::HKGraph']]], - ['dptable_4',['dpTable',['../dc/d14/wildcard__matching_8cpp.html#a4a5b107f93db24e424b12899fa692c5a',1,'backtracking::wildcard_matching']]] + ['dist_3',['dist',['../d8/d69/classgraph_1_1_h_k_graph.html#a6a0228bbba3818447fcf6b56128b552a',1,'graph::HKGraph']]] ]; diff --git a/tabs.css b/tabs.css index 7fa4268a4..edbb42414 100644 --- a/tabs.css +++ b/tabs.css @@ -1 +1 @@ -.sm{position:relative;z-index:9999}.sm,.sm ul,.sm li{display:block;list-style:none;margin:0;padding:0;line-height:normal;direction:ltr;text-align:left;-webkit-tap-highlight-color:rgba(0,0,0,0)}.sm-rtl,.sm-rtl ul,.sm-rtl li{direction:rtl;text-align:right}.sm>li>h1,.sm>li>h2,.sm>li>h3,.sm>li>h4,.sm>li>h5,.sm>li>h6{margin:0;padding:0}.sm ul{display:none}.sm li,.sm a{position:relative}.sm a{display:block}.sm a.disabled{cursor:not-allowed}.sm:after{content:"\00a0";display:block;height:0;font:0/0 serif;clear:both;visibility:hidden;overflow:hidden}.sm,.sm *,.sm *:before,.sm *:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.main-menu-btn{position:relative;display:inline-block;width:36px;height:36px;text-indent:36px;margin-left:8px;white-space:nowrap;overflow:hidden;cursor:pointer;-webkit-tap-highlight-color:rgba(0,0,0,0)}.main-menu-btn-icon,.main-menu-btn-icon:before,.main-menu-btn-icon:after{position:absolute;top:50%;left:2px;height:2px;width:24px;background:var(--nav-menu-button-color);-webkit-transition:all .25s;transition:all .25s}.main-menu-btn-icon:before{content:'';top:-7px;left:0}.main-menu-btn-icon:after{content:'';top:7px;left:0}#main-menu-state:checked ~ .main-menu-btn .main-menu-btn-icon{height:0}#main-menu-state:checked ~ .main-menu-btn .main-menu-btn-icon:before{top:0;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}#main-menu-state:checked ~ .main-menu-btn .main-menu-btn-icon:after{top:0;-webkit-transform:rotate(45deg);transform:rotate(45deg)}#main-menu-state{position:absolute;width:1px;height:1px;margin:-1px;border:0;padding:0;overflow:hidden;clip:rect(1px,1px,1px,1px)}#main-menu-state:not(:checked) ~ #main-menu{display:none}#main-menu-state:checked ~ #main-menu{display:block}@media(min-width:768px){.main-menu-btn{position:absolute;top:-99999px}#main-menu-state:not(:checked) ~ #main-menu{display:block}}.sm-dox{background-image:var(--nav-gradient-image)}.sm-dox a,.sm-dox a:focus,.sm-dox a:hover,.sm-dox a:active{padding:0 12px;padding-right:43px;font-family:var(--font-family-nav);font-size:13px;font-weight:bold;line-height:36px;text-decoration:none;text-shadow:var(--nav-text-normal-shadow);color:var(--nav-text-normal-color);outline:0}.sm-dox a:hover{background-image:var(--nav-gradient-active-image);background-repeat:repeat-x;color:var(--nav-text-hover-color);text-shadow:var(--nav-text-hover-shadow)}.sm-dox a.current{color:#d23600}.sm-dox a.disabled{color:#bbb}.sm-dox a span.sub-arrow{position:absolute;top:50%;margin-top:-14px;left:auto;right:3px;width:28px;height:28px;overflow:hidden;font:bold 12px/28px monospace !important;text-align:center;text-shadow:none;background:var(--nav-menu-toggle-color);-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.sm-dox a span.sub-arrow:before{display:block;content:'+'}.sm-dox a.highlighted span.sub-arrow:before{display:block;content:'-'}.sm-dox>li:first-child>a,.sm-dox>li:first-child>:not(ul) a{-moz-border-radius:5px 5px 0 0;-webkit-border-radius:5px;border-radius:5px 5px 0 0}.sm-dox>li:last-child>a,.sm-dox>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul{-moz-border-radius:0 0 5px 5px;-webkit-border-radius:0;border-radius:0 0 5px 5px}.sm-dox>li:last-child>a.highlighted,.sm-dox>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.sm-dox ul{background:var(--nav-menu-background-color)}.sm-dox ul a,.sm-dox ul a:focus,.sm-dox ul a:hover,.sm-dox ul a:active{font-size:12px;border-left:8px solid transparent;line-height:36px;text-shadow:none;background-color:var(--nav-menu-background-color);background-image:none}.sm-dox ul a:hover{background-image:var(--nav-gradient-active-image);background-repeat:repeat-x;color:var(--nav-text-hover-color);text-shadow:0 1px 1px black}.sm-dox ul ul a,.sm-dox ul ul a:hover,.sm-dox ul ul a:focus,.sm-dox ul ul a:active{border-left:16px solid transparent}.sm-dox ul ul ul a,.sm-dox ul ul ul a:hover,.sm-dox ul ul ul a:focus,.sm-dox ul ul ul a:active{border-left:24px solid transparent}.sm-dox ul ul ul ul a,.sm-dox ul ul ul ul a:hover,.sm-dox ul ul ul ul a:focus,.sm-dox ul ul ul ul a:active{border-left:32px solid transparent}.sm-dox ul ul ul ul ul a,.sm-dox ul ul ul ul ul a:hover,.sm-dox ul ul ul ul ul a:focus,.sm-dox ul ul ul ul ul a:active{border-left:40px solid transparent}@media(min-width:768px){.sm-dox ul{position:absolute;width:12em}.sm-dox li{float:left}.sm-dox.sm-rtl li{float:right}.sm-dox ul li,.sm-dox.sm-rtl ul li,.sm-dox.sm-vertical li{float:none}.sm-dox a{white-space:nowrap}.sm-dox ul a,.sm-dox.sm-vertical a{white-space:normal}.sm-dox .sm-nowrap>li>a,.sm-dox .sm-nowrap>li>:not(ul) a{white-space:nowrap}.sm-dox{padding:0 10px;background-image:var(--nav-gradient-image);line-height:36px}.sm-dox a span.sub-arrow{top:50%;margin-top:-2px;right:12px;width:0;height:0;border-width:4px;border-style:solid dashed dashed dashed;border-color:var(--nav-text-normal-color) transparent transparent transparent;background:transparent;-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.sm-dox a,.sm-dox a:focus,.sm-dox a:active,.sm-dox a:hover,.sm-dox a.highlighted{padding:0 12px;background-image:var(--nav-separator-image);background-repeat:no-repeat;background-position:right;-moz-border-radius:0 !important;-webkit-border-radius:0;border-radius:0 !important}.sm-dox a:hover{background-image:var(--nav-gradient-active-image);background-repeat:repeat-x;color:var(--nav-text-hover-color);text-shadow:var(--nav-text-hover-shadow)}.sm-dox a:hover span.sub-arrow{border-color:var(--nav-text-hover-color) transparent transparent transparent}.sm-dox a.has-submenu{padding-right:24px}.sm-dox li{border-top:0}.sm-dox>li>ul:before,.sm-dox>li>ul:after{content:'';position:absolute;top:-18px;left:30px;width:0;height:0;overflow:hidden;border-width:9px;border-style:dashed dashed solid dashed;border-color:transparent transparent #bbb transparent}.sm-dox>li>ul:after{top:-16px;left:31px;border-width:8px;border-color:transparent transparent var(--nav-menu-background-color) transparent}.sm-dox ul{border:1px solid #bbb;padding:5px 0;background:var(--nav-menu-background-color);-moz-border-radius:5px !important;-webkit-border-radius:5px;border-radius:5px !important;-moz-box-shadow:0 5px 9px rgba(0,0,0,0.2);-webkit-box-shadow:0 5px 9px rgba(0,0,0,0.2);box-shadow:0 5px 9px rgba(0,0,0,0.2)}.sm-dox ul a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-color:transparent transparent transparent var(--nav-menu-foreground-color);border-style:dashed dashed dashed solid}.sm-dox ul a,.sm-dox ul a:hover,.sm-dox ul a:focus,.sm-dox ul a:active,.sm-dox ul a.highlighted{color:var(--nav-menu-foreground-color);background-image:none;border:0 !important}.sm-dox ul a:hover{background-image:var(--nav-gradient-active-image);background-repeat:repeat-x;color:var(--nav-text-hover-color);text-shadow:var(--nav-text-hover-shadow)}.sm-dox ul a:hover span.sub-arrow{border-color:transparent transparent transparent var(--nav-text-hover-color)}.sm-dox span.scroll-up,.sm-dox span.scroll-down{position:absolute;display:none;visibility:hidden;overflow:hidden;background:var(--nav-menu-background-color);height:36px}.sm-dox span.scroll-up:hover,.sm-dox span.scroll-down:hover{background:#eee}.sm-dox span.scroll-up:hover span.scroll-up-arrow,.sm-dox span.scroll-up:hover span.scroll-down-arrow{border-color:transparent transparent #d23600 transparent}.sm-dox span.scroll-down:hover span.scroll-down-arrow{border-color:#d23600 transparent transparent transparent}.sm-dox span.scroll-up-arrow,.sm-dox span.scroll-down-arrow{position:absolute;top:0;left:50%;margin-left:-6px;width:0;height:0;overflow:hidden;border-width:6px;border-style:dashed dashed solid dashed;border-color:transparent transparent var(--nav-menu-foreground-color) transparent}.sm-dox span.scroll-down-arrow{top:8px;border-style:solid dashed dashed dashed;border-color:var(--nav-menu-foreground-color) transparent transparent transparent}.sm-dox.sm-rtl a.has-submenu{padding-right:12px;padding-left:24px}.sm-dox.sm-rtl a span.sub-arrow{right:auto;left:12px}.sm-dox.sm-rtl.sm-vertical a.has-submenu{padding:10px 20px}.sm-dox.sm-rtl.sm-vertical a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-rtl>li>ul:before{left:auto;right:30px}.sm-dox.sm-rtl>li>ul:after{left:auto;right:31px}.sm-dox.sm-rtl ul a.has-submenu{padding:10px 20px !important}.sm-dox.sm-rtl ul a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-vertical{padding:10px 0;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.sm-dox.sm-vertical a{padding:10px 20px}.sm-dox.sm-vertical a:hover,.sm-dox.sm-vertical a:focus,.sm-dox.sm-vertical a:active,.sm-dox.sm-vertical a.highlighted{background:#fff}.sm-dox.sm-vertical a.disabled{background-image:var(--nav-gradient-image)}.sm-dox.sm-vertical a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-style:dashed dashed dashed solid;border-color:transparent transparent transparent #555}.sm-dox.sm-vertical>li>ul:before,.sm-dox.sm-vertical>li>ul:after{display:none}.sm-dox.sm-vertical ul a{padding:10px 20px}.sm-dox.sm-vertical ul a:hover,.sm-dox.sm-vertical ul a:focus,.sm-dox.sm-vertical ul a:active,.sm-dox.sm-vertical ul a.highlighted{background:#eee}.sm-dox.sm-vertical ul a.disabled{background:var(--nav-menu-background-color)}} +.sm{position:relative;z-index:9999}.sm,.sm ul,.sm li{display:block;list-style:none;margin:0;padding:0;line-height:normal;direction:ltr;text-align:left;-webkit-tap-highlight-color:rgba(0,0,0,0)}.sm-rtl,.sm-rtl ul,.sm-rtl li{direction:rtl;text-align:right}.sm>li>h1,.sm>li>h2,.sm>li>h3,.sm>li>h4,.sm>li>h5,.sm>li>h6{margin:0;padding:0}.sm ul{display:none}.sm li,.sm a{position:relative}.sm a{display:block}.sm a.disabled{cursor:not-allowed}.sm:after{content:"\00a0";display:block;height:0;font:0/0 serif;clear:both;visibility:hidden;overflow:hidden}.sm,.sm *,.sm *:before,.sm *:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.main-menu-btn{position:relative;display:inline-block;width:36px;height:36px;text-indent:36px;margin-left:8px;white-space:nowrap;overflow:hidden;cursor:pointer;-webkit-tap-highlight-color:rgba(0,0,0,0)}.main-menu-btn-icon,.main-menu-btn-icon:before,.main-menu-btn-icon:after{position:absolute;top:50%;left:2px;height:2px;width:24px;background:#364D7C;-webkit-transition:all .25s;transition:all .25s}.main-menu-btn-icon:before{content:'';top:-7px;left:0}.main-menu-btn-icon:after{content:'';top:7px;left:0}#main-menu-state:checked ~ .main-menu-btn .main-menu-btn-icon{height:0}#main-menu-state:checked ~ .main-menu-btn .main-menu-btn-icon:before{top:0;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}#main-menu-state:checked ~ .main-menu-btn .main-menu-btn-icon:after{top:0;-webkit-transform:rotate(45deg);transform:rotate(45deg)}#main-menu-state{position:absolute;width:1px;height:1px;margin:-1px;border:0;padding:0;overflow:hidden;clip:rect(1px,1px,1px,1px)}#main-menu-state:not(:checked) ~ #main-menu{display:none}#main-menu-state:checked ~ #main-menu{display:block}@media(min-width:768px){.main-menu-btn{position:absolute;top:-99999px}#main-menu-state:not(:checked) ~ #main-menu{display:block}}.sm-dox{background-image:url('tab_b.png')}.sm-dox a,.sm-dox a:focus,.sm-dox a:hover,.sm-dox a:active{padding:0 12px;padding-right:43px;font-family:'Lucida Grande',Geneva,Helvetica,Arial,sans-serif;font-size:13px;font-weight:bold;line-height:36px;text-decoration:none;text-shadow:0px 1px 1px rgba(255, 255, 255, 0.9);color:#283A5D;outline:0}.sm-dox a:hover{background-image:url('tab_a.png');background-repeat:repeat-x;color:white;text-shadow:0px 1px 1px rgba(0, 0, 0, 1.0)}.sm-dox a.current{color:#d23600}.sm-dox a.disabled{color:#bbb}.sm-dox a span.sub-arrow{position:absolute;top:50%;margin-top:-14px;left:auto;right:3px;width:28px;height:28px;overflow:hidden;font:bold 12px/28px monospace !important;text-align:center;text-shadow:none;background:rgba(255, 255, 255, 0.5);-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.sm-dox a span.sub-arrow:before{display:block;content:'+'}.sm-dox a.highlighted span.sub-arrow:before{display:block;content:'-'}.sm-dox>li:first-child>a,.sm-dox>li:first-child>:not(ul) a{-moz-border-radius:5px 5px 0 0;-webkit-border-radius:5px;border-radius:5px 5px 0 0}.sm-dox>li:last-child>a,.sm-dox>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul{-moz-border-radius:0 0 5px 5px;-webkit-border-radius:0;border-radius:0 0 5px 5px}.sm-dox>li:last-child>a.highlighted,.sm-dox>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.sm-dox ul{background:white}.sm-dox ul a,.sm-dox ul a:focus,.sm-dox ul a:hover,.sm-dox ul a:active{font-size:12px;border-left:8px solid transparent;line-height:36px;text-shadow:none;background-color:white;background-image:none}.sm-dox ul a:hover{background-image:url('tab_a.png');background-repeat:repeat-x;color:white;text-shadow:0 1px 1px black}.sm-dox ul ul a,.sm-dox ul ul a:hover,.sm-dox ul ul a:focus,.sm-dox ul ul a:active{border-left:16px solid transparent}.sm-dox ul ul ul a,.sm-dox ul ul ul a:hover,.sm-dox ul ul ul a:focus,.sm-dox ul ul ul a:active{border-left:24px solid transparent}.sm-dox ul ul ul ul a,.sm-dox ul ul ul ul a:hover,.sm-dox ul ul ul ul a:focus,.sm-dox ul ul ul ul a:active{border-left:32px solid transparent}.sm-dox ul ul ul ul ul a,.sm-dox ul ul ul ul ul a:hover,.sm-dox ul ul ul ul ul a:focus,.sm-dox ul ul ul ul ul a:active{border-left:40px solid transparent}@media(min-width:768px){.sm-dox ul{position:absolute;width:12em}.sm-dox li{float:left}.sm-dox.sm-rtl li{float:right}.sm-dox ul li,.sm-dox.sm-rtl ul li,.sm-dox.sm-vertical li{float:none}.sm-dox a{white-space:nowrap}.sm-dox ul a,.sm-dox.sm-vertical a{white-space:normal}.sm-dox .sm-nowrap>li>a,.sm-dox .sm-nowrap>li>:not(ul) a{white-space:nowrap}.sm-dox{padding:0 10px;background-image:url('tab_b.png');line-height:36px}.sm-dox a span.sub-arrow{top:50%;margin-top:-2px;right:12px;width:0;height:0;border-width:4px;border-style:solid dashed dashed dashed;border-color:#283A5D transparent transparent transparent;background:transparent;-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.sm-dox a,.sm-dox a:focus,.sm-dox a:active,.sm-dox a:hover,.sm-dox a.highlighted{padding:0 12px;background-image:url('tab_s.png');background-repeat:no-repeat;background-position:right;-moz-border-radius:0 !important;-webkit-border-radius:0;border-radius:0 !important}.sm-dox a:hover{background-image:url('tab_a.png');background-repeat:repeat-x;color:white;text-shadow:0px 1px 1px rgba(0, 0, 0, 1.0)}.sm-dox a:hover span.sub-arrow{border-color:white transparent transparent transparent}.sm-dox a.has-submenu{padding-right:24px}.sm-dox li{border-top:0}.sm-dox>li>ul:before,.sm-dox>li>ul:after{content:'';position:absolute;top:-18px;left:30px;width:0;height:0;overflow:hidden;border-width:9px;border-style:dashed dashed solid dashed;border-color:transparent transparent #bbb transparent}.sm-dox>li>ul:after{top:-16px;left:31px;border-width:8px;border-color:transparent transparent white transparent}.sm-dox ul{border:1px solid #bbb;padding:5px 0;background:white;-moz-border-radius:5px !important;-webkit-border-radius:5px;border-radius:5px !important;-moz-box-shadow:0 5px 9px rgba(0,0,0,0.2);-webkit-box-shadow:0 5px 9px rgba(0,0,0,0.2);box-shadow:0 5px 9px rgba(0,0,0,0.2)}.sm-dox ul a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-color:transparent transparent transparent #555555;border-style:dashed dashed dashed solid}.sm-dox ul a,.sm-dox ul a:hover,.sm-dox ul a:focus,.sm-dox ul a:active,.sm-dox ul a.highlighted{color:#555555;background-image:none;border:0 !important}.sm-dox ul a:hover{background-image:url('tab_a.png');background-repeat:repeat-x;color:white;text-shadow:0px 1px 1px rgba(0, 0, 0, 1.0)}.sm-dox ul a:hover span.sub-arrow{border-color:transparent transparent transparent white}.sm-dox span.scroll-up,.sm-dox span.scroll-down{position:absolute;display:none;visibility:hidden;overflow:hidden;background:white;height:36px}.sm-dox span.scroll-up:hover,.sm-dox span.scroll-down:hover{background:#eee}.sm-dox span.scroll-up:hover span.scroll-up-arrow,.sm-dox span.scroll-up:hover span.scroll-down-arrow{border-color:transparent transparent #d23600 transparent}.sm-dox span.scroll-down:hover span.scroll-down-arrow{border-color:#d23600 transparent transparent transparent}.sm-dox span.scroll-up-arrow,.sm-dox span.scroll-down-arrow{position:absolute;top:0;left:50%;margin-left:-6px;width:0;height:0;overflow:hidden;border-width:6px;border-style:dashed dashed solid dashed;border-color:transparent transparent #555555 transparent}.sm-dox span.scroll-down-arrow{top:8px;border-style:solid dashed dashed dashed;border-color:#555555 transparent transparent transparent}.sm-dox.sm-rtl a.has-submenu{padding-right:12px;padding-left:24px}.sm-dox.sm-rtl a span.sub-arrow{right:auto;left:12px}.sm-dox.sm-rtl.sm-vertical a.has-submenu{padding:10px 20px}.sm-dox.sm-rtl.sm-vertical a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-rtl>li>ul:before{left:auto;right:30px}.sm-dox.sm-rtl>li>ul:after{left:auto;right:31px}.sm-dox.sm-rtl ul a.has-submenu{padding:10px 20px !important}.sm-dox.sm-rtl ul a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-vertical{padding:10px 0;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.sm-dox.sm-vertical a{padding:10px 20px}.sm-dox.sm-vertical a:hover,.sm-dox.sm-vertical a:focus,.sm-dox.sm-vertical a:active,.sm-dox.sm-vertical a.highlighted{background:#fff}.sm-dox.sm-vertical a.disabled{background-image:url('tab_b.png')}.sm-dox.sm-vertical a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-style:dashed dashed dashed solid;border-color:transparent transparent transparent #555}.sm-dox.sm-vertical>li>ul:before,.sm-dox.sm-vertical>li>ul:after{display:none}.sm-dox.sm-vertical ul a{padding:10px 20px}.sm-dox.sm-vertical ul a:hover,.sm-dox.sm-vertical ul a:focus,.sm-dox.sm-vertical ul a:active,.sm-dox.sm-vertical ul a.highlighted{background:#eee}.sm-dox.sm-vertical ul a.disabled{background:white}} diff --git a/topics.html b/topics.html index 141053f9e..0654e7ed8 100644 --- a/topics.html +++ b/topics.html @@ -1,3 +1,4 @@ + @@ -5,10 +6,15 @@ -Algorithms_in_C++: Topics +TheAlgorithms/C++: Topics + + + @@ -18,14 +24,24 @@ - - + +
    @@ -33,10 +49,11 @@ MathJax.Hub.Config({
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++
    +
    -
    Algorithms_in_C++ 1.0.0 +
    TheAlgorithms/C++ 1.0.0
    -
    Set of algorithms implemented in C++.
    +
    All the algorithms implemented in C++